.include "macros.inc"

.section .data
.balign 8

.global lbl_803E42E8
lbl_803E42E8:
	# ROM: 0x3E12E8
	.4byte 0
	.4byte 0
	.4byte __dt__11CPhazonBeamFv
	.4byte Reset__10CGunWeaponFR13CStateManager
	.4byte PlayAnim__10CGunWeaponFQ212NWeaponTypes12EGunAnimTypeb
	.4byte PreRenderGunFx__11CPhazonBeamFRC13CStateManagerRC12CTransform4f
	.4byte PostRenderGunFx__11CPhazonBeamFRC13CStateManagerRC12CTransform4f
	.4byte UpdateGunFx__11CPhazonBeamFbfRC13CStateManagerRC12CTransform4f
	.4byte Fire__11CPhazonBeamFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId
	.4byte EnableFx__10CGunWeaponFb
	.4byte EnableSecondaryFx__10CGunWeaponFQ210CGunWeapon16ESecondaryFxType
	.4byte Draw__11CPhazonBeamCFbRC13CStateManagerRC12CTransform4fRC11CModelFlagsPC12CActorLights
	.4byte DrawMuzzleFx__11CPhazonBeamCFRC13CStateManager
	.4byte Update__11CPhazonBeamFfR13CStateManager
	.4byte Load__11CPhazonBeamFb
	.4byte Unload__11CPhazonBeamFR13CStateManager
	.4byte IsLoaded__11CPhazonBeamCFv
	.4byte 0

.section .text, "ax"

.global AcceptScriptMsg__11CPhazonBeamF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__11CPhazonBeamF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 8018C228 00189188  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8018C22C 0018918C  7C 08 02 A6 */	mflr r0
/* 8018C230 00189190  2C 04 00 22 */	cmpwi r4, 0x22
/* 8018C234 00189194  90 01 00 14 */	stw r0, 0x14(r1)
/* 8018C238 00189198  41 82 00 08 */	beq lbl_8018C240
/* 8018C23C 0018919C  48 00 00 40 */	b lbl_8018C27C
lbl_8018C240:
/* 8018C240 001891A0  80 66 08 4C */	lwz r3, 0x84c(r6)
/* 8018C244 001891A4  80 0D A3 90 */	lwz r0, kInvalidAreaId@sda21(r13)
/* 8018C248 001891A8  80 A3 00 04 */	lwz r5, 4(r3)
/* 8018C24C 001891AC  7C 05 00 00 */	cmpw r5, r0
/* 8018C250 001891B0  90 A1 00 0C */	stw r5, 0xc(r1)
/* 8018C254 001891B4  41 82 00 28 */	beq lbl_8018C27C
/* 8018C258 001891B8  80 86 08 50 */	lwz r4, 0x850(r6)
/* 8018C25C 001891BC  54 A3 18 38 */	slwi r3, r5, 3
/* 8018C260 001891C0  38 03 00 04 */	addi r0, r3, 4
/* 8018C264 001891C4  90 A1 00 08 */	stw r5, 8(r1)
/* 8018C268 001891C8  80 64 00 20 */	lwz r3, 0x20(r4)
/* 8018C26C 001891CC  C0 22 A4 08 */	lfs f1, lbl_805AC128@sda21(r2)
/* 8018C270 001891D0  7C 63 00 2E */	lwzx r3, r3, r0
/* 8018C274 001891D4  C0 42 A4 0C */	lfs f2, lbl_805AC12C@sda21(r2)
/* 8018C278 001891D8  4B ED 1F 5D */	bl SetWeaponWorldLighting__9CGameAreaFff
lbl_8018C27C:
/* 8018C27C 001891DC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8018C280 001891E0  7C 08 03 A6 */	mtlr r0
/* 8018C284 001891E4  38 21 00 10 */	addi r1, r1, 0x10
/* 8018C288 001891E8  4E 80 00 20 */	blr

.global CreateBeam__11CPhazonBeamFR13CStateManager
CreateBeam__11CPhazonBeamFR13CStateManager:
/* 8018C28C 001891EC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8018C290 001891F0  7C 08 02 A6 */	mflr r0
/* 8018C294 001891F4  3C 80 80 3D */	lis r4, lbl_803D08F8@ha
/* 8018C298 001891F8  38 A0 00 00 */	li r5, 0
/* 8018C29C 001891FC  90 01 00 24 */	stw r0, 0x24(r1)
/* 8018C2A0 00189200  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8018C2A4 00189204  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8018C2A8 00189208  7C 7E 1B 78 */	mr r30, r3
/* 8018C2AC 0018920C  38 64 08 F8 */	addi r3, r4, lbl_803D08F8@l
/* 8018C2B0 00189210  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8018C2B4 00189214  38 83 00 2F */	addi r4, r3, 0x2f
/* 8018C2B8 00189218  3B A0 00 00 */	li r29, 0
/* 8018C2BC 0018921C  38 60 03 40 */	li r3, 0x340
/* 8018C2C0 00189220  48 18 95 AD */	bl __nw__FUlPCcPCc
/* 8018C2C4 00189224  7C 7F 1B 79 */	or. r31, r3, r3
/* 8018C2C8 00189228  41 82 00 2C */	beq lbl_8018C2F4
/* 8018C2CC 0018922C  38 61 00 08 */	addi r3, r1, 8
/* 8018C2D0 00189230  38 9E 02 28 */	addi r4, r30, 0x228
/* 8018C2D4 00189234  48 1B 4B D5 */	bl __ct__6CTokenFRC6CToken
/* 8018C2D8 00189238  7F E3 FB 78 */	mr r3, r31
/* 8018C2DC 0018923C  38 81 00 08 */	addi r4, r1, 8
/* 8018C2E0 00189240  3B A0 00 01 */	li r29, 1
/* 8018C2E4 00189244  38 A0 00 00 */	li r5, 0
/* 8018C2E8 00189248  38 C0 00 01 */	li r6, 1
/* 8018C2EC 0018924C  48 19 30 F5 */	bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 8018C2F0 00189250  7C 7F 1B 78 */	mr r31, r3
lbl_8018C2F4:
/* 8018C2F4 00189254  80 7E 02 34 */	lwz r3, 0x234(r30)
/* 8018C2F8 00189258  28 03 00 00 */	cmplwi r3, 0
/* 8018C2FC 0018925C  41 82 00 18 */	beq lbl_8018C314
/* 8018C300 00189260  81 83 00 00 */	lwz r12, 0(r3)
/* 8018C304 00189264  38 80 00 01 */	li r4, 1
/* 8018C308 00189268  81 8C 00 08 */	lwz r12, 8(r12)
/* 8018C30C 0018926C  7D 89 03 A6 */	mtctr r12
/* 8018C310 00189270  4E 80 04 21 */	bctrl
lbl_8018C314:
/* 8018C314 00189274  7F A0 07 75 */	extsb. r0, r29
/* 8018C318 00189278  93 FE 02 34 */	stw r31, 0x234(r30)
/* 8018C31C 0018927C  41 82 00 10 */	beq lbl_8018C32C
/* 8018C320 00189280  38 61 00 08 */	addi r3, r1, 8
/* 8018C324 00189284  38 80 00 00 */	li r4, 0
/* 8018C328 00189288  48 1B 4B 19 */	bl __dt__6CTokenFv
lbl_8018C32C:
/* 8018C32C 0018928C  80 7E 02 34 */	lwz r3, 0x234(r30)
/* 8018C330 00189290  28 03 00 00 */	cmplwi r3, 0
/* 8018C334 00189294  41 82 00 30 */	beq lbl_8018C364
/* 8018C338 00189298  81 83 00 00 */	lwz r12, 0(r3)
/* 8018C33C 0018929C  38 9E 00 04 */	addi r4, r30, 4
/* 8018C340 001892A0  81 8C 00 24 */	lwz r12, 0x24(r12)
/* 8018C344 001892A4  7D 89 03 A6 */	mtctr r12
/* 8018C348 001892A8  4E 80 04 21 */	bctrl
/* 8018C34C 001892AC  80 7E 02 34 */	lwz r3, 0x234(r30)
/* 8018C350 001892B0  38 80 00 00 */	li r4, 0
/* 8018C354 001892B4  81 83 00 00 */	lwz r12, 0(r3)
/* 8018C358 001892B8  81 8C 00 2C */	lwz r12, 0x2c(r12)
/* 8018C35C 001892BC  7D 89 03 A6 */	mtctr r12
/* 8018C360 001892C0  4E 80 04 21 */	bctrl
lbl_8018C364:
/* 8018C364 001892C4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8018C368 001892C8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8018C36C 001892CC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8018C370 001892D0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8018C374 001892D4  7C 08 03 A6 */	mtlr r0
/* 8018C378 001892D8  38 21 00 20 */	addi r1, r1, 0x20
/* 8018C37C 001892DC  4E 80 00 20 */	blr

.global IsLoaded__11CPhazonBeamCFv
IsLoaded__11CPhazonBeamCFv:
/* 8018C380 001892E0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8018C384 001892E4  7C 08 02 A6 */	mflr r0
/* 8018C388 001892E8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8018C38C 001892EC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8018C390 001892F0  3B E0 00 00 */	li r31, 0
/* 8018C394 001892F4  93 C1 00 08 */	stw r30, 8(r1)
/* 8018C398 001892F8  7C 7E 1B 78 */	mr r30, r3
/* 8018C39C 001892FC  48 02 F0 09 */	bl IsLoaded__10CGunWeaponCFv
/* 8018C3A0 00189300  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8018C3A4 00189304  41 82 00 14 */	beq lbl_8018C3B8
/* 8018C3A8 00189308  88 1E 02 74 */	lbz r0, 0x274(r30)
/* 8018C3AC 0018930C  54 00 CF FF */	rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8018C3B0 00189310  41 82 00 08 */	beq lbl_8018C3B8
/* 8018C3B4 00189314  3B E0 00 01 */	li r31, 1
lbl_8018C3B8:
/* 8018C3B8 00189318  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8018C3BC 0018931C  7F E3 FB 78 */	mr r3, r31
/* 8018C3C0 00189320  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8018C3C4 00189324  83 C1 00 08 */	lwz r30, 8(r1)
/* 8018C3C8 00189328  7C 08 03 A6 */	mtlr r0
/* 8018C3CC 0018932C  38 21 00 10 */	addi r1, r1, 0x10
/* 8018C3D0 00189330  4E 80 00 20 */	blr

.global Unload__11CPhazonBeamFR13CStateManager
Unload__11CPhazonBeamFR13CStateManager:
/* 8018C3D4 00189334  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8018C3D8 00189338  7C 08 02 A6 */	mflr r0
/* 8018C3DC 0018933C  90 01 00 14 */	stw r0, 0x14(r1)
/* 8018C3E0 00189340  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8018C3E4 00189344  7C 7F 1B 78 */	mr r31, r3
/* 8018C3E8 00189348  48 02 EF C9 */	bl Unload__10CGunWeaponFR13CStateManager
/* 8018C3EC 0018934C  38 00 00 00 */	li r0, 0
/* 8018C3F0 00189350  38 7F 02 28 */	addi r3, r31, 0x228
/* 8018C3F4 00189354  90 1F 02 30 */	stw r0, 0x230(r31)
/* 8018C3F8 00189358  48 1B 49 49 */	bl Unlock__6CTokenFv
/* 8018C3FC 0018935C  38 7F 02 1C */	addi r3, r31, 0x21c
/* 8018C400 00189360  48 1B 49 41 */	bl Unlock__6CTokenFv
/* 8018C404 00189364  7F E3 FB 78 */	mr r3, r31
/* 8018C408 00189368  48 00 0A C5 */	bl ReInitVariables__11CPhazonBeamFv
/* 8018C40C 0018936C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8018C410 00189370  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8018C414 00189374  7C 08 03 A6 */	mtlr r0
/* 8018C418 00189378  38 21 00 10 */	addi r1, r1, 0x10
/* 8018C41C 0018937C  4E 80 00 20 */	blr

