prime/asm/Kyoto_CWD/Weapons/CPlasmaProjectile.s

2810 lines
146 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global __dt__17CPlasmaProjectileFv
__dt__17CPlasmaProjectileFv:
/* 80176B2C 00173A8C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80176B30 00173A90 7C 08 02 A6 */ mflr r0
/* 80176B34 00173A94 90 01 00 24 */ stw r0, 0x24(r1)
/* 80176B38 00173A98 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80176B3C 00173A9C 7C 9F 23 78 */ mr r31, r4
/* 80176B40 00173AA0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80176B44 00173AA4 7C 7E 1B 79 */ or. r30, r3, r3
/* 80176B48 00173AA8 41 82 01 B4 */ beq lbl_80176CFC
/* 80176B4C 00173AAC 3C 60 80 3E */ lis r3, lbl_803E3F00@ha
/* 80176B50 00173AB0 34 1E 05 38 */ addic. r0, r30, 0x538
/* 80176B54 00173AB4 38 03 3F 00 */ addi r0, r3, lbl_803E3F00@l
/* 80176B58 00173AB8 90 1E 00 00 */ stw r0, 0(r30)
/* 80176B5C 00173ABC 41 82 00 28 */ beq lbl_80176B84
/* 80176B60 00173AC0 88 1E 05 40 */ lbz r0, 0x540(r30)
/* 80176B64 00173AC4 28 00 00 00 */ cmplwi r0, 0
/* 80176B68 00173AC8 41 82 00 14 */ beq lbl_80176B7C
/* 80176B6C 00173ACC 34 7E 05 38 */ addic. r3, r30, 0x538
/* 80176B70 00173AD0 41 82 00 0C */ beq lbl_80176B7C
/* 80176B74 00173AD4 38 80 00 00 */ li r4, 0
/* 80176B78 00173AD8 48 1C A2 C9 */ bl __dt__6CTokenFv
lbl_80176B7C:
/* 80176B7C 00173ADC 38 00 00 00 */ li r0, 0
/* 80176B80 00173AE0 98 1E 05 40 */ stb r0, 0x540(r30)
lbl_80176B84:
/* 80176B84 00173AE4 34 1E 05 2C */ addic. r0, r30, 0x52c
/* 80176B88 00173AE8 41 82 00 28 */ beq lbl_80176BB0
/* 80176B8C 00173AEC 88 1E 05 34 */ lbz r0, 0x534(r30)
/* 80176B90 00173AF0 28 00 00 00 */ cmplwi r0, 0
/* 80176B94 00173AF4 41 82 00 14 */ beq lbl_80176BA8
/* 80176B98 00173AF8 34 7E 05 2C */ addic. r3, r30, 0x52c
/* 80176B9C 00173AFC 41 82 00 0C */ beq lbl_80176BA8
/* 80176BA0 00173B00 38 80 00 00 */ li r4, 0
/* 80176BA4 00173B04 48 1C A2 9D */ bl __dt__6CTokenFv
lbl_80176BA8:
/* 80176BA8 00173B08 38 00 00 00 */ li r0, 0
/* 80176BAC 00173B0C 98 1E 05 34 */ stb r0, 0x534(r30)
lbl_80176BB0:
/* 80176BB0 00173B10 34 1E 05 20 */ addic. r0, r30, 0x520
/* 80176BB4 00173B14 41 82 00 24 */ beq lbl_80176BD8
/* 80176BB8 00173B18 80 7E 05 20 */ lwz r3, 0x520(r30)
/* 80176BBC 00173B1C 28 03 00 00 */ cmplwi r3, 0
/* 80176BC0 00173B20 41 82 00 18 */ beq lbl_80176BD8
/* 80176BC4 00173B24 81 83 00 00 */ lwz r12, 0(r3)
/* 80176BC8 00173B28 38 80 00 01 */ li r4, 1
/* 80176BCC 00173B2C 81 8C 00 08 */ lwz r12, 8(r12)
/* 80176BD0 00173B30 7D 89 03 A6 */ mtctr r12
/* 80176BD4 00173B34 4E 80 04 21 */ bctrl
lbl_80176BD8:
/* 80176BD8 00173B38 34 1E 05 1C */ addic. r0, r30, 0x51c
/* 80176BDC 00173B3C 41 82 00 24 */ beq lbl_80176C00
/* 80176BE0 00173B40 80 7E 05 1C */ lwz r3, 0x51c(r30)
/* 80176BE4 00173B44 28 03 00 00 */ cmplwi r3, 0
/* 80176BE8 00173B48 41 82 00 18 */ beq lbl_80176C00
/* 80176BEC 00173B4C 81 83 00 00 */ lwz r12, 0(r3)
/* 80176BF0 00173B50 38 80 00 01 */ li r4, 1
/* 80176BF4 00173B54 81 8C 00 08 */ lwz r12, 8(r12)
/* 80176BF8 00173B58 7D 89 03 A6 */ mtctr r12
/* 80176BFC 00173B5C 4E 80 04 21 */ bctrl
lbl_80176C00:
/* 80176C00 00173B60 34 1E 05 18 */ addic. r0, r30, 0x518
/* 80176C04 00173B64 41 82 00 24 */ beq lbl_80176C28
/* 80176C08 00173B68 80 7E 05 18 */ lwz r3, 0x518(r30)
/* 80176C0C 00173B6C 28 03 00 00 */ cmplwi r3, 0
/* 80176C10 00173B70 41 82 00 18 */ beq lbl_80176C28
/* 80176C14 00173B74 81 83 00 00 */ lwz r12, 0(r3)
/* 80176C18 00173B78 38 80 00 01 */ li r4, 1
/* 80176C1C 00173B7C 81 8C 00 08 */ lwz r12, 8(r12)
/* 80176C20 00173B80 7D 89 03 A6 */ mtctr r12
/* 80176C24 00173B84 4E 80 04 21 */ bctrl
lbl_80176C28:
/* 80176C28 00173B88 34 1E 05 0C */ addic. r0, r30, 0x50c
/* 80176C2C 00173B8C 41 82 00 18 */ beq lbl_80176C44
/* 80176C30 00173B90 34 1E 05 0C */ addic. r0, r30, 0x50c
/* 80176C34 00173B94 41 82 00 10 */ beq lbl_80176C44
/* 80176C38 00173B98 38 7E 05 0C */ addi r3, r30, 0x50c
/* 80176C3C 00173B9C 38 80 00 00 */ li r4, 0
/* 80176C40 00173BA0 48 1C A2 01 */ bl __dt__6CTokenFv
lbl_80176C44:
/* 80176C44 00173BA4 34 1E 05 00 */ addic. r0, r30, 0x500
/* 80176C48 00173BA8 41 82 00 18 */ beq lbl_80176C60
/* 80176C4C 00173BAC 34 1E 05 00 */ addic. r0, r30, 0x500
/* 80176C50 00173BB0 41 82 00 10 */ beq lbl_80176C60
/* 80176C54 00173BB4 38 7E 05 00 */ addi r3, r30, 0x500
/* 80176C58 00173BB8 38 80 00 00 */ li r4, 0
/* 80176C5C 00173BBC 48 1C A1 E5 */ bl __dt__6CTokenFv
lbl_80176C60:
/* 80176C60 00173BC0 34 1E 04 F4 */ addic. r0, r30, 0x4f4
/* 80176C64 00173BC4 41 82 00 18 */ beq lbl_80176C7C
/* 80176C68 00173BC8 34 1E 04 F4 */ addic. r0, r30, 0x4f4
/* 80176C6C 00173BCC 41 82 00 10 */ beq lbl_80176C7C
/* 80176C70 00173BD0 38 7E 04 F4 */ addi r3, r30, 0x4f4
/* 80176C74 00173BD4 38 80 00 00 */ li r4, 0
/* 80176C78 00173BD8 48 1C A1 C9 */ bl __dt__6CTokenFv
lbl_80176C7C:
/* 80176C7C 00173BDC 34 1E 04 E8 */ addic. r0, r30, 0x4e8
/* 80176C80 00173BE0 41 82 00 18 */ beq lbl_80176C98
/* 80176C84 00173BE4 34 1E 04 E8 */ addic. r0, r30, 0x4e8
/* 80176C88 00173BE8 41 82 00 10 */ beq lbl_80176C98
/* 80176C8C 00173BEC 38 7E 04 E8 */ addi r3, r30, 0x4e8
/* 80176C90 00173BF0 38 80 00 00 */ li r4, 0
/* 80176C94 00173BF4 48 1C A1 AD */ bl __dt__6CTokenFv
lbl_80176C98:
/* 80176C98 00173BF8 34 1E 04 68 */ addic. r0, r30, 0x468
/* 80176C9C 00173BFC 41 82 00 44 */ beq lbl_80176CE0
/* 80176CA0 00173C00 80 1E 04 6C */ lwz r0, 0x46c(r30)
/* 80176CA4 00173C04 80 7E 04 74 */ lwz r3, 0x474(r30)
/* 80176CA8 00173C08 54 00 08 3C */ slwi r0, r0, 1
/* 80176CAC 00173C0C 7C 03 02 14 */ add r0, r3, r0
/* 80176CB0 00173C10 90 61 00 0C */ stw r3, 0xc(r1)
/* 80176CB4 00173C14 7C 64 1B 78 */ mr r4, r3
/* 80176CB8 00173C18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80176CBC 00173C1C 90 01 00 10 */ stw r0, 0x10(r1)
/* 80176CC0 00173C20 90 61 00 08 */ stw r3, 8(r1)
/* 80176CC4 00173C24 48 00 00 08 */ b lbl_80176CCC
lbl_80176CC8:
/* 80176CC8 00173C28 38 84 00 02 */ addi r4, r4, 2
lbl_80176CCC:
/* 80176CCC 00173C2C 7C 04 00 40 */ cmplw r4, r0
/* 80176CD0 00173C30 40 82 FF F8 */ bne lbl_80176CC8
/* 80176CD4 00173C34 28 03 00 00 */ cmplwi r3, 0
/* 80176CD8 00173C38 41 82 00 08 */ beq lbl_80176CE0
/* 80176CDC 00173C3C 48 19 EC 55 */ bl Free__7CMemoryFPCv
lbl_80176CE0:
/* 80176CE0 00173C40 7F C3 F3 78 */ mr r3, r30
/* 80176CE4 00173C44 38 80 00 00 */ li r4, 0
/* 80176CE8 00173C48 48 00 00 31 */ bl __dt__15CBeamProjectileFv
/* 80176CEC 00173C4C 7F E0 07 35 */ extsh. r0, r31
/* 80176CF0 00173C50 40 81 00 0C */ ble lbl_80176CFC
/* 80176CF4 00173C54 7F C3 F3 78 */ mr r3, r30
/* 80176CF8 00173C58 48 19 EC 39 */ bl Free__7CMemoryFPCv
lbl_80176CFC:
/* 80176CFC 00173C5C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80176D00 00173C60 7F C3 F3 78 */ mr r3, r30
/* 80176D04 00173C64 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80176D08 00173C68 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80176D0C 00173C6C 7C 08 03 A6 */ mtlr r0
/* 80176D10 00173C70 38 21 00 20 */ addi r1, r1, 0x20
/* 80176D14 00173C74 4E 80 00 20 */ blr
.global __dt__15CBeamProjectileFv
__dt__15CBeamProjectileFv:
/* 80176D18 00173C78 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80176D1C 00173C7C 7C 08 02 A6 */ mflr r0
/* 80176D20 00173C80 90 01 00 14 */ stw r0, 0x14(r1)
/* 80176D24 00173C84 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80176D28 00173C88 7C 7F 1B 79 */ or. r31, r3, r3
/* 80176D2C 00173C8C 93 C1 00 08 */ stw r30, 8(r1)
/* 80176D30 00173C90 7C 9E 23 78 */ mr r30, r4
/* 80176D34 00173C94 41 82 00 E4 */ beq lbl_80176E18
/* 80176D38 00173C98 3C 60 80 3E */ lis r3, lbl_803E4648@ha
/* 80176D3C 00173C9C 34 1F 04 00 */ addic. r0, r31, 0x400
/* 80176D40 00173CA0 38 03 46 48 */ addi r0, r3, lbl_803E4648@l
/* 80176D44 00173CA4 90 1F 00 00 */ stw r0, 0(r31)
/* 80176D48 00173CA8 41 82 00 58 */ beq lbl_80176DA0
/* 80176D4C 00173CAC 80 BF 04 00 */ lwz r5, 0x400(r31)
/* 80176D50 00173CB0 38 60 00 00 */ li r3, 0
/* 80176D54 00173CB4 2C 05 00 00 */ cmpwi r5, 0
/* 80176D58 00173CB8 40 81 00 40 */ ble lbl_80176D98
/* 80176D5C 00173CBC 2C 05 00 08 */ cmpwi r5, 8
/* 80176D60 00173CC0 38 85 FF F8 */ addi r4, r5, -8
/* 80176D64 00173CC4 40 81 00 20 */ ble lbl_80176D84
/* 80176D68 00173CC8 38 04 00 07 */ addi r0, r4, 7
/* 80176D6C 00173CCC 54 00 E8 FE */ srwi r0, r0, 3
/* 80176D70 00173CD0 7C 09 03 A6 */ mtctr r0
/* 80176D74 00173CD4 2C 04 00 00 */ cmpwi r4, 0
/* 80176D78 00173CD8 40 81 00 0C */ ble lbl_80176D84
lbl_80176D7C:
/* 80176D7C 00173CDC 38 63 00 08 */ addi r3, r3, 8
/* 80176D80 00173CE0 42 00 FF FC */ bdnz lbl_80176D7C
lbl_80176D84:
/* 80176D84 00173CE4 7C 03 28 50 */ subf r0, r3, r5
/* 80176D88 00173CE8 7C 09 03 A6 */ mtctr r0
/* 80176D8C 00173CEC 7C 03 28 00 */ cmpw r3, r5
/* 80176D90 00173CF0 40 80 00 08 */ bge lbl_80176D98
lbl_80176D94:
/* 80176D94 00173CF4 42 00 00 00 */ bdnz lbl_80176D94
lbl_80176D98:
/* 80176D98 00173CF8 38 00 00 00 */ li r0, 0
/* 80176D9C 00173CFC 90 1F 04 00 */ stw r0, 0x400(r31)
lbl_80176DA0:
/* 80176DA0 00173D00 34 1F 03 84 */ addic. r0, r31, 0x384
/* 80176DA4 00173D04 41 82 00 58 */ beq lbl_80176DFC
/* 80176DA8 00173D08 80 BF 03 84 */ lwz r5, 0x384(r31)
/* 80176DAC 00173D0C 38 60 00 00 */ li r3, 0
/* 80176DB0 00173D10 2C 05 00 00 */ cmpwi r5, 0
/* 80176DB4 00173D14 40 81 00 40 */ ble lbl_80176DF4
/* 80176DB8 00173D18 2C 05 00 08 */ cmpwi r5, 8
/* 80176DBC 00173D1C 38 85 FF F8 */ addi r4, r5, -8
/* 80176DC0 00173D20 40 81 00 20 */ ble lbl_80176DE0
/* 80176DC4 00173D24 38 04 00 07 */ addi r0, r4, 7
/* 80176DC8 00173D28 54 00 E8 FE */ srwi r0, r0, 3
/* 80176DCC 00173D2C 7C 09 03 A6 */ mtctr r0
/* 80176DD0 00173D30 2C 04 00 00 */ cmpwi r4, 0
/* 80176DD4 00173D34 40 81 00 0C */ ble lbl_80176DE0
lbl_80176DD8:
/* 80176DD8 00173D38 38 63 00 08 */ addi r3, r3, 8
/* 80176DDC 00173D3C 42 00 FF FC */ bdnz lbl_80176DD8
lbl_80176DE0:
/* 80176DE0 00173D40 7C 03 28 50 */ subf r0, r3, r5
/* 80176DE4 00173D44 7C 09 03 A6 */ mtctr r0
/* 80176DE8 00173D48 7C 03 28 00 */ cmpw r3, r5
/* 80176DEC 00173D4C 40 80 00 08 */ bge lbl_80176DF4
lbl_80176DF0:
/* 80176DF0 00173D50 42 00 00 00 */ bdnz lbl_80176DF0
lbl_80176DF4:
/* 80176DF4 00173D54 38 00 00 00 */ li r0, 0
/* 80176DF8 00173D58 90 1F 03 84 */ stw r0, 0x384(r31)
lbl_80176DFC:
/* 80176DFC 00173D5C 7F E3 FB 78 */ mr r3, r31
/* 80176E00 00173D60 38 80 00 00 */ li r4, 0
/* 80176E04 00173D64 4B EC 05 FD */ bl __dt__15CGameProjectileFv
/* 80176E08 00173D68 7F C0 07 35 */ extsh. r0, r30
/* 80176E0C 00173D6C 40 81 00 0C */ ble lbl_80176E18
/* 80176E10 00173D70 7F E3 FB 78 */ mr r3, r31
/* 80176E14 00173D74 48 19 EB 1D */ bl Free__7CMemoryFPCv
lbl_80176E18:
/* 80176E18 00173D78 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80176E1C 00173D7C 7F E3 FB 78 */ mr r3, r31
/* 80176E20 00173D80 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80176E24 00173D84 83 C1 00 08 */ lwz r30, 8(r1)
/* 80176E28 00173D88 7C 08 03 A6 */ mtlr r0
/* 80176E2C 00173D8C 38 21 00 10 */ addi r1, r1, 0x10
/* 80176E30 00173D90 4E 80 00 20 */ blr
.global sub_80176e34
sub_80176e34:
/* 80176E34 00173D94 C0 02 A1 C0 */ lfs f0, lbl_805ABEE0@sda21(r2)
/* 80176E38 00173D98 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80176E3C 00173D9C 40 81 00 50 */ ble lbl_80176E8C
/* 80176E40 00173DA0 80 03 04 78 */ lwz r0, 0x478(r3)
/* 80176E44 00173DA4 60 00 00 08 */ ori r0, r0, 8
/* 80176E48 00173DA8 90 03 04 78 */ stw r0, 0x478(r3)
/* 80176E4C 00173DAC D0 23 04 E0 */ stfs f1, 0x4e0(r3)
/* 80176E50 00173DB0 80 A4 00 00 */ lwz r5, 0(r4)
/* 80176E54 00173DB4 80 04 00 04 */ lwz r0, 4(r4)
/* 80176E58 00173DB8 90 A3 04 98 */ stw r5, 0x498(r3)
/* 80176E5C 00173DBC 90 03 04 9C */ stw r0, 0x49c(r3)
/* 80176E60 00173DC0 C0 04 00 08 */ lfs f0, 8(r4)
/* 80176E64 00173DC4 D0 03 04 A0 */ stfs f0, 0x4a0(r3)
/* 80176E68 00173DC8 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80176E6C 00173DCC D0 03 04 A4 */ stfs f0, 0x4a4(r3)
/* 80176E70 00173DD0 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 80176E74 00173DD4 D0 03 04 A8 */ stfs f0, 0x4a8(r3)
/* 80176E78 00173DD8 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 80176E7C 00173DDC D0 03 04 AC */ stfs f0, 0x4ac(r3)
/* 80176E80 00173DE0 88 04 00 18 */ lbz r0, 0x18(r4)
/* 80176E84 00173DE4 98 03 04 B0 */ stb r0, 0x4b0(r3)
/* 80176E88 00173DE8 4E 80 00 20 */ blr
lbl_80176E8C:
/* 80176E8C 00173DEC 80 03 04 78 */ lwz r0, 0x478(r3)
/* 80176E90 00173DF0 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80176E94 00173DF4 90 03 04 78 */ stw r0, 0x478(r3)
/* 80176E98 00173DF8 4E 80 00 20 */ blr
.global UpdateLights__17CPlasmaProjectileFffR13CStateManager
UpdateLights__17CPlasmaProjectileFffR13CStateManager:
/* 80176E9C 00173DFC 94 21 FF 00 */ stwu r1, -0x100(r1)
/* 80176EA0 00173E00 7C 08 02 A6 */ mflr r0
/* 80176EA4 00173E04 90 01 01 04 */ stw r0, 0x104(r1)
/* 80176EA8 00173E08 DB E1 00 F0 */ stfd f31, 0xf0(r1)
/* 80176EAC 00173E0C F3 E1 00 F8 */ psq_st f31, 248(r1), 0, qr0
/* 80176EB0 00173E10 DB C1 00 E0 */ stfd f30, 0xe0(r1)
/* 80176EB4 00173E14 F3 C1 00 E8 */ psq_st f30, 232(r1), 0, qr0
/* 80176EB8 00173E18 93 E1 00 DC */ stw r31, 0xdc(r1)
/* 80176EBC 00173E1C 93 C1 00 D8 */ stw r30, 0xd8(r1)
/* 80176EC0 00173E20 93 A1 00 D4 */ stw r29, 0xd4(r1)
/* 80176EC4 00173E24 93 81 00 D0 */ stw r28, 0xd0(r1)
/* 80176EC8 00173E28 7C 7E 1B 78 */ mr r30, r3
/* 80176ECC 00173E2C FF E0 08 90 */ fmr f31, f1
/* 80176ED0 00173E30 80 63 05 20 */ lwz r3, 0x520(r3)
/* 80176ED4 00173E34 FF C0 10 90 */ fmr f30, f2
/* 80176ED8 00173E38 7C 9F 23 78 */ mr r31, r4
/* 80176EDC 00173E3C 28 03 00 00 */ cmplwi r3, 0
/* 80176EE0 00173E40 41 82 01 4C */ beq lbl_8017702C
/* 80176EE4 00173E44 81 83 00 00 */ lwz r12, 0(r3)
/* 80176EE8 00173E48 81 8C 00 64 */ lwz r12, 0x64(r12)
/* 80176EEC 00173E4C 7D 89 03 A6 */ mtctr r12
/* 80176EF0 00173E50 4E 80 04 21 */ bctrl
/* 80176EF4 00173E54 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80176EF8 00173E58 41 82 01 34 */ beq lbl_8017702C
/* 80176EFC 00173E5C 80 7E 05 20 */ lwz r3, 0x520(r30)
/* 80176F00 00173E60 FC 20 F0 90 */ fmr f1, f30
/* 80176F04 00173E64 81 83 00 00 */ lwz r12, 0(r3)
/* 80176F08 00173E68 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80176F0C 00173E6C 7D 89 03 A6 */ mtctr r12
/* 80176F10 00173E70 4E 80 04 21 */ bctrl
/* 80176F14 00173E74 80 9E 05 20 */ lwz r4, 0x520(r30)
/* 80176F18 00173E78 38 61 00 30 */ addi r3, r1, 0x30
/* 80176F1C 00173E7C 81 84 00 00 */ lwz r12, 0(r4)
/* 80176F20 00173E80 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 80176F24 00173E84 7D 89 03 A6 */ mtctr r12
/* 80176F28 00173E88 4E 80 04 21 */ bctrl
/* 80176F2C 00173E8C 38 61 00 80 */ addi r3, r1, 0x80
/* 80176F30 00173E90 38 81 00 30 */ addi r4, r1, 0x30
/* 80176F34 00173E94 4B EC 46 3D */ bl __ct__6CLightFCR6CLight
/* 80176F38 00173E98 FC 20 F8 90 */ fmr f1, f31
/* 80176F3C 00173E9C 80 81 00 98 */ lwz r4, 0x98(r1)
/* 80176F40 00173EA0 38 60 00 00 */ li r3, 0
/* 80176F44 00173EA4 48 1E C2 D1 */ bl Lerp__6CColorFUiUif
/* 80176F48 00173EA8 90 61 00 0C */ stw r3, 0xc(r1)
/* 80176F4C 00173EAC 38 61 00 80 */ addi r3, r1, 0x80
/* 80176F50 00173EB0 38 81 00 0C */ addi r4, r1, 0xc
/* 80176F54 00173EB4 48 18 F4 09 */ bl SetColor__6CLightFRC6CColor
/* 80176F58 00173EB8 C0 2D A4 38 */ lfs f1, lbl_805A8FF8@sda21(r13)
/* 80176F5C 00173EBC C0 1E 03 04 */ lfs f0, 0x304(r30)
/* 80176F60 00173EC0 C3 C2 A1 C0 */ lfs f30, lbl_805ABEE0@sda21(r2)
/* 80176F64 00173EC4 EF E1 00 32 */ fmuls f31, f1, f0
/* 80176F68 00173EC8 83 9E 04 74 */ lwz r28, 0x474(r30)
/* 80176F6C 00173ECC 48 00 00 A8 */ b lbl_80177014
lbl_80176F70:
/* 80176F70 00173ED0 A0 1C 00 00 */ lhz r0, 0(r28)
/* 80176F74 00173ED4 7F E3 FB 78 */ mr r3, r31
/* 80176F78 00173ED8 38 81 00 08 */ addi r4, r1, 8
/* 80176F7C 00173EDC B0 01 00 08 */ sth r0, 8(r1)
/* 80176F80 00173EE0 4B ED 55 F5 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80176F84 00173EE4 7C 64 1B 78 */ mr r4, r3
/* 80176F88 00173EE8 38 61 00 10 */ addi r3, r1, 0x10
/* 80176F8C 00173EEC 4B F3 6A F9 */ bl "__ct__24TCastToPtr<10CGameLight>FP7CEntity"
/* 80176F90 00173EF0 83 A3 00 04 */ lwz r29, 4(r3)
/* 80176F94 00173EF4 28 1D 00 00 */ cmplwi r29, 0
/* 80176F98 00173EF8 41 82 00 74 */ beq lbl_8017700C
/* 80176F9C 00173EFC C0 02 A1 C0 */ lfs f0, lbl_805ABEE0@sda21(r2)
/* 80176FA0 00173F00 3C 60 80 5A */ lis r3, skIdentity4f@ha
/* 80176FA4 00173F04 38 83 66 70 */ addi r4, r3, skIdentity4f@l
/* 80176FA8 00173F08 D3 C1 00 28 */ stfs f30, 0x28(r1)
/* 80176FAC 00173F0C 38 7D 00 34 */ addi r3, r29, 0x34
/* 80176FB0 00173F10 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80176FB4 00173F14 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80176FB8 00173F18 48 19 BB 89 */ bl __as__12CTransform4fFRC12CTransform4f
/* 80176FBC 00173F1C 88 1D 00 E4 */ lbz r0, 0xe4(r29)
/* 80176FC0 00173F20 38 C0 00 01 */ li r6, 1
/* 80176FC4 00173F24 50 C0 26 F6 */ rlwimi r0, r6, 4, 0x1b, 0x1b
/* 80176FC8 00173F28 38 61 00 18 */ addi r3, r1, 0x18
/* 80176FCC 00173F2C 98 1D 00 E4 */ stb r0, 0xe4(r29)
/* 80176FD0 00173F30 38 9E 03 24 */ addi r4, r30, 0x324
/* 80176FD4 00173F34 38 A1 00 24 */ addi r5, r1, 0x24
/* 80176FD8 00173F38 88 1D 00 E4 */ lbz r0, 0xe4(r29)
/* 80176FDC 00173F3C 50 C0 1F 38 */ rlwimi r0, r6, 3, 0x1c, 0x1c
/* 80176FE0 00173F40 98 1D 00 E4 */ stb r0, 0xe4(r29)
/* 80176FE4 00173F44 88 1D 00 E4 */ lbz r0, 0xe4(r29)
/* 80176FE8 00173F48 50 C0 17 7A */ rlwimi r0, r6, 2, 0x1d, 0x1d
/* 80176FEC 00173F4C 98 1D 00 E4 */ stb r0, 0xe4(r29)
/* 80176FF0 00173F50 48 19 BA F9 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 80176FF4 00173F54 7F A3 EB 78 */ mr r3, r29
/* 80176FF8 00173F58 38 81 00 18 */ addi r4, r1, 0x18
/* 80176FFC 00173F5C 4B ED BE 91 */ bl SetTranslation__6CActorFRC9CVector3f
/* 80177000 00173F60 7F A3 EB 78 */ mr r3, r29
/* 80177004 00173F64 38 81 00 80 */ addi r4, r1, 0x80
/* 80177008 00173F68 4B F3 E7 3D */ bl SetLight__10CGameLightFRC6CLight
lbl_8017700C:
/* 8017700C 00173F6C EF DE F8 2A */ fadds f30, f30, f31
/* 80177010 00173F70 3B 9C 00 02 */ addi r28, r28, 2
lbl_80177014:
/* 80177014 00173F74 80 1E 04 6C */ lwz r0, 0x46c(r30)
/* 80177018 00173F78 80 7E 04 74 */ lwz r3, 0x474(r30)
/* 8017701C 00173F7C 54 00 08 3C */ slwi r0, r0, 1
/* 80177020 00173F80 7C 03 02 14 */ add r0, r3, r0
/* 80177024 00173F84 7C 1C 00 40 */ cmplw r28, r0
/* 80177028 00173F88 40 82 FF 48 */ bne lbl_80176F70
lbl_8017702C:
/* 8017702C 00173F8C E3 E1 00 F8 */ psq_l f31, 248(r1), 0, qr0
/* 80177030 00173F90 CB E1 00 F0 */ lfd f31, 0xf0(r1)
/* 80177034 00173F94 E3 C1 00 E8 */ psq_l f30, 232(r1), 0, qr0
/* 80177038 00173F98 CB C1 00 E0 */ lfd f30, 0xe0(r1)
/* 8017703C 00173F9C 83 E1 00 DC */ lwz r31, 0xdc(r1)
/* 80177040 00173FA0 83 C1 00 D8 */ lwz r30, 0xd8(r1)
/* 80177044 00173FA4 83 A1 00 D4 */ lwz r29, 0xd4(r1)
/* 80177048 00173FA8 80 01 01 04 */ lwz r0, 0x104(r1)
/* 8017704C 00173FAC 83 81 00 D0 */ lwz r28, 0xd0(r1)
/* 80177050 00173FB0 7C 08 03 A6 */ mtlr r0
/* 80177054 00173FB4 38 21 01 00 */ addi r1, r1, 0x100
/* 80177058 00173FB8 4E 80 00 20 */ blr
.global DeletePlasmaLights__17CPlasmaProjectileFR13CStateManager
DeletePlasmaLights__17CPlasmaProjectileFR13CStateManager:
/* 8017705C 00173FBC 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80177060 00173FC0 7C 08 02 A6 */ mflr r0
/* 80177064 00173FC4 90 01 00 44 */ stw r0, 0x44(r1)
/* 80177068 00173FC8 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8017706C 00173FCC 93 C1 00 38 */ stw r30, 0x38(r1)
/* 80177070 00173FD0 7C 9E 23 78 */ mr r30, r4
/* 80177074 00173FD4 93 A1 00 34 */ stw r29, 0x34(r1)
/* 80177078 00173FD8 7C 7D 1B 78 */ mr r29, r3
/* 8017707C 00173FDC 83 E3 04 74 */ lwz r31, 0x474(r3)
/* 80177080 00173FE0 48 00 00 28 */ b lbl_801770A8
lbl_80177084:
/* 80177084 00173FE4 A0 7F 00 00 */ lhz r3, 0(r31)
/* 80177088 00173FE8 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 8017708C 00173FEC 7C 03 00 40 */ cmplw r3, r0
/* 80177090 00173FF0 41 82 00 14 */ beq lbl_801770A4
/* 80177094 00173FF4 B0 61 00 08 */ sth r3, 8(r1)
/* 80177098 00173FF8 7F C3 F3 78 */ mr r3, r30
/* 8017709C 00173FFC 38 81 00 08 */ addi r4, r1, 8
/* 801770A0 00174000 4B ED 51 CD */ bl FreeScriptObject__13CStateManagerF9TUniqueId
lbl_801770A4:
/* 801770A4 00174004 3B FF 00 02 */ addi r31, r31, 2
lbl_801770A8:
/* 801770A8 00174008 80 1D 04 6C */ lwz r0, 0x46c(r29)
/* 801770AC 0017400C 80 7D 04 74 */ lwz r3, 0x474(r29)
/* 801770B0 00174010 54 00 08 3C */ slwi r0, r0, 1
/* 801770B4 00174014 7C 03 02 14 */ add r0, r3, r0
/* 801770B8 00174018 7C 1F 00 40 */ cmplw r31, r0
/* 801770BC 0017401C 40 82 FF C8 */ bne lbl_80177084
/* 801770C0 00174020 38 00 00 00 */ li r0, 0
/* 801770C4 00174024 38 7D 04 68 */ addi r3, r29, 0x468
/* 801770C8 00174028 90 01 00 20 */ stw r0, 0x20(r1)
/* 801770CC 0017402C 38 81 00 1C */ addi r4, r1, 0x1c
/* 801770D0 00174030 90 01 00 24 */ stw r0, 0x24(r1)
/* 801770D4 00174034 90 01 00 28 */ stw r0, 0x28(r1)
/* 801770D8 00174038 4B EE 63 D9 */ bl sub_8005d4b0
/* 801770DC 0017403C 80 01 00 20 */ lwz r0, 0x20(r1)
/* 801770E0 00174040 80 61 00 28 */ lwz r3, 0x28(r1)
/* 801770E4 00174044 54 00 08 3C */ slwi r0, r0, 1
/* 801770E8 00174048 7C 03 02 14 */ add r0, r3, r0
/* 801770EC 0017404C 90 61 00 10 */ stw r3, 0x10(r1)
/* 801770F0 00174050 7C 64 1B 78 */ mr r4, r3
/* 801770F4 00174054 90 01 00 18 */ stw r0, 0x18(r1)
/* 801770F8 00174058 90 01 00 14 */ stw r0, 0x14(r1)
/* 801770FC 0017405C 90 61 00 0C */ stw r3, 0xc(r1)
/* 80177100 00174060 48 00 00 08 */ b lbl_80177108
lbl_80177104:
/* 80177104 00174064 38 84 00 02 */ addi r4, r4, 2
lbl_80177108:
/* 80177108 00174068 7C 04 00 40 */ cmplw r4, r0
/* 8017710C 0017406C 40 82 FF F8 */ bne lbl_80177104
/* 80177110 00174070 28 03 00 00 */ cmplwi r3, 0
/* 80177114 00174074 41 82 00 08 */ beq lbl_8017711C
/* 80177118 00174078 48 19 E8 19 */ bl Free__7CMemoryFPCv
lbl_8017711C:
/* 8017711C 0017407C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80177120 00174080 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 80177124 00174084 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 80177128 00174088 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 8017712C 0017408C 7C 08 03 A6 */ mtlr r0
/* 80177130 00174090 38 21 00 40 */ addi r1, r1, 0x40
/* 80177134 00174094 4E 80 00 20 */ blr
.global CreatePlasmaLights__17CPlasmaProjectileFUiRC6CLightR13CStateManager
CreatePlasmaLights__17CPlasmaProjectileFUiRC6CLightR13CStateManager:
/* 80177138 00174098 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8017713C 0017409C 7C 08 02 A6 */ mflr r0
/* 80177140 001740A0 90 01 00 64 */ stw r0, 0x64(r1)
/* 80177144 001740A4 BF 01 00 40 */ stmw r24, 0x40(r1)
/* 80177148 001740A8 7C DD 33 78 */ mr r29, r6
/* 8017714C 001740AC 7C 9B 23 78 */ mr r27, r4
/* 80177150 001740B0 7C 7A 1B 78 */ mr r26, r3
/* 80177154 001740B4 7C BC 2B 78 */ mr r28, r5
/* 80177158 001740B8 7F A4 EB 78 */ mr r4, r29
/* 8017715C 001740BC 4B FF FF 01 */ bl DeletePlasmaLights__17CPlasmaProjectileFR13CStateManager
/* 80177160 001740C0 38 7A 04 68 */ addi r3, r26, 0x468
/* 80177164 001740C4 38 80 00 03 */ li r4, 3
/* 80177168 001740C8 4B E9 52 A1 */ bl "reserve__Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Fi"
/* 8017716C 001740CC 3C 60 80 3D */ lis r3, lbl_803D0668@ha
/* 80177170 001740D0 3B C0 00 00 */ li r30, 0
/* 80177174 001740D4 3B E3 06 68 */ addi r31, r3, lbl_803D0668@l
lbl_80177178:
/* 80177178 001740D8 38 00 00 00 */ li r0, 0
/* 8017717C 001740DC 38 6D A9 18 */ addi r3, r13, "_EmptyString__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"@sda21
/* 80177180 001740E0 90 61 00 2C */ stw r3, 0x2c(r1)
/* 80177184 001740E4 7F A4 EB 78 */ mr r4, r29
/* 80177188 001740E8 38 61 00 1C */ addi r3, r1, 0x1c
/* 8017718C 001740EC 90 01 00 30 */ stw r0, 0x30(r1)
/* 80177190 001740F0 90 01 00 34 */ stw r0, 0x34(r1)
/* 80177194 001740F4 4B ED 5F 49 */ bl AllocateUniqueId__13CStateManagerFv
/* 80177198 001740F8 A0 01 00 1C */ lhz r0, 0x1c(r1)
/* 8017719C 001740FC 7F E4 FB 78 */ mr r4, r31
/* 801771A0 00174100 38 60 01 48 */ li r3, 0x148
/* 801771A4 00174104 38 A0 00 00 */ li r5, 0
/* 801771A8 00174108 B0 01 00 20 */ sth r0, 0x20(r1)
/* 801771AC 0017410C 48 19 E6 C1 */ bl __nw__FUlPCcPCc
/* 801771B0 00174110 7C 79 1B 79 */ or. r25, r3, r3
/* 801771B4 00174114 41 82 00 6C */ beq lbl_80177220
/* 801771B8 00174118 A0 BA 00 08 */ lhz r5, 8(r26)
/* 801771BC 0017411C 7F 44 D3 78 */ mr r4, r26
/* 801771C0 00174120 38 61 00 24 */ addi r3, r1, 0x24
/* 801771C4 00174124 B0 A1 00 18 */ sth r5, 0x18(r1)
/* 801771C8 00174128 88 1A 00 30 */ lbz r0, 0x30(r26)
/* 801771CC 0017412C B0 A1 00 14 */ sth r5, 0x14(r1)
/* 801771D0 00174130 54 18 CF FE */ rlwinm r24, r0, 0x19, 0x1f, 0x1f
/* 801771D4 00174134 4B ED 9E B1 */ bl GetAreaId__7CEntityCFv
/* 801771D8 00174138 80 A1 00 24 */ lwz r5, 0x24(r1)
/* 801771DC 0017413C 38 00 00 00 */ li r0, 0
/* 801771E0 00174140 A0 81 00 20 */ lhz r4, 0x20(r1)
/* 801771E4 00174144 7F 23 CB 78 */ mr r3, r25
/* 801771E8 00174148 90 A1 00 28 */ stw r5, 0x28(r1)
/* 801771EC 0017414C 7F 06 C3 78 */ mr r6, r24
/* 801771F0 00174150 C0 22 A1 C0 */ lfs f1, lbl_805ABEE0@sda21(r2)
/* 801771F4 00174154 7F 8A E3 78 */ mr r10, r28
/* 801771F8 00174158 B0 81 00 10 */ sth r4, 0x10(r1)
/* 801771FC 0017415C 38 81 00 10 */ addi r4, r1, 0x10
/* 80177200 00174160 38 A1 00 28 */ addi r5, r1, 0x28
/* 80177204 00174164 38 E1 00 2C */ addi r7, r1, 0x2c
/* 80177208 00174168 93 61 00 08 */ stw r27, 8(r1)
/* 8017720C 0017416C 39 1A 00 34 */ addi r8, r26, 0x34
/* 80177210 00174170 39 21 00 18 */ addi r9, r1, 0x18
/* 80177214 00174174 90 01 00 0C */ stw r0, 0xc(r1)
/* 80177218 00174178 4B F3 E6 0D */ bl "__ct__10CGameLightF9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC12CTransform4f9TUniqueIdRC6CLightUiUif"
/* 8017721C 0017417C 7C 79 1B 78 */ mr r25, r3
lbl_80177220:
/* 80177220 00174180 7F A3 EB 78 */ mr r3, r29
/* 80177224 00174184 7F 24 CB 78 */ mr r4, r25
/* 80177228 00174188 4B ED 5A CD */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence
/* 8017722C 0017418C 80 1A 04 6C */ lwz r0, 0x46c(r26)
/* 80177230 00174190 80 BA 04 70 */ lwz r5, 0x470(r26)
/* 80177234 00174194 7C 00 28 00 */ cmpw r0, r5
/* 80177238 00174198 41 80 00 1C */ blt lbl_80177254
/* 8017723C 0017419C 2C 05 00 00 */ cmpwi r5, 0
/* 80177240 001741A0 38 7A 04 68 */ addi r3, r26, 0x468
/* 80177244 001741A4 38 80 00 04 */ li r4, 4
/* 80177248 001741A8 41 82 00 08 */ beq lbl_80177250
/* 8017724C 001741AC 54 A4 08 3C */ slwi r4, r5, 1
lbl_80177250:
/* 80177250 001741B0 4B E9 51 B9 */ bl "reserve__Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Fi"
lbl_80177254:
/* 80177254 001741B4 80 1A 04 6C */ lwz r0, 0x46c(r26)
/* 80177258 001741B8 80 7A 04 74 */ lwz r3, 0x474(r26)
/* 8017725C 001741BC 54 00 08 3C */ slwi r0, r0, 1
/* 80177260 001741C0 7C 63 02 15 */ add. r3, r3, r0
/* 80177264 001741C4 41 82 00 0C */ beq lbl_80177270
/* 80177268 001741C8 A0 01 00 20 */ lhz r0, 0x20(r1)
/* 8017726C 001741CC B0 03 00 00 */ sth r0, 0(r3)
lbl_80177270:
/* 80177270 001741D0 80 9A 04 6C */ lwz r4, 0x46c(r26)
/* 80177274 001741D4 38 61 00 2C */ addi r3, r1, 0x2c
/* 80177278 001741D8 38 04 00 01 */ addi r0, r4, 1
/* 8017727C 001741DC 90 1A 04 6C */ stw r0, 0x46c(r26)
/* 80177280 001741E0 48 1C 68 61 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 80177284 001741E4 3B DE 00 01 */ addi r30, r30, 1
/* 80177288 001741E8 2C 1E 00 03 */ cmpwi r30, 3
/* 8017728C 001741EC 41 80 FE EC */ blt lbl_80177178
/* 80177290 001741F0 BB 01 00 40 */ lmw r24, 0x40(r1)
/* 80177294 001741F4 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80177298 001741F8 7C 08 03 A6 */ mtlr r0
/* 8017729C 001741FC 38 21 00 60 */ addi r1, r1, 0x60
/* 801772A0 00174200 4E 80 00 20 */ blr
.global SetLightsActive__17CPlasmaProjectileFbR13CStateManager
SetLightsActive__17CPlasmaProjectileFbR13CStateManager:
/* 801772A4 00174204 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801772A8 00174208 7C 08 02 A6 */ mflr r0
/* 801772AC 0017420C 90 01 00 34 */ stw r0, 0x34(r1)
/* 801772B0 00174210 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801772B4 00174214 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801772B8 00174218 54 9E 06 3E */ clrlwi r30, r4, 0x18
/* 801772BC 0017421C 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801772C0 00174220 7C BD 2B 78 */ mr r29, r5
/* 801772C4 00174224 93 81 00 20 */ stw r28, 0x20(r1)
/* 801772C8 00174228 7C 7C 1B 78 */ mr r28, r3
/* 801772CC 0017422C 83 E3 04 74 */ lwz r31, 0x474(r3)
/* 801772D0 00174230 48 00 00 54 */ b lbl_80177324
lbl_801772D4:
/* 801772D4 00174234 A0 7F 00 00 */ lhz r3, 0(r31)
/* 801772D8 00174238 A0 0D A3 8C */ lhz r0, lbl_805A8F4C@sda21(r13)
/* 801772DC 0017423C 7C 03 00 40 */ cmplw r3, r0
/* 801772E0 00174240 41 82 00 40 */ beq lbl_80177320
/* 801772E4 00174244 B0 61 00 08 */ sth r3, 8(r1)
/* 801772E8 00174248 7F A3 EB 78 */ mr r3, r29
/* 801772EC 0017424C 38 81 00 08 */ addi r4, r1, 8
/* 801772F0 00174250 4B ED 52 85 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801772F4 00174254 7C 64 1B 78 */ mr r4, r3
/* 801772F8 00174258 38 61 00 0C */ addi r3, r1, 0xc
/* 801772FC 0017425C 4B F3 67 89 */ bl "__ct__24TCastToPtr<10CGameLight>FP7CEntity"
/* 80177300 00174260 80 63 00 04 */ lwz r3, 4(r3)
/* 80177304 00174264 28 03 00 00 */ cmplwi r3, 0
/* 80177308 00174268 41 82 00 18 */ beq lbl_80177320
/* 8017730C 0017426C 81 83 00 00 */ lwz r12, 0(r3)
/* 80177310 00174270 7F C4 F3 78 */ mr r4, r30
/* 80177314 00174274 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80177318 00174278 7D 89 03 A6 */ mtctr r12
/* 8017731C 0017427C 4E 80 04 21 */ bctrl
lbl_80177320:
/* 80177320 00174280 3B FF 00 02 */ addi r31, r31, 2
lbl_80177324:
/* 80177324 00174284 80 1C 04 6C */ lwz r0, 0x46c(r28)
/* 80177328 00174288 80 7C 04 74 */ lwz r3, 0x474(r28)
/* 8017732C 0017428C 54 00 08 3C */ slwi r0, r0, 1
/* 80177330 00174290 7C 03 02 14 */ add r0, r3, r0
/* 80177334 00174294 7C 1F 00 40 */ cmplw r31, r0
/* 80177338 00174298 40 82 FF 9C */ bne lbl_801772D4
/* 8017733C 0017429C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80177340 001742A0 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80177344 001742A4 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80177348 001742A8 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8017734C 001742AC 83 81 00 20 */ lwz r28, 0x20(r1)
/* 80177350 001742B0 7C 08 03 A6 */ mtlr r0
/* 80177354 001742B4 38 21 00 30 */ addi r1, r1, 0x30
/* 80177358 001742B8 4E 80 00 20 */ blr
.global AcceptScriptMsg__17CPlasmaProjectileF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__17CPlasmaProjectileF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 8017735C 001742BC 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 80177360 001742C0 7C 08 02 A6 */ mflr r0
/* 80177364 001742C4 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 80177368 001742C8 BF 41 00 88 */ stmw r26, 0x88(r1)
/* 8017736C 001742CC 7C 9D 23 78 */ mr r29, r4
/* 80177370 001742D0 2C 1D 00 22 */ cmpwi r29, 0x22
/* 80177374 001742D4 7C 7C 1B 78 */ mr r28, r3
/* 80177378 001742D8 7C BE 2B 78 */ mr r30, r5
/* 8017737C 001742DC 7C DF 33 78 */ mr r31, r6
/* 80177380 001742E0 41 82 01 90 */ beq lbl_80177510
/* 80177384 001742E4 40 80 01 D8 */ bge lbl_8017755C
/* 80177388 001742E8 2C 1D 00 21 */ cmpwi r29, 0x21
/* 8017738C 001742EC 40 80 00 08 */ bge lbl_80177394
/* 80177390 001742F0 48 00 01 CC */ b lbl_8017755C
lbl_80177394:
/* 80177394 001742F4 88 1C 00 E6 */ lbz r0, 0xe6(r28)
/* 80177398 001742F8 38 60 00 02 */ li r3, 2
/* 8017739C 001742FC 50 60 1E F8 */ rlwimi r0, r3, 3, 0x1b, 0x1c
/* 801773A0 00174300 38 61 00 2C */ addi r3, r1, 0x2c
/* 801773A4 00174304 98 1C 00 E6 */ stb r0, 0xe6(r28)
/* 801773A8 00174308 38 9C 01 70 */ addi r4, r28, 0x170
/* 801773AC 0017430C 4B EC 11 D5 */ bl GetWeaponDescription__17CProjectileWeaponCFv
/* 801773B0 00174310 80 61 00 34 */ lwz r3, 0x34(r1)
/* 801773B4 00174314 88 03 00 40 */ lbz r0, 0x40(r3)
/* 801773B8 00174318 28 00 00 00 */ cmplwi r0, 0
/* 801773BC 0017431C 41 82 00 88 */ beq lbl_80177444
/* 801773C0 00174320 3C 60 80 3D */ lis r3, lbl_803D0668@ha
/* 801773C4 00174324 3B 40 00 00 */ li r26, 0
/* 801773C8 00174328 38 83 06 68 */ addi r4, r3, lbl_803D0668@l
/* 801773CC 0017432C 38 A0 00 00 */ li r5, 0
/* 801773D0 00174330 38 60 03 40 */ li r3, 0x340
/* 801773D4 00174334 48 19 E4 99 */ bl __nw__FUlPCcPCc
/* 801773D8 00174338 7C 7B 1B 79 */ or. r27, r3, r3
/* 801773DC 0017433C 41 82 00 30 */ beq lbl_8017740C
/* 801773E0 00174340 80 81 00 34 */ lwz r4, 0x34(r1)
/* 801773E4 00174344 38 61 00 24 */ addi r3, r1, 0x24
/* 801773E8 00174348 38 84 00 34 */ addi r4, r4, 0x34
/* 801773EC 0017434C 48 1C 9A BD */ bl __ct__6CTokenFRC6CToken
/* 801773F0 00174350 7F 63 DB 78 */ mr r3, r27
/* 801773F4 00174354 38 81 00 24 */ addi r4, r1, 0x24
/* 801773F8 00174358 3B 40 00 01 */ li r26, 1
/* 801773FC 0017435C 38 A0 00 00 */ li r5, 0
/* 80177400 00174360 38 C0 00 01 */ li r6, 1
/* 80177404 00174364 48 1A 7F DD */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 80177408 00174368 7C 7B 1B 78 */ mr r27, r3
lbl_8017740C:
/* 8017740C 0017436C 80 7C 05 20 */ lwz r3, 0x520(r28)
/* 80177410 00174370 28 03 00 00 */ cmplwi r3, 0
/* 80177414 00174374 41 82 00 18 */ beq lbl_8017742C
/* 80177418 00174378 81 83 00 00 */ lwz r12, 0(r3)
/* 8017741C 0017437C 38 80 00 01 */ li r4, 1
/* 80177420 00174380 81 8C 00 08 */ lwz r12, 8(r12)
/* 80177424 00174384 7D 89 03 A6 */ mtctr r12
/* 80177428 00174388 4E 80 04 21 */ bctrl
lbl_8017742C:
/* 8017742C 0017438C 7F 40 07 75 */ extsb. r0, r26
/* 80177430 00174390 93 7C 05 20 */ stw r27, 0x520(r28)
/* 80177434 00174394 41 82 00 10 */ beq lbl_80177444
/* 80177438 00174398 38 61 00 24 */ addi r3, r1, 0x24
/* 8017743C 0017439C 38 80 00 00 */ li r4, 0
/* 80177440 001743A0 48 1C 9A 01 */ bl __dt__6CTokenFv
lbl_80177444:
/* 80177444 001743A4 80 7C 05 20 */ lwz r3, 0x520(r28)
/* 80177448 001743A8 28 03 00 00 */ cmplwi r3, 0
/* 8017744C 001743AC 41 82 00 54 */ beq lbl_801774A0
/* 80177450 001743B0 81 83 00 00 */ lwz r12, 0(r3)
/* 80177454 001743B4 81 8C 00 64 */ lwz r12, 0x64(r12)
/* 80177458 001743B8 7D 89 03 A6 */ mtctr r12
/* 8017745C 001743BC 4E 80 04 21 */ bctrl
/* 80177460 001743C0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80177464 001743C4 41 82 00 3C */ beq lbl_801774A0
/* 80177468 001743C8 80 9C 05 20 */ lwz r4, 0x520(r28)
/* 8017746C 001743CC 38 61 00 38 */ addi r3, r1, 0x38
/* 80177470 001743D0 80 A1 00 2C */ lwz r5, 0x2c(r1)
/* 80177474 001743D4 81 84 00 00 */ lwz r12, 0(r4)
/* 80177478 001743D8 83 65 00 08 */ lwz r27, 8(r5)
/* 8017747C 001743DC 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 80177480 001743E0 7D 89 03 A6 */ mtctr r12
/* 80177484 001743E4 4E 80 04 21 */ bctrl
/* 80177488 001743E8 7F 83 E3 78 */ mr r3, r28
/* 8017748C 001743EC 7F 64 DB 78 */ mr r4, r27
/* 80177490 001743F0 7F E6 FB 78 */ mr r6, r31
/* 80177494 001743F4 38 A1 00 38 */ addi r5, r1, 0x38
/* 80177498 001743F8 4B FF FC A1 */ bl CreatePlasmaLights__17CPlasmaProjectileFUiRC6CLightR13CStateManager
/* 8017749C 001743FC 48 00 00 2C */ b lbl_801774C8
lbl_801774A0:
/* 801774A0 00174400 80 7C 05 20 */ lwz r3, 0x520(r28)
/* 801774A4 00174404 28 03 00 00 */ cmplwi r3, 0
/* 801774A8 00174408 41 82 00 18 */ beq lbl_801774C0
/* 801774AC 0017440C 81 83 00 00 */ lwz r12, 0(r3)
/* 801774B0 00174410 38 80 00 01 */ li r4, 1
/* 801774B4 00174414 81 8C 00 08 */ lwz r12, 8(r12)
/* 801774B8 00174418 7D 89 03 A6 */ mtctr r12
/* 801774BC 0017441C 4E 80 04 21 */ bctrl
lbl_801774C0:
/* 801774C0 00174420 38 00 00 00 */ li r0, 0
/* 801774C4 00174424 90 1C 05 20 */ stw r0, 0x520(r28)
lbl_801774C8:
/* 801774C8 00174428 88 1C 05 48 */ lbz r0, 0x548(r28)
/* 801774CC 0017442C 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 801774D0 00174430 41 82 00 14 */ beq lbl_801774E4
/* 801774D4 00174434 A0 1C 00 EC */ lhz r0, 0xec(r28)
/* 801774D8 00174438 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 801774DC 0017443C B0 01 00 20 */ sth r0, 0x20(r1)
/* 801774E0 00174440 B0 1C 00 C6 */ sth r0, 0xc6(r28)
lbl_801774E4:
/* 801774E4 00174444 A0 1C 00 EC */ lhz r0, 0xec(r28)
/* 801774E8 00174448 7F E3 FB 78 */ mr r3, r31
/* 801774EC 0017444C 80 BC 00 F0 */ lwz r5, 0xf0(r28)
/* 801774F0 00174450 38 81 00 18 */ addi r4, r1, 0x18
/* 801774F4 00174454 B0 01 00 14 */ sth r0, 0x14(r1)
/* 801774F8 00174458 B0 01 00 18 */ sth r0, 0x18(r1)
/* 801774FC 0017445C 4B EC D8 0D */ bl AddWeaponId__13CStateManagerF9TUniqueId11EWeaponType
/* 80177500 00174460 38 61 00 2C */ addi r3, r1, 0x2c
/* 80177504 00174464 38 80 00 00 */ li r4, 0
/* 80177508 00174468 48 1C 99 39 */ bl __dt__6CTokenFv
/* 8017750C 0017446C 48 00 00 50 */ b lbl_8017755C
lbl_80177510:
/* 80177510 00174470 A0 1C 00 EC */ lhz r0, 0xec(r28)
/* 80177514 00174474 7F E3 FB 78 */ mr r3, r31
/* 80177518 00174478 80 BC 00 F0 */ lwz r5, 0xf0(r28)
/* 8017751C 0017447C 38 81 00 10 */ addi r4, r1, 0x10
/* 80177520 00174480 B0 01 00 0C */ sth r0, 0xc(r1)
/* 80177524 00174484 B0 01 00 10 */ sth r0, 0x10(r1)
/* 80177528 00174488 4B EC D7 B1 */ bl RemoveWeaponId__13CStateManagerF9TUniqueId11EWeaponType
/* 8017752C 0017448C 7F 83 E3 78 */ mr r3, r28
/* 80177530 00174490 7F E4 FB 78 */ mr r4, r31
/* 80177534 00174494 4B FF FB 29 */ bl DeletePlasmaLights__17CPlasmaProjectileFR13CStateManager
/* 80177538 00174498 88 1C 05 48 */ lbz r0, 0x548(r28)
/* 8017753C 0017449C 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 80177540 001744A0 41 82 00 1C */ beq lbl_8017755C
/* 80177544 001744A4 80 7F 08 4C */ lwz r3, 0x84c(r31)
/* 80177548 001744A8 4B E9 A3 FD */ bl DecrementPhazon__7CPlayerFv
/* 8017754C 001744AC 88 1C 05 48 */ lbz r0, 0x548(r28)
/* 80177550 001744B0 38 60 00 00 */ li r3, 0
/* 80177554 001744B4 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 80177558 001744B8 98 1C 05 48 */ stb r0, 0x548(r28)
lbl_8017755C:
/* 8017755C 001744BC A0 1E 00 00 */ lhz r0, 0(r30)
/* 80177560 001744C0 7F 83 E3 78 */ mr r3, r28
/* 80177564 001744C4 7F A4 EB 78 */ mr r4, r29
/* 80177568 001744C8 7F E6 FB 78 */ mr r6, r31
/* 8017756C 001744CC B0 01 00 08 */ sth r0, 8(r1)
/* 80177570 001744D0 38 A1 00 08 */ addi r5, r1, 8
/* 80177574 001744D4 4B EC 10 59 */ bl AcceptScriptMsg__15CGameProjectileF20EScriptObjectMessage9TUniqueIdR13CStateManager
/* 80177578 001744D8 BB 41 00 88 */ lmw r26, 0x88(r1)
/* 8017757C 001744DC 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 80177580 001744E0 7C 08 03 A6 */ mtlr r0
/* 80177584 001744E4 38 21 00 A0 */ addi r1, r1, 0xa0
/* 80177588 001744E8 4E 80 00 20 */ blr
.global RenderMotionBlur__17CPlasmaProjectileCFv
RenderMotionBlur__17CPlasmaProjectileCFv:
/* 8017758C 001744EC 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80177590 001744F0 7C 08 02 A6 */ mflr r0
/* 80177594 001744F4 90 01 00 84 */ stw r0, 0x84(r1)
/* 80177598 001744F8 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 8017759C 001744FC F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 801775A0 00174500 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 801775A4 00174504 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 801775A8 00174508 DB A1 00 50 */ stfd f29, 0x50(r1)
/* 801775AC 0017450C F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
/* 801775B0 00174510 DB 81 00 40 */ stfd f28, 0x40(r1)
/* 801775B4 00174514 F3 81 00 48 */ psq_st f28, 72(r1), 0, qr0
/* 801775B8 00174518 DB 61 00 30 */ stfd f27, 0x30(r1)
/* 801775BC 0017451C F3 61 00 38 */ psq_st f27, 56(r1), 0, qr0
/* 801775C0 00174520 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 801775C4 00174524 7C 7A 1B 78 */ mr r26, r3
/* 801775C8 00174528 38 60 00 00 */ li r3, 0
/* 801775CC 0017452C 48 19 44 A5 */ bl SetCullMode__9CGraphicsF12ERglCullMode
/* 801775D0 00174530 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 801775D4 00174534 3C 80 80 5A */ lis r4, skIdentity4f@ha
/* 801775D8 00174538 38 84 66 70 */ addi r4, r4, skIdentity4f@l
/* 801775DC 0017453C 81 83 00 00 */ lwz r12, 0(r3)
/* 801775E0 00174540 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 801775E4 00174544 7D 89 03 A6 */ mtctr r12
/* 801775E8 00174548 4E 80 04 21 */ bctrl
/* 801775EC 0017454C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 801775F0 00174550 81 83 00 00 */ lwz r12, 0(r3)
/* 801775F4 00174554 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 801775F8 00174558 7D 89 03 A6 */ mtctr r12
/* 801775FC 0017455C 4E 80 04 21 */ bctrl
/* 80177600 00174560 C0 22 A1 C4 */ lfs f1, lbl_805ABEE4@sda21(r2)
/* 80177604 00174564 C0 1A 04 C4 */ lfs f0, 0x4c4(r26)
/* 80177608 00174568 80 1A 04 94 */ lwz r0, 0x494(r26)
/* 8017760C 0017456C EF C1 00 32 */ fmuls f30, f1, f0
/* 80177610 00174570 C3 BA 03 30 */ lfs f29, 0x330(r26)
/* 80177614 00174574 90 01 00 0C */ stw r0, 0xc(r1)
/* 80177618 00174578 C3 9A 03 40 */ lfs f28, 0x340(r26)
/* 8017761C 0017457C C3 7A 03 50 */ lfs f27, 0x350(r26)
/* 80177620 00174580 F3 C1 A0 08 */ psq_st f30, 8(r1), 1, qr2
/* 80177624 00174584 3C 60 80 3D */ lis r3, lbl_803D0650@ha
/* 80177628 00174588 38 63 06 50 */ addi r3, r3, lbl_803D0650@l
/* 8017762C 0017458C 88 01 00 08 */ lbz r0, 8(r1)
/* 80177630 00174590 98 01 00 0F */ stb r0, 0xf(r1)
/* 80177634 00174594 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80177638 00174598 54 1C 00 2E */ rlwinm r28, r0, 0, 0, 0x17
/* 8017763C 0017459C 63 9B 00 3F */ ori r27, r28, 0x3f
/* 80177640 001745A0 48 19 07 E9 */ bl SetVtxDescv__3CGXFPC14_GXVtxDescList
/* 80177644 001745A4 38 60 00 01 */ li r3, 1
/* 80177648 001745A8 48 19 18 09 */ bl SetNumChans__3CGXFUc
/* 8017764C 001745AC 38 60 00 01 */ li r3, 1
/* 80177650 001745B0 48 19 16 41 */ bl SetNumTevStages__3CGXFUc
/* 80177654 001745B4 38 60 00 00 */ li r3, 0
/* 80177658 001745B8 38 80 00 00 */ li r4, 0
/* 8017765C 001745BC 38 A0 00 00 */ li r5, 0
/* 80177660 001745C0 38 C0 00 01 */ li r6, 1
/* 80177664 001745C4 38 E0 00 00 */ li r7, 0
/* 80177668 001745C8 39 00 00 00 */ li r8, 0
/* 8017766C 001745CC 39 20 00 02 */ li r9, 2
/* 80177670 001745D0 48 19 16 5D */ bl SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn
/* 80177674 001745D4 38 60 00 00 */ li r3, 0
/* 80177678 001745D8 48 19 17 9D */ bl SetNumTexGens__3CGXFUc
/* 8017767C 001745DC 38 60 00 00 */ li r3, 0
/* 80177680 001745E0 38 80 00 FF */ li r4, 0xff
/* 80177684 001745E4 38 A0 00 FF */ li r5, 0xff
/* 80177688 001745E8 38 C0 00 04 */ li r6, 4
/* 8017768C 001745EC 48 19 12 C1 */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID
/* 80177690 001745F0 80 8D 9C 68 */ lwz r4, lbl_805A8828@sda21(r13)
/* 80177694 001745F4 38 60 00 00 */ li r3, 0
/* 80177698 001745F8 48 19 2C 21 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 8017769C 001745FC 80 8D 9C 68 */ lwz r4, lbl_805A8828@sda21(r13)
/* 801776A0 00174600 38 60 00 01 */ li r3, 1
/* 801776A4 00174604 48 19 2C 15 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 801776A8 00174608 38 60 00 98 */ li r3, 0x98
/* 801776AC 0017460C 38 80 00 00 */ li r4, 0
/* 801776B0 00174610 38 A0 00 10 */ li r5, 0x10
/* 801776B4 00174614 48 19 0E D1 */ bl Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs
/* 801776B8 00174618 C3 C2 A1 C8 */ lfs f30, lbl_805ABEE8@sda21(r2)
/* 801776BC 0017461C 3B BA 04 04 */ addi r29, r26, 0x404
/* 801776C0 00174620 CB E2 A1 D0 */ lfd f31, lbl_805ABEF0@sda21(r2)
/* 801776C4 00174624 3B 40 00 00 */ li r26, 0
/* 801776C8 00174628 3F C0 43 30 */ lis r30, 0x4330
/* 801776CC 0017462C 3F E0 CC 01 */ lis r31, 0xcc01
lbl_801776D0:
/* 801776D0 00174630 6F 40 80 00 */ xoris r0, r26, 0x8000
/* 801776D4 00174634 93 C1 00 10 */ stw r30, 0x10(r1)
/* 801776D8 00174638 7F 63 DB 78 */ mr r3, r27
/* 801776DC 0017463C 7F 84 E3 78 */ mr r4, r28
/* 801776E0 00174640 90 01 00 14 */ stw r0, 0x14(r1)
/* 801776E4 00174644 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 801776E8 00174648 EC 00 F8 28 */ fsubs f0, f0, f31
/* 801776EC 0017464C EC 3E 00 32 */ fmuls f1, f30, f0
/* 801776F0 00174650 48 1E BB 25 */ bl Lerp__6CColorFUiUif
/* 801776F4 00174654 D3 BF 80 00 */ stfs f29, 0xCC008000@l(r31)
/* 801776F8 00174658 3B 5A 00 01 */ addi r26, r26, 1
/* 801776FC 0017465C 2C 1A 00 08 */ cmpwi r26, 8
/* 80177700 00174660 D3 9F 80 00 */ stfs f28, 0xCC008000@l(r31)
/* 80177704 00174664 D3 7F 80 00 */ stfs f27, 0xCC008000@l(r31)
/* 80177708 00174668 90 7F 80 00 */ stw r3, 0xCC008000@l(r31)
/* 8017770C 0017466C C0 5D 00 08 */ lfs f2, 8(r29)
/* 80177710 00174670 C0 3D 00 04 */ lfs f1, 4(r29)
/* 80177714 00174674 C0 1D 00 00 */ lfs f0, 0(r29)
/* 80177718 00174678 3B BD 00 0C */ addi r29, r29, 0xc
/* 8017771C 0017467C D0 1F 80 00 */ stfs f0, 0xCC008000@l(r31)
/* 80177720 00174680 D0 3F 80 00 */ stfs f1, 0xCC008000@l(r31)
/* 80177724 00174684 D0 5F 80 00 */ stfs f2, 0xCC008000@l(r31)
/* 80177728 00174688 90 7F 80 00 */ stw r3, 0xCC008000@l(r31)
/* 8017772C 0017468C 41 80 FF A4 */ blt lbl_801776D0
/* 80177730 00174690 48 19 0E 51 */ bl End__3CGXFv
/* 80177734 00174694 38 60 00 01 */ li r3, 1
/* 80177738 00174698 48 19 43 39 */ bl SetCullMode__9CGraphicsF12ERglCullMode
/* 8017773C 0017469C E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 80177740 001746A0 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 80177744 001746A4 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 80177748 001746A8 CB C1 00 60 */ lfd f30, 0x60(r1)
/* 8017774C 001746AC E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0
/* 80177750 001746B0 CB A1 00 50 */ lfd f29, 0x50(r1)
/* 80177754 001746B4 E3 81 00 48 */ psq_l f28, 72(r1), 0, qr0
/* 80177758 001746B8 CB 81 00 40 */ lfd f28, 0x40(r1)
/* 8017775C 001746BC E3 61 00 38 */ psq_l f27, 56(r1), 0, qr0
/* 80177760 001746C0 CB 61 00 30 */ lfd f27, 0x30(r1)
/* 80177764 001746C4 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 80177768 001746C8 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8017776C 001746CC 7C 08 03 A6 */ mtlr r0
/* 80177770 001746D0 38 21 00 80 */ addi r1, r1, 0x80
/* 80177774 001746D4 4E 80 00 20 */ blr
.global UpdateEnergyPulse__17CPlasmaProjectileFf
UpdateEnergyPulse__17CPlasmaProjectileFf:
/* 80177778 001746D8 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8017777C 001746DC 7C 08 02 A6 */ mflr r0
/* 80177780 001746E0 90 01 00 74 */ stw r0, 0x74(r1)
/* 80177784 001746E4 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 80177788 001746E8 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 8017778C 001746EC DB C1 00 50 */ stfd f30, 0x50(r1)
/* 80177790 001746F0 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 80177794 001746F4 DB A1 00 40 */ stfd f29, 0x40(r1)
/* 80177798 001746F8 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0
/* 8017779C 001746FC DB 81 00 30 */ stfd f28, 0x30(r1)
/* 801777A0 00174700 F3 81 00 38 */ psq_st f28, 56(r1), 0, qr0
/* 801777A4 00174704 DB 61 00 20 */ stfd f27, 0x20(r1)
/* 801777A8 00174708 F3 61 00 28 */ psq_st f27, 40(r1), 0, qr0
/* 801777AC 0017470C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801777B0 00174710 7C 7F 1B 78 */ mr r31, r3
/* 801777B4 00174714 FF 60 08 90 */ fmr f27, f1
/* 801777B8 00174718 80 03 02 F8 */ lwz r0, 0x2f8(r3)
/* 801777BC 0017471C 2C 00 00 00 */ cmpwi r0, 0
/* 801777C0 00174720 41 82 00 10 */ beq lbl_801777D0
/* 801777C4 00174724 88 1F 05 48 */ lbz r0, 0x548(r31)
/* 801777C8 00174728 54 00 D7 FE */ rlwinm r0, r0, 0x1a, 0x1f, 0x1f
/* 801777CC 0017472C 48 00 00 08 */ b lbl_801777D4
lbl_801777D0:
/* 801777D0 00174730 38 00 00 00 */ li r0, 0
lbl_801777D4:
/* 801777D4 00174734 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 801777D8 00174738 41 82 00 E0 */ beq lbl_801778B8
/* 801777DC 0017473C C0 3F 04 D8 */ lfs f1, 0x4d8(r31)
/* 801777E0 00174740 C0 02 A1 C0 */ lfs f0, lbl_805ABEE0@sda21(r2)
/* 801777E4 00174744 EC 21 D8 28 */ fsubs f1, f1, f27
/* 801777E8 00174748 D0 3F 04 D8 */ stfs f1, 0x4d8(r31)
/* 801777EC 0017474C C0 3F 04 D8 */ lfs f1, 0x4d8(r31)
/* 801777F0 00174750 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801777F4 00174754 4C 40 13 82 */ cror 2, 0, 2
/* 801777F8 00174758 40 82 00 C0 */ bne lbl_801778B8
/* 801777FC 0017475C C0 02 A1 D8 */ lfs f0, lbl_805ABEF8@sda21(r2)
/* 80177800 00174760 38 80 00 01 */ li r4, 1
/* 80177804 00174764 EC 00 06 F2 */ fmuls f0, f0, f27
/* 80177808 00174768 D0 1F 04 D8 */ stfs f0, 0x4d8(r31)
/* 8017780C 0017476C 80 7F 05 1C */ lwz r3, 0x51c(r31)
/* 80177810 00174770 81 83 00 00 */ lwz r12, 0(r3)
/* 80177814 00174774 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80177818 00174778 7D 89 03 A6 */ mtctr r12
/* 8017781C 0017477C 4E 80 04 21 */ bctrl
/* 80177820 00174780 C0 3F 03 04 */ lfs f1, 0x304(r31)
/* 80177824 00174784 C0 1F 02 EC */ lfs f0, 0x2ec(r31)
/* 80177828 00174788 C3 82 A1 C0 */ lfs f28, lbl_805ABEE0@sda21(r2)
/* 8017782C 0017478C EF A1 00 24 */ fdivs f29, f1, f0
/* 80177830 00174790 C3 E2 A1 DC */ lfs f31, lbl_805ABEFC@sda21(r2)
/* 80177834 00174794 FF C0 E0 90 */ fmr f30, f28
/* 80177838 00174798 48 00 00 50 */ b lbl_80177888
lbl_8017783C:
/* 8017783C 0017479C C0 5F 02 EC */ lfs f2, 0x2ec(r31)
/* 80177840 001747A0 C0 3F 04 CC */ lfs f1, 0x4cc(r31)
/* 80177844 001747A4 C0 1F 03 04 */ lfs f0, 0x304(r31)
/* 80177848 001747A8 EC 3C 08 BA */ fmadds f1, f28, f2, f1
/* 8017784C 001747AC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80177850 001747B0 41 81 00 34 */ bgt lbl_80177884
/* 80177854 001747B4 D3 C1 00 08 */ stfs f30, 8(r1)
/* 80177858 001747B8 38 81 00 08 */ addi r4, r1, 8
/* 8017785C 001747BC D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80177860 001747C0 D3 C1 00 10 */ stfs f30, 0x10(r1)
/* 80177864 001747C4 80 7F 05 1C */ lwz r3, 0x51c(r31)
/* 80177868 001747C8 81 83 00 00 */ lwz r12, 0(r3)
/* 8017786C 001747CC 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 80177870 001747D0 7D 89 03 A6 */ mtctr r12
/* 80177874 001747D4 4E 80 04 21 */ bctrl
/* 80177878 001747D8 80 7F 05 1C */ lwz r3, 0x51c(r31)
/* 8017787C 001747DC 38 80 00 01 */ li r4, 1
/* 80177880 001747E0 48 1A 50 41 */ bl ForceParticleCreation__11CElementGenFi
lbl_80177884:
/* 80177884 001747E4 EF 9C F8 2A */ fadds f28, f28, f31
lbl_80177888:
/* 80177888 001747E8 FC 1C E8 40 */ fcmpo cr0, f28, f29
/* 8017788C 001747EC 4C 40 13 82 */ cror 2, 0, 2
/* 80177890 001747F0 41 82 FF AC */ beq lbl_8017783C
/* 80177894 001747F4 80 7F 05 1C */ lwz r3, 0x51c(r31)
/* 80177898 001747F8 38 9F 03 24 */ addi r4, r31, 0x324
/* 8017789C 001747FC 48 1A 72 E9 */ bl SetGlobalOrientAndTrans__11CElementGenFRC12CTransform4f
/* 801778A0 00174800 80 7F 05 1C */ lwz r3, 0x51c(r31)
/* 801778A4 00174804 38 80 00 00 */ li r4, 0
/* 801778A8 00174808 81 83 00 00 */ lwz r12, 0(r3)
/* 801778AC 0017480C 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 801778B0 00174810 7D 89 03 A6 */ mtctr r12
/* 801778B4 00174814 4E 80 04 21 */ bctrl
lbl_801778B8:
/* 801778B8 00174818 80 7F 05 1C */ lwz r3, 0x51c(r31)
/* 801778BC 0017481C FC 20 D8 90 */ fmr f1, f27
/* 801778C0 00174820 81 83 00 00 */ lwz r12, 0(r3)
/* 801778C4 00174824 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801778C8 00174828 7D 89 03 A6 */ mtctr r12
/* 801778CC 0017482C 4E 80 04 21 */ bctrl
/* 801778D0 00174830 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 801778D4 00174834 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 801778D8 00174838 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 801778DC 0017483C CB C1 00 50 */ lfd f30, 0x50(r1)
/* 801778E0 00174840 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0
/* 801778E4 00174844 CB A1 00 40 */ lfd f29, 0x40(r1)
/* 801778E8 00174848 E3 81 00 38 */ psq_l f28, 56(r1), 0, qr0
/* 801778EC 0017484C CB 81 00 30 */ lfd f28, 0x30(r1)
/* 801778F0 00174850 E3 61 00 28 */ psq_l f27, 40(r1), 0, qr0
/* 801778F4 00174854 CB 61 00 20 */ lfd f27, 0x20(r1)
/* 801778F8 00174858 80 01 00 74 */ lwz r0, 0x74(r1)
/* 801778FC 0017485C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80177900 00174860 7C 08 03 A6 */ mtlr r0
/* 80177904 00174864 38 21 00 70 */ addi r1, r1, 0x70
/* 80177908 00174868 4E 80 00 20 */ blr
.global RenderBeam__17CPlasmaProjectileCFifRC6CColori
RenderBeam__17CPlasmaProjectileCFifRC6CColori:
/* 8017790C 0017486C 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 80177910 00174870 7C 08 02 A6 */ mflr r0
/* 80177914 00174874 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 80177918 00174878 DB E1 00 C0 */ stfd f31, 0xc0(r1)
/* 8017791C 0017487C F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0
/* 80177920 00174880 DB C1 00 B0 */ stfd f30, 0xb0(r1)
/* 80177924 00174884 F3 C1 00 B8 */ psq_st f30, 184(r1), 0, qr0
/* 80177928 00174888 DB A1 00 A0 */ stfd f29, 0xa0(r1)
/* 8017792C 0017488C F3 A1 00 A8 */ psq_st f29, 168(r1), 0, qr0
/* 80177930 00174890 DB 81 00 90 */ stfd f28, 0x90(r1)
/* 80177934 00174894 F3 81 00 98 */ psq_st f28, 152(r1), 0, qr0
/* 80177938 00174898 DB 61 00 80 */ stfd f27, 0x80(r1)
/* 8017793C 0017489C F3 61 00 88 */ psq_st f27, 136(r1), 0, qr0
/* 80177940 001748A0 DB 41 00 70 */ stfd f26, 0x70(r1)
/* 80177944 001748A4 F3 41 00 78 */ psq_st f26, 120(r1), 0, qr0
/* 80177948 001748A8 DB 21 00 60 */ stfd f25, 0x60(r1)
/* 8017794C 001748AC F3 21 00 68 */ psq_st f25, 104(r1), 0, qr0
/* 80177950 001748B0 DB 01 00 50 */ stfd f24, 0x50(r1)
/* 80177954 001748B4 F3 01 00 58 */ psq_st f24, 88(r1), 0, qr0
/* 80177958 001748B8 BF 41 00 38 */ stmw r26, 0x38(r1)
/* 8017795C 001748BC FF A0 08 90 */ fmr f29, f1
/* 80177960 001748C0 54 DF 07 FF */ clrlwi. r31, r6, 0x1f
/* 80177964 001748C4 7C DB 33 78 */ mr r27, r6
/* 80177968 001748C8 7C BA 2B 78 */ mr r26, r5
/* 8017796C 001748CC 3B C0 00 00 */ li r30, 0
/* 80177970 001748D0 41 82 00 28 */ beq lbl_80177998
/* 80177974 001748D4 57 60 07 39 */ rlwinm. r0, r27, 0, 0x1c, 0x1c
/* 80177978 001748D8 80 A3 04 F0 */ lwz r5, 0x4f0(r3)
/* 8017797C 001748DC 80 03 04 FC */ lwz r0, 0x4fc(r3)
/* 80177980 001748E0 41 82 00 0C */ beq lbl_8017798C
/* 80177984 001748E4 7C 1E 03 78 */ mr r30, r0
/* 80177988 001748E8 48 00 00 08 */ b lbl_80177990
lbl_8017798C:
/* 8017798C 001748EC 7C BE 2B 78 */ mr r30, r5
lbl_80177990:
/* 80177990 001748F0 28 1E 00 00 */ cmplwi r30, 0
/* 80177994 001748F4 41 82 02 E8 */ beq lbl_80177C7C
lbl_80177998:
/* 80177998 001748F8 3C C0 43 30 */ lis r6, 0x4330
/* 8017799C 001748FC 6C 80 80 00 */ xoris r0, r4, 0x8000
/* 801779A0 00174900 90 01 00 2C */ stw r0, 0x2c(r1)
/* 801779A4 00174904 57 65 07 BE */ clrlwi r5, r27, 0x1e
/* 801779A8 00174908 38 05 FF FD */ addi r0, r5, -3
/* 801779AC 0017490C C8 42 A1 D0 */ lfd f2, lbl_805ABEF0@sda21(r2)
/* 801779B0 00174910 90 C1 00 28 */ stw r6, 0x28(r1)
/* 801779B4 00174914 7C 00 00 34 */ cntlzw r0, r0
/* 801779B8 00174918 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f
/* 801779BC 0017491C C0 A2 A1 E0 */ lfs f5, lbl_805ABF00@sda21(r2)
/* 801779C0 00174920 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 801779C4 00174924 3B 84 00 01 */ addi r28, r4, 1
/* 801779C8 00174928 C0 22 A1 E4 */ lfs f1, lbl_805ABF04@sda21(r2)
/* 801779CC 0017492C 3B A0 00 00 */ li r29, 0
/* 801779D0 00174930 EC 80 10 28 */ fsubs f4, f0, f2
/* 801779D4 00174934 C0 03 04 CC */ lfs f0, 0x4cc(r3)
/* 801779D8 00174938 90 01 00 34 */ stw r0, 0x34(r1)
/* 801779DC 0017493C EC 61 00 32 */ fmuls f3, f1, f0
/* 801779E0 00174940 C8 42 A1 F0 */ lfd f2, lbl_805ABF10@sda21(r2)
/* 801779E4 00174944 EF E5 20 24 */ fdivs f31, f5, f4
/* 801779E8 00174948 90 C1 00 30 */ stw r6, 0x30(r1)
/* 801779EC 0017494C C0 02 A1 C0 */ lfs f0, lbl_805ABEE0@sda21(r2)
/* 801779F0 00174950 C8 21 00 30 */ lfd f1, 0x30(r1)
/* 801779F4 00174954 FF C0 18 50 */ fneg f30, f3
/* 801779F8 00174958 EC 21 10 28 */ fsubs f1, f1, f2
/* 801779FC 0017495C EC 3E 08 2A */ fadds f1, f30, f1
/* 80177A00 00174960 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80177A04 00174964 41 82 00 0C */ beq lbl_80177A10
/* 80177A08 00174968 C3 42 A1 D8 */ lfs f26, lbl_805ABEF8@sda21(r2)
/* 80177A0C 0017496C 48 00 00 10 */ b lbl_80177A1C
lbl_80177A10:
/* 80177A10 00174970 C0 22 A1 E8 */ lfs f1, lbl_805ABF08@sda21(r2)
/* 80177A14 00174974 C0 03 03 04 */ lfs f0, 0x304(r3)
/* 80177A18 00174978 EF 41 00 32 */ fmuls f26, f1, f0
lbl_80177A1C:
/* 80177A1C 0017497C C3 83 03 04 */ lfs f28, 0x304(r3)
/* 80177A20 00174980 38 60 00 07 */ li r3, 7
/* 80177A24 00174984 C3 02 A1 C0 */ lfs f24, lbl_805ABEE0@sda21(r2)
/* 80177A28 00174988 38 80 00 00 */ li r4, 0
/* 80177A2C 0017498C 38 A0 00 00 */ li r5, 0
/* 80177A30 00174990 38 C0 00 07 */ li r6, 7
/* 80177A34 00174994 38 E0 00 00 */ li r7, 0
/* 80177A38 00174998 48 19 3F F1 */ bl SetAlphaCompare__9CGraphicsF13ERglAlphaFuncUc11ERglAlphaOp13ERglAlphaFuncUc
/* 80177A3C 0017499C 3C 80 80 3D */ lis r4, lbl_803D0630@ha
/* 80177A40 001749A0 38 61 00 08 */ addi r3, r1, 8
/* 80177A44 001749A4 39 64 06 30 */ addi r11, r4, lbl_803D0630@l
/* 80177A48 001749A8 81 4B 00 00 */ lwz r10, 0(r11)
/* 80177A4C 001749AC 81 2B 00 04 */ lwz r9, 4(r11)
/* 80177A50 001749B0 81 0B 00 08 */ lwz r8, 8(r11)
/* 80177A54 001749B4 80 EB 00 0C */ lwz r7, 0xc(r11)
/* 80177A58 001749B8 80 CB 00 10 */ lwz r6, 0x10(r11)
/* 80177A5C 001749BC 80 AB 00 14 */ lwz r5, 0x14(r11)
/* 80177A60 001749C0 80 8B 00 18 */ lwz r4, 0x18(r11)
/* 80177A64 001749C4 80 0B 00 1C */ lwz r0, 0x1c(r11)
/* 80177A68 001749C8 91 41 00 08 */ stw r10, 8(r1)
/* 80177A6C 001749CC 91 21 00 0C */ stw r9, 0xc(r1)
/* 80177A70 001749D0 91 01 00 10 */ stw r8, 0x10(r1)
/* 80177A74 001749D4 90 E1 00 14 */ stw r7, 0x14(r1)
/* 80177A78 001749D8 90 C1 00 18 */ stw r6, 0x18(r1)
/* 80177A7C 001749DC 90 A1 00 1C */ stw r5, 0x1c(r1)
/* 80177A80 001749E0 90 81 00 20 */ stw r4, 0x20(r1)
/* 80177A84 001749E4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80177A88 001749E8 48 19 03 A1 */ bl SetVtxDescv__3CGXFPC14_GXVtxDescList
/* 80177A8C 001749EC 38 60 00 01 */ li r3, 1
/* 80177A90 001749F0 48 19 13 C1 */ bl SetNumChans__3CGXFUc
/* 80177A94 001749F4 38 60 00 01 */ li r3, 1
/* 80177A98 001749F8 48 19 11 F9 */ bl SetNumTevStages__3CGXFUc
/* 80177A9C 001749FC 38 60 00 00 */ li r3, 0
/* 80177AA0 00174A00 38 80 00 00 */ li r4, 0
/* 80177AA4 00174A04 38 A0 00 00 */ li r5, 0
/* 80177AA8 00174A08 38 C0 00 01 */ li r6, 1
/* 80177AAC 00174A0C 38 E0 00 00 */ li r7, 0
/* 80177AB0 00174A10 39 00 00 00 */ li r8, 0
/* 80177AB4 00174A14 39 20 00 02 */ li r9, 2
/* 80177AB8 00174A18 48 19 12 15 */ bl SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn
/* 80177ABC 00174A1C 57 60 06 F7 */ rlwinm. r0, r27, 0, 0x1b, 0x1b
/* 80177AC0 00174A20 41 82 00 1C */ beq lbl_80177ADC
/* 80177AC4 00174A24 38 60 00 03 */ li r3, 3
/* 80177AC8 00174A28 38 80 00 01 */ li r4, 1
/* 80177ACC 00174A2C 38 A0 00 01 */ li r5, 1
/* 80177AD0 00174A30 38 C0 00 00 */ li r6, 0
/* 80177AD4 00174A34 48 19 0D FD */ bl SetBlendMode__3CGXF12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOp
/* 80177AD8 00174A38 48 00 00 38 */ b lbl_80177B10
lbl_80177ADC:
/* 80177ADC 00174A3C 57 60 07 7B */ rlwinm. r0, r27, 0, 0x1d, 0x1d
/* 80177AE0 00174A40 41 82 00 1C */ beq lbl_80177AFC
/* 80177AE4 00174A44 38 60 00 01 */ li r3, 1
/* 80177AE8 00174A48 38 80 00 04 */ li r4, 4
/* 80177AEC 00174A4C 38 A0 00 01 */ li r5, 1
/* 80177AF0 00174A50 38 C0 00 00 */ li r6, 0
/* 80177AF4 00174A54 48 19 0D DD */ bl SetBlendMode__3CGXF12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOp
/* 80177AF8 00174A58 48 00 00 18 */ b lbl_80177B10
lbl_80177AFC:
/* 80177AFC 00174A5C 38 60 00 01 */ li r3, 1
/* 80177B00 00174A60 38 80 00 01 */ li r4, 1
/* 80177B04 00174A64 38 A0 00 01 */ li r5, 1
/* 80177B08 00174A68 38 C0 00 00 */ li r6, 0
/* 80177B0C 00174A6C 48 19 0D C5 */ bl SetBlendMode__3CGXF12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOp
lbl_80177B10:
/* 80177B10 00174A70 38 60 00 00 */ li r3, 0
/* 80177B14 00174A74 38 80 00 00 */ li r4, 0
/* 80177B18 00174A78 38 A0 00 0C */ li r5, 0xc
/* 80177B1C 00174A7C 38 C0 00 3C */ li r6, 0x3c
/* 80177B20 00174A80 38 E0 00 00 */ li r7, 0
/* 80177B24 00174A84 39 00 00 7D */ li r8, 0x7d
/* 80177B28 00174A88 48 19 0B A5 */ bl SetTexCoordGen__3CGXF13_GXTexCoordID13_GXTexGenType12_GXTexGenSrc9_GXTexMtxUc11_GXPTTexMtx
/* 80177B2C 00174A8C 2C 1F 00 00 */ cmpwi r31, 0
/* 80177B30 00174A90 41 82 00 44 */ beq lbl_80177B74
/* 80177B34 00174A94 38 60 00 01 */ li r3, 1
/* 80177B38 00174A98 48 19 12 DD */ bl SetNumTexGens__3CGXFUc
/* 80177B3C 00174A9C 38 60 00 00 */ li r3, 0
/* 80177B40 00174AA0 38 80 00 00 */ li r4, 0
/* 80177B44 00174AA4 38 A0 00 00 */ li r5, 0
/* 80177B48 00174AA8 38 C0 00 04 */ li r6, 4
/* 80177B4C 00174AAC 48 19 0E 01 */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID
/* 80177B50 00174AB0 3C 80 80 5A */ lis r4, lbl_805A5EBC@ha
/* 80177B54 00174AB4 38 60 00 00 */ li r3, 0
/* 80177B58 00174AB8 38 84 5E BC */ addi r4, r4, lbl_805A5EBC@l
/* 80177B5C 00174ABC 48 19 27 5D */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 80177B60 00174AC0 7F C3 F3 78 */ mr r3, r30
/* 80177B64 00174AC4 38 80 00 00 */ li r4, 0
/* 80177B68 00174AC8 38 A0 00 01 */ li r5, 1
/* 80177B6C 00174ACC 48 19 7B D1 */ bl Load__8CTextureCF11_GXTexMapIDQ28CTexture10EClampMode
/* 80177B70 00174AD0 48 00 00 2C */ b lbl_80177B9C
lbl_80177B74:
/* 80177B74 00174AD4 38 60 00 00 */ li r3, 0
/* 80177B78 00174AD8 48 19 12 9D */ bl SetNumTexGens__3CGXFUc
/* 80177B7C 00174ADC 38 60 00 00 */ li r3, 0
/* 80177B80 00174AE0 38 80 00 FF */ li r4, 0xff
/* 80177B84 00174AE4 38 A0 00 FF */ li r5, 0xff
/* 80177B88 00174AE8 38 C0 00 04 */ li r6, 4
/* 80177B8C 00174AEC 48 19 0D C1 */ bl SetTevOrder__3CGXF13_GXTevStageID13_GXTexCoordID11_GXTexMapID12_GXChannelID
/* 80177B90 00174AF0 80 8D 9C 68 */ lwz r4, lbl_805A8828@sda21(r13)
/* 80177B94 00174AF4 38 60 00 00 */ li r3, 0
/* 80177B98 00174AF8 48 19 27 21 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
lbl_80177B9C:
/* 80177B9C 00174AFC 80 8D 9C 68 */ lwz r4, lbl_805A8828@sda21(r13)
/* 80177BA0 00174B00 38 60 00 01 */ li r3, 1
/* 80177BA4 00174B04 48 19 27 15 */ bl SetTevOp__9CGraphicsF12ERglTevStageRCQ213CTevCombiners8CTevPass
/* 80177BA8 00174B08 83 DA 00 00 */ lwz r30, 0(r26)
/* 80177BAC 00174B0C 57 85 0C 3C */ rlwinm r5, r28, 1, 0x10, 0x1e
/* 80177BB0 00174B10 38 60 00 98 */ li r3, 0x98
/* 80177BB4 00174B14 38 80 00 00 */ li r4, 0
/* 80177BB8 00174B18 48 19 09 CD */ bl Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs
/* 80177BBC 00174B1C C3 62 A1 C0 */ lfs f27, lbl_805ABEE0@sda21(r2)
/* 80177BC0 00174B20 57 7B 07 38 */ rlwinm r27, r27, 0, 0x1c, 0x1c
/* 80177BC4 00174B24 3B E0 00 00 */ li r31, 0
/* 80177BC8 00174B28 3F 40 CC 01 */ lis r26, 0xcc01
/* 80177BCC 00174B2C EF 3B E0 2A */ fadds f25, f27, f28
/* 80177BD0 00174B30 48 00 00 90 */ b lbl_80177C60
lbl_80177BD4:
/* 80177BD4 00174B34 FC 20 C0 90 */ fmr f1, f24
/* 80177BD8 00174B38 48 19 D1 6D */ bl FastCosR__5CMathFf
/* 80177BDC 00174B3C FF 80 08 90 */ fmr f28, f1
/* 80177BE0 00174B40 FC 20 C0 90 */ fmr f1, f24
/* 80177BE4 00174B44 48 19 D2 0D */ bl FastSinR__5CMathFf
/* 80177BE8 00174B48 2C 1B 00 00 */ cmpwi r27, 0
/* 80177BEC 00174B4C 41 82 00 10 */ beq lbl_80177BFC
/* 80177BF0 00174B50 C0 02 A1 E8 */ lfs f0, lbl_805ABF08@sda21(r2)
/* 80177BF4 00174B54 EC 40 00 72 */ fmuls f2, f0, f1
/* 80177BF8 00174B58 48 00 00 18 */ b lbl_80177C10
lbl_80177BFC:
/* 80177BFC 00174B5C 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 80177C00 00174B60 41 82 00 0C */ beq lbl_80177C0C
/* 80177C04 00174B64 FC 40 E8 90 */ fmr f2, f29
/* 80177C08 00174B68 48 00 00 08 */ b lbl_80177C10
lbl_80177C0C:
/* 80177C0C 00174B6C C0 42 A1 C0 */ lfs f2, lbl_805ABEE0@sda21(r2)
lbl_80177C10:
/* 80177C10 00174B70 EC 1D 07 32 */ fmuls f0, f29, f28
/* 80177C14 00174B74 6B A0 00 01 */ xori r0, r29, 1
/* 80177C18 00174B78 EC 7D 00 72 */ fmuls f3, f29, f1
/* 80177C1C 00174B7C 54 1D 06 3E */ clrlwi r29, r0, 0x18
/* 80177C20 00174B80 EF 18 F8 2A */ fadds f24, f24, f31
/* 80177C24 00174B84 3B FF 00 01 */ addi r31, r31, 1
/* 80177C28 00174B88 D0 1A 80 00 */ stfs f0, 0xCC008000@l(r26)
/* 80177C2C 00174B8C EC 20 D8 2A */ fadds f1, f0, f27
/* 80177C30 00174B90 EC 03 D8 2A */ fadds f0, f3, f27
/* 80177C34 00174B94 D3 7A 80 00 */ stfs f27, 0xCC008000@l(r26)
/* 80177C38 00174B98 D0 7A 80 00 */ stfs f3, 0xCC008000@l(r26)
/* 80177C3C 00174B9C 93 DA 80 00 */ stw r30, 0xCC008000@l(r26)
/* 80177C40 00174BA0 D0 5A 80 00 */ stfs f2, 0xCC008000@l(r26)
/* 80177C44 00174BA4 D3 DA 80 00 */ stfs f30, 0xCC008000@l(r26)
/* 80177C48 00174BA8 D0 3A 80 00 */ stfs f1, 0xCC008000@l(r26)
/* 80177C4C 00174BAC D3 3A 80 00 */ stfs f25, 0xCC008000@l(r26)
/* 80177C50 00174BB0 D0 1A 80 00 */ stfs f0, 0xCC008000@l(r26)
/* 80177C54 00174BB4 93 DA 80 00 */ stw r30, 0xCC008000@l(r26)
/* 80177C58 00174BB8 D0 5A 80 00 */ stfs f2, 0xCC008000@l(r26)
/* 80177C5C 00174BBC D3 5A 80 00 */ stfs f26, 0xCC008000@l(r26)
lbl_80177C60:
/* 80177C60 00174BC0 7C 1F E0 00 */ cmpw r31, r28
/* 80177C64 00174BC4 41 80 FF 70 */ blt lbl_80177BD4
/* 80177C68 00174BC8 48 19 09 19 */ bl End__3CGXFv
/* 80177C6C 00174BCC 2C 1B 00 00 */ cmpwi r27, 0
/* 80177C70 00174BD0 41 82 00 0C */ beq lbl_80177C7C
/* 80177C74 00174BD4 38 60 00 01 */ li r3, 1
/* 80177C78 00174BD8 48 19 3D F9 */ bl SetCullMode__9CGraphicsF12ERglCullMode
lbl_80177C7C:
/* 80177C7C 00174BDC E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0
/* 80177C80 00174BE0 CB E1 00 C0 */ lfd f31, 0xc0(r1)
/* 80177C84 00174BE4 E3 C1 00 B8 */ psq_l f30, 184(r1), 0, qr0
/* 80177C88 00174BE8 CB C1 00 B0 */ lfd f30, 0xb0(r1)
/* 80177C8C 00174BEC E3 A1 00 A8 */ psq_l f29, 168(r1), 0, qr0
/* 80177C90 00174BF0 CB A1 00 A0 */ lfd f29, 0xa0(r1)
/* 80177C94 00174BF4 E3 81 00 98 */ psq_l f28, 152(r1), 0, qr0
/* 80177C98 00174BF8 CB 81 00 90 */ lfd f28, 0x90(r1)
/* 80177C9C 00174BFC E3 61 00 88 */ psq_l f27, 136(r1), 0, qr0
/* 80177CA0 00174C00 CB 61 00 80 */ lfd f27, 0x80(r1)
/* 80177CA4 00174C04 E3 41 00 78 */ psq_l f26, 120(r1), 0, qr0
/* 80177CA8 00174C08 CB 41 00 70 */ lfd f26, 0x70(r1)
/* 80177CAC 00174C0C E3 21 00 68 */ psq_l f25, 104(r1), 0, qr0
/* 80177CB0 00174C10 CB 21 00 60 */ lfd f25, 0x60(r1)
/* 80177CB4 00174C14 E3 01 00 58 */ psq_l f24, 88(r1), 0, qr0
/* 80177CB8 00174C18 CB 01 00 50 */ lfd f24, 0x50(r1)
/* 80177CBC 00174C1C BB 41 00 38 */ lmw r26, 0x38(r1)
/* 80177CC0 00174C20 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 80177CC4 00174C24 7C 08 03 A6 */ mtlr r0
/* 80177CC8 00174C28 38 21 00 D0 */ addi r1, r1, 0xd0
/* 80177CCC 00174C2C 4E 80 00 20 */ blr
.global ResetBeam__17CPlasmaProjectileFR13CStateManagerb
ResetBeam__17CPlasmaProjectileFR13CStateManagerb:
/* 80177CD0 00174C30 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80177CD4 00174C34 7C 08 02 A6 */ mflr r0
/* 80177CD8 00174C38 90 01 00 14 */ stw r0, 0x14(r1)
/* 80177CDC 00174C3C 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 80177CE0 00174C40 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80177CE4 00174C44 7C 9F 23 78 */ mr r31, r4
/* 80177CE8 00174C48 93 C1 00 08 */ stw r30, 8(r1)
/* 80177CEC 00174C4C 7C 7E 1B 78 */ mr r30, r3
/* 80177CF0 00174C50 41 82 00 94 */ beq lbl_80177D84
/* 80177CF4 00174C54 81 83 00 00 */ lwz r12, 0(r3)
/* 80177CF8 00174C58 38 80 00 00 */ li r4, 0
/* 80177CFC 00174C5C 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80177D00 00174C60 7D 89 03 A6 */ mtctr r12
/* 80177D04 00174C64 4E 80 04 21 */ bctrl
/* 80177D08 00174C68 7F C3 F3 78 */ mr r3, r30
/* 80177D0C 00174C6C 7F E5 FB 78 */ mr r5, r31
/* 80177D10 00174C70 38 80 00 00 */ li r4, 0
/* 80177D14 00174C74 4B FF F5 91 */ bl SetLightsActive__17CPlasmaProjectileFbR13CStateManager
/* 80177D18 00174C78 C0 02 A1 C0 */ lfs f0, lbl_805ABEE0@sda21(r2)
/* 80177D1C 00174C7C 38 60 00 00 */ li r3, 0
/* 80177D20 00174C80 38 80 00 00 */ li r4, 0
/* 80177D24 00174C84 D0 1E 04 BC */ stfs f0, 0x4bc(r30)
/* 80177D28 00174C88 D0 1E 04 C0 */ stfs f0, 0x4c0(r30)
/* 80177D2C 00174C8C D0 1E 04 C8 */ stfs f0, 0x4c8(r30)
/* 80177D30 00174C90 D0 1E 04 D0 */ stfs f0, 0x4d0(r30)
/* 80177D34 00174C94 D0 1E 04 C8 */ stfs f0, 0x4c8(r30)
/* 80177D38 00174C98 D0 1E 04 D4 */ stfs f0, 0x4d4(r30)
/* 80177D3C 00174C9C D0 1E 04 D8 */ stfs f0, 0x4d8(r30)
/* 80177D40 00174CA0 D0 1E 04 DC */ stfs f0, 0x4dc(r30)
/* 80177D44 00174CA4 90 7E 04 B4 */ stw r3, 0x4b4(r30)
/* 80177D48 00174CA8 88 1E 05 48 */ lbz r0, 0x548(r30)
/* 80177D4C 00174CAC 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 80177D50 00174CB0 98 1E 05 48 */ stb r0, 0x548(r30)
/* 80177D54 00174CB4 80 7E 05 18 */ lwz r3, 0x518(r30)
/* 80177D58 00174CB8 81 83 00 00 */ lwz r12, 0(r3)
/* 80177D5C 00174CBC 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80177D60 00174CC0 7D 89 03 A6 */ mtctr r12
/* 80177D64 00174CC4 4E 80 04 21 */ bctrl
/* 80177D68 00174CC8 80 7E 05 1C */ lwz r3, 0x51c(r30)
/* 80177D6C 00174CCC 38 80 00 00 */ li r4, 0
/* 80177D70 00174CD0 81 83 00 00 */ lwz r12, 0(r3)
/* 80177D74 00174CD4 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80177D78 00174CD8 7D 89 03 A6 */ mtctr r12
/* 80177D7C 00174CDC 4E 80 04 21 */ bctrl
/* 80177D80 00174CE0 48 00 00 4C */ b lbl_80177DCC
lbl_80177D84:
/* 80177D84 00174CE4 88 7E 05 48 */ lbz r3, 0x548(r30)
/* 80177D88 00174CE8 38 00 00 00 */ li r0, 0
/* 80177D8C 00174CEC 50 03 2E B4 */ rlwimi r3, r0, 5, 0x1a, 0x1a
/* 80177D90 00174CF0 38 00 00 03 */ li r0, 3
/* 80177D94 00174CF4 98 7E 05 48 */ stb r3, 0x548(r30)
/* 80177D98 00174CF8 38 80 00 00 */ li r4, 0
/* 80177D9C 00174CFC 90 1E 04 B4 */ stw r0, 0x4b4(r30)
/* 80177DA0 00174D00 80 7E 05 18 */ lwz r3, 0x518(r30)
/* 80177DA4 00174D04 81 83 00 00 */ lwz r12, 0(r3)
/* 80177DA8 00174D08 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80177DAC 00174D0C 7D 89 03 A6 */ mtctr r12
/* 80177DB0 00174D10 4E 80 04 21 */ bctrl
/* 80177DB4 00174D14 80 7E 05 1C */ lwz r3, 0x51c(r30)
/* 80177DB8 00174D18 38 80 00 00 */ li r4, 0
/* 80177DBC 00174D1C 81 83 00 00 */ lwz r12, 0(r3)
/* 80177DC0 00174D20 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80177DC4 00174D24 7D 89 03 A6 */ mtctr r12
/* 80177DC8 00174D28 4E 80 04 21 */ bctrl
lbl_80177DCC:
/* 80177DCC 00174D2C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80177DD0 00174D30 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80177DD4 00174D34 83 C1 00 08 */ lwz r30, 8(r1)
/* 80177DD8 00174D38 7C 08 03 A6 */ mtlr r0
/* 80177DDC 00174D3C 38 21 00 10 */ addi r1, r1, 0x10
/* 80177DE0 00174D40 4E 80 00 20 */ blr
.global Fire__17CPlasmaProjectileFRC12CTransform4fR13CStateManagerb
Fire__17CPlasmaProjectileFRC12CTransform4fR13CStateManagerb:
/* 80177DE4 00174D44 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80177DE8 00174D48 7C 08 02 A6 */ mflr r0
/* 80177DEC 00174D4C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80177DF0 00174D50 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80177DF4 00174D54 7C DF 33 78 */ mr r31, r6
/* 80177DF8 00174D58 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80177DFC 00174D5C 7C BE 2B 78 */ mr r30, r5
/* 80177E00 00174D60 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80177E04 00174D64 7C 9D 23 78 */ mr r29, r4
/* 80177E08 00174D68 38 80 00 01 */ li r4, 1
/* 80177E0C 00174D6C 93 81 00 10 */ stw r28, 0x10(r1)
/* 80177E10 00174D70 7C 7C 1B 78 */ mr r28, r3
/* 80177E14 00174D74 81 83 00 00 */ lwz r12, 0(r3)
/* 80177E18 00174D78 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80177E1C 00174D7C 7D 89 03 A6 */ mtctr r12
/* 80177E20 00174D80 4E 80 04 21 */ bctrl
/* 80177E24 00174D84 7F 83 E3 78 */ mr r3, r28
/* 80177E28 00174D88 7F C5 F3 78 */ mr r5, r30
/* 80177E2C 00174D8C 38 80 00 01 */ li r4, 1
/* 80177E30 00174D90 4B FF F4 75 */ bl SetLightsActive__17CPlasmaProjectileFbR13CStateManager
/* 80177E34 00174D94 88 1C 05 48 */ lbz r0, 0x548(r28)
/* 80177E38 00174D98 38 80 00 01 */ li r4, 1
/* 80177E3C 00174D9C 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 80177E40 00174DA0 98 1C 05 48 */ stb r0, 0x548(r28)
/* 80177E44 00174DA4 88 1C 05 48 */ lbz r0, 0x548(r28)
/* 80177E48 00174DA8 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 80177E4C 00174DAC 98 1C 05 48 */ stb r0, 0x548(r28)
/* 80177E50 00174DB0 88 1C 05 48 */ lbz r0, 0x548(r28)
/* 80177E54 00174DB4 53 E0 3E 30 */ rlwimi r0, r31, 7, 0x18, 0x18
/* 80177E58 00174DB8 98 1C 05 48 */ stb r0, 0x548(r28)
/* 80177E5C 00174DBC 90 9C 04 B4 */ stw r4, 0x4b4(r28)
/* 80177E60 00174DC0 80 1C 04 78 */ lwz r0, 0x478(r28)
/* 80177E64 00174DC4 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80177E68 00174DC8 41 82 00 C4 */ beq lbl_80177F2C
/* 80177E6C 00174DCC C0 5D 00 2C */ lfs f2, 0x2c(r29)
/* 80177E70 00174DD0 C0 3D 00 1C */ lfs f1, 0x1c(r29)
/* 80177E74 00174DD4 C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 80177E78 00174DD8 D0 1C 04 04 */ stfs f0, 0x404(r28)
/* 80177E7C 00174DDC D0 3C 04 08 */ stfs f1, 0x408(r28)
/* 80177E80 00174DE0 D0 5C 04 0C */ stfs f2, 0x40c(r28)
/* 80177E84 00174DE4 C0 5D 00 2C */ lfs f2, 0x2c(r29)
/* 80177E88 00174DE8 C0 3D 00 1C */ lfs f1, 0x1c(r29)
/* 80177E8C 00174DEC C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 80177E90 00174DF0 D0 1C 04 10 */ stfs f0, 0x410(r28)
/* 80177E94 00174DF4 D0 3C 04 14 */ stfs f1, 0x414(r28)
/* 80177E98 00174DF8 D0 5C 04 18 */ stfs f2, 0x418(r28)
/* 80177E9C 00174DFC C0 5D 00 2C */ lfs f2, 0x2c(r29)
/* 80177EA0 00174E00 C0 3D 00 1C */ lfs f1, 0x1c(r29)
/* 80177EA4 00174E04 C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 80177EA8 00174E08 D0 1C 04 1C */ stfs f0, 0x41c(r28)
/* 80177EAC 00174E0C D0 3C 04 20 */ stfs f1, 0x420(r28)
/* 80177EB0 00174E10 D0 5C 04 24 */ stfs f2, 0x424(r28)
/* 80177EB4 00174E14 C0 5D 00 2C */ lfs f2, 0x2c(r29)
/* 80177EB8 00174E18 C0 3D 00 1C */ lfs f1, 0x1c(r29)
/* 80177EBC 00174E1C C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 80177EC0 00174E20 D0 1C 04 28 */ stfs f0, 0x428(r28)
/* 80177EC4 00174E24 D0 3C 04 2C */ stfs f1, 0x42c(r28)
/* 80177EC8 00174E28 D0 5C 04 30 */ stfs f2, 0x430(r28)
/* 80177ECC 00174E2C C0 5D 00 2C */ lfs f2, 0x2c(r29)
/* 80177ED0 00174E30 C0 3D 00 1C */ lfs f1, 0x1c(r29)
/* 80177ED4 00174E34 C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 80177ED8 00174E38 D0 1C 04 34 */ stfs f0, 0x434(r28)
/* 80177EDC 00174E3C D0 3C 04 38 */ stfs f1, 0x438(r28)
/* 80177EE0 00174E40 D0 5C 04 3C */ stfs f2, 0x43c(r28)
/* 80177EE4 00174E44 C0 5D 00 2C */ lfs f2, 0x2c(r29)
/* 80177EE8 00174E48 C0 3D 00 1C */ lfs f1, 0x1c(r29)
/* 80177EEC 00174E4C C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 80177EF0 00174E50 D0 1C 04 40 */ stfs f0, 0x440(r28)
/* 80177EF4 00174E54 D0 3C 04 44 */ stfs f1, 0x444(r28)
/* 80177EF8 00174E58 D0 5C 04 48 */ stfs f2, 0x448(r28)
/* 80177EFC 00174E5C C0 5D 00 2C */ lfs f2, 0x2c(r29)
/* 80177F00 00174E60 C0 3D 00 1C */ lfs f1, 0x1c(r29)
/* 80177F04 00174E64 C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 80177F08 00174E68 D0 1C 04 4C */ stfs f0, 0x44c(r28)
/* 80177F0C 00174E6C D0 3C 04 50 */ stfs f1, 0x450(r28)
/* 80177F10 00174E70 D0 5C 04 54 */ stfs f2, 0x454(r28)
/* 80177F14 00174E74 C0 5D 00 2C */ lfs f2, 0x2c(r29)
/* 80177F18 00174E78 C0 3D 00 1C */ lfs f1, 0x1c(r29)
/* 80177F1C 00174E7C C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 80177F20 00174E80 D0 1C 04 58 */ stfs f0, 0x458(r28)
/* 80177F24 00174E84 D0 3C 04 5C */ stfs f1, 0x45c(r28)
/* 80177F28 00174E88 D0 5C 04 60 */ stfs f2, 0x460(r28)
lbl_80177F2C:
/* 80177F2C 00174E8C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80177F30 00174E90 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80177F34 00174E94 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80177F38 00174E98 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80177F3C 00174E9C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80177F40 00174EA0 7C 08 03 A6 */ mtlr r0
/* 80177F44 00174EA4 38 21 00 20 */ addi r1, r1, 0x20
/* 80177F48 00174EA8 4E 80 00 20 */ blr
.global Render__17CPlasmaProjectileCFRC13CStateManager
Render__17CPlasmaProjectileCFRC13CStateManager:
/* 80177F4C 00174EAC 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 80177F50 00174EB0 7C 08 02 A6 */ mflr r0
/* 80177F54 00174EB4 90 01 01 24 */ stw r0, 0x124(r1)
/* 80177F58 00174EB8 93 E1 01 1C */ stw r31, 0x11c(r1)
/* 80177F5C 00174EBC 93 C1 01 18 */ stw r30, 0x118(r1)
/* 80177F60 00174EC0 7C 9E 23 78 */ mr r30, r4
/* 80177F64 00174EC4 93 A1 01 14 */ stw r29, 0x114(r1)
/* 80177F68 00174EC8 7C 7D 1B 78 */ mr r29, r3
/* 80177F6C 00174ECC 88 03 00 30 */ lbz r0, 0x30(r3)
/* 80177F70 00174ED0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80177F74 00174ED4 41 82 02 10 */ beq lbl_80178184
/* 80177F78 00174ED8 38 61 00 E0 */ addi r3, r1, 0xe0
/* 80177F7C 00174EDC 38 9D 03 24 */ addi r4, r29, 0x324
/* 80177F80 00174EE0 48 19 AB F5 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80177F84 00174EE4 80 7E 08 B8 */ lwz r3, 0x8b8(r30)
/* 80177F88 00174EE8 7F C4 F3 78 */ mr r4, r30
/* 80177F8C 00174EEC 3B E0 00 00 */ li r31, 0
/* 80177F90 00174EF0 80 63 00 00 */ lwz r3, 0(r3)
/* 80177F94 00174EF4 4B F1 95 C5 */ bl GetActiveVisor__12CPlayerStateCFRC13CStateManager
/* 80177F98 00174EF8 2C 03 00 01 */ cmpwi r3, 1
/* 80177F9C 00174EFC 40 82 00 08 */ bne lbl_80177FA4
/* 80177FA0 00174F00 3B E0 00 10 */ li r31, 0x10
lbl_80177FA4:
/* 80177FA4 00174F04 80 1D 04 78 */ lwz r0, 0x478(r29)
/* 80177FA8 00174F08 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80177FAC 00174F0C 40 82 00 44 */ bne lbl_80177FF0
/* 80177FB0 00174F10 80 9E 08 70 */ lwz r4, 0x870(r30)
/* 80177FB4 00174F14 7F C5 F3 78 */ mr r5, r30
/* 80177FB8 00174F18 38 61 00 14 */ addi r3, r1, 0x14
/* 80177FBC 00174F1C 4B E9 29 59 */ bl GetGlobalCameraTranslation__14CCameraManagerCFRC13CStateManager
/* 80177FC0 00174F20 C0 21 00 EC */ lfs f1, 0xec(r1)
/* 80177FC4 00174F24 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80177FC8 00174F28 C0 61 00 FC */ lfs f3, 0xfc(r1)
/* 80177FCC 00174F2C C0 41 00 18 */ lfs f2, 0x18(r1)
/* 80177FD0 00174F30 EC 81 00 2A */ fadds f4, f1, f0
/* 80177FD4 00174F34 C0 21 01 0C */ lfs f1, 0x10c(r1)
/* 80177FD8 00174F38 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80177FDC 00174F3C EC 43 10 2A */ fadds f2, f3, f2
/* 80177FE0 00174F40 D0 81 00 EC */ stfs f4, 0xec(r1)
/* 80177FE4 00174F44 EC 01 00 2A */ fadds f0, f1, f0
/* 80177FE8 00174F48 D0 41 00 FC */ stfs f2, 0xfc(r1)
/* 80177FEC 00174F4C D0 01 01 0C */ stfs f0, 0x10c(r1)
lbl_80177FF0:
/* 80177FF0 00174F50 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80177FF4 00174F54 38 80 00 01 */ li r4, 1
/* 80177FF8 00174F58 38 A0 00 00 */ li r5, 0
/* 80177FFC 00174F5C 81 83 00 00 */ lwz r12, 0(r3)
/* 80178000 00174F60 81 8C 00 60 */ lwz r12, 0x60(r12)
/* 80178004 00174F64 7D 89 03 A6 */ mtctr r12
/* 80178008 00174F68 4E 80 04 21 */ bctrl
/* 8017800C 00174F6C 80 1D 04 78 */ lwz r0, 0x478(r29)
/* 80178010 00174F70 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80178014 00174F74 41 82 00 24 */ beq lbl_80178038
/* 80178018 00174F78 88 1D 05 48 */ lbz r0, 0x548(r29)
/* 8017801C 00174F7C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 80178020 00174F80 41 82 00 18 */ beq lbl_80178038
/* 80178024 00174F84 80 1D 04 B4 */ lwz r0, 0x4b4(r29)
/* 80178028 00174F88 2C 00 00 01 */ cmpwi r0, 1
/* 8017802C 00174F8C 41 82 00 0C */ beq lbl_80178038
/* 80178030 00174F90 7F A3 EB 78 */ mr r3, r29
/* 80178034 00174F94 4B FF F5 59 */ bl RenderMotionBlur__17CPlasmaProjectileCFv
lbl_80178038:
/* 80178038 00174F98 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 8017803C 00174F9C 38 81 00 E0 */ addi r4, r1, 0xe0
/* 80178040 00174FA0 81 83 00 00 */ lwz r12, 0(r3)
/* 80178044 00174FA4 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 80178048 00174FA8 7D 89 03 A6 */ mtctr r12
/* 8017804C 00174FAC 4E 80 04 21 */ bctrl
/* 80178050 00174FB0 C0 22 A1 FC */ lfs f1, lbl_805ABF1C@sda21(r2)
/* 80178054 00174FB4 38 61 00 10 */ addi r3, r1, 0x10
/* 80178058 00174FB8 C0 82 A2 00 */ lfs f4, lbl_805ABF20@sda21(r2)
/* 8017805C 00174FBC FC 40 08 90 */ fmr f2, f1
/* 80178060 00174FC0 FC 60 08 90 */ fmr f3, f1
/* 80178064 00174FC4 48 1E B3 89 */ bl __ct__6CColorFffff
/* 80178068 00174FC8 C0 22 A1 F8 */ lfs f1, lbl_805ABF18@sda21(r2)
/* 8017806C 00174FCC 7C 65 1B 78 */ mr r5, r3
/* 80178070 00174FD0 C0 1D 04 B8 */ lfs f0, 0x4b8(r29)
/* 80178074 00174FD4 7F A3 EB 78 */ mr r3, r29
/* 80178078 00174FD8 63 E6 00 04 */ ori r6, r31, 4
/* 8017807C 00174FDC 38 80 00 03 */ li r4, 3
/* 80178080 00174FE0 EC 21 00 32 */ fmuls f1, f1, f0
/* 80178084 00174FE4 4B FF F8 89 */ bl RenderBeam__17CPlasmaProjectileCFifRC6CColori
/* 80178088 00174FE8 C0 22 A2 04 */ lfs f1, lbl_805ABF24@sda21(r2)
/* 8017808C 00174FEC 38 61 00 80 */ addi r3, r1, 0x80
/* 80178090 00174FF0 C0 1D 04 C8 */ lfs f0, 0x4c8(r29)
/* 80178094 00174FF4 38 81 00 0C */ addi r4, r1, 0xc
/* 80178098 00174FF8 EC 01 00 32 */ fmuls f0, f1, f0
/* 8017809C 00174FFC D0 01 00 0C */ stfs f0, 0xc(r1)
/* 801780A0 00175000 48 19 B8 09 */ bl RotateY__12CTransform4fFRC9CRelAngle
/* 801780A4 00175004 38 61 00 B0 */ addi r3, r1, 0xb0
/* 801780A8 00175008 38 81 00 E0 */ addi r4, r1, 0xe0
/* 801780AC 0017500C 38 A1 00 80 */ addi r5, r1, 0x80
/* 801780B0 00175010 48 19 A8 A1 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 801780B4 00175014 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 801780B8 00175018 38 81 00 B0 */ addi r4, r1, 0xb0
/* 801780BC 0017501C 81 83 00 00 */ lwz r12, 0(r3)
/* 801780C0 00175020 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 801780C4 00175024 7D 89 03 A6 */ mtctr r12
/* 801780C8 00175028 4E 80 04 21 */ bctrl
/* 801780CC 0017502C C0 22 A1 E8 */ lfs f1, lbl_805ABF08@sda21(r2)
/* 801780D0 00175030 7F A3 EB 78 */ mr r3, r29
/* 801780D4 00175034 C0 1D 04 B8 */ lfs f0, 0x4b8(r29)
/* 801780D8 00175038 38 BD 04 90 */ addi r5, r29, 0x490
/* 801780DC 0017503C 63 E6 00 01 */ ori r6, r31, 1
/* 801780E0 00175040 38 80 00 04 */ li r4, 4
/* 801780E4 00175044 EC 21 00 32 */ fmuls f1, f1, f0
/* 801780E8 00175048 4B FF F8 25 */ bl RenderBeam__17CPlasmaProjectileCFifRC6CColori
/* 801780EC 0017504C C0 1D 04 C8 */ lfs f0, 0x4c8(r29)
/* 801780F0 00175050 38 61 00 20 */ addi r3, r1, 0x20
/* 801780F4 00175054 C0 22 A2 04 */ lfs f1, lbl_805ABF24@sda21(r2)
/* 801780F8 00175058 38 81 00 08 */ addi r4, r1, 8
/* 801780FC 0017505C FC 00 00 50 */ fneg f0, f0
/* 80178100 00175060 EC 01 00 32 */ fmuls f0, f1, f0
/* 80178104 00175064 D0 01 00 08 */ stfs f0, 8(r1)
/* 80178108 00175068 48 19 B7 A1 */ bl RotateY__12CTransform4fFRC9CRelAngle
/* 8017810C 0017506C 38 61 00 50 */ addi r3, r1, 0x50
/* 80178110 00175070 38 81 00 E0 */ addi r4, r1, 0xe0
/* 80178114 00175074 38 A1 00 20 */ addi r5, r1, 0x20
/* 80178118 00175078 48 19 A8 39 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 8017811C 0017507C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80178120 00175080 38 81 00 50 */ addi r4, r1, 0x50
/* 80178124 00175084 81 83 00 00 */ lwz r12, 0(r3)
/* 80178128 00175088 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 8017812C 0017508C 7D 89 03 A6 */ mtctr r12
/* 80178130 00175090 4E 80 04 21 */ bctrl
/* 80178134 00175094 C0 3D 04 B8 */ lfs f1, 0x4b8(r29)
/* 80178138 00175098 7F A3 EB 78 */ mr r3, r29
/* 8017813C 0017509C 38 BD 04 94 */ addi r5, r29, 0x494
/* 80178140 001750A0 63 E6 00 03 */ ori r6, r31, 3
/* 80178144 001750A4 38 80 00 08 */ li r4, 8
/* 80178148 001750A8 4B FF F7 C5 */ bl RenderBeam__17CPlasmaProjectileCFifRC6CColori
/* 8017814C 001750AC 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 80178150 001750B0 38 81 00 E0 */ addi r4, r1, 0xe0
/* 80178154 001750B4 81 83 00 00 */ lwz r12, 0(r3)
/* 80178158 001750B8 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 8017815C 001750BC 7D 89 03 A6 */ mtctr r12
/* 80178160 001750C0 4E 80 04 21 */ bctrl
/* 80178164 001750C4 C0 22 A2 08 */ lfs f1, lbl_805ABF28@sda21(r2)
/* 80178168 001750C8 7F A3 EB 78 */ mr r3, r29
/* 8017816C 001750CC C0 1D 04 B8 */ lfs f0, 0x4b8(r29)
/* 80178170 001750D0 38 BD 04 94 */ addi r5, r29, 0x494
/* 80178174 001750D4 63 E6 00 0D */ ori r6, r31, 0xd
/* 80178178 001750D8 38 80 00 06 */ li r4, 6
/* 8017817C 001750DC EC 21 00 32 */ fmuls f1, f1, f0
/* 80178180 001750E0 4B FF F7 8D */ bl RenderBeam__17CPlasmaProjectileCFifRC6CColori
lbl_80178184:
/* 80178184 001750E4 80 01 01 24 */ lwz r0, 0x124(r1)
/* 80178188 001750E8 83 E1 01 1C */ lwz r31, 0x11c(r1)
/* 8017818C 001750EC 83 C1 01 18 */ lwz r30, 0x118(r1)
/* 80178190 001750F0 83 A1 01 14 */ lwz r29, 0x114(r1)
/* 80178194 001750F4 7C 08 03 A6 */ mtlr r0
/* 80178198 001750F8 38 21 01 20 */ addi r1, r1, 0x120
/* 8017819C 001750FC 4E 80 00 20 */ blr
.global AddToRenderer__17CPlasmaProjectileCFRC14CFrustumPlanesRC13CStateManager
AddToRenderer__17CPlasmaProjectileCFRC14CFrustumPlanesRC13CStateManager:
/* 801781A0 00175100 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 801781A4 00175104 7C 08 02 A6 */ mflr r0
/* 801781A8 00175108 90 01 00 44 */ stw r0, 0x44(r1)
/* 801781AC 0017510C 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 801781B0 00175110 7C BF 2B 78 */ mr r31, r5
/* 801781B4 00175114 93 C1 00 38 */ stw r30, 0x38(r1)
/* 801781B8 00175118 7C 7E 1B 78 */ mr r30, r3
/* 801781BC 0017511C 88 03 00 30 */ lbz r0, 0x30(r3)
/* 801781C0 00175120 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801781C4 00175124 41 82 00 40 */ beq lbl_80178204
/* 801781C8 00175128 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 801781CC 0017512C 80 9E 05 18 */ lwz r4, 0x518(r30)
/* 801781D0 00175130 81 83 00 00 */ lwz r12, 0(r3)
/* 801781D4 00175134 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 801781D8 00175138 7D 89 03 A6 */ mtctr r12
/* 801781DC 0017513C 4E 80 04 21 */ bctrl
/* 801781E0 00175140 80 1E 04 78 */ lwz r0, 0x478(r30)
/* 801781E4 00175144 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 801781E8 00175148 41 82 00 1C */ beq lbl_80178204
/* 801781EC 0017514C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13)
/* 801781F0 00175150 80 9E 05 1C */ lwz r4, 0x51c(r30)
/* 801781F4 00175154 81 83 00 00 */ lwz r12, 0(r3)
/* 801781F8 00175158 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 801781FC 0017515C 7D 89 03 A6 */ mtctr r12
/* 80178200 00175160 4E 80 04 21 */ bctrl
lbl_80178204:
/* 80178204 00175164 C0 5E 03 50 */ lfs f2, 0x350(r30)
/* 80178208 00175168 7F C4 F3 78 */ mr r4, r30
/* 8017820C 0017516C C0 3E 03 40 */ lfs f1, 0x340(r30)
/* 80178210 00175170 7F E5 FB 78 */ mr r5, r31
/* 80178214 00175174 C0 1E 03 30 */ lfs f0, 0x330(r30)
/* 80178218 00175178 38 61 00 14 */ addi r3, r1, 0x14
/* 8017821C 0017517C D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80178220 00175180 D0 01 00 08 */ stfs f0, 8(r1)
/* 80178224 00175184 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 80178228 00175188 81 9E 00 00 */ lwz r12, 0(r30)
/* 8017822C 0017518C 81 8C 00 64 */ lwz r12, 0x64(r12)
/* 80178230 00175190 7D 89 03 A6 */ mtctr r12
/* 80178234 00175194 4E 80 04 21 */ bctrl
/* 80178238 00175198 7F C3 F3 78 */ mr r3, r30
/* 8017823C 0017519C 7F E4 FB 78 */ mr r4, r31
/* 80178240 001751A0 38 A1 00 08 */ addi r5, r1, 8
/* 80178244 001751A4 38 C1 00 14 */ addi r6, r1, 0x14
/* 80178248 001751A8 4B ED C8 61 */ bl EnsureRendered__6CActorCFRC13CStateManagerRC9CVector3f
/* 8017824C 001751AC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80178250 001751B0 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 80178254 001751B4 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 80178258 001751B8 7C 08 03 A6 */ mtlr r0
/* 8017825C 001751BC 38 21 00 40 */ addi r1, r1, 0x40
/* 80178260 001751C0 4E 80 00 20 */ blr
.global CanRenderUnsorted__17CPlasmaProjectileCFRC13CStateManager
CanRenderUnsorted__17CPlasmaProjectileCFRC13CStateManager:
/* 80178264 001751C4 38 60 00 00 */ li r3, 0
/* 80178268 001751C8 4E 80 00 20 */ blr
.global UpdateFx__17CPlasmaProjectileFRC12CTransform4ffR13CStateManager
UpdateFx__17CPlasmaProjectileFRC12CTransform4ffR13CStateManager:
/* 8017826C 001751CC 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80178270 001751D0 7C 08 02 A6 */ mflr r0
/* 80178274 001751D4 90 01 00 84 */ stw r0, 0x84(r1)
/* 80178278 001751D8 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 8017827C 001751DC F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 80178280 001751E0 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 80178284 001751E4 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 80178288 001751E8 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 8017828C 001751EC 93 C1 00 58 */ stw r30, 0x58(r1)
/* 80178290 001751F0 93 A1 00 54 */ stw r29, 0x54(r1)
/* 80178294 001751F4 88 03 00 30 */ lbz r0, 0x30(r3)
/* 80178298 001751F8 FF E0 08 90 */ fmr f31, f1
/* 8017829C 001751FC 7C 7D 1B 78 */ mr r29, r3
/* 801782A0 00175200 7C 9E 23 78 */ mr r30, r4
/* 801782A4 00175204 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801782A8 00175208 7C BF 2B 78 */ mr r31, r5
/* 801782AC 0017520C 41 82 03 44 */ beq lbl_801785F0
/* 801782B0 00175210 80 1D 04 F0 */ lwz r0, 0x4f0(r29)
/* 801782B4 00175214 28 00 00 00 */ cmplwi r0, 0
/* 801782B8 00175218 41 82 00 0C */ beq lbl_801782C4
/* 801782BC 0017521C 38 80 00 01 */ li r4, 1
/* 801782C0 00175220 48 00 00 3C */ b lbl_801782FC
lbl_801782C4:
/* 801782C4 00175224 88 1D 04 EC */ lbz r0, 0x4ec(r29)
/* 801782C8 00175228 28 00 00 00 */ cmplwi r0, 0
/* 801782CC 0017522C 41 82 00 2C */ beq lbl_801782F8
/* 801782D0 00175230 80 7D 04 E8 */ lwz r3, 0x4e8(r29)
/* 801782D4 00175234 80 03 00 10 */ lwz r0, 0x10(r3)
/* 801782D8 00175238 28 00 00 00 */ cmplwi r0, 0
/* 801782DC 0017523C 41 82 00 1C */ beq lbl_801782F8
/* 801782E0 00175240 38 7D 04 E8 */ addi r3, r29, 0x4e8
/* 801782E4 00175244 48 1C 8B 29 */ bl GetObj__6CTokenFv
/* 801782E8 00175248 80 03 00 04 */ lwz r0, 4(r3)
/* 801782EC 0017524C 38 80 00 01 */ li r4, 1
/* 801782F0 00175250 90 1D 04 F0 */ stw r0, 0x4f0(r29)
/* 801782F4 00175254 48 00 00 08 */ b lbl_801782FC
lbl_801782F8:
/* 801782F8 00175258 38 80 00 00 */ li r4, 0
lbl_801782FC:
/* 801782FC 0017525C 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 80178300 00175260 41 82 00 50 */ beq lbl_80178350
/* 80178304 00175264 80 1D 04 FC */ lwz r0, 0x4fc(r29)
/* 80178308 00175268 28 00 00 00 */ cmplwi r0, 0
/* 8017830C 0017526C 41 82 00 0C */ beq lbl_80178318
/* 80178310 00175270 38 80 00 01 */ li r4, 1
/* 80178314 00175274 48 00 00 3C */ b lbl_80178350
lbl_80178318:
/* 80178318 00175278 88 1D 04 F8 */ lbz r0, 0x4f8(r29)
/* 8017831C 0017527C 28 00 00 00 */ cmplwi r0, 0
/* 80178320 00175280 41 82 00 2C */ beq lbl_8017834C
/* 80178324 00175284 80 7D 04 F4 */ lwz r3, 0x4f4(r29)
/* 80178328 00175288 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8017832C 0017528C 28 00 00 00 */ cmplwi r0, 0
/* 80178330 00175290 41 82 00 1C */ beq lbl_8017834C
/* 80178334 00175294 38 7D 04 F4 */ addi r3, r29, 0x4f4
/* 80178338 00175298 48 1C 8A D5 */ bl GetObj__6CTokenFv
/* 8017833C 0017529C 80 03 00 04 */ lwz r0, 4(r3)
/* 80178340 001752A0 38 80 00 01 */ li r4, 1
/* 80178344 001752A4 90 1D 04 FC */ stw r0, 0x4fc(r29)
/* 80178348 001752A8 48 00 00 08 */ b lbl_80178350
lbl_8017834C:
/* 8017834C 001752AC 38 80 00 00 */ li r4, 0
lbl_80178350:
/* 80178350 001752B0 88 7D 05 48 */ lbz r3, 0x548(r29)
/* 80178354 001752B4 50 83 26 F6 */ rlwimi r3, r4, 4, 0x1b, 0x1b
/* 80178358 001752B8 38 00 00 00 */ li r0, 0
/* 8017835C 001752BC 98 7D 05 48 */ stb r3, 0x548(r29)
/* 80178360 001752C0 80 7D 04 B4 */ lwz r3, 0x4b4(r29)
/* 80178364 001752C4 2C 03 00 01 */ cmpwi r3, 1
/* 80178368 001752C8 41 82 00 0C */ beq lbl_80178374
/* 8017836C 001752CC 2C 03 00 02 */ cmpwi r3, 2
/* 80178370 001752D0 40 82 00 08 */ bne lbl_80178378
lbl_80178374:
/* 80178374 001752D4 38 00 00 01 */ li r0, 1
lbl_80178378:
/* 80178378 001752D8 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 8017837C 001752DC 88 1D 04 64 */ lbz r0, 0x464(r29)
/* 80178380 001752E0 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80178384 001752E4 FC 20 F8 90 */ fmr f1, f31
/* 80178388 001752E8 98 1D 04 64 */ stb r0, 0x464(r29)
/* 8017838C 001752EC 7F A3 EB 78 */ mr r3, r29
/* 80178390 001752F0 7F C4 F3 78 */ mr r4, r30
/* 80178394 001752F4 7F E5 FB 78 */ mr r5, r31
/* 80178398 001752F8 48 02 0A 49 */ bl UpdateFx__15CBeamProjectileFRC12CTransform4ffR13CStateManager
/* 8017839C 001752FC FC 20 F8 90 */ fmr f1, f31
/* 801783A0 00175300 7F A3 EB 78 */ mr r3, r29
/* 801783A4 00175304 7F E4 FB 78 */ mr r4, r31
/* 801783A8 00175308 48 00 02 75 */ bl UpdatePlayerEffects__17CPlasmaProjectileFfR13CStateManager
/* 801783AC 0017530C 80 1D 04 78 */ lwz r0, 0x478(r29)
/* 801783B0 00175310 38 9D 04 00 */ addi r4, r29, 0x400
/* 801783B4 00175314 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 801783B8 00175318 41 82 00 60 */ beq lbl_80178418
/* 801783BC 0017531C 38 00 00 07 */ li r0, 7
/* 801783C0 00175320 38 C0 00 01 */ li r6, 1
/* 801783C4 00175324 7C 09 03 A6 */ mtctr r0
lbl_801783C8:
/* 801783C8 00175328 20 A6 00 08 */ subfic r5, r6, 8
/* 801783CC 0017532C 38 C6 00 01 */ addi r6, r6, 1
/* 801783D0 00175330 38 05 FF FF */ addi r0, r5, -1
/* 801783D4 00175334 1C 60 00 0C */ mulli r3, r0, 0xc
/* 801783D8 00175338 1C 05 00 0C */ mulli r0, r5, 0xc
/* 801783DC 0017533C 7C 64 1A 14 */ add r3, r4, r3
/* 801783E0 00175340 C0 03 00 04 */ lfs f0, 4(r3)
/* 801783E4 00175344 7C A4 02 14 */ add r5, r4, r0
/* 801783E8 00175348 D0 05 00 04 */ stfs f0, 4(r5)
/* 801783EC 0017534C C0 03 00 08 */ lfs f0, 8(r3)
/* 801783F0 00175350 D0 05 00 08 */ stfs f0, 8(r5)
/* 801783F4 00175354 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 801783F8 00175358 D0 05 00 0C */ stfs f0, 0xc(r5)
/* 801783FC 0017535C 42 00 FF CC */ bdnz lbl_801783C8
/* 80178400 00175360 C0 1D 03 18 */ lfs f0, 0x318(r29)
/* 80178404 00175364 D0 04 00 04 */ stfs f0, 4(r4)
/* 80178408 00175368 C0 1D 03 1C */ lfs f0, 0x31c(r29)
/* 8017840C 0017536C D0 04 00 08 */ stfs f0, 8(r4)
/* 80178410 00175370 C0 1D 03 20 */ lfs f0, 0x320(r29)
/* 80178414 00175374 D0 04 00 0C */ stfs f0, 0xc(r4)
lbl_80178418:
/* 80178418 00175378 80 1D 02 F8 */ lwz r0, 0x2f8(r29)
/* 8017841C 0017537C 2C 00 00 00 */ cmpwi r0, 0
/* 80178420 00175380 41 82 00 10 */ beq lbl_80178430
/* 80178424 00175384 88 1D 05 48 */ lbz r0, 0x548(r29)
/* 80178428 00175388 54 03 D7 FE */ rlwinm r3, r0, 0x1a, 0x1f, 0x1f
/* 8017842C 0017538C 48 00 00 08 */ b lbl_80178434
lbl_80178430:
/* 80178430 00175390 38 60 00 00 */ li r3, 0
lbl_80178434:
/* 80178434 00175394 80 1D 05 18 */ lwz r0, 0x518(r29)
/* 80178438 00175398 28 00 00 00 */ cmplwi r0, 0
/* 8017843C 0017539C 41 82 01 1C */ beq lbl_80178558
/* 80178440 001753A0 C0 1D 04 D4 */ lfs f0, 0x4d4(r29)
/* 80178444 001753A4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80178448 001753A8 EC 00 F8 28 */ fsubs f0, f0, f31
/* 8017844C 001753AC D0 1D 04 D4 */ stfs f0, 0x4d4(r29)
/* 80178450 001753B0 41 82 00 D8 */ beq lbl_80178528
/* 80178454 001753B4 C0 3D 04 D4 */ lfs f1, 0x4d4(r29)
/* 80178458 001753B8 C0 02 A1 C0 */ lfs f0, lbl_805ABEE0@sda21(r2)
/* 8017845C 001753BC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80178460 001753C0 4C 40 13 82 */ cror 2, 0, 2
/* 80178464 001753C4 40 82 00 C4 */ bne lbl_80178528
/* 80178468 001753C8 3C 80 80 5A */ lis r4, skZero3f@ha
/* 8017846C 001753CC 3C 60 80 5A */ lis r3, lbl_805A66F4@ha
/* 80178470 001753D0 38 C3 66 F4 */ addi r6, r3, lbl_805A66F4@l
/* 80178474 001753D4 83 DD 05 18 */ lwz r30, 0x518(r29)
/* 80178478 001753D8 38 84 66 A0 */ addi r4, r4, skZero3f@l
/* 8017847C 001753DC 38 61 00 20 */ addi r3, r1, 0x20
/* 80178480 001753E0 38 BD 03 0C */ addi r5, r29, 0x30c
/* 80178484 001753E4 48 19 B6 8D */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f
/* 80178488 001753E8 7F C3 F3 78 */ mr r3, r30
/* 8017848C 001753EC 38 81 00 20 */ addi r4, r1, 0x20
/* 80178490 001753F0 81 9E 00 00 */ lwz r12, 0(r30)
/* 80178494 001753F4 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80178498 001753F8 7D 89 03 A6 */ mtctr r12
/* 8017849C 001753FC 4E 80 04 21 */ bctrl
/* 801784A0 00175400 C0 62 A2 0C */ lfs f3, lbl_805ABF2C@sda21(r2)
/* 801784A4 00175404 38 81 00 14 */ addi r4, r1, 0x14
/* 801784A8 00175408 C0 5D 03 10 */ lfs f2, 0x310(r29)
/* 801784AC 0017540C C0 3D 03 14 */ lfs f1, 0x314(r29)
/* 801784B0 00175410 C0 1D 03 0C */ lfs f0, 0x30c(r29)
/* 801784B4 00175414 EC A3 00 B2 */ fmuls f5, f3, f2
/* 801784B8 00175418 EC 83 00 72 */ fmuls f4, f3, f1
/* 801784BC 0017541C C0 5D 03 1C */ lfs f2, 0x31c(r29)
/* 801784C0 00175420 EC 63 00 32 */ fmuls f3, f3, f0
/* 801784C4 00175424 C0 3D 03 20 */ lfs f1, 0x320(r29)
/* 801784C8 00175428 C0 1D 03 18 */ lfs f0, 0x318(r29)
/* 801784CC 0017542C EC 42 28 2A */ fadds f2, f2, f5
/* 801784D0 00175430 EC 21 20 2A */ fadds f1, f1, f4
/* 801784D4 00175434 D0 61 00 08 */ stfs f3, 8(r1)
/* 801784D8 00175438 EC 00 18 2A */ fadds f0, f0, f3
/* 801784DC 0017543C D0 41 00 18 */ stfs f2, 0x18(r1)
/* 801784E0 00175440 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 801784E4 00175444 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 801784E8 00175448 80 7D 05 18 */ lwz r3, 0x518(r29)
/* 801784EC 0017544C D0 A1 00 0C */ stfs f5, 0xc(r1)
/* 801784F0 00175450 81 83 00 00 */ lwz r12, 0(r3)
/* 801784F4 00175454 D0 81 00 10 */ stfs f4, 0x10(r1)
/* 801784F8 00175458 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 801784FC 0017545C 7D 89 03 A6 */ mtctr r12
/* 80178500 00175460 4E 80 04 21 */ bctrl
/* 80178504 00175464 80 7D 05 18 */ lwz r3, 0x518(r29)
/* 80178508 00175468 38 80 00 01 */ li r4, 1
/* 8017850C 0017546C 81 83 00 00 */ lwz r12, 0(r3)
/* 80178510 00175470 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80178514 00175474 7D 89 03 A6 */ mtctr r12
/* 80178518 00175478 4E 80 04 21 */ bctrl
/* 8017851C 0017547C C0 02 A1 E4 */ lfs f0, lbl_805ABF04@sda21(r2)
/* 80178520 00175480 D0 1D 04 D4 */ stfs f0, 0x4d4(r29)
/* 80178524 00175484 48 00 00 1C */ b lbl_80178540
lbl_80178528:
/* 80178528 00175488 80 7D 05 18 */ lwz r3, 0x518(r29)
/* 8017852C 0017548C 38 80 00 00 */ li r4, 0
/* 80178530 00175490 81 83 00 00 */ lwz r12, 0(r3)
/* 80178534 00175494 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80178538 00175498 7D 89 03 A6 */ mtctr r12
/* 8017853C 0017549C 4E 80 04 21 */ bctrl
lbl_80178540:
/* 80178540 001754A0 80 7D 05 18 */ lwz r3, 0x518(r29)
/* 80178544 001754A4 FC 20 F8 90 */ fmr f1, f31
/* 80178548 001754A8 81 83 00 00 */ lwz r12, 0(r3)
/* 8017854C 001754AC 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80178550 001754B0 7D 89 03 A6 */ mtctr r12
/* 80178554 001754B4 4E 80 04 21 */ bctrl
lbl_80178558:
/* 80178558 001754B8 FC 20 F8 90 */ fmr f1, f31
/* 8017855C 001754BC 7F A3 EB 78 */ mr r3, r29
/* 80178560 001754C0 7F E4 FB 78 */ mr r4, r31
/* 80178564 001754C4 48 00 05 05 */ bl UpdateBeamState__17CPlasmaProjectileFfR13CStateManager
/* 80178568 001754C8 FC 00 08 90 */ fmr f0, f1
/* 8017856C 001754CC 7F A3 EB 78 */ mr r3, r29
/* 80178570 001754D0 FC 20 F8 90 */ fmr f1, f31
/* 80178574 001754D4 FF C0 00 90 */ fmr f30, f0
/* 80178578 001754D8 4B FF F2 01 */ bl UpdateEnergyPulse__17CPlasmaProjectileFf
/* 8017857C 001754DC C0 42 A2 10 */ lfs f2, lbl_805ABF30@sda21(r2)
/* 80178580 001754E0 C0 3D 04 C8 */ lfs f1, 0x4c8(r29)
/* 80178584 001754E4 C0 02 A2 14 */ lfs f0, lbl_805ABF34@sda21(r2)
/* 80178588 001754E8 EC 22 0F FA */ fmadds f1, f2, f31, f1
/* 8017858C 001754EC D0 3D 04 C8 */ stfs f1, 0x4c8(r29)
/* 80178590 001754F0 C0 3D 04 C8 */ lfs f1, 0x4c8(r29)
/* 80178594 001754F4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80178598 001754F8 40 81 00 0C */ ble lbl_801785A4
/* 8017859C 001754FC C0 02 A1 C0 */ lfs f0, lbl_805ABEE0@sda21(r2)
/* 801785A0 00175500 D0 1D 04 C8 */ stfs f0, 0x4c8(r29)
lbl_801785A4:
/* 801785A4 00175504 C0 3D 02 F4 */ lfs f1, 0x2f4(r29)
/* 801785A8 00175508 C0 02 A2 18 */ lfs f0, lbl_805ABF38@sda21(r2)
/* 801785AC 0017550C EC 3E 00 72 */ fmuls f1, f30, f1
/* 801785B0 00175510 D0 3D 04 B8 */ stfs f1, 0x4b8(r29)
/* 801785B4 00175514 D3 DD 04 C4 */ stfs f30, 0x4c4(r29)
/* 801785B8 00175518 C0 5D 04 80 */ lfs f2, 0x480(r29)
/* 801785BC 0017551C C0 3D 04 CC */ lfs f1, 0x4cc(r29)
/* 801785C0 00175520 EC 3F 08 BA */ fmadds f1, f31, f2, f1
/* 801785C4 00175524 D0 3D 04 CC */ stfs f1, 0x4cc(r29)
/* 801785C8 00175528 C0 3D 04 CC */ lfs f1, 0x4cc(r29)
/* 801785CC 0017552C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801785D0 00175530 40 81 00 0C */ ble lbl_801785DC
/* 801785D4 00175534 C0 02 A1 C0 */ lfs f0, lbl_805ABEE0@sda21(r2)
/* 801785D8 00175538 D0 1D 04 CC */ stfs f0, 0x4cc(r29)
lbl_801785DC:
/* 801785DC 0017553C FC 20 F0 90 */ fmr f1, f30
/* 801785E0 00175540 7F A3 EB 78 */ mr r3, r29
/* 801785E4 00175544 FC 40 F8 90 */ fmr f2, f31
/* 801785E8 00175548 7F E4 FB 78 */ mr r4, r31
/* 801785EC 0017554C 4B FF E8 B1 */ bl UpdateLights__17CPlasmaProjectileFffR13CStateManager
lbl_801785F0:
/* 801785F0 00175550 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 801785F4 00175554 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 801785F8 00175558 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 801785FC 0017555C CB C1 00 60 */ lfd f30, 0x60(r1)
/* 80178600 00175560 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 80178604 00175564 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 80178608 00175568 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8017860C 0017556C 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 80178610 00175570 7C 08 03 A6 */ mtlr r0
/* 80178614 00175574 38 21 00 80 */ addi r1, r1, 0x80
/* 80178618 00175578 4E 80 00 20 */ blr
.global UpdatePlayerEffects__17CPlasmaProjectileFfR13CStateManager
UpdatePlayerEffects__17CPlasmaProjectileFfR13CStateManager:
/* 8017861C 0017557C 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 80178620 00175580 7C 08 02 A6 */ mflr r0
/* 80178624 00175584 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 80178628 00175588 DB E1 00 C0 */ stfd f31, 0xc0(r1)
/* 8017862C 0017558C F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0
/* 80178630 00175590 93 E1 00 BC */ stw r31, 0xbc(r1)
/* 80178634 00175594 93 C1 00 B8 */ stw r30, 0xb8(r1)
/* 80178638 00175598 93 A1 00 B4 */ stw r29, 0xb4(r1)
/* 8017863C 0017559C 7C 7D 1B 78 */ mr r29, r3
/* 80178640 001755A0 FF E0 08 90 */ fmr f31, f1
/* 80178644 001755A4 C0 03 04 DC */ lfs f0, 0x4dc(r3)
/* 80178648 001755A8 7C 9E 23 78 */ mr r30, r4
/* 8017864C 001755AC 83 E4 08 4C */ lwz r31, 0x84c(r4)
/* 80178650 001755B0 EC 00 F8 28 */ fsubs f0, f0, f31
/* 80178654 001755B4 D0 03 04 DC */ stfs f0, 0x4dc(r3)
/* 80178658 001755B8 80 03 04 B4 */ lwz r0, 0x4b4(r3)
/* 8017865C 001755BC 2C 00 00 01 */ cmpwi r0, 1
/* 80178660 001755C0 41 82 00 0C */ beq lbl_8017866C
/* 80178664 001755C4 2C 00 00 02 */ cmpwi r0, 2
/* 80178668 001755C8 40 82 02 14 */ bne lbl_8017887C
lbl_8017866C:
/* 8017866C 001755CC C0 3D 04 DC */ lfs f1, 0x4dc(r29)
/* 80178670 001755D0 C0 02 A1 C0 */ lfs f0, lbl_805ABEE0@sda21(r2)
/* 80178674 001755D4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80178678 001755D8 4C 40 13 82 */ cror 2, 0, 2
/* 8017867C 001755DC 40 82 02 00 */ bne lbl_8017887C
/* 80178680 001755E0 80 1D 02 F8 */ lwz r0, 0x2f8(r29)
/* 80178684 001755E4 2C 00 00 01 */ cmpwi r0, 1
/* 80178688 001755E8 40 82 01 F4 */ bne lbl_8017887C
/* 8017868C 001755EC A0 7D 02 FE */ lhz r3, 0x2fe(r29)
/* 80178690 001755F0 A0 1F 00 08 */ lhz r0, 8(r31)
/* 80178694 001755F4 7C 03 00 40 */ cmplw r3, r0
/* 80178698 001755F8 40 82 01 E4 */ bne lbl_8017887C
/* 8017869C 001755FC 80 1D 04 78 */ lwz r0, 0x478(r29)
/* 801786A0 00175600 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 801786A4 00175604 41 82 00 2C */ beq lbl_801786D0
/* 801786A8 00175608 88 9D 05 48 */ lbz r4, 0x548(r29)
/* 801786AC 0017560C 54 80 F7 FE */ rlwinm r0, r4, 0x1e, 0x1f, 0x1f
/* 801786B0 00175610 28 00 00 01 */ cmplwi r0, 1
/* 801786B4 00175614 41 82 00 1C */ beq lbl_801786D0
/* 801786B8 00175618 38 00 00 01 */ li r0, 1
/* 801786BC 0017561C 7F E3 FB 78 */ mr r3, r31
/* 801786C0 00175620 50 04 17 7A */ rlwimi r4, r0, 2, 0x1d, 0x1d
/* 801786C4 00175624 98 9D 05 48 */ stb r4, 0x548(r29)
/* 801786C8 00175628 D0 1D 04 E4 */ stfs f0, 0x4e4(r29)
/* 801786CC 0017562C 4B E9 92 91 */ bl IncrementPhazon__7CPlayerFv
lbl_801786D0:
/* 801786D0 00175630 80 1D 00 F0 */ lwz r0, 0xf0(r29)
/* 801786D4 00175634 2C 00 00 02 */ cmpwi r0, 2
/* 801786D8 00175638 41 82 00 3C */ beq lbl_80178714
/* 801786DC 0017563C 40 80 00 10 */ bge lbl_801786EC
/* 801786E0 00175640 2C 00 00 01 */ cmpwi r0, 1
/* 801786E4 00175644 40 80 00 14 */ bge lbl_801786F8
/* 801786E8 00175648 48 00 01 8C */ b lbl_80178874
lbl_801786EC:
/* 801786EC 0017564C 2C 00 00 04 */ cmpwi r0, 4
/* 801786F0 00175650 40 80 01 84 */ bge lbl_80178874
/* 801786F4 00175654 48 00 01 14 */ b lbl_80178808
lbl_801786F8:
/* 801786F8 00175658 A0 DD 05 44 */ lhz r6, 0x544(r29)
/* 801786FC 0017565C 7F E3 FB 78 */ mr r3, r31
/* 80178700 00175660 80 BD 05 24 */ lwz r5, 0x524(r29)
/* 80178704 00175664 7F C4 F3 78 */ mr r4, r30
/* 80178708 00175668 80 FD 05 28 */ lwz r7, 0x528(r29)
/* 8017870C 0017566C 4B E9 D6 09 */ bl Freeze__7CPlayerFR13CStateManagerUiUsUi
/* 80178710 00175670 48 00 01 64 */ b lbl_80178874
lbl_80178714:
/* 80178714 00175674 88 1D 05 34 */ lbz r0, 0x534(r29)
/* 80178718 00175678 28 00 00 00 */ cmplwi r0, 0
/* 8017871C 0017567C 41 82 01 58 */ beq lbl_80178874
/* 80178720 00175680 38 00 00 00 */ li r0, 0
/* 80178724 00175684 3C 60 80 3D */ lis r3, lbl_803D0668@ha
/* 80178728 00175688 38 83 06 68 */ addi r4, r3, lbl_803D0668@l
/* 8017872C 0017568C 98 01 00 68 */ stb r0, 0x68(r1)
/* 80178730 00175690 38 61 00 50 */ addi r3, r1, 0x50
/* 80178734 00175694 38 84 00 07 */ addi r4, r4, 7
/* 80178738 00175698 4B E8 C5 81 */ bl string_l__4rstlFPCc
/* 8017873C 0017569C 7F A3 EB 78 */ mr r3, r29
/* 80178740 001756A0 7F C7 F3 78 */ mr r7, r30
/* 80178744 001756A4 38 81 00 60 */ addi r4, r1, 0x60
/* 80178748 001756A8 38 BD 05 2C */ addi r5, r29, 0x52c
/* 8017874C 001756AC 38 C1 00 50 */ addi r6, r1, 0x50
/* 80178750 001756B0 48 00 02 1D */ bl "MakeBillboardEffect__17CPlasmaProjectileFRCQ24rstl44optional_object<25TToken<15CGenDescription>>RCQ24rstl49optional_object<30TToken<20CElectricDescription>>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>R13CStateManager"
/* 80178754 001756B4 38 61 00 50 */ addi r3, r1, 0x50
/* 80178758 001756B8 48 1C 53 89 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8017875C 001756BC 88 01 00 68 */ lbz r0, 0x68(r1)
/* 80178760 001756C0 28 00 00 00 */ cmplwi r0, 0
/* 80178764 001756C4 41 82 00 14 */ beq lbl_80178778
/* 80178768 001756C8 34 61 00 60 */ addic. r3, r1, 0x60
/* 8017876C 001756CC 41 82 00 0C */ beq lbl_80178778
/* 80178770 001756D0 38 80 00 00 */ li r4, 0
/* 80178774 001756D4 48 1C 86 CD */ bl __dt__6CTokenFv
lbl_80178778:
/* 80178778 001756D8 38 00 00 00 */ li r0, 0
/* 8017877C 001756DC A9 02 C5 FA */ lha r8, lbl_805AE31A@sda21(r2)
/* 80178780 001756E0 98 01 00 68 */ stb r0, 0x68(r1)
/* 80178784 001756E4 38 61 00 30 */ addi r3, r1, 0x30
/* 80178788 001756E8 81 42 C6 00 */ lwz r10, lbl_805AE320@sda21(r2)
/* 8017878C 001756EC 38 A0 00 7F */ li r5, 0x7f
/* 80178790 001756F0 A0 9D 05 46 */ lhz r4, 0x546(r29)
/* 80178794 001756F4 38 C0 00 40 */ li r6, 0x40
/* 80178798 001756F8 38 E0 00 00 */ li r7, 0
/* 8017879C 001756FC 39 20 00 00 */ li r9, 0
/* 801787A0 00175700 48 17 15 D5 */ bl SfxStart__11CSfxManagerFUsssbsbi
/* 801787A4 00175704 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 801787A8 00175708 C0 22 A2 1C */ lfs f1, lbl_805ABF3C@sda21(r2)
/* 801787AC 0017570C C0 42 80 F8 */ lfs f2, lbl_805A9E18@sda21(r2)
/* 801787B0 00175710 C0 62 80 FC */ lfs f3, lbl_805A9E1C@sda21(r2)
/* 801787B4 00175714 4B E9 A8 B9 */ bl SetHudDisable__7CPlayerFfff
/* 801787B8 00175718 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 801787BC 0017571C 7F C6 F3 78 */ mr r6, r30
/* 801787C0 00175720 38 81 00 2C */ addi r4, r1, 0x2c
/* 801787C4 00175724 38 A0 00 08 */ li r5, 8
/* 801787C8 00175728 A0 03 03 10 */ lhz r0, 0x310(r3)
/* 801787CC 0017572C B0 01 00 2C */ sth r0, 0x2c(r1)
/* 801787D0 00175730 B0 01 00 28 */ sth r0, 0x28(r1)
/* 801787D4 00175734 80 7E 08 4C */ lwz r3, 0x84c(r30)
/* 801787D8 00175738 48 00 2A 7D */ bl SetOrbitRequestForTarget__7CPlayerF9TUniqueId19EPlayerOrbitRequestR13CStateManager
/* 801787DC 0017573C A0 1D 00 08 */ lhz r0, 8(r29)
/* 801787E0 00175740 38 81 00 24 */ addi r4, r1, 0x24
/* 801787E4 00175744 C0 22 A2 20 */ lfs f1, lbl_805ABF40@sda21(r2)
/* 801787E8 00175748 B0 01 00 24 */ sth r0, 0x24(r1)
/* 801787EC 0017574C C0 42 A2 1C */ lfs f2, lbl_805ABF3C@sda21(r2)
/* 801787F0 00175750 80 7E 08 B8 */ lwz r3, 0x8b8(r30)
/* 801787F4 00175754 B0 01 00 20 */ sth r0, 0x20(r1)
/* 801787F8 00175758 80 63 00 00 */ lwz r3, 0(r3)
/* 801787FC 0017575C 38 63 01 88 */ addi r3, r3, 0x188
/* 80178800 00175760 48 04 83 39 */ bl AddSource__19CStaticInterferenceF9TUniqueId
/* 80178804 00175764 48 00 00 70 */ b lbl_80178874
lbl_80178808:
/* 80178808 00175768 88 1D 05 40 */ lbz r0, 0x540(r29)
/* 8017880C 0017576C 28 00 00 00 */ cmplwi r0, 0
/* 80178810 00175770 41 82 00 64 */ beq lbl_80178874
/* 80178814 00175774 38 00 00 00 */ li r0, 0
/* 80178818 00175778 3C 60 80 3D */ lis r3, lbl_803D0668@ha
/* 8017881C 0017577C 38 83 06 68 */ addi r4, r3, lbl_803D0668@l
/* 80178820 00175780 98 01 00 4C */ stb r0, 0x4c(r1)
/* 80178824 00175784 38 61 00 34 */ addi r3, r1, 0x34
/* 80178828 00175788 38 84 00 18 */ addi r4, r4, 0x18
/* 8017882C 0017578C 4B E8 C4 8D */ bl string_l__4rstlFPCc
/* 80178830 00175790 7F A3 EB 78 */ mr r3, r29
/* 80178834 00175794 7F C7 F3 78 */ mr r7, r30
/* 80178838 00175798 38 9D 05 38 */ addi r4, r29, 0x538
/* 8017883C 0017579C 38 A1 00 44 */ addi r5, r1, 0x44
/* 80178840 001757A0 38 C1 00 34 */ addi r6, r1, 0x34
/* 80178844 001757A4 48 00 01 29 */ bl "MakeBillboardEffect__17CPlasmaProjectileFRCQ24rstl44optional_object<25TToken<15CGenDescription>>RCQ24rstl49optional_object<30TToken<20CElectricDescription>>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>R13CStateManager"
/* 80178848 001757A8 38 61 00 34 */ addi r3, r1, 0x34
/* 8017884C 001757AC 48 1C 52 95 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 80178850 001757B0 88 01 00 4C */ lbz r0, 0x4c(r1)
/* 80178854 001757B4 28 00 00 00 */ cmplwi r0, 0
/* 80178858 001757B8 41 82 00 14 */ beq lbl_8017886C
/* 8017885C 001757BC 34 61 00 44 */ addic. r3, r1, 0x44
/* 80178860 001757C0 41 82 00 0C */ beq lbl_8017886C
/* 80178864 001757C4 38 80 00 00 */ li r4, 0
/* 80178868 001757C8 48 1C 85 D9 */ bl __dt__6CTokenFv
lbl_8017886C:
/* 8017886C 001757CC 38 00 00 00 */ li r0, 0
/* 80178870 001757D0 98 01 00 4C */ stb r0, 0x4c(r1)
lbl_80178874:
/* 80178874 001757D4 C0 02 A2 24 */ lfs f0, lbl_805ABF44@sda21(r2)
/* 80178878 001757D8 D0 1D 04 DC */ stfs f0, 0x4dc(r29)
lbl_8017887C:
/* 8017887C 001757DC 88 1D 05 48 */ lbz r0, 0x548(r29)
/* 80178880 001757E0 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 80178884 001757E4 41 82 00 C4 */ beq lbl_80178948
/* 80178888 001757E8 80 1D 00 F8 */ lwz r0, 0xf8(r29)
/* 8017888C 001757EC FC 20 F8 90 */ fmr f1, f31
/* 80178890 001757F0 80 BD 00 FC */ lwz r5, 0xfc(r29)
/* 80178894 001757F4 38 61 00 88 */ addi r3, r1, 0x88
/* 80178898 001757F8 38 9D 04 98 */ addi r4, r29, 0x498
/* 8017889C 001757FC 90 A1 00 74 */ stw r5, 0x74(r1)
/* 801788A0 00175800 90 01 00 70 */ stw r0, 0x70(r1)
/* 801788A4 00175804 80 1D 01 00 */ lwz r0, 0x100(r29)
/* 801788A8 00175808 80 BD 01 04 */ lwz r5, 0x104(r29)
/* 801788AC 0017580C 90 A1 00 7C */ stw r5, 0x7c(r1)
/* 801788B0 00175810 90 01 00 78 */ stw r0, 0x78(r1)
/* 801788B4 00175814 80 1D 01 08 */ lwz r0, 0x108(r29)
/* 801788B8 00175818 90 01 00 80 */ stw r0, 0x80(r1)
/* 801788BC 0017581C A0 1D 00 EC */ lhz r0, 0xec(r29)
/* 801788C0 00175820 B0 01 00 0C */ sth r0, 0xc(r1)
/* 801788C4 00175824 A0 BF 00 08 */ lhz r5, 8(r31)
/* 801788C8 00175828 B0 01 00 08 */ sth r0, 8(r1)
/* 801788CC 0017582C B0 A1 00 14 */ sth r5, 0x14(r1)
/* 801788D0 00175830 A0 1D 00 08 */ lhz r0, 8(r29)
/* 801788D4 00175834 B0 A1 00 10 */ sth r5, 0x10(r1)
/* 801788D8 00175838 B0 01 00 18 */ sth r0, 0x18(r1)
/* 801788DC 0017583C B0 01 00 1C */ sth r0, 0x1c(r1)
/* 801788E0 00175840 4B F4 AB 69 */ bl __ct__11CDamageInfoFRC11CDamageInfof
/* 801788E4 00175844 3C 80 80 5A */ lis r4, skZero3f@ha
/* 801788E8 00175848 7F C3 F3 78 */ mr r3, r30
/* 801788EC 0017584C 39 24 66 A0 */ addi r9, r4, skZero3f@l
/* 801788F0 00175850 38 A1 00 14 */ addi r5, r1, 0x14
/* 801788F4 00175854 38 81 00 1C */ addi r4, r1, 0x1c
/* 801788F8 00175858 38 C1 00 0C */ addi r6, r1, 0xc
/* 801788FC 0017585C 38 E1 00 88 */ addi r7, r1, 0x88
/* 80178900 00175860 39 01 00 70 */ addi r8, r1, 0x70
/* 80178904 00175864 4B ED 17 9D */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
/* 80178908 00175868 C0 1D 04 E4 */ lfs f0, 0x4e4(r29)
/* 8017890C 0017586C EC 00 F8 2A */ fadds f0, f0, f31
/* 80178910 00175870 D0 1D 04 E4 */ stfs f0, 0x4e4(r29)
/* 80178914 00175874 C0 3D 04 E4 */ lfs f1, 0x4e4(r29)
/* 80178918 00175878 C0 1D 04 E0 */ lfs f0, 0x4e0(r29)
/* 8017891C 0017587C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80178920 00175880 4C 41 13 82 */ cror 2, 1, 2
/* 80178924 00175884 40 82 00 24 */ bne lbl_80178948
/* 80178928 00175888 7F E3 FB 78 */ mr r3, r31
/* 8017892C 0017588C 4B E9 90 19 */ bl DecrementPhazon__7CPlayerFv
/* 80178930 00175890 C0 02 A1 C0 */ lfs f0, lbl_805ABEE0@sda21(r2)
/* 80178934 00175894 38 60 00 00 */ li r3, 0
/* 80178938 00175898 D0 1D 04 E4 */ stfs f0, 0x4e4(r29)
/* 8017893C 0017589C 88 1D 05 48 */ lbz r0, 0x548(r29)
/* 80178940 001758A0 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 80178944 001758A4 98 1D 05 48 */ stb r0, 0x548(r29)
lbl_80178948:
/* 80178948 001758A8 E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0
/* 8017894C 001758AC 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 80178950 001758B0 CB E1 00 C0 */ lfd f31, 0xc0(r1)
/* 80178954 001758B4 83 E1 00 BC */ lwz r31, 0xbc(r1)
/* 80178958 001758B8 83 C1 00 B8 */ lwz r30, 0xb8(r1)
/* 8017895C 001758BC 83 A1 00 B4 */ lwz r29, 0xb4(r1)
/* 80178960 001758C0 7C 08 03 A6 */ mtlr r0
/* 80178964 001758C4 38 21 00 D0 */ addi r1, r1, 0xd0
/* 80178968 001758C8 4E 80 00 20 */ blr
.global "MakeBillboardEffect__17CPlasmaProjectileFRCQ24rstl44optional_object<25TToken<15CGenDescription>>RCQ24rstl49optional_object<30TToken<20CElectricDescription>>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>R13CStateManager"
"MakeBillboardEffect__17CPlasmaProjectileFRCQ24rstl44optional_object<25TToken<15CGenDescription>>RCQ24rstl49optional_object<30TToken<20CElectricDescription>>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>R13CStateManager":
/* 8017896C 001758CC 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80178970 001758D0 7C 08 02 A6 */ mflr r0
/* 80178974 001758D4 3C 60 80 3D */ lis r3, lbl_803D0668@ha
/* 80178978 001758D8 90 01 00 64 */ stw r0, 0x64(r1)
/* 8017897C 001758DC 38 03 06 68 */ addi r0, r3, lbl_803D0668@l
/* 80178980 001758E0 38 60 01 10 */ li r3, 0x110
/* 80178984 001758E4 BF 21 00 44 */ stmw r25, 0x44(r1)
/* 80178988 001758E8 7C BA 2B 78 */ mr r26, r5
/* 8017898C 001758EC 7C 99 23 78 */ mr r25, r4
/* 80178990 001758F0 7C DB 33 78 */ mr r27, r6
/* 80178994 001758F4 7C FC 3B 78 */ mr r28, r7
/* 80178998 001758F8 7C 04 03 78 */ mr r4, r0
/* 8017899C 001758FC 38 A0 00 00 */ li r5, 0
/* 801789A0 00175900 48 19 CE CD */ bl __nw__FUlPCcPCc
/* 801789A4 00175904 7C 7D 1B 79 */ or. r29, r3, r3
/* 801789A8 00175908 41 82 00 A0 */ beq lbl_80178A48
/* 801789AC 0017590C C0 22 A1 C0 */ lfs f1, lbl_805ABEE0@sda21(r2)
/* 801789B0 00175910 7F 84 E3 78 */ mr r4, r28
/* 801789B4 00175914 C0 02 A1 FC */ lfs f0, lbl_805ABF1C@sda21(r2)
/* 801789B8 00175918 38 61 00 10 */ addi r3, r1, 0x10
/* 801789BC 0017591C D0 21 00 28 */ stfs f1, 0x28(r1)
/* 801789C0 00175920 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 801789C4 00175924 D0 21 00 30 */ stfs f1, 0x30(r1)
/* 801789C8 00175928 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 801789CC 0017592C D0 01 00 20 */ stfs f0, 0x20(r1)
/* 801789D0 00175930 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 801789D4 00175934 4B ED 47 09 */ bl AllocateUniqueId__13CStateManagerFv
/* 801789D8 00175938 C0 22 A1 FC */ lfs f1, lbl_805ABF1C@sda21(r2)
/* 801789DC 0017593C 38 61 00 18 */ addi r3, r1, 0x18
/* 801789E0 00175940 A0 01 00 10 */ lhz r0, 0x10(r1)
/* 801789E4 00175944 FC 40 08 90 */ fmr f2, f1
/* 801789E8 00175948 FC 60 08 90 */ fmr f3, f1
/* 801789EC 0017594C B0 01 00 14 */ sth r0, 0x14(r1)
/* 801789F0 00175950 FC 80 08 90 */ fmr f4, f1
/* 801789F4 00175954 48 1E A9 F9 */ bl __ct__6CColorFffff
/* 801789F8 00175958 7C 7E 1B 78 */ mr r30, r3
/* 801789FC 0017595C 7F 83 E3 78 */ mr r3, r28
/* 80178A00 00175960 4B FB 78 2D */ bl GetScaleForPOV__19CHUDBillboardEffectFRC13CStateManager
/* 80178A04 00175964 7C 7F 1B 78 */ mr r31, r3
/* 80178A08 00175968 7F 83 E3 78 */ mr r3, r28
/* 80178A0C 0017596C 4B FB 77 ED */ bl GetNearClipDistance__19CHUDBillboardEffectFRC13CStateManager
/* 80178A10 00175970 38 61 00 1C */ addi r3, r1, 0x1c
/* 80178A14 00175974 38 01 00 28 */ addi r0, r1, 0x28
/* 80178A18 00175978 90 61 00 08 */ stw r3, 8(r1)
/* 80178A1C 0017597C 7F A3 EB 78 */ mr r3, r29
/* 80178A20 00175980 7F 24 CB 78 */ mr r4, r25
/* 80178A24 00175984 7F 45 D3 78 */ mr r5, r26
/* 80178A28 00175988 90 01 00 0C */ stw r0, 0xc(r1)
/* 80178A2C 0017598C 7F 68 DB 78 */ mr r8, r27
/* 80178A30 00175990 7F E9 FB 78 */ mr r9, r31
/* 80178A34 00175994 7F CA F3 78 */ mr r10, r30
/* 80178A38 00175998 38 C1 00 14 */ addi r6, r1, 0x14
/* 80178A3C 0017599C 38 E0 00 01 */ li r7, 1
/* 80178A40 001759A0 4B FB 74 B9 */ bl "__ct__19CHUDBillboardEffectFRCQ24rstl44optional_object<25TToken<15CGenDescription>>RCQ24rstl49optional_object<30TToken<20CElectricDescription>>9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>fRC9CVector3fRC6CColorRC9CVector3fRC9CVector3f"
/* 80178A44 001759A4 7C 7D 1B 78 */ mr r29, r3
lbl_80178A48:
/* 80178A48 001759A8 7F 83 E3 78 */ mr r3, r28
/* 80178A4C 001759AC 7F A4 EB 78 */ mr r4, r29
/* 80178A50 001759B0 4B ED 42 A5 */ bl AddObject__13CStateManagerFP7CEntityQ213CStateManager18EScriptPersistence
/* 80178A54 001759B4 BB 21 00 44 */ lmw r25, 0x44(r1)
/* 80178A58 001759B8 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80178A5C 001759BC 7C 08 03 A6 */ mtlr r0
/* 80178A60 001759C0 38 21 00 60 */ addi r1, r1, 0x60
/* 80178A64 001759C4 4E 80 00 20 */ blr
.global UpdateBeamState__17CPlasmaProjectileFfR13CStateManager
UpdateBeamState__17CPlasmaProjectileFfR13CStateManager:
/* 80178A68 001759C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80178A6C 001759CC 7C 08 02 A6 */ mflr r0
/* 80178A70 001759D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80178A74 001759D4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80178A78 001759D8 7C 9F 23 78 */ mr r31, r4
/* 80178A7C 001759DC 93 C1 00 08 */ stw r30, 8(r1)
/* 80178A80 001759E0 7C 7E 1B 78 */ mr r30, r3
/* 80178A84 001759E4 80 03 04 B4 */ lwz r0, 0x4b4(r3)
/* 80178A88 001759E8 2C 00 00 03 */ cmpwi r0, 3
/* 80178A8C 001759EC 41 82 00 84 */ beq lbl_80178B10
/* 80178A90 001759F0 40 80 00 14 */ bge lbl_80178AA4
/* 80178A94 001759F4 2C 00 00 01 */ cmpwi r0, 1
/* 80178A98 001759F8 41 82 00 18 */ beq lbl_80178AB0
/* 80178A9C 001759FC 40 80 00 40 */ bge lbl_80178ADC
/* 80178AA0 00175A00 48 00 01 1C */ b lbl_80178BBC
lbl_80178AA4:
/* 80178AA4 00175A04 2C 00 00 05 */ cmpwi r0, 5
/* 80178AA8 00175A08 40 80 01 14 */ bge lbl_80178BBC
/* 80178AAC 00175A0C 48 00 00 A4 */ b lbl_80178B50
lbl_80178AB0:
/* 80178AB0 00175A10 C0 5E 04 C0 */ lfs f2, 0x4c0(r30)
/* 80178AB4 00175A14 C0 02 A1 E8 */ lfs f0, lbl_805ABF08@sda21(r2)
/* 80178AB8 00175A18 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80178ABC 00175A1C 40 81 00 10 */ ble lbl_80178ACC
/* 80178AC0 00175A20 38 00 00 02 */ li r0, 2
/* 80178AC4 00175A24 90 1E 04 B4 */ stw r0, 0x4b4(r30)
/* 80178AC8 00175A28 48 00 00 F4 */ b lbl_80178BBC
lbl_80178ACC:
/* 80178ACC 00175A2C C0 1E 04 88 */ lfs f0, 0x488(r30)
/* 80178AD0 00175A30 EC 01 10 3A */ fmadds f0, f1, f0, f2
/* 80178AD4 00175A34 D0 1E 04 C0 */ stfs f0, 0x4c0(r30)
/* 80178AD8 00175A38 48 00 00 E4 */ b lbl_80178BBC
lbl_80178ADC:
/* 80178ADC 00175A3C 80 1E 04 78 */ lwz r0, 0x478(r30)
/* 80178AE0 00175A40 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80178AE4 00175A44 41 82 00 D8 */ beq lbl_80178BBC
/* 80178AE8 00175A48 C0 5E 04 BC */ lfs f2, 0x4bc(r30)
/* 80178AEC 00175A4C C0 1E 04 7C */ lfs f0, 0x47c(r30)
/* 80178AF0 00175A50 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80178AF4 00175A54 40 81 00 10 */ ble lbl_80178B04
/* 80178AF8 00175A58 38 00 00 03 */ li r0, 3
/* 80178AFC 00175A5C 90 1E 04 B4 */ stw r0, 0x4b4(r30)
/* 80178B00 00175A60 48 00 00 BC */ b lbl_80178BBC
lbl_80178B04:
/* 80178B04 00175A64 EC 02 08 2A */ fadds f0, f2, f1
/* 80178B08 00175A68 D0 1E 04 BC */ stfs f0, 0x4bc(r30)
/* 80178B0C 00175A6C 48 00 00 B0 */ b lbl_80178BBC
lbl_80178B10:
/* 80178B10 00175A70 C0 7E 04 88 */ lfs f3, 0x488(r30)
/* 80178B14 00175A74 C0 5E 04 C0 */ lfs f2, 0x4c0(r30)
/* 80178B18 00175A78 C0 02 A1 FC */ lfs f0, lbl_805ABF1C@sda21(r2)
/* 80178B1C 00175A7C EC 21 10 FA */ fmadds f1, f1, f3, f2
/* 80178B20 00175A80 D0 3E 04 C0 */ stfs f1, 0x4c0(r30)
/* 80178B24 00175A84 C0 3E 04 C0 */ lfs f1, 0x4c0(r30)
/* 80178B28 00175A88 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80178B2C 00175A8C 40 81 00 90 */ ble lbl_80178BBC
/* 80178B30 00175A90 D0 1E 04 C0 */ stfs f0, 0x4c0(r30)
/* 80178B34 00175A94 38 00 00 04 */ li r0, 4
/* 80178B38 00175A98 38 60 00 00 */ li r3, 0
/* 80178B3C 00175A9C 90 1E 04 B4 */ stw r0, 0x4b4(r30)
/* 80178B40 00175AA0 88 1E 05 48 */ lbz r0, 0x548(r30)
/* 80178B44 00175AA4 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80178B48 00175AA8 98 1E 05 48 */ stb r0, 0x548(r30)
/* 80178B4C 00175AAC 48 00 00 70 */ b lbl_80178BBC
lbl_80178B50:
/* 80178B50 00175AB0 C0 1E 04 D0 */ lfs f0, 0x4d0(r30)
/* 80178B54 00175AB4 EC 00 08 2A */ fadds f0, f0, f1
/* 80178B58 00175AB8 D0 1E 04 D0 */ stfs f0, 0x4d0(r30)
/* 80178B5C 00175ABC C0 3E 04 D0 */ lfs f1, 0x4d0(r30)
/* 80178B60 00175AC0 C0 1E 04 84 */ lfs f0, 0x484(r30)
/* 80178B64 00175AC4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80178B68 00175AC8 40 81 00 54 */ ble lbl_80178BBC
/* 80178B6C 00175ACC 80 7E 05 18 */ lwz r3, 0x518(r30)
/* 80178B70 00175AD0 28 03 00 00 */ cmplwi r3, 0
/* 80178B74 00175AD4 41 82 00 18 */ beq lbl_80178B8C
/* 80178B78 00175AD8 48 19 F3 75 */ bl GetParticleCountAll__11CElementGenCFv
/* 80178B7C 00175ADC 7C 60 00 34 */ cntlzw r0, r3
/* 80178B80 00175AE0 38 60 00 01 */ li r3, 1
/* 80178B84 00175AE4 5C 60 07 FE */ rlwnm r0, r3, r0, 0x1f, 0x1f
/* 80178B88 00175AE8 48 00 00 08 */ b lbl_80178B90
lbl_80178B8C:
/* 80178B8C 00175AEC 38 00 00 01 */ li r0, 1
lbl_80178B90:
/* 80178B90 00175AF0 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80178B94 00175AF4 41 82 00 28 */ beq lbl_80178BBC
/* 80178B98 00175AF8 38 00 00 00 */ li r0, 0
/* 80178B9C 00175AFC 7F C3 F3 78 */ mr r3, r30
/* 80178BA0 00175B00 90 1E 04 B4 */ stw r0, 0x4b4(r30)
/* 80178BA4 00175B04 7F E4 FB 78 */ mr r4, r31
/* 80178BA8 00175B08 38 A0 00 01 */ li r5, 1
/* 80178BAC 00175B0C 81 9E 00 00 */ lwz r12, 0(r30)
/* 80178BB0 00175B10 81 8C 00 74 */ lwz r12, 0x74(r12)
/* 80178BB4 00175B14 7D 89 03 A6 */ mtctr r12
/* 80178BB8 00175B18 4E 80 04 21 */ bctrl
lbl_80178BBC:
/* 80178BBC 00175B1C C0 5E 04 C0 */ lfs f2, 0x4c0(r30)
/* 80178BC0 00175B20 C0 22 A2 28 */ lfs f1, lbl_805ABF48@sda21(r2)
/* 80178BC4 00175B24 C0 02 A1 FC */ lfs f0, lbl_805ABF1C@sda21(r2)
/* 80178BC8 00175B28 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80178BCC 00175B2C EC 02 00 28 */ fsubs f0, f2, f0
/* 80178BD0 00175B30 EC 21 00 32 */ fmuls f1, f1, f0
/* 80178BD4 00175B34 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80178BD8 00175B38 83 C1 00 08 */ lwz r30, 8(r1)
/* 80178BDC 00175B3C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80178BE0 00175B40 7C 08 03 A6 */ mtlr r0
/* 80178BE4 00175B44 38 21 00 10 */ addi r1, r1, 0x10
/* 80178BE8 00175B48 4E 80 00 20 */ blr
.global Touch__17CPlasmaProjectileFR6CActorR13CStateManager
Touch__17CPlasmaProjectileFR6CActorR13CStateManager:
/* 80178BEC 00175B4C 4E 80 00 20 */ blr
.global Accept__17CPlasmaProjectileFR8IVisitor
Accept__17CPlasmaProjectileFR8IVisitor:
/* 80178BF0 00175B50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80178BF4 00175B54 7C 08 02 A6 */ mflr r0
/* 80178BF8 00175B58 90 01 00 14 */ stw r0, 0x14(r1)
/* 80178BFC 00175B5C 7C 60 1B 78 */ mr r0, r3
/* 80178C00 00175B60 7C 83 23 78 */ mr r3, r4
/* 80178C04 00175B64 81 84 00 00 */ lwz r12, 0(r4)
/* 80178C08 00175B68 7C 04 03 78 */ mr r4, r0
/* 80178C0C 00175B6C 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 80178C10 00175B70 7D 89 03 A6 */ mtctr r12
/* 80178C14 00175B74 4E 80 04 21 */ bctrl
/* 80178C18 00175B78 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80178C1C 00175B7C 7C 08 03 A6 */ mtlr r0
/* 80178C20 00175B80 38 21 00 10 */ addi r1, r1, 0x10
/* 80178C24 00175B84 4E 80 00 20 */ blr
.global "__ct__17CPlasmaProjectileFRC28TToken<18CWeaponDescription>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>11EWeaponTypeRC9CBeamInfoRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId9TUniqueIdbUi"
"__ct__17CPlasmaProjectileFRC28TToken<18CWeaponDescription>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>11EWeaponTypeRC9CBeamInfoRC12CTransform4f14EMaterialTypesRC11CDamageInfo9TUniqueId9TUniqueIdbUi":
/* 80178C28 00175B88 94 21 FE C0 */ stwu r1, -0x140(r1)
/* 80178C2C 00175B8C 7C 08 02 A6 */ mflr r0
/* 80178C30 00175B90 90 01 01 44 */ stw r0, 0x144(r1)
/* 80178C34 00175B94 39 81 00 24 */ addi r12, r1, 0x24
/* 80178C38 00175B98 39 61 00 28 */ addi r11, r1, 0x28
/* 80178C3C 00175B9C 38 01 00 20 */ addi r0, r1, 0x20
/* 80178C40 00175BA0 BF 01 01 20 */ stmw r24, 0x120(r1)
/* 80178C44 00175BA4 7C FE 3B 78 */ mr r30, r7
/* 80178C48 00175BA8 83 01 01 50 */ lwz r24, 0x150(r1)
/* 80178C4C 00175BAC 7D 07 43 78 */ mr r7, r8
/* 80178C50 00175BB0 83 41 01 4C */ lwz r26, 0x14c(r1)
/* 80178C54 00175BB4 7C 7F 1B 78 */ mr r31, r3
/* 80178C58 00175BB8 83 61 01 48 */ lwz r27, 0x148(r1)
/* 80178C5C 00175BBC 83 21 01 5C */ lwz r25, 0x15c(r1)
/* 80178C60 00175BC0 8B 81 01 5B */ lbz r28, 0x15b(r1)
/* 80178C64 00175BC4 83 A1 01 54 */ lwz r29, 0x154(r1)
/* 80178C68 00175BC8 A3 18 00 00 */ lhz r24, 0(r24)
/* 80178C6C 00175BCC B3 01 00 20 */ sth r24, 0x20(r1)
/* 80178C70 00175BD0 83 1A 00 00 */ lwz r24, 0(r26)
/* 80178C74 00175BD4 93 01 00 28 */ stw r24, 0x28(r1)
/* 80178C78 00175BD8 A1 1B 00 00 */ lhz r8, 0(r27)
/* 80178C7C 00175BDC B1 01 00 24 */ sth r8, 0x24(r1)
/* 80178C80 00175BE0 91 81 00 08 */ stw r12, 8(r1)
/* 80178C84 00175BE4 91 61 00 0C */ stw r11, 0xc(r1)
/* 80178C88 00175BE8 90 01 00 10 */ stw r0, 0x10(r1)
/* 80178C8C 00175BEC 93 21 00 14 */ stw r25, 0x14(r1)
/* 80178C90 00175BF0 93 81 00 18 */ stw r28, 0x18(r1)
/* 80178C94 00175BF4 81 1E 00 18 */ lwz r8, 0x18(r30)
/* 80178C98 00175BF8 C0 3E 00 1C */ lfs f1, 0x1c(r30)
/* 80178C9C 00175BFC C0 5E 00 38 */ lfs f2, 0x38(r30)
/* 80178CA0 00175C00 48 02 07 ED */ bl "__ct__15CBeamProjectileFRC28TToken<18CWeaponDescription>RCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>11EWeaponTypeRC12CTransform4fiff14EMaterialTypesRC11CDamageInfo9TUniqueId9TUniqueIdUib"
/* 80178CA4 00175C04 3C 60 80 3E */ lis r3, lbl_803E3F00@ha
/* 80178CA8 00175C08 C0 22 A1 C0 */ lfs f1, lbl_805ABEE0@sda21(r2)
/* 80178CAC 00175C0C 38 03 3F 00 */ addi r0, r3, lbl_803E3F00@l
/* 80178CB0 00175C10 39 00 FF FF */ li r8, -1
/* 80178CB4 00175C14 90 1F 00 00 */ stw r0, 0(r31)
/* 80178CB8 00175C18 39 40 00 00 */ li r10, 0
/* 80178CBC 00175C1C 88 01 00 30 */ lbz r0, 0x30(r1)
/* 80178CC0 00175C20 51 40 3E 30 */ rlwimi r0, r10, 7, 0x18, 0x18
/* 80178CC4 00175C24 91 5F 04 6C */ stw r10, 0x46c(r31)
/* 80178CC8 00175C28 3D 20 43 30 */ lis r9, 0x4330
/* 80178CCC 00175C2C 54 07 06 3E */ clrlwi r7, r0, 0x18
/* 80178CD0 00175C30 88 81 01 14 */ lbz r4, 0x114(r1)
/* 80178CD4 00175C34 91 5F 04 70 */ stw r10, 0x470(r31)
/* 80178CD8 00175C38 51 47 36 72 */ rlwimi r7, r10, 6, 0x19, 0x19
/* 80178CDC 00175C3C 54 E6 06 3E */ clrlwi r6, r7, 0x18
/* 80178CE0 00175C40 51 44 3E 30 */ rlwimi r4, r10, 7, 0x18, 0x18
/* 80178CE4 00175C44 91 5F 04 74 */ stw r10, 0x474(r31)
/* 80178CE8 00175C48 51 46 2E B4 */ rlwimi r6, r10, 5, 0x1a, 0x1a
/* 80178CEC 00175C4C C8 62 A1 D0 */ lfd f3, lbl_805ABEF0@sda21(r2)
/* 80178CF0 00175C50 FC 00 08 18 */ frsp f0, f1
/* 80178CF4 00175C54 80 BE 00 04 */ lwz r5, 4(r30)
/* 80178CF8 00175C58 3C 60 54 58 */ lis r3, 0x54585452@ha
/* 80178CFC 00175C5C 98 01 00 30 */ stb r0, 0x30(r1)
/* 80178D00 00175C60 38 03 54 52 */ addi r0, r3, 0x54585452@l
/* 80178D04 00175C64 C0 82 A2 2C */ lfs f4, lbl_805ABF4C@sda21(r2)
/* 80178D08 00175C68 90 BF 04 78 */ stw r5, 0x478(r31)
/* 80178D0C 00175C6C 38 61 00 A4 */ addi r3, r1, 0xa4
/* 80178D10 00175C70 38 A1 00 AC */ addi r5, r1, 0xac
/* 80178D14 00175C74 C0 5E 00 24 */ lfs f2, 0x24(r30)
/* 80178D18 00175C78 98 E1 00 30 */ stb r7, 0x30(r1)
/* 80178D1C 00175C7C D0 5F 04 7C */ stfs f2, 0x47c(r31)
/* 80178D20 00175C80 C0 5E 00 28 */ lfs f2, 0x28(r30)
/* 80178D24 00175C84 91 21 01 18 */ stw r9, 0x118(r1)
/* 80178D28 00175C88 D0 5F 04 80 */ stfs f2, 0x480(r31)
/* 80178D2C 00175C8C C0 5E 00 2C */ lfs f2, 0x2c(r30)
/* 80178D30 00175C90 98 C1 00 30 */ stb r6, 0x30(r1)
/* 80178D34 00175C94 D0 5F 04 84 */ stfs f2, 0x484(r31)
/* 80178D38 00175C98 C0 5E 00 20 */ lfs f2, 0x20(r30)
/* 80178D3C 00175C9C 98 C1 01 00 */ stb r6, 0x100(r1)
/* 80178D40 00175CA0 D0 5F 04 88 */ stfs f2, 0x488(r31)
/* 80178D44 00175CA4 80 FE 00 18 */ lwz r7, 0x18(r30)
/* 80178D48 00175CA8 98 81 01 14 */ stb r4, 0x114(r1)
/* 80178D4C 00175CAC 6C E7 80 00 */ xoris r7, r7, 0x8000
/* 80178D50 00175CB0 90 E1 01 1C */ stw r7, 0x11c(r1)
/* 80178D54 00175CB4 C8 41 01 18 */ lfd f2, 0x118(r1)
/* 80178D58 00175CB8 91 01 00 2C */ stw r8, 0x2c(r1)
/* 80178D5C 00175CBC EC 42 18 28 */ fsubs f2, f2, f3
/* 80178D60 00175CC0 91 01 00 FC */ stw r8, 0xfc(r1)
/* 80178D64 00175CC4 EC 44 00 B2 */ fmuls f2, f4, f2
/* 80178D68 00175CC8 D0 21 01 04 */ stfs f1, 0x104(r1)
/* 80178D6C 00175CCC D0 21 01 08 */ stfs f1, 0x108(r1)
/* 80178D70 00175CD0 D0 5F 04 8C */ stfs f2, 0x48c(r31)
/* 80178D74 00175CD4 80 FE 00 3C */ lwz r7, 0x3c(r30)
/* 80178D78 00175CD8 D0 21 01 0C */ stfs f1, 0x10c(r1)
/* 80178D7C 00175CDC 90 FF 04 90 */ stw r7, 0x490(r31)
/* 80178D80 00175CE0 80 FE 00 40 */ lwz r7, 0x40(r30)
/* 80178D84 00175CE4 D0 21 01 10 */ stfs f1, 0x110(r1)
/* 80178D88 00175CE8 90 FF 04 94 */ stw r7, 0x494(r31)
/* 80178D8C 00175CEC 91 1F 04 98 */ stw r8, 0x498(r31)
/* 80178D90 00175CF0 98 DF 04 9C */ stb r6, 0x49c(r31)
/* 80178D94 00175CF4 D0 3F 04 A0 */ stfs f1, 0x4a0(r31)
/* 80178D98 00175CF8 D0 1F 04 A4 */ stfs f0, 0x4a4(r31)
/* 80178D9C 00175CFC D0 3F 04 A8 */ stfs f1, 0x4a8(r31)
/* 80178DA0 00175D00 D0 3F 04 AC */ stfs f1, 0x4ac(r31)
/* 80178DA4 00175D04 98 9F 04 B0 */ stb r4, 0x4b0(r31)
/* 80178DA8 00175D08 91 5F 04 B4 */ stw r10, 0x4b4(r31)
/* 80178DAC 00175D0C D0 3F 04 B8 */ stfs f1, 0x4b8(r31)
/* 80178DB0 00175D10 D0 3F 04 BC */ stfs f1, 0x4bc(r31)
/* 80178DB4 00175D14 D0 3F 04 C0 */ stfs f1, 0x4c0(r31)
/* 80178DB8 00175D18 D0 3F 04 C4 */ stfs f1, 0x4c4(r31)
/* 80178DBC 00175D1C D0 3F 04 C8 */ stfs f1, 0x4c8(r31)
/* 80178DC0 00175D20 D0 3F 04 CC */ stfs f1, 0x4cc(r31)
/* 80178DC4 00175D24 D0 3F 04 D0 */ stfs f1, 0x4d0(r31)
/* 80178DC8 00175D28 D0 3F 04 D4 */ stfs f1, 0x4d4(r31)
/* 80178DCC 00175D2C D0 3F 04 D8 */ stfs f1, 0x4d8(r31)
/* 80178DD0 00175D30 D0 3F 04 DC */ stfs f1, 0x4dc(r31)
/* 80178DD4 00175D34 D0 3F 04 E0 */ stfs f1, 0x4e0(r31)
/* 80178DD8 00175D38 D0 3F 04 E4 */ stfs f1, 0x4e4(r31)
/* 80178DDC 00175D3C 80 DE 00 10 */ lwz r6, 0x10(r30)
/* 80178DE0 00175D40 90 01 00 AC */ stw r0, 0xac(r1)
/* 80178DE4 00175D44 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 80178DE8 00175D48 90 C1 00 B0 */ stw r6, 0xb0(r1)
/* 80178DEC 00175D4C 81 84 00 00 */ lwz r12, 0(r4)
/* 80178DF0 00175D50 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80178DF4 00175D54 7D 89 03 A6 */ mtctr r12
/* 80178DF8 00175D58 4E 80 04 21 */ bctrl
/* 80178DFC 00175D5C 3B 1F 04 E8 */ addi r24, r31, 0x4e8
/* 80178E00 00175D60 38 81 00 A4 */ addi r4, r1, 0xa4
/* 80178E04 00175D64 7F 03 C3 78 */ mr r3, r24
/* 80178E08 00175D68 48 1C 80 A1 */ bl __ct__6CTokenFRC6CToken
/* 80178E0C 00175D6C 38 00 00 00 */ li r0, 0
/* 80178E10 00175D70 38 61 00 A4 */ addi r3, r1, 0xa4
/* 80178E14 00175D74 90 18 00 08 */ stw r0, 8(r24)
/* 80178E18 00175D78 38 80 FF FF */ li r4, -1
/* 80178E1C 00175D7C 48 1C 80 25 */ bl __dt__6CTokenFv
/* 80178E20 00175D80 80 DE 00 14 */ lwz r6, 0x14(r30)
/* 80178E24 00175D84 3C 60 54 58 */ lis r3, 0x54585452@ha
/* 80178E28 00175D88 38 03 54 52 */ addi r0, r3, 0x54585452@l
/* 80178E2C 00175D8C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 80178E30 00175D90 90 01 00 9C */ stw r0, 0x9c(r1)
/* 80178E34 00175D94 38 61 00 94 */ addi r3, r1, 0x94
/* 80178E38 00175D98 38 A1 00 9C */ addi r5, r1, 0x9c
/* 80178E3C 00175D9C 90 C1 00 A0 */ stw r6, 0xa0(r1)
/* 80178E40 00175DA0 81 84 00 00 */ lwz r12, 0(r4)
/* 80178E44 00175DA4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80178E48 00175DA8 7D 89 03 A6 */ mtctr r12
/* 80178E4C 00175DAC 4E 80 04 21 */ bctrl
/* 80178E50 00175DB0 3B 1F 04 F4 */ addi r24, r31, 0x4f4
/* 80178E54 00175DB4 38 81 00 94 */ addi r4, r1, 0x94
/* 80178E58 00175DB8 7F 03 C3 78 */ mr r3, r24
/* 80178E5C 00175DBC 48 1C 80 4D */ bl __ct__6CTokenFRC6CToken
/* 80178E60 00175DC0 38 00 00 00 */ li r0, 0
/* 80178E64 00175DC4 38 61 00 94 */ addi r3, r1, 0x94
/* 80178E68 00175DC8 90 18 00 08 */ stw r0, 8(r24)
/* 80178E6C 00175DCC 38 80 FF FF */ li r4, -1
/* 80178E70 00175DD0 48 1C 7F D1 */ bl __dt__6CTokenFv
/* 80178E74 00175DD4 80 DE 00 08 */ lwz r6, 8(r30)
/* 80178E78 00175DD8 3C 60 50 41 */ lis r3, 0x50415254@ha
/* 80178E7C 00175DDC 38 03 52 54 */ addi r0, r3, 0x50415254@l
/* 80178E80 00175DE0 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 80178E84 00175DE4 90 01 00 8C */ stw r0, 0x8c(r1)
/* 80178E88 00175DE8 38 61 00 84 */ addi r3, r1, 0x84
/* 80178E8C 00175DEC 38 A1 00 8C */ addi r5, r1, 0x8c
/* 80178E90 00175DF0 90 C1 00 90 */ stw r6, 0x90(r1)
/* 80178E94 00175DF4 81 84 00 00 */ lwz r12, 0(r4)
/* 80178E98 00175DF8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80178E9C 00175DFC 7D 89 03 A6 */ mtctr r12
/* 80178EA0 00175E00 4E 80 04 21 */ bctrl
/* 80178EA4 00175E04 3B 1F 05 00 */ addi r24, r31, 0x500
/* 80178EA8 00175E08 38 81 00 84 */ addi r4, r1, 0x84
/* 80178EAC 00175E0C 7F 03 C3 78 */ mr r3, r24
/* 80178EB0 00175E10 48 1C 7F F9 */ bl __ct__6CTokenFRC6CToken
/* 80178EB4 00175E14 7F 03 C3 78 */ mr r3, r24
/* 80178EB8 00175E18 48 1C 7F 55 */ bl GetObj__6CTokenFv
/* 80178EBC 00175E1C 80 03 00 04 */ lwz r0, 4(r3)
/* 80178EC0 00175E20 38 61 00 84 */ addi r3, r1, 0x84
/* 80178EC4 00175E24 38 80 FF FF */ li r4, -1
/* 80178EC8 00175E28 90 18 00 08 */ stw r0, 8(r24)
/* 80178ECC 00175E2C 48 1C 7F 75 */ bl __dt__6CTokenFv
/* 80178ED0 00175E30 80 DE 00 0C */ lwz r6, 0xc(r30)
/* 80178ED4 00175E34 3C 60 50 41 */ lis r3, 0x50415254@ha
/* 80178ED8 00175E38 38 03 52 54 */ addi r0, r3, 0x50415254@l
/* 80178EDC 00175E3C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 80178EE0 00175E40 90 01 00 7C */ stw r0, 0x7c(r1)
/* 80178EE4 00175E44 38 61 00 74 */ addi r3, r1, 0x74
/* 80178EE8 00175E48 38 A1 00 7C */ addi r5, r1, 0x7c
/* 80178EEC 00175E4C 90 C1 00 80 */ stw r6, 0x80(r1)
/* 80178EF0 00175E50 81 84 00 00 */ lwz r12, 0(r4)
/* 80178EF4 00175E54 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80178EF8 00175E58 7D 89 03 A6 */ mtctr r12
/* 80178EFC 00175E5C 4E 80 04 21 */ bctrl
/* 80178F00 00175E60 3B 1F 05 0C */ addi r24, r31, 0x50c
/* 80178F04 00175E64 38 81 00 74 */ addi r4, r1, 0x74
/* 80178F08 00175E68 7F 03 C3 78 */ mr r3, r24
/* 80178F0C 00175E6C 48 1C 7F 9D */ bl __ct__6CTokenFRC6CToken
/* 80178F10 00175E70 7F 03 C3 78 */ mr r3, r24
/* 80178F14 00175E74 48 1C 7E F9 */ bl GetObj__6CTokenFv
/* 80178F18 00175E78 80 03 00 04 */ lwz r0, 4(r3)
/* 80178F1C 00175E7C 38 61 00 74 */ addi r3, r1, 0x74
/* 80178F20 00175E80 38 80 FF FF */ li r4, -1
/* 80178F24 00175E84 90 18 00 08 */ stw r0, 8(r24)
/* 80178F28 00175E88 48 1C 7F 19 */ bl __dt__6CTokenFv
/* 80178F2C 00175E8C 3C 60 80 3D */ lis r3, lbl_803D0668@ha
/* 80178F30 00175E90 3B 20 00 00 */ li r25, 0
/* 80178F34 00175E94 38 83 06 68 */ addi r4, r3, lbl_803D0668@l
/* 80178F38 00175E98 38 A0 00 00 */ li r5, 0
/* 80178F3C 00175E9C 38 60 03 40 */ li r3, 0x340
/* 80178F40 00175EA0 48 19 C9 2D */ bl __nw__FUlPCcPCc
/* 80178F44 00175EA4 7C 78 1B 79 */ or. r24, r3, r3
/* 80178F48 00175EA8 41 82 00 2C */ beq lbl_80178F74
/* 80178F4C 00175EAC 38 61 00 6C */ addi r3, r1, 0x6c
/* 80178F50 00175EB0 38 9F 05 00 */ addi r4, r31, 0x500
/* 80178F54 00175EB4 48 1C 7F 55 */ bl __ct__6CTokenFRC6CToken
/* 80178F58 00175EB8 7F 03 C3 78 */ mr r3, r24
/* 80178F5C 00175EBC 38 81 00 6C */ addi r4, r1, 0x6c
/* 80178F60 00175EC0 3B 20 00 01 */ li r25, 1
/* 80178F64 00175EC4 38 A0 00 01 */ li r5, 1
/* 80178F68 00175EC8 38 C0 00 01 */ li r6, 1
/* 80178F6C 00175ECC 48 1A 64 75 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 80178F70 00175ED0 7C 78 1B 78 */ mr r24, r3
lbl_80178F74:
/* 80178F74 00175ED4 7F 20 07 75 */ extsb. r0, r25
/* 80178F78 00175ED8 93 1F 05 18 */ stw r24, 0x518(r31)
/* 80178F7C 00175EDC 41 82 00 10 */ beq lbl_80178F8C
/* 80178F80 00175EE0 38 61 00 6C */ addi r3, r1, 0x6c
/* 80178F84 00175EE4 38 80 00 00 */ li r4, 0
/* 80178F88 00175EE8 48 1C 7E B9 */ bl __dt__6CTokenFv
lbl_80178F8C:
/* 80178F8C 00175EEC 3C 60 80 3D */ lis r3, lbl_803D0668@ha
/* 80178F90 00175EF0 3B 20 00 00 */ li r25, 0
/* 80178F94 00175EF4 38 83 06 68 */ addi r4, r3, lbl_803D0668@l
/* 80178F98 00175EF8 38 A0 00 00 */ li r5, 0
/* 80178F9C 00175EFC 38 60 03 40 */ li r3, 0x340
/* 80178FA0 00175F00 48 19 C8 CD */ bl __nw__FUlPCcPCc
/* 80178FA4 00175F04 7C 78 1B 79 */ or. r24, r3, r3
/* 80178FA8 00175F08 41 82 00 2C */ beq lbl_80178FD4
/* 80178FAC 00175F0C 38 61 00 64 */ addi r3, r1, 0x64
/* 80178FB0 00175F10 38 9F 05 0C */ addi r4, r31, 0x50c
/* 80178FB4 00175F14 48 1C 7E F5 */ bl __ct__6CTokenFRC6CToken
/* 80178FB8 00175F18 7F 03 C3 78 */ mr r3, r24
/* 80178FBC 00175F1C 38 81 00 64 */ addi r4, r1, 0x64
/* 80178FC0 00175F20 3B 20 00 01 */ li r25, 1
/* 80178FC4 00175F24 38 A0 00 00 */ li r5, 0
/* 80178FC8 00175F28 38 C0 00 01 */ li r6, 1
/* 80178FCC 00175F2C 48 1A 64 15 */ bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 80178FD0 00175F30 7C 78 1B 78 */ mr r24, r3
lbl_80178FD4:
/* 80178FD4 00175F34 7F 20 07 75 */ extsb. r0, r25
/* 80178FD8 00175F38 93 1F 05 1C */ stw r24, 0x51c(r31)
/* 80178FDC 00175F3C 41 82 00 10 */ beq lbl_80178FEC
/* 80178FE0 00175F40 38 61 00 64 */ addi r3, r1, 0x64
/* 80178FE4 00175F44 38 80 00 00 */ li r4, 0
/* 80178FE8 00175F48 48 1C 7E 59 */ bl __dt__6CTokenFv
lbl_80178FEC:
/* 80178FEC 00175F4C 38 60 00 00 */ li r3, 0
/* 80178FF0 00175F50 3B 60 00 00 */ li r27, 0
/* 80178FF4 00175F54 90 7F 05 20 */ stw r3, 0x520(r31)
/* 80178FF8 00175F58 3B 40 00 00 */ li r26, 0
/* 80178FFC 00175F5C 3B 20 00 00 */ li r25, 0
/* 80179000 00175F60 3B 00 00 00 */ li r24, 0
/* 80179004 00175F64 80 1D 00 04 */ lwz r0, 4(r29)
/* 80179008 00175F68 90 1F 05 24 */ stw r0, 0x524(r31)
/* 8017900C 00175F6C 80 1D 00 08 */ lwz r0, 8(r29)
/* 80179010 00175F70 90 1F 05 28 */ stw r0, 0x528(r31)
/* 80179014 00175F74 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 80179018 00175F78 3C 04 00 01 */ addis r0, r4, 1
/* 8017901C 00175F7C 28 00 FF FF */ cmplwi r0, 0xffff
/* 80179020 00175F80 41 82 00 68 */ beq lbl_80179088
/* 80179024 00175F84 3C 60 45 4C */ lis r3, 0x454C5343@ha
/* 80179028 00175F88 90 81 00 60 */ stw r4, 0x60(r1)
/* 8017902C 00175F8C 38 03 53 43 */ addi r0, r3, 0x454C5343@l
/* 80179030 00175F90 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 80179034 00175F94 90 01 00 5C */ stw r0, 0x5c(r1)
/* 80179038 00175F98 38 61 00 54 */ addi r3, r1, 0x54
/* 8017903C 00175F9C 38 A1 00 5C */ addi r5, r1, 0x5c
/* 80179040 00175FA0 81 84 00 00 */ lwz r12, 0(r4)
/* 80179044 00175FA4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80179048 00175FA8 7D 89 03 A6 */ mtctr r12
/* 8017904C 00175FAC 4E 80 04 21 */ bctrl
/* 80179050 00175FB0 38 61 00 4C */ addi r3, r1, 0x4c
/* 80179054 00175FB4 38 81 00 54 */ addi r4, r1, 0x54
/* 80179058 00175FB8 3B 60 00 01 */ li r27, 1
/* 8017905C 00175FBC 48 1C 7E 4D */ bl __ct__6CTokenFRC6CToken
/* 80179060 00175FC0 38 00 00 01 */ li r0, 1
/* 80179064 00175FC4 34 61 00 F0 */ addic. r3, r1, 0xf0
/* 80179068 00175FC8 98 01 00 F8 */ stb r0, 0xf8(r1)
/* 8017906C 00175FCC 3B 40 00 01 */ li r26, 1
/* 80179070 00175FD0 41 82 00 0C */ beq lbl_8017907C
/* 80179074 00175FD4 38 81 00 4C */ addi r4, r1, 0x4c
/* 80179078 00175FD8 48 1C 7E 31 */ bl __ct__6CTokenFRC6CToken
lbl_8017907C:
/* 8017907C 00175FDC 38 81 00 F0 */ addi r4, r1, 0xf0
/* 80179080 00175FE0 3B 20 00 01 */ li r25, 1
/* 80179084 00175FE4 48 00 00 10 */ b lbl_80179094
lbl_80179088:
/* 80179088 00175FE8 98 61 00 EC */ stb r3, 0xec(r1)
/* 8017908C 00175FEC 38 81 00 E4 */ addi r4, r1, 0xe4
/* 80179090 00175FF0 3B 00 00 01 */ li r24, 1
lbl_80179094:
/* 80179094 00175FF4 88 04 00 08 */ lbz r0, 8(r4)
/* 80179098 00175FF8 98 1F 05 34 */ stb r0, 0x534(r31)
/* 8017909C 00175FFC 88 04 00 08 */ lbz r0, 8(r4)
/* 801790A0 00176000 28 00 00 00 */ cmplwi r0, 0
/* 801790A4 00176004 41 82 00 10 */ beq lbl_801790B4
/* 801790A8 00176008 34 7F 05 2C */ addic. r3, r31, 0x52c
/* 801790AC 0017600C 41 82 00 08 */ beq lbl_801790B4
/* 801790B0 00176010 48 1C 7D F9 */ bl __ct__6CTokenFRC6CToken
lbl_801790B4:
/* 801790B4 00176014 7F 00 07 75 */ extsb. r0, r24
/* 801790B8 00176018 41 82 00 28 */ beq lbl_801790E0
/* 801790BC 0017601C 88 01 00 EC */ lbz r0, 0xec(r1)
/* 801790C0 00176020 28 00 00 00 */ cmplwi r0, 0
/* 801790C4 00176024 41 82 00 14 */ beq lbl_801790D8
/* 801790C8 00176028 34 61 00 E4 */ addic. r3, r1, 0xe4
/* 801790CC 0017602C 41 82 00 0C */ beq lbl_801790D8
/* 801790D0 00176030 38 80 00 00 */ li r4, 0
/* 801790D4 00176034 48 1C 7D 6D */ bl __dt__6CTokenFv
lbl_801790D8:
/* 801790D8 00176038 38 00 00 00 */ li r0, 0
/* 801790DC 0017603C 98 01 00 EC */ stb r0, 0xec(r1)
lbl_801790E0:
/* 801790E0 00176040 7F 20 07 75 */ extsb. r0, r25
/* 801790E4 00176044 41 82 00 28 */ beq lbl_8017910C
/* 801790E8 00176048 88 01 00 F8 */ lbz r0, 0xf8(r1)
/* 801790EC 0017604C 28 00 00 00 */ cmplwi r0, 0
/* 801790F0 00176050 41 82 00 14 */ beq lbl_80179104
/* 801790F4 00176054 34 61 00 F0 */ addic. r3, r1, 0xf0
/* 801790F8 00176058 41 82 00 0C */ beq lbl_80179104
/* 801790FC 0017605C 38 80 00 00 */ li r4, 0
/* 80179100 00176060 48 1C 7D 41 */ bl __dt__6CTokenFv
lbl_80179104:
/* 80179104 00176064 38 00 00 00 */ li r0, 0
/* 80179108 00176068 98 01 00 F8 */ stb r0, 0xf8(r1)
lbl_8017910C:
/* 8017910C 0017606C 7F 40 07 75 */ extsb. r0, r26
/* 80179110 00176070 41 82 00 10 */ beq lbl_80179120
/* 80179114 00176074 38 61 00 4C */ addi r3, r1, 0x4c
/* 80179118 00176078 38 80 00 00 */ li r4, 0
/* 8017911C 0017607C 48 1C 7D 25 */ bl __dt__6CTokenFv
lbl_80179120:
/* 80179120 00176080 7F 60 07 75 */ extsb. r0, r27
/* 80179124 00176084 41 82 00 10 */ beq lbl_80179134
/* 80179128 00176088 38 61 00 54 */ addi r3, r1, 0x54
/* 8017912C 0017608C 38 80 FF FF */ li r4, -1
/* 80179130 00176090 48 1C 7D 11 */ bl __dt__6CTokenFv
lbl_80179134:
/* 80179134 00176094 80 9D 00 10 */ lwz r4, 0x10(r29)
/* 80179138 00176098 3B 00 00 00 */ li r24, 0
/* 8017913C 0017609C 3B 20 00 00 */ li r25, 0
/* 80179140 001760A0 3B 40 00 00 */ li r26, 0
/* 80179144 001760A4 3C 04 00 01 */ addis r0, r4, 1
/* 80179148 001760A8 3B 60 00 00 */ li r27, 0
/* 8017914C 001760AC 28 00 FF FF */ cmplwi r0, 0xffff
/* 80179150 001760B0 41 82 00 68 */ beq lbl_801791B8
/* 80179154 001760B4 3C 60 50 41 */ lis r3, 0x50415254@ha
/* 80179158 001760B8 90 81 00 48 */ stw r4, 0x48(r1)
/* 8017915C 001760BC 38 03 52 54 */ addi r0, r3, 0x50415254@l
/* 80179160 001760C0 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 80179164 001760C4 90 01 00 44 */ stw r0, 0x44(r1)
/* 80179168 001760C8 38 61 00 3C */ addi r3, r1, 0x3c
/* 8017916C 001760CC 38 A1 00 44 */ addi r5, r1, 0x44
/* 80179170 001760D0 81 84 00 00 */ lwz r12, 0(r4)
/* 80179174 001760D4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80179178 001760D8 7D 89 03 A6 */ mtctr r12
/* 8017917C 001760DC 4E 80 04 21 */ bctrl
/* 80179180 001760E0 38 61 00 34 */ addi r3, r1, 0x34
/* 80179184 001760E4 38 81 00 3C */ addi r4, r1, 0x3c
/* 80179188 001760E8 3B 00 00 01 */ li r24, 1
/* 8017918C 001760EC 48 1C 7D 1D */ bl __ct__6CTokenFRC6CToken
/* 80179190 001760F0 38 00 00 01 */ li r0, 1
/* 80179194 001760F4 34 61 00 D8 */ addic. r3, r1, 0xd8
/* 80179198 001760F8 98 01 00 E0 */ stb r0, 0xe0(r1)
/* 8017919C 001760FC 3B 20 00 01 */ li r25, 1
/* 801791A0 00176100 41 82 00 0C */ beq lbl_801791AC
/* 801791A4 00176104 38 81 00 34 */ addi r4, r1, 0x34
/* 801791A8 00176108 48 1C 7D 01 */ bl __ct__6CTokenFRC6CToken
lbl_801791AC:
/* 801791AC 0017610C 38 81 00 D8 */ addi r4, r1, 0xd8
/* 801791B0 00176110 3B 40 00 01 */ li r26, 1
/* 801791B4 00176114 48 00 00 14 */ b lbl_801791C8
lbl_801791B8:
/* 801791B8 00176118 38 00 00 00 */ li r0, 0
/* 801791BC 0017611C 38 81 00 CC */ addi r4, r1, 0xcc
/* 801791C0 00176120 98 01 00 D4 */ stb r0, 0xd4(r1)
/* 801791C4 00176124 3B 60 00 01 */ li r27, 1
lbl_801791C8:
/* 801791C8 00176128 88 04 00 08 */ lbz r0, 8(r4)
/* 801791CC 0017612C 98 1F 05 40 */ stb r0, 0x540(r31)
/* 801791D0 00176130 88 04 00 08 */ lbz r0, 8(r4)
/* 801791D4 00176134 28 00 00 00 */ cmplwi r0, 0
/* 801791D8 00176138 41 82 00 10 */ beq lbl_801791E8
/* 801791DC 0017613C 34 7F 05 38 */ addic. r3, r31, 0x538
/* 801791E0 00176140 41 82 00 08 */ beq lbl_801791E8
/* 801791E4 00176144 48 1C 7C C5 */ bl __ct__6CTokenFRC6CToken
lbl_801791E8:
/* 801791E8 00176148 7F 60 07 75 */ extsb. r0, r27
/* 801791EC 0017614C 41 82 00 28 */ beq lbl_80179214
/* 801791F0 00176150 88 01 00 D4 */ lbz r0, 0xd4(r1)
/* 801791F4 00176154 28 00 00 00 */ cmplwi r0, 0
/* 801791F8 00176158 41 82 00 14 */ beq lbl_8017920C
/* 801791FC 0017615C 34 61 00 CC */ addic. r3, r1, 0xcc
/* 80179200 00176160 41 82 00 0C */ beq lbl_8017920C
/* 80179204 00176164 38 80 00 00 */ li r4, 0
/* 80179208 00176168 48 1C 7C 39 */ bl __dt__6CTokenFv
lbl_8017920C:
/* 8017920C 0017616C 38 00 00 00 */ li r0, 0
/* 80179210 00176170 98 01 00 D4 */ stb r0, 0xd4(r1)
lbl_80179214:
/* 80179214 00176174 7F 40 07 75 */ extsb. r0, r26
/* 80179218 00176178 41 82 00 28 */ beq lbl_80179240
/* 8017921C 0017617C 88 01 00 E0 */ lbz r0, 0xe0(r1)
/* 80179220 00176180 28 00 00 00 */ cmplwi r0, 0
/* 80179224 00176184 41 82 00 14 */ beq lbl_80179238
/* 80179228 00176188 34 61 00 D8 */ addic. r3, r1, 0xd8
/* 8017922C 0017618C 41 82 00 0C */ beq lbl_80179238
/* 80179230 00176190 38 80 00 00 */ li r4, 0
/* 80179234 00176194 48 1C 7C 0D */ bl __dt__6CTokenFv
lbl_80179238:
/* 80179238 00176198 38 00 00 00 */ li r0, 0
/* 8017923C 0017619C 98 01 00 E0 */ stb r0, 0xe0(r1)
lbl_80179240:
/* 80179240 001761A0 7F 20 07 75 */ extsb. r0, r25
/* 80179244 001761A4 41 82 00 10 */ beq lbl_80179254
/* 80179248 001761A8 38 61 00 34 */ addi r3, r1, 0x34
/* 8017924C 001761AC 38 80 00 00 */ li r4, 0
/* 80179250 001761B0 48 1C 7B F1 */ bl __dt__6CTokenFv
lbl_80179254:
/* 80179254 001761B4 7F 00 07 75 */ extsb. r0, r24
/* 80179258 001761B8 41 82 00 10 */ beq lbl_80179268
/* 8017925C 001761BC 38 61 00 3C */ addi r3, r1, 0x3c
/* 80179260 001761C0 38 80 FF FF */ li r4, -1
/* 80179264 001761C4 48 1C 7B DD */ bl __dt__6CTokenFv
lbl_80179268:
/* 80179268 001761C8 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 8017926C 001761CC 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 80179270 001761D0 48 16 F7 41 */ bl TranslateSFXID__11CSfxManagerFUs
/* 80179274 001761D4 B0 7F 05 44 */ sth r3, 0x544(r31)
/* 80179278 001761D8 80 1D 00 18 */ lwz r0, 0x18(r29)
/* 8017927C 001761DC 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 80179280 001761E0 48 16 F7 31 */ bl TranslateSFXID__11CSfxManagerFUs
/* 80179284 001761E4 B0 7F 05 46 */ sth r3, 0x546(r31)
/* 80179288 001761E8 38 A0 00 00 */ li r5, 0
/* 8017928C 001761EC 38 80 00 01 */ li r4, 1
/* 80179290 001761F0 38 7F 04 E8 */ addi r3, r31, 0x4e8
/* 80179294 001761F4 88 1F 05 48 */ lbz r0, 0x548(r31)
/* 80179298 001761F8 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 8017929C 001761FC 98 1F 05 48 */ stb r0, 0x548(r31)
/* 801792A0 00176200 88 1F 05 48 */ lbz r0, 0x548(r31)
/* 801792A4 00176204 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 801792A8 00176208 98 1F 05 48 */ stb r0, 0x548(r31)
/* 801792AC 0017620C 88 1F 05 48 */ lbz r0, 0x548(r31)
/* 801792B0 00176210 50 A0 2E B4 */ rlwimi r0, r5, 5, 0x1a, 0x1a
/* 801792B4 00176214 98 1F 05 48 */ stb r0, 0x548(r31)
/* 801792B8 00176218 88 1F 05 48 */ lbz r0, 0x548(r31)
/* 801792BC 0017621C 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b
/* 801792C0 00176220 98 1F 05 48 */ stb r0, 0x548(r31)
/* 801792C4 00176224 88 1F 05 48 */ lbz r0, 0x548(r31)
/* 801792C8 00176228 53 80 1F 38 */ rlwimi r0, r28, 3, 0x1c, 0x1c
/* 801792CC 0017622C 98 1F 05 48 */ stb r0, 0x548(r31)
/* 801792D0 00176230 88 1F 05 48 */ lbz r0, 0x548(r31)
/* 801792D4 00176234 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d
/* 801792D8 00176238 98 1F 05 48 */ stb r0, 0x548(r31)
/* 801792DC 0017623C 48 1C 7A A9 */ bl Lock__6CTokenFv
/* 801792E0 00176240 38 7F 04 F4 */ addi r3, r31, 0x4f4
/* 801792E4 00176244 48 1C 7A A1 */ bl Lock__6CTokenFv
/* 801792E8 00176248 C0 1E 00 30 */ lfs f0, 0x30(r30)
/* 801792EC 0017624C 38 81 00 C0 */ addi r4, r1, 0xc0
/* 801792F0 00176250 D0 01 00 C0 */ stfs f0, 0xc0(r1)
/* 801792F4 00176254 D0 01 00 C4 */ stfs f0, 0xc4(r1)
/* 801792F8 00176258 D0 01 00 C8 */ stfs f0, 0xc8(r1)
/* 801792FC 0017625C 80 7F 05 18 */ lwz r3, 0x518(r31)
/* 80179300 00176260 81 83 00 00 */ lwz r12, 0(r3)
/* 80179304 00176264 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 80179308 00176268 7D 89 03 A6 */ mtctr r12
/* 8017930C 0017626C 4E 80 04 21 */ bctrl
/* 80179310 00176270 C0 1E 00 34 */ lfs f0, 0x34(r30)
/* 80179314 00176274 38 81 00 B4 */ addi r4, r1, 0xb4
/* 80179318 00176278 D0 01 00 B4 */ stfs f0, 0xb4(r1)
/* 8017931C 0017627C D0 01 00 B8 */ stfs f0, 0xb8(r1)
/* 80179320 00176280 D0 01 00 BC */ stfs f0, 0xbc(r1)
/* 80179324 00176284 80 7F 05 1C */ lwz r3, 0x51c(r31)
/* 80179328 00176288 81 83 00 00 */ lwz r12, 0(r3)
/* 8017932C 0017628C 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 80179330 00176290 7D 89 03 A6 */ mtctr r12
/* 80179334 00176294 4E 80 04 21 */ bctrl
/* 80179338 00176298 80 7F 05 18 */ lwz r3, 0x518(r31)
/* 8017933C 0017629C 38 80 00 00 */ li r4, 0
/* 80179340 001762A0 81 83 00 00 */ lwz r12, 0(r3)
/* 80179344 001762A4 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80179348 001762A8 7D 89 03 A6 */ mtctr r12
/* 8017934C 001762AC 4E 80 04 21 */ bctrl
/* 80179350 001762B0 80 7F 05 1C */ lwz r3, 0x51c(r31)
/* 80179354 001762B4 38 80 00 00 */ li r4, 0
/* 80179358 001762B8 81 83 00 00 */ lwz r12, 0(r3)
/* 8017935C 001762BC 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80179360 001762C0 7D 89 03 A6 */ mtctr r12
/* 80179364 001762C4 4E 80 04 21 */ bctrl
/* 80179368 001762C8 7F E3 FB 78 */ mr r3, r31
/* 8017936C 001762CC BB 01 01 20 */ lmw r24, 0x120(r1)
/* 80179370 001762D0 80 01 01 44 */ lwz r0, 0x144(r1)
/* 80179374 001762D4 7C 08 03 A6 */ mtlr r0
/* 80179378 001762D8 38 21 01 40 */ addi r1, r1, 0x140
/* 8017937C 001762DC 4E 80 00 20 */ blr
.global __sinit_CPlasmaProjectile_cpp
__sinit_CPlasmaProjectile_cpp:
/* 80179380 001762E0 C0 02 A1 E8 */ lfs f0, lbl_805ABF08@sda21(r2)
/* 80179384 001762E4 D0 0D A4 38 */ stfs f0, lbl_805A8FF8@sda21(r13)
/* 80179388 001762E8 4E 80 00 20 */ blr