prime/asm/MetroidPrime/Weapons/CAuxWeapon.s

1494 lines
73 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax"
.global LoadIdle__10CAuxWeaponFv
LoadIdle__10CAuxWeaponFv:
/* 801B88A4 001B5804 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801B88A8 001B5808 7C 08 02 A6 */ mflr r0
/* 801B88AC 001B580C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801B88B0 001B5810 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801B88B4 001B5814 93 C1 00 08 */ stw r30, 8(r1)
/* 801B88B8 001B5818 7C 7E 1B 78 */ mr r30, r3
/* 801B88BC 001B581C 80 03 00 78 */ lwz r0, 0x78(r3)
/* 801B88C0 001B5820 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801B88C4 001B5824 7F FE 02 14 */ add r31, r30, r0
/* 801B88C8 001B5828 80 1F 00 34 */ lwz r0, 0x34(r31)
/* 801B88CC 001B582C 3B FF 00 2C */ addi r31, r31, 0x2c
/* 801B88D0 001B5830 28 00 00 00 */ cmplwi r0, 0
/* 801B88D4 001B5834 41 82 00 0C */ beq lbl_801B88E0
/* 801B88D8 001B5838 38 60 00 01 */ li r3, 1
/* 801B88DC 001B583C 48 00 00 3C */ b lbl_801B8918
lbl_801B88E0:
/* 801B88E0 001B5840 88 1F 00 04 */ lbz r0, 4(r31)
/* 801B88E4 001B5844 28 00 00 00 */ cmplwi r0, 0
/* 801B88E8 001B5848 41 82 00 2C */ beq lbl_801B8914
/* 801B88EC 001B584C 80 7F 00 00 */ lwz r3, 0(r31)
/* 801B88F0 001B5850 80 03 00 10 */ lwz r0, 0x10(r3)
/* 801B88F4 001B5854 28 00 00 00 */ cmplwi r0, 0
/* 801B88F8 001B5858 41 82 00 1C */ beq lbl_801B8914
/* 801B88FC 001B585C 7F E3 FB 78 */ mr r3, r31
/* 801B8900 001B5860 48 18 85 0D */ bl GetObj__6CTokenFv
/* 801B8904 001B5864 80 03 00 04 */ lwz r0, 4(r3)
/* 801B8908 001B5868 38 60 00 01 */ li r3, 1
/* 801B890C 001B586C 90 1F 00 08 */ stw r0, 8(r31)
/* 801B8910 001B5870 48 00 00 08 */ b lbl_801B8918
lbl_801B8914:
/* 801B8914 001B5874 38 60 00 00 */ li r3, 0
lbl_801B8918:
/* 801B8918 001B5878 88 1E 00 80 */ lbz r0, 0x80(r30)
/* 801B891C 001B587C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 801B8920 001B5880 98 1E 00 80 */ stb r0, 0x80(r30)
/* 801B8924 001B5884 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801B8928 001B5888 83 C1 00 08 */ lwz r30, 8(r1)
/* 801B892C 001B588C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801B8930 001B5890 7C 08 03 A6 */ mtlr r0
/* 801B8934 001B5894 38 21 00 10 */ addi r1, r1, 0x10
/* 801B8938 001B5898 4E 80 00 20 */ blr
.global Load__10CAuxWeaponFiR13CStateManager
Load__10CAuxWeaponFiR13CStateManager:
/* 801B893C 001B589C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801B8940 001B58A0 7C 08 02 A6 */ mflr r0
/* 801B8944 001B58A4 38 C0 00 00 */ li r6, 0
/* 801B8948 001B58A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801B894C 001B58AC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801B8950 001B58B0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801B8954 001B58B4 7C 9E 23 78 */ mr r30, r4
/* 801B8958 001B58B8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801B895C 001B58BC 7C 7D 1B 78 */ mr r29, r3
/* 801B8960 001B58C0 88 03 00 80 */ lbz r0, 0x80(r3)
/* 801B8964 001B58C4 50 C0 3E 30 */ rlwimi r0, r6, 7, 0x18, 0x18
/* 801B8968 001B58C8 98 03 00 80 */ stb r0, 0x80(r3)
/* 801B896C 001B58CC 80 03 00 78 */ lwz r0, 0x78(r3)
/* 801B8970 001B58D0 2C 00 00 03 */ cmpwi r0, 3
/* 801B8974 001B58D4 41 82 00 20 */ beq lbl_801B8994
/* 801B8978 001B58D8 40 80 00 24 */ bge lbl_801B899C
/* 801B897C 001B58DC 2C 00 00 02 */ cmpwi r0, 2
/* 801B8980 001B58E0 40 80 00 08 */ bge lbl_801B8988
/* 801B8984 001B58E4 48 00 00 18 */ b lbl_801B899C
lbl_801B8988:
/* 801B8988 001B58E8 7C A4 2B 78 */ mr r4, r5
/* 801B898C 001B58EC 48 00 00 F9 */ bl DeleteWaveBusterBeam__10CAuxWeaponFR13CStateManager
/* 801B8990 001B58F0 48 00 00 0C */ b lbl_801B899C
lbl_801B8994:
/* 801B8994 001B58F4 7C A4 2B 78 */ mr r4, r5
/* 801B8998 001B58F8 48 00 01 7D */ bl DeleteFlameThrower__10CAuxWeaponFR13CStateManager
lbl_801B899C:
/* 801B899C 001B58FC 80 7D 00 78 */ lwz r3, 0x78(r29)
/* 801B89A0 001B5900 3B FD 00 2C */ addi r31, r29, 0x2c
/* 801B89A4 001B5904 38 00 00 00 */ li r0, 0
/* 801B89A8 001B5908 1C 63 00 0C */ mulli r3, r3, 0xc
/* 801B89AC 001B590C 7C 7F 1A 14 */ add r3, r31, r3
/* 801B89B0 001B5910 90 03 00 08 */ stw r0, 8(r3)
/* 801B89B4 001B5914 48 18 83 8D */ bl Unlock__6CTokenFv
/* 801B89B8 001B5918 1C 1E 00 0C */ mulli r0, r30, 0xc
/* 801B89BC 001B591C 7C 7F 02 14 */ add r3, r31, r0
/* 801B89C0 001B5920 48 18 83 C5 */ bl Lock__6CTokenFv
/* 801B89C4 001B5924 93 DD 00 78 */ stw r30, 0x78(r29)
/* 801B89C8 001B5928 7F A3 EB 78 */ mr r3, r29
/* 801B89CC 001B592C 4B FF FE D9 */ bl LoadIdle__10CAuxWeaponFv
/* 801B89D0 001B5930 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801B89D4 001B5934 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801B89D8 001B5938 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801B89DC 001B593C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801B89E0 001B5940 7C 08 03 A6 */ mtlr r0
/* 801B89E4 001B5944 38 21 00 20 */ addi r1, r1, 0x20
/* 801B89E8 001B5948 4E 80 00 20 */ blr
.global FreeComboVoiceId__10CAuxWeaponFv
FreeComboVoiceId__10CAuxWeaponFv:
/* 801B89EC 001B594C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801B89F0 001B5950 7C 08 02 A6 */ mflr r0
/* 801B89F4 001B5954 90 01 00 24 */ stw r0, 0x24(r1)
/* 801B89F8 001B5958 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801B89FC 001B595C 7C 7F 1B 78 */ mr r31, r3
/* 801B8A00 001B5960 38 61 00 08 */ addi r3, r1, 8
/* 801B8A04 001B5964 80 1F 00 7C */ lwz r0, 0x7c(r31)
/* 801B8A08 001B5968 90 01 00 08 */ stw r0, 8(r1)
/* 801B8A0C 001B596C 48 13 13 3D */ bl SfxStop__11CSfxManagerFRC10CSfxHandle
/* 801B8A10 001B5970 38 00 00 00 */ li r0, 0
/* 801B8A14 001B5974 90 1F 00 7C */ stw r0, 0x7c(r31)
/* 801B8A18 001B5978 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801B8A1C 001B597C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801B8A20 001B5980 7C 08 03 A6 */ mtlr r0
/* 801B8A24 001B5984 38 21 00 20 */ addi r1, r1, 0x20
/* 801B8A28 001B5988 4E 80 00 20 */ blr
.global AcceptScriptMsg__10CAuxWeaponF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__10CAuxWeaponF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 801B8A2C 001B598C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801B8A30 001B5990 7C 08 02 A6 */ mflr r0
/* 801B8A34 001B5994 2C 04 00 22 */ cmpwi r4, 0x22
/* 801B8A38 001B5998 90 01 00 14 */ stw r0, 0x14(r1)
/* 801B8A3C 001B599C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801B8A40 001B59A0 7C DF 33 78 */ mr r31, r6
/* 801B8A44 001B59A4 93 C1 00 08 */ stw r30, 8(r1)
/* 801B8A48 001B59A8 7C 7E 1B 78 */ mr r30, r3
/* 801B8A4C 001B59AC 41 82 00 0C */ beq lbl_801B8A58
/* 801B8A50 001B59B0 40 80 00 1C */ bge lbl_801B8A6C
/* 801B8A54 001B59B4 48 00 00 18 */ b lbl_801B8A6C
lbl_801B8A58:
/* 801B8A58 001B59B8 7F E4 FB 78 */ mr r4, r31
/* 801B8A5C 001B59BC 48 00 00 B9 */ bl DeleteFlameThrower__10CAuxWeaponFR13CStateManager
/* 801B8A60 001B59C0 7F C3 F3 78 */ mr r3, r30
/* 801B8A64 001B59C4 7F E4 FB 78 */ mr r4, r31
/* 801B8A68 001B59C8 48 00 00 1D */ bl DeleteWaveBusterBeam__10CAuxWeaponFR13CStateManager
lbl_801B8A6C:
/* 801B8A6C 001B59CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801B8A70 001B59D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801B8A74 001B59D4 83 C1 00 08 */ lwz r30, 8(r1)
/* 801B8A78 001B59D8 7C 08 03 A6 */ mtlr r0
/* 801B8A7C 001B59DC 38 21 00 10 */ addi r1, r1, 0x10
/* 801B8A80 001B59E0 4E 80 00 20 */ blr
.global DeleteWaveBusterBeam__10CAuxWeaponFR13CStateManager
DeleteWaveBusterBeam__10CAuxWeaponFR13CStateManager:
/* 801B8A84 001B59E4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801B8A88 001B59E8 7C 08 02 A6 */ mflr r0
/* 801B8A8C 001B59EC 90 01 00 24 */ stw r0, 0x24(r1)
/* 801B8A90 001B59F0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801B8A94 001B59F4 7C 9F 23 78 */ mr r31, r4
/* 801B8A98 001B59F8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801B8A9C 001B59FC 7C 7E 1B 78 */ mr r30, r3
/* 801B8AA0 001B5A00 4B FF FF 4D */ bl FreeComboVoiceId__10CAuxWeaponFv
/* 801B8AA4 001B5A04 A0 7E 00 70 */ lhz r3, 0x70(r30)
/* 801B8AA8 001B5A08 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 801B8AAC 001B5A0C 7C 03 00 40 */ cmplw r3, r0
/* 801B8AB0 001B5A10 41 82 00 4C */ beq lbl_801B8AFC
/* 801B8AB4 001B5A14 A0 1E 00 70 */ lhz r0, 0x70(r30)
/* 801B8AB8 001B5A18 7F E3 FB 78 */ mr r3, r31
/* 801B8ABC 001B5A1C 38 81 00 08 */ addi r4, r1, 8
/* 801B8AC0 001B5A20 B0 01 00 08 */ sth r0, 8(r1)
/* 801B8AC4 001B5A24 4B E9 37 A9 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 801B8AC8 001B5A28 A0 6D A3 8C */ lhz r3, kInvalidUniqueId@sda21(r13)
/* 801B8ACC 001B5A2C 38 00 FF FF */ li r0, -1
/* 801B8AD0 001B5A30 B0 7E 00 70 */ sth r3, 0x70(r30)
/* 801B8AD4 001B5A34 90 1E 00 74 */ stw r0, 0x74(r30)
/* 801B8AD8 001B5A38 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 801B8ADC 001B5A3C 80 83 00 00 */ lwz r4, 0(r3)
/* 801B8AE0 001B5A40 88 04 00 00 */ lbz r0, 0(r4)
/* 801B8AE4 001B5A44 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 801B8AE8 001B5A48 41 82 00 14 */ beq lbl_801B8AFC
/* 801B8AEC 001B5A4C 88 04 00 00 */ lbz r0, 0(r4)
/* 801B8AF0 001B5A50 38 60 00 00 */ li r3, 0
/* 801B8AF4 001B5A54 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 801B8AF8 001B5A58 98 04 00 00 */ stb r0, 0(r4)
lbl_801B8AFC:
/* 801B8AFC 001B5A5C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801B8B00 001B5A60 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801B8B04 001B5A64 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801B8B08 001B5A68 7C 08 03 A6 */ mtlr r0
/* 801B8B0C 001B5A6C 38 21 00 20 */ addi r1, r1, 0x20
/* 801B8B10 001B5A70 4E 80 00 20 */ blr
.global DeleteFlameThrower__10CAuxWeaponFR13CStateManager
DeleteFlameThrower__10CAuxWeaponFR13CStateManager:
/* 801B8B14 001B5A74 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801B8B18 001B5A78 7C 08 02 A6 */ mflr r0
/* 801B8B1C 001B5A7C 90 01 00 24 */ stw r0, 0x24(r1)
/* 801B8B20 001B5A80 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801B8B24 001B5A84 7C 9F 23 78 */ mr r31, r4
/* 801B8B28 001B5A88 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801B8B2C 001B5A8C 7C 7E 1B 78 */ mr r30, r3
/* 801B8B30 001B5A90 4B FF FE BD */ bl FreeComboVoiceId__10CAuxWeaponFv
/* 801B8B34 001B5A94 A0 7E 00 6E */ lhz r3, 0x6e(r30)
/* 801B8B38 001B5A98 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 801B8B3C 001B5A9C 7C 03 00 40 */ cmplw r3, r0
/* 801B8B40 001B5AA0 41 82 00 4C */ beq lbl_801B8B8C
/* 801B8B44 001B5AA4 A0 1E 00 6E */ lhz r0, 0x6e(r30)
/* 801B8B48 001B5AA8 7F E3 FB 78 */ mr r3, r31
/* 801B8B4C 001B5AAC 38 81 00 08 */ addi r4, r1, 8
/* 801B8B50 001B5AB0 B0 01 00 08 */ sth r0, 8(r1)
/* 801B8B54 001B5AB4 4B E9 37 19 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 801B8B58 001B5AB8 A0 6D A3 8C */ lhz r3, kInvalidUniqueId@sda21(r13)
/* 801B8B5C 001B5ABC 38 00 FF FF */ li r0, -1
/* 801B8B60 001B5AC0 B0 7E 00 6E */ sth r3, 0x6e(r30)
/* 801B8B64 001B5AC4 90 1E 00 74 */ stw r0, 0x74(r30)
/* 801B8B68 001B5AC8 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 801B8B6C 001B5ACC 80 83 00 00 */ lwz r4, 0(r3)
/* 801B8B70 001B5AD0 88 04 00 00 */ lbz r0, 0(r4)
/* 801B8B74 001B5AD4 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 801B8B78 001B5AD8 41 82 00 14 */ beq lbl_801B8B8C
/* 801B8B7C 001B5ADC 88 04 00 00 */ lbz r0, 0(r4)
/* 801B8B80 001B5AE0 38 60 00 00 */ li r3, 0
/* 801B8B84 001B5AE4 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 801B8B88 001B5AE8 98 04 00 00 */ stb r0, 0(r4)
lbl_801B8B8C:
/* 801B8B8C 001B5AEC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801B8B90 001B5AF0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801B8B94 001B5AF4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801B8B98 001B5AF8 7C 08 03 A6 */ mtlr r0
/* 801B8B9C 001B5AFC 38 21 00 20 */ addi r1, r1, 0x20
/* 801B8BA0 001B5B00 4E 80 00 20 */ blr
.global CreateWaveBusterBeam__10CAuxWeaponFUi9TUniqueIdRC12CTransform4fR13CStateManager
CreateWaveBusterBeam__10CAuxWeaponFUi9TUniqueIdRC12CTransform4fR13CStateManager:
/* 801B8BA4 001B5B04 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 801B8BA8 001B5B08 7C 08 02 A6 */ mflr r0
/* 801B8BAC 001B5B0C 90 01 00 74 */ stw r0, 0x74(r1)
/* 801B8BB0 001B5B10 BF 41 00 58 */ stmw r26, 0x58(r1)
/* 801B8BB4 001B5B14 7C FF 3B 78 */ mr r31, r7
/* 801B8BB8 001B5B18 7C 9D 23 78 */ mr r29, r4
/* 801B8BBC 001B5B1C 7C 7C 1B 78 */ mr r28, r3
/* 801B8BC0 001B5B20 7C BA 2B 78 */ mr r26, r5
/* 801B8BC4 001B5B24 7C DE 33 78 */ mr r30, r6
/* 801B8BC8 001B5B28 7F E4 FB 78 */ mr r4, r31
/* 801B8BCC 001B5B2C 4B FF FE B9 */ bl DeleteWaveBusterBeam__10CAuxWeaponFR13CStateManager
/* 801B8BD0 001B5B30 A0 7C 00 70 */ lhz r3, 0x70(r28)
/* 801B8BD4 001B5B34 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 801B8BD8 001B5B38 7C 03 00 40 */ cmplw r3, r0
/* 801B8BDC 001B5B3C 40 82 01 8C */ bne lbl_801B8D68
/* 801B8BE0 001B5B40 7F E4 FB 78 */ mr r4, r31
/* 801B8BE4 001B5B44 38 61 00 24 */ addi r3, r1, 0x24
/* 801B8BE8 001B5B48 4B E9 44 F5 */ bl AllocateUniqueId__13CStateManagerFv
/* 801B8BEC 001B5B4C A0 01 00 24 */ lhz r0, 0x24(r1)
/* 801B8BF0 001B5B50 3C 60 80 3D */ lis r3, lbl_803D1678@ha
/* 801B8BF4 001B5B54 38 83 16 78 */ addi r4, r3, lbl_803D1678@l
/* 801B8BF8 001B5B58 38 60 03 D8 */ li r3, 0x3d8
/* 801B8BFC 001B5B5C B0 1C 00 70 */ sth r0, 0x70(r28)
/* 801B8C00 001B5B60 38 84 00 2E */ addi r4, r4, 0x2e
/* 801B8C04 001B5B64 38 A0 00 00 */ li r5, 0
/* 801B8C08 001B5B68 48 15 CC 65 */ bl __nw__FUlPCcPCc
/* 801B8C0C 001B5B6C 7C 7B 1B 79 */ or. r27, r3, r3
/* 801B8C10 001B5B70 41 82 00 74 */ beq lbl_801B8C84
/* 801B8C14 001B5B74 A0 1A 00 00 */ lhz r0, 0(r26)
/* 801B8C18 001B5B78 7F E5 FB 78 */ mr r5, r31
/* 801B8C1C 001B5B7C 80 8D A1 34 */ lwz r4, gpTweakPlayerGun@sda21(r13)
/* 801B8C20 001B5B80 38 61 00 38 */ addi r3, r1, 0x38
/* 801B8C24 001B5B84 B0 01 00 20 */ sth r0, 0x20(r1)
/* 801B8C28 001B5B88 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13)
/* 801B8C2C 001B5B8C 38 84 02 2C */ addi r4, r4, 0x22c
/* 801B8C30 001B5B90 A0 DC 00 6C */ lhz r6, 0x6c(r28)
/* 801B8C34 001B5B94 B0 C1 00 1C */ sth r6, 0x1c(r1)
/* 801B8C38 001B5B98 90 01 00 2C */ stw r0, 0x2c(r1)
/* 801B8C3C 001B5B9C A0 1C 00 70 */ lhz r0, 0x70(r28)
/* 801B8C40 001B5BA0 B0 01 00 18 */ sth r0, 0x18(r1)
/* 801B8C44 001B5BA4 48 0D 1D E1 */ bl GetShotDamageInfo__10CGunWeaponCFRC10SShotParamR13CStateManager
/* 801B8C48 001B5BA8 38 61 00 1C */ addi r3, r1, 0x1c
/* 801B8C4C 001B5BAC 38 01 00 20 */ addi r0, r1, 0x20
/* 801B8C50 001B5BB0 90 61 00 08 */ stw r3, 8(r1)
/* 801B8C54 001B5BB4 7F 63 DB 78 */ mr r3, r27
/* 801B8C58 001B5BB8 7F C6 F3 78 */ mr r6, r30
/* 801B8C5C 001B5BBC 38 9C 00 44 */ addi r4, r28, 0x44
/* 801B8C60 001B5BC0 90 01 00 0C */ stw r0, 0xc(r1)
/* 801B8C64 001B5BC4 39 01 00 38 */ addi r8, r1, 0x38
/* 801B8C68 001B5BC8 39 21 00 18 */ addi r9, r1, 0x18
/* 801B8C6C 001B5BCC 39 41 00 2C */ addi r10, r1, 0x2c
/* 801B8C70 001B5BD0 93 A1 00 10 */ stw r29, 0x10(r1)
/* 801B8C74 001B5BD4 38 A0 00 02 */ li r5, 2
/* 801B8C78 001B5BD8 38 E0 00 20 */ li r7, 0x20
/* 801B8C7C 001B5BDC 48 00 75 01 */ bl "__ct__11CWaveBusterFRC28TToken<18CWeaponDescription>11EWeaponTypeRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId7TAreaId9TUniqueId9TUniqueIdUi"
/* 801B8C80 001B5BE0 7C 7B 1B 78 */ mr r27, r3
lbl_801B8C84:
/* 801B8C84 001B5BE4 7F E3 FB 78 */ mr r3, r31
/* 801B8C88 001B5BE8 7F 64 DB 78 */ mr r4, r27
/* 801B8C8C 001B5BEC 4B E9 3E 89 */ bl AddObject__13CStateManagerFR7CEntity
/* 801B8C90 001B5BF0 3C 60 80 3D */ lis r3, lbl_803D1678@ha
/* 801B8C94 001B5BF4 3B 40 00 00 */ li r26, 0
/* 801B8C98 001B5BF8 38 83 16 78 */ addi r4, r3, lbl_803D1678@l
/* 801B8C9C 001B5BFC 38 60 03 40 */ li r3, 0x340
/* 801B8CA0 001B5C00 38 84 00 2E */ addi r4, r4, 0x2e
/* 801B8CA4 001B5C04 38 A0 00 00 */ li r5, 0
/* 801B8CA8 001B5C08 48 15 CB C5 */ bl __nw__FUlPCcPCc
/* 801B8CAC 001B5C0C 7C 7D 1B 79 */ or. r29, r3, r3
/* 801B8CB0 001B5C10 41 82 00 2C */ beq lbl_801B8CDC
/* 801B8CB4 001B5C14 38 61 00 30 */ addi r3, r1, 0x30
/* 801B8CB8 001B5C18 38 9C 00 18 */ addi r4, r28, 0x18
/* 801B8CBC 001B5C1C 48 18 81 ED */ bl __ct__6CTokenFRC6CToken
/* 801B8CC0 001B5C20 7F A3 EB 78 */ mr r3, r29
/* 801B8CC4 001B5C24 38 81 00 30 */ addi r4, r1, 0x30
/* 801B8CC8 001B5C28 3B 40 00 01 */ li r26, 1
/* 801B8CCC 001B5C2C 38 A0 00 00 */ li r5, 0
/* 801B8CD0 001B5C30 38 C0 00 01 */ li r6, 1
/* 801B8CD4 001B5C34 48 16 67 0D */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 801B8CD8 001B5C38 7C 7D 1B 78 */ mr r29, r3
lbl_801B8CDC:
/* 801B8CDC 001B5C3C 80 7C 00 24 */ lwz r3, 0x24(r28)
/* 801B8CE0 001B5C40 28 03 00 00 */ cmplwi r3, 0
/* 801B8CE4 001B5C44 41 82 00 18 */ beq lbl_801B8CFC
/* 801B8CE8 001B5C48 81 83 00 00 */ lwz r12, 0(r3)
/* 801B8CEC 001B5C4C 38 80 00 01 */ li r4, 1
/* 801B8CF0 001B5C50 81 8C 00 08 */ lwz r12, 8(r12)
/* 801B8CF4 001B5C54 7D 89 03 A6 */ mtctr r12
/* 801B8CF8 001B5C58 4E 80 04 21 */ bctrl
lbl_801B8CFC:
/* 801B8CFC 001B5C5C 7F 40 07 75 */ extsb. r0, r26
/* 801B8D00 001B5C60 93 BC 00 24 */ stw r29, 0x24(r28)
/* 801B8D04 001B5C64 41 82 00 10 */ beq lbl_801B8D14
/* 801B8D08 001B5C68 38 61 00 30 */ addi r3, r1, 0x30
/* 801B8D0C 001B5C6C 38 80 00 00 */ li r4, 0
/* 801B8D10 001B5C70 48 18 81 31 */ bl __dt__6CTokenFv
lbl_801B8D14:
/* 801B8D14 001B5C74 38 61 00 28 */ addi r3, r1, 0x28
/* 801B8D18 001B5C78 38 80 07 37 */ li r4, 0x737
/* 801B8D1C 001B5C7C 38 A0 00 00 */ li r5, 0
/* 801B8D20 001B5C80 38 C0 00 01 */ li r6, 1
/* 801B8D24 001B5C84 38 E0 00 4A */ li r7, 0x4a
/* 801B8D28 001B5C88 48 0D 1D D1 */ bl play_sfx__12NWeaponTypesFUsbbs
/* 801B8D2C 001B5C8C 80 01 00 28 */ lwz r0, 0x28(r1)
/* 801B8D30 001B5C90 3C 60 80 57 */ lis r3, lbl_805719E8@ha
/* 801B8D34 001B5C94 38 83 19 E8 */ addi r4, r3, lbl_805719E8@l
/* 801B8D38 001B5C98 38 A0 00 00 */ li r5, 0
/* 801B8D3C 001B5C9C 90 1C 00 7C */ stw r0, 0x7c(r28)
/* 801B8D40 001B5CA0 80 7F 08 70 */ lwz r3, 0x870(r31)
/* 801B8D44 001B5CA4 4B E5 1C DD */ bl AddCameraShaker__14CCameraManagerFRC16CCameraShakeDatab
/* 801B8D48 001B5CA8 80 7F 08 B8 */ lwz r3, 0x8b8(r31)
/* 801B8D4C 001B5CAC 38 A0 00 01 */ li r5, 1
/* 801B8D50 001B5CB0 38 00 00 02 */ li r0, 2
/* 801B8D54 001B5CB4 80 83 00 00 */ lwz r4, 0(r3)
/* 801B8D58 001B5CB8 88 64 00 00 */ lbz r3, 0(r4)
/* 801B8D5C 001B5CBC 50 A3 36 72 */ rlwimi r3, r5, 6, 0x19, 0x19
/* 801B8D60 001B5CC0 98 64 00 00 */ stb r3, 0(r4)
/* 801B8D64 001B5CC4 90 1C 00 74 */ stw r0, 0x74(r28)
lbl_801B8D68:
/* 801B8D68 001B5CC8 BB 41 00 58 */ lmw r26, 0x58(r1)
/* 801B8D6C 001B5CCC 80 01 00 74 */ lwz r0, 0x74(r1)
/* 801B8D70 001B5CD0 7C 08 03 A6 */ mtlr r0
/* 801B8D74 001B5CD4 38 21 00 70 */ addi r1, r1, 0x70
/* 801B8D78 001B5CD8 4E 80 00 20 */ blr
.global CreateFlameThrower__10CAuxWeaponFRC12CTransform4fR13CStateManagerf
CreateFlameThrower__10CAuxWeaponFRC12CTransform4fR13CStateManagerf:
/* 801B8D7C 001B5CDC 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 801B8D80 001B5CE0 7C 08 02 A6 */ mflr r0
/* 801B8D84 001B5CE4 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 801B8D88 001B5CE8 DB E1 00 B8 */ stfd f31, 0xb8(r1)
/* 801B8D8C 001B5CEC FF E0 08 90 */ fmr f31, f1
/* 801B8D90 001B5CF0 BE E1 00 94 */ stmw r23, 0x94(r1)
/* 801B8D94 001B5CF4 7C BC 2B 78 */ mr r28, r5
/* 801B8D98 001B5CF8 7C 9B 23 78 */ mr r27, r4
/* 801B8D9C 001B5CFC 7C 7A 1B 78 */ mr r26, r3
/* 801B8DA0 001B5D00 7F 84 E3 78 */ mr r4, r28
/* 801B8DA4 001B5D04 4B FF FD 71 */ bl DeleteFlameThrower__10CAuxWeaponFR13CStateManager
/* 801B8DA8 001B5D08 A0 7A 00 6E */ lhz r3, 0x6e(r26)
/* 801B8DAC 001B5D0C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 801B8DB0 001B5D10 7C 03 00 40 */ cmplw r3, r0
/* 801B8DB4 001B5D14 40 82 02 A4 */ bne lbl_801B9058
/* 801B8DB8 001B5D18 3C 60 80 3D */ lis r3, lbl_803D1678@ha
/* 801B8DBC 001B5D1C 38 63 16 78 */ addi r3, r3, lbl_803D1678@l
/* 801B8DC0 001B5D20 38 63 00 35 */ addi r3, r3, 0x35
/* 801B8DC4 001B5D24 48 0D 26 85 */ bl get_asset_id_from_name__12NWeaponTypesFPCc
/* 801B8DC8 001B5D28 3C 80 80 3D */ lis r4, lbl_803D1678@ha
/* 801B8DCC 001B5D2C 7C 7D 1B 78 */ mr r29, r3
/* 801B8DD0 001B5D30 38 64 16 78 */ addi r3, r4, lbl_803D1678@l
/* 801B8DD4 001B5D34 38 63 00 48 */ addi r3, r3, 0x48
/* 801B8DD8 001B5D38 48 0D 26 71 */ bl get_asset_id_from_name__12NWeaponTypesFPCc
/* 801B8DDC 001B5D3C 3C 80 80 3D */ lis r4, lbl_803D1678@ha
/* 801B8DE0 001B5D40 7C 7E 1B 78 */ mr r30, r3
/* 801B8DE4 001B5D44 38 64 16 78 */ addi r3, r4, lbl_803D1678@l
/* 801B8DE8 001B5D48 38 63 00 59 */ addi r3, r3, 0x59
/* 801B8DEC 001B5D4C 48 0D 26 5D */ bl get_asset_id_from_name__12NWeaponTypesFPCc
/* 801B8DF0 001B5D50 3C 80 80 3D */ lis r4, lbl_803D1678@ha
/* 801B8DF4 001B5D54 7C 7F 1B 78 */ mr r31, r3
/* 801B8DF8 001B5D58 38 64 16 78 */ addi r3, r4, lbl_803D1678@l
/* 801B8DFC 001B5D5C 38 63 00 6B */ addi r3, r3, 0x6b
/* 801B8E00 001B5D60 48 0D 26 49 */ bl get_asset_id_from_name__12NWeaponTypesFPCc
/* 801B8E04 001B5D64 3C 80 80 3D */ lis r4, lbl_803D1678@ha
/* 801B8E08 001B5D68 7C 77 1B 78 */ mr r23, r3
/* 801B8E0C 001B5D6C 38 64 16 78 */ addi r3, r4, lbl_803D1678@l
/* 801B8E10 001B5D70 38 63 00 79 */ addi r3, r3, 0x79
/* 801B8E14 001B5D74 48 0D 26 35 */ bl get_asset_id_from_name__12NWeaponTypesFPCc
/* 801B8E18 001B5D78 3C 80 80 3D */ lis r4, lbl_803D1678@ha
/* 801B8E1C 001B5D7C 7C 78 1B 78 */ mr r24, r3
/* 801B8E20 001B5D80 38 64 16 78 */ addi r3, r4, lbl_803D1678@l
/* 801B8E24 001B5D84 38 63 00 89 */ addi r3, r3, 0x89
/* 801B8E28 001B5D88 48 0D 26 21 */ bl get_asset_id_from_name__12NWeaponTypesFPCc
/* 801B8E2C 001B5D8C 3C 80 80 3D */ lis r4, lbl_803D1678@ha
/* 801B8E30 001B5D90 7C 79 1B 78 */ mr r25, r3
/* 801B8E34 001B5D94 38 64 16 78 */ addi r3, r4, lbl_803D1678@l
/* 801B8E38 001B5D98 38 63 00 96 */ addi r3, r3, 0x96
/* 801B8E3C 001B5D9C 48 0D 26 0D */ bl get_asset_id_from_name__12NWeaponTypesFPCc
/* 801B8E40 001B5DA0 38 A0 00 08 */ li r5, 8
/* 801B8E44 001B5DA4 38 00 FF FF */ li r0, -1
/* 801B8E48 001B5DA8 90 61 00 64 */ stw r3, 0x64(r1)
/* 801B8E4C 001B5DAC 7F 84 E3 78 */ mr r4, r28
/* 801B8E50 001B5DB0 38 61 00 20 */ addi r3, r1, 0x20
/* 801B8E54 001B5DB4 90 A1 00 60 */ stw r5, 0x60(r1)
/* 801B8E58 001B5DB8 93 21 00 68 */ stw r25, 0x68(r1)
/* 801B8E5C 001B5DBC 93 01 00 6C */ stw r24, 0x6c(r1)
/* 801B8E60 001B5DC0 92 E1 00 70 */ stw r23, 0x70(r1)
/* 801B8E64 001B5DC4 93 E1 00 74 */ stw r31, 0x74(r1)
/* 801B8E68 001B5DC8 93 C1 00 78 */ stw r30, 0x78(r1)
/* 801B8E6C 001B5DCC 93 A1 00 7C */ stw r29, 0x7c(r1)
/* 801B8E70 001B5DD0 90 01 00 80 */ stw r0, 0x80(r1)
/* 801B8E74 001B5DD4 4B E9 42 69 */ bl AllocateUniqueId__13CStateManagerFv
/* 801B8E78 001B5DD8 A0 01 00 20 */ lhz r0, 0x20(r1)
/* 801B8E7C 001B5DDC 3C 60 80 3D */ lis r3, lbl_803D1678@ha
/* 801B8E80 001B5DE0 38 63 16 78 */ addi r3, r3, lbl_803D1678@l
/* 801B8E84 001B5DE4 3B 00 00 00 */ li r24, 0
/* 801B8E88 001B5DE8 B0 1A 00 6E */ sth r0, 0x6e(r26)
/* 801B8E8C 001B5DEC 38 83 00 2E */ addi r4, r3, 0x2e
/* 801B8E90 001B5DF0 38 60 03 C8 */ li r3, 0x3c8
/* 801B8E94 001B5DF4 38 A0 00 00 */ li r5, 0
/* 801B8E98 001B5DF8 48 15 C9 D5 */ bl __nw__FUlPCcPCc
/* 801B8E9C 001B5DFC 7C 77 1B 79 */ or. r23, r3, r3
/* 801B8EA0 001B5E00 41 82 00 94 */ beq lbl_801B8F34
/* 801B8EA4 001B5E04 A0 BA 00 6C */ lhz r5, 0x6c(r26)
/* 801B8EA8 001B5E08 3C 60 80 3D */ lis r3, lbl_803D1678@ha
/* 801B8EAC 001B5E0C 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13)
/* 801B8EB0 001B5E10 38 83 16 78 */ addi r4, r3, lbl_803D1678@l
/* 801B8EB4 001B5E14 B0 A1 00 1C */ sth r5, 0x1c(r1)
/* 801B8EB8 001B5E18 38 61 00 34 */ addi r3, r1, 0x34
/* 801B8EBC 001B5E1C 80 AD A1 34 */ lwz r5, gpTweakPlayerGun@sda21(r13)
/* 801B8EC0 001B5E20 38 84 00 A2 */ addi r4, r4, 0xa2
/* 801B8EC4 001B5E24 90 01 00 28 */ stw r0, 0x28(r1)
/* 801B8EC8 001B5E28 3B 05 02 48 */ addi r24, r5, 0x248
/* 801B8ECC 001B5E2C A0 1A 00 6E */ lhz r0, 0x6e(r26)
/* 801B8ED0 001B5E30 B0 01 00 18 */ sth r0, 0x18(r1)
/* 801B8ED4 001B5E34 4B E4 BD E5 */ bl string_l__4rstlFPCc
/* 801B8ED8 001B5E38 7F 04 C3 78 */ mr r4, r24
/* 801B8EDC 001B5E3C 7F 85 E3 78 */ mr r5, r28
/* 801B8EE0 001B5E40 38 61 00 44 */ addi r3, r1, 0x44
/* 801B8EE4 001B5E44 3B 00 00 01 */ li r24, 1
/* 801B8EE8 001B5E48 48 0D 1B 3D */ bl GetShotDamageInfo__10CGunWeaponCFRC10SShotParamR13CStateManager
/* 801B8EEC 001B5E4C 38 01 00 18 */ addi r0, r1, 0x18
/* 801B8EF0 001B5E50 38 81 00 28 */ addi r4, r1, 0x28
/* 801B8EF4 001B5E54 90 01 00 08 */ stw r0, 8(r1)
/* 801B8EF8 001B5E58 38 C1 00 1C */ addi r6, r1, 0x1c
/* 801B8EFC 001B5E5C 38 00 00 00 */ li r0, 0
/* 801B8F00 001B5E60 7E E3 BB 78 */ mr r3, r23
/* 801B8F04 001B5E64 90 81 00 0C */ stw r4, 0xc(r1)
/* 801B8F08 001B5E68 7F 68 DB 78 */ mr r8, r27
/* 801B8F0C 001B5E6C 38 9A 00 50 */ addi r4, r26, 0x50
/* 801B8F10 001B5E70 38 A1 00 34 */ addi r5, r1, 0x34
/* 801B8F14 001B5E74 90 C1 00 10 */ stw r6, 0x10(r1)
/* 801B8F18 001B5E78 38 E1 00 60 */ addi r7, r1, 0x60
/* 801B8F1C 001B5E7C 39 41 00 44 */ addi r10, r1, 0x44
/* 801B8F20 001B5E80 38 C0 00 03 */ li r6, 3
/* 801B8F24 001B5E84 90 01 00 14 */ stw r0, 0x14(r1)
/* 801B8F28 001B5E88 39 20 00 20 */ li r9, 0x20
/* 801B8F2C 001B5E8C 48 0A B4 F9 */ bl "__ct__16CNewFlameThrowerbRC28TToken<18CWeaponDescription>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>11EWeaponTypeRCQ24rstl21reserved_vector<Ui,8>RC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId7TAreaId9TUniqueIdUi"
/* 801B8F30 001B5E90 7C 77 1B 78 */ mr r23, r3
lbl_801B8F34:
/* 801B8F34 001B5E94 7F 00 07 75 */ extsb. r0, r24
/* 801B8F38 001B5E98 41 82 00 0C */ beq lbl_801B8F44
/* 801B8F3C 001B5E9C 38 61 00 34 */ addi r3, r1, 0x34
/* 801B8F40 001B5EA0 48 18 4B A1 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_801B8F44:
/* 801B8F44 001B5EA4 7F 83 E3 78 */ mr r3, r28
/* 801B8F48 001B5EA8 7E E4 BB 78 */ mr r4, r23
/* 801B8F4C 001B5EAC 4B E9 3B C9 */ bl AddObject__13CStateManagerFR7CEntity
/* 801B8F50 001B5EB0 7E E3 BB 78 */ mr r3, r23
/* 801B8F54 001B5EB4 FC 20 F8 90 */ fmr f1, f31
/* 801B8F58 001B5EB8 81 97 00 00 */ lwz r12, 0(r23)
/* 801B8F5C 001B5EBC 7F 84 E3 78 */ mr r4, r28
/* 801B8F60 001B5EC0 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 801B8F64 001B5EC4 7D 89 03 A6 */ mtctr r12
/* 801B8F68 001B5EC8 4E 80 04 21 */ bctrl
/* 801B8F6C 001B5ECC 7E E3 BB 78 */ mr r3, r23
/* 801B8F70 001B5ED0 7F 64 DB 78 */ mr r4, r27
/* 801B8F74 001B5ED4 7F 85 E3 78 */ mr r5, r28
/* 801B8F78 001B5ED8 38 C0 00 00 */ li r6, 0
/* 801B8F7C 001B5EDC 48 0A AA 45 */ bl StartFiring__16CNewFlameThrowerFRC12CTransform4fRC13CStateManager
/* 801B8F80 001B5EE0 3C 60 80 3D */ lis r3, lbl_803D1678@ha
/* 801B8F84 001B5EE4 3B 00 00 00 */ li r24, 0
/* 801B8F88 001B5EE8 38 83 16 78 */ addi r4, r3, lbl_803D1678@l
/* 801B8F8C 001B5EEC 38 60 03 40 */ li r3, 0x340
/* 801B8F90 001B5EF0 38 84 00 2E */ addi r4, r4, 0x2e
/* 801B8F94 001B5EF4 38 A0 00 00 */ li r5, 0
/* 801B8F98 001B5EF8 48 15 C8 D5 */ bl __nw__FUlPCcPCc
/* 801B8F9C 001B5EFC 7C 77 1B 79 */ or. r23, r3, r3
/* 801B8FA0 001B5F00 41 82 00 2C */ beq lbl_801B8FCC
/* 801B8FA4 001B5F04 38 61 00 2C */ addi r3, r1, 0x2c
/* 801B8FA8 001B5F08 38 9A 00 0C */ addi r4, r26, 0xc
/* 801B8FAC 001B5F0C 48 18 7E FD */ bl __ct__6CTokenFRC6CToken
/* 801B8FB0 001B5F10 7E E3 BB 78 */ mr r3, r23
/* 801B8FB4 001B5F14 38 81 00 2C */ addi r4, r1, 0x2c
/* 801B8FB8 001B5F18 3B 00 00 01 */ li r24, 1
/* 801B8FBC 001B5F1C 38 A0 00 00 */ li r5, 0
/* 801B8FC0 001B5F20 38 C0 00 01 */ li r6, 1
/* 801B8FC4 001B5F24 48 16 64 1D */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 801B8FC8 001B5F28 7C 77 1B 78 */ mr r23, r3
lbl_801B8FCC:
/* 801B8FCC 001B5F2C 80 7A 00 24 */ lwz r3, 0x24(r26)
/* 801B8FD0 001B5F30 28 03 00 00 */ cmplwi r3, 0
/* 801B8FD4 001B5F34 41 82 00 18 */ beq lbl_801B8FEC
/* 801B8FD8 001B5F38 81 83 00 00 */ lwz r12, 0(r3)
/* 801B8FDC 001B5F3C 38 80 00 01 */ li r4, 1
/* 801B8FE0 001B5F40 81 8C 00 08 */ lwz r12, 8(r12)
/* 801B8FE4 001B5F44 7D 89 03 A6 */ mtctr r12
/* 801B8FE8 001B5F48 4E 80 04 21 */ bctrl
lbl_801B8FEC:
/* 801B8FEC 001B5F4C 7F 00 07 75 */ extsb. r0, r24
/* 801B8FF0 001B5F50 92 FA 00 24 */ stw r23, 0x24(r26)
/* 801B8FF4 001B5F54 41 82 00 10 */ beq lbl_801B9004
/* 801B8FF8 001B5F58 38 61 00 2C */ addi r3, r1, 0x2c
/* 801B8FFC 001B5F5C 38 80 00 00 */ li r4, 0
/* 801B9000 001B5F60 48 18 7E 41 */ bl __dt__6CTokenFv
lbl_801B9004:
/* 801B9004 001B5F64 38 61 00 24 */ addi r3, r1, 0x24
/* 801B9008 001B5F68 38 80 07 32 */ li r4, 0x732
/* 801B900C 001B5F6C 38 A0 00 00 */ li r5, 0
/* 801B9010 001B5F70 38 C0 00 01 */ li r6, 1
/* 801B9014 001B5F74 38 E0 00 4A */ li r7, 0x4a
/* 801B9018 001B5F78 48 0D 1A E1 */ bl play_sfx__12NWeaponTypesFUsbbs
/* 801B901C 001B5F7C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801B9020 001B5F80 3C 60 80 57 */ lis r3, lbl_80571B90@ha
/* 801B9024 001B5F84 38 83 1B 90 */ addi r4, r3, lbl_80571B90@l
/* 801B9028 001B5F88 38 A0 00 00 */ li r5, 0
/* 801B902C 001B5F8C 90 1A 00 7C */ stw r0, 0x7c(r26)
/* 801B9030 001B5F90 80 7C 08 70 */ lwz r3, 0x870(r28)
/* 801B9034 001B5F94 4B E5 19 ED */ bl AddCameraShaker__14CCameraManagerFRC16CCameraShakeDatab
/* 801B9038 001B5F98 80 7C 08 B8 */ lwz r3, 0x8b8(r28)
/* 801B903C 001B5F9C 38 A0 00 01 */ li r5, 1
/* 801B9040 001B5FA0 38 00 00 03 */ li r0, 3
/* 801B9044 001B5FA4 80 83 00 00 */ lwz r4, 0(r3)
/* 801B9048 001B5FA8 88 64 00 00 */ lbz r3, 0(r4)
/* 801B904C 001B5FAC 50 A3 36 72 */ rlwimi r3, r5, 6, 0x19, 0x19
/* 801B9050 001B5FB0 98 64 00 00 */ stb r3, 0(r4)
/* 801B9054 001B5FB4 90 1A 00 74 */ stw r0, 0x74(r26)
lbl_801B9058:
/* 801B9058 001B5FB8 CB E1 00 B8 */ lfd f31, 0xb8(r1)
/* 801B905C 001B5FBC BA E1 00 94 */ lmw r23, 0x94(r1)
/* 801B9060 001B5FC0 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 801B9064 001B5FC4 7C 08 03 A6 */ mtlr r0
/* 801B9068 001B5FC8 38 21 00 C0 */ addi r1, r1, 0xc0
/* 801B906C 001B5FCC 4E 80 00 20 */ blr
.global LaunchMissile__10CAuxWeaponFbbiUiRC12CTransform4f9TUniqueIdR13CStateManager
LaunchMissile__10CAuxWeaponFbbiUiRC12CTransform4f9TUniqueIdR13CStateManager:
/* 801B9070 001B5FD0 94 21 FE 30 */ stwu r1, -0x1d0(r1)
/* 801B9074 001B5FD4 7C 08 02 A6 */ mflr r0
/* 801B9078 001B5FD8 90 01 01 D4 */ stw r0, 0x1d4(r1)
/* 801B907C 001B5FDC DB E1 01 C0 */ stfd f31, 0x1c0(r1)
/* 801B9080 001B5FE0 F3 E1 01 C8 */ psq_st f31, 456(r1), 0, qr0
/* 801B9084 001B5FE4 BD C1 01 78 */ stmw r14, 0x178(r1)
/* 801B9088 001B5FE8 7C 79 1B 78 */ mr r25, r3
/* 801B908C 001B5FEC FF E0 08 90 */ fmr f31, f1
/* 801B9090 001B5FF0 1C 66 00 0C */ mulli r3, r6, 0xc
/* 801B9094 001B5FF4 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 801B9098 001B5FF8 7C BB 2B 78 */ mr r27, r5
/* 801B909C 001B5FFC 7C 9A 23 78 */ mr r26, r4
/* 801B90A0 001B6000 7F F9 1A 14 */ add r31, r25, r3
/* 801B90A4 001B6004 7C FC 3B 78 */ mr r28, r7
/* 801B90A8 001B6008 7D 1D 43 78 */ mr r29, r8
/* 801B90AC 001B600C 7D 2E 4B 78 */ mr r14, r9
/* 801B90B0 001B6010 7D 5E 53 78 */ mr r30, r10
/* 801B90B4 001B6014 3B FF 00 2C */ addi r31, r31, 0x2c
/* 801B90B8 001B6018 41 82 00 18 */ beq lbl_801B90D0
/* 801B90BC 001B601C 1C 06 00 1C */ mulli r0, r6, 0x1c
/* 801B90C0 001B6020 80 6D A1 34 */ lwz r3, gpTweakPlayerGun@sda21(r13)
/* 801B90C4 001B6024 7E E3 02 14 */ add r23, r3, r0
/* 801B90C8 001B6028 3A F7 01 F4 */ addi r23, r23, 0x1f4
/* 801B90CC 001B602C 48 00 00 0C */ b lbl_801B90D8
lbl_801B90D0:
/* 801B90D0 001B6030 80 6D A1 34 */ lwz r3, gpTweakPlayerGun@sda21(r13)
/* 801B90D4 001B6034 3A E3 01 D4 */ addi r23, r3, 0x1d4
lbl_801B90D8:
/* 801B90D8 001B6038 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 801B90DC 001B603C 41 82 00 18 */ beq lbl_801B90F4
/* 801B90E0 001B6040 3C 60 80 3D */ lis r3, lbl_803D1658@ha
/* 801B90E4 001B6044 54 C0 08 3C */ slwi r0, r6, 1
/* 801B90E8 001B6048 38 63 16 58 */ addi r3, r3, lbl_803D1658@l
/* 801B90EC 001B604C 7E C3 02 2E */ lhzx r22, r3, r0
/* 801B90F0 001B6050 48 00 00 08 */ b lbl_801B90F8
lbl_801B90F4:
/* 801B90F4 001B6054 3A C0 06 E8 */ li r22, 0x6e8
lbl_801B90F8:
/* 801B90F8 001B6058 3C 60 80 3D */ lis r3, lbl_803D1678@ha
/* 801B90FC 001B605C 3B 00 00 00 */ li r24, 0
/* 801B9100 001B6060 38 83 16 78 */ addi r4, r3, lbl_803D1678@l
/* 801B9104 001B6064 38 60 03 D8 */ li r3, 0x3d8
/* 801B9108 001B6068 38 84 00 2E */ addi r4, r4, 0x2e
/* 801B910C 001B606C 38 A0 00 00 */ li r5, 0
/* 801B9110 001B6070 48 15 C7 5D */ bl __nw__FUlPCcPCc
/* 801B9114 001B6074 7C 75 1B 79 */ or. r21, r3, r3
/* 801B9118 001B6078 41 82 00 EC */ beq lbl_801B9204
/* 801B911C 001B607C C0 02 A9 B0 */ lfs f0, lbl_805AC6D0@sda21(r2)
/* 801B9120 001B6080 38 00 00 00 */ li r0, 0
/* 801B9124 001B6084 A0 AE 00 00 */ lhz r5, 0(r14)
/* 801B9128 001B6088 7F C4 F3 78 */ mr r4, r30
/* 801B912C 001B608C 98 01 00 78 */ stb r0, 0x78(r1)
/* 801B9130 001B6090 39 C1 00 6C */ addi r14, r1, 0x6c
/* 801B9134 001B6094 80 0D A3 90 */ lwz r0, kInvalidAreaId@sda21(r13)
/* 801B9138 001B6098 39 E1 00 60 */ addi r15, r1, 0x60
/* 801B913C 001B609C D0 01 00 60 */ stfs f0, 0x60(r1)
/* 801B9140 001B60A0 3A 81 00 3C */ addi r20, r1, 0x3c
/* 801B9144 001B60A4 3A 61 00 38 */ addi r19, r1, 0x38
/* 801B9148 001B60A8 3A 41 00 44 */ addi r18, r1, 0x44
/* 801B914C 001B60AC D0 01 00 64 */ stfs f0, 0x64(r1)
/* 801B9150 001B60B0 38 61 00 30 */ addi r3, r1, 0x30
/* 801B9154 001B60B4 3B 00 00 01 */ li r24, 1
/* 801B9158 001B60B8 D0 01 00 68 */ stfs f0, 0x68(r1)
/* 801B915C 001B60BC B0 A1 00 3C */ sth r5, 0x3c(r1)
/* 801B9160 001B60C0 A0 B9 00 6C */ lhz r5, 0x6c(r25)
/* 801B9164 001B60C4 B0 A1 00 38 */ sth r5, 0x38(r1)
/* 801B9168 001B60C8 90 01 00 44 */ stw r0, 0x44(r1)
/* 801B916C 001B60CC 4B E9 3F 71 */ bl AllocateUniqueId__13CStateManagerFv
/* 801B9170 001B60D0 A0 61 00 30 */ lhz r3, 0x30(r1)
/* 801B9174 001B60D4 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 801B9178 001B60D8 3A 21 00 34 */ addi r17, r1, 0x34
/* 801B917C 001B60DC 3A 00 00 06 */ li r16, 6
/* 801B9180 001B60E0 B0 61 00 34 */ sth r3, 0x34(r1)
/* 801B9184 001B60E4 41 82 00 08 */ beq lbl_801B918C
/* 801B9188 001B60E8 3A 00 00 00 */ li r16, 0
lbl_801B918C:
/* 801B918C 001B60EC 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 801B9190 001B60F0 41 82 00 08 */ beq lbl_801B9198
/* 801B9194 001B60F4 48 00 00 08 */ b lbl_801B919C
lbl_801B9198:
/* 801B9198 001B60F8 7F 3F CB 78 */ mr r31, r25
lbl_801B919C:
/* 801B919C 001B60FC 7E E4 BB 78 */ mr r4, r23
/* 801B91A0 001B6100 7F C5 F3 78 */ mr r5, r30
/* 801B91A4 001B6104 38 61 00 7C */ addi r3, r1, 0x7c
/* 801B91A8 001B6108 48 0D 18 7D */ bl GetShotDamageInfo__10CGunWeaponCFRC10SShotParamR13CStateManager
/* 801B91AC 001B610C 92 41 00 08 */ stw r18, 8(r1)
/* 801B91B0 001B6110 63 84 08 00 */ ori r4, r28, 0x800
/* 801B91B4 001B6114 A1 62 C5 FC */ lhz r11, kInternalInvalidSfxId__11CSfxManager@sda21(r2)
/* 801B91B8 001B6118 38 00 00 00 */ li r0, 0
/* 801B91BC 001B611C 92 61 00 0C */ stw r19, 0xc(r1)
/* 801B91C0 001B6120 7E A3 AB 78 */ mr r3, r21
/* 801B91C4 001B6124 7F E5 FB 78 */ mr r5, r31
/* 801B91C8 001B6128 7E 06 83 78 */ mr r6, r16
/* 801B91CC 001B612C 92 81 00 10 */ stw r20, 0x10(r1)
/* 801B91D0 001B6130 7F A7 EB 78 */ mr r7, r29
/* 801B91D4 001B6134 7E 2A 8B 78 */ mr r10, r17
/* 801B91D8 001B6138 39 21 00 7C */ addi r9, r1, 0x7c
/* 801B91DC 001B613C 90 81 00 14 */ stw r4, 0x14(r1)
/* 801B91E0 001B6140 38 80 00 01 */ li r4, 1
/* 801B91E4 001B6144 39 00 00 20 */ li r8, 0x20
/* 801B91E8 001B6148 93 41 00 18 */ stw r26, 0x18(r1)
/* 801B91EC 001B614C 91 E1 00 1C */ stw r15, 0x1c(r1)
/* 801B91F0 001B6150 91 C1 00 20 */ stw r14, 0x20(r1)
/* 801B91F4 001B6154 91 61 00 24 */ stw r11, 0x24(r1)
/* 801B91F8 001B6158 90 01 00 28 */ stw r0, 0x28(r1)
/* 801B91FC 001B615C 48 05 C4 9D */ bl "__ct__17CEnergyProjectileFbRC28TToken<18CWeaponDescription>11EWeaponTypeRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId7TAreaId9TUniqueId9TUniqueIdUibRC9CVector3fRCQ24rstl50optional_object<31TLockedToken<15CGenDescription>>sb"
/* 801B9200 001B6160 7C 75 1B 78 */ mr r21, r3
lbl_801B9204:
/* 801B9204 001B6164 7F 00 07 75 */ extsb. r0, r24
/* 801B9208 001B6168 7E AE AB 78 */ mr r14, r21
/* 801B920C 001B616C 41 82 00 30 */ beq lbl_801B923C
/* 801B9210 001B6170 88 01 00 78 */ lbz r0, 0x78(r1)
/* 801B9214 001B6174 28 00 00 00 */ cmplwi r0, 0
/* 801B9218 001B6178 41 82 00 1C */ beq lbl_801B9234
/* 801B921C 001B617C 34 61 00 6C */ addic. r3, r1, 0x6c
/* 801B9220 001B6180 41 82 00 14 */ beq lbl_801B9234
/* 801B9224 001B6184 28 03 00 00 */ cmplwi r3, 0
/* 801B9228 001B6188 41 82 00 0C */ beq lbl_801B9234
/* 801B922C 001B618C 38 80 00 00 */ li r4, 0
/* 801B9230 001B6190 48 18 7C 11 */ bl __dt__6CTokenFv
lbl_801B9234:
/* 801B9234 001B6194 38 00 00 00 */ li r0, 0
/* 801B9238 001B6198 98 01 00 78 */ stb r0, 0x78(r1)
lbl_801B923C:
/* 801B923C 001B619C 28 0E 00 00 */ cmplwi r14, 0
/* 801B9240 001B61A0 41 82 00 2C */ beq lbl_801B926C
/* 801B9244 001B61A4 7F C3 F3 78 */ mr r3, r30
/* 801B9248 001B61A8 7D C4 73 78 */ mr r4, r14
/* 801B924C 001B61AC 4B E9 3A A9 */ bl AddObject__13CStateManagerFP7CEntity
/* 801B9250 001B61B0 7D C3 73 78 */ mr r3, r14
/* 801B9254 001B61B4 FC 20 F8 90 */ fmr f1, f31
/* 801B9258 001B61B8 81 8E 00 00 */ lwz r12, 0(r14)
/* 801B925C 001B61BC 7F C4 F3 78 */ mr r4, r30
/* 801B9260 001B61C0 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 801B9264 001B61C4 7D 89 03 A6 */ mtctr r12
/* 801B9268 001B61C8 4E 80 04 21 */ bctrl
lbl_801B926C:
/* 801B926C 001B61CC 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 801B9270 001B61D0 41 82 00 AC */ beq lbl_801B931C
/* 801B9274 001B61D4 C0 2E 00 40 */ lfs f1, 0x40(r14)
/* 801B9278 001B61D8 38 61 00 98 */ addi r3, r1, 0x98
/* 801B927C 001B61DC C0 4E 00 50 */ lfs f2, 0x50(r14)
/* 801B9280 001B61E0 38 81 00 54 */ addi r4, r1, 0x54
/* 801B9284 001B61E4 C0 0E 00 60 */ lfs f0, 0x60(r14)
/* 801B9288 001B61E8 D0 21 00 48 */ stfs f1, 0x48(r1)
/* 801B928C 001B61EC C0 22 A9 B4 */ lfs f1, lbl_805AC6D4@sda21(r2)
/* 801B9290 001B61F0 D0 41 00 4C */ stfs f2, 0x4c(r1)
/* 801B9294 001B61F4 80 C1 00 48 */ lwz r6, 0x48(r1)
/* 801B9298 001B61F8 D0 01 00 50 */ stfs f0, 0x50(r1)
/* 801B929C 001B61FC 80 A1 00 4C */ lwz r5, 0x4c(r1)
/* 801B92A0 001B6200 80 01 00 50 */ lwz r0, 0x50(r1)
/* 801B92A4 001B6204 90 C1 00 54 */ stw r6, 0x54(r1)
/* 801B92A8 001B6208 C0 42 A9 B8 */ lfs f2, lbl_805AC6D8@sda21(r2)
/* 801B92AC 001B620C 90 A1 00 58 */ stw r5, 0x58(r1)
/* 801B92B0 001B6210 C0 62 A9 BC */ lfs f3, lbl_805AC6DC@sda21(r2)
/* 801B92B4 001B6214 90 01 00 5C */ stw r0, 0x5c(r1)
/* 801B92B8 001B6218 4B FA 42 0D */ bl BuildMissileShakeData__16CCameraShakeDataFfffRC9CVector3f
/* 801B92BC 001B621C 7D C3 73 78 */ mr r3, r14
/* 801B92C0 001B6220 38 81 00 98 */ addi r4, r1, 0x98
/* 801B92C4 001B6224 48 05 A8 09 */ bl SetCameraShake__17CEnergyProjectileFRC16CCameraShakeData
/* 801B92C8 001B6228 34 81 01 18 */ addic. r4, r1, 0x118
/* 801B92CC 001B622C 41 82 00 10 */ beq lbl_801B92DC
/* 801B92D0 001B6230 3C 60 80 3E */ lis r3, __vt__22CCameraShakerComponent@ha
/* 801B92D4 001B6234 38 03 8E A8 */ addi r0, r3, __vt__22CCameraShakerComponent@l
/* 801B92D8 001B6238 90 04 00 00 */ stw r0, 0(r4)
lbl_801B92DC:
/* 801B92DC 001B623C 34 81 00 DC */ addic. r4, r1, 0xdc
/* 801B92E0 001B6240 41 82 00 10 */ beq lbl_801B92F0
/* 801B92E4 001B6244 3C 60 80 3E */ lis r3, __vt__22CCameraShakerComponent@ha
/* 801B92E8 001B6248 38 03 8E A8 */ addi r0, r3, __vt__22CCameraShakerComponent@l
/* 801B92EC 001B624C 90 04 00 00 */ stw r0, 0(r4)
lbl_801B92F0:
/* 801B92F0 001B6250 34 81 00 A0 */ addic. r4, r1, 0xa0
/* 801B92F4 001B6254 41 82 00 10 */ beq lbl_801B9304
/* 801B92F8 001B6258 3C 60 80 3E */ lis r3, __vt__22CCameraShakerComponent@ha
/* 801B92FC 001B625C 38 03 8E A8 */ addi r0, r3, __vt__22CCameraShakerComponent@l
/* 801B9300 001B6260 90 04 00 00 */ stw r0, 0(r4)
lbl_801B9304:
/* 801B9304 001B6264 3C 80 80 57 */ lis r4, lbl_80571B90@ha
/* 801B9308 001B6268 80 7E 08 70 */ lwz r3, 0x870(r30)
/* 801B930C 001B626C 38 84 1B 90 */ addi r4, r4, lbl_80571B90@l
/* 801B9310 001B6270 38 A0 00 00 */ li r5, 0
/* 801B9314 001B6274 4B E5 17 0D */ bl AddCameraShaker__14CCameraManagerFRC16CCameraShakeDatab
/* 801B9318 001B6278 48 00 00 1C */ b lbl_801B9334
lbl_801B931C:
/* 801B931C 001B627C 80 7E 08 8C */ lwz r3, 0x88c(r30)
/* 801B9320 001B6280 7F C4 F3 78 */ mr r4, r30
/* 801B9324 001B6284 C0 22 A9 C0 */ lfs f1, lbl_805AC6E0@sda21(r2)
/* 801B9328 001B6288 38 A0 00 0D */ li r5, 0xd
/* 801B932C 001B628C 38 C0 00 01 */ li r6, 1
/* 801B9330 001B6290 48 07 4F 15 */ bl Rumble__14CRumbleManagerFR13CStateManager11ERumbleFxIdf15ERumblePriority
lbl_801B9334:
/* 801B9334 001B6294 7E C4 B3 78 */ mr r4, r22
/* 801B9338 001B6298 7F 45 D3 78 */ mr r5, r26
/* 801B933C 001B629C 38 61 00 40 */ addi r3, r1, 0x40
/* 801B9340 001B62A0 38 C0 00 00 */ li r6, 0
/* 801B9344 001B62A4 38 E0 00 4A */ li r7, 0x4a
/* 801B9348 001B62A8 48 0D 17 B1 */ bl play_sfx__12NWeaponTypesFUsbbs
/* 801B934C 001B62AC 80 01 00 40 */ lwz r0, 0x40(r1)
/* 801B9350 001B62B0 90 19 00 7C */ stw r0, 0x7c(r25)
/* 801B9354 001B62B4 E3 E1 01 C8 */ psq_l f31, 456(r1), 0, qr0
/* 801B9358 001B62B8 CB E1 01 C0 */ lfd f31, 0x1c0(r1)
/* 801B935C 001B62BC B9 C1 01 78 */ lmw r14, 0x178(r1)
/* 801B9360 001B62C0 80 01 01 D4 */ lwz r0, 0x1d4(r1)
/* 801B9364 001B62C4 7C 08 03 A6 */ mtlr r0
/* 801B9368 001B62C8 38 21 01 D0 */ addi r1, r1, 0x1d0
/* 801B936C 001B62CC 4E 80 00 20 */ blr
.global InitComboData__10CAuxWeaponFv
InitComboData__10CAuxWeaponFv:
/* 801B9370 001B62D0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 801B9374 001B62D4 7C 08 02 A6 */ mflr r0
/* 801B9378 001B62D8 3C 80 80 3D */ lis r4, lbl_803D1664@ha
/* 801B937C 001B62DC 90 01 00 44 */ stw r0, 0x44(r1)
/* 801B9380 001B62E0 BF 61 00 2C */ stmw r27, 0x2c(r1)
/* 801B9384 001B62E4 7C 7B 1B 78 */ mr r27, r3
/* 801B9388 001B62E8 3B C4 16 64 */ addi r30, r4, lbl_803D1664@l
/* 801B938C 001B62EC 3B 80 00 00 */ li r28, 0
/* 801B9390 001B62F0 3B BB 00 2C */ addi r29, r27, 0x2c
lbl_801B9394:
/* 801B9394 001B62F4 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 801B9398 001B62F8 38 61 00 08 */ addi r3, r1, 8
/* 801B939C 001B62FC 80 BE 00 00 */ lwz r5, 0(r30)
/* 801B93A0 001B6300 81 84 00 00 */ lwz r12, 0(r4)
/* 801B93A4 001B6304 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 801B93A8 001B6308 7D 89 03 A6 */ mtctr r12
/* 801B93AC 001B630C 4E 80 04 21 */ bctrl
/* 801B93B0 001B6310 38 61 00 10 */ addi r3, r1, 0x10
/* 801B93B4 001B6314 38 81 00 08 */ addi r4, r1, 8
/* 801B93B8 001B6318 48 18 7A F1 */ bl __ct__6CTokenFRC6CToken
/* 801B93BC 001B631C 38 00 00 00 */ li r0, 0
/* 801B93C0 001B6320 90 01 00 18 */ stw r0, 0x18(r1)
/* 801B93C4 001B6324 80 1B 00 28 */ lwz r0, 0x28(r27)
/* 801B93C8 001B6328 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801B93CC 001B632C 7F FD 02 15 */ add. r31, r29, r0
/* 801B93D0 001B6330 41 82 00 18 */ beq lbl_801B93E8
/* 801B93D4 001B6334 7F E3 FB 78 */ mr r3, r31
/* 801B93D8 001B6338 38 81 00 10 */ addi r4, r1, 0x10
/* 801B93DC 001B633C 48 18 7A CD */ bl __ct__6CTokenFRC6CToken
/* 801B93E0 001B6340 80 01 00 18 */ lwz r0, 0x18(r1)
/* 801B93E4 001B6344 90 1F 00 08 */ stw r0, 8(r31)
lbl_801B93E8:
/* 801B93E8 001B6348 80 BB 00 28 */ lwz r5, 0x28(r27)
/* 801B93EC 001B634C 38 61 00 10 */ addi r3, r1, 0x10
/* 801B93F0 001B6350 38 80 00 00 */ li r4, 0
/* 801B93F4 001B6354 38 05 00 01 */ addi r0, r5, 1
/* 801B93F8 001B6358 90 1B 00 28 */ stw r0, 0x28(r27)
/* 801B93FC 001B635C 48 18 7A 45 */ bl __dt__6CTokenFv
/* 801B9400 001B6360 38 61 00 08 */ addi r3, r1, 8
/* 801B9404 001B6364 38 80 FF FF */ li r4, -1
/* 801B9408 001B6368 48 18 7A 39 */ bl __dt__6CTokenFv
/* 801B940C 001B636C 3B 9C 00 01 */ addi r28, r28, 1
/* 801B9410 001B6370 3B DE 00 04 */ addi r30, r30, 4
/* 801B9414 001B6374 2C 1C 00 05 */ cmpwi r28, 5
/* 801B9418 001B6378 41 80 FF 7C */ blt lbl_801B9394
/* 801B941C 001B637C BB 61 00 2C */ lmw r27, 0x2c(r1)
/* 801B9420 001B6380 80 01 00 44 */ lwz r0, 0x44(r1)
/* 801B9424 001B6384 7C 08 03 A6 */ mtlr r0
/* 801B9428 001B6388 38 21 00 40 */ addi r1, r1, 0x40
/* 801B942C 001B638C 4E 80 00 20 */ blr
.global IsComboFxActive__10CAuxWeaponCFRC13CStateManager
IsComboFxActive__10CAuxWeaponCFRC13CStateManager:
/* 801B9430 001B6390 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801B9434 001B6394 7C 08 02 A6 */ mflr r0
/* 801B9438 001B6398 90 01 00 14 */ stw r0, 0x14(r1)
/* 801B943C 001B639C 80 03 00 74 */ lwz r0, 0x74(r3)
/* 801B9440 001B63A0 2C 00 00 03 */ cmpwi r0, 3
/* 801B9444 001B63A4 41 82 00 3C */ beq lbl_801B9480
/* 801B9448 001B63A8 40 80 00 60 */ bge lbl_801B94A8
/* 801B944C 001B63AC 2C 00 00 02 */ cmpwi r0, 2
/* 801B9450 001B63B0 40 80 00 08 */ bge lbl_801B9458
/* 801B9454 001B63B4 48 00 00 54 */ b lbl_801B94A8
lbl_801B9458:
/* 801B9458 001B63B8 A0 03 00 70 */ lhz r0, 0x70(r3)
/* 801B945C 001B63BC 7C 83 23 78 */ mr r3, r4
/* 801B9460 001B63C0 38 81 00 0C */ addi r4, r1, 0xc
/* 801B9464 001B63C4 B0 01 00 0C */ sth r0, 0xc(r1)
/* 801B9468 001B63C8 4B E9 31 3D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 801B946C 001B63CC 28 03 00 00 */ cmplwi r3, 0
/* 801B9470 001B63D0 41 82 00 38 */ beq lbl_801B94A8
/* 801B9474 001B63D4 88 03 03 D0 */ lbz r0, 0x3d0(r3)
/* 801B9478 001B63D8 54 03 CF FE */ rlwinm r3, r0, 0x19, 0x1f, 0x1f
/* 801B947C 001B63DC 48 00 00 30 */ b lbl_801B94AC
lbl_801B9480:
/* 801B9480 001B63E0 A0 03 00 6E */ lhz r0, 0x6e(r3)
/* 801B9484 001B63E4 7C 83 23 78 */ mr r3, r4
/* 801B9488 001B63E8 38 81 00 08 */ addi r4, r1, 8
/* 801B948C 001B63EC B0 01 00 08 */ sth r0, 8(r1)
/* 801B9490 001B63F0 4B E9 31 15 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 801B9494 001B63F4 28 03 00 00 */ cmplwi r3, 0
/* 801B9498 001B63F8 41 82 00 10 */ beq lbl_801B94A8
/* 801B949C 001B63FC 88 03 03 7C */ lbz r0, 0x37c(r3)
/* 801B94A0 001B6400 54 03 D7 FE */ rlwinm r3, r0, 0x1a, 0x1f, 0x1f
/* 801B94A4 001B6404 48 00 00 08 */ b lbl_801B94AC
lbl_801B94A8:
/* 801B94A8 001B6408 38 60 00 00 */ li r3, 0
lbl_801B94AC:
/* 801B94AC 001B640C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801B94B0 001B6410 7C 08 03 A6 */ mtlr r0
/* 801B94B4 001B6414 38 21 00 10 */ addi r1, r1, 0x10
/* 801B94B8 001B6418 4E 80 00 20 */ blr
.global StopComboFx__10CAuxWeaponFR13CStateManagerb
StopComboFx__10CAuxWeaponFR13CStateManagerb:
/* 801B94BC 001B641C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801B94C0 001B6420 7C 08 02 A6 */ mflr r0
/* 801B94C4 001B6424 90 01 00 24 */ stw r0, 0x24(r1)
/* 801B94C8 001B6428 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801B94CC 001B642C 7C BF 2B 78 */ mr r31, r5
/* 801B94D0 001B6430 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801B94D4 001B6434 7C 9E 23 78 */ mr r30, r4
/* 801B94D8 001B6438 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801B94DC 001B643C 7C 7D 1B 78 */ mr r29, r3
/* 801B94E0 001B6440 80 03 00 74 */ lwz r0, 0x74(r3)
/* 801B94E4 001B6444 2C 00 00 03 */ cmpwi r0, 3
/* 801B94E8 001B6448 41 82 00 48 */ beq lbl_801B9530
/* 801B94EC 001B644C 40 80 00 BC */ bge lbl_801B95A8
/* 801B94F0 001B6450 2C 00 00 02 */ cmpwi r0, 2
/* 801B94F4 001B6454 40 80 00 08 */ bge lbl_801B94FC
/* 801B94F8 001B6458 48 00 00 B0 */ b lbl_801B95A8
lbl_801B94FC:
/* 801B94FC 001B645C A0 1D 00 70 */ lhz r0, 0x70(r29)
/* 801B9500 001B6460 7F C3 F3 78 */ mr r3, r30
/* 801B9504 001B6464 38 81 00 0C */ addi r4, r1, 0xc
/* 801B9508 001B6468 B0 01 00 0C */ sth r0, 0xc(r1)
/* 801B950C 001B646C 4B E9 30 69 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801B9510 001B6470 28 03 00 00 */ cmplwi r3, 0
/* 801B9514 001B6474 41 82 00 94 */ beq lbl_801B95A8
/* 801B9518 001B6478 7F E4 FB 78 */ mr r4, r31
/* 801B951C 001B647C 48 00 57 FD */ bl ResetBeam__11CWaveBusterFb
/* 801B9520 001B6480 7F A3 EB 78 */ mr r3, r29
/* 801B9524 001B6484 7F C4 F3 78 */ mr r4, r30
/* 801B9528 001B6488 4B FF F5 5D */ bl DeleteWaveBusterBeam__10CAuxWeaponFR13CStateManager
/* 801B952C 001B648C 48 00 00 7C */ b lbl_801B95A8
lbl_801B9530:
/* 801B9530 001B6490 A0 1D 00 6E */ lhz r0, 0x6e(r29)
/* 801B9534 001B6494 7F C3 F3 78 */ mr r3, r30
/* 801B9538 001B6498 38 81 00 08 */ addi r4, r1, 8
/* 801B953C 001B649C B0 01 00 08 */ sth r0, 8(r1)
/* 801B9540 001B64A0 4B E9 30 35 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801B9544 001B64A4 28 03 00 00 */ cmplwi r3, 0
/* 801B9548 001B64A8 41 82 00 60 */ beq lbl_801B95A8
/* 801B954C 001B64AC 80 9E 08 B8 */ lwz r4, 0x8b8(r30)
/* 801B9550 001B64B0 38 A0 00 00 */ li r5, 0
/* 801B9554 001B64B4 80 84 00 00 */ lwz r4, 0(r4)
/* 801B9558 001B64B8 88 04 00 00 */ lbz r0, 0(r4)
/* 801B955C 001B64BC 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19
/* 801B9560 001B64C0 98 04 00 00 */ stb r0, 0(r4)
/* 801B9564 001B64C4 88 03 03 7C */ lbz r0, 0x37c(r3)
/* 801B9568 001B64C8 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 801B956C 001B64CC 41 82 00 1C */ beq lbl_801B9588
/* 801B9570 001B64D0 7F C4 F3 78 */ mr r4, r30
/* 801B9574 001B64D4 7F E5 FB 78 */ mr r5, r31
/* 801B9578 001B64D8 48 0A A3 69 */ bl Reset__16CFlameNewThrowerFR13CStateManagerb
/* 801B957C 001B64DC 7F A3 EB 78 */ mr r3, r29
/* 801B9580 001B64E0 4B FF F4 6D */ bl FreeComboVoiceId__10CAuxWeaponFv
/* 801B9584 001B64E4 48 00 00 24 */ b lbl_801B95A8
lbl_801B9588:
/* 801B9588 001B64E8 88 03 00 30 */ lbz r0, 0x30(r3)
/* 801B958C 001B64EC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801B9590 001B64F0 41 82 00 18 */ beq lbl_801B95A8
/* 801B9594 001B64F4 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 801B9598 001B64F8 41 82 00 10 */ beq lbl_801B95A8
/* 801B959C 001B64FC 7F C4 F3 78 */ mr r4, r30
/* 801B95A0 001B6500 7F E5 FB 78 */ mr r5, r31
/* 801B95A4 001B6504 48 0A A3 3D */ bl Reset__16CFlameNewThrowerFR13CStateManagerb
lbl_801B95A8:
/* 801B95A8 001B6508 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 801B95AC 001B650C 41 82 00 14 */ beq lbl_801B95C0
/* 801B95B0 001B6510 38 00 FF FF */ li r0, -1
/* 801B95B4 001B6514 C0 02 A9 C4 */ lfs f0, lbl_805AC6E4@sda21(r2)
/* 801B95B8 001B6518 90 1D 00 74 */ stw r0, 0x74(r29)
/* 801B95BC 001B651C D0 1D 00 68 */ stfs f0, 0x68(r29)
lbl_801B95C0:
/* 801B95C0 001B6520 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801B95C4 001B6524 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801B95C8 001B6528 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801B95CC 001B652C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801B95D0 001B6530 7C 08 03 A6 */ mtlr r0
/* 801B95D4 001B6534 38 21 00 20 */ addi r1, r1, 0x20
/* 801B95D8 001B6538 4E 80 00 20 */ blr
.global UpdateComboFx__10CAuxWeaponFfRC9CVector3fRC9CVector3fRC12CTransform4fR13CStateManager
UpdateComboFx__10CAuxWeaponFfRC9CVector3fRC9CVector3fRC12CTransform4fR13CStateManager:
/* 801B95DC 001B653C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801B95E0 001B6540 7C 08 02 A6 */ mflr r0
/* 801B95E4 001B6544 90 01 00 54 */ stw r0, 0x54(r1)
/* 801B95E8 001B6548 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 801B95EC 001B654C F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 801B95F0 001B6550 BE C1 00 18 */ stmw r22, 0x18(r1)
/* 801B95F4 001B6554 88 03 00 80 */ lbz r0, 0x80(r3)
/* 801B95F8 001B6558 FF E0 08 90 */ fmr f31, f1
/* 801B95FC 001B655C 7C 78 1B 78 */ mr r24, r3
/* 801B9600 001B6560 7C 99 23 78 */ mr r25, r4
/* 801B9604 001B6564 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801B9608 001B6568 7C BA 2B 78 */ mr r26, r5
/* 801B960C 001B656C 7C DB 33 78 */ mr r27, r6
/* 801B9610 001B6570 7C FC 3B 78 */ mr r28, r7
/* 801B9614 001B6574 41 82 00 10 */ beq lbl_801B9624
/* 801B9618 001B6578 80 18 00 74 */ lwz r0, 0x74(r24)
/* 801B961C 001B657C 2C 00 FF FF */ cmpwi r0, -1
/* 801B9620 001B6580 40 82 00 0C */ bne lbl_801B962C
lbl_801B9624:
/* 801B9624 001B6584 38 60 00 00 */ li r3, 0
/* 801B9628 001B6588 48 00 02 2C */ b lbl_801B9854
lbl_801B962C:
/* 801B962C 001B658C 80 9C 08 B8 */ lwz r4, 0x8b8(r28)
/* 801B9630 001B6590 38 61 00 10 */ addi r3, r1, 0x10
/* 801B9634 001B6594 80 18 00 7C */ lwz r0, 0x7c(r24)
/* 801B9638 001B6598 3B C0 00 00 */ li r30, 0
/* 801B963C 001B659C 83 E4 00 00 */ lwz r31, 0(r4)
/* 801B9640 001B65A0 90 01 00 10 */ stw r0, 0x10(r1)
/* 801B9644 001B65A4 48 12 F7 91 */ bl IsPlaying__11CSfxManagerF10CSfxHandle
/* 801B9648 001B65A8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801B964C 001B65AC 40 82 00 18 */ bne lbl_801B9664
/* 801B9650 001B65B0 80 18 00 7C */ lwz r0, 0x7c(r24)
/* 801B9654 001B65B4 28 00 00 00 */ cmplwi r0, 0
/* 801B9658 001B65B8 41 82 00 0C */ beq lbl_801B9664
/* 801B965C 001B65BC 7F 03 C3 78 */ mr r3, r24
/* 801B9660 001B65C0 4B FF F3 8D */ bl FreeComboVoiceId__10CAuxWeaponFv
lbl_801B9664:
/* 801B9664 001B65C4 80 18 00 74 */ lwz r0, 0x74(r24)
/* 801B9668 001B65C8 2C 00 00 04 */ cmpwi r0, 4
/* 801B966C 001B65CC 40 80 01 E4 */ bge lbl_801B9850
/* 801B9670 001B65D0 2C 00 00 02 */ cmpwi r0, 2
/* 801B9674 001B65D4 40 80 00 08 */ bge lbl_801B967C
/* 801B9678 001B65D8 48 00 01 D8 */ b lbl_801B9850
lbl_801B967C:
/* 801B967C 001B65DC 3B A0 00 00 */ li r29, 0
/* 801B9680 001B65E0 40 82 00 68 */ bne lbl_801B96E8
/* 801B9684 001B65E4 A0 18 00 70 */ lhz r0, 0x70(r24)
/* 801B9688 001B65E8 7F 83 E3 78 */ mr r3, r28
/* 801B968C 001B65EC 38 81 00 0C */ addi r4, r1, 0xc
/* 801B9690 001B65F0 B0 01 00 0C */ sth r0, 0xc(r1)
/* 801B9694 001B65F4 4B E9 2E E1 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801B9698 001B65F8 28 03 00 00 */ cmplwi r3, 0
/* 801B969C 001B65FC 41 82 00 2C */ beq lbl_801B96C8
/* 801B96A0 001B6600 88 03 03 D0 */ lbz r0, 0x3d0(r3)
/* 801B96A4 001B6604 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801B96A8 001B6608 41 82 00 20 */ beq lbl_801B96C8
/* 801B96AC 001B660C FC 20 F8 90 */ fmr f1, f31
/* 801B96B0 001B6610 7F 64 DB 78 */ mr r4, r27
/* 801B96B4 001B6614 7F 85 E3 78 */ mr r5, r28
/* 801B96B8 001B6618 48 00 57 C5 */ bl UpdateFx__11CWaveBusterFRC12CTransform4ffR13CStateManager
/* 801B96BC 001B661C 3B C0 00 01 */ li r30, 1
/* 801B96C0 001B6620 3B A0 00 01 */ li r29, 1
/* 801B96C4 001B6624 48 00 00 B0 */ b lbl_801B9774
lbl_801B96C8:
/* 801B96C8 001B6628 7F 03 C3 78 */ mr r3, r24
/* 801B96CC 001B662C 7F 84 E3 78 */ mr r4, r28
/* 801B96D0 001B6630 4B FF F3 B5 */ bl DeleteWaveBusterBeam__10CAuxWeaponFR13CStateManager
/* 801B96D4 001B6634 88 1F 00 00 */ lbz r0, 0(r31)
/* 801B96D8 001B6638 38 60 00 00 */ li r3, 0
/* 801B96DC 001B663C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 801B96E0 001B6640 98 1F 00 00 */ stb r0, 0(r31)
/* 801B96E4 001B6644 48 00 00 90 */ b lbl_801B9774
lbl_801B96E8:
/* 801B96E8 001B6648 A0 18 00 6E */ lhz r0, 0x6e(r24)
/* 801B96EC 001B664C 7F 83 E3 78 */ mr r3, r28
/* 801B96F0 001B6650 38 81 00 08 */ addi r4, r1, 8
/* 801B96F4 001B6654 B0 01 00 08 */ sth r0, 8(r1)
/* 801B96F8 001B6658 4B E9 2E 7D */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801B96FC 001B665C 7C 77 1B 79 */ or. r23, r3, r3
/* 801B9700 001B6660 3A C0 00 01 */ li r22, 1
/* 801B9704 001B6664 41 82 00 4C */ beq lbl_801B9750
/* 801B9708 001B6668 88 17 00 30 */ lbz r0, 0x30(r23)
/* 801B970C 001B666C 88 97 03 7C */ lbz r4, 0x37c(r23)
/* 801B9710 001B6670 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801B9714 001B6674 54 9D CF FE */ rlwinm r29, r4, 0x19, 0x1f, 0x1f
/* 801B9718 001B6678 41 82 00 1C */ beq lbl_801B9734
/* 801B971C 001B667C FC 20 F8 90 */ fmr f1, f31
/* 801B9720 001B6680 7F 64 DB 78 */ mr r4, r27
/* 801B9724 001B6684 7F 85 E3 78 */ mr r5, r28
/* 801B9728 001B6688 48 0A A4 15 */ bl UpdateFx__16CNewFlameThrowerFRC12CTransform4ffR13CStateManager
/* 801B972C 001B668C 88 17 03 7C */ lbz r0, 0x37c(r23)
/* 801B9730 001B6690 54 1E D7 FE */ rlwinm r30, r0, 0x1a, 0x1f, 0x1f
lbl_801B9734:
/* 801B9734 001B6694 A0 78 00 6E */ lhz r3, 0x6e(r24)
/* 801B9738 001B6698 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 801B973C 001B669C 7C 03 00 40 */ cmplw r3, r0
/* 801B9740 001B66A0 41 82 00 10 */ beq lbl_801B9750
/* 801B9744 001B66A4 7E E3 BB 78 */ mr r3, r23
/* 801B9748 001B66A8 48 0A 87 6D */ bl AreParticlesDoneEmitting__16CNewFlameThrowerCFv
/* 801B974C 001B66AC 7C 76 1B 78 */ mr r22, r3
lbl_801B9750:
/* 801B9750 001B66B0 56 C0 06 3F */ clrlwi. r0, r22, 0x18
/* 801B9754 001B66B4 41 82 00 20 */ beq lbl_801B9774
/* 801B9758 001B66B8 7F 03 C3 78 */ mr r3, r24
/* 801B975C 001B66BC 7F 84 E3 78 */ mr r4, r28
/* 801B9760 001B66C0 4B FF F3 B5 */ bl DeleteFlameThrower__10CAuxWeaponFR13CStateManager
/* 801B9764 001B66C4 88 1F 00 00 */ lbz r0, 0(r31)
/* 801B9768 001B66C8 38 60 00 00 */ li r3, 0
/* 801B976C 001B66CC 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 801B9770 001B66D0 98 1F 00 00 */ stb r0, 0(r31)
lbl_801B9774:
/* 801B9774 001B66D4 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 801B9778 001B66D8 41 82 00 54 */ beq lbl_801B97CC
/* 801B977C 001B66DC C0 18 00 68 */ lfs f0, 0x68(r24)
/* 801B9780 001B66E0 7F E3 FB 78 */ mr r3, r31
/* 801B9784 001B66E4 38 80 00 04 */ li r4, 4
/* 801B9788 001B66E8 EC 00 F8 2A */ fadds f0, f0, f31
/* 801B978C 001B66EC D0 18 00 68 */ stfs f0, 0x68(r24)
/* 801B9790 001B66F0 4B ED 83 8D */ bl GetItemAmount__12CPlayerStateCFQ212CPlayerState9EItemType
/* 801B9794 001B66F4 2C 03 00 00 */ cmpwi r3, 0
/* 801B9798 001B66F8 40 81 00 34 */ ble lbl_801B97CC
/* 801B979C 001B66FC 7F E3 FB 78 */ mr r3, r31
/* 801B97A0 001B6700 4B ED 7A 65 */ bl GetComboFireAmmoPeriod__12CPlayerStateCFv
/* 801B97A4 001B6704 C0 18 00 68 */ lfs f0, 0x68(r24)
/* 801B97A8 001B6708 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801B97AC 001B670C 4C 41 13 82 */ cror 2, 1, 2
/* 801B97B0 001B6710 40 82 00 1C */ bne lbl_801B97CC
/* 801B97B4 001B6714 7F E3 FB 78 */ mr r3, r31
/* 801B97B8 001B6718 38 80 00 04 */ li r4, 4
/* 801B97BC 001B671C 38 A0 00 01 */ li r5, 1
/* 801B97C0 001B6720 4B ED 83 D5 */ bl DecrPickUp__12CPlayerStateFQ212CPlayerState9EItemTypei
/* 801B97C4 001B6724 C0 02 A9 C4 */ lfs f0, lbl_805AC6E4@sda21(r2)
/* 801B97C8 001B6728 D0 18 00 68 */ stfs f0, 0x68(r24)
lbl_801B97CC:
/* 801B97CC 001B672C 7F E3 FB 78 */ mr r3, r31
/* 801B97D0 001B6730 38 80 00 04 */ li r4, 4
/* 801B97D4 001B6734 4B ED 83 49 */ bl GetItemAmount__12CPlayerStateCFQ212CPlayerState9EItemType
/* 801B97D8 001B6738 2C 03 00 00 */ cmpwi r3, 0
/* 801B97DC 001B673C 40 82 00 14 */ bne lbl_801B97F0
/* 801B97E0 001B6740 7F 03 C3 78 */ mr r3, r24
/* 801B97E4 001B6744 7F 84 E3 78 */ mr r4, r28
/* 801B97E8 001B6748 38 A0 00 00 */ li r5, 0
/* 801B97EC 001B674C 4B FF FC D1 */ bl StopComboFx__10CAuxWeaponFR13CStateManagerb
lbl_801B97F0:
/* 801B97F0 001B6750 80 78 00 24 */ lwz r3, 0x24(r24)
/* 801B97F4 001B6754 7F 44 D3 78 */ mr r4, r26
/* 801B97F8 001B6758 81 83 00 00 */ lwz r12, 0(r3)
/* 801B97FC 001B675C 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 801B9800 001B6760 7D 89 03 A6 */ mtctr r12
/* 801B9804 001B6764 4E 80 04 21 */ bctrl
/* 801B9808 001B6768 80 78 00 24 */ lwz r3, 0x24(r24)
/* 801B980C 001B676C 7F 24 CB 78 */ mr r4, r25
/* 801B9810 001B6770 81 83 00 00 */ lwz r12, 0(r3)
/* 801B9814 001B6774 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 801B9818 001B6778 7D 89 03 A6 */ mtctr r12
/* 801B981C 001B677C 4E 80 04 21 */ bctrl
/* 801B9820 001B6780 80 78 00 24 */ lwz r3, 0x24(r24)
/* 801B9824 001B6784 57 A4 06 3E */ clrlwi r4, r29, 0x18
/* 801B9828 001B6788 81 83 00 00 */ lwz r12, 0(r3)
/* 801B982C 001B678C 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 801B9830 001B6790 7D 89 03 A6 */ mtctr r12
/* 801B9834 001B6794 4E 80 04 21 */ bctrl
/* 801B9838 001B6798 80 78 00 24 */ lwz r3, 0x24(r24)
/* 801B983C 001B679C FC 20 F8 90 */ fmr f1, f31
/* 801B9840 001B67A0 81 83 00 00 */ lwz r12, 0(r3)
/* 801B9844 001B67A4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801B9848 001B67A8 7D 89 03 A6 */ mtctr r12
/* 801B984C 001B67AC 4E 80 04 21 */ bctrl
lbl_801B9850:
/* 801B9850 001B67B0 57 C3 06 3E */ clrlwi r3, r30, 0x18
lbl_801B9854:
/* 801B9854 001B67B4 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 801B9858 001B67B8 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 801B985C 001B67BC BA C1 00 18 */ lmw r22, 0x18(r1)
/* 801B9860 001B67C0 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801B9864 001B67C4 7C 08 03 A6 */ mtlr r0
/* 801B9868 001B67C8 38 21 00 50 */ addi r1, r1, 0x50
/* 801B986C 001B67CC 4E 80 00 20 */ blr
.global RenderMuzzleFx__10CAuxWeaponCFv
RenderMuzzleFx__10CAuxWeaponCFv:
/* 801B9870 001B67D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801B9874 001B67D4 7C 08 02 A6 */ mflr r0
/* 801B9878 001B67D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 801B987C 001B67DC 80 03 00 74 */ lwz r0, 0x74(r3)
/* 801B9880 001B67E0 2C 00 00 04 */ cmpwi r0, 4
/* 801B9884 001B67E4 40 80 00 24 */ bge lbl_801B98A8
/* 801B9888 001B67E8 2C 00 00 02 */ cmpwi r0, 2
/* 801B988C 001B67EC 40 80 00 08 */ bge lbl_801B9894
/* 801B9890 001B67F0 48 00 00 18 */ b lbl_801B98A8
lbl_801B9894:
/* 801B9894 001B67F4 80 63 00 24 */ lwz r3, 0x24(r3)
/* 801B9898 001B67F8 81 83 00 00 */ lwz r12, 0(r3)
/* 801B989C 001B67FC 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 801B98A0 001B6800 7D 89 03 A6 */ mtctr r12
/* 801B98A4 001B6804 4E 80 04 21 */ bctrl
lbl_801B98A8:
/* 801B98A8 001B6808 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801B98AC 001B680C 7C 08 03 A6 */ mtlr r0
/* 801B98B0 001B6810 38 21 00 10 */ addi r1, r1, 0x10
/* 801B98B4 001B6814 4E 80 00 20 */ blr
.global HasTarget__10CAuxWeaponCFRC13CStateManager
HasTarget__10CAuxWeaponCFRC13CStateManager:
/* 801B98B8 001B6818 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801B98BC 001B681C 7C 08 02 A6 */ mflr r0
/* 801B98C0 001B6820 90 01 00 24 */ stw r0, 0x24(r1)
/* 801B98C4 001B6824 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801B98C8 001B6828 7C 7F 1B 78 */ mr r31, r3
/* 801B98CC 001B682C 80 04 00 74 */ lwz r0, 0x74(r4)
/* 801B98D0 001B6830 2C 00 00 02 */ cmpwi r0, 2
/* 801B98D4 001B6834 41 82 00 08 */ beq lbl_801B98DC
/* 801B98D8 001B6838 48 00 00 2C */ b lbl_801B9904
lbl_801B98DC:
/* 801B98DC 001B683C A0 04 00 70 */ lhz r0, 0x70(r4)
/* 801B98E0 001B6840 7C A3 2B 78 */ mr r3, r5
/* 801B98E4 001B6844 38 81 00 08 */ addi r4, r1, 8
/* 801B98E8 001B6848 B0 01 00 08 */ sth r0, 8(r1)
/* 801B98EC 001B684C 4B E9 2C B9 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 801B98F0 001B6850 28 03 00 00 */ cmplwi r3, 0
/* 801B98F4 001B6854 41 82 00 10 */ beq lbl_801B9904
/* 801B98F8 001B6858 A0 03 02 C0 */ lhz r0, 0x2c0(r3)
/* 801B98FC 001B685C B0 1F 00 00 */ sth r0, 0(r31)
/* 801B9900 001B6860 48 00 00 0C */ b lbl_801B990C
lbl_801B9904:
/* 801B9904 001B6864 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 801B9908 001B6868 B0 1F 00 00 */ sth r0, 0(r31)
lbl_801B990C:
/* 801B990C 001B686C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801B9910 001B6870 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801B9914 001B6874 7C 08 03 A6 */ mtlr r0
/* 801B9918 001B6878 38 21 00 20 */ addi r1, r1, 0x20
/* 801B991C 001B687C 4E 80 00 20 */ blr
.global SetNewTarget__10CAuxWeaponF9TUniqueIdR13CStateManager
SetNewTarget__10CAuxWeaponF9TUniqueIdR13CStateManager:
/* 801B9920 001B6880 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801B9924 001B6884 7C 08 02 A6 */ mflr r0
/* 801B9928 001B6888 90 01 00 24 */ stw r0, 0x24(r1)
/* 801B992C 001B688C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801B9930 001B6890 7C BF 2B 78 */ mr r31, r5
/* 801B9934 001B6894 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801B9938 001B6898 7C 9E 23 78 */ mr r30, r4
/* 801B993C 001B689C 80 03 00 74 */ lwz r0, 0x74(r3)
/* 801B9940 001B68A0 2C 00 00 02 */ cmpwi r0, 2
/* 801B9944 001B68A4 41 82 00 08 */ beq lbl_801B994C
/* 801B9948 001B68A8 48 00 00 34 */ b lbl_801B997C
lbl_801B994C:
/* 801B994C 001B68AC A0 03 00 70 */ lhz r0, 0x70(r3)
/* 801B9950 001B68B0 7F E3 FB 78 */ mr r3, r31
/* 801B9954 001B68B4 38 81 00 0C */ addi r4, r1, 0xc
/* 801B9958 001B68B8 B0 01 00 0C */ sth r0, 0xc(r1)
/* 801B995C 001B68BC 4B E9 2C 19 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801B9960 001B68C0 28 03 00 00 */ cmplwi r3, 0
/* 801B9964 001B68C4 41 82 00 18 */ beq lbl_801B997C
/* 801B9968 001B68C8 A0 1E 00 00 */ lhz r0, 0(r30)
/* 801B996C 001B68CC 7F E5 FB 78 */ mr r5, r31
/* 801B9970 001B68D0 38 81 00 08 */ addi r4, r1, 8
/* 801B9974 001B68D4 B0 01 00 08 */ sth r0, 8(r1)
/* 801B9978 001B68D8 48 00 66 E5 */ bl SetNewTarget__11CWaveBusterF9TUniqueId
lbl_801B997C:
/* 801B997C 001B68DC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801B9980 001B68E0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801B9984 001B68E4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801B9988 001B68E8 7C 08 03 A6 */ mtlr r0
/* 801B998C 001B68EC 38 21 00 20 */ addi r1, r1, 0x20
/* 801B9990 001B68F0 4E 80 00 20 */ blr
.global Fire__10CAuxWeaponFfbiQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager11EWeaponType9TUniqueId
Fire__10CAuxWeaponFfbiQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager11EWeaponType9TUniqueId:
/* 801B9994 001B68F4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 801B9998 001B68F8 7C 08 02 A6 */ mflr r0
/* 801B999C 001B68FC 90 01 00 44 */ stw r0, 0x44(r1)
/* 801B99A0 001B6900 DB E1 00 38 */ stfd f31, 0x38(r1)
/* 801B99A4 001B6904 FF E0 08 90 */ fmr f31, f1
/* 801B99A8 001B6908 BF 21 00 1C */ stmw r25, 0x1c(r1)
/* 801B99AC 001B690C 7C 79 1B 78 */ mr r25, r3
/* 801B99B0 001B6910 7C 9A 23 78 */ mr r26, r4
/* 801B99B4 001B6914 7C BB 2B 78 */ mr r27, r5
/* 801B99B8 001B6918 7C FC 3B 78 */ mr r28, r7
/* 801B99BC 001B691C 7D 1D 43 78 */ mr r29, r8
/* 801B99C0 001B6920 7D 5E 53 78 */ mr r30, r10
/* 801B99C4 001B6924 88 03 00 80 */ lbz r0, 0x80(r3)
/* 801B99C8 001B6928 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801B99CC 001B692C 41 82 00 EC */ beq lbl_801B9AB8
/* 801B99D0 001B6930 7C 06 00 D0 */ neg r0, r6
/* 801B99D4 001B6934 7C 00 33 78 */ or r0, r0, r6
/* 801B99D8 001B6938 54 1F 0F FF */ rlwinm. r31, r0, 1, 0x1f, 0x1f
/* 801B99DC 001B693C 41 82 00 14 */ beq lbl_801B99F0
/* 801B99E0 001B6940 7D 23 4B 78 */ mr r3, r9
/* 801B99E4 001B6944 4B E7 DE 75 */ bl GetBeamAttribType__15CGameProjectileF11EWeaponType
/* 801B99E8 001B6948 60 67 00 80 */ ori r7, r3, 0x80
/* 801B99EC 001B694C 48 00 00 08 */ b lbl_801B99F4
lbl_801B99F0:
/* 801B99F0 001B6950 38 E0 00 00 */ li r7, 0
lbl_801B99F4:
/* 801B99F4 001B6954 28 1F 00 00 */ cmplwi r31, 0
/* 801B99F8 001B6958 40 82 00 34 */ bne lbl_801B9A2C
/* 801B99FC 001B695C A0 1E 00 00 */ lhz r0, 0(r30)
/* 801B9A00 001B6960 FC 20 F8 90 */ fmr f1, f31
/* 801B9A04 001B6964 7F 23 CB 78 */ mr r3, r25
/* 801B9A08 001B6968 7F 44 D3 78 */ mr r4, r26
/* 801B9A0C 001B696C B0 01 00 10 */ sth r0, 0x10(r1)
/* 801B9A10 001B6970 7F E5 FB 78 */ mr r5, r31
/* 801B9A14 001B6974 7F 66 DB 78 */ mr r6, r27
/* 801B9A18 001B6978 7F 88 E3 78 */ mr r8, r28
/* 801B9A1C 001B697C 7F AA EB 78 */ mr r10, r29
/* 801B9A20 001B6980 39 21 00 10 */ addi r9, r1, 0x10
/* 801B9A24 001B6984 4B FF F6 4D */ bl LaunchMissile__10CAuxWeaponFbbiUiRC12CTransform4f9TUniqueIdR13CStateManager
/* 801B9A28 001B6988 48 00 00 90 */ b lbl_801B9AB8
lbl_801B9A2C:
/* 801B9A2C 001B698C 2C 1B 00 02 */ cmpwi r27, 2
/* 801B9A30 001B6990 41 82 00 50 */ beq lbl_801B9A80
/* 801B9A34 001B6994 40 80 00 10 */ bge lbl_801B9A44
/* 801B9A38 001B6998 2C 1B 00 00 */ cmpwi r27, 0
/* 801B9A3C 001B699C 40 80 00 14 */ bge lbl_801B9A50
/* 801B9A40 001B69A0 48 00 00 78 */ b lbl_801B9AB8
lbl_801B9A44:
/* 801B9A44 001B69A4 2C 1B 00 04 */ cmpwi r27, 4
/* 801B9A48 001B69A8 40 80 00 70 */ bge lbl_801B9AB8
/* 801B9A4C 001B69AC 48 00 00 58 */ b lbl_801B9AA4
lbl_801B9A50:
/* 801B9A50 001B69B0 A0 1E 00 00 */ lhz r0, 0(r30)
/* 801B9A54 001B69B4 FC 20 F8 90 */ fmr f1, f31
/* 801B9A58 001B69B8 7F 23 CB 78 */ mr r3, r25
/* 801B9A5C 001B69BC 7F 44 D3 78 */ mr r4, r26
/* 801B9A60 001B69C0 B0 01 00 0C */ sth r0, 0xc(r1)
/* 801B9A64 001B69C4 7F E5 FB 78 */ mr r5, r31
/* 801B9A68 001B69C8 7F 66 DB 78 */ mr r6, r27
/* 801B9A6C 001B69CC 7F 88 E3 78 */ mr r8, r28
/* 801B9A70 001B69D0 7F AA EB 78 */ mr r10, r29
/* 801B9A74 001B69D4 39 21 00 0C */ addi r9, r1, 0xc
/* 801B9A78 001B69D8 4B FF F5 F9 */ bl LaunchMissile__10CAuxWeaponFbbiUiRC12CTransform4f9TUniqueIdR13CStateManager
/* 801B9A7C 001B69DC 48 00 00 3C */ b lbl_801B9AB8
lbl_801B9A80:
/* 801B9A80 001B69E0 A0 1E 00 00 */ lhz r0, 0(r30)
/* 801B9A84 001B69E4 7F 23 CB 78 */ mr r3, r25
/* 801B9A88 001B69E8 7C E4 3B 78 */ mr r4, r7
/* 801B9A8C 001B69EC 7F 86 E3 78 */ mr r6, r28
/* 801B9A90 001B69F0 B0 01 00 08 */ sth r0, 8(r1)
/* 801B9A94 001B69F4 7F A7 EB 78 */ mr r7, r29
/* 801B9A98 001B69F8 38 A1 00 08 */ addi r5, r1, 8
/* 801B9A9C 001B69FC 4B FF F1 09 */ bl CreateWaveBusterBeam__10CAuxWeaponFUi9TUniqueIdRC12CTransform4fR13CStateManager
/* 801B9AA0 001B6A00 48 00 00 18 */ b lbl_801B9AB8
lbl_801B9AA4:
/* 801B9AA4 001B6A04 FC 20 F8 90 */ fmr f1, f31
/* 801B9AA8 001B6A08 7F 23 CB 78 */ mr r3, r25
/* 801B9AAC 001B6A0C 7F 84 E3 78 */ mr r4, r28
/* 801B9AB0 001B6A10 7F A5 EB 78 */ mr r5, r29
/* 801B9AB4 001B6A14 4B FF F2 C9 */ bl CreateFlameThrower__10CAuxWeaponFRC12CTransform4fR13CStateManagerf
lbl_801B9AB8:
/* 801B9AB8 001B6A18 CB E1 00 38 */ lfd f31, 0x38(r1)
/* 801B9ABC 001B6A1C BB 21 00 1C */ lmw r25, 0x1c(r1)
/* 801B9AC0 001B6A20 80 01 00 44 */ lwz r0, 0x44(r1)
/* 801B9AC4 001B6A24 7C 08 03 A6 */ mtlr r0
/* 801B9AC8 001B6A28 38 21 00 40 */ addi r1, r1, 0x40
/* 801B9ACC 001B6A2C 4E 80 00 20 */ blr
.global __ct__10CAuxWeaponF9TUniqueId
__ct__10CAuxWeaponF9TUniqueId:
/* 801B9AD0 001B6A30 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801B9AD4 001B6A34 7C 08 02 A6 */ mflr r0
/* 801B9AD8 001B6A38 3C A0 80 3D */ lis r5, lbl_803D1678@ha
/* 801B9ADC 001B6A3C 90 01 00 34 */ stw r0, 0x34(r1)
/* 801B9AE0 001B6A40 38 A5 16 78 */ addi r5, r5, lbl_803D1678@l
/* 801B9AE4 001B6A44 38 A5 00 B6 */ addi r5, r5, 0xb6
/* 801B9AE8 001B6A48 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801B9AEC 001B6A4C 7C 9F 23 78 */ mr r31, r4
/* 801B9AF0 001B6A50 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801B9AF4 001B6A54 7C 7E 1B 78 */ mr r30, r3
/* 801B9AF8 001B6A58 38 61 00 18 */ addi r3, r1, 0x18
/* 801B9AFC 001B6A5C 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801B9B00 001B6A60 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 801B9B04 001B6A64 81 84 00 00 */ lwz r12, 0(r4)
/* 801B9B08 001B6A68 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 801B9B0C 001B6A6C 7D 89 03 A6 */ mtctr r12
/* 801B9B10 001B6A70 4E 80 04 21 */ bctrl
/* 801B9B14 001B6A74 7F C3 F3 78 */ mr r3, r30
/* 801B9B18 001B6A78 38 81 00 18 */ addi r4, r1, 0x18
/* 801B9B1C 001B6A7C 48 18 73 8D */ bl __ct__6CTokenFRC6CToken
/* 801B9B20 001B6A80 7F C3 F3 78 */ mr r3, r30
/* 801B9B24 001B6A84 48 18 72 E9 */ bl GetObj__6CTokenFv
/* 801B9B28 001B6A88 80 03 00 04 */ lwz r0, 4(r3)
/* 801B9B2C 001B6A8C 38 61 00 18 */ addi r3, r1, 0x18
/* 801B9B30 001B6A90 38 80 FF FF */ li r4, -1
/* 801B9B34 001B6A94 90 1E 00 08 */ stw r0, 8(r30)
/* 801B9B38 001B6A98 48 18 73 09 */ bl __dt__6CTokenFv
/* 801B9B3C 001B6A9C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 801B9B40 001B6AA0 3C 60 80 3D */ lis r3, lbl_803D1678@ha
/* 801B9B44 001B6AA4 38 A3 16 78 */ addi r5, r3, lbl_803D1678@l
/* 801B9B48 001B6AA8 38 61 00 10 */ addi r3, r1, 0x10
/* 801B9B4C 001B6AAC 81 84 00 00 */ lwz r12, 0(r4)
/* 801B9B50 001B6AB0 38 A5 00 BE */ addi r5, r5, 0xbe
/* 801B9B54 001B6AB4 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 801B9B58 001B6AB8 7D 89 03 A6 */ mtctr r12
/* 801B9B5C 001B6ABC 4E 80 04 21 */ bctrl
/* 801B9B60 001B6AC0 3B BE 00 0C */ addi r29, r30, 0xc
/* 801B9B64 001B6AC4 38 81 00 10 */ addi r4, r1, 0x10
/* 801B9B68 001B6AC8 7F A3 EB 78 */ mr r3, r29
/* 801B9B6C 001B6ACC 48 18 73 3D */ bl __ct__6CTokenFRC6CToken
/* 801B9B70 001B6AD0 7F A3 EB 78 */ mr r3, r29
/* 801B9B74 001B6AD4 48 18 72 99 */ bl GetObj__6CTokenFv
/* 801B9B78 001B6AD8 80 03 00 04 */ lwz r0, 4(r3)
/* 801B9B7C 001B6ADC 38 61 00 10 */ addi r3, r1, 0x10
/* 801B9B80 001B6AE0 38 80 FF FF */ li r4, -1
/* 801B9B84 001B6AE4 90 1D 00 08 */ stw r0, 8(r29)
/* 801B9B88 001B6AE8 48 18 72 B9 */ bl __dt__6CTokenFv
/* 801B9B8C 001B6AEC 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 801B9B90 001B6AF0 3C 60 80 3D */ lis r3, lbl_803D1678@ha
/* 801B9B94 001B6AF4 38 A3 16 78 */ addi r5, r3, lbl_803D1678@l
/* 801B9B98 001B6AF8 38 61 00 08 */ addi r3, r1, 8
/* 801B9B9C 001B6AFC 81 84 00 00 */ lwz r12, 0(r4)
/* 801B9BA0 001B6B00 38 A5 00 CA */ addi r5, r5, 0xca
/* 801B9BA4 001B6B04 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 801B9BA8 001B6B08 7D 89 03 A6 */ mtctr r12
/* 801B9BAC 001B6B0C 4E 80 04 21 */ bctrl
/* 801B9BB0 001B6B10 3B BE 00 18 */ addi r29, r30, 0x18
/* 801B9BB4 001B6B14 38 81 00 08 */ addi r4, r1, 8
/* 801B9BB8 001B6B18 7F A3 EB 78 */ mr r3, r29
/* 801B9BBC 001B6B1C 48 18 72 ED */ bl __ct__6CTokenFRC6CToken
/* 801B9BC0 001B6B20 7F A3 EB 78 */ mr r3, r29
/* 801B9BC4 001B6B24 48 18 72 49 */ bl GetObj__6CTokenFv
/* 801B9BC8 001B6B28 80 03 00 04 */ lwz r0, 4(r3)
/* 801B9BCC 001B6B2C 38 61 00 08 */ addi r3, r1, 8
/* 801B9BD0 001B6B30 38 80 FF FF */ li r4, -1
/* 801B9BD4 001B6B34 90 1D 00 08 */ stw r0, 8(r29)
/* 801B9BD8 001B6B38 48 18 72 69 */ bl __dt__6CTokenFv
/* 801B9BDC 001B6B3C 38 A0 00 00 */ li r5, 0
/* 801B9BE0 001B6B40 C0 02 A9 C4 */ lfs f0, lbl_805AC6E4@sda21(r2)
/* 801B9BE4 001B6B44 90 BE 00 24 */ stw r5, 0x24(r30)
/* 801B9BE8 001B6B48 38 00 FF FF */ li r0, -1
/* 801B9BEC 001B6B4C 7F C3 F3 78 */ mr r3, r30
/* 801B9BF0 001B6B50 90 BE 00 28 */ stw r5, 0x28(r30)
/* 801B9BF4 001B6B54 D0 1E 00 68 */ stfs f0, 0x68(r30)
/* 801B9BF8 001B6B58 A0 9F 00 00 */ lhz r4, 0(r31)
/* 801B9BFC 001B6B5C B0 9E 00 6C */ sth r4, 0x6c(r30)
/* 801B9C00 001B6B60 A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13)
/* 801B9C04 001B6B64 B0 9E 00 6E */ sth r4, 0x6e(r30)
/* 801B9C08 001B6B68 A0 8D A3 8C */ lhz r4, kInvalidUniqueId@sda21(r13)
/* 801B9C0C 001B6B6C B0 9E 00 70 */ sth r4, 0x70(r30)
/* 801B9C10 001B6B70 90 1E 00 74 */ stw r0, 0x74(r30)
/* 801B9C14 001B6B74 90 BE 00 78 */ stw r5, 0x78(r30)
/* 801B9C18 001B6B78 90 BE 00 7C */ stw r5, 0x7c(r30)
/* 801B9C1C 001B6B7C 88 1E 00 80 */ lbz r0, 0x80(r30)
/* 801B9C20 001B6B80 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 801B9C24 001B6B84 98 1E 00 80 */ stb r0, 0x80(r30)
/* 801B9C28 001B6B88 4B FF F7 49 */ bl InitComboData__10CAuxWeaponFv
/* 801B9C2C 001B6B8C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801B9C30 001B6B90 7F C3 F3 78 */ mr r3, r30
/* 801B9C34 001B6B94 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801B9C38 001B6B98 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801B9C3C 001B6B9C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 801B9C40 001B6BA0 7C 08 03 A6 */ mtlr r0
/* 801B9C44 001B6BA4 38 21 00 30 */ addi r1, r1, 0x30
/* 801B9C48 001B6BA8 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805AC6D0
lbl_805AC6D0:
# ROM: 0x3F8F70
.float 1.0
.global lbl_805AC6D4
lbl_805AC6D4:
# ROM: 0x3F8F74
.float 0.25
.global lbl_805AC6D8
lbl_805AC6D8:
# ROM: 0x3F8F78
.float 0.75
.global lbl_805AC6DC
lbl_805AC6DC:
# ROM: 0x3F8F7C
.4byte 0x42480000
.global lbl_805AC6E0
lbl_805AC6E0:
# ROM: 0x3F8F80
.float 0.5
.global lbl_805AC6E4
lbl_805AC6E4:
# ROM: 0x3F8F84
.4byte 0
.section .rodata
.balign 8
.global lbl_803D1658
lbl_803D1658:
# ROM: 0x3CE658
.4byte 0x0712072D
.4byte 0x07370732
.4byte 0x07120000
.global lbl_803D1664
lbl_803D1664:
# ROM: 0x3CE664
.4byte lbl_803D1678
.4byte lbl_803D1685
.4byte lbl_803D168E
.4byte lbl_803D1699
.4byte lbl_803D1678
.global lbl_803D1678
lbl_803D1678:
# ROM: 0x3CE678
.asciz "SuperMissile"
.global lbl_803D1685
lbl_803D1685:
# ROM: 0x3CE685
.byte 0x49, 0x63, 0x65
.asciz "Combo"
.global lbl_803D168E
lbl_803D168E:
# ROM: 0x3CE68E
.byte 0x57, 0x61
.asciz "veBuster"
.global lbl_803D1699
lbl_803D1699:
# ROM: 0x3CE699
.byte 0x46, 0x6C, 0x61
.asciz "meThrower"
.byte 0x3F, 0x3F
.asciz "(??)"
.byte 0x4E, 0x46, 0x54
.asciz "SecondarySparks"
.asciz "NFTSecondaryFire"
.byte 0x4E, 0x46, 0x54
.asciz "SecondarySmoke"
.byte 0x4E
.asciz "FTSwooshFire"
.byte 0x4E, 0x46, 0x54
.asciz "SwooshCenter"
.byte 0x4E, 0x46, 0x54
.asciz "MainSmoke"
.byte 0x4E, 0x46
.asciz "TMainFire"
.byte 0x50, 0x6C
.asciz "ayer_FlameThrower"
.byte 0x4D, 0x69
.asciz "ssile"
.byte 0x46, 0x6C
.asciz "ameMuzzle"
.byte 0x42, 0x75
.asciz "sterMuzzle"
.balign 4