.global Load__11CPhazonBeamFb
Load__11CPhazonBeamFb:
/* 8018C420 00189380  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8018C424 00189384  7C 08 02 A6 */	mflr r0
/* 8018C428 00189388  90 01 00 24 */	stw r0, 0x24(r1)
/* 8018C42C 0018938C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8018C430 00189390  7C 9F 23 78 */	mr r31, r4
/* 8018C434 00189394  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8018C438 00189398  7C 7E 1B 78 */	mr r30, r3
/* 8018C43C 0018939C  48 02 F0 99 */	bl Load__10CGunWeaponFR13CStateManagerb
/* 8018C440 001893A0  38 7E 02 28 */	addi r3, r30, 0x228
/* 8018C444 001893A4  48 1B 49 41 */	bl Lock__6CTokenFv
/* 8018C448 001893A8  80 7F 09 00 */	lwz r3, 0x900(r31)
/* 8018C44C 001893AC  48 18 60 D5 */	bl Next__9CRandom16Fv
/* 8018C450 001893B0  88 1E 02 74 */	lbz r0, 0x274(r30)
/* 8018C454 001893B4  50 60 1E F6 */	rlwimi r0, r3, 3, 0x1b, 0x1b
/* 8018C458 001893B8  38 61 00 10 */	addi r3, r1, 0x10
/* 8018C45C 001893BC  98 1E 02 74 */	stb r0, 0x274(r30)
/* 8018C460 001893C0  88 1E 02 74 */	lbz r0, 0x274(r30)
/* 8018C464 001893C4  80 8D A0 64 */	lwz r4, gpSimplePool@sda21(r13)
/* 8018C468 001893C8  54 00 E7 FF */	rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 8018C46C 001893CC  41 82 00 0C */	beq lbl_8018C478
/* 8018C470 001893D0  80 A2 A4 00 */	lwz r5, lbl_805AC120@sda21(r2)
/* 8018C474 001893D4  48 00 00 08 */	b lbl_8018C47C
lbl_8018C478:
/* 8018C478 001893D8  80 A2 A3 FC */	lwz r5, lbl_805AC11C@sda21(r2)
lbl_8018C47C:
/* 8018C47C 001893DC  81 84 00 00 */	lwz r12, 0(r4)
/* 8018C480 001893E0  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 8018C484 001893E4  7D 89 03 A6 */	mtctr r12
/* 8018C488 001893E8  4E 80 04 21 */	bctrl
/* 8018C48C 001893EC  38 61 00 08 */	addi r3, r1, 8
/* 8018C490 001893F0  38 81 00 10 */	addi r4, r1, 0x10
/* 8018C494 001893F4  48 1B 4A 15 */	bl __ct__6CTokenFRC6CToken
/* 8018C498 001893F8  38 7E 02 1C */	addi r3, r30, 0x21c
/* 8018C49C 001893FC  38 81 00 08 */	addi r4, r1, 8
/* 8018C4A0 00189400  48 1B 48 25 */	bl __as__6CTokenFRC6CToken
/* 8018C4A4 00189404  38 61 00 08 */	addi r3, r1, 8
/* 8018C4A8 00189408  38 80 00 00 */	li r4, 0
/* 8018C4AC 0018940C  48 1B 49 95 */	bl __dt__6CTokenFv
/* 8018C4B0 00189410  38 61 00 10 */	addi r3, r1, 0x10
/* 8018C4B4 00189414  38 80 FF FF */	li r4, -1
/* 8018C4B8 00189418  48 1B 49 89 */	bl __dt__6CTokenFv
/* 8018C4BC 0018941C  38 7E 02 1C */	addi r3, r30, 0x21c
/* 8018C4C0 00189420  48 1B 48 C5 */	bl Lock__6CTokenFv
/* 8018C4C4 00189424  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8018C4C8 00189428  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8018C4CC 0018942C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8018C4D0 00189430  7C 08 03 A6 */	mtlr r0
/* 8018C4D4 00189434  38 21 00 20 */	addi r1, r1, 0x20
/* 8018C4D8 00189438  4E 80 00 20 */	blr

.global StopBeam__11CPhazonBeamFR13CStateManagerb
StopBeam__11CPhazonBeamFR13CStateManagerb:
/* 8018C4DC 0018943C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8018C4E0 00189440  7C 08 02 A6 */	mflr r0
/* 8018C4E4 00189444  90 01 00 14 */	stw r0, 0x14(r1)
/* 8018C4E8 00189448  80 63 02 34 */	lwz r3, 0x234(r3)
/* 8018C4EC 0018944C  28 03 00 00 */	cmplwi r3, 0
/* 8018C4F0 00189450  41 82 00 18 */	beq lbl_8018C508
/* 8018C4F4 00189454  81 83 00 00 */	lwz r12, 0(r3)
/* 8018C4F8 00189458  38 80 00 00 */	li r4, 0
/* 8018C4FC 0018945C  81 8C 00 2C */	lwz r12, 0x2c(r12)
/* 8018C500 00189460  7D 89 03 A6 */	mtctr r12
/* 8018C504 00189464  4E 80 04 21 */	bctrl
lbl_8018C508:
/* 8018C508 00189468  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8018C50C 0018946C  7C 08 03 A6 */	mtlr r0
/* 8018C510 00189470  38 21 00 10 */	addi r1, r1, 0x10
/* 8018C514 00189474  4E 80 00 20 */	blr

.global UpdateBeam__11CPhazonBeamFfRC12CTransform4fRC9CVector3fR13CStateManager
UpdateBeam__11CPhazonBeamFfRC12CTransform4fRC9CVector3fR13CStateManager:
/* 8018C518 00189478  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8018C51C 0018947C  7C 08 02 A6 */	mflr r0
/* 8018C520 00189480  90 01 00 24 */	stw r0, 0x24(r1)
/* 8018C524 00189484  DB E1 00 18 */	stfd f31, 0x18(r1)
/* 8018C528 00189488  FF E0 08 90 */	fmr f31, f1
/* 8018C52C 0018948C  93 E1 00 14 */	stw r31, 0x14(r1)
/* 8018C530 00189490  93 C1 00 10 */	stw r30, 0x10(r1)
/* 8018C534 00189494  7C DE 33 78 */	mr r30, r6
/* 8018C538 00189498  93 A1 00 0C */	stw r29, 0xc(r1)
/* 8018C53C 0018949C  7C BD 2B 78 */	mr r29, r5
/* 8018C540 001894A0  93 81 00 08 */	stw r28, 8(r1)
/* 8018C544 001894A4  7C 7C 1B 78 */	mr r28, r3
/* 8018C548 001894A8  83 E3 02 34 */	lwz r31, 0x234(r3)
/* 8018C54C 001894AC  28 1F 00 00 */	cmplwi r31, 0
/* 8018C550 001894B0  41 82 00 24 */	beq lbl_8018C574
/* 8018C554 001894B4  7F C4 F3 78 */	mr r4, r30
/* 8018C558 001894B8  48 00 09 5D */	bl IsFiring__11CPhazonBeamCFRC13CStateManager
/* 8018C55C 001894BC  81 9F 00 00 */	lwz r12, 0(r31)
/* 8018C560 001894C0  7C 64 1B 78 */	mr r4, r3
/* 8018C564 001894C4  7F E3 FB 78 */	mr r3, r31
/* 8018C568 001894C8  81 8C 00 2C */	lwz r12, 0x2c(r12)
/* 8018C56C 001894CC  7D 89 03 A6 */	mtctr r12
/* 8018C570 001894D0  4E 80 04 21 */	bctrl
lbl_8018C574:
/* 8018C574 001894D4  7F 83 E3 78 */	mr r3, r28
/* 8018C578 001894D8  7F C4 F3 78 */	mr r4, r30
/* 8018C57C 001894DC  48 00 09 39 */	bl IsFiring__11CPhazonBeamCFRC13CStateManager
/* 8018C580 001894E0  FC 20 F8 90 */	fmr f1, f31
/* 8018C584 001894E4  7C 66 1B 78 */	mr r6, r3
/* 8018C588 001894E8  7F 83 E3 78 */	mr r3, r28
/* 8018C58C 001894EC  7F A5 EB 78 */	mr r5, r29
/* 8018C590 001894F0  38 9C 00 04 */	addi r4, r28, 4
/* 8018C594 001894F4  48 02 FC 61 */	bl UpdateMuzzleFx__10CGunWeaponFfRC9CVector3fRC9CVector3fb
/* 8018C598 001894F8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8018C59C 001894FC  CB E1 00 18 */	lfd f31, 0x18(r1)
/* 8018C5A0 00189500  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 8018C5A4 00189504  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 8018C5A8 00189508  83 A1 00 0C */	lwz r29, 0xc(r1)
/* 8018C5AC 0018950C  83 81 00 08 */	lwz r28, 8(r1)
/* 8018C5B0 00189510  7C 08 03 A6 */	mtlr r0
/* 8018C5B4 00189514  38 21 00 20 */	addi r1, r1, 0x20
/* 8018C5B8 00189518  4E 80 00 20 */	blr

