prime/asm/MetroidPrime/Weapons/CIceProjectile.s

2651 lines
136 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global ExplosionFinished__Q220CIceAttackProjectile12CTrailObjectCFv
ExplosionFinished__Q220CIceAttackProjectile12CTrailObjectCFv:
/* 801F1A68 001EE9C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801F1A6C 001EE9CC 7C 08 02 A6 */ mflr r0
/* 801F1A70 001EE9D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 801F1A74 001EE9D4 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801F1A78 001EE9D8 28 03 00 00 */ cmplwi r3, 0
/* 801F1A7C 001EE9DC 41 82 00 24 */ beq lbl_801F1AA0
/* 801F1A80 001EE9E0 81 83 00 00 */ lwz r12, 0(r3)
/* 801F1A84 001EE9E4 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 801F1A88 001EE9E8 7D 89 03 A6 */ mtctr r12
/* 801F1A8C 001EE9EC 4E 80 04 21 */ bctrl
/* 801F1A90 001EE9F0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801F1A94 001EE9F4 41 82 00 0C */ beq lbl_801F1AA0
/* 801F1A98 001EE9F8 38 60 00 01 */ li r3, 1
/* 801F1A9C 001EE9FC 48 00 00 08 */ b lbl_801F1AA4
lbl_801F1AA0:
/* 801F1AA0 001EEA00 38 60 00 00 */ li r3, 0
lbl_801F1AA4:
/* 801F1AA4 001EEA04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801F1AA8 001EEA08 7C 08 03 A6 */ mtlr r0
/* 801F1AAC 001EEA0C 38 21 00 10 */ addi r1, r1, 0x10
/* 801F1AB0 001EEA10 4E 80 00 20 */ blr
.global ExplosionStarted__Q220CIceAttackProjectile12CTrailObjectCFv
ExplosionStarted__Q220CIceAttackProjectile12CTrailObjectCFv:
/* 801F1AB4 001EEA14 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801F1AB8 001EEA18 7C 03 00 D0 */ neg r0, r3
/* 801F1ABC 001EEA1C 7C 00 1B 78 */ or r0, r0, r3
/* 801F1AC0 001EEA20 54 03 0F FE */ srwi r3, r0, 0x1f
/* 801F1AC4 001EEA24 4E 80 00 20 */ blr
.global AddToRenderer__Q220CIceAttackProjectile12CTrailObjectCFRC14CFrustumPlanesRC13CStateManager
AddToRenderer__Q220CIceAttackProjectile12CTrailObjectCFRC14CFrustumPlanesRC13CStateManager:
/* 801F1AC8 001EEA28 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801F1ACC 001EEA2C 7C 08 02 A6 */ mflr r0
/* 801F1AD0 001EEA30 90 01 00 14 */ stw r0, 0x14(r1)
/* 801F1AD4 001EEA34 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801F1AD8 001EEA38 7C 7F 1B 78 */ mr r31, r3
/* 801F1ADC 001EEA3C 80 03 00 04 */ lwz r0, 4(r3)
/* 801F1AE0 001EEA40 28 00 00 00 */ cmplwi r0, 0
/* 801F1AE4 001EEA44 41 82 00 20 */ beq lbl_801F1B04
/* 801F1AE8 001EEA48 38 7F 00 18 */ addi r3, r31, 0x18
/* 801F1AEC 001EEA4C 4B F1 32 9D */ bl ActivateLights__12CActorLightsCFv
/* 801F1AF0 001EEA50 80 7F 00 04 */ lwz r3, 4(r31)
/* 801F1AF4 001EEA54 81 83 00 00 */ lwz r12, 0(r3)
/* 801F1AF8 001EEA58 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 801F1AFC 001EEA5C 7D 89 03 A6 */ mtctr r12
/* 801F1B00 001EEA60 4E 80 04 21 */ bctrl
lbl_801F1B04:
/* 801F1B04 001EEA64 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 801F1B08 001EEA68 28 03 00 00 */ cmplwi r3, 0
/* 801F1B0C 001EEA6C 41 82 00 14 */ beq lbl_801F1B20
/* 801F1B10 001EEA70 81 83 00 00 */ lwz r12, 0(r3)
/* 801F1B14 001EEA74 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 801F1B18 001EEA78 7D 89 03 A6 */ mtctr r12
/* 801F1B1C 001EEA7C 4E 80 04 21 */ bctrl
lbl_801F1B20:
/* 801F1B20 001EEA80 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801F1B24 001EEA84 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801F1B28 001EEA88 7C 08 03 A6 */ mtlr r0
/* 801F1B2C 001EEA8C 38 21 00 10 */ addi r1, r1, 0x10
/* 801F1B30 001EEA90 4E 80 00 20 */ blr
.global Update__Q220CIceAttackProjectile12CTrailObjectFfR13CStateManagerPC13CPhysicsActor
Update__Q220CIceAttackProjectile12CTrailObjectFfR13CStateManagerPC13CPhysicsActor:
/* 801F1B34 001EEA94 94 21 FD F0 */ stwu r1, -0x210(r1)
/* 801F1B38 001EEA98 7C 08 02 A6 */ mflr r0
/* 801F1B3C 001EEA9C 90 01 02 14 */ stw r0, 0x214(r1)
/* 801F1B40 001EEAA0 DB E1 02 00 */ stfd f31, 0x200(r1)
/* 801F1B44 001EEAA4 F3 E1 02 08 */ psq_st f31, 520(r1), 0, qr0
/* 801F1B48 001EEAA8 DB C1 01 F0 */ stfd f30, 0x1f0(r1)
/* 801F1B4C 001EEAAC F3 C1 01 F8 */ psq_st f30, 504(r1), 0, qr0
/* 801F1B50 001EEAB0 DB A1 01 E0 */ stfd f29, 0x1e0(r1)
/* 801F1B54 001EEAB4 F3 A1 01 E8 */ psq_st f29, 488(r1), 0, qr0
/* 801F1B58 001EEAB8 DB 81 01 D0 */ stfd f28, 0x1d0(r1)
/* 801F1B5C 001EEABC F3 81 01 D8 */ psq_st f28, 472(r1), 0, qr0
/* 801F1B60 001EEAC0 93 E1 01 CC */ stw r31, 0x1cc(r1)
/* 801F1B64 001EEAC4 93 C1 01 C8 */ stw r30, 0x1c8(r1)
/* 801F1B68 001EEAC8 93 A1 01 C4 */ stw r29, 0x1c4(r1)
/* 801F1B6C 001EEACC 93 81 01 C0 */ stw r28, 0x1c0(r1)
/* 801F1B70 001EEAD0 7C 7F 1B 78 */ mr r31, r3
/* 801F1B74 001EEAD4 FF E0 08 90 */ fmr f31, f1
/* 801F1B78 001EEAD8 88 03 03 20 */ lbz r0, 0x320(r3)
/* 801F1B7C 001EEADC 7C 9C 23 78 */ mr r28, r4
/* 801F1B80 001EEAE0 7C BD 2B 78 */ mr r29, r5
/* 801F1B84 001EEAE4 28 00 00 00 */ cmplwi r0, 0
/* 801F1B88 001EEAE8 40 82 00 E4 */ bne lbl_801F1C6C
/* 801F1B8C 001EEAEC A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 801F1B90 001EEAF0 7F 83 E3 78 */ mr r3, r28
/* 801F1B94 001EEAF4 38 81 00 08 */ addi r4, r1, 8
/* 801F1B98 001EEAF8 B0 01 00 08 */ sth r0, 8(r1)
/* 801F1B9C 001EEAFC 4B E5 A9 D9 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801F1BA0 001EEB00 7C 7E 1B 79 */ or. r30, r3, r3
/* 801F1BA4 001EEB04 41 82 00 C8 */ beq lbl_801F1C6C
/* 801F1BA8 001EEB08 7F A4 EB 78 */ mr r4, r29
/* 801F1BAC 001EEB0C 38 61 00 C0 */ addi r3, r1, 0xc0
/* 801F1BB0 001EEB10 81 9D 00 00 */ lwz r12, 0(r29)
/* 801F1BB4 001EEB14 81 8C 00 70 */ lwz r12, 0x70(r12)
/* 801F1BB8 001EEB18 7D 89 03 A6 */ mtctr r12
/* 801F1BBC 001EEB1C 4E 80 04 21 */ bctrl
/* 801F1BC0 001EEB20 7F A3 EB 78 */ mr r3, r29
/* 801F1BC4 001EEB24 81 9D 00 00 */ lwz r12, 0(r29)
/* 801F1BC8 001EEB28 81 8C 00 6C */ lwz r12, 0x6c(r12)
/* 801F1BCC 001EEB2C 7D 89 03 A6 */ mtctr r12
/* 801F1BD0 001EEB30 4E 80 04 21 */ bctrl
/* 801F1BD4 001EEB34 3C 80 80 5A */ lis r4, lbl_8059FD18@ha
/* 801F1BD8 001EEB38 90 61 00 F0 */ stw r3, 0xf0(r1)
/* 801F1BDC 001EEB3C 38 04 FD 18 */ addi r0, r4, lbl_8059FD18@l
/* 801F1BE0 001EEB40 38 61 00 F8 */ addi r3, r1, 0xf8
/* 801F1BE4 001EEB44 90 01 00 F4 */ stw r0, 0xf4(r1)
/* 801F1BE8 001EEB48 38 81 00 C0 */ addi r4, r1, 0xc0
/* 801F1BEC 001EEB4C 48 12 0F 89 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 801F1BF0 001EEB50 7F C4 F3 78 */ mr r4, r30
/* 801F1BF4 001EEB54 38 61 01 28 */ addi r3, r1, 0x128
/* 801F1BF8 001EEB58 81 9E 00 00 */ lwz r12, 0(r30)
/* 801F1BFC 001EEB5C 81 8C 00 70 */ lwz r12, 0x70(r12)
/* 801F1C00 001EEB60 7D 89 03 A6 */ mtctr r12
/* 801F1C04 001EEB64 4E 80 04 21 */ bctrl
/* 801F1C08 001EEB68 7F C3 F3 78 */ mr r3, r30
/* 801F1C0C 001EEB6C 81 9E 00 00 */ lwz r12, 0(r30)
/* 801F1C10 001EEB70 81 8C 00 6C */ lwz r12, 0x6c(r12)
/* 801F1C14 001EEB74 7D 89 03 A6 */ mtctr r12
/* 801F1C18 001EEB78 4E 80 04 21 */ bctrl
/* 801F1C1C 001EEB7C 3C 80 80 5A */ lis r4, lbl_8059FD18@ha
/* 801F1C20 001EEB80 90 61 01 58 */ stw r3, 0x158(r1)
/* 801F1C24 001EEB84 38 04 FD 18 */ addi r0, r4, lbl_8059FD18@l
/* 801F1C28 001EEB88 38 61 01 60 */ addi r3, r1, 0x160
/* 801F1C2C 001EEB8C 90 01 01 5C */ stw r0, 0x15c(r1)
/* 801F1C30 001EEB90 38 81 01 28 */ addi r4, r1, 0x128
/* 801F1C34 001EEB94 48 12 0F 41 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 801F1C38 001EEB98 38 61 01 58 */ addi r3, r1, 0x158
/* 801F1C3C 001EEB9C 38 81 00 F0 */ addi r4, r1, 0xf0
/* 801F1C40 001EEBA0 48 0D CB ED */ bl CollideBoolean__19CCollisionPrimitiveFRCQ227CInternalCollisionStructure9CPrimDescRCQ227CInternalCollisionStructure9CPrimDesc
/* 801F1C44 001EEBA4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801F1C48 001EEBA8 40 82 00 24 */ bne lbl_801F1C6C
/* 801F1C4C 001EEBAC 7F C3 F3 78 */ mr r3, r30
/* 801F1C50 001EEBB0 38 80 00 01 */ li r4, 1
/* 801F1C54 001EEBB4 81 9E 00 00 */ lwz r12, 0(r30)
/* 801F1C58 001EEBB8 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 801F1C5C 001EEBBC 7D 89 03 A6 */ mtctr r12
/* 801F1C60 001EEBC0 4E 80 04 21 */ bctrl
/* 801F1C64 001EEBC4 38 00 00 01 */ li r0, 1
/* 801F1C68 001EEBC8 98 1F 03 20 */ stb r0, 0x320(r31)
lbl_801F1C6C:
/* 801F1C6C 001EEBCC 80 1F 00 04 */ lwz r0, 4(r31)
/* 801F1C70 001EEBD0 28 00 00 00 */ cmplwi r0, 0
/* 801F1C74 001EEBD4 41 82 02 00 */ beq lbl_801F1E74
/* 801F1C78 001EEBD8 80 1F 03 1C */ lwz r0, 0x31c(r31)
/* 801F1C7C 001EEBDC 28 00 00 03 */ cmplwi r0, 3
/* 801F1C80 001EEBE0 40 80 01 F4 */ bge lbl_801F1E74
/* 801F1C84 001EEBE4 C0 1F 03 04 */ lfs f0, 0x304(r31)
/* 801F1C88 001EEBE8 C0 22 AE E0 */ lfs f1, lbl_805ACC00@sda21(r2)
/* 801F1C8C 001EEBEC D0 01 00 54 */ stfs f0, 0x54(r1)
/* 801F1C90 001EEBF0 C0 42 AE E4 */ lfs f2, lbl_805ACC04@sda21(r2)
/* 801F1C94 001EEBF4 C0 1F 03 08 */ lfs f0, 0x308(r31)
/* 801F1C98 001EEBF8 D0 01 00 58 */ stfs f0, 0x58(r1)
/* 801F1C9C 001EEBFC C0 1F 03 0C */ lfs f0, 0x30c(r31)
/* 801F1CA0 001EEC00 D0 01 00 5C */ stfs f0, 0x5c(r1)
/* 801F1CA4 001EEC04 80 7C 09 00 */ lwz r3, 0x900(r28)
/* 801F1CA8 001EEC08 48 12 08 9D */ bl Range__9CRandom16Fff
/* 801F1CAC 001EEC0C C0 01 00 54 */ lfs f0, 0x54(r1)
/* 801F1CB0 001EEC10 C0 42 AE E4 */ lfs f2, lbl_805ACC04@sda21(r2)
/* 801F1CB4 001EEC14 EC 00 08 2A */ fadds f0, f0, f1
/* 801F1CB8 001EEC18 C0 22 AE E0 */ lfs f1, lbl_805ACC00@sda21(r2)
/* 801F1CBC 001EEC1C D0 01 00 54 */ stfs f0, 0x54(r1)
/* 801F1CC0 001EEC20 80 7C 09 00 */ lwz r3, 0x900(r28)
/* 801F1CC4 001EEC24 48 12 08 81 */ bl Range__9CRandom16Fff
/* 801F1CC8 001EEC28 C0 01 00 58 */ lfs f0, 0x58(r1)
/* 801F1CCC 001EEC2C C0 42 AE E4 */ lfs f2, lbl_805ACC04@sda21(r2)
/* 801F1CD0 001EEC30 EC 00 08 2A */ fadds f0, f0, f1
/* 801F1CD4 001EEC34 C0 22 AE E0 */ lfs f1, lbl_805ACC00@sda21(r2)
/* 801F1CD8 001EEC38 D0 01 00 58 */ stfs f0, 0x58(r1)
/* 801F1CDC 001EEC3C 80 7C 09 00 */ lwz r3, 0x900(r28)
/* 801F1CE0 001EEC40 48 12 08 65 */ bl Range__9CRandom16Fff
/* 801F1CE4 001EEC44 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 801F1CE8 001EEC48 C0 62 AE E8 */ lfs f3, lbl_805ACC08@sda21(r2)
/* 801F1CEC 001EEC4C EC 80 08 2A */ fadds f4, f0, f1
/* 801F1CF0 001EEC50 C0 02 AE EC */ lfs f0, lbl_805ACC0C@sda21(r2)
/* 801F1CF4 001EEC54 D0 61 00 30 */ stfs f3, 0x30(r1)
/* 801F1CF8 001EEC58 FC 20 18 90 */ fmr f1, f3
/* 801F1CFC 001EEC5C C0 42 AE F0 */ lfs f2, lbl_805ACC10@sda21(r2)
/* 801F1D00 001EEC60 D0 81 00 5C */ stfs f4, 0x5c(r1)
/* 801F1D04 001EEC64 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 801F1D08 001EEC68 D0 61 00 38 */ stfs f3, 0x38(r1)
/* 801F1D0C 001EEC6C 80 7C 09 00 */ lwz r3, 0x900(r28)
/* 801F1D10 001EEC70 48 12 08 35 */ bl Range__9CRandom16Fff
/* 801F1D14 001EEC74 C0 02 AE F4 */ lfs f0, lbl_805ACC14@sda21(r2)
/* 801F1D18 001EEC78 38 61 00 90 */ addi r3, r1, 0x90
/* 801F1D1C 001EEC7C 38 81 00 0C */ addi r4, r1, 0xc
/* 801F1D20 001EEC80 EC 00 00 72 */ fmuls f0, f0, f1
/* 801F1D24 001EEC84 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 801F1D28 001EEC88 48 12 1A E9 */ bl RotateZ__12CTransform4fFRC9CRelAngle
/* 801F1D2C 001EEC8C 38 61 00 3C */ addi r3, r1, 0x3c
/* 801F1D30 001EEC90 38 81 00 90 */ addi r4, r1, 0x90
/* 801F1D34 001EEC94 38 A1 00 30 */ addi r5, r1, 0x30
/* 801F1D38 001EEC98 48 12 0D B1 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 801F1D3C 001EEC9C C0 41 00 3C */ lfs f2, 0x3c(r1)
/* 801F1D40 001EECA0 38 61 00 24 */ addi r3, r1, 0x24
/* 801F1D44 001EECA4 C0 21 00 40 */ lfs f1, 0x40(r1)
/* 801F1D48 001EECA8 38 81 00 54 */ addi r4, r1, 0x54
/* 801F1D4C 001EECAC C0 01 00 44 */ lfs f0, 0x44(r1)
/* 801F1D50 001EECB0 D0 41 00 48 */ stfs f2, 0x48(r1)
/* 801F1D54 001EECB4 D0 21 00 4C */ stfs f1, 0x4c(r1)
/* 801F1D58 001EECB8 D0 01 00 50 */ stfs f0, 0x50(r1)
/* 801F1D5C 001EECBC 48 12 2A F5 */ bl AsNormalized__9CVector3fCFv
/* 801F1D60 001EECC0 3C 80 80 5A */ lis r4, skZero3f@ha
/* 801F1D64 001EECC4 38 61 00 60 */ addi r3, r1, 0x60
/* 801F1D68 001EECC8 38 84 66 A0 */ addi r4, r4, skZero3f@l
/* 801F1D6C 001EECCC 38 A1 00 24 */ addi r5, r1, 0x24
/* 801F1D70 001EECD0 38 C1 00 48 */ addi r6, r1, 0x48
/* 801F1D74 001EECD4 48 12 1D 9D */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f
/* 801F1D78 001EECD8 38 61 01 90 */ addi r3, r1, 0x190
/* 801F1D7C 001EECDC 38 81 00 60 */ addi r4, r1, 0x60
/* 801F1D80 001EECE0 48 12 0D F5 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 801F1D84 001EECE4 38 7F 03 10 */ addi r3, r31, 0x310
/* 801F1D88 001EECE8 48 12 2B 31 */ bl Magnitude__9CVector3fCFv
/* 801F1D8C 001EECEC FF 80 08 90 */ fmr f28, f1
/* 801F1D90 001EECF0 80 7C 09 00 */ lwz r3, 0x900(r28)
/* 801F1D94 001EECF4 FF A0 E0 50 */ fneg f29, f28
/* 801F1D98 001EECF8 FC 40 E0 90 */ fmr f2, f28
/* 801F1D9C 001EECFC FC 20 E8 90 */ fmr f1, f29
/* 801F1DA0 001EED00 48 12 07 A5 */ bl Range__9CRandom16Fff
/* 801F1DA4 001EED04 FF C0 08 90 */ fmr f30, f1
/* 801F1DA8 001EED08 80 7C 09 00 */ lwz r3, 0x900(r28)
/* 801F1DAC 001EED0C FC 20 E8 90 */ fmr f1, f29
/* 801F1DB0 001EED10 FC 40 E0 90 */ fmr f2, f28
/* 801F1DB4 001EED14 48 12 07 91 */ bl Range__9CRandom16Fff
/* 801F1DB8 001EED18 C0 5F 02 FC */ lfs f2, 0x2fc(r31)
/* 801F1DBC 001EED1C 38 81 00 18 */ addi r4, r1, 0x18
/* 801F1DC0 001EED20 C0 1F 02 F8 */ lfs f0, 0x2f8(r31)
/* 801F1DC4 001EED24 C0 7F 03 00 */ lfs f3, 0x300(r31)
/* 801F1DC8 001EED28 EC 82 F0 2A */ fadds f4, f2, f30
/* 801F1DCC 001EED2C C0 42 AE F8 */ lfs f2, lbl_805ACC18@sda21(r2)
/* 801F1DD0 001EED30 EC 00 08 2A */ fadds f0, f0, f1
/* 801F1DD4 001EED34 EC 23 10 2A */ fadds f1, f3, f2
/* 801F1DD8 001EED38 D0 81 00 1C */ stfs f4, 0x1c(r1)
/* 801F1DDC 001EED3C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 801F1DE0 001EED40 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 801F1DE4 001EED44 80 7F 00 04 */ lwz r3, 4(r31)
/* 801F1DE8 001EED48 81 83 00 00 */ lwz r12, 0(r3)
/* 801F1DEC 001EED4C 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 801F1DF0 001EED50 7D 89 03 A6 */ mtctr r12
/* 801F1DF4 001EED54 4E 80 04 21 */ bctrl
/* 801F1DF8 001EED58 80 7F 00 04 */ lwz r3, 4(r31)
/* 801F1DFC 001EED5C 38 81 01 90 */ addi r4, r1, 0x190
/* 801F1E00 001EED60 81 83 00 00 */ lwz r12, 0(r3)
/* 801F1E04 001EED64 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 801F1E08 001EED68 7D 89 03 A6 */ mtctr r12
/* 801F1E0C 001EED6C 4E 80 04 21 */ bctrl
/* 801F1E10 001EED70 80 7F 00 04 */ lwz r3, 4(r31)
/* 801F1E14 001EED74 38 80 00 01 */ li r4, 1
/* 801F1E18 001EED78 48 12 AA A9 */ bl ForceParticleCreation__11CElementGenFi
/* 801F1E1C 001EED7C 80 7F 00 04 */ lwz r3, 4(r31)
/* 801F1E20 001EED80 3C 80 80 5A */ lis r4, skIdentity4f@ha
/* 801F1E24 001EED84 38 84 66 70 */ addi r4, r4, skIdentity4f@l
/* 801F1E28 001EED88 81 83 00 00 */ lwz r12, 0(r3)
/* 801F1E2C 001EED8C 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 801F1E30 001EED90 7D 89 03 A6 */ mtctr r12
/* 801F1E34 001EED94 4E 80 04 21 */ bctrl
/* 801F1E38 001EED98 80 7F 03 1C */ lwz r3, 0x31c(r31)
/* 801F1E3C 001EED9C 38 03 00 01 */ addi r0, r3, 1
/* 801F1E40 001EEDA0 90 1F 03 1C */ stw r0, 0x31c(r31)
/* 801F1E44 001EEDA4 C0 3F 02 F8 */ lfs f1, 0x2f8(r31)
/* 801F1E48 001EEDA8 C0 1F 03 10 */ lfs f0, 0x310(r31)
/* 801F1E4C 001EEDAC EC 01 00 2A */ fadds f0, f1, f0
/* 801F1E50 001EEDB0 D0 1F 02 F8 */ stfs f0, 0x2f8(r31)
/* 801F1E54 001EEDB4 C0 3F 02 FC */ lfs f1, 0x2fc(r31)
/* 801F1E58 001EEDB8 C0 1F 03 14 */ lfs f0, 0x314(r31)
/* 801F1E5C 001EEDBC EC 01 00 2A */ fadds f0, f1, f0
/* 801F1E60 001EEDC0 D0 1F 02 FC */ stfs f0, 0x2fc(r31)
/* 801F1E64 001EEDC4 C0 3F 03 00 */ lfs f1, 0x300(r31)
/* 801F1E68 001EEDC8 C0 1F 03 18 */ lfs f0, 0x318(r31)
/* 801F1E6C 001EEDCC EC 01 00 2A */ fadds f0, f1, f0
/* 801F1E70 001EEDD0 D0 1F 03 00 */ stfs f0, 0x300(r31)
lbl_801F1E74:
/* 801F1E74 001EEDD4 80 7F 00 04 */ lwz r3, 4(r31)
/* 801F1E78 001EEDD8 28 03 00 00 */ cmplwi r3, 0
/* 801F1E7C 001EEDDC 41 82 00 34 */ beq lbl_801F1EB0
/* 801F1E80 001EEDE0 C0 3F 00 14 */ lfs f1, 0x14(r31)
/* 801F1E84 001EEDE4 C0 02 AE FC */ lfs f0, lbl_805ACC1C@sda21(r2)
/* 801F1E88 001EEDE8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801F1E8C 001EEDEC 41 80 00 10 */ blt lbl_801F1E9C
/* 801F1E90 001EEDF0 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 801F1E94 001EEDF4 28 00 00 00 */ cmplwi r0, 0
/* 801F1E98 001EEDF8 41 82 00 18 */ beq lbl_801F1EB0
lbl_801F1E9C:
/* 801F1E9C 001EEDFC 81 83 00 00 */ lwz r12, 0(r3)
/* 801F1EA0 001EEE00 FC 20 F8 90 */ fmr f1, f31
/* 801F1EA4 001EEE04 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801F1EA8 001EEE08 7D 89 03 A6 */ mtctr r12
/* 801F1EAC 001EEE0C 4E 80 04 21 */ bctrl
lbl_801F1EB0:
/* 801F1EB0 001EEE10 C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 801F1EB4 001EEE14 EC 00 F8 2A */ fadds f0, f0, f31
/* 801F1EB8 001EEE18 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 801F1EBC 001EEE1C 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 801F1EC0 001EEE20 28 03 00 00 */ cmplwi r3, 0
/* 801F1EC4 001EEE24 41 82 00 EC */ beq lbl_801F1FB0
/* 801F1EC8 001EEE28 81 83 00 00 */ lwz r12, 0(r3)
/* 801F1ECC 001EEE2C FC 20 F8 90 */ fmr f1, f31
/* 801F1ED0 001EEE30 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801F1ED4 001EEE34 7D 89 03 A6 */ mtctr r12
/* 801F1ED8 001EEE38 4E 80 04 21 */ bctrl
/* 801F1EDC 001EEE3C 80 7F 00 04 */ lwz r3, 4(r31)
/* 801F1EE0 001EEE40 28 03 00 00 */ cmplwi r3, 0
/* 801F1EE4 001EEE44 41 82 00 CC */ beq lbl_801F1FB0
/* 801F1EE8 001EEE48 81 83 00 00 */ lwz r12, 0(r3)
/* 801F1EEC 001EEE4C 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 801F1EF0 001EEE50 7D 89 03 A6 */ mtctr r12
/* 801F1EF4 001EEE54 4E 80 04 21 */ bctrl
/* 801F1EF8 001EEE58 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801F1EFC 001EEE5C 41 82 00 B4 */ beq lbl_801F1FB0
/* 801F1F00 001EEE60 38 00 00 00 */ li r0, 0
/* 801F1F04 001EEE64 98 1F 00 00 */ stb r0, 0(r31)
/* 801F1F08 001EEE68 80 7F 00 04 */ lwz r3, 4(r31)
/* 801F1F0C 001EEE6C 28 03 00 00 */ cmplwi r3, 0
/* 801F1F10 001EEE70 41 82 00 18 */ beq lbl_801F1F28
/* 801F1F14 001EEE74 81 83 00 00 */ lwz r12, 0(r3)
/* 801F1F18 001EEE78 38 80 00 01 */ li r4, 1
/* 801F1F1C 001EEE7C 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F1F20 001EEE80 7D 89 03 A6 */ mtctr r12
/* 801F1F24 001EEE84 4E 80 04 21 */ bctrl
lbl_801F1F28:
/* 801F1F28 001EEE88 38 01 00 10 */ addi r0, r1, 0x10
/* 801F1F2C 001EEE8C 38 60 00 00 */ li r3, 0
/* 801F1F30 001EEE90 7C 00 F8 40 */ cmplw r0, r31
/* 801F1F34 001EEE94 98 61 00 10 */ stb r3, 0x10(r1)
/* 801F1F38 001EEE98 90 61 00 14 */ stw r3, 0x14(r1)
/* 801F1F3C 001EEE9C 41 82 00 48 */ beq lbl_801F1F84
/* 801F1F40 001EEEA0 88 1F 00 00 */ lbz r0, 0(r31)
/* 801F1F44 001EEEA4 28 00 00 00 */ cmplwi r0, 0
/* 801F1F48 001EEEA8 41 82 00 24 */ beq lbl_801F1F6C
/* 801F1F4C 001EEEAC 80 7F 00 04 */ lwz r3, 4(r31)
/* 801F1F50 001EEEB0 28 03 00 00 */ cmplwi r3, 0
/* 801F1F54 001EEEB4 41 82 00 18 */ beq lbl_801F1F6C
/* 801F1F58 001EEEB8 81 83 00 00 */ lwz r12, 0(r3)
/* 801F1F5C 001EEEBC 38 80 00 01 */ li r4, 1
/* 801F1F60 001EEEC0 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F1F64 001EEEC4 7D 89 03 A6 */ mtctr r12
/* 801F1F68 001EEEC8 4E 80 04 21 */ bctrl
lbl_801F1F6C:
/* 801F1F6C 001EEECC 88 61 00 10 */ lbz r3, 0x10(r1)
/* 801F1F70 001EEED0 38 00 00 00 */ li r0, 0
/* 801F1F74 001EEED4 98 7F 00 00 */ stb r3, 0(r31)
/* 801F1F78 001EEED8 80 61 00 14 */ lwz r3, 0x14(r1)
/* 801F1F7C 001EEEDC 90 7F 00 04 */ stw r3, 4(r31)
/* 801F1F80 001EEEE0 98 01 00 10 */ stb r0, 0x10(r1)
lbl_801F1F84:
/* 801F1F84 001EEEE4 88 01 00 10 */ lbz r0, 0x10(r1)
/* 801F1F88 001EEEE8 28 00 00 00 */ cmplwi r0, 0
/* 801F1F8C 001EEEEC 41 82 00 24 */ beq lbl_801F1FB0
/* 801F1F90 001EEEF0 80 61 00 14 */ lwz r3, 0x14(r1)
/* 801F1F94 001EEEF4 28 03 00 00 */ cmplwi r3, 0
/* 801F1F98 001EEEF8 41 82 00 18 */ beq lbl_801F1FB0
/* 801F1F9C 001EEEFC 81 83 00 00 */ lwz r12, 0(r3)
/* 801F1FA0 001EEF00 38 80 00 01 */ li r4, 1
/* 801F1FA4 001EEF04 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F1FA8 001EEF08 7D 89 03 A6 */ mtctr r12
/* 801F1FAC 001EEF0C 4E 80 04 21 */ bctrl
lbl_801F1FB0:
/* 801F1FB0 001EEF10 E3 E1 02 08 */ psq_l f31, 520(r1), 0, qr0
/* 801F1FB4 001EEF14 CB E1 02 00 */ lfd f31, 0x200(r1)
/* 801F1FB8 001EEF18 E3 C1 01 F8 */ psq_l f30, 504(r1), 0, qr0
/* 801F1FBC 001EEF1C CB C1 01 F0 */ lfd f30, 0x1f0(r1)
/* 801F1FC0 001EEF20 E3 A1 01 E8 */ psq_l f29, 488(r1), 0, qr0
/* 801F1FC4 001EEF24 CB A1 01 E0 */ lfd f29, 0x1e0(r1)
/* 801F1FC8 001EEF28 E3 81 01 D8 */ psq_l f28, 472(r1), 0, qr0
/* 801F1FCC 001EEF2C CB 81 01 D0 */ lfd f28, 0x1d0(r1)
/* 801F1FD0 001EEF30 83 E1 01 CC */ lwz r31, 0x1cc(r1)
/* 801F1FD4 001EEF34 83 C1 01 C8 */ lwz r30, 0x1c8(r1)
/* 801F1FD8 001EEF38 83 A1 01 C4 */ lwz r29, 0x1c4(r1)
/* 801F1FDC 001EEF3C 80 01 02 14 */ lwz r0, 0x214(r1)
/* 801F1FE0 001EEF40 83 81 01 C0 */ lwz r28, 0x1c0(r1)
/* 801F1FE4 001EEF44 7C 08 03 A6 */ mtlr r0
/* 801F1FE8 001EEF48 38 21 02 10 */ addi r1, r1, 0x210
/* 801F1FEC 001EEF4C 4E 80 00 20 */ blr
.global DeleteCollisionObject__Q220CIceAttackProjectile12CTrailObjectFR13CStateManager
DeleteCollisionObject__Q220CIceAttackProjectile12CTrailObjectFR13CStateManager:
/* 801F1FF0 001EEF50 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801F1FF4 001EEF54 7C 08 02 A6 */ mflr r0
/* 801F1FF8 001EEF58 90 01 00 24 */ stw r0, 0x24(r1)
/* 801F1FFC 001EEF5C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801F2000 001EEF60 7C 7F 1B 78 */ mr r31, r3
/* 801F2004 001EEF64 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 801F2008 001EEF68 A0 63 00 10 */ lhz r3, 0x10(r3)
/* 801F200C 001EEF6C 7C 03 00 40 */ cmplw r3, r0
/* 801F2010 001EEF70 41 82 00 20 */ beq lbl_801F2030
/* 801F2014 001EEF74 A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 801F2018 001EEF78 7C 83 23 78 */ mr r3, r4
/* 801F201C 001EEF7C 38 81 00 08 */ addi r4, r1, 8
/* 801F2020 001EEF80 B0 01 00 08 */ sth r0, 8(r1)
/* 801F2024 001EEF84 4B E5 A2 49 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 801F2028 001EEF88 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 801F202C 001EEF8C B0 1F 00 10 */ sth r0, 0x10(r31)
lbl_801F2030:
/* 801F2030 001EEF90 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801F2034 001EEF94 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801F2038 001EEF98 7C 08 03 A6 */ mtlr r0
/* 801F203C 001EEF9C 38 21 00 20 */ addi r1, r1, 0x20
/* 801F2040 001EEFA0 4E 80 00 20 */ blr
.global StartExplosion__Q220CIceAttackProjectile12CTrailObjectFP11CElementGenR13CStateManager
StartExplosion__Q220CIceAttackProjectile12CTrailObjectFP11CElementGenR13CStateManager:
/* 801F2044 001EEFA4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801F2048 001EEFA8 7C 08 02 A6 */ mflr r0
/* 801F204C 001EEFAC 90 01 00 34 */ stw r0, 0x34(r1)
/* 801F2050 001EEFB0 7C 04 00 D0 */ neg r0, r4
/* 801F2054 001EEFB4 7C 06 23 78 */ or r6, r0, r4
/* 801F2058 001EEFB8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801F205C 001EEFBC 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801F2060 001EEFC0 7C BE 2B 78 */ mr r30, r5
/* 801F2064 001EEFC4 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801F2068 001EEFC8 7C 7D 1B 78 */ mr r29, r3
/* 801F206C 001EEFCC 38 61 00 08 */ addi r3, r1, 8
/* 801F2070 001EEFD0 38 1D 00 08 */ addi r0, r29, 8
/* 801F2074 001EEFD4 90 81 00 0C */ stw r4, 0xc(r1)
/* 801F2078 001EEFD8 54 C4 0F FE */ srwi r4, r6, 0x1f
/* 801F207C 001EEFDC 7C 03 00 40 */ cmplw r3, r0
/* 801F2080 001EEFE0 98 81 00 08 */ stb r4, 8(r1)
/* 801F2084 001EEFE4 41 82 00 48 */ beq lbl_801F20CC
/* 801F2088 001EEFE8 88 1D 00 08 */ lbz r0, 8(r29)
/* 801F208C 001EEFEC 28 00 00 00 */ cmplwi r0, 0
/* 801F2090 001EEFF0 41 82 00 24 */ beq lbl_801F20B4
/* 801F2094 001EEFF4 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 801F2098 001EEFF8 28 03 00 00 */ cmplwi r3, 0
/* 801F209C 001EEFFC 41 82 00 18 */ beq lbl_801F20B4
/* 801F20A0 001EF000 81 83 00 00 */ lwz r12, 0(r3)
/* 801F20A4 001EF004 38 80 00 01 */ li r4, 1
/* 801F20A8 001EF008 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F20AC 001EF00C 7D 89 03 A6 */ mtctr r12
/* 801F20B0 001EF010 4E 80 04 21 */ bctrl
lbl_801F20B4:
/* 801F20B4 001EF014 88 61 00 08 */ lbz r3, 8(r1)
/* 801F20B8 001EF018 38 00 00 00 */ li r0, 0
/* 801F20BC 001EF01C 98 7D 00 08 */ stb r3, 8(r29)
/* 801F20C0 001EF020 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801F20C4 001EF024 90 7D 00 0C */ stw r3, 0xc(r29)
/* 801F20C8 001EF028 98 01 00 08 */ stb r0, 8(r1)
lbl_801F20CC:
/* 801F20CC 001EF02C 88 01 00 08 */ lbz r0, 8(r1)
/* 801F20D0 001EF030 28 00 00 00 */ cmplwi r0, 0
/* 801F20D4 001EF034 41 82 00 24 */ beq lbl_801F20F8
/* 801F20D8 001EF038 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801F20DC 001EF03C 28 03 00 00 */ cmplwi r3, 0
/* 801F20E0 001EF040 41 82 00 18 */ beq lbl_801F20F8
/* 801F20E4 001EF044 81 83 00 00 */ lwz r12, 0(r3)
/* 801F20E8 001EF048 38 80 00 01 */ li r4, 1
/* 801F20EC 001EF04C 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F20F0 001EF050 7D 89 03 A6 */ mtctr r12
/* 801F20F4 001EF054 4E 80 04 21 */ bctrl
lbl_801F20F8:
/* 801F20F8 001EF058 80 7D 00 04 */ lwz r3, 4(r29)
/* 801F20FC 001EF05C 83 FD 00 0C */ lwz r31, 0xc(r29)
/* 801F2100 001EF060 81 83 00 00 */ lwz r12, 0(r3)
/* 801F2104 001EF064 81 8C 00 38 */ lwz r12, 0x38(r12)
/* 801F2108 001EF068 7D 89 03 A6 */ mtctr r12
/* 801F210C 001EF06C 4E 80 04 21 */ bctrl
/* 801F2110 001EF070 81 9F 00 00 */ lwz r12, 0(r31)
/* 801F2114 001EF074 7C 64 1B 78 */ mr r4, r3
/* 801F2118 001EF078 7F E3 FB 78 */ mr r3, r31
/* 801F211C 001EF07C 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 801F2120 001EF080 7D 89 03 A6 */ mtctr r12
/* 801F2124 001EF084 4E 80 04 21 */ bctrl
/* 801F2128 001EF088 80 7D 00 04 */ lwz r3, 4(r29)
/* 801F212C 001EF08C 81 83 00 00 */ lwz r12, 0(r3)
/* 801F2130 001EF090 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 801F2134 001EF094 7D 89 03 A6 */ mtctr r12
/* 801F2138 001EF098 4E 80 04 21 */ bctrl
/* 801F213C 001EF09C C0 23 00 04 */ lfs f1, 4(r3)
/* 801F2140 001EF0A0 38 81 00 10 */ addi r4, r1, 0x10
/* 801F2144 001EF0A4 C0 62 AE E8 */ lfs f3, lbl_805ACC08@sda21(r2)
/* 801F2148 001EF0A8 C0 03 00 00 */ lfs f0, 0(r3)
/* 801F214C 001EF0AC C0 43 00 08 */ lfs f2, 8(r3)
/* 801F2150 001EF0B0 EC 81 18 2A */ fadds f4, f1, f3
/* 801F2154 001EF0B4 C0 22 AF 00 */ lfs f1, lbl_805ACC20@sda21(r2)
/* 801F2158 001EF0B8 EC 00 18 2A */ fadds f0, f0, f3
/* 801F215C 001EF0BC EC 22 08 2A */ fadds f1, f2, f1
/* 801F2160 001EF0C0 D0 81 00 14 */ stfs f4, 0x14(r1)
/* 801F2164 001EF0C4 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 801F2168 001EF0C8 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 801F216C 001EF0CC 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 801F2170 001EF0D0 81 83 00 00 */ lwz r12, 0(r3)
/* 801F2174 001EF0D4 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 801F2178 001EF0D8 7D 89 03 A6 */ mtctr r12
/* 801F217C 001EF0DC 4E 80 04 21 */ bctrl
/* 801F2180 001EF0E0 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 801F2184 001EF0E4 38 80 00 01 */ li r4, 1
/* 801F2188 001EF0E8 81 83 00 00 */ lwz r12, 0(r3)
/* 801F218C 001EF0EC 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 801F2190 001EF0F0 7D 89 03 A6 */ mtctr r12
/* 801F2194 001EF0F4 4E 80 04 21 */ bctrl
/* 801F2198 001EF0F8 7F A3 EB 78 */ mr r3, r29
/* 801F219C 001EF0FC 7F C4 F3 78 */ mr r4, r30
/* 801F21A0 001EF100 4B FF FE 51 */ bl DeleteCollisionObject__Q220CIceAttackProjectile12CTrailObjectFR13CStateManager
/* 801F21A4 001EF104 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801F21A8 001EF108 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801F21AC 001EF10C 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801F21B0 001EF110 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 801F21B4 001EF114 7C 08 03 A6 */ mtlr r0
/* 801F21B8 001EF118 38 21 00 30 */ addi r1, r1, 0x30
/* 801F21BC 001EF11C 4E 80 00 20 */ blr
.global GetTranslation__11CElementGenCFv
GetTranslation__11CElementGenCFv:
/* 801F21C0 001EF120 38 63 00 DC */ addi r3, r3, 0xdc
/* 801F21C4 001EF124 4E 80 00 20 */ blr
.global GetOrientation__11CElementGenCFv
GetOrientation__11CElementGenCFv:
/* 801F21C8 001EF128 38 63 01 D8 */ addi r3, r3, 0x1d8
/* 801F21CC 001EF12C 4E 80 00 20 */ blr
.global __ct__Q220CIceAttackProjectile12CTrailObjectFP11CElementGen9TUniqueIdRC9CVector3fRC9CVector3fRC9CVector3f
__ct__Q220CIceAttackProjectile12CTrailObjectFP11CElementGen9TUniqueIdRC9CVector3fRC9CVector3fRC9CVector3f:
/* 801F21D0 001EF130 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801F21D4 001EF134 7C 08 02 A6 */ mflr r0
/* 801F21D8 001EF138 C0 42 AE E8 */ lfs f2, lbl_805ACC08@sda21(r2)
/* 801F21DC 001EF13C 39 20 00 00 */ li r9, 0
/* 801F21E0 001EF140 90 01 00 34 */ stw r0, 0x34(r1)
/* 801F21E4 001EF144 7C 04 00 D0 */ neg r0, r4
/* 801F21E8 001EF148 7C 00 23 78 */ or r0, r0, r4
/* 801F21EC 001EF14C C0 02 AE EC */ lfs f0, lbl_805ACC0C@sda21(r2)
/* 801F21F0 001EF150 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801F21F4 001EF154 7D 1F 43 78 */ mr r31, r8
/* 801F21F8 001EF158 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801F21FC 001EF15C C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 801F2200 001EF160 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801F2204 001EF164 7C FE 3B 78 */ mr r30, r7
/* 801F2208 001EF168 38 E0 00 04 */ li r7, 4
/* 801F220C 001EF16C 39 00 00 00 */ li r8, 0
/* 801F2210 001EF170 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801F2214 001EF174 7C DD 33 78 */ mr r29, r6
/* 801F2218 001EF178 38 C0 00 04 */ li r6, 4
/* 801F221C 001EF17C 39 40 00 00 */ li r10, 0
/* 801F2220 001EF180 93 81 00 20 */ stw r28, 0x20(r1)
/* 801F2224 001EF184 7C 7C 1B 78 */ mr r28, r3
/* 801F2228 001EF188 98 03 00 00 */ stb r0, 0(r3)
/* 801F222C 001EF18C 38 00 00 00 */ li r0, 0
/* 801F2230 001EF190 90 83 00 04 */ stw r4, 4(r3)
/* 801F2234 001EF194 38 7C 00 18 */ addi r3, r28, 0x18
/* 801F2238 001EF198 38 80 00 01 */ li r4, 1
/* 801F223C 001EF19C 98 1C 00 08 */ stb r0, 8(r28)
/* 801F2240 001EF1A0 90 1C 00 0C */ stw r0, 0xc(r28)
/* 801F2244 001EF1A4 A0 05 00 00 */ lhz r0, 0(r5)
/* 801F2248 001EF1A8 38 A1 00 14 */ addi r5, r1, 0x14
/* 801F224C 001EF1AC D0 41 00 08 */ stfs f2, 8(r1)
/* 801F2250 001EF1B0 B0 1C 00 10 */ sth r0, 0x10(r28)
/* 801F2254 001EF1B4 81 81 00 08 */ lwz r12, 8(r1)
/* 801F2258 001EF1B8 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 801F225C 001EF1BC D0 01 00 10 */ stfs f0, 0x10(r1)
/* 801F2260 001EF1C0 81 61 00 0C */ lwz r11, 0xc(r1)
/* 801F2264 001EF1C4 D0 5C 00 14 */ stfs f2, 0x14(r28)
/* 801F2268 001EF1C8 80 01 00 10 */ lwz r0, 0x10(r1)
/* 801F226C 001EF1CC 91 81 00 14 */ stw r12, 0x14(r1)
/* 801F2270 001EF1D0 91 61 00 18 */ stw r11, 0x18(r1)
/* 801F2274 001EF1D4 90 01 00 1C */ stw r0, 0x1c(r1)
/* 801F2278 001EF1D8 4B F1 2F 55 */ bl __ct__12CActorLightsFUi9CVector3fiif
/* 801F227C 001EF1DC C0 1D 00 00 */ lfs f0, 0(r29)
/* 801F2280 001EF1E0 38 00 00 00 */ li r0, 0
/* 801F2284 001EF1E4 7F 83 E3 78 */ mr r3, r28
/* 801F2288 001EF1E8 D0 1C 02 F8 */ stfs f0, 0x2f8(r28)
/* 801F228C 001EF1EC C0 1D 00 04 */ lfs f0, 4(r29)
/* 801F2290 001EF1F0 D0 1C 02 FC */ stfs f0, 0x2fc(r28)
/* 801F2294 001EF1F4 C0 1D 00 08 */ lfs f0, 8(r29)
/* 801F2298 001EF1F8 D0 1C 03 00 */ stfs f0, 0x300(r28)
/* 801F229C 001EF1FC C0 1E 00 00 */ lfs f0, 0(r30)
/* 801F22A0 001EF200 D0 1C 03 04 */ stfs f0, 0x304(r28)
/* 801F22A4 001EF204 C0 1E 00 04 */ lfs f0, 4(r30)
/* 801F22A8 001EF208 D0 1C 03 08 */ stfs f0, 0x308(r28)
/* 801F22AC 001EF20C C0 1E 00 08 */ lfs f0, 8(r30)
/* 801F22B0 001EF210 D0 1C 03 0C */ stfs f0, 0x30c(r28)
/* 801F22B4 001EF214 C0 1F 00 00 */ lfs f0, 0(r31)
/* 801F22B8 001EF218 D0 1C 03 10 */ stfs f0, 0x310(r28)
/* 801F22BC 001EF21C C0 1F 00 04 */ lfs f0, 4(r31)
/* 801F22C0 001EF220 D0 1C 03 14 */ stfs f0, 0x314(r28)
/* 801F22C4 001EF224 C0 1F 00 08 */ lfs f0, 8(r31)
/* 801F22C8 001EF228 D0 1C 03 18 */ stfs f0, 0x318(r28)
/* 801F22CC 001EF22C 90 1C 03 1C */ stw r0, 0x31c(r28)
/* 801F22D0 001EF230 98 1C 03 20 */ stb r0, 0x320(r28)
/* 801F22D4 001EF234 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801F22D8 001EF238 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801F22DC 001EF23C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 801F22E0 001EF240 83 81 00 20 */ lwz r28, 0x20(r1)
/* 801F22E4 001EF244 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801F22E8 001EF248 7C 08 03 A6 */ mtlr r0
/* 801F22EC 001EF24C 38 21 00 30 */ addi r1, r1, 0x30
/* 801F22F0 001EF250 4E 80 00 20 */ blr
.global AcceptScriptMsg__20CIceAttackProjectileF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__20CIceAttackProjectileF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 801F22F4 001EF254 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801F22F8 001EF258 7C 08 02 A6 */ mflr r0
/* 801F22FC 001EF25C 90 01 00 24 */ stw r0, 0x24(r1)
/* 801F2300 001EF260 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801F2304 001EF264 7C 9F 23 78 */ mr r31, r4
/* 801F2308 001EF268 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801F230C 001EF26C 7C BE 2B 78 */ mr r30, r5
/* 801F2310 001EF270 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801F2314 001EF274 7C DD 33 78 */ mr r29, r6
/* 801F2318 001EF278 93 81 00 10 */ stw r28, 0x10(r1)
/* 801F231C 001EF27C 7C 7C 1B 78 */ mr r28, r3
/* 801F2320 001EF280 A0 05 00 00 */ lhz r0, 0(r5)
/* 801F2324 001EF284 38 A1 00 08 */ addi r5, r1, 8
/* 801F2328 001EF288 B0 01 00 08 */ sth r0, 8(r1)
/* 801F232C 001EF28C 4B E6 12 E9 */ bl AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager
/* 801F2330 001EF290 2C 1F 00 22 */ cmpwi r31, 0x22
/* 801F2334 001EF294 41 82 00 30 */ beq lbl_801F2364
/* 801F2338 001EF298 40 80 00 6C */ bge lbl_801F23A4
/* 801F233C 001EF29C 2C 1F 00 21 */ cmpwi r31, 0x21
/* 801F2340 001EF2A0 40 80 00 08 */ bge lbl_801F2348
/* 801F2344 001EF2A4 48 00 00 60 */ b lbl_801F23A4
lbl_801F2348:
/* 801F2348 001EF2A8 7F 83 E3 78 */ mr r3, r28
/* 801F234C 001EF2AC 38 80 00 01 */ li r4, 1
/* 801F2350 001EF2B0 81 9C 00 00 */ lwz r12, 0(r28)
/* 801F2354 001EF2B4 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 801F2358 001EF2B8 7D 89 03 A6 */ mtctr r12
/* 801F235C 001EF2BC 4E 80 04 21 */ bctrl
/* 801F2360 001EF2C0 48 00 00 44 */ b lbl_801F23A4
lbl_801F2364:
/* 801F2364 001EF2C4 A0 7E 00 00 */ lhz r3, 0(r30)
/* 801F2368 001EF2C8 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 801F236C 001EF2CC 7C 03 00 40 */ cmplw r3, r0
/* 801F2370 001EF2D0 40 82 00 34 */ bne lbl_801F23A4
/* 801F2374 001EF2D4 3B C0 00 00 */ li r30, 0
/* 801F2378 001EF2D8 3B E0 00 00 */ li r31, 0
/* 801F237C 001EF2DC 48 00 00 1C */ b lbl_801F2398
lbl_801F2380:
/* 801F2380 001EF2E0 80 1C 01 14 */ lwz r0, 0x114(r28)
/* 801F2384 001EF2E4 7F A4 EB 78 */ mr r4, r29
/* 801F2388 001EF2E8 7C 60 FA 14 */ add r3, r0, r31
/* 801F238C 001EF2EC 4B FF FC 65 */ bl DeleteCollisionObject__Q220CIceAttackProjectile12CTrailObjectFR13CStateManager
/* 801F2390 001EF2F0 3B FF 03 24 */ addi r31, r31, 0x324
/* 801F2394 001EF2F4 3B DE 00 01 */ addi r30, r30, 1
lbl_801F2398:
/* 801F2398 001EF2F8 80 1C 01 0C */ lwz r0, 0x10c(r28)
/* 801F239C 001EF2FC 7C 1E 00 00 */ cmpw r30, r0
/* 801F23A0 001EF300 41 80 FF E0 */ blt lbl_801F2380
lbl_801F23A4:
/* 801F23A4 001EF304 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801F23A8 001EF308 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801F23AC 001EF30C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801F23B0 001EF310 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801F23B4 001EF314 83 81 00 10 */ lwz r28, 0x10(r1)
/* 801F23B8 001EF318 7C 08 03 A6 */ mtlr r0
/* 801F23BC 001EF31C 38 21 00 20 */ addi r1, r1, 0x20
/* 801F23C0 001EF320 4E 80 00 20 */ blr
.global Think__20CIceAttackProjectileFfR13CStateManager
Think__20CIceAttackProjectileFfR13CStateManager:
/* 801F23C4 001EF324 94 21 F4 C0 */ stwu r1, -0xb40(r1)
/* 801F23C8 001EF328 7C 08 02 A6 */ mflr r0
/* 801F23CC 001EF32C 90 01 0B 44 */ stw r0, 0xb44(r1)
/* 801F23D0 001EF330 DB E1 0B 30 */ stfd f31, 0xb30(r1)
/* 801F23D4 001EF334 F3 E1 0B 38 */ psq_st f31, -1224(r1), 0, qr0
/* 801F23D8 001EF338 DB C1 0B 20 */ stfd f30, 0xb20(r1)
/* 801F23DC 001EF33C F3 C1 0B 28 */ psq_st f30, -1240(r1), 0, qr0
/* 801F23E0 001EF340 DB A1 0B 10 */ stfd f29, 0xb10(r1)
/* 801F23E4 001EF344 F3 A1 0B 18 */ psq_st f29, -1256(r1), 0, qr0
/* 801F23E8 001EF348 DB 81 0B 00 */ stfd f28, 0xb00(r1)
/* 801F23EC 001EF34C F3 81 0B 08 */ psq_st f28, -1272(r1), 0, qr0
/* 801F23F0 001EF350 DB 61 0A F0 */ stfd f27, 0xaf0(r1)
/* 801F23F4 001EF354 F3 61 0A F8 */ psq_st f27, -1288(r1), 0, qr0
/* 801F23F8 001EF358 DB 41 0A E0 */ stfd f26, 0xae0(r1)
/* 801F23FC 001EF35C F3 41 0A E8 */ psq_st f26, -1304(r1), 0, qr0
/* 801F2400 001EF360 BF 21 0A C4 */ stmw r25, 0xac4(r1)
/* 801F2404 001EF364 88 03 00 30 */ lbz r0, 0x30(r3)
/* 801F2408 001EF368 FF E0 08 90 */ fmr f31, f1
/* 801F240C 001EF36C 7C 7B 1B 78 */ mr r27, r3
/* 801F2410 001EF370 7C 9C 23 78 */ mr r28, r4
/* 801F2414 001EF374 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801F2418 001EF378 3B C0 00 00 */ li r30, 0
/* 801F241C 001EF37C 3B A0 00 00 */ li r29, 0
/* 801F2420 001EF380 41 82 07 B4 */ beq lbl_801F2BD4
/* 801F2424 001EF384 88 1B 01 90 */ lbz r0, 0x190(r27)
/* 801F2428 001EF388 28 00 00 00 */ cmplwi r0, 0
/* 801F242C 001EF38C 40 82 05 8C */ bne lbl_801F29B8
/* 801F2430 001EF390 A0 1B 01 18 */ lhz r0, 0x118(r27)
/* 801F2434 001EF394 7F 83 E3 78 */ mr r3, r28
/* 801F2438 001EF398 38 81 00 10 */ addi r4, r1, 0x10
/* 801F243C 001EF39C B0 01 00 10 */ sth r0, 0x10(r1)
/* 801F2440 001EF3A0 4B E5 A1 65 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 801F2444 001EF3A4 7C 64 1B 78 */ mr r4, r3
/* 801F2448 001EF3A8 38 61 00 2C */ addi r3, r1, 0x2c
/* 801F244C 001EF3AC 4B EB D8 45 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 801F2450 001EF3B0 80 63 00 04 */ lwz r3, 4(r3)
/* 801F2454 001EF3B4 28 03 00 00 */ cmplwi r3, 0
/* 801F2458 001EF3B8 41 82 01 48 */ beq lbl_801F25A0
/* 801F245C 001EF3BC C0 23 00 40 */ lfs f1, 0x40(r3)
/* 801F2460 001EF3C0 C0 1B 00 40 */ lfs f0, 0x40(r27)
/* 801F2464 001EF3C4 C0 83 00 50 */ lfs f4, 0x50(r3)
/* 801F2468 001EF3C8 EC 61 00 28 */ fsubs f3, f1, f0
/* 801F246C 001EF3CC C0 1B 00 50 */ lfs f0, 0x50(r27)
/* 801F2470 001EF3D0 C0 42 AE E8 */ lfs f2, lbl_805ACC08@sda21(r2)
/* 801F2474 001EF3D4 EC C4 00 28 */ fsubs f6, f4, f0
/* 801F2478 001EF3D8 C0 A3 00 60 */ lfs f5, 0x60(r3)
/* 801F247C 001EF3DC EC 23 00 F2 */ fmuls f1, f3, f3
/* 801F2480 001EF3E0 C0 9B 00 60 */ lfs f4, 0x60(r27)
/* 801F2484 001EF3E4 C0 02 AF 04 */ lfs f0, lbl_805ACC24@sda21(r2)
/* 801F2488 001EF3E8 EC 26 09 BA */ fmadds f1, f6, f6, f1
/* 801F248C 001EF3EC D0 61 01 0C */ stfs f3, 0x10c(r1)
/* 801F2490 001EF3F0 EC 65 20 28 */ fsubs f3, f5, f4
/* 801F2494 001EF3F4 D0 C1 01 10 */ stfs f6, 0x110(r1)
/* 801F2498 001EF3F8 EC 22 08 2A */ fadds f1, f2, f1
/* 801F249C 001EF3FC D0 61 01 14 */ stfs f3, 0x114(r1)
/* 801F24A0 001EF400 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801F24A4 001EF404 40 80 00 08 */ bge lbl_801F24AC
/* 801F24A8 001EF408 D0 5B 01 74 */ stfs f2, 0x174(r27)
lbl_801F24AC:
/* 801F24AC 001EF40C 38 61 01 0C */ addi r3, r1, 0x10c
/* 801F24B0 001EF410 48 12 22 49 */ bl CanBeNormalized__9CVector3fCFv
/* 801F24B4 001EF414 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801F24B8 001EF418 41 82 00 E8 */ beq lbl_801F25A0
/* 801F24BC 001EF41C 38 61 01 0C */ addi r3, r1, 0x10c
/* 801F24C0 001EF420 48 12 24 39 */ bl Normalize__9CVector3fFv
/* 801F24C4 001EF424 38 61 00 DC */ addi r3, r1, 0xdc
/* 801F24C8 001EF428 38 9B 00 34 */ addi r4, r27, 0x34
/* 801F24CC 001EF42C 38 A1 01 0C */ addi r5, r1, 0x10c
/* 801F24D0 001EF430 48 12 05 55 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f
/* 801F24D4 001EF434 C0 81 00 DC */ lfs f4, 0xdc(r1)
/* 801F24D8 001EF438 38 61 00 D0 */ addi r3, r1, 0xd0
/* 801F24DC 001EF43C C0 22 AE E8 */ lfs f1, lbl_805ACC08@sda21(r2)
/* 801F24E0 001EF440 38 81 01 0C */ addi r4, r1, 0x10c
/* 801F24E4 001EF444 C0 02 AE EC */ lfs f0, lbl_805ACC0C@sda21(r2)
/* 801F24E8 001EF448 C0 A2 AE F8 */ lfs f5, lbl_805ACC18@sda21(r2)
/* 801F24EC 001EF44C C0 61 00 E0 */ lfs f3, 0xe0(r1)
/* 801F24F0 001EF450 C0 41 00 E4 */ lfs f2, 0xe4(r1)
/* 801F24F4 001EF454 FF C4 28 2E */ fsel f30, f4, f0, f5
/* 801F24F8 001EF458 D0 81 01 0C */ stfs f4, 0x10c(r1)
/* 801F24FC 001EF45C D0 61 01 10 */ stfs f3, 0x110(r1)
/* 801F2500 001EF460 D0 41 01 14 */ stfs f2, 0x114(r1)
/* 801F2504 001EF464 D0 21 00 D0 */ stfs f1, 0xd0(r1)
/* 801F2508 001EF468 D0 01 00 D4 */ stfs f0, 0xd4(r1)
/* 801F250C 001EF46C D0 21 00 D8 */ stfs f1, 0xd8(r1)
/* 801F2510 001EF470 48 12 21 21 */ bl GetAngleDiff__9CVector3fFRC9CVector3fRC9CVector3f
/* 801F2514 001EF474 C0 1B 01 74 */ lfs f0, 0x174(r27)
/* 801F2518 001EF478 EC 21 07 B2 */ fmuls f1, f1, f30
/* 801F251C 001EF47C 38 61 00 24 */ addi r3, r1, 0x24
/* 801F2520 001EF480 38 81 00 28 */ addi r4, r1, 0x28
/* 801F2524 001EF484 EC 00 07 F2 */ fmuls f0, f0, f31
/* 801F2528 001EF488 38 A1 00 20 */ addi r5, r1, 0x20
/* 801F252C 001EF48C D0 21 00 28 */ stfs f1, 0x28(r1)
/* 801F2530 001EF490 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 801F2534 001EF494 C0 1B 01 74 */ lfs f0, 0x174(r27)
/* 801F2538 001EF498 FC 00 00 50 */ fneg f0, f0
/* 801F253C 001EF49C EC 00 07 F2 */ fmuls f0, f0, f31
/* 801F2540 001EF4A0 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 801F2544 001EF4A4 4B E1 9D 71 */ bl "Clamp<f>__5CMathFRCfRCfRCf"
/* 801F2548 001EF4A8 C0 03 00 00 */ lfs f0, 0(r3)
/* 801F254C 001EF4AC 38 61 02 88 */ addi r3, r1, 0x288
/* 801F2550 001EF4B0 38 9B 00 34 */ addi r4, r27, 0x34
/* 801F2554 001EF4B4 FF 40 00 50 */ fneg f26, f0
/* 801F2558 001EF4B8 48 12 06 1D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 801F255C 001EF4BC D3 41 00 1C */ stfs f26, 0x1c(r1)
/* 801F2560 001EF4C0 38 61 02 88 */ addi r3, r1, 0x288
/* 801F2564 001EF4C4 38 81 00 1C */ addi r4, r1, 0x1c
/* 801F2568 001EF4C8 48 12 0F 55 */ bl RotateLocalZ__12CTransform4fFRC9CRelAngle
/* 801F256C 001EF4CC 38 7B 00 34 */ addi r3, r27, 0x34
/* 801F2570 001EF4D0 38 81 02 88 */ addi r4, r1, 0x288
/* 801F2574 001EF4D4 48 12 05 CD */ bl __as__12CTransform4fFRC12CTransform4f
/* 801F2578 001EF4D8 88 1B 00 E4 */ lbz r0, 0xe4(r27)
/* 801F257C 001EF4DC 38 60 00 01 */ li r3, 1
/* 801F2580 001EF4E0 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 801F2584 001EF4E4 98 1B 00 E4 */ stb r0, 0xe4(r27)
/* 801F2588 001EF4E8 88 1B 00 E4 */ lbz r0, 0xe4(r27)
/* 801F258C 001EF4EC 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 801F2590 001EF4F0 98 1B 00 E4 */ stb r0, 0xe4(r27)
/* 801F2594 001EF4F4 88 1B 00 E4 */ lbz r0, 0xe4(r27)
/* 801F2598 001EF4F8 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 801F259C 001EF4FC 98 1B 00 E4 */ stb r0, 0xe4(r27)
lbl_801F25A0:
/* 801F25A0 001EF500 C0 3B 01 78 */ lfs f1, 0x178(r27)
/* 801F25A4 001EF504 38 61 00 C4 */ addi r3, r1, 0xc4
/* 801F25A8 001EF508 C0 02 AE E8 */ lfs f0, lbl_805ACC08@sda21(r2)
/* 801F25AC 001EF50C 38 9B 00 34 */ addi r4, r27, 0x34
/* 801F25B0 001EF510 EC 21 F8 2A */ fadds f1, f1, f31
/* 801F25B4 001EF514 38 A1 00 B8 */ addi r5, r1, 0xb8
/* 801F25B8 001EF518 D0 3B 01 78 */ stfs f1, 0x178(r27)
/* 801F25BC 001EF51C C0 3B 01 70 */ lfs f1, 0x170(r27)
/* 801F25C0 001EF520 EC 21 07 F2 */ fmuls f1, f1, f31
/* 801F25C4 001EF524 D0 01 00 B8 */ stfs f0, 0xb8(r1)
/* 801F25C8 001EF528 D0 01 00 C0 */ stfs f0, 0xc0(r1)
/* 801F25CC 001EF52C D0 21 00 BC */ stfs f1, 0xbc(r1)
/* 801F25D0 001EF530 48 12 05 19 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 801F25D4 001EF534 C0 22 AE E8 */ lfs f1, lbl_805ACC08@sda21(r2)
/* 801F25D8 001EF538 38 61 00 34 */ addi r3, r1, 0x34
/* 801F25DC 001EF53C C0 81 00 C4 */ lfs f4, 0xc4(r1)
/* 801F25E0 001EF540 C0 61 00 C8 */ lfs f3, 0xc8(r1)
/* 801F25E4 001EF544 C0 41 00 CC */ lfs f2, 0xcc(r1)
/* 801F25E8 001EF548 C0 02 AE EC */ lfs f0, lbl_805ACC0C@sda21(r2)
/* 801F25EC 001EF54C D0 81 01 00 */ stfs f4, 0x100(r1)
/* 801F25F0 001EF550 D0 61 01 04 */ stfs f3, 0x104(r1)
/* 801F25F4 001EF554 D0 41 01 08 */ stfs f2, 0x108(r1)
/* 801F25F8 001EF558 D0 21 02 58 */ stfs f1, 0x258(r1)
/* 801F25FC 001EF55C D0 21 02 5C */ stfs f1, 0x25c(r1)
/* 801F2600 001EF560 D0 21 02 60 */ stfs f1, 0x260(r1)
/* 801F2604 001EF564 D0 21 02 64 */ stfs f1, 0x264(r1)
/* 801F2608 001EF568 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 801F260C 001EF56C D0 21 00 38 */ stfs f1, 0x38(r1)
/* 801F2610 001EF570 D0 21 00 3C */ stfs f1, 0x3c(r1)
/* 801F2614 001EF574 48 12 22 E5 */ bl Normalize__9CVector3fFv
/* 801F2618 001EF578 C0 61 00 34 */ lfs f3, 0x34(r1)
/* 801F261C 001EF57C 38 C0 00 00 */ li r6, 0
/* 801F2620 001EF580 C0 41 00 38 */ lfs f2, 0x38(r1)
/* 801F2624 001EF584 3B E1 02 68 */ addi r31, r1, 0x268
/* 801F2628 001EF588 C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 801F262C 001EF58C C0 02 AE E8 */ lfs f0, lbl_805ACC08@sda21(r2)
/* 801F2630 001EF590 D0 61 02 68 */ stfs f3, 0x268(r1)
/* 801F2634 001EF594 D0 41 02 6C */ stfs f2, 0x26c(r1)
/* 801F2638 001EF598 D0 21 02 70 */ stfs f1, 0x270(r1)
/* 801F263C 001EF59C D0 01 02 74 */ stfs f0, 0x274(r1)
/* 801F2640 001EF5A0 98 C1 02 78 */ stb r6, 0x278(r1)
/* 801F2644 001EF5A4 90 C1 02 84 */ stw r6, 0x284(r1)
/* 801F2648 001EF5A8 90 C1 02 80 */ stw r6, 0x280(r1)
/* 801F264C 001EF5AC 88 1B 01 92 */ lbz r0, 0x192(r27)
/* 801F2650 001EF5B0 28 00 00 00 */ cmplwi r0, 0
/* 801F2654 001EF5B4 41 82 01 88 */ beq lbl_801F27DC
/* 801F2658 001EF5B8 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 801F265C 001EF5BC 38 60 00 00 */ li r3, 0
/* 801F2660 001EF5C0 80 AD 92 AC */ lwz r5, lbl_805A7E6C@sda21(r13)
/* 801F2664 001EF5C4 38 80 00 01 */ li r4, 1
/* 801F2668 001EF5C8 B0 01 00 14 */ sth r0, 0x14(r1)
/* 801F266C 001EF5CC 90 C1 02 B8 */ stw r6, 0x2b8(r1)
/* 801F2670 001EF5D0 48 19 78 85 */ bl __shl2i
/* 801F2674 001EF5D4 80 AD 92 B0 */ lwz r5, lbl_805A7E70@sda21(r13)
/* 801F2678 001EF5D8 7C 99 23 78 */ mr r25, r4
/* 801F267C 001EF5DC 7C 7A 1B 78 */ mr r26, r3
/* 801F2680 001EF5E0 38 60 00 00 */ li r3, 0
/* 801F2684 001EF5E4 38 80 00 01 */ li r4, 1
/* 801F2688 001EF5E8 48 19 78 6D */ bl __shl2i
/* 801F268C 001EF5EC C0 82 AE E8 */ lfs f4, lbl_805ACC08@sda21(r2)
/* 801F2690 001EF5F0 7F 39 23 78 */ or r25, r25, r4
/* 801F2694 001EF5F4 C0 21 01 04 */ lfs f1, 0x104(r1)
/* 801F2698 001EF5F8 7F 5A 1B 78 */ or r26, r26, r3
/* 801F269C 001EF5FC C0 01 01 00 */ lfs f0, 0x100(r1)
/* 801F26A0 001EF600 39 20 00 01 */ li r9, 1
/* 801F26A4 001EF604 EC A1 20 2A */ fadds f5, f1, f4
/* 801F26A8 001EF608 C0 62 AE F8 */ lfs f3, lbl_805ACC18@sda21(r2)
/* 801F26AC 001EF60C 38 00 00 00 */ li r0, 0
/* 801F26B0 001EF610 EC 00 20 2A */ fadds f0, f0, f4
/* 801F26B4 001EF614 C0 41 01 08 */ lfs f2, 0x108(r1)
/* 801F26B8 001EF618 7F 83 E3 78 */ mr r3, r28
/* 801F26BC 001EF61C C0 22 AF 00 */ lfs f1, lbl_805ACC20@sda21(r2)
/* 801F26C0 001EF620 38 81 02 B8 */ addi r4, r1, 0x2b8
/* 801F26C4 001EF624 91 21 01 78 */ stw r9, 0x178(r1)
/* 801F26C8 001EF628 38 A1 00 E8 */ addi r5, r1, 0xe8
/* 801F26CC 001EF62C EC 42 08 2A */ fadds f2, f2, f1
/* 801F26D0 001EF630 C0 22 AF 08 */ lfs f1, lbl_805ACC28@sda21(r2)
/* 801F26D4 001EF634 93 21 01 84 */ stw r25, 0x184(r1)
/* 801F26D8 001EF638 38 C1 00 F4 */ addi r6, r1, 0xf4
/* 801F26DC 001EF63C 38 E1 01 80 */ addi r7, r1, 0x180
/* 801F26E0 001EF640 39 00 00 00 */ li r8, 0
/* 801F26E4 001EF644 93 41 01 80 */ stw r26, 0x180(r1)
/* 801F26E8 001EF648 90 01 01 8C */ stw r0, 0x18c(r1)
/* 801F26EC 001EF64C 90 01 01 88 */ stw r0, 0x188(r1)
/* 801F26F0 001EF650 91 21 01 90 */ stw r9, 0x190(r1)
/* 801F26F4 001EF654 D0 81 00 F4 */ stfs f4, 0xf4(r1)
/* 801F26F8 001EF658 D0 81 00 F8 */ stfs f4, 0xf8(r1)
/* 801F26FC 001EF65C D0 61 00 FC */ stfs f3, 0xfc(r1)
/* 801F2700 001EF660 D0 01 00 E8 */ stfs f0, 0xe8(r1)
/* 801F2704 001EF664 D0 A1 00 EC */ stfs f5, 0xec(r1)
/* 801F2708 001EF668 D0 41 00 F0 */ stfs f2, 0xf0(r1)
/* 801F270C 001EF66C 4B E5 9F CD */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC9CVector3fRC9CVector3ffRC15CMaterialFilterPC6CActor"
/* 801F2710 001EF670 C0 22 AF 08 */ lfs f1, lbl_805ACC28@sda21(r2)
/* 801F2714 001EF674 7F 84 E3 78 */ mr r4, r28
/* 801F2718 001EF678 38 61 02 28 */ addi r3, r1, 0x228
/* 801F271C 001EF67C 38 A1 00 14 */ addi r5, r1, 0x14
/* 801F2720 001EF680 38 C1 00 E8 */ addi r6, r1, 0xe8
/* 801F2724 001EF684 38 E1 00 F4 */ addi r7, r1, 0xf4
/* 801F2728 001EF688 39 01 01 80 */ addi r8, r1, 0x180
/* 801F272C 001EF68C 39 21 02 B8 */ addi r9, r1, 0x2b8
/* 801F2730 001EF690 4B E5 A8 95 */ bl "RayWorldIntersection__13CStateManagerCFR9TUniqueIdRC9CVector3fRC9CVector3ffRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>"
/* 801F2734 001EF694 80 E1 02 B8 */ lwz r7, 0x2b8(r1)
/* 801F2738 001EF698 38 C0 00 00 */ li r6, 0
/* 801F273C 001EF69C C0 A1 02 28 */ lfs f5, 0x228(r1)
/* 801F2740 001EF6A0 80 A1 02 2C */ lwz r5, 0x22c(r1)
/* 801F2744 001EF6A4 2C 07 00 00 */ cmpwi r7, 0
/* 801F2748 001EF6A8 80 81 02 30 */ lwz r4, 0x230(r1)
/* 801F274C 001EF6AC 80 61 02 34 */ lwz r3, 0x234(r1)
/* 801F2750 001EF6B0 C0 81 02 38 */ lfs f4, 0x238(r1)
/* 801F2754 001EF6B4 C0 61 02 3C */ lfs f3, 0x23c(r1)
/* 801F2758 001EF6B8 C0 41 02 40 */ lfs f2, 0x240(r1)
/* 801F275C 001EF6BC C0 21 02 44 */ lfs f1, 0x244(r1)
/* 801F2760 001EF6C0 88 01 02 48 */ lbz r0, 0x248(r1)
/* 801F2764 001EF6C4 C8 01 02 50 */ lfd f0, 0x250(r1)
/* 801F2768 001EF6C8 D0 A1 02 58 */ stfs f5, 0x258(r1)
/* 801F276C 001EF6CC 90 A1 02 5C */ stw r5, 0x25c(r1)
/* 801F2770 001EF6D0 90 81 02 60 */ stw r4, 0x260(r1)
/* 801F2774 001EF6D4 90 61 02 64 */ stw r3, 0x264(r1)
/* 801F2778 001EF6D8 D0 81 02 68 */ stfs f4, 0x268(r1)
/* 801F277C 001EF6DC D0 61 02 6C */ stfs f3, 0x26c(r1)
/* 801F2780 001EF6E0 D0 41 02 70 */ stfs f2, 0x270(r1)
/* 801F2784 001EF6E4 D0 21 02 74 */ stfs f1, 0x274(r1)
/* 801F2788 001EF6E8 98 01 02 78 */ stb r0, 0x278(r1)
/* 801F278C 001EF6EC D8 01 02 80 */ stfd f0, 0x280(r1)
/* 801F2790 001EF6F0 40 81 00 40 */ ble lbl_801F27D0
/* 801F2794 001EF6F4 2C 07 00 08 */ cmpwi r7, 8
/* 801F2798 001EF6F8 38 67 FF F8 */ addi r3, r7, -8
/* 801F279C 001EF6FC 40 81 00 20 */ ble lbl_801F27BC
/* 801F27A0 001EF700 38 03 00 07 */ addi r0, r3, 7
/* 801F27A4 001EF704 54 00 E8 FE */ srwi r0, r0, 3
/* 801F27A8 001EF708 7C 09 03 A6 */ mtctr r0
/* 801F27AC 001EF70C 2C 03 00 00 */ cmpwi r3, 0
/* 801F27B0 001EF710 40 81 00 0C */ ble lbl_801F27BC
lbl_801F27B4:
/* 801F27B4 001EF714 38 C6 00 08 */ addi r6, r6, 8
/* 801F27B8 001EF718 42 00 FF FC */ bdnz lbl_801F27B4
lbl_801F27BC:
/* 801F27BC 001EF71C 7C 06 38 50 */ subf r0, r6, r7
/* 801F27C0 001EF720 7C 09 03 A6 */ mtctr r0
/* 801F27C4 001EF724 7C 06 38 00 */ cmpw r6, r7
/* 801F27C8 001EF728 40 80 00 08 */ bge lbl_801F27D0
lbl_801F27CC:
/* 801F27CC 001EF72C 42 00 00 00 */ bdnz lbl_801F27CC
lbl_801F27D0:
/* 801F27D0 001EF730 38 00 00 00 */ li r0, 0
/* 801F27D4 001EF734 90 01 02 B8 */ stw r0, 0x2b8(r1)
/* 801F27D8 001EF738 48 00 00 B0 */ b lbl_801F2888
lbl_801F27DC:
/* 801F27DC 001EF73C 80 AD 92 B4 */ lwz r5, lbl_805A7E74@sda21(r13)
/* 801F27E0 001EF740 38 60 00 00 */ li r3, 0
/* 801F27E4 001EF744 38 80 00 01 */ li r4, 1
/* 801F27E8 001EF748 48 19 77 0D */ bl __shl2i
/* 801F27EC 001EF74C C0 42 AE E8 */ lfs f2, lbl_805ACC08@sda21(r2)
/* 801F27F0 001EF750 39 00 00 00 */ li r8, 0
/* 801F27F4 001EF754 C0 02 AE F8 */ lfs f0, lbl_805ACC18@sda21(r2)
/* 801F27F8 001EF758 38 00 00 01 */ li r0, 1
/* 801F27FC 001EF75C 90 81 01 54 */ stw r4, 0x154(r1)
/* 801F2800 001EF760 7F 84 E3 78 */ mr r4, r28
/* 801F2804 001EF764 C0 22 AF 08 */ lfs f1, lbl_805ACC28@sda21(r2)
/* 801F2808 001EF768 38 A1 01 00 */ addi r5, r1, 0x100
/* 801F280C 001EF76C 90 61 01 50 */ stw r3, 0x150(r1)
/* 801F2810 001EF770 38 61 01 F8 */ addi r3, r1, 0x1f8
/* 801F2814 001EF774 38 C1 00 AC */ addi r6, r1, 0xac
/* 801F2818 001EF778 38 E1 01 50 */ addi r7, r1, 0x150
/* 801F281C 001EF77C 91 01 01 5C */ stw r8, 0x15c(r1)
/* 801F2820 001EF780 91 01 01 58 */ stw r8, 0x158(r1)
/* 801F2824 001EF784 90 01 01 60 */ stw r0, 0x160(r1)
/* 801F2828 001EF788 D0 41 00 AC */ stfs f2, 0xac(r1)
/* 801F282C 001EF78C D0 41 00 B0 */ stfs f2, 0xb0(r1)
/* 801F2830 001EF790 D0 01 00 B4 */ stfs f0, 0xb4(r1)
/* 801F2834 001EF794 4B E5 A7 65 */ bl RayStaticIntersection__13CStateManagerCFRC9CVector3fRC9CVector3ffRC15CMaterialFilter
/* 801F2838 001EF798 C0 A1 01 F8 */ lfs f5, 0x1f8(r1)
/* 801F283C 001EF79C 80 A1 01 FC */ lwz r5, 0x1fc(r1)
/* 801F2840 001EF7A0 80 81 02 00 */ lwz r4, 0x200(r1)
/* 801F2844 001EF7A4 80 61 02 04 */ lwz r3, 0x204(r1)
/* 801F2848 001EF7A8 C0 81 02 08 */ lfs f4, 0x208(r1)
/* 801F284C 001EF7AC C0 61 02 0C */ lfs f3, 0x20c(r1)
/* 801F2850 001EF7B0 C0 41 02 10 */ lfs f2, 0x210(r1)
/* 801F2854 001EF7B4 C0 21 02 14 */ lfs f1, 0x214(r1)
/* 801F2858 001EF7B8 88 01 02 18 */ lbz r0, 0x218(r1)
/* 801F285C 001EF7BC C8 01 02 20 */ lfd f0, 0x220(r1)
/* 801F2860 001EF7C0 D0 A1 02 58 */ stfs f5, 0x258(r1)
/* 801F2864 001EF7C4 90 A1 02 5C */ stw r5, 0x25c(r1)
/* 801F2868 001EF7C8 90 81 02 60 */ stw r4, 0x260(r1)
/* 801F286C 001EF7CC 90 61 02 64 */ stw r3, 0x264(r1)
/* 801F2870 001EF7D0 D0 81 02 68 */ stfs f4, 0x268(r1)
/* 801F2874 001EF7D4 D0 61 02 6C */ stfs f3, 0x26c(r1)
/* 801F2878 001EF7D8 D0 41 02 70 */ stfs f2, 0x270(r1)
/* 801F287C 001EF7DC D0 21 02 74 */ stfs f1, 0x274(r1)
/* 801F2880 001EF7E0 98 01 02 78 */ stb r0, 0x278(r1)
/* 801F2884 001EF7E4 D8 01 02 80 */ stfd f0, 0x280(r1)
lbl_801F2888:
/* 801F2888 001EF7E8 88 01 02 78 */ lbz r0, 0x278(r1)
/* 801F288C 001EF7EC 28 00 00 00 */ cmplwi r0, 0
/* 801F2890 001EF7F0 41 82 00 34 */ beq lbl_801F28C4
/* 801F2894 001EF7F4 C0 21 02 60 */ lfs f1, 0x260(r1)
/* 801F2898 001EF7F8 3B C0 00 01 */ li r30, 1
/* 801F289C 001EF7FC C0 62 AE E8 */ lfs f3, lbl_805ACC08@sda21(r2)
/* 801F28A0 001EF800 C0 01 02 5C */ lfs f0, 0x25c(r1)
/* 801F28A4 001EF804 EC 81 18 2A */ fadds f4, f1, f3
/* 801F28A8 001EF808 C0 41 02 64 */ lfs f2, 0x264(r1)
/* 801F28AC 001EF80C C0 22 AE EC */ lfs f1, lbl_805ACC0C@sda21(r2)
/* 801F28B0 001EF810 EC 00 18 2A */ fadds f0, f0, f3
/* 801F28B4 001EF814 EC 22 08 2A */ fadds f1, f2, f1
/* 801F28B8 001EF818 D0 81 01 04 */ stfs f4, 0x104(r1)
/* 801F28BC 001EF81C D0 01 01 00 */ stfs f0, 0x100(r1)
/* 801F28C0 001EF820 D0 21 01 08 */ stfs f1, 0x108(r1)
lbl_801F28C4:
/* 801F28C4 001EF824 80 AD 92 B8 */ lwz r5, lbl_805A7E78@sda21(r13)
/* 801F28C8 001EF828 38 60 00 00 */ li r3, 0
/* 801F28CC 001EF82C 38 80 00 01 */ li r4, 1
/* 801F28D0 001EF830 48 19 76 25 */ bl __shl2i
/* 801F28D4 001EF834 C0 22 AE E8 */ lfs f1, lbl_805ACC08@sda21(r2)
/* 801F28D8 001EF838 38 C0 00 00 */ li r6, 0
/* 801F28DC 001EF83C C0 02 AE EC */ lfs f0, lbl_805ACC0C@sda21(r2)
/* 801F28E0 001EF840 38 00 00 01 */ li r0, 1
/* 801F28E4 001EF844 90 81 01 3C */ stw r4, 0x13c(r1)
/* 801F28E8 001EF848 38 9B 00 34 */ addi r4, r27, 0x34
/* 801F28EC 001EF84C 38 A1 00 94 */ addi r5, r1, 0x94
/* 801F28F0 001EF850 90 61 01 38 */ stw r3, 0x138(r1)
/* 801F28F4 001EF854 38 61 00 A0 */ addi r3, r1, 0xa0
/* 801F28F8 001EF858 90 C1 01 44 */ stw r6, 0x144(r1)
/* 801F28FC 001EF85C 90 C1 01 40 */ stw r6, 0x140(r1)
/* 801F2900 001EF860 90 01 01 48 */ stw r0, 0x148(r1)
/* 801F2904 001EF864 D0 21 00 94 */ stfs f1, 0x94(r1)
/* 801F2908 001EF868 D0 01 00 98 */ stfs f0, 0x98(r1)
/* 801F290C 001EF86C D0 21 00 9C */ stfs f1, 0x9c(r1)
/* 801F2910 001EF870 48 12 01 71 */ bl Rotate__12CTransform4fCFRC9CVector3f
/* 801F2914 001EF874 C0 22 AF 0C */ lfs f1, lbl_805ACC2C@sda21(r2)
/* 801F2918 001EF878 7F 84 E3 78 */ mr r4, r28
/* 801F291C 001EF87C 38 61 01 C8 */ addi r3, r1, 0x1c8
/* 801F2920 001EF880 38 A1 01 00 */ addi r5, r1, 0x100
/* 801F2924 001EF884 38 C1 00 A0 */ addi r6, r1, 0xa0
/* 801F2928 001EF888 38 E1 01 38 */ addi r7, r1, 0x138
/* 801F292C 001EF88C 4B E5 A6 6D */ bl RayStaticIntersection__13CStateManagerCFRC9CVector3fRC9CVector3ffRC15CMaterialFilter
/* 801F2930 001EF890 88 01 01 E8 */ lbz r0, 0x1e8(r1)
/* 801F2934 001EF894 28 00 00 00 */ cmplwi r0, 0
/* 801F2938 001EF898 41 82 00 08 */ beq lbl_801F2940
/* 801F293C 001EF89C 3B A0 00 01 */ li r29, 1
lbl_801F2940:
/* 801F2940 001EF8A0 7F 63 DB 78 */ mr r3, r27
/* 801F2944 001EF8A4 38 81 01 00 */ addi r4, r1, 0x100
/* 801F2948 001EF8A8 4B E6 05 45 */ bl SetTranslation__6CActorFRC9CVector3f
/* 801F294C 001EF8AC C0 3B 01 78 */ lfs f1, 0x178(r27)
/* 801F2950 001EF8B0 C0 02 AF 0C */ lfs f0, lbl_805ACC2C@sda21(r2)
/* 801F2954 001EF8B4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801F2958 001EF8B8 41 81 00 14 */ bgt lbl_801F296C
/* 801F295C 001EF8BC 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 801F2960 001EF8C0 40 82 00 0C */ bne lbl_801F296C
/* 801F2964 001EF8C4 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 801F2968 001EF8C8 40 82 00 0C */ bne lbl_801F2974
lbl_801F296C:
/* 801F296C 001EF8CC 38 00 00 01 */ li r0, 1
/* 801F2970 001EF8D0 98 1B 01 90 */ stb r0, 0x190(r27)
lbl_801F2974:
/* 801F2974 001EF8D4 80 7B 01 80 */ lwz r3, 0x180(r27)
/* 801F2978 001EF8D8 38 03 00 01 */ addi r0, r3, 1
/* 801F297C 001EF8DC 90 1B 01 80 */ stw r0, 0x180(r27)
/* 801F2980 001EF8E0 80 7B 01 80 */ lwz r3, 0x180(r27)
/* 801F2984 001EF8E4 54 60 F0 02 */ slwi r0, r3, 0x1e
/* 801F2988 001EF8E8 54 63 0F FE */ srwi r3, r3, 0x1f
/* 801F298C 001EF8EC 7C 03 00 50 */ subf r0, r3, r0
/* 801F2990 001EF8F0 54 00 10 3E */ rotlwi r0, r0, 2
/* 801F2994 001EF8F4 7C 00 1A 15 */ add. r0, r0, r3
/* 801F2998 001EF8F8 40 82 00 20 */ bne lbl_801F29B8
/* 801F299C 001EF8FC 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 801F29A0 001EF900 41 82 00 18 */ beq lbl_801F29B8
/* 801F29A4 001EF904 FC 20 F8 90 */ fmr f1, f31
/* 801F29A8 001EF908 7F 63 DB 78 */ mr r3, r27
/* 801F29AC 001EF90C 7F 84 E3 78 */ mr r4, r28
/* 801F29B0 001EF910 7F E5 FB 78 */ mr r5, r31
/* 801F29B4 001EF914 48 00 04 15 */ bl CreateTrailObject__20CIceAttackProjectileFR13CStateManagerRC9CVector3ff
lbl_801F29B8:
/* 801F29B8 001EF918 FC 20 F8 90 */ fmr f1, f31
/* 801F29BC 001EF91C 7F 63 DB 78 */ mr r3, r27
/* 801F29C0 001EF920 7F 84 E3 78 */ mr r4, r28
/* 801F29C4 001EF924 48 00 02 55 */ bl UpdateTrailObjects__20CIceAttackProjectileFfR13CStateManager
/* 801F29C8 001EF928 83 BB 01 04 */ lwz r29, 0x104(r27)
/* 801F29CC 001EF92C 38 61 01 98 */ addi r3, r1, 0x198
/* 801F29D0 001EF930 38 9B 00 34 */ addi r4, r27, 0x34
/* 801F29D4 001EF934 48 12 02 6D */ bl GetRotation__12CTransform4fCFv
/* 801F29D8 001EF938 7F A3 EB 78 */ mr r3, r29
/* 801F29DC 001EF93C 38 81 01 98 */ addi r4, r1, 0x198
/* 801F29E0 001EF940 81 9D 00 00 */ lwz r12, 0(r29)
/* 801F29E4 001EF944 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 801F29E8 001EF948 7D 89 03 A6 */ mtctr r12
/* 801F29EC 001EF94C 4E 80 04 21 */ bctrl
/* 801F29F0 001EF950 C3 9B 00 58 */ lfs f28, 0x58(r27)
/* 801F29F4 001EF954 38 81 00 88 */ addi r4, r1, 0x88
/* 801F29F8 001EF958 C0 02 AE EC */ lfs f0, lbl_805ACC0C@sda21(r2)
/* 801F29FC 001EF95C C3 BB 00 48 */ lfs f29, 0x48(r27)
/* 801F2A00 001EF960 C0 9B 00 38 */ lfs f4, 0x38(r27)
/* 801F2A04 001EF964 EC C0 07 32 */ fmuls f6, f0, f28
/* 801F2A08 001EF968 C3 DB 00 5C */ lfs f30, 0x5c(r27)
/* 801F2A0C 001EF96C EC E0 07 72 */ fmuls f7, f0, f29
/* 801F2A10 001EF970 C1 9B 00 4C */ lfs f12, 0x4c(r27)
/* 801F2A14 001EF974 EC 60 01 32 */ fmuls f3, f0, f4
/* 801F2A18 001EF978 C0 3B 00 3C */ lfs f1, 0x3c(r27)
/* 801F2A1C 001EF97C C3 5B 00 60 */ lfs f26, 0x60(r27)
/* 801F2A20 001EF980 ED 60 03 32 */ fmuls f11, f0, f12
/* 801F2A24 001EF984 C3 7B 00 50 */ lfs f27, 0x50(r27)
/* 801F2A28 001EF988 ED 40 07 B2 */ fmuls f10, f0, f30
/* 801F2A2C 001EF98C C0 5B 00 40 */ lfs f2, 0x40(r27)
/* 801F2A30 001EF990 ED 1A 30 2A */ fadds f8, f26, f6
/* 801F2A34 001EF994 ED 3B 38 2A */ fadds f9, f27, f7
/* 801F2A38 001EF998 EC A0 00 72 */ fmuls f5, f0, f1
/* 801F2A3C 001EF99C D0 21 00 40 */ stfs f1, 0x40(r1)
/* 801F2A40 001EF9A0 EC 22 18 2A */ fadds f1, f2, f3
/* 801F2A44 001EF9A4 ED A9 58 28 */ fsubs f13, f9, f11
/* 801F2A48 001EF9A8 D1 81 00 44 */ stfs f12, 0x44(r1)
/* 801F2A4C 001EF9AC ED 88 50 28 */ fsubs f12, f8, f10
/* 801F2A50 001EF9B0 EC 01 28 28 */ fsubs f0, f1, f5
/* 801F2A54 001EF9B4 D3 C1 00 48 */ stfs f30, 0x48(r1)
/* 801F2A58 001EF9B8 D1 A1 00 8C */ stfs f13, 0x8c(r1)
/* 801F2A5C 001EF9BC D0 01 00 88 */ stfs f0, 0x88(r1)
/* 801F2A60 001EF9C0 D1 81 00 90 */ stfs f12, 0x90(r1)
/* 801F2A64 001EF9C4 80 7B 01 04 */ lwz r3, 0x104(r27)
/* 801F2A68 001EF9C8 D0 A1 00 4C */ stfs f5, 0x4c(r1)
/* 801F2A6C 001EF9CC 81 83 00 00 */ lwz r12, 0(r3)
/* 801F2A70 001EF9D0 D1 61 00 50 */ stfs f11, 0x50(r1)
/* 801F2A74 001EF9D4 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 801F2A78 001EF9D8 D1 41 00 54 */ stfs f10, 0x54(r1)
/* 801F2A7C 001EF9DC D0 81 00 58 */ stfs f4, 0x58(r1)
/* 801F2A80 001EF9E0 D3 A1 00 5C */ stfs f29, 0x5c(r1)
/* 801F2A84 001EF9E4 D3 81 00 60 */ stfs f28, 0x60(r1)
/* 801F2A88 001EF9E8 D0 61 00 64 */ stfs f3, 0x64(r1)
/* 801F2A8C 001EF9EC D0 E1 00 68 */ stfs f7, 0x68(r1)
/* 801F2A90 001EF9F0 D0 C1 00 6C */ stfs f6, 0x6c(r1)
/* 801F2A94 001EF9F4 D0 41 00 70 */ stfs f2, 0x70(r1)
/* 801F2A98 001EF9F8 D3 61 00 74 */ stfs f27, 0x74(r1)
/* 801F2A9C 001EF9FC D3 41 00 78 */ stfs f26, 0x78(r1)
/* 801F2AA0 001EFA00 D0 21 00 7C */ stfs f1, 0x7c(r1)
/* 801F2AA4 001EFA04 D1 21 00 80 */ stfs f9, 0x80(r1)
/* 801F2AA8 001EFA08 D1 01 00 84 */ stfs f8, 0x84(r1)
/* 801F2AAC 001EFA0C 7D 89 03 A6 */ mtctr r12
/* 801F2AB0 001EFA10 4E 80 04 21 */ bctrl
/* 801F2AB4 001EFA14 80 7B 01 04 */ lwz r3, 0x104(r27)
/* 801F2AB8 001EFA18 FC 20 F8 90 */ fmr f1, f31
/* 801F2ABC 001EFA1C 81 83 00 00 */ lwz r12, 0(r3)
/* 801F2AC0 001EFA20 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801F2AC4 001EFA24 7D 89 03 A6 */ mtctr r12
/* 801F2AC8 001EFA28 4E 80 04 21 */ bctrl
/* 801F2ACC 001EFA2C 88 1B 01 90 */ lbz r0, 0x190(r27)
/* 801F2AD0 001EFA30 28 00 00 00 */ cmplwi r0, 0
/* 801F2AD4 001EFA34 41 82 00 B8 */ beq lbl_801F2B8C
/* 801F2AD8 001EFA38 80 7B 01 04 */ lwz r3, 0x104(r27)
/* 801F2ADC 001EFA3C 38 80 00 00 */ li r4, 0
/* 801F2AE0 001EFA40 81 83 00 00 */ lwz r12, 0(r3)
/* 801F2AE4 001EFA44 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 801F2AE8 001EFA48 7D 89 03 A6 */ mtctr r12
/* 801F2AEC 001EFA4C 4E 80 04 21 */ bctrl
/* 801F2AF0 001EFA50 80 7B 01 04 */ lwz r3, 0x104(r27)
/* 801F2AF4 001EFA54 81 83 00 00 */ lwz r12, 0(r3)
/* 801F2AF8 001EFA58 81 8C 00 60 */ lwz r12, 0x60(r12)
/* 801F2AFC 001EFA5C 7D 89 03 A6 */ mtctr r12
/* 801F2B00 001EFA60 4E 80 04 21 */ bctrl
/* 801F2B04 001EFA64 7C 60 00 34 */ cntlzw r0, r3
/* 801F2B08 001EFA68 3B C0 00 00 */ li r30, 0
/* 801F2B0C 001EFA6C 54 1A D9 7E */ srwi r26, r0, 5
/* 801F2B10 001EFA70 3B 20 00 00 */ li r25, 0
/* 801F2B14 001EFA74 48 00 00 3C */ b lbl_801F2B50
lbl_801F2B18:
/* 801F2B18 001EFA78 80 1B 01 14 */ lwz r0, 0x114(r27)
/* 801F2B1C 001EFA7C 7F A0 CA 14 */ add r29, r0, r25
/* 801F2B20 001EFA80 7F A3 EB 78 */ mr r3, r29
/* 801F2B24 001EFA84 4B FF EF 45 */ bl ExplosionFinished__Q220CIceAttackProjectile12CTrailObjectCFv
/* 801F2B28 001EFA88 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801F2B2C 001EFA8C 41 82 00 14 */ beq lbl_801F2B40
/* 801F2B30 001EFA90 7F A3 EB 78 */ mr r3, r29
/* 801F2B34 001EFA94 4B FF EF 81 */ bl ExplosionStarted__Q220CIceAttackProjectile12CTrailObjectCFv
/* 801F2B38 001EFA98 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801F2B3C 001EFA9C 40 82 00 0C */ bne lbl_801F2B48
lbl_801F2B40:
/* 801F2B40 001EFAA0 3B 40 00 00 */ li r26, 0
/* 801F2B44 001EFAA4 48 00 00 18 */ b lbl_801F2B5C
lbl_801F2B48:
/* 801F2B48 001EFAA8 3B 39 03 24 */ addi r25, r25, 0x324
/* 801F2B4C 001EFAAC 3B DE 00 01 */ addi r30, r30, 1
lbl_801F2B50:
/* 801F2B50 001EFAB0 80 1B 01 0C */ lwz r0, 0x10c(r27)
/* 801F2B54 001EFAB4 7C 1E 00 00 */ cmpw r30, r0
/* 801F2B58 001EFAB8 41 80 FF C0 */ blt lbl_801F2B18
lbl_801F2B5C:
/* 801F2B5C 001EFABC 57 40 06 3F */ clrlwi. r0, r26, 0x18
/* 801F2B60 001EFAC0 41 82 00 2C */ beq lbl_801F2B8C
/* 801F2B64 001EFAC4 A0 1B 00 08 */ lhz r0, 8(r27)
/* 801F2B68 001EFAC8 7F 83 E3 78 */ mr r3, r28
/* 801F2B6C 001EFACC 38 81 00 0C */ addi r4, r1, 0xc
/* 801F2B70 001EFAD0 B0 01 00 08 */ sth r0, 8(r1)
/* 801F2B74 001EFAD4 B0 01 00 0C */ sth r0, 0xc(r1)
/* 801F2B78 001EFAD8 4B E5 96 F5 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 801F2B7C 001EFADC 80 1B 01 94 */ lwz r0, 0x194(r27)
/* 801F2B80 001EFAE0 38 61 00 18 */ addi r3, r1, 0x18
/* 801F2B84 001EFAE4 90 01 00 18 */ stw r0, 0x18(r1)
/* 801F2B88 001EFAE8 48 0F 71 C1 */ bl SfxStop__11CSfxManagerFRC10CSfxHandle
lbl_801F2B8C:
/* 801F2B8C 001EFAEC FC 20 F8 90 */ fmr f1, f31
/* 801F2B90 001EFAF0 38 61 01 18 */ addi r3, r1, 0x118
/* 801F2B94 001EFAF4 38 9B 01 1C */ addi r4, r27, 0x11c
/* 801F2B98 001EFAF8 4B ED 08 B1 */ bl __ct__11CDamageInfoFRC11CDamageInfof
/* 801F2B9C 001EFAFC 80 61 01 18 */ lwz r3, 0x118(r1)
/* 801F2BA0 001EFB00 80 01 01 1C */ lwz r0, 0x11c(r1)
/* 801F2BA4 001EFB04 90 7B 01 38 */ stw r3, 0x138(r27)
/* 801F2BA8 001EFB08 90 1B 01 3C */ stw r0, 0x13c(r27)
/* 801F2BAC 001EFB0C C0 01 01 20 */ lfs f0, 0x120(r1)
/* 801F2BB0 001EFB10 D0 1B 01 40 */ stfs f0, 0x140(r27)
/* 801F2BB4 001EFB14 C0 01 01 24 */ lfs f0, 0x124(r1)
/* 801F2BB8 001EFB18 D0 1B 01 44 */ stfs f0, 0x144(r27)
/* 801F2BBC 001EFB1C C0 01 01 28 */ lfs f0, 0x128(r1)
/* 801F2BC0 001EFB20 D0 1B 01 48 */ stfs f0, 0x148(r27)
/* 801F2BC4 001EFB24 C0 01 01 2C */ lfs f0, 0x12c(r1)
/* 801F2BC8 001EFB28 D0 1B 01 4C */ stfs f0, 0x14c(r27)
/* 801F2BCC 001EFB2C 88 01 01 30 */ lbz r0, 0x130(r1)
/* 801F2BD0 001EFB30 98 1B 01 50 */ stb r0, 0x150(r27)
lbl_801F2BD4:
/* 801F2BD4 001EFB34 E3 E1 0B 38 */ psq_l f31, -1224(r1), 0, qr0
/* 801F2BD8 001EFB38 CB E1 0B 30 */ lfd f31, 0xb30(r1)
/* 801F2BDC 001EFB3C E3 C1 0B 28 */ psq_l f30, -1240(r1), 0, qr0
/* 801F2BE0 001EFB40 CB C1 0B 20 */ lfd f30, 0xb20(r1)
/* 801F2BE4 001EFB44 E3 A1 0B 18 */ psq_l f29, -1256(r1), 0, qr0
/* 801F2BE8 001EFB48 CB A1 0B 10 */ lfd f29, 0xb10(r1)
/* 801F2BEC 001EFB4C E3 81 0B 08 */ psq_l f28, -1272(r1), 0, qr0
/* 801F2BF0 001EFB50 CB 81 0B 00 */ lfd f28, 0xb00(r1)
/* 801F2BF4 001EFB54 E3 61 0A F8 */ psq_l f27, -1288(r1), 0, qr0
/* 801F2BF8 001EFB58 CB 61 0A F0 */ lfd f27, 0xaf0(r1)
/* 801F2BFC 001EFB5C E3 41 0A E8 */ psq_l f26, -1304(r1), 0, qr0
/* 801F2C00 001EFB60 CB 41 0A E0 */ lfd f26, 0xae0(r1)
/* 801F2C04 001EFB64 BB 21 0A C4 */ lmw r25, 0xac4(r1)
/* 801F2C08 001EFB68 80 01 0B 44 */ lwz r0, 0xb44(r1)
/* 801F2C0C 001EFB6C 7C 08 03 A6 */ mtlr r0
/* 801F2C10 001EFB70 38 21 0B 40 */ addi r1, r1, 0xb40
/* 801F2C14 001EFB74 4E 80 00 20 */ blr
.global UpdateTrailObjects__20CIceAttackProjectileFfR13CStateManager
UpdateTrailObjects__20CIceAttackProjectileFfR13CStateManager:
/* 801F2C18 001EFB78 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 801F2C1C 001EFB7C 7C 08 02 A6 */ mflr r0
/* 801F2C20 001EFB80 90 01 00 44 */ stw r0, 0x44(r1)
/* 801F2C24 001EFB84 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 801F2C28 001EFB88 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 801F2C2C 001EFB8C BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 801F2C30 001EFB90 7C 7E 1B 78 */ mr r30, r3
/* 801F2C34 001EFB94 FF E0 08 90 */ fmr f31, f1
/* 801F2C38 001EFB98 88 03 01 90 */ lbz r0, 0x190(r3)
/* 801F2C3C 001EFB9C 7C 9F 23 78 */ mr r31, r4
/* 801F2C40 001EFBA0 28 00 00 00 */ cmplwi r0, 0
/* 801F2C44 001EFBA4 41 82 01 18 */ beq lbl_801F2D5C
/* 801F2C48 001EFBA8 C0 3E 01 7C */ lfs f1, 0x17c(r30)
/* 801F2C4C 001EFBAC C0 02 AF 10 */ lfs f0, lbl_805ACC30@sda21(r2)
/* 801F2C50 001EFBB0 EC 21 F8 2A */ fadds f1, f1, f31
/* 801F2C54 001EFBB4 D0 3E 01 7C */ stfs f1, 0x17c(r30)
/* 801F2C58 001EFBB8 C0 3E 01 7C */ lfs f1, 0x17c(r30)
/* 801F2C5C 001EFBBC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801F2C60 001EFBC0 40 81 00 FC */ ble lbl_801F2D5C
/* 801F2C64 001EFBC4 88 1E 01 91 */ lbz r0, 0x191(r30)
/* 801F2C68 001EFBC8 28 00 00 00 */ cmplwi r0, 0
/* 801F2C6C 001EFBCC 40 82 00 38 */ bne lbl_801F2CA4
/* 801F2C70 001EFBD0 A0 9E 01 8A */ lhz r4, 0x18a(r30)
/* 801F2C74 001EFBD4 38 61 00 0C */ addi r3, r1, 0xc
/* 801F2C78 001EFBD8 A9 02 C5 FA */ lha r8, lbl_805AE31A@sda21(r2)
/* 801F2C7C 001EFBDC 38 A0 00 7F */ li r5, 0x7f
/* 801F2C80 001EFBE0 81 42 C6 00 */ lwz r10, lbl_805AE320@sda21(r2)
/* 801F2C84 001EFBE4 38 C0 00 40 */ li r6, 0x40
/* 801F2C88 001EFBE8 38 E0 00 00 */ li r7, 0
/* 801F2C8C 001EFBEC 39 20 00 01 */ li r9, 1
/* 801F2C90 001EFBF0 48 0F 70 E5 */ bl SfxStart__11CSfxManagerFUsssbsbi
/* 801F2C94 001EFBF4 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801F2C98 001EFBF8 38 00 00 01 */ li r0, 1
/* 801F2C9C 001EFBFC 90 7E 01 94 */ stw r3, 0x194(r30)
/* 801F2CA0 001EFC00 98 1E 01 91 */ stb r0, 0x191(r30)
lbl_801F2CA4:
/* 801F2CA4 001EFC04 C0 3E 01 7C */ lfs f1, 0x17c(r30)
/* 801F2CA8 001EFC08 3B 60 00 00 */ li r27, 0
/* 801F2CAC 001EFC0C C0 02 AF 10 */ lfs f0, lbl_805ACC30@sda21(r2)
/* 801F2CB0 001EFC10 3B A0 00 00 */ li r29, 0
/* 801F2CB4 001EFC14 EC 01 00 28 */ fsubs f0, f1, f0
/* 801F2CB8 001EFC18 D0 1E 01 7C */ stfs f0, 0x17c(r30)
/* 801F2CBC 001EFC1C 48 00 00 94 */ b lbl_801F2D50
lbl_801F2CC0:
/* 801F2CC0 001EFC20 80 1E 01 14 */ lwz r0, 0x114(r30)
/* 801F2CC4 001EFC24 7F 80 EA 14 */ add r28, r0, r29
/* 801F2CC8 001EFC28 7F 83 E3 78 */ mr r3, r28
/* 801F2CCC 001EFC2C 4B FF ED E9 */ bl ExplosionStarted__Q220CIceAttackProjectile12CTrailObjectCFv
/* 801F2CD0 001EFC30 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801F2CD4 001EFC34 40 82 00 74 */ bne lbl_801F2D48
/* 801F2CD8 001EFC38 3C 60 80 3D */ lis r3, lbl_803D2050@ha
/* 801F2CDC 001EFC3C 3B 60 00 00 */ li r27, 0
/* 801F2CE0 001EFC40 38 83 20 50 */ addi r4, r3, lbl_803D2050@l
/* 801F2CE4 001EFC44 38 A0 00 00 */ li r5, 0
/* 801F2CE8 001EFC48 38 60 03 40 */ li r3, 0x340
/* 801F2CEC 001EFC4C 48 12 2B 81 */ bl __nw__FUlPCcPCc
/* 801F2CF0 001EFC50 7C 7D 1B 79 */ or. r29, r3, r3
/* 801F2CF4 001EFC54 41 82 00 2C */ beq lbl_801F2D20
/* 801F2CF8 001EFC58 38 61 00 10 */ addi r3, r1, 0x10
/* 801F2CFC 001EFC5C 38 9E 00 F0 */ addi r4, r30, 0xf0
/* 801F2D00 001EFC60 48 14 E1 A9 */ bl __ct__6CTokenFRC6CToken
/* 801F2D04 001EFC64 7F A3 EB 78 */ mr r3, r29
/* 801F2D08 001EFC68 38 81 00 10 */ addi r4, r1, 0x10
/* 801F2D0C 001EFC6C 3B 60 00 01 */ li r27, 1
/* 801F2D10 001EFC70 38 A0 00 00 */ li r5, 0
/* 801F2D14 001EFC74 38 C0 00 01 */ li r6, 1
/* 801F2D18 001EFC78 48 12 C6 C9 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 801F2D1C 001EFC7C 7C 7D 1B 78 */ mr r29, r3
lbl_801F2D20:
/* 801F2D20 001EFC80 7F 83 E3 78 */ mr r3, r28
/* 801F2D24 001EFC84 7F A4 EB 78 */ mr r4, r29
/* 801F2D28 001EFC88 7F E5 FB 78 */ mr r5, r31
/* 801F2D2C 001EFC8C 4B FF F3 19 */ bl StartExplosion__Q220CIceAttackProjectile12CTrailObjectFP11CElementGenR13CStateManager
/* 801F2D30 001EFC90 7F 60 07 75 */ extsb. r0, r27
/* 801F2D34 001EFC94 41 82 00 28 */ beq lbl_801F2D5C
/* 801F2D38 001EFC98 38 61 00 10 */ addi r3, r1, 0x10
/* 801F2D3C 001EFC9C 38 80 00 00 */ li r4, 0
/* 801F2D40 001EFCA0 48 14 E1 01 */ bl __dt__6CTokenFv
/* 801F2D44 001EFCA4 48 00 00 18 */ b lbl_801F2D5C
lbl_801F2D48:
/* 801F2D48 001EFCA8 3B BD 03 24 */ addi r29, r29, 0x324
/* 801F2D4C 001EFCAC 3B 7B 00 01 */ addi r27, r27, 1
lbl_801F2D50:
/* 801F2D50 001EFCB0 80 1E 01 0C */ lwz r0, 0x10c(r30)
/* 801F2D54 001EFCB4 7C 1B 00 00 */ cmpw r27, r0
/* 801F2D58 001EFCB8 41 80 FF 68 */ blt lbl_801F2CC0
lbl_801F2D5C:
/* 801F2D5C 001EFCBC A0 1E 01 18 */ lhz r0, 0x118(r30)
/* 801F2D60 001EFCC0 7F E3 FB 78 */ mr r3, r31
/* 801F2D64 001EFCC4 38 81 00 08 */ addi r4, r1, 8
/* 801F2D68 001EFCC8 B0 01 00 08 */ sth r0, 8(r1)
/* 801F2D6C 001EFCCC 4B E5 98 39 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 801F2D70 001EFCD0 3B A0 00 00 */ li r29, 0
/* 801F2D74 001EFCD4 7C 7B 1B 78 */ mr r27, r3
/* 801F2D78 001EFCD8 3B 80 00 00 */ li r28, 0
/* 801F2D7C 001EFCDC 48 00 00 24 */ b lbl_801F2DA0
lbl_801F2D80:
/* 801F2D80 001EFCE0 80 1E 01 14 */ lwz r0, 0x114(r30)
/* 801F2D84 001EFCE4 FC 20 F8 90 */ fmr f1, f31
/* 801F2D88 001EFCE8 7F E4 FB 78 */ mr r4, r31
/* 801F2D8C 001EFCEC 7F 65 DB 78 */ mr r5, r27
/* 801F2D90 001EFCF0 7C 60 E2 14 */ add r3, r0, r28
/* 801F2D94 001EFCF4 4B FF ED A1 */ bl Update__Q220CIceAttackProjectile12CTrailObjectFfR13CStateManagerPC13CPhysicsActor
/* 801F2D98 001EFCF8 3B 9C 03 24 */ addi r28, r28, 0x324
/* 801F2D9C 001EFCFC 3B BD 00 01 */ addi r29, r29, 1
lbl_801F2DA0:
/* 801F2DA0 001EFD00 80 1E 01 0C */ lwz r0, 0x10c(r30)
/* 801F2DA4 001EFD04 7C 1D 00 00 */ cmpw r29, r0
/* 801F2DA8 001EFD08 41 80 FF D8 */ blt lbl_801F2D80
/* 801F2DAC 001EFD0C E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 801F2DB0 001EFD10 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 801F2DB4 001EFD14 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 801F2DB8 001EFD18 80 01 00 44 */ lwz r0, 0x44(r1)
/* 801F2DBC 001EFD1C 7C 08 03 A6 */ mtlr r0
/* 801F2DC0 001EFD20 38 21 00 40 */ addi r1, r1, 0x40
/* 801F2DC4 001EFD24 4E 80 00 20 */ blr
.global CreateTrailObject__20CIceAttackProjectileFR13CStateManagerRC9CVector3ff
CreateTrailObject__20CIceAttackProjectileFR13CStateManagerRC9CVector3ff:
/* 801F2DC8 001EFD28 94 21 FB F0 */ stwu r1, -0x410(r1)
/* 801F2DCC 001EFD2C 7C 08 02 A6 */ mflr r0
/* 801F2DD0 001EFD30 90 01 04 14 */ stw r0, 0x414(r1)
/* 801F2DD4 001EFD34 DB E1 04 00 */ stfd f31, 0x400(r1)
/* 801F2DD8 001EFD38 F3 E1 04 08 */ psq_st f31, 1032(r1), 0, qr0
/* 801F2DDC 001EFD3C BF 41 03 E8 */ stmw r26, 0x3e8(r1)
/* 801F2DE0 001EFD40 FF E0 08 90 */ fmr f31, f1
/* 801F2DE4 001EFD44 7C 7C 1B 78 */ mr r28, r3
/* 801F2DE8 001EFD48 7C 9D 23 78 */ mr r29, r4
/* 801F2DEC 001EFD4C 7C BE 2B 78 */ mr r30, r5
/* 801F2DF0 001EFD50 38 61 00 18 */ addi r3, r1, 0x18
/* 801F2DF4 001EFD54 4B E5 A2 E9 */ bl AllocateUniqueId__13CStateManagerFv
/* 801F2DF8 001EFD58 A0 01 00 18 */ lhz r0, 0x18(r1)
/* 801F2DFC 001EFD5C 3C 60 80 3D */ lis r3, lbl_803D2050@ha
/* 801F2E00 001EFD60 38 83 20 50 */ addi r4, r3, lbl_803D2050@l
/* 801F2E04 001EFD64 38 A0 00 00 */ li r5, 0
/* 801F2E08 001EFD68 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 801F2E0C 001EFD6C 38 60 03 10 */ li r3, 0x310
/* 801F2E10 001EFD70 48 12 2A 5D */ bl __nw__FUlPCcPCc
/* 801F2E14 001EFD74 7C 7F 1B 79 */ or. r31, r3, r3
/* 801F2E18 001EFD78 41 82 00 44 */ beq lbl_801F2E5C
/* 801F2E1C 001EFD7C A1 3C 00 08 */ lhz r9, 8(r28)
/* 801F2E20 001EFD80 38 81 00 0C */ addi r4, r1, 0xc
/* 801F2E24 001EFD84 A0 01 00 1C */ lhz r0, 0x1c(r1)
/* 801F2E28 001EFD88 38 A1 00 2C */ addi r5, r1, 0x2c
/* 801F2E2C 001EFD8C B1 21 00 14 */ sth r9, 0x14(r1)
/* 801F2E30 001EFD90 38 C1 00 14 */ addi r6, r1, 0x14
/* 801F2E34 001EFD94 C0 22 AF 0C */ lfs f1, lbl_805ACC2C@sda21(r2)
/* 801F2E38 001EFD98 38 E0 00 00 */ li r7, 0
/* 801F2E3C 001EFD9C 81 1C 00 04 */ lwz r8, 4(r28)
/* 801F2E40 001EFDA0 B1 21 00 10 */ sth r9, 0x10(r1)
/* 801F2E44 001EFDA4 C0 42 AF 14 */ lfs f2, lbl_805ACC34@sda21(r2)
/* 801F2E48 001EFDA8 91 01 00 28 */ stw r8, 0x28(r1)
/* 801F2E4C 001EFDAC 91 01 00 2C */ stw r8, 0x2c(r1)
/* 801F2E50 001EFDB0 B0 01 00 0C */ sth r0, 0xc(r1)
/* 801F2E54 001EFDB4 4B FB 65 E1 */ bl __ct__15CCollisionActorF9TUniqueId7TAreaId9TUniqueIdbff
/* 801F2E58 001EFDB8 7C 7F 1B 78 */ mr r31, r3
lbl_801F2E5C:
/* 801F2E5C 001EFDBC 38 7F 00 34 */ addi r3, r31, 0x34
/* 801F2E60 001EFDC0 38 9C 00 34 */ addi r4, r28, 0x34
/* 801F2E64 001EFDC4 48 11 FC DD */ bl __as__12CTransform4fFRC12CTransform4f
/* 801F2E68 001EFDC8 88 1F 00 E4 */ lbz r0, 0xe4(r31)
/* 801F2E6C 001EFDCC 38 A0 00 01 */ li r5, 1
/* 801F2E70 001EFDD0 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b
/* 801F2E74 001EFDD4 C0 22 AE E8 */ lfs f1, lbl_805ACC08@sda21(r2)
/* 801F2E78 001EFDD8 98 1F 00 E4 */ stb r0, 0xe4(r31)
/* 801F2E7C 001EFDDC 7F E3 FB 78 */ mr r3, r31
/* 801F2E80 001EFDE0 C0 02 AE EC */ lfs f0, lbl_805ACC0C@sda21(r2)
/* 801F2E84 001EFDE4 38 81 00 80 */ addi r4, r1, 0x80
/* 801F2E88 001EFDE8 88 1F 00 E4 */ lbz r0, 0xe4(r31)
/* 801F2E8C 001EFDEC 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c
/* 801F2E90 001EFDF0 98 1F 00 E4 */ stb r0, 0xe4(r31)
/* 801F2E94 001EFDF4 88 1F 00 E4 */ lbz r0, 0xe4(r31)
/* 801F2E98 001EFDF8 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d
/* 801F2E9C 001EFDFC 98 1F 00 E4 */ stb r0, 0xe4(r31)
/* 801F2EA0 001EFE00 C0 DF 00 60 */ lfs f6, 0x60(r31)
/* 801F2EA4 001EFE04 C0 BF 00 50 */ lfs f5, 0x50(r31)
/* 801F2EA8 001EFE08 C0 5F 00 40 */ lfs f2, 0x40(r31)
/* 801F2EAC 001EFE0C EC 66 00 28 */ fsubs f3, f6, f0
/* 801F2EB0 001EFE10 EC 85 08 28 */ fsubs f4, f5, f1
/* 801F2EB4 001EFE14 D0 A1 00 78 */ stfs f5, 0x78(r1)
/* 801F2EB8 001EFE18 EC 02 08 28 */ fsubs f0, f2, f1
/* 801F2EBC 001EFE1C D0 41 00 74 */ stfs f2, 0x74(r1)
/* 801F2EC0 001EFE20 D0 C1 00 7C */ stfs f6, 0x7c(r1)
/* 801F2EC4 001EFE24 D0 01 00 80 */ stfs f0, 0x80(r1)
/* 801F2EC8 001EFE28 D0 81 00 84 */ stfs f4, 0x84(r1)
/* 801F2ECC 001EFE2C D0 61 00 88 */ stfs f3, 0x88(r1)
/* 801F2ED0 001EFE30 4B E5 FF BD */ bl SetTranslation__6CActorFRC9CVector3f
/* 801F2ED4 001EFE34 80 9F 00 68 */ lwz r4, 0x68(r31)
/* 801F2ED8 001EFE38 3C 00 00 20 */ lis r0, 0x20
/* 801F2EDC 001EFE3C 7F E3 FB 78 */ mr r3, r31
/* 801F2EE0 001EFE40 60 84 08 00 */ ori r4, r4, 0x800
/* 801F2EE4 001EFE44 90 9F 00 68 */ stw r4, 0x68(r31)
/* 801F2EE8 001EFE48 80 BF 00 6C */ lwz r5, 0x6c(r31)
/* 801F2EEC 001EFE4C 7C A0 03 78 */ or r0, r5, r0
/* 801F2EF0 001EFE50 90 1F 00 6C */ stw r0, 0x6c(r31)
/* 801F2EF4 001EFE54 4B E6 09 C9 */ bl GetMaterialFilter__6CActorCFv
/* 801F2EF8 001EFE58 80 03 00 00 */ lwz r0, 0(r3)
/* 801F2EFC 001EFE5C 38 80 00 01 */ li r4, 1
/* 801F2F00 001EFE60 80 C3 00 04 */ lwz r6, 4(r3)
/* 801F2F04 001EFE64 80 AD 92 A4 */ lwz r5, lbl_805A7E64@sda21(r13)
/* 801F2F08 001EFE68 90 C1 00 AC */ stw r6, 0xac(r1)
/* 801F2F0C 001EFE6C 90 01 00 A8 */ stw r0, 0xa8(r1)
/* 801F2F10 001EFE70 80 03 00 08 */ lwz r0, 8(r3)
/* 801F2F14 001EFE74 80 C3 00 0C */ lwz r6, 0xc(r3)
/* 801F2F18 001EFE78 90 C1 00 B4 */ stw r6, 0xb4(r1)
/* 801F2F1C 001EFE7C 90 01 00 B0 */ stw r0, 0xb0(r1)
/* 801F2F20 001EFE80 80 03 00 10 */ lwz r0, 0x10(r3)
/* 801F2F24 001EFE84 38 60 00 00 */ li r3, 0
/* 801F2F28 001EFE88 90 01 00 B8 */ stw r0, 0xb8(r1)
/* 801F2F2C 001EFE8C 48 19 6F C9 */ bl __shl2i
/* 801F2F30 001EFE90 80 AD 92 A8 */ lwz r5, lbl_805A7E68@sda21(r13)
/* 801F2F34 001EFE94 7C 9A 23 78 */ mr r26, r4
/* 801F2F38 001EFE98 7C 7B 1B 78 */ mr r27, r3
/* 801F2F3C 001EFE9C 38 60 00 00 */ li r3, 0
/* 801F2F40 001EFEA0 38 80 00 01 */ li r4, 1
/* 801F2F44 001EFEA4 48 19 6F B1 */ bl __shl2i
/* 801F2F48 001EFEA8 80 01 00 B0 */ lwz r0, 0xb0(r1)
/* 801F2F4C 001EFEAC 7F 7B 1B 78 */ or r27, r27, r3
/* 801F2F50 001EFEB0 7F 5A 23 78 */ or r26, r26, r4
/* 801F2F54 001EFEB4 80 81 00 B4 */ lwz r4, 0xb4(r1)
/* 801F2F58 001EFEB8 7C 00 DB 78 */ or r0, r0, r27
/* 801F2F5C 001EFEBC 7F E3 FB 78 */ mr r3, r31
/* 801F2F60 001EFEC0 7C 85 D3 78 */ or r5, r4, r26
/* 801F2F64 001EFEC4 90 01 00 B0 */ stw r0, 0xb0(r1)
/* 801F2F68 001EFEC8 38 81 00 A8 */ addi r4, r1, 0xa8
/* 801F2F6C 001EFECC 90 A1 00 B4 */ stw r5, 0xb4(r1)
/* 801F2F70 001EFED0 4B E6 09 31 */ bl SetMaterialFilter__6CActorFRC15CMaterialFilter
/* 801F2F74 001EFED4 7F A3 EB 78 */ mr r3, r29
/* 801F2F78 001EFED8 7F E4 FB 78 */ mr r4, r31
/* 801F2F7C 001EFEDC 4B E5 9D 79 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence
/* 801F2F80 001EFEE0 3C 60 80 3D */ lis r3, lbl_803D2050@ha
/* 801F2F84 001EFEE4 3B 40 00 00 */ li r26, 0
/* 801F2F88 001EFEE8 38 83 20 50 */ addi r4, r3, lbl_803D2050@l
/* 801F2F8C 001EFEEC 38 A0 00 00 */ li r5, 0
/* 801F2F90 001EFEF0 38 60 03 40 */ li r3, 0x340
/* 801F2F94 001EFEF4 48 12 28 D9 */ bl __nw__FUlPCcPCc
/* 801F2F98 001EFEF8 7C 7F 1B 79 */ or. r31, r3, r3
/* 801F2F9C 001EFEFC 41 82 00 2C */ beq lbl_801F2FC8
/* 801F2FA0 001EFF00 38 61 00 30 */ addi r3, r1, 0x30
/* 801F2FA4 001EFF04 38 9C 00 E8 */ addi r4, r28, 0xe8
/* 801F2FA8 001EFF08 48 14 DF 01 */ bl __ct__6CTokenFRC6CToken
/* 801F2FAC 001EFF0C 7F E3 FB 78 */ mr r3, r31
/* 801F2FB0 001EFF10 38 81 00 30 */ addi r4, r1, 0x30
/* 801F2FB4 001EFF14 3B 40 00 01 */ li r26, 1
/* 801F2FB8 001EFF18 38 A0 00 01 */ li r5, 1
/* 801F2FBC 001EFF1C 38 C0 00 01 */ li r6, 1
/* 801F2FC0 001EFF20 48 12 C4 21 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 801F2FC4 001EFF24 7C 7F 1B 78 */ mr r31, r3
lbl_801F2FC8:
/* 801F2FC8 001EFF28 7F 40 07 75 */ extsb. r0, r26
/* 801F2FCC 001EFF2C 7F FA FB 78 */ mr r26, r31
/* 801F2FD0 001EFF30 41 82 00 10 */ beq lbl_801F2FE0
/* 801F2FD4 001EFF34 38 61 00 30 */ addi r3, r1, 0x30
/* 801F2FD8 001EFF38 38 80 00 00 */ li r4, 0
/* 801F2FDC 001EFF3C 48 14 DE 65 */ bl __dt__6CTokenFv
lbl_801F2FE0:
/* 801F2FE0 001EFF40 88 1A 02 6D */ lbz r0, 0x26d(r26)
/* 801F2FE4 001EFF44 38 60 00 01 */ li r3, 1
/* 801F2FE8 001EFF48 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 801F2FEC 001EFF4C C0 02 AE E8 */ lfs f0, lbl_805ACC08@sda21(r2)
/* 801F2FF0 001EFF50 98 1A 02 6D */ stb r0, 0x26d(r26)
/* 801F2FF4 001EFF54 38 61 00 5C */ addi r3, r1, 0x5c
/* 801F2FF8 001EFF58 A0 01 00 1C */ lhz r0, 0x1c(r1)
/* 801F2FFC 001EFF5C 38 9C 00 34 */ addi r4, r28, 0x34
/* 801F3000 001EFF60 C0 3C 01 70 */ lfs f1, 0x170(r28)
/* 801F3004 001EFF64 38 A1 00 50 */ addi r5, r1, 0x50
/* 801F3008 001EFF68 EC 21 07 F2 */ fmuls f1, f1, f31
/* 801F300C 001EFF6C D0 01 00 50 */ stfs f0, 0x50(r1)
/* 801F3010 001EFF70 D0 01 00 58 */ stfs f0, 0x58(r1)
/* 801F3014 001EFF74 D0 21 00 54 */ stfs f1, 0x54(r1)
/* 801F3018 001EFF78 C0 5C 00 60 */ lfs f2, 0x60(r28)
/* 801F301C 001EFF7C C0 3C 00 50 */ lfs f1, 0x50(r28)
/* 801F3020 001EFF80 C0 1C 00 40 */ lfs f0, 0x40(r28)
/* 801F3024 001EFF84 D0 01 00 68 */ stfs f0, 0x68(r1)
/* 801F3028 001EFF88 D0 21 00 6C */ stfs f1, 0x6c(r1)
/* 801F302C 001EFF8C D0 41 00 70 */ stfs f2, 0x70(r1)
/* 801F3030 001EFF90 B0 01 00 08 */ sth r0, 8(r1)
/* 801F3034 001EFF94 48 11 FA 4D */ bl Rotate__12CTransform4fCFRC9CVector3f
/* 801F3038 001EFF98 7F 44 D3 78 */ mr r4, r26
/* 801F303C 001EFF9C 7F C7 F3 78 */ mr r7, r30
/* 801F3040 001EFFA0 38 61 00 C0 */ addi r3, r1, 0xc0
/* 801F3044 001EFFA4 38 A1 00 08 */ addi r5, r1, 8
/* 801F3048 001EFFA8 38 C1 00 68 */ addi r6, r1, 0x68
/* 801F304C 001EFFAC 39 01 00 5C */ addi r8, r1, 0x5c
/* 801F3050 001EFFB0 4B FF F1 81 */ bl __ct__Q220CIceAttackProjectile12CTrailObjectFP11CElementGen9TUniqueIdRC9CVector3fRC9CVector3fRC9CVector3f
/* 801F3054 001EFFB4 38 80 00 02 */ li r4, 2
/* 801F3058 001EFFB8 88 01 03 70 */ lbz r0, 0x370(r1)
/* 801F305C 001EFFBC 7C 64 00 D0 */ neg r3, r4
/* 801F3060 001EFFC0 90 81 03 90 */ stw r4, 0x390(r1)
/* 801F3064 001EFFC4 7C 63 20 78 */ andc r3, r3, r4
/* 801F3068 001EFFC8 3B 41 00 D8 */ addi r26, r1, 0xd8
/* 801F306C 001EFFCC 54 64 0F FE */ srwi r4, r3, 0x1f
/* 801F3070 001EFFD0 38 61 00 8C */ addi r3, r1, 0x8c
/* 801F3074 001EFFD4 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 801F3078 001EFFD8 38 81 00 44 */ addi r4, r1, 0x44
/* 801F307C 001EFFDC 98 01 03 70 */ stb r0, 0x370(r1)
/* 801F3080 001EFFE0 38 A1 00 38 */ addi r5, r1, 0x38
/* 801F3084 001EFFE4 C0 5C 00 60 */ lfs f2, 0x60(r28)
/* 801F3088 001EFFE8 C0 3C 00 50 */ lfs f1, 0x50(r28)
/* 801F308C 001EFFEC C0 1C 00 40 */ lfs f0, 0x40(r28)
/* 801F3090 001EFFF0 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 801F3094 001EFFF4 D0 21 00 3C */ stfs f1, 0x3c(r1)
/* 801F3098 001EFFF8 D0 41 00 40 */ stfs f2, 0x40(r1)
/* 801F309C 001EFFFC D0 01 00 44 */ stfs f0, 0x44(r1)
/* 801F30A0 001F0000 D0 21 00 48 */ stfs f1, 0x48(r1)
/* 801F30A4 001F0004 D0 41 00 4C */ stfs f2, 0x4c(r1)
/* 801F30A8 001F0008 81 1C 00 04 */ lwz r8, 4(r28)
/* 801F30AC 001F000C 80 FD 08 50 */ lwz r7, 0x850(r29)
/* 801F30B0 001F0010 55 06 18 38 */ slwi r6, r8, 3
/* 801F30B4 001F0014 91 01 00 20 */ stw r8, 0x20(r1)
/* 801F30B8 001F0018 80 E7 00 20 */ lwz r7, 0x20(r7)
/* 801F30BC 001F001C 38 06 00 04 */ addi r0, r6, 4
/* 801F30C0 001F0020 91 01 00 24 */ stw r8, 0x24(r1)
/* 801F30C4 001F0024 7F C7 00 2E */ lwzx r30, r7, r0
/* 801F30C8 001F0028 48 14 54 41 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 801F30CC 001F002C 7C 66 1B 78 */ mr r6, r3
/* 801F30D0 001F0030 7F 43 D3 78 */ mr r3, r26
/* 801F30D4 001F0034 7F A4 EB 78 */ mr r4, r29
/* 801F30D8 001F0038 7F C5 F3 78 */ mr r5, r30
/* 801F30DC 001F003C 4B F1 0C E5 */ bl BuildAreaLightList__12CActorLightsFRC13CStateManagerRC9CGameAreaRC6CAABox
/* 801F30E0 001F0040 80 7C 01 0C */ lwz r3, 0x10c(r28)
/* 801F30E4 001F0044 80 1C 01 10 */ lwz r0, 0x110(r28)
/* 801F30E8 001F0048 38 83 00 01 */ addi r4, r3, 1
/* 801F30EC 001F004C 7C 00 20 00 */ cmpw r0, r4
/* 801F30F0 001F0050 40 80 00 0C */ bge lbl_801F30FC
/* 801F30F4 001F0054 38 7C 01 08 */ addi r3, r28, 0x108
/* 801F30F8 001F0058 48 00 0E 21 */ bl sub_801f3f18
lbl_801F30FC:
/* 801F30FC 001F005C 38 7C 01 08 */ addi r3, r28, 0x108
/* 801F3100 001F0060 38 81 00 C0 */ addi r4, r1, 0xc0
/* 801F3104 001F0064 48 00 00 8D */ bl sub_801f3190
/* 801F3108 001F0068 7F 43 D3 78 */ mr r3, r26
/* 801F310C 001F006C 38 80 FF FF */ li r4, -1
/* 801F3110 001F0070 4B F1 1F C5 */ bl __dt__12CActorLightsFv
/* 801F3114 001F0074 34 61 00 C8 */ addic. r3, r1, 0xc8
/* 801F3118 001F0078 41 82 00 30 */ beq lbl_801F3148
/* 801F311C 001F007C 88 03 00 00 */ lbz r0, 0(r3)
/* 801F3120 001F0080 28 00 00 00 */ cmplwi r0, 0
/* 801F3124 001F0084 41 82 00 24 */ beq lbl_801F3148
/* 801F3128 001F0088 80 61 00 CC */ lwz r3, 0xcc(r1)
/* 801F312C 001F008C 28 03 00 00 */ cmplwi r3, 0
/* 801F3130 001F0090 41 82 00 18 */ beq lbl_801F3148
/* 801F3134 001F0094 81 83 00 00 */ lwz r12, 0(r3)
/* 801F3138 001F0098 38 80 00 01 */ li r4, 1
/* 801F313C 001F009C 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F3140 001F00A0 7D 89 03 A6 */ mtctr r12
/* 801F3144 001F00A4 4E 80 04 21 */ bctrl
lbl_801F3148:
/* 801F3148 001F00A8 88 01 00 C0 */ lbz r0, 0xc0(r1)
/* 801F314C 001F00AC 28 00 00 00 */ cmplwi r0, 0
/* 801F3150 001F00B0 41 82 00 24 */ beq lbl_801F3174
/* 801F3154 001F00B4 80 61 00 C4 */ lwz r3, 0xc4(r1)
/* 801F3158 001F00B8 28 03 00 00 */ cmplwi r3, 0
/* 801F315C 001F00BC 41 82 00 18 */ beq lbl_801F3174
/* 801F3160 001F00C0 81 83 00 00 */ lwz r12, 0(r3)
/* 801F3164 001F00C4 38 80 00 01 */ li r4, 1
/* 801F3168 001F00C8 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F316C 001F00CC 7D 89 03 A6 */ mtctr r12
/* 801F3170 001F00D0 4E 80 04 21 */ bctrl
lbl_801F3174:
/* 801F3174 001F00D4 E3 E1 04 08 */ psq_l f31, 1032(r1), 0, qr0
/* 801F3178 001F00D8 CB E1 04 00 */ lfd f31, 0x400(r1)
/* 801F317C 001F00DC BB 41 03 E8 */ lmw r26, 0x3e8(r1)
/* 801F3180 001F00E0 80 01 04 14 */ lwz r0, 0x414(r1)
/* 801F3184 001F00E4 7C 08 03 A6 */ mtlr r0
/* 801F3188 001F00E8 38 21 04 10 */ addi r1, r1, 0x410
/* 801F318C 001F00EC 4E 80 00 20 */ blr
.global sub_801f3190
sub_801f3190:
/* 801F3190 001F00F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801F3194 001F00F4 7C 08 02 A6 */ mflr r0
/* 801F3198 001F00F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 801F319C 001F00FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801F31A0 001F0100 7C 9F 23 78 */ mr r31, r4
/* 801F31A4 001F0104 93 C1 00 08 */ stw r30, 8(r1)
/* 801F31A8 001F0108 7C 7E 1B 78 */ mr r30, r3
/* 801F31AC 001F010C 80 03 00 04 */ lwz r0, 4(r3)
/* 801F31B0 001F0110 80 A3 00 08 */ lwz r5, 8(r3)
/* 801F31B4 001F0114 7C 00 28 00 */ cmpw r0, r5
/* 801F31B8 001F0118 41 80 00 18 */ blt lbl_801F31D0
/* 801F31BC 001F011C 2C 05 00 00 */ cmpwi r5, 0
/* 801F31C0 001F0120 38 80 00 04 */ li r4, 4
/* 801F31C4 001F0124 41 82 00 08 */ beq lbl_801F31CC
/* 801F31C8 001F0128 54 A4 08 3C */ slwi r4, r5, 1
lbl_801F31CC:
/* 801F31CC 001F012C 48 00 0D 4D */ bl sub_801f3f18
lbl_801F31D0:
/* 801F31D0 001F0130 80 1E 00 04 */ lwz r0, 4(r30)
/* 801F31D4 001F0134 7F E4 FB 78 */ mr r4, r31
/* 801F31D8 001F0138 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 801F31DC 001F013C 1C 00 03 24 */ mulli r0, r0, 0x324
/* 801F31E0 001F0140 7C 63 02 14 */ add r3, r3, r0
/* 801F31E4 001F0144 48 00 00 29 */ bl sub_801f320c
/* 801F31E8 001F0148 80 7E 00 04 */ lwz r3, 4(r30)
/* 801F31EC 001F014C 38 03 00 01 */ addi r0, r3, 1
/* 801F31F0 001F0150 90 1E 00 04 */ stw r0, 4(r30)
/* 801F31F4 001F0154 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801F31F8 001F0158 83 C1 00 08 */ lwz r30, 8(r1)
/* 801F31FC 001F015C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801F3200 001F0160 7C 08 03 A6 */ mtlr r0
/* 801F3204 001F0164 38 21 00 10 */ addi r1, r1, 0x10
/* 801F3208 001F0168 4E 80 00 20 */ blr
.global sub_801f320c
sub_801f320c:
/* 801F320C 001F016C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801F3210 001F0170 7C 08 02 A6 */ mflr r0
/* 801F3214 001F0174 28 03 00 00 */ cmplwi r3, 0
/* 801F3218 001F0178 90 01 00 14 */ stw r0, 0x14(r1)
/* 801F321C 001F017C 41 82 00 08 */ beq lbl_801F3224
/* 801F3220 001F0180 48 00 00 15 */ bl sub_801f3234
lbl_801F3224:
/* 801F3224 001F0184 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801F3228 001F0188 7C 08 03 A6 */ mtlr r0
/* 801F322C 001F018C 38 21 00 10 */ addi r1, r1, 0x10
/* 801F3230 001F0190 4E 80 00 20 */ blr
.global sub_801f3234
sub_801f3234:
/* 801F3234 001F0194 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801F3238 001F0198 7C 08 02 A6 */ mflr r0
/* 801F323C 001F019C 38 A0 00 00 */ li r5, 0
/* 801F3240 001F01A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 801F3244 001F01A4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801F3248 001F01A8 7C 9F 23 78 */ mr r31, r4
/* 801F324C 001F01AC 93 C1 00 08 */ stw r30, 8(r1)
/* 801F3250 001F01B0 7C 7E 1B 78 */ mr r30, r3
/* 801F3254 001F01B4 38 7E 00 18 */ addi r3, r30, 0x18
/* 801F3258 001F01B8 88 04 00 00 */ lbz r0, 0(r4)
/* 801F325C 001F01BC 38 9F 00 18 */ addi r4, r31, 0x18
/* 801F3260 001F01C0 98 1E 00 00 */ stb r0, 0(r30)
/* 801F3264 001F01C4 80 1F 00 04 */ lwz r0, 4(r31)
/* 801F3268 001F01C8 90 1E 00 04 */ stw r0, 4(r30)
/* 801F326C 001F01CC 98 BF 00 00 */ stb r5, 0(r31)
/* 801F3270 001F01D0 88 1F 00 08 */ lbz r0, 8(r31)
/* 801F3274 001F01D4 98 1E 00 08 */ stb r0, 8(r30)
/* 801F3278 001F01D8 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 801F327C 001F01DC 90 1E 00 0C */ stw r0, 0xc(r30)
/* 801F3280 001F01E0 98 BF 00 08 */ stb r5, 8(r31)
/* 801F3284 001F01E4 A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 801F3288 001F01E8 B0 1E 00 10 */ sth r0, 0x10(r30)
/* 801F328C 001F01EC C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 801F3290 001F01F0 D0 1E 00 14 */ stfs f0, 0x14(r30)
/* 801F3294 001F01F4 48 00 00 79 */ bl sub_801f330c
/* 801F3298 001F01F8 C0 1F 02 F8 */ lfs f0, 0x2f8(r31)
/* 801F329C 001F01FC 7F C3 F3 78 */ mr r3, r30
/* 801F32A0 001F0200 D0 1E 02 F8 */ stfs f0, 0x2f8(r30)
/* 801F32A4 001F0204 C0 1F 02 FC */ lfs f0, 0x2fc(r31)
/* 801F32A8 001F0208 D0 1E 02 FC */ stfs f0, 0x2fc(r30)
/* 801F32AC 001F020C C0 1F 03 00 */ lfs f0, 0x300(r31)
/* 801F32B0 001F0210 D0 1E 03 00 */ stfs f0, 0x300(r30)
/* 801F32B4 001F0214 C0 1F 03 04 */ lfs f0, 0x304(r31)
/* 801F32B8 001F0218 D0 1E 03 04 */ stfs f0, 0x304(r30)
/* 801F32BC 001F021C C0 1F 03 08 */ lfs f0, 0x308(r31)
/* 801F32C0 001F0220 D0 1E 03 08 */ stfs f0, 0x308(r30)
/* 801F32C4 001F0224 C0 1F 03 0C */ lfs f0, 0x30c(r31)
/* 801F32C8 001F0228 D0 1E 03 0C */ stfs f0, 0x30c(r30)
/* 801F32CC 001F022C C0 1F 03 10 */ lfs f0, 0x310(r31)
/* 801F32D0 001F0230 D0 1E 03 10 */ stfs f0, 0x310(r30)
/* 801F32D4 001F0234 C0 1F 03 14 */ lfs f0, 0x314(r31)
/* 801F32D8 001F0238 D0 1E 03 14 */ stfs f0, 0x314(r30)
/* 801F32DC 001F023C C0 1F 03 18 */ lfs f0, 0x318(r31)
/* 801F32E0 001F0240 D0 1E 03 18 */ stfs f0, 0x318(r30)
/* 801F32E4 001F0244 80 1F 03 1C */ lwz r0, 0x31c(r31)
/* 801F32E8 001F0248 90 1E 03 1C */ stw r0, 0x31c(r30)
/* 801F32EC 001F024C 88 1F 03 20 */ lbz r0, 0x320(r31)
/* 801F32F0 001F0250 98 1E 03 20 */ stb r0, 0x320(r30)
/* 801F32F4 001F0254 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801F32F8 001F0258 83 C1 00 08 */ lwz r30, 8(r1)
/* 801F32FC 001F025C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801F3300 001F0260 7C 08 03 A6 */ mtlr r0
/* 801F3304 001F0264 38 21 00 10 */ addi r1, r1, 0x10
/* 801F3308 001F0268 4E 80 00 20 */ blr
.global sub_801f330c
sub_801f330c:
/* 801F330C 001F026C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801F3310 001F0270 7C 08 02 A6 */ mflr r0
/* 801F3314 001F0274 90 01 00 14 */ stw r0, 0x14(r1)
/* 801F3318 001F0278 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801F331C 001F027C 7C 9F 23 78 */ mr r31, r4
/* 801F3320 001F0280 93 C1 00 08 */ stw r30, 8(r1)
/* 801F3324 001F0284 7C 7E 1B 78 */ mr r30, r3
/* 801F3328 001F0288 48 00 00 ED */ bl sub_801f3414
/* 801F332C 001F028C 38 7E 01 44 */ addi r3, r30, 0x144
/* 801F3330 001F0290 38 9F 01 44 */ addi r4, r31, 0x144
/* 801F3334 001F0294 48 00 00 E1 */ bl sub_801f3414
/* 801F3338 001F0298 C0 1F 02 88 */ lfs f0, 0x288(r31)
/* 801F333C 001F029C 7F C3 F3 78 */ mr r3, r30
/* 801F3340 001F02A0 D0 1E 02 88 */ stfs f0, 0x288(r30)
/* 801F3344 001F02A4 C0 1F 02 8C */ lfs f0, 0x28c(r31)
/* 801F3348 001F02A8 D0 1E 02 8C */ stfs f0, 0x28c(r30)
/* 801F334C 001F02AC C0 1F 02 90 */ lfs f0, 0x290(r31)
/* 801F3350 001F02B0 D0 1E 02 90 */ stfs f0, 0x290(r30)
/* 801F3354 001F02B4 80 1F 02 94 */ lwz r0, 0x294(r31)
/* 801F3358 001F02B8 90 1E 02 94 */ stw r0, 0x294(r30)
/* 801F335C 001F02BC 88 1F 02 98 */ lbz r0, 0x298(r31)
/* 801F3360 001F02C0 98 1E 02 98 */ stb r0, 0x298(r30)
/* 801F3364 001F02C4 88 1F 02 99 */ lbz r0, 0x299(r31)
/* 801F3368 001F02C8 98 1E 02 99 */ stb r0, 0x299(r30)
/* 801F336C 001F02CC 88 1F 02 9A */ lbz r0, 0x29a(r31)
/* 801F3370 001F02D0 98 1E 02 9A */ stb r0, 0x29a(r30)
/* 801F3374 001F02D4 80 1F 02 9C */ lwz r0, 0x29c(r31)
/* 801F3378 001F02D8 90 1E 02 9C */ stw r0, 0x29c(r30)
/* 801F337C 001F02DC 80 1F 02 A0 */ lwz r0, 0x2a0(r31)
/* 801F3380 001F02E0 90 1E 02 A0 */ stw r0, 0x2a0(r30)
/* 801F3384 001F02E4 80 1F 02 A4 */ lwz r0, 0x2a4(r31)
/* 801F3388 001F02E8 90 1E 02 A4 */ stw r0, 0x2a4(r30)
/* 801F338C 001F02EC 80 1F 02 A8 */ lwz r0, 0x2a8(r31)
/* 801F3390 001F02F0 90 1E 02 A8 */ stw r0, 0x2a8(r30)
/* 801F3394 001F02F4 C0 1F 02 AC */ lfs f0, 0x2ac(r31)
/* 801F3398 001F02F8 D0 1E 02 AC */ stfs f0, 0x2ac(r30)
/* 801F339C 001F02FC C0 1F 02 B0 */ lfs f0, 0x2b0(r31)
/* 801F33A0 001F0300 D0 1E 02 B0 */ stfs f0, 0x2b0(r30)
/* 801F33A4 001F0304 C0 1F 02 B4 */ lfs f0, 0x2b4(r31)
/* 801F33A8 001F0308 D0 1E 02 B4 */ stfs f0, 0x2b4(r30)
/* 801F33AC 001F030C 80 1F 02 B8 */ lwz r0, 0x2b8(r31)
/* 801F33B0 001F0310 90 1E 02 B8 */ stw r0, 0x2b8(r30)
/* 801F33B4 001F0314 80 1F 02 BC */ lwz r0, 0x2bc(r31)
/* 801F33B8 001F0318 90 1E 02 BC */ stw r0, 0x2bc(r30)
/* 801F33BC 001F031C C0 1F 02 C0 */ lfs f0, 0x2c0(r31)
/* 801F33C0 001F0320 D0 1E 02 C0 */ stfs f0, 0x2c0(r30)
/* 801F33C4 001F0324 C0 1F 02 C4 */ lfs f0, 0x2c4(r31)
/* 801F33C8 001F0328 D0 1E 02 C4 */ stfs f0, 0x2c4(r30)
/* 801F33CC 001F032C C0 1F 02 C8 */ lfs f0, 0x2c8(r31)
/* 801F33D0 001F0330 D0 1E 02 C8 */ stfs f0, 0x2c8(r30)
/* 801F33D4 001F0334 C0 1F 02 CC */ lfs f0, 0x2cc(r31)
/* 801F33D8 001F0338 D0 1E 02 CC */ stfs f0, 0x2cc(r30)
/* 801F33DC 001F033C C0 1F 02 D0 */ lfs f0, 0x2d0(r31)
/* 801F33E0 001F0340 D0 1E 02 D0 */ stfs f0, 0x2d0(r30)
/* 801F33E4 001F0344 C0 1F 02 D4 */ lfs f0, 0x2d4(r31)
/* 801F33E8 001F0348 D0 1E 02 D4 */ stfs f0, 0x2d4(r30)
/* 801F33EC 001F034C 80 1F 02 D8 */ lwz r0, 0x2d8(r31)
/* 801F33F0 001F0350 90 1E 02 D8 */ stw r0, 0x2d8(r30)
/* 801F33F4 001F0354 80 1F 02 DC */ lwz r0, 0x2dc(r31)
/* 801F33F8 001F0358 90 1E 02 DC */ stw r0, 0x2dc(r30)
/* 801F33FC 001F035C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801F3400 001F0360 83 C1 00 08 */ lwz r30, 8(r1)
/* 801F3404 001F0364 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801F3408 001F0368 7C 08 03 A6 */ mtlr r0
/* 801F340C 001F036C 38 21 00 10 */ addi r1, r1, 0x10
/* 801F3410 001F0370 4E 80 00 20 */ blr
.global sub_801f3414
sub_801f3414:
/* 801F3414 001F0374 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801F3418 001F0378 7C 08 02 A6 */ mflr r0
/* 801F341C 001F037C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801F3420 001F0380 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801F3424 001F0384 7C 7F 1B 78 */ mr r31, r3
/* 801F3428 001F0388 38 64 00 04 */ addi r3, r4, 4
/* 801F342C 001F038C 80 04 00 00 */ lwz r0, 0(r4)
/* 801F3430 001F0390 38 BF 00 04 */ addi r5, r31, 4
/* 801F3434 001F0394 90 1F 00 00 */ stw r0, 0(r31)
/* 801F3438 001F0398 80 9F 00 00 */ lwz r4, 0(r31)
/* 801F343C 001F039C 48 00 00 1D */ bl sub_801f3458
/* 801F3440 001F03A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801F3444 001F03A4 7F E3 FB 78 */ mr r3, r31
/* 801F3448 001F03A8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801F344C 001F03AC 7C 08 03 A6 */ mtlr r0
/* 801F3450 001F03B0 38 21 00 10 */ addi r1, r1, 0x10
/* 801F3454 001F03B4 4E 80 00 20 */ blr
.global sub_801f3458
sub_801f3458:
/* 801F3458 001F03B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801F345C 001F03BC 7C 08 02 A6 */ mflr r0
/* 801F3460 001F03C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 801F3464 001F03C4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801F3468 001F03C8 7C 7F 1B 78 */ mr r31, r3
/* 801F346C 001F03CC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801F3470 001F03D0 7C BE 2B 78 */ mr r30, r5
/* 801F3474 001F03D4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801F3478 001F03D8 3B A0 00 00 */ li r29, 0
/* 801F347C 001F03DC 93 81 00 10 */ stw r28, 0x10(r1)
/* 801F3480 001F03E0 7C 9C 23 78 */ mr r28, r4
/* 801F3484 001F03E4 48 00 00 1C */ b lbl_801F34A0
lbl_801F3488:
/* 801F3488 001F03E8 7F C3 F3 78 */ mr r3, r30
/* 801F348C 001F03EC 7F E4 FB 78 */ mr r4, r31
/* 801F3490 001F03F0 48 00 00 3D */ bl sub_801f34cc
/* 801F3494 001F03F4 3B DE 00 50 */ addi r30, r30, 0x50
/* 801F3498 001F03F8 3B BD 00 01 */ addi r29, r29, 1
/* 801F349C 001F03FC 3B FF 00 50 */ addi r31, r31, 0x50
lbl_801F34A0:
/* 801F34A0 001F0400 7C 1D E0 00 */ cmpw r29, r28
/* 801F34A4 001F0404 41 80 FF E4 */ blt lbl_801F3488
/* 801F34A8 001F0408 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801F34AC 001F040C 7F C3 F3 78 */ mr r3, r30
/* 801F34B0 001F0410 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801F34B4 001F0414 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801F34B8 001F0418 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801F34BC 001F041C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 801F34C0 001F0420 7C 08 03 A6 */ mtlr r0
/* 801F34C4 001F0424 38 21 00 20 */ addi r1, r1, 0x20
/* 801F34C8 001F0428 4E 80 00 20 */ blr
.global sub_801f34cc
sub_801f34cc:
/* 801F34CC 001F042C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801F34D0 001F0430 7C 08 02 A6 */ mflr r0
/* 801F34D4 001F0434 28 03 00 00 */ cmplwi r3, 0
/* 801F34D8 001F0438 90 01 00 14 */ stw r0, 0x14(r1)
/* 801F34DC 001F043C 41 82 00 08 */ beq lbl_801F34E4
/* 801F34E0 001F0440 4B E4 80 91 */ bl __ct__6CLightFCR6CLight
lbl_801F34E4:
/* 801F34E4 001F0444 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801F34E8 001F0448 7C 08 03 A6 */ mtlr r0
/* 801F34EC 001F044C 38 21 00 10 */ addi r1, r1, 0x10
/* 801F34F0 001F0450 4E 80 00 20 */ blr
.global Accept__20CIceAttackProjectileFR8IVisitor
Accept__20CIceAttackProjectileFR8IVisitor:
/* 801F34F4 001F0454 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801F34F8 001F0458 7C 08 02 A6 */ mflr r0
/* 801F34FC 001F045C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801F3500 001F0460 7C 60 1B 78 */ mr r0, r3
/* 801F3504 001F0464 7C 83 23 78 */ mr r3, r4
/* 801F3508 001F0468 81 84 00 00 */ lwz r12, 0(r4)
/* 801F350C 001F046C 7C 04 03 78 */ mr r4, r0
/* 801F3510 001F0470 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F3514 001F0474 7D 89 03 A6 */ mtctr r12
/* 801F3518 001F0478 4E 80 04 21 */ bctrl
/* 801F351C 001F047C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801F3520 001F0480 7C 08 03 A6 */ mtlr r0
/* 801F3524 001F0484 38 21 00 10 */ addi r1, r1, 0x10
/* 801F3528 001F0488 4E 80 00 20 */ blr
.global Render__20CIceAttackProjectileCFRC13CStateManager
Render__20CIceAttackProjectileCFRC13CStateManager:
/* 801F352C 001F048C 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 801F3530 001F0490 7C 08 02 A6 */ mflr r0
/* 801F3534 001F0494 90 01 00 84 */ stw r0, 0x84(r1)
/* 801F3538 001F0498 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 801F353C 001F049C 3B E0 00 00 */ li r31, 0
/* 801F3540 001F04A0 93 C1 00 78 */ stw r30, 0x78(r1)
/* 801F3544 001F04A4 3B C0 00 00 */ li r30, 0
/* 801F3548 001F04A8 93 A1 00 74 */ stw r29, 0x74(r1)
/* 801F354C 001F04AC 7C 9D 23 78 */ mr r29, r4
/* 801F3550 001F04B0 93 81 00 70 */ stw r28, 0x70(r1)
/* 801F3554 001F04B4 7C 7C 1B 78 */ mr r28, r3
/* 801F3558 001F04B8 93 E1 00 08 */ stw r31, 8(r1)
/* 801F355C 001F04BC 48 00 00 20 */ b lbl_801F357C
lbl_801F3560:
/* 801F3560 001F04C0 80 1C 01 14 */ lwz r0, 0x114(r28)
/* 801F3564 001F04C4 7F A5 EB 78 */ mr r5, r29
/* 801F3568 001F04C8 38 81 00 08 */ addi r4, r1, 8
/* 801F356C 001F04CC 7C 60 FA 14 */ add r3, r0, r31
/* 801F3570 001F04D0 4B FF E5 59 */ bl AddToRenderer__Q220CIceAttackProjectile12CTrailObjectCFRC14CFrustumPlanesRC13CStateManager
/* 801F3574 001F04D4 3B FF 03 24 */ addi r31, r31, 0x324
/* 801F3578 001F04D8 3B DE 00 01 */ addi r30, r30, 1
lbl_801F357C:
/* 801F357C 001F04DC 80 1C 01 0C */ lwz r0, 0x10c(r28)
/* 801F3580 001F04E0 7C 1E 00 00 */ cmpw r30, r0
/* 801F3584 001F04E4 41 80 FF DC */ blt lbl_801F3560
/* 801F3588 001F04E8 80 7C 01 04 */ lwz r3, 0x104(r28)
/* 801F358C 001F04EC 81 83 00 00 */ lwz r12, 0(r3)
/* 801F3590 001F04F0 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 801F3594 001F04F4 7D 89 03 A6 */ mtctr r12
/* 801F3598 001F04F8 4E 80 04 21 */ bctrl
/* 801F359C 001F04FC 80 A1 00 08 */ lwz r5, 8(r1)
/* 801F35A0 001F0500 38 60 00 00 */ li r3, 0
/* 801F35A4 001F0504 2C 05 00 00 */ cmpwi r5, 0
/* 801F35A8 001F0508 40 81 00 40 */ ble lbl_801F35E8
/* 801F35AC 001F050C 2C 05 00 08 */ cmpwi r5, 8
/* 801F35B0 001F0510 38 85 FF F8 */ addi r4, r5, -8
/* 801F35B4 001F0514 40 81 00 20 */ ble lbl_801F35D4
/* 801F35B8 001F0518 38 04 00 07 */ addi r0, r4, 7
/* 801F35BC 001F051C 54 00 E8 FE */ srwi r0, r0, 3
/* 801F35C0 001F0520 7C 09 03 A6 */ mtctr r0
/* 801F35C4 001F0524 2C 04 00 00 */ cmpwi r4, 0
/* 801F35C8 001F0528 40 81 00 0C */ ble lbl_801F35D4
lbl_801F35CC:
/* 801F35CC 001F052C 38 63 00 08 */ addi r3, r3, 8
/* 801F35D0 001F0530 42 00 FF FC */ bdnz lbl_801F35CC
lbl_801F35D4:
/* 801F35D4 001F0534 7C 03 28 50 */ subf r0, r3, r5
/* 801F35D8 001F0538 7C 09 03 A6 */ mtctr r0
/* 801F35DC 001F053C 7C 03 28 00 */ cmpw r3, r5
/* 801F35E0 001F0540 40 80 00 08 */ bge lbl_801F35E8
lbl_801F35E4:
/* 801F35E4 001F0544 42 00 00 00 */ bdnz lbl_801F35E4
lbl_801F35E8:
/* 801F35E8 001F0548 38 00 00 00 */ li r0, 0
/* 801F35EC 001F054C 90 01 00 08 */ stw r0, 8(r1)
/* 801F35F0 001F0550 80 01 00 84 */ lwz r0, 0x84(r1)
/* 801F35F4 001F0554 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 801F35F8 001F0558 83 C1 00 78 */ lwz r30, 0x78(r1)
/* 801F35FC 001F055C 83 A1 00 74 */ lwz r29, 0x74(r1)
/* 801F3600 001F0560 83 81 00 70 */ lwz r28, 0x70(r1)
/* 801F3604 001F0564 7C 08 03 A6 */ mtlr r0
/* 801F3608 001F0568 38 21 00 80 */ addi r1, r1, 0x80
/* 801F360C 001F056C 4E 80 00 20 */ blr
.global AddToRenderer__20CIceAttackProjectileCFRC14CFrustumPlanesRC13CStateManager
AddToRenderer__20CIceAttackProjectileCFRC14CFrustumPlanesRC13CStateManager:
/* 801F3610 001F0570 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801F3614 001F0574 7C 08 02 A6 */ mflr r0
/* 801F3618 001F0578 3C C0 80 5A */ lis r6, lbl_805A61D4@ha
/* 801F361C 001F057C 7C 64 1B 78 */ mr r4, r3
/* 801F3620 001F0580 90 01 00 24 */ stw r0, 0x24(r1)
/* 801F3624 001F0584 38 C6 61 D4 */ addi r6, r6, lbl_805A61D4@l
/* 801F3628 001F0588 7C A3 2B 78 */ mr r3, r5
/* 801F362C 001F058C C0 62 AF 18 */ lfs f3, lbl_805ACC38@sda21(r2)
/* 801F3630 001F0590 C0 46 00 04 */ lfs f2, 4(r6)
/* 801F3634 001F0594 38 A1 00 08 */ addi r5, r1, 8
/* 801F3638 001F0598 C0 26 00 14 */ lfs f1, 0x14(r6)
/* 801F363C 001F059C C0 06 00 24 */ lfs f0, 0x24(r6)
/* 801F3640 001F05A0 EC 43 00 B2 */ fmuls f2, f3, f2
/* 801F3644 001F05A4 EC 23 00 72 */ fmuls f1, f3, f1
/* 801F3648 001F05A8 38 C4 00 9C */ addi r6, r4, 0x9c
/* 801F364C 001F05AC EC 03 00 32 */ fmuls f0, f3, f0
/* 801F3650 001F05B0 D0 41 00 08 */ stfs f2, 8(r1)
/* 801F3654 001F05B4 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 801F3658 001F05B8 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 801F365C 001F05BC 4B E5 13 15 */ bl AddDrawableActor__13CStateManagerCFRC6CActorRC9CVector3fRC6CAABox
/* 801F3660 001F05C0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801F3664 001F05C4 7C 08 03 A6 */ mtlr r0
/* 801F3668 001F05C8 38 21 00 20 */ addi r1, r1, 0x20
/* 801F366C 001F05CC 4E 80 00 20 */ blr
.global GetTouchBounds__20CIceAttackProjectileCFv
GetTouchBounds__20CIceAttackProjectileCFv:
/* 801F3670 001F05D0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801F3674 001F05D4 7C 08 02 A6 */ mflr r0
/* 801F3678 001F05D8 7C 85 23 78 */ mr r5, r4
/* 801F367C 001F05DC 90 01 00 34 */ stw r0, 0x34(r1)
/* 801F3680 001F05E0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801F3684 001F05E4 7C 7F 1B 78 */ mr r31, r3
/* 801F3688 001F05E8 88 04 00 30 */ lbz r0, 0x30(r4)
/* 801F368C 001F05EC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801F3690 001F05F0 41 82 00 58 */ beq lbl_801F36E8
/* 801F3694 001F05F4 38 61 00 08 */ addi r3, r1, 8
/* 801F3698 001F05F8 38 85 01 54 */ addi r4, r5, 0x154
/* 801F369C 001F05FC 38 A5 00 34 */ addi r5, r5, 0x34
/* 801F36A0 001F0600 48 14 42 5D */ bl GetTransformedAABox__6CAABoxCFRC12CTransform4f
/* 801F36A4 001F0604 38 00 00 01 */ li r0, 1
/* 801F36A8 001F0608 28 1F 00 00 */ cmplwi r31, 0
/* 801F36AC 001F060C 98 1F 00 18 */ stb r0, 0x18(r31)
/* 801F36B0 001F0610 41 82 00 40 */ beq lbl_801F36F0
/* 801F36B4 001F0614 C0 01 00 08 */ lfs f0, 8(r1)
/* 801F36B8 001F0618 D0 1F 00 00 */ stfs f0, 0(r31)
/* 801F36BC 001F061C C0 01 00 0C */ lfs f0, 0xc(r1)
/* 801F36C0 001F0620 D0 1F 00 04 */ stfs f0, 4(r31)
/* 801F36C4 001F0624 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 801F36C8 001F0628 D0 1F 00 08 */ stfs f0, 8(r31)
/* 801F36CC 001F062C C0 01 00 14 */ lfs f0, 0x14(r1)
/* 801F36D0 001F0630 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 801F36D4 001F0634 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 801F36D8 001F0638 D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 801F36DC 001F063C C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 801F36E0 001F0640 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 801F36E4 001F0644 48 00 00 0C */ b lbl_801F36F0
lbl_801F36E8:
/* 801F36E8 001F0648 38 00 00 00 */ li r0, 0
/* 801F36EC 001F064C 98 1F 00 18 */ stb r0, 0x18(r31)
lbl_801F36F0:
/* 801F36F0 001F0650 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801F36F4 001F0654 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801F36F8 001F0658 7C 08 03 A6 */ mtlr r0
/* 801F36FC 001F065C 38 21 00 30 */ addi r1, r1, 0x30
/* 801F3700 001F0660 4E 80 00 20 */ blr
.global Touch__20CIceAttackProjectileFR6CActorR13CStateManager
Touch__20CIceAttackProjectileFR6CActorR13CStateManager:
/* 801F3704 001F0664 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801F3708 001F0668 7C 08 02 A6 */ mflr r0
/* 801F370C 001F066C 90 01 00 54 */ stw r0, 0x54(r1)
/* 801F3710 001F0670 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 801F3714 001F0674 7C BF 2B 78 */ mr r31, r5
/* 801F3718 001F0678 93 C1 00 48 */ stw r30, 0x48(r1)
/* 801F371C 001F067C 7C 9E 23 78 */ mr r30, r4
/* 801F3720 001F0680 93 A1 00 44 */ stw r29, 0x44(r1)
/* 801F3724 001F0684 7C 7D 1B 78 */ mr r29, r3
/* 801F3728 001F0688 A0 64 00 08 */ lhz r3, 8(r4)
/* 801F372C 001F068C A0 1D 01 18 */ lhz r0, 0x118(r29)
/* 801F3730 001F0690 7C 03 00 40 */ cmplw r3, r0
/* 801F3734 001F0694 40 82 00 A0 */ bne lbl_801F37D4
/* 801F3738 001F0698 80 7F 08 4C */ lwz r3, 0x84c(r31)
/* 801F373C 001F069C 4B E2 25 C1 */ bl GetFrozenState__7CPlayerCFv
/* 801F3740 001F06A0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801F3744 001F06A4 40 82 00 90 */ bne lbl_801F37D4
/* 801F3748 001F06A8 A0 DD 01 88 */ lhz r6, 0x188(r29)
/* 801F374C 001F06AC 7F E4 FB 78 */ mr r4, r31
/* 801F3750 001F06B0 80 7F 08 4C */ lwz r3, 0x84c(r31)
/* 801F3754 001F06B4 80 BD 01 84 */ lwz r5, 0x184(r29)
/* 801F3758 001F06B8 80 FD 01 8C */ lwz r7, 0x18c(r29)
/* 801F375C 001F06BC 4B E2 25 B9 */ bl Freeze__7CPlayerFR13CStateManagerUiUsUi
/* 801F3760 001F06C0 80 AD 92 98 */ lwz r5, lbl_805A7E58@sda21(r13)
/* 801F3764 001F06C4 38 60 00 00 */ li r3, 0
/* 801F3768 001F06C8 38 80 00 01 */ li r4, 1
/* 801F376C 001F06CC 48 19 67 89 */ bl __shl2i
/* 801F3770 001F06D0 39 40 00 00 */ li r10, 0
/* 801F3774 001F06D4 38 00 00 03 */ li r0, 3
/* 801F3778 001F06D8 90 81 00 24 */ stw r4, 0x24(r1)
/* 801F377C 001F06DC 3C 80 80 5A */ lis r4, skZero3f@ha
/* 801F3780 001F06E0 39 24 66 A0 */ addi r9, r4, skZero3f@l
/* 801F3784 001F06E4 38 A1 00 14 */ addi r5, r1, 0x14
/* 801F3788 001F06E8 90 61 00 20 */ stw r3, 0x20(r1)
/* 801F378C 001F06EC 38 81 00 1C */ addi r4, r1, 0x1c
/* 801F3790 001F06F0 7F E3 FB 78 */ mr r3, r31
/* 801F3794 001F06F4 38 C1 00 0C */ addi r6, r1, 0xc
/* 801F3798 001F06F8 91 41 00 2C */ stw r10, 0x2c(r1)
/* 801F379C 001F06FC 38 FD 01 1C */ addi r7, r29, 0x11c
/* 801F37A0 001F0700 39 01 00 20 */ addi r8, r1, 0x20
/* 801F37A4 001F0704 91 41 00 28 */ stw r10, 0x28(r1)
/* 801F37A8 001F0708 90 01 00 30 */ stw r0, 0x30(r1)
/* 801F37AC 001F070C A0 1D 00 08 */ lhz r0, 8(r29)
/* 801F37B0 001F0710 B0 01 00 0C */ sth r0, 0xc(r1)
/* 801F37B4 001F0714 A1 5E 00 08 */ lhz r10, 8(r30)
/* 801F37B8 001F0718 B0 01 00 08 */ sth r0, 8(r1)
/* 801F37BC 001F071C B1 41 00 14 */ sth r10, 0x14(r1)
/* 801F37C0 001F0720 A0 1D 00 08 */ lhz r0, 8(r29)
/* 801F37C4 001F0724 B1 41 00 10 */ sth r10, 0x10(r1)
/* 801F37C8 001F0728 B0 01 00 18 */ sth r0, 0x18(r1)
/* 801F37CC 001F072C B0 01 00 1C */ sth r0, 0x1c(r1)
/* 801F37D0 001F0730 4B E5 68 D1 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
lbl_801F37D4:
/* 801F37D4 001F0734 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801F37D8 001F0738 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 801F37DC 001F073C 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 801F37E0 001F0740 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 801F37E4 001F0744 7C 08 03 A6 */ mtlr r0
/* 801F37E8 001F0748 38 21 00 50 */ addi r1, r1, 0x50
/* 801F37EC 001F074C 4E 80 00 20 */ blr
.global __dt__20CIceAttackProjectileFv
__dt__20CIceAttackProjectileFv:
/* 801F37F0 001F0750 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801F37F4 001F0754 7C 08 02 A6 */ mflr r0
/* 801F37F8 001F0758 90 01 00 14 */ stw r0, 0x14(r1)
/* 801F37FC 001F075C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801F3800 001F0760 7C 9F 23 78 */ mr r31, r4
/* 801F3804 001F0764 93 C1 00 08 */ stw r30, 8(r1)
/* 801F3808 001F0768 7C 7E 1B 79 */ or. r30, r3, r3
/* 801F380C 001F076C 41 82 00 B8 */ beq lbl_801F38C4
/* 801F3810 001F0770 3C 60 80 3E */ lis r3, lbl_803E6778@ha
/* 801F3814 001F0774 34 1E 01 54 */ addic. r0, r30, 0x154
/* 801F3818 001F0778 38 03 67 78 */ addi r0, r3, lbl_803E6778@l
/* 801F381C 001F077C 90 1E 00 00 */ stw r0, 0(r30)
/* 801F3820 001F0780 41 82 00 0C */ beq lbl_801F382C
/* 801F3824 001F0784 38 00 00 00 */ li r0, 0
/* 801F3828 001F0788 98 1E 01 6C */ stb r0, 0x16c(r30)
lbl_801F382C:
/* 801F382C 001F078C 38 7E 01 08 */ addi r3, r30, 0x108
/* 801F3830 001F0790 38 80 FF FF */ li r4, -1
/* 801F3834 001F0794 48 00 00 AD */ bl sub_801f38e0
/* 801F3838 001F0798 34 1E 01 00 */ addic. r0, r30, 0x100
/* 801F383C 001F079C 41 82 00 30 */ beq lbl_801F386C
/* 801F3840 001F07A0 88 1E 01 00 */ lbz r0, 0x100(r30)
/* 801F3844 001F07A4 28 00 00 00 */ cmplwi r0, 0
/* 801F3848 001F07A8 41 82 00 24 */ beq lbl_801F386C
/* 801F384C 001F07AC 80 7E 01 04 */ lwz r3, 0x104(r30)
/* 801F3850 001F07B0 28 03 00 00 */ cmplwi r3, 0
/* 801F3854 001F07B4 41 82 00 18 */ beq lbl_801F386C
/* 801F3858 001F07B8 81 83 00 00 */ lwz r12, 0(r3)
/* 801F385C 001F07BC 38 80 00 01 */ li r4, 1
/* 801F3860 001F07C0 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F3864 001F07C4 7D 89 03 A6 */ mtctr r12
/* 801F3868 001F07C8 4E 80 04 21 */ bctrl
lbl_801F386C:
/* 801F386C 001F07CC 34 1E 00 F8 */ addic. r0, r30, 0xf8
/* 801F3870 001F07D0 41 82 00 10 */ beq lbl_801F3880
/* 801F3874 001F07D4 38 7E 00 F8 */ addi r3, r30, 0xf8
/* 801F3878 001F07D8 38 80 00 00 */ li r4, 0
/* 801F387C 001F07DC 48 14 D5 C5 */ bl __dt__6CTokenFv
lbl_801F3880:
/* 801F3880 001F07E0 34 1E 00 F0 */ addic. r0, r30, 0xf0
/* 801F3884 001F07E4 41 82 00 10 */ beq lbl_801F3894
/* 801F3888 001F07E8 38 7E 00 F0 */ addi r3, r30, 0xf0
/* 801F388C 001F07EC 38 80 00 00 */ li r4, 0
/* 801F3890 001F07F0 48 14 D5 B1 */ bl __dt__6CTokenFv
lbl_801F3894:
/* 801F3894 001F07F4 34 1E 00 E8 */ addic. r0, r30, 0xe8
/* 801F3898 001F07F8 41 82 00 10 */ beq lbl_801F38A8
/* 801F389C 001F07FC 38 7E 00 E8 */ addi r3, r30, 0xe8
/* 801F38A0 001F0800 38 80 00 00 */ li r4, 0
/* 801F38A4 001F0804 48 14 D5 9D */ bl __dt__6CTokenFv
lbl_801F38A8:
/* 801F38A8 001F0808 7F C3 F3 78 */ mr r3, r30
/* 801F38AC 001F080C 38 80 00 00 */ li r4, 0
/* 801F38B0 001F0810 4B E6 1E 41 */ bl __dt__6CActorFv
/* 801F38B4 001F0814 7F E0 07 35 */ extsh. r0, r31
/* 801F38B8 001F0818 40 81 00 0C */ ble lbl_801F38C4
/* 801F38BC 001F081C 7F C3 F3 78 */ mr r3, r30
/* 801F38C0 001F0820 48 12 20 71 */ bl Free__7CMemoryFPCv
lbl_801F38C4:
/* 801F38C4 001F0824 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801F38C8 001F0828 7F C3 F3 78 */ mr r3, r30
/* 801F38CC 001F082C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801F38D0 001F0830 83 C1 00 08 */ lwz r30, 8(r1)
/* 801F38D4 001F0834 7C 08 03 A6 */ mtlr r0
/* 801F38D8 001F0838 38 21 00 10 */ addi r1, r1, 0x10
/* 801F38DC 001F083C 4E 80 00 20 */ blr
.global sub_801f38e0
sub_801f38e0:
/* 801F38E0 001F0840 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801F38E4 001F0844 7C 08 02 A6 */ mflr r0
/* 801F38E8 001F0848 90 01 00 34 */ stw r0, 0x34(r1)
/* 801F38EC 001F084C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801F38F0 001F0850 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801F38F4 001F0854 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801F38F8 001F0858 7C 9D 23 78 */ mr r29, r4
/* 801F38FC 001F085C 93 81 00 20 */ stw r28, 0x20(r1)
/* 801F3900 001F0860 7C 7C 1B 79 */ or. r28, r3, r3
/* 801F3904 001F0864 41 82 00 D0 */ beq lbl_801F39D4
/* 801F3908 001F0868 80 1C 00 04 */ lwz r0, 4(r28)
/* 801F390C 001F086C 83 DC 00 0C */ lwz r30, 0xc(r28)
/* 801F3910 001F0870 1C 00 03 24 */ mulli r0, r0, 0x324
/* 801F3914 001F0874 93 C1 00 10 */ stw r30, 0x10(r1)
/* 801F3918 001F0878 7F FE 02 14 */ add r31, r30, r0
/* 801F391C 001F087C 93 C1 00 14 */ stw r30, 0x14(r1)
/* 801F3920 001F0880 93 E1 00 08 */ stw r31, 8(r1)
/* 801F3924 001F0884 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801F3928 001F0888 48 00 00 84 */ b lbl_801F39AC
lbl_801F392C:
/* 801F392C 001F088C 28 1E 00 00 */ cmplwi r30, 0
/* 801F3930 001F0890 41 82 00 78 */ beq lbl_801F39A8
/* 801F3934 001F0894 38 7E 00 18 */ addi r3, r30, 0x18
/* 801F3938 001F0898 38 80 FF FF */ li r4, -1
/* 801F393C 001F089C 4B F1 17 99 */ bl __dt__12CActorLightsFv
/* 801F3940 001F08A0 34 1E 00 08 */ addic. r0, r30, 8
/* 801F3944 001F08A4 41 82 00 30 */ beq lbl_801F3974
/* 801F3948 001F08A8 88 1E 00 08 */ lbz r0, 8(r30)
/* 801F394C 001F08AC 28 00 00 00 */ cmplwi r0, 0
/* 801F3950 001F08B0 41 82 00 24 */ beq lbl_801F3974
/* 801F3954 001F08B4 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 801F3958 001F08B8 28 03 00 00 */ cmplwi r3, 0
/* 801F395C 001F08BC 41 82 00 18 */ beq lbl_801F3974
/* 801F3960 001F08C0 81 83 00 00 */ lwz r12, 0(r3)
/* 801F3964 001F08C4 38 80 00 01 */ li r4, 1
/* 801F3968 001F08C8 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F396C 001F08CC 7D 89 03 A6 */ mtctr r12
/* 801F3970 001F08D0 4E 80 04 21 */ bctrl
lbl_801F3974:
/* 801F3974 001F08D4 28 1E 00 00 */ cmplwi r30, 0
/* 801F3978 001F08D8 41 82 00 30 */ beq lbl_801F39A8
/* 801F397C 001F08DC 88 1E 00 00 */ lbz r0, 0(r30)
/* 801F3980 001F08E0 28 00 00 00 */ cmplwi r0, 0
/* 801F3984 001F08E4 41 82 00 24 */ beq lbl_801F39A8
/* 801F3988 001F08E8 80 7E 00 04 */ lwz r3, 4(r30)
/* 801F398C 001F08EC 28 03 00 00 */ cmplwi r3, 0
/* 801F3990 001F08F0 41 82 00 18 */ beq lbl_801F39A8
/* 801F3994 001F08F4 81 83 00 00 */ lwz r12, 0(r3)
/* 801F3998 001F08F8 38 80 00 01 */ li r4, 1
/* 801F399C 001F08FC 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F39A0 001F0900 7D 89 03 A6 */ mtctr r12
/* 801F39A4 001F0904 4E 80 04 21 */ bctrl
lbl_801F39A8:
/* 801F39A8 001F0908 3B DE 03 24 */ addi r30, r30, 0x324
lbl_801F39AC:
/* 801F39AC 001F090C 7C 1E F8 40 */ cmplw r30, r31
/* 801F39B0 001F0910 40 82 FF 7C */ bne lbl_801F392C
/* 801F39B4 001F0914 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 801F39B8 001F0918 28 03 00 00 */ cmplwi r3, 0
/* 801F39BC 001F091C 41 82 00 08 */ beq lbl_801F39C4
/* 801F39C0 001F0920 48 12 1F 71 */ bl Free__7CMemoryFPCv
lbl_801F39C4:
/* 801F39C4 001F0924 7F A0 07 35 */ extsh. r0, r29
/* 801F39C8 001F0928 40 81 00 0C */ ble lbl_801F39D4
/* 801F39CC 001F092C 7F 83 E3 78 */ mr r3, r28
/* 801F39D0 001F0930 48 12 1F 61 */ bl Free__7CMemoryFPCv
lbl_801F39D4:
/* 801F39D4 001F0934 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801F39D8 001F0938 7F 83 E3 78 */ mr r3, r28
/* 801F39DC 001F093C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801F39E0 001F0940 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801F39E4 001F0944 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 801F39E8 001F0948 83 81 00 20 */ lwz r28, 0x20(r1)
/* 801F39EC 001F094C 7C 08 03 A6 */ mtlr r0
/* 801F39F0 001F0950 38 21 00 30 */ addi r1, r1, 0x30
/* 801F39F4 001F0954 4E 80 00 20 */ blr
.global "__ct__20CIceAttackProjectileF25TToken<15CGenDescription>25TToken<15CGenDescription>9TUniqueId9TUniqueIdbRC12CTransform4fRC11CDamageInfoRC6CAABoxff"
"__ct__20CIceAttackProjectileF25TToken<15CGenDescription>25TToken<15CGenDescription>9TUniqueId9TUniqueIdbRC12CTransform4fRC11CDamageInfoRC6CAABoxff":
/* 801F39F8 001F0958 94 21 FD E0 */ stwu r1, -0x220(r1)
/* 801F39FC 001F095C 7C 08 02 A6 */ mflr r0
/* 801F3A00 001F0960 90 01 02 24 */ stw r0, 0x224(r1)
/* 801F3A04 001F0964 DB E1 02 10 */ stfd f31, 0x210(r1)
/* 801F3A08 001F0968 F3 E1 02 18 */ psq_st f31, 536(r1), 0, qr0
/* 801F3A0C 001F096C DB C1 02 00 */ stfd f30, 0x200(r1)
/* 801F3A10 001F0970 F3 C1 02 08 */ psq_st f30, 520(r1), 0, qr0
/* 801F3A14 001F0974 BE 21 01 C4 */ stmw r17, 0x1c4(r1)
/* 801F3A18 001F0978 3D 60 80 3D */ lis r11, lbl_803D2050@ha
/* 801F3A1C 001F097C FF C0 08 90 */ fmr f30, f1
/* 801F3A20 001F0980 FF E0 10 90 */ fmr f31, f2
/* 801F3A24 001F0984 39 6B 20 50 */ addi r11, r11, lbl_803D2050@l
/* 801F3A28 001F0988 7C 7F 1B 78 */ mr r31, r3
/* 801F3A2C 001F098C 7C 94 23 78 */ mr r20, r4
/* 801F3A30 001F0990 83 21 02 28 */ lwz r25, 0x228(r1)
/* 801F3A34 001F0994 83 41 02 2C */ lwz r26, 0x22c(r1)
/* 801F3A38 001F0998 83 61 02 30 */ lwz r27, 0x230(r1)
/* 801F3A3C 001F099C 7C B5 2B 78 */ mr r21, r5
/* 801F3A40 001F09A0 83 81 02 34 */ lwz r28, 0x234(r1)
/* 801F3A44 001F09A4 7C D6 33 78 */ mr r22, r6
/* 801F3A48 001F09A8 A3 A1 02 3A */ lhz r29, 0x23a(r1)
/* 801F3A4C 001F09AC 7C F7 3B 78 */ mr r23, r7
/* 801F3A50 001F09B0 A3 C1 02 3E */ lhz r30, 0x23e(r1)
/* 801F3A54 001F09B4 7D 11 43 78 */ mr r17, r8
/* 801F3A58 001F09B8 82 61 02 40 */ lwz r19, 0x240(r1)
/* 801F3A5C 001F09BC 7D 38 4B 78 */ mr r24, r9
/* 801F3A60 001F09C0 7D 52 53 78 */ mr r18, r10
/* 801F3A64 001F09C4 38 61 00 84 */ addi r3, r1, 0x84
/* 801F3A68 001F09C8 38 8B 00 07 */ addi r4, r11, 7
/* 801F3A6C 001F09CC 4B E1 12 4D */ bl string_l__4rstlFPCc
/* 801F3A70 001F09D0 80 8D A3 88 */ lwz r4, lbl_805A8F48@sda21(r13)
/* 801F3A74 001F09D4 3C 60 80 57 */ lis r3, lbl_8056D410@ha
/* 801F3A78 001F09D8 80 11 00 00 */ lwz r0, 0(r17)
/* 801F3A7C 001F09DC 38 A3 D4 10 */ addi r5, r3, lbl_8056D410@l
/* 801F3A80 001F09E0 90 81 00 28 */ stw r4, 0x28(r1)
/* 801F3A84 001F09E4 38 61 00 B8 */ addi r3, r1, 0xb8
/* 801F3A88 001F09E8 38 81 00 2C */ addi r4, r1, 0x2c
/* 801F3A8C 001F09EC 38 C1 00 28 */ addi r6, r1, 0x28
/* 801F3A90 001F09F0 90 01 00 2C */ stw r0, 0x2c(r1)
/* 801F3A94 001F09F4 4B E5 D9 F1 */ bl "__ct__11CEntityInfoF7TAreaIdRCQ24rstl48vector<11SConnection,Q24rstl17rmemory_allocator>9TEditorId"
/* 801F3A98 001F09F8 38 61 01 68 */ addi r3, r1, 0x168
/* 801F3A9C 001F09FC 4B E4 6D 09 */ bl CModelDataNull__10CModelDataFv
/* 801F3AA0 001F0A00 38 61 01 00 */ addi r3, r1, 0x100
/* 801F3AA4 001F0A04 4B E2 73 95 */ bl None__16CActorParametersFv
/* 801F3AA8 001F0A08 A0 8D A3 8C */ lhz r4, lbl_805A8F4C@sda21(r13)
/* 801F3AAC 001F0A0C 38 00 00 00 */ li r0, 0
/* 801F3AB0 001F0A10 80 AD 92 9C */ lwz r5, lbl_805A7E5C@sda21(r13)
/* 801F3AB4 001F0A14 38 60 00 00 */ li r3, 0
/* 801F3AB8 001F0A18 B0 81 00 10 */ sth r4, 0x10(r1)
/* 801F3ABC 001F0A1C 38 80 00 01 */ li r4, 1
/* 801F3AC0 001F0A20 90 01 00 44 */ stw r0, 0x44(r1)
/* 801F3AC4 001F0A24 90 01 00 40 */ stw r0, 0x40(r1)
/* 801F3AC8 001F0A28 48 19 64 2D */ bl __shl2i
/* 801F3ACC 001F0A2C 80 01 00 40 */ lwz r0, 0x40(r1)
/* 801F3AD0 001F0A30 80 C1 00 44 */ lwz r6, 0x44(r1)
/* 801F3AD4 001F0A34 7C 00 1B 78 */ or r0, r0, r3
/* 801F3AD8 001F0A38 80 AD 92 A0 */ lwz r5, lbl_805A7E60@sda21(r13)
/* 801F3ADC 001F0A3C 7C C4 23 78 */ or r4, r6, r4
/* 801F3AE0 001F0A40 90 01 00 40 */ stw r0, 0x40(r1)
/* 801F3AE4 001F0A44 38 60 00 00 */ li r3, 0
/* 801F3AE8 001F0A48 90 81 00 44 */ stw r4, 0x44(r1)
/* 801F3AEC 001F0A4C 38 80 00 01 */ li r4, 1
/* 801F3AF0 001F0A50 48 19 64 05 */ bl __shl2i
/* 801F3AF4 001F0A54 80 A1 00 40 */ lwz r5, 0x40(r1)
/* 801F3AF8 001F0A58 39 61 01 00 */ addi r11, r1, 0x100
/* 801F3AFC 001F0A5C 80 C1 00 44 */ lwz r6, 0x44(r1)
/* 801F3B00 001F0A60 38 01 00 10 */ addi r0, r1, 0x10
/* 801F3B04 001F0A64 7C A3 1B 78 */ or r3, r5, r3
/* 801F3B08 001F0A68 A0 F7 00 00 */ lhz r7, 0(r23)
/* 801F3B0C 001F0A6C 7C C4 23 78 */ or r4, r6, r4
/* 801F3B10 001F0A70 90 61 00 40 */ stw r3, 0x40(r1)
/* 801F3B14 001F0A74 7F E3 FB 78 */ mr r3, r31
/* 801F3B18 001F0A78 7E 45 93 78 */ mr r5, r18
/* 801F3B1C 001F0A7C 90 81 00 44 */ stw r4, 0x44(r1)
/* 801F3B20 001F0A80 7F 28 CB 78 */ mr r8, r25
/* 801F3B24 001F0A84 38 81 00 14 */ addi r4, r1, 0x14
/* 801F3B28 001F0A88 38 C1 00 84 */ addi r6, r1, 0x84
/* 801F3B2C 001F0A8C B0 E1 00 14 */ sth r7, 0x14(r1)
/* 801F3B30 001F0A90 38 E1 00 B8 */ addi r7, r1, 0xb8
/* 801F3B34 001F0A94 39 21 01 68 */ addi r9, r1, 0x168
/* 801F3B38 001F0A98 39 41 00 40 */ addi r10, r1, 0x40
/* 801F3B3C 001F0A9C 91 61 00 08 */ stw r11, 8(r1)
/* 801F3B40 001F0AA0 90 01 00 0C */ stw r0, 0xc(r1)
/* 801F3B44 001F0AA4 4B E6 1C DD */ bl "__ct__6CActorF9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC13CMaterialListRC16CActorParameters9TUniqueId"
/* 801F3B48 001F0AA8 38 61 01 00 */ addi r3, r1, 0x100
/* 801F3B4C 001F0AAC 38 80 FF FF */ li r4, -1
/* 801F3B50 001F0AB0 4B F1 2A B9 */ bl __dt__16CActorParametersFv
/* 801F3B54 001F0AB4 38 61 01 68 */ addi r3, r1, 0x168
/* 801F3B58 001F0AB8 38 80 FF FF */ li r4, -1
/* 801F3B5C 001F0ABC 4B F2 2E F1 */ bl __dt__10CModelDataFv
/* 801F3B60 001F0AC0 80 01 00 C0 */ lwz r0, 0xc0(r1)
/* 801F3B64 001F0AC4 80 61 00 C8 */ lwz r3, 0xc8(r1)
/* 801F3B68 001F0AC8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801F3B6C 001F0ACC 90 61 00 1C */ stw r3, 0x1c(r1)
/* 801F3B70 001F0AD0 7C 64 1B 78 */ mr r4, r3
/* 801F3B74 001F0AD4 7C 03 02 14 */ add r0, r3, r0
/* 801F3B78 001F0AD8 90 61 00 18 */ stw r3, 0x18(r1)
/* 801F3B7C 001F0ADC 90 01 00 24 */ stw r0, 0x24(r1)
/* 801F3B80 001F0AE0 90 01 00 20 */ stw r0, 0x20(r1)
/* 801F3B84 001F0AE4 48 00 00 08 */ b lbl_801F3B8C
lbl_801F3B88:
/* 801F3B88 001F0AE8 38 84 00 0C */ addi r4, r4, 0xc
lbl_801F3B8C:
/* 801F3B8C 001F0AEC 7C 04 00 40 */ cmplw r4, r0
/* 801F3B90 001F0AF0 40 82 FF F8 */ bne lbl_801F3B88
/* 801F3B94 001F0AF4 28 03 00 00 */ cmplwi r3, 0
/* 801F3B98 001F0AF8 41 82 00 08 */ beq lbl_801F3BA0
/* 801F3B9C 001F0AFC 48 12 1D 95 */ bl Free__7CMemoryFPCv
lbl_801F3BA0:
/* 801F3BA0 001F0B00 38 61 00 84 */ addi r3, r1, 0x84
/* 801F3BA4 001F0B04 48 14 9F 3D */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 801F3BA8 001F0B08 3C 60 80 3E */ lis r3, lbl_803E6778@ha
/* 801F3BAC 001F0B0C 7E 84 A3 78 */ mr r4, r20
/* 801F3BB0 001F0B10 38 03 67 78 */ addi r0, r3, lbl_803E6778@l
/* 801F3BB4 001F0B14 38 7F 00 E8 */ addi r3, r31, 0xe8
/* 801F3BB8 001F0B18 90 1F 00 00 */ stw r0, 0(r31)
/* 801F3BBC 001F0B1C 48 14 D2 ED */ bl __ct__6CTokenFRC6CToken
/* 801F3BC0 001F0B20 7E A4 AB 78 */ mr r4, r21
/* 801F3BC4 001F0B24 38 7F 00 F0 */ addi r3, r31, 0xf0
/* 801F3BC8 001F0B28 48 14 D2 E1 */ bl __ct__6CTokenFRC6CToken
/* 801F3BCC 001F0B2C 7E C4 B3 78 */ mr r4, r22
/* 801F3BD0 001F0B30 38 7F 00 F8 */ addi r3, r31, 0xf8
/* 801F3BD4 001F0B34 48 14 D2 D5 */ bl __ct__6CTokenFRC6CToken
/* 801F3BD8 001F0B38 38 60 00 00 */ li r3, 0
/* 801F3BDC 001F0B3C 34 9F 01 54 */ addic. r4, r31, 0x154
/* 801F3BE0 001F0B40 98 7F 01 00 */ stb r3, 0x100(r31)
/* 801F3BE4 001F0B44 38 00 00 01 */ li r0, 1
/* 801F3BE8 001F0B48 90 7F 01 04 */ stw r3, 0x104(r31)
/* 801F3BEC 001F0B4C 90 7F 01 0C */ stw r3, 0x10c(r31)
/* 801F3BF0 001F0B50 90 7F 01 10 */ stw r3, 0x110(r31)
/* 801F3BF4 001F0B54 90 7F 01 14 */ stw r3, 0x114(r31)
/* 801F3BF8 001F0B58 A0 78 00 00 */ lhz r3, 0(r24)
/* 801F3BFC 001F0B5C B0 7F 01 18 */ sth r3, 0x118(r31)
/* 801F3C00 001F0B60 80 7A 00 00 */ lwz r3, 0(r26)
/* 801F3C04 001F0B64 90 7F 01 1C */ stw r3, 0x11c(r31)
/* 801F3C08 001F0B68 88 7A 00 04 */ lbz r3, 4(r26)
/* 801F3C0C 001F0B6C 98 7F 01 20 */ stb r3, 0x120(r31)
/* 801F3C10 001F0B70 C0 1A 00 08 */ lfs f0, 8(r26)
/* 801F3C14 001F0B74 D0 1F 01 24 */ stfs f0, 0x124(r31)
/* 801F3C18 001F0B78 C0 1A 00 0C */ lfs f0, 0xc(r26)
/* 801F3C1C 001F0B7C D0 1F 01 28 */ stfs f0, 0x128(r31)
/* 801F3C20 001F0B80 C0 1A 00 10 */ lfs f0, 0x10(r26)
/* 801F3C24 001F0B84 D0 1F 01 2C */ stfs f0, 0x12c(r31)
/* 801F3C28 001F0B88 C0 1A 00 14 */ lfs f0, 0x14(r26)
/* 801F3C2C 001F0B8C D0 1F 01 30 */ stfs f0, 0x130(r31)
/* 801F3C30 001F0B90 88 7A 00 18 */ lbz r3, 0x18(r26)
/* 801F3C34 001F0B94 98 7F 01 34 */ stb r3, 0x134(r31)
/* 801F3C38 001F0B98 80 7A 00 00 */ lwz r3, 0(r26)
/* 801F3C3C 001F0B9C 90 7F 01 38 */ stw r3, 0x138(r31)
/* 801F3C40 001F0BA0 88 7A 00 04 */ lbz r3, 4(r26)
/* 801F3C44 001F0BA4 98 7F 01 3C */ stb r3, 0x13c(r31)
/* 801F3C48 001F0BA8 C0 1A 00 08 */ lfs f0, 8(r26)
/* 801F3C4C 001F0BAC D0 1F 01 40 */ stfs f0, 0x140(r31)
/* 801F3C50 001F0BB0 C0 1A 00 0C */ lfs f0, 0xc(r26)
/* 801F3C54 001F0BB4 D0 1F 01 44 */ stfs f0, 0x144(r31)
/* 801F3C58 001F0BB8 C0 1A 00 10 */ lfs f0, 0x10(r26)
/* 801F3C5C 001F0BBC D0 1F 01 48 */ stfs f0, 0x148(r31)
/* 801F3C60 001F0BC0 C0 1A 00 14 */ lfs f0, 0x14(r26)
/* 801F3C64 001F0BC4 D0 1F 01 4C */ stfs f0, 0x14c(r31)
/* 801F3C68 001F0BC8 88 7A 00 18 */ lbz r3, 0x18(r26)
/* 801F3C6C 001F0BCC 98 7F 01 50 */ stb r3, 0x150(r31)
/* 801F3C70 001F0BD0 98 1F 01 6C */ stb r0, 0x16c(r31)
/* 801F3C74 001F0BD4 41 82 00 34 */ beq lbl_801F3CA8
/* 801F3C78 001F0BD8 C0 1B 00 00 */ lfs f0, 0(r27)
/* 801F3C7C 001F0BDC D0 04 00 00 */ stfs f0, 0(r4)
/* 801F3C80 001F0BE0 C0 1B 00 04 */ lfs f0, 4(r27)
/* 801F3C84 001F0BE4 D0 04 00 04 */ stfs f0, 4(r4)
/* 801F3C88 001F0BE8 C0 1B 00 08 */ lfs f0, 8(r27)
/* 801F3C8C 001F0BEC D0 04 00 08 */ stfs f0, 8(r4)
/* 801F3C90 001F0BF0 C0 1B 00 0C */ lfs f0, 0xc(r27)
/* 801F3C94 001F0BF4 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 801F3C98 001F0BF8 C0 1B 00 10 */ lfs f0, 0x10(r27)
/* 801F3C9C 001F0BFC D0 04 00 10 */ stfs f0, 0x10(r4)
/* 801F3CA0 001F0C00 C0 1B 00 14 */ lfs f0, 0x14(r27)
/* 801F3CA4 001F0C04 D0 04 00 14 */ stfs f0, 0x14(r4)
lbl_801F3CA8:
/* 801F3CA8 001F0C08 D3 DF 01 70 */ stfs f30, 0x170(r31)
/* 801F3CAC 001F0C0C 38 00 00 00 */ li r0, 0
/* 801F3CB0 001F0C10 C0 82 AE E8 */ lfs f4, lbl_805ACC08@sda21(r2)
/* 801F3CB4 001F0C14 38 61 00 78 */ addi r3, r1, 0x78
/* 801F3CB8 001F0C18 D3 FF 01 74 */ stfs f31, 0x174(r31)
/* 801F3CBC 001F0C1C 38 81 00 6C */ addi r4, r1, 0x6c
/* 801F3CC0 001F0C20 C0 62 AE EC */ lfs f3, lbl_805ACC0C@sda21(r2)
/* 801F3CC4 001F0C24 D0 9F 01 78 */ stfs f4, 0x178(r31)
/* 801F3CC8 001F0C28 D0 9F 01 7C */ stfs f4, 0x17c(r31)
/* 801F3CCC 001F0C2C 90 1F 01 80 */ stw r0, 0x180(r31)
/* 801F3CD0 001F0C30 93 9F 01 84 */ stw r28, 0x184(r31)
/* 801F3CD4 001F0C34 B3 BF 01 88 */ sth r29, 0x188(r31)
/* 801F3CD8 001F0C38 B3 DF 01 8A */ sth r30, 0x18a(r31)
/* 801F3CDC 001F0C3C 92 7F 01 8C */ stw r19, 0x18c(r31)
/* 801F3CE0 001F0C40 98 1F 01 90 */ stb r0, 0x190(r31)
/* 801F3CE4 001F0C44 98 1F 01 91 */ stb r0, 0x191(r31)
/* 801F3CE8 001F0C48 98 1F 01 92 */ stb r0, 0x192(r31)
/* 801F3CEC 001F0C4C 90 1F 01 94 */ stw r0, 0x194(r31)
/* 801F3CF0 001F0C50 D0 81 00 AC */ stfs f4, 0xac(r1)
/* 801F3CF4 001F0C54 D0 81 00 B0 */ stfs f4, 0xb0(r1)
/* 801F3CF8 001F0C58 D0 61 00 B4 */ stfs f3, 0xb4(r1)
/* 801F3CFC 001F0C5C C0 F9 00 24 */ lfs f7, 0x24(r25)
/* 801F3D00 001F0C60 C0 D9 00 14 */ lfs f6, 0x14(r25)
/* 801F3D04 001F0C64 C0 B9 00 04 */ lfs f5, 4(r25)
/* 801F3D08 001F0C68 EC 27 01 32 */ fmuls f1, f7, f4
/* 801F3D0C 001F0C6C EC 46 00 F2 */ fmuls f2, f6, f3
/* 801F3D10 001F0C70 EC 05 01 32 */ fmuls f0, f5, f4
/* 801F3D14 001F0C74 EC 23 09 78 */ fmsubs f1, f3, f5, f1
/* 801F3D18 001F0C78 EC 44 11 F8 */ fmsubs f2, f4, f7, f2
/* 801F3D1C 001F0C7C EC 04 01 B8 */ fmsubs f0, f4, f6, f0
/* 801F3D20 001F0C80 D0 21 00 70 */ stfs f1, 0x70(r1)
/* 801F3D24 001F0C84 D0 41 00 6C */ stfs f2, 0x6c(r1)
/* 801F3D28 001F0C88 D0 01 00 74 */ stfs f0, 0x74(r1)
/* 801F3D2C 001F0C8C 48 12 0B 25 */ bl AsNormalized__9CVector3fCFv
/* 801F3D30 001F0C90 C0 A1 00 78 */ lfs f5, 0x78(r1)
/* 801F3D34 001F0C94 38 61 00 60 */ addi r3, r1, 0x60
/* 801F3D38 001F0C98 C0 81 00 7C */ lfs f4, 0x7c(r1)
/* 801F3D3C 001F0C9C 38 81 00 54 */ addi r4, r1, 0x54
/* 801F3D40 001F0CA0 C0 61 00 80 */ lfs f3, 0x80(r1)
/* 801F3D44 001F0CA4 C0 C1 00 B0 */ lfs f6, 0xb0(r1)
/* 801F3D48 001F0CA8 C0 E1 00 B4 */ lfs f7, 0xb4(r1)
/* 801F3D4C 001F0CAC C1 01 00 AC */ lfs f8, 0xac(r1)
/* 801F3D50 001F0CB0 EC 46 00 F2 */ fmuls f2, f6, f3
/* 801F3D54 001F0CB4 EC 27 01 72 */ fmuls f1, f7, f5
/* 801F3D58 001F0CB8 D0 A1 00 A0 */ stfs f5, 0xa0(r1)
/* 801F3D5C 001F0CBC EC 08 01 32 */ fmuls f0, f8, f4
/* 801F3D60 001F0CC0 EC 44 11 F8 */ fmsubs f2, f4, f7, f2
/* 801F3D64 001F0CC4 D0 81 00 A4 */ stfs f4, 0xa4(r1)
/* 801F3D68 001F0CC8 EC 23 0A 38 */ fmsubs f1, f3, f8, f1
/* 801F3D6C 001F0CCC EC 05 01 B8 */ fmsubs f0, f5, f6, f0
/* 801F3D70 001F0CD0 D0 61 00 A8 */ stfs f3, 0xa8(r1)
/* 801F3D74 001F0CD4 D0 41 00 54 */ stfs f2, 0x54(r1)
/* 801F3D78 001F0CD8 D0 21 00 58 */ stfs f1, 0x58(r1)
/* 801F3D7C 001F0CDC D0 01 00 5C */ stfs f0, 0x5c(r1)
/* 801F3D80 001F0CE0 48 12 0A D1 */ bl AsNormalized__9CVector3fCFv
/* 801F3D84 001F0CE4 C0 41 00 60 */ lfs f2, 0x60(r1)
/* 801F3D88 001F0CE8 38 61 00 D0 */ addi r3, r1, 0xd0
/* 801F3D8C 001F0CEC C0 21 00 64 */ lfs f1, 0x64(r1)
/* 801F3D90 001F0CF0 38 81 00 A0 */ addi r4, r1, 0xa0
/* 801F3D94 001F0CF4 C0 01 00 68 */ lfs f0, 0x68(r1)
/* 801F3D98 001F0CF8 38 A1 00 94 */ addi r5, r1, 0x94
/* 801F3D9C 001F0CFC D0 41 00 94 */ stfs f2, 0x94(r1)
/* 801F3DA0 001F0D00 38 C1 00 AC */ addi r6, r1, 0xac
/* 801F3DA4 001F0D04 38 E1 00 48 */ addi r7, r1, 0x48
/* 801F3DA8 001F0D08 D0 21 00 98 */ stfs f1, 0x98(r1)
/* 801F3DAC 001F0D0C D0 01 00 9C */ stfs f0, 0x9c(r1)
/* 801F3DB0 001F0D10 C0 5F 00 60 */ lfs f2, 0x60(r31)
/* 801F3DB4 001F0D14 C0 3F 00 50 */ lfs f1, 0x50(r31)
/* 801F3DB8 001F0D18 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 801F3DBC 001F0D1C D0 01 00 48 */ stfs f0, 0x48(r1)
/* 801F3DC0 001F0D20 D0 21 00 4C */ stfs f1, 0x4c(r1)
/* 801F3DC4 001F0D24 D0 41 00 50 */ stfs f2, 0x50(r1)
/* 801F3DC8 001F0D28 48 11 F0 95 */ bl __ct__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f_0
/* 801F3DCC 001F0D2C 38 7F 00 34 */ addi r3, r31, 0x34
/* 801F3DD0 001F0D30 38 81 00 D0 */ addi r4, r1, 0xd0
/* 801F3DD4 001F0D34 48 11 ED 6D */ bl __as__12CTransform4fFRC12CTransform4f
/* 801F3DD8 001F0D38 88 1F 00 E4 */ lbz r0, 0xe4(r31)
/* 801F3DDC 001F0D3C 38 C0 00 01 */ li r6, 1
/* 801F3DE0 001F0D40 50 C0 26 F6 */ rlwimi r0, r6, 4, 0x1b, 0x1b
/* 801F3DE4 001F0D44 3C 60 80 3D */ lis r3, lbl_803D2050@ha
/* 801F3DE8 001F0D48 98 1F 00 E4 */ stb r0, 0xe4(r31)
/* 801F3DEC 001F0D4C 38 83 20 50 */ addi r4, r3, lbl_803D2050@l
/* 801F3DF0 001F0D50 3A 20 00 00 */ li r17, 0
/* 801F3DF4 001F0D54 38 60 03 40 */ li r3, 0x340
/* 801F3DF8 001F0D58 88 1F 00 E4 */ lbz r0, 0xe4(r31)
/* 801F3DFC 001F0D5C 50 C0 1F 38 */ rlwimi r0, r6, 3, 0x1c, 0x1c
/* 801F3E00 001F0D60 38 A0 00 00 */ li r5, 0
/* 801F3E04 001F0D64 98 1F 00 E4 */ stb r0, 0xe4(r31)
/* 801F3E08 001F0D68 88 1F 00 E4 */ lbz r0, 0xe4(r31)
/* 801F3E0C 001F0D6C 50 C0 17 7A */ rlwimi r0, r6, 2, 0x1d, 0x1d
/* 801F3E10 001F0D70 98 1F 00 E4 */ stb r0, 0xe4(r31)
/* 801F3E14 001F0D74 48 12 1A 59 */ bl __nw__FUlPCcPCc
/* 801F3E18 001F0D78 7C 72 1B 79 */ or. r18, r3, r3
/* 801F3E1C 001F0D7C 41 82 00 2C */ beq lbl_801F3E48
/* 801F3E20 001F0D80 38 61 00 38 */ addi r3, r1, 0x38
/* 801F3E24 001F0D84 38 9F 00 F8 */ addi r4, r31, 0xf8
/* 801F3E28 001F0D88 48 14 D0 81 */ bl __ct__6CTokenFRC6CToken
/* 801F3E2C 001F0D8C 7E 43 93 78 */ mr r3, r18
/* 801F3E30 001F0D90 38 81 00 38 */ addi r4, r1, 0x38
/* 801F3E34 001F0D94 3A 20 00 01 */ li r17, 1
/* 801F3E38 001F0D98 38 A0 00 00 */ li r5, 0
/* 801F3E3C 001F0D9C 38 C0 00 01 */ li r6, 1
/* 801F3E40 001F0DA0 48 12 B5 A1 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 801F3E44 001F0DA4 7C 72 1B 78 */ mr r18, r3
lbl_801F3E48:
/* 801F3E48 001F0DA8 7C 72 00 D0 */ neg r3, r18
/* 801F3E4C 001F0DAC 38 01 00 30 */ addi r0, r1, 0x30
/* 801F3E50 001F0DB0 7C 63 93 78 */ or r3, r3, r18
/* 801F3E54 001F0DB4 38 9F 01 00 */ addi r4, r31, 0x100
/* 801F3E58 001F0DB8 54 63 0F FE */ srwi r3, r3, 0x1f
/* 801F3E5C 001F0DBC 92 41 00 34 */ stw r18, 0x34(r1)
/* 801F3E60 001F0DC0 7C 00 20 40 */ cmplw r0, r4
/* 801F3E64 001F0DC4 98 61 00 30 */ stb r3, 0x30(r1)
/* 801F3E68 001F0DC8 41 82 00 48 */ beq lbl_801F3EB0
/* 801F3E6C 001F0DCC 88 04 00 00 */ lbz r0, 0(r4)
/* 801F3E70 001F0DD0 28 00 00 00 */ cmplwi r0, 0
/* 801F3E74 001F0DD4 41 82 00 24 */ beq lbl_801F3E98
/* 801F3E78 001F0DD8 80 7F 01 04 */ lwz r3, 0x104(r31)
/* 801F3E7C 001F0DDC 28 03 00 00 */ cmplwi r3, 0
/* 801F3E80 001F0DE0 41 82 00 18 */ beq lbl_801F3E98
/* 801F3E84 001F0DE4 81 83 00 00 */ lwz r12, 0(r3)
/* 801F3E88 001F0DE8 38 80 00 01 */ li r4, 1
/* 801F3E8C 001F0DEC 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F3E90 001F0DF0 7D 89 03 A6 */ mtctr r12
/* 801F3E94 001F0DF4 4E 80 04 21 */ bctrl
lbl_801F3E98:
/* 801F3E98 001F0DF8 88 61 00 30 */ lbz r3, 0x30(r1)
/* 801F3E9C 001F0DFC 38 00 00 00 */ li r0, 0
/* 801F3EA0 001F0E00 98 7F 01 00 */ stb r3, 0x100(r31)
/* 801F3EA4 001F0E04 80 61 00 34 */ lwz r3, 0x34(r1)
/* 801F3EA8 001F0E08 90 7F 01 04 */ stw r3, 0x104(r31)
/* 801F3EAC 001F0E0C 98 01 00 30 */ stb r0, 0x30(r1)
lbl_801F3EB0:
/* 801F3EB0 001F0E10 88 01 00 30 */ lbz r0, 0x30(r1)
/* 801F3EB4 001F0E14 28 00 00 00 */ cmplwi r0, 0
/* 801F3EB8 001F0E18 41 82 00 24 */ beq lbl_801F3EDC
/* 801F3EBC 001F0E1C 80 61 00 34 */ lwz r3, 0x34(r1)
/* 801F3EC0 001F0E20 28 03 00 00 */ cmplwi r3, 0
/* 801F3EC4 001F0E24 41 82 00 18 */ beq lbl_801F3EDC
/* 801F3EC8 001F0E28 81 83 00 00 */ lwz r12, 0(r3)
/* 801F3ECC 001F0E2C 38 80 00 01 */ li r4, 1
/* 801F3ED0 001F0E30 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F3ED4 001F0E34 7D 89 03 A6 */ mtctr r12
/* 801F3ED8 001F0E38 4E 80 04 21 */ bctrl
lbl_801F3EDC:
/* 801F3EDC 001F0E3C 7E 20 07 75 */ extsb. r0, r17
/* 801F3EE0 001F0E40 41 82 00 10 */ beq lbl_801F3EF0
/* 801F3EE4 001F0E44 38 61 00 38 */ addi r3, r1, 0x38
/* 801F3EE8 001F0E48 38 80 00 00 */ li r4, 0
/* 801F3EEC 001F0E4C 48 14 CF 55 */ bl __dt__6CTokenFv
lbl_801F3EF0:
/* 801F3EF0 001F0E50 7F E3 FB 78 */ mr r3, r31
/* 801F3EF4 001F0E54 E3 E1 02 18 */ psq_l f31, 536(r1), 0, qr0
/* 801F3EF8 001F0E58 CB E1 02 10 */ lfd f31, 0x210(r1)
/* 801F3EFC 001F0E5C E3 C1 02 08 */ psq_l f30, 520(r1), 0, qr0
/* 801F3F00 001F0E60 CB C1 02 00 */ lfd f30, 0x200(r1)
/* 801F3F04 001F0E64 BA 21 01 C4 */ lmw r17, 0x1c4(r1)
/* 801F3F08 001F0E68 80 01 02 24 */ lwz r0, 0x224(r1)
/* 801F3F0C 001F0E6C 7C 08 03 A6 */ mtlr r0
/* 801F3F10 001F0E70 38 21 02 20 */ addi r1, r1, 0x220
/* 801F3F14 001F0E74 4E 80 00 20 */ blr
.global sub_801f3f18
sub_801f3f18:
/* 801F3F18 001F0E78 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801F3F1C 001F0E7C 7C 08 02 A6 */ mflr r0
/* 801F3F20 001F0E80 90 01 00 34 */ stw r0, 0x34(r1)
/* 801F3F24 001F0E84 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 801F3F28 001F0E88 7C 9F 23 78 */ mr r31, r4
/* 801F3F2C 001F0E8C 7C 7E 1B 78 */ mr r30, r3
/* 801F3F30 001F0E90 80 03 00 08 */ lwz r0, 8(r3)
/* 801F3F34 001F0E94 7C 1F 00 00 */ cmpw r31, r0
/* 801F3F38 001F0E98 40 81 01 14 */ ble lbl_801F404C
/* 801F3F3C 001F0E9C 1C 7F 03 24 */ mulli r3, r31, 0x324
/* 801F3F40 001F0EA0 2C 03 00 00 */ cmpwi r3, 0
/* 801F3F44 001F0EA4 40 82 00 0C */ bne lbl_801F3F50
/* 801F3F48 001F0EA8 3B A0 00 00 */ li r29, 0
/* 801F3F4C 001F0EAC 48 00 00 18 */ b lbl_801F3F64
lbl_801F3F50:
/* 801F3F50 001F0EB0 3C 80 80 3D */ lis r4, lbl_803D2050@ha
/* 801F3F54 001F0EB4 38 A0 00 00 */ li r5, 0
/* 801F3F58 001F0EB8 38 84 20 50 */ addi r4, r4, lbl_803D2050@l
/* 801F3F5C 001F0EBC 48 12 18 BD */ bl __nwa__FUlPCcPCc
/* 801F3F60 001F0EC0 7C 7D 1B 78 */ mr r29, r3
lbl_801F3F64:
/* 801F3F64 001F0EC4 80 1E 00 04 */ lwz r0, 4(r30)
/* 801F3F68 001F0EC8 7F A5 EB 78 */ mr r5, r29
/* 801F3F6C 001F0ECC 80 DE 00 0C */ lwz r6, 0xc(r30)
/* 801F3F70 001F0ED0 38 61 00 14 */ addi r3, r1, 0x14
/* 801F3F74 001F0ED4 1C 00 03 24 */ mulli r0, r0, 0x324
/* 801F3F78 001F0ED8 38 81 00 0C */ addi r4, r1, 0xc
/* 801F3F7C 001F0EDC 7C C6 02 14 */ add r6, r6, r0
/* 801F3F80 001F0EE0 90 C1 00 0C */ stw r6, 0xc(r1)
/* 801F3F84 001F0EE4 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 801F3F88 001F0EE8 90 C1 00 08 */ stw r6, 8(r1)
/* 801F3F8C 001F0EEC 90 01 00 10 */ stw r0, 0x10(r1)
/* 801F3F90 001F0EF0 90 01 00 14 */ stw r0, 0x14(r1)
/* 801F3F94 001F0EF4 48 00 00 CD */ bl sub_801f4060
/* 801F3F98 001F0EF8 80 1E 00 04 */ lwz r0, 4(r30)
/* 801F3F9C 001F0EFC 83 7E 00 0C */ lwz r27, 0xc(r30)
/* 801F3FA0 001F0F00 1C 00 03 24 */ mulli r0, r0, 0x324
/* 801F3FA4 001F0F04 7F 9B 02 14 */ add r28, r27, r0
/* 801F3FA8 001F0F08 48 00 00 84 */ b lbl_801F402C
lbl_801F3FAC:
/* 801F3FAC 001F0F0C 28 1B 00 00 */ cmplwi r27, 0
/* 801F3FB0 001F0F10 41 82 00 78 */ beq lbl_801F4028
/* 801F3FB4 001F0F14 38 7B 00 18 */ addi r3, r27, 0x18
/* 801F3FB8 001F0F18 38 80 FF FF */ li r4, -1
/* 801F3FBC 001F0F1C 4B F1 11 19 */ bl __dt__12CActorLightsFv
/* 801F3FC0 001F0F20 34 1B 00 08 */ addic. r0, r27, 8
/* 801F3FC4 001F0F24 41 82 00 30 */ beq lbl_801F3FF4
/* 801F3FC8 001F0F28 88 1B 00 08 */ lbz r0, 8(r27)
/* 801F3FCC 001F0F2C 28 00 00 00 */ cmplwi r0, 0
/* 801F3FD0 001F0F30 41 82 00 24 */ beq lbl_801F3FF4
/* 801F3FD4 001F0F34 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 801F3FD8 001F0F38 28 03 00 00 */ cmplwi r3, 0
/* 801F3FDC 001F0F3C 41 82 00 18 */ beq lbl_801F3FF4
/* 801F3FE0 001F0F40 81 83 00 00 */ lwz r12, 0(r3)
/* 801F3FE4 001F0F44 38 80 00 01 */ li r4, 1
/* 801F3FE8 001F0F48 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F3FEC 001F0F4C 7D 89 03 A6 */ mtctr r12
/* 801F3FF0 001F0F50 4E 80 04 21 */ bctrl
lbl_801F3FF4:
/* 801F3FF4 001F0F54 28 1B 00 00 */ cmplwi r27, 0
/* 801F3FF8 001F0F58 41 82 00 30 */ beq lbl_801F4028
/* 801F3FFC 001F0F5C 88 1B 00 00 */ lbz r0, 0(r27)
/* 801F4000 001F0F60 28 00 00 00 */ cmplwi r0, 0
/* 801F4004 001F0F64 41 82 00 24 */ beq lbl_801F4028
/* 801F4008 001F0F68 80 7B 00 04 */ lwz r3, 4(r27)
/* 801F400C 001F0F6C 28 03 00 00 */ cmplwi r3, 0
/* 801F4010 001F0F70 41 82 00 18 */ beq lbl_801F4028
/* 801F4014 001F0F74 81 83 00 00 */ lwz r12, 0(r3)
/* 801F4018 001F0F78 38 80 00 01 */ li r4, 1
/* 801F401C 001F0F7C 81 8C 00 08 */ lwz r12, 8(r12)
/* 801F4020 001F0F80 7D 89 03 A6 */ mtctr r12
/* 801F4024 001F0F84 4E 80 04 21 */ bctrl
lbl_801F4028:
/* 801F4028 001F0F88 3B 7B 03 24 */ addi r27, r27, 0x324
lbl_801F402C:
/* 801F402C 001F0F8C 7C 1B E0 40 */ cmplw r27, r28
/* 801F4030 001F0F90 40 82 FF 7C */ bne lbl_801F3FAC
/* 801F4034 001F0F94 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 801F4038 001F0F98 28 03 00 00 */ cmplwi r3, 0
/* 801F403C 001F0F9C 41 82 00 08 */ beq lbl_801F4044
/* 801F4040 001F0FA0 48 12 18 F1 */ bl Free__7CMemoryFPCv
lbl_801F4044:
/* 801F4044 001F0FA4 93 BE 00 0C */ stw r29, 0xc(r30)
/* 801F4048 001F0FA8 93 FE 00 08 */ stw r31, 8(r30)
lbl_801F404C:
/* 801F404C 001F0FAC BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 801F4050 001F0FB0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801F4054 001F0FB4 7C 08 03 A6 */ mtlr r0
/* 801F4058 001F0FB8 38 21 00 30 */ addi r1, r1, 0x30
/* 801F405C 001F0FBC 4E 80 00 20 */ blr
.global sub_801f4060
sub_801f4060:
/* 801F4060 001F0FC0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801F4064 001F0FC4 7C 08 02 A6 */ mflr r0
/* 801F4068 001F0FC8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801F406C 001F0FCC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801F4070 001F0FD0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801F4074 001F0FD4 7C BE 2B 78 */ mr r30, r5
/* 801F4078 001F0FD8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801F407C 001F0FDC 7C 9D 23 78 */ mr r29, r4
/* 801F4080 001F0FE0 83 E3 00 00 */ lwz r31, 0(r3)
/* 801F4084 001F0FE4 48 00 00 18 */ b lbl_801F409C
lbl_801F4088:
/* 801F4088 001F0FE8 7F C3 F3 78 */ mr r3, r30
/* 801F408C 001F0FEC 7F E4 FB 78 */ mr r4, r31
/* 801F4090 001F0FF0 4B FF F1 7D */ bl sub_801f320c
/* 801F4094 001F0FF4 3B DE 03 24 */ addi r30, r30, 0x324
/* 801F4098 001F0FF8 3B FF 03 24 */ addi r31, r31, 0x324
lbl_801F409C:
/* 801F409C 001F0FFC 80 1D 00 00 */ lwz r0, 0(r29)
/* 801F40A0 001F1000 7C 1F 00 40 */ cmplw r31, r0
/* 801F40A4 001F1004 40 82 FF E4 */ bne lbl_801F4088
/* 801F40A8 001F1008 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801F40AC 001F100C 7F C3 F3 78 */ mr r3, r30
/* 801F40B0 001F1010 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801F40B4 001F1014 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801F40B8 001F1018 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801F40BC 001F101C 7C 08 03 A6 */ mtlr r0
/* 801F40C0 001F1020 38 21 00 20 */ addi r1, r1, 0x20
/* 801F40C4 001F1024 4E 80 00 20 */ blr