prime/asm/MetroidPrime/Enemies/CSpankWeed.s

2384 lines
118 KiB
ArmAsm

.include "macros.inc"
.section .data
.balign 8
.global lbl_803E2D28
lbl_803E2D28:
# ROM: 0x3DFD28
.4byte 0
.4byte 0
.4byte __dt__10CSpankWeedFv
.4byte Accept__10CSpankWeedFR8IVisitor
.4byte PreThink__10CPatternedFfR13CStateManager
.4byte Think__10CSpankWeedFfR13CStateManager
.4byte AcceptScriptMsg__10CSpankWeedF20EScriptObjectMessage9TUniqueIdR13CStateManager
.4byte SetActive__6CActorFb
.4byte PreRender__10CPatternedFR13CStateManagerRC14CFrustumPlanes
.4byte AddToRenderer__10CPatternedCFRC14CFrustumPlanesRC13CStateManager
.4byte Render__10CSpankWeedCFRC13CStateManager
.4byte CanRenderUnsorted__10CPatternedCFRC13CStateManager
.4byte CalculateRenderBounds__6CActorFv
.4byte HealthInfo__3CAiFR13CStateManager
.4byte GetDamageVulnerability__3CAiCFv
.4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo
.4byte GetTouchBounds__10CPatternedCFv
.4byte Touch__10CPatternedFR6CActorR13CStateManager
.4byte GetOrbitPosition__10CSpankWeedCFRC13CStateManager
.4byte GetAimPosition__10CSpankWeedCFRC13CStateManagerf
.4byte GetHomingPosition__6CActorCFRC13CStateManagerf
.4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager
.4byte GetCollisionResponseType__10CPatternedCFRC9CVector3fRC9CVector3fRC11CWeaponModei
.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
.4byte GetSortingBounds__6CActorCFRC12CTransform4f
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
.4byte GetCollisionPrimitive__13CPhysicsActorCFv
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
.4byte CollidedWith__10CPatternedFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
.4byte GetStepDownHeight__13CPhysicsActorCFv
.4byte GetStepUpHeight__13CPhysicsActorCFv
.4byte GetWeight__13CPhysicsActorCFv
.4byte Death__10CPatternedFR13CStateManagerRC9CVector3f18EScriptObjectState
.4byte KnockBack__10CSpankWeedFRC9CVector3fR13CStateManagerRC11CDamageInfo14EKnockBackTypef
.4byte GetDamageVulnerability__3CAiFv
.4byte TakeDamage__10CPatternedFRC9CVector3ff
.4byte CanBeShot__3CAiFRC13CStateManageri
.4byte IsListening__3CAiCFv
.4byte Listen__3CAiFRC9CVector3f16EListenNoiseType
.4byte GetOrigin__3CAiCFv
.4byte Patrol__10CSpankWeedFR13CStateManager9EStateMsgf
.4byte FollowPattern__10CPatternedFR13CStateManager9EStateMsgf
.4byte Dead__10CPatternedFR13CStateManager9EStateMsgf
.4byte PathFind__10CPatternedFR13CStateManager9EStateMsgf
.4byte Start__10CPatternedFR13CStateManager9EStateMsgf
.4byte SelectTarget__3CAiFR13CStateManager9EStateMsgf
.4byte TargetPatrol__10CSpankWeedFR13CStateManager9EStateMsgf
.4byte TargetPlayer__10CPatternedFR13CStateManager9EStateMsgf
.4byte TargetCover__3CAiFR13CStateManager9EStateMsgf
.4byte Halt__3CAiFR13CStateManager9EStateMsgf
.4byte Walk__3CAiFR13CStateManager9EStateMsgf
.4byte Run__3CAiFR13CStateManager9EStateMsgf
.4byte Generate__3CAiFR13CStateManager9EStateMsgf
.4byte Deactivate__3CAiFR13CStateManager9EStateMsgf
.4byte Attack__10CSpankWeedFR13CStateManager9EStateMsgf
.4byte LoopedAttack__3CAiFR13CStateManager9EStateMsgf
.4byte JumpBack__3CAiFR13CStateManager9EStateMsgf
.4byte DoubleSnap__3CAiFR13CStateManager9EStateMsgf
.4byte Shuffle__3CAiFR13CStateManager9EStateMsgf
.4byte TurnAround__3CAiFR13CStateManager9EStateMsgf
.4byte Skid__3CAiFR13CStateManager9EStateMsgf
.4byte Active__3CAiFR13CStateManager9EStateMsgf
.4byte InActive__3CAiFR13CStateManager9EStateMsgf
.4byte CoverAttack__3CAiFR13CStateManager9EStateMsgf
.4byte Crouch__3CAiFR13CStateManager9EStateMsgf
.4byte FadeIn__10CSpankWeedFR13CStateManager9EStateMsgf
.4byte FadeOut__10CSpankWeedFR13CStateManager9EStateMsgf
.4byte GetUp__3CAiFR13CStateManager9EStateMsgf
.4byte Taunt__3CAiFR13CStateManager9EStateMsgf
.4byte Suck__3CAiFR13CStateManager9EStateMsgf
.4byte Flee__3CAiFR13CStateManager9EStateMsgf
.4byte Lurk__10CSpankWeedFR13CStateManager9EStateMsgf
.4byte ProjectileAttack__3CAiFR13CStateManager9EStateMsgf
.4byte Flinch__10CSpankWeedFR13CStateManager9EStateMsgf
.4byte Hurled__3CAiFR13CStateManager9EStateMsgf
.4byte TelegraphAttack__3CAiFR13CStateManager9EStateMsgf
.4byte Jump__3CAiFR13CStateManager9EStateMsgf
.4byte Explode__3CAiFR13CStateManager9EStateMsgf
.4byte Dodge__3CAiFR13CStateManager9EStateMsgf
.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__3CAiFR13CStateManager9EStateMsgf
.4byte Dizzy__3CAiFR13CStateManager9EStateMsgf
.4byte CallForBackup__3CAiFR13CStateManager9EStateMsgf
.4byte BulbAttack__3CAiFR13CStateManager9EStateMsgf
.4byte PodAttack__3CAiFR13CStateManager9EStateMsgf
.4byte InAttackPosition__3CAiFR13CStateManagerf
.4byte Leash__10CPatternedFR13CStateManagerf
.4byte OffLine__10CPatternedFR13CStateManagerf
.4byte Attacked__10CSpankWeedFR13CStateManagerf
.4byte PathShagged__10CPatternedFR13CStateManagerf
.4byte PathOver__10CPatternedFR13CStateManagerf
.4byte PathFound__10CPatternedFR13CStateManagerf
.4byte TooClose__10CPatternedFR13CStateManagerf
.4byte InRange__10CSpankWeedFR13CStateManagerf
.4byte InMaxRange__10CPatternedFR13CStateManagerf
.4byte InDetectionRage__10CSpankWeedFR13CStateManagerf
.4byte SpotPlayer__10CPatternedFR13CStateManagerf
.4byte PlayerSpot__10CPatternedFR13CStateManagerf
.4byte PatternOver__10CPatternedFR13CStateManagerf
.4byte PatternShagged__10CPatternedFR13CStateManagerf
.4byte HasAttackPattern__10CPatternedFR13CStateManagerf
.4byte HasPatrolPath__10CPatternedFR13CStateManagerf
.4byte HasRetreatPattern__10CPatternedFR13CStateManagerf
.4byte Delay__10CSpankWeedFR13CStateManagerf
.4byte RandomDelay__10CPatternedFR13CStateManagerf
.4byte FixedDelay__10CPatternedFR13CStateManagerf
.4byte Default__10CPatternedFR13CStateManagerf
.4byte sub_80154cc0
.4byte ShouldAttack__3CAiFR13CStateManagerf
.4byte ShouldDoubleSnap__3CAiFR13CStateManagerf
.4byte InPosition__10CPatternedFR13CStateManagerf
.4byte ShouldTurn__3CAiFR13CStateManagerf
.4byte HitSomething__3CAiFR13CStateManagerf
.4byte ShouldJumpBack__3CAiFR13CStateManagerf
.4byte Stuck__10CPatternedFR13CStateManagerf
.4byte NoPathNodes__10CPatternedFR13CStateManagerf
.4byte Landed__10CPatternedFR13CStateManagerf
.4byte HearShot__3CAiFR13CStateManagerf
.4byte HearPlayer__10CSpankWeedFR13CStateManagerf
.4byte CoverCheck__3CAiFR13CStateManagerf
.4byte CoverFind__3CAiFR13CStateManagerf
.4byte CoverBlown__3CAiFR13CStateManagerf
.4byte CoverNearlyBlown__3CAiFR13CStateManagerf
.4byte CoveringFire__3CAiFR13CStateManagerf
.4byte GotUp__3CAiFR13CStateManagerf
.4byte LineOfSight__3CAiFR13CStateManagerf
.4byte AggressionCheck__3CAiFR13CStateManagerf
.4byte AttackOver__3CAiFR13CStateManagerf
.4byte ShouldTaunt__3CAiFR13CStateManagerf
.4byte Inside__3CAiFR13CStateManagerf
.4byte ShouldFire__3CAiFR13CStateManagerf
.4byte ShouldFlinch__3CAiFR13CStateManagerf
.4byte PatrolPathOver__10CPatternedFR13CStateManagerf
.4byte ShouldDodge__3CAiFR13CStateManagerf
.4byte ShouldRetreat__3CAiFR13CStateManagerf
.4byte ShouldCrouch__3CAiFR13CStateManagerf
.4byte ShouldMove__3CAiFR13CStateManagerf
.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__10CPatternedFv
.4byte GetContactDamage__10CPatternedCFv
.4byte GetModelAlphau8__10CPatternedCFRC13CStateManager
.4byte IsOnGround__10CPatternedCFv
.4byte GetGravityConstant__10CPatternedCFv
.4byte GetProjectileInfo__10CPatternedFv
.4byte PhazeOut__10CPatternedFR13CStateManager
.4byte GetDeathExplosionParticle__10CPatternedCFv
.4byte 0
.section .sdata
.balign 8
.global lbl_805A7838
lbl_805A7838:
# ROM: 0x3F51D8
.4byte 0x00000013
.global lbl_805A783C
lbl_805A783C:
# ROM: 0x3F51DC
.4byte 0x00000021
.global lbl_805A7840
lbl_805A7840:
# ROM: 0x3F51E0
.4byte 0x00000020
.global lbl_805A7844
lbl_805A7844:
# ROM: 0x3F51E4
.4byte 0x00000015
.global lbl_805A7848
lbl_805A7848:
# ROM: 0x3F51E8
.4byte 0x0000002B
.4byte 0
.section .text, "ax"
.global __dt__10CSpankWeedFv
__dt__10CSpankWeedFv:
/* 80154C08 00151B68 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80154C0C 00151B6C 7C 08 02 A6 */ mflr r0
/* 80154C10 00151B70 90 01 00 14 */ stw r0, 0x14(r1)
/* 80154C14 00151B74 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80154C18 00151B78 7C 9F 23 78 */ mr r31, r4
/* 80154C1C 00151B7C 93 C1 00 08 */ stw r30, 8(r1)
/* 80154C20 00151B80 7C 7E 1B 79 */ or. r30, r3, r3
/* 80154C24 00151B84 41 82 00 40 */ beq lbl_80154C64
/* 80154C28 00151B88 3C 60 80 3E */ lis r3, lbl_803E2D28@ha
/* 80154C2C 00151B8C 34 1E 05 94 */ addic. r0, r30, 0x594
/* 80154C30 00151B90 38 03 2D 28 */ addi r0, r3, lbl_803E2D28@l
/* 80154C34 00151B94 90 1E 00 00 */ stw r0, 0(r30)
/* 80154C38 00151B98 41 82 00 10 */ beq lbl_80154C48
/* 80154C3C 00151B9C 80 7E 05 94 */ lwz r3, 0x594(r30)
/* 80154C40 00151BA0 38 80 00 01 */ li r4, 1
/* 80154C44 00151BA4 48 05 2C 99 */ bl sub_801a78dc
lbl_80154C48:
/* 80154C48 00151BA8 7F C3 F3 78 */ mr r3, r30
/* 80154C4C 00151BAC 38 80 00 00 */ li r4, 0
/* 80154C50 00151BB0 4B F2 29 21 */ bl __dt__10CPatternedFv
/* 80154C54 00151BB4 7F E0 07 35 */ extsh. r0, r31
/* 80154C58 00151BB8 40 81 00 0C */ ble lbl_80154C64
/* 80154C5C 00151BBC 7F C3 F3 78 */ mr r3, r30
/* 80154C60 00151BC0 48 1C 0C D1 */ bl Free__7CMemoryFPCv
lbl_80154C64:
/* 80154C64 00151BC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80154C68 00151BC8 7F C3 F3 78 */ mr r3, r30
/* 80154C6C 00151BCC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80154C70 00151BD0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80154C74 00151BD4 7C 08 03 A6 */ mtlr r0
/* 80154C78 00151BD8 38 21 00 10 */ addi r1, r1, 0x10
/* 80154C7C 00151BDC 4E 80 00 20 */ blr
.global Render__10CSpankWeedCFRC13CStateManager
Render__10CSpankWeedCFRC13CStateManager:
/* 80154C80 00151BE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80154C84 00151BE4 7C 08 02 A6 */ mflr r0
/* 80154C88 00151BE8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80154C8C 00151BEC 4B F2 33 A1 */ bl Render__10CPatternedCFRC13CStateManager
/* 80154C90 00151BF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80154C94 00151BF4 7C 08 03 A6 */ mtlr r0
/* 80154C98 00151BF8 38 21 00 10 */ addi r1, r1, 0x10
/* 80154C9C 00151BFC 4E 80 00 20 */ blr
.global Attacked__10CSpankWeedFR13CStateManagerf
Attacked__10CSpankWeedFR13CStateManagerf:
/* 80154CA0 00151C00 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80154CA4 00151C04 7C 08 02 A6 */ mflr r0
/* 80154CA8 00151C08 90 01 00 14 */ stw r0, 0x14(r1)
/* 80154CAC 00151C0C 48 0A 0F 35 */ bl Attacked__10CPatternedFR13CStateManagerf
/* 80154CB0 00151C10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80154CB4 00151C14 7C 08 03 A6 */ mtlr r0
/* 80154CB8 00151C18 38 21 00 10 */ addi r1, r1, 0x10
/* 80154CBC 00151C1C 4E 80 00 20 */ blr
.global sub_80154cc0
sub_80154cc0:
/* 80154CC0 00151C20 80 03 05 BC */ lwz r0, 0x5bc(r3)
/* 80154CC4 00151C24 20 00 00 03 */ subfic r0, r0, 3
/* 80154CC8 00151C28 7C 00 00 34 */ cntlzw r0, r0
/* 80154CCC 00151C2C 54 03 D9 7E */ srwi r3, r0, 5
/* 80154CD0 00151C30 4E 80 00 20 */ blr
.global sub_80154cd4
sub_80154cd4:
/* 80154CD4 00151C34 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80154CD8 00151C38 80 84 08 4C */ lwz r4, 0x84c(r4)
/* 80154CDC 00151C3C C0 03 05 AC */ lfs f0, 0x5ac(r3)
/* 80154CE0 00151C40 C0 C4 00 50 */ lfs f6, 0x50(r4)
/* 80154CE4 00151C44 C0 44 00 40 */ lfs f2, 0x40(r4)
/* 80154CE8 00151C48 EC A6 00 28 */ fsubs f5, f6, f0
/* 80154CEC 00151C4C C0 03 05 A8 */ lfs f0, 0x5a8(r3)
/* 80154CF0 00151C50 C0 E4 00 60 */ lfs f7, 0x60(r4)
/* 80154CF4 00151C54 EC 62 00 28 */ fsubs f3, f2, f0
/* 80154CF8 00151C58 C0 23 05 B0 */ lfs f1, 0x5b0(r3)
/* 80154CFC 00151C5C EC 05 01 72 */ fmuls f0, f5, f5
/* 80154D00 00151C60 EC 87 08 28 */ fsubs f4, f7, f1
/* 80154D04 00151C64 D0 41 00 08 */ stfs f2, 8(r1)
/* 80154D08 00151C68 EC 23 00 F2 */ fmuls f1, f3, f3
/* 80154D0C 00151C6C D0 C1 00 0C */ stfs f6, 0xc(r1)
/* 80154D10 00151C70 EC 44 01 32 */ fmuls f2, f4, f4
/* 80154D14 00151C74 EC 01 00 2A */ fadds f0, f1, f0
/* 80154D18 00151C78 D0 E1 00 10 */ stfs f7, 0x10(r1)
/* 80154D1C 00151C7C D0 61 00 14 */ stfs f3, 0x14(r1)
/* 80154D20 00151C80 EC 22 00 2A */ fadds f1, f2, f0
/* 80154D24 00151C84 D0 A1 00 18 */ stfs f5, 0x18(r1)
/* 80154D28 00151C88 D0 81 00 1C */ stfs f4, 0x1c(r1)
/* 80154D2C 00151C8C 38 21 00 20 */ addi r1, r1, 0x20
/* 80154D30 00151C90 4E 80 00 20 */ blr
.global GetOrbitPosition__10CSpankWeedCFRC13CStateManager
GetOrbitPosition__10CSpankWeedCFRC13CStateManager:
/* 80154D34 00151C94 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80154D38 00151C98 7C 08 02 A6 */ mflr r0
/* 80154D3C 00151C9C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80154D40 00151CA0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80154D44 00151CA4 7C 9F 23 78 */ mr r31, r4
/* 80154D48 00151CA8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80154D4C 00151CAC 7C 7E 1B 78 */ mr r30, r3
/* 80154D50 00151CB0 38 61 00 0C */ addi r3, r1, 0xc
/* 80154D54 00151CB4 4B F2 38 59 */ bl GetOrbitPosition__10CPatternedCFRC13CStateManager
/* 80154D58 00151CB8 C0 3F 03 38 */ lfs f1, 0x338(r31)
/* 80154D5C 00151CBC C0 02 9E 28 */ lfs f0, lbl_805ABB48@sda21(r2)
/* 80154D60 00151CC0 D0 21 00 08 */ stfs f1, 8(r1)
/* 80154D64 00151CC4 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80154D68 00151CC8 C0 E1 00 0C */ lfs f7, 0xc(r1)
/* 80154D6C 00151CCC C1 01 00 10 */ lfs f8, 0x10(r1)
/* 80154D70 00151CD0 C1 21 00 14 */ lfs f9, 0x14(r1)
/* 80154D74 00151CD4 40 80 00 0C */ bge lbl_80154D80
/* 80154D78 00151CD8 38 62 9E 28 */ addi r3, r2, lbl_805ABB48@sda21
/* 80154D7C 00151CDC 48 00 00 08 */ b lbl_80154D84
lbl_80154D80:
/* 80154D80 00151CE0 38 61 00 08 */ addi r3, r1, 8
lbl_80154D84:
/* 80154D84 00151CE4 80 9F 05 B4 */ lwz r4, 0x5b4(r31)
/* 80154D88 00151CE8 C0 3F 00 40 */ lfs f1, 0x40(r31)
/* 80154D8C 00151CEC C0 1F 05 9C */ lfs f0, 0x59c(r31)
/* 80154D90 00151CF0 2C 04 00 03 */ cmpwi r4, 3
/* 80154D94 00151CF4 C0 7F 00 50 */ lfs f3, 0x50(r31)
/* 80154D98 00151CF8 C0 5F 05 A0 */ lfs f2, 0x5a0(r31)
/* 80154D9C 00151CFC EC C1 00 2A */ fadds f6, f1, f0
/* 80154DA0 00151D00 C0 3F 00 60 */ lfs f1, 0x60(r31)
/* 80154DA4 00151D04 C0 1F 05 A4 */ lfs f0, 0x5a4(r31)
/* 80154DA8 00151D08 EC A3 10 2A */ fadds f5, f3, f2
/* 80154DAC 00151D0C C1 43 00 00 */ lfs f10, 0(r3)
/* 80154DB0 00151D10 EC 81 00 2A */ fadds f4, f1, f0
/* 80154DB4 00151D14 40 82 00 40 */ bne lbl_80154DF4
/* 80154DB8 00151D18 80 1F 05 B8 */ lwz r0, 0x5b8(r31)
/* 80154DBC 00151D1C 2C 00 00 02 */ cmpwi r0, 2
/* 80154DC0 00151D20 40 82 00 34 */ bne lbl_80154DF4
/* 80154DC4 00151D24 C0 02 9E 2C */ lfs f0, lbl_805ABB4C@sda21(r2)
/* 80154DC8 00151D28 EC 46 02 B2 */ fmuls f2, f6, f10
/* 80154DCC 00151D2C EC 25 02 B2 */ fmuls f1, f5, f10
/* 80154DD0 00151D30 EC 60 50 28 */ fsubs f3, f0, f10
/* 80154DD4 00151D34 EC 04 02 B2 */ fmuls f0, f4, f10
/* 80154DD8 00151D38 EC 47 10 FA */ fmadds f2, f7, f3, f2
/* 80154DDC 00151D3C EC 28 08 FA */ fmadds f1, f8, f3, f1
/* 80154DE0 00151D40 EC 09 00 FA */ fmadds f0, f9, f3, f0
/* 80154DE4 00151D44 D0 5E 00 00 */ stfs f2, 0(r30)
/* 80154DE8 00151D48 D0 3E 00 04 */ stfs f1, 4(r30)
/* 80154DEC 00151D4C D0 1E 00 08 */ stfs f0, 8(r30)
/* 80154DF0 00151D50 48 00 00 54 */ b lbl_80154E44
lbl_80154DF4:
/* 80154DF4 00151D54 2C 04 00 02 */ cmpwi r4, 2
/* 80154DF8 00151D58 40 82 00 40 */ bne lbl_80154E38
/* 80154DFC 00151D5C 80 1F 05 B8 */ lwz r0, 0x5b8(r31)
/* 80154E00 00151D60 2C 00 00 03 */ cmpwi r0, 3
/* 80154E04 00151D64 40 82 00 34 */ bne lbl_80154E38
/* 80154E08 00151D68 C0 02 9E 2C */ lfs f0, lbl_805ABB4C@sda21(r2)
/* 80154E0C 00151D6C EC 47 02 B2 */ fmuls f2, f7, f10
/* 80154E10 00151D70 EC 28 02 B2 */ fmuls f1, f8, f10
/* 80154E14 00151D74 EC 60 50 28 */ fsubs f3, f0, f10
/* 80154E18 00151D78 EC 09 02 B2 */ fmuls f0, f9, f10
/* 80154E1C 00151D7C EC 46 10 FA */ fmadds f2, f6, f3, f2
/* 80154E20 00151D80 EC 25 08 FA */ fmadds f1, f5, f3, f1
/* 80154E24 00151D84 EC 04 00 FA */ fmadds f0, f4, f3, f0
/* 80154E28 00151D88 D0 5E 00 00 */ stfs f2, 0(r30)
/* 80154E2C 00151D8C D0 3E 00 04 */ stfs f1, 4(r30)
/* 80154E30 00151D90 D0 1E 00 08 */ stfs f0, 8(r30)
/* 80154E34 00151D94 48 00 00 10 */ b lbl_80154E44
lbl_80154E38:
/* 80154E38 00151D98 D0 FE 00 00 */ stfs f7, 0(r30)
/* 80154E3C 00151D9C D1 1E 00 04 */ stfs f8, 4(r30)
/* 80154E40 00151DA0 D1 3E 00 08 */ stfs f9, 8(r30)
lbl_80154E44:
/* 80154E44 00151DA4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80154E48 00151DA8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80154E4C 00151DAC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80154E50 00151DB0 7C 08 03 A6 */ mtlr r0
/* 80154E54 00151DB4 38 21 00 20 */ addi r1, r1, 0x20
/* 80154E58 00151DB8 4E 80 00 20 */ blr
.global GetAimPosition__10CSpankWeedCFRC13CStateManagerf
GetAimPosition__10CSpankWeedCFRC13CStateManagerf:
/* 80154E5C 00151DBC 94 21 FE C0 */ stwu r1, -0x140(r1)
/* 80154E60 00151DC0 7C 08 02 A6 */ mflr r0
/* 80154E64 00151DC4 90 01 01 44 */ stw r0, 0x144(r1)
/* 80154E68 00151DC8 DB E1 01 30 */ stfd f31, 0x130(r1)
/* 80154E6C 00151DCC F3 E1 01 38 */ psq_st f31, 312(r1), 0, qr0
/* 80154E70 00151DD0 DB C1 01 20 */ stfd f30, 0x120(r1)
/* 80154E74 00151DD4 F3 C1 01 28 */ psq_st f30, 296(r1), 0, qr0
/* 80154E78 00151DD8 DB A1 01 10 */ stfd f29, 0x110(r1)
/* 80154E7C 00151DDC F3 A1 01 18 */ psq_st f29, 280(r1), 0, qr0
/* 80154E80 00151DE0 93 E1 01 0C */ stw r31, 0x10c(r1)
/* 80154E84 00151DE4 93 C1 01 08 */ stw r30, 0x108(r1)
/* 80154E88 00151DE8 93 A1 01 04 */ stw r29, 0x104(r1)
/* 80154E8C 00151DEC C0 02 9E 30 */ lfs f0, lbl_805ABB50@sda21(r2)
/* 80154E90 00151DF0 3C A0 80 5A */ lis r5, sZeroVector__9CVector3f@ha
/* 80154E94 00151DF4 C7 E5 66 A0 */ lfsu f31, sZeroVector__9CVector3f@l(r5)
/* 80154E98 00151DF8 7C 7D 1B 78 */ mr r29, r3
/* 80154E9C 00151DFC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80154EA0 00151E00 7C 9E 23 78 */ mr r30, r4
/* 80154EA4 00151E04 C3 C5 00 04 */ lfs f30, 4(r5)
/* 80154EA8 00151E08 C3 A5 00 08 */ lfs f29, 8(r5)
/* 80154EAC 00151E0C 40 81 00 18 */ ble lbl_80154EC4
/* 80154EB0 00151E10 38 61 00 90 */ addi r3, r1, 0x90
/* 80154EB4 00151E14 4B FC 6D FD */ bl PredictMotion__13CPhysicsActorCFf
/* 80154EB8 00151E18 C3 E1 00 90 */ lfs f31, 0x90(r1)
/* 80154EBC 00151E1C C3 C1 00 94 */ lfs f30, 0x94(r1)
/* 80154EC0 00151E20 C3 A1 00 98 */ lfs f29, 0x98(r1)
lbl_80154EC4:
/* 80154EC4 00151E24 80 BE 00 64 */ lwz r5, 0x64(r30)
/* 80154EC8 00151E28 3C 60 80 3D */ lis r3, lbl_803D0230@ha
/* 80154ECC 00151E2C 38 83 02 30 */ addi r4, r3, lbl_803D0230@l
/* 80154ED0 00151E30 38 61 00 2C */ addi r3, r1, 0x2c
/* 80154ED4 00151E34 83 E5 00 10 */ lwz r31, 0x10(r5)
/* 80154ED8 00151E38 38 84 00 59 */ addi r4, r4, 0x59
/* 80154EDC 00151E3C 4B EA FD DD */ bl string_l__4rstlFPCc
/* 80154EE0 00151E40 7F E4 FB 78 */ mr r4, r31
/* 80154EE4 00151E44 38 61 00 0C */ addi r3, r1, 0xc
/* 80154EE8 00151E48 38 A1 00 2C */ addi r5, r1, 0x2c
/* 80154EEC 00151E4C 4B ED 99 4D */ bl "GetLocatorSegId__9CAnimDataCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80154EF0 00151E50 88 01 00 0C */ lbz r0, 0xc(r1)
/* 80154EF4 00151E54 38 61 00 2C */ addi r3, r1, 0x2c
/* 80154EF8 00151E58 98 01 00 10 */ stb r0, 0x10(r1)
/* 80154EFC 00151E5C 48 1E 8B E5 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 80154F00 00151E60 88 01 00 10 */ lbz r0, 0x10(r1)
/* 80154F04 00151E64 28 00 00 FF */ cmplwi r0, 0xff
/* 80154F08 00151E68 41 82 00 88 */ beq lbl_80154F90
/* 80154F0C 00151E6C 98 01 00 08 */ stb r0, 8(r1)
/* 80154F10 00151E70 7F E4 FB 78 */ mr r4, r31
/* 80154F14 00151E74 38 61 00 60 */ addi r3, r1, 0x60
/* 80154F18 00151E78 38 A1 00 08 */ addi r5, r1, 8
/* 80154F1C 00151E7C 38 C0 00 00 */ li r6, 0
/* 80154F20 00151E80 4B ED 73 55 */ bl GetLocatorTransform__9CAnimDataCF6CSegIdPC13CCharAnimTime
/* 80154F24 00151E84 38 61 00 C4 */ addi r3, r1, 0xc4
/* 80154F28 00151E88 38 81 00 60 */ addi r4, r1, 0x60
/* 80154F2C 00151E8C 48 1B DC 49 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80154F30 00151E90 80 DE 00 64 */ lwz r6, 0x64(r30)
/* 80154F34 00151E94 38 61 00 20 */ addi r3, r1, 0x20
/* 80154F38 00151E98 C0 01 00 F0 */ lfs f0, 0xf0(r1)
/* 80154F3C 00151E9C 38 9E 00 34 */ addi r4, r30, 0x34
/* 80154F40 00151EA0 C0 26 00 08 */ lfs f1, 8(r6)
/* 80154F44 00151EA4 38 A1 00 3C */ addi r5, r1, 0x3c
/* 80154F48 00151EA8 C0 66 00 04 */ lfs f3, 4(r6)
/* 80154F4C 00151EAC C0 41 00 E0 */ lfs f2, 0xe0(r1)
/* 80154F50 00151EB0 EC 81 00 32 */ fmuls f4, f1, f0
/* 80154F54 00151EB4 C0 26 00 00 */ lfs f1, 0(r6)
/* 80154F58 00151EB8 C0 01 00 D0 */ lfs f0, 0xd0(r1)
/* 80154F5C 00151EBC EC 43 00 B2 */ fmuls f2, f3, f2
/* 80154F60 00151EC0 D0 81 00 44 */ stfs f4, 0x44(r1)
/* 80154F64 00151EC4 EC 01 00 32 */ fmuls f0, f1, f0
/* 80154F68 00151EC8 D0 41 00 40 */ stfs f2, 0x40(r1)
/* 80154F6C 00151ECC D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 80154F70 00151ED0 48 1B DB 79 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 80154F74 00151ED4 C0 41 00 20 */ lfs f2, 0x20(r1)
/* 80154F78 00151ED8 C0 21 00 24 */ lfs f1, 0x24(r1)
/* 80154F7C 00151EDC C0 01 00 28 */ lfs f0, 0x28(r1)
/* 80154F80 00151EE0 EF FF 10 2A */ fadds f31, f31, f2
/* 80154F84 00151EE4 EF DE 08 2A */ fadds f30, f30, f1
/* 80154F88 00151EE8 EF BD 00 2A */ fadds f29, f29, f0
/* 80154F8C 00151EEC 48 00 00 34 */ b lbl_80154FC0
lbl_80154F90:
/* 80154F90 00151EF0 7F C4 F3 78 */ mr r4, r30
/* 80154F94 00151EF4 38 61 00 48 */ addi r3, r1, 0x48
/* 80154F98 00151EF8 4B FC 59 95 */ bl GetBoundingBox__13CPhysicsActorCFv
/* 80154F9C 00151EFC 38 61 00 14 */ addi r3, r1, 0x14
/* 80154FA0 00151F00 38 81 00 48 */ addi r4, r1, 0x48
/* 80154FA4 00151F04 48 1E 26 69 */ bl GetCenterPoint__6CAABoxCFv
/* 80154FA8 00151F08 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 80154FAC 00151F0C C0 21 00 18 */ lfs f1, 0x18(r1)
/* 80154FB0 00151F10 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80154FB4 00151F14 EF FF 10 2A */ fadds f31, f31, f2
/* 80154FB8 00151F18 EF DE 08 2A */ fadds f30, f30, f1
/* 80154FBC 00151F1C EF BD 00 2A */ fadds f29, f29, f0
lbl_80154FC0:
/* 80154FC0 00151F20 D3 FD 00 00 */ stfs f31, 0(r29)
/* 80154FC4 00151F24 D3 DD 00 04 */ stfs f30, 4(r29)
/* 80154FC8 00151F28 D3 BD 00 08 */ stfs f29, 8(r29)
/* 80154FCC 00151F2C E3 E1 01 38 */ psq_l f31, 312(r1), 0, qr0
/* 80154FD0 00151F30 CB E1 01 30 */ lfd f31, 0x130(r1)
/* 80154FD4 00151F34 E3 C1 01 28 */ psq_l f30, 296(r1), 0, qr0
/* 80154FD8 00151F38 CB C1 01 20 */ lfd f30, 0x120(r1)
/* 80154FDC 00151F3C E3 A1 01 18 */ psq_l f29, 280(r1), 0, qr0
/* 80154FE0 00151F40 CB A1 01 10 */ lfd f29, 0x110(r1)
/* 80154FE4 00151F44 83 E1 01 0C */ lwz r31, 0x10c(r1)
/* 80154FE8 00151F48 83 C1 01 08 */ lwz r30, 0x108(r1)
/* 80154FEC 00151F4C 80 01 01 44 */ lwz r0, 0x144(r1)
/* 80154FF0 00151F50 83 A1 01 04 */ lwz r29, 0x104(r1)
/* 80154FF4 00151F54 7C 08 03 A6 */ mtlr r0
/* 80154FF8 00151F58 38 21 01 40 */ addi r1, r1, 0x140
/* 80154FFC 00151F5C 4E 80 00 20 */ blr
.global Flinch__10CSpankWeedFR13CStateManager9EStateMsgf
Flinch__10CSpankWeedFR13CStateManager9EStateMsgf:
/* 80155000 00151F60 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80155004 00151F64 7C 08 02 A6 */ mflr r0
/* 80155008 00151F68 2C 05 00 01 */ cmpwi r5, 1
/* 8015500C 00151F6C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80155010 00151F70 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80155014 00151F74 41 82 00 44 */ beq lbl_80155058
/* 80155018 00151F78 40 80 00 10 */ bge lbl_80155028
/* 8015501C 00151F7C 2C 05 00 00 */ cmpwi r5, 0
/* 80155020 00151F80 40 80 00 14 */ bge lbl_80155034
/* 80155024 00151F84 48 00 01 34 */ b lbl_80155158
lbl_80155028:
/* 80155028 00151F88 2C 05 00 03 */ cmpwi r5, 3
/* 8015502C 00151F8C 40 80 01 2C */ bge lbl_80155158
/* 80155030 00151F90 48 00 01 20 */ b lbl_80155150
lbl_80155034:
/* 80155034 00151F94 38 A0 00 00 */ li r5, 0
/* 80155038 00151F98 38 00 00 04 */ li r0, 4
/* 8015503C 00151F9C 90 A3 05 BC */ stw r5, 0x5bc(r3)
/* 80155040 00151FA0 7C 86 23 78 */ mr r6, r4
/* 80155044 00151FA4 38 80 00 29 */ li r4, 0x29
/* 80155048 00151FA8 38 A0 00 28 */ li r5, 0x28
/* 8015504C 00151FAC 90 03 05 B4 */ stw r0, 0x5b4(r3)
/* 80155050 00151FB0 4B EF EE 85 */ bl RemoveMaterial__6CActorF14EMaterialTypes14EMaterialTypesR13CStateManager
/* 80155054 00151FB4 48 00 01 04 */ b lbl_80155158
lbl_80155058:
/* 80155058 00151FB8 80 03 05 BC */ lwz r0, 0x5bc(r3)
/* 8015505C 00151FBC 2C 00 00 01 */ cmpwi r0, 1
/* 80155060 00151FC0 41 82 00 F8 */ beq lbl_80155158
/* 80155064 00151FC4 40 80 00 10 */ bge lbl_80155074
/* 80155068 00151FC8 2C 00 00 00 */ cmpwi r0, 0
/* 8015506C 00151FCC 40 80 00 14 */ bge lbl_80155080
/* 80155070 00151FD0 48 00 00 E8 */ b lbl_80155158
lbl_80155074:
/* 80155074 00151FD4 2C 00 00 03 */ cmpwi r0, 3
/* 80155078 00151FD8 40 80 00 E0 */ bge lbl_80155158
/* 8015507C 00151FDC 48 00 00 B8 */ b lbl_80155134
lbl_80155080:
/* 80155080 00151FE0 80 E3 04 50 */ lwz r7, 0x450(r3)
/* 80155084 00151FE4 80 07 02 B8 */ lwz r0, 0x2b8(r7)
/* 80155088 00151FE8 2C 00 00 06 */ cmpwi r0, 6
/* 8015508C 00151FEC 40 82 00 10 */ bne lbl_8015509C
/* 80155090 00151FF0 38 00 00 02 */ li r0, 2
/* 80155094 00151FF4 90 03 05 BC */ stw r0, 0x5bc(r3)
/* 80155098 00151FF8 48 00 00 C0 */ b lbl_80155158
lbl_8015509C:
/* 8015509C 00151FFC 3C A0 80 3E */ lis r5, lbl_803DAA68@ha
/* 801550A0 00152000 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 801550A4 00152004 C4 43 66 A0 */ lfsu f2, sZeroVector__9CVector3f@l(r3)
/* 801550A8 00152008 38 A5 AA 68 */ addi r5, r5, lbl_803DAA68@l
/* 801550AC 0015200C 3C 80 80 3E */ lis r4, lbl_803DAA44@ha
/* 801550B0 00152010 90 A1 00 08 */ stw r5, 8(r1)
/* 801550B4 00152014 38 A4 AA 44 */ addi r5, r4, lbl_803DAA44@l
/* 801550B8 00152018 C0 23 00 04 */ lfs f1, 4(r3)
/* 801550BC 0015201C C0 03 00 08 */ lfs f0, 8(r3)
/* 801550C0 00152020 38 C0 00 04 */ li r6, 4
/* 801550C4 00152024 38 00 00 00 */ li r0, 0
/* 801550C8 00152028 3B E7 00 04 */ addi r31, r7, 4
/* 801550CC 0015202C 90 C1 00 0C */ stw r6, 0xc(r1)
/* 801550D0 00152030 38 80 00 04 */ li r4, 4
/* 801550D4 00152034 7F E3 FB 78 */ mr r3, r31
/* 801550D8 00152038 90 A1 00 08 */ stw r5, 8(r1)
/* 801550DC 0015203C D0 41 00 10 */ stfs f2, 0x10(r1)
/* 801550E0 00152040 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 801550E4 00152044 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 801550E8 00152048 90 01 00 1C */ stw r0, 0x1c(r1)
/* 801550EC 0015204C 4B FD C3 4D */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd
/* 801550F0 00152050 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801550F4 00152054 3C 60 80 3E */ lis r3, lbl_803DAA44@ha
/* 801550F8 00152058 38 83 AA 44 */ addi r4, r3, lbl_803DAA44@l
/* 801550FC 0015205C 3C 60 80 3E */ lis r3, lbl_803DAA68@ha
/* 80155100 00152060 90 1F 00 F8 */ stw r0, 0xf8(r31)
/* 80155104 00152064 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l
/* 80155108 00152068 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 8015510C 0015206C 80 61 00 14 */ lwz r3, 0x14(r1)
/* 80155110 00152070 90 BF 00 FC */ stw r5, 0xfc(r31)
/* 80155114 00152074 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 80155118 00152078 90 7F 01 00 */ stw r3, 0x100(r31)
/* 8015511C 0015207C 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 80155120 00152080 90 BF 01 04 */ stw r5, 0x104(r31)
/* 80155124 00152084 90 81 00 08 */ stw r4, 8(r1)
/* 80155128 00152088 90 7F 01 08 */ stw r3, 0x108(r31)
/* 8015512C 0015208C 90 01 00 08 */ stw r0, 8(r1)
/* 80155130 00152090 48 00 00 28 */ b lbl_80155158
lbl_80155134:
/* 80155134 00152094 80 83 04 50 */ lwz r4, 0x450(r3)
/* 80155138 00152098 80 04 02 B8 */ lwz r0, 0x2b8(r4)
/* 8015513C 0015209C 2C 00 00 06 */ cmpwi r0, 6
/* 80155140 001520A0 41 82 00 18 */ beq lbl_80155158
/* 80155144 001520A4 38 00 00 03 */ li r0, 3
/* 80155148 001520A8 90 03 05 BC */ stw r0, 0x5bc(r3)
/* 8015514C 001520AC 48 00 00 0C */ b lbl_80155158
lbl_80155150:
/* 80155150 001520B0 38 00 00 04 */ li r0, 4
/* 80155154 001520B4 90 03 05 B8 */ stw r0, 0x5b8(r3)
lbl_80155158:
/* 80155158 001520B8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8015515C 001520BC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80155160 001520C0 7C 08 03 A6 */ mtlr r0
/* 80155164 001520C4 38 21 00 30 */ addi r1, r1, 0x30
/* 80155168 001520C8 4E 80 00 20 */ blr
.global Delay__10CSpankWeedFR13CStateManagerf
Delay__10CSpankWeedFR13CStateManagerf:
/* 8015516C 001520CC 88 03 04 00 */ lbz r0, 0x400(r3)
/* 80155170 001520D0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80155174 001520D4 41 82 00 34 */ beq lbl_801551A8
/* 80155178 001520D8 C0 23 03 38 */ lfs f1, 0x338(r3)
/* 8015517C 001520DC C0 03 05 78 */ lfs f0, 0x578(r3)
/* 80155180 001520E0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80155184 001520E4 40 81 00 1C */ ble lbl_801551A0
/* 80155188 001520E8 88 03 04 00 */ lbz r0, 0x400(r3)
/* 8015518C 001520EC 38 80 00 00 */ li r4, 0
/* 80155190 001520F0 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 80155194 001520F4 98 03 04 00 */ stb r0, 0x400(r3)
/* 80155198 001520F8 38 60 00 01 */ li r3, 1
/* 8015519C 001520FC 4E 80 00 20 */ blr
lbl_801551A0:
/* 801551A0 00152100 38 60 00 00 */ li r3, 0
/* 801551A4 00152104 4E 80 00 20 */ blr
lbl_801551A8:
/* 801551A8 00152108 38 60 00 01 */ li r3, 1
/* 801551AC 0015210C 4E 80 00 20 */ blr
.global InRange__10CSpankWeedFR13CStateManagerf
InRange__10CSpankWeedFR13CStateManagerf:
/* 801551B0 00152110 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801551B4 00152114 7C 08 02 A6 */ mflr r0
/* 801551B8 00152118 90 01 00 24 */ stw r0, 0x24(r1)
/* 801551BC 0015211C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801551C0 00152120 7C 9F 23 78 */ mr r31, r4
/* 801551C4 00152124 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801551C8 00152128 7C 7E 1B 78 */ mr r30, r3
/* 801551CC 0015212C 4B FF FB 09 */ bl sub_80154cd4
/* 801551D0 00152130 C0 7E 05 6C */ lfs f3, 0x56c(r30)
/* 801551D4 00152134 C0 02 9E 30 */ lfs f0, lbl_805ABB50@sda21(r2)
/* 801551D8 00152138 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 801551DC 0015213C 40 81 00 54 */ ble lbl_80155230
/* 801551E0 00152140 80 9F 08 4C */ lwz r4, 0x84c(r31)
/* 801551E4 00152144 38 60 00 00 */ li r3, 0
/* 801551E8 00152148 C0 BE 00 60 */ lfs f5, 0x60(r30)
/* 801551EC 0015214C C0 04 00 60 */ lfs f0, 0x60(r4)
/* 801551F0 00152150 C0 9E 00 50 */ lfs f4, 0x50(r30)
/* 801551F4 00152154 EC 00 28 28 */ fsubs f0, f0, f5
/* 801551F8 00152158 C0 5E 00 40 */ lfs f2, 0x40(r30)
/* 801551FC 0015215C D0 81 00 0C */ stfs f4, 0xc(r1)
/* 80155200 00152160 FC 00 02 10 */ fabs f0, f0
/* 80155204 00152164 D0 41 00 08 */ stfs f2, 8(r1)
/* 80155208 00152168 D0 A1 00 10 */ stfs f5, 0x10(r1)
/* 8015520C 0015216C FC 00 00 18 */ frsp f0, f0
/* 80155210 00152170 FC 00 18 40 */ fcmpo cr0, f0, f3
/* 80155214 00152174 40 80 00 30 */ bge lbl_80155244
/* 80155218 00152178 C0 1E 05 74 */ lfs f0, 0x574(r30)
/* 8015521C 0015217C EC 00 00 32 */ fmuls f0, f0, f0
/* 80155220 00152180 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80155224 00152184 40 80 00 20 */ bge lbl_80155244
/* 80155228 00152188 38 60 00 01 */ li r3, 1
/* 8015522C 0015218C 48 00 00 18 */ b lbl_80155244
lbl_80155230:
/* 80155230 00152190 C0 1E 05 74 */ lfs f0, 0x574(r30)
/* 80155234 00152194 EC 00 00 32 */ fmuls f0, f0, f0
/* 80155238 00152198 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8015523C 0015219C 7C 00 00 26 */ mfcr r0
/* 80155240 001521A0 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_80155244:
/* 80155244 001521A4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80155248 001521A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8015524C 001521AC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80155250 001521B0 7C 08 03 A6 */ mtlr r0
/* 80155254 001521B4 38 21 00 20 */ addi r1, r1, 0x20
/* 80155258 001521B8 4E 80 00 20 */ blr
.global HearPlayer__10CSpankWeedFR13CStateManagerf
HearPlayer__10CSpankWeedFR13CStateManagerf:
/* 8015525C 001521BC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80155260 001521C0 7C 08 02 A6 */ mflr r0
/* 80155264 001521C4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80155268 001521C8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8015526C 001521CC 7C 9F 23 78 */ mr r31, r4
/* 80155270 001521D0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80155274 001521D4 7C 7E 1B 78 */ mr r30, r3
/* 80155278 001521D8 4B FF FA 5D */ bl sub_80154cd4
/* 8015527C 001521DC C0 7E 05 6C */ lfs f3, 0x56c(r30)
/* 80155280 001521E0 C0 02 9E 30 */ lfs f0, lbl_805ABB50@sda21(r2)
/* 80155284 001521E4 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 80155288 001521E8 40 81 00 54 */ ble lbl_801552DC
/* 8015528C 001521EC 80 9F 08 4C */ lwz r4, 0x84c(r31)
/* 80155290 001521F0 38 60 00 00 */ li r3, 0
/* 80155294 001521F4 C0 BE 00 60 */ lfs f5, 0x60(r30)
/* 80155298 001521F8 C0 04 00 60 */ lfs f0, 0x60(r4)
/* 8015529C 001521FC C0 9E 00 50 */ lfs f4, 0x50(r30)
/* 801552A0 00152200 EC 00 28 28 */ fsubs f0, f0, f5
/* 801552A4 00152204 C0 5E 00 40 */ lfs f2, 0x40(r30)
/* 801552A8 00152208 D0 81 00 0C */ stfs f4, 0xc(r1)
/* 801552AC 0015220C FC 00 02 10 */ fabs f0, f0
/* 801552B0 00152210 D0 41 00 08 */ stfs f2, 8(r1)
/* 801552B4 00152214 D0 A1 00 10 */ stfs f5, 0x10(r1)
/* 801552B8 00152218 FC 00 00 18 */ frsp f0, f0
/* 801552BC 0015221C FC 00 18 40 */ fcmpo cr0, f0, f3
/* 801552C0 00152220 40 80 00 30 */ bge lbl_801552F0
/* 801552C4 00152224 C0 1E 05 70 */ lfs f0, 0x570(r30)
/* 801552C8 00152228 EC 00 00 32 */ fmuls f0, f0, f0
/* 801552CC 0015222C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801552D0 00152230 40 80 00 20 */ bge lbl_801552F0
/* 801552D4 00152234 38 60 00 01 */ li r3, 1
/* 801552D8 00152238 48 00 00 18 */ b lbl_801552F0
lbl_801552DC:
/* 801552DC 0015223C C0 1E 05 70 */ lfs f0, 0x570(r30)
/* 801552E0 00152240 EC 00 00 32 */ fmuls f0, f0, f0
/* 801552E4 00152244 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801552E8 00152248 7C 00 00 26 */ mfcr r0
/* 801552EC 0015224C 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_801552F0:
/* 801552F0 00152250 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801552F4 00152254 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801552F8 00152258 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801552FC 0015225C 7C 08 03 A6 */ mtlr r0
/* 80155300 00152260 38 21 00 20 */ addi r1, r1, 0x20
/* 80155304 00152264 4E 80 00 20 */ blr
.global InDetectionRage__10CSpankWeedFR13CStateManagerf
InDetectionRage__10CSpankWeedFR13CStateManagerf:
/* 80155308 00152268 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8015530C 0015226C 7C 08 02 A6 */ mflr r0
/* 80155310 00152270 90 01 00 24 */ stw r0, 0x24(r1)
/* 80155314 00152274 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80155318 00152278 7C 9F 23 78 */ mr r31, r4
/* 8015531C 0015227C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80155320 00152280 7C 7E 1B 78 */ mr r30, r3
/* 80155324 00152284 4B FF F9 B1 */ bl sub_80154cd4
/* 80155328 00152288 C0 7E 05 6C */ lfs f3, 0x56c(r30)
/* 8015532C 0015228C C0 02 9E 30 */ lfs f0, lbl_805ABB50@sda21(r2)
/* 80155330 00152290 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 80155334 00152294 40 81 00 54 */ ble lbl_80155388
/* 80155338 00152298 80 9F 08 4C */ lwz r4, 0x84c(r31)
/* 8015533C 0015229C 38 60 00 00 */ li r3, 0
/* 80155340 001522A0 C0 BE 00 60 */ lfs f5, 0x60(r30)
/* 80155344 001522A4 C0 04 00 60 */ lfs f0, 0x60(r4)
/* 80155348 001522A8 C0 9E 00 50 */ lfs f4, 0x50(r30)
/* 8015534C 001522AC EC 00 28 28 */ fsubs f0, f0, f5
/* 80155350 001522B0 C0 5E 00 40 */ lfs f2, 0x40(r30)
/* 80155354 001522B4 D0 81 00 0C */ stfs f4, 0xc(r1)
/* 80155358 001522B8 FC 00 02 10 */ fabs f0, f0
/* 8015535C 001522BC D0 41 00 08 */ stfs f2, 8(r1)
/* 80155360 001522C0 D0 A1 00 10 */ stfs f5, 0x10(r1)
/* 80155364 001522C4 FC 00 00 18 */ frsp f0, f0
/* 80155368 001522C8 FC 00 18 40 */ fcmpo cr0, f0, f3
/* 8015536C 001522CC 40 80 00 30 */ bge lbl_8015539C
/* 80155370 001522D0 C0 1E 05 68 */ lfs f0, 0x568(r30)
/* 80155374 001522D4 EC 00 00 32 */ fmuls f0, f0, f0
/* 80155378 001522D8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8015537C 001522DC 40 80 00 20 */ bge lbl_8015539C
/* 80155380 001522E0 38 60 00 01 */ li r3, 1
/* 80155384 001522E4 48 00 00 18 */ b lbl_8015539C
lbl_80155388:
/* 80155388 001522E8 C0 1E 05 68 */ lfs f0, 0x568(r30)
/* 8015538C 001522EC EC 00 00 32 */ fmuls f0, f0, f0
/* 80155390 001522F0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80155394 001522F4 7C 00 00 26 */ mfcr r0
/* 80155398 001522F8 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_8015539C:
/* 8015539C 001522FC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801553A0 00152300 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801553A4 00152304 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801553A8 00152308 7C 08 03 A6 */ mtlr r0
/* 801553AC 0015230C 38 21 00 20 */ addi r1, r1, 0x20
/* 801553B0 00152310 4E 80 00 20 */ blr
.global Attack__10CSpankWeedFR13CStateManager9EStateMsgf
Attack__10CSpankWeedFR13CStateManager9EStateMsgf:
/* 801553B4 00152314 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801553B8 00152318 7C 08 02 A6 */ mflr r0
/* 801553BC 0015231C 2C 05 00 01 */ cmpwi r5, 1
/* 801553C0 00152320 90 01 00 54 */ stw r0, 0x54(r1)
/* 801553C4 00152324 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 801553C8 00152328 7C 7F 1B 78 */ mr r31, r3
/* 801553CC 0015232C 93 C1 00 48 */ stw r30, 0x48(r1)
/* 801553D0 00152330 41 82 00 D0 */ beq lbl_801554A0
/* 801553D4 00152334 40 80 00 10 */ bge lbl_801553E4
/* 801553D8 00152338 2C 05 00 00 */ cmpwi r5, 0
/* 801553DC 0015233C 40 80 00 14 */ bge lbl_801553F0
/* 801553E0 00152340 48 00 01 7C */ b lbl_8015555C
lbl_801553E4:
/* 801553E4 00152344 2C 05 00 03 */ cmpwi r5, 3
/* 801553E8 00152348 40 80 01 74 */ bge lbl_8015555C
/* 801553EC 0015234C 48 00 01 68 */ b lbl_80155554
lbl_801553F0:
/* 801553F0 00152350 3C 80 80 3E */ lis r4, lbl_803DAA68@ha
/* 801553F4 00152354 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 801553F8 00152358 C4 43 66 A0 */ lfsu f2, sZeroVector__9CVector3f@l(r3)
/* 801553FC 0015235C 38 E4 AA 68 */ addi r7, r4, lbl_803DAA68@l
/* 80155400 00152360 3C 80 80 3E */ lis r4, lbl_803DA9D8@ha
/* 80155404 00152364 90 E1 00 24 */ stw r7, 0x24(r1)
/* 80155408 00152368 38 00 00 00 */ li r0, 0
/* 8015540C 0015236C C0 23 00 04 */ lfs f1, 4(r3)
/* 80155410 00152370 C0 03 00 08 */ lfs f0, 8(r3)
/* 80155414 00152374 38 A4 A9 D8 */ addi r5, r4, lbl_803DA9D8@l
/* 80155418 00152378 80 7F 04 50 */ lwz r3, 0x450(r31)
/* 8015541C 0015237C 38 C0 00 05 */ li r6, 5
/* 80155420 00152380 90 C1 00 28 */ stw r6, 0x28(r1)
/* 80155424 00152384 38 80 00 05 */ li r4, 5
/* 80155428 00152388 3B C3 00 04 */ addi r30, r3, 4
/* 8015542C 0015238C 90 A1 00 24 */ stw r5, 0x24(r1)
/* 80155430 00152390 7F C3 F3 78 */ mr r3, r30
/* 80155434 00152394 90 01 00 2C */ stw r0, 0x2c(r1)
/* 80155438 00152398 D0 41 00 30 */ stfs f2, 0x30(r1)
/* 8015543C 0015239C D0 21 00 34 */ stfs f1, 0x34(r1)
/* 80155440 001523A0 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 80155444 001523A4 98 01 00 3C */ stb r0, 0x3c(r1)
/* 80155448 001523A8 4B FD BF F1 */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd
/* 8015544C 001523AC 80 01 00 28 */ lwz r0, 0x28(r1)
/* 80155450 001523B0 3C 60 80 3E */ lis r3, lbl_803DA9D8@ha
/* 80155454 001523B4 38 83 A9 D8 */ addi r4, r3, lbl_803DA9D8@l
/* 80155458 001523B8 3C 60 80 3E */ lis r3, lbl_803DAA68@ha
/* 8015545C 001523BC 90 1E 01 10 */ stw r0, 0x110(r30)
/* 80155460 001523C0 38 63 AA 68 */ addi r3, r3, lbl_803DAA68@l
/* 80155464 001523C4 80 A1 00 2C */ lwz r5, 0x2c(r1)
/* 80155468 001523C8 38 00 00 03 */ li r0, 3
/* 8015546C 001523CC 80 C1 00 30 */ lwz r6, 0x30(r1)
/* 80155470 001523D0 90 BE 01 14 */ stw r5, 0x114(r30)
/* 80155474 001523D4 80 A1 00 34 */ lwz r5, 0x34(r1)
/* 80155478 001523D8 90 DE 01 18 */ stw r6, 0x118(r30)
/* 8015547C 001523DC 80 C1 00 38 */ lwz r6, 0x38(r1)
/* 80155480 001523E0 90 BE 01 1C */ stw r5, 0x11c(r30)
/* 80155484 001523E4 88 A1 00 3C */ lbz r5, 0x3c(r1)
/* 80155488 001523E8 90 DE 01 20 */ stw r6, 0x120(r30)
/* 8015548C 001523EC 98 BE 01 24 */ stb r5, 0x124(r30)
/* 80155490 001523F0 90 81 00 24 */ stw r4, 0x24(r1)
/* 80155494 001523F4 90 61 00 24 */ stw r3, 0x24(r1)
/* 80155498 001523F8 90 1F 05 B4 */ stw r0, 0x5b4(r31)
/* 8015549C 001523FC 48 00 00 C0 */ b lbl_8015555C
lbl_801554A0:
/* 801554A0 00152400 80 DF 04 50 */ lwz r6, 0x450(r31)
/* 801554A4 00152404 80 06 02 B8 */ lwz r0, 0x2b8(r6)
/* 801554A8 00152408 2C 00 00 07 */ cmpwi r0, 7
/* 801554AC 0015240C 41 82 00 B0 */ beq lbl_8015555C
/* 801554B0 00152410 3C 80 80 3E */ lis r4, lbl_803DAA68@ha
/* 801554B4 00152414 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 801554B8 00152418 C4 43 66 A0 */ lfsu f2, sZeroVector__9CVector3f@l(r3)
/* 801554BC 0015241C 38 A4 AA 68 */ addi r5, r4, lbl_803DAA68@l
/* 801554C0 00152420 3C 80 80 3E */ lis r4, lbl_803DA9D8@ha
/* 801554C4 00152424 90 A1 00 08 */ stw r5, 8(r1)
/* 801554C8 00152428 38 00 00 00 */ li r0, 0
/* 801554CC 0015242C C0 23 00 04 */ lfs f1, 4(r3)
/* 801554D0 00152430 C0 03 00 08 */ lfs f0, 8(r3)
/* 801554D4 00152434 38 A4 A9 D8 */ addi r5, r4, lbl_803DA9D8@l
/* 801554D8 00152438 38 60 00 05 */ li r3, 5
/* 801554DC 0015243C 3B C6 00 04 */ addi r30, r6, 4
/* 801554E0 00152440 90 61 00 0C */ stw r3, 0xc(r1)
/* 801554E4 00152444 38 80 00 05 */ li r4, 5
/* 801554E8 00152448 7F C3 F3 78 */ mr r3, r30
/* 801554EC 0015244C 90 A1 00 08 */ stw r5, 8(r1)
/* 801554F0 00152450 90 01 00 10 */ stw r0, 0x10(r1)
/* 801554F4 00152454 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 801554F8 00152458 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 801554FC 0015245C D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 80155500 00152460 98 01 00 20 */ stb r0, 0x20(r1)
/* 80155504 00152464 4B FD BF 35 */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd
/* 80155508 00152468 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8015550C 0015246C 3C 60 80 3E */ lis r3, lbl_803DA9D8@ha
/* 80155510 00152470 38 83 A9 D8 */ addi r4, r3, lbl_803DA9D8@l
/* 80155514 00152474 3C 60 80 3E */ lis r3, lbl_803DAA68@ha
/* 80155518 00152478 90 1E 01 10 */ stw r0, 0x110(r30)
/* 8015551C 0015247C 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l
/* 80155520 00152480 80 61 00 10 */ lwz r3, 0x10(r1)
/* 80155524 00152484 80 A1 00 14 */ lwz r5, 0x14(r1)
/* 80155528 00152488 90 7E 01 14 */ stw r3, 0x114(r30)
/* 8015552C 0015248C 80 61 00 18 */ lwz r3, 0x18(r1)
/* 80155530 00152490 90 BE 01 18 */ stw r5, 0x118(r30)
/* 80155534 00152494 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 80155538 00152498 90 7E 01 1C */ stw r3, 0x11c(r30)
/* 8015553C 0015249C 88 61 00 20 */ lbz r3, 0x20(r1)
/* 80155540 001524A0 90 BE 01 20 */ stw r5, 0x120(r30)
/* 80155544 001524A4 90 81 00 08 */ stw r4, 8(r1)
/* 80155548 001524A8 98 7E 01 24 */ stb r3, 0x124(r30)
/* 8015554C 001524AC 90 01 00 08 */ stw r0, 8(r1)
/* 80155550 001524B0 48 00 00 0C */ b lbl_8015555C
lbl_80155554:
/* 80155554 001524B4 38 00 00 03 */ li r0, 3
/* 80155558 001524B8 90 1F 05 B8 */ stw r0, 0x5b8(r31)
lbl_8015555C:
/* 8015555C 001524BC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80155560 001524C0 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 80155564 001524C4 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 80155568 001524C8 7C 08 03 A6 */ mtlr r0
/* 8015556C 001524CC 38 21 00 50 */ addi r1, r1, 0x50
/* 80155570 001524D0 4E 80 00 20 */ blr
.global TargetPatrol__10CSpankWeedFR13CStateManager9EStateMsgf
TargetPatrol__10CSpankWeedFR13CStateManager9EStateMsgf:
/* 80155574 001524D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80155578 001524D8 7C 08 02 A6 */ mflr r0
/* 8015557C 001524DC 2C 05 00 01 */ cmpwi r5, 1
/* 80155580 001524E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80155584 001524E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80155588 001524E8 7C 9F 23 78 */ mr r31, r4
/* 8015558C 001524EC 93 C1 00 08 */ stw r30, 8(r1)
/* 80155590 001524F0 7C 7E 1B 78 */ mr r30, r3
/* 80155594 001524F4 41 82 00 50 */ beq lbl_801555E4
/* 80155598 001524F8 40 80 00 10 */ bge lbl_801555A8
/* 8015559C 001524FC 2C 05 00 00 */ cmpwi r5, 0
/* 801555A0 00152500 40 80 00 14 */ bge lbl_801555B4
/* 801555A4 00152504 48 00 00 40 */ b lbl_801555E4
lbl_801555A8:
/* 801555A8 00152508 2C 05 00 03 */ cmpwi r5, 3
/* 801555AC 0015250C 40 80 00 38 */ bge lbl_801555E4
/* 801555B0 00152510 48 00 00 2C */ b lbl_801555DC
lbl_801555B4:
/* 801555B4 00152514 80 7E 04 50 */ lwz r3, 0x450(r30)
/* 801555B8 00152518 38 80 00 03 */ li r4, 3
/* 801555BC 0015251C 4B FE 54 1D */ bl SetLocomotionType__15CBodyControllerFQ23pas15ELocomotionType
/* 801555C0 00152520 7F C3 F3 78 */ mr r3, r30
/* 801555C4 00152524 7F E5 FB 78 */ mr r5, r31
/* 801555C8 00152528 38 80 00 13 */ li r4, 0x13
/* 801555CC 0015252C 4B EF E9 B5 */ bl RemoveMaterial__6CActorF14EMaterialTypesR13CStateManager
/* 801555D0 00152530 38 00 00 02 */ li r0, 2
/* 801555D4 00152534 90 1E 05 B4 */ stw r0, 0x5b4(r30)
/* 801555D8 00152538 48 00 00 0C */ b lbl_801555E4
lbl_801555DC:
/* 801555DC 0015253C 38 00 00 02 */ li r0, 2
/* 801555E0 00152540 90 1E 05 B8 */ stw r0, 0x5b8(r30)
lbl_801555E4:
/* 801555E4 00152544 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801555E8 00152548 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801555EC 0015254C 83 C1 00 08 */ lwz r30, 8(r1)
/* 801555F0 00152550 7C 08 03 A6 */ mtlr r0
/* 801555F4 00152554 38 21 00 10 */ addi r1, r1, 0x10
/* 801555F8 00152558 4E 80 00 20 */ blr
.global Lurk__10CSpankWeedFR13CStateManager9EStateMsgf
Lurk__10CSpankWeedFR13CStateManager9EStateMsgf:
/* 801555FC 0015255C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80155600 00152560 7C 08 02 A6 */ mflr r0
/* 80155604 00152564 2C 05 00 01 */ cmpwi r5, 1
/* 80155608 00152568 90 01 00 14 */ stw r0, 0x14(r1)
/* 8015560C 0015256C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80155610 00152570 7C 9F 23 78 */ mr r31, r4
/* 80155614 00152574 93 C1 00 08 */ stw r30, 8(r1)
/* 80155618 00152578 7C 7E 1B 78 */ mr r30, r3
/* 8015561C 0015257C 41 82 00 60 */ beq lbl_8015567C
/* 80155620 00152580 40 80 00 10 */ bge lbl_80155630
/* 80155624 00152584 2C 05 00 00 */ cmpwi r5, 0
/* 80155628 00152588 40 80 00 14 */ bge lbl_8015563C
/* 8015562C 0015258C 48 00 00 50 */ b lbl_8015567C
lbl_80155630:
/* 80155630 00152590 2C 05 00 03 */ cmpwi r5, 3
/* 80155634 00152594 40 80 00 48 */ bge lbl_8015567C
/* 80155638 00152598 48 00 00 3C */ b lbl_80155674
lbl_8015563C:
/* 8015563C 0015259C 88 1E 04 E1 */ lbz r0, 0x4e1(r30)
/* 80155640 001525A0 38 60 00 01 */ li r3, 1
/* 80155644 001525A4 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80155648 001525A8 38 80 00 02 */ li r4, 2
/* 8015564C 001525AC 98 1E 04 E1 */ stb r0, 0x4e1(r30)
/* 80155650 001525B0 80 7E 04 50 */ lwz r3, 0x450(r30)
/* 80155654 001525B4 4B FE 53 85 */ bl SetLocomotionType__15CBodyControllerFQ23pas15ELocomotionType
/* 80155658 001525B8 7F C3 F3 78 */ mr r3, r30
/* 8015565C 001525BC 7F E5 FB 78 */ mr r5, r31
/* 80155660 001525C0 38 80 00 13 */ li r4, 0x13
/* 80155664 001525C4 4B EF E9 1D */ bl RemoveMaterial__6CActorF14EMaterialTypesR13CStateManager
/* 80155668 001525C8 38 00 00 01 */ li r0, 1
/* 8015566C 001525CC 90 1E 05 B4 */ stw r0, 0x5b4(r30)
/* 80155670 001525D0 48 00 00 0C */ b lbl_8015567C
lbl_80155674:
/* 80155674 001525D4 38 00 00 01 */ li r0, 1
/* 80155678 001525D8 90 1E 05 B8 */ stw r0, 0x5b8(r30)
lbl_8015567C:
/* 8015567C 001525DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80155680 001525E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80155684 001525E4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80155688 001525E8 7C 08 03 A6 */ mtlr r0
/* 8015568C 001525EC 38 21 00 10 */ addi r1, r1, 0x10
/* 80155690 001525F0 4E 80 00 20 */ blr
.global FadeOut__10CSpankWeedFR13CStateManager9EStateMsgf
FadeOut__10CSpankWeedFR13CStateManager9EStateMsgf:
/* 80155694 001525F4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80155698 001525F8 7C 08 02 A6 */ mflr r0
/* 8015569C 001525FC 2C 05 00 01 */ cmpwi r5, 1
/* 801556A0 00152600 90 01 00 24 */ stw r0, 0x24(r1)
/* 801556A4 00152604 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801556A8 00152608 41 82 00 38 */ beq lbl_801556E0
/* 801556AC 0015260C 40 80 00 10 */ bge lbl_801556BC
/* 801556B0 00152610 2C 05 00 00 */ cmpwi r5, 0
/* 801556B4 00152614 40 80 00 14 */ bge lbl_801556C8
/* 801556B8 00152618 48 00 01 00 */ b lbl_801557B8
lbl_801556BC:
/* 801556BC 0015261C 2C 05 00 03 */ cmpwi r5, 3
/* 801556C0 00152620 40 80 00 F8 */ bge lbl_801557B8
/* 801556C4 00152624 48 00 00 EC */ b lbl_801557B0
lbl_801556C8:
/* 801556C8 00152628 38 80 00 00 */ li r4, 0
/* 801556CC 0015262C 38 00 00 06 */ li r0, 6
/* 801556D0 00152630 90 83 05 BC */ stw r4, 0x5bc(r3)
/* 801556D4 00152634 98 83 05 7C */ stb r4, 0x57c(r3)
/* 801556D8 00152638 90 03 05 B4 */ stw r0, 0x5b4(r3)
/* 801556DC 0015263C 48 00 00 DC */ b lbl_801557B8
lbl_801556E0:
/* 801556E0 00152640 80 03 05 BC */ lwz r0, 0x5bc(r3)
/* 801556E4 00152644 2C 00 00 01 */ cmpwi r0, 1
/* 801556E8 00152648 41 82 00 D0 */ beq lbl_801557B8
/* 801556EC 0015264C 40 80 00 10 */ bge lbl_801556FC
/* 801556F0 00152650 2C 00 00 00 */ cmpwi r0, 0
/* 801556F4 00152654 40 80 00 14 */ bge lbl_80155708
/* 801556F8 00152658 48 00 00 C0 */ b lbl_801557B8
lbl_801556FC:
/* 801556FC 0015265C 2C 00 00 03 */ cmpwi r0, 3
/* 80155700 00152660 40 80 00 B8 */ bge lbl_801557B8
/* 80155704 00152664 48 00 00 90 */ b lbl_80155794
lbl_80155708:
/* 80155708 00152668 80 83 04 50 */ lwz r4, 0x450(r3)
/* 8015570C 0015266C 80 04 02 B8 */ lwz r0, 0x2b8(r4)
/* 80155710 00152670 2C 00 00 03 */ cmpwi r0, 3
/* 80155714 00152674 40 82 00 10 */ bne lbl_80155724
/* 80155718 00152678 38 00 00 02 */ li r0, 2
/* 8015571C 0015267C 90 03 05 BC */ stw r0, 0x5bc(r3)
/* 80155720 00152680 48 00 00 98 */ b lbl_801557B8
lbl_80155724:
/* 80155724 00152684 3C 60 80 3E */ lis r3, lbl_803DAA68@ha
/* 80155728 00152688 38 C0 00 01 */ li r6, 1
/* 8015572C 0015268C 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l
/* 80155730 00152690 3C 60 80 3E */ lis r3, lbl_803DA9E4@ha
/* 80155734 00152694 90 01 00 08 */ stw r0, 8(r1)
/* 80155738 00152698 38 A3 A9 E4 */ addi r5, r3, lbl_803DA9E4@l
/* 8015573C 0015269C 38 00 00 00 */ li r0, 0
/* 80155740 001526A0 3B E4 00 04 */ addi r31, r4, 4
/* 80155744 001526A4 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80155748 001526A8 7F E3 FB 78 */ mr r3, r31
/* 8015574C 001526AC 38 80 00 01 */ li r4, 1
/* 80155750 001526B0 90 A1 00 08 */ stw r5, 8(r1)
/* 80155754 001526B4 90 C1 00 10 */ stw r6, 0x10(r1)
/* 80155758 001526B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8015575C 001526BC 4B FD BC DD */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd
/* 80155760 001526C0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80155764 001526C4 3C 60 80 3E */ lis r3, lbl_803DA9E4@ha
/* 80155768 001526C8 38 83 A9 E4 */ addi r4, r3, lbl_803DA9E4@l
/* 8015576C 001526CC 3C 60 80 3E */ lis r3, lbl_803DAA68@ha
/* 80155770 001526D0 90 1F 00 C8 */ stw r0, 0xc8(r31)
/* 80155774 001526D4 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l
/* 80155778 001526D8 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 8015577C 001526DC 90 81 00 08 */ stw r4, 8(r1)
/* 80155780 001526E0 80 61 00 14 */ lwz r3, 0x14(r1)
/* 80155784 001526E4 90 BF 00 CC */ stw r5, 0xcc(r31)
/* 80155788 001526E8 90 7F 00 D0 */ stw r3, 0xd0(r31)
/* 8015578C 001526EC 90 01 00 08 */ stw r0, 8(r1)
/* 80155790 001526F0 48 00 00 28 */ b lbl_801557B8
lbl_80155794:
/* 80155794 001526F4 80 83 04 50 */ lwz r4, 0x450(r3)
/* 80155798 001526F8 80 04 02 B8 */ lwz r0, 0x2b8(r4)
/* 8015579C 001526FC 2C 00 00 03 */ cmpwi r0, 3
/* 801557A0 00152700 41 82 00 18 */ beq lbl_801557B8
/* 801557A4 00152704 38 00 00 03 */ li r0, 3
/* 801557A8 00152708 90 03 05 BC */ stw r0, 0x5bc(r3)
/* 801557AC 0015270C 48 00 00 0C */ b lbl_801557B8
lbl_801557B0:
/* 801557B0 00152710 38 00 00 06 */ li r0, 6
/* 801557B4 00152714 90 03 05 B8 */ stw r0, 0x5b8(r3)
lbl_801557B8:
/* 801557B8 00152718 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801557BC 0015271C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801557C0 00152720 7C 08 03 A6 */ mtlr r0
/* 801557C4 00152724 38 21 00 20 */ addi r1, r1, 0x20
/* 801557C8 00152728 4E 80 00 20 */ blr
.global FadeIn__10CSpankWeedFR13CStateManager9EStateMsgf
FadeIn__10CSpankWeedFR13CStateManager9EStateMsgf:
/* 801557CC 0015272C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801557D0 00152730 7C 08 02 A6 */ mflr r0
/* 801557D4 00152734 2C 05 00 01 */ cmpwi r5, 1
/* 801557D8 00152738 90 01 00 24 */ stw r0, 0x24(r1)
/* 801557DC 0015273C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801557E0 00152740 7C 7F 1B 78 */ mr r31, r3
/* 801557E4 00152744 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801557E8 00152748 41 82 00 3C */ beq lbl_80155824
/* 801557EC 0015274C 40 80 00 10 */ bge lbl_801557FC
/* 801557F0 00152750 2C 05 00 00 */ cmpwi r5, 0
/* 801557F4 00152754 40 80 00 14 */ bge lbl_80155808
/* 801557F8 00152758 48 00 01 04 */ b lbl_801558FC
lbl_801557FC:
/* 801557FC 0015275C 2C 05 00 03 */ cmpwi r5, 3
/* 80155800 00152760 40 80 00 FC */ bge lbl_801558FC
/* 80155804 00152764 48 00 00 F0 */ b lbl_801558F4
lbl_80155808:
/* 80155808 00152768 38 00 00 00 */ li r0, 0
/* 8015580C 0015276C 38 60 00 01 */ li r3, 1
/* 80155810 00152770 90 1F 05 BC */ stw r0, 0x5bc(r31)
/* 80155814 00152774 38 00 00 05 */ li r0, 5
/* 80155818 00152778 98 7F 05 7C */ stb r3, 0x57c(r31)
/* 8015581C 0015277C 90 1F 05 B4 */ stw r0, 0x5b4(r31)
/* 80155820 00152780 48 00 00 DC */ b lbl_801558FC
lbl_80155824:
/* 80155824 00152784 80 1F 05 BC */ lwz r0, 0x5bc(r31)
/* 80155828 00152788 2C 00 00 01 */ cmpwi r0, 1
/* 8015582C 0015278C 41 82 00 D0 */ beq lbl_801558FC
/* 80155830 00152790 40 80 00 10 */ bge lbl_80155840
/* 80155834 00152794 2C 00 00 00 */ cmpwi r0, 0
/* 80155838 00152798 40 80 00 14 */ bge lbl_8015584C
/* 8015583C 0015279C 48 00 00 C0 */ b lbl_801558FC
lbl_80155840:
/* 80155840 001527A0 2C 00 00 03 */ cmpwi r0, 3
/* 80155844 001527A4 40 80 00 B8 */ bge lbl_801558FC
/* 80155848 001527A8 48 00 00 90 */ b lbl_801558D8
lbl_8015584C:
/* 8015584C 001527AC 80 DF 04 50 */ lwz r6, 0x450(r31)
/* 80155850 001527B0 80 06 02 B8 */ lwz r0, 0x2b8(r6)
/* 80155854 001527B4 2C 00 00 03 */ cmpwi r0, 3
/* 80155858 001527B8 40 82 00 10 */ bne lbl_80155868
/* 8015585C 001527BC 38 00 00 02 */ li r0, 2
/* 80155860 001527C0 90 1F 05 BC */ stw r0, 0x5bc(r31)
/* 80155864 001527C4 48 00 00 98 */ b lbl_801558FC
lbl_80155868:
/* 80155868 001527C8 3C 60 80 3E */ lis r3, lbl_803DAA68@ha
/* 8015586C 001527CC 38 00 00 00 */ li r0, 0
/* 80155870 001527D0 38 83 AA 68 */ addi r4, r3, lbl_803DAA68@l
/* 80155874 001527D4 3C 60 80 3E */ lis r3, lbl_803DA9E4@ha
/* 80155878 001527D8 90 81 00 08 */ stw r4, 8(r1)
/* 8015587C 001527DC 38 A3 A9 E4 */ addi r5, r3, lbl_803DA9E4@l
/* 80155880 001527E0 38 60 00 01 */ li r3, 1
/* 80155884 001527E4 3B C6 00 04 */ addi r30, r6, 4
/* 80155888 001527E8 90 61 00 0C */ stw r3, 0xc(r1)
/* 8015588C 001527EC 7F C3 F3 78 */ mr r3, r30
/* 80155890 001527F0 38 80 00 01 */ li r4, 1
/* 80155894 001527F4 90 A1 00 08 */ stw r5, 8(r1)
/* 80155898 001527F8 90 01 00 10 */ stw r0, 0x10(r1)
/* 8015589C 001527FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 801558A0 00152800 4B FD BB 99 */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd
/* 801558A4 00152804 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801558A8 00152808 3C 60 80 3E */ lis r3, lbl_803DA9E4@ha
/* 801558AC 0015280C 38 83 A9 E4 */ addi r4, r3, lbl_803DA9E4@l
/* 801558B0 00152810 3C 60 80 3E */ lis r3, lbl_803DAA68@ha
/* 801558B4 00152814 90 1E 00 C8 */ stw r0, 0xc8(r30)
/* 801558B8 00152818 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l
/* 801558BC 0015281C 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 801558C0 00152820 90 81 00 08 */ stw r4, 8(r1)
/* 801558C4 00152824 80 61 00 14 */ lwz r3, 0x14(r1)
/* 801558C8 00152828 90 BE 00 CC */ stw r5, 0xcc(r30)
/* 801558CC 0015282C 90 7E 00 D0 */ stw r3, 0xd0(r30)
/* 801558D0 00152830 90 01 00 08 */ stw r0, 8(r1)
/* 801558D4 00152834 48 00 00 28 */ b lbl_801558FC
lbl_801558D8:
/* 801558D8 00152838 80 7F 04 50 */ lwz r3, 0x450(r31)
/* 801558DC 0015283C 80 03 02 B8 */ lwz r0, 0x2b8(r3)
/* 801558E0 00152840 2C 00 00 03 */ cmpwi r0, 3
/* 801558E4 00152844 41 82 00 18 */ beq lbl_801558FC
/* 801558E8 00152848 38 00 00 03 */ li r0, 3
/* 801558EC 0015284C 90 1F 05 BC */ stw r0, 0x5bc(r31)
/* 801558F0 00152850 48 00 00 0C */ b lbl_801558FC
lbl_801558F4:
/* 801558F4 00152854 38 00 00 05 */ li r0, 5
/* 801558F8 00152858 90 1F 05 B8 */ stw r0, 0x5b8(r31)
lbl_801558FC:
/* 801558FC 0015285C 88 1F 00 E7 */ lbz r0, 0xe7(r31)
/* 80155900 00152860 38 60 00 01 */ li r3, 1
/* 80155904 00152864 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 80155908 00152868 98 1F 00 E7 */ stb r0, 0xe7(r31)
/* 8015590C 0015286C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80155910 00152870 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80155914 00152874 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80155918 00152878 7C 08 03 A6 */ mtlr r0
/* 8015591C 0015287C 38 21 00 20 */ addi r1, r1, 0x20
/* 80155920 00152880 4E 80 00 20 */ blr
.global Patrol__10CSpankWeedFR13CStateManager9EStateMsgf
Patrol__10CSpankWeedFR13CStateManager9EStateMsgf:
/* 80155924 00152884 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80155928 00152888 7C 08 02 A6 */ mflr r0
/* 8015592C 0015288C 2C 05 00 01 */ cmpwi r5, 1
/* 80155930 00152890 90 01 00 14 */ stw r0, 0x14(r1)
/* 80155934 00152894 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80155938 00152898 7C 9F 23 78 */ mr r31, r4
/* 8015593C 0015289C 93 C1 00 08 */ stw r30, 8(r1)
/* 80155940 001528A0 7C 7E 1B 78 */ mr r30, r3
/* 80155944 001528A4 41 82 00 D4 */ beq lbl_80155A18
/* 80155948 001528A8 40 80 00 10 */ bge lbl_80155958
/* 8015594C 001528AC 2C 05 00 00 */ cmpwi r5, 0
/* 80155950 001528B0 40 80 00 14 */ bge lbl_80155964
/* 80155954 001528B4 48 00 00 C4 */ b lbl_80155A18
lbl_80155958:
/* 80155958 001528B8 2C 05 00 03 */ cmpwi r5, 3
/* 8015595C 001528BC 40 80 00 BC */ bge lbl_80155A18
/* 80155960 001528C0 48 00 00 6C */ b lbl_801559CC
lbl_80155964:
/* 80155964 001528C4 88 1E 04 E1 */ lbz r0, 0x4e1(r30)
/* 80155968 001528C8 38 60 00 00 */ li r3, 0
/* 8015596C 001528CC 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80155970 001528D0 38 80 00 01 */ li r4, 1
/* 80155974 001528D4 98 1E 04 E1 */ stb r0, 0x4e1(r30)
/* 80155978 001528D8 80 7E 04 50 */ lwz r3, 0x450(r30)
/* 8015597C 001528DC 4B FE 50 5D */ bl SetLocomotionType__15CBodyControllerFQ23pas15ELocomotionType
/* 80155980 001528E0 7F C3 F3 78 */ mr r3, r30
/* 80155984 001528E4 7F E6 FB 78 */ mr r6, r31
/* 80155988 001528E8 38 80 00 13 */ li r4, 0x13
/* 8015598C 001528EC 38 A0 00 27 */ li r5, 0x27
/* 80155990 001528F0 4B EF E5 45 */ bl RemoveMaterial__6CActorF14EMaterialTypes14EMaterialTypesR13CStateManager
/* 80155994 001528F4 7F C3 F3 78 */ mr r3, r30
/* 80155998 001528F8 7F E6 FB 78 */ mr r6, r31
/* 8015599C 001528FC 38 80 00 29 */ li r4, 0x29
/* 801559A0 00152900 38 A0 00 28 */ li r5, 0x28
/* 801559A4 00152904 4B EF E5 31 */ bl RemoveMaterial__6CActorF14EMaterialTypes14EMaterialTypesR13CStateManager
/* 801559A8 00152908 80 7E 05 94 */ lwz r3, 0x594(r30)
/* 801559AC 0015290C 7F E4 FB 78 */ mr r4, r31
/* 801559B0 00152910 38 A0 00 00 */ li r5, 0
/* 801559B4 00152914 48 05 19 45 */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb
/* 801559B8 00152918 38 60 00 01 */ li r3, 1
/* 801559BC 0015291C 38 00 00 00 */ li r0, 0
/* 801559C0 00152920 98 7E 05 98 */ stb r3, 0x598(r30)
/* 801559C4 00152924 90 1E 05 B4 */ stw r0, 0x5b4(r30)
/* 801559C8 00152928 48 00 00 50 */ b lbl_80155A18
lbl_801559CC:
/* 801559CC 0015292C 7F E7 FB 78 */ mr r7, r31
/* 801559D0 00152930 38 80 00 29 */ li r4, 0x29
/* 801559D4 00152934 38 A0 00 28 */ li r5, 0x28
/* 801559D8 00152938 38 C0 00 27 */ li r6, 0x27
/* 801559DC 0015293C 4B EF E8 09 */ bl AddMaterial__6CActorF14EMaterialTypes14EMaterialTypes14EMaterialTypesR13CStateManager
/* 801559E0 00152940 7F C3 F3 78 */ mr r3, r30
/* 801559E4 00152944 38 9E 05 84 */ addi r4, r30, 0x584
/* 801559E8 00152948 4B EF D4 A5 */ bl SetTranslation__6CActorFRC9CVector3f
/* 801559EC 0015294C 80 7E 05 94 */ lwz r3, 0x594(r30)
/* 801559F0 00152950 7F E4 FB 78 */ mr r4, r31
/* 801559F4 00152954 38 A0 00 01 */ li r5, 1
/* 801559F8 00152958 48 05 19 01 */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb
/* 801559FC 0015295C 38 80 00 00 */ li r4, 0
/* 80155A00 00152960 38 60 00 01 */ li r3, 1
/* 80155A04 00152964 98 9E 05 98 */ stb r4, 0x598(r30)
/* 80155A08 00152968 88 1E 04 E1 */ lbz r0, 0x4e1(r30)
/* 80155A0C 0015296C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80155A10 00152970 98 1E 04 E1 */ stb r0, 0x4e1(r30)
/* 80155A14 00152974 90 9E 05 B8 */ stw r4, 0x5b8(r30)
lbl_80155A18:
/* 80155A18 00152978 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80155A1C 0015297C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80155A20 00152980 83 C1 00 08 */ lwz r30, 8(r1)
/* 80155A24 00152984 7C 08 03 A6 */ mtlr r0
/* 80155A28 00152988 38 21 00 10 */ addi r1, r1, 0x10
/* 80155A2C 0015298C 4E 80 00 20 */ blr
.global KnockBack__10CSpankWeedFRC9CVector3fR13CStateManagerRC11CDamageInfo14EKnockBackTypef
KnockBack__10CSpankWeedFRC9CVector3fR13CStateManagerRC11CDamageInfo14EKnockBackTypef:
/* 80155A30 00152990 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80155A34 00152994 7C 08 02 A6 */ mflr r0
/* 80155A38 00152998 90 01 00 14 */ stw r0, 0x14(r1)
/* 80155A3C 0015299C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80155A40 001529A0 7C 7F 1B 78 */ mr r31, r3
/* 80155A44 001529A4 88 03 05 7C */ lbz r0, 0x57c(r3)
/* 80155A48 001529A8 28 00 00 00 */ cmplwi r0, 0
/* 80155A4C 001529AC 41 82 00 10 */ beq lbl_80155A5C
/* 80155A50 001529B0 4B F2 4D 2D */ bl KnockBack__10CPatternedFRC9CVector3fR13CStateManagerRC11CDamageInfo14EKnockBackTypef
/* 80155A54 001529B4 38 00 00 00 */ li r0, 0
/* 80155A58 001529B8 98 1F 05 7C */ stb r0, 0x57c(r31)
lbl_80155A5C:
/* 80155A5C 001529BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80155A60 001529C0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80155A64 001529C4 7C 08 03 A6 */ mtlr r0
/* 80155A68 001529C8 38 21 00 10 */ addi r1, r1, 0x10
/* 80155A6C 001529CC 4E 80 00 20 */ blr
.global Think__10CSpankWeedFfR13CStateManager
Think__10CSpankWeedFfR13CStateManager:
/* 80155A70 001529D0 94 21 FF 20 */ stwu r1, -0xe0(r1)
/* 80155A74 001529D4 7C 08 02 A6 */ mflr r0
/* 80155A78 001529D8 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 80155A7C 001529DC DB E1 00 D0 */ stfd f31, 0xd0(r1)
/* 80155A80 001529E0 F3 E1 00 D8 */ psq_st f31, 216(r1), 0, qr0
/* 80155A84 001529E4 DB C1 00 C0 */ stfd f30, 0xc0(r1)
/* 80155A88 001529E8 F3 C1 00 C8 */ psq_st f30, 200(r1), 0, qr0
/* 80155A8C 001529EC DB A1 00 B0 */ stfd f29, 0xb0(r1)
/* 80155A90 001529F0 F3 A1 00 B8 */ psq_st f29, 184(r1), 0, qr0
/* 80155A94 001529F4 DB 81 00 A0 */ stfd f28, 0xa0(r1)
/* 80155A98 001529F8 F3 81 00 A8 */ psq_st f28, 168(r1), 0, qr0
/* 80155A9C 001529FC DB 61 00 90 */ stfd f27, 0x90(r1)
/* 80155AA0 00152A00 F3 61 00 98 */ psq_st f27, 152(r1), 0, qr0
/* 80155AA4 00152A04 DB 41 00 80 */ stfd f26, 0x80(r1)
/* 80155AA8 00152A08 F3 41 00 88 */ psq_st f26, 136(r1), 0, qr0
/* 80155AAC 00152A0C DB 21 00 70 */ stfd f25, 0x70(r1)
/* 80155AB0 00152A10 F3 21 00 78 */ psq_st f25, 120(r1), 0, qr0
/* 80155AB4 00152A14 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 80155AB8 00152A18 93 C1 00 68 */ stw r30, 0x68(r1)
/* 80155ABC 00152A1C 88 03 00 30 */ lbz r0, 0x30(r3)
/* 80155AC0 00152A20 FF 20 08 90 */ fmr f25, f1
/* 80155AC4 00152A24 7C 7E 1B 78 */ mr r30, r3
/* 80155AC8 00152A28 7C 9F 23 78 */ mr r31, r4
/* 80155ACC 00152A2C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80155AD0 00152A30 41 82 00 F0 */ beq lbl_80155BC0
/* 80155AD4 00152A34 81 83 00 00 */ lwz r12, 0(r3)
/* 80155AD8 00152A38 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 80155ADC 00152A3C 7D 89 03 A6 */ mtctr r12
/* 80155AE0 00152A40 4E 80 04 21 */ bctrl
/* 80155AE4 00152A44 C0 02 9E 34 */ lfs f0, lbl_805ABB54@sda21(r2)
/* 80155AE8 00152A48 D0 03 00 00 */ stfs f0, 0(r3)
/* 80155AEC 00152A4C 88 1E 05 98 */ lbz r0, 0x598(r30)
/* 80155AF0 00152A50 28 00 00 00 */ cmplwi r0, 0
/* 80155AF4 00152A54 40 82 00 BC */ bne lbl_80155BB0
/* 80155AF8 00152A58 80 BE 00 64 */ lwz r5, 0x64(r30)
/* 80155AFC 00152A5C 3C 60 80 3D */ lis r3, lbl_803D0230@ha
/* 80155B00 00152A60 38 83 02 30 */ addi r4, r3, lbl_803D0230@l
/* 80155B04 00152A64 38 61 00 14 */ addi r3, r1, 0x14
/* 80155B08 00152A68 C3 85 00 00 */ lfs f28, 0(r5)
/* 80155B0C 00152A6C 38 84 00 6C */ addi r4, r4, 0x6c
/* 80155B10 00152A70 C3 65 00 04 */ lfs f27, 4(r5)
/* 80155B14 00152A74 C3 45 00 08 */ lfs f26, 8(r5)
/* 80155B18 00152A78 4B EA F1 A1 */ bl string_l__4rstlFPCc
/* 80155B1C 00152A7C 7F C4 F3 78 */ mr r4, r30
/* 80155B20 00152A80 38 61 00 30 */ addi r3, r1, 0x30
/* 80155B24 00152A84 38 A1 00 14 */ addi r5, r1, 0x14
/* 80155B28 00152A88 4B EF D3 D9 */ bl "GetLocatorTransform__6CActorCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80155B2C 00152A8C C3 A1 00 5C */ lfs f29, 0x5c(r1)
/* 80155B30 00152A90 38 61 00 14 */ addi r3, r1, 0x14
/* 80155B34 00152A94 C3 C1 00 4C */ lfs f30, 0x4c(r1)
/* 80155B38 00152A98 C3 E1 00 3C */ lfs f31, 0x3c(r1)
/* 80155B3C 00152A9C 48 1E 7F A5 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 80155B40 00152AA0 EC 5C 07 F2 */ fmuls f2, f28, f31
/* 80155B44 00152AA4 38 61 00 08 */ addi r3, r1, 8
/* 80155B48 00152AA8 EC 3B 07 B2 */ fmuls f1, f27, f30
/* 80155B4C 00152AAC 38 9E 00 34 */ addi r4, r30, 0x34
/* 80155B50 00152AB0 EC 1A 07 72 */ fmuls f0, f26, f29
/* 80155B54 00152AB4 38 A1 00 24 */ addi r5, r1, 0x24
/* 80155B58 00152AB8 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 80155B5C 00152ABC D0 21 00 28 */ stfs f1, 0x28(r1)
/* 80155B60 00152AC0 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80155B64 00152AC4 48 1B CF 1D */ bl Rotate__12CTransform4fCFRC9CVector3f
/* 80155B68 00152AC8 C0 41 00 08 */ lfs f2, 8(r1)
/* 80155B6C 00152ACC 7F C3 F3 78 */ mr r3, r30
/* 80155B70 00152AD0 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 80155B74 00152AD4 38 81 00 24 */ addi r4, r1, 0x24
/* 80155B78 00152AD8 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80155B7C 00152ADC D0 41 00 24 */ stfs f2, 0x24(r1)
/* 80155B80 00152AE0 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 80155B84 00152AE4 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80155B88 00152AE8 4B FC 4E B1 */ bl MoveCollisionPrimitive__13CPhysicsActorFRC9CVector3f
/* 80155B8C 00152AEC FC 20 C8 90 */ fmr f1, f25
/* 80155B90 00152AF0 80 7E 05 94 */ lwz r3, 0x594(r30)
/* 80155B94 00152AF4 7F E4 FB 78 */ mr r4, r31
/* 80155B98 00152AF8 38 A0 00 00 */ li r5, 0
/* 80155B9C 00152AFC 48 05 18 B5 */ bl Update__22CCollisionActorManagerCFfR13CStateManagerQ222CCollisionActorManager14EUpdateOptions
/* 80155BA0 00152B00 88 1E 00 E4 */ lbz r0, 0xe4(r30)
/* 80155BA4 00152B04 38 60 00 01 */ li r3, 1
/* 80155BA8 00152B08 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 80155BAC 00152B0C 98 1E 00 E4 */ stb r0, 0xe4(r30)
lbl_80155BB0:
/* 80155BB0 00152B10 FC 20 C8 90 */ fmr f1, f25
/* 80155BB4 00152B14 7F C3 F3 78 */ mr r3, r30
/* 80155BB8 00152B18 7F E4 FB 78 */ mr r4, r31
/* 80155BBC 00152B1C 4B F2 3F 5D */ bl Think__10CPatternedFfR13CStateManager
lbl_80155BC0:
/* 80155BC0 00152B20 E3 E1 00 D8 */ psq_l f31, 216(r1), 0, qr0
/* 80155BC4 00152B24 CB E1 00 D0 */ lfd f31, 0xd0(r1)
/* 80155BC8 00152B28 E3 C1 00 C8 */ psq_l f30, 200(r1), 0, qr0
/* 80155BCC 00152B2C CB C1 00 C0 */ lfd f30, 0xc0(r1)
/* 80155BD0 00152B30 E3 A1 00 B8 */ psq_l f29, 184(r1), 0, qr0
/* 80155BD4 00152B34 CB A1 00 B0 */ lfd f29, 0xb0(r1)
/* 80155BD8 00152B38 E3 81 00 A8 */ psq_l f28, 168(r1), 0, qr0
/* 80155BDC 00152B3C CB 81 00 A0 */ lfd f28, 0xa0(r1)
/* 80155BE0 00152B40 E3 61 00 98 */ psq_l f27, 152(r1), 0, qr0
/* 80155BE4 00152B44 CB 61 00 90 */ lfd f27, 0x90(r1)
/* 80155BE8 00152B48 E3 41 00 88 */ psq_l f26, 136(r1), 0, qr0
/* 80155BEC 00152B4C CB 41 00 80 */ lfd f26, 0x80(r1)
/* 80155BF0 00152B50 E3 21 00 78 */ psq_l f25, 120(r1), 0, qr0
/* 80155BF4 00152B54 CB 21 00 70 */ lfd f25, 0x70(r1)
/* 80155BF8 00152B58 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 80155BFC 00152B5C 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 80155C00 00152B60 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 80155C04 00152B64 7C 08 03 A6 */ mtlr r0
/* 80155C08 00152B68 38 21 00 E0 */ addi r1, r1, 0xe0
/* 80155C0C 00152B6C 4E 80 00 20 */ blr
.global AcceptScriptMsg__10CSpankWeedF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__10CSpankWeedF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 80155C10 00152B70 94 21 FD A0 */ stwu r1, -0x260(r1)
/* 80155C14 00152B74 7C 08 02 A6 */ mflr r0
/* 80155C18 00152B78 90 01 02 64 */ stw r0, 0x264(r1)
/* 80155C1C 00152B7C DB E1 02 50 */ stfd f31, 0x250(r1)
/* 80155C20 00152B80 F3 E1 02 58 */ psq_st f31, 600(r1), 0, qr0
/* 80155C24 00152B84 DB C1 02 40 */ stfd f30, 0x240(r1)
/* 80155C28 00152B88 F3 C1 02 48 */ psq_st f30, 584(r1), 0, qr0
/* 80155C2C 00152B8C DB A1 02 30 */ stfd f29, 0x230(r1)
/* 80155C30 00152B90 F3 A1 02 38 */ psq_st f29, 568(r1), 0, qr0
/* 80155C34 00152B94 BE E1 02 0C */ stmw r23, 0x20c(r1)
/* 80155C38 00152B98 7C 7F 1B 78 */ mr r31, r3
/* 80155C3C 00152B9C 7C 9C 23 78 */ mr r28, r4
/* 80155C40 00152BA0 88 03 00 30 */ lbz r0, 0x30(r3)
/* 80155C44 00152BA4 2C 1C 00 1E */ cmpwi r28, 0x1e
/* 80155C48 00152BA8 7C BD 2B 78 */ mr r29, r5
/* 80155C4C 00152BAC 7C DE 33 78 */ mr r30, r6
/* 80155C50 00152BB0 54 1B CF FE */ rlwinm r27, r0, 0x19, 0x1f, 0x1f
/* 80155C54 00152BB4 41 82 03 A8 */ beq lbl_80155FFC
/* 80155C58 00152BB8 40 80 00 1C */ bge lbl_80155C74
/* 80155C5C 00152BBC 2C 1C 00 05 */ cmpwi r28, 5
/* 80155C60 00152BC0 41 82 05 0C */ beq lbl_8015616C
/* 80155C64 00152BC4 40 80 05 60 */ bge lbl_801561C4
/* 80155C68 00152BC8 2C 1C 00 01 */ cmpwi r28, 1
/* 80155C6C 00152BCC 41 82 04 E0 */ beq lbl_8015614C
/* 80155C70 00152BD0 48 00 05 54 */ b lbl_801561C4
lbl_80155C74:
/* 80155C74 00152BD4 2C 1C 00 22 */ cmpwi r28, 0x22
/* 80155C78 00152BD8 41 82 04 B0 */ beq lbl_80156128
/* 80155C7C 00152BDC 40 80 00 10 */ bge lbl_80155C8C
/* 80155C80 00152BE0 2C 1C 00 21 */ cmpwi r28, 0x21
/* 80155C84 00152BE4 40 80 00 14 */ bge lbl_80155C98
/* 80155C88 00152BE8 48 00 05 3C */ b lbl_801561C4
lbl_80155C8C:
/* 80155C8C 00152BEC 2C 1C 00 30 */ cmpwi r28, 0x30
/* 80155C90 00152BF0 41 82 05 1C */ beq lbl_801561AC
/* 80155C94 00152BF4 48 00 05 30 */ b lbl_801561C4
lbl_80155C98:
/* 80155C98 00152BF8 80 7F 04 50 */ lwz r3, 0x450(r31)
/* 80155C9C 00152BFC 88 03 03 00 */ lbz r0, 0x300(r3)
/* 80155CA0 00152C00 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 80155CA4 00152C04 40 82 00 7C */ bne lbl_80155D20
/* 80155CA8 00152C08 7F C4 F3 78 */ mr r4, r30
/* 80155CAC 00152C0C 4B FE 50 45 */ bl Activate__15CBodyControllerFR13CStateManager
/* 80155CB0 00152C10 7F E4 FB 78 */ mr r4, r31
/* 80155CB4 00152C14 38 61 01 14 */ addi r3, r1, 0x114
/* 80155CB8 00152C18 4B FC 4C 75 */ bl GetBoundingBox__13CPhysicsActorCFv
/* 80155CBC 00152C1C C0 61 01 20 */ lfs f3, 0x120(r1)
/* 80155CC0 00152C20 7F E3 FB 78 */ mr r3, r31
/* 80155CC4 00152C24 C0 41 01 14 */ lfs f2, 0x114(r1)
/* 80155CC8 00152C28 38 81 00 FC */ addi r4, r1, 0xfc
/* 80155CCC 00152C2C C0 21 01 28 */ lfs f1, 0x128(r1)
/* 80155CD0 00152C30 C0 01 01 1C */ lfs f0, 0x11c(r1)
/* 80155CD4 00152C34 EC 63 10 28 */ fsubs f3, f3, f2
/* 80155CD8 00152C38 C0 82 9E 38 */ lfs f4, lbl_805ABB58@sda21(r2)
/* 80155CDC 00152C3C EC 41 00 28 */ fsubs f2, f1, f0
/* 80155CE0 00152C40 C0 21 01 24 */ lfs f1, 0x124(r1)
/* 80155CE4 00152C44 EC 64 00 F2 */ fmuls f3, f4, f3
/* 80155CE8 00152C48 C0 01 01 18 */ lfs f0, 0x118(r1)
/* 80155CEC 00152C4C EC A4 00 B2 */ fmuls f5, f4, f2
/* 80155CF0 00152C50 EC 41 00 28 */ fsubs f2, f1, f0
/* 80155CF4 00152C54 D0 61 01 08 */ stfs f3, 0x108(r1)
/* 80155CF8 00152C58 FC 20 18 50 */ fneg f1, f3
/* 80155CFC 00152C5C FC 00 28 50 */ fneg f0, f5
/* 80155D00 00152C60 D0 A1 01 10 */ stfs f5, 0x110(r1)
/* 80155D04 00152C64 EC 44 00 B2 */ fmuls f2, f4, f2
/* 80155D08 00152C68 D0 21 00 FC */ stfs f1, 0xfc(r1)
/* 80155D0C 00152C6C FC 20 10 50 */ fneg f1, f2
/* 80155D10 00152C70 D0 01 01 04 */ stfs f0, 0x104(r1)
/* 80155D14 00152C74 D0 41 01 0C */ stfs f2, 0x10c(r1)
/* 80155D18 00152C78 D0 21 01 00 */ stfs f1, 0x100(r1)
/* 80155D1C 00152C7C 4B FC 49 3D */ bl SetBoundingBox__13CPhysicsActorFRC6CAABox
lbl_80155D20:
/* 80155D20 00152C80 38 00 00 00 */ li r0, 0
/* 80155D24 00152C84 38 61 00 B8 */ addi r3, r1, 0xb8
/* 80155D28 00152C88 90 01 00 BC */ stw r0, 0xbc(r1)
/* 80155D2C 00152C8C 38 80 00 0C */ li r4, 0xc
/* 80155D30 00152C90 90 01 00 C0 */ stw r0, 0xc0(r1)
/* 80155D34 00152C94 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 80155D38 00152C98 48 00 0A 81 */ bl "reserve__Q24rstl63vector<26CJointCollisionDescription,Q24rstl17rmemory_allocator>Fi"
/* 80155D3C 00152C9C 3C 60 80 3D */ lis r3, lbl_803D01F8@ha
/* 80155D40 00152CA0 3B 21 01 AC */ addi r25, r1, 0x1ac
/* 80155D44 00152CA4 3B 43 01 F8 */ addi r26, r3, lbl_803D01F8@l
/* 80155D48 00152CA8 3B 01 01 F0 */ addi r24, r1, 0x1f0
/* 80155D4C 00152CAC 3A E0 00 00 */ li r23, 0
lbl_80155D50:
/* 80155D50 00152CB0 80 9A 00 00 */ lwz r4, 0(r26)
/* 80155D54 00152CB4 38 61 00 A8 */ addi r3, r1, 0xa8
/* 80155D58 00152CB8 4B EA EF 61 */ bl string_l__4rstlFPCc
/* 80155D5C 00152CBC 80 9F 00 64 */ lwz r4, 0x64(r31)
/* 80155D60 00152CC0 38 61 00 10 */ addi r3, r1, 0x10
/* 80155D64 00152CC4 38 A1 00 A8 */ addi r5, r1, 0xa8
/* 80155D68 00152CC8 80 84 00 10 */ lwz r4, 0x10(r4)
/* 80155D6C 00152CCC 4B ED 8A CD */ bl "GetLocatorSegId__9CAnimDataCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80155D70 00152CD0 88 01 00 10 */ lbz r0, 0x10(r1)
/* 80155D74 00152CD4 38 61 00 A8 */ addi r3, r1, 0xa8
/* 80155D78 00152CD8 98 01 00 14 */ stb r0, 0x14(r1)
/* 80155D7C 00152CDC 48 1E 7D 65 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 80155D80 00152CE0 88 01 00 14 */ lbz r0, 0x14(r1)
/* 80155D84 00152CE4 28 00 00 FF */ cmplwi r0, 0xff
/* 80155D88 00152CE8 41 82 00 E0 */ beq lbl_80155E68
/* 80155D8C 00152CEC 80 9A 00 00 */ lwz r4, 0(r26)
/* 80155D90 00152CF0 38 61 00 98 */ addi r3, r1, 0x98
/* 80155D94 00152CF4 4B EA EF 25 */ bl string_l__4rstlFPCc
/* 80155D98 00152CF8 88 01 00 14 */ lbz r0, 0x14(r1)
/* 80155D9C 00152CFC 38 61 01 80 */ addi r3, r1, 0x180
/* 80155DA0 00152D00 C0 3A 00 04 */ lfs f1, 4(r26)
/* 80155DA4 00152D04 38 81 00 0C */ addi r4, r1, 0xc
/* 80155DA8 00152D08 98 01 00 0C */ stb r0, 0xc(r1)
/* 80155DAC 00152D0C 38 A1 00 98 */ addi r5, r1, 0x98
/* 80155DB0 00152D10 C0 42 9E 3C */ lfs f2, lbl_805ABB5C@sda21(r2)
/* 80155DB4 00152D14 48 05 2A 59 */ bl "SphereCollision__26CJointCollisionDescriptionF6CSegIdfRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>f"
/* 80155DB8 00152D18 80 E1 01 80 */ lwz r7, 0x180(r1)
/* 80155DBC 00152D1C 7F 03 C3 78 */ mr r3, r24
/* 80155DC0 00152D20 80 C1 01 84 */ lwz r6, 0x184(r1)
/* 80155DC4 00152D24 7F 24 CB 78 */ mr r4, r25
/* 80155DC8 00152D28 88 A1 01 88 */ lbz r5, 0x188(r1)
/* 80155DCC 00152D2C 88 01 01 89 */ lbz r0, 0x189(r1)
/* 80155DD0 00152D30 C0 E1 01 8C */ lfs f7, 0x18c(r1)
/* 80155DD4 00152D34 C0 C1 01 90 */ lfs f6, 0x190(r1)
/* 80155DD8 00152D38 C0 A1 01 94 */ lfs f5, 0x194(r1)
/* 80155DDC 00152D3C C0 81 01 98 */ lfs f4, 0x198(r1)
/* 80155DE0 00152D40 C0 61 01 9C */ lfs f3, 0x19c(r1)
/* 80155DE4 00152D44 C0 41 01 A0 */ lfs f2, 0x1a0(r1)
/* 80155DE8 00152D48 C0 21 01 A4 */ lfs f1, 0x1a4(r1)
/* 80155DEC 00152D4C C0 01 01 A8 */ lfs f0, 0x1a8(r1)
/* 80155DF0 00152D50 90 E1 01 C4 */ stw r7, 0x1c4(r1)
/* 80155DF4 00152D54 90 C1 01 C8 */ stw r6, 0x1c8(r1)
/* 80155DF8 00152D58 98 A1 01 CC */ stb r5, 0x1cc(r1)
/* 80155DFC 00152D5C 98 01 01 CD */ stb r0, 0x1cd(r1)
/* 80155E00 00152D60 D0 E1 01 D0 */ stfs f7, 0x1d0(r1)
/* 80155E04 00152D64 D0 C1 01 D4 */ stfs f6, 0x1d4(r1)
/* 80155E08 00152D68 D0 A1 01 D8 */ stfs f5, 0x1d8(r1)
/* 80155E0C 00152D6C D0 81 01 DC */ stfs f4, 0x1dc(r1)
/* 80155E10 00152D70 D0 61 01 E0 */ stfs f3, 0x1e0(r1)
/* 80155E14 00152D74 D0 41 01 E4 */ stfs f2, 0x1e4(r1)
/* 80155E18 00152D78 D0 21 01 E8 */ stfs f1, 0x1e8(r1)
/* 80155E1C 00152D7C D0 01 01 EC */ stfs f0, 0x1ec(r1)
/* 80155E20 00152D80 48 1E 83 41 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80155E24 00152D84 A0 01 01 BC */ lhz r0, 0x1bc(r1)
/* 80155E28 00152D88 28 19 00 00 */ cmplwi r25, 0
/* 80155E2C 00152D8C C0 01 01 C0 */ lfs f0, 0x1c0(r1)
/* 80155E30 00152D90 B0 01 02 00 */ sth r0, 0x200(r1)
/* 80155E34 00152D94 D0 01 02 04 */ stfs f0, 0x204(r1)
/* 80155E38 00152D98 41 82 00 0C */ beq lbl_80155E44
/* 80155E3C 00152D9C 7F 23 CB 78 */ mr r3, r25
/* 80155E40 00152DA0 48 1E 7C A1 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_80155E44:
/* 80155E44 00152DA4 38 61 00 98 */ addi r3, r1, 0x98
/* 80155E48 00152DA8 48 1E 7C 99 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 80155E4C 00152DAC 38 61 00 B8 */ addi r3, r1, 0xb8
/* 80155E50 00152DB0 38 81 01 C4 */ addi r4, r1, 0x1c4
/* 80155E54 00152DB4 48 00 03 DD */ bl sub_80156230
/* 80155E58 00152DB8 28 18 00 00 */ cmplwi r24, 0
/* 80155E5C 00152DBC 41 82 00 0C */ beq lbl_80155E68
/* 80155E60 00152DC0 7F 03 C3 78 */ mr r3, r24
/* 80155E64 00152DC4 48 1E 7C 7D */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_80155E68:
/* 80155E68 00152DC8 3A F7 00 01 */ addi r23, r23, 1
/* 80155E6C 00152DCC 3B 5A 00 08 */ addi r26, r26, 8
/* 80155E70 00152DD0 28 17 00 07 */ cmplwi r23, 7
/* 80155E74 00152DD4 41 80 FE DC */ blt lbl_80155D50
/* 80155E78 00152DD8 3C 80 80 3D */ lis r4, lbl_803D0230@ha
/* 80155E7C 00152DDC 38 60 00 18 */ li r3, 0x18
/* 80155E80 00152DE0 38 84 02 30 */ addi r4, r4, lbl_803D0230@l
/* 80155E84 00152DE4 38 A0 00 00 */ li r5, 0
/* 80155E88 00152DE8 38 84 00 70 */ addi r4, r4, 0x70
/* 80155E8C 00152DEC 48 1B F9 E1 */ bl __nw__FUlPCcPCc
/* 80155E90 00152DF0 7C 77 1B 79 */ or. r23, r3, r3
/* 80155E94 00152DF4 41 82 00 3C */ beq lbl_80155ED0
/* 80155E98 00152DF8 88 1F 00 30 */ lbz r0, 0x30(r31)
/* 80155E9C 00152DFC 7F C4 F3 78 */ mr r4, r30
/* 80155EA0 00152E00 81 3F 00 04 */ lwz r9, 4(r31)
/* 80155EA4 00152E04 38 A1 00 48 */ addi r5, r1, 0x48
/* 80155EA8 00152E08 54 08 CF FE */ rlwinm r8, r0, 0x19, 0x1f, 0x1f
/* 80155EAC 00152E0C 38 C1 00 54 */ addi r6, r1, 0x54
/* 80155EB0 00152E10 91 21 00 54 */ stw r9, 0x54(r1)
/* 80155EB4 00152E14 38 E1 00 B8 */ addi r7, r1, 0xb8
/* 80155EB8 00152E18 A0 1F 00 08 */ lhz r0, 8(r31)
/* 80155EBC 00152E1C 91 21 00 50 */ stw r9, 0x50(r1)
/* 80155EC0 00152E20 B0 01 00 44 */ sth r0, 0x44(r1)
/* 80155EC4 00152E24 B0 01 00 48 */ sth r0, 0x48(r1)
/* 80155EC8 00152E28 48 05 1A 69 */ bl "__ct__22CCollisionActorManagerFR13CStateManager9TUniqueId7TAreaIdRCQ24rstl63vector<26CJointCollisionDescription,Q24rstl17rmemory_allocator>b"
/* 80155ECC 00152E2C 7C 77 1B 78 */ mr r23, r3
lbl_80155ED0:
/* 80155ED0 00152E30 80 7F 05 94 */ lwz r3, 0x594(r31)
/* 80155ED4 00152E34 38 80 00 01 */ li r4, 1
/* 80155ED8 00152E38 48 05 1A 05 */ bl sub_801a78dc
/* 80155EDC 00152E3C 92 FF 05 94 */ stw r23, 0x594(r31)
/* 80155EE0 00152E40 38 00 00 00 */ li r0, 0
/* 80155EE4 00152E44 38 60 00 00 */ li r3, 0
/* 80155EE8 00152E48 38 80 00 01 */ li r4, 1
/* 80155EEC 00152E4C 80 AD 8C 84 */ lwz r5, lbl_805A7844@sda21(r13)
/* 80155EF0 00152E50 90 01 00 6C */ stw r0, 0x6c(r1)
/* 80155EF4 00152E54 90 01 00 68 */ stw r0, 0x68(r1)
/* 80155EF8 00152E58 48 23 3F FD */ bl __shl2i
/* 80155EFC 00152E5C 80 01 00 68 */ lwz r0, 0x68(r1)
/* 80155F00 00152E60 80 C1 00 6C */ lwz r6, 0x6c(r1)
/* 80155F04 00152E64 7C 00 1B 78 */ or r0, r0, r3
/* 80155F08 00152E68 80 AD 8C 88 */ lwz r5, lbl_805A7848@sda21(r13)
/* 80155F0C 00152E6C 7C C4 23 78 */ or r4, r6, r4
/* 80155F10 00152E70 90 01 00 68 */ stw r0, 0x68(r1)
/* 80155F14 00152E74 38 60 00 00 */ li r3, 0
/* 80155F18 00152E78 90 81 00 6C */ stw r4, 0x6c(r1)
/* 80155F1C 00152E7C 38 80 00 01 */ li r4, 1
/* 80155F20 00152E80 48 23 3F D5 */ bl __shl2i
/* 80155F24 00152E84 80 01 00 68 */ lwz r0, 0x68(r1)
/* 80155F28 00152E88 38 A1 00 68 */ addi r5, r1, 0x68
/* 80155F2C 00152E8C 80 C1 00 6C */ lwz r6, 0x6c(r1)
/* 80155F30 00152E90 7C 00 1B 78 */ or r0, r0, r3
/* 80155F34 00152E94 7C C3 23 78 */ or r3, r6, r4
/* 80155F38 00152E98 90 01 00 68 */ stw r0, 0x68(r1)
/* 80155F3C 00152E9C 7F C4 F3 78 */ mr r4, r30
/* 80155F40 00152EA0 90 61 00 6C */ stw r3, 0x6c(r1)
/* 80155F44 00152EA4 80 7F 05 94 */ lwz r3, 0x594(r31)
/* 80155F48 00152EA8 48 05 13 09 */ bl AddMaterial__22CCollisionActorManagerFR13CStateManagerRC13CMaterialList
/* 80155F4C 00152EAC 38 61 00 B8 */ addi r3, r1, 0xb8
/* 80155F50 00152EB0 38 80 FF FF */ li r4, -1
/* 80155F54 00152EB4 48 00 03 D9 */ bl sub_8015632c
/* 80155F58 00152EB8 80 9F 00 90 */ lwz r4, 0x90(r31)
/* 80155F5C 00152EBC 28 04 00 00 */ cmplwi r4, 0
/* 80155F60 00152EC0 41 82 00 14 */ beq lbl_80155F74
/* 80155F64 00152EC4 88 04 02 98 */ lbz r0, 0x298(r4)
/* 80155F68 00152EC8 38 60 00 01 */ li r3, 1
/* 80155F6C 00152ECC 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 80155F70 00152ED0 98 04 02 98 */ stb r0, 0x298(r4)
lbl_80155F74:
/* 80155F74 00152ED4 3C 80 80 3D */ lis r4, lbl_803D0230@ha
/* 80155F78 00152ED8 38 61 00 70 */ addi r3, r1, 0x70
/* 80155F7C 00152EDC 38 84 02 30 */ addi r4, r4, lbl_803D0230@l
/* 80155F80 00152EE0 38 C1 00 08 */ addi r6, r1, 8
/* 80155F84 00152EE4 38 84 00 4D */ addi r4, r4, 0x4d
/* 80155F88 00152EE8 38 A0 FF FF */ li r5, -1
/* 80155F8C 00152EEC 48 1E 82 09 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FPCciRCQ24rstl17rmemory_allocator"
/* 80155F90 00152EF0 7F E4 FB 78 */ mr r4, r31
/* 80155F94 00152EF4 38 61 01 2C */ addi r3, r1, 0x12c
/* 80155F98 00152EF8 38 A1 00 70 */ addi r5, r1, 0x70
/* 80155F9C 00152EFC 4B EF CF 35 */ bl "GetScaledLocatorTransform__6CActorCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80155FA0 00152F00 C0 41 01 58 */ lfs f2, 0x158(r1)
/* 80155FA4 00152F04 38 61 01 5C */ addi r3, r1, 0x15c
/* 80155FA8 00152F08 C0 21 01 48 */ lfs f1, 0x148(r1)
/* 80155FAC 00152F0C 38 9F 00 34 */ addi r4, r31, 0x34
/* 80155FB0 00152F10 C0 01 01 38 */ lfs f0, 0x138(r1)
/* 80155FB4 00152F14 D0 21 00 84 */ stfs f1, 0x84(r1)
/* 80155FB8 00152F18 D0 01 00 80 */ stfs f0, 0x80(r1)
/* 80155FBC 00152F1C D0 41 00 88 */ stfs f2, 0x88(r1)
/* 80155FC0 00152F20 48 1B D1 35 */ bl BuildMatrix3f__12CTransform4fCFv
/* 80155FC4 00152F24 38 61 00 8C */ addi r3, r1, 0x8c
/* 80155FC8 00152F28 38 81 01 5C */ addi r4, r1, 0x15c
/* 80155FCC 00152F2C 38 A1 00 80 */ addi r5, r1, 0x80
/* 80155FD0 00152F30 48 1B A2 C5 */ bl __ml__9CMatrix3fCFRC9CVector3f
/* 80155FD4 00152F34 C3 E1 00 8C */ lfs f31, 0x8c(r1)
/* 80155FD8 00152F38 38 61 00 70 */ addi r3, r1, 0x70
/* 80155FDC 00152F3C C3 C1 00 90 */ lfs f30, 0x90(r1)
/* 80155FE0 00152F40 C3 A1 00 94 */ lfs f29, 0x94(r1)
/* 80155FE4 00152F44 48 1E 7A FD */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 80155FE8 00152F48 80 7F 00 90 */ lwz r3, 0x90(r31)
/* 80155FEC 00152F4C D3 E3 02 AC */ stfs f31, 0x2ac(r3)
/* 80155FF0 00152F50 D3 C3 02 B0 */ stfs f30, 0x2b0(r3)
/* 80155FF4 00152F54 D3 A3 02 B4 */ stfs f29, 0x2b4(r3)
/* 80155FF8 00152F58 48 00 01 CC */ b lbl_801561C4
lbl_80155FFC:
/* 80155FFC 00152F5C A0 1D 00 00 */ lhz r0, 0(r29)
/* 80156000 00152F60 7F C3 F3 78 */ mr r3, r30
/* 80156004 00152F64 38 81 00 40 */ addi r4, r1, 0x40
/* 80156008 00152F68 B0 01 00 40 */ sth r0, 0x40(r1)
/* 8015600C 00152F6C 4B EF 65 69 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80156010 00152F70 7C 60 1B 78 */ mr r0, r3
/* 80156014 00152F74 38 61 00 60 */ addi r3, r1, 0x60
/* 80156018 00152F78 7C 04 03 78 */ mr r4, r0
/* 8015601C 00152F7C 4B F5 93 31 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity"
/* 80156020 00152F80 80 83 00 04 */ lwz r4, 4(r3)
/* 80156024 00152F84 28 04 00 00 */ cmplwi r4, 0
/* 80156028 00152F88 41 82 01 9C */ beq lbl_801561C4
/* 8015602C 00152F8C 38 61 00 3C */ addi r3, r1, 0x3c
/* 80156030 00152F90 48 05 2B 5D */ bl GetLastTouchedObject__15CCollisionActorCFv
/* 80156034 00152F94 A0 01 00 3C */ lhz r0, 0x3c(r1)
/* 80156038 00152F98 7F C3 F3 78 */ mr r3, r30
/* 8015603C 00152F9C 38 81 00 38 */ addi r4, r1, 0x38
/* 80156040 00152FA0 B0 01 00 4C */ sth r0, 0x4c(r1)
/* 80156044 00152FA4 B0 01 00 38 */ sth r0, 0x38(r1)
/* 80156048 00152FA8 4B EF 65 2D */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8015604C 00152FAC 7C 60 1B 78 */ mr r0, r3
/* 80156050 00152FB0 38 61 00 58 */ addi r3, r1, 0x58
/* 80156054 00152FB4 7C 04 03 78 */ mr r4, r0
/* 80156058 00152FB8 4B F5 63 3D */ bl "__ct__20TCastToPtr<7CPlayer>FP7CEntity"
/* 8015605C 00152FBC 82 E3 00 04 */ lwz r23, 4(r3)
/* 80156060 00152FC0 28 17 00 00 */ cmplwi r23, 0
/* 80156064 00152FC4 41 82 01 60 */ beq lbl_801561C4
/* 80156068 00152FC8 C0 3F 04 20 */ lfs f1, 0x420(r31)
/* 8015606C 00152FCC C0 02 9E 30 */ lfs f0, lbl_805ABB50@sda21(r2)
/* 80156070 00152FD0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80156074 00152FD4 4C 40 13 82 */ cror 2, 0, 2
/* 80156078 00152FD8 40 82 01 4C */ bne lbl_801561C4
/* 8015607C 00152FDC 80 1F 05 B4 */ lwz r0, 0x5b4(r31)
/* 80156080 00152FE0 2C 00 00 04 */ cmpwi r0, 4
/* 80156084 00152FE4 41 82 01 40 */ beq lbl_801561C4
/* 80156088 00152FE8 2C 00 00 06 */ cmpwi r0, 6
/* 8015608C 00152FEC 41 82 01 38 */ beq lbl_801561C4
/* 80156090 00152FF0 80 AD 8C 78 */ lwz r5, lbl_805A7838@sda21(r13)
/* 80156094 00152FF4 38 60 00 00 */ li r3, 0
/* 80156098 00152FF8 38 80 00 01 */ li r4, 1
/* 8015609C 00152FFC 48 23 3E 59 */ bl __shl2i
/* 801560A0 00153000 38 A0 00 00 */ li r5, 0
/* 801560A4 00153004 38 00 00 03 */ li r0, 3
/* 801560A8 00153008 90 81 00 CC */ stw r4, 0xcc(r1)
/* 801560AC 0015300C 7F E4 FB 78 */ mr r4, r31
/* 801560B0 00153010 90 61 00 C8 */ stw r3, 0xc8(r1)
/* 801560B4 00153014 38 61 00 E0 */ addi r3, r1, 0xe0
/* 801560B8 00153018 90 A1 00 D4 */ stw r5, 0xd4(r1)
/* 801560BC 0015301C 90 A1 00 D0 */ stw r5, 0xd0(r1)
/* 801560C0 00153020 90 01 00 D8 */ stw r0, 0xd8(r1)
/* 801560C4 00153024 A0 1F 00 08 */ lhz r0, 8(r31)
/* 801560C8 00153028 B0 01 00 24 */ sth r0, 0x24(r1)
/* 801560CC 0015302C A0 B7 00 08 */ lhz r5, 8(r23)
/* 801560D0 00153030 B0 01 00 20 */ sth r0, 0x20(r1)
/* 801560D4 00153034 B0 A1 00 2C */ sth r5, 0x2c(r1)
/* 801560D8 00153038 A0 1F 00 08 */ lhz r0, 8(r31)
/* 801560DC 0015303C B0 A1 00 28 */ sth r5, 0x28(r1)
/* 801560E0 00153040 B0 01 00 34 */ sth r0, 0x34(r1)
/* 801560E4 00153044 81 9F 00 00 */ lwz r12, 0(r31)
/* 801560E8 00153048 B0 01 00 30 */ sth r0, 0x30(r1)
/* 801560EC 0015304C 81 8C 02 B0 */ lwz r12, 0x2b0(r12)
/* 801560F0 00153050 7D 89 03 A6 */ mtctr r12
/* 801560F4 00153054 4E 80 04 21 */ bctrl
/* 801560F8 00153058 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 801560FC 0015305C 7F C3 F3 78 */ mr r3, r30
/* 80156100 00153060 39 24 66 A0 */ addi r9, r4, sZeroVector__9CVector3f@l
/* 80156104 00153064 38 A1 00 2C */ addi r5, r1, 0x2c
/* 80156108 00153068 38 81 00 34 */ addi r4, r1, 0x34
/* 8015610C 0015306C 38 C1 00 24 */ addi r6, r1, 0x24
/* 80156110 00153070 38 E1 00 E0 */ addi r7, r1, 0xe0
/* 80156114 00153074 39 01 00 C8 */ addi r8, r1, 0xc8
/* 80156118 00153078 4B EF 3F 89 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f
/* 8015611C 0015307C C0 1F 04 24 */ lfs f0, 0x424(r31)
/* 80156120 00153080 D0 1F 04 20 */ stfs f0, 0x420(r31)
/* 80156124 00153084 48 00 00 A0 */ b lbl_801561C4
lbl_80156128:
/* 80156128 00153088 A0 1F 05 90 */ lhz r0, 0x590(r31)
/* 8015612C 0015308C 7F C3 F3 78 */ mr r3, r30
/* 80156130 00153090 38 81 00 1C */ addi r4, r1, 0x1c
/* 80156134 00153094 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 80156138 00153098 4B EF 61 35 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 8015613C 0015309C 80 7F 05 94 */ lwz r3, 0x594(r31)
/* 80156140 001530A0 7F C4 F3 78 */ mr r4, r30
/* 80156144 001530A4 48 05 12 81 */ bl Destroy__22CCollisionActorManagerCFR13CStateManager
/* 80156148 001530A8 48 00 00 7C */ b lbl_801561C4
lbl_8015614C:
/* 8015614C 001530AC 80 9F 00 90 */ lwz r4, 0x90(r31)
/* 80156150 001530B0 28 04 00 00 */ cmplwi r4, 0
/* 80156154 001530B4 41 82 00 70 */ beq lbl_801561C4
/* 80156158 001530B8 88 04 02 98 */ lbz r0, 0x298(r4)
/* 8015615C 001530BC 38 60 00 01 */ li r3, 1
/* 80156160 001530C0 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 80156164 001530C4 98 04 02 98 */ stb r0, 0x298(r4)
/* 80156168 001530C8 48 00 00 5C */ b lbl_801561C4
lbl_8015616C:
/* 8015616C 001530CC 80 1F 05 B4 */ lwz r0, 0x5b4(r31)
/* 80156170 001530D0 2C 00 00 00 */ cmpwi r0, 0
/* 80156174 001530D4 41 82 00 50 */ beq lbl_801561C4
/* 80156178 001530D8 2C 00 00 05 */ cmpwi r0, 5
/* 8015617C 001530DC 41 82 00 48 */ beq lbl_801561C4
/* 80156180 001530E0 2C 00 00 06 */ cmpwi r0, 6
/* 80156184 001530E4 41 82 00 40 */ beq lbl_801561C4
/* 80156188 001530E8 2C 00 00 04 */ cmpwi r0, 4
/* 8015618C 001530EC 41 82 00 38 */ beq lbl_801561C4
/* 80156190 001530F0 88 1F 04 00 */ lbz r0, 0x400(r31)
/* 80156194 001530F4 38 60 00 01 */ li r3, 1
/* 80156198 001530F8 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8015619C 001530FC 98 1F 04 00 */ stb r0, 0x400(r31)
/* 801561A0 00153100 C0 1F 04 24 */ lfs f0, 0x424(r31)
/* 801561A4 00153104 D0 1F 04 28 */ stfs f0, 0x428(r31)
/* 801561A8 00153108 48 00 00 1C */ b lbl_801561C4
lbl_801561AC:
/* 801561AC 0015310C 80 7F 05 94 */ lwz r3, 0x594(r31)
/* 801561B0 00153110 28 03 00 00 */ cmplwi r3, 0
/* 801561B4 00153114 41 82 00 10 */ beq lbl_801561C4
/* 801561B8 00153118 7F C4 F3 78 */ mr r4, r30
/* 801561BC 0015311C 38 A0 00 00 */ li r5, 0
/* 801561C0 00153120 48 05 0D 01 */ bl SetMovable__22CCollisionActorManagerFb
lbl_801561C4:
/* 801561C4 00153124 A0 1D 00 00 */ lhz r0, 0(r29)
/* 801561C8 00153128 7F E3 FB 78 */ mr r3, r31
/* 801561CC 0015312C 7F 84 E3 78 */ mr r4, r28
/* 801561D0 00153130 7F C6 F3 78 */ mr r6, r30
/* 801561D4 00153134 B0 01 00 18 */ sth r0, 0x18(r1)
/* 801561D8 00153138 38 A1 00 18 */ addi r5, r1, 0x18
/* 801561DC 0015313C 4B F2 69 9D */ bl AcceptScriptMsg__10CPatternedF20EScriptObjectMessage9TUniqueIdR13CStateManager
/* 801561E0 00153140 88 1F 00 30 */ lbz r0, 0x30(r31)
/* 801561E4 00153144 54 05 CF FE */ rlwinm r5, r0, 0x19, 0x1f, 0x1f
/* 801561E8 00153148 7C 1B 28 40 */ cmplw r27, r5
/* 801561EC 0015314C 41 82 00 18 */ beq lbl_80156204
/* 801561F0 00153150 80 7F 05 94 */ lwz r3, 0x594(r31)
/* 801561F4 00153154 28 03 00 00 */ cmplwi r3, 0
/* 801561F8 00153158 41 82 00 0C */ beq lbl_80156204
/* 801561FC 0015315C 7F C4 F3 78 */ mr r4, r30
/* 80156200 00153160 48 05 10 F9 */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb
lbl_80156204:
/* 80156204 00153164 E3 E1 02 58 */ psq_l f31, 600(r1), 0, qr0
/* 80156208 00153168 CB E1 02 50 */ lfd f31, 0x250(r1)
/* 8015620C 0015316C E3 C1 02 48 */ psq_l f30, 584(r1), 0, qr0
/* 80156210 00153170 CB C1 02 40 */ lfd f30, 0x240(r1)
/* 80156214 00153174 E3 A1 02 38 */ psq_l f29, 568(r1), 0, qr0
/* 80156218 00153178 CB A1 02 30 */ lfd f29, 0x230(r1)
/* 8015621C 0015317C BA E1 02 0C */ lmw r23, 0x20c(r1)
/* 80156220 00153180 80 01 02 64 */ lwz r0, 0x264(r1)
/* 80156224 00153184 7C 08 03 A6 */ mtlr r0
/* 80156228 00153188 38 21 02 60 */ addi r1, r1, 0x260
/* 8015622C 0015318C 4E 80 00 20 */ blr
.global sub_80156230
sub_80156230:
/* 80156230 00153190 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80156234 00153194 7C 08 02 A6 */ mflr r0
/* 80156238 00153198 90 01 00 24 */ stw r0, 0x24(r1)
/* 8015623C 0015319C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80156240 001531A0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80156244 001531A4 7C 9E 23 78 */ mr r30, r4
/* 80156248 001531A8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8015624C 001531AC 7C 7D 1B 78 */ mr r29, r3
/* 80156250 001531B0 80 03 00 04 */ lwz r0, 4(r3)
/* 80156254 001531B4 80 A3 00 08 */ lwz r5, 8(r3)
/* 80156258 001531B8 7C 00 28 00 */ cmpw r0, r5
/* 8015625C 001531BC 41 80 00 18 */ blt lbl_80156274
/* 80156260 001531C0 2C 05 00 00 */ cmpwi r5, 0
/* 80156264 001531C4 38 80 00 04 */ li r4, 4
/* 80156268 001531C8 41 82 00 08 */ beq lbl_80156270
/* 8015626C 001531CC 54 A4 08 3C */ slwi r4, r5, 1
lbl_80156270:
/* 80156270 001531D0 48 00 05 49 */ bl "reserve__Q24rstl63vector<26CJointCollisionDescription,Q24rstl17rmemory_allocator>Fi"
lbl_80156274:
/* 80156274 001531D4 80 1D 00 04 */ lwz r0, 4(r29)
/* 80156278 001531D8 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 8015627C 001531DC 1C 00 00 44 */ mulli r0, r0, 0x44
/* 80156280 001531E0 7F E3 02 15 */ add. r31, r3, r0
/* 80156284 001531E4 41 82 00 80 */ beq lbl_80156304
/* 80156288 001531E8 80 1E 00 00 */ lwz r0, 0(r30)
/* 8015628C 001531EC 38 7F 00 2C */ addi r3, r31, 0x2c
/* 80156290 001531F0 38 9E 00 2C */ addi r4, r30, 0x2c
/* 80156294 001531F4 90 1F 00 00 */ stw r0, 0(r31)
/* 80156298 001531F8 80 1E 00 04 */ lwz r0, 4(r30)
/* 8015629C 001531FC 90 1F 00 04 */ stw r0, 4(r31)
/* 801562A0 00153200 88 1E 00 08 */ lbz r0, 8(r30)
/* 801562A4 00153204 98 1F 00 08 */ stb r0, 8(r31)
/* 801562A8 00153208 88 1E 00 09 */ lbz r0, 9(r30)
/* 801562AC 0015320C 98 1F 00 09 */ stb r0, 9(r31)
/* 801562B0 00153210 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 801562B4 00153214 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 801562B8 00153218 C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 801562BC 0015321C D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 801562C0 00153220 C0 1E 00 14 */ lfs f0, 0x14(r30)
/* 801562C4 00153224 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 801562C8 00153228 C0 1E 00 18 */ lfs f0, 0x18(r30)
/* 801562CC 0015322C D0 1F 00 18 */ stfs f0, 0x18(r31)
/* 801562D0 00153230 C0 1E 00 1C */ lfs f0, 0x1c(r30)
/* 801562D4 00153234 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 801562D8 00153238 C0 1E 00 20 */ lfs f0, 0x20(r30)
/* 801562DC 0015323C D0 1F 00 20 */ stfs f0, 0x20(r31)
/* 801562E0 00153240 C0 1E 00 24 */ lfs f0, 0x24(r30)
/* 801562E4 00153244 D0 1F 00 24 */ stfs f0, 0x24(r31)
/* 801562E8 00153248 C0 1E 00 28 */ lfs f0, 0x28(r30)
/* 801562EC 0015324C D0 1F 00 28 */ stfs f0, 0x28(r31)
/* 801562F0 00153250 48 1E 7E 71 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 801562F4 00153254 A0 1E 00 3C */ lhz r0, 0x3c(r30)
/* 801562F8 00153258 B0 1F 00 3C */ sth r0, 0x3c(r31)
/* 801562FC 0015325C C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 80156300 00153260 D0 1F 00 40 */ stfs f0, 0x40(r31)
lbl_80156304:
/* 80156304 00153264 80 7D 00 04 */ lwz r3, 4(r29)
/* 80156308 00153268 38 03 00 01 */ addi r0, r3, 1
/* 8015630C 0015326C 90 1D 00 04 */ stw r0, 4(r29)
/* 80156310 00153270 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80156314 00153274 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80156318 00153278 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8015631C 0015327C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80156320 00153280 7C 08 03 A6 */ mtlr r0
/* 80156324 00153284 38 21 00 20 */ addi r1, r1, 0x20
/* 80156328 00153288 4E 80 00 20 */ blr
.global sub_8015632c
sub_8015632c:
/* 8015632C 0015328C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80156330 00153290 7C 08 02 A6 */ mflr r0
/* 80156334 00153294 90 01 00 34 */ stw r0, 0x34(r1)
/* 80156338 00153298 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8015633C 0015329C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80156340 001532A0 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80156344 001532A4 7C 9D 23 78 */ mr r29, r4
/* 80156348 001532A8 93 81 00 20 */ stw r28, 0x20(r1)
/* 8015634C 001532AC 7C 7C 1B 79 */ or. r28, r3, r3
/* 80156350 001532B0 41 82 00 6C */ beq lbl_801563BC
/* 80156354 001532B4 80 1C 00 04 */ lwz r0, 4(r28)
/* 80156358 001532B8 83 DC 00 0C */ lwz r30, 0xc(r28)
/* 8015635C 001532BC 1C 00 00 44 */ mulli r0, r0, 0x44
/* 80156360 001532C0 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80156364 001532C4 7F FE 02 14 */ add r31, r30, r0
/* 80156368 001532C8 93 C1 00 14 */ stw r30, 0x14(r1)
/* 8015636C 001532CC 93 E1 00 08 */ stw r31, 8(r1)
/* 80156370 001532D0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80156374 001532D4 48 00 00 20 */ b lbl_80156394
lbl_80156378:
/* 80156378 001532D8 28 1E 00 00 */ cmplwi r30, 0
/* 8015637C 001532DC 41 82 00 14 */ beq lbl_80156390
/* 80156380 001532E0 34 1E 00 2C */ addic. r0, r30, 0x2c
/* 80156384 001532E4 41 82 00 0C */ beq lbl_80156390
/* 80156388 001532E8 38 7E 00 2C */ addi r3, r30, 0x2c
/* 8015638C 001532EC 48 1E 77 55 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_80156390:
/* 80156390 001532F0 3B DE 00 44 */ addi r30, r30, 0x44
lbl_80156394:
/* 80156394 001532F4 7C 1E F8 40 */ cmplw r30, r31
/* 80156398 001532F8 40 82 FF E0 */ bne lbl_80156378
/* 8015639C 001532FC 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 801563A0 00153300 28 03 00 00 */ cmplwi r3, 0
/* 801563A4 00153304 41 82 00 08 */ beq lbl_801563AC
/* 801563A8 00153308 48 1B F5 89 */ bl Free__7CMemoryFPCv
lbl_801563AC:
/* 801563AC 0015330C 7F A0 07 35 */ extsh. r0, r29
/* 801563B0 00153310 40 81 00 0C */ ble lbl_801563BC
/* 801563B4 00153314 7F 83 E3 78 */ mr r3, r28
/* 801563B8 00153318 48 1B F5 79 */ bl Free__7CMemoryFPCv
lbl_801563BC:
/* 801563BC 0015331C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801563C0 00153320 7F 83 E3 78 */ mr r3, r28
/* 801563C4 00153324 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801563C8 00153328 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801563CC 0015332C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 801563D0 00153330 83 81 00 20 */ lwz r28, 0x20(r1)
/* 801563D4 00153334 7C 08 03 A6 */ mtlr r0
/* 801563D8 00153338 38 21 00 30 */ addi r1, r1, 0x30
/* 801563DC 0015333C 4E 80 00 20 */ blr
.global Accept__10CSpankWeedFR8IVisitor
Accept__10CSpankWeedFR8IVisitor:
/* 801563E0 00153340 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801563E4 00153344 7C 08 02 A6 */ mflr r0
/* 801563E8 00153348 90 01 00 14 */ stw r0, 0x14(r1)
/* 801563EC 0015334C 7C 60 1B 78 */ mr r0, r3
/* 801563F0 00153350 7C 83 23 78 */ mr r3, r4
/* 801563F4 00153354 81 84 00 00 */ lwz r12, 0(r4)
/* 801563F8 00153358 7C 04 03 78 */ mr r4, r0
/* 801563FC 0015335C 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 80156400 00153360 7D 89 03 A6 */ mtctr r12
/* 80156404 00153364 4E 80 04 21 */ bctrl
/* 80156408 00153368 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015640C 0015336C 7C 08 03 A6 */ mtlr r0
/* 80156410 00153370 38 21 00 10 */ addi r1, r1, 0x10
/* 80156414 00153374 4E 80 00 20 */ blr
.global "__ct__10CSpankWeedF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC16CActorParametersRC14CPatternedInfoffff"
"__ct__10CSpankWeedF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC16CActorParametersRC14CPatternedInfoffff":
/* 80156418 00153378 94 21 FA 10 */ stwu r1, -0x5f0(r1)
/* 8015641C 0015337C 7C 08 02 A6 */ mflr r0
/* 80156420 00153380 90 01 05 F4 */ stw r0, 0x5f4(r1)
/* 80156424 00153384 DB E1 05 E0 */ stfd f31, 0x5e0(r1)
/* 80156428 00153388 F3 E1 05 E8 */ psq_st f31, 1512(r1), 0, qr0
/* 8015642C 0015338C DB C1 05 D0 */ stfd f30, 0x5d0(r1)
/* 80156430 00153390 F3 C1 05 D8 */ psq_st f30, 1496(r1), 0, qr0
/* 80156434 00153394 DB A1 05 C0 */ stfd f29, 0x5c0(r1)
/* 80156438 00153398 F3 A1 05 C8 */ psq_st f29, 1480(r1), 0, qr0
/* 8015643C 0015339C DB 81 05 B0 */ stfd f28, 0x5b0(r1)
/* 80156440 001533A0 F3 81 05 B8 */ psq_st f28, 1464(r1), 0, qr0
/* 80156444 001533A4 BF 61 05 9C */ stmw r27, 0x59c(r1)
/* 80156448 001533A8 A0 04 00 00 */ lhz r0, 0(r4)
/* 8015644C 001533AC 7D 5B 53 78 */ mr r27, r10
/* 80156450 001533B0 7C C4 33 78 */ mr r4, r6
/* 80156454 001533B4 7C FC 3B 78 */ mr r28, r7
/* 80156458 001533B8 B0 01 00 2C */ sth r0, 0x2c(r1)
/* 8015645C 001533BC 7D 0A 43 78 */ mr r10, r8
/* 80156460 001533C0 7C A6 2B 78 */ mr r6, r5
/* 80156464 001533C4 7C 88 23 78 */ mr r8, r4
/* 80156468 001533C8 93 61 00 08 */ stw r27, 8(r1)
/* 8015646C 001533CC 39 60 00 01 */ li r11, 1
/* 80156470 001533D0 38 00 00 02 */ li r0, 2
/* 80156474 001533D4 FF 80 08 90 */ fmr f28, f1
/* 80156478 001533D8 91 61 00 0C */ stw r11, 0xc(r1)
/* 8015647C 001533DC FF A0 10 90 */ fmr f29, f2
/* 80156480 001533E0 FF C0 18 90 */ fmr f30, f3
/* 80156484 001533E4 7C 7F 1B 78 */ mr r31, r3
/* 80156488 001533E8 91 61 00 10 */ stw r11, 0x10(r1)
/* 8015648C 001533EC FF E0 20 90 */ fmr f31, f4
/* 80156490 001533F0 38 A1 00 2C */ addi r5, r1, 0x2c
/* 80156494 001533F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80156498 001533F8 38 80 00 23 */ li r4, 0x23
/* 8015649C 001533FC 38 E0 00 00 */ li r7, 0
/* 801564A0 00153400 91 21 00 18 */ stw r9, 0x18(r1)
/* 801564A4 00153404 7F 89 E3 78 */ mr r9, r28
/* 801564A8 00153408 91 61 00 1C */ stw r11, 0x1c(r1)
/* 801564AC 0015340C 4B F2 6F A5 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
/* 801564B0 00153410 3C 80 80 3E */ lis r4, lbl_803E2D28@ha
/* 801564B4 00153414 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 801564B8 00153418 38 04 2D 28 */ addi r0, r4, lbl_803E2D28@l
/* 801564BC 0015341C 39 00 00 00 */ li r8, 0
/* 801564C0 00153420 90 1F 00 00 */ stw r0, 0(r31)
/* 801564C4 00153424 38 C0 00 01 */ li r6, 1
/* 801564C8 00153428 C0 02 9E 30 */ lfs f0, lbl_805ABB50@sda21(r2)
/* 801564CC 0015342C 38 A3 66 A0 */ addi r5, r3, sZeroVector__9CVector3f@l
/* 801564D0 00153430 D3 9F 05 68 */ stfs f28, 0x568(r31)
/* 801564D4 00153434 38 00 FF FF */ li r0, -1
/* 801564D8 00153438 7F E3 FB 78 */ mr r3, r31
/* 801564DC 0015343C 38 80 00 00 */ li r4, 0
/* 801564E0 00153440 C0 3B 00 10 */ lfs f1, 0x10(r27)
/* 801564E4 00153444 D0 3F 05 6C */ stfs f1, 0x56c(r31)
/* 801564E8 00153448 D3 BF 05 70 */ stfs f29, 0x570(r31)
/* 801564EC 0015344C D3 DF 05 74 */ stfs f30, 0x574(r31)
/* 801564F0 00153450 D3 FF 05 78 */ stfs f31, 0x578(r31)
/* 801564F4 00153454 99 1F 05 7C */ stb r8, 0x57c(r31)
/* 801564F8 00153458 D0 1F 05 80 */ stfs f0, 0x580(r31)
/* 801564FC 0015345C C0 5C 00 2C */ lfs f2, 0x2c(r28)
/* 80156500 00153460 C0 3C 00 1C */ lfs f1, 0x1c(r28)
/* 80156504 00153464 C0 1C 00 0C */ lfs f0, 0xc(r28)
/* 80156508 00153468 D0 1F 05 84 */ stfs f0, 0x584(r31)
/* 8015650C 0015346C D0 3F 05 88 */ stfs f1, 0x588(r31)
/* 80156510 00153470 D0 5F 05 8C */ stfs f2, 0x58c(r31)
/* 80156514 00153474 A0 ED A3 8C */ lhz r7, kInvalidUniqueId@sda21(r13)
/* 80156518 00153478 B0 FF 05 90 */ sth r7, 0x590(r31)
/* 8015651C 0015347C 91 1F 05 94 */ stw r8, 0x594(r31)
/* 80156520 00153480 98 DF 05 98 */ stb r6, 0x598(r31)
/* 80156524 00153484 C0 05 00 00 */ lfs f0, 0(r5)
/* 80156528 00153488 D0 1F 05 9C */ stfs f0, 0x59c(r31)
/* 8015652C 0015348C C0 05 00 04 */ lfs f0, 4(r5)
/* 80156530 00153490 D0 1F 05 A0 */ stfs f0, 0x5a0(r31)
/* 80156534 00153494 C0 05 00 08 */ lfs f0, 8(r5)
/* 80156538 00153498 D0 1F 05 A4 */ stfs f0, 0x5a4(r31)
/* 8015653C 0015349C C0 05 00 00 */ lfs f0, 0(r5)
/* 80156540 001534A0 D0 1F 05 A8 */ stfs f0, 0x5a8(r31)
/* 80156544 001534A4 C0 05 00 04 */ lfs f0, 4(r5)
/* 80156548 001534A8 D0 1F 05 AC */ stfs f0, 0x5ac(r31)
/* 8015654C 001534AC C0 05 00 08 */ lfs f0, 8(r5)
/* 80156550 001534B0 D0 1F 05 B0 */ stfs f0, 0x5b0(r31)
/* 80156554 001534B4 90 1F 05 B4 */ stw r0, 0x5b4(r31)
/* 80156558 001534B8 90 1F 05 B8 */ stw r0, 0x5b8(r31)
/* 8015655C 001534BC 90 1F 05 BC */ stw r0, 0x5bc(r31)
/* 80156560 001534C0 4B EF DE 59 */ bl SetCallTouch__6CActorFb
/* 80156564 001534C4 7F E3 FB 78 */ mr r3, r31
/* 80156568 001534C8 38 80 00 00 */ li r4, 0
/* 8015656C 001534CC 4B EF C8 01 */ bl CreateShadow__6CActorFb
/* 80156570 001534D0 80 7F 00 64 */ lwz r3, 0x64(r31)
/* 80156574 001534D4 C0 23 00 04 */ lfs f1, 4(r3)
/* 80156578 001534D8 C0 03 00 00 */ lfs f0, 0(r3)
/* 8015657C 001534DC C0 43 00 08 */ lfs f2, 8(r3)
/* 80156580 001534E0 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80156584 001534E4 D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 80156588 001534E8 D0 21 00 50 */ stfs f1, 0x50(r1)
/* 8015658C 001534EC D0 41 00 54 */ stfs f2, 0x54(r1)
/* 80156590 001534F0 40 82 00 0C */ bne lbl_8015659C
/* 80156594 001534F4 FC 00 10 00 */ fcmpu cr0, f0, f2
/* 80156598 001534F8 41 82 00 58 */ beq lbl_801565F0
lbl_8015659C:
/* 8015659C 001534FC 38 61 00 4C */ addi r3, r1, 0x4c
/* 801565A0 00153500 48 1B E3 19 */ bl Magnitude__9CVector3fCFv
/* 801565A4 00153504 FF E0 08 90 */ fmr f31, f1
/* 801565A8 00153508 C0 22 9E 40 */ lfs f1, lbl_805ABB60@sda21(r2)
/* 801565AC 0015350C 48 1B EF 55 */ bl SqrtF__5CMathFf
/* 801565B0 00153510 EC 9F 08 24 */ fdivs f4, f31, f1
/* 801565B4 00153514 80 BF 00 64 */ lwz r5, 0x64(r31)
/* 801565B8 00153518 3C 80 80 3D */ lis r4, lbl_803D0230@ha
/* 801565BC 0015351C 38 61 01 90 */ addi r3, r1, 0x190
/* 801565C0 00153520 38 84 02 30 */ addi r4, r4, lbl_803D0230@l
/* 801565C4 00153524 38 84 00 77 */ addi r4, r4, 0x77
/* 801565C8 00153528 D0 85 00 00 */ stfs f4, 0(r5)
/* 801565CC 0015352C FC A0 20 90 */ fmr f5, f4
/* 801565D0 00153530 FC C0 20 90 */ fmr f6, f4
/* 801565D4 00153534 D0 85 00 04 */ stfs f4, 4(r5)
/* 801565D8 00153538 D0 85 00 08 */ stfs f4, 8(r5)
/* 801565DC 0015353C C0 21 00 4C */ lfs f1, 0x4c(r1)
/* 801565E0 00153540 C0 41 00 50 */ lfs f2, 0x50(r1)
/* 801565E4 00153544 C0 61 00 54 */ lfs f3, 0x54(r1)
/* 801565E8 00153548 4C C6 32 42 */ crset 6
/* 801565EC 0015354C 48 23 76 F1 */ bl sprintf
lbl_801565F0:
/* 801565F0 00153550 7F E3 FB 78 */ mr r3, r31
/* 801565F4 00153554 4B EF D2 C9 */ bl GetMaterialFilter__6CActorCFv
/* 801565F8 00153558 80 AD 8C 7C */ lwz r5, lbl_805A783C@sda21(r13)
/* 801565FC 0015355C 38 80 00 01 */ li r4, 1
/* 80156600 00153560 83 C3 00 08 */ lwz r30, 8(r3)
/* 80156604 00153564 83 A3 00 0C */ lwz r29, 0xc(r3)
/* 80156608 00153568 38 60 00 00 */ li r3, 0
/* 8015660C 0015356C 48 23 38 E9 */ bl __shl2i
/* 80156610 00153570 80 AD 8C 80 */ lwz r5, lbl_805A7840@sda21(r13)
/* 80156614 00153574 7C 9B 23 78 */ mr r27, r4
/* 80156618 00153578 7C 7C 1B 78 */ mr r28, r3
/* 8015661C 0015357C 38 60 00 00 */ li r3, 0
/* 80156620 00153580 38 80 00 01 */ li r4, 1
/* 80156624 00153584 48 23 38 D1 */ bl __shl2i
/* 80156628 00153588 7F 9C 1B 78 */ or r28, r28, r3
/* 8015662C 0015358C 7F 7B 23 78 */ or r27, r27, r4
/* 80156630 00153590 7F E3 FB 78 */ mr r3, r31
/* 80156634 00153594 7F BD DB 78 */ or r29, r29, r27
/* 80156638 00153598 7F DE E3 78 */ or r30, r30, r28
/* 8015663C 0015359C 4B EF D2 81 */ bl GetMaterialFilter__6CActorCFv
/* 80156640 001535A0 80 A3 00 00 */ lwz r5, 0(r3)
/* 80156644 001535A4 38 00 00 03 */ li r0, 3
/* 80156648 001535A8 80 C3 00 04 */ lwz r6, 4(r3)
/* 8015664C 001535AC 7F E3 FB 78 */ mr r3, r31
/* 80156650 001535B0 38 81 00 58 */ addi r4, r1, 0x58
/* 80156654 001535B4 90 C1 00 5C */ stw r6, 0x5c(r1)
/* 80156658 001535B8 90 A1 00 58 */ stw r5, 0x58(r1)
/* 8015665C 001535BC 93 A1 00 64 */ stw r29, 0x64(r1)
/* 80156660 001535C0 93 C1 00 60 */ stw r30, 0x60(r1)
/* 80156664 001535C4 90 01 00 68 */ stw r0, 0x68(r1)
/* 80156668 001535C8 4B EF D2 39 */ bl SetMaterialFilter__6CActorFRC15CMaterialFilter
/* 8015666C 001535CC 3C 80 80 3D */ lis r4, lbl_803D0230@ha
/* 80156670 001535D0 38 61 00 3C */ addi r3, r1, 0x3c
/* 80156674 001535D4 38 84 02 30 */ addi r4, r4, lbl_803D0230@l
/* 80156678 001535D8 38 84 00 59 */ addi r4, r4, 0x59
/* 8015667C 001535DC 4B EA E6 3D */ bl string_l__4rstlFPCc
/* 80156680 001535E0 80 9F 00 64 */ lwz r4, 0x64(r31)
/* 80156684 001535E4 38 61 00 24 */ addi r3, r1, 0x24
/* 80156688 001535E8 38 A1 00 3C */ addi r5, r1, 0x3c
/* 8015668C 001535EC 80 84 00 10 */ lwz r4, 0x10(r4)
/* 80156690 001535F0 4B ED 81 A9 */ bl "GetLocatorSegId__9CAnimDataCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80156694 001535F4 88 01 00 24 */ lbz r0, 0x24(r1)
/* 80156698 001535F8 38 61 00 3C */ addi r3, r1, 0x3c
/* 8015669C 001535FC 98 01 00 28 */ stb r0, 0x28(r1)
/* 801566A0 00153600 48 1E 74 41 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 801566A4 00153604 88 01 00 28 */ lbz r0, 0x28(r1)
/* 801566A8 00153608 28 00 00 FF */ cmplwi r0, 0xff
/* 801566AC 0015360C 41 82 00 C8 */ beq lbl_80156774
/* 801566B0 00153610 98 01 00 20 */ stb r0, 0x20(r1)
/* 801566B4 00153614 38 61 01 00 */ addi r3, r1, 0x100
/* 801566B8 00153618 38 A1 00 20 */ addi r5, r1, 0x20
/* 801566BC 0015361C 38 C0 00 00 */ li r6, 0
/* 801566C0 00153620 80 9F 00 64 */ lwz r4, 0x64(r31)
/* 801566C4 00153624 80 84 00 10 */ lwz r4, 0x10(r4)
/* 801566C8 00153628 4B ED 5B AD */ bl GetLocatorTransform__9CAnimDataCF6CSegIdPC13CCharAnimTime
/* 801566CC 0015362C 38 61 01 60 */ addi r3, r1, 0x160
/* 801566D0 00153630 38 81 01 00 */ addi r4, r1, 0x100
/* 801566D4 00153634 48 1B C4 A1 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 801566D8 00153638 80 BF 00 64 */ lwz r5, 0x64(r31)
/* 801566DC 0015363C 38 61 00 70 */ addi r3, r1, 0x70
/* 801566E0 00153640 38 81 00 30 */ addi r4, r1, 0x30
/* 801566E4 00153644 C0 05 00 00 */ lfs f0, 0(r5)
/* 801566E8 00153648 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 801566EC 0015364C C0 05 00 04 */ lfs f0, 4(r5)
/* 801566F0 00153650 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 801566F4 00153654 C0 05 00 08 */ lfs f0, 8(r5)
/* 801566F8 00153658 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 801566FC 0015365C 48 1B CA C9 */ bl Scale__12CTransform4fFRC9CVector3f
/* 80156700 00153660 38 61 00 A0 */ addi r3, r1, 0xa0
/* 80156704 00153664 38 81 00 70 */ addi r4, r1, 0x70
/* 80156708 00153668 38 A1 01 60 */ addi r5, r1, 0x160
/* 8015670C 0015366C 48 1B C2 45 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 80156710 00153670 38 61 00 D0 */ addi r3, r1, 0xd0
/* 80156714 00153674 38 9F 00 34 */ addi r4, r31, 0x34
/* 80156718 00153678 38 A1 00 A0 */ addi r5, r1, 0xa0
/* 8015671C 0015367C 48 1B C2 35 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 80156720 00153680 38 61 01 30 */ addi r3, r1, 0x130
/* 80156724 00153684 38 81 00 D0 */ addi r4, r1, 0xd0
/* 80156728 00153688 48 1B C4 4D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8015672C 0015368C C0 41 01 5C */ lfs f2, 0x15c(r1)
/* 80156730 00153690 C0 21 01 4C */ lfs f1, 0x14c(r1)
/* 80156734 00153694 C0 01 01 3C */ lfs f0, 0x13c(r1)
/* 80156738 00153698 D0 1F 05 A8 */ stfs f0, 0x5a8(r31)
/* 8015673C 0015369C D0 3F 05 AC */ stfs f1, 0x5ac(r31)
/* 80156740 001536A0 D0 5F 05 B0 */ stfs f2, 0x5b0(r31)
/* 80156744 001536A4 C0 21 01 3C */ lfs f1, 0x13c(r1)
/* 80156748 001536A8 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 8015674C 001536AC C0 61 01 4C */ lfs f3, 0x14c(r1)
/* 80156750 001536B0 C0 5F 00 50 */ lfs f2, 0x50(r31)
/* 80156754 001536B4 EC 01 00 28 */ fsubs f0, f1, f0
/* 80156758 001536B8 C0 9F 00 60 */ lfs f4, 0x60(r31)
/* 8015675C 001536BC C0 21 01 5C */ lfs f1, 0x15c(r1)
/* 80156760 001536C0 EC 43 10 28 */ fsubs f2, f3, f2
/* 80156764 001536C4 D0 1F 05 9C */ stfs f0, 0x59c(r31)
/* 80156768 001536C8 EC 01 20 28 */ fsubs f0, f1, f4
/* 8015676C 001536CC D0 5F 05 A0 */ stfs f2, 0x5a0(r31)
/* 80156770 001536D0 D0 1F 05 A4 */ stfs f0, 0x5a4(r31)
lbl_80156774:
/* 80156774 001536D4 38 7F 04 60 */ addi r3, r31, 0x460
/* 80156778 001536D8 38 80 00 00 */ li r4, 0
/* 8015677C 001536DC 48 0D D5 E9 */ bl SetAutoResetImpulse__20CKnockBackControllerFb
/* 80156780 001536E0 7F E3 FB 78 */ mr r3, r31
/* 80156784 001536E4 E3 E1 05 E8 */ psq_l f31, 1512(r1), 0, qr0
/* 80156788 001536E8 CB E1 05 E0 */ lfd f31, 0x5e0(r1)
/* 8015678C 001536EC E3 C1 05 D8 */ psq_l f30, 1496(r1), 0, qr0
/* 80156790 001536F0 CB C1 05 D0 */ lfd f30, 0x5d0(r1)
/* 80156794 001536F4 E3 A1 05 C8 */ psq_l f29, 1480(r1), 0, qr0
/* 80156798 001536F8 CB A1 05 C0 */ lfd f29, 0x5c0(r1)
/* 8015679C 001536FC E3 81 05 B8 */ psq_l f28, 1464(r1), 0, qr0
/* 801567A0 00153700 CB 81 05 B0 */ lfd f28, 0x5b0(r1)
/* 801567A4 00153704 BB 61 05 9C */ lmw r27, 0x59c(r1)
/* 801567A8 00153708 80 01 05 F4 */ lwz r0, 0x5f4(r1)
/* 801567AC 0015370C 7C 08 03 A6 */ mtlr r0
/* 801567B0 00153710 38 21 05 F0 */ addi r1, r1, 0x5f0
/* 801567B4 00153714 4E 80 00 20 */ blr
.global "reserve__Q24rstl63vector<26CJointCollisionDescription,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl63vector<26CJointCollisionDescription,Q24rstl17rmemory_allocator>Fi":
/* 801567B8 00153718 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801567BC 0015371C 7C 08 02 A6 */ mflr r0
/* 801567C0 00153720 90 01 00 34 */ stw r0, 0x34(r1)
/* 801567C4 00153724 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 801567C8 00153728 7C 9F 23 78 */ mr r31, r4
/* 801567CC 0015372C 7C 7E 1B 78 */ mr r30, r3
/* 801567D0 00153730 80 03 00 08 */ lwz r0, 8(r3)
/* 801567D4 00153734 7C 1F 00 00 */ cmpw r31, r0
/* 801567D8 00153738 40 81 00 B4 */ ble lbl_8015688C
/* 801567DC 0015373C 1C 7F 00 44 */ mulli r3, r31, 0x44
/* 801567E0 00153740 2C 03 00 00 */ cmpwi r3, 0
/* 801567E4 00153744 40 82 00 0C */ bne lbl_801567F0
/* 801567E8 00153748 3B A0 00 00 */ li r29, 0
/* 801567EC 0015374C 48 00 00 1C */ b lbl_80156808
lbl_801567F0:
/* 801567F0 00153750 3C 80 80 3D */ lis r4, lbl_803D0230@ha
/* 801567F4 00153754 38 A0 00 00 */ li r5, 0
/* 801567F8 00153758 38 84 02 30 */ addi r4, r4, lbl_803D0230@l
/* 801567FC 0015375C 38 84 00 70 */ addi r4, r4, 0x70
/* 80156800 00153760 48 1B F0 19 */ bl __nwa__FUlPCcPCc
/* 80156804 00153764 7C 7D 1B 78 */ mr r29, r3
lbl_80156808:
/* 80156808 00153768 80 1E 00 04 */ lwz r0, 4(r30)
/* 8015680C 0015376C 7F A5 EB 78 */ mr r5, r29
/* 80156810 00153770 80 DE 00 0C */ lwz r6, 0xc(r30)
/* 80156814 00153774 38 61 00 14 */ addi r3, r1, 0x14
/* 80156818 00153778 1C 00 00 44 */ mulli r0, r0, 0x44
/* 8015681C 0015377C 38 81 00 0C */ addi r4, r1, 0xc
/* 80156820 00153780 7C C6 02 14 */ add r6, r6, r0
/* 80156824 00153784 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80156828 00153788 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 8015682C 0015378C 90 C1 00 08 */ stw r6, 8(r1)
/* 80156830 00153790 90 01 00 10 */ stw r0, 0x10(r1)
/* 80156834 00153794 90 01 00 14 */ stw r0, 0x14(r1)
/* 80156838 00153798 48 00 00 69 */ bl sub_801568a0
/* 8015683C 0015379C 80 1E 00 04 */ lwz r0, 4(r30)
/* 80156840 001537A0 83 7E 00 0C */ lwz r27, 0xc(r30)
/* 80156844 001537A4 1C 00 00 44 */ mulli r0, r0, 0x44
/* 80156848 001537A8 7F 9B 02 14 */ add r28, r27, r0
/* 8015684C 001537AC 48 00 00 20 */ b lbl_8015686C
lbl_80156850:
/* 80156850 001537B0 28 1B 00 00 */ cmplwi r27, 0
/* 80156854 001537B4 41 82 00 14 */ beq lbl_80156868
/* 80156858 001537B8 34 1B 00 2C */ addic. r0, r27, 0x2c
/* 8015685C 001537BC 41 82 00 0C */ beq lbl_80156868
/* 80156860 001537C0 38 7B 00 2C */ addi r3, r27, 0x2c
/* 80156864 001537C4 48 1E 72 7D */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
lbl_80156868:
/* 80156868 001537C8 3B 7B 00 44 */ addi r27, r27, 0x44
lbl_8015686C:
/* 8015686C 001537CC 7C 1B E0 40 */ cmplw r27, r28
/* 80156870 001537D0 40 82 FF E0 */ bne lbl_80156850
/* 80156874 001537D4 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80156878 001537D8 28 03 00 00 */ cmplwi r3, 0
/* 8015687C 001537DC 41 82 00 08 */ beq lbl_80156884
/* 80156880 001537E0 48 1B F0 B1 */ bl Free__7CMemoryFPCv
lbl_80156884:
/* 80156884 001537E4 93 BE 00 0C */ stw r29, 0xc(r30)
/* 80156888 001537E8 93 FE 00 08 */ stw r31, 8(r30)
lbl_8015688C:
/* 8015688C 001537EC BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 80156890 001537F0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80156894 001537F4 7C 08 03 A6 */ mtlr r0
/* 80156898 001537F8 38 21 00 30 */ addi r1, r1, 0x30
/* 8015689C 001537FC 4E 80 00 20 */ blr
.global sub_801568a0
sub_801568a0:
/* 801568A0 00153800 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801568A4 00153804 7C 08 02 A6 */ mflr r0
/* 801568A8 00153808 90 01 00 24 */ stw r0, 0x24(r1)
/* 801568AC 0015380C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801568B0 00153810 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801568B4 00153814 7C BE 2B 78 */ mr r30, r5
/* 801568B8 00153818 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801568BC 0015381C 7C 9D 23 78 */ mr r29, r4
/* 801568C0 00153820 83 E3 00 00 */ lwz r31, 0(r3)
/* 801568C4 00153824 48 00 00 90 */ b lbl_80156954
lbl_801568C8:
/* 801568C8 00153828 28 1E 00 00 */ cmplwi r30, 0
/* 801568CC 0015382C 41 82 00 80 */ beq lbl_8015694C
/* 801568D0 00153830 80 1F 00 00 */ lwz r0, 0(r31)
/* 801568D4 00153834 38 7E 00 2C */ addi r3, r30, 0x2c
/* 801568D8 00153838 38 9F 00 2C */ addi r4, r31, 0x2c
/* 801568DC 0015383C 90 1E 00 00 */ stw r0, 0(r30)
/* 801568E0 00153840 80 1F 00 04 */ lwz r0, 4(r31)
/* 801568E4 00153844 90 1E 00 04 */ stw r0, 4(r30)
/* 801568E8 00153848 88 1F 00 08 */ lbz r0, 8(r31)
/* 801568EC 0015384C 98 1E 00 08 */ stb r0, 8(r30)
/* 801568F0 00153850 88 1F 00 09 */ lbz r0, 9(r31)
/* 801568F4 00153854 98 1E 00 09 */ stb r0, 9(r30)
/* 801568F8 00153858 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 801568FC 0015385C D0 1E 00 0C */ stfs f0, 0xc(r30)
/* 80156900 00153860 C0 1F 00 10 */ lfs f0, 0x10(r31)
/* 80156904 00153864 D0 1E 00 10 */ stfs f0, 0x10(r30)
/* 80156908 00153868 C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 8015690C 0015386C D0 1E 00 14 */ stfs f0, 0x14(r30)
/* 80156910 00153870 C0 1F 00 18 */ lfs f0, 0x18(r31)
/* 80156914 00153874 D0 1E 00 18 */ stfs f0, 0x18(r30)
/* 80156918 00153878 C0 1F 00 1C */ lfs f0, 0x1c(r31)
/* 8015691C 0015387C D0 1E 00 1C */ stfs f0, 0x1c(r30)
/* 80156920 00153880 C0 1F 00 20 */ lfs f0, 0x20(r31)
/* 80156924 00153884 D0 1E 00 20 */ stfs f0, 0x20(r30)
/* 80156928 00153888 C0 1F 00 24 */ lfs f0, 0x24(r31)
/* 8015692C 0015388C D0 1E 00 24 */ stfs f0, 0x24(r30)
/* 80156930 00153890 C0 1F 00 28 */ lfs f0, 0x28(r31)
/* 80156934 00153894 D0 1E 00 28 */ stfs f0, 0x28(r30)
/* 80156938 00153898 48 1E 78 29 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8015693C 0015389C A0 1F 00 3C */ lhz r0, 0x3c(r31)
/* 80156940 001538A0 B0 1E 00 3C */ sth r0, 0x3c(r30)
/* 80156944 001538A4 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 80156948 001538A8 D0 1E 00 40 */ stfs f0, 0x40(r30)
lbl_8015694C:
/* 8015694C 001538AC 3B DE 00 44 */ addi r30, r30, 0x44
/* 80156950 001538B0 3B FF 00 44 */ addi r31, r31, 0x44
lbl_80156954:
/* 80156954 001538B4 80 1D 00 00 */ lwz r0, 0(r29)
/* 80156958 001538B8 7C 1F 00 40 */ cmplw r31, r0
/* 8015695C 001538BC 40 82 FF 6C */ bne lbl_801568C8
/* 80156960 001538C0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80156964 001538C4 7F C3 F3 78 */ mr r3, r30
/* 80156968 001538C8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8015696C 001538CC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80156970 001538D0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80156974 001538D4 7C 08 03 A6 */ mtlr r0
/* 80156978 001538D8 38 21 00 20 */ addi r1, r1, 0x20
/* 8015697C 001538DC 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805ABB48
lbl_805ABB48:
# ROM: 0x3F83E8
.float 1.0
.global lbl_805ABB4C
lbl_805ABB4C:
# ROM: 0x3F83EC
.float 1.0
.global lbl_805ABB50
lbl_805ABB50:
# ROM: 0x3F83F0
.4byte 0
.global lbl_805ABB54
lbl_805ABB54:
# ROM: 0x3F83F4
.float 1000000.0
.global lbl_805ABB58
lbl_805ABB58:
# ROM: 0x3F83F8
.float 0.5
.global lbl_805ABB5C
lbl_805ABB5C:
# ROM: 0x3F83FC
.float 0.001
.global lbl_805ABB60
lbl_805ABB60:
# ROM: 0x3F8400
.4byte 0x40400000
.4byte 0
.section .rodata
.balign 8
.global lbl_803D01F8
lbl_803D01F8:
# ROM: 0x3CD1F8
.4byte 0x803D023C
.float 1.5
.4byte 0x803D0248
.float 1.0
.4byte 0x803D024E
.float 1.0
.4byte 0x803D0254
.float 1.0
.4byte 0x803D025A
.float 1.0
.4byte 0x803D0267
.float 1.0
.4byte 0x803D027D
.float 1.5
.global lbl_803D0230
lbl_803D0230:
# ROM: 0x3CD230
.asciz "Arm_2"
.byte 0x41, 0x72
.4byte 0x6D5F3300
.asciz "Arm_4"
.byte 0x41, 0x72
.4byte 0x6D5F3500
.asciz "Arm_6"
.byte 0x41, 0x72
.4byte 0x6D5F3700
.asciz "Arm_8"
.byte 0x41, 0x72
.4byte 0x6D5F3900
.asciz "Arm_10"
.byte 0x41
.asciz "rm_11"
.byte 0x41, 0x72
.asciz "m_12"
.byte 0x41, 0x72, 0x6D
.asciz "_end"
.byte 0x73, 0x77, 0x6F
.asciz "osh_LCTR"
.byte 0x6C, 0x6F, 0x63
.asciz "kon_target_LCTR"
.4byte 0x45796500
.asciz "??(??)"
.byte 0x57
.asciz "ARNING: Non-uniform scale (%.2f, %.2f, %.2f) applied to Spank Weed...changing scale to (%.2f, %.2f, %.2f)\n"
.byte 0x53
.asciz "pank Weed Collision "
.balign 4
.4byte 0