.global Update__11CPhazonBeamFfR13CStateManager
Update__11CPhazonBeamFfR13CStateManager:
/* 8018C5BC 0018951C  94 21 FF 40 */	stwu r1, -0xc0(r1)
/* 8018C5C0 00189520  7C 08 02 A6 */	mflr r0
/* 8018C5C4 00189524  90 01 00 C4 */	stw r0, 0xc4(r1)
/* 8018C5C8 00189528  DB E1 00 B0 */	stfd f31, 0xb0(r1)
/* 8018C5CC 0018952C  F3 E1 00 B8 */	psq_st f31, 184(r1), 0, qr0
/* 8018C5D0 00189530  93 E1 00 AC */	stw r31, 0xac(r1)
/* 8018C5D4 00189534  93 C1 00 A8 */	stw r30, 0xa8(r1)
/* 8018C5D8 00189538  FF E0 08 90 */	fmr f31, f1
/* 8018C5DC 0018953C  7C 7E 1B 78 */	mr r30, r3
/* 8018C5E0 00189540  7C 9F 23 78 */	mr r31, r4
/* 8018C5E4 00189544  48 02 FE 95 */	bl Update__10CGunWeaponFfR13CStateManager
/* 8018C5E8 00189548  C0 1E 02 78 */	lfs f0, 0x278(r30)
/* 8018C5EC 0018954C  EC 00 F8 2A */	fadds f0, f0, f31
/* 8018C5F0 00189550  D0 1E 02 78 */	stfs f0, 0x278(r30)
/* 8018C5F4 00189554  80 7F 08 4C */	lwz r3, 0x84c(r31)
/* 8018C5F8 00189558  80 0D A3 90 */	lwz r0, kInvalidAreaId@sda21(r13)
/* 8018C5FC 0018955C  80 A3 00 04 */	lwz r5, 4(r3)
/* 8018C600 00189560  7C 05 00 00 */	cmpw r5, r0
/* 8018C604 00189564  90 A1 00 0C */	stw r5, 0xc(r1)
/* 8018C608 00189568  41 82 00 48 */	beq lbl_8018C650
/* 8018C60C 0018956C  80 9F 08 50 */	lwz r4, 0x850(r31)
/* 8018C610 00189570  54 A3 18 38 */	slwi r3, r5, 3
/* 8018C614 00189574  C0 3E 02 78 */	lfs f1, 0x278(r30)
/* 8018C618 00189578  38 03 00 04 */	addi r0, r3, 4
/* 8018C61C 0018957C  C0 02 A4 10 */	lfs f0, lbl_805AC130@sda21(r2)
/* 8018C620 00189580  80 64 00 20 */	lwz r3, 0x20(r4)
/* 8018C624 00189584  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8018C628 00189588  90 A1 00 08 */	stw r5, 8(r1)
/* 8018C62C 0018958C  7C 63 00 2E */	lwzx r3, r3, r0
/* 8018C630 00189590  40 81 00 14 */	ble lbl_8018C644
/* 8018C634 00189594  C0 22 A4 08 */	lfs f1, lbl_805AC128@sda21(r2)
/* 8018C638 00189598  C0 42 A4 0C */	lfs f2, lbl_805AC12C@sda21(r2)
/* 8018C63C 0018959C  4B ED 1B 99 */	bl SetWeaponWorldLighting__9CGameAreaFff
/* 8018C640 001895A0  48 00 00 10 */	b lbl_8018C650
lbl_8018C644:
/* 8018C644 001895A4  C0 22 A4 08 */	lfs f1, lbl_805AC128@sda21(r2)
/* 8018C648 001895A8  C0 42 A4 14 */	lfs f2, lbl_805AC134@sda21(r2)
/* 8018C64C 001895AC  4B ED 1B 89 */	bl SetWeaponWorldLighting__9CGameAreaFff
lbl_8018C650:
/* 8018C650 001895B0  7F C3 F3 78 */	mr r3, r30
/* 8018C654 001895B4  81 9E 00 00 */	lwz r12, 0(r30)
/* 8018C658 001895B8  81 8C 00 40 */	lwz r12, 0x40(r12)
/* 8018C65C 001895BC  7D 89 03 A6 */	mtctr r12
/* 8018C660 001895C0  4E 80 04 21 */	bctrl
/* 8018C664 001895C4  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8018C668 001895C8  40 82 01 44 */	bne lbl_8018C7AC
/* 8018C66C 001895CC  7F C3 F3 78 */	mr r3, r30
/* 8018C670 001895D0  48 02 ED 35 */	bl IsLoaded__10CGunWeaponCFv
/* 8018C674 001895D4  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8018C678 001895D8  41 82 01 FC */	beq lbl_8018C874
/* 8018C67C 001895DC  88 1E 02 74 */	lbz r0, 0x274(r30)
/* 8018C680 001895E0  54 00 CF FE */	rlwinm r0, r0, 0x19, 0x1f, 0x1f
/* 8018C684 001895E4  28 00 00 01 */	cmplwi r0, 1
/* 8018C688 001895E8  41 82 01 EC */	beq lbl_8018C874
/* 8018C68C 001895EC  80 1E 02 30 */	lwz r0, 0x230(r30)
/* 8018C690 001895F0  28 00 00 00 */	cmplwi r0, 0
/* 8018C694 001895F4  41 82 00 0C */	beq lbl_8018C6A0
/* 8018C698 001895F8  38 60 00 01 */	li r3, 1
/* 8018C69C 001895FC  48 00 00 3C */	b lbl_8018C6D8
lbl_8018C6A0:
/* 8018C6A0 00189600  88 1E 02 2C */	lbz r0, 0x22c(r30)
/* 8018C6A4 00189604  28 00 00 00 */	cmplwi r0, 0
/* 8018C6A8 00189608  41 82 00 2C */	beq lbl_8018C6D4
/* 8018C6AC 0018960C  80 7E 02 28 */	lwz r3, 0x228(r30)
/* 8018C6B0 00189610  80 03 00 10 */	lwz r0, 0x10(r3)
/* 8018C6B4 00189614  28 00 00 00 */	cmplwi r0, 0
/* 8018C6B8 00189618  41 82 00 1C */	beq lbl_8018C6D4
/* 8018C6BC 0018961C  38 7E 02 28 */	addi r3, r30, 0x228
/* 8018C6C0 00189620  48 1B 47 4D */	bl GetObj__6CTokenFv
/* 8018C6C4 00189624  80 03 00 04 */	lwz r0, 4(r3)
/* 8018C6C8 00189628  38 60 00 01 */	li r3, 1
/* 8018C6CC 0018962C  90 1E 02 30 */	stw r0, 0x230(r30)
/* 8018C6D0 00189630  48 00 00 08 */	b lbl_8018C6D8
lbl_8018C6D4:
/* 8018C6D4 00189634  38 60 00 00 */	li r3, 0
lbl_8018C6D8:
/* 8018C6D8 00189638  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8018C6DC 0018963C  41 82 00 18 */	beq lbl_8018C6F4
/* 8018C6E0 00189640  80 7E 02 1C */	lwz r3, 0x21c(r30)
/* 8018C6E4 00189644  80 63 00 10 */	lwz r3, 0x10(r3)
/* 8018C6E8 00189648  7C 03 00 D0 */	neg r0, r3
/* 8018C6EC 0018964C  7C 00 1B 78 */	or r0, r0, r3
/* 8018C6F0 00189650  54 03 0F FE */	srwi r3, r0, 0x1f
lbl_8018C6F4:
/* 8018C6F4 00189654  88 1E 02 74 */	lbz r0, 0x274(r30)
/* 8018C6F8 00189658  50 60 3E 30 */	rlwimi r0, r3, 7, 0x18, 0x18
/* 8018C6FC 0018965C  98 1E 02 74 */	stb r0, 0x274(r30)
/* 8018C700 00189660  88 1E 02 74 */	lbz r0, 0x274(r30)
/* 8018C704 00189664  54 00 CF FF */	rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8018C708 00189668  41 82 01 6C */	beq lbl_8018C874
/* 8018C70C 0018966C  7F C3 F3 78 */	mr r3, r30
/* 8018C710 00189670  7F E4 FB 78 */	mr r4, r31
/* 8018C714 00189674  4B FF FB 79 */	bl CreateBeam__11CPhazonBeamFR13CStateManager
/* 8018C718 00189678  3C 80 80 3D */	lis r4, lbl_803D08F8@ha
/* 8018C71C 0018967C  38 60 00 4C */	li r3, 0x4c
/* 8018C720 00189680  38 84 08 F8 */	addi r4, r4, lbl_803D08F8@l
/* 8018C724 00189684  38 A0 00 00 */	li r5, 0
/* 8018C728 00189688  38 84 00 2F */	addi r4, r4, 0x2f
/* 8018C72C 0018968C  48 18 91 41 */	bl __nw__FUlPCcPCc
/* 8018C730 00189690  7C 7F 1B 79 */	or. r31, r3, r3
/* 8018C734 00189694  41 82 00 4C */	beq lbl_8018C780
/* 8018C738 00189698  88 1E 02 74 */	lbz r0, 0x274(r30)
/* 8018C73C 0018969C  54 00 E7 FF */	rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 8018C740 001896A0  41 82 00 0C */	beq lbl_8018C74C
/* 8018C744 001896A4  80 62 A4 00 */	lwz r3, lbl_805AC120@sda21(r2)
/* 8018C748 001896A8  48 00 00 08 */	b lbl_8018C750
lbl_8018C74C:
/* 8018C74C 001896AC  80 62 A3 FC */	lwz r3, lbl_805AC11C@sda21(r2)
lbl_8018C750:
/* 8018C750 001896B0  48 0F EC F9 */	bl get_asset_id_from_name__12NWeaponTypesFPCc
/* 8018C754 001896B4  90 61 00 2C */	stw r3, 0x2c(r1)
/* 8018C758 001896B8  7F E3 FB 78 */	mr r3, r31
/* 8018C75C 001896BC  38 81 00 2C */	addi r4, r1, 0x2c
/* 8018C760 001896C0  C0 1E 00 04 */	lfs f0, 4(r30)
/* 8018C764 001896C4  D0 01 00 30 */	stfs f0, 0x30(r1)
/* 8018C768 001896C8  C0 1E 00 08 */	lfs f0, 8(r30)
/* 8018C76C 001896CC  D0 01 00 34 */	stfs f0, 0x34(r1)
/* 8018C770 001896D0  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 8018C774 001896D4  D0 01 00 38 */	stfs f0, 0x38(r1)
/* 8018C778 001896D8  4B F8 A5 E5 */	bl __ct__10CModelDataFRC10CStaticRes
/* 8018C77C 001896DC  7C 7F 1B 78 */	mr r31, r3
lbl_8018C780:
/* 8018C780 001896E0  80 7E 02 24 */	lwz r3, 0x224(r30)
/* 8018C784 001896E4  38 80 00 01 */	li r4, 1
/* 8018C788 001896E8  4B F8 A2 C5 */	bl __dt__10CModelDataFv
/* 8018C78C 001896EC  93 FE 02 24 */	stw r31, 0x224(r30)
/* 8018C790 001896F0  38 7E 02 1C */	addi r3, r30, 0x21c
/* 8018C794 001896F4  48 1B 45 AD */	bl Unlock__6CTokenFv
/* 8018C798 001896F8  88 1E 02 74 */	lbz r0, 0x274(r30)
/* 8018C79C 001896FC  38 60 00 01 */	li r3, 1
/* 8018C7A0 00189700  50 60 36 72 */	rlwimi r0, r3, 6, 0x19, 0x19
/* 8018C7A4 00189704  98 1E 02 74 */	stb r0, 0x274(r30)
/* 8018C7A8 00189708  48 00 00 CC */	b lbl_8018C874
lbl_8018C7AC:
/* 8018C7AC 0018970C  88 7E 02 74 */	lbz r3, 0x274(r30)
/* 8018C7B0 00189710  54 60 D7 FF */	rlwinm. r0, r3, 0x1a, 0x1f, 0x1f
/* 8018C7B4 00189714  41 82 00 6C */	beq lbl_8018C820
/* 8018C7B8 00189718  C0 02 A4 18 */	lfs f0, lbl_805AC138@sda21(r2)
/* 8018C7BC 0018971C  C0 3E 02 68 */	lfs f1, 0x268(r30)
/* 8018C7C0 00189720  EC 40 07 F2 */	fmuls f2, f0, f31
/* 8018C7C4 00189724  C0 02 A4 0C */	lfs f0, lbl_805AC12C@sda21(r2)
/* 8018C7C8 00189728  EC 21 10 2A */	fadds f1, f1, f2
/* 8018C7CC 0018972C  D0 3E 02 68 */	stfs f1, 0x268(r30)
/* 8018C7D0 00189730  C0 3E 02 68 */	lfs f1, 0x268(r30)
/* 8018C7D4 00189734  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8018C7D8 00189738  40 81 00 08 */	ble lbl_8018C7E0
/* 8018C7DC 0018973C  D0 1E 02 68 */	stfs f0, 0x268(r30)
lbl_8018C7E0:
/* 8018C7E0 00189740  C0 3E 02 68 */	lfs f1, 0x268(r30)
/* 8018C7E4 00189744  C0 02 A4 1C */	lfs f0, lbl_805AC13C@sda21(r2)
/* 8018C7E8 00189748  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8018C7EC 0018974C  40 81 00 88 */	ble lbl_8018C874
/* 8018C7F0 00189750  C0 3E 02 6C */	lfs f1, 0x26c(r30)
/* 8018C7F4 00189754  C0 02 A4 20 */	lfs f0, lbl_805AC140@sda21(r2)
/* 8018C7F8 00189758  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8018C7FC 0018975C  40 80 00 10 */	bge lbl_8018C80C
/* 8018C800 00189760  EC 01 10 2A */	fadds f0, f1, f2
/* 8018C804 00189764  D0 1E 02 6C */	stfs f0, 0x26c(r30)
/* 8018C808 00189768  48 00 00 6C */	b lbl_8018C874
lbl_8018C80C:
/* 8018C80C 0018976C  88 1E 02 74 */	lbz r0, 0x274(r30)
/* 8018C810 00189770  38 60 00 00 */	li r3, 0
/* 8018C814 00189774  50 60 36 72 */	rlwimi r0, r3, 6, 0x19, 0x19
/* 8018C818 00189778  98 1E 02 74 */	stb r0, 0x274(r30)
/* 8018C81C 0018977C  48 00 00 58 */	b lbl_8018C874
lbl_8018C820:
/* 8018C820 00189780  54 60 DF FF */	rlwinm. r0, r3, 0x1b, 0x1f, 0x1f
/* 8018C824 00189784  41 82 00 50 */	beq lbl_8018C874
/* 8018C828 00189788  80 82 A4 04 */	lwz r4, lbl_805AC124@sda21(r2)
/* 8018C82C 0018978C  38 61 00 1C */	addi r3, r1, 0x1c
/* 8018C830 00189790  4B E7 84 89 */	bl string_l__4rstlFPCc
/* 8018C834 00189794  38 61 00 3C */	addi r3, r1, 0x3c
/* 8018C838 00189798  38 9E 00 10 */	addi r4, r30, 0x10
/* 8018C83C 0018979C  38 A1 00 1C */	addi r5, r1, 0x1c
/* 8018C840 001897A0  4B F8 92 2D */	bl "GetLocatorTransform__10CModelDataCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8018C844 001897A4  38 61 00 6C */	addi r3, r1, 0x6c
/* 8018C848 001897A8  38 81 00 3C */	addi r4, r1, 0x3c
/* 8018C84C 001897AC  48 18 63 29 */	bl __ct__12CTransform4fFRC12CTransform4f
/* 8018C850 001897B0  38 61 00 1C */	addi r3, r1, 0x1c
/* 8018C854 001897B4  48 1B 12 8D */	bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8018C858 001897B8  C0 41 00 78 */	lfs f2, 0x78(r1)
/* 8018C85C 001897BC  C0 21 00 88 */	lfs f1, 0x88(r1)
/* 8018C860 001897C0  C0 01 00 98 */	lfs f0, 0x98(r1)
/* 8018C864 001897C4  D0 41 00 10 */	stfs f2, 0x10(r1)
/* 8018C868 001897C8  D0 21 00 14 */	stfs f1, 0x14(r1)
/* 8018C86C 001897CC  D0 01 00 18 */	stfs f0, 0x18(r1)
/* 8018C870 001897D0  D0 3E 02 70 */	stfs f1, 0x270(r30)
lbl_8018C874:
/* 8018C874 001897D4  E3 E1 00 B8 */	psq_l f31, 184(r1), 0, qr0
/* 8018C878 001897D8  80 01 00 C4 */	lwz r0, 0xc4(r1)
/* 8018C87C 001897DC  CB E1 00 B0 */	lfd f31, 0xb0(r1)
/* 8018C880 001897E0  83 E1 00 AC */	lwz r31, 0xac(r1)
/* 8018C884 001897E4  83 C1 00 A8 */	lwz r30, 0xa8(r1)
/* 8018C888 001897E8  7C 08 03 A6 */	mtlr r0
/* 8018C88C 001897EC  38 21 00 C0 */	addi r1, r1, 0xc0
/* 8018C890 001897F0  4E 80 00 20 */	blr

