.include "macros.inc" .section .ctors, "wa" lbl_ctor: .4byte __sinit_CWaveBuster_cpp .section .data .balign 8 .global lbl_803E5318 lbl_803E5318: # ROM: 0x3E2318 .4byte 0 .4byte 0 .4byte sub_801bd69c .4byte sub_801c0144 .4byte PreThink__7CEntityFfR13CStateManager .4byte sub_801bef28 .4byte sub_801bebcc .4byte SetActive__6CActorFb .4byte PreRender__6CActorFR13CStateManagerRC14CFrustumPlanes .4byte sub_801bee04 .4byte sub_801bedb8 .4byte CanRenderUnsorted__6CActorCFRC13CStateManager .4byte CalculateRenderBounds__6CActorFv .4byte HealthInfo__6CActorFR13CStateManager .4byte GetDamageVulnerability__6CActorCFv .4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo .4byte sub_801bd810 .4byte sub_801c0124 .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_805A7CC0 lbl_805A7CC0: # ROM: 0x3F5660 .4byte 0x00000013 .global lbl_805A7CC4 lbl_805A7CC4: # ROM: 0x3F5664 .4byte 0x00000012 .global lbl_805A7CC8 lbl_805A7CC8: # ROM: 0x3F5668 .4byte 0x00000020 .global lbl_805A7CCC lbl_805A7CCC: # ROM: 0x3F566C .4byte 0x00000012 .global lbl_805A7CD0 lbl_805A7CD0: # ROM: 0x3F5670 .4byte 0x00000020 .4byte 0 .section .bss .balign 8 .lcomm lbl_8046C908, 0xC, 4 .lcomm lbl_8046C914, 0xC, 4 .section .text, "ax" .global sub_801bd69c sub_801bd69c: /* 801BD69C 001BA5FC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BD6A0 001BA600 7C 08 02 A6 */ mflr r0 /* 801BD6A4 001BA604 90 01 00 14 */ stw r0, 0x14(r1) /* 801BD6A8 001BA608 93 E1 00 0C */ stw r31, 0xc(r1) /* 801BD6AC 001BA60C 7C 9F 23 78 */ mr r31, r4 /* 801BD6B0 001BA610 93 C1 00 08 */ stw r30, 8(r1) /* 801BD6B4 001BA614 7C 7E 1B 79 */ or. r30, r3, r3 /* 801BD6B8 001BA618 41 82 01 3C */ beq lbl_801BD7F4 /* 801BD6BC 001BA61C 3C 60 80 3E */ lis r3, lbl_803E5318@ha /* 801BD6C0 001BA620 34 1E 03 90 */ addic. r0, r30, 0x390 /* 801BD6C4 001BA624 38 03 53 18 */ addi r0, r3, lbl_803E5318@l /* 801BD6C8 001BA628 90 1E 00 00 */ stw r0, 0(r30) /* 801BD6CC 001BA62C 41 82 00 24 */ beq lbl_801BD6F0 /* 801BD6D0 001BA630 80 7E 03 90 */ lwz r3, 0x390(r30) /* 801BD6D4 001BA634 28 03 00 00 */ cmplwi r3, 0 /* 801BD6D8 001BA638 41 82 00 18 */ beq lbl_801BD6F0 /* 801BD6DC 001BA63C 81 83 00 00 */ lwz r12, 0(r3) /* 801BD6E0 001BA640 38 80 00 01 */ li r4, 1 /* 801BD6E4 001BA644 81 8C 00 08 */ lwz r12, 8(r12) /* 801BD6E8 001BA648 7D 89 03 A6 */ mtctr r12 /* 801BD6EC 001BA64C 4E 80 04 21 */ bctrl lbl_801BD6F0: /* 801BD6F0 001BA650 34 1E 03 8C */ addic. r0, r30, 0x38c /* 801BD6F4 001BA654 41 82 00 24 */ beq lbl_801BD718 /* 801BD6F8 001BA658 80 7E 03 8C */ lwz r3, 0x38c(r30) /* 801BD6FC 001BA65C 28 03 00 00 */ cmplwi r3, 0 /* 801BD700 001BA660 41 82 00 18 */ beq lbl_801BD718 /* 801BD704 001BA664 81 83 00 00 */ lwz r12, 0(r3) /* 801BD708 001BA668 38 80 00 01 */ li r4, 1 /* 801BD70C 001BA66C 81 8C 00 08 */ lwz r12, 8(r12) /* 801BD710 001BA670 7D 89 03 A6 */ mtctr r12 /* 801BD714 001BA674 4E 80 04 21 */ bctrl lbl_801BD718: /* 801BD718 001BA678 34 1E 03 88 */ addic. r0, r30, 0x388 /* 801BD71C 001BA67C 41 82 00 24 */ beq lbl_801BD740 /* 801BD720 001BA680 80 7E 03 88 */ lwz r3, 0x388(r30) /* 801BD724 001BA684 28 03 00 00 */ cmplwi r3, 0 /* 801BD728 001BA688 41 82 00 18 */ beq lbl_801BD740 /* 801BD72C 001BA68C 81 83 00 00 */ lwz r12, 0(r3) /* 801BD730 001BA690 38 80 00 01 */ li r4, 1 /* 801BD734 001BA694 81 8C 00 08 */ lwz r12, 8(r12) /* 801BD738 001BA698 7D 89 03 A6 */ mtctr r12 /* 801BD73C 001BA69C 4E 80 04 21 */ bctrl lbl_801BD740: /* 801BD740 001BA6A0 34 1E 03 84 */ addic. r0, r30, 0x384 /* 801BD744 001BA6A4 41 82 00 24 */ beq lbl_801BD768 /* 801BD748 001BA6A8 80 7E 03 84 */ lwz r3, 0x384(r30) /* 801BD74C 001BA6AC 28 03 00 00 */ cmplwi r3, 0 /* 801BD750 001BA6B0 41 82 00 18 */ beq lbl_801BD768 /* 801BD754 001BA6B4 81 83 00 00 */ lwz r12, 0(r3) /* 801BD758 001BA6B8 38 80 00 01 */ li r4, 1 /* 801BD75C 001BA6BC 81 8C 00 08 */ lwz r12, 8(r12) /* 801BD760 001BA6C0 7D 89 03 A6 */ mtctr r12 /* 801BD764 001BA6C4 4E 80 04 21 */ bctrl lbl_801BD768: /* 801BD768 001BA6C8 34 1E 03 78 */ addic. r0, r30, 0x378 /* 801BD76C 001BA6CC 41 82 00 18 */ beq lbl_801BD784 /* 801BD770 001BA6D0 34 1E 03 78 */ addic. r0, r30, 0x378 /* 801BD774 001BA6D4 41 82 00 10 */ beq lbl_801BD784 /* 801BD778 001BA6D8 38 7E 03 78 */ addi r3, r30, 0x378 /* 801BD77C 001BA6DC 38 80 00 00 */ li r4, 0 /* 801BD780 001BA6E0 48 18 36 C1 */ bl __dt__6CTokenFv lbl_801BD784: /* 801BD784 001BA6E4 34 1E 03 6C */ addic. r0, r30, 0x36c /* 801BD788 001BA6E8 41 82 00 18 */ beq lbl_801BD7A0 /* 801BD78C 001BA6EC 34 1E 03 6C */ addic. r0, r30, 0x36c /* 801BD790 001BA6F0 41 82 00 10 */ beq lbl_801BD7A0 /* 801BD794 001BA6F4 38 7E 03 6C */ addi r3, r30, 0x36c /* 801BD798 001BA6F8 38 80 00 00 */ li r4, 0 /* 801BD79C 001BA6FC 48 18 36 A5 */ bl __dt__6CTokenFv lbl_801BD7A0: /* 801BD7A0 001BA700 34 1E 03 60 */ addic. r0, r30, 0x360 /* 801BD7A4 001BA704 41 82 00 18 */ beq lbl_801BD7BC /* 801BD7A8 001BA708 34 1E 03 60 */ addic. r0, r30, 0x360 /* 801BD7AC 001BA70C 41 82 00 10 */ beq lbl_801BD7BC /* 801BD7B0 001BA710 38 7E 03 60 */ addi r3, r30, 0x360 /* 801BD7B4 001BA714 38 80 00 00 */ li r4, 0 /* 801BD7B8 001BA718 48 18 36 89 */ bl __dt__6CTokenFv lbl_801BD7BC: /* 801BD7BC 001BA71C 34 1E 03 54 */ addic. r0, r30, 0x354 /* 801BD7C0 001BA720 41 82 00 18 */ beq lbl_801BD7D8 /* 801BD7C4 001BA724 34 1E 03 54 */ addic. r0, r30, 0x354 /* 801BD7C8 001BA728 41 82 00 10 */ beq lbl_801BD7D8 /* 801BD7CC 001BA72C 38 7E 03 54 */ addi r3, r30, 0x354 /* 801BD7D0 001BA730 38 80 00 00 */ li r4, 0 /* 801BD7D4 001BA734 48 18 36 6D */ bl __dt__6CTokenFv lbl_801BD7D8: /* 801BD7D8 001BA738 7F C3 F3 78 */ mr r3, r30 /* 801BD7DC 001BA73C 38 80 00 00 */ li r4, 0 /* 801BD7E0 001BA740 4B E7 9C 21 */ bl __dt__15CGameProjectileFv /* 801BD7E4 001BA744 7F E0 07 35 */ extsh. r0, r31 /* 801BD7E8 001BA748 40 81 00 0C */ ble lbl_801BD7F4 /* 801BD7EC 001BA74C 7F C3 F3 78 */ mr r3, r30 /* 801BD7F0 001BA750 48 15 81 41 */ bl Free__7CMemoryFPCv lbl_801BD7F4: /* 801BD7F4 001BA754 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BD7F8 001BA758 7F C3 F3 78 */ mr r3, r30 /* 801BD7FC 001BA75C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801BD800 001BA760 83 C1 00 08 */ lwz r30, 8(r1) /* 801BD804 001BA764 7C 08 03 A6 */ mtlr r0 /* 801BD808 001BA768 38 21 00 10 */ addi r1, r1, 0x10 /* 801BD80C 001BA76C 4E 80 00 20 */ blr .global sub_801bd810 sub_801bd810: /* 801BD810 001BA770 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801BD814 001BA774 7C 08 02 A6 */ mflr r0 /* 801BD818 001BA778 90 01 00 34 */ stw r0, 0x34(r1) /* 801BD81C 001BA77C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801BD820 001BA780 7C 7F 1B 78 */ mr r31, r3 /* 801BD824 001BA784 88 04 03 D0 */ lbz r0, 0x3d0(r4) /* 801BD828 001BA788 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 801BD82C 001BA78C 41 82 00 10 */ beq lbl_801BD83C /* 801BD830 001BA790 38 00 00 00 */ li r0, 0 /* 801BD834 001BA794 98 1F 00 18 */ stb r0, 0x18(r31) /* 801BD838 001BA798 48 00 00 4C */ b lbl_801BD884 lbl_801BD83C: /* 801BD83C 001BA79C 38 61 00 08 */ addi r3, r1, 8 /* 801BD840 001BA7A0 4B E7 CA B9 */ bl GetProjectileBounds__15CGameProjectileCFv /* 801BD844 001BA7A4 38 00 00 01 */ li r0, 1 /* 801BD848 001BA7A8 28 1F 00 00 */ cmplwi r31, 0 /* 801BD84C 001BA7AC 98 1F 00 18 */ stb r0, 0x18(r31) /* 801BD850 001BA7B0 41 82 00 34 */ beq lbl_801BD884 /* 801BD854 001BA7B4 C0 01 00 08 */ lfs f0, 8(r1) /* 801BD858 001BA7B8 D0 1F 00 00 */ stfs f0, 0(r31) /* 801BD85C 001BA7BC C0 01 00 0C */ lfs f0, 0xc(r1) /* 801BD860 001BA7C0 D0 1F 00 04 */ stfs f0, 4(r31) /* 801BD864 001BA7C4 C0 01 00 10 */ lfs f0, 0x10(r1) /* 801BD868 001BA7C8 D0 1F 00 08 */ stfs f0, 8(r31) /* 801BD86C 001BA7CC C0 01 00 14 */ lfs f0, 0x14(r1) /* 801BD870 001BA7D0 D0 1F 00 0C */ stfs f0, 0xc(r31) /* 801BD874 001BA7D4 C0 01 00 18 */ lfs f0, 0x18(r1) /* 801BD878 001BA7D8 D0 1F 00 10 */ stfs f0, 0x10(r31) /* 801BD87C 001BA7DC C0 01 00 1C */ lfs f0, 0x1c(r1) /* 801BD880 001BA7E0 D0 1F 00 14 */ stfs f0, 0x14(r31) lbl_801BD884: /* 801BD884 001BA7E4 80 01 00 34 */ lwz r0, 0x34(r1) /* 801BD888 001BA7E8 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801BD88C 001BA7EC 7C 08 03 A6 */ mtlr r0 /* 801BD890 001BA7F0 38 21 00 30 */ addi r1, r1, 0x30 /* 801BD894 001BA7F4 4E 80 00 20 */ blr .global sub_801bd898 sub_801bd898: /* 801BD898 001BA7F8 94 21 FF 70 */ stwu r1, -0x90(r1) /* 801BD89C 001BA7FC 7C 08 02 A6 */ mflr r0 /* 801BD8A0 001BA800 90 01 00 94 */ stw r0, 0x94(r1) /* 801BD8A4 001BA804 DB E1 00 80 */ stfd f31, 0x80(r1) /* 801BD8A8 001BA808 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0 /* 801BD8AC 001BA80C 93 E1 00 7C */ stw r31, 0x7c(r1) /* 801BD8B0 001BA810 93 C1 00 78 */ stw r30, 0x78(r1) /* 801BD8B4 001BA814 93 A1 00 74 */ stw r29, 0x74(r1) /* 801BD8B8 001BA818 88 07 00 20 */ lbz r0, 0x20(r7) /* 801BD8BC 001BA81C FF E0 08 90 */ fmr f31, f1 /* 801BD8C0 001BA820 7C 7D 1B 78 */ mr r29, r3 /* 801BD8C4 001BA824 7D 1E 43 78 */ mr r30, r8 /* 801BD8C8 001BA828 28 00 00 00 */ cmplwi r0, 0 /* 801BD8CC 001BA82C 38 00 00 00 */ li r0, 0 /* 801BD8D0 001BA830 40 82 00 0C */ bne lbl_801BD8DC /* 801BD8D4 001BA834 38 00 00 01 */ li r0, 1 /* 801BD8D8 001BA838 48 00 00 1C */ b lbl_801BD8F4 lbl_801BD8DC: /* 801BD8DC 001BA83C C0 27 00 00 */ lfs f1, 0(r7) /* 801BD8E0 001BA840 C0 05 00 00 */ lfs f0, 0(r5) /* 801BD8E4 001BA844 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801BD8E8 001BA848 4C 41 13 82 */ cror 2, 1, 2 /* 801BD8EC 001BA84C 40 82 00 08 */ bne lbl_801BD8F4 /* 801BD8F0 001BA850 38 00 00 01 */ li r0, 1 lbl_801BD8F4: /* 801BD8F4 001BA854 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 801BD8F8 001BA858 41 82 00 F4 */ beq lbl_801BD9EC /* 801BD8FC 001BA85C 88 06 00 20 */ lbz r0, 0x20(r6) /* 801BD900 001BA860 28 00 00 00 */ cmplwi r0, 0 /* 801BD904 001BA864 41 82 00 E0 */ beq lbl_801BD9E4 /* 801BD908 001BA868 A0 04 00 00 */ lhz r0, 0(r4) /* 801BD90C 001BA86C 7F C3 F3 78 */ mr r3, r30 /* 801BD910 001BA870 38 81 00 20 */ addi r4, r1, 0x20 /* 801BD914 001BA874 B0 01 00 20 */ sth r0, 0x20(r1) /* 801BD918 001BA878 4B E8 EC 5D */ bl ObjectById__13CStateManagerF9TUniqueId /* 801BD91C 001BA87C 7C 64 1B 78 */ mr r4, r3 /* 801BD920 001BA880 38 61 00 24 */ addi r3, r1, 0x24 /* 801BD924 001BA884 4B EF 23 6D */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 801BD928 001BA888 83 E3 00 04 */ lwz r31, 4(r3) /* 801BD92C 001BA88C 28 1F 00 00 */ cmplwi r31, 0 /* 801BD930 001BA890 41 82 00 B4 */ beq lbl_801BD9E4 /* 801BD934 001BA894 7F E3 FB 78 */ mr r3, r31 /* 801BD938 001BA898 7F A4 EB 78 */ mr r4, r29 /* 801BD93C 001BA89C 81 9F 00 00 */ lwz r12, 0(r31) /* 801BD940 001BA8A0 7F C5 F3 78 */ mr r5, r30 /* 801BD944 001BA8A4 81 8C 00 44 */ lwz r12, 0x44(r12) /* 801BD948 001BA8A8 7D 89 03 A6 */ mtctr r12 /* 801BD94C 001BA8AC 4E 80 04 21 */ bctrl /* 801BD950 001BA8B0 C0 7D 00 58 */ lfs f3, 0x58(r29) /* 801BD954 001BA8B4 FC 20 F8 90 */ fmr f1, f31 /* 801BD958 001BA8B8 C0 5D 00 48 */ lfs f2, 0x48(r29) /* 801BD95C 001BA8BC 38 61 00 50 */ addi r3, r1, 0x50 /* 801BD960 001BA8C0 C0 1D 00 38 */ lfs f0, 0x38(r29) /* 801BD964 001BA8C4 38 9D 01 2C */ addi r4, r29, 0x12c /* 801BD968 001BA8C8 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 801BD96C 001BA8CC D0 41 00 30 */ stfs f2, 0x30(r1) /* 801BD970 001BA8D0 D0 61 00 34 */ stfs f3, 0x34(r1) /* 801BD974 001BA8D4 80 1D 00 F8 */ lwz r0, 0xf8(r29) /* 801BD978 001BA8D8 80 BD 00 FC */ lwz r5, 0xfc(r29) /* 801BD97C 001BA8DC 90 A1 00 3C */ stw r5, 0x3c(r1) /* 801BD980 001BA8E0 90 01 00 38 */ stw r0, 0x38(r1) /* 801BD984 001BA8E4 80 1D 01 00 */ lwz r0, 0x100(r29) /* 801BD988 001BA8E8 80 BD 01 04 */ lwz r5, 0x104(r29) /* 801BD98C 001BA8EC 90 A1 00 44 */ stw r5, 0x44(r1) /* 801BD990 001BA8F0 90 01 00 40 */ stw r0, 0x40(r1) /* 801BD994 001BA8F4 80 1D 01 08 */ lwz r0, 0x108(r29) /* 801BD998 001BA8F8 90 01 00 48 */ stw r0, 0x48(r1) /* 801BD99C 001BA8FC 4B F0 5A AD */ bl __ct__11CDamageInfoFRC11CDamageInfof /* 801BD9A0 001BA900 A0 1D 00 EC */ lhz r0, 0xec(r29) /* 801BD9A4 001BA904 7F C3 F3 78 */ mr r3, r30 /* 801BD9A8 001BA908 38 81 00 1C */ addi r4, r1, 0x1c /* 801BD9AC 001BA90C 38 A1 00 14 */ addi r5, r1, 0x14 /* 801BD9B0 001BA910 B0 01 00 0C */ sth r0, 0xc(r1) /* 801BD9B4 001BA914 38 C1 00 0C */ addi r6, r1, 0xc /* 801BD9B8 001BA918 38 E1 00 50 */ addi r7, r1, 0x50 /* 801BD9BC 001BA91C 39 01 00 38 */ addi r8, r1, 0x38 /* 801BD9C0 001BA920 A1 5F 00 08 */ lhz r10, 8(r31) /* 801BD9C4 001BA924 39 21 00 2C */ addi r9, r1, 0x2c /* 801BD9C8 001BA928 B0 01 00 08 */ sth r0, 8(r1) /* 801BD9CC 001BA92C B1 41 00 14 */ sth r10, 0x14(r1) /* 801BD9D0 001BA930 A0 1D 00 08 */ lhz r0, 8(r29) /* 801BD9D4 001BA934 B1 41 00 10 */ sth r10, 0x10(r1) /* 801BD9D8 001BA938 B0 01 00 18 */ sth r0, 0x18(r1) /* 801BD9DC 001BA93C B0 01 00 1C */ sth r0, 0x1c(r1) /* 801BD9E0 001BA940 4B E8 C6 C1 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f lbl_801BD9E4: /* 801BD9E4 001BA944 38 60 00 01 */ li r3, 1 /* 801BD9E8 001BA948 48 00 00 08 */ b lbl_801BD9F0 lbl_801BD9EC: /* 801BD9EC 001BA94C 38 60 00 00 */ li r3, 0 lbl_801BD9F0: /* 801BD9F0 001BA950 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0 /* 801BD9F4 001BA954 80 01 00 94 */ lwz r0, 0x94(r1) /* 801BD9F8 001BA958 CB E1 00 80 */ lfd f31, 0x80(r1) /* 801BD9FC 001BA95C 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 801BDA00 001BA960 83 C1 00 78 */ lwz r30, 0x78(r1) /* 801BDA04 001BA964 83 A1 00 74 */ lwz r29, 0x74(r1) /* 801BDA08 001BA968 7C 08 03 A6 */ mtlr r0 /* 801BDA0C 001BA96C 38 21 00 90 */ addi r1, r1, 0x90 /* 801BDA10 001BA970 4E 80 00 20 */ blr .global sub_801bda14 sub_801bda14: /* 801BDA14 001BA974 94 21 F4 70 */ stwu r1, -0xb90(r1) /* 801BDA18 001BA978 7C 08 02 A6 */ mflr r0 /* 801BDA1C 001BA97C 90 01 0B 94 */ stw r0, 0xb94(r1) /* 801BDA20 001BA980 DB E1 0B 80 */ stfd f31, 0xb80(r1) /* 801BDA24 001BA984 F3 E1 0B 88 */ psq_st f31, -1144(r1), 0, qr0 /* 801BDA28 001BA988 DB C1 0B 70 */ stfd f30, 0xb70(r1) /* 801BDA2C 001BA98C F3 C1 0B 78 */ psq_st f30, -1160(r1), 0, qr0 /* 801BDA30 001BA990 BE 41 0B 38 */ stmw r18, 0xb38(r1) /* 801BDA34 001BA994 C0 62 A9 F8 */ lfs f3, lbl_805AC718@sda21(r2) /* 801BDA38 001BA998 38 00 00 00 */ li r0, 0 /* 801BDA3C 001BA99C C0 42 AA 00 */ lfs f2, lbl_805AC720@sda21(r2) /* 801BDA40 001BA9A0 FF C0 08 90 */ fmr f30, f1 /* 801BDA44 001BA9A4 C0 22 A9 FC */ lfs f1, lbl_805AC71C@sda21(r2) /* 801BDA48 001BA9A8 7C 78 1B 78 */ mr r24, r3 /* 801BDA4C 001BA9AC C0 02 AA 04 */ lfs f0, lbl_805AC724@sda21(r2) /* 801BDA50 001BA9B0 7C 99 23 78 */ mr r25, r4 /* 801BDA54 001BA9B4 7C BA 2B 78 */ mr r26, r5 /* 801BDA58 001BA9B8 90 01 03 28 */ stw r0, 0x328(r1) /* 801BDA5C 001BA9BC 7C DB 33 78 */ mr r27, r6 /* 801BDA60 001BA9C0 7C FC 3B 78 */ mr r28, r7 /* 801BDA64 001BA9C4 7D 1D 43 78 */ mr r29, r8 /* 801BDA68 001BA9C8 D0 61 00 20 */ stfs f3, 0x20(r1) /* 801BDA6C 001BA9CC 7D 3E 4B 78 */ mr r30, r9 /* 801BDA70 001BA9D0 7D 5F 53 78 */ mr r31, r10 /* 801BDA74 001BA9D4 38 61 00 A0 */ addi r3, r1, 0xa0 /* 801BDA78 001BA9D8 D0 21 00 24 */ stfs f1, 0x24(r1) /* 801BDA7C 001BA9DC 38 81 00 2C */ addi r4, r1, 0x2c /* 801BDA80 001BA9E0 38 A1 00 20 */ addi r5, r1, 0x20 /* 801BDA84 001BA9E4 D0 61 00 28 */ stfs f3, 0x28(r1) /* 801BDA88 001BA9E8 D0 41 00 2C */ stfs f2, 0x2c(r1) /* 801BDA8C 001BA9EC D0 01 00 30 */ stfs f0, 0x30(r1) /* 801BDA90 001BA9F0 D0 41 00 34 */ stfs f2, 0x34(r1) /* 801BDA94 001BA9F4 48 17 AA 75 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f /* 801BDA98 001BA9F8 7C 64 1B 78 */ mr r4, r3 /* 801BDA9C 001BA9FC 38 61 00 B8 */ addi r3, r1, 0xb8 /* 801BDAA0 001BAA00 38 B8 02 E8 */ addi r5, r24, 0x2e8 /* 801BDAA4 001BAA04 48 17 9E 59 */ bl GetTransformedAABox__6CAABoxCFRC12CTransform4f /* 801BDAA8 001BAA08 C0 A1 00 B8 */ lfs f5, 0xb8(r1) /* 801BDAAC 001BAA0C 38 60 00 00 */ li r3, 0 /* 801BDAB0 001BAA10 C0 81 00 BC */ lfs f4, 0xbc(r1) /* 801BDAB4 001BAA14 38 80 00 01 */ li r4, 1 /* 801BDAB8 001BAA18 C0 61 00 C0 */ lfs f3, 0xc0(r1) /* 801BDABC 001BAA1C C0 41 00 C4 */ lfs f2, 0xc4(r1) /* 801BDAC0 001BAA20 C0 21 00 C8 */ lfs f1, 0xc8(r1) /* 801BDAC4 001BAA24 C0 01 00 CC */ lfs f0, 0xcc(r1) /* 801BDAC8 001BAA28 80 AD 91 0C */ lwz r5, lbl_805A7CCC@sda21(r13) /* 801BDACC 001BAA2C D0 A1 00 EC */ stfs f5, 0xec(r1) /* 801BDAD0 001BAA30 D0 81 00 F0 */ stfs f4, 0xf0(r1) /* 801BDAD4 001BAA34 D0 61 00 F4 */ stfs f3, 0xf4(r1) /* 801BDAD8 001BAA38 D0 41 00 F8 */ stfs f2, 0xf8(r1) /* 801BDADC 001BAA3C D0 21 00 FC */ stfs f1, 0xfc(r1) /* 801BDAE0 001BAA40 D0 01 01 00 */ stfs f0, 0x100(r1) /* 801BDAE4 001BAA44 48 1C C4 11 */ bl __shl2i /* 801BDAE8 001BAA48 80 AD 91 10 */ lwz r5, lbl_805A7CD0@sda21(r13) /* 801BDAEC 001BAA4C 7C 93 23 78 */ mr r19, r4 /* 801BDAF0 001BAA50 7C 72 1B 78 */ mr r18, r3 /* 801BDAF4 001BAA54 38 60 00 00 */ li r3, 0 /* 801BDAF8 001BAA58 38 80 00 01 */ li r4, 1 /* 801BDAFC 001BAA5C 48 1C C3 F9 */ bl __shl2i /* 801BDB00 001BAA60 7E 73 23 78 */ or r19, r19, r4 /* 801BDB04 001BAA64 7E 52 1B 78 */ or r18, r18, r3 /* 801BDB08 001BAA68 38 60 FF FF */ li r3, -1 /* 801BDB0C 001BAA6C 38 80 00 00 */ li r4, 0 /* 801BDB10 001BAA70 38 00 00 02 */ li r0, 2 /* 801BDB14 001BAA74 90 61 00 8C */ stw r3, 0x8c(r1) /* 801BDB18 001BAA78 7F 23 CB 78 */ mr r3, r25 /* 801BDB1C 001BAA7C 7F 07 C3 78 */ mr r7, r24 /* 801BDB20 001BAA80 90 81 00 88 */ stw r4, 0x88(r1) /* 801BDB24 001BAA84 38 81 03 28 */ addi r4, r1, 0x328 /* 801BDB28 001BAA88 38 A1 00 EC */ addi r5, r1, 0xec /* 801BDB2C 001BAA8C 38 C1 00 88 */ addi r6, r1, 0x88 /* 801BDB30 001BAA90 92 61 00 94 */ stw r19, 0x94(r1) /* 801BDB34 001BAA94 92 41 00 90 */ stw r18, 0x90(r1) /* 801BDB38 001BAA98 90 01 00 98 */ stw r0, 0x98(r1) /* 801BDB3C 001BAA9C 4B E8 EB E5 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor" /* 801BDB40 001BAAA0 C0 02 AA 04 */ lfs f0, lbl_805AC724@sda21(r2) /* 801BDB44 001BAAA4 FC 1E 00 40 */ fcmpo cr0, f30, f0 /* 801BDB48 001BAAA8 40 81 00 0C */ ble lbl_801BDB54 /* 801BDB4C 001BAAAC FC 00 F0 90 */ fmr f0, f30 /* 801BDB50 001BAAB0 48 00 00 08 */ b lbl_801BDB58 lbl_801BDB54: /* 801BDB54 001BAAB4 C0 02 AA 08 */ lfs f0, lbl_805AC728@sda21(r2) lbl_801BDB58: /* 801BDB58 001BAAB8 FF E0 00 90 */ fmr f31, f0 /* 801BDB5C 001BAABC 3A C1 03 2C */ addi r22, r1, 0x32c /* 801BDB60 001BAAC0 FF C0 00 90 */ fmr f30, f0 /* 801BDB64 001BAAC4 7E D5 B3 78 */ mr r21, r22 /* 801BDB68 001BAAC8 3A 81 02 F4 */ addi r20, r1, 0x2f4 /* 801BDB6C 001BAACC 3A E1 02 84 */ addi r23, r1, 0x284 /* 801BDB70 001BAAD0 48 00 04 18 */ b lbl_801BDF88 lbl_801BDB74: /* 801BDB74 001BAAD4 A0 15 00 00 */ lhz r0, 0(r21) /* 801BDB78 001BAAD8 7F 23 CB 78 */ mr r3, r25 /* 801BDB7C 001BAADC 38 81 00 0C */ addi r4, r1, 0xc /* 801BDB80 001BAAE0 B0 01 00 0C */ sth r0, 0xc(r1) /* 801BDB84 001BAAE4 4B E8 EA 21 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 801BDB88 001BAAE8 7C 64 1B 78 */ mr r4, r3 /* 801BDB8C 001BAAEC 38 61 00 18 */ addi r3, r1, 0x18 /* 801BDB90 001BAAF0 4B EE EB 55 */ bl "__ct__27TCastToPtr<13CPhysicsActor>FP7CEntity" /* 801BDB94 001BAAF4 82 63 00 04 */ lwz r19, 4(r3) /* 801BDB98 001BAAF8 28 13 00 00 */ cmplwi r19, 0 /* 801BDB9C 001BAAFC 41 82 01 54 */ beq lbl_801BDCF0 /* 801BDBA0 001BAB00 7E 64 9B 78 */ mr r4, r19 /* 801BDBA4 001BAB04 38 61 01 60 */ addi r3, r1, 0x160 /* 801BDBA8 001BAB08 81 93 00 00 */ lwz r12, 0(r19) /* 801BDBAC 001BAB0C 81 8C 00 70 */ lwz r12, 0x70(r12) /* 801BDBB0 001BAB10 7D 89 03 A6 */ mtctr r12 /* 801BDBB4 001BAB14 4E 80 04 21 */ bctrl /* 801BDBB8 001BAB18 80 18 00 F8 */ lwz r0, 0xf8(r24) /* 801BDBBC 001BAB1C 7E 63 9B 78 */ mr r3, r19 /* 801BDBC0 001BAB20 80 98 00 FC */ lwz r4, 0xfc(r24) /* 801BDBC4 001BAB24 90 81 00 74 */ stw r4, 0x74(r1) /* 801BDBC8 001BAB28 90 01 00 70 */ stw r0, 0x70(r1) /* 801BDBCC 001BAB2C 80 18 01 00 */ lwz r0, 0x100(r24) /* 801BDBD0 001BAB30 80 98 01 04 */ lwz r4, 0x104(r24) /* 801BDBD4 001BAB34 90 81 00 7C */ stw r4, 0x7c(r1) /* 801BDBD8 001BAB38 90 01 00 78 */ stw r0, 0x78(r1) /* 801BDBDC 001BAB3C 80 18 01 08 */ lwz r0, 0x108(r24) /* 801BDBE0 001BAB40 90 01 00 80 */ stw r0, 0x80(r1) /* 801BDBE4 001BAB44 81 93 00 00 */ lwz r12, 0(r19) /* 801BDBE8 001BAB48 81 8C 00 6C */ lwz r12, 0x6c(r12) /* 801BDBEC 001BAB4C 7D 89 03 A6 */ mtctr r12 /* 801BDBF0 001BAB50 4E 80 04 21 */ bctrl /* 801BDBF4 001BAB54 FC 20 F8 90 */ fmr f1, f31 /* 801BDBF8 001BAB58 7C 72 1B 78 */ mr r18, r3 /* 801BDBFC 001BAB5C 7F 84 E3 78 */ mr r4, r28 /* 801BDC00 001BAB60 7F A5 EB 78 */ mr r5, r29 /* 801BDC04 001BAB64 38 61 02 B8 */ addi r3, r1, 0x2b8 /* 801BDC08 001BAB68 48 11 84 65 */ bl __ct__5CMRayFRC9CVector3fRC9CVector3ff /* 801BDC0C 001BAB6C D3 E1 02 F0 */ stfs f31, 0x2f0(r1) /* 801BDC10 001BAB70 7E 83 A3 78 */ mr r3, r20 /* 801BDC14 001BAB74 38 81 01 60 */ addi r4, r1, 0x160 /* 801BDC18 001BAB78 48 15 4F 5D */ bl __ct__12CTransform4fFRC12CTransform4f /* 801BDC1C 001BAB7C 38 01 00 70 */ addi r0, r1, 0x70 /* 801BDC20 001BAB80 7E 44 93 78 */ mr r4, r18 /* 801BDC24 001BAB84 90 01 03 24 */ stw r0, 0x324(r1) /* 801BDC28 001BAB88 38 61 01 90 */ addi r3, r1, 0x190 /* 801BDC2C 001BAB8C 38 A1 02 B8 */ addi r5, r1, 0x2b8 /* 801BDC30 001BAB90 81 92 00 00 */ lwz r12, 0(r18) /* 801BDC34 001BAB94 81 8C 00 24 */ lwz r12, 0x24(r12) /* 801BDC38 001BAB98 7D 89 03 A6 */ mtctr r12 /* 801BDC3C 001BAB9C 4E 80 04 21 */ bctrl /* 801BDC40 001BABA0 88 81 01 B0 */ lbz r4, 0x1b0(r1) /* 801BDC44 001BABA4 C0 E1 01 90 */ lfs f7, 0x190(r1) /* 801BDC48 001BABA8 C0 C1 01 94 */ lfs f6, 0x194(r1) /* 801BDC4C 001BABAC 28 04 00 00 */ cmplwi r4, 0 /* 801BDC50 001BABB0 C0 A1 01 98 */ lfs f5, 0x198(r1) /* 801BDC54 001BABB4 C0 01 01 9C */ lfs f0, 0x19c(r1) /* 801BDC58 001BABB8 C0 81 01 A0 */ lfs f4, 0x1a0(r1) /* 801BDC5C 001BABBC C0 61 01 A4 */ lfs f3, 0x1a4(r1) /* 801BDC60 001BABC0 C0 41 01 A8 */ lfs f2, 0x1a8(r1) /* 801BDC64 001BABC4 C0 21 01 AC */ lfs f1, 0x1ac(r1) /* 801BDC68 001BABC8 80 01 01 B8 */ lwz r0, 0x1b8(r1) /* 801BDC6C 001BABCC 80 61 01 BC */ lwz r3, 0x1bc(r1) /* 801BDC70 001BABD0 D0 E1 02 18 */ stfs f7, 0x218(r1) /* 801BDC74 001BABD4 D0 C1 02 1C */ stfs f6, 0x21c(r1) /* 801BDC78 001BABD8 D0 A1 02 20 */ stfs f5, 0x220(r1) /* 801BDC7C 001BABDC D0 01 02 24 */ stfs f0, 0x224(r1) /* 801BDC80 001BABE0 D0 81 02 28 */ stfs f4, 0x228(r1) /* 801BDC84 001BABE4 D0 61 02 2C */ stfs f3, 0x22c(r1) /* 801BDC88 001BABE8 D0 41 02 30 */ stfs f2, 0x230(r1) /* 801BDC8C 001BABEC D0 21 02 34 */ stfs f1, 0x234(r1) /* 801BDC90 001BABF0 98 81 02 38 */ stb r4, 0x238(r1) /* 801BDC94 001BABF4 90 61 02 44 */ stw r3, 0x244(r1) /* 801BDC98 001BABF8 90 01 02 40 */ stw r0, 0x240(r1) /* 801BDC9C 001BABFC 41 82 02 E8 */ beq lbl_801BDF84 /* 801BDCA0 001BAC00 FC 07 F8 40 */ fcmpo cr0, f7, f31 /* 801BDCA4 001BAC04 40 80 02 E0 */ bge lbl_801BDF84 /* 801BDCA8 001BAC08 D0 FE 00 00 */ stfs f7, 0(r30) /* 801BDCAC 001BAC0C FF E0 38 90 */ fmr f31, f7 /* 801BDCB0 001BAC10 80 01 02 1C */ lwz r0, 0x21c(r1) /* 801BDCB4 001BAC14 80 61 02 20 */ lwz r3, 0x220(r1) /* 801BDCB8 001BAC18 90 1E 00 04 */ stw r0, 4(r30) /* 801BDCBC 001BAC1C 80 01 02 24 */ lwz r0, 0x224(r1) /* 801BDCC0 001BAC20 90 7E 00 08 */ stw r3, 8(r30) /* 801BDCC4 001BAC24 C8 01 02 40 */ lfd f0, 0x240(r1) /* 801BDCC8 001BAC28 90 1E 00 0C */ stw r0, 0xc(r30) /* 801BDCCC 001BAC2C D0 9E 00 10 */ stfs f4, 0x10(r30) /* 801BDCD0 001BAC30 D0 7E 00 14 */ stfs f3, 0x14(r30) /* 801BDCD4 001BAC34 D0 5E 00 18 */ stfs f2, 0x18(r30) /* 801BDCD8 001BAC38 D0 3E 00 1C */ stfs f1, 0x1c(r30) /* 801BDCDC 001BAC3C 98 9E 00 20 */ stb r4, 0x20(r30) /* 801BDCE0 001BAC40 D8 1E 00 28 */ stfd f0, 0x28(r30) /* 801BDCE4 001BAC44 A0 13 00 08 */ lhz r0, 8(r19) /* 801BDCE8 001BAC48 B0 1A 00 00 */ sth r0, 0(r26) /* 801BDCEC 001BAC4C 48 00 02 98 */ b lbl_801BDF84 lbl_801BDCF0: /* 801BDCF0 001BAC50 A0 15 00 00 */ lhz r0, 0(r21) /* 801BDCF4 001BAC54 7F 23 CB 78 */ mr r3, r25 /* 801BDCF8 001BAC58 38 81 00 08 */ addi r4, r1, 8 /* 801BDCFC 001BAC5C B0 01 00 08 */ sth r0, 8(r1) /* 801BDD00 001BAC60 4B E8 E8 A5 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 801BDD04 001BAC64 7C 64 1B 78 */ mr r4, r3 /* 801BDD08 001BAC68 38 61 00 10 */ addi r3, r1, 0x10 /* 801BDD0C 001BAC6C 4B EF 1F 85 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 801BDD10 001BAC70 82 63 00 04 */ lwz r19, 4(r3) /* 801BDD14 001BAC74 28 13 00 00 */ cmplwi r19, 0 /* 801BDD18 001BAC78 41 82 02 6C */ beq lbl_801BDF84 /* 801BDD1C 001BAC7C 7E 64 9B 78 */ mr r4, r19 /* 801BDD20 001BAC80 38 61 00 50 */ addi r3, r1, 0x50 /* 801BDD24 001BAC84 81 93 00 00 */ lwz r12, 0(r19) /* 801BDD28 001BAC88 81 8C 00 40 */ lwz r12, 0x40(r12) /* 801BDD2C 001BAC8C 7D 89 03 A6 */ mtctr r12 /* 801BDD30 001BAC90 4E 80 04 21 */ bctrl /* 801BDD34 001BAC94 88 01 00 68 */ lbz r0, 0x68(r1) /* 801BDD38 001BAC98 28 00 00 00 */ cmplwi r0, 0 /* 801BDD3C 001BAC9C 98 01 00 E8 */ stb r0, 0xe8(r1) /* 801BDD40 001BACA0 41 82 00 3C */ beq lbl_801BDD7C /* 801BDD44 001BACA4 34 61 00 D0 */ addic. r3, r1, 0xd0 /* 801BDD48 001BACA8 41 82 00 34 */ beq lbl_801BDD7C /* 801BDD4C 001BACAC C0 01 00 50 */ lfs f0, 0x50(r1) /* 801BDD50 001BACB0 D0 03 00 00 */ stfs f0, 0(r3) /* 801BDD54 001BACB4 C0 01 00 54 */ lfs f0, 0x54(r1) /* 801BDD58 001BACB8 D0 03 00 04 */ stfs f0, 4(r3) /* 801BDD5C 001BACBC C0 01 00 58 */ lfs f0, 0x58(r1) /* 801BDD60 001BACC0 D0 03 00 08 */ stfs f0, 8(r3) /* 801BDD64 001BACC4 C0 01 00 5C */ lfs f0, 0x5c(r1) /* 801BDD68 001BACC8 D0 03 00 0C */ stfs f0, 0xc(r3) /* 801BDD6C 001BACCC C0 01 00 60 */ lfs f0, 0x60(r1) /* 801BDD70 001BACD0 D0 03 00 10 */ stfs f0, 0x10(r3) /* 801BDD74 001BACD4 C0 01 00 64 */ lfs f0, 0x64(r1) /* 801BDD78 001BACD8 D0 03 00 14 */ stfs f0, 0x14(r3) lbl_801BDD7C: /* 801BDD7C 001BACDC 88 01 00 E8 */ lbz r0, 0xe8(r1) /* 801BDD80 001BACE0 38 60 00 00 */ li r3, 0 /* 801BDD84 001BACE4 98 61 00 68 */ stb r3, 0x68(r1) /* 801BDD88 001BACE8 28 00 00 00 */ cmplwi r0, 0 /* 801BDD8C 001BACEC 40 82 00 0C */ bne lbl_801BDD98 /* 801BDD90 001BACF0 98 61 00 E8 */ stb r3, 0xe8(r1) /* 801BDD94 001BACF4 48 00 01 F0 */ b lbl_801BDF84 lbl_801BDD98: /* 801BDD98 001BACF8 38 61 01 38 */ addi r3, r1, 0x138 /* 801BDD9C 001BACFC 38 93 00 68 */ addi r4, r19, 0x68 /* 801BDDA0 001BAD00 48 11 1B 15 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList /* 801BDDA4 001BAD04 3C 60 80 3F */ lis r3, lbl_803ECAD0@ha /* 801BDDA8 001BAD08 C0 C1 00 D0 */ lfs f6, 0xd0(r1) /* 801BDDAC 001BAD0C 39 03 CA D0 */ addi r8, r3, lbl_803ECAD0@l /* 801BDDB0 001BAD10 C0 A1 00 D4 */ lfs f5, 0xd4(r1) /* 801BDDB4 001BAD14 91 01 01 38 */ stw r8, 0x138(r1) /* 801BDDB8 001BAD18 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha /* 801BDDBC 001BAD1C 38 E3 97 E4 */ addi r7, r3, __vt__19CCollisionPrimitive@l /* 801BDDC0 001BAD20 C0 81 00 D8 */ lfs f4, 0xd8(r1) /* 801BDDC4 001BAD24 C0 61 00 DC */ lfs f3, 0xdc(r1) /* 801BDDC8 001BAD28 FC 20 F0 90 */ fmr f1, f30 /* 801BDDCC 001BAD2C C0 41 00 E0 */ lfs f2, 0xe0(r1) /* 801BDDD0 001BAD30 7F 84 E3 78 */ mr r4, r28 /* 801BDDD4 001BAD34 C0 01 00 E4 */ lfs f0, 0xe4(r1) /* 801BDDD8 001BAD38 7F A5 EB 78 */ mr r5, r29 /* 801BDDDC 001BAD3C 90 E1 01 F0 */ stw r7, 0x1f0(r1) /* 801BDDE0 001BAD40 80 01 01 40 */ lwz r0, 0x140(r1) /* 801BDDE4 001BAD44 38 61 02 48 */ addi r3, r1, 0x248 /* 801BDDE8 001BAD48 91 01 01 38 */ stw r8, 0x138(r1) /* 801BDDEC 001BAD4C 80 C1 01 44 */ lwz r6, 0x144(r1) /* 801BDDF0 001BAD50 D0 C1 01 48 */ stfs f6, 0x148(r1) /* 801BDDF4 001BAD54 D0 A1 01 4C */ stfs f5, 0x14c(r1) /* 801BDDF8 001BAD58 D0 81 01 50 */ stfs f4, 0x150(r1) /* 801BDDFC 001BAD5C D0 61 01 54 */ stfs f3, 0x154(r1) /* 801BDE00 001BAD60 D0 41 01 58 */ stfs f2, 0x158(r1) /* 801BDE04 001BAD64 D0 01 01 5C */ stfs f0, 0x15c(r1) /* 801BDE08 001BAD68 90 C1 01 FC */ stw r6, 0x1fc(r1) /* 801BDE0C 001BAD6C 90 01 01 F8 */ stw r0, 0x1f8(r1) /* 801BDE10 001BAD70 91 01 01 F0 */ stw r8, 0x1f0(r1) /* 801BDE14 001BAD74 D0 C1 02 00 */ stfs f6, 0x200(r1) /* 801BDE18 001BAD78 D0 A1 02 04 */ stfs f5, 0x204(r1) /* 801BDE1C 001BAD7C D0 81 02 08 */ stfs f4, 0x208(r1) /* 801BDE20 001BAD80 D0 61 02 0C */ stfs f3, 0x20c(r1) /* 801BDE24 001BAD84 D0 41 02 10 */ stfs f2, 0x210(r1) /* 801BDE28 001BAD88 D0 01 02 14 */ stfs f0, 0x214(r1) /* 801BDE2C 001BAD8C 90 E1 01 38 */ stw r7, 0x138(r1) /* 801BDE30 001BAD90 80 18 00 F8 */ lwz r0, 0xf8(r24) /* 801BDE34 001BAD94 80 D8 00 FC */ lwz r6, 0xfc(r24) /* 801BDE38 001BAD98 90 C1 00 3C */ stw r6, 0x3c(r1) /* 801BDE3C 001BAD9C 90 01 00 38 */ stw r0, 0x38(r1) /* 801BDE40 001BADA0 80 18 01 00 */ lwz r0, 0x100(r24) /* 801BDE44 001BADA4 80 D8 01 04 */ lwz r6, 0x104(r24) /* 801BDE48 001BADA8 90 C1 00 44 */ stw r6, 0x44(r1) /* 801BDE4C 001BADAC 90 01 00 40 */ stw r0, 0x40(r1) /* 801BDE50 001BADB0 80 18 01 08 */ lwz r0, 0x108(r24) /* 801BDE54 001BADB4 90 01 00 48 */ stw r0, 0x48(r1) /* 801BDE58 001BADB8 48 11 82 15 */ bl __ct__5CMRayFRC9CVector3fRC9CVector3ff /* 801BDE5C 001BADBC 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha /* 801BDE60 001BADC0 D3 C1 02 80 */ stfs f30, 0x280(r1) /* 801BDE64 001BADC4 38 83 66 70 */ addi r4, r3, sIdentity__12CTransform4f@l /* 801BDE68 001BADC8 7E E3 BB 78 */ mr r3, r23 /* 801BDE6C 001BADCC 48 15 4D 09 */ bl __ct__12CTransform4fFRC12CTransform4f /* 801BDE70 001BADD0 38 01 00 38 */ addi r0, r1, 0x38 /* 801BDE74 001BADD4 81 81 01 F0 */ lwz r12, 0x1f0(r1) /* 801BDE78 001BADD8 90 01 02 B4 */ stw r0, 0x2b4(r1) /* 801BDE7C 001BADDC 38 61 01 08 */ addi r3, r1, 0x108 /* 801BDE80 001BADE0 38 81 01 F0 */ addi r4, r1, 0x1f0 /* 801BDE84 001BADE4 38 A1 02 48 */ addi r5, r1, 0x248 /* 801BDE88 001BADE8 81 8C 00 24 */ lwz r12, 0x24(r12) /* 801BDE8C 001BADEC 7D 89 03 A6 */ mtctr r12 /* 801BDE90 001BADF0 4E 80 04 21 */ bctrl /* 801BDE94 001BADF4 88 81 01 28 */ lbz r4, 0x128(r1) /* 801BDE98 001BADF8 C0 E1 01 08 */ lfs f7, 0x108(r1) /* 801BDE9C 001BADFC C0 C1 01 0C */ lfs f6, 0x10c(r1) /* 801BDEA0 001BAE00 28 04 00 00 */ cmplwi r4, 0 /* 801BDEA4 001BAE04 C0 A1 01 10 */ lfs f5, 0x110(r1) /* 801BDEA8 001BAE08 C0 01 01 14 */ lfs f0, 0x114(r1) /* 801BDEAC 001BAE0C C0 81 01 18 */ lfs f4, 0x118(r1) /* 801BDEB0 001BAE10 C0 61 01 1C */ lfs f3, 0x11c(r1) /* 801BDEB4 001BAE14 C0 41 01 20 */ lfs f2, 0x120(r1) /* 801BDEB8 001BAE18 C0 21 01 24 */ lfs f1, 0x124(r1) /* 801BDEBC 001BAE1C 80 01 01 30 */ lwz r0, 0x130(r1) /* 801BDEC0 001BAE20 80 61 01 34 */ lwz r3, 0x134(r1) /* 801BDEC4 001BAE24 D0 E1 01 C0 */ stfs f7, 0x1c0(r1) /* 801BDEC8 001BAE28 D0 C1 01 C4 */ stfs f6, 0x1c4(r1) /* 801BDECC 001BAE2C D0 A1 01 C8 */ stfs f5, 0x1c8(r1) /* 801BDED0 001BAE30 D0 01 01 CC */ stfs f0, 0x1cc(r1) /* 801BDED4 001BAE34 D0 81 01 D0 */ stfs f4, 0x1d0(r1) /* 801BDED8 001BAE38 D0 61 01 D4 */ stfs f3, 0x1d4(r1) /* 801BDEDC 001BAE3C D0 41 01 D8 */ stfs f2, 0x1d8(r1) /* 801BDEE0 001BAE40 D0 21 01 DC */ stfs f1, 0x1dc(r1) /* 801BDEE4 001BAE44 98 81 01 E0 */ stb r4, 0x1e0(r1) /* 801BDEE8 001BAE48 90 61 01 EC */ stw r3, 0x1ec(r1) /* 801BDEEC 001BAE4C 90 01 01 E8 */ stw r0, 0x1e8(r1) /* 801BDEF0 001BAE50 40 82 00 28 */ bne lbl_801BDF18 /* 801BDEF4 001BAE54 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha /* 801BDEF8 001BAE58 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha /* 801BDEFC 001BAE5C 38 84 CA D0 */ addi r4, r4, lbl_803ECAD0@l /* 801BDF00 001BAE60 38 00 00 00 */ li r0, 0 /* 801BDF04 001BAE64 90 81 01 F0 */ stw r4, 0x1f0(r1) /* 801BDF08 001BAE68 38 63 97 E4 */ addi r3, r3, __vt__19CCollisionPrimitive@l /* 801BDF0C 001BAE6C 90 61 01 F0 */ stw r3, 0x1f0(r1) /* 801BDF10 001BAE70 98 01 00 E8 */ stb r0, 0xe8(r1) /* 801BDF14 001BAE74 48 00 00 70 */ b lbl_801BDF84 lbl_801BDF18: /* 801BDF18 001BAE78 FC 07 F0 40 */ fcmpo cr0, f7, f30 /* 801BDF1C 001BAE7C 40 80 00 48 */ bge lbl_801BDF64 /* 801BDF20 001BAE80 D0 FF 00 00 */ stfs f7, 0(r31) /* 801BDF24 001BAE84 FF C0 38 90 */ fmr f30, f7 /* 801BDF28 001BAE88 80 01 01 C4 */ lwz r0, 0x1c4(r1) /* 801BDF2C 001BAE8C 80 61 01 C8 */ lwz r3, 0x1c8(r1) /* 801BDF30 001BAE90 90 1F 00 04 */ stw r0, 4(r31) /* 801BDF34 001BAE94 80 01 01 CC */ lwz r0, 0x1cc(r1) /* 801BDF38 001BAE98 90 7F 00 08 */ stw r3, 8(r31) /* 801BDF3C 001BAE9C C8 01 01 E8 */ lfd f0, 0x1e8(r1) /* 801BDF40 001BAEA0 90 1F 00 0C */ stw r0, 0xc(r31) /* 801BDF44 001BAEA4 D0 9F 00 10 */ stfs f4, 0x10(r31) /* 801BDF48 001BAEA8 D0 7F 00 14 */ stfs f3, 0x14(r31) /* 801BDF4C 001BAEAC D0 5F 00 18 */ stfs f2, 0x18(r31) /* 801BDF50 001BAEB0 D0 3F 00 1C */ stfs f1, 0x1c(r31) /* 801BDF54 001BAEB4 98 9F 00 20 */ stb r4, 0x20(r31) /* 801BDF58 001BAEB8 D8 1F 00 28 */ stfd f0, 0x28(r31) /* 801BDF5C 001BAEBC A0 13 00 08 */ lhz r0, 8(r19) /* 801BDF60 001BAEC0 B0 1B 00 00 */ sth r0, 0(r27) lbl_801BDF64: /* 801BDF64 001BAEC4 3C 80 80 3F */ lis r4, lbl_803ECAD0@ha /* 801BDF68 001BAEC8 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha /* 801BDF6C 001BAECC 38 84 CA D0 */ addi r4, r4, lbl_803ECAD0@l /* 801BDF70 001BAED0 38 00 00 00 */ li r0, 0 /* 801BDF74 001BAED4 90 81 01 F0 */ stw r4, 0x1f0(r1) /* 801BDF78 001BAED8 38 63 97 E4 */ addi r3, r3, __vt__19CCollisionPrimitive@l /* 801BDF7C 001BAEDC 90 61 01 F0 */ stw r3, 0x1f0(r1) /* 801BDF80 001BAEE0 98 01 00 E8 */ stb r0, 0xe8(r1) lbl_801BDF84: /* 801BDF84 001BAEE4 3A B5 00 02 */ addi r21, r21, 2 lbl_801BDF88: /* 801BDF88 001BAEE8 80 A1 03 28 */ lwz r5, 0x328(r1) /* 801BDF8C 001BAEEC 54 A0 08 3C */ slwi r0, r5, 1 /* 801BDF90 001BAEF0 7C 16 02 14 */ add r0, r22, r0 /* 801BDF94 001BAEF4 7C 15 00 40 */ cmplw r21, r0 /* 801BDF98 001BAEF8 40 82 FB DC */ bne lbl_801BDB74 /* 801BDF9C 001BAEFC 2C 05 00 00 */ cmpwi r5, 0 /* 801BDFA0 001BAF00 38 60 00 00 */ li r3, 0 /* 801BDFA4 001BAF04 40 81 00 40 */ ble lbl_801BDFE4 /* 801BDFA8 001BAF08 2C 05 00 08 */ cmpwi r5, 8 /* 801BDFAC 001BAF0C 38 85 FF F8 */ addi r4, r5, -8 /* 801BDFB0 001BAF10 40 81 00 20 */ ble lbl_801BDFD0 /* 801BDFB4 001BAF14 38 04 00 07 */ addi r0, r4, 7 /* 801BDFB8 001BAF18 54 00 E8 FE */ srwi r0, r0, 3 /* 801BDFBC 001BAF1C 7C 09 03 A6 */ mtctr r0 /* 801BDFC0 001BAF20 2C 04 00 00 */ cmpwi r4, 0 /* 801BDFC4 001BAF24 40 81 00 0C */ ble lbl_801BDFD0 lbl_801BDFC8: /* 801BDFC8 001BAF28 38 63 00 08 */ addi r3, r3, 8 /* 801BDFCC 001BAF2C 42 00 FF FC */ bdnz lbl_801BDFC8 lbl_801BDFD0: /* 801BDFD0 001BAF30 7C 03 28 50 */ subf r0, r3, r5 /* 801BDFD4 001BAF34 7C 09 03 A6 */ mtctr r0 /* 801BDFD8 001BAF38 7C 03 28 00 */ cmpw r3, r5 /* 801BDFDC 001BAF3C 40 80 00 08 */ bge lbl_801BDFE4 lbl_801BDFE0: /* 801BDFE0 001BAF40 42 00 00 00 */ bdnz lbl_801BDFE0 lbl_801BDFE4: /* 801BDFE4 001BAF44 38 00 00 00 */ li r0, 0 /* 801BDFE8 001BAF48 90 01 03 28 */ stw r0, 0x328(r1) /* 801BDFEC 001BAF4C E3 E1 0B 88 */ psq_l f31, -1144(r1), 0, qr0 /* 801BDFF0 001BAF50 CB E1 0B 80 */ lfd f31, 0xb80(r1) /* 801BDFF4 001BAF54 E3 C1 0B 78 */ psq_l f30, -1160(r1), 0, qr0 /* 801BDFF8 001BAF58 CB C1 0B 70 */ lfd f30, 0xb70(r1) /* 801BDFFC 001BAF5C BA 41 0B 38 */ lmw r18, 0xb38(r1) /* 801BE000 001BAF60 80 01 0B 94 */ lwz r0, 0xb94(r1) /* 801BE004 001BAF64 7C 08 03 A6 */ mtlr r0 /* 801BE008 001BAF68 38 21 0B 90 */ addi r1, r1, 0xb90 /* 801BE00C 001BAF6C 4E 80 00 20 */ blr .global sub_801be010 sub_801be010: /* 801BE010 001BAF70 94 21 FE E0 */ stwu r1, -0x120(r1) /* 801BE014 001BAF74 7C 08 02 A6 */ mflr r0 /* 801BE018 001BAF78 90 01 01 24 */ stw r0, 0x124(r1) /* 801BE01C 001BAF7C DB E1 01 10 */ stfd f31, 0x110(r1) /* 801BE020 001BAF80 F3 E1 01 18 */ psq_st f31, 280(r1), 0, qr0 /* 801BE024 001BAF84 BF 41 00 F8 */ stmw r26, 0xf8(r1) /* 801BE028 001BAF88 7C 9E 23 78 */ mr r30, r4 /* 801BE02C 001BAF8C FF E0 08 90 */ fmr f31, f1 /* 801BE030 001BAF90 80 04 00 F8 */ lwz r0, 0xf8(r4) /* 801BE034 001BAF94 7C FB 3B 78 */ mr r27, r7 /* 801BE038 001BAF98 80 84 00 FC */ lwz r4, 0xfc(r4) /* 801BE03C 001BAF9C 7C DA 33 78 */ mr r26, r6 /* 801BE040 001BAFA0 7D 1C 43 78 */ mr r28, r8 /* 801BE044 001BAFA4 90 81 00 24 */ stw r4, 0x24(r1) /* 801BE048 001BAFA8 7C 7D 1B 78 */ mr r29, r3 /* 801BE04C 001BAFAC 7C BF 2B 78 */ mr r31, r5 /* 801BE050 001BAFB0 C0 22 A9 FC */ lfs f1, lbl_805AC71C@sda21(r2) /* 801BE054 001BAFB4 90 01 00 20 */ stw r0, 0x20(r1) /* 801BE058 001BAFB8 7F 84 E3 78 */ mr r4, r28 /* 801BE05C 001BAFBC 7F 45 D3 78 */ mr r5, r26 /* 801BE060 001BAFC0 7F 66 DB 78 */ mr r6, r27 /* 801BE064 001BAFC4 80 1E 01 00 */ lwz r0, 0x100(r30) /* 801BE068 001BAFC8 38 61 00 38 */ addi r3, r1, 0x38 /* 801BE06C 001BAFCC 81 1E 01 04 */ lwz r8, 0x104(r30) /* 801BE070 001BAFD0 38 E1 00 20 */ addi r7, r1, 0x20 /* 801BE074 001BAFD4 91 01 00 2C */ stw r8, 0x2c(r1) /* 801BE078 001BAFD8 90 01 00 28 */ stw r0, 0x28(r1) /* 801BE07C 001BAFDC 80 1E 01 08 */ lwz r0, 0x108(r30) /* 801BE080 001BAFE0 90 01 00 30 */ stw r0, 0x30(r1) /* 801BE084 001BAFE4 4B E8 EF 15 */ bl RayStaticIntersection__13CStateManagerCFRC9CVector3fRC9CVector3ffRC15CMaterialFilter /* 801BE088 001BAFE8 C0 22 AA 04 */ lfs f1, lbl_805AC724@sda21(r2) /* 801BE08C 001BAFEC 38 61 00 10 */ addi r3, r1, 0x10 /* 801BE090 001BAFF0 C1 21 00 38 */ lfs f9, 0x38(r1) /* 801BE094 001BAFF4 C1 01 00 3C */ lfs f8, 0x3c(r1) /* 801BE098 001BAFF8 C0 E1 00 40 */ lfs f7, 0x40(r1) /* 801BE09C 001BAFFC C0 C1 00 44 */ lfs f6, 0x44(r1) /* 801BE0A0 001BB000 C0 A1 00 48 */ lfs f5, 0x48(r1) /* 801BE0A4 001BB004 C0 81 00 4C */ lfs f4, 0x4c(r1) /* 801BE0A8 001BB008 C0 61 00 50 */ lfs f3, 0x50(r1) /* 801BE0AC 001BB00C C0 41 00 54 */ lfs f2, 0x54(r1) /* 801BE0B0 001BB010 88 A1 00 58 */ lbz r5, 0x58(r1) /* 801BE0B4 001BB014 80 01 00 60 */ lwz r0, 0x60(r1) /* 801BE0B8 001BB018 80 81 00 64 */ lwz r4, 0x64(r1) /* 801BE0BC 001BB01C C0 02 AA 0C */ lfs f0, lbl_805AC72C@sda21(r2) /* 801BE0C0 001BB020 D1 21 00 C8 */ stfs f9, 0xc8(r1) /* 801BE0C4 001BB024 D1 01 00 CC */ stfs f8, 0xcc(r1) /* 801BE0C8 001BB028 D0 E1 00 D0 */ stfs f7, 0xd0(r1) /* 801BE0CC 001BB02C D0 C1 00 D4 */ stfs f6, 0xd4(r1) /* 801BE0D0 001BB030 D0 A1 00 D8 */ stfs f5, 0xd8(r1) /* 801BE0D4 001BB034 D0 81 00 DC */ stfs f4, 0xdc(r1) /* 801BE0D8 001BB038 D0 61 00 E0 */ stfs f3, 0xe0(r1) /* 801BE0DC 001BB03C D0 41 00 E4 */ stfs f2, 0xe4(r1) /* 801BE0E0 001BB040 98 A1 00 E8 */ stb r5, 0xe8(r1) /* 801BE0E4 001BB044 90 81 00 F4 */ stw r4, 0xf4(r1) /* 801BE0E8 001BB048 90 01 00 F0 */ stw r0, 0xf0(r1) /* 801BE0EC 001BB04C D0 21 00 98 */ stfs f1, 0x98(r1) /* 801BE0F0 001BB050 D0 21 00 9C */ stfs f1, 0x9c(r1) /* 801BE0F4 001BB054 D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 801BE0F8 001BB058 D0 21 00 A4 */ stfs f1, 0xa4(r1) /* 801BE0FC 001BB05C D0 01 00 10 */ stfs f0, 0x10(r1) /* 801BE100 001BB060 D0 21 00 14 */ stfs f1, 0x14(r1) /* 801BE104 001BB064 D0 21 00 18 */ stfs f1, 0x18(r1) /* 801BE108 001BB068 48 15 67 F1 */ bl Normalize__9CVector3fFv /* 801BE10C 001BB06C C1 01 00 10 */ lfs f8, 0x10(r1) /* 801BE110 001BB070 38 00 00 00 */ li r0, 0 /* 801BE114 001BB074 C0 E1 00 14 */ lfs f7, 0x14(r1) /* 801BE118 001BB078 7F C3 F3 78 */ mr r3, r30 /* 801BE11C 001BB07C C0 C1 00 18 */ lfs f6, 0x18(r1) /* 801BE120 001BB080 7F 84 E3 78 */ mr r4, r28 /* 801BE124 001BB084 C0 A2 AA 04 */ lfs f5, lbl_805AC724@sda21(r2) /* 801BE128 001BB088 7F 47 D3 78 */ mr r7, r26 /* 801BE12C 001BB08C A1 6D A3 8C */ lhz r11, kInvalidUniqueId@sda21(r13) /* 801BE130 001BB090 7F 68 DB 78 */ mr r8, r27 /* 801BE134 001BB094 C0 81 00 98 */ lfs f4, 0x98(r1) /* 801BE138 001BB098 38 A1 00 0C */ addi r5, r1, 0xc /* 801BE13C 001BB09C C0 61 00 9C */ lfs f3, 0x9c(r1) /* 801BE140 001BB0A0 38 C1 00 08 */ addi r6, r1, 8 /* 801BE144 001BB0A4 C0 41 00 A0 */ lfs f2, 0xa0(r1) /* 801BE148 001BB0A8 39 21 00 98 */ addi r9, r1, 0x98 /* 801BE14C 001BB0AC C0 01 00 A4 */ lfs f0, 0xa4(r1) /* 801BE150 001BB0B0 39 41 00 68 */ addi r10, r1, 0x68 /* 801BE154 001BB0B4 D1 01 00 A8 */ stfs f8, 0xa8(r1) /* 801BE158 001BB0B8 C0 22 A9 FC */ lfs f1, lbl_805AC71C@sda21(r2) /* 801BE15C 001BB0BC D0 E1 00 AC */ stfs f7, 0xac(r1) /* 801BE160 001BB0C0 D0 C1 00 B0 */ stfs f6, 0xb0(r1) /* 801BE164 001BB0C4 D0 A1 00 B4 */ stfs f5, 0xb4(r1) /* 801BE168 001BB0C8 98 01 00 B8 */ stb r0, 0xb8(r1) /* 801BE16C 001BB0CC 90 01 00 C4 */ stw r0, 0xc4(r1) /* 801BE170 001BB0D0 90 01 00 C0 */ stw r0, 0xc0(r1) /* 801BE174 001BB0D4 D0 81 00 68 */ stfs f4, 0x68(r1) /* 801BE178 001BB0D8 D0 61 00 6C */ stfs f3, 0x6c(r1) /* 801BE17C 001BB0DC D0 41 00 70 */ stfs f2, 0x70(r1) /* 801BE180 001BB0E0 D0 01 00 74 */ stfs f0, 0x74(r1) /* 801BE184 001BB0E4 D1 01 00 78 */ stfs f8, 0x78(r1) /* 801BE188 001BB0E8 D0 E1 00 7C */ stfs f7, 0x7c(r1) /* 801BE18C 001BB0EC D0 C1 00 80 */ stfs f6, 0x80(r1) /* 801BE190 001BB0F0 D0 A1 00 84 */ stfs f5, 0x84(r1) /* 801BE194 001BB0F4 98 01 00 88 */ stb r0, 0x88(r1) /* 801BE198 001BB0F8 90 01 00 94 */ stw r0, 0x94(r1) /* 801BE19C 001BB0FC 90 01 00 90 */ stw r0, 0x90(r1) /* 801BE1A0 001BB100 B1 61 00 0C */ sth r11, 0xc(r1) /* 801BE1A4 001BB104 B1 61 00 08 */ sth r11, 8(r1) /* 801BE1A8 001BB108 4B FF F8 6D */ bl sub_801bda14 /* 801BE1AC 001BB10C 88 01 00 B8 */ lbz r0, 0xb8(r1) /* 801BE1B0 001BB110 28 00 00 00 */ cmplwi r0, 0 /* 801BE1B4 001BB114 41 82 00 90 */ beq lbl_801BE244 /* 801BE1B8 001BB118 FC 20 F8 90 */ fmr f1, f31 /* 801BE1BC 001BB11C 7F C3 F3 78 */ mr r3, r30 /* 801BE1C0 001BB120 7F 88 E3 78 */ mr r8, r28 /* 801BE1C4 001BB124 38 81 00 08 */ addi r4, r1, 8 /* 801BE1C8 001BB128 38 A1 00 98 */ addi r5, r1, 0x98 /* 801BE1CC 001BB12C 38 C1 00 68 */ addi r6, r1, 0x68 /* 801BE1D0 001BB130 38 E1 00 C8 */ addi r7, r1, 0xc8 /* 801BE1D4 001BB134 4B FF F6 C5 */ bl sub_801bd898 /* 801BE1D8 001BB138 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801BE1DC 001BB13C 41 82 01 00 */ beq lbl_801BE2DC /* 801BE1E0 001BB140 A0 01 00 0C */ lhz r0, 0xc(r1) /* 801BE1E4 001BB144 B0 1F 00 00 */ sth r0, 0(r31) /* 801BE1E8 001BB148 C0 01 00 98 */ lfs f0, 0x98(r1) /* 801BE1EC 001BB14C D0 1D 00 00 */ stfs f0, 0(r29) /* 801BE1F0 001BB150 C0 01 00 9C */ lfs f0, 0x9c(r1) /* 801BE1F4 001BB154 D0 1D 00 04 */ stfs f0, 4(r29) /* 801BE1F8 001BB158 C0 01 00 A0 */ lfs f0, 0xa0(r1) /* 801BE1FC 001BB15C D0 1D 00 08 */ stfs f0, 8(r29) /* 801BE200 001BB160 C0 01 00 A4 */ lfs f0, 0xa4(r1) /* 801BE204 001BB164 D0 1D 00 0C */ stfs f0, 0xc(r29) /* 801BE208 001BB168 C0 01 00 A8 */ lfs f0, 0xa8(r1) /* 801BE20C 001BB16C D0 1D 00 10 */ stfs f0, 0x10(r29) /* 801BE210 001BB170 C0 01 00 AC */ lfs f0, 0xac(r1) /* 801BE214 001BB174 D0 1D 00 14 */ stfs f0, 0x14(r29) /* 801BE218 001BB178 C0 01 00 B0 */ lfs f0, 0xb0(r1) /* 801BE21C 001BB17C D0 1D 00 18 */ stfs f0, 0x18(r29) /* 801BE220 001BB180 C0 01 00 B4 */ lfs f0, 0xb4(r1) /* 801BE224 001BB184 D0 1D 00 1C */ stfs f0, 0x1c(r29) /* 801BE228 001BB188 88 01 00 B8 */ lbz r0, 0xb8(r1) /* 801BE22C 001BB18C 98 1D 00 20 */ stb r0, 0x20(r29) /* 801BE230 001BB190 80 01 00 C0 */ lwz r0, 0xc0(r1) /* 801BE234 001BB194 80 61 00 C4 */ lwz r3, 0xc4(r1) /* 801BE238 001BB198 90 7D 00 2C */ stw r3, 0x2c(r29) /* 801BE23C 001BB19C 90 1D 00 28 */ stw r0, 0x28(r29) /* 801BE240 001BB1A0 48 00 00 F4 */ b lbl_801BE334 lbl_801BE244: /* 801BE244 001BB1A4 88 01 00 88 */ lbz r0, 0x88(r1) /* 801BE248 001BB1A8 28 00 00 00 */ cmplwi r0, 0 /* 801BE24C 001BB1AC 41 82 00 90 */ beq lbl_801BE2DC /* 801BE250 001BB1B0 FC 20 F8 90 */ fmr f1, f31 /* 801BE254 001BB1B4 7F C3 F3 78 */ mr r3, r30 /* 801BE258 001BB1B8 7F 88 E3 78 */ mr r8, r28 /* 801BE25C 001BB1BC 38 81 00 0C */ addi r4, r1, 0xc /* 801BE260 001BB1C0 38 A1 00 68 */ addi r5, r1, 0x68 /* 801BE264 001BB1C4 38 C1 00 98 */ addi r6, r1, 0x98 /* 801BE268 001BB1C8 38 E1 00 C8 */ addi r7, r1, 0xc8 /* 801BE26C 001BB1CC 4B FF F6 2D */ bl sub_801bd898 /* 801BE270 001BB1D0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801BE274 001BB1D4 41 82 00 68 */ beq lbl_801BE2DC /* 801BE278 001BB1D8 A0 01 00 08 */ lhz r0, 8(r1) /* 801BE27C 001BB1DC B0 1F 00 00 */ sth r0, 0(r31) /* 801BE280 001BB1E0 C0 01 00 68 */ lfs f0, 0x68(r1) /* 801BE284 001BB1E4 D0 1D 00 00 */ stfs f0, 0(r29) /* 801BE288 001BB1E8 C0 01 00 6C */ lfs f0, 0x6c(r1) /* 801BE28C 001BB1EC D0 1D 00 04 */ stfs f0, 4(r29) /* 801BE290 001BB1F0 C0 01 00 70 */ lfs f0, 0x70(r1) /* 801BE294 001BB1F4 D0 1D 00 08 */ stfs f0, 8(r29) /* 801BE298 001BB1F8 C0 01 00 74 */ lfs f0, 0x74(r1) /* 801BE29C 001BB1FC D0 1D 00 0C */ stfs f0, 0xc(r29) /* 801BE2A0 001BB200 C0 01 00 78 */ lfs f0, 0x78(r1) /* 801BE2A4 001BB204 D0 1D 00 10 */ stfs f0, 0x10(r29) /* 801BE2A8 001BB208 C0 01 00 7C */ lfs f0, 0x7c(r1) /* 801BE2AC 001BB20C D0 1D 00 14 */ stfs f0, 0x14(r29) /* 801BE2B0 001BB210 C0 01 00 80 */ lfs f0, 0x80(r1) /* 801BE2B4 001BB214 D0 1D 00 18 */ stfs f0, 0x18(r29) /* 801BE2B8 001BB218 C0 01 00 84 */ lfs f0, 0x84(r1) /* 801BE2BC 001BB21C D0 1D 00 1C */ stfs f0, 0x1c(r29) /* 801BE2C0 001BB220 88 01 00 88 */ lbz r0, 0x88(r1) /* 801BE2C4 001BB224 98 1D 00 20 */ stb r0, 0x20(r29) /* 801BE2C8 001BB228 80 01 00 90 */ lwz r0, 0x90(r1) /* 801BE2CC 001BB22C 80 61 00 94 */ lwz r3, 0x94(r1) /* 801BE2D0 001BB230 90 7D 00 2C */ stw r3, 0x2c(r29) /* 801BE2D4 001BB234 90 1D 00 28 */ stw r0, 0x28(r29) /* 801BE2D8 001BB238 48 00 00 5C */ b lbl_801BE334 lbl_801BE2DC: /* 801BE2DC 001BB23C C0 01 00 C8 */ lfs f0, 0xc8(r1) /* 801BE2E0 001BB240 D0 1D 00 00 */ stfs f0, 0(r29) /* 801BE2E4 001BB244 C0 01 00 CC */ lfs f0, 0xcc(r1) /* 801BE2E8 001BB248 D0 1D 00 04 */ stfs f0, 4(r29) /* 801BE2EC 001BB24C C0 01 00 D0 */ lfs f0, 0xd0(r1) /* 801BE2F0 001BB250 D0 1D 00 08 */ stfs f0, 8(r29) /* 801BE2F4 001BB254 C0 01 00 D4 */ lfs f0, 0xd4(r1) /* 801BE2F8 001BB258 D0 1D 00 0C */ stfs f0, 0xc(r29) /* 801BE2FC 001BB25C C0 01 00 D8 */ lfs f0, 0xd8(r1) /* 801BE300 001BB260 D0 1D 00 10 */ stfs f0, 0x10(r29) /* 801BE304 001BB264 C0 01 00 DC */ lfs f0, 0xdc(r1) /* 801BE308 001BB268 D0 1D 00 14 */ stfs f0, 0x14(r29) /* 801BE30C 001BB26C C0 01 00 E0 */ lfs f0, 0xe0(r1) /* 801BE310 001BB270 D0 1D 00 18 */ stfs f0, 0x18(r29) /* 801BE314 001BB274 C0 01 00 E4 */ lfs f0, 0xe4(r1) /* 801BE318 001BB278 D0 1D 00 1C */ stfs f0, 0x1c(r29) /* 801BE31C 001BB27C 88 01 00 E8 */ lbz r0, 0xe8(r1) /* 801BE320 001BB280 98 1D 00 20 */ stb r0, 0x20(r29) /* 801BE324 001BB284 80 01 00 F0 */ lwz r0, 0xf0(r1) /* 801BE328 001BB288 80 61 00 F4 */ lwz r3, 0xf4(r1) /* 801BE32C 001BB28C 90 7D 00 2C */ stw r3, 0x2c(r29) /* 801BE330 001BB290 90 1D 00 28 */ stw r0, 0x28(r29) lbl_801BE334: /* 801BE334 001BB294 E3 E1 01 18 */ psq_l f31, 280(r1), 0, qr0 /* 801BE338 001BB298 CB E1 01 10 */ lfd f31, 0x110(r1) /* 801BE33C 001BB29C BB 41 00 F8 */ lmw r26, 0xf8(r1) /* 801BE340 001BB2A0 80 01 01 24 */ lwz r0, 0x124(r1) /* 801BE344 001BB2A4 7C 08 03 A6 */ mtlr r0 /* 801BE348 001BB2A8 38 21 01 20 */ addi r1, r1, 0x120 /* 801BE34C 001BB2AC 4E 80 00 20 */ blr .global sub_801be350 sub_801be350: /* 801BE350 001BB2B0 94 21 FF 00 */ stwu r1, -0x100(r1) /* 801BE354 001BB2B4 7C 08 02 A6 */ mflr r0 /* 801BE358 001BB2B8 90 01 01 04 */ stw r0, 0x104(r1) /* 801BE35C 001BB2BC DB E1 00 F0 */ stfd f31, 0xf0(r1) /* 801BE360 001BB2C0 F3 E1 00 F8 */ psq_st f31, 248(r1), 0, qr0 /* 801BE364 001BB2C4 DB C1 00 E0 */ stfd f30, 0xe0(r1) /* 801BE368 001BB2C8 F3 C1 00 E8 */ psq_st f30, 232(r1), 0, qr0 /* 801BE36C 001BB2CC DB A1 00 D0 */ stfd f29, 0xd0(r1) /* 801BE370 001BB2D0 F3 A1 00 D8 */ psq_st f29, 216(r1), 0, qr0 /* 801BE374 001BB2D4 DB 81 00 C0 */ stfd f28, 0xc0(r1) /* 801BE378 001BB2D8 F3 81 00 C8 */ psq_st f28, 200(r1), 0, qr0 /* 801BE37C 001BB2DC BF 01 00 A0 */ stmw r24, 0xa0(r1) /* 801BE380 001BB2E0 7C 7A 1B 78 */ mr r26, r3 /* 801BE384 001BB2E4 38 61 00 38 */ addi r3, r1, 0x38 /* 801BE388 001BB2E8 38 9A 02 E8 */ addi r4, r26, 0x2e8 /* 801BE38C 001BB2EC 48 15 48 B5 */ bl GetRotation__12CTransform4fCFv /* 801BE390 001BB2F0 38 61 00 68 */ addi r3, r1, 0x68 /* 801BE394 001BB2F4 38 81 00 38 */ addi r4, r1, 0x38 /* 801BE398 001BB2F8 48 15 47 DD */ bl __ct__12CTransform4fFRC12CTransform4f /* 801BE39C 001BB2FC C0 5A 03 14 */ lfs f2, 0x314(r26) /* 801BE3A0 001BB300 38 80 00 01 */ li r4, 1 /* 801BE3A4 001BB304 C0 3A 03 04 */ lfs f1, 0x304(r26) /* 801BE3A8 001BB308 C0 1A 02 F4 */ lfs f0, 0x2f4(r26) /* 801BE3AC 001BB30C D0 21 00 30 */ stfs f1, 0x30(r1) /* 801BE3B0 001BB310 80 7A 03 8C */ lwz r3, 0x38c(r26) /* 801BE3B4 001BB314 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 801BE3B8 001BB318 D0 41 00 34 */ stfs f2, 0x34(r1) /* 801BE3BC 001BB31C 81 83 00 00 */ lwz r12, 0(r3) /* 801BE3C0 001BB320 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 801BE3C4 001BB324 7D 89 03 A6 */ mtctr r12 /* 801BE3C8 001BB328 4E 80 04 21 */ bctrl /* 801BE3CC 001BB32C 80 1A 03 CC */ lwz r0, 0x3cc(r26) /* 801BE3D0 001BB330 3C 60 80 3D */ lis r3, lbl_803D19F8@ha /* 801BE3D4 001BB334 38 63 19 F8 */ addi r3, r3, lbl_803D19F8@l /* 801BE3D8 001BB338 C0 3A 03 C8 */ lfs f1, 0x3c8(r26) /* 801BE3DC 001BB33C 54 00 10 3A */ slwi r0, r0, 2 /* 801BE3E0 001BB340 7C 83 02 14 */ add r4, r3, r0 /* 801BE3E4 001BB344 7C 63 00 2E */ lwzx r3, r3, r0 /* 801BE3E8 001BB348 80 84 00 04 */ lwz r4, 4(r4) /* 801BE3EC 001BB34C 48 1A 4E 29 */ bl Lerp__6CColorFUiUif /* 801BE3F0 001BB350 83 DA 03 84 */ lwz r30, 0x384(r26) /* 801BE3F4 001BB354 7C 7D 1B 78 */ mr r29, r3 /* 801BE3F8 001BB358 83 FA 03 88 */ lwz r31, 0x388(r26) /* 801BE3FC 001BB35C 3B 60 00 00 */ li r27, 0 /* 801BE400 001BB360 80 9E 01 60 */ lwz r4, 0x160(r30) /* 801BE404 001BB364 3B 80 00 00 */ li r28, 0 /* 801BE408 001BB368 80 7F 01 60 */ lwz r3, 0x160(r31) /* 801BE40C 001BB36C 38 A4 FF FF */ addi r5, r4, -1 /* 801BE410 001BB370 80 DE 01 68 */ lwz r6, 0x168(r30) /* 801BE414 001BB374 38 03 FF FF */ addi r0, r3, -1 /* 801BE418 001BB378 80 9F 01 68 */ lwz r4, 0x168(r31) /* 801BE41C 001BB37C 54 A5 38 30 */ slwi r5, r5, 7 /* 801BE420 001BB380 C3 C2 AA 04 */ lfs f30, lbl_805AC724@sda21(r2) /* 801BE424 001BB384 54 03 38 30 */ slwi r3, r0, 7 /* 801BE428 001BB388 C3 E2 AA 10 */ lfs f31, lbl_805AC730@sda21(r2) /* 801BE42C 001BB38C 38 A5 00 30 */ addi r5, r5, 0x30 /* 801BE430 001BB390 38 03 00 30 */ addi r0, r3, 0x30 /* 801BE434 001BB394 7F A6 2C 2E */ lfsx f29, r6, r5 /* 801BE438 001BB398 7F 84 04 2E */ lfsx f28, r4, r0 /* 801BE43C 001BB39C 48 00 00 F0 */ b lbl_801BE52C lbl_801BE440: /* 801BE440 001BB3A0 80 9E 01 68 */ lwz r4, 0x168(r30) /* 801BE444 001BB3A4 FC 20 F0 90 */ fmr f1, f30 /* 801BE448 001BB3A8 80 1F 01 68 */ lwz r0, 0x168(r31) /* 801BE44C 001BB3AC 38 61 00 14 */ addi r3, r1, 0x14 /* 801BE450 001BB3B0 C0 7A 00 60 */ lfs f3, 0x60(r26) /* 801BE454 001BB3B4 7F 24 E2 14 */ add r25, r4, r28 /* 801BE458 001BB3B8 C0 5A 00 50 */ lfs f2, 0x50(r26) /* 801BE45C 001BB3BC C0 1A 00 40 */ lfs f0, 0x40(r26) /* 801BE460 001BB3C0 7F 00 E2 14 */ add r24, r0, r28 /* 801BE464 001BB3C4 D0 41 00 0C */ stfs f2, 0xc(r1) /* 801BE468 001BB3C8 38 81 00 08 */ addi r4, r1, 8 /* 801BE46C 001BB3CC 38 BA 03 24 */ addi r5, r26, 0x324 /* 801BE470 001BB3D0 38 DA 03 18 */ addi r6, r26, 0x318 /* 801BE474 001BB3D4 D0 01 00 08 */ stfs f0, 8(r1) /* 801BE478 001BB3D8 38 E1 00 2C */ addi r7, r1, 0x2c /* 801BE47C 001BB3DC D0 61 00 10 */ stfs f3, 0x10(r1) /* 801BE480 001BB3E0 48 15 6A 99 */ bl GetBezierPoint__5CMathFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3ff /* 801BE484 001BB3E4 C0 41 00 14 */ lfs f2, 0x14(r1) /* 801BE488 001BB3E8 38 79 00 38 */ addi r3, r25, 0x38 /* 801BE48C 001BB3EC C0 21 00 18 */ lfs f1, 0x18(r1) /* 801BE490 001BB3F0 38 81 00 68 */ addi r4, r1, 0x68 /* 801BE494 001BB3F4 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 801BE498 001BB3F8 D0 41 00 20 */ stfs f2, 0x20(r1) /* 801BE49C 001BB3FC D0 21 00 24 */ stfs f1, 0x24(r1) /* 801BE4A0 001BB400 D0 01 00 28 */ stfs f0, 0x28(r1) /* 801BE4A4 001BB404 D0 59 00 0C */ stfs f2, 0xc(r25) /* 801BE4A8 001BB408 C0 01 00 24 */ lfs f0, 0x24(r1) /* 801BE4AC 001BB40C D0 19 00 10 */ stfs f0, 0x10(r25) /* 801BE4B0 001BB410 C0 01 00 28 */ lfs f0, 0x28(r1) /* 801BE4B4 001BB414 D0 19 00 14 */ stfs f0, 0x14(r25) /* 801BE4B8 001BB418 C0 01 00 20 */ lfs f0, 0x20(r1) /* 801BE4BC 001BB41C D0 18 00 0C */ stfs f0, 0xc(r24) /* 801BE4C0 001BB420 C0 01 00 24 */ lfs f0, 0x24(r1) /* 801BE4C4 001BB424 D0 18 00 10 */ stfs f0, 0x10(r24) /* 801BE4C8 001BB428 C0 01 00 28 */ lfs f0, 0x28(r1) /* 801BE4CC 001BB42C D0 18 00 14 */ stfs f0, 0x14(r24) /* 801BE4D0 001BB430 48 15 46 71 */ bl __as__12CTransform4fFRC12CTransform4f /* 801BE4D4 001BB434 38 78 00 38 */ addi r3, r24, 0x38 /* 801BE4D8 001BB438 38 81 00 68 */ addi r4, r1, 0x68 /* 801BE4DC 001BB43C 48 15 46 65 */ bl __as__12CTransform4fFRC12CTransform4f /* 801BE4E0 001BB440 93 B8 00 6C */ stw r29, 0x6c(r24) /* 801BE4E4 001BB444 38 81 00 20 */ addi r4, r1, 0x20 /* 801BE4E8 001BB448 C0 19 00 30 */ lfs f0, 0x30(r25) /* 801BE4EC 001BB44C C0 38 00 30 */ lfs f1, 0x30(r24) /* 801BE4F0 001BB450 D3 B9 00 30 */ stfs f29, 0x30(r25) /* 801BE4F4 001BB454 FF A0 00 90 */ fmr f29, f0 /* 801BE4F8 001BB458 D3 98 00 30 */ stfs f28, 0x30(r24) /* 801BE4FC 001BB45C FF 80 08 90 */ fmr f28, f1 /* 801BE500 001BB460 80 7A 03 8C */ lwz r3, 0x38c(r26) /* 801BE504 001BB464 81 83 00 00 */ lwz r12, 0(r3) /* 801BE508 001BB468 81 8C 00 18 */ lwz r12, 0x18(r12) /* 801BE50C 001BB46C 7D 89 03 A6 */ mtctr r12 /* 801BE510 001BB470 4E 80 04 21 */ bctrl /* 801BE514 001BB474 80 7A 03 8C */ lwz r3, 0x38c(r26) /* 801BE518 001BB478 38 80 00 01 */ li r4, 1 /* 801BE51C 001BB47C 48 15 E3 A5 */ bl ForceParticleCreation__11CElementGenFi /* 801BE520 001BB480 EF DE F8 2A */ fadds f30, f30, f31 /* 801BE524 001BB484 3B 9C 00 80 */ addi r28, r28, 0x80 /* 801BE528 001BB488 3B 7B 00 01 */ addi r27, r27, 1 lbl_801BE52C: /* 801BE52C 001BB48C 80 1E 01 60 */ lwz r0, 0x160(r30) /* 801BE530 001BB490 7C 1B 00 00 */ cmpw r27, r0 /* 801BE534 001BB494 41 80 FF 0C */ blt lbl_801BE440 /* 801BE538 001BB498 80 7A 03 8C */ lwz r3, 0x38c(r26) /* 801BE53C 001BB49C 38 80 00 00 */ li r4, 0 /* 801BE540 001BB4A0 81 83 00 00 */ lwz r12, 0(r3) /* 801BE544 001BB4A4 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 801BE548 001BB4A8 7D 89 03 A6 */ mtctr r12 /* 801BE54C 001BB4AC 4E 80 04 21 */ bctrl /* 801BE550 001BB4B0 80 7A 03 84 */ lwz r3, 0x384(r26) /* 801BE554 001BB4B4 81 83 00 00 */ lwz r12, 0(r3) /* 801BE558 001BB4B8 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801BE55C 001BB4BC 7D 89 03 A6 */ mtctr r12 /* 801BE560 001BB4C0 4E 80 04 21 */ bctrl /* 801BE564 001BB4C4 80 7A 03 88 */ lwz r3, 0x388(r26) /* 801BE568 001BB4C8 81 83 00 00 */ lwz r12, 0(r3) /* 801BE56C 001BB4CC 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801BE570 001BB4D0 7D 89 03 A6 */ mtctr r12 /* 801BE574 001BB4D4 4E 80 04 21 */ bctrl /* 801BE578 001BB4D8 80 7A 03 8C */ lwz r3, 0x38c(r26) /* 801BE57C 001BB4DC 81 83 00 00 */ lwz r12, 0(r3) /* 801BE580 001BB4E0 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801BE584 001BB4E4 7D 89 03 A6 */ mtctr r12 /* 801BE588 001BB4E8 4E 80 04 21 */ bctrl /* 801BE58C 001BB4EC E3 E1 00 F8 */ psq_l f31, 248(r1), 0, qr0 /* 801BE590 001BB4F0 CB E1 00 F0 */ lfd f31, 0xf0(r1) /* 801BE594 001BB4F4 E3 C1 00 E8 */ psq_l f30, 232(r1), 0, qr0 /* 801BE598 001BB4F8 CB C1 00 E0 */ lfd f30, 0xe0(r1) /* 801BE59C 001BB4FC E3 A1 00 D8 */ psq_l f29, 216(r1), 0, qr0 /* 801BE5A0 001BB500 CB A1 00 D0 */ lfd f29, 0xd0(r1) /* 801BE5A4 001BB504 E3 81 00 C8 */ psq_l f28, 200(r1), 0, qr0 /* 801BE5A8 001BB508 CB 81 00 C0 */ lfd f28, 0xc0(r1) /* 801BE5AC 001BB50C BB 01 00 A0 */ lmw r24, 0xa0(r1) /* 801BE5B0 001BB510 80 01 01 04 */ lwz r0, 0x104(r1) /* 801BE5B4 001BB514 7C 08 03 A6 */ mtlr r0 /* 801BE5B8 001BB518 38 21 01 00 */ addi r1, r1, 0x100 /* 801BE5BC 001BB51C 4E 80 00 20 */ blr .global sub_801be5c0 sub_801be5c0: /* 801BE5C0 001BB520 94 21 FD E0 */ stwu r1, -0x220(r1) /* 801BE5C4 001BB524 7C 08 02 A6 */ mflr r0 /* 801BE5C8 001BB528 90 01 02 24 */ stw r0, 0x224(r1) /* 801BE5CC 001BB52C DB E1 02 10 */ stfd f31, 0x210(r1) /* 801BE5D0 001BB530 F3 E1 02 18 */ psq_st f31, 536(r1), 0, qr0 /* 801BE5D4 001BB534 DB C1 02 00 */ stfd f30, 0x200(r1) /* 801BE5D8 001BB538 F3 C1 02 08 */ psq_st f30, 520(r1), 0, qr0 /* 801BE5DC 001BB53C DB A1 01 F0 */ stfd f29, 0x1f0(r1) /* 801BE5E0 001BB540 F3 A1 01 F8 */ psq_st f29, 504(r1), 0, qr0 /* 801BE5E4 001BB544 DB 81 01 E0 */ stfd f28, 0x1e0(r1) /* 801BE5E8 001BB548 F3 81 01 E8 */ psq_st f28, 488(r1), 0, qr0 /* 801BE5EC 001BB54C DB 61 01 D0 */ stfd f27, 0x1d0(r1) /* 801BE5F0 001BB550 F3 61 01 D8 */ psq_st f27, 472(r1), 0, qr0 /* 801BE5F4 001BB554 DB 41 01 C0 */ stfd f26, 0x1c0(r1) /* 801BE5F8 001BB558 F3 41 01 C8 */ psq_st f26, 456(r1), 0, qr0 /* 801BE5FC 001BB55C DB 21 01 B0 */ stfd f25, 0x1b0(r1) /* 801BE600 001BB560 F3 21 01 B8 */ psq_st f25, 440(r1), 0, qr0 /* 801BE604 001BB564 DB 01 01 A0 */ stfd f24, 0x1a0(r1) /* 801BE608 001BB568 F3 01 01 A8 */ psq_st f24, 424(r1), 0, qr0 /* 801BE60C 001BB56C DA E1 01 90 */ stfd f23, 0x190(r1) /* 801BE610 001BB570 F2 E1 01 98 */ psq_st f23, 408(r1), 0, qr0 /* 801BE614 001BB574 DA C1 01 80 */ stfd f22, 0x180(r1) /* 801BE618 001BB578 F2 C1 01 88 */ psq_st f22, 392(r1), 0, qr0 /* 801BE61C 001BB57C DA A1 01 70 */ stfd f21, 0x170(r1) /* 801BE620 001BB580 F2 A1 01 78 */ psq_st f21, 376(r1), 0, qr0 /* 801BE624 001BB584 DA 81 01 60 */ stfd f20, 0x160(r1) /* 801BE628 001BB588 F2 81 01 68 */ psq_st f20, 360(r1), 0, qr0 /* 801BE62C 001BB58C DA 61 01 50 */ stfd f19, 0x150(r1) /* 801BE630 001BB590 F2 61 01 58 */ psq_st f19, 344(r1), 0, qr0 /* 801BE634 001BB594 DA 41 01 40 */ stfd f18, 0x140(r1) /* 801BE638 001BB598 F2 41 01 48 */ psq_st f18, 328(r1), 0, qr0 /* 801BE63C 001BB59C DA 21 01 30 */ stfd f17, 0x130(r1) /* 801BE640 001BB5A0 F2 21 01 38 */ psq_st f17, 312(r1), 0, qr0 /* 801BE644 001BB5A4 DA 01 01 20 */ stfd f16, 0x120(r1) /* 801BE648 001BB5A8 F2 01 01 28 */ psq_st f16, 296(r1), 0, qr0 /* 801BE64C 001BB5AC 93 E1 01 1C */ stw r31, 0x11c(r1) /* 801BE650 001BB5B0 93 C1 01 18 */ stw r30, 0x118(r1) /* 801BE654 001BB5B4 93 A1 01 14 */ stw r29, 0x114(r1) /* 801BE658 001BB5B8 7C 7D 1B 78 */ mr r29, r3 /* 801BE65C 001BB5BC 38 61 00 A8 */ addi r3, r1, 0xa8 /* 801BE660 001BB5C0 38 9D 02 E8 */ addi r4, r29, 0x2e8 /* 801BE664 001BB5C4 48 15 40 7D */ bl GetInverse__12CTransform4fCFv /* 801BE668 001BB5C8 38 61 00 D8 */ addi r3, r1, 0xd8 /* 801BE66C 001BB5CC 38 81 00 A8 */ addi r4, r1, 0xa8 /* 801BE670 001BB5D0 48 15 45 05 */ bl __ct__12CTransform4fFRC12CTransform4f /* 801BE674 001BB5D4 C0 5D 03 14 */ lfs f2, 0x314(r29) /* 801BE678 001BB5D8 38 61 00 54 */ addi r3, r1, 0x54 /* 801BE67C 001BB5DC C0 3D 03 04 */ lfs f1, 0x304(r29) /* 801BE680 001BB5E0 38 81 00 D8 */ addi r4, r1, 0xd8 /* 801BE684 001BB5E4 C0 1D 02 F4 */ lfs f0, 0x2f4(r29) /* 801BE688 001BB5E8 38 A1 00 48 */ addi r5, r1, 0x48 /* 801BE68C 001BB5EC D0 21 00 4C */ stfs f1, 0x4c(r1) /* 801BE690 001BB5F0 D0 01 00 48 */ stfs f0, 0x48(r1) /* 801BE694 001BB5F4 D0 41 00 50 */ stfs f2, 0x50(r1) /* 801BE698 001BB5F8 48 15 44 51 */ bl __ml__12CTransform4fCFRC9CVector3f /* 801BE69C 001BB5FC C0 41 00 54 */ lfs f2, 0x54(r1) /* 801BE6A0 001BB600 38 61 00 3C */ addi r3, r1, 0x3c /* 801BE6A4 001BB604 C0 21 00 58 */ lfs f1, 0x58(r1) /* 801BE6A8 001BB608 38 81 00 D8 */ addi r4, r1, 0xd8 /* 801BE6AC 001BB60C C0 01 00 5C */ lfs f0, 0x5c(r1) /* 801BE6B0 001BB610 38 BD 03 18 */ addi r5, r29, 0x318 /* 801BE6B4 001BB614 D0 41 00 84 */ stfs f2, 0x84(r1) /* 801BE6B8 001BB618 D0 21 00 88 */ stfs f1, 0x88(r1) /* 801BE6BC 001BB61C D0 01 00 8C */ stfs f0, 0x8c(r1) /* 801BE6C0 001BB620 48 15 44 29 */ bl __ml__12CTransform4fCFRC9CVector3f /* 801BE6C4 001BB624 C0 41 00 3C */ lfs f2, 0x3c(r1) /* 801BE6C8 001BB628 38 61 00 30 */ addi r3, r1, 0x30 /* 801BE6CC 001BB62C C0 21 00 40 */ lfs f1, 0x40(r1) /* 801BE6D0 001BB630 38 81 00 D8 */ addi r4, r1, 0xd8 /* 801BE6D4 001BB634 C0 01 00 44 */ lfs f0, 0x44(r1) /* 801BE6D8 001BB638 38 BD 03 24 */ addi r5, r29, 0x324 /* 801BE6DC 001BB63C D0 41 00 78 */ stfs f2, 0x78(r1) /* 801BE6E0 001BB640 D0 21 00 7C */ stfs f1, 0x7c(r1) /* 801BE6E4 001BB644 D0 01 00 80 */ stfs f0, 0x80(r1) /* 801BE6E8 001BB648 48 15 44 01 */ bl __ml__12CTransform4fCFRC9CVector3f /* 801BE6EC 001BB64C C0 61 00 30 */ lfs f3, 0x30(r1) /* 801BE6F0 001BB650 38 61 00 24 */ addi r3, r1, 0x24 /* 801BE6F4 001BB654 C0 41 00 34 */ lfs f2, 0x34(r1) /* 801BE6F8 001BB658 38 81 00 D8 */ addi r4, r1, 0xd8 /* 801BE6FC 001BB65C C0 21 00 38 */ lfs f1, 0x38(r1) /* 801BE700 001BB660 38 A1 00 18 */ addi r5, r1, 0x18 /* 801BE704 001BB664 C0 BD 00 60 */ lfs f5, 0x60(r29) /* 801BE708 001BB668 C0 9D 00 50 */ lfs f4, 0x50(r29) /* 801BE70C 001BB66C C0 1D 00 40 */ lfs f0, 0x40(r29) /* 801BE710 001BB670 D0 61 00 6C */ stfs f3, 0x6c(r1) /* 801BE714 001BB674 D0 41 00 70 */ stfs f2, 0x70(r1) /* 801BE718 001BB678 D0 21 00 74 */ stfs f1, 0x74(r1) /* 801BE71C 001BB67C D0 01 00 18 */ stfs f0, 0x18(r1) /* 801BE720 001BB680 D0 81 00 1C */ stfs f4, 0x1c(r1) /* 801BE724 001BB684 D0 A1 00 20 */ stfs f5, 0x20(r1) /* 801BE728 001BB688 48 15 43 C1 */ bl __ml__12CTransform4fCFRC9CVector3f /* 801BE72C 001BB68C C2 A2 AA 04 */ lfs f21, lbl_805AC724@sda21(r2) /* 801BE730 001BB690 3F E0 E0 00 */ lis r31, 0xe000 /* 801BE734 001BB694 C2 82 AA 14 */ lfs f20, lbl_805AC734@sda21(r2) /* 801BE738 001BB698 C0 41 00 24 */ lfs f2, 0x24(r1) /* 801BE73C 001BB69C FF E0 A8 90 */ fmr f31, f21 /* 801BE740 001BB6A0 C0 21 00 28 */ lfs f1, 0x28(r1) /* 801BE744 001BB6A4 FE 20 A0 90 */ fmr f17, f20 /* 801BE748 001BB6A8 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 801BE74C 001BB6AC D0 41 00 60 */ stfs f2, 0x60(r1) /* 801BE750 001BB6B0 C3 61 00 84 */ lfs f27, 0x84(r1) /* 801BE754 001BB6B4 D0 21 00 64 */ stfs f1, 0x64(r1) /* 801BE758 001BB6B8 C3 41 00 88 */ lfs f26, 0x88(r1) /* 801BE75C 001BB6BC D0 01 00 68 */ stfs f0, 0x68(r1) /* 801BE760 001BB6C0 C3 21 00 8C */ lfs f25, 0x8c(r1) /* 801BE764 001BB6C4 C3 A2 AA 0C */ lfs f29, lbl_805AC72C@sda21(r2) /* 801BE768 001BB6C8 C3 C2 AA 20 */ lfs f30, lbl_805AC740@sda21(r2) /* 801BE76C 001BB6CC C2 02 AA 24 */ lfs f16, lbl_805AC744@sda21(r2) /* 801BE770 001BB6D0 48 00 00 DC */ b lbl_801BE84C lbl_801BE774: /* 801BE774 001BB6D4 FC 20 A0 90 */ fmr f1, f20 /* 801BE778 001BB6D8 38 61 00 0C */ addi r3, r1, 0xc /* 801BE77C 001BB6DC 38 81 00 84 */ addi r4, r1, 0x84 /* 801BE780 001BB6E0 38 A1 00 78 */ addi r5, r1, 0x78 /* 801BE784 001BB6E4 38 C1 00 6C */ addi r6, r1, 0x6c /* 801BE788 001BB6E8 38 E1 00 60 */ addi r7, r1, 0x60 /* 801BE78C 001BB6EC 48 15 67 8D */ bl GetBezierPoint__5CMathFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3ff /* 801BE790 001BB6F0 C3 01 00 0C */ lfs f24, 0xc(r1) /* 801BE794 001BB6F4 3B C0 00 00 */ li r30, 0 /* 801BE798 001BB6F8 C2 E1 00 10 */ lfs f23, 0x10(r1) /* 801BE79C 001BB6FC C2 C1 00 14 */ lfs f22, 0x14(r1) /* 801BE7A0 001BB700 C2 62 AA 04 */ lfs f19, lbl_805AC724@sda21(r2) lbl_801BE7A4: /* 801BE7A4 001BB704 C0 22 AA 18 */ lfs f1, lbl_805AC738@sda21(r2) /* 801BE7A8 001BB708 38 7D 03 94 */ addi r3, r29, 0x394 /* 801BE7AC 001BB70C C0 42 AA 1C */ lfs f2, lbl_805AC73C@sda21(r2) /* 801BE7B0 001BB710 48 15 3D 95 */ bl Range__9CRandom16Fff /* 801BE7B4 001BB714 FE 40 08 90 */ fmr f18, f1 /* 801BE7B8 001BB718 C0 22 AA 18 */ lfs f1, lbl_805AC738@sda21(r2) /* 801BE7BC 001BB71C C0 42 AA 1C */ lfs f2, lbl_805AC73C@sda21(r2) /* 801BE7C0 001BB720 38 7D 03 94 */ addi r3, r29, 0x394 /* 801BE7C4 001BB724 48 15 3D 81 */ bl Range__9CRandom16Fff /* 801BE7C8 001BB728 C0 1D 03 98 */ lfs f0, 0x398(r29) /* 801BE7CC 001BB72C FF 80 08 90 */ fmr f28, f1 /* 801BE7D0 001BB730 EC 33 00 2A */ fadds f1, f19, f0 /* 801BE7D4 001BB734 48 15 65 71 */ bl FastCosR__5CMathFf /* 801BE7D8 001BB738 C0 1D 03 98 */ lfs f0, 0x398(r29) /* 801BE7DC 001BB73C EE 55 90 7A */ fmadds f18, f21, f1, f18 /* 801BE7E0 001BB740 EC 33 00 2A */ fadds f1, f19, f0 /* 801BE7E4 001BB744 48 15 66 0D */ bl FastSinR__5CMathFf /* 801BE7E8 001BB748 EC 13 F0 24 */ fdivs f0, f19, f30 /* 801BE7EC 001BB74C 3B DE 00 01 */ addi r30, r30, 1 /* 801BE7F0 001BB750 2C 1E 00 24 */ cmpwi r30, 0x24 /* 801BE7F4 001BB754 EC 9D 00 28 */ fsubs f4, f29, f0 /* 801BE7F8 001BB758 EC 78 00 32 */ fmuls f3, f24, f0 /* 801BE7FC 001BB75C EC 57 00 32 */ fmuls f2, f23, f0 /* 801BE800 001BB760 EC 16 00 32 */ fmuls f0, f22, f0 /* 801BE804 001BB764 EC 7B 19 3A */ fmadds f3, f27, f4, f3 /* 801BE808 001BB768 EC 5A 11 3A */ fmadds f2, f26, f4, f2 /* 801BE80C 001BB76C EC B5 E0 7A */ fmadds f5, f21, f1, f28 /* 801BE810 001BB770 EC 63 90 2A */ fadds f3, f3, f18 /* 801BE814 001BB774 EC 19 01 3A */ fmadds f0, f25, f4, f0 /* 801BE818 001BB778 EC 22 F8 2A */ fadds f1, f2, f31 /* 801BE81C 001BB77C D0 7F 00 00 */ stfs f3, 0(r31) /* 801BE820 001BB780 EE 73 80 2A */ fadds f19, f19, f16 /* 801BE824 001BB784 EC 00 28 2A */ fadds f0, f0, f5 /* 801BE828 001BB788 D0 3F 00 04 */ stfs f1, 4(r31) /* 801BE82C 001BB78C D0 1F 00 08 */ stfs f0, 8(r31) /* 801BE830 001BB790 3B FF 00 0C */ addi r31, r31, 0xc /* 801BE834 001BB794 41 80 FF 70 */ blt lbl_801BE7A4 /* 801BE838 001BB798 FF 60 C0 90 */ fmr f27, f24 /* 801BE83C 001BB79C C2 A2 AA 28 */ lfs f21, lbl_805AC748@sda21(r2) /* 801BE840 001BB7A0 FF 40 B8 90 */ fmr f26, f23 /* 801BE844 001BB7A4 FF 20 B0 90 */ fmr f25, f22 /* 801BE848 001BB7A8 EE 94 88 2A */ fadds f20, f20, f17 lbl_801BE84C: /* 801BE84C 001BB7AC FC 14 E8 40 */ fcmpo cr0, f20, f29 /* 801BE850 001BB7B0 4C 40 13 82 */ cror 2, 0, 2 /* 801BE854 001BB7B4 41 82 FF 20 */ beq lbl_801BE774 /* 801BE858 001BB7B8 3C 80 80 3D */ lis r4, lbl_803D1A08@ha /* 801BE85C 001BB7BC 38 61 00 90 */ addi r3, r1, 0x90 /* 801BE860 001BB7C0 39 24 1A 08 */ addi r9, r4, lbl_803D1A08@l /* 801BE864 001BB7C4 81 09 00 00 */ lwz r8, 0(r9) /* 801BE868 001BB7C8 80 E9 00 04 */ lwz r7, 4(r9) /* 801BE86C 001BB7CC 80 C9 00 08 */ lwz r6, 8(r9) /* 801BE870 001BB7D0 80 A9 00 0C */ lwz r5, 0xc(r9) /* 801BE874 001BB7D4 80 89 00 10 */ lwz r4, 0x10(r9) /* 801BE878 001BB7D8 80 09 00 14 */ lwz r0, 0x14(r9) /* 801BE87C 001BB7DC 91 01 00 90 */ stw r8, 0x90(r1) /* 801BE880 001BB7E0 90 E1 00 94 */ stw r7, 0x94(r1) /* 801BE884 001BB7E4 90 C1 00 98 */ stw r6, 0x98(r1) /* 801BE888 001BB7E8 90 A1 00 9C */ stw r5, 0x9c(r1) /* 801BE88C 001BB7EC 90 81 00 A0 */ stw r4, 0xa0(r1) /* 801BE890 001BB7F0 90 01 00 A4 */ stw r0, 0xa4(r1) /* 801BE894 001BB7F4 48 14 95 95 */ bl SetVtxDescv__3CGXFPC14_GXVtxDescList /* 801BE898 001BB7F8 38 60 00 01 */ li r3, 1 /* 801BE89C 001BB7FC 48 14 A5 B5 */ bl SetNumChans__3CGXFUc /* 801BE8A0 001BB800 38 60 00 01 */ li r3, 1 /* 801BE8A4 001BB804 48 14 A3 ED */ bl SetNumTevStages__3CGXFUc /* 801BE8A8 001BB808 38 60 00 00 */ li r3, 0 /* 801BE8AC 001BB80C 38 80 00 00 */ li r4, 0 /* 801BE8B0 001BB810 38 A0 00 01 */ li r5, 1 /* 801BE8B4 001BB814 38 C0 00 01 */ li r6, 1 /* 801BE8B8 001BB818 38 E0 00 00 */ li r7, 0 /* 801BE8BC 001BB81C 39 00 00 00 */ li r8, 0 /* 801BE8C0 001BB820 39 20 00 02 */ li r9, 2 /* 801BE8C4 001BB824 48 14 A4 09 */ bl SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn /* 801BE8C8 001BB828 38 60 00 01 */ li r3, 1 /* 801BE8CC 001BB82C 38 80 00 04 */ li r4, 4 /* 801BE8D0 001BB830 38 A0 00 01 */ li r5, 1 /* 801BE8D4 001BB834 38 C0 00 00 */ li r6, 0 /* 801BE8D8 001BB838 48 14 9F F9 */ bl SetBlendMode__3CGXF12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOp /* 801BE8DC 001BB83C 38 60 00 00 */ li r3, 0 /* 801BE8E0 001BB840 48 14 A5 35 */ bl SetNumTexGens__3CGXFUc /* 801BE8E4 001BB844 38 60 00 00 */ li r3, 0 /* 801BE8E8 001BB848 38 80 00 FF */ li r4, 0xff /* 801BE8EC 001BB84C 38 A0 00 FF */ li r5, 0xff /* 801BE8F0 001BB850 38 C0 00 04 */ li r6, 4 /* 801BE8F4 001BB854 48 14 A0 59 */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID /* 801BE8F8 001BB858 80 8D 9C 68 */ lwz r4, kEnvPassthru__9CGraphics@sda21(r13) /* 801BE8FC 001BB85C 38 60 00 00 */ li r3, 0 /* 801BE900 001BB860 48 14 B9 B9 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass /* 801BE904 001BB864 80 8D 9C 68 */ lwz r4, kEnvPassthru__9CGraphics@sda21(r13) /* 801BE908 001BB868 38 60 00 01 */ li r3, 1 /* 801BE90C 001BB86C 48 14 B9 AD */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass /* 801BE910 001BB870 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BE914 001BB874 38 9D 02 E8 */ addi r4, r29, 0x2e8 /* 801BE918 001BB878 81 83 00 00 */ lwz r12, 0(r3) /* 801BE91C 001BB87C 81 8C 00 30 */ lwz r12, 0x30(r12) /* 801BE920 001BB880 7D 89 03 A6 */ mtctr r12 /* 801BE924 001BB884 4E 80 04 21 */ bctrl /* 801BE928 001BB888 48 18 B6 85 */ bl White__6CColorFv /* 801BE92C 001BB88C 7C 7F 1B 78 */ mr r31, r3 /* 801BE930 001BB890 38 60 00 0C */ li r3, 0xc /* 801BE934 001BB894 38 80 00 00 */ li r4, 0 /* 801BE938 001BB898 48 14 9B 81 */ bl SetLineWidth__3CGXFUc12_GXTexOffset /* 801BE93C 001BB89C 38 60 00 B0 */ li r3, 0xb0 /* 801BE940 001BB8A0 38 80 00 00 */ li r4, 0 /* 801BE944 001BB8A4 38 A0 00 D8 */ li r5, 0xd8 /* 801BE948 001BB8A8 48 14 9C 3D */ bl Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs /* 801BE94C 001BB8AC 38 00 00 24 */ li r0, 0x24 /* 801BE950 001BB8B0 3C 80 E0 00 */ lis r4, 0xE0000008@ha /* 801BE954 001BB8B4 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 801BE958 001BB8B8 7C 09 03 A6 */ mtctr r0 lbl_801BE95C: /* 801BE95C 001BB8BC C0 44 00 08 */ lfs f2, 0xE0000008@l(r4) /* 801BE960 001BB8C0 C0 24 00 04 */ lfs f1, 4(r4) /* 801BE964 001BB8C4 C0 04 00 00 */ lfs f0, 0(r4) /* 801BE968 001BB8C8 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 801BE96C 001BB8CC D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 801BE970 001BB8D0 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 801BE974 001BB8D4 80 1F 00 00 */ lwz r0, 0(r31) /* 801BE978 001BB8D8 90 03 80 00 */ stw r0, 0xCC008000@l(r3) /* 801BE97C 001BB8DC C0 44 00 14 */ lfs f2, 0x14(r4) /* 801BE980 001BB8E0 C0 24 00 10 */ lfs f1, 0x10(r4) /* 801BE984 001BB8E4 C0 04 00 0C */ lfs f0, 0xc(r4) /* 801BE988 001BB8E8 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 801BE98C 001BB8EC D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 801BE990 001BB8F0 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 801BE994 001BB8F4 80 1F 00 00 */ lwz r0, 0(r31) /* 801BE998 001BB8F8 90 03 80 00 */ stw r0, 0xCC008000@l(r3) /* 801BE99C 001BB8FC C0 44 00 20 */ lfs f2, 0x20(r4) /* 801BE9A0 001BB900 C0 24 00 1C */ lfs f1, 0x1c(r4) /* 801BE9A4 001BB904 C0 04 00 18 */ lfs f0, 0x18(r4) /* 801BE9A8 001BB908 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 801BE9AC 001BB90C D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 801BE9B0 001BB910 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 801BE9B4 001BB914 80 1F 00 00 */ lwz r0, 0(r31) /* 801BE9B8 001BB918 90 03 80 00 */ stw r0, 0xCC008000@l(r3) /* 801BE9BC 001BB91C C0 44 00 2C */ lfs f2, 0x2c(r4) /* 801BE9C0 001BB920 C0 24 00 28 */ lfs f1, 0x28(r4) /* 801BE9C4 001BB924 C0 04 00 24 */ lfs f0, 0x24(r4) /* 801BE9C8 001BB928 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 801BE9CC 001BB92C D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 801BE9D0 001BB930 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 801BE9D4 001BB934 80 1F 00 00 */ lwz r0, 0(r31) /* 801BE9D8 001BB938 90 03 80 00 */ stw r0, 0xCC008000@l(r3) /* 801BE9DC 001BB93C C0 44 00 38 */ lfs f2, 0x38(r4) /* 801BE9E0 001BB940 C0 24 00 34 */ lfs f1, 0x34(r4) /* 801BE9E4 001BB944 C0 04 00 30 */ lfs f0, 0x30(r4) /* 801BE9E8 001BB948 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 801BE9EC 001BB94C D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 801BE9F0 001BB950 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 801BE9F4 001BB954 80 1F 00 00 */ lwz r0, 0(r31) /* 801BE9F8 001BB958 90 03 80 00 */ stw r0, 0xCC008000@l(r3) /* 801BE9FC 001BB95C C0 44 00 44 */ lfs f2, 0x44(r4) /* 801BEA00 001BB960 C0 24 00 40 */ lfs f1, 0x40(r4) /* 801BEA04 001BB964 C0 04 00 3C */ lfs f0, 0x3c(r4) /* 801BEA08 001BB968 38 84 00 48 */ addi r4, r4, 0x48 /* 801BEA0C 001BB96C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 801BEA10 001BB970 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 801BEA14 001BB974 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 801BEA18 001BB978 80 1F 00 00 */ lwz r0, 0(r31) /* 801BEA1C 001BB97C 90 03 80 00 */ stw r0, 0xCC008000@l(r3) /* 801BEA20 001BB980 42 00 FF 3C */ bdnz lbl_801BE95C /* 801BEA24 001BB984 48 14 9B 5D */ bl End__3CGXFv /* 801BEA28 001BB988 C0 22 AA 0C */ lfs f1, lbl_805AC72C@sda21(r2) /* 801BEA2C 001BB98C 38 61 00 08 */ addi r3, r1, 8 /* 801BEA30 001BB990 C0 42 AA 04 */ lfs f2, lbl_805AC724@sda21(r2) /* 801BEA34 001BB994 FC 60 08 90 */ fmr f3, f1 /* 801BEA38 001BB998 C0 82 A9 F8 */ lfs f4, lbl_805AC718@sda21(r2) /* 801BEA3C 001BB99C 48 1A 49 B1 */ bl __ct__6CColorFffff /* 801BEA40 001BB9A0 38 60 00 30 */ li r3, 0x30 /* 801BEA44 001BB9A4 38 80 00 00 */ li r4, 0 /* 801BEA48 001BB9A8 48 14 9A 71 */ bl SetLineWidth__3CGXFUc12_GXTexOffset /* 801BEA4C 001BB9AC 38 60 00 B0 */ li r3, 0xb0 /* 801BEA50 001BB9B0 38 80 00 00 */ li r4, 0 /* 801BEA54 001BB9B4 38 A0 00 D8 */ li r5, 0xd8 /* 801BEA58 001BB9B8 48 14 9B 2D */ bl Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs /* 801BEA5C 001BB9BC 38 00 00 24 */ li r0, 0x24 /* 801BEA60 001BB9C0 80 A1 00 08 */ lwz r5, 8(r1) /* 801BEA64 001BB9C4 3C 80 E0 00 */ lis r4, 0xE0000008@ha /* 801BEA68 001BB9C8 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 801BEA6C 001BB9CC 7C 09 03 A6 */ mtctr r0 lbl_801BEA70: /* 801BEA70 001BB9D0 C0 44 00 08 */ lfs f2, 0xE0000008@l(r4) /* 801BEA74 001BB9D4 C0 24 00 04 */ lfs f1, 4(r4) /* 801BEA78 001BB9D8 C0 04 00 00 */ lfs f0, 0(r4) /* 801BEA7C 001BB9DC D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 801BEA80 001BB9E0 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 801BEA84 001BB9E4 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 801BEA88 001BB9E8 90 A3 80 00 */ stw r5, 0xCC008000@l(r3) /* 801BEA8C 001BB9EC C0 44 00 14 */ lfs f2, 0x14(r4) /* 801BEA90 001BB9F0 C0 24 00 10 */ lfs f1, 0x10(r4) /* 801BEA94 001BB9F4 C0 04 00 0C */ lfs f0, 0xc(r4) /* 801BEA98 001BB9F8 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 801BEA9C 001BB9FC D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 801BEAA0 001BBA00 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 801BEAA4 001BBA04 90 A3 80 00 */ stw r5, 0xCC008000@l(r3) /* 801BEAA8 001BBA08 C0 44 00 20 */ lfs f2, 0x20(r4) /* 801BEAAC 001BBA0C C0 24 00 1C */ lfs f1, 0x1c(r4) /* 801BEAB0 001BBA10 C0 04 00 18 */ lfs f0, 0x18(r4) /* 801BEAB4 001BBA14 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 801BEAB8 001BBA18 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 801BEABC 001BBA1C D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 801BEAC0 001BBA20 90 A3 80 00 */ stw r5, 0xCC008000@l(r3) /* 801BEAC4 001BBA24 C0 44 00 2C */ lfs f2, 0x2c(r4) /* 801BEAC8 001BBA28 C0 24 00 28 */ lfs f1, 0x28(r4) /* 801BEACC 001BBA2C C0 04 00 24 */ lfs f0, 0x24(r4) /* 801BEAD0 001BBA30 D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 801BEAD4 001BBA34 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 801BEAD8 001BBA38 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 801BEADC 001BBA3C 90 A3 80 00 */ stw r5, 0xCC008000@l(r3) /* 801BEAE0 001BBA40 C0 44 00 38 */ lfs f2, 0x38(r4) /* 801BEAE4 001BBA44 C0 24 00 34 */ lfs f1, 0x34(r4) /* 801BEAE8 001BBA48 C0 04 00 30 */ lfs f0, 0x30(r4) /* 801BEAEC 001BBA4C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 801BEAF0 001BBA50 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 801BEAF4 001BBA54 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 801BEAF8 001BBA58 90 A3 80 00 */ stw r5, 0xCC008000@l(r3) /* 801BEAFC 001BBA5C C0 44 00 44 */ lfs f2, 0x44(r4) /* 801BEB00 001BBA60 C0 24 00 40 */ lfs f1, 0x40(r4) /* 801BEB04 001BBA64 C0 04 00 3C */ lfs f0, 0x3c(r4) /* 801BEB08 001BBA68 38 84 00 48 */ addi r4, r4, 0x48 /* 801BEB0C 001BBA6C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 801BEB10 001BBA70 D0 23 80 00 */ stfs f1, 0xCC008000@l(r3) /* 801BEB14 001BBA74 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3) /* 801BEB18 001BBA78 90 A3 80 00 */ stw r5, 0xCC008000@l(r3) /* 801BEB1C 001BBA7C 42 00 FF 54 */ bdnz lbl_801BEA70 /* 801BEB20 001BBA80 48 14 9A 61 */ bl End__3CGXFv /* 801BEB24 001BBA84 38 60 00 06 */ li r3, 6 /* 801BEB28 001BBA88 38 80 00 00 */ li r4, 0 /* 801BEB2C 001BBA8C 48 14 99 8D */ bl SetLineWidth__3CGXFUc12_GXTexOffset /* 801BEB30 001BBA90 E3 E1 02 18 */ psq_l f31, 536(r1), 0, qr0 /* 801BEB34 001BBA94 CB E1 02 10 */ lfd f31, 0x210(r1) /* 801BEB38 001BBA98 E3 C1 02 08 */ psq_l f30, 520(r1), 0, qr0 /* 801BEB3C 001BBA9C CB C1 02 00 */ lfd f30, 0x200(r1) /* 801BEB40 001BBAA0 E3 A1 01 F8 */ psq_l f29, 504(r1), 0, qr0 /* 801BEB44 001BBAA4 CB A1 01 F0 */ lfd f29, 0x1f0(r1) /* 801BEB48 001BBAA8 E3 81 01 E8 */ psq_l f28, 488(r1), 0, qr0 /* 801BEB4C 001BBAAC CB 81 01 E0 */ lfd f28, 0x1e0(r1) /* 801BEB50 001BBAB0 E3 61 01 D8 */ psq_l f27, 472(r1), 0, qr0 /* 801BEB54 001BBAB4 CB 61 01 D0 */ lfd f27, 0x1d0(r1) /* 801BEB58 001BBAB8 E3 41 01 C8 */ psq_l f26, 456(r1), 0, qr0 /* 801BEB5C 001BBABC CB 41 01 C0 */ lfd f26, 0x1c0(r1) /* 801BEB60 001BBAC0 E3 21 01 B8 */ psq_l f25, 440(r1), 0, qr0 /* 801BEB64 001BBAC4 CB 21 01 B0 */ lfd f25, 0x1b0(r1) /* 801BEB68 001BBAC8 E3 01 01 A8 */ psq_l f24, 424(r1), 0, qr0 /* 801BEB6C 001BBACC CB 01 01 A0 */ lfd f24, 0x1a0(r1) /* 801BEB70 001BBAD0 E2 E1 01 98 */ psq_l f23, 408(r1), 0, qr0 /* 801BEB74 001BBAD4 CA E1 01 90 */ lfd f23, 0x190(r1) /* 801BEB78 001BBAD8 E2 C1 01 88 */ psq_l f22, 392(r1), 0, qr0 /* 801BEB7C 001BBADC CA C1 01 80 */ lfd f22, 0x180(r1) /* 801BEB80 001BBAE0 E2 A1 01 78 */ psq_l f21, 376(r1), 0, qr0 /* 801BEB84 001BBAE4 CA A1 01 70 */ lfd f21, 0x170(r1) /* 801BEB88 001BBAE8 E2 81 01 68 */ psq_l f20, 360(r1), 0, qr0 /* 801BEB8C 001BBAEC CA 81 01 60 */ lfd f20, 0x160(r1) /* 801BEB90 001BBAF0 E2 61 01 58 */ psq_l f19, 344(r1), 0, qr0 /* 801BEB94 001BBAF4 CA 61 01 50 */ lfd f19, 0x150(r1) /* 801BEB98 001BBAF8 E2 41 01 48 */ psq_l f18, 328(r1), 0, qr0 /* 801BEB9C 001BBAFC CA 41 01 40 */ lfd f18, 0x140(r1) /* 801BEBA0 001BBB00 E2 21 01 38 */ psq_l f17, 312(r1), 0, qr0 /* 801BEBA4 001BBB04 CA 21 01 30 */ lfd f17, 0x130(r1) /* 801BEBA8 001BBB08 E2 01 01 28 */ psq_l f16, 296(r1), 0, qr0 /* 801BEBAC 001BBB0C CA 01 01 20 */ lfd f16, 0x120(r1) /* 801BEBB0 001BBB10 83 E1 01 1C */ lwz r31, 0x11c(r1) /* 801BEBB4 001BBB14 83 C1 01 18 */ lwz r30, 0x118(r1) /* 801BEBB8 001BBB18 80 01 02 24 */ lwz r0, 0x224(r1) /* 801BEBBC 001BBB1C 83 A1 01 14 */ lwz r29, 0x114(r1) /* 801BEBC0 001BBB20 7C 08 03 A6 */ mtlr r0 /* 801BEBC4 001BBB24 38 21 02 20 */ addi r1, r1, 0x220 /* 801BEBC8 001BBB28 4E 80 00 20 */ blr .global sub_801bebcc sub_801bebcc: /* 801BEBCC 001BBB2C 94 21 FF 80 */ stwu r1, -0x80(r1) /* 801BEBD0 001BBB30 7C 08 02 A6 */ mflr r0 /* 801BEBD4 001BBB34 90 01 00 84 */ stw r0, 0x84(r1) /* 801BEBD8 001BBB38 93 E1 00 7C */ stw r31, 0x7c(r1) /* 801BEBDC 001BBB3C 7C DF 33 78 */ mr r31, r6 /* 801BEBE0 001BBB40 93 C1 00 78 */ stw r30, 0x78(r1) /* 801BEBE4 001BBB44 7C BE 2B 78 */ mr r30, r5 /* 801BEBE8 001BBB48 93 A1 00 74 */ stw r29, 0x74(r1) /* 801BEBEC 001BBB4C 7C 9D 23 78 */ mr r29, r4 /* 801BEBF0 001BBB50 2C 1D 00 22 */ cmpwi r29, 0x22 /* 801BEBF4 001BBB54 93 81 00 70 */ stw r28, 0x70(r1) /* 801BEBF8 001BBB58 7C 7C 1B 78 */ mr r28, r3 /* 801BEBFC 001BBB5C 41 82 00 D8 */ beq lbl_801BECD4 /* 801BEC00 001BBB60 40 80 00 DC */ bge lbl_801BECDC /* 801BEC04 001BBB64 2C 1D 00 21 */ cmpwi r29, 0x21 /* 801BEC08 001BBB68 40 80 00 08 */ bge lbl_801BEC10 /* 801BEC0C 001BBB6C 48 00 00 D0 */ b lbl_801BECDC lbl_801BEC10: /* 801BEC10 001BBB70 80 7C 03 90 */ lwz r3, 0x390(r28) /* 801BEC14 001BBB74 28 03 00 00 */ cmplwi r3, 0 /* 801BEC18 001BBB78 41 82 00 60 */ beq lbl_801BEC78 /* 801BEC1C 001BBB7C 81 83 00 00 */ lwz r12, 0(r3) /* 801BEC20 001BBB80 81 8C 00 64 */ lwz r12, 0x64(r12) /* 801BEC24 001BBB84 7D 89 03 A6 */ mtctr r12 /* 801BEC28 001BBB88 4E 80 04 21 */ bctrl /* 801BEC2C 001BBB8C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801BEC30 001BBB90 41 82 00 48 */ beq lbl_801BEC78 /* 801BEC34 001BBB94 3C 80 80 3D */ lis r4, lbl_803D1A20@ha /* 801BEC38 001BBB98 38 61 00 0C */ addi r3, r1, 0xc /* 801BEC3C 001BBB9C 38 84 1A 20 */ addi r4, r4, lbl_803D1A20@l /* 801BEC40 001BBBA0 4B E4 60 79 */ bl string_l__4rstlFPCc /* 801BEC44 001BBBA4 80 9C 03 90 */ lwz r4, 0x390(r28) /* 801BEC48 001BBBA8 38 61 00 1C */ addi r3, r1, 0x1c /* 801BEC4C 001BBBAC 81 84 00 00 */ lwz r12, 0(r4) /* 801BEC50 001BBBB0 81 8C 00 68 */ lwz r12, 0x68(r12) /* 801BEC54 001BBBB4 7D 89 03 A6 */ mtctr r12 /* 801BEC58 001BBBB8 4E 80 04 21 */ bctrl /* 801BEC5C 001BBBBC 7F 83 E3 78 */ mr r3, r28 /* 801BEC60 001BBBC0 7F E6 FB 78 */ mr r6, r31 /* 801BEC64 001BBBC4 38 81 00 0C */ addi r4, r1, 0xc /* 801BEC68 001BBBC8 38 A1 00 1C */ addi r5, r1, 0x1c /* 801BEC6C 001BBBCC 4B E7 8C 91 */ bl "CreateProjectileLight__15CGameProjectileFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC6CLightR13CStateManager" /* 801BEC70 001BBBD0 38 61 00 0C */ addi r3, r1, 0xc /* 801BEC74 001BBBD4 48 17 EE 6D */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_801BEC78: /* 801BEC78 001BBBD8 88 1C 00 E6 */ lbz r0, 0xe6(r28) /* 801BEC7C 001BBBDC 38 60 00 02 */ li r3, 2 /* 801BEC80 001BBBE0 50 60 1E F8 */ rlwimi r0, r3, 3, 0x1b, 0x1c /* 801BEC84 001BBBE4 98 1C 00 E6 */ stb r0, 0xe6(r28) /* 801BEC88 001BBBE8 C0 5C 03 14 */ lfs f2, 0x314(r28) /* 801BEC8C 001BBBEC C0 3C 03 04 */ lfs f1, 0x304(r28) /* 801BEC90 001BBBF0 C0 1C 02 F4 */ lfs f0, 0x2f4(r28) /* 801BEC94 001BBBF4 D0 1C 03 18 */ stfs f0, 0x318(r28) /* 801BEC98 001BBBF8 D0 3C 03 1C */ stfs f1, 0x31c(r28) /* 801BEC9C 001BBBFC D0 5C 03 20 */ stfs f2, 0x320(r28) /* 801BECA0 001BBC00 C0 5C 00 60 */ lfs f2, 0x60(r28) /* 801BECA4 001BBC04 C0 3C 00 50 */ lfs f1, 0x50(r28) /* 801BECA8 001BBC08 C0 1C 00 40 */ lfs f0, 0x40(r28) /* 801BECAC 001BBC0C D0 1C 03 24 */ stfs f0, 0x324(r28) /* 801BECB0 001BBC10 D0 3C 03 28 */ stfs f1, 0x328(r28) /* 801BECB4 001BBC14 D0 5C 03 2C */ stfs f2, 0x32c(r28) /* 801BECB8 001BBC18 C0 1C 03 24 */ lfs f0, 0x324(r28) /* 801BECBC 001BBC1C D0 1C 03 30 */ stfs f0, 0x330(r28) /* 801BECC0 001BBC20 C0 1C 03 28 */ lfs f0, 0x328(r28) /* 801BECC4 001BBC24 D0 1C 03 34 */ stfs f0, 0x334(r28) /* 801BECC8 001BBC28 C0 1C 03 2C */ lfs f0, 0x32c(r28) /* 801BECCC 001BBC2C D0 1C 03 38 */ stfs f0, 0x338(r28) /* 801BECD0 001BBC30 48 00 00 0C */ b lbl_801BECDC lbl_801BECD4: /* 801BECD4 001BBC34 7F E4 FB 78 */ mr r4, r31 /* 801BECD8 001BBC38 4B E7 8B D1 */ bl DeleteProjectileLight__15CGameProjectileFR13CStateManager lbl_801BECDC: /* 801BECDC 001BBC3C A0 1E 00 00 */ lhz r0, 0(r30) /* 801BECE0 001BBC40 7F 83 E3 78 */ mr r3, r28 /* 801BECE4 001BBC44 7F A4 EB 78 */ mr r4, r29 /* 801BECE8 001BBC48 7F E6 FB 78 */ mr r6, r31 /* 801BECEC 001BBC4C B0 01 00 08 */ sth r0, 8(r1) /* 801BECF0 001BBC50 38 A1 00 08 */ addi r5, r1, 8 /* 801BECF4 001BBC54 4B E7 98 D9 */ bl AcceptScriptMsg__15CGameProjectileF20EScriptObjectMessage9TUniqueIdR13CStateManager /* 801BECF8 001BBC58 80 01 00 84 */ lwz r0, 0x84(r1) /* 801BECFC 001BBC5C 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 801BED00 001BBC60 83 C1 00 78 */ lwz r30, 0x78(r1) /* 801BED04 001BBC64 83 A1 00 74 */ lwz r29, 0x74(r1) /* 801BED08 001BBC68 83 81 00 70 */ lwz r28, 0x70(r1) /* 801BED0C 001BBC6C 7C 08 03 A6 */ mtlr r0 /* 801BED10 001BBC70 38 21 00 80 */ addi r1, r1, 0x80 /* 801BED14 001BBC74 4E 80 00 20 */ blr .global ResetBeam__11CWaveBusterFb ResetBeam__11CWaveBusterFb: /* 801BED18 001BBC78 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BED1C 001BBC7C 7C 08 02 A6 */ mflr r0 /* 801BED20 001BBC80 90 01 00 14 */ stw r0, 0x14(r1) /* 801BED24 001BBC84 54 80 06 3F */ clrlwi. r0, r4, 0x18 /* 801BED28 001BBC88 93 E1 00 0C */ stw r31, 0xc(r1) /* 801BED2C 001BBC8C 7C 7F 1B 78 */ mr r31, r3 /* 801BED30 001BBC90 41 82 00 4C */ beq lbl_801BED7C /* 801BED34 001BBC94 81 83 00 00 */ lwz r12, 0(r3) /* 801BED38 001BBC98 38 80 00 00 */ li r4, 0 /* 801BED3C 001BBC9C 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 801BED40 001BBCA0 7D 89 03 A6 */ mtctr r12 /* 801BED44 001BBCA4 4E 80 04 21 */ bctrl /* 801BED48 001BBCA8 88 1F 03 D0 */ lbz r0, 0x3d0(r31) /* 801BED4C 001BBCAC 38 60 00 00 */ li r3, 0 /* 801BED50 001BBCB0 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 801BED54 001BBCB4 38 80 00 00 */ li r4, 0 /* 801BED58 001BBCB8 98 1F 03 D0 */ stb r0, 0x3d0(r31) /* 801BED5C 001BBCBC 80 7F 03 8C */ lwz r3, 0x38c(r31) /* 801BED60 001BBCC0 81 83 00 00 */ lwz r12, 0(r3) /* 801BED64 001BBCC4 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 801BED68 001BBCC8 7D 89 03 A6 */ mtctr r12 /* 801BED6C 001BBCCC 4E 80 04 21 */ bctrl /* 801BED70 001BBCD0 C0 02 AA 20 */ lfs f0, lbl_805AC740@sda21(r2) /* 801BED74 001BBCD4 D0 1F 03 98 */ stfs f0, 0x398(r31) /* 801BED78 001BBCD8 48 00 00 2C */ b lbl_801BEDA4 lbl_801BED7C: /* 801BED7C 001BBCDC 80 7F 03 8C */ lwz r3, 0x38c(r31) /* 801BED80 001BBCE0 38 80 00 00 */ li r4, 0 /* 801BED84 001BBCE4 81 83 00 00 */ lwz r12, 0(r3) /* 801BED88 001BBCE8 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 801BED8C 001BBCEC 7D 89 03 A6 */ mtctr r12 /* 801BED90 001BBCF0 4E 80 04 21 */ bctrl /* 801BED94 001BBCF4 88 1F 03 D0 */ lbz r0, 0x3d0(r31) /* 801BED98 001BBCF8 38 60 00 00 */ li r3, 0 /* 801BED9C 001BBCFC 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 801BEDA0 001BBD00 98 1F 03 D0 */ stb r0, 0x3d0(r31) lbl_801BEDA4: /* 801BEDA4 001BBD04 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BEDA8 001BBD08 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801BEDAC 001BBD0C 7C 08 03 A6 */ mtlr r0 /* 801BEDB0 001BBD10 38 21 00 10 */ addi r1, r1, 0x10 /* 801BEDB4 001BBD14 4E 80 00 20 */ blr .global sub_801bedb8 sub_801bedb8: /* 801BEDB8 001BBD18 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BEDBC 001BBD1C 7C 08 02 A6 */ mflr r0 /* 801BEDC0 001BBD20 90 01 00 14 */ stw r0, 0x14(r1) /* 801BEDC4 001BBD24 93 E1 00 0C */ stw r31, 0xc(r1) /* 801BEDC8 001BBD28 7C 9F 23 78 */ mr r31, r4 /* 801BEDCC 001BBD2C 93 C1 00 08 */ stw r30, 8(r1) /* 801BEDD0 001BBD30 7C 7E 1B 78 */ mr r30, r3 /* 801BEDD4 001BBD34 4B FF F5 7D */ bl sub_801be350 /* 801BEDD8 001BBD38 7F C3 F3 78 */ mr r3, r30 /* 801BEDDC 001BBD3C 4B FF F7 E5 */ bl sub_801be5c0 /* 801BEDE0 001BBD40 7F C3 F3 78 */ mr r3, r30 /* 801BEDE4 001BBD44 7F E4 FB 78 */ mr r4, r31 /* 801BEDE8 001BBD48 4B F4 31 21 */ bl Render__7CWeaponCFRC13CStateManager /* 801BEDEC 001BBD4C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BEDF0 001BBD50 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801BEDF4 001BBD54 83 C1 00 08 */ lwz r30, 8(r1) /* 801BEDF8 001BBD58 7C 08 03 A6 */ mtlr r0 /* 801BEDFC 001BBD5C 38 21 00 10 */ addi r1, r1, 0x10 /* 801BEE00 001BBD60 4E 80 00 20 */ blr .global sub_801bee04 sub_801bee04: /* 801BEE04 001BBD64 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801BEE08 001BBD68 7C 08 02 A6 */ mflr r0 /* 801BEE0C 001BBD6C 90 01 00 44 */ stw r0, 0x44(r1) /* 801BEE10 001BBD70 93 E1 00 3C */ stw r31, 0x3c(r1) /* 801BEE14 001BBD74 7C BF 2B 78 */ mr r31, r5 /* 801BEE18 001BBD78 93 C1 00 38 */ stw r30, 0x38(r1) /* 801BEE1C 001BBD7C 7C 7E 1B 78 */ mr r30, r3 /* 801BEE20 001BBD80 7F C4 F3 78 */ mr r4, r30 /* 801BEE24 001BBD84 C0 43 03 14 */ lfs f2, 0x314(r3) /* 801BEE28 001BBD88 C0 23 03 04 */ lfs f1, 0x304(r3) /* 801BEE2C 001BBD8C 38 61 00 14 */ addi r3, r1, 0x14 /* 801BEE30 001BBD90 C0 1E 02 F4 */ lfs f0, 0x2f4(r30) /* 801BEE34 001BBD94 D0 21 00 0C */ stfs f1, 0xc(r1) /* 801BEE38 001BBD98 D0 01 00 08 */ stfs f0, 8(r1) /* 801BEE3C 001BBD9C D0 41 00 10 */ stfs f2, 0x10(r1) /* 801BEE40 001BBDA0 81 9E 00 00 */ lwz r12, 0(r30) /* 801BEE44 001BBDA4 81 8C 00 64 */ lwz r12, 0x64(r12) /* 801BEE48 001BBDA8 7D 89 03 A6 */ mtctr r12 /* 801BEE4C 001BBDAC 4E 80 04 21 */ bctrl /* 801BEE50 001BBDB0 7F C3 F3 78 */ mr r3, r30 /* 801BEE54 001BBDB4 7F E4 FB 78 */ mr r4, r31 /* 801BEE58 001BBDB8 38 A1 00 08 */ addi r5, r1, 8 /* 801BEE5C 001BBDBC 38 C1 00 14 */ addi r6, r1, 0x14 /* 801BEE60 001BBDC0 4B E9 5C 49 */ bl EnsureRendered__6CActorCFRC13CStateManagerRC9CVector3fRC6CAABox /* 801BEE64 001BBDC4 80 01 00 44 */ lwz r0, 0x44(r1) /* 801BEE68 001BBDC8 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 801BEE6C 001BBDCC 83 C1 00 38 */ lwz r30, 0x38(r1) /* 801BEE70 001BBDD0 7C 08 03 A6 */ mtlr r0 /* 801BEE74 001BBDD4 38 21 00 40 */ addi r1, r1, 0x40 /* 801BEE78 001BBDD8 4E 80 00 20 */ blr .global UpdateFx__11CWaveBusterFRC12CTransform4ffR13CStateManager UpdateFx__11CWaveBusterFRC12CTransform4ffR13CStateManager: /* 801BEE7C 001BBDDC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801BEE80 001BBDE0 7C 08 02 A6 */ mflr r0 /* 801BEE84 001BBDE4 90 01 00 34 */ stw r0, 0x34(r1) /* 801BEE88 001BBDE8 DB E1 00 20 */ stfd f31, 0x20(r1) /* 801BEE8C 001BBDEC F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 801BEE90 001BBDF0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801BEE94 001BBDF4 88 03 00 30 */ lbz r0, 0x30(r3) /* 801BEE98 001BBDF8 FF E0 08 90 */ fmr f31, f1 /* 801BEE9C 001BBDFC 7C 7F 1B 78 */ mr r31, r3 /* 801BEEA0 001BBE00 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 801BEEA4 001BBE04 41 82 00 68 */ beq lbl_801BEF0C /* 801BEEA8 001BBE08 38 7F 02 E8 */ addi r3, r31, 0x2e8 /* 801BEEAC 001BBE0C 48 15 3C 95 */ bl __as__12CTransform4fFRC12CTransform4f /* 801BEEB0 001BBE10 C0 42 AA 2C */ lfs f2, lbl_805AC74C@sda21(r2) /* 801BEEB4 001BBE14 C0 3F 03 98 */ lfs f1, 0x398(r31) /* 801BEEB8 001BBE18 C0 02 AA 04 */ lfs f0, lbl_805AC724@sda21(r2) /* 801BEEBC 001BBE1C EC 22 0F FC */ fnmsubs f1, f2, f31, f1 /* 801BEEC0 001BBE20 D0 3F 03 98 */ stfs f1, 0x398(r31) /* 801BEEC4 001BBE24 C0 3F 03 98 */ lfs f1, 0x398(r31) /* 801BEEC8 001BBE28 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801BEECC 001BBE2C 40 80 00 0C */ bge lbl_801BEED8 /* 801BEED0 001BBE30 C0 02 AA 20 */ lfs f0, lbl_805AC740@sda21(r2) /* 801BEED4 001BBE34 D0 1F 03 98 */ stfs f0, 0x398(r31) lbl_801BEED8: /* 801BEED8 001BBE38 88 1F 03 D0 */ lbz r0, 0x3d0(r31) /* 801BEEDC 001BBE3C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 801BEEE0 001BBE40 41 82 00 0C */ beq lbl_801BEEEC /* 801BEEE4 001BBE44 C0 22 AA 30 */ lfs f1, lbl_805AC750@sda21(r2) /* 801BEEE8 001BBE48 48 00 00 08 */ b lbl_801BEEF0 lbl_801BEEEC: /* 801BEEEC 001BBE4C C0 22 AA 04 */ lfs f1, lbl_805AC724@sda21(r2) lbl_801BEEF0: /* 801BEEF0 001BBE50 C0 02 AA 04 */ lfs f0, lbl_805AC724@sda21(r2) /* 801BEEF4 001BBE54 38 7F 01 70 */ addi r3, r31, 0x170 /* 801BEEF8 001BBE58 D0 21 00 0C */ stfs f1, 0xc(r1) /* 801BEEFC 001BBE5C 38 81 00 08 */ addi r4, r1, 8 /* 801BEF00 001BBE60 D0 01 00 08 */ stfs f0, 8(r1) /* 801BEF04 001BBE64 D0 01 00 10 */ stfs f0, 0x10(r1) /* 801BEF08 001BBE68 48 0F 02 35 */ bl SetVelocity__17CProjectileWeaponFRC9CVector3f lbl_801BEF0C: /* 801BEF0C 001BBE6C E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 801BEF10 001BBE70 80 01 00 34 */ lwz r0, 0x34(r1) /* 801BEF14 001BBE74 CB E1 00 20 */ lfd f31, 0x20(r1) /* 801BEF18 001BBE78 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801BEF1C 001BBE7C 7C 08 03 A6 */ mtlr r0 /* 801BEF20 001BBE80 38 21 00 30 */ addi r1, r1, 0x30 /* 801BEF24 001BBE84 4E 80 00 20 */ blr .global sub_801bef28 sub_801bef28: /* 801BEF28 001BBE88 94 21 FD D0 */ stwu r1, -0x230(r1) /* 801BEF2C 001BBE8C 7C 08 02 A6 */ mflr r0 /* 801BEF30 001BBE90 90 01 02 34 */ stw r0, 0x234(r1) /* 801BEF34 001BBE94 DB E1 02 20 */ stfd f31, 0x220(r1) /* 801BEF38 001BBE98 F3 E1 02 28 */ psq_st f31, 552(r1), 0, qr0 /* 801BEF3C 001BBE9C DB C1 02 10 */ stfd f30, 0x210(r1) /* 801BEF40 001BBEA0 F3 C1 02 18 */ psq_st f30, 536(r1), 0, qr0 /* 801BEF44 001BBEA4 93 E1 02 0C */ stw r31, 0x20c(r1) /* 801BEF48 001BBEA8 93 C1 02 08 */ stw r30, 0x208(r1) /* 801BEF4C 001BBEAC 93 A1 02 04 */ stw r29, 0x204(r1) /* 801BEF50 001BBEB0 FF C0 08 90 */ fmr f30, f1 /* 801BEF54 001BBEB4 7C 7E 1B 78 */ mr r30, r3 /* 801BEF58 001BBEB8 7C 9F 23 78 */ mr r31, r4 /* 801BEF5C 001BBEBC 4B F4 31 7D */ bl Think__7CWeaponFfR13CStateManager /* 801BEF60 001BBEC0 88 1E 00 30 */ lbz r0, 0x30(r30) /* 801BEF64 001BBEC4 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 801BEF68 001BBEC8 41 82 06 04 */ beq lbl_801BF56C /* 801BEF6C 001BBECC 80 9F 08 50 */ lwz r4, 0x850(r31) /* 801BEF70 001BBED0 80 7E 00 04 */ lwz r3, 4(r30) /* 801BEF74 001BBED4 80 04 00 68 */ lwz r0, 0x68(r4) /* 801BEF78 001BBED8 7C 03 00 00 */ cmpw r3, r0 /* 801BEF7C 001BBEDC 41 82 00 1C */ beq lbl_801BEF98 /* 801BEF80 001BBEE0 90 01 00 34 */ stw r0, 0x34(r1) /* 801BEF84 001BBEE4 7F E3 FB 78 */ mr r3, r31 /* 801BEF88 001BBEE8 7F C4 F3 78 */ mr r4, r30 /* 801BEF8C 001BBEEC 38 A1 00 38 */ addi r5, r1, 0x38 /* 801BEF90 001BBEF0 90 01 00 38 */ stw r0, 0x38(r1) /* 801BEF94 001BBEF4 4B E8 62 E5 */ bl SetActorAreaId__13CStateManagerFR6CActor7TAreaId lbl_801BEF98: /* 801BEF98 001BBEF8 88 1E 03 D0 */ lbz r0, 0x3d0(r30) /* 801BEF9C 001BBEFC 38 A0 00 00 */ li r5, 0 /* 801BEFA0 001BBF00 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b /* 801BEFA4 001BBF04 C3 E2 A9 FC */ lfs f31, lbl_805AC71C@sda21(r2) /* 801BEFA8 001BBF08 98 1E 03 D0 */ stb r0, 0x3d0(r30) /* 801BEFAC 001BBF0C 38 61 00 B8 */ addi r3, r1, 0xb8 /* 801BEFB0 001BBF10 38 81 00 AC */ addi r4, r1, 0xac /* 801BEFB4 001BBF14 88 1E 03 D0 */ lbz r0, 0x3d0(r30) /* 801BEFB8 001BBF18 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c /* 801BEFBC 001BBF1C 98 1E 03 D0 */ stb r0, 0x3d0(r30) /* 801BEFC0 001BBF20 C0 5E 03 14 */ lfs f2, 0x314(r30) /* 801BEFC4 001BBF24 C0 3E 03 04 */ lfs f1, 0x304(r30) /* 801BEFC8 001BBF28 C0 1E 02 F4 */ lfs f0, 0x2f4(r30) /* 801BEFCC 001BBF2C D0 01 00 D0 */ stfs f0, 0xd0(r1) /* 801BEFD0 001BBF30 D0 21 00 D4 */ stfs f1, 0xd4(r1) /* 801BEFD4 001BBF34 D0 41 00 D8 */ stfs f2, 0xd8(r1) /* 801BEFD8 001BBF38 C0 5E 03 0C */ lfs f2, 0x30c(r30) /* 801BEFDC 001BBF3C C0 3E 02 FC */ lfs f1, 0x2fc(r30) /* 801BEFE0 001BBF40 C0 1E 02 EC */ lfs f0, 0x2ec(r30) /* 801BEFE4 001BBF44 D0 01 00 AC */ stfs f0, 0xac(r1) /* 801BEFE8 001BBF48 D0 21 00 B0 */ stfs f1, 0xb0(r1) /* 801BEFEC 001BBF4C D0 41 00 B4 */ stfs f2, 0xb4(r1) /* 801BEFF0 001BBF50 48 15 58 61 */ bl AsNormalized__9CVector3fCFv /* 801BEFF4 001BBF54 C0 41 00 B8 */ lfs f2, 0xb8(r1) /* 801BEFF8 001BBF58 C0 21 00 BC */ lfs f1, 0xbc(r1) /* 801BEFFC 001BBF5C C0 01 00 C0 */ lfs f0, 0xc0(r1) /* 801BF000 001BBF60 D0 41 00 C4 */ stfs f2, 0xc4(r1) /* 801BF004 001BBF64 D0 21 00 C8 */ stfs f1, 0xc8(r1) /* 801BF008 001BBF68 D0 01 00 CC */ stfs f0, 0xcc(r1) /* 801BF00C 001BBF6C 88 7E 03 D0 */ lbz r3, 0x3d0(r30) /* 801BF010 001BBF70 54 60 D7 FF */ rlwinm. r0, r3, 0x1a, 0x1f, 0x1f /* 801BF014 001BBF74 40 82 01 54 */ bne lbl_801BF168 /* 801BF018 001BBF78 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f /* 801BF01C 001BBF7C 40 82 01 4C */ bne lbl_801BF168 /* 801BF020 001BBF80 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801BF024 001BBF84 FC 20 F0 90 */ fmr f1, f30 /* 801BF028 001BBF88 7F C4 F3 78 */ mr r4, r30 /* 801BF02C 001BBF8C 7F E8 FB 78 */ mr r8, r31 /* 801BF030 001BBF90 B0 01 00 2C */ sth r0, 0x2c(r1) /* 801BF034 001BBF94 38 61 01 78 */ addi r3, r1, 0x178 /* 801BF038 001BBF98 38 A1 00 2C */ addi r5, r1, 0x2c /* 801BF03C 001BBF9C 38 C1 00 D0 */ addi r6, r1, 0xd0 /* 801BF040 001BBFA0 38 E1 00 C4 */ addi r7, r1, 0xc4 /* 801BF044 001BBFA4 4B FF EF CD */ bl sub_801be010 /* 801BF048 001BBFA8 88 01 01 98 */ lbz r0, 0x198(r1) /* 801BF04C 001BBFAC C0 21 01 78 */ lfs f1, 0x178(r1) /* 801BF050 001BBFB0 28 00 00 00 */ cmplwi r0, 0 /* 801BF054 001BBFB4 41 82 01 14 */ beq lbl_801BF168 /* 801BF058 001BBFB8 C0 02 A9 FC */ lfs f0, lbl_805AC71C@sda21(r2) /* 801BF05C 001BBFBC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801BF060 001BBFC0 40 80 01 08 */ bge lbl_801BF168 /* 801BF064 001BBFC4 A0 01 00 2C */ lhz r0, 0x2c(r1) /* 801BF068 001BBFC8 FF E0 08 90 */ fmr f31, f1 /* 801BF06C 001BBFCC 7F E3 FB 78 */ mr r3, r31 /* 801BF070 001BBFD0 38 81 00 28 */ addi r4, r1, 0x28 /* 801BF074 001BBFD4 B0 01 00 28 */ sth r0, 0x28(r1) /* 801BF078 001BBFD8 4B E8 D4 FD */ bl ObjectById__13CStateManagerF9TUniqueId /* 801BF07C 001BBFDC 7C 64 1B 78 */ mr r4, r3 /* 801BF080 001BBFE0 38 61 00 44 */ addi r3, r1, 0x44 /* 801BF084 001BBFE4 4B EF 0C 0D */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 801BF088 001BBFE8 83 A3 00 04 */ lwz r29, 4(r3) /* 801BF08C 001BBFEC 28 1D 00 00 */ cmplwi r29, 0 /* 801BF090 001BBFF0 41 82 00 B8 */ beq lbl_801BF148 /* 801BF094 001BBFF4 7F A3 EB 78 */ mr r3, r29 /* 801BF098 001BBFF8 7F C4 F3 78 */ mr r4, r30 /* 801BF09C 001BBFFC 81 9D 00 00 */ lwz r12, 0(r29) /* 801BF0A0 001BC000 7F E5 FB 78 */ mr r5, r31 /* 801BF0A4 001BC004 81 8C 00 44 */ lwz r12, 0x44(r12) /* 801BF0A8 001BC008 7D 89 03 A6 */ mtctr r12 /* 801BF0AC 001BC00C 4E 80 04 21 */ bctrl /* 801BF0B0 001BC010 C0 7E 00 58 */ lfs f3, 0x58(r30) /* 801BF0B4 001BC014 FC 20 F0 90 */ fmr f1, f30 /* 801BF0B8 001BC018 C0 5E 00 48 */ lfs f2, 0x48(r30) /* 801BF0BC 001BC01C 38 61 00 F8 */ addi r3, r1, 0xf8 /* 801BF0C0 001BC020 C0 1E 00 38 */ lfs f0, 0x38(r30) /* 801BF0C4 001BC024 38 9E 01 2C */ addi r4, r30, 0x12c /* 801BF0C8 001BC028 D0 01 00 A0 */ stfs f0, 0xa0(r1) /* 801BF0CC 001BC02C D0 41 00 A4 */ stfs f2, 0xa4(r1) /* 801BF0D0 001BC030 D0 61 00 A8 */ stfs f3, 0xa8(r1) /* 801BF0D4 001BC034 80 1E 00 F8 */ lwz r0, 0xf8(r30) /* 801BF0D8 001BC038 80 BE 00 FC */ lwz r5, 0xfc(r30) /* 801BF0DC 001BC03C 90 A1 00 E4 */ stw r5, 0xe4(r1) /* 801BF0E0 001BC040 90 01 00 E0 */ stw r0, 0xe0(r1) /* 801BF0E4 001BC044 80 1E 01 00 */ lwz r0, 0x100(r30) /* 801BF0E8 001BC048 80 BE 01 04 */ lwz r5, 0x104(r30) /* 801BF0EC 001BC04C 90 A1 00 EC */ stw r5, 0xec(r1) /* 801BF0F0 001BC050 90 01 00 E8 */ stw r0, 0xe8(r1) /* 801BF0F4 001BC054 80 1E 01 08 */ lwz r0, 0x108(r30) /* 801BF0F8 001BC058 90 01 00 F0 */ stw r0, 0xf0(r1) /* 801BF0FC 001BC05C 4B F0 43 4D */ bl __ct__11CDamageInfoFRC11CDamageInfof /* 801BF100 001BC060 A0 1E 00 EC */ lhz r0, 0xec(r30) /* 801BF104 001BC064 7F E3 FB 78 */ mr r3, r31 /* 801BF108 001BC068 38 81 00 24 */ addi r4, r1, 0x24 /* 801BF10C 001BC06C 38 A1 00 1C */ addi r5, r1, 0x1c /* 801BF110 001BC070 B0 01 00 14 */ sth r0, 0x14(r1) /* 801BF114 001BC074 38 C1 00 14 */ addi r6, r1, 0x14 /* 801BF118 001BC078 38 E1 00 F8 */ addi r7, r1, 0xf8 /* 801BF11C 001BC07C 39 01 00 E0 */ addi r8, r1, 0xe0 /* 801BF120 001BC080 A1 5D 00 08 */ lhz r10, 8(r29) /* 801BF124 001BC084 39 21 00 A0 */ addi r9, r1, 0xa0 /* 801BF128 001BC088 B0 01 00 10 */ sth r0, 0x10(r1) /* 801BF12C 001BC08C B1 41 00 1C */ sth r10, 0x1c(r1) /* 801BF130 001BC090 A0 1E 00 08 */ lhz r0, 8(r30) /* 801BF134 001BC094 B1 41 00 18 */ sth r10, 0x18(r1) /* 801BF138 001BC098 B0 01 00 20 */ sth r0, 0x20(r1) /* 801BF13C 001BC09C B0 01 00 24 */ sth r0, 0x24(r1) /* 801BF140 001BC0A0 4B E8 AF 61 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f /* 801BF144 001BC0A4 48 00 00 14 */ b lbl_801BF158 lbl_801BF148: /* 801BF148 001BC0A8 88 1E 03 D0 */ lbz r0, 0x3d0(r30) /* 801BF14C 001BC0AC 38 60 00 01 */ li r3, 1 /* 801BF150 001BC0B0 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 801BF154 001BC0B4 98 1E 03 D0 */ stb r0, 0x3d0(r30) lbl_801BF158: /* 801BF158 001BC0B8 88 1E 03 D0 */ lbz r0, 0x3d0(r30) /* 801BF15C 001BC0BC 38 60 00 01 */ li r3, 1 /* 801BF160 001BC0C0 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 801BF164 001BC0C4 98 1E 03 D0 */ stb r0, 0x3d0(r30) lbl_801BF168: /* 801BF168 001BC0C8 A0 7E 02 C0 */ lhz r3, 0x2c0(r30) /* 801BF16C 001BC0CC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801BF170 001BC0D0 7C 03 00 40 */ cmplw r3, r0 /* 801BF174 001BC0D4 41 82 00 24 */ beq lbl_801BF198 /* 801BF178 001BC0D8 88 1E 03 D0 */ lbz r0, 0x3d0(r30) /* 801BF17C 001BC0DC 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 801BF180 001BC0E0 41 82 00 18 */ beq lbl_801BF198 /* 801BF184 001BC0E4 FC 20 F0 90 */ fmr f1, f30 /* 801BF188 001BC0E8 7F C3 F3 78 */ mr r3, r30 /* 801BF18C 001BC0EC 7F E4 FB 78 */ mr r4, r31 /* 801BF190 001BC0F0 48 00 08 2D */ bl sub_801bf9bc /* 801BF194 001BC0F4 48 00 00 C0 */ b lbl_801BF254 lbl_801BF198: /* 801BF198 001BC0F8 C0 42 AA 0C */ lfs f2, lbl_805AC72C@sda21(r2) /* 801BF19C 001BC0FC C0 01 00 C4 */ lfs f0, 0xc4(r1) /* 801BF1A0 001BC100 EC 9F 10 28 */ fsubs f4, f31, f2 /* 801BF1A4 001BC104 C0 A1 00 C8 */ lfs f5, 0xc8(r1) /* 801BF1A8 001BC108 C0 21 00 D0 */ lfs f1, 0xd0(r1) /* 801BF1AC 001BC10C C0 61 00 CC */ lfs f3, 0xcc(r1) /* 801BF1B0 001BC110 FC E4 17 EE */ fsel f7, f4, f31, f2 /* 801BF1B4 001BC114 C0 C1 00 D4 */ lfs f6, 0xd4(r1) /* 801BF1B8 001BC118 C0 81 00 D8 */ lfs f4, 0xd8(r1) /* 801BF1BC 001BC11C EC 07 00 32 */ fmuls f0, f7, f0 /* 801BF1C0 001BC120 EC A7 01 72 */ fmuls f5, f7, f5 /* 801BF1C4 001BC124 EC 67 00 F2 */ fmuls f3, f7, f3 /* 801BF1C8 001BC128 EC 01 00 2A */ fadds f0, f1, f0 /* 801BF1CC 001BC12C EC A6 28 2A */ fadds f5, f6, f5 /* 801BF1D0 001BC130 EC 24 18 2A */ fadds f1, f4, f3 /* 801BF1D4 001BC134 D0 1E 03 48 */ stfs f0, 0x348(r30) /* 801BF1D8 001BC138 D0 BE 03 4C */ stfs f5, 0x34c(r30) /* 801BF1DC 001BC13C D0 3E 03 50 */ stfs f1, 0x350(r30) /* 801BF1E0 001BC140 88 1E 03 D0 */ lbz r0, 0x3d0(r30) /* 801BF1E4 001BC144 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 801BF1E8 001BC148 41 82 00 18 */ beq lbl_801BF200 /* 801BF1EC 001BC14C FC 20 F0 90 */ fmr f1, f30 /* 801BF1F0 001BC150 7F C3 F3 78 */ mr r3, r30 /* 801BF1F4 001BC154 7F E4 FB 78 */ mr r4, r31 /* 801BF1F8 001BC158 48 00 03 A1 */ bl sub_801bf598 /* 801BF1FC 001BC15C 48 00 00 58 */ b lbl_801BF254 lbl_801BF200: /* 801BF200 001BC160 80 7F 09 00 */ lwz r3, 0x900(r31) /* 801BF204 001BC164 C0 22 AA 34 */ lfs f1, lbl_805AC754@sda21(r2) /* 801BF208 001BC168 48 15 33 3D */ bl Range__9CRandom16Fff /* 801BF20C 001BC16C FF E0 08 90 */ fmr f31, f1 /* 801BF210 001BC170 80 7F 09 00 */ lwz r3, 0x900(r31) /* 801BF214 001BC174 C0 22 AA 34 */ lfs f1, lbl_805AC754@sda21(r2) /* 801BF218 001BC178 C0 42 AA 0C */ lfs f2, lbl_805AC72C@sda21(r2) /* 801BF21C 001BC17C 48 15 33 29 */ bl Range__9CRandom16Fff /* 801BF220 001BC180 C0 5E 03 48 */ lfs f2, 0x348(r30) /* 801BF224 001BC184 7F C3 F3 78 */ mr r3, r30 /* 801BF228 001BC188 C0 02 AA 04 */ lfs f0, lbl_805AC724@sda21(r2) /* 801BF22C 001BC18C 38 9E 03 48 */ addi r4, r30, 0x348 /* 801BF230 001BC190 EC 42 F8 2A */ fadds f2, f2, f31 /* 801BF234 001BC194 D0 5E 03 48 */ stfs f2, 0x348(r30) /* 801BF238 001BC198 C0 5E 03 4C */ lfs f2, 0x34c(r30) /* 801BF23C 001BC19C EC 02 00 2A */ fadds f0, f2, f0 /* 801BF240 001BC1A0 D0 1E 03 4C */ stfs f0, 0x34c(r30) /* 801BF244 001BC1A4 C0 1E 03 50 */ lfs f0, 0x350(r30) /* 801BF248 001BC1A8 EC 00 08 2A */ fadds f0, f0, f1 /* 801BF24C 001BC1AC D0 1E 03 50 */ stfs f0, 0x350(r30) /* 801BF250 001BC1B0 4B E9 3C 3D */ bl SetTranslation__6CActorFRC9CVector3f lbl_801BF254: /* 801BF254 001BC1B4 FC 20 F0 90 */ fmr f1, f30 /* 801BF258 001BC1B8 7F C3 F3 78 */ mr r3, r30 /* 801BF25C 001BC1BC 7F E4 FB 78 */ mr r4, r31 /* 801BF260 001BC1C0 48 00 09 D5 */ bl sub_801bfc34 /* 801BF264 001BC1C4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801BF268 001BC1C8 41 82 00 10 */ beq lbl_801BF278 /* 801BF26C 001BC1CC 7F C3 F3 78 */ mr r3, r30 /* 801BF270 001BC1D0 38 80 00 01 */ li r4, 1 /* 801BF274 001BC1D4 4B FF FA A5 */ bl ResetBeam__11CWaveBusterFb lbl_801BF278: /* 801BF278 001BC1D8 A0 7E 02 C0 */ lhz r3, 0x2c0(r30) /* 801BF27C 001BC1DC 38 80 00 00 */ li r4, 0 /* 801BF280 001BC1E0 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801BF284 001BC1E4 7C 03 00 40 */ cmplw r3, r0 /* 801BF288 001BC1E8 41 82 00 14 */ beq lbl_801BF29C /* 801BF28C 001BC1EC 88 1E 03 D0 */ lbz r0, 0x3d0(r30) /* 801BF290 001BC1F0 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 801BF294 001BC1F4 41 82 00 08 */ beq lbl_801BF29C /* 801BF298 001BC1F8 38 80 00 01 */ li r4, 1 lbl_801BF29C: /* 801BF29C 001BC1FC 54 80 06 3F */ clrlwi. r0, r4, 0x18 /* 801BF2A0 001BC200 41 82 00 44 */ beq lbl_801BF2E4 /* 801BF2A4 001BC204 C0 1E 03 C4 */ lfs f0, 0x3c4(r30) /* 801BF2A8 001BC208 38 61 01 44 */ addi r3, r1, 0x144 /* 801BF2AC 001BC20C 38 81 00 30 */ addi r4, r1, 0x30 /* 801BF2B0 001BC210 D0 01 00 30 */ stfs f0, 0x30(r1) /* 801BF2B4 001BC214 48 15 45 F5 */ bl RotateY__12CTransform4fFRC9CRelAngle /* 801BF2B8 001BC218 38 61 01 14 */ addi r3, r1, 0x114 /* 801BF2BC 001BC21C 38 9E 00 34 */ addi r4, r30, 0x34 /* 801BF2C0 001BC220 38 A1 01 44 */ addi r5, r1, 0x144 /* 801BF2C4 001BC224 48 15 36 8D */ bl __ml__12CTransform4fCFRC12CTransform4f /* 801BF2C8 001BC228 3C 80 80 47 */ lis r4, lbl_8046C908@ha /* 801BF2CC 001BC22C 38 61 00 94 */ addi r3, r1, 0x94 /* 801BF2D0 001BC230 38 A4 C9 08 */ addi r5, r4, lbl_8046C908@l /* 801BF2D4 001BC234 38 81 01 14 */ addi r4, r1, 0x114 /* 801BF2D8 001BC238 48 15 38 11 */ bl __ml__12CTransform4fCFRC9CVector3f /* 801BF2DC 001BC23C 38 61 00 94 */ addi r3, r1, 0x94 /* 801BF2E0 001BC240 48 00 00 8C */ b lbl_801BF36C lbl_801BF2E4: /* 801BF2E4 001BC244 C0 5E 00 58 */ lfs f2, 0x58(r30) /* 801BF2E8 001BC248 38 61 00 7C */ addi r3, r1, 0x7c /* 801BF2EC 001BC24C C0 3E 00 48 */ lfs f1, 0x48(r30) /* 801BF2F0 001BC250 38 81 00 88 */ addi r4, r1, 0x88 /* 801BF2F4 001BC254 C0 1E 00 38 */ lfs f0, 0x38(r30) /* 801BF2F8 001BC258 D0 01 00 88 */ stfs f0, 0x88(r1) /* 801BF2FC 001BC25C D0 21 00 8C */ stfs f1, 0x8c(r1) /* 801BF300 001BC260 D0 41 00 90 */ stfs f2, 0x90(r1) /* 801BF304 001BC264 48 15 55 4D */ bl AsNormalized__9CVector3fCFv /* 801BF308 001BC268 3C 60 80 47 */ lis r3, lbl_8046C908@ha /* 801BF30C 001BC26C C0 FE 00 60 */ lfs f7, 0x60(r30) /* 801BF310 001BC270 38 63 C9 08 */ addi r3, r3, lbl_8046C908@l /* 801BF314 001BC274 C0 DE 00 50 */ lfs f6, 0x50(r30) /* 801BF318 001BC278 C0 43 00 08 */ lfs f2, 8(r3) /* 801BF31C 001BC27C 38 61 00 58 */ addi r3, r1, 0x58 /* 801BF320 001BC280 C0 01 00 84 */ lfs f0, 0x84(r1) /* 801BF324 001BC284 C0 21 00 7C */ lfs f1, 0x7c(r1) /* 801BF328 001BC288 EC 82 00 32 */ fmuls f4, f2, f0 /* 801BF32C 001BC28C C0 01 00 80 */ lfs f0, 0x80(r1) /* 801BF330 001BC290 EC 62 00 72 */ fmuls f3, f2, f1 /* 801BF334 001BC294 C0 3E 00 40 */ lfs f1, 0x40(r30) /* 801BF338 001BC298 EC 42 00 32 */ fmuls f2, f2, f0 /* 801BF33C 001BC29C D0 C1 00 68 */ stfs f6, 0x68(r1) /* 801BF340 001BC2A0 EC A7 20 2A */ fadds f5, f7, f4 /* 801BF344 001BC2A4 D0 61 00 70 */ stfs f3, 0x70(r1) /* 801BF348 001BC2A8 EC C6 10 2A */ fadds f6, f6, f2 /* 801BF34C 001BC2AC EC 01 18 2A */ fadds f0, f1, f3 /* 801BF350 001BC2B0 D0 41 00 74 */ stfs f2, 0x74(r1) /* 801BF354 001BC2B4 D0 81 00 78 */ stfs f4, 0x78(r1) /* 801BF358 001BC2B8 D0 21 00 64 */ stfs f1, 0x64(r1) /* 801BF35C 001BC2BC D0 E1 00 6C */ stfs f7, 0x6c(r1) /* 801BF360 001BC2C0 D0 01 00 58 */ stfs f0, 0x58(r1) /* 801BF364 001BC2C4 D0 C1 00 5C */ stfs f6, 0x5c(r1) /* 801BF368 001BC2C8 D0 A1 00 60 */ stfs f5, 0x60(r1) lbl_801BF36C: /* 801BF36C 001BC2CC C0 3E 03 A0 */ lfs f1, 0x3a0(r30) /* 801BF370 001BC2D0 C0 02 A9 F8 */ lfs f0, lbl_805AC718@sda21(r2) /* 801BF374 001BC2D4 C0 A3 00 00 */ lfs f5, 0(r3) /* 801BF378 001BC2D8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801BF37C 001BC2DC C1 03 00 04 */ lfs f8, 4(r3) /* 801BF380 001BC2E0 C1 23 00 08 */ lfs f9, 8(r3) /* 801BF384 001BC2E4 40 80 00 64 */ bge lbl_801BF3E8 /* 801BF388 001BC2E8 A0 7E 02 C0 */ lhz r3, 0x2c0(r30) /* 801BF38C 001BC2EC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801BF390 001BC2F0 7C 03 00 40 */ cmplw r3, r0 /* 801BF394 001BC2F4 41 82 00 54 */ beq lbl_801BF3E8 /* 801BF398 001BC2F8 EC 61 00 24 */ fdivs f3, f1, f0 /* 801BF39C 001BC2FC C0 02 AA 0C */ lfs f0, lbl_805AC72C@sda21(r2) /* 801BF3A0 001BC300 C0 5E 03 30 */ lfs f2, 0x330(r30) /* 801BF3A4 001BC304 C0 DE 03 34 */ lfs f6, 0x334(r30) /* 801BF3A8 001BC308 C0 9E 03 38 */ lfs f4, 0x338(r30) /* 801BF3AC 001BC30C C0 22 AA 38 */ lfs f1, lbl_805AC758@sda21(r2) /* 801BF3B0 001BC310 EC E0 18 28 */ fsubs f7, f0, f3 /* 801BF3B4 001BC314 EC 05 00 F2 */ fmuls f0, f5, f3 /* 801BF3B8 001BC318 EC A8 00 F2 */ fmuls f5, f8, f3 /* 801BF3BC 001BC31C EC 69 00 F2 */ fmuls f3, f9, f3 /* 801BF3C0 001BC320 EC 02 01 FA */ fmadds f0, f2, f7, f0 /* 801BF3C4 001BC324 EC A6 29 FA */ fmadds f5, f6, f7, f5 /* 801BF3C8 001BC328 EC 44 19 FA */ fmadds f2, f4, f7, f3 /* 801BF3CC 001BC32C D0 1E 03 24 */ stfs f0, 0x324(r30) /* 801BF3D0 001BC330 D0 BE 03 28 */ stfs f5, 0x328(r30) /* 801BF3D4 001BC334 D0 5E 03 2C */ stfs f2, 0x32c(r30) /* 801BF3D8 001BC338 C0 1E 03 A0 */ lfs f0, 0x3a0(r30) /* 801BF3DC 001BC33C EC 01 07 BA */ fmadds f0, f1, f30, f0 /* 801BF3E0 001BC340 D0 1E 03 A0 */ stfs f0, 0x3a0(r30) /* 801BF3E4 001BC344 48 00 00 30 */ b lbl_801BF414 lbl_801BF3E8: /* 801BF3E8 001BC348 C0 3E 03 24 */ lfs f1, 0x324(r30) /* 801BF3EC 001BC34C C0 02 A9 F8 */ lfs f0, lbl_805AC718@sda21(r2) /* 801BF3F0 001BC350 D0 3E 03 30 */ stfs f1, 0x330(r30) /* 801BF3F4 001BC354 C0 3E 03 28 */ lfs f1, 0x328(r30) /* 801BF3F8 001BC358 D0 3E 03 34 */ stfs f1, 0x334(r30) /* 801BF3FC 001BC35C C0 3E 03 2C */ lfs f1, 0x32c(r30) /* 801BF400 001BC360 D0 3E 03 38 */ stfs f1, 0x338(r30) /* 801BF404 001BC364 D0 BE 03 24 */ stfs f5, 0x324(r30) /* 801BF408 001BC368 D1 1E 03 28 */ stfs f8, 0x328(r30) /* 801BF40C 001BC36C D1 3E 03 2C */ stfs f9, 0x32c(r30) /* 801BF410 001BC370 D0 1E 03 A0 */ stfs f0, 0x3a0(r30) lbl_801BF414: /* 801BF414 001BC374 A0 7E 02 C8 */ lhz r3, 0x2c8(r30) /* 801BF418 001BC378 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801BF41C 001BC37C 7C 03 00 40 */ cmplw r3, r0 /* 801BF420 001BC380 41 82 00 EC */ beq lbl_801BF50C /* 801BF424 001BC384 80 7E 03 90 */ lwz r3, 0x390(r30) /* 801BF428 001BC388 FC 20 F0 90 */ fmr f1, f30 /* 801BF42C 001BC38C 81 83 00 00 */ lwz r12, 0(r3) /* 801BF430 001BC390 81 8C 00 0C */ lwz r12, 0xc(r12) /* 801BF434 001BC394 7D 89 03 A6 */ mtctr r12 /* 801BF438 001BC398 4E 80 04 21 */ bctrl /* 801BF43C 001BC39C A0 1E 02 C8 */ lhz r0, 0x2c8(r30) /* 801BF440 001BC3A0 7F E3 FB 78 */ mr r3, r31 /* 801BF444 001BC3A4 38 81 00 0C */ addi r4, r1, 0xc /* 801BF448 001BC3A8 B0 01 00 08 */ sth r0, 8(r1) /* 801BF44C 001BC3AC B0 01 00 0C */ sth r0, 0xc(r1) /* 801BF450 001BC3B0 4B E8 D1 25 */ bl ObjectById__13CStateManagerF9TUniqueId /* 801BF454 001BC3B4 7C 64 1B 78 */ mr r4, r3 /* 801BF458 001BC3B8 38 61 00 3C */ addi r3, r1, 0x3c /* 801BF45C 001BC3BC 4B EE E6 29 */ bl "__ct__24TCastToPtr<10CGameLight>FP7CEntity" /* 801BF460 001BC3C0 83 E3 00 04 */ lwz r31, 4(r3) /* 801BF464 001BC3C4 28 1F 00 00 */ cmplwi r31, 0 /* 801BF468 001BC3C8 41 82 00 A4 */ beq lbl_801BF50C /* 801BF46C 001BC3CC 38 7F 00 34 */ addi r3, r31, 0x34 /* 801BF470 001BC3D0 38 9E 00 34 */ addi r4, r30, 0x34 /* 801BF474 001BC3D4 48 15 36 CD */ bl __as__12CTransform4fFRC12CTransform4f /* 801BF478 001BC3D8 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 801BF47C 001BC3DC 38 A0 00 01 */ li r5, 1 /* 801BF480 001BC3E0 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b /* 801BF484 001BC3E4 7F E3 FB 78 */ mr r3, r31 /* 801BF488 001BC3E8 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 801BF48C 001BC3EC 38 81 00 4C */ addi r4, r1, 0x4c /* 801BF490 001BC3F0 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 801BF494 001BC3F4 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c /* 801BF498 001BC3F8 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 801BF49C 001BC3FC 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 801BF4A0 001BC400 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d /* 801BF4A4 001BC404 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 801BF4A8 001BC408 C0 5E 00 60 */ lfs f2, 0x60(r30) /* 801BF4AC 001BC40C C0 3E 00 50 */ lfs f1, 0x50(r30) /* 801BF4B0 001BC410 C0 1E 00 40 */ lfs f0, 0x40(r30) /* 801BF4B4 001BC414 D0 01 00 4C */ stfs f0, 0x4c(r1) /* 801BF4B8 001BC418 D0 21 00 50 */ stfs f1, 0x50(r1) /* 801BF4BC 001BC41C D0 41 00 54 */ stfs f2, 0x54(r1) /* 801BF4C0 001BC420 4B E9 39 CD */ bl SetTranslation__6CActorFRC9CVector3f /* 801BF4C4 001BC424 80 7E 03 90 */ lwz r3, 0x390(r30) /* 801BF4C8 001BC428 28 03 00 00 */ cmplwi r3, 0 /* 801BF4CC 001BC42C 41 82 00 40 */ beq lbl_801BF50C /* 801BF4D0 001BC430 81 83 00 00 */ lwz r12, 0(r3) /* 801BF4D4 001BC434 81 8C 00 64 */ lwz r12, 0x64(r12) /* 801BF4D8 001BC438 7D 89 03 A6 */ mtctr r12 /* 801BF4DC 001BC43C 4E 80 04 21 */ bctrl /* 801BF4E0 001BC440 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801BF4E4 001BC444 41 82 00 28 */ beq lbl_801BF50C /* 801BF4E8 001BC448 80 9E 03 90 */ lwz r4, 0x390(r30) /* 801BF4EC 001BC44C 38 61 01 A8 */ addi r3, r1, 0x1a8 /* 801BF4F0 001BC450 81 84 00 00 */ lwz r12, 0(r4) /* 801BF4F4 001BC454 81 8C 00 68 */ lwz r12, 0x68(r12) /* 801BF4F8 001BC458 7D 89 03 A6 */ mtctr r12 /* 801BF4FC 001BC45C 4E 80 04 21 */ bctrl /* 801BF500 001BC460 7F E3 FB 78 */ mr r3, r31 /* 801BF504 001BC464 38 81 01 A8 */ addi r4, r1, 0x1a8 /* 801BF508 001BC468 4B EF 62 3D */ bl SetLight__10CGameLightFRC6CLight lbl_801BF50C: /* 801BF50C 001BC46C C0 42 AA 3C */ lfs f2, lbl_805AC75C@sda21(r2) /* 801BF510 001BC470 C0 3E 03 C8 */ lfs f1, 0x3c8(r30) /* 801BF514 001BC474 C0 02 AA 0C */ lfs f0, lbl_805AC72C@sda21(r2) /* 801BF518 001BC478 EC 22 0F BA */ fmadds f1, f2, f30, f1 /* 801BF51C 001BC47C D0 3E 03 C8 */ stfs f1, 0x3c8(r30) /* 801BF520 001BC480 C0 3E 03 C8 */ lfs f1, 0x3c8(r30) /* 801BF524 001BC484 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801BF528 001BC488 40 81 00 2C */ ble lbl_801BF554 /* 801BF52C 001BC48C 80 7E 03 CC */ lwz r3, 0x3cc(r30) /* 801BF530 001BC490 38 03 00 01 */ addi r0, r3, 1 /* 801BF534 001BC494 90 1E 03 CC */ stw r0, 0x3cc(r30) /* 801BF538 001BC498 80 1E 03 CC */ lwz r0, 0x3cc(r30) /* 801BF53C 001BC49C 28 00 00 02 */ cmplwi r0, 2 /* 801BF540 001BC4A0 40 81 00 0C */ ble lbl_801BF54C /* 801BF544 001BC4A4 38 00 00 00 */ li r0, 0 /* 801BF548 001BC4A8 90 1E 03 CC */ stw r0, 0x3cc(r30) lbl_801BF54C: /* 801BF54C 001BC4AC C0 02 AA 04 */ lfs f0, lbl_805AC724@sda21(r2) /* 801BF550 001BC4B0 D0 1E 03 C8 */ stfs f0, 0x3c8(r30) lbl_801BF554: /* 801BF554 001BC4B4 80 7E 03 8C */ lwz r3, 0x38c(r30) /* 801BF558 001BC4B8 FC 20 F0 90 */ fmr f1, f30 /* 801BF55C 001BC4BC 81 83 00 00 */ lwz r12, 0(r3) /* 801BF560 001BC4C0 81 8C 00 0C */ lwz r12, 0xc(r12) /* 801BF564 001BC4C4 7D 89 03 A6 */ mtctr r12 /* 801BF568 001BC4C8 4E 80 04 21 */ bctrl lbl_801BF56C: /* 801BF56C 001BC4CC E3 E1 02 28 */ psq_l f31, 552(r1), 0, qr0 /* 801BF570 001BC4D0 CB E1 02 20 */ lfd f31, 0x220(r1) /* 801BF574 001BC4D4 E3 C1 02 18 */ psq_l f30, 536(r1), 0, qr0 /* 801BF578 001BC4D8 CB C1 02 10 */ lfd f30, 0x210(r1) /* 801BF57C 001BC4DC 83 E1 02 0C */ lwz r31, 0x20c(r1) /* 801BF580 001BC4E0 83 C1 02 08 */ lwz r30, 0x208(r1) /* 801BF584 001BC4E4 80 01 02 34 */ lwz r0, 0x234(r1) /* 801BF588 001BC4E8 83 A1 02 04 */ lwz r29, 0x204(r1) /* 801BF58C 001BC4EC 7C 08 03 A6 */ mtlr r0 /* 801BF590 001BC4F0 38 21 02 30 */ addi r1, r1, 0x230 /* 801BF594 001BC4F4 4E 80 00 20 */ blr .global sub_801bf598 sub_801bf598: /* 801BF598 001BC4F8 94 21 FF 90 */ stwu r1, -0x70(r1) /* 801BF59C 001BC4FC 7C 08 02 A6 */ mflr r0 /* 801BF5A0 001BC500 90 01 00 74 */ stw r0, 0x74(r1) /* 801BF5A4 001BC504 38 A1 00 14 */ addi r5, r1, 0x14 /* 801BF5A8 001BC508 93 E1 00 6C */ stw r31, 0x6c(r1) /* 801BF5AC 001BC50C 7C 7F 1B 78 */ mr r31, r3 /* 801BF5B0 001BC510 38 61 00 30 */ addi r3, r1, 0x30 /* 801BF5B4 001BC514 93 C1 00 68 */ stw r30, 0x68(r1) /* 801BF5B8 001BC518 7C 9E 23 78 */ mr r30, r4 /* 801BF5BC 001BC51C 7F E4 FB 78 */ mr r4, r31 /* 801BF5C0 001BC520 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801BF5C4 001BC524 7F C6 F3 78 */ mr r6, r30 /* 801BF5C8 001BC528 B0 01 00 14 */ sth r0, 0x14(r1) /* 801BF5CC 001BC52C 48 00 01 21 */ bl sub_801bf6ec /* 801BF5D0 001BC530 A0 BF 02 C0 */ lhz r5, 0x2c0(r31) /* 801BF5D4 001BC534 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801BF5D8 001BC538 7C 05 00 40 */ cmplw r5, r0 /* 801BF5DC 001BC53C 41 82 00 A4 */ beq lbl_801BF680 /* 801BF5E0 001BC540 B0 A1 00 0C */ sth r5, 0xc(r1) /* 801BF5E4 001BC544 7F C3 F3 78 */ mr r3, r30 /* 801BF5E8 001BC548 38 81 00 10 */ addi r4, r1, 0x10 /* 801BF5EC 001BC54C B0 A1 00 10 */ sth r5, 0x10(r1) /* 801BF5F0 001BC550 4B E8 CF B5 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 801BF5F4 001BC554 7C 64 1B 78 */ mr r4, r3 /* 801BF5F8 001BC558 38 61 00 18 */ addi r3, r1, 0x18 /* 801BF5FC 001BC55C 4B EF 06 95 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 801BF600 001BC560 80 A3 00 04 */ lwz r5, 4(r3) /* 801BF604 001BC564 28 05 00 00 */ cmplwi r5, 0 /* 801BF608 001BC568 41 82 00 CC */ beq lbl_801BF6D4 /* 801BF60C 001BC56C 3C 80 80 5A */ lis r4, sForwardVector__9CVector3f@ha /* 801BF610 001BC570 7F E3 FB 78 */ mr r3, r31 /* 801BF614 001BC574 38 C4 67 24 */ addi r6, r4, sForwardVector__9CVector3f@l /* 801BF618 001BC578 C0 46 00 00 */ lfs f2, 0(r6) /* 801BF61C 001BC57C 38 81 00 20 */ addi r4, r1, 0x20 /* 801BF620 001BC580 C0 26 00 04 */ lfs f1, 4(r6) /* 801BF624 001BC584 C0 06 00 08 */ lfs f0, 8(r6) /* 801BF628 001BC588 D0 41 00 20 */ stfs f2, 0x20(r1) /* 801BF62C 001BC58C D0 21 00 24 */ stfs f1, 0x24(r1) /* 801BF630 001BC590 D0 01 00 28 */ stfs f0, 0x28(r1) /* 801BF634 001BC594 48 00 09 55 */ bl sub_801bff88 /* 801BF638 001BC598 C0 02 AA 40 */ lfs f0, lbl_805AC760@sda21(r2) /* 801BF63C 001BC59C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801BF640 001BC5A0 40 81 00 24 */ ble lbl_801BF664 /* 801BF644 001BC5A4 A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13) /* 801BF648 001BC5A8 38 60 00 00 */ li r3, 0 /* 801BF64C 001BC5AC B0 9F 02 C0 */ sth r4, 0x2c0(r31) /* 801BF650 001BC5B0 88 1F 03 D0 */ lbz r0, 0x3d0(r31) /* 801BF654 001BC5B4 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 801BF658 001BC5B8 B0 81 00 08 */ sth r4, 8(r1) /* 801BF65C 001BC5BC 98 1F 03 D0 */ stb r0, 0x3d0(r31) /* 801BF660 001BC5C0 48 00 00 74 */ b lbl_801BF6D4 lbl_801BF664: /* 801BF664 001BC5C4 88 7F 03 D0 */ lbz r3, 0x3d0(r31) /* 801BF668 001BC5C8 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f /* 801BF66C 001BC5CC 41 82 00 68 */ beq lbl_801BF6D4 /* 801BF670 001BC5D0 38 00 00 00 */ li r0, 0 /* 801BF674 001BC5D4 50 03 36 72 */ rlwimi r3, r0, 6, 0x19, 0x19 /* 801BF678 001BC5D8 98 7F 03 D0 */ stb r3, 0x3d0(r31) /* 801BF67C 001BC5DC 48 00 00 58 */ b lbl_801BF6D4 lbl_801BF680: /* 801BF680 001BC5E0 88 7F 03 D0 */ lbz r3, 0x3d0(r31) /* 801BF684 001BC5E4 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f /* 801BF688 001BC5E8 40 82 00 4C */ bne lbl_801BF6D4 /* 801BF68C 001BC5EC C0 3F 00 50 */ lfs f1, 0x50(r31) /* 801BF690 001BC5F0 C0 1F 03 04 */ lfs f0, 0x304(r31) /* 801BF694 001BC5F4 C0 7F 00 40 */ lfs f3, 0x40(r31) /* 801BF698 001BC5F8 EC 21 00 28 */ fsubs f1, f1, f0 /* 801BF69C 001BC5FC C0 1F 02 F4 */ lfs f0, 0x2f4(r31) /* 801BF6A0 001BC600 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 801BF6A4 001BC604 EC 63 00 28 */ fsubs f3, f3, f0 /* 801BF6A8 001BC608 C0 1F 03 14 */ lfs f0, 0x314(r31) /* 801BF6AC 001BC60C EC 21 00 72 */ fmuls f1, f1, f1 /* 801BF6B0 001BC610 EC 42 00 28 */ fsubs f2, f2, f0 /* 801BF6B4 001BC614 C0 02 AA 44 */ lfs f0, lbl_805AC764@sda21(r2) /* 801BF6B8 001BC618 EC 23 08 FA */ fmadds f1, f3, f3, f1 /* 801BF6BC 001BC61C EC 22 08 BA */ fmadds f1, f2, f2, f1 /* 801BF6C0 001BC620 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801BF6C4 001BC624 40 81 00 10 */ ble lbl_801BF6D4 /* 801BF6C8 001BC628 38 00 00 00 */ li r0, 0 /* 801BF6CC 001BC62C 50 03 36 72 */ rlwimi r3, r0, 6, 0x19, 0x19 /* 801BF6D0 001BC630 98 7F 03 D0 */ stb r3, 0x3d0(r31) lbl_801BF6D4: /* 801BF6D4 001BC634 80 01 00 74 */ lwz r0, 0x74(r1) /* 801BF6D8 001BC638 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 801BF6DC 001BC63C 83 C1 00 68 */ lwz r30, 0x68(r1) /* 801BF6E0 001BC640 7C 08 03 A6 */ mtlr r0 /* 801BF6E4 001BC644 38 21 00 70 */ addi r1, r1, 0x70 /* 801BF6E8 001BC648 4E 80 00 20 */ blr .global sub_801bf6ec sub_801bf6ec: /* 801BF6EC 001BC64C 94 21 F7 10 */ stwu r1, -0x8f0(r1) /* 801BF6F0 001BC650 7C 08 02 A6 */ mflr r0 /* 801BF6F4 001BC654 90 01 08 F4 */ stw r0, 0x8f4(r1) /* 801BF6F8 001BC658 DB E1 08 E0 */ stfd f31, 0x8e0(r1) /* 801BF6FC 001BC65C F3 E1 08 E8 */ psq_st f31, -1816(r1), 0, qr0 /* 801BF700 001BC660 BF 41 08 C8 */ stmw r26, 0x8c8(r1) /* 801BF704 001BC664 FF E0 08 90 */ fmr f31, f1 /* 801BF708 001BC668 C0 64 00 50 */ lfs f3, 0x50(r4) /* 801BF70C 001BC66C C0 24 02 9C */ lfs f1, 0x29c(r4) /* 801BF710 001BC670 7C BA 2B 78 */ mr r26, r5 /* 801BF714 001BC674 C0 44 00 60 */ lfs f2, 0x60(r4) /* 801BF718 001BC678 7C 7E 1B 78 */ mr r30, r3 /* 801BF71C 001BC67C C0 04 02 A0 */ lfs f0, 0x2a0(r4) /* 801BF720 001BC680 EC 63 08 28 */ fsubs f3, f3, f1 /* 801BF724 001BC684 C0 24 00 40 */ lfs f1, 0x40(r4) /* 801BF728 001BC688 38 00 00 00 */ li r0, 0 /* 801BF72C 001BC68C EC 42 00 28 */ fsubs f2, f2, f0 /* 801BF730 001BC690 C0 04 02 98 */ lfs f0, 0x298(r4) /* 801BF734 001BC694 80 AD 91 04 */ lwz r5, lbl_805A7CC4@sda21(r13) /* 801BF738 001BC698 EC 01 00 28 */ fsubs f0, f1, f0 /* 801BF73C 001BC69C 7C 9F 23 78 */ mr r31, r4 /* 801BF740 001BC6A0 D0 61 00 20 */ stfs f3, 0x20(r1) /* 801BF744 001BC6A4 7C DB 33 78 */ mr r27, r6 /* 801BF748 001BC6A8 38 60 00 00 */ li r3, 0 /* 801BF74C 001BC6AC D0 41 00 24 */ stfs f2, 0x24(r1) /* 801BF750 001BC6B0 38 80 00 01 */ li r4, 1 /* 801BF754 001BC6B4 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 801BF758 001BC6B8 90 01 00 B8 */ stw r0, 0xb8(r1) /* 801BF75C 001BC6BC 48 1C A7 99 */ bl __shl2i /* 801BF760 001BC6C0 80 AD 91 08 */ lwz r5, lbl_805A7CC8@sda21(r13) /* 801BF764 001BC6C4 7C 9C 23 78 */ mr r28, r4 /* 801BF768 001BC6C8 7C 7D 1B 78 */ mr r29, r3 /* 801BF76C 001BC6CC 38 60 00 00 */ li r3, 0 /* 801BF770 001BC6D0 38 80 00 01 */ li r4, 1 /* 801BF774 001BC6D4 48 1C A7 81 */ bl __shl2i /* 801BF778 001BC6D8 80 AD 91 00 */ lwz r5, lbl_805A7CC0@sda21(r13) /* 801BF77C 001BC6DC 7F 9C 23 78 */ or r28, r28, r4 /* 801BF780 001BC6E0 7F BD 1B 78 */ or r29, r29, r3 /* 801BF784 001BC6E4 38 60 00 00 */ li r3, 0 /* 801BF788 001BC6E8 38 80 00 01 */ li r4, 1 /* 801BF78C 001BC6EC 48 1C A7 69 */ bl __shl2i /* 801BF790 001BC6F0 38 00 00 03 */ li r0, 3 /* 801BF794 001BC6F4 90 81 00 2C */ stw r4, 0x2c(r1) /* 801BF798 001BC6F8 7F E4 FB 78 */ mr r4, r31 /* 801BF79C 001BC6FC 90 61 00 28 */ stw r3, 0x28(r1) /* 801BF7A0 001BC700 38 61 00 40 */ addi r3, r1, 0x40 /* 801BF7A4 001BC704 93 81 00 34 */ stw r28, 0x34(r1) /* 801BF7A8 001BC708 93 A1 00 30 */ stw r29, 0x30(r1) /* 801BF7AC 001BC70C 90 01 00 38 */ stw r0, 0x38(r1) /* 801BF7B0 001BC710 4B E7 AB 49 */ bl GetProjectileBounds__15CGameProjectileCFv /* 801BF7B4 001BC714 7F 63 DB 78 */ mr r3, r27 /* 801BF7B8 001BC718 7F E7 FB 78 */ mr r7, r31 /* 801BF7BC 001BC71C 38 81 00 B8 */ addi r4, r1, 0xb8 /* 801BF7C0 001BC720 38 A1 00 40 */ addi r5, r1, 0x40 /* 801BF7C4 001BC724 38 C1 00 28 */ addi r6, r1, 0x28 /* 801BF7C8 001BC728 4B E8 CF 59 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor" /* 801BF7CC 001BC72C C0 5F 00 60 */ lfs f2, 0x60(r31) /* 801BF7D0 001BC730 38 61 00 1C */ addi r3, r1, 0x1c /* 801BF7D4 001BC734 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 801BF7D8 001BC738 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 801BF7DC 001BC73C D0 01 00 10 */ stfs f0, 0x10(r1) /* 801BF7E0 001BC740 D0 21 00 14 */ stfs f1, 0x14(r1) /* 801BF7E4 001BC744 D0 41 00 18 */ stfs f2, 0x18(r1) /* 801BF7E8 001BC748 48 15 50 D1 */ bl Magnitude__9CVector3fCFv /* 801BF7EC 001BC74C 7F E4 FB 78 */ mr r4, r31 /* 801BF7F0 001BC750 7F 45 D3 78 */ mr r5, r26 /* 801BF7F4 001BC754 7F 69 DB 78 */ mr r9, r27 /* 801BF7F8 001BC758 38 61 00 58 */ addi r3, r1, 0x58 /* 801BF7FC 001BC75C 38 DF 02 98 */ addi r6, r31, 0x298 /* 801BF800 001BC760 38 E1 00 10 */ addi r7, r1, 0x10 /* 801BF804 001BC764 39 01 00 B8 */ addi r8, r1, 0xb8 /* 801BF808 001BC768 4B E7 8E B9 */ bl "RayCollisionCheckWithWorld__15CGameProjectileFR9TUniqueIdRC9CVector3fRC9CVector3ffRQ24rstl32reserved_vector<9TUniqueId,1024>R13CStateManager" /* 801BF80C 001BC76C 88 81 00 78 */ lbz r4, 0x78(r1) /* 801BF810 001BC770 38 A1 00 8C */ addi r5, r1, 0x8c /* 801BF814 001BC774 C0 E1 00 58 */ lfs f7, 0x58(r1) /* 801BF818 001BC778 C0 C1 00 5C */ lfs f6, 0x5c(r1) /* 801BF81C 001BC77C 28 04 00 00 */ cmplwi r4, 0 /* 801BF820 001BC780 C0 A1 00 60 */ lfs f5, 0x60(r1) /* 801BF824 001BC784 C0 81 00 64 */ lfs f4, 0x64(r1) /* 801BF828 001BC788 C0 61 00 68 */ lfs f3, 0x68(r1) /* 801BF82C 001BC78C C0 41 00 6C */ lfs f2, 0x6c(r1) /* 801BF830 001BC790 C0 21 00 70 */ lfs f1, 0x70(r1) /* 801BF834 001BC794 C0 01 00 74 */ lfs f0, 0x74(r1) /* 801BF838 001BC798 80 01 00 80 */ lwz r0, 0x80(r1) /* 801BF83C 001BC79C 80 61 00 84 */ lwz r3, 0x84(r1) /* 801BF840 001BC7A0 D0 E1 00 88 */ stfs f7, 0x88(r1) /* 801BF844 001BC7A4 D0 C1 00 8C */ stfs f6, 0x8c(r1) /* 801BF848 001BC7A8 D0 A1 00 90 */ stfs f5, 0x90(r1) /* 801BF84C 001BC7AC D0 81 00 94 */ stfs f4, 0x94(r1) /* 801BF850 001BC7B0 D0 61 00 98 */ stfs f3, 0x98(r1) /* 801BF854 001BC7B4 D0 41 00 9C */ stfs f2, 0x9c(r1) /* 801BF858 001BC7B8 D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 801BF85C 001BC7BC D0 01 00 A4 */ stfs f0, 0xa4(r1) /* 801BF860 001BC7C0 98 81 00 A8 */ stb r4, 0xa8(r1) /* 801BF864 001BC7C4 90 61 00 B4 */ stw r3, 0xb4(r1) /* 801BF868 001BC7C8 90 01 00 B0 */ stw r0, 0xb0(r1) /* 801BF86C 001BC7CC 41 82 00 78 */ beq lbl_801BF8E4 /* 801BF870 001BC7D0 88 1F 03 D0 */ lbz r0, 0x3d0(r31) /* 801BF874 001BC7D4 38 60 00 00 */ li r3, 0 /* 801BF878 001BC7D8 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 801BF87C 001BC7DC 98 1F 03 D0 */ stb r0, 0x3d0(r31) /* 801BF880 001BC7E0 A0 7A 00 00 */ lhz r3, 0(r26) /* 801BF884 001BC7E4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801BF888 001BC7E8 7C 03 00 40 */ cmplw r3, r0 /* 801BF88C 001BC7EC 41 82 00 48 */ beq lbl_801BF8D4 /* 801BF890 001BC7F0 A0 1F 02 C0 */ lhz r0, 0x2c0(r31) /* 801BF894 001BC7F4 7C 03 00 40 */ cmplw r3, r0 /* 801BF898 001BC7F8 40 82 00 3C */ bne lbl_801BF8D4 /* 801BF89C 001BC7FC 88 1F 03 D0 */ lbz r0, 0x3d0(r31) /* 801BF8A0 001BC800 38 60 00 01 */ li r3, 1 /* 801BF8A4 001BC804 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 801BF8A8 001BC808 A9 22 C5 F8 */ lha r9, lbl_805AE318@sda21(r2) /* 801BF8AC 001BC80C 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 801BF8B0 001BC810 98 1F 03 D0 */ stb r0, 0x3d0(r31) /* 801BF8B4 001BC814 38 C3 66 A0 */ addi r6, r3, sZeroVector__9CVector3f@l /* 801BF8B8 001BC818 81 42 C6 00 */ lwz r10, lbl_805AE320@sda21(r2) /* 801BF8BC 001BC81C 38 61 00 0C */ addi r3, r1, 0xc /* 801BF8C0 001BC820 38 80 06 FF */ li r4, 0x6ff /* 801BF8C4 001BC824 38 E0 00 01 */ li r7, 1 /* 801BF8C8 001BC828 39 00 00 00 */ li r8, 0 /* 801BF8CC 001BC82C 48 12 A9 E5 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi /* 801BF8D0 001BC830 48 00 00 24 */ b lbl_801BF8F4 lbl_801BF8D4: /* 801BF8D4 001BC834 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801BF8D8 001BC838 B0 01 00 08 */ sth r0, 8(r1) /* 801BF8DC 001BC83C B0 1F 02 C0 */ sth r0, 0x2c0(r31) /* 801BF8E0 001BC840 48 00 00 14 */ b lbl_801BF8F4 lbl_801BF8E4: /* 801BF8E4 001BC844 FC 20 F8 90 */ fmr f1, f31 /* 801BF8E8 001BC848 7F E3 FB 78 */ mr r3, r31 /* 801BF8EC 001BC84C 7F 64 DB 78 */ mr r4, r27 /* 801BF8F0 001BC850 4B E7 86 0D */ bl UpdateProjectileMovement__15CGameProjectileFfR13CStateManager lbl_801BF8F4: /* 801BF8F4 001BC854 C0 01 00 88 */ lfs f0, 0x88(r1) /* 801BF8F8 001BC858 38 80 00 00 */ li r4, 0 /* 801BF8FC 001BC85C D0 1E 00 00 */ stfs f0, 0(r30) /* 801BF900 001BC860 C0 01 00 8C */ lfs f0, 0x8c(r1) /* 801BF904 001BC864 D0 1E 00 04 */ stfs f0, 4(r30) /* 801BF908 001BC868 C0 01 00 90 */ lfs f0, 0x90(r1) /* 801BF90C 001BC86C D0 1E 00 08 */ stfs f0, 8(r30) /* 801BF910 001BC870 C0 01 00 94 */ lfs f0, 0x94(r1) /* 801BF914 001BC874 D0 1E 00 0C */ stfs f0, 0xc(r30) /* 801BF918 001BC878 C0 01 00 98 */ lfs f0, 0x98(r1) /* 801BF91C 001BC87C D0 1E 00 10 */ stfs f0, 0x10(r30) /* 801BF920 001BC880 C0 01 00 9C */ lfs f0, 0x9c(r1) /* 801BF924 001BC884 D0 1E 00 14 */ stfs f0, 0x14(r30) /* 801BF928 001BC888 C0 01 00 A0 */ lfs f0, 0xa0(r1) /* 801BF92C 001BC88C D0 1E 00 18 */ stfs f0, 0x18(r30) /* 801BF930 001BC890 C0 01 00 A4 */ lfs f0, 0xa4(r1) /* 801BF934 001BC894 D0 1E 00 1C */ stfs f0, 0x1c(r30) /* 801BF938 001BC898 88 01 00 A8 */ lbz r0, 0xa8(r1) /* 801BF93C 001BC89C 98 1E 00 20 */ stb r0, 0x20(r30) /* 801BF940 001BC8A0 80 01 00 B0 */ lwz r0, 0xb0(r1) /* 801BF944 001BC8A4 80 61 00 B4 */ lwz r3, 0xb4(r1) /* 801BF948 001BC8A8 90 7E 00 2C */ stw r3, 0x2c(r30) /* 801BF94C 001BC8AC 90 1E 00 28 */ stw r0, 0x28(r30) /* 801BF950 001BC8B0 80 A1 00 B8 */ lwz r5, 0xb8(r1) /* 801BF954 001BC8B4 2C 05 00 00 */ cmpwi r5, 0 /* 801BF958 001BC8B8 40 81 00 40 */ ble lbl_801BF998 /* 801BF95C 001BC8BC 2C 05 00 08 */ cmpwi r5, 8 /* 801BF960 001BC8C0 38 65 FF F8 */ addi r3, r5, -8 /* 801BF964 001BC8C4 40 81 00 20 */ ble lbl_801BF984 /* 801BF968 001BC8C8 38 03 00 07 */ addi r0, r3, 7 /* 801BF96C 001BC8CC 54 00 E8 FE */ srwi r0, r0, 3 /* 801BF970 001BC8D0 7C 09 03 A6 */ mtctr r0 /* 801BF974 001BC8D4 2C 03 00 00 */ cmpwi r3, 0 /* 801BF978 001BC8D8 40 81 00 0C */ ble lbl_801BF984 lbl_801BF97C: /* 801BF97C 001BC8DC 38 84 00 08 */ addi r4, r4, 8 /* 801BF980 001BC8E0 42 00 FF FC */ bdnz lbl_801BF97C lbl_801BF984: /* 801BF984 001BC8E4 7C 04 28 50 */ subf r0, r4, r5 /* 801BF988 001BC8E8 7C 09 03 A6 */ mtctr r0 /* 801BF98C 001BC8EC 7C 04 28 00 */ cmpw r4, r5 /* 801BF990 001BC8F0 40 80 00 08 */ bge lbl_801BF998 lbl_801BF994: /* 801BF994 001BC8F4 42 00 00 00 */ bdnz lbl_801BF994 lbl_801BF998: /* 801BF998 001BC8F8 38 00 00 00 */ li r0, 0 /* 801BF99C 001BC8FC 90 01 00 B8 */ stw r0, 0xb8(r1) /* 801BF9A0 001BC900 E3 E1 08 E8 */ psq_l f31, -1816(r1), 0, qr0 /* 801BF9A4 001BC904 CB E1 08 E0 */ lfd f31, 0x8e0(r1) /* 801BF9A8 001BC908 BB 41 08 C8 */ lmw r26, 0x8c8(r1) /* 801BF9AC 001BC90C 80 01 08 F4 */ lwz r0, 0x8f4(r1) /* 801BF9B0 001BC910 7C 08 03 A6 */ mtlr r0 /* 801BF9B4 001BC914 38 21 08 F0 */ addi r1, r1, 0x8f0 /* 801BF9B8 001BC918 4E 80 00 20 */ blr .global sub_801bf9bc sub_801bf9bc: /* 801BF9BC 001BC91C 94 21 FE F0 */ stwu r1, -0x110(r1) /* 801BF9C0 001BC920 7C 08 02 A6 */ mflr r0 /* 801BF9C4 001BC924 90 01 01 14 */ stw r0, 0x114(r1) /* 801BF9C8 001BC928 DB E1 01 00 */ stfd f31, 0x100(r1) /* 801BF9CC 001BC92C F3 E1 01 08 */ psq_st f31, 264(r1), 0, qr0 /* 801BF9D0 001BC930 93 E1 00 FC */ stw r31, 0xfc(r1) /* 801BF9D4 001BC934 93 C1 00 F8 */ stw r30, 0xf8(r1) /* 801BF9D8 001BC938 93 A1 00 F4 */ stw r29, 0xf4(r1) /* 801BF9DC 001BC93C 7C 7F 1B 78 */ mr r31, r3 /* 801BF9E0 001BC940 7C 9D 23 78 */ mr r29, r4 /* 801BF9E4 001BC944 A0 03 02 C0 */ lhz r0, 0x2c0(r3) /* 801BF9E8 001BC948 FF E0 08 90 */ fmr f31, f1 /* 801BF9EC 001BC94C 7F A3 EB 78 */ mr r3, r29 /* 801BF9F0 001BC950 38 81 00 28 */ addi r4, r1, 0x28 /* 801BF9F4 001BC954 B0 01 00 24 */ sth r0, 0x24(r1) /* 801BF9F8 001BC958 B0 01 00 28 */ sth r0, 0x28(r1) /* 801BF9FC 001BC95C 4B E8 CB A9 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 801BFA00 001BC960 7C 64 1B 78 */ mr r4, r3 /* 801BFA04 001BC964 38 61 00 2C */ addi r3, r1, 0x2c /* 801BFA08 001BC968 4B EF 02 89 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 801BFA0C 001BC96C 83 C3 00 04 */ lwz r30, 4(r3) /* 801BFA10 001BC970 28 1E 00 00 */ cmplwi r30, 0 /* 801BFA14 001BC974 41 82 01 10 */ beq lbl_801BFB24 /* 801BFA18 001BC978 7F C3 F3 78 */ mr r3, r30 /* 801BFA1C 001BC97C 7F A4 EB 78 */ mr r4, r29 /* 801BFA20 001BC980 81 9E 00 00 */ lwz r12, 0(r30) /* 801BFA24 001BC984 81 8C 00 34 */ lwz r12, 0x34(r12) /* 801BFA28 001BC988 7D 89 03 A6 */ mtctr r12 /* 801BFA2C 001BC98C 4E 80 04 21 */ bctrl /* 801BFA30 001BC990 28 03 00 00 */ cmplwi r3, 0 /* 801BFA34 001BC994 41 82 00 F0 */ beq lbl_801BFB24 /* 801BFA38 001BC998 7F C3 F3 78 */ mr r3, r30 /* 801BFA3C 001BC99C 7F A4 EB 78 */ mr r4, r29 /* 801BFA40 001BC9A0 81 9E 00 00 */ lwz r12, 0(r30) /* 801BFA44 001BC9A4 81 8C 00 34 */ lwz r12, 0x34(r12) /* 801BFA48 001BC9A8 7D 89 03 A6 */ mtctr r12 /* 801BFA4C 001BC9AC 4E 80 04 21 */ bctrl /* 801BFA50 001BC9B0 C0 03 00 00 */ lfs f0, 0(r3) /* 801BFA54 001BC9B4 C0 22 AA 04 */ lfs f1, lbl_805AC724@sda21(r2) /* 801BFA58 001BC9B8 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801BFA5C 001BC9BC 40 81 00 C8 */ ble lbl_801BFB24 /* 801BFA60 001BC9C0 81 9E 00 00 */ lwz r12, 0(r30) /* 801BFA64 001BC9C4 7F C4 F3 78 */ mr r4, r30 /* 801BFA68 001BC9C8 7F A5 EB 78 */ mr r5, r29 /* 801BFA6C 001BC9CC 38 61 00 70 */ addi r3, r1, 0x70 /* 801BFA70 001BC9D0 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 801BFA74 001BC9D4 7D 89 03 A6 */ mtctr r12 /* 801BFA78 001BC9D8 4E 80 04 21 */ bctrl /* 801BFA7C 001BC9DC C0 01 00 70 */ lfs f0, 0x70(r1) /* 801BFA80 001BC9E0 7F E3 FB 78 */ mr r3, r31 /* 801BFA84 001BC9E4 38 9F 03 3C */ addi r4, r31, 0x33c /* 801BFA88 001BC9E8 D0 1F 03 3C */ stfs f0, 0x33c(r31) /* 801BFA8C 001BC9EC C0 01 00 74 */ lfs f0, 0x74(r1) /* 801BFA90 001BC9F0 D0 1F 03 40 */ stfs f0, 0x340(r31) /* 801BFA94 001BC9F4 C0 01 00 78 */ lfs f0, 0x78(r1) /* 801BFA98 001BC9F8 D0 1F 03 44 */ stfs f0, 0x344(r31) /* 801BFA9C 001BC9FC 4B E9 33 F1 */ bl SetTranslation__6CActorFRC9CVector3f /* 801BFAA0 001BCA00 80 1F 00 F8 */ lwz r0, 0xf8(r31) /* 801BFAA4 001BCA04 FC 20 F8 90 */ fmr f1, f31 /* 801BFAA8 001BCA08 80 BF 00 FC */ lwz r5, 0xfc(r31) /* 801BFAAC 001BCA0C 38 61 00 98 */ addi r3, r1, 0x98 /* 801BFAB0 001BCA10 38 9F 01 2C */ addi r4, r31, 0x12c /* 801BFAB4 001BCA14 90 A1 00 84 */ stw r5, 0x84(r1) /* 801BFAB8 001BCA18 90 01 00 80 */ stw r0, 0x80(r1) /* 801BFABC 001BCA1C 80 1F 01 00 */ lwz r0, 0x100(r31) /* 801BFAC0 001BCA20 80 BF 01 04 */ lwz r5, 0x104(r31) /* 801BFAC4 001BCA24 90 A1 00 8C */ stw r5, 0x8c(r1) /* 801BFAC8 001BCA28 90 01 00 88 */ stw r0, 0x88(r1) /* 801BFACC 001BCA2C 80 1F 01 08 */ lwz r0, 0x108(r31) /* 801BFAD0 001BCA30 90 01 00 90 */ stw r0, 0x90(r1) /* 801BFAD4 001BCA34 4B F0 39 75 */ bl __ct__11CDamageInfoFRC11CDamageInfof /* 801BFAD8 001BCA38 A0 1F 00 EC */ lhz r0, 0xec(r31) /* 801BFADC 001BCA3C 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 801BFAE0 001BCA40 39 23 66 A0 */ addi r9, r3, sZeroVector__9CVector3f@l /* 801BFAE4 001BCA44 38 81 00 20 */ addi r4, r1, 0x20 /* 801BFAE8 001BCA48 B0 01 00 10 */ sth r0, 0x10(r1) /* 801BFAEC 001BCA4C 7F A3 EB 78 */ mr r3, r29 /* 801BFAF0 001BCA50 38 A1 00 18 */ addi r5, r1, 0x18 /* 801BFAF4 001BCA54 38 C1 00 10 */ addi r6, r1, 0x10 /* 801BFAF8 001BCA58 A1 5F 02 C0 */ lhz r10, 0x2c0(r31) /* 801BFAFC 001BCA5C 38 E1 00 98 */ addi r7, r1, 0x98 /* 801BFB00 001BCA60 B0 01 00 0C */ sth r0, 0xc(r1) /* 801BFB04 001BCA64 39 01 00 80 */ addi r8, r1, 0x80 /* 801BFB08 001BCA68 B1 41 00 18 */ sth r10, 0x18(r1) /* 801BFB0C 001BCA6C A0 1F 00 08 */ lhz r0, 8(r31) /* 801BFB10 001BCA70 B1 41 00 14 */ sth r10, 0x14(r1) /* 801BFB14 001BCA74 B0 01 00 1C */ sth r0, 0x1c(r1) /* 801BFB18 001BCA78 B0 01 00 20 */ sth r0, 0x20(r1) /* 801BFB1C 001BCA7C 4B E8 A5 85 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f /* 801BFB20 001BCA80 48 00 00 F0 */ b lbl_801BFC10 lbl_801BFB24: /* 801BFB24 001BCA84 C0 5F 03 0C */ lfs f2, 0x30c(r31) /* 801BFB28 001BCA88 38 61 00 40 */ addi r3, r1, 0x40 /* 801BFB2C 001BCA8C C0 3F 02 FC */ lfs f1, 0x2fc(r31) /* 801BFB30 001BCA90 38 81 00 34 */ addi r4, r1, 0x34 /* 801BFB34 001BCA94 C0 1F 02 EC */ lfs f0, 0x2ec(r31) /* 801BFB38 001BCA98 D0 01 00 34 */ stfs f0, 0x34(r1) /* 801BFB3C 001BCA9C D0 21 00 38 */ stfs f1, 0x38(r1) /* 801BFB40 001BCAA0 D0 41 00 3C */ stfs f2, 0x3c(r1) /* 801BFB44 001BCAA4 48 15 4D 0D */ bl AsNormalized__9CVector3fCFv /* 801BFB48 001BCAA8 C0 62 AA 48 */ lfs f3, lbl_805AC768@sda21(r2) /* 801BFB4C 001BCAAC 3C 60 80 5A */ lis r3, sUpVector__9CVector3f@ha /* 801BFB50 001BCAB0 C0 41 00 48 */ lfs f2, 0x48(r1) /* 801BFB54 001BCAB4 38 C3 66 F4 */ addi r6, r3, sUpVector__9CVector3f@l /* 801BFB58 001BCAB8 C0 21 00 40 */ lfs f1, 0x40(r1) /* 801BFB5C 001BCABC 38 61 00 B4 */ addi r3, r1, 0xb4 /* 801BFB60 001BCAC0 EC A3 00 B2 */ fmuls f5, f3, f2 /* 801BFB64 001BCAC4 C0 01 00 44 */ lfs f0, 0x44(r1) /* 801BFB68 001BCAC8 EC 83 00 72 */ fmuls f4, f3, f1 /* 801BFB6C 001BCACC C0 3F 03 50 */ lfs f1, 0x350(r31) /* 801BFB70 001BCAD0 EC 63 00 32 */ fmuls f3, f3, f0 /* 801BFB74 001BCAD4 C0 5F 03 4C */ lfs f2, 0x34c(r31) /* 801BFB78 001BCAD8 C0 1F 03 48 */ lfs f0, 0x348(r31) /* 801BFB7C 001BCADC EC 21 28 2A */ fadds f1, f1, f5 /* 801BFB80 001BCAE0 EC 42 18 2A */ fadds f2, f2, f3 /* 801BFB84 001BCAE4 D0 81 00 4C */ stfs f4, 0x4c(r1) /* 801BFB88 001BCAE8 EC 00 20 2A */ fadds f0, f0, f4 /* 801BFB8C 001BCAEC 38 81 00 64 */ addi r4, r1, 0x64 /* 801BFB90 001BCAF0 D0 21 00 60 */ stfs f1, 0x60(r1) /* 801BFB94 001BCAF4 38 A1 00 58 */ addi r5, r1, 0x58 /* 801BFB98 001BCAF8 D0 01 00 58 */ stfs f0, 0x58(r1) /* 801BFB9C 001BCAFC D0 41 00 5C */ stfs f2, 0x5c(r1) /* 801BFBA0 001BCB00 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 801BFBA4 001BCB04 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 801BFBA8 001BCB08 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 801BFBAC 001BCB0C D0 61 00 50 */ stfs f3, 0x50(r1) /* 801BFBB0 001BCB10 D0 A1 00 54 */ stfs f5, 0x54(r1) /* 801BFBB4 001BCB14 D0 01 00 64 */ stfs f0, 0x64(r1) /* 801BFBB8 001BCB18 D0 21 00 68 */ stfs f1, 0x68(r1) /* 801BFBBC 001BCB1C D0 41 00 6C */ stfs f2, 0x6c(r1) /* 801BFBC0 001BCB20 48 15 3F 51 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 801BFBC4 001BCB24 38 7F 00 34 */ addi r3, r31, 0x34 /* 801BFBC8 001BCB28 38 81 00 B4 */ addi r4, r1, 0xb4 /* 801BFBCC 001BCB2C 48 15 2F 75 */ bl __as__12CTransform4fFRC12CTransform4f /* 801BFBD0 001BCB30 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 801BFBD4 001BCB34 38 60 00 01 */ li r3, 1 /* 801BFBD8 001BCB38 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 801BFBDC 001BCB3C C0 02 AA 04 */ lfs f0, lbl_805AC724@sda21(r2) /* 801BFBE0 001BCB40 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 801BFBE4 001BCB44 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 801BFBE8 001BCB48 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 801BFBEC 001BCB4C 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 801BFBF0 001BCB50 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 801BFBF4 001BCB54 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 801BFBF8 001BCB58 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 801BFBFC 001BCB5C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801BFC00 001BCB60 B0 1F 02 C0 */ sth r0, 0x2c0(r31) /* 801BFC04 001BCB64 D0 1F 03 9C */ stfs f0, 0x39c(r31) /* 801BFC08 001BCB68 B0 01 00 08 */ sth r0, 8(r1) /* 801BFC0C 001BCB6C D0 1F 03 A0 */ stfs f0, 0x3a0(r31) lbl_801BFC10: /* 801BFC10 001BCB70 E3 E1 01 08 */ psq_l f31, 264(r1), 0, qr0 /* 801BFC14 001BCB74 80 01 01 14 */ lwz r0, 0x114(r1) /* 801BFC18 001BCB78 CB E1 01 00 */ lfd f31, 0x100(r1) /* 801BFC1C 001BCB7C 83 E1 00 FC */ lwz r31, 0xfc(r1) /* 801BFC20 001BCB80 83 C1 00 F8 */ lwz r30, 0xf8(r1) /* 801BFC24 001BCB84 83 A1 00 F4 */ lwz r29, 0xf4(r1) /* 801BFC28 001BCB88 7C 08 03 A6 */ mtlr r0 /* 801BFC2C 001BCB8C 38 21 01 10 */ addi r1, r1, 0x110 /* 801BFC30 001BCB90 4E 80 00 20 */ blr .global sub_801bfc34 sub_801bfc34: /* 801BFC34 001BCB94 94 21 FF 20 */ stwu r1, -0xe0(r1) /* 801BFC38 001BCB98 7C 08 02 A6 */ mflr r0 /* 801BFC3C 001BCB9C 90 01 00 E4 */ stw r0, 0xe4(r1) /* 801BFC40 001BCBA0 DB E1 00 D0 */ stfd f31, 0xd0(r1) /* 801BFC44 001BCBA4 F3 E1 00 D8 */ psq_st f31, 216(r1), 0, qr0 /* 801BFC48 001BCBA8 DB C1 00 C0 */ stfd f30, 0xc0(r1) /* 801BFC4C 001BCBAC F3 C1 00 C8 */ psq_st f30, 200(r1), 0, qr0 /* 801BFC50 001BCBB0 DB A1 00 B0 */ stfd f29, 0xb0(r1) /* 801BFC54 001BCBB4 F3 A1 00 B8 */ psq_st f29, 184(r1), 0, qr0 /* 801BFC58 001BCBB8 93 E1 00 AC */ stw r31, 0xac(r1) /* 801BFC5C 001BCBBC 93 C1 00 A8 */ stw r30, 0xa8(r1) /* 801BFC60 001BCBC0 93 A1 00 A4 */ stw r29, 0xa4(r1) /* 801BFC64 001BCBC4 3C A0 80 5A */ lis r5, sForwardVector__9CVector3f@ha /* 801BFC68 001BCBC8 7C 9E 23 78 */ mr r30, r4 /* 801BFC6C 001BCBCC 38 85 67 24 */ addi r4, r5, sForwardVector__9CVector3f@l /* 801BFC70 001BCBD0 7C 7D 1B 78 */ mr r29, r3 /* 801BFC74 001BCBD4 C0 44 00 00 */ lfs f2, 0(r4) /* 801BFC78 001BCBD8 FF C0 08 90 */ fmr f30, f1 /* 801BFC7C 001BCBDC C0 24 00 04 */ lfs f1, 4(r4) /* 801BFC80 001BCBE0 7F C3 F3 78 */ mr r3, r30 /* 801BFC84 001BCBE4 C0 04 00 08 */ lfs f0, 8(r4) /* 801BFC88 001BCBE8 38 81 00 0C */ addi r4, r1, 0xc /* 801BFC8C 001BCBEC D0 41 00 34 */ stfs f2, 0x34(r1) /* 801BFC90 001BCBF0 C3 E2 AA 04 */ lfs f31, lbl_805AC724@sda21(r2) /* 801BFC94 001BCBF4 D0 21 00 38 */ stfs f1, 0x38(r1) /* 801BFC98 001BCBF8 D0 01 00 3C */ stfs f0, 0x3c(r1) /* 801BFC9C 001BCBFC A0 1D 02 C0 */ lhz r0, 0x2c0(r29) /* 801BFCA0 001BCC00 B0 01 00 08 */ sth r0, 8(r1) /* 801BFCA4 001BCC04 B0 01 00 0C */ sth r0, 0xc(r1) /* 801BFCA8 001BCC08 4B E8 C8 FD */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 801BFCAC 001BCC0C 7C 64 1B 78 */ mr r4, r3 /* 801BFCB0 001BCC10 38 61 00 14 */ addi r3, r1, 0x14 /* 801BFCB4 001BCC14 4B EE FF DD */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity" /* 801BFCB8 001BCC18 83 E3 00 04 */ lwz r31, 4(r3) /* 801BFCBC 001BCC1C 28 1F 00 00 */ cmplwi r31, 0 /* 801BFCC0 001BCC20 41 82 00 A4 */ beq lbl_801BFD64 /* 801BFCC4 001BCC24 7F E3 FB 78 */ mr r3, r31 /* 801BFCC8 001BCC28 7F C4 F3 78 */ mr r4, r30 /* 801BFCCC 001BCC2C 81 9F 00 00 */ lwz r12, 0(r31) /* 801BFCD0 001BCC30 81 8C 00 34 */ lwz r12, 0x34(r12) /* 801BFCD4 001BCC34 7D 89 03 A6 */ mtctr r12 /* 801BFCD8 001BCC38 4E 80 04 21 */ bctrl /* 801BFCDC 001BCC3C 28 03 00 00 */ cmplwi r3, 0 /* 801BFCE0 001BCC40 41 82 00 84 */ beq lbl_801BFD64 /* 801BFCE4 001BCC44 7F E3 FB 78 */ mr r3, r31 /* 801BFCE8 001BCC48 7F C4 F3 78 */ mr r4, r30 /* 801BFCEC 001BCC4C 81 9F 00 00 */ lwz r12, 0(r31) /* 801BFCF0 001BCC50 81 8C 00 34 */ lwz r12, 0x34(r12) /* 801BFCF4 001BCC54 7D 89 03 A6 */ mtctr r12 /* 801BFCF8 001BCC58 4E 80 04 21 */ bctrl /* 801BFCFC 001BCC5C C0 23 00 00 */ lfs f1, 0(r3) /* 801BFD00 001BCC60 C0 02 AA 04 */ lfs f0, lbl_805AC724@sda21(r2) /* 801BFD04 001BCC64 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801BFD08 001BCC68 40 81 00 5C */ ble lbl_801BFD64 /* 801BFD0C 001BCC6C C0 3F 00 50 */ lfs f1, 0x50(r31) /* 801BFD10 001BCC70 C0 1D 03 04 */ lfs f0, 0x304(r29) /* 801BFD14 001BCC74 C0 7F 00 40 */ lfs f3, 0x40(r31) /* 801BFD18 001BCC78 EC 21 00 28 */ fsubs f1, f1, f0 /* 801BFD1C 001BCC7C C0 1D 02 F4 */ lfs f0, 0x2f4(r29) /* 801BFD20 001BCC80 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 801BFD24 001BCC84 EC 63 00 28 */ fsubs f3, f3, f0 /* 801BFD28 001BCC88 C0 1D 03 14 */ lfs f0, 0x314(r29) /* 801BFD2C 001BCC8C EC 21 00 72 */ fmuls f1, f1, f1 /* 801BFD30 001BCC90 EC 42 00 28 */ fsubs f2, f2, f0 /* 801BFD34 001BCC94 C0 02 AA 4C */ lfs f0, lbl_805AC76C@sda21(r2) /* 801BFD38 001BCC98 EC 23 08 FA */ fmadds f1, f3, f3, f1 /* 801BFD3C 001BCC9C EC 22 08 BA */ fmadds f1, f2, f2, f1 /* 801BFD40 001BCCA0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801BFD44 001BCCA4 40 81 00 0C */ ble lbl_801BFD50 /* 801BFD48 001BCCA8 38 60 00 01 */ li r3, 1 /* 801BFD4C 001BCCAC 48 00 02 08 */ b lbl_801BFF54 lbl_801BFD50: /* 801BFD50 001BCCB0 7F A3 EB 78 */ mr r3, r29 /* 801BFD54 001BCCB4 7F E5 FB 78 */ mr r5, r31 /* 801BFD58 001BCCB8 38 81 00 34 */ addi r4, r1, 0x34 /* 801BFD5C 001BCCBC 48 00 02 2D */ bl sub_801bff88 /* 801BFD60 001BCCC0 FF E0 08 90 */ fmr f31, f1 lbl_801BFD64: /* 801BFD64 001BCCC4 C0 1D 03 A8 */ lfs f0, 0x3a8(r29) /* 801BFD68 001BCCC8 C0 22 AA 04 */ lfs f1, lbl_805AC724@sda21(r2) /* 801BFD6C 001BCCCC EC 00 F0 28 */ fsubs f0, f0, f30 /* 801BFD70 001BCCD0 D0 1D 03 A8 */ stfs f0, 0x3a8(r29) /* 801BFD74 001BCCD4 C0 1D 03 A8 */ lfs f0, 0x3a8(r29) /* 801BFD78 001BCCD8 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801BFD7C 001BCCDC 4C 40 13 82 */ cror 2, 0, 2 /* 801BFD80 001BCCE0 40 82 00 40 */ bne lbl_801BFDC0 /* 801BFD84 001BCCE4 80 7E 09 00 */ lwz r3, 0x900(r30) /* 801BFD88 001BCCE8 C0 42 AA 20 */ lfs f2, lbl_805AC740@sda21(r2) /* 801BFD8C 001BCCEC 48 15 27 B9 */ bl Range__9CRandom16Fff /* 801BFD90 001BCCF0 FF A0 08 90 */ fmr f29, f1 /* 801BFD94 001BCCF4 80 7E 09 00 */ lwz r3, 0x900(r30) /* 801BFD98 001BCCF8 C0 22 AA 50 */ lfs f1, lbl_805AC770@sda21(r2) /* 801BFD9C 001BCCFC C0 42 AA 28 */ lfs f2, lbl_805AC748@sda21(r2) /* 801BFDA0 001BCD00 48 15 27 A5 */ bl Range__9CRandom16Fff /* 801BFDA4 001BCD04 C0 42 AA 0C */ lfs f2, lbl_805AC72C@sda21(r2) /* 801BFDA8 001BCD08 C0 1D 03 AC */ lfs f0, 0x3ac(r29) /* 801BFDAC 001BCD0C EC 42 08 24 */ fdivs f2, f2, f1 /* 801BFDB0 001BCD10 EC 1D 00 28 */ fsubs f0, f29, f0 /* 801BFDB4 001BCD14 EC 02 00 32 */ fmuls f0, f2, f0 /* 801BFDB8 001BCD18 D0 1D 03 A4 */ stfs f0, 0x3a4(r29) /* 801BFDBC 001BCD1C D0 3D 03 A8 */ stfs f1, 0x3a8(r29) lbl_801BFDC0: /* 801BFDC0 001BCD20 C0 1D 03 B8 */ lfs f0, 0x3b8(r29) /* 801BFDC4 001BCD24 C0 22 AA 04 */ lfs f1, lbl_805AC724@sda21(r2) /* 801BFDC8 001BCD28 EC 00 F0 28 */ fsubs f0, f0, f30 /* 801BFDCC 001BCD2C D0 1D 03 B8 */ stfs f0, 0x3b8(r29) /* 801BFDD0 001BCD30 C0 1D 03 B8 */ lfs f0, 0x3b8(r29) /* 801BFDD4 001BCD34 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801BFDD8 001BCD38 4C 40 13 82 */ cror 2, 0, 2 /* 801BFDDC 001BCD3C 40 82 00 40 */ bne lbl_801BFE1C /* 801BFDE0 001BCD40 80 7E 09 00 */ lwz r3, 0x900(r30) /* 801BFDE4 001BCD44 C0 42 A9 F8 */ lfs f2, lbl_805AC718@sda21(r2) /* 801BFDE8 001BCD48 48 15 27 5D */ bl Range__9CRandom16Fff /* 801BFDEC 001BCD4C FF A0 08 90 */ fmr f29, f1 /* 801BFDF0 001BCD50 80 7E 09 00 */ lwz r3, 0x900(r30) /* 801BFDF4 001BCD54 C0 22 AA 54 */ lfs f1, lbl_805AC774@sda21(r2) /* 801BFDF8 001BCD58 C0 42 A9 F8 */ lfs f2, lbl_805AC718@sda21(r2) /* 801BFDFC 001BCD5C 48 15 27 49 */ bl Range__9CRandom16Fff /* 801BFE00 001BCD60 C0 42 AA 0C */ lfs f2, lbl_805AC72C@sda21(r2) /* 801BFE04 001BCD64 C0 1D 03 B0 */ lfs f0, 0x3b0(r29) /* 801BFE08 001BCD68 EC 42 08 24 */ fdivs f2, f2, f1 /* 801BFE0C 001BCD6C EC 1D 00 28 */ fsubs f0, f29, f0 /* 801BFE10 001BCD70 EC 02 00 32 */ fmuls f0, f2, f0 /* 801BFE14 001BCD74 D0 1D 03 B4 */ stfs f0, 0x3b4(r29) /* 801BFE18 001BCD78 D0 3D 03 B8 */ stfs f1, 0x3b8(r29) lbl_801BFE1C: /* 801BFE1C 001BCD7C C0 1D 03 C0 */ lfs f0, 0x3c0(r29) /* 801BFE20 001BCD80 C0 22 AA 04 */ lfs f1, lbl_805AC724@sda21(r2) /* 801BFE24 001BCD84 EC 00 F0 28 */ fsubs f0, f0, f30 /* 801BFE28 001BCD88 D0 1D 03 C0 */ stfs f0, 0x3c0(r29) /* 801BFE2C 001BCD8C C0 1D 03 C0 */ lfs f0, 0x3c0(r29) /* 801BFE30 001BCD90 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801BFE34 001BCD94 4C 40 13 82 */ cror 2, 0, 2 /* 801BFE38 001BCD98 40 82 00 40 */ bne lbl_801BFE78 /* 801BFE3C 001BCD9C 80 7E 09 00 */ lwz r3, 0x900(r30) /* 801BFE40 001BCDA0 C0 42 AA 20 */ lfs f2, lbl_805AC740@sda21(r2) /* 801BFE44 001BCDA4 48 15 27 01 */ bl Range__9CRandom16Fff /* 801BFE48 001BCDA8 FF A0 08 90 */ fmr f29, f1 /* 801BFE4C 001BCDAC 80 7E 09 00 */ lwz r3, 0x900(r30) /* 801BFE50 001BCDB0 C0 22 AA 50 */ lfs f1, lbl_805AC770@sda21(r2) /* 801BFE54 001BCDB4 C0 42 AA 28 */ lfs f2, lbl_805AC748@sda21(r2) /* 801BFE58 001BCDB8 48 15 26 ED */ bl Range__9CRandom16Fff /* 801BFE5C 001BCDBC C0 42 AA 0C */ lfs f2, lbl_805AC72C@sda21(r2) /* 801BFE60 001BCDC0 C0 1D 03 AC */ lfs f0, 0x3ac(r29) /* 801BFE64 001BCDC4 EC 42 08 24 */ fdivs f2, f2, f1 /* 801BFE68 001BCDC8 EC 1D 00 28 */ fsubs f0, f29, f0 /* 801BFE6C 001BCDCC EC 02 00 32 */ fmuls f0, f2, f0 /* 801BFE70 001BCDD0 D0 1D 03 BC */ stfs f0, 0x3bc(r29) /* 801BFE74 001BCDD4 D0 3D 03 C0 */ stfs f1, 0x3c0(r29) lbl_801BFE78: /* 801BFE78 001BCDD8 C0 3D 03 A4 */ lfs f1, 0x3a4(r29) /* 801BFE7C 001BCDDC 3C 60 80 47 */ lis r3, lbl_8046C914@ha /* 801BFE80 001BCDE0 C0 1D 03 AC */ lfs f0, 0x3ac(r29) /* 801BFE84 001BCDE4 EC 01 07 BA */ fmadds f0, f1, f30, f0 /* 801BFE88 001BCDE8 D0 1D 03 AC */ stfs f0, 0x3ac(r29) /* 801BFE8C 001BCDEC C0 3D 03 B4 */ lfs f1, 0x3b4(r29) /* 801BFE90 001BCDF0 C0 1D 03 B0 */ lfs f0, 0x3b0(r29) /* 801BFE94 001BCDF4 EC 01 07 BA */ fmadds f0, f1, f30, f0 /* 801BFE98 001BCDF8 D0 1D 03 B0 */ stfs f0, 0x3b0(r29) /* 801BFE9C 001BCDFC C0 3D 03 BC */ lfs f1, 0x3bc(r29) /* 801BFEA0 001BCE00 C0 1D 03 C4 */ lfs f0, 0x3c4(r29) /* 801BFEA4 001BCE04 EC 01 07 BA */ fmadds f0, f1, f30, f0 /* 801BFEA8 001BCE08 D0 1D 03 C4 */ stfs f0, 0x3c4(r29) /* 801BFEAC 001BCE0C C4 43 C9 14 */ lfsu f2, lbl_8046C914@l(r3) /* 801BFEB0 001BCE10 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801BFEB4 001BCE14 C0 23 00 04 */ lfs f1, 4(r3) /* 801BFEB8 001BCE18 C0 03 00 08 */ lfs f0, 8(r3) /* 801BFEBC 001BCE1C D0 41 00 28 */ stfs f2, 0x28(r1) /* 801BFEC0 001BCE20 D0 21 00 2C */ stfs f1, 0x2c(r1) /* 801BFEC4 001BCE24 D0 01 00 30 */ stfs f0, 0x30(r1) /* 801BFEC8 001BCE28 A0 7D 02 C0 */ lhz r3, 0x2c0(r29) /* 801BFECC 001BCE2C 7C 03 00 40 */ cmplw r3, r0 /* 801BFED0 001BCE30 41 82 00 0C */ beq lbl_801BFEDC /* 801BFED4 001BCE34 C0 42 AA 58 */ lfs f2, lbl_805AC778@sda21(r2) /* 801BFED8 001BCE38 48 00 00 08 */ b lbl_801BFEE0 lbl_801BFEDC: /* 801BFEDC 001BCE3C C0 42 AA 0C */ lfs f2, lbl_805AC72C@sda21(r2) lbl_801BFEE0: /* 801BFEE0 001BCE40 C0 1D 03 B0 */ lfs f0, 0x3b0(r29) /* 801BFEE4 001BCE44 38 61 00 40 */ addi r3, r1, 0x40 /* 801BFEE8 001BCE48 C0 21 00 30 */ lfs f1, 0x30(r1) /* 801BFEEC 001BCE4C 38 81 00 10 */ addi r4, r1, 0x10 /* 801BFEF0 001BCE50 EC 00 00 32 */ fmuls f0, f0, f0 /* 801BFEF4 001BCE54 EC 02 00 28 */ fsubs f0, f2, f0 /* 801BFEF8 001BCE58 EC 01 00 32 */ fmuls f0, f1, f0 /* 801BFEFC 001BCE5C D0 01 00 30 */ stfs f0, 0x30(r1) /* 801BFF00 001BCE60 C0 1D 03 AC */ lfs f0, 0x3ac(r29) /* 801BFF04 001BCE64 D0 01 00 10 */ stfs f0, 0x10(r1) /* 801BFF08 001BCE68 48 15 39 A1 */ bl RotateY__12CTransform4fFRC9CRelAngle /* 801BFF0C 001BCE6C 38 61 00 70 */ addi r3, r1, 0x70 /* 801BFF10 001BCE70 38 9D 02 E8 */ addi r4, r29, 0x2e8 /* 801BFF14 001BCE74 38 A1 00 40 */ addi r5, r1, 0x40 /* 801BFF18 001BCE78 48 15 2A 39 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 801BFF1C 001BCE7C 38 61 00 1C */ addi r3, r1, 0x1c /* 801BFF20 001BCE80 38 81 00 70 */ addi r4, r1, 0x70 /* 801BFF24 001BCE84 38 A1 00 28 */ addi r5, r1, 0x28 /* 801BFF28 001BCE88 48 15 2B C1 */ bl __ml__12CTransform4fCFRC9CVector3f /* 801BFF2C 001BCE8C C0 21 00 1C */ lfs f1, 0x1c(r1) /* 801BFF30 001BCE90 C0 02 AA 40 */ lfs f0, lbl_805AC760@sda21(r2) /* 801BFF34 001BCE94 D0 3D 03 18 */ stfs f1, 0x318(r29) /* 801BFF38 001BCE98 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 801BFF3C 001BCE9C C0 01 00 20 */ lfs f0, 0x20(r1) /* 801BFF40 001BCEA0 D0 1D 03 1C */ stfs f0, 0x31c(r29) /* 801BFF44 001BCEA4 C0 01 00 24 */ lfs f0, 0x24(r1) /* 801BFF48 001BCEA8 D0 1D 03 20 */ stfs f0, 0x320(r29) /* 801BFF4C 001BCEAC 7C 00 00 26 */ mfcr r0 /* 801BFF50 001BCEB0 54 03 17 FE */ rlwinm r3, r0, 2, 0x1f, 0x1f lbl_801BFF54: /* 801BFF54 001BCEB4 E3 E1 00 D8 */ psq_l f31, 216(r1), 0, qr0 /* 801BFF58 001BCEB8 CB E1 00 D0 */ lfd f31, 0xd0(r1) /* 801BFF5C 001BCEBC E3 C1 00 C8 */ psq_l f30, 200(r1), 0, qr0 /* 801BFF60 001BCEC0 CB C1 00 C0 */ lfd f30, 0xc0(r1) /* 801BFF64 001BCEC4 E3 A1 00 B8 */ psq_l f29, 184(r1), 0, qr0 /* 801BFF68 001BCEC8 CB A1 00 B0 */ lfd f29, 0xb0(r1) /* 801BFF6C 001BCECC 83 E1 00 AC */ lwz r31, 0xac(r1) /* 801BFF70 001BCED0 83 C1 00 A8 */ lwz r30, 0xa8(r1) /* 801BFF74 001BCED4 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 801BFF78 001BCED8 83 A1 00 A4 */ lwz r29, 0xa4(r1) /* 801BFF7C 001BCEDC 7C 08 03 A6 */ mtlr r0 /* 801BFF80 001BCEE0 38 21 00 E0 */ addi r1, r1, 0xe0 /* 801BFF84 001BCEE4 4E 80 00 20 */ blr .global sub_801bff88 sub_801bff88: /* 801BFF88 001BCEE8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801BFF8C 001BCEEC 7C 08 02 A6 */ mflr r0 /* 801BFF90 001BCEF0 90 01 00 34 */ stw r0, 0x34(r1) /* 801BFF94 001BCEF4 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801BFF98 001BCEF8 7C 9F 23 78 */ mr r31, r4 /* 801BFF9C 001BCEFC 93 C1 00 28 */ stw r30, 0x28(r1) /* 801BFFA0 001BCF00 7C 7E 1B 78 */ mr r30, r3 /* 801BFFA4 001BCF04 7F E3 FB 78 */ mr r3, r31 /* 801BFFA8 001BCF08 C0 25 00 40 */ lfs f1, 0x40(r5) /* 801BFFAC 001BCF0C C0 1E 02 F4 */ lfs f0, 0x2f4(r30) /* 801BFFB0 001BCF10 C0 85 00 50 */ lfs f4, 0x50(r5) /* 801BFFB4 001BCF14 C0 7E 03 04 */ lfs f3, 0x304(r30) /* 801BFFB8 001BCF18 EC 01 00 28 */ fsubs f0, f1, f0 /* 801BFFBC 001BCF1C C0 45 00 60 */ lfs f2, 0x60(r5) /* 801BFFC0 001BCF20 C0 3E 03 14 */ lfs f1, 0x314(r30) /* 801BFFC4 001BCF24 EC 64 18 28 */ fsubs f3, f4, f3 /* 801BFFC8 001BCF28 D0 04 00 00 */ stfs f0, 0(r4) /* 801BFFCC 001BCF2C EC 02 08 28 */ fsubs f0, f2, f1 /* 801BFFD0 001BCF30 D0 64 00 04 */ stfs f3, 4(r4) /* 801BFFD4 001BCF34 D0 04 00 08 */ stfs f0, 8(r4) /* 801BFFD8 001BCF38 48 15 47 21 */ bl CanBeNormalized__9CVector3fCFv /* 801BFFDC 001BCF3C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801BFFE0 001BCF40 41 82 00 10 */ beq lbl_801BFFF0 /* 801BFFE4 001BCF44 7F E3 FB 78 */ mr r3, r31 /* 801BFFE8 001BCF48 48 15 49 11 */ bl Normalize__9CVector3fFv /* 801BFFEC 001BCF4C 48 00 00 1C */ b lbl_801C0008 lbl_801BFFF0: /* 801BFFF0 001BCF50 C0 5E 00 58 */ lfs f2, 0x58(r30) /* 801BFFF4 001BCF54 C0 3E 00 48 */ lfs f1, 0x48(r30) /* 801BFFF8 001BCF58 C0 1E 00 38 */ lfs f0, 0x38(r30) /* 801BFFFC 001BCF5C D0 1F 00 00 */ stfs f0, 0(r31) /* 801C0000 001BCF60 D0 3F 00 04 */ stfs f1, 4(r31) /* 801C0004 001BCF64 D0 5F 00 08 */ stfs f2, 8(r31) lbl_801C0008: /* 801C0008 001BCF68 C0 3F 00 00 */ lfs f1, 0(r31) /* 801C000C 001BCF6C 38 61 00 08 */ addi r3, r1, 8 /* 801C0010 001BCF70 C0 5F 00 04 */ lfs f2, 4(r31) /* 801C0014 001BCF74 48 15 41 ED */ bl __ct__9CVector2fFff /* 801C0018 001BCF78 C0 5E 02 FC */ lfs f2, 0x2fc(r30) /* 801C001C 001BCF7C 38 61 00 10 */ addi r3, r1, 0x10 /* 801C0020 001BCF80 C0 3E 02 EC */ lfs f1, 0x2ec(r30) /* 801C0024 001BCF84 C0 1E 03 0C */ lfs f0, 0x30c(r30) /* 801C0028 001BCF88 D0 21 00 18 */ stfs f1, 0x18(r1) /* 801C002C 001BCF8C D0 41 00 1C */ stfs f2, 0x1c(r1) /* 801C0030 001BCF90 D0 01 00 20 */ stfs f0, 0x20(r1) /* 801C0034 001BCF94 48 15 41 CD */ bl __ct__9CVector2fFff /* 801C0038 001BCF98 38 61 00 10 */ addi r3, r1, 0x10 /* 801C003C 001BCF9C 38 81 00 08 */ addi r4, r1, 8 /* 801C0040 001BCFA0 48 15 3F 85 */ bl GetAngleDiff__9CVector2fFRC9CVector2fRC9CVector2f /* 801C0044 001BCFA4 80 01 00 34 */ lwz r0, 0x34(r1) /* 801C0048 001BCFA8 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801C004C 001BCFAC 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801C0050 001BCFB0 7C 08 03 A6 */ mtlr r0 /* 801C0054 001BCFB4 38 21 00 30 */ addi r1, r1, 0x30 .global sub_801c0058 sub_801c0058: /* 801C0058 001BCFB8 4E 80 00 20 */ blr .global SetNewTarget__11CWaveBusterF9TUniqueId SetNewTarget__11CWaveBusterF9TUniqueId: /* 801C005C 001BCFBC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801C0060 001BCFC0 7C 08 02 A6 */ mflr r0 /* 801C0064 001BCFC4 90 01 00 34 */ stw r0, 0x34(r1) /* 801C0068 001BCFC8 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801C006C 001BCFCC 7C BF 2B 78 */ mr r31, r5 /* 801C0070 001BCFD0 A0 C4 00 00 */ lhz r6, 0(r4) /* 801C0074 001BCFD4 B0 C3 02 C0 */ sth r6, 0x2c0(r3) /* 801C0078 001BCFD8 A0 84 00 00 */ lhz r4, 0(r4) /* 801C007C 001BCFDC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 801C0080 001BCFE0 B0 C1 00 08 */ sth r6, 8(r1) /* 801C0084 001BCFE4 7C 04 00 40 */ cmplw r4, r0 /* 801C0088 001BCFE8 41 82 00 78 */ beq lbl_801C0100 /* 801C008C 001BCFEC 88 03 03 D0 */ lbz r0, 0x3d0(r3) /* 801C0090 001BCFF0 38 80 00 01 */ li r4, 1 /* 801C0094 001BCFF4 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a /* 801C0098 001BCFF8 C0 02 AA 04 */ lfs f0, lbl_805AC724@sda21(r2) /* 801C009C 001BCFFC 98 03 03 D0 */ stb r0, 0x3d0(r3) /* 801C00A0 001BD000 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 801C00A4 001BD004 38 C4 66 A0 */ addi r6, r4, sZeroVector__9CVector3f@l /* 801C00A8 001BD008 A9 22 C5 F8 */ lha r9, lbl_805AE318@sda21(r2) /* 801C00AC 001BD00C D0 03 03 A0 */ stfs f0, 0x3a0(r3) /* 801C00B0 001BD010 38 A1 00 10 */ addi r5, r1, 0x10 /* 801C00B4 001BD014 81 42 C6 00 */ lwz r10, lbl_805AE320@sda21(r2) /* 801C00B8 001BD018 38 80 06 FF */ li r4, 0x6ff /* 801C00BC 001BD01C C0 43 00 60 */ lfs f2, 0x60(r3) /* 801C00C0 001BD020 38 E0 00 01 */ li r7, 1 /* 801C00C4 001BD024 C0 23 00 50 */ lfs f1, 0x50(r3) /* 801C00C8 001BD028 39 00 00 00 */ li r8, 0 /* 801C00CC 001BD02C C0 03 00 40 */ lfs f0, 0x40(r3) /* 801C00D0 001BD030 38 61 00 0C */ addi r3, r1, 0xc /* 801C00D4 001BD034 D0 01 00 10 */ stfs f0, 0x10(r1) /* 801C00D8 001BD038 D0 21 00 14 */ stfs f1, 0x14(r1) /* 801C00DC 001BD03C D0 41 00 18 */ stfs f2, 0x18(r1) /* 801C00E0 001BD040 48 12 A1 D1 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi /* 801C00E4 001BD044 80 7F 08 8C */ lwz r3, 0x88c(r31) /* 801C00E8 001BD048 7F E4 FB 78 */ mr r4, r31 /* 801C00EC 001BD04C C0 22 A9 F8 */ lfs f1, lbl_805AC718@sda21(r2) /* 801C00F0 001BD050 38 A0 00 0B */ li r5, 0xb /* 801C00F4 001BD054 38 C0 00 03 */ li r6, 3 /* 801C00F8 001BD058 48 06 E1 4D */ bl Rumble__14CRumbleManagerFR13CStateManager11ERumbleFxIdf15ERumblePriority /* 801C00FC 001BD05C 48 00 00 14 */ b lbl_801C0110 lbl_801C0100: /* 801C0100 001BD060 88 03 03 D0 */ lbz r0, 0x3d0(r3) /* 801C0104 001BD064 38 80 00 00 */ li r4, 0 /* 801C0108 001BD068 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a /* 801C010C 001BD06C 98 03 03 D0 */ stb r0, 0x3d0(r3) lbl_801C0110: /* 801C0110 001BD070 80 01 00 34 */ lwz r0, 0x34(r1) /* 801C0114 001BD074 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801C0118 001BD078 7C 08 03 A6 */ mtlr r0 /* 801C011C 001BD07C 38 21 00 30 */ addi r1, r1, 0x30 /* 801C0120 001BD080 4E 80 00 20 */ blr .global sub_801c0124 sub_801c0124: /* 801C0124 001BD084 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801C0128 001BD088 7C 08 02 A6 */ mflr r0 /* 801C012C 001BD08C 90 01 00 14 */ stw r0, 0x14(r1) /* 801C0130 001BD090 4B E9 42 D9 */ bl Touch__6CActorFR6CActorR13CStateManager /* 801C0134 001BD094 80 01 00 14 */ lwz r0, 0x14(r1) /* 801C0138 001BD098 7C 08 03 A6 */ mtlr r0 /* 801C013C 001BD09C 38 21 00 10 */ addi r1, r1, 0x10 .global sub_801c0140 sub_801c0140: /* 801C0140 001BD0A0 4E 80 00 20 */ blr .global sub_801c0144 sub_801c0144: /* 801C0144 001BD0A4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801C0148 001BD0A8 7C 08 02 A6 */ mflr r0 /* 801C014C 001BD0AC 90 01 00 14 */ stw r0, 0x14(r1) /* 801C0150 001BD0B0 7C 60 1B 78 */ mr r0, r3 /* 801C0154 001BD0B4 7C 83 23 78 */ mr r3, r4 /* 801C0158 001BD0B8 81 84 00 00 */ lwz r12, 0(r4) /* 801C015C 001BD0BC 7C 04 03 78 */ mr r4, r0 /* 801C0160 001BD0C0 81 8C 00 3C */ lwz r12, 0x3c(r12) /* 801C0164 001BD0C4 7D 89 03 A6 */ mtctr r12 /* 801C0168 001BD0C8 4E 80 04 21 */ bctrl /* 801C016C 001BD0CC 80 01 00 14 */ lwz r0, 0x14(r1) /* 801C0170 001BD0D0 7C 08 03 A6 */ mtlr r0 /* 801C0174 001BD0D4 38 21 00 10 */ addi r1, r1, 0x10 /* 801C0178 001BD0D8 4E 80 00 20 */ blr .global "__ct__11CWaveBusterFRC28TToken<18CWeaponDescription>11EWeaponTypeRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId7TAreaId9TUniqueId9TUniqueIdUi" "__ct__11CWaveBusterFRC28TToken<18CWeaponDescription>11EWeaponTypeRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId7TAreaId9TUniqueId9TUniqueIdUi": /* 801C017C 001BD0DC 94 21 FE F0 */ stwu r1, -0x110(r1) /* 801C0180 001BD0E0 7C 08 02 A6 */ mflr r0 /* 801C0184 001BD0E4 3D 60 80 3D */ lis r11, lbl_803D1A20@ha /* 801C0188 001BD0E8 90 01 01 14 */ stw r0, 0x114(r1) /* 801C018C 001BD0EC 39 6B 1A 20 */ addi r11, r11, lbl_803D1A20@l /* 801C0190 001BD0F0 BE 01 00 D0 */ stmw r16, 0xd0(r1) /* 801C0194 001BD0F4 7C 7F 1B 78 */ mr r31, r3 /* 801C0198 001BD0F8 7C 97 23 78 */ mr r23, r4 /* 801C019C 001BD0FC 83 81 01 18 */ lwz r28, 0x118(r1) /* 801C01A0 001BD100 83 A1 01 1C */ lwz r29, 0x11c(r1) /* 801C01A4 001BD104 7C B8 2B 78 */ mr r24, r5 /* 801C01A8 001BD108 83 C1 01 20 */ lwz r30, 0x120(r1) /* 801C01AC 001BD10C 7C D9 33 78 */ mr r25, r6 /* 801C01B0 001BD110 7C FA 3B 78 */ mr r26, r7 /* 801C01B4 001BD114 7D 1B 43 78 */ mr r27, r8 /* 801C01B8 001BD118 7D 31 4B 78 */ mr r17, r9 /* 801C01BC 001BD11C 7D 50 53 78 */ mr r16, r10 /* 801C01C0 001BD120 38 61 00 B4 */ addi r3, r1, 0xb4 /* 801C01C4 001BD124 38 8B 00 11 */ addi r4, r11, 0x11 /* 801C01C8 001BD128 4B E4 4A F1 */ bl string_l__4rstlFPCc /* 801C01CC 001BD12C C0 02 AA 0C */ lfs f0, lbl_805AC72C@sda21(r2) /* 801C01D0 001BD130 38 00 00 00 */ li r0, 0 /* 801C01D4 001BD134 98 01 00 A4 */ stb r0, 0xa4(r1) /* 801C01D8 001BD138 3A 41 00 38 */ addi r18, r1, 0x38 /* 801C01DC 001BD13C 82 10 00 00 */ lwz r16, 0(r16) /* 801C01E0 001BD140 3A 61 00 3C */ addi r19, r1, 0x3c /* 801C01E4 001BD144 D0 01 00 A8 */ stfs f0, 0xa8(r1) /* 801C01E8 001BD148 3A 81 00 34 */ addi r20, r1, 0x34 /* 801C01EC 001BD14C A2 31 00 00 */ lhz r17, 0(r17) /* 801C01F0 001BD150 3A A1 00 30 */ addi r21, r1, 0x30 /* 801C01F4 001BD154 D0 01 00 AC */ stfs f0, 0xac(r1) /* 801C01F8 001BD158 3A C1 00 A8 */ addi r22, r1, 0xa8 /* 801C01FC 001BD15C 39 81 00 98 */ addi r12, r1, 0x98 /* 801C0200 001BD160 A1 62 C5 FC */ lhz r11, lbl_805AE31C@sda21(r2) /* 801C0204 001BD164 D0 01 00 B0 */ stfs f0, 0xb0(r1) /* 801C0208 001BD168 7F E3 FB 78 */ mr r3, r31 /* 801C020C 001BD16C 7E E5 BB 78 */ mr r5, r23 /* 801C0210 001BD170 7F 07 C3 78 */ mr r7, r24 /* 801C0214 001BD174 A0 9D 00 00 */ lhz r4, 0(r29) /* 801C0218 001BD178 7F 28 CB 78 */ mr r8, r25 /* 801C021C 001BD17C 7F 49 D3 78 */ mr r9, r26 /* 801C0220 001BD180 7F 6A DB 78 */ mr r10, r27 /* 801C0224 001BD184 B0 81 00 30 */ sth r4, 0x30(r1) /* 801C0228 001BD188 38 C1 00 B4 */ addi r6, r1, 0xb4 /* 801C022C 001BD18C 38 80 00 01 */ li r4, 1 /* 801C0230 001BD190 A2 FC 00 00 */ lhz r23, 0(r28) /* 801C0234 001BD194 B2 E1 00 34 */ sth r23, 0x34(r1) /* 801C0238 001BD198 92 01 00 3C */ stw r16, 0x3c(r1) /* 801C023C 001BD19C B2 21 00 38 */ sth r17, 0x38(r1) /* 801C0240 001BD1A0 92 41 00 08 */ stw r18, 8(r1) /* 801C0244 001BD1A4 92 61 00 0C */ stw r19, 0xc(r1) /* 801C0248 001BD1A8 92 81 00 10 */ stw r20, 0x10(r1) /* 801C024C 001BD1AC 92 A1 00 14 */ stw r21, 0x14(r1) /* 801C0250 001BD1B0 93 C1 00 18 */ stw r30, 0x18(r1) /* 801C0254 001BD1B4 90 01 00 1C */ stw r0, 0x1c(r1) /* 801C0258 001BD1B8 92 C1 00 20 */ stw r22, 0x20(r1) /* 801C025C 001BD1BC 91 81 00 24 */ stw r12, 0x24(r1) /* 801C0260 001BD1C0 91 61 00 28 */ stw r11, 0x28(r1) /* 801C0264 001BD1C4 90 01 00 2C */ stw r0, 0x2c(r1) /* 801C0268 001BD1C8 4B E7 A2 1D */ bl "__ct__15CGameProjectileFbRC28TToken<18CWeaponDescription>RCQ24rstl66basic_string,Q24rstl17rmemory_allocator>11EWeaponTypeRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId7TAreaId9TUniqueId9TUniqueIdUibRC9CVector3fRCQ24rstl50optional_object<31TLockedToken<15CGenDescription>>sb" /* 801C026C 001BD1CC 88 01 00 A4 */ lbz r0, 0xa4(r1) /* 801C0270 001BD1D0 28 00 00 00 */ cmplwi r0, 0 /* 801C0274 001BD1D4 41 82 00 1C */ beq lbl_801C0290 /* 801C0278 001BD1D8 34 61 00 98 */ addic. r3, r1, 0x98 /* 801C027C 001BD1DC 41 82 00 14 */ beq lbl_801C0290 /* 801C0280 001BD1E0 28 03 00 00 */ cmplwi r3, 0 /* 801C0284 001BD1E4 41 82 00 0C */ beq lbl_801C0290 /* 801C0288 001BD1E8 38 80 00 00 */ li r4, 0 /* 801C028C 001BD1EC 48 18 0B B5 */ bl __dt__6CTokenFv lbl_801C0290: /* 801C0290 001BD1F0 38 00 00 00 */ li r0, 0 /* 801C0294 001BD1F4 38 61 00 B4 */ addi r3, r1, 0xb4 /* 801C0298 001BD1F8 98 01 00 A4 */ stb r0, 0xa4(r1) /* 801C029C 001BD1FC 48 17 D8 45 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 801C02A0 001BD200 3C 60 80 3E */ lis r3, lbl_803E5318@ha /* 801C02A4 001BD204 7F 24 CB 78 */ mr r4, r25 /* 801C02A8 001BD208 38 03 53 18 */ addi r0, r3, lbl_803E5318@l /* 801C02AC 001BD20C 38 7F 02 E8 */ addi r3, r31, 0x2e8 /* 801C02B0 001BD210 90 1F 00 00 */ stw r0, 0(r31) /* 801C02B4 001BD214 48 15 28 C1 */ bl __ct__12CTransform4fFRC12CTransform4f /* 801C02B8 001BD218 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 801C02BC 001BD21C 38 61 00 8C */ addi r3, r1, 0x8c /* 801C02C0 001BD220 38 A4 66 A0 */ addi r5, r4, sZeroVector__9CVector3f@l /* 801C02C4 001BD224 38 81 00 80 */ addi r4, r1, 0x80 /* 801C02C8 001BD228 C0 05 00 00 */ lfs f0, 0(r5) /* 801C02CC 001BD22C D0 1F 03 18 */ stfs f0, 0x318(r31) /* 801C02D0 001BD230 C0 05 00 04 */ lfs f0, 4(r5) /* 801C02D4 001BD234 D0 1F 03 1C */ stfs f0, 0x31c(r31) /* 801C02D8 001BD238 C0 05 00 08 */ lfs f0, 8(r5) /* 801C02DC 001BD23C D0 1F 03 20 */ stfs f0, 0x320(r31) /* 801C02E0 001BD240 C0 05 00 00 */ lfs f0, 0(r5) /* 801C02E4 001BD244 D0 1F 03 24 */ stfs f0, 0x324(r31) /* 801C02E8 001BD248 C0 05 00 04 */ lfs f0, 4(r5) /* 801C02EC 001BD24C D0 1F 03 28 */ stfs f0, 0x328(r31) /* 801C02F0 001BD250 C0 05 00 08 */ lfs f0, 8(r5) /* 801C02F4 001BD254 D0 1F 03 2C */ stfs f0, 0x32c(r31) /* 801C02F8 001BD258 C0 05 00 00 */ lfs f0, 0(r5) /* 801C02FC 001BD25C D0 1F 03 30 */ stfs f0, 0x330(r31) /* 801C0300 001BD260 C0 05 00 04 */ lfs f0, 4(r5) /* 801C0304 001BD264 D0 1F 03 34 */ stfs f0, 0x334(r31) /* 801C0308 001BD268 C0 05 00 08 */ lfs f0, 8(r5) /* 801C030C 001BD26C D0 1F 03 38 */ stfs f0, 0x338(r31) /* 801C0310 001BD270 C0 05 00 00 */ lfs f0, 0(r5) /* 801C0314 001BD274 D0 1F 03 3C */ stfs f0, 0x33c(r31) /* 801C0318 001BD278 C0 05 00 04 */ lfs f0, 4(r5) /* 801C031C 001BD27C D0 1F 03 40 */ stfs f0, 0x340(r31) /* 801C0320 001BD280 C0 05 00 08 */ lfs f0, 8(r5) /* 801C0324 001BD284 D0 1F 03 44 */ stfs f0, 0x344(r31) /* 801C0328 001BD288 C0 5F 03 0C */ lfs f2, 0x30c(r31) /* 801C032C 001BD28C C0 3F 02 FC */ lfs f1, 0x2fc(r31) /* 801C0330 001BD290 C0 1F 02 EC */ lfs f0, 0x2ec(r31) /* 801C0334 001BD294 D0 01 00 80 */ stfs f0, 0x80(r1) /* 801C0338 001BD298 D0 21 00 84 */ stfs f1, 0x84(r1) /* 801C033C 001BD29C D0 41 00 88 */ stfs f2, 0x88(r1) /* 801C0340 001BD2A0 48 15 45 11 */ bl AsNormalized__9CVector3fCFv /* 801C0344 001BD2A4 C0 82 A9 FC */ lfs f4, lbl_805AC71C@sda21(r2) /* 801C0348 001BD2A8 3C 60 80 3D */ lis r3, lbl_803D1A20@ha /* 801C034C 001BD2AC C0 01 00 8C */ lfs f0, 0x8c(r1) /* 801C0350 001BD2B0 38 83 1A 20 */ addi r4, r3, lbl_803D1A20@l /* 801C0354 001BD2B4 C0 61 00 90 */ lfs f3, 0x90(r1) /* 801C0358 001BD2B8 38 61 00 78 */ addi r3, r1, 0x78 /* 801C035C 001BD2BC EC 04 00 32 */ fmuls f0, f4, f0 /* 801C0360 001BD2C0 C0 3F 02 F4 */ lfs f1, 0x2f4(r31) /* 801C0364 001BD2C4 C0 41 00 94 */ lfs f2, 0x94(r1) /* 801C0368 001BD2C8 EC 64 00 F2 */ fmuls f3, f4, f3 /* 801C036C 001BD2CC C0 BF 03 04 */ lfs f5, 0x304(r31) /* 801C0370 001BD2D0 38 A4 00 1C */ addi r5, r4, 0x1c /* 801C0374 001BD2D4 EC 01 00 2A */ fadds f0, f1, f0 /* 801C0378 001BD2D8 C0 DF 03 14 */ lfs f6, 0x314(r31) /* 801C037C 001BD2DC EC 24 00 B2 */ fmuls f1, f4, f2 /* 801C0380 001BD2E0 EC 45 18 2A */ fadds f2, f5, f3 /* 801C0384 001BD2E4 D0 1F 03 48 */ stfs f0, 0x348(r31) /* 801C0388 001BD2E8 EC 06 08 2A */ fadds f0, f6, f1 /* 801C038C 001BD2EC D0 5F 03 4C */ stfs f2, 0x34c(r31) /* 801C0390 001BD2F0 D0 1F 03 50 */ stfs f0, 0x350(r31) /* 801C0394 001BD2F4 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801C0398 001BD2F8 81 84 00 00 */ lwz r12, 0(r4) /* 801C039C 001BD2FC 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801C03A0 001BD300 7D 89 03 A6 */ mtctr r12 /* 801C03A4 001BD304 4E 80 04 21 */ bctrl /* 801C03A8 001BD308 3A 1F 03 54 */ addi r16, r31, 0x354 /* 801C03AC 001BD30C 38 81 00 78 */ addi r4, r1, 0x78 /* 801C03B0 001BD310 7E 03 83 78 */ mr r3, r16 /* 801C03B4 001BD314 48 18 0A F5 */ bl __ct__6CTokenFRC6CToken /* 801C03B8 001BD318 7E 03 83 78 */ mr r3, r16 /* 801C03BC 001BD31C 48 18 0A 51 */ bl GetObj__6CTokenFv /* 801C03C0 001BD320 80 03 00 04 */ lwz r0, 4(r3) /* 801C03C4 001BD324 38 61 00 78 */ addi r3, r1, 0x78 /* 801C03C8 001BD328 38 80 FF FF */ li r4, -1 /* 801C03CC 001BD32C 90 10 00 08 */ stw r0, 8(r16) /* 801C03D0 001BD330 48 18 0A 71 */ bl __dt__6CTokenFv /* 801C03D4 001BD334 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801C03D8 001BD338 3C 60 80 3D */ lis r3, lbl_803D1A20@ha /* 801C03DC 001BD33C 38 A3 1A 20 */ addi r5, r3, lbl_803D1A20@l /* 801C03E0 001BD340 38 61 00 70 */ addi r3, r1, 0x70 /* 801C03E4 001BD344 81 84 00 00 */ lwz r12, 0(r4) /* 801C03E8 001BD348 38 A5 00 2A */ addi r5, r5, 0x2a /* 801C03EC 001BD34C 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801C03F0 001BD350 7D 89 03 A6 */ mtctr r12 /* 801C03F4 001BD354 4E 80 04 21 */ bctrl /* 801C03F8 001BD358 3A 1F 03 60 */ addi r16, r31, 0x360 /* 801C03FC 001BD35C 38 81 00 70 */ addi r4, r1, 0x70 /* 801C0400 001BD360 7E 03 83 78 */ mr r3, r16 /* 801C0404 001BD364 48 18 0A A5 */ bl __ct__6CTokenFRC6CToken /* 801C0408 001BD368 7E 03 83 78 */ mr r3, r16 /* 801C040C 001BD36C 48 18 0A 01 */ bl GetObj__6CTokenFv /* 801C0410 001BD370 80 03 00 04 */ lwz r0, 4(r3) /* 801C0414 001BD374 38 61 00 70 */ addi r3, r1, 0x70 /* 801C0418 001BD378 38 80 FF FF */ li r4, -1 /* 801C041C 001BD37C 90 10 00 08 */ stw r0, 8(r16) /* 801C0420 001BD380 48 18 0A 21 */ bl __dt__6CTokenFv /* 801C0424 001BD384 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801C0428 001BD388 3C 60 80 3D */ lis r3, lbl_803D1A20@ha /* 801C042C 001BD38C 38 A3 1A 20 */ addi r5, r3, lbl_803D1A20@l /* 801C0430 001BD390 38 61 00 68 */ addi r3, r1, 0x68 /* 801C0434 001BD394 81 84 00 00 */ lwz r12, 0(r4) /* 801C0438 001BD398 38 A5 00 38 */ addi r5, r5, 0x38 /* 801C043C 001BD39C 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801C0440 001BD3A0 7D 89 03 A6 */ mtctr r12 /* 801C0444 001BD3A4 4E 80 04 21 */ bctrl /* 801C0448 001BD3A8 3A 1F 03 6C */ addi r16, r31, 0x36c /* 801C044C 001BD3AC 38 81 00 68 */ addi r4, r1, 0x68 /* 801C0450 001BD3B0 7E 03 83 78 */ mr r3, r16 /* 801C0454 001BD3B4 48 18 0A 55 */ bl __ct__6CTokenFRC6CToken /* 801C0458 001BD3B8 7E 03 83 78 */ mr r3, r16 /* 801C045C 001BD3BC 48 18 09 B1 */ bl GetObj__6CTokenFv /* 801C0460 001BD3C0 80 03 00 04 */ lwz r0, 4(r3) /* 801C0464 001BD3C4 38 61 00 68 */ addi r3, r1, 0x68 /* 801C0468 001BD3C8 38 80 FF FF */ li r4, -1 /* 801C046C 001BD3CC 90 10 00 08 */ stw r0, 8(r16) /* 801C0470 001BD3D0 48 18 09 D1 */ bl __dt__6CTokenFv /* 801C0474 001BD3D4 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801C0478 001BD3D8 3C 60 80 3D */ lis r3, lbl_803D1A20@ha /* 801C047C 001BD3DC 38 A3 1A 20 */ addi r5, r3, lbl_803D1A20@l /* 801C0480 001BD3E0 38 61 00 60 */ addi r3, r1, 0x60 /* 801C0484 001BD3E4 81 84 00 00 */ lwz r12, 0(r4) /* 801C0488 001BD3E8 38 A5 00 45 */ addi r5, r5, 0x45 /* 801C048C 001BD3EC 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801C0490 001BD3F0 7D 89 03 A6 */ mtctr r12 /* 801C0494 001BD3F4 4E 80 04 21 */ bctrl /* 801C0498 001BD3F8 3A 1F 03 78 */ addi r16, r31, 0x378 /* 801C049C 001BD3FC 38 81 00 60 */ addi r4, r1, 0x60 /* 801C04A0 001BD400 7E 03 83 78 */ mr r3, r16 /* 801C04A4 001BD404 48 18 0A 05 */ bl __ct__6CTokenFRC6CToken /* 801C04A8 001BD408 7E 03 83 78 */ mr r3, r16 /* 801C04AC 001BD40C 48 18 09 61 */ bl GetObj__6CTokenFv /* 801C04B0 001BD410 80 03 00 04 */ lwz r0, 4(r3) /* 801C04B4 001BD414 38 61 00 60 */ addi r3, r1, 0x60 /* 801C04B8 001BD418 38 80 FF FF */ li r4, -1 /* 801C04BC 001BD41C 90 10 00 08 */ stw r0, 8(r16) /* 801C04C0 001BD420 48 18 09 81 */ bl __dt__6CTokenFv /* 801C04C4 001BD424 3C 60 80 3D */ lis r3, lbl_803D1A20@ha /* 801C04C8 001BD428 3A 20 00 00 */ li r17, 0 /* 801C04CC 001BD42C 38 83 1A 20 */ addi r4, r3, lbl_803D1A20@l /* 801C04D0 001BD430 38 60 02 10 */ li r3, 0x210 /* 801C04D4 001BD434 38 84 00 51 */ addi r4, r4, 0x51 /* 801C04D8 001BD438 38 A0 00 00 */ li r5, 0 /* 801C04DC 001BD43C 48 15 53 91 */ bl __nw__FUlPCcPCc /* 801C04E0 001BD440 7C 70 1B 79 */ or. r16, r3, r3 /* 801C04E4 001BD444 41 82 00 28 */ beq lbl_801C050C /* 801C04E8 001BD448 38 61 00 58 */ addi r3, r1, 0x58 /* 801C04EC 001BD44C 38 9F 03 54 */ addi r4, r31, 0x354 /* 801C04F0 001BD450 48 18 09 B9 */ bl __ct__6CTokenFRC6CToken /* 801C04F4 001BD454 7E 03 83 78 */ mr r3, r16 /* 801C04F8 001BD458 38 81 00 58 */ addi r4, r1, 0x58 /* 801C04FC 001BD45C 3A 20 00 01 */ li r17, 1 /* 801C0500 001BD460 38 A0 00 00 */ li r5, 0 /* 801C0504 001BD464 48 16 E8 E1 */ bl "__ct__15CParticleSwooshF28TToken<18CSwooshDescription>i" /* 801C0508 001BD468 7C 70 1B 78 */ mr r16, r3 lbl_801C050C: /* 801C050C 001BD46C 7E 20 07 75 */ extsb. r0, r17 /* 801C0510 001BD470 92 1F 03 84 */ stw r16, 0x384(r31) /* 801C0514 001BD474 41 82 00 10 */ beq lbl_801C0524 /* 801C0518 001BD478 38 61 00 58 */ addi r3, r1, 0x58 /* 801C051C 001BD47C 38 80 00 00 */ li r4, 0 /* 801C0520 001BD480 48 18 09 21 */ bl __dt__6CTokenFv lbl_801C0524: /* 801C0524 001BD484 3C 60 80 3D */ lis r3, lbl_803D1A20@ha /* 801C0528 001BD488 3A 20 00 00 */ li r17, 0 /* 801C052C 001BD48C 38 83 1A 20 */ addi r4, r3, lbl_803D1A20@l /* 801C0530 001BD490 38 60 02 10 */ li r3, 0x210 /* 801C0534 001BD494 38 84 00 51 */ addi r4, r4, 0x51 /* 801C0538 001BD498 38 A0 00 00 */ li r5, 0 /* 801C053C 001BD49C 48 15 53 31 */ bl __nw__FUlPCcPCc /* 801C0540 001BD4A0 7C 70 1B 79 */ or. r16, r3, r3 /* 801C0544 001BD4A4 41 82 00 28 */ beq lbl_801C056C /* 801C0548 001BD4A8 38 61 00 50 */ addi r3, r1, 0x50 /* 801C054C 001BD4AC 38 9F 03 60 */ addi r4, r31, 0x360 /* 801C0550 001BD4B0 48 18 09 59 */ bl __ct__6CTokenFRC6CToken /* 801C0554 001BD4B4 7E 03 83 78 */ mr r3, r16 /* 801C0558 001BD4B8 38 81 00 50 */ addi r4, r1, 0x50 /* 801C055C 001BD4BC 3A 20 00 01 */ li r17, 1 /* 801C0560 001BD4C0 38 A0 00 00 */ li r5, 0 /* 801C0564 001BD4C4 48 16 E8 81 */ bl "__ct__15CParticleSwooshF28TToken<18CSwooshDescription>i" /* 801C0568 001BD4C8 7C 70 1B 78 */ mr r16, r3 lbl_801C056C: /* 801C056C 001BD4CC 7E 20 07 75 */ extsb. r0, r17 /* 801C0570 001BD4D0 92 1F 03 88 */ stw r16, 0x388(r31) /* 801C0574 001BD4D4 41 82 00 10 */ beq lbl_801C0584 /* 801C0578 001BD4D8 38 61 00 50 */ addi r3, r1, 0x50 /* 801C057C 001BD4DC 38 80 00 00 */ li r4, 0 /* 801C0580 001BD4E0 48 18 08 C1 */ bl __dt__6CTokenFv lbl_801C0584: /* 801C0584 001BD4E4 3C 60 80 3D */ lis r3, lbl_803D1A20@ha /* 801C0588 001BD4E8 3A 20 00 00 */ li r17, 0 /* 801C058C 001BD4EC 38 83 1A 20 */ addi r4, r3, lbl_803D1A20@l /* 801C0590 001BD4F0 38 60 03 40 */ li r3, 0x340 /* 801C0594 001BD4F4 38 84 00 51 */ addi r4, r4, 0x51 /* 801C0598 001BD4F8 38 A0 00 00 */ li r5, 0 /* 801C059C 001BD4FC 48 15 52 D1 */ bl __nw__FUlPCcPCc /* 801C05A0 001BD500 7C 70 1B 79 */ or. r16, r3, r3 /* 801C05A4 001BD504 41 82 00 2C */ beq lbl_801C05D0 /* 801C05A8 001BD508 38 61 00 48 */ addi r3, r1, 0x48 /* 801C05AC 001BD50C 38 9F 03 6C */ addi r4, r31, 0x36c /* 801C05B0 001BD510 48 18 08 F9 */ bl __ct__6CTokenFRC6CToken /* 801C05B4 001BD514 7E 03 83 78 */ mr r3, r16 /* 801C05B8 001BD518 38 81 00 48 */ addi r4, r1, 0x48 /* 801C05BC 001BD51C 3A 20 00 01 */ li r17, 1 /* 801C05C0 001BD520 38 A0 00 00 */ li r5, 0 /* 801C05C4 001BD524 38 C0 00 01 */ li r6, 1 /* 801C05C8 001BD528 48 15 EE 19 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 801C05CC 001BD52C 7C 70 1B 78 */ mr r16, r3 lbl_801C05D0: /* 801C05D0 001BD530 7E 20 07 75 */ extsb. r0, r17 /* 801C05D4 001BD534 92 1F 03 8C */ stw r16, 0x38c(r31) /* 801C05D8 001BD538 41 82 00 10 */ beq lbl_801C05E8 /* 801C05DC 001BD53C 38 61 00 48 */ addi r3, r1, 0x48 /* 801C05E0 001BD540 38 80 00 00 */ li r4, 0 /* 801C05E4 001BD544 48 18 08 5D */ bl __dt__6CTokenFv lbl_801C05E8: /* 801C05E8 001BD548 3C 60 80 3D */ lis r3, lbl_803D1A20@ha /* 801C05EC 001BD54C 3A 20 00 00 */ li r17, 0 /* 801C05F0 001BD550 38 83 1A 20 */ addi r4, r3, lbl_803D1A20@l /* 801C05F4 001BD554 38 60 03 40 */ li r3, 0x340 /* 801C05F8 001BD558 38 84 00 51 */ addi r4, r4, 0x51 /* 801C05FC 001BD55C 38 A0 00 00 */ li r5, 0 /* 801C0600 001BD560 48 15 52 6D */ bl __nw__FUlPCcPCc /* 801C0604 001BD564 7C 70 1B 79 */ or. r16, r3, r3 /* 801C0608 001BD568 41 82 00 2C */ beq lbl_801C0634 /* 801C060C 001BD56C 38 61 00 40 */ addi r3, r1, 0x40 /* 801C0610 001BD570 38 9F 03 78 */ addi r4, r31, 0x378 /* 801C0614 001BD574 48 18 08 95 */ bl __ct__6CTokenFRC6CToken /* 801C0618 001BD578 7E 03 83 78 */ mr r3, r16 /* 801C061C 001BD57C 38 81 00 40 */ addi r4, r1, 0x40 /* 801C0620 001BD580 3A 20 00 01 */ li r17, 1 /* 801C0624 001BD584 38 A0 00 00 */ li r5, 0 /* 801C0628 001BD588 38 C0 00 01 */ li r6, 1 /* 801C062C 001BD58C 48 15 ED B5 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 801C0630 001BD590 7C 70 1B 78 */ mr r16, r3 lbl_801C0634: /* 801C0634 001BD594 7E 20 07 75 */ extsb. r0, r17 /* 801C0638 001BD598 92 1F 03 90 */ stw r16, 0x390(r31) /* 801C063C 001BD59C 41 82 00 10 */ beq lbl_801C064C /* 801C0640 001BD5A0 38 61 00 40 */ addi r3, r1, 0x40 /* 801C0644 001BD5A4 38 80 00 00 */ li r4, 0 /* 801C0648 001BD5A8 48 18 07 F9 */ bl __dt__6CTokenFv lbl_801C064C: /* 801C064C 001BD5AC 38 7F 03 94 */ addi r3, r31, 0x394 /* 801C0650 001BD5B0 38 80 00 63 */ li r4, 0x63 /* 801C0654 001BD5B4 48 15 1F 99 */ bl __ct__9CRandom16FUi /* 801C0658 001BD5B8 C0 02 AA 20 */ lfs f0, lbl_805AC740@sda21(r2) /* 801C065C 001BD5BC 38 80 00 00 */ li r4, 0 /* 801C0660 001BD5C0 C0 22 A9 F8 */ lfs f1, lbl_805AC718@sda21(r2) /* 801C0664 001BD5C4 38 60 00 01 */ li r3, 1 /* 801C0668 001BD5C8 D0 1F 03 98 */ stfs f0, 0x398(r31) /* 801C066C 001BD5CC 3A 00 00 00 */ li r16, 0 /* 801C0670 001BD5D0 C0 02 AA 04 */ lfs f0, lbl_805AC724@sda21(r2) /* 801C0674 001BD5D4 D0 3F 03 9C */ stfs f1, 0x39c(r31) /* 801C0678 001BD5D8 D0 3F 03 A0 */ stfs f1, 0x3a0(r31) /* 801C067C 001BD5DC D0 1F 03 A4 */ stfs f0, 0x3a4(r31) /* 801C0680 001BD5E0 D0 1F 03 A8 */ stfs f0, 0x3a8(r31) /* 801C0684 001BD5E4 D0 1F 03 AC */ stfs f0, 0x3ac(r31) /* 801C0688 001BD5E8 D0 1F 03 B0 */ stfs f0, 0x3b0(r31) /* 801C068C 001BD5EC D0 1F 03 B4 */ stfs f0, 0x3b4(r31) /* 801C0690 001BD5F0 D0 1F 03 B8 */ stfs f0, 0x3b8(r31) /* 801C0694 001BD5F4 D0 1F 03 BC */ stfs f0, 0x3bc(r31) /* 801C0698 001BD5F8 D0 1F 03 C0 */ stfs f0, 0x3c0(r31) /* 801C069C 001BD5FC D0 1F 03 C4 */ stfs f0, 0x3c4(r31) /* 801C06A0 001BD600 D0 1F 03 C8 */ stfs f0, 0x3c8(r31) /* 801C06A4 001BD604 90 9F 03 CC */ stw r4, 0x3cc(r31) /* 801C06A8 001BD608 88 1F 03 D0 */ lbz r0, 0x3d0(r31) /* 801C06AC 001BD60C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 801C06B0 001BD610 98 1F 03 D0 */ stb r0, 0x3d0(r31) /* 801C06B4 001BD614 88 1F 03 D0 */ lbz r0, 0x3d0(r31) /* 801C06B8 001BD618 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 801C06BC 001BD61C 98 1F 03 D0 */ stb r0, 0x3d0(r31) /* 801C06C0 001BD620 88 1F 03 D0 */ lbz r0, 0x3d0(r31) /* 801C06C4 001BD624 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a /* 801C06C8 001BD628 98 1F 03 D0 */ stb r0, 0x3d0(r31) /* 801C06CC 001BD62C 88 1F 03 D0 */ lbz r0, 0x3d0(r31) /* 801C06D0 001BD630 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b /* 801C06D4 001BD634 98 1F 03 D0 */ stb r0, 0x3d0(r31) /* 801C06D8 001BD638 88 1F 03 D0 */ lbz r0, 0x3d0(r31) /* 801C06DC 001BD63C 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 801C06E0 001BD640 98 1F 03 D0 */ stb r0, 0x3d0(r31) /* 801C06E4 001BD644 82 FF 03 84 */ lwz r23, 0x384(r31) /* 801C06E8 001BD648 48 00 00 60 */ b lbl_801C0748 lbl_801C06EC: /* 801C06EC 001BD64C 80 7F 03 84 */ lwz r3, 0x384(r31) /* 801C06F0 001BD650 38 80 00 01 */ li r4, 1 /* 801C06F4 001BD654 C8 22 AA 60 */ lfd f1, lbl_805AC780@sda21(r2) /* 801C06F8 001BD658 88 03 01 D0 */ lbz r0, 0x1d0(r3) /* 801C06FC 001BD65C 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a /* 801C0700 001BD660 98 03 01 D0 */ stb r0, 0x1d0(r3) /* 801C0704 001BD664 80 7F 03 84 */ lwz r3, 0x384(r31) /* 801C0708 001BD668 81 83 00 00 */ lwz r12, 0(r3) /* 801C070C 001BD66C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 801C0710 001BD670 7D 89 03 A6 */ mtctr r12 /* 801C0714 001BD674 4E 80 04 21 */ bctrl /* 801C0718 001BD678 80 7F 03 88 */ lwz r3, 0x388(r31) /* 801C071C 001BD67C 38 80 00 01 */ li r4, 1 /* 801C0720 001BD680 C8 22 AA 60 */ lfd f1, lbl_805AC780@sda21(r2) /* 801C0724 001BD684 88 03 01 D0 */ lbz r0, 0x1d0(r3) /* 801C0728 001BD688 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a /* 801C072C 001BD68C 98 03 01 D0 */ stb r0, 0x1d0(r3) /* 801C0730 001BD690 80 7F 03 88 */ lwz r3, 0x388(r31) /* 801C0734 001BD694 81 83 00 00 */ lwz r12, 0(r3) /* 801C0738 001BD698 81 8C 00 0C */ lwz r12, 0xc(r12) /* 801C073C 001BD69C 7D 89 03 A6 */ mtctr r12 /* 801C0740 001BD6A0 4E 80 04 21 */ bctrl /* 801C0744 001BD6A4 3A 10 00 01 */ addi r16, r16, 1 lbl_801C0748: /* 801C0748 001BD6A8 80 77 01 60 */ lwz r3, 0x160(r23) /* 801C074C 001BD6AC 38 03 FF FF */ addi r0, r3, -1 /* 801C0750 001BD6B0 7C 10 00 00 */ cmpw r16, r0 /* 801C0754 001BD6B4 41 80 FF 98 */ blt lbl_801C06EC /* 801C0758 001BD6B8 7F E3 FB 78 */ mr r3, r31 /* 801C075C 001BD6BC BA 01 00 D0 */ lmw r16, 0xd0(r1) /* 801C0760 001BD6C0 80 01 01 14 */ lwz r0, 0x114(r1) /* 801C0764 001BD6C4 7C 08 03 A6 */ mtlr r0 /* 801C0768 001BD6C8 38 21 01 10 */ addi r1, r1, 0x110 /* 801C076C 001BD6CC 4E 80 00 20 */ blr .global __sinit_CWaveBuster_cpp __sinit_CWaveBuster_cpp: /* 801C0770 001BD6D0 C0 82 AA 04 */ lfs f4, lbl_805AC724@sda21(r2) /* 801C0774 001BD6D4 3C 80 80 47 */ lis r4, lbl_8046C908@ha /* 801C0778 001BD6D8 3C 60 80 47 */ lis r3, lbl_8046C914@ha /* 801C077C 001BD6DC C0 62 AA 68 */ lfs f3, lbl_805AC788@sda21(r2) /* 801C0780 001BD6E0 D4 84 C9 08 */ stfsu f4, lbl_8046C908@l(r4) /* 801C0784 001BD6E4 C0 42 AA 6C */ lfs f2, lbl_805AC78C@sda21(r2) /* 801C0788 001BD6E8 C0 22 AA 70 */ lfs f1, lbl_805AC790@sda21(r2) /* 801C078C 001BD6EC D4 83 C9 14 */ stfsu f4, lbl_8046C914@l(r3) /* 801C0790 001BD6F0 C0 02 AA 74 */ lfs f0, lbl_805AC794@sda21(r2) /* 801C0794 001BD6F4 D0 64 00 04 */ stfs f3, 4(r4) /* 801C0798 001BD6F8 D0 44 00 08 */ stfs f2, 8(r4) /* 801C079C 001BD6FC D0 23 00 04 */ stfs f1, 4(r3) /* 801C07A0 001BD700 D0 03 00 08 */ stfs f0, 8(r3) /* 801C07A4 001BD704 4E 80 00 20 */ blr .section .sdata2, "a" .balign 8 .global lbl_805AC718 lbl_805AC718: # ROM: 0x3F8FB8 .float 0.5 .global lbl_805AC71C lbl_805AC71C: # ROM: 0x3F8FBC .4byte 0x41C80000 .global lbl_805AC720 lbl_805AC720: # ROM: 0x3F8FC0 .4byte 0xBF000000 .global lbl_805AC724 lbl_805AC724: # ROM: 0x3F8FC4 .4byte 0 .global lbl_805AC728 lbl_805AC728: # ROM: 0x3F8FC8 .4byte 0x47C35000 .global lbl_805AC72C lbl_805AC72C: # ROM: 0x3F8FCC .float 1.0 .global lbl_805AC730 lbl_805AC730: # ROM: 0x3F8FD0 .4byte 0x3D23D70A .global lbl_805AC734 lbl_805AC734: # ROM: 0x3F8FD4 .4byte 0x3E23D70A .global lbl_805AC738 lbl_805AC738: # ROM: 0x3F8FD8 .4byte 0xBD2AAB04 .global lbl_805AC73C lbl_805AC73C: # ROM: 0x3F8FDC .4byte 0x3D2AAB04 .global lbl_805AC740 lbl_805AC740: # ROM: 0x3F8FE0 .float 6.2831855 .global lbl_805AC744 lbl_805AC744: # ROM: 0x3F8FE4 .4byte 0x3E32B8C3 .global lbl_805AC748 lbl_805AC748: # ROM: 0x3F8FE8 .float 0.25 .global lbl_805AC74C lbl_805AC74C: # ROM: 0x3F8FEC .4byte 0x42700000 .global lbl_805AC750 lbl_805AC750: # ROM: 0x3F8FF0 .4byte 0x3FCCCCCD .global lbl_805AC754 lbl_805AC754: # ROM: 0x3F8FF4 .float -1.0 .global lbl_805AC758 lbl_805AC758: # ROM: 0x3F8FF8 .float 0.125 .global lbl_805AC75C lbl_805AC75C: # ROM: 0x3F8FFC .4byte 0x41A00000 .global lbl_805AC760 lbl_805AC760: # ROM: 0x3F9000 .4byte 0x3FC90FDB .global lbl_805AC764 lbl_805AC764: # ROM: 0x3F9004 .4byte 0x441C4000 .global lbl_805AC768 lbl_805AC768: # ROM: 0x3F9008 .float 0.001 .global lbl_805AC76C lbl_805AC76C: # ROM: 0x3F900C .4byte 0x461C4000 .global lbl_805AC770 lbl_805AC770: # ROM: 0x3F9010 .4byte 0x3D4CCCCD .global lbl_805AC774 lbl_805AC774: # ROM: 0x3F9014 .float 0.1 .global lbl_805AC778 lbl_805AC778: # ROM: 0x3F9018 .float 1.25 .4byte 0 .global lbl_805AC780 lbl_805AC780: # ROM: 0x3F9020 .4byte 0 .4byte 0 .global lbl_805AC788 lbl_805AC788: # ROM: 0x3F9028 .4byte 0xC0400000 .global lbl_805AC78C lbl_805AC78C: # ROM: 0x3F902C .4byte 0xBFC00000 .global lbl_805AC790 lbl_805AC790: # ROM: 0x3F9030 .float 2.0 .global lbl_805AC794 lbl_805AC794: # ROM: 0x3F9034 .float 1.5 .section .rodata .balign 8 .global lbl_803D19F8 lbl_803D19F8: # ROM: 0x3CE9F8 .4byte 0xFFFFFFFF .4byte 0xFF00FFFF .4byte 0xFF0000FF .4byte 0x0000FFFF .global lbl_803D1A08 lbl_803D1A08: # ROM: 0x3CEA08 .4byte 0x00000009 .4byte 0x00000001 .4byte 0x0000000B .4byte 0x00000001 .4byte 0x000000FF .4byte 0 .global lbl_803D1A20 lbl_803D1A20: # ROM: 0x3CEA20 .asciz "WaveBuster_Light" .byte 0x57, 0x61, 0x76 .asciz "eBuster" .asciz "BusterSwoosh1" .byte 0x42, 0x75 .asciz "sterSwoosh2" .asciz "BusterSparks" .byte 0x42, 0x75, 0x73 .asciz "terLight" .byte 0x3F, 0x3F, 0x28 .4byte 0x3F3F2900