prime/asm/MetroidPrime/Weapons/CIceImpact.s

3019 lines
149 KiB
ArmAsm

.include "macros.inc"
.section .data
.balign 8
.global lbl_803E51E8
lbl_803E51E8:
# ROM: 0x3E21E8
.4byte 0
.4byte 0
.4byte __dt__10CIceImpactFv
.4byte Accept__10CIceImpactFR8IVisitor
.4byte PreThink__7CEntityFfR13CStateManager
.4byte Think__10CIceImpactFfR13CStateManager
.4byte AcceptScriptMsg__10CIceImpactF20EScriptObjectMessage9TUniqueIdR13CStateManager
.4byte SetActive__6CActorFb
.4byte PreRender__10CIceImpactFR13CStateManagerRC14CFrustumPlanes
.4byte AddToRenderer__10CIceImpactCFRC14CFrustumPlanesRC13CStateManager
.4byte Render__10CIceImpactCFRC13CStateManager
.4byte CanRenderUnsorted__6CActorCFRC13CStateManager
.4byte CalculateRenderBounds__10CIceImpactFv
.4byte HealthInfo__6CActorFR13CStateManager
.4byte GetDamageVulnerability__6CActorCFv
.4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo
.4byte GetTouchBounds__10CIceImpactCFv
.4byte Touch__10CIceImpactFR6CActorR13CStateManager
.4byte GetOrbitPosition__6CActorCFRC13CStateManager
.4byte GetAimPosition__6CActorCFRC13CStateManagerf
.4byte GetHomingPosition__6CActorCFRC13CStateManagerf
.4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager
.4byte GetCollisionResponseType__6CActorCFRC9CVector3fRC9CVector3fRC11CWeaponModei
.4byte FluidFXThink__6CActorFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
.4byte GetSortingBounds__6CActorCFRC13CStateManager
.4byte DoUserAnimEvent__6CActorFR13CStateManagerRC13CInt32POINode14EUserEventTypef
.4byte 0
.section .sdata
.balign 8
.global lbl_805A7C98
lbl_805A7C98:
# ROM: 0x3F5638
.4byte 0x00000013
.global lbl_805A7C9C
lbl_805A7C9C:
# ROM: 0x3F563C
.4byte 0
.global lbl_805A7CA0
lbl_805A7CA0:
# ROM: 0x3F5640
.4byte 0x00000012
.global lbl_805A7CA4
lbl_805A7CA4:
# ROM: 0x3F5644
.4byte 0x00000021
.global lbl_805A7CA8
lbl_805A7CA8:
# ROM: 0x3F5648
.4byte 0x00000020
.global lbl_805A7CAC
lbl_805A7CAC:
# ROM: 0x3F564C
.4byte 0x00000023
.global lbl_805A7CB0
lbl_805A7CB0:
# ROM: 0x3F5650
.4byte 0x00000012
.global lbl_805A7CB4
lbl_805A7CB4:
# ROM: 0x3F5654
.4byte 0x00000035
.global lbl_805A7CB8
lbl_805A7CB8:
# ROM: 0x3F5658
.4byte 0x00000012
.4byte 0
.section .text, "ax"
.global SubdivideAndGenerateParticles__10CIceImpactFR13CStateManagerRC9CVector3fRC9CVector3fRC9CVector3fRC7CSphereRC7CSphere
SubdivideAndGenerateParticles__10CIceImpactFR13CStateManagerRC9CVector3fRC9CVector3fRC9CVector3fRC7CSphereRC7CSphere:
/* 801B5BA4 001B2B04 94 21 FE 50 */ stwu r1, -0x1b0(r1)
/* 801B5BA8 001B2B08 7C 08 02 A6 */ mflr r0
/* 801B5BAC 001B2B0C 90 01 01 B4 */ stw r0, 0x1b4(r1)
/* 801B5BB0 001B2B10 DB E1 01 A0 */ stfd f31, 0x1a0(r1)
/* 801B5BB4 001B2B14 F3 E1 01 A8 */ psq_st f31, 424(r1), 0, qr0
/* 801B5BB8 001B2B18 DB C1 01 90 */ stfd f30, 0x190(r1)
/* 801B5BBC 001B2B1C F3 C1 01 98 */ psq_st f30, 408(r1), 0, qr0
/* 801B5BC0 001B2B20 DB A1 01 80 */ stfd f29, 0x180(r1)
/* 801B5BC4 001B2B24 F3 A1 01 88 */ psq_st f29, 392(r1), 0, qr0
/* 801B5BC8 001B2B28 DB 81 01 70 */ stfd f28, 0x170(r1)
/* 801B5BCC 001B2B2C F3 81 01 78 */ psq_st f28, 376(r1), 0, qr0
/* 801B5BD0 001B2B30 DB 61 01 60 */ stfd f27, 0x160(r1)
/* 801B5BD4 001B2B34 F3 61 01 68 */ psq_st f27, 360(r1), 0, qr0
/* 801B5BD8 001B2B38 DB 41 01 50 */ stfd f26, 0x150(r1)
/* 801B5BDC 001B2B3C F3 41 01 58 */ psq_st f26, 344(r1), 0, qr0
/* 801B5BE0 001B2B40 BE A1 01 24 */ stmw r21, 0x124(r1)
/* 801B5BE4 001B2B44 7C B8 2B 78 */ mr r24, r5
/* 801B5BE8 001B2B48 7C D9 33 78 */ mr r25, r6
/* 801B5BEC 001B2B4C 7C FA 3B 78 */ mr r26, r7
/* 801B5BF0 001B2B50 7C 97 23 78 */ mr r23, r4
/* 801B5BF4 001B2B54 7D 1B 43 78 */ mr r27, r8
/* 801B5BF8 001B2B58 7C 76 1B 78 */ mr r22, r3
/* 801B5BFC 001B2B5C 7D 3C 4B 78 */ mr r28, r9
/* 801B5C00 001B2B60 7F 04 C3 78 */ mr r4, r24
/* 801B5C04 001B2B64 7F 63 DB 78 */ mr r3, r27
/* 801B5C08 001B2B68 7F 25 CB 78 */ mr r5, r25
/* 801B5C0C 001B2B6C 7F 46 D3 78 */ mr r6, r26
/* 801B5C10 001B2B70 48 11 A8 31 */ bl TriSphereOverlap__13CollisionUtilFRC7CSphereRC9CVector3fRC9CVector3fRC9CVector3f
/* 801B5C14 001B2B74 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 801B5C18 001B2B78 28 00 00 01 */ cmplwi r0, 1
/* 801B5C1C 001B2B7C 40 82 05 9C */ bne lbl_801B61B8
/* 801B5C20 001B2B80 7F 83 E3 78 */ mr r3, r28
/* 801B5C24 001B2B84 7F 04 C3 78 */ mr r4, r24
/* 801B5C28 001B2B88 48 00 0F 9D */ bl pointInSphere__FRC7CSphereRC9CVector3f
/* 801B5C2C 001B2B8C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B5C30 001B2B90 41 82 00 34 */ beq lbl_801B5C64
/* 801B5C34 001B2B94 7F 83 E3 78 */ mr r3, r28
/* 801B5C38 001B2B98 7F 24 CB 78 */ mr r4, r25
/* 801B5C3C 001B2B9C 48 00 0F 89 */ bl pointInSphere__FRC7CSphereRC9CVector3f
/* 801B5C40 001B2BA0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B5C44 001B2BA4 41 82 00 20 */ beq lbl_801B5C64
/* 801B5C48 001B2BA8 7F 83 E3 78 */ mr r3, r28
/* 801B5C4C 001B2BAC 7F 44 D3 78 */ mr r4, r26
/* 801B5C50 001B2BB0 48 00 0F 75 */ bl pointInSphere__FRC7CSphereRC9CVector3f
/* 801B5C54 001B2BB4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B5C58 001B2BB8 41 82 00 0C */ beq lbl_801B5C64
/* 801B5C5C 001B2BBC 38 60 00 00 */ li r3, 0
/* 801B5C60 001B2BC0 48 00 05 5C */ b lbl_801B61BC
lbl_801B5C64:
/* 801B5C64 001B2BC4 C0 59 00 00 */ lfs f2, 0(r25)
/* 801B5C68 001B2BC8 38 61 00 74 */ addi r3, r1, 0x74
/* 801B5C6C 001B2BCC C0 78 00 00 */ lfs f3, 0(r24)
/* 801B5C70 001B2BD0 C0 1A 00 00 */ lfs f0, 0(r26)
/* 801B5C74 001B2BD4 C0 39 00 04 */ lfs f1, 4(r25)
/* 801B5C78 001B2BD8 EC A2 18 28 */ fsubs f5, f2, f3
/* 801B5C7C 001B2BDC C0 58 00 04 */ lfs f2, 4(r24)
/* 801B5C80 001B2BE0 ED 00 18 28 */ fsubs f8, f0, f3
/* 801B5C84 001B2BE4 C0 1A 00 04 */ lfs f0, 4(r26)
/* 801B5C88 001B2BE8 EC 81 10 28 */ fsubs f4, f1, f2
/* 801B5C8C 001B2BEC C0 39 00 08 */ lfs f1, 8(r25)
/* 801B5C90 001B2BF0 C0 D8 00 08 */ lfs f6, 8(r24)
/* 801B5C94 001B2BF4 EC E0 10 28 */ fsubs f7, f0, f2
/* 801B5C98 001B2BF8 C0 1A 00 08 */ lfs f0, 8(r26)
/* 801B5C9C 001B2BFC EC 61 30 28 */ fsubs f3, f1, f6
/* 801B5CA0 001B2C00 EC C0 30 28 */ fsubs f6, f0, f6
/* 801B5CA4 001B2C04 EC 08 01 32 */ fmuls f0, f8, f4
/* 801B5CA8 001B2C08 EC 47 00 F2 */ fmuls f2, f7, f3
/* 801B5CAC 001B2C0C EC 26 01 72 */ fmuls f1, f6, f5
/* 801B5CB0 001B2C10 EF 85 01 F8 */ fmsubs f28, f5, f7, f0
/* 801B5CB4 001B2C14 EF C4 11 B8 */ fmsubs f30, f4, f6, f2
/* 801B5CB8 001B2C18 EF A3 0A 38 */ fmsubs f29, f3, f8, f1
/* 801B5CBC 001B2C1C D3 81 00 7C */ stfs f28, 0x7c(r1)
/* 801B5CC0 001B2C20 D3 C1 00 74 */ stfs f30, 0x74(r1)
/* 801B5CC4 001B2C24 D3 A1 00 78 */ stfs f29, 0x78(r1)
/* 801B5CC8 001B2C28 48 15 EB F1 */ bl Magnitude__9CVector3fCFv
/* 801B5CCC 001B2C2C C3 E2 A9 68 */ lfs f31, lbl_805AC688@sda21(r2)
/* 801B5CD0 001B2C30 FC 01 F8 40 */ fcmpo cr0, f1, f31
/* 801B5CD4 001B2C34 40 81 00 A8 */ ble lbl_801B5D7C
/* 801B5CD8 001B2C38 C0 02 A9 6C */ lfs f0, lbl_805AC68C@sda21(r2)
/* 801B5CDC 001B2C3C 7F 04 C3 78 */ mr r4, r24
/* 801B5CE0 001B2C40 7F 25 CB 78 */ mr r5, r25
/* 801B5CE4 001B2C44 7F 46 D3 78 */ mr r6, r26
/* 801B5CE8 001B2C48 D0 01 00 5C */ stfs f0, 0x5c(r1)
/* 801B5CEC 001B2C4C 38 61 00 68 */ addi r3, r1, 0x68
/* 801B5CF0 001B2C50 38 E1 00 5C */ addi r7, r1, 0x5c
/* 801B5CF4 001B2C54 D0 01 00 60 */ stfs f0, 0x60(r1)
/* 801B5CF8 001B2C58 D0 01 00 64 */ stfs f0, 0x64(r1)
/* 801B5CFC 001B2C5C 48 15 F1 A1 */ bl BaryToWorld__5CMathFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f
/* 801B5D00 001B2C60 C0 41 00 68 */ lfs f2, 0x68(r1)
/* 801B5D04 001B2C64 7E C3 B3 78 */ mr r3, r22
/* 801B5D08 001B2C68 C0 21 00 6C */ lfs f1, 0x6c(r1)
/* 801B5D0C 001B2C6C 7E E4 BB 78 */ mr r4, r23
/* 801B5D10 001B2C70 C0 01 00 70 */ lfs f0, 0x70(r1)
/* 801B5D14 001B2C74 7F 05 C3 78 */ mr r5, r24
/* 801B5D18 001B2C78 D0 41 00 A4 */ stfs f2, 0xa4(r1)
/* 801B5D1C 001B2C7C 7F 26 CB 78 */ mr r6, r25
/* 801B5D20 001B2C80 7F 68 DB 78 */ mr r8, r27
/* 801B5D24 001B2C84 7F 89 E3 78 */ mr r9, r28
/* 801B5D28 001B2C88 D0 21 00 A8 */ stfs f1, 0xa8(r1)
/* 801B5D2C 001B2C8C 38 E1 00 A4 */ addi r7, r1, 0xa4
/* 801B5D30 001B2C90 D0 01 00 AC */ stfs f0, 0xac(r1)
/* 801B5D34 001B2C94 4B FF FE 71 */ bl SubdivideAndGenerateParticles__10CIceImpactFR13CStateManagerRC9CVector3fRC9CVector3fRC9CVector3fRC7CSphereRC7CSphere
/* 801B5D38 001B2C98 7E C3 B3 78 */ mr r3, r22
/* 801B5D3C 001B2C9C 7E E4 BB 78 */ mr r4, r23
/* 801B5D40 001B2CA0 7F 25 CB 78 */ mr r5, r25
/* 801B5D44 001B2CA4 7F 46 D3 78 */ mr r6, r26
/* 801B5D48 001B2CA8 7F 68 DB 78 */ mr r8, r27
/* 801B5D4C 001B2CAC 7F 89 E3 78 */ mr r9, r28
/* 801B5D50 001B2CB0 38 E1 00 A4 */ addi r7, r1, 0xa4
/* 801B5D54 001B2CB4 4B FF FE 51 */ bl SubdivideAndGenerateParticles__10CIceImpactFR13CStateManagerRC9CVector3fRC9CVector3fRC9CVector3fRC7CSphereRC7CSphere
/* 801B5D58 001B2CB8 7E C3 B3 78 */ mr r3, r22
/* 801B5D5C 001B2CBC 7E E4 BB 78 */ mr r4, r23
/* 801B5D60 001B2CC0 7F 45 D3 78 */ mr r5, r26
/* 801B5D64 001B2CC4 7F 06 C3 78 */ mr r6, r24
/* 801B5D68 001B2CC8 7F 68 DB 78 */ mr r8, r27
/* 801B5D6C 001B2CCC 7F 89 E3 78 */ mr r9, r28
/* 801B5D70 001B2CD0 38 E1 00 A4 */ addi r7, r1, 0xa4
/* 801B5D74 001B2CD4 4B FF FE 31 */ bl SubdivideAndGenerateParticles__10CIceImpactFR13CStateManagerRC9CVector3fRC9CVector3fRC9CVector3fRC7CSphereRC7CSphere
/* 801B5D78 001B2CD8 48 00 04 40 */ b lbl_801B61B8
lbl_801B5D7C:
/* 801B5D7C 001B2CDC C0 16 01 04 */ lfs f0, 0x104(r22)
/* 801B5D80 001B2CE0 3C 00 43 30 */ lis r0, 0x4330
/* 801B5D84 001B2CE4 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 801B5D88 001B2CE8 90 01 01 18 */ stw r0, 0x118(r1)
/* 801B5D8C 001B2CEC EC 00 08 2A */ fadds f0, f0, f1
/* 801B5D90 001B2CF0 C8 22 A9 78 */ lfd f1, lbl_805AC698@sda21(r2)
/* 801B5D94 001B2CF4 3B E3 66 A0 */ addi r31, r3, sZeroVector__9CVector3f@l
/* 801B5D98 001B2CF8 3B A0 00 00 */ li r29, 0
/* 801B5D9C 001B2CFC D0 16 01 04 */ stfs f0, 0x104(r22)
/* 801B5DA0 001B2D00 C0 56 01 04 */ lfs f2, 0x104(r22)
/* 801B5DA4 001B2D04 FC 00 10 1E */ fctiwz f0, f2
/* 801B5DA8 001B2D08 D8 01 01 10 */ stfd f0, 0x110(r1)
/* 801B5DAC 001B2D0C 83 C1 01 14 */ lwz r30, 0x114(r1)
/* 801B5DB0 001B2D10 6F C0 80 00 */ xoris r0, r30, 0x8000
/* 801B5DB4 001B2D14 90 01 01 1C */ stw r0, 0x11c(r1)
/* 801B5DB8 001B2D18 C8 01 01 18 */ lfd f0, 0x118(r1)
/* 801B5DBC 001B2D1C EC 00 08 28 */ fsubs f0, f0, f1
/* 801B5DC0 001B2D20 EC 02 00 28 */ fsubs f0, f2, f0
/* 801B5DC4 001B2D24 D0 16 01 04 */ stfs f0, 0x104(r22)
/* 801B5DC8 001B2D28 48 00 03 E8 */ b lbl_801B61B0
lbl_801B5DCC:
/* 801B5DCC 001B2D2C 80 77 09 00 */ lwz r3, 0x900(r23)
/* 801B5DD0 001B2D30 48 15 C7 0D */ bl Float__9CRandom16Fv
/* 801B5DD4 001B2D34 FF 40 08 90 */ fmr f26, f1
/* 801B5DD8 001B2D38 80 77 09 00 */ lwz r3, 0x900(r23)
/* 801B5DDC 001B2D3C 48 15 C7 01 */ bl Float__9CRandom16Fv
/* 801B5DE0 001B2D40 FF 60 08 90 */ fmr f27, f1
/* 801B5DE4 001B2D44 80 77 09 00 */ lwz r3, 0x900(r23)
/* 801B5DE8 001B2D48 48 15 C6 F5 */ bl Float__9CRandom16Fv
/* 801B5DEC 001B2D4C EC 1A D8 2A */ fadds f0, f26, f27
/* 801B5DF0 001B2D50 7F 04 C3 78 */ mr r4, r24
/* 801B5DF4 001B2D54 7F 25 CB 78 */ mr r5, r25
/* 801B5DF8 001B2D58 7F 46 D3 78 */ mr r6, r26
/* 801B5DFC 001B2D5C 38 61 00 50 */ addi r3, r1, 0x50
/* 801B5E00 001B2D60 38 E1 00 44 */ addi r7, r1, 0x44
/* 801B5E04 001B2D64 EC 01 00 2A */ fadds f0, f1, f0
/* 801B5E08 001B2D68 EC 7F 00 24 */ fdivs f3, f31, f0
/* 801B5E0C 001B2D6C EC 1A 00 F2 */ fmuls f0, f26, f3
/* 801B5E10 001B2D70 EC 5B 00 F2 */ fmuls f2, f27, f3
/* 801B5E14 001B2D74 EC 21 00 F2 */ fmuls f1, f1, f3
/* 801B5E18 001B2D78 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 801B5E1C 001B2D7C D0 41 00 48 */ stfs f2, 0x48(r1)
/* 801B5E20 001B2D80 D0 21 00 4C */ stfs f1, 0x4c(r1)
/* 801B5E24 001B2D84 48 15 F0 79 */ bl BaryToWorld__5CMathFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f
/* 801B5E28 001B2D88 C0 41 00 50 */ lfs f2, 0x50(r1)
/* 801B5E2C 001B2D8C 7F 83 E3 78 */ mr r3, r28
/* 801B5E30 001B2D90 C0 21 00 54 */ lfs f1, 0x54(r1)
/* 801B5E34 001B2D94 38 81 00 98 */ addi r4, r1, 0x98
/* 801B5E38 001B2D98 C0 01 00 58 */ lfs f0, 0x58(r1)
/* 801B5E3C 001B2D9C D0 41 00 98 */ stfs f2, 0x98(r1)
/* 801B5E40 001B2DA0 D0 21 00 9C */ stfs f1, 0x9c(r1)
/* 801B5E44 001B2DA4 D0 01 00 A0 */ stfs f0, 0xa0(r1)
/* 801B5E48 001B2DA8 48 00 0D 7D */ bl pointInSphere__FRC7CSphereRC9CVector3f
/* 801B5E4C 001B2DAC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B5E50 001B2DB0 40 82 03 5C */ bne lbl_801B61AC
/* 801B5E54 001B2DB4 7F 63 DB 78 */ mr r3, r27
/* 801B5E58 001B2DB8 38 81 00 98 */ addi r4, r1, 0x98
/* 801B5E5C 001B2DBC 48 00 0D 69 */ bl pointInSphere__FRC7CSphereRC9CVector3f
/* 801B5E60 001B2DC0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B5E64 001B2DC4 41 82 03 48 */ beq lbl_801B61AC
/* 801B5E68 001B2DC8 38 76 01 18 */ addi r3, r22, 0x118
/* 801B5E6C 001B2DCC 38 81 00 98 */ addi r4, r1, 0x98
/* 801B5E70 001B2DD0 38 A1 00 10 */ addi r5, r1, 0x10
/* 801B5E74 001B2DD4 38 C1 00 0C */ addi r6, r1, 0xc
/* 801B5E78 001B2DD8 38 E1 00 08 */ addi r7, r1, 8
/* 801B5E7C 001B2DDC 48 00 23 FD */ bl GetCoords__11CMarkerGridCFRC9CVector3fRUiRUiRUi
/* 801B5E80 001B2DE0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B5E84 001B2DE4 41 82 03 28 */ beq lbl_801B61AC
/* 801B5E88 001B2DE8 80 81 00 10 */ lwz r4, 0x10(r1)
/* 801B5E8C 001B2DEC 38 76 01 18 */ addi r3, r22, 0x118
/* 801B5E90 001B2DF0 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 801B5E94 001B2DF4 80 C1 00 08 */ lwz r6, 8(r1)
/* 801B5E98 001B2DF8 48 00 24 99 */ bl GetValue__11CMarkerGridCFUiUiUi
/* 801B5E9C 001B2DFC 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 801B5EA0 001B2E00 40 82 03 0C */ bne lbl_801B61AC
/* 801B5EA4 001B2E04 80 81 00 10 */ lwz r4, 0x10(r1)
/* 801B5EA8 001B2E08 38 76 01 18 */ addi r3, r22, 0x118
/* 801B5EAC 001B2E0C 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 801B5EB0 001B2E10 38 E0 00 01 */ li r7, 1
/* 801B5EB4 001B2E14 80 C1 00 08 */ lwz r6, 8(r1)
/* 801B5EB8 001B2E18 48 00 23 85 */ bl SetValue__11CMarkerGridFUiUiUiUi
/* 801B5EBC 001B2E1C 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 801B5EC0 001B2E20 C0 3F 00 04 */ lfs f1, 4(r31)
/* 801B5EC4 001B2E24 C0 1F 00 08 */ lfs f0, 8(r31)
/* 801B5EC8 001B2E28 38 80 00 00 */ li r4, 0
/* 801B5ECC 001B2E2C C0 43 66 A0 */ lfs f2, sZeroVector__9CVector3f@l(r3)
/* 801B5ED0 001B2E30 38 A0 00 02 */ li r5, 2
/* 801B5ED4 001B2E34 D0 21 00 90 */ stfs f1, 0x90(r1)
/* 801B5ED8 001B2E38 D0 41 00 8C */ stfs f2, 0x8c(r1)
/* 801B5EDC 001B2E3C D0 01 00 94 */ stfs f0, 0x94(r1)
/* 801B5EE0 001B2E40 80 77 09 00 */ lwz r3, 0x900(r23)
/* 801B5EE4 001B2E44 48 15 C6 B1 */ bl Range__9CRandom16Fii
/* 801B5EE8 001B2E48 2C 03 00 01 */ cmpwi r3, 1
/* 801B5EEC 001B2E4C 41 82 00 94 */ beq lbl_801B5F80
/* 801B5EF0 001B2E50 40 80 00 10 */ bge lbl_801B5F00
/* 801B5EF4 001B2E54 2C 03 00 00 */ cmpwi r3, 0
/* 801B5EF8 001B2E58 40 80 00 14 */ bge lbl_801B5F0C
/* 801B5EFC 001B2E5C 48 00 01 68 */ b lbl_801B6064
lbl_801B5F00:
/* 801B5F00 001B2E60 2C 03 00 03 */ cmpwi r3, 3
/* 801B5F04 001B2E64 40 80 01 60 */ bge lbl_801B6064
/* 801B5F08 001B2E68 48 00 00 EC */ b lbl_801B5FF4
lbl_801B5F0C:
/* 801B5F0C 001B2E6C C0 38 00 04 */ lfs f1, 4(r24)
/* 801B5F10 001B2E70 38 61 00 8C */ addi r3, r1, 0x8c
/* 801B5F14 001B2E74 C0 01 00 9C */ lfs f0, 0x9c(r1)
/* 801B5F18 001B2E78 C0 78 00 08 */ lfs f3, 8(r24)
/* 801B5F1C 001B2E7C C0 41 00 A0 */ lfs f2, 0xa0(r1)
/* 801B5F20 001B2E80 EC 81 00 28 */ fsubs f4, f1, f0
/* 801B5F24 001B2E84 C0 38 00 00 */ lfs f1, 0(r24)
/* 801B5F28 001B2E88 C0 01 00 98 */ lfs f0, 0x98(r1)
/* 801B5F2C 001B2E8C EC 43 10 28 */ fsubs f2, f3, f2
/* 801B5F30 001B2E90 D0 81 00 90 */ stfs f4, 0x90(r1)
/* 801B5F34 001B2E94 EC 01 00 28 */ fsubs f0, f1, f0
/* 801B5F38 001B2E98 D0 41 00 94 */ stfs f2, 0x94(r1)
/* 801B5F3C 001B2E9C D0 01 00 8C */ stfs f0, 0x8c(r1)
/* 801B5F40 001B2EA0 48 15 E7 B9 */ bl CanBeNormalized__9CVector3fCFv
/* 801B5F44 001B2EA4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B5F48 001B2EA8 40 82 01 1C */ bne lbl_801B6064
/* 801B5F4C 001B2EAC C0 39 00 04 */ lfs f1, 4(r25)
/* 801B5F50 001B2EB0 C0 01 00 9C */ lfs f0, 0x9c(r1)
/* 801B5F54 001B2EB4 C0 79 00 08 */ lfs f3, 8(r25)
/* 801B5F58 001B2EB8 C0 41 00 A0 */ lfs f2, 0xa0(r1)
/* 801B5F5C 001B2EBC EC 81 00 28 */ fsubs f4, f1, f0
/* 801B5F60 001B2EC0 C0 39 00 00 */ lfs f1, 0(r25)
/* 801B5F64 001B2EC4 C0 01 00 98 */ lfs f0, 0x98(r1)
/* 801B5F68 001B2EC8 EC 43 10 28 */ fsubs f2, f3, f2
/* 801B5F6C 001B2ECC D0 81 00 90 */ stfs f4, 0x90(r1)
/* 801B5F70 001B2ED0 EC 01 00 28 */ fsubs f0, f1, f0
/* 801B5F74 001B2ED4 D0 41 00 94 */ stfs f2, 0x94(r1)
/* 801B5F78 001B2ED8 D0 01 00 8C */ stfs f0, 0x8c(r1)
/* 801B5F7C 001B2EDC 48 00 00 E8 */ b lbl_801B6064
lbl_801B5F80:
/* 801B5F80 001B2EE0 C0 39 00 04 */ lfs f1, 4(r25)
/* 801B5F84 001B2EE4 38 61 00 8C */ addi r3, r1, 0x8c
/* 801B5F88 001B2EE8 C0 01 00 9C */ lfs f0, 0x9c(r1)
/* 801B5F8C 001B2EEC C0 79 00 08 */ lfs f3, 8(r25)
/* 801B5F90 001B2EF0 C0 41 00 A0 */ lfs f2, 0xa0(r1)
/* 801B5F94 001B2EF4 EC 81 00 28 */ fsubs f4, f1, f0
/* 801B5F98 001B2EF8 C0 39 00 00 */ lfs f1, 0(r25)
/* 801B5F9C 001B2EFC C0 01 00 98 */ lfs f0, 0x98(r1)
/* 801B5FA0 001B2F00 EC 43 10 28 */ fsubs f2, f3, f2
/* 801B5FA4 001B2F04 D0 81 00 90 */ stfs f4, 0x90(r1)
/* 801B5FA8 001B2F08 EC 01 00 28 */ fsubs f0, f1, f0
/* 801B5FAC 001B2F0C D0 41 00 94 */ stfs f2, 0x94(r1)
/* 801B5FB0 001B2F10 D0 01 00 8C */ stfs f0, 0x8c(r1)
/* 801B5FB4 001B2F14 48 15 E7 45 */ bl CanBeNormalized__9CVector3fCFv
/* 801B5FB8 001B2F18 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B5FBC 001B2F1C 40 82 00 A8 */ bne lbl_801B6064
/* 801B5FC0 001B2F20 C0 3A 00 04 */ lfs f1, 4(r26)
/* 801B5FC4 001B2F24 C0 01 00 9C */ lfs f0, 0x9c(r1)
/* 801B5FC8 001B2F28 C0 7A 00 08 */ lfs f3, 8(r26)
/* 801B5FCC 001B2F2C C0 41 00 A0 */ lfs f2, 0xa0(r1)
/* 801B5FD0 001B2F30 EC 81 00 28 */ fsubs f4, f1, f0
/* 801B5FD4 001B2F34 C0 3A 00 00 */ lfs f1, 0(r26)
/* 801B5FD8 001B2F38 C0 01 00 98 */ lfs f0, 0x98(r1)
/* 801B5FDC 001B2F3C EC 43 10 28 */ fsubs f2, f3, f2
/* 801B5FE0 001B2F40 D0 81 00 90 */ stfs f4, 0x90(r1)
/* 801B5FE4 001B2F44 EC 01 00 28 */ fsubs f0, f1, f0
/* 801B5FE8 001B2F48 D0 41 00 94 */ stfs f2, 0x94(r1)
/* 801B5FEC 001B2F4C D0 01 00 8C */ stfs f0, 0x8c(r1)
/* 801B5FF0 001B2F50 48 00 00 74 */ b lbl_801B6064
lbl_801B5FF4:
/* 801B5FF4 001B2F54 C0 3A 00 04 */ lfs f1, 4(r26)
/* 801B5FF8 001B2F58 38 61 00 8C */ addi r3, r1, 0x8c
/* 801B5FFC 001B2F5C C0 01 00 9C */ lfs f0, 0x9c(r1)
/* 801B6000 001B2F60 C0 7A 00 08 */ lfs f3, 8(r26)
/* 801B6004 001B2F64 C0 41 00 A0 */ lfs f2, 0xa0(r1)
/* 801B6008 001B2F68 EC 81 00 28 */ fsubs f4, f1, f0
/* 801B600C 001B2F6C C0 3A 00 00 */ lfs f1, 0(r26)
/* 801B6010 001B2F70 C0 01 00 98 */ lfs f0, 0x98(r1)
/* 801B6014 001B2F74 EC 43 10 28 */ fsubs f2, f3, f2
/* 801B6018 001B2F78 D0 81 00 90 */ stfs f4, 0x90(r1)
/* 801B601C 001B2F7C EC 01 00 28 */ fsubs f0, f1, f0
/* 801B6020 001B2F80 D0 41 00 94 */ stfs f2, 0x94(r1)
/* 801B6024 001B2F84 D0 01 00 8C */ stfs f0, 0x8c(r1)
/* 801B6028 001B2F88 48 15 E6 D1 */ bl CanBeNormalized__9CVector3fCFv
/* 801B602C 001B2F8C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B6030 001B2F90 40 82 00 34 */ bne lbl_801B6064
/* 801B6034 001B2F94 C0 38 00 04 */ lfs f1, 4(r24)
/* 801B6038 001B2F98 C0 01 00 9C */ lfs f0, 0x9c(r1)
/* 801B603C 001B2F9C C0 78 00 08 */ lfs f3, 8(r24)
/* 801B6040 001B2FA0 C0 41 00 A0 */ lfs f2, 0xa0(r1)
/* 801B6044 001B2FA4 EC 81 00 28 */ fsubs f4, f1, f0
/* 801B6048 001B2FA8 C0 38 00 00 */ lfs f1, 0(r24)
/* 801B604C 001B2FAC C0 01 00 98 */ lfs f0, 0x98(r1)
/* 801B6050 001B2FB0 EC 43 10 28 */ fsubs f2, f3, f2
/* 801B6054 001B2FB4 D0 81 00 90 */ stfs f4, 0x90(r1)
/* 801B6058 001B2FB8 EC 01 00 28 */ fsubs f0, f1, f0
/* 801B605C 001B2FBC D0 41 00 94 */ stfs f2, 0x94(r1)
/* 801B6060 001B2FC0 D0 01 00 8C */ stfs f0, 0x8c(r1)
lbl_801B6064:
/* 801B6064 001B2FC4 38 61 00 38 */ addi r3, r1, 0x38
/* 801B6068 001B2FC8 38 81 00 8C */ addi r4, r1, 0x8c
/* 801B606C 001B2FCC 48 15 E7 E5 */ bl AsNormalized__9CVector3fCFv
/* 801B6070 001B2FD0 C0 41 00 38 */ lfs f2, 0x38(r1)
/* 801B6074 001B2FD4 38 61 00 2C */ addi r3, r1, 0x2c
/* 801B6078 001B2FD8 C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 801B607C 001B2FDC 38 81 00 20 */ addi r4, r1, 0x20
/* 801B6080 001B2FE0 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 801B6084 001B2FE4 D0 41 00 8C */ stfs f2, 0x8c(r1)
/* 801B6088 001B2FE8 D0 21 00 90 */ stfs f1, 0x90(r1)
/* 801B608C 001B2FEC D0 01 00 94 */ stfs f0, 0x94(r1)
/* 801B6090 001B2FF0 D3 C1 00 20 */ stfs f30, 0x20(r1)
/* 801B6094 001B2FF4 D3 A1 00 24 */ stfs f29, 0x24(r1)
/* 801B6098 001B2FF8 D3 81 00 28 */ stfs f28, 0x28(r1)
/* 801B609C 001B2FFC 48 15 E7 B5 */ bl AsNormalized__9CVector3fCFv
/* 801B60A0 001B3000 C0 41 00 2C */ lfs f2, 0x2c(r1)
/* 801B60A4 001B3004 C0 21 00 30 */ lfs f1, 0x30(r1)
/* 801B60A8 001B3008 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 801B60AC 001B300C D0 41 00 80 */ stfs f2, 0x80(r1)
/* 801B60B0 001B3010 D0 21 00 84 */ stfs f1, 0x84(r1)
/* 801B60B4 001B3014 D0 01 00 88 */ stfs f0, 0x88(r1)
/* 801B60B8 001B3018 80 77 09 00 */ lwz r3, 0x900(r23)
/* 801B60BC 001B301C 48 15 C4 21 */ bl Float__9CRandom16Fv
/* 801B60C0 001B3020 C0 02 A9 74 */ lfs f0, lbl_805AC694@sda21(r2)
/* 801B60C4 001B3024 C0 42 A9 70 */ lfs f2, lbl_805AC690@sda21(r2)
/* 801B60C8 001B3028 EC 21 00 28 */ fsubs f1, f1, f0
/* 801B60CC 001B302C C0 01 00 80 */ lfs f0, 0x80(r1)
/* 801B60D0 001B3030 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 801B60D4 001B3034 D0 01 00 80 */ stfs f0, 0x80(r1)
/* 801B60D8 001B3038 80 77 09 00 */ lwz r3, 0x900(r23)
/* 801B60DC 001B303C 48 15 C4 01 */ bl Float__9CRandom16Fv
/* 801B60E0 001B3040 C0 02 A9 74 */ lfs f0, lbl_805AC694@sda21(r2)
/* 801B60E4 001B3044 C0 42 A9 70 */ lfs f2, lbl_805AC690@sda21(r2)
/* 801B60E8 001B3048 EC 21 00 28 */ fsubs f1, f1, f0
/* 801B60EC 001B304C C0 01 00 84 */ lfs f0, 0x84(r1)
/* 801B60F0 001B3050 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 801B60F4 001B3054 D0 01 00 84 */ stfs f0, 0x84(r1)
/* 801B60F8 001B3058 80 77 09 00 */ lwz r3, 0x900(r23)
/* 801B60FC 001B305C 48 15 C3 E1 */ bl Float__9CRandom16Fv
/* 801B6100 001B3060 C0 02 A9 74 */ lfs f0, lbl_805AC694@sda21(r2)
/* 801B6104 001B3064 38 61 00 14 */ addi r3, r1, 0x14
/* 801B6108 001B3068 C0 42 A9 70 */ lfs f2, lbl_805AC690@sda21(r2)
/* 801B610C 001B306C 38 81 00 80 */ addi r4, r1, 0x80
/* 801B6110 001B3070 EC 21 00 28 */ fsubs f1, f1, f0
/* 801B6114 001B3074 C0 01 00 88 */ lfs f0, 0x88(r1)
/* 801B6118 001B3078 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 801B611C 001B307C D0 01 00 88 */ stfs f0, 0x88(r1)
/* 801B6120 001B3080 48 15 E7 31 */ bl AsNormalized__9CVector3fCFv
/* 801B6124 001B3084 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 801B6128 001B3088 38 61 00 B0 */ addi r3, r1, 0xb0
/* 801B612C 001B308C 38 84 66 A0 */ addi r4, r4, sZeroVector__9CVector3f@l
/* 801B6130 001B3090 38 A1 00 14 */ addi r5, r1, 0x14
/* 801B6134 001B3094 38 C1 00 8C */ addi r6, r1, 0x8c
/* 801B6138 001B3098 48 15 D9 D9 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f
/* 801B613C 001B309C 38 61 00 E0 */ addi r3, r1, 0xe0
/* 801B6140 001B30A0 38 81 00 B0 */ addi r4, r1, 0xb0
/* 801B6144 001B30A4 48 15 CA 31 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 801B6148 001B30A8 80 76 00 E8 */ lwz r3, 0xe8(r22)
/* 801B614C 001B30AC 38 81 00 E0 */ addi r4, r1, 0xe0
/* 801B6150 001B30B0 81 83 00 00 */ lwz r12, 0(r3)
/* 801B6154 001B30B4 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 801B6158 001B30B8 7D 89 03 A6 */ mtctr r12
/* 801B615C 001B30BC 4E 80 04 21 */ bctrl
/* 801B6160 001B30C0 80 76 00 E8 */ lwz r3, 0xe8(r22)
/* 801B6164 001B30C4 38 81 00 98 */ addi r4, r1, 0x98
/* 801B6168 001B30C8 81 83 00 00 */ lwz r12, 0(r3)
/* 801B616C 001B30CC 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 801B6170 001B30D0 7D 89 03 A6 */ mtctr r12
/* 801B6174 001B30D4 4E 80 04 21 */ bctrl
/* 801B6178 001B30D8 80 76 00 E8 */ lwz r3, 0xe8(r22)
/* 801B617C 001B30DC 38 80 00 01 */ li r4, 1
/* 801B6180 001B30E0 48 16 67 41 */ bl ForceParticleCreation__11CElementGenFi
/* 801B6184 001B30E4 80 76 00 E8 */ lwz r3, 0xe8(r22)
/* 801B6188 001B30E8 81 83 00 00 */ lwz r12, 0(r3)
/* 801B618C 001B30EC 82 A3 00 90 */ lwz r21, 0x90(r3)
/* 801B6190 001B30F0 81 8C 00 60 */ lwz r12, 0x60(r12)
/* 801B6194 001B30F4 7D 89 03 A6 */ mtctr r12
/* 801B6198 001B30F8 4E 80 04 21 */ bctrl
/* 801B619C 001B30FC 7C 03 A8 00 */ cmpw r3, r21
/* 801B61A0 001B3100 40 82 00 0C */ bne lbl_801B61AC
/* 801B61A4 001B3104 38 60 00 01 */ li r3, 1
/* 801B61A8 001B3108 48 00 00 14 */ b lbl_801B61BC
lbl_801B61AC:
/* 801B61AC 001B310C 3B BD 00 01 */ addi r29, r29, 1
lbl_801B61B0:
/* 801B61B0 001B3110 7C 1D F0 00 */ cmpw r29, r30
/* 801B61B4 001B3114 41 80 FC 18 */ blt lbl_801B5DCC
lbl_801B61B8:
/* 801B61B8 001B3118 38 60 00 00 */ li r3, 0
lbl_801B61BC:
/* 801B61BC 001B311C E3 E1 01 A8 */ psq_l f31, 424(r1), 0, qr0
/* 801B61C0 001B3120 CB E1 01 A0 */ lfd f31, 0x1a0(r1)
/* 801B61C4 001B3124 E3 C1 01 98 */ psq_l f30, 408(r1), 0, qr0
/* 801B61C8 001B3128 CB C1 01 90 */ lfd f30, 0x190(r1)
/* 801B61CC 001B312C E3 A1 01 88 */ psq_l f29, 392(r1), 0, qr0
/* 801B61D0 001B3130 CB A1 01 80 */ lfd f29, 0x180(r1)
/* 801B61D4 001B3134 E3 81 01 78 */ psq_l f28, 376(r1), 0, qr0
/* 801B61D8 001B3138 CB 81 01 70 */ lfd f28, 0x170(r1)
/* 801B61DC 001B313C E3 61 01 68 */ psq_l f27, 360(r1), 0, qr0
/* 801B61E0 001B3140 CB 61 01 60 */ lfd f27, 0x160(r1)
/* 801B61E4 001B3144 E3 41 01 58 */ psq_l f26, 344(r1), 0, qr0
/* 801B61E8 001B3148 CB 41 01 50 */ lfd f26, 0x150(r1)
/* 801B61EC 001B314C BA A1 01 24 */ lmw r21, 0x124(r1)
/* 801B61F0 001B3150 80 01 01 B4 */ lwz r0, 0x1b4(r1)
/* 801B61F4 001B3154 7C 08 03 A6 */ mtlr r0
/* 801B61F8 001B3158 38 21 01 B0 */ addi r1, r1, 0x1b0
/* 801B61FC 001B315C 4E 80 00 20 */ blr
.global GenerateParticlesAgainstOBBTree__10CIceImpactFR13CStateManagerRC8COBBTreeRC12CTransform4fRC7CSphereRC7CSphere
GenerateParticlesAgainstOBBTree__10CIceImpactFR13CStateManagerRC8COBBTreeRC12CTransform4fRC7CSphereRC7CSphere:
/* 801B6200 001B3160 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 801B6204 001B3164 7C 08 02 A6 */ mflr r0
/* 801B6208 001B3168 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 801B620C 001B316C BE E1 00 9C */ stmw r23, 0x9c(r1)
/* 801B6210 001B3170 7C 78 1B 78 */ mr r24, r3
/* 801B6214 001B3174 7C 99 23 78 */ mr r25, r4
/* 801B6218 001B3178 7C BA 2B 78 */ mr r26, r5
/* 801B621C 001B317C 7C DB 33 78 */ mr r27, r6
/* 801B6220 001B3180 7C FC 3B 78 */ mr r28, r7
/* 801B6224 001B3184 7D 1D 43 78 */ mr r29, r8
/* 801B6228 001B3188 38 60 00 00 */ li r3, 0
/* 801B622C 001B318C 38 80 00 01 */ li r4, 1
/* 801B6230 001B3190 80 0D 90 F8 */ lwz r0, lbl_805A7CB8@sda21(r13)
/* 801B6234 001B3194 7C 05 03 78 */ mr r5, r0
/* 801B6238 001B3198 48 1D 3C BD */ bl __shl2i
/* 801B623C 001B319C 38 C0 00 02 */ li r6, 2
/* 801B6240 001B31A0 38 A0 FF FF */ li r5, -1
/* 801B6244 001B31A4 38 00 00 00 */ li r0, 0
/* 801B6248 001B31A8 90 C1 00 20 */ stw r6, 0x20(r1)
/* 801B624C 001B31AC 3B C1 00 74 */ addi r30, r1, 0x74
/* 801B6250 001B31B0 3B E1 00 80 */ addi r31, r1, 0x80
/* 801B6254 001B31B4 90 A1 00 2C */ stw r5, 0x2c(r1)
/* 801B6258 001B31B8 3A E0 00 00 */ li r23, 0
/* 801B625C 001B31BC 90 01 00 28 */ stw r0, 0x28(r1)
/* 801B6260 001B31C0 90 81 00 34 */ stw r4, 0x34(r1)
/* 801B6264 001B31C4 90 61 00 30 */ stw r3, 0x30(r1)
/* 801B6268 001B31C8 90 C1 00 38 */ stw r6, 0x38(r1)
/* 801B626C 001B31CC 48 00 00 B4 */ b lbl_801B6320
lbl_801B6270:
/* 801B6270 001B31D0 7F 44 D3 78 */ mr r4, r26
/* 801B6274 001B31D4 7F 66 DB 78 */ mr r6, r27
/* 801B6278 001B31D8 38 61 00 40 */ addi r3, r1, 0x40
/* 801B627C 001B31DC 56 E5 04 3E */ clrlwi r5, r23, 0x10
/* 801B6280 001B31E0 48 0F 27 C1 */ bl GetTransformedSurface__8COBBTreeCFUsRC12CTransform4f
/* 801B6284 001B31E4 80 A1 00 64 */ lwz r5, 0x64(r1)
/* 801B6288 001B31E8 38 00 00 00 */ li r0, 0
/* 801B628C 001B31EC C1 01 00 40 */ lfs f8, 0x40(r1)
/* 801B6290 001B31F0 38 61 00 28 */ addi r3, r1, 0x28
/* 801B6294 001B31F4 C0 E1 00 44 */ lfs f7, 0x44(r1)
/* 801B6298 001B31F8 38 81 00 08 */ addi r4, r1, 8
/* 801B629C 001B31FC C0 C1 00 48 */ lfs f6, 0x48(r1)
/* 801B62A0 001B3200 C0 A1 00 4C */ lfs f5, 0x4c(r1)
/* 801B62A4 001B3204 C0 81 00 50 */ lfs f4, 0x50(r1)
/* 801B62A8 001B3208 C0 61 00 54 */ lfs f3, 0x54(r1)
/* 801B62AC 001B320C C0 41 00 58 */ lfs f2, 0x58(r1)
/* 801B62B0 001B3210 C0 21 00 5C */ lfs f1, 0x5c(r1)
/* 801B62B4 001B3214 C0 01 00 60 */ lfs f0, 0x60(r1)
/* 801B62B8 001B3218 D1 01 00 68 */ stfs f8, 0x68(r1)
/* 801B62BC 001B321C D0 E1 00 6C */ stfs f7, 0x6c(r1)
/* 801B62C0 001B3220 D0 C1 00 70 */ stfs f6, 0x70(r1)
/* 801B62C4 001B3224 D0 A1 00 74 */ stfs f5, 0x74(r1)
/* 801B62C8 001B3228 D0 81 00 78 */ stfs f4, 0x78(r1)
/* 801B62CC 001B322C D0 61 00 7C */ stfs f3, 0x7c(r1)
/* 801B62D0 001B3230 D0 41 00 80 */ stfs f2, 0x80(r1)
/* 801B62D4 001B3234 D0 21 00 84 */ stfs f1, 0x84(r1)
/* 801B62D8 001B3238 D0 01 00 88 */ stfs f0, 0x88(r1)
/* 801B62DC 001B323C 90 A1 00 8C */ stw r5, 0x8c(r1)
/* 801B62E0 001B3240 90 A1 00 0C */ stw r5, 0xc(r1)
/* 801B62E4 001B3244 90 01 00 08 */ stw r0, 8(r1)
/* 801B62E8 001B3248 48 11 F0 65 */ bl Passes__15CMaterialFilterCFRC13CMaterialList
/* 801B62EC 001B324C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B62F0 001B3250 41 82 00 2C */ beq lbl_801B631C
/* 801B62F4 001B3254 7F 03 C3 78 */ mr r3, r24
/* 801B62F8 001B3258 7F 24 CB 78 */ mr r4, r25
/* 801B62FC 001B325C 7F C6 F3 78 */ mr r6, r30
/* 801B6300 001B3260 7F E7 FB 78 */ mr r7, r31
/* 801B6304 001B3264 7F 88 E3 78 */ mr r8, r28
/* 801B6308 001B3268 7F A9 EB 78 */ mr r9, r29
/* 801B630C 001B326C 38 A1 00 68 */ addi r5, r1, 0x68
/* 801B6310 001B3270 4B FF F8 95 */ bl SubdivideAndGenerateParticles__10CIceImpactFR13CStateManagerRC9CVector3fRC9CVector3fRC9CVector3fRC7CSphereRC7CSphere
/* 801B6314 001B3274 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B6318 001B3278 40 82 00 18 */ bne lbl_801B6330
lbl_801B631C:
/* 801B631C 001B327C 3A F7 00 01 */ addi r23, r23, 1
lbl_801B6320:
/* 801B6320 001B3280 80 1A 00 4C */ lwz r0, 0x4c(r26)
/* 801B6324 001B3284 7E E3 07 34 */ extsh r3, r23
/* 801B6328 001B3288 7C 03 00 00 */ cmpw r3, r0
/* 801B632C 001B328C 41 80 FF 44 */ blt lbl_801B6270
lbl_801B6330:
/* 801B6330 001B3290 BA E1 00 9C */ lmw r23, 0x9c(r1)
/* 801B6334 001B3294 38 60 00 00 */ li r3, 0
/* 801B6338 001B3298 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 801B633C 001B329C 7C 08 03 A6 */ mtlr r0
/* 801B6340 001B32A0 38 21 00 C0 */ addi r1, r1, 0xc0
/* 801B6344 001B32A4 4E 80 00 20 */ blr
.global GenerateParticlesAgainstAABox__10CIceImpactFR13CStateManagerRC6CAABoxRC7CSphereRC7CSphere
GenerateParticlesAgainstAABox__10CIceImpactFR13CStateManagerRC6CAABoxRC7CSphereRC7CSphere:
/* 801B6348 001B32A8 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 801B634C 001B32AC 7C 08 02 A6 */ mflr r0
/* 801B6350 001B32B0 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 801B6354 001B32B4 BE E1 00 7C */ stmw r23, 0x7c(r1)
/* 801B6358 001B32B8 7C 77 1B 78 */ mr r23, r3
/* 801B635C 001B32BC 7C 98 23 78 */ mr r24, r4
/* 801B6360 001B32C0 7C B9 2B 78 */ mr r25, r5
/* 801B6364 001B32C4 7C DA 33 78 */ mr r26, r6
/* 801B6368 001B32C8 7C FB 3B 78 */ mr r27, r7
/* 801B636C 001B32CC 3B E1 00 4C */ addi r31, r1, 0x4c
/* 801B6370 001B32D0 3B C1 00 58 */ addi r30, r1, 0x58
/* 801B6374 001B32D4 3B A1 00 64 */ addi r29, r1, 0x64
/* 801B6378 001B32D8 3B 80 00 00 */ li r28, 0
lbl_801B637C:
/* 801B637C 001B32DC 57 80 0F FE */ srwi r0, r28, 0x1f
/* 801B6380 001B32E0 7F 24 CB 78 */ mr r4, r25
/* 801B6384 001B32E4 7C 00 E2 14 */ add r0, r0, r28
/* 801B6388 001B32E8 38 61 00 08 */ addi r3, r1, 8
/* 801B638C 001B32EC 7C 05 0E 70 */ srawi r5, r0, 1
/* 801B6390 001B32F0 57 86 0F BC */ rlwinm r6, r28, 1, 0x1e, 0x1e
/* 801B6394 001B32F4 48 18 18 61 */ bl GetTri__6CAABoxCFQ26CAABox10EBoxFaceIdi
/* 801B6398 001B32F8 C1 81 00 08 */ lfs f12, 8(r1)
/* 801B639C 001B32FC 7E E3 BB 78 */ mr r3, r23
/* 801B63A0 001B3300 C1 61 00 0C */ lfs f11, 0xc(r1)
/* 801B63A4 001B3304 7F 04 C3 78 */ mr r4, r24
/* 801B63A8 001B3308 C1 41 00 10 */ lfs f10, 0x10(r1)
/* 801B63AC 001B330C 7F E5 FB 78 */ mr r5, r31
/* 801B63B0 001B3310 C1 21 00 14 */ lfs f9, 0x14(r1)
/* 801B63B4 001B3314 7F A6 EB 78 */ mr r6, r29
/* 801B63B8 001B3318 C1 01 00 18 */ lfs f8, 0x18(r1)
/* 801B63BC 001B331C 7F C7 F3 78 */ mr r7, r30
/* 801B63C0 001B3320 C0 E1 00 1C */ lfs f7, 0x1c(r1)
/* 801B63C4 001B3324 7F 48 D3 78 */ mr r8, r26
/* 801B63C8 001B3328 C0 C1 00 20 */ lfs f6, 0x20(r1)
/* 801B63CC 001B332C 7F 69 DB 78 */ mr r9, r27
/* 801B63D0 001B3330 C0 A1 00 24 */ lfs f5, 0x24(r1)
/* 801B63D4 001B3334 C0 81 00 28 */ lfs f4, 0x28(r1)
/* 801B63D8 001B3338 C0 61 00 2C */ lfs f3, 0x2c(r1)
/* 801B63DC 001B333C C0 41 00 30 */ lfs f2, 0x30(r1)
/* 801B63E0 001B3340 C0 21 00 34 */ lfs f1, 0x34(r1)
/* 801B63E4 001B3344 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 801B63E8 001B3348 D1 81 00 3C */ stfs f12, 0x3c(r1)
/* 801B63EC 001B334C D1 61 00 40 */ stfs f11, 0x40(r1)
/* 801B63F0 001B3350 D1 41 00 44 */ stfs f10, 0x44(r1)
/* 801B63F4 001B3354 D1 21 00 48 */ stfs f9, 0x48(r1)
/* 801B63F8 001B3358 D1 01 00 4C */ stfs f8, 0x4c(r1)
/* 801B63FC 001B335C D0 E1 00 50 */ stfs f7, 0x50(r1)
/* 801B6400 001B3360 D0 C1 00 54 */ stfs f6, 0x54(r1)
/* 801B6404 001B3364 D0 A1 00 58 */ stfs f5, 0x58(r1)
/* 801B6408 001B3368 D0 81 00 5C */ stfs f4, 0x5c(r1)
/* 801B640C 001B336C D0 61 00 60 */ stfs f3, 0x60(r1)
/* 801B6410 001B3370 D0 41 00 64 */ stfs f2, 0x64(r1)
/* 801B6414 001B3374 D0 21 00 68 */ stfs f1, 0x68(r1)
/* 801B6418 001B3378 D0 01 00 6C */ stfs f0, 0x6c(r1)
/* 801B641C 001B337C 4B FF F7 89 */ bl SubdivideAndGenerateParticles__10CIceImpactFR13CStateManagerRC9CVector3fRC9CVector3fRC9CVector3fRC7CSphereRC7CSphere
/* 801B6420 001B3380 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B6424 001B3384 40 82 00 10 */ bne lbl_801B6434
/* 801B6428 001B3388 3B 9C 00 01 */ addi r28, r28, 1
/* 801B642C 001B338C 2C 1C 00 0C */ cmpwi r28, 0xc
/* 801B6430 001B3390 41 80 FF 4C */ blt lbl_801B637C
lbl_801B6434:
/* 801B6434 001B3394 BA E1 00 7C */ lmw r23, 0x7c(r1)
/* 801B6438 001B3398 38 60 00 00 */ li r3, 0
/* 801B643C 001B339C 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 801B6440 001B33A0 7C 08 03 A6 */ mtlr r0
/* 801B6444 001B33A4 38 21 00 A0 */ addi r1, r1, 0xa0
/* 801B6448 001B33A8 4E 80 00 20 */ blr
.global GenerateParticlesAgainstActors__10CIceImpactFR13CStateManagerRC6CAABoxRC7CSphereRC7CSphere
GenerateParticlesAgainstActors__10CIceImpactFR13CStateManagerRC6CAABoxRC7CSphereRC7CSphere:
/* 801B644C 001B33AC 94 21 F7 30 */ stwu r1, -0x8d0(r1)
/* 801B6450 001B33B0 7C 08 02 A6 */ mflr r0
/* 801B6454 001B33B4 90 01 08 D4 */ stw r0, 0x8d4(r1)
/* 801B6458 001B33B8 38 00 00 00 */ li r0, 0
/* 801B645C 001B33BC BE E1 08 AC */ stmw r23, 0x8ac(r1)
/* 801B6460 001B33C0 7C 7A 1B 78 */ mr r26, r3
/* 801B6464 001B33C4 7C 9B 23 78 */ mr r27, r4
/* 801B6468 001B33C8 7C B7 2B 78 */ mr r23, r5
/* 801B646C 001B33CC 7C DC 33 78 */ mr r28, r6
/* 801B6470 001B33D0 7C FD 3B 78 */ mr r29, r7
/* 801B6474 001B33D4 38 60 00 00 */ li r3, 0
/* 801B6478 001B33D8 38 80 00 01 */ li r4, 1
/* 801B647C 001B33DC 81 0D 90 E4 */ lwz r8, lbl_805A7CA4@sda21(r13)
/* 801B6480 001B33E0 90 01 00 9C */ stw r0, 0x9c(r1)
/* 801B6484 001B33E4 7D 05 43 78 */ mr r5, r8
/* 801B6488 001B33E8 48 1D 3A 6D */ bl __shl2i
/* 801B648C 001B33EC 80 AD 90 E8 */ lwz r5, lbl_805A7CA8@sda21(r13)
/* 801B6490 001B33F0 7C 9F 23 78 */ mr r31, r4
/* 801B6494 001B33F4 7C 7E 1B 78 */ mr r30, r3
/* 801B6498 001B33F8 38 60 00 00 */ li r3, 0
/* 801B649C 001B33FC 38 80 00 01 */ li r4, 1
/* 801B64A0 001B3400 48 1D 3A 55 */ bl __shl2i
/* 801B64A4 001B3404 80 AD 90 EC */ lwz r5, lbl_805A7CAC@sda21(r13)
/* 801B64A8 001B3408 7F FF 23 78 */ or r31, r31, r4
/* 801B64AC 001B340C 7F DE 1B 78 */ or r30, r30, r3
/* 801B64B0 001B3410 38 60 00 00 */ li r3, 0
/* 801B64B4 001B3414 38 80 00 01 */ li r4, 1
/* 801B64B8 001B3418 48 1D 3A 3D */ bl __shl2i
/* 801B64BC 001B341C 80 AD 90 F0 */ lwz r5, lbl_805A7CB0@sda21(r13)
/* 801B64C0 001B3420 7F FF 23 78 */ or r31, r31, r4
/* 801B64C4 001B3424 7F DE 1B 78 */ or r30, r30, r3
/* 801B64C8 001B3428 38 60 00 00 */ li r3, 0
/* 801B64CC 001B342C 38 80 00 01 */ li r4, 1
/* 801B64D0 001B3430 48 1D 3A 25 */ bl __shl2i
/* 801B64D4 001B3434 80 AD 90 F4 */ lwz r5, lbl_805A7CB4@sda21(r13)
/* 801B64D8 001B3438 7F FF 23 78 */ or r31, r31, r4
/* 801B64DC 001B343C 7F DE 1B 78 */ or r30, r30, r3
/* 801B64E0 001B3440 38 60 00 00 */ li r3, 0
/* 801B64E4 001B3444 38 80 00 01 */ li r4, 1
/* 801B64E8 001B3448 48 1D 3A 0D */ bl __shl2i
/* 801B64EC 001B344C 7F FF 23 78 */ or r31, r31, r4
/* 801B64F0 001B3450 7F DE 1B 78 */ or r30, r30, r3
/* 801B64F4 001B3454 38 60 FF FF */ li r3, -1
/* 801B64F8 001B3458 38 80 00 00 */ li r4, 0
/* 801B64FC 001B345C 38 00 00 02 */ li r0, 2
/* 801B6500 001B3460 90 61 00 3C */ stw r3, 0x3c(r1)
/* 801B6504 001B3464 7F 63 DB 78 */ mr r3, r27
/* 801B6508 001B3468 7E E5 BB 78 */ mr r5, r23
/* 801B650C 001B346C 90 81 00 38 */ stw r4, 0x38(r1)
/* 801B6510 001B3470 7F 47 D3 78 */ mr r7, r26
/* 801B6514 001B3474 38 81 00 9C */ addi r4, r1, 0x9c
/* 801B6518 001B3478 38 C1 00 38 */ addi r6, r1, 0x38
/* 801B651C 001B347C 93 E1 00 44 */ stw r31, 0x44(r1)
/* 801B6520 001B3480 93 C1 00 40 */ stw r30, 0x40(r1)
/* 801B6524 001B3484 90 01 00 48 */ stw r0, 0x48(r1)
/* 801B6528 001B3488 4B E9 61 F9 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor"
/* 801B652C 001B348C 3B E1 00 A0 */ addi r31, r1, 0xa0
/* 801B6530 001B3490 7F FE FB 78 */ mr r30, r31
/* 801B6534 001B3494 48 00 01 C0 */ b lbl_801B66F4
lbl_801B6538:
/* 801B6538 001B3498 A0 1E 00 00 */ lhz r0, 0(r30)
/* 801B653C 001B349C 7F 63 DB 78 */ mr r3, r27
/* 801B6540 001B34A0 38 81 00 08 */ addi r4, r1, 8
/* 801B6544 001B34A4 B0 01 00 08 */ sth r0, 8(r1)
/* 801B6548 001B34A8 4B E9 60 2D */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801B654C 001B34AC 7C 60 1B 78 */ mr r0, r3
/* 801B6550 001B34B0 38 61 00 14 */ addi r3, r1, 0x14
/* 801B6554 001B34B4 7C 19 03 78 */ mr r25, r0
/* 801B6558 001B34B8 7F 24 CB 78 */ mr r4, r25
/* 801B655C 001B34BC 4B EF 61 89 */ bl "__ct__27TCastToPtr<13CPhysicsActor>FP7CEntity"
/* 801B6560 001B34C0 83 03 00 04 */ lwz r24, 4(r3)
/* 801B6564 001B34C4 28 18 00 00 */ cmplwi r24, 0
/* 801B6568 001B34C8 41 82 00 AC */ beq lbl_801B6614
/* 801B656C 001B34CC 7F 03 C3 78 */ mr r3, r24
/* 801B6570 001B34D0 81 98 00 00 */ lwz r12, 0(r24)
/* 801B6574 001B34D4 81 8C 00 6C */ lwz r12, 0x6c(r12)
/* 801B6578 001B34D8 7D 89 03 A6 */ mtctr r12
/* 801B657C 001B34DC 4E 80 04 21 */ bctrl
/* 801B6580 001B34E0 81 83 00 00 */ lwz r12, 0(r3)
/* 801B6584 001B34E4 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 801B6588 001B34E8 7D 89 03 A6 */ mtctr r12
/* 801B658C 001B34EC 4E 80 04 21 */ bctrl
/* 801B6590 001B34F0 3C 03 B0 BE */ addis r0, r3, 0xb0be
/* 801B6594 001B34F4 28 00 54 47 */ cmplwi r0, 0x5447
/* 801B6598 001B34F8 40 82 00 7C */ bne lbl_801B6614
/* 801B659C 001B34FC 7F 03 C3 78 */ mr r3, r24
/* 801B65A0 001B3500 81 98 00 00 */ lwz r12, 0(r24)
/* 801B65A4 001B3504 81 8C 00 6C */ lwz r12, 0x6c(r12)
/* 801B65A8 001B3508 7D 89 03 A6 */ mtctr r12
/* 801B65AC 001B350C 4E 80 04 21 */ bctrl
/* 801B65B0 001B3510 3A E0 00 00 */ li r23, 0
/* 801B65B4 001B3514 7C 79 1B 78 */ mr r25, r3
/* 801B65B8 001B3518 48 00 00 48 */ b lbl_801B6600
lbl_801B65BC:
/* 801B65BC 001B351C 7F 04 C3 78 */ mr r4, r24
/* 801B65C0 001B3520 38 61 00 6C */ addi r3, r1, 0x6c
/* 801B65C4 001B3524 81 98 00 00 */ lwz r12, 0(r24)
/* 801B65C8 001B3528 81 8C 00 70 */ lwz r12, 0x70(r12)
/* 801B65CC 001B352C 7D 89 03 A6 */ mtctr r12
/* 801B65D0 001B3530 4E 80 04 21 */ bctrl
/* 801B65D4 001B3534 7F 23 CB 78 */ mr r3, r25
/* 801B65D8 001B3538 7E E4 BB 78 */ mr r4, r23
/* 801B65DC 001B353C 48 0F 73 71 */ bl GetOBBTreeAABox__23CCollidableOBBTreeGroupCFi
/* 801B65E0 001B3540 7C 65 1B 78 */ mr r5, r3
/* 801B65E4 001B3544 7F 43 D3 78 */ mr r3, r26
/* 801B65E8 001B3548 7F 64 DB 78 */ mr r4, r27
/* 801B65EC 001B354C 7F 87 E3 78 */ mr r7, r28
/* 801B65F0 001B3550 7F A8 EB 78 */ mr r8, r29
/* 801B65F4 001B3554 38 C1 00 6C */ addi r6, r1, 0x6c
/* 801B65F8 001B3558 4B FF FC 09 */ bl GenerateParticlesAgainstOBBTree__10CIceImpactFR13CStateManagerRC8COBBTreeRC12CTransform4fRC7CSphereRC7CSphere
/* 801B65FC 001B355C 3A F7 00 01 */ addi r23, r23, 1
lbl_801B6600:
/* 801B6600 001B3560 80 79 00 10 */ lwz r3, 0x10(r25)
/* 801B6604 001B3564 80 03 00 04 */ lwz r0, 4(r3)
/* 801B6608 001B3568 7C 17 00 00 */ cmpw r23, r0
/* 801B660C 001B356C 41 80 FF B0 */ blt lbl_801B65BC
/* 801B6610 001B3570 48 00 00 E0 */ b lbl_801B66F0
lbl_801B6614:
/* 801B6614 001B3574 28 19 00 00 */ cmplwi r25, 0
/* 801B6618 001B3578 41 82 00 D8 */ beq lbl_801B66F0
/* 801B661C 001B357C 80 19 00 68 */ lwz r0, 0x68(r25)
/* 801B6620 001B3580 38 80 00 00 */ li r4, 0
/* 801B6624 001B3584 80 B9 00 6C */ lwz r5, 0x6c(r25)
/* 801B6628 001B3588 3C 60 00 08 */ lis r3, 8
/* 801B662C 001B358C 7C 00 20 38 */ and r0, r0, r4
/* 801B6630 001B3590 7C A3 18 38 */ and r3, r5, r3
/* 801B6634 001B3594 7C 63 22 78 */ xor r3, r3, r4
/* 801B6638 001B3598 7C 00 22 78 */ xor r0, r0, r4
/* 801B663C 001B359C 7C 60 03 79 */ or. r0, r3, r0
/* 801B6640 001B35A0 40 82 00 1C */ bne lbl_801B665C
/* 801B6644 001B35A4 7F 24 CB 78 */ mr r4, r25
/* 801B6648 001B35A8 38 61 00 0C */ addi r3, r1, 0xc
/* 801B664C 001B35AC 4B EF 02 15 */ bl "__ct__26TCastToPtr<12CScriptWater>FP7CEntity"
/* 801B6650 001B35B0 80 03 00 04 */ lwz r0, 4(r3)
/* 801B6654 001B35B4 28 00 00 00 */ cmplwi r0, 0
/* 801B6658 001B35B8 41 82 00 98 */ beq lbl_801B66F0
lbl_801B665C:
/* 801B665C 001B35BC 7F 24 CB 78 */ mr r4, r25
/* 801B6660 001B35C0 38 61 00 1C */ addi r3, r1, 0x1c
/* 801B6664 001B35C4 81 99 00 00 */ lwz r12, 0(r25)
/* 801B6668 001B35C8 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 801B666C 001B35CC 7D 89 03 A6 */ mtctr r12
/* 801B6670 001B35D0 4E 80 04 21 */ bctrl
/* 801B6674 001B35D4 88 01 00 34 */ lbz r0, 0x34(r1)
/* 801B6678 001B35D8 28 00 00 00 */ cmplwi r0, 0
/* 801B667C 001B35DC 98 01 00 68 */ stb r0, 0x68(r1)
/* 801B6680 001B35E0 41 82 00 3C */ beq lbl_801B66BC
/* 801B6684 001B35E4 34 61 00 50 */ addic. r3, r1, 0x50
/* 801B6688 001B35E8 41 82 00 34 */ beq lbl_801B66BC
/* 801B668C 001B35EC C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 801B6690 001B35F0 D0 03 00 00 */ stfs f0, 0(r3)
/* 801B6694 001B35F4 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 801B6698 001B35F8 D0 03 00 04 */ stfs f0, 4(r3)
/* 801B669C 001B35FC C0 01 00 24 */ lfs f0, 0x24(r1)
/* 801B66A0 001B3600 D0 03 00 08 */ stfs f0, 8(r3)
/* 801B66A4 001B3604 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 801B66A8 001B3608 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 801B66AC 001B360C C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 801B66B0 001B3610 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 801B66B4 001B3614 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 801B66B8 001B3618 D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_801B66BC:
/* 801B66BC 001B361C 88 01 00 68 */ lbz r0, 0x68(r1)
/* 801B66C0 001B3620 38 60 00 00 */ li r3, 0
/* 801B66C4 001B3624 98 61 00 34 */ stb r3, 0x34(r1)
/* 801B66C8 001B3628 28 00 00 00 */ cmplwi r0, 0
/* 801B66CC 001B362C 41 82 00 1C */ beq lbl_801B66E8
/* 801B66D0 001B3630 7F 43 D3 78 */ mr r3, r26
/* 801B66D4 001B3634 7F 64 DB 78 */ mr r4, r27
/* 801B66D8 001B3638 7F 86 E3 78 */ mr r6, r28
/* 801B66DC 001B363C 7F A7 EB 78 */ mr r7, r29
/* 801B66E0 001B3640 38 A1 00 50 */ addi r5, r1, 0x50
/* 801B66E4 001B3644 4B FF FC 65 */ bl GenerateParticlesAgainstAABox__10CIceImpactFR13CStateManagerRC6CAABoxRC7CSphereRC7CSphere
lbl_801B66E8:
/* 801B66E8 001B3648 38 00 00 00 */ li r0, 0
/* 801B66EC 001B364C 98 01 00 68 */ stb r0, 0x68(r1)
lbl_801B66F0:
/* 801B66F0 001B3650 3B DE 00 02 */ addi r30, r30, 2
lbl_801B66F4:
/* 801B66F4 001B3654 80 A1 00 9C */ lwz r5, 0x9c(r1)
/* 801B66F8 001B3658 54 A0 08 3C */ slwi r0, r5, 1
/* 801B66FC 001B365C 7C 1F 02 14 */ add r0, r31, r0
/* 801B6700 001B3660 7C 1E 00 40 */ cmplw r30, r0
/* 801B6704 001B3664 40 82 FE 34 */ bne lbl_801B6538
/* 801B6708 001B3668 2C 05 00 00 */ cmpwi r5, 0
/* 801B670C 001B366C 38 60 00 00 */ li r3, 0
/* 801B6710 001B3670 40 81 00 40 */ ble lbl_801B6750
/* 801B6714 001B3674 2C 05 00 08 */ cmpwi r5, 8
/* 801B6718 001B3678 38 85 FF F8 */ addi r4, r5, -8
/* 801B671C 001B367C 40 81 00 20 */ ble lbl_801B673C
/* 801B6720 001B3680 38 04 00 07 */ addi r0, r4, 7
/* 801B6724 001B3684 54 00 E8 FE */ srwi r0, r0, 3
/* 801B6728 001B3688 7C 09 03 A6 */ mtctr r0
/* 801B672C 001B368C 2C 04 00 00 */ cmpwi r4, 0
/* 801B6730 001B3690 40 81 00 0C */ ble lbl_801B673C
lbl_801B6734:
/* 801B6734 001B3694 38 63 00 08 */ addi r3, r3, 8
/* 801B6738 001B3698 42 00 FF FC */ bdnz lbl_801B6734
lbl_801B673C:
/* 801B673C 001B369C 7C 03 28 50 */ subf r0, r3, r5
/* 801B6740 001B36A0 7C 09 03 A6 */ mtctr r0
/* 801B6744 001B36A4 7C 03 28 00 */ cmpw r3, r5
/* 801B6748 001B36A8 40 80 00 08 */ bge lbl_801B6750
lbl_801B674C:
/* 801B674C 001B36AC 42 00 00 00 */ bdnz lbl_801B674C
lbl_801B6750:
/* 801B6750 001B36B0 38 00 00 00 */ li r0, 0
/* 801B6754 001B36B4 38 60 00 01 */ li r3, 1
/* 801B6758 001B36B8 90 01 00 9C */ stw r0, 0x9c(r1)
/* 801B675C 001B36BC BA E1 08 AC */ lmw r23, 0x8ac(r1)
/* 801B6760 001B36C0 80 01 08 D4 */ lwz r0, 0x8d4(r1)
/* 801B6764 001B36C4 7C 08 03 A6 */ mtlr r0
/* 801B6768 001B36C8 38 21 08 D0 */ addi r1, r1, 0x8d0
/* 801B676C 001B36CC 4E 80 00 20 */ blr
.global GenerateParticlesAgainstWorld__10CIceImpactFR13CStateManagerRCQ220CMetroidAreaCollider16COctreeLeafCacheRC7CSphereRC7CSphere
GenerateParticlesAgainstWorld__10CIceImpactFR13CStateManagerRCQ220CMetroidAreaCollider16COctreeLeafCacheRC7CSphereRC7CSphere:
/* 801B6770 001B36D0 94 21 FF 00 */ stwu r1, -0x100(r1)
/* 801B6774 001B36D4 7C 08 02 A6 */ mflr r0
/* 801B6778 001B36D8 90 01 01 04 */ stw r0, 0x104(r1)
/* 801B677C 001B36DC BE 61 00 CC */ stmw r19, 0xcc(r1)
/* 801B6780 001B36E0 7C 73 1B 78 */ mr r19, r3
/* 801B6784 001B36E4 7C 94 23 78 */ mr r20, r4
/* 801B6788 001B36E8 7C B5 2B 78 */ mr r21, r5
/* 801B678C 001B36EC 7C D6 33 78 */ mr r22, r6
/* 801B6790 001B36F0 7C F7 3B 78 */ mr r23, r7
/* 801B6794 001B36F4 48 0F 08 AD */ bl ResetInternalCounters__20CMetroidAreaColliderFv
/* 801B6798 001B36F8 80 AD 90 E0 */ lwz r5, lbl_805A7CA0@sda21(r13)
/* 801B679C 001B36FC 38 60 00 00 */ li r3, 0
/* 801B67A0 001B3700 38 80 00 01 */ li r4, 1
/* 801B67A4 001B3704 48 1D 37 51 */ bl __shl2i
/* 801B67A8 001B3708 38 E0 00 02 */ li r7, 2
/* 801B67AC 001B370C 38 C0 FF FF */ li r6, -1
/* 801B67B0 001B3710 38 00 00 00 */ li r0, 0
/* 801B67B4 001B3714 3C A0 80 59 */ lis r5, sDupTriangleList__20CMetroidAreaCollider@ha
/* 801B67B8 001B3718 90 E1 00 50 */ stw r7, 0x50(r1)
/* 801B67BC 001B371C 3B B5 00 08 */ addi r29, r21, 8
/* 801B67C0 001B3720 3B E5 7B AC */ addi r31, r5, sDupTriangleList__20CMetroidAreaCollider@l
/* 801B67C4 001B3724 3B 60 00 00 */ li r27, 0
/* 801B67C8 001B3728 90 C1 00 5C */ stw r6, 0x5c(r1)
/* 801B67CC 001B372C 90 01 00 58 */ stw r0, 0x58(r1)
/* 801B67D0 001B3730 90 81 00 64 */ stw r4, 0x64(r1)
/* 801B67D4 001B3734 90 61 00 60 */ stw r3, 0x60(r1)
/* 801B67D8 001B3738 90 E1 00 68 */ stw r7, 0x68(r1)
/* 801B67DC 001B373C 48 00 01 4C */ b lbl_801B6928
lbl_801B67E0:
/* 801B67E0 001B3740 7F A4 EB 78 */ mr r4, r29
/* 801B67E4 001B3744 38 61 00 08 */ addi r3, r1, 8
/* 801B67E8 001B3748 48 0E C5 55 */ bl GetTriangleArray__Q212CAreaOctTree4NodeCFv
/* 801B67EC 001B374C 83 81 00 08 */ lwz r28, 8(r1)
/* 801B67F0 001B3750 3B 20 00 00 */ li r25, 0
/* 801B67F4 001B3754 83 DD 00 1C */ lwz r30, 0x1c(r29)
/* 801B67F8 001B3758 3B 00 00 00 */ li r24, 0
/* 801B67FC 001B375C A3 5C 00 18 */ lhz r26, 0x18(r28)
/* 801B6800 001B3760 48 00 01 10 */ b lbl_801B6910
lbl_801B6804:
/* 801B6804 001B3764 A0 BC 00 1A */ lhz r5, 0x1a(r28)
/* 801B6808 001B3768 A0 8D A5 D0 */ lhz r4, sDupPrimitiveCheckCount__20CMetroidAreaCollider@sda21(r13)
/* 801B680C 001B376C 54 A3 0B FC */ rlwinm r3, r5, 1, 0xf, 0x1e
/* 801B6810 001B3770 7C 1F 1A 2E */ lhzx r0, r31, r3
/* 801B6814 001B3774 7C 00 20 40 */ cmplw r0, r4
/* 801B6818 001B3778 41 82 00 F0 */ beq lbl_801B6908
/* 801B681C 001B377C 7C 9F 1B 2E */ sthx r4, r31, r3
/* 801B6820 001B3780 7F C4 F3 78 */ mr r4, r30
/* 801B6824 001B3784 38 61 00 70 */ addi r3, r1, 0x70
/* 801B6828 001B3788 48 0E C2 0D */ bl GetMasterListTriangle__12CAreaOctTreeCFUs
/* 801B682C 001B378C 80 A1 00 94 */ lwz r5, 0x94(r1)
/* 801B6830 001B3790 38 00 00 00 */ li r0, 0
/* 801B6834 001B3794 C1 01 00 70 */ lfs f8, 0x70(r1)
/* 801B6838 001B3798 38 61 00 58 */ addi r3, r1, 0x58
/* 801B683C 001B379C C0 E1 00 74 */ lfs f7, 0x74(r1)
/* 801B6840 001B37A0 38 81 00 10 */ addi r4, r1, 0x10
/* 801B6844 001B37A4 C0 C1 00 78 */ lfs f6, 0x78(r1)
/* 801B6848 001B37A8 C0 A1 00 7C */ lfs f5, 0x7c(r1)
/* 801B684C 001B37AC C0 81 00 80 */ lfs f4, 0x80(r1)
/* 801B6850 001B37B0 C0 61 00 84 */ lfs f3, 0x84(r1)
/* 801B6854 001B37B4 C0 41 00 88 */ lfs f2, 0x88(r1)
/* 801B6858 001B37B8 C0 21 00 8C */ lfs f1, 0x8c(r1)
/* 801B685C 001B37BC C0 01 00 90 */ lfs f0, 0x90(r1)
/* 801B6860 001B37C0 D1 01 00 98 */ stfs f8, 0x98(r1)
/* 801B6864 001B37C4 D0 E1 00 9C */ stfs f7, 0x9c(r1)
/* 801B6868 001B37C8 D0 C1 00 A0 */ stfs f6, 0xa0(r1)
/* 801B686C 001B37CC D0 A1 00 A4 */ stfs f5, 0xa4(r1)
/* 801B6870 001B37D0 D0 81 00 A8 */ stfs f4, 0xa8(r1)
/* 801B6874 001B37D4 D0 61 00 AC */ stfs f3, 0xac(r1)
/* 801B6878 001B37D8 D0 41 00 B0 */ stfs f2, 0xb0(r1)
/* 801B687C 001B37DC D0 21 00 B4 */ stfs f1, 0xb4(r1)
/* 801B6880 001B37E0 D0 01 00 B8 */ stfs f0, 0xb8(r1)
/* 801B6884 001B37E4 90 A1 00 BC */ stw r5, 0xbc(r1)
/* 801B6888 001B37E8 90 A1 00 14 */ stw r5, 0x14(r1)
/* 801B688C 001B37EC 90 01 00 10 */ stw r0, 0x10(r1)
/* 801B6890 001B37F0 48 11 EA BD */ bl Passes__15CMaterialFilterCFRC13CMaterialList
/* 801B6894 001B37F4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B6898 001B37F8 41 82 00 70 */ beq lbl_801B6908
/* 801B689C 001B37FC C1 01 00 98 */ lfs f8, 0x98(r1)
/* 801B68A0 001B3800 7E 63 9B 78 */ mr r3, r19
/* 801B68A4 001B3804 C0 E1 00 9C */ lfs f7, 0x9c(r1)
/* 801B68A8 001B3808 7E 84 A3 78 */ mr r4, r20
/* 801B68AC 001B380C C0 C1 00 A0 */ lfs f6, 0xa0(r1)
/* 801B68B0 001B3810 7E C8 B3 78 */ mr r8, r22
/* 801B68B4 001B3814 C0 A1 00 A4 */ lfs f5, 0xa4(r1)
/* 801B68B8 001B3818 7E E9 BB 78 */ mr r9, r23
/* 801B68BC 001B381C C0 81 00 A8 */ lfs f4, 0xa8(r1)
/* 801B68C0 001B3820 38 A1 00 30 */ addi r5, r1, 0x30
/* 801B68C4 001B3824 C0 61 00 AC */ lfs f3, 0xac(r1)
/* 801B68C8 001B3828 38 C1 00 24 */ addi r6, r1, 0x24
/* 801B68CC 001B382C C0 41 00 B0 */ lfs f2, 0xb0(r1)
/* 801B68D0 001B3830 38 E1 00 18 */ addi r7, r1, 0x18
/* 801B68D4 001B3834 C0 21 00 B4 */ lfs f1, 0xb4(r1)
/* 801B68D8 001B3838 C0 01 00 B8 */ lfs f0, 0xb8(r1)
/* 801B68DC 001B383C D1 01 00 30 */ stfs f8, 0x30(r1)
/* 801B68E0 001B3840 D0 E1 00 34 */ stfs f7, 0x34(r1)
/* 801B68E4 001B3844 D0 C1 00 38 */ stfs f6, 0x38(r1)
/* 801B68E8 001B3848 D0 A1 00 24 */ stfs f5, 0x24(r1)
/* 801B68EC 001B384C D0 81 00 28 */ stfs f4, 0x28(r1)
/* 801B68F0 001B3850 D0 61 00 2C */ stfs f3, 0x2c(r1)
/* 801B68F4 001B3854 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 801B68F8 001B3858 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 801B68FC 001B385C D0 01 00 20 */ stfs f0, 0x20(r1)
/* 801B6900 001B3860 4B FF F2 A5 */ bl SubdivideAndGenerateParticles__10CIceImpactFR13CStateManagerRC9CVector3fRC9CVector3fRC9CVector3fRC7CSphereRC7CSphere
/* 801B6904 001B3864 7C 79 1B 78 */ mr r25, r3
lbl_801B6908:
/* 801B6908 001B3868 3B 9C 00 02 */ addi r28, r28, 2
/* 801B690C 001B386C 3B 18 00 01 */ addi r24, r24, 1
lbl_801B6910:
/* 801B6910 001B3870 7C 18 D0 00 */ cmpw r24, r26
/* 801B6914 001B3874 40 80 00 0C */ bge lbl_801B6920
/* 801B6918 001B3878 57 20 06 3F */ clrlwi. r0, r25, 0x18
/* 801B691C 001B387C 41 82 FE E8 */ beq lbl_801B6804
lbl_801B6920:
/* 801B6920 001B3880 3B BD 00 24 */ addi r29, r29, 0x24
/* 801B6924 001B3884 3B 7B 00 01 */ addi r27, r27, 1
lbl_801B6928:
/* 801B6928 001B3888 80 15 00 04 */ lwz r0, 4(r21)
/* 801B692C 001B388C 7C 1B 00 00 */ cmpw r27, r0
/* 801B6930 001B3890 41 80 FE B0 */ blt lbl_801B67E0
/* 801B6934 001B3894 BA 61 00 CC */ lmw r19, 0xcc(r1)
/* 801B6938 001B3898 38 60 00 00 */ li r3, 0
/* 801B693C 001B389C 80 01 01 04 */ lwz r0, 0x104(r1)
/* 801B6940 001B38A0 7C 08 03 A6 */ mtlr r0
/* 801B6944 001B38A4 38 21 01 00 */ addi r1, r1, 0x100
/* 801B6948 001B38A8 4E 80 00 20 */ blr
.global GenerateNewSphere__10CIceImpactFv
GenerateNewSphere__10CIceImpactFv:
/* 801B694C 001B38AC 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 801B6950 001B38B0 7C 08 02 A6 */ mflr r0
/* 801B6954 001B38B4 90 01 00 74 */ stw r0, 0x74(r1)
/* 801B6958 001B38B8 BF 01 00 50 */ stmw r24, 0x50(r1)
/* 801B695C 001B38BC 7C 78 1B 78 */ mr r24, r3
/* 801B6960 001B38C0 7C 99 23 78 */ mr r25, r4
/* 801B6964 001B38C4 3B E0 00 08 */ li r31, 8
/* 801B6968 001B38C8 80 64 00 FC */ lwz r3, 0xfc(r4)
/* 801B696C 001B38CC 38 03 00 01 */ addi r0, r3, 1
/* 801B6970 001B38D0 90 04 00 FC */ stw r0, 0xfc(r4)
/* 801B6974 001B38D4 80 04 00 FC */ lwz r0, 0xfc(r4)
/* 801B6978 001B38D8 54 00 07 7E */ clrlwi r0, r0, 0x1d
/* 801B697C 001B38DC 90 04 00 FC */ stw r0, 0xfc(r4)
/* 801B6980 001B38E0 80 04 00 FC */ lwz r0, 0xfc(r4)
/* 801B6984 001B38E4 54 1D 07 FE */ clrlwi r29, r0, 0x1f
/* 801B6988 001B38E8 54 1C 07 BC */ rlwinm r28, r0, 0, 0x1e, 0x1e
/* 801B698C 001B38EC 54 1B 07 7A */ rlwinm r27, r0, 0, 0x1d, 0x1d
/* 801B6990 001B38F0 48 00 01 D8 */ b lbl_801B6B68
lbl_801B6994:
/* 801B6994 001B38F4 3B C0 00 08 */ li r30, 8
/* 801B6998 001B38F8 48 00 01 7C */ b lbl_801B6B14
lbl_801B699C:
/* 801B699C 001B38FC 3B 40 00 08 */ li r26, 8
/* 801B69A0 001B3900 48 00 01 20 */ b lbl_801B6AC0
lbl_801B69A4:
/* 801B69A4 001B3904 7F 44 D3 78 */ mr r4, r26
/* 801B69A8 001B3908 7F C5 F3 78 */ mr r5, r30
/* 801B69AC 001B390C 7F E6 FB 78 */ mr r6, r31
/* 801B69B0 001B3910 38 79 01 18 */ addi r3, r25, 0x118
/* 801B69B4 001B3914 48 00 19 7D */ bl GetValue__11CMarkerGridCFUiUiUi
/* 801B69B8 001B3918 2C 03 00 01 */ cmpwi r3, 1
/* 801B69BC 001B391C 40 82 00 F0 */ bne lbl_801B6AAC
/* 801B69C0 001B3920 7F 45 D3 78 */ mr r5, r26
/* 801B69C4 001B3924 7F C6 F3 78 */ mr r6, r30
/* 801B69C8 001B3928 7F E7 FB 78 */ mr r7, r31
/* 801B69CC 001B392C 38 61 00 18 */ addi r3, r1, 0x18
/* 801B69D0 001B3930 38 99 01 18 */ addi r4, r25, 0x118
/* 801B69D4 001B3934 48 00 14 39 */ bl GetWorldPositionForCell__11CMarkerGridCFUiUiUi
/* 801B69D8 001B3938 C0 41 00 18 */ lfs f2, 0x18(r1)
/* 801B69DC 001B393C 7F 44 D3 78 */ mr r4, r26
/* 801B69E0 001B3940 C0 21 00 1C */ lfs f1, 0x1c(r1)
/* 801B69E4 001B3944 7F C5 F3 78 */ mr r5, r30
/* 801B69E8 001B3948 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 801B69EC 001B394C 7F E6 FB 78 */ mr r6, r31
/* 801B69F0 001B3950 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 801B69F4 001B3954 38 79 01 18 */ addi r3, r25, 0x118
/* 801B69F8 001B3958 38 E0 00 03 */ li r7, 3
/* 801B69FC 001B395C D0 21 00 28 */ stfs f1, 0x28(r1)
/* 801B6A00 001B3960 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 801B6A04 001B3964 48 00 18 39 */ bl SetValue__11CMarkerGridFUiUiUiUi
/* 801B6A08 001B3968 38 79 01 08 */ addi r3, r25, 0x108
/* 801B6A0C 001B396C 38 81 00 24 */ addi r4, r1, 0x24
/* 801B6A10 001B3970 48 00 01 B5 */ bl pointInSphere__FRC7CSphereRC9CVector3f
/* 801B6A14 001B3974 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B6A18 001B3978 41 82 00 94 */ beq lbl_801B6AAC
/* 801B6A1C 001B397C C0 61 00 24 */ lfs f3, 0x24(r1)
/* 801B6A20 001B3980 38 79 01 18 */ addi r3, r25, 0x118
/* 801B6A24 001B3984 C0 41 00 28 */ lfs f2, 0x28(r1)
/* 801B6A28 001B3988 38 81 00 08 */ addi r4, r1, 8
/* 801B6A2C 001B398C C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 801B6A30 001B3990 38 A0 00 02 */ li r5, 2
/* 801B6A34 001B3994 C0 02 A9 80 */ lfs f0, lbl_805AC6A0@sda21(r2)
/* 801B6A38 001B3998 D0 61 00 08 */ stfs f3, 8(r1)
/* 801B6A3C 001B399C D0 41 00 0C */ stfs f2, 0xc(r1)
/* 801B6A40 001B39A0 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 801B6A44 001B39A4 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 801B6A48 001B39A8 48 00 14 61 */ bl MarkCells__11CMarkerGridFRC7CSphereUi
/* 801B6A4C 001B39AC C0 22 A9 80 */ lfs f1, lbl_805AC6A0@sda21(r2)
/* 801B6A50 001B39B0 28 18 00 00 */ cmplwi r24, 0
/* 801B6A54 001B39B4 C0 02 A9 84 */ lfs f0, lbl_805AC6A4@sda21(r2)
/* 801B6A58 001B39B8 38 00 00 01 */ li r0, 1
/* 801B6A5C 001B39BC C0 81 00 24 */ lfs f4, 0x24(r1)
/* 801B6A60 001B39C0 C0 61 00 28 */ lfs f3, 0x28(r1)
/* 801B6A64 001B39C4 C0 41 00 2C */ lfs f2, 0x2c(r1)
/* 801B6A68 001B39C8 D0 81 00 30 */ stfs f4, 0x30(r1)
/* 801B6A6C 001B39CC D0 61 00 34 */ stfs f3, 0x34(r1)
/* 801B6A70 001B39D0 D0 41 00 38 */ stfs f2, 0x38(r1)
/* 801B6A74 001B39D4 D0 21 00 3C */ stfs f1, 0x3c(r1)
/* 801B6A78 001B39D8 D0 21 00 40 */ stfs f1, 0x40(r1)
/* 801B6A7C 001B39DC D0 01 00 44 */ stfs f0, 0x44(r1)
/* 801B6A80 001B39E0 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 801B6A84 001B39E4 98 18 00 1C */ stb r0, 0x1c(r24)
/* 801B6A88 001B39E8 41 82 01 28 */ beq lbl_801B6BB0
/* 801B6A8C 001B39EC D0 98 00 00 */ stfs f4, 0(r24)
/* 801B6A90 001B39F0 D0 78 00 04 */ stfs f3, 4(r24)
/* 801B6A94 001B39F4 D0 58 00 08 */ stfs f2, 8(r24)
/* 801B6A98 001B39F8 D0 38 00 0C */ stfs f1, 0xc(r24)
/* 801B6A9C 001B39FC D0 38 00 10 */ stfs f1, 0x10(r24)
/* 801B6AA0 001B3A00 D0 18 00 14 */ stfs f0, 0x14(r24)
/* 801B6AA4 001B3A04 D0 18 00 18 */ stfs f0, 0x18(r24)
/* 801B6AA8 001B3A08 48 00 01 08 */ b lbl_801B6BB0
lbl_801B6AAC:
/* 801B6AAC 001B3A0C 28 1B 00 00 */ cmplwi r27, 0
/* 801B6AB0 001B3A10 41 82 00 0C */ beq lbl_801B6ABC
/* 801B6AB4 001B3A14 3B 5A 00 01 */ addi r26, r26, 1
/* 801B6AB8 001B3A18 48 00 00 08 */ b lbl_801B6AC0
lbl_801B6ABC:
/* 801B6ABC 001B3A1C 3B 5A FF FF */ addi r26, r26, -1
lbl_801B6AC0:
/* 801B6AC0 001B3A20 28 1B 00 00 */ cmplwi r27, 0
/* 801B6AC4 001B3A24 41 82 00 1C */ beq lbl_801B6AE0
/* 801B6AC8 001B3A28 38 60 00 0E */ li r3, 0xe
/* 801B6ACC 001B3A2C 7C 60 D2 78 */ xor r0, r3, r26
/* 801B6AD0 001B3A30 7C 00 00 34 */ cntlzw r0, r0
/* 801B6AD4 001B3A34 7C 60 00 30 */ slw r0, r3, r0
/* 801B6AD8 001B3A38 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801B6ADC 001B3A3C 48 00 00 1C */ b lbl_801B6AF8
lbl_801B6AE0:
/* 801B6AE0 001B3A40 38 1A FF FF */ addi r0, r26, -1
/* 801B6AE4 001B3A44 38 60 00 01 */ li r3, 1
/* 801B6AE8 001B3A48 7F 43 1B 38 */ orc r3, r26, r3
/* 801B6AEC 001B3A4C 54 00 F8 7E */ srwi r0, r0, 1
/* 801B6AF0 001B3A50 7C 00 18 50 */ subf r0, r0, r3
/* 801B6AF4 001B3A54 54 00 0F FE */ srwi r0, r0, 0x1f
lbl_801B6AF8:
/* 801B6AF8 001B3A58 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 801B6AFC 001B3A5C 40 82 FE A8 */ bne lbl_801B69A4
/* 801B6B00 001B3A60 28 1C 00 00 */ cmplwi r28, 0
/* 801B6B04 001B3A64 41 82 00 0C */ beq lbl_801B6B10
/* 801B6B08 001B3A68 3B DE 00 01 */ addi r30, r30, 1
/* 801B6B0C 001B3A6C 48 00 00 08 */ b lbl_801B6B14
lbl_801B6B10:
/* 801B6B10 001B3A70 3B DE FF FF */ addi r30, r30, -1
lbl_801B6B14:
/* 801B6B14 001B3A74 28 1C 00 00 */ cmplwi r28, 0
/* 801B6B18 001B3A78 41 82 00 1C */ beq lbl_801B6B34
/* 801B6B1C 001B3A7C 38 60 00 0E */ li r3, 0xe
/* 801B6B20 001B3A80 7C 60 F2 78 */ xor r0, r3, r30
/* 801B6B24 001B3A84 7C 00 00 34 */ cntlzw r0, r0
/* 801B6B28 001B3A88 7C 60 00 30 */ slw r0, r3, r0
/* 801B6B2C 001B3A8C 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801B6B30 001B3A90 48 00 00 1C */ b lbl_801B6B4C
lbl_801B6B34:
/* 801B6B34 001B3A94 38 1E FF FF */ addi r0, r30, -1
/* 801B6B38 001B3A98 38 60 00 01 */ li r3, 1
/* 801B6B3C 001B3A9C 7F C3 1B 38 */ orc r3, r30, r3
/* 801B6B40 001B3AA0 54 00 F8 7E */ srwi r0, r0, 1
/* 801B6B44 001B3AA4 7C 00 18 50 */ subf r0, r0, r3
/* 801B6B48 001B3AA8 54 00 0F FE */ srwi r0, r0, 0x1f
lbl_801B6B4C:
/* 801B6B4C 001B3AAC 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 801B6B50 001B3AB0 40 82 FE 4C */ bne lbl_801B699C
/* 801B6B54 001B3AB4 28 1D 00 00 */ cmplwi r29, 0
/* 801B6B58 001B3AB8 41 82 00 0C */ beq lbl_801B6B64
/* 801B6B5C 001B3ABC 3B FF 00 01 */ addi r31, r31, 1
/* 801B6B60 001B3AC0 48 00 00 08 */ b lbl_801B6B68
lbl_801B6B64:
/* 801B6B64 001B3AC4 3B FF FF FF */ addi r31, r31, -1
lbl_801B6B68:
/* 801B6B68 001B3AC8 28 1D 00 00 */ cmplwi r29, 0
/* 801B6B6C 001B3ACC 41 82 00 1C */ beq lbl_801B6B88
/* 801B6B70 001B3AD0 38 60 00 0E */ li r3, 0xe
/* 801B6B74 001B3AD4 7C 60 FA 78 */ xor r0, r3, r31
/* 801B6B78 001B3AD8 7C 00 00 34 */ cntlzw r0, r0
/* 801B6B7C 001B3ADC 7C 60 00 30 */ slw r0, r3, r0
/* 801B6B80 001B3AE0 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801B6B84 001B3AE4 48 00 00 1C */ b lbl_801B6BA0
lbl_801B6B88:
/* 801B6B88 001B3AE8 38 1F FF FF */ addi r0, r31, -1
/* 801B6B8C 001B3AEC 38 60 00 01 */ li r3, 1
/* 801B6B90 001B3AF0 7F E3 1B 38 */ orc r3, r31, r3
/* 801B6B94 001B3AF4 54 00 F8 7E */ srwi r0, r0, 1
/* 801B6B98 001B3AF8 7C 00 18 50 */ subf r0, r0, r3
/* 801B6B9C 001B3AFC 54 00 0F FE */ srwi r0, r0, 0x1f
lbl_801B6BA0:
/* 801B6BA0 001B3B00 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 801B6BA4 001B3B04 40 82 FD F0 */ bne lbl_801B6994
/* 801B6BA8 001B3B08 38 00 00 00 */ li r0, 0
/* 801B6BAC 001B3B0C 98 18 00 1C */ stb r0, 0x1c(r24)
lbl_801B6BB0:
/* 801B6BB0 001B3B10 BB 01 00 50 */ lmw r24, 0x50(r1)
/* 801B6BB4 001B3B14 80 01 00 74 */ lwz r0, 0x74(r1)
/* 801B6BB8 001B3B18 7C 08 03 A6 */ mtlr r0
/* 801B6BBC 001B3B1C 38 21 00 70 */ addi r1, r1, 0x70
/* 801B6BC0 001B3B20 4E 80 00 20 */ blr
.global pointInSphere__FRC7CSphereRC9CVector3f
pointInSphere__FRC7CSphereRC9CVector3f:
/* 801B6BC4 001B3B24 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801B6BC8 001B3B28 C0 43 00 04 */ lfs f2, 4(r3)
/* 801B6BCC 001B3B2C C0 04 00 04 */ lfs f0, 4(r4)
/* 801B6BD0 001B3B30 C0 23 00 00 */ lfs f1, 0(r3)
/* 801B6BD4 001B3B34 EC 82 00 28 */ fsubs f4, f2, f0
/* 801B6BD8 001B3B38 C0 04 00 00 */ lfs f0, 0(r4)
/* 801B6BDC 001B3B3C C0 A3 00 0C */ lfs f5, 0xc(r3)
/* 801B6BE0 001B3B40 EC 41 00 28 */ fsubs f2, f1, f0
/* 801B6BE4 001B3B44 C0 63 00 08 */ lfs f3, 8(r3)
/* 801B6BE8 001B3B48 C0 24 00 08 */ lfs f1, 8(r4)
/* 801B6BEC 001B3B4C EC 04 01 32 */ fmuls f0, f4, f4
/* 801B6BF0 001B3B50 D0 81 00 0C */ stfs f4, 0xc(r1)
/* 801B6BF4 001B3B54 EC 63 08 28 */ fsubs f3, f3, f1
/* 801B6BF8 001B3B58 EC 22 00 B2 */ fmuls f1, f2, f2
/* 801B6BFC 001B3B5C D0 41 00 08 */ stfs f2, 8(r1)
/* 801B6C00 001B3B60 EC A5 01 72 */ fmuls f5, f5, f5
/* 801B6C04 001B3B64 EC 43 00 F2 */ fmuls f2, f3, f3
/* 801B6C08 001B3B68 D0 61 00 10 */ stfs f3, 0x10(r1)
/* 801B6C0C 001B3B6C EC 01 00 2A */ fadds f0, f1, f0
/* 801B6C10 001B3B70 EC 02 00 2A */ fadds f0, f2, f0
/* 801B6C14 001B3B74 FC 00 28 40 */ fcmpo cr0, f0, f5
/* 801B6C18 001B3B78 4C 40 13 82 */ cror 2, 0, 2
/* 801B6C1C 001B3B7C 7C 00 00 26 */ mfcr r0
/* 801B6C20 001B3B80 54 03 1F FE */ rlwinm r3, r0, 3, 0x1f, 0x1f
/* 801B6C24 001B3B84 38 21 00 20 */ addi r1, r1, 0x20
/* 801B6C28 001B3B88 4E 80 00 20 */ blr
.global Touch__10CIceImpactFR6CActorR13CStateManager
Touch__10CIceImpactFR6CActorR13CStateManager:
/* 801B6C2C 001B3B8C 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 801B6C30 001B3B90 7C 08 02 A6 */ mflr r0
/* 801B6C34 001B3B94 90 01 01 24 */ stw r0, 0x124(r1)
/* 801B6C38 001B3B98 93 E1 01 1C */ stw r31, 0x11c(r1)
/* 801B6C3C 001B3B9C 7C BF 2B 78 */ mr r31, r5
/* 801B6C40 001B3BA0 93 C1 01 18 */ stw r30, 0x118(r1)
/* 801B6C44 001B3BA4 7C 9E 23 78 */ mr r30, r4
/* 801B6C48 001B3BA8 93 A1 01 14 */ stw r29, 0x114(r1)
/* 801B6C4C 001B3BAC 7C 7D 1B 78 */ mr r29, r3
/* 801B6C50 001B3BB0 93 81 01 10 */ stw r28, 0x110(r1)
/* 801B6C54 001B3BB4 C0 23 00 F4 */ lfs f1, 0xf4(r3)
/* 801B6C58 001B3BB8 C0 03 00 F8 */ lfs f0, 0xf8(r3)
/* 801B6C5C 001B3BBC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801B6C60 001B3BC0 41 81 03 5C */ bgt lbl_801B6FBC
/* 801B6C64 001B3BC4 81 84 00 00 */ lwz r12, 0(r4)
/* 801B6C68 001B3BC8 38 61 00 98 */ addi r3, r1, 0x98
/* 801B6C6C 001B3BCC 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 801B6C70 001B3BD0 7D 89 03 A6 */ mtctr r12
/* 801B6C74 001B3BD4 4E 80 04 21 */ bctrl
/* 801B6C78 001B3BD8 88 01 00 B0 */ lbz r0, 0xb0(r1)
/* 801B6C7C 001B3BDC 28 00 00 00 */ cmplwi r0, 0
/* 801B6C80 001B3BE0 98 01 01 00 */ stb r0, 0x100(r1)
/* 801B6C84 001B3BE4 41 82 00 3C */ beq lbl_801B6CC0
/* 801B6C88 001B3BE8 34 61 00 E8 */ addic. r3, r1, 0xe8
/* 801B6C8C 001B3BEC 41 82 00 34 */ beq lbl_801B6CC0
/* 801B6C90 001B3BF0 C0 01 00 98 */ lfs f0, 0x98(r1)
/* 801B6C94 001B3BF4 D0 03 00 00 */ stfs f0, 0(r3)
/* 801B6C98 001B3BF8 C0 01 00 9C */ lfs f0, 0x9c(r1)
/* 801B6C9C 001B3BFC D0 03 00 04 */ stfs f0, 4(r3)
/* 801B6CA0 001B3C00 C0 01 00 A0 */ lfs f0, 0xa0(r1)
/* 801B6CA4 001B3C04 D0 03 00 08 */ stfs f0, 8(r3)
/* 801B6CA8 001B3C08 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 801B6CAC 001B3C0C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 801B6CB0 001B3C10 C0 01 00 A8 */ lfs f0, 0xa8(r1)
/* 801B6CB4 001B3C14 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 801B6CB8 001B3C18 C0 01 00 AC */ lfs f0, 0xac(r1)
/* 801B6CBC 001B3C1C D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_801B6CC0:
/* 801B6CC0 001B3C20 88 01 01 00 */ lbz r0, 0x100(r1)
/* 801B6CC4 001B3C24 38 60 00 00 */ li r3, 0
/* 801B6CC8 001B3C28 98 61 00 B0 */ stb r3, 0xb0(r1)
/* 801B6CCC 001B3C2C 28 00 00 00 */ cmplwi r0, 0
/* 801B6CD0 001B3C30 41 82 02 E4 */ beq lbl_801B6FB4
/* 801B6CD4 001B3C34 88 01 00 4C */ lbz r0, 0x4c(r1)
/* 801B6CD8 001B3C38 38 C0 00 01 */ li r6, 1
/* 801B6CDC 001B3C3C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 801B6CE0 001B3C40 C0 42 A9 88 */ lfs f2, lbl_805AC6A8@sda21(r2)
/* 801B6CE4 001B3C44 98 01 00 4C */ stb r0, 0x4c(r1)
/* 801B6CE8 001B3C48 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 801B6CEC 001B3C4C 50 C0 36 72 */ rlwimi r0, r6, 6, 0x19, 0x19
/* 801B6CF0 001B3C50 C0 22 A9 84 */ lfs f1, lbl_805AC6A4@sda21(r2)
/* 801B6CF4 001B3C54 C0 02 A9 68 */ lfs f0, lbl_805AC688@sda21(r2)
/* 801B6CF8 001B3C58 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 801B6CFC 001B3C5C 98 01 00 4C */ stb r0, 0x4c(r1)
/* 801B6D00 001B3C60 50 65 2E B4 */ rlwimi r5, r3, 5, 0x1a, 0x1a
/* 801B6D04 001B3C64 88 01 00 E4 */ lbz r0, 0xe4(r1)
/* 801B6D08 001B3C68 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 801B6D0C 001B3C6C 90 C1 00 48 */ stw r6, 0x48(r1)
/* 801B6D10 001B3C70 7F C4 F3 78 */ mr r4, r30
/* 801B6D14 001B3C74 38 61 00 40 */ addi r3, r1, 0x40
/* 801B6D18 001B3C78 98 A1 00 4C */ stb r5, 0x4c(r1)
/* 801B6D1C 001B3C7C 90 C1 00 CC */ stw r6, 0xcc(r1)
/* 801B6D20 001B3C80 98 A1 00 D0 */ stb r5, 0xd0(r1)
/* 801B6D24 001B3C84 D0 41 00 D4 */ stfs f2, 0xd4(r1)
/* 801B6D28 001B3C88 D0 41 00 D8 */ stfs f2, 0xd8(r1)
/* 801B6D2C 001B3C8C D0 21 00 DC */ stfs f1, 0xdc(r1)
/* 801B6D30 001B3C90 D0 01 00 E0 */ stfs f0, 0xe0(r1)
/* 801B6D34 001B3C94 98 01 00 E4 */ stb r0, 0xe4(r1)
/* 801B6D38 001B3C98 4B EF 5D 25 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity"
/* 801B6D3C 001B3C9C 83 83 00 04 */ lwz r28, 4(r3)
/* 801B6D40 001B3CA0 28 1C 00 00 */ cmplwi r28, 0
/* 801B6D44 001B3CA4 41 82 01 88 */ beq lbl_801B6ECC
/* 801B6D48 001B3CA8 C0 01 00 F8 */ lfs f0, 0xf8(r1)
/* 801B6D4C 001B3CAC 38 61 00 B4 */ addi r3, r1, 0xb4
/* 801B6D50 001B3CB0 C0 A2 A9 84 */ lfs f5, lbl_805AC6A4@sda21(r2)
/* 801B6D54 001B3CB4 38 81 00 5C */ addi r4, r1, 0x5c
/* 801B6D58 001B3CB8 C0 41 00 F4 */ lfs f2, 0xf4(r1)
/* 801B6D5C 001B3CBC 38 A1 00 50 */ addi r5, r1, 0x50
/* 801B6D60 001B3CC0 C0 21 00 EC */ lfs f1, 0xec(r1)
/* 801B6D64 001B3CC4 EC E0 28 2A */ fadds f7, f0, f5
/* 801B6D68 001B3CC8 C0 01 00 E8 */ lfs f0, 0xe8(r1)
/* 801B6D6C 001B3CCC EC 42 28 2A */ fadds f2, f2, f5
/* 801B6D70 001B3CD0 EC C1 28 28 */ fsubs f6, f1, f5
/* 801B6D74 001B3CD4 C0 81 00 FC */ lfs f4, 0xfc(r1)
/* 801B6D78 001B3CD8 C0 62 A9 74 */ lfs f3, lbl_805AC694@sda21(r2)
/* 801B6D7C 001B3CDC C0 21 00 F0 */ lfs f1, 0xf0(r1)
/* 801B6D80 001B3CE0 EC 00 28 28 */ fsubs f0, f0, f5
/* 801B6D84 001B3CE4 EC 84 18 2A */ fadds f4, f4, f3
/* 801B6D88 001B3CE8 EC 21 18 28 */ fsubs f1, f1, f3
/* 801B6D8C 001B3CEC D0 41 00 50 */ stfs f2, 0x50(r1)
/* 801B6D90 001B3CF0 D0 E1 00 54 */ stfs f7, 0x54(r1)
/* 801B6D94 001B3CF4 D0 81 00 58 */ stfs f4, 0x58(r1)
/* 801B6D98 001B3CF8 D0 01 00 5C */ stfs f0, 0x5c(r1)
/* 801B6D9C 001B3CFC D0 C1 00 60 */ stfs f6, 0x60(r1)
/* 801B6DA0 001B3D00 D0 21 00 64 */ stfs f1, 0x64(r1)
/* 801B6DA4 001B3D04 48 18 17 65 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 801B6DA8 001B3D08 38 7D 01 18 */ addi r3, r29, 0x118
/* 801B6DAC 001B3D0C 38 81 00 B4 */ addi r4, r1, 0xb4
/* 801B6DB0 001B3D10 38 A0 00 01 */ li r5, 1
/* 801B6DB4 001B3D14 48 00 12 0D */ bl AABoxTouchesData__11CMarkerGridCFRC6CAABoxUi
/* 801B6DB8 001B3D18 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B6DBC 001B3D1C 41 82 01 10 */ beq lbl_801B6ECC
/* 801B6DC0 001B3D20 88 01 00 3C */ lbz r0, 0x3c(r1)
/* 801B6DC4 001B3D24 38 80 00 00 */ li r4, 0
/* 801B6DC8 001B3D28 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 801B6DCC 001B3D2C 38 A0 00 01 */ li r5, 1
/* 801B6DD0 001B3D30 98 01 00 3C */ stb r0, 0x3c(r1)
/* 801B6DD4 001B3D34 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 801B6DD8 001B3D38 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 801B6DDC 001B3D3C 7F 83 E3 78 */ mr r3, r28
/* 801B6DE0 001B3D40 98 01 00 3C */ stb r0, 0x3c(r1)
/* 801B6DE4 001B3D44 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 801B6DE8 001B3D48 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 801B6DEC 001B3D4C 90 A1 00 38 */ stw r5, 0x38(r1)
/* 801B6DF0 001B3D50 98 01 00 3C */ stb r0, 0x3c(r1)
/* 801B6DF4 001B3D54 81 9C 00 00 */ lwz r12, 0(r28)
/* 801B6DF8 001B3D58 81 8C 00 38 */ lwz r12, 0x38(r12)
/* 801B6DFC 001B3D5C 7D 89 03 A6 */ mtctr r12
/* 801B6E00 001B3D60 4E 80 04 21 */ bctrl
/* 801B6E04 001B3D64 38 81 00 38 */ addi r4, r1, 0x38
/* 801B6E08 001B3D68 38 A0 00 00 */ li r5, 0
/* 801B6E0C 001B3D6C 4B F4 B7 79 */ bl WeaponHits__20CDamageVulnerabilityCFRC11CWeaponModei
/* 801B6E10 001B3D70 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B6E14 001B3D74 41 82 00 B8 */ beq lbl_801B6ECC
/* 801B6E18 001B3D78 88 1C 04 E1 */ lbz r0, 0x4e1(r28)
/* 801B6E1C 001B3D7C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 801B6E20 001B3D80 41 82 00 AC */ beq lbl_801B6ECC
/* 801B6E24 001B3D84 80 7C 04 50 */ lwz r3, 0x450(r28)
/* 801B6E28 001B3D88 4B F8 32 A5 */ bl GetPercentageFrozen__15CBodyControllerCFv
/* 801B6E2C 001B3D8C C0 02 A9 84 */ lfs f0, lbl_805AC6A4@sda21(r2)
/* 801B6E30 001B3D90 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 801B6E34 001B3D94 40 82 00 98 */ bne lbl_801B6ECC
/* 801B6E38 001B3D98 C0 3D 00 F8 */ lfs f1, 0xf8(r29)
/* 801B6E3C 001B3D9C C0 5D 00 F4 */ lfs f2, 0xf4(r29)
/* 801B6E40 001B3DA0 C0 02 A9 74 */ lfs f0, lbl_805AC694@sda21(r2)
/* 801B6E44 001B3DA4 EC 21 10 28 */ fsubs f1, f1, f2
/* 801B6E48 001B3DA8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801B6E4C 001B3DAC 40 81 00 80 */ ble lbl_801B6ECC
/* 801B6E50 001B3DB0 C0 02 A9 8C */ lfs f0, lbl_805AC6AC@sda21(r2)
/* 801B6E54 001B3DB4 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 801B6E58 001B3DB8 40 80 00 74 */ bge lbl_801B6ECC
/* 801B6E5C 001B3DBC 80 AD 90 D8 */ lwz r5, lbl_805A7C98@sda21(r13)
/* 801B6E60 001B3DC0 38 60 00 00 */ li r3, 0
/* 801B6E64 001B3DC4 38 80 00 01 */ li r4, 1
/* 801B6E68 001B3DC8 48 1D 30 8D */ bl __shl2i
/* 801B6E6C 001B3DCC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 801B6E70 001B3DD0 39 00 00 00 */ li r8, 0
/* 801B6E74 001B3DD4 39 40 00 03 */ li r10, 3
/* 801B6E78 001B3DD8 90 81 00 84 */ stw r4, 0x84(r1)
/* 801B6E7C 001B3DDC 3C A0 80 5A */ lis r5, sZeroVector__9CVector3f@ha
/* 801B6E80 001B3DE0 38 81 00 2C */ addi r4, r1, 0x2c
/* 801B6E84 001B3DE4 90 61 00 80 */ stw r3, 0x80(r1)
/* 801B6E88 001B3DE8 39 25 66 A0 */ addi r9, r5, sZeroVector__9CVector3f@l
/* 801B6E8C 001B3DEC 7F E3 FB 78 */ mr r3, r31
/* 801B6E90 001B3DF0 38 A1 00 24 */ addi r5, r1, 0x24
/* 801B6E94 001B3DF4 91 01 00 8C */ stw r8, 0x8c(r1)
/* 801B6E98 001B3DF8 38 C1 00 1C */ addi r6, r1, 0x1c
/* 801B6E9C 001B3DFC 38 E1 00 CC */ addi r7, r1, 0xcc
/* 801B6EA0 001B3E00 91 01 00 88 */ stw r8, 0x88(r1)
/* 801B6EA4 001B3E04 39 01 00 80 */ addi r8, r1, 0x80
/* 801B6EA8 001B3E08 91 41 00 90 */ stw r10, 0x90(r1)
/* 801B6EAC 001B3E0C B0 01 00 1C */ sth r0, 0x1c(r1)
/* 801B6EB0 001B3E10 A1 5E 00 08 */ lhz r10, 8(r30)
/* 801B6EB4 001B3E14 B1 41 00 24 */ sth r10, 0x24(r1)
/* 801B6EB8 001B3E18 A0 1D 00 08 */ lhz r0, 8(r29)
/* 801B6EBC 001B3E1C B1 41 00 20 */ sth r10, 0x20(r1)
/* 801B6EC0 001B3E20 B0 01 00 28 */ sth r0, 0x28(r1)
/* 801B6EC4 001B3E24 B0 01 00 2C */ sth r0, 0x2c(r1)
/* 801B6EC8 001B3E28 4B E9 31 D9 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
lbl_801B6ECC:
/* 801B6ECC 001B3E2C 80 7E 00 68 */ lwz r3, 0x68(r30)
/* 801B6ED0 001B3E30 3C 00 01 00 */ lis r0, 0x100
/* 801B6ED4 001B3E34 80 BE 00 6C */ lwz r5, 0x6c(r30)
/* 801B6ED8 001B3E38 38 80 00 00 */ li r4, 0
/* 801B6EDC 001B3E3C 7C 60 00 38 */ and r0, r3, r0
/* 801B6EE0 001B3E40 7C A3 20 38 */ and r3, r5, r4
/* 801B6EE4 001B3E44 7C 63 22 78 */ xor r3, r3, r4
/* 801B6EE8 001B3E48 7C 00 22 78 */ xor r0, r0, r4
/* 801B6EEC 001B3E4C 7C 60 03 79 */ or. r0, r3, r0
/* 801B6EF0 001B3E50 41 82 00 8C */ beq lbl_801B6F7C
/* 801B6EF4 001B3E54 38 7D 01 18 */ addi r3, r29, 0x118
/* 801B6EF8 001B3E58 38 81 00 E8 */ addi r4, r1, 0xe8
/* 801B6EFC 001B3E5C 38 A0 00 01 */ li r5, 1
/* 801B6F00 001B3E60 48 00 10 C1 */ bl AABoxTouchesData__11CMarkerGridCFRC6CAABoxUi
/* 801B6F04 001B3E64 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B6F08 001B3E68 41 82 00 74 */ beq lbl_801B6F7C
/* 801B6F0C 001B3E6C 80 AD 90 D8 */ lwz r5, lbl_805A7C98@sda21(r13)
/* 801B6F10 001B3E70 38 60 00 00 */ li r3, 0
/* 801B6F14 001B3E74 38 80 00 01 */ li r4, 1
/* 801B6F18 001B3E78 48 1D 2F DD */ bl __shl2i
/* 801B6F1C 001B3E7C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 801B6F20 001B3E80 39 00 00 00 */ li r8, 0
/* 801B6F24 001B3E84 39 40 00 03 */ li r10, 3
/* 801B6F28 001B3E88 90 81 00 6C */ stw r4, 0x6c(r1)
/* 801B6F2C 001B3E8C 3C A0 80 5A */ lis r5, sZeroVector__9CVector3f@ha
/* 801B6F30 001B3E90 38 81 00 18 */ addi r4, r1, 0x18
/* 801B6F34 001B3E94 90 61 00 68 */ stw r3, 0x68(r1)
/* 801B6F38 001B3E98 39 25 66 A0 */ addi r9, r5, sZeroVector__9CVector3f@l
/* 801B6F3C 001B3E9C 7F E3 FB 78 */ mr r3, r31
/* 801B6F40 001B3EA0 38 A1 00 10 */ addi r5, r1, 0x10
/* 801B6F44 001B3EA4 91 01 00 74 */ stw r8, 0x74(r1)
/* 801B6F48 001B3EA8 38 C1 00 08 */ addi r6, r1, 8
/* 801B6F4C 001B3EAC 38 E1 00 CC */ addi r7, r1, 0xcc
/* 801B6F50 001B3EB0 91 01 00 70 */ stw r8, 0x70(r1)
/* 801B6F54 001B3EB4 39 01 00 68 */ addi r8, r1, 0x68
/* 801B6F58 001B3EB8 91 41 00 78 */ stw r10, 0x78(r1)
/* 801B6F5C 001B3EBC B0 01 00 08 */ sth r0, 8(r1)
/* 801B6F60 001B3EC0 A1 5E 00 08 */ lhz r10, 8(r30)
/* 801B6F64 001B3EC4 B1 41 00 10 */ sth r10, 0x10(r1)
/* 801B6F68 001B3EC8 A0 1D 00 08 */ lhz r0, 8(r29)
/* 801B6F6C 001B3ECC B1 41 00 0C */ sth r10, 0xc(r1)
/* 801B6F70 001B3ED0 B0 01 00 14 */ sth r0, 0x14(r1)
/* 801B6F74 001B3ED4 B0 01 00 18 */ sth r0, 0x18(r1)
/* 801B6F78 001B3ED8 4B E9 31 29 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
lbl_801B6F7C:
/* 801B6F7C 001B3EDC 7F C4 F3 78 */ mr r4, r30
/* 801B6F80 001B3EE0 38 61 00 30 */ addi r3, r1, 0x30
/* 801B6F84 001B3EE4 4B EE EC 8D */ bl "__ct__31TCastToPtr<17CWallCrawlerSwarm>FP7CEntity"
/* 801B6F88 001B3EE8 80 63 00 04 */ lwz r3, 4(r3)
/* 801B6F8C 001B3EEC 28 03 00 00 */ cmplwi r3, 0
/* 801B6F90 001B3EF0 41 82 00 24 */ beq lbl_801B6FB4
/* 801B6F94 001B3EF4 C0 5D 00 F8 */ lfs f2, 0xf8(r29)
/* 801B6F98 001B3EF8 C0 3D 00 F4 */ lfs f1, 0xf4(r29)
/* 801B6F9C 001B3EFC C0 02 A9 74 */ lfs f0, lbl_805AC694@sda21(r2)
/* 801B6FA0 001B3F00 EC 22 08 28 */ fsubs f1, f2, f1
/* 801B6FA4 001B3F04 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801B6FA8 001B3F08 40 81 00 0C */ ble lbl_801B6FB4
/* 801B6FAC 001B3F0C 38 9D 01 18 */ addi r4, r29, 0x118
/* 801B6FB0 001B3F10 48 03 09 6D */ bl FreezeCollision__17CWallCrawlerSwarmFRC11CMarkerGridf
lbl_801B6FB4:
/* 801B6FB4 001B3F14 38 00 00 00 */ li r0, 0
/* 801B6FB8 001B3F18 98 01 01 00 */ stb r0, 0x100(r1)
lbl_801B6FBC:
/* 801B6FBC 001B3F1C 80 01 01 24 */ lwz r0, 0x124(r1)
/* 801B6FC0 001B3F20 83 E1 01 1C */ lwz r31, 0x11c(r1)
/* 801B6FC4 001B3F24 83 C1 01 18 */ lwz r30, 0x118(r1)
/* 801B6FC8 001B3F28 83 A1 01 14 */ lwz r29, 0x114(r1)
/* 801B6FCC 001B3F2C 83 81 01 10 */ lwz r28, 0x110(r1)
/* 801B6FD0 001B3F30 7C 08 03 A6 */ mtlr r0
/* 801B6FD4 001B3F34 38 21 01 20 */ addi r1, r1, 0x120
/* 801B6FD8 001B3F38 4E 80 00 20 */ blr
.global GetTouchBounds__10CIceImpactCFv
GetTouchBounds__10CIceImpactCFv:
/* 801B6FDC 001B3F3C 38 00 00 01 */ li r0, 1
/* 801B6FE0 001B3F40 28 03 00 00 */ cmplwi r3, 0
/* 801B6FE4 001B3F44 98 03 00 18 */ stb r0, 0x18(r3)
/* 801B6FE8 001B3F48 4D 82 00 20 */ beqlr
/* 801B6FEC 001B3F4C C0 04 01 18 */ lfs f0, 0x118(r4)
/* 801B6FF0 001B3F50 D0 03 00 00 */ stfs f0, 0(r3)
/* 801B6FF4 001B3F54 C0 04 01 1C */ lfs f0, 0x11c(r4)
/* 801B6FF8 001B3F58 D0 03 00 04 */ stfs f0, 4(r3)
/* 801B6FFC 001B3F5C C0 04 01 20 */ lfs f0, 0x120(r4)
/* 801B7000 001B3F60 D0 03 00 08 */ stfs f0, 8(r3)
/* 801B7004 001B3F64 C0 04 01 24 */ lfs f0, 0x124(r4)
/* 801B7008 001B3F68 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 801B700C 001B3F6C C0 04 01 28 */ lfs f0, 0x128(r4)
/* 801B7010 001B3F70 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 801B7014 001B3F74 C0 04 01 2C */ lfs f0, 0x12c(r4)
/* 801B7018 001B3F78 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 801B701C 001B3F7C 4E 80 00 20 */ blr
.global AcceptScriptMsg__10CIceImpactF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__10CIceImpactF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 801B7020 001B3F80 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 801B7024 001B3F84 7C 08 02 A6 */ mflr r0
/* 801B7028 001B3F88 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 801B702C 001B3F8C BE E1 00 AC */ stmw r23, 0xac(r1)
/* 801B7030 001B3F90 7C 9D 23 78 */ mr r29, r4
/* 801B7034 001B3F94 2C 1D 00 22 */ cmpwi r29, 0x22
/* 801B7038 001B3F98 7C 7C 1B 78 */ mr r28, r3
/* 801B703C 001B3F9C 7C BE 2B 78 */ mr r30, r5
/* 801B7040 001B3FA0 7C DF 33 78 */ mr r31, r6
/* 801B7044 001B3FA4 41 82 01 44 */ beq lbl_801B7188
/* 801B7048 001B3FA8 40 80 01 6C */ bge lbl_801B71B4
/* 801B704C 001B3FAC 2C 1D 00 21 */ cmpwi r29, 0x21
/* 801B7050 001B3FB0 40 80 00 08 */ bge lbl_801B7058
/* 801B7054 001B3FB4 48 00 01 60 */ b lbl_801B71B4
lbl_801B7058:
/* 801B7058 001B3FB8 80 7C 00 E8 */ lwz r3, 0xe8(r28)
/* 801B705C 001B3FBC 81 83 00 00 */ lwz r12, 0(r3)
/* 801B7060 001B3FC0 81 8C 00 64 */ lwz r12, 0x64(r12)
/* 801B7064 001B3FC4 7D 89 03 A6 */ mtctr r12
/* 801B7068 001B3FC8 4E 80 04 21 */ bctrl
/* 801B706C 001B3FCC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B7070 001B3FD0 41 82 01 44 */ beq lbl_801B71B4
/* 801B7074 001B3FD4 7F E4 FB 78 */ mr r4, r31
/* 801B7078 001B3FD8 38 61 00 2C */ addi r3, r1, 0x2c
/* 801B707C 001B3FDC 4B E9 60 61 */ bl AllocateUniqueId__13CStateManagerFv
/* 801B7080 001B3FE0 A0 01 00 2C */ lhz r0, 0x2c(r1)
/* 801B7084 001B3FE4 3C 60 80 3D */ lis r3, lbl_803D1640@ha
/* 801B7088 001B3FE8 38 83 16 40 */ addi r4, r3, lbl_803D1640@l
/* 801B708C 001B3FEC 3B 60 00 00 */ li r27, 0
/* 801B7090 001B3FF0 B0 1C 00 EC */ sth r0, 0xec(r28)
/* 801B7094 001B3FF4 3A E0 00 00 */ li r23, 0
/* 801B7098 001B3FF8 38 60 01 48 */ li r3, 0x148
/* 801B709C 001B3FFC 38 A0 00 00 */ li r5, 0
/* 801B70A0 001B4000 83 1C 00 F0 */ lwz r24, 0xf0(r28)
/* 801B70A4 001B4004 48 15 E7 C9 */ bl __nw__FUlPCcPCc
/* 801B70A8 001B4008 7C 7A 1B 79 */ or. r26, r3, r3
/* 801B70AC 001B400C 41 82 00 AC */ beq lbl_801B7158
/* 801B70B0 001B4010 A0 1C 00 08 */ lhz r0, 8(r28)
/* 801B70B4 001B4014 3C 60 80 3D */ lis r3, lbl_803D1640@ha
/* 801B70B8 001B4018 83 3C 00 E8 */ lwz r25, 0xe8(r28)
/* 801B70BC 001B401C 38 83 16 40 */ addi r4, r3, lbl_803D1640@l
/* 801B70C0 001B4020 B0 01 00 24 */ sth r0, 0x24(r1)
/* 801B70C4 001B4024 38 61 00 48 */ addi r3, r1, 0x48
/* 801B70C8 001B4028 38 84 00 07 */ addi r4, r4, 7
/* 801B70CC 001B402C B0 01 00 28 */ sth r0, 0x28(r1)
/* 801B70D0 001B4030 4B E4 DB E9 */ bl string_l__4rstlFPCc
/* 801B70D4 001B4034 38 61 00 38 */ addi r3, r1, 0x38
/* 801B70D8 001B4038 38 81 00 48 */ addi r4, r1, 0x48
/* 801B70DC 001B403C 38 BC 00 10 */ addi r5, r28, 0x10
/* 801B70E0 001B4040 3B 60 00 01 */ li r27, 1
/* 801B70E4 001B4044 4B E4 DB 79 */ bl "__pl__4rstlFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 801B70E8 001B4048 88 1C 00 30 */ lbz r0, 0x30(r28)
/* 801B70EC 001B404C 7F 24 CB 78 */ mr r4, r25
/* 801B70F0 001B4050 80 BC 00 04 */ lwz r5, 4(r28)
/* 801B70F4 001B4054 38 61 00 58 */ addi r3, r1, 0x58
/* 801B70F8 001B4058 54 19 CF FE */ rlwinm r25, r0, 0x19, 0x1f, 0x1f
/* 801B70FC 001B405C 3A E0 00 01 */ li r23, 1
/* 801B7100 001B4060 90 A1 00 34 */ stw r5, 0x34(r1)
/* 801B7104 001B4064 A0 1C 00 EC */ lhz r0, 0xec(r28)
/* 801B7108 001B4068 90 A1 00 30 */ stw r5, 0x30(r1)
/* 801B710C 001B406C B0 01 00 20 */ sth r0, 0x20(r1)
/* 801B7110 001B4070 81 84 00 00 */ lwz r12, 0(r4)
/* 801B7114 001B4074 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 801B7118 001B4078 7D 89 03 A6 */ mtctr r12
/* 801B711C 001B407C 4E 80 04 21 */ bctrl
/* 801B7120 001B4080 93 01 00 08 */ stw r24, 8(r1)
/* 801B7124 001B4084 38 00 00 01 */ li r0, 1
/* 801B7128 001B4088 C0 22 A9 84 */ lfs f1, lbl_805AC6A4@sda21(r2)
/* 801B712C 001B408C 7F 43 D3 78 */ mr r3, r26
/* 801B7130 001B4090 90 01 00 0C */ stw r0, 0xc(r1)
/* 801B7134 001B4094 7F 26 CB 78 */ mr r6, r25
/* 801B7138 001B4098 38 81 00 20 */ addi r4, r1, 0x20
/* 801B713C 001B409C 38 A1 00 34 */ addi r5, r1, 0x34
/* 801B7140 001B40A0 38 E1 00 38 */ addi r7, r1, 0x38
/* 801B7144 001B40A4 39 1C 00 34 */ addi r8, r28, 0x34
/* 801B7148 001B40A8 39 21 00 28 */ addi r9, r1, 0x28
/* 801B714C 001B40AC 39 41 00 58 */ addi r10, r1, 0x58
/* 801B7150 001B40B0 4B EF E6 D5 */ bl "__ct__10CGameLightF9TUniqueId7TAreaIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC12CTransform4f9TUniqueIdRC6CLightUiUif"
/* 801B7154 001B40B4 7C 7A 1B 78 */ mr r26, r3
lbl_801B7158:
/* 801B7158 001B40B8 7F E3 FB 78 */ mr r3, r31
/* 801B715C 001B40BC 7F 44 D3 78 */ mr r4, r26
/* 801B7160 001B40C0 4B E9 5B 95 */ bl AddObject__13CStateManagerFP7CEntity
/* 801B7164 001B40C4 7E E0 07 75 */ extsb. r0, r23
/* 801B7168 001B40C8 41 82 00 0C */ beq lbl_801B7174
/* 801B716C 001B40CC 38 61 00 38 */ addi r3, r1, 0x38
/* 801B7170 001B40D0 48 18 69 71 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_801B7174:
/* 801B7174 001B40D4 7F 60 07 75 */ extsb. r0, r27
/* 801B7178 001B40D8 41 82 00 3C */ beq lbl_801B71B4
/* 801B717C 001B40DC 38 61 00 48 */ addi r3, r1, 0x48
/* 801B7180 001B40E0 48 18 69 61 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 801B7184 001B40E4 48 00 00 30 */ b lbl_801B71B4
lbl_801B7188:
/* 801B7188 001B40E8 A0 7C 00 EC */ lhz r3, 0xec(r28)
/* 801B718C 001B40EC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 801B7190 001B40F0 7C 03 00 40 */ cmplw r3, r0
/* 801B7194 001B40F4 41 82 00 20 */ beq lbl_801B71B4
/* 801B7198 001B40F8 A0 1C 00 EC */ lhz r0, 0xec(r28)
/* 801B719C 001B40FC 7F E3 FB 78 */ mr r3, r31
/* 801B71A0 001B4100 38 81 00 1C */ addi r4, r1, 0x1c
/* 801B71A4 001B4104 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 801B71A8 001B4108 4B E9 50 C5 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 801B71AC 001B410C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 801B71B0 001B4110 B0 1C 00 EC */ sth r0, 0xec(r28)
lbl_801B71B4:
/* 801B71B4 001B4114 A0 1E 00 00 */ lhz r0, 0(r30)
/* 801B71B8 001B4118 7F 83 E3 78 */ mr r3, r28
/* 801B71BC 001B411C 7F A4 EB 78 */ mr r4, r29
/* 801B71C0 001B4120 7F E6 FB 78 */ mr r6, r31
/* 801B71C4 001B4124 B0 01 00 18 */ sth r0, 0x18(r1)
/* 801B71C8 001B4128 38 A1 00 18 */ addi r5, r1, 0x18
/* 801B71CC 001B412C 4B E9 C4 49 */ bl AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager
/* 801B71D0 001B4130 A0 7C 00 EC */ lhz r3, 0xec(r28)
/* 801B71D4 001B4134 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 801B71D8 001B4138 7C 03 00 40 */ cmplw r3, r0
/* 801B71DC 001B413C 41 82 00 28 */ beq lbl_801B7204
/* 801B71E0 001B4140 A0 1E 00 00 */ lhz r0, 0(r30)
/* 801B71E4 001B4144 7F E3 FB 78 */ mr r3, r31
/* 801B71E8 001B4148 7F A6 EB 78 */ mr r6, r29
/* 801B71EC 001B414C 38 81 00 14 */ addi r4, r1, 0x14
/* 801B71F0 001B4150 B0 01 00 10 */ sth r0, 0x10(r1)
/* 801B71F4 001B4154 38 A1 00 10 */ addi r5, r1, 0x10
/* 801B71F8 001B4158 A0 1C 00 EC */ lhz r0, 0xec(r28)
/* 801B71FC 001B415C B0 01 00 14 */ sth r0, 0x14(r1)
/* 801B7200 001B4160 4B E8 CC 55 */ bl SendScriptMsgAlways__13CStateManagerF9TUniqueId9TUniqueId20EScriptObjectMessage
lbl_801B7204:
/* 801B7204 001B4164 BA E1 00 AC */ lmw r23, 0xac(r1)
/* 801B7208 001B4168 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 801B720C 001B416C 7C 08 03 A6 */ mtlr r0
/* 801B7210 001B4170 38 21 00 D0 */ addi r1, r1, 0xd0
/* 801B7214 001B4174 4E 80 00 20 */ blr
.global Accept__10CIceImpactFR8IVisitor
Accept__10CIceImpactFR8IVisitor:
/* 801B7218 001B4178 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801B721C 001B417C 7C 08 02 A6 */ mflr r0
/* 801B7220 001B4180 90 01 00 14 */ stw r0, 0x14(r1)
/* 801B7224 001B4184 7C 60 1B 78 */ mr r0, r3
/* 801B7228 001B4188 7C 83 23 78 */ mr r3, r4
/* 801B722C 001B418C 81 84 00 00 */ lwz r12, 0(r4)
/* 801B7230 001B4190 7C 04 03 78 */ mr r4, r0
/* 801B7234 001B4194 81 8C 00 08 */ lwz r12, 8(r12)
/* 801B7238 001B4198 7D 89 03 A6 */ mtctr r12
/* 801B723C 001B419C 4E 80 04 21 */ bctrl
/* 801B7240 001B41A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801B7244 001B41A4 7C 08 03 A6 */ mtlr r0
/* 801B7248 001B41A8 38 21 00 10 */ addi r1, r1, 0x10
/* 801B724C 001B41AC 4E 80 00 20 */ blr
.global Think__10CIceImpactFfR13CStateManager
Think__10CIceImpactFfR13CStateManager:
/* 801B7250 001B41B0 94 21 E3 80 */ stwu r1, -0x1c80(r1)
/* 801B7254 001B41B4 7C 08 02 A6 */ mflr r0
/* 801B7258 001B41B8 90 01 1C 84 */ stw r0, 0x1c84(r1)
/* 801B725C 001B41BC 38 00 1C 78 */ li r0, 0x1c78
/* 801B7260 001B41C0 DB E1 1C 70 */ stfd f31, 0x1c70(r1)
/* 801B7264 001B41C4 13 E1 00 0E */ psq_stx f31, r1, r0, 0, qr0
/* 801B7268 001B41C8 BF 01 1C 50 */ stmw r24, 0x1c50(r1)
/* 801B726C 001B41CC 7C 7A 1B 78 */ mr r26, r3
/* 801B7270 001B41D0 FF E0 08 90 */ fmr f31, f1
/* 801B7274 001B41D4 C0 23 00 F4 */ lfs f1, 0xf4(r3)
/* 801B7278 001B41D8 7C 9B 23 78 */ mr r27, r4
/* 801B727C 001B41DC C0 02 A9 8C */ lfs f0, lbl_805AC6AC@sda21(r2)
/* 801B7280 001B41E0 EC 21 F8 2A */ fadds f1, f1, f31
/* 801B7284 001B41E4 D0 23 00 F4 */ stfs f1, 0xf4(r3)
/* 801B7288 001B41E8 C0 23 00 F4 */ lfs f1, 0xf4(r3)
/* 801B728C 001B41EC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801B7290 001B41F0 40 80 02 C8 */ bge lbl_801B7558
/* 801B7294 001B41F4 80 7A 00 E8 */ lwz r3, 0xe8(r26)
/* 801B7298 001B41F8 81 83 00 00 */ lwz r12, 0(r3)
/* 801B729C 001B41FC 81 8C 00 60 */ lwz r12, 0x60(r12)
/* 801B72A0 001B4200 7D 89 03 A6 */ mtctr r12
/* 801B72A4 001B4204 4E 80 04 21 */ bctrl
/* 801B72A8 001B4208 2C 03 01 90 */ cmpwi r3, 0x190
/* 801B72AC 001B420C 40 80 02 AC */ bge lbl_801B7558
/* 801B72B0 001B4210 3B DA 05 44 */ addi r30, r26, 0x544
/* 801B72B4 001B4214 3B 20 00 00 */ li r25, 0
/* 801B72B8 001B4218 7F DC F3 78 */ mr r28, r30
/* 801B72BC 001B421C 48 00 00 CC */ b lbl_801B7388
lbl_801B72C0:
/* 801B72C0 001B4220 C0 3C 00 14 */ lfs f1, 0x14(r28)
/* 801B72C4 001B4224 C0 1C 00 0C */ lfs f0, 0xc(r28)
/* 801B72C8 001B4228 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801B72CC 001B422C 40 81 00 B4 */ ble lbl_801B7380
/* 801B72D0 001B4230 7F 44 D3 78 */ mr r4, r26
/* 801B72D4 001B4234 38 61 00 5C */ addi r3, r1, 0x5c
/* 801B72D8 001B4238 4B FF F6 75 */ bl GenerateNewSphere__10CIceImpactFv
/* 801B72DC 001B423C 88 01 00 78 */ lbz r0, 0x78(r1)
/* 801B72E0 001B4240 28 00 00 00 */ cmplwi r0, 0
/* 801B72E4 001B4244 98 01 00 B0 */ stb r0, 0xb0(r1)
/* 801B72E8 001B4248 41 82 00 44 */ beq lbl_801B732C
/* 801B72EC 001B424C 34 61 00 94 */ addic. r3, r1, 0x94
/* 801B72F0 001B4250 41 82 00 3C */ beq lbl_801B732C
/* 801B72F4 001B4254 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 801B72F8 001B4258 D0 03 00 00 */ stfs f0, 0(r3)
/* 801B72FC 001B425C C0 01 00 60 */ lfs f0, 0x60(r1)
/* 801B7300 001B4260 D0 03 00 04 */ stfs f0, 4(r3)
/* 801B7304 001B4264 C0 01 00 64 */ lfs f0, 0x64(r1)
/* 801B7308 001B4268 D0 03 00 08 */ stfs f0, 8(r3)
/* 801B730C 001B426C C0 01 00 68 */ lfs f0, 0x68(r1)
/* 801B7310 001B4270 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 801B7314 001B4274 C0 01 00 6C */ lfs f0, 0x6c(r1)
/* 801B7318 001B4278 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 801B731C 001B427C C0 01 00 70 */ lfs f0, 0x70(r1)
/* 801B7320 001B4280 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 801B7324 001B4284 C0 01 00 74 */ lfs f0, 0x74(r1)
/* 801B7328 001B4288 D0 03 00 18 */ stfs f0, 0x18(r3)
lbl_801B732C:
/* 801B732C 001B428C 88 01 00 B0 */ lbz r0, 0xb0(r1)
/* 801B7330 001B4290 38 60 00 00 */ li r3, 0
/* 801B7334 001B4294 98 61 00 78 */ stb r3, 0x78(r1)
/* 801B7338 001B4298 28 00 00 00 */ cmplwi r0, 0
/* 801B733C 001B429C 41 82 00 3C */ beq lbl_801B7378
/* 801B7340 001B42A0 80 01 00 94 */ lwz r0, 0x94(r1)
/* 801B7344 001B42A4 80 61 00 98 */ lwz r3, 0x98(r1)
/* 801B7348 001B42A8 90 1C 00 00 */ stw r0, 0(r28)
/* 801B734C 001B42AC 80 01 00 9C */ lwz r0, 0x9c(r1)
/* 801B7350 001B42B0 90 7C 00 04 */ stw r3, 4(r28)
/* 801B7354 001B42B4 C0 21 00 A0 */ lfs f1, 0xa0(r1)
/* 801B7358 001B42B8 90 1C 00 08 */ stw r0, 8(r28)
/* 801B735C 001B42BC C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 801B7360 001B42C0 D0 3C 00 0C */ stfs f1, 0xc(r28)
/* 801B7364 001B42C4 C0 21 00 A8 */ lfs f1, 0xa8(r1)
/* 801B7368 001B42C8 D0 1C 00 10 */ stfs f0, 0x10(r28)
/* 801B736C 001B42CC C0 01 00 AC */ lfs f0, 0xac(r1)
/* 801B7370 001B42D0 D0 3C 00 14 */ stfs f1, 0x14(r28)
/* 801B7374 001B42D4 D0 1C 00 18 */ stfs f0, 0x18(r28)
lbl_801B7378:
/* 801B7378 001B42D8 38 00 00 00 */ li r0, 0
/* 801B737C 001B42DC 98 01 00 B0 */ stb r0, 0xb0(r1)
lbl_801B7380:
/* 801B7380 001B42E0 3B 9C 00 1C */ addi r28, r28, 0x1c
/* 801B7384 001B42E4 3B 39 00 01 */ addi r25, r25, 1
lbl_801B7388:
/* 801B7388 001B42E8 80 1A 05 40 */ lwz r0, 0x540(r26)
/* 801B738C 001B42EC 7C 19 00 00 */ cmpw r25, r0
/* 801B7390 001B42F0 41 80 FF 30 */ blt lbl_801B72C0
/* 801B7394 001B42F4 3B A1 01 1C */ addi r29, r1, 0x11c
/* 801B7398 001B42F8 3B 80 00 00 */ li r28, 0
/* 801B739C 001B42FC 3B FD 00 04 */ addi r31, r29, 4
/* 801B73A0 001B4300 48 00 01 AC */ b lbl_801B754C
lbl_801B73A4:
/* 801B73A4 001B4304 C0 3E 00 14 */ lfs f1, 0x14(r30)
/* 801B73A8 001B4308 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 801B73AC 001B430C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801B73B0 001B4310 41 81 01 94 */ bgt lbl_801B7544
/* 801B73B4 001B4314 D0 3E 00 18 */ stfs f1, 0x18(r30)
/* 801B73B8 001B4318 38 61 00 7C */ addi r3, r1, 0x7c
/* 801B73BC 001B431C 38 81 00 30 */ addi r4, r1, 0x30
/* 801B73C0 001B4320 38 A1 00 24 */ addi r5, r1, 0x24
/* 801B73C4 001B4324 C0 3E 00 14 */ lfs f1, 0x14(r30)
/* 801B73C8 001B4328 C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 801B73CC 001B432C EC 01 00 2A */ fadds f0, f1, f0
/* 801B73D0 001B4330 D0 1E 00 14 */ stfs f0, 0x14(r30)
/* 801B73D4 001B4334 C0 FE 00 04 */ lfs f7, 4(r30)
/* 801B73D8 001B4338 C1 3E 00 14 */ lfs f9, 0x14(r30)
/* 801B73DC 001B433C C1 1E 00 08 */ lfs f8, 8(r30)
/* 801B73E0 001B4340 C0 5E 00 00 */ lfs f2, 0(r30)
/* 801B73E4 001B4344 EC C7 48 2A */ fadds f6, f7, f9
/* 801B73E8 001B4348 EC A8 48 2A */ fadds f5, f8, f9
/* 801B73EC 001B434C D0 41 00 4C */ stfs f2, 0x4c(r1)
/* 801B73F0 001B4350 EC 22 48 2A */ fadds f1, f2, f9
/* 801B73F4 001B4354 EC 87 48 28 */ fsubs f4, f7, f9
/* 801B73F8 001B4358 D0 E1 00 50 */ stfs f7, 0x50(r1)
/* 801B73FC 001B435C EC 68 48 28 */ fsubs f3, f8, f9
/* 801B7400 001B4360 EC 02 48 28 */ fsubs f0, f2, f9
/* 801B7404 001B4364 D1 01 00 54 */ stfs f8, 0x54(r1)
/* 801B7408 001B4368 D1 21 00 58 */ stfs f9, 0x58(r1)
/* 801B740C 001B436C C1 3E 00 18 */ lfs f9, 0x18(r30)
/* 801B7410 001B4370 D0 41 00 3C */ stfs f2, 0x3c(r1)
/* 801B7414 001B4374 D0 E1 00 40 */ stfs f7, 0x40(r1)
/* 801B7418 001B4378 D1 01 00 44 */ stfs f8, 0x44(r1)
/* 801B741C 001B437C D1 21 00 48 */ stfs f9, 0x48(r1)
/* 801B7420 001B4380 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 801B7424 001B4384 D0 C1 00 28 */ stfs f6, 0x28(r1)
/* 801B7428 001B4388 D0 A1 00 2C */ stfs f5, 0x2c(r1)
/* 801B742C 001B438C D0 01 00 30 */ stfs f0, 0x30(r1)
/* 801B7430 001B4390 D0 81 00 34 */ stfs f4, 0x34(r1)
/* 801B7434 001B4394 D0 61 00 38 */ stfs f3, 0x38(r1)
/* 801B7438 001B4398 48 18 10 D1 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 801B743C 001B439C C0 02 A9 84 */ lfs f0, lbl_805AC6A4@sda21(r2)
/* 801B7440 001B43A0 7F 43 D3 78 */ mr r3, r26
/* 801B7444 001B43A4 7F 64 DB 78 */ mr r4, r27
/* 801B7448 001B43A8 38 A1 00 7C */ addi r5, r1, 0x7c
/* 801B744C 001B43AC D0 1A 01 04 */ stfs f0, 0x104(r26)
/* 801B7450 001B43B0 38 C1 00 4C */ addi r6, r1, 0x4c
/* 801B7454 001B43B4 38 E1 00 3C */ addi r7, r1, 0x3c
/* 801B7458 001B43B8 4B FF EF F5 */ bl GenerateParticlesAgainstActors__10CIceImpactFR13CStateManagerRC6CAABoxRC7CSphereRC7CSphere
/* 801B745C 001B43BC 38 61 01 04 */ addi r3, r1, 0x104
/* 801B7460 001B43C0 38 81 00 7C */ addi r4, r1, 0x7c
/* 801B7464 001B43C4 48 0E C6 2D */ bl __ct__19CAreaCollisionCacheFRC6CAABox
/* 801B7468 001B43C8 7F 63 DB 78 */ mr r3, r27
/* 801B746C 001B43CC 38 81 01 04 */ addi r4, r1, 0x104
/* 801B7470 001B43D0 4B FC D2 55 */ bl BuildAreaCollisionCache__14CGameCollisionFRC13CStateManagerR19CAreaCollisionCache
/* 801B7474 001B43D4 7F F9 FB 78 */ mr r25, r31
/* 801B7478 001B43D8 3B 00 00 00 */ li r24, 0
/* 801B747C 001B43DC 48 00 00 24 */ b lbl_801B74A0
lbl_801B7480:
/* 801B7480 001B43E0 7F 43 D3 78 */ mr r3, r26
/* 801B7484 001B43E4 7F 64 DB 78 */ mr r4, r27
/* 801B7488 001B43E8 7F 25 CB 78 */ mr r5, r25
/* 801B748C 001B43EC 38 C1 00 4C */ addi r6, r1, 0x4c
/* 801B7490 001B43F0 38 E1 00 3C */ addi r7, r1, 0x3c
/* 801B7494 001B43F4 4B FF F2 DD */ bl GenerateParticlesAgainstWorld__10CIceImpactFR13CStateManagerRCQ220CMetroidAreaCollider16COctreeLeafCacheRC7CSphereRC7CSphere
/* 801B7498 001B43F8 3B 39 09 0C */ addi r25, r25, 0x90c
/* 801B749C 001B43FC 3B 18 00 01 */ addi r24, r24, 1
lbl_801B74A0:
/* 801B74A0 001B4400 80 01 01 1C */ lwz r0, 0x11c(r1)
/* 801B74A4 001B4404 7C 18 00 00 */ cmpw r24, r0
/* 801B74A8 001B4408 41 80 FF D8 */ blt lbl_801B7480
/* 801B74AC 001B440C 28 1D 00 00 */ cmplwi r29, 0
/* 801B74B0 001B4410 41 82 00 94 */ beq lbl_801B7544
/* 801B74B4 001B4414 7F E6 FB 78 */ mr r6, r31
/* 801B74B8 001B4418 38 60 00 00 */ li r3, 0
/* 801B74BC 001B441C 48 00 00 74 */ b lbl_801B7530
lbl_801B74C0:
/* 801B74C0 001B4420 28 06 00 00 */ cmplwi r6, 0
/* 801B74C4 001B4424 41 82 00 64 */ beq lbl_801B7528
/* 801B74C8 001B4428 34 06 00 04 */ addic. r0, r6, 4
/* 801B74CC 001B442C 41 82 00 5C */ beq lbl_801B7528
/* 801B74D0 001B4430 80 E6 00 04 */ lwz r7, 4(r6)
/* 801B74D4 001B4434 38 80 00 00 */ li r4, 0
/* 801B74D8 001B4438 2C 07 00 00 */ cmpwi r7, 0
/* 801B74DC 001B443C 40 81 00 44 */ ble lbl_801B7520
/* 801B74E0 001B4440 2C 07 00 08 */ cmpwi r7, 8
/* 801B74E4 001B4444 38 A7 FF F8 */ addi r5, r7, -8
/* 801B74E8 001B4448 40 81 00 20 */ ble lbl_801B7508
/* 801B74EC 001B444C 38 05 00 07 */ addi r0, r5, 7
/* 801B74F0 001B4450 54 00 E8 FE */ srwi r0, r0, 3
/* 801B74F4 001B4454 7C 09 03 A6 */ mtctr r0
/* 801B74F8 001B4458 2C 05 00 00 */ cmpwi r5, 0
/* 801B74FC 001B445C 40 81 00 0C */ ble lbl_801B7508
lbl_801B7500:
/* 801B7500 001B4460 38 84 00 08 */ addi r4, r4, 8
/* 801B7504 001B4464 42 00 FF FC */ bdnz lbl_801B7500
lbl_801B7508:
/* 801B7508 001B4468 7C 04 38 50 */ subf r0, r4, r7
/* 801B750C 001B446C 7C 09 03 A6 */ mtctr r0
/* 801B7510 001B4470 7C 04 38 00 */ cmpw r4, r7
/* 801B7514 001B4474 40 80 00 0C */ bge lbl_801B7520
lbl_801B7518:
/* 801B7518 001B4478 38 84 00 01 */ addi r4, r4, 1
/* 801B751C 001B447C 42 00 FF FC */ bdnz lbl_801B7518
lbl_801B7520:
/* 801B7520 001B4480 38 00 00 00 */ li r0, 0
/* 801B7524 001B4484 90 06 00 04 */ stw r0, 4(r6)
lbl_801B7528:
/* 801B7528 001B4488 38 C6 09 0C */ addi r6, r6, 0x90c
/* 801B752C 001B448C 38 63 00 01 */ addi r3, r3, 1
lbl_801B7530:
/* 801B7530 001B4490 80 01 01 1C */ lwz r0, 0x11c(r1)
/* 801B7534 001B4494 7C 03 00 00 */ cmpw r3, r0
/* 801B7538 001B4498 41 80 FF 88 */ blt lbl_801B74C0
/* 801B753C 001B449C 38 00 00 00 */ li r0, 0
/* 801B7540 001B44A0 90 01 01 1C */ stw r0, 0x11c(r1)
lbl_801B7544:
/* 801B7544 001B44A4 3B DE 00 1C */ addi r30, r30, 0x1c
/* 801B7548 001B44A8 3B 9C 00 01 */ addi r28, r28, 1
lbl_801B754C:
/* 801B754C 001B44AC 80 1A 05 40 */ lwz r0, 0x540(r26)
/* 801B7550 001B44B0 7C 1C 00 00 */ cmpw r28, r0
/* 801B7554 001B44B4 41 80 FE 50 */ blt lbl_801B73A4
lbl_801B7558:
/* 801B7558 001B44B8 80 7A 00 E8 */ lwz r3, 0xe8(r26)
/* 801B755C 001B44BC 3C 80 80 5A */ lis r4, sIdentity__12CTransform4f@ha
/* 801B7560 001B44C0 38 84 66 70 */ addi r4, r4, sIdentity__12CTransform4f@l
/* 801B7564 001B44C4 81 83 00 00 */ lwz r12, 0(r3)
/* 801B7568 001B44C8 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 801B756C 001B44CC 7D 89 03 A6 */ mtctr r12
/* 801B7570 001B44D0 4E 80 04 21 */ bctrl
/* 801B7574 001B44D4 80 7A 00 E8 */ lwz r3, 0xe8(r26)
/* 801B7578 001B44D8 FC 20 F8 90 */ fmr f1, f31
/* 801B757C 001B44DC 81 83 00 00 */ lwz r12, 0(r3)
/* 801B7580 001B44E0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801B7584 001B44E4 7D 89 03 A6 */ mtctr r12
/* 801B7588 001B44E8 4E 80 04 21 */ bctrl
/* 801B758C 001B44EC A0 7A 00 EC */ lhz r3, 0xec(r26)
/* 801B7590 001B44F0 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 801B7594 001B44F4 7C 03 00 40 */ cmplw r3, r0
/* 801B7598 001B44F8 41 82 00 60 */ beq lbl_801B75F8
/* 801B759C 001B44FC A0 1A 00 EC */ lhz r0, 0xec(r26)
/* 801B75A0 001B4500 7F 63 DB 78 */ mr r3, r27
/* 801B75A4 001B4504 38 81 00 10 */ addi r4, r1, 0x10
/* 801B75A8 001B4508 B0 01 00 10 */ sth r0, 0x10(r1)
/* 801B75AC 001B450C 4B E9 4F C9 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801B75B0 001B4510 7C 64 1B 78 */ mr r4, r3
/* 801B75B4 001B4514 38 61 00 1C */ addi r3, r1, 0x1c
/* 801B75B8 001B4518 4B EF 64 CD */ bl "__ct__24TCastToPtr<10CGameLight>FP7CEntity"
/* 801B75BC 001B451C 83 83 00 04 */ lwz r28, 4(r3)
/* 801B75C0 001B4520 28 1C 00 00 */ cmplwi r28, 0
/* 801B75C4 001B4524 41 82 00 34 */ beq lbl_801B75F8
/* 801B75C8 001B4528 88 1A 00 30 */ lbz r0, 0x30(r26)
/* 801B75CC 001B452C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801B75D0 001B4530 41 82 00 28 */ beq lbl_801B75F8
/* 801B75D4 001B4534 80 9A 00 E8 */ lwz r4, 0xe8(r26)
/* 801B75D8 001B4538 38 61 00 B4 */ addi r3, r1, 0xb4
/* 801B75DC 001B453C 81 84 00 00 */ lwz r12, 0(r4)
/* 801B75E0 001B4540 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 801B75E4 001B4544 7D 89 03 A6 */ mtctr r12
/* 801B75E8 001B4548 4E 80 04 21 */ bctrl
/* 801B75EC 001B454C 7F 83 E3 78 */ mr r3, r28
/* 801B75F0 001B4550 38 81 00 B4 */ addi r4, r1, 0xb4
/* 801B75F4 001B4554 4B EF E1 51 */ bl SetLight__10CGameLightFRC6CLight
lbl_801B75F8:
/* 801B75F8 001B4558 88 1A 05 98 */ lbz r0, 0x598(r26)
/* 801B75FC 001B455C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801B7600 001B4560 41 82 00 28 */ beq lbl_801B7628
/* 801B7604 001B4564 7F 63 DB 78 */ mr r3, r27
/* 801B7608 001B4568 4B E8 C9 35 */ bl GetPlayer__13CStateManagerCFv
/* 801B760C 001B456C 80 03 00 04 */ lwz r0, 4(r3)
/* 801B7610 001B4570 7F 63 DB 78 */ mr r3, r27
/* 801B7614 001B4574 7F 44 D3 78 */ mr r4, r26
/* 801B7618 001B4578 38 A1 00 18 */ addi r5, r1, 0x18
/* 801B761C 001B457C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801B7620 001B4580 90 01 00 18 */ stw r0, 0x18(r1)
/* 801B7624 001B4584 4B E8 DC 55 */ bl SetActorAreaId__13CStateManagerFR6CActor7TAreaId
lbl_801B7628:
/* 801B7628 001B4588 80 7A 00 E8 */ lwz r3, 0xe8(r26)
/* 801B762C 001B458C 81 83 00 00 */ lwz r12, 0(r3)
/* 801B7630 001B4590 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 801B7634 001B4594 7D 89 03 A6 */ mtctr r12
/* 801B7638 001B4598 4E 80 04 21 */ bctrl
/* 801B763C 001B459C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B7640 001B45A0 41 82 00 1C */ beq lbl_801B765C
/* 801B7644 001B45A4 A0 1A 00 08 */ lhz r0, 8(r26)
/* 801B7648 001B45A8 7F 63 DB 78 */ mr r3, r27
/* 801B764C 001B45AC 38 81 00 0C */ addi r4, r1, 0xc
/* 801B7650 001B45B0 B0 01 00 08 */ sth r0, 8(r1)
/* 801B7654 001B45B4 B0 01 00 0C */ sth r0, 0xc(r1)
/* 801B7658 001B45B8 4B E9 4C 15 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
lbl_801B765C:
/* 801B765C 001B45BC 38 00 1C 78 */ li r0, 0x1c78
/* 801B7660 001B45C0 13 E1 00 0C */ psq_lx f31, r1, r0, 0, qr0
/* 801B7664 001B45C4 CB E1 1C 70 */ lfd f31, 0x1c70(r1)
/* 801B7668 001B45C8 BB 01 1C 50 */ lmw r24, 0x1c50(r1)
/* 801B766C 001B45CC 80 01 1C 84 */ lwz r0, 0x1c84(r1)
/* 801B7670 001B45D0 7C 08 03 A6 */ mtlr r0
/* 801B7674 001B45D4 38 21 1C 80 */ addi r1, r1, 0x1c80
/* 801B7678 001B45D8 4E 80 00 20 */ blr
.global Render__10CIceImpactCFRC13CStateManager
Render__10CIceImpactCFRC13CStateManager:
/* 801B767C 001B45DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801B7680 001B45E0 7C 08 02 A6 */ mflr r0
/* 801B7684 001B45E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 801B7688 001B45E8 38 00 00 01 */ li r0, 1
/* 801B768C 001B45EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801B7690 001B45F0 7C 7F 1B 78 */ mr r31, r3
/* 801B7694 001B45F4 38 60 00 01 */ li r3, 1
/* 801B7698 001B45F8 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 801B769C 001B45FC 48 18 E1 4D */ bl SetRenderModelBlack__10CCubeModelFb
/* 801B76A0 001B4600 80 7F 00 E8 */ lwz r3, 0xe8(r31)
/* 801B76A4 001B4604 81 83 00 00 */ lwz r12, 0(r3)
/* 801B76A8 001B4608 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 801B76AC 001B460C 7D 89 03 A6 */ mtctr r12
/* 801B76B0 001B4610 4E 80 04 21 */ bctrl
/* 801B76B4 001B4614 38 00 00 00 */ li r0, 0
/* 801B76B8 001B4618 38 60 00 00 */ li r3, 0
/* 801B76BC 001B461C 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13)
/* 801B76C0 001B4620 48 18 E1 29 */ bl SetRenderModelBlack__10CCubeModelFb
/* 801B76C4 001B4624 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801B76C8 001B4628 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801B76CC 001B462C 7C 08 03 A6 */ mtlr r0
/* 801B76D0 001B4630 38 21 00 10 */ addi r1, r1, 0x10
/* 801B76D4 001B4634 4E 80 00 20 */ blr
.global AddToRenderer__10CIceImpactCFRC14CFrustumPlanesRC13CStateManager
AddToRenderer__10CIceImpactCFRC14CFrustumPlanesRC13CStateManager:
/* 801B76D8 001B4638 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801B76DC 001B463C 7C 08 02 A6 */ mflr r0
/* 801B76E0 001B4640 7C 64 1B 78 */ mr r4, r3
/* 801B76E4 001B4644 90 01 00 14 */ stw r0, 0x14(r1)
/* 801B76E8 001B4648 88 03 00 E4 */ lbz r0, 0xe4(r3)
/* 801B76EC 001B464C 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
/* 801B76F0 001B4650 40 82 00 34 */ bne lbl_801B7724
/* 801B76F4 001B4654 80 05 0F 34 */ lwz r0, 0xf34(r5)
/* 801B76F8 001B4658 2C 00 00 00 */ cmpwi r0, 0
/* 801B76FC 001B465C 40 82 00 10 */ bne lbl_801B770C
/* 801B7700 001B4660 7C A4 2B 78 */ mr r4, r5
/* 801B7704 001B4664 4B E9 D2 C9 */ bl EnsureRendered__6CActorCFRC13CStateManager
/* 801B7708 001B4668 48 00 00 1C */ b lbl_801B7724
lbl_801B770C:
/* 801B770C 001B466C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 801B7710 001B4670 80 84 00 E8 */ lwz r4, 0xe8(r4)
/* 801B7714 001B4674 81 83 00 00 */ lwz r12, 0(r3)
/* 801B7718 001B4678 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 801B771C 001B467C 7D 89 03 A6 */ mtctr r12
/* 801B7720 001B4680 4E 80 04 21 */ bctrl
lbl_801B7724:
/* 801B7724 001B4684 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801B7728 001B4688 7C 08 03 A6 */ mtlr r0
/* 801B772C 001B468C 38 21 00 10 */ addi r1, r1, 0x10
/* 801B7730 001B4690 4E 80 00 20 */ blr
.global PreRender__10CIceImpactFR13CStateManagerRC14CFrustumPlanes
PreRender__10CIceImpactFR13CStateManagerRC14CFrustumPlanes:
/* 801B7734 001B4694 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801B7738 001B4698 7C 08 02 A6 */ mflr r0
/* 801B773C 001B469C 90 01 00 24 */ stw r0, 0x24(r1)
/* 801B7740 001B46A0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801B7744 001B46A4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801B7748 001B46A8 7C BE 2B 78 */ mr r30, r5
/* 801B774C 001B46AC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801B7750 001B46B0 7C 7D 1B 78 */ mr r29, r3
/* 801B7754 001B46B4 4B E9 D5 8D */ bl PreRender__6CActorFR13CStateManagerRC14CFrustumPlanes
/* 801B7758 001B46B8 88 1D 05 98 */ lbz r0, 0x598(r29)
/* 801B775C 001B46BC 3B E0 00 00 */ li r31, 0
/* 801B7760 001B46C0 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 801B7764 001B46C4 41 82 00 18 */ beq lbl_801B777C
/* 801B7768 001B46C8 7F C3 F3 78 */ mr r3, r30
/* 801B776C 001B46CC 38 9D 00 9C */ addi r4, r29, 0x9c
/* 801B7770 001B46D0 48 18 DA 61 */ bl BoxInFrustumPlanes__14CFrustumPlanesCFRC6CAABox
/* 801B7774 001B46D4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B7778 001B46D8 40 82 00 08 */ bne lbl_801B7780
lbl_801B777C:
/* 801B777C 001B46DC 3B E0 00 01 */ li r31, 1
lbl_801B7780:
/* 801B7780 001B46E0 88 1D 00 E4 */ lbz r0, 0xe4(r29)
/* 801B7784 001B46E4 53 E0 0F BC */ rlwimi r0, r31, 1, 0x1e, 0x1e
/* 801B7788 001B46E8 98 1D 00 E4 */ stb r0, 0xe4(r29)
/* 801B778C 001B46EC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801B7790 001B46F0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801B7794 001B46F4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801B7798 001B46F8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801B779C 001B46FC 7C 08 03 A6 */ mtlr r0
/* 801B77A0 001B4700 38 21 00 20 */ addi r1, r1, 0x20
/* 801B77A4 001B4704 4E 80 00 20 */ blr
.global CalculateRenderBounds__10CIceImpactFv
CalculateRenderBounds__10CIceImpactFv:
/* 801B77A8 001B4708 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 801B77AC 001B470C 7C 08 02 A6 */ mflr r0
/* 801B77B0 001B4710 90 01 00 74 */ stw r0, 0x74(r1)
/* 801B77B4 001B4714 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 801B77B8 001B4718 7C 7F 1B 78 */ mr r31, r3
/* 801B77BC 001B471C 38 61 00 2C */ addi r3, r1, 0x2c
/* 801B77C0 001B4720 80 9F 00 E8 */ lwz r4, 0xe8(r31)
/* 801B77C4 001B4724 81 84 00 00 */ lwz r12, 0(r4)
/* 801B77C8 001B4728 81 8C 00 5C */ lwz r12, 0x5c(r12)
/* 801B77CC 001B472C 7D 89 03 A6 */ mtctr r12
/* 801B77D0 001B4730 4E 80 04 21 */ bctrl
/* 801B77D4 001B4734 88 01 00 44 */ lbz r0, 0x44(r1)
/* 801B77D8 001B4738 28 00 00 00 */ cmplwi r0, 0
/* 801B77DC 001B473C 98 01 00 60 */ stb r0, 0x60(r1)
/* 801B77E0 001B4740 41 82 00 3C */ beq lbl_801B781C
/* 801B77E4 001B4744 34 61 00 48 */ addic. r3, r1, 0x48
/* 801B77E8 001B4748 41 82 00 34 */ beq lbl_801B781C
/* 801B77EC 001B474C C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 801B77F0 001B4750 D0 03 00 00 */ stfs f0, 0(r3)
/* 801B77F4 001B4754 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 801B77F8 001B4758 D0 03 00 04 */ stfs f0, 4(r3)
/* 801B77FC 001B475C C0 01 00 34 */ lfs f0, 0x34(r1)
/* 801B7800 001B4760 D0 03 00 08 */ stfs f0, 8(r3)
/* 801B7804 001B4764 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 801B7808 001B4768 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 801B780C 001B476C C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 801B7810 001B4770 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 801B7814 001B4774 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 801B7818 001B4778 D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_801B781C:
/* 801B781C 001B477C 88 01 00 60 */ lbz r0, 0x60(r1)
/* 801B7820 001B4780 38 C0 00 00 */ li r6, 0
/* 801B7824 001B4784 98 C1 00 44 */ stb r6, 0x44(r1)
/* 801B7828 001B4788 28 00 00 00 */ cmplwi r0, 0
/* 801B782C 001B478C 41 82 00 48 */ beq lbl_801B7874
/* 801B7830 001B4790 88 1F 05 98 */ lbz r0, 0x598(r31)
/* 801B7834 001B4794 38 60 00 01 */ li r3, 1
/* 801B7838 001B4798 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 801B783C 001B479C 80 61 00 48 */ lwz r3, 0x48(r1)
/* 801B7840 001B47A0 98 1F 05 98 */ stb r0, 0x598(r31)
/* 801B7844 001B47A4 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 801B7848 001B47A8 90 7F 00 9C */ stw r3, 0x9c(r31)
/* 801B784C 001B47AC 80 61 00 50 */ lwz r3, 0x50(r1)
/* 801B7850 001B47B0 90 1F 00 A0 */ stw r0, 0xa0(r31)
/* 801B7854 001B47B4 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801B7858 001B47B8 90 7F 00 A4 */ stw r3, 0xa4(r31)
/* 801B785C 001B47BC 80 61 00 58 */ lwz r3, 0x58(r1)
/* 801B7860 001B47C0 90 1F 00 A8 */ stw r0, 0xa8(r31)
/* 801B7864 001B47C4 80 01 00 5C */ lwz r0, 0x5c(r1)
/* 801B7868 001B47C8 90 7F 00 AC */ stw r3, 0xac(r31)
/* 801B786C 001B47CC 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 801B7870 001B47D0 48 00 00 68 */ b lbl_801B78D8
lbl_801B7874:
/* 801B7874 001B47D4 C0 5F 00 60 */ lfs f2, 0x60(r31)
/* 801B7878 001B47D8 38 81 00 08 */ addi r4, r1, 8
/* 801B787C 001B47DC C0 3F 00 50 */ lfs f1, 0x50(r31)
/* 801B7880 001B47E0 7C 85 23 78 */ mr r5, r4
/* 801B7884 001B47E4 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 801B7888 001B47E8 38 61 00 14 */ addi r3, r1, 0x14
/* 801B788C 001B47EC D0 01 00 08 */ stfs f0, 8(r1)
/* 801B7890 001B47F0 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 801B7894 001B47F4 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 801B7898 001B47F8 88 1F 05 98 */ lbz r0, 0x598(r31)
/* 801B789C 001B47FC 50 C0 36 72 */ rlwimi r0, r6, 6, 0x19, 0x19
/* 801B78A0 001B4800 98 1F 05 98 */ stb r0, 0x598(r31)
/* 801B78A4 001B4804 48 18 0C 65 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 801B78A8 001B4808 80 61 00 14 */ lwz r3, 0x14(r1)
/* 801B78AC 001B480C 80 01 00 18 */ lwz r0, 0x18(r1)
/* 801B78B0 001B4810 90 7F 00 9C */ stw r3, 0x9c(r31)
/* 801B78B4 001B4814 90 1F 00 A0 */ stw r0, 0xa0(r31)
/* 801B78B8 001B4818 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 801B78BC 001B481C 90 1F 00 A4 */ stw r0, 0xa4(r31)
/* 801B78C0 001B4820 80 61 00 20 */ lwz r3, 0x20(r1)
/* 801B78C4 001B4824 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801B78C8 001B4828 90 7F 00 A8 */ stw r3, 0xa8(r31)
/* 801B78CC 001B482C 90 1F 00 AC */ stw r0, 0xac(r31)
/* 801B78D0 001B4830 80 01 00 28 */ lwz r0, 0x28(r1)
/* 801B78D4 001B4834 90 1F 00 B0 */ stw r0, 0xb0(r31)
lbl_801B78D8:
/* 801B78D8 001B4838 38 00 00 00 */ li r0, 0
/* 801B78DC 001B483C 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 801B78E0 001B4840 98 01 00 60 */ stb r0, 0x60(r1)
/* 801B78E4 001B4844 80 01 00 74 */ lwz r0, 0x74(r1)
/* 801B78E8 001B4848 7C 08 03 A6 */ mtlr r0
/* 801B78EC 001B484C 38 21 00 70 */ addi r1, r1, 0x70
/* 801B78F0 001B4850 4E 80 00 20 */ blr
.global __dt__10CIceImpactFv
__dt__10CIceImpactFv:
/* 801B78F4 001B4854 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801B78F8 001B4858 7C 08 02 A6 */ mflr r0
/* 801B78FC 001B485C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801B7900 001B4860 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801B7904 001B4864 7C 9F 23 78 */ mr r31, r4
/* 801B7908 001B4868 93 C1 00 08 */ stw r30, 8(r1)
/* 801B790C 001B486C 7C 7E 1B 79 */ or. r30, r3, r3
/* 801B7910 001B4870 41 82 01 28 */ beq lbl_801B7A38
/* 801B7914 001B4874 3C 60 80 3E */ lis r3, lbl_803E51E8@ha
/* 801B7918 001B4878 34 1E 05 40 */ addic. r0, r30, 0x540
/* 801B791C 001B487C 38 03 51 E8 */ addi r0, r3, lbl_803E51E8@l
/* 801B7920 001B4880 90 1E 00 00 */ stw r0, 0(r30)
/* 801B7924 001B4884 41 82 00 58 */ beq lbl_801B797C
/* 801B7928 001B4888 80 BE 05 40 */ lwz r5, 0x540(r30)
/* 801B792C 001B488C 38 60 00 00 */ li r3, 0
/* 801B7930 001B4890 2C 05 00 00 */ cmpwi r5, 0
/* 801B7934 001B4894 40 81 00 40 */ ble lbl_801B7974
/* 801B7938 001B4898 2C 05 00 08 */ cmpwi r5, 8
/* 801B793C 001B489C 38 85 FF F8 */ addi r4, r5, -8
/* 801B7940 001B48A0 40 81 00 20 */ ble lbl_801B7960
/* 801B7944 001B48A4 38 04 00 07 */ addi r0, r4, 7
/* 801B7948 001B48A8 54 00 E8 FE */ srwi r0, r0, 3
/* 801B794C 001B48AC 7C 09 03 A6 */ mtctr r0
/* 801B7950 001B48B0 2C 04 00 00 */ cmpwi r4, 0
/* 801B7954 001B48B4 40 81 00 0C */ ble lbl_801B7960
lbl_801B7958:
/* 801B7958 001B48B8 38 63 00 08 */ addi r3, r3, 8
/* 801B795C 001B48BC 42 00 FF FC */ bdnz lbl_801B7958
lbl_801B7960:
/* 801B7960 001B48C0 7C 03 28 50 */ subf r0, r3, r5
/* 801B7964 001B48C4 7C 09 03 A6 */ mtctr r0
/* 801B7968 001B48C8 7C 03 28 00 */ cmpw r3, r5
/* 801B796C 001B48CC 40 80 00 08 */ bge lbl_801B7974
lbl_801B7970:
/* 801B7970 001B48D0 42 00 00 00 */ bdnz lbl_801B7970
lbl_801B7974:
/* 801B7974 001B48D4 38 00 00 00 */ li r0, 0
/* 801B7978 001B48D8 90 1E 05 40 */ stw r0, 0x540(r30)
lbl_801B797C:
/* 801B797C 001B48DC 34 1E 01 18 */ addic. r0, r30, 0x118
/* 801B7980 001B48E0 41 82 00 60 */ beq lbl_801B79E0
/* 801B7984 001B48E4 34 1E 01 3C */ addic. r0, r30, 0x13c
/* 801B7988 001B48E8 41 82 00 58 */ beq lbl_801B79E0
/* 801B798C 001B48EC 80 BE 01 3C */ lwz r5, 0x13c(r30)
/* 801B7990 001B48F0 38 60 00 00 */ li r3, 0
/* 801B7994 001B48F4 2C 05 00 00 */ cmpwi r5, 0
/* 801B7998 001B48F8 40 81 00 40 */ ble lbl_801B79D8
/* 801B799C 001B48FC 2C 05 00 08 */ cmpwi r5, 8
/* 801B79A0 001B4900 38 85 FF F8 */ addi r4, r5, -8
/* 801B79A4 001B4904 40 81 00 20 */ ble lbl_801B79C4
/* 801B79A8 001B4908 38 04 00 07 */ addi r0, r4, 7
/* 801B79AC 001B490C 54 00 E8 FE */ srwi r0, r0, 3
/* 801B79B0 001B4910 7C 09 03 A6 */ mtctr r0
/* 801B79B4 001B4914 2C 04 00 00 */ cmpwi r4, 0
/* 801B79B8 001B4918 40 81 00 0C */ ble lbl_801B79C4
lbl_801B79BC:
/* 801B79BC 001B491C 38 63 00 08 */ addi r3, r3, 8
/* 801B79C0 001B4920 42 00 FF FC */ bdnz lbl_801B79BC
lbl_801B79C4:
/* 801B79C4 001B4924 7C 03 28 50 */ subf r0, r3, r5
/* 801B79C8 001B4928 7C 09 03 A6 */ mtctr r0
/* 801B79CC 001B492C 7C 03 28 00 */ cmpw r3, r5
/* 801B79D0 001B4930 40 80 00 08 */ bge lbl_801B79D8
lbl_801B79D4:
/* 801B79D4 001B4934 42 00 00 00 */ bdnz lbl_801B79D4
lbl_801B79D8:
/* 801B79D8 001B4938 38 00 00 00 */ li r0, 0
/* 801B79DC 001B493C 90 1E 01 3C */ stw r0, 0x13c(r30)
lbl_801B79E0:
/* 801B79E0 001B4940 34 1E 00 E8 */ addic. r0, r30, 0xe8
/* 801B79E4 001B4944 41 82 00 24 */ beq lbl_801B7A08
/* 801B79E8 001B4948 80 7E 00 E8 */ lwz r3, 0xe8(r30)
/* 801B79EC 001B494C 28 03 00 00 */ cmplwi r3, 0
/* 801B79F0 001B4950 41 82 00 18 */ beq lbl_801B7A08
/* 801B79F4 001B4954 81 83 00 00 */ lwz r12, 0(r3)
/* 801B79F8 001B4958 38 80 00 01 */ li r4, 1
/* 801B79FC 001B495C 81 8C 00 08 */ lwz r12, 8(r12)
/* 801B7A00 001B4960 7D 89 03 A6 */ mtctr r12
/* 801B7A04 001B4964 4E 80 04 21 */ bctrl
lbl_801B7A08:
/* 801B7A08 001B4968 28 1E 00 00 */ cmplwi r30, 0
/* 801B7A0C 001B496C 41 82 00 1C */ beq lbl_801B7A28
/* 801B7A10 001B4970 3C 80 80 3E */ lis r4, __vt__7CEffect@ha
/* 801B7A14 001B4974 7F C3 F3 78 */ mr r3, r30
/* 801B7A18 001B4978 38 04 A1 18 */ addi r0, r4, __vt__7CEffect@l
/* 801B7A1C 001B497C 38 80 00 00 */ li r4, 0
/* 801B7A20 001B4980 90 1E 00 00 */ stw r0, 0(r30)
/* 801B7A24 001B4984 4B E9 DC CD */ bl __dt__6CActorFv
lbl_801B7A28:
/* 801B7A28 001B4988 7F E0 07 35 */ extsh. r0, r31
/* 801B7A2C 001B498C 40 81 00 0C */ ble lbl_801B7A38
/* 801B7A30 001B4990 7F C3 F3 78 */ mr r3, r30
/* 801B7A34 001B4994 48 15 DE FD */ bl Free__7CMemoryFPCv
lbl_801B7A38:
/* 801B7A38 001B4998 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801B7A3C 001B499C 7F C3 F3 78 */ mr r3, r30
/* 801B7A40 001B49A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801B7A44 001B49A4 83 C1 00 08 */ lwz r30, 8(r1)
/* 801B7A48 001B49A8 7C 08 03 A6 */ mtlr r0
/* 801B7A4C 001B49AC 38 21 00 10 */ addi r1, r1, 0x10
/* 801B7A50 001B49B0 4E 80 00 20 */ blr
.global "__ct__10CIceImpactFRC31TLockedToken<15CGenDescription>9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC12CTransform4fUiRC9CVector3fRC6CColor"
"__ct__10CIceImpactFRC31TLockedToken<15CGenDescription>9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC12CTransform4fUiRC9CVector3fRC6CColor":
/* 801B7A54 001B49B4 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 801B7A58 001B49B8 7C 08 02 A6 */ mflr r0
/* 801B7A5C 001B49BC 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 801B7A60 001B49C0 BF 21 00 B4 */ stmw r25, 0xb4(r1)
/* 801B7A64 001B49C4 7C 7C 1B 78 */ mr r28, r3
/* 801B7A68 001B49C8 7C 9D 23 78 */ mr r29, r4
/* 801B7A6C 001B49CC 7C B9 2B 78 */ mr r25, r5
/* 801B7A70 001B49D0 7C FA 3B 78 */ mr r26, r7
/* 801B7A74 001B49D4 7D 1B 43 78 */ mr r27, r8
/* 801B7A78 001B49D8 7D 3E 4B 78 */ mr r30, r9
/* 801B7A7C 001B49DC 7D 5F 53 78 */ mr r31, r10
/* 801B7A80 001B49E0 38 61 00 8C */ addi r3, r1, 0x8c
/* 801B7A84 001B49E4 38 81 00 20 */ addi r4, r1, 0x20
/* 801B7A88 001B49E8 80 06 00 00 */ lwz r0, 0(r6)
/* 801B7A8C 001B49EC 3C C0 80 57 */ lis r6, NullConnectionList__7CEntity@ha
/* 801B7A90 001B49F0 81 6D A3 88 */ lwz r11, kInvalidEditorId@sda21(r13)
/* 801B7A94 001B49F4 90 01 00 20 */ stw r0, 0x20(r1)
/* 801B7A98 001B49F8 38 06 D4 10 */ addi r0, r6, NullConnectionList__7CEntity@l
/* 801B7A9C 001B49FC 7C 05 03 78 */ mr r5, r0
/* 801B7AA0 001B4A00 38 C1 00 1C */ addi r6, r1, 0x1c
/* 801B7AA4 001B4A04 91 61 00 1C */ stw r11, 0x1c(r1)
/* 801B7AA8 001B4A08 4B E9 99 DD */ bl "__ct__11CEntityInfoF7TAreaIdRCQ24rstl48vector<11SConnection,Q24rstl17rmemory_allocator>9TEditorId"
/* 801B7AAC 001B4A0C A0 19 00 00 */ lhz r0, 0(r25)
/* 801B7AB0 001B4A10 7F 83 E3 78 */ mr r3, r28
/* 801B7AB4 001B4A14 7F 46 D3 78 */ mr r6, r26
/* 801B7AB8 001B4A18 7F 67 DB 78 */ mr r7, r27
/* 801B7ABC 001B4A1C B0 01 00 08 */ sth r0, 8(r1)
/* 801B7AC0 001B4A20 7F C8 F3 78 */ mr r8, r30
/* 801B7AC4 001B4A24 38 81 00 08 */ addi r4, r1, 8
/* 801B7AC8 001B4A28 38 A1 00 8C */ addi r5, r1, 0x8c
/* 801B7ACC 001B4A2C 4B EA 32 85 */ bl "__ct__7CEffectF9TUniqueIdRC11CEntityInfobRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC12CTransform4f"
/* 801B7AD0 001B4A30 80 01 00 94 */ lwz r0, 0x94(r1)
/* 801B7AD4 001B4A34 80 61 00 9C */ lwz r3, 0x9c(r1)
/* 801B7AD8 001B4A38 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801B7ADC 001B4A3C 90 61 00 10 */ stw r3, 0x10(r1)
/* 801B7AE0 001B4A40 7C 64 1B 78 */ mr r4, r3
/* 801B7AE4 001B4A44 7C 03 02 14 */ add r0, r3, r0
/* 801B7AE8 001B4A48 90 61 00 0C */ stw r3, 0xc(r1)
/* 801B7AEC 001B4A4C 90 01 00 18 */ stw r0, 0x18(r1)
/* 801B7AF0 001B4A50 90 01 00 14 */ stw r0, 0x14(r1)
/* 801B7AF4 001B4A54 48 00 00 08 */ b lbl_801B7AFC
lbl_801B7AF8:
/* 801B7AF8 001B4A58 38 84 00 0C */ addi r4, r4, 0xc
lbl_801B7AFC:
/* 801B7AFC 001B4A5C 7C 04 00 40 */ cmplw r4, r0
/* 801B7B00 001B4A60 40 82 FF F8 */ bne lbl_801B7AF8
/* 801B7B04 001B4A64 28 03 00 00 */ cmplwi r3, 0
/* 801B7B08 001B4A68 41 82 00 08 */ beq lbl_801B7B10
/* 801B7B0C 001B4A6C 48 15 DE 25 */ bl Free__7CMemoryFPCv
lbl_801B7B10:
/* 801B7B10 001B4A70 3C 80 80 3E */ lis r4, lbl_803E51E8@ha
/* 801B7B14 001B4A74 3C 60 80 3D */ lis r3, lbl_803D1640@ha
/* 801B7B18 001B4A78 38 04 51 E8 */ addi r0, r4, lbl_803E51E8@l
/* 801B7B1C 001B4A7C 3B 20 00 00 */ li r25, 0
/* 801B7B20 001B4A80 90 1C 00 00 */ stw r0, 0(r28)
/* 801B7B24 001B4A84 38 83 16 40 */ addi r4, r3, lbl_803D1640@l
/* 801B7B28 001B4A88 38 60 03 40 */ li r3, 0x340
/* 801B7B2C 001B4A8C 38 A0 00 00 */ li r5, 0
/* 801B7B30 001B4A90 48 15 DD 3D */ bl __nw__FUlPCcPCc
/* 801B7B34 001B4A94 7C 7B 1B 79 */ or. r27, r3, r3
/* 801B7B38 001B4A98 41 82 00 2C */ beq lbl_801B7B64
/* 801B7B3C 001B4A9C 7F A4 EB 78 */ mr r4, r29
/* 801B7B40 001B4AA0 38 61 00 2C */ addi r3, r1, 0x2c
/* 801B7B44 001B4AA4 48 18 93 65 */ bl __ct__6CTokenFRC6CToken
/* 801B7B48 001B4AA8 7F 63 DB 78 */ mr r3, r27
/* 801B7B4C 001B4AAC 38 81 00 2C */ addi r4, r1, 0x2c
/* 801B7B50 001B4AB0 3B 20 00 01 */ li r25, 1
/* 801B7B54 001B4AB4 38 A0 00 01 */ li r5, 1
/* 801B7B58 001B4AB8 38 C0 00 01 */ li r6, 1
/* 801B7B5C 001B4ABC 48 16 78 85 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 801B7B60 001B4AC0 7C 7B 1B 78 */ mr r27, r3
lbl_801B7B64:
/* 801B7B64 001B4AC4 7F 20 07 75 */ extsb. r0, r25
/* 801B7B68 001B4AC8 93 7C 00 E8 */ stw r27, 0xe8(r28)
/* 801B7B6C 001B4ACC 41 82 00 10 */ beq lbl_801B7B7C
/* 801B7B70 001B4AD0 38 61 00 2C */ addi r3, r1, 0x2c
/* 801B7B74 001B4AD4 38 80 00 00 */ li r4, 0
/* 801B7B78 001B4AD8 48 18 92 C9 */ bl __dt__6CTokenFv
lbl_801B7B7C:
/* 801B7B7C 001B4ADC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 801B7B80 001B4AE0 7F A4 EB 78 */ mr r4, r29
/* 801B7B84 001B4AE4 38 61 00 24 */ addi r3, r1, 0x24
/* 801B7B88 001B4AE8 B0 1C 00 EC */ sth r0, 0xec(r28)
/* 801B7B8C 001B4AEC 48 18 93 1D */ bl __ct__6CTokenFRC6CToken
/* 801B7B90 001B4AF0 80 A1 00 24 */ lwz r5, 0x24(r1)
/* 801B7B94 001B4AF4 38 61 00 24 */ addi r3, r1, 0x24
/* 801B7B98 001B4AF8 38 80 00 00 */ li r4, 0
/* 801B7B9C 001B4AFC 80 05 00 08 */ lwz r0, 8(r5)
/* 801B7BA0 001B4B00 90 1C 00 F0 */ stw r0, 0xf0(r28)
/* 801B7BA4 001B4B04 48 18 92 9D */ bl __dt__6CTokenFv
/* 801B7BA8 001B4B08 C0 42 A9 84 */ lfs f2, lbl_805AC6A4@sda21(r2)
/* 801B7BAC 001B4B0C 38 00 00 00 */ li r0, 0
/* 801B7BB0 001B4B10 C0 02 A9 90 */ lfs f0, lbl_805AC6B0@sda21(r2)
/* 801B7BB4 001B4B14 38 61 00 74 */ addi r3, r1, 0x74
/* 801B7BB8 001B4B18 D0 5C 00 F4 */ stfs f2, 0xf4(r28)
/* 801B7BBC 001B4B1C 38 81 00 68 */ addi r4, r1, 0x68
/* 801B7BC0 001B4B20 C0 22 A9 94 */ lfs f1, lbl_805AC6B4@sda21(r2)
/* 801B7BC4 001B4B24 38 A1 00 50 */ addi r5, r1, 0x50
/* 801B7BC8 001B4B28 D0 1C 00 F8 */ stfs f0, 0xf8(r28)
/* 801B7BCC 001B4B2C C0 02 A9 80 */ lfs f0, lbl_805AC6A0@sda21(r2)
/* 801B7BD0 001B4B30 90 1C 00 FC */ stw r0, 0xfc(r28)
/* 801B7BD4 001B4B34 D0 3C 01 00 */ stfs f1, 0x100(r28)
/* 801B7BD8 001B4B38 D0 5C 01 04 */ stfs f2, 0x104(r28)
/* 801B7BDC 001B4B3C C0 3C 01 00 */ lfs f1, 0x100(r28)
/* 801B7BE0 001B4B40 C0 7C 00 60 */ lfs f3, 0x60(r28)
/* 801B7BE4 001B4B44 C0 5C 00 50 */ lfs f2, 0x50(r28)
/* 801B7BE8 001B4B48 EC 21 00 28 */ fsubs f1, f1, f0
/* 801B7BEC 001B4B4C C0 1C 00 40 */ lfs f0, 0x40(r28)
/* 801B7BF0 001B4B50 D0 1C 01 08 */ stfs f0, 0x108(r28)
/* 801B7BF4 001B4B54 D0 5C 01 0C */ stfs f2, 0x10c(r28)
/* 801B7BF8 001B4B58 D0 7C 01 10 */ stfs f3, 0x110(r28)
/* 801B7BFC 001B4B5C D0 3C 01 14 */ stfs f1, 0x114(r28)
/* 801B7C00 001B4B60 C1 1E 00 2C */ lfs f8, 0x2c(r30)
/* 801B7C04 001B4B64 C0 1C 01 00 */ lfs f0, 0x100(r28)
/* 801B7C08 001B4B68 C0 FE 00 1C */ lfs f7, 0x1c(r30)
/* 801B7C0C 001B4B6C C0 5E 00 0C */ lfs f2, 0xc(r30)
/* 801B7C10 001B4B70 EC A8 00 2A */ fadds f5, f8, f0
/* 801B7C14 001B4B74 EC C7 00 2A */ fadds f6, f7, f0
/* 801B7C18 001B4B78 D0 E1 00 48 */ stfs f7, 0x48(r1)
/* 801B7C1C 001B4B7C EC 22 00 2A */ fadds f1, f2, f0
/* 801B7C20 001B4B80 EC 87 00 28 */ fsubs f4, f7, f0
/* 801B7C24 001B4B84 D0 41 00 44 */ stfs f2, 0x44(r1)
/* 801B7C28 001B4B88 EC 68 00 28 */ fsubs f3, f8, f0
/* 801B7C2C 001B4B8C EC 02 00 28 */ fsubs f0, f2, f0
/* 801B7C30 001B4B90 D1 01 00 4C */ stfs f8, 0x4c(r1)
/* 801B7C34 001B4B94 D0 21 00 50 */ stfs f1, 0x50(r1)
/* 801B7C38 001B4B98 D0 C1 00 54 */ stfs f6, 0x54(r1)
/* 801B7C3C 001B4B9C D0 A1 00 58 */ stfs f5, 0x58(r1)
/* 801B7C40 001B4BA0 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 801B7C44 001B4BA4 D0 E1 00 60 */ stfs f7, 0x60(r1)
/* 801B7C48 001B4BA8 D1 01 00 64 */ stfs f8, 0x64(r1)
/* 801B7C4C 001B4BAC D0 01 00 68 */ stfs f0, 0x68(r1)
/* 801B7C50 001B4BB0 D0 81 00 6C */ stfs f4, 0x6c(r1)
/* 801B7C54 001B4BB4 D0 61 00 70 */ stfs f3, 0x70(r1)
/* 801B7C58 001B4BB8 48 18 08 B1 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 801B7C5C 001B4BBC 7C 64 1B 78 */ mr r4, r3
/* 801B7C60 001B4BC0 38 7C 01 18 */ addi r3, r28, 0x118
/* 801B7C64 001B4BC4 48 00 07 01 */ bl __ct__11CMarkerGridFRC6CAABox
/* 801B7C68 001B4BC8 38 A0 00 00 */ li r5, 0
/* 801B7C6C 001B4BCC 38 60 00 02 */ li r3, 2
/* 801B7C70 001B4BD0 90 BC 05 40 */ stw r5, 0x540(r28)
/* 801B7C74 001B4BD4 38 DC 05 40 */ addi r6, r28, 0x540
/* 801B7C78 001B4BD8 88 1C 05 98 */ lbz r0, 0x598(r28)
/* 801B7C7C 001B4BDC 53 E0 36 30 */ rlwimi r0, r31, 6, 0x18, 0x18
/* 801B7C80 001B4BE0 98 1C 05 98 */ stb r0, 0x598(r28)
/* 801B7C84 001B4BE4 88 1C 05 98 */ lbz r0, 0x598(r28)
/* 801B7C88 001B4BE8 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19
/* 801B7C8C 001B4BEC 98 1C 05 98 */ stb r0, 0x598(r28)
/* 801B7C90 001B4BF0 88 1C 00 E6 */ lbz r0, 0xe6(r28)
/* 801B7C94 001B4BF4 50 60 1E F8 */ rlwimi r0, r3, 3, 0x1b, 0x1c
/* 801B7C98 001B4BF8 98 1C 00 E6 */ stb r0, 0xe6(r28)
/* 801B7C9C 001B4BFC 80 1C 05 40 */ lwz r0, 0x540(r28)
/* 801B7CA0 001B4C00 C0 7C 00 60 */ lfs f3, 0x60(r28)
/* 801B7CA4 001B4C04 1C 00 00 1C */ mulli r0, r0, 0x1c
/* 801B7CA8 001B4C08 C0 3C 00 50 */ lfs f1, 0x50(r28)
/* 801B7CAC 001B4C0C C0 1C 00 40 */ lfs f0, 0x40(r28)
/* 801B7CB0 001B4C10 7C 66 02 14 */ add r3, r6, r0
/* 801B7CB4 001B4C14 34 63 00 04 */ addic. r3, r3, 4
/* 801B7CB8 001B4C18 41 82 00 2C */ beq lbl_801B7CE4
/* 801B7CBC 001B4C1C D0 03 00 00 */ stfs f0, 0(r3)
/* 801B7CC0 001B4C20 C0 42 A9 98 */ lfs f2, lbl_805AC6B8@sda21(r2)
/* 801B7CC4 001B4C24 D0 23 00 04 */ stfs f1, 4(r3)
/* 801B7CC8 001B4C28 C0 22 A9 80 */ lfs f1, lbl_805AC6A0@sda21(r2)
/* 801B7CCC 001B4C2C D0 63 00 08 */ stfs f3, 8(r3)
/* 801B7CD0 001B4C30 C0 02 A9 84 */ lfs f0, lbl_805AC6A4@sda21(r2)
/* 801B7CD4 001B4C34 D0 43 00 0C */ stfs f2, 0xc(r3)
/* 801B7CD8 001B4C38 D0 23 00 10 */ stfs f1, 0x10(r3)
/* 801B7CDC 001B4C3C D0 03 00 14 */ stfs f0, 0x14(r3)
/* 801B7CE0 001B4C40 D0 03 00 18 */ stfs f0, 0x18(r3)
lbl_801B7CE4:
/* 801B7CE4 001B4C44 80 7C 05 40 */ lwz r3, 0x540(r28)
/* 801B7CE8 001B4C48 38 9C 05 40 */ addi r4, r28, 0x540
/* 801B7CEC 001B4C4C 38 03 00 01 */ addi r0, r3, 1
/* 801B7CF0 001B4C50 90 1C 05 40 */ stw r0, 0x540(r28)
/* 801B7CF4 001B4C54 80 1C 05 40 */ lwz r0, 0x540(r28)
/* 801B7CF8 001B4C58 C0 7C 00 60 */ lfs f3, 0x60(r28)
/* 801B7CFC 001B4C5C 1C 00 00 1C */ mulli r0, r0, 0x1c
/* 801B7D00 001B4C60 C0 5C 00 50 */ lfs f2, 0x50(r28)
/* 801B7D04 001B4C64 C0 1C 00 40 */ lfs f0, 0x40(r28)
/* 801B7D08 001B4C68 7C 64 02 14 */ add r3, r4, r0
/* 801B7D0C 001B4C6C 34 63 00 04 */ addic. r3, r3, 4
/* 801B7D10 001B4C70 41 82 00 28 */ beq lbl_801B7D38
/* 801B7D14 001B4C74 D0 03 00 00 */ stfs f0, 0(r3)
/* 801B7D18 001B4C78 C0 22 A9 84 */ lfs f1, lbl_805AC6A4@sda21(r2)
/* 801B7D1C 001B4C7C D0 43 00 04 */ stfs f2, 4(r3)
/* 801B7D20 001B4C80 C0 02 A9 68 */ lfs f0, lbl_805AC688@sda21(r2)
/* 801B7D24 001B4C84 D0 63 00 08 */ stfs f3, 8(r3)
/* 801B7D28 001B4C88 D0 23 00 0C */ stfs f1, 0xc(r3)
/* 801B7D2C 001B4C8C D0 03 00 10 */ stfs f0, 0x10(r3)
/* 801B7D30 001B4C90 D0 23 00 14 */ stfs f1, 0x14(r3)
/* 801B7D34 001B4C94 D0 23 00 18 */ stfs f1, 0x18(r3)
lbl_801B7D38:
/* 801B7D38 001B4C98 80 BC 05 40 */ lwz r5, 0x540(r28)
/* 801B7D3C 001B4C9C 38 05 00 01 */ addi r0, r5, 1
/* 801B7D40 001B4CA0 90 1C 05 40 */ stw r0, 0x540(r28)
/* 801B7D44 001B4CA4 C0 3C 05 74 */ lfs f1, 0x574(r28)
/* 801B7D48 001B4CA8 D0 3C 05 78 */ stfs f1, 0x578(r28)
/* 801B7D4C 001B4CAC C0 5C 05 74 */ lfs f2, 0x574(r28)
/* 801B7D50 001B4CB0 C0 3C 05 70 */ lfs f1, 0x570(r28)
/* 801B7D54 001B4CB4 EC 22 08 2A */ fadds f1, f2, f1
/* 801B7D58 001B4CB8 D0 3C 05 74 */ stfs f1, 0x574(r28)
/* 801B7D5C 001B4CBC 80 04 00 00 */ lwz r0, 0(r4)
/* 801B7D60 001B4CC0 C0 7C 00 60 */ lfs f3, 0x60(r28)
/* 801B7D64 001B4CC4 1C 00 00 1C */ mulli r0, r0, 0x1c
/* 801B7D68 001B4CC8 C0 5C 00 50 */ lfs f2, 0x50(r28)
/* 801B7D6C 001B4CCC C0 1C 00 40 */ lfs f0, 0x40(r28)
/* 801B7D70 001B4CD0 7C 64 02 14 */ add r3, r4, r0
/* 801B7D74 001B4CD4 34 63 00 04 */ addic. r3, r3, 4
/* 801B7D78 001B4CD8 41 82 00 28 */ beq lbl_801B7DA0
/* 801B7D7C 001B4CDC D0 03 00 00 */ stfs f0, 0(r3)
/* 801B7D80 001B4CE0 C0 22 A9 84 */ lfs f1, lbl_805AC6A4@sda21(r2)
/* 801B7D84 001B4CE4 D0 43 00 04 */ stfs f2, 4(r3)
/* 801B7D88 001B4CE8 C0 02 A9 68 */ lfs f0, lbl_805AC688@sda21(r2)
/* 801B7D8C 001B4CEC D0 63 00 08 */ stfs f3, 8(r3)
/* 801B7D90 001B4CF0 D0 23 00 0C */ stfs f1, 0xc(r3)
/* 801B7D94 001B4CF4 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 801B7D98 001B4CF8 D0 23 00 14 */ stfs f1, 0x14(r3)
/* 801B7D9C 001B4CFC D0 23 00 18 */ stfs f1, 0x18(r3)
lbl_801B7DA0:
/* 801B7DA0 001B4D00 80 BC 05 40 */ lwz r5, 0x540(r28)
/* 801B7DA4 001B4D04 38 7C 01 18 */ addi r3, r28, 0x118
/* 801B7DA8 001B4D08 C0 02 A9 98 */ lfs f0, lbl_805AC6B8@sda21(r2)
/* 801B7DAC 001B4D0C 38 81 00 34 */ addi r4, r1, 0x34
/* 801B7DB0 001B4D10 38 05 00 01 */ addi r0, r5, 1
/* 801B7DB4 001B4D14 38 A0 00 02 */ li r5, 2
/* 801B7DB8 001B4D18 90 1C 05 40 */ stw r0, 0x540(r28)
/* 801B7DBC 001B4D1C C0 3C 05 90 */ lfs f1, 0x590(r28)
/* 801B7DC0 001B4D20 D0 3C 05 94 */ stfs f1, 0x594(r28)
/* 801B7DC4 001B4D24 C0 5C 05 90 */ lfs f2, 0x590(r28)
/* 801B7DC8 001B4D28 C0 3C 05 8C */ lfs f1, 0x58c(r28)
/* 801B7DCC 001B4D2C EC 22 08 2A */ fadds f1, f2, f1
/* 801B7DD0 001B4D30 D0 3C 05 90 */ stfs f1, 0x590(r28)
/* 801B7DD4 001B4D34 C0 7C 00 60 */ lfs f3, 0x60(r28)
/* 801B7DD8 001B4D38 C0 5C 00 50 */ lfs f2, 0x50(r28)
/* 801B7DDC 001B4D3C C0 3C 00 40 */ lfs f1, 0x40(r28)
/* 801B7DE0 001B4D40 D0 21 00 34 */ stfs f1, 0x34(r1)
/* 801B7DE4 001B4D44 D0 41 00 38 */ stfs f2, 0x38(r1)
/* 801B7DE8 001B4D48 D0 61 00 3C */ stfs f3, 0x3c(r1)
/* 801B7DEC 001B4D4C D0 01 00 40 */ stfs f0, 0x40(r1)
/* 801B7DF0 001B4D50 48 00 00 B9 */ bl MarkCells__11CMarkerGridFRC7CSphereUi
/* 801B7DF4 001B4D54 7F 83 E3 78 */ mr r3, r28
/* 801B7DF8 001B4D58 BB 21 00 B4 */ lmw r25, 0xb4(r1)
/* 801B7DFC 001B4D5C 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 801B7E00 001B4D60 7C 08 03 A6 */ mtlr r0
/* 801B7E04 001B4D64 38 21 00 D0 */ addi r1, r1, 0xd0
/* 801B7E08 001B4D68 4E 80 00 20 */ blr
.global GetWorldPositionForCell__11CMarkerGridCFUiUiUi
GetWorldPositionForCell__11CMarkerGridCFUiUiUi:
/* 801B7E0C 001B4D6C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801B7E10 001B4D70 3C 00 43 30 */ lis r0, 0x4330
/* 801B7E14 001B4D74 C9 22 A9 A0 */ lfd f9, lbl_805AC6C0@sda21(r2)
/* 801B7E18 001B4D78 90 A1 00 1C */ stw r5, 0x1c(r1)
/* 801B7E1C 001B4D7C C0 24 00 18 */ lfs f1, 0x18(r4)
/* 801B7E20 001B4D80 90 01 00 18 */ stw r0, 0x18(r1)
/* 801B7E24 001B4D84 C0 C2 A9 74 */ lfs f6, lbl_805AC694@sda21(r2)
/* 801B7E28 001B4D88 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 801B7E2C 001B4D8C 90 C1 00 0C */ stw r6, 0xc(r1)
/* 801B7E30 001B4D90 EC 40 48 28 */ fsubs f2, f0, f9
/* 801B7E34 001B4D94 C0 84 00 1C */ lfs f4, 0x1c(r4)
/* 801B7E38 001B4D98 90 01 00 08 */ stw r0, 8(r1)
/* 801B7E3C 001B4D9C EC 06 00 72 */ fmuls f0, f6, f1
/* 801B7E40 001B4DA0 C0 64 00 20 */ lfs f3, 0x20(r4)
/* 801B7E44 001B4DA4 C8 A1 00 08 */ lfd f5, 8(r1)
/* 801B7E48 001B4DA8 EC 42 00 72 */ fmuls f2, f2, f1
/* 801B7E4C 001B4DAC C0 24 00 00 */ lfs f1, 0(r4)
/* 801B7E50 001B4DB0 EC E5 48 28 */ fsubs f7, f5, f9
/* 801B7E54 001B4DB4 90 E1 00 14 */ stw r7, 0x14(r1)
/* 801B7E58 001B4DB8 EC A6 01 32 */ fmuls f5, f6, f4
/* 801B7E5C 001B4DBC EC 22 08 2A */ fadds f1, f2, f1
/* 801B7E60 001B4DC0 ED 07 01 32 */ fmuls f8, f7, f4
/* 801B7E64 001B4DC4 90 01 00 10 */ stw r0, 0x10(r1)
/* 801B7E68 001B4DC8 C0 E4 00 04 */ lfs f7, 4(r4)
/* 801B7E6C 001B4DCC C8 81 00 10 */ lfd f4, 0x10(r1)
/* 801B7E70 001B4DD0 EC 01 00 2A */ fadds f0, f1, f0
/* 801B7E74 001B4DD4 C0 44 00 08 */ lfs f2, 8(r4)
/* 801B7E78 001B4DD8 EC 26 00 F2 */ fmuls f1, f6, f3
/* 801B7E7C 001B4DDC EC 84 48 28 */ fsubs f4, f4, f9
/* 801B7E80 001B4DE0 D0 03 00 00 */ stfs f0, 0(r3)
/* 801B7E84 001B4DE4 EC C8 38 2A */ fadds f6, f8, f7
/* 801B7E88 001B4DE8 EC 04 00 F2 */ fmuls f0, f4, f3
/* 801B7E8C 001B4DEC EC 66 28 2A */ fadds f3, f6, f5
/* 801B7E90 001B4DF0 EC 00 10 2A */ fadds f0, f0, f2
/* 801B7E94 001B4DF4 D0 63 00 04 */ stfs f3, 4(r3)
/* 801B7E98 001B4DF8 EC 00 08 2A */ fadds f0, f0, f1
/* 801B7E9C 001B4DFC D0 03 00 08 */ stfs f0, 8(r3)
/* 801B7EA0 001B4E00 38 21 00 20 */ addi r1, r1, 0x20
/* 801B7EA4 001B4E04 4E 80 00 20 */ blr
.global MarkCells__11CMarkerGridFRC7CSphereUi
MarkCells__11CMarkerGridFRC7CSphereUi:
/* 801B7EA8 001B4E08 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801B7EAC 001B4E0C 7C 08 02 A6 */ mflr r0
/* 801B7EB0 001B4E10 90 01 00 54 */ stw r0, 0x54(r1)
/* 801B7EB4 001B4E14 38 C1 00 0C */ addi r6, r1, 0xc
/* 801B7EB8 001B4E18 38 E1 00 08 */ addi r7, r1, 8
/* 801B7EBC 001B4E1C BF 01 00 30 */ stmw r24, 0x30(r1)
/* 801B7EC0 001B4E20 7C BD 2B 78 */ mr r29, r5
/* 801B7EC4 001B4E24 7C 7C 1B 78 */ mr r28, r3
/* 801B7EC8 001B4E28 38 A1 00 10 */ addi r5, r1, 0x10
/* 801B7ECC 001B4E2C C0 A3 00 18 */ lfs f5, 0x18(r3)
/* 801B7ED0 001B4E30 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 801B7ED4 001B4E34 C0 63 00 1C */ lfs f3, 0x1c(r3)
/* 801B7ED8 001B4E38 EC 80 28 28 */ fsubs f4, f0, f5
/* 801B7EDC 001B4E3C C0 23 00 20 */ lfs f1, 0x20(r3)
/* 801B7EE0 001B4E40 EC 40 18 28 */ fsubs f2, f0, f3
/* 801B7EE4 001B4E44 EC 00 08 28 */ fsubs f0, f0, f1
/* 801B7EE8 001B4E48 EC 84 28 24 */ fdivs f4, f4, f5
/* 801B7EEC 001B4E4C EC 42 18 24 */ fdivs f2, f2, f3
/* 801B7EF0 001B4E50 EC 00 08 24 */ fdivs f0, f0, f1
/* 801B7EF4 001B4E54 FC 60 20 1E */ fctiwz f3, f4
/* 801B7EF8 001B4E58 FC 20 10 1E */ fctiwz f1, f2
/* 801B7EFC 001B4E5C FC 00 00 1E */ fctiwz f0, f0
/* 801B7F00 001B4E60 D8 61 00 18 */ stfd f3, 0x18(r1)
/* 801B7F04 001B4E64 D8 21 00 20 */ stfd f1, 0x20(r1)
/* 801B7F08 001B4E68 83 61 00 1C */ lwz r27, 0x1c(r1)
/* 801B7F0C 001B4E6C D8 01 00 28 */ stfd f0, 0x28(r1)
/* 801B7F10 001B4E70 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 801B7F14 001B4E74 83 C1 00 2C */ lwz r30, 0x2c(r1)
/* 801B7F18 001B4E78 48 00 03 61 */ bl GetCoords__11CMarkerGridCFRC9CVector3fRUiRUiRUi
/* 801B7F1C 001B4E7C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B7F20 001B4E80 41 82 00 8C */ beq lbl_801B7FAC
/* 801B7F24 001B4E84 80 01 00 08 */ lwz r0, 8(r1)
/* 801B7F28 001B4E88 7F 5B 00 50 */ subf r26, r27, r0
/* 801B7F2C 001B4E8C 48 00 00 70 */ b lbl_801B7F9C
lbl_801B7F30:
/* 801B7F30 001B4E90 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801B7F34 001B4E94 7F 3F 00 50 */ subf r25, r31, r0
/* 801B7F38 001B4E98 48 00 00 50 */ b lbl_801B7F88
lbl_801B7F3C:
/* 801B7F3C 001B4E9C 80 01 00 10 */ lwz r0, 0x10(r1)
/* 801B7F40 001B4EA0 7F 1E 00 50 */ subf r24, r30, r0
/* 801B7F44 001B4EA4 48 00 00 30 */ b lbl_801B7F74
lbl_801B7F48:
/* 801B7F48 001B4EA8 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 801B7F4C 001B4EAC 7F 83 E3 78 */ mr r3, r28
/* 801B7F50 001B4EB0 80 C1 00 08 */ lwz r6, 8(r1)
/* 801B7F54 001B4EB4 48 00 03 DD */ bl GetValue__11CMarkerGridCFUiUiUi
/* 801B7F58 001B4EB8 7F A7 1B 78 */ or r7, r29, r3
/* 801B7F5C 001B4EBC 7F 83 E3 78 */ mr r3, r28
/* 801B7F60 001B4EC0 7F 04 C3 78 */ mr r4, r24
/* 801B7F64 001B4EC4 7F 25 CB 78 */ mr r5, r25
/* 801B7F68 001B4EC8 7F 46 D3 78 */ mr r6, r26
/* 801B7F6C 001B4ECC 48 00 02 D1 */ bl SetValue__11CMarkerGridFUiUiUiUi
/* 801B7F70 001B4ED0 3B 18 00 01 */ addi r24, r24, 1
lbl_801B7F74:
/* 801B7F74 001B4ED4 80 81 00 10 */ lwz r4, 0x10(r1)
/* 801B7F78 001B4ED8 7C 04 F2 14 */ add r0, r4, r30
/* 801B7F7C 001B4EDC 7C 18 00 40 */ cmplw r24, r0
/* 801B7F80 001B4EE0 41 80 FF C8 */ blt lbl_801B7F48
/* 801B7F84 001B4EE4 3B 39 00 01 */ addi r25, r25, 1
lbl_801B7F88:
/* 801B7F88 001B4EE8 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801B7F8C 001B4EEC 7C 00 FA 14 */ add r0, r0, r31
/* 801B7F90 001B4EF0 7C 19 00 40 */ cmplw r25, r0
/* 801B7F94 001B4EF4 41 80 FF A8 */ blt lbl_801B7F3C
/* 801B7F98 001B4EF8 3B 5A 00 01 */ addi r26, r26, 1
lbl_801B7F9C:
/* 801B7F9C 001B4EFC 80 01 00 08 */ lwz r0, 8(r1)
/* 801B7FA0 001B4F00 7C 00 DA 14 */ add r0, r0, r27
/* 801B7FA4 001B4F04 7C 1A 00 40 */ cmplw r26, r0
/* 801B7FA8 001B4F08 41 80 FF 88 */ blt lbl_801B7F30
lbl_801B7FAC:
/* 801B7FAC 001B4F0C BB 01 00 30 */ lmw r24, 0x30(r1)
/* 801B7FB0 001B4F10 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801B7FB4 001B4F14 7C 08 03 A6 */ mtlr r0
/* 801B7FB8 001B4F18 38 21 00 50 */ addi r1, r1, 0x50
/* 801B7FBC 001B4F1C 4E 80 00 20 */ blr
.global AABoxTouchesData__11CMarkerGridCFRC6CAABoxUi
AABoxTouchesData__11CMarkerGridCFRC6CAABoxUi:
/* 801B7FC0 001B4F20 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 801B7FC4 001B4F24 7C 08 02 A6 */ mflr r0
/* 801B7FC8 001B4F28 90 01 00 84 */ stw r0, 0x84(r1)
/* 801B7FCC 001B4F2C BF 61 00 6C */ stmw r27, 0x6c(r1)
/* 801B7FD0 001B4F30 7C 7C 1B 78 */ mr r28, r3
/* 801B7FD4 001B4F34 7C 9D 23 78 */ mr r29, r4
/* 801B7FD8 001B4F38 7C BE 2B 78 */ mr r30, r5
/* 801B7FDC 001B4F3C 48 17 FB A9 */ bl DoBoundsOverlap__6CAABoxCFRC6CAABox
/* 801B7FE0 001B4F40 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B7FE4 001B4F44 40 82 00 0C */ bne lbl_801B7FF0
/* 801B7FE8 001B4F48 38 60 00 00 */ li r3, 0
/* 801B7FEC 001B4F4C 48 00 02 3C */ b lbl_801B8228
lbl_801B7FF0:
/* 801B7FF0 001B4F50 C0 BD 00 00 */ lfs f5, 0(r29)
/* 801B7FF4 001B4F54 7F 84 E3 78 */ mr r4, r28
/* 801B7FF8 001B4F58 C0 9D 00 04 */ lfs f4, 4(r29)
/* 801B7FFC 001B4F5C 3B E1 00 5C */ addi r31, r1, 0x5c
/* 801B8000 001B4F60 C0 7D 00 08 */ lfs f3, 8(r29)
/* 801B8004 001B4F64 38 61 00 50 */ addi r3, r1, 0x50
/* 801B8008 001B4F68 C0 5D 00 0C */ lfs f2, 0xc(r29)
/* 801B800C 001B4F6C C0 3D 00 10 */ lfs f1, 0x10(r29)
/* 801B8010 001B4F70 C0 1D 00 14 */ lfs f0, 0x14(r29)
/* 801B8014 001B4F74 D0 A1 00 50 */ stfs f5, 0x50(r1)
/* 801B8018 001B4F78 D0 81 00 54 */ stfs f4, 0x54(r1)
/* 801B801C 001B4F7C D0 61 00 58 */ stfs f3, 0x58(r1)
/* 801B8020 001B4F80 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 801B8024 001B4F84 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 801B8028 001B4F88 D0 01 00 64 */ stfs f0, 0x64(r1)
/* 801B802C 001B4F8C 48 17 FA 55 */ bl Inside__6CAABoxCFRC6CAABox
/* 801B8030 001B4F90 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B8034 001B4F94 40 82 01 54 */ bne lbl_801B8188
/* 801B8038 001B4F98 C0 7C 00 00 */ lfs f3, 0(r28)
/* 801B803C 001B4F9C C0 1D 00 00 */ lfs f0, 0(r29)
/* 801B8040 001B4FA0 C0 5C 00 04 */ lfs f2, 4(r28)
/* 801B8044 001B4FA4 C0 3C 00 08 */ lfs f1, 8(r28)
/* 801B8048 001B4FA8 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 801B804C 001B4FAC D0 61 00 2C */ stfs f3, 0x2c(r1)
/* 801B8050 001B4FB0 D0 41 00 30 */ stfs f2, 0x30(r1)
/* 801B8054 001B4FB4 D0 21 00 34 */ stfs f1, 0x34(r1)
/* 801B8058 001B4FB8 40 80 00 0C */ bge lbl_801B8064
/* 801B805C 001B4FBC 7F A3 EB 78 */ mr r3, r29
/* 801B8060 001B4FC0 48 00 00 08 */ b lbl_801B8068
lbl_801B8064:
/* 801B8064 001B4FC4 38 61 00 2C */ addi r3, r1, 0x2c
lbl_801B8068:
/* 801B8068 001B4FC8 38 9D 00 04 */ addi r4, r29, 4
/* 801B806C 001B4FCC C0 43 00 00 */ lfs f2, 0(r3)
/* 801B8070 001B4FD0 C0 21 00 30 */ lfs f1, 0x30(r1)
/* 801B8074 001B4FD4 38 01 00 30 */ addi r0, r1, 0x30
/* 801B8078 001B4FD8 C0 1D 00 04 */ lfs f0, 4(r29)
/* 801B807C 001B4FDC D0 41 00 2C */ stfs f2, 0x2c(r1)
/* 801B8080 001B4FE0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801B8084 001B4FE4 40 80 00 08 */ bge lbl_801B808C
/* 801B8088 001B4FE8 48 00 00 08 */ b lbl_801B8090
lbl_801B808C:
/* 801B808C 001B4FEC 7C 04 03 78 */ mr r4, r0
lbl_801B8090:
/* 801B8090 001B4FF0 38 7D 00 08 */ addi r3, r29, 8
/* 801B8094 001B4FF4 C0 44 00 00 */ lfs f2, 0(r4)
/* 801B8098 001B4FF8 C0 21 00 34 */ lfs f1, 0x34(r1)
/* 801B809C 001B4FFC 38 01 00 34 */ addi r0, r1, 0x34
/* 801B80A0 001B5000 C0 1D 00 08 */ lfs f0, 8(r29)
/* 801B80A4 001B5004 D0 41 00 30 */ stfs f2, 0x30(r1)
/* 801B80A8 001B5008 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801B80AC 001B500C 40 80 00 08 */ bge lbl_801B80B4
/* 801B80B0 001B5010 48 00 00 08 */ b lbl_801B80B8
lbl_801B80B4:
/* 801B80B4 001B5014 7C 03 03 78 */ mr r3, r0
lbl_801B80B8:
/* 801B80B8 001B5018 38 9D 00 0C */ addi r4, r29, 0xc
/* 801B80BC 001B501C C0 83 00 00 */ lfs f4, 0(r3)
/* 801B80C0 001B5020 C0 7C 00 0C */ lfs f3, 0xc(r28)
/* 801B80C4 001B5024 C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 801B80C8 001B5028 C0 5C 00 10 */ lfs f2, 0x10(r28)
/* 801B80CC 001B502C C0 3C 00 14 */ lfs f1, 0x14(r28)
/* 801B80D0 001B5030 FC 00 18 40 */ fcmpo cr0, f0, f3
/* 801B80D4 001B5034 D0 81 00 34 */ stfs f4, 0x34(r1)
/* 801B80D8 001B5038 D0 61 00 20 */ stfs f3, 0x20(r1)
/* 801B80DC 001B503C D0 41 00 24 */ stfs f2, 0x24(r1)
/* 801B80E0 001B5040 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 801B80E4 001B5044 40 80 00 08 */ bge lbl_801B80EC
/* 801B80E8 001B5048 48 00 00 08 */ b lbl_801B80F0
lbl_801B80EC:
/* 801B80EC 001B504C 38 81 00 20 */ addi r4, r1, 0x20
lbl_801B80F0:
/* 801B80F0 001B5050 38 7D 00 10 */ addi r3, r29, 0x10
/* 801B80F4 001B5054 C0 44 00 00 */ lfs f2, 0(r4)
/* 801B80F8 001B5058 C0 3D 00 10 */ lfs f1, 0x10(r29)
/* 801B80FC 001B505C 38 01 00 24 */ addi r0, r1, 0x24
/* 801B8100 001B5060 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 801B8104 001B5064 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 801B8108 001B5068 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801B810C 001B506C 40 80 00 08 */ bge lbl_801B8114
/* 801B8110 001B5070 48 00 00 08 */ b lbl_801B8118
lbl_801B8114:
/* 801B8114 001B5074 7C 03 03 78 */ mr r3, r0
lbl_801B8118:
/* 801B8118 001B5078 38 9D 00 14 */ addi r4, r29, 0x14
/* 801B811C 001B507C C0 43 00 00 */ lfs f2, 0(r3)
/* 801B8120 001B5080 C0 3D 00 14 */ lfs f1, 0x14(r29)
/* 801B8124 001B5084 38 01 00 28 */ addi r0, r1, 0x28
/* 801B8128 001B5088 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 801B812C 001B508C D0 41 00 24 */ stfs f2, 0x24(r1)
/* 801B8130 001B5090 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801B8134 001B5094 40 80 00 08 */ bge lbl_801B813C
/* 801B8138 001B5098 48 00 00 08 */ b lbl_801B8140
lbl_801B813C:
/* 801B813C 001B509C 7C 04 03 78 */ mr r4, r0
lbl_801B8140:
/* 801B8140 001B50A0 C0 04 00 00 */ lfs f0, 0(r4)
/* 801B8144 001B50A4 38 61 00 38 */ addi r3, r1, 0x38
/* 801B8148 001B50A8 38 81 00 2C */ addi r4, r1, 0x2c
/* 801B814C 001B50AC 38 A1 00 20 */ addi r5, r1, 0x20
/* 801B8150 001B50B0 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 801B8154 001B50B4 48 18 03 B5 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 801B8158 001B50B8 80 E1 00 38 */ lwz r7, 0x38(r1)
/* 801B815C 001B50BC 80 C1 00 3C */ lwz r6, 0x3c(r1)
/* 801B8160 001B50C0 80 A1 00 40 */ lwz r5, 0x40(r1)
/* 801B8164 001B50C4 80 81 00 44 */ lwz r4, 0x44(r1)
/* 801B8168 001B50C8 80 61 00 48 */ lwz r3, 0x48(r1)
/* 801B816C 001B50CC 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 801B8170 001B50D0 90 E1 00 50 */ stw r7, 0x50(r1)
/* 801B8174 001B50D4 90 C1 00 54 */ stw r6, 0x54(r1)
/* 801B8178 001B50D8 90 A1 00 58 */ stw r5, 0x58(r1)
/* 801B817C 001B50DC 90 81 00 5C */ stw r4, 0x5c(r1)
/* 801B8180 001B50E0 90 61 00 60 */ stw r3, 0x60(r1)
/* 801B8184 001B50E4 90 01 00 64 */ stw r0, 0x64(r1)
lbl_801B8188:
/* 801B8188 001B50E8 7F 83 E3 78 */ mr r3, r28
/* 801B818C 001B50EC 38 81 00 50 */ addi r4, r1, 0x50
/* 801B8190 001B50F0 38 A1 00 1C */ addi r5, r1, 0x1c
/* 801B8194 001B50F4 38 C1 00 18 */ addi r6, r1, 0x18
/* 801B8198 001B50F8 38 E1 00 14 */ addi r7, r1, 0x14
/* 801B819C 001B50FC 48 00 00 DD */ bl GetCoords__11CMarkerGridCFRC9CVector3fRUiRUiRUi
/* 801B81A0 001B5100 7F 83 E3 78 */ mr r3, r28
/* 801B81A4 001B5104 7F E4 FB 78 */ mr r4, r31
/* 801B81A8 001B5108 38 A1 00 10 */ addi r5, r1, 0x10
/* 801B81AC 001B510C 38 C1 00 0C */ addi r6, r1, 0xc
/* 801B81B0 001B5110 38 E1 00 08 */ addi r7, r1, 8
/* 801B81B4 001B5114 48 00 00 C5 */ bl GetCoords__11CMarkerGridCFRC9CVector3fRUiRUiRUi
/* 801B81B8 001B5118 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801B81BC 001B511C 48 00 00 5C */ b lbl_801B8218
lbl_801B81C0:
/* 801B81C0 001B5120 83 E1 00 18 */ lwz r31, 0x18(r1)
/* 801B81C4 001B5124 48 00 00 44 */ b lbl_801B8208
lbl_801B81C8:
/* 801B81C8 001B5128 83 61 00 1C */ lwz r27, 0x1c(r1)
/* 801B81CC 001B512C 48 00 00 2C */ b lbl_801B81F8
lbl_801B81D0:
/* 801B81D0 001B5130 7F 83 E3 78 */ mr r3, r28
/* 801B81D4 001B5134 7F 64 DB 78 */ mr r4, r27
/* 801B81D8 001B5138 7F E5 FB 78 */ mr r5, r31
/* 801B81DC 001B513C 7F A6 EB 78 */ mr r6, r29
/* 801B81E0 001B5140 48 00 01 51 */ bl GetValue__11CMarkerGridCFUiUiUi
/* 801B81E4 001B5144 7F C0 18 39 */ and. r0, r30, r3
/* 801B81E8 001B5148 41 82 00 0C */ beq lbl_801B81F4
/* 801B81EC 001B514C 38 60 00 01 */ li r3, 1
/* 801B81F0 001B5150 48 00 00 38 */ b lbl_801B8228
lbl_801B81F4:
/* 801B81F4 001B5154 3B 7B 00 01 */ addi r27, r27, 1
lbl_801B81F8:
/* 801B81F8 001B5158 80 01 00 10 */ lwz r0, 0x10(r1)
/* 801B81FC 001B515C 7C 1B 00 40 */ cmplw r27, r0
/* 801B8200 001B5160 41 80 FF D0 */ blt lbl_801B81D0
/* 801B8204 001B5164 3B FF 00 01 */ addi r31, r31, 1
lbl_801B8208:
/* 801B8208 001B5168 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801B820C 001B516C 7C 1F 00 40 */ cmplw r31, r0
/* 801B8210 001B5170 41 80 FF B8 */ blt lbl_801B81C8
/* 801B8214 001B5174 3B BD 00 01 */ addi r29, r29, 1
lbl_801B8218:
/* 801B8218 001B5178 80 01 00 08 */ lwz r0, 8(r1)
/* 801B821C 001B517C 7C 1D 00 40 */ cmplw r29, r0
/* 801B8220 001B5180 41 80 FF A0 */ blt lbl_801B81C0
/* 801B8224 001B5184 38 60 00 00 */ li r3, 0
lbl_801B8228:
/* 801B8228 001B5188 BB 61 00 6C */ lmw r27, 0x6c(r1)
/* 801B822C 001B518C 80 01 00 84 */ lwz r0, 0x84(r1)
/* 801B8230 001B5190 7C 08 03 A6 */ mtlr r0
/* 801B8234 001B5194 38 21 00 80 */ addi r1, r1, 0x80
/* 801B8238 001B5198 4E 80 00 20 */ blr
.global SetValue__11CMarkerGridFUiUiUiUi
SetValue__11CMarkerGridFUiUiUiUi:
/* 801B823C 001B519C 54 C0 30 32 */ slwi r0, r6, 6
/* 801B8240 001B51A0 54 88 F0 BE */ srwi r8, r4, 2
/* 801B8244 001B51A4 54 86 0F 7C */ rlwinm r6, r4, 1, 0x1d, 0x1e
/* 801B8248 001B51A8 54 A5 10 3A */ slwi r5, r5, 2
/* 801B824C 001B51AC 7C 80 42 14 */ add r4, r0, r8
/* 801B8250 001B51B0 38 00 00 03 */ li r0, 3
/* 801B8254 001B51B4 7C A5 22 14 */ add r5, r5, r4
/* 801B8258 001B51B8 7C A5 1A 14 */ add r5, r5, r3
/* 801B825C 001B51BC 7C 00 30 30 */ slw r0, r0, r6
/* 801B8260 001B51C0 88 65 00 28 */ lbz r3, 0x28(r5)
/* 801B8264 001B51C4 7C E4 30 30 */ slw r4, r7, r6
/* 801B8268 001B51C8 7C 60 00 78 */ andc r0, r3, r0
/* 801B826C 001B51CC 7C 80 03 78 */ or r0, r4, r0
/* 801B8270 001B51D0 98 05 00 28 */ stb r0, 0x28(r5)
/* 801B8274 001B51D4 4E 80 00 20 */ blr
.global GetCoords__11CMarkerGridCFRC9CVector3fRUiRUiRUi
GetCoords__11CMarkerGridCFRC9CVector3fRUiRUiRUi:
/* 801B8278 001B51D8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801B827C 001B51DC 7C 08 02 A6 */ mflr r0
/* 801B8280 001B51E0 90 01 00 34 */ stw r0, 0x34(r1)
/* 801B8284 001B51E4 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 801B8288 001B51E8 7C 7B 1B 78 */ mr r27, r3
/* 801B828C 001B51EC 7C 9C 23 78 */ mr r28, r4
/* 801B8290 001B51F0 7C BD 2B 78 */ mr r29, r5
/* 801B8294 001B51F4 7C DE 33 78 */ mr r30, r6
/* 801B8298 001B51F8 7C FF 3B 78 */ mr r31, r7
/* 801B829C 001B51FC 48 17 F2 99 */ bl PointInside__6CAABoxCFRC9CVector3f
/* 801B82A0 001B5200 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B82A4 001B5204 40 82 00 0C */ bne lbl_801B82B0
/* 801B82A8 001B5208 38 60 00 00 */ li r3, 0
/* 801B82AC 001B520C 48 00 00 70 */ b lbl_801B831C
lbl_801B82B0:
/* 801B82B0 001B5210 C0 5C 00 00 */ lfs f2, 0(r28)
/* 801B82B4 001B5214 C0 3B 00 00 */ lfs f1, 0(r27)
/* 801B82B8 001B5218 C0 1B 00 18 */ lfs f0, 0x18(r27)
/* 801B82BC 001B521C EC 42 08 28 */ fsubs f2, f2, f1
/* 801B82C0 001B5220 C0 BC 00 04 */ lfs f5, 4(r28)
/* 801B82C4 001B5224 C0 9B 00 04 */ lfs f4, 4(r27)
/* 801B82C8 001B5228 C0 7C 00 08 */ lfs f3, 8(r28)
/* 801B82CC 001B522C EC 22 00 24 */ fdivs f1, f2, f0
/* 801B82D0 001B5230 C0 1B 00 08 */ lfs f0, 8(r27)
/* 801B82D4 001B5234 D0 41 00 08 */ stfs f2, 8(r1)
/* 801B82D8 001B5238 EC 45 20 28 */ fsubs f2, f5, f4
/* 801B82DC 001B523C EC 03 00 28 */ fsubs f0, f3, f0
/* 801B82E0 001B5240 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 801B82E4 001B5244 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 801B82E8 001B5248 48 1D 16 6D */ bl __cvt_fp2unsigned
/* 801B82EC 001B524C 90 7D 00 00 */ stw r3, 0(r29)
/* 801B82F0 001B5250 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 801B82F4 001B5254 C0 1B 00 1C */ lfs f0, 0x1c(r27)
/* 801B82F8 001B5258 EC 21 00 24 */ fdivs f1, f1, f0
/* 801B82FC 001B525C 48 1D 16 59 */ bl __cvt_fp2unsigned
/* 801B8300 001B5260 90 7E 00 00 */ stw r3, 0(r30)
/* 801B8304 001B5264 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 801B8308 001B5268 C0 1B 00 20 */ lfs f0, 0x20(r27)
/* 801B830C 001B526C EC 21 00 24 */ fdivs f1, f1, f0
/* 801B8310 001B5270 48 1D 16 45 */ bl __cvt_fp2unsigned
/* 801B8314 001B5274 90 7F 00 00 */ stw r3, 0(r31)
/* 801B8318 001B5278 38 60 00 01 */ li r3, 1
lbl_801B831C:
/* 801B831C 001B527C BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 801B8320 001B5280 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801B8324 001B5284 7C 08 03 A6 */ mtlr r0
/* 801B8328 001B5288 38 21 00 30 */ addi r1, r1, 0x30
/* 801B832C 001B528C 4E 80 00 20 */ blr
.global GetValue__11CMarkerGridCFUiUiUi
GetValue__11CMarkerGridCFUiUiUi:
/* 801B8330 001B5290 54 C0 30 32 */ slwi r0, r6, 6
/* 801B8334 001B5294 54 87 F0 BE */ srwi r7, r4, 2
/* 801B8338 001B5298 54 A5 10 3A */ slwi r5, r5, 2
/* 801B833C 001B529C 54 88 0F 7C */ rlwinm r8, r4, 1, 0x1d, 0x1e
/* 801B8340 001B52A0 7C 00 3A 14 */ add r0, r0, r7
/* 801B8344 001B52A4 38 C0 00 03 */ li r6, 3
/* 801B8348 001B52A8 7C 85 02 14 */ add r4, r5, r0
/* 801B834C 001B52AC 7C 84 1A 14 */ add r4, r4, r3
/* 801B8350 001B52B0 7C C3 40 30 */ slw r3, r6, r8
/* 801B8354 001B52B4 88 04 00 28 */ lbz r0, 0x28(r4)
/* 801B8358 001B52B8 7C 60 00 38 */ and r0, r3, r0
/* 801B835C 001B52BC 7C 03 44 30 */ srw r3, r0, r8
/* 801B8360 001B52C0 4E 80 00 20 */ blr
.global __ct__11CMarkerGridFRC6CAABox
__ct__11CMarkerGridFRC6CAABox:
/* 801B8364 001B52C4 C0 04 00 00 */ lfs f0, 0(r4)
/* 801B8368 001B52C8 38 A0 04 00 */ li r5, 0x400
/* 801B836C 001B52CC C0 82 A9 A8 */ lfs f4, lbl_805AC6C8@sda21(r2)
/* 801B8370 001B52D0 38 00 00 80 */ li r0, 0x80
/* 801B8374 001B52D4 D0 03 00 00 */ stfs f0, 0(r3)
/* 801B8378 001B52D8 38 E3 00 28 */ addi r7, r3, 0x28
/* 801B837C 001B52DC 38 C0 00 00 */ li r6, 0
/* 801B8380 001B52E0 C0 04 00 04 */ lfs f0, 4(r4)
/* 801B8384 001B52E4 D0 03 00 04 */ stfs f0, 4(r3)
/* 801B8388 001B52E8 C0 04 00 08 */ lfs f0, 8(r4)
/* 801B838C 001B52EC D0 03 00 08 */ stfs f0, 8(r3)
/* 801B8390 001B52F0 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 801B8394 001B52F4 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 801B8398 001B52F8 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 801B839C 001B52FC D0 03 00 10 */ stfs f0, 0x10(r3)
/* 801B83A0 001B5300 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 801B83A4 001B5304 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 801B83A8 001B5308 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 801B83AC 001B530C C0 03 00 00 */ lfs f0, 0(r3)
/* 801B83B0 001B5310 C0 63 00 10 */ lfs f3, 0x10(r3)
/* 801B83B4 001B5314 EC 01 00 28 */ fsubs f0, f1, f0
/* 801B83B8 001B5318 C0 23 00 04 */ lfs f1, 4(r3)
/* 801B83BC 001B531C C0 43 00 14 */ lfs f2, 0x14(r3)
/* 801B83C0 001B5320 EC 63 08 28 */ fsubs f3, f3, f1
/* 801B83C4 001B5324 C0 23 00 08 */ lfs f1, 8(r3)
/* 801B83C8 001B5328 EC 04 00 32 */ fmuls f0, f4, f0
/* 801B83CC 001B532C EC 22 08 28 */ fsubs f1, f2, f1
/* 801B83D0 001B5330 EC 44 00 F2 */ fmuls f2, f4, f3
/* 801B83D4 001B5334 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 801B83D8 001B5338 EC 04 00 72 */ fmuls f0, f4, f1
/* 801B83DC 001B533C D0 43 00 1C */ stfs f2, 0x1c(r3)
/* 801B83E0 001B5340 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 801B83E4 001B5344 90 A3 00 24 */ stw r5, 0x24(r3)
/* 801B83E8 001B5348 7C 09 03 A6 */ mtctr r0
lbl_801B83EC:
/* 801B83EC 001B534C 28 07 00 00 */ cmplwi r7, 0
/* 801B83F0 001B5350 41 82 00 0C */ beq lbl_801B83FC
/* 801B83F4 001B5354 88 0D 90 DC */ lbz r0, lbl_805A7C9C@sda21(r13)
/* 801B83F8 001B5358 98 07 00 00 */ stb r0, 0(r7)
lbl_801B83FC:
/* 801B83FC 001B535C 34 E7 00 01 */ addic. r7, r7, 1
/* 801B8400 001B5360 41 82 00 0C */ beq lbl_801B840C
/* 801B8404 001B5364 88 0D 90 DC */ lbz r0, lbl_805A7C9C@sda21(r13)
/* 801B8408 001B5368 98 07 00 00 */ stb r0, 0(r7)
lbl_801B840C:
/* 801B840C 001B536C 34 E7 00 01 */ addic. r7, r7, 1
/* 801B8410 001B5370 41 82 00 0C */ beq lbl_801B841C
/* 801B8414 001B5374 88 0D 90 DC */ lbz r0, lbl_805A7C9C@sda21(r13)
/* 801B8418 001B5378 98 07 00 00 */ stb r0, 0(r7)
lbl_801B841C:
/* 801B841C 001B537C 34 E7 00 01 */ addic. r7, r7, 1
/* 801B8420 001B5380 41 82 00 0C */ beq lbl_801B842C
/* 801B8424 001B5384 88 0D 90 DC */ lbz r0, lbl_805A7C9C@sda21(r13)
/* 801B8428 001B5388 98 07 00 00 */ stb r0, 0(r7)
lbl_801B842C:
/* 801B842C 001B538C 34 E7 00 01 */ addic. r7, r7, 1
/* 801B8430 001B5390 41 82 00 0C */ beq lbl_801B843C
/* 801B8434 001B5394 88 0D 90 DC */ lbz r0, lbl_805A7C9C@sda21(r13)
/* 801B8438 001B5398 98 07 00 00 */ stb r0, 0(r7)
lbl_801B843C:
/* 801B843C 001B539C 34 E7 00 01 */ addic. r7, r7, 1
/* 801B8440 001B53A0 41 82 00 0C */ beq lbl_801B844C
/* 801B8444 001B53A4 88 0D 90 DC */ lbz r0, lbl_805A7C9C@sda21(r13)
/* 801B8448 001B53A8 98 07 00 00 */ stb r0, 0(r7)
lbl_801B844C:
/* 801B844C 001B53AC 34 E7 00 01 */ addic. r7, r7, 1
/* 801B8450 001B53B0 41 82 00 0C */ beq lbl_801B845C
/* 801B8454 001B53B4 88 0D 90 DC */ lbz r0, lbl_805A7C9C@sda21(r13)
/* 801B8458 001B53B8 98 07 00 00 */ stb r0, 0(r7)
lbl_801B845C:
/* 801B845C 001B53BC 34 E7 00 01 */ addic. r7, r7, 1
/* 801B8460 001B53C0 41 82 00 0C */ beq lbl_801B846C
/* 801B8464 001B53C4 88 0D 90 DC */ lbz r0, lbl_805A7C9C@sda21(r13)
/* 801B8468 001B53C8 98 07 00 00 */ stb r0, 0(r7)
lbl_801B846C:
/* 801B846C 001B53CC 38 C6 00 07 */ addi r6, r6, 7
/* 801B8470 001B53D0 38 E7 00 01 */ addi r7, r7, 1
/* 801B8474 001B53D4 42 00 FF 78 */ bdnz lbl_801B83EC
/* 801B8478 001B53D8 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805AC688
lbl_805AC688:
# ROM: 0x3F8F28
.float 1.0
.global lbl_805AC68C
lbl_805AC68C:
# ROM: 0x3F8F2C
.float 0.33333334
.global lbl_805AC690
lbl_805AC690:
# ROM: 0x3F8F30
.float 0.4
.global lbl_805AC694
lbl_805AC694:
# ROM: 0x3F8F34
.float 0.5
.global lbl_805AC698
lbl_805AC698:
# ROM: 0x3F8F38
.double 4.503601774854144E15
.global lbl_805AC6A0
lbl_805AC6A0:
# ROM: 0x3F8F40
.4byte 0x3FCCCCCD
.global lbl_805AC6A4
lbl_805AC6A4:
# ROM: 0x3F8F44
.4byte 0
.global lbl_805AC6A8
lbl_805AC6A8:
# ROM: 0x3F8F48
.4byte 0x42C80000
.global lbl_805AC6AC
lbl_805AC6AC:
# ROM: 0x3F8F4C
.4byte 0x3F4CCCCD
.global lbl_805AC6B0
lbl_805AC6B0:
# ROM: 0x3F8F50
.float 4.0
.global lbl_805AC6B4
lbl_805AC6B4:
# ROM: 0x3F8F54
.float 8.0
.global lbl_805AC6B8
lbl_805AC6B8:
# ROM: 0x3F8F58
.4byte 0x4019999A
.4byte 0
.global lbl_805AC6C0
lbl_805AC6C0:
# ROM: 0x3F8F60
.4byte 0x43300000
.4byte 0
.global lbl_805AC6C8
lbl_805AC6C8:
# ROM: 0x3F8F68
.4byte 0x3D800000
.4byte 0
.section .rodata
.balign 8
.global lbl_803D1640
lbl_803D1640:
# ROM: 0x3CE640
.asciz "??(??)"
.byte 0x49
.asciz "cePLight_"
.balign 4
.4byte 0