.global Fire__11CPhazonBeamFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId
Fire__11CPhazonBeamFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId:
/* 8018C894 001897F4  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 8018C898 001897F8  7C 08 02 A6 */	mflr r0
/* 8018C89C 001897FC  90 01 00 74 */	stw r0, 0x74(r1)
/* 8018C8A0 00189800  DB E1 00 60 */	stfd f31, 0x60(r1)
/* 8018C8A4 00189804  F3 E1 00 68 */	psq_st f31, 104(r1), 0, qr0
/* 8018C8A8 00189808  DB C1 00 50 */	stfd f30, 0x50(r1)
/* 8018C8AC 0018980C  F3 C1 00 58 */	psq_st f30, 88(r1), 0, qr0
/* 8018C8B0 00189810  DB A1 00 40 */	stfd f29, 0x40(r1)
/* 8018C8B4 00189814  F3 A1 00 48 */	psq_st f29, 72(r1), 0, qr0
/* 8018C8B8 00189818  BE E1 00 1C */	stmw r23, 0x1c(r1)
/* 8018C8BC 0018981C  7C B9 2B 79 */	or. r25, r5, r5
/* 8018C8C0 00189820  FF A0 08 90 */	fmr f29, f1
/* 8018C8C4 00189824  FF C0 10 90 */	fmr f30, f2
/* 8018C8C8 00189828  7C 77 1B 78 */	mr r23, r3
/* 8018C8CC 0018982C  FF E0 18 90 */	fmr f31, f3
/* 8018C8D0 00189830  7C 98 23 78 */	mr r24, r4
/* 8018C8D4 00189834  7C DA 33 78 */	mr r26, r6
/* 8018C8D8 00189838  7C FB 3B 78 */	mr r27, r7
/* 8018C8DC 0018983C  7D 1C 43 78 */	mr r28, r8
/* 8018C8E0 00189840  40 82 00 9C */	bne lbl_8018C97C
/* 8018C8E4 00189844  38 80 00 00 */	li r4, 0
/* 8018C8E8 00189848  38 A0 00 00 */	li r5, 0
/* 8018C8EC 0018984C  48 02 F6 9D */	bl ActivateCharge__10CGunWeaponFbb
/* 8018C8F0 00189850  C0 37 02 78 */	lfs f1, 0x278(r23)
/* 8018C8F4 00189854  C0 02 A4 24 */	lfs f0, lbl_805AC144@sda21(r2)
/* 8018C8F8 00189858  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8018C8FC 0018985C  40 81 00 0C */	ble lbl_8018C908
/* 8018C900 00189860  3B E0 00 05 */	li r31, 5
/* 8018C904 00189864  48 00 00 08 */	b lbl_8018C90C
lbl_8018C908:
/* 8018C908 00189868  3B E0 00 02 */	li r31, 2
lbl_8018C90C:
/* 8018C90C 0018986C  3B A0 00 00 */	li r29, 0
/* 8018C910 00189870  3B C0 00 00 */	li r30, 0
/* 8018C914 00189874  48 00 00 50 */	b lbl_8018C964
lbl_8018C918:
/* 8018C918 00189878  80 1B 08 D8 */	lwz r0, 0x8d8(r27)
/* 8018C91C 0018987C  7C 7E 02 14 */	add r3, r30, r0
/* 8018C920 00189880  48 12 27 E9 */	bl SetGlobalSeed__17CProjectileWeaponFUs
/* 8018C924 00189884  A0 1C 00 00 */	lhz r0, 0(r28)
/* 8018C928 00189888  FC 20 E8 90 */	fmr f1, f29
/* 8018C92C 0018988C  FC 40 F0 90 */	fmr f2, f30
/* 8018C930 00189890  7E E3 BB 78 */	mr r3, r23
/* 8018C934 00189894  FC 60 F8 90 */	fmr f3, f31
/* 8018C938 00189898  B0 01 00 0C */	sth r0, 0xc(r1)
/* 8018C93C 0018989C  7F 04 C3 78 */	mr r4, r24
/* 8018C940 001898A0  7F 25 CB 78 */	mr r5, r25
/* 8018C944 001898A4  7F 46 D3 78 */	mr r6, r26
/* 8018C948 001898A8  7F 67 DB 78 */	mr r7, r27
/* 8018C94C 001898AC  39 01 00 0C */	addi r8, r1, 0xc
/* 8018C950 001898B0  48 02 EF 39 */	bl Fire__10CGunWeaponFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId
/* 8018C954 001898B4  80 7B 08 D8 */	lwz r3, 0x8d8(r27)
/* 8018C958 001898B8  48 12 27 B1 */	bl SetGlobalSeed__17CProjectileWeaponFUs
/* 8018C95C 001898BC  3B DE 03 E8 */	addi r30, r30, 0x3e8
/* 8018C960 001898C0  3B BD 00 01 */	addi r29, r29, 1
lbl_8018C964:
/* 8018C964 001898C4  7C 1D F8 00 */	cmpw r29, r31
/* 8018C968 001898C8  41 80 FF B0 */	blt lbl_8018C918
/* 8018C96C 001898CC  C0 02 A4 28 */	lfs f0, lbl_805AC148@sda21(r2)
/* 8018C970 001898D0  38 00 00 01 */	li r0, 1
/* 8018C974 001898D4  D0 17 02 78 */	stfs f0, 0x278(r23)
/* 8018C978 001898D8  48 00 00 18 */	b lbl_8018C990
lbl_8018C97C:
/* 8018C97C 001898DC  A0 1C 00 00 */	lhz r0, 0(r28)
/* 8018C980 001898E0  39 01 00 08 */	addi r8, r1, 8
/* 8018C984 001898E4  B0 01 00 08 */	sth r0, 8(r1)
/* 8018C988 001898E8  48 02 EF 01 */	bl Fire__10CGunWeaponFbfQ212CPlayerState12EChargeStageRC12CTransform4fR13CStateManager9TUniqueId
/* 8018C98C 001898EC  38 00 00 01 */	li r0, 1
lbl_8018C990:
/* 8018C990 001898F0  54 00 06 3F */	clrlwi. r0, r0, 0x18
/* 8018C994 001898F4  41 82 00 24 */	beq lbl_8018C9B8
/* 8018C998 001898F8  57 20 08 3C */	slwi r0, r25, 1
/* 8018C99C 001898FC  38 62 A3 F8 */	addi r3, r2, lbl_805AC118@sda21
/* 8018C9A0 00189900  7C 83 02 2E */	lhzx r4, r3, r0
/* 8018C9A4 00189904  7F 05 C3 78 */	mr r5, r24
/* 8018C9A8 00189908  38 61 00 10 */	addi r3, r1, 0x10
/* 8018C9AC 0018990C  38 C0 00 00 */	li r6, 0
/* 8018C9B0 00189910  38 E0 00 4A */	li r7, 0x4a
/* 8018C9B4 00189914  48 0F E1 45 */	bl play_sfx__12NWeaponTypesFUsbbs
lbl_8018C9B8:
/* 8018C9B8 00189918  E3 E1 00 68 */	psq_l f31, 104(r1), 0, qr0
/* 8018C9BC 0018991C  CB E1 00 60 */	lfd f31, 0x60(r1)
/* 8018C9C0 00189920  E3 C1 00 58 */	psq_l f30, 88(r1), 0, qr0
/* 8018C9C4 00189924  CB C1 00 50 */	lfd f30, 0x50(r1)
/* 8018C9C8 00189928  E3 A1 00 48 */	psq_l f29, 72(r1), 0, qr0
/* 8018C9CC 0018992C  CB A1 00 40 */	lfd f29, 0x40(r1)
/* 8018C9D0 00189930  BA E1 00 1C */	lmw r23, 0x1c(r1)
/* 8018C9D4 00189934  80 01 00 74 */	lwz r0, 0x74(r1)
/* 8018C9D8 00189938  7C 08 03 A6 */	mtlr r0
/* 8018C9DC 0018993C  38 21 00 70 */	addi r1, r1, 0x70
/* 8018C9E0 00189940  4E 80 00 20 */	blr

