.include "macros.inc"

.section .ctors, "wa"
lbl_ctor:
.4byte __sinit_CMetroidPrimeEssence_cpp

.section .data
.balign 8

.global lbl_803EB1F0
lbl_803EB1F0:
	# ROM: 0x3E81F0
	.4byte 0
	.4byte 0xFFFFFFFF
	.4byte TryProjectileAttack__10CPatternedFR13CStateManageri

.global lbl_803EB1FC
lbl_803EB1FC:
	# ROM: 0x3E81FC
	.4byte 0
	.4byte 0xFFFFFFFF
	.4byte TryMeleeAttack__10CPatternedFR13CStateManageri

.global lbl_803EB208
lbl_803EB208:
	# ROM: 0x3E8208
	.4byte 0
	.4byte 0xFFFFFFFF
	.4byte TryProjectileAttack__10CPatternedFR13CStateManageri

.global lbl_803EB214
lbl_803EB214:
	# ROM: 0x3E8214
	.4byte 0
	.4byte 0xFFFFFFFF
	.4byte sub_8007c418

.global lbl_803EB220
lbl_803EB220:
	# ROM: 0x3E8220
	.4byte 0
	.4byte 0xFFFFFFFF
	.4byte sub_8007c418

.global lbl_803EB22C
lbl_803EB22C:
	# ROM: 0x3E822C
	.4byte 0
	.4byte 0xFFFFFFFF
	.4byte sub_8007c418

.global lbl_803EB238
lbl_803EB238:
	# ROM: 0x3E8238
	.4byte 0
	.4byte 0xFFFFFFFF
	.4byte TryTaunt__10CPatternedFR13CStateManageri

.global lbl_803EB244
lbl_803EB244:
	# ROM: 0x3E8244
	.4byte 0
	.4byte 0
	.4byte __dt__20CMetroidPrimeEssenceFv
	.4byte Accept__10CPatternedFR8IVisitor
	.4byte PreThink__10CPatternedFfR13CStateManager
	.4byte Think__20CMetroidPrimeEssenceFfR13CStateManager
	.4byte AcceptScriptMsg__20CMetroidPrimeEssenceF20EScriptObjectMessage9TUniqueIdR13CStateManager
	.4byte SetActive__6CActorFb
	.4byte PreRender__20CMetroidPrimeEssenceFR13CStateManagerRC14CFrustumPlanes
	.4byte AddToRenderer__20CMetroidPrimeEssenceCFRC14CFrustumPlanesRC13CStateManager
	.4byte Render__20CMetroidPrimeEssenceCFRC13CStateManager
	.4byte CanRenderUnsorted__10CPatternedCFRC13CStateManager
	.4byte CalculateRenderBounds__6CActorFv
	.4byte HealthInfo__3CAiFR13CStateManager
	.4byte GetDamageVulnerability__3CAiCFv
	.4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo
	.4byte GetTouchBounds__10CPatternedCFv
	.4byte Touch__10CPatternedFR6CActorR13CStateManager
	.4byte GetOrbitPosition__10CPatternedCFRC13CStateManager
	.4byte GetAimPosition__20CMetroidPrimeEssenceCFRC13CStateManagerf
	.4byte GetHomingPosition__6CActorCFRC13CStateManagerf
	.4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager
	.4byte GetCollisionResponseType__10CPatternedCFRC9CVector3fRC9CVector3fRC11CWeaponModei
	.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
	.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
	.4byte GetSortingBounds__6CActorCFRC13CStateManager
	.4byte DoUserAnimEvent__20CMetroidPrimeEssenceFR13CStateManagerRC13CInt32POINode14EUserEventType
	.4byte GetCollisionPrimitive__13CPhysicsActorCFv
	.4byte GetPrimitiveTransform__13CPhysicsActorCFv
	.4byte CollidedWith__10CPatternedFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
	.4byte GetStepDownHeight__13CPhysicsActorCFv
	.4byte GetStepUpHeight__13CPhysicsActorCFv
	.4byte GetWeight__13CPhysicsActorCFv
	.4byte Death__20CMetroidPrimeEssenceFRC9CVector3fR13CStateManager
	.4byte KnockBack__10CPatternedFRC9CVector3fR13CStateManagerRC11CDamageInfo14EKnockBackTypef
	.4byte GetDamageVulnerability__3CAiFv
	.4byte TakeDamage__10CPatternedFRC9CVector3ff
	.4byte CanBeShot__3CAiFRC13CStateManageri
	.4byte IsListening__3CAiCFv
	.4byte Listen__3CAiFRC9CVector3f16EListenNoiseType
	.4byte GetOrigin__3CAiCFv
	.4byte Patrol__10CPatternedFR13CStateManager9EStateMsgf
	.4byte FollowPattern__10CPatternedFR13CStateManager9EStateMsgf
	.4byte Dead__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
	.4byte PathFind__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
	.4byte Start__10CPatternedFR13CStateManager9EStateMsgf
	.4byte SelectTarget__3CAiFR13CStateManager9EStateMsgf
	.4byte TargetPatrol__10CPatternedFR13CStateManager9EStateMsgf
	.4byte TargetPlayer__10CPatternedFR13CStateManager9EStateMsgf
	.4byte TargetCover__3CAiFR13CStateManager9EStateMsgf
	.4byte Halt__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
	.4byte Walk__3CAiFR13CStateManager9EStateMsgf
	.4byte Run__3CAiFR13CStateManager9EStateMsgf
	.4byte Generate__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
	.4byte Deactivate__3CAiFR13CStateManager9EStateMsgf
	.4byte Attack__3CAiFR13CStateManager9EStateMsgf
	.4byte LoopedAttack__3CAiFR13CStateManager9EStateMsgf
	.4byte JumpBack__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
	.4byte DoubleSnap__3CAiFR13CStateManager9EStateMsgf
	.4byte Shuffle__3CAiFR13CStateManager9EStateMsgf
	.4byte TurnAround__3CAiFR13CStateManager9EStateMsgf
	.4byte Skid__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
	.4byte Active__3CAiFR13CStateManager9EStateMsgf
	.4byte InActive__3CAiFR13CStateManager9EStateMsgf
	.4byte CoverAttack__3CAiFR13CStateManager9EStateMsgf
	.4byte Crouch__3CAiFR13CStateManager9EStateMsgf
	.4byte FadeIn__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
	.4byte FadeOut__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
	.4byte GetUp__3CAiFR13CStateManager9EStateMsgf
	.4byte Taunt__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
	.4byte Suck__3CAiFR13CStateManager9EStateMsgf
	.4byte Flee__3CAiFR13CStateManager9EStateMsgf
	.4byte Lurk__3CAiFR13CStateManager9EStateMsgf
	.4byte ProjectileAttack__3CAiFR13CStateManager9EStateMsgf
	.4byte Flinch__3CAiFR13CStateManager9EStateMsgf
	.4byte Hurled__3CAiFR13CStateManager9EStateMsgf
	.4byte TelegraphAttack__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
	.4byte Jump__3CAiFR13CStateManager9EStateMsgf
	.4byte Explode__3CAiFR13CStateManager9EStateMsgf
	.4byte Dodge__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
	.4byte Retreat__3CAiFR13CStateManager9EStateMsgf
	.4byte Cover__3CAiFR13CStateManager9EStateMsgf
	.4byte Approach__3CAiFR13CStateManager9EStateMsgf
	.4byte WallHang__3CAiFR13CStateManager9EStateMsgf
	.4byte WallDetach__3CAiFR13CStateManager9EStateMsgf
	.4byte Enraged__3CAiFR13CStateManager9EStateMsgf
	.4byte SpecialAttack__3CAiFR13CStateManager9EStateMsgf
	.4byte Growth__3CAiFR13CStateManager9EStateMsgf
	.4byte Faint__3CAiFR13CStateManager9EStateMsgf
	.4byte Land__3CAiFR13CStateManager9EStateMsgf
	.4byte Bounce__3CAiFR13CStateManager9EStateMsgf
	.4byte PathFindEx__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
	.4byte Dizzy__3CAiFR13CStateManager9EStateMsgf
	.4byte CallForBackup__3CAiFR13CStateManager9EStateMsgf
	.4byte BulbAttack__3CAiFR13CStateManager9EStateMsgf
	.4byte PodAttack__3CAiFR13CStateManager9EStateMsgf
	.4byte InAttackPosition__3CAiFR13CStateManagerf
	.4byte Leash__10CPatternedFR13CStateManagerf
	.4byte OffLine__10CPatternedFR13CStateManagerf
	.4byte Attacked__10CPatternedFR13CStateManagerf
	.4byte PathShagged__10CPatternedFR13CStateManagerf
	.4byte PathOver__10CPatternedFR13CStateManagerf
	.4byte PathFound__10CPatternedFR13CStateManagerf
	.4byte TooClose__10CPatternedFR13CStateManagerf
	.4byte InRange__10CPatternedFR13CStateManagerf
	.4byte InMaxRange__10CPatternedFR13CStateManagerf
	.4byte InDetectionRange__10CPatternedFR13CStateManagerf
	.4byte SpotPlayer__10CPatternedFR13CStateManagerf
	.4byte PlayerSpot__10CPatternedFR13CStateManagerf
	.4byte PatternOver__10CPatternedFR13CStateManagerf
	.4byte PatternShagged__10CPatternedFR13CStateManagerf
	.4byte HasAttackPattern__10CPatternedFR13CStateManagerf
	.4byte HasPatrolPath__20CMetroidPrimeEssenceFR13CStateManagerf
	.4byte HasRetreatPattern__10CPatternedFR13CStateManagerf
	.4byte Delay__10CPatternedFR13CStateManagerf
	.4byte RandomDelay__10CPatternedFR13CStateManagerf
	.4byte FixedDelay__10CPatternedFR13CStateManagerf
	.4byte Default__10CPatternedFR13CStateManagerf
	.4byte AnimOver__10CPatternedFR13CStateManagerf
	.4byte ShouldAttack__20CMetroidPrimeEssenceFR13CStateManagerf
	.4byte ShouldDoubleSnap__3CAiFR13CStateManagerf
	.4byte InPosition__20CMetroidPrimeEssenceFR13CStateManagerf
	.4byte ShouldTurn__3CAiFR13CStateManagerf
	.4byte HitSomething__3CAiFR13CStateManagerf
	.4byte ShouldJumpBack__3CAiFR13CStateManagerf
	.4byte Stuck__10CPatternedFR13CStateManagerf
	.4byte NoPathNodes__10CPatternedFR13CStateManagerf
	.4byte Landed__10CPatternedFR13CStateManagerf
	.4byte HearShot__3CAiFR13CStateManagerf
	.4byte HearPlayer__3CAiFR13CStateManagerf
	.4byte CoverCheck__3CAiFR13CStateManagerf
	.4byte CoverFind__20CMetroidPrimeEssenceFR13CStateManagerf
	.4byte CoverBlown__3CAiFR13CStateManagerf
	.4byte CoverNearlyBlown__3CAiFR13CStateManagerf
	.4byte CoveringFire__3CAiFR13CStateManagerf
	.4byte GotUp__3CAiFR13CStateManagerf
	.4byte LineOfSight__3CAiFR13CStateManagerf
	.4byte AggressionCheck__3CAiFR13CStateManagerf
	.4byte AttackOver__3CAiFR13CStateManagerf
	.4byte ShouldTaunt__20CMetroidPrimeEssenceFR13CStateManagerf
	.4byte Inside__3CAiFR13CStateManagerf
	.4byte ShouldFire__3CAiFR13CStateManagerf
	.4byte ShouldFlinch__3CAiFR13CStateManagerf
	.4byte PatrolPathOver__10CPatternedFR13CStateManagerf
	.4byte ShouldDodge__3CAiFR13CStateManagerf
	.4byte ShouldRetreat__3CAiFR13CStateManagerf
	.4byte ShouldCrouch__20CMetroidPrimeEssenceFR13CStateManagerf
	.4byte ShouldMove__20CMetroidPrimeEssenceFR13CStateManagerf
	.4byte ShotAt__3CAiFR13CStateManagerf
	.4byte HasTargetingPoint__3CAiFR13CStateManagerf
	.4byte ShouldWallHang__3CAiFR13CStateManagerf
	.4byte SetAIStage__3CAiFR13CStateManagerf
	.4byte AIStage__3CAiFR13CStateManagerf
	.4byte StartAttack__3CAiFR13CStateManagerf
	.4byte BreakAttack__3CAiFR13CStateManagerf
	.4byte ShouldStrafe__3CAiFR13CStateManagerf
	.4byte ShouldSpecialAttack__3CAiFR13CStateManagerf
	.4byte LostInterest__3CAiFR13CStateManagerf
	.4byte CodeTrigger__10CPatternedFR13CStateManagerf
	.4byte BounceFind__3CAiFR13CStateManagerf
	.4byte Random__10CPatternedFR13CStateManagerf
	.4byte FixedRandom__10CPatternedFR13CStateManagerf
	.4byte IsDizzy__3CAiFR13CStateManagerf
	.4byte ShouldCallForBackup__3CAiFR13CStateManagerf
	.4byte Freeze__10CPatternedFRC9CVector3f13CUnitVector3ff
	.4byte KnockbackWhenFrozen__10CPatternedCFv
	.4byte MassiveDeath__10CPatternedFR13CStateManager
	.4byte MassiveFrozenDeath__10CPatternedFR13CStateManager
	.4byte Burn__10CPatternedFff
	.4byte Shock__10CPatternedFff
	.4byte ThinkAboutMove__10CPatternedFf
	.4byte GetSearchPath__20CMetroidPrimeEssenceFv
	.4byte GetContactDamage__10CPatternedCFv
	.4byte GetModelAlphau8__10CPatternedCFRC13CStateManager
	.4byte IsOnGround__10CPatternedCFv
	.4byte GetGravityConstant__10CPatternedCFv
	.4byte GetProjectileInfo__10CPatternedFv
	.4byte PhazeOut__10CPatternedFR13CStateManager
	.4byte GetDeathExplosionParticle__10CPatternedCFv

.global lbl_803EB510
lbl_803EB510:
	# ROM: 0x3E8510
	.4byte lbl_8027E814
	.4byte lbl_8027E618
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E574
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E814
	.4byte lbl_8027E53C
	.4byte lbl_8027E814
	.4byte lbl_8027E60C
	.4byte lbl_8027E804

.global lbl_803EB58C
lbl_803EB58C:
	# ROM: 0x3E858C
	.4byte lbl_80280078
	.4byte lbl_8027FCD4
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_8027FCE8
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280054
	.4byte lbl_80280068
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_8027FD28
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_8027FBDC
	.4byte lbl_8027FCFC
	.4byte lbl_8027FC84
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_80280078
	.4byte lbl_8027FE20
	.4byte lbl_80280078

.section .sdata
.balign 8

.global lbl_805A84A0
lbl_805A84A0:
	# ROM: 0x3F5E40
	.4byte 0x00000013

.global lbl_805A84A4
lbl_805A84A4:
	# ROM: 0x3F5E44
	.4byte 0
	.float 1.5

.global lbl_805A84AC
lbl_805A84AC:
	# ROM: 0x3F5E4C
	.4byte 0x00000013

.global lbl_805A84B0
lbl_805A84B0:
	# ROM: 0x3F5E50
	.4byte 0x0000002F

.global lbl_805A84B4
lbl_805A84B4:
	# ROM: 0x3F5E54
	.4byte 0x00000020

.global lbl_805A84B8
lbl_805A84B8:
	# ROM: 0x3F5E58
	.4byte 0x00000021

.global lbl_805A84BC
lbl_805A84BC:
	# ROM: 0x3F5E5C
	.4byte 0x00000020

.global lbl_805A84C0
lbl_805A84C0:
	# ROM: 0x3F5E60
	.4byte 0x00000021

.global lbl_805A84C4
lbl_805A84C4:
	# ROM: 0x3F5E64
	.4byte 0x00000030

.global lbl_805A84C8
lbl_805A84C8:
	# ROM: 0x3F5E68
	.4byte 0x00000013

.global lbl_805A84CC
lbl_805A84CC:
	# ROM: 0x3F5E6C
	.4byte 0x00000020

.global lbl_805A84D0
lbl_805A84D0:
	# ROM: 0x3F5E70
	.4byte 0x00000021

.global lbl_805A84D4
lbl_805A84D4:
	# ROM: 0x3F5E74
	.4byte 0x00000030

.global lbl_805A84D8
lbl_805A84D8:
	# ROM: 0x3F5E78
	.4byte 0x00000012

.global lbl_805A84DC
lbl_805A84DC:
	# ROM: 0x3F5E7C
	.4byte 0x00000013

.global lbl_805A84E0
lbl_805A84E0:
	# ROM: 0x3F5E80
	.4byte 0x00000030

.global lbl_805A84E4
lbl_805A84E4:
	# ROM: 0x3F5E84
	.4byte 0x00000012

.section .text, "ax"

.global GetSearchPath__20CMetroidPrimeEssenceFv
GetSearchPath__20CMetroidPrimeEssenceFv:
/* 8027CB38 00279A98  38 63 05 74 */	addi r3, r3, 0x574
/* 8027CB3C 00279A9C  4E 80 00 20 */	blr

.global sub_8027cb40
sub_8027cb40:
/* 8027CB40 00279AA0  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 8027CB44 00279AA4  7C 08 02 A6 */	mflr r0
/* 8027CB48 00279AA8  90 01 00 64 */	stw r0, 0x64(r1)
/* 8027CB4C 00279AAC  93 E1 00 5C */	stw r31, 0x5c(r1)
/* 8027CB50 00279AB0  7C 9F 23 78 */	mr r31, r4
/* 8027CB54 00279AB4  93 C1 00 58 */	stw r30, 0x58(r1)
/* 8027CB58 00279AB8  7C 7E 1B 78 */	mr r30, r3
/* 8027CB5C 00279ABC  93 A1 00 54 */	stw r29, 0x54(r1)
/* 8027CB60 00279AC0  93 81 00 50 */	stw r28, 0x50(r1)
/* 8027CB64 00279AC4  80 83 04 50 */	lwz r4, 0x450(r3)
/* 8027CB68 00279AC8  38 84 00 04 */	addi r4, r4, 4
/* 8027CB6C 00279ACC  4B F7 81 A1 */	bl GetStepDirection__10CPatternedFRC9CVector3f
/* 8027CB70 00279AD0  80 9E 04 50 */	lwz r4, 0x450(r30)
/* 8027CB74 00279AD4  7C 7C 1B 78 */	mr r28, r3
/* 8027CB78 00279AD8  38 64 00 04 */	addi r3, r4, 4
/* 8027CB7C 00279ADC  4B EB 49 2D */	bl ClearLocomotionCmds__16CBodyStateCmdMgrFv
/* 8027CB80 00279AE0  2C 1C 00 00 */	cmpwi r28, 0
/* 8027CB84 00279AE4  40 82 00 98 */	bne lbl_8027CC1C
/* 8027CB88 00279AE8  C0 3E 02 E4 */	lfs f1, 0x2e4(r30)
/* 8027CB8C 00279AEC  38 61 00 18 */	addi r3, r1, 0x18
/* 8027CB90 00279AF0  C0 1E 00 50 */	lfs f0, 0x50(r30)
/* 8027CB94 00279AF4  38 81 00 3C */	addi r4, r1, 0x3c
/* 8027CB98 00279AF8  C0 7E 02 E8 */	lfs f3, 0x2e8(r30)
/* 8027CB9C 00279AFC  C0 5E 00 60 */	lfs f2, 0x60(r30)
/* 8027CBA0 00279B00  EC 81 00 28 */	fsubs f4, f1, f0
/* 8027CBA4 00279B04  C0 3E 02 E0 */	lfs f1, 0x2e0(r30)
/* 8027CBA8 00279B08  C0 1E 00 40 */	lfs f0, 0x40(r30)
/* 8027CBAC 00279B0C  EC 43 10 28 */	fsubs f2, f3, f2
/* 8027CBB0 00279B10  EC 01 00 28 */	fsubs f0, f1, f0
/* 8027CBB4 00279B14  D0 81 00 40 */	stfs f4, 0x40(r1)
/* 8027CBB8 00279B18  D0 41 00 44 */	stfs f2, 0x44(r1)
/* 8027CBBC 00279B1C  D0 01 00 3C */	stfs f0, 0x3c(r1)
/* 8027CBC0 00279B20  48 09 7C 91 */	bl AsNormalized__9CVector3fCFv
/* 8027CBC4 00279B24  C0 5E 00 58 */	lfs f2, 0x58(r30)
/* 8027CBC8 00279B28  38 61 00 30 */	addi r3, r1, 0x30
/* 8027CBCC 00279B2C  C0 3E 00 48 */	lfs f1, 0x48(r30)
/* 8027CBD0 00279B30  38 81 00 24 */	addi r4, r1, 0x24
/* 8027CBD4 00279B34  C0 1E 00 38 */	lfs f0, 0x38(r30)
/* 8027CBD8 00279B38  D0 01 00 24 */	stfs f0, 0x24(r1)
/* 8027CBDC 00279B3C  D0 21 00 28 */	stfs f1, 0x28(r1)
/* 8027CBE0 00279B40  D0 41 00 2C */	stfs f2, 0x2c(r1)
/* 8027CBE4 00279B44  48 09 7C 6D */	bl AsNormalized__9CVector3fCFv
/* 8027CBE8 00279B48  C0 21 00 34 */	lfs f1, 0x34(r1)
/* 8027CBEC 00279B4C  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 8027CBF0 00279B50  C0 41 00 30 */	lfs f2, 0x30(r1)
/* 8027CBF4 00279B54  EC 01 00 32 */	fmuls f0, f1, f0
/* 8027CBF8 00279B58  C0 21 00 18 */	lfs f1, 0x18(r1)
/* 8027CBFC 00279B5C  C0 81 00 38 */	lfs f4, 0x38(r1)
/* 8027CC00 00279B60  C0 61 00 20 */	lfs f3, 0x20(r1)
/* 8027CC04 00279B64  EC 22 00 7A */	fmadds f1, f2, f1, f0
/* 8027CC08 00279B68  C0 02 BD 0C */	lfs f0, lbl_805ADA2C@sda21(r2)
/* 8027CC0C 00279B6C  EC 24 08 FA */	fmadds f1, f4, f3, f1
/* 8027CC10 00279B70  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8027CC14 00279B74  40 80 00 08 */	bge lbl_8027CC1C
/* 8027CC18 00279B78  3B 80 00 01 */	li r28, 1
lbl_8027CC1C:
/* 8027CC1C 00279B7C  3C 80 80 3E */	lis r4, lbl_803DAA68@ha
/* 8027CC20 00279B80  80 7E 04 50 */	lwz r3, 0x450(r30)
/* 8027CC24 00279B84  38 04 AA 68 */	addi r0, r4, lbl_803DAA68@l
/* 8027CC28 00279B88  3C 80 80 3E */	lis r4, lbl_803DA9E4@ha
/* 8027CC2C 00279B8C  90 01 00 08 */	stw r0, 8(r1)
/* 8027CC30 00279B90  38 A4 A9 E4 */	addi r5, r4, lbl_803DA9E4@l
/* 8027CC34 00279B94  38 80 00 01 */	li r4, 1
/* 8027CC38 00279B98  38 00 00 00 */	li r0, 0
/* 8027CC3C 00279B9C  3B A3 00 04 */	addi r29, r3, 4
/* 8027CC40 00279BA0  90 81 00 0C */	stw r4, 0xc(r1)
/* 8027CC44 00279BA4  7F A3 EB 78 */	mr r3, r29
/* 8027CC48 00279BA8  38 80 00 01 */	li r4, 1
/* 8027CC4C 00279BAC  90 A1 00 08 */	stw r5, 8(r1)
/* 8027CC50 00279BB0  93 81 00 10 */	stw r28, 0x10(r1)
/* 8027CC54 00279BB4  90 01 00 14 */	stw r0, 0x14(r1)
/* 8027CC58 00279BB8  4B EB 47 E1 */	bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd
/* 8027CC5C 00279BBC  80 01 00 0C */	lwz r0, 0xc(r1)
/* 8027CC60 00279BC0  3C 60 80 3E */	lis r3, lbl_803DA9E4@ha
/* 8027CC64 00279BC4  38 83 A9 E4 */	addi r4, r3, lbl_803DA9E4@l
/* 8027CC68 00279BC8  7F 85 E3 78 */	mr r5, r28
/* 8027CC6C 00279BCC  90 1D 00 C8 */	stw r0, 0xc8(r29)
/* 8027CC70 00279BD0  3C 60 80 3E */	lis r3, lbl_803DAA68@ha
/* 8027CC74 00279BD4  38 03 AA 68 */	addi r0, r3, lbl_803DAA68@l
/* 8027CC78 00279BD8  80 61 00 14 */	lwz r3, 0x14(r1)
/* 8027CC7C 00279BDC  90 BD 00 CC */	stw r5, 0xcc(r29)
/* 8027CC80 00279BE0  90 7D 00 D0 */	stw r3, 0xd0(r29)
/* 8027CC84 00279BE4  C0 3F 00 00 */	lfs f1, 0(r31)
/* 8027CC88 00279BE8  C0 1E 00 40 */	lfs f0, 0x40(r30)
/* 8027CC8C 00279BEC  C0 9F 00 04 */	lfs f4, 4(r31)
/* 8027CC90 00279BF0  C0 7E 00 50 */	lfs f3, 0x50(r30)
/* 8027CC94 00279BF4  EC 01 00 28 */	fsubs f0, f1, f0
/* 8027CC98 00279BF8  C0 5F 00 08 */	lfs f2, 8(r31)
/* 8027CC9C 00279BFC  C0 3E 00 60 */	lfs f1, 0x60(r30)
/* 8027CCA0 00279C00  EC 64 18 28 */	fsubs f3, f4, f3
/* 8027CCA4 00279C04  80 7E 04 50 */	lwz r3, 0x450(r30)
/* 8027CCA8 00279C08  EC 22 08 28 */	fsubs f1, f2, f1
/* 8027CCAC 00279C0C  90 81 00 08 */	stw r4, 8(r1)
/* 8027CCB0 00279C10  D0 03 00 1C */	stfs f0, 0x1c(r3)
/* 8027CCB4 00279C14  D0 63 00 20 */	stfs f3, 0x20(r3)
/* 8027CCB8 00279C18  D0 23 00 24 */	stfs f1, 0x24(r3)
/* 8027CCBC 00279C1C  90 01 00 08 */	stw r0, 8(r1)
/* 8027CCC0 00279C20  83 E1 00 5C */	lwz r31, 0x5c(r1)
/* 8027CCC4 00279C24  83 C1 00 58 */	lwz r30, 0x58(r1)
/* 8027CCC8 00279C28  83 A1 00 54 */	lwz r29, 0x54(r1)
/* 8027CCCC 00279C2C  80 01 00 64 */	lwz r0, 0x64(r1)
/* 8027CCD0 00279C30  83 81 00 50 */	lwz r28, 0x50(r1)
/* 8027CCD4 00279C34  7C 08 03 A6 */	mtlr r0
/* 8027CCD8 00279C38  38 21 00 60 */	addi r1, r1, 0x60
/* 8027CCDC 00279C3C  4E 80 00 20 */	blr

.global sub_8027cce0
sub_8027cce0:
/* 8027CCE0 00279C40  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 8027CCE4 00279C44  7C 08 02 A6 */	mflr r0
/* 8027CCE8 00279C48  90 01 00 54 */	stw r0, 0x54(r1)
/* 8027CCEC 00279C4C  93 E1 00 4C */	stw r31, 0x4c(r1)
/* 8027CCF0 00279C50  93 C1 00 48 */	stw r30, 0x48(r1)
/* 8027CCF4 00279C54  7C 9E 23 78 */	mr r30, r4
/* 8027CCF8 00279C58  93 A1 00 44 */	stw r29, 0x44(r1)
/* 8027CCFC 00279C5C  7C 7D 1B 78 */	mr r29, r3
/* 8027CD00 00279C60  80 03 07 08 */	lwz r0, 0x708(r3)
/* 8027CD04 00279C64  38 61 00 0C */	addi r3, r1, 0xc
/* 8027CD08 00279C68  90 01 00 0C */	stw r0, 0xc(r1)
/* 8027CD0C 00279C6C  48 06 C0 C9 */	bl IsPlaying__11CSfxManagerF10CSfxHandle
/* 8027CD10 00279C70  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8027CD14 00279C74  40 82 00 CC */	bne lbl_8027CDE0
/* 8027CD18 00279C78  83 FD 00 04 */	lwz r31, 4(r29)
/* 8027CD1C 00279C7C  38 E0 00 00 */	li r7, 0
/* 8027CD20 00279C80  C0 42 BD 10 */	lfs f2, lbl_805ADA30@sda21(r2)
/* 8027CD24 00279C84  39 00 00 01 */	li r8, 1
/* 8027CD28 00279C88  C0 22 BD 14 */	lfs f1, lbl_805ADA34@sda21(r2)
/* 8027CD2C 00279C8C  38 C0 00 7F */	li r6, 0x7f
/* 8027CD30 00279C90  C0 02 BD 18 */	lfs f0, lbl_805ADA38@sda21(r2)
/* 8027CD34 00279C94  38 A0 00 14 */	li r5, 0x14
/* 8027CD38 00279C98  88 02 CC 41 */	lbz r0, lbl_805AE961@sda21(r2)
/* 8027CD3C 00279C9C  7F A3 EB 78 */	mr r3, r29
/* 8027CD40 00279CA0  D0 41 00 10 */	stfs f2, 0x10(r1)
/* 8027CD44 00279CA4  7F C4 F3 78 */	mr r4, r30
/* 8027CD48 00279CA8  D0 41 00 14 */	stfs f2, 0x14(r1)
/* 8027CD4C 00279CAC  D0 41 00 18 */	stfs f2, 0x18(r1)
/* 8027CD50 00279CB0  D0 41 00 1C */	stfs f2, 0x1c(r1)
/* 8027CD54 00279CB4  D0 41 00 20 */	stfs f2, 0x20(r1)
/* 8027CD58 00279CB8  D0 41 00 24 */	stfs f2, 0x24(r1)
/* 8027CD5C 00279CBC  D0 21 00 28 */	stfs f1, 0x28(r1)
/* 8027CD60 00279CC0  D0 01 00 2C */	stfs f0, 0x2c(r1)
/* 8027CD64 00279CC4  91 01 00 30 */	stw r8, 0x30(r1)
/* 8027CD68 00279CC8  B0 E1 00 34 */	sth r7, 0x34(r1)
/* 8027CD6C 00279CCC  98 C1 00 36 */	stb r6, 0x36(r1)
/* 8027CD70 00279CD0  98 A1 00 37 */	stb r5, 0x37(r1)
/* 8027CD74 00279CD4  98 E1 00 38 */	stb r7, 0x38(r1)
/* 8027CD78 00279CD8  98 01 00 39 */	stb r0, 0x39(r1)
/* 8027CD7C 00279CDC  48 00 00 81 */	bl sub_8027cdfc
/* 8027CD80 00279CE0  3C 80 80 5A */	lis r4, sZeroVector__9CVector3f@ha
/* 8027CD84 00279CE4  C4 44 66 A0 */	lfsu f2, sZeroVector__9CVector3f@l(r4)
/* 8027CD88 00279CE8  C0 A3 00 2C */	lfs f5, 0x2c(r3)
/* 8027CD8C 00279CEC  38 00 0B 67 */	li r0, 0xb67
/* 8027CD90 00279CF0  C0 83 00 1C */	lfs f4, 0x1c(r3)
/* 8027CD94 00279CF4  7F E8 FB 78 */	mr r8, r31
/* 8027CD98 00279CF8  C0 63 00 0C */	lfs f3, 0xc(r3)
/* 8027CD9C 00279CFC  38 61 00 08 */	addi r3, r1, 8
/* 8027CDA0 00279D00  C0 24 00 04 */	lfs f1, 4(r4)
/* 8027CDA4 00279D04  38 A0 00 01 */	li r5, 1
/* 8027CDA8 00279D08  C0 04 00 08 */	lfs f0, 8(r4)
/* 8027CDAC 00279D0C  38 81 00 10 */	addi r4, r1, 0x10
/* 8027CDB0 00279D10  D0 61 00 10 */	stfs f3, 0x10(r1)
/* 8027CDB4 00279D14  38 E0 00 00 */	li r7, 0
/* 8027CDB8 00279D18  A8 C2 C5 FA */	lha r6, kMedPriority__11CSfxManager@sda21(r2)
/* 8027CDBC 00279D1C  D0 81 00 14 */	stfs f4, 0x14(r1)
/* 8027CDC0 00279D20  D0 A1 00 18 */	stfs f5, 0x18(r1)
/* 8027CDC4 00279D24  D0 41 00 1C */	stfs f2, 0x1c(r1)
/* 8027CDC8 00279D28  D0 21 00 20 */	stfs f1, 0x20(r1)
/* 8027CDCC 00279D2C  D0 01 00 24 */	stfs f0, 0x24(r1)
/* 8027CDD0 00279D30  B0 01 00 34 */	sth r0, 0x34(r1)
/* 8027CDD4 00279D34  48 06 D2 0D */	bl AddEmitter__11CSfxManagerFRQ29CAudioSys18C3DEmitterParmDatabsbi
/* 8027CDD8 00279D38  80 01 00 08 */	lwz r0, 8(r1)
/* 8027CDDC 00279D3C  90 1D 07 08 */	stw r0, 0x708(r29)
lbl_8027CDE0:
/* 8027CDE0 00279D40  80 01 00 54 */	lwz r0, 0x54(r1)
/* 8027CDE4 00279D44  83 E1 00 4C */	lwz r31, 0x4c(r1)
/* 8027CDE8 00279D48  83 C1 00 48 */	lwz r30, 0x48(r1)
/* 8027CDEC 00279D4C  83 A1 00 44 */	lwz r29, 0x44(r1)
/* 8027CDF0 00279D50  7C 08 03 A6 */	mtlr r0
/* 8027CDF4 00279D54  38 21 00 50 */	addi r1, r1, 0x50
/* 8027CDF8 00279D58  4E 80 00 20 */	blr

.global sub_8027cdfc
sub_8027cdfc:
/* 8027CDFC 00279D5C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8027CE00 00279D60  7C 08 02 A6 */	mflr r0
/* 8027CE04 00279D64  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027CE08 00279D68  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8027CE0C 00279D6C  7C 7F 1B 78 */	mr r31, r3
/* 8027CE10 00279D70  A0 03 07 06 */	lhz r0, 0x706(r3)
/* 8027CE14 00279D74  7C 83 23 78 */	mr r3, r4
/* 8027CE18 00279D78  38 81 00 08 */	addi r4, r1, 8
/* 8027CE1C 00279D7C  B0 01 00 08 */	sth r0, 8(r1)
/* 8027CE20 00279D80  4B DC F7 85 */	bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8027CE24 00279D84  7C 64 1B 78 */	mr r4, r3
/* 8027CE28 00279D88  38 61 00 0C */	addi r3, r1, 0xc
/* 8027CE2C 00279D8C  4B E3 25 21 */	bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity"
/* 8027CE30 00279D90  80 63 00 04 */	lwz r3, 4(r3)
/* 8027CE34 00279D94  28 03 00 00 */	cmplwi r3, 0
/* 8027CE38 00279D98  41 82 00 0C */	beq lbl_8027CE44
/* 8027CE3C 00279D9C  38 63 00 34 */	addi r3, r3, 0x34
/* 8027CE40 00279DA0  48 00 00 08 */	b lbl_8027CE48
lbl_8027CE44:
/* 8027CE44 00279DA4  38 7F 00 34 */	addi r3, r31, 0x34
lbl_8027CE48:
/* 8027CE48 00279DA8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027CE4C 00279DAC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8027CE50 00279DB0  7C 08 03 A6 */	mtlr r0
/* 8027CE54 00279DB4  38 21 00 20 */	addi r1, r1, 0x20
/* 8027CE58 00279DB8  4E 80 00 20 */	blr

.global sub_8027ce5c
sub_8027ce5c:
/* 8027CE5C 00279DBC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8027CE60 00279DC0  7C 08 02 A6 */	mflr r0
/* 8027CE64 00279DC4  90 01 00 34 */	stw r0, 0x34(r1)
/* 8027CE68 00279DC8  DB E1 00 20 */	stfd f31, 0x20(r1)
/* 8027CE6C 00279DCC  F3 E1 00 28 */	psq_st f31, 40(r1), 0, qr0
/* 8027CE70 00279DD0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8027CE74 00279DD4  7C 7F 1B 78 */	mr r31, r3
/* 8027CE78 00279DD8  FF E0 08 90 */	fmr f31, f1
/* 8027CE7C 00279DDC  80 63 00 64 */	lwz r3, 0x64(r3)
/* 8027CE80 00279DE0  4B E9 7D C9 */	bl GetNumMaterialSets__10CModelDataCFv
/* 8027CE84 00279DE4  38 63 FF FE */	addi r3, r3, -2
/* 8027CE88 00279DE8  3C 00 43 30 */	lis r0, 0x4330
/* 8027CE8C 00279DEC  6C 63 80 00 */	xoris r3, r3, 0x8000
/* 8027CE90 00279DF0  90 01 00 08 */	stw r0, 8(r1)
/* 8027CE94 00279DF4  C8 22 BD 20 */	lfd f1, lbl_805ADA40@sda21(r2)
/* 8027CE98 00279DF8  90 61 00 0C */	stw r3, 0xc(r1)
/* 8027CE9C 00279DFC  80 1F 06 FC */	lwz r0, 0x6fc(r31)
/* 8027CEA0 00279E00  C8 01 00 08 */	lfd f0, 8(r1)
/* 8027CEA4 00279E04  EC 00 08 28 */	fsubs f0, f0, f1
/* 8027CEA8 00279E08  EC 00 07 FC */	fnmsubs f0, f0, f31, f0
/* 8027CEAC 00279E0C  FC 00 00 1E */	fctiwz f0, f0
/* 8027CEB0 00279E10  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 8027CEB4 00279E14  80 61 00 14 */	lwz r3, 0x14(r1)
/* 8027CEB8 00279E18  7C 00 18 00 */	cmpw r0, r3
/* 8027CEBC 00279E1C  41 82 00 08 */	beq lbl_8027CEC4
/* 8027CEC0 00279E20  90 7F 06 FC */	stw r3, 0x6fc(r31)
lbl_8027CEC4:
/* 8027CEC4 00279E24  E3 E1 00 28 */	psq_l f31, 40(r1), 0, qr0
/* 8027CEC8 00279E28  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8027CECC 00279E2C  CB E1 00 20 */	lfd f31, 0x20(r1)
/* 8027CED0 00279E30  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8027CED4 00279E34  7C 08 03 A6 */	mtlr r0
/* 8027CED8 00279E38  38 21 00 30 */	addi r1, r1, 0x30
/* 8027CEDC 00279E3C  4E 80 00 20 */	blr

.global sub_8027cee0
sub_8027cee0:
/* 8027CEE0 00279E40  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8027CEE4 00279E44  7C 08 02 A6 */	mflr r0
/* 8027CEE8 00279E48  90 01 00 14 */	stw r0, 0x14(r1)
/* 8027CEEC 00279E4C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8027CEF0 00279E50  7C 9F 23 78 */	mr r31, r4
/* 8027CEF4 00279E54  93 C1 00 08 */	stw r30, 8(r1)
/* 8027CEF8 00279E58  7C 7E 1B 78 */	mr r30, r3
/* 8027CEFC 00279E5C  81 83 00 00 */	lwz r12, 0(r3)
/* 8027CF00 00279E60  81 8C 00 34 */	lwz r12, 0x34(r12)
/* 8027CF04 00279E64  7D 89 03 A6 */	mtctr r12
/* 8027CF08 00279E68  4E 80 04 21 */	bctrl
/* 8027CF0C 00279E6C  C0 5E 06 C4 */	lfs f2, 0x6c4(r30)
/* 8027CF10 00279E70  C0 23 00 00 */	lfs f1, 0(r3)
/* 8027CF14 00279E74  C0 02 BD 10 */	lfs f0, lbl_805ADA30@sda21(r2)
/* 8027CF18 00279E78  EC 22 00 72 */	fmuls f1, f2, f1
/* 8027CF1C 00279E7C  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8027CF20 00279E80  4C 41 13 82 */	cror 2, 1, 2
/* 8027CF24 00279E84  40 82 00 98 */	bne lbl_8027CFBC
/* 8027CF28 00279E88  80 1E 06 D8 */	lwz r0, 0x6d8(r30)
/* 8027CF2C 00279E8C  38 60 00 00 */	li r3, 0
/* 8027CF30 00279E90  2C 00 00 01 */	cmpwi r0, 1
/* 8027CF34 00279E94  41 82 00 38 */	beq lbl_8027CF6C
/* 8027CF38 00279E98  40 80 00 10 */	bge lbl_8027CF48
/* 8027CF3C 00279E9C  2C 00 00 00 */	cmpwi r0, 0
/* 8027CF40 00279EA0  40 80 00 14 */	bge lbl_8027CF54
/* 8027CF44 00279EA4  48 00 00 5C */	b lbl_8027CFA0
lbl_8027CF48:
/* 8027CF48 00279EA8  2C 00 00 03 */	cmpwi r0, 3
/* 8027CF4C 00279EAC  40 80 00 54 */	bge lbl_8027CFA0
/* 8027CF50 00279EB0  48 00 00 38 */	b lbl_8027CF88
lbl_8027CF54:
/* 8027CF54 00279EB4  C0 02 BD 28 */	lfs f0, lbl_805ADA48@sda21(r2)
/* 8027CF58 00279EB8  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8027CF5C 00279EBC  40 80 00 44 */	bge lbl_8027CFA0
/* 8027CF60 00279EC0  38 00 00 01 */	li r0, 1
/* 8027CF64 00279EC4  90 1E 06 D8 */	stw r0, 0x6d8(r30)
/* 8027CF68 00279EC8  48 00 00 38 */	b lbl_8027CFA0
lbl_8027CF6C:
/* 8027CF6C 00279ECC  C0 02 BD 2C */	lfs f0, lbl_805ADA4C@sda21(r2)
/* 8027CF70 00279ED0  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8027CF74 00279ED4  40 80 00 2C */	bge lbl_8027CFA0
/* 8027CF78 00279ED8  38 00 00 02 */	li r0, 2
/* 8027CF7C 00279EDC  38 60 00 01 */	li r3, 1
/* 8027CF80 00279EE0  90 1E 06 D8 */	stw r0, 0x6d8(r30)
/* 8027CF84 00279EE4  48 00 00 1C */	b lbl_8027CFA0
lbl_8027CF88:
/* 8027CF88 00279EE8  C0 02 BD 30 */	lfs f0, lbl_805ADA50@sda21(r2)
/* 8027CF8C 00279EEC  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8027CF90 00279EF0  40 80 00 10 */	bge lbl_8027CFA0
/* 8027CF94 00279EF4  38 00 00 03 */	li r0, 3
/* 8027CF98 00279EF8  38 60 00 01 */	li r3, 1
/* 8027CF9C 00279EFC  90 1E 06 D8 */	stw r0, 0x6d8(r30)
lbl_8027CFA0:
/* 8027CFA0 00279F00  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8027CFA4 00279F04  41 82 00 18 */	beq lbl_8027CFBC
/* 8027CFA8 00279F08  7F C3 F3 78 */	mr r3, r30
/* 8027CFAC 00279F0C  7F E5 FB 78 */	mr r5, r31
/* 8027CFB0 00279F10  38 80 00 11 */	li r4, 0x11
/* 8027CFB4 00279F14  38 C0 FF FF */	li r6, -1
/* 8027CFB8 00279F18  4B DD 41 09 */	bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
lbl_8027CFBC:
/* 8027CFBC 00279F1C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8027CFC0 00279F20  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8027CFC4 00279F24  83 C1 00 08 */	lwz r30, 8(r1)
/* 8027CFC8 00279F28  7C 08 03 A6 */	mtlr r0
/* 8027CFCC 00279F2C  38 21 00 10 */	addi r1, r1, 0x10
/* 8027CFD0 00279F30  4E 80 00 20 */	blr

.global sub_8027cfd4
sub_8027cfd4:
/* 8027CFD4 00279F34  94 21 FF 70 */	stwu r1, -0x90(r1)
/* 8027CFD8 00279F38  7C 08 02 A6 */	mflr r0
/* 8027CFDC 00279F3C  90 01 00 94 */	stw r0, 0x94(r1)
/* 8027CFE0 00279F40  BF 01 00 70 */	stmw r24, 0x70(r1)
/* 8027CFE4 00279F44  7C 9D 23 78 */	mr r29, r4
/* 8027CFE8 00279F48  7C B8 2B 78 */	mr r24, r5
/* 8027CFEC 00279F4C  4B FF FE 11 */	bl sub_8027cdfc
/* 8027CFF0 00279F50  7C 7A 1B 78 */	mr r26, r3
/* 8027CFF4 00279F54  57 00 06 3E */	clrlwi r0, r24, 0x18
/* 8027CFF8 00279F58  C0 43 00 24 */	lfs f2, 0x24(r3)
/* 8027CFFC 00279F5C  7C 00 00 34 */	cntlzw r0, r0
/* 8027D000 00279F60  C0 23 00 14 */	lfs f1, 0x14(r3)
/* 8027D004 00279F64  54 1F D9 7E */	srwi r31, r0, 5
/* 8027D008 00279F68  C0 03 00 04 */	lfs f0, 4(r3)
/* 8027D00C 00279F6C  FC 40 10 50 */	fneg f2, f2
/* 8027D010 00279F70  FC 20 08 50 */	fneg f1, f1
/* 8027D014 00279F74  3B 60 00 01 */	li r27, 1
/* 8027D018 00279F78  FC 00 00 50 */	fneg f0, f0
/* 8027D01C 00279F7C  3C 60 80 5A */	lis r3, skPassEverything__15CMaterialFilter@ha
/* 8027D020 00279F80  D0 41 00 50 */	stfs f2, 0x50(r1)
/* 8027D024 00279F84  1C 1F 00 0C */	mulli r0, r31, 0xc
/* 8027D028 00279F88  D0 01 00 48 */	stfs f0, 0x48(r1)
/* 8027D02C 00279F8C  3B 21 00 48 */	addi r25, r1, 0x48
/* 8027D030 00279F90  7F F8 FB 78 */	mr r24, r31
/* 8027D034 00279F94  D0 21 00 4C */	stfs f1, 0x4c(r1)
/* 8027D038 00279F98  7F 7E F8 30 */	slw r30, r27, r31
/* 8027D03C 00279F9C  7F 39 02 14 */	add r25, r25, r0
/* 8027D040 00279FA0  3B 83 FD 18 */	addi r28, r3, skPassEverything__15CMaterialFilter@l
/* 8027D044 00279FA4  C0 7A 00 20 */	lfs f3, 0x20(r26)
/* 8027D048 00279FA8  C0 5A 00 10 */	lfs f2, 0x10(r26)
/* 8027D04C 00279FAC  C0 3A 00 00 */	lfs f1, 0(r26)
/* 8027D050 00279FB0  FC A0 18 50 */	fneg f5, f3
/* 8027D054 00279FB4  FC 80 10 50 */	fneg f4, f2
/* 8027D058 00279FB8  FC 00 08 50 */	fneg f0, f1
/* 8027D05C 00279FBC  D0 21 00 60 */	stfs f1, 0x60(r1)
/* 8027D060 00279FC0  D0 81 00 58 */	stfs f4, 0x58(r1)
/* 8027D064 00279FC4  D0 01 00 54 */	stfs f0, 0x54(r1)
/* 8027D068 00279FC8  D0 A1 00 5C */	stfs f5, 0x5c(r1)
/* 8027D06C 00279FCC  D0 41 00 64 */	stfs f2, 0x64(r1)
/* 8027D070 00279FD0  D0 61 00 68 */	stfs f3, 0x68(r1)
/* 8027D074 00279FD4  48 00 00 54 */	b lbl_8027D0C8
lbl_8027D078:
/* 8027D078 00279FD8  C0 7A 00 2C */	lfs f3, 0x2c(r26)
/* 8027D07C 00279FDC  7F A4 EB 78 */	mr r4, r29
/* 8027D080 00279FE0  C0 5A 00 1C */	lfs f2, 0x1c(r26)
/* 8027D084 00279FE4  7F 26 CB 78 */	mr r6, r25
/* 8027D088 00279FE8  C0 1A 00 0C */	lfs f0, 0xc(r26)
/* 8027D08C 00279FEC  7F 87 E3 78 */	mr r7, r28
/* 8027D090 00279FF0  C0 22 BD 34 */	lfs f1, lbl_805ADA54@sda21(r2)
/* 8027D094 00279FF4  38 61 00 18 */	addi r3, r1, 0x18
/* 8027D098 00279FF8  D0 01 00 08 */	stfs f0, 8(r1)
/* 8027D09C 00279FFC  38 A1 00 08 */	addi r5, r1, 8
/* 8027D0A0 0027A000  D0 41 00 0C */	stfs f2, 0xc(r1)
/* 8027D0A4 0027A004  D0 61 00 10 */	stfs f3, 0x10(r1)
/* 8027D0A8 0027A008  4B DC FE F1 */	bl RayStaticIntersection__13CStateManagerCFRC9CVector3fRC9CVector3ffRC15CMaterialFilter
/* 8027D0AC 0027A00C  88 01 00 38 */	lbz r0, 0x38(r1)
/* 8027D0B0 0027A010  28 00 00 00 */	cmplwi r0, 0
/* 8027D0B4 0027A014  40 82 00 0C */	bne lbl_8027D0C0
/* 8027D0B8 0027A018  7F 60 C0 30 */	slw r0, r27, r24
/* 8027D0BC 0027A01C  7F DE 03 78 */	or r30, r30, r0
lbl_8027D0C0:
/* 8027D0C0 0027A020  3B 39 00 0C */	addi r25, r25, 0xc
/* 8027D0C4 0027A024  3B 18 00 01 */	addi r24, r24, 1
lbl_8027D0C8:
/* 8027D0C8 0027A028  2C 18 00 03 */	cmpwi r24, 3
/* 8027D0CC 0027A02C  41 80 FF AC */	blt lbl_8027D078
/* 8027D0D0 0027A030  2C 1E 00 07 */	cmpwi r30, 7
/* 8027D0D4 0027A034  38 60 00 00 */	li r3, 0
/* 8027D0D8 0027A038  41 81 00 F8 */	bgt lbl_8027D1D0
/* 8027D0DC 0027A03C  3C 80 AA AB */	lis r4, 0xAAAAAAAA@ha
/* 8027D0E0 0027A040  3C C0 55 55 */	lis r6, 0x55555555@ha
/* 8027D0E4 0027A044  38 04 AA AA */	addi r0, r4, 0xAAAAAAAA@l
/* 8027D0E8 0027A048  3C A0 CC CD */	lis r5, 0xCCCCCCCC@ha
/* 8027D0EC 0027A04C  39 06 55 55 */	addi r8, r6, 0x55555555@l
/* 8027D0F0 0027A050  3C C0 33 33 */	lis r6, 0x33333333@ha
/* 8027D0F4 0027A054  7F C7 00 38 */	and r7, r30, r0
/* 8027D0F8 0027A058  38 05 CC CC */	addi r0, r5, 0xCCCCCCCC@l
/* 8027D0FC 0027A05C  54 E5 F8 7E */	srwi r5, r7, 1
/* 8027D100 0027A060  7F C8 40 38 */	and r8, r30, r8
/* 8027D104 0027A064  7D 08 2A 14 */	add r8, r8, r5
/* 8027D108 0027A068  38 E6 33 33 */	addi r7, r6, 0x33333333@l
/* 8027D10C 0027A06C  7D 06 00 38 */	and r6, r8, r0
/* 8027D110 0027A070  3C 80 F0 F1 */	lis r4, 0xF0F0F0F0@ha
/* 8027D114 0027A074  38 04 F0 F0 */	addi r0, r4, 0xF0F0F0F0@l
/* 8027D118 0027A078  3C A0 0F 0F */	lis r5, 0x0F0F0F0F@ha
/* 8027D11C 0027A07C  7D 08 38 38 */	and r8, r8, r7
/* 8027D120 0027A080  3C 80 FF 01 */	lis r4, 0xFF00FF00@ha
/* 8027D124 0027A084  38 E5 0F 0F */	addi r7, r5, 0x0F0F0F0F@l
/* 8027D128 0027A088  54 C5 F0 BE */	srwi r5, r6, 2
/* 8027D12C 0027A08C  7D 08 2A 14 */	add r8, r8, r5
/* 8027D130 0027A090  7D 06 00 38 */	and r6, r8, r0
/* 8027D134 0027A094  3C A0 00 FF */	lis r5, 0x00FF00FF@ha
/* 8027D138 0027A098  38 04 FF 00 */	addi r0, r4, 0xFF00FF00@l
/* 8027D13C 0027A09C  7D 07 38 38 */	and r7, r8, r7
/* 8027D140 0027A0A0  38 85 00 FF */	addi r4, r5, 0x00FF00FF@l
/* 8027D144 0027A0A4  54 C5 E1 3E */	srwi r5, r6, 4
/* 8027D148 0027A0A8  7C A7 2A 14 */	add r5, r7, r5
/* 8027D14C 0027A0AC  7C A0 00 38 */	and r0, r5, r0
/* 8027D150 0027A0B0  7C A4 20 38 */	and r4, r5, r4
/* 8027D154 0027A0B4  54 00 C2 3E */	srwi r0, r0, 8
/* 8027D158 0027A0B8  7C 04 02 14 */	add r0, r4, r0
/* 8027D15C 0027A0BC  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 8027D160 0027A0C0  54 00 84 3E */	srwi r0, r0, 0x10
/* 8027D164 0027A0C4  7C 04 02 14 */	add r0, r4, r0
/* 8027D168 0027A0C8  2C 00 00 02 */	cmpwi r0, 2
/* 8027D16C 0027A0CC  41 82 00 28 */	beq lbl_8027D194
/* 8027D170 0027A0D0  40 80 00 10 */	bge lbl_8027D180
/* 8027D174 0027A0D4  2C 00 00 01 */	cmpwi r0, 1
/* 8027D178 0027A0D8  40 80 00 14 */	bge lbl_8027D18C
/* 8027D17C 0027A0DC  48 00 00 54 */	b lbl_8027D1D0
lbl_8027D180:
/* 8027D180 0027A0E0  2C 00 00 04 */	cmpwi r0, 4
/* 8027D184 0027A0E4  40 80 00 4C */	bge lbl_8027D1D0
/* 8027D188 0027A0E8  48 00 00 38 */	b lbl_8027D1C0
lbl_8027D18C:
/* 8027D18C 0027A0EC  7F C3 0E 70 */	srawi r3, r30, 1
/* 8027D190 0027A0F0  48 00 00 40 */	b lbl_8027D1D0
lbl_8027D194:
/* 8027D194 0027A0F4  80 7D 09 00 */	lwz r3, 0x900(r29)
/* 8027D198 0027A0F8  48 09 53 89 */	bl Next__9CRandom16Fv
/* 8027D19C 0027A0FC  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 8027D1A0 0027A100  41 82 00 14 */	beq lbl_8027D1B4
/* 8027D1A4 0027A104  57 C3 F7 FE */	rlwinm r3, r30, 0x1e, 0x1f, 0x1f
/* 8027D1A8 0027A108  38 03 00 01 */	addi r0, r3, 1
/* 8027D1AC 0027A10C  7C 03 03 78 */	mr r3, r0
/* 8027D1B0 0027A110  48 00 00 20 */	b lbl_8027D1D0
lbl_8027D1B4:
/* 8027D1B4 0027A114  57 C0 07 FE */	clrlwi r0, r30, 0x1f
/* 8027D1B8 0027A118  68 03 00 01 */	xori r3, r0, 1
/* 8027D1BC 0027A11C  48 00 00 14 */	b lbl_8027D1D0
lbl_8027D1C0:
/* 8027D1C0 0027A120  80 7D 09 00 */	lwz r3, 0x900(r29)
/* 8027D1C4 0027A124  7F E4 FB 78 */	mr r4, r31
/* 8027D1C8 0027A128  38 A0 00 02 */	li r5, 2
/* 8027D1CC 0027A12C  48 09 53 C9 */	bl Range__9CRandom16Fii
lbl_8027D1D0:
/* 8027D1D0 0027A130  3C 80 80 3D */	lis r4, lbl_803D5890@ha
/* 8027D1D4 0027A134  54 60 10 3A */	slwi r0, r3, 2
/* 8027D1D8 0027A138  38 64 58 90 */	addi r3, r4, lbl_803D5890@l
/* 8027D1DC 0027A13C  7C 63 00 2E */	lwzx r3, r3, r0
/* 8027D1E0 0027A140  BB 01 00 70 */	lmw r24, 0x70(r1)
/* 8027D1E4 0027A144  80 01 00 94 */	lwz r0, 0x94(r1)
/* 8027D1E8 0027A148  7C 08 03 A6 */	mtlr r0
/* 8027D1EC 0027A14C  38 21 00 90 */	addi r1, r1, 0x90
/* 8027D1F0 0027A150  4E 80 00 20 */	blr

.global sub_8027d1f4
sub_8027d1f4:
/* 8027D1F4 0027A154  94 21 FF 80 */	stwu r1, -0x80(r1)
/* 8027D1F8 0027A158  7C 08 02 A6 */	mflr r0
/* 8027D1FC 0027A15C  C0 02 BD 38 */	lfs f0, lbl_805ADA58@sda21(r2)
/* 8027D200 0027A160  38 C0 00 01 */	li r6, 1
/* 8027D204 0027A164  90 01 00 84 */	stw r0, 0x84(r1)
/* 8027D208 0027A168  38 A0 00 00 */	li r5, 0
/* 8027D20C 0027A16C  BF 61 00 6C */	stmw r27, 0x6c(r1)
/* 8027D210 0027A170  7C 7E 1B 78 */	mr r30, r3
/* 8027D214 0027A174  3C 60 80 3D */	lis r3, lbl_803D5880@ha
/* 8027D218 0027A178  7C 9F 23 78 */	mr r31, r4
/* 8027D21C 0027A17C  38 63 58 80 */	addi r3, r3, lbl_803D5880@l
/* 8027D220 0027A180  D0 1E 03 40 */	stfs f0, 0x340(r30)
/* 8027D224 0027A184  C0 02 BD 3C */	lfs f0, lbl_805ADA5C@sda21(r2)
/* 8027D228 0027A188  88 1E 07 0E */	lbz r0, 0x70e(r30)
/* 8027D22C 0027A18C  50 C0 2E B4 */	rlwimi r0, r6, 5, 0x1a, 0x1a
/* 8027D230 0027A190  98 1E 07 0E */	stb r0, 0x70e(r30)
/* 8027D234 0027A194  88 1E 07 0E */	lbz r0, 0x70e(r30)
/* 8027D238 0027A198  50 C0 26 F6 */	rlwimi r0, r6, 4, 0x1b, 0x1b
/* 8027D23C 0027A19C  98 1E 07 0E */	stb r0, 0x70e(r30)
/* 8027D240 0027A1A0  D0 1E 06 C8 */	stfs f0, 0x6c8(r30)
/* 8027D244 0027A1A4  88 1E 07 0E */	lbz r0, 0x70e(r30)
/* 8027D248 0027A1A8  50 A0 17 7A */	rlwimi r0, r5, 2, 0x1d, 0x1d
/* 8027D24C 0027A1AC  98 1E 07 0E */	stb r0, 0x70e(r30)
/* 8027D250 0027A1B0  80 84 08 B8 */	lwz r4, 0x8b8(r4)
/* 8027D254 0027A1B4  80 BE 06 DC */	lwz r5, 0x6dc(r30)
/* 8027D258 0027A1B8  80 84 00 00 */	lwz r4, 0(r4)
/* 8027D25C 0027A1BC  80 04 00 14 */	lwz r0, 0x14(r4)
/* 8027D260 0027A1C0  54 00 10 3A */	slwi r0, r0, 2
/* 8027D264 0027A1C4  7C 63 00 2E */	lwzx r3, r3, r0
/* 8027D268 0027A1C8  7C 03 28 50 */	subf r0, r3, r5
/* 8027D26C 0027A1CC  7C 03 28 00 */	cmpw r3, r5
/* 8027D270 0027A1D0  7C 00 00 34 */	cntlzw r0, r0
/* 8027D274 0027A1D4  54 03 D9 7E */	srwi r3, r0, 5
/* 8027D278 0027A1D8  3B 83 0B 7D */	addi r28, r3, 0xb7d
/* 8027D27C 0027A1DC  40 82 01 30 */	bne lbl_8027D3AC
/* 8027D280 0027A1E0  3C 60 80 3D */	lis r3, lbl_803D589C@ha
/* 8027D284 0027A1E4  3B 60 00 00 */	li r27, 0
/* 8027D288 0027A1E8  38 83 58 9C */	addi r4, r3, lbl_803D589C@l
/* 8027D28C 0027A1EC  38 60 03 40 */	li r3, 0x340
/* 8027D290 0027A1F0  38 84 00 1D */	addi r4, r4, 0x1d
/* 8027D294 0027A1F4  38 A0 00 00 */	li r5, 0
/* 8027D298 0027A1F8  48 09 85 D5 */	bl __nw__FUlPCcPCc
/* 8027D29C 0027A1FC  7C 7D 1B 79 */	or. r29, r3, r3
/* 8027D2A0 0027A200  41 82 00 2C */	beq lbl_8027D2CC
/* 8027D2A4 0027A204  38 61 00 0C */	addi r3, r1, 0xc
/* 8027D2A8 0027A208  38 9E 05 68 */	addi r4, r30, 0x568
/* 8027D2AC 0027A20C  48 0C 3B FD */	bl __ct__6CTokenFRC6CToken
/* 8027D2B0 0027A210  7F A3 EB 78 */	mr r3, r29
/* 8027D2B4 0027A214  38 81 00 0C */	addi r4, r1, 0xc
/* 8027D2B8 0027A218  3B 60 00 01 */	li r27, 1
/* 8027D2BC 0027A21C  38 A0 00 00 */	li r5, 0
/* 8027D2C0 0027A220  38 C0 00 01 */	li r6, 1
/* 8027D2C4 0027A224  48 0A 21 1D */	bl "__ct__11CElementGenF25TToken<15CGenDescription>Q211CElementGen21EModelOrientationTypeQ211CElementGen20EOptionalSystemFlags"
/* 8027D2C8 0027A228  7C 7D 1B 78 */	mr r29, r3
lbl_8027D2CC:
/* 8027D2CC 0027A22C  80 7E 06 5C */	lwz r3, 0x65c(r30)
/* 8027D2D0 0027A230  28 03 00 00 */	cmplwi r3, 0
/* 8027D2D4 0027A234  41 82 00 18 */	beq lbl_8027D2EC
/* 8027D2D8 0027A238  81 83 00 00 */	lwz r12, 0(r3)
/* 8027D2DC 0027A23C  38 80 00 01 */	li r4, 1
/* 8027D2E0 0027A240  81 8C 00 08 */	lwz r12, 8(r12)
/* 8027D2E4 0027A244  7D 89 03 A6 */	mtctr r12
/* 8027D2E8 0027A248  4E 80 04 21 */	bctrl
lbl_8027D2EC:
/* 8027D2EC 0027A24C  7F 60 07 75 */	extsb. r0, r27
/* 8027D2F0 0027A250  93 BE 06 5C */	stw r29, 0x65c(r30)
/* 8027D2F4 0027A254  41 82 00 10 */	beq lbl_8027D304
/* 8027D2F8 0027A258  38 61 00 0C */	addi r3, r1, 0xc
/* 8027D2FC 0027A25C  38 80 00 00 */	li r4, 0
/* 8027D300 0027A260  48 0C 3B 41 */	bl __dt__6CTokenFv
lbl_8027D304:
/* 8027D304 0027A264  80 1E 06 5C */	lwz r0, 0x65c(r30)
/* 8027D308 0027A268  28 00 00 00 */	cmplwi r0, 0
/* 8027D30C 0027A26C  41 82 00 A0 */	beq lbl_8027D3AC
/* 8027D310 0027A270  7F C3 F3 78 */	mr r3, r30
/* 8027D314 0027A274  7F E4 FB 78 */	mr r4, r31
/* 8027D318 0027A278  4B FF FA E5 */	bl sub_8027cdfc
/* 8027D31C 0027A27C  80 BE 00 64 */	lwz r5, 0x64(r30)
/* 8027D320 0027A280  7C 7F 1B 78 */	mr r31, r3
/* 8027D324 0027A284  38 81 00 2C */	addi r4, r1, 0x2c
/* 8027D328 0027A288  C0 05 00 00 */	lfs f0, 0(r5)
/* 8027D32C 0027A28C  D0 01 00 2C */	stfs f0, 0x2c(r1)
/* 8027D330 0027A290  C0 05 00 04 */	lfs f0, 4(r5)
/* 8027D334 0027A294  D0 01 00 30 */	stfs f0, 0x30(r1)
/* 8027D338 0027A298  C0 05 00 08 */	lfs f0, 8(r5)
/* 8027D33C 0027A29C  D0 01 00 34 */	stfs f0, 0x34(r1)
/* 8027D340 0027A2A0  80 7E 06 5C */	lwz r3, 0x65c(r30)
/* 8027D344 0027A2A4  81 83 00 00 */	lwz r12, 0(r3)
/* 8027D348 0027A2A8  81 8C 00 24 */	lwz r12, 0x24(r12)
/* 8027D34C 0027A2AC  7D 89 03 A6 */	mtctr r12
/* 8027D350 0027A2B0  4E 80 04 21 */	bctrl
/* 8027D354 0027A2B4  83 BE 06 5C */	lwz r29, 0x65c(r30)
/* 8027D358 0027A2B8  7F E4 FB 78 */	mr r4, r31
/* 8027D35C 0027A2BC  38 61 00 38 */	addi r3, r1, 0x38
/* 8027D360 0027A2C0  48 09 58 E1 */	bl GetRotation__12CTransform4fCFv
/* 8027D364 0027A2C4  7F A3 EB 78 */	mr r3, r29
/* 8027D368 0027A2C8  38 81 00 38 */	addi r4, r1, 0x38
/* 8027D36C 0027A2CC  81 9D 00 00 */	lwz r12, 0(r29)
/* 8027D370 0027A2D0  81 8C 00 1C */	lwz r12, 0x1c(r12)
/* 8027D374 0027A2D4  7D 89 03 A6 */	mtctr r12
/* 8027D378 0027A2D8  4E 80 04 21 */	bctrl
/* 8027D37C 0027A2DC  C0 5F 00 2C */	lfs f2, 0x2c(r31)
/* 8027D380 0027A2E0  38 81 00 20 */	addi r4, r1, 0x20
/* 8027D384 0027A2E4  C0 3F 00 1C */	lfs f1, 0x1c(r31)
/* 8027D388 0027A2E8  C0 1F 00 0C */	lfs f0, 0xc(r31)
/* 8027D38C 0027A2EC  D0 01 00 20 */	stfs f0, 0x20(r1)
/* 8027D390 0027A2F0  D0 21 00 24 */	stfs f1, 0x24(r1)
/* 8027D394 0027A2F4  D0 41 00 28 */	stfs f2, 0x28(r1)
/* 8027D398 0027A2F8  80 7E 06 5C */	lwz r3, 0x65c(r30)
/* 8027D39C 0027A2FC  81 83 00 00 */	lwz r12, 0(r3)
/* 8027D3A0 0027A300  81 8C 00 20 */	lwz r12, 0x20(r12)
/* 8027D3A4 0027A304  7D 89 03 A6 */	mtctr r12
/* 8027D3A8 0027A308  4E 80 04 21 */	bctrl
lbl_8027D3AC:
/* 8027D3AC 0027A30C  C0 5E 00 60 */	lfs f2, 0x60(r30)
/* 8027D3B0 0027A310  3C 60 80 5A */	lis r3, sZeroVector__9CVector3f@ha
/* 8027D3B4 0027A314  C0 3E 00 50 */	lfs f1, 0x50(r30)
/* 8027D3B8 0027A318  38 C3 66 A0 */	addi r6, r3, sZeroVector__9CVector3f@l
/* 8027D3BC 0027A31C  C0 1E 00 40 */	lfs f0, 0x40(r30)
/* 8027D3C0 0027A320  7F 84 E3 78 */	mr r4, r28
/* 8027D3C4 0027A324  A9 22 C5 FA */	lha r9, kMedPriority__11CSfxManager@sda21(r2)
/* 8027D3C8 0027A328  38 61 00 08 */	addi r3, r1, 8
/* 8027D3CC 0027A32C  D0 01 00 14 */	stfs f0, 0x14(r1)
/* 8027D3D0 0027A330  38 A1 00 14 */	addi r5, r1, 0x14
/* 8027D3D4 0027A334  81 42 C6 00 */	lwz r10, kAllAreas__11CSfxManager@sda21(r2)
/* 8027D3D8 0027A338  38 E0 00 01 */	li r7, 1
/* 8027D3DC 0027A33C  D0 21 00 18 */	stfs f1, 0x18(r1)
/* 8027D3E0 0027A340  39 00 00 00 */	li r8, 0
/* 8027D3E4 0027A344  D0 41 00 1C */	stfs f2, 0x1c(r1)
/* 8027D3E8 0027A348  48 06 CE C9 */	bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi
/* 8027D3EC 0027A34C  80 1E 06 DC */	lwz r0, 0x6dc(r30)
/* 8027D3F0 0027A350  90 1E 06 E0 */	stw r0, 0x6e0(r30)
/* 8027D3F4 0027A354  80 7E 06 DC */	lwz r3, 0x6dc(r30)
/* 8027D3F8 0027A358  38 03 00 01 */	addi r0, r3, 1
/* 8027D3FC 0027A35C  90 1E 06 DC */	stw r0, 0x6dc(r30)
/* 8027D400 0027A360  80 1E 06 DC */	lwz r0, 0x6dc(r30)
/* 8027D404 0027A364  2C 00 00 02 */	cmpwi r0, 2
/* 8027D408 0027A368  40 81 00 0C */	ble lbl_8027D414
/* 8027D40C 0027A36C  38 00 00 00 */	li r0, 0
/* 8027D410 0027A370  90 1E 06 DC */	stw r0, 0x6dc(r30)
lbl_8027D414:
/* 8027D414 0027A374  BB 61 00 6C */	lmw r27, 0x6c(r1)
/* 8027D418 0027A378  80 01 00 84 */	lwz r0, 0x84(r1)
/* 8027D41C 0027A37C  7C 08 03 A6 */	mtlr r0
/* 8027D420 0027A380  38 21 00 80 */	addi r1, r1, 0x80
/* 8027D424 0027A384  4E 80 00 20 */	blr

.global sub_8027d428
sub_8027d428:
/* 8027D428 0027A388  38 60 00 02 */	li r3, 2
/* 8027D42C 0027A38C  4E 80 00 20 */	blr

.global sub_8027d430
sub_8027d430:
/* 8027D430 0027A390  94 21 FF 10 */	stwu r1, -0xf0(r1)
/* 8027D434 0027A394  7C 08 02 A6 */	mflr r0
/* 8027D438 0027A398  90 01 00 F4 */	stw r0, 0xf4(r1)
/* 8027D43C 0027A39C  93 E1 00 EC */	stw r31, 0xec(r1)
/* 8027D440 0027A3A0  93 C1 00 E8 */	stw r30, 0xe8(r1)
/* 8027D444 0027A3A4  7C 9E 23 78 */	mr r30, r4
/* 8027D448 0027A3A8  83 E4 08 4C */	lwz r31, 0x84c(r4)
/* 8027D44C 0027A3AC  C0 83 00 50 */	lfs f4, 0x50(r3)
/* 8027D450 0027A3B0  C0 1F 00 50 */	lfs f0, 0x50(r31)
/* 8027D454 0027A3B4  C0 63 00 60 */	lfs f3, 0x60(r3)
/* 8027D458 0027A3B8  C0 5F 00 60 */	lfs f2, 0x60(r31)
/* 8027D45C 0027A3BC  EC 84 00 28 */	fsubs f4, f4, f0
/* 8027D460 0027A3C0  C0 23 00 40 */	lfs f1, 0x40(r3)
/* 8027D464 0027A3C4  38 61 00 08 */	addi r3, r1, 8
/* 8027D468 0027A3C8  C0 1F 00 40 */	lfs f0, 0x40(r31)
/* 8027D46C 0027A3CC  EC 43 10 28 */	fsubs f2, f3, f2
/* 8027D470 0027A3D0  EC 01 00 28 */	fsubs f0, f1, f0
/* 8027D474 0027A3D4  D0 81 00 0C */	stfs f4, 0xc(r1)
/* 8027D478 0027A3D8  D0 41 00 10 */	stfs f2, 0x10(r1)
/* 8027D47C 0027A3DC  D0 01 00 08 */	stfs f0, 8(r1)
/* 8027D480 0027A3E0  48 09 74 39 */	bl Magnitude__9CVector3fCFv
/* 8027D484 0027A3E4  C0 62 BD 40 */	lfs f3, lbl_805ADA60@sda21(r2)
/* 8027D488 0027A3E8  C0 42 BD 2C */	lfs f2, lbl_805ADA4C@sda21(r2)
/* 8027D48C 0027A3EC  C0 02 BD 10 */	lfs f0, lbl_805ADA30@sda21(r2)
/* 8027D490 0027A3F0  EC 43 10 7C */	fnmsubs f2, f3, f1, f2
/* 8027D494 0027A3F4  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 8027D498 0027A3F8  40 81 00 7C */	ble lbl_8027D514
/* 8027D49C 0027A3FC  80 1F 02 B0 */	lwz r0, 0x2b0(r31)
/* 8027D4A0 0027A400  2C 00 00 02 */	cmpwi r0, 2
/* 8027D4A4 0027A404  40 82 00 0C */	bne lbl_8027D4B0
/* 8027D4A8 0027A408  80 1F 02 AC */	lwz r0, 0x2ac(r31)
/* 8027D4AC 0027A40C  48 00 00 08 */	b lbl_8027D4B4
lbl_8027D4B0:
/* 8027D4B0 0027A410  38 00 00 04 */	li r0, 4
lbl_8027D4B4:
/* 8027D4B4 0027A414  2C 00 00 01 */	cmpwi r0, 1
/* 8027D4B8 0027A418  41 82 00 5C */	beq lbl_8027D514
/* 8027D4BC 0027A41C  C0 22 BD 2C */	lfs f1, lbl_805ADA4C@sda21(r2)
/* 8027D4C0 0027A420  38 61 00 14 */	addi r3, r1, 0x14
/* 8027D4C4 0027A424  4B EE 03 6D */	bl __ct__16CCameraShakeDataFff
/* 8027D4C8 0027A428  80 7E 08 70 */	lwz r3, 0x870(r30)
/* 8027D4CC 0027A42C  38 81 00 14 */	addi r4, r1, 0x14
/* 8027D4D0 0027A430  38 A0 00 01 */	li r5, 1
/* 8027D4D4 0027A434  4B D8 D5 4D */	bl AddCameraShaker__14CCameraManagerFRC16CCameraShakeDatab
/* 8027D4D8 0027A438  34 81 00 94 */	addic. r4, r1, 0x94
/* 8027D4DC 0027A43C  41 82 00 10 */	beq lbl_8027D4EC
/* 8027D4E0 0027A440  3C 60 80 3E */	lis r3, lbl_803D8EA8@ha
/* 8027D4E4 0027A444  38 03 8E A8 */	addi r0, r3, lbl_803D8EA8@l
/* 8027D4E8 0027A448  90 04 00 00 */	stw r0, 0(r4)
lbl_8027D4EC:
/* 8027D4EC 0027A44C  34 81 00 58 */	addic. r4, r1, 0x58
/* 8027D4F0 0027A450  41 82 00 10 */	beq lbl_8027D500
/* 8027D4F4 0027A454  3C 60 80 3E */	lis r3, lbl_803D8EA8@ha
/* 8027D4F8 0027A458  38 03 8E A8 */	addi r0, r3, lbl_803D8EA8@l
/* 8027D4FC 0027A45C  90 04 00 00 */	stw r0, 0(r4)
lbl_8027D500:
/* 8027D500 0027A460  34 81 00 1C */	addic. r4, r1, 0x1c
/* 8027D504 0027A464  41 82 00 10 */	beq lbl_8027D514
/* 8027D508 0027A468  3C 60 80 3E */	lis r3, lbl_803D8EA8@ha
/* 8027D50C 0027A46C  38 03 8E A8 */	addi r0, r3, lbl_803D8EA8@l
/* 8027D510 0027A470  90 04 00 00 */	stw r0, 0(r4)
lbl_8027D514:
/* 8027D514 0027A474  80 01 00 F4 */	lwz r0, 0xf4(r1)
/* 8027D518 0027A478  83 E1 00 EC */	lwz r31, 0xec(r1)
/* 8027D51C 0027A47C  83 C1 00 E8 */	lwz r30, 0xe8(r1)
/* 8027D520 0027A480  7C 08 03 A6 */	mtlr r0
/* 8027D524 0027A484  38 21 00 F0 */	addi r1, r1, 0xf0
/* 8027D528 0027A488  4E 80 00 20 */	blr

.global sub_8027d52c
sub_8027d52c:
/* 8027D52C 0027A48C  94 21 FE F0 */	stwu r1, -0x110(r1)
/* 8027D530 0027A490  7C 08 02 A6 */	mflr r0
/* 8027D534 0027A494  90 01 01 14 */	stw r0, 0x114(r1)
/* 8027D538 0027A498  BF 21 00 F4 */	stmw r25, 0xf4(r1)
/* 8027D53C 0027A49C  7C 7B 1B 78 */	mr r27, r3
/* 8027D540 0027A4A0  7C 9D 23 78 */	mr r29, r4
/* 8027D544 0027A4A4  7C BE 2B 78 */	mr r30, r5
/* 8027D548 0027A4A8  38 61 00 90 */	addi r3, r1, 0x90
/* 8027D54C 0027A4AC  7F 64 DB 78 */	mr r4, r27
/* 8027D550 0027A4B0  7F A5 EB 78 */	mr r5, r29
/* 8027D554 0027A4B4  48 00 01 B1 */	bl sub_8027d704
/* 8027D558 0027A4B8  88 81 00 B0 */	lbz r4, 0xb0(r1)
/* 8027D55C 0027A4BC  3B E1 00 C4 */	addi r31, r1, 0xc4
/* 8027D560 0027A4C0  C0 E1 00 90 */	lfs f7, 0x90(r1)
/* 8027D564 0027A4C4  C0 C1 00 94 */	lfs f6, 0x94(r1)
/* 8027D568 0027A4C8  28 04 00 00 */	cmplwi r4, 0
/* 8027D56C 0027A4CC  C0 A1 00 98 */	lfs f5, 0x98(r1)
/* 8027D570 0027A4D0  C0 81 00 9C */	lfs f4, 0x9c(r1)
/* 8027D574 0027A4D4  C0 61 00 A0 */	lfs f3, 0xa0(r1)
/* 8027D578 0027A4D8  C0 41 00 A4 */	lfs f2, 0xa4(r1)
/* 8027D57C 0027A4DC  C0 21 00 A8 */	lfs f1, 0xa8(r1)
/* 8027D580 0027A4E0  C0 01 00 AC */	lfs f0, 0xac(r1)
/* 8027D584 0027A4E4  80 01 00 B8 */	lwz r0, 0xb8(r1)
/* 8027D588 0027A4E8  80 61 00 BC */	lwz r3, 0xbc(r1)
/* 8027D58C 0027A4EC  D0 E1 00 C0 */	stfs f7, 0xc0(r1)
/* 8027D590 0027A4F0  D0 C1 00 C4 */	stfs f6, 0xc4(r1)
/* 8027D594 0027A4F4  D0 A1 00 C8 */	stfs f5, 0xc8(r1)
/* 8027D598 0027A4F8  D0 81 00 CC */	stfs f4, 0xcc(r1)
/* 8027D59C 0027A4FC  D0 61 00 D0 */	stfs f3, 0xd0(r1)
/* 8027D5A0 0027A500  D0 41 00 D4 */	stfs f2, 0xd4(r1)
/* 8027D5A4 0027A504  D0 21 00 D8 */	stfs f1, 0xd8(r1)
/* 8027D5A8 0027A508  D0 01 00 DC */	stfs f0, 0xdc(r1)
/* 8027D5AC 0027A50C  98 81 00 E0 */	stb r4, 0xe0(r1)
/* 8027D5B0 0027A510  90 61 00 EC */	stw r3, 0xec(r1)
/* 8027D5B4 0027A514  90 01 00 E8 */	stw r0, 0xe8(r1)
/* 8027D5B8 0027A518  41 82 01 38 */	beq lbl_8027D6F0
/* 8027D5BC 0027A51C  3C 60 80 3D */	lis r3, lbl_803D589C@ha
/* 8027D5C0 0027A520  3B 40 00 00 */	li r26, 0
/* 8027D5C4 0027A524  38 63 58 9C */	addi r3, r3, lbl_803D589C@l
/* 8027D5C8 0027A528  3B 20 00 00 */	li r25, 0
/* 8027D5CC 0027A52C  38 83 00 1D */	addi r4, r3, 0x1d
/* 8027D5D0 0027A530  38 60 09 88 */	li r3, 0x988
/* 8027D5D4 0027A534  38 A0 00 00 */	li r5, 0
/* 8027D5D8 0027A538  48 09 82 95 */	bl __nw__FUlPCcPCc
/* 8027D5DC 0027A53C  7C 7C 1B 79 */	or. r28, r3, r3
/* 8027D5E0 0027A540  41 82 00 A4 */	beq lbl_8027D684
/* 8027D5E4 0027A544  A0 FB 00 08 */	lhz r7, 8(r27)
/* 8027D5E8 0027A548  3C 60 80 57 */	lis r3, NullConnectionList__7CEntity@ha
/* 8027D5EC 0027A54C  80 0D A3 88 */	lwz r0, kInvalidEditorId@sda21(r13)
/* 8027D5F0 0027A550  38 A3 D4 10 */	addi r5, r3, NullConnectionList__7CEntity@l
/* 8027D5F4 0027A554  B0 E1 00 14 */	sth r7, 0x14(r1)
/* 8027D5F8 0027A558  38 61 00 44 */	addi r3, r1, 0x44
/* 8027D5FC 0027A55C  38 81 00 2C */	addi r4, r1, 0x2c
/* 8027D600 0027A560  38 C1 00 30 */	addi r6, r1, 0x30
/* 8027D604 0027A564  90 01 00 30 */	stw r0, 0x30(r1)
/* 8027D608 0027A568  80 1B 00 04 */	lwz r0, 4(r27)
/* 8027D60C 0027A56C  B0 E1 00 10 */	sth r7, 0x10(r1)
/* 8027D610 0027A570  90 01 00 28 */	stw r0, 0x28(r1)
/* 8027D614 0027A574  90 01 00 2C */	stw r0, 0x2c(r1)
/* 8027D618 0027A578  4B DD 3E 6D */	bl "__ct__11CEntityInfoF7TAreaIdRCQ24rstl48vector<11SConnection,Q24rstl17rmemory_allocator>9TEditorId"
/* 8027D61C 0027A57C  3C 80 80 3D */	lis r4, lbl_803D589C@ha
/* 8027D620 0027A580  38 61 00 34 */	addi r3, r1, 0x34
/* 8027D624 0027A584  38 84 58 9C */	addi r4, r4, lbl_803D589C@l
/* 8027D628 0027A588  3B 40 00 01 */	li r26, 1
/* 8027D62C 0027A58C  38 84 00 24 */	addi r4, r4, 0x24
/* 8027D630 0027A590  4B D8 76 89 */	bl string_l__4rstlFPCc
/* 8027D634 0027A594  7F A4 EB 78 */	mr r4, r29
/* 8027D638 0027A598  38 61 00 08 */	addi r3, r1, 8
/* 8027D63C 0027A59C  3B 20 00 01 */	li r25, 1
/* 8027D640 0027A5A0  4B DC FA 9D */	bl AllocateUniqueId__13CStateManagerFv
/* 8027D644 0027A5A4  A0 01 00 08 */	lhz r0, 8(r1)
/* 8027D648 0027A5A8  7F E4 FB 78 */	mr r4, r31
/* 8027D64C 0027A5AC  38 61 00 5C */	addi r3, r1, 0x5c
/* 8027D650 0027A5B0  B0 01 00 0C */	sth r0, 0xc(r1)
/* 8027D654 0027A5B4  48 09 5A ED */	bl Translate__12CTransform4fFRC9CVector3f
/* 8027D658 0027A5B8  C0 22 BD 44 */	lfs f1, lbl_805ADA64@sda21(r2)
/* 8027D65C 0027A5BC  7F 83 E3 78 */	mr r3, r28
/* 8027D660 0027A5C0  C0 42 BD 2C */	lfs f2, lbl_805ADA4C@sda21(r2)
/* 8027D664 0027A5C4  7F C9 F3 78 */	mr r9, r30
/* 8027D668 0027A5C8  38 81 00 0C */	addi r4, r1, 0xc
/* 8027D66C 0027A5CC  38 A1 00 34 */	addi r5, r1, 0x34
/* 8027D670 0027A5D0  38 C1 00 44 */	addi r6, r1, 0x44
/* 8027D674 0027A5D4  38 E1 00 5C */	addi r7, r1, 0x5c
/* 8027D678 0027A5D8  39 01 00 14 */	addi r8, r1, 0x14
/* 8027D67C 0027A5DC  4B FB 4C DD */	bl __ct__10CShockWaveFv
/* 8027D680 0027A5E0  7C 7C 1B 78 */	mr r28, r3
lbl_8027D684:
/* 8027D684 0027A5E4  7F 20 07 75 */	extsb. r0, r25
/* 8027D688 0027A5E8  41 82 00 0C */	beq lbl_8027D694
/* 8027D68C 0027A5EC  38 61 00 34 */	addi r3, r1, 0x34
/* 8027D690 0027A5F0  48 0C 04 51 */	bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8027D694:
/* 8027D694 0027A5F4  7F 40 07 75 */	extsb. r0, r26
/* 8027D698 0027A5F8  41 82 00 44 */	beq lbl_8027D6DC
/* 8027D69C 0027A5FC  80 01 00 4C */	lwz r0, 0x4c(r1)
/* 8027D6A0 0027A600  80 61 00 54 */	lwz r3, 0x54(r1)
/* 8027D6A4 0027A604  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8027D6A8 0027A608  90 61 00 1C */	stw r3, 0x1c(r1)
/* 8027D6AC 0027A60C  7C 64 1B 78 */	mr r4, r3
/* 8027D6B0 0027A610  7C 03 02 14 */	add r0, r3, r0
/* 8027D6B4 0027A614  90 61 00 18 */	stw r3, 0x18(r1)
/* 8027D6B8 0027A618  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027D6BC 0027A61C  90 01 00 20 */	stw r0, 0x20(r1)
/* 8027D6C0 0027A620  48 00 00 08 */	b lbl_8027D6C8
lbl_8027D6C4:
/* 8027D6C4 0027A624  38 84 00 0C */	addi r4, r4, 0xc
lbl_8027D6C8:
/* 8027D6C8 0027A628  7C 04 00 40 */	cmplw r4, r0
/* 8027D6CC 0027A62C  40 82 FF F8 */	bne lbl_8027D6C4
/* 8027D6D0 0027A630  28 03 00 00 */	cmplwi r3, 0
/* 8027D6D4 0027A634  41 82 00 08 */	beq lbl_8027D6DC
/* 8027D6D8 0027A638  48 09 82 59 */	bl Free__7CMemoryFPCv
lbl_8027D6DC:
/* 8027D6DC 0027A63C  28 1C 00 00 */	cmplwi r28, 0
/* 8027D6E0 0027A640  41 82 00 10 */	beq lbl_8027D6F0
/* 8027D6E4 0027A644  7F A3 EB 78 */	mr r3, r29
/* 8027D6E8 0027A648  7F 84 E3 78 */	mr r4, r28
/* 8027D6EC 0027A64C  4B DC F6 09 */	bl AddObject__13CStateManagerFP7CEntity
lbl_8027D6F0:
/* 8027D6F0 0027A650  BB 21 00 F4 */	lmw r25, 0xf4(r1)
/* 8027D6F4 0027A654  80 01 01 14 */	lwz r0, 0x114(r1)
/* 8027D6F8 0027A658  7C 08 03 A6 */	mtlr r0
/* 8027D6FC 0027A65C  38 21 01 10 */	addi r1, r1, 0x110
/* 8027D700 0027A660  4E 80 00 20 */	blr

.global sub_8027d704
sub_8027d704:
/* 8027D704 0027A664  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8027D708 0027A668  7C 08 02 A6 */	mflr r0
/* 8027D70C 0027A66C  3C E0 80 5A */	lis r7, sUpVector__9CVector3f@ha
/* 8027D710 0027A670  3C C0 80 5A */	lis r6, skPassEverything__15CMaterialFilter@ha
/* 8027D714 0027A674  90 01 00 34 */	stw r0, 0x34(r1)
/* 8027D718 0027A678  39 07 66 F4 */	addi r8, r7, sUpVector__9CVector3f@l
/* 8027D71C 0027A67C  7C A0 2B 78 */	mr r0, r5
/* 8027D720 0027A680  38 E6 FD 18 */	addi r7, r6, skPassEverything__15CMaterialFilter@l
/* 8027D724 0027A684  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8027D728 0027A688  7C 7F 1B 78 */	mr r31, r3
/* 8027D72C 0027A68C  38 A1 00 14 */	addi r5, r1, 0x14
/* 8027D730 0027A690  38 C1 00 08 */	addi r6, r1, 8
/* 8027D734 0027A694  C0 48 00 00 */	lfs f2, 0(r8)
/* 8027D738 0027A698  C0 08 00 08 */	lfs f0, 8(r8)
/* 8027D73C 0027A69C  FC 60 10 50 */	fneg f3, f2
/* 8027D740 0027A6A0  C0 28 00 04 */	lfs f1, 4(r8)
/* 8027D744 0027A6A4  FC 00 00 50 */	fneg f0, f0
/* 8027D748 0027A6A8  FC 40 08 50 */	fneg f2, f1
/* 8027D74C 0027A6AC  C0 22 BD 48 */	lfs f1, lbl_805ADA68@sda21(r2)
/* 8027D750 0027A6B0  D0 61 00 08 */	stfs f3, 8(r1)
/* 8027D754 0027A6B4  D0 41 00 0C */	stfs f2, 0xc(r1)
/* 8027D758 0027A6B8  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 8027D75C 0027A6BC  C0 64 00 60 */	lfs f3, 0x60(r4)
/* 8027D760 0027A6C0  C0 44 00 50 */	lfs f2, 0x50(r4)
/* 8027D764 0027A6C4  C0 04 00 40 */	lfs f0, 0x40(r4)
/* 8027D768 0027A6C8  7C 04 03 78 */	mr r4, r0
/* 8027D76C 0027A6CC  D0 01 00 14 */	stfs f0, 0x14(r1)
/* 8027D770 0027A6D0  D0 41 00 18 */	stfs f2, 0x18(r1)
/* 8027D774 0027A6D4  D0 61 00 1C */	stfs f3, 0x1c(r1)
/* 8027D778 0027A6D8  4B DC F8 21 */	bl RayStaticIntersection__13CStateManagerCFRC9CVector3fRC9CVector3ffRC15CMaterialFilter
/* 8027D77C 0027A6DC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8027D780 0027A6E0  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 8027D784 0027A6E4  7C 08 03 A6 */	mtlr r0
/* 8027D788 0027A6E8  38 21 00 30 */	addi r1, r1, 0x30
/* 8027D78C 0027A6EC  4E 80 00 20 */	blr

.global sub_8027d790
sub_8027d790:
/* 8027D790 0027A6F0  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8027D794 0027A6F4  7C 08 02 A6 */	mflr r0
/* 8027D798 0027A6F8  90 01 00 44 */	stw r0, 0x44(r1)
/* 8027D79C 0027A6FC  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 8027D7A0 0027A700  93 C1 00 38 */	stw r30, 0x38(r1)
/* 8027D7A4 0027A704  7C BE 2B 78 */	mr r30, r5
/* 8027D7A8 0027A708  93 A1 00 34 */	stw r29, 0x34(r1)
/* 8027D7AC 0027A70C  7C 9D 23 78 */	mr r29, r4
/* 8027D7B0 0027A710  80 82 BD 04 */	lwz r4, lbl_805ADA24@sda21(r2)
/* 8027D7B4 0027A714  80 63 00 64 */	lwz r3, 0x64(r3)
/* 8027D7B8 0027A718  83 E3 00 10 */	lwz r31, 0x10(r3)
/* 8027D7BC 0027A71C  38 61 00 18 */	addi r3, r1, 0x18
/* 8027D7C0 0027A720  4B D8 74 F9 */	bl string_l__4rstlFPCc
/* 8027D7C4 0027A724  7F E3 FB 78 */	mr r3, r31
/* 8027D7C8 0027A728  7F C5 F3 78 */	mr r5, r30
/* 8027D7CC 0027A72C  7F A6 EB 78 */	mr r6, r29
/* 8027D7D0 0027A730  38 81 00 18 */	addi r4, r1, 0x18
/* 8027D7D4 0027A734  4B DA D5 ED */	bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
/* 8027D7D8 0027A738  38 61 00 18 */	addi r3, r1, 0x18
/* 8027D7DC 0027A73C  48 0C 03 05 */	bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8027D7E0 0027A740  80 82 BD 08 */	lwz r4, lbl_805ADA28@sda21(r2)
/* 8027D7E4 0027A744  38 61 00 08 */	addi r3, r1, 8
/* 8027D7E8 0027A748  4B D8 74 D1 */	bl string_l__4rstlFPCc
/* 8027D7EC 0027A74C  7F E3 FB 78 */	mr r3, r31
/* 8027D7F0 0027A750  7F C5 F3 78 */	mr r5, r30
/* 8027D7F4 0027A754  7F A6 EB 78 */	mr r6, r29
/* 8027D7F8 0027A758  38 81 00 08 */	addi r4, r1, 8
/* 8027D7FC 0027A75C  4B DA D5 C5 */	bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
/* 8027D800 0027A760  38 61 00 08 */	addi r3, r1, 8
/* 8027D804 0027A764  48 0C 02 DD */	bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8027D808 0027A768  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8027D80C 0027A76C  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 8027D810 0027A770  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 8027D814 0027A774  83 A1 00 34 */	lwz r29, 0x34(r1)
/* 8027D818 0027A778  7C 08 03 A6 */	mtlr r0
/* 8027D81C 0027A77C  38 21 00 40 */	addi r1, r1, 0x40
/* 8027D820 0027A780  4E 80 00 20 */	blr

.global sub_8027d824
sub_8027d824:
/* 8027D824 0027A784  94 21 FF 40 */	stwu r1, -0xc0(r1)
/* 8027D828 0027A788  7C 08 02 A6 */	mflr r0
/* 8027D82C 0027A78C  90 01 00 C4 */	stw r0, 0xc4(r1)
/* 8027D830 0027A790  93 E1 00 BC */	stw r31, 0xbc(r1)
/* 8027D834 0027A794  93 C1 00 B8 */	stw r30, 0xb8(r1)
/* 8027D838 0027A798  7C 9E 23 78 */	mr r30, r4
/* 8027D83C 0027A79C  7F C5 F3 78 */	mr r5, r30
/* 8027D840 0027A7A0  93 A1 00 B4 */	stw r29, 0xb4(r1)
/* 8027D844 0027A7A4  7C 7D 1B 78 */	mr r29, r3
/* 8027D848 0027A7A8  7F A4 EB 78 */	mr r4, r29
/* 8027D84C 0027A7AC  38 61 00 48 */	addi r3, r1, 0x48
/* 8027D850 0027A7B0  4B FF FE B5 */	bl sub_8027d704
/* 8027D854 0027A7B4  88 A1 00 68 */	lbz r5, 0x68(r1)
/* 8027D858 0027A7B8  38 81 00 7C */	addi r4, r1, 0x7c
/* 8027D85C 0027A7BC  C0 E1 00 48 */	lfs f7, 0x48(r1)
/* 8027D860 0027A7C0  C0 C1 00 4C */	lfs f6, 0x4c(r1)
/* 8027D864 0027A7C4  28 05 00 00 */	cmplwi r5, 0
/* 8027D868 0027A7C8  C0 A1 00 50 */	lfs f5, 0x50(r1)
/* 8027D86C 0027A7CC  C0 81 00 54 */	lfs f4, 0x54(r1)
/* 8027D870 0027A7D0  C0 61 00 58 */	lfs f3, 0x58(r1)
/* 8027D874 0027A7D4  C0 41 00 5C */	lfs f2, 0x5c(r1)
/* 8027D878 0027A7D8  C0 21 00 60 */	lfs f1, 0x60(r1)
/* 8027D87C 0027A7DC  C0 01 00 64 */	lfs f0, 0x64(r1)
/* 8027D880 0027A7E0  80 01 00 70 */	lwz r0, 0x70(r1)
/* 8027D884 0027A7E4  80 61 00 74 */	lwz r3, 0x74(r1)
/* 8027D888 0027A7E8  D0 E1 00 78 */	stfs f7, 0x78(r1)
/* 8027D88C 0027A7EC  D0 C1 00 7C */	stfs f6, 0x7c(r1)
/* 8027D890 0027A7F0  D0 A1 00 80 */	stfs f5, 0x80(r1)
/* 8027D894 0027A7F4  D0 81 00 84 */	stfs f4, 0x84(r1)
/* 8027D898 0027A7F8  D0 61 00 88 */	stfs f3, 0x88(r1)
/* 8027D89C 0027A7FC  D0 41 00 8C */	stfs f2, 0x8c(r1)
/* 8027D8A0 0027A800  D0 21 00 90 */	stfs f1, 0x90(r1)
/* 8027D8A4 0027A804  D0 01 00 94 */	stfs f0, 0x94(r1)
/* 8027D8A8 0027A808  98 A1 00 98 */	stb r5, 0x98(r1)
/* 8027D8AC 0027A80C  90 61 00 A4 */	stw r3, 0xa4(r1)
/* 8027D8B0 0027A810  90 01 00 A0 */	stw r0, 0xa0(r1)
/* 8027D8B4 0027A814  41 82 00 9C */	beq lbl_8027D950
/* 8027D8B8 0027A818  38 61 00 14 */	addi r3, r1, 0x14
/* 8027D8BC 0027A81C  48 09 58 85 */	bl Translate__12CTransform4fFRC9CVector3f
/* 8027D8C0 0027A820  38 7D 06 68 */	addi r3, r29, 0x668
/* 8027D8C4 0027A824  38 81 00 14 */	addi r4, r1, 0x14
/* 8027D8C8 0027A828  48 09 52 79 */	bl __as__12CTransform4fFRC12CTransform4f
/* 8027D8CC 0027A82C  A0 1D 07 04 */	lhz r0, 0x704(r29)
/* 8027D8D0 0027A830  7F C3 F3 78 */	mr r3, r30
/* 8027D8D4 0027A834  38 81 00 08 */	addi r4, r1, 8
/* 8027D8D8 0027A838  B0 01 00 08 */	sth r0, 8(r1)
/* 8027D8DC 0027A83C  4B DC EC 99 */	bl ObjectById__13CStateManagerF9TUniqueId
/* 8027D8E0 0027A840  7C 64 1B 78 */	mr r4, r3
/* 8027D8E4 0027A844  38 61 00 0C */	addi r3, r1, 0xc
/* 8027D8E8 0027A848  4B E2 8C 65 */	bl "__ct__29TCastToPtr<15CScriptWaypoint>FP7CEntity"
/* 8027D8EC 0027A84C  83 E3 00 04 */	lwz r31, 4(r3)
/* 8027D8F0 0027A850  28 1F 00 00 */	cmplwi r31, 0
/* 8027D8F4 0027A854  41 82 00 5C */	beq lbl_8027D950
/* 8027D8F8 0027A858  38 7F 00 34 */	addi r3, r31, 0x34
/* 8027D8FC 0027A85C  38 9D 06 68 */	addi r4, r29, 0x668
/* 8027D900 0027A860  48 09 52 41 */	bl __as__12CTransform4fFRC12CTransform4f
/* 8027D904 0027A864  88 1F 00 E4 */	lbz r0, 0xe4(r31)
/* 8027D908 0027A868  38 E0 00 01 */	li r7, 1
/* 8027D90C 0027A86C  50 E0 26 F6 */	rlwimi r0, r7, 4, 0x1b, 0x1b
/* 8027D910 0027A870  7F A3 EB 78 */	mr r3, r29
/* 8027D914 0027A874  98 1F 00 E4 */	stb r0, 0xe4(r31)
/* 8027D918 0027A878  7F C5 F3 78 */	mr r5, r30
/* 8027D91C 0027A87C  38 80 00 15 */	li r4, 0x15
/* 8027D920 0027A880  38 C0 FF FF */	li r6, -1
/* 8027D924 0027A884  88 1F 00 E4 */	lbz r0, 0xe4(r31)
/* 8027D928 0027A888  50 E0 1F 38 */	rlwimi r0, r7, 3, 0x1c, 0x1c
/* 8027D92C 0027A88C  98 1F 00 E4 */	stb r0, 0xe4(r31)
/* 8027D930 0027A890  88 1F 00 E4 */	lbz r0, 0xe4(r31)
/* 8027D934 0027A894  50 E0 17 7A */	rlwimi r0, r7, 2, 0x1d, 0x1d
/* 8027D938 0027A898  98 1F 00 E4 */	stb r0, 0xe4(r31)
/* 8027D93C 0027A89C  4B DD 37 85 */	bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 8027D940 0027A8A0  88 1D 07 0E */	lbz r0, 0x70e(r29)
/* 8027D944 0027A8A4  38 60 00 01 */	li r3, 1
/* 8027D948 0027A8A8  50 60 17 7A */	rlwimi r0, r3, 2, 0x1d, 0x1d
/* 8027D94C 0027A8AC  98 1D 07 0E */	stb r0, 0x70e(r29)
lbl_8027D950:
/* 8027D950 0027A8B0  80 01 00 C4 */	lwz r0, 0xc4(r1)
/* 8027D954 0027A8B4  83 E1 00 BC */	lwz r31, 0xbc(r1)
/* 8027D958 0027A8B8  83 C1 00 B8 */	lwz r30, 0xb8(r1)
/* 8027D95C 0027A8BC  83 A1 00 B4 */	lwz r29, 0xb4(r1)
/* 8027D960 0027A8C0  7C 08 03 A6 */	mtlr r0
/* 8027D964 0027A8C4  38 21 00 C0 */	addi r1, r1, 0xc0
/* 8027D968 0027A8C8  4E 80 00 20 */	blr

.global Death__20CMetroidPrimeEssenceFRC9CVector3fR13CStateManager
Death__20CMetroidPrimeEssenceFRC9CVector3fR13CStateManager:
/* 8027D96C 0027A8CC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8027D970 0027A8D0  7C 08 02 A6 */	mflr r0
/* 8027D974 0027A8D4  90 01 00 34 */	stw r0, 0x34(r1)
/* 8027D978 0027A8D8  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8027D97C 0027A8DC  7C DF 33 78 */	mr r31, r6
/* 8027D980 0027A8E0  93 C1 00 28 */	stw r30, 0x28(r1)
/* 8027D984 0027A8E4  7C BE 2B 78 */	mr r30, r5
/* 8027D988 0027A8E8  93 A1 00 24 */	stw r29, 0x24(r1)
/* 8027D98C 0027A8EC  7C 9D 23 78 */	mr r29, r4
/* 8027D990 0027A8F0  93 81 00 20 */	stw r28, 0x20(r1)
/* 8027D994 0027A8F4  7C 7C 1B 78 */	mr r28, r3
/* 8027D998 0027A8F8  88 03 04 00 */	lbz r0, 0x400(r3)
/* 8027D99C 0027A8FC  54 00 D7 FF */	rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8027D9A0 0027A900  41 82 00 64 */	beq lbl_8027DA04
/* 8027D9A4 0027A904  48 00 14 E5 */	bl sub_8027ee88
/* 8027D9A8 0027A908  7F 83 E3 78 */	mr r3, r28
/* 8027D9AC 0027A90C  7F A4 EB 78 */	mr r4, r29
/* 8027D9B0 0027A910  38 A0 00 00 */	li r5, 0
/* 8027D9B4 0027A914  4B FF FD DD */	bl sub_8027d790
/* 8027D9B8 0027A918  A0 1C 07 06 */	lhz r0, 0x706(r28)
/* 8027D9BC 0027A91C  7F A3 EB 78 */	mr r3, r29
/* 8027D9C0 0027A920  38 81 00 08 */	addi r4, r1, 8
/* 8027D9C4 0027A924  B0 01 00 08 */	sth r0, 8(r1)
/* 8027D9C8 0027A928  4B DC EB AD */	bl ObjectById__13CStateManagerF9TUniqueId
/* 8027D9CC 0027A92C  7C 64 1B 78 */	mr r4, r3
/* 8027D9D0 0027A930  38 61 00 0C */	addi r3, r1, 0xc
/* 8027D9D4 0027A934  4B E3 19 79 */	bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity"
/* 8027D9D8 0027A938  80 63 00 04 */	lwz r3, 4(r3)
/* 8027D9DC 0027A93C  28 03 00 00 */	cmplwi r3, 0
/* 8027D9E0 0027A940  41 82 00 10 */	beq lbl_8027D9F0
/* 8027D9E4 0027A944  7F A5 EB 78 */	mr r5, r29
/* 8027D9E8 0027A948  38 80 00 12 */	li r4, 0x12
/* 8027D9EC 0027A94C  4B DD 69 65 */	bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager
lbl_8027D9F0:
/* 8027D9F0 0027A950  7F 83 E3 78 */	mr r3, r28
/* 8027D9F4 0027A954  7F A4 EB 78 */	mr r4, r29
/* 8027D9F8 0027A958  7F C5 F3 78 */	mr r5, r30
/* 8027D9FC 0027A95C  7F E6 FB 78 */	mr r6, r31
/* 8027DA00 0027A960  4B DF D9 A5 */	bl Death__10CPatternedFR13CStateManagerRC9CVector3f18EScriptObjectState
lbl_8027DA04:
/* 8027DA04 0027A964  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8027DA08 0027A968  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 8027DA0C 0027A96C  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 8027DA10 0027A970  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 8027DA14 0027A974  83 81 00 20 */	lwz r28, 0x20(r1)
/* 8027DA18 0027A978  7C 08 03 A6 */	mtlr r0
/* 8027DA1C 0027A97C  38 21 00 30 */	addi r1, r1, 0x30
/* 8027DA20 0027A980  4E 80 00 20 */	blr

.global CoverFind__20CMetroidPrimeEssenceFR13CStateManagerf
CoverFind__20CMetroidPrimeEssenceFR13CStateManagerf:
/* 8027DA24 0027A984  C0 23 02 E4 */	lfs f1, 0x2e4(r3)
/* 8027DA28 0027A988  C0 03 00 50 */	lfs f0, 0x50(r3)
/* 8027DA2C 0027A98C  C0 63 02 E0 */	lfs f3, 0x2e0(r3)
/* 8027DA30 0027A990  EC 21 00 28 */	fsubs f1, f1, f0
/* 8027DA34 0027A994  C0 03 00 40 */	lfs f0, 0x40(r3)
/* 8027DA38 0027A998  C0 43 02 E8 */	lfs f2, 0x2e8(r3)
/* 8027DA3C 0027A99C  EC 63 00 28 */	fsubs f3, f3, f0
/* 8027DA40 0027A9A0  C0 03 00 60 */	lfs f0, 0x60(r3)
/* 8027DA44 0027A9A4  EC 21 00 72 */	fmuls f1, f1, f1
/* 8027DA48 0027A9A8  EC 42 00 28 */	fsubs f2, f2, f0
/* 8027DA4C 0027A9AC  C0 02 BD 4C */	lfs f0, lbl_805ADA6C@sda21(r2)
/* 8027DA50 0027A9B0  EC 23 08 FA */	fmadds f1, f3, f3, f1
/* 8027DA54 0027A9B4  EC 22 08 BA */	fmadds f1, f2, f2, f1
/* 8027DA58 0027A9B8  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8027DA5C 0027A9BC  7C 00 00 26 */	mfcr r0
/* 8027DA60 0027A9C0  54 03 0F FE */	srwi r3, r0, 0x1f
/* 8027DA64 0027A9C4  4E 80 00 20 */	blr

.global ShouldMove__20CMetroidPrimeEssenceFR13CStateManagerf
ShouldMove__20CMetroidPrimeEssenceFR13CStateManagerf:
/* 8027DA68 0027A9C8  88 03 07 0E */	lbz r0, 0x70e(r3)
/* 8027DA6C 0027A9CC  54 00 07 FE */	clrlwi r0, r0, 0x1f
/* 8027DA70 0027A9D0  7C 00 00 34 */	cntlzw r0, r0
/* 8027DA74 0027A9D4  54 03 D9 7E */	srwi r3, r0, 5
/* 8027DA78 0027A9D8  4E 80 00 20 */	blr

.global HasPatrolPath__20CMetroidPrimeEssenceFR13CStateManagerf
HasPatrolPath__20CMetroidPrimeEssenceFR13CStateManagerf:
/* 8027DA7C 0027A9DC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8027DA80 0027A9E0  7C 08 02 A6 */	mflr r0
/* 8027DA84 0027A9E4  90 01 00 14 */	stw r0, 0x14(r1)
/* 8027DA88 0027A9E8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8027DA8C 0027A9EC  3B E0 00 00 */	li r31, 0
/* 8027DA90 0027A9F0  88 03 07 0E */	lbz r0, 0x70e(r3)
/* 8027DA94 0027A9F4  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 8027DA98 0027A9F8  40 82 00 14 */	bne lbl_8027DAAC
/* 8027DA9C 0027A9FC  4B F7 80 F9 */	bl HasPatrolPath__10CPatternedFR13CStateManagerf
/* 8027DAA0 0027AA00  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8027DAA4 0027AA04  41 82 00 08 */	beq lbl_8027DAAC
/* 8027DAA8 0027AA08  3B E0 00 01 */	li r31, 1
lbl_8027DAAC:
/* 8027DAAC 0027AA0C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8027DAB0 0027AA10  7F E3 FB 78 */	mr r3, r31
/* 8027DAB4 0027AA14  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8027DAB8 0027AA18  7C 08 03 A6 */	mtlr r0
/* 8027DABC 0027AA1C  38 21 00 10 */	addi r1, r1, 0x10
/* 8027DAC0 0027AA20  4E 80 00 20 */	blr

.global InPosition__20CMetroidPrimeEssenceFR13CStateManagerf
InPosition__20CMetroidPrimeEssenceFR13CStateManagerf:
/* 8027DAC4 0027AA24  80 84 08 4C */	lwz r4, 0x84c(r4)
/* 8027DAC8 0027AA28  C0 43 00 60 */	lfs f2, 0x60(r3)
/* 8027DACC 0027AA2C  C0 24 00 60 */	lfs f1, 0x60(r4)
/* 8027DAD0 0027AA30  C0 02 BD 30 */	lfs f0, lbl_805ADA50@sda21(r2)
/* 8027DAD4 0027AA34  EC 22 08 28 */	fsubs f1, f2, f1
/* 8027DAD8 0027AA38  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8027DADC 0027AA3C  7C 00 00 26 */	mfcr r0
/* 8027DAE0 0027AA40  54 03 17 FE */	rlwinm r3, r0, 2, 0x1f, 0x1f
/* 8027DAE4 0027AA44  4E 80 00 20 */	blr

.global ShouldTaunt__20CMetroidPrimeEssenceFR13CStateManagerf
ShouldTaunt__20CMetroidPrimeEssenceFR13CStateManagerf:
/* 8027DAE8 0027AA48  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8027DAEC 0027AA4C  7C 08 02 A6 */	mflr r0
/* 8027DAF0 0027AA50  90 01 00 14 */	stw r0, 0x14(r1)
/* 8027DAF4 0027AA54  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8027DAF8 0027AA58  7C 9F 23 78 */	mr r31, r4
/* 8027DAFC 0027AA5C  93 C1 00 08 */	stw r30, 8(r1)
/* 8027DB00 0027AA60  7C 7E 1B 78 */	mr r30, r3
/* 8027DB04 0027AA64  81 83 00 00 */	lwz r12, 0(r3)
/* 8027DB08 0027AA68  81 8C 00 34 */	lwz r12, 0x34(r12)
/* 8027DB0C 0027AA6C  7D 89 03 A6 */	mtctr r12
/* 8027DB10 0027AA70  4E 80 04 21 */	bctrl
/* 8027DB14 0027AA74  28 03 00 00 */	cmplwi r3, 0
/* 8027DB18 0027AA78  41 82 00 58 */	beq lbl_8027DB70
/* 8027DB1C 0027AA7C  C0 23 00 00 */	lfs f1, 0(r3)
/* 8027DB20 0027AA80  C0 1E 06 C0 */	lfs f0, 0x6c0(r30)
/* 8027DB24 0027AA84  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8027DB28 0027AA88  40 81 00 48 */	ble lbl_8027DB70
/* 8027DB2C 0027AA8C  80 7F 09 00 */	lwz r3, 0x900(r31)
/* 8027DB30 0027AA90  48 09 49 F1 */	bl Next__9CRandom16Fv
/* 8027DB34 0027AA94  3C A0 51 EC */	lis r5, 0x51EB851F@ha
/* 8027DB38 0027AA98  38 80 00 32 */	li r4, 0x32
/* 8027DB3C 0027AA9C  38 05 85 1F */	addi r0, r5, 0x51EB851F@l
/* 8027DB40 0027AAA0  7C 00 18 96 */	mulhw r0, r0, r3
/* 8027DB44 0027AAA4  7C 00 2E 70 */	srawi r0, r0, 5
/* 8027DB48 0027AAA8  54 05 0F FE */	srwi r5, r0, 0x1f
/* 8027DB4C 0027AAAC  7C 00 2A 14 */	add r0, r0, r5
/* 8027DB50 0027AAB0  1C 00 00 64 */	mulli r0, r0, 0x64
/* 8027DB54 0027AAB4  7C 00 18 50 */	subf r0, r0, r3
/* 8027DB58 0027AAB8  7C 80 02 78 */	xor r0, r4, r0
/* 8027DB5C 0027AABC  7C 03 0E 70 */	srawi r3, r0, 1
/* 8027DB60 0027AAC0  7C 00 20 38 */	and r0, r0, r4
/* 8027DB64 0027AAC4  7C 00 18 50 */	subf r0, r0, r3
/* 8027DB68 0027AAC8  54 03 0F FE */	srwi r3, r0, 0x1f
/* 8027DB6C 0027AACC  48 00 00 08 */	b lbl_8027DB74
lbl_8027DB70:
/* 8027DB70 0027AAD0  38 60 00 00 */	li r3, 0
lbl_8027DB74:
/* 8027DB74 0027AAD4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8027DB78 0027AAD8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8027DB7C 0027AADC  83 C1 00 08 */	lwz r30, 8(r1)
/* 8027DB80 0027AAE0  7C 08 03 A6 */	mtlr r0
/* 8027DB84 0027AAE4  38 21 00 10 */	addi r1, r1, 0x10
/* 8027DB88 0027AAE8  4E 80 00 20 */	blr

.global ShouldCrouch__20CMetroidPrimeEssenceFR13CStateManagerf
ShouldCrouch__20CMetroidPrimeEssenceFR13CStateManagerf:
/* 8027DB8C 0027AAEC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8027DB90 0027AAF0  7C 08 02 A6 */	mflr r0
/* 8027DB94 0027AAF4  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027DB98 0027AAF8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8027DB9C 0027AAFC  7C 7F 1B 78 */	mr r31, r3
/* 8027DBA0 0027AB00  80 A3 06 F0 */	lwz r5, 0x6f0(r3)
/* 8027DBA4 0027AB04  80 03 06 F4 */	lwz r0, 0x6f4(r3)
/* 8027DBA8 0027AB08  7C 05 00 00 */	cmpw r5, r0
/* 8027DBAC 0027AB0C  40 80 00 14 */	bge lbl_8027DBC0
/* 8027DBB0 0027AB10  38 05 00 01 */	addi r0, r5, 1
/* 8027DBB4 0027AB14  38 60 00 00 */	li r3, 0
/* 8027DBB8 0027AB18  90 1F 06 F0 */	stw r0, 0x6f0(r31)
/* 8027DBBC 0027AB1C  48 00 00 74 */	b lbl_8027DC30
lbl_8027DBC0:
/* 8027DBC0 0027AB20  81 83 00 00 */	lwz r12, 0(r3)
/* 8027DBC4 0027AB24  81 8C 00 34 */	lwz r12, 0x34(r12)
/* 8027DBC8 0027AB28  7D 89 03 A6 */	mtctr r12
/* 8027DBCC 0027AB2C  4E 80 04 21 */	bctrl
/* 8027DBD0 0027AB30  C0 3F 06 C4 */	lfs f1, 0x6c4(r31)
/* 8027DBD4 0027AB34  C0 03 00 00 */	lfs f0, 0(r3)
/* 8027DBD8 0027AB38  C0 42 BD 3C */	lfs f2, lbl_805ADA5C@sda21(r2)
/* 8027DBDC 0027AB3C  EC 01 00 32 */	fmuls f0, f1, f0
/* 8027DBE0 0027AB40  C0 22 BD 50 */	lfs f1, lbl_805ADA70@sda21(r2)
/* 8027DBE4 0027AB44  80 7F 06 E8 */	lwz r3, 0x6e8(r31)
/* 8027DBE8 0027AB48  EC 02 00 28 */	fsubs f0, f2, f0
/* 8027DBEC 0027AB4C  EC 01 00 32 */	fmuls f0, f1, f0
/* 8027DBF0 0027AB50  FC 00 00 1E */	fctiwz f0, f0
/* 8027DBF4 0027AB54  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 8027DBF8 0027AB58  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8027DBFC 0027AB5C  7C 63 02 14 */	add r3, r3, r0
/* 8027DC00 0027AB60  90 61 00 08 */	stw r3, 8(r1)
/* 8027DC04 0027AB64  80 1F 06 EC */	lwz r0, 0x6ec(r31)
/* 8027DC08 0027AB68  7C 00 18 00 */	cmpw r0, r3
/* 8027DC0C 0027AB6C  40 80 00 0C */	bge lbl_8027DC18
/* 8027DC10 0027AB70  38 7F 06 EC */	addi r3, r31, 0x6ec
/* 8027DC14 0027AB74  48 00 00 08 */	b lbl_8027DC1C
lbl_8027DC18:
/* 8027DC18 0027AB78  38 61 00 08 */	addi r3, r1, 8
lbl_8027DC1C:
/* 8027DC1C 0027AB7C  80 83 00 00 */	lwz r4, 0(r3)
/* 8027DC20 0027AB80  38 00 00 00 */	li r0, 0
/* 8027DC24 0027AB84  38 60 00 01 */	li r3, 1
/* 8027DC28 0027AB88  90 9F 06 F4 */	stw r4, 0x6f4(r31)
/* 8027DC2C 0027AB8C  90 1F 06 F0 */	stw r0, 0x6f0(r31)
lbl_8027DC30:
/* 8027DC30 0027AB90  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027DC34 0027AB94  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8027DC38 0027AB98  7C 08 03 A6 */	mtlr r0
/* 8027DC3C 0027AB9C  38 21 00 20 */	addi r1, r1, 0x20
/* 8027DC40 0027ABA0  4E 80 00 20 */	blr

.global ShouldAttack__20CMetroidPrimeEssenceFR13CStateManagerf
ShouldAttack__20CMetroidPrimeEssenceFR13CStateManagerf:
/* 8027DC44 0027ABA4  88 63 07 0E */	lbz r3, 0x70e(r3)
/* 8027DC48 0027ABA8  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 8027DC4C 0027ABAC  41 82 00 0C */	beq lbl_8027DC58
/* 8027DC50 0027ABB0  54 63 D7 FE */	rlwinm r3, r3, 0x1a, 0x1f, 0x1f
/* 8027DC54 0027ABB4  4E 80 00 20 */	blr
lbl_8027DC58:
/* 8027DC58 0027ABB8  38 60 00 01 */	li r3, 1
/* 8027DC5C 0027ABBC  4E 80 00 20 */	blr

.global Dead__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
Dead__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf:
/* 8027DC60 0027ABC0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8027DC64 0027ABC4  7C 08 02 A6 */	mflr r0
/* 8027DC68 0027ABC8  90 01 00 34 */	stw r0, 0x34(r1)
/* 8027DC6C 0027ABCC  DB E1 00 28 */	stfd f31, 0x28(r1)
/* 8027DC70 0027ABD0  FF E0 08 90 */	fmr f31, f1
/* 8027DC74 0027ABD4  93 E1 00 24 */	stw r31, 0x24(r1)
/* 8027DC78 0027ABD8  7C BF 2B 78 */	mr r31, r5
/* 8027DC7C 0027ABDC  93 C1 00 20 */	stw r30, 0x20(r1)
/* 8027DC80 0027ABE0  7C 9E 23 78 */	mr r30, r4
/* 8027DC84 0027ABE4  93 A1 00 1C */	stw r29, 0x1c(r1)
/* 8027DC88 0027ABE8  7C 7D 1B 78 */	mr r29, r3
/* 8027DC8C 0027ABEC  4B F7 8D 39 */	bl Dead__10CPatternedFR13CStateManager9EStateMsgf
/* 8027DC90 0027ABF0  2C 1F 00 01 */	cmpwi r31, 1
/* 8027DC94 0027ABF4  41 82 00 08 */	beq lbl_8027DC9C
/* 8027DC98 0027ABF8  48 00 00 4C */	b lbl_8027DCE4
lbl_8027DC9C:
/* 8027DC9C 0027ABFC  3C 80 80 3D */	lis r4, lbl_803D589C@ha
/* 8027DCA0 0027AC00  38 61 00 08 */	addi r3, r1, 8
/* 8027DCA4 0027AC04  38 84 58 9C */	addi r4, r4, lbl_803D589C@l
/* 8027DCA8 0027AC08  38 84 00 2E */	addi r4, r4, 0x2e
/* 8027DCAC 0027AC0C  4B D8 70 0D */	bl string_l__4rstlFPCc
/* 8027DCB0 0027AC10  80 7D 00 64 */	lwz r3, 0x64(r29)
/* 8027DCB4 0027AC14  FC 20 F8 90 */	fmr f1, f31
/* 8027DCB8 0027AC18  38 81 00 08 */	addi r4, r1, 8
/* 8027DCBC 0027AC1C  80 63 00 10 */	lwz r3, 0x10(r3)
/* 8027DCC0 0027AC20  4B DA E7 2D */	bl "IsAnimTimeRemaining__9CAnimDataCFfRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8027DCC4 0027AC24  7C 7F 1B 78 */	mr r31, r3
/* 8027DCC8 0027AC28  38 61 00 08 */	addi r3, r1, 8
/* 8027DCCC 0027AC2C  48 0B FE 15 */	bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8027DCD0 0027AC30  57 E0 06 3F */	clrlwi. r0, r31, 0x18
/* 8027DCD4 0027AC34  40 82 00 10 */	bne lbl_8027DCE4
/* 8027DCD8 0027AC38  7F A3 EB 78 */	mr r3, r29
/* 8027DCDC 0027AC3C  7F C4 F3 78 */	mr r4, r30
/* 8027DCE0 0027AC40  4B DF AD 21 */	bl DeathDelete__10CPatternedFR13CStateManager
lbl_8027DCE4:
/* 8027DCE4 0027AC44  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8027DCE8 0027AC48  CB E1 00 28 */	lfd f31, 0x28(r1)
/* 8027DCEC 0027AC4C  83 E1 00 24 */	lwz r31, 0x24(r1)
/* 8027DCF0 0027AC50  83 C1 00 20 */	lwz r30, 0x20(r1)
/* 8027DCF4 0027AC54  83 A1 00 1C */	lwz r29, 0x1c(r1)
/* 8027DCF8 0027AC58  7C 08 03 A6 */	mtlr r0
/* 8027DCFC 0027AC5C  38 21 00 30 */	addi r1, r1, 0x30
/* 8027DD00 0027AC60  4E 80 00 20 */	blr

.global Taunt__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
Taunt__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf:
/* 8027DD04 0027AC64  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8027DD08 0027AC68  7C 08 02 A6 */	mflr r0
/* 8027DD0C 0027AC6C  2C 05 00 01 */	cmpwi r5, 1
/* 8027DD10 0027AC70  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027DD14 0027AC74  41 82 00 2C */	beq lbl_8027DD40
/* 8027DD18 0027AC78  40 80 00 10 */	bge lbl_8027DD28
/* 8027DD1C 0027AC7C  2C 05 00 00 */	cmpwi r5, 0
/* 8027DD20 0027AC80  40 80 00 14 */	bge lbl_8027DD34
/* 8027DD24 0027AC84  48 00 00 58 */	b lbl_8027DD7C
lbl_8027DD28:
/* 8027DD28 0027AC88  2C 05 00 03 */	cmpwi r5, 3
/* 8027DD2C 0027AC8C  40 80 00 50 */	bge lbl_8027DD7C
/* 8027DD30 0027AC90  48 00 00 44 */	b lbl_8027DD74
lbl_8027DD34:
/* 8027DD34 0027AC94  38 00 00 01 */	li r0, 1
/* 8027DD38 0027AC98  90 03 03 2C */	stw r0, 0x32c(r3)
/* 8027DD3C 0027AC9C  48 00 00 40 */	b lbl_8027DD7C
lbl_8027DD40:
/* 8027DD40 0027ACA0  3C A0 80 3F */	lis r5, lbl_803EB238@ha
/* 8027DD44 0027ACA4  38 C1 00 08 */	addi r6, r1, 8
/* 8027DD48 0027ACA8  39 45 B2 38 */	addi r10, r5, lbl_803EB238@l
/* 8027DD4C 0027ACAC  38 A0 00 10 */	li r5, 0x10
/* 8027DD50 0027ACB0  81 2A 00 00 */	lwz r9, 0(r10)
/* 8027DD54 0027ACB4  38 E0 00 02 */	li r7, 2
/* 8027DD58 0027ACB8  81 0A 00 04 */	lwz r8, 4(r10)
/* 8027DD5C 0027ACBC  80 0A 00 08 */	lwz r0, 8(r10)
/* 8027DD60 0027ACC0  91 21 00 08 */	stw r9, 8(r1)
/* 8027DD64 0027ACC4  91 01 00 0C */	stw r8, 0xc(r1)
/* 8027DD68 0027ACC8  90 01 00 10 */	stw r0, 0x10(r1)
/* 8027DD6C 0027ACCC  4B DF EA 49 */	bl TryCommand__10CPatternedFR13CStateManageriM10CPatternedFR13CStateManageri_vi
/* 8027DD70 0027ACD0  48 00 00 0C */	b lbl_8027DD7C
lbl_8027DD74:
/* 8027DD74 0027ACD4  38 00 00 00 */	li r0, 0
/* 8027DD78 0027ACD8  90 03 03 2C */	stw r0, 0x32c(r3)
lbl_8027DD7C:
/* 8027DD7C 0027ACDC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027DD80 0027ACE0  7C 08 03 A6 */	mtlr r0
/* 8027DD84 0027ACE4  38 21 00 20 */	addi r1, r1, 0x20
/* 8027DD88 0027ACE8  4E 80 00 20 */	blr

.global Skid__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
Skid__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf:
/* 8027DD8C 0027ACEC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8027DD90 0027ACF0  7C 08 02 A6 */	mflr r0
/* 8027DD94 0027ACF4  2C 05 00 01 */	cmpwi r5, 1
/* 8027DD98 0027ACF8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027DD9C 0027ACFC  41 82 00 2C */	beq lbl_8027DDC8
/* 8027DDA0 0027AD00  40 80 00 10 */	bge lbl_8027DDB0
/* 8027DDA4 0027AD04  2C 05 00 00 */	cmpwi r5, 0
/* 8027DDA8 0027AD08  40 80 00 14 */	bge lbl_8027DDBC
/* 8027DDAC 0027AD0C  48 00 00 58 */	b lbl_8027DE04
lbl_8027DDB0:
/* 8027DDB0 0027AD10  2C 05 00 03 */	cmpwi r5, 3
/* 8027DDB4 0027AD14  40 80 00 50 */	bge lbl_8027DE04
/* 8027DDB8 0027AD18  48 00 00 44 */	b lbl_8027DDFC
lbl_8027DDBC:
/* 8027DDBC 0027AD1C  38 00 00 01 */	li r0, 1
/* 8027DDC0 0027AD20  90 03 03 2C */	stw r0, 0x32c(r3)
/* 8027DDC4 0027AD24  48 00 00 40 */	b lbl_8027DE04
lbl_8027DDC8:
/* 8027DDC8 0027AD28  3C A0 80 3F */	lis r5, lbl_803EB22C@ha
/* 8027DDCC 0027AD2C  38 C1 00 08 */	addi r6, r1, 8
/* 8027DDD0 0027AD30  39 45 B2 2C */	addi r10, r5, lbl_803EB22C@l
/* 8027DDD4 0027AD34  38 A0 00 03 */	li r5, 3
/* 8027DDD8 0027AD38  81 2A 00 00 */	lwz r9, 0(r10)
/* 8027DDDC 0027AD3C  38 E0 00 05 */	li r7, 5
/* 8027DDE0 0027AD40  81 0A 00 04 */	lwz r8, 4(r10)
/* 8027DDE4 0027AD44  80 0A 00 08 */	lwz r0, 8(r10)
/* 8027DDE8 0027AD48  91 21 00 08 */	stw r9, 8(r1)
/* 8027DDEC 0027AD4C  91 01 00 0C */	stw r8, 0xc(r1)
/* 8027DDF0 0027AD50  90 01 00 10 */	stw r0, 0x10(r1)
/* 8027DDF4 0027AD54  4B DF E9 C1 */	bl TryCommand__10CPatternedFR13CStateManageriM10CPatternedFR13CStateManageri_vi
/* 8027DDF8 0027AD58  48 00 00 0C */	b lbl_8027DE04
lbl_8027DDFC:
/* 8027DDFC 0027AD5C  38 00 00 00 */	li r0, 0
/* 8027DE00 0027AD60  90 03 03 2C */	stw r0, 0x32c(r3)
lbl_8027DE04:
/* 8027DE04 0027AD64  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027DE08 0027AD68  7C 08 03 A6 */	mtlr r0
/* 8027DE0C 0027AD6C  38 21 00 20 */	addi r1, r1, 0x20
/* 8027DE10 0027AD70  4E 80 00 20 */	blr

.global JumpBack__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
JumpBack__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf:
/* 8027DE14 0027AD74  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8027DE18 0027AD78  7C 08 02 A6 */	mflr r0
/* 8027DE1C 0027AD7C  2C 05 00 01 */	cmpwi r5, 1
/* 8027DE20 0027AD80  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027DE24 0027AD84  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8027DE28 0027AD88  7C 7F 1B 78 */	mr r31, r3
/* 8027DE2C 0027AD8C  41 82 00 38 */	beq lbl_8027DE64
/* 8027DE30 0027AD90  40 80 00 10 */	bge lbl_8027DE40
/* 8027DE34 0027AD94  2C 05 00 00 */	cmpwi r5, 0
/* 8027DE38 0027AD98  40 80 00 14 */	bge lbl_8027DE4C
/* 8027DE3C 0027AD9C  48 00 00 64 */	b lbl_8027DEA0
lbl_8027DE40:
/* 8027DE40 0027ADA0  2C 05 00 03 */	cmpwi r5, 3
/* 8027DE44 0027ADA4  40 80 00 5C */	bge lbl_8027DEA0
/* 8027DE48 0027ADA8  48 00 00 50 */	b lbl_8027DE98
lbl_8027DE4C:
/* 8027DE4C 0027ADAC  38 00 00 01 */	li r0, 1
/* 8027DE50 0027ADB0  38 A0 00 01 */	li r5, 1
/* 8027DE54 0027ADB4  90 1F 03 2C */	stw r0, 0x32c(r31)
/* 8027DE58 0027ADB8  4B FF F1 7D */	bl sub_8027cfd4
/* 8027DE5C 0027ADBC  90 7F 07 00 */	stw r3, 0x700(r31)
/* 8027DE60 0027ADC0  48 00 00 40 */	b lbl_8027DEA0
lbl_8027DE64:
/* 8027DE64 0027ADC4  3C A0 80 3F */	lis r5, lbl_803EB220@ha
/* 8027DE68 0027ADC8  38 C1 00 08 */	addi r6, r1, 8
/* 8027DE6C 0027ADCC  39 25 B2 20 */	addi r9, r5, lbl_803EB220@l
/* 8027DE70 0027ADD0  38 A0 00 03 */	li r5, 3
/* 8027DE74 0027ADD4  81 09 00 00 */	lwz r8, 0(r9)
/* 8027DE78 0027ADD8  80 E9 00 04 */	lwz r7, 4(r9)
/* 8027DE7C 0027ADDC  80 09 00 08 */	lwz r0, 8(r9)
/* 8027DE80 0027ADE0  91 01 00 08 */	stw r8, 8(r1)
/* 8027DE84 0027ADE4  90 E1 00 0C */	stw r7, 0xc(r1)
/* 8027DE88 0027ADE8  90 01 00 10 */	stw r0, 0x10(r1)
/* 8027DE8C 0027ADEC  80 FF 07 00 */	lwz r7, 0x700(r31)
/* 8027DE90 0027ADF0  4B DF E9 25 */	bl TryCommand__10CPatternedFR13CStateManageriM10CPatternedFR13CStateManageri_vi
/* 8027DE94 0027ADF4  48 00 00 0C */	b lbl_8027DEA0
lbl_8027DE98:
/* 8027DE98 0027ADF8  38 00 00 00 */	li r0, 0
/* 8027DE9C 0027ADFC  90 1F 03 2C */	stw r0, 0x32c(r31)
lbl_8027DEA0:
/* 8027DEA0 0027AE00  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027DEA4 0027AE04  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8027DEA8 0027AE08  7C 08 03 A6 */	mtlr r0
/* 8027DEAC 0027AE0C  38 21 00 20 */	addi r1, r1, 0x20
/* 8027DEB0 0027AE10  4E 80 00 20 */	blr

.global PathFindEx__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
PathFindEx__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf:
/* 8027DEB4 0027AE14  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8027DEB8 0027AE18  7C 08 02 A6 */	mflr r0
/* 8027DEBC 0027AE1C  90 01 00 14 */	stw r0, 0x14(r1)
/* 8027DEC0 0027AE20  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8027DEC4 0027AE24  7C BF 2B 78 */	mr r31, r5
/* 8027DEC8 0027AE28  93 C1 00 08 */	stw r30, 8(r1)
/* 8027DECC 0027AE2C  7C 7E 1B 78 */	mr r30, r3
/* 8027DED0 0027AE30  4B F7 87 FD */	bl PathFind__10CPatternedFR13CStateManager9EStateMsgf
/* 8027DED4 0027AE34  2C 1F 00 01 */	cmpwi r31, 1
/* 8027DED8 0027AE38  41 82 00 34 */	beq lbl_8027DF0C
/* 8027DEDC 0027AE3C  40 80 00 10 */	bge lbl_8027DEEC
/* 8027DEE0 0027AE40  2C 1F 00 00 */	cmpwi r31, 0
/* 8027DEE4 0027AE44  40 80 00 14 */	bge lbl_8027DEF8
/* 8027DEE8 0027AE48  48 00 00 44 */	b lbl_8027DF2C
lbl_8027DEEC:
/* 8027DEEC 0027AE4C  2C 1F 00 03 */	cmpwi r31, 3
/* 8027DEF0 0027AE50  40 80 00 3C */	bge lbl_8027DF2C
/* 8027DEF4 0027AE54  48 00 00 28 */	b lbl_8027DF1C
lbl_8027DEF8:
/* 8027DEF8 0027AE58  88 1E 07 0E */	lbz r0, 0x70e(r30)
/* 8027DEFC 0027AE5C  38 60 00 01 */	li r3, 1
/* 8027DF00 0027AE60  50 60 3E 30 */	rlwimi r0, r3, 7, 0x18, 0x18
/* 8027DF04 0027AE64  98 1E 07 0E */	stb r0, 0x70e(r30)
/* 8027DF08 0027AE68  48 00 00 24 */	b lbl_8027DF2C
lbl_8027DF0C:
/* 8027DF0C 0027AE6C  7F C3 F3 78 */	mr r3, r30
/* 8027DF10 0027AE70  38 9E 02 E0 */	addi r4, r30, 0x2e0
/* 8027DF14 0027AE74  4B FF EC 2D */	bl sub_8027cb40
/* 8027DF18 0027AE78  48 00 00 14 */	b lbl_8027DF2C
lbl_8027DF1C:
/* 8027DF1C 0027AE7C  88 1E 07 0E */	lbz r0, 0x70e(r30)
/* 8027DF20 0027AE80  38 60 00 00 */	li r3, 0
/* 8027DF24 0027AE84  50 60 3E 30 */	rlwimi r0, r3, 7, 0x18, 0x18
/* 8027DF28 0027AE88  98 1E 07 0E */	stb r0, 0x70e(r30)
lbl_8027DF2C:
/* 8027DF2C 0027AE8C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8027DF30 0027AE90  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8027DF34 0027AE94  83 C1 00 08 */	lwz r30, 8(r1)
/* 8027DF38 0027AE98  7C 08 03 A6 */	mtlr r0
/* 8027DF3C 0027AE9C  38 21 00 10 */	addi r1, r1, 0x10
/* 8027DF40 0027AEA0  4E 80 00 20 */	blr

.global PathFind__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
PathFind__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf:
/* 8027DF44 0027AEA4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8027DF48 0027AEA8  7C 08 02 A6 */	mflr r0
/* 8027DF4C 0027AEAC  90 01 00 34 */	stw r0, 0x34(r1)
/* 8027DF50 0027AEB0  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8027DF54 0027AEB4  7C BF 2B 78 */	mr r31, r5
/* 8027DF58 0027AEB8  93 C1 00 28 */	stw r30, 0x28(r1)
/* 8027DF5C 0027AEBC  7C 9E 23 78 */	mr r30, r4
/* 8027DF60 0027AEC0  93 A1 00 24 */	stw r29, 0x24(r1)
/* 8027DF64 0027AEC4  7C 7D 1B 78 */	mr r29, r3
/* 8027DF68 0027AEC8  4B F7 87 65 */	bl PathFind__10CPatternedFR13CStateManager9EStateMsgf
/* 8027DF6C 0027AECC  2C 1F 00 01 */	cmpwi r31, 1
/* 8027DF70 0027AED0  41 82 00 08 */	beq lbl_8027DF78
/* 8027DF74 0027AED4  48 00 00 2C */	b lbl_8027DFA0
lbl_8027DF78:
/* 8027DF78 0027AED8  80 BE 08 4C */	lwz r5, 0x84c(r30)
/* 8027DF7C 0027AEDC  7F A3 EB 78 */	mr r3, r29
/* 8027DF80 0027AEE0  38 81 00 08 */	addi r4, r1, 8
/* 8027DF84 0027AEE4  C0 45 00 60 */	lfs f2, 0x60(r5)
/* 8027DF88 0027AEE8  C0 25 00 50 */	lfs f1, 0x50(r5)
/* 8027DF8C 0027AEEC  C0 05 00 40 */	lfs f0, 0x40(r5)
/* 8027DF90 0027AEF0  D0 01 00 08 */	stfs f0, 8(r1)
/* 8027DF94 0027AEF4  D0 21 00 0C */	stfs f1, 0xc(r1)
/* 8027DF98 0027AEF8  D0 41 00 10 */	stfs f2, 0x10(r1)
/* 8027DF9C 0027AEFC  4B FF EB A5 */	bl sub_8027cb40
lbl_8027DFA0:
/* 8027DFA0 0027AF00  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8027DFA4 0027AF04  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 8027DFA8 0027AF08  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 8027DFAC 0027AF0C  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 8027DFB0 0027AF10  7C 08 03 A6 */	mtlr r0
/* 8027DFB4 0027AF14  38 21 00 30 */	addi r1, r1, 0x30
/* 8027DFB8 0027AF18  4E 80 00 20 */	blr

.global Halt__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
Halt__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf:
/* 8027DFBC 0027AF1C  4E 80 00 20 */	blr

.global Dodge__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
Dodge__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf:
/* 8027DFC0 0027AF20  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8027DFC4 0027AF24  7C 08 02 A6 */	mflr r0
/* 8027DFC8 0027AF28  2C 05 00 01 */	cmpwi r5, 1
/* 8027DFCC 0027AF2C  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027DFD0 0027AF30  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8027DFD4 0027AF34  7C 7F 1B 78 */	mr r31, r3
/* 8027DFD8 0027AF38  41 82 00 38 */	beq lbl_8027E010
/* 8027DFDC 0027AF3C  40 80 00 10 */	bge lbl_8027DFEC
/* 8027DFE0 0027AF40  2C 05 00 00 */	cmpwi r5, 0
/* 8027DFE4 0027AF44  40 80 00 14 */	bge lbl_8027DFF8
/* 8027DFE8 0027AF48  48 00 00 64 */	b lbl_8027E04C
lbl_8027DFEC:
/* 8027DFEC 0027AF4C  2C 05 00 03 */	cmpwi r5, 3
/* 8027DFF0 0027AF50  40 80 00 5C */	bge lbl_8027E04C
/* 8027DFF4 0027AF54  48 00 00 50 */	b lbl_8027E044
lbl_8027DFF8:
/* 8027DFF8 0027AF58  38 00 00 01 */	li r0, 1
/* 8027DFFC 0027AF5C  38 A0 00 00 */	li r5, 0
/* 8027E000 0027AF60  90 1F 03 2C */	stw r0, 0x32c(r31)
/* 8027E004 0027AF64  4B FF EF D1 */	bl sub_8027cfd4
/* 8027E008 0027AF68  90 7F 07 00 */	stw r3, 0x700(r31)
/* 8027E00C 0027AF6C  48 00 00 40 */	b lbl_8027E04C
lbl_8027E010:
/* 8027E010 0027AF70  3C A0 80 3F */	lis r5, lbl_803EB214@ha
/* 8027E014 0027AF74  38 C1 00 08 */	addi r6, r1, 8
/* 8027E018 0027AF78  39 25 B2 14 */	addi r9, r5, lbl_803EB214@l
/* 8027E01C 0027AF7C  38 A0 00 03 */	li r5, 3
/* 8027E020 0027AF80  81 09 00 00 */	lwz r8, 0(r9)
/* 8027E024 0027AF84  80 E9 00 04 */	lwz r7, 4(r9)
/* 8027E028 0027AF88  80 09 00 08 */	lwz r0, 8(r9)
/* 8027E02C 0027AF8C  91 01 00 08 */	stw r8, 8(r1)
/* 8027E030 0027AF90  90 E1 00 0C */	stw r7, 0xc(r1)
/* 8027E034 0027AF94  90 01 00 10 */	stw r0, 0x10(r1)
/* 8027E038 0027AF98  80 FF 07 00 */	lwz r7, 0x700(r31)
/* 8027E03C 0027AF9C  4B DF E7 79 */	bl TryCommand__10CPatternedFR13CStateManageriM10CPatternedFR13CStateManageri_vi
/* 8027E040 0027AFA0  48 00 00 0C */	b lbl_8027E04C
lbl_8027E044:
/* 8027E044 0027AFA4  38 00 00 00 */	li r0, 0
/* 8027E048 0027AFA8  90 1F 03 2C */	stw r0, 0x32c(r31)
lbl_8027E04C:
/* 8027E04C 0027AFAC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027E050 0027AFB0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8027E054 0027AFB4  7C 08 03 A6 */	mtlr r0
/* 8027E058 0027AFB8  38 21 00 20 */	addi r1, r1, 0x20
/* 8027E05C 0027AFBC  4E 80 00 20 */	blr

.global FadeOut__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
FadeOut__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf:
/* 8027E060 0027AFC0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8027E064 0027AFC4  7C 08 02 A6 */	mflr r0
/* 8027E068 0027AFC8  2C 05 00 00 */	cmpwi r5, 0
/* 8027E06C 0027AFCC  90 01 00 14 */	stw r0, 0x14(r1)
/* 8027E070 0027AFD0  41 82 00 0C */	beq lbl_8027E07C
/* 8027E074 0027AFD4  41 80 00 0C */	blt lbl_8027E080
/* 8027E078 0027AFD8  48 00 00 08 */	b lbl_8027E080
lbl_8027E07C:
/* 8027E07C 0027AFDC  4B FF F1 79 */	bl sub_8027d1f4
lbl_8027E080:
/* 8027E080 0027AFE0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8027E084 0027AFE4  7C 08 03 A6 */	mtlr r0
/* 8027E088 0027AFE8  38 21 00 10 */	addi r1, r1, 0x10
/* 8027E08C 0027AFEC  4E 80 00 20 */	blr

.global FadeIn__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
FadeIn__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf:
/* 8027E090 0027AFF0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8027E094 0027AFF4  7C 08 02 A6 */	mflr r0
/* 8027E098 0027AFF8  2C 05 00 01 */	cmpwi r5, 1
/* 8027E09C 0027AFFC  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027E0A0 0027B000  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8027E0A4 0027B004  7C 7F 1B 78 */	mr r31, r3
/* 8027E0A8 0027B008  41 82 00 40 */	beq lbl_8027E0E8
/* 8027E0AC 0027B00C  40 80 00 10 */	bge lbl_8027E0BC
/* 8027E0B0 0027B010  2C 05 00 00 */	cmpwi r5, 0
/* 8027E0B4 0027B014  40 80 00 14 */	bge lbl_8027E0C8
/* 8027E0B8 0027B018  48 00 00 9C */	b lbl_8027E154
lbl_8027E0BC:
/* 8027E0BC 0027B01C  2C 05 00 03 */	cmpwi r5, 3
/* 8027E0C0 0027B020  40 80 00 94 */	bge lbl_8027E154
/* 8027E0C4 0027B024  48 00 00 58 */	b lbl_8027E11C
lbl_8027E0C8:
/* 8027E0C8 0027B028  4B FF F3 61 */	bl sub_8027d428
/* 8027E0CC 0027B02C  90 7F 06 F8 */	stw r3, 0x6f8(r31)
/* 8027E0D0 0027B030  38 60 00 01 */	li r3, 1
/* 8027E0D4 0027B034  90 7F 03 2C */	stw r3, 0x32c(r31)
/* 8027E0D8 0027B038  88 1F 07 0E */	lbz r0, 0x70e(r31)
/* 8027E0DC 0027B03C  50 60 3E 30 */	rlwimi r0, r3, 7, 0x18, 0x18
/* 8027E0E0 0027B040  98 1F 07 0E */	stb r0, 0x70e(r31)
/* 8027E0E4 0027B044  48 00 00 70 */	b lbl_8027E154
lbl_8027E0E8:
/* 8027E0E8 0027B048  3C A0 80 3F */	lis r5, lbl_803EB208@ha
/* 8027E0EC 0027B04C  38 C1 00 08 */	addi r6, r1, 8
/* 8027E0F0 0027B050  39 45 B2 08 */	addi r10, r5, lbl_803EB208@l
/* 8027E0F4 0027B054  38 A0 00 12 */	li r5, 0x12
/* 8027E0F8 0027B058  81 2A 00 00 */	lwz r9, 0(r10)
/* 8027E0FC 0027B05C  38 E0 00 00 */	li r7, 0
/* 8027E100 0027B060  81 0A 00 04 */	lwz r8, 4(r10)
/* 8027E104 0027B064  80 0A 00 08 */	lwz r0, 8(r10)
/* 8027E108 0027B068  91 21 00 08 */	stw r9, 8(r1)
/* 8027E10C 0027B06C  91 01 00 0C */	stw r8, 0xc(r1)
/* 8027E110 0027B070  90 01 00 10 */	stw r0, 0x10(r1)
/* 8027E114 0027B074  4B DF E6 A1 */	bl TryCommand__10CPatternedFR13CStateManageriM10CPatternedFR13CStateManageri_vi
/* 8027E118 0027B078  48 00 00 3C */	b lbl_8027E154
lbl_8027E11C:
/* 8027E11C 0027B07C  88 1F 07 0E */	lbz r0, 0x70e(r31)
/* 8027E120 0027B080  38 60 00 00 */	li r3, 0
/* 8027E124 0027B084  50 60 3E 30 */	rlwimi r0, r3, 7, 0x18, 0x18
/* 8027E128 0027B088  98 1F 07 0E */	stb r0, 0x70e(r31)
/* 8027E12C 0027B08C  88 1F 07 0E */	lbz r0, 0x70e(r31)
/* 8027E130 0027B090  50 60 26 F6 */	rlwimi r0, r3, 4, 0x1b, 0x1b
/* 8027E134 0027B094  98 1F 07 0E */	stb r0, 0x70e(r31)
/* 8027E138 0027B098  88 1F 07 0E */	lbz r0, 0x70e(r31)
/* 8027E13C 0027B09C  50 60 17 7A */	rlwimi r0, r3, 2, 0x1d, 0x1d
/* 8027E140 0027B0A0  98 1F 07 0E */	stb r0, 0x70e(r31)
/* 8027E144 0027B0A4  88 1F 07 0E */	lbz r0, 0x70e(r31)
/* 8027E148 0027B0A8  50 60 0F BC */	rlwimi r0, r3, 1, 0x1e, 0x1e
/* 8027E14C 0027B0AC  98 1F 07 0E */	stb r0, 0x70e(r31)
/* 8027E150 0027B0B0  90 7F 03 2C */	stw r3, 0x32c(r31)
lbl_8027E154:
/* 8027E154 0027B0B4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027E158 0027B0B8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8027E15C 0027B0BC  7C 08 03 A6 */	mtlr r0
/* 8027E160 0027B0C0  38 21 00 20 */	addi r1, r1, 0x20
/* 8027E164 0027B0C4  4E 80 00 20 */	blr

.global TelegraphAttack__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
TelegraphAttack__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf:
/* 8027E168 0027B0C8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8027E16C 0027B0CC  7C 08 02 A6 */	mflr r0
/* 8027E170 0027B0D0  2C 05 00 01 */	cmpwi r5, 1
/* 8027E174 0027B0D4  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027E178 0027B0D8  41 82 00 38 */	beq lbl_8027E1B0
/* 8027E17C 0027B0DC  40 80 00 10 */	bge lbl_8027E18C
/* 8027E180 0027B0E0  2C 05 00 00 */	cmpwi r5, 0
/* 8027E184 0027B0E4  40 80 00 14 */	bge lbl_8027E198
/* 8027E188 0027B0E8  48 00 00 B8 */	b lbl_8027E240
lbl_8027E18C:
/* 8027E18C 0027B0EC  2C 05 00 03 */	cmpwi r5, 3
/* 8027E190 0027B0F0  40 80 00 B0 */	bge lbl_8027E240
/* 8027E194 0027B0F4  48 00 00 90 */	b lbl_8027E224
lbl_8027E198:
/* 8027E198 0027B0F8  38 80 00 01 */	li r4, 1
/* 8027E19C 0027B0FC  90 83 03 2C */	stw r4, 0x32c(r3)
/* 8027E1A0 0027B100  88 03 07 0E */	lbz r0, 0x70e(r3)
/* 8027E1A4 0027B104  50 80 0F BC */	rlwimi r0, r4, 1, 0x1e, 0x1e
/* 8027E1A8 0027B108  98 03 07 0E */	stb r0, 0x70e(r3)
/* 8027E1AC 0027B10C  48 00 00 94 */	b lbl_8027E240
lbl_8027E1B0:
/* 8027E1B0 0027B110  88 03 07 0E */	lbz r0, 0x70e(r3)
/* 8027E1B4 0027B114  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 8027E1B8 0027B118  41 82 00 38 */	beq lbl_8027E1F0
/* 8027E1BC 0027B11C  3C A0 80 3F */	lis r5, lbl_803EB1F0@ha
/* 8027E1C0 0027B120  38 C1 00 14 */	addi r6, r1, 0x14
/* 8027E1C4 0027B124  39 45 B1 F0 */	addi r10, r5, lbl_803EB1F0@l
/* 8027E1C8 0027B128  38 A0 00 12 */	li r5, 0x12
/* 8027E1CC 0027B12C  81 2A 00 00 */	lwz r9, 0(r10)
/* 8027E1D0 0027B130  38 E0 00 05 */	li r7, 5
/* 8027E1D4 0027B134  81 0A 00 04 */	lwz r8, 4(r10)
/* 8027E1D8 0027B138  80 0A 00 08 */	lwz r0, 8(r10)
/* 8027E1DC 0027B13C  91 21 00 14 */	stw r9, 0x14(r1)
/* 8027E1E0 0027B140  91 01 00 18 */	stw r8, 0x18(r1)
/* 8027E1E4 0027B144  90 01 00 1C */	stw r0, 0x1c(r1)
/* 8027E1E8 0027B148  4B DF E5 CD */	bl TryCommand__10CPatternedFR13CStateManageriM10CPatternedFR13CStateManageri_vi
/* 8027E1EC 0027B14C  48 00 00 54 */	b lbl_8027E240
lbl_8027E1F0:
/* 8027E1F0 0027B150  3C A0 80 3F */	lis r5, lbl_803EB1FC@ha
/* 8027E1F4 0027B154  38 C1 00 08 */	addi r6, r1, 8
/* 8027E1F8 0027B158  39 45 B1 FC */	addi r10, r5, lbl_803EB1FC@l
/* 8027E1FC 0027B15C  38 A0 00 07 */	li r5, 7
/* 8027E200 0027B160  81 2A 00 00 */	lwz r9, 0(r10)
/* 8027E204 0027B164  38 E0 00 02 */	li r7, 2
/* 8027E208 0027B168  81 0A 00 04 */	lwz r8, 4(r10)
/* 8027E20C 0027B16C  80 0A 00 08 */	lwz r0, 8(r10)
/* 8027E210 0027B170  91 21 00 08 */	stw r9, 8(r1)
/* 8027E214 0027B174  91 01 00 0C */	stw r8, 0xc(r1)
/* 8027E218 0027B178  90 01 00 10 */	stw r0, 0x10(r1)
/* 8027E21C 0027B17C  4B DF E5 99 */	bl TryCommand__10CPatternedFR13CStateManageriM10CPatternedFR13CStateManageri_vi
/* 8027E220 0027B180  48 00 00 20 */	b lbl_8027E240
lbl_8027E224:
/* 8027E224 0027B184  38 80 00 00 */	li r4, 0
/* 8027E228 0027B188  C0 22 BD 3C */	lfs f1, lbl_805ADA5C@sda21(r2)
/* 8027E22C 0027B18C  90 83 03 2C */	stw r4, 0x32c(r3)
/* 8027E230 0027B190  88 03 07 0E */	lbz r0, 0x70e(r3)
/* 8027E234 0027B194  50 80 0F BC */	rlwimi r0, r4, 1, 0x1e, 0x1e
/* 8027E238 0027B198  98 03 07 0E */	stb r0, 0x70e(r3)
/* 8027E23C 0027B19C  4B FF EC 21 */	bl sub_8027ce5c
lbl_8027E240:
/* 8027E240 0027B1A0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027E244 0027B1A4  7C 08 03 A6 */	mtlr r0
/* 8027E248 0027B1A8  38 21 00 20 */	addi r1, r1, 0x20
/* 8027E24C 0027B1AC  4E 80 00 20 */	blr

.global Generate__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf
Generate__20CMetroidPrimeEssenceFR13CStateManager9EStateMsgf:
/* 8027E250 0027B1B0  94 21 FF 60 */	stwu r1, -0xa0(r1)
/* 8027E254 0027B1B4  7C 08 02 A6 */	mflr r0
/* 8027E258 0027B1B8  2C 05 00 01 */	cmpwi r5, 1
/* 8027E25C 0027B1BC  90 01 00 A4 */	stw r0, 0xa4(r1)
/* 8027E260 0027B1C0  93 E1 00 9C */	stw r31, 0x9c(r1)
/* 8027E264 0027B1C4  7C 9F 23 78 */	mr r31, r4
/* 8027E268 0027B1C8  93 C1 00 98 */	stw r30, 0x98(r1)
/* 8027E26C 0027B1CC  7C 7E 1B 78 */	mr r30, r3
/* 8027E270 0027B1D0  41 82 01 18 */	beq lbl_8027E388
/* 8027E274 0027B1D4  40 80 00 10 */	bge lbl_8027E284
/* 8027E278 0027B1D8  2C 05 00 00 */	cmpwi r5, 0
/* 8027E27C 0027B1DC  40 80 00 14 */	bge lbl_8027E290
/* 8027E280 0027B1E0  48 00 01 08 */	b lbl_8027E388
lbl_8027E284:
/* 8027E284 0027B1E4  2C 05 00 03 */	cmpwi r5, 3
/* 8027E288 0027B1E8  40 80 01 00 */	bge lbl_8027E388
/* 8027E28C 0027B1EC  48 00 00 BC */	b lbl_8027E348
lbl_8027E290:
/* 8027E290 0027B1F0  80 BF 08 4C */	lwz r5, 0x84c(r31)
/* 8027E294 0027B1F4  3C 60 80 5A */	lis r3, sUpVector__9CVector3f@ha
/* 8027E298 0027B1F8  38 C3 66 F4 */	addi r6, r3, sUpVector__9CVector3f@l
/* 8027E29C 0027B1FC  38 81 00 10 */	addi r4, r1, 0x10
/* 8027E2A0 0027B200  C0 45 00 60 */	lfs f2, 0x60(r5)
/* 8027E2A4 0027B204  38 61 00 34 */	addi r3, r1, 0x34
/* 8027E2A8 0027B208  C0 25 00 50 */	lfs f1, 0x50(r5)
/* 8027E2AC 0027B20C  C0 05 00 40 */	lfs f0, 0x40(r5)
/* 8027E2B0 0027B210  38 A1 00 28 */	addi r5, r1, 0x28
/* 8027E2B4 0027B214  D0 01 00 28 */	stfs f0, 0x28(r1)
/* 8027E2B8 0027B218  D0 21 00 2C */	stfs f1, 0x2c(r1)
/* 8027E2BC 0027B21C  D0 41 00 30 */	stfs f2, 0x30(r1)
/* 8027E2C0 0027B220  C0 5E 00 60 */	lfs f2, 0x60(r30)
/* 8027E2C4 0027B224  C0 3E 00 50 */	lfs f1, 0x50(r30)
/* 8027E2C8 0027B228  C0 1E 00 40 */	lfs f0, 0x40(r30)
/* 8027E2CC 0027B22C  D0 21 00 20 */	stfs f1, 0x20(r1)
/* 8027E2D0 0027B230  D0 01 00 1C */	stfs f0, 0x1c(r1)
/* 8027E2D4 0027B234  D0 41 00 24 */	stfs f2, 0x24(r1)
/* 8027E2D8 0027B238  D0 41 00 30 */	stfs f2, 0x30(r1)
/* 8027E2DC 0027B23C  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 8027E2E0 0027B240  D0 21 00 14 */	stfs f1, 0x14(r1)
/* 8027E2E4 0027B244  D0 41 00 18 */	stfs f2, 0x18(r1)
/* 8027E2E8 0027B248  48 09 58 29 */	bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f
/* 8027E2EC 0027B24C  38 61 00 64 */	addi r3, r1, 0x64
/* 8027E2F0 0027B250  38 81 00 34 */	addi r4, r1, 0x34
/* 8027E2F4 0027B254  48 09 48 81 */	bl __ct__12CTransform4fFRC12CTransform4f
/* 8027E2F8 0027B258  C0 5E 00 60 */	lfs f2, 0x60(r30)
/* 8027E2FC 0027B25C  38 7E 00 34 */	addi r3, r30, 0x34
/* 8027E300 0027B260  C0 3E 00 50 */	lfs f1, 0x50(r30)
/* 8027E304 0027B264  38 81 00 64 */	addi r4, r1, 0x64
/* 8027E308 0027B268  C0 1E 00 40 */	lfs f0, 0x40(r30)
/* 8027E30C 0027B26C  D0 01 00 70 */	stfs f0, 0x70(r1)
/* 8027E310 0027B270  D0 21 00 80 */	stfs f1, 0x80(r1)
/* 8027E314 0027B274  D0 41 00 90 */	stfs f2, 0x90(r1)
/* 8027E318 0027B278  48 09 48 29 */	bl __as__12CTransform4fFRC12CTransform4f
/* 8027E31C 0027B27C  88 1E 00 E4 */	lbz r0, 0xe4(r30)
/* 8027E320 0027B280  38 60 00 01 */	li r3, 1
/* 8027E324 0027B284  50 60 26 F6 */	rlwimi r0, r3, 4, 0x1b, 0x1b
/* 8027E328 0027B288  98 1E 00 E4 */	stb r0, 0xe4(r30)
/* 8027E32C 0027B28C  88 1E 00 E4 */	lbz r0, 0xe4(r30)
/* 8027E330 0027B290  50 60 1F 38 */	rlwimi r0, r3, 3, 0x1c, 0x1c
/* 8027E334 0027B294  98 1E 00 E4 */	stb r0, 0xe4(r30)
/* 8027E338 0027B298  88 1E 00 E4 */	lbz r0, 0xe4(r30)
/* 8027E33C 0027B29C  50 60 17 7A */	rlwimi r0, r3, 2, 0x1d, 0x1d
/* 8027E340 0027B2A0  98 1E 00 E4 */	stb r0, 0xe4(r30)
/* 8027E344 0027B2A4  48 00 00 44 */	b lbl_8027E388
lbl_8027E348:
/* 8027E348 0027B2A8  81 83 00 00 */	lwz r12, 0(r3)
/* 8027E34C 0027B2AC  81 8C 00 34 */	lwz r12, 0x34(r12)
/* 8027E350 0027B2B0  7D 89 03 A6 */	mtctr r12
/* 8027E354 0027B2B4  4E 80 04 21 */	bctrl
/* 8027E358 0027B2B8  C0 23 00 00 */	lfs f1, 0(r3)
/* 8027E35C 0027B2BC  7F E3 FB 78 */	mr r3, r31
/* 8027E360 0027B2C0  A0 1E 00 08 */	lhz r0, 8(r30)
/* 8027E364 0027B2C4  38 81 00 0C */	addi r4, r1, 0xc
/* 8027E368 0027B2C8  38 A0 00 5B */	li r5, 0x5b
/* 8027E36C 0027B2CC  B0 01 00 08 */	sth r0, 8(r1)
/* 8027E370 0027B2D0  B0 01 00 0C */	sth r0, 0xc(r1)
/* 8027E374 0027B2D4  4B DC 5B D1 */	bl SetBossParams__13CStateManagerF9TUniqueIdfUi
/* 8027E378 0027B2D8  7F C3 F3 78 */	mr r3, r30
/* 8027E37C 0027B2DC  7F E4 FB 78 */	mr r4, r31
/* 8027E380 0027B2E0  38 A0 00 01 */	li r5, 1
/* 8027E384 0027B2E4  4B FF F4 0D */	bl sub_8027d790
lbl_8027E388:
/* 8027E388 0027B2E8  80 01 00 A4 */	lwz r0, 0xa4(r1)
/* 8027E38C 0027B2EC  83 E1 00 9C */	lwz r31, 0x9c(r1)
/* 8027E390 0027B2F0  83 C1 00 98 */	lwz r30, 0x98(r1)
/* 8027E394 0027B2F4  7C 08 03 A6 */	mtlr r0
/* 8027E398 0027B2F8  38 21 00 A0 */	addi r1, r1, 0xa0
/* 8027E39C 0027B2FC  4E 80 00 20 */	blr

.global AddToRenderer__20CMetroidPrimeEssenceCFRC14CFrustumPlanesRC13CStateManager
AddToRenderer__20CMetroidPrimeEssenceCFRC14CFrustumPlanesRC13CStateManager:
/* 8027E3A0 0027B300  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8027E3A4 0027B304  7C 08 02 A6 */	mflr r0
/* 8027E3A8 0027B308  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027E3AC 0027B30C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8027E3B0 0027B310  7C BF 2B 78 */	mr r31, r5
/* 8027E3B4 0027B314  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8027E3B8 0027B318  7C 9E 23 78 */	mr r30, r4
/* 8027E3BC 0027B31C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8027E3C0 0027B320  7C 7D 1B 78 */	mr r29, r3
/* 8027E3C4 0027B324  88 03 00 30 */	lbz r0, 0x30(r3)
/* 8027E3C8 0027B328  54 00 CF FF */	rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8027E3CC 0027B32C  41 82 00 24 */	beq lbl_8027E3F0
/* 8027E3D0 0027B330  80 9D 06 5C */	lwz r4, 0x65c(r29)
/* 8027E3D4 0027B334  28 04 00 00 */	cmplwi r4, 0
/* 8027E3D8 0027B338  41 82 00 18 */	beq lbl_8027E3F0
/* 8027E3DC 0027B33C  80 6D A0 68 */	lwz r3, gpRender@sda21(r13)
/* 8027E3E0 0027B340  81 83 00 00 */	lwz r12, 0(r3)
/* 8027E3E4 0027B344  81 8C 00 34 */	lwz r12, 0x34(r12)
/* 8027E3E8 0027B348  7D 89 03 A6 */	mtctr r12
/* 8027E3EC 0027B34C  4E 80 04 21 */	bctrl
lbl_8027E3F0:
/* 8027E3F0 0027B350  7F A3 EB 78 */	mr r3, r29
/* 8027E3F4 0027B354  7F C4 F3 78 */	mr r4, r30
/* 8027E3F8 0027B358  7F E5 FB 78 */	mr r5, r31
/* 8027E3FC 0027B35C  4B DF 94 BD */	bl AddToRenderer__10CPatternedCFRC14CFrustumPlanesRC13CStateManager
/* 8027E400 0027B360  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027E404 0027B364  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8027E408 0027B368  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8027E40C 0027B36C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8027E410 0027B370  7C 08 03 A6 */	mtlr r0
/* 8027E414 0027B374  38 21 00 20 */	addi r1, r1, 0x20
/* 8027E418 0027B378  4E 80 00 20 */	blr

.global GetAimPosition__20CMetroidPrimeEssenceCFRC13CStateManagerf
GetAimPosition__20CMetroidPrimeEssenceCFRC13CStateManagerf:
/* 8027E41C 0027B37C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8027E420 0027B380  7C 08 02 A6 */	mflr r0
/* 8027E424 0027B384  90 01 00 44 */	stw r0, 0x44(r1)
/* 8027E428 0027B388  DB E1 00 30 */	stfd f31, 0x30(r1)
/* 8027E42C 0027B38C  F3 E1 00 38 */	psq_st f31, 56(r1), 0, qr0
/* 8027E430 0027B390  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8027E434 0027B394  93 C1 00 28 */	stw r30, 0x28(r1)
/* 8027E438 0027B398  93 A1 00 24 */	stw r29, 0x24(r1)
/* 8027E43C 0027B39C  7C 9E 23 78 */	mr r30, r4
/* 8027E440 0027B3A0  FF E0 08 90 */	fmr f31, f1
/* 8027E444 0027B3A4  A0 04 07 06 */	lhz r0, 0x706(r4)
/* 8027E448 0027B3A8  7C BF 2B 78 */	mr r31, r5
/* 8027E44C 0027B3AC  7C 7D 1B 78 */	mr r29, r3
/* 8027E450 0027B3B0  38 81 00 08 */	addi r4, r1, 8
/* 8027E454 0027B3B4  B0 01 00 08 */	sth r0, 8(r1)
/* 8027E458 0027B3B8  7F E3 FB 78 */	mr r3, r31
/* 8027E45C 0027B3BC  4B DC E1 49 */	bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8027E460 0027B3C0  7C 64 1B 78 */	mr r4, r3
/* 8027E464 0027B3C4  38 61 00 0C */	addi r3, r1, 0xc
/* 8027E468 0027B3C8  4B E3 0E E5 */	bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity"
/* 8027E46C 0027B3CC  80 63 00 04 */	lwz r3, 4(r3)
/* 8027E470 0027B3D0  28 03 00 00 */	cmplwi r3, 0
/* 8027E474 0027B3D4  41 82 00 20 */	beq lbl_8027E494
/* 8027E478 0027B3D8  C0 43 00 60 */	lfs f2, 0x60(r3)
/* 8027E47C 0027B3DC  C0 23 00 50 */	lfs f1, 0x50(r3)
/* 8027E480 0027B3E0  C0 03 00 40 */	lfs f0, 0x40(r3)
/* 8027E484 0027B3E4  D0 1D 00 00 */	stfs f0, 0(r29)
/* 8027E488 0027B3E8  D0 3D 00 04 */	stfs f1, 4(r29)
/* 8027E48C 0027B3EC  D0 5D 00 08 */	stfs f2, 8(r29)
/* 8027E490 0027B3F0  48 00 00 18 */	b lbl_8027E4A8
lbl_8027E494:
/* 8027E494 0027B3F4  FC 20 F8 90 */	fmr f1, f31
/* 8027E498 0027B3F8  7F A3 EB 78 */	mr r3, r29
/* 8027E49C 0027B3FC  7F C4 F3 78 */	mr r4, r30
/* 8027E4A0 0027B400  7F E5 FB 78 */	mr r5, r31
/* 8027E4A4 0027B404  4B DF A1 45 */	bl GetAimPosition__10CPatternedCFRC13CStateManagerf
lbl_8027E4A8:
/* 8027E4A8 0027B408  E3 E1 00 38 */	psq_l f31, 56(r1), 0, qr0
/* 8027E4AC 0027B40C  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8027E4B0 0027B410  CB E1 00 30 */	lfd f31, 0x30(r1)
/* 8027E4B4 0027B414  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 8027E4B8 0027B418  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 8027E4BC 0027B41C  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 8027E4C0 0027B420  7C 08 03 A6 */	mtlr r0
/* 8027E4C4 0027B424  38 21 00 40 */	addi r1, r1, 0x40
/* 8027E4C8 0027B428  4E 80 00 20 */	blr

.global DoUserAnimEvent__20CMetroidPrimeEssenceFR13CStateManagerRC13CInt32POINode14EUserEventType
DoUserAnimEvent__20CMetroidPrimeEssenceFR13CStateManagerRC13CInt32POINode14EUserEventType:
/* 8027E4CC 0027B42C  94 21 FE D0 */	stwu r1, -0x130(r1)
/* 8027E4D0 0027B430  7C 08 02 A6 */	mflr r0
/* 8027E4D4 0027B434  90 01 01 34 */	stw r0, 0x134(r1)
/* 8027E4D8 0027B438  DB E1 01 20 */	stfd f31, 0x120(r1)
/* 8027E4DC 0027B43C  F3 E1 01 28 */	psq_st f31, 296(r1), 0, qr0
/* 8027E4E0 0027B440  DB C1 01 10 */	stfd f30, 0x110(r1)
/* 8027E4E4 0027B444  F3 C1 01 18 */	psq_st f30, 280(r1), 0, qr0
/* 8027E4E8 0027B448  DB A1 01 00 */	stfd f29, 0x100(r1)
/* 8027E4EC 0027B44C  F3 A1 01 08 */	psq_st f29, 264(r1), 0, qr0
/* 8027E4F0 0027B450  DB 81 00 F0 */	stfd f28, 0xf0(r1)
/* 8027E4F4 0027B454  F3 81 00 F8 */	psq_st f28, 248(r1), 0, qr0
/* 8027E4F8 0027B458  DB 61 00 E0 */	stfd f27, 0xe0(r1)
/* 8027E4FC 0027B45C  F3 61 00 E8 */	psq_st f27, 232(r1), 0, qr0
/* 8027E500 0027B460  BF 61 00 CC */	stmw r27, 0xcc(r1)
/* 8027E504 0027B464  7C DF 33 78 */	mr r31, r6
/* 8027E508 0027B468  FF E0 08 90 */	fmr f31, f1
/* 8027E50C 0027B46C  28 1F 00 1E */	cmplwi r31, 0x1e
/* 8027E510 0027B470  7C 7C 1B 78 */	mr r28, r3
/* 8027E514 0027B474  7C 9D 23 78 */	mr r29, r4
/* 8027E518 0027B478  7C BE 2B 78 */	mr r30, r5
/* 8027E51C 0027B47C  38 C0 00 00 */	li r6, 0
/* 8027E520 0027B480  41 81 02 F4 */	bgt lbl_8027E814
/* 8027E524 0027B484  3C A0 80 3F */	lis r5, lbl_803EB510@ha
/* 8027E528 0027B488  57 E0 10 3A */	slwi r0, r31, 2
/* 8027E52C 0027B48C  38 A5 B5 10 */	addi r5, r5, lbl_803EB510@l
/* 8027E530 0027B490  7C 05 00 2E */	lwzx r0, r5, r0
/* 8027E534 0027B494  7C 09 03 A6 */	mtctr r0
/* 8027E538 0027B498  4E 80 04 20 */	bctr
.global lbl_8027E53C
lbl_8027E53C:
/* 8027E53C 0027B49C  88 1C 07 0E */	lbz r0, 0x70e(r28)
/* 8027E540 0027B4A0  54 00 07 FE */	clrlwi r0, r0, 0x1f
/* 8027E544 0027B4A4  28 00 00 01 */	cmplwi r0, 1
/* 8027E548 0027B4A8  41 82 00 24 */	beq lbl_8027E56C
/* 8027E54C 0027B4AC  7F A5 EB 78 */	mr r5, r29
/* 8027E550 0027B4B0  38 80 00 10 */	li r4, 0x10
/* 8027E554 0027B4B4  38 C0 FF FF */	li r6, -1
/* 8027E558 0027B4B8  4B DD 2B 69 */	bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 8027E55C 0027B4BC  88 1C 07 0E */	lbz r0, 0x70e(r28)
/* 8027E560 0027B4C0  38 60 00 01 */	li r3, 1
/* 8027E564 0027B4C4  50 60 07 FE */	rlwimi r0, r3, 0, 0x1f, 0x1f
/* 8027E568 0027B4C8  98 1C 07 0E */	stb r0, 0x70e(r28)
lbl_8027E56C:
/* 8027E56C 0027B4CC  38 C0 00 01 */	li r6, 1
/* 8027E570 0027B4D0  48 00 02 A4 */	b lbl_8027E814
.global lbl_8027E574
lbl_8027E574:
/* 8027E574 0027B4D4  A0 DC 07 0C */	lhz r6, 0x70c(r28)
/* 8027E578 0027B4D8  38 00 00 08 */	li r0, 8
/* 8027E57C 0027B4DC  81 1C 06 64 */	lwz r8, 0x664(r28)
/* 8027E580 0027B4E0  38 A1 00 74 */	addi r5, r1, 0x74
/* 8027E584 0027B4E4  80 FC 06 60 */	lwz r7, 0x660(r28)
/* 8027E588 0027B4E8  C0 62 BD 10 */	lfs f3, lbl_805ADA30@sda21(r2)
/* 8027E58C 0027B4EC  90 01 00 74 */	stw r0, 0x74(r1)
/* 8027E590 0027B4F0  C0 42 BD 2C */	lfs f2, lbl_805ADA4C@sda21(r2)
/* 8027E594 0027B4F4  90 E1 00 78 */	stw r7, 0x78(r1)
/* 8027E598 0027B4F8  C0 22 BD 38 */	lfs f1, lbl_805ADA58@sda21(r2)
/* 8027E59C 0027B4FC  80 1C 06 98 */	lwz r0, 0x698(r28)
/* 8027E5A0 0027B500  C0 02 BD 54 */	lfs f0, lbl_805ADA74@sda21(r2)
/* 8027E5A4 0027B504  90 01 00 7C */	stw r0, 0x7c(r1)
/* 8027E5A8 0027B508  88 1C 06 9C */	lbz r0, 0x69c(r28)
/* 8027E5AC 0027B50C  98 01 00 80 */	stb r0, 0x80(r1)
/* 8027E5B0 0027B510  C0 9C 06 A0 */	lfs f4, 0x6a0(r28)
/* 8027E5B4 0027B514  D0 81 00 84 */	stfs f4, 0x84(r1)
/* 8027E5B8 0027B518  C0 9C 06 A4 */	lfs f4, 0x6a4(r28)
/* 8027E5BC 0027B51C  D0 81 00 88 */	stfs f4, 0x88(r1)
/* 8027E5C0 0027B520  C0 9C 06 A8 */	lfs f4, 0x6a8(r28)
/* 8027E5C4 0027B524  D0 81 00 8C */	stfs f4, 0x8c(r1)
/* 8027E5C8 0027B528  C0 9C 06 AC */	lfs f4, 0x6ac(r28)
/* 8027E5CC 0027B52C  D0 81 00 90 */	stfs f4, 0x90(r1)
/* 8027E5D0 0027B530  88 1C 06 B0 */	lbz r0, 0x6b0(r28)
/* 8027E5D4 0027B534  98 01 00 94 */	stb r0, 0x94(r1)
/* 8027E5D8 0027B538  D0 61 00 98 */	stfs f3, 0x98(r1)
/* 8027E5DC 0027B53C  D0 41 00 9C */	stfs f2, 0x9c(r1)
/* 8027E5E0 0027B540  D0 21 00 A0 */	stfs f1, 0xa0(r1)
/* 8027E5E4 0027B544  D0 01 00 A4 */	stfs f0, 0xa4(r1)
/* 8027E5E8 0027B548  91 01 00 A8 */	stw r8, 0xa8(r1)
/* 8027E5EC 0027B54C  B0 C1 00 AC */	sth r6, 0xac(r1)
/* 8027E5F0 0027B550  4B FF EF 3D */	bl sub_8027d52c
/* 8027E5F4 0027B554  C0 22 BD 3C */	lfs f1, lbl_805ADA5C@sda21(r2)
/* 8027E5F8 0027B558  7F 83 E3 78 */	mr r3, r28
/* 8027E5FC 0027B55C  7F A4 EB 78 */	mr r4, r29
/* 8027E600 0027B560  4B FF EE 31 */	bl sub_8027d430
/* 8027E604 0027B564  38 C0 00 01 */	li r6, 1
/* 8027E608 0027B568  48 00 02 0C */	b lbl_8027E814
.global lbl_8027E60C
lbl_8027E60C:
/* 8027E60C 0027B56C  4B FF F2 19 */	bl sub_8027d824
/* 8027E610 0027B570  38 C0 00 01 */	li r6, 1
/* 8027E614 0027B574  48 00 02 00 */	b lbl_8027E814
.global lbl_8027E618
lbl_8027E618:
/* 8027E618 0027B578  88 1C 07 0E */	lbz r0, 0x70e(r28)
/* 8027E61C 0027B57C  54 00 F7 FF */	rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 8027E620 0027B580  41 82 01 DC */	beq lbl_8027E7FC
/* 8027E624 0027B584  80 1C 06 D8 */	lwz r0, 0x6d8(r28)
/* 8027E628 0027B588  2C 00 00 00 */	cmpwi r0, 0
/* 8027E62C 0027B58C  41 82 01 D0 */	beq lbl_8027E7FC
/* 8027E630 0027B590  80 7C 06 E4 */	lwz r3, 0x6e4(r28)
/* 8027E634 0027B594  80 1C 06 F8 */	lwz r0, 0x6f8(r28)
/* 8027E638 0027B598  7C 03 00 00 */	cmpw r3, r0
/* 8027E63C 0027B59C  40 80 01 C0 */	bge lbl_8027E7FC
/* 8027E640 0027B5A0  80 7D 09 00 */	lwz r3, 0x900(r29)
/* 8027E644 0027B5A4  38 80 FF FF */	li r4, -1
/* 8027E648 0027B5A8  38 A0 00 01 */	li r5, 1
/* 8027E64C 0027B5AC  48 09 3F 49 */	bl Range__9CRandom16Fii
/* 8027E650 0027B5B0  6C 63 80 00 */	xoris r3, r3, 0x8000
/* 8027E654 0027B5B4  3C 00 43 30 */	lis r0, 0x4330
/* 8027E658 0027B5B8  90 61 00 B4 */	stw r3, 0xb4(r1)
/* 8027E65C 0027B5BC  38 80 FF FF */	li r4, -1
/* 8027E660 0027B5C0  C8 42 BD 20 */	lfd f2, lbl_805ADA40@sda21(r2)
/* 8027E664 0027B5C4  38 A0 00 01 */	li r5, 1
/* 8027E668 0027B5C8  90 01 00 B0 */	stw r0, 0xb0(r1)
/* 8027E66C 0027B5CC  C0 02 BD 58 */	lfs f0, lbl_805ADA78@sda21(r2)
/* 8027E670 0027B5D0  C8 21 00 B0 */	lfd f1, 0xb0(r1)
/* 8027E674 0027B5D4  80 7D 09 00 */	lwz r3, 0x900(r29)
/* 8027E678 0027B5D8  EC 21 10 28 */	fsubs f1, f1, f2
/* 8027E67C 0027B5DC  EF C0 00 72 */	fmuls f30, f0, f1
/* 8027E680 0027B5E0  48 09 3F 15 */	bl Range__9CRandom16Fii
/* 8027E684 0027B5E4  6C 63 80 00 */	xoris r3, r3, 0x8000
/* 8027E688 0027B5E8  3C 00 43 30 */	lis r0, 0x4330
/* 8027E68C 0027B5EC  90 61 00 BC */	stw r3, 0xbc(r1)
/* 8027E690 0027B5F0  FC 20 F0 90 */	fmr f1, f30
/* 8027E694 0027B5F4  C8 62 BD 20 */	lfd f3, lbl_805ADA40@sda21(r2)
/* 8027E698 0027B5F8  90 01 00 B8 */	stw r0, 0xb8(r1)
/* 8027E69C 0027B5FC  C0 02 BD 5C */	lfs f0, lbl_805ADA7C@sda21(r2)
/* 8027E6A0 0027B600  C8 41 00 B8 */	lfd f2, 0xb8(r1)
/* 8027E6A4 0027B604  EC 42 18 28 */	fsubs f2, f2, f3
/* 8027E6A8 0027B608  EF 80 00 B2 */	fmuls f28, f0, f2
/* 8027E6AC 0027B60C  48 09 66 99 */	bl FastCosR__5CMathFf
/* 8027E6B0 0027B610  C0 02 BD 38 */	lfs f0, lbl_805ADA58@sda21(r2)
/* 8027E6B4 0027B614  EF 60 00 72 */	fmuls f27, f0, f1
/* 8027E6B8 0027B618  FC 20 E0 90 */	fmr f1, f28
/* 8027E6BC 0027B61C  48 09 66 89 */	bl FastCosR__5CMathFf
/* 8027E6C0 0027B620  EF BB 00 72 */	fmuls f29, f27, f1
/* 8027E6C4 0027B624  FC 20 F0 90 */	fmr f1, f30
/* 8027E6C8 0027B628  48 09 67 29 */	bl FastSinR__5CMathFf
/* 8027E6CC 0027B62C  FF C0 08 50 */	fneg f30, f1
/* 8027E6D0 0027B630  FC 20 E0 90 */	fmr f1, f28
/* 8027E6D4 0027B634  48 09 67 1D */	bl FastSinR__5CMathFf
/* 8027E6D8 0027B638  EC 5B 00 72 */	fmuls f2, f27, f1
/* 8027E6DC 0027B63C  C0 02 BD 38 */	lfs f0, lbl_805ADA58@sda21(r2)
/* 8027E6E0 0027B640  38 61 00 2C */	addi r3, r1, 0x2c
/* 8027E6E4 0027B644  38 9C 06 68 */	addi r4, r28, 0x668
/* 8027E6E8 0027B648  EC 20 07 B2 */	fmuls f1, f0, f30
/* 8027E6EC 0027B64C  38 A1 00 20 */	addi r5, r1, 0x20
/* 8027E6F0 0027B650  EC 40 00 B2 */	fmuls f2, f0, f2
/* 8027E6F4 0027B654  EC 00 07 72 */	fmuls f0, f0, f29
/* 8027E6F8 0027B658  D0 21 00 24 */	stfs f1, 0x24(r1)
/* 8027E6FC 0027B65C  D0 41 00 20 */	stfs f2, 0x20(r1)
/* 8027E700 0027B660  D0 01 00 28 */	stfs f0, 0x28(r1)
/* 8027E704 0027B664  48 09 43 E5 */	bl __ml__12CTransform4fCFRC9CVector3f
/* 8027E708 0027B668  C0 41 00 2C */	lfs f2, 0x2c(r1)
/* 8027E70C 0027B66C  7F A3 EB 78 */	mr r3, r29
/* 8027E710 0027B670  C0 21 00 30 */	lfs f1, 0x30(r1)
/* 8027E714 0027B674  38 81 00 08 */	addi r4, r1, 8
/* 8027E718 0027B678  C0 01 00 34 */	lfs f0, 0x34(r1)
/* 8027E71C 0027B67C  D0 41 00 38 */	stfs f2, 0x38(r1)
/* 8027E720 0027B680  D0 21 00 3C */	stfs f1, 0x3c(r1)
/* 8027E724 0027B684  D0 01 00 40 */	stfs f0, 0x40(r1)
/* 8027E728 0027B688  A0 1C 07 04 */	lhz r0, 0x704(r28)
/* 8027E72C 0027B68C  B0 01 00 08 */	sth r0, 8(r1)
/* 8027E730 0027B690  4B DC DE 45 */	bl ObjectById__13CStateManagerF9TUniqueId
/* 8027E734 0027B694  7C 64 1B 78 */	mr r4, r3
/* 8027E738 0027B698  38 61 00 0C */	addi r3, r1, 0xc
/* 8027E73C 0027B69C  4B E2 7E 11 */	bl "__ct__29TCastToPtr<15CScriptWaypoint>FP7CEntity"
/* 8027E740 0027B6A0  83 63 00 04 */	lwz r27, 4(r3)
/* 8027E744 0027B6A4  28 1B 00 00 */	cmplwi r27, 0
/* 8027E748 0027B6A8  41 82 00 B4 */	beq lbl_8027E7FC
/* 8027E74C 0027B6AC  80 9D 08 4C */	lwz r4, 0x84c(r29)
/* 8027E750 0027B6B0  7F A5 EB 78 */	mr r5, r29
/* 8027E754 0027B6B4  38 61 00 14 */	addi r3, r1, 0x14
/* 8027E758 0027B6B8  C0 22 BD 10 */	lfs f1, lbl_805ADA30@sda21(r2)
/* 8027E75C 0027B6BC  81 84 00 00 */	lwz r12, 0(r4)
/* 8027E760 0027B6C0  81 8C 00 4C */	lwz r12, 0x4c(r12)
/* 8027E764 0027B6C4  7D 89 03 A6 */	mtctr r12
/* 8027E768 0027B6C8  4E 80 04 21 */	bctrl
/* 8027E76C 0027B6CC  3C 80 80 5A */	lis r4, sUpVector__9CVector3f@ha
/* 8027E770 0027B6D0  38 61 00 44 */	addi r3, r1, 0x44
/* 8027E774 0027B6D4  38 C4 66 F4 */	addi r6, r4, sUpVector__9CVector3f@l
/* 8027E778 0027B6D8  38 A1 00 14 */	addi r5, r1, 0x14
/* 8027E77C 0027B6DC  38 81 00 38 */	addi r4, r1, 0x38
/* 8027E780 0027B6E0  48 09 53 91 */	bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f
/* 8027E784 0027B6E4  38 7B 00 34 */	addi r3, r27, 0x34
/* 8027E788 0027B6E8  38 81 00 44 */	addi r4, r1, 0x44
/* 8027E78C 0027B6EC  48 09 43 B5 */	bl __as__12CTransform4fFRC12CTransform4f
/* 8027E790 0027B6F0  88 1B 00 E4 */	lbz r0, 0xe4(r27)
/* 8027E794 0027B6F4  38 C0 00 01 */	li r6, 1
/* 8027E798 0027B6F8  50 C0 26 F6 */	rlwimi r0, r6, 4, 0x1b, 0x1b
/* 8027E79C 0027B6FC  7F 83 E3 78 */	mr r3, r28
/* 8027E7A0 0027B700  98 1B 00 E4 */	stb r0, 0xe4(r27)
/* 8027E7A4 0027B704  7F A5 EB 78 */	mr r5, r29
/* 8027E7A8 0027B708  38 9B 00 34 */	addi r4, r27, 0x34
/* 8027E7AC 0027B70C  88 1B 00 E4 */	lbz r0, 0xe4(r27)
/* 8027E7B0 0027B710  50 C0 1F 38 */	rlwimi r0, r6, 3, 0x1c, 0x1c
/* 8027E7B4 0027B714  98 1B 00 E4 */	stb r0, 0xe4(r27)
/* 8027E7B8 0027B718  88 1B 00 E4 */	lbz r0, 0xe4(r27)
/* 8027E7BC 0027B71C  50 C0 17 7A */	rlwimi r0, r6, 2, 0x1d, 0x1d
/* 8027E7C0 0027B720  98 1B 00 E4 */	stb r0, 0xe4(r27)
/* 8027E7C4 0027B724  48 00 00 AD */	bl sub_8027e870
/* 8027E7C8 0027B728  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8027E7CC 0027B72C  41 82 00 30 */	beq lbl_8027E7FC
/* 8027E7D0 0027B730  7F 83 E3 78 */	mr r3, r28
/* 8027E7D4 0027B734  7F A5 EB 78 */	mr r5, r29
/* 8027E7D8 0027B738  38 80 00 09 */	li r4, 9
/* 8027E7DC 0027B73C  38 C0 FF FF */	li r6, -1
/* 8027E7E0 0027B740  4B DD 28 E1 */	bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 8027E7E4 0027B744  C0 5B 00 60 */	lfs f2, 0x60(r27)
/* 8027E7E8 0027B748  C0 3B 00 50 */	lfs f1, 0x50(r27)
/* 8027E7EC 0027B74C  C0 1B 00 40 */	lfs f0, 0x40(r27)
/* 8027E7F0 0027B750  D0 1C 06 B4 */	stfs f0, 0x6b4(r28)
/* 8027E7F4 0027B754  D0 3C 06 B8 */	stfs f1, 0x6b8(r28)
/* 8027E7F8 0027B758  D0 5C 06 BC */	stfs f2, 0x6bc(r28)
lbl_8027E7FC:
/* 8027E7FC 0027B75C  38 C0 00 01 */	li r6, 1
/* 8027E800 0027B760  48 00 00 14 */	b lbl_8027E814
.global lbl_8027E804
lbl_8027E804:
/* 8027E804 0027B764  88 1C 07 0E */	lbz r0, 0x70e(r28)
/* 8027E808 0027B768  38 60 00 00 */	li r3, 0
/* 8027E80C 0027B76C  50 60 26 F6 */	rlwimi r0, r3, 4, 0x1b, 0x1b
/* 8027E810 0027B770  98 1C 07 0E */	stb r0, 0x70e(r28)
.global lbl_8027E814
lbl_8027E814:
/* 8027E814 0027B774  54 C0 06 3F */	clrlwi. r0, r6, 0x18
/* 8027E818 0027B778  40 82 00 1C */	bne lbl_8027E834
/* 8027E81C 0027B77C  FC 20 F8 90 */	fmr f1, f31
/* 8027E820 0027B780  7F 83 E3 78 */	mr r3, r28
/* 8027E824 0027B784  7F A4 EB 78 */	mr r4, r29
/* 8027E828 0027B788  7F C5 F3 78 */	mr r5, r30
/* 8027E82C 0027B78C  7F E6 FB 78 */	mr r6, r31
/* 8027E830 0027B790  4B DF A6 81 */	bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
lbl_8027E834:
/* 8027E834 0027B794  E3 E1 01 28 */	psq_l f31, 296(r1), 0, qr0
/* 8027E838 0027B798  CB E1 01 20 */	lfd f31, 0x120(r1)
/* 8027E83C 0027B79C  E3 C1 01 18 */	psq_l f30, 280(r1), 0, qr0
/* 8027E840 0027B7A0  CB C1 01 10 */	lfd f30, 0x110(r1)
/* 8027E844 0027B7A4  E3 A1 01 08 */	psq_l f29, 264(r1), 0, qr0
/* 8027E848 0027B7A8  CB A1 01 00 */	lfd f29, 0x100(r1)
/* 8027E84C 0027B7AC  E3 81 00 F8 */	psq_l f28, 248(r1), 0, qr0
/* 8027E850 0027B7B0  CB 81 00 F0 */	lfd f28, 0xf0(r1)
/* 8027E854 0027B7B4  E3 61 00 E8 */	psq_l f27, 232(r1), 0, qr0
/* 8027E858 0027B7B8  CB 61 00 E0 */	lfd f27, 0xe0(r1)
/* 8027E85C 0027B7BC  BB 61 00 CC */	lmw r27, 0xcc(r1)
/* 8027E860 0027B7C0  80 01 01 34 */	lwz r0, 0x134(r1)
/* 8027E864 0027B7C4  7C 08 03 A6 */	mtlr r0
/* 8027E868 0027B7C8  38 21 01 30 */	addi r1, r1, 0x130
/* 8027E86C 0027B7CC  4E 80 00 20 */	blr

.global sub_8027e870
sub_8027e870:
/* 8027E870 0027B7D0  94 21 EA 30 */	stwu r1, -0x15d0(r1)
/* 8027E874 0027B7D4  7C 08 02 A6 */	mflr r0
/* 8027E878 0027B7D8  90 01 15 D4 */	stw r0, 0x15d4(r1)
/* 8027E87C 0027B7DC  38 00 15 C8 */	li r0, 0x15c8
/* 8027E880 0027B7E0  DB E1 15 C0 */	stfd f31, 0x15c0(r1)
/* 8027E884 0027B7E4  13 E1 00 0E */	psq_stx f31, r1, r0, 0, qr0
/* 8027E888 0027B7E8  38 00 15 B8 */	li r0, 0x15b8
/* 8027E88C 0027B7EC  DB C1 15 B0 */	stfd f30, 0x15b0(r1)
/* 8027E890 0027B7F0  13 C1 00 0E */	psq_stx f30, r1, r0, 0, qr0
/* 8027E894 0027B7F4  38 00 15 A8 */	li r0, 0x15a8
/* 8027E898 0027B7F8  DB A1 15 A0 */	stfd f29, 0x15a0(r1)
/* 8027E89C 0027B7FC  13 A1 00 0E */	psq_stx f29, r1, r0, 0, qr0
/* 8027E8A0 0027B800  38 00 15 98 */	li r0, 0x1598
/* 8027E8A4 0027B804  DB 81 15 90 */	stfd f28, 0x1590(r1)
/* 8027E8A8 0027B808  13 81 00 0E */	psq_stx f28, r1, r0, 0, qr0
/* 8027E8AC 0027B80C  38 00 15 88 */	li r0, 0x1588
/* 8027E8B0 0027B810  DB 61 15 80 */	stfd f27, 0x1580(r1)
/* 8027E8B4 0027B814  13 61 00 0E */	psq_stx f27, r1, r0, 0, qr0
/* 8027E8B8 0027B818  38 00 15 78 */	li r0, 0x1578
/* 8027E8BC 0027B81C  DB 41 15 70 */	stfd f26, 0x1570(r1)
/* 8027E8C0 0027B820  13 41 00 0E */	psq_stx f26, r1, r0, 0, qr0
/* 8027E8C4 0027B824  BF 21 15 54 */	stmw r25, 0x1554(r1)
/* 8027E8C8 0027B828  38 00 00 00 */	li r0, 0
/* 8027E8CC 0027B82C  80 CD 98 FC */	lwz r6, lbl_805A84BC@sda21(r13)
/* 8027E8D0 0027B830  90 01 0D 44 */	stw r0, 0xd44(r1)
/* 8027E8D4 0027B834  7C 7D 1B 78 */	mr r29, r3
/* 8027E8D8 0027B838  7C 9E 23 78 */	mr r30, r4
/* 8027E8DC 0027B83C  7C BF 2B 78 */	mr r31, r5
/* 8027E8E0 0027B840  7C C5 33 78 */	mr r5, r6
/* 8027E8E4 0027B844  38 60 00 00 */	li r3, 0
/* 8027E8E8 0027B848  38 80 00 01 */	li r4, 1
/* 8027E8EC 0027B84C  48 10 B6 09 */	bl __shl2i
/* 8027E8F0 0027B850  80 AD 99 00 */	lwz r5, lbl_805A84C0@sda21(r13)
/* 8027E8F4 0027B854  7C 9B 23 78 */	mr r27, r4
/* 8027E8F8 0027B858  7C 7C 1B 78 */	mr r28, r3
/* 8027E8FC 0027B85C  38 60 00 00 */	li r3, 0
/* 8027E900 0027B860  38 80 00 01 */	li r4, 1
/* 8027E904 0027B864  48 10 B5 F1 */	bl __shl2i
/* 8027E908 0027B868  80 AD 99 04 */	lwz r5, lbl_805A84C4@sda21(r13)
/* 8027E90C 0027B86C  7F 7B 23 78 */	or r27, r27, r4
/* 8027E910 0027B870  7F 9C 1B 78 */	or r28, r28, r3
/* 8027E914 0027B874  38 60 00 00 */	li r3, 0
/* 8027E918 0027B878  38 80 00 01 */	li r4, 1
/* 8027E91C 0027B87C  48 10 B5 D9 */	bl __shl2i
/* 8027E920 0027B880  C3 BE 00 2C */	lfs f29, 0x2c(r30)
/* 8027E924 0027B884  7F 7B 23 78 */	or r27, r27, r4
/* 8027E928 0027B888  C0 02 BD 38 */	lfs f0, lbl_805ADA58@sda21(r2)
/* 8027E92C 0027B88C  7F 9C 1B 78 */	or r28, r28, r3
/* 8027E930 0027B890  C3 DE 00 1C */	lfs f30, 0x1c(r30)
/* 8027E934 0027B894  38 C0 00 01 */	li r6, 1
/* 8027E938 0027B898  C3 FE 00 0C */	lfs f31, 0xc(r30)
/* 8027E93C 0027B89C  EC 7D 00 2A */	fadds f3, f29, f0
/* 8027E940 0027B8A0  38 00 00 00 */	li r0, 0
/* 8027E944 0027B8A4  EC 9E 00 2A */	fadds f4, f30, f0
/* 8027E948 0027B8A8  EC BF 00 2A */	fadds f5, f31, f0
/* 8027E94C 0027B8AC  90 C1 00 A0 */	stw r6, 0xa0(r1)
/* 8027E950 0027B8B0  EC 5F 00 28 */	fsubs f2, f31, f0
/* 8027E954 0027B8B4  EC 3E 00 28 */	fsubs f1, f30, f0
/* 8027E958 0027B8B8  93 61 00 FC */	stw r27, 0xfc(r1)
/* 8027E95C 0027B8BC  EC 1D 00 28 */	fsubs f0, f29, f0
/* 8027E960 0027B8C0  93 81 00 F8 */	stw r28, 0xf8(r1)
/* 8027E964 0027B8C4  38 61 00 E0 */	addi r3, r1, 0xe0
/* 8027E968 0027B8C8  38 81 00 44 */	addi r4, r1, 0x44
/* 8027E96C 0027B8CC  90 01 01 04 */	stw r0, 0x104(r1)
/* 8027E970 0027B8D0  38 A1 00 38 */	addi r5, r1, 0x38
/* 8027E974 0027B8D4  90 01 01 00 */	stw r0, 0x100(r1)
/* 8027E978 0027B8D8  90 C1 01 08 */	stw r6, 0x108(r1)
/* 8027E97C 0027B8DC  D0 A1 00 38 */	stfs f5, 0x38(r1)
/* 8027E980 0027B8E0  D0 81 00 3C */	stfs f4, 0x3c(r1)
/* 8027E984 0027B8E4  D0 61 00 40 */	stfs f3, 0x40(r1)
/* 8027E988 0027B8E8  D0 41 00 44 */	stfs f2, 0x44(r1)
/* 8027E98C 0027B8EC  D0 21 00 48 */	stfs f1, 0x48(r1)
/* 8027E990 0027B8F0  D0 01 00 4C */	stfs f0, 0x4c(r1)
/* 8027E994 0027B8F4  48 0B 9B 75 */	bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 8027E998 0027B8F8  80 AD 99 18 */	lwz r5, lbl_805A84D8@sda21(r13)
/* 8027E99C 0027B8FC  38 60 00 00 */	li r3, 0
/* 8027E9A0 0027B900  38 80 00 01 */	li r4, 1
/* 8027E9A4 0027B904  48 10 B5 51 */	bl __shl2i
/* 8027E9A8 0027B908  80 AD 99 08 */	lwz r5, lbl_805A84C8@sda21(r13)
/* 8027E9AC 0027B90C  7C 9C 23 78 */	mr r28, r4
/* 8027E9B0 0027B910  7C 7B 1B 78 */	mr r27, r3
/* 8027E9B4 0027B914  38 60 00 00 */	li r3, 0
/* 8027E9B8 0027B918  38 80 00 01 */	li r4, 1
/* 8027E9BC 0027B91C  48 10 B5 39 */	bl __shl2i
/* 8027E9C0 0027B920  80 AD 99 0C */	lwz r5, lbl_805A84CC@sda21(r13)
/* 8027E9C4 0027B924  7C 99 23 78 */	mr r25, r4
/* 8027E9C8 0027B928  7C 7A 1B 78 */	mr r26, r3
/* 8027E9CC 0027B92C  38 60 00 00 */	li r3, 0
/* 8027E9D0 0027B930  38 80 00 01 */	li r4, 1
/* 8027E9D4 0027B934  48 10 B5 21 */	bl __shl2i
/* 8027E9D8 0027B938  80 AD 99 10 */	lwz r5, lbl_805A84D0@sda21(r13)
/* 8027E9DC 0027B93C  7F 39 23 78 */	or r25, r25, r4
/* 8027E9E0 0027B940  7F 5A 1B 78 */	or r26, r26, r3
/* 8027E9E4 0027B944  38 60 00 00 */	li r3, 0
/* 8027E9E8 0027B948  38 80 00 01 */	li r4, 1
/* 8027E9EC 0027B94C  48 10 B5 09 */	bl __shl2i
/* 8027E9F0 0027B950  80 AD 99 14 */	lwz r5, lbl_805A84D4@sda21(r13)
/* 8027E9F4 0027B954  7F 39 23 78 */	or r25, r25, r4
/* 8027E9F8 0027B958  7F 5A 1B 78 */	or r26, r26, r3
/* 8027E9FC 0027B95C  38 60 00 00 */	li r3, 0
/* 8027EA00 0027B960  38 80 00 01 */	li r4, 1
/* 8027EA04 0027B964  48 10 B4 F1 */	bl __shl2i
/* 8027EA08 0027B968  7F 39 23 78 */	or r25, r25, r4
/* 8027EA0C 0027B96C  7F 5A 1B 78 */	or r26, r26, r3
/* 8027EA10 0027B970  38 00 00 03 */	li r0, 3
/* 8027EA14 0027B974  93 21 00 CC */	stw r25, 0xcc(r1)
/* 8027EA18 0027B978  7F E3 FB 78 */	mr r3, r31
/* 8027EA1C 0027B97C  7F A7 EB 78 */	mr r7, r29
/* 8027EA20 0027B980  90 01 00 88 */	stw r0, 0x88(r1)
/* 8027EA24 0027B984  38 81 0D 44 */	addi r4, r1, 0xd44
/* 8027EA28 0027B988  38 A1 00 E0 */	addi r5, r1, 0xe0
/* 8027EA2C 0027B98C  38 C1 00 F8 */	addi r6, r1, 0xf8
/* 8027EA30 0027B990  93 41 00 C8 */	stw r26, 0xc8(r1)
/* 8027EA34 0027B994  93 81 00 D4 */	stw r28, 0xd4(r1)
/* 8027EA38 0027B998  93 61 00 D0 */	stw r27, 0xd0(r1)
/* 8027EA3C 0027B99C  90 01 00 D8 */	stw r0, 0xd8(r1)
/* 8027EA40 0027B9A0  4B DC DC E1 */	bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor"
/* 8027EA44 0027B9A4  A0 8D A3 8C */	lhz r4, kInvalidUniqueId@sda21(r13)
/* 8027EA48 0027B9A8  38 00 00 00 */	li r0, 0
/* 8027EA4C 0027B9AC  80 AD 99 1C */	lwz r5, lbl_805A84DC@sda21(r13)
/* 8027EA50 0027B9B0  38 60 00 00 */	li r3, 0
/* 8027EA54 0027B9B4  B0 81 00 0C */	sth r4, 0xc(r1)
/* 8027EA58 0027B9B8  38 80 00 01 */	li r4, 1
/* 8027EA5C 0027B9BC  90 01 01 40 */	stw r0, 0x140(r1)
/* 8027EA60 0027B9C0  90 01 00 1C */	stw r0, 0x1c(r1)
/* 8027EA64 0027B9C4  90 01 00 18 */	stw r0, 0x18(r1)
/* 8027EA68 0027B9C8  48 10 B4 8D */	bl __shl2i
/* 8027EA6C 0027B9CC  80 01 00 18 */	lwz r0, 0x18(r1)
/* 8027EA70 0027B9D0  80 C1 00 1C */	lwz r6, 0x1c(r1)
/* 8027EA74 0027B9D4  7C 00 1B 78 */	or r0, r0, r3
/* 8027EA78 0027B9D8  80 AD 99 20 */	lwz r5, lbl_805A84E0@sda21(r13)
/* 8027EA7C 0027B9DC  7C C4 23 78 */	or r4, r6, r4
/* 8027EA80 0027B9E0  90 01 00 18 */	stw r0, 0x18(r1)
/* 8027EA84 0027B9E4  38 60 00 00 */	li r3, 0
/* 8027EA88 0027B9E8  90 81 00 1C */	stw r4, 0x1c(r1)
/* 8027EA8C 0027B9EC  38 80 00 01 */	li r4, 1
/* 8027EA90 0027B9F0  48 10 B4 65 */	bl __shl2i
/* 8027EA94 0027B9F4  80 01 00 18 */	lwz r0, 0x18(r1)
/* 8027EA98 0027B9F8  3C A0 80 5A */	lis r5, sZeroVector__9CVector3f@ha
/* 8027EA9C 0027B9FC  C7 85 66 A0 */	lfsu f28, sZeroVector__9CVector3f@l(r5)
/* 8027EAA0 0027BA00  7C 00 1B 78 */	or r0, r0, r3
/* 8027EAA4 0027BA04  80 C1 00 1C */	lwz r6, 0x1c(r1)
/* 8027EAA8 0027BA08  90 01 00 18 */	stw r0, 0x18(r1)
/* 8027EAAC 0027BA0C  38 61 00 A8 */	addi r3, r1, 0xa8
/* 8027EAB0 0027BA10  7C C4 23 78 */	or r4, r6, r4
/* 8027EAB4 0027BA14  C3 65 00 04 */	lfs f27, 4(r5)
/* 8027EAB8 0027BA18  90 81 00 1C */	stw r4, 0x1c(r1)
/* 8027EABC 0027BA1C  38 81 00 18 */	addi r4, r1, 0x18
/* 8027EAC0 0027BA20  C3 45 00 08 */	lfs f26, 8(r5)
/* 8027EAC4 0027BA24  48 05 0D F1 */	bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 8027EAC8 0027BA28  C0 02 BD 38 */	lfs f0, lbl_805ADA58@sda21(r2)
/* 8027EACC 0027BA2C  3C 60 80 3F */	lis r3, __vt__17CCollidableSphere@ha
/* 8027EAD0 0027BA30  38 03 CA F8 */	addi r0, r3, __vt__17CCollidableSphere@l
/* 8027EAD4 0027BA34  D3 81 00 B8 */	stfs f28, 0xb8(r1)
/* 8027EAD8 0027BA38  7F E3 FB 78 */	mr r3, r31
/* 8027EADC 0027BA3C  7F C5 F3 78 */	mr r5, r30
/* 8027EAE0 0027BA40  90 01 00 A8 */	stw r0, 0xa8(r1)
/* 8027EAE4 0027BA44  38 81 00 A8 */	addi r4, r1, 0xa8
/* 8027EAE8 0027BA48  38 C1 00 C8 */	addi r6, r1, 0xc8
/* 8027EAEC 0027BA4C  38 E1 0D 44 */	addi r7, r1, 0xd44
/* 8027EAF0 0027BA50  D3 61 00 BC */	stfs f27, 0xbc(r1)
/* 8027EAF4 0027BA54  39 01 00 0C */	addi r8, r1, 0xc
/* 8027EAF8 0027BA58  39 21 01 40 */	addi r9, r1, 0x140
/* 8027EAFC 0027BA5C  D3 41 00 C0 */	stfs f26, 0xc0(r1)
/* 8027EB00 0027BA60  D0 01 00 C4 */	stfs f0, 0xc4(r1)
/* 8027EB04 0027BA64  4B F0 59 A1 */	bl "DetectCollision__14CGameCollisionFRC13CStateManagerRC19CCollisionPrimitiveRC12CTransform4fRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>R9TUniqueIdR18CCollisionInfoList"
/* 8027EB08 0027BA68  80 A1 01 40 */	lwz r5, 0x140(r1)
/* 8027EB0C 0027BA6C  2C 05 00 00 */	cmpwi r5, 0
/* 8027EB10 0027BA70  40 81 00 C0 */	ble lbl_8027EBD0
/* 8027EB14 0027BA74  3C 80 80 3F */	lis r4, __vt__17CCollidableSphere@ha
/* 8027EB18 0027BA78  3C 60 80 3E */	lis r3, __vt__19CCollisionPrimitive@ha
/* 8027EB1C 0027BA7C  38 04 CA F8 */	addi r0, r4, __vt__17CCollidableSphere@l
/* 8027EB20 0027BA80  38 80 00 00 */	li r4, 0
/* 8027EB24 0027BA84  90 01 00 A8 */	stw r0, 0xa8(r1)
/* 8027EB28 0027BA88  38 03 97 E4 */	addi r0, r3, __vt__19CCollisionPrimitive@l
/* 8027EB2C 0027BA8C  90 01 00 A8 */	stw r0, 0xa8(r1)
/* 8027EB30 0027BA90  40 81 00 40 */	ble lbl_8027EB70
/* 8027EB34 0027BA94  2C 05 00 08 */	cmpwi r5, 8
/* 8027EB38 0027BA98  38 65 FF F8 */	addi r3, r5, -8
/* 8027EB3C 0027BA9C  40 81 00 20 */	ble lbl_8027EB5C
/* 8027EB40 0027BAA0  38 03 00 07 */	addi r0, r3, 7
/* 8027EB44 0027BAA4  54 00 E8 FE */	srwi r0, r0, 3
/* 8027EB48 0027BAA8  7C 09 03 A6 */	mtctr r0
/* 8027EB4C 0027BAAC  2C 03 00 00 */	cmpwi r3, 0
/* 8027EB50 0027BAB0  40 81 00 0C */	ble lbl_8027EB5C
lbl_8027EB54:
/* 8027EB54 0027BAB4  38 84 00 08 */	addi r4, r4, 8
/* 8027EB58 0027BAB8  42 00 FF FC */	bdnz lbl_8027EB54
lbl_8027EB5C:
/* 8027EB5C 0027BABC  7C 04 28 50 */	subf r0, r4, r5
/* 8027EB60 0027BAC0  7C 09 03 A6 */	mtctr r0
/* 8027EB64 0027BAC4  7C 04 28 00 */	cmpw r4, r5
/* 8027EB68 0027BAC8  40 80 00 08 */	bge lbl_8027EB70
lbl_8027EB6C:
/* 8027EB6C 0027BACC  42 00 00 00 */	bdnz lbl_8027EB6C
lbl_8027EB70:
/* 8027EB70 0027BAD0  80 A1 0D 44 */	lwz r5, 0xd44(r1)
/* 8027EB74 0027BAD4  38 60 00 00 */	li r3, 0
/* 8027EB78 0027BAD8  90 61 01 40 */	stw r3, 0x140(r1)
/* 8027EB7C 0027BADC  2C 05 00 00 */	cmpwi r5, 0
/* 8027EB80 0027BAE0  40 81 00 40 */	ble lbl_8027EBC0
/* 8027EB84 0027BAE4  2C 05 00 08 */	cmpwi r5, 8
/* 8027EB88 0027BAE8  38 85 FF F8 */	addi r4, r5, -8
/* 8027EB8C 0027BAEC  40 81 00 20 */	ble lbl_8027EBAC
/* 8027EB90 0027BAF0  38 04 00 07 */	addi r0, r4, 7
/* 8027EB94 0027BAF4  54 00 E8 FE */	srwi r0, r0, 3
/* 8027EB98 0027BAF8  7C 09 03 A6 */	mtctr r0
/* 8027EB9C 0027BAFC  2C 04 00 00 */	cmpwi r4, 0
/* 8027EBA0 0027BB00  40 81 00 0C */	ble lbl_8027EBAC
lbl_8027EBA4:
/* 8027EBA4 0027BB04  38 63 00 08 */	addi r3, r3, 8
/* 8027EBA8 0027BB08  42 00 FF FC */	bdnz lbl_8027EBA4
lbl_8027EBAC:
/* 8027EBAC 0027BB0C  7C 03 28 50 */	subf r0, r3, r5
/* 8027EBB0 0027BB10  7C 09 03 A6 */	mtctr r0
/* 8027EBB4 0027BB14  7C 03 28 00 */	cmpw r3, r5
/* 8027EBB8 0027BB18  40 80 00 08 */	bge lbl_8027EBC0
lbl_8027EBBC:
/* 8027EBBC 0027BB1C  42 00 00 00 */	bdnz lbl_8027EBBC
lbl_8027EBC0:
/* 8027EBC0 0027BB20  38 00 00 00 */	li r0, 0
/* 8027EBC4 0027BB24  38 60 00 00 */	li r3, 0
/* 8027EBC8 0027BB28  90 01 0D 44 */	stw r0, 0xd44(r1)
/* 8027EBCC 0027BB2C  48 00 02 60 */	b lbl_8027EE2C
lbl_8027EBD0:
/* 8027EBD0 0027BB30  A0 1D 07 06 */	lhz r0, 0x706(r29)
/* 8027EBD4 0027BB34  7F E3 FB 78 */	mr r3, r31
/* 8027EBD8 0027BB38  38 81 00 08 */	addi r4, r1, 8
/* 8027EBDC 0027BB3C  B0 01 00 08 */	sth r0, 8(r1)
/* 8027EBE0 0027BB40  4B DC D9 95 */	bl ObjectById__13CStateManagerF9TUniqueId
/* 8027EBE4 0027BB44  7C 64 1B 78 */	mr r4, r3
/* 8027EBE8 0027BB48  38 61 00 10 */	addi r3, r1, 0x10
/* 8027EBEC 0027BB4C  4B E3 07 61 */	bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity"
/* 8027EBF0 0027BB50  83 23 00 04 */	lwz r25, 4(r3)
/* 8027EBF4 0027BB54  28 19 00 00 */	cmplwi r25, 0
/* 8027EBF8 0027BB58  41 82 01 74 */	beq lbl_8027ED6C
/* 8027EBFC 0027BB5C  C0 59 00 50 */	lfs f2, 0x50(r25)
/* 8027EC00 0027BB60  38 61 00 50 */	addi r3, r1, 0x50
/* 8027EC04 0027BB64  C0 39 00 60 */	lfs f1, 0x60(r25)
/* 8027EC08 0027BB68  C0 19 00 40 */	lfs f0, 0x40(r25)
/* 8027EC0C 0027BB6C  EC 5E 10 28 */	fsubs f2, f30, f2
/* 8027EC10 0027BB70  EC 3D 08 28 */	fsubs f1, f29, f1
/* 8027EC14 0027BB74  EC 1F 00 28 */	fsubs f0, f31, f0
/* 8027EC18 0027BB78  D0 41 00 54 */	stfs f2, 0x54(r1)
/* 8027EC1C 0027BB7C  D0 01 00 50 */	stfs f0, 0x50(r1)
/* 8027EC20 0027BB80  D0 21 00 58 */	stfs f1, 0x58(r1)
/* 8027EC24 0027BB84  48 09 5C 95 */	bl Magnitude__9CVector3fCFv
/* 8027EC28 0027BB88  FF 40 08 90 */	fmr f26, f1
/* 8027EC2C 0027BB8C  80 AD 99 24 */	lwz r5, lbl_805A84E4@sda21(r13)
/* 8027EC30 0027BB90  38 60 00 00 */	li r3, 0
/* 8027EC34 0027BB94  38 80 00 01 */	li r4, 1
/* 8027EC38 0027BB98  48 10 B2 BD */	bl __shl2i
/* 8027EC3C 0027BB9C  38 C0 FF FF */	li r6, -1
/* 8027EC40 0027BBA0  38 A0 00 00 */	li r5, 0
/* 8027EC44 0027BBA4  38 00 00 02 */	li r0, 2
/* 8027EC48 0027BBA8  90 81 00 6C */	stw r4, 0x6c(r1)
/* 8027EC4C 0027BBAC  38 81 00 50 */	addi r4, r1, 0x50
/* 8027EC50 0027BBB0  90 61 00 68 */	stw r3, 0x68(r1)
/* 8027EC54 0027BBB4  38 61 00 20 */	addi r3, r1, 0x20
/* 8027EC58 0027BBB8  90 C1 00 64 */	stw r6, 0x64(r1)
/* 8027EC5C 0027BBBC  90 A1 00 60 */	stw r5, 0x60(r1)
/* 8027EC60 0027BBC0  90 01 00 70 */	stw r0, 0x70(r1)
/* 8027EC64 0027BBC4  C0 59 00 60 */	lfs f2, 0x60(r25)
/* 8027EC68 0027BBC8  C0 39 00 50 */	lfs f1, 0x50(r25)
/* 8027EC6C 0027BBCC  C0 19 00 40 */	lfs f0, 0x40(r25)
/* 8027EC70 0027BBD0  D0 01 00 2C */	stfs f0, 0x2c(r1)
/* 8027EC74 0027BBD4  D0 21 00 30 */	stfs f1, 0x30(r1)
/* 8027EC78 0027BBD8  D0 41 00 34 */	stfs f2, 0x34(r1)
/* 8027EC7C 0027BBDC  48 09 5B D5 */	bl AsNormalized__9CVector3fCFv
/* 8027EC80 0027BBE0  FC 20 D0 90 */	fmr f1, f26
/* 8027EC84 0027BBE4  7F E4 FB 78 */	mr r4, r31
/* 8027EC88 0027BBE8  38 61 01 10 */	addi r3, r1, 0x110
/* 8027EC8C 0027BBEC  38 A1 00 2C */	addi r5, r1, 0x2c
/* 8027EC90 0027BBF0  38 C1 00 20 */	addi r6, r1, 0x20
/* 8027EC94 0027BBF4  38 E1 00 60 */	addi r7, r1, 0x60
/* 8027EC98 0027BBF8  4B DC E3 01 */	bl RayStaticIntersection__13CStateManagerCFRC9CVector3fRC9CVector3ffRC15CMaterialFilter
/* 8027EC9C 0027BBFC  88 01 01 30 */	lbz r0, 0x130(r1)
/* 8027ECA0 0027BC00  28 00 00 00 */	cmplwi r0, 0
/* 8027ECA4 0027BC04  40 82 00 C8 */	bne lbl_8027ED6C
/* 8027ECA8 0027BC08  3C 60 80 3F */	lis r3, __vt__17CCollidableSphere@ha
/* 8027ECAC 0027BC0C  80 A1 01 40 */	lwz r5, 0x140(r1)
/* 8027ECB0 0027BC10  38 03 CA F8 */	addi r0, r3, __vt__17CCollidableSphere@l
/* 8027ECB4 0027BC14  3C 60 80 3E */	lis r3, __vt__19CCollisionPrimitive@ha
/* 8027ECB8 0027BC18  90 01 00 A8 */	stw r0, 0xa8(r1)
/* 8027ECBC 0027BC1C  38 03 97 E4 */	addi r0, r3, __vt__19CCollisionPrimitive@l
/* 8027ECC0 0027BC20  2C 05 00 00 */	cmpwi r5, 0
/* 8027ECC4 0027BC24  38 60 00 00 */	li r3, 0
/* 8027ECC8 0027BC28  90 01 00 A8 */	stw r0, 0xa8(r1)
/* 8027ECCC 0027BC2C  40 81 00 40 */	ble lbl_8027ED0C
/* 8027ECD0 0027BC30  2C 05 00 08 */	cmpwi r5, 8
/* 8027ECD4 0027BC34  38 85 FF F8 */	addi r4, r5, -8
/* 8027ECD8 0027BC38  40 81 00 20 */	ble lbl_8027ECF8
/* 8027ECDC 0027BC3C  38 04 00 07 */	addi r0, r4, 7
/* 8027ECE0 0027BC40  54 00 E8 FE */	srwi r0, r0, 3
/* 8027ECE4 0027BC44  7C 09 03 A6 */	mtctr r0
/* 8027ECE8 0027BC48  2C 04 00 00 */	cmpwi r4, 0
/* 8027ECEC 0027BC4C  40 81 00 0C */	ble lbl_8027ECF8
lbl_8027ECF0:
/* 8027ECF0 0027BC50  38 63 00 08 */	addi r3, r3, 8
/* 8027ECF4 0027BC54  42 00 FF FC */	bdnz lbl_8027ECF0
lbl_8027ECF8:
/* 8027ECF8 0027BC58  7C 03 28 50 */	subf r0, r3, r5
/* 8027ECFC 0027BC5C  7C 09 03 A6 */	mtctr r0
/* 8027ED00 0027BC60  7C 03 28 00 */	cmpw r3, r5
/* 8027ED04 0027BC64  40 80 00 08 */	bge lbl_8027ED0C
lbl_8027ED08:
/* 8027ED08 0027BC68  42 00 00 00 */	bdnz lbl_8027ED08
lbl_8027ED0C:
/* 8027ED0C 0027BC6C  80 A1 0D 44 */	lwz r5, 0xd44(r1)
/* 8027ED10 0027BC70  38 60 00 00 */	li r3, 0
/* 8027ED14 0027BC74  90 61 01 40 */	stw r3, 0x140(r1)
/* 8027ED18 0027BC78  2C 05 00 00 */	cmpwi r5, 0
/* 8027ED1C 0027BC7C  40 81 00 40 */	ble lbl_8027ED5C
/* 8027ED20 0027BC80  2C 05 00 08 */	cmpwi r5, 8
/* 8027ED24 0027BC84  38 85 FF F8 */	addi r4, r5, -8
/* 8027ED28 0027BC88  40 81 00 20 */	ble lbl_8027ED48
/* 8027ED2C 0027BC8C  38 04 00 07 */	addi r0, r4, 7
/* 8027ED30 0027BC90  54 00 E8 FE */	srwi r0, r0, 3
/* 8027ED34 0027BC94  7C 09 03 A6 */	mtctr r0
/* 8027ED38 0027BC98  2C 04 00 00 */	cmpwi r4, 0
/* 8027ED3C 0027BC9C  40 81 00 0C */	ble lbl_8027ED48
lbl_8027ED40:
/* 8027ED40 0027BCA0  38 63 00 08 */	addi r3, r3, 8
/* 8027ED44 0027BCA4  42 00 FF FC */	bdnz lbl_8027ED40
lbl_8027ED48:
/* 8027ED48 0027BCA8  7C 03 28 50 */	subf r0, r3, r5
/* 8027ED4C 0027BCAC  7C 09 03 A6 */	mtctr r0
/* 8027ED50 0027BCB0  7C 03 28 00 */	cmpw r3, r5
/* 8027ED54 0027BCB4  40 80 00 08 */	bge lbl_8027ED5C
lbl_8027ED58:
/* 8027ED58 0027BCB8  42 00 00 00 */	bdnz lbl_8027ED58
lbl_8027ED5C:
/* 8027ED5C 0027BCBC  38 00 00 00 */	li r0, 0
/* 8027ED60 0027BCC0  38 60 00 01 */	li r3, 1
/* 8027ED64 0027BCC4  90 01 0D 44 */	stw r0, 0xd44(r1)
/* 8027ED68 0027BCC8  48 00 00 C4 */	b lbl_8027EE2C
lbl_8027ED6C:
/* 8027ED6C 0027BCCC  3C 60 80 3F */	lis r3, __vt__17CCollidableSphere@ha
/* 8027ED70 0027BCD0  80 A1 01 40 */	lwz r5, 0x140(r1)
/* 8027ED74 0027BCD4  38 03 CA F8 */	addi r0, r3, __vt__17CCollidableSphere@l
/* 8027ED78 0027BCD8  3C 60 80 3E */	lis r3, __vt__19CCollisionPrimitive@ha
/* 8027ED7C 0027BCDC  90 01 00 A8 */	stw r0, 0xa8(r1)
/* 8027ED80 0027BCE0  38 03 97 E4 */	addi r0, r3, __vt__19CCollisionPrimitive@l
/* 8027ED84 0027BCE4  2C 05 00 00 */	cmpwi r5, 0
/* 8027ED88 0027BCE8  38 60 00 00 */	li r3, 0
/* 8027ED8C 0027BCEC  90 01 00 A8 */	stw r0, 0xa8(r1)
/* 8027ED90 0027BCF0  40 81 00 40 */	ble lbl_8027EDD0
/* 8027ED94 0027BCF4  2C 05 00 08 */	cmpwi r5, 8
/* 8027ED98 0027BCF8  38 85 FF F8 */	addi r4, r5, -8
/* 8027ED9C 0027BCFC  40 81 00 20 */	ble lbl_8027EDBC
/* 8027EDA0 0027BD00  38 04 00 07 */	addi r0, r4, 7
/* 8027EDA4 0027BD04  54 00 E8 FE */	srwi r0, r0, 3
/* 8027EDA8 0027BD08  7C 09 03 A6 */	mtctr r0
/* 8027EDAC 0027BD0C  2C 04 00 00 */	cmpwi r4, 0
/* 8027EDB0 0027BD10  40 81 00 0C */	ble lbl_8027EDBC
lbl_8027EDB4:
/* 8027EDB4 0027BD14  38 63 00 08 */	addi r3, r3, 8
/* 8027EDB8 0027BD18  42 00 FF FC */	bdnz lbl_8027EDB4
lbl_8027EDBC:
/* 8027EDBC 0027BD1C  7C 03 28 50 */	subf r0, r3, r5
/* 8027EDC0 0027BD20  7C 09 03 A6 */	mtctr r0
/* 8027EDC4 0027BD24  7C 03 28 00 */	cmpw r3, r5
/* 8027EDC8 0027BD28  40 80 00 08 */	bge lbl_8027EDD0
lbl_8027EDCC:
/* 8027EDCC 0027BD2C  42 00 00 00 */	bdnz lbl_8027EDCC
lbl_8027EDD0:
/* 8027EDD0 0027BD30  80 A1 0D 44 */	lwz r5, 0xd44(r1)
/* 8027EDD4 0027BD34  38 60 00 00 */	li r3, 0
/* 8027EDD8 0027BD38  90 61 01 40 */	stw r3, 0x140(r1)
/* 8027EDDC 0027BD3C  2C 05 00 00 */	cmpwi r5, 0
/* 8027EDE0 0027BD40  40 81 00 40 */	ble lbl_8027EE20
/* 8027EDE4 0027BD44  2C 05 00 08 */	cmpwi r5, 8
/* 8027EDE8 0027BD48  38 85 FF F8 */	addi r4, r5, -8
/* 8027EDEC 0027BD4C  40 81 00 20 */	ble lbl_8027EE0C
/* 8027EDF0 0027BD50  38 04 00 07 */	addi r0, r4, 7
/* 8027EDF4 0027BD54  54 00 E8 FE */	srwi r0, r0, 3
/* 8027EDF8 0027BD58  7C 09 03 A6 */	mtctr r0
/* 8027EDFC 0027BD5C  2C 04 00 00 */	cmpwi r4, 0
/* 8027EE00 0027BD60  40 81 00 0C */	ble lbl_8027EE0C
lbl_8027EE04:
/* 8027EE04 0027BD64  38 63 00 08 */	addi r3, r3, 8
/* 8027EE08 0027BD68  42 00 FF FC */	bdnz lbl_8027EE04
lbl_8027EE0C:
/* 8027EE0C 0027BD6C  7C 03 28 50 */	subf r0, r3, r5
/* 8027EE10 0027BD70  7C 09 03 A6 */	mtctr r0
/* 8027EE14 0027BD74  7C 03 28 00 */	cmpw r3, r5
/* 8027EE18 0027BD78  40 80 00 08 */	bge lbl_8027EE20
lbl_8027EE1C:
/* 8027EE1C 0027BD7C  42 00 00 00 */	bdnz lbl_8027EE1C
lbl_8027EE20:
/* 8027EE20 0027BD80  38 00 00 00 */	li r0, 0
/* 8027EE24 0027BD84  38 60 00 00 */	li r3, 0
/* 8027EE28 0027BD88  90 01 0D 44 */	stw r0, 0xd44(r1)
lbl_8027EE2C:
/* 8027EE2C 0027BD8C  38 00 15 C8 */	li r0, 0x15c8
/* 8027EE30 0027BD90  13 E1 00 0C */	psq_lx f31, r1, r0, 0, qr0
/* 8027EE34 0027BD94  CB E1 15 C0 */	lfd f31, 0x15c0(r1)
/* 8027EE38 0027BD98  38 00 15 B8 */	li r0, 0x15b8
/* 8027EE3C 0027BD9C  13 C1 00 0C */	psq_lx f30, r1, r0, 0, qr0
/* 8027EE40 0027BDA0  CB C1 15 B0 */	lfd f30, 0x15b0(r1)
/* 8027EE44 0027BDA4  38 00 15 A8 */	li r0, 0x15a8
/* 8027EE48 0027BDA8  13 A1 00 0C */	psq_lx f29, r1, r0, 0, qr0
/* 8027EE4C 0027BDAC  CB A1 15 A0 */	lfd f29, 0x15a0(r1)
/* 8027EE50 0027BDB0  38 00 15 98 */	li r0, 0x1598
/* 8027EE54 0027BDB4  13 81 00 0C */	psq_lx f28, r1, r0, 0, qr0
/* 8027EE58 0027BDB8  CB 81 15 90 */	lfd f28, 0x1590(r1)
/* 8027EE5C 0027BDBC  38 00 15 88 */	li r0, 0x1588
/* 8027EE60 0027BDC0  13 61 00 0C */	psq_lx f27, r1, r0, 0, qr0
/* 8027EE64 0027BDC4  CB 61 15 80 */	lfd f27, 0x1580(r1)
/* 8027EE68 0027BDC8  38 00 15 78 */	li r0, 0x1578
/* 8027EE6C 0027BDCC  13 41 00 0C */	psq_lx f26, r1, r0, 0, qr0
/* 8027EE70 0027BDD0  CB 41 15 70 */	lfd f26, 0x1570(r1)
/* 8027EE74 0027BDD4  BB 21 15 54 */	lmw r25, 0x1554(r1)
/* 8027EE78 0027BDD8  80 01 15 D4 */	lwz r0, 0x15d4(r1)
/* 8027EE7C 0027BDDC  7C 08 03 A6 */	mtlr r0
/* 8027EE80 0027BDE0  38 21 15 D0 */	addi r1, r1, 0x15d0
/* 8027EE84 0027BDE4  4E 80 00 20 */	blr

.global sub_8027ee88
sub_8027ee88:
/* 8027EE88 0027BDE8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8027EE8C 0027BDEC  7C 08 02 A6 */	mflr r0
/* 8027EE90 0027BDF0  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027EE94 0027BDF4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8027EE98 0027BDF8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8027EE9C 0027BDFC  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8027EEA0 0027BE00  7C 9D 23 78 */	mr r29, r4
/* 8027EEA4 0027BE04  93 81 00 10 */	stw r28, 0x10(r1)
/* 8027EEA8 0027BE08  7C 7C 1B 78 */	mr r28, r3
/* 8027EEAC 0027BE0C  83 E4 08 38 */	lwz r31, 0x838(r4)
/* 8027EEB0 0027BE10  AB DF 20 08 */	lha r30, 0x2008(r31)
/* 8027EEB4 0027BE14  48 00 00 7C */	b lbl_8027EF30
lbl_8027EEB8:
/* 8027EEB8 0027BE18  7F E3 FB 78 */	mr r3, r31
/* 8027EEBC 0027BE1C  7F C4 F3 78 */	mr r4, r30
/* 8027EEC0 0027BE20  4B D9 0E 55 */	bl __vc__11CObjectListFi
/* 8027EEC4 0027BE24  7C 64 1B 78 */	mr r4, r3
/* 8027EEC8 0027BE28  38 61 00 08 */	addi r3, r1, 8
/* 8027EECC 0027BE2C  4B E2 DB 91 */	bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity"
/* 8027EED0 0027BE30  80 63 00 04 */	lwz r3, 4(r3)
/* 8027EED4 0027BE34  28 03 00 00 */	cmplwi r3, 0
/* 8027EED8 0027BE38  41 82 00 3C */	beq lbl_8027EF14
/* 8027EEDC 0027BE3C  7C 03 E0 40 */	cmplw r3, r28
/* 8027EEE0 0027BE40  41 82 00 34 */	beq lbl_8027EF14
/* 8027EEE4 0027BE44  88 03 00 30 */	lbz r0, 0x30(r3)
/* 8027EEE8 0027BE48  54 00 CF FF */	rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8027EEEC 0027BE4C  41 82 00 28 */	beq lbl_8027EF14
/* 8027EEF0 0027BE50  80 83 00 04 */	lwz r4, 4(r3)
/* 8027EEF4 0027BE54  80 1C 00 04 */	lwz r0, 4(r28)
/* 8027EEF8 0027BE58  7C 04 00 00 */	cmpw r4, r0
/* 8027EEFC 0027BE5C  40 82 00 18 */	bne lbl_8027EF14
/* 8027EF00 0027BE60  81 83 00 00 */	lwz r12, 0(r3)
/* 8027EF04 0027BE64  7F A4 EB 78 */	mr r4, r29
/* 8027EF08 0027BE68  81 8C 02 98 */	lwz r12, 0x298(r12)
/* 8027EF0C 0027BE6C  7D 89 03 A6 */	mtctr r12
/* 8027EF10 0027BE70  4E 80 04 21 */	bctrl
lbl_8027EF14:
/* 8027EF14 0027BE74  2C 1E FF FF */	cmpwi r30, -1
/* 8027EF18 0027BE78  41 82 00 14 */	beq lbl_8027EF2C
/* 8027EF1C 0027BE7C  57 C3 18 38 */	slwi r3, r30, 3
/* 8027EF20 0027BE80  38 03 00 08 */	addi r0, r3, 8
/* 8027EF24 0027BE84  7F DF 02 AE */	lhax r30, r31, r0
/* 8027EF28 0027BE88  48 00 00 08 */	b lbl_8027EF30
lbl_8027EF2C:
/* 8027EF2C 0027BE8C  3B C0 FF FF */	li r30, -1
lbl_8027EF30:
/* 8027EF30 0027BE90  2C 1E FF FF */	cmpwi r30, -1
/* 8027EF34 0027BE94  40 82 FF 84 */	bne lbl_8027EEB8
/* 8027EF38 0027BE98  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027EF3C 0027BE9C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8027EF40 0027BEA0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8027EF44 0027BEA4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8027EF48 0027BEA8  83 81 00 10 */	lwz r28, 0x10(r1)
/* 8027EF4C 0027BEAC  7C 08 03 A6 */	mtlr r0
/* 8027EF50 0027BEB0  38 21 00 20 */	addi r1, r1, 0x20
/* 8027EF54 0027BEB4  4E 80 00 20 */	blr

.global sub_8027ef58
sub_8027ef58:
/* 8027EF58 0027BEB8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8027EF5C 0027BEBC  7C 08 02 A6 */	mflr r0
/* 8027EF60 0027BEC0  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027EF64 0027BEC4  38 00 00 00 */	li r0, 0
/* 8027EF68 0027BEC8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8027EF6C 0027BECC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8027EF70 0027BED0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8027EF74 0027BED4  7C 7D 1B 78 */	mr r29, r3
/* 8027EF78 0027BED8  90 03 06 E4 */	stw r0, 0x6e4(r3)
/* 8027EF7C 0027BEDC  83 E4 08 38 */	lwz r31, 0x838(r4)
/* 8027EF80 0027BEE0  AB DF 20 08 */	lha r30, 0x2008(r31)
/* 8027EF84 0027BEE4  48 00 00 74 */	b lbl_8027EFF8
lbl_8027EF88:
/* 8027EF88 0027BEE8  7F E3 FB 78 */	mr r3, r31
/* 8027EF8C 0027BEEC  7F C4 F3 78 */	mr r4, r30
/* 8027EF90 0027BEF0  4B D9 0D 85 */	bl __vc__11CObjectListFi
/* 8027EF94 0027BEF4  7C 64 1B 78 */	mr r4, r3
/* 8027EF98 0027BEF8  38 61 00 08 */	addi r3, r1, 8
/* 8027EF9C 0027BEFC  4B E2 DA C1 */	bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity"
/* 8027EFA0 0027BF00  80 63 00 04 */	lwz r3, 4(r3)
/* 8027EFA4 0027BF04  28 03 00 00 */	cmplwi r3, 0
/* 8027EFA8 0027BF08  41 82 00 34 */	beq lbl_8027EFDC
/* 8027EFAC 0027BF0C  7C 03 E8 40 */	cmplw r3, r29
/* 8027EFB0 0027BF10  41 82 00 2C */	beq lbl_8027EFDC
/* 8027EFB4 0027BF14  88 03 00 30 */	lbz r0, 0x30(r3)
/* 8027EFB8 0027BF18  54 00 CF FF */	rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8027EFBC 0027BF1C  41 82 00 20 */	beq lbl_8027EFDC
/* 8027EFC0 0027BF20  80 63 00 04 */	lwz r3, 4(r3)
/* 8027EFC4 0027BF24  80 1D 00 04 */	lwz r0, 4(r29)
/* 8027EFC8 0027BF28  7C 03 00 00 */	cmpw r3, r0
/* 8027EFCC 0027BF2C  40 82 00 10 */	bne lbl_8027EFDC
/* 8027EFD0 0027BF30  80 7D 06 E4 */	lwz r3, 0x6e4(r29)
/* 8027EFD4 0027BF34  38 03 00 01 */	addi r0, r3, 1
/* 8027EFD8 0027BF38  90 1D 06 E4 */	stw r0, 0x6e4(r29)
lbl_8027EFDC:
/* 8027EFDC 0027BF3C  2C 1E FF FF */	cmpwi r30, -1
/* 8027EFE0 0027BF40  41 82 00 14 */	beq lbl_8027EFF4
/* 8027EFE4 0027BF44  57 C3 18 38 */	slwi r3, r30, 3
/* 8027EFE8 0027BF48  38 03 00 08 */	addi r0, r3, 8
/* 8027EFEC 0027BF4C  7F DF 02 AE */	lhax r30, r31, r0
/* 8027EFF0 0027BF50  48 00 00 08 */	b lbl_8027EFF8
lbl_8027EFF4:
/* 8027EFF4 0027BF54  3B C0 FF FF */	li r30, -1
lbl_8027EFF8:
/* 8027EFF8 0027BF58  2C 1E FF FF */	cmpwi r30, -1
/* 8027EFFC 0027BF5C  40 82 FF 8C */	bne lbl_8027EF88
/* 8027F000 0027BF60  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027F004 0027BF64  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8027F008 0027BF68  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8027F00C 0027BF6C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8027F010 0027BF70  7C 08 03 A6 */	mtlr r0
/* 8027F014 0027BF74  38 21 00 20 */	addi r1, r1, 0x20
/* 8027F018 0027BF78  4E 80 00 20 */	blr

.global Render__20CMetroidPrimeEssenceCFRC13CStateManager
Render__20CMetroidPrimeEssenceCFRC13CStateManager:
/* 8027F01C 0027BF7C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8027F020 0027BF80  7C 08 02 A6 */	mflr r0
/* 8027F024 0027BF84  90 01 00 14 */	stw r0, 0x14(r1)
/* 8027F028 0027BF88  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8027F02C 0027BF8C  7C 9F 23 78 */	mr r31, r4
/* 8027F030 0027BF90  93 C1 00 08 */	stw r30, 8(r1)
/* 8027F034 0027BF94  7C 7E 1B 78 */	mr r30, r3
/* 8027F038 0027BF98  88 03 07 0E */	lbz r0, 0x70e(r3)
/* 8027F03C 0027BF9C  54 00 E7 FF */	rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 8027F040 0027BFA0  41 82 00 14 */	beq lbl_8027F054
/* 8027F044 0027BFA4  C0 22 BD 3C */	lfs f1, lbl_805ADA5C@sda21(r2)
/* 8027F048 0027BFA8  7F E3 FB 78 */	mr r3, r31
/* 8027F04C 0027BFAC  38 9E 06 B4 */	addi r4, r30, 0x6b4
/* 8027F050 0027BFB0  4B DC 63 AD */	bl DrawSpaceWarp__13CStateManagerCFRC9CVector3ff
lbl_8027F054:
/* 8027F054 0027BFB4  7F C3 F3 78 */	mr r3, r30
/* 8027F058 0027BFB8  7F E4 FB 78 */	mr r4, r31
/* 8027F05C 0027BFBC  4B DF 8F D1 */	bl Render__10CPatternedCFRC13CStateManager
/* 8027F060 0027BFC0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8027F064 0027BFC4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8027F068 0027BFC8  83 C1 00 08 */	lwz r30, 8(r1)
/* 8027F06C 0027BFCC  7C 08 03 A6 */	mtlr r0
/* 8027F070 0027BFD0  38 21 00 10 */	addi r1, r1, 0x10
/* 8027F074 0027BFD4  4E 80 00 20 */	blr

.global PreRender__20CMetroidPrimeEssenceFR13CStateManagerRC14CFrustumPlanes
PreRender__20CMetroidPrimeEssenceFR13CStateManagerRC14CFrustumPlanes:
/* 8027F078 0027BFD8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8027F07C 0027BFDC  7C 08 02 A6 */	mflr r0
/* 8027F080 0027BFE0  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027F084 0027BFE4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8027F088 0027BFE8  7C 7F 1B 78 */	mr r31, r3
/* 8027F08C 0027BFEC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8027F090 0027BFF0  7C 9E 23 78 */	mr r30, r4
/* 8027F094 0027BFF4  4B DF 92 49 */	bl PreRender__10CPatternedFR13CStateManagerRC14CFrustumPlanes
/* 8027F098 0027BFF8  80 7E 08 B8 */	lwz r3, 0x8b8(r30)
/* 8027F09C 0027BFFC  7F C4 F3 78 */	mr r4, r30
/* 8027F0A0 0027C000  80 63 00 00 */	lwz r3, 0(r3)
/* 8027F0A4 0027C004  4B E1 24 B5 */	bl GetActiveVisor__12CPlayerStateCFRC13CStateManager
/* 8027F0A8 0027C008  88 1F 07 0E */	lbz r0, 0x70e(r31)
/* 8027F0AC 0027C00C  3C A0 80 3D */	lis r5, lbl_803D5880@ha
/* 8027F0B0 0027C010  20 83 00 01 */	subfic r4, r3, 1
/* 8027F0B4 0027C014  54 66 10 3A */	slwi r6, r3, 2
/* 8027F0B8 0027C018  54 00 DF FF */	rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 8027F0BC 0027C01C  38 65 58 80 */	addi r3, r5, lbl_803D5880@l
/* 8027F0C0 0027C020  7C 80 00 34 */	cntlzw r0, r4
/* 8027F0C4 0027C024  7C A3 30 2E */	lwzx r5, r3, r6
/* 8027F0C8 0027C028  54 03 D9 7E */	srwi r3, r0, 5
/* 8027F0CC 0027C02C  41 82 00 B0 */	beq lbl_8027F17C
/* 8027F0D0 0027C030  80 1F 06 DC */	lwz r0, 0x6dc(r31)
/* 8027F0D4 0027C034  C0 02 BD 3C */	lfs f0, lbl_805ADA5C@sda21(r2)
/* 8027F0D8 0027C038  C0 3F 06 C8 */	lfs f1, 0x6c8(r31)
/* 8027F0DC 0027C03C  7C 05 00 00 */	cmpw r5, r0
/* 8027F0E0 0027C040  EC 80 08 28 */	fsubs f4, f0, f1
/* 8027F0E4 0027C044  41 82 00 1C */	beq lbl_8027F100
/* 8027F0E8 0027C048  80 1F 06 E0 */	lwz r0, 0x6e0(r31)
/* 8027F0EC 0027C04C  7C 05 00 00 */	cmpw r5, r0
/* 8027F0F0 0027C050  40 82 00 0C */	bne lbl_8027F0FC
/* 8027F0F4 0027C054  FC 80 08 90 */	fmr f4, f1
/* 8027F0F8 0027C058  48 00 00 08 */	b lbl_8027F100
lbl_8027F0FC:
/* 8027F0FC 0027C05C  C0 82 BD 10 */	lfs f4, lbl_805ADA30@sda21(r2)
lbl_8027F100:
/* 8027F100 0027C060  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8027F104 0027C064  41 82 00 0C */	beq lbl_8027F110
/* 8027F108 0027C068  3B C0 00 00 */	li r30, 0
/* 8027F10C 0027C06C  48 00 00 08 */	b lbl_8027F114
lbl_8027F110:
/* 8027F110 0027C070  83 DF 06 FC */	lwz r30, 0x6fc(r31)
lbl_8027F114:
/* 8027F114 0027C074  C0 22 BD 3C */	lfs f1, lbl_805ADA5C@sda21(r2)
/* 8027F118 0027C078  38 A0 00 05 */	li r5, 5
/* 8027F11C 0027C07C  38 80 00 00 */	li r4, 0
/* 8027F120 0027C080  38 00 00 03 */	li r0, 3
/* 8027F124 0027C084  FC 40 08 90 */	fmr f2, f1
/* 8027F128 0027C088  98 A1 00 08 */	stb r5, 8(r1)
/* 8027F12C 0027C08C  FC 60 08 90 */	fmr f3, f1
/* 8027F130 0027C090  38 61 00 0C */	addi r3, r1, 0xc
/* 8027F134 0027C094  98 81 00 09 */	stb r4, 9(r1)
/* 8027F138 0027C098  B0 01 00 0A */	sth r0, 0xa(r1)
/* 8027F13C 0027C09C  48 0E 42 B1 */	bl __ct__6CColorFffff
/* 8027F140 0027C0A0  88 A1 00 08 */	lbz r5, 8(r1)
/* 8027F144 0027C0A4  88 81 00 09 */	lbz r4, 9(r1)
/* 8027F148 0027C0A8  A0 61 00 0A */	lhz r3, 0xa(r1)
/* 8027F14C 0027C0AC  80 01 00 0C */	lwz r0, 0xc(r1)
/* 8027F150 0027C0B0  54 63 00 3A */	rlwinm r3, r3, 0, 0, 0x1d
/* 8027F154 0027C0B4  98 A1 00 10 */	stb r5, 0x10(r1)
/* 8027F158 0027C0B8  60 63 00 01 */	ori r3, r3, 1
/* 8027F15C 0027C0BC  98 BF 00 B4 */	stb r5, 0xb4(r31)
/* 8027F160 0027C0C0  9B DF 00 B5 */	stb r30, 0xb5(r31)
/* 8027F164 0027C0C4  B0 7F 00 B6 */	sth r3, 0xb6(r31)
/* 8027F168 0027C0C8  98 81 00 11 */	stb r4, 0x11(r1)
/* 8027F16C 0027C0CC  B0 61 00 12 */	sth r3, 0x12(r1)
/* 8027F170 0027C0D0  90 01 00 14 */	stw r0, 0x14(r1)
/* 8027F174 0027C0D4  90 1F 00 B8 */	stw r0, 0xb8(r31)
/* 8027F178 0027C0D8  48 00 00 60 */	b lbl_8027F1D8
lbl_8027F17C:
/* 8027F17C 0027C0DC  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8027F180 0027C0E0  41 82 00 0C */	beq lbl_8027F18C
/* 8027F184 0027C0E4  38 60 00 00 */	li r3, 0
/* 8027F188 0027C0E8  48 00 00 08 */	b lbl_8027F190
lbl_8027F18C:
/* 8027F18C 0027C0EC  80 7F 06 FC */	lwz r3, 0x6fc(r31)
lbl_8027F190:
/* 8027F190 0027C0F0  80 1F 06 DC */	lwz r0, 0x6dc(r31)
/* 8027F194 0027C0F4  7C 64 07 74 */	extsb r4, r3
/* 8027F198 0027C0F8  88 7F 00 B4 */	lbz r3, 0xb4(r31)
/* 8027F19C 0027C0FC  7C 05 00 00 */	cmpw r5, r0
/* 8027F1A0 0027C100  A0 1F 00 B6 */	lhz r0, 0xb6(r31)
/* 8027F1A4 0027C104  80 BF 00 B8 */	lwz r5, 0xb8(r31)
/* 8027F1A8 0027C108  41 82 00 20 */	beq lbl_8027F1C8
/* 8027F1AC 0027C10C  98 7F 00 B4 */	stb r3, 0xb4(r31)
/* 8027F1B0 0027C110  54 00 04 3A */	rlwinm r0, r0, 0, 0x10, 0x1d
/* 8027F1B4 0027C114  60 00 00 01 */	ori r0, r0, 1
/* 8027F1B8 0027C118  98 9F 00 B5 */	stb r4, 0xb5(r31)
/* 8027F1BC 0027C11C  B0 1F 00 B6 */	sth r0, 0xb6(r31)
/* 8027F1C0 0027C120  90 BF 00 B8 */	stw r5, 0xb8(r31)
/* 8027F1C4 0027C124  48 00 00 14 */	b lbl_8027F1D8
lbl_8027F1C8:
/* 8027F1C8 0027C128  98 7F 00 B4 */	stb r3, 0xb4(r31)
/* 8027F1CC 0027C12C  98 9F 00 B5 */	stb r4, 0xb5(r31)
/* 8027F1D0 0027C130  B0 1F 00 B6 */	sth r0, 0xb6(r31)
/* 8027F1D4 0027C134  90 BF 00 B8 */	stw r5, 0xb8(r31)
lbl_8027F1D8:
/* 8027F1D8 0027C138  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027F1DC 0027C13C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8027F1E0 0027C140  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8027F1E4 0027C144  7C 08 03 A6 */	mtlr r0
/* 8027F1E8 0027C148  38 21 00 20 */	addi r1, r1, 0x20
/* 8027F1EC 0027C14C  4E 80 00 20 */	blr

.global sub_8027f1f0
sub_8027f1f0:
/* 8027F1F0 0027C150  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 8027F1F4 0027C154  7C 08 02 A6 */	mflr r0
/* 8027F1F8 0027C158  90 01 00 74 */	stw r0, 0x74(r1)
/* 8027F1FC 0027C15C  DB E1 00 60 */	stfd f31, 0x60(r1)
/* 8027F200 0027C160  F3 E1 00 68 */	psq_st f31, 104(r1), 0, qr0
/* 8027F204 0027C164  93 E1 00 5C */	stw r31, 0x5c(r1)
/* 8027F208 0027C168  93 C1 00 58 */	stw r30, 0x58(r1)
/* 8027F20C 0027C16C  93 A1 00 54 */	stw r29, 0x54(r1)
/* 8027F210 0027C170  7C 9F 23 78 */	mr r31, r4
/* 8027F214 0027C174  3C 80 80 3D */	lis r4, lbl_803D5880@ha
/* 8027F218 0027C178  80 BF 08 B8 */	lwz r5, 0x8b8(r31)
/* 8027F21C 0027C17C  7C 7E 1B 78 */	mr r30, r3
/* 8027F220 0027C180  38 84 58 80 */	addi r4, r4, lbl_803D5880@l
/* 8027F224 0027C184  80 03 06 DC */	lwz r0, 0x6dc(r3)
/* 8027F228 0027C188  80 A5 00 00 */	lwz r5, 0(r5)
/* 8027F22C 0027C18C  FF E0 08 90 */	fmr f31, f1
/* 8027F230 0027C190  80 A5 00 14 */	lwz r5, 0x14(r5)
/* 8027F234 0027C194  54 A5 10 3A */	slwi r5, r5, 2
/* 8027F238 0027C198  7C 84 28 2E */	lwzx r4, r4, r5
/* 8027F23C 0027C19C  7C 04 00 00 */	cmpw r4, r0
/* 8027F240 0027C1A0  40 82 00 88 */	bne lbl_8027F2C8
/* 8027F244 0027C1A4  C0 42 BD 3C */	lfs f2, lbl_805ADA5C@sda21(r2)
/* 8027F248 0027C1A8  C0 3E 06 C8 */	lfs f1, 0x6c8(r30)
/* 8027F24C 0027C1AC  C0 02 BD 60 */	lfs f0, lbl_805ADA80@sda21(r2)
/* 8027F250 0027C1B0  EC 42 08 28 */	fsubs f2, f2, f1
/* 8027F254 0027C1B4  EC 60 00 B2 */	fmuls f3, f0, f2
/* 8027F258 0027C1B8  F0 61 A0 09 */	psq_st f3, 9(r1), 1, qr2
/* 8027F25C 0027C1BC  88 01 00 09 */	lbz r0, 9(r1)
/* 8027F260 0027C1C0  98 1E 04 2F */	stb r0, 0x42f(r30)
/* 8027F264 0027C1C4  C0 3E 06 D0 */	lfs f1, 0x6d0(r30)
/* 8027F268 0027C1C8  C0 1E 06 CC */	lfs f0, 0x6cc(r30)
/* 8027F26C 0027C1CC  80 9E 00 64 */	lwz r4, 0x64(r30)
/* 8027F270 0027C1D0  EC 00 08 28 */	fsubs f0, f0, f1
/* 8027F274 0027C1D4  EC 02 08 3A */	fmadds f0, f2, f0, f1
/* 8027F278 0027C1D8  D0 04 00 00 */	stfs f0, 0(r4)
/* 8027F27C 0027C1DC  D0 04 00 04 */	stfs f0, 4(r4)
/* 8027F280 0027C1E0  D0 04 00 08 */	stfs f0, 8(r4)
/* 8027F284 0027C1E4  88 1E 07 0E */	lbz r0, 0x70e(r30)
/* 8027F288 0027C1E8  54 00 EF FE */	rlwinm r0, r0, 0x1d, 0x1f, 0x1f
/* 8027F28C 0027C1EC  28 00 00 01 */	cmplwi r0, 1
/* 8027F290 0027C1F0  41 82 00 C4 */	beq lbl_8027F354
/* 8027F294 0027C1F4  7F E6 FB 78 */	mr r6, r31
/* 8027F298 0027C1F8  38 80 00 29 */	li r4, 0x29
/* 8027F29C 0027C1FC  38 A0 00 28 */	li r5, 0x28
/* 8027F2A0 0027C200  4B DD 50 15 */	bl AddMaterial__6CActorF14EMaterialTypes14EMaterialTypesR13CStateManager
/* 8027F2A4 0027C204  7F C3 F3 78 */	mr r3, r30
/* 8027F2A8 0027C208  7F E4 FB 78 */	mr r4, r31
/* 8027F2AC 0027C20C  38 A0 00 01 */	li r5, 1
/* 8027F2B0 0027C210  4B FF E4 E1 */	bl sub_8027d790
/* 8027F2B4 0027C214  88 1E 07 0E */	lbz r0, 0x70e(r30)
/* 8027F2B8 0027C218  38 60 00 01 */	li r3, 1
/* 8027F2BC 0027C21C  50 60 1F 38 */	rlwimi r0, r3, 3, 0x1c, 0x1c
/* 8027F2C0 0027C220  98 1E 07 0E */	stb r0, 0x70e(r30)
/* 8027F2C4 0027C224  48 00 00 90 */	b lbl_8027F354
lbl_8027F2C8:
/* 8027F2C8 0027C228  80 1E 06 E0 */	lwz r0, 0x6e0(r30)
/* 8027F2CC 0027C22C  7C 04 00 00 */	cmpw r4, r0
/* 8027F2D0 0027C230  40 82 00 0C */	bne lbl_8027F2DC
/* 8027F2D4 0027C234  C0 5E 06 C8 */	lfs f2, 0x6c8(r30)
/* 8027F2D8 0027C238  48 00 00 08 */	b lbl_8027F2E0
lbl_8027F2DC:
/* 8027F2DC 0027C23C  C0 42 BD 10 */	lfs f2, lbl_805ADA30@sda21(r2)
lbl_8027F2E0:
/* 8027F2E0 0027C240  C0 02 BD 60 */	lfs f0, lbl_805ADA80@sda21(r2)
/* 8027F2E4 0027C244  EC 20 00 B2 */	fmuls f1, f0, f2
/* 8027F2E8 0027C248  F0 21 A0 08 */	psq_st f1, 8(r1), 1, qr2
/* 8027F2EC 0027C24C  88 01 00 08 */	lbz r0, 8(r1)
/* 8027F2F0 0027C250  98 1E 04 2F */	stb r0, 0x42f(r30)
/* 8027F2F4 0027C254  C0 3E 06 D0 */	lfs f1, 0x6d0(r30)
/* 8027F2F8 0027C258  C0 1E 06 CC */	lfs f0, 0x6cc(r30)
/* 8027F2FC 0027C25C  80 7E 00 64 */	lwz r3, 0x64(r30)
/* 8027F300 0027C260  EC 00 08 28 */	fsubs f0, f0, f1
/* 8027F304 0027C264  EC 02 08 3A */	fmadds f0, f2, f0, f1
/* 8027F308 0027C268  D0 03 00 00 */	stfs f0, 0(r3)
/* 8027F30C 0027C26C  D0 03 00 04 */	stfs f0, 4(r3)
/* 8027F310 0027C270  D0 03 00 08 */	stfs f0, 8(r3)
/* 8027F314 0027C274  88 1E 07 0E */	lbz r0, 0x70e(r30)
/* 8027F318 0027C278  54 00 EF FF */	rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 8027F31C 0027C27C  41 82 00 38 */	beq lbl_8027F354
/* 8027F320 0027C280  7F C3 F3 78 */	mr r3, r30
/* 8027F324 0027C284  7F E6 FB 78 */	mr r6, r31
/* 8027F328 0027C288  38 80 00 29 */	li r4, 0x29
/* 8027F32C 0027C28C  38 A0 00 28 */	li r5, 0x28
/* 8027F330 0027C290  4B DD 4B A5 */	bl RemoveMaterial__6CActorF14EMaterialTypes14EMaterialTypesR13CStateManager
/* 8027F334 0027C294  7F C3 F3 78 */	mr r3, r30
/* 8027F338 0027C298  7F E4 FB 78 */	mr r4, r31
/* 8027F33C 0027C29C  38 A0 00 00 */	li r5, 0
/* 8027F340 0027C2A0  4B FF E4 51 */	bl sub_8027d790
/* 8027F344 0027C2A4  88 1E 07 0E */	lbz r0, 0x70e(r30)
/* 8027F348 0027C2A8  38 60 00 00 */	li r3, 0
/* 8027F34C 0027C2AC  50 60 1F 38 */	rlwimi r0, r3, 3, 0x1c, 0x1c
/* 8027F350 0027C2B0  98 1E 07 0E */	stb r0, 0x70e(r30)
lbl_8027F354:
/* 8027F354 0027C2B4  7F C3 F3 78 */	mr r3, r30
/* 8027F358 0027C2B8  7F E4 FB 78 */	mr r4, r31
/* 8027F35C 0027C2BC  4B FF DA A1 */	bl sub_8027cdfc
/* 8027F360 0027C2C0  88 1E 07 0E */	lbz r0, 0x70e(r30)
/* 8027F364 0027C2C4  7C 7D 1B 78 */	mr r29, r3
/* 8027F368 0027C2C8  54 00 DF FF */	rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 8027F36C 0027C2CC  41 82 00 5C */	beq lbl_8027F3C8
/* 8027F370 0027C2D0  C0 42 BD 2C */	lfs f2, lbl_805ADA4C@sda21(r2)
/* 8027F374 0027C2D4  C0 3E 06 C8 */	lfs f1, 0x6c8(r30)
/* 8027F378 0027C2D8  C0 02 BD 10 */	lfs f0, lbl_805ADA30@sda21(r2)
/* 8027F37C 0027C2DC  EC 22 0F FC */	fnmsubs f1, f2, f31, f1
/* 8027F380 0027C2E0  D0 3E 06 C8 */	stfs f1, 0x6c8(r30)
/* 8027F384 0027C2E4  C0 7D 00 2C */	lfs f3, 0x2c(r29)
/* 8027F388 0027C2E8  C0 5D 00 1C */	lfs f2, 0x1c(r29)
/* 8027F38C 0027C2EC  C0 3D 00 0C */	lfs f1, 0xc(r29)
/* 8027F390 0027C2F0  D0 3E 06 B4 */	stfs f1, 0x6b4(r30)
/* 8027F394 0027C2F4  D0 5E 06 B8 */	stfs f2, 0x6b8(r30)
/* 8027F398 0027C2F8  D0 7E 06 BC */	stfs f3, 0x6bc(r30)
/* 8027F39C 0027C2FC  C0 3E 06 C8 */	lfs f1, 0x6c8(r30)
/* 8027F3A0 0027C300  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8027F3A4 0027C304  40 80 00 24 */	bge lbl_8027F3C8
/* 8027F3A8 0027C308  D0 1E 06 C8 */	stfs f0, 0x6c8(r30)
/* 8027F3AC 0027C30C  38 60 00 00 */	li r3, 0
/* 8027F3B0 0027C310  88 1E 07 0E */	lbz r0, 0x70e(r30)
/* 8027F3B4 0027C314  50 60 2E B4 */	rlwimi r0, r3, 5, 0x1a, 0x1a
/* 8027F3B8 0027C318  98 1E 07 0E */	stb r0, 0x70e(r30)
/* 8027F3BC 0027C31C  88 1E 07 0E */	lbz r0, 0x70e(r30)
/* 8027F3C0 0027C320  50 60 26 F6 */	rlwimi r0, r3, 4, 0x1b, 0x1b
/* 8027F3C4 0027C324  98 1E 07 0E */	stb r0, 0x70e(r30)
lbl_8027F3C8:
/* 8027F3C8 0027C328  80 7E 06 5C */	lwz r3, 0x65c(r30)
/* 8027F3CC 0027C32C  28 03 00 00 */	cmplwi r3, 0
/* 8027F3D0 0027C330  41 82 00 B8 */	beq lbl_8027F488
/* 8027F3D4 0027C334  81 83 00 00 */	lwz r12, 0(r3)
/* 8027F3D8 0027C338  81 8C 00 58 */	lwz r12, 0x58(r12)
/* 8027F3DC 0027C33C  7D 89 03 A6 */	mtctr r12
/* 8027F3E0 0027C340  4E 80 04 21 */	bctrl
/* 8027F3E4 0027C344  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8027F3E8 0027C348  40 82 00 78 */	bne lbl_8027F460
/* 8027F3EC 0027C34C  83 FE 06 5C */	lwz r31, 0x65c(r30)
/* 8027F3F0 0027C350  7F A4 EB 78 */	mr r4, r29
/* 8027F3F4 0027C354  38 61 00 18 */	addi r3, r1, 0x18
/* 8027F3F8 0027C358  48 09 38 49 */	bl GetRotation__12CTransform4fCFv
/* 8027F3FC 0027C35C  7F E3 FB 78 */	mr r3, r31
/* 8027F400 0027C360  38 81 00 18 */	addi r4, r1, 0x18
/* 8027F404 0027C364  81 9F 00 00 */	lwz r12, 0(r31)
/* 8027F408 0027C368  81 8C 00 1C */	lwz r12, 0x1c(r12)
/* 8027F40C 0027C36C  7D 89 03 A6 */	mtctr r12
/* 8027F410 0027C370  4E 80 04 21 */	bctrl
/* 8027F414 0027C374  C0 5D 00 2C */	lfs f2, 0x2c(r29)
/* 8027F418 0027C378  38 81 00 0C */	addi r4, r1, 0xc
/* 8027F41C 0027C37C  C0 3D 00 1C */	lfs f1, 0x1c(r29)
/* 8027F420 0027C380  C0 1D 00 0C */	lfs f0, 0xc(r29)
/* 8027F424 0027C384  D0 01 00 0C */	stfs f0, 0xc(r1)
/* 8027F428 0027C388  D0 21 00 10 */	stfs f1, 0x10(r1)
/* 8027F42C 0027C38C  D0 41 00 14 */	stfs f2, 0x14(r1)
/* 8027F430 0027C390  80 7E 06 5C */	lwz r3, 0x65c(r30)
/* 8027F434 0027C394  81 83 00 00 */	lwz r12, 0(r3)
/* 8027F438 0027C398  81 8C 00 20 */	lwz r12, 0x20(r12)
/* 8027F43C 0027C39C  7D 89 03 A6 */	mtctr r12
/* 8027F440 0027C3A0  4E 80 04 21 */	bctrl
/* 8027F444 0027C3A4  80 7E 06 5C */	lwz r3, 0x65c(r30)
/* 8027F448 0027C3A8  FC 20 F8 90 */	fmr f1, f31
/* 8027F44C 0027C3AC  81 83 00 00 */	lwz r12, 0(r3)
/* 8027F450 0027C3B0  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 8027F454 0027C3B4  7D 89 03 A6 */	mtctr r12
/* 8027F458 0027C3B8  4E 80 04 21 */	bctrl
/* 8027F45C 0027C3BC  48 00 00 2C */	b lbl_8027F488
lbl_8027F460:
/* 8027F460 0027C3C0  80 7E 06 5C */	lwz r3, 0x65c(r30)
/* 8027F464 0027C3C4  28 03 00 00 */	cmplwi r3, 0
/* 8027F468 0027C3C8  41 82 00 18 */	beq lbl_8027F480
/* 8027F46C 0027C3CC  81 83 00 00 */	lwz r12, 0(r3)
/* 8027F470 0027C3D0  38 80 00 01 */	li r4, 1
/* 8027F474 0027C3D4  81 8C 00 08 */	lwz r12, 8(r12)
/* 8027F478 0027C3D8  7D 89 03 A6 */	mtctr r12
/* 8027F47C 0027C3DC  4E 80 04 21 */	bctrl
lbl_8027F480:
/* 8027F480 0027C3E0  38 00 00 00 */	li r0, 0
/* 8027F484 0027C3E4  90 1E 06 5C */	stw r0, 0x65c(r30)
lbl_8027F488:
/* 8027F488 0027C3E8  E3 E1 00 68 */	psq_l f31, 104(r1), 0, qr0
/* 8027F48C 0027C3EC  80 01 00 74 */	lwz r0, 0x74(r1)
/* 8027F490 0027C3F0  CB E1 00 60 */	lfd f31, 0x60(r1)
/* 8027F494 0027C3F4  83 E1 00 5C */	lwz r31, 0x5c(r1)
/* 8027F498 0027C3F8  83 C1 00 58 */	lwz r30, 0x58(r1)
/* 8027F49C 0027C3FC  83 A1 00 54 */	lwz r29, 0x54(r1)
/* 8027F4A0 0027C400  7C 08 03 A6 */	mtlr r0
/* 8027F4A4 0027C404  38 21 00 70 */	addi r1, r1, 0x70
/* 8027F4A8 0027C408  4E 80 00 20 */	blr

.global Think__20CMetroidPrimeEssenceFfR13CStateManager
Think__20CMetroidPrimeEssenceFfR13CStateManager:
/* 8027F4AC 0027C40C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8027F4B0 0027C410  7C 08 02 A6 */	mflr r0
/* 8027F4B4 0027C414  90 01 00 44 */	stw r0, 0x44(r1)
/* 8027F4B8 0027C418  DB E1 00 30 */	stfd f31, 0x30(r1)
/* 8027F4BC 0027C41C  F3 E1 00 38 */	psq_st f31, 56(r1), 0, qr0
/* 8027F4C0 0027C420  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8027F4C4 0027C424  93 C1 00 28 */	stw r30, 0x28(r1)
/* 8027F4C8 0027C428  88 03 00 30 */	lbz r0, 0x30(r3)
/* 8027F4CC 0027C42C  FF E0 08 90 */	fmr f31, f1
/* 8027F4D0 0027C430  7C 7E 1B 78 */	mr r30, r3
/* 8027F4D4 0027C434  7C 9F 23 78 */	mr r31, r4
/* 8027F4D8 0027C438  54 00 CF FF */	rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8027F4DC 0027C43C  41 82 00 F8 */	beq lbl_8027F5D4
/* 8027F4E0 0027C440  4B DF A6 39 */	bl Think__10CPatternedFfR13CStateManager
/* 8027F4E4 0027C444  88 1E 04 00 */	lbz r0, 0x400(r30)
/* 8027F4E8 0027C448  54 00 D7 FF */	rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8027F4EC 0027C44C  41 82 00 14 */	beq lbl_8027F500
/* 8027F4F0 0027C450  FC 20 F8 90 */	fmr f1, f31
/* 8027F4F4 0027C454  7F C3 F3 78 */	mr r3, r30
/* 8027F4F8 0027C458  7F E4 FB 78 */	mr r4, r31
/* 8027F4FC 0027C45C  4B FF FC F5 */	bl sub_8027f1f0
lbl_8027F500:
/* 8027F500 0027C460  80 7F 08 4C */	lwz r3, 0x84c(r31)
/* 8027F504 0027C464  FC 20 F8 90 */	fmr f1, f31
/* 8027F508 0027C468  C0 1E 00 60 */	lfs f0, 0x60(r30)
/* 8027F50C 0027C46C  38 81 00 14 */	addi r4, r1, 0x14
/* 8027F510 0027C470  C0 C3 00 60 */	lfs f6, 0x60(r3)
/* 8027F514 0027C474  C0 A3 00 50 */	lfs f5, 0x50(r3)
/* 8027F518 0027C478  C0 7E 00 50 */	lfs f3, 0x50(r30)
/* 8027F51C 0027C47C  EC 46 00 28 */	fsubs f2, f6, f0
/* 8027F520 0027C480  C0 03 00 40 */	lfs f0, 0x40(r3)
/* 8027F524 0027C484  C0 9E 00 40 */	lfs f4, 0x40(r30)
/* 8027F528 0027C488  EC 65 18 28 */	fsubs f3, f5, f3
/* 8027F52C 0027C48C  D0 01 00 08 */	stfs f0, 8(r1)
/* 8027F530 0027C490  EC 00 20 28 */	fsubs f0, f0, f4
/* 8027F534 0027C494  D0 61 00 18 */	stfs f3, 0x18(r1)
/* 8027F538 0027C498  D0 01 00 14 */	stfs f0, 0x14(r1)
/* 8027F53C 0027C49C  D0 41 00 1C */	stfs f2, 0x1c(r1)
/* 8027F540 0027C4A0  D0 A1 00 0C */	stfs f5, 0xc(r1)
/* 8027F544 0027C4A4  80 7E 04 50 */	lwz r3, 0x450(r30)
/* 8027F548 0027C4A8  D0 C1 00 10 */	stfs f6, 0x10(r1)
/* 8027F54C 0027C4AC  4B EB B1 59 */	bl FaceDirection__15CBodyControllerFRC9CVector3ff
/* 8027F550 0027C4B0  FC 20 F8 90 */	fmr f1, f31
/* 8027F554 0027C4B4  80 7E 06 58 */	lwz r3, 0x658(r30)
/* 8027F558 0027C4B8  7F E4 FB 78 */	mr r4, r31
/* 8027F55C 0027C4BC  38 A0 00 00 */	li r5, 0
/* 8027F560 0027C4C0  4B F2 7E F1 */	bl Update__22CCollisionActorManagerCFfR13CStateManagerQ222CCollisionActorManager14EUpdateOptions
/* 8027F564 0027C4C4  7F C3 F3 78 */	mr r3, r30
/* 8027F568 0027C4C8  7F E4 FB 78 */	mr r4, r31
/* 8027F56C 0027C4CC  48 00 00 89 */	bl sub_8027f5f4
/* 8027F570 0027C4D0  7F C3 F3 78 */	mr r3, r30
/* 8027F574 0027C4D4  7F E4 FB 78 */	mr r4, r31
/* 8027F578 0027C4D8  4B FF F9 E1 */	bl sub_8027ef58
/* 8027F57C 0027C4DC  88 1E 07 0E */	lbz r0, 0x70e(r30)
/* 8027F580 0027C4E0  54 00 FF FF */	rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
/* 8027F584 0027C4E4  41 82 00 50 */	beq lbl_8027F5D4
/* 8027F588 0027C4E8  C0 42 BD 38 */	lfs f2, lbl_805ADA58@sda21(r2)
/* 8027F58C 0027C4EC  C0 3E 06 D4 */	lfs f1, 0x6d4(r30)
/* 8027F590 0027C4F0  C0 02 BD 3C */	lfs f0, lbl_805ADA5C@sda21(r2)
/* 8027F594 0027C4F4  EC 22 0F FA */	fmadds f1, f2, f31, f1
/* 8027F598 0027C4F8  D0 3E 06 D4 */	stfs f1, 0x6d4(r30)
/* 8027F59C 0027C4FC  C0 3E 06 D4 */	lfs f1, 0x6d4(r30)
/* 8027F5A0 0027C500  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8027F5A4 0027C504  4C 41 13 82 */	cror 2, 1, 2
/* 8027F5A8 0027C508  40 82 00 0C */	bne lbl_8027F5B4
/* 8027F5AC 0027C50C  C0 02 BD 10 */	lfs f0, lbl_805ADA30@sda21(r2)
/* 8027F5B0 0027C510  D0 1E 06 D4 */	stfs f0, 0x6d4(r30)
lbl_8027F5B4:
/* 8027F5B4 0027C514  C0 5E 06 D4 */	lfs f2, 0x6d4(r30)
/* 8027F5B8 0027C518  7F C3 F3 78 */	mr r3, r30
/* 8027F5BC 0027C51C  C0 22 BD 64 */	lfs f1, lbl_805ADA84@sda21(r2)
/* 8027F5C0 0027C520  C0 02 BD 3C */	lfs f0, lbl_805ADA5C@sda21(r2)
/* 8027F5C4 0027C524  EC 21 00 B2 */	fmuls f1, f1, f2
/* 8027F5C8 0027C528  EC 02 00 28 */	fsubs f0, f2, f0
/* 8027F5CC 0027C52C  EC 21 00 32 */	fmuls f1, f1, f0
/* 8027F5D0 0027C530  4B FF D8 8D */	bl sub_8027ce5c
lbl_8027F5D4:
/* 8027F5D4 0027C534  E3 E1 00 38 */	psq_l f31, 56(r1), 0, qr0
/* 8027F5D8 0027C538  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8027F5DC 0027C53C  CB E1 00 30 */	lfd f31, 0x30(r1)
/* 8027F5E0 0027C540  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 8027F5E4 0027C544  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 8027F5E8 0027C548  7C 08 03 A6 */	mtlr r0
/* 8027F5EC 0027C54C  38 21 00 40 */	addi r1, r1, 0x40
/* 8027F5F0 0027C550  4E 80 00 20 */	blr

.global sub_8027f5f4
sub_8027f5f4:
/* 8027F5F4 0027C554  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8027F5F8 0027C558  7C 08 02 A6 */	mflr r0
/* 8027F5FC 0027C55C  90 01 00 44 */	stw r0, 0x44(r1)
/* 8027F600 0027C560  DB E1 00 30 */	stfd f31, 0x30(r1)
/* 8027F604 0027C564  F3 E1 00 38 */	psq_st f31, 56(r1), 0, qr0
/* 8027F608 0027C568  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8027F60C 0027C56C  93 C1 00 28 */	stw r30, 0x28(r1)
/* 8027F610 0027C570  93 A1 00 24 */	stw r29, 0x24(r1)
/* 8027F614 0027C574  88 03 04 00 */	lbz r0, 0x400(r3)
/* 8027F618 0027C578  7C 7D 1B 78 */	mr r29, r3
/* 8027F61C 0027C57C  7C 9E 23 78 */	mr r30, r4
/* 8027F620 0027C580  54 00 D7 FF */	rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8027F624 0027C584  41 82 00 E0 */	beq lbl_8027F704
/* 8027F628 0027C588  A0 1D 07 06 */	lhz r0, 0x706(r29)
/* 8027F62C 0027C58C  7F C3 F3 78 */	mr r3, r30
/* 8027F630 0027C590  38 81 00 08 */	addi r4, r1, 8
/* 8027F634 0027C594  B0 01 00 08 */	sth r0, 8(r1)
/* 8027F638 0027C598  4B DC CF 3D */	bl ObjectById__13CStateManagerF9TUniqueId
/* 8027F63C 0027C59C  7C 64 1B 78 */	mr r4, r3
/* 8027F640 0027C5A0  38 61 00 0C */	addi r3, r1, 0xc
/* 8027F644 0027C5A4  4B E2 FD 09 */	bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity"
/* 8027F648 0027C5A8  83 E3 00 04 */	lwz r31, 4(r3)
/* 8027F64C 0027C5AC  28 1F 00 00 */	cmplwi r31, 0
/* 8027F650 0027C5B0  41 82 00 50 */	beq lbl_8027F6A0
/* 8027F654 0027C5B4  7F A3 EB 78 */	mr r3, r29
/* 8027F658 0027C5B8  81 9D 00 00 */	lwz r12, 0(r29)
/* 8027F65C 0027C5BC  81 8C 00 38 */	lwz r12, 0x38(r12)
/* 8027F660 0027C5C0  7D 89 03 A6 */	mtctr r12
/* 8027F664 0027C5C4  4E 80 04 21 */	bctrl
/* 8027F668 0027C5C8  7C 64 1B 78 */	mr r4, r3
/* 8027F66C 0027C5CC  7F E3 FB 78 */	mr r3, r31
/* 8027F670 0027C5D0  4B F2 95 29 */	bl SetDamageVulnerability__15CCollisionActorFRC20CDamageVulnerability
/* 8027F674 0027C5D4  7F E3 FB 78 */	mr r3, r31
/* 8027F678 0027C5D8  7F C4 F3 78 */	mr r4, r30
/* 8027F67C 0027C5DC  81 9F 00 00 */	lwz r12, 0(r31)
/* 8027F680 0027C5E0  81 8C 00 34 */	lwz r12, 0x34(r12)
/* 8027F684 0027C5E4  7D 89 03 A6 */	mtctr r12
/* 8027F688 0027C5E8  4E 80 04 21 */	bctrl
/* 8027F68C 0027C5EC  C3 E3 00 00 */	lfs f31, 0(r3)
/* 8027F690 0027C5F0  7F A3 EB 78 */	mr r3, r29
/* 8027F694 0027C5F4  7F C4 F3 78 */	mr r4, r30
/* 8027F698 0027C5F8  4B E2 36 E1 */	bl HealthInfo__3CAiFR13CStateManager
/* 8027F69C 0027C5FC  D3 E3 00 00 */	stfs f31, 0(r3)
lbl_8027F6A0:
/* 8027F6A0 0027C600  7F A3 EB 78 */	mr r3, r29
/* 8027F6A4 0027C604  7F C4 F3 78 */	mr r4, r30
/* 8027F6A8 0027C608  81 9D 00 00 */	lwz r12, 0(r29)
/* 8027F6AC 0027C60C  81 8C 00 34 */	lwz r12, 0x34(r12)
/* 8027F6B0 0027C610  7D 89 03 A6 */	mtctr r12
/* 8027F6B4 0027C614  4E 80 04 21 */	bctrl
/* 8027F6B8 0027C618  C0 23 00 00 */	lfs f1, 0(r3)
/* 8027F6BC 0027C61C  C0 02 BD 10 */	lfs f0, lbl_805ADA30@sda21(r2)
/* 8027F6C0 0027C620  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8027F6C4 0027C624  4C 40 13 82 */	cror 2, 0, 2
/* 8027F6C8 0027C628  40 82 00 3C */	bne lbl_8027F704
/* 8027F6CC 0027C62C  81 9D 00 00 */	lwz r12, 0(r29)
/* 8027F6D0 0027C630  3C 80 80 5A */	lis r4, sZeroVector__9CVector3f@ha
/* 8027F6D4 0027C634  38 A4 66 A0 */	addi r5, r4, sZeroVector__9CVector3f@l
/* 8027F6D8 0027C638  7F A3 EB 78 */	mr r3, r29
/* 8027F6DC 0027C63C  81 8C 00 84 */	lwz r12, 0x84(r12)
/* 8027F6E0 0027C640  7F C4 F3 78 */	mr r4, r30
/* 8027F6E4 0027C644  38 C0 00 14 */	li r6, 0x14
/* 8027F6E8 0027C648  7D 89 03 A6 */	mtctr r12
/* 8027F6EC 0027C64C  4E 80 04 21 */	bctrl
/* 8027F6F0 0027C650  7F A3 EB 78 */	mr r3, r29
/* 8027F6F4 0027C654  7F C6 F3 78 */	mr r6, r30
/* 8027F6F8 0027C658  38 80 00 29 */	li r4, 0x29
/* 8027F6FC 0027C65C  38 A0 00 28 */	li r5, 0x28
/* 8027F700 0027C660  4B DD 47 D5 */	bl RemoveMaterial__6CActorF14EMaterialTypes14EMaterialTypesR13CStateManager
lbl_8027F704:
/* 8027F704 0027C664  E3 E1 00 38 */	psq_l f31, 56(r1), 0, qr0
/* 8027F708 0027C668  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8027F70C 0027C66C  CB E1 00 30 */	lfd f31, 0x30(r1)
/* 8027F710 0027C670  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 8027F714 0027C674  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 8027F718 0027C678  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 8027F71C 0027C67C  7C 08 03 A6 */	mtlr r0
/* 8027F720 0027C680  38 21 00 40 */	addi r1, r1, 0x40
/* 8027F724 0027C684  4E 80 00 20 */	blr

.global sub_8027f728
sub_8027f728:
/* 8027F728 0027C688  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8027F72C 0027C68C  7C 08 02 A6 */	mflr r0
/* 8027F730 0027C690  90 01 00 34 */	stw r0, 0x34(r1)
/* 8027F734 0027C694  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8027F738 0027C698  93 C1 00 28 */	stw r30, 0x28(r1)
/* 8027F73C 0027C69C  93 A1 00 24 */	stw r29, 0x24(r1)
/* 8027F740 0027C6A0  7C 9D 23 78 */	mr r29, r4
/* 8027F744 0027C6A4  93 81 00 20 */	stw r28, 0x20(r1)
/* 8027F748 0027C6A8  7C 7C 1B 78 */	mr r28, r3
/* 8027F74C 0027C6AC  81 83 00 00 */	lwz r12, 0(r3)
/* 8027F750 0027C6B0  81 8C 00 34 */	lwz r12, 0x34(r12)
/* 8027F754 0027C6B4  7D 89 03 A6 */	mtctr r12
/* 8027F758 0027C6B8  4E 80 04 21 */	bctrl
/* 8027F75C 0027C6BC  A0 1C 07 06 */	lhz r0, 0x706(r28)
/* 8027F760 0027C6C0  7C 7F 1B 78 */	mr r31, r3
/* 8027F764 0027C6C4  7F A3 EB 78 */	mr r3, r29
/* 8027F768 0027C6C8  38 81 00 08 */	addi r4, r1, 8
/* 8027F76C 0027C6CC  B0 01 00 08 */	sth r0, 8(r1)
/* 8027F770 0027C6D0  4B DC CE 05 */	bl ObjectById__13CStateManagerF9TUniqueId
/* 8027F774 0027C6D4  7C 64 1B 78 */	mr r4, r3
/* 8027F778 0027C6D8  38 61 00 0C */	addi r3, r1, 0xc
/* 8027F77C 0027C6DC  4B E2 FB D1 */	bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity"
/* 8027F780 0027C6E0  83 C3 00 04 */	lwz r30, 4(r3)
/* 8027F784 0027C6E4  28 1E 00 00 */	cmplwi r30, 0
/* 8027F788 0027C6E8  41 82 00 4C */	beq lbl_8027F7D4
/* 8027F78C 0027C6EC  7F C3 F3 78 */	mr r3, r30
/* 8027F790 0027C6F0  7F A4 EB 78 */	mr r4, r29
/* 8027F794 0027C6F4  81 9E 00 00 */	lwz r12, 0(r30)
/* 8027F798 0027C6F8  81 8C 00 34 */	lwz r12, 0x34(r12)
/* 8027F79C 0027C6FC  7D 89 03 A6 */	mtctr r12
/* 8027F7A0 0027C700  4E 80 04 21 */	bctrl
/* 8027F7A4 0027C704  C0 1F 00 00 */	lfs f0, 0(r31)
/* 8027F7A8 0027C708  D0 03 00 00 */	stfs f0, 0(r3)
/* 8027F7AC 0027C70C  C0 1F 00 04 */	lfs f0, 4(r31)
/* 8027F7B0 0027C710  D0 03 00 04 */	stfs f0, 4(r3)
/* 8027F7B4 0027C714  7F 83 E3 78 */	mr r3, r28
/* 8027F7B8 0027C718  81 9C 00 00 */	lwz r12, 0(r28)
/* 8027F7BC 0027C71C  81 8C 00 38 */	lwz r12, 0x38(r12)
/* 8027F7C0 0027C720  7D 89 03 A6 */	mtctr r12
/* 8027F7C4 0027C724  4E 80 04 21 */	bctrl
/* 8027F7C8 0027C728  7C 64 1B 78 */	mr r4, r3
/* 8027F7CC 0027C72C  7F C3 F3 78 */	mr r3, r30
/* 8027F7D0 0027C730  4B F2 93 C9 */	bl SetDamageVulnerability__15CCollisionActorFRC20CDamageVulnerability
lbl_8027F7D4:
/* 8027F7D4 0027C734  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8027F7D8 0027C738  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 8027F7DC 0027C73C  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 8027F7E0 0027C740  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 8027F7E4 0027C744  83 81 00 20 */	lwz r28, 0x20(r1)
/* 8027F7E8 0027C748  7C 08 03 A6 */	mtlr r0
/* 8027F7EC 0027C74C  38 21 00 30 */	addi r1, r1, 0x30
/* 8027F7F0 0027C750  4E 80 00 20 */	blr

.global sub_8027f7f4
sub_8027f7f4:
/* 8027F7F4 0027C754  94 21 FF 20 */	stwu r1, -0xe0(r1)
/* 8027F7F8 0027C758  7C 08 02 A6 */	mflr r0
/* 8027F7FC 0027C75C  90 01 00 E4 */	stw r0, 0xe4(r1)
/* 8027F800 0027C760  BF 21 00 C4 */	stmw r25, 0xc4(r1)
/* 8027F804 0027C764  7C B9 2B 78 */	mr r25, r5
/* 8027F808 0027C768  7C DA 33 78 */	mr r26, r6
/* 8027F80C 0027C76C  7C 9E 23 78 */	mr r30, r4
/* 8027F810 0027C770  3B A1 00 60 */	addi r29, r1, 0x60
/* 8027F814 0027C774  3B 81 00 A4 */	addi r28, r1, 0xa4
/* 8027F818 0027C778  3B 60 00 00 */	li r27, 0
/* 8027F81C 0027C77C  80 63 00 64 */	lwz r3, 0x64(r3)
/* 8027F820 0027C780  83 E3 00 10 */	lwz r31, 0x10(r3)
/* 8027F824 0027C784  48 00 01 20 */	b lbl_8027F944
lbl_8027F828:
/* 8027F828 0027C788  80 9E 00 00 */	lwz r4, 0(r30)
/* 8027F82C 0027C78C  38 61 00 24 */	addi r3, r1, 0x24
/* 8027F830 0027C790  4B D8 54 89 */	bl string_l__4rstlFPCc
/* 8027F834 0027C794  7F E4 FB 78 */	mr r4, r31
/* 8027F838 0027C798  38 61 00 0C */	addi r3, r1, 0xc
/* 8027F83C 0027C79C  38 A1 00 24 */	addi r5, r1, 0x24
/* 8027F840 0027C7A0  4B DA EF F9 */	bl "GetLocatorSegId__9CAnimDataCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8027F844 0027C7A4  88 01 00 0C */	lbz r0, 0xc(r1)
/* 8027F848 0027C7A8  38 61 00 24 */	addi r3, r1, 0x24
/* 8027F84C 0027C7AC  98 01 00 10 */	stb r0, 0x10(r1)
/* 8027F850 0027C7B0  48 0B E2 91 */	bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8027F854 0027C7B4  88 01 00 10 */	lbz r0, 0x10(r1)
/* 8027F858 0027C7B8  28 00 00 FF */	cmplwi r0, 0xff
/* 8027F85C 0027C7BC  41 82 00 E0 */	beq lbl_8027F93C
/* 8027F860 0027C7C0  80 9E 00 00 */	lwz r4, 0(r30)
/* 8027F864 0027C7C4  38 61 00 14 */	addi r3, r1, 0x14
/* 8027F868 0027C7C8  4B D8 54 51 */	bl string_l__4rstlFPCc
/* 8027F86C 0027C7CC  88 01 00 10 */	lbz r0, 0x10(r1)
/* 8027F870 0027C7D0  38 61 00 34 */	addi r3, r1, 0x34
/* 8027F874 0027C7D4  C0 3E 00 04 */	lfs f1, 4(r30)
/* 8027F878 0027C7D8  38 81 00 08 */	addi r4, r1, 8
/* 8027F87C 0027C7DC  98 01 00 08 */	stb r0, 8(r1)
/* 8027F880 0027C7E0  38 A1 00 14 */	addi r5, r1, 0x14
/* 8027F884 0027C7E4  C0 42 BD 14 */	lfs f2, lbl_805ADA34@sda21(r2)
/* 8027F888 0027C7E8  4B F2 8F 85 */	bl "SphereCollision__26CJointCollisionDescriptionF6CSegIdfRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>f"
/* 8027F88C 0027C7EC  80 E1 00 34 */	lwz r7, 0x34(r1)
/* 8027F890 0027C7F0  7F 83 E3 78 */	mr r3, r28
/* 8027F894 0027C7F4  80 C1 00 38 */	lwz r6, 0x38(r1)
/* 8027F898 0027C7F8  7F A4 EB 78 */	mr r4, r29
/* 8027F89C 0027C7FC  88 A1 00 3C */	lbz r5, 0x3c(r1)
/* 8027F8A0 0027C800  88 01 00 3D */	lbz r0, 0x3d(r1)
/* 8027F8A4 0027C804  C0 E1 00 40 */	lfs f7, 0x40(r1)
/* 8027F8A8 0027C808  C0 C1 00 44 */	lfs f6, 0x44(r1)
/* 8027F8AC 0027C80C  C0 A1 00 48 */	lfs f5, 0x48(r1)
/* 8027F8B0 0027C810  C0 81 00 4C */	lfs f4, 0x4c(r1)
/* 8027F8B4 0027C814  C0 61 00 50 */	lfs f3, 0x50(r1)
/* 8027F8B8 0027C818  C0 41 00 54 */	lfs f2, 0x54(r1)
/* 8027F8BC 0027C81C  C0 21 00 58 */	lfs f1, 0x58(r1)
/* 8027F8C0 0027C820  C0 01 00 5C */	lfs f0, 0x5c(r1)
/* 8027F8C4 0027C824  90 E1 00 78 */	stw r7, 0x78(r1)
/* 8027F8C8 0027C828  90 C1 00 7C */	stw r6, 0x7c(r1)
/* 8027F8CC 0027C82C  98 A1 00 80 */	stb r5, 0x80(r1)
/* 8027F8D0 0027C830  98 01 00 81 */	stb r0, 0x81(r1)
/* 8027F8D4 0027C834  D0 E1 00 84 */	stfs f7, 0x84(r1)
/* 8027F8D8 0027C838  D0 C1 00 88 */	stfs f6, 0x88(r1)
/* 8027F8DC 0027C83C  D0 A1 00 8C */	stfs f5, 0x8c(r1)
/* 8027F8E0 0027C840  D0 81 00 90 */	stfs f4, 0x90(r1)
/* 8027F8E4 0027C844  D0 61 00 94 */	stfs f3, 0x94(r1)
/* 8027F8E8 0027C848  D0 41 00 98 */	stfs f2, 0x98(r1)
/* 8027F8EC 0027C84C  D0 21 00 9C */	stfs f1, 0x9c(r1)
/* 8027F8F0 0027C850  D0 01 00 A0 */	stfs f0, 0xa0(r1)
/* 8027F8F4 0027C854  48 0B E8 6D */	bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8027F8F8 0027C858  A0 01 00 70 */	lhz r0, 0x70(r1)
/* 8027F8FC 0027C85C  28 1D 00 00 */	cmplwi r29, 0
/* 8027F900 0027C860  C0 01 00 74 */	lfs f0, 0x74(r1)
/* 8027F904 0027C864  B0 01 00 B4 */	sth r0, 0xb4(r1)
/* 8027F908 0027C868  D0 01 00 B8 */	stfs f0, 0xb8(r1)
/* 8027F90C 0027C86C  41 82 00 0C */	beq lbl_8027F918
/* 8027F910 0027C870  7F A3 EB 78 */	mr r3, r29
/* 8027F914 0027C874  48 0B E1 CD */	bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8027F918:
/* 8027F918 0027C878  38 61 00 14 */	addi r3, r1, 0x14
/* 8027F91C 0027C87C  48 0B E1 C5 */	bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8027F920 0027C880  7F 43 D3 78 */	mr r3, r26
/* 8027F924 0027C884  38 81 00 78 */	addi r4, r1, 0x78
/* 8027F928 0027C888  4B ED 69 09 */	bl sub_80156230
/* 8027F92C 0027C88C  28 1C 00 00 */	cmplwi r28, 0
/* 8027F930 0027C890  41 82 00 0C */	beq lbl_8027F93C
/* 8027F934 0027C894  7F 83 E3 78 */	mr r3, r28
/* 8027F938 0027C898  48 0B E1 A9 */	bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_8027F93C:
/* 8027F93C 0027C89C  3B DE 00 08 */	addi r30, r30, 8
/* 8027F940 0027C8A0  3B 7B 00 01 */	addi r27, r27, 1
lbl_8027F944:
/* 8027F944 0027C8A4  7C 1B C8 00 */	cmpw r27, r25
/* 8027F948 0027C8A8  41 80 FE E0 */	blt lbl_8027F828
/* 8027F94C 0027C8AC  BB 21 00 C4 */	lmw r25, 0xc4(r1)
/* 8027F950 0027C8B0  80 01 00 E4 */	lwz r0, 0xe4(r1)
/* 8027F954 0027C8B4  7C 08 03 A6 */	mtlr r0
/* 8027F958 0027C8B8  38 21 00 E0 */	addi r1, r1, 0xe0
/* 8027F95C 0027C8BC  4E 80 00 20 */	blr

.global sub_8027f960
sub_8027f960:
/* 8027F960 0027C8C0  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 8027F964 0027C8C4  7C 08 02 A6 */	mflr r0
/* 8027F968 0027C8C8  90 01 00 74 */	stw r0, 0x74(r1)
/* 8027F96C 0027C8CC  38 00 00 00 */	li r0, 0
/* 8027F970 0027C8D0  93 E1 00 6C */	stw r31, 0x6c(r1)
/* 8027F974 0027C8D4  7C 9F 23 78 */	mr r31, r4
/* 8027F978 0027C8D8  38 80 00 01 */	li r4, 1
/* 8027F97C 0027C8DC  93 C1 00 68 */	stw r30, 0x68(r1)
/* 8027F980 0027C8E0  7C 7E 1B 78 */	mr r30, r3
/* 8027F984 0027C8E4  38 61 00 38 */	addi r3, r1, 0x38
/* 8027F988 0027C8E8  93 A1 00 64 */	stw r29, 0x64(r1)
/* 8027F98C 0027C8EC  93 81 00 60 */	stw r28, 0x60(r1)
/* 8027F990 0027C8F0  90 01 00 3C */	stw r0, 0x3c(r1)
/* 8027F994 0027C8F4  90 01 00 40 */	stw r0, 0x40(r1)
/* 8027F998 0027C8F8  90 01 00 44 */	stw r0, 0x44(r1)
/* 8027F99C 0027C8FC  4B ED 6E 1D */	bl "reserve__Q24rstl63vector<26CJointCollisionDescription,Q24rstl17rmemory_allocator>Fi"
/* 8027F9A0 0027C900  7F C3 F3 78 */	mr r3, r30
/* 8027F9A4 0027C904  38 C1 00 38 */	addi r6, r1, 0x38
/* 8027F9A8 0027C908  38 8D 98 E4 */	addi r4, r13, lbl_805A84A4@sda21
/* 8027F9AC 0027C90C  38 A0 00 01 */	li r5, 1
/* 8027F9B0 0027C910  4B FF FE 45 */	bl sub_8027f7f4
/* 8027F9B4 0027C914  3C 80 80 3D */	lis r4, lbl_803D589C@ha
/* 8027F9B8 0027C918  38 60 00 18 */	li r3, 0x18
/* 8027F9BC 0027C91C  38 84 58 9C */	addi r4, r4, lbl_803D589C@l
/* 8027F9C0 0027C920  38 A0 00 00 */	li r5, 0
/* 8027F9C4 0027C924  38 84 00 1D */	addi r4, r4, 0x1d
/* 8027F9C8 0027C928  48 09 5E A5 */	bl __nw__FUlPCcPCc
/* 8027F9CC 0027C92C  7C 7D 1B 79 */	or. r29, r3, r3
/* 8027F9D0 0027C930  41 82 00 38 */	beq lbl_8027FA08
/* 8027F9D4 0027C934  81 3E 00 04 */	lwz r9, 4(r30)
/* 8027F9D8 0027C938  7F E4 FB 78 */	mr r4, r31
/* 8027F9DC 0027C93C  38 A1 00 10 */	addi r5, r1, 0x10
/* 8027F9E0 0027C940  38 C1 00 1C */	addi r6, r1, 0x1c
/* 8027F9E4 0027C944  91 21 00 1C */	stw r9, 0x1c(r1)
/* 8027F9E8 0027C948  38 E1 00 38 */	addi r7, r1, 0x38
/* 8027F9EC 0027C94C  39 00 00 00 */	li r8, 0
/* 8027F9F0 0027C950  A0 1E 00 08 */	lhz r0, 8(r30)
/* 8027F9F4 0027C954  91 21 00 18 */	stw r9, 0x18(r1)
/* 8027F9F8 0027C958  B0 01 00 0C */	sth r0, 0xc(r1)
/* 8027F9FC 0027C95C  B0 01 00 10 */	sth r0, 0x10(r1)
/* 8027FA00 0027C960  4B F2 7F 31 */	bl "__ct__22CCollisionActorManagerFR13CStateManager9TUniqueId7TAreaIdRCQ24rstl63vector<26CJointCollisionDescription,Q24rstl17rmemory_allocator>b"
/* 8027FA04 0027C964  7C 7D 1B 78 */	mr r29, r3
lbl_8027FA08:
/* 8027FA08 0027C968  80 7E 06 58 */	lwz r3, 0x658(r30)
/* 8027FA0C 0027C96C  38 80 00 01 */	li r4, 1
/* 8027FA10 0027C970  4B F2 7E CD */	bl sub_801a78dc
/* 8027FA14 0027C974  93 BE 06 58 */	stw r29, 0x658(r30)
/* 8027FA18 0027C978  7F E4 FB 78 */	mr r4, r31
/* 8027FA1C 0027C97C  88 1E 00 30 */	lbz r0, 0x30(r30)
/* 8027FA20 0027C980  80 7E 06 58 */	lwz r3, 0x658(r30)
/* 8027FA24 0027C984  54 05 CF FE */	rlwinm r5, r0, 0x19, 0x1f, 0x1f
/* 8027FA28 0027C988  4B F2 78 D1 */	bl SetActive__22CCollisionActorManagerFR13CStateManagerb
/* 8027FA2C 0027C98C  3B 80 00 00 */	li r28, 0
/* 8027FA30 0027C990  48 00 00 7C */	b lbl_8027FAAC
lbl_8027FA34:
/* 8027FA34 0027C994  80 7E 06 58 */	lwz r3, 0x658(r30)
/* 8027FA38 0027C998  7F 84 E3 78 */	mr r4, r28
/* 8027FA3C 0027C99C  4B F2 77 FD */	bl GetCollisionDescFromIndex__22CCollisionActorManagerCFUi
/* 8027FA40 0027C9A0  7C 7D 1B 78 */	mr r29, r3
/* 8027FA44 0027C9A4  7F E3 FB 78 */	mr r3, r31
/* 8027FA48 0027C9A8  A0 1D 00 3C */	lhz r0, 0x3c(r29)
/* 8027FA4C 0027C9AC  38 81 00 08 */	addi r4, r1, 8
/* 8027FA50 0027C9B0  B0 01 00 14 */	sth r0, 0x14(r1)
/* 8027FA54 0027C9B4  B0 01 00 08 */	sth r0, 8(r1)
/* 8027FA58 0027C9B8  4B DC CB 1D */	bl ObjectById__13CStateManagerF9TUniqueId
/* 8027FA5C 0027C9BC  7C 64 1B 78 */	mr r4, r3
/* 8027FA60 0027C9C0  38 61 00 20 */	addi r3, r1, 0x20
/* 8027FA64 0027C9C4  4B E2 F8 E9 */	bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity"
/* 8027FA68 0027C9C8  80 03 00 04 */	lwz r0, 4(r3)
/* 8027FA6C 0027C9CC  28 00 00 00 */	cmplwi r0, 0
/* 8027FA70 0027C9D0  41 82 00 38 */	beq lbl_8027FAA8
/* 8027FA74 0027C9D4  80 82 BD 00 */	lwz r4, lbl_805ADA20@sda21(r2)
/* 8027FA78 0027C9D8  38 61 00 28 */	addi r3, r1, 0x28
/* 8027FA7C 0027C9DC  4B D8 52 3D */	bl string_l__4rstlFPCc
/* 8027FA80 0027C9E0  38 7D 00 2C */	addi r3, r29, 0x2c
/* 8027FA84 0027C9E4  38 81 00 28 */	addi r4, r1, 0x28
/* 8027FA88 0027C9E8  4B DD 2B 59 */	bl "find__Q24rstl418red_black_tree<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,Q24rstl83pair<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,s>,0,Q24rstl103select1st<Q24rstl83pair<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>,s>>,Q24rstl81less<Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>>,Q24rstl17rmemory_allocator>CFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocat"
/* 8027FA8C 0027C9EC  7C 7D 1B 78 */	mr r29, r3
/* 8027FA90 0027C9F0  38 61 00 28 */	addi r3, r1, 0x28
/* 8027FA94 0027C9F4  48 0B E0 4D */	bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 8027FA98 0027C9F8  57 A0 06 3F */	clrlwi. r0, r29, 0x18
/* 8027FA9C 0027C9FC  41 82 00 0C */	beq lbl_8027FAA8
/* 8027FAA0 0027CA00  A0 01 00 14 */	lhz r0, 0x14(r1)
/* 8027FAA4 0027CA04  B0 1E 07 06 */	sth r0, 0x706(r30)
lbl_8027FAA8:
/* 8027FAA8 0027CA08  3B 9C 00 01 */	addi r28, r28, 1
lbl_8027FAAC:
/* 8027FAAC 0027CA0C  80 7E 06 58 */	lwz r3, 0x658(r30)
/* 8027FAB0 0027CA10  4B F2 77 99 */	bl GetNumCollisionActors__22CCollisionActorManagerCFv
/* 8027FAB4 0027CA14  7C 1C 18 40 */	cmplw r28, r3
/* 8027FAB8 0027CA18  41 80 FF 7C */	blt lbl_8027FA34
/* 8027FABC 0027CA1C  7F C3 F3 78 */	mr r3, r30
/* 8027FAC0 0027CA20  7F E4 FB 78 */	mr r4, r31
/* 8027FAC4 0027CA24  4B FF FC 65 */	bl sub_8027f728
/* 8027FAC8 0027CA28  80 AD 98 F0 */	lwz r5, lbl_805A84B0@sda21(r13)
/* 8027FACC 0027CA2C  38 60 00 00 */	li r3, 0
/* 8027FAD0 0027CA30  38 80 00 01 */	li r4, 1
/* 8027FAD4 0027CA34  48 10 A4 21 */	bl __shl2i
/* 8027FAD8 0027CA38  80 AD 98 F4 */	lwz r5, lbl_805A84B4@sda21(r13)
/* 8027FADC 0027CA3C  7C 9C 23 78 */	mr r28, r4
/* 8027FAE0 0027CA40  7C 7D 1B 78 */	mr r29, r3
/* 8027FAE4 0027CA44  38 60 00 00 */	li r3, 0
/* 8027FAE8 0027CA48  38 80 00 01 */	li r4, 1
/* 8027FAEC 0027CA4C  48 10 A4 09 */	bl __shl2i
/* 8027FAF0 0027CA50  80 AD 98 F8 */	lwz r5, lbl_805A84B8@sda21(r13)
/* 8027FAF4 0027CA54  7F 9C 23 78 */	or r28, r28, r4
/* 8027FAF8 0027CA58  7F BD 1B 78 */	or r29, r29, r3
/* 8027FAFC 0027CA5C  38 60 00 00 */	li r3, 0
/* 8027FB00 0027CA60  38 80 00 01 */	li r4, 1
/* 8027FB04 0027CA64  48 10 A3 F1 */	bl __shl2i
/* 8027FB08 0027CA68  80 AD 98 EC */	lwz r5, lbl_805A84AC@sda21(r13)
/* 8027FB0C 0027CA6C  7F 9C 23 78 */	or r28, r28, r4
/* 8027FB10 0027CA70  7F BD 1B 78 */	or r29, r29, r3
/* 8027FB14 0027CA74  38 60 00 00 */	li r3, 0
/* 8027FB18 0027CA78  38 80 00 01 */	li r4, 1
/* 8027FB1C 0027CA7C  48 10 A3 D9 */	bl __shl2i
/* 8027FB20 0027CA80  38 00 00 03 */	li r0, 3
/* 8027FB24 0027CA84  90 81 00 4C */	stw r4, 0x4c(r1)
/* 8027FB28 0027CA88  38 81 00 48 */	addi r4, r1, 0x48
/* 8027FB2C 0027CA8C  90 61 00 48 */	stw r3, 0x48(r1)
/* 8027FB30 0027CA90  7F C3 F3 78 */	mr r3, r30
/* 8027FB34 0027CA94  93 81 00 54 */	stw r28, 0x54(r1)
/* 8027FB38 0027CA98  93 A1 00 50 */	stw r29, 0x50(r1)
/* 8027FB3C 0027CA9C  90 01 00 58 */	stw r0, 0x58(r1)
/* 8027FB40 0027CAA0  4B DD 3D 61 */	bl SetMaterialFilter__6CActorFRC15CMaterialFilter
/* 8027FB44 0027CAA4  7F C3 F3 78 */	mr r3, r30
/* 8027FB48 0027CAA8  7F E5 FB 78 */	mr r5, r31
/* 8027FB4C 0027CAAC  38 80 00 12 */	li r4, 0x12
/* 8027FB50 0027CAB0  4B DD 48 01 */	bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager
/* 8027FB54 0027CAB4  38 61 00 38 */	addi r3, r1, 0x38
/* 8027FB58 0027CAB8  38 80 FF FF */	li r4, -1
/* 8027FB5C 0027CABC  4B ED 67 D1 */	bl sub_8015632c
/* 8027FB60 0027CAC0  80 01 00 74 */	lwz r0, 0x74(r1)
/* 8027FB64 0027CAC4  83 E1 00 6C */	lwz r31, 0x6c(r1)
/* 8027FB68 0027CAC8  83 C1 00 68 */	lwz r30, 0x68(r1)
/* 8027FB6C 0027CACC  83 A1 00 64 */	lwz r29, 0x64(r1)
/* 8027FB70 0027CAD0  83 81 00 60 */	lwz r28, 0x60(r1)
/* 8027FB74 0027CAD4  7C 08 03 A6 */	mtlr r0
/* 8027FB78 0027CAD8  38 21 00 70 */	addi r1, r1, 0x70
/* 8027FB7C 0027CADC  4E 80 00 20 */	blr

.global AcceptScriptMsg__20CMetroidPrimeEssenceF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__20CMetroidPrimeEssenceF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 8027FB80 0027CAE0  94 21 FF 00 */	stwu r1, -0x100(r1)
/* 8027FB84 0027CAE4  7C 08 02 A6 */	mflr r0
/* 8027FB88 0027CAE8  90 01 01 04 */	stw r0, 0x104(r1)
/* 8027FB8C 0027CAEC  93 E1 00 FC */	stw r31, 0xfc(r1)
/* 8027FB90 0027CAF0  7C DF 33 78 */	mr r31, r6
/* 8027FB94 0027CAF4  93 C1 00 F8 */	stw r30, 0xf8(r1)
/* 8027FB98 0027CAF8  7C BE 2B 78 */	mr r30, r5
/* 8027FB9C 0027CAFC  93 A1 00 F4 */	stw r29, 0xf4(r1)
/* 8027FBA0 0027CB00  7C 7D 1B 78 */	mr r29, r3
/* 8027FBA4 0027CB04  93 81 00 F0 */	stw r28, 0xf0(r1)
/* 8027FBA8 0027CB08  7C 9C 23 78 */	mr r28, r4
/* 8027FBAC 0027CB0C  A0 05 00 00 */	lhz r0, 0(r5)
/* 8027FBB0 0027CB10  38 A1 00 50 */	addi r5, r1, 0x50
/* 8027FBB4 0027CB14  B0 01 00 50 */	sth r0, 0x50(r1)
/* 8027FBB8 0027CB18  4B DF CF C1 */	bl AcceptScriptMsg__10CPatternedF20EScriptObjectMessage9TUniqueIdR13CStateManager
/* 8027FBBC 0027CB1C  28 1C 00 2A */	cmplwi r28, 0x2a
/* 8027FBC0 0027CB20  41 81 04 B8 */	bgt lbl_80280078
/* 8027FBC4 0027CB24  3C 60 80 3F */	lis r3, lbl_803EB58C@ha
/* 8027FBC8 0027CB28  57 80 10 3A */	slwi r0, r28, 2
/* 8027FBCC 0027CB2C  38 63 B5 8C */	addi r3, r3, lbl_803EB58C@l
/* 8027FBD0 0027CB30  7C 03 00 2E */	lwzx r0, r3, r0
/* 8027FBD4 0027CB34  7C 09 03 A6 */	mtctr r0
/* 8027FBD8 0027CB38  4E 80 04 20 */	bctr
.global lbl_8027FBDC
lbl_8027FBDC:
/* 8027FBDC 0027CB3C  7F A3 EB 78 */	mr r3, r29
/* 8027FBE0 0027CB40  7F E4 FB 78 */	mr r4, r31
/* 8027FBE4 0027CB44  4B FF FD 7D */	bl sub_8027f960
/* 8027FBE8 0027CB48  80 7D 06 58 */	lwz r3, 0x658(r29)
/* 8027FBEC 0027CB4C  7F E4 FB 78 */	mr r4, r31
/* 8027FBF0 0027CB50  38 A0 00 01 */	li r5, 1
/* 8027FBF4 0027CB54  4B F2 77 05 */	bl SetActive__22CCollisionActorManagerFR13CStateManagerb
/* 8027FBF8 0027CB58  80 BD 00 64 */	lwz r5, 0x64(r29)
/* 8027FBFC 0027CB5C  7F A3 EB 78 */	mr r3, r29
/* 8027FC00 0027CB60  C0 02 BD 68 */	lfs f0, lbl_805ADA88@sda21(r2)
/* 8027FC04 0027CB64  7F E4 FB 78 */	mr r4, r31
/* 8027FC08 0027CB68  C0 45 00 00 */	lfs f2, 0(r5)
/* 8027FC0C 0027CB6C  C0 22 BD 6C */	lfs f1, lbl_805ADA8C@sda21(r2)
/* 8027FC10 0027CB70  D0 5D 06 CC */	stfs f2, 0x6cc(r29)
/* 8027FC14 0027CB74  C0 42 BD 3C */	lfs f2, lbl_805ADA5C@sda21(r2)
/* 8027FC18 0027CB78  C0 7D 06 CC */	lfs f3, 0x6cc(r29)
/* 8027FC1C 0027CB7C  EC 00 18 FA */	fmadds f0, f0, f3, f3
/* 8027FC20 0027CB80  D0 1D 06 D0 */	stfs f0, 0x6d0(r29)
/* 8027FC24 0027CB84  C0 1D 06 CC */	lfs f0, 0x6cc(r29)
/* 8027FC28 0027CB88  EC 01 00 32 */	fmuls f0, f1, f0
/* 8027FC2C 0027CB8C  EC 02 00 24 */	fdivs f0, f2, f0
/* 8027FC30 0027CB90  D0 1D 05 5C */	stfs f0, 0x55c(r29)
/* 8027FC34 0027CB94  D0 1D 05 60 */	stfs f0, 0x560(r29)
/* 8027FC38 0027CB98  D0 1D 05 64 */	stfs f0, 0x564(r29)
/* 8027FC3C 0027CB9C  81 9D 00 00 */	lwz r12, 0(r29)
/* 8027FC40 0027CBA0  81 8C 00 34 */	lwz r12, 0x34(r12)
/* 8027FC44 0027CBA4  7D 89 03 A6 */	mtctr r12
/* 8027FC48 0027CBA8  4E 80 04 21 */	bctrl
/* 8027FC4C 0027CBAC  C0 43 00 00 */	lfs f2, 0(r3)
/* 8027FC50 0027CBB0  C0 22 BD 70 */	lfs f1, lbl_805ADA90@sda21(r2)
/* 8027FC54 0027CBB4  C0 02 BD 10 */	lfs f0, lbl_805ADA30@sda21(r2)
/* 8027FC58 0027CBB8  EC 21 00 B2 */	fmuls f1, f1, f2
/* 8027FC5C 0027CBBC  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 8027FC60 0027CBC0  D0 3D 06 C0 */	stfs f1, 0x6c0(r29)
/* 8027FC64 0027CBC4  40 81 00 10 */	ble lbl_8027FC74
/* 8027FC68 0027CBC8  C0 02 BD 3C */	lfs f0, lbl_805ADA5C@sda21(r2)
/* 8027FC6C 0027CBCC  EC 00 10 24 */	fdivs f0, f0, f2
/* 8027FC70 0027CBD0  D0 1D 06 C4 */	stfs f0, 0x6c4(r29)
lbl_8027FC74:
/* 8027FC74 0027CBD4  80 7D 04 50 */	lwz r3, 0x450(r29)
/* 8027FC78 0027CBD8  7F E4 FB 78 */	mr r4, r31
/* 8027FC7C 0027CBDC  4B EB B0 75 */	bl Activate__15CBodyControllerFR13CStateManager
/* 8027FC80 0027CBE0  48 00 03 F8 */	b lbl_80280078
.global lbl_8027FC84
lbl_8027FC84:
/* 8027FC84 0027CBE4  80 FD 00 04 */	lwz r7, 4(r29)
/* 8027FC88 0027CBE8  7F A4 EB 78 */	mr r4, r29
/* 8027FC8C 0027CBEC  80 DF 08 50 */	lwz r6, 0x850(r31)
/* 8027FC90 0027CBF0  7F E5 FB 78 */	mr r5, r31
/* 8027FC94 0027CBF4  54 E3 18 38 */	slwi r3, r7, 3
/* 8027FC98 0027CBF8  90 E1 00 5C */	stw r7, 0x5c(r1)
/* 8027FC9C 0027CBFC  80 C6 00 20 */	lwz r6, 0x20(r6)
/* 8027FCA0 0027CC00  38 03 00 04 */	addi r0, r3, 4
/* 8027FCA4 0027CC04  90 E1 00 58 */	stw r7, 0x58(r1)
/* 8027FCA8 0027CC08  38 61 00 4C */	addi r3, r1, 0x4c
/* 8027FCAC 0027CC0C  7D 06 00 2E */	lwzx r8, r6, r0
/* 8027FCB0 0027CC10  38 C0 00 12 */	li r6, 0x12
/* 8027FCB4 0027CC14  38 E0 00 01 */	li r7, 1
/* 8027FCB8 0027CC18  81 08 01 2C */	lwz r8, 0x12c(r8)
/* 8027FCBC 0027CC1C  80 08 10 BC */	lwz r0, 0x10bc(r8)
/* 8027FCC0 0027CC20  90 1D 05 74 */	stw r0, 0x574(r29)
/* 8027FCC4 0027CC24  4B F7 52 D5 */	bl GetWaypointForState__10CPatternedFR13CStateManager18EScriptObjectState
/* 8027FCC8 0027CC28  A0 01 00 4C */	lhz r0, 0x4c(r1)
/* 8027FCCC 0027CC2C  B0 1D 07 04 */	sth r0, 0x704(r29)
/* 8027FCD0 0027CC30  48 00 03 A8 */	b lbl_80280078
.global lbl_8027FCD4
lbl_8027FCD4:
/* 8027FCD4 0027CC34  80 7D 06 58 */	lwz r3, 0x658(r29)
/* 8027FCD8 0027CC38  7F E4 FB 78 */	mr r4, r31
/* 8027FCDC 0027CC3C  38 A0 00 01 */	li r5, 1
/* 8027FCE0 0027CC40  4B F2 76 19 */	bl SetActive__22CCollisionActorManagerFR13CStateManagerb
/* 8027FCE4 0027CC44  48 00 03 94 */	b lbl_80280078
.global lbl_8027FCE8
lbl_8027FCE8:
/* 8027FCE8 0027CC48  80 7D 06 58 */	lwz r3, 0x658(r29)
/* 8027FCEC 0027CC4C  7F E4 FB 78 */	mr r4, r31
/* 8027FCF0 0027CC50  38 A0 00 00 */	li r5, 0
/* 8027FCF4 0027CC54  4B F2 76 05 */	bl SetActive__22CCollisionActorManagerFR13CStateManagerb
/* 8027FCF8 0027CC58  48 00 03 80 */	b lbl_80280078
.global lbl_8027FCFC
lbl_8027FCFC:
/* 8027FCFC 0027CC5C  80 7D 06 58 */	lwz r3, 0x658(r29)
/* 8027FD00 0027CC60  7F E4 FB 78 */	mr r4, r31
/* 8027FD04 0027CC64  4B F2 76 C1 */	bl Destroy__22CCollisionActorManagerCFR13CStateManager
/* 8027FD08 0027CC68  A0 0D A3 8C */	lhz r0, kInvalidUniqueId@sda21(r13)
/* 8027FD0C 0027CC6C  7F E3 FB 78 */	mr r3, r31
/* 8027FD10 0027CC70  C0 22 BD 10 */	lfs f1, lbl_805ADA30@sda21(r2)
/* 8027FD14 0027CC74  38 81 00 48 */	addi r4, r1, 0x48
/* 8027FD18 0027CC78  B0 01 00 48 */	sth r0, 0x48(r1)
/* 8027FD1C 0027CC7C  38 A0 00 00 */	li r5, 0
/* 8027FD20 0027CC80  4B DC 42 25 */	bl SetBossParams__13CStateManagerF9TUniqueIdfUi
/* 8027FD24 0027CC84  48 00 03 54 */	b lbl_80280078
.global lbl_8027FD28
lbl_8027FD28:
/* 8027FD28 0027CC88  A0 1E 00 00 */	lhz r0, 0(r30)
/* 8027FD2C 0027CC8C  7F E3 FB 78 */	mr r3, r31
/* 8027FD30 0027CC90  38 81 00 44 */	addi r4, r1, 0x44
/* 8027FD34 0027CC94  B0 01 00 44 */	sth r0, 0x44(r1)
/* 8027FD38 0027CC98  4B DC C8 3D */	bl ObjectById__13CStateManagerF9TUniqueId
/* 8027FD3C 0027CC9C  7C 64 1B 78 */	mr r4, r3
/* 8027FD40 0027CCA0  38 61 00 78 */	addi r3, r1, 0x78
/* 8027FD44 0027CCA4  4B E2 F6 09 */	bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity"
/* 8027FD48 0027CCA8  80 83 00 04 */	lwz r4, 4(r3)
/* 8027FD4C 0027CCAC  28 04 00 00 */	cmplwi r4, 0
/* 8027FD50 0027CCB0  41 82 03 28 */	beq lbl_80280078
/* 8027FD54 0027CCB4  80 BF 08 4C */	lwz r5, 0x84c(r31)
/* 8027FD58 0027CCB8  38 61 00 40 */	addi r3, r1, 0x40
/* 8027FD5C 0027CCBC  A3 85 00 08 */	lhz r28, 8(r5)
/* 8027FD60 0027CCC0  4B F2 8E 2D */	bl GetLastTouchedObject__15CCollisionActorCFv
/* 8027FD64 0027CCC4  A0 01 00 40 */	lhz r0, 0x40(r1)
/* 8027FD68 0027CCC8  7C 00 E0 40 */	cmplw r0, r28
/* 8027FD6C 0027CCCC  40 82 03 0C */	bne lbl_80280078
/* 8027FD70 0027CCD0  C0 3D 04 20 */	lfs f1, 0x420(r29)
/* 8027FD74 0027CCD4  C0 02 BD 10 */	lfs f0, lbl_805ADA30@sda21(r2)
/* 8027FD78 0027CCD8  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8027FD7C 0027CCDC  4C 40 13 82 */	cror 2, 0, 2
/* 8027FD80 0027CCE0  40 82 02 F8 */	bne lbl_80280078
/* 8027FD84 0027CCE4  80 AD 98 E0 */	lwz r5, lbl_805A84A0@sda21(r13)
/* 8027FD88 0027CCE8  38 60 00 00 */	li r3, 0
/* 8027FD8C 0027CCEC  38 80 00 01 */	li r4, 1
/* 8027FD90 0027CCF0  48 10 A1 65 */	bl __shl2i
/* 8027FD94 0027CCF4  38 A0 00 00 */	li r5, 0
/* 8027FD98 0027CCF8  38 00 00 03 */	li r0, 3
/* 8027FD9C 0027CCFC  90 81 00 B4 */	stw r4, 0xb4(r1)
/* 8027FDA0 0027CD00  7F A4 EB 78 */	mr r4, r29
/* 8027FDA4 0027CD04  90 61 00 B0 */	stw r3, 0xb0(r1)
/* 8027FDA8 0027CD08  38 61 00 C8 */	addi r3, r1, 0xc8
/* 8027FDAC 0027CD0C  90 A1 00 BC */	stw r5, 0xbc(r1)
/* 8027FDB0 0027CD10  90 A1 00 B8 */	stw r5, 0xb8(r1)
/* 8027FDB4 0027CD14  90 01 00 C0 */	stw r0, 0xc0(r1)
/* 8027FDB8 0027CD18  A0 1D 00 08 */	lhz r0, 8(r29)
/* 8027FDBC 0027CD1C  B0 01 00 2C */	sth r0, 0x2c(r1)
/* 8027FDC0 0027CD20  80 BF 08 4C */	lwz r5, 0x84c(r31)
/* 8027FDC4 0027CD24  B0 01 00 28 */	sth r0, 0x28(r1)
/* 8027FDC8 0027CD28  A0 A5 00 08 */	lhz r5, 8(r5)
/* 8027FDCC 0027CD2C  B0 A1 00 34 */	sth r5, 0x34(r1)
/* 8027FDD0 0027CD30  A0 1D 00 08 */	lhz r0, 8(r29)
/* 8027FDD4 0027CD34  B0 A1 00 30 */	sth r5, 0x30(r1)
/* 8027FDD8 0027CD38  B0 01 00 3C */	sth r0, 0x3c(r1)
/* 8027FDDC 0027CD3C  81 9D 00 00 */	lwz r12, 0(r29)
/* 8027FDE0 0027CD40  B0 01 00 38 */	sth r0, 0x38(r1)
/* 8027FDE4 0027CD44  81 8C 02 B0 */	lwz r12, 0x2b0(r12)
/* 8027FDE8 0027CD48  7D 89 03 A6 */	mtctr r12
/* 8027FDEC 0027CD4C  4E 80 04 21 */	bctrl
/* 8027FDF0 0027CD50  3C 80 80 5A */	lis r4, sZeroVector__9CVector3f@ha
/* 8027FDF4 0027CD54  7F E3 FB 78 */	mr r3, r31
/* 8027FDF8 0027CD58  39 24 66 A0 */	addi r9, r4, sZeroVector__9CVector3f@l
/* 8027FDFC 0027CD5C  38 A1 00 34 */	addi r5, r1, 0x34
/* 8027FE00 0027CD60  38 81 00 3C */	addi r4, r1, 0x3c
/* 8027FE04 0027CD64  38 C1 00 2C */	addi r6, r1, 0x2c
/* 8027FE08 0027CD68  38 E1 00 C8 */	addi r7, r1, 0xc8
/* 8027FE0C 0027CD6C  39 01 00 B0 */	addi r8, r1, 0xb0
/* 8027FE10 0027CD70  4B DC A2 91 */	bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
/* 8027FE14 0027CD74  C0 1D 04 24 */	lfs f0, 0x424(r29)
/* 8027FE18 0027CD78  D0 1D 04 20 */	stfs f0, 0x420(r29)
/* 8027FE1C 0027CD7C  48 00 02 5C */	b lbl_80280078
.global lbl_8027FE20
lbl_8027FE20:
/* 8027FE20 0027CD80  A0 1E 00 00 */	lhz r0, 0(r30)
/* 8027FE24 0027CD84  7F E3 FB 78 */	mr r3, r31
/* 8027FE28 0027CD88  38 81 00 24 */	addi r4, r1, 0x24
/* 8027FE2C 0027CD8C  B0 01 00 24 */	sth r0, 0x24(r1)
/* 8027FE30 0027CD90  4B DC C7 45 */	bl ObjectById__13CStateManagerF9TUniqueId
/* 8027FE34 0027CD94  7C 64 1B 78 */	mr r4, r3
/* 8027FE38 0027CD98  38 61 00 70 */	addi r3, r1, 0x70
/* 8027FE3C 0027CD9C  4B E2 F5 11 */	bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity"
/* 8027FE40 0027CDA0  83 83 00 04 */	lwz r28, 4(r3)
/* 8027FE44 0027CDA4  28 1C 00 00 */	cmplwi r28, 0
/* 8027FE48 0027CDA8  41 82 01 70 */	beq lbl_8027FFB8
/* 8027FE4C 0027CDAC  7F 84 E3 78 */	mr r4, r28
/* 8027FE50 0027CDB0  38 61 00 20 */	addi r3, r1, 0x20
/* 8027FE54 0027CDB4  4B F2 8D 39 */	bl GetLastTouchedObject__15CCollisionActorCFv
/* 8027FE58 0027CDB8  A0 01 00 20 */	lhz r0, 0x20(r1)
/* 8027FE5C 0027CDBC  7F E3 FB 78 */	mr r3, r31
/* 8027FE60 0027CDC0  38 81 00 1C */	addi r4, r1, 0x1c
/* 8027FE64 0027CDC4  B0 01 00 54 */	sth r0, 0x54(r1)
/* 8027FE68 0027CDC8  B0 01 00 1C */	sth r0, 0x1c(r1)
/* 8027FE6C 0027CDCC  4B DC C7 39 */	bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8027FE70 0027CDD0  7C 64 1B 78 */	mr r4, r3
/* 8027FE74 0027CDD4  38 61 00 68 */	addi r3, r1, 0x68
/* 8027FE78 0027CDD8  4B E2 D8 95 */	bl "__ct__29TCastToPtr<15CGameProjectile>FP7CEntity"
/* 8027FE7C 0027CDDC  83 C3 00 04 */	lwz r30, 4(r3)
/* 8027FE80 0027CDE0  28 1E 00 00 */	cmplwi r30, 0
/* 8027FE84 0027CDE4  41 82 01 F4 */	beq lbl_80280078
/* 8027FE88 0027CDE8  80 7F 08 4C */	lwz r3, 0x84c(r31)
/* 8027FE8C 0027CDEC  A0 9E 00 EC */	lhz r4, 0xec(r30)
/* 8027FE90 0027CDF0  A0 03 00 08 */	lhz r0, 8(r3)
/* 8027FE94 0027CDF4  7C 04 00 40 */	cmplw r4, r0
/* 8027FE98 0027CDF8  40 82 01 E0 */	bne lbl_80280078
/* 8027FE9C 0027CDFC  7F 83 E3 78 */	mr r3, r28
/* 8027FEA0 0027CE00  81 9C 00 00 */	lwz r12, 0(r28)
/* 8027FEA4 0027CE04  81 8C 00 38 */	lwz r12, 0x38(r12)
/* 8027FEA8 0027CE08  7D 89 03 A6 */	mtctr r12
/* 8027FEAC 0027CE0C  4E 80 04 21 */	bctrl
/* 8027FEB0 0027CE10  3B DE 01 2C */	addi r30, r30, 0x12c
/* 8027FEB4 0027CE14  38 A0 00 00 */	li r5, 0
/* 8027FEB8 0027CE18  7F C4 F3 78 */	mr r4, r30
/* 8027FEBC 0027CE1C  4B E8 26 C9 */	bl WeaponHits__20CDamageVulnerabilityCFRC11CWeaponModei
/* 8027FEC0 0027CE20  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8027FEC4 0027CE24  41 82 01 B4 */	beq lbl_80280078
/* 8027FEC8 0027CE28  80 1E 00 00 */	lwz r0, 0(r30)
/* 8027FECC 0027CE2C  2C 00 00 08 */	cmpwi r0, 8
/* 8027FED0 0027CE30  40 82 01 A8 */	bne lbl_80280078
/* 8027FED4 0027CE34  7F A3 EB 78 */	mr r3, r29
/* 8027FED8 0027CE38  7F E4 FB 78 */	mr r4, r31
/* 8027FEDC 0027CE3C  4B FF D0 05 */	bl sub_8027cee0
/* 8027FEE0 0027CE40  81 9D 00 00 */	lwz r12, 0(r29)
/* 8027FEE4 0027CE44  3C 80 80 5A */	lis r4, sForwardVector__9CVector3f@ha
/* 8027FEE8 0027CE48  7F A3 EB 78 */	mr r3, r29
/* 8027FEEC 0027CE4C  C0 22 BD 3C */	lfs f1, lbl_805ADA5C@sda21(r2)
/* 8027FEF0 0027CE50  81 8C 00 90 */	lwz r12, 0x90(r12)
/* 8027FEF4 0027CE54  38 84 67 24 */	addi r4, r4, sForwardVector__9CVector3f@l
/* 8027FEF8 0027CE58  7D 89 03 A6 */	mtctr r12
/* 8027FEFC 0027CE5C  4E 80 04 21 */	bctrl
/* 8027FF00 0027CE60  88 7D 07 0E */	lbz r3, 0x70e(r29)
/* 8027FF04 0027CE64  54 60 CF FF */	rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8027FF08 0027CE68  40 82 01 70 */	bne lbl_80280078
/* 8027FF0C 0027CE6C  54 60 DF FF */	rlwinm. r0, r3, 0x1b, 0x1f, 0x1f
/* 8027FF10 0027CE70  40 82 01 68 */	bne lbl_80280078
/* 8027FF14 0027CE74  3C 60 80 3E */	lis r3, lbl_803DAA68@ha
/* 8027FF18 0027CE78  C0 5D 00 58 */	lfs f2, 0x58(r29)
/* 8027FF1C 0027CE7C  38 A3 AA 68 */	addi r5, r3, lbl_803DAA68@l
/* 8027FF20 0027CE80  C0 3D 00 48 */	lfs f1, 0x48(r29)
/* 8027FF24 0027CE84  C0 1D 00 38 */	lfs f0, 0x38(r29)
/* 8027FF28 0027CE88  3C 80 80 3E */	lis r4, lbl_803DAA44@ha
/* 8027FF2C 0027CE8C  80 7D 04 50 */	lwz r3, 0x450(r29)
/* 8027FF30 0027CE90  38 C0 00 04 */	li r6, 4
/* 8027FF34 0027CE94  38 00 00 01 */	li r0, 1
/* 8027FF38 0027CE98  90 A1 00 98 */	stw r5, 0x98(r1)
/* 8027FF3C 0027CE9C  38 A4 AA 44 */	addi r5, r4, lbl_803DAA44@l
/* 8027FF40 0027CEA0  3B C3 00 04 */	addi r30, r3, 4
/* 8027FF44 0027CEA4  90 C1 00 9C */	stw r6, 0x9c(r1)
/* 8027FF48 0027CEA8  7F C3 F3 78 */	mr r3, r30
/* 8027FF4C 0027CEAC  38 80 00 04 */	li r4, 4
/* 8027FF50 0027CEB0  90 A1 00 98 */	stw r5, 0x98(r1)
/* 8027FF54 0027CEB4  D0 01 00 A0 */	stfs f0, 0xa0(r1)
/* 8027FF58 0027CEB8  D0 21 00 A4 */	stfs f1, 0xa4(r1)
/* 8027FF5C 0027CEBC  D0 41 00 A8 */	stfs f2, 0xa8(r1)
/* 8027FF60 0027CEC0  90 01 00 AC */	stw r0, 0xac(r1)
/* 8027FF64 0027CEC4  4B EB 14 D5 */	bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd
/* 8027FF68 0027CEC8  80 01 00 9C */	lwz r0, 0x9c(r1)
/* 8027FF6C 0027CECC  3C 60 80 3E */	lis r3, lbl_803DAA44@ha
/* 8027FF70 0027CED0  38 A3 AA 44 */	addi r5, r3, lbl_803DAA44@l
/* 8027FF74 0027CED4  3C 60 80 3E */	lis r3, lbl_803DAA68@ha
/* 8027FF78 0027CED8  90 1E 00 F8 */	stw r0, 0xf8(r30)
/* 8027FF7C 0027CEDC  38 03 AA 68 */	addi r0, r3, lbl_803DAA68@l
/* 8027FF80 0027CEE0  80 E1 00 A0 */	lwz r7, 0xa0(r1)
/* 8027FF84 0027CEE4  7F A3 EB 78 */	mr r3, r29
/* 8027FF88 0027CEE8  80 C1 00 A4 */	lwz r6, 0xa4(r1)
/* 8027FF8C 0027CEEC  7F E4 FB 78 */	mr r4, r31
/* 8027FF90 0027CEF0  90 FE 00 FC */	stw r7, 0xfc(r30)
/* 8027FF94 0027CEF4  80 E1 00 A8 */	lwz r7, 0xa8(r1)
/* 8027FF98 0027CEF8  90 DE 01 00 */	stw r6, 0x100(r30)
/* 8027FF9C 0027CEFC  80 C1 00 AC */	lwz r6, 0xac(r1)
/* 8027FFA0 0027CF00  90 FE 01 04 */	stw r7, 0x104(r30)
/* 8027FFA4 0027CF04  90 A1 00 98 */	stw r5, 0x98(r1)
/* 8027FFA8 0027CF08  90 DE 01 08 */	stw r6, 0x108(r30)
/* 8027FFAC 0027CF0C  90 01 00 98 */	stw r0, 0x98(r1)
/* 8027FFB0 0027CF10  4B FF CD 31 */	bl sub_8027cce0
/* 8027FFB4 0027CF14  48 00 00 C4 */	b lbl_80280078
lbl_8027FFB8:
/* 8027FFB8 0027CF18  A0 1E 00 00 */	lhz r0, 0(r30)
/* 8027FFBC 0027CF1C  7F E3 FB 78 */	mr r3, r31
/* 8027FFC0 0027CF20  38 81 00 18 */	addi r4, r1, 0x18
/* 8027FFC4 0027CF24  B0 01 00 18 */	sth r0, 0x18(r1)
/* 8027FFC8 0027CF28  4B DC C5 DD */	bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8027FFCC 0027CF2C  7C 64 1B 78 */	mr r4, r3
/* 8027FFD0 0027CF30  38 61 00 60 */	addi r3, r1, 0x60
/* 8027FFD4 0027CF34  4B E2 D7 39 */	bl "__ct__29TCastToPtr<15CGameProjectile>FP7CEntity"
/* 8027FFD8 0027CF38  83 83 00 04 */	lwz r28, 4(r3)
/* 8027FFDC 0027CF3C  28 1C 00 00 */	cmplwi r28, 0
/* 8027FFE0 0027CF40  41 82 00 98 */	beq lbl_80280078
/* 8027FFE4 0027CF44  80 AD 98 E0 */	lwz r5, lbl_805A84A0@sda21(r13)
/* 8027FFE8 0027CF48  38 60 00 00 */	li r3, 0
/* 8027FFEC 0027CF4C  38 80 00 01 */	li r4, 1
/* 8027FFF0 0027CF50  48 10 9F 05 */	bl __shl2i
/* 8027FFF4 0027CF54  39 00 00 00 */	li r8, 0
/* 8027FFF8 0027CF58  39 40 00 03 */	li r10, 3
/* 8027FFFC 0027CF5C  90 81 00 84 */	stw r4, 0x84(r1)
/* 80280000 0027CF60  3C 80 80 5A */	lis r4, sZeroVector__9CVector3f@ha
/* 80280004 0027CF64  39 24 66 A0 */	addi r9, r4, sZeroVector__9CVector3f@l
/* 80280008 0027CF68  A0 1E 00 00 */	lhz r0, 0(r30)
/* 8028000C 0027CF6C  90 61 00 80 */	stw r3, 0x80(r1)
/* 80280010 0027CF70  7F E3 FB 78 */	mr r3, r31
/* 80280014 0027CF74  38 81 00 14 */	addi r4, r1, 0x14
/* 80280018 0027CF78  38 A1 00 10 */	addi r5, r1, 0x10
/* 8028001C 0027CF7C  91 01 00 8C */	stw r8, 0x8c(r1)
/* 80280020 0027CF80  38 C1 00 0C */	addi r6, r1, 0xc
/* 80280024 0027CF84  38 FC 01 2C */	addi r7, r28, 0x12c
/* 80280028 0027CF88  91 01 00 88 */	stw r8, 0x88(r1)
/* 8028002C 0027CF8C  39 01 00 80 */	addi r8, r1, 0x80
/* 80280030 0027CF90  91 41 00 90 */	stw r10, 0x90(r1)
/* 80280034 0027CF94  A1 7C 00 EC */	lhz r11, 0xec(r28)
/* 80280038 0027CF98  B1 61 00 0C */	sth r11, 0xc(r1)
/* 8028003C 0027CF9C  A1 5D 07 06 */	lhz r10, 0x706(r29)
/* 80280040 0027CFA0  B1 61 00 08 */	sth r11, 8(r1)
/* 80280044 0027CFA4  B1 41 00 10 */	sth r10, 0x10(r1)
/* 80280048 0027CFA8  B0 01 00 14 */	sth r0, 0x14(r1)
/* 8028004C 0027CFAC  4B DC A0 55 */	bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
/* 80280050 0027CFB0  48 00 00 28 */	b lbl_80280078
.global lbl_80280054
lbl_80280054:
/* 80280054 0027CFB4  88 1D 07 0E */	lbz r0, 0x70e(r29)
/* 80280058 0027CFB8  38 60 00 01 */	li r3, 1
/* 8028005C 0027CFBC  50 60 36 72 */	rlwimi r0, r3, 6, 0x19, 0x19
/* 80280060 0027CFC0  98 1D 07 0E */	stb r0, 0x70e(r29)
/* 80280064 0027CFC4  48 00 00 14 */	b lbl_80280078
.global lbl_80280068
lbl_80280068:
/* 80280068 0027CFC8  88 1D 07 0E */	lbz r0, 0x70e(r29)
/* 8028006C 0027CFCC  38 60 00 00 */	li r3, 0
/* 80280070 0027CFD0  50 60 36 72 */	rlwimi r0, r3, 6, 0x19, 0x19
/* 80280074 0027CFD4  98 1D 07 0E */	stb r0, 0x70e(r29)
.global lbl_80280078
lbl_80280078:
/* 80280078 0027CFD8  80 01 01 04 */	lwz r0, 0x104(r1)
/* 8028007C 0027CFDC  83 E1 00 FC */	lwz r31, 0xfc(r1)
/* 80280080 0027CFE0  83 C1 00 F8 */	lwz r30, 0xf8(r1)
/* 80280084 0027CFE4  83 A1 00 F4 */	lwz r29, 0xf4(r1)
/* 80280088 0027CFE8  83 81 00 F0 */	lwz r28, 0xf0(r1)
/* 8028008C 0027CFEC  7C 08 03 A6 */	mtlr r0
/* 80280090 0027CFF0  38 21 01 00 */	addi r1, r1, 0x100
/* 80280094 0027CFF4  4E 80 00 20 */	blr

.global __dt__20CMetroidPrimeEssenceFv
__dt__20CMetroidPrimeEssenceFv:
/* 80280098 0027CFF8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8028009C 0027CFFC  7C 08 02 A6 */	mflr r0
/* 802800A0 0027D000  90 01 00 14 */	stw r0, 0x14(r1)
/* 802800A4 0027D004  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802800A8 0027D008  7C 9F 23 78 */	mr r31, r4
/* 802800AC 0027D00C  93 C1 00 08 */	stw r30, 8(r1)
/* 802800B0 0027D010  7C 7E 1B 79 */	or. r30, r3, r3
/* 802800B4 0027D014  41 82 00 E8 */	beq lbl_8028019C
/* 802800B8 0027D018  3C 60 80 3F */	lis r3, lbl_803EB244@ha
/* 802800BC 0027D01C  34 1E 06 5C */	addic. r0, r30, 0x65c
/* 802800C0 0027D020  38 03 B2 44 */	addi r0, r3, lbl_803EB244@l
/* 802800C4 0027D024  90 1E 00 00 */	stw r0, 0(r30)
/* 802800C8 0027D028  41 82 00 24 */	beq lbl_802800EC
/* 802800CC 0027D02C  80 7E 06 5C */	lwz r3, 0x65c(r30)
/* 802800D0 0027D030  28 03 00 00 */	cmplwi r3, 0
/* 802800D4 0027D034  41 82 00 18 */	beq lbl_802800EC
/* 802800D8 0027D038  81 83 00 00 */	lwz r12, 0(r3)
/* 802800DC 0027D03C  38 80 00 01 */	li r4, 1
/* 802800E0 0027D040  81 8C 00 08 */	lwz r12, 8(r12)
/* 802800E4 0027D044  7D 89 03 A6 */	mtctr r12
/* 802800E8 0027D048  4E 80 04 21 */	bctrl
lbl_802800EC:
/* 802800EC 0027D04C  34 1E 06 58 */	addic. r0, r30, 0x658
/* 802800F0 0027D050  41 82 00 10 */	beq lbl_80280100
/* 802800F4 0027D054  80 7E 06 58 */	lwz r3, 0x658(r30)
/* 802800F8 0027D058  38 80 00 01 */	li r4, 1
/* 802800FC 0027D05C  4B F2 77 E1 */	bl sub_801a78dc
lbl_80280100:
/* 80280100 0027D060  34 1E 05 74 */	addic. r0, r30, 0x574
/* 80280104 0027D064  41 82 00 60 */	beq lbl_80280164
/* 80280108 0027D068  34 1E 05 78 */	addic. r0, r30, 0x578
/* 8028010C 0027D06C  41 82 00 58 */	beq lbl_80280164
/* 80280110 0027D070  80 BE 05 78 */	lwz r5, 0x578(r30)
/* 80280114 0027D074  38 60 00 00 */	li r3, 0
/* 80280118 0027D078  2C 05 00 00 */	cmpwi r5, 0
/* 8028011C 0027D07C  40 81 00 40 */	ble lbl_8028015C
/* 80280120 0027D080  2C 05 00 08 */	cmpwi r5, 8
/* 80280124 0027D084  38 85 FF F8 */	addi r4, r5, -8
/* 80280128 0027D088  40 81 00 20 */	ble lbl_80280148
/* 8028012C 0027D08C  38 04 00 07 */	addi r0, r4, 7
/* 80280130 0027D090  54 00 E8 FE */	srwi r0, r0, 3
/* 80280134 0027D094  7C 09 03 A6 */	mtctr r0
/* 80280138 0027D098  2C 04 00 00 */	cmpwi r4, 0
/* 8028013C 0027D09C  40 81 00 0C */	ble lbl_80280148
lbl_80280140:
/* 80280140 0027D0A0  38 63 00 08 */	addi r3, r3, 8
/* 80280144 0027D0A4  42 00 FF FC */	bdnz lbl_80280140
lbl_80280148:
/* 80280148 0027D0A8  7C 03 28 50 */	subf r0, r3, r5
/* 8028014C 0027D0AC  7C 09 03 A6 */	mtctr r0
/* 80280150 0027D0B0  7C 03 28 00 */	cmpw r3, r5
/* 80280154 0027D0B4  40 80 00 08 */	bge lbl_8028015C
lbl_80280158:
/* 80280158 0027D0B8  42 00 00 00 */	bdnz lbl_80280158
lbl_8028015C:
/* 8028015C 0027D0BC  38 00 00 00 */	li r0, 0
/* 80280160 0027D0C0  90 1E 05 78 */	stw r0, 0x578(r30)
lbl_80280164:
/* 80280164 0027D0C4  34 1E 05 68 */	addic. r0, r30, 0x568
/* 80280168 0027D0C8  41 82 00 18 */	beq lbl_80280180
/* 8028016C 0027D0CC  34 1E 05 68 */	addic. r0, r30, 0x568
/* 80280170 0027D0D0  41 82 00 10 */	beq lbl_80280180
/* 80280174 0027D0D4  38 7E 05 68 */	addi r3, r30, 0x568
/* 80280178 0027D0D8  38 80 00 00 */	li r4, 0
/* 8028017C 0027D0DC  48 0C 0C C5 */	bl __dt__6CTokenFv
lbl_80280180:
/* 80280180 0027D0E0  7F C3 F3 78 */	mr r3, r30
/* 80280184 0027D0E4  38 80 00 00 */	li r4, 0
/* 80280188 0027D0E8  4B DF 73 E9 */	bl __dt__10CPatternedFv
/* 8028018C 0027D0EC  7F E0 07 35 */	extsh. r0, r31
/* 80280190 0027D0F0  40 81 00 0C */	ble lbl_8028019C
/* 80280194 0027D0F4  7F C3 F3 78 */	mr r3, r30
/* 80280198 0027D0F8  48 09 57 99 */	bl Free__7CMemoryFPCv
lbl_8028019C:
/* 8028019C 0027D0FC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802801A0 0027D100  7F C3 F3 78 */	mr r3, r30
/* 802801A4 0027D104  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802801A8 0027D108  83 C1 00 08 */	lwz r30, 8(r1)
/* 802801AC 0027D10C  7C 08 03 A6 */	mtlr r0
/* 802801B0 0027D110  38 21 00 10 */	addi r1, r1, 0x10
/* 802801B4 0027D114  4E 80 00 20 */	blr

.global __ct__20CMetroidPrimeEssence
__ct__20CMetroidPrimeEssence:
/* 802801B8 0027D118  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 802801BC 0027D11C  7C 08 02 A6 */	mflr r0
/* 802801C0 0027D120  39 60 00 01 */	li r11, 1
/* 802801C4 0027D124  7D 0C 43 78 */	mr r12, r8
/* 802801C8 0027D128  90 01 00 64 */	stw r0, 0x64(r1)
/* 802801CC 0027D12C  BF 01 00 40 */	stmw r24, 0x40(r1)
/* 802801D0 0027D130  7C FB 3B 78 */	mr r27, r7
/* 802801D4 0027D134  7D 38 4B 78 */	mr r24, r9
/* 802801D8 0027D138  83 81 00 68 */	lwz r28, 0x68(r1)
/* 802801DC 0027D13C  83 A1 00 6C */	lwz r29, 0x6c(r1)
/* 802801E0 0027D140  7C 7A 1B 78 */	mr r26, r3
/* 802801E4 0027D144  83 C1 00 70 */	lwz r30, 0x70(r1)
/* 802801E8 0027D148  7F 69 DB 78 */	mr r9, r27
/* 802801EC 0027D14C  83 E1 00 74 */	lwz r31, 0x74(r1)
/* 802801F0 0027D150  38 E0 00 00 */	li r7, 0
/* 802801F4 0027D154  83 21 00 78 */	lwz r25, 0x78(r1)
/* 802801F8 0027D158  A0 04 00 00 */	lhz r0, 0(r4)
/* 802801FC 0027D15C  7C C4 33 78 */	mr r4, r6
/* 80280200 0027D160  7C A6 2B 78 */	mr r6, r5
/* 80280204 0027D164  38 A1 00 20 */	addi r5, r1, 0x20
/* 80280208 0027D168  B0 01 00 20 */	sth r0, 0x20(r1)
/* 8028020C 0027D16C  7C 88 23 78 */	mr r8, r4
/* 80280210 0027D170  38 00 00 03 */	li r0, 3
/* 80280214 0027D174  38 80 00 16 */	li r4, 0x16
/* 80280218 0027D178  93 01 00 08 */	stw r24, 8(r1)
/* 8028021C 0027D17C  91 61 00 0C */	stw r11, 0xc(r1)
/* 80280220 0027D180  91 61 00 10 */	stw r11, 0x10(r1)
/* 80280224 0027D184  90 01 00 14 */	stw r0, 0x14(r1)
/* 80280228 0027D188  91 41 00 18 */	stw r10, 0x18(r1)
/* 8028022C 0027D18C  7D 8A 63 78 */	mr r10, r12
/* 80280230 0027D190  91 61 00 1C */	stw r11, 0x1c(r1)
/* 80280234 0027D194  4B DF D2 1D */	bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
/* 80280238 0027D198  3C 60 80 3F */	lis r3, lbl_803EB244@ha
/* 8028023C 0027D19C  3C 80 50 41 */	lis r4, 0x50415254@ha
/* 80280240 0027D1A0  38 03 B2 44 */	addi r0, r3, lbl_803EB244@l
/* 80280244 0027D1A4  38 61 00 24 */	addi r3, r1, 0x24
/* 80280248 0027D1A8  90 1A 00 00 */	stw r0, 0(r26)
/* 8028024C 0027D1AC  38 04 52 54 */	addi r0, r4, 0x50415254@l
/* 80280250 0027D1B0  38 A1 00 2C */	addi r5, r1, 0x2c
/* 80280254 0027D1B4  90 01 00 2C */	stw r0, 0x2c(r1)
/* 80280258 0027D1B8  80 8D A0 64 */	lwz r4, gpSimplePool@sda21(r13)
/* 8028025C 0027D1BC  93 21 00 30 */	stw r25, 0x30(r1)
/* 80280260 0027D1C0  81 84 00 00 */	lwz r12, 0(r4)
/* 80280264 0027D1C4  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 80280268 0027D1C8  7D 89 03 A6 */	mtctr r12
/* 8028026C 0027D1CC  4E 80 04 21 */	bctrl
/* 80280270 0027D1D0  3B 3A 05 68 */	addi r25, r26, 0x568
/* 80280274 0027D1D4  38 81 00 24 */	addi r4, r1, 0x24
/* 80280278 0027D1D8  7F 23 CB 78 */	mr r3, r25
/* 8028027C 0027D1DC  48 0C 0C 2D */	bl __ct__6CTokenFRC6CToken
/* 80280280 0027D1E0  7F 23 CB 78 */	mr r3, r25
/* 80280284 0027D1E4  48 0C 0B 89 */	bl GetObj__6CTokenFv
/* 80280288 0027D1E8  80 03 00 04 */	lwz r0, 4(r3)
/* 8028028C 0027D1EC  38 61 00 24 */	addi r3, r1, 0x24
/* 80280290 0027D1F0  38 80 FF FF */	li r4, -1
/* 80280294 0027D1F4  90 19 00 08 */	stw r0, 8(r25)
/* 80280298 0027D1F8  48 0C 0B A9 */	bl __dt__6CTokenFv
/* 8028029C 0027D1FC  C0 22 BD 3C */	lfs f1, lbl_805ADA5C@sda21(r2)
/* 802802A0 0027D200  38 7A 05 74 */	addi r3, r26, 0x574
/* 802802A4 0027D204  80 D8 01 0C */	lwz r6, 0x10c(r24)
/* 802802A8 0027D208  38 80 00 00 */	li r4, 0
/* 802802AC 0027D20C  FC 40 08 90 */	fmr f2, f1
/* 802802B0 0027D210  38 A0 00 03 */	li r5, 3
/* 802802B4 0027D214  4B F4 8A E1 */	bl __ct__15CPathFindSearchFP7CPFAreaUiff
/* 802802B8 0027D218  38 00 00 00 */	li r0, 0
/* 802802BC 0027D21C  3C 60 80 5A */	lis r3, sIdentity__12CTransform4f@ha
/* 802802C0 0027D220  90 1A 06 58 */	stw r0, 0x658(r26)
/* 802802C4 0027D224  38 83 66 70 */	addi r4, r3, sIdentity__12CTransform4f@l
/* 802802C8 0027D228  38 7A 06 68 */	addi r3, r26, 0x668
/* 802802CC 0027D22C  90 1A 06 5C */	stw r0, 0x65c(r26)
/* 802802D0 0027D230  93 9A 06 60 */	stw r28, 0x660(r26)
/* 802802D4 0027D234  93 DA 06 64 */	stw r30, 0x664(r26)
/* 802802D8 0027D238  48 09 28 9D */	bl __ct__12CTransform4fFRC12CTransform4f
/* 802802DC 0027D23C  80 1D 00 00 */	lwz r0, 0(r29)
/* 802802E0 0027D240  38 E0 00 00 */	li r7, 0
/* 802802E4 0027D244  C0 42 BD 10 */	lfs f2, lbl_805ADA30@sda21(r2)
/* 802802E8 0027D248  38 A0 00 02 */	li r5, 2
/* 802802EC 0027D24C  90 1A 06 98 */	stw r0, 0x698(r26)
/* 802802F0 0027D250  38 80 00 04 */	li r4, 4
/* 802802F4 0027D254  C0 22 BD 74 */	lfs f1, lbl_805ADA94@sda21(r2)
/* 802802F8 0027D258  38 00 00 01 */	li r0, 1
/* 802802FC 0027D25C  88 DD 00 04 */	lbz r6, 4(r29)
/* 80280300 0027D260  57 E3 04 3E */	clrlwi r3, r31, 0x10
/* 80280304 0027D264  C0 02 BD 68 */	lfs f0, lbl_805ADA88@sda21(r2)
/* 80280308 0027D268  98 DA 06 9C */	stb r6, 0x69c(r26)
/* 8028030C 0027D26C  C0 7D 00 08 */	lfs f3, 8(r29)
/* 80280310 0027D270  D0 7A 06 A0 */	stfs f3, 0x6a0(r26)
/* 80280314 0027D274  C0 7D 00 0C */	lfs f3, 0xc(r29)
/* 80280318 0027D278  D0 7A 06 A4 */	stfs f3, 0x6a4(r26)
/* 8028031C 0027D27C  C0 7D 00 10 */	lfs f3, 0x10(r29)
/* 80280320 0027D280  D0 7A 06 A8 */	stfs f3, 0x6a8(r26)
/* 80280324 0027D284  C0 7D 00 14 */	lfs f3, 0x14(r29)
/* 80280328 0027D288  D0 7A 06 AC */	stfs f3, 0x6ac(r26)
/* 8028032C 0027D28C  88 DD 00 18 */	lbz r6, 0x18(r29)
/* 80280330 0027D290  98 DA 06 B0 */	stb r6, 0x6b0(r26)
/* 80280334 0027D294  C0 BB 00 2C */	lfs f5, 0x2c(r27)
/* 80280338 0027D298  C0 9B 00 1C */	lfs f4, 0x1c(r27)
/* 8028033C 0027D29C  C0 7B 00 0C */	lfs f3, 0xc(r27)
/* 80280340 0027D2A0  D0 7A 06 B4 */	stfs f3, 0x6b4(r26)
/* 80280344 0027D2A4  D0 9A 06 B8 */	stfs f4, 0x6b8(r26)
/* 80280348 0027D2A8  D0 BA 06 BC */	stfs f5, 0x6bc(r26)
/* 8028034C 0027D2AC  D0 5A 06 C0 */	stfs f2, 0x6c0(r26)
/* 80280350 0027D2B0  D0 5A 06 C4 */	stfs f2, 0x6c4(r26)
/* 80280354 0027D2B4  D0 5A 06 C8 */	stfs f2, 0x6c8(r26)
/* 80280358 0027D2B8  D0 3A 06 CC */	stfs f1, 0x6cc(r26)
/* 8028035C 0027D2BC  C0 3A 06 CC */	lfs f1, 0x6cc(r26)
/* 80280360 0027D2C0  EC 00 08 7A */	fmadds f0, f0, f1, f1
/* 80280364 0027D2C4  D0 1A 06 D0 */	stfs f0, 0x6d0(r26)
/* 80280368 0027D2C8  D0 5A 06 D4 */	stfs f2, 0x6d4(r26)
/* 8028036C 0027D2CC  90 FA 06 D8 */	stw r7, 0x6d8(r26)
/* 80280370 0027D2D0  90 FA 06 DC */	stw r7, 0x6dc(r26)
/* 80280374 0027D2D4  80 DA 06 DC */	lwz r6, 0x6dc(r26)
/* 80280378 0027D2D8  90 DA 06 E0 */	stw r6, 0x6e0(r26)
/* 8028037C 0027D2DC  90 FA 06 E4 */	stw r7, 0x6e4(r26)
/* 80280380 0027D2E0  90 BA 06 E8 */	stw r5, 0x6e8(r26)
/* 80280384 0027D2E4  90 9A 06 EC */	stw r4, 0x6ec(r26)
/* 80280388 0027D2E8  90 FA 06 F0 */	stw r7, 0x6f0(r26)
/* 8028038C 0027D2EC  80 9A 06 E8 */	lwz r4, 0x6e8(r26)
/* 80280390 0027D2F0  38 84 FF FF */	addi r4, r4, -1
/* 80280394 0027D2F4  90 9A 06 F4 */	stw r4, 0x6f4(r26)
/* 80280398 0027D2F8  90 BA 06 F8 */	stw r5, 0x6f8(r26)
/* 8028039C 0027D2FC  90 FA 06 FC */	stw r7, 0x6fc(r26)
/* 802803A0 0027D300  90 1A 07 00 */	stw r0, 0x700(r26)
/* 802803A4 0027D304  A0 0D A3 8C */	lhz r0, kInvalidUniqueId@sda21(r13)
/* 802803A8 0027D308  B0 1A 07 04 */	sth r0, 0x704(r26)
/* 802803AC 0027D30C  A0 0D A3 8C */	lhz r0, kInvalidUniqueId@sda21(r13)
/* 802803B0 0027D310  B0 1A 07 06 */	sth r0, 0x706(r26)
/* 802803B4 0027D314  90 FA 07 08 */	stw r7, 0x708(r26)
/* 802803B8 0027D318  48 06 85 F9 */	bl TranslateSFXID__11CSfxManagerFUs
/* 802803BC 0027D31C  B0 7A 07 0C */	sth r3, 0x70c(r26)
/* 802803C0 0027D320  38 C0 00 00 */	li r6, 0
/* 802803C4 0027D324  38 A0 00 01 */	li r5, 1
/* 802803C8 0027D328  7F 43 D3 78 */	mr r3, r26
/* 802803CC 0027D32C  88 1A 07 0E */	lbz r0, 0x70e(r26)
/* 802803D0 0027D330  50 C0 3E 30 */	rlwimi r0, r6, 7, 0x18, 0x18
/* 802803D4 0027D334  38 80 00 00 */	li r4, 0
/* 802803D8 0027D338  98 1A 07 0E */	stb r0, 0x70e(r26)
/* 802803DC 0027D33C  88 1A 07 0E */	lbz r0, 0x70e(r26)
/* 802803E0 0027D340  50 A0 36 72 */	rlwimi r0, r5, 6, 0x19, 0x19
/* 802803E4 0027D344  98 1A 07 0E */	stb r0, 0x70e(r26)
/* 802803E8 0027D348  88 1A 07 0E */	lbz r0, 0x70e(r26)
/* 802803EC 0027D34C  50 C0 2E B4 */	rlwimi r0, r6, 5, 0x1a, 0x1a
/* 802803F0 0027D350  98 1A 07 0E */	stb r0, 0x70e(r26)
/* 802803F4 0027D354  88 1A 07 0E */	lbz r0, 0x70e(r26)
/* 802803F8 0027D358  50 C0 26 F6 */	rlwimi r0, r6, 4, 0x1b, 0x1b
/* 802803FC 0027D35C  98 1A 07 0E */	stb r0, 0x70e(r26)
/* 80280400 0027D360  88 1A 07 0E */	lbz r0, 0x70e(r26)
/* 80280404 0027D364  50 A0 1F 38 */	rlwimi r0, r5, 3, 0x1c, 0x1c
/* 80280408 0027D368  98 1A 07 0E */	stb r0, 0x70e(r26)
/* 8028040C 0027D36C  88 1A 07 0E */	lbz r0, 0x70e(r26)
/* 80280410 0027D370  50 C0 17 7A */	rlwimi r0, r6, 2, 0x1d, 0x1d
/* 80280414 0027D374  98 1A 07 0E */	stb r0, 0x70e(r26)
/* 80280418 0027D378  88 1A 07 0E */	lbz r0, 0x70e(r26)
/* 8028041C 0027D37C  50 C0 0F BC */	rlwimi r0, r6, 1, 0x1e, 0x1e
/* 80280420 0027D380  98 1A 07 0E */	stb r0, 0x70e(r26)
/* 80280424 0027D384  88 1A 07 0E */	lbz r0, 0x70e(r26)
/* 80280428 0027D388  50 C0 07 FE */	rlwimi r0, r6, 0, 0x1f, 0x1f
/* 8028042C 0027D38C  98 1A 07 0E */	stb r0, 0x70e(r26)
/* 80280430 0027D390  4B DD 29 3D */	bl CreateShadow__6CActorFb
/* 80280434 0027D394  7F 43 D3 78 */	mr r3, r26
/* 80280438 0027D398  4B DF 74 5D */	bl MakeThermalColdAndHot__10CPatternedFv
/* 8028043C 0027D39C  7F 43 D3 78 */	mr r3, r26
/* 80280440 0027D3A0  BB 01 00 40 */	lmw r24, 0x40(r1)
/* 80280444 0027D3A4  80 01 00 64 */	lwz r0, 0x64(r1)
/* 80280448 0027D3A8  7C 08 03 A6 */	mtlr r0
/* 8028044C 0027D3AC  38 21 00 60 */	addi r1, r1, 0x60
/* 80280450 0027D3B0  4E 80 00 20 */	blr

.global __sinit_CMetroidPrimeEssence_cpp
__sinit_CMetroidPrimeEssence_cpp:
/* 80280454 0027D3B4  80 02 BD 00 */	lwz r0, lbl_805ADA20@sda21(r2)
/* 80280458 0027D3B8  90 0D 98 E4 */	stw r0, lbl_805A84A4@sda21(r13)
/* 8028045C 0027D3BC  4E 80 00 20 */	blr

.section .sdata2, "a"
.balign 8
.global lbl_805ADA20
lbl_805ADA20:
	# ROM: 0x3FA2C0
	.4byte lbl_803D589C

.global lbl_805ADA24
lbl_805ADA24:
	# ROM: 0x3FA2C4
	.4byte lbl_803D58AF

.global lbl_805ADA28
lbl_805ADA28:
	# ROM: 0x3FA2C8
	.4byte lbl_803D58B4

.global lbl_805ADA2C
lbl_805ADA2C:
	# ROM: 0x3FA2CC
	.4byte 0xBE8483ED

.global lbl_805ADA30
lbl_805ADA30:
	# ROM: 0x3FA2D0
	.4byte 0

.global lbl_805ADA34
lbl_805ADA34:
	# ROM: 0x3FA2D4
	.4byte 0x447A0000

.global lbl_805ADA38
lbl_805ADA38:
	# ROM: 0x3FA2D8
	.float 0.1
	.4byte 0

.global lbl_805ADA40
lbl_805ADA40:
	# ROM: 0x3FA2E0
	.double 4.503601774854144E15

.global lbl_805ADA48
lbl_805ADA48:
	# ROM: 0x3FA2E8
	.float 0.75

.global lbl_805ADA4C
lbl_805ADA4C:
	# ROM: 0x3FA2EC
	.float 0.5

.global lbl_805ADA50
lbl_805ADA50:
	# ROM: 0x3FA2F0
	.float 0.25

.global lbl_805ADA54
lbl_805ADA54:
	# ROM: 0x3FA2F4
	.4byte 0x41A00000

.global lbl_805ADA58
lbl_805ADA58:
	# ROM: 0x3FA2F8
	.float 2.0

.global lbl_805ADA5C
lbl_805ADA5C:
	# ROM: 0x3FA2FC
	.float 1.0

.global lbl_805ADA60
lbl_805ADA60:
	# ROM: 0x3FA300
	.float 0.01

.global lbl_805ADA64
lbl_805ADA64:
	# ROM: 0x3FA304
	.float 1.5

.global lbl_805ADA68
lbl_805ADA68:
	# ROM: 0x3FA308
	.4byte 0x41F00000

.global lbl_805ADA6C
lbl_805ADA6C:
	# ROM: 0x3FA30C
	.float 90.0

.global lbl_805ADA70
lbl_805ADA70:
	# ROM: 0x3FA310
	.4byte 0x40400000

.global lbl_805ADA74
lbl_805ADA74:
	# ROM: 0x3FA314
	.4byte 0x43340000

.global lbl_805ADA78
lbl_805ADA78:
	# ROM: 0x3FA318
	.4byte 0x3EC90FDB

.global lbl_805ADA7C
lbl_805ADA7C:
	# ROM: 0x3FA31C
	.float 0.7853982

.global lbl_805ADA80
lbl_805ADA80:
	# ROM: 0x3FA320
	.float 255.0

.global lbl_805ADA84
lbl_805ADA84:
	# ROM: 0x3FA324
	.4byte 0xC0800000

.global lbl_805ADA88
lbl_805ADA88:
	# ROM: 0x3FA328
	.float 0.9

.global lbl_805ADA8C
lbl_805ADA8C:
	# ROM: 0x3FA32C
	.4byte 0x3F200000

.global lbl_805ADA90
lbl_805ADA90:
	# ROM: 0x3FA330
	.float 0.3

.global lbl_805ADA94
lbl_805ADA94:
	# ROM: 0x3FA334
	.float 4.0


.section .rodata
.balign 8
.global lbl_803D5880
lbl_803D5880:
	# ROM: 0x3D2880
	.4byte 0
	.4byte 0x00000001
	.4byte 0
	.4byte 0x00000002

.global lbl_803D5890
lbl_803D5890:
	# ROM: 0x3D2890
	.4byte 0x00000001
	.4byte 0x00000002
	.4byte 0x00000003

.global lbl_803D589C
lbl_803D589C:

	# ROM: 0x3D289C
	.asciz "lockon_target_LCTR"

.global lbl_803D58AF
lbl_803D58AF:

	# ROM: 0x3D28AF
	.byte 0x45
	.4byte 0x79657300

.global lbl_803D58B4
lbl_803D58B4:

	# ROM: 0x3D28B4
	.asciz "Head"
	.byte 0x3F, 0x3F, 0x28
	.4byte 0x3F3F2900
	.asciz "Shockwave"
	.byte 0x57, 0x68
	.asciz "ole Body"
	.balign 4