prime/asm/MetroidPrime/Weapons/CGunWeapon.s

4405 lines
205 KiB
ArmAsm
Raw Normal View History

.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<c,Q24rstl14char_traits<c>,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<c,Q24rstl14char_traits<c>,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<c,Q24rstl14char_traits<c>,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<c,Q24rstl14char_traits<c>,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