.global Draw__11CPhazonBeamCFbRC13CStateManagerRC12CTransform4fRC11CModelFlagsPC12CActorLights
Draw__11CPhazonBeamCFbRC13CStateManagerRC12CTransform4fRC11CModelFlagsPC12CActorLights:
/* 8018C9E4 00189944  94 21 FD F0 */	stwu r1, -0x210(r1)
/* 8018C9E8 00189948  7C 08 02 A6 */	mflr r0
/* 8018C9EC 0018994C  90 01 02 14 */	stw r0, 0x214(r1)
/* 8018C9F0 00189950  BF 01 01 F0 */	stmw r24, 0x1f0(r1)
/* 8018C9F4 00189954  7C 98 23 78 */	mr r24, r4
/* 8018C9F8 00189958  7C BD 2B 78 */	mr r29, r5
/* 8018C9FC 0018995C  7C 7C 1B 78 */	mr r28, r3
/* 8018CA00 00189960  7C D9 33 78 */	mr r25, r6
/* 8018CA04 00189964  7C FE 3B 78 */	mr r30, r7
/* 8018CA08 00189968  7D 1F 43 78 */	mr r31, r8
/* 8018CA0C 0018996C  80 85 08 B8 */	lwz r4, 0x8b8(r5)
/* 8018CA10 00189970  80 64 00 00 */	lwz r3, 0(r4)
/* 8018CA14 00189974  7F A4 EB 78 */	mr r4, r29
/* 8018CA18 00189978  4B F0 4B 41 */	bl GetActiveVisor__12CPlayerStateCFRC13CStateManager
/* 8018CA1C 0018997C  2C 03 00 00 */	cmpwi r3, 0
/* 8018CA20 00189980  3B 60 00 00 */	li r27, 0
/* 8018CA24 00189984  41 82 00 0C */	beq lbl_8018CA30
/* 8018CA28 00189988  2C 03 00 02 */	cmpwi r3, 2
/* 8018CA2C 0018998C  40 82 00 08 */	bne lbl_8018CA34
lbl_8018CA30:
/* 8018CA30 00189990  3B 60 00 01 */	li r27, 1
lbl_8018CA34:
/* 8018CA34 00189994  57 60 06 3F */	clrlwi. r0, r27, 0x18
/* 8018CA38 00189998  83 4D A0 68 */	lwz r26, gpRender@sda21(r13)
/* 8018CA3C 0018999C  41 82 00 2C */	beq lbl_8018CA68
/* 8018CA40 001899A0  80 CD A8 28 */	lwz r6, mpSpareBuffer__9CGraphics@sda21(r13)
/* 8018CA44 001899A4  7F 43 D3 78 */	mr r3, r26
/* 8018CA48 001899A8  38 80 00 01 */	li r4, 1
/* 8018CA4C 001899AC  38 A0 00 01 */	li r5, 1
/* 8018CA50 001899B0  38 E0 00 04 */	li r7, 4
/* 8018CA54 001899B4  39 00 00 00 */	li r8, 0
/* 8018CA58 001899B8  48 12 A8 F5 */	bl CopyTex__13CCubeRendererFibPv8GXTexFmtb
/* 8018CA5C 001899BC  38 60 00 01 */	li r3, 1
/* 8018CA60 001899C0  38 80 00 FF */	li r4, 0xff
/* 8018CA64 001899C4  48 1E F6 7D */	bl GXSetDstAlpha
lbl_8018CA68:
/* 8018CA68 001899C8  7F 83 E3 78 */	mr r3, r28
/* 8018CA6C 001899CC  7F 04 C3 78 */	mr r4, r24
/* 8018CA70 001899D0  7F A5 EB 78 */	mr r5, r29
/* 8018CA74 001899D4  7F 26 CB 78 */	mr r6, r25
/* 8018CA78 001899D8  7F C7 F3 78 */	mr r7, r30
/* 8018CA7C 001899DC  7F E8 FB 78 */	mr r8, r31
/* 8018CA80 001899E0  48 02 F2 89 */	bl Draw__10CGunWeaponCFbRC13CStateManagerRC12CTransform4fRC11CModelFlagsPC12CActorLights
/* 8018CA84 001899E4  57 60 06 3F */	clrlwi. r0, r27, 0x18
/* 8018CA88 001899E8  41 82 00 88 */	beq lbl_8018CB10
/* 8018CA8C 001899EC  38 00 00 00 */	li r0, 0
/* 8018CA90 001899F0  98 01 00 30 */	stb r0, 0x30(r1)
/* 8018CA94 001899F4  48 1B D5 19 */	bl White__6CColorFv
/* 8018CA98 001899F8  C0 7C 02 70 */	lfs f3, 0x270(r28)
/* 8018CA9C 001899FC  7C 7B 1B 78 */	mr r27, r3
/* 8018CAA0 00189A00  C0 22 A4 2C */	lfs f1, lbl_805AC14C@sda21(r2)
/* 8018CAA4 00189A04  38 61 00 08 */	addi r3, r1, 8
/* 8018CAA8 00189A08  C0 42 A4 30 */	lfs f2, lbl_805AC150@sda21(r2)
/* 8018CAAC 00189A0C  C0 02 A4 20 */	lfs f0, lbl_805AC140@sda21(r2)
/* 8018CAB0 00189A10  EC 21 00 F2 */	fmuls f1, f1, f3
/* 8018CAB4 00189A14  EC 42 00 F2 */	fmuls f2, f2, f3
/* 8018CAB8 00189A18  EC 80 00 F2 */	fmuls f4, f0, f3
/* 8018CABC 00189A1C  48 1D 69 31 */	bl __ct__6CColorFffff
/* 8018CAC0 00189A20  C0 42 A4 28 */	lfs f2, lbl_805AC148@sda21(r2)
/* 8018CAC4 00189A24  7C 64 1B 78 */	mr r4, r3
/* 8018CAC8 00189A28  C0 22 A4 0C */	lfs f1, lbl_805AC12C@sda21(r2)
/* 8018CACC 00189A2C  7F 43 D3 78 */	mr r3, r26
/* 8018CAD0 00189A30  FC 60 10 90 */	fmr f3, f2
/* 8018CAD4 00189A34  7F 66 DB 78 */	mr r6, r27
/* 8018CAD8 00189A38  FC 80 10 90 */	fmr f4, f2
/* 8018CADC 00189A3C  38 A1 00 24 */	addi r5, r1, 0x24
/* 8018CAE0 00189A40  48 12 95 41 */	bl "DrawPhazonSuitIndirectEffect__13CCubeRendererFRC6CColorRC23TLockedToken<8CTexture>RC6CColorffff"
/* 8018CAE4 00189A44  88 01 00 30 */	lbz r0, 0x30(r1)
/* 8018CAE8 00189A48  28 00 00 00 */	cmplwi r0, 0
/* 8018CAEC 00189A4C  41 82 00 1C */	beq lbl_8018CB08
/* 8018CAF0 00189A50  34 61 00 24 */	addic. r3, r1, 0x24
/* 8018CAF4 00189A54  41 82 00 14 */	beq lbl_8018CB08
/* 8018CAF8 00189A58  28 03 00 00 */	cmplwi r3, 0
/* 8018CAFC 00189A5C  41 82 00 0C */	beq lbl_8018CB08
/* 8018CB00 00189A60  38 80 00 00 */	li r4, 0
/* 8018CB04 00189A64  48 1B 43 3D */	bl __dt__6CTokenFv
lbl_8018CB08:
/* 8018CB08 00189A68  38 00 00 00 */	li r0, 0
/* 8018CB0C 00189A6C  98 01 00 30 */	stb r0, 0x30(r1)
lbl_8018CB10:
/* 8018CB10 00189A70  80 1C 02 24 */	lwz r0, 0x224(r28)
/* 8018CB14 00189A74  28 00 00 00 */	cmplwi r0, 0
/* 8018CB18 00189A78  41 82 01 84 */	beq lbl_8018CC9C
/* 8018CB1C 00189A7C  80 82 A9 CC */	lwz r4, lbl_805AC6EC@sda21(r2)
/* 8018CB20 00189A80  38 61 00 14 */	addi r3, r1, 0x14
/* 8018CB24 00189A84  4B E7 81 95 */	bl string_l__4rstlFPCc
/* 8018CB28 00189A88  38 61 01 54 */	addi r3, r1, 0x154
/* 8018CB2C 00189A8C  38 9C 00 10 */	addi r4, r28, 0x10
/* 8018CB30 00189A90  38 A1 00 14 */	addi r5, r1, 0x14
/* 8018CB34 00189A94  4B F8 8E 6D */	bl "GetScaledLocatorTransform__10CModelDataCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8018CB38 00189A98  7F 24 CB 78 */	mr r4, r25
/* 8018CB3C 00189A9C  38 61 01 84 */	addi r3, r1, 0x184
/* 8018CB40 00189AA0  38 A1 01 54 */	addi r5, r1, 0x154
/* 8018CB44 00189AA4  48 18 5E 0D */	bl __ml__12CTransform4fCFRC12CTransform4f
/* 8018CB48 00189AA8  38 61 01 B4 */	addi r3, r1, 0x1b4
/* 8018CB4C 00189AAC  38 81 01 84 */	addi r4, r1, 0x184
/* 8018CB50 00189AB0  48 18 60 25 */	bl __ct__12CTransform4fFRC12CTransform4f
/* 8018CB54 00189AB4  38 61 00 14 */	addi r3, r1, 0x14
/* 8018CB58 00189AB8  48 1B 0F 89 */	bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8018CB5C 00189ABC  88 1C 02 74 */	lbz r0, 0x274(r28)
/* 8018CB60 00189AC0  54 00 D7 FF */	rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8018CB64 00189AC4  41 82 00 98 */	beq lbl_8018CBFC
/* 8018CB68 00189AC8  C0 22 A4 0C */	lfs f1, lbl_805AC12C@sda21(r2)
/* 8018CB6C 00189ACC  38 61 00 F4 */	addi r3, r1, 0xf4
/* 8018CB70 00189AD0  C0 1C 02 68 */	lfs f0, 0x268(r28)
/* 8018CB74 00189AD4  EC 21 00 28 */	fsubs f1, f1, f0
/* 8018CB78 00189AD8  FC 40 08 90 */	fmr f2, f1
/* 8018CB7C 00189ADC  FC 60 08 90 */	fmr f3, f1
/* 8018CB80 00189AE0  48 18 66 89 */	bl Scale__12CTransform4fFfff
/* 8018CB84 00189AE4  38 61 01 24 */	addi r3, r1, 0x124
/* 8018CB88 00189AE8  38 81 01 B4 */	addi r4, r1, 0x1b4
/* 8018CB8C 00189AEC  38 A1 00 F4 */	addi r5, r1, 0xf4
/* 8018CB90 00189AF0  48 18 5D C1 */	bl __ml__12CTransform4fCFRC12CTransform4f
/* 8018CB94 00189AF4  80 6D A0 68 */	lwz r3, gpRender@sda21(r13)
/* 8018CB98 00189AF8  38 81 01 24 */	addi r4, r1, 0x124
/* 8018CB9C 00189AFC  81 83 00 00 */	lwz r12, 0(r3)
/* 8018CBA0 00189B00  81 8C 00 30 */	lwz r12, 0x30(r12)
/* 8018CBA4 00189B04  7D 89 03 A6 */	mtctr r12
/* 8018CBA8 00189B08  4E 80 04 21 */	bctrl
/* 8018CBAC 00189B0C  38 7C 02 38 */	addi r3, r28, 0x238
/* 8018CBB0 00189B10  48 02 D0 9D */	bl DrawClipCube__FRC6CAABox
/* 8018CBB4 00189B14  C0 22 A4 28 */	lfs f1, lbl_805AC148@sda21(r2)
/* 8018CBB8 00189B18  38 61 00 94 */	addi r3, r1, 0x94
/* 8018CBBC 00189B1C  C0 1C 02 6C */	lfs f0, 0x26c(r28)
/* 8018CBC0 00189B20  FC 60 08 90 */	fmr f3, f1
/* 8018CBC4 00189B24  FC 40 00 50 */	fneg f2, f0
/* 8018CBC8 00189B28  48 18 65 C1 */	bl Translate__12CTransform4fFfff
/* 8018CBCC 00189B2C  38 61 00 C4 */	addi r3, r1, 0xc4
/* 8018CBD0 00189B30  38 81 01 B4 */	addi r4, r1, 0x1b4
/* 8018CBD4 00189B34  38 A1 00 94 */	addi r5, r1, 0x94
/* 8018CBD8 00189B38  48 18 5D 79 */	bl __ml__12CTransform4fCFRC12CTransform4f
/* 8018CBDC 00189B3C  80 6D A0 68 */	lwz r3, gpRender@sda21(r13)
/* 8018CBE0 00189B40  38 81 00 C4 */	addi r4, r1, 0xc4
/* 8018CBE4 00189B44  81 83 00 00 */	lwz r12, 0(r3)
/* 8018CBE8 00189B48  81 8C 00 30 */	lwz r12, 0x30(r12)
/* 8018CBEC 00189B4C  7D 89 03 A6 */	mtctr r12
/* 8018CBF0 00189B50  4E 80 04 21 */	bctrl
/* 8018CBF4 00189B54  38 7C 02 50 */	addi r3, r28, 0x250
/* 8018CBF8 00189B58  48 02 D0 55 */	bl DrawClipCube__FRC6CAABox
lbl_8018CBFC:
/* 8018CBFC 00189B5C  88 1C 02 74 */	lbz r0, 0x274(r28)
/* 8018CC00 00189B60  54 00 DF FF */	rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 8018CC04 00189B64  41 82 00 80 */	beq lbl_8018CC84
/* 8018CC08 00189B68  C0 22 A4 0C */	lfs f1, lbl_805AC12C@sda21(r2)
/* 8018CC0C 00189B6C  38 60 00 05 */	li r3, 5
/* 8018CC10 00189B70  C0 42 A4 20 */	lfs f2, lbl_805AC140@sda21(r2)
/* 8018CC14 00189B74  38 80 00 00 */	li r4, 0
/* 8018CC18 00189B78  C0 1C 02 70 */	lfs f0, 0x270(r28)
/* 8018CC1C 00189B7C  38 00 00 03 */	li r0, 3
/* 8018CC20 00189B80  98 61 00 0C */	stb r3, 0xc(r1)
/* 8018CC24 00189B84  FC 60 08 90 */	fmr f3, f1
/* 8018CC28 00189B88  EC 82 00 32 */	fmuls f4, f2, f0
/* 8018CC2C 00189B8C  38 61 00 10 */	addi r3, r1, 0x10
/* 8018CC30 00189B90  FC 40 08 90 */	fmr f2, f1
/* 8018CC34 00189B94  98 81 00 0D */	stb r4, 0xd(r1)
/* 8018CC38 00189B98  B0 01 00 0E */	sth r0, 0xe(r1)
/* 8018CC3C 00189B9C  48 1D 67 B1 */	bl __ct__6CColorFffff
/* 8018CC40 00189BA0  C0 3C 02 70 */	lfs f1, 0x270(r28)
/* 8018CC44 00189BA4  38 61 00 34 */	addi r3, r1, 0x34
/* 8018CC48 00189BA8  83 7C 02 24 */	lwz r27, 0x224(r28)
/* 8018CC4C 00189BAC  FC 40 08 90 */	fmr f2, f1
/* 8018CC50 00189BB0  FC 60 08 90 */	fmr f3, f1
/* 8018CC54 00189BB4  48 18 65 B5 */	bl Scale__12CTransform4fFfff
/* 8018CC58 00189BB8  38 61 00 64 */	addi r3, r1, 0x64
/* 8018CC5C 00189BBC  38 81 01 B4 */	addi r4, r1, 0x1b4
/* 8018CC60 00189BC0  38 A1 00 34 */	addi r5, r1, 0x34
/* 8018CC64 00189BC4  48 18 5C ED */	bl __ml__12CTransform4fCFRC12CTransform4f
/* 8018CC68 00189BC8  7F 63 DB 78 */	mr r3, r27
/* 8018CC6C 00189BCC  7F A4 EB 78 */	mr r4, r29
/* 8018CC70 00189BD0  7F E6 FB 78 */	mr r6, r31
/* 8018CC74 00189BD4  38 A1 00 64 */	addi r5, r1, 0x64
/* 8018CC78 00189BD8  38 E1 00 0C */	addi r7, r1, 0xc
/* 8018CC7C 00189BDC  4B F8 81 41 */	bl Render__10CModelDataCFRC13CStateManagerRC12CTransform4fPC12CActorLightsRC11CModelFlags
/* 8018CC80 00189BE0  48 00 00 1C */	b lbl_8018CC9C
lbl_8018CC84:
/* 8018CC84 00189BE4  80 7C 02 24 */	lwz r3, 0x224(r28)
/* 8018CC88 00189BE8  7F A4 EB 78 */	mr r4, r29
/* 8018CC8C 00189BEC  7F E6 FB 78 */	mr r6, r31
/* 8018CC90 00189BF0  7F C7 F3 78 */	mr r7, r30
/* 8018CC94 00189BF4  38 A1 01 B4 */	addi r5, r1, 0x1b4
/* 8018CC98 00189BF8  4B F8 81 25 */	bl Render__10CModelDataCFRC13CStateManagerRC12CTransform4fPC12CActorLightsRC11CModelFlags
lbl_8018CC9C:
/* 8018CC9C 00189BFC  BB 01 01 F0 */	lmw r24, 0x1f0(r1)
/* 8018CCA0 00189C00  80 01 02 14 */	lwz r0, 0x214(r1)
/* 8018CCA4 00189C04  7C 08 03 A6 */	mtlr r0
/* 8018CCA8 00189C08  38 21 02 10 */	addi r1, r1, 0x210
/* 8018CCAC 00189C0C  4E 80 00 20 */	blr

