.include "macros.inc" .section .data .balign 8 .global __vt__10CGunWeapon __vt__10CGunWeapon: # ROM: 0x3E22B0 .4byte 0 .4byte 0 .4byte __dt__10CGunWeaponFv .4byte Reset__10CGunWeaponFR13CStateManager .4byte PlayAnim__10CGunWeaponFQ212NWeaponTypes12EGunAnimTypeb .4byte PreRenderGunFx__10CGunWeaponFRC13CStateManagerRC12CTransform4f .4byte PostRenderGunFx__10CGunWeaponFRC13CStateManagerRC12CTransform4f .4byte UpdateGunFx__10CGunWeaponFbfRC13CStateManagerRC12CTransform4f .4byte Fire__10CGunWeaponFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueIdff .4byte EnableFx__10CGunWeaponFb .4byte EnableSecondaryFx__10CGunWeaponFQ210CGunWeapon16ESecondaryFxType .4byte Draw__10CGunWeaponCFbRC13CStateManagerRC12CTransform4fRC11CModelFlagsPC12CActorLights .4byte DrawMuzzleFx__10CGunWeaponCFRC13CStateManager .4byte Update__10CGunWeaponFfR13CStateManager .4byte Load__10CGunWeaponFR13CStateManagerb .4byte Unload__10CGunWeaponFR13CStateManager .4byte IsLoaded__10CGunWeaponCFv .4byte 0 .section .text, "ax" .global DrawClipCube__FRC6CAABox DrawClipCube__FRC6CAABox: /* 801B9C4C 001B6BAC 94 21 FE C0 */ stwu r1, -0x140(r1) /* 801B9C50 001B6BB0 7C 08 02 A6 */ mflr r0 /* 801B9C54 001B6BB4 C0 22 A9 D8 */ lfs f1, lbl_805AC6F8@sda21(r2) /* 801B9C58 001B6BB8 90 01 01 44 */ stw r0, 0x144(r1) /* 801B9C5C 001B6BBC FC 40 08 90 */ fmr f2, f1 /* 801B9C60 001B6BC0 C0 82 A9 DC */ lfs f4, lbl_805AC6FC@sda21(r2) /* 801B9C64 001B6BC4 93 E1 01 3C */ stw r31, 0x13c(r1) /* 801B9C68 001B6BC8 FC 60 08 90 */ fmr f3, f1 /* 801B9C6C 001B6BCC 7C 7F 1B 78 */ mr r31, r3 /* 801B9C70 001B6BD0 38 61 00 08 */ addi r3, r1, 8 /* 801B9C74 001B6BD4 48 1A 97 79 */ bl __ct__6CColorFffff /* 801B9C78 001B6BD8 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9C7C 001B6BDC 81 83 00 00 */ lwz r12, 0(r3) /* 801B9C80 001B6BE0 81 8C 00 68 */ lwz r12, 0x68(r12) /* 801B9C84 001B6BE4 7D 89 03 A6 */ mtctr r12 /* 801B9C88 001B6BE8 4E 80 04 21 */ bctrl /* 801B9C8C 001B6BEC 38 60 00 00 */ li r3, 0 /* 801B9C90 001B6BF0 48 15 1D E1 */ bl SetCullMode__9CGraphicsF12ERglCullMode /* 801B9C94 001B6BF4 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9C98 001B6BF8 38 80 00 04 */ li r4, 4 /* 801B9C9C 001B6BFC 81 83 00 00 */ lwz r12, 0(r3) /* 801B9CA0 001B6C00 81 8C 00 A0 */ lwz r12, 0xa0(r12) /* 801B9CA4 001B6C04 7D 89 03 A6 */ mtctr r12 /* 801B9CA8 001B6C08 4E 80 04 21 */ bctrl /* 801B9CAC 001B6C0C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9CB0 001B6C10 38 81 00 08 */ addi r4, r1, 8 /* 801B9CB4 001B6C14 81 83 00 00 */ lwz r12, 0(r3) /* 801B9CB8 001B6C18 81 8C 00 B4 */ lwz r12, 0xb4(r12) /* 801B9CBC 001B6C1C 7D 89 03 A6 */ mtctr r12 /* 801B9CC0 001B6C20 4E 80 04 21 */ bctrl /* 801B9CC4 001B6C24 C0 3F 00 08 */ lfs f1, 8(r31) /* 801B9CC8 001B6C28 38 81 01 20 */ addi r4, r1, 0x120 /* 801B9CCC 001B6C2C C0 5F 00 10 */ lfs f2, 0x10(r31) /* 801B9CD0 001B6C30 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801B9CD4 001B6C34 D0 41 01 24 */ stfs f2, 0x124(r1) /* 801B9CD8 001B6C38 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9CDC 001B6C3C D0 01 01 20 */ stfs f0, 0x120(r1) /* 801B9CE0 001B6C40 D0 21 01 28 */ stfs f1, 0x128(r1) /* 801B9CE4 001B6C44 81 83 00 00 */ lwz r12, 0(r3) /* 801B9CE8 001B6C48 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801B9CEC 001B6C4C 7D 89 03 A6 */ mtctr r12 /* 801B9CF0 001B6C50 4E 80 04 21 */ bctrl /* 801B9CF4 001B6C54 C0 3F 00 08 */ lfs f1, 8(r31) /* 801B9CF8 001B6C58 38 81 01 14 */ addi r4, r1, 0x114 /* 801B9CFC 001B6C5C C0 5F 00 04 */ lfs f2, 4(r31) /* 801B9D00 001B6C60 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801B9D04 001B6C64 D0 41 01 18 */ stfs f2, 0x118(r1) /* 801B9D08 001B6C68 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9D0C 001B6C6C D0 01 01 14 */ stfs f0, 0x114(r1) /* 801B9D10 001B6C70 D0 21 01 1C */ stfs f1, 0x11c(r1) /* 801B9D14 001B6C74 81 83 00 00 */ lwz r12, 0(r3) /* 801B9D18 001B6C78 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801B9D1C 001B6C7C 7D 89 03 A6 */ mtctr r12 /* 801B9D20 001B6C80 4E 80 04 21 */ bctrl /* 801B9D24 001B6C84 C0 3F 00 14 */ lfs f1, 0x14(r31) /* 801B9D28 001B6C88 38 81 01 08 */ addi r4, r1, 0x108 /* 801B9D2C 001B6C8C C0 5F 00 10 */ lfs f2, 0x10(r31) /* 801B9D30 001B6C90 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801B9D34 001B6C94 D0 41 01 0C */ stfs f2, 0x10c(r1) /* 801B9D38 001B6C98 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9D3C 001B6C9C D0 01 01 08 */ stfs f0, 0x108(r1) /* 801B9D40 001B6CA0 D0 21 01 10 */ stfs f1, 0x110(r1) /* 801B9D44 001B6CA4 81 83 00 00 */ lwz r12, 0(r3) /* 801B9D48 001B6CA8 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801B9D4C 001B6CAC 7D 89 03 A6 */ mtctr r12 /* 801B9D50 001B6CB0 4E 80 04 21 */ bctrl /* 801B9D54 001B6CB4 C0 3F 00 14 */ lfs f1, 0x14(r31) /* 801B9D58 001B6CB8 38 81 00 FC */ addi r4, r1, 0xfc /* 801B9D5C 001B6CBC C0 5F 00 04 */ lfs f2, 4(r31) /* 801B9D60 001B6CC0 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801B9D64 001B6CC4 D0 41 01 00 */ stfs f2, 0x100(r1) /* 801B9D68 001B6CC8 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9D6C 001B6CCC D0 01 00 FC */ stfs f0, 0xfc(r1) /* 801B9D70 001B6CD0 D0 21 01 04 */ stfs f1, 0x104(r1) /* 801B9D74 001B6CD4 81 83 00 00 */ lwz r12, 0(r3) /* 801B9D78 001B6CD8 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801B9D7C 001B6CDC 7D 89 03 A6 */ mtctr r12 /* 801B9D80 001B6CE0 4E 80 04 21 */ bctrl /* 801B9D84 001B6CE4 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9D88 001B6CE8 81 83 00 00 */ lwz r12, 0(r3) /* 801B9D8C 001B6CEC 81 8C 00 B8 */ lwz r12, 0xb8(r12) /* 801B9D90 001B6CF0 7D 89 03 A6 */ mtctr r12 /* 801B9D94 001B6CF4 4E 80 04 21 */ bctrl /* 801B9D98 001B6CF8 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9D9C 001B6CFC 38 80 00 04 */ li r4, 4 /* 801B9DA0 001B6D00 81 83 00 00 */ lwz r12, 0(r3) /* 801B9DA4 001B6D04 81 8C 00 A0 */ lwz r12, 0xa0(r12) /* 801B9DA8 001B6D08 7D 89 03 A6 */ mtctr r12 /* 801B9DAC 001B6D0C 4E 80 04 21 */ bctrl /* 801B9DB0 001B6D10 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9DB4 001B6D14 38 81 00 08 */ addi r4, r1, 8 /* 801B9DB8 001B6D18 81 83 00 00 */ lwz r12, 0(r3) /* 801B9DBC 001B6D1C 81 8C 00 B4 */ lwz r12, 0xb4(r12) /* 801B9DC0 001B6D20 7D 89 03 A6 */ mtctr r12 /* 801B9DC4 001B6D24 4E 80 04 21 */ bctrl /* 801B9DC8 001B6D28 C0 3F 00 08 */ lfs f1, 8(r31) /* 801B9DCC 001B6D2C 38 81 00 F0 */ addi r4, r1, 0xf0 /* 801B9DD0 001B6D30 C0 5F 00 10 */ lfs f2, 0x10(r31) /* 801B9DD4 001B6D34 C0 1F 00 00 */ lfs f0, 0(r31) /* 801B9DD8 001B6D38 D0 41 00 F4 */ stfs f2, 0xf4(r1) /* 801B9DDC 001B6D3C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9DE0 001B6D40 D0 01 00 F0 */ stfs f0, 0xf0(r1) /* 801B9DE4 001B6D44 D0 21 00 F8 */ stfs f1, 0xf8(r1) /* 801B9DE8 001B6D48 81 83 00 00 */ lwz r12, 0(r3) /* 801B9DEC 001B6D4C 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801B9DF0 001B6D50 7D 89 03 A6 */ mtctr r12 /* 801B9DF4 001B6D54 4E 80 04 21 */ bctrl /* 801B9DF8 001B6D58 C0 3F 00 08 */ lfs f1, 8(r31) /* 801B9DFC 001B6D5C 38 81 00 E4 */ addi r4, r1, 0xe4 /* 801B9E00 001B6D60 C0 5F 00 10 */ lfs f2, 0x10(r31) /* 801B9E04 001B6D64 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801B9E08 001B6D68 D0 41 00 E8 */ stfs f2, 0xe8(r1) /* 801B9E0C 001B6D6C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9E10 001B6D70 D0 01 00 E4 */ stfs f0, 0xe4(r1) /* 801B9E14 001B6D74 D0 21 00 EC */ stfs f1, 0xec(r1) /* 801B9E18 001B6D78 81 83 00 00 */ lwz r12, 0(r3) /* 801B9E1C 001B6D7C 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801B9E20 001B6D80 7D 89 03 A6 */ mtctr r12 /* 801B9E24 001B6D84 4E 80 04 21 */ bctrl /* 801B9E28 001B6D88 C0 3F 00 14 */ lfs f1, 0x14(r31) /* 801B9E2C 001B6D8C 38 81 00 D8 */ addi r4, r1, 0xd8 /* 801B9E30 001B6D90 C0 5F 00 10 */ lfs f2, 0x10(r31) /* 801B9E34 001B6D94 C0 1F 00 00 */ lfs f0, 0(r31) /* 801B9E38 001B6D98 D0 41 00 DC */ stfs f2, 0xdc(r1) /* 801B9E3C 001B6D9C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9E40 001B6DA0 D0 01 00 D8 */ stfs f0, 0xd8(r1) /* 801B9E44 001B6DA4 D0 21 00 E0 */ stfs f1, 0xe0(r1) /* 801B9E48 001B6DA8 81 83 00 00 */ lwz r12, 0(r3) /* 801B9E4C 001B6DAC 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801B9E50 001B6DB0 7D 89 03 A6 */ mtctr r12 /* 801B9E54 001B6DB4 4E 80 04 21 */ bctrl /* 801B9E58 001B6DB8 C0 3F 00 14 */ lfs f1, 0x14(r31) /* 801B9E5C 001B6DBC 38 81 00 CC */ addi r4, r1, 0xcc /* 801B9E60 001B6DC0 C0 5F 00 10 */ lfs f2, 0x10(r31) /* 801B9E64 001B6DC4 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801B9E68 001B6DC8 D0 41 00 D0 */ stfs f2, 0xd0(r1) /* 801B9E6C 001B6DCC 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9E70 001B6DD0 D0 01 00 CC */ stfs f0, 0xcc(r1) /* 801B9E74 001B6DD4 D0 21 00 D4 */ stfs f1, 0xd4(r1) /* 801B9E78 001B6DD8 81 83 00 00 */ lwz r12, 0(r3) /* 801B9E7C 001B6DDC 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801B9E80 001B6DE0 7D 89 03 A6 */ mtctr r12 /* 801B9E84 001B6DE4 4E 80 04 21 */ bctrl /* 801B9E88 001B6DE8 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9E8C 001B6DEC 81 83 00 00 */ lwz r12, 0(r3) /* 801B9E90 001B6DF0 81 8C 00 B8 */ lwz r12, 0xb8(r12) /* 801B9E94 001B6DF4 7D 89 03 A6 */ mtctr r12 /* 801B9E98 001B6DF8 4E 80 04 21 */ bctrl /* 801B9E9C 001B6DFC 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9EA0 001B6E00 38 80 00 04 */ li r4, 4 /* 801B9EA4 001B6E04 81 83 00 00 */ lwz r12, 0(r3) /* 801B9EA8 001B6E08 81 8C 00 A0 */ lwz r12, 0xa0(r12) /* 801B9EAC 001B6E0C 7D 89 03 A6 */ mtctr r12 /* 801B9EB0 001B6E10 4E 80 04 21 */ bctrl /* 801B9EB4 001B6E14 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9EB8 001B6E18 38 81 00 08 */ addi r4, r1, 8 /* 801B9EBC 001B6E1C 81 83 00 00 */ lwz r12, 0(r3) /* 801B9EC0 001B6E20 81 8C 00 B4 */ lwz r12, 0xb4(r12) /* 801B9EC4 001B6E24 7D 89 03 A6 */ mtctr r12 /* 801B9EC8 001B6E28 4E 80 04 21 */ bctrl /* 801B9ECC 001B6E2C C0 3F 00 08 */ lfs f1, 8(r31) /* 801B9ED0 001B6E30 38 81 00 C0 */ addi r4, r1, 0xc0 /* 801B9ED4 001B6E34 C0 5F 00 10 */ lfs f2, 0x10(r31) /* 801B9ED8 001B6E38 C0 1F 00 00 */ lfs f0, 0(r31) /* 801B9EDC 001B6E3C D0 41 00 C4 */ stfs f2, 0xc4(r1) /* 801B9EE0 001B6E40 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9EE4 001B6E44 D0 01 00 C0 */ stfs f0, 0xc0(r1) /* 801B9EE8 001B6E48 D0 21 00 C8 */ stfs f1, 0xc8(r1) /* 801B9EEC 001B6E4C 81 83 00 00 */ lwz r12, 0(r3) /* 801B9EF0 001B6E50 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801B9EF4 001B6E54 7D 89 03 A6 */ mtctr r12 /* 801B9EF8 001B6E58 4E 80 04 21 */ bctrl /* 801B9EFC 001B6E5C C0 3F 00 08 */ lfs f1, 8(r31) /* 801B9F00 001B6E60 38 81 00 B4 */ addi r4, r1, 0xb4 /* 801B9F04 001B6E64 C0 5F 00 04 */ lfs f2, 4(r31) /* 801B9F08 001B6E68 C0 1F 00 00 */ lfs f0, 0(r31) /* 801B9F0C 001B6E6C D0 41 00 B8 */ stfs f2, 0xb8(r1) /* 801B9F10 001B6E70 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9F14 001B6E74 D0 01 00 B4 */ stfs f0, 0xb4(r1) /* 801B9F18 001B6E78 D0 21 00 BC */ stfs f1, 0xbc(r1) /* 801B9F1C 001B6E7C 81 83 00 00 */ lwz r12, 0(r3) /* 801B9F20 001B6E80 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801B9F24 001B6E84 7D 89 03 A6 */ mtctr r12 /* 801B9F28 001B6E88 4E 80 04 21 */ bctrl /* 801B9F2C 001B6E8C C0 3F 00 14 */ lfs f1, 0x14(r31) /* 801B9F30 001B6E90 38 81 00 A8 */ addi r4, r1, 0xa8 /* 801B9F34 001B6E94 C0 5F 00 10 */ lfs f2, 0x10(r31) /* 801B9F38 001B6E98 C0 1F 00 00 */ lfs f0, 0(r31) /* 801B9F3C 001B6E9C D0 41 00 AC */ stfs f2, 0xac(r1) /* 801B9F40 001B6EA0 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9F44 001B6EA4 D0 01 00 A8 */ stfs f0, 0xa8(r1) /* 801B9F48 001B6EA8 D0 21 00 B0 */ stfs f1, 0xb0(r1) /* 801B9F4C 001B6EAC 81 83 00 00 */ lwz r12, 0(r3) /* 801B9F50 001B6EB0 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801B9F54 001B6EB4 7D 89 03 A6 */ mtctr r12 /* 801B9F58 001B6EB8 4E 80 04 21 */ bctrl /* 801B9F5C 001B6EBC C0 3F 00 14 */ lfs f1, 0x14(r31) /* 801B9F60 001B6EC0 38 81 00 9C */ addi r4, r1, 0x9c /* 801B9F64 001B6EC4 C0 5F 00 04 */ lfs f2, 4(r31) /* 801B9F68 001B6EC8 C0 1F 00 00 */ lfs f0, 0(r31) /* 801B9F6C 001B6ECC D0 41 00 A0 */ stfs f2, 0xa0(r1) /* 801B9F70 001B6ED0 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9F74 001B6ED4 D0 01 00 9C */ stfs f0, 0x9c(r1) /* 801B9F78 001B6ED8 D0 21 00 A4 */ stfs f1, 0xa4(r1) /* 801B9F7C 001B6EDC 81 83 00 00 */ lwz r12, 0(r3) /* 801B9F80 001B6EE0 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801B9F84 001B6EE4 7D 89 03 A6 */ mtctr r12 /* 801B9F88 001B6EE8 4E 80 04 21 */ bctrl /* 801B9F8C 001B6EEC 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9F90 001B6EF0 81 83 00 00 */ lwz r12, 0(r3) /* 801B9F94 001B6EF4 81 8C 00 B8 */ lwz r12, 0xb8(r12) /* 801B9F98 001B6EF8 7D 89 03 A6 */ mtctr r12 /* 801B9F9C 001B6EFC 4E 80 04 21 */ bctrl /* 801B9FA0 001B6F00 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9FA4 001B6F04 38 80 00 04 */ li r4, 4 /* 801B9FA8 001B6F08 81 83 00 00 */ lwz r12, 0(r3) /* 801B9FAC 001B6F0C 81 8C 00 A0 */ lwz r12, 0xa0(r12) /* 801B9FB0 001B6F10 7D 89 03 A6 */ mtctr r12 /* 801B9FB4 001B6F14 4E 80 04 21 */ bctrl /* 801B9FB8 001B6F18 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9FBC 001B6F1C 38 81 00 08 */ addi r4, r1, 8 /* 801B9FC0 001B6F20 81 83 00 00 */ lwz r12, 0(r3) /* 801B9FC4 001B6F24 81 8C 00 B4 */ lwz r12, 0xb4(r12) /* 801B9FC8 001B6F28 7D 89 03 A6 */ mtctr r12 /* 801B9FCC 001B6F2C 4E 80 04 21 */ bctrl /* 801B9FD0 001B6F30 C0 3F 00 08 */ lfs f1, 8(r31) /* 801B9FD4 001B6F34 38 81 00 90 */ addi r4, r1, 0x90 /* 801B9FD8 001B6F38 C0 5F 00 04 */ lfs f2, 4(r31) /* 801B9FDC 001B6F3C C0 1F 00 00 */ lfs f0, 0(r31) /* 801B9FE0 001B6F40 D0 41 00 94 */ stfs f2, 0x94(r1) /* 801B9FE4 001B6F44 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801B9FE8 001B6F48 D0 01 00 90 */ stfs f0, 0x90(r1) /* 801B9FEC 001B6F4C D0 21 00 98 */ stfs f1, 0x98(r1) /* 801B9FF0 001B6F50 81 83 00 00 */ lwz r12, 0(r3) /* 801B9FF4 001B6F54 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801B9FF8 001B6F58 7D 89 03 A6 */ mtctr r12 /* 801B9FFC 001B6F5C 4E 80 04 21 */ bctrl /* 801BA000 001B6F60 C0 3F 00 08 */ lfs f1, 8(r31) /* 801BA004 001B6F64 38 81 00 84 */ addi r4, r1, 0x84 /* 801BA008 001B6F68 C0 5F 00 04 */ lfs f2, 4(r31) /* 801BA00C 001B6F6C C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801BA010 001B6F70 D0 41 00 88 */ stfs f2, 0x88(r1) /* 801BA014 001B6F74 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA018 001B6F78 D0 01 00 84 */ stfs f0, 0x84(r1) /* 801BA01C 001B6F7C D0 21 00 8C */ stfs f1, 0x8c(r1) /* 801BA020 001B6F80 81 83 00 00 */ lwz r12, 0(r3) /* 801BA024 001B6F84 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801BA028 001B6F88 7D 89 03 A6 */ mtctr r12 /* 801BA02C 001B6F8C 4E 80 04 21 */ bctrl /* 801BA030 001B6F90 C0 3F 00 14 */ lfs f1, 0x14(r31) /* 801BA034 001B6F94 38 81 00 78 */ addi r4, r1, 0x78 /* 801BA038 001B6F98 C0 5F 00 04 */ lfs f2, 4(r31) /* 801BA03C 001B6F9C C0 1F 00 00 */ lfs f0, 0(r31) /* 801BA040 001B6FA0 D0 41 00 7C */ stfs f2, 0x7c(r1) /* 801BA044 001B6FA4 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA048 001B6FA8 D0 01 00 78 */ stfs f0, 0x78(r1) /* 801BA04C 001B6FAC D0 21 00 80 */ stfs f1, 0x80(r1) /* 801BA050 001B6FB0 81 83 00 00 */ lwz r12, 0(r3) /* 801BA054 001B6FB4 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801BA058 001B6FB8 7D 89 03 A6 */ mtctr r12 /* 801BA05C 001B6FBC 4E 80 04 21 */ bctrl /* 801BA060 001B6FC0 C0 3F 00 14 */ lfs f1, 0x14(r31) /* 801BA064 001B6FC4 38 81 00 6C */ addi r4, r1, 0x6c /* 801BA068 001B6FC8 C0 5F 00 04 */ lfs f2, 4(r31) /* 801BA06C 001B6FCC C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801BA070 001B6FD0 D0 41 00 70 */ stfs f2, 0x70(r1) /* 801BA074 001B6FD4 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA078 001B6FD8 D0 01 00 6C */ stfs f0, 0x6c(r1) /* 801BA07C 001B6FDC D0 21 00 74 */ stfs f1, 0x74(r1) /* 801BA080 001B6FE0 81 83 00 00 */ lwz r12, 0(r3) /* 801BA084 001B6FE4 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801BA088 001B6FE8 7D 89 03 A6 */ mtctr r12 /* 801BA08C 001B6FEC 4E 80 04 21 */ bctrl /* 801BA090 001B6FF0 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA094 001B6FF4 81 83 00 00 */ lwz r12, 0(r3) /* 801BA098 001B6FF8 81 8C 00 B8 */ lwz r12, 0xb8(r12) /* 801BA09C 001B6FFC 7D 89 03 A6 */ mtctr r12 /* 801BA0A0 001B7000 4E 80 04 21 */ bctrl /* 801BA0A4 001B7004 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA0A8 001B7008 38 80 00 04 */ li r4, 4 /* 801BA0AC 001B700C 81 83 00 00 */ lwz r12, 0(r3) /* 801BA0B0 001B7010 81 8C 00 A0 */ lwz r12, 0xa0(r12) /* 801BA0B4 001B7014 7D 89 03 A6 */ mtctr r12 /* 801BA0B8 001B7018 4E 80 04 21 */ bctrl /* 801BA0BC 001B701C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA0C0 001B7020 38 81 00 08 */ addi r4, r1, 8 /* 801BA0C4 001B7024 81 83 00 00 */ lwz r12, 0(r3) /* 801BA0C8 001B7028 81 8C 00 B4 */ lwz r12, 0xb4(r12) /* 801BA0CC 001B702C 7D 89 03 A6 */ mtctr r12 /* 801BA0D0 001B7030 4E 80 04 21 */ bctrl /* 801BA0D4 001B7034 C0 3F 00 14 */ lfs f1, 0x14(r31) /* 801BA0D8 001B7038 38 81 00 60 */ addi r4, r1, 0x60 /* 801BA0DC 001B703C C0 5F 00 04 */ lfs f2, 4(r31) /* 801BA0E0 001B7040 C0 1F 00 00 */ lfs f0, 0(r31) /* 801BA0E4 001B7044 D0 41 00 64 */ stfs f2, 0x64(r1) /* 801BA0E8 001B7048 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA0EC 001B704C D0 01 00 60 */ stfs f0, 0x60(r1) /* 801BA0F0 001B7050 D0 21 00 68 */ stfs f1, 0x68(r1) /* 801BA0F4 001B7054 81 83 00 00 */ lwz r12, 0(r3) /* 801BA0F8 001B7058 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801BA0FC 001B705C 7D 89 03 A6 */ mtctr r12 /* 801BA100 001B7060 4E 80 04 21 */ bctrl /* 801BA104 001B7064 C0 3F 00 14 */ lfs f1, 0x14(r31) /* 801BA108 001B7068 38 81 00 54 */ addi r4, r1, 0x54 /* 801BA10C 001B706C C0 5F 00 04 */ lfs f2, 4(r31) /* 801BA110 001B7070 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801BA114 001B7074 D0 41 00 58 */ stfs f2, 0x58(r1) /* 801BA118 001B7078 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA11C 001B707C D0 01 00 54 */ stfs f0, 0x54(r1) /* 801BA120 001B7080 D0 21 00 5C */ stfs f1, 0x5c(r1) /* 801BA124 001B7084 81 83 00 00 */ lwz r12, 0(r3) /* 801BA128 001B7088 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801BA12C 001B708C 7D 89 03 A6 */ mtctr r12 /* 801BA130 001B7090 4E 80 04 21 */ bctrl /* 801BA134 001B7094 C0 3F 00 14 */ lfs f1, 0x14(r31) /* 801BA138 001B7098 38 81 00 48 */ addi r4, r1, 0x48 /* 801BA13C 001B709C C0 5F 00 10 */ lfs f2, 0x10(r31) /* 801BA140 001B70A0 C0 1F 00 00 */ lfs f0, 0(r31) /* 801BA144 001B70A4 D0 41 00 4C */ stfs f2, 0x4c(r1) /* 801BA148 001B70A8 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA14C 001B70AC D0 01 00 48 */ stfs f0, 0x48(r1) /* 801BA150 001B70B0 D0 21 00 50 */ stfs f1, 0x50(r1) /* 801BA154 001B70B4 81 83 00 00 */ lwz r12, 0(r3) /* 801BA158 001B70B8 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801BA15C 001B70BC 7D 89 03 A6 */ mtctr r12 /* 801BA160 001B70C0 4E 80 04 21 */ bctrl /* 801BA164 001B70C4 C0 3F 00 14 */ lfs f1, 0x14(r31) /* 801BA168 001B70C8 38 81 00 3C */ addi r4, r1, 0x3c /* 801BA16C 001B70CC C0 5F 00 10 */ lfs f2, 0x10(r31) /* 801BA170 001B70D0 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801BA174 001B70D4 D0 41 00 40 */ stfs f2, 0x40(r1) /* 801BA178 001B70D8 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA17C 001B70DC D0 01 00 3C */ stfs f0, 0x3c(r1) /* 801BA180 001B70E0 D0 21 00 44 */ stfs f1, 0x44(r1) /* 801BA184 001B70E4 81 83 00 00 */ lwz r12, 0(r3) /* 801BA188 001B70E8 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801BA18C 001B70EC 7D 89 03 A6 */ mtctr r12 /* 801BA190 001B70F0 4E 80 04 21 */ bctrl /* 801BA194 001B70F4 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA198 001B70F8 81 83 00 00 */ lwz r12, 0(r3) /* 801BA19C 001B70FC 81 8C 00 B8 */ lwz r12, 0xb8(r12) /* 801BA1A0 001B7100 7D 89 03 A6 */ mtctr r12 /* 801BA1A4 001B7104 4E 80 04 21 */ bctrl /* 801BA1A8 001B7108 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA1AC 001B710C 38 80 00 04 */ li r4, 4 /* 801BA1B0 001B7110 81 83 00 00 */ lwz r12, 0(r3) /* 801BA1B4 001B7114 81 8C 00 A0 */ lwz r12, 0xa0(r12) /* 801BA1B8 001B7118 7D 89 03 A6 */ mtctr r12 /* 801BA1BC 001B711C 4E 80 04 21 */ bctrl /* 801BA1C0 001B7120 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA1C4 001B7124 38 81 00 08 */ addi r4, r1, 8 /* 801BA1C8 001B7128 81 83 00 00 */ lwz r12, 0(r3) /* 801BA1CC 001B712C 81 8C 00 B4 */ lwz r12, 0xb4(r12) /* 801BA1D0 001B7130 7D 89 03 A6 */ mtctr r12 /* 801BA1D4 001B7134 4E 80 04 21 */ bctrl /* 801BA1D8 001B7138 C0 3F 00 08 */ lfs f1, 8(r31) /* 801BA1DC 001B713C 38 81 00 30 */ addi r4, r1, 0x30 /* 801BA1E0 001B7140 C0 5F 00 04 */ lfs f2, 4(r31) /* 801BA1E4 001B7144 C0 1F 00 00 */ lfs f0, 0(r31) /* 801BA1E8 001B7148 D0 41 00 34 */ stfs f2, 0x34(r1) /* 801BA1EC 001B714C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA1F0 001B7150 D0 01 00 30 */ stfs f0, 0x30(r1) /* 801BA1F4 001B7154 D0 21 00 38 */ stfs f1, 0x38(r1) /* 801BA1F8 001B7158 81 83 00 00 */ lwz r12, 0(r3) /* 801BA1FC 001B715C 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801BA200 001B7160 7D 89 03 A6 */ mtctr r12 /* 801BA204 001B7164 4E 80 04 21 */ bctrl /* 801BA208 001B7168 C0 3F 00 08 */ lfs f1, 8(r31) /* 801BA20C 001B716C 38 81 00 24 */ addi r4, r1, 0x24 /* 801BA210 001B7170 C0 5F 00 04 */ lfs f2, 4(r31) /* 801BA214 001B7174 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801BA218 001B7178 D0 41 00 28 */ stfs f2, 0x28(r1) /* 801BA21C 001B717C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA220 001B7180 D0 01 00 24 */ stfs f0, 0x24(r1) /* 801BA224 001B7184 D0 21 00 2C */ stfs f1, 0x2c(r1) /* 801BA228 001B7188 81 83 00 00 */ lwz r12, 0(r3) /* 801BA22C 001B718C 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801BA230 001B7190 7D 89 03 A6 */ mtctr r12 /* 801BA234 001B7194 4E 80 04 21 */ bctrl /* 801BA238 001B7198 C0 3F 00 08 */ lfs f1, 8(r31) /* 801BA23C 001B719C 38 81 00 18 */ addi r4, r1, 0x18 /* 801BA240 001B71A0 C0 5F 00 10 */ lfs f2, 0x10(r31) /* 801BA244 001B71A4 C0 1F 00 00 */ lfs f0, 0(r31) /* 801BA248 001B71A8 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 801BA24C 001B71AC 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA250 001B71B0 D0 01 00 18 */ stfs f0, 0x18(r1) /* 801BA254 001B71B4 D0 21 00 20 */ stfs f1, 0x20(r1) /* 801BA258 001B71B8 81 83 00 00 */ lwz r12, 0(r3) /* 801BA25C 001B71BC 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801BA260 001B71C0 7D 89 03 A6 */ mtctr r12 /* 801BA264 001B71C4 4E 80 04 21 */ bctrl /* 801BA268 001B71C8 C0 3F 00 08 */ lfs f1, 8(r31) /* 801BA26C 001B71CC 38 81 00 0C */ addi r4, r1, 0xc /* 801BA270 001B71D0 C0 5F 00 10 */ lfs f2, 0x10(r31) /* 801BA274 001B71D4 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801BA278 001B71D8 D0 41 00 10 */ stfs f2, 0x10(r1) /* 801BA27C 001B71DC 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA280 001B71E0 D0 01 00 0C */ stfs f0, 0xc(r1) /* 801BA284 001B71E4 D0 21 00 14 */ stfs f1, 0x14(r1) /* 801BA288 001B71E8 81 83 00 00 */ lwz r12, 0(r3) /* 801BA28C 001B71EC 81 8C 00 A8 */ lwz r12, 0xa8(r12) /* 801BA290 001B71F0 7D 89 03 A6 */ mtctr r12 /* 801BA294 001B71F4 4E 80 04 21 */ bctrl /* 801BA298 001B71F8 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BA29C 001B71FC 81 83 00 00 */ lwz r12, 0(r3) /* 801BA2A0 001B7200 81 8C 00 B8 */ lwz r12, 0xb8(r12) /* 801BA2A4 001B7204 7D 89 03 A6 */ mtctr r12 /* 801BA2A8 001B7208 4E 80 04 21 */ bctrl /* 801BA2AC 001B720C 38 60 00 01 */ li r3, 1 /* 801BA2B0 001B7210 48 15 17 C1 */ bl SetCullMode__9CGraphicsF12ERglCullMode /* 801BA2B4 001B7214 80 01 01 44 */ lwz r0, 0x144(r1) /* 801BA2B8 001B7218 83 E1 01 3C */ lwz r31, 0x13c(r1) /* 801BA2BC 001B721C 7C 08 03 A6 */ mtlr r0 /* 801BA2C0 001B7220 38 21 01 40 */ addi r1, r1, 0x140 /* 801BA2C4 001B7224 4E 80 00 20 */ blr .global EnableFrozenEffect__10CGunWeaponF13EFrozenFxType EnableFrozenEffect__10CGunWeaponF13EFrozenFxType: /* 801BA2C8 001B7228 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801BA2CC 001B722C 7C 08 02 A6 */ mflr r0 /* 801BA2D0 001B7230 90 01 00 34 */ stw r0, 0x34(r1) /* 801BA2D4 001B7234 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801BA2D8 001B7238 7C 9F 23 78 */ mr r31, r4 /* 801BA2DC 001B723C 2C 1F 00 02 */ cmpwi r31, 2 /* 801BA2E0 001B7240 93 C1 00 28 */ stw r30, 0x28(r1) /* 801BA2E4 001B7244 7C 7E 1B 78 */ mr r30, r3 /* 801BA2E8 001B7248 93 A1 00 24 */ stw r29, 0x24(r1) /* 801BA2EC 001B724C 93 81 00 20 */ stw r28, 0x20(r1) /* 801BA2F0 001B7250 41 82 00 14 */ beq lbl_801BA304 /* 801BA2F4 001B7254 40 80 01 64 */ bge lbl_801BA458 /* 801BA2F8 001B7258 2C 1F 00 01 */ cmpwi r31, 1 /* 801BA2FC 001B725C 40 80 00 B4 */ bge lbl_801BA3B0 /* 801BA300 001B7260 48 00 01 58 */ b lbl_801BA458 lbl_801BA304: /* 801BA304 001B7264 80 1E 02 04 */ lwz r0, 0x204(r30) /* 801BA308 001B7268 2C 00 00 02 */ cmpwi r0, 2 /* 801BA30C 001B726C 41 82 01 4C */ beq lbl_801BA458 /* 801BA310 001B7270 3C 60 80 3D */ lis r3, lbl_803D1828@ha /* 801BA314 001B7274 3B 80 00 00 */ li r28, 0 /* 801BA318 001B7278 38 83 18 28 */ addi r4, r3, lbl_803D1828@l /* 801BA31C 001B727C 38 60 03 40 */ li r3, 0x340 /* 801BA320 001B7280 38 84 01 B5 */ addi r4, r4, 0x1b5 /* 801BA324 001B7284 38 A0 00 00 */ li r5, 0 /* 801BA328 001B7288 48 15 B5 45 */ bl __nw__FUlPCcPCc /* 801BA32C 001B728C 7C 7D 1B 79 */ or. r29, r3, r3 /* 801BA330 001B7290 41 82 00 2C */ beq lbl_801BA35C /* 801BA334 001B7294 38 61 00 10 */ addi r3, r1, 0x10 /* 801BA338 001B7298 38 9E 01 98 */ addi r4, r30, 0x198 /* 801BA33C 001B729C 48 18 6B 6D */ bl __ct__6CTokenFRC6CToken /* 801BA340 001B72A0 7F A3 EB 78 */ mr r3, r29 /* 801BA344 001B72A4 38 81 00 10 */ addi r4, r1, 0x10 /* 801BA348 001B72A8 3B 80 00 01 */ li r28, 1 /* 801BA34C 001B72AC 38 A0 00 00 */ li r5, 0 /* 801BA350 001B72B0 38 C0 00 01 */ li r6, 1 /* 801BA354 001B72B4 48 16 50 8D */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 801BA358 001B72B8 7C 7D 1B 78 */ mr r29, r3 lbl_801BA35C: /* 801BA35C 001B72BC 80 7E 01 B8 */ lwz r3, 0x1b8(r30) /* 801BA360 001B72C0 28 03 00 00 */ cmplwi r3, 0 /* 801BA364 001B72C4 41 82 00 18 */ beq lbl_801BA37C /* 801BA368 001B72C8 81 83 00 00 */ lwz r12, 0(r3) /* 801BA36C 001B72CC 38 80 00 01 */ li r4, 1 /* 801BA370 001B72D0 81 8C 00 08 */ lwz r12, 8(r12) /* 801BA374 001B72D4 7D 89 03 A6 */ mtctr r12 /* 801BA378 001B72D8 4E 80 04 21 */ bctrl lbl_801BA37C: /* 801BA37C 001B72DC 7F 80 07 75 */ extsb. r0, r28 /* 801BA380 001B72E0 93 BE 01 B8 */ stw r29, 0x1b8(r30) /* 801BA384 001B72E4 41 82 00 10 */ beq lbl_801BA394 /* 801BA388 001B72E8 38 61 00 10 */ addi r3, r1, 0x10 /* 801BA38C 001B72EC 38 80 00 00 */ li r4, 0 /* 801BA390 001B72F0 48 18 6A B1 */ bl __dt__6CTokenFv lbl_801BA394: /* 801BA394 001B72F4 80 7E 01 B8 */ lwz r3, 0x1b8(r30) /* 801BA398 001B72F8 38 9E 00 04 */ addi r4, r30, 4 /* 801BA39C 001B72FC 81 83 00 00 */ lwz r12, 0(r3) /* 801BA3A0 001B7300 81 8C 00 24 */ lwz r12, 0x24(r12) /* 801BA3A4 001B7304 7D 89 03 A6 */ mtctr r12 /* 801BA3A8 001B7308 4E 80 04 21 */ bctrl /* 801BA3AC 001B730C 48 00 00 AC */ b lbl_801BA458 lbl_801BA3B0: /* 801BA3B0 001B7310 80 1E 02 04 */ lwz r0, 0x204(r30) /* 801BA3B4 001B7314 2C 00 00 01 */ cmpwi r0, 1 /* 801BA3B8 001B7318 41 82 00 A0 */ beq lbl_801BA458 /* 801BA3BC 001B731C 3C 60 80 3D */ lis r3, lbl_803D1828@ha /* 801BA3C0 001B7320 3B 80 00 00 */ li r28, 0 /* 801BA3C4 001B7324 38 83 18 28 */ addi r4, r3, lbl_803D1828@l /* 801BA3C8 001B7328 38 60 03 40 */ li r3, 0x340 /* 801BA3CC 001B732C 38 84 01 B5 */ addi r4, r4, 0x1b5 /* 801BA3D0 001B7330 38 A0 00 00 */ li r5, 0 /* 801BA3D4 001B7334 48 15 B4 99 */ bl __nw__FUlPCcPCc /* 801BA3D8 001B7338 7C 7D 1B 79 */ or. r29, r3, r3 /* 801BA3DC 001B733C 41 82 00 2C */ beq lbl_801BA408 /* 801BA3E0 001B7340 38 61 00 08 */ addi r3, r1, 8 /* 801BA3E4 001B7344 38 9E 01 8C */ addi r4, r30, 0x18c /* 801BA3E8 001B7348 48 18 6A C1 */ bl __ct__6CTokenFRC6CToken /* 801BA3EC 001B734C 7F A3 EB 78 */ mr r3, r29 /* 801BA3F0 001B7350 38 81 00 08 */ addi r4, r1, 8 /* 801BA3F4 001B7354 3B 80 00 01 */ li r28, 1 /* 801BA3F8 001B7358 38 A0 00 00 */ li r5, 0 /* 801BA3FC 001B735C 38 C0 00 01 */ li r6, 1 /* 801BA400 001B7360 48 16 4F E1 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 801BA404 001B7364 7C 7D 1B 78 */ mr r29, r3 lbl_801BA408: /* 801BA408 001B7368 80 7E 01 B8 */ lwz r3, 0x1b8(r30) /* 801BA40C 001B736C 28 03 00 00 */ cmplwi r3, 0 /* 801BA410 001B7370 41 82 00 18 */ beq lbl_801BA428 /* 801BA414 001B7374 81 83 00 00 */ lwz r12, 0(r3) /* 801BA418 001B7378 38 80 00 01 */ li r4, 1 /* 801BA41C 001B737C 81 8C 00 08 */ lwz r12, 8(r12) /* 801BA420 001B7380 7D 89 03 A6 */ mtctr r12 /* 801BA424 001B7384 4E 80 04 21 */ bctrl lbl_801BA428: /* 801BA428 001B7388 7F 80 07 75 */ extsb. r0, r28 /* 801BA42C 001B738C 93 BE 01 B8 */ stw r29, 0x1b8(r30) /* 801BA430 001B7390 41 82 00 10 */ beq lbl_801BA440 /* 801BA434 001B7394 38 61 00 08 */ addi r3, r1, 8 /* 801BA438 001B7398 38 80 00 00 */ li r4, 0 /* 801BA43C 001B739C 48 18 6A 05 */ bl __dt__6CTokenFv lbl_801BA440: /* 801BA440 001B73A0 80 7E 01 B8 */ lwz r3, 0x1b8(r30) /* 801BA444 001B73A4 38 9E 00 04 */ addi r4, r30, 4 /* 801BA448 001B73A8 81 83 00 00 */ lwz r12, 0(r3) /* 801BA44C 001B73AC 81 8C 00 24 */ lwz r12, 0x24(r12) /* 801BA450 001B73B0 7D 89 03 A6 */ mtctr r12 /* 801BA454 001B73B4 4E 80 04 21 */ bctrl lbl_801BA458: /* 801BA458 001B73B8 93 FE 02 04 */ stw r31, 0x204(r30) /* 801BA45C 001B73BC 80 01 00 34 */ lwz r0, 0x34(r1) /* 801BA460 001B73C0 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801BA464 001B73C4 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801BA468 001B73C8 83 A1 00 24 */ lwz r29, 0x24(r1) /* 801BA46C 001B73CC 83 81 00 20 */ lwz r28, 0x20(r1) /* 801BA470 001B73D0 7C 08 03 A6 */ mtlr r0 /* 801BA474 001B73D4 38 21 00 30 */ addi r1, r1, 0x30 /* 801BA478 001B73D8 4E 80 00 20 */ blr .global PointGenerator__10CGunWeaponFPvPC9CVector3fPC9CVector3fi PointGenerator__10CGunWeaponFPvPC9CVector3fPC9CVector3fi: /* 801BA47C 001B73DC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BA480 001B73E0 7C 08 02 A6 */ mflr r0 /* 801BA484 001B73E4 90 01 00 14 */ stw r0, 0x14(r1) /* 801BA488 001B73E8 48 0B 01 59 */ bl GeneratePoints__20CRainSplashGeneratorFPC9CVector3fPC9CVector3fi /* 801BA48C 001B73EC 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BA490 001B73F0 7C 08 03 A6 */ mtlr r0 /* 801BA494 001B73F4 38 21 00 10 */ addi r1, r1, 0x10 /* 801BA498 001B73F8 4E 80 00 20 */ blr .global LoadSuitArm__10CGunWeaponFR13CStateManager LoadSuitArm__10CGunWeaponFR13CStateManager: /* 801BA49C 001B73FC 94 21 FF 90 */ stwu r1, -0x70(r1) /* 801BA4A0 001B7400 7C 08 02 A6 */ mflr r0 /* 801BA4A4 001B7404 90 01 00 74 */ stw r0, 0x74(r1) /* 801BA4A8 001B7408 93 E1 00 6C */ stw r31, 0x6c(r1) /* 801BA4AC 001B740C 7C 7F 1B 78 */ mr r31, r3 /* 801BA4B0 001B7410 80 63 01 3C */ lwz r3, 0x13c(r3) /* 801BA4B4 001B7414 80 03 00 10 */ lwz r0, 0x10(r3) /* 801BA4B8 001B7418 28 00 00 00 */ cmplwi r0, 0 /* 801BA4BC 001B741C 41 82 00 88 */ beq lbl_801BA544 /* 801BA4C0 001B7420 7C 83 23 78 */ mr r3, r4 /* 801BA4C4 001B7424 48 0D 05 09 */ bl get_current_suit__12NWeaponTypesFRC13CStateManager /* 801BA4C8 001B7428 3C 80 80 3D */ lis r4, skSuitArmNames@ha /* 801BA4CC 001B742C 54 60 10 3A */ slwi r0, r3, 2 /* 801BA4D0 001B7430 38 64 17 DC */ addi r3, r4, skSuitArmNames@l /* 801BA4D4 001B7434 7C 63 00 2E */ lwzx r3, r3, r0 /* 801BA4D8 001B7438 48 0D 0F 71 */ bl get_asset_id_from_name__12NWeaponTypesFPCc /* 801BA4DC 001B743C 90 61 00 08 */ stw r3, 8(r1) /* 801BA4E0 001B7440 38 61 00 18 */ addi r3, r1, 0x18 /* 801BA4E4 001B7444 38 81 00 08 */ addi r4, r1, 8 /* 801BA4E8 001B7448 C0 1F 00 04 */ lfs f0, 4(r31) /* 801BA4EC 001B744C D0 01 00 0C */ stfs f0, 0xc(r1) /* 801BA4F0 001B7450 C0 1F 00 08 */ lfs f0, 8(r31) /* 801BA4F4 001B7454 D0 01 00 10 */ stfs f0, 0x10(r1) /* 801BA4F8 001B7458 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801BA4FC 001B745C D0 01 00 14 */ stfs f0, 0x14(r1) /* 801BA500 001B7460 4B F5 C8 5D */ bl __ct__10CModelDataFRC10CStaticRes /* 801BA504 001B7464 38 7F 00 B0 */ addi r3, r31, 0xb0 /* 801BA508 001B7468 38 81 00 18 */ addi r4, r1, 0x18 /* 801BA50C 001B746C 4B F2 39 6D */ bl "__as__Q24rstl29optional_object<10CModelData>FRC10CModelData" /* 801BA510 001B7470 38 61 00 18 */ addi r3, r1, 0x18 /* 801BA514 001B7474 38 80 FF FF */ li r4, -1 /* 801BA518 001B7478 4B F5 C5 35 */ bl __dt__10CModelDataFv /* 801BA51C 001B747C 88 1F 00 C4 */ lbz r0, 0xc4(r31) /* 801BA520 001B7480 38 60 00 01 */ li r3, 1 /* 801BA524 001B7484 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 801BA528 001B7488 38 80 00 00 */ li r4, 0 /* 801BA52C 001B748C 98 1F 00 C4 */ stb r0, 0xc4(r31) /* 801BA530 001B7490 38 7F 01 3C */ addi r3, r31, 0x13c /* 801BA534 001B7494 88 1F 02 18 */ lbz r0, 0x218(r31) /* 801BA538 001B7498 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c /* 801BA53C 001B749C 98 1F 02 18 */ stb r0, 0x218(r31) /* 801BA540 001B74A0 48 18 68 01 */ bl Unlock__6CTokenFv lbl_801BA544: /* 801BA544 001B74A4 80 01 00 74 */ lwz r0, 0x74(r1) /* 801BA548 001B74A8 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 801BA54C 001B74AC 7C 08 03 A6 */ mtlr r0 /* 801BA550 001B74B0 38 21 00 70 */ addi r1, r1, 0x70 /* 801BA554 001B74B4 4E 80 00 20 */ blr .global AsyncLoadSuitArm__10CGunWeaponFR13CStateManager AsyncLoadSuitArm__10CGunWeaponFR13CStateManager: /* 801BA558 001B74B8 94 21 FF 90 */ stwu r1, -0x70(r1) /* 801BA55C 001B74BC 7C 08 02 A6 */ mflr r0 /* 801BA560 001B74C0 90 01 00 74 */ stw r0, 0x74(r1) /* 801BA564 001B74C4 93 E1 00 6C */ stw r31, 0x6c(r1) /* 801BA568 001B74C8 93 C1 00 68 */ stw r30, 0x68(r1) /* 801BA56C 001B74CC 7C 7E 1B 78 */ mr r30, r3 /* 801BA570 001B74D0 7C 83 23 78 */ mr r3, r4 /* 801BA574 001B74D4 48 0D 04 59 */ bl get_current_suit__12NWeaponTypesFRC13CStateManager /* 801BA578 001B74D8 38 00 00 00 */ li r0, 0 /* 801BA57C 001B74DC 7C 7F 1B 78 */ mr r31, r3 /* 801BA580 001B74E0 98 01 00 64 */ stb r0, 0x64(r1) /* 801BA584 001B74E4 38 7E 00 B0 */ addi r3, r30, 0xb0 /* 801BA588 001B74E8 38 81 00 18 */ addi r4, r1, 0x18 /* 801BA58C 001B74EC 4B F6 37 C1 */ bl "__as__Q24rstl29optional_object<10CModelData>FRCQ24rstl29optional_object<10CModelData>" /* 801BA590 001B74F0 88 01 00 64 */ lbz r0, 0x64(r1) /* 801BA594 001B74F4 28 00 00 00 */ cmplwi r0, 0 /* 801BA598 001B74F8 41 82 00 10 */ beq lbl_801BA5A8 /* 801BA59C 001B74FC 38 61 00 18 */ addi r3, r1, 0x18 /* 801BA5A0 001B7500 38 80 FF FF */ li r4, -1 /* 801BA5A4 001B7504 4B F5 C4 A9 */ bl __dt__10CModelDataFv lbl_801BA5A8: /* 801BA5A8 001B7508 38 00 00 00 */ li r0, 0 /* 801BA5AC 001B750C 3C 60 80 3D */ lis r3, skSuitArmNames@ha /* 801BA5B0 001B7510 98 01 00 64 */ stb r0, 0x64(r1) /* 801BA5B4 001B7514 57 E0 10 3A */ slwi r0, r31, 2 /* 801BA5B8 001B7518 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801BA5BC 001B751C 38 A3 17 DC */ addi r5, r3, skSuitArmNames@l /* 801BA5C0 001B7520 38 61 00 10 */ addi r3, r1, 0x10 /* 801BA5C4 001B7524 7C A5 00 2E */ lwzx r5, r5, r0 /* 801BA5C8 001B7528 81 84 00 00 */ lwz r12, 0(r4) /* 801BA5CC 001B752C 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801BA5D0 001B7530 7D 89 03 A6 */ mtctr r12 /* 801BA5D4 001B7534 4E 80 04 21 */ bctrl /* 801BA5D8 001B7538 38 61 00 08 */ addi r3, r1, 8 /* 801BA5DC 001B753C 38 81 00 10 */ addi r4, r1, 0x10 /* 801BA5E0 001B7540 48 18 68 C9 */ bl __ct__6CTokenFRC6CToken /* 801BA5E4 001B7544 38 7E 01 3C */ addi r3, r30, 0x13c /* 801BA5E8 001B7548 38 81 00 08 */ addi r4, r1, 8 /* 801BA5EC 001B754C 48 18 66 D9 */ bl __as__6CTokenFRC6CToken /* 801BA5F0 001B7550 38 61 00 08 */ addi r3, r1, 8 /* 801BA5F4 001B7554 38 80 00 00 */ li r4, 0 /* 801BA5F8 001B7558 48 18 68 49 */ bl __dt__6CTokenFv /* 801BA5FC 001B755C 38 61 00 10 */ addi r3, r1, 0x10 /* 801BA600 001B7560 38 80 FF FF */ li r4, -1 /* 801BA604 001B7564 48 18 68 3D */ bl __dt__6CTokenFv /* 801BA608 001B7568 38 7E 01 3C */ addi r3, r30, 0x13c /* 801BA60C 001B756C 48 18 67 79 */ bl Lock__6CTokenFv /* 801BA610 001B7570 88 1E 02 18 */ lbz r0, 0x218(r30) /* 801BA614 001B7574 38 60 00 01 */ li r3, 1 /* 801BA618 001B7578 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 801BA61C 001B757C 98 1E 02 18 */ stb r0, 0x218(r30) /* 801BA620 001B7580 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 801BA624 001B7584 83 C1 00 68 */ lwz r30, 0x68(r1) /* 801BA628 001B7588 80 01 00 74 */ lwz r0, 0x74(r1) /* 801BA62C 001B758C 7C 08 03 A6 */ mtlr r0 /* 801BA630 001B7590 38 21 00 70 */ addi r1, r1, 0x70 /* 801BA634 001B7594 4E 80 00 20 */ blr .global IsFidgetLoaded__10CGunWeaponFv IsFidgetLoaded__10CGunWeaponFv: /* 801BA638 001B7598 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BA63C 001B759C 7C 08 02 A6 */ mflr r0 /* 801BA640 001B75A0 90 01 00 14 */ stw r0, 0x14(r1) /* 801BA644 001B75A4 80 63 01 00 */ lwz r3, 0x100(r3) /* 801BA648 001B75A8 38 63 00 30 */ addi r3, r3, 0x30 /* 801BA64C 001B75AC 48 03 6A 7D */ bl IsAnimLoaded__9CGSFidgetCFv /* 801BA650 001B75B0 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BA654 001B75B4 7C 08 03 A6 */ mtlr r0 /* 801BA658 001B75B8 38 21 00 10 */ addi r1, r1, 0x10 /* 801BA65C 001B75BC 4E 80 00 20 */ blr .global UnLoadFidget__10CGunWeaponFv UnLoadFidget__10CGunWeaponFv: /* 801BA660 001B75C0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BA664 001B75C4 7C 08 02 A6 */ mflr r0 /* 801BA668 001B75C8 90 01 00 14 */ stw r0, 0x14(r1) /* 801BA66C 001B75CC 80 63 01 00 */ lwz r3, 0x100(r3) /* 801BA670 001B75D0 38 63 00 30 */ addi r3, r3, 0x30 /* 801BA674 001B75D4 48 03 6A 75 */ bl UnLoadAnim__9CGSFidgetFv /* 801BA678 001B75D8 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BA67C 001B75DC 7C 08 03 A6 */ mtlr r0 /* 801BA680 001B75E0 38 21 00 10 */ addi r1, r1, 0x10 /* 801BA684 001B75E4 4E 80 00 20 */ blr .global AsyncLoadFidget__10CGunWeaponFR13CStateManagerQ28SamusGun11EFidgetTypei AsyncLoadFidget__10CGunWeaponFR13CStateManagerQ28SamusGun11EFidgetTypei: /* 801BA688 001B75E8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BA68C 001B75EC 7C 08 02 A6 */ mflr r0 /* 801BA690 001B75F0 7C 68 1B 78 */ mr r8, r3 /* 801BA694 001B75F4 7C C7 33 78 */ mr r7, r6 /* 801BA698 001B75F8 90 01 00 14 */ stw r0, 0x14(r1) /* 801BA69C 001B75FC 80 63 01 00 */ lwz r3, 0x100(r3) /* 801BA6A0 001B7600 80 C8 02 00 */ lwz r6, 0x200(r8) /* 801BA6A4 001B7604 48 01 21 79 */ bl LoadFidgetAnimAsync__14CGunControllerFR13CStateManageriii /* 801BA6A8 001B7608 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BA6AC 001B760C 7C 08 03 A6 */ mtlr r0 /* 801BA6B0 001B7610 38 21 00 10 */ addi r1, r1, 0x10 /* 801BA6B4 001B7614 4E 80 00 20 */ blr .global BuildDependencyList__10CGunWeaponFQ212CPlayerState7EBeamId BuildDependencyList__10CGunWeaponFQ212CPlayerState7EBeamId: /* 801BA6B8 001B7618 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801BA6BC 001B761C 7C 08 02 A6 */ mflr r0 /* 801BA6C0 001B7620 3C A0 80 3D */ lis r5, skDependencyNames@ha /* 801BA6C4 001B7624 90 01 00 44 */ stw r0, 0x44(r1) /* 801BA6C8 001B7628 7C 80 23 78 */ mr r0, r4 /* 801BA6CC 001B762C 38 A5 17 C8 */ addi r5, r5, skDependencyNames@l /* 801BA6D0 001B7630 93 E1 00 3C */ stw r31, 0x3c(r1) /* 801BA6D4 001B7634 93 C1 00 38 */ stw r30, 0x38(r1) /* 801BA6D8 001B7638 54 1E 10 3A */ slwi r30, r0, 2 /* 801BA6DC 001B763C 7C A5 F0 2E */ lwzx r5, r5, r30 /* 801BA6E0 001B7640 93 A1 00 34 */ stw r29, 0x34(r1) /* 801BA6E4 001B7644 7C 7D 1B 78 */ mr r29, r3 /* 801BA6E8 001B7648 38 61 00 10 */ addi r3, r1, 0x10 /* 801BA6EC 001B764C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801BA6F0 001B7650 81 84 00 00 */ lwz r12, 0(r4) /* 801BA6F4 001B7654 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801BA6F8 001B7658 7D 89 03 A6 */ mtctr r12 /* 801BA6FC 001B765C 4E 80 04 21 */ bctrl /* 801BA700 001B7660 3B E1 00 24 */ addi r31, r1, 0x24 /* 801BA704 001B7664 38 81 00 10 */ addi r4, r1, 0x10 /* 801BA708 001B7668 7F E3 FB 78 */ mr r3, r31 /* 801BA70C 001B766C 48 18 67 9D */ bl __ct__6CTokenFRC6CToken /* 801BA710 001B7670 7F E3 FB 78 */ mr r3, r31 /* 801BA714 001B7674 48 18 66 F9 */ bl GetObj__6CTokenFv /* 801BA718 001B7678 80 03 00 04 */ lwz r0, 4(r3) /* 801BA71C 001B767C 38 61 00 10 */ addi r3, r1, 0x10 /* 801BA720 001B7680 38 80 FF FF */ li r4, -1 /* 801BA724 001B7684 90 01 00 2C */ stw r0, 0x2c(r1) /* 801BA728 001B7688 48 18 67 19 */ bl __dt__6CTokenFv /* 801BA72C 001B768C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801BA730 001B7690 3C 60 80 3D */ lis r3, skAnimDependencyNames@ha /* 801BA734 001B7694 38 A3 17 B4 */ addi r5, r3, skAnimDependencyNames@l /* 801BA738 001B7698 38 61 00 08 */ addi r3, r1, 8 /* 801BA73C 001B769C 81 84 00 00 */ lwz r12, 0(r4) /* 801BA740 001B76A0 7C A5 F0 2E */ lwzx r5, r5, r30 /* 801BA744 001B76A4 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801BA748 001B76A8 7D 89 03 A6 */ mtctr r12 /* 801BA74C 001B76AC 4E 80 04 21 */ bctrl /* 801BA750 001B76B0 3B C1 00 18 */ addi r30, r1, 0x18 /* 801BA754 001B76B4 38 81 00 08 */ addi r4, r1, 8 /* 801BA758 001B76B8 7F C3 F3 78 */ mr r3, r30 /* 801BA75C 001B76BC 48 18 67 4D */ bl __ct__6CTokenFRC6CToken /* 801BA760 001B76C0 7F C3 F3 78 */ mr r3, r30 /* 801BA764 001B76C4 48 18 66 A9 */ bl GetObj__6CTokenFv /* 801BA768 001B76C8 80 03 00 04 */ lwz r0, 4(r3) /* 801BA76C 001B76CC 38 61 00 08 */ addi r3, r1, 8 /* 801BA770 001B76D0 38 80 FF FF */ li r4, -1 /* 801BA774 001B76D4 90 01 00 20 */ stw r0, 0x20(r1) /* 801BA778 001B76D8 48 18 66 C9 */ bl __dt__6CTokenFv /* 801BA77C 001B76DC 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801BA780 001B76E0 38 7D 01 2C */ addi r3, r29, 0x12c /* 801BA784 001B76E4 83 C1 00 20 */ lwz r30, 0x20(r1) /* 801BA788 001B76E8 80 9F 00 04 */ lwz r4, 4(r31) /* 801BA78C 001B76EC 80 1E 00 04 */ lwz r0, 4(r30) /* 801BA790 001B76F0 7C 84 02 14 */ add r4, r4, r0 /* 801BA794 001B76F4 4B E4 E1 C9 */ bl "reserve__Q24rstl42vector<6CToken,Q24rstl17rmemory_allocator>Fi" /* 801BA798 001B76F8 7F E3 FB 78 */ mr r3, r31 /* 801BA79C 001B76FC 38 9D 01 2C */ addi r4, r29, 0x12c /* 801BA7A0 001B7700 38 A0 00 01 */ li r5, 1 /* 801BA7A4 001B7704 48 00 00 49 */ bl "FillTokenVector__10CGunWeaponFRCQ24rstl47vector<10SObjectTag,Q24rstl17rmemory_allocator>RQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>b" /* 801BA7A8 001B7708 7F C3 F3 78 */ mr r3, r30 /* 801BA7AC 001B770C 38 9D 01 2C */ addi r4, r29, 0x12c /* 801BA7B0 001B7710 38 A0 00 00 */ li r5, 0 /* 801BA7B4 001B7714 48 00 00 39 */ bl "FillTokenVector__10CGunWeaponFRCQ24rstl47vector<10SObjectTag,Q24rstl17rmemory_allocator>RQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>b" /* 801BA7B8 001B7718 38 61 00 18 */ addi r3, r1, 0x18 /* 801BA7BC 001B771C 38 80 00 00 */ li r4, 0 /* 801BA7C0 001B7720 48 18 66 81 */ bl __dt__6CTokenFv /* 801BA7C4 001B7724 38 61 00 24 */ addi r3, r1, 0x24 /* 801BA7C8 001B7728 38 80 00 00 */ li r4, 0 /* 801BA7CC 001B772C 48 18 66 75 */ bl __dt__6CTokenFv /* 801BA7D0 001B7730 80 01 00 44 */ lwz r0, 0x44(r1) /* 801BA7D4 001B7734 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 801BA7D8 001B7738 83 C1 00 38 */ lwz r30, 0x38(r1) /* 801BA7DC 001B773C 83 A1 00 34 */ lwz r29, 0x34(r1) /* 801BA7E0 001B7740 7C 08 03 A6 */ mtlr r0 /* 801BA7E4 001B7744 38 21 00 40 */ addi r1, r1, 0x40 /* 801BA7E8 001B7748 4E 80 00 20 */ blr .global "FillTokenVector__10CGunWeaponFRCQ24rstl47vector<10SObjectTag,Q24rstl17rmemory_allocator>RQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>b" "FillTokenVector__10CGunWeaponFRCQ24rstl47vector<10SObjectTag,Q24rstl17rmemory_allocator>RQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>b": /* 801BA7EC 001B774C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801BA7F0 001B7750 7C 08 02 A6 */ mflr r0 /* 801BA7F4 001B7754 90 01 00 34 */ stw r0, 0x34(r1) /* 801BA7F8 001B7758 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801BA7FC 001B775C 54 BF 06 3E */ clrlwi r31, r5, 0x18 /* 801BA800 001B7760 93 C1 00 28 */ stw r30, 0x28(r1) /* 801BA804 001B7764 93 A1 00 24 */ stw r29, 0x24(r1) /* 801BA808 001B7768 7C 9D 23 78 */ mr r29, r4 /* 801BA80C 001B776C 93 81 00 20 */ stw r28, 0x20(r1) /* 801BA810 001B7770 7C 7C 1B 78 */ mr r28, r3 /* 801BA814 001B7774 83 C3 00 0C */ lwz r30, 0xc(r3) /* 801BA818 001B7778 48 00 00 C4 */ b lbl_801BA8DC lbl_801BA81C: /* 801BA81C 001B777C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801BA820 001B7780 7F C5 F3 78 */ mr r5, r30 /* 801BA824 001B7784 38 61 00 08 */ addi r3, r1, 8 /* 801BA828 001B7788 81 84 00 00 */ lwz r12, 0(r4) /* 801BA82C 001B778C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 801BA830 001B7790 7D 89 03 A6 */ mtctr r12 /* 801BA834 001B7794 4E 80 04 21 */ bctrl /* 801BA838 001B7798 38 61 00 10 */ addi r3, r1, 0x10 /* 801BA83C 001B779C 38 81 00 08 */ addi r4, r1, 8 /* 801BA840 001B77A0 48 18 66 69 */ bl __ct__6CTokenFRC6CToken /* 801BA844 001B77A4 38 61 00 08 */ addi r3, r1, 8 /* 801BA848 001B77A8 38 80 FF FF */ li r4, -1 /* 801BA84C 001B77AC 48 18 65 F5 */ bl __dt__6CTokenFv /* 801BA850 001B77B0 28 1F 00 00 */ cmplwi r31, 0 /* 801BA854 001B77B4 40 82 00 28 */ bne lbl_801BA87C /* 801BA858 001B77B8 80 61 00 10 */ lwz r3, 0x10(r1) /* 801BA85C 001B77BC 80 63 00 04 */ lwz r3, 4(r3) /* 801BA860 001B77C0 3C 03 AB A8 */ addis r0, r3, 0xaba8 /* 801BA864 001B77C4 28 00 54 52 */ cmplwi r0, 0x5452 /* 801BA868 001B77C8 40 82 00 14 */ bne lbl_801BA87C /* 801BA86C 001B77CC 38 61 00 10 */ addi r3, r1, 0x10 /* 801BA870 001B77D0 38 80 FF FF */ li r4, -1 /* 801BA874 001B77D4 48 18 65 CD */ bl __dt__6CTokenFv /* 801BA878 001B77D8 48 00 00 60 */ b lbl_801BA8D8 lbl_801BA87C: /* 801BA87C 001B77DC 80 1D 00 04 */ lwz r0, 4(r29) /* 801BA880 001B77E0 80 BD 00 08 */ lwz r5, 8(r29) /* 801BA884 001B77E4 7C 00 28 00 */ cmpw r0, r5 /* 801BA888 001B77E8 41 80 00 1C */ blt lbl_801BA8A4 /* 801BA88C 001B77EC 2C 05 00 00 */ cmpwi r5, 0 /* 801BA890 001B77F0 7F A3 EB 78 */ mr r3, r29 /* 801BA894 001B77F4 38 80 00 04 */ li r4, 4 /* 801BA898 001B77F8 41 82 00 08 */ beq lbl_801BA8A0 /* 801BA89C 001B77FC 54 A4 08 3C */ slwi r4, r5, 1 lbl_801BA8A0: /* 801BA8A0 001B7800 4B E4 E0 BD */ bl "reserve__Q24rstl42vector<6CToken,Q24rstl17rmemory_allocator>Fi" lbl_801BA8A4: /* 801BA8A4 001B7804 80 1D 00 04 */ lwz r0, 4(r29) /* 801BA8A8 001B7808 80 7D 00 0C */ lwz r3, 0xc(r29) /* 801BA8AC 001B780C 54 00 18 38 */ slwi r0, r0, 3 /* 801BA8B0 001B7810 7C 63 02 15 */ add. r3, r3, r0 /* 801BA8B4 001B7814 41 82 00 0C */ beq lbl_801BA8C0 /* 801BA8B8 001B7818 38 81 00 10 */ addi r4, r1, 0x10 /* 801BA8BC 001B781C 48 18 65 ED */ bl __ct__6CTokenFRC6CToken lbl_801BA8C0: /* 801BA8C0 001B7820 80 BD 00 04 */ lwz r5, 4(r29) /* 801BA8C4 001B7824 38 61 00 10 */ addi r3, r1, 0x10 /* 801BA8C8 001B7828 38 80 FF FF */ li r4, -1 /* 801BA8CC 001B782C 38 05 00 01 */ addi r0, r5, 1 /* 801BA8D0 001B7830 90 1D 00 04 */ stw r0, 4(r29) /* 801BA8D4 001B7834 48 18 65 6D */ bl __dt__6CTokenFv lbl_801BA8D8: /* 801BA8D8 001B7838 3B DE 00 08 */ addi r30, r30, 8 lbl_801BA8DC: /* 801BA8DC 001B783C 80 1C 00 04 */ lwz r0, 4(r28) /* 801BA8E0 001B7840 80 7C 00 0C */ lwz r3, 0xc(r28) /* 801BA8E4 001B7844 54 00 18 38 */ slwi r0, r0, 3 /* 801BA8E8 001B7848 7C 03 02 14 */ add r0, r3, r0 /* 801BA8EC 001B784C 7C 1E 00 40 */ cmplw r30, r0 /* 801BA8F0 001B7850 40 82 FF 2C */ bne lbl_801BA81C /* 801BA8F4 001B7854 80 01 00 34 */ lwz r0, 0x34(r1) /* 801BA8F8 001B7858 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801BA8FC 001B785C 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801BA900 001B7860 83 A1 00 24 */ lwz r29, 0x24(r1) /* 801BA904 001B7864 83 81 00 20 */ lwz r28, 0x20(r1) /* 801BA908 001B7868 7C 08 03 A6 */ mtlr r0 /* 801BA90C 001B786C 38 21 00 30 */ addi r1, r1, 0x30 /* 801BA910 001B7870 4E 80 00 20 */ blr .global UnlockTokens__10CGunWeaponFv UnlockTokens__10CGunWeaponFv: /* 801BA914 001B7874 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BA918 001B7878 7C 08 02 A6 */ mflr r0 /* 801BA91C 001B787C 90 01 00 14 */ stw r0, 0x14(r1) /* 801BA920 001B7880 93 E1 00 0C */ stw r31, 0xc(r1) /* 801BA924 001B7884 7C 7F 1B 78 */ mr r31, r3 /* 801BA928 001B7888 38 7F 01 3C */ addi r3, r31, 0x13c /* 801BA92C 001B788C 48 18 64 15 */ bl Unlock__6CTokenFv /* 801BA930 001B7890 38 7F 01 2C */ addi r3, r31, 0x12c /* 801BA934 001B7894 48 0D 08 41 */ bl "unlock_tokens__12NWeaponTypesFRQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>" /* 801BA938 001B7898 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BA93C 001B789C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801BA940 001B78A0 7C 08 03 A6 */ mtlr r0 /* 801BA944 001B78A4 38 21 00 10 */ addi r1, r1, 0x10 /* 801BA948 001B78A8 4E 80 00 20 */ blr .global LockTokens__10CGunWeaponFR13CStateManager LockTokens__10CGunWeaponFR13CStateManager: /* 801BA94C 001B78AC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BA950 001B78B0 7C 08 02 A6 */ mflr r0 /* 801BA954 001B78B4 90 01 00 14 */ stw r0, 0x14(r1) /* 801BA958 001B78B8 93 E1 00 0C */ stw r31, 0xc(r1) /* 801BA95C 001B78BC 7C 7F 1B 78 */ mr r31, r3 /* 801BA960 001B78C0 4B FF FB F9 */ bl AsyncLoadSuitArm__10CGunWeaponFR13CStateManager /* 801BA964 001B78C4 38 7F 01 2C */ addi r3, r31, 0x12c /* 801BA968 001B78C8 48 0D 08 69 */ bl "lock_tokens__12NWeaponTypesFRQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>" /* 801BA96C 001B78CC 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BA970 001B78D0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801BA974 001B78D4 7C 08 03 A6 */ mtlr r0 /* 801BA978 001B78D8 38 21 00 10 */ addi r1, r1, 0x10 /* 801BA97C 001B78DC 4E 80 00 20 */ blr .global IsAnimsLoaded__10CGunWeaponCFv IsAnimsLoaded__10CGunWeaponCFv: /* 801BA980 001B78E0 80 03 01 10 */ lwz r0, 0x110(r3) /* 801BA984 001B78E4 80 A3 01 18 */ lwz r5, 0x118(r3) /* 801BA988 001B78E8 54 00 18 38 */ slwi r0, r0, 3 /* 801BA98C 001B78EC 7C 85 02 14 */ add r4, r5, r0 /* 801BA990 001B78F0 48 00 00 20 */ b lbl_801BA9B0 lbl_801BA994: /* 801BA994 001B78F4 80 65 00 00 */ lwz r3, 0(r5) /* 801BA998 001B78F8 80 03 00 10 */ lwz r0, 0x10(r3) /* 801BA99C 001B78FC 28 00 00 00 */ cmplwi r0, 0 /* 801BA9A0 001B7900 40 82 00 0C */ bne lbl_801BA9AC /* 801BA9A4 001B7904 38 60 00 00 */ li r3, 0 /* 801BA9A8 001B7908 4E 80 00 20 */ blr lbl_801BA9AC: /* 801BA9AC 001B790C 38 A5 00 08 */ addi r5, r5, 8 lbl_801BA9B0: /* 801BA9B0 001B7910 7C 05 20 40 */ cmplw r5, r4 /* 801BA9B4 001B7914 40 82 FF E0 */ bne lbl_801BA994 /* 801BA9B8 001B7918 38 60 00 01 */ li r3, 1 /* 801BA9BC 001B791C 4E 80 00 20 */ blr .global LoadAnimations__10CGunWeaponFv LoadAnimations__10CGunWeaponFv: /* 801BA9C0 001B7920 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BA9C4 001B7924 7C 08 02 A6 */ mflr r0 /* 801BA9C8 001B7928 7C 65 1B 78 */ mr r5, r3 /* 801BA9CC 001B792C 38 80 00 00 */ li r4, 0 /* 801BA9D0 001B7930 90 01 00 14 */ stw r0, 0x14(r1) /* 801BA9D4 001B7934 38 C5 01 0C */ addi r6, r5, 0x10c /* 801BA9D8 001B7938 38 A0 00 0F */ li r5, 0xf /* 801BA9DC 001B793C 38 E0 00 01 */ li r7, 1 /* 801BA9E0 001B7940 80 63 00 20 */ lwz r3, 0x20(r3) /* 801BA9E4 001B7944 48 0D 08 89 */ bl "get_token_vector__12NWeaponTypesFRC9CAnimDataiiRQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>b" /* 801BA9E8 001B7948 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BA9EC 001B794C 7C 08 03 A6 */ mtlr r0 /* 801BA9F0 001B7950 38 21 00 10 */ addi r1, r1, 0x10 /* 801BA9F4 001B7954 4E 80 00 20 */ blr .global LoadFxIdle__10CGunWeaponFfR13CStateManager LoadFxIdle__10CGunWeaponFfR13CStateManager: /* 801BA9F8 001B7958 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801BA9FC 001B795C 7C 08 02 A6 */ mflr r0 /* 801BAA00 001B7960 90 01 00 34 */ stw r0, 0x34(r1) /* 801BAA04 001B7964 DB E1 00 28 */ stfd f31, 0x28(r1) /* 801BAA08 001B7968 FF E0 08 90 */ fmr f31, f1 /* 801BAA0C 001B796C BF 41 00 10 */ stmw r26, 0x10(r1) /* 801BAA10 001B7970 7C 7A 1B 78 */ mr r26, r3 /* 801BAA14 001B7974 7C 9B 23 78 */ mr r27, r4 /* 801BAA18 001B7978 38 7A 01 2C */ addi r3, r26, 0x12c /* 801BAA1C 001B797C 48 0D 08 11 */ bl "are_tokens_ready__12NWeaponTypesFRCQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>" /* 801BAA20 001B7980 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801BAA24 001B7984 41 82 02 2C */ beq lbl_801BAC50 /* 801BAA28 001B7988 80 7A 02 10 */ lwz r3, 0x210(r26) /* 801BAA2C 001B798C 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e /* 801BAA30 001B7990 41 82 00 14 */ beq lbl_801BAA44 /* 801BAA34 001B7994 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d /* 801BAA38 001B7998 41 82 00 0C */ beq lbl_801BAA44 /* 801BAA3C 001B799C 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b /* 801BAA40 001B79A0 40 82 02 10 */ bne lbl_801BAC50 lbl_801BAA44: /* 801BAA44 001B79A4 3B FA 01 70 */ addi r31, r26, 0x170 /* 801BAA48 001B79A8 3B DA 01 48 */ addi r30, r26, 0x148 /* 801BAA4C 001B79AC 3B A0 00 01 */ li r29, 1 /* 801BAA50 001B79B0 3B 80 00 00 */ li r28, 0 lbl_801BAA54: /* 801BAA54 001B79B4 80 1F 00 08 */ lwz r0, 8(r31) /* 801BAA58 001B79B8 28 00 00 00 */ cmplwi r0, 0 /* 801BAA5C 001B79BC 41 82 00 0C */ beq lbl_801BAA68 /* 801BAA60 001B79C0 38 60 00 01 */ li r3, 1 /* 801BAA64 001B79C4 48 00 00 3C */ b lbl_801BAAA0 lbl_801BAA68: /* 801BAA68 001B79C8 88 1F 00 04 */ lbz r0, 4(r31) /* 801BAA6C 001B79CC 28 00 00 00 */ cmplwi r0, 0 /* 801BAA70 001B79D0 41 82 00 2C */ beq lbl_801BAA9C /* 801BAA74 001B79D4 80 7F 00 00 */ lwz r3, 0(r31) /* 801BAA78 001B79D8 80 03 00 10 */ lwz r0, 0x10(r3) /* 801BAA7C 001B79DC 28 00 00 00 */ cmplwi r0, 0 /* 801BAA80 001B79E0 41 82 00 1C */ beq lbl_801BAA9C /* 801BAA84 001B79E4 7F E3 FB 78 */ mr r3, r31 /* 801BAA88 001B79E8 48 18 63 85 */ bl GetObj__6CTokenFv /* 801BAA8C 001B79EC 80 03 00 04 */ lwz r0, 4(r3) /* 801BAA90 001B79F0 38 60 00 01 */ li r3, 1 /* 801BAA94 001B79F4 90 1F 00 08 */ stw r0, 8(r31) /* 801BAA98 001B79F8 48 00 00 08 */ b lbl_801BAAA0 lbl_801BAA9C: /* 801BAA9C 001B79FC 38 60 00 00 */ li r3, 0 lbl_801BAAA0: /* 801BAAA0 001B7A00 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801BAAA4 001B7A04 40 82 00 0C */ bne lbl_801BAAB0 /* 801BAAA8 001B7A08 3B A0 00 00 */ li r29, 0 /* 801BAAAC 001B7A0C 48 00 00 74 */ b lbl_801BAB20 lbl_801BAAB0: /* 801BAAB0 001B7A10 80 1E 00 08 */ lwz r0, 8(r30) /* 801BAAB4 001B7A14 28 00 00 00 */ cmplwi r0, 0 /* 801BAAB8 001B7A18 41 82 00 0C */ beq lbl_801BAAC4 /* 801BAABC 001B7A1C 38 60 00 01 */ li r3, 1 /* 801BAAC0 001B7A20 48 00 00 3C */ b lbl_801BAAFC lbl_801BAAC4: /* 801BAAC4 001B7A24 88 1E 00 04 */ lbz r0, 4(r30) /* 801BAAC8 001B7A28 28 00 00 00 */ cmplwi r0, 0 /* 801BAACC 001B7A2C 41 82 00 2C */ beq lbl_801BAAF8 /* 801BAAD0 001B7A30 80 7E 00 00 */ lwz r3, 0(r30) /* 801BAAD4 001B7A34 80 03 00 10 */ lwz r0, 0x10(r3) /* 801BAAD8 001B7A38 28 00 00 00 */ cmplwi r0, 0 /* 801BAADC 001B7A3C 41 82 00 1C */ beq lbl_801BAAF8 /* 801BAAE0 001B7A40 7F C3 F3 78 */ mr r3, r30 /* 801BAAE4 001B7A44 48 18 63 29 */ bl GetObj__6CTokenFv /* 801BAAE8 001B7A48 80 03 00 04 */ lwz r0, 4(r3) /* 801BAAEC 001B7A4C 38 60 00 01 */ li r3, 1 /* 801BAAF0 001B7A50 90 1E 00 08 */ stw r0, 8(r30) /* 801BAAF4 001B7A54 48 00 00 08 */ b lbl_801BAAFC lbl_801BAAF8: /* 801BAAF8 001B7A58 38 60 00 00 */ li r3, 0 lbl_801BAAFC: /* 801BAAFC 001B7A5C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801BAB00 001B7A60 40 82 00 0C */ bne lbl_801BAB0C /* 801BAB04 001B7A64 3B A0 00 00 */ li r29, 0 /* 801BAB08 001B7A68 48 00 00 18 */ b lbl_801BAB20 lbl_801BAB0C: /* 801BAB0C 001B7A6C 3B 9C 00 01 */ addi r28, r28, 1 /* 801BAB10 001B7A70 3B DE 00 0C */ addi r30, r30, 0xc /* 801BAB14 001B7A74 2C 1C 00 02 */ cmpwi r28, 2 /* 801BAB18 001B7A78 3B FF 00 0C */ addi r31, r31, 0xc /* 801BAB1C 001B7A7C 41 80 FF 38 */ blt lbl_801BAA54 lbl_801BAB20: /* 801BAB20 001B7A80 3B C0 00 00 */ li r30, 0 /* 801BAB24 001B7A84 3B 9A 01 8C */ addi r28, r26, 0x18c lbl_801BAB28: /* 801BAB28 001B7A88 80 1C 00 08 */ lwz r0, 8(r28) /* 801BAB2C 001B7A8C 28 00 00 00 */ cmplwi r0, 0 /* 801BAB30 001B7A90 41 82 00 0C */ beq lbl_801BAB3C /* 801BAB34 001B7A94 38 60 00 01 */ li r3, 1 /* 801BAB38 001B7A98 48 00 00 3C */ b lbl_801BAB74 lbl_801BAB3C: /* 801BAB3C 001B7A9C 88 1C 00 04 */ lbz r0, 4(r28) /* 801BAB40 001B7AA0 28 00 00 00 */ cmplwi r0, 0 /* 801BAB44 001B7AA4 41 82 00 2C */ beq lbl_801BAB70 /* 801BAB48 001B7AA8 80 7C 00 00 */ lwz r3, 0(r28) /* 801BAB4C 001B7AAC 80 03 00 10 */ lwz r0, 0x10(r3) /* 801BAB50 001B7AB0 28 00 00 00 */ cmplwi r0, 0 /* 801BAB54 001B7AB4 41 82 00 1C */ beq lbl_801BAB70 /* 801BAB58 001B7AB8 7F 83 E3 78 */ mr r3, r28 /* 801BAB5C 001B7ABC 48 18 62 B1 */ bl GetObj__6CTokenFv /* 801BAB60 001B7AC0 80 03 00 04 */ lwz r0, 4(r3) /* 801BAB64 001B7AC4 38 60 00 01 */ li r3, 1 /* 801BAB68 001B7AC8 90 1C 00 08 */ stw r0, 8(r28) /* 801BAB6C 001B7ACC 48 00 00 08 */ b lbl_801BAB74 lbl_801BAB70: /* 801BAB70 001B7AD0 38 60 00 00 */ li r3, 0 lbl_801BAB74: /* 801BAB74 001B7AD4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801BAB78 001B7AD8 40 82 00 0C */ bne lbl_801BAB84 /* 801BAB7C 001B7ADC 3B A0 00 00 */ li r29, 0 /* 801BAB80 001B7AE0 48 00 00 14 */ b lbl_801BAB94 lbl_801BAB84: /* 801BAB84 001B7AE4 3B DE 00 01 */ addi r30, r30, 1 /* 801BAB88 001B7AE8 3B 9C 00 0C */ addi r28, r28, 0xc /* 801BAB8C 001B7AEC 2C 1E 00 02 */ cmpwi r30, 2 /* 801BAB90 001B7AF0 41 80 FF 98 */ blt lbl_801BAB28 lbl_801BAB94: /* 801BAB94 001B7AF4 80 1A 01 68 */ lwz r0, 0x168(r26) /* 801BAB98 001B7AF8 28 00 00 00 */ cmplwi r0, 0 /* 801BAB9C 001B7AFC 41 82 00 0C */ beq lbl_801BABA8 /* 801BABA0 001B7B00 38 60 00 01 */ li r3, 1 /* 801BABA4 001B7B04 48 00 00 3C */ b lbl_801BABE0 lbl_801BABA8: /* 801BABA8 001B7B08 88 1A 01 64 */ lbz r0, 0x164(r26) /* 801BABAC 001B7B0C 28 00 00 00 */ cmplwi r0, 0 /* 801BABB0 001B7B10 41 82 00 2C */ beq lbl_801BABDC /* 801BABB4 001B7B14 80 7A 01 60 */ lwz r3, 0x160(r26) /* 801BABB8 001B7B18 80 03 00 10 */ lwz r0, 0x10(r3) /* 801BABBC 001B7B1C 28 00 00 00 */ cmplwi r0, 0 /* 801BABC0 001B7B20 41 82 00 1C */ beq lbl_801BABDC /* 801BABC4 001B7B24 38 7A 01 60 */ addi r3, r26, 0x160 /* 801BABC8 001B7B28 48 18 62 45 */ bl GetObj__6CTokenFv /* 801BABCC 001B7B2C 80 03 00 04 */ lwz r0, 4(r3) /* 801BABD0 001B7B30 38 60 00 01 */ li r3, 1 /* 801BABD4 001B7B34 90 1A 01 68 */ stw r0, 0x168(r26) /* 801BABD8 001B7B38 48 00 00 08 */ b lbl_801BABE0 lbl_801BABDC: /* 801BABDC 001B7B3C 38 60 00 00 */ li r3, 0 lbl_801BABE0: /* 801BABE0 001B7B40 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801BABE4 001B7B44 40 82 00 08 */ bne lbl_801BABEC /* 801BABE8 001B7B48 3B A0 00 00 */ li r29, 0 lbl_801BABEC: /* 801BABEC 001B7B4C 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 801BABF0 001B7B50 41 82 00 60 */ beq lbl_801BAC50 /* 801BABF4 001B7B54 80 1A 02 10 */ lwz r0, 0x210(r26) /* 801BABF8 001B7B58 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e /* 801BABFC 001B7B5C 2C 00 00 02 */ cmpwi r0, 2 /* 801BAC00 001B7B60 41 82 00 1C */ beq lbl_801BAC1C /* 801BAC04 001B7B64 FC 20 F8 90 */ fmr f1, f31 /* 801BAC08 001B7B68 7F 43 D3 78 */ mr r3, r26 /* 801BAC0C 001B7B6C 48 00 1F 3D */ bl LoadMuzzleFx__10CGunWeaponFf /* 801BAC10 001B7B70 80 1A 02 10 */ lwz r0, 0x210(r26) /* 801BAC14 001B7B74 60 00 00 02 */ ori r0, r0, 2 /* 801BAC18 001B7B78 90 1A 02 10 */ stw r0, 0x210(r26) lbl_801BAC1C: /* 801BAC1C 001B7B7C 80 1A 02 10 */ lwz r0, 0x210(r26) /* 801BAC20 001B7B80 60 00 00 10 */ ori r0, r0, 0x10 /* 801BAC24 001B7B84 90 1A 02 10 */ stw r0, 0x210(r26) /* 801BAC28 001B7B88 80 1A 02 10 */ lwz r0, 0x210(r26) /* 801BAC2C 001B7B8C 54 00 07 7A */ rlwinm r0, r0, 0, 0x1d, 0x1d /* 801BAC30 001B7B90 2C 00 00 04 */ cmpwi r0, 4 /* 801BAC34 001B7B94 41 82 00 1C */ beq lbl_801BAC50 /* 801BAC38 001B7B98 7F 43 D3 78 */ mr r3, r26 /* 801BAC3C 001B7B9C 7F 64 DB 78 */ mr r4, r27 /* 801BAC40 001B7BA0 48 00 1B 99 */ bl LoadProjectileData__10CGunWeaponFR13CStateManager /* 801BAC44 001B7BA4 80 1A 02 10 */ lwz r0, 0x210(r26) /* 801BAC48 001B7BA8 60 00 00 04 */ ori r0, r0, 4 /* 801BAC4C 001B7BAC 90 1A 02 10 */ stw r0, 0x210(r26) lbl_801BAC50: /* 801BAC50 001B7BB0 CB E1 00 28 */ lfd f31, 0x28(r1) /* 801BAC54 001B7BB4 BB 41 00 10 */ lmw r26, 0x10(r1) /* 801BAC58 001B7BB8 80 01 00 34 */ lwz r0, 0x34(r1) /* 801BAC5C 001B7BBC 7C 08 03 A6 */ mtlr r0 /* 801BAC60 001B7BC0 38 21 00 30 */ addi r1, r1, 0x30 /* 801BAC64 001B7BC4 4E 80 00 20 */ blr .global FreeResPools__10CGunWeaponFv FreeResPools__10CGunWeaponFv: /* 801BAC68 001B7BC8 94 21 FF A0 */ stwu r1, -0x60(r1) /* 801BAC6C 001B7BCC 7C 08 02 A6 */ mflr r0 /* 801BAC70 001B7BD0 90 01 00 64 */ stw r0, 0x64(r1) /* 801BAC74 001B7BD4 38 00 00 00 */ li r0, 0 /* 801BAC78 001B7BD8 BF 61 00 4C */ stmw r27, 0x4c(r1) /* 801BAC7C 001B7BDC 7C 7F 1B 78 */ mr r31, r3 /* 801BAC80 001B7BE0 90 03 01 68 */ stw r0, 0x168(r3) /* 801BAC84 001B7BE4 38 7F 01 60 */ addi r3, r31, 0x160 /* 801BAC88 001B7BE8 48 18 60 B9 */ bl Unlock__6CTokenFv /* 801BAC8C 001B7BEC 3B BF 01 70 */ addi r29, r31, 0x170 /* 801BAC90 001B7BF0 3B 9F 01 48 */ addi r28, r31, 0x148 /* 801BAC94 001B7BF4 3B 60 00 00 */ li r27, 0 /* 801BAC98 001B7BF8 3B C0 00 00 */ li r30, 0 lbl_801BAC9C: /* 801BAC9C 001B7BFC 93 DD 00 08 */ stw r30, 8(r29) /* 801BACA0 001B7C00 7F A3 EB 78 */ mr r3, r29 /* 801BACA4 001B7C04 48 18 60 9D */ bl Unlock__6CTokenFv /* 801BACA8 001B7C08 93 DC 00 08 */ stw r30, 8(r28) /* 801BACAC 001B7C0C 7F 83 E3 78 */ mr r3, r28 /* 801BACB0 001B7C10 48 18 60 91 */ bl Unlock__6CTokenFv /* 801BACB4 001B7C14 3B 7B 00 01 */ addi r27, r27, 1 /* 801BACB8 001B7C18 3B 9C 00 0C */ addi r28, r28, 0xc /* 801BACBC 001B7C1C 2C 1B 00 02 */ cmpwi r27, 2 /* 801BACC0 001B7C20 3B BD 00 0C */ addi r29, r29, 0xc /* 801BACC4 001B7C24 41 80 FF D8 */ blt lbl_801BAC9C /* 801BACC8 001B7C28 3B 9F 01 8C */ addi r28, r31, 0x18c /* 801BACCC 001B7C2C 3B 60 00 00 */ li r27, 0 /* 801BACD0 001B7C30 3B C0 00 00 */ li r30, 0 lbl_801BACD4: /* 801BACD4 001B7C34 93 DC 00 08 */ stw r30, 8(r28) /* 801BACD8 001B7C38 7F 83 E3 78 */ mr r3, r28 /* 801BACDC 001B7C3C 48 18 60 65 */ bl Unlock__6CTokenFv /* 801BACE0 001B7C40 3B 7B 00 01 */ addi r27, r27, 1 /* 801BACE4 001B7C44 3B 9C 00 0C */ addi r28, r28, 0xc /* 801BACE8 001B7C48 2C 1B 00 02 */ cmpwi r27, 2 /* 801BACEC 001B7C4C 41 80 FF E8 */ blt lbl_801BACD4 /* 801BACF0 001B7C50 38 00 00 00 */ li r0, 0 /* 801BACF4 001B7C54 38 7F 01 0C */ addi r3, r31, 0x10c /* 801BACF8 001B7C58 90 01 00 1C */ stw r0, 0x1c(r1) /* 801BACFC 001B7C5C 38 81 00 18 */ addi r4, r1, 0x18 /* 801BAD00 001B7C60 90 01 00 20 */ stw r0, 0x20(r1) /* 801BAD04 001B7C64 90 01 00 24 */ stw r0, 0x24(r1) /* 801BAD08 001B7C68 4B E4 BA FD */ bl "__as__Q24rstl42vector<6CToken,Q24rstl17rmemory_allocator>FRCQ24rstl42vector<6CToken,Q24rstl17rmemory_allocator>" /* 801BAD0C 001B7C6C 80 01 00 1C */ lwz r0, 0x1c(r1) /* 801BAD10 001B7C70 83 81 00 24 */ lwz r28, 0x24(r1) /* 801BAD14 001B7C74 54 00 18 38 */ slwi r0, r0, 3 /* 801BAD18 001B7C78 7F DC 02 14 */ add r30, r28, r0 /* 801BAD1C 001B7C7C 93 81 00 0C */ stw r28, 0xc(r1) /* 801BAD20 001B7C80 93 C1 00 14 */ stw r30, 0x14(r1) /* 801BAD24 001B7C84 93 C1 00 10 */ stw r30, 0x10(r1) /* 801BAD28 001B7C88 93 81 00 08 */ stw r28, 8(r1) /* 801BAD2C 001B7C8C 48 00 00 14 */ b lbl_801BAD40 lbl_801BAD30: /* 801BAD30 001B7C90 7F 83 E3 78 */ mr r3, r28 /* 801BAD34 001B7C94 38 80 FF FF */ li r4, -1 /* 801BAD38 001B7C98 48 18 61 09 */ bl __dt__6CTokenFv /* 801BAD3C 001B7C9C 3B 9C 00 08 */ addi r28, r28, 8 lbl_801BAD40: /* 801BAD40 001B7CA0 7C 1C F0 40 */ cmplw r28, r30 /* 801BAD44 001B7CA4 40 82 FF EC */ bne lbl_801BAD30 /* 801BAD48 001B7CA8 80 61 00 24 */ lwz r3, 0x24(r1) /* 801BAD4C 001B7CAC 28 03 00 00 */ cmplwi r3, 0 /* 801BAD50 001B7CB0 41 82 00 08 */ beq lbl_801BAD58 /* 801BAD54 001B7CB4 48 15 AB DD */ bl Free__7CMemoryFPCv lbl_801BAD58: /* 801BAD58 001B7CB8 38 7F 01 A4 */ addi r3, r31, 0x1a4 /* 801BAD5C 001B7CBC 38 01 00 28 */ addi r0, r1, 0x28 /* 801BAD60 001B7CC0 3B C0 00 00 */ li r30, 0 /* 801BAD64 001B7CC4 7C 03 00 40 */ cmplw r3, r0 /* 801BAD68 001B7CC8 93 C1 00 28 */ stw r30, 0x28(r1) /* 801BAD6C 001B7CCC 41 82 00 A8 */ beq lbl_801BAE14 /* 801BAD70 001B7CD0 3B BF 01 A8 */ addi r29, r31, 0x1a8 /* 801BAD74 001B7CD4 7F BC EB 78 */ mr r28, r29 /* 801BAD78 001B7CD8 48 00 00 40 */ b lbl_801BADB8 lbl_801BAD7C: /* 801BAD7C 001B7CDC 28 1C 00 00 */ cmplwi r28, 0 /* 801BAD80 001B7CE0 41 82 00 30 */ beq lbl_801BADB0 /* 801BAD84 001B7CE4 88 1C 00 00 */ lbz r0, 0(r28) /* 801BAD88 001B7CE8 28 00 00 00 */ cmplwi r0, 0 /* 801BAD8C 001B7CEC 41 82 00 24 */ beq lbl_801BADB0 /* 801BAD90 001B7CF0 80 7C 00 04 */ lwz r3, 4(r28) /* 801BAD94 001B7CF4 28 03 00 00 */ cmplwi r3, 0 /* 801BAD98 001B7CF8 41 82 00 18 */ beq lbl_801BADB0 /* 801BAD9C 001B7CFC 81 83 00 00 */ lwz r12, 0(r3) /* 801BADA0 001B7D00 38 80 00 01 */ li r4, 1 /* 801BADA4 001B7D04 81 8C 00 08 */ lwz r12, 8(r12) /* 801BADA8 001B7D08 7D 89 03 A6 */ mtctr r12 /* 801BADAC 001B7D0C 4E 80 04 21 */ bctrl lbl_801BADB0: /* 801BADB0 001B7D10 3B 9C 00 08 */ addi r28, r28, 8 /* 801BADB4 001B7D14 3B DE 00 01 */ addi r30, r30, 1 lbl_801BADB8: /* 801BADB8 001B7D18 80 1F 01 A4 */ lwz r0, 0x1a4(r31) /* 801BADBC 001B7D1C 7C 1E 00 00 */ cmpw r30, r0 /* 801BADC0 001B7D20 41 80 FF BC */ blt lbl_801BAD7C /* 801BADC4 001B7D24 38 60 00 00 */ li r3, 0 /* 801BADC8 001B7D28 38 A1 00 2C */ addi r5, r1, 0x2c /* 801BADCC 001B7D2C 90 7F 01 A4 */ stw r3, 0x1a4(r31) /* 801BADD0 001B7D30 80 01 00 28 */ lwz r0, 0x28(r1) /* 801BADD4 001B7D34 54 00 18 38 */ slwi r0, r0, 3 /* 801BADD8 001B7D38 7C 85 02 14 */ add r4, r5, r0 /* 801BADDC 001B7D3C 48 00 00 28 */ b lbl_801BAE04 lbl_801BADE0: /* 801BADE0 001B7D40 28 1D 00 00 */ cmplwi r29, 0 /* 801BADE4 001B7D44 41 82 00 18 */ beq lbl_801BADFC /* 801BADE8 001B7D48 88 05 00 00 */ lbz r0, 0(r5) /* 801BADEC 001B7D4C 98 1D 00 00 */ stb r0, 0(r29) /* 801BADF0 001B7D50 80 05 00 04 */ lwz r0, 4(r5) /* 801BADF4 001B7D54 90 1D 00 04 */ stw r0, 4(r29) /* 801BADF8 001B7D58 98 65 00 00 */ stb r3, 0(r5) lbl_801BADFC: /* 801BADFC 001B7D5C 3B BD 00 08 */ addi r29, r29, 8 /* 801BAE00 001B7D60 38 A5 00 08 */ addi r5, r5, 8 lbl_801BAE04: /* 801BAE04 001B7D64 7C 05 20 40 */ cmplw r5, r4 /* 801BAE08 001B7D68 40 82 FF D8 */ bne lbl_801BADE0 /* 801BAE0C 001B7D6C 80 01 00 28 */ lwz r0, 0x28(r1) /* 801BAE10 001B7D70 90 1F 01 A4 */ stw r0, 0x1a4(r31) lbl_801BAE14: /* 801BAE14 001B7D74 3B 81 00 2C */ addi r28, r1, 0x2c /* 801BAE18 001B7D78 3B C0 00 00 */ li r30, 0 /* 801BAE1C 001B7D7C 48 00 00 40 */ b lbl_801BAE5C lbl_801BAE20: /* 801BAE20 001B7D80 28 1C 00 00 */ cmplwi r28, 0 /* 801BAE24 001B7D84 41 82 00 30 */ beq lbl_801BAE54 /* 801BAE28 001B7D88 88 1C 00 00 */ lbz r0, 0(r28) /* 801BAE2C 001B7D8C 28 00 00 00 */ cmplwi r0, 0 /* 801BAE30 001B7D90 41 82 00 24 */ beq lbl_801BAE54 /* 801BAE34 001B7D94 80 7C 00 04 */ lwz r3, 4(r28) /* 801BAE38 001B7D98 28 03 00 00 */ cmplwi r3, 0 /* 801BAE3C 001B7D9C 41 82 00 18 */ beq lbl_801BAE54 /* 801BAE40 001B7DA0 81 83 00 00 */ lwz r12, 0(r3) /* 801BAE44 001B7DA4 38 80 00 01 */ li r4, 1 /* 801BAE48 001B7DA8 81 8C 00 08 */ lwz r12, 8(r12) /* 801BAE4C 001B7DAC 7D 89 03 A6 */ mtctr r12 /* 801BAE50 001B7DB0 4E 80 04 21 */ bctrl lbl_801BAE54: /* 801BAE54 001B7DB4 3B 9C 00 08 */ addi r28, r28, 8 /* 801BAE58 001B7DB8 3B DE 00 01 */ addi r30, r30, 1 lbl_801BAE5C: /* 801BAE5C 001B7DBC 80 01 00 28 */ lwz r0, 0x28(r1) /* 801BAE60 001B7DC0 7C 1E 00 00 */ cmpw r30, r0 /* 801BAE64 001B7DC4 41 80 FF BC */ blt lbl_801BAE20 /* 801BAE68 001B7DC8 38 00 00 00 */ li r0, 0 /* 801BAE6C 001B7DCC 38 7F 01 D0 */ addi r3, r31, 0x1d0 /* 801BAE70 001B7DD0 90 01 00 28 */ stw r0, 0x28(r1) /* 801BAE74 001B7DD4 48 00 00 19 */ bl Clear__13CVelocityInfoFv /* 801BAE78 001B7DD8 BB 61 00 4C */ lmw r27, 0x4c(r1) /* 801BAE7C 001B7DDC 80 01 00 64 */ lwz r0, 0x64(r1) /* 801BAE80 001B7DE0 7C 08 03 A6 */ mtlr r0 /* 801BAE84 001B7DE4 38 21 00 60 */ addi r1, r1, 0x60 /* 801BAE88 001B7DE8 4E 80 00 20 */ blr .global Clear__13CVelocityInfoFv Clear__13CVelocityInfoFv: /* 801BAE8C 001B7DEC 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801BAE90 001B7DF0 38 80 00 00 */ li r4, 0 /* 801BAE94 001B7DF4 38 01 00 1C */ addi r0, r1, 0x1c /* 801BAE98 001B7DF8 90 81 00 1C */ stw r4, 0x1c(r1) /* 801BAE9C 001B7DFC 7C 03 00 40 */ cmplw r3, r0 /* 801BAEA0 001B7E00 41 82 00 A4 */ beq lbl_801BAF44 /* 801BAEA4 001B7E04 80 C3 00 00 */ lwz r6, 0(r3) /* 801BAEA8 001B7E08 2C 06 00 00 */ cmpwi r6, 0 /* 801BAEAC 001B7E0C 40 81 00 40 */ ble lbl_801BAEEC /* 801BAEB0 001B7E10 2C 06 00 08 */ cmpwi r6, 8 /* 801BAEB4 001B7E14 38 A6 FF F8 */ addi r5, r6, -8 /* 801BAEB8 001B7E18 40 81 00 20 */ ble lbl_801BAED8 /* 801BAEBC 001B7E1C 38 05 00 07 */ addi r0, r5, 7 /* 801BAEC0 001B7E20 54 00 E8 FE */ srwi r0, r0, 3 /* 801BAEC4 001B7E24 7C 09 03 A6 */ mtctr r0 /* 801BAEC8 001B7E28 2C 05 00 00 */ cmpwi r5, 0 /* 801BAECC 001B7E2C 40 81 00 0C */ ble lbl_801BAED8 lbl_801BAED0: /* 801BAED0 001B7E30 38 84 00 08 */ addi r4, r4, 8 /* 801BAED4 001B7E34 42 00 FF FC */ bdnz lbl_801BAED0 lbl_801BAED8: /* 801BAED8 001B7E38 7C 04 30 50 */ subf r0, r4, r6 /* 801BAEDC 001B7E3C 7C 09 03 A6 */ mtctr r0 /* 801BAEE0 001B7E40 7C 04 30 00 */ cmpw r4, r6 /* 801BAEE4 001B7E44 40 80 00 08 */ bge lbl_801BAEEC lbl_801BAEE8: /* 801BAEE8 001B7E48 42 00 00 00 */ bdnz lbl_801BAEE8 lbl_801BAEEC: /* 801BAEEC 001B7E4C 38 00 00 00 */ li r0, 0 /* 801BAEF0 001B7E50 38 A1 00 20 */ addi r5, r1, 0x20 /* 801BAEF4 001B7E54 90 03 00 00 */ stw r0, 0(r3) /* 801BAEF8 001B7E58 38 83 00 04 */ addi r4, r3, 4 /* 801BAEFC 001B7E5C 80 01 00 1C */ lwz r0, 0x1c(r1) /* 801BAF00 001B7E60 1C 00 00 0C */ mulli r0, r0, 0xc /* 801BAF04 001B7E64 7C 05 02 14 */ add r0, r5, r0 /* 801BAF08 001B7E68 48 00 00 2C */ b lbl_801BAF34 lbl_801BAF0C: /* 801BAF0C 001B7E6C 28 04 00 00 */ cmplwi r4, 0 /* 801BAF10 001B7E70 41 82 00 1C */ beq lbl_801BAF2C /* 801BAF14 001B7E74 C0 05 00 00 */ lfs f0, 0(r5) /* 801BAF18 001B7E78 D0 04 00 00 */ stfs f0, 0(r4) /* 801BAF1C 001B7E7C C0 05 00 04 */ lfs f0, 4(r5) /* 801BAF20 001B7E80 D0 04 00 04 */ stfs f0, 4(r4) /* 801BAF24 001B7E84 C0 05 00 08 */ lfs f0, 8(r5) /* 801BAF28 001B7E88 D0 04 00 08 */ stfs f0, 8(r4) lbl_801BAF2C: /* 801BAF2C 001B7E8C 38 84 00 0C */ addi r4, r4, 0xc /* 801BAF30 001B7E90 38 A5 00 0C */ addi r5, r5, 0xc lbl_801BAF34: /* 801BAF34 001B7E94 7C 05 00 40 */ cmplw r5, r0 /* 801BAF38 001B7E98 40 82 FF D4 */ bne lbl_801BAF0C /* 801BAF3C 001B7E9C 80 01 00 1C */ lwz r0, 0x1c(r1) /* 801BAF40 001B7EA0 90 03 00 00 */ stw r0, 0(r3) lbl_801BAF44: /* 801BAF44 001B7EA4 80 C1 00 1C */ lwz r6, 0x1c(r1) /* 801BAF48 001B7EA8 38 80 00 00 */ li r4, 0 /* 801BAF4C 001B7EAC 2C 06 00 00 */ cmpwi r6, 0 /* 801BAF50 001B7EB0 40 81 00 40 */ ble lbl_801BAF90 /* 801BAF54 001B7EB4 2C 06 00 08 */ cmpwi r6, 8 /* 801BAF58 001B7EB8 38 A6 FF F8 */ addi r5, r6, -8 /* 801BAF5C 001B7EBC 40 81 00 20 */ ble lbl_801BAF7C /* 801BAF60 001B7EC0 38 05 00 07 */ addi r0, r5, 7 /* 801BAF64 001B7EC4 54 00 E8 FE */ srwi r0, r0, 3 /* 801BAF68 001B7EC8 7C 09 03 A6 */ mtctr r0 /* 801BAF6C 001B7ECC 2C 05 00 00 */ cmpwi r5, 0 /* 801BAF70 001B7ED0 40 81 00 0C */ ble lbl_801BAF7C lbl_801BAF74: /* 801BAF74 001B7ED4 38 84 00 08 */ addi r4, r4, 8 /* 801BAF78 001B7ED8 42 00 FF FC */ bdnz lbl_801BAF74 lbl_801BAF7C: /* 801BAF7C 001B7EDC 7C 04 30 50 */ subf r0, r4, r6 /* 801BAF80 001B7EE0 7C 09 03 A6 */ mtctr r0 /* 801BAF84 001B7EE4 7C 04 30 00 */ cmpw r4, r6 /* 801BAF88 001B7EE8 40 80 00 08 */ bge lbl_801BAF90 lbl_801BAF8C: /* 801BAF8C 001B7EEC 42 00 00 00 */ bdnz lbl_801BAF8C lbl_801BAF90: /* 801BAF90 001B7EF0 38 83 00 1C */ addi r4, r3, 0x1c /* 801BAF94 001B7EF4 38 01 00 08 */ addi r0, r1, 8 /* 801BAF98 001B7EF8 38 A0 00 00 */ li r5, 0 /* 801BAF9C 001B7EFC 7C 04 00 40 */ cmplw r4, r0 /* 801BAFA0 001B7F00 90 A1 00 1C */ stw r5, 0x1c(r1) /* 801BAFA4 001B7F04 90 A1 00 08 */ stw r5, 8(r1) /* 801BAFA8 001B7F08 41 82 00 98 */ beq lbl_801BB040 /* 801BAFAC 001B7F0C 80 C3 00 1C */ lwz r6, 0x1c(r3) /* 801BAFB0 001B7F10 38 E3 00 20 */ addi r7, r3, 0x20 /* 801BAFB4 001B7F14 2C 06 00 00 */ cmpwi r6, 0 /* 801BAFB8 001B7F18 40 81 00 40 */ ble lbl_801BAFF8 /* 801BAFBC 001B7F1C 2C 06 00 08 */ cmpwi r6, 8 /* 801BAFC0 001B7F20 38 86 FF F8 */ addi r4, r6, -8 /* 801BAFC4 001B7F24 40 81 00 20 */ ble lbl_801BAFE4 /* 801BAFC8 001B7F28 38 04 00 07 */ addi r0, r4, 7 /* 801BAFCC 001B7F2C 54 00 E8 FE */ srwi r0, r0, 3 /* 801BAFD0 001B7F30 7C 09 03 A6 */ mtctr r0 /* 801BAFD4 001B7F34 2C 04 00 00 */ cmpwi r4, 0 /* 801BAFD8 001B7F38 40 81 00 0C */ ble lbl_801BAFE4 lbl_801BAFDC: /* 801BAFDC 001B7F3C 38 A5 00 08 */ addi r5, r5, 8 /* 801BAFE0 001B7F40 42 00 FF FC */ bdnz lbl_801BAFDC lbl_801BAFE4: /* 801BAFE4 001B7F44 7C 05 30 50 */ subf r0, r5, r6 /* 801BAFE8 001B7F48 7C 09 03 A6 */ mtctr r0 /* 801BAFEC 001B7F4C 7C 05 30 00 */ cmpw r5, r6 /* 801BAFF0 001B7F50 40 80 00 08 */ bge lbl_801BAFF8 lbl_801BAFF4: /* 801BAFF4 001B7F54 42 00 00 00 */ bdnz lbl_801BAFF4 lbl_801BAFF8: /* 801BAFF8 001B7F58 38 00 00 00 */ li r0, 0 /* 801BAFFC 001B7F5C 38 A1 00 0C */ addi r5, r1, 0xc /* 801BB000 001B7F60 90 03 00 1C */ stw r0, 0x1c(r3) /* 801BB004 001B7F64 80 01 00 08 */ lwz r0, 8(r1) /* 801BB008 001B7F68 7C 85 02 14 */ add r4, r5, r0 /* 801BB00C 001B7F6C 7C 05 20 50 */ subf r0, r5, r4 /* 801BB010 001B7F70 7C 09 03 A6 */ mtctr r0 /* 801BB014 001B7F74 7C 05 20 40 */ cmplw r5, r4 /* 801BB018 001B7F78 41 82 00 20 */ beq lbl_801BB038 lbl_801BB01C: /* 801BB01C 001B7F7C 28 07 00 00 */ cmplwi r7, 0 /* 801BB020 001B7F80 41 82 00 0C */ beq lbl_801BB02C /* 801BB024 001B7F84 88 05 00 00 */ lbz r0, 0(r5) /* 801BB028 001B7F88 98 07 00 00 */ stb r0, 0(r7) lbl_801BB02C: /* 801BB02C 001B7F8C 38 E7 00 01 */ addi r7, r7, 1 /* 801BB030 001B7F90 38 A5 00 01 */ addi r5, r5, 1 /* 801BB034 001B7F94 42 00 FF E8 */ bdnz lbl_801BB01C lbl_801BB038: /* 801BB038 001B7F98 80 01 00 08 */ lwz r0, 8(r1) /* 801BB03C 001B7F9C 90 03 00 1C */ stw r0, 0x1c(r3) lbl_801BB040: /* 801BB040 001B7FA0 80 C1 00 08 */ lwz r6, 8(r1) /* 801BB044 001B7FA4 38 80 00 00 */ li r4, 0 /* 801BB048 001B7FA8 2C 06 00 00 */ cmpwi r6, 0 /* 801BB04C 001B7FAC 40 81 00 40 */ ble lbl_801BB08C /* 801BB050 001B7FB0 2C 06 00 08 */ cmpwi r6, 8 /* 801BB054 001B7FB4 38 A6 FF F8 */ addi r5, r6, -8 /* 801BB058 001B7FB8 40 81 00 20 */ ble lbl_801BB078 /* 801BB05C 001B7FBC 38 05 00 07 */ addi r0, r5, 7 /* 801BB060 001B7FC0 54 00 E8 FE */ srwi r0, r0, 3 /* 801BB064 001B7FC4 7C 09 03 A6 */ mtctr r0 /* 801BB068 001B7FC8 2C 05 00 00 */ cmpwi r5, 0 /* 801BB06C 001B7FCC 40 81 00 0C */ ble lbl_801BB078 lbl_801BB070: /* 801BB070 001B7FD0 38 84 00 08 */ addi r4, r4, 8 /* 801BB074 001B7FD4 42 00 FF FC */ bdnz lbl_801BB070 lbl_801BB078: /* 801BB078 001B7FD8 7C 04 30 50 */ subf r0, r4, r6 /* 801BB07C 001B7FDC 7C 09 03 A6 */ mtctr r0 /* 801BB080 001B7FE0 7C 04 30 00 */ cmpw r4, r6 /* 801BB084 001B7FE4 40 80 00 08 */ bge lbl_801BB08C lbl_801BB088: /* 801BB088 001B7FE8 42 00 00 00 */ bdnz lbl_801BB088 lbl_801BB08C: /* 801BB08C 001B7FEC 38 83 00 24 */ addi r4, r3, 0x24 /* 801BB090 001B7FF0 38 01 00 10 */ addi r0, r1, 0x10 /* 801BB094 001B7FF4 38 A0 00 00 */ li r5, 0 /* 801BB098 001B7FF8 7C 04 00 40 */ cmplw r4, r0 /* 801BB09C 001B7FFC 90 A1 00 08 */ stw r5, 8(r1) /* 801BB0A0 001B8000 90 A1 00 10 */ stw r5, 0x10(r1) /* 801BB0A4 001B8004 41 82 00 94 */ beq lbl_801BB138 /* 801BB0A8 001B8008 80 C3 00 24 */ lwz r6, 0x24(r3) /* 801BB0AC 001B800C 38 E3 00 28 */ addi r7, r3, 0x28 /* 801BB0B0 001B8010 2C 06 00 00 */ cmpwi r6, 0 /* 801BB0B4 001B8014 40 81 00 40 */ ble lbl_801BB0F4 /* 801BB0B8 001B8018 2C 06 00 08 */ cmpwi r6, 8 /* 801BB0BC 001B801C 38 86 FF F8 */ addi r4, r6, -8 /* 801BB0C0 001B8020 40 81 00 20 */ ble lbl_801BB0E0 /* 801BB0C4 001B8024 38 04 00 07 */ addi r0, r4, 7 /* 801BB0C8 001B8028 54 00 E8 FE */ srwi r0, r0, 3 /* 801BB0CC 001B802C 7C 09 03 A6 */ mtctr r0 /* 801BB0D0 001B8030 2C 04 00 00 */ cmpwi r4, 0 /* 801BB0D4 001B8034 40 81 00 0C */ ble lbl_801BB0E0 lbl_801BB0D8: /* 801BB0D8 001B8038 38 A5 00 08 */ addi r5, r5, 8 /* 801BB0DC 001B803C 42 00 FF FC */ bdnz lbl_801BB0D8 lbl_801BB0E0: /* 801BB0E0 001B8040 7C 05 30 50 */ subf r0, r5, r6 /* 801BB0E4 001B8044 7C 09 03 A6 */ mtctr r0 /* 801BB0E8 001B8048 7C 05 30 00 */ cmpw r5, r6 /* 801BB0EC 001B804C 40 80 00 08 */ bge lbl_801BB0F4 lbl_801BB0F0: /* 801BB0F0 001B8050 42 00 00 00 */ bdnz lbl_801BB0F0 lbl_801BB0F4: /* 801BB0F4 001B8054 38 00 00 00 */ li r0, 0 /* 801BB0F8 001B8058 38 81 00 14 */ addi r4, r1, 0x14 /* 801BB0FC 001B805C 90 03 00 24 */ stw r0, 0x24(r3) /* 801BB100 001B8060 80 01 00 10 */ lwz r0, 0x10(r1) /* 801BB104 001B8064 54 00 10 3A */ slwi r0, r0, 2 /* 801BB108 001B8068 7C 04 02 14 */ add r0, r4, r0 /* 801BB10C 001B806C 48 00 00 1C */ b lbl_801BB128 lbl_801BB110: /* 801BB110 001B8070 28 07 00 00 */ cmplwi r7, 0 /* 801BB114 001B8074 41 82 00 0C */ beq lbl_801BB120 /* 801BB118 001B8078 C0 04 00 00 */ lfs f0, 0(r4) /* 801BB11C 001B807C D0 07 00 00 */ stfs f0, 0(r7) lbl_801BB120: /* 801BB120 001B8080 38 E7 00 04 */ addi r7, r7, 4 /* 801BB124 001B8084 38 84 00 04 */ addi r4, r4, 4 lbl_801BB128: /* 801BB128 001B8088 7C 04 00 40 */ cmplw r4, r0 /* 801BB12C 001B808C 40 82 FF E4 */ bne lbl_801BB110 /* 801BB130 001B8090 80 01 00 10 */ lwz r0, 0x10(r1) /* 801BB134 001B8094 90 03 00 24 */ stw r0, 0x24(r3) lbl_801BB138: /* 801BB138 001B8098 80 A1 00 10 */ lwz r5, 0x10(r1) /* 801BB13C 001B809C 38 60 00 00 */ li r3, 0 /* 801BB140 001B80A0 2C 05 00 00 */ cmpwi r5, 0 /* 801BB144 001B80A4 40 81 00 40 */ ble lbl_801BB184 /* 801BB148 001B80A8 2C 05 00 08 */ cmpwi r5, 8 /* 801BB14C 001B80AC 38 85 FF F8 */ addi r4, r5, -8 /* 801BB150 001B80B0 40 81 00 20 */ ble lbl_801BB170 /* 801BB154 001B80B4 38 04 00 07 */ addi r0, r4, 7 /* 801BB158 001B80B8 54 00 E8 FE */ srwi r0, r0, 3 /* 801BB15C 001B80BC 7C 09 03 A6 */ mtctr r0 /* 801BB160 001B80C0 2C 04 00 00 */ cmpwi r4, 0 /* 801BB164 001B80C4 40 81 00 0C */ ble lbl_801BB170 lbl_801BB168: /* 801BB168 001B80C8 38 63 00 08 */ addi r3, r3, 8 /* 801BB16C 001B80CC 42 00 FF FC */ bdnz lbl_801BB168 lbl_801BB170: /* 801BB170 001B80D0 7C 03 28 50 */ subf r0, r3, r5 /* 801BB174 001B80D4 7C 09 03 A6 */ mtctr r0 /* 801BB178 001B80D8 7C 03 28 00 */ cmpw r3, r5 /* 801BB17C 001B80DC 40 80 00 08 */ bge lbl_801BB184 lbl_801BB180: /* 801BB180 001B80E0 42 00 00 00 */ bdnz lbl_801BB180 lbl_801BB184: /* 801BB184 001B80E4 38 00 00 00 */ li r0, 0 /* 801BB188 001B80E8 90 01 00 10 */ stw r0, 0x10(r1) /* 801BB18C 001B80EC 38 21 00 40 */ addi r1, r1, 0x40 /* 801BB190 001B80F0 4E 80 00 20 */ blr .global AllocResPools__10CGunWeaponFQ212CPlayerState7EBeamId AllocResPools__10CGunWeaponFQ212CPlayerState7EBeamId: /* 801BB194 001B80F4 94 21 FF 80 */ stwu r1, -0x80(r1) /* 801BB198 001B80F8 7C 08 02 A6 */ mflr r0 /* 801BB19C 001B80FC 90 01 00 84 */ stw r0, 0x84(r1) /* 801BB1A0 001B8100 BE C1 00 58 */ stmw r22, 0x58(r1) /* 801BB1A4 001B8104 7C 78 1B 78 */ mr r24, r3 /* 801BB1A8 001B8108 7C 96 23 78 */ mr r22, r4 /* 801BB1AC 001B810C 80 6D A1 48 */ lwz r3, gpTweakGunRes@sda21(r13) /* 801BB1B0 001B8110 4B F0 07 A9 */ bl GetWeaponResourcePair__12CTweakGunResCFi /* 801BB1B4 001B8114 3C A0 80 3D */ lis r5, skMuzzleNames@ha /* 801BB1B8 001B8118 3C 80 57 50 */ lis r4, 0x57505343@ha /* 801BB1BC 001B811C 56 DA 18 38 */ slwi r26, r22, 3 /* 801BB1C0 001B8120 7C 7F 1B 78 */ mr r31, r3 /* 801BB1C4 001B8124 38 05 17 50 */ addi r0, r5, skMuzzleNames@l /* 801BB1C8 001B8128 3B 98 01 70 */ addi r28, r24, 0x170 /* 801BB1CC 001B812C 7F C0 D2 14 */ add r30, r0, r26 /* 801BB1D0 001B8130 3B 78 01 48 */ addi r27, r24, 0x148 /* 801BB1D4 001B8134 3A E4 53 43 */ addi r23, r4, 0x57505343@l /* 801BB1D8 001B8138 3B 20 00 00 */ li r25, 0 /* 801BB1DC 001B813C 3B A0 00 00 */ li r29, 0 lbl_801BB1E0: /* 801BB1E0 001B8140 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801BB1E4 001B8144 38 61 00 20 */ addi r3, r1, 0x20 /* 801BB1E8 001B8148 80 BE 00 00 */ lwz r5, 0(r30) /* 801BB1EC 001B814C 81 84 00 00 */ lwz r12, 0(r4) /* 801BB1F0 001B8150 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801BB1F4 001B8154 7D 89 03 A6 */ mtctr r12 /* 801BB1F8 001B8158 4E 80 04 21 */ bctrl /* 801BB1FC 001B815C 38 61 00 40 */ addi r3, r1, 0x40 /* 801BB200 001B8160 38 81 00 20 */ addi r4, r1, 0x20 /* 801BB204 001B8164 48 18 5C A5 */ bl __ct__6CTokenFRC6CToken /* 801BB208 001B8168 38 00 00 00 */ li r0, 0 /* 801BB20C 001B816C 90 01 00 48 */ stw r0, 0x48(r1) /* 801BB210 001B8170 80 18 01 6C */ lwz r0, 0x16c(r24) /* 801BB214 001B8174 1C 00 00 0C */ mulli r0, r0, 0xc /* 801BB218 001B8178 7E DC 02 15 */ add. r22, r28, r0 /* 801BB21C 001B817C 41 82 00 18 */ beq lbl_801BB234 /* 801BB220 001B8180 7E C3 B3 78 */ mr r3, r22 /* 801BB224 001B8184 38 81 00 40 */ addi r4, r1, 0x40 /* 801BB228 001B8188 48 18 5C 81 */ bl __ct__6CTokenFRC6CToken /* 801BB22C 001B818C 80 01 00 48 */ lwz r0, 0x48(r1) /* 801BB230 001B8190 90 16 00 08 */ stw r0, 8(r22) lbl_801BB234: /* 801BB234 001B8194 80 B8 01 6C */ lwz r5, 0x16c(r24) /* 801BB238 001B8198 38 61 00 40 */ addi r3, r1, 0x40 /* 801BB23C 001B819C 38 80 00 00 */ li r4, 0 /* 801BB240 001B81A0 38 05 00 01 */ addi r0, r5, 1 /* 801BB244 001B81A4 90 18 01 6C */ stw r0, 0x16c(r24) /* 801BB248 001B81A8 48 18 5B F9 */ bl __dt__6CTokenFv /* 801BB24C 001B81AC 38 61 00 20 */ addi r3, r1, 0x20 /* 801BB250 001B81B0 38 80 FF FF */ li r4, -1 /* 801BB254 001B81B4 48 18 5B ED */ bl __dt__6CTokenFv /* 801BB258 001B81B8 80 DF 00 0C */ lwz r6, 0xc(r31) /* 801BB25C 001B81BC 38 61 00 10 */ addi r3, r1, 0x10 /* 801BB260 001B81C0 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801BB264 001B81C4 38 A1 00 18 */ addi r5, r1, 0x18 /* 801BB268 001B81C8 7C 06 E8 2E */ lwzx r0, r6, r29 /* 801BB26C 001B81CC 92 E1 00 18 */ stw r23, 0x18(r1) /* 801BB270 001B81D0 90 01 00 1C */ stw r0, 0x1c(r1) /* 801BB274 001B81D4 81 84 00 00 */ lwz r12, 0(r4) /* 801BB278 001B81D8 81 8C 00 0C */ lwz r12, 0xc(r12) /* 801BB27C 001B81DC 7D 89 03 A6 */ mtctr r12 /* 801BB280 001B81E0 4E 80 04 21 */ bctrl /* 801BB284 001B81E4 38 61 00 34 */ addi r3, r1, 0x34 /* 801BB288 001B81E8 38 81 00 10 */ addi r4, r1, 0x10 /* 801BB28C 001B81EC 48 18 5C 1D */ bl __ct__6CTokenFRC6CToken /* 801BB290 001B81F0 38 00 00 00 */ li r0, 0 /* 801BB294 001B81F4 90 01 00 3C */ stw r0, 0x3c(r1) /* 801BB298 001B81F8 80 18 01 44 */ lwz r0, 0x144(r24) /* 801BB29C 001B81FC 1C 00 00 0C */ mulli r0, r0, 0xc /* 801BB2A0 001B8200 7E DB 02 15 */ add. r22, r27, r0 /* 801BB2A4 001B8204 41 82 00 18 */ beq lbl_801BB2BC /* 801BB2A8 001B8208 7E C3 B3 78 */ mr r3, r22 /* 801BB2AC 001B820C 38 81 00 34 */ addi r4, r1, 0x34 /* 801BB2B0 001B8210 48 18 5B F9 */ bl __ct__6CTokenFRC6CToken /* 801BB2B4 001B8214 80 01 00 3C */ lwz r0, 0x3c(r1) /* 801BB2B8 001B8218 90 16 00 08 */ stw r0, 8(r22) lbl_801BB2BC: /* 801BB2BC 001B821C 80 B8 01 44 */ lwz r5, 0x144(r24) /* 801BB2C0 001B8220 38 61 00 34 */ addi r3, r1, 0x34 /* 801BB2C4 001B8224 38 80 00 00 */ li r4, 0 /* 801BB2C8 001B8228 38 05 00 01 */ addi r0, r5, 1 /* 801BB2CC 001B822C 90 18 01 44 */ stw r0, 0x144(r24) /* 801BB2D0 001B8230 48 18 5B 71 */ bl __dt__6CTokenFv /* 801BB2D4 001B8234 38 61 00 10 */ addi r3, r1, 0x10 /* 801BB2D8 001B8238 38 80 FF FF */ li r4, -1 /* 801BB2DC 001B823C 48 18 5B 65 */ bl __dt__6CTokenFv /* 801BB2E0 001B8240 3B 39 00 01 */ addi r25, r25, 1 /* 801BB2E4 001B8244 3B BD 00 04 */ addi r29, r29, 4 /* 801BB2E8 001B8248 2C 19 00 02 */ cmpwi r25, 2 /* 801BB2EC 001B824C 3B DE 00 04 */ addi r30, r30, 4 /* 801BB2F0 001B8250 41 80 FE F0 */ blt lbl_801BB1E0 /* 801BB2F4 001B8254 3C 60 80 3D */ lis r3, skFrozenNames@ha /* 801BB2F8 001B8258 3B 38 01 8C */ addi r25, r24, 0x18c /* 801BB2FC 001B825C 38 03 17 78 */ addi r0, r3, skFrozenNames@l /* 801BB300 001B8260 3B 60 00 00 */ li r27, 0 /* 801BB304 001B8264 7E E0 D2 14 */ add r23, r0, r26 lbl_801BB308: /* 801BB308 001B8268 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801BB30C 001B826C 38 61 00 08 */ addi r3, r1, 8 /* 801BB310 001B8270 80 B7 00 00 */ lwz r5, 0(r23) /* 801BB314 001B8274 81 84 00 00 */ lwz r12, 0(r4) /* 801BB318 001B8278 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801BB31C 001B827C 7D 89 03 A6 */ mtctr r12 /* 801BB320 001B8280 4E 80 04 21 */ bctrl /* 801BB324 001B8284 38 61 00 28 */ addi r3, r1, 0x28 /* 801BB328 001B8288 38 81 00 08 */ addi r4, r1, 8 /* 801BB32C 001B828C 48 18 5B 7D */ bl __ct__6CTokenFRC6CToken /* 801BB330 001B8290 38 00 00 00 */ li r0, 0 /* 801BB334 001B8294 90 01 00 30 */ stw r0, 0x30(r1) /* 801BB338 001B8298 80 18 01 88 */ lwz r0, 0x188(r24) /* 801BB33C 001B829C 1C 00 00 0C */ mulli r0, r0, 0xc /* 801BB340 001B82A0 7E D9 02 15 */ add. r22, r25, r0 /* 801BB344 001B82A4 41 82 00 18 */ beq lbl_801BB35C /* 801BB348 001B82A8 7E C3 B3 78 */ mr r3, r22 /* 801BB34C 001B82AC 38 81 00 28 */ addi r4, r1, 0x28 /* 801BB350 001B82B0 48 18 5B 59 */ bl __ct__6CTokenFRC6CToken /* 801BB354 001B82B4 80 01 00 30 */ lwz r0, 0x30(r1) /* 801BB358 001B82B8 90 16 00 08 */ stw r0, 8(r22) lbl_801BB35C: /* 801BB35C 001B82BC 80 B8 01 88 */ lwz r5, 0x188(r24) /* 801BB360 001B82C0 38 61 00 28 */ addi r3, r1, 0x28 /* 801BB364 001B82C4 38 80 00 00 */ li r4, 0 /* 801BB368 001B82C8 38 05 00 01 */ addi r0, r5, 1 /* 801BB36C 001B82CC 90 18 01 88 */ stw r0, 0x188(r24) /* 801BB370 001B82D0 48 18 5A D1 */ bl __dt__6CTokenFv /* 801BB374 001B82D4 38 61 00 08 */ addi r3, r1, 8 /* 801BB378 001B82D8 38 80 FF FF */ li r4, -1 /* 801BB37C 001B82DC 48 18 5A C5 */ bl __dt__6CTokenFv /* 801BB380 001B82E0 3B 7B 00 01 */ addi r27, r27, 1 /* 801BB384 001B82E4 3A F7 00 04 */ addi r23, r23, 4 /* 801BB388 001B82E8 2C 1B 00 02 */ cmpwi r27, 2 /* 801BB38C 001B82EC 41 80 FF 7C */ blt lbl_801BB308 /* 801BB390 001B82F0 BA C1 00 58 */ lmw r22, 0x58(r1) /* 801BB394 001B82F4 80 01 00 84 */ lwz r0, 0x84(r1) /* 801BB398 001B82F8 7C 08 03 A6 */ mtlr r0 /* 801BB39C 001B82FC 38 21 00 80 */ addi r1, r1, 0x80 /* 801BB3A0 001B8300 4E 80 00 20 */ blr .global IsLoaded__10CGunWeaponCFv IsLoaded__10CGunWeaponCFv: /* 801BB3A4 001B8304 88 03 02 18 */ lbz r0, 0x218(r3) /* 801BB3A8 001B8308 54 03 DF FE */ rlwinm r3, r0, 0x1b, 0x1f, 0x1f /* 801BB3AC 001B830C 4E 80 00 20 */ blr .global Unload__10CGunWeaponFR13CStateManager Unload__10CGunWeaponFR13CStateManager: /* 801BB3B0 001B8310 94 21 FF 00 */ stwu r1, -0x100(r1) /* 801BB3B4 001B8314 7C 08 02 A6 */ mflr r0 /* 801BB3B8 001B8318 90 01 01 04 */ stw r0, 0x104(r1) /* 801BB3BC 001B831C 93 E1 00 FC */ stw r31, 0xfc(r1) /* 801BB3C0 001B8320 7C 7F 1B 78 */ mr r31, r3 /* 801BB3C4 001B8324 4B FF F5 51 */ bl UnlockTokens__10CGunWeaponFv /* 801BB3C8 001B8328 38 00 00 00 */ li r0, 0 /* 801BB3CC 001B832C 38 7F 00 10 */ addi r3, r31, 0x10 /* 801BB3D0 001B8330 90 1F 02 10 */ stw r0, 0x210(r31) /* 801BB3D4 001B8334 38 81 00 A8 */ addi r4, r1, 0xa8 /* 801BB3D8 001B8338 90 1F 02 04 */ stw r0, 0x204(r31) /* 801BB3DC 001B833C 98 01 00 F4 */ stb r0, 0xf4(r1) /* 801BB3E0 001B8340 4B F6 29 6D */ bl "__as__Q24rstl29optional_object<10CModelData>FRCQ24rstl29optional_object<10CModelData>" /* 801BB3E4 001B8344 88 01 00 F4 */ lbz r0, 0xf4(r1) /* 801BB3E8 001B8348 28 00 00 00 */ cmplwi r0, 0 /* 801BB3EC 001B834C 41 82 00 10 */ beq lbl_801BB3FC /* 801BB3F0 001B8350 38 61 00 A8 */ addi r3, r1, 0xa8 /* 801BB3F4 001B8354 38 80 FF FF */ li r4, -1 /* 801BB3F8 001B8358 4B F5 B6 55 */ bl __dt__10CModelDataFv lbl_801BB3FC: /* 801BB3FC 001B835C 38 00 00 00 */ li r0, 0 /* 801BB400 001B8360 38 7F 00 60 */ addi r3, r31, 0x60 /* 801BB404 001B8364 98 01 00 F4 */ stb r0, 0xf4(r1) /* 801BB408 001B8368 38 81 00 58 */ addi r4, r1, 0x58 /* 801BB40C 001B836C 98 01 00 A4 */ stb r0, 0xa4(r1) /* 801BB410 001B8370 4B F6 29 3D */ bl "__as__Q24rstl29optional_object<10CModelData>FRCQ24rstl29optional_object<10CModelData>" /* 801BB414 001B8374 88 01 00 A4 */ lbz r0, 0xa4(r1) /* 801BB418 001B8378 28 00 00 00 */ cmplwi r0, 0 /* 801BB41C 001B837C 41 82 00 10 */ beq lbl_801BB42C /* 801BB420 001B8380 38 61 00 58 */ addi r3, r1, 0x58 /* 801BB424 001B8384 38 80 FF FF */ li r4, -1 /* 801BB428 001B8388 4B F5 B6 25 */ bl __dt__10CModelDataFv lbl_801BB42C: /* 801BB42C 001B838C 38 00 00 00 */ li r0, 0 /* 801BB430 001B8390 38 7F 00 B0 */ addi r3, r31, 0xb0 /* 801BB434 001B8394 98 01 00 A4 */ stb r0, 0xa4(r1) /* 801BB438 001B8398 38 81 00 08 */ addi r4, r1, 8 /* 801BB43C 001B839C 98 01 00 54 */ stb r0, 0x54(r1) /* 801BB440 001B83A0 4B F6 29 0D */ bl "__as__Q24rstl29optional_object<10CModelData>FRCQ24rstl29optional_object<10CModelData>" /* 801BB444 001B83A4 88 01 00 54 */ lbz r0, 0x54(r1) /* 801BB448 001B83A8 28 00 00 00 */ cmplwi r0, 0 /* 801BB44C 001B83AC 41 82 00 10 */ beq lbl_801BB45C /* 801BB450 001B83B0 38 61 00 08 */ addi r3, r1, 8 /* 801BB454 001B83B4 38 80 FF FF */ li r4, -1 /* 801BB458 001B83B8 4B F5 B5 F5 */ bl __dt__10CModelDataFv lbl_801BB45C: /* 801BB45C 001B83BC 38 00 00 00 */ li r0, 0 /* 801BB460 001B83C0 38 7F 01 00 */ addi r3, r31, 0x100 /* 801BB464 001B83C4 98 01 00 54 */ stb r0, 0x54(r1) /* 801BB468 001B83C8 38 80 00 00 */ li r4, 0 /* 801BB46C 001B83CC 4B F6 26 69 */ bl "__as__Q24rstl28single_ptr<14CGunController>FRC14CGunController" /* 801BB470 001B83D0 38 00 00 00 */ li r0, 0 /* 801BB474 001B83D4 90 1F 01 BC */ stw r0, 0x1bc(r31) /* 801BB478 001B83D8 80 7F 01 B8 */ lwz r3, 0x1b8(r31) /* 801BB47C 001B83DC 28 03 00 00 */ cmplwi r3, 0 /* 801BB480 001B83E0 41 82 00 18 */ beq lbl_801BB498 /* 801BB484 001B83E4 81 83 00 00 */ lwz r12, 0(r3) /* 801BB488 001B83E8 38 80 00 01 */ li r4, 1 /* 801BB48C 001B83EC 81 8C 00 08 */ lwz r12, 8(r12) /* 801BB490 001B83F0 7D 89 03 A6 */ mtctr r12 /* 801BB494 001B83F4 4E 80 04 21 */ bctrl lbl_801BB498: /* 801BB498 001B83F8 38 00 00 00 */ li r0, 0 /* 801BB49C 001B83FC 7F E3 FB 78 */ mr r3, r31 /* 801BB4A0 001B8400 90 1F 01 B8 */ stw r0, 0x1b8(r31) /* 801BB4A4 001B8404 4B FF F7 C5 */ bl FreeResPools__10CGunWeaponFv /* 801BB4A8 001B8408 38 7F 01 04 */ addi r3, r31, 0x104 /* 801BB4AC 001B840C 48 18 58 95 */ bl Unlock__6CTokenFv /* 801BB4B0 001B8410 88 1F 02 18 */ lbz r0, 0x218(r31) /* 801BB4B4 001B8414 38 60 00 00 */ li r3, 0 /* 801BB4B8 001B8418 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 801BB4BC 001B841C 98 1F 02 18 */ stb r0, 0x218(r31) /* 801BB4C0 001B8420 83 E1 00 FC */ lwz r31, 0xfc(r1) /* 801BB4C4 001B8424 80 01 01 04 */ lwz r0, 0x104(r1) /* 801BB4C8 001B8428 7C 08 03 A6 */ mtlr r0 /* 801BB4CC 001B842C 38 21 01 00 */ addi r1, r1, 0x100 /* 801BB4D0 001B8430 4E 80 00 20 */ blr .global Load__10CGunWeaponFR13CStateManagerb Load__10CGunWeaponFR13CStateManagerb: /* 801BB4D4 001B8434 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801BB4D8 001B8438 7C 08 02 A6 */ mflr r0 /* 801BB4DC 001B843C 90 01 00 24 */ stw r0, 0x24(r1) /* 801BB4E0 001B8440 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801BB4E4 001B8444 93 C1 00 18 */ stw r30, 0x18(r1) /* 801BB4E8 001B8448 93 A1 00 14 */ stw r29, 0x14(r1) /* 801BB4EC 001B844C 7C BD 2B 78 */ mr r29, r5 /* 801BB4F0 001B8450 93 81 00 10 */ stw r28, 0x10(r1) /* 801BB4F4 001B8454 7C 7C 1B 78 */ mr r28, r3 /* 801BB4F8 001B8458 4B FF F4 55 */ bl LockTokens__10CGunWeaponFR13CStateManager /* 801BB4FC 001B845C 88 7C 02 18 */ lbz r3, 0x218(r28) /* 801BB500 001B8460 53 A3 26 F6 */ rlwimi r3, r29, 4, 0x1b, 0x1b /* 801BB504 001B8464 38 00 00 00 */ li r0, 0 /* 801BB508 001B8468 98 7C 02 18 */ stb r3, 0x218(r28) /* 801BB50C 001B846C 90 1C 02 04 */ stw r0, 0x204(r28) /* 801BB510 001B8470 80 7C 01 B8 */ lwz r3, 0x1b8(r28) /* 801BB514 001B8474 28 03 00 00 */ cmplwi r3, 0 /* 801BB518 001B8478 41 82 00 18 */ beq lbl_801BB530 /* 801BB51C 001B847C 81 83 00 00 */ lwz r12, 0(r3) /* 801BB520 001B8480 38 80 00 01 */ li r4, 1 /* 801BB524 001B8484 81 8C 00 08 */ lwz r12, 8(r12) /* 801BB528 001B8488 7D 89 03 A6 */ mtctr r12 /* 801BB52C 001B848C 4E 80 04 21 */ bctrl lbl_801BB530: /* 801BB530 001B8490 38 00 00 00 */ li r0, 0 /* 801BB534 001B8494 38 7C 01 04 */ addi r3, r28, 0x104 /* 801BB538 001B8498 90 1C 01 B8 */ stw r0, 0x1b8(r28) /* 801BB53C 001B849C 48 18 58 49 */ bl Lock__6CTokenFv /* 801BB540 001B84A0 38 7C 01 60 */ addi r3, r28, 0x160 /* 801BB544 001B84A4 48 18 58 41 */ bl Lock__6CTokenFv /* 801BB548 001B84A8 3B FC 01 70 */ addi r31, r28, 0x170 /* 801BB54C 001B84AC 3B DC 01 48 */ addi r30, r28, 0x148 /* 801BB550 001B84B0 3B A0 00 00 */ li r29, 0 lbl_801BB554: /* 801BB554 001B84B4 7F E3 FB 78 */ mr r3, r31 /* 801BB558 001B84B8 48 18 58 2D */ bl Lock__6CTokenFv /* 801BB55C 001B84BC 7F C3 F3 78 */ mr r3, r30 /* 801BB560 001B84C0 48 18 58 25 */ bl Lock__6CTokenFv /* 801BB564 001B84C4 3B BD 00 01 */ addi r29, r29, 1 /* 801BB568 001B84C8 3B DE 00 0C */ addi r30, r30, 0xc /* 801BB56C 001B84CC 2C 1D 00 02 */ cmpwi r29, 2 /* 801BB570 001B84D0 3B FF 00 0C */ addi r31, r31, 0xc /* 801BB574 001B84D4 41 80 FF E0 */ blt lbl_801BB554 /* 801BB578 001B84D8 3B A0 00 00 */ li r29, 0 /* 801BB57C 001B84DC 3B DC 01 8C */ addi r30, r28, 0x18c lbl_801BB580: /* 801BB580 001B84E0 7F C3 F3 78 */ mr r3, r30 /* 801BB584 001B84E4 48 18 58 01 */ bl Lock__6CTokenFv /* 801BB588 001B84E8 3B BD 00 01 */ addi r29, r29, 1 /* 801BB58C 001B84EC 3B DE 00 0C */ addi r30, r30, 0xc /* 801BB590 001B84F0 2C 1D 00 02 */ cmpwi r29, 2 /* 801BB594 001B84F4 41 80 FF EC */ blt lbl_801BB580 /* 801BB598 001B84F8 80 01 00 24 */ lwz r0, 0x24(r1) /* 801BB59C 001B84FC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801BB5A0 001B8500 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801BB5A4 001B8504 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801BB5A8 001B8508 83 81 00 10 */ lwz r28, 0x10(r1) /* 801BB5AC 001B850C 7C 08 03 A6 */ mtlr r0 /* 801BB5B0 001B8510 38 21 00 20 */ addi r1, r1, 0x20 /* 801BB5B4 001B8514 4E 80 00 20 */ blr .global TouchHolo__10CGunWeaponFRC13CStateManager TouchHolo__10CGunWeaponFRC13CStateManager: /* 801BB5B8 001B8518 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BB5BC 001B851C 7C 08 02 A6 */ mflr r0 /* 801BB5C0 001B8520 90 01 00 14 */ stw r0, 0x14(r1) /* 801BB5C4 001B8524 88 03 00 AC */ lbz r0, 0xac(r3) /* 801BB5C8 001B8528 28 00 00 00 */ cmplwi r0, 0 /* 801BB5CC 001B852C 41 82 00 10 */ beq lbl_801BB5DC /* 801BB5D0 001B8530 38 63 00 60 */ addi r3, r3, 0x60 /* 801BB5D4 001B8534 38 A0 00 00 */ li r5, 0 /* 801BB5D8 001B8538 4B F5 A7 39 */ bl Touch__10CModelDataCFRC13CStateManageri lbl_801BB5DC: /* 801BB5DC 001B853C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BB5E0 001B8540 7C 08 03 A6 */ mtlr r0 /* 801BB5E4 001B8544 38 21 00 10 */ addi r1, r1, 0x10 /* 801BB5E8 001B8548 4E 80 00 20 */ blr .global Touch__10CGunWeaponFRC13CStateManager Touch__10CGunWeaponFRC13CStateManager: /* 801BB5EC 001B854C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BB5F0 001B8550 7C 08 02 A6 */ mflr r0 /* 801BB5F4 001B8554 90 01 00 14 */ stw r0, 0x14(r1) /* 801BB5F8 001B8558 93 E1 00 0C */ stw r31, 0xc(r1) /* 801BB5FC 001B855C 7C 9F 23 78 */ mr r31, r4 /* 801BB600 001B8560 93 C1 00 08 */ stw r30, 8(r1) /* 801BB604 001B8564 7C 7E 1B 78 */ mr r30, r3 /* 801BB608 001B8568 88 03 00 5C */ lbz r0, 0x5c(r3) /* 801BB60C 001B856C 28 00 00 00 */ cmplwi r0, 0 /* 801BB610 001B8570 41 82 00 2C */ beq lbl_801BB63C /* 801BB614 001B8574 80 BE 02 0C */ lwz r5, 0x20c(r30) /* 801BB618 001B8578 38 7E 00 10 */ addi r3, r30, 0x10 /* 801BB61C 001B857C 4B F5 A6 F5 */ bl Touch__10CModelDataCFRC13CStateManageri /* 801BB620 001B8580 88 1E 00 FC */ lbz r0, 0xfc(r30) /* 801BB624 001B8584 28 00 00 00 */ cmplwi r0, 0 /* 801BB628 001B8588 41 82 00 14 */ beq lbl_801BB63C /* 801BB62C 001B858C 7F E4 FB 78 */ mr r4, r31 /* 801BB630 001B8590 38 7E 00 B0 */ addi r3, r30, 0xb0 /* 801BB634 001B8594 38 A0 00 00 */ li r5, 0 /* 801BB638 001B8598 4B F5 A6 D9 */ bl Touch__10CModelDataCFRC13CStateManageri lbl_801BB63C: /* 801BB63C 001B859C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BB640 001B85A0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801BB644 001B85A4 83 C1 00 08 */ lwz r30, 8(r1) /* 801BB648 001B85A8 7C 08 03 A6 */ mtlr r0 /* 801BB64C 001B85AC 38 21 00 10 */ addi r1, r1, 0x10 /* 801BB650 001B85B0 4E 80 00 20 */ blr .global GetBounds__10CGunWeaponCFRC12CTransform4f GetBounds__10CGunWeaponCFRC12CTransform4f: /* 801BB654 001B85B4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BB658 001B85B8 7C 08 02 A6 */ mflr r0 /* 801BB65C 001B85BC 90 01 00 14 */ stw r0, 0x14(r1) /* 801BB660 001B85C0 93 E1 00 0C */ stw r31, 0xc(r1) /* 801BB664 001B85C4 7C 7F 1B 78 */ mr r31, r3 /* 801BB668 001B85C8 88 04 00 5C */ lbz r0, 0x5c(r4) /* 801BB66C 001B85CC 28 00 00 00 */ cmplwi r0, 0 /* 801BB670 001B85D0 41 82 00 10 */ beq lbl_801BB680 /* 801BB674 001B85D4 38 84 00 10 */ addi r4, r4, 0x10 /* 801BB678 001B85D8 4B F5 A1 3D */ bl GetBounds__10CModelDataCFRC12CTransform4f /* 801BB67C 001B85DC 48 00 00 38 */ b lbl_801BB6B4 lbl_801BB680: /* 801BB680 001B85E0 3C 60 80 5A */ lis r3, mskNullBox__6CAABox@ha /* 801BB684 001B85E4 C4 03 67 84 */ lfsu f0, mskNullBox__6CAABox@l(r3) /* 801BB688 001B85E8 D0 1F 00 00 */ stfs f0, 0(r31) /* 801BB68C 001B85EC C0 03 00 04 */ lfs f0, 4(r3) /* 801BB690 001B85F0 D0 1F 00 04 */ stfs f0, 4(r31) /* 801BB694 001B85F4 C0 03 00 08 */ lfs f0, 8(r3) /* 801BB698 001B85F8 D0 1F 00 08 */ stfs f0, 8(r31) /* 801BB69C 001B85FC C0 03 00 0C */ lfs f0, 0xc(r3) /* 801BB6A0 001B8600 D0 1F 00 0C */ stfs f0, 0xc(r31) /* 801BB6A4 001B8604 C0 03 00 10 */ lfs f0, 0x10(r3) /* 801BB6A8 001B8608 D0 1F 00 10 */ stfs f0, 0x10(r31) /* 801BB6AC 001B860C C0 03 00 14 */ lfs f0, 0x14(r3) /* 801BB6B0 001B8610 D0 1F 00 14 */ stfs f0, 0x14(r31) lbl_801BB6B4: /* 801BB6B4 001B8614 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BB6B8 001B8618 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801BB6BC 001B861C 7C 08 03 A6 */ mtlr r0 /* 801BB6C0 001B8620 38 21 00 10 */ addi r1, r1, 0x10 /* 801BB6C4 001B8624 4E 80 00 20 */ blr .global GetBounds__10CGunWeaponCFv GetBounds__10CGunWeaponCFv: /* 801BB6C8 001B8628 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BB6CC 001B862C 7C 08 02 A6 */ mflr r0 /* 801BB6D0 001B8630 90 01 00 14 */ stw r0, 0x14(r1) /* 801BB6D4 001B8634 93 E1 00 0C */ stw r31, 0xc(r1) /* 801BB6D8 001B8638 7C 7F 1B 78 */ mr r31, r3 /* 801BB6DC 001B863C 88 04 00 5C */ lbz r0, 0x5c(r4) /* 801BB6E0 001B8640 28 00 00 00 */ cmplwi r0, 0 /* 801BB6E4 001B8644 41 82 00 10 */ beq lbl_801BB6F4 /* 801BB6E8 001B8648 38 84 00 10 */ addi r4, r4, 0x10 /* 801BB6EC 001B864C 4B F5 9E D9 */ bl GetBounds__10CModelDataCFv /* 801BB6F0 001B8650 48 00 00 38 */ b lbl_801BB728 lbl_801BB6F4: /* 801BB6F4 001B8654 3C 60 80 5A */ lis r3, mskNullBox__6CAABox@ha /* 801BB6F8 001B8658 C4 03 67 84 */ lfsu f0, mskNullBox__6CAABox@l(r3) /* 801BB6FC 001B865C D0 1F 00 00 */ stfs f0, 0(r31) /* 801BB700 001B8660 C0 03 00 04 */ lfs f0, 4(r3) /* 801BB704 001B8664 D0 1F 00 04 */ stfs f0, 4(r31) /* 801BB708 001B8668 C0 03 00 08 */ lfs f0, 8(r3) /* 801BB70C 001B866C D0 1F 00 08 */ stfs f0, 8(r31) /* 801BB710 001B8670 C0 03 00 0C */ lfs f0, 0xc(r3) /* 801BB714 001B8674 D0 1F 00 0C */ stfs f0, 0xc(r31) /* 801BB718 001B8678 C0 03 00 10 */ lfs f0, 0x10(r3) /* 801BB71C 001B867C D0 1F 00 10 */ stfs f0, 0x10(r31) /* 801BB720 001B8680 C0 03 00 14 */ lfs f0, 0x14(r3) /* 801BB724 001B8684 D0 1F 00 14 */ stfs f0, 0x14(r31) lbl_801BB728: /* 801BB728 001B8688 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BB72C 001B868C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801BB730 001B8690 7C 08 03 A6 */ mtlr r0 /* 801BB734 001B8694 38 21 00 10 */ addi r1, r1, 0x10 /* 801BB738 001B8698 4E 80 00 20 */ blr .global GetDamageInfo__10CGunWeaponFR13CStateManagerQ212CPlayerState12EChargeStagef GetDamageInfo__10CGunWeaponFR13CStateManagerQ212CPlayerState12EChargeStagef: /* 801BB73C 001B869C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 801BB740 001B86A0 7C 08 02 A6 */ mflr r0 /* 801BB744 001B86A4 90 01 00 54 */ stw r0, 0x54(r1) /* 801BB748 001B86A8 DB E1 00 40 */ stfd f31, 0x40(r1) /* 801BB74C 001B86AC F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 801BB750 001B86B0 93 E1 00 3C */ stw r31, 0x3c(r1) /* 801BB754 001B86B4 93 C1 00 38 */ stw r30, 0x38(r1) /* 801BB758 001B86B8 93 A1 00 34 */ stw r29, 0x34(r1) /* 801BB75C 001B86BC FF E0 08 90 */ fmr f31, f1 /* 801BB760 001B86C0 7C 7D 1B 78 */ mr r29, r3 /* 801BB764 001B86C4 7C BE 2B 78 */ mr r30, r5 /* 801BB768 001B86C8 7C DF 33 78 */ mr r31, r6 /* 801BB76C 001B86CC 7C 83 23 78 */ mr r3, r4 /* 801BB770 001B86D0 48 00 15 25 */ bl GetWeaponInfo__10CGunWeaponCFv /* 801BB774 001B86D4 2C 1F 00 00 */ cmpwi r31, 0 /* 801BB778 001B86D8 7C 67 1B 78 */ mr r7, r3 /* 801BB77C 001B86DC 40 82 00 18 */ bne lbl_801BB794 /* 801BB780 001B86E0 7F A3 EB 78 */ mr r3, r29 /* 801BB784 001B86E4 7F C5 F3 78 */ mr r5, r30 /* 801BB788 001B86E8 38 87 00 04 */ addi r4, r7, 4 /* 801BB78C 001B86EC 48 0C F2 99 */ bl GetShotDamageInfo__10CGunWeaponCFRC10SShotParamR13CStateManager /* 801BB790 001B86F0 48 00 00 68 */ b lbl_801BB7F8 lbl_801BB794: /* 801BB794 001B86F4 C0 47 00 34 */ lfs f2, 0x34(r7) /* 801BB798 001B86F8 38 80 00 00 */ li r4, 0 /* 801BB79C 001B86FC C0 27 00 30 */ lfs f1, 0x30(r7) /* 801BB7A0 001B8700 7F A3 EB 78 */ mr r3, r29 /* 801BB7A4 001B8704 C0 07 00 28 */ lfs f0, 0x28(r7) /* 801BB7A8 001B8708 EC 5F 00 B2 */ fmuls f2, f31, f2 /* 801BB7AC 001B870C 80 A7 00 20 */ lwz r5, 0x20(r7) /* 801BB7B0 001B8710 EC 3F 00 72 */ fmuls f1, f31, f1 /* 801BB7B4 001B8714 88 01 00 20 */ lbz r0, 0x20(r1) /* 801BB7B8 001B8718 EC 1F 00 32 */ fmuls f0, f31, f0 /* 801BB7BC 001B871C 90 A1 00 08 */ stw r5, 8(r1) /* 801BB7C0 001B8720 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 801BB7C4 001B8724 7F C5 F3 78 */ mr r5, r30 /* 801BB7C8 001B8728 88 C7 00 24 */ lbz r6, 0x24(r7) /* 801BB7CC 001B872C 38 81 00 08 */ addi r4, r1, 8 /* 801BB7D0 001B8730 98 C1 00 0C */ stb r6, 0xc(r1) /* 801BB7D4 001B8734 D0 01 00 10 */ stfs f0, 0x10(r1) /* 801BB7D8 001B8738 D0 01 00 14 */ stfs f0, 0x14(r1) /* 801BB7DC 001B873C D0 21 00 18 */ stfs f1, 0x18(r1) /* 801BB7E0 001B8740 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 801BB7E4 001B8744 98 01 00 20 */ stb r0, 0x20(r1) /* 801BB7E8 001B8748 C0 07 00 2C */ lfs f0, 0x2c(r7) /* 801BB7EC 001B874C EC 1F 00 32 */ fmuls f0, f31, f0 /* 801BB7F0 001B8750 D0 01 00 14 */ stfs f0, 0x14(r1) /* 801BB7F4 001B8754 48 0C F2 31 */ bl GetShotDamageInfo__10CGunWeaponCFRC10SShotParamR13CStateManager lbl_801BB7F8: /* 801BB7F8 001B8758 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 801BB7FC 001B875C 80 01 00 54 */ lwz r0, 0x54(r1) /* 801BB800 001B8760 CB E1 00 40 */ lfd f31, 0x40(r1) /* 801BB804 001B8764 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 801BB808 001B8768 83 C1 00 38 */ lwz r30, 0x38(r1) /* 801BB80C 001B876C 83 A1 00 34 */ lwz r29, 0x34(r1) /* 801BB810 001B8770 7C 08 03 A6 */ mtlr r0 /* 801BB814 001B8774 38 21 00 50 */ addi r1, r1, 0x50 /* 801BB818 001B8778 4E 80 00 20 */ blr .global EnterFidget__10CGunWeaponFR13CStateManagerQ28SamusGun11EFidgetTypei EnterFidget__10CGunWeaponFR13CStateManagerQ28SamusGun11EFidgetTypei: /* 801BB81C 001B877C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BB820 001B8780 7C 08 02 A6 */ mflr r0 /* 801BB824 001B8784 7C 68 1B 78 */ mr r8, r3 /* 801BB828 001B8788 7C C7 33 78 */ mr r7, r6 /* 801BB82C 001B878C 90 01 00 14 */ stw r0, 0x14(r1) /* 801BB830 001B8790 80 63 01 00 */ lwz r3, 0x100(r3) /* 801BB834 001B8794 80 C8 02 00 */ lwz r6, 0x200(r8) /* 801BB838 001B8798 48 01 12 C9 */ bl EnterFidget__14CGunControllerFR13CStateManageriii /* 801BB83C 001B879C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BB840 001B87A0 7C 08 03 A6 */ mtlr r0 /* 801BB844 001B87A4 38 21 00 10 */ addi r1, r1, 0x10 /* 801BB848 001B87A8 4E 80 00 20 */ blr .global ComboFireOver__10CGunWeaponCFv ComboFireOver__10CGunWeaponCFv: /* 801BB84C 001B87AC 80 63 01 00 */ lwz r3, 0x100(r3) /* 801BB850 001B87B0 88 03 00 2C */ lbz r0, 0x2c(r3) /* 801BB854 001B87B4 54 03 CF FE */ rlwinm r3, r0, 0x19, 0x1f, 0x1f /* 801BB858 001B87B8 4E 80 00 20 */ blr .global ReturnToDefault__10CGunWeaponFR13CStateManager ReturnToDefault__10CGunWeaponFR13CStateManager: /* 801BB85C 001B87BC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BB860 001B87C0 7C 08 02 A6 */ mflr r0 /* 801BB864 001B87C4 C0 22 A9 DC */ lfs f1, lbl_805AC6FC@sda21(r2) /* 801BB868 001B87C8 38 A0 00 00 */ li r5, 0 /* 801BB86C 001B87CC 90 01 00 14 */ stw r0, 0x14(r1) /* 801BB870 001B87D0 80 63 01 00 */ lwz r3, 0x100(r3) /* 801BB874 001B87D4 48 01 0A 85 */ bl ReturnToDefault__14CGunControllerFR13CStateManagerfb /* 801BB878 001B87D8 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BB87C 001B87DC 7C 08 03 A6 */ mtlr r0 /* 801BB880 001B87E0 38 21 00 10 */ addi r1, r1, 0x10 /* 801BB884 001B87E4 4E 80 00 20 */ blr .global Fire__10CGunWeaponFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueIdff Fire__10CGunWeaponFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueIdff: /* 801BB888 001B87E8 94 21 FE E0 */ stwu r1, -0x120(r1) /* 801BB88C 001B87EC 7C 08 02 A6 */ mflr r0 /* 801BB890 001B87F0 90 01 01 24 */ stw r0, 0x124(r1) /* 801BB894 001B87F4 DB E1 01 10 */ stfd f31, 0x110(r1) /* 801BB898 001B87F8 F3 E1 01 18 */ psq_st f31, 280(r1), 0, qr0 /* 801BB89C 001B87FC DB C1 01 00 */ stfd f30, 0x100(r1) /* 801BB8A0 001B8800 F3 C1 01 08 */ psq_st f30, 264(r1), 0, qr0 /* 801BB8A4 001B8804 DB A1 00 F0 */ stfd f29, 0xf0(r1) /* 801BB8A8 001B8808 F3 A1 00 F8 */ psq_st f29, 248(r1), 0, qr0 /* 801BB8AC 001B880C BE C1 00 C8 */ stmw r22, 0xc8(r1) /* 801BB8B0 001B8810 FF A0 10 90 */ fmr f29, f2 /* 801BB8B4 001B8814 7C 77 1B 78 */ mr r23, r3 /* 801BB8B8 001B8818 FF E0 08 90 */ fmr f31, f1 /* 801BB8BC 001B881C 7C 98 23 78 */ mr r24, r4 /* 801BB8C0 001B8820 FF C0 18 90 */ fmr f30, f3 /* 801BB8C4 001B8824 7C B9 2B 78 */ mr r25, r5 /* 801BB8C8 001B8828 7C FB 3B 78 */ mr r27, r7 /* 801BB8CC 001B882C FC 20 E8 90 */ fmr f1, f29 /* 801BB8D0 001B8830 7C DA 33 78 */ mr r26, r6 /* 801BB8D4 001B8834 7D 1C 43 78 */ mr r28, r8 /* 801BB8D8 001B8838 7E E4 BB 78 */ mr r4, r23 /* 801BB8DC 001B883C 7F 65 DB 78 */ mr r5, r27 /* 801BB8E0 001B8840 7F 26 CB 78 */ mr r6, r25 /* 801BB8E4 001B8844 38 61 00 64 */ addi r3, r1, 0x64 /* 801BB8E8 001B8848 4B FF FE 55 */ bl GetDamageInfo__10CGunWeaponFR13CStateManagerQ212CPlayerState12EChargeStagef /* 801BB8EC 001B884C 80 81 00 64 */ lwz r4, 0x64(r1) /* 801BB8F0 001B8850 2C 19 00 00 */ cmpwi r25, 0 /* 801BB8F4 001B8854 88 61 00 68 */ lbz r3, 0x68(r1) /* 801BB8F8 001B8858 C0 61 00 6C */ lfs f3, 0x6c(r1) /* 801BB8FC 001B885C C0 41 00 70 */ lfs f2, 0x70(r1) /* 801BB900 001B8860 C0 21 00 74 */ lfs f1, 0x74(r1) /* 801BB904 001B8864 C0 01 00 78 */ lfs f0, 0x78(r1) /* 801BB908 001B8868 88 01 00 7C */ lbz r0, 0x7c(r1) /* 801BB90C 001B886C 90 81 00 80 */ stw r4, 0x80(r1) /* 801BB910 001B8870 98 61 00 84 */ stb r3, 0x84(r1) /* 801BB914 001B8874 D0 61 00 88 */ stfs f3, 0x88(r1) /* 801BB918 001B8878 D0 41 00 8C */ stfs f2, 0x8c(r1) /* 801BB91C 001B887C D0 21 00 90 */ stfs f1, 0x90(r1) /* 801BB920 001B8880 D0 01 00 94 */ stfs f0, 0x94(r1) /* 801BB924 001B8884 98 01 00 98 */ stb r0, 0x98(r1) /* 801BB928 001B8888 40 82 00 0C */ bne lbl_801BB934 /* 801BB92C 001B888C C0 22 A9 D8 */ lfs f1, lbl_805AC6F8@sda21(r2) /* 801BB930 001B8890 48 00 00 08 */ b lbl_801BB938 lbl_801BB934: /* 801BB934 001B8894 FC 20 F0 90 */ fmr f1, f30 lbl_801BB938: /* 801BB938 001B8898 C0 02 A9 D8 */ lfs f0, lbl_805AC6F8@sda21(r2) /* 801BB93C 001B889C 2C 19 00 00 */ cmpwi r25, 0 /* 801BB940 001B88A0 EC 61 00 32 */ fmuls f3, f1, f0 /* 801BB944 001B88A4 40 82 00 08 */ bne lbl_801BB94C /* 801BB948 001B88A8 48 00 00 08 */ b lbl_801BB950 lbl_801BB94C: /* 801BB94C 001B88AC FC 00 F0 90 */ fmr f0, f30 lbl_801BB950: /* 801BB950 001B88B0 C0 82 A9 D8 */ lfs f4, lbl_805AC6F8@sda21(r2) /* 801BB954 001B88B4 2C 19 00 00 */ cmpwi r25, 0 /* 801BB958 001B88B8 EC 40 01 32 */ fmuls f2, f0, f4 /* 801BB95C 001B88BC 40 82 00 08 */ bne lbl_801BB964 /* 801BB960 001B88C0 48 00 00 08 */ b lbl_801BB968 lbl_801BB964: /* 801BB964 001B88C4 FC 80 F0 90 */ fmr f4, f30 lbl_801BB968: /* 801BB968 001B88C8 C0 22 A9 D8 */ lfs f1, lbl_805AC6F8@sda21(r2) /* 801BB96C 001B88CC 2C 19 00 00 */ cmpwi r25, 0 /* 801BB970 001B88D0 D0 61 00 58 */ stfs f3, 0x58(r1) /* 801BB974 001B88D4 EC 04 00 72 */ fmuls f0, f4, f1 /* 801BB978 001B88D8 D0 41 00 5C */ stfs f2, 0x5c(r1) /* 801BB97C 001B88DC D0 01 00 60 */ stfs f0, 0x60(r1) /* 801BB980 001B88E0 40 82 00 0C */ bne lbl_801BB98C /* 801BB984 001B88E4 38 00 00 00 */ li r0, 0 /* 801BB988 001B88E8 48 00 00 24 */ b lbl_801BB9AC lbl_801BB98C: /* 801BB98C 001B88EC EC 3D 08 28 */ fsubs f1, f29, f1 /* 801BB990 001B88F0 C8 02 A9 E0 */ lfd f0, lbl_805AC700@sda21(r2) /* 801BB994 001B88F4 FC 20 0A 10 */ fabs f1, f1 /* 801BB998 001B88F8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801BB99C 001B88FC 7C 00 00 26 */ mfcr r0 /* 801BB9A0 001B8900 54 00 0F FE */ srwi r0, r0, 0x1f /* 801BB9A4 001B8904 7C 00 00 34 */ cntlzw r0, r0 /* 801BB9A8 001B8908 54 00 D9 7E */ srwi r0, r0, 5 lbl_801BB9AC: /* 801BB9AC 001B890C 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 801BB9B0 001B8910 38 A0 00 00 */ li r5, 0 /* 801BB9B4 001B8914 41 82 00 08 */ beq lbl_801BB9BC /* 801BB9B8 001B8918 3C A0 00 01 */ lis r5, 1 lbl_801BB9BC: /* 801BB9BC 001B891C 2C 19 00 00 */ cmpwi r25, 0 /* 801BB9C0 001B8920 38 80 08 00 */ li r4, 0x800 /* 801BB9C4 001B8924 41 82 00 08 */ beq lbl_801BB9CC /* 801BB9C8 001B8928 38 80 08 04 */ li r4, 0x804 lbl_801BB9CC: /* 801BB9CC 001B892C 1C 19 00 0C */ mulli r0, r25, 0xc /* 801BB9D0 001B8930 3C 60 80 3D */ lis r3, lbl_803D1828@ha /* 801BB9D4 001B8934 7C 9D 2B 78 */ or r29, r4, r5 /* 801BB9D8 001B8938 38 63 18 28 */ addi r3, r3, lbl_803D1828@l /* 801BB9DC 001B893C 7F F7 02 14 */ add r31, r23, r0 /* 801BB9E0 001B8940 3A C0 00 00 */ li r22, 0 /* 801BB9E4 001B8944 38 83 01 B5 */ addi r4, r3, 0x1b5 /* 801BB9E8 001B8948 38 60 03 D8 */ li r3, 0x3d8 /* 801BB9EC 001B894C 38 A0 00 00 */ li r5, 0 /* 801BB9F0 001B8950 3B FF 01 48 */ addi r31, r31, 0x148 /* 801BB9F4 001B8954 48 15 9E 79 */ bl __nw__FUlPCcPCc /* 801BB9F8 001B8958 7C 7E 1B 79 */ or. r30, r3, r3 /* 801BB9FC 001B895C 41 82 00 A8 */ beq lbl_801BBAA4 /* 801BBA00 001B8960 A0 BC 00 00 */ lhz r5, 0(r28) /* 801BBA04 001B8964 38 00 00 00 */ li r0, 0 /* 801BBA08 001B8968 98 01 00 54 */ stb r0, 0x54(r1) /* 801BBA0C 001B896C 7F 64 DB 78 */ mr r4, r27 /* 801BBA10 001B8970 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13) /* 801BBA14 001B8974 38 61 00 30 */ addi r3, r1, 0x30 /* 801BBA18 001B8978 B0 A1 00 40 */ sth r5, 0x40(r1) /* 801BBA1C 001B897C 3A C0 00 01 */ li r22, 1 /* 801BBA20 001B8980 A0 B7 01 C4 */ lhz r5, 0x1c4(r23) /* 801BBA24 001B8984 B0 A1 00 38 */ sth r5, 0x38(r1) /* 801BBA28 001B8988 B0 A1 00 3C */ sth r5, 0x3c(r1) /* 801BBA2C 001B898C 90 01 00 44 */ stw r0, 0x44(r1) /* 801BBA30 001B8990 4B E9 16 AD */ bl AllocateUniqueId__13CStateManagerFv /* 801BBA34 001B8994 A0 61 00 30 */ lhz r3, 0x30(r1) /* 801BBA38 001B8998 38 01 00 44 */ addi r0, r1, 0x44 /* 801BBA3C 001B899C 38 E1 00 3C */ addi r7, r1, 0x3c /* 801BBA40 001B89A0 38 81 00 40 */ addi r4, r1, 0x40 /* 801BBA44 001B89A4 B0 61 00 34 */ sth r3, 0x34(r1) /* 801BBA48 001B89A8 39 61 00 58 */ addi r11, r1, 0x58 /* 801BBA4C 001B89AC 39 01 00 48 */ addi r8, r1, 0x48 /* 801BBA50 001B89B0 A0 C2 C5 FC */ lhz r6, kInternalInvalidSfxId__11CSfxManager@sda21(r2) /* 801BBA54 001B89B4 90 01 00 08 */ stw r0, 8(r1) /* 801BBA58 001B89B8 38 00 00 00 */ li r0, 0 /* 801BBA5C 001B89BC 7F C3 F3 78 */ mr r3, r30 /* 801BBA60 001B89C0 7F E5 FB 78 */ mr r5, r31 /* 801BBA64 001B89C4 90 E1 00 0C */ stw r7, 0xc(r1) /* 801BBA68 001B89C8 7F 47 D3 78 */ mr r7, r26 /* 801BBA6C 001B89CC 39 21 00 80 */ addi r9, r1, 0x80 /* 801BBA70 001B89D0 39 41 00 34 */ addi r10, r1, 0x34 /* 801BBA74 001B89D4 90 81 00 10 */ stw r4, 0x10(r1) /* 801BBA78 001B89D8 38 80 00 01 */ li r4, 1 /* 801BBA7C 001B89DC 93 A1 00 14 */ stw r29, 0x14(r1) /* 801BBA80 001B89E0 93 01 00 18 */ stw r24, 0x18(r1) /* 801BBA84 001B89E4 91 61 00 1C */ stw r11, 0x1c(r1) /* 801BBA88 001B89E8 91 01 00 20 */ stw r8, 0x20(r1) /* 801BBA8C 001B89EC 90 C1 00 24 */ stw r6, 0x24(r1) /* 801BBA90 001B89F0 90 01 00 28 */ stw r0, 0x28(r1) /* 801BBA94 001B89F4 80 D7 01 C0 */ lwz r6, 0x1c0(r23) /* 801BBA98 001B89F8 81 17 01 C8 */ lwz r8, 0x1c8(r23) /* 801BBA9C 001B89FC 48 05 9B FD */ bl "__ct__17CEnergyProjectileFbRC28TToken<18CWeaponDescription>11EWeaponTypeRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId7TAreaId9TUniqueId9TUniqueIdUibRC9CVector3fRCQ24rstl50optional_object<31TLockedToken<15CGenDescription>>Usb" /* 801BBAA0 001B8A00 7C 7E 1B 78 */ mr r30, r3 lbl_801BBAA4: /* 801BBAA4 001B8A04 7E C0 07 75 */ extsb. r0, r22 /* 801BBAA8 001B8A08 41 82 00 30 */ beq lbl_801BBAD8 /* 801BBAAC 001B8A0C 88 01 00 54 */ lbz r0, 0x54(r1) /* 801BBAB0 001B8A10 28 00 00 00 */ cmplwi r0, 0 /* 801BBAB4 001B8A14 41 82 00 1C */ beq lbl_801BBAD0 /* 801BBAB8 001B8A18 34 61 00 48 */ addic. r3, r1, 0x48 /* 801BBABC 001B8A1C 41 82 00 14 */ beq lbl_801BBAD0 /* 801BBAC0 001B8A20 28 03 00 00 */ cmplwi r3, 0 /* 801BBAC4 001B8A24 41 82 00 0C */ beq lbl_801BBAD0 /* 801BBAC8 001B8A28 38 80 00 00 */ li r4, 0 /* 801BBACC 001B8A2C 48 18 53 75 */ bl __dt__6CTokenFv lbl_801BBAD0: /* 801BBAD0 001B8A30 38 00 00 00 */ li r0, 0 /* 801BBAD4 001B8A34 98 01 00 54 */ stb r0, 0x54(r1) lbl_801BBAD8: /* 801BBAD8 001B8A38 28 1E 00 00 */ cmplwi r30, 0 /* 801BBADC 001B8A3C 41 82 00 2C */ beq lbl_801BBB08 /* 801BBAE0 001B8A40 7F 63 DB 78 */ mr r3, r27 /* 801BBAE4 001B8A44 7F C4 F3 78 */ mr r4, r30 /* 801BBAE8 001B8A48 4B E9 12 0D */ bl AddObject__13CStateManagerFP7CEntity /* 801BBAEC 001B8A4C 7F C3 F3 78 */ mr r3, r30 /* 801BBAF0 001B8A50 FC 20 F8 90 */ fmr f1, f31 /* 801BBAF4 001B8A54 81 9E 00 00 */ lwz r12, 0(r30) /* 801BBAF8 001B8A58 7F 64 DB 78 */ mr r4, r27 /* 801BBAFC 001B8A5C 81 8C 00 14 */ lwz r12, 0x14(r12) /* 801BBB00 001B8A60 7D 89 03 A6 */ mtctr r12 /* 801BBB04 001B8A64 4E 80 04 21 */ bctrl lbl_801BBB08: /* 801BBB08 001B8A68 2C 19 00 00 */ cmpwi r25, 0 /* 801BBB0C 001B8A6C 41 82 00 28 */ beq lbl_801BBB34 /* 801BBB10 001B8A70 88 17 02 18 */ lbz r0, 0x218(r23) /* 801BBB14 001B8A74 38 60 00 01 */ li r3, 1 /* 801BBB18 001B8A78 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 801BBB1C 001B8A7C 38 A0 00 00 */ li r5, 0 /* 801BBB20 001B8A80 98 17 02 18 */ stb r0, 0x218(r23) /* 801BBB24 001B8A84 3C 60 80 57 */ lis r3, skChargedShotCameraShakeData__16CCameraShakeData@ha /* 801BBB28 001B8A88 38 83 19 E8 */ addi r4, r3, skChargedShotCameraShakeData__16CCameraShakeData@l /* 801BBB2C 001B8A8C 80 7B 08 70 */ lwz r3, 0x870(r27) /* 801BBB30 001B8A90 4B E4 EE F1 */ bl AddCameraShaker__14CCameraManagerFRC16CCameraShakeDatab lbl_801BBB34: /* 801BBB34 001B8A94 80 77 00 20 */ lwz r3, 0x20(r23) /* 801BBB38 001B8A98 39 20 00 00 */ li r9, 0 /* 801BBB3C 001B8A9C 39 00 00 01 */ li r8, 1 /* 801BBB40 001B8AA0 57 25 10 3A */ slwi r5, r25, 2 /* 801BBB44 001B8AA4 88 03 02 20 */ lbz r0, 0x220(r3) /* 801BBB48 001B8AA8 51 20 36 72 */ rlwimi r0, r9, 6, 0x19, 0x19 /* 801BBB4C 001B8AAC 38 82 A9 D0 */ addi r4, r2, lbl_805AC6F0@sda21 /* 801BBB50 001B8AB0 C0 02 A9 D8 */ lfs f0, lbl_805AC6F8@sda21(r2) /* 801BBB54 001B8AB4 98 03 02 20 */ stb r0, 0x220(r3) /* 801BBB58 001B8AB8 38 00 FF FF */ li r0, -1 /* 801BBB5C 001B8ABC 7C C4 28 2E */ lwzx r6, r4, r5 /* 801BBB60 001B8AC0 38 81 00 9C */ addi r4, r1, 0x9c /* 801BBB64 001B8AC4 88 E3 02 20 */ lbz r7, 0x220(r3) /* 801BBB68 001B8AC8 51 07 3E 30 */ rlwimi r7, r8, 7, 0x18, 0x18 /* 801BBB6C 001B8ACC 38 A0 00 00 */ li r5, 0 /* 801BBB70 001B8AD0 98 E3 02 20 */ stb r7, 0x220(r3) /* 801BBB74 001B8AD4 90 C1 00 9C */ stw r6, 0x9c(r1) /* 801BBB78 001B8AD8 90 01 00 A0 */ stw r0, 0xa0(r1) /* 801BBB7C 001B8ADC D0 01 00 A4 */ stfs f0, 0xa4(r1) /* 801BBB80 001B8AE0 99 01 00 A8 */ stb r8, 0xa8(r1) /* 801BBB84 001B8AE4 91 21 00 AC */ stw r9, 0xac(r1) /* 801BBB88 001B8AE8 91 21 00 B0 */ stw r9, 0xb0(r1) /* 801BBB8C 001B8AEC 99 21 00 B4 */ stb r9, 0xb4(r1) /* 801BBB90 001B8AF0 91 21 00 B8 */ stw r9, 0xb8(r1) /* 801BBB94 001B8AF4 91 21 00 BC */ stw r9, 0xbc(r1) /* 801BBB98 001B8AF8 91 21 00 C0 */ stw r9, 0xc0(r1) /* 801BBB9C 001B8AFC 4B E7 11 E1 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb /* 801BBBA0 001B8B00 E3 E1 01 18 */ psq_l f31, 280(r1), 0, qr0 /* 801BBBA4 001B8B04 CB E1 01 10 */ lfd f31, 0x110(r1) /* 801BBBA8 001B8B08 E3 C1 01 08 */ psq_l f30, 264(r1), 0, qr0 /* 801BBBAC 001B8B0C CB C1 01 00 */ lfd f30, 0x100(r1) /* 801BBBB0 001B8B10 E3 A1 00 F8 */ psq_l f29, 248(r1), 0, qr0 /* 801BBBB4 001B8B14 CB A1 00 F0 */ lfd f29, 0xf0(r1) /* 801BBBB8 001B8B18 BA C1 00 C8 */ lmw r22, 0xc8(r1) /* 801BBBBC 001B8B1C 80 01 01 24 */ lwz r0, 0x124(r1) /* 801BBBC0 001B8B20 7C 08 03 A6 */ mtlr r0 /* 801BBBC4 001B8B24 38 21 01 20 */ addi r1, r1, 0x120 /* 801BBBC8 001B8B28 4E 80 00 20 */ blr .global DrawHologram__10CGunWeaponCFRC13CStateManagerRC12CTransform4fRC11CModelFlags DrawHologram__10CGunWeaponCFRC13CStateManagerRC12CTransform4fRC11CModelFlags: /* 801BBBCC 001B8B2C 94 21 FF 00 */ stwu r1, -0x100(r1) /* 801BBBD0 001B8B30 7C 08 02 A6 */ mflr r0 /* 801BBBD4 001B8B34 90 01 01 04 */ stw r0, 0x104(r1) /* 801BBBD8 001B8B38 93 E1 00 FC */ stw r31, 0xfc(r1) /* 801BBBDC 001B8B3C 7C DF 33 78 */ mr r31, r6 /* 801BBBE0 001B8B40 93 C1 00 F8 */ stw r30, 0xf8(r1) /* 801BBBE4 001B8B44 7C 7E 1B 78 */ mr r30, r3 /* 801BBBE8 001B8B48 88 63 02 18 */ lbz r3, 0x218(r3) /* 801BBBEC 001B8B4C 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f /* 801BBBF0 001B8B50 41 82 01 00 */ beq lbl_801BBCF0 /* 801BBBF4 001B8B54 54 60 F7 FF */ rlwinm. r0, r3, 0x1e, 0x1f, 0x1f /* 801BBBF8 001B8B58 41 82 00 1C */ beq lbl_801BBC14 /* 801BBBFC 001B8B5C 7F E7 FB 78 */ mr r7, r31 /* 801BBC00 001B8B60 38 7E 00 60 */ addi r3, r30, 0x60 /* 801BBC04 001B8B64 38 80 00 00 */ li r4, 0 /* 801BBC08 001B8B68 38 C0 00 00 */ li r6, 0 /* 801BBC0C 001B8B6C 4B F5 A3 B9 */ bl FlatDraw__10CModelDataCF11EWhichModelRC12CTransform4fbRC11CModelFlags /* 801BBC10 001B8B70 48 00 00 E0 */ b lbl_801BBCF0 lbl_801BBC14: /* 801BBC14 001B8B74 C0 5E 00 10 */ lfs f2, 0x10(r30) /* 801BBC18 001B8B78 7C A4 2B 78 */ mr r4, r5 /* 801BBC1C 001B8B7C C0 3E 00 14 */ lfs f1, 0x14(r30) /* 801BBC20 001B8B80 38 61 00 74 */ addi r3, r1, 0x74 /* 801BBC24 001B8B84 C0 1E 00 18 */ lfs f0, 0x18(r30) /* 801BBC28 001B8B88 D0 41 00 08 */ stfs f2, 8(r1) /* 801BBC2C 001B8B8C D0 21 00 0C */ stfs f1, 0xc(r1) /* 801BBC30 001B8B90 D0 01 00 10 */ stfs f0, 0x10(r1) /* 801BBC34 001B8B94 48 15 6F 41 */ bl __ct__12CTransform4fFRC12CTransform4f /* 801BBC38 001B8B98 C0 21 00 08 */ lfs f1, 8(r1) /* 801BBC3C 001B8B9C 38 61 00 44 */ addi r3, r1, 0x44 /* 801BBC40 001B8BA0 C0 41 00 0C */ lfs f2, 0xc(r1) /* 801BBC44 001B8BA4 C0 61 00 10 */ lfs f3, 0x10(r1) /* 801BBC48 001B8BA8 48 15 75 C1 */ bl Scale__12CTransform4fFfff /* 801BBC4C 001B8BAC 38 61 00 14 */ addi r3, r1, 0x14 /* 801BBC50 001B8BB0 38 81 00 74 */ addi r4, r1, 0x74 /* 801BBC54 001B8BB4 38 A1 00 44 */ addi r5, r1, 0x44 /* 801BBC58 001B8BB8 48 15 6C F9 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 801BBC5C 001B8BBC 38 61 00 74 */ addi r3, r1, 0x74 /* 801BBC60 001B8BC0 38 81 00 14 */ addi r4, r1, 0x14 /* 801BBC64 001B8BC4 48 15 6E DD */ bl __as__12CTransform4fFRC12CTransform4f /* 801BBC68 001B8BC8 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BBC6C 001B8BCC 38 81 00 74 */ addi r4, r1, 0x74 /* 801BBC70 001B8BD0 81 83 00 00 */ lwz r12, 0(r3) /* 801BBC74 001B8BD4 81 8C 00 30 */ lwz r12, 0x30(r12) /* 801BBC78 001B8BD8 7D 89 03 A6 */ mtctr r12 /* 801BBC7C 001B8BDC 4E 80 04 21 */ bctrl /* 801BBC80 001B8BE0 48 15 0C FD */ bl DisableAllLights__9CGraphicsFv /* 801BBC84 001B8BE4 48 18 E3 29 */ bl White__6CColorFv /* 801BBC88 001B8BE8 7C 64 1B 78 */ mr r4, r3 /* 801BBC8C 001B8BEC 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BBC90 001B8BF0 81 83 00 00 */ lwz r12, 0(r3) /* 801BBC94 001B8BF4 81 8C 00 BC */ lwz r12, 0xbc(r12) /* 801BBC98 001B8BF8 7D 89 03 A6 */ mtctr r12 /* 801BBC9C 001B8BFC 4E 80 04 21 */ bctrl /* 801BBCA0 001B8C00 38 00 00 00 */ li r0, 0 /* 801BBCA4 001B8C04 80 9E 00 70 */ lwz r4, 0x70(r30) /* 801BBCA8 001B8C08 98 01 00 EC */ stb r0, 0xec(r1) /* 801BBCAC 001B8C0C 7F E5 FB 78 */ mr r5, r31 /* 801BBCB0 001B8C10 80 7E 00 20 */ lwz r3, 0x20(r30) /* 801BBCB4 001B8C14 38 C1 00 A4 */ addi r6, r1, 0xa4 /* 801BBCB8 001B8C18 80 84 00 E0 */ lwz r4, 0xe0(r4) /* 801BBCBC 001B8C1C 38 E0 00 00 */ li r7, 0 /* 801BBCC0 001B8C20 4B E7 0C 5D */ bl "Render__9CAnimDataCFRC13CSkinnedModelRC11CModelFlagsRCQ24rstl37optional_object<18CVertexMorphEffect>PCf" /* 801BBCC4 001B8C24 38 61 00 A4 */ addi r3, r1, 0xa4 /* 801BBCC8 001B8C28 38 80 FF FF */ li r4, -1 /* 801BBCCC 001B8C2C 4B EB BF C1 */ bl "__dt__Q24rstl37optional_object<18CVertexMorphEffect>Fv" /* 801BBCD0 001B8C30 48 18 E2 DD */ bl White__6CColorFv /* 801BBCD4 001B8C34 7C 64 1B 78 */ mr r4, r3 /* 801BBCD8 001B8C38 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 801BBCDC 001B8C3C 81 83 00 00 */ lwz r12, 0(r3) /* 801BBCE0 001B8C40 81 8C 00 BC */ lwz r12, 0xbc(r12) /* 801BBCE4 001B8C44 7D 89 03 A6 */ mtctr r12 /* 801BBCE8 001B8C48 4E 80 04 21 */ bctrl /* 801BBCEC 001B8C4C 48 15 0C 91 */ bl DisableAllLights__9CGraphicsFv lbl_801BBCF0: /* 801BBCF0 001B8C50 80 01 01 04 */ lwz r0, 0x104(r1) /* 801BBCF4 001B8C54 83 E1 00 FC */ lwz r31, 0xfc(r1) /* 801BBCF8 001B8C58 83 C1 00 F8 */ lwz r30, 0xf8(r1) /* 801BBCFC 001B8C5C 7C 08 03 A6 */ mtlr r0 /* 801BBD00 001B8C60 38 21 01 00 */ addi r1, r1, 0x100 /* 801BBD04 001B8C64 4E 80 00 20 */ blr .global Draw__10CGunWeaponCFbRC13CStateManagerRC12CTransform4fRC11CModelFlagsPC12CActorLights Draw__10CGunWeaponCFbRC13CStateManagerRC12CTransform4fRC11CModelFlagsPC12CActorLights: /* 801BBD08 001B8C68 94 21 FF 20 */ stwu r1, -0xe0(r1) /* 801BBD0C 001B8C6C 7C 08 02 A6 */ mflr r0 /* 801BBD10 001B8C70 90 01 00 E4 */ stw r0, 0xe4(r1) /* 801BBD14 001B8C74 BF 41 00 C8 */ stmw r26, 0xc8(r1) /* 801BBD18 001B8C78 7C 7A 1B 78 */ mr r26, r3 /* 801BBD1C 001B8C7C 7C 9B 23 78 */ mr r27, r4 /* 801BBD20 001B8C80 7C BC 2B 78 */ mr r28, r5 /* 801BBD24 001B8C84 7C DD 33 78 */ mr r29, r6 /* 801BBD28 001B8C88 7C FE 3B 78 */ mr r30, r7 /* 801BBD2C 001B8C8C 7D 1F 43 78 */ mr r31, r8 /* 801BBD30 001B8C90 88 03 02 18 */ lbz r0, 0x218(r3) /* 801BBD34 001B8C94 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 801BBD38 001B8C98 41 82 02 3C */ beq lbl_801BBF74 /* 801BBD3C 001B8C9C 80 82 A9 CC */ lwz r4, lbl_805AC6EC@sda21(r2) /* 801BBD40 001B8CA0 38 61 00 28 */ addi r3, r1, 0x28 /* 801BBD44 001B8CA4 4B E4 8F 75 */ bl string_l__4rstlFPCc /* 801BBD48 001B8CA8 38 61 00 38 */ addi r3, r1, 0x38 /* 801BBD4C 001B8CAC 38 9A 00 10 */ addi r4, r26, 0x10 /* 801BBD50 001B8CB0 38 A1 00 28 */ addi r5, r1, 0x28 /* 801BBD54 001B8CB4 4B F5 9C 4D */ bl "GetScaledLocatorTransform__10CModelDataCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 801BBD58 001B8CB8 7F A4 EB 78 */ mr r4, r29 /* 801BBD5C 001B8CBC 38 61 00 68 */ addi r3, r1, 0x68 /* 801BBD60 001B8CC0 38 A1 00 38 */ addi r5, r1, 0x38 /* 801BBD64 001B8CC4 48 15 6B ED */ bl __ml__12CTransform4fCFRC12CTransform4f /* 801BBD68 001B8CC8 38 61 00 98 */ addi r3, r1, 0x98 /* 801BBD6C 001B8CCC 38 81 00 68 */ addi r4, r1, 0x68 /* 801BBD70 001B8CD0 48 15 6E 05 */ bl __ct__12CTransform4fFRC12CTransform4f /* 801BBD74 001B8CD4 38 61 00 28 */ addi r3, r1, 0x28 /* 801BBD78 001B8CD8 48 18 1D 69 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 801BBD7C 001B8CDC 80 7A 01 BC */ lwz r3, 0x1bc(r26) /* 801BBD80 001B8CE0 28 03 00 00 */ cmplwi r3, 0 /* 801BBD84 001B8CE4 41 82 00 1C */ beq lbl_801BBDA0 /* 801BBD88 001B8CE8 88 03 00 48 */ lbz r0, 0x48(r3) /* 801BBD8C 001B8CEC 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 801BBD90 001B8CF0 41 82 00 10 */ beq lbl_801BBDA0 /* 801BBD94 001B8CF4 3C 80 80 1C */ lis r4, PointGenerator__10CGunWeaponFPvPC9CVector3fPC9CVector3fi@ha /* 801BBD98 001B8CF8 38 84 A4 7C */ addi r4, r4, PointGenerator__10CGunWeaponFPvPC9CVector3fPC9CVector3fi@l /* 801BBD9C 001B8CFC 48 19 69 79 */ bl SetPointGeneratorFunc__13CSkinnedModelFPvPFPvPC9CVector3fPC9CVector3fi_v lbl_801BBDA0: /* 801BBDA0 001B8D00 80 1C 0F 34 */ lwz r0, 0xf34(r28) /* 801BBDA4 001B8D04 2C 00 00 00 */ cmpwi r0, 0 /* 801BBDA8 001B8D08 40 82 01 08 */ bne lbl_801BBEB0 /* 801BBDAC 001B8D0C 80 1A 02 00 */ lwz r0, 0x200(r26) /* 801BBDB0 001B8D10 2C 00 00 01 */ cmpwi r0, 1 /* 801BBDB4 001B8D14 41 82 00 FC */ beq lbl_801BBEB0 /* 801BBDB8 001B8D18 E0 3E A0 07 */ psq_l f1, 7(r30), 1, qr2 /* 801BBDBC 001B8D1C 38 61 00 0C */ addi r3, r1, 0xc /* 801BBDC0 001B8D20 C0 02 A9 E8 */ lfs f0, lbl_805AC708@sda21(r2) /* 801BBDC4 001B8D24 EC 20 00 72 */ fmuls f1, f0, f1 /* 801BBDC8 001B8D28 FC 40 08 90 */ fmr f2, f1 /* 801BBDCC 001B8D2C FC 60 08 90 */ fmr f3, f1 /* 801BBDD0 001B8D30 FC 80 08 90 */ fmr f4, f1 /* 801BBDD4 001B8D34 48 1A 76 19 */ bl __ct__6CColorFffff /* 801BBDD8 001B8D38 88 1A 02 18 */ lbz r0, 0x218(r26) /* 801BBDDC 001B8D3C 38 60 00 40 */ li r3, 0x40 /* 801BBDE0 001B8D40 98 61 00 08 */ stb r3, 8(r1) /* 801BBDE4 001B8D44 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f /* 801BBDE8 001B8D48 98 61 00 09 */ stb r3, 9(r1) /* 801BBDEC 001B8D4C 98 61 00 0A */ stb r3, 0xa(r1) /* 801BBDF0 001B8D50 98 61 00 0B */ stb r3, 0xb(r1) /* 801BBDF4 001B8D54 41 82 00 1C */ beq lbl_801BBE10 /* 801BBDF8 001B8D58 7F 43 D3 78 */ mr r3, r26 /* 801BBDFC 001B8D5C 7F 84 E3 78 */ mr r4, r28 /* 801BBE00 001B8D60 7F A5 EB 78 */ mr r5, r29 /* 801BBE04 001B8D64 7F C6 F3 78 */ mr r6, r30 /* 801BBE08 001B8D68 4B FF FD C5 */ bl DrawHologram__10CGunWeaponCFRC13CStateManagerRC12CTransform4fRC11CModelFlags /* 801BBE0C 001B8D6C 48 00 00 48 */ b lbl_801BBE54 lbl_801BBE10: /* 801BBE10 001B8D70 C0 22 A9 D8 */ lfs f1, lbl_805AC6F8@sda21(r2) /* 801BBE14 001B8D74 38 80 00 00 */ li r4, 0 /* 801BBE18 001B8D78 38 00 00 03 */ li r0, 3 /* 801BBE1C 001B8D7C 98 81 00 20 */ stb r4, 0x20(r1) /* 801BBE20 001B8D80 FC 40 08 90 */ fmr f2, f1 /* 801BBE24 001B8D84 38 61 00 24 */ addi r3, r1, 0x24 /* 801BBE28 001B8D88 FC 60 08 90 */ fmr f3, f1 /* 801BBE2C 001B8D8C 98 81 00 21 */ stb r4, 0x21(r1) /* 801BBE30 001B8D90 FC 80 08 90 */ fmr f4, f1 /* 801BBE34 001B8D94 B0 01 00 22 */ sth r0, 0x22(r1) /* 801BBE38 001B8D98 48 1A 75 B5 */ bl __ct__6CColorFffff /* 801BBE3C 001B8D9C 7F A4 EB 78 */ mr r4, r29 /* 801BBE40 001B8DA0 38 7A 00 10 */ addi r3, r26, 0x10 /* 801BBE44 001B8DA4 38 A1 00 0C */ addi r5, r1, 0xc /* 801BBE48 001B8DA8 38 C1 00 08 */ addi r6, r1, 8 /* 801BBE4C 001B8DAC 38 E1 00 20 */ addi r7, r1, 0x20 /* 801BBE50 001B8DB0 4B F5 A4 51 */ bl RenderThermal__10CModelDataCFRC12CTransform4fRC6CColorRC6CColorRC11CModelFlags lbl_801BBE54: /* 801BBE54 001B8DB4 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 801BBE58 001B8DB8 41 82 00 F4 */ beq lbl_801BBF4C /* 801BBE5C 001B8DBC 88 1A 00 FC */ lbz r0, 0xfc(r26) /* 801BBE60 001B8DC0 28 00 00 00 */ cmplwi r0, 0 /* 801BBE64 001B8DC4 41 82 00 E8 */ beq lbl_801BBF4C /* 801BBE68 001B8DC8 C0 22 A9 D8 */ lfs f1, lbl_805AC6F8@sda21(r2) /* 801BBE6C 001B8DCC 38 80 00 00 */ li r4, 0 /* 801BBE70 001B8DD0 38 00 00 03 */ li r0, 3 /* 801BBE74 001B8DD4 98 81 00 18 */ stb r4, 0x18(r1) /* 801BBE78 001B8DD8 FC 40 08 90 */ fmr f2, f1 /* 801BBE7C 001B8DDC 38 61 00 1C */ addi r3, r1, 0x1c /* 801BBE80 001B8DE0 FC 60 08 90 */ fmr f3, f1 /* 801BBE84 001B8DE4 98 81 00 19 */ stb r4, 0x19(r1) /* 801BBE88 001B8DE8 FC 80 08 90 */ fmr f4, f1 /* 801BBE8C 001B8DEC B0 01 00 1A */ sth r0, 0x1a(r1) /* 801BBE90 001B8DF0 48 1A 75 5D */ bl __ct__6CColorFffff /* 801BBE94 001B8DF4 7F A4 EB 78 */ mr r4, r29 /* 801BBE98 001B8DF8 38 7A 00 B0 */ addi r3, r26, 0xb0 /* 801BBE9C 001B8DFC 38 A1 00 0C */ addi r5, r1, 0xc /* 801BBEA0 001B8E00 38 C1 00 08 */ addi r6, r1, 8 /* 801BBEA4 001B8E04 38 E1 00 18 */ addi r7, r1, 0x18 /* 801BBEA8 001B8E08 4B F5 A3 F9 */ bl RenderThermal__10CModelDataCFRC12CTransform4fRC6CColorRC6CColorRC11CModelFlags /* 801BBEAC 001B8E0C 48 00 00 A0 */ b lbl_801BBF4C lbl_801BBEB0: /* 801BBEB0 001B8E10 80 7C 08 B8 */ lwz r3, 0x8b8(r28) /* 801BBEB4 001B8E14 80 63 00 00 */ lwz r3, 0(r3) /* 801BBEB8 001B8E18 80 03 00 14 */ lwz r0, 0x14(r3) /* 801BBEBC 001B8E1C 2C 00 00 01 */ cmpwi r0, 1 /* 801BBEC0 001B8E20 41 82 00 4C */ beq lbl_801BBF0C /* 801BBEC4 001B8E24 88 1A 02 18 */ lbz r0, 0x218(r26) /* 801BBEC8 001B8E28 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f /* 801BBECC 001B8E2C 40 82 00 40 */ bne lbl_801BBF0C /* 801BBED0 001B8E30 81 3A 02 0C */ lwz r9, 0x20c(r26) /* 801BBED4 001B8E34 7F 84 E3 78 */ mr r4, r28 /* 801BBED8 001B8E38 88 7E 00 00 */ lbz r3, 0(r30) /* 801BBEDC 001B8E3C 7F A5 EB 78 */ mr r5, r29 /* 801BBEE0 001B8E40 A1 1E 00 02 */ lhz r8, 2(r30) /* 801BBEE4 001B8E44 7F E6 FB 78 */ mr r6, r31 /* 801BBEE8 001B8E48 80 1E 00 04 */ lwz r0, 4(r30) /* 801BBEEC 001B8E4C 38 E1 00 10 */ addi r7, r1, 0x10 /* 801BBEF0 001B8E50 98 61 00 10 */ stb r3, 0x10(r1) /* 801BBEF4 001B8E54 38 7A 00 10 */ addi r3, r26, 0x10 /* 801BBEF8 001B8E58 99 21 00 11 */ stb r9, 0x11(r1) /* 801BBEFC 001B8E5C B1 01 00 12 */ sth r8, 0x12(r1) /* 801BBF00 001B8E60 90 01 00 14 */ stw r0, 0x14(r1) /* 801BBF04 001B8E64 4B F5 8E B9 */ bl Render__10CModelDataCFRC13CStateManagerRC12CTransform4fPC12CActorLightsRC11CModelFlags /* 801BBF08 001B8E68 48 00 00 18 */ b lbl_801BBF20 lbl_801BBF0C: /* 801BBF0C 001B8E6C 7F 43 D3 78 */ mr r3, r26 /* 801BBF10 001B8E70 7F 84 E3 78 */ mr r4, r28 /* 801BBF14 001B8E74 7F A5 EB 78 */ mr r5, r29 /* 801BBF18 001B8E78 7F C6 F3 78 */ mr r6, r30 /* 801BBF1C 001B8E7C 4B FF FC B1 */ bl DrawHologram__10CGunWeaponCFRC13CStateManagerRC12CTransform4fRC11CModelFlags lbl_801BBF20: /* 801BBF20 001B8E80 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 801BBF24 001B8E84 41 82 00 28 */ beq lbl_801BBF4C /* 801BBF28 001B8E88 88 1A 00 FC */ lbz r0, 0xfc(r26) /* 801BBF2C 001B8E8C 28 00 00 00 */ cmplwi r0, 0 /* 801BBF30 001B8E90 41 82 00 1C */ beq lbl_801BBF4C /* 801BBF34 001B8E94 7F 84 E3 78 */ mr r4, r28 /* 801BBF38 001B8E98 7F E6 FB 78 */ mr r6, r31 /* 801BBF3C 001B8E9C 7F C7 F3 78 */ mr r7, r30 /* 801BBF40 001B8EA0 38 7A 00 B0 */ addi r3, r26, 0xb0 /* 801BBF44 001B8EA4 38 A1 00 98 */ addi r5, r1, 0x98 /* 801BBF48 001B8EA8 4B F5 8E 75 */ bl Render__10CModelDataCFRC13CStateManagerRC12CTransform4fPC12CActorLightsRC11CModelFlags lbl_801BBF4C: /* 801BBF4C 001B8EAC 80 7A 01 BC */ lwz r3, 0x1bc(r26) /* 801BBF50 001B8EB0 28 03 00 00 */ cmplwi r3, 0 /* 801BBF54 001B8EB4 41 82 00 20 */ beq lbl_801BBF74 /* 801BBF58 001B8EB8 88 03 00 48 */ lbz r0, 0x48(r3) /* 801BBF5C 001B8EBC 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 801BBF60 001B8EC0 41 82 00 14 */ beq lbl_801BBF74 /* 801BBF64 001B8EC4 48 19 67 A5 */ bl ClearPointGeneratorFunc__13CSkinnedModelFv /* 801BBF68 001B8EC8 80 7A 01 BC */ lwz r3, 0x1bc(r26) /* 801BBF6C 001B8ECC 7F A4 EB 78 */ mr r4, r29 /* 801BBF70 001B8ED0 48 0A E4 51 */ bl Draw__20CRainSplashGeneratorCFRC12CTransform4f lbl_801BBF74: /* 801BBF74 001B8ED4 BB 41 00 C8 */ lmw r26, 0xc8(r1) /* 801BBF78 001B8ED8 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 801BBF7C 001B8EDC 7C 08 03 A6 */ mtlr r0 /* 801BBF80 001B8EE0 38 21 00 E0 */ addi r1, r1, 0xe0 /* 801BBF84 001B8EE4 4E 80 00 20 */ blr .global ActivateCharge__10CGunWeaponFbb ActivateCharge__10CGunWeaponFbb: /* 801BBF88 001B8EE8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801BBF8C 001B8EEC 7C 08 02 A6 */ mflr r0 /* 801BBF90 001B8EF0 90 01 00 34 */ stw r0, 0x34(r1) /* 801BBF94 001B8EF4 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801BBF98 001B8EF8 93 C1 00 28 */ stw r30, 0x28(r1) /* 801BBF9C 001B8EFC 7C 7E 1B 78 */ mr r30, r3 /* 801BBFA0 001B8F00 3B FE 01 A8 */ addi r31, r30, 0x1a8 /* 801BBFA4 001B8F04 93 A1 00 24 */ stw r29, 0x24(r1) /* 801BBFA8 001B8F08 7C 9D 23 78 */ mr r29, r4 /* 801BBFAC 001B8F0C 38 80 00 00 */ li r4, 0 /* 801BBFB0 001B8F10 93 81 00 20 */ stw r28, 0x20(r1) /* 801BBFB4 001B8F14 7C BC 2B 78 */ mr r28, r5 /* 801BBFB8 001B8F18 80 03 02 08 */ lwz r0, 0x208(r3) /* 801BBFBC 001B8F1C 54 00 18 38 */ slwi r0, r0, 3 /* 801BBFC0 001B8F20 7C 7F 02 14 */ add r3, r31, r0 /* 801BBFC4 001B8F24 80 63 00 04 */ lwz r3, 4(r3) /* 801BBFC8 001B8F28 81 83 00 00 */ lwz r12, 0(r3) /* 801BBFCC 001B8F2C 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 801BBFD0 001B8F30 7D 89 03 A6 */ mtctr r12 /* 801BBFD4 001B8F34 4E 80 04 21 */ bctrl /* 801BBFD8 001B8F38 57 A3 06 3F */ clrlwi. r3, r29, 0x18 /* 801BBFDC 001B8F3C 7C 03 00 D0 */ neg r0, r3 /* 801BBFE0 001B8F40 7C 00 1B 78 */ or r0, r0, r3 /* 801BBFE4 001B8F44 54 00 0F FE */ srwi r0, r0, 0x1f /* 801BBFE8 001B8F48 90 1E 02 08 */ stw r0, 0x208(r30) /* 801BBFEC 001B8F4C 40 82 00 0C */ bne lbl_801BBFF8 /* 801BBFF0 001B8F50 57 80 06 3F */ clrlwi. r0, r28, 0x18 /* 801BBFF4 001B8F54 41 82 01 0C */ beq lbl_801BC100 lbl_801BBFF8: /* 801BBFF8 001B8F58 3C 60 80 3D */ lis r3, lbl_803D1828@ha /* 801BBFFC 001B8F5C 3B A0 00 00 */ li r29, 0 /* 801BC000 001B8F60 38 83 18 28 */ addi r4, r3, lbl_803D1828@l /* 801BC004 001B8F64 38 60 03 40 */ li r3, 0x340 /* 801BC008 001B8F68 38 84 01 B5 */ addi r4, r4, 0x1b5 /* 801BC00C 001B8F6C 38 A0 00 00 */ li r5, 0 /* 801BC010 001B8F70 48 15 98 5D */ bl __nw__FUlPCcPCc /* 801BC014 001B8F74 7C 7C 1B 79 */ or. r28, r3, r3 /* 801BC018 001B8F78 41 82 00 38 */ beq lbl_801BC050 /* 801BC01C 001B8F7C 80 1E 02 08 */ lwz r0, 0x208(r30) /* 801BC020 001B8F80 38 61 00 10 */ addi r3, r1, 0x10 /* 801BC024 001B8F84 1C 00 00 0C */ mulli r0, r0, 0xc /* 801BC028 001B8F88 7C 9E 02 14 */ add r4, r30, r0 /* 801BC02C 001B8F8C 38 84 01 70 */ addi r4, r4, 0x170 /* 801BC030 001B8F90 48 18 4E 79 */ bl __ct__6CTokenFRC6CToken /* 801BC034 001B8F94 7F 83 E3 78 */ mr r3, r28 /* 801BC038 001B8F98 38 81 00 10 */ addi r4, r1, 0x10 /* 801BC03C 001B8F9C 3B A0 00 01 */ li r29, 1 /* 801BC040 001B8FA0 38 A0 00 00 */ li r5, 0 /* 801BC044 001B8FA4 38 C0 00 01 */ li r6, 1 /* 801BC048 001B8FA8 48 16 33 99 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 801BC04C 001B8FAC 7C 7C 1B 78 */ mr r28, r3 lbl_801BC050: /* 801BC050 001B8FB0 7C 1C 00 D0 */ neg r0, r28 /* 801BC054 001B8FB4 93 81 00 0C */ stw r28, 0xc(r1) /* 801BC058 001B8FB8 7C 03 E3 78 */ or r3, r0, r28 /* 801BC05C 001B8FBC 38 01 00 08 */ addi r0, r1, 8 /* 801BC060 001B8FC0 54 63 0F FE */ srwi r3, r3, 0x1f /* 801BC064 001B8FC4 98 61 00 08 */ stb r3, 8(r1) /* 801BC068 001B8FC8 80 7E 02 08 */ lwz r3, 0x208(r30) /* 801BC06C 001B8FCC 54 63 18 38 */ slwi r3, r3, 3 /* 801BC070 001B8FD0 7F 9F 1A 14 */ add r28, r31, r3 /* 801BC074 001B8FD4 7C 00 E0 40 */ cmplw r0, r28 /* 801BC078 001B8FD8 41 82 00 48 */ beq lbl_801BC0C0 /* 801BC07C 001B8FDC 88 1C 00 00 */ lbz r0, 0(r28) /* 801BC080 001B8FE0 28 00 00 00 */ cmplwi r0, 0 /* 801BC084 001B8FE4 41 82 00 24 */ beq lbl_801BC0A8 /* 801BC088 001B8FE8 80 7C 00 04 */ lwz r3, 4(r28) /* 801BC08C 001B8FEC 28 03 00 00 */ cmplwi r3, 0 /* 801BC090 001B8FF0 41 82 00 18 */ beq lbl_801BC0A8 /* 801BC094 001B8FF4 81 83 00 00 */ lwz r12, 0(r3) /* 801BC098 001B8FF8 38 80 00 01 */ li r4, 1 /* 801BC09C 001B8FFC 81 8C 00 08 */ lwz r12, 8(r12) /* 801BC0A0 001B9000 7D 89 03 A6 */ mtctr r12 /* 801BC0A4 001B9004 4E 80 04 21 */ bctrl lbl_801BC0A8: /* 801BC0A8 001B9008 88 61 00 08 */ lbz r3, 8(r1) /* 801BC0AC 001B900C 38 00 00 00 */ li r0, 0 /* 801BC0B0 001B9010 98 7C 00 00 */ stb r3, 0(r28) /* 801BC0B4 001B9014 80 61 00 0C */ lwz r3, 0xc(r1) /* 801BC0B8 001B9018 90 7C 00 04 */ stw r3, 4(r28) /* 801BC0BC 001B901C 98 01 00 08 */ stb r0, 8(r1) lbl_801BC0C0: /* 801BC0C0 001B9020 88 01 00 08 */ lbz r0, 8(r1) /* 801BC0C4 001B9024 28 00 00 00 */ cmplwi r0, 0 /* 801BC0C8 001B9028 41 82 00 24 */ beq lbl_801BC0EC /* 801BC0CC 001B902C 80 61 00 0C */ lwz r3, 0xc(r1) /* 801BC0D0 001B9030 28 03 00 00 */ cmplwi r3, 0 /* 801BC0D4 001B9034 41 82 00 18 */ beq lbl_801BC0EC /* 801BC0D8 001B9038 81 83 00 00 */ lwz r12, 0(r3) /* 801BC0DC 001B903C 38 80 00 01 */ li r4, 1 /* 801BC0E0 001B9040 81 8C 00 08 */ lwz r12, 8(r12) /* 801BC0E4 001B9044 7D 89 03 A6 */ mtctr r12 /* 801BC0E8 001B9048 4E 80 04 21 */ bctrl lbl_801BC0EC: /* 801BC0EC 001B904C 7F A0 07 75 */ extsb. r0, r29 /* 801BC0F0 001B9050 41 82 00 10 */ beq lbl_801BC100 /* 801BC0F4 001B9054 38 61 00 10 */ addi r3, r1, 0x10 /* 801BC0F8 001B9058 38 80 00 00 */ li r4, 0 /* 801BC0FC 001B905C 48 18 4D 45 */ bl __dt__6CTokenFv lbl_801BC100: /* 801BC100 001B9060 80 01 00 34 */ lwz r0, 0x34(r1) /* 801BC104 001B9064 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801BC108 001B9068 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801BC10C 001B906C 83 A1 00 24 */ lwz r29, 0x24(r1) /* 801BC110 001B9070 83 81 00 20 */ lwz r28, 0x20(r1) /* 801BC114 001B9074 7C 08 03 A6 */ mtlr r0 /* 801BC118 001B9078 38 21 00 30 */ addi r1, r1, 0x30 /* 801BC11C 001B907C 4E 80 00 20 */ blr .global DrawMuzzleFx__10CGunWeaponCFRC13CStateManager DrawMuzzleFx__10CGunWeaponCFRC13CStateManager: /* 801BC120 001B9080 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BC124 001B9084 7C 08 02 A6 */ mflr r0 /* 801BC128 001B9088 90 01 00 14 */ stw r0, 0x14(r1) /* 801BC12C 001B908C 93 E1 00 0C */ stw r31, 0xc(r1) /* 801BC130 001B9090 93 C1 00 08 */ stw r30, 8(r1) /* 801BC134 001B9094 7C 7E 1B 78 */ mr r30, r3 /* 801BC138 001B9098 3B FE 01 A8 */ addi r31, r30, 0x1a8 /* 801BC13C 001B909C 80 03 02 08 */ lwz r0, 0x208(r3) /* 801BC140 001B90A0 54 00 18 38 */ slwi r0, r0, 3 /* 801BC144 001B90A4 7C 7F 02 14 */ add r3, r31, r0 /* 801BC148 001B90A8 80 03 00 04 */ lwz r0, 4(r3) /* 801BC14C 001B90AC 28 00 00 00 */ cmplwi r0, 0 /* 801BC150 001B90B0 41 82 00 78 */ beq lbl_801BC1C8 /* 801BC154 001B90B4 80 1E 02 00 */ lwz r0, 0x200(r30) /* 801BC158 001B90B8 2C 00 00 01 */ cmpwi r0, 1 /* 801BC15C 001B90BC 41 82 00 4C */ beq lbl_801BC1A8 /* 801BC160 001B90C0 80 64 08 B8 */ lwz r3, 0x8b8(r4) /* 801BC164 001B90C4 80 63 00 00 */ lwz r3, 0(r3) /* 801BC168 001B90C8 4B ED 53 F1 */ bl GetActiveVisor__12CPlayerStateCFRC13CStateManager /* 801BC16C 001B90CC 2C 03 00 01 */ cmpwi r3, 1 /* 801BC170 001B90D0 40 82 00 38 */ bne lbl_801BC1A8 /* 801BC174 001B90D4 80 1E 02 08 */ lwz r0, 0x208(r30) /* 801BC178 001B90D8 38 60 00 01 */ li r3, 1 /* 801BC17C 001B90DC 98 6D A8 B9 */ stb r3, sSubtractBlend__11CElementGen@sda21(r13) /* 801BC180 001B90E0 54 03 18 38 */ slwi r3, r0, 3 /* 801BC184 001B90E4 38 03 00 04 */ addi r0, r3, 4 /* 801BC188 001B90E8 7C 7F 00 2E */ lwzx r3, r31, r0 /* 801BC18C 001B90EC 81 83 00 00 */ lwz r12, 0(r3) /* 801BC190 001B90F0 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801BC194 001B90F4 7D 89 03 A6 */ mtctr r12 /* 801BC198 001B90F8 4E 80 04 21 */ bctrl /* 801BC19C 001B90FC 38 00 00 00 */ li r0, 0 /* 801BC1A0 001B9100 98 0D A8 B9 */ stb r0, sSubtractBlend__11CElementGen@sda21(r13) /* 801BC1A4 001B9104 48 00 00 24 */ b lbl_801BC1C8 lbl_801BC1A8: /* 801BC1A8 001B9108 80 1E 02 08 */ lwz r0, 0x208(r30) /* 801BC1AC 001B910C 54 03 18 38 */ slwi r3, r0, 3 /* 801BC1B0 001B9110 38 03 00 04 */ addi r0, r3, 4 /* 801BC1B4 001B9114 7C 7F 00 2E */ lwzx r3, r31, r0 /* 801BC1B8 001B9118 81 83 00 00 */ lwz r12, 0(r3) /* 801BC1BC 001B911C 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801BC1C0 001B9120 7D 89 03 A6 */ mtctr r12 /* 801BC1C4 001B9124 4E 80 04 21 */ bctrl lbl_801BC1C8: /* 801BC1C8 001B9128 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BC1CC 001B912C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801BC1D0 001B9130 83 C1 00 08 */ lwz r30, 8(r1) /* 801BC1D4 001B9134 7C 08 03 A6 */ mtlr r0 /* 801BC1D8 001B9138 38 21 00 10 */ addi r1, r1, 0x10 /* 801BC1DC 001B913C 4E 80 00 20 */ blr .global GetChargeMuzzleFx__10CGunWeaponCFv GetChargeMuzzleFx__10CGunWeaponCFv: /* 801BC1E0 001B9140 80 63 01 B4 */ lwz r3, 0x1b4(r3) /* 801BC1E4 001B9144 28 03 00 00 */ cmplwi r3, 0 /* 801BC1E8 001B9148 4C 82 00 20 */ bnelr /* 801BC1EC 001B914C 38 60 00 00 */ li r3, 0 /* 801BC1F0 001B9150 4E 80 00 20 */ blr .global UpdateMuzzleFx__10CGunWeaponFfRC9CVector3fRC9CVector3fb UpdateMuzzleFx__10CGunWeaponFfRC9CVector3fRC9CVector3fb: /* 801BC1F4 001B9154 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801BC1F8 001B9158 7C 08 02 A6 */ mflr r0 /* 801BC1FC 001B915C 90 01 00 24 */ stw r0, 0x24(r1) /* 801BC200 001B9160 DB E1 00 18 */ stfd f31, 0x18(r1) /* 801BC204 001B9164 FF E0 08 90 */ fmr f31, f1 /* 801BC208 001B9168 93 E1 00 14 */ stw r31, 0x14(r1) /* 801BC20C 001B916C 93 C1 00 10 */ stw r30, 0x10(r1) /* 801BC210 001B9170 7C DE 33 78 */ mr r30, r6 /* 801BC214 001B9174 93 A1 00 0C */ stw r29, 0xc(r1) /* 801BC218 001B9178 7C 9D 23 78 */ mr r29, r4 /* 801BC21C 001B917C 7C A4 2B 78 */ mr r4, r5 /* 801BC220 001B9180 93 81 00 08 */ stw r28, 8(r1) /* 801BC224 001B9184 7C 7C 1B 78 */ mr r28, r3 /* 801BC228 001B9188 3B FC 01 A8 */ addi r31, r28, 0x1a8 /* 801BC22C 001B918C 80 03 02 08 */ lwz r0, 0x208(r3) /* 801BC230 001B9190 54 00 18 38 */ slwi r0, r0, 3 /* 801BC234 001B9194 7C 7F 02 14 */ add r3, r31, r0 /* 801BC238 001B9198 80 63 00 04 */ lwz r3, 4(r3) /* 801BC23C 001B919C 81 83 00 00 */ lwz r12, 0(r3) /* 801BC240 001B91A0 81 8C 00 20 */ lwz r12, 0x20(r12) /* 801BC244 001B91A4 7D 89 03 A6 */ mtctr r12 /* 801BC248 001B91A8 4E 80 04 21 */ bctrl /* 801BC24C 001B91AC 80 1C 02 08 */ lwz r0, 0x208(r28) /* 801BC250 001B91B0 7F A4 EB 78 */ mr r4, r29 /* 801BC254 001B91B4 54 03 18 38 */ slwi r3, r0, 3 /* 801BC258 001B91B8 38 03 00 04 */ addi r0, r3, 4 /* 801BC25C 001B91BC 7C 7F 00 2E */ lwzx r3, r31, r0 /* 801BC260 001B91C0 81 83 00 00 */ lwz r12, 0(r3) /* 801BC264 001B91C4 81 8C 00 24 */ lwz r12, 0x24(r12) /* 801BC268 001B91C8 7D 89 03 A6 */ mtctr r12 /* 801BC26C 001B91CC 4E 80 04 21 */ bctrl /* 801BC270 001B91D0 80 1C 02 08 */ lwz r0, 0x208(r28) /* 801BC274 001B91D4 7F C4 F3 78 */ mr r4, r30 /* 801BC278 001B91D8 54 03 18 38 */ slwi r3, r0, 3 /* 801BC27C 001B91DC 38 03 00 04 */ addi r0, r3, 4 /* 801BC280 001B91E0 7C 7F 00 2E */ lwzx r3, r31, r0 /* 801BC284 001B91E4 81 83 00 00 */ lwz r12, 0(r3) /* 801BC288 001B91E8 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 801BC28C 001B91EC 7D 89 03 A6 */ mtctr r12 /* 801BC290 001B91F0 4E 80 04 21 */ bctrl /* 801BC294 001B91F4 80 1C 02 08 */ lwz r0, 0x208(r28) /* 801BC298 001B91F8 FC 20 F8 90 */ fmr f1, f31 /* 801BC29C 001B91FC 54 03 18 38 */ slwi r3, r0, 3 /* 801BC2A0 001B9200 38 03 00 04 */ addi r0, r3, 4 /* 801BC2A4 001B9204 7C 7F 00 2E */ lwzx r3, r31, r0 /* 801BC2A8 001B9208 81 83 00 00 */ lwz r12, 0(r3) /* 801BC2AC 001B920C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 801BC2B0 001B9210 7D 89 03 A6 */ mtctr r12 /* 801BC2B4 001B9214 4E 80 04 21 */ bctrl /* 801BC2B8 001B9218 80 01 00 24 */ lwz r0, 0x24(r1) /* 801BC2BC 001B921C CB E1 00 18 */ lfd f31, 0x18(r1) /* 801BC2C0 001B9220 83 E1 00 14 */ lwz r31, 0x14(r1) /* 801BC2C4 001B9224 83 C1 00 10 */ lwz r30, 0x10(r1) /* 801BC2C8 001B9228 83 A1 00 0C */ lwz r29, 0xc(r1) /* 801BC2CC 001B922C 83 81 00 08 */ lwz r28, 8(r1) /* 801BC2D0 001B9230 7C 08 03 A6 */ mtlr r0 /* 801BC2D4 001B9234 38 21 00 20 */ addi r1, r1, 0x20 /* 801BC2D8 001B9238 4E 80 00 20 */ blr .global UpdateGunFx__10CGunWeaponFbfRC13CStateManagerRC12CTransform4f UpdateGunFx__10CGunWeaponFbfRC13CStateManagerRC12CTransform4f: /* 801BC2DC 001B923C 94 21 FF 90 */ stwu r1, -0x70(r1) /* 801BC2E0 001B9240 7C 08 02 A6 */ mflr r0 /* 801BC2E4 001B9244 90 01 00 74 */ stw r0, 0x74(r1) /* 801BC2E8 001B9248 DB E1 00 60 */ stfd f31, 0x60(r1) /* 801BC2EC 001B924C F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 801BC2F0 001B9250 93 E1 00 5C */ stw r31, 0x5c(r1) /* 801BC2F4 001B9254 93 C1 00 58 */ stw r30, 0x58(r1) /* 801BC2F8 001B9258 93 A1 00 54 */ stw r29, 0x54(r1) /* 801BC2FC 001B925C 88 03 02 18 */ lbz r0, 0x218(r3) /* 801BC300 001B9260 FF E0 08 90 */ fmr f31, f1 /* 801BC304 001B9264 7C 7D 1B 78 */ mr r29, r3 /* 801BC308 001B9268 7C DE 33 78 */ mr r30, r6 /* 801BC30C 001B926C 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 801BC310 001B9270 41 82 00 F0 */ beq lbl_801BC400 /* 801BC314 001B9274 80 1D 02 04 */ lwz r0, 0x204(r29) /* 801BC318 001B9278 2C 00 00 00 */ cmpwi r0, 0 /* 801BC31C 001B927C 41 82 00 E4 */ beq lbl_801BC400 /* 801BC320 001B9280 2C 00 00 02 */ cmpwi r0, 2 /* 801BC324 001B9284 40 82 00 B0 */ bne lbl_801BC3D4 /* 801BC328 001B9288 80 7D 01 B8 */ lwz r3, 0x1b8(r29) /* 801BC32C 001B928C 81 83 00 00 */ lwz r12, 0(r3) /* 801BC330 001B9290 81 8C 00 58 */ lwz r12, 0x58(r12) /* 801BC334 001B9294 7D 89 03 A6 */ mtctr r12 /* 801BC338 001B9298 4E 80 04 21 */ bctrl /* 801BC33C 001B929C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801BC340 001B92A0 41 82 00 38 */ beq lbl_801BC378 /* 801BC344 001B92A4 38 00 00 00 */ li r0, 0 /* 801BC348 001B92A8 90 1D 02 04 */ stw r0, 0x204(r29) /* 801BC34C 001B92AC 80 7D 01 B8 */ lwz r3, 0x1b8(r29) /* 801BC350 001B92B0 28 03 00 00 */ cmplwi r3, 0 /* 801BC354 001B92B4 41 82 00 18 */ beq lbl_801BC36C /* 801BC358 001B92B8 81 83 00 00 */ lwz r12, 0(r3) /* 801BC35C 001B92BC 38 80 00 01 */ li r4, 1 /* 801BC360 001B92C0 81 8C 00 08 */ lwz r12, 8(r12) /* 801BC364 001B92C4 7D 89 03 A6 */ mtctr r12 /* 801BC368 001B92C8 4E 80 04 21 */ bctrl lbl_801BC36C: /* 801BC36C 001B92CC 38 00 00 00 */ li r0, 0 /* 801BC370 001B92D0 90 1D 01 B8 */ stw r0, 0x1b8(r29) /* 801BC374 001B92D4 48 00 00 6C */ b lbl_801BC3E0 lbl_801BC378: /* 801BC378 001B92D8 C0 5E 00 2C */ lfs f2, 0x2c(r30) /* 801BC37C 001B92DC 38 81 00 08 */ addi r4, r1, 8 /* 801BC380 001B92E0 C0 3E 00 1C */ lfs f1, 0x1c(r30) /* 801BC384 001B92E4 C0 1E 00 0C */ lfs f0, 0xc(r30) /* 801BC388 001B92E8 D0 21 00 0C */ stfs f1, 0xc(r1) /* 801BC38C 001B92EC D0 01 00 08 */ stfs f0, 8(r1) /* 801BC390 001B92F0 D0 41 00 10 */ stfs f2, 0x10(r1) /* 801BC394 001B92F4 80 7D 01 B8 */ lwz r3, 0x1b8(r29) /* 801BC398 001B92F8 81 83 00 00 */ lwz r12, 0(r3) /* 801BC39C 001B92FC 81 8C 00 18 */ lwz r12, 0x18(r12) /* 801BC3A0 001B9300 7D 89 03 A6 */ mtctr r12 /* 801BC3A4 001B9304 4E 80 04 21 */ bctrl /* 801BC3A8 001B9308 83 FD 01 B8 */ lwz r31, 0x1b8(r29) /* 801BC3AC 001B930C 7F C4 F3 78 */ mr r4, r30 /* 801BC3B0 001B9310 38 61 00 14 */ addi r3, r1, 0x14 /* 801BC3B4 001B9314 48 15 68 8D */ bl GetRotation__12CTransform4fCFv /* 801BC3B8 001B9318 7F E3 FB 78 */ mr r3, r31 /* 801BC3BC 001B931C 38 81 00 14 */ addi r4, r1, 0x14 /* 801BC3C0 001B9320 81 9F 00 00 */ lwz r12, 0(r31) /* 801BC3C4 001B9324 81 8C 00 14 */ lwz r12, 0x14(r12) /* 801BC3C8 001B9328 7D 89 03 A6 */ mtctr r12 /* 801BC3CC 001B932C 4E 80 04 21 */ bctrl /* 801BC3D0 001B9330 48 00 00 10 */ b lbl_801BC3E0 lbl_801BC3D4: /* 801BC3D4 001B9334 80 7D 01 B8 */ lwz r3, 0x1b8(r29) /* 801BC3D8 001B9338 7F C4 F3 78 */ mr r4, r30 /* 801BC3DC 001B933C 48 16 27 A9 */ bl SetGlobalOrientAndTrans__11CElementGenFRC12CTransform4f lbl_801BC3E0: /* 801BC3E0 001B9340 80 7D 01 B8 */ lwz r3, 0x1b8(r29) /* 801BC3E4 001B9344 28 03 00 00 */ cmplwi r3, 0 /* 801BC3E8 001B9348 41 82 00 18 */ beq lbl_801BC400 /* 801BC3EC 001B934C 81 83 00 00 */ lwz r12, 0(r3) /* 801BC3F0 001B9350 FC 20 F8 90 */ fmr f1, f31 /* 801BC3F4 001B9354 81 8C 00 0C */ lwz r12, 0xc(r12) /* 801BC3F8 001B9358 7D 89 03 A6 */ mtctr r12 /* 801BC3FC 001B935C 4E 80 04 21 */ bctrl lbl_801BC400: /* 801BC400 001B9360 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 801BC404 001B9364 80 01 00 74 */ lwz r0, 0x74(r1) /* 801BC408 001B9368 CB E1 00 60 */ lfd f31, 0x60(r1) /* 801BC40C 001B936C 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 801BC410 001B9370 83 C1 00 58 */ lwz r30, 0x58(r1) /* 801BC414 001B9374 83 A1 00 54 */ lwz r29, 0x54(r1) /* 801BC418 001B9378 7C 08 03 A6 */ mtlr r0 /* 801BC41C 001B937C 38 21 00 70 */ addi r1, r1, 0x70 /* 801BC420 001B9380 4E 80 00 20 */ blr .global PostRenderGunFx__10CGunWeaponFRC13CStateManagerRC12CTransform4f PostRenderGunFx__10CGunWeaponFRC13CStateManagerRC12CTransform4f: /* 801BC424 001B9384 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BC428 001B9388 7C 08 02 A6 */ mflr r0 /* 801BC42C 001B938C 90 01 00 14 */ stw r0, 0x14(r1) /* 801BC430 001B9390 88 03 02 18 */ lbz r0, 0x218(r3) /* 801BC434 001B9394 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 801BC438 001B9398 41 82 00 30 */ beq lbl_801BC468 /* 801BC43C 001B939C 80 83 01 B8 */ lwz r4, 0x1b8(r3) /* 801BC440 001B93A0 28 04 00 00 */ cmplwi r4, 0 /* 801BC444 001B93A4 41 82 00 24 */ beq lbl_801BC468 /* 801BC448 001B93A8 80 03 02 04 */ lwz r0, 0x204(r3) /* 801BC44C 001B93AC 2C 00 00 00 */ cmpwi r0, 0 /* 801BC450 001B93B0 41 82 00 18 */ beq lbl_801BC468 /* 801BC454 001B93B4 7C 83 23 78 */ mr r3, r4 /* 801BC458 001B93B8 81 84 00 00 */ lwz r12, 0(r4) /* 801BC45C 001B93BC 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801BC460 001B93C0 7D 89 03 A6 */ mtctr r12 /* 801BC464 001B93C4 4E 80 04 21 */ bctrl lbl_801BC468: /* 801BC468 001B93C8 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BC46C 001B93CC 7C 08 03 A6 */ mtlr r0 /* 801BC470 001B93D0 38 21 00 10 */ addi r1, r1, 0x10 /* 801BC474 001B93D4 4E 80 00 20 */ blr .global Update__10CGunWeaponFfR13CStateManager Update__10CGunWeaponFfR13CStateManager: /* 801BC478 001B93D8 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801BC47C 001B93DC 7C 08 02 A6 */ mflr r0 /* 801BC480 001B93E0 90 01 00 44 */ stw r0, 0x44(r1) /* 801BC484 001B93E4 DB E1 00 38 */ stfd f31, 0x38(r1) /* 801BC488 001B93E8 FF E0 08 90 */ fmr f31, f1 /* 801BC48C 001B93EC 93 E1 00 34 */ stw r31, 0x34(r1) /* 801BC490 001B93F0 7C 9F 23 78 */ mr r31, r4 /* 801BC494 001B93F4 93 C1 00 30 */ stw r30, 0x30(r1) /* 801BC498 001B93F8 7C 7E 1B 78 */ mr r30, r3 /* 801BC49C 001B93FC 88 03 02 18 */ lbz r0, 0x218(r3) /* 801BC4A0 001B9400 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 801BC4A4 001B9404 41 82 00 50 */ beq lbl_801BC4F4 /* 801BC4A8 001B9408 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13) /* 801BC4AC 001B940C 7F E5 FB 78 */ mr r5, r31 /* 801BC4B0 001B9410 38 61 00 0C */ addi r3, r1, 0xc /* 801BC4B4 001B9414 38 9E 00 10 */ addi r4, r30, 0x10 /* 801BC4B8 001B9418 90 01 00 08 */ stw r0, 8(r1) /* 801BC4BC 001B941C 38 C1 00 08 */ addi r6, r1, 8 /* 801BC4C0 001B9420 38 E0 00 01 */ li r7, 1 /* 801BC4C4 001B9424 4B F5 96 71 */ bl AdvanceAnimation__10CModelDataFfR13CStateManager7TAreaIdb /* 801BC4C8 001B9428 FC 20 F8 90 */ fmr f1, f31 /* 801BC4CC 001B942C 80 7E 01 00 */ lwz r3, 0x100(r30) /* 801BC4D0 001B9430 7F E4 FB 78 */ mr r4, r31 /* 801BC4D4 001B9434 48 01 01 6D */ bl Update__14CGunControllerFfR13CStateManager /* 801BC4D8 001B9438 88 1E 02 18 */ lbz r0, 0x218(r30) /* 801BC4DC 001B943C 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 801BC4E0 001B9440 41 82 00 EC */ beq lbl_801BC5CC /* 801BC4E4 001B9444 7F C3 F3 78 */ mr r3, r30 /* 801BC4E8 001B9448 7F E4 FB 78 */ mr r4, r31 /* 801BC4EC 001B944C 4B FF DF B1 */ bl LoadSuitArm__10CGunWeaponFR13CStateManager /* 801BC4F0 001B9450 48 00 00 DC */ b lbl_801BC5CC lbl_801BC4F4: /* 801BC4F4 001B9454 88 1E 01 08 */ lbz r0, 0x108(r30) /* 801BC4F8 001B9458 28 00 00 00 */ cmplwi r0, 0 /* 801BC4FC 001B945C 41 82 00 D0 */ beq lbl_801BC5CC /* 801BC500 001B9460 80 BE 01 04 */ lwz r5, 0x104(r30) /* 801BC504 001B9464 80 05 00 10 */ lwz r0, 0x10(r5) /* 801BC508 001B9468 28 00 00 00 */ cmplwi r0, 0 /* 801BC50C 001B946C 41 82 00 58 */ beq lbl_801BC564 /* 801BC510 001B9470 80 1E 02 10 */ lwz r0, 0x210(r30) /* 801BC514 001B9474 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 801BC518 001B9478 2C 00 00 01 */ cmpwi r0, 1 /* 801BC51C 001B947C 41 82 00 1C */ beq lbl_801BC538 /* 801BC520 001B9480 48 00 04 89 */ bl LoadGunModels__10CGunWeaponFR13CStateManager /* 801BC524 001B9484 7F C3 F3 78 */ mr r3, r30 /* 801BC528 001B9488 4B FF E4 99 */ bl LoadAnimations__10CGunWeaponFv /* 801BC52C 001B948C 80 1E 02 10 */ lwz r0, 0x210(r30) /* 801BC530 001B9490 60 00 00 01 */ ori r0, r0, 1 /* 801BC534 001B9494 90 1E 02 10 */ stw r0, 0x210(r30) lbl_801BC538: /* 801BC538 001B9498 80 1E 02 10 */ lwz r0, 0x210(r30) /* 801BC53C 001B949C 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c /* 801BC540 001B94A0 2C 00 00 08 */ cmpwi r0, 8 /* 801BC544 001B94A4 41 82 00 20 */ beq lbl_801BC564 /* 801BC548 001B94A8 7F C3 F3 78 */ mr r3, r30 /* 801BC54C 001B94AC 4B FF E4 35 */ bl IsAnimsLoaded__10CGunWeaponCFv /* 801BC550 001B94B0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801BC554 001B94B4 41 82 00 10 */ beq lbl_801BC564 /* 801BC558 001B94B8 80 1E 02 10 */ lwz r0, 0x210(r30) /* 801BC55C 001B94BC 60 00 00 08 */ ori r0, r0, 8 /* 801BC560 001B94C0 90 1E 02 10 */ stw r0, 0x210(r30) lbl_801BC564: /* 801BC564 001B94C4 FC 20 F8 90 */ fmr f1, f31 /* 801BC568 001B94C8 7F C3 F3 78 */ mr r3, r30 /* 801BC56C 001B94CC 7F E4 FB 78 */ mr r4, r31 /* 801BC570 001B94D0 4B FF E4 89 */ bl LoadFxIdle__10CGunWeaponFfR13CStateManager /* 801BC574 001B94D4 80 1E 02 10 */ lwz r0, 0x210(r30) /* 801BC578 001B94D8 54 00 06 FE */ clrlwi r0, r0, 0x1b /* 801BC57C 001B94DC 2C 00 00 1F */ cmpwi r0, 0x1f /* 801BC580 001B94E0 40 82 00 4C */ bne lbl_801BC5CC /* 801BC584 001B94E4 38 7E 00 10 */ addi r3, r30, 0x10 /* 801BC588 001B94E8 38 80 00 00 */ li r4, 0 /* 801BC58C 001B94EC 4B F5 89 D1 */ bl PickAnimatedModel__10CModelDataCFQ210CModelData11EWhichModel /* 801BC590 001B94F0 80 63 00 0C */ lwz r3, 0xc(r3) /* 801BC594 001B94F4 80 9E 02 0C */ lwz r4, 0x20c(r30) /* 801BC598 001B94F8 48 19 90 11 */ bl IsLoaded__6CModelCFi /* 801BC59C 001B94FC 7C 7F 1B 78 */ mr r31, r3 /* 801BC5A0 001B9500 38 7E 00 B0 */ addi r3, r30, 0xb0 /* 801BC5A4 001B9504 38 80 00 00 */ li r4, 0 /* 801BC5A8 001B9508 4B F5 86 DD */ bl IsLoaded__10CModelDataCFi /* 801BC5AC 001B950C 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 801BC5B0 001B9510 41 82 00 1C */ beq lbl_801BC5CC /* 801BC5B4 001B9514 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801BC5B8 001B9518 41 82 00 14 */ beq lbl_801BC5CC /* 801BC5BC 001B951C 88 1E 02 18 */ lbz r0, 0x218(r30) /* 801BC5C0 001B9520 38 60 00 01 */ li r3, 1 /* 801BC5C4 001B9524 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a /* 801BC5C8 001B9528 98 1E 02 18 */ stb r0, 0x218(r30) lbl_801BC5CC: /* 801BC5CC 001B952C 80 01 00 44 */ lwz r0, 0x44(r1) /* 801BC5D0 001B9530 CB E1 00 38 */ lfd f31, 0x38(r1) /* 801BC5D4 001B9534 83 E1 00 34 */ lwz r31, 0x34(r1) /* 801BC5D8 001B9538 83 C1 00 30 */ lwz r30, 0x30(r1) /* 801BC5DC 001B953C 7C 08 03 A6 */ mtlr r0 /* 801BC5E0 001B9540 38 21 00 40 */ addi r1, r1, 0x40 /* 801BC5E4 001B9544 4E 80 00 20 */ blr .global Reset__10CGunWeaponFR13CStateManager Reset__10CGunWeaponFR13CStateManager: /* 801BC5E8 001B9548 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BC5EC 001B954C 7C 08 02 A6 */ mflr r0 /* 801BC5F0 001B9550 90 01 00 14 */ stw r0, 0x14(r1) /* 801BC5F4 001B9554 88 03 02 18 */ lbz r0, 0x218(r3) /* 801BC5F8 001B9558 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 801BC5FC 001B955C 41 82 00 4C */ beq lbl_801BC648 /* 801BC600 001B9560 80 C3 00 20 */ lwz r6, 0x20(r3) /* 801BC604 001B9564 38 A0 00 00 */ li r5, 0 /* 801BC608 001B9568 38 80 00 01 */ li r4, 1 /* 801BC60C 001B956C 88 06 02 20 */ lbz r0, 0x220(r6) /* 801BC610 001B9570 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19 /* 801BC614 001B9574 98 06 02 20 */ stb r0, 0x220(r6) /* 801BC618 001B9578 88 06 02 20 */ lbz r0, 0x220(r6) /* 801BC61C 001B957C 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 801BC620 001B9580 98 06 02 20 */ stb r0, 0x220(r6) /* 801BC624 001B9584 88 03 02 18 */ lbz r0, 0x218(r3) /* 801BC628 001B9588 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 801BC62C 001B958C 41 82 00 14 */ beq lbl_801BC640 /* 801BC630 001B9590 88 03 02 18 */ lbz r0, 0x218(r3) /* 801BC634 001B9594 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19 /* 801BC638 001B9598 98 03 02 18 */ stb r0, 0x218(r3) /* 801BC63C 001B959C 48 00 00 0C */ b lbl_801BC648 lbl_801BC640: /* 801BC640 001B95A0 80 63 01 00 */ lwz r3, 0x100(r3) /* 801BC644 001B95A4 48 00 FC 8D */ bl Reset__14CGunControllerFv lbl_801BC648: /* 801BC648 001B95A8 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BC64C 001B95AC 7C 08 03 A6 */ mtlr r0 /* 801BC650 001B95B0 38 21 00 10 */ addi r1, r1, 0x10 /* 801BC654 001B95B4 4E 80 00 20 */ blr .global PlayAnim__10CGunWeaponFQ212NWeaponTypes12EGunAnimTypeb PlayAnim__10CGunWeaponFQ212NWeaponTypes12EGunAnimTypeb: /* 801BC658 001B95B8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801BC65C 001B95BC 7C 08 02 A6 */ mflr r0 /* 801BC660 001B95C0 90 01 00 34 */ stw r0, 0x34(r1) /* 801BC664 001B95C4 88 03 02 18 */ lbz r0, 0x218(r3) /* 801BC668 001B95C8 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 801BC66C 001B95CC 41 82 00 8C */ beq lbl_801BC6F8 /* 801BC670 001B95D0 2C 04 00 00 */ cmpwi r4, 0 /* 801BC674 001B95D4 41 80 00 84 */ blt lbl_801BC6F8 /* 801BC678 001B95D8 2C 04 00 0A */ cmpwi r4, 0xa /* 801BC67C 001B95DC 40 81 00 08 */ ble lbl_801BC684 /* 801BC680 001B95E0 48 00 00 78 */ b lbl_801BC6F8 lbl_801BC684: /* 801BC684 001B95E4 80 63 00 20 */ lwz r3, 0x20(r3) /* 801BC688 001B95E8 54 A7 06 3E */ clrlwi r7, r5, 0x18 /* 801BC68C 001B95EC 3C A0 80 3D */ lis r5, skAnimTypeList@ha /* 801BC690 001B95F0 54 80 10 3A */ slwi r0, r4, 2 /* 801BC694 001B95F4 88 C3 02 20 */ lbz r6, 0x220(r3) /* 801BC698 001B95F8 50 E6 36 72 */ rlwimi r6, r7, 6, 0x19, 0x19 /* 801BC69C 001B95FC 38 85 17 FC */ addi r4, r5, skAnimTypeList@l /* 801BC6A0 001B9600 39 00 00 01 */ li r8, 1 /* 801BC6A4 001B9604 98 C3 02 20 */ stb r6, 0x220(r3) /* 801BC6A8 001B9608 38 C0 FF FF */ li r6, -1 /* 801BC6AC 001B960C 7C E4 00 2E */ lwzx r7, r4, r0 /* 801BC6B0 001B9610 38 00 00 00 */ li r0, 0 /* 801BC6B4 001B9614 88 83 02 20 */ lbz r4, 0x220(r3) /* 801BC6B8 001B9618 51 04 3E 30 */ rlwimi r4, r8, 7, 0x18, 0x18 /* 801BC6BC 001B961C C0 02 A9 D8 */ lfs f0, lbl_805AC6F8@sda21(r2) /* 801BC6C0 001B9620 38 A0 00 00 */ li r5, 0 /* 801BC6C4 001B9624 98 83 02 20 */ stb r4, 0x220(r3) /* 801BC6C8 001B9628 38 81 00 08 */ addi r4, r1, 8 /* 801BC6CC 001B962C 90 E1 00 08 */ stw r7, 8(r1) /* 801BC6D0 001B9630 90 C1 00 0C */ stw r6, 0xc(r1) /* 801BC6D4 001B9634 D0 01 00 10 */ stfs f0, 0x10(r1) /* 801BC6D8 001B9638 99 01 00 14 */ stb r8, 0x14(r1) /* 801BC6DC 001B963C 90 01 00 18 */ stw r0, 0x18(r1) /* 801BC6E0 001B9640 90 01 00 1C */ stw r0, 0x1c(r1) /* 801BC6E4 001B9644 98 01 00 20 */ stb r0, 0x20(r1) /* 801BC6E8 001B9648 90 01 00 24 */ stw r0, 0x24(r1) /* 801BC6EC 001B964C 90 01 00 28 */ stw r0, 0x28(r1) /* 801BC6F0 001B9650 90 01 00 2C */ stw r0, 0x2c(r1) /* 801BC6F4 001B9654 4B E7 06 89 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb lbl_801BC6F8: /* 801BC6F8 001B9658 80 01 00 34 */ lwz r0, 0x34(r1) /* 801BC6FC 001B965C 7C 08 03 A6 */ mtlr r0 /* 801BC700 001B9660 38 21 00 30 */ addi r1, r1, 0x30 /* 801BC704 001B9664 4E 80 00 20 */ blr .global IsChargeAnimOver__10CGunWeaponCFv IsChargeAnimOver__10CGunWeaponCFv: /* 801BC708 001B9668 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801BC70C 001B966C 7C 08 02 A6 */ mflr r0 /* 801BC710 001B9670 90 01 00 24 */ stw r0, 0x24(r1) /* 801BC714 001B9674 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801BC718 001B9678 7C 7F 1B 78 */ mr r31, r3 /* 801BC71C 001B967C 88 03 02 18 */ lbz r0, 0x218(r3) /* 801BC720 001B9680 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 801BC724 001B9684 41 82 00 44 */ beq lbl_801BC768 /* 801BC728 001B9688 3C 80 80 3D */ lis r4, lbl_803D1828@ha /* 801BC72C 001B968C 38 61 00 08 */ addi r3, r1, 8 /* 801BC730 001B9690 38 84 18 28 */ addi r4, r4, lbl_803D1828@l /* 801BC734 001B9694 38 84 01 BC */ addi r4, r4, 0x1bc /* 801BC738 001B9698 4B E4 85 81 */ bl string_l__4rstlFPCc /* 801BC73C 001B969C 80 7F 00 20 */ lwz r3, 0x20(r31) /* 801BC740 001B96A0 38 81 00 08 */ addi r4, r1, 8 /* 801BC744 001B96A4 C0 22 A9 EC */ lfs f1, lbl_805AC70C@sda21(r2) /* 801BC748 001B96A8 4B E6 FC A5 */ bl "IsAnimTimeRemaining__9CAnimDataCFfRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 801BC74C 001B96AC 7C 7F 1B 78 */ mr r31, r3 /* 801BC750 001B96B0 38 61 00 08 */ addi r3, r1, 8 /* 801BC754 001B96B4 48 18 13 8D */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 801BC758 001B96B8 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 801BC75C 001B96BC 41 82 00 0C */ beq lbl_801BC768 /* 801BC760 001B96C0 38 60 00 00 */ li r3, 0 /* 801BC764 001B96C4 48 00 00 08 */ b lbl_801BC76C lbl_801BC768: /* 801BC768 001B96C8 38 60 00 01 */ li r3, 1 lbl_801BC76C: /* 801BC76C 001B96CC 80 01 00 24 */ lwz r0, 0x24(r1) /* 801BC770 001B96D0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801BC774 001B96D4 7C 08 03 A6 */ mtlr r0 /* 801BC778 001B96D8 38 21 00 20 */ addi r1, r1, 0x20 /* 801BC77C 001B96DC 4E 80 00 20 */ blr .global PlayPasAnim__10CGunWeaponFQ28SamusGun15EAnimationStateR13CStateManagerf PlayPasAnim__10CGunWeaponFQ28SamusGun15EAnimationStateR13CStateManagerf: /* 801BC780 001B96E0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BC784 001B96E4 7C 08 02 A6 */ mflr r0 /* 801BC788 001B96E8 2C 04 00 04 */ cmpwi r4, 4 /* 801BC78C 001B96EC 7C 66 1B 78 */ mr r6, r3 /* 801BC790 001B96F0 90 01 00 14 */ stw r0, 0x14(r1) /* 801BC794 001B96F4 41 82 00 14 */ beq lbl_801BC7A8 /* 801BC798 001B96F8 40 80 00 24 */ bge lbl_801BC7BC /* 801BC79C 001B96FC 2C 04 00 00 */ cmpwi r4, 0 /* 801BC7A0 001B9700 41 82 00 24 */ beq lbl_801BC7C4 /* 801BC7A4 001B9704 48 00 00 18 */ b lbl_801BC7BC lbl_801BC7A8: /* 801BC7A8 001B9708 80 66 01 00 */ lwz r3, 0x100(r6) /* 801BC7AC 001B970C 7C A4 2B 78 */ mr r4, r5 /* 801BC7B0 001B9710 80 A6 02 00 */ lwz r5, 0x200(r6) /* 801BC7B4 001B9714 48 01 03 95 */ bl EnterComboFire__14CGunControllerFR13CStateManageri /* 801BC7B8 001B9718 48 00 00 0C */ b lbl_801BC7C4 lbl_801BC7BC: /* 801BC7BC 001B971C 38 60 00 00 */ li r3, 0 /* 801BC7C0 001B9720 48 00 00 08 */ b lbl_801BC7C8 lbl_801BC7C4: /* 801BC7C4 001B9724 38 60 00 01 */ li r3, 1 lbl_801BC7C8: /* 801BC7C8 001B9728 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BC7CC 001B972C 7C 08 03 A6 */ mtlr r0 /* 801BC7D0 001B9730 38 21 00 10 */ addi r1, r1, 0x10 /* 801BC7D4 001B9734 4E 80 00 20 */ blr .global LoadProjectileData__10CGunWeaponFR13CStateManager LoadProjectileData__10CGunWeaponFR13CStateManager: /* 801BC7D8 001B9738 94 21 FF A0 */ stwu r1, -0x60(r1) /* 801BC7DC 001B973C 7C 08 02 A6 */ mflr r0 /* 801BC7E0 001B9740 90 01 00 64 */ stw r0, 0x64(r1) /* 801BC7E4 001B9744 DB E1 00 50 */ stfd f31, 0x50(r1) /* 801BC7E8 001B9748 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 801BC7EC 001B974C BE C1 00 28 */ stmw r22, 0x28(r1) /* 801BC7F0 001B9750 80 84 08 D8 */ lwz r4, 0x8d8(r4) /* 801BC7F4 001B9754 7C 76 1B 78 */ mr r22, r3 /* 801BC7F8 001B9758 38 61 00 0C */ addi r3, r1, 0xc /* 801BC7FC 001B975C 48 15 5D F1 */ bl __ct__9CRandom16FUi /* 801BC800 001B9760 38 61 00 1C */ addi r3, r1, 0x1c /* 801BC804 001B9764 38 81 00 0C */ addi r4, r1, 0xc /* 801BC808 001B9768 48 15 5E 79 */ bl __ct__13CGlobalRandomFR9CRandom16 /* 801BC80C 001B976C 3B 16 01 D4 */ addi r24, r22, 0x1d4 /* 801BC810 001B9770 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 801BC814 001B9774 3C 60 80 5A */ lis r3, sForwardVector__9CVector3f@ha /* 801BC818 001B9778 C3 E2 A9 DC */ lfs f31, lbl_805AC6FC@sda21(r2) /* 801BC81C 001B977C 7F 1B C3 78 */ mr r27, r24 /* 801BC820 001B9780 3B 96 01 48 */ addi r28, r22, 0x148 /* 801BC824 001B9784 3B C4 66 A0 */ addi r30, r4, sZeroVector__9CVector3f@l /* 801BC828 001B9788 3B 56 01 F8 */ addi r26, r22, 0x1f8 /* 801BC82C 001B978C 3B 36 01 F0 */ addi r25, r22, 0x1f0 /* 801BC830 001B9790 3B E3 67 24 */ addi r31, r3, sForwardVector__9CVector3f@l /* 801BC834 001B9794 3A E0 00 00 */ li r23, 0 lbl_801BC838: /* 801BC838 001B9798 83 BC 00 08 */ lwz r29, 8(r28) /* 801BC83C 001B979C C0 5E 00 00 */ lfs f2, 0(r30) /* 801BC840 001B97A0 C0 3E 00 04 */ lfs f1, 4(r30) /* 801BC844 001B97A4 C0 1E 00 08 */ lfs f0, 8(r30) /* 801BC848 001B97A8 D0 41 00 10 */ stfs f2, 0x10(r1) /* 801BC84C 001B97AC D0 21 00 14 */ stfs f1, 0x14(r1) /* 801BC850 001B97B0 D0 01 00 18 */ stfs f0, 0x18(r1) /* 801BC854 001B97B4 80 7D 00 04 */ lwz r3, 4(r29) /* 801BC858 001B97B8 28 03 00 00 */ cmplwi r3, 0 /* 801BC85C 001B97BC 41 82 00 1C */ beq lbl_801BC878 /* 801BC860 001B97C0 81 83 00 00 */ lwz r12, 0(r3) /* 801BC864 001B97C4 38 A1 00 10 */ addi r5, r1, 0x10 /* 801BC868 001B97C8 38 80 00 00 */ li r4, 0 /* 801BC86C 001B97CC 81 8C 00 0C */ lwz r12, 0xc(r12) /* 801BC870 001B97D0 7D 89 03 A6 */ mtctr r12 /* 801BC874 001B97D4 4E 80 04 21 */ bctrl lbl_801BC878: /* 801BC878 001B97D8 80 16 01 D0 */ lwz r0, 0x1d0(r22) /* 801BC87C 001B97DC 1C 00 00 0C */ mulli r0, r0, 0xc /* 801BC880 001B97E0 7C 78 02 15 */ add. r3, r24, r0 /* 801BC884 001B97E4 41 82 00 1C */ beq lbl_801BC8A0 /* 801BC888 001B97E8 C0 01 00 10 */ lfs f0, 0x10(r1) /* 801BC88C 001B97EC D0 03 00 00 */ stfs f0, 0(r3) /* 801BC890 001B97F0 C0 01 00 14 */ lfs f0, 0x14(r1) /* 801BC894 001B97F4 D0 03 00 04 */ stfs f0, 4(r3) /* 801BC898 001B97F8 C0 01 00 18 */ lfs f0, 0x18(r1) /* 801BC89C 001B97FC D0 03 00 08 */ stfs f0, 8(r3) lbl_801BC8A0: /* 801BC8A0 001B9800 80 76 01 D0 */ lwz r3, 0x1d0(r22) /* 801BC8A4 001B9804 38 03 00 01 */ addi r0, r3, 1 /* 801BC8A8 001B9808 90 16 01 D0 */ stw r0, 0x1d0(r22) /* 801BC8AC 001B980C D3 E1 00 08 */ stfs f31, 8(r1) /* 801BC8B0 001B9810 80 7D 00 30 */ lwz r3, 0x30(r29) /* 801BC8B4 001B9814 28 03 00 00 */ cmplwi r3, 0 /* 801BC8B8 001B9818 41 82 00 1C */ beq lbl_801BC8D4 /* 801BC8BC 001B981C 81 83 00 00 */ lwz r12, 0(r3) /* 801BC8C0 001B9820 38 A1 00 08 */ addi r5, r1, 8 /* 801BC8C4 001B9824 38 80 00 00 */ li r4, 0 /* 801BC8C8 001B9828 81 8C 00 0C */ lwz r12, 0xc(r12) /* 801BC8CC 001B982C 7D 89 03 A6 */ mtctr r12 /* 801BC8D0 001B9830 4E 80 04 21 */ bctrl lbl_801BC8D4: /* 801BC8D4 001B9834 80 16 01 F4 */ lwz r0, 0x1f4(r22) /* 801BC8D8 001B9838 54 00 10 3A */ slwi r0, r0, 2 /* 801BC8DC 001B983C 7C 7A 02 15 */ add. r3, r26, r0 /* 801BC8E0 001B9840 41 82 00 0C */ beq lbl_801BC8EC /* 801BC8E4 001B9844 C0 01 00 08 */ lfs f0, 8(r1) /* 801BC8E8 001B9848 D0 03 00 00 */ stfs f0, 0(r3) lbl_801BC8EC: /* 801BC8EC 001B984C 80 76 01 F4 */ lwz r3, 0x1f4(r22) /* 801BC8F0 001B9850 38 03 00 01 */ addi r0, r3, 1 /* 801BC8F4 001B9854 90 16 01 F4 */ stw r0, 0x1f4(r22) /* 801BC8F8 001B9858 80 16 01 EC */ lwz r0, 0x1ec(r22) /* 801BC8FC 001B985C 7C 79 02 15 */ add. r3, r25, r0 /* 801BC900 001B9860 41 82 00 0C */ beq lbl_801BC90C /* 801BC904 001B9864 88 1D 00 29 */ lbz r0, 0x29(r29) /* 801BC908 001B9868 98 03 00 00 */ stb r0, 0(r3) lbl_801BC90C: /* 801BC90C 001B986C 80 76 01 EC */ lwz r3, 0x1ec(r22) /* 801BC910 001B9870 38 03 00 01 */ addi r0, r3, 1 /* 801BC914 001B9874 90 16 01 EC */ stw r0, 0x1ec(r22) /* 801BC918 001B9878 C0 01 00 14 */ lfs f0, 0x14(r1) /* 801BC91C 001B987C FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 801BC920 001B9880 40 81 00 30 */ ble lbl_801BC950 /* 801BC924 001B9884 C0 1B 00 00 */ lfs f0, 0(r27) /* 801BC928 001B9888 C0 22 A9 F0 */ lfs f1, lbl_805AC710@sda21(r2) /* 801BC92C 001B988C EC 00 00 72 */ fmuls f0, f0, f1 /* 801BC930 001B9890 D0 1B 00 00 */ stfs f0, 0(r27) /* 801BC934 001B9894 C0 1B 00 04 */ lfs f0, 4(r27) /* 801BC938 001B9898 EC 00 00 72 */ fmuls f0, f0, f1 /* 801BC93C 001B989C D0 1B 00 04 */ stfs f0, 4(r27) /* 801BC940 001B98A0 C0 1B 00 08 */ lfs f0, 8(r27) /* 801BC944 001B98A4 EC 00 00 72 */ fmuls f0, f0, f1 /* 801BC948 001B98A8 D0 1B 00 08 */ stfs f0, 8(r27) /* 801BC94C 001B98AC 48 00 00 20 */ b lbl_801BC96C lbl_801BC950: /* 801BC950 001B98B0 3C 60 80 5A */ lis r3, sForwardVector__9CVector3f@ha /* 801BC954 001B98B4 C0 03 67 24 */ lfs f0, sForwardVector__9CVector3f@l(r3) /* 801BC958 001B98B8 D0 1B 00 00 */ stfs f0, 0(r27) /* 801BC95C 001B98BC C0 1F 00 04 */ lfs f0, 4(r31) /* 801BC960 001B98C0 D0 1B 00 04 */ stfs f0, 4(r27) /* 801BC964 001B98C4 C0 1F 00 08 */ lfs f0, 8(r31) /* 801BC968 001B98C8 D0 1B 00 08 */ stfs f0, 8(r27) lbl_801BC96C: /* 801BC96C 001B98CC 3A F7 00 01 */ addi r23, r23, 1 /* 801BC970 001B98D0 3B 7B 00 0C */ addi r27, r27, 0xc /* 801BC974 001B98D4 2C 17 00 02 */ cmpwi r23, 2 /* 801BC978 001B98D8 3B 9C 00 0C */ addi r28, r28, 0xc /* 801BC97C 001B98DC 41 80 FE BC */ blt lbl_801BC838 /* 801BC980 001B98E0 38 61 00 1C */ addi r3, r1, 0x1c /* 801BC984 001B98E4 38 80 FF FF */ li r4, -1 /* 801BC988 001B98E8 48 15 5C 7D */ bl __dt__13CGlobalRandomFv /* 801BC98C 001B98EC E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 801BC990 001B98F0 CB E1 00 50 */ lfd f31, 0x50(r1) /* 801BC994 001B98F4 BA C1 00 28 */ lmw r22, 0x28(r1) /* 801BC998 001B98F8 80 01 00 64 */ lwz r0, 0x64(r1) /* 801BC99C 001B98FC 7C 08 03 A6 */ mtlr r0 /* 801BC9A0 001B9900 38 21 00 60 */ addi r1, r1, 0x60 /* 801BC9A4 001B9904 4E 80 00 20 */ blr .global LoadGunModels__10CGunWeaponFR13CStateManager LoadGunModels__10CGunWeaponFR13CStateManager: /* 801BC9A8 001B9908 94 21 FE F0 */ stwu r1, -0x110(r1) /* 801BC9AC 001B990C 7C 08 02 A6 */ mflr r0 /* 801BC9B0 001B9910 90 01 01 14 */ stw r0, 0x114(r1) /* 801BC9B4 001B9914 93 E1 01 0C */ stw r31, 0x10c(r1) /* 801BC9B8 001B9918 7C 7F 1B 78 */ mr r31, r3 /* 801BC9BC 001B991C 93 C1 01 08 */ stw r30, 0x108(r1) /* 801BC9C0 001B9920 3B C0 00 09 */ li r30, 9 /* 801BC9C4 001B9924 93 A1 01 04 */ stw r29, 0x104(r1) /* 801BC9C8 001B9928 7C 9D 23 78 */ mr r29, r4 /* 801BC9CC 001B992C 88 03 02 18 */ lbz r0, 0x218(r3) /* 801BC9D0 001B9930 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 801BC9D4 001B9934 41 82 00 08 */ beq lbl_801BC9DC /* 801BC9D8 001B9938 3B C0 00 00 */ li r30, 0 lbl_801BC9DC: /* 801BC9DC 001B993C 80 BF 02 14 */ lwz r5, 0x214(r31) /* 801BC9E0 001B9940 38 00 00 00 */ li r0, 0 /* 801BC9E4 001B9944 38 61 00 B4 */ addi r3, r1, 0xb4 /* 801BC9E8 001B9948 38 81 00 24 */ addi r4, r1, 0x24 /* 801BC9EC 001B994C 90 A1 00 24 */ stw r5, 0x24(r1) /* 801BC9F0 001B9950 90 01 00 28 */ stw r0, 0x28(r1) /* 801BC9F4 001B9954 C0 1F 00 04 */ lfs f0, 4(r31) /* 801BC9F8 001B9958 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 801BC9FC 001B995C C0 1F 00 08 */ lfs f0, 8(r31) /* 801BCA00 001B9960 D0 01 00 30 */ stfs f0, 0x30(r1) /* 801BCA04 001B9964 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801BCA08 001B9968 D0 01 00 34 */ stfs f0, 0x34(r1) /* 801BCA0C 001B996C 98 01 00 38 */ stb r0, 0x38(r1) /* 801BCA10 001B9970 93 C1 00 3C */ stw r30, 0x3c(r1) /* 801BCA14 001B9974 4B F5 A1 41 */ bl __ct__10CModelDataFRC8CAnimRes /* 801BCA18 001B9978 38 7F 00 10 */ addi r3, r31, 0x10 /* 801BCA1C 001B997C 38 81 00 B4 */ addi r4, r1, 0xb4 /* 801BCA20 001B9980 4B F2 14 59 */ bl "__as__Q24rstl29optional_object<10CModelData>FRC10CModelData" /* 801BCA24 001B9984 38 61 00 B4 */ addi r3, r1, 0xb4 /* 801BCA28 001B9988 38 80 FF FF */ li r4, -1 /* 801BCA2C 001B998C 4B F5 A0 21 */ bl __dt__10CModelDataFv /* 801BCA30 001B9990 80 9F 02 14 */ lwz r4, 0x214(r31) /* 801BCA34 001B9994 38 A0 00 01 */ li r5, 1 /* 801BCA38 001B9998 38 00 00 00 */ li r0, 0 /* 801BCA3C 001B999C 38 61 00 68 */ addi r3, r1, 0x68 /* 801BCA40 001B99A0 90 81 00 08 */ stw r4, 8(r1) /* 801BCA44 001B99A4 38 81 00 08 */ addi r4, r1, 8 /* 801BCA48 001B99A8 90 A1 00 0C */ stw r5, 0xc(r1) /* 801BCA4C 001B99AC C0 1F 00 04 */ lfs f0, 4(r31) /* 801BCA50 001B99B0 D0 01 00 10 */ stfs f0, 0x10(r1) /* 801BCA54 001B99B4 C0 1F 00 08 */ lfs f0, 8(r31) /* 801BCA58 001B99B8 D0 01 00 14 */ stfs f0, 0x14(r1) /* 801BCA5C 001B99BC C0 1F 00 0C */ lfs f0, 0xc(r31) /* 801BCA60 001B99C0 D0 01 00 18 */ stfs f0, 0x18(r1) /* 801BCA64 001B99C4 98 01 00 1C */ stb r0, 0x1c(r1) /* 801BCA68 001B99C8 93 C1 00 20 */ stw r30, 0x20(r1) /* 801BCA6C 001B99CC 4B F5 A0 E9 */ bl __ct__10CModelDataFRC8CAnimRes /* 801BCA70 001B99D0 38 7F 00 60 */ addi r3, r31, 0x60 /* 801BCA74 001B99D4 38 81 00 68 */ addi r4, r1, 0x68 /* 801BCA78 001B99D8 4B F2 14 01 */ bl "__as__Q24rstl29optional_object<10CModelData>FRC10CModelData" /* 801BCA7C 001B99DC 38 61 00 68 */ addi r3, r1, 0x68 /* 801BCA80 001B99E0 38 80 FF FF */ li r4, -1 /* 801BCA84 001B99E4 4B F5 9F C9 */ bl __dt__10CModelDataFv /* 801BCA88 001B99E8 C0 02 A9 D8 */ lfs f0, lbl_805AC6F8@sda21(r2) /* 801BCA8C 001B99EC 38 00 00 00 */ li r0, 0 /* 801BCA90 001B99F0 38 C0 FF FF */ li r6, -1 /* 801BCA94 001B99F4 38 60 00 01 */ li r3, 1 /* 801BCA98 001B99F8 93 C1 00 40 */ stw r30, 0x40(r1) /* 801BCA9C 001B99FC 38 81 00 40 */ addi r4, r1, 0x40 /* 801BCAA0 001B9A00 38 A0 00 01 */ li r5, 1 /* 801BCAA4 001B9A04 90 C1 00 44 */ stw r6, 0x44(r1) /* 801BCAA8 001B9A08 D0 01 00 48 */ stfs f0, 0x48(r1) /* 801BCAAC 001B9A0C 98 61 00 4C */ stb r3, 0x4c(r1) /* 801BCAB0 001B9A10 90 01 00 50 */ stw r0, 0x50(r1) /* 801BCAB4 001B9A14 90 01 00 54 */ stw r0, 0x54(r1) /* 801BCAB8 001B9A18 98 01 00 58 */ stb r0, 0x58(r1) /* 801BCABC 001B9A1C 90 01 00 5C */ stw r0, 0x5c(r1) /* 801BCAC0 001B9A20 90 01 00 60 */ stw r0, 0x60(r1) /* 801BCAC4 001B9A24 90 01 00 64 */ stw r0, 0x64(r1) /* 801BCAC8 001B9A28 80 7F 00 20 */ lwz r3, 0x20(r31) /* 801BCACC 001B9A2C 4B E7 02 B1 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb /* 801BCAD0 001B9A30 7F E3 FB 78 */ mr r3, r31 /* 801BCAD4 001B9A34 7F A4 EB 78 */ mr r4, r29 /* 801BCAD8 001B9A38 4B FF D9 C5 */ bl LoadSuitArm__10CGunWeaponFR13CStateManager /* 801BCADC 001B9A3C 88 1F 00 24 */ lbz r0, 0x24(r31) /* 801BCAE0 001B9A40 38 A0 00 01 */ li r5, 1 /* 801BCAE4 001B9A44 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19 /* 801BCAE8 001B9A48 3C 60 80 3D */ lis r3, lbl_803D1828@ha /* 801BCAEC 001B9A4C 98 1F 00 24 */ stb r0, 0x24(r31) /* 801BCAF0 001B9A50 38 63 18 28 */ addi r3, r3, lbl_803D1828@l /* 801BCAF4 001B9A54 38 83 01 B5 */ addi r4, r3, 0x1b5 /* 801BCAF8 001B9A58 38 60 00 5C */ li r3, 0x5c /* 801BCAFC 001B9A5C 88 1F 00 74 */ lbz r0, 0x74(r31) /* 801BCB00 001B9A60 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19 /* 801BCB04 001B9A64 38 A0 00 00 */ li r5, 0 /* 801BCB08 001B9A68 98 1F 00 74 */ stb r0, 0x74(r31) /* 801BCB0C 001B9A6C 48 15 8D 61 */ bl __nw__FUlPCcPCc /* 801BCB10 001B9A70 7C 64 1B 79 */ or. r4, r3, r3 /* 801BCB14 001B9A74 41 82 00 10 */ beq lbl_801BCB24 /* 801BCB18 001B9A78 38 9F 00 10 */ addi r4, r31, 0x10 /* 801BCB1C 001B9A7C 48 01 01 19 */ bl __ct__14CGunControllerFR10CModelData /* 801BCB20 001B9A80 7C 64 1B 78 */ mr r4, r3 lbl_801BCB24: /* 801BCB24 001B9A84 38 7F 01 00 */ addi r3, r31, 0x100 /* 801BCB28 001B9A88 4B F6 0F AD */ bl "__as__Q24rstl28single_ptr<14CGunController>FRC14CGunController" /* 801BCB2C 001B9A8C 80 01 01 14 */ lwz r0, 0x114(r1) /* 801BCB30 001B9A90 83 E1 01 0C */ lwz r31, 0x10c(r1) /* 801BCB34 001B9A94 83 C1 01 08 */ lwz r30, 0x108(r1) /* 801BCB38 001B9A98 83 A1 01 04 */ lwz r29, 0x104(r1) /* 801BCB3C 001B9A9C 7C 08 03 A6 */ mtlr r0 /* 801BCB40 001B9AA0 38 21 01 10 */ addi r1, r1, 0x110 /* 801BCB44 001B9AA4 4E 80 00 20 */ blr .global LoadMuzzleFx__10CGunWeaponFf LoadMuzzleFx__10CGunWeaponFf: /* 801BCB48 001B9AA8 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801BCB4C 001B9AAC 7C 08 02 A6 */ mflr r0 /* 801BCB50 001B9AB0 90 01 00 44 */ stw r0, 0x44(r1) /* 801BCB54 001B9AB4 DB E1 00 38 */ stfd f31, 0x38(r1) /* 801BCB58 001B9AB8 FF E0 08 90 */ fmr f31, f1 /* 801BCB5C 001B9ABC BF 21 00 1C */ stmw r25, 0x1c(r1) /* 801BCB60 001B9AC0 7C 7B 1B 78 */ mr r27, r3 /* 801BCB64 001B9AC4 3C 60 80 3D */ lis r3, lbl_803D1828@ha /* 801BCB68 001B9AC8 3B 80 00 00 */ li r28, 0 /* 801BCB6C 001B9ACC 3B DB 01 70 */ addi r30, r27, 0x170 /* 801BCB70 001B9AD0 3B BB 01 A8 */ addi r29, r27, 0x1a8 /* 801BCB74 001B9AD4 3B E3 18 28 */ addi r31, r3, lbl_803D1828@l lbl_801BCB78: /* 801BCB78 001B9AD8 38 9F 01 B5 */ addi r4, r31, 0x1b5 /* 801BCB7C 001B9ADC 3B 20 00 00 */ li r25, 0 /* 801BCB80 001B9AE0 38 60 03 40 */ li r3, 0x340 /* 801BCB84 001B9AE4 38 A0 00 00 */ li r5, 0 /* 801BCB88 001B9AE8 48 15 8C E5 */ bl __nw__FUlPCcPCc /* 801BCB8C 001B9AEC 7C 7A 1B 79 */ or. r26, r3, r3 /* 801BCB90 001B9AF0 41 82 00 2C */ beq lbl_801BCBBC /* 801BCB94 001B9AF4 7F C4 F3 78 */ mr r4, r30 /* 801BCB98 001B9AF8 38 61 00 10 */ addi r3, r1, 0x10 /* 801BCB9C 001B9AFC 48 18 43 0D */ bl __ct__6CTokenFRC6CToken /* 801BCBA0 001B9B00 7F 43 D3 78 */ mr r3, r26 /* 801BCBA4 001B9B04 38 81 00 10 */ addi r4, r1, 0x10 /* 801BCBA8 001B9B08 3B 20 00 01 */ li r25, 1 /* 801BCBAC 001B9B0C 38 A0 00 00 */ li r5, 0 /* 801BCBB0 001B9B10 38 C0 00 01 */ li r6, 1 /* 801BCBB4 001B9B14 48 16 28 2D */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags" /* 801BCBB8 001B9B18 7C 7A 1B 78 */ mr r26, r3 lbl_801BCBBC: /* 801BCBBC 001B9B1C 7F 20 07 75 */ extsb. r0, r25 /* 801BCBC0 001B9B20 41 82 00 10 */ beq lbl_801BCBD0 /* 801BCBC4 001B9B24 38 61 00 10 */ addi r3, r1, 0x10 /* 801BCBC8 001B9B28 38 80 00 00 */ li r4, 0 /* 801BCBCC 001B9B2C 48 18 42 75 */ bl __dt__6CTokenFv lbl_801BCBD0: /* 801BCBD0 001B9B30 7F 43 D3 78 */ mr r3, r26 /* 801BCBD4 001B9B34 38 80 00 00 */ li r4, 0 /* 801BCBD8 001B9B38 81 9A 00 00 */ lwz r12, 0(r26) /* 801BCBDC 001B9B3C 81 8C 00 2C */ lwz r12, 0x2c(r12) /* 801BCBE0 001B9B40 7D 89 03 A6 */ mtctr r12 /* 801BCBE4 001B9B44 4E 80 04 21 */ bctrl /* 801BCBE8 001B9B48 7F 43 D3 78 */ mr r3, r26 /* 801BCBEC 001B9B4C FC 20 F8 90 */ fmr f1, f31 /* 801BCBF0 001B9B50 81 9A 00 00 */ lwz r12, 0(r26) /* 801BCBF4 001B9B54 81 8C 00 0C */ lwz r12, 0xc(r12) /* 801BCBF8 001B9B58 7D 89 03 A6 */ mtctr r12 /* 801BCBFC 001B9B5C 4E 80 04 21 */ bctrl /* 801BCC00 001B9B60 80 1B 01 A4 */ lwz r0, 0x1a4(r27) /* 801BCC04 001B9B64 7C 7A 00 D0 */ neg r3, r26 /* 801BCC08 001B9B68 7C 63 D3 78 */ or r3, r3, r26 /* 801BCC0C 001B9B6C 93 41 00 0C */ stw r26, 0xc(r1) /* 801BCC10 001B9B70 54 00 18 38 */ slwi r0, r0, 3 /* 801BCC14 001B9B74 54 63 0F FE */ srwi r3, r3, 0x1f /* 801BCC18 001B9B78 7C 9D 02 15 */ add. r4, r29, r0 /* 801BCC1C 001B9B7C 98 61 00 08 */ stb r3, 8(r1) /* 801BCC20 001B9B80 41 82 00 14 */ beq lbl_801BCC34 /* 801BCC24 001B9B84 98 64 00 00 */ stb r3, 0(r4) /* 801BCC28 001B9B88 38 00 00 00 */ li r0, 0 /* 801BCC2C 001B9B8C 93 44 00 04 */ stw r26, 4(r4) /* 801BCC30 001B9B90 98 01 00 08 */ stb r0, 8(r1) lbl_801BCC34: /* 801BCC34 001B9B94 80 7B 01 A4 */ lwz r3, 0x1a4(r27) /* 801BCC38 001B9B98 88 01 00 08 */ lbz r0, 8(r1) /* 801BCC3C 001B9B9C 38 63 00 01 */ addi r3, r3, 1 /* 801BCC40 001B9BA0 28 00 00 00 */ cmplwi r0, 0 /* 801BCC44 001B9BA4 90 7B 01 A4 */ stw r3, 0x1a4(r27) /* 801BCC48 001B9BA8 41 82 00 24 */ beq lbl_801BCC6C /* 801BCC4C 001B9BAC 80 61 00 0C */ lwz r3, 0xc(r1) /* 801BCC50 001B9BB0 28 03 00 00 */ cmplwi r3, 0 /* 801BCC54 001B9BB4 41 82 00 18 */ beq lbl_801BCC6C /* 801BCC58 001B9BB8 81 83 00 00 */ lwz r12, 0(r3) /* 801BCC5C 001B9BBC 38 80 00 01 */ li r4, 1 /* 801BCC60 001B9BC0 81 8C 00 08 */ lwz r12, 8(r12) /* 801BCC64 001B9BC4 7D 89 03 A6 */ mtctr r12 /* 801BCC68 001B9BC8 4E 80 04 21 */ bctrl lbl_801BCC6C: /* 801BCC6C 001B9BCC 3B 9C 00 01 */ addi r28, r28, 1 /* 801BCC70 001B9BD0 3B DE 00 0C */ addi r30, r30, 0xc /* 801BCC74 001B9BD4 2C 1C 00 02 */ cmpwi r28, 2 /* 801BCC78 001B9BD8 41 80 FF 00 */ blt lbl_801BCB78 /* 801BCC7C 001B9BDC CB E1 00 38 */ lfd f31, 0x38(r1) /* 801BCC80 001B9BE0 BB 21 00 1C */ lmw r25, 0x1c(r1) /* 801BCC84 001B9BE4 80 01 00 44 */ lwz r0, 0x44(r1) /* 801BCC88 001B9BE8 7C 08 03 A6 */ mtlr r0 /* 801BCC8C 001B9BEC 38 21 00 40 */ addi r1, r1, 0x40 /* 801BCC90 001B9BF0 4E 80 00 20 */ blr .global GetWeaponInfo__10CGunWeaponCFv GetWeaponInfo__10CGunWeaponCFv: /* 801BCC94 001B9BF4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BCC98 001B9BF8 7C 08 02 A6 */ mflr r0 /* 801BCC9C 001B9BFC 7C 64 1B 78 */ mr r4, r3 /* 801BCCA0 001B9C00 90 01 00 14 */ stw r0, 0x14(r1) /* 801BCCA4 001B9C04 80 6D A1 34 */ lwz r3, gpTweakPlayerGun@sda21(r13) /* 801BCCA8 001B9C08 80 84 02 00 */ lwz r4, 0x200(r4) /* 801BCCAC 001B9C0C 4B EB 2F D1 */ bl GetBeamInfo__15CTweakPlayerGunCFi /* 801BCCB0 001B9C10 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BCCB4 001B9C14 7C 08 03 A6 */ mtlr r0 /* 801BCCB8 001B9C18 38 21 00 10 */ addi r1, r1, 0x10 /* 801BCCBC 001B9C1C 4E 80 00 20 */ blr .global __dt__10CGunWeaponFv __dt__10CGunWeaponFv: /* 801BCCC0 001B9C20 94 21 FF B0 */ stwu r1, -0x50(r1) /* 801BCCC4 001B9C24 7C 08 02 A6 */ mflr r0 /* 801BCCC8 001B9C28 90 01 00 54 */ stw r0, 0x54(r1) /* 801BCCCC 001B9C2C 93 E1 00 4C */ stw r31, 0x4c(r1) /* 801BCCD0 001B9C30 7C 9F 23 78 */ mr r31, r4 /* 801BCCD4 001B9C34 93 C1 00 48 */ stw r30, 0x48(r1) /* 801BCCD8 001B9C38 7C 7E 1B 79 */ or. r30, r3, r3 /* 801BCCDC 001B9C3C 93 A1 00 44 */ stw r29, 0x44(r1) /* 801BCCE0 001B9C40 93 81 00 40 */ stw r28, 0x40(r1) /* 801BCCE4 001B9C44 41 82 03 54 */ beq lbl_801BD038 /* 801BCCE8 001B9C48 3C 80 80 3E */ lis r4, __vt__10CGunWeapon@ha /* 801BCCEC 001B9C4C 38 7E 01 D0 */ addi r3, r30, 0x1d0 /* 801BCCF0 001B9C50 38 04 52 B0 */ addi r0, r4, __vt__10CGunWeapon@l /* 801BCCF4 001B9C54 38 80 FF FF */ li r4, -1 /* 801BCCF8 001B9C58 90 1E 00 00 */ stw r0, 0(r30) /* 801BCCFC 001B9C5C 48 00 03 61 */ bl __dt__13CVelocityInfoFv /* 801BCD00 001B9C60 34 1E 01 B8 */ addic. r0, r30, 0x1b8 /* 801BCD04 001B9C64 41 82 00 24 */ beq lbl_801BCD28 /* 801BCD08 001B9C68 80 7E 01 B8 */ lwz r3, 0x1b8(r30) /* 801BCD0C 001B9C6C 28 03 00 00 */ cmplwi r3, 0 /* 801BCD10 001B9C70 41 82 00 18 */ beq lbl_801BCD28 /* 801BCD14 001B9C74 81 83 00 00 */ lwz r12, 0(r3) /* 801BCD18 001B9C78 38 80 00 01 */ li r4, 1 /* 801BCD1C 001B9C7C 81 8C 00 08 */ lwz r12, 8(r12) /* 801BCD20 001B9C80 7D 89 03 A6 */ mtctr r12 /* 801BCD24 001B9C84 4E 80 04 21 */ bctrl lbl_801BCD28: /* 801BCD28 001B9C88 34 1E 01 A4 */ addic. r0, r30, 0x1a4 /* 801BCD2C 001B9C8C 41 82 00 60 */ beq lbl_801BCD8C /* 801BCD30 001B9C90 3B 9E 01 A8 */ addi r28, r30, 0x1a8 /* 801BCD34 001B9C94 3B A0 00 00 */ li r29, 0 /* 801BCD38 001B9C98 48 00 00 40 */ b lbl_801BCD78 lbl_801BCD3C: /* 801BCD3C 001B9C9C 28 1C 00 00 */ cmplwi r28, 0 /* 801BCD40 001B9CA0 41 82 00 30 */ beq lbl_801BCD70 /* 801BCD44 001B9CA4 88 1C 00 00 */ lbz r0, 0(r28) /* 801BCD48 001B9CA8 28 00 00 00 */ cmplwi r0, 0 /* 801BCD4C 001B9CAC 41 82 00 24 */ beq lbl_801BCD70 /* 801BCD50 001B9CB0 80 7C 00 04 */ lwz r3, 4(r28) /* 801BCD54 001B9CB4 28 03 00 00 */ cmplwi r3, 0 /* 801BCD58 001B9CB8 41 82 00 18 */ beq lbl_801BCD70 /* 801BCD5C 001B9CBC 81 83 00 00 */ lwz r12, 0(r3) /* 801BCD60 001B9CC0 38 80 00 01 */ li r4, 1 /* 801BCD64 001B9CC4 81 8C 00 08 */ lwz r12, 8(r12) /* 801BCD68 001B9CC8 7D 89 03 A6 */ mtctr r12 /* 801BCD6C 001B9CCC 4E 80 04 21 */ bctrl lbl_801BCD70: /* 801BCD70 001B9CD0 3B 9C 00 08 */ addi r28, r28, 8 /* 801BCD74 001B9CD4 3B BD 00 01 */ addi r29, r29, 1 lbl_801BCD78: /* 801BCD78 001B9CD8 80 1E 01 A4 */ lwz r0, 0x1a4(r30) /* 801BCD7C 001B9CDC 7C 1D 00 00 */ cmpw r29, r0 /* 801BCD80 001B9CE0 41 80 FF BC */ blt lbl_801BCD3C /* 801BCD84 001B9CE4 38 00 00 00 */ li r0, 0 /* 801BCD88 001B9CE8 90 1E 01 A4 */ stw r0, 0x1a4(r30) lbl_801BCD8C: /* 801BCD8C 001B9CEC 34 1E 01 88 */ addic. r0, r30, 0x188 /* 801BCD90 001B9CF0 41 82 00 44 */ beq lbl_801BCDD4 /* 801BCD94 001B9CF4 3B 9E 01 8C */ addi r28, r30, 0x18c /* 801BCD98 001B9CF8 3B A0 00 00 */ li r29, 0 /* 801BCD9C 001B9CFC 48 00 00 24 */ b lbl_801BCDC0 lbl_801BCDA0: /* 801BCDA0 001B9D00 28 1C 00 00 */ cmplwi r28, 0 /* 801BCDA4 001B9D04 41 82 00 14 */ beq lbl_801BCDB8 /* 801BCDA8 001B9D08 41 82 00 10 */ beq lbl_801BCDB8 /* 801BCDAC 001B9D0C 7F 83 E3 78 */ mr r3, r28 /* 801BCDB0 001B9D10 38 80 00 00 */ li r4, 0 /* 801BCDB4 001B9D14 48 18 40 8D */ bl __dt__6CTokenFv lbl_801BCDB8: /* 801BCDB8 001B9D18 3B 9C 00 0C */ addi r28, r28, 0xc /* 801BCDBC 001B9D1C 3B BD 00 01 */ addi r29, r29, 1 lbl_801BCDC0: /* 801BCDC0 001B9D20 80 1E 01 88 */ lwz r0, 0x188(r30) /* 801BCDC4 001B9D24 7C 1D 00 00 */ cmpw r29, r0 /* 801BCDC8 001B9D28 41 80 FF D8 */ blt lbl_801BCDA0 /* 801BCDCC 001B9D2C 38 00 00 00 */ li r0, 0 /* 801BCDD0 001B9D30 90 1E 01 88 */ stw r0, 0x188(r30) lbl_801BCDD4: /* 801BCDD4 001B9D34 34 1E 01 6C */ addic. r0, r30, 0x16c /* 801BCDD8 001B9D38 41 82 00 44 */ beq lbl_801BCE1C /* 801BCDDC 001B9D3C 3B 9E 01 70 */ addi r28, r30, 0x170 /* 801BCDE0 001B9D40 3B A0 00 00 */ li r29, 0 /* 801BCDE4 001B9D44 48 00 00 24 */ b lbl_801BCE08 lbl_801BCDE8: /* 801BCDE8 001B9D48 28 1C 00 00 */ cmplwi r28, 0 /* 801BCDEC 001B9D4C 41 82 00 14 */ beq lbl_801BCE00 /* 801BCDF0 001B9D50 41 82 00 10 */ beq lbl_801BCE00 /* 801BCDF4 001B9D54 7F 83 E3 78 */ mr r3, r28 /* 801BCDF8 001B9D58 38 80 00 00 */ li r4, 0 /* 801BCDFC 001B9D5C 48 18 40 45 */ bl __dt__6CTokenFv lbl_801BCE00: /* 801BCE00 001B9D60 3B 9C 00 0C */ addi r28, r28, 0xc /* 801BCE04 001B9D64 3B BD 00 01 */ addi r29, r29, 1 lbl_801BCE08: /* 801BCE08 001B9D68 80 1E 01 6C */ lwz r0, 0x16c(r30) /* 801BCE0C 001B9D6C 7C 1D 00 00 */ cmpw r29, r0 /* 801BCE10 001B9D70 41 80 FF D8 */ blt lbl_801BCDE8 /* 801BCE14 001B9D74 38 00 00 00 */ li r0, 0 /* 801BCE18 001B9D78 90 1E 01 6C */ stw r0, 0x16c(r30) lbl_801BCE1C: /* 801BCE1C 001B9D7C 34 1E 01 60 */ addic. r0, r30, 0x160 /* 801BCE20 001B9D80 41 82 00 18 */ beq lbl_801BCE38 /* 801BCE24 001B9D84 34 1E 01 60 */ addic. r0, r30, 0x160 /* 801BCE28 001B9D88 41 82 00 10 */ beq lbl_801BCE38 /* 801BCE2C 001B9D8C 38 7E 01 60 */ addi r3, r30, 0x160 /* 801BCE30 001B9D90 38 80 00 00 */ li r4, 0 /* 801BCE34 001B9D94 48 18 40 0D */ bl __dt__6CTokenFv lbl_801BCE38: /* 801BCE38 001B9D98 34 1E 01 44 */ addic. r0, r30, 0x144 /* 801BCE3C 001B9D9C 41 82 00 44 */ beq lbl_801BCE80 /* 801BCE40 001B9DA0 3B 9E 01 48 */ addi r28, r30, 0x148 /* 801BCE44 001B9DA4 3B A0 00 00 */ li r29, 0 /* 801BCE48 001B9DA8 48 00 00 24 */ b lbl_801BCE6C lbl_801BCE4C: /* 801BCE4C 001B9DAC 28 1C 00 00 */ cmplwi r28, 0 /* 801BCE50 001B9DB0 41 82 00 14 */ beq lbl_801BCE64 /* 801BCE54 001B9DB4 41 82 00 10 */ beq lbl_801BCE64 /* 801BCE58 001B9DB8 7F 83 E3 78 */ mr r3, r28 /* 801BCE5C 001B9DBC 38 80 00 00 */ li r4, 0 /* 801BCE60 001B9DC0 48 18 3F E1 */ bl __dt__6CTokenFv lbl_801BCE64: /* 801BCE64 001B9DC4 3B 9C 00 0C */ addi r28, r28, 0xc /* 801BCE68 001B9DC8 3B BD 00 01 */ addi r29, r29, 1 lbl_801BCE6C: /* 801BCE6C 001B9DCC 80 1E 01 44 */ lwz r0, 0x144(r30) /* 801BCE70 001B9DD0 7C 1D 00 00 */ cmpw r29, r0 /* 801BCE74 001B9DD4 41 80 FF D8 */ blt lbl_801BCE4C /* 801BCE78 001B9DD8 38 00 00 00 */ li r0, 0 /* 801BCE7C 001B9DDC 90 1E 01 44 */ stw r0, 0x144(r30) lbl_801BCE80: /* 801BCE80 001B9DE0 34 1E 01 3C */ addic. r0, r30, 0x13c /* 801BCE84 001B9DE4 41 82 00 10 */ beq lbl_801BCE94 /* 801BCE88 001B9DE8 38 7E 01 3C */ addi r3, r30, 0x13c /* 801BCE8C 001B9DEC 38 80 00 00 */ li r4, 0 /* 801BCE90 001B9DF0 48 18 3F B1 */ bl __dt__6CTokenFv lbl_801BCE94: /* 801BCE94 001B9DF4 34 1E 01 2C */ addic. r0, r30, 0x12c /* 801BCE98 001B9DF8 41 82 00 50 */ beq lbl_801BCEE8 /* 801BCE9C 001B9DFC 80 1E 01 30 */ lwz r0, 0x130(r30) /* 801BCEA0 001B9E00 83 9E 01 38 */ lwz r28, 0x138(r30) /* 801BCEA4 001B9E04 54 00 18 38 */ slwi r0, r0, 3 /* 801BCEA8 001B9E08 7F BC 02 14 */ add r29, r28, r0 /* 801BCEAC 001B9E0C 93 81 00 2C */ stw r28, 0x2c(r1) /* 801BCEB0 001B9E10 93 A1 00 34 */ stw r29, 0x34(r1) /* 801BCEB4 001B9E14 93 A1 00 30 */ stw r29, 0x30(r1) /* 801BCEB8 001B9E18 93 81 00 28 */ stw r28, 0x28(r1) /* 801BCEBC 001B9E1C 48 00 00 14 */ b lbl_801BCED0 lbl_801BCEC0: /* 801BCEC0 001B9E20 7F 83 E3 78 */ mr r3, r28 /* 801BCEC4 001B9E24 38 80 FF FF */ li r4, -1 /* 801BCEC8 001B9E28 48 18 3F 79 */ bl __dt__6CTokenFv /* 801BCECC 001B9E2C 3B 9C 00 08 */ addi r28, r28, 8 lbl_801BCED0: /* 801BCED0 001B9E30 7C 1C E8 40 */ cmplw r28, r29 /* 801BCED4 001B9E34 40 82 FF EC */ bne lbl_801BCEC0 /* 801BCED8 001B9E38 80 7E 01 38 */ lwz r3, 0x138(r30) /* 801BCEDC 001B9E3C 28 03 00 00 */ cmplwi r3, 0 /* 801BCEE0 001B9E40 41 82 00 08 */ beq lbl_801BCEE8 /* 801BCEE4 001B9E44 48 15 8A 4D */ bl Free__7CMemoryFPCv lbl_801BCEE8: /* 801BCEE8 001B9E48 34 1E 01 1C */ addic. r0, r30, 0x11c /* 801BCEEC 001B9E4C 41 82 00 50 */ beq lbl_801BCF3C /* 801BCEF0 001B9E50 80 1E 01 20 */ lwz r0, 0x120(r30) /* 801BCEF4 001B9E54 83 9E 01 28 */ lwz r28, 0x128(r30) /* 801BCEF8 001B9E58 54 00 18 38 */ slwi r0, r0, 3 /* 801BCEFC 001B9E5C 7F BC 02 14 */ add r29, r28, r0 /* 801BCF00 001B9E60 93 81 00 1C */ stw r28, 0x1c(r1) /* 801BCF04 001B9E64 93 A1 00 24 */ stw r29, 0x24(r1) /* 801BCF08 001B9E68 93 A1 00 20 */ stw r29, 0x20(r1) /* 801BCF0C 001B9E6C 93 81 00 18 */ stw r28, 0x18(r1) /* 801BCF10 001B9E70 48 00 00 14 */ b lbl_801BCF24 lbl_801BCF14: /* 801BCF14 001B9E74 7F 83 E3 78 */ mr r3, r28 /* 801BCF18 001B9E78 38 80 FF FF */ li r4, -1 /* 801BCF1C 001B9E7C 48 18 3F 25 */ bl __dt__6CTokenFv /* 801BCF20 001B9E80 3B 9C 00 08 */ addi r28, r28, 8 lbl_801BCF24: /* 801BCF24 001B9E84 7C 1C E8 40 */ cmplw r28, r29 /* 801BCF28 001B9E88 40 82 FF EC */ bne lbl_801BCF14 /* 801BCF2C 001B9E8C 80 7E 01 28 */ lwz r3, 0x128(r30) /* 801BCF30 001B9E90 28 03 00 00 */ cmplwi r3, 0 /* 801BCF34 001B9E94 41 82 00 08 */ beq lbl_801BCF3C /* 801BCF38 001B9E98 48 15 89 F9 */ bl Free__7CMemoryFPCv lbl_801BCF3C: /* 801BCF3C 001B9E9C 34 1E 01 0C */ addic. r0, r30, 0x10c /* 801BCF40 001B9EA0 41 82 00 50 */ beq lbl_801BCF90 /* 801BCF44 001B9EA4 80 1E 01 10 */ lwz r0, 0x110(r30) /* 801BCF48 001B9EA8 83 9E 01 18 */ lwz r28, 0x118(r30) /* 801BCF4C 001B9EAC 54 00 18 38 */ slwi r0, r0, 3 /* 801BCF50 001B9EB0 7F BC 02 14 */ add r29, r28, r0 /* 801BCF54 001B9EB4 93 81 00 0C */ stw r28, 0xc(r1) /* 801BCF58 001B9EB8 93 A1 00 14 */ stw r29, 0x14(r1) /* 801BCF5C 001B9EBC 93 A1 00 10 */ stw r29, 0x10(r1) /* 801BCF60 001B9EC0 93 81 00 08 */ stw r28, 8(r1) /* 801BCF64 001B9EC4 48 00 00 14 */ b lbl_801BCF78 lbl_801BCF68: /* 801BCF68 001B9EC8 7F 83 E3 78 */ mr r3, r28 /* 801BCF6C 001B9ECC 38 80 FF FF */ li r4, -1 /* 801BCF70 001B9ED0 48 18 3E D1 */ bl __dt__6CTokenFv /* 801BCF74 001B9ED4 3B 9C 00 08 */ addi r28, r28, 8 lbl_801BCF78: /* 801BCF78 001B9ED8 7C 1C E8 40 */ cmplw r28, r29 /* 801BCF7C 001B9EDC 40 82 FF EC */ bne lbl_801BCF68 /* 801BCF80 001B9EE0 80 7E 01 18 */ lwz r3, 0x118(r30) /* 801BCF84 001B9EE4 28 03 00 00 */ cmplwi r3, 0 /* 801BCF88 001B9EE8 41 82 00 08 */ beq lbl_801BCF90 /* 801BCF8C 001B9EEC 48 15 89 A5 */ bl Free__7CMemoryFPCv lbl_801BCF90: /* 801BCF90 001B9EF0 34 1E 01 04 */ addic. r0, r30, 0x104 /* 801BCF94 001B9EF4 41 82 00 10 */ beq lbl_801BCFA4 /* 801BCF98 001B9EF8 38 7E 01 04 */ addi r3, r30, 0x104 /* 801BCF9C 001B9EFC 38 80 00 00 */ li r4, 0 /* 801BCFA0 001B9F00 48 18 3E A1 */ bl __dt__6CTokenFv lbl_801BCFA4: /* 801BCFA4 001B9F04 38 7E 01 00 */ addi r3, r30, 0x100 /* 801BCFA8 001B9F08 38 80 FF FF */ li r4, -1 /* 801BCFAC 001B9F0C 4B F6 2D 5D */ bl "__dt__Q24rstl28single_ptr<14CGunController>Fv" /* 801BCFB0 001B9F10 34 1E 00 B0 */ addic. r0, r30, 0xb0 /* 801BCFB4 001B9F14 41 82 00 24 */ beq lbl_801BCFD8 /* 801BCFB8 001B9F18 88 1E 00 FC */ lbz r0, 0xfc(r30) /* 801BCFBC 001B9F1C 28 00 00 00 */ cmplwi r0, 0 /* 801BCFC0 001B9F20 41 82 00 10 */ beq lbl_801BCFD0 /* 801BCFC4 001B9F24 38 7E 00 B0 */ addi r3, r30, 0xb0 /* 801BCFC8 001B9F28 38 80 FF FF */ li r4, -1 /* 801BCFCC 001B9F2C 4B F5 9A 81 */ bl __dt__10CModelDataFv lbl_801BCFD0: /* 801BCFD0 001B9F30 38 00 00 00 */ li r0, 0 /* 801BCFD4 001B9F34 98 1E 00 FC */ stb r0, 0xfc(r30) lbl_801BCFD8: /* 801BCFD8 001B9F38 34 1E 00 60 */ addic. r0, r30, 0x60 /* 801BCFDC 001B9F3C 41 82 00 24 */ beq lbl_801BD000 /* 801BCFE0 001B9F40 88 1E 00 AC */ lbz r0, 0xac(r30) /* 801BCFE4 001B9F44 28 00 00 00 */ cmplwi r0, 0 /* 801BCFE8 001B9F48 41 82 00 10 */ beq lbl_801BCFF8 /* 801BCFEC 001B9F4C 38 7E 00 60 */ addi r3, r30, 0x60 /* 801BCFF0 001B9F50 38 80 FF FF */ li r4, -1 /* 801BCFF4 001B9F54 4B F5 9A 59 */ bl __dt__10CModelDataFv lbl_801BCFF8: /* 801BCFF8 001B9F58 38 00 00 00 */ li r0, 0 /* 801BCFFC 001B9F5C 98 1E 00 AC */ stb r0, 0xac(r30) lbl_801BD000: /* 801BD000 001B9F60 34 1E 00 10 */ addic. r0, r30, 0x10 /* 801BD004 001B9F64 41 82 00 24 */ beq lbl_801BD028 /* 801BD008 001B9F68 88 1E 00 5C */ lbz r0, 0x5c(r30) /* 801BD00C 001B9F6C 28 00 00 00 */ cmplwi r0, 0 /* 801BD010 001B9F70 41 82 00 10 */ beq lbl_801BD020 /* 801BD014 001B9F74 38 7E 00 10 */ addi r3, r30, 0x10 /* 801BD018 001B9F78 38 80 FF FF */ li r4, -1 /* 801BD01C 001B9F7C 4B F5 9A 31 */ bl __dt__10CModelDataFv lbl_801BD020: /* 801BD020 001B9F80 38 00 00 00 */ li r0, 0 /* 801BD024 001B9F84 98 1E 00 5C */ stb r0, 0x5c(r30) lbl_801BD028: /* 801BD028 001B9F88 7F E0 07 35 */ extsh. r0, r31 /* 801BD02C 001B9F8C 40 81 00 0C */ ble lbl_801BD038 /* 801BD030 001B9F90 7F C3 F3 78 */ mr r3, r30 /* 801BD034 001B9F94 48 15 88 FD */ bl Free__7CMemoryFPCv lbl_801BD038: /* 801BD038 001B9F98 80 01 00 54 */ lwz r0, 0x54(r1) /* 801BD03C 001B9F9C 7F C3 F3 78 */ mr r3, r30 /* 801BD040 001B9FA0 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 801BD044 001B9FA4 83 C1 00 48 */ lwz r30, 0x48(r1) /* 801BD048 001B9FA8 83 A1 00 44 */ lwz r29, 0x44(r1) /* 801BD04C 001B9FAC 83 81 00 40 */ lwz r28, 0x40(r1) /* 801BD050 001B9FB0 7C 08 03 A6 */ mtlr r0 /* 801BD054 001B9FB4 38 21 00 50 */ addi r1, r1, 0x50 /* 801BD058 001B9FB8 4E 80 00 20 */ blr .global __dt__13CVelocityInfoFv __dt__13CVelocityInfoFv: /* 801BD05C 001B9FBC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801BD060 001B9FC0 7C 08 02 A6 */ mflr r0 /* 801BD064 001B9FC4 90 01 00 14 */ stw r0, 0x14(r1) /* 801BD068 001B9FC8 93 E1 00 0C */ stw r31, 0xc(r1) /* 801BD06C 001B9FCC 7C 7F 1B 79 */ or. r31, r3, r3 /* 801BD070 001B9FD0 41 82 01 28 */ beq lbl_801BD198 /* 801BD074 001B9FD4 34 1F 00 24 */ addic. r0, r31, 0x24 /* 801BD078 001B9FD8 41 82 00 58 */ beq lbl_801BD0D0 /* 801BD07C 001B9FDC 80 DF 00 24 */ lwz r6, 0x24(r31) /* 801BD080 001B9FE0 38 60 00 00 */ li r3, 0 /* 801BD084 001B9FE4 2C 06 00 00 */ cmpwi r6, 0 /* 801BD088 001B9FE8 40 81 00 40 */ ble lbl_801BD0C8 /* 801BD08C 001B9FEC 2C 06 00 08 */ cmpwi r6, 8 /* 801BD090 001B9FF0 38 A6 FF F8 */ addi r5, r6, -8 /* 801BD094 001B9FF4 40 81 00 20 */ ble lbl_801BD0B4 /* 801BD098 001B9FF8 38 05 00 07 */ addi r0, r5, 7 /* 801BD09C 001B9FFC 54 00 E8 FE */ srwi r0, r0, 3 /* 801BD0A0 001BA000 7C 09 03 A6 */ mtctr r0 /* 801BD0A4 001BA004 2C 05 00 00 */ cmpwi r5, 0 /* 801BD0A8 001BA008 40 81 00 0C */ ble lbl_801BD0B4 lbl_801BD0AC: /* 801BD0AC 001BA00C 38 63 00 08 */ addi r3, r3, 8 /* 801BD0B0 001BA010 42 00 FF FC */ bdnz lbl_801BD0AC lbl_801BD0B4: /* 801BD0B4 001BA014 7C 03 30 50 */ subf r0, r3, r6 /* 801BD0B8 001BA018 7C 09 03 A6 */ mtctr r0 /* 801BD0BC 001BA01C 7C 03 30 00 */ cmpw r3, r6 /* 801BD0C0 001BA020 40 80 00 08 */ bge lbl_801BD0C8 lbl_801BD0C4: /* 801BD0C4 001BA024 42 00 00 00 */ bdnz lbl_801BD0C4 lbl_801BD0C8: /* 801BD0C8 001BA028 38 00 00 00 */ li r0, 0 /* 801BD0CC 001BA02C 90 1F 00 24 */ stw r0, 0x24(r31) lbl_801BD0D0: /* 801BD0D0 001BA030 34 1F 00 1C */ addic. r0, r31, 0x1c /* 801BD0D4 001BA034 41 82 00 58 */ beq lbl_801BD12C /* 801BD0D8 001BA038 80 DF 00 1C */ lwz r6, 0x1c(r31) /* 801BD0DC 001BA03C 38 60 00 00 */ li r3, 0 /* 801BD0E0 001BA040 2C 06 00 00 */ cmpwi r6, 0 /* 801BD0E4 001BA044 40 81 00 40 */ ble lbl_801BD124 /* 801BD0E8 001BA048 2C 06 00 08 */ cmpwi r6, 8 /* 801BD0EC 001BA04C 38 A6 FF F8 */ addi r5, r6, -8 /* 801BD0F0 001BA050 40 81 00 20 */ ble lbl_801BD110 /* 801BD0F4 001BA054 38 05 00 07 */ addi r0, r5, 7 /* 801BD0F8 001BA058 54 00 E8 FE */ srwi r0, r0, 3 /* 801BD0FC 001BA05C 7C 09 03 A6 */ mtctr r0 /* 801BD100 001BA060 2C 05 00 00 */ cmpwi r5, 0 /* 801BD104 001BA064 40 81 00 0C */ ble lbl_801BD110 lbl_801BD108: /* 801BD108 001BA068 38 63 00 08 */ addi r3, r3, 8 /* 801BD10C 001BA06C 42 00 FF FC */ bdnz lbl_801BD108 lbl_801BD110: /* 801BD110 001BA070 7C 03 30 50 */ subf r0, r3, r6 /* 801BD114 001BA074 7C 09 03 A6 */ mtctr r0 /* 801BD118 001BA078 7C 03 30 00 */ cmpw r3, r6 /* 801BD11C 001BA07C 40 80 00 08 */ bge lbl_801BD124 lbl_801BD120: /* 801BD120 001BA080 42 00 00 00 */ bdnz lbl_801BD120 lbl_801BD124: /* 801BD124 001BA084 38 00 00 00 */ li r0, 0 /* 801BD128 001BA088 90 1F 00 1C */ stw r0, 0x1c(r31) lbl_801BD12C: /* 801BD12C 001BA08C 28 1F 00 00 */ cmplwi r31, 0 /* 801BD130 001BA090 41 82 00 58 */ beq lbl_801BD188 /* 801BD134 001BA094 80 DF 00 00 */ lwz r6, 0(r31) /* 801BD138 001BA098 38 60 00 00 */ li r3, 0 /* 801BD13C 001BA09C 2C 06 00 00 */ cmpwi r6, 0 /* 801BD140 001BA0A0 40 81 00 40 */ ble lbl_801BD180 /* 801BD144 001BA0A4 2C 06 00 08 */ cmpwi r6, 8 /* 801BD148 001BA0A8 38 A6 FF F8 */ addi r5, r6, -8 /* 801BD14C 001BA0AC 40 81 00 20 */ ble lbl_801BD16C /* 801BD150 001BA0B0 38 05 00 07 */ addi r0, r5, 7 /* 801BD154 001BA0B4 54 00 E8 FE */ srwi r0, r0, 3 /* 801BD158 001BA0B8 7C 09 03 A6 */ mtctr r0 /* 801BD15C 001BA0BC 2C 05 00 00 */ cmpwi r5, 0 /* 801BD160 001BA0C0 40 81 00 0C */ ble lbl_801BD16C lbl_801BD164: /* 801BD164 001BA0C4 38 63 00 08 */ addi r3, r3, 8 /* 801BD168 001BA0C8 42 00 FF FC */ bdnz lbl_801BD164 lbl_801BD16C: /* 801BD16C 001BA0CC 7C 03 30 50 */ subf r0, r3, r6 /* 801BD170 001BA0D0 7C 09 03 A6 */ mtctr r0 /* 801BD174 001BA0D4 7C 03 30 00 */ cmpw r3, r6 /* 801BD178 001BA0D8 40 80 00 08 */ bge lbl_801BD180 lbl_801BD17C: /* 801BD17C 001BA0DC 42 00 00 00 */ bdnz lbl_801BD17C lbl_801BD180: /* 801BD180 001BA0E0 38 00 00 00 */ li r0, 0 /* 801BD184 001BA0E4 90 1F 00 00 */ stw r0, 0(r31) lbl_801BD188: /* 801BD188 001BA0E8 7C 80 07 35 */ extsh. r0, r4 /* 801BD18C 001BA0EC 40 81 00 0C */ ble lbl_801BD198 /* 801BD190 001BA0F0 7F E3 FB 78 */ mr r3, r31 /* 801BD194 001BA0F4 48 15 87 9D */ bl Free__7CMemoryFPCv lbl_801BD198: /* 801BD198 001BA0F8 80 01 00 14 */ lwz r0, 0x14(r1) /* 801BD19C 001BA0FC 7F E3 FB 78 */ mr r3, r31 /* 801BD1A0 001BA100 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801BD1A4 001BA104 7C 08 03 A6 */ mtlr r0 /* 801BD1A8 001BA108 38 21 00 10 */ addi r1, r1, 0x10 /* 801BD1AC 001BA10C 4E 80 00 20 */ blr .global __ct__10CGunWeaponFUi11EWeaponType9TUniqueId14EMaterialTypesRC9CVector3f __ct__10CGunWeaponFUi11EWeaponType9TUniqueId14EMaterialTypesRC9CVector3f: /* 801BD1B0 001BA110 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801BD1B4 001BA114 7C 08 02 A6 */ mflr r0 /* 801BD1B8 001BA118 3D 20 80 3E */ lis r9, __vt__10CGunWeapon@ha /* 801BD1BC 001BA11C 90 01 00 44 */ stw r0, 0x44(r1) /* 801BD1C0 001BA120 38 09 52 B0 */ addi r0, r9, __vt__10CGunWeapon@l /* 801BD1C4 001BA124 39 20 00 00 */ li r9, 0 /* 801BD1C8 001BA128 BF 41 00 28 */ stmw r26, 0x28(r1) /* 801BD1CC 001BA12C 7C 7E 1B 78 */ mr r30, r3 /* 801BD1D0 001BA130 7C BB 2B 78 */ mr r27, r5 /* 801BD1D4 001BA134 3C 60 41 4E */ lis r3, 0x414E4353@ha /* 801BD1D8 001BA138 7C 9F 23 78 */ mr r31, r4 /* 801BD1DC 001BA13C 7C DC 33 78 */ mr r28, r6 /* 801BD1E0 001BA140 7C FD 3B 78 */ mr r29, r7 /* 801BD1E4 001BA144 38 A1 00 20 */ addi r5, r1, 0x20 /* 801BD1E8 001BA148 90 1E 00 00 */ stw r0, 0(r30) /* 801BD1EC 001BA14C 38 03 43 53 */ addi r0, r3, 0x414E4353@l /* 801BD1F0 001BA150 38 61 00 18 */ addi r3, r1, 0x18 /* 801BD1F4 001BA154 C0 08 00 00 */ lfs f0, 0(r8) /* 801BD1F8 001BA158 D0 1E 00 04 */ stfs f0, 4(r30) /* 801BD1FC 001BA15C C0 08 00 04 */ lfs f0, 4(r8) /* 801BD200 001BA160 D0 1E 00 08 */ stfs f0, 8(r30) /* 801BD204 001BA164 C0 08 00 08 */ lfs f0, 8(r8) /* 801BD208 001BA168 D0 1E 00 0C */ stfs f0, 0xc(r30) /* 801BD20C 001BA16C 99 3E 00 5C */ stb r9, 0x5c(r30) /* 801BD210 001BA170 99 3E 00 AC */ stb r9, 0xac(r30) /* 801BD214 001BA174 99 3E 00 FC */ stb r9, 0xfc(r30) /* 801BD218 001BA178 91 3E 01 00 */ stw r9, 0x100(r30) /* 801BD21C 001BA17C 90 01 00 20 */ stw r0, 0x20(r1) /* 801BD220 001BA180 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801BD224 001BA184 93 E1 00 24 */ stw r31, 0x24(r1) /* 801BD228 001BA188 81 84 00 00 */ lwz r12, 0(r4) /* 801BD22C 001BA18C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 801BD230 001BA190 7D 89 03 A6 */ mtctr r12 /* 801BD234 001BA194 4E 80 04 21 */ bctrl /* 801BD238 001BA198 38 7E 01 04 */ addi r3, r30, 0x104 /* 801BD23C 001BA19C 38 81 00 18 */ addi r4, r1, 0x18 /* 801BD240 001BA1A0 48 18 3C 69 */ bl __ct__6CTokenFRC6CToken /* 801BD244 001BA1A4 38 61 00 18 */ addi r3, r1, 0x18 /* 801BD248 001BA1A8 38 80 FF FF */ li r4, -1 /* 801BD24C 001BA1AC 48 18 3B F5 */ bl __dt__6CTokenFv /* 801BD250 001BA1B0 38 00 00 00 */ li r0, 0 /* 801BD254 001BA1B4 3C 60 80 3D */ lis r3, skSuitArmNames@ha /* 801BD258 001BA1B8 90 1E 01 10 */ stw r0, 0x110(r30) /* 801BD25C 001BA1BC 38 83 17 DC */ addi r4, r3, skSuitArmNames@l /* 801BD260 001BA1C0 38 61 00 10 */ addi r3, r1, 0x10 /* 801BD264 001BA1C4 80 A4 00 00 */ lwz r5, 0(r4) /* 801BD268 001BA1C8 90 1E 01 14 */ stw r0, 0x114(r30) /* 801BD26C 001BA1CC 90 1E 01 18 */ stw r0, 0x118(r30) /* 801BD270 001BA1D0 90 1E 01 20 */ stw r0, 0x120(r30) /* 801BD274 001BA1D4 90 1E 01 24 */ stw r0, 0x124(r30) /* 801BD278 001BA1D8 90 1E 01 28 */ stw r0, 0x128(r30) /* 801BD27C 001BA1DC 90 1E 01 30 */ stw r0, 0x130(r30) /* 801BD280 001BA1E0 90 1E 01 34 */ stw r0, 0x134(r30) /* 801BD284 001BA1E4 90 1E 01 38 */ stw r0, 0x138(r30) /* 801BD288 001BA1E8 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801BD28C 001BA1EC 81 84 00 00 */ lwz r12, 0(r4) /* 801BD290 001BA1F0 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801BD294 001BA1F4 7D 89 03 A6 */ mtctr r12 /* 801BD298 001BA1F8 4E 80 04 21 */ bctrl /* 801BD29C 001BA1FC 38 7E 01 3C */ addi r3, r30, 0x13c /* 801BD2A0 001BA200 38 81 00 10 */ addi r4, r1, 0x10 /* 801BD2A4 001BA204 48 18 3C 05 */ bl __ct__6CTokenFRC6CToken /* 801BD2A8 001BA208 38 61 00 10 */ addi r3, r1, 0x10 /* 801BD2AC 001BA20C 38 80 FF FF */ li r4, -1 /* 801BD2B0 001BA210 48 18 3B 91 */ bl __dt__6CTokenFv /* 801BD2B4 001BA214 38 00 00 00 */ li r0, 0 /* 801BD2B8 001BA218 7F 63 DB 78 */ mr r3, r27 /* 801BD2BC 001BA21C 90 1E 01 44 */ stw r0, 0x144(r30) /* 801BD2C0 001BA220 48 00 01 29 */ bl GetWeaponIndex__F11EWeaponType /* 801BD2C4 001BA224 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 801BD2C8 001BA228 3C A0 80 3D */ lis r5, lbl_803D17A0@ha /* 801BD2CC 001BA22C 54 60 10 3A */ slwi r0, r3, 2 /* 801BD2D0 001BA230 38 61 00 08 */ addi r3, r1, 8 /* 801BD2D4 001BA234 81 84 00 00 */ lwz r12, 0(r4) /* 801BD2D8 001BA238 38 A5 17 A0 */ addi r5, r5, lbl_803D17A0@l /* 801BD2DC 001BA23C 7C A5 00 2E */ lwzx r5, r5, r0 /* 801BD2E0 001BA240 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801BD2E4 001BA244 7D 89 03 A6 */ mtctr r12 /* 801BD2E8 001BA248 4E 80 04 21 */ bctrl /* 801BD2EC 001BA24C 3B 5E 01 60 */ addi r26, r30, 0x160 /* 801BD2F0 001BA250 38 81 00 08 */ addi r4, r1, 8 /* 801BD2F4 001BA254 7F 43 D3 78 */ mr r3, r26 /* 801BD2F8 001BA258 48 18 3B B1 */ bl __ct__6CTokenFRC6CToken /* 801BD2FC 001BA25C 38 00 00 00 */ li r0, 0 /* 801BD300 001BA260 38 61 00 08 */ addi r3, r1, 8 /* 801BD304 001BA264 90 1A 00 08 */ stw r0, 8(r26) /* 801BD308 001BA268 38 80 FF FF */ li r4, -1 /* 801BD30C 001BA26C 48 18 3B 35 */ bl __dt__6CTokenFv /* 801BD310 001BA270 38 80 00 00 */ li r4, 0 /* 801BD314 001BA274 7F 63 DB 78 */ mr r3, r27 /* 801BD318 001BA278 90 9E 01 6C */ stw r4, 0x16c(r30) /* 801BD31C 001BA27C 90 9E 01 88 */ stw r4, 0x188(r30) /* 801BD320 001BA280 90 9E 01 A4 */ stw r4, 0x1a4(r30) /* 801BD324 001BA284 90 9E 01 B8 */ stw r4, 0x1b8(r30) /* 801BD328 001BA288 90 9E 01 BC */ stw r4, 0x1bc(r30) /* 801BD32C 001BA28C 93 7E 01 C0 */ stw r27, 0x1c0(r30) /* 801BD330 001BA290 A0 1C 00 00 */ lhz r0, 0(r28) /* 801BD334 001BA294 B0 1E 01 C4 */ sth r0, 0x1c4(r30) /* 801BD338 001BA298 93 BE 01 C8 */ stw r29, 0x1c8(r30) /* 801BD33C 001BA29C 90 9E 01 CC */ stw r4, 0x1cc(r30) /* 801BD340 001BA2A0 90 9E 01 D0 */ stw r4, 0x1d0(r30) /* 801BD344 001BA2A4 90 9E 01 EC */ stw r4, 0x1ec(r30) /* 801BD348 001BA2A8 90 9E 01 F4 */ stw r4, 0x1f4(r30) /* 801BD34C 001BA2AC 48 00 00 9D */ bl GetWeaponIndex__F11EWeaponType /* 801BD350 001BA2B0 90 7E 02 00 */ stw r3, 0x200(r30) /* 801BD354 001BA2B4 38 80 00 00 */ li r4, 0 /* 801BD358 001BA2B8 7F C3 F3 78 */ mr r3, r30 /* 801BD35C 001BA2BC 90 9E 02 04 */ stw r4, 0x204(r30) /* 801BD360 001BA2C0 90 9E 02 08 */ stw r4, 0x208(r30) /* 801BD364 001BA2C4 80 1E 02 00 */ lwz r0, 0x200(r30) /* 801BD368 001BA2C8 90 1E 02 0C */ stw r0, 0x20c(r30) /* 801BD36C 001BA2CC 90 9E 02 10 */ stw r4, 0x210(r30) /* 801BD370 001BA2D0 93 FE 02 14 */ stw r31, 0x214(r30) /* 801BD374 001BA2D4 88 1E 02 18 */ lbz r0, 0x218(r30) /* 801BD378 001BA2D8 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 801BD37C 001BA2DC 98 1E 02 18 */ stb r0, 0x218(r30) /* 801BD380 001BA2E0 88 1E 02 18 */ lbz r0, 0x218(r30) /* 801BD384 001BA2E4 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19 /* 801BD388 001BA2E8 98 1E 02 18 */ stb r0, 0x218(r30) /* 801BD38C 001BA2EC 88 1E 02 18 */ lbz r0, 0x218(r30) /* 801BD390 001BA2F0 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a /* 801BD394 001BA2F4 98 1E 02 18 */ stb r0, 0x218(r30) /* 801BD398 001BA2F8 88 1E 02 18 */ lbz r0, 0x218(r30) /* 801BD39C 001BA2FC 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b /* 801BD3A0 001BA300 98 1E 02 18 */ stb r0, 0x218(r30) /* 801BD3A4 001BA304 88 1E 02 18 */ lbz r0, 0x218(r30) /* 801BD3A8 001BA308 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c /* 801BD3AC 001BA30C 98 1E 02 18 */ stb r0, 0x218(r30) /* 801BD3B0 001BA310 88 1E 02 18 */ lbz r0, 0x218(r30) /* 801BD3B4 001BA314 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d /* 801BD3B8 001BA318 98 1E 02 18 */ stb r0, 0x218(r30) /* 801BD3BC 001BA31C 80 9E 02 00 */ lwz r4, 0x200(r30) /* 801BD3C0 001BA320 4B FF DD D5 */ bl AllocResPools__10CGunWeaponFQ212CPlayerState7EBeamId /* 801BD3C4 001BA324 80 9E 02 00 */ lwz r4, 0x200(r30) /* 801BD3C8 001BA328 7F C3 F3 78 */ mr r3, r30 /* 801BD3CC 001BA32C 4B FF D2 ED */ bl BuildDependencyList__10CGunWeaponFQ212CPlayerState7EBeamId /* 801BD3D0 001BA330 7F C3 F3 78 */ mr r3, r30 /* 801BD3D4 001BA334 BB 41 00 28 */ lmw r26, 0x28(r1) /* 801BD3D8 001BA338 80 01 00 44 */ lwz r0, 0x44(r1) /* 801BD3DC 001BA33C 7C 08 03 A6 */ mtlr r0 /* 801BD3E0 001BA340 38 21 00 40 */ addi r1, r1, 0x40 /* 801BD3E4 001BA344 4E 80 00 20 */ blr .global GetWeaponIndex__F11EWeaponType GetWeaponIndex__F11EWeaponType: /* 801BD3E8 001BA348 2C 03 00 03 */ cmpwi r3, 3 /* 801BD3EC 001BA34C 41 82 00 44 */ beq lbl_801BD430 /* 801BD3F0 001BA350 40 80 00 1C */ bge lbl_801BD40C /* 801BD3F4 001BA354 2C 03 00 01 */ cmpwi r3, 1 /* 801BD3F8 001BA358 41 82 00 28 */ beq lbl_801BD420 /* 801BD3FC 001BA35C 40 80 00 2C */ bge lbl_801BD428 /* 801BD400 001BA360 2C 03 00 00 */ cmpwi r3, 0 /* 801BD404 001BA364 40 80 00 14 */ bge lbl_801BD418 /* 801BD408 001BA368 48 00 00 38 */ b lbl_801BD440 lbl_801BD40C: /* 801BD40C 001BA36C 2C 03 00 08 */ cmpwi r3, 8 /* 801BD410 001BA370 41 82 00 28 */ beq lbl_801BD438 /* 801BD414 001BA374 48 00 00 2C */ b lbl_801BD440 lbl_801BD418: /* 801BD418 001BA378 38 60 00 00 */ li r3, 0 /* 801BD41C 001BA37C 4E 80 00 20 */ blr lbl_801BD420: /* 801BD420 001BA380 38 60 00 01 */ li r3, 1 /* 801BD424 001BA384 4E 80 00 20 */ blr lbl_801BD428: /* 801BD428 001BA388 38 60 00 02 */ li r3, 2 /* 801BD42C 001BA38C 4E 80 00 20 */ blr lbl_801BD430: /* 801BD430 001BA390 38 60 00 03 */ li r3, 3 /* 801BD434 001BA394 4E 80 00 20 */ blr lbl_801BD438: /* 801BD438 001BA398 38 60 00 04 */ li r3, 4 /* 801BD43C 001BA39C 4E 80 00 20 */ blr lbl_801BD440: /* 801BD440 001BA3A0 38 60 00 00 */ li r3, 0 /* 801BD444 001BA3A4 4E 80 00 20 */ blr .section .sdata2, "a" .balign 8 .global lbl_805AC6E8 lbl_805AC6E8: # ROM: 0x3F8F88 .4byte lbl_803D19D1 .global lbl_805AC6EC lbl_805AC6EC: # ROM: 0x3F8F8C .4byte lbl_803D19D7 .global lbl_805AC6F0 lbl_805AC6F0: # ROM: 0x3F8F90 .4byte 0x00000004 .4byte 0x00000003 .global lbl_805AC6F8 lbl_805AC6F8: # ROM: 0x3F8F98 .float 1.0 .global lbl_805AC6FC lbl_805AC6FC: # ROM: 0x3F8F9C .4byte 0 .global lbl_805AC700 lbl_805AC700: # ROM: 0x3F8FA0 .double 9.999999747378752E-6 .global lbl_805AC708 lbl_805AC708: # ROM: 0x3F8FA8 .4byte 0x3B808081 .global lbl_805AC70C lbl_805AC70C: # ROM: 0x3F8FAC .float 0.001 .global lbl_805AC710 lbl_805AC710: # ROM: 0x3F8FB0 .4byte 0x42700000 .4byte 0 .section .rodata .balign 8 .global skMuzzleNames skMuzzleNames: # ROM: 0x3CE750 .4byte lbl_803D1828 .4byte lbl_803D1834 .4byte lbl_803D1840 .4byte lbl_803D184A .4byte lbl_803D1828 .4byte lbl_803D1854 .4byte lbl_803D185F .4byte lbl_803D186C .4byte lbl_803D1879 .4byte lbl_803D1886 .global skFrozenNames skFrozenNames: # ROM: 0x3CE778 .4byte lbl_803D1892 .4byte lbl_803D189E .4byte lbl_803D18A7 .4byte lbl_803D189E .4byte lbl_803D18B1 .4byte lbl_803D189E .4byte lbl_803D18BC .4byte lbl_803D189E .4byte lbl_803D18A7 .4byte lbl_803D189E .global lbl_803D17A0 lbl_803D17A0: # ROM: 0x3CE7A0 .4byte lbl_803D18C9 .4byte lbl_803D18D3 .4byte lbl_803D18DB .4byte lbl_803D18E4 .4byte lbl_803D18EF .global skAnimDependencyNames skAnimDependencyNames: # ROM: 0x3CE7B4 .4byte lbl_803D18FA .4byte lbl_803D190A .4byte lbl_803D1918 .4byte lbl_803D1927 .4byte lbl_803D1938 .global skDependencyNames skDependencyNames: # ROM: 0x3CE7C8 .4byte lbl_803D1949 .4byte lbl_803D1954 .4byte lbl_803D195D .4byte lbl_803D1967 .4byte lbl_803D1973 .global skSuitArmNames skSuitArmNames: # ROM: 0x3CE7DC .4byte lbl_803D197F .4byte lbl_803D1988 .4byte lbl_803D1993 .4byte lbl_803D199C .4byte lbl_803D19A6 .4byte lbl_803D19B0 .4byte lbl_803D19BB .4byte lbl_803D19C6 .global skAnimTypeList skAnimTypeList: # ROM: 0x3CE7FC .4byte 0 .4byte 0x00000004 .4byte 0x00000001 .4byte 0x00000002 .4byte 0x00000003 .4byte 0x00000005 .4byte 0x00000006 .4byte 0x00000007 .4byte 0x00000008 .4byte 0x00000009 .4byte 0x0000000A .global lbl_803D1828 lbl_803D1828: # ROM: 0x3CE828 .asciz "PowerMuzzle" .global lbl_803D1834 lbl_803D1834: # ROM: 0x3CE834 .asciz "PowerCharge" .global lbl_803D1840 lbl_803D1840: # ROM: 0x3CE840 .asciz "IceMuzzle" .global lbl_803D184A lbl_803D184A: # ROM: 0x3CE84A .byte 0x49, 0x63 .asciz "eCharge" .global lbl_803D1854 lbl_803D1854: # ROM: 0x3CE854 .asciz "WaveCharge" .global lbl_803D185F lbl_803D185F: # ROM: 0x3CE85F .byte 0x50 .asciz "lasmaMuzzle" .global lbl_803D186C lbl_803D186C: # ROM: 0x3CE86C .asciz "PlasmaCharge" .global lbl_803D1879 lbl_803D1879: # ROM: 0x3CE879 .byte 0x50, 0x68, 0x61 .asciz "zonMuzzle" .global lbl_803D1886 lbl_803D1886: # ROM: 0x3CE886 .byte 0x45, 0x6D .asciz "ptyMuzzle" .global lbl_803D1892 lbl_803D1892: # ROM: 0x3CE892 .byte 0x70, 0x6F .asciz "werFrozen" .global lbl_803D189E lbl_803D189E: # ROM: 0x3CE89E .byte 0x49, 0x63 .asciz "e2nd_2" .global lbl_803D18A7 lbl_803D18A7: # ROM: 0x3CE8A7 .byte 0x69 .asciz "ceFrozen" .global lbl_803D18B1 lbl_803D18B1: # ROM: 0x3CE8B1 .byte 0x77, 0x61, 0x76 .asciz "eFrozen" .global lbl_803D18BC lbl_803D18BC: # ROM: 0x3CE8BC .asciz "plasmaFrozen" .global lbl_803D18C9 lbl_803D18C9: # ROM: 0x3CE8C9 .byte 0x50, 0x6F, 0x77 .asciz "erXfer" .global lbl_803D18D3 lbl_803D18D3: # ROM: 0x3CE8D3 .byte 0x49 .asciz "ceXfer" .global lbl_803D18DB lbl_803D18DB: # ROM: 0x3CE8DB .byte 0x57 .asciz "aveXfer" .global lbl_803D18E4 lbl_803D18E4: # ROM: 0x3CE8E4 .asciz "PlasmaXfer" .global lbl_803D18EF lbl_803D18EF: # ROM: 0x3CE8EF .byte 0x50 .asciz "hazonXfer" .global lbl_803D18FA lbl_803D18FA: # ROM: 0x3CE8FA .byte 0x50, 0x6F .asciz "wer_Anim_DGRP" .global lbl_803D190A lbl_803D190A: # ROM: 0x3CE90A .byte 0x49, 0x63 .asciz "e_Anim_DGRP" .global lbl_803D1918 lbl_803D1918: # ROM: 0x3CE918 .asciz "Wave_Anim_DGRP" .global lbl_803D1927 lbl_803D1927: # ROM: 0x3CE927 .byte 0x50 .asciz "lasma_Anim_DGRP" .global lbl_803D1938 lbl_803D1938: # ROM: 0x3CE938 .asciz "Phazon_Anim_DGRP" .global lbl_803D1949 lbl_803D1949: # ROM: 0x3CE949 .byte 0x50, 0x6F, 0x77 .asciz "er_DGRP" .global lbl_803D1954 lbl_803D1954: # ROM: 0x3CE954 .asciz "Ice_DGRP" .global lbl_803D195D lbl_803D195D: # ROM: 0x3CE95D .byte 0x57, 0x61, 0x76 .asciz "e_DGRP" .global lbl_803D1967 lbl_803D1967: # ROM: 0x3CE967 .byte 0x50 .asciz "lasma_DGRP" .global lbl_803D1973 lbl_803D1973: # ROM: 0x3CE973 .byte 0x50 .asciz "hazon_DGRP" .global lbl_803D197F lbl_803D197F: # ROM: 0x3CE97F .byte 0x50 .asciz "owerArm" .global lbl_803D1988 lbl_803D1988: # ROM: 0x3CE988 .asciz "GravityArm" .global lbl_803D1993 lbl_803D1993: # ROM: 0x3CE993 .byte 0x56 .asciz "ariaArm" .global lbl_803D199C lbl_803D199C: # ROM: 0x3CE99C .asciz "PhazonArm" .global lbl_803D19A6 lbl_803D19A6: # ROM: 0x3CE9A6 .byte 0x46, 0x75 .asciz "sionArm" .global lbl_803D19B0 lbl_803D19B0: # ROM: 0x3CE9B0 .asciz "FusionArmG" .global lbl_803D19BB lbl_803D19BB: # ROM: 0x3CE9BB .byte 0x46 .asciz "usionArmV" .global lbl_803D19C6 lbl_803D19C6: # ROM: 0x3CE9C6 .byte 0x46, 0x75 .asciz "sionArmP" .global lbl_803D19D1 lbl_803D19D1: # ROM: 0x3CE9D1 .byte 0x4C, 0x42, 0x45 .byte 0x41, 0x4D, 0x00 .global lbl_803D19D7 lbl_803D19D7: # ROM: 0x3CE9D7 .byte 0x65 .asciz "lbow" .byte 0x3F, 0x3F, 0x28 .4byte 0x3F3F2900 .asciz "Whole Body" .balign 4