prime/asm/MetroidPrime/CGameProjectile.s

3735 lines
188 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .data
.balign 8
.global lbl_803D9CE0
lbl_803D9CE0:
# ROM: 0x3D6CE0
.4byte 0
.4byte 0
.4byte __dt__15CGameProjectileFv
.4byte Accept__15CGameProjectileFR8IVisitor
.4byte PreThink__7CEntityFfR13CStateManager
.4byte Think__7CWeaponFfR13CStateManager
.4byte AcceptScriptMsg__15CGameProjectileF20EScriptObjectMessage9TUniqueIdR13CStateManager
.4byte SetActive__6CActorFb
.4byte PreRender__6CActorFR13CStateManagerRC14CFrustumPlanes
.4byte AddToRenderer__6CActorCFRC14CFrustumPlanesRC13CStateManager
.4byte Render__15CGameProjectileCFRC13CStateManager
.4byte CanRenderUnsorted__6CActorCFRC13CStateManager
.4byte CalculateRenderBounds__6CActorFv
.4byte HealthInfo__6CActorFR13CStateManager
.4byte GetDamageVulnerability__6CActorCFv
.4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo
.4byte GetTouchBounds__15CGameProjectileCFv
.4byte Touch__6CActorFR6CActorR13CStateManager
.4byte GetOrbitPosition__6CActorCFRC13CStateManager
.4byte GetAimPosition__6CActorCFRC13CStateManagerf
.4byte GetHomingPosition__6CActorCFRC13CStateManagerf
.4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager
.4byte GetCollisionResponseType__7CWeaponCFRC9CVector3fRC9CVector3fRC11CWeaponModei
.4byte FluidFXThink__15CGameProjectileFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
.4byte GetSortingBounds__6CActorCFRC13CStateManager
.4byte DoUserAnimEvent__6CActorFR13CStateManagerRC13CInt32POINode14EUserEventTypef
.4byte ResolveCollisionWithActor__15CGameProjectileFRC14CRayCastResultR6CActorR13CStateManager
.section .sdata
.balign 8
.global lbl_805A6DB8
lbl_805A6DB8:
# ROM: 0x3F4758
.4byte 0x00000013
.global lbl_805A6DBC
lbl_805A6DBC:
# ROM: 0x3F475C
.4byte 0x00000032
.global lbl_805A6DC0
lbl_805A6DC0:
# ROM: 0x3F4760
.4byte 0x00000023
.global lbl_805A6DC4
lbl_805A6DC4:
# ROM: 0x3F4764
.4byte 0x00000012
.global lbl_805A6DC8
lbl_805A6DC8:
# ROM: 0x3F4768
.4byte 0x00000023
.global lbl_805A6DCC
lbl_805A6DCC:
# ROM: 0x3F476C
.4byte 0x00000013
.global lbl_805A6DD0
lbl_805A6DD0:
# ROM: 0x3F4770
.4byte 0x00000012
.global lbl_805A6DD4
lbl_805A6DD4:
# ROM: 0x3F4774
.4byte 0x00000013
.global lbl_805A6DD8
lbl_805A6DD8:
# ROM: 0x3F4778
.4byte 0x00000012
.global lbl_805A6DDC
lbl_805A6DDC:
# ROM: 0x3F477C
.4byte 0x00000012
.section .sdata2, "a"
.balign 8
.global lbl_805AA120
lbl_805AA120:
# ROM: 0x3F69C0
.float 0.1
.global lbl_805AA124
lbl_805AA124:
# ROM: 0x3F69C4
.4byte 0x43B40000
.global lbl_805AA128
lbl_805AA128:
# ROM: 0x3F69C8
.4byte 0x3E22F983
.global lbl_805AA12C
lbl_805AA12C:
# ROM: 0x3F69CC
.4byte 0x42340000
.global lbl_805AA130
lbl_805AA130:
# ROM: 0x3F69D0
.float 1.0
.global lbl_805AA134
lbl_805AA134:
# ROM: 0x3F69D4
.4byte 0
.global lbl_805AA138
lbl_805AA138:
# ROM: 0x3F69D8
.float 0.5
.global lbl_805AA13C
lbl_805AA13C:
# ROM: 0x3F69DC
.float 2.0
.global lbl_805AA140
lbl_805AA140:
# ROM: 0x3F69E0
.4byte 0x3F7D70A4
.global lbl_805AA144
lbl_805AA144:
# ROM: 0x3F69E4
.float 0.017453292
.global lbl_805AA148
lbl_805AA148:
# ROM: 0x3F69E8
.4byte 0x42160000
.global lbl_805AA14C
lbl_805AA14C:
# ROM: 0x3F69EC
.4byte 0x3F900000
.global lbl_805AA150
lbl_805AA150:
# ROM: 0x3F69F0
.float 0.25
.global lbl_805AA154
lbl_805AA154:
# ROM: 0x3F69F4
.float 0.1
.global lbl_805AA158
lbl_805AA158:
# ROM: 0x3F69F8
.float 0.03
.4byte 0
.global lbl_805AA160
lbl_805AA160:
# ROM: 0x3F6A00
.4byte 0
.4byte 0
.section .text, "ax"
.global __dt__15CGameProjectileFv
__dt__15CGameProjectileFv:
/* 80037400 00034360 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80037404 00034364 7C 08 02 A6 */ mflr r0
/* 80037408 00034368 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003740C 0003436C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80037410 00034370 7C 9F 23 78 */ mr r31, r4
/* 80037414 00034374 93 C1 00 08 */ stw r30, 8(r1)
/* 80037418 00034378 7C 7E 1B 79 */ or. r30, r3, r3
/* 8003741C 0003437C 41 82 00 78 */ beq lbl_80037494
/* 80037420 00034380 3C 80 80 3E */ lis r4, lbl_803D9CE0@ha
/* 80037424 00034384 38 7E 02 D0 */ addi r3, r30, 0x2d0
/* 80037428 00034388 38 04 9C E0 */ addi r0, r4, lbl_803D9CE0@l
/* 8003742C 0003438C 38 80 FF FF */ li r4, -1
/* 80037430 00034390 90 1E 00 00 */ stw r0, 0(r30)
/* 80037434 00034394 48 00 00 7D */ bl sub_800374b0
/* 80037438 00034398 38 7E 01 70 */ addi r3, r30, 0x170
/* 8003743C 0003439C 38 80 FF FF */ li r4, -1
/* 80037440 000343A0 48 27 94 31 */ bl __dt__17CProjectileWeaponFv
/* 80037444 000343A4 34 1E 01 58 */ addic. r0, r30, 0x158
/* 80037448 000343A8 41 82 00 30 */ beq lbl_80037478
/* 8003744C 000343AC 88 1E 01 64 */ lbz r0, 0x164(r30)
/* 80037450 000343B0 28 00 00 00 */ cmplwi r0, 0
/* 80037454 000343B4 41 82 00 1C */ beq lbl_80037470
/* 80037458 000343B8 34 7E 01 58 */ addic. r3, r30, 0x158
/* 8003745C 000343BC 41 82 00 14 */ beq lbl_80037470
/* 80037460 000343C0 28 03 00 00 */ cmplwi r3, 0
/* 80037464 000343C4 41 82 00 0C */ beq lbl_80037470
/* 80037468 000343C8 38 80 00 00 */ li r4, 0
/* 8003746C 000343CC 48 30 99 D5 */ bl __dt__6CTokenFv
lbl_80037470:
/* 80037470 000343D0 38 00 00 00 */ li r0, 0
/* 80037474 000343D4 98 1E 01 64 */ stb r0, 0x164(r30)
lbl_80037478:
/* 80037478 000343D8 7F C3 F3 78 */ mr r3, r30
/* 8003747C 000343DC 38 80 00 00 */ li r4, 0
/* 80037480 000343E0 48 0C AD B5 */ bl __dt__7CWeaponFv
/* 80037484 000343E4 7F E0 07 35 */ extsh. r0, r31
/* 80037488 000343E8 40 81 00 0C */ ble lbl_80037494
/* 8003748C 000343EC 7F C3 F3 78 */ mr r3, r30
/* 80037490 000343F0 48 2D E4 A1 */ bl Free__7CMemoryFPCv
lbl_80037494:
/* 80037494 000343F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80037498 000343F8 7F C3 F3 78 */ mr r3, r30
/* 8003749C 000343FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800374A0 00034400 83 C1 00 08 */ lwz r30, 8(r1)
/* 800374A4 00034404 7C 08 03 A6 */ mtlr r0
/* 800374A8 00034408 38 21 00 10 */ addi r1, r1, 0x10
/* 800374AC 0003440C 4E 80 00 20 */ blr
.global sub_800374b0
sub_800374b0:
/* 800374B0 00034410 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800374B4 00034414 7C 08 02 A6 */ mflr r0
/* 800374B8 00034418 90 01 00 24 */ stw r0, 0x24(r1)
/* 800374BC 0003441C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800374C0 00034420 7C 9F 23 78 */ mr r31, r4
/* 800374C4 00034424 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800374C8 00034428 7C 7E 1B 79 */ or. r30, r3, r3
/* 800374CC 0003442C 41 82 00 6C */ beq lbl_80037538
/* 800374D0 00034430 80 7E 00 04 */ lwz r3, 4(r30)
/* 800374D4 00034434 38 00 00 00 */ li r0, 0
/* 800374D8 00034438 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 800374DC 0003443C 1C 63 00 38 */ mulli r3, r3, 0x38
/* 800374E0 00034440 90 A1 00 10 */ stw r5, 0x10(r1)
/* 800374E4 00034444 7C 85 1A 14 */ add r4, r5, r3
/* 800374E8 00034448 90 A1 00 14 */ stw r5, 0x14(r1)
/* 800374EC 0003444C 90 81 00 08 */ stw r4, 8(r1)
/* 800374F0 00034450 90 81 00 0C */ stw r4, 0xc(r1)
/* 800374F4 00034454 48 00 00 1C */ b lbl_80037510
lbl_800374F8:
/* 800374F8 00034458 28 05 00 00 */ cmplwi r5, 0
/* 800374FC 0003445C 41 82 00 10 */ beq lbl_8003750C
/* 80037500 00034460 34 65 00 04 */ addic. r3, r5, 4
/* 80037504 00034464 41 82 00 08 */ beq lbl_8003750C
/* 80037508 00034468 98 05 00 34 */ stb r0, 0x34(r5)
lbl_8003750C:
/* 8003750C 0003446C 38 A5 00 38 */ addi r5, r5, 0x38
lbl_80037510:
/* 80037510 00034470 7C 05 20 40 */ cmplw r5, r4
/* 80037514 00034474 40 82 FF E4 */ bne lbl_800374F8
/* 80037518 00034478 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8003751C 0003447C 28 03 00 00 */ cmplwi r3, 0
/* 80037520 00034480 41 82 00 08 */ beq lbl_80037528
/* 80037524 00034484 48 2D E4 0D */ bl Free__7CMemoryFPCv
lbl_80037528:
/* 80037528 00034488 7F E0 07 35 */ extsh. r0, r31
/* 8003752C 0003448C 40 81 00 0C */ ble lbl_80037538
/* 80037530 00034490 7F C3 F3 78 */ mr r3, r30
/* 80037534 00034494 48 2D E3 FD */ bl Free__7CMemoryFPCv
lbl_80037538:
/* 80037538 00034498 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003753C 0003449C 7F C3 F3 78 */ mr r3, r30
/* 80037540 000344A0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80037544 000344A4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80037548 000344A8 7C 08 03 A6 */ mtlr r0
/* 8003754C 000344AC 38 21 00 20 */ addi r1, r1, 0x20
/* 80037550 000344B0 4E 80 00 20 */ blr
.global ResolveCollisionWithActor__15CGameProjectileFRC14CRayCastResultR6CActorR13CStateManager
ResolveCollisionWithActor__15CGameProjectileFRC14CRayCastResultR6CActorR13CStateManager:
/* 80037554 000344B4 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 80037558 000344B8 7C 08 02 A6 */ mflr r0
/* 8003755C 000344BC 90 01 01 24 */ stw r0, 0x124(r1)
/* 80037560 000344C0 DB E1 01 10 */ stfd f31, 0x110(r1)
/* 80037564 000344C4 F3 E1 01 18 */ psq_st f31, 280(r1), 0, qr0
/* 80037568 000344C8 DB C1 01 00 */ stfd f30, 0x100(r1)
/* 8003756C 000344CC F3 C1 01 08 */ psq_st f30, 264(r1), 0, qr0
/* 80037570 000344D0 DB A1 00 F0 */ stfd f29, 0xf0(r1)
/* 80037574 000344D4 F3 A1 00 F8 */ psq_st f29, 248(r1), 0, qr0
/* 80037578 000344D8 BF 01 00 D0 */ stmw r24, 0xd0(r1)
/* 8003757C 000344DC 7C 7E 1B 78 */ mr r30, r3
/* 80037580 000344E0 7C B9 2B 78 */ mr r25, r5
/* 80037584 000344E4 C0 43 00 58 */ lfs f2, 0x58(r3)
/* 80037588 000344E8 7C DF 33 78 */ mr r31, r6
/* 8003758C 000344EC C0 23 00 48 */ lfs f1, 0x48(r3)
/* 80037590 000344F0 38 61 00 94 */ addi r3, r1, 0x94
/* 80037594 000344F4 C0 1E 00 38 */ lfs f0, 0x38(r30)
/* 80037598 000344F8 38 81 00 88 */ addi r4, r1, 0x88
/* 8003759C 000344FC D0 01 00 88 */ stfs f0, 0x88(r1)
/* 800375A0 00034500 D0 21 00 8C */ stfs f1, 0x8c(r1)
/* 800375A4 00034504 D0 41 00 90 */ stfs f2, 0x90(r1)
/* 800375A8 00034508 48 2D D2 A9 */ bl AsNormalized__9CVector3fCFv
/* 800375AC 0003450C C0 41 00 9C */ lfs f2, 0x9c(r1)
/* 800375B0 00034510 7F 24 CB 78 */ mr r4, r25
/* 800375B4 00034514 C0 21 00 98 */ lfs f1, 0x98(r1)
/* 800375B8 00034518 38 61 00 28 */ addi r3, r1, 0x28
/* 800375BC 0003451C C0 01 00 94 */ lfs f0, 0x94(r1)
/* 800375C0 00034520 FF A0 10 50 */ fneg f29, f2
/* 800375C4 00034524 FF C0 08 50 */ fneg f30, f1
/* 800375C8 00034528 FF E0 00 50 */ fneg f31, f0
/* 800375CC 0003452C 48 07 4E 35 */ bl "__ct__20TCastToPtr<7CPlayer>FR7CEntity"
/* 800375D0 00034530 80 03 00 04 */ lwz r0, 4(r3)
/* 800375D4 00034534 28 00 00 00 */ cmplwi r0, 0
/* 800375D8 00034538 41 82 02 54 */ beq lbl_8003782C
/* 800375DC 0003453C 88 1E 01 64 */ lbz r0, 0x164(r30)
/* 800375E0 00034540 28 00 00 00 */ cmplwi r0, 0
/* 800375E4 00034544 41 82 02 48 */ beq lbl_8003782C
/* 800375E8 00034548 80 7F 08 4C */ lwz r3, 0x84c(r31)
/* 800375EC 0003454C 80 03 02 F4 */ lwz r0, 0x2f4(r3)
/* 800375F0 00034550 2C 00 00 00 */ cmpwi r0, 0
/* 800375F4 00034554 40 82 02 38 */ bne lbl_8003782C
/* 800375F8 00034558 80 9F 08 70 */ lwz r4, 0x870(r31)
/* 800375FC 0003455C 7F E5 FB 78 */ mr r5, r31
/* 80037600 00034560 38 61 00 A0 */ addi r3, r1, 0xa0
/* 80037604 00034564 4B FD 33 65 */ bl GetCurrentCameraTransform__14CCameraManagerCFRC13CStateManager
/* 80037608 00034568 C0 41 00 C4 */ lfs f2, 0xc4(r1)
/* 8003760C 0003456C 38 61 00 7C */ addi r3, r1, 0x7c
/* 80037610 00034570 C0 21 00 B4 */ lfs f1, 0xb4(r1)
/* 80037614 00034574 38 81 00 70 */ addi r4, r1, 0x70
/* 80037618 00034578 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 8003761C 0003457C D0 21 00 74 */ stfs f1, 0x74(r1)
/* 80037620 00034580 D0 01 00 70 */ stfs f0, 0x70(r1)
/* 80037624 00034584 D0 41 00 78 */ stfs f2, 0x78(r1)
/* 80037628 00034588 48 2D D2 29 */ bl AsNormalized__9CVector3fCFv
/* 8003762C 0003458C C0 01 00 80 */ lfs f0, 0x80(r1)
/* 80037630 00034590 C0 21 00 7C */ lfs f1, 0x7c(r1)
/* 80037634 00034594 EC 1E 00 32 */ fmuls f0, f30, f0
/* 80037638 00034598 C0 41 00 84 */ lfs f2, 0x84(r1)
/* 8003763C 0003459C EC 1F 00 7A */ fmadds f0, f31, f1, f0
/* 80037640 000345A0 EC 3D 00 BA */ fmadds f1, f29, f2, f0
/* 80037644 000345A4 48 2D D6 91 */ bl FastArcCosR__5CMathFf
/* 80037648 000345A8 C0 02 84 08 */ lfs f0, lbl_805AA128@sda21(r2)
/* 8003764C 000345AC C0 42 84 04 */ lfs f2, lbl_805AA124@sda21(r2)
/* 80037650 000345B0 EC 20 00 72 */ fmuls f1, f0, f1
/* 80037654 000345B4 C0 02 84 0C */ lfs f0, lbl_805AA12C@sda21(r2)
/* 80037658 000345B8 EC 22 00 72 */ fmuls f1, f2, f1
/* 8003765C 000345BC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80037660 000345C0 4C 40 13 82 */ cror 2, 0, 2
/* 80037664 000345C4 40 82 01 C8 */ bne lbl_8003782C
/* 80037668 000345C8 3C 60 80 3D */ lis r3, lbl_803CCE20@ha
/* 8003766C 000345CC 3B A0 00 00 */ li r29, 0
/* 80037670 000345D0 38 83 CE 20 */ addi r4, r3, lbl_803CCE20@l
/* 80037674 000345D4 3B 80 00 00 */ li r28, 0
/* 80037678 000345D8 3B 00 00 00 */ li r24, 0
/* 8003767C 000345DC 38 60 01 10 */ li r3, 0x110
/* 80037680 000345E0 38 A0 00 00 */ li r5, 0
/* 80037684 000345E4 48 2D E1 E9 */ bl __nw__FUlPCcPCc
/* 80037688 000345E8 7C 79 1B 79 */ or. r25, r3, r3
/* 8003768C 000345EC 41 82 00 DC */ beq lbl_80037768
/* 80037690 000345F0 38 00 00 01 */ li r0, 1
/* 80037694 000345F4 34 61 00 30 */ addic. r3, r1, 0x30
/* 80037698 000345F8 98 01 00 38 */ stb r0, 0x38(r1)
/* 8003769C 000345FC 38 9E 01 58 */ addi r4, r30, 0x158
/* 800376A0 00034600 41 82 00 08 */ beq lbl_800376A8
/* 800376A4 00034604 48 30 98 05 */ bl __ct__6CTokenFRC6CToken
lbl_800376A8:
/* 800376A8 00034608 38 00 00 00 */ li r0, 0
/* 800376AC 0003460C 7F E4 FB 78 */ mr r4, r31
/* 800376B0 00034610 98 01 00 44 */ stb r0, 0x44(r1)
/* 800376B4 00034614 38 61 00 18 */ addi r3, r1, 0x18
/* 800376B8 00034618 3B 00 00 01 */ li r24, 1
/* 800376BC 0003461C 3B 80 00 01 */ li r28, 1
/* 800376C0 00034620 48 01 5A 1D */ bl AllocateUniqueId__13CStateManagerFv
/* 800376C4 00034624 A0 01 00 18 */ lhz r0, 0x18(r1)
/* 800376C8 00034628 3C 60 80 3D */ lis r3, lbl_803CCE20@ha
/* 800376CC 0003462C 38 83 CE 20 */ addi r4, r3, lbl_803CCE20@l
/* 800376D0 00034630 38 61 00 48 */ addi r3, r1, 0x48
/* 800376D4 00034634 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 800376D8 00034638 38 84 00 07 */ addi r4, r4, 7
/* 800376DC 0003463C 4B FC D5 DD */ bl string_l__4rstlFPCc
/* 800376E0 00034640 C0 22 84 10 */ lfs f1, lbl_805AA130@sda21(r2)
/* 800376E4 00034644 38 61 00 24 */ addi r3, r1, 0x24
/* 800376E8 00034648 C0 02 84 14 */ lfs f0, lbl_805AA134@sda21(r2)
/* 800376EC 0003464C 3B A0 00 01 */ li r29, 1
/* 800376F0 00034650 FC 40 08 90 */ fmr f2, f1
/* 800376F4 00034654 D0 21 00 58 */ stfs f1, 0x58(r1)
/* 800376F8 00034658 FC 60 08 90 */ fmr f3, f1
/* 800376FC 0003465C FC 80 08 90 */ fmr f4, f1
/* 80037700 00034660 D0 21 00 5C */ stfs f1, 0x5c(r1)
/* 80037704 00034664 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 80037708 00034668 D0 01 00 64 */ stfs f0, 0x64(r1)
/* 8003770C 0003466C D0 01 00 68 */ stfs f0, 0x68(r1)
/* 80037710 00034670 D0 01 00 6C */ stfs f0, 0x6c(r1)
/* 80037714 00034674 48 32 BC D9 */ bl __ct__6CColorFffff
/* 80037718 00034678 7C 7A 1B 78 */ mr r26, r3
/* 8003771C 0003467C 7F E3 FB 78 */ mr r3, r31
/* 80037720 00034680 48 0F 8B 0D */ bl GetScaleForPOV__19CHUDBillboardEffectFRC13CStateManager
/* 80037724 00034684 7C 7B 1B 78 */ mr r27, r3
/* 80037728 00034688 7F E3 FB 78 */ mr r3, r31
/* 8003772C 0003468C 48 0F 8A CD */ bl GetNearClipDistance__19CHUDBillboardEffectFRC13CStateManager
/* 80037730 00034690 38 61 00 58 */ addi r3, r1, 0x58
/* 80037734 00034694 38 01 00 64 */ addi r0, r1, 0x64
/* 80037738 00034698 90 61 00 08 */ stw r3, 8(r1)
/* 8003773C 0003469C 7F 23 CB 78 */ mr r3, r25
/* 80037740 000346A0 7F 69 DB 78 */ mr r9, r27
/* 80037744 000346A4 7F 4A D3 78 */ mr r10, r26
/* 80037748 000346A8 90 01 00 0C */ stw r0, 0xc(r1)
/* 8003774C 000346AC 38 81 00 30 */ addi r4, r1, 0x30
/* 80037750 000346B0 38 A1 00 3C */ addi r5, r1, 0x3c
/* 80037754 000346B4 38 C1 00 1C */ addi r6, r1, 0x1c
/* 80037758 000346B8 39 01 00 48 */ addi r8, r1, 0x48
/* 8003775C 000346BC 38 E0 00 01 */ li r7, 1
/* 80037760 000346C0 48 0F 87 99 */ bl "__ct__19CHUDBillboardEffectFRCQ24rstl44optional_object<25TToken<15CGenDescription>>RCQ24rstl49optional_object<30TToken<20CElectricDescription>>9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>fRC9CVector3fRC6CColorRC9CVector3fRC9CVector3f"
/* 80037764 000346C4 7C 79 1B 78 */ mr r25, r3
lbl_80037768:
/* 80037768 000346C8 7F E3 FB 78 */ mr r3, r31
/* 8003776C 000346CC 7F 24 CB 78 */ mr r4, r25
/* 80037770 000346D0 48 01 55 85 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence
/* 80037774 000346D4 7F 00 07 75 */ extsb. r0, r24
/* 80037778 000346D8 41 82 00 28 */ beq lbl_800377A0
/* 8003777C 000346DC 88 01 00 38 */ lbz r0, 0x38(r1)
/* 80037780 000346E0 28 00 00 00 */ cmplwi r0, 0
/* 80037784 000346E4 41 82 00 14 */ beq lbl_80037798
/* 80037788 000346E8 34 61 00 30 */ addic. r3, r1, 0x30
/* 8003778C 000346EC 41 82 00 0C */ beq lbl_80037798
/* 80037790 000346F0 38 80 00 00 */ li r4, 0
/* 80037794 000346F4 48 30 96 AD */ bl __dt__6CTokenFv
lbl_80037798:
/* 80037798 000346F8 38 00 00 00 */ li r0, 0
/* 8003779C 000346FC 98 01 00 38 */ stb r0, 0x38(r1)
lbl_800377A0:
/* 800377A0 00034700 7F 80 07 75 */ extsb. r0, r28
/* 800377A4 00034704 41 82 00 28 */ beq lbl_800377CC
/* 800377A8 00034708 88 01 00 44 */ lbz r0, 0x44(r1)
/* 800377AC 0003470C 28 00 00 00 */ cmplwi r0, 0
/* 800377B0 00034710 41 82 00 14 */ beq lbl_800377C4
/* 800377B4 00034714 34 61 00 3C */ addic. r3, r1, 0x3c
/* 800377B8 00034718 41 82 00 0C */ beq lbl_800377C4
/* 800377BC 0003471C 38 80 00 00 */ li r4, 0
/* 800377C0 00034720 48 30 96 81 */ bl __dt__6CTokenFv
lbl_800377C4:
/* 800377C4 00034724 38 00 00 00 */ li r0, 0
/* 800377C8 00034728 98 01 00 44 */ stb r0, 0x44(r1)
lbl_800377CC:
/* 800377CC 0003472C 7F A0 07 75 */ extsb. r0, r29
/* 800377D0 00034730 41 82 00 0C */ beq lbl_800377DC
/* 800377D4 00034734 38 61 00 48 */ addi r3, r1, 0x48
/* 800377D8 00034738 48 30 63 09 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_800377DC:
/* 800377DC 0003473C A0 9E 01 68 */ lhz r4, 0x168(r30)
/* 800377E0 00034740 38 61 00 20 */ addi r3, r1, 0x20
/* 800377E4 00034744 A9 02 C5 FA */ lha r8, lbl_805AE31A@sda21(r2)
/* 800377E8 00034748 38 A0 00 7F */ li r5, 0x7f
/* 800377EC 0003474C 81 42 C6 00 */ lwz r10, lbl_805AE320@sda21(r2)
/* 800377F0 00034750 38 C0 00 40 */ li r6, 0x40
/* 800377F4 00034754 38 E0 00 00 */ li r7, 0
/* 800377F8 00034758 39 20 00 00 */ li r9, 0
/* 800377FC 0003475C 48 2B 25 79 */ bl SfxStart__11CSfxManagerFUsssbsbi
/* 80037800 00034760 88 1E 02 E4 */ lbz r0, 0x2e4(r30)
/* 80037804 00034764 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 80037808 00034768 41 82 00 24 */ beq lbl_8003782C
/* 8003780C 0003476C A0 1E 00 08 */ lhz r0, 8(r30)
/* 80037810 00034770 7F E3 FB 78 */ mr r3, r31
/* 80037814 00034774 38 A1 00 14 */ addi r5, r1, 0x14
/* 80037818 00034778 38 C0 00 2B */ li r6, 0x2b
/* 8003781C 0003477C B0 01 00 14 */ sth r0, 0x14(r1)
/* 80037820 00034780 B0 01 00 10 */ sth r0, 0x10(r1)
/* 80037824 00034784 80 9F 08 4C */ lwz r4, 0x84c(r31)
/* 80037828 00034788 48 00 C6 A9 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TUniqueId20EScriptObjectMessage
lbl_8003782C:
/* 8003782C 0003478C E3 E1 01 18 */ psq_l f31, 280(r1), 0, qr0
/* 80037830 00034790 CB E1 01 10 */ lfd f31, 0x110(r1)
/* 80037834 00034794 E3 C1 01 08 */ psq_l f30, 264(r1), 0, qr0
/* 80037838 00034798 CB C1 01 00 */ lfd f30, 0x100(r1)
/* 8003783C 0003479C E3 A1 00 F8 */ psq_l f29, 248(r1), 0, qr0
/* 80037840 000347A0 CB A1 00 F0 */ lfd f29, 0xf0(r1)
/* 80037844 000347A4 BB 01 00 D0 */ lmw r24, 0xd0(r1)
/* 80037848 000347A8 80 01 01 24 */ lwz r0, 0x124(r1)
/* 8003784C 000347AC 7C 08 03 A6 */ mtlr r0
/* 80037850 000347B0 38 21 01 20 */ addi r1, r1, 0x120
.global sub_80037854
sub_80037854:
/* 80037854 000347B4 4E 80 00 20 */ blr
.global GetBeamAttribType__15CGameProjectileF11EWeaponType
GetBeamAttribType__15CGameProjectileF11EWeaponType:
/* 80037858 000347B8 2C 03 00 03 */ cmpwi r3, 3
/* 8003785C 000347BC 41 82 00 34 */ beq lbl_80037890
/* 80037860 000347C0 40 80 00 14 */ bge lbl_80037874
/* 80037864 000347C4 2C 03 00 01 */ cmpwi r3, 1
/* 80037868 000347C8 41 82 00 18 */ beq lbl_80037880
/* 8003786C 000347CC 40 80 00 1C */ bge lbl_80037888
/* 80037870 000347D0 48 00 00 30 */ b lbl_800378A0
lbl_80037874:
/* 80037874 000347D4 2C 03 00 08 */ cmpwi r3, 8
/* 80037878 000347D8 41 82 00 20 */ beq lbl_80037898
/* 8003787C 000347DC 48 00 00 24 */ b lbl_800378A0
lbl_80037880:
/* 80037880 000347E0 38 60 00 08 */ li r3, 8
/* 80037884 000347E4 4E 80 00 20 */ blr
lbl_80037888:
/* 80037888 000347E8 38 60 00 10 */ li r3, 0x10
/* 8003788C 000347EC 4E 80 00 20 */ blr
lbl_80037890:
/* 80037890 000347F0 38 60 00 20 */ li r3, 0x20
/* 80037894 000347F4 4E 80 00 20 */ blr
lbl_80037898:
/* 80037898 000347F8 38 60 00 40 */ li r3, 0x40
/* 8003789C 000347FC 4E 80 00 20 */ blr
lbl_800378A0:
/* 800378A0 00034800 38 60 00 00 */ li r3, 0
/* 800378A4 00034804 4E 80 00 20 */ blr
.global DeleteProjectileLight__15CGameProjectileFR13CStateManager
DeleteProjectileLight__15CGameProjectileFR13CStateManager:
/* 800378A8 00034808 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800378AC 0003480C 7C 08 02 A6 */ mflr r0
/* 800378B0 00034810 90 01 00 24 */ stw r0, 0x24(r1)
/* 800378B4 00034814 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800378B8 00034818 7C 7F 1B 78 */ mr r31, r3
/* 800378BC 0003481C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 800378C0 00034820 A0 63 02 C8 */ lhz r3, 0x2c8(r3)
/* 800378C4 00034824 7C 03 00 40 */ cmplw r3, r0
/* 800378C8 00034828 41 82 00 20 */ beq lbl_800378E8
/* 800378CC 0003482C A0 1F 02 C8 */ lhz r0, 0x2c8(r31)
/* 800378D0 00034830 7C 83 23 78 */ mr r3, r4
/* 800378D4 00034834 38 81 00 08 */ addi r4, r1, 8
/* 800378D8 00034838 B0 01 00 08 */ sth r0, 8(r1)
/* 800378DC 0003483C 48 01 49 91 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 800378E0 00034840 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 800378E4 00034844 B0 1F 02 C8 */ sth r0, 0x2c8(r31)
lbl_800378E8:
/* 800378E8 00034848 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800378EC 0003484C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800378F0 00034850 7C 08 03 A6 */ mtlr r0
/* 800378F4 00034854 38 21 00 20 */ addi r1, r1, 0x20
/* 800378F8 00034858 4E 80 00 20 */ blr
.global "CreateProjectileLight__15CGameProjectileFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC6CLightR13CStateManager"
"CreateProjectileLight__15CGameProjectileFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC6CLightR13CStateManager":
/* 800378FC 0003485C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80037900 00034860 7C 08 02 A6 */ mflr r0
/* 80037904 00034864 90 01 00 54 */ stw r0, 0x54(r1)
/* 80037908 00034868 BF 21 00 34 */ stmw r25, 0x34(r1)
/* 8003790C 0003486C 7C DC 33 78 */ mr r28, r6
/* 80037910 00034870 7C 9A 23 78 */ mr r26, r4
/* 80037914 00034874 7C 79 1B 78 */ mr r25, r3
/* 80037918 00034878 7C BB 2B 78 */ mr r27, r5
/* 8003791C 0003487C 7F 84 E3 78 */ mr r4, r28
/* 80037920 00034880 4B FF FF 89 */ bl DeleteProjectileLight__15CGameProjectileFR13CStateManager
/* 80037924 00034884 7F 84 E3 78 */ mr r4, r28
/* 80037928 00034888 38 61 00 1C */ addi r3, r1, 0x1c
/* 8003792C 0003488C 48 01 57 B1 */ bl AllocateUniqueId__13CStateManagerFv
/* 80037930 00034890 A0 01 00 1C */ lhz r0, 0x1c(r1)
/* 80037934 00034894 3C 60 80 3D */ lis r3, lbl_803CCE20@ha
/* 80037938 00034898 38 83 CE 20 */ addi r4, r3, lbl_803CCE20@l
/* 8003793C 0003489C 38 A0 00 00 */ li r5, 0
/* 80037940 000348A0 B0 19 02 C8 */ sth r0, 0x2c8(r25)
/* 80037944 000348A4 38 60 01 48 */ li r3, 0x148
/* 80037948 000348A8 83 B9 02 CC */ lwz r29, 0x2cc(r25)
/* 8003794C 000348AC 48 2D DF 21 */ bl __nw__FUlPCcPCc
/* 80037950 000348B0 7C 7F 1B 79 */ or. r31, r3, r3
/* 80037954 000348B4 41 82 00 6C */ beq lbl_800379C0
/* 80037958 000348B8 A0 B9 00 08 */ lhz r5, 8(r25)
/* 8003795C 000348BC 7F 24 CB 78 */ mr r4, r25
/* 80037960 000348C0 38 61 00 20 */ addi r3, r1, 0x20
/* 80037964 000348C4 B0 A1 00 18 */ sth r5, 0x18(r1)
/* 80037968 000348C8 88 19 00 30 */ lbz r0, 0x30(r25)
/* 8003796C 000348CC B0 A1 00 14 */ sth r5, 0x14(r1)
/* 80037970 000348D0 54 1E CF FE */ rlwinm r30, r0, 0x19, 0x1f, 0x1f
/* 80037974 000348D4 48 01 97 11 */ bl GetAreaId__7CEntityCFv
/* 80037978 000348D8 80 81 00 20 */ lwz r4, 0x20(r1)
/* 8003797C 000348DC 38 00 00 00 */ li r0, 0
/* 80037980 000348E0 C0 22 84 14 */ lfs f1, lbl_805AA134@sda21(r2)
/* 80037984 000348E4 7F E3 FB 78 */ mr r3, r31
/* 80037988 000348E8 90 81 00 24 */ stw r4, 0x24(r1)
/* 8003798C 000348EC 7F C6 F3 78 */ mr r6, r30
/* 80037990 000348F0 7F 47 D3 78 */ mr r7, r26
/* 80037994 000348F4 7F 6A DB 78 */ mr r10, r27
/* 80037998 000348F8 A1 39 02 C8 */ lhz r9, 0x2c8(r25)
/* 8003799C 000348FC 38 81 00 10 */ addi r4, r1, 0x10
/* 800379A0 00034900 38 A1 00 24 */ addi r5, r1, 0x24
/* 800379A4 00034904 39 19 00 34 */ addi r8, r25, 0x34
/* 800379A8 00034908 B1 21 00 10 */ sth r9, 0x10(r1)
/* 800379AC 0003490C 39 21 00 18 */ addi r9, r1, 0x18
/* 800379B0 00034910 93 A1 00 08 */ stw r29, 8(r1)
/* 800379B4 00034914 90 01 00 0C */ stw r0, 0xc(r1)
/* 800379B8 00034918 48 07 DE 6D */ bl "__ct__10CGameLightF9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC12CTransform4f9TUniqueIdRC6CLightUiUif"
/* 800379BC 0003491C 7C 7F 1B 78 */ mr r31, r3
lbl_800379C0:
/* 800379C0 00034920 7F 83 E3 78 */ mr r3, r28
/* 800379C4 00034924 7F E4 FB 78 */ mr r4, r31
/* 800379C8 00034928 48 01 53 2D */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence
/* 800379CC 0003492C BB 21 00 34 */ lmw r25, 0x34(r1)
/* 800379D0 00034930 80 01 00 54 */ lwz r0, 0x54(r1)
/* 800379D4 00034934 7C 08 03 A6 */ mtlr r0
/* 800379D8 00034938 38 21 00 50 */ addi r1, r1, 0x50
/* 800379DC 0003493C 4E 80 00 20 */ blr
.global Chase__15CGameProjectileFfR13CStateManager
Chase__15CGameProjectileFfR13CStateManager:
/* 800379E0 00034940 94 21 FE 00 */ stwu r1, -0x200(r1)
/* 800379E4 00034944 7C 08 02 A6 */ mflr r0
/* 800379E8 00034948 90 01 02 04 */ stw r0, 0x204(r1)
/* 800379EC 0003494C DB E1 01 F0 */ stfd f31, 0x1f0(r1)
/* 800379F0 00034950 F3 E1 01 F8 */ psq_st f31, 504(r1), 0, qr0
/* 800379F4 00034954 DB C1 01 E0 */ stfd f30, 0x1e0(r1)
/* 800379F8 00034958 F3 C1 01 E8 */ psq_st f30, 488(r1), 0, qr0
/* 800379FC 0003495C DB A1 01 D0 */ stfd f29, 0x1d0(r1)
/* 80037A00 00034960 F3 A1 01 D8 */ psq_st f29, 472(r1), 0, qr0
/* 80037A04 00034964 DB 81 01 C0 */ stfd f28, 0x1c0(r1)
/* 80037A08 00034968 F3 81 01 C8 */ psq_st f28, 456(r1), 0, qr0
/* 80037A0C 0003496C 93 E1 01 BC */ stw r31, 0x1bc(r1)
/* 80037A10 00034970 93 C1 01 B8 */ stw r30, 0x1b8(r1)
/* 80037A14 00034974 93 A1 01 B4 */ stw r29, 0x1b4(r1)
/* 80037A18 00034978 88 03 02 94 */ lbz r0, 0x294(r3)
/* 80037A1C 0003497C FF E0 08 90 */ fmr f31, f1
/* 80037A20 00034980 7C 7D 1B 78 */ mr r29, r3
/* 80037A24 00034984 7C 9E 23 78 */ mr r30, r4
/* 80037A28 00034988 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80037A2C 0003498C 41 82 03 F0 */ beq lbl_80037E1C
/* 80037A30 00034990 A0 7D 02 C0 */ lhz r3, 0x2c0(r29)
/* 80037A34 00034994 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80037A38 00034998 7C 03 00 40 */ cmplw r3, r0
/* 80037A3C 0003499C 41 82 03 E0 */ beq lbl_80037E1C
/* 80037A40 000349A0 A0 1D 02 C0 */ lhz r0, 0x2c0(r29)
/* 80037A44 000349A4 7F C3 F3 78 */ mr r3, r30
/* 80037A48 000349A8 38 81 00 08 */ addi r4, r1, 8
/* 80037A4C 000349AC B0 01 00 08 */ sth r0, 8(r1)
/* 80037A50 000349B0 48 01 4B 55 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80037A54 000349B4 7C 64 1B 78 */ mr r4, r3
/* 80037A58 000349B8 38 61 00 1C */ addi r3, r1, 0x1c
/* 80037A5C 000349BC 48 07 82 35 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80037A60 000349C0 83 E3 00 04 */ lwz r31, 4(r3)
/* 80037A64 000349C4 28 1F 00 00 */ cmplwi r31, 0
/* 80037A68 000349C8 41 82 03 B4 */ beq lbl_80037E1C
/* 80037A6C 000349CC 80 BF 00 68 */ lwz r5, 0x68(r31)
/* 80037A70 000349D0 38 00 01 00 */ li r0, 0x100
/* 80037A74 000349D4 80 DF 00 6C */ lwz r6, 0x6c(r31)
/* 80037A78 000349D8 38 80 00 00 */ li r4, 0
/* 80037A7C 000349DC 7C A0 00 38 */ and r0, r5, r0
/* 80037A80 000349E0 7C C3 20 38 */ and r3, r6, r4
/* 80037A84 000349E4 7C 63 22 78 */ xor r3, r3, r4
/* 80037A88 000349E8 7C 00 22 78 */ xor r0, r0, r4
/* 80037A8C 000349EC 7C 60 03 79 */ or. r0, r3, r0
/* 80037A90 000349F0 41 82 00 08 */ beq lbl_80037A98
/* 80037A94 000349F4 38 80 00 01 */ li r4, 1
lbl_80037A98:
/* 80037A98 000349F8 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 80037A9C 000349FC 40 82 00 30 */ bne lbl_80037ACC
/* 80037AA0 00034A00 38 80 00 00 */ li r4, 0
/* 80037AA4 00034A04 38 00 00 01 */ li r0, 1
/* 80037AA8 00034A08 7C C3 20 38 */ and r3, r6, r4
/* 80037AAC 00034A0C 7C A0 00 38 */ and r0, r5, r0
/* 80037AB0 00034A10 7C 63 22 78 */ xor r3, r3, r4
/* 80037AB4 00034A14 7C 00 22 78 */ xor r0, r0, r4
/* 80037AB8 00034A18 7C 60 03 79 */ or. r0, r3, r0
/* 80037ABC 00034A1C 40 82 00 10 */ bne lbl_80037ACC
/* 80037AC0 00034A20 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80037AC4 00034A24 B0 1D 02 C0 */ sth r0, 0x2c0(r29)
/* 80037AC8 00034A28 48 00 03 54 */ b lbl_80037E1C
lbl_80037ACC:
/* 80037ACC 00034A2C 7F E4 FB 78 */ mr r4, r31
/* 80037AD0 00034A30 7F C5 F3 78 */ mr r5, r30
/* 80037AD4 00034A34 81 9F 00 00 */ lwz r12, 0(r31)
/* 80037AD8 00034A38 38 61 00 50 */ addi r3, r1, 0x50
/* 80037ADC 00034A3C C0 22 84 14 */ lfs f1, lbl_805AA134@sda21(r2)
/* 80037AE0 00034A40 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 80037AE4 00034A44 7D 89 03 A6 */ mtctr r12
/* 80037AE8 00034A48 4E 80 04 21 */ bctrl
/* 80037AEC 00034A4C C3 A1 00 50 */ lfs f29, 0x50(r1)
/* 80037AF0 00034A50 7F E4 FB 78 */ mr r4, r31
/* 80037AF4 00034A54 C3 C1 00 54 */ lfs f30, 0x54(r1)
/* 80037AF8 00034A58 38 61 00 14 */ addi r3, r1, 0x14
/* 80037AFC 00034A5C C3 81 00 58 */ lfs f28, 0x58(r1)
/* 80037B00 00034A60 48 06 E1 11 */ bl "__ct__31TCastToPtr<17CWallCrawlerSwarm>FP7CEntity"
/* 80037B04 00034A64 83 C3 00 04 */ lwz r30, 4(r3)
/* 80037B08 00034A68 28 1E 00 00 */ cmplwi r30, 0
/* 80037B0C 00034A6C 41 82 00 6C */ beq lbl_80037B78
/* 80037B10 00034A70 80 DE 04 2C */ lwz r6, 0x42c(r30)
/* 80037B14 00034A74 38 A0 00 00 */ li r5, 0
/* 80037B18 00034A78 2C 06 FF FF */ cmpwi r6, -1
/* 80037B1C 00034A7C 40 81 00 2C */ ble lbl_80037B48
/* 80037B20 00034A80 80 1E 01 0C */ lwz r0, 0x10c(r30)
/* 80037B24 00034A84 7C 06 00 00 */ cmpw r6, r0
/* 80037B28 00034A88 40 80 00 20 */ bge lbl_80037B48
/* 80037B2C 00034A8C 1C 66 00 84 */ mulli r3, r6, 0x84
/* 80037B30 00034A90 80 9E 01 14 */ lwz r4, 0x114(r30)
/* 80037B34 00034A94 38 03 00 80 */ addi r0, r3, 0x80
/* 80037B38 00034A98 7C 04 00 AE */ lbzx r0, r4, r0
/* 80037B3C 00034A9C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80037B40 00034AA0 41 82 00 08 */ beq lbl_80037B48
/* 80037B44 00034AA4 38 A0 00 01 */ li r5, 1
lbl_80037B48:
/* 80037B48 00034AA8 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 80037B4C 00034AAC 41 82 00 20 */ beq lbl_80037B6C
/* 80037B50 00034AB0 1C 06 00 84 */ mulli r0, r6, 0x84
/* 80037B54 00034AB4 80 7E 01 14 */ lwz r3, 0x114(r30)
/* 80037B58 00034AB8 7C 63 02 14 */ add r3, r3, r0
/* 80037B5C 00034ABC C3 A3 00 0C */ lfs f29, 0xc(r3)
/* 80037B60 00034AC0 C3 C3 00 1C */ lfs f30, 0x1c(r3)
/* 80037B64 00034AC4 C3 83 00 2C */ lfs f28, 0x2c(r3)
/* 80037B68 00034AC8 48 00 00 10 */ b lbl_80037B78
lbl_80037B6C:
/* 80037B6C 00034ACC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80037B70 00034AD0 B0 1D 02 C0 */ sth r0, 0x2c0(r29)
/* 80037B74 00034AD4 48 00 02 A8 */ b lbl_80037E1C
lbl_80037B78:
/* 80037B78 00034AD8 38 9D 01 70 */ addi r4, r29, 0x170
/* 80037B7C 00034ADC 38 61 00 44 */ addi r3, r1, 0x44
/* 80037B80 00034AE0 81 9D 01 70 */ lwz r12, 0x170(r29)
/* 80037B84 00034AE4 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 80037B88 00034AE8 7D 89 03 A6 */ mtctr r12
/* 80037B8C 00034AEC 4E 80 04 21 */ bctrl
/* 80037B90 00034AF0 C0 41 00 44 */ lfs f2, 0x44(r1)
/* 80037B94 00034AF4 C0 01 00 48 */ lfs f0, 0x48(r1)
/* 80037B98 00034AF8 C0 21 00 4C */ lfs f1, 0x4c(r1)
/* 80037B9C 00034AFC EC 7D 10 28 */ fsubs f3, f29, f2
/* 80037BA0 00034B00 EC 5E 00 28 */ fsubs f2, f30, f0
/* 80037BA4 00034B04 C0 02 84 14 */ lfs f0, lbl_805AA134@sda21(r2)
/* 80037BA8 00034B08 EC 3C 08 28 */ fsubs f1, f28, f1
/* 80037BAC 00034B0C D0 61 00 78 */ stfs f3, 0x78(r1)
/* 80037BB0 00034B10 D0 41 00 7C */ stfs f2, 0x7c(r1)
/* 80037BB4 00034B14 D0 21 00 80 */ stfs f1, 0x80(r1)
/* 80037BB8 00034B18 C0 3D 02 E0 */ lfs f1, 0x2e0(r29)
/* 80037BBC 00034B1C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80037BC0 00034B20 40 81 00 24 */ ble lbl_80037BE4
/* 80037BC4 00034B24 38 61 00 78 */ addi r3, r1, 0x78
/* 80037BC8 00034B28 48 2D CC F1 */ bl Magnitude__9CVector3fCFv
/* 80037BCC 00034B2C C0 1D 02 E0 */ lfs f0, 0x2e0(r29)
/* 80037BD0 00034B30 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80037BD4 00034B34 40 80 00 10 */ bge lbl_80037BE4
/* 80037BD8 00034B38 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80037BDC 00034B3C B0 1D 02 C0 */ sth r0, 0x2c0(r29)
/* 80037BE0 00034B40 48 00 02 3C */ b lbl_80037E1C
lbl_80037BE4:
/* 80037BE4 00034B44 7F E4 FB 78 */ mr r4, r31
/* 80037BE8 00034B48 38 61 00 0C */ addi r3, r1, 0xc
/* 80037BEC 00034B4C 48 07 4A F9 */ bl "__ct__27TCastToPtr<13CPhysicsActor>FP7CEntity"
/* 80037BF0 00034B50 28 1E 00 00 */ cmplwi r30, 0
/* 80037BF4 00034B54 80 03 00 04 */ lwz r0, 4(r3)
/* 80037BF8 00034B58 40 82 00 A4 */ bne lbl_80037C9C
/* 80037BFC 00034B5C 28 00 00 00 */ cmplwi r0, 0
/* 80037C00 00034B60 40 82 00 9C */ bne lbl_80037C9C
/* 80037C04 00034B64 7F E4 FB 78 */ mr r4, r31
/* 80037C08 00034B68 38 61 00 84 */ addi r3, r1, 0x84
/* 80037C0C 00034B6C 81 9F 00 00 */ lwz r12, 0(r31)
/* 80037C10 00034B70 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 80037C14 00034B74 7D 89 03 A6 */ mtctr r12
/* 80037C18 00034B78 4E 80 04 21 */ bctrl
/* 80037C1C 00034B7C 88 01 00 9C */ lbz r0, 0x9c(r1)
/* 80037C20 00034B80 28 00 00 00 */ cmplwi r0, 0
/* 80037C24 00034B84 98 01 00 B8 */ stb r0, 0xb8(r1)
/* 80037C28 00034B88 41 82 00 3C */ beq lbl_80037C64
/* 80037C2C 00034B8C 34 61 00 A0 */ addic. r3, r1, 0xa0
/* 80037C30 00034B90 41 82 00 34 */ beq lbl_80037C64
/* 80037C34 00034B94 C0 01 00 84 */ lfs f0, 0x84(r1)
/* 80037C38 00034B98 D0 03 00 00 */ stfs f0, 0(r3)
/* 80037C3C 00034B9C C0 01 00 88 */ lfs f0, 0x88(r1)
/* 80037C40 00034BA0 D0 03 00 04 */ stfs f0, 4(r3)
/* 80037C44 00034BA4 C0 01 00 8C */ lfs f0, 0x8c(r1)
/* 80037C48 00034BA8 D0 03 00 08 */ stfs f0, 8(r3)
/* 80037C4C 00034BAC C0 01 00 90 */ lfs f0, 0x90(r1)
/* 80037C50 00034BB0 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80037C54 00034BB4 C0 01 00 94 */ lfs f0, 0x94(r1)
/* 80037C58 00034BB8 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80037C5C 00034BBC C0 01 00 98 */ lfs f0, 0x98(r1)
/* 80037C60 00034BC0 D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_80037C64:
/* 80037C64 00034BC4 88 01 00 B8 */ lbz r0, 0xb8(r1)
/* 80037C68 00034BC8 38 60 00 00 */ li r3, 0
/* 80037C6C 00034BCC 98 61 00 9C */ stb r3, 0x9c(r1)
/* 80037C70 00034BD0 28 00 00 00 */ cmplwi r0, 0
/* 80037C74 00034BD4 41 82 00 20 */ beq lbl_80037C94
/* 80037C78 00034BD8 C0 21 00 B4 */ lfs f1, 0xb4(r1)
/* 80037C7C 00034BDC C0 01 00 A8 */ lfs f0, 0xa8(r1)
/* 80037C80 00034BE0 C0 42 84 18 */ lfs f2, lbl_805AA138@sda21(r2)
/* 80037C84 00034BE4 EC 21 00 28 */ fsubs f1, f1, f0
/* 80037C88 00034BE8 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 80037C8C 00034BEC EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 80037C90 00034BF0 D0 01 00 80 */ stfs f0, 0x80(r1)
lbl_80037C94:
/* 80037C94 00034BF4 38 00 00 00 */ li r0, 0
/* 80037C98 00034BF8 98 01 00 B8 */ stb r0, 0xb8(r1)
lbl_80037C9C:
/* 80037C9C 00034BFC 38 61 01 4C */ addi r3, r1, 0x14c
/* 80037CA0 00034C00 38 9D 01 70 */ addi r4, r29, 0x170
/* 80037CA4 00034C04 48 27 89 35 */ bl GetTransform__17CProjectileWeaponFv
/* 80037CA8 00034C08 C0 41 01 70 */ lfs f2, 0x170(r1)
/* 80037CAC 00034C0C 38 61 00 34 */ addi r3, r1, 0x34
/* 80037CB0 00034C10 C0 21 01 60 */ lfs f1, 0x160(r1)
/* 80037CB4 00034C14 38 81 00 6C */ addi r4, r1, 0x6c
/* 80037CB8 00034C18 C0 01 01 50 */ lfs f0, 0x150(r1)
/* 80037CBC 00034C1C 38 A1 00 78 */ addi r5, r1, 0x78
/* 80037CC0 00034C20 D0 21 00 70 */ stfs f1, 0x70(r1)
/* 80037CC4 00034C24 D0 01 00 6C */ stfs f0, 0x6c(r1)
/* 80037CC8 00034C28 D0 41 00 74 */ stfs f2, 0x74(r1)
/* 80037CCC 00034C2C 48 2D 9D ED */ bl ShortestRotationArc__11CQuaternionFRC9CVector3fRC9CVector3f
/* 80037CD0 00034C30 C0 C1 00 34 */ lfs f6, 0x34(r1)
/* 80037CD4 00034C34 C0 02 84 1C */ lfs f0, lbl_805AA13C@sda21(r2)
/* 80037CD8 00034C38 C0 A1 00 38 */ lfs f5, 0x38(r1)
/* 80037CDC 00034C3C EC 00 01 B2 */ fmuls f0, f0, f6
/* 80037CE0 00034C40 C0 81 00 3C */ lfs f4, 0x3c(r1)
/* 80037CE4 00034C44 C0 61 00 40 */ lfs f3, 0x40(r1)
/* 80037CE8 00034C48 C0 22 84 10 */ lfs f1, lbl_805AA130@sda21(r2)
/* 80037CEC 00034C4C EC 40 01 B2 */ fmuls f2, f0, f6
/* 80037CF0 00034C50 C0 02 84 20 */ lfs f0, lbl_805AA140@sda21(r2)
/* 80037CF4 00034C54 D0 C1 00 5C */ stfs f6, 0x5c(r1)
/* 80037CF8 00034C58 EF 82 08 28 */ fsubs f28, f2, f1
/* 80037CFC 00034C5C D0 A1 00 60 */ stfs f5, 0x60(r1)
/* 80037D00 00034C60 D0 81 00 64 */ stfs f4, 0x64(r1)
/* 80037D04 00034C64 FC 1C 00 40 */ fcmpo cr0, f28, f0
/* 80037D08 00034C68 D0 61 00 68 */ stfs f3, 0x68(r1)
/* 80037D0C 00034C6C 41 81 01 10 */ bgt lbl_80037E1C
/* 80037D10 00034C70 88 1D 02 E4 */ lbz r0, 0x2e4(r29)
/* 80037D14 00034C74 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 80037D18 00034C78 41 82 00 18 */ beq lbl_80037D30
/* 80037D1C 00034C7C 38 7D 01 70 */ addi r3, r29, 0x170
/* 80037D20 00034C80 48 27 74 39 */ bl GetMaxTurnRate__17CProjectileWeaponCFv
/* 80037D24 00034C84 C0 02 84 18 */ lfs f0, lbl_805AA138@sda21(r2)
/* 80037D28 00034C88 EC 20 00 72 */ fmuls f1, f0, f1
/* 80037D2C 00034C8C 48 00 00 0C */ b lbl_80037D38
lbl_80037D30:
/* 80037D30 00034C90 38 7D 01 70 */ addi r3, r29, 0x170
/* 80037D34 00034C94 48 27 74 25 */ bl GetMaxTurnRate__17CProjectileWeaponCFv
lbl_80037D38:
/* 80037D38 00034C98 EC 1F 00 72 */ fmuls f0, f31, f1
/* 80037D3C 00034C9C C0 42 84 24 */ lfs f2, lbl_805AA144@sda21(r2)
/* 80037D40 00034CA0 FC 20 E0 90 */ fmr f1, f28
/* 80037D44 00034CA4 EF 82 00 32 */ fmuls f28, f2, f0
/* 80037D48 00034CA8 48 35 CE E5 */ bl acos
/* 80037D4C 00034CAC FC 20 08 18 */ frsp f1, f1
/* 80037D50 00034CB0 FC 1C 08 40 */ fcmpo cr0, f28, f1
/* 80037D54 00034CB4 40 80 00 80 */ bge lbl_80037DD4
/* 80037D58 00034CB8 C0 02 84 18 */ lfs f0, lbl_805AA138@sda21(r2)
/* 80037D5C 00034CBC EC 20 00 72 */ fmuls f1, f0, f1
/* 80037D60 00034CC0 48 35 CD 7D */ bl sin
/* 80037D64 00034CC4 C0 02 84 18 */ lfs f0, lbl_805AA138@sda21(r2)
/* 80037D68 00034CC8 FF E0 08 90 */ fmr f31, f1
/* 80037D6C 00034CCC EF 80 07 32 */ fmuls f28, f0, f28
/* 80037D70 00034CD0 FC 20 E0 90 */ fmr f1, f28
/* 80037D74 00034CD4 48 35 CD 69 */ bl sin
/* 80037D78 00034CD8 FC A0 08 18 */ frsp f5, f1
/* 80037D7C 00034CDC C0 61 00 60 */ lfs f3, 0x60(r1)
/* 80037D80 00034CE0 FC 80 F8 18 */ frsp f4, f31
/* 80037D84 00034CE4 C0 41 00 64 */ lfs f2, 0x64(r1)
/* 80037D88 00034CE8 C0 01 00 68 */ lfs f0, 0x68(r1)
/* 80037D8C 00034CEC FC 20 E0 90 */ fmr f1, f28
/* 80037D90 00034CF0 EC 85 20 24 */ fdivs f4, f5, f4
/* 80037D94 00034CF4 EF A4 00 F2 */ fmuls f29, f4, f3
/* 80037D98 00034CF8 EF C4 00 B2 */ fmuls f30, f4, f2
/* 80037D9C 00034CFC EF E4 00 32 */ fmuls f31, f4, f0
/* 80037DA0 00034D00 48 35 C6 51 */ bl cos
/* 80037DA4 00034D04 D3 A1 00 28 */ stfs f29, 0x28(r1)
/* 80037DA8 00034D08 FC 00 08 18 */ frsp f0, f1
/* 80037DAC 00034D0C D3 C1 00 2C */ stfs f30, 0x2c(r1)
/* 80037DB0 00034D10 80 81 00 28 */ lwz r4, 0x28(r1)
/* 80037DB4 00034D14 D3 E1 00 30 */ stfs f31, 0x30(r1)
/* 80037DB8 00034D18 80 61 00 2C */ lwz r3, 0x2c(r1)
/* 80037DBC 00034D1C 80 01 00 30 */ lwz r0, 0x30(r1)
/* 80037DC0 00034D20 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80037DC4 00034D24 D0 01 00 5C */ stfs f0, 0x5c(r1)
/* 80037DC8 00034D28 90 81 00 60 */ stw r4, 0x60(r1)
/* 80037DCC 00034D2C 90 61 00 64 */ stw r3, 0x64(r1)
/* 80037DD0 00034D30 90 01 00 68 */ stw r0, 0x68(r1)
lbl_80037DD4:
/* 80037DD4 00034D34 38 61 00 BC */ addi r3, r1, 0xbc
/* 80037DD8 00034D38 38 9D 01 70 */ addi r4, r29, 0x170
/* 80037DDC 00034D3C 48 27 87 FD */ bl GetTransform__17CProjectileWeaponFv
/* 80037DE0 00034D40 38 61 00 EC */ addi r3, r1, 0xec
/* 80037DE4 00034D44 38 81 00 5C */ addi r4, r1, 0x5c
/* 80037DE8 00034D48 48 2D A1 D1 */ bl BuildTransform4f__11CQuaternionCFv
/* 80037DEC 00034D4C 38 61 01 1C */ addi r3, r1, 0x11c
/* 80037DF0 00034D50 38 81 00 EC */ addi r4, r1, 0xec
/* 80037DF4 00034D54 38 A1 00 BC */ addi r5, r1, 0xbc
/* 80037DF8 00034D58 48 2D AB 59 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 80037DFC 00034D5C 38 61 01 7C */ addi r3, r1, 0x17c
/* 80037E00 00034D60 38 81 01 1C */ addi r4, r1, 0x11c
/* 80037E04 00034D64 48 2D AD 71 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80037E08 00034D68 38 61 01 7C */ addi r3, r1, 0x17c
/* 80037E0C 00034D6C 48 2D B5 99 */ bl Orthonormalize__12CTransform4fFv
/* 80037E10 00034D70 38 7D 01 70 */ addi r3, r29, 0x170
/* 80037E14 00034D74 38 81 01 7C */ addi r4, r1, 0x17c
/* 80037E18 00034D78 48 27 86 8D */ bl SetWorldSpaceOrientation__17CProjectileWeaponFRC12CTransform4f
lbl_80037E1C:
/* 80037E1C 00034D7C E3 E1 01 F8 */ psq_l f31, 504(r1), 0, qr0
/* 80037E20 00034D80 CB E1 01 F0 */ lfd f31, 0x1f0(r1)
/* 80037E24 00034D84 E3 C1 01 E8 */ psq_l f30, 488(r1), 0, qr0
/* 80037E28 00034D88 CB C1 01 E0 */ lfd f30, 0x1e0(r1)
/* 80037E2C 00034D8C E3 A1 01 D8 */ psq_l f29, 472(r1), 0, qr0
/* 80037E30 00034D90 CB A1 01 D0 */ lfd f29, 0x1d0(r1)
/* 80037E34 00034D94 E3 81 01 C8 */ psq_l f28, 456(r1), 0, qr0
/* 80037E38 00034D98 CB 81 01 C0 */ lfd f28, 0x1c0(r1)
/* 80037E3C 00034D9C 83 E1 01 BC */ lwz r31, 0x1bc(r1)
/* 80037E40 00034DA0 83 C1 01 B8 */ lwz r30, 0x1b8(r1)
/* 80037E44 00034DA4 80 01 02 04 */ lwz r0, 0x204(r1)
/* 80037E48 00034DA8 83 A1 01 B4 */ lwz r29, 0x1b4(r1)
/* 80037E4C 00034DAC 7C 08 03 A6 */ mtlr r0
/* 80037E50 00034DB0 38 21 02 00 */ addi r1, r1, 0x200
/* 80037E54 00034DB4 4E 80 00 20 */ blr
.global UpdateHoming__15CGameProjectileFfR13CStateManager
UpdateHoming__15CGameProjectileFfR13CStateManager:
/* 80037E58 00034DB8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80037E5C 00034DBC 7C 08 02 A6 */ mflr r0
/* 80037E60 00034DC0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80037E64 00034DC4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80037E68 00034DC8 7C 9F 23 78 */ mr r31, r4
/* 80037E6C 00034DCC 93 C1 00 08 */ stw r30, 8(r1)
/* 80037E70 00034DD0 7C 7E 1B 78 */ mr r30, r3
/* 80037E74 00034DD4 88 03 02 E4 */ lbz r0, 0x2e4(r3)
/* 80037E78 00034DD8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80037E7C 00034DDC 41 82 00 68 */ beq lbl_80037EE4
/* 80037E80 00034DE0 A0 7E 02 C0 */ lhz r3, 0x2c0(r30)
/* 80037E84 00034DE4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80037E88 00034DE8 7C 03 00 40 */ cmplw r3, r0
/* 80037E8C 00034DEC 41 82 00 58 */ beq lbl_80037EE4
/* 80037E90 00034DF0 C0 5E 02 A8 */ lfs f2, 0x2a8(r30)
/* 80037E94 00034DF4 C0 02 84 14 */ lfs f0, lbl_805AA134@sda21(r2)
/* 80037E98 00034DF8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80037E9C 00034DFC 40 81 00 48 */ ble lbl_80037EE4
/* 80037EA0 00034E00 C8 1E 02 B0 */ lfd f0, 0x2b0(r30)
/* 80037EA4 00034E04 FC 00 08 2A */ fadd f0, f0, f1
/* 80037EA8 00034E08 D8 1E 02 B0 */ stfd f0, 0x2b0(r30)
/* 80037EAC 00034E0C 48 00 00 24 */ b lbl_80037ED0
lbl_80037EB0:
/* 80037EB0 00034E10 C0 3E 02 A8 */ lfs f1, 0x2a8(r30)
/* 80037EB4 00034E14 7F C3 F3 78 */ mr r3, r30
/* 80037EB8 00034E18 7F E4 FB 78 */ mr r4, r31
/* 80037EBC 00034E1C 4B FF FB 25 */ bl Chase__15CGameProjectileFfR13CStateManager
/* 80037EC0 00034E20 C8 3E 02 B8 */ lfd f1, 0x2b8(r30)
/* 80037EC4 00034E24 C0 1E 02 A8 */ lfs f0, 0x2a8(r30)
/* 80037EC8 00034E28 FC 01 00 2A */ fadd f0, f1, f0
/* 80037ECC 00034E2C D8 1E 02 B8 */ stfd f0, 0x2b8(r30)
lbl_80037ED0:
/* 80037ED0 00034E30 C8 3E 02 B0 */ lfd f1, 0x2b0(r30)
/* 80037ED4 00034E34 C8 1E 02 B8 */ lfd f0, 0x2b8(r30)
/* 80037ED8 00034E38 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80037EDC 00034E3C 4C 41 13 82 */ cror 2, 1, 2
/* 80037EE0 00034E40 41 82 FF D0 */ beq lbl_80037EB0
lbl_80037EE4:
/* 80037EE4 00034E44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80037EE8 00034E48 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80037EEC 00034E4C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80037EF0 00034E50 7C 08 03 A6 */ mtlr r0
/* 80037EF4 00034E54 38 21 00 10 */ addi r1, r1, 0x10
/* 80037EF8 00034E58 4E 80 00 20 */ blr
.global UpdateProjectileMovement__15CGameProjectileFfR13CStateManager
UpdateProjectileMovement__15CGameProjectileFfR13CStateManager:
/* 80037EFC 00034E5C 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80037F00 00034E60 7C 08 02 A6 */ mflr r0
/* 80037F04 00034E64 90 01 00 64 */ stw r0, 0x64(r1)
/* 80037F08 00034E68 DB E1 00 50 */ stfd f31, 0x50(r1)
/* 80037F0C 00034E6C F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 80037F10 00034E70 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80037F14 00034E74 93 C1 00 48 */ stw r30, 0x48(r1)
/* 80037F18 00034E78 88 03 02 E4 */ lbz r0, 0x2e4(r3)
/* 80037F1C 00034E7C FF E0 08 90 */ fmr f31, f1
/* 80037F20 00034E80 7C 7E 1B 78 */ mr r30, r3
/* 80037F24 00034E84 7C 9F 23 78 */ mr r31, r4
/* 80037F28 00034E88 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 80037F2C 00034E8C 41 82 00 10 */ beq lbl_80037F3C
/* 80037F30 00034E90 EC 1F 07 F2 */ fmuls f0, f31, f31
/* 80037F34 00034E94 C0 22 84 28 */ lfs f1, lbl_805AA148@sda21(r2)
/* 80037F38 00034E98 EC 21 00 32 */ fmuls f1, f1, f0
lbl_80037F3C:
/* 80037F3C 00034E9C C0 7E 00 60 */ lfs f3, 0x60(r30)
/* 80037F40 00034EA0 38 7E 01 70 */ addi r3, r30, 0x170
/* 80037F44 00034EA4 C0 5E 00 50 */ lfs f2, 0x50(r30)
/* 80037F48 00034EA8 C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 80037F4C 00034EAC D0 1E 02 98 */ stfs f0, 0x298(r30)
/* 80037F50 00034EB0 D0 5E 02 9C */ stfs f2, 0x29c(r30)
/* 80037F54 00034EB4 D0 7E 02 A0 */ stfs f3, 0x2a0(r30)
/* 80037F58 00034EB8 81 9E 01 70 */ lwz r12, 0x170(r30)
/* 80037F5C 00034EBC 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80037F60 00034EC0 7D 89 03 A6 */ mtctr r12
/* 80037F64 00034EC4 4E 80 04 21 */ bctrl
/* 80037F68 00034EC8 38 61 00 14 */ addi r3, r1, 0x14
/* 80037F6C 00034ECC 38 9E 01 70 */ addi r4, r30, 0x170
/* 80037F70 00034ED0 48 27 86 69 */ bl GetTransform__17CProjectileWeaponFv
/* 80037F74 00034ED4 38 7E 00 34 */ addi r3, r30, 0x34
/* 80037F78 00034ED8 38 81 00 14 */ addi r4, r1, 0x14
/* 80037F7C 00034EDC 48 2D AB C5 */ bl __as__12CTransform4fFRC12CTransform4f
/* 80037F80 00034EE0 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 80037F84 00034EE4 38 A0 00 01 */ li r5, 1
/* 80037F88 00034EE8 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b
/* 80037F8C 00034EEC 38 9E 01 70 */ addi r4, r30, 0x170
/* 80037F90 00034EF0 98 1E 00 E4 */ stb r0, 0xe4(r30)
/* 80037F94 00034EF4 38 61 00 08 */ addi r3, r1, 8
/* 80037F98 00034EF8 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 80037F9C 00034EFC 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c
/* 80037FA0 00034F00 98 1E 00 E4 */ stb r0, 0xe4(r30)
/* 80037FA4 00034F04 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 80037FA8 00034F08 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d
/* 80037FAC 00034F0C 98 1E 00 E4 */ stb r0, 0xe4(r30)
/* 80037FB0 00034F10 81 9E 01 70 */ lwz r12, 0x170(r30)
/* 80037FB4 00034F14 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 80037FB8 00034F18 7D 89 03 A6 */ mtctr r12
/* 80037FBC 00034F1C 4E 80 04 21 */ bctrl
/* 80037FC0 00034F20 7F C3 F3 78 */ mr r3, r30
/* 80037FC4 00034F24 38 81 00 08 */ addi r4, r1, 8
/* 80037FC8 00034F28 48 01 AE C5 */ bl SetTranslation__6CActorFRC9CVector3f
/* 80037FCC 00034F2C FC 20 F8 90 */ fmr f1, f31
/* 80037FD0 00034F30 7F C3 F3 78 */ mr r3, r30
/* 80037FD4 00034F34 7F E4 FB 78 */ mr r4, r31
/* 80037FD8 00034F38 4B FF FE 81 */ bl UpdateHoming__15CGameProjectileFfR13CStateManager
/* 80037FDC 00034F3C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 80037FE0 00034F40 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80037FE4 00034F44 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 80037FE8 00034F48 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 80037FEC 00034F4C 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 80037FF0 00034F50 7C 08 03 A6 */ mtlr r0
/* 80037FF4 00034F54 38 21 00 60 */ addi r1, r1, 0x60
/* 80037FF8 00034F58 4E 80 00 20 */ blr
.global DoCollisionCheck__15CGameProjectileFR9TUniqueIdR13CStateManager
DoCollisionCheck__15CGameProjectileFR9TUniqueIdR13CStateManager:
/* 80037FFC 00034F5C 94 21 F7 20 */ stwu r1, -0x8e0(r1)
/* 80038000 00034F60 7C 08 02 A6 */ mflr r0
/* 80038004 00034F64 C0 02 84 14 */ lfs f0, lbl_805AA134@sda21(r2)
/* 80038008 00034F68 90 01 08 E4 */ stw r0, 0x8e4(r1)
/* 8003800C 00034F6C C0 22 84 10 */ lfs f1, lbl_805AA130@sda21(r2)
/* 80038010 00034F70 93 E1 08 DC */ stw r31, 0x8dc(r1)
/* 80038014 00034F74 7C 7F 1B 78 */ mr r31, r3
/* 80038018 00034F78 38 61 00 08 */ addi r3, r1, 8
/* 8003801C 00034F7C 93 C1 08 D8 */ stw r30, 0x8d8(r1)
/* 80038020 00034F80 7C DE 33 78 */ mr r30, r6
/* 80038024 00034F84 93 A1 08 D4 */ stw r29, 0x8d4(r1)
/* 80038028 00034F88 7C BD 2B 78 */ mr r29, r5
/* 8003802C 00034F8C 93 81 08 D0 */ stw r28, 0x8d0(r1)
/* 80038030 00034F90 7C 9C 23 78 */ mr r28, r4
/* 80038034 00034F94 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80038038 00034F98 D0 21 00 08 */ stfs f1, 8(r1)
/* 8003803C 00034F9C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80038040 00034FA0 48 2D C8 B9 */ bl Normalize__9CVector3fFv
/* 80038044 00034FA4 88 1C 02 E4 */ lbz r0, 0x2e4(r28)
/* 80038048 00034FA8 38 C0 00 00 */ li r6, 0
/* 8003804C 00034FAC C0 62 84 14 */ lfs f3, lbl_805AA134@sda21(r2)
/* 80038050 00034FB0 C0 41 00 08 */ lfs f2, 8(r1)
/* 80038054 00034FB4 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80038058 00034FB8 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8003805C 00034FBC C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80038060 00034FC0 D0 61 00 90 */ stfs f3, 0x90(r1)
/* 80038064 00034FC4 D0 61 00 94 */ stfs f3, 0x94(r1)
/* 80038068 00034FC8 D0 61 00 98 */ stfs f3, 0x98(r1)
/* 8003806C 00034FCC D0 61 00 9C */ stfs f3, 0x9c(r1)
/* 80038070 00034FD0 D0 41 00 A0 */ stfs f2, 0xa0(r1)
/* 80038074 00034FD4 D0 21 00 A4 */ stfs f1, 0xa4(r1)
/* 80038078 00034FD8 D0 01 00 A8 */ stfs f0, 0xa8(r1)
/* 8003807C 00034FDC D0 61 00 AC */ stfs f3, 0xac(r1)
/* 80038080 00034FE0 98 C1 00 B0 */ stb r6, 0xb0(r1)
/* 80038084 00034FE4 90 C1 00 BC */ stw r6, 0xbc(r1)
/* 80038088 00034FE8 90 C1 00 B8 */ stw r6, 0xb8(r1)
/* 8003808C 00034FEC 41 82 01 70 */ beq lbl_800381FC
/* 80038090 00034FF0 C0 7C 00 50 */ lfs f3, 0x50(r28)
/* 80038094 00034FF4 38 60 00 00 */ li r3, 0
/* 80038098 00034FF8 C0 3C 02 9C */ lfs f1, 0x29c(r28)
/* 8003809C 00034FFC 38 80 00 01 */ li r4, 1
/* 800380A0 00035000 C0 5C 00 60 */ lfs f2, 0x60(r28)
/* 800380A4 00035004 C0 1C 02 A0 */ lfs f0, 0x2a0(r28)
/* 800380A8 00035008 EC 63 08 28 */ fsubs f3, f3, f1
/* 800380AC 0003500C C0 3C 00 40 */ lfs f1, 0x40(r28)
/* 800380B0 00035010 EC 42 00 28 */ fsubs f2, f2, f0
/* 800380B4 00035014 C0 1C 02 98 */ lfs f0, 0x298(r28)
/* 800380B8 00035018 80 AD 82 1C */ lwz r5, lbl_805A6DDC@sda21(r13)
/* 800380BC 0003501C EC 01 00 28 */ fsubs f0, f1, f0
/* 800380C0 00035020 D0 61 00 24 */ stfs f3, 0x24(r1)
/* 800380C4 00035024 D0 41 00 28 */ stfs f2, 0x28(r1)
/* 800380C8 00035028 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 800380CC 0003502C 90 C1 00 C0 */ stw r6, 0xc0(r1)
/* 800380D0 00035030 48 35 1E 25 */ bl __shl2i
/* 800380D4 00035034 38 C0 FF FF */ li r6, -1
/* 800380D8 00035038 38 A0 00 00 */ li r5, 0
/* 800380DC 0003503C 38 00 00 02 */ li r0, 2
/* 800380E0 00035040 90 81 00 3C */ stw r4, 0x3c(r1)
/* 800380E4 00035044 7F 84 E3 78 */ mr r4, r28
/* 800380E8 00035048 90 61 00 38 */ stw r3, 0x38(r1)
/* 800380EC 0003504C 38 61 00 48 */ addi r3, r1, 0x48
/* 800380F0 00035050 90 C1 00 34 */ stw r6, 0x34(r1)
/* 800380F4 00035054 90 A1 00 30 */ stw r5, 0x30(r1)
/* 800380F8 00035058 90 01 00 40 */ stw r0, 0x40(r1)
/* 800380FC 0003505C 48 00 21 FD */ bl GetProjectileBounds__15CGameProjectileCFv
/* 80038100 00035060 7F C3 F3 78 */ mr r3, r30
/* 80038104 00035064 7F 87 E3 78 */ mr r7, r28
/* 80038108 00035068 38 81 00 C0 */ addi r4, r1, 0xc0
/* 8003810C 0003506C 38 A1 00 48 */ addi r5, r1, 0x48
/* 80038110 00035070 38 C1 00 30 */ addi r6, r1, 0x30
/* 80038114 00035074 48 01 46 0D */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor"
/* 80038118 00035078 C0 5C 00 60 */ lfs f2, 0x60(r28)
/* 8003811C 0003507C 38 61 00 20 */ addi r3, r1, 0x20
/* 80038120 00035080 C0 3C 00 50 */ lfs f1, 0x50(r28)
/* 80038124 00035084 C0 1C 00 40 */ lfs f0, 0x40(r28)
/* 80038128 00035088 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8003812C 0003508C D0 21 00 18 */ stfs f1, 0x18(r1)
/* 80038130 00035090 D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 80038134 00035094 48 2D C7 85 */ bl Magnitude__9CVector3fCFv
/* 80038138 00035098 7F 84 E3 78 */ mr r4, r28
/* 8003813C 0003509C 7F A5 EB 78 */ mr r5, r29
/* 80038140 000350A0 7F C9 F3 78 */ mr r9, r30
/* 80038144 000350A4 38 61 00 60 */ addi r3, r1, 0x60
/* 80038148 000350A8 38 DC 02 98 */ addi r6, r28, 0x298
/* 8003814C 000350AC 38 E1 00 14 */ addi r7, r1, 0x14
/* 80038150 000350B0 39 01 00 C0 */ addi r8, r1, 0xc0
/* 80038154 000350B4 48 00 05 6D */ bl "RayCollisionCheckWithWorld__15CGameProjectileFR9TUniqueIdRC9CVector3fRC9CVector3ffRQ24rstl32reserved_vector<9TUniqueId,1024>R13CStateManager"
/* 80038158 000350B8 80 E1 00 C0 */ lwz r7, 0xc0(r1)
/* 8003815C 000350BC 38 C0 00 00 */ li r6, 0
/* 80038160 000350C0 C0 A1 00 60 */ lfs f5, 0x60(r1)
/* 80038164 000350C4 80 A1 00 64 */ lwz r5, 0x64(r1)
/* 80038168 000350C8 2C 07 00 00 */ cmpwi r7, 0
/* 8003816C 000350CC 80 81 00 68 */ lwz r4, 0x68(r1)
/* 80038170 000350D0 80 61 00 6C */ lwz r3, 0x6c(r1)
/* 80038174 000350D4 C0 81 00 70 */ lfs f4, 0x70(r1)
/* 80038178 000350D8 C0 61 00 74 */ lfs f3, 0x74(r1)
/* 8003817C 000350DC C0 41 00 78 */ lfs f2, 0x78(r1)
/* 80038180 000350E0 C0 21 00 7C */ lfs f1, 0x7c(r1)
/* 80038184 000350E4 88 01 00 80 */ lbz r0, 0x80(r1)
/* 80038188 000350E8 C8 01 00 88 */ lfd f0, 0x88(r1)
/* 8003818C 000350EC D0 A1 00 90 */ stfs f5, 0x90(r1)
/* 80038190 000350F0 90 A1 00 94 */ stw r5, 0x94(r1)
/* 80038194 000350F4 90 81 00 98 */ stw r4, 0x98(r1)
/* 80038198 000350F8 90 61 00 9C */ stw r3, 0x9c(r1)
/* 8003819C 000350FC D0 81 00 A0 */ stfs f4, 0xa0(r1)
/* 800381A0 00035100 D0 61 00 A4 */ stfs f3, 0xa4(r1)
/* 800381A4 00035104 D0 41 00 A8 */ stfs f2, 0xa8(r1)
/* 800381A8 00035108 D0 21 00 AC */ stfs f1, 0xac(r1)
/* 800381AC 0003510C 98 01 00 B0 */ stb r0, 0xb0(r1)
/* 800381B0 00035110 D8 01 00 B8 */ stfd f0, 0xb8(r1)
/* 800381B4 00035114 40 81 00 40 */ ble lbl_800381F4
/* 800381B8 00035118 2C 07 00 08 */ cmpwi r7, 8
/* 800381BC 0003511C 38 67 FF F8 */ addi r3, r7, -8
/* 800381C0 00035120 40 81 00 20 */ ble lbl_800381E0
/* 800381C4 00035124 38 03 00 07 */ addi r0, r3, 7
/* 800381C8 00035128 54 00 E8 FE */ srwi r0, r0, 3
/* 800381CC 0003512C 7C 09 03 A6 */ mtctr r0
/* 800381D0 00035130 2C 03 00 00 */ cmpwi r3, 0
/* 800381D4 00035134 40 81 00 0C */ ble lbl_800381E0
lbl_800381D8:
/* 800381D8 00035138 38 C6 00 08 */ addi r6, r6, 8
/* 800381DC 0003513C 42 00 FF FC */ bdnz lbl_800381D8
lbl_800381E0:
/* 800381E0 00035140 7C 06 38 50 */ subf r0, r6, r7
/* 800381E4 00035144 7C 09 03 A6 */ mtctr r0
/* 800381E8 00035148 7C 06 38 00 */ cmpw r6, r7
/* 800381EC 0003514C 40 80 00 08 */ bge lbl_800381F4
lbl_800381F0:
/* 800381F0 00035150 42 00 00 00 */ bdnz lbl_800381F0
lbl_800381F4:
/* 800381F4 00035154 38 00 00 00 */ li r0, 0
/* 800381F8 00035158 90 01 00 C0 */ stw r0, 0xc0(r1)
lbl_800381FC:
/* 800381FC 0003515C C0 21 00 90 */ lfs f1, 0x90(r1)
/* 80038200 00035160 C0 01 00 94 */ lfs f0, 0x94(r1)
/* 80038204 00035164 D0 3F 00 00 */ stfs f1, 0(r31)
/* 80038208 00035168 C0 21 00 98 */ lfs f1, 0x98(r1)
/* 8003820C 0003516C D0 1F 00 04 */ stfs f0, 4(r31)
/* 80038210 00035170 C0 01 00 9C */ lfs f0, 0x9c(r1)
/* 80038214 00035174 D0 3F 00 08 */ stfs f1, 8(r31)
/* 80038218 00035178 C0 21 00 A0 */ lfs f1, 0xa0(r1)
/* 8003821C 0003517C D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 80038220 00035180 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 80038224 00035184 D0 3F 00 10 */ stfs f1, 0x10(r31)
/* 80038228 00035188 C0 21 00 A8 */ lfs f1, 0xa8(r1)
/* 8003822C 0003518C D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 80038230 00035190 C0 01 00 AC */ lfs f0, 0xac(r1)
/* 80038234 00035194 D0 3F 00 18 */ stfs f1, 0x18(r31)
/* 80038238 00035198 88 01 00 B0 */ lbz r0, 0xb0(r1)
/* 8003823C 0003519C D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 80038240 000351A0 80 61 00 BC */ lwz r3, 0xbc(r1)
/* 80038244 000351A4 98 1F 00 20 */ stb r0, 0x20(r31)
/* 80038248 000351A8 80 01 00 B8 */ lwz r0, 0xb8(r1)
/* 8003824C 000351AC 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 80038250 000351B0 90 1F 00 28 */ stw r0, 0x28(r31)
/* 80038254 000351B4 83 E1 08 DC */ lwz r31, 0x8dc(r1)
/* 80038258 000351B8 83 C1 08 D8 */ lwz r30, 0x8d8(r1)
/* 8003825C 000351BC 83 A1 08 D4 */ lwz r29, 0x8d4(r1)
/* 80038260 000351C0 83 81 08 D0 */ lwz r28, 0x8d0(r1)
/* 80038264 000351C4 80 01 08 E4 */ lwz r0, 0x8e4(r1)
/* 80038268 000351C8 7C 08 03 A6 */ mtlr r0
/* 8003826C 000351CC 38 21 08 E0 */ addi r1, r1, 0x8e0
/* 80038270 000351D0 4E 80 00 20 */ blr
.global ApplyDamageToActors__15CGameProjectileFR13CStateManager
ApplyDamageToActors__15CGameProjectileFR13CStateManager:
/* 80038274 000351D4 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 80038278 000351D8 7C 08 02 A6 */ mflr r0
/* 8003827C 000351DC 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 80038280 000351E0 BF 61 00 9C */ stmw r27, 0x9c(r1)
/* 80038284 000351E4 7C 7C 1B 78 */ mr r28, r3
/* 80038288 000351E8 7C 9D 23 78 */ mr r29, r4
/* 8003828C 000351EC 7C BE 2B 78 */ mr r30, r5
/* 80038290 000351F0 C0 43 00 58 */ lfs f2, 0x58(r3)
/* 80038294 000351F4 C0 23 00 48 */ lfs f1, 0x48(r3)
/* 80038298 000351F8 C0 03 00 38 */ lfs f0, 0x38(r3)
/* 8003829C 000351FC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 800382A0 00035200 D0 01 00 54 */ stfs f0, 0x54(r1)
/* 800382A4 00035204 D0 21 00 58 */ stfs f1, 0x58(r1)
/* 800382A8 00035208 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 800382AC 0003520C A0 63 02 C6 */ lhz r3, 0x2c6(r3)
/* 800382B0 00035210 7C 03 00 40 */ cmplw r3, r0
/* 800382B4 00035214 41 82 00 E4 */ beq lbl_80038398
/* 800382B8 00035218 A0 1C 02 C6 */ lhz r0, 0x2c6(r28)
/* 800382BC 0003521C 7F A3 EB 78 */ mr r3, r29
/* 800382C0 00035220 38 81 00 40 */ addi r4, r1, 0x40
/* 800382C4 00035224 B0 01 00 40 */ sth r0, 0x40(r1)
/* 800382C8 00035228 48 01 42 AD */ bl ObjectById__13CStateManagerF9TUniqueId
/* 800382CC 0003522C 7C 64 1B 78 */ mr r4, r3
/* 800382D0 00035230 38 61 00 4C */ addi r3, r1, 0x4c
/* 800382D4 00035234 48 07 79 BD */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 800382D8 00035238 83 E3 00 04 */ lwz r31, 4(r3)
/* 800382DC 0003523C 28 1F 00 00 */ cmplwi r31, 0
/* 800382E0 00035240 41 82 00 B0 */ beq lbl_80038390
/* 800382E4 00035244 80 1C 00 F8 */ lwz r0, 0xf8(r28)
/* 800382E8 00035248 7F A3 EB 78 */ mr r3, r29
/* 800382EC 0003524C 80 DC 00 FC */ lwz r6, 0xfc(r28)
/* 800382F0 00035250 7F C7 F3 78 */ mr r7, r30
/* 800382F4 00035254 38 81 00 3C */ addi r4, r1, 0x3c
/* 800382F8 00035258 38 A1 00 34 */ addi r5, r1, 0x34
/* 800382FC 0003525C 90 C1 00 7C */ stw r6, 0x7c(r1)
/* 80038300 00035260 38 C1 00 2C */ addi r6, r1, 0x2c
/* 80038304 00035264 39 01 00 78 */ addi r8, r1, 0x78
/* 80038308 00035268 39 21 00 54 */ addi r9, r1, 0x54
/* 8003830C 0003526C 90 01 00 78 */ stw r0, 0x78(r1)
/* 80038310 00035270 80 1C 01 00 */ lwz r0, 0x100(r28)
/* 80038314 00035274 81 5C 01 04 */ lwz r10, 0x104(r28)
/* 80038318 00035278 91 41 00 84 */ stw r10, 0x84(r1)
/* 8003831C 0003527C 90 01 00 80 */ stw r0, 0x80(r1)
/* 80038320 00035280 80 1C 01 08 */ lwz r0, 0x108(r28)
/* 80038324 00035284 90 01 00 88 */ stw r0, 0x88(r1)
/* 80038328 00035288 A0 1C 00 EC */ lhz r0, 0xec(r28)
/* 8003832C 0003528C B0 01 00 2C */ sth r0, 0x2c(r1)
/* 80038330 00035290 A1 5F 00 08 */ lhz r10, 8(r31)
/* 80038334 00035294 B0 01 00 28 */ sth r0, 0x28(r1)
/* 80038338 00035298 B1 41 00 34 */ sth r10, 0x34(r1)
/* 8003833C 0003529C A0 1C 00 08 */ lhz r0, 8(r28)
/* 80038340 000352A0 B1 41 00 30 */ sth r10, 0x30(r1)
/* 80038344 000352A4 B0 01 00 38 */ sth r0, 0x38(r1)
/* 80038348 000352A8 B0 01 00 3C */ sth r0, 0x3c(r1)
/* 8003834C 000352AC 48 01 1D 55 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
/* 80038350 000352B0 80 1C 00 E8 */ lwz r0, 0xe8(r28)
/* 80038354 000352B4 54 03 04 20 */ rlwinm r3, r0, 0, 0x10, 0x10
/* 80038358 000352B8 3C 03 00 00 */ addis r0, r3, 0
/* 8003835C 000352BC 28 00 80 00 */ cmplwi r0, 0x8000
/* 80038360 000352C0 40 82 00 30 */ bne lbl_80038390
/* 80038364 000352C4 80 7D 08 4C */ lwz r3, 0x84c(r29)
/* 80038368 000352C8 A0 9F 00 08 */ lhz r4, 8(r31)
/* 8003836C 000352CC A0 03 00 08 */ lhz r0, 8(r3)
/* 80038370 000352D0 7C 04 00 40 */ cmplw r4, r0
/* 80038374 000352D4 40 82 00 1C */ bne lbl_80038390
/* 80038378 000352D8 4B FD D9 85 */ bl GetFrozenState__7CPlayerCFv
/* 8003837C 000352DC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80038380 000352E0 41 82 00 10 */ beq lbl_80038390
/* 80038384 000352E4 80 7D 08 4C */ lwz r3, 0x84c(r29)
/* 80038388 000352E8 7F A4 EB 78 */ mr r4, r29
/* 8003838C 000352EC 4B FD D6 A1 */ bl UnFreeze__7CPlayerFR13CStateManager
lbl_80038390:
/* 80038390 000352F0 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80038394 000352F4 B0 1C 02 C6 */ sth r0, 0x2c6(r28)
lbl_80038398:
/* 80038398 000352F8 83 FC 02 DC */ lwz r31, 0x2dc(r28)
/* 8003839C 000352FC 48 00 00 E4 */ b lbl_80038480
lbl_800383A0:
/* 800383A0 00035300 A0 1F 00 00 */ lhz r0, 0(r31)
/* 800383A4 00035304 7F A3 EB 78 */ mr r3, r29
/* 800383A8 00035308 38 81 00 24 */ addi r4, r1, 0x24
/* 800383AC 0003530C B0 01 00 20 */ sth r0, 0x20(r1)
/* 800383B0 00035310 B0 01 00 24 */ sth r0, 0x24(r1)
/* 800383B4 00035314 48 01 41 F1 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 800383B8 00035318 7C 64 1B 78 */ mr r4, r3
/* 800383BC 0003531C 38 61 00 44 */ addi r3, r1, 0x44
/* 800383C0 00035320 48 07 78 D1 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 800383C4 00035324 83 63 00 04 */ lwz r27, 4(r3)
/* 800383C8 00035328 28 1B 00 00 */ cmplwi r27, 0
/* 800383CC 0003532C 41 82 00 B0 */ beq lbl_8003847C
/* 800383D0 00035330 80 1C 00 F8 */ lwz r0, 0xf8(r28)
/* 800383D4 00035334 7F A3 EB 78 */ mr r3, r29
/* 800383D8 00035338 80 DC 00 FC */ lwz r6, 0xfc(r28)
/* 800383DC 0003533C 7F C7 F3 78 */ mr r7, r30
/* 800383E0 00035340 38 81 00 1C */ addi r4, r1, 0x1c
/* 800383E4 00035344 38 A1 00 14 */ addi r5, r1, 0x14
/* 800383E8 00035348 90 C1 00 64 */ stw r6, 0x64(r1)
/* 800383EC 0003534C 38 C1 00 0C */ addi r6, r1, 0xc
/* 800383F0 00035350 39 01 00 60 */ addi r8, r1, 0x60
/* 800383F4 00035354 39 21 00 54 */ addi r9, r1, 0x54
/* 800383F8 00035358 90 01 00 60 */ stw r0, 0x60(r1)
/* 800383FC 0003535C 80 1C 01 00 */ lwz r0, 0x100(r28)
/* 80038400 00035360 81 5C 01 04 */ lwz r10, 0x104(r28)
/* 80038404 00035364 91 41 00 6C */ stw r10, 0x6c(r1)
/* 80038408 00035368 90 01 00 68 */ stw r0, 0x68(r1)
/* 8003840C 0003536C 80 1C 01 08 */ lwz r0, 0x108(r28)
/* 80038410 00035370 90 01 00 70 */ stw r0, 0x70(r1)
/* 80038414 00035374 A0 1C 00 EC */ lhz r0, 0xec(r28)
/* 80038418 00035378 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8003841C 0003537C A1 5B 00 08 */ lhz r10, 8(r27)
/* 80038420 00035380 B0 01 00 08 */ sth r0, 8(r1)
/* 80038424 00035384 B1 41 00 14 */ sth r10, 0x14(r1)
/* 80038428 00035388 A0 1C 00 08 */ lhz r0, 8(r28)
/* 8003842C 0003538C B1 41 00 10 */ sth r10, 0x10(r1)
/* 80038430 00035390 B0 01 00 18 */ sth r0, 0x18(r1)
/* 80038434 00035394 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 80038438 00035398 48 01 1C 69 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
/* 8003843C 0003539C 80 1C 00 E8 */ lwz r0, 0xe8(r28)
/* 80038440 000353A0 54 03 04 20 */ rlwinm r3, r0, 0, 0x10, 0x10
/* 80038444 000353A4 3C 03 00 00 */ addis r0, r3, 0
/* 80038448 000353A8 28 00 80 00 */ cmplwi r0, 0x8000
/* 8003844C 000353AC 40 82 00 30 */ bne lbl_8003847C
/* 80038450 000353B0 80 7D 08 4C */ lwz r3, 0x84c(r29)
/* 80038454 000353B4 A0 9B 00 08 */ lhz r4, 8(r27)
/* 80038458 000353B8 A0 03 00 08 */ lhz r0, 8(r3)
/* 8003845C 000353BC 7C 04 00 40 */ cmplw r4, r0
/* 80038460 000353C0 40 82 00 1C */ bne lbl_8003847C
/* 80038464 000353C4 4B FD D8 99 */ bl GetFrozenState__7CPlayerCFv
/* 80038468 000353C8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8003846C 000353CC 41 82 00 10 */ beq lbl_8003847C
/* 80038470 000353D0 80 7D 08 4C */ lwz r3, 0x84c(r29)
/* 80038474 000353D4 7F A4 EB 78 */ mr r4, r29
/* 80038478 000353D8 4B FD D5 B5 */ bl UnFreeze__7CPlayerFR13CStateManager
lbl_8003847C:
/* 8003847C 000353DC 3B FF 00 38 */ addi r31, r31, 0x38
lbl_80038480:
/* 80038480 000353E0 80 1C 02 D4 */ lwz r0, 0x2d4(r28)
/* 80038484 000353E4 80 7C 02 DC */ lwz r3, 0x2dc(r28)
/* 80038488 000353E8 1C 00 00 38 */ mulli r0, r0, 0x38
/* 8003848C 000353EC 7C 03 02 14 */ add r0, r3, r0
/* 80038490 000353F0 7C 1F 00 40 */ cmplw r31, r0
/* 80038494 000353F4 40 82 FF 0C */ bne lbl_800383A0
/* 80038498 000353F8 38 7C 02 D0 */ addi r3, r28, 0x2d0
/* 8003849C 000353FC 48 00 00 19 */ bl "clear__Q24rstl59vector<22CProjectileTouchResult,Q24rstl17rmemory_allocator>Fv"
/* 800384A0 00035400 BB 61 00 9C */ lmw r27, 0x9c(r1)
/* 800384A4 00035404 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 800384A8 00035408 7C 08 03 A6 */ mtlr r0
/* 800384AC 0003540C 38 21 00 B0 */ addi r1, r1, 0xb0
/* 800384B0 00035410 4E 80 00 20 */ blr
.global "clear__Q24rstl59vector<22CProjectileTouchResult,Q24rstl17rmemory_allocator>Fv"
"clear__Q24rstl59vector<22CProjectileTouchResult,Q24rstl17rmemory_allocator>Fv":
/* 800384B4 00035414 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800384B8 00035418 38 00 00 00 */ li r0, 0
/* 800384BC 0003541C 80 83 00 04 */ lwz r4, 4(r3)
/* 800384C0 00035420 80 C3 00 0C */ lwz r6, 0xc(r3)
/* 800384C4 00035424 1C 84 00 38 */ mulli r4, r4, 0x38
/* 800384C8 00035428 90 C1 00 10 */ stw r6, 0x10(r1)
/* 800384CC 0003542C 7C A6 22 14 */ add r5, r6, r4
/* 800384D0 00035430 90 C1 00 14 */ stw r6, 0x14(r1)
/* 800384D4 00035434 90 A1 00 08 */ stw r5, 8(r1)
/* 800384D8 00035438 90 A1 00 0C */ stw r5, 0xc(r1)
/* 800384DC 0003543C 48 00 00 1C */ b lbl_800384F8
lbl_800384E0:
/* 800384E0 00035440 28 06 00 00 */ cmplwi r6, 0
/* 800384E4 00035444 41 82 00 10 */ beq lbl_800384F4
/* 800384E8 00035448 34 86 00 04 */ addic. r4, r6, 4
/* 800384EC 0003544C 41 82 00 08 */ beq lbl_800384F4
/* 800384F0 00035450 98 06 00 34 */ stb r0, 0x34(r6)
lbl_800384F4:
/* 800384F4 00035454 38 C6 00 38 */ addi r6, r6, 0x38
lbl_800384F8:
/* 800384F8 00035458 7C 06 28 40 */ cmplw r6, r5
/* 800384FC 0003545C 40 82 FF E4 */ bne lbl_800384E0
/* 80038500 00035460 38 00 00 00 */ li r0, 0
/* 80038504 00035464 90 03 00 04 */ stw r0, 4(r3)
/* 80038508 00035468 38 21 00 20 */ addi r1, r1, 0x20
/* 8003850C 0003546C 4E 80 00 20 */ blr
.global FluidFXThink__15CGameProjectileFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
FluidFXThink__15CGameProjectileFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager:
/* 80038510 00035470 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80038514 00035474 7C 08 02 A6 */ mflr r0
/* 80038518 00035478 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003851C 0003547C BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 80038520 00035480 7C 7B 1B 78 */ mr r27, r3
/* 80038524 00035484 7C 9C 23 78 */ mr r28, r4
/* 80038528 00035488 7C BD 2B 78 */ mr r29, r5
/* 8003852C 0003548C 7C DE 33 78 */ mr r30, r6
/* 80038530 00035490 38 61 00 08 */ addi r3, r1, 8
/* 80038534 00035494 38 9B 01 70 */ addi r4, r27, 0x170
/* 80038538 00035498 48 00 00 49 */ bl GetWeaponDescription__17CProjectileWeaponCFv
/* 8003853C 0003549C 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 80038540 000354A0 38 61 00 08 */ addi r3, r1, 8
/* 80038544 000354A4 38 80 00 00 */ li r4, 0
/* 80038548 000354A8 8B E5 00 A6 */ lbz r31, 0xa6(r5)
/* 8003854C 000354AC 48 30 88 F5 */ bl __dt__6CTokenFv
/* 80038550 000354B0 28 1F 00 00 */ cmplwi r31, 0
/* 80038554 000354B4 41 82 00 18 */ beq lbl_8003856C
/* 80038558 000354B8 7F 63 DB 78 */ mr r3, r27
/* 8003855C 000354BC 7F 84 E3 78 */ mr r4, r28
/* 80038560 000354C0 7F A5 EB 78 */ mr r5, r29
/* 80038564 000354C4 7F C6 F3 78 */ mr r6, r30
/* 80038568 000354C8 48 0C 99 A5 */ bl FluidFXThink__7CWeaponFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
lbl_8003856C:
/* 8003856C 000354CC BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 80038570 000354D0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80038574 000354D4 7C 08 03 A6 */ mtlr r0
/* 80038578 000354D8 38 21 00 30 */ addi r1, r1, 0x30
/* 8003857C 000354DC 4E 80 00 20 */ blr
.global GetWeaponDescription__17CProjectileWeaponCFv
GetWeaponDescription__17CProjectileWeaponCFv:
/* 80038580 000354E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80038584 000354E4 7C 08 02 A6 */ mflr r0
/* 80038588 000354E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003858C 000354EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80038590 000354F0 7C 9F 23 78 */ mr r31, r4
/* 80038594 000354F4 38 9F 00 04 */ addi r4, r31, 4
/* 80038598 000354F8 93 C1 00 08 */ stw r30, 8(r1)
/* 8003859C 000354FC 7C 7E 1B 78 */ mr r30, r3
/* 800385A0 00035500 48 30 89 09 */ bl __ct__6CTokenFRC6CToken
/* 800385A4 00035504 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 800385A8 00035508 7F C3 F3 78 */ mr r3, r30
/* 800385AC 0003550C 90 1E 00 08 */ stw r0, 8(r30)
/* 800385B0 00035510 48 30 87 D5 */ bl Lock__6CTokenFv
/* 800385B4 00035514 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800385B8 00035518 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800385BC 0003551C 83 C1 00 08 */ lwz r30, 8(r1)
/* 800385C0 00035520 7C 08 03 A6 */ mtlr r0
/* 800385C4 00035524 38 21 00 10 */ addi r1, r1, 0x10
/* 800385C8 00035528 4E 80 00 20 */ blr
.global AcceptScriptMsg__15CGameProjectileF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__15CGameProjectileF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 800385CC 0003552C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800385D0 00035530 7C 08 02 A6 */ mflr r0
/* 800385D4 00035534 2C 04 00 25 */ cmpwi r4, 0x25
/* 800385D8 00035538 90 01 00 14 */ stw r0, 0x14(r1)
/* 800385DC 0003553C 41 82 00 30 */ beq lbl_8003860C
/* 800385E0 00035540 40 80 00 10 */ bge lbl_800385F0
/* 800385E4 00035544 2C 04 00 22 */ cmpwi r4, 0x22
/* 800385E8 00035548 41 82 00 18 */ beq lbl_80038600
/* 800385EC 0003554C 48 00 00 8C */ b lbl_80038678
lbl_800385F0:
/* 800385F0 00035550 2C 04 00 27 */ cmpwi r4, 0x27
/* 800385F4 00035554 41 82 00 60 */ beq lbl_80038654
/* 800385F8 00035558 40 80 00 80 */ bge lbl_80038678
/* 800385FC 0003555C 48 00 00 3C */ b lbl_80038638
lbl_80038600:
/* 80038600 00035560 7C C4 33 78 */ mr r4, r6
/* 80038604 00035564 4B FF F2 A5 */ bl DeleteProjectileLight__15CGameProjectileFR13CStateManager
/* 80038608 00035568 48 00 00 70 */ b lbl_80038678
lbl_8003860C:
/* 8003860C 0003556C 88 A3 02 E4 */ lbz r5, 0x2e4(r3)
/* 80038610 00035570 54 A0 E7 FE */ rlwinm r0, r5, 0x1c, 0x1f, 0x1f
/* 80038614 00035574 28 00 00 01 */ cmplwi r0, 1
/* 80038618 00035578 41 82 00 60 */ beq lbl_80038678
/* 8003861C 0003557C 38 80 00 01 */ li r4, 1
/* 80038620 00035580 50 85 26 F6 */ rlwimi r5, r4, 4, 0x1b, 0x1b
/* 80038624 00035584 98 A3 02 E4 */ stb r5, 0x2e4(r3)
/* 80038628 00035588 88 03 02 E4 */ lbz r0, 0x2e4(r3)
/* 8003862C 0003558C 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 80038630 00035590 98 03 02 E4 */ stb r0, 0x2e4(r3)
/* 80038634 00035594 48 00 00 44 */ b lbl_80038678
lbl_80038638:
/* 80038638 00035598 88 83 02 E4 */ lbz r4, 0x2e4(r3)
/* 8003863C 0003559C 54 80 DF FF */ rlwinm. r0, r4, 0x1b, 0x1f, 0x1f
/* 80038640 000355A0 40 82 00 38 */ bne lbl_80038678
/* 80038644 000355A4 38 00 00 01 */ li r0, 1
/* 80038648 000355A8 50 04 2E B4 */ rlwimi r4, r0, 5, 0x1a, 0x1a
/* 8003864C 000355AC 98 83 02 E4 */ stb r4, 0x2e4(r3)
/* 80038650 000355B0 48 00 00 28 */ b lbl_80038678
lbl_80038654:
/* 80038654 000355B4 88 A3 02 E4 */ lbz r5, 0x2e4(r3)
/* 80038658 000355B8 54 A0 DF FF */ rlwinm. r0, r5, 0x1b, 0x1f, 0x1f
/* 8003865C 000355BC 41 82 00 1C */ beq lbl_80038678
/* 80038660 000355C0 38 80 00 00 */ li r4, 0
/* 80038664 000355C4 50 85 2E B4 */ rlwimi r5, r4, 5, 0x1a, 0x1a
/* 80038668 000355C8 98 A3 02 E4 */ stb r5, 0x2e4(r3)
/* 8003866C 000355CC 88 03 02 E4 */ lbz r0, 0x2e4(r3)
/* 80038670 000355D0 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b
/* 80038674 000355D4 98 03 02 E4 */ stb r0, 0x2e4(r3)
lbl_80038678:
/* 80038678 000355D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003867C 000355DC 7C 08 03 A6 */ mtlr r0
/* 80038680 000355E0 38 21 00 10 */ addi r1, r1, 0x10
/* 80038684 000355E4 4E 80 00 20 */ blr
.global Accept__15CGameProjectileFR8IVisitor
Accept__15CGameProjectileFR8IVisitor:
/* 80038688 000355E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003868C 000355EC 7C 08 02 A6 */ mflr r0
/* 80038690 000355F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80038694 000355F4 7C 60 1B 78 */ mr r0, r3
/* 80038698 000355F8 7C 83 23 78 */ mr r3, r4
/* 8003869C 000355FC 81 84 00 00 */ lwz r12, 0(r4)
/* 800386A0 00035600 7C 04 03 78 */ mr r4, r0
/* 800386A4 00035604 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 800386A8 00035608 7D 89 03 A6 */ mtctr r12
/* 800386AC 0003560C 4E 80 04 21 */ bctrl
/* 800386B0 00035610 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800386B4 00035614 7C 08 03 A6 */ mtlr r0
/* 800386B8 00035618 38 21 00 10 */ addi r1, r1, 0x10
/* 800386BC 0003561C 4E 80 00 20 */ blr
.global "RayCollisionCheckWithWorld__15CGameProjectileFR9TUniqueIdRC9CVector3fRC9CVector3ffRQ24rstl32reserved_vector<9TUniqueId,1024>R13CStateManager"
"RayCollisionCheckWithWorld__15CGameProjectileFR9TUniqueIdRC9CVector3fRC9CVector3ffRQ24rstl32reserved_vector<9TUniqueId,1024>R13CStateManager":
/* 800386C0 00035620 94 21 FC 50 */ stwu r1, -0x3b0(r1)
/* 800386C4 00035624 7C 08 02 A6 */ mflr r0
/* 800386C8 00035628 90 01 03 B4 */ stw r0, 0x3b4(r1)
/* 800386CC 0003562C DB E1 03 A0 */ stfd f31, 0x3a0(r1)
/* 800386D0 00035630 F3 E1 03 A8 */ psq_st f31, 936(r1), 0, qr0
/* 800386D4 00035634 DB C1 03 90 */ stfd f30, 0x390(r1)
/* 800386D8 00035638 F3 C1 03 98 */ psq_st f30, 920(r1), 0, qr0
/* 800386DC 0003563C BE 81 03 60 */ stmw r20, 0x360(r1)
/* 800386E0 00035640 FF C0 08 90 */ fmr f30, f1
/* 800386E4 00035644 7C 95 23 78 */ mr r21, r4
/* 800386E8 00035648 7C 74 1B 78 */ mr r20, r3
/* 800386EC 0003564C 7C B6 2B 78 */ mr r22, r5
/* 800386F0 00035650 7C D7 33 78 */ mr r23, r6
/* 800386F4 00035654 7C FA 3B 78 */ mr r26, r7
/* 800386F8 00035658 7D 18 43 78 */ mr r24, r8
/* 800386FC 0003565C 7D 39 4B 78 */ mr r25, r9
/* 80038700 00035660 38 75 02 D0 */ addi r3, r21, 0x2d0
/* 80038704 00035664 4B FF FD B1 */ bl "clear__Q24rstl59vector<22CProjectileTouchResult,Q24rstl17rmemory_allocator>Fv"
/* 80038708 00035668 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8003870C 0003566C 38 61 00 1C */ addi r3, r1, 0x1c
/* 80038710 00035670 C0 22 84 10 */ lfs f1, lbl_805AA130@sda21(r2)
/* 80038714 00035674 B0 16 00 00 */ sth r0, 0(r22)
/* 80038718 00035678 C0 02 84 14 */ lfs f0, lbl_805AA134@sda21(r2)
/* 8003871C 0003567C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80038720 00035680 B0 15 02 C6 */ sth r0, 0x2c6(r21)
/* 80038724 00035684 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 80038728 00035688 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8003872C 0003568C D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80038730 00035690 48 2D C1 C9 */ bl Normalize__9CVector3fFv
/* 80038734 00035694 C0 5A 00 04 */ lfs f2, 4(r26)
/* 80038738 00035698 38 00 00 00 */ li r0, 0
/* 8003873C 0003569C C0 17 00 04 */ lfs f0, 4(r23)
/* 80038740 000356A0 38 61 00 58 */ addi r3, r1, 0x58
/* 80038744 000356A4 C0 3A 00 08 */ lfs f1, 8(r26)
/* 80038748 000356A8 C0 A2 84 14 */ lfs f5, lbl_805AA134@sda21(r2)
/* 8003874C 000356AC EC E2 00 28 */ fsubs f7, f2, f0
/* 80038750 000356B0 C0 17 00 08 */ lfs f0, 8(r23)
/* 80038754 000356B4 C0 81 00 1C */ lfs f4, 0x1c(r1)
/* 80038758 000356B8 EC C1 00 28 */ fsubs f6, f1, f0
/* 8003875C 000356BC C0 61 00 20 */ lfs f3, 0x20(r1)
/* 80038760 000356C0 C0 41 00 24 */ lfs f2, 0x24(r1)
/* 80038764 000356C4 C0 3A 00 00 */ lfs f1, 0(r26)
/* 80038768 000356C8 C0 17 00 00 */ lfs f0, 0(r23)
/* 8003876C 000356CC D0 A1 02 B8 */ stfs f5, 0x2b8(r1)
/* 80038770 000356D0 EC 01 00 28 */ fsubs f0, f1, f0
/* 80038774 000356D4 D0 A1 02 BC */ stfs f5, 0x2bc(r1)
/* 80038778 000356D8 D0 A1 02 C0 */ stfs f5, 0x2c0(r1)
/* 8003877C 000356DC D0 A1 02 C4 */ stfs f5, 0x2c4(r1)
/* 80038780 000356E0 D0 81 02 C8 */ stfs f4, 0x2c8(r1)
/* 80038784 000356E4 D0 61 02 CC */ stfs f3, 0x2cc(r1)
/* 80038788 000356E8 D0 41 02 D0 */ stfs f2, 0x2d0(r1)
/* 8003878C 000356EC D0 A1 02 D4 */ stfs f5, 0x2d4(r1)
/* 80038790 000356F0 98 01 02 D8 */ stb r0, 0x2d8(r1)
/* 80038794 000356F4 90 01 02 E4 */ stw r0, 0x2e4(r1)
/* 80038798 000356F8 90 01 02 E0 */ stw r0, 0x2e0(r1)
/* 8003879C 000356FC D0 01 00 58 */ stfs f0, 0x58(r1)
/* 800387A0 00035700 D0 E1 00 5C */ stfs f7, 0x5c(r1)
/* 800387A4 00035704 D0 C1 00 60 */ stfs f6, 0x60(r1)
/* 800387A8 00035708 48 2D BF 51 */ bl CanBeNormalized__9CVector3fCFv
/* 800387AC 0003570C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800387B0 00035710 40 82 00 60 */ bne lbl_80038810
/* 800387B4 00035714 C0 21 02 B8 */ lfs f1, 0x2b8(r1)
/* 800387B8 00035718 C0 01 02 BC */ lfs f0, 0x2bc(r1)
/* 800387BC 0003571C D0 34 00 00 */ stfs f1, 0(r20)
/* 800387C0 00035720 C0 21 02 C0 */ lfs f1, 0x2c0(r1)
/* 800387C4 00035724 D0 14 00 04 */ stfs f0, 4(r20)
/* 800387C8 00035728 C0 01 02 C4 */ lfs f0, 0x2c4(r1)
/* 800387CC 0003572C D0 34 00 08 */ stfs f1, 8(r20)
/* 800387D0 00035730 C0 21 02 C8 */ lfs f1, 0x2c8(r1)
/* 800387D4 00035734 D0 14 00 0C */ stfs f0, 0xc(r20)
/* 800387D8 00035738 C0 01 02 CC */ lfs f0, 0x2cc(r1)
/* 800387DC 0003573C D0 34 00 10 */ stfs f1, 0x10(r20)
/* 800387E0 00035740 C0 21 02 D0 */ lfs f1, 0x2d0(r1)
/* 800387E4 00035744 D0 14 00 14 */ stfs f0, 0x14(r20)
/* 800387E8 00035748 C0 01 02 D4 */ lfs f0, 0x2d4(r1)
/* 800387EC 0003574C D0 34 00 18 */ stfs f1, 0x18(r20)
/* 800387F0 00035750 88 01 02 D8 */ lbz r0, 0x2d8(r1)
/* 800387F4 00035754 D0 14 00 1C */ stfs f0, 0x1c(r20)
/* 800387F8 00035758 80 61 02 E4 */ lwz r3, 0x2e4(r1)
/* 800387FC 0003575C 98 14 00 20 */ stb r0, 0x20(r20)
/* 80038800 00035760 80 01 02 E0 */ lwz r0, 0x2e0(r1)
/* 80038804 00035764 90 74 00 2C */ stw r3, 0x2c(r20)
/* 80038808 00035768 90 14 00 28 */ stw r0, 0x28(r20)
/* 8003880C 0003576C 48 00 08 44 */ b lbl_80039050
lbl_80038810:
/* 80038810 00035770 38 61 00 40 */ addi r3, r1, 0x40
/* 80038814 00035774 38 81 00 58 */ addi r4, r1, 0x58
/* 80038818 00035778 48 2D C0 39 */ bl AsNormalized__9CVector3fCFv
/* 8003881C 0003577C C0 61 00 40 */ lfs f3, 0x40(r1)
/* 80038820 00035780 FF E0 F0 90 */ fmr f31, f30
/* 80038824 00035784 C0 41 00 44 */ lfs f2, 0x44(r1)
/* 80038828 00035788 FC 20 F0 90 */ fmr f1, f30
/* 8003882C 0003578C C0 01 00 48 */ lfs f0, 0x48(r1)
/* 80038830 00035790 7F 24 CB 78 */ mr r4, r25
/* 80038834 00035794 D0 61 00 4C */ stfs f3, 0x4c(r1)
/* 80038838 00035798 7E E5 BB 78 */ mr r5, r23
/* 8003883C 0003579C 38 61 01 C8 */ addi r3, r1, 0x1c8
/* 80038840 000357A0 D0 41 00 50 */ stfs f2, 0x50(r1)
/* 80038844 000357A4 38 C1 00 4C */ addi r6, r1, 0x4c
/* 80038848 000357A8 38 E1 00 D0 */ addi r7, r1, 0xd0
/* 8003884C 000357AC D0 01 00 54 */ stfs f0, 0x54(r1)
/* 80038850 000357B0 80 15 00 F8 */ lwz r0, 0xf8(r21)
/* 80038854 000357B4 81 15 00 FC */ lwz r8, 0xfc(r21)
/* 80038858 000357B8 91 01 00 D4 */ stw r8, 0xd4(r1)
/* 8003885C 000357BC 90 01 00 D0 */ stw r0, 0xd0(r1)
/* 80038860 000357C0 80 15 01 00 */ lwz r0, 0x100(r21)
/* 80038864 000357C4 81 15 01 04 */ lwz r8, 0x104(r21)
/* 80038868 000357C8 91 01 00 DC */ stw r8, 0xdc(r1)
/* 8003886C 000357CC 90 01 00 D8 */ stw r0, 0xd8(r1)
/* 80038870 000357D0 80 15 01 08 */ lwz r0, 0x108(r21)
/* 80038874 000357D4 90 01 00 E0 */ stw r0, 0xe0(r1)
/* 80038878 000357D8 48 01 47 21 */ bl RayStaticIntersection__13CStateManagerCFRC9CVector3fRC9CVector3ffRC15CMaterialFilter
/* 8003887C 000357DC 88 A1 01 E8 */ lbz r5, 0x1e8(r1)
/* 80038880 000357E0 C0 E1 01 C8 */ lfs f7, 0x1c8(r1)
/* 80038884 000357E4 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 80038888 000357E8 C0 C1 01 CC */ lfs f6, 0x1cc(r1)
/* 8003888C 000357EC C0 A1 01 D0 */ lfs f5, 0x1d0(r1)
/* 80038890 000357F0 C0 01 01 D4 */ lfs f0, 0x1d4(r1)
/* 80038894 000357F4 C0 81 01 D8 */ lfs f4, 0x1d8(r1)
/* 80038898 000357F8 C0 61 01 DC */ lfs f3, 0x1dc(r1)
/* 8003889C 000357FC C0 41 01 E0 */ lfs f2, 0x1e0(r1)
/* 800388A0 00035800 C0 21 01 E4 */ lfs f1, 0x1e4(r1)
/* 800388A4 00035804 80 01 01 F0 */ lwz r0, 0x1f0(r1)
/* 800388A8 00035808 80 61 01 F4 */ lwz r3, 0x1f4(r1)
/* 800388AC 0003580C D0 E1 02 88 */ stfs f7, 0x288(r1)
/* 800388B0 00035810 D0 C1 02 8C */ stfs f6, 0x28c(r1)
/* 800388B4 00035814 D0 A1 02 90 */ stfs f5, 0x290(r1)
/* 800388B8 00035818 D0 01 02 94 */ stfs f0, 0x294(r1)
/* 800388BC 0003581C D0 81 02 98 */ stfs f4, 0x298(r1)
/* 800388C0 00035820 D0 61 02 9C */ stfs f3, 0x29c(r1)
/* 800388C4 00035824 D0 41 02 A0 */ stfs f2, 0x2a0(r1)
/* 800388C8 00035828 D0 21 02 A4 */ stfs f1, 0x2a4(r1)
/* 800388CC 0003582C 98 A1 02 A8 */ stb r5, 0x2a8(r1)
/* 800388D0 00035830 90 61 02 B4 */ stw r3, 0x2b4(r1)
/* 800388D4 00035834 90 01 02 B0 */ stw r0, 0x2b0(r1)
/* 800388D8 00035838 41 82 00 40 */ beq lbl_80038918
/* 800388DC 0003583C 80 81 02 8C */ lwz r4, 0x28c(r1)
/* 800388E0 00035840 FF E0 38 90 */ fmr f31, f7
/* 800388E4 00035844 80 61 02 90 */ lwz r3, 0x290(r1)
/* 800388E8 00035848 80 01 02 94 */ lwz r0, 0x294(r1)
/* 800388EC 0003584C C8 01 02 B0 */ lfd f0, 0x2b0(r1)
/* 800388F0 00035850 D0 E1 02 B8 */ stfs f7, 0x2b8(r1)
/* 800388F4 00035854 90 81 02 BC */ stw r4, 0x2bc(r1)
/* 800388F8 00035858 90 61 02 C0 */ stw r3, 0x2c0(r1)
/* 800388FC 0003585C 90 01 02 C4 */ stw r0, 0x2c4(r1)
/* 80038900 00035860 D0 81 02 C8 */ stfs f4, 0x2c8(r1)
/* 80038904 00035864 D0 61 02 CC */ stfs f3, 0x2cc(r1)
/* 80038908 00035868 D0 41 02 D0 */ stfs f2, 0x2d0(r1)
/* 8003890C 0003586C D0 21 02 D4 */ stfs f1, 0x2d4(r1)
/* 80038910 00035870 98 A1 02 D8 */ stb r5, 0x2d8(r1)
/* 80038914 00035874 D8 01 02 E0 */ stfd f0, 0x2e0(r1)
lbl_80038918:
/* 80038918 00035878 3B 98 00 04 */ addi r28, r24, 4
/* 8003891C 0003587C 3B E1 01 94 */ addi r31, r1, 0x194
/* 80038920 00035880 3B A1 02 54 */ addi r29, r1, 0x254
/* 80038924 00035884 3B C1 03 24 */ addi r30, r1, 0x324
/* 80038928 00035888 48 00 06 90 */ b lbl_80038FB8
lbl_8003892C:
/* 8003892C 0003588C A0 1C 00 00 */ lhz r0, 0(r28)
/* 80038930 00035890 7F 23 CB 78 */ mr r3, r25
/* 80038934 00035894 38 81 00 08 */ addi r4, r1, 8
/* 80038938 00035898 B0 01 00 08 */ sth r0, 8(r1)
/* 8003893C 0003589C 48 01 3C 39 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80038940 000358A0 7C 7B 1B 79 */ or. r27, r3, r3
/* 80038944 000358A4 41 82 06 70 */ beq lbl_80038FB4
/* 80038948 000358A8 7E A4 AB 78 */ mr r4, r21
/* 8003894C 000358AC 7F 65 DB 78 */ mr r5, r27
/* 80038950 000358B0 7F 26 CB 78 */ mr r6, r25
/* 80038954 000358B4 38 61 01 90 */ addi r3, r1, 0x190
/* 80038958 000358B8 48 00 07 1D */ bl CanCollideWith__15CGameProjectileFR6CActorR13CStateManager
/* 8003895C 000358BC 88 01 01 C4 */ lbz r0, 0x1c4(r1)
/* 80038960 000358C0 38 81 02 50 */ addi r4, r1, 0x250
/* 80038964 000358C4 A0 61 01 90 */ lhz r3, 0x190(r1)
/* 80038968 000358C8 28 00 00 00 */ cmplwi r0, 0
/* 8003896C 000358CC 98 01 02 84 */ stb r0, 0x284(r1)
/* 80038970 000358D0 B0 61 02 50 */ sth r3, 0x250(r1)
/* 80038974 000358D4 41 82 00 64 */ beq lbl_800389D8
/* 80038978 000358D8 34 84 00 04 */ addic. r4, r4, 4
/* 8003897C 000358DC 41 82 00 5C */ beq lbl_800389D8
/* 80038980 000358E0 C0 01 01 94 */ lfs f0, 0x194(r1)
/* 80038984 000358E4 D0 04 00 00 */ stfs f0, 0(r4)
/* 80038988 000358E8 C0 01 01 98 */ lfs f0, 0x198(r1)
/* 8003898C 000358EC D0 04 00 04 */ stfs f0, 4(r4)
/* 80038990 000358F0 C0 01 01 9C */ lfs f0, 0x19c(r1)
/* 80038994 000358F4 D0 04 00 08 */ stfs f0, 8(r4)
/* 80038998 000358F8 C0 01 01 A0 */ lfs f0, 0x1a0(r1)
/* 8003899C 000358FC D0 04 00 0C */ stfs f0, 0xc(r4)
/* 800389A0 00035900 C0 01 01 A4 */ lfs f0, 0x1a4(r1)
/* 800389A4 00035904 D0 04 00 10 */ stfs f0, 0x10(r4)
/* 800389A8 00035908 C0 01 01 A8 */ lfs f0, 0x1a8(r1)
/* 800389AC 0003590C D0 04 00 14 */ stfs f0, 0x14(r4)
/* 800389B0 00035910 C0 01 01 AC */ lfs f0, 0x1ac(r1)
/* 800389B4 00035914 D0 04 00 18 */ stfs f0, 0x18(r4)
/* 800389B8 00035918 C0 01 01 B0 */ lfs f0, 0x1b0(r1)
/* 800389BC 0003591C D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 800389C0 00035920 88 01 01 B4 */ lbz r0, 0x1b4(r1)
/* 800389C4 00035924 98 04 00 20 */ stb r0, 0x20(r4)
/* 800389C8 00035928 80 01 01 BC */ lwz r0, 0x1bc(r1)
/* 800389CC 0003592C 80 61 01 C0 */ lwz r3, 0x1c0(r1)
/* 800389D0 00035930 90 64 00 2C */ stw r3, 0x2c(r4)
/* 800389D4 00035934 90 04 00 28 */ stw r0, 0x28(r4)
lbl_800389D8:
/* 800389D8 00035938 28 1F 00 00 */ cmplwi r31, 0
/* 800389DC 0003593C 41 82 00 0C */ beq lbl_800389E8
/* 800389E0 00035940 38 00 00 00 */ li r0, 0
/* 800389E4 00035944 98 01 01 C4 */ stb r0, 0x1c4(r1)
lbl_800389E8:
/* 800389E8 00035948 A0 61 02 50 */ lhz r3, 0x250(r1)
/* 800389EC 0003594C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 800389F0 00035950 7C 03 00 40 */ cmplw r3, r0
/* 800389F4 00035954 40 82 00 18 */ bne lbl_80038A0C
/* 800389F8 00035958 28 1D 00 00 */ cmplwi r29, 0
/* 800389FC 0003595C 41 82 05 B8 */ beq lbl_80038FB4
/* 80038A00 00035960 38 00 00 00 */ li r0, 0
/* 80038A04 00035964 98 01 02 84 */ stb r0, 0x284(r1)
/* 80038A08 00035968 48 00 05 AC */ b lbl_80038FB4
lbl_80038A0C:
/* 80038A0C 0003596C 88 01 02 84 */ lbz r0, 0x284(r1)
/* 80038A10 00035970 28 00 00 00 */ cmplwi r0, 0
/* 80038A14 00035974 41 82 00 94 */ beq lbl_80038AA8
/* 80038A18 00035978 C0 01 02 54 */ lfs f0, 0x254(r1)
/* 80038A1C 0003597C FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 80038A20 00035980 40 80 05 84 */ bge lbl_80038FA4
/* 80038A24 00035984 7F 63 DB 78 */ mr r3, r27
/* 80038A28 00035988 7E A4 AB 78 */ mr r4, r21
/* 80038A2C 0003598C 81 9B 00 00 */ lwz r12, 0(r27)
/* 80038A30 00035990 7F 25 CB 78 */ mr r5, r25
/* 80038A34 00035994 81 8C 00 44 */ lwz r12, 0x44(r12)
/* 80038A38 00035998 7D 89 03 A6 */ mtctr r12
/* 80038A3C 0003599C 4E 80 04 21 */ bctrl
/* 80038A40 000359A0 C0 A1 02 54 */ lfs f5, 0x254(r1)
/* 80038A44 000359A4 80 C1 02 58 */ lwz r6, 0x258(r1)
/* 80038A48 000359A8 80 A1 02 5C */ lwz r5, 0x25c(r1)
/* 80038A4C 000359AC FF E0 28 90 */ fmr f31, f5
/* 80038A50 000359B0 80 81 02 60 */ lwz r4, 0x260(r1)
/* 80038A54 000359B4 C0 81 02 64 */ lfs f4, 0x264(r1)
/* 80038A58 000359B8 C0 61 02 68 */ lfs f3, 0x268(r1)
/* 80038A5C 000359BC C0 41 02 6C */ lfs f2, 0x26c(r1)
/* 80038A60 000359C0 C0 21 02 70 */ lfs f1, 0x270(r1)
/* 80038A64 000359C4 88 61 02 74 */ lbz r3, 0x274(r1)
/* 80038A68 000359C8 C8 01 02 7C */ lfd f0, 0x27c(r1)
/* 80038A6C 000359CC A0 01 02 50 */ lhz r0, 0x250(r1)
/* 80038A70 000359D0 D0 A1 02 B8 */ stfs f5, 0x2b8(r1)
/* 80038A74 000359D4 B0 16 00 00 */ sth r0, 0(r22)
/* 80038A78 000359D8 A0 16 00 00 */ lhz r0, 0(r22)
/* 80038A7C 000359DC 90 C1 02 BC */ stw r6, 0x2bc(r1)
/* 80038A80 000359E0 90 A1 02 C0 */ stw r5, 0x2c0(r1)
/* 80038A84 000359E4 90 81 02 C4 */ stw r4, 0x2c4(r1)
/* 80038A88 000359E8 D0 81 02 C8 */ stfs f4, 0x2c8(r1)
/* 80038A8C 000359EC D0 61 02 CC */ stfs f3, 0x2cc(r1)
/* 80038A90 000359F0 D0 41 02 D0 */ stfs f2, 0x2d0(r1)
/* 80038A94 000359F4 D0 21 02 D4 */ stfs f1, 0x2d4(r1)
/* 80038A98 000359F8 98 61 02 D8 */ stb r3, 0x2d8(r1)
/* 80038A9C 000359FC D8 01 02 E0 */ stfd f0, 0x2e0(r1)
/* 80038AA0 00035A00 B0 15 02 C6 */ sth r0, 0x2c6(r21)
/* 80038AA4 00035A04 48 00 05 00 */ b lbl_80038FA4
lbl_80038AA8:
/* 80038AA8 00035A08 7F 64 DB 78 */ mr r4, r27
/* 80038AAC 00035A0C 38 61 00 B0 */ addi r3, r1, 0xb0
/* 80038AB0 00035A10 81 9B 00 00 */ lwz r12, 0(r27)
/* 80038AB4 00035A14 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 80038AB8 00035A18 7D 89 03 A6 */ mtctr r12
/* 80038ABC 00035A1C 4E 80 04 21 */ bctrl
/* 80038AC0 00035A20 88 01 00 C8 */ lbz r0, 0xc8(r1)
/* 80038AC4 00035A24 28 00 00 00 */ cmplwi r0, 0
/* 80038AC8 00035A28 98 01 01 00 */ stb r0, 0x100(r1)
/* 80038ACC 00035A2C 41 82 00 3C */ beq lbl_80038B08
/* 80038AD0 00035A30 34 61 00 E8 */ addic. r3, r1, 0xe8
/* 80038AD4 00035A34 41 82 00 34 */ beq lbl_80038B08
/* 80038AD8 00035A38 C0 01 00 B0 */ lfs f0, 0xb0(r1)
/* 80038ADC 00035A3C D0 03 00 00 */ stfs f0, 0(r3)
/* 80038AE0 00035A40 C0 01 00 B4 */ lfs f0, 0xb4(r1)
/* 80038AE4 00035A44 D0 03 00 04 */ stfs f0, 4(r3)
/* 80038AE8 00035A48 C0 01 00 B8 */ lfs f0, 0xb8(r1)
/* 80038AEC 00035A4C D0 03 00 08 */ stfs f0, 8(r3)
/* 80038AF0 00035A50 C0 01 00 BC */ lfs f0, 0xbc(r1)
/* 80038AF4 00035A54 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80038AF8 00035A58 C0 01 00 C0 */ lfs f0, 0xc0(r1)
/* 80038AFC 00035A5C D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80038B00 00035A60 C0 01 00 C4 */ lfs f0, 0xc4(r1)
/* 80038B04 00035A64 D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_80038B08:
/* 80038B08 00035A68 38 00 00 00 */ li r0, 0
/* 80038B0C 00035A6C 7F 64 DB 78 */ mr r4, r27
/* 80038B10 00035A70 98 01 00 C8 */ stb r0, 0xc8(r1)
/* 80038B14 00035A74 38 61 00 14 */ addi r3, r1, 0x14
/* 80038B18 00035A78 48 07 15 D9 */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity"
/* 80038B1C 00035A7C 80 83 00 04 */ lwz r4, 4(r3)
/* 80038B20 00035A80 3B 40 00 00 */ li r26, 0
/* 80038B24 00035A84 28 04 00 00 */ cmplwi r4, 0
/* 80038B28 00035A88 41 82 00 C0 */ beq lbl_80038BE8
/* 80038B2C 00035A8C 38 61 00 94 */ addi r3, r1, 0x94
/* 80038B30 00035A90 48 04 65 59 */ bl GetProjectileBounds__11CScriptDoorCFv
/* 80038B34 00035A94 38 61 00 E8 */ addi r3, r1, 0xe8
/* 80038B38 00035A98 38 01 00 94 */ addi r0, r1, 0x94
/* 80038B3C 00035A9C 7C 03 00 40 */ cmplw r3, r0
/* 80038B40 00035AA0 41 82 00 9C */ beq lbl_80038BDC
/* 80038B44 00035AA4 88 01 00 AC */ lbz r0, 0xac(r1)
/* 80038B48 00035AA8 28 00 00 00 */ cmplwi r0, 0
/* 80038B4C 00035AAC 41 82 00 88 */ beq lbl_80038BD4
/* 80038B50 00035AB0 88 01 01 00 */ lbz r0, 0x100(r1)
/* 80038B54 00035AB4 28 00 00 00 */ cmplwi r0, 0
/* 80038B58 00035AB8 40 82 00 48 */ bne lbl_80038BA0
/* 80038B5C 00035ABC 34 61 00 E8 */ addic. r3, r1, 0xe8
/* 80038B60 00035AC0 41 82 00 34 */ beq lbl_80038B94
/* 80038B64 00035AC4 C0 01 00 94 */ lfs f0, 0x94(r1)
/* 80038B68 00035AC8 D0 03 00 00 */ stfs f0, 0(r3)
/* 80038B6C 00035ACC C0 01 00 98 */ lfs f0, 0x98(r1)
/* 80038B70 00035AD0 D0 03 00 04 */ stfs f0, 4(r3)
/* 80038B74 00035AD4 C0 01 00 9C */ lfs f0, 0x9c(r1)
/* 80038B78 00035AD8 D0 03 00 08 */ stfs f0, 8(r3)
/* 80038B7C 00035ADC C0 01 00 A0 */ lfs f0, 0xa0(r1)
/* 80038B80 00035AE0 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80038B84 00035AE4 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 80038B88 00035AE8 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80038B8C 00035AEC C0 01 00 A8 */ lfs f0, 0xa8(r1)
/* 80038B90 00035AF0 D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_80038B94:
/* 80038B94 00035AF4 38 00 00 01 */ li r0, 1
/* 80038B98 00035AF8 98 01 01 00 */ stb r0, 0x100(r1)
/* 80038B9C 00035AFC 48 00 00 40 */ b lbl_80038BDC
lbl_80038BA0:
/* 80038BA0 00035B00 80 E1 00 94 */ lwz r7, 0x94(r1)
/* 80038BA4 00035B04 80 C1 00 98 */ lwz r6, 0x98(r1)
/* 80038BA8 00035B08 80 A1 00 9C */ lwz r5, 0x9c(r1)
/* 80038BAC 00035B0C 80 81 00 A0 */ lwz r4, 0xa0(r1)
/* 80038BB0 00035B10 80 61 00 A4 */ lwz r3, 0xa4(r1)
/* 80038BB4 00035B14 80 01 00 A8 */ lwz r0, 0xa8(r1)
/* 80038BB8 00035B18 90 E1 00 E8 */ stw r7, 0xe8(r1)
/* 80038BBC 00035B1C 90 C1 00 EC */ stw r6, 0xec(r1)
/* 80038BC0 00035B20 90 A1 00 F0 */ stw r5, 0xf0(r1)
/* 80038BC4 00035B24 90 81 00 F4 */ stw r4, 0xf4(r1)
/* 80038BC8 00035B28 90 61 00 F8 */ stw r3, 0xf8(r1)
/* 80038BCC 00035B2C 90 01 00 FC */ stw r0, 0xfc(r1)
/* 80038BD0 00035B30 48 00 00 0C */ b lbl_80038BDC
lbl_80038BD4:
/* 80038BD4 00035B34 38 00 00 00 */ li r0, 0
/* 80038BD8 00035B38 98 01 01 00 */ stb r0, 0x100(r1)
lbl_80038BDC:
/* 80038BDC 00035B3C 38 00 00 00 */ li r0, 0
/* 80038BE0 00035B40 98 01 00 AC */ stb r0, 0xac(r1)
/* 80038BE4 00035B44 48 00 00 A8 */ b lbl_80038C8C
lbl_80038BE8:
/* 80038BE8 00035B48 7F 64 DB 78 */ mr r4, r27
/* 80038BEC 00035B4C 38 61 00 0C */ addi r3, r1, 0xc
/* 80038BF0 00035B50 48 07 4B 1D */ bl "__ct__29TCastToPtr<15CGameProjectile>FP7CEntity"
/* 80038BF4 00035B54 80 83 00 04 */ lwz r4, 4(r3)
/* 80038BF8 00035B58 28 04 00 00 */ cmplwi r4, 0
/* 80038BFC 00035B5C 7C 9A 23 78 */ mr r26, r4
/* 80038C00 00035B60 41 82 00 8C */ beq lbl_80038C8C
/* 80038C04 00035B64 38 61 00 7C */ addi r3, r1, 0x7c
/* 80038C08 00035B68 48 00 16 F1 */ bl GetProjectileBounds__15CGameProjectileCFv
/* 80038C0C 00035B6C 88 01 01 00 */ lbz r0, 0x100(r1)
/* 80038C10 00035B70 28 00 00 00 */ cmplwi r0, 0
/* 80038C14 00035B74 40 82 00 48 */ bne lbl_80038C5C
/* 80038C18 00035B78 34 61 00 E8 */ addic. r3, r1, 0xe8
/* 80038C1C 00035B7C 41 82 00 34 */ beq lbl_80038C50
/* 80038C20 00035B80 C0 01 00 7C */ lfs f0, 0x7c(r1)
/* 80038C24 00035B84 D0 03 00 00 */ stfs f0, 0(r3)
/* 80038C28 00035B88 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 80038C2C 00035B8C D0 03 00 04 */ stfs f0, 4(r3)
/* 80038C30 00035B90 C0 01 00 84 */ lfs f0, 0x84(r1)
/* 80038C34 00035B94 D0 03 00 08 */ stfs f0, 8(r3)
/* 80038C38 00035B98 C0 01 00 88 */ lfs f0, 0x88(r1)
/* 80038C3C 00035B9C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80038C40 00035BA0 C0 01 00 8C */ lfs f0, 0x8c(r1)
/* 80038C44 00035BA4 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80038C48 00035BA8 C0 01 00 90 */ lfs f0, 0x90(r1)
/* 80038C4C 00035BAC D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_80038C50:
/* 80038C50 00035BB0 38 00 00 01 */ li r0, 1
/* 80038C54 00035BB4 98 01 01 00 */ stb r0, 0x100(r1)
/* 80038C58 00035BB8 48 00 00 34 */ b lbl_80038C8C
lbl_80038C5C:
/* 80038C5C 00035BBC 80 E1 00 7C */ lwz r7, 0x7c(r1)
/* 80038C60 00035BC0 80 C1 00 80 */ lwz r6, 0x80(r1)
/* 80038C64 00035BC4 80 A1 00 84 */ lwz r5, 0x84(r1)
/* 80038C68 00035BC8 80 81 00 88 */ lwz r4, 0x88(r1)
/* 80038C6C 00035BCC 80 61 00 8C */ lwz r3, 0x8c(r1)
/* 80038C70 00035BD0 80 01 00 90 */ lwz r0, 0x90(r1)
/* 80038C74 00035BD4 90 E1 00 E8 */ stw r7, 0xe8(r1)
/* 80038C78 00035BD8 90 C1 00 EC */ stw r6, 0xec(r1)
/* 80038C7C 00035BDC 90 A1 00 F0 */ stw r5, 0xf0(r1)
/* 80038C80 00035BE0 90 81 00 F4 */ stw r4, 0xf4(r1)
/* 80038C84 00035BE4 90 61 00 F8 */ stw r3, 0xf8(r1)
/* 80038C88 00035BE8 90 01 00 FC */ stw r0, 0xfc(r1)
lbl_80038C8C:
/* 80038C8C 00035BEC 88 01 01 00 */ lbz r0, 0x100(r1)
/* 80038C90 00035BF0 28 00 00 00 */ cmplwi r0, 0
/* 80038C94 00035BF4 40 82 00 1C */ bne lbl_80038CB0
/* 80038C98 00035BF8 38 00 00 00 */ li r0, 0
/* 80038C9C 00035BFC 28 1D 00 00 */ cmplwi r29, 0
/* 80038CA0 00035C00 98 01 01 00 */ stb r0, 0x100(r1)
/* 80038CA4 00035C04 41 82 03 10 */ beq lbl_80038FB4
/* 80038CA8 00035C08 98 01 02 84 */ stb r0, 0x284(r1)
/* 80038CAC 00035C0C 48 00 03 08 */ b lbl_80038FB4
lbl_80038CB0:
/* 80038CB0 00035C10 38 61 01 68 */ addi r3, r1, 0x168
/* 80038CB4 00035C14 38 9B 00 68 */ addi r4, r27, 0x68
/* 80038CB8 00035C18 48 29 6B FD */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 80038CBC 00035C1C 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha
/* 80038CC0 00035C20 C0 C1 00 E8 */ lfs f6, 0xe8(r1)
/* 80038CC4 00035C24 39 03 CA D0 */ addi r8, r3, lbl_803ECAD0@l
/* 80038CC8 00035C28 C0 A1 00 EC */ lfs f5, 0xec(r1)
/* 80038CCC 00035C2C 91 01 01 68 */ stw r8, 0x168(r1)
/* 80038CD0 00035C30 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 80038CD4 00035C34 38 E3 97 E4 */ addi r7, r3, __vt__19CCollisionPrimitive@l
/* 80038CD8 00035C38 C0 81 00 F0 */ lfs f4, 0xf0(r1)
/* 80038CDC 00035C3C C0 61 00 F4 */ lfs f3, 0xf4(r1)
/* 80038CE0 00035C40 FC 20 F0 90 */ fmr f1, f30
/* 80038CE4 00035C44 C0 41 00 F8 */ lfs f2, 0xf8(r1)
/* 80038CE8 00035C48 7E E4 BB 78 */ mr r4, r23
/* 80038CEC 00035C4C C0 01 00 FC */ lfs f0, 0xfc(r1)
/* 80038CF0 00035C50 38 61 02 E8 */ addi r3, r1, 0x2e8
/* 80038CF4 00035C54 90 E1 02 28 */ stw r7, 0x228(r1)
/* 80038CF8 00035C58 80 01 01 70 */ lwz r0, 0x170(r1)
/* 80038CFC 00035C5C 38 A1 00 4C */ addi r5, r1, 0x4c
/* 80038D00 00035C60 91 01 01 68 */ stw r8, 0x168(r1)
/* 80038D04 00035C64 80 C1 01 74 */ lwz r6, 0x174(r1)
/* 80038D08 00035C68 D0 C1 01 78 */ stfs f6, 0x178(r1)
/* 80038D0C 00035C6C D0 A1 01 7C */ stfs f5, 0x17c(r1)
/* 80038D10 00035C70 D0 81 01 80 */ stfs f4, 0x180(r1)
/* 80038D14 00035C74 D0 61 01 84 */ stfs f3, 0x184(r1)
/* 80038D18 00035C78 D0 41 01 88 */ stfs f2, 0x188(r1)
/* 80038D1C 00035C7C D0 01 01 8C */ stfs f0, 0x18c(r1)
/* 80038D20 00035C80 90 C1 02 34 */ stw r6, 0x234(r1)
/* 80038D24 00035C84 90 01 02 30 */ stw r0, 0x230(r1)
/* 80038D28 00035C88 91 01 02 28 */ stw r8, 0x228(r1)
/* 80038D2C 00035C8C D0 C1 02 38 */ stfs f6, 0x238(r1)
/* 80038D30 00035C90 D0 A1 02 3C */ stfs f5, 0x23c(r1)
/* 80038D34 00035C94 D0 81 02 40 */ stfs f4, 0x240(r1)
/* 80038D38 00035C98 D0 61 02 44 */ stfs f3, 0x244(r1)
/* 80038D3C 00035C9C D0 41 02 48 */ stfs f2, 0x248(r1)
/* 80038D40 00035CA0 D0 01 02 4C */ stfs f0, 0x24c(r1)
/* 80038D44 00035CA4 90 E1 01 68 */ stw r7, 0x168(r1)
/* 80038D48 00035CA8 48 29 D3 25 */ bl __ct__5CMRayFRC9CVector3fRC9CVector3ff
/* 80038D4C 00035CAC 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha
/* 80038D50 00035CB0 D3 C1 03 20 */ stfs f30, 0x320(r1)
/* 80038D54 00035CB4 38 83 66 70 */ addi r4, r3, sIdentity__12CTransform4f@l
/* 80038D58 00035CB8 7F C3 F3 78 */ mr r3, r30
/* 80038D5C 00035CBC 48 2D 9E 19 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80038D60 00035CC0 3C 60 80 5A */ lis r3, skPassEverything__15CMaterialFilter@ha
/* 80038D64 00035CC4 81 81 02 28 */ lwz r12, 0x228(r1)
/* 80038D68 00035CC8 38 03 FD 18 */ addi r0, r3, skPassEverything__15CMaterialFilter@l
/* 80038D6C 00035CCC 38 61 01 38 */ addi r3, r1, 0x138
/* 80038D70 00035CD0 90 01 03 54 */ stw r0, 0x354(r1)
/* 80038D74 00035CD4 38 81 02 28 */ addi r4, r1, 0x228
/* 80038D78 00035CD8 38 A1 02 E8 */ addi r5, r1, 0x2e8
/* 80038D7C 00035CDC 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 80038D80 00035CE0 7D 89 03 A6 */ mtctr r12
/* 80038D84 00035CE4 4E 80 04 21 */ bctrl
/* 80038D88 00035CE8 88 C1 01 58 */ lbz r6, 0x158(r1)
/* 80038D8C 00035CEC C0 E1 01 38 */ lfs f7, 0x138(r1)
/* 80038D90 00035CF0 C0 C1 01 3C */ lfs f6, 0x13c(r1)
/* 80038D94 00035CF4 28 06 00 00 */ cmplwi r6, 0
/* 80038D98 00035CF8 C0 A1 01 40 */ lfs f5, 0x140(r1)
/* 80038D9C 00035CFC C0 01 01 44 */ lfs f0, 0x144(r1)
/* 80038DA0 00035D00 C0 81 01 48 */ lfs f4, 0x148(r1)
/* 80038DA4 00035D04 C0 61 01 4C */ lfs f3, 0x14c(r1)
/* 80038DA8 00035D08 C0 41 01 50 */ lfs f2, 0x150(r1)
/* 80038DAC 00035D0C C0 21 01 54 */ lfs f1, 0x154(r1)
/* 80038DB0 00035D10 80 01 01 60 */ lwz r0, 0x160(r1)
/* 80038DB4 00035D14 80 61 01 64 */ lwz r3, 0x164(r1)
/* 80038DB8 00035D18 D0 E1 01 F8 */ stfs f7, 0x1f8(r1)
/* 80038DBC 00035D1C D0 C1 01 FC */ stfs f6, 0x1fc(r1)
/* 80038DC0 00035D20 D0 A1 02 00 */ stfs f5, 0x200(r1)
/* 80038DC4 00035D24 D0 01 02 04 */ stfs f0, 0x204(r1)
/* 80038DC8 00035D28 D0 81 02 08 */ stfs f4, 0x208(r1)
/* 80038DCC 00035D2C D0 61 02 0C */ stfs f3, 0x20c(r1)
/* 80038DD0 00035D30 D0 41 02 10 */ stfs f2, 0x210(r1)
/* 80038DD4 00035D34 D0 21 02 14 */ stfs f1, 0x214(r1)
/* 80038DD8 00035D38 98 C1 02 18 */ stb r6, 0x218(r1)
/* 80038DDC 00035D3C 90 61 02 24 */ stw r3, 0x224(r1)
/* 80038DE0 00035D40 90 01 02 20 */ stw r0, 0x220(r1)
/* 80038DE4 00035D44 41 82 00 5C */ beq lbl_80038E40
/* 80038DE8 00035D48 FC 07 F8 40 */ fcmpo cr0, f7, f31
/* 80038DEC 00035D4C 40 80 01 98 */ bge lbl_80038F84
/* 80038DF0 00035D50 A0 01 02 50 */ lhz r0, 0x250(r1)
/* 80038DF4 00035D54 FF E0 38 90 */ fmr f31, f7
/* 80038DF8 00035D58 80 A1 01 FC */ lwz r5, 0x1fc(r1)
/* 80038DFC 00035D5C B0 16 00 00 */ sth r0, 0(r22)
/* 80038E00 00035D60 80 81 02 00 */ lwz r4, 0x200(r1)
/* 80038E04 00035D64 80 61 02 04 */ lwz r3, 0x204(r1)
/* 80038E08 00035D68 C8 01 02 20 */ lfd f0, 0x220(r1)
/* 80038E0C 00035D6C A0 16 00 00 */ lhz r0, 0(r22)
/* 80038E10 00035D70 D0 E1 02 B8 */ stfs f7, 0x2b8(r1)
/* 80038E14 00035D74 90 A1 02 BC */ stw r5, 0x2bc(r1)
/* 80038E18 00035D78 90 81 02 C0 */ stw r4, 0x2c0(r1)
/* 80038E1C 00035D7C 90 61 02 C4 */ stw r3, 0x2c4(r1)
/* 80038E20 00035D80 D0 81 02 C8 */ stfs f4, 0x2c8(r1)
/* 80038E24 00035D84 D0 61 02 CC */ stfs f3, 0x2cc(r1)
/* 80038E28 00035D88 D0 41 02 D0 */ stfs f2, 0x2d0(r1)
/* 80038E2C 00035D8C D0 21 02 D4 */ stfs f1, 0x2d4(r1)
/* 80038E30 00035D90 98 C1 02 D8 */ stb r6, 0x2d8(r1)
/* 80038E34 00035D94 D8 01 02 E0 */ stfd f0, 0x2e0(r1)
/* 80038E38 00035D98 B0 15 02 C6 */ sth r0, 0x2c6(r21)
/* 80038E3C 00035D9C 48 00 01 48 */ b lbl_80038F84
lbl_80038E40:
/* 80038E40 00035DA0 7E E4 BB 78 */ mr r4, r23
/* 80038E44 00035DA4 38 61 00 E8 */ addi r3, r1, 0xe8
/* 80038E48 00035DA8 48 2F E6 ED */ bl PointInside__6CAABoxCFRC9CVector3f
/* 80038E4C 00035DAC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80038E50 00035DB0 40 82 00 2C */ bne lbl_80038E7C
/* 80038E54 00035DB4 28 1A 00 00 */ cmplwi r26, 0
/* 80038E58 00035DB8 41 82 01 2C */ beq lbl_80038F84
/* 80038E5C 00035DBC 7E A4 AB 78 */ mr r4, r21
/* 80038E60 00035DC0 38 61 00 64 */ addi r3, r1, 0x64
/* 80038E64 00035DC4 48 00 14 95 */ bl GetProjectileBounds__15CGameProjectileCFv
/* 80038E68 00035DC8 38 61 00 64 */ addi r3, r1, 0x64
/* 80038E6C 00035DCC 38 81 00 E8 */ addi r4, r1, 0xe8
/* 80038E70 00035DD0 48 2F ED 15 */ bl DoBoundsOverlap__6CAABoxCFRC6CAABox
/* 80038E74 00035DD4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80038E78 00035DD8 41 82 01 0C */ beq lbl_80038F84
lbl_80038E7C:
/* 80038E7C 00035DDC C0 41 00 4C */ lfs f2, 0x4c(r1)
/* 80038E80 00035DE0 38 61 00 34 */ addi r3, r1, 0x34
/* 80038E84 00035DE4 C0 21 00 50 */ lfs f1, 0x50(r1)
/* 80038E88 00035DE8 38 81 00 28 */ addi r4, r1, 0x28
/* 80038E8C 00035DEC C0 01 00 54 */ lfs f0, 0x54(r1)
/* 80038E90 00035DF0 FC 40 10 50 */ fneg f2, f2
/* 80038E94 00035DF4 FC 20 08 50 */ fneg f1, f1
/* 80038E98 00035DF8 FC 00 00 50 */ fneg f0, f0
/* 80038E9C 00035DFC D0 41 00 28 */ stfs f2, 0x28(r1)
/* 80038EA0 00035E00 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 80038EA4 00035E04 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 80038EA8 00035E08 48 2D AF 29 */ bl __ct__13CUnitVector3fFRC9CVector3f
/* 80038EAC 00035E0C C0 E1 00 38 */ lfs f7, 0x38(r1)
/* 80038EB0 00035E10 39 20 00 01 */ li r9, 1
/* 80038EB4 00035E14 C0 97 00 04 */ lfs f4, 4(r23)
/* 80038EB8 00035E18 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 80038EBC 00035E1C C1 01 00 3C */ lfs f8, 0x3c(r1)
/* 80038EC0 00035E20 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 80038EC4 00035E24 C0 C1 00 34 */ lfs f6, 0x34(r1)
/* 80038EC8 00035E28 EC 04 01 F2 */ fmuls f0, f4, f7
/* 80038ECC 00035E2C C0 77 00 00 */ lfs f3, 0(r23)
/* 80038ED0 00035E30 38 84 CA D0 */ addi r4, r4, lbl_803ECAD0@l
/* 80038ED4 00035E34 C0 B7 00 08 */ lfs f5, 8(r23)
/* 80038ED8 00035E38 28 1D 00 00 */ cmplwi r29, 0
/* 80038EDC 00035E3C 80 FB 00 68 */ lwz r7, 0x68(r27)
/* 80038EE0 00035E40 81 1B 00 6C */ lwz r8, 0x6c(r27)
/* 80038EE4 00035E44 EC 03 01 BA */ fmadds f0, f3, f6, f0
/* 80038EE8 00035E48 A0 BB 00 08 */ lhz r5, 8(r27)
/* 80038EEC 00035E4C 38 63 97 E4 */ addi r3, r3, __vt__19CCollisionPrimitive@l
/* 80038EF0 00035E50 C0 22 84 14 */ lfs f1, lbl_805AA134@sda21(r2)
/* 80038EF4 00035E54 38 00 00 00 */ li r0, 0
/* 80038EF8 00035E58 EC 45 02 3A */ fmadds f2, f5, f8, f0
/* 80038EFC 00035E5C B0 B6 00 00 */ sth r5, 0(r22)
/* 80038F00 00035E60 A0 B6 00 00 */ lhz r5, 0(r22)
/* 80038F04 00035E64 D0 61 01 0C */ stfs f3, 0x10c(r1)
/* 80038F08 00035E68 B0 B5 02 C6 */ sth r5, 0x2c6(r21)
/* 80038F0C 00035E6C 80 C1 01 0C */ lwz r6, 0x10c(r1)
/* 80038F10 00035E70 D0 81 01 10 */ stfs f4, 0x110(r1)
/* 80038F14 00035E74 D0 A1 01 14 */ stfs f5, 0x114(r1)
/* 80038F18 00035E78 80 A1 01 10 */ lwz r5, 0x110(r1)
/* 80038F1C 00035E7C 90 81 02 28 */ stw r4, 0x228(r1)
/* 80038F20 00035E80 80 81 01 14 */ lwz r4, 0x114(r1)
/* 80038F24 00035E84 91 01 01 34 */ stw r8, 0x134(r1)
/* 80038F28 00035E88 90 E1 01 30 */ stw r7, 0x130(r1)
/* 80038F2C 00035E8C C8 01 01 30 */ lfd f0, 0x130(r1)
/* 80038F30 00035E90 D0 21 01 08 */ stfs f1, 0x108(r1)
/* 80038F34 00035E94 D0 C1 01 18 */ stfs f6, 0x118(r1)
/* 80038F38 00035E98 D0 E1 01 1C */ stfs f7, 0x11c(r1)
/* 80038F3C 00035E9C D1 01 01 20 */ stfs f8, 0x120(r1)
/* 80038F40 00035EA0 D0 41 01 24 */ stfs f2, 0x124(r1)
/* 80038F44 00035EA4 99 21 01 28 */ stb r9, 0x128(r1)
/* 80038F48 00035EA8 D0 21 02 B8 */ stfs f1, 0x2b8(r1)
/* 80038F4C 00035EAC 90 C1 02 BC */ stw r6, 0x2bc(r1)
/* 80038F50 00035EB0 90 A1 02 C0 */ stw r5, 0x2c0(r1)
/* 80038F54 00035EB4 90 81 02 C4 */ stw r4, 0x2c4(r1)
/* 80038F58 00035EB8 D0 C1 02 C8 */ stfs f6, 0x2c8(r1)
/* 80038F5C 00035EBC D0 E1 02 CC */ stfs f7, 0x2cc(r1)
/* 80038F60 00035EC0 D1 01 02 D0 */ stfs f8, 0x2d0(r1)
/* 80038F64 00035EC4 D0 41 02 D4 */ stfs f2, 0x2d4(r1)
/* 80038F68 00035EC8 99 21 02 D8 */ stb r9, 0x2d8(r1)
/* 80038F6C 00035ECC D8 01 02 E0 */ stfd f0, 0x2e0(r1)
/* 80038F70 00035ED0 90 61 02 28 */ stw r3, 0x228(r1)
/* 80038F74 00035ED4 98 01 01 00 */ stb r0, 0x100(r1)
/* 80038F78 00035ED8 41 82 00 58 */ beq lbl_80038FD0
/* 80038F7C 00035EDC 98 01 02 84 */ stb r0, 0x284(r1)
/* 80038F80 00035EE0 48 00 00 50 */ b lbl_80038FD0
lbl_80038F84:
/* 80038F84 00035EE4 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha
/* 80038F88 00035EE8 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 80038F8C 00035EEC 38 84 CA D0 */ addi r4, r4, lbl_803ECAD0@l
/* 80038F90 00035EF0 38 00 00 00 */ li r0, 0
/* 80038F94 00035EF4 90 81 02 28 */ stw r4, 0x228(r1)
/* 80038F98 00035EF8 38 63 97 E4 */ addi r3, r3, __vt__19CCollisionPrimitive@l
/* 80038F9C 00035EFC 90 61 02 28 */ stw r3, 0x228(r1)
/* 80038FA0 00035F00 98 01 01 00 */ stb r0, 0x100(r1)
lbl_80038FA4:
/* 80038FA4 00035F04 28 1D 00 00 */ cmplwi r29, 0
/* 80038FA8 00035F08 41 82 00 0C */ beq lbl_80038FB4
/* 80038FAC 00035F0C 38 00 00 00 */ li r0, 0
/* 80038FB0 00035F10 98 01 02 84 */ stb r0, 0x284(r1)
lbl_80038FB4:
/* 80038FB4 00035F14 3B 9C 00 02 */ addi r28, r28, 2
lbl_80038FB8:
/* 80038FB8 00035F18 80 18 00 00 */ lwz r0, 0(r24)
/* 80038FBC 00035F1C 54 00 08 3C */ slwi r0, r0, 1
/* 80038FC0 00035F20 7C 78 02 14 */ add r3, r24, r0
/* 80038FC4 00035F24 38 03 00 04 */ addi r0, r3, 4
/* 80038FC8 00035F28 7C 1C 00 40 */ cmplw r28, r0
/* 80038FCC 00035F2C 40 82 F9 60 */ bne lbl_8003892C
lbl_80038FD0:
/* 80038FD0 00035F30 88 95 02 E4 */ lbz r4, 0x2e4(r21)
/* 80038FD4 00035F34 54 80 E7 FF */ rlwinm. r0, r4, 0x1c, 0x1f, 0x1f
/* 80038FD8 00035F38 41 82 00 20 */ beq lbl_80038FF8
/* 80038FDC 00035F3C A0 76 00 00 */ lhz r3, 0(r22)
/* 80038FE0 00035F40 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80038FE4 00035F44 7C 03 00 40 */ cmplw r3, r0
/* 80038FE8 00035F48 40 82 00 10 */ bne lbl_80038FF8
/* 80038FEC 00035F4C 38 00 00 00 */ li r0, 0
/* 80038FF0 00035F50 50 04 26 F6 */ rlwimi r4, r0, 4, 0x1b, 0x1b
/* 80038FF4 00035F54 98 95 02 E4 */ stb r4, 0x2e4(r21)
lbl_80038FF8:
/* 80038FF8 00035F58 C0 21 02 B8 */ lfs f1, 0x2b8(r1)
/* 80038FFC 00035F5C C0 01 02 BC */ lfs f0, 0x2bc(r1)
/* 80039000 00035F60 D0 34 00 00 */ stfs f1, 0(r20)
/* 80039004 00035F64 C0 21 02 C0 */ lfs f1, 0x2c0(r1)
/* 80039008 00035F68 D0 14 00 04 */ stfs f0, 4(r20)
/* 8003900C 00035F6C C0 01 02 C4 */ lfs f0, 0x2c4(r1)
/* 80039010 00035F70 D0 34 00 08 */ stfs f1, 8(r20)
/* 80039014 00035F74 C0 21 02 C8 */ lfs f1, 0x2c8(r1)
/* 80039018 00035F78 D0 14 00 0C */ stfs f0, 0xc(r20)
/* 8003901C 00035F7C C0 01 02 CC */ lfs f0, 0x2cc(r1)
/* 80039020 00035F80 D0 34 00 10 */ stfs f1, 0x10(r20)
/* 80039024 00035F84 C0 21 02 D0 */ lfs f1, 0x2d0(r1)
/* 80039028 00035F88 D0 14 00 14 */ stfs f0, 0x14(r20)
/* 8003902C 00035F8C C0 01 02 D4 */ lfs f0, 0x2d4(r1)
/* 80039030 00035F90 D0 34 00 18 */ stfs f1, 0x18(r20)
/* 80039034 00035F94 88 01 02 D8 */ lbz r0, 0x2d8(r1)
/* 80039038 00035F98 D0 14 00 1C */ stfs f0, 0x1c(r20)
/* 8003903C 00035F9C 80 61 02 E4 */ lwz r3, 0x2e4(r1)
/* 80039040 00035FA0 98 14 00 20 */ stb r0, 0x20(r20)
/* 80039044 00035FA4 80 01 02 E0 */ lwz r0, 0x2e0(r1)
/* 80039048 00035FA8 90 74 00 2C */ stw r3, 0x2c(r20)
/* 8003904C 00035FAC 90 14 00 28 */ stw r0, 0x28(r20)
lbl_80039050:
/* 80039050 00035FB0 E3 E1 03 A8 */ psq_l f31, 936(r1), 0, qr0
/* 80039054 00035FB4 CB E1 03 A0 */ lfd f31, 0x3a0(r1)
/* 80039058 00035FB8 E3 C1 03 98 */ psq_l f30, 920(r1), 0, qr0
/* 8003905C 00035FBC CB C1 03 90 */ lfd f30, 0x390(r1)
/* 80039060 00035FC0 BA 81 03 60 */ lmw r20, 0x360(r1)
/* 80039064 00035FC4 80 01 03 B4 */ lwz r0, 0x3b4(r1)
/* 80039068 00035FC8 7C 08 03 A6 */ mtlr r0
/* 8003906C 00035FCC 38 21 03 B0 */ addi r1, r1, 0x3b0
/* 80039070 00035FD0 4E 80 00 20 */ blr
.global CanCollideWith__15CGameProjectileFR6CActorR13CStateManager
CanCollideWith__15CGameProjectileFR6CActorR13CStateManager:
/* 80039074 00035FD4 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80039078 00035FD8 7C 08 02 A6 */ mflr r0
/* 8003907C 00035FDC 90 01 00 74 */ stw r0, 0x74(r1)
/* 80039080 00035FE0 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 80039084 00035FE4 7C DF 33 78 */ mr r31, r6
/* 80039088 00035FE8 93 C1 00 68 */ stw r30, 0x68(r1)
/* 8003908C 00035FEC 7C BE 2B 78 */ mr r30, r5
/* 80039090 00035FF0 93 A1 00 64 */ stw r29, 0x64(r1)
/* 80039094 00035FF4 7C 9D 23 78 */ mr r29, r4
/* 80039098 00035FF8 93 81 00 60 */ stw r28, 0x60(r1)
/* 8003909C 00035FFC 7C 7C 1B 78 */ mr r28, r3
/* 800390A0 00036000 7F C3 F3 78 */ mr r3, r30
/* 800390A4 00036004 81 9E 00 00 */ lwz r12, 0(r30)
/* 800390A8 00036008 81 8C 00 38 */ lwz r12, 0x38(r12)
/* 800390AC 0003600C 7D 89 03 A6 */ mtctr r12
/* 800390B0 00036010 4E 80 04 21 */ bctrl
/* 800390B4 00036014 38 9D 01 2C */ addi r4, r29, 0x12c
/* 800390B8 00036018 38 A0 00 00 */ li r5, 0
/* 800390BC 0003601C 48 0C 94 01 */ bl GetVulnerability__20CDamageVulnerabilityCFRC11CWeaponModei
/* 800390C0 00036020 2C 03 00 04 */ cmpwi r3, 4
/* 800390C4 00036024 40 82 00 84 */ bne lbl_80039148
/* 800390C8 00036028 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 800390CC 0003602C 38 60 00 00 */ li r3, 0
/* 800390D0 00036030 98 61 00 54 */ stb r3, 0x54(r1)
/* 800390D4 00036034 B0 1C 00 00 */ sth r0, 0(r28)
/* 800390D8 00036038 98 7C 00 34 */ stb r3, 0x34(r28)
/* 800390DC 0003603C 48 00 00 60 */ b lbl_8003913C
/* 800390E0 00036040 41 82 00 5C */ beq lbl_8003913C
/* 800390E4 00036044 C0 21 00 24 */ lfs f1, 0x24(r1)
/* 800390E8 00036048 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 800390EC 0003604C D0 24 00 00 */ stfs f1, 0(r4)
/* 800390F0 00036050 C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 800390F4 00036054 D0 04 00 04 */ stfs f0, 4(r4)
/* 800390F8 00036058 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 800390FC 0003605C D0 24 00 08 */ stfs f1, 8(r4)
/* 80039100 00036060 C0 21 00 34 */ lfs f1, 0x34(r1)
/* 80039104 00036064 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80039108 00036068 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 8003910C 0003606C D0 24 00 10 */ stfs f1, 0x10(r4)
/* 80039110 00036070 C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 80039114 00036074 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80039118 00036078 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 8003911C 0003607C D0 24 00 18 */ stfs f1, 0x18(r4)
/* 80039120 00036080 88 01 00 44 */ lbz r0, 0x44(r1)
/* 80039124 00036084 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80039128 00036088 80 61 00 50 */ lwz r3, 0x50(r1)
/* 8003912C 0003608C 98 04 00 20 */ stb r0, 0x20(r4)
/* 80039130 00036090 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 80039134 00036094 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80039138 00036098 90 04 00 28 */ stw r0, 0x28(r4)
lbl_8003913C:
/* 8003913C 0003609C 38 00 00 00 */ li r0, 0
/* 80039140 000360A0 98 01 00 54 */ stb r0, 0x54(r1)
/* 80039144 000360A4 48 00 00 A8 */ b lbl_800391EC
lbl_80039148:
/* 80039148 000360A8 7F C4 F3 78 */ mr r4, r30
/* 8003914C 000360AC 38 61 00 1C */ addi r3, r1, 0x1c
/* 80039150 000360B0 48 06 DE 05 */ bl "__ct__28TCastToPtr<14CScriptTrigger>FR7CEntity"
/* 80039154 000360B4 80 03 00 04 */ lwz r0, 4(r3)
/* 80039158 000360B8 28 00 00 00 */ cmplwi r0, 0
/* 8003915C 000360BC 41 82 00 1C */ beq lbl_80039178
/* 80039160 000360C0 7F 83 E3 78 */ mr r3, r28
/* 80039164 000360C4 7F A4 EB 78 */ mr r4, r29
/* 80039168 000360C8 7F C5 F3 78 */ mr r5, r30
/* 8003916C 000360CC 7F E6 FB 78 */ mr r6, r31
/* 80039170 000360D0 48 00 0E B1 */ bl CanCollideWithTrigger__15CGameProjectileFR6CActorR13CStateManager
/* 80039174 000360D4 48 00 00 78 */ b lbl_800391EC
lbl_80039178:
/* 80039178 000360D8 7F C4 F3 78 */ mr r4, r30
/* 8003917C 000360DC 38 61 00 14 */ addi r3, r1, 0x14
/* 80039180 000360E0 48 06 FD 01 */ bl "__ct__29TCastToPtr<15CScriptPlatform>FR7CEntity"
/* 80039184 000360E4 80 03 00 04 */ lwz r0, 4(r3)
/* 80039188 000360E8 28 00 00 00 */ cmplwi r0, 0
/* 8003918C 000360EC 40 82 00 34 */ bne lbl_800391C0
/* 80039190 000360F0 7F C4 F3 78 */ mr r4, r30
/* 80039194 000360F4 38 61 00 0C */ addi r3, r1, 0xc
/* 80039198 000360F8 48 07 62 21 */ bl "__ct__29TCastToPtr<15CCollisionActor>FR7CEntity"
/* 8003919C 000360FC 80 03 00 04 */ lwz r0, 4(r3)
/* 800391A0 00036100 28 00 00 00 */ cmplwi r0, 0
/* 800391A4 00036104 40 82 00 1C */ bne lbl_800391C0
/* 800391A8 00036108 7F C4 F3 78 */ mr r4, r30
/* 800391AC 0003610C 38 61 00 08 */ addi r3, r1, 8
/* 800391B0 00036110 48 06 C2 55 */ bl sub_800a5404
/* 800391B4 00036114 48 06 C2 25 */ bl "CastTo<11CPuddleToad>__10CPatternedFP7CEntity"
/* 800391B8 00036118 28 03 00 00 */ cmplwi r3, 0
/* 800391BC 0003611C 41 82 00 1C */ beq lbl_800391D8
lbl_800391C0:
/* 800391C0 00036120 7F 83 E3 78 */ mr r3, r28
/* 800391C4 00036124 7F A4 EB 78 */ mr r4, r29
/* 800391C8 00036128 7F C5 F3 78 */ mr r5, r30
/* 800391CC 0003612C 7F E6 FB 78 */ mr r6, r31
/* 800391D0 00036130 48 00 00 3D */ bl CanCollideWithComplexCollision__15CGameProjectileFR6CActorR13CStateManager
/* 800391D4 00036134 48 00 00 18 */ b lbl_800391EC
lbl_800391D8:
/* 800391D8 00036138 7F 83 E3 78 */ mr r3, r28
/* 800391DC 0003613C 7F A4 EB 78 */ mr r4, r29
/* 800391E0 00036140 7F C5 F3 78 */ mr r5, r30
/* 800391E4 00036144 7F E6 FB 78 */ mr r6, r31
/* 800391E8 00036148 48 00 08 B5 */ bl CanCollideWithGameObject__15CGameProjectileFR6CActorR13CStateManager
lbl_800391EC:
/* 800391EC 0003614C 80 01 00 74 */ lwz r0, 0x74(r1)
/* 800391F0 00036150 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 800391F4 00036154 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 800391F8 00036158 83 A1 00 64 */ lwz r29, 0x64(r1)
/* 800391FC 0003615C 83 81 00 60 */ lwz r28, 0x60(r1)
/* 80039200 00036160 7C 08 03 A6 */ mtlr r0
/* 80039204 00036164 38 21 00 70 */ addi r1, r1, 0x70
/* 80039208 00036168 4E 80 00 20 */ blr
.global CanCollideWithComplexCollision__15CGameProjectileFR6CActorR13CStateManager
CanCollideWithComplexCollision__15CGameProjectileFR6CActorR13CStateManager:
/* 8003920C 0003616C 94 21 FC 00 */ stwu r1, -0x400(r1)
/* 80039210 00036170 7C 08 02 A6 */ mflr r0
/* 80039214 00036174 90 01 04 04 */ stw r0, 0x404(r1)
/* 80039218 00036178 DB E1 03 F0 */ stfd f31, 0x3f0(r1)
/* 8003921C 0003617C F3 E1 03 F8 */ psq_st f31, 1016(r1), 0, qr0
/* 80039220 00036180 DB C1 03 E0 */ stfd f30, 0x3e0(r1)
/* 80039224 00036184 F3 C1 03 E8 */ psq_st f30, 1000(r1), 0, qr0
/* 80039228 00036188 DB A1 03 D0 */ stfd f29, 0x3d0(r1)
/* 8003922C 0003618C F3 A1 03 D8 */ psq_st f29, 984(r1), 0, qr0
/* 80039230 00036190 BF 41 03 B8 */ stmw r26, 0x3b8(r1)
/* 80039234 00036194 7C BE 2B 78 */ mr r30, r5
/* 80039238 00036198 7C 7C 1B 78 */ mr r28, r3
/* 8003923C 0003619C 7C 9D 23 78 */ mr r29, r4
/* 80039240 000361A0 38 61 00 1C */ addi r3, r1, 0x1c
/* 80039244 000361A4 7F C4 F3 78 */ mr r4, r30
/* 80039248 000361A8 3B 40 00 00 */ li r26, 0
/* 8003924C 000361AC 48 06 FC 35 */ bl "__ct__29TCastToPtr<15CScriptPlatform>FR7CEntity"
/* 80039250 000361B0 80 63 00 04 */ lwz r3, 4(r3)
/* 80039254 000361B4 28 03 00 00 */ cmplwi r3, 0
/* 80039258 000361B8 41 82 00 18 */ beq lbl_80039270
/* 8003925C 000361BC 80 03 03 14 */ lwz r0, 0x314(r3)
/* 80039260 000361C0 28 00 00 00 */ cmplwi r0, 0
/* 80039264 000361C4 41 82 00 D8 */ beq lbl_8003933C
/* 80039268 000361C8 7C 7A 1B 78 */ mr r26, r3
/* 8003926C 000361CC 48 00 00 D0 */ b lbl_8003933C
lbl_80039270:
/* 80039270 000361D0 7F C4 F3 78 */ mr r4, r30
/* 80039274 000361D4 38 61 00 08 */ addi r3, r1, 8
/* 80039278 000361D8 48 06 C1 8D */ bl sub_800a5404
/* 8003927C 000361DC 48 06 C1 5D */ bl "CastTo<11CPuddleToad>__10CPatternedFP7CEntity"
/* 80039280 000361E0 28 03 00 00 */ cmplwi r3, 0
/* 80039284 000361E4 41 82 00 0C */ beq lbl_80039290
/* 80039288 000361E8 7F DA F3 78 */ mr r26, r30
/* 8003928C 000361EC 48 00 00 B0 */ b lbl_8003933C
lbl_80039290:
/* 80039290 000361F0 7F C4 F3 78 */ mr r4, r30
/* 80039294 000361F4 38 61 00 14 */ addi r3, r1, 0x14
/* 80039298 000361F8 48 07 61 21 */ bl "__ct__29TCastToPtr<15CCollisionActor>FR7CEntity"
/* 8003929C 000361FC 80 83 00 04 */ lwz r4, 4(r3)
/* 800392A0 00036200 28 04 00 00 */ cmplwi r4, 0
/* 800392A4 00036204 41 82 00 98 */ beq lbl_8003933C
/* 800392A8 00036208 A0 64 02 5C */ lhz r3, 0x25c(r4)
/* 800392AC 0003620C A0 1D 00 EC */ lhz r0, 0xec(r29)
/* 800392B0 00036210 7C 03 00 40 */ cmplw r3, r0
/* 800392B4 00036214 40 82 00 84 */ bne lbl_80039338
/* 800392B8 00036218 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 800392BC 0003621C 38 60 00 00 */ li r3, 0
/* 800392C0 00036220 98 61 02 98 */ stb r3, 0x298(r1)
/* 800392C4 00036224 B0 1C 00 00 */ sth r0, 0(r28)
/* 800392C8 00036228 98 7C 00 34 */ stb r3, 0x34(r28)
/* 800392CC 0003622C 48 00 00 60 */ b lbl_8003932C
/* 800392D0 00036230 41 82 00 5C */ beq lbl_8003932C
/* 800392D4 00036234 C0 21 02 68 */ lfs f1, 0x268(r1)
/* 800392D8 00036238 C0 01 02 6C */ lfs f0, 0x26c(r1)
/* 800392DC 0003623C D0 24 00 00 */ stfs f1, 0(r4)
/* 800392E0 00036240 C0 21 02 70 */ lfs f1, 0x270(r1)
/* 800392E4 00036244 D0 04 00 04 */ stfs f0, 4(r4)
/* 800392E8 00036248 C0 01 02 74 */ lfs f0, 0x274(r1)
/* 800392EC 0003624C D0 24 00 08 */ stfs f1, 8(r4)
/* 800392F0 00036250 C0 21 02 78 */ lfs f1, 0x278(r1)
/* 800392F4 00036254 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 800392F8 00036258 C0 01 02 7C */ lfs f0, 0x27c(r1)
/* 800392FC 0003625C D0 24 00 10 */ stfs f1, 0x10(r4)
/* 80039300 00036260 C0 21 02 80 */ lfs f1, 0x280(r1)
/* 80039304 00036264 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80039308 00036268 C0 01 02 84 */ lfs f0, 0x284(r1)
/* 8003930C 0003626C D0 24 00 18 */ stfs f1, 0x18(r4)
/* 80039310 00036270 88 01 02 88 */ lbz r0, 0x288(r1)
/* 80039314 00036274 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80039318 00036278 80 61 02 94 */ lwz r3, 0x294(r1)
/* 8003931C 0003627C 98 04 00 20 */ stb r0, 0x20(r4)
/* 80039320 00036280 80 01 02 90 */ lwz r0, 0x290(r1)
/* 80039324 00036284 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80039328 00036288 90 04 00 28 */ stw r0, 0x28(r4)
lbl_8003932C:
/* 8003932C 0003628C 38 00 00 00 */ li r0, 0
/* 80039330 00036290 98 01 02 98 */ stb r0, 0x298(r1)
/* 80039334 00036294 48 00 07 3C */ b lbl_80039A70
lbl_80039338:
/* 80039338 00036298 7C 9A 23 78 */ mr r26, r4
lbl_8003933C:
/* 8003933C 0003629C 28 1A 00 00 */ cmplwi r26, 0
/* 80039340 000362A0 41 82 06 B4 */ beq lbl_800399F4
/* 80039344 000362A4 7F 43 D3 78 */ mr r3, r26
/* 80039348 000362A8 81 9A 00 00 */ lwz r12, 0(r26)
/* 8003934C 000362AC 81 8C 00 6C */ lwz r12, 0x6c(r12)
/* 80039350 000362B0 7D 89 03 A6 */ mtctr r12
/* 80039354 000362B4 4E 80 04 21 */ bctrl
/* 80039358 000362B8 81 9A 00 00 */ lwz r12, 0(r26)
/* 8003935C 000362BC 7C 7F 1B 78 */ mr r31, r3
/* 80039360 000362C0 7F 44 D3 78 */ mr r4, r26
/* 80039364 000362C4 38 61 02 38 */ addi r3, r1, 0x238
/* 80039368 000362C8 81 8C 00 70 */ lwz r12, 0x70(r12)
/* 8003936C 000362CC 7D 89 03 A6 */ mtctr r12
/* 80039370 000362D0 4E 80 04 21 */ bctrl
/* 80039374 000362D4 38 61 02 9C */ addi r3, r1, 0x29c
/* 80039378 000362D8 38 81 02 38 */ addi r4, r1, 0x238
/* 8003937C 000362DC 48 2D 97 F9 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80039380 000362E0 C0 3D 00 50 */ lfs f1, 0x50(r29)
/* 80039384 000362E4 38 61 00 60 */ addi r3, r1, 0x60
/* 80039388 000362E8 C0 1D 02 9C */ lfs f0, 0x29c(r29)
/* 8003938C 000362EC C0 7D 00 60 */ lfs f3, 0x60(r29)
/* 80039390 000362F0 C0 5D 02 A0 */ lfs f2, 0x2a0(r29)
/* 80039394 000362F4 EC 81 00 28 */ fsubs f4, f1, f0
/* 80039398 000362F8 C0 3D 00 40 */ lfs f1, 0x40(r29)
/* 8003939C 000362FC C0 1D 02 98 */ lfs f0, 0x298(r29)
/* 800393A0 00036300 EC 43 10 28 */ fsubs f2, f3, f2
/* 800393A4 00036304 EC 01 00 28 */ fsubs f0, f1, f0
/* 800393A8 00036308 D0 81 00 64 */ stfs f4, 0x64(r1)
/* 800393AC 0003630C D0 41 00 68 */ stfs f2, 0x68(r1)
/* 800393B0 00036310 D0 01 00 60 */ stfs f0, 0x60(r1)
/* 800393B4 00036314 48 2D B3 45 */ bl CanBeNormalized__9CVector3fCFv
/* 800393B8 00036318 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800393BC 0003631C 41 82 05 B8 */ beq lbl_80039974
/* 800393C0 00036320 38 61 00 48 */ addi r3, r1, 0x48
/* 800393C4 00036324 38 81 00 60 */ addi r4, r1, 0x60
/* 800393C8 00036328 48 2D B4 89 */ bl AsNormalized__9CVector3fCFv
/* 800393CC 0003632C C0 41 00 48 */ lfs f2, 0x48(r1)
/* 800393D0 00036330 38 61 00 60 */ addi r3, r1, 0x60
/* 800393D4 00036334 C0 21 00 4C */ lfs f1, 0x4c(r1)
/* 800393D8 00036338 C0 01 00 50 */ lfs f0, 0x50(r1)
/* 800393DC 0003633C D0 41 00 54 */ stfs f2, 0x54(r1)
/* 800393E0 00036340 D0 21 00 58 */ stfs f1, 0x58(r1)
/* 800393E4 00036344 D0 01 00 5C */ stfs f0, 0x5c(r1)
/* 800393E8 00036348 48 2D B4 D1 */ bl Magnitude__9CVector3fCFv
/* 800393EC 0003634C FF A0 08 90 */ fmr f29, f1
/* 800393F0 00036350 80 AD 82 10 */ lwz r5, lbl_805A6DD0@sda21(r13)
/* 800393F4 00036354 38 60 00 00 */ li r3, 0
/* 800393F8 00036358 38 80 00 01 */ li r4, 1
/* 800393FC 0003635C 48 35 0A F9 */ bl __shl2i
/* 80039400 00036360 80 AD 82 0C */ lwz r5, lbl_805A6DCC@sda21(r13)
/* 80039404 00036364 7C 9A 23 78 */ mr r26, r4
/* 80039408 00036368 7C 7B 1B 78 */ mr r27, r3
/* 8003940C 0003636C 38 60 00 00 */ li r3, 0
/* 80039410 00036370 38 80 00 01 */ li r4, 1
/* 80039414 00036374 48 35 0A E1 */ bl __shl2i
/* 80039418 00036378 38 00 00 03 */ li r0, 3
/* 8003941C 0003637C FC 20 E8 90 */ fmr f1, f29
/* 80039420 00036380 90 81 00 8C */ stw r4, 0x8c(r1)
/* 80039424 00036384 38 9D 02 98 */ addi r4, r29, 0x298
/* 80039428 00036388 38 A1 00 54 */ addi r5, r1, 0x54
/* 8003942C 0003638C 90 61 00 88 */ stw r3, 0x88(r1)
/* 80039430 00036390 38 61 03 3C */ addi r3, r1, 0x33c
/* 80039434 00036394 93 41 00 94 */ stw r26, 0x94(r1)
/* 80039438 00036398 93 61 00 90 */ stw r27, 0x90(r1)
/* 8003943C 0003639C 90 01 00 98 */ stw r0, 0x98(r1)
/* 80039440 000363A0 48 29 CC 2D */ bl __ct__5CMRayFRC9CVector3fRC9CVector3ff
/* 80039444 000363A4 D3 A1 03 74 */ stfs f29, 0x374(r1)
/* 80039448 000363A8 38 61 03 78 */ addi r3, r1, 0x378
/* 8003944C 000363AC 38 81 02 9C */ addi r4, r1, 0x29c
/* 80039450 000363B0 48 2D 97 25 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80039454 000363B4 38 01 00 88 */ addi r0, r1, 0x88
/* 80039458 000363B8 7F E4 FB 78 */ mr r4, r31
/* 8003945C 000363BC 90 01 03 A8 */ stw r0, 0x3a8(r1)
/* 80039460 000363C0 38 61 02 08 */ addi r3, r1, 0x208
/* 80039464 000363C4 38 A1 03 3C */ addi r5, r1, 0x33c
/* 80039468 000363C8 81 9F 00 00 */ lwz r12, 0(r31)
/* 8003946C 000363CC 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 80039470 000363D0 7D 89 03 A6 */ mtctr r12
/* 80039474 000363D4 4E 80 04 21 */ bctrl
/* 80039478 000363D8 88 81 02 28 */ lbz r4, 0x228(r1)
/* 8003947C 000363DC C0 01 02 08 */ lfs f0, 0x208(r1)
/* 80039480 000363E0 28 04 00 00 */ cmplwi r4, 0
/* 80039484 000363E4 C0 21 02 0C */ lfs f1, 0x20c(r1)
/* 80039488 000363E8 C0 41 02 10 */ lfs f2, 0x210(r1)
/* 8003948C 000363EC C0 61 02 14 */ lfs f3, 0x214(r1)
/* 80039490 000363F0 C0 81 02 18 */ lfs f4, 0x218(r1)
/* 80039494 000363F4 C0 A1 02 1C */ lfs f5, 0x21c(r1)
/* 80039498 000363F8 C0 C1 02 20 */ lfs f6, 0x220(r1)
/* 8003949C 000363FC C0 E1 02 24 */ lfs f7, 0x224(r1)
/* 800394A0 00036400 80 A1 02 30 */ lwz r5, 0x230(r1)
/* 800394A4 00036404 80 C1 02 34 */ lwz r6, 0x234(r1)
/* 800394A8 00036408 40 82 04 0C */ bne lbl_800398B4
/* 800394AC 0003640C 7F E3 FB 78 */ mr r3, r31
/* 800394B0 00036410 81 9F 00 00 */ lwz r12, 0(r31)
/* 800394B4 00036414 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 800394B8 00036418 7D 89 03 A6 */ mtctr r12
/* 800394BC 0003641C 4E 80 04 21 */ bctrl
/* 800394C0 00036420 3C 03 AC B0 */ addis r0, r3, 0xacb0
/* 800394C4 00036424 28 00 48 52 */ cmplwi r0, 0x4852
/* 800394C8 00036428 41 82 01 D4 */ beq lbl_8003969C
/* 800394CC 0003642C 80 AD 82 18 */ lwz r5, lbl_805A6DD8@sda21(r13)
/* 800394D0 00036430 38 60 00 00 */ li r3, 0
/* 800394D4 00036434 38 80 00 01 */ li r4, 1
/* 800394D8 00036438 48 35 0A 1D */ bl __shl2i
/* 800394DC 0003643C 80 AD 82 14 */ lwz r5, lbl_805A6DD4@sda21(r13)
/* 800394E0 00036440 7C 9B 23 78 */ mr r27, r4
/* 800394E4 00036444 7C 7A 1B 78 */ mr r26, r3
/* 800394E8 00036448 38 60 00 00 */ li r3, 0
/* 800394EC 0003644C 38 80 00 01 */ li r4, 1
/* 800394F0 00036450 48 35 0A 05 */ bl __shl2i
/* 800394F4 00036454 C0 41 00 58 */ lfs f2, 0x58(r1)
/* 800394F8 00036458 38 00 00 03 */ li r0, 3
/* 800394FC 0003645C C0 21 00 5C */ lfs f1, 0x5c(r1)
/* 80039500 00036460 38 A1 00 54 */ addi r5, r1, 0x54
/* 80039504 00036464 C0 01 00 54 */ lfs f0, 0x54(r1)
/* 80039508 00036468 EC 7D 00 B2 */ fmuls f3, f29, f2
/* 8003950C 0003646C C0 82 84 10 */ lfs f4, lbl_805AA130@sda21(r2)
/* 80039510 00036470 EC 5D 00 72 */ fmuls f2, f29, f1
/* 80039514 00036474 EC 3D 00 32 */ fmuls f1, f29, f0
/* 80039518 00036478 90 81 00 74 */ stw r4, 0x74(r1)
/* 8003951C 0003647C C0 02 84 1C */ lfs f0, lbl_805AA13C@sda21(r2)
/* 80039520 00036480 90 61 00 70 */ stw r3, 0x70(r1)
/* 80039524 00036484 EC A4 00 F2 */ fmuls f5, f4, f3
/* 80039528 00036488 EF A0 07 72 */ fmuls f29, f0, f29
/* 8003952C 0003648C 93 61 00 7C */ stw r27, 0x7c(r1)
/* 80039530 00036490 EC 64 00 B2 */ fmuls f3, f4, f2
/* 80039534 00036494 EC 04 00 72 */ fmuls f0, f4, f1
/* 80039538 00036498 38 61 02 CC */ addi r3, r1, 0x2cc
/* 8003953C 0003649C 93 41 00 78 */ stw r26, 0x78(r1)
/* 80039540 000364A0 FC 20 E8 90 */ fmr f1, f29
/* 80039544 000364A4 38 81 00 3C */ addi r4, r1, 0x3c
/* 80039548 000364A8 90 01 00 80 */ stw r0, 0x80(r1)
/* 8003954C 000364AC C0 DD 02 9C */ lfs f6, 0x29c(r29)
/* 80039550 000364B0 C0 9D 02 A0 */ lfs f4, 0x2a0(r29)
/* 80039554 000364B4 C0 5D 02 98 */ lfs f2, 0x298(r29)
/* 80039558 000364B8 EC A6 28 28 */ fsubs f5, f6, f5
/* 8003955C 000364BC EC 64 18 28 */ fsubs f3, f4, f3
/* 80039560 000364C0 EC 02 00 28 */ fsubs f0, f2, f0
/* 80039564 000364C4 D0 A1 00 40 */ stfs f5, 0x40(r1)
/* 80039568 000364C8 D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 8003956C 000364CC D0 61 00 44 */ stfs f3, 0x44(r1)
/* 80039570 000364D0 48 29 CA FD */ bl __ct__5CMRayFRC9CVector3fRC9CVector3ff
/* 80039574 000364D4 D3 A1 03 04 */ stfs f29, 0x304(r1)
/* 80039578 000364D8 38 61 03 08 */ addi r3, r1, 0x308
/* 8003957C 000364DC 38 81 02 9C */ addi r4, r1, 0x29c
/* 80039580 000364E0 48 2D 95 F5 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80039584 000364E4 38 01 00 70 */ addi r0, r1, 0x70
/* 80039588 000364E8 7F E4 FB 78 */ mr r4, r31
/* 8003958C 000364EC 90 01 03 38 */ stw r0, 0x338(r1)
/* 80039590 000364F0 38 61 01 D8 */ addi r3, r1, 0x1d8
/* 80039594 000364F4 38 A1 02 CC */ addi r5, r1, 0x2cc
/* 80039598 000364F8 81 9F 00 00 */ lwz r12, 0(r31)
/* 8003959C 000364FC 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 800395A0 00036500 7D 89 03 A6 */ mtctr r12
/* 800395A4 00036504 4E 80 04 21 */ bctrl
/* 800395A8 00036508 88 81 01 F8 */ lbz r4, 0x1f8(r1)
/* 800395AC 0003650C C0 01 01 D8 */ lfs f0, 0x1d8(r1)
/* 800395B0 00036510 28 04 00 00 */ cmplwi r4, 0
/* 800395B4 00036514 C0 21 01 DC */ lfs f1, 0x1dc(r1)
/* 800395B8 00036518 C0 41 01 E0 */ lfs f2, 0x1e0(r1)
/* 800395BC 0003651C C0 61 01 E4 */ lfs f3, 0x1e4(r1)
/* 800395C0 00036520 C0 81 01 E8 */ lfs f4, 0x1e8(r1)
/* 800395C4 00036524 C0 A1 01 EC */ lfs f5, 0x1ec(r1)
/* 800395C8 00036528 C0 C1 01 F0 */ lfs f6, 0x1f0(r1)
/* 800395CC 0003652C C0 E1 01 F4 */ lfs f7, 0x1f4(r1)
/* 800395D0 00036530 80 A1 02 00 */ lwz r5, 0x200(r1)
/* 800395D4 00036534 80 C1 02 04 */ lwz r6, 0x204(r1)
/* 800395D8 00036538 41 82 02 5C */ beq lbl_80039834
/* 800395DC 0003653C 38 00 00 01 */ li r0, 1
/* 800395E0 00036540 34 61 01 A4 */ addic. r3, r1, 0x1a4
/* 800395E4 00036544 98 01 01 D4 */ stb r0, 0x1d4(r1)
/* 800395E8 00036548 41 82 00 30 */ beq lbl_80039618
/* 800395EC 0003654C D0 03 00 00 */ stfs f0, 0(r3)
/* 800395F0 00036550 D0 23 00 04 */ stfs f1, 4(r3)
/* 800395F4 00036554 D0 43 00 08 */ stfs f2, 8(r3)
/* 800395F8 00036558 D0 63 00 0C */ stfs f3, 0xc(r3)
/* 800395FC 0003655C D0 83 00 10 */ stfs f4, 0x10(r3)
/* 80039600 00036560 D0 A3 00 14 */ stfs f5, 0x14(r3)
/* 80039604 00036564 D0 C3 00 18 */ stfs f6, 0x18(r3)
/* 80039608 00036568 D0 E3 00 1C */ stfs f7, 0x1c(r3)
/* 8003960C 0003656C 98 83 00 20 */ stb r4, 0x20(r3)
/* 80039610 00036570 90 C3 00 2C */ stw r6, 0x2c(r3)
/* 80039614 00036574 90 A3 00 28 */ stw r5, 0x28(r3)
lbl_80039618:
/* 80039618 00036578 A0 7E 00 08 */ lhz r3, 8(r30)
/* 8003961C 0003657C 88 01 01 D4 */ lbz r0, 0x1d4(r1)
/* 80039620 00036580 B0 7C 00 00 */ sth r3, 0(r28)
/* 80039624 00036584 28 00 00 00 */ cmplwi r0, 0
/* 80039628 00036588 98 1C 00 34 */ stb r0, 0x34(r28)
/* 8003962C 0003658C 41 82 00 64 */ beq lbl_80039690
/* 80039630 00036590 34 9C 00 04 */ addic. r4, r28, 4
/* 80039634 00036594 41 82 00 5C */ beq lbl_80039690
/* 80039638 00036598 C0 21 01 A4 */ lfs f1, 0x1a4(r1)
/* 8003963C 0003659C C0 01 01 A8 */ lfs f0, 0x1a8(r1)
/* 80039640 000365A0 D0 24 00 00 */ stfs f1, 0(r4)
/* 80039644 000365A4 C0 21 01 AC */ lfs f1, 0x1ac(r1)
/* 80039648 000365A8 D0 04 00 04 */ stfs f0, 4(r4)
/* 8003964C 000365AC C0 01 01 B0 */ lfs f0, 0x1b0(r1)
/* 80039650 000365B0 D0 24 00 08 */ stfs f1, 8(r4)
/* 80039654 000365B4 C0 21 01 B4 */ lfs f1, 0x1b4(r1)
/* 80039658 000365B8 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 8003965C 000365BC C0 01 01 B8 */ lfs f0, 0x1b8(r1)
/* 80039660 000365C0 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 80039664 000365C4 C0 21 01 BC */ lfs f1, 0x1bc(r1)
/* 80039668 000365C8 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 8003966C 000365CC C0 01 01 C0 */ lfs f0, 0x1c0(r1)
/* 80039670 000365D0 D0 24 00 18 */ stfs f1, 0x18(r4)
/* 80039674 000365D4 88 01 01 C4 */ lbz r0, 0x1c4(r1)
/* 80039678 000365D8 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 8003967C 000365DC 80 61 01 D0 */ lwz r3, 0x1d0(r1)
/* 80039680 000365E0 98 04 00 20 */ stb r0, 0x20(r4)
/* 80039684 000365E4 80 01 01 CC */ lwz r0, 0x1cc(r1)
/* 80039688 000365E8 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003968C 000365EC 90 04 00 28 */ stw r0, 0x28(r4)
lbl_80039690:
/* 80039690 000365F0 38 00 00 00 */ li r0, 0
/* 80039694 000365F4 98 01 01 D4 */ stb r0, 0x1d4(r1)
/* 80039698 000365F8 48 00 03 D8 */ b lbl_80039A70
lbl_8003969C:
/* 8003969C 000365FC 7F C4 F3 78 */ mr r4, r30
/* 800396A0 00036600 38 61 00 0C */ addi r3, r1, 0xc
/* 800396A4 00036604 48 07 5D 15 */ bl "__ct__29TCastToPtr<15CCollisionActor>FR7CEntity"
/* 800396A8 00036608 83 43 00 04 */ lwz r26, 4(r3)
/* 800396AC 0003660C 28 1A 00 00 */ cmplwi r26, 0
/* 800396B0 00036610 41 82 01 84 */ beq lbl_80039834
/* 800396B4 00036614 7F 43 D3 78 */ mr r3, r26
/* 800396B8 00036618 48 16 F4 C5 */ bl GetSphereRadius__15CCollisionActorCFv
/* 800396BC 0003661C C0 FD 02 9C */ lfs f7, 0x29c(r29)
/* 800396C0 00036620 EC 01 00 72 */ fmuls f0, f1, f1
/* 800396C4 00036624 C0 5A 00 50 */ lfs f2, 0x50(r26)
/* 800396C8 00036628 C0 DD 02 98 */ lfs f6, 0x298(r29)
/* 800396CC 0003662C EC 87 10 28 */ fsubs f4, f7, f2
/* 800396D0 00036630 C0 5A 00 40 */ lfs f2, 0x40(r26)
/* 800396D4 00036634 C1 1D 02 A0 */ lfs f8, 0x2a0(r29)
/* 800396D8 00036638 EC A6 10 28 */ fsubs f5, f6, f2
/* 800396DC 0003663C C0 7A 00 60 */ lfs f3, 0x60(r26)
/* 800396E0 00036640 EC 44 01 32 */ fmuls f2, f4, f4
/* 800396E4 00036644 EC 68 18 28 */ fsubs f3, f8, f3
/* 800396E8 00036648 EC 45 11 7A */ fmadds f2, f5, f5, f2
/* 800396EC 0003664C EC 43 10 FA */ fmadds f2, f3, f3, f2
/* 800396F0 00036650 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 800396F4 00036654 40 80 01 40 */ bge lbl_80039834
/* 800396F8 00036658 C1 21 00 54 */ lfs f9, 0x54(r1)
/* 800396FC 0003665C 38 61 00 30 */ addi r3, r1, 0x30
/* 80039700 00036660 C1 41 00 58 */ lfs f10, 0x58(r1)
/* 80039704 00036664 38 81 00 24 */ addi r4, r1, 0x24
/* 80039708 00036668 C1 61 00 5C */ lfs f11, 0x5c(r1)
/* 8003970C 0003666C EC 61 02 72 */ fmuls f3, f1, f9
/* 80039710 00036670 C0 02 84 2C */ lfs f0, lbl_805AA14C@sda21(r2)
/* 80039714 00036674 EC 41 02 B2 */ fmuls f2, f1, f10
/* 80039718 00036678 EC 21 02 F2 */ fmuls f1, f1, f11
/* 8003971C 0003667C EC A0 00 F2 */ fmuls f5, f0, f3
/* 80039720 00036680 EC 80 00 B2 */ fmuls f4, f0, f2
/* 80039724 00036684 EC 60 00 72 */ fmuls f3, f0, f1
/* 80039728 00036688 FC 40 48 50 */ fneg f2, f9
/* 8003972C 0003668C FC 20 50 50 */ fneg f1, f10
/* 80039730 00036690 FC 00 58 50 */ fneg f0, f11
/* 80039734 00036694 EF A6 28 28 */ fsubs f29, f6, f5
/* 80039738 00036698 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 8003973C 0003669C EF C7 20 28 */ fsubs f30, f7, f4
/* 80039740 000366A0 EF E8 18 28 */ fsubs f31, f8, f3
/* 80039744 000366A4 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 80039748 000366A8 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8003974C 000366AC 48 2D A6 85 */ bl __ct__13CUnitVector3fFRC9CVector3f
/* 80039750 000366B0 C0 41 00 34 */ lfs f2, 0x34(r1)
/* 80039754 000366B4 38 00 00 01 */ li r0, 1
/* 80039758 000366B8 C0 61 00 30 */ lfs f3, 0x30(r1)
/* 8003975C 000366BC 34 61 01 70 */ addic. r3, r1, 0x170
/* 80039760 000366C0 EC 1E 00 B2 */ fmuls f0, f30, f2
/* 80039764 000366C4 C0 81 00 38 */ lfs f4, 0x38(r1)
/* 80039768 000366C8 98 01 01 A0 */ stb r0, 0x1a0(r1)
/* 8003976C 000366CC 80 9E 00 68 */ lwz r4, 0x68(r30)
/* 80039770 000366D0 EC 1D 00 FA */ fmadds f0, f29, f3, f0
/* 80039774 000366D4 80 BE 00 6C */ lwz r5, 0x6c(r30)
/* 80039778 000366D8 EC 3F 01 3A */ fmadds f1, f31, f4, f0
/* 8003977C 000366DC 41 82 00 34 */ beq lbl_800397B0
/* 80039780 000366E0 C0 02 84 14 */ lfs f0, lbl_805AA134@sda21(r2)
/* 80039784 000366E4 D0 03 00 00 */ stfs f0, 0(r3)
/* 80039788 000366E8 D3 A3 00 04 */ stfs f29, 4(r3)
/* 8003978C 000366EC D3 C3 00 08 */ stfs f30, 8(r3)
/* 80039790 000366F0 D3 E3 00 0C */ stfs f31, 0xc(r3)
/* 80039794 000366F4 D0 63 00 10 */ stfs f3, 0x10(r3)
/* 80039798 000366F8 D0 43 00 14 */ stfs f2, 0x14(r3)
/* 8003979C 000366FC D0 83 00 18 */ stfs f4, 0x18(r3)
/* 800397A0 00036700 D0 23 00 1C */ stfs f1, 0x1c(r3)
/* 800397A4 00036704 98 03 00 20 */ stb r0, 0x20(r3)
/* 800397A8 00036708 90 A3 00 2C */ stw r5, 0x2c(r3)
/* 800397AC 0003670C 90 83 00 28 */ stw r4, 0x28(r3)
lbl_800397B0:
/* 800397B0 00036710 A0 7E 00 08 */ lhz r3, 8(r30)
/* 800397B4 00036714 88 01 01 A0 */ lbz r0, 0x1a0(r1)
/* 800397B8 00036718 B0 7C 00 00 */ sth r3, 0(r28)
/* 800397BC 0003671C 28 00 00 00 */ cmplwi r0, 0
/* 800397C0 00036720 98 1C 00 34 */ stb r0, 0x34(r28)
/* 800397C4 00036724 41 82 00 64 */ beq lbl_80039828
/* 800397C8 00036728 34 9C 00 04 */ addic. r4, r28, 4
/* 800397CC 0003672C 41 82 00 5C */ beq lbl_80039828
/* 800397D0 00036730 C0 21 01 70 */ lfs f1, 0x170(r1)
/* 800397D4 00036734 C0 01 01 74 */ lfs f0, 0x174(r1)
/* 800397D8 00036738 D0 24 00 00 */ stfs f1, 0(r4)
/* 800397DC 0003673C C0 21 01 78 */ lfs f1, 0x178(r1)
/* 800397E0 00036740 D0 04 00 04 */ stfs f0, 4(r4)
/* 800397E4 00036744 C0 01 01 7C */ lfs f0, 0x17c(r1)
/* 800397E8 00036748 D0 24 00 08 */ stfs f1, 8(r4)
/* 800397EC 0003674C C0 21 01 80 */ lfs f1, 0x180(r1)
/* 800397F0 00036750 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 800397F4 00036754 C0 01 01 84 */ lfs f0, 0x184(r1)
/* 800397F8 00036758 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 800397FC 0003675C C0 21 01 88 */ lfs f1, 0x188(r1)
/* 80039800 00036760 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80039804 00036764 C0 01 01 8C */ lfs f0, 0x18c(r1)
/* 80039808 00036768 D0 24 00 18 */ stfs f1, 0x18(r4)
/* 8003980C 0003676C 88 01 01 90 */ lbz r0, 0x190(r1)
/* 80039810 00036770 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80039814 00036774 80 61 01 9C */ lwz r3, 0x19c(r1)
/* 80039818 00036778 98 04 00 20 */ stb r0, 0x20(r4)
/* 8003981C 0003677C 80 01 01 98 */ lwz r0, 0x198(r1)
/* 80039820 00036780 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80039824 00036784 90 04 00 28 */ stw r0, 0x28(r4)
lbl_80039828:
/* 80039828 00036788 38 00 00 00 */ li r0, 0
/* 8003982C 0003678C 98 01 01 A0 */ stb r0, 0x1a0(r1)
/* 80039830 00036790 48 00 02 40 */ b lbl_80039A70
lbl_80039834:
/* 80039834 00036794 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80039838 00036798 38 60 00 00 */ li r3, 0
/* 8003983C 0003679C 98 61 01 6C */ stb r3, 0x16c(r1)
/* 80039840 000367A0 B0 1C 00 00 */ sth r0, 0(r28)
/* 80039844 000367A4 98 7C 00 34 */ stb r3, 0x34(r28)
/* 80039848 000367A8 48 00 00 60 */ b lbl_800398A8
/* 8003984C 000367AC 41 82 00 5C */ beq lbl_800398A8
/* 80039850 000367B0 C0 21 01 3C */ lfs f1, 0x13c(r1)
/* 80039854 000367B4 C0 01 01 40 */ lfs f0, 0x140(r1)
/* 80039858 000367B8 D0 24 00 00 */ stfs f1, 0(r4)
/* 8003985C 000367BC C0 21 01 44 */ lfs f1, 0x144(r1)
/* 80039860 000367C0 D0 04 00 04 */ stfs f0, 4(r4)
/* 80039864 000367C4 C0 01 01 48 */ lfs f0, 0x148(r1)
/* 80039868 000367C8 D0 24 00 08 */ stfs f1, 8(r4)
/* 8003986C 000367CC C0 21 01 4C */ lfs f1, 0x14c(r1)
/* 80039870 000367D0 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80039874 000367D4 C0 01 01 50 */ lfs f0, 0x150(r1)
/* 80039878 000367D8 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 8003987C 000367DC C0 21 01 54 */ lfs f1, 0x154(r1)
/* 80039880 000367E0 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80039884 000367E4 C0 01 01 58 */ lfs f0, 0x158(r1)
/* 80039888 000367E8 D0 24 00 18 */ stfs f1, 0x18(r4)
/* 8003988C 000367EC 88 01 01 5C */ lbz r0, 0x15c(r1)
/* 80039890 000367F0 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80039894 000367F4 80 61 01 68 */ lwz r3, 0x168(r1)
/* 80039898 000367F8 98 04 00 20 */ stb r0, 0x20(r4)
/* 8003989C 000367FC 80 01 01 64 */ lwz r0, 0x164(r1)
/* 800398A0 00036800 90 64 00 2C */ stw r3, 0x2c(r4)
/* 800398A4 00036804 90 04 00 28 */ stw r0, 0x28(r4)
lbl_800398A8:
/* 800398A8 00036808 38 00 00 00 */ li r0, 0
/* 800398AC 0003680C 98 01 01 6C */ stb r0, 0x16c(r1)
/* 800398B0 00036810 48 00 01 C0 */ b lbl_80039A70
lbl_800398B4:
/* 800398B4 00036814 38 00 00 01 */ li r0, 1
/* 800398B8 00036818 34 61 01 08 */ addic. r3, r1, 0x108
/* 800398BC 0003681C 98 01 01 38 */ stb r0, 0x138(r1)
/* 800398C0 00036820 41 82 00 30 */ beq lbl_800398F0
/* 800398C4 00036824 D0 03 00 00 */ stfs f0, 0(r3)
/* 800398C8 00036828 D0 23 00 04 */ stfs f1, 4(r3)
/* 800398CC 0003682C D0 43 00 08 */ stfs f2, 8(r3)
/* 800398D0 00036830 D0 63 00 0C */ stfs f3, 0xc(r3)
/* 800398D4 00036834 D0 83 00 10 */ stfs f4, 0x10(r3)
/* 800398D8 00036838 D0 A3 00 14 */ stfs f5, 0x14(r3)
/* 800398DC 0003683C D0 C3 00 18 */ stfs f6, 0x18(r3)
/* 800398E0 00036840 D0 E3 00 1C */ stfs f7, 0x1c(r3)
/* 800398E4 00036844 98 83 00 20 */ stb r4, 0x20(r3)
/* 800398E8 00036848 90 C3 00 2C */ stw r6, 0x2c(r3)
/* 800398EC 0003684C 90 A3 00 28 */ stw r5, 0x28(r3)
lbl_800398F0:
/* 800398F0 00036850 A0 7E 00 08 */ lhz r3, 8(r30)
/* 800398F4 00036854 88 01 01 38 */ lbz r0, 0x138(r1)
/* 800398F8 00036858 B0 7C 00 00 */ sth r3, 0(r28)
/* 800398FC 0003685C 28 00 00 00 */ cmplwi r0, 0
/* 80039900 00036860 98 1C 00 34 */ stb r0, 0x34(r28)
/* 80039904 00036864 41 82 00 64 */ beq lbl_80039968
/* 80039908 00036868 34 9C 00 04 */ addic. r4, r28, 4
/* 8003990C 0003686C 41 82 00 5C */ beq lbl_80039968
/* 80039910 00036870 C0 21 01 08 */ lfs f1, 0x108(r1)
/* 80039914 00036874 C0 01 01 0C */ lfs f0, 0x10c(r1)
/* 80039918 00036878 D0 24 00 00 */ stfs f1, 0(r4)
/* 8003991C 0003687C C0 21 01 10 */ lfs f1, 0x110(r1)
/* 80039920 00036880 D0 04 00 04 */ stfs f0, 4(r4)
/* 80039924 00036884 C0 01 01 14 */ lfs f0, 0x114(r1)
/* 80039928 00036888 D0 24 00 08 */ stfs f1, 8(r4)
/* 8003992C 0003688C C0 21 01 18 */ lfs f1, 0x118(r1)
/* 80039930 00036890 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80039934 00036894 C0 01 01 1C */ lfs f0, 0x11c(r1)
/* 80039938 00036898 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 8003993C 0003689C C0 21 01 20 */ lfs f1, 0x120(r1)
/* 80039940 000368A0 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80039944 000368A4 C0 01 01 24 */ lfs f0, 0x124(r1)
/* 80039948 000368A8 D0 24 00 18 */ stfs f1, 0x18(r4)
/* 8003994C 000368AC 88 01 01 28 */ lbz r0, 0x128(r1)
/* 80039950 000368B0 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80039954 000368B4 80 61 01 34 */ lwz r3, 0x134(r1)
/* 80039958 000368B8 98 04 00 20 */ stb r0, 0x20(r4)
/* 8003995C 000368BC 80 01 01 30 */ lwz r0, 0x130(r1)
/* 80039960 000368C0 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80039964 000368C4 90 04 00 28 */ stw r0, 0x28(r4)
lbl_80039968:
/* 80039968 000368C8 38 00 00 00 */ li r0, 0
/* 8003996C 000368CC 98 01 01 38 */ stb r0, 0x138(r1)
/* 80039970 000368D0 48 00 01 00 */ b lbl_80039A70
lbl_80039974:
/* 80039974 000368D4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80039978 000368D8 38 60 00 00 */ li r3, 0
/* 8003997C 000368DC 98 61 01 04 */ stb r3, 0x104(r1)
/* 80039980 000368E0 B0 1C 00 00 */ sth r0, 0(r28)
/* 80039984 000368E4 98 7C 00 34 */ stb r3, 0x34(r28)
/* 80039988 000368E8 48 00 00 60 */ b lbl_800399E8
/* 8003998C 000368EC 41 82 00 5C */ beq lbl_800399E8
/* 80039990 000368F0 C0 21 00 D4 */ lfs f1, 0xd4(r1)
/* 80039994 000368F4 C0 01 00 D8 */ lfs f0, 0xd8(r1)
/* 80039998 000368F8 D0 24 00 00 */ stfs f1, 0(r4)
/* 8003999C 000368FC C0 21 00 DC */ lfs f1, 0xdc(r1)
/* 800399A0 00036900 D0 04 00 04 */ stfs f0, 4(r4)
/* 800399A4 00036904 C0 01 00 E0 */ lfs f0, 0xe0(r1)
/* 800399A8 00036908 D0 24 00 08 */ stfs f1, 8(r4)
/* 800399AC 0003690C C0 21 00 E4 */ lfs f1, 0xe4(r1)
/* 800399B0 00036910 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 800399B4 00036914 C0 01 00 E8 */ lfs f0, 0xe8(r1)
/* 800399B8 00036918 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 800399BC 0003691C C0 21 00 EC */ lfs f1, 0xec(r1)
/* 800399C0 00036920 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 800399C4 00036924 C0 01 00 F0 */ lfs f0, 0xf0(r1)
/* 800399C8 00036928 D0 24 00 18 */ stfs f1, 0x18(r4)
/* 800399CC 0003692C 88 01 00 F4 */ lbz r0, 0xf4(r1)
/* 800399D0 00036930 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 800399D4 00036934 80 61 01 00 */ lwz r3, 0x100(r1)
/* 800399D8 00036938 98 04 00 20 */ stb r0, 0x20(r4)
/* 800399DC 0003693C 80 01 00 FC */ lwz r0, 0xfc(r1)
/* 800399E0 00036940 90 64 00 2C */ stw r3, 0x2c(r4)
/* 800399E4 00036944 90 04 00 28 */ stw r0, 0x28(r4)
lbl_800399E8:
/* 800399E8 00036948 38 00 00 00 */ li r0, 0
/* 800399EC 0003694C 98 01 01 04 */ stb r0, 0x104(r1)
/* 800399F0 00036950 48 00 00 80 */ b lbl_80039A70
lbl_800399F4:
/* 800399F4 00036954 A0 1E 00 08 */ lhz r0, 8(r30)
/* 800399F8 00036958 38 60 00 00 */ li r3, 0
/* 800399FC 0003695C 98 61 00 D0 */ stb r3, 0xd0(r1)
/* 80039A00 00036960 B0 1C 00 00 */ sth r0, 0(r28)
/* 80039A04 00036964 98 7C 00 34 */ stb r3, 0x34(r28)
/* 80039A08 00036968 48 00 00 60 */ b lbl_80039A68
/* 80039A0C 0003696C 41 82 00 5C */ beq lbl_80039A68
/* 80039A10 00036970 C0 21 00 A0 */ lfs f1, 0xa0(r1)
/* 80039A14 00036974 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 80039A18 00036978 D0 24 00 00 */ stfs f1, 0(r4)
/* 80039A1C 0003697C C0 21 00 A8 */ lfs f1, 0xa8(r1)
/* 80039A20 00036980 D0 04 00 04 */ stfs f0, 4(r4)
/* 80039A24 00036984 C0 01 00 AC */ lfs f0, 0xac(r1)
/* 80039A28 00036988 D0 24 00 08 */ stfs f1, 8(r4)
/* 80039A2C 0003698C C0 21 00 B0 */ lfs f1, 0xb0(r1)
/* 80039A30 00036990 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80039A34 00036994 C0 01 00 B4 */ lfs f0, 0xb4(r1)
/* 80039A38 00036998 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 80039A3C 0003699C C0 21 00 B8 */ lfs f1, 0xb8(r1)
/* 80039A40 000369A0 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80039A44 000369A4 C0 01 00 BC */ lfs f0, 0xbc(r1)
/* 80039A48 000369A8 D0 24 00 18 */ stfs f1, 0x18(r4)
/* 80039A4C 000369AC 88 01 00 C0 */ lbz r0, 0xc0(r1)
/* 80039A50 000369B0 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80039A54 000369B4 80 61 00 CC */ lwz r3, 0xcc(r1)
/* 80039A58 000369B8 98 04 00 20 */ stb r0, 0x20(r4)
/* 80039A5C 000369BC 80 01 00 C8 */ lwz r0, 0xc8(r1)
/* 80039A60 000369C0 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80039A64 000369C4 90 04 00 28 */ stw r0, 0x28(r4)
lbl_80039A68:
/* 80039A68 000369C8 38 00 00 00 */ li r0, 0
/* 80039A6C 000369CC 98 01 00 D0 */ stb r0, 0xd0(r1)
lbl_80039A70:
/* 80039A70 000369D0 E3 E1 03 F8 */ psq_l f31, 1016(r1), 0, qr0
/* 80039A74 000369D4 CB E1 03 F0 */ lfd f31, 0x3f0(r1)
/* 80039A78 000369D8 E3 C1 03 E8 */ psq_l f30, 1000(r1), 0, qr0
/* 80039A7C 000369DC CB C1 03 E0 */ lfd f30, 0x3e0(r1)
/* 80039A80 000369E0 E3 A1 03 D8 */ psq_l f29, 984(r1), 0, qr0
/* 80039A84 000369E4 CB A1 03 D0 */ lfd f29, 0x3d0(r1)
/* 80039A88 000369E8 BB 41 03 B8 */ lmw r26, 0x3b8(r1)
/* 80039A8C 000369EC 80 01 04 04 */ lwz r0, 0x404(r1)
/* 80039A90 000369F0 7C 08 03 A6 */ mtlr r0
/* 80039A94 000369F4 38 21 04 00 */ addi r1, r1, 0x400
/* 80039A98 000369F8 4E 80 00 20 */ blr
.global CanCollideWithGameObject__15CGameProjectileFR6CActorR13CStateManager
CanCollideWithGameObject__15CGameProjectileFR6CActorR13CStateManager:
/* 80039A9C 000369FC 94 21 FE 20 */ stwu r1, -0x1e0(r1)
/* 80039AA0 00036A00 7C 08 02 A6 */ mflr r0
/* 80039AA4 00036A04 90 01 01 E4 */ stw r0, 0x1e4(r1)
/* 80039AA8 00036A08 93 E1 01 DC */ stw r31, 0x1dc(r1)
/* 80039AAC 00036A0C 7C DF 33 78 */ mr r31, r6
/* 80039AB0 00036A10 93 C1 01 D8 */ stw r30, 0x1d8(r1)
/* 80039AB4 00036A14 7C BE 2B 78 */ mr r30, r5
/* 80039AB8 00036A18 93 A1 01 D4 */ stw r29, 0x1d4(r1)
/* 80039ABC 00036A1C 7C 9D 23 78 */ mr r29, r4
/* 80039AC0 00036A20 7F C4 F3 78 */ mr r4, r30
/* 80039AC4 00036A24 93 81 01 D0 */ stw r28, 0x1d0(r1)
/* 80039AC8 00036A28 7C 7C 1B 78 */ mr r28, r3
/* 80039ACC 00036A2C 38 61 00 10 */ addi r3, r1, 0x10
/* 80039AD0 00036A30 48 07 3C A9 */ bl "__ct__29TCastToPtr<15CGameProjectile>FR7CEntity"
/* 80039AD4 00036A34 80 63 00 04 */ lwz r3, 4(r3)
/* 80039AD8 00036A38 28 03 00 00 */ cmplwi r3, 0
/* 80039ADC 00036A3C 40 82 03 70 */ bne lbl_80039E4C
/* 80039AE0 00036A40 80 1E 00 68 */ lwz r0, 0x68(r30)
/* 80039AE4 00036A44 38 80 00 00 */ li r4, 0
/* 80039AE8 00036A48 80 BE 00 6C */ lwz r5, 0x6c(r30)
/* 80039AEC 00036A4C 3C 60 00 08 */ lis r3, 8
/* 80039AF0 00036A50 7C 00 20 38 */ and r0, r0, r4
/* 80039AF4 00036A54 7C A3 18 38 */ and r3, r5, r3
/* 80039AF8 00036A58 7C 63 22 78 */ xor r3, r3, r4
/* 80039AFC 00036A5C 7C 00 22 78 */ xor r0, r0, r4
/* 80039B00 00036A60 7C 60 03 79 */ or. r0, r3, r0
/* 80039B04 00036A64 40 82 00 A4 */ bne lbl_80039BA8
/* 80039B08 00036A68 7F C3 F3 78 */ mr r3, r30
/* 80039B0C 00036A6C 7F E4 FB 78 */ mr r4, r31
/* 80039B10 00036A70 81 9E 00 00 */ lwz r12, 0(r30)
/* 80039B14 00036A74 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 80039B18 00036A78 7D 89 03 A6 */ mtctr r12
/* 80039B1C 00036A7C 4E 80 04 21 */ bctrl
/* 80039B20 00036A80 28 03 00 00 */ cmplwi r3, 0
/* 80039B24 00036A84 40 82 00 84 */ bne lbl_80039BA8
/* 80039B28 00036A88 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80039B2C 00036A8C 38 60 00 00 */ li r3, 0
/* 80039B30 00036A90 98 61 01 CC */ stb r3, 0x1cc(r1)
/* 80039B34 00036A94 B0 1C 00 00 */ sth r0, 0(r28)
/* 80039B38 00036A98 98 7C 00 34 */ stb r3, 0x34(r28)
/* 80039B3C 00036A9C 48 00 00 60 */ b lbl_80039B9C
/* 80039B40 00036AA0 41 82 00 5C */ beq lbl_80039B9C
/* 80039B44 00036AA4 C0 21 01 9C */ lfs f1, 0x19c(r1)
/* 80039B48 00036AA8 C0 01 01 A0 */ lfs f0, 0x1a0(r1)
/* 80039B4C 00036AAC D0 24 00 00 */ stfs f1, 0(r4)
/* 80039B50 00036AB0 C0 21 01 A4 */ lfs f1, 0x1a4(r1)
/* 80039B54 00036AB4 D0 04 00 04 */ stfs f0, 4(r4)
/* 80039B58 00036AB8 C0 01 01 A8 */ lfs f0, 0x1a8(r1)
/* 80039B5C 00036ABC D0 24 00 08 */ stfs f1, 8(r4)
/* 80039B60 00036AC0 C0 21 01 AC */ lfs f1, 0x1ac(r1)
/* 80039B64 00036AC4 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80039B68 00036AC8 C0 01 01 B0 */ lfs f0, 0x1b0(r1)
/* 80039B6C 00036ACC D0 24 00 10 */ stfs f1, 0x10(r4)
/* 80039B70 00036AD0 C0 21 01 B4 */ lfs f1, 0x1b4(r1)
/* 80039B74 00036AD4 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80039B78 00036AD8 C0 01 01 B8 */ lfs f0, 0x1b8(r1)
/* 80039B7C 00036ADC D0 24 00 18 */ stfs f1, 0x18(r4)
/* 80039B80 00036AE0 88 01 01 BC */ lbz r0, 0x1bc(r1)
/* 80039B84 00036AE4 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80039B88 00036AE8 80 61 01 C8 */ lwz r3, 0x1c8(r1)
/* 80039B8C 00036AEC 98 04 00 20 */ stb r0, 0x20(r4)
/* 80039B90 00036AF0 80 01 01 C4 */ lwz r0, 0x1c4(r1)
/* 80039B94 00036AF4 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80039B98 00036AF8 90 04 00 28 */ stw r0, 0x28(r4)
lbl_80039B9C:
/* 80039B9C 00036AFC 38 00 00 00 */ li r0, 0
/* 80039BA0 00036B00 98 01 01 CC */ stb r0, 0x1cc(r1)
/* 80039BA4 00036B04 48 00 04 54 */ b lbl_80039FF8
lbl_80039BA8:
/* 80039BA8 00036B08 A0 7E 00 08 */ lhz r3, 8(r30)
/* 80039BAC 00036B0C A0 1D 00 EC */ lhz r0, 0xec(r29)
/* 80039BB0 00036B10 7C 03 00 40 */ cmplw r3, r0
/* 80039BB4 00036B14 40 82 00 84 */ bne lbl_80039C38
/* 80039BB8 00036B18 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80039BBC 00036B1C 38 60 00 00 */ li r3, 0
/* 80039BC0 00036B20 98 61 01 98 */ stb r3, 0x198(r1)
/* 80039BC4 00036B24 B0 1C 00 00 */ sth r0, 0(r28)
/* 80039BC8 00036B28 98 7C 00 34 */ stb r3, 0x34(r28)
/* 80039BCC 00036B2C 48 00 00 60 */ b lbl_80039C2C
/* 80039BD0 00036B30 41 82 00 5C */ beq lbl_80039C2C
/* 80039BD4 00036B34 C0 21 01 68 */ lfs f1, 0x168(r1)
/* 80039BD8 00036B38 C0 01 01 6C */ lfs f0, 0x16c(r1)
/* 80039BDC 00036B3C D0 24 00 00 */ stfs f1, 0(r4)
/* 80039BE0 00036B40 C0 21 01 70 */ lfs f1, 0x170(r1)
/* 80039BE4 00036B44 D0 04 00 04 */ stfs f0, 4(r4)
/* 80039BE8 00036B48 C0 01 01 74 */ lfs f0, 0x174(r1)
/* 80039BEC 00036B4C D0 24 00 08 */ stfs f1, 8(r4)
/* 80039BF0 00036B50 C0 21 01 78 */ lfs f1, 0x178(r1)
/* 80039BF4 00036B54 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80039BF8 00036B58 C0 01 01 7C */ lfs f0, 0x17c(r1)
/* 80039BFC 00036B5C D0 24 00 10 */ stfs f1, 0x10(r4)
/* 80039C00 00036B60 C0 21 01 80 */ lfs f1, 0x180(r1)
/* 80039C04 00036B64 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80039C08 00036B68 C0 01 01 84 */ lfs f0, 0x184(r1)
/* 80039C0C 00036B6C D0 24 00 18 */ stfs f1, 0x18(r4)
/* 80039C10 00036B70 88 01 01 88 */ lbz r0, 0x188(r1)
/* 80039C14 00036B74 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80039C18 00036B78 80 61 01 94 */ lwz r3, 0x194(r1)
/* 80039C1C 00036B7C 98 04 00 20 */ stb r0, 0x20(r4)
/* 80039C20 00036B80 80 01 01 90 */ lwz r0, 0x190(r1)
/* 80039C24 00036B84 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80039C28 00036B88 90 04 00 28 */ stw r0, 0x28(r4)
lbl_80039C2C:
/* 80039C2C 00036B8C 38 00 00 00 */ li r0, 0
/* 80039C30 00036B90 98 01 01 98 */ stb r0, 0x198(r1)
/* 80039C34 00036B94 48 00 03 C4 */ b lbl_80039FF8
lbl_80039C38:
/* 80039C38 00036B98 A0 1D 02 C2 */ lhz r0, 0x2c2(r29)
/* 80039C3C 00036B9C 7C 03 00 40 */ cmplw r3, r0
/* 80039C40 00036BA0 40 82 00 84 */ bne lbl_80039CC4
/* 80039C44 00036BA4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80039C48 00036BA8 38 60 00 00 */ li r3, 0
/* 80039C4C 00036BAC 98 61 01 64 */ stb r3, 0x164(r1)
/* 80039C50 00036BB0 B0 1C 00 00 */ sth r0, 0(r28)
/* 80039C54 00036BB4 98 7C 00 34 */ stb r3, 0x34(r28)
/* 80039C58 00036BB8 48 00 00 60 */ b lbl_80039CB8
/* 80039C5C 00036BBC 41 82 00 5C */ beq lbl_80039CB8
/* 80039C60 00036BC0 C0 21 01 34 */ lfs f1, 0x134(r1)
/* 80039C64 00036BC4 C0 01 01 38 */ lfs f0, 0x138(r1)
/* 80039C68 00036BC8 D0 24 00 00 */ stfs f1, 0(r4)
/* 80039C6C 00036BCC C0 21 01 3C */ lfs f1, 0x13c(r1)
/* 80039C70 00036BD0 D0 04 00 04 */ stfs f0, 4(r4)
/* 80039C74 00036BD4 C0 01 01 40 */ lfs f0, 0x140(r1)
/* 80039C78 00036BD8 D0 24 00 08 */ stfs f1, 8(r4)
/* 80039C7C 00036BDC C0 21 01 44 */ lfs f1, 0x144(r1)
/* 80039C80 00036BE0 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80039C84 00036BE4 C0 01 01 48 */ lfs f0, 0x148(r1)
/* 80039C88 00036BE8 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 80039C8C 00036BEC C0 21 01 4C */ lfs f1, 0x14c(r1)
/* 80039C90 00036BF0 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80039C94 00036BF4 C0 01 01 50 */ lfs f0, 0x150(r1)
/* 80039C98 00036BF8 D0 24 00 18 */ stfs f1, 0x18(r4)
/* 80039C9C 00036BFC 88 01 01 54 */ lbz r0, 0x154(r1)
/* 80039CA0 00036C00 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80039CA4 00036C04 80 61 01 60 */ lwz r3, 0x160(r1)
/* 80039CA8 00036C08 98 04 00 20 */ stb r0, 0x20(r4)
/* 80039CAC 00036C0C 80 01 01 5C */ lwz r0, 0x15c(r1)
/* 80039CB0 00036C10 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80039CB4 00036C14 90 04 00 28 */ stw r0, 0x28(r4)
lbl_80039CB8:
/* 80039CB8 00036C18 38 00 00 00 */ li r0, 0
/* 80039CBC 00036C1C 98 01 01 64 */ stb r0, 0x164(r1)
/* 80039CC0 00036C20 48 00 03 38 */ b lbl_80039FF8
lbl_80039CC4:
/* 80039CC4 00036C24 80 DD 01 00 */ lwz r6, 0x100(r29)
/* 80039CC8 00036C28 38 80 00 00 */ li r4, 0
/* 80039CCC 00036C2C 80 FD 01 04 */ lwz r7, 0x104(r29)
/* 80039CD0 00036C30 80 1E 00 68 */ lwz r0, 0x68(r30)
/* 80039CD4 00036C34 80 7E 00 6C */ lwz r3, 0x6c(r30)
/* 80039CD8 00036C38 7C C0 00 38 */ and r0, r6, r0
/* 80039CDC 00036C3C 81 1D 00 F8 */ lwz r8, 0xf8(r29)
/* 80039CE0 00036C40 7C E3 18 38 */ and r3, r7, r3
/* 80039CE4 00036C44 81 3D 00 FC */ lwz r9, 0xfc(r29)
/* 80039CE8 00036C48 80 BD 01 08 */ lwz r5, 0x108(r29)
/* 80039CEC 00036C4C 7C 63 22 78 */ xor r3, r3, r4
/* 80039CF0 00036C50 7C 00 22 78 */ xor r0, r0, r4
/* 80039CF4 00036C54 91 21 00 1C */ stw r9, 0x1c(r1)
/* 80039CF8 00036C58 7C 60 03 79 */ or. r0, r3, r0
/* 80039CFC 00036C5C 91 01 00 18 */ stw r8, 0x18(r1)
/* 80039D00 00036C60 90 E1 00 24 */ stw r7, 0x24(r1)
/* 80039D04 00036C64 90 C1 00 20 */ stw r6, 0x20(r1)
/* 80039D08 00036C68 90 A1 00 28 */ stw r5, 0x28(r1)
/* 80039D0C 00036C6C 41 82 00 88 */ beq lbl_80039D94
/* 80039D10 00036C70 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80039D14 00036C74 28 04 00 00 */ cmplwi r4, 0
/* 80039D18 00036C78 98 81 01 30 */ stb r4, 0x130(r1)
/* 80039D1C 00036C7C B0 1C 00 00 */ sth r0, 0(r28)
/* 80039D20 00036C80 98 9C 00 34 */ stb r4, 0x34(r28)
/* 80039D24 00036C84 41 82 00 64 */ beq lbl_80039D88
/* 80039D28 00036C88 34 9C 00 04 */ addic. r4, r28, 4
/* 80039D2C 00036C8C 41 82 00 5C */ beq lbl_80039D88
/* 80039D30 00036C90 C0 21 01 00 */ lfs f1, 0x100(r1)
/* 80039D34 00036C94 C0 01 01 04 */ lfs f0, 0x104(r1)
/* 80039D38 00036C98 D0 24 00 00 */ stfs f1, 0(r4)
/* 80039D3C 00036C9C C0 21 01 08 */ lfs f1, 0x108(r1)
/* 80039D40 00036CA0 D0 04 00 04 */ stfs f0, 4(r4)
/* 80039D44 00036CA4 C0 01 01 0C */ lfs f0, 0x10c(r1)
/* 80039D48 00036CA8 D0 24 00 08 */ stfs f1, 8(r4)
/* 80039D4C 00036CAC C0 21 01 10 */ lfs f1, 0x110(r1)
/* 80039D50 00036CB0 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80039D54 00036CB4 C0 01 01 14 */ lfs f0, 0x114(r1)
/* 80039D58 00036CB8 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 80039D5C 00036CBC C0 21 01 18 */ lfs f1, 0x118(r1)
/* 80039D60 00036CC0 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80039D64 00036CC4 C0 01 01 1C */ lfs f0, 0x11c(r1)
/* 80039D68 00036CC8 D0 24 00 18 */ stfs f1, 0x18(r4)
/* 80039D6C 00036CCC 88 01 01 20 */ lbz r0, 0x120(r1)
/* 80039D70 00036CD0 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80039D74 00036CD4 80 61 01 2C */ lwz r3, 0x12c(r1)
/* 80039D78 00036CD8 98 04 00 20 */ stb r0, 0x20(r4)
/* 80039D7C 00036CDC 80 01 01 28 */ lwz r0, 0x128(r1)
/* 80039D80 00036CE0 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80039D84 00036CE4 90 04 00 28 */ stw r0, 0x28(r4)
lbl_80039D88:
/* 80039D88 00036CE8 38 00 00 00 */ li r0, 0
/* 80039D8C 00036CEC 98 01 01 30 */ stb r0, 0x130(r1)
/* 80039D90 00036CF0 48 00 02 68 */ b lbl_80039FF8
lbl_80039D94:
/* 80039D94 00036CF4 7F C4 F3 78 */ mr r4, r30
/* 80039D98 00036CF8 38 61 00 08 */ addi r3, r1, 8
/* 80039D9C 00036CFC 48 07 2D 2D */ bl "__ct__24TCastToPtr<10CPatterned>FR7CEntity"
/* 80039DA0 00036D00 80 63 00 04 */ lwz r3, 4(r3)
/* 80039DA4 00036D04 28 03 00 00 */ cmplwi r3, 0
/* 80039DA8 00036D08 41 82 01 D4 */ beq lbl_80039F7C
/* 80039DAC 00036D0C 81 83 00 00 */ lwz r12, 0(r3)
/* 80039DB0 00036D10 7F E4 FB 78 */ mr r4, r31
/* 80039DB4 00036D14 80 BD 00 E8 */ lwz r5, 0xe8(r29)
/* 80039DB8 00036D18 81 8C 00 94 */ lwz r12, 0x94(r12)
/* 80039DBC 00036D1C 7D 89 03 A6 */ mtctr r12
/* 80039DC0 00036D20 4E 80 04 21 */ bctrl
/* 80039DC4 00036D24 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80039DC8 00036D28 40 82 01 B4 */ bne lbl_80039F7C
/* 80039DCC 00036D2C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80039DD0 00036D30 38 60 00 00 */ li r3, 0
/* 80039DD4 00036D34 98 61 00 FC */ stb r3, 0xfc(r1)
/* 80039DD8 00036D38 B0 1C 00 00 */ sth r0, 0(r28)
/* 80039DDC 00036D3C 98 7C 00 34 */ stb r3, 0x34(r28)
/* 80039DE0 00036D40 48 00 00 60 */ b lbl_80039E40
/* 80039DE4 00036D44 41 82 00 5C */ beq lbl_80039E40
/* 80039DE8 00036D48 C0 21 00 CC */ lfs f1, 0xcc(r1)
/* 80039DEC 00036D4C C0 01 00 D0 */ lfs f0, 0xd0(r1)
/* 80039DF0 00036D50 D0 24 00 00 */ stfs f1, 0(r4)
/* 80039DF4 00036D54 C0 21 00 D4 */ lfs f1, 0xd4(r1)
/* 80039DF8 00036D58 D0 04 00 04 */ stfs f0, 4(r4)
/* 80039DFC 00036D5C C0 01 00 D8 */ lfs f0, 0xd8(r1)
/* 80039E00 00036D60 D0 24 00 08 */ stfs f1, 8(r4)
/* 80039E04 00036D64 C0 21 00 DC */ lfs f1, 0xdc(r1)
/* 80039E08 00036D68 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80039E0C 00036D6C C0 01 00 E0 */ lfs f0, 0xe0(r1)
/* 80039E10 00036D70 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 80039E14 00036D74 C0 21 00 E4 */ lfs f1, 0xe4(r1)
/* 80039E18 00036D78 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80039E1C 00036D7C C0 01 00 E8 */ lfs f0, 0xe8(r1)
/* 80039E20 00036D80 D0 24 00 18 */ stfs f1, 0x18(r4)
/* 80039E24 00036D84 88 01 00 EC */ lbz r0, 0xec(r1)
/* 80039E28 00036D88 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80039E2C 00036D8C 80 61 00 F8 */ lwz r3, 0xf8(r1)
/* 80039E30 00036D90 98 04 00 20 */ stb r0, 0x20(r4)
/* 80039E34 00036D94 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 80039E38 00036D98 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80039E3C 00036D9C 90 04 00 28 */ stw r0, 0x28(r4)
lbl_80039E40:
/* 80039E40 00036DA0 38 00 00 00 */ li r0, 0
/* 80039E44 00036DA4 98 01 00 FC */ stb r0, 0xfc(r1)
/* 80039E48 00036DA8 48 00 01 B0 */ b lbl_80039FF8
lbl_80039E4C:
/* 80039E4C 00036DAC 80 1D 00 E8 */ lwz r0, 0xe8(r29)
/* 80039E50 00036DB0 54 04 07 FE */ clrlwi r4, r0, 0x1f
/* 80039E54 00036DB4 2C 04 00 01 */ cmpwi r4, 1
/* 80039E58 00036DB8 41 82 00 14 */ beq lbl_80039E6C
/* 80039E5C 00036DBC 80 03 00 E8 */ lwz r0, 0xe8(r3)
/* 80039E60 00036DC0 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 80039E64 00036DC4 2C 00 00 01 */ cmpwi r0, 1
/* 80039E68 00036DC8 40 82 00 84 */ bne lbl_80039EEC
lbl_80039E6C:
/* 80039E6C 00036DCC A0 1E 00 08 */ lhz r0, 8(r30)
/* 80039E70 00036DD0 38 60 00 00 */ li r3, 0
/* 80039E74 00036DD4 98 61 00 C8 */ stb r3, 0xc8(r1)
/* 80039E78 00036DD8 B0 1C 00 00 */ sth r0, 0(r28)
/* 80039E7C 00036DDC 98 7C 00 34 */ stb r3, 0x34(r28)
/* 80039E80 00036DE0 48 00 00 60 */ b lbl_80039EE0
/* 80039E84 00036DE4 41 82 00 5C */ beq lbl_80039EE0
/* 80039E88 00036DE8 C0 21 00 98 */ lfs f1, 0x98(r1)
/* 80039E8C 00036DEC C0 01 00 9C */ lfs f0, 0x9c(r1)
/* 80039E90 00036DF0 D0 24 00 00 */ stfs f1, 0(r4)
/* 80039E94 00036DF4 C0 21 00 A0 */ lfs f1, 0xa0(r1)
/* 80039E98 00036DF8 D0 04 00 04 */ stfs f0, 4(r4)
/* 80039E9C 00036DFC C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 80039EA0 00036E00 D0 24 00 08 */ stfs f1, 8(r4)
/* 80039EA4 00036E04 C0 21 00 A8 */ lfs f1, 0xa8(r1)
/* 80039EA8 00036E08 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80039EAC 00036E0C C0 01 00 AC */ lfs f0, 0xac(r1)
/* 80039EB0 00036E10 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 80039EB4 00036E14 C0 21 00 B0 */ lfs f1, 0xb0(r1)
/* 80039EB8 00036E18 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80039EBC 00036E1C C0 01 00 B4 */ lfs f0, 0xb4(r1)
/* 80039EC0 00036E20 D0 24 00 18 */ stfs f1, 0x18(r4)
/* 80039EC4 00036E24 88 01 00 B8 */ lbz r0, 0xb8(r1)
/* 80039EC8 00036E28 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80039ECC 00036E2C 80 61 00 C4 */ lwz r3, 0xc4(r1)
/* 80039ED0 00036E30 98 04 00 20 */ stb r0, 0x20(r4)
/* 80039ED4 00036E34 80 01 00 C0 */ lwz r0, 0xc0(r1)
/* 80039ED8 00036E38 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80039EDC 00036E3C 90 04 00 28 */ stw r0, 0x28(r4)
lbl_80039EE0:
/* 80039EE0 00036E40 38 00 00 00 */ li r0, 0
/* 80039EE4 00036E44 98 01 00 C8 */ stb r0, 0xc8(r1)
/* 80039EE8 00036E48 48 00 01 10 */ b lbl_80039FF8
lbl_80039EEC:
/* 80039EEC 00036E4C 2C 04 00 01 */ cmpwi r4, 1
/* 80039EF0 00036E50 41 82 00 8C */ beq lbl_80039F7C
/* 80039EF4 00036E54 2C 00 00 01 */ cmpwi r0, 1
/* 80039EF8 00036E58 41 82 00 84 */ beq lbl_80039F7C
/* 80039EFC 00036E5C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80039F00 00036E60 38 60 00 00 */ li r3, 0
/* 80039F04 00036E64 98 61 00 94 */ stb r3, 0x94(r1)
/* 80039F08 00036E68 B0 1C 00 00 */ sth r0, 0(r28)
/* 80039F0C 00036E6C 98 7C 00 34 */ stb r3, 0x34(r28)
/* 80039F10 00036E70 48 00 00 60 */ b lbl_80039F70
/* 80039F14 00036E74 41 82 00 5C */ beq lbl_80039F70
/* 80039F18 00036E78 C0 21 00 64 */ lfs f1, 0x64(r1)
/* 80039F1C 00036E7C C0 01 00 68 */ lfs f0, 0x68(r1)
/* 80039F20 00036E80 D0 24 00 00 */ stfs f1, 0(r4)
/* 80039F24 00036E84 C0 21 00 6C */ lfs f1, 0x6c(r1)
/* 80039F28 00036E88 D0 04 00 04 */ stfs f0, 4(r4)
/* 80039F2C 00036E8C C0 01 00 70 */ lfs f0, 0x70(r1)
/* 80039F30 00036E90 D0 24 00 08 */ stfs f1, 8(r4)
/* 80039F34 00036E94 C0 21 00 74 */ lfs f1, 0x74(r1)
/* 80039F38 00036E98 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80039F3C 00036E9C C0 01 00 78 */ lfs f0, 0x78(r1)
/* 80039F40 00036EA0 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 80039F44 00036EA4 C0 21 00 7C */ lfs f1, 0x7c(r1)
/* 80039F48 00036EA8 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80039F4C 00036EAC C0 01 00 80 */ lfs f0, 0x80(r1)
/* 80039F50 00036EB0 D0 24 00 18 */ stfs f1, 0x18(r4)
/* 80039F54 00036EB4 88 01 00 84 */ lbz r0, 0x84(r1)
/* 80039F58 00036EB8 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80039F5C 00036EBC 80 61 00 90 */ lwz r3, 0x90(r1)
/* 80039F60 00036EC0 98 04 00 20 */ stb r0, 0x20(r4)
/* 80039F64 00036EC4 80 01 00 8C */ lwz r0, 0x8c(r1)
/* 80039F68 00036EC8 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80039F6C 00036ECC 90 04 00 28 */ stw r0, 0x28(r4)
lbl_80039F70:
/* 80039F70 00036ED0 38 00 00 00 */ li r0, 0
/* 80039F74 00036ED4 98 01 00 94 */ stb r0, 0x94(r1)
/* 80039F78 00036ED8 48 00 00 80 */ b lbl_80039FF8
lbl_80039F7C:
/* 80039F7C 00036EDC A0 1E 00 08 */ lhz r0, 8(r30)
/* 80039F80 00036EE0 38 60 00 00 */ li r3, 0
/* 80039F84 00036EE4 98 61 00 60 */ stb r3, 0x60(r1)
/* 80039F88 00036EE8 B0 1C 00 00 */ sth r0, 0(r28)
/* 80039F8C 00036EEC 98 7C 00 34 */ stb r3, 0x34(r28)
/* 80039F90 00036EF0 48 00 00 60 */ b lbl_80039FF0
/* 80039F94 00036EF4 41 82 00 5C */ beq lbl_80039FF0
/* 80039F98 00036EF8 C0 21 00 30 */ lfs f1, 0x30(r1)
/* 80039F9C 00036EFC C0 01 00 34 */ lfs f0, 0x34(r1)
/* 80039FA0 00036F00 D0 24 00 00 */ stfs f1, 0(r4)
/* 80039FA4 00036F04 C0 21 00 38 */ lfs f1, 0x38(r1)
/* 80039FA8 00036F08 D0 04 00 04 */ stfs f0, 4(r4)
/* 80039FAC 00036F0C C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 80039FB0 00036F10 D0 24 00 08 */ stfs f1, 8(r4)
/* 80039FB4 00036F14 C0 21 00 40 */ lfs f1, 0x40(r1)
/* 80039FB8 00036F18 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80039FBC 00036F1C C0 01 00 44 */ lfs f0, 0x44(r1)
/* 80039FC0 00036F20 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 80039FC4 00036F24 C0 21 00 48 */ lfs f1, 0x48(r1)
/* 80039FC8 00036F28 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80039FCC 00036F2C C0 01 00 4C */ lfs f0, 0x4c(r1)
/* 80039FD0 00036F30 D0 24 00 18 */ stfs f1, 0x18(r4)
/* 80039FD4 00036F34 88 01 00 50 */ lbz r0, 0x50(r1)
/* 80039FD8 00036F38 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80039FDC 00036F3C 80 61 00 5C */ lwz r3, 0x5c(r1)
/* 80039FE0 00036F40 98 04 00 20 */ stb r0, 0x20(r4)
/* 80039FE4 00036F44 80 01 00 58 */ lwz r0, 0x58(r1)
/* 80039FE8 00036F48 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80039FEC 00036F4C 90 04 00 28 */ stw r0, 0x28(r4)
lbl_80039FF0:
/* 80039FF0 00036F50 38 00 00 00 */ li r0, 0
/* 80039FF4 00036F54 98 01 00 60 */ stb r0, 0x60(r1)
lbl_80039FF8:
/* 80039FF8 00036F58 80 01 01 E4 */ lwz r0, 0x1e4(r1)
/* 80039FFC 00036F5C 83 E1 01 DC */ lwz r31, 0x1dc(r1)
/* 8003A000 00036F60 83 C1 01 D8 */ lwz r30, 0x1d8(r1)
/* 8003A004 00036F64 83 A1 01 D4 */ lwz r29, 0x1d4(r1)
/* 8003A008 00036F68 83 81 01 D0 */ lwz r28, 0x1d0(r1)
/* 8003A00C 00036F6C 7C 08 03 A6 */ mtlr r0
/* 8003A010 00036F70 38 21 01 E0 */ addi r1, r1, 0x1e0
/* 8003A014 00036F74 4E 80 00 20 */ blr
.global CanBeShot__3CAiFRC13CStateManageri
CanBeShot__3CAiFRC13CStateManageri:
/* 8003A018 00036F78 38 60 00 01 */ li r3, 1
/* 8003A01C 00036F7C 4E 80 00 20 */ blr
.global CanCollideWithTrigger__15CGameProjectileFR6CActorR13CStateManager
CanCollideWithTrigger__15CGameProjectileFR6CActorR13CStateManager:
/* 8003A020 00036F80 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 8003A024 00036F84 7C 08 02 A6 */ mflr r0
/* 8003A028 00036F88 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 8003A02C 00036F8C BF 61 00 9C */ stmw r27, 0x9c(r1)
/* 8003A030 00036F90 7C 7C 1B 78 */ mr r28, r3
/* 8003A034 00036F94 7C BE 2B 78 */ mr r30, r5
/* 8003A038 00036F98 7C 9D 23 78 */ mr r29, r4
/* 8003A03C 00036F9C 38 61 00 0C */ addi r3, r1, 0xc
/* 8003A040 00036FA0 7F C4 F3 78 */ mr r4, r30
/* 8003A044 00036FA4 48 06 C8 89 */ bl "__ct__26TCastToPtr<12CScriptWater>FR7CEntity"
/* 8003A048 00036FA8 80 63 00 04 */ lwz r3, 4(r3)
/* 8003A04C 00036FAC 7C 03 00 D0 */ neg r0, r3
/* 8003A050 00036FB0 7C 00 1B 78 */ or r0, r0, r3
/* 8003A054 00036FB4 54 1B 0F FF */ rlwinm. r27, r0, 1, 0x1f, 0x1f
/* 8003A058 00036FB8 41 82 01 88 */ beq lbl_8003A1E0
/* 8003A05C 00036FBC 3B E0 00 00 */ li r31, 0
/* 8003A060 00036FC0 38 80 00 00 */ li r4, 0
/* 8003A064 00036FC4 7F E3 FB 78 */ mr r3, r31
/* 8003A068 00036FC8 41 82 00 14 */ beq lbl_8003A07C
/* 8003A06C 00036FCC 88 1D 02 E4 */ lbz r0, 0x2e4(r29)
/* 8003A070 00036FD0 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8003A074 00036FD4 40 82 00 08 */ bne lbl_8003A07C
/* 8003A078 00036FD8 38 60 00 01 */ li r3, 1
lbl_8003A07C:
/* 8003A07C 00036FDC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8003A080 00036FE0 41 82 00 28 */ beq lbl_8003A0A8
/* 8003A084 00036FE4 38 61 00 20 */ addi r3, r1, 0x20
/* 8003A088 00036FE8 38 9D 01 70 */ addi r4, r29, 0x170
/* 8003A08C 00036FEC 4B FF E4 F5 */ bl GetWeaponDescription__17CProjectileWeaponCFv
/* 8003A090 00036FF0 80 61 00 28 */ lwz r3, 0x28(r1)
/* 8003A094 00036FF4 38 80 00 01 */ li r4, 1
/* 8003A098 00036FF8 88 03 00 A4 */ lbz r0, 0xa4(r3)
/* 8003A09C 00036FFC 28 00 00 00 */ cmplwi r0, 0
/* 8003A0A0 00037000 40 82 00 08 */ bne lbl_8003A0A8
/* 8003A0A4 00037004 3B E0 00 01 */ li r31, 1
lbl_8003A0A8:
/* 8003A0A8 00037008 7C 80 07 75 */ extsb. r0, r4
/* 8003A0AC 0003700C 41 82 00 10 */ beq lbl_8003A0BC
/* 8003A0B0 00037010 38 61 00 20 */ addi r3, r1, 0x20
/* 8003A0B4 00037014 38 80 00 00 */ li r4, 0
/* 8003A0B8 00037018 48 30 6D 89 */ bl __dt__6CTokenFv
lbl_8003A0BC:
/* 8003A0BC 0003701C 28 1B 00 00 */ cmplwi r27, 0
/* 8003A0C0 00037020 3B 60 00 00 */ li r27, 0
/* 8003A0C4 00037024 7F 63 DB 78 */ mr r3, r27
/* 8003A0C8 00037028 38 80 00 00 */ li r4, 0
/* 8003A0CC 0003702C 40 82 00 14 */ bne lbl_8003A0E0
/* 8003A0D0 00037030 88 1D 02 E4 */ lbz r0, 0x2e4(r29)
/* 8003A0D4 00037034 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8003A0D8 00037038 41 82 00 08 */ beq lbl_8003A0E0
/* 8003A0DC 0003703C 38 60 00 01 */ li r3, 1
lbl_8003A0E0:
/* 8003A0E0 00037040 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8003A0E4 00037044 41 82 00 28 */ beq lbl_8003A10C
/* 8003A0E8 00037048 38 61 00 14 */ addi r3, r1, 0x14
/* 8003A0EC 0003704C 38 9D 01 70 */ addi r4, r29, 0x170
/* 8003A0F0 00037050 4B FF E4 91 */ bl GetWeaponDescription__17CProjectileWeaponCFv
/* 8003A0F4 00037054 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 8003A0F8 00037058 38 80 00 01 */ li r4, 1
/* 8003A0FC 0003705C 88 03 00 A5 */ lbz r0, 0xa5(r3)
/* 8003A100 00037060 28 00 00 00 */ cmplwi r0, 0
/* 8003A104 00037064 40 82 00 08 */ bne lbl_8003A10C
/* 8003A108 00037068 3B 60 00 01 */ li r27, 1
lbl_8003A10C:
/* 8003A10C 0003706C 7C 80 07 75 */ extsb. r0, r4
/* 8003A110 00037070 41 82 00 10 */ beq lbl_8003A120
/* 8003A114 00037074 38 61 00 14 */ addi r3, r1, 0x14
/* 8003A118 00037078 38 80 00 00 */ li r4, 0
/* 8003A11C 0003707C 48 30 6D 25 */ bl __dt__6CTokenFv
lbl_8003A120:
/* 8003A120 00037080 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 8003A124 00037084 38 60 00 00 */ li r3, 0
/* 8003A128 00037088 40 82 00 0C */ bne lbl_8003A134
/* 8003A12C 0003708C 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 8003A130 00037090 41 82 00 08 */ beq lbl_8003A138
lbl_8003A134:
/* 8003A134 00037094 38 60 00 01 */ li r3, 1
lbl_8003A138:
/* 8003A138 00037098 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8003A13C 0003709C 38 60 00 00 */ li r3, 0
/* 8003A140 000370A0 98 61 00 90 */ stb r3, 0x90(r1)
/* 8003A144 000370A4 41 82 00 14 */ beq lbl_8003A158
/* 8003A148 000370A8 A0 1E 00 08 */ lhz r0, 8(r30)
/* 8003A14C 000370AC 38 61 00 08 */ addi r3, r1, 8
/* 8003A150 000370B0 B0 01 00 08 */ sth r0, 8(r1)
/* 8003A154 000370B4 48 00 00 08 */ b lbl_8003A15C
lbl_8003A158:
/* 8003A158 000370B8 38 6D A3 8C */ addi r3, r13, kInvalidUniqueId@sda21
lbl_8003A15C:
/* 8003A15C 000370BC A0 63 00 00 */ lhz r3, 0(r3)
/* 8003A160 000370C0 88 01 00 90 */ lbz r0, 0x90(r1)
/* 8003A164 000370C4 B0 7C 00 00 */ sth r3, 0(r28)
/* 8003A168 000370C8 28 00 00 00 */ cmplwi r0, 0
/* 8003A16C 000370CC 98 1C 00 34 */ stb r0, 0x34(r28)
/* 8003A170 000370D0 41 82 00 64 */ beq lbl_8003A1D4
/* 8003A174 000370D4 34 9C 00 04 */ addic. r4, r28, 4
/* 8003A178 000370D8 41 82 00 5C */ beq lbl_8003A1D4
/* 8003A17C 000370DC C0 21 00 60 */ lfs f1, 0x60(r1)
/* 8003A180 000370E0 C0 01 00 64 */ lfs f0, 0x64(r1)
/* 8003A184 000370E4 D0 24 00 00 */ stfs f1, 0(r4)
/* 8003A188 000370E8 C0 21 00 68 */ lfs f1, 0x68(r1)
/* 8003A18C 000370EC D0 04 00 04 */ stfs f0, 4(r4)
/* 8003A190 000370F0 C0 01 00 6C */ lfs f0, 0x6c(r1)
/* 8003A194 000370F4 D0 24 00 08 */ stfs f1, 8(r4)
/* 8003A198 000370F8 C0 21 00 70 */ lfs f1, 0x70(r1)
/* 8003A19C 000370FC D0 04 00 0C */ stfs f0, 0xc(r4)
/* 8003A1A0 00037100 C0 01 00 74 */ lfs f0, 0x74(r1)
/* 8003A1A4 00037104 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 8003A1A8 00037108 C0 21 00 78 */ lfs f1, 0x78(r1)
/* 8003A1AC 0003710C D0 04 00 14 */ stfs f0, 0x14(r4)
/* 8003A1B0 00037110 C0 01 00 7C */ lfs f0, 0x7c(r1)
/* 8003A1B4 00037114 D0 24 00 18 */ stfs f1, 0x18(r4)
/* 8003A1B8 00037118 88 01 00 80 */ lbz r0, 0x80(r1)
/* 8003A1BC 0003711C D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 8003A1C0 00037120 80 61 00 8C */ lwz r3, 0x8c(r1)
/* 8003A1C4 00037124 98 04 00 20 */ stb r0, 0x20(r4)
/* 8003A1C8 00037128 80 01 00 88 */ lwz r0, 0x88(r1)
/* 8003A1CC 0003712C 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003A1D0 00037130 90 04 00 28 */ stw r0, 0x28(r4)
lbl_8003A1D4:
/* 8003A1D4 00037134 38 00 00 00 */ li r0, 0
/* 8003A1D8 00037138 98 01 00 90 */ stb r0, 0x90(r1)
/* 8003A1DC 0003713C 48 00 00 80 */ b lbl_8003A25C
lbl_8003A1E0:
/* 8003A1E0 00037140 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8003A1E4 00037144 38 60 00 00 */ li r3, 0
/* 8003A1E8 00037148 98 61 00 5C */ stb r3, 0x5c(r1)
/* 8003A1EC 0003714C B0 1C 00 00 */ sth r0, 0(r28)
/* 8003A1F0 00037150 98 7C 00 34 */ stb r3, 0x34(r28)
/* 8003A1F4 00037154 48 00 00 60 */ b lbl_8003A254
/* 8003A1F8 00037158 41 82 00 5C */ beq lbl_8003A254
/* 8003A1FC 0003715C C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 8003A200 00037160 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 8003A204 00037164 D0 24 00 00 */ stfs f1, 0(r4)
/* 8003A208 00037168 C0 21 00 34 */ lfs f1, 0x34(r1)
/* 8003A20C 0003716C D0 04 00 04 */ stfs f0, 4(r4)
/* 8003A210 00037170 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 8003A214 00037174 D0 24 00 08 */ stfs f1, 8(r4)
/* 8003A218 00037178 C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 8003A21C 0003717C D0 04 00 0C */ stfs f0, 0xc(r4)
/* 8003A220 00037180 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 8003A224 00037184 D0 24 00 10 */ stfs f1, 0x10(r4)
/* 8003A228 00037188 C0 21 00 44 */ lfs f1, 0x44(r1)
/* 8003A22C 0003718C D0 04 00 14 */ stfs f0, 0x14(r4)
/* 8003A230 00037190 C0 01 00 48 */ lfs f0, 0x48(r1)
/* 8003A234 00037194 D0 24 00 18 */ stfs f1, 0x18(r4)
/* 8003A238 00037198 88 01 00 4C */ lbz r0, 0x4c(r1)
/* 8003A23C 0003719C D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 8003A240 000371A0 80 61 00 58 */ lwz r3, 0x58(r1)
/* 8003A244 000371A4 98 04 00 20 */ stb r0, 0x20(r4)
/* 8003A248 000371A8 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8003A24C 000371AC 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003A250 000371B0 90 04 00 28 */ stw r0, 0x28(r4)
lbl_8003A254:
/* 8003A254 000371B4 38 00 00 00 */ li r0, 0
/* 8003A258 000371B8 98 01 00 5C */ stb r0, 0x5c(r1)
lbl_8003A25C:
/* 8003A25C 000371BC BB 61 00 9C */ lmw r27, 0x9c(r1)
/* 8003A260 000371C0 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 8003A264 000371C4 7C 08 03 A6 */ mtlr r0
/* 8003A268 000371C8 38 21 00 B0 */ addi r1, r1, 0xb0
/* 8003A26C 000371CC 4E 80 00 20 */ blr
.global GetTouchBounds__15CGameProjectileCFv
GetTouchBounds__15CGameProjectileCFv:
/* 8003A270 000371D0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003A274 000371D4 7C 08 02 A6 */ mflr r0
/* 8003A278 000371D8 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003A27C 000371DC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8003A280 000371E0 7C 7F 1B 78 */ mr r31, r3
/* 8003A284 000371E4 88 04 02 E4 */ lbz r0, 0x2e4(r4)
/* 8003A288 000371E8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8003A28C 000371EC 40 82 00 10 */ bne lbl_8003A29C
/* 8003A290 000371F0 38 00 00 00 */ li r0, 0
/* 8003A294 000371F4 98 1F 00 18 */ stb r0, 0x18(r31)
/* 8003A298 000371F8 48 00 00 4C */ b lbl_8003A2E4
lbl_8003A29C:
/* 8003A29C 000371FC 38 61 00 08 */ addi r3, r1, 8
/* 8003A2A0 00037200 48 00 00 59 */ bl GetProjectileBounds__15CGameProjectileCFv
/* 8003A2A4 00037204 38 00 00 01 */ li r0, 1
/* 8003A2A8 00037208 28 1F 00 00 */ cmplwi r31, 0
/* 8003A2AC 0003720C 98 1F 00 18 */ stb r0, 0x18(r31)
/* 8003A2B0 00037210 41 82 00 34 */ beq lbl_8003A2E4
/* 8003A2B4 00037214 C0 01 00 08 */ lfs f0, 8(r1)
/* 8003A2B8 00037218 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8003A2BC 0003721C C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8003A2C0 00037220 D0 1F 00 04 */ stfs f0, 4(r31)
/* 8003A2C4 00037224 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8003A2C8 00037228 D0 1F 00 08 */ stfs f0, 8(r31)
/* 8003A2CC 0003722C C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8003A2D0 00037230 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 8003A2D4 00037234 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8003A2D8 00037238 D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 8003A2DC 0003723C C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8003A2E0 00037240 D0 1F 00 14 */ stfs f0, 0x14(r31)
lbl_8003A2E4:
/* 8003A2E4 00037244 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003A2E8 00037248 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8003A2EC 0003724C 7C 08 03 A6 */ mtlr r0
/* 8003A2F0 00037250 38 21 00 30 */ addi r1, r1, 0x30
/* 8003A2F4 00037254 4E 80 00 20 */ blr
.global GetProjectileBounds__15CGameProjectileCFv
GetProjectileBounds__15CGameProjectileCFv:
/* 8003A2F8 00037258 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8003A2FC 0003725C C0 84 00 60 */ lfs f4, 0x60(r4)
/* 8003A300 00037260 C0 04 02 A0 */ lfs f0, 0x2a0(r4)
/* 8003A304 00037264 D0 81 00 08 */ stfs f4, 8(r1)
/* 8003A308 00037268 FC 00 20 40 */ fcmpo cr0, f0, f4
/* 8003A30C 0003726C C0 64 00 50 */ lfs f3, 0x50(r4)
/* 8003A310 00037270 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8003A314 00037274 C0 44 00 40 */ lfs f2, 0x40(r4)
/* 8003A318 00037278 40 80 00 0C */ bge lbl_8003A324
/* 8003A31C 0003727C 38 A1 00 08 */ addi r5, r1, 8
/* 8003A320 00037280 48 00 00 08 */ b lbl_8003A328
lbl_8003A324:
/* 8003A324 00037284 38 A1 00 0C */ addi r5, r1, 0xc
lbl_8003A328:
/* 8003A328 00037288 C0 05 00 00 */ lfs f0, 0(r5)
/* 8003A32C 0003728C C0 A4 02 9C */ lfs f5, 0x29c(r4)
/* 8003A330 00037290 C0 24 02 A4 */ lfs f1, 0x2a4(r4)
/* 8003A334 00037294 FC 05 18 40 */ fcmpo cr0, f5, f3
/* 8003A338 00037298 D0 61 00 10 */ stfs f3, 0x10(r1)
/* 8003A33C 0003729C EC C1 00 2A */ fadds f6, f1, f0
/* 8003A340 000372A0 D0 A1 00 14 */ stfs f5, 0x14(r1)
/* 8003A344 000372A4 40 80 00 0C */ bge lbl_8003A350
/* 8003A348 000372A8 38 A1 00 10 */ addi r5, r1, 0x10
/* 8003A34C 000372AC 48 00 00 08 */ b lbl_8003A354
lbl_8003A350:
/* 8003A350 000372B0 38 A1 00 14 */ addi r5, r1, 0x14
lbl_8003A354:
/* 8003A354 000372B4 C0 05 00 00 */ lfs f0, 0(r5)
/* 8003A358 000372B8 C0 E4 02 98 */ lfs f7, 0x298(r4)
/* 8003A35C 000372BC C0 24 02 A4 */ lfs f1, 0x2a4(r4)
/* 8003A360 000372C0 FC 07 10 40 */ fcmpo cr0, f7, f2
/* 8003A364 000372C4 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 8003A368 000372C8 EC A1 00 2A */ fadds f5, f1, f0
/* 8003A36C 000372CC D0 E1 00 1C */ stfs f7, 0x1c(r1)
/* 8003A370 000372D0 40 80 00 0C */ bge lbl_8003A37C
/* 8003A374 000372D4 38 A1 00 18 */ addi r5, r1, 0x18
/* 8003A378 000372D8 48 00 00 08 */ b lbl_8003A380
lbl_8003A37C:
/* 8003A37C 000372DC 38 A1 00 1C */ addi r5, r1, 0x1c
lbl_8003A380:
/* 8003A380 000372E0 C0 05 00 00 */ lfs f0, 0(r5)
/* 8003A384 000372E4 C0 E4 02 A0 */ lfs f7, 0x2a0(r4)
/* 8003A388 000372E8 C0 24 02 A4 */ lfs f1, 0x2a4(r4)
/* 8003A38C 000372EC FC 04 38 40 */ fcmpo cr0, f4, f7
/* 8003A390 000372F0 D0 81 00 20 */ stfs f4, 0x20(r1)
/* 8003A394 000372F4 EC 81 00 2A */ fadds f4, f1, f0
/* 8003A398 000372F8 D0 E1 00 24 */ stfs f7, 0x24(r1)
/* 8003A39C 000372FC 40 80 00 0C */ bge lbl_8003A3A8
/* 8003A3A0 00037300 38 A1 00 20 */ addi r5, r1, 0x20
/* 8003A3A4 00037304 48 00 00 08 */ b lbl_8003A3AC
lbl_8003A3A8:
/* 8003A3A8 00037308 38 A1 00 24 */ addi r5, r1, 0x24
lbl_8003A3AC:
/* 8003A3AC 0003730C C0 25 00 00 */ lfs f1, 0(r5)
/* 8003A3B0 00037310 C0 E4 02 9C */ lfs f7, 0x29c(r4)
/* 8003A3B4 00037314 C0 04 02 A4 */ lfs f0, 0x2a4(r4)
/* 8003A3B8 00037318 FC 03 38 40 */ fcmpo cr0, f3, f7
/* 8003A3BC 0003731C D0 61 00 28 */ stfs f3, 0x28(r1)
/* 8003A3C0 00037320 EC 61 00 28 */ fsubs f3, f1, f0
/* 8003A3C4 00037324 D0 E1 00 2C */ stfs f7, 0x2c(r1)
/* 8003A3C8 00037328 40 80 00 0C */ bge lbl_8003A3D4
/* 8003A3CC 0003732C 38 A1 00 28 */ addi r5, r1, 0x28
/* 8003A3D0 00037330 48 00 00 08 */ b lbl_8003A3D8
lbl_8003A3D4:
/* 8003A3D4 00037334 38 A1 00 2C */ addi r5, r1, 0x2c
lbl_8003A3D8:
/* 8003A3D8 00037338 C0 25 00 00 */ lfs f1, 0(r5)
/* 8003A3DC 0003733C C0 E4 02 98 */ lfs f7, 0x298(r4)
/* 8003A3E0 00037340 C0 04 02 A4 */ lfs f0, 0x2a4(r4)
/* 8003A3E4 00037344 FC 02 38 40 */ fcmpo cr0, f2, f7
/* 8003A3E8 00037348 D0 41 00 30 */ stfs f2, 0x30(r1)
/* 8003A3EC 0003734C EC 41 00 28 */ fsubs f2, f1, f0
/* 8003A3F0 00037350 D0 E1 00 34 */ stfs f7, 0x34(r1)
/* 8003A3F4 00037354 40 80 00 0C */ bge lbl_8003A400
/* 8003A3F8 00037358 38 A1 00 30 */ addi r5, r1, 0x30
/* 8003A3FC 0003735C 48 00 00 08 */ b lbl_8003A404
lbl_8003A400:
/* 8003A400 00037360 38 A1 00 34 */ addi r5, r1, 0x34
lbl_8003A404:
/* 8003A404 00037364 C0 25 00 00 */ lfs f1, 0(r5)
/* 8003A408 00037368 C0 04 02 A4 */ lfs f0, 0x2a4(r4)
/* 8003A40C 0003736C EC 01 00 28 */ fsubs f0, f1, f0
/* 8003A410 00037370 D0 03 00 00 */ stfs f0, 0(r3)
/* 8003A414 00037374 D0 43 00 04 */ stfs f2, 4(r3)
/* 8003A418 00037378 D0 63 00 08 */ stfs f3, 8(r3)
/* 8003A41C 0003737C D0 83 00 0C */ stfs f4, 0xc(r3)
/* 8003A420 00037380 D0 A3 00 10 */ stfs f5, 0x10(r3)
/* 8003A424 00037384 D0 C3 00 14 */ stfs f6, 0x14(r3)
/* 8003A428 00037388 38 21 00 40 */ addi r1, r1, 0x40
/* 8003A42C 0003738C 4E 80 00 20 */ blr
.global Render__15CGameProjectileCFRC13CStateManager
Render__15CGameProjectileCFRC13CStateManager:
/* 8003A430 00037390 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003A434 00037394 7C 08 02 A6 */ mflr r0
/* 8003A438 00037398 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003A43C 0003739C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003A440 000373A0 7C 9F 23 78 */ mr r31, r4
/* 8003A444 000373A4 93 C1 00 08 */ stw r30, 8(r1)
/* 8003A448 000373A8 7C 7E 1B 78 */ mr r30, r3
/* 8003A44C 000373AC 38 7E 01 70 */ addi r3, r30, 0x170
/* 8003A450 000373B0 81 9E 01 70 */ lwz r12, 0x170(r30)
/* 8003A454 000373B4 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8003A458 000373B8 7D 89 03 A6 */ mtctr r12
/* 8003A45C 000373BC 4E 80 04 21 */ bctrl
/* 8003A460 000373C0 7F C3 F3 78 */ mr r3, r30
/* 8003A464 000373C4 7F E4 FB 78 */ mr r4, r31
/* 8003A468 000373C8 48 0C 7A A1 */ bl Render__7CWeaponCFRC13CStateManager
/* 8003A46C 000373CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003A470 000373D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003A474 000373D4 83 C1 00 08 */ lwz r30, 8(r1)
/* 8003A478 000373D8 7C 08 03 A6 */ mtlr r0
/* 8003A47C 000373DC 38 21 00 10 */ addi r1, r1, 0x10
/* 8003A480 000373E0 4E 80 00 20 */ blr
.global "__ct__15CGameProjectileFbRC28TToken<18CWeaponDescription>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>11EWeaponTypeRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId7TAreaId9TUniqueId9TUniqueIdUibRC9CVector3fRCQ24rstl50optional_object<31TLockedToken<15CGenDescription>>sb"
"__ct__15CGameProjectileFbRC28TToken<18CWeaponDescription>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>11EWeaponTypeRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId7TAreaId9TUniqueId9TUniqueIdUibRC9CVector3fRCQ24rstl50optional_object<31TLockedToken<15CGenDescription>>sb":
/* 8003A484 000373E4 94 21 FE D0 */ stwu r1, -0x130(r1)
/* 8003A488 000373E8 7C 08 02 A6 */ mflr r0
/* 8003A48C 000373EC 90 01 01 34 */ stw r0, 0x134(r1)
/* 8003A490 000373F0 80 01 01 44 */ lwz r0, 0x144(r1)
/* 8003A494 000373F4 BD C1 00 E8 */ stmw r14, 0xe8(r1)
/* 8003A498 000373F8 7C 6F 1B 78 */ mr r15, r3
/* 8003A49C 000373FC 80 01 01 50 */ lwz r0, 0x150(r1)
/* 8003A4A0 00037400 7C 90 23 78 */ mr r16, r4
/* 8003A4A4 00037404 82 C1 01 38 */ lwz r22, 0x138(r1)
/* 8003A4A8 00037408 7C B1 2B 78 */ mr r17, r5
/* 8003A4AC 0003740C 82 E1 01 3C */ lwz r23, 0x13c(r1)
/* 8003A4B0 00037410 7C D2 33 78 */ mr r18, r6
/* 8003A4B4 00037414 83 01 01 40 */ lwz r24, 0x140(r1)
/* 8003A4B8 00037418 7C F3 3B 78 */ mr r19, r7
/* 8003A4BC 0003741C 83 21 01 48 */ lwz r25, 0x148(r1)
/* 8003A4C0 00037420 7D 14 43 78 */ mr r20, r8
/* 8003A4C4 00037424 8B 41 01 4F */ lbz r26, 0x14f(r1)
/* 8003A4C8 00037428 7D 3C 4B 78 */ mr r28, r9
/* 8003A4CC 0003742C 83 61 01 54 */ lwz r27, 0x154(r1)
/* 8003A4D0 00037430 7D 55 53 78 */ mr r21, r10
/* 8003A4D4 00037434 A0 01 01 5A */ lhz r0, 0x15a(r1)
/* 8003A4D8 00037438 38 61 00 90 */ addi r3, r1, 0x90
/* 8003A4DC 0003743C 89 C1 01 5F */ lbz r14, 0x15f(r1)
/* 8003A4E0 00037440 48 00 02 C5 */ bl CModelDataNull__10CModelDataFv
/* 8003A4E4 00037444 38 00 00 00 */ li r0, 0
/* 8003A4E8 00037448 80 AD 82 08 */ lwz r5, lbl_805A6DC8@sda21(r13)
/* 8003A4EC 0003744C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003A4F0 00037450 38 60 00 00 */ li r3, 0
/* 8003A4F4 00037454 38 80 00 01 */ li r4, 1
/* 8003A4F8 00037458 90 01 00 30 */ stw r0, 0x30(r1)
/* 8003A4FC 0003745C 48 34 F9 F9 */ bl __shl2i
/* 8003A500 00037460 80 01 00 30 */ lwz r0, 0x30(r1)
/* 8003A504 00037464 80 C1 00 34 */ lwz r6, 0x34(r1)
/* 8003A508 00037468 7C 00 1B 78 */ or r0, r0, r3
/* 8003A50C 0003746C 80 AD 82 00 */ lwz r5, lbl_805A6DC0@sda21(r13)
/* 8003A510 00037470 7C C4 23 78 */ or r4, r6, r4
/* 8003A514 00037474 90 01 00 30 */ stw r0, 0x30(r1)
/* 8003A518 00037478 38 60 00 00 */ li r3, 0
/* 8003A51C 0003747C 90 81 00 34 */ stw r4, 0x34(r1)
/* 8003A520 00037480 38 80 00 01 */ li r4, 1
/* 8003A524 00037484 48 34 F9 D1 */ bl __shl2i
/* 8003A528 00037488 80 AD 82 04 */ lwz r5, lbl_805A6DC4@sda21(r13)
/* 8003A52C 0003748C 7C 9E 23 78 */ mr r30, r4
/* 8003A530 00037490 7C 7F 1B 78 */ mr r31, r3
/* 8003A534 00037494 38 60 00 00 */ li r3, 0
/* 8003A538 00037498 38 80 00 01 */ li r4, 1
/* 8003A53C 0003749C 48 34 F9 B9 */ bl __shl2i
/* 8003A540 000374A0 7F DE 23 78 */ or r30, r30, r4
/* 8003A544 000374A4 7F FF 1B 78 */ or r31, r31, r3
/* 8003A548 000374A8 7F 85 E3 78 */ mr r5, r28
/* 8003A54C 000374AC 38 60 00 00 */ li r3, 0
/* 8003A550 000374B0 38 80 00 01 */ li r4, 1
/* 8003A554 000374B4 48 34 F9 A1 */ bl __shl2i
/* 8003A558 000374B8 80 AD 81 F8 */ lwz r5, lbl_805A6DB8@sda21(r13)
/* 8003A55C 000374BC 7F DE 23 78 */ or r30, r30, r4
/* 8003A560 000374C0 7F FF 1B 78 */ or r31, r31, r3
/* 8003A564 000374C4 38 60 00 00 */ li r3, 0
/* 8003A568 000374C8 38 80 00 01 */ li r4, 1
/* 8003A56C 000374CC 48 34 F9 89 */ bl __shl2i
/* 8003A570 000374D0 80 AD 81 FC */ lwz r5, lbl_805A6DBC@sda21(r13)
/* 8003A574 000374D4 7C 9C 23 78 */ mr r28, r4
/* 8003A578 000374D8 7C 7D 1B 78 */ mr r29, r3
/* 8003A57C 000374DC 38 60 00 00 */ li r3, 0
/* 8003A580 000374E0 38 80 00 01 */ li r4, 1
/* 8003A584 000374E4 48 34 F9 71 */ bl __shl2i
/* 8003A588 000374E8 7F BD 1B 78 */ or r29, r29, r3
/* 8003A58C 000374EC 7F 9C 23 78 */ or r28, r28, r4
/* 8003A590 000374F0 38 00 00 03 */ li r0, 3
/* 8003A594 000374F4 93 81 00 4C */ stw r28, 0x4c(r1)
/* 8003A598 000374F8 7E 63 9B 78 */ mr r3, r19
/* 8003A59C 000374FC 93 A1 00 48 */ stw r29, 0x48(r1)
/* 8003A5A0 00037500 93 C1 00 54 */ stw r30, 0x54(r1)
/* 8003A5A4 00037504 93 E1 00 50 */ stw r31, 0x50(r1)
/* 8003A5A8 00037508 90 01 00 58 */ stw r0, 0x58(r1)
/* 8003A5AC 0003750C A0 18 00 00 */ lhz r0, 0(r24)
/* 8003A5B0 00037510 B0 01 00 20 */ sth r0, 0x20(r1)
/* 8003A5B4 00037514 80 17 00 00 */ lwz r0, 0(r23)
/* 8003A5B8 00037518 90 01 00 28 */ stw r0, 0x28(r1)
/* 8003A5BC 0003751C A0 16 00 00 */ lhz r0, 0(r22)
/* 8003A5C0 00037520 B0 01 00 24 */ sth r0, 0x24(r1)
/* 8003A5C4 00037524 4B FF D2 95 */ bl GetBeamAttribType__15CGameProjectileF11EWeaponType
/* 8003A5C8 00037528 38 01 00 48 */ addi r0, r1, 0x48
/* 8003A5CC 0003752C 7F 27 1B 78 */ or r7, r25, r3
/* 8003A5D0 00037530 90 01 00 08 */ stw r0, 8(r1)
/* 8003A5D4 00037534 38 81 00 30 */ addi r4, r1, 0x30
/* 8003A5D8 00037538 38 01 00 90 */ addi r0, r1, 0x90
/* 8003A5DC 0003753C 7D E3 7B 78 */ mr r3, r15
/* 8003A5E0 00037540 90 81 00 0C */ stw r4, 0xc(r1)
/* 8003A5E4 00037544 7E 06 83 78 */ mr r6, r16
/* 8003A5E8 00037548 7E 68 9B 78 */ mr r8, r19
/* 8003A5EC 0003754C 7E 49 93 78 */ mr r9, r18
/* 8003A5F0 00037550 92 A1 00 10 */ stw r21, 0x10(r1)
/* 8003A5F4 00037554 7E 8A A3 78 */ mr r10, r20
/* 8003A5F8 00037558 38 81 00 24 */ addi r4, r1, 0x24
/* 8003A5FC 0003755C 38 A1 00 28 */ addi r5, r1, 0x28
/* 8003A600 00037560 90 E1 00 14 */ stw r7, 0x14(r1)
/* 8003A604 00037564 38 E1 00 20 */ addi r7, r1, 0x20
/* 8003A608 00037568 90 01 00 18 */ stw r0, 0x18(r1)
/* 8003A60C 0003756C 48 0C 7C 89 */ bl "__ct__7CWeaponF9TUniqueIdb9TUniqueId11EWeaponTypeRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC12CTransform4fRC15CMaterialFilterRC13CMaterialListRC11CDamageInfoiRC10CModelData"
/* 8003A610 00037570 38 61 00 90 */ addi r3, r1, 0x90
/* 8003A614 00037574 38 80 FF FF */ li r4, -1
/* 8003A618 00037578 48 0D C4 35 */ bl __dt__10CModelDataFv
/* 8003A61C 0003757C 3C 60 80 3E */ lis r3, lbl_803D9CE0@ha
/* 8003A620 00037580 38 03 9C E0 */ addi r0, r3, lbl_803D9CE0@l
/* 8003A624 00037584 90 0F 00 00 */ stw r0, 0(r15)
/* 8003A628 00037588 88 1B 00 0C */ lbz r0, 0xc(r27)
/* 8003A62C 0003758C 98 0F 01 64 */ stb r0, 0x164(r15)
/* 8003A630 00037590 88 1B 00 0C */ lbz r0, 0xc(r27)
/* 8003A634 00037594 28 00 00 00 */ cmplwi r0, 0
/* 8003A638 00037598 41 82 00 28 */ beq lbl_8003A660
/* 8003A63C 0003759C 36 0F 01 58 */ addic. r16, r15, 0x158
/* 8003A640 000375A0 41 82 00 20 */ beq lbl_8003A660
/* 8003A644 000375A4 7E 03 83 78 */ mr r3, r16
/* 8003A648 000375A8 7F 64 DB 78 */ mr r4, r27
/* 8003A64C 000375AC 48 30 68 5D */ bl __ct__6CTokenFRC6CToken
/* 8003A650 000375B0 80 1B 00 08 */ lwz r0, 8(r27)
/* 8003A654 000375B4 7E 03 83 78 */ mr r3, r16
/* 8003A658 000375B8 90 10 00 08 */ stw r0, 8(r16)
/* 8003A65C 000375BC 48 30 67 29 */ bl Lock__6CTokenFv
lbl_8003A660:
/* 8003A660 000375C0 A0 01 01 5A */ lhz r0, 0x15a(r1)
/* 8003A664 000375C4 7E 84 A3 78 */ mr r4, r20
/* 8003A668 000375C8 57 30 87 FE */ rlwinm r16, r25, 0x10, 0x1f, 0x1f
/* 8003A66C 000375CC 38 61 00 60 */ addi r3, r1, 0x60
/* 8003A670 000375D0 B0 0F 01 68 */ sth r0, 0x168(r15)
/* 8003A674 000375D4 C0 54 00 2C */ lfs f2, 0x2c(r20)
/* 8003A678 000375D8 C0 34 00 1C */ lfs f1, 0x1c(r20)
/* 8003A67C 000375DC C0 14 00 0C */ lfs f0, 0xc(r20)
/* 8003A680 000375E0 D0 21 00 3C */ stfs f1, 0x3c(r1)
/* 8003A684 000375E4 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 8003A688 000375E8 D0 41 00 40 */ stfs f2, 0x40(r1)
/* 8003A68C 000375EC 48 00 01 39 */ bl clear_transform__FRC12CTransform4f
/* 8003A690 000375F0 80 E1 01 50 */ lwz r7, 0x150(r1)
/* 8003A694 000375F4 7E 24 8B 78 */ mr r4, r17
/* 8003A698 000375F8 7E 08 83 78 */ mr r8, r16
/* 8003A69C 000375FC 38 6F 01 70 */ addi r3, r15, 0x170
/* 8003A6A0 00037600 38 A1 00 38 */ addi r5, r1, 0x38
/* 8003A6A4 00037604 38 C1 00 60 */ addi r6, r1, 0x60
/* 8003A6A8 00037608 48 27 63 45 */ bl "__ct__17CProjectileWeaponFRC28TToken<18CWeaponDescription>RC9CVector3fRC12CTransform4fRC9CVector3f"
/* 8003A6AC 0003760C C0 54 00 2C */ lfs f2, 0x2c(r20)
/* 8003A6B0 00037610 C0 34 00 1C */ lfs f1, 0x1c(r20)
/* 8003A6B4 00037614 C0 14 00 0C */ lfs f0, 0xc(r20)
/* 8003A6B8 00037618 D0 0F 02 98 */ stfs f0, 0x298(r15)
/* 8003A6BC 0003761C D0 2F 02 9C */ stfs f1, 0x29c(r15)
/* 8003A6C0 00037620 D0 4F 02 A0 */ stfs f2, 0x2a0(r15)
/* 8003A6C4 00037624 80 0F 00 E8 */ lwz r0, 0xe8(r15)
/* 8003A6C8 00037628 54 00 05 6A */ rlwinm r0, r0, 0, 0x15, 0x15
/* 8003A6CC 0003762C 2C 00 04 00 */ cmpwi r0, 0x400
/* 8003A6D0 00037630 40 82 00 0C */ bne lbl_8003A6DC
/* 8003A6D4 00037634 C0 02 84 30 */ lfs f0, lbl_805AA150@sda21(r2)
/* 8003A6D8 00037638 48 00 00 08 */ b lbl_8003A6E0
lbl_8003A6DC:
/* 8003A6DC 0003763C C0 02 84 34 */ lfs f0, lbl_805AA154@sda21(r2)
lbl_8003A6E0:
/* 8003A6E0 00037640 D0 0F 02 A4 */ stfs f0, 0x2a4(r15)
/* 8003A6E4 00037644 38 00 00 00 */ li r0, 0
/* 8003A6E8 00037648 C0 02 84 38 */ lfs f0, lbl_805AA158@sda21(r2)
/* 8003A6EC 0003764C 38 A0 00 01 */ li r5, 1
/* 8003A6F0 00037650 C8 22 84 40 */ lfd f1, lbl_805AA160@sda21(r2)
/* 8003A6F4 00037654 7D E3 7B 78 */ mr r3, r15
/* 8003A6F8 00037658 D0 0F 02 A8 */ stfs f0, 0x2a8(r15)
/* 8003A6FC 0003765C 80 81 01 44 */ lwz r4, 0x144(r1)
/* 8003A700 00037660 D8 2F 02 B0 */ stfd f1, 0x2b0(r15)
/* 8003A704 00037664 C0 02 84 14 */ lfs f0, lbl_805AA134@sda21(r2)
/* 8003A708 00037668 C0 2F 02 A8 */ lfs f1, 0x2a8(r15)
/* 8003A70C 0003766C D8 2F 02 B8 */ stfd f1, 0x2b8(r15)
/* 8003A710 00037670 A0 84 00 00 */ lhz r4, 0(r4)
/* 8003A714 00037674 B0 8F 02 C0 */ sth r4, 0x2c0(r15)
/* 8003A718 00037678 A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13)
/* 8003A71C 0003767C B0 8F 02 C2 */ sth r4, 0x2c2(r15)
/* 8003A720 00037680 A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13)
/* 8003A724 00037684 B0 8F 02 C4 */ sth r4, 0x2c4(r15)
/* 8003A728 00037688 A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13)
/* 8003A72C 0003768C B0 8F 02 C6 */ sth r4, 0x2c6(r15)
/* 8003A730 00037690 A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13)
/* 8003A734 00037694 B0 8F 02 C8 */ sth r4, 0x2c8(r15)
/* 8003A738 00037698 80 91 00 00 */ lwz r4, 0(r17)
/* 8003A73C 0003769C 80 84 00 08 */ lwz r4, 8(r4)
/* 8003A740 000376A0 90 8F 02 CC */ stw r4, 0x2cc(r15)
/* 8003A744 000376A4 90 0F 02 D4 */ stw r0, 0x2d4(r15)
/* 8003A748 000376A8 90 0F 02 D8 */ stw r0, 0x2d8(r15)
/* 8003A74C 000376AC 90 0F 02 DC */ stw r0, 0x2dc(r15)
/* 8003A750 000376B0 D0 0F 02 E0 */ stfs f0, 0x2e0(r15)
/* 8003A754 000376B4 88 0F 02 E4 */ lbz r0, 0x2e4(r15)
/* 8003A758 000376B8 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 8003A75C 000376BC 98 0F 02 E4 */ stb r0, 0x2e4(r15)
/* 8003A760 000376C0 88 0F 02 E4 */ lbz r0, 0x2e4(r15)
/* 8003A764 000376C4 53 40 36 72 */ rlwimi r0, r26, 6, 0x19, 0x19
/* 8003A768 000376C8 98 0F 02 E4 */ stb r0, 0x2e4(r15)
/* 8003A76C 000376CC 88 0F 02 E4 */ lbz r0, 0x2e4(r15)
/* 8003A770 000376D0 53 40 2E B4 */ rlwimi r0, r26, 5, 0x1a, 0x1a
/* 8003A774 000376D4 98 0F 02 E4 */ stb r0, 0x2e4(r15)
/* 8003A778 000376D8 88 0F 02 E4 */ lbz r0, 0x2e4(r15)
/* 8003A77C 000376DC 53 40 26 F6 */ rlwimi r0, r26, 4, 0x1b, 0x1b
/* 8003A780 000376E0 98 0F 02 E4 */ stb r0, 0x2e4(r15)
/* 8003A784 000376E4 88 0F 02 E4 */ lbz r0, 0x2e4(r15)
/* 8003A788 000376E8 51 C0 1F 38 */ rlwimi r0, r14, 3, 0x1c, 0x1c
/* 8003A78C 000376EC 98 0F 02 E4 */ stb r0, 0x2e4(r15)
/* 8003A790 000376F0 B9 C1 00 E8 */ lmw r14, 0xe8(r1)
/* 8003A794 000376F4 80 01 01 34 */ lwz r0, 0x134(r1)
/* 8003A798 000376F8 7C 08 03 A6 */ mtlr r0
/* 8003A79C 000376FC 38 21 01 30 */ addi r1, r1, 0x130
/* 8003A7A0 00037700 4E 80 00 20 */ blr
.section .rodata
.balign 8
.global lbl_803CCE20
lbl_803CCE20:
# ROM: 0x3C9E20
.asciz "??(??)"
.byte 0x56
.asciz "isorAcid"
.balign 4
.4byte 0