.global DrawMuzzleFx__11CPhazonBeamCFRC13CStateManager
DrawMuzzleFx__11CPhazonBeamCFRC13CStateManager:
/* 8018CCB0 00189C10  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8018CCB4 00189C14  7C 08 02 A6 */	mflr r0
/* 8018CCB8 00189C18  90 01 00 14 */	stw r0, 0x14(r1)
/* 8018CCBC 00189C1C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8018CCC0 00189C20  7C 9F 23 78 */	mr r31, r4
/* 8018CCC4 00189C24  93 C1 00 08 */	stw r30, 8(r1)
/* 8018CCC8 00189C28  7C 7E 1B 78 */	mr r30, r3
/* 8018CCCC 00189C2C  48 00 01 E9 */	bl IsFiring__11CPhazonBeamCFRC13CStateManager
/* 8018CCD0 00189C30  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8018CCD4 00189C34  41 82 00 10 */	beq lbl_8018CCE4
/* 8018CCD8 00189C38  7F C3 F3 78 */	mr r3, r30
/* 8018CCDC 00189C3C  7F E4 FB 78 */	mr r4, r31
/* 8018CCE0 00189C40  48 02 F4 41 */	bl DrawMuzzleFx__10CGunWeaponCFRC13CStateManager
lbl_8018CCE4:
/* 8018CCE4 00189C44  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8018CCE8 00189C48  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8018CCEC 00189C4C  83 C1 00 08 */	lwz r30, 8(r1)
/* 8018CCF0 00189C50  7C 08 03 A6 */	mtlr r0
/* 8018CCF4 00189C54  38 21 00 10 */	addi r1, r1, 0x10
/* 8018CCF8 00189C58  4E 80 00 20 */	blr

.global UpdateGunFx__11CPhazonBeamFbfRC13CStateManagerRC12CTransform4f
UpdateGunFx__11CPhazonBeamFbfRC13CStateManagerRC12CTransform4f:
/* 8018CCFC 00189C5C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8018CD00 00189C60  7C 08 02 A6 */	mflr r0
/* 8018CD04 00189C64  90 01 00 24 */	stw r0, 0x24(r1)
/* 8018CD08 00189C68  DB E1 00 18 */	stfd f31, 0x18(r1)
/* 8018CD0C 00189C6C  FF E0 08 90 */	fmr f31, f1
/* 8018CD10 00189C70  93 E1 00 14 */	stw r31, 0x14(r1)
/* 8018CD14 00189C74  7C DF 33 78 */	mr r31, r6
/* 8018CD18 00189C78  93 C1 00 10 */	stw r30, 0x10(r1)
/* 8018CD1C 00189C7C  7C BE 2B 78 */	mr r30, r5
/* 8018CD20 00189C80  93 A1 00 0C */	stw r29, 0xc(r1)
/* 8018CD24 00189C84  7C 9D 23 78 */	mr r29, r4
/* 8018CD28 00189C88  93 81 00 08 */	stw r28, 8(r1)
/* 8018CD2C 00189C8C  7C 7C 1B 78 */	mr r28, r3
/* 8018CD30 00189C90  80 63 02 34 */	lwz r3, 0x234(r3)
/* 8018CD34 00189C94  28 03 00 00 */	cmplwi r3, 0
/* 8018CD38 00189C98  41 82 00 24 */	beq lbl_8018CD5C
/* 8018CD3C 00189C9C  7F E4 FB 78 */	mr r4, r31
/* 8018CD40 00189CA0  48 19 1E 45 */	bl SetGlobalOrientAndTrans__11CElementGenFRC12CTransform4f
/* 8018CD44 00189CA4  80 7C 02 34 */	lwz r3, 0x234(r28)
/* 8018CD48 00189CA8  FC 20 F8 90 */	fmr f1, f31
/* 8018CD4C 00189CAC  81 83 00 00 */	lwz r12, 0(r3)
/* 8018CD50 00189CB0  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 8018CD54 00189CB4  7D 89 03 A6 */	mtctr r12
/* 8018CD58 00189CB8  4E 80 04 21 */	bctrl
lbl_8018CD5C:
/* 8018CD5C 00189CBC  FC 20 F8 90 */	fmr f1, f31
/* 8018CD60 00189CC0  7F 83 E3 78 */	mr r3, r28
/* 8018CD64 00189CC4  7F A4 EB 78 */	mr r4, r29
/* 8018CD68 00189CC8  7F C5 F3 78 */	mr r5, r30
/* 8018CD6C 00189CCC  7F E6 FB 78 */	mr r6, r31
/* 8018CD70 00189CD0  48 02 F5 6D */	bl UpdateGunFx__10CGunWeaponFbfRC13CStateManagerRC12CTransform4f
/* 8018CD74 00189CD4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8018CD78 00189CD8  CB E1 00 18 */	lfd f31, 0x18(r1)
/* 8018CD7C 00189CDC  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 8018CD80 00189CE0  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 8018CD84 00189CE4  83 A1 00 0C */	lwz r29, 0xc(r1)
/* 8018CD88 00189CE8  83 81 00 08 */	lwz r28, 8(r1)
/* 8018CD8C 00189CEC  7C 08 03 A6 */	mtlr r0
/* 8018CD90 00189CF0  38 21 00 20 */	addi r1, r1, 0x20
/* 8018CD94 00189CF4  4E 80 00 20 */	blr

.global PostRenderGunFx__11CPhazonBeamFRC13CStateManagerRC12CTransform4f
PostRenderGunFx__11CPhazonBeamFRC13CStateManagerRC12CTransform4f:
/* 8018CD98 00189CF8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8018CD9C 00189CFC  7C 08 02 A6 */	mflr r0
/* 8018CDA0 00189D00  90 01 00 24 */	stw r0, 0x24(r1)
/* 8018CDA4 00189D04  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8018CDA8 00189D08  7C BF 2B 78 */	mr r31, r5
/* 8018CDAC 00189D0C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8018CDB0 00189D10  7C 9E 23 78 */	mr r30, r4
/* 8018CDB4 00189D14  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8018CDB8 00189D18  7C 7D 1B 78 */	mr r29, r3
/* 8018CDBC 00189D1C  80 63 02 34 */	lwz r3, 0x234(r3)
/* 8018CDC0 00189D20  28 03 00 00 */	cmplwi r3, 0
/* 8018CDC4 00189D24  41 82 00 14 */	beq lbl_8018CDD8
/* 8018CDC8 00189D28  81 83 00 00 */	lwz r12, 0(r3)
/* 8018CDCC 00189D2C  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 8018CDD0 00189D30  7D 89 03 A6 */	mtctr r12
/* 8018CDD4 00189D34  4E 80 04 21 */	bctrl
lbl_8018CDD8:
/* 8018CDD8 00189D38  7F A3 EB 78 */	mr r3, r29
/* 8018CDDC 00189D3C  7F C4 F3 78 */	mr r4, r30
/* 8018CDE0 00189D40  7F E5 FB 78 */	mr r5, r31
/* 8018CDE4 00189D44  48 02 F6 41 */	bl PostRenderGunFx__10CGunWeaponFRC13CStateManagerRC12CTransform4f
/* 8018CDE8 00189D48  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8018CDEC 00189D4C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8018CDF0 00189D50  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8018CDF4 00189D54  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8018CDF8 00189D58  7C 08 03 A6 */	mtlr r0
/* 8018CDFC 00189D5C  38 21 00 20 */	addi r1, r1, 0x20
/* 8018CE00 00189D60  4E 80 00 20 */	blr

.global PreRenderGunFx__11CPhazonBeamFRC13CStateManagerRC12CTransform4f
PreRenderGunFx__11CPhazonBeamFRC13CStateManagerRC12CTransform4f:
/* 8018CE04 00189D64  94 21 FF 50 */	stwu r1, -0xb0(r1)
/* 8018CE08 00189D68  7C 08 02 A6 */	mflr r0
/* 8018CE0C 00189D6C  90 01 00 B4 */	stw r0, 0xb4(r1)
/* 8018CE10 00189D70  93 E1 00 AC */	stw r31, 0xac(r1)
/* 8018CE14 00189D74  7C BF 2B 78 */	mr r31, r5
/* 8018CE18 00189D78  93 C1 00 A8 */	stw r30, 0xa8(r1)
/* 8018CE1C 00189D7C  7C 9E 23 78 */	mr r30, r4
/* 8018CE20 00189D80  93 A1 00 A4 */	stw r29, 0xa4(r1)
/* 8018CE24 00189D84  7C 7D 1B 78 */	mr r29, r3
/* 8018CE28 00189D88  48 00 00 8D */	bl IsFiring__11CPhazonBeamCFRC13CStateManager
/* 8018CE2C 00189D8C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8018CE30 00189D90  41 82 00 68 */	beq lbl_8018CE98
/* 8018CE34 00189D94  3C 80 80 5A */	lis r4, mViewMatrix__9CGraphics@ha
/* 8018CE38 00189D98  38 61 00 68 */	addi r3, r1, 0x68
/* 8018CE3C 00189D9C  38 84 61 D4 */	addi r4, r4, mViewMatrix__9CGraphics@l
/* 8018CE40 00189DA0  48 18 5D 35 */	bl __ct__12CTransform4fFRC12CTransform4f
/* 8018CE44 00189DA4  7F E4 FB 78 */	mr r4, r31
/* 8018CE48 00189DA8  38 61 00 08 */	addi r3, r1, 8
/* 8018CE4C 00189DAC  48 18 58 95 */	bl GetInverse__12CTransform4fCFv
/* 8018CE50 00189DB0  38 61 00 38 */	addi r3, r1, 0x38
/* 8018CE54 00189DB4  38 81 00 08 */	addi r4, r1, 8
/* 8018CE58 00189DB8  38 A1 00 68 */	addi r5, r1, 0x68
/* 8018CE5C 00189DBC  48 18 5A F5 */	bl __ml__12CTransform4fCFRC12CTransform4f
/* 8018CE60 00189DC0  38 61 00 38 */	addi r3, r1, 0x38
/* 8018CE64 00189DC4  48 17 F8 E9 */	bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f
/* 8018CE68 00189DC8  80 6D A0 68 */	lwz r3, gpRender@sda21(r13)
/* 8018CE6C 00189DCC  3C 80 80 5A */	lis r4, sIdentity__12CTransform4f@ha
/* 8018CE70 00189DD0  38 84 66 70 */	addi r4, r4, sIdentity__12CTransform4f@l
/* 8018CE74 00189DD4  81 83 00 00 */	lwz r12, 0(r3)
/* 8018CE78 00189DD8  81 8C 00 30 */	lwz r12, 0x30(r12)
/* 8018CE7C 00189DDC  7D 89 03 A6 */	mtctr r12
/* 8018CE80 00189DE0  4E 80 04 21 */	bctrl
/* 8018CE84 00189DE4  7F A3 EB 78 */	mr r3, r29
/* 8018CE88 00189DE8  7F C4 F3 78 */	mr r4, r30
/* 8018CE8C 00189DEC  48 02 F2 95 */	bl DrawMuzzleFx__10CGunWeaponCFRC13CStateManager
/* 8018CE90 00189DF0  38 61 00 68 */	addi r3, r1, 0x68
/* 8018CE94 00189DF4  48 17 F8 B9 */	bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f
lbl_8018CE98:
/* 8018CE98 00189DF8  80 01 00 B4 */	lwz r0, 0xb4(r1)
/* 8018CE9C 00189DFC  83 E1 00 AC */	lwz r31, 0xac(r1)
/* 8018CEA0 00189E00  83 C1 00 A8 */	lwz r30, 0xa8(r1)
/* 8018CEA4 00189E04  83 A1 00 A4 */	lwz r29, 0xa4(r1)
/* 8018CEA8 00189E08  7C 08 03 A6 */	mtlr r0
/* 8018CEAC 00189E0C  38 21 00 B0 */	addi r1, r1, 0xb0
/* 8018CEB0 00189E10  4E 80 00 20 */	blr

.global IsFiring__11CPhazonBeamCFRC13CStateManager
IsFiring__11CPhazonBeamCFRC13CStateManager:
/* 8018CEB4 00189E14  C0 23 02 78 */	lfs f1, 0x278(r3)
/* 8018CEB8 00189E18  C0 02 A4 10 */	lfs f0, lbl_805AC130@sda21(r2)
/* 8018CEBC 00189E1C  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8018CEC0 00189E20  7C 00 00 26 */	mfcr r0
/* 8018CEC4 00189E24  54 03 0F FE */	srwi r3, r0, 0x1f
/* 8018CEC8 00189E28  4E 80 00 20 */	blr

