.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__6CActorFUc .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,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__13CStateManagerFP7CEntity /* 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,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, kMedPriority__11CSfxManager@sda21(r2) /* 800377E8 00034748 38 A0 00 7F */ li r5, 0x7f /* 800377EC 0003474C 81 42 C6 00 */ lwz r10, kAllAreas__11CSfxManager@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,Q24rstl17rmemory_allocator>RC6CLightR13CStateManager" "CreateProjectileLight__15CGameProjectileFRCQ24rstl66basic_string,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__10CGameLightF9TUniqueId7TAreaIdbRCQ24rstl66basic_string,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__13CStateManagerFP7CEntity /* 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, __vt__16CCollidableAABox@ha /* 80038CC0 00035C20 C0 C1 00 E8 */ lfs f6, 0xe8(r1) /* 80038CC4 00035C24 39 03 CA D0 */ addi r8, r3, __vt__16CCollidableAABox@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, __vt__16CCollidableAABox@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, __vt__16CCollidableAABox@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, __vt__16CCollidableAABox@ha /* 80038F88 00035EE8 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha /* 80038F8C 00035EEC 38 84 CA D0 */ addi r4, r4, __vt__16CCollidableAABox@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 "__ct__29TPatternedCast<11CPuddleToad>FP7CEntity" /* 800391B4 00036114 48 06 C2 25 */ bl "CastTo<11CPuddleToad>__10CPatternedFRC29TPatternedCast<11CPuddleToad>" /* 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 "__ct__29TPatternedCast<11CPuddleToad>FP7CEntity" /* 8003927C 000361DC 48 06 C1 5D */ bl "CastTo<11CPuddleToad>__10CPatternedFRC29TPatternedCast<11CPuddleToad>" /* 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,Q24rstl17rmemory_allocator>11EWeaponTypeRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId7TAreaId9TUniqueId9TUniqueIdUibRC9CVector3fRCQ24rstl50optional_object<31TLockedToken<15CGenDescription>>sb" "__ct__15CGameProjectileFbRC28TToken<18CWeaponDescription>RCQ24rstl66basic_string,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__7CWeaponF9TUniqueId7TAreaIdb9TUniqueId11EWeaponTypeRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>R12CTransform4fRC15CMaterialFilterRC13CMaterialListRC11CDamageInfo17EProjectileAttribRC10CModelData" /* 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