donut-decomp/asm/libnw4r_ef/ef_particle.s

1080 lines
51 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __ct__Q34nw4r2ef8ParticleFv
__ct__Q34nw4r2ef8ParticleFv:
/* 800AF490 000AB2D0 3C 80 80 44 */ lis r4, __vt__Q34nw4r2ef8Particle@ha
/* 800AF494 000AB2D4 38 84 03 08 */ addi r4, r4, __vt__Q34nw4r2ef8Particle@l
/* 800AF498 000AB2D8 90 83 00 1C */ stw r4, 0x1c(r3)
/* 800AF49C 000AB2DC 4E 80 00 20 */ blr
.global __dt__Q34nw4r2ef8ParticleFv
__dt__Q34nw4r2ef8ParticleFv:
/* 800AF4A0 000AB2E0 4B FF 59 10 */ b __dt__Q34nw4r2ef7EmitterFv
/* 800AF4A4 000AB2E4 00 00 00 00 */ .4byte 0x00000000
/* 800AF4A8 000AB2E8 00 00 00 00 */ .4byte 0x00000000
/* 800AF4AC 000AB2EC 00 00 00 00 */ .4byte 0x00000000
.global SendClosing__Q34nw4r2ef8ParticleFv
SendClosing__Q34nw4r2ef8ParticleFv:
/* 800AF4B0 000AB2F0 7C 64 1B 78 */ mr r4, r3
/* 800AF4B4 000AB2F4 80 63 00 C8 */ lwz r3, 0xc8(r3)
/* 800AF4B8 000AB2F8 48 00 0E 28 */ b Closing__Q34nw4r2ef15ParticleManagerFPQ34nw4r2ef8Particle
/* 800AF4BC 000AB2FC 00 00 00 00 */ .4byte 0x00000000
.global DestroyFunc__Q34nw4r2ef8ParticleFv
DestroyFunc__Q34nw4r2ef8ParticleFv:
/* 800AF4C0 000AB300 4E 80 00 20 */ blr
/* 800AF4C4 000AB304 00 00 00 00 */ .4byte 0x00000000
/* 800AF4C8 000AB308 00 00 00 00 */ .4byte 0x00000000
/* 800AF4CC 000AB30C 00 00 00 00 */ .4byte 0x00000000
.global Initialize__Q34nw4r2ef17ParticleParameterFPQ34nw4r2ef21ParticleParameterDescPQ34nw4r2ef15ParticleManager
Initialize__Q34nw4r2ef17ParticleParameterFPQ34nw4r2ef21ParticleParameterDescPQ34nw4r2ef15ParticleManager:
/* 800AF4D0 000AB310 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 800AF4D4 000AB314 7C 08 02 A6 */ mflr r0
/* 800AF4D8 000AB318 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 800AF4DC 000AB31C 39 61 00 40 */ addi r11, r1, 0x40
/* 800AF4E0 000AB320 DB E1 00 B0 */ stfd f31, 0xb0(r1)
/* 800AF4E4 000AB324 F3 E1 00 B8 */ psq_st f31, 0xb8(r1), 0, qr0
/* 800AF4E8 000AB328 DB C1 00 A0 */ stfd f30, 0xa0(r1)
/* 800AF4EC 000AB32C F3 C1 00 A8 */ psq_st f30, 0xa8(r1), 0, qr0
/* 800AF4F0 000AB330 DB A1 00 90 */ stfd f29, 0x90(r1)
/* 800AF4F4 000AB334 F3 A1 00 98 */ psq_st f29, 0x98(r1), 0, qr0
/* 800AF4F8 000AB338 DB 81 00 80 */ stfd f28, 0x80(r1)
/* 800AF4FC 000AB33C F3 81 00 88 */ psq_st f28, 0x88(r1), 0, qr0
/* 800AF500 000AB340 DB 61 00 70 */ stfd f27, 0x70(r1)
/* 800AF504 000AB344 F3 61 00 78 */ psq_st f27, 0x78(r1), 0, qr0
/* 800AF508 000AB348 DB 41 00 60 */ stfd f26, 0x60(r1)
/* 800AF50C 000AB34C F3 41 00 68 */ psq_st f26, 0x68(r1), 0, qr0
/* 800AF510 000AB350 DB 21 00 50 */ stfd f25, 0x50(r1)
/* 800AF514 000AB354 F3 21 00 58 */ psq_st f25, 0x58(r1), 0, qr0
/* 800AF518 000AB358 DB 01 00 40 */ stfd f24, 0x40(r1)
/* 800AF51C 000AB35C F3 01 00 48 */ psq_st f24, 0x48(r1), 0, qr0
/* 800AF520 000AB360 4B F5 7E 15 */ bl lbl_80007334
/* 800AF524 000AB364 88 04 00 00 */ lbz r0, 0x0(r4)
/* 800AF528 000AB368 7C 9B 23 78 */ mr r27, r4
/* 800AF52C 000AB36C 98 03 00 00 */ stb r0, 0x0(r3)
/* 800AF530 000AB370 7C 7A 1B 78 */ mr r26, r3
/* 800AF534 000AB374 CB E2 8A C8 */ lfd f31, "@8613_8055EA48"@sda21(r2)
/* 800AF538 000AB378 7C BC 2B 78 */ mr r28, r5
/* 800AF53C 000AB37C 88 04 00 01 */ lbz r0, 0x1(r4)
/* 800AF540 000AB380 7F 7E DB 78 */ mr r30, r27
/* 800AF544 000AB384 98 03 00 01 */ stb r0, 0x1(r3)
/* 800AF548 000AB388 3B A0 00 00 */ li r29, 0x0
/* 800AF54C 000AB38C C3 02 8A A8 */ lfs f24, "@8602"@sda21(r2)
/* 800AF550 000AB390 3F E0 00 03 */ lis r31, 0x3
/* 800AF554 000AB394 88 04 00 02 */ lbz r0, 0x2(r4)
/* 800AF558 000AB398 3F 20 43 30 */ lis r25, 0x4330
/* 800AF55C 000AB39C 98 03 00 02 */ stb r0, 0x2(r3)
/* 800AF560 000AB3A0 C3 22 8A AC */ lfs f25, "@8603"@sda21(r2)
/* 800AF564 000AB3A4 88 04 00 03 */ lbz r0, 0x3(r4)
/* 800AF568 000AB3A8 98 03 00 03 */ stb r0, 0x3(r3)
/* 800AF56C 000AB3AC C3 42 8A B0 */ lfs f26, "@8604"@sda21(r2)
/* 800AF570 000AB3B0 88 04 00 04 */ lbz r0, 0x4(r4)
/* 800AF574 000AB3B4 98 03 00 04 */ stb r0, 0x4(r3)
/* 800AF578 000AB3B8 C3 62 8A B4 */ lfs f27, "@8605"@sda21(r2)
/* 800AF57C 000AB3BC 88 04 00 05 */ lbz r0, 0x5(r4)
/* 800AF580 000AB3C0 98 03 00 05 */ stb r0, 0x5(r3)
/* 800AF584 000AB3C4 C3 82 8A BC */ lfs f28, "@8607"@sda21(r2)
/* 800AF588 000AB3C8 88 04 00 06 */ lbz r0, 0x6(r4)
/* 800AF58C 000AB3CC 98 03 00 06 */ stb r0, 0x6(r3)
/* 800AF590 000AB3D0 C3 A2 8A B8 */ lfs f29, "@8606"@sda21(r2)
/* 800AF594 000AB3D4 88 04 00 07 */ lbz r0, 0x7(r4)
/* 800AF598 000AB3D8 98 03 00 07 */ stb r0, 0x7(r3)
/* 800AF59C 000AB3DC C3 C2 8A C0 */ lfs f30, "@8608"@sda21(r2)
/* 800AF5A0 000AB3E0 88 04 00 08 */ lbz r0, 0x8(r4)
/* 800AF5A4 000AB3E4 98 03 00 08 */ stb r0, 0x8(r3)
/* 800AF5A8 000AB3E8 88 04 00 09 */ lbz r0, 0x9(r4)
/* 800AF5AC 000AB3EC 98 03 00 09 */ stb r0, 0x9(r3)
/* 800AF5B0 000AB3F0 88 04 00 0A */ lbz r0, 0xa(r4)
/* 800AF5B4 000AB3F4 98 03 00 0A */ stb r0, 0xa(r3)
/* 800AF5B8 000AB3F8 88 04 00 0B */ lbz r0, 0xb(r4)
/* 800AF5BC 000AB3FC 98 03 00 0B */ stb r0, 0xb(r3)
/* 800AF5C0 000AB400 88 04 00 0C */ lbz r0, 0xc(r4)
/* 800AF5C4 000AB404 98 03 00 0C */ stb r0, 0xc(r3)
/* 800AF5C8 000AB408 88 04 00 0D */ lbz r0, 0xd(r4)
/* 800AF5CC 000AB40C 98 03 00 0D */ stb r0, 0xd(r3)
/* 800AF5D0 000AB410 88 04 00 0E */ lbz r0, 0xe(r4)
/* 800AF5D4 000AB414 98 03 00 0E */ stb r0, 0xe(r3)
/* 800AF5D8 000AB418 88 04 00 0F */ lbz r0, 0xf(r4)
/* 800AF5DC 000AB41C 98 03 00 0F */ stb r0, 0xf(r3)
/* 800AF5E0 000AB420 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 800AF5E4 000AB424 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 800AF5E8 000AB428 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 800AF5EC 000AB42C D0 03 00 14 */ stfs f0, 0x14(r3)
/* 800AF5F0 000AB430 C0 04 00 18 */ lfs f0, 0x18(r4)
/* 800AF5F4 000AB434 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 800AF5F8 000AB438 C0 04 00 1C */ lfs f0, 0x1c(r4)
/* 800AF5FC 000AB43C D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 800AF600 000AB440 C0 04 00 20 */ lfs f0, 0x20(r4)
/* 800AF604 000AB444 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 800AF608 000AB448 C0 04 00 24 */ lfs f0, 0x24(r4)
/* 800AF60C 000AB44C D0 03 00 24 */ stfs f0, 0x24(r3)
/* 800AF610 000AB450 C0 04 00 28 */ lfs f0, 0x28(r4)
/* 800AF614 000AB454 D0 03 00 28 */ stfs f0, 0x28(r3)
.global lbl_800AF618
lbl_800AF618:
/* 800AF618 000AB458 7C BB EA 14 */ add r5, r27, r29
/* 800AF61C 000AB45C C0 5E 00 7C */ lfs f2, 0x7c(r30)
/* 800AF620 000AB460 88 05 00 79 */ lbz r0, 0x79(r5)
/* 800AF624 000AB464 2C 00 00 00 */ cmpwi r0, 0x0
/* 800AF628 000AB468 41 82 00 64 */ beq lbl_800AF68C
/* 800AF62C 000AB46C 80 9C 00 20 */ lwz r4, 0x20(r28)
/* 800AF630 000AB470 38 1F 43 FD */ addi r0, r31, 0x43fd
/* 800AF634 000AB474 93 21 00 08 */ stw r25, 0x8(r1)
/* 800AF638 000AB478 80 64 00 EC */ lwz r3, 0xec(r4)
/* 800AF63C 000AB47C 93 21 00 10 */ stw r25, 0x10(r1)
/* 800AF640 000AB480 7C 63 01 D6 */ mullw r3, r3, r0
/* 800AF644 000AB484 3C 63 00 27 */ addis r3, r3, 0x27
/* 800AF648 000AB488 38 03 9E C3 */ addi r0, r3, -0x613d
/* 800AF64C 000AB48C 90 04 00 EC */ stw r0, 0xec(r4)
/* 800AF650 000AB490 54 00 84 3E */ srwi r0, r0, 16
/* 800AF654 000AB494 90 01 00 0C */ stw r0, 0xc(r1)
/* 800AF658 000AB498 88 05 00 79 */ lbz r0, 0x79(r5)
/* 800AF65C 000AB49C C8 01 00 08 */ lfd f0, 0x8(r1)
/* 800AF660 000AB4A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 800AF664 000AB4A4 EC 00 F8 28 */ fsubs f0, f0, f31
/* 800AF668 000AB4A8 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 800AF66C 000AB4AC EC 00 C0 24 */ fdivs f0, f0, f24
/* 800AF670 000AB4B0 EC 19 00 32 */ fmuls f0, f25, f0
/* 800AF674 000AB4B4 EC 21 F8 28 */ fsubs f1, f1, f31
/* 800AF678 000AB4B8 EC 00 D0 28 */ fsubs f0, f0, f26
/* 800AF67C 000AB4BC EC 02 00 32 */ fmuls f0, f2, f0
/* 800AF680 000AB4C0 EC 01 00 32 */ fmuls f0, f1, f0
/* 800AF684 000AB4C4 EC 00 D8 24 */ fdivs f0, f0, f27
/* 800AF688 000AB4C8 EC 42 00 2A */ fadds f2, f2, f0
.global lbl_800AF68C
lbl_800AF68C:
/* 800AF68C 000AB4CC EC 02 E0 24 */ fdivs f0, f2, f28
/* 800AF690 000AB4D0 EC 1D 00 32 */ fmuls f0, f29, f0
/* 800AF694 000AB4D4 EC 20 F0 28 */ fsubs f1, f0, f30
/* 800AF698 000AB4D8 4B F6 47 2D */ bl ceil
/* 800AF69C 000AB4DC FC 00 08 18 */ frsp f0, f1
/* 800AF6A0 000AB4E0 7C 7A EA 14 */ add r3, r26, r29
/* 800AF6A4 000AB4E4 3B BD 00 01 */ addi r29, r29, 0x1
/* 800AF6A8 000AB4E8 3B DE 00 04 */ addi r30, r30, 0x4
/* 800AF6AC 000AB4EC 2C 1D 00 03 */ cmpwi r29, 0x3
/* 800AF6B0 000AB4F0 FC 00 00 1E */ fctiwz f0, f0
/* 800AF6B4 000AB4F4 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 800AF6B8 000AB4F8 80 81 00 14 */ lwz r4, 0x14(r1)
/* 800AF6BC 000AB4FC 54 80 C0 0E */ slwi r0, r4, 24
/* 800AF6C0 000AB500 54 84 0F FE */ srwi r4, r4, 31
/* 800AF6C4 000AB504 7C 04 00 50 */ subf r0, r4, r0
/* 800AF6C8 000AB508 54 00 40 3E */ rotlwi r0, r0, 8
/* 800AF6CC 000AB50C 7C 00 22 14 */ add r0, r0, r4
/* 800AF6D0 000AB510 98 03 00 7A */ stb r0, 0x7a(r3)
/* 800AF6D4 000AB514 41 80 FF 44 */ blt lbl_800AF618
/* 800AF6D8 000AB518 80 1B 00 68 */ lwz r0, 0x68(r27)
/* 800AF6DC 000AB51C 38 60 00 00 */ li r3, 0x0
/* 800AF6E0 000AB520 90 1A 00 68 */ stw r0, 0x68(r26)
/* 800AF6E4 000AB524 C0 1B 00 2C */ lfs f0, 0x2c(r27)
/* 800AF6E8 000AB528 D0 1A 00 2C */ stfs f0, 0x2c(r26)
/* 800AF6EC 000AB52C C0 1B 00 30 */ lfs f0, 0x30(r27)
/* 800AF6F0 000AB530 D0 1A 00 30 */ stfs f0, 0x30(r26)
/* 800AF6F4 000AB534 C0 1B 00 44 */ lfs f0, 0x44(r27)
/* 800AF6F8 000AB538 D0 1A 00 44 */ stfs f0, 0x44(r26)
/* 800AF6FC 000AB53C C0 1B 00 50 */ lfs f0, 0x50(r27)
/* 800AF700 000AB540 D0 1A 00 50 */ stfs f0, 0x50(r26)
/* 800AF704 000AB544 C0 1B 00 54 */ lfs f0, 0x54(r27)
/* 800AF708 000AB548 D0 1A 00 54 */ stfs f0, 0x54(r26)
/* 800AF70C 000AB54C 80 1B 00 6C */ lwz r0, 0x6c(r27)
/* 800AF710 000AB550 90 1A 00 6C */ stw r0, 0x6c(r26)
/* 800AF714 000AB554 C0 1B 00 34 */ lfs f0, 0x34(r27)
/* 800AF718 000AB558 D0 1A 00 34 */ stfs f0, 0x34(r26)
/* 800AF71C 000AB55C C0 1B 00 38 */ lfs f0, 0x38(r27)
/* 800AF720 000AB560 D0 1A 00 38 */ stfs f0, 0x38(r26)
/* 800AF724 000AB564 C0 1B 00 48 */ lfs f0, 0x48(r27)
/* 800AF728 000AB568 D0 1A 00 48 */ stfs f0, 0x48(r26)
/* 800AF72C 000AB56C C0 1B 00 58 */ lfs f0, 0x58(r27)
/* 800AF730 000AB570 D0 1A 00 58 */ stfs f0, 0x58(r26)
/* 800AF734 000AB574 C0 1B 00 5C */ lfs f0, 0x5c(r27)
/* 800AF738 000AB578 D0 1A 00 5C */ stfs f0, 0x5c(r26)
/* 800AF73C 000AB57C 80 1B 00 70 */ lwz r0, 0x70(r27)
/* 800AF740 000AB580 90 1A 00 70 */ stw r0, 0x70(r26)
/* 800AF744 000AB584 C0 1B 00 3C */ lfs f0, 0x3c(r27)
/* 800AF748 000AB588 D0 1A 00 3C */ stfs f0, 0x3c(r26)
/* 800AF74C 000AB58C C0 1B 00 40 */ lfs f0, 0x40(r27)
/* 800AF750 000AB590 D0 1A 00 40 */ stfs f0, 0x40(r26)
/* 800AF754 000AB594 C0 1B 00 4C */ lfs f0, 0x4c(r27)
/* 800AF758 000AB598 D0 1A 00 4C */ stfs f0, 0x4c(r26)
/* 800AF75C 000AB59C C0 1B 00 60 */ lfs f0, 0x60(r27)
/* 800AF760 000AB5A0 D0 1A 00 60 */ stfs f0, 0x60(r26)
/* 800AF764 000AB5A4 C0 1B 00 64 */ lfs f0, 0x64(r27)
/* 800AF768 000AB5A8 D0 1A 00 64 */ stfs f0, 0x64(r26)
/* 800AF76C 000AB5AC A0 1B 00 74 */ lhz r0, 0x74(r27)
/* 800AF770 000AB5B0 B0 1A 00 74 */ sth r0, 0x74(r26)
/* 800AF774 000AB5B4 88 1B 00 76 */ lbz r0, 0x76(r27)
/* 800AF778 000AB5B8 98 1A 00 76 */ stb r0, 0x76(r26)
/* 800AF77C 000AB5BC 88 1B 00 77 */ lbz r0, 0x77(r27)
/* 800AF780 000AB5C0 98 1A 00 77 */ stb r0, 0x77(r26)
/* 800AF784 000AB5C4 88 1B 00 78 */ lbz r0, 0x78(r27)
/* 800AF788 000AB5C8 98 1A 00 78 */ stb r0, 0x78(r26)
/* 800AF78C 000AB5CC 98 7A 00 7D */ stb r3, 0x7d(r26)
/* 800AF790 000AB5D0 E3 E1 00 B8 */ psq_l f31, 0xb8(r1), 0, qr0
/* 800AF794 000AB5D4 CB E1 00 B0 */ lfd f31, 0xb0(r1)
/* 800AF798 000AB5D8 E3 C1 00 A8 */ psq_l f30, 0xa8(r1), 0, qr0
/* 800AF79C 000AB5DC CB C1 00 A0 */ lfd f30, 0xa0(r1)
/* 800AF7A0 000AB5E0 E3 A1 00 98 */ psq_l f29, 0x98(r1), 0, qr0
/* 800AF7A4 000AB5E4 CB A1 00 90 */ lfd f29, 0x90(r1)
/* 800AF7A8 000AB5E8 E3 81 00 88 */ psq_l f28, 0x88(r1), 0, qr0
/* 800AF7AC 000AB5EC CB 81 00 80 */ lfd f28, 0x80(r1)
/* 800AF7B0 000AB5F0 E3 61 00 78 */ psq_l f27, 0x78(r1), 0, qr0
/* 800AF7B4 000AB5F4 CB 61 00 70 */ lfd f27, 0x70(r1)
/* 800AF7B8 000AB5F8 E3 41 00 68 */ psq_l f26, 0x68(r1), 0, qr0
/* 800AF7BC 000AB5FC CB 41 00 60 */ lfd f26, 0x60(r1)
/* 800AF7C0 000AB600 E3 21 00 58 */ psq_l f25, 0x58(r1), 0, qr0
/* 800AF7C4 000AB604 CB 21 00 50 */ lfd f25, 0x50(r1)
/* 800AF7C8 000AB608 E3 01 00 48 */ psq_l f24, 0x48(r1), 0, qr0
/* 800AF7CC 000AB60C CB 01 00 40 */ lfd f24, 0x40(r1)
/* 800AF7D0 000AB610 39 61 00 40 */ addi r11, r1, 0x40
/* 800AF7D4 000AB614 4B F5 7B AD */ bl lbl_80007380
/* 800AF7D8 000AB618 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 800AF7DC 000AB61C 7C 08 03 A6 */ mtlr r0
/* 800AF7E0 000AB620 38 21 00 C0 */ addi r1, r1, 0xc0
/* 800AF7E4 000AB624 4E 80 00 20 */ blr
/* 800AF7E8 000AB628 00 00 00 00 */ .4byte 0x00000000
/* 800AF7EC 000AB62C 00 00 00 00 */ .4byte 0x00000000
.global Initialize__Q34nw4r2ef8ParticleFUsQ34nw4r4math4VEC3Q34nw4r4math4VEC3PQ34nw4r2ef15ParticleManagerPCQ34nw4r4math5MTX34fPCQ34nw4r2ef21EmitterInheritSettingPQ34nw4r2ef8Particle
Initialize__Q34nw4r2ef8ParticleFUsQ34nw4r4math4VEC3Q34nw4r4math4VEC3PQ34nw4r2ef15ParticleManagerPCQ34nw4r4math5MTX34fPCQ34nw4r2ef21EmitterInheritSettingPQ34nw4r2ef8Particle:
/* 800AF7F0 000AB630 94 21 FE D0 */ stwu r1, -0x130(r1)
/* 800AF7F4 000AB634 7C 08 02 A6 */ mflr r0
/* 800AF7F8 000AB638 90 01 01 34 */ stw r0, 0x134(r1)
/* 800AF7FC 000AB63C 39 61 01 20 */ addi r11, r1, 0x120
/* 800AF800 000AB640 DB E1 01 20 */ stfd f31, 0x120(r1)
/* 800AF804 000AB644 F3 E1 01 28 */ psq_st f31, 0x128(r1), 0, qr0
/* 800AF808 000AB648 4B F5 7B 25 */ bl lbl_8000732C
/* 800AF80C 000AB64C FF E0 08 90 */ fmr f31, f1
/* 800AF810 000AB650 2C 04 00 00 */ cmpwi r4, 0x0
/* 800AF814 000AB654 3D 80 43 30 */ lis r12, 0x4330
/* 800AF818 000AB658 39 60 00 00 */ li r11, 0x0
/* 800AF81C 000AB65C 38 00 00 01 */ li r0, 0x1
/* 800AF820 000AB660 91 81 00 C8 */ stw r12, 0xc8(r1)
/* 800AF824 000AB664 91 81 00 D0 */ stw r12, 0xd0(r1)
/* 800AF828 000AB668 7C 78 1B 78 */ mr r24, r3
/* 800AF82C 000AB66C 7C 99 23 78 */ mr r25, r4
/* 800AF830 000AB670 7C BF 2B 78 */ mr r31, r5
/* 800AF834 000AB674 91 63 00 10 */ stw r11, 0x10(r3)
/* 800AF838 000AB678 7C DE 33 78 */ mr r30, r6
/* 800AF83C 000AB67C 7C FD 3B 78 */ mr r29, r7
/* 800AF840 000AB680 7D 1C 43 78 */ mr r28, r8
/* 800AF844 000AB684 90 03 00 0C */ stw r0, 0xc(r3)
/* 800AF848 000AB688 7D 3A 4B 78 */ mr r26, r9
/* 800AF84C 000AB68C 7D 5B 53 78 */ mr r27, r10
/* 800AF850 000AB690 40 82 00 08 */ bne lbl_800AF858
/* 800AF854 000AB694 3B 20 00 01 */ li r25, 0x1
.global lbl_800AF858
lbl_800AF858:
/* 800AF858 000AB698 90 E3 00 C8 */ stw r7, 0xc8(r3)
/* 800AF85C 000AB69C 3A E0 00 00 */ li r23, 0x0
/* 800AF860 000AB6A0 80 87 00 10 */ lwz r4, 0x10(r7)
/* 800AF864 000AB6A4 38 04 00 01 */ addi r0, r4, 0x1
/* 800AF868 000AB6A8 90 07 00 10 */ stw r0, 0x10(r7)
/* 800AF86C 000AB6AC 92 E3 00 D8 */ stw r23, 0xd8(r3)
/* 800AF870 000AB6B0 B2 E3 00 E2 */ sth r23, 0xe2(r3)
/* 800AF874 000AB6B4 48 00 2C CD */ bl GetInstance__Q34nw4r2ef8ResourceFv
/* 800AF878 000AB6B8 80 9D 00 24 */ lwz r4, 0x24(r29)
/* 800AF87C 000AB6BC 7F A5 EB 78 */ mr r5, r29
/* 800AF880 000AB6C0 38 78 00 20 */ addi r3, r24, 0x20
/* 800AF884 000AB6C4 80 04 00 04 */ lwz r0, 0x4(r4)
/* 800AF888 000AB6C8 7C 80 22 14 */ add r4, r0, r4
/* 800AF88C 000AB6CC 38 84 00 0C */ addi r4, r4, 0xc
/* 800AF890 000AB6D0 4B FF FC 41 */ bl Initialize__Q34nw4r2ef17ParticleParameterFPQ34nw4r2ef21ParticleParameterDescPQ34nw4r2ef15ParticleManager
/* 800AF894 000AB6D4 D3 F8 00 C4 */ stfs f31, 0xc4(r24)
/* 800AF898 000AB6D8 3C 80 00 03 */ lis r4, 0x3
/* 800AF89C 000AB6DC 3C 60 81 02 */ lis r3, 0x81020409@ha
/* 800AF8A0 000AB6E0 C0 22 8A D8 */ lfs f1, "@8839"@sda21(r2)
/* 800AF8A4 000AB6E4 B2 F8 00 DC */ sth r23, 0xdc(r24)
/* 800AF8A8 000AB6E8 38 A4 43 FD */ addi r5, r4, 0x43fd
/* 800AF8AC 000AB6EC 38 03 04 09 */ addi r0, r3, 0x81020409@l
/* 800AF8B0 000AB6F0 80 9D 00 20 */ lwz r4, 0x20(r29)
/* 800AF8B4 000AB6F4 80 64 00 EC */ lwz r3, 0xec(r4)
/* 800AF8B8 000AB6F8 7C 63 29 D6 */ mullw r3, r3, r5
/* 800AF8BC 000AB6FC 3C 63 00 27 */ addis r3, r3, 0x27
/* 800AF8C0 000AB700 38 63 9E C3 */ addi r3, r3, -0x613d
/* 800AF8C4 000AB704 90 64 00 EC */ stw r3, 0xec(r4)
/* 800AF8C8 000AB708 54 63 84 3E */ srwi r3, r3, 16
/* 800AF8CC 000AB70C B0 78 00 DE */ sth r3, 0xde(r24)
/* 800AF8D0 000AB710 B3 38 00 E0 */ sth r25, 0xe0(r24)
/* 800AF8D4 000AB714 80 9D 00 20 */ lwz r4, 0x20(r29)
/* 800AF8D8 000AB718 80 64 00 EC */ lwz r3, 0xec(r4)
/* 800AF8DC 000AB71C 7C 63 29 D6 */ mullw r3, r3, r5
/* 800AF8E0 000AB720 3C 63 00 27 */ addis r3, r3, 0x27
/* 800AF8E4 000AB724 38 63 9E C3 */ addi r3, r3, -0x613d
/* 800AF8E8 000AB728 90 64 00 EC */ stw r3, 0xec(r4)
/* 800AF8EC 000AB72C 54 64 84 3E */ srwi r4, r3, 16
/* 800AF8F0 000AB730 7C 00 20 96 */ mulhw r0, r0, r4
/* 800AF8F4 000AB734 7C 00 22 14 */ add r0, r0, r4
/* 800AF8F8 000AB738 7C 00 3E 70 */ srawi r0, r0, 7
/* 800AF8FC 000AB73C 54 03 0F FE */ srwi r3, r0, 31
/* 800AF900 000AB740 7C 00 1A 14 */ add r0, r0, r3
/* 800AF904 000AB744 1C 00 00 FE */ mulli r0, r0, 0xfe
/* 800AF908 000AB748 7C 60 20 50 */ subf r3, r0, r4
/* 800AF90C 000AB74C 38 03 FF 82 */ addi r0, r3, -0x7e
/* 800AF910 000AB750 98 18 00 99 */ stb r0, 0x99(r24)
/* 800AF914 000AB754 C0 7F 00 00 */ lfs f3, 0x0(r31)
/* 800AF918 000AB758 D0 78 00 AC */ stfs f3, 0xac(r24)
/* 800AF91C 000AB75C C0 5F 00 04 */ lfs f2, 0x4(r31)
/* 800AF920 000AB760 D0 58 00 B0 */ stfs f2, 0xb0(r24)
/* 800AF924 000AB764 C0 1F 00 08 */ lfs f0, 0x8(r31)
/* 800AF928 000AB768 D0 18 00 B4 */ stfs f0, 0xb4(r24)
/* 800AF92C 000AB76C D0 78 00 B8 */ stfs f3, 0xb8(r24)
/* 800AF930 000AB770 D0 58 00 BC */ stfs f2, 0xbc(r24)
/* 800AF934 000AB774 D0 18 00 C0 */ stfs f0, 0xc0(r24)
/* 800AF938 000AB778 C0 1E 00 00 */ lfs f0, 0x0(r30)
/* 800AF93C 000AB77C D0 18 00 A0 */ stfs f0, 0xa0(r24)
/* 800AF940 000AB780 C0 1E 00 04 */ lfs f0, 0x4(r30)
/* 800AF944 000AB784 D0 18 00 A4 */ stfs f0, 0xa4(r24)
/* 800AF948 000AB788 C0 1E 00 08 */ lfs f0, 0x8(r30)
/* 800AF94C 000AB78C D0 18 00 A8 */ stfs f0, 0xa8(r24)
/* 800AF950 000AB790 80 7D 00 20 */ lwz r3, 0x20(r29)
/* 800AF954 000AB794 82 E3 00 BC */ lwz r23, 0xbc(r3)
/* 800AF958 000AB798 C4 17 00 84 */ lfsu f0, 0x84(r23)
/* 800AF95C 000AB79C FC 01 00 00 */ fcmpu cr0, f1, f0
/* 800AF960 000AB7A0 40 82 00 1C */ bne lbl_800AF97C
/* 800AF964 000AB7A4 C0 17 00 04 */ lfs f0, 0x4(r23)
/* 800AF968 000AB7A8 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 800AF96C 000AB7AC 40 82 00 10 */ bne lbl_800AF97C
/* 800AF970 000AB7B0 C0 17 00 08 */ lfs f0, 0x8(r23)
/* 800AF974 000AB7B4 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 800AF978 000AB7B8 41 82 00 5C */ beq lbl_800AF9D4
.global lbl_800AF97C
lbl_800AF97C:
/* 800AF97C 000AB7BC 38 81 00 98 */ addi r4, r1, 0x98
/* 800AF980 000AB7C0 4B FF 73 11 */ bl CalcGlobalMtx__Q34nw4r2ef7EmitterFPQ34nw4r4math5MTX34
/* 800AF984 000AB7C4 38 61 00 98 */ addi r3, r1, 0x98
/* 800AF988 000AB7C8 7C 64 1B 78 */ mr r4, r3
/* 800AF98C 000AB7CC 4B F8 0E 75 */ bl PSMTXInverse
/* 800AF990 000AB7D0 C0 02 8A D8 */ lfs f0, "@8839"@sda21(r2)
/* 800AF994 000AB7D4 7E E4 BB 78 */ mr r4, r23
/* 800AF998 000AB7D8 D0 01 00 C4 */ stfs f0, 0xc4(r1)
/* 800AF99C 000AB7DC 38 61 00 98 */ addi r3, r1, 0x98
/* 800AF9A0 000AB7E0 38 A1 00 2C */ addi r5, r1, 0x2c
/* 800AF9A4 000AB7E4 D0 01 00 B4 */ stfs f0, 0xb4(r1)
/* 800AF9A8 000AB7E8 D0 01 00 A4 */ stfs f0, 0xa4(r1)
/* 800AF9AC 000AB7EC 4B F8 17 45 */ bl PSMTXMultVec
/* 800AF9B0 000AB7F0 38 61 00 2C */ addi r3, r1, 0x2c
/* 800AF9B4 000AB7F4 E0 18 00 A0 */ psq_l f0, 0xa0(r24), 0, qr0
/* 800AF9B8 000AB7F8 E0 23 00 00 */ psq_l f1, 0x0(r3), 0, qr0
/* 800AF9BC 000AB7FC 10 20 08 2A */ ps_add f1, f0, f1
/* 800AF9C0 000AB800 E0 18 80 A8 */ psq_l f0, 0xa8(r24), 1, qr0
/* 800AF9C4 000AB804 F0 38 00 A0 */ psq_st f1, 0xa0(r24), 0, qr0
/* 800AF9C8 000AB808 E0 23 80 08 */ psq_l f1, 0x8(r3), 1, qr0
/* 800AF9CC 000AB80C 10 20 08 2A */ ps_add f1, f0, f1
/* 800AF9D0 000AB810 F0 38 80 A8 */ psq_st f1, 0xa8(r24), 1, qr0
.global lbl_800AF9D4
lbl_800AF9D4:
/* 800AF9D4 000AB814 2C 1C 00 00 */ cmpwi r28, 0x0
/* 800AF9D8 000AB818 41 82 00 94 */ beq lbl_800AFA6C
/* 800AF9DC 000AB81C 38 98 00 AC */ addi r4, r24, 0xac
/* 800AF9E0 000AB820 7F 83 E3 78 */ mr r3, r28
/* 800AF9E4 000AB824 7C 85 23 78 */ mr r5, r4
/* 800AF9E8 000AB828 4B F8 17 09 */ bl PSMTXMultVec
/* 800AF9EC 000AB82C 80 DC 00 00 */ lwz r6, 0x0(r28)
/* 800AF9F0 000AB830 38 98 00 A0 */ addi r4, r24, 0xa0
/* 800AF9F4 000AB834 80 1C 00 04 */ lwz r0, 0x4(r28)
/* 800AF9F8 000AB838 7C 85 23 78 */ mr r5, r4
/* 800AF9FC 000AB83C 90 01 00 6C */ stw r0, 0x6c(r1)
/* 800AFA00 000AB840 38 61 00 68 */ addi r3, r1, 0x68
/* 800AFA04 000AB844 C0 02 8A D8 */ lfs f0, "@8839"@sda21(r2)
/* 800AFA08 000AB848 90 C1 00 68 */ stw r6, 0x68(r1)
/* 800AFA0C 000AB84C 80 DC 00 08 */ lwz r6, 0x8(r28)
/* 800AFA10 000AB850 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 800AFA14 000AB854 90 01 00 74 */ stw r0, 0x74(r1)
/* 800AFA18 000AB858 90 C1 00 70 */ stw r6, 0x70(r1)
/* 800AFA1C 000AB85C 80 DC 00 10 */ lwz r6, 0x10(r28)
/* 800AFA20 000AB860 80 1C 00 14 */ lwz r0, 0x14(r28)
/* 800AFA24 000AB864 90 01 00 7C */ stw r0, 0x7c(r1)
/* 800AFA28 000AB868 90 C1 00 78 */ stw r6, 0x78(r1)
/* 800AFA2C 000AB86C 80 DC 00 18 */ lwz r6, 0x18(r28)
/* 800AFA30 000AB870 80 1C 00 1C */ lwz r0, 0x1c(r28)
/* 800AFA34 000AB874 90 01 00 84 */ stw r0, 0x84(r1)
/* 800AFA38 000AB878 90 C1 00 80 */ stw r6, 0x80(r1)
/* 800AFA3C 000AB87C 80 DC 00 20 */ lwz r6, 0x20(r28)
/* 800AFA40 000AB880 80 1C 00 24 */ lwz r0, 0x24(r28)
/* 800AFA44 000AB884 90 01 00 8C */ stw r0, 0x8c(r1)
/* 800AFA48 000AB888 90 C1 00 88 */ stw r6, 0x88(r1)
/* 800AFA4C 000AB88C 80 DC 00 28 */ lwz r6, 0x28(r28)
/* 800AFA50 000AB890 80 1C 00 2C */ lwz r0, 0x2c(r28)
/* 800AFA54 000AB894 90 01 00 94 */ stw r0, 0x94(r1)
/* 800AFA58 000AB898 90 C1 00 90 */ stw r6, 0x90(r1)
/* 800AFA5C 000AB89C D0 01 00 94 */ stfs f0, 0x94(r1)
/* 800AFA60 000AB8A0 D0 01 00 84 */ stfs f0, 0x84(r1)
/* 800AFA64 000AB8A4 D0 01 00 74 */ stfs f0, 0x74(r1)
/* 800AFA68 000AB8A8 4B F8 16 89 */ bl PSMTXMultVec
.global lbl_800AFA6C
lbl_800AFA6C:
/* 800AFA6C 000AB8AC C0 02 8A D8 */ lfs f0, "@8839"@sda21(r2)
/* 800AFA70 000AB8B0 2C 1B 00 00 */ cmpwi r27, 0x0
/* 800AFA74 000AB8B4 C0 22 8A AC */ lfs f1, "@8603"@sda21(r2)
/* 800AFA78 000AB8B8 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 800AFA7C 000AB8BC D0 01 00 18 */ stfs f0, 0x18(r1)
/* 800AFA80 000AB8C0 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 800AFA84 000AB8C4 D0 38 00 CC */ stfs f1, 0xcc(r24)
/* 800AFA88 000AB8C8 D0 18 00 D0 */ stfs f0, 0xd0(r24)
/* 800AFA8C 000AB8CC D0 18 00 D4 */ stfs f0, 0xd4(r24)
/* 800AFA90 000AB8D0 41 82 05 6C */ beq lbl_800AFFFC
/* 800AFA94 000AB8D4 2C 1A 00 00 */ cmpwi r26, 0x0
/* 800AFA98 000AB8D8 41 82 05 64 */ beq lbl_800AFFFC
/* 800AFA9C 000AB8DC A8 1A 00 00 */ lha r0, 0x0(r26)
/* 800AFAA0 000AB8E0 2C 00 00 00 */ cmpwi r0, 0x0
/* 800AFAA4 000AB8E4 41 82 00 E4 */ beq lbl_800AFB88
/* 800AFAA8 000AB8E8 80 7B 00 C8 */ lwz r3, 0xc8(r27)
/* 800AFAAC 000AB8EC 38 81 00 38 */ addi r4, r1, 0x38
/* 800AFAB0 000AB8F0 48 00 23 C1 */ bl CalcGlobalMtx__Q34nw4r2ef15ParticleManagerFPQ34nw4r4math5MTX34
/* 800AFAB4 000AB8F4 C0 02 8A D8 */ lfs f0, "@8839"@sda21(r2)
/* 800AFAB8 000AB8F8 38 61 00 38 */ addi r3, r1, 0x38
/* 800AFABC 000AB8FC D0 01 00 64 */ stfs f0, 0x64(r1)
/* 800AFAC0 000AB900 38 9B 00 A0 */ addi r4, r27, 0xa0
/* 800AFAC4 000AB904 38 A1 00 20 */ addi r5, r1, 0x20
/* 800AFAC8 000AB908 D0 01 00 54 */ stfs f0, 0x54(r1)
/* 800AFACC 000AB90C D0 01 00 44 */ stfs f0, 0x44(r1)
/* 800AFAD0 000AB910 4B F8 16 21 */ bl PSMTXMultVec
/* 800AFAD4 000AB914 80 78 00 C8 */ lwz r3, 0xc8(r24)
/* 800AFAD8 000AB918 38 81 00 38 */ addi r4, r1, 0x38
/* 800AFADC 000AB91C 48 00 23 95 */ bl CalcGlobalMtx__Q34nw4r2ef15ParticleManagerFPQ34nw4r4math5MTX34
/* 800AFAE0 000AB920 C0 02 8A D8 */ lfs f0, "@8839"@sda21(r2)
/* 800AFAE4 000AB924 38 61 00 38 */ addi r3, r1, 0x38
/* 800AFAE8 000AB928 D0 01 00 64 */ stfs f0, 0x64(r1)
/* 800AFAEC 000AB92C 7C 64 1B 78 */ mr r4, r3
/* 800AFAF0 000AB930 D0 01 00 54 */ stfs f0, 0x54(r1)
/* 800AFAF4 000AB934 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 800AFAF8 000AB938 4B F8 0D 09 */ bl PSMTXInverse
/* 800AFAFC 000AB93C 38 81 00 20 */ addi r4, r1, 0x20
/* 800AFB00 000AB940 38 61 00 38 */ addi r3, r1, 0x38
/* 800AFB04 000AB944 7C 85 23 78 */ mr r5, r4
/* 800AFB08 000AB948 4B F8 15 E9 */ bl PSMTXMultVec
/* 800AFB0C 000AB94C A8 1A 00 00 */ lha r0, 0x0(r26)
/* 800AFB10 000AB950 C8 E2 8A E8 */ lfd f7, "@8851"@sda21(r2)
/* 800AFB14 000AB954 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 800AFB18 000AB958 90 01 00 CC */ stw r0, 0xcc(r1)
/* 800AFB1C 000AB95C C0 01 00 20 */ lfs f0, 0x20(r1)
/* 800AFB20 000AB960 C8 21 00 C8 */ lfd f1, 0xc8(r1)
/* 800AFB24 000AB964 C0 C2 8A DC */ lfs f6, "@8840"@sda21(r2)
/* 800AFB28 000AB968 EC 41 38 28 */ fsubs f2, f1, f7
/* 800AFB2C 000AB96C 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 800AFB30 000AB970 C0 78 00 A0 */ lfs f3, 0xa0(r24)
/* 800AFB34 000AB974 C8 21 00 D0 */ lfd f1, 0xd0(r1)
/* 800AFB38 000AB978 EC 40 00 B2 */ fmuls f2, f0, f2
/* 800AFB3C 000AB97C 90 01 00 CC */ stw r0, 0xcc(r1)
/* 800AFB40 000AB980 EC 81 38 28 */ fsubs f4, f1, f7
/* 800AFB44 000AB984 C0 38 00 A4 */ lfs f1, 0xa4(r24)
/* 800AFB48 000AB988 C8 01 00 C8 */ lfd f0, 0xc8(r1)
/* 800AFB4C 000AB98C EC A6 00 B2 */ fmuls f5, f6, f2
/* 800AFB50 000AB990 EC 40 38 28 */ fsubs f2, f0, f7
/* 800AFB54 000AB994 C0 18 00 A8 */ lfs f0, 0xa8(r24)
/* 800AFB58 000AB998 EC 63 28 2A */ fadds f3, f3, f5
/* 800AFB5C 000AB99C D0 78 00 A0 */ stfs f3, 0xa0(r24)
/* 800AFB60 000AB9A0 C0 61 00 24 */ lfs f3, 0x24(r1)
/* 800AFB64 000AB9A4 EC 63 01 32 */ fmuls f3, f3, f4
/* 800AFB68 000AB9A8 EC 66 00 F2 */ fmuls f3, f6, f3
/* 800AFB6C 000AB9AC EC 21 18 2A */ fadds f1, f1, f3
/* 800AFB70 000AB9B0 D0 38 00 A4 */ stfs f1, 0xa4(r24)
/* 800AFB74 000AB9B4 C0 21 00 28 */ lfs f1, 0x28(r1)
/* 800AFB78 000AB9B8 EC 21 00 B2 */ fmuls f1, f1, f2
/* 800AFB7C 000AB9BC EC 26 00 72 */ fmuls f1, f6, f1
/* 800AFB80 000AB9C0 EC 00 08 2A */ fadds f0, f0, f1
/* 800AFB84 000AB9C4 D0 18 00 A8 */ stfs f0, 0xa8(r24)
.global lbl_800AFB88
lbl_800AFB88:
/* 800AFB88 000AB9C8 88 1A 00 02 */ lbz r0, 0x2(r26)
/* 800AFB8C 000AB9CC 2C 00 00 00 */ cmpwi r0, 0x0
/* 800AFB90 000AB9D0 41 82 00 D0 */ beq lbl_800AFC60
/* 800AFB94 000AB9D4 C0 3B 00 30 */ lfs f1, 0x30(r27)
/* 800AFB98 000AB9D8 C0 1B 00 38 */ lfs f0, 0x38(r27)
/* 800AFB9C 000AB9DC 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 800AFBA0 000AB9E0 EC 61 00 32 */ fmuls f3, f1, f0
/* 800AFBA4 000AB9E4 80 7B 00 C8 */ lwz r3, 0xc8(r27)
/* 800AFBA8 000AB9E8 C8 42 8A C8 */ lfd f2, "@8613_8055EA48"@sda21(r2)
/* 800AFBAC 000AB9EC C0 03 00 58 */ lfs f0, 0x58(r3)
/* 800AFBB0 000AB9F0 C8 21 00 D0 */ lfd f1, 0xd0(r1)
/* 800AFBB4 000AB9F4 EC 63 00 32 */ fmuls f3, f3, f0
/* 800AFBB8 000AB9F8 C0 02 8A DC */ lfs f0, "@8840"@sda21(r2)
/* 800AFBBC 000AB9FC EC 21 10 28 */ fsubs f1, f1, f2
/* 800AFBC0 000ABA00 EC 21 00 F2 */ fmuls f1, f1, f3
/* 800AFBC4 000ABA04 EC 00 00 72 */ fmuls f0, f0, f1
/* 800AFBC8 000ABA08 D0 18 00 30 */ stfs f0, 0x30(r24)
/* 800AFBCC 000ABA0C 80 9B 00 C8 */ lwz r4, 0xc8(r27)
/* 800AFBD0 000ABA10 80 64 00 24 */ lwz r3, 0x24(r4)
/* 800AFBD4 000ABA14 A0 03 00 9C */ lhz r0, 0x9c(r3)
/* 800AFBD8 000ABA18 54 00 04 64 */ rlwinm r0, r0, 0, 17, 18
/* 800AFBDC 000ABA1C 2C 00 40 00 */ cmpwi r0, 0x4000
/* 800AFBE0 000ABA20 41 82 00 18 */ beq lbl_800AFBF8
/* 800AFBE4 000ABA24 2C 00 20 00 */ cmpwi r0, 0x2000
/* 800AFBE8 000ABA28 41 82 00 20 */ beq lbl_800AFC08
/* 800AFBEC 000ABA2C 2C 00 60 00 */ cmpwi r0, 0x6000
/* 800AFBF0 000ABA30 41 82 00 28 */ beq lbl_800AFC18
/* 800AFBF4 000ABA34 48 00 00 34 */ b lbl_800AFC28
.global lbl_800AFBF8
lbl_800AFBF8:
/* 800AFBF8 000ABA38 C0 3B 00 34 */ lfs f1, 0x34(r27)
/* 800AFBFC 000ABA3C C0 1B 00 38 */ lfs f0, 0x38(r27)
/* 800AFC00 000ABA40 EC 61 00 32 */ fmuls f3, f1, f0
/* 800AFC04 000ABA44 48 00 00 30 */ b lbl_800AFC34
.global lbl_800AFC08
lbl_800AFC08:
/* 800AFC08 000ABA48 C0 3B 00 30 */ lfs f1, 0x30(r27)
/* 800AFC0C 000ABA4C C0 1B 00 3C */ lfs f0, 0x3c(r27)
/* 800AFC10 000ABA50 EC 61 00 32 */ fmuls f3, f1, f0
/* 800AFC14 000ABA54 48 00 00 20 */ b lbl_800AFC34
.global lbl_800AFC18
lbl_800AFC18:
/* 800AFC18 000ABA58 C0 3B 00 30 */ lfs f1, 0x30(r27)
/* 800AFC1C 000ABA5C C0 1B 00 38 */ lfs f0, 0x38(r27)
/* 800AFC20 000ABA60 EC 61 00 32 */ fmuls f3, f1, f0
/* 800AFC24 000ABA64 48 00 00 10 */ b lbl_800AFC34
.global lbl_800AFC28
lbl_800AFC28:
/* 800AFC28 000ABA68 C0 3B 00 34 */ lfs f1, 0x34(r27)
/* 800AFC2C 000ABA6C C0 1B 00 3C */ lfs f0, 0x3c(r27)
/* 800AFC30 000ABA70 EC 61 00 32 */ fmuls f3, f1, f0
.global lbl_800AFC34
lbl_800AFC34:
/* 800AFC34 000ABA74 88 1A 00 02 */ lbz r0, 0x2(r26)
/* 800AFC38 000ABA78 90 01 00 CC */ stw r0, 0xcc(r1)
/* 800AFC3C 000ABA7C C0 04 00 5C */ lfs f0, 0x5c(r4)
/* 800AFC40 000ABA80 C8 42 8A C8 */ lfd f2, "@8613_8055EA48"@sda21(r2)
/* 800AFC44 000ABA84 C8 21 00 C8 */ lfd f1, 0xc8(r1)
/* 800AFC48 000ABA88 EC 63 00 32 */ fmuls f3, f3, f0
/* 800AFC4C 000ABA8C C0 02 8A DC */ lfs f0, "@8840"@sda21(r2)
/* 800AFC50 000ABA90 EC 21 10 28 */ fsubs f1, f1, f2
/* 800AFC54 000ABA94 EC 21 00 F2 */ fmuls f1, f1, f3
/* 800AFC58 000ABA98 EC 00 00 72 */ fmuls f0, f0, f1
/* 800AFC5C 000ABA9C D0 18 00 34 */ stfs f0, 0x34(r24)
.global lbl_800AFC60
lbl_800AFC60:
/* 800AFC60 000ABAA0 88 1A 00 03 */ lbz r0, 0x3(r26)
/* 800AFC64 000ABAA4 2C 00 00 00 */ cmpwi r0, 0x0
/* 800AFC68 000ABAA8 41 82 01 5C */ beq lbl_800AFDC4
/* 800AFC6C 000ABAAC 80 62 8A D0 */ lwz r3, "@8192"@sda21(r2)
/* 800AFC70 000ABAB0 7F 64 DB 78 */ mr r4, r27
/* 800AFC74 000ABAB4 80 02 8A D4 */ lwz r0, "@8194"@sda21(r2)
/* 800AFC78 000ABAB8 38 A1 00 10 */ addi r5, r1, 0x10
/* 800AFC7C 000ABABC 90 61 00 10 */ stw r3, 0x10(r1)
/* 800AFC80 000ABAC0 38 C1 00 0C */ addi r6, r1, 0xc
/* 800AFC84 000ABAC4 90 01 00 0C */ stw r0, 0xc(r1)
/* 800AFC88 000ABAC8 80 7B 00 C8 */ lwz r3, 0xc8(r27)
/* 800AFC8C 000ABACC 48 00 24 85 */ bl Draw_ModifyColor__Q34nw4r2ef15ParticleManagerFPQ34nw4r2ef8ParticleP8_GXColorP8_GXColor
/* 800AFC90 000ABAD0 7F 7E DB 78 */ mr r30, r27
/* 800AFC94 000ABAD4 7F 1D C3 78 */ mr r29, r24
/* 800AFC98 000ABAD8 3B 80 00 00 */ li r28, 0x0
/* 800AFC9C 000ABADC 3F E0 51 EC */ lis r31, 0x51ec
.global lbl_800AFCA0
lbl_800AFCA0:
/* 800AFCA0 000ABAE0 88 9A 00 08 */ lbz r4, 0x8(r26)
/* 800AFCA4 000ABAE4 2C 04 00 00 */ cmpwi r4, 0x0
/* 800AFCA8 000ABAE8 41 82 00 80 */ beq lbl_800AFD28
/* 800AFCAC 000ABAEC 54 80 07 FF */ clrlwi. r0, r4, 31
/* 800AFCB0 000ABAF0 3A E0 00 FF */ li r23, 0xff
/* 800AFCB4 000ABAF4 41 82 00 18 */ beq lbl_800AFCCC
/* 800AFCB8 000ABAF8 88 7E 00 23 */ lbz r3, 0x23(r30)
/* 800AFCBC 000ABAFC 38 63 00 01 */ addi r3, r3, 0x1
/* 800AFCC0 000ABB00 54 60 40 2E */ slwi r0, r3, 8
/* 800AFCC4 000ABB04 7E E3 00 50 */ subf r23, r3, r0
/* 800AFCC8 000ABB08 56 F7 C2 3E */ srwi r23, r23, 8
.global lbl_800AFCCC
lbl_800AFCCC:
/* 800AFCCC 000ABB0C 54 80 07 BD */ rlwinm. r0, r4, 0, 30, 30
/* 800AFCD0 000ABB10 41 82 00 14 */ beq lbl_800AFCE4
/* 800AFCD4 000ABB14 88 1E 00 27 */ lbz r0, 0x27(r30)
/* 800AFCD8 000ABB18 7C 77 01 D6 */ mullw r3, r23, r0
/* 800AFCDC 000ABB1C 3A E3 00 FF */ addi r23, r3, 0xff
/* 800AFCE0 000ABB20 56 F7 C2 3E */ srwi r23, r23, 8
.global lbl_800AFCE4
lbl_800AFCE4:
/* 800AFCE4 000ABB24 54 80 07 7B */ rlwinm. r0, r4, 0, 29, 29
/* 800AFCE8 000ABB28 41 82 00 28 */ beq lbl_800AFD10
/* 800AFCEC 000ABB2C 7F 63 DB 78 */ mr r3, r27
/* 800AFCF0 000ABB30 48 00 03 31 */ bl GetAlphaFlick__Q34nw4r2ef8ParticleCFv
/* 800AFCF4 000ABB34 54 63 06 3E */ clrlwi r3, r3, 24
/* 800AFCF8 000ABB38 88 01 00 13 */ lbz r0, 0x13(r1)
/* 800AFCFC 000ABB3C 7C 77 19 D6 */ mullw r3, r23, r3
/* 800AFD00 000ABB40 38 63 00 FF */ addi r3, r3, 0xff
/* 800AFD04 000ABB44 7C 63 01 D6 */ mullw r3, r3, r0
/* 800AFD08 000ABB48 3A E3 00 FF */ addi r23, r3, 0xff
/* 800AFD0C 000ABB4C 56 F7 84 3E */ srwi r23, r23, 16
.global lbl_800AFD10
lbl_800AFD10:
/* 800AFD10 000ABB50 88 1A 00 03 */ lbz r0, 0x3(r26)
/* 800AFD14 000ABB54 38 7F 85 1F */ addi r3, r31, -0x7ae1
/* 800AFD18 000ABB58 7C 17 01 D6 */ mullw r0, r23, r0
/* 800AFD1C 000ABB5C 7C 03 00 16 */ mulhwu r0, r3, r0
/* 800AFD20 000ABB60 54 00 DE 3E */ extrwi r0, r0, 8, 19
/* 800AFD24 000ABB64 98 1D 00 23 */ stb r0, 0x23(r29)
.global lbl_800AFD28
lbl_800AFD28:
/* 800AFD28 000ABB68 88 9A 00 09 */ lbz r4, 0x9(r26)
/* 800AFD2C 000ABB6C 2C 04 00 00 */ cmpwi r4, 0x0
/* 800AFD30 000ABB70 41 82 00 80 */ beq lbl_800AFDB0
/* 800AFD34 000ABB74 54 80 07 FF */ clrlwi. r0, r4, 31
/* 800AFD38 000ABB78 3A E0 00 FF */ li r23, 0xff
/* 800AFD3C 000ABB7C 41 82 00 18 */ beq lbl_800AFD54
/* 800AFD40 000ABB80 88 7E 00 23 */ lbz r3, 0x23(r30)
/* 800AFD44 000ABB84 38 63 00 01 */ addi r3, r3, 0x1
/* 800AFD48 000ABB88 54 60 40 2E */ slwi r0, r3, 8
/* 800AFD4C 000ABB8C 7E E3 00 50 */ subf r23, r3, r0
/* 800AFD50 000ABB90 56 F7 C2 3E */ srwi r23, r23, 8
.global lbl_800AFD54
lbl_800AFD54:
/* 800AFD54 000ABB94 54 80 07 BD */ rlwinm. r0, r4, 0, 30, 30
/* 800AFD58 000ABB98 41 82 00 14 */ beq lbl_800AFD6C
/* 800AFD5C 000ABB9C 88 1E 00 27 */ lbz r0, 0x27(r30)
/* 800AFD60 000ABBA0 7C 77 01 D6 */ mullw r3, r23, r0
/* 800AFD64 000ABBA4 3A E3 00 FF */ addi r23, r3, 0xff
/* 800AFD68 000ABBA8 56 F7 C2 3E */ srwi r23, r23, 8
.global lbl_800AFD6C
lbl_800AFD6C:
/* 800AFD6C 000ABBAC 54 80 07 7B */ rlwinm. r0, r4, 0, 29, 29
/* 800AFD70 000ABBB0 41 82 00 28 */ beq lbl_800AFD98
/* 800AFD74 000ABBB4 7F 63 DB 78 */ mr r3, r27
/* 800AFD78 000ABBB8 48 00 02 A9 */ bl GetAlphaFlick__Q34nw4r2ef8ParticleCFv
/* 800AFD7C 000ABBBC 54 63 06 3E */ clrlwi r3, r3, 24
/* 800AFD80 000ABBC0 88 01 00 13 */ lbz r0, 0x13(r1)
/* 800AFD84 000ABBC4 7C 77 19 D6 */ mullw r3, r23, r3
/* 800AFD88 000ABBC8 38 63 00 FF */ addi r3, r3, 0xff
/* 800AFD8C 000ABBCC 7C 63 01 D6 */ mullw r3, r3, r0
/* 800AFD90 000ABBD0 3A E3 00 FF */ addi r23, r3, 0xff
/* 800AFD94 000ABBD4 56 F7 84 3E */ srwi r23, r23, 16
.global lbl_800AFD98
lbl_800AFD98:
/* 800AFD98 000ABBD8 88 1A 00 03 */ lbz r0, 0x3(r26)
/* 800AFD9C 000ABBDC 38 7F 85 1F */ addi r3, r31, -0x7ae1
/* 800AFDA0 000ABBE0 7C 17 01 D6 */ mullw r0, r23, r0
/* 800AFDA4 000ABBE4 7C 03 00 16 */ mulhwu r0, r3, r0
/* 800AFDA8 000ABBE8 54 00 DE 3E */ extrwi r0, r0, 8, 19
/* 800AFDAC 000ABBEC 98 1D 00 27 */ stb r0, 0x27(r29)
.global lbl_800AFDB0
lbl_800AFDB0:
/* 800AFDB0 000ABBF0 3B 9C 00 01 */ addi r28, r28, 0x1
/* 800AFDB4 000ABBF4 3B BD 00 08 */ addi r29, r29, 0x8
/* 800AFDB8 000ABBF8 2C 1C 00 02 */ cmpwi r28, 0x2
/* 800AFDBC 000ABBFC 3B DE 00 08 */ addi r30, r30, 0x8
/* 800AFDC0 000ABC00 41 80 FE E0 */ blt lbl_800AFCA0
.global lbl_800AFDC4
lbl_800AFDC4:
/* 800AFDC4 000ABC04 88 1A 00 04 */ lbz r0, 0x4(r26)
/* 800AFDC8 000ABC08 2C 00 00 00 */ cmpwi r0, 0x0
/* 800AFDCC 000ABC0C 41 82 00 EC */ beq lbl_800AFEB8
/* 800AFDD0 000ABC10 3C 60 51 EC */ lis r3, 0x51ec
/* 800AFDD4 000ABC14 38 00 00 02 */ li r0, 0x2
/* 800AFDD8 000ABC18 7F 68 DB 78 */ mr r8, r27
/* 800AFDDC 000ABC1C 7F 09 C3 78 */ mr r9, r24
/* 800AFDE0 000ABC20 38 E3 85 1F */ addi r7, r3, -0x7ae1
/* 800AFDE4 000ABC24 7C 09 03 A6 */ mtctr r0
.global lbl_800AFDE8
lbl_800AFDE8:
/* 800AFDE8 000ABC28 88 C8 00 20 */ lbz r6, 0x20(r8)
/* 800AFDEC 000ABC2C 88 BA 00 04 */ lbz r5, 0x4(r26)
/* 800AFDF0 000ABC30 88 68 00 21 */ lbz r3, 0x21(r8)
/* 800AFDF4 000ABC34 7C 86 29 D6 */ mullw r4, r6, r5
/* 800AFDF8 000ABC38 88 08 00 22 */ lbz r0, 0x22(r8)
/* 800AFDFC 000ABC3C 98 61 00 09 */ stb r3, 0x9(r1)
/* 800AFE00 000ABC40 98 01 00 0A */ stb r0, 0xa(r1)
/* 800AFE04 000ABC44 7C 63 29 D6 */ mullw r3, r3, r5
/* 800AFE08 000ABC48 98 C1 00 08 */ stb r6, 0x8(r1)
/* 800AFE0C 000ABC4C 7C 00 29 D6 */ mullw r0, r0, r5
/* 800AFE10 000ABC50 7C 87 20 96 */ mulhw r4, r7, r4
/* 800AFE14 000ABC54 7C 84 2E 70 */ srawi r4, r4, 5
/* 800AFE18 000ABC58 7C 67 18 96 */ mulhw r3, r7, r3
/* 800AFE1C 000ABC5C 54 86 0F FE */ srwi r6, r4, 31
/* 800AFE20 000ABC60 7C 84 32 14 */ add r4, r4, r6
/* 800AFE24 000ABC64 98 89 00 20 */ stb r4, 0x20(r9)
/* 800AFE28 000ABC68 7C 63 2E 70 */ srawi r3, r3, 5
/* 800AFE2C 000ABC6C 7C 07 00 96 */ mulhw r0, r7, r0
/* 800AFE30 000ABC70 54 64 0F FE */ srwi r4, r3, 31
/* 800AFE34 000ABC74 7C 63 22 14 */ add r3, r3, r4
/* 800AFE38 000ABC78 98 69 00 21 */ stb r3, 0x21(r9)
/* 800AFE3C 000ABC7C 7C 00 2E 70 */ srawi r0, r0, 5
/* 800AFE40 000ABC80 54 03 0F FE */ srwi r3, r0, 31
/* 800AFE44 000ABC84 7C 00 1A 14 */ add r0, r0, r3
/* 800AFE48 000ABC88 98 09 00 22 */ stb r0, 0x22(r9)
/* 800AFE4C 000ABC8C 88 C8 00 24 */ lbz r6, 0x24(r8)
/* 800AFE50 000ABC90 88 68 00 25 */ lbz r3, 0x25(r8)
/* 800AFE54 000ABC94 88 08 00 26 */ lbz r0, 0x26(r8)
/* 800AFE58 000ABC98 7C 86 29 D6 */ mullw r4, r6, r5
/* 800AFE5C 000ABC9C 98 61 00 09 */ stb r3, 0x9(r1)
/* 800AFE60 000ABCA0 39 08 00 08 */ addi r8, r8, 0x8
/* 800AFE64 000ABCA4 98 01 00 0A */ stb r0, 0xa(r1)
/* 800AFE68 000ABCA8 7C 63 29 D6 */ mullw r3, r3, r5
/* 800AFE6C 000ABCAC 98 C1 00 08 */ stb r6, 0x8(r1)
/* 800AFE70 000ABCB0 7C 00 29 D6 */ mullw r0, r0, r5
/* 800AFE74 000ABCB4 7C 87 20 96 */ mulhw r4, r7, r4
/* 800AFE78 000ABCB8 7C 84 2E 70 */ srawi r4, r4, 5
/* 800AFE7C 000ABCBC 7C 67 18 96 */ mulhw r3, r7, r3
/* 800AFE80 000ABCC0 54 86 0F FE */ srwi r6, r4, 31
/* 800AFE84 000ABCC4 7C 84 32 14 */ add r4, r4, r6
/* 800AFE88 000ABCC8 98 89 00 24 */ stb r4, 0x24(r9)
/* 800AFE8C 000ABCCC 7C 63 2E 70 */ srawi r3, r3, 5
/* 800AFE90 000ABCD0 7C 07 00 96 */ mulhw r0, r7, r0
/* 800AFE94 000ABCD4 54 64 0F FE */ srwi r4, r3, 31
/* 800AFE98 000ABCD8 7C 63 22 14 */ add r3, r3, r4
/* 800AFE9C 000ABCDC 98 69 00 25 */ stb r3, 0x25(r9)
/* 800AFEA0 000ABCE0 7C 00 2E 70 */ srawi r0, r0, 5
/* 800AFEA4 000ABCE4 54 03 0F FE */ srwi r3, r0, 31
/* 800AFEA8 000ABCE8 7C 00 1A 14 */ add r0, r0, r3
/* 800AFEAC 000ABCEC 98 09 00 26 */ stb r0, 0x26(r9)
/* 800AFEB0 000ABCF0 39 29 00 08 */ addi r9, r9, 0x8
/* 800AFEB4 000ABCF4 42 00 FF 34 */ bdnz lbl_800AFDE8
.global lbl_800AFEB8
lbl_800AFEB8:
/* 800AFEB8 000ABCF8 88 1A 00 07 */ lbz r0, 0x7(r26)
/* 800AFEBC 000ABCFC 54 00 07 BD */ rlwinm. r0, r0, 0, 30, 30
/* 800AFEC0 000ABD00 41 82 01 3C */ beq lbl_800AFFFC
/* 800AFEC4 000ABD04 88 1B 00 9A */ lbz r0, 0x9a(r27)
/* 800AFEC8 000ABD08 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 800AFECC 000ABD0C C8 42 8A C8 */ lfd f2, "@8613_8055EA48"@sda21(r2)
/* 800AFED0 000ABD10 C8 21 00 D0 */ lfd f1, 0xd0(r1)
/* 800AFED4 000ABD14 C0 02 8A E0 */ lfs f0, "@8841"@sda21(r2)
/* 800AFED8 000ABD18 EC 61 10 28 */ fsubs f3, f1, f2
/* 800AFEDC 000ABD1C C0 9B 00 40 */ lfs f4, 0x40(r27)
/* 800AFEE0 000ABD20 C0 42 8A BC */ lfs f2, "@8607"@sda21(r2)
/* 800AFEE4 000ABD24 C0 22 8A B8 */ lfs f1, "@8606"@sda21(r2)
/* 800AFEE8 000ABD28 EC 60 00 F2 */ fmuls f3, f0, f3
/* 800AFEEC 000ABD2C C0 02 8A C0 */ lfs f0, "@8608"@sda21(r2)
/* 800AFEF0 000ABD30 EC 84 18 2A */ fadds f4, f4, f3
/* 800AFEF4 000ABD34 EC 44 10 24 */ fdivs f2, f4, f2
/* 800AFEF8 000ABD38 EC 21 00 B2 */ fmuls f1, f1, f2
/* 800AFEFC 000ABD3C EC 21 00 28 */ fsubs f1, f1, f0
/* 800AFF00 000ABD40 4B F6 3E C5 */ bl ceil
/* 800AFF04 000ABD44 FC 00 08 18 */ frsp f0, f1
/* 800AFF08 000ABD48 C8 A2 8A C8 */ lfd f5, "@8613_8055EA48"@sda21(r2)
/* 800AFF0C 000ABD4C C0 62 8A E0 */ lfs f3, "@8841"@sda21(r2)
/* 800AFF10 000ABD50 C0 42 8A BC */ lfs f2, "@8607"@sda21(r2)
/* 800AFF14 000ABD54 FC 80 00 1E */ fctiwz f4, f0
/* 800AFF18 000ABD58 C0 22 8A B8 */ lfs f1, "@8606"@sda21(r2)
/* 800AFF1C 000ABD5C C0 02 8A C0 */ lfs f0, "@8608"@sda21(r2)
/* 800AFF20 000ABD60 D8 81 00 D8 */ stfd f4, 0xd8(r1)
/* 800AFF24 000ABD64 80 61 00 DC */ lwz r3, 0xdc(r1)
/* 800AFF28 000ABD68 54 60 C0 0E */ slwi r0, r3, 24
/* 800AFF2C 000ABD6C 54 63 0F FE */ srwi r3, r3, 31
/* 800AFF30 000ABD70 7C 03 00 50 */ subf r0, r3, r0
/* 800AFF34 000ABD74 54 00 40 3E */ rotlwi r0, r0, 8
/* 800AFF38 000ABD78 7C 00 1A 14 */ add r0, r0, r3
/* 800AFF3C 000ABD7C 98 18 00 9A */ stb r0, 0x9a(r24)
/* 800AFF40 000ABD80 88 1B 00 9B */ lbz r0, 0x9b(r27)
/* 800AFF44 000ABD84 90 01 00 CC */ stw r0, 0xcc(r1)
/* 800AFF48 000ABD88 C0 DB 00 44 */ lfs f6, 0x44(r27)
/* 800AFF4C 000ABD8C C8 81 00 C8 */ lfd f4, 0xc8(r1)
/* 800AFF50 000ABD90 EC 84 28 28 */ fsubs f4, f4, f5
/* 800AFF54 000ABD94 EC 63 01 32 */ fmuls f3, f3, f4
/* 800AFF58 000ABD98 EC C6 18 2A */ fadds f6, f6, f3
/* 800AFF5C 000ABD9C EC 46 10 24 */ fdivs f2, f6, f2
/* 800AFF60 000ABDA0 EC 21 00 B2 */ fmuls f1, f1, f2
/* 800AFF64 000ABDA4 EC 21 00 28 */ fsubs f1, f1, f0
/* 800AFF68 000ABDA8 4B F6 3E 5D */ bl ceil
/* 800AFF6C 000ABDAC FC 00 08 18 */ frsp f0, f1
/* 800AFF70 000ABDB0 C8 A2 8A C8 */ lfd f5, "@8613_8055EA48"@sda21(r2)
/* 800AFF74 000ABDB4 C0 62 8A E0 */ lfs f3, "@8841"@sda21(r2)
/* 800AFF78 000ABDB8 C0 42 8A BC */ lfs f2, "@8607"@sda21(r2)
/* 800AFF7C 000ABDBC FC 80 00 1E */ fctiwz f4, f0
/* 800AFF80 000ABDC0 C0 22 8A B8 */ lfs f1, "@8606"@sda21(r2)
/* 800AFF84 000ABDC4 C0 02 8A C0 */ lfs f0, "@8608"@sda21(r2)
/* 800AFF88 000ABDC8 D8 81 00 E0 */ stfd f4, 0xe0(r1)
/* 800AFF8C 000ABDCC 80 61 00 E4 */ lwz r3, 0xe4(r1)
/* 800AFF90 000ABDD0 54 60 C0 0E */ slwi r0, r3, 24
/* 800AFF94 000ABDD4 54 63 0F FE */ srwi r3, r3, 31
/* 800AFF98 000ABDD8 7C 03 00 50 */ subf r0, r3, r0
/* 800AFF9C 000ABDDC 54 00 40 3E */ rotlwi r0, r0, 8
/* 800AFFA0 000ABDE0 7C 00 1A 14 */ add r0, r0, r3
/* 800AFFA4 000ABDE4 98 18 00 9B */ stb r0, 0x9b(r24)
/* 800AFFA8 000ABDE8 88 1B 00 9C */ lbz r0, 0x9c(r27)
/* 800AFFAC 000ABDEC 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 800AFFB0 000ABDF0 C0 DB 00 48 */ lfs f6, 0x48(r27)
/* 800AFFB4 000ABDF4 C8 81 00 D0 */ lfd f4, 0xd0(r1)
/* 800AFFB8 000ABDF8 EC 84 28 28 */ fsubs f4, f4, f5
/* 800AFFBC 000ABDFC EC 63 01 32 */ fmuls f3, f3, f4
/* 800AFFC0 000ABE00 EC C6 18 2A */ fadds f6, f6, f3
/* 800AFFC4 000ABE04 EC 46 10 24 */ fdivs f2, f6, f2
/* 800AFFC8 000ABE08 EC 21 00 B2 */ fmuls f1, f1, f2
/* 800AFFCC 000ABE0C EC 21 00 28 */ fsubs f1, f1, f0
/* 800AFFD0 000ABE10 4B F6 3D F5 */ bl ceil
/* 800AFFD4 000ABE14 FC 00 08 18 */ frsp f0, f1
/* 800AFFD8 000ABE18 FC 00 00 1E */ fctiwz f0, f0
/* 800AFFDC 000ABE1C D8 01 00 E8 */ stfd f0, 0xe8(r1)
/* 800AFFE0 000ABE20 80 61 00 EC */ lwz r3, 0xec(r1)
/* 800AFFE4 000ABE24 54 60 C0 0E */ slwi r0, r3, 24
/* 800AFFE8 000ABE28 54 63 0F FE */ srwi r3, r3, 31
/* 800AFFEC 000ABE2C 7C 03 00 50 */ subf r0, r3, r0
/* 800AFFF0 000ABE30 54 00 40 3E */ rotlwi r0, r0, 8
/* 800AFFF4 000ABE34 7C 00 1A 14 */ add r0, r0, r3
/* 800AFFF8 000ABE38 98 18 00 9C */ stb r0, 0x9c(r24)
.global lbl_800AFFFC
lbl_800AFFFC:
/* 800AFFFC 000ABE3C E3 E1 01 28 */ psq_l f31, 0x128(r1), 0, qr0
/* 800B0000 000ABE40 38 60 00 01 */ li r3, 0x1
/* 800B0004 000ABE44 CB E1 01 20 */ lfd f31, 0x120(r1)
/* 800B0008 000ABE48 39 61 01 20 */ addi r11, r1, 0x120
/* 800B000C 000ABE4C 4B F5 73 6D */ bl lbl_80007378
/* 800B0010 000ABE50 80 01 01 34 */ lwz r0, 0x134(r1)
/* 800B0014 000ABE54 7C 08 03 A6 */ mtlr r0
/* 800B0018 000ABE58 38 21 01 30 */ addi r1, r1, 0x130
/* 800B001C 000ABE5C 4E 80 00 20 */ blr
.global GetAlphaFlick__Q34nw4r2ef8ParticleCFv
GetAlphaFlick__Q34nw4r2ef8ParticleCFv:
/* 800B0020 000ABE60 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800B0024 000ABE64 7C 08 02 A6 */ mflr r0
/* 800B0028 000ABE68 80 83 00 C8 */ lwz r4, 0xc8(r3)
/* 800B002C 000ABE6C 90 01 00 34 */ stw r0, 0x34(r1)
/* 800B0030 000ABE70 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 800B0034 000ABE74 93 C1 00 28 */ stw r30, 0x28(r1)
/* 800B0038 000ABE78 83 E4 00 24 */ lwz r31, 0x24(r4)
/* 800B003C 000ABE7C 89 3F 01 0D */ lbz r9, 0x10d(r31)
/* 800B0040 000ABE80 2C 09 00 00 */ cmpwi r9, 0x0
/* 800B0044 000ABE84 40 82 00 0C */ bne lbl_800B0050
/* 800B0048 000ABE88 38 60 00 FF */ li r3, 0xff
/* 800B004C 000ABE8C 48 00 01 F0 */ b lbl_800B023C
.global lbl_800B0050
lbl_800B0050:
/* 800B0050 000ABE90 A1 1F 01 0E */ lhz r8, 0x10e(r31)
/* 800B0054 000ABE94 3C A0 14 A4 */ lis r5, 0x14a4
/* 800B0058 000ABE98 88 1F 01 10 */ lbz r0, 0x110(r31)
/* 800B005C 000ABE9C 38 E5 29 9B */ addi r7, r5, 0x299b
/* 800B0060 000ABEA0 88 C3 00 99 */ lbz r6, 0x99(r3)
/* 800B0064 000ABEA4 3C 80 00 01 */ lis r4, 0x1
/* 800B0068 000ABEA8 7C A0 41 D6 */ mullw r5, r0, r8
/* 800B006C 000ABEAC 38 04 FF FF */ addi r0, r4, -0x1
/* 800B0070 000ABEB0 7C C4 07 74 */ extsb r4, r6
/* 800B0074 000ABEB4 7C 85 21 D6 */ mullw r4, r5, r4
/* 800B0078 000ABEB8 7C 87 20 96 */ mulhw r4, r7, r4
/* 800B007C 000ABEBC 7C 84 56 70 */ srawi r4, r4, 10
/* 800B0080 000ABEC0 54 85 0F FE */ srwi r5, r4, 31
/* 800B0084 000ABEC4 7C 84 2A 14 */ add r4, r4, r5
/* 800B0088 000ABEC8 7C 88 22 14 */ add r4, r8, r4
/* 800B008C 000ABECC 28 04 FF FF */ cmplwi r4, 0xffff
/* 800B0090 000ABED0 41 81 00 08 */ bgt lbl_800B0098
/* 800B0094 000ABED4 54 80 04 3E */ clrlwi r0, r4, 16
.global lbl_800B0098
lbl_800B0098:
/* 800B0098 000ABED8 A0 63 00 DC */ lhz r3, 0xdc(r3)
/* 800B009C 000ABEDC 54 04 04 3E */ clrlwi r4, r0, 16
/* 800B00A0 000ABEE0 2C 09 00 01 */ cmpwi r9, 0x1
/* 800B00A4 000ABEE4 38 A0 00 00 */ li r5, 0x0
/* 800B00A8 000ABEE8 38 63 FF FF */ addi r3, r3, -0x1
/* 800B00AC 000ABEEC 7C 03 23 D6 */ divw r0, r3, r4
/* 800B00B0 000ABEF0 7C 00 21 D6 */ mullw r0, r0, r4
/* 800B00B4 000ABEF4 7C 00 18 50 */ subf r0, r0, r3
/* 800B00B8 000ABEF8 54 06 04 3E */ clrlwi r6, r0, 16
/* 800B00BC 000ABEFC 41 82 00 28 */ beq lbl_800B00E4
/* 800B00C0 000ABF00 2C 09 00 02 */ cmpwi r9, 0x2
/* 800B00C4 000ABF04 41 82 00 78 */ beq lbl_800B013C
/* 800B00C8 000ABF08 2C 09 00 03 */ cmpwi r9, 0x3
/* 800B00CC 000ABF0C 41 82 00 94 */ beq lbl_800B0160
/* 800B00D0 000ABF10 2C 09 00 04 */ cmpwi r9, 0x4
/* 800B00D4 000ABF14 41 82 00 AC */ beq lbl_800B0180
/* 800B00D8 000ABF18 2C 09 00 05 */ cmpwi r9, 0x5
/* 800B00DC 000ABF1C 41 82 00 D0 */ beq lbl_800B01AC
/* 800B00E0 000ABF20 48 00 01 3C */ b lbl_800B021C
.global lbl_800B00E4
lbl_800B00E4:
/* 800B00E4 000ABF24 54 C0 0B FC */ rlwinm r0, r6, 1, 15, 30
/* 800B00E8 000ABF28 7C 00 20 00 */ cmpw r0, r4
/* 800B00EC 000ABF2C 41 81 00 24 */ bgt lbl_800B0110
/* 800B00F0 000ABF30 88 7F 01 11 */ lbz r3, 0x111(r31)
/* 800B00F4 000ABF34 54 C0 13 BA */ rlwinm r0, r6, 2, 14, 29
/* 800B00F8 000ABF38 7C 03 01 D6 */ mullw r0, r3, r0
/* 800B00FC 000ABF3C 20 63 00 80 */ subfic r3, r3, 0x80
/* 800B0100 000ABF40 7C 00 23 D6 */ divw r0, r0, r4
/* 800B0104 000ABF44 7C 03 02 14 */ add r0, r3, r0
/* 800B0108 000ABF48 7C 05 07 34 */ extsh r5, r0
/* 800B010C 000ABF4C 48 00 01 10 */ b lbl_800B021C
.global lbl_800B0110
lbl_800B0110:
/* 800B0110 000ABF50 88 BF 01 11 */ lbz r5, 0x111(r31)
/* 800B0114 000ABF54 7C 05 31 D6 */ mullw r0, r5, r6
/* 800B0118 000ABF58 54 A3 10 3A */ slwi r3, r5, 2
/* 800B011C 000ABF5C 7C 65 18 50 */ subf r3, r5, r3
/* 800B0120 000ABF60 54 00 10 3A */ slwi r0, r0, 2
/* 800B0124 000ABF64 7C 00 00 D0 */ neg r0, r0
/* 800B0128 000ABF68 7C 00 23 D6 */ divw r0, r0, r4
/* 800B012C 000ABF6C 7C 63 02 14 */ add r3, r3, r0
/* 800B0130 000ABF70 38 03 00 80 */ addi r0, r3, 0x80
/* 800B0134 000ABF74 7C 05 07 34 */ extsh r5, r0
/* 800B0138 000ABF78 48 00 00 E4 */ b lbl_800B021C
.global lbl_800B013C
lbl_800B013C:
/* 800B013C 000ABF7C 88 7F 01 11 */ lbz r3, 0x111(r31)
/* 800B0140 000ABF80 7C 03 31 D6 */ mullw r0, r3, r6
/* 800B0144 000ABF84 54 00 08 3C */ slwi r0, r0, 1
/* 800B0148 000ABF88 7C 00 00 D0 */ neg r0, r0
/* 800B014C 000ABF8C 7C 00 23 D6 */ divw r0, r0, r4
/* 800B0150 000ABF90 7C 63 02 14 */ add r3, r3, r0
/* 800B0154 000ABF94 38 03 00 80 */ addi r0, r3, 0x80
/* 800B0158 000ABF98 7C 05 07 34 */ extsh r5, r0
/* 800B015C 000ABF9C 48 00 00 C0 */ b lbl_800B021C
.global lbl_800B0160
lbl_800B0160:
/* 800B0160 000ABFA0 88 7F 01 11 */ lbz r3, 0x111(r31)
/* 800B0164 000ABFA4 54 C0 0B FC */ rlwinm r0, r6, 1, 15, 30
/* 800B0168 000ABFA8 7C 03 01 D6 */ mullw r0, r3, r0
/* 800B016C 000ABFAC 20 63 00 80 */ subfic r3, r3, 0x80
/* 800B0170 000ABFB0 7C 00 23 D6 */ divw r0, r0, r4
/* 800B0174 000ABFB4 7C 03 02 14 */ add r0, r3, r0
/* 800B0178 000ABFB8 7C 05 07 34 */ extsh r5, r0
/* 800B017C 000ABFBC 48 00 00 A0 */ b lbl_800B021C
.global lbl_800B0180
lbl_800B0180:
/* 800B0180 000ABFC0 54 C0 0B FC */ rlwinm r0, r6, 1, 15, 30
/* 800B0184 000ABFC4 7C 00 20 00 */ cmpw r0, r4
/* 800B0188 000ABFC8 41 81 00 14 */ bgt lbl_800B019C
/* 800B018C 000ABFCC 88 7F 01 11 */ lbz r3, 0x111(r31)
/* 800B0190 000ABFD0 38 03 00 80 */ addi r0, r3, 0x80
/* 800B0194 000ABFD4 7C 05 07 34 */ extsh r5, r0
/* 800B0198 000ABFD8 48 00 00 84 */ b lbl_800B021C
.global lbl_800B019C
lbl_800B019C:
/* 800B019C 000ABFDC 88 1F 01 11 */ lbz r0, 0x111(r31)
/* 800B01A0 000ABFE0 20 00 00 80 */ subfic r0, r0, 0x80
/* 800B01A4 000ABFE4 7C 05 07 34 */ extsh r5, r0
/* 800B01A8 000ABFE8 48 00 00 74 */ b lbl_800B021C
.global lbl_800B01AC
lbl_800B01AC:
/* 800B01AC 000ABFEC 3F C0 43 30 */ lis r30, 0x4330
/* 800B01B0 000ABFF0 90 C1 00 0C */ stw r6, 0xc(r1)
/* 800B01B4 000ABFF4 C8 82 8A C8 */ lfd f4, "@8613_8055EA48"@sda21(r2)
/* 800B01B8 000ABFF8 93 C1 00 08 */ stw r30, 0x8(r1)
/* 800B01BC 000ABFFC C0 42 8A F4 */ lfs f2, "@8889"@sda21(r2)
/* 800B01C0 000AC000 C8 01 00 08 */ lfd f0, 0x8(r1)
/* 800B01C4 000AC004 90 81 00 14 */ stw r4, 0x14(r1)
/* 800B01C8 000AC008 EC 60 20 28 */ fsubs f3, f0, f4
/* 800B01CC 000AC00C C0 02 8A F0 */ lfs f0, "@8888_8055EA70"@sda21(r2)
/* 800B01D0 000AC010 93 C1 00 10 */ stw r30, 0x10(r1)
/* 800B01D4 000AC014 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 800B01D8 000AC018 EC 42 00 F2 */ fmuls f2, f2, f3
/* 800B01DC 000AC01C EC 21 20 28 */ fsubs f1, f1, f4
/* 800B01E0 000AC020 EC 22 08 24 */ fdivs f1, f2, f1
/* 800B01E4 000AC024 EC 20 00 72 */ fmuls f1, f0, f1
/* 800B01E8 000AC028 48 04 E8 B9 */ bl SinFIdx__Q24nw4r4mathFf
/* 800B01EC 000AC02C 88 1F 01 11 */ lbz r0, 0x111(r31)
/* 800B01F0 000AC030 90 01 00 1C */ stw r0, 0x1c(r1)
/* 800B01F4 000AC034 C8 62 8A C8 */ lfd f3, "@8613_8055EA48"@sda21(r2)
/* 800B01F8 000AC038 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800B01FC 000AC03C C0 02 8A B8 */ lfs f0, "@8606"@sda21(r2)
/* 800B0200 000AC040 C8 41 00 18 */ lfd f2, 0x18(r1)
/* 800B0204 000AC044 EC 42 18 28 */ fsubs f2, f2, f3
/* 800B0208 000AC048 EC 22 00 72 */ fmuls f1, f2, f1
/* 800B020C 000AC04C EC 00 08 2A */ fadds f0, f0, f1
/* 800B0210 000AC050 FC 00 00 1E */ fctiwz f0, f0
/* 800B0214 000AC054 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 800B0218 000AC058 80 A1 00 24 */ lwz r5, 0x24(r1)
.global lbl_800B021C
lbl_800B021C:
/* 800B021C 000AC05C 7C A0 07 35 */ extsh. r0, r5
/* 800B0220 000AC060 40 80 00 08 */ bge lbl_800B0228
/* 800B0224 000AC064 38 A0 00 00 */ li r5, 0x0
.global lbl_800B0228
lbl_800B0228:
/* 800B0228 000AC068 7C A0 07 34 */ extsh r0, r5
/* 800B022C 000AC06C 2C 00 00 FF */ cmpwi r0, 0xff
/* 800B0230 000AC070 40 81 00 08 */ ble lbl_800B0238
/* 800B0234 000AC074 38 A0 00 FF */ li r5, 0xff
.global lbl_800B0238
lbl_800B0238:
/* 800B0238 000AC078 54 A3 06 3E */ clrlwi r3, r5, 24
.global lbl_800B023C
lbl_800B023C:
/* 800B023C 000AC07C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800B0240 000AC080 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800B0244 000AC084 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 800B0248 000AC088 7C 08 03 A6 */ mtlr r0
/* 800B024C 000AC08C 38 21 00 30 */ addi r1, r1, 0x30
/* 800B0250 000AC090 4E 80 00 20 */ blr
/* 800B0254 000AC094 00 00 00 00 */ .4byte 0x00000000
/* 800B0258 000AC098 00 00 00 00 */ .4byte 0x00000000
/* 800B025C 000AC09C 00 00 00 00 */ .4byte 0x00000000
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global __vt__Q34nw4r2ef8Particle
__vt__Q34nw4r2ef8Particle:
.4byte 0
.4byte 0
.4byte SendClosing__Q34nw4r2ef8ParticleFv
.4byte DestroyFunc__Q34nw4r2ef8ParticleFv
.4byte Initialize__Q34nw4r2ef8ParticleFUsQ34nw4r4math4VEC3Q34nw4r4math4VEC3PQ34nw4r2ef15ParticleManagerPCQ34nw4r4math5MTX34fPCQ34nw4r2ef21EmitterInheritSettingPQ34nw4r2ef8Particle
.4byte 0
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@8602"
"@8602":
.4byte 0x47800000
.global "@8603"
"@8603":
.4byte 0x40000000
.global "@8604"
"@8604":
.4byte 0x3F800000
.global "@8605"
"@8605":
.4byte 0x42C80000
.global "@8606"
"@8606":
.4byte 0x43000000
.global "@8607"
"@8607":
.4byte 0x40490FDB
.global "@8608"
"@8608":
.4byte 0x3F000000
.4byte 0
.global "@8613_8055EA48"
"@8613_8055EA48":
.4byte 0x43300000
.4byte 0
.global "@8192"
"@8192":
.4byte 0xFFFFFFFF
.global "@8194"
"@8194":
.4byte 0xFFFFFFFF
.global "@8839"
"@8839":
.4byte 0
.global "@8840"
"@8840":
.4byte 0x3C23D70A
.global "@8841"
"@8841":
.4byte 0x3CC90FDB
.4byte 0
.global "@8851"
"@8851":
.4byte 0x43300000
.4byte 0x80000000
.global "@8888_8055EA70"
"@8888_8055EA70":
.4byte 0x4222F983
.global "@8889"
"@8889":
.4byte 0x40C90FDB