.global ReInitVariables__11CPhazonBeamFv
ReInitVariables__11CPhazonBeamFv:
/* 8018CECC 00189E2C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8018CED0 00189E30  7C 08 02 A6 */	mflr r0
/* 8018CED4 00189E34  C0 22 A4 28 */	lfs f1, lbl_805AC148@sda21(r2)
/* 8018CED8 00189E38  90 01 00 14 */	stw r0, 0x14(r1)
/* 8018CEDC 00189E3C  C0 02 A4 0C */	lfs f0, lbl_805AC12C@sda21(r2)
/* 8018CEE0 00189E40  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8018CEE4 00189E44  7C 7F 1B 78 */	mr r31, r3
/* 8018CEE8 00189E48  D0 23 02 68 */	stfs f1, 0x268(r3)
/* 8018CEEC 00189E4C  D0 23 02 6C */	stfs f1, 0x26c(r3)
/* 8018CEF0 00189E50  D0 03 02 70 */	stfs f0, 0x270(r3)
/* 8018CEF4 00189E54  80 63 02 34 */	lwz r3, 0x234(r3)
/* 8018CEF8 00189E58  28 03 00 00 */	cmplwi r3, 0
/* 8018CEFC 00189E5C  41 82 00 18 */	beq lbl_8018CF14
/* 8018CF00 00189E60  81 83 00 00 */	lwz r12, 0(r3)
/* 8018CF04 00189E64  38 80 00 01 */	li r4, 1
/* 8018CF08 00189E68  81 8C 00 08 */	lwz r12, 8(r12)
/* 8018CF0C 00189E6C  7D 89 03 A6 */	mtctr r12
/* 8018CF10 00189E70  4E 80 04 21 */	bctrl
lbl_8018CF14:
/* 8018CF14 00189E74  38 00 00 00 */	li r0, 0
/* 8018CF18 00189E78  38 80 00 01 */	li r4, 1
/* 8018CF1C 00189E7C  90 1F 02 34 */	stw r0, 0x234(r31)
/* 8018CF20 00189E80  80 7F 02 24 */	lwz r3, 0x224(r31)
/* 8018CF24 00189E84  4B F8 9B 29 */	bl __dt__10CModelDataFv
/* 8018CF28 00189E88  38 80 00 00 */	li r4, 0
/* 8018CF2C 00189E8C  38 60 00 01 */	li r3, 1
/* 8018CF30 00189E90  90 9F 02 24 */	stw r4, 0x224(r31)
/* 8018CF34 00189E94  88 1F 02 74 */	lbz r0, 0x274(r31)
/* 8018CF38 00189E98  50 80 3E 30 */	rlwimi r0, r4, 7, 0x18, 0x18
/* 8018CF3C 00189E9C  98 1F 02 74 */	stb r0, 0x274(r31)
/* 8018CF40 00189EA0  88 1F 02 74 */	lbz r0, 0x274(r31)
/* 8018CF44 00189EA4  50 60 36 72 */	rlwimi r0, r3, 6, 0x19, 0x19
/* 8018CF48 00189EA8  98 1F 02 74 */	stb r0, 0x274(r31)
/* 8018CF4C 00189EAC  88 1F 02 74 */	lbz r0, 0x274(r31)
/* 8018CF50 00189EB0  50 80 2E B4 */	rlwimi r0, r4, 5, 0x1a, 0x1a
/* 8018CF54 00189EB4  98 1F 02 74 */	stb r0, 0x274(r31)
/* 8018CF58 00189EB8  90 9F 01 CC */	stw r4, 0x1cc(r31)
/* 8018CF5C 00189EBC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8018CF60 00189EC0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8018CF64 00189EC4  7C 08 03 A6 */	mtlr r0
/* 8018CF68 00189EC8  38 21 00 10 */	addi r1, r1, 0x10
/* 8018CF6C 00189ECC  4E 80 00 20 */	blr

.global __dt__11CPhazonBeamFv
__dt__11CPhazonBeamFv:
/* 8018CF70 00189ED0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8018CF74 00189ED4  7C 08 02 A6 */	mflr r0
/* 8018CF78 00189ED8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8018CF7C 00189EDC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8018CF80 00189EE0  7C 9F 23 78 */	mr r31, r4
/* 8018CF84 00189EE4  93 C1 00 08 */	stw r30, 8(r1)
/* 8018CF88 00189EE8  7C 7E 1B 79 */	or. r30, r3, r3
/* 8018CF8C 00189EEC  41 82 00 98 */	beq lbl_8018D024
/* 8018CF90 00189EF0  3C 60 80 3E */	lis r3, lbl_803E42E8@ha
/* 8018CF94 00189EF4  34 1E 02 34 */	addic. r0, r30, 0x234
/* 8018CF98 00189EF8  38 03 42 E8 */	addi r0, r3, lbl_803E42E8@l
/* 8018CF9C 00189EFC  90 1E 00 00 */	stw r0, 0(r30)
/* 8018CFA0 00189F00  41 82 00 24 */	beq lbl_8018CFC4
/* 8018CFA4 00189F04  80 7E 02 34 */	lwz r3, 0x234(r30)
/* 8018CFA8 00189F08  28 03 00 00 */	cmplwi r3, 0
/* 8018CFAC 00189F0C  41 82 00 18 */	beq lbl_8018CFC4
/* 8018CFB0 00189F10  81 83 00 00 */	lwz r12, 0(r3)
/* 8018CFB4 00189F14  38 80 00 01 */	li r4, 1
/* 8018CFB8 00189F18  81 8C 00 08 */	lwz r12, 8(r12)
/* 8018CFBC 00189F1C  7D 89 03 A6 */	mtctr r12
/* 8018CFC0 00189F20  4E 80 04 21 */	bctrl
lbl_8018CFC4:
/* 8018CFC4 00189F24  34 1E 02 28 */	addic. r0, r30, 0x228
/* 8018CFC8 00189F28  41 82 00 18 */	beq lbl_8018CFE0
/* 8018CFCC 00189F2C  34 1E 02 28 */	addic. r0, r30, 0x228
/* 8018CFD0 00189F30  41 82 00 10 */	beq lbl_8018CFE0
/* 8018CFD4 00189F34  38 7E 02 28 */	addi r3, r30, 0x228
/* 8018CFD8 00189F38  38 80 00 00 */	li r4, 0
/* 8018CFDC 00189F3C  48 1B 3E 65 */	bl __dt__6CTokenFv
lbl_8018CFE0:
/* 8018CFE0 00189F40  34 1E 02 24 */	addic. r0, r30, 0x224
/* 8018CFE4 00189F44  41 82 00 10 */	beq lbl_8018CFF4
/* 8018CFE8 00189F48  80 7E 02 24 */	lwz r3, 0x224(r30)
/* 8018CFEC 00189F4C  38 80 00 01 */	li r4, 1
/* 8018CFF0 00189F50  4B F8 9A 5D */	bl __dt__10CModelDataFv
lbl_8018CFF4:
/* 8018CFF4 00189F54  34 1E 02 1C */	addic. r0, r30, 0x21c
/* 8018CFF8 00189F58  41 82 00 10 */	beq lbl_8018D008
/* 8018CFFC 00189F5C  38 7E 02 1C */	addi r3, r30, 0x21c
/* 8018D000 00189F60  38 80 00 00 */	li r4, 0
/* 8018D004 00189F64  48 1B 3E 3D */	bl __dt__6CTokenFv
lbl_8018D008:
/* 8018D008 00189F68  7F C3 F3 78 */	mr r3, r30
/* 8018D00C 00189F6C  38 80 00 00 */	li r4, 0
/* 8018D010 00189F70  48 02 FC B1 */	bl __dt__10CGunWeaponFv
/* 8018D014 00189F74  7F E0 07 35 */	extsh. r0, r31
/* 8018D018 00189F78  40 81 00 0C */	ble lbl_8018D024
/* 8018D01C 00189F7C  7F C3 F3 78 */	mr r3, r30
/* 8018D020 00189F80  48 18 89 11 */	bl Free__7CMemoryFPCv
lbl_8018D024:
/* 8018D024 00189F84  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8018D028 00189F88  7F C3 F3 78 */	mr r3, r30
/* 8018D02C 00189F8C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8018D030 00189F90  83 C1 00 08 */	lwz r30, 8(r1)
/* 8018D034 00189F94  7C 08 03 A6 */	mtlr r0
/* 8018D038 00189F98  38 21 00 10 */	addi r1, r1, 0x10
/* 8018D03C 00189F9C  4E 80 00 20 */	blr

