.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