.global __ct__11CPhazonBeamFUi11EWeaponType9TUniqueId14EMaterialTypesRC9CVector3f
__ct__11CPhazonBeamFUi11EWeaponType9TUniqueId14EMaterialTypesRC9CVector3f:
/* 8018D040 00189FA0  94 21 FF 70 */	stwu r1, -0x90(r1)
/* 8018D044 00189FA4  7C 08 02 A6 */	mflr r0
/* 8018D048 00189FA8  90 01 00 94 */	stw r0, 0x94(r1)
/* 8018D04C 00189FAC  93 E1 00 8C */	stw r31, 0x8c(r1)
/* 8018D050 00189FB0  7D 1F 43 78 */	mr r31, r8
/* 8018D054 00189FB4  93 C1 00 88 */	stw r30, 0x88(r1)
/* 8018D058 00189FB8  7C 7E 1B 78 */	mr r30, r3
/* 8018D05C 00189FBC  93 A1 00 84 */	stw r29, 0x84(r1)
/* 8018D060 00189FC0  A0 06 00 00 */	lhz r0, 0(r6)
/* 8018D064 00189FC4  38 C1 00 08 */	addi r6, r1, 8
/* 8018D068 00189FC8  B0 01 00 08 */	sth r0, 8(r1)
/* 8018D06C 00189FCC  48 03 01 45 */	bl __ct__10CGunWeaponFUi11EWeaponType9TUniqueId14EMaterialTypesRC9CVector3f
/* 8018D070 00189FD0  3C 80 80 3E */	lis r4, lbl_803E42E8@ha
/* 8018D074 00189FD4  38 61 00 14 */	addi r3, r1, 0x14
/* 8018D078 00189FD8  38 04 42 E8 */	addi r0, r4, lbl_803E42E8@l
/* 8018D07C 00189FDC  80 A2 A3 FC */	lwz r5, lbl_805AC11C@sda21(r2)
/* 8018D080 00189FE0  90 1E 00 00 */	stw r0, 0(r30)
/* 8018D084 00189FE4  80 8D A0 64 */	lwz r4, gpSimplePool@sda21(r13)
/* 8018D088 00189FE8  81 84 00 00 */	lwz r12, 0(r4)
/* 8018D08C 00189FEC  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 8018D090 00189FF0  7D 89 03 A6 */	mtctr r12
/* 8018D094 00189FF4  4E 80 04 21 */	bctrl
/* 8018D098 00189FF8  38 7E 02 1C */	addi r3, r30, 0x21c
/* 8018D09C 00189FFC  38 81 00 14 */	addi r4, r1, 0x14
/* 8018D0A0 0018A000  48 1B 3E 09 */	bl __ct__6CTokenFRC6CToken
/* 8018D0A4 0018A004  38 61 00 14 */	addi r3, r1, 0x14
/* 8018D0A8 0018A008  38 80 FF FF */	li r4, -1
/* 8018D0AC 0018A00C  48 1B 3D 95 */	bl __dt__6CTokenFv
/* 8018D0B0 0018A010  38 00 00 00 */	li r0, 0
/* 8018D0B4 0018A014  3C 60 80 3D */	lis r3, lbl_803D08F8@ha
/* 8018D0B8 0018A018  90 1E 02 24 */	stw r0, 0x224(r30)
/* 8018D0BC 0018A01C  38 A3 08 F8 */	addi r5, r3, lbl_803D08F8@l
/* 8018D0C0 0018A020  38 61 00 0C */	addi r3, r1, 0xc
/* 8018D0C4 0018A024  80 8D A0 64 */	lwz r4, gpSimplePool@sda21(r13)
/* 8018D0C8 0018A028  38 A5 00 36 */	addi r5, r5, 0x36
/* 8018D0CC 0018A02C  81 84 00 00 */	lwz r12, 0(r4)
/* 8018D0D0 0018A030  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 8018D0D4 0018A034  7D 89 03 A6 */	mtctr r12
/* 8018D0D8 0018A038  4E 80 04 21 */	bctrl
/* 8018D0DC 0018A03C  3B BE 02 28 */	addi r29, r30, 0x228
/* 8018D0E0 0018A040  38 81 00 0C */	addi r4, r1, 0xc
/* 8018D0E4 0018A044  7F A3 EB 78 */	mr r3, r29
/* 8018D0E8 0018A048  48 1B 3D C1 */	bl __ct__6CTokenFRC6CToken
/* 8018D0EC 0018A04C  38 00 00 00 */	li r0, 0
/* 8018D0F0 0018A050  38 61 00 0C */	addi r3, r1, 0xc
/* 8018D0F4 0018A054  90 1D 00 08 */	stw r0, 8(r29)
/* 8018D0F8 0018A058  38 80 FF FF */	li r4, -1
/* 8018D0FC 0018A05C  48 1B 3D 45 */	bl __dt__6CTokenFv
/* 8018D100 0018A060  38 00 00 00 */	li r0, 0
/* 8018D104 0018A064  C0 02 A4 34 */	lfs f0, lbl_805AC154@sda21(r2)
/* 8018D108 0018A068  90 1E 02 34 */	stw r0, 0x234(r30)
/* 8018D10C 0018A06C  38 7E 02 38 */	addi r3, r30, 0x238
/* 8018D110 0018A070  C0 C2 A4 38 */	lfs f6, lbl_805AC158@sda21(r2)
/* 8018D114 0018A074  38 81 00 70 */	addi r4, r1, 0x70
/* 8018D118 0018A078  C1 7F 00 04 */	lfs f11, 4(r31)
/* 8018D11C 0018A07C  38 A1 00 58 */	addi r5, r1, 0x58
/* 8018D120 0018A080  C0 A2 A4 3C */	lfs f5, lbl_805AC15C@sda21(r2)
/* 8018D124 0018A084  C0 62 A4 40 */	lfs f3, lbl_805AC160@sda21(r2)
/* 8018D128 0018A088  ED 4B 01 B2 */	fmuls f10, f11, f6
/* 8018D12C 0018A08C  C0 42 A4 28 */	lfs f2, lbl_805AC148@sda21(r2)
/* 8018D130 0018A090  ED 2B 01 72 */	fmuls f9, f11, f5
/* 8018D134 0018A094  C0 22 A4 44 */	lfs f1, lbl_805AC164@sda21(r2)
/* 8018D138 0018A098  EC 8B 00 32 */	fmuls f4, f11, f0
/* 8018D13C 0018A09C  ED 0B 00 B2 */	fmuls f8, f11, f2
/* 8018D140 0018A0A0  EC EB 00 72 */	fmuls f7, f11, f1
/* 8018D144 0018A0A4  D0 01 00 4C */	stfs f0, 0x4c(r1)
/* 8018D148 0018A0A8  EC 0B 00 F2 */	fmuls f0, f11, f3
/* 8018D14C 0018A0AC  D0 C1 00 50 */	stfs f6, 0x50(r1)
/* 8018D150 0018A0B0  D0 A1 00 54 */	stfs f5, 0x54(r1)
/* 8018D154 0018A0B4  D0 81 00 58 */	stfs f4, 0x58(r1)
/* 8018D158 0018A0B8  D1 41 00 5C */	stfs f10, 0x5c(r1)
/* 8018D15C 0018A0BC  D1 21 00 60 */	stfs f9, 0x60(r1)
/* 8018D160 0018A0C0  D0 61 00 64 */	stfs f3, 0x64(r1)
/* 8018D164 0018A0C4  D0 41 00 68 */	stfs f2, 0x68(r1)
/* 8018D168 0018A0C8  D0 21 00 6C */	stfs f1, 0x6c(r1)
/* 8018D16C 0018A0CC  D0 01 00 70 */	stfs f0, 0x70(r1)
/* 8018D170 0018A0D0  D1 01 00 74 */	stfs f8, 0x74(r1)
/* 8018D174 0018A0D4  D0 E1 00 78 */	stfs f7, 0x78(r1)
/* 8018D178 0018A0D8  48 1A B3 91 */	bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 8018D17C 0018A0DC  C0 02 A4 48 */	lfs f0, lbl_805AC168@sda21(r2)
/* 8018D180 0018A0E0  38 7E 02 50 */	addi r3, r30, 0x250
/* 8018D184 0018A0E4  C1 7F 00 04 */	lfs f11, 4(r31)
/* 8018D188 0018A0E8  38 81 00 40 */	addi r4, r1, 0x40
/* 8018D18C 0018A0EC  C0 C2 A4 4C */	lfs f6, lbl_805AC16C@sda21(r2)
/* 8018D190 0018A0F0  38 A1 00 28 */	addi r5, r1, 0x28
/* 8018D194 0018A0F4  C0 A2 A4 50 */	lfs f5, lbl_805AC170@sda21(r2)
/* 8018D198 0018A0F8  EC 8B 00 32 */	fmuls f4, f11, f0
/* 8018D19C 0018A0FC  C0 62 A4 54 */	lfs f3, lbl_805AC174@sda21(r2)
/* 8018D1A0 0018A100  ED 4B 01 B2 */	fmuls f10, f11, f6
/* 8018D1A4 0018A104  C0 42 A4 28 */	lfs f2, lbl_805AC148@sda21(r2)
/* 8018D1A8 0018A108  ED 2B 01 72 */	fmuls f9, f11, f5
/* 8018D1AC 0018A10C  C0 22 A4 58 */	lfs f1, lbl_805AC178@sda21(r2)
/* 8018D1B0 0018A110  ED 0B 00 B2 */	fmuls f8, f11, f2
/* 8018D1B4 0018A114  D0 01 00 1C */	stfs f0, 0x1c(r1)
/* 8018D1B8 0018A118  EC EB 00 72 */	fmuls f7, f11, f1
/* 8018D1BC 0018A11C  EC 0B 00 F2 */	fmuls f0, f11, f3
/* 8018D1C0 0018A120  D0 C1 00 20 */	stfs f6, 0x20(r1)
/* 8018D1C4 0018A124  D0 A1 00 24 */	stfs f5, 0x24(r1)
/* 8018D1C8 0018A128  D0 81 00 28 */	stfs f4, 0x28(r1)
/* 8018D1CC 0018A12C  D1 41 00 2C */	stfs f10, 0x2c(r1)
/* 8018D1D0 0018A130  D1 21 00 30 */	stfs f9, 0x30(r1)
/* 8018D1D4 0018A134  D0 61 00 34 */	stfs f3, 0x34(r1)
/* 8018D1D8 0018A138  D0 41 00 38 */	stfs f2, 0x38(r1)
/* 8018D1DC 0018A13C  D0 21 00 3C */	stfs f1, 0x3c(r1)
/* 8018D1E0 0018A140  D0 01 00 40 */	stfs f0, 0x40(r1)
/* 8018D1E4 0018A144  D1 01 00 44 */	stfs f8, 0x44(r1)
/* 8018D1E8 0018A148  D0 E1 00 48 */	stfs f7, 0x48(r1)
/* 8018D1EC 0018A14C  48 1A B3 1D */	bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 8018D1F0 0018A150  C0 42 A4 28 */	lfs f2, lbl_805AC148@sda21(r2)
/* 8018D1F4 0018A154  38 A0 00 00 */	li r5, 0
/* 8018D1F8 0018A158  C0 22 A4 0C */	lfs f1, lbl_805AC12C@sda21(r2)
/* 8018D1FC 0018A15C  38 80 00 01 */	li r4, 1
/* 8018D200 0018A160  D0 5E 02 68 */	stfs f2, 0x268(r30)
/* 8018D204 0018A164  7F C3 F3 78 */	mr r3, r30
/* 8018D208 0018A168  C0 02 A4 24 */	lfs f0, lbl_805AC144@sda21(r2)
/* 8018D20C 0018A16C  D0 5E 02 6C */	stfs f2, 0x26c(r30)
/* 8018D210 0018A170  D0 3E 02 70 */	stfs f1, 0x270(r30)
/* 8018D214 0018A174  88 1E 02 74 */	lbz r0, 0x274(r30)
/* 8018D218 0018A178  50 A0 3E 30 */	rlwimi r0, r5, 7, 0x18, 0x18
/* 8018D21C 0018A17C  98 1E 02 74 */	stb r0, 0x274(r30)
/* 8018D220 0018A180  88 1E 02 74 */	lbz r0, 0x274(r30)
/* 8018D224 0018A184  50 80 36 72 */	rlwimi r0, r4, 6, 0x19, 0x19
/* 8018D228 0018A188  98 1E 02 74 */	stb r0, 0x274(r30)
/* 8018D22C 0018A18C  88 1E 02 74 */	lbz r0, 0x274(r30)
/* 8018D230 0018A190  50 A0 2E B4 */	rlwimi r0, r5, 5, 0x1a, 0x1a
/* 8018D234 0018A194  98 1E 02 74 */	stb r0, 0x274(r30)
/* 8018D238 0018A198  88 1E 02 74 */	lbz r0, 0x274(r30)
/* 8018D23C 0018A19C  50 A0 26 F6 */	rlwimi r0, r5, 4, 0x1b, 0x1b
/* 8018D240 0018A1A0  98 1E 02 74 */	stb r0, 0x274(r30)
/* 8018D244 0018A1A4  D0 1E 02 78 */	stfs f0, 0x278(r30)
/* 8018D248 0018A1A8  83 E1 00 8C */	lwz r31, 0x8c(r1)
/* 8018D24C 0018A1AC  83 C1 00 88 */	lwz r30, 0x88(r1)
/* 8018D250 0018A1B0  83 A1 00 84 */	lwz r29, 0x84(r1)
/* 8018D254 0018A1B4  80 01 00 94 */	lwz r0, 0x94(r1)
/* 8018D258 0018A1B8  7C 08 03 A6 */	mtlr r0
/* 8018D25C 0018A1BC  38 21 00 90 */	addi r1, r1, 0x90
/* 8018D260 0018A1C0  4E 80 00 20 */	blr

.section .sdata2, "a"
.balign 8
.global lbl_805AC118
lbl_805AC118:
	# ROM: 0x3F89B8
	.4byte 0x070D06E7

.global lbl_805AC11C
lbl_805AC11C:
	# ROM: 0x3F89BC
	.4byte lbl_803D08F8

.global lbl_805AC120
lbl_805AC120:
	# ROM: 0x3F89C0
	.4byte lbl_803D0904

.global lbl_805AC124
lbl_805AC124:
	# ROM: 0x3F89C4
	.4byte lbl_803D0912

.global lbl_805AC128
lbl_805AC128:
	# ROM: 0x3F89C8
	.float 4.0

.global lbl_805AC12C
lbl_805AC12C:
	# ROM: 0x3F89CC
	.float 1.0

.global lbl_805AC130
lbl_805AC130:
	# ROM: 0x3F89D0
	.4byte 0x3E2AAB8A

.global lbl_805AC134
lbl_805AC134:
	# ROM: 0x3F89D4
	.float 0.9

.global lbl_805AC138
lbl_805AC138:
	# ROM: 0x3F89D8
	.float 0.75

.global lbl_805AC13C
lbl_805AC13C:
	# ROM: 0x3F89DC
	.float 0.4

.global lbl_805AC140
lbl_805AC140:
	# ROM: 0x3F89E0
	.float 0.5

.global lbl_805AC144
lbl_805AC144:
	# ROM: 0x3F89E4
	.4byte 0x3EAAAB8A

.global lbl_805AC148
lbl_805AC148:
	# ROM: 0x3F89E8
	.4byte 0

.global lbl_805AC14C
lbl_805AC14C:
	# ROM: 0x3F89EC
	.float 0.3

.global lbl_805AC150
lbl_805AC150:
	# ROM: 0x3F89F0
	.float 0.6

.global lbl_805AC154
lbl_805AC154:
	# ROM: 0x3F89F4
	.4byte 0x3E162A5E

.global lbl_805AC158
lbl_805AC158:
	# ROM: 0x3F89F8
	.4byte 0x3F256D1A

.global lbl_805AC15C
lbl_805AC15C:
	# ROM: 0x3F89FC
	.4byte 0x3E18ACF3

.global lbl_805AC160
lbl_805AC160:
	# ROM: 0x3F8A00
	.4byte 0xBE162A5E

.global lbl_805AC164
lbl_805AC164:
	# ROM: 0x3F8A04
	.4byte 0xBE18ACF3

.global lbl_805AC168
lbl_805AC168:
	# ROM: 0x3F8A08
	.4byte 0x3D800000

.global lbl_805AC16C
lbl_805AC16C:
	# ROM: 0x3F8A0C
	.4byte 0xBE800000

.global lbl_805AC170
lbl_805AC170:
	# ROM: 0x3F8A10
	.4byte 0x3DC00000

.global lbl_805AC174
lbl_805AC174:
	# ROM: 0x3F8A14
	.4byte 0xBD800000

.global lbl_805AC178
lbl_805AC178:
	# ROM: 0x3F8A18
	.4byte 0xBDC00000
	.4byte 0


.section .rodata
.balign 8
.global lbl_803D08F8
lbl_803D08F8:

	# ROM: 0x3CD8F8
	.asciz "PhazonVeins"

.global lbl_803D0904
lbl_803D0904:

	# ROM: 0x3CD904
	.asciz "PhazonVeins_2"

.global lbl_803D0912
lbl_803D0912:

	# ROM: 0x3CD912
	.byte 0x70, 0x68
	.asciz "azonScale_LCTR_SDK"
	.byte 0x3F
	.asciz "?(??)"
	.byte 0x50, 0x68
	.asciz "azon2nd_1"
	.balign 4
	.4byte 0