.include "macros.inc" .comm skExtendedClawBounds__12CElitePirate, 0xC, 4 .comm lbl_805723EC, 0xC, 4 # MWCC .comm bug .comm skLocalShieldBounds__12CElitePirate, 0xC, 4 .section .ctors, "wa" lbl_ctor: .4byte __sinit_CElitePirate_cpp .section .data .balign 8 .global lbl_803E7AE0 lbl_803E7AE0: # ROM: 0x3E4AE0 .4byte 0 .4byte 0 .4byte __dt__12CElitePirateFv .4byte Accept__12CElitePirateFR8IVisitor .4byte PreThink__10CPatternedFfR13CStateManager .4byte Think__12CElitePirateFfR13CStateManager .4byte AcceptScriptMsg__12CElitePirateF20EScriptObjectMessage9TUniqueIdR13CStateManager .4byte SetActive__6CActorFb .4byte PreRender__12CElitePirateFR13CStateManagerRC14CFrustumPlanes .4byte AddToRenderer__10CPatternedCFRC14CFrustumPlanesRC13CStateManager .4byte Render__10CPatternedCFRC13CStateManager .4byte CanRenderUnsorted__10CPatternedCFRC13CStateManager .4byte CalculateRenderBounds__6CActorFv .4byte HealthInfo__3CAiFR13CStateManager .4byte GetDamageVulnerability__12CElitePirateCFv .4byte GetDamageVulnerability__12CElitePirateCFRC9CVector3fRC9CVector3fRC11CDamageInfo .4byte GetTouchBounds__10CPatternedCFv .4byte Touch__10CPatternedFR6CActorR13CStateManager .4byte GetOrbitPosition__12CElitePirateCFRC13CStateManager .4byte GetAimPosition__12CElitePirateCFRC13CStateManagerf .4byte GetHomingPosition__6CActorCFRC13CStateManagerf .4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager .4byte GetCollisionResponseType__10CPatternedCFRC9CVector3fRC9CVector3fRC11CWeaponModei .4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager .4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager .4byte GetSortingBounds__6CActorCFRC13CStateManager .4byte DoUserAnimEvent__12CElitePirateFR13CStateManagerRC13CInt32POINode14EUserEventType .4byte GetCollisionPrimitive__12CElitePirateCFv .4byte GetPrimitiveTransform__13CPhysicsActorCFv .4byte CollidedWith__10CPatternedFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager .4byte GetStepDownHeight__13CPhysicsActorCFv .4byte GetStepUpHeight__13CPhysicsActorCFv .4byte GetWeight__13CPhysicsActorCFv .4byte Death__10CPatternedFR13CStateManagerRC9CVector3f18EScriptObjectState .4byte KnockBack__12CElitePirateFRC9CVector3fR13CStateManagerRC11CDamageInfo14EKnockBackTypef .4byte GetDamageVulnerability__3CAiFv .4byte TakeDamage__12CElitePirateFRC9CVector3ff .4byte CanBeShot__3CAiFRC13CStateManageri .4byte IsListening__3CAiCFv .4byte Listen__3CAiFRC9CVector3f16EListenNoiseType .4byte GetOrigin__3CAiCFv .4byte Patrol__12CElitePirateFR13CStateManager9EStateMsgf .4byte FollowPattern__10CPatternedFR13CStateManager9EStateMsgf .4byte Dead__10CPatternedFR13CStateManager9EStateMsgf .4byte PathFind__12CElitePirateFR13CStateManager9EStateMsgf .4byte Start__10CPatternedFR13CStateManager9EStateMsgf .4byte SelectTarget__3CAiFR13CStateManager9EStateMsgf .4byte TargetPatrol__12CElitePirateFR13CStateManager9EStateMsgf .4byte TargetPlayer__10CPatternedFR13CStateManager9EStateMsgf .4byte TargetCover__3CAiFR13CStateManager9EStateMsgf .4byte Halt__12CElitePirateFR13CStateManager9EStateMsgf .4byte Walk__3CAiFR13CStateManager9EStateMsgf .4byte Run__12CElitePirateFR13CStateManager9EStateMsgf .4byte Generate__12CElitePirateFR13CStateManager9EStateMsgf .4byte Deactivate__3CAiFR13CStateManager9EStateMsgf .4byte Attack__12CElitePirateFR13CStateManager9EStateMsgf .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__3CAiFR13CStateManager9EStateMsgf .4byte FadeOut__3CAiFR13CStateManager9EStateMsgf .4byte GetUp__3CAiFR13CStateManager9EStateMsgf .4byte Taunt__12CElitePirateFR13CStateManager9EStateMsgf .4byte Suck__3CAiFR13CStateManager9EStateMsgf .4byte Flee__3CAiFR13CStateManager9EStateMsgf .4byte Lurk__3CAiFR13CStateManager9EStateMsgf .4byte ProjectileAttack__12CElitePirateFR13CStateManager9EStateMsgf .4byte Flinch__3CAiFR13CStateManager9EStateMsgf .4byte Hurled__3CAiFR13CStateManager9EStateMsgf .4byte TelegraphAttack__3CAiFR13CStateManager9EStateMsgf .4byte Jump__3CAiFR13CStateManager9EStateMsgf .4byte Explode__3CAiFR13CStateManager9EStateMsgf .4byte Dodge__3CAiFR13CStateManager9EStateMsgf .4byte Retreat__3CAiFR13CStateManager9EStateMsgf .4byte Cover__12CElitePirateFR13CStateManager9EStateMsgf .4byte Approach__3CAiFR13CStateManager9EStateMsgf .4byte WallHang__3CAiFR13CStateManager9EStateMsgf .4byte WallDetach__3CAiFR13CStateManager9EStateMsgf .4byte Enraged__3CAiFR13CStateManager9EStateMsgf .4byte SpecialAttack__12CElitePirateFR13CStateManager9EStateMsgf .4byte Growth__3CAiFR13CStateManager9EStateMsgf .4byte Faint__3CAiFR13CStateManager9EStateMsgf .4byte Land__3CAiFR13CStateManager9EStateMsgf .4byte Bounce__3CAiFR13CStateManager9EStateMsgf .4byte PathFindEx__3CAiFR13CStateManager9EStateMsgf .4byte Dizzy__3CAiFR13CStateManager9EStateMsgf .4byte CallForBackup__12CElitePirateFR13CStateManager9EStateMsgf .4byte BulbAttack__3CAiFR13CStateManager9EStateMsgf .4byte PodAttack__3CAiFR13CStateManager9EStateMsgf .4byte InAttackPosition__3CAiFR13CStateManagerf .4byte Leash__10CPatternedFR13CStateManagerf .4byte OffLine__10CPatternedFR13CStateManagerf .4byte Attacked__10CPatternedFR13CStateManagerf .4byte PathShagged__10CPatternedFR13CStateManagerf .4byte PathOver__10CPatternedFR13CStateManagerf .4byte PathFound__10CPatternedFR13CStateManagerf .4byte TooClose__12CElitePirateFR13CStateManagerf .4byte InRange__10CPatternedFR13CStateManagerf .4byte InMaxRange__10CPatternedFR13CStateManagerf .4byte InDetectionRange__12CElitePirateFR13CStateManagerf .4byte SpotPlayer__12CElitePirateFR13CStateManagerf .4byte PlayerSpot__10CPatternedFR13CStateManagerf .4byte PatternOver__10CPatternedFR13CStateManagerf .4byte PatternShagged__10CPatternedFR13CStateManagerf .4byte HasAttackPattern__10CPatternedFR13CStateManagerf .4byte HasPatrolPath__10CPatternedFR13CStateManagerf .4byte HasRetreatPattern__10CPatternedFR13CStateManagerf .4byte Delay__10CPatternedFR13CStateManagerf .4byte RandomDelay__10CPatternedFR13CStateManagerf .4byte FixedDelay__10CPatternedFR13CStateManagerf .4byte Default__10CPatternedFR13CStateManagerf .4byte sub_8022bcc0 .4byte ShouldAttack__12CElitePirateFR13CStateManagerf .4byte ShouldDoubleSnap__3CAiFR13CStateManagerf .4byte InPosition__12CElitePirateFR13CStateManagerf .4byte ShouldTurn__12CElitePirateFR13CStateManagerf .4byte HitSomething__3CAiFR13CStateManagerf .4byte ShouldJumpBack__3CAiFR13CStateManagerf .4byte Stuck__10CPatternedFR13CStateManagerf .4byte NoPathNodes__10CPatternedFR13CStateManagerf .4byte Landed__10CPatternedFR13CStateManagerf .4byte HearShot__3CAiFR13CStateManagerf .4byte HearPlayer__3CAiFR13CStateManagerf .4byte CoverCheck__3CAiFR13CStateManagerf .4byte CoverFind__3CAiFR13CStateManagerf .4byte CoverBlown__3CAiFR13CStateManagerf .4byte CoverNearlyBlown__3CAiFR13CStateManagerf .4byte CoveringFire__3CAiFR13CStateManagerf .4byte GotUp__3CAiFR13CStateManagerf .4byte LineOfSight__3CAiFR13CStateManagerf .4byte AggressionCheck__12CElitePirateFR13CStateManagerf .4byte AttackOver__3CAiFR13CStateManagerf .4byte ShouldTaunt__12CElitePirateFR13CStateManagerf .4byte Inside__3CAiFR13CStateManagerf .4byte ShouldFire__12CElitePirateFR13CStateManagerf .4byte ShouldFlinch__3CAiFR13CStateManagerf .4byte PatrolPathOver__10CPatternedFR13CStateManagerf .4byte ShouldDodge__3CAiFR13CStateManagerf .4byte ShouldRetreat__3CAiFR13CStateManagerf .4byte ShouldCrouch__3CAiFR13CStateManagerf .4byte ShouldMove__3CAiFR13CStateManagerf .4byte ShotAt__12CElitePirateFR13CStateManagerf .4byte HasTargetingPoint__3CAiFR13CStateManagerf .4byte ShouldWallHang__3CAiFR13CStateManagerf .4byte SetAIStage__3CAiFR13CStateManagerf .4byte AIStage__3CAiFR13CStateManagerf .4byte StartAttack__3CAiFR13CStateManagerf .4byte BreakAttack__3CAiFR13CStateManagerf .4byte ShouldStrafe__3CAiFR13CStateManagerf .4byte ShouldSpecialAttack__12CElitePirateFR13CStateManagerf .4byte LostInterest__3CAiFR13CStateManagerf .4byte CodeTrigger__10CPatternedFR13CStateManagerf .4byte BounceFind__3CAiFR13CStateManagerf .4byte Random__10CPatternedFR13CStateManagerf .4byte FixedRandom__10CPatternedFR13CStateManagerf .4byte IsDizzy__3CAiFR13CStateManagerf .4byte ShouldCallForBackup__12CElitePirateFR13CStateManagerf .4byte Freeze__10CPatternedFRC9CVector3f13CUnitVector3ff .4byte KnockbackWhenFrozen__10CPatternedCFv .4byte MassiveDeath__10CPatternedFR13CStateManager .4byte MassiveFrozenDeath__10CPatternedFR13CStateManager .4byte Burn__10CPatternedFff .4byte Shock__10CPatternedFff .4byte ThinkAboutMove__10CPatternedFf .4byte GetSearchPath__12CElitePirateFv .4byte GetContactDamage__10CPatternedCFv .4byte GetModelAlphau8__10CPatternedCFRC13CStateManager .4byte IsOnGround__10CPatternedCFv .4byte GetGravityConstant__10CPatternedCFv .4byte GetProjectileInfo__10CPatternedFv .4byte PhazeOut__10CPatternedFR13CStateManager .4byte GetDeathExplosionParticle__10CPatternedCFv .4byte sub_802273a8 .4byte sub_802273b0 .4byte sub_80229114 .4byte sub_802289b0 .4byte sub_802273b8 .global lbl_803E7DC0 lbl_803E7DC0: # ROM: 0x3E4DC0 .4byte lbl_8022C460 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C6EC .4byte lbl_8022C704 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C71C .4byte lbl_8022C4B0 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C7A8 .4byte lbl_8022C728 .global lbl_803E7E20 lbl_803E7E20: # ROM: 0x3E4E20 .4byte lbl_8022D344 .4byte lbl_8022CCBC .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022CD18 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022CDCC .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022CE10 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022CC18 .4byte lbl_8022CD84 .4byte lbl_8022CDE0 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D344 .4byte lbl_8022D0EC .4byte lbl_8022D2F4 .4byte 0 .section .sdata .balign 8 .global lbl_805A8128 lbl_805A8128: # ROM: 0x3F5AC8 .4byte 0x00000013 .global lbl_805A812C lbl_805A812C: # ROM: 0x3F5ACC .4byte 0x0000001E .global lbl_805A8130 lbl_805A8130: # ROM: 0x3F5AD0 .4byte 0x0000001D .global lbl_805A8134 lbl_805A8134: # ROM: 0x3F5AD4 .4byte 0x00000030 .global lbl_805A8138 lbl_805A8138: # ROM: 0x3F5AD8 .4byte 0x00000021 .global lbl_805A813C lbl_805A813C: # ROM: 0x3F5ADC .4byte 0x0000001E .global lbl_805A8140 lbl_805A8140: # ROM: 0x3F5AE0 .4byte 0x0000001D .global lbl_805A8144 lbl_805A8144: # ROM: 0x3F5AE4 .4byte 0x00000030 .global lbl_805A8148 lbl_805A8148: # ROM: 0x3F5AE8 .4byte 0x00000021 .global lbl_805A814C lbl_805A814C: # ROM: 0x3F5AEC .4byte 0x0000002F .global lbl_805A8150 lbl_805A8150: # ROM: 0x3F5AF0 .4byte 0x0000001C .global lbl_805A8154 lbl_805A8154: # ROM: 0x3F5AF4 .4byte 0x00000020 .global lbl_805A8158 lbl_805A8158: # ROM: 0x3F5AF8 .4byte 0x00000013 .global lbl_805A815C lbl_805A815C: # ROM: 0x3F5AFC .4byte 0x00000035 .global lbl_805A8160 lbl_805A8160: # ROM: 0x3F5B00 .4byte 0x00000015 .global lbl_805A8164 lbl_805A8164: # ROM: 0x3F5B04 .4byte 0x0000002B .global lbl_805A8168 lbl_805A8168: # ROM: 0x3F5B08 .4byte 0x00000035 .global lbl_805A816C lbl_805A816C: # ROM: 0x3F5B0C .4byte 0x00000015 .global lbl_805A8170 lbl_805A8170: # ROM: 0x3F5B10 .4byte 0x00000023 .global lbl_805A8174 lbl_805A8174: # ROM: 0x3F5B14 .4byte 0x00000021 .section .text, "ax" .global GetSearchPath__12CElitePirateFv GetSearchPath__12CElitePirateFv: /* 80227398 002242F8 38 63 07 D0 */ addi r3, r3, 0x7d0 /* 8022739C 002242FC 4E 80 00 20 */ blr .global GetCollisionPrimitive__12CElitePirateCFv GetCollisionPrimitive__12CElitePirateCFv: /* 802273A0 00224300 38 63 07 38 */ addi r3, r3, 0x738 /* 802273A4 00224304 4E 80 00 20 */ blr .global sub_802273a8 sub_802273a8: /* 802273A8 00224308 38 60 00 01 */ li r3, 1 /* 802273AC 0022430C 4E 80 00 20 */ blr .global sub_802273b0 sub_802273b0: /* 802273B0 00224310 38 60 00 01 */ li r3, 1 /* 802273B4 00224314 4E 80 00 20 */ blr .global sub_802273b8 sub_802273b8: /* 802273B8 00224318 A0 A4 06 F4 */ lhz r5, 0x6f4(r4) /* 802273BC 0022431C 38 00 00 08 */ li r0, 8 /* 802273C0 00224320 80 C4 06 F0 */ lwz r6, 0x6f0(r4) /* 802273C4 00224324 80 E4 06 D0 */ lwz r7, 0x6d0(r4) /* 802273C8 00224328 C0 42 B5 B8 */ lfs f2, lbl_805AD2D8@sda21(r2) /* 802273CC 0022432C 90 03 00 00 */ stw r0, 0(r3) /* 802273D0 00224330 C0 22 B5 BC */ lfs f1, lbl_805AD2DC@sda21(r2) /* 802273D4 00224334 90 E3 00 04 */ stw r7, 4(r3) /* 802273D8 00224338 C0 02 B5 C0 */ lfs f0, lbl_805AD2E0@sda21(r2) /* 802273DC 0022433C 80 04 06 D4 */ lwz r0, 0x6d4(r4) /* 802273E0 00224340 90 03 00 08 */ stw r0, 8(r3) /* 802273E4 00224344 88 04 06 D8 */ lbz r0, 0x6d8(r4) /* 802273E8 00224348 98 03 00 0C */ stb r0, 0xc(r3) /* 802273EC 0022434C C0 64 06 DC */ lfs f3, 0x6dc(r4) /* 802273F0 00224350 D0 63 00 10 */ stfs f3, 0x10(r3) /* 802273F4 00224354 C0 64 06 E0 */ lfs f3, 0x6e0(r4) /* 802273F8 00224358 D0 63 00 14 */ stfs f3, 0x14(r3) /* 802273FC 0022435C C0 64 06 E4 */ lfs f3, 0x6e4(r4) /* 80227400 00224360 D0 63 00 18 */ stfs f3, 0x18(r3) /* 80227404 00224364 C0 64 06 E8 */ lfs f3, 0x6e8(r4) /* 80227408 00224368 D0 63 00 1C */ stfs f3, 0x1c(r3) /* 8022740C 0022436C 88 04 06 EC */ lbz r0, 0x6ec(r4) /* 80227410 00224370 98 03 00 20 */ stb r0, 0x20(r3) /* 80227414 00224374 D0 43 00 24 */ stfs f2, 0x24(r3) /* 80227418 00224378 D0 23 00 28 */ stfs f1, 0x28(r3) /* 8022741C 0022437C D0 03 00 2C */ stfs f0, 0x2c(r3) /* 80227420 00224380 D0 43 00 30 */ stfs f2, 0x30(r3) /* 80227424 00224384 90 C3 00 34 */ stw r6, 0x34(r3) /* 80227428 00224388 B0 A3 00 38 */ sth r5, 0x38(r3) /* 8022742C 0022438C 4E 80 00 20 */ blr .global sub_80227430 sub_80227430: /* 80227430 00224390 88 03 04 00 */ lbz r0, 0x400(r3) /* 80227434 00224394 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 80227438 00224398 41 82 00 24 */ beq lbl_8022745C /* 8022743C 0022439C 88 04 00 04 */ lbz r0, 4(r4) /* 80227440 002243A0 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 80227444 002243A4 40 82 00 18 */ bne lbl_8022745C /* 80227448 002243A8 80 04 00 00 */ lwz r0, 0(r4) /* 8022744C 002243AC 2C 00 00 03 */ cmpwi r0, 3 /* 80227450 002243B0 40 82 00 0C */ bne lbl_8022745C /* 80227454 002243B4 38 60 00 00 */ li r3, 0 /* 80227458 002243B8 4E 80 00 20 */ blr lbl_8022745C: /* 8022745C 002243BC 38 60 00 01 */ li r3, 1 /* 80227460 002243C0 4E 80 00 20 */ blr .global sub_80227464 sub_80227464: /* 80227464 002243C4 94 21 FF 90 */ stwu r1, -0x70(r1) /* 80227468 002243C8 7C 08 02 A6 */ mflr r0 /* 8022746C 002243CC 90 01 00 74 */ stw r0, 0x74(r1) /* 80227470 002243D0 93 E1 00 6C */ stw r31, 0x6c(r1) /* 80227474 002243D4 7C 7F 1B 78 */ mr r31, r3 /* 80227478 002243D8 93 C1 00 68 */ stw r30, 0x68(r1) /* 8022747C 002243DC 93 A1 00 64 */ stw r29, 0x64(r1) /* 80227480 002243E0 7C BD 2B 78 */ mr r29, r5 /* 80227484 002243E4 93 81 00 60 */ stw r28, 0x60(r1) /* 80227488 002243E8 7C 9C 23 78 */ mr r28, r4 /* 8022748C 002243EC 81 83 00 00 */ lwz r12, 0(r3) /* 80227490 002243F0 81 8C 02 CC */ lwz r12, 0x2cc(r12) /* 80227494 002243F4 7D 89 03 A6 */ mtctr r12 /* 80227498 002243F8 4E 80 04 21 */ bctrl /* 8022749C 002243FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802274A0 00224400 41 82 00 DC */ beq lbl_8022757C /* 802274A4 00224404 A0 1D 00 00 */ lhz r0, 0(r29) /* 802274A8 00224408 7F 83 E3 78 */ mr r3, r28 /* 802274AC 0022440C 38 81 00 18 */ addi r4, r1, 0x18 /* 802274B0 00224410 B0 01 00 18 */ sth r0, 0x18(r1) /* 802274B4 00224414 4B E2 50 F1 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 802274B8 00224418 7C 64 1B 78 */ mr r4, r3 /* 802274BC 0022441C 38 61 00 1C */ addi r3, r1, 0x1c /* 802274C0 00224420 4B E7 E3 D9 */ bl "__ct__20TCastToPtr<7CWeapon>FP7CEntity" /* 802274C4 00224424 83 C3 00 04 */ lwz r30, 4(r3) /* 802274C8 00224428 28 1E 00 00 */ cmplwi r30, 0 /* 802274CC 0022442C 41 82 00 B0 */ beq lbl_8022757C /* 802274D0 00224430 80 1E 01 2C */ lwz r0, 0x12c(r30) /* 802274D4 00224434 38 60 00 00 */ li r3, 0 /* 802274D8 00224438 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 802274DC 0022443C 38 80 00 01 */ li r4, 1 /* 802274E0 00224440 90 01 00 40 */ stw r0, 0x40(r1) /* 802274E4 00224444 80 AD 95 68 */ lwz r5, lbl_805A8128@sda21(r13) /* 802274E8 00224448 88 1E 01 30 */ lbz r0, 0x130(r30) /* 802274EC 0022444C 98 01 00 44 */ stb r0, 0x44(r1) /* 802274F0 00224450 C0 3E 01 34 */ lfs f1, 0x134(r30) /* 802274F4 00224454 D0 21 00 48 */ stfs f1, 0x48(r1) /* 802274F8 00224458 C0 3E 01 38 */ lfs f1, 0x138(r30) /* 802274FC 0022445C D0 21 00 4C */ stfs f1, 0x4c(r1) /* 80227500 00224460 C0 3E 01 3C */ lfs f1, 0x13c(r30) /* 80227504 00224464 D0 21 00 50 */ stfs f1, 0x50(r1) /* 80227508 00224468 C0 3E 01 40 */ lfs f1, 0x140(r30) /* 8022750C 0022446C D0 21 00 54 */ stfs f1, 0x54(r1) /* 80227510 00224470 88 1E 01 44 */ lbz r0, 0x144(r30) /* 80227514 00224474 98 01 00 58 */ stb r0, 0x58(r1) /* 80227518 00224478 D0 01 00 50 */ stfs f0, 0x50(r1) /* 8022751C 0022447C 48 16 29 D9 */ bl __shl2i /* 80227520 00224480 39 00 00 00 */ li r8, 0 /* 80227524 00224484 39 40 00 03 */ li r10, 3 /* 80227528 00224488 90 81 00 2C */ stw r4, 0x2c(r1) /* 8022752C 0022448C 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 80227530 00224490 39 24 66 A0 */ addi r9, r4, sZeroVector__9CVector3f@l /* 80227534 00224494 A0 1D 00 00 */ lhz r0, 0(r29) /* 80227538 00224498 90 61 00 28 */ stw r3, 0x28(r1) /* 8022753C 0022449C 7F 83 E3 78 */ mr r3, r28 /* 80227540 002244A0 38 81 00 14 */ addi r4, r1, 0x14 /* 80227544 002244A4 38 A1 00 10 */ addi r5, r1, 0x10 /* 80227548 002244A8 91 01 00 34 */ stw r8, 0x34(r1) /* 8022754C 002244AC 38 C1 00 0C */ addi r6, r1, 0xc /* 80227550 002244B0 38 E1 00 40 */ addi r7, r1, 0x40 /* 80227554 002244B4 91 01 00 30 */ stw r8, 0x30(r1) /* 80227558 002244B8 39 01 00 28 */ addi r8, r1, 0x28 /* 8022755C 002244BC 91 41 00 38 */ stw r10, 0x38(r1) /* 80227560 002244C0 A1 7E 00 EC */ lhz r11, 0xec(r30) /* 80227564 002244C4 B1 61 00 0C */ sth r11, 0xc(r1) /* 80227568 002244C8 A1 5F 07 70 */ lhz r10, 0x770(r31) /* 8022756C 002244CC B1 61 00 08 */ sth r11, 8(r1) /* 80227570 002244D0 B1 41 00 10 */ sth r10, 0x10(r1) /* 80227574 002244D4 B0 01 00 14 */ sth r0, 0x14(r1) /* 80227578 002244D8 4B E2 2B 29 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f lbl_8022757C: /* 8022757C 002244DC 80 01 00 74 */ lwz r0, 0x74(r1) /* 80227580 002244E0 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 80227584 002244E4 83 C1 00 68 */ lwz r30, 0x68(r1) /* 80227588 002244E8 83 A1 00 64 */ lwz r29, 0x64(r1) /* 8022758C 002244EC 83 81 00 60 */ lwz r28, 0x60(r1) /* 80227590 002244F0 7C 08 03 A6 */ mtlr r0 /* 80227594 002244F4 38 21 00 70 */ addi r1, r1, 0x70 /* 80227598 002244F8 4E 80 00 20 */ blr .global sub_8022759c sub_8022759c: /* 8022759C 002244FC 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802275A0 00224500 7C 08 02 A6 */ mflr r0 /* 802275A4 00224504 90 01 00 44 */ stw r0, 0x44(r1) /* 802275A8 00224508 DB E1 00 30 */ stfd f31, 0x30(r1) /* 802275AC 0022450C F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 802275B0 00224510 DB C1 00 20 */ stfd f30, 0x20(r1) /* 802275B4 00224514 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0 /* 802275B8 00224518 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802275BC 0022451C 93 C1 00 18 */ stw r30, 0x18(r1) /* 802275C0 00224520 93 A1 00 14 */ stw r29, 0x14(r1) /* 802275C4 00224524 81 83 00 00 */ lwz r12, 0(r3) /* 802275C8 00224528 7C 7D 1B 78 */ mr r29, r3 /* 802275CC 0022452C 7C 9E 23 78 */ mr r30, r4 /* 802275D0 00224530 7C BF 2B 78 */ mr r31, r5 /* 802275D4 00224534 81 8C 02 D0 */ lwz r12, 0x2d0(r12) /* 802275D8 00224538 7D 89 03 A6 */ mtctr r12 /* 802275DC 0022453C 4E 80 04 21 */ bctrl /* 802275E0 00224540 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802275E4 00224544 41 82 00 70 */ beq lbl_80227654 /* 802275E8 00224548 C0 3D 07 B4 */ lfs f1, 0x7b4(r29) /* 802275EC 0022454C C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 802275F0 00224550 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802275F4 00224554 40 81 00 60 */ ble lbl_80227654 /* 802275F8 00224558 57 C0 06 3F */ clrlwi. r0, r30, 0x18 /* 802275FC 0022455C 41 82 00 58 */ beq lbl_80227654 /* 80227600 00224560 7F A3 EB 78 */ mr r3, r29 /* 80227604 00224564 7F E4 FB 78 */ mr r4, r31 /* 80227608 00224568 81 9D 00 00 */ lwz r12, 0(r29) /* 8022760C 0022456C 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80227610 00224570 7D 89 03 A6 */ mtctr r12 /* 80227614 00224574 4E 80 04 21 */ bctrl /* 80227618 00224578 C0 43 00 00 */ lfs f2, 0(r3) /* 8022761C 0022457C C0 1D 07 B4 */ lfs f0, 0x7b4(r29) /* 80227620 00224580 C0 3D 07 B0 */ lfs f1, 0x7b0(r29) /* 80227624 00224584 EC 02 00 24 */ fdivs f0, f2, f0 /* 80227628 00224588 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 8022762C 0022458C 4C 40 13 82 */ cror 2, 0, 2 /* 80227630 00224590 40 82 00 30 */ bne lbl_80227660 /* 80227634 00224594 C0 02 B5 C4 */ lfs f0, lbl_805AD2E4@sda21(r2) /* 80227638 00224598 38 60 00 01 */ li r3, 1 /* 8022763C 0022459C EC 01 00 28 */ fsubs f0, f1, f0 /* 80227640 002245A0 D0 1D 07 B0 */ stfs f0, 0x7b0(r29) /* 80227644 002245A4 88 1D 09 88 */ lbz r0, 0x988(r29) /* 80227648 002245A8 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 8022764C 002245AC 98 1D 09 88 */ stb r0, 0x988(r29) /* 80227650 002245B0 48 00 00 10 */ b lbl_80227660 lbl_80227654: /* 80227654 002245B4 88 1D 09 88 */ lbz r0, 0x988(r29) /* 80227658 002245B8 53 C0 26 F6 */ rlwimi r0, r30, 4, 0x1b, 0x1b /* 8022765C 002245BC 98 1D 09 88 */ stb r0, 0x988(r29) lbl_80227660: /* 80227660 002245C0 88 1D 09 88 */ lbz r0, 0x988(r29) /* 80227664 002245C4 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 80227668 002245C8 41 82 00 20 */ beq lbl_80227688 /* 8022766C 002245CC C3 FD 05 F0 */ lfs f31, 0x5f0(r29) /* 80227670 002245D0 C3 DD 05 EC */ lfs f30, 0x5ec(r29) /* 80227674 002245D4 80 7F 09 00 */ lwz r3, 0x900(r31) /* 80227678 002245D8 48 0E AE 65 */ bl Float__9CRandom16Fv /* 8022767C 002245DC EC 01 F7 FA */ fmadds f0, f1, f31, f30 /* 80227680 002245E0 D0 1D 07 C0 */ stfs f0, 0x7c0(r29) /* 80227684 002245E4 48 00 00 0C */ b lbl_80227690 lbl_80227688: /* 80227688 002245E8 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 8022768C 002245EC D0 1D 07 C0 */ stfs f0, 0x7c0(r29) lbl_80227690: /* 80227690 002245F0 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 80227694 002245F4 CB E1 00 30 */ lfd f31, 0x30(r1) /* 80227698 002245F8 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0 /* 8022769C 002245FC CB C1 00 20 */ lfd f30, 0x20(r1) /* 802276A0 00224600 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802276A4 00224604 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802276A8 00224608 80 01 00 44 */ lwz r0, 0x44(r1) /* 802276AC 0022460C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802276B0 00224610 7C 08 03 A6 */ mtlr r0 /* 802276B4 00224614 38 21 00 40 */ addi r1, r1, 0x40 /* 802276B8 00224618 4E 80 00 20 */ blr .global sub_802276bc sub_802276bc: /* 802276BC 0022461C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802276C0 00224620 7C 08 02 A6 */ mflr r0 /* 802276C4 00224624 90 01 00 44 */ stw r0, 0x44(r1) /* 802276C8 00224628 DB E1 00 30 */ stfd f31, 0x30(r1) /* 802276CC 0022462C F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 802276D0 00224630 BF 61 00 1C */ stmw r27, 0x1c(r1) /* 802276D4 00224634 7C 7B 1B 78 */ mr r27, r3 /* 802276D8 00224638 7C DE 33 78 */ mr r30, r6 /* 802276DC 0022463C C0 26 00 04 */ lfs f1, 4(r6) /* 802276E0 00224640 7C BD 2B 78 */ mr r29, r5 /* 802276E4 00224644 C0 03 00 50 */ lfs f0, 0x50(r3) /* 802276E8 00224648 7C 9C 23 78 */ mr r28, r4 /* 802276EC 0022464C C0 66 00 00 */ lfs f3, 0(r6) /* 802276F0 00224650 3B FD 00 04 */ addi r31, r29, 4 /* 802276F4 00224654 EC 81 00 28 */ fsubs f4, f1, f0 /* 802276F8 00224658 C0 03 00 40 */ lfs f0, 0x40(r3) /* 802276FC 0022465C C0 46 00 08 */ lfs f2, 8(r6) /* 80227700 00224660 EC 63 00 28 */ fsubs f3, f3, f0 /* 80227704 00224664 C0 23 00 60 */ lfs f1, 0x60(r3) /* 80227708 00224668 EC 04 01 32 */ fmuls f0, f4, f4 /* 8022770C 0022466C EC 22 08 28 */ fsubs f1, f2, f1 /* 80227710 00224670 EC 03 00 FA */ fmadds f0, f3, f3, f0 /* 80227714 00224674 EF E1 00 7A */ fmadds f31, f1, f1, f0 /* 80227718 00224678 48 00 00 90 */ b lbl_802277A8 lbl_8022771C: /* 8022771C 0022467C A0 1F 00 00 */ lhz r0, 0(r31) /* 80227720 00224680 7F 83 E3 78 */ mr r3, r28 /* 80227724 00224684 38 81 00 08 */ addi r4, r1, 8 /* 80227728 00224688 B0 01 00 08 */ sth r0, 8(r1) /* 8022772C 0022468C 4B E2 4E 79 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80227730 00224690 7C 64 1B 78 */ mr r4, r3 /* 80227734 00224694 38 61 00 0C */ addi r3, r1, 0xc /* 80227738 00224698 4B E8 53 25 */ bl "__ct__24TCastToPtr<10CPatterned>FP7CEntity" /* 8022773C 0022469C 80 83 00 04 */ lwz r4, 4(r3) /* 80227740 002246A0 28 04 00 00 */ cmplwi r4, 0 /* 80227744 002246A4 41 82 00 60 */ beq lbl_802277A4 /* 80227748 002246A8 A0 64 00 08 */ lhz r3, 8(r4) /* 8022774C 002246AC A0 1B 00 08 */ lhz r0, 8(r27) /* 80227750 002246B0 7C 03 00 40 */ cmplw r3, r0 /* 80227754 002246B4 41 82 00 50 */ beq lbl_802277A4 /* 80227758 002246B8 88 04 03 28 */ lbz r0, 0x328(r4) /* 8022775C 002246BC 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80227760 002246C0 41 82 00 44 */ beq lbl_802277A4 /* 80227764 002246C4 C0 3E 00 04 */ lfs f1, 4(r30) /* 80227768 002246C8 C0 04 00 50 */ lfs f0, 0x50(r4) /* 8022776C 002246CC C0 7E 00 00 */ lfs f3, 0(r30) /* 80227770 002246D0 EC 81 00 28 */ fsubs f4, f1, f0 /* 80227774 002246D4 C0 04 00 40 */ lfs f0, 0x40(r4) /* 80227778 002246D8 C0 5E 00 08 */ lfs f2, 8(r30) /* 8022777C 002246DC EC 63 00 28 */ fsubs f3, f3, f0 /* 80227780 002246E0 C0 24 00 60 */ lfs f1, 0x60(r4) /* 80227784 002246E4 EC 04 01 32 */ fmuls f0, f4, f4 /* 80227788 002246E8 EC 22 08 28 */ fsubs f1, f2, f1 /* 8022778C 002246EC EC 03 00 FA */ fmadds f0, f3, f3, f0 /* 80227790 002246F0 EC 01 00 7A */ fmadds f0, f1, f1, f0 /* 80227794 002246F4 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 80227798 002246F8 40 80 00 0C */ bge lbl_802277A4 /* 8022779C 002246FC 38 60 00 00 */ li r3, 0 /* 802277A0 00224700 48 00 00 24 */ b lbl_802277C4 lbl_802277A4: /* 802277A4 00224704 3B FF 00 02 */ addi r31, r31, 2 lbl_802277A8: /* 802277A8 00224708 80 1D 00 00 */ lwz r0, 0(r29) /* 802277AC 0022470C 54 00 08 3C */ slwi r0, r0, 1 /* 802277B0 00224710 7C 7D 02 14 */ add r3, r29, r0 /* 802277B4 00224714 38 03 00 04 */ addi r0, r3, 4 /* 802277B8 00224718 7C 1F 00 40 */ cmplw r31, r0 /* 802277BC 0022471C 40 82 FF 60 */ bne lbl_8022771C /* 802277C0 00224720 38 60 00 01 */ li r3, 1 lbl_802277C4: /* 802277C4 00224724 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 802277C8 00224728 CB E1 00 30 */ lfd f31, 0x30(r1) /* 802277CC 0022472C BB 61 00 1C */ lmw r27, 0x1c(r1) /* 802277D0 00224730 80 01 00 44 */ lwz r0, 0x44(r1) /* 802277D4 00224734 7C 08 03 A6 */ mtlr r0 /* 802277D8 00224738 38 21 00 40 */ addi r1, r1, 0x40 /* 802277DC 0022473C 4E 80 00 20 */ blr .global sub_802277e0 sub_802277e0: /* 802277E0 00224740 94 21 FF 90 */ stwu r1, -0x70(r1) /* 802277E4 00224744 7C 08 02 A6 */ mflr r0 /* 802277E8 00224748 90 01 00 74 */ stw r0, 0x74(r1) /* 802277EC 0022474C 93 E1 00 6C */ stw r31, 0x6c(r1) /* 802277F0 00224750 7C 9F 23 78 */ mr r31, r4 /* 802277F4 00224754 93 C1 00 68 */ stw r30, 0x68(r1) /* 802277F8 00224758 7C 7E 1B 78 */ mr r30, r3 /* 802277FC 0022475C 93 A1 00 64 */ stw r29, 0x64(r1) /* 80227800 00224760 88 03 09 88 */ lbz r0, 0x988(r3) /* 80227804 00224764 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 80227808 00224768 41 82 02 6C */ beq lbl_80227A74 /* 8022780C 0022476C 80 7E 04 50 */ lwz r3, 0x450(r30) /* 80227810 00224770 88 03 03 00 */ lbz r0, 0x300(r3) /* 80227814 00224774 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 80227818 00224778 40 82 02 5C */ bne lbl_80227A74 /* 8022781C 0022477C C0 5E 07 C4 */ lfs f2, 0x7c4(r30) /* 80227820 00224780 C0 02 B5 C8 */ lfs f0, lbl_805AD2E8@sda21(r2) /* 80227824 00224784 EC 22 08 2A */ fadds f1, f2, f1 /* 80227828 00224788 D0 3E 07 C4 */ stfs f1, 0x7c4(r30) /* 8022782C 0022478C C0 3E 07 C4 */ lfs f1, 0x7c4(r30) /* 80227830 00224790 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80227834 00224794 4C 41 13 82 */ cror 2, 1, 2 /* 80227838 00224798 40 82 02 3C */ bne lbl_80227A74 /* 8022783C 0022479C 80 7E 04 50 */ lwz r3, 0x450(r30) /* 80227840 002247A0 80 03 02 B8 */ lwz r0, 0x2b8(r3) /* 80227844 002247A4 2C 00 00 08 */ cmpwi r0, 8 /* 80227848 002247A8 41 82 00 24 */ beq lbl_8022786C /* 8022784C 002247AC 38 63 02 A4 */ addi r3, r3, 0x2a4 /* 80227850 002247B0 4B F0 C8 29 */ bl GetCurrentState__14CBodyStateInfoCFv /* 80227854 002247B4 81 83 00 00 */ lwz r12, 0(r3) /* 80227858 002247B8 81 8C 00 18 */ lwz r12, 0x18(r12) /* 8022785C 002247BC 7D 89 03 A6 */ mtctr r12 /* 80227860 002247C0 4E 80 04 21 */ bctrl /* 80227864 002247C4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80227868 002247C8 40 82 01 80 */ bne lbl_802279E8 lbl_8022786C: /* 8022786C 002247CC 7F C3 F3 78 */ mr r3, r30 /* 80227870 002247D0 3B A0 00 00 */ li r29, 0 /* 80227874 002247D4 81 9E 00 00 */ lwz r12, 0(r30) /* 80227878 002247D8 81 8C 02 CC */ lwz r12, 0x2cc(r12) /* 8022787C 002247DC 7D 89 03 A6 */ mtctr r12 /* 80227880 002247E0 4E 80 04 21 */ bctrl /* 80227884 002247E4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80227888 002247E8 41 82 00 98 */ beq lbl_80227920 /* 8022788C 002247EC A0 1E 07 70 */ lhz r0, 0x770(r30) /* 80227890 002247F0 7F E3 FB 78 */ mr r3, r31 /* 80227894 002247F4 38 81 00 08 */ addi r4, r1, 8 /* 80227898 002247F8 B0 01 00 08 */ sth r0, 8(r1) /* 8022789C 002247FC 4B E2 4D 09 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 802278A0 00224800 7C 64 1B 78 */ mr r4, r3 /* 802278A4 00224804 38 61 00 0C */ addi r3, r1, 0xc /* 802278A8 00224808 4B E8 7A A5 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 802278AC 0022480C 80 63 00 04 */ lwz r3, 4(r3) /* 802278B0 00224810 28 03 00 00 */ cmplwi r3, 0 /* 802278B4 00224814 41 82 00 6C */ beq lbl_80227920 /* 802278B8 00224818 C0 83 00 60 */ lfs f4, 0x60(r3) /* 802278BC 0022481C C0 DE 00 60 */ lfs f6, 0x60(r30) /* 802278C0 00224820 80 9F 08 4C */ lwz r4, 0x84c(r31) /* 802278C4 00224824 EC 24 30 28 */ fsubs f1, f4, f6 /* 802278C8 00224828 C0 02 B5 BC */ lfs f0, lbl_805AD2DC@sda21(r2) /* 802278CC 0022482C C1 04 00 60 */ lfs f8, 0x60(r4) /* 802278D0 00224830 C0 63 00 50 */ lfs f3, 0x50(r3) /* 802278D4 00224834 EC 00 20 7C */ fnmsubs f0, f0, f1, f4 /* 802278D8 00224838 C0 43 00 40 */ lfs f2, 0x40(r3) /* 802278DC 0022483C C0 BE 00 50 */ lfs f5, 0x50(r30) /* 802278E0 00224840 C0 3E 00 40 */ lfs f1, 0x40(r30) /* 802278E4 00224844 C0 E4 00 50 */ lfs f7, 0x50(r4) /* 802278E8 00224848 FC 08 00 40 */ fcmpo cr0, f8, f0 /* 802278EC 0022484C C0 04 00 40 */ lfs f0, 0x40(r4) /* 802278F0 00224850 D0 41 00 2C */ stfs f2, 0x2c(r1) /* 802278F4 00224854 D0 61 00 30 */ stfs f3, 0x30(r1) /* 802278F8 00224858 D0 81 00 34 */ stfs f4, 0x34(r1) /* 802278FC 0022485C D0 21 00 20 */ stfs f1, 0x20(r1) /* 80227900 00224860 D0 A1 00 24 */ stfs f5, 0x24(r1) /* 80227904 00224864 D0 C1 00 28 */ stfs f6, 0x28(r1) /* 80227908 00224868 D0 01 00 14 */ stfs f0, 0x14(r1) /* 8022790C 0022486C D0 E1 00 18 */ stfs f7, 0x18(r1) /* 80227910 00224870 D1 01 00 1C */ stfs f8, 0x1c(r1) /* 80227914 00224874 4C 41 13 82 */ cror 2, 1, 2 /* 80227918 00224878 7C 00 00 26 */ mfcr r0 /* 8022791C 0022487C 54 1D 1F FE */ rlwinm r29, r0, 3, 0x1f, 0x1f lbl_80227920: /* 80227920 00224880 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 80227924 00224884 3B A0 00 00 */ li r29, 0 /* 80227928 00224888 40 82 00 28 */ bne lbl_80227950 /* 8022792C 0022488C 7F C3 F3 78 */ mr r3, r30 /* 80227930 00224890 7F E4 FB 78 */ mr r4, r31 /* 80227934 00224894 81 9E 00 00 */ lwz r12, 0(r30) /* 80227938 00224898 C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022793C 0022489C 81 8C 01 9C */ lwz r12, 0x19c(r12) /* 80227940 002248A0 7D 89 03 A6 */ mtctr r12 /* 80227944 002248A4 4E 80 04 21 */ bctrl /* 80227948 002248A8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022794C 002248AC 41 82 00 08 */ beq lbl_80227954 lbl_80227950: /* 80227950 002248B0 3B A0 00 01 */ li r29, 1 lbl_80227954: /* 80227954 002248B4 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 80227958 002248B8 38 C0 00 05 */ li r6, 5 /* 8022795C 002248BC 41 82 00 08 */ beq lbl_80227964 /* 80227960 002248C0 38 C0 00 07 */ li r6, 7 lbl_80227964: /* 80227964 002248C4 3C 60 80 3E */ lis r3, lbl_803DAA68@ha /* 80227968 002248C8 C0 02 B5 CC */ lfs f0, lbl_805AD2EC@sda21(r2) /* 8022796C 002248CC 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l /* 80227970 002248D0 80 7E 04 50 */ lwz r3, 0x450(r30) /* 80227974 002248D4 3C 80 80 3E */ lis r4, lbl_803E10C8@ha /* 80227978 002248D8 90 01 00 4C */ stw r0, 0x4c(r1) /* 8022797C 002248DC 38 A4 10 C8 */ addi r5, r4, lbl_803E10C8@l /* 80227980 002248E0 38 80 00 1A */ li r4, 0x1a /* 80227984 002248E4 38 00 00 00 */ li r0, 0 /* 80227988 002248E8 3B A3 00 04 */ addi r29, r3, 4 /* 8022798C 002248EC 90 81 00 50 */ stw r4, 0x50(r1) /* 80227990 002248F0 7F A3 EB 78 */ mr r3, r29 /* 80227994 002248F4 38 80 00 1A */ li r4, 0x1a /* 80227998 002248F8 90 A1 00 4C */ stw r5, 0x4c(r1) /* 8022799C 002248FC D0 01 00 54 */ stfs f0, 0x54(r1) /* 802279A0 00224900 90 C1 00 58 */ stw r6, 0x58(r1) /* 802279A4 00224904 98 01 00 5C */ stb r0, 0x5c(r1) /* 802279A8 00224908 4B F0 9A 91 */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd /* 802279AC 0022490C 80 01 00 50 */ lwz r0, 0x50(r1) /* 802279B0 00224910 3C 60 80 3E */ lis r3, lbl_803E10C8@ha /* 802279B4 00224914 38 83 10 C8 */ addi r4, r3, lbl_803E10C8@l /* 802279B8 00224918 3C 60 80 3E */ lis r3, lbl_803DAA68@ha /* 802279BC 0022491C 90 1D 02 88 */ stw r0, 0x288(r29) /* 802279C0 00224920 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l /* 802279C4 00224924 C0 01 00 54 */ lfs f0, 0x54(r1) /* 802279C8 00224928 80 A1 00 58 */ lwz r5, 0x58(r1) /* 802279CC 0022492C D0 1D 02 8C */ stfs f0, 0x28c(r29) /* 802279D0 00224930 88 61 00 5C */ lbz r3, 0x5c(r1) /* 802279D4 00224934 90 BD 02 90 */ stw r5, 0x290(r29) /* 802279D8 00224938 90 81 00 4C */ stw r4, 0x4c(r1) /* 802279DC 0022493C 98 7D 02 94 */ stb r3, 0x294(r29) /* 802279E0 00224940 90 01 00 4C */ stw r0, 0x4c(r1) /* 802279E4 00224944 48 00 00 88 */ b lbl_80227A6C lbl_802279E8: /* 802279E8 00224948 3C 60 80 3E */ lis r3, lbl_803DAA68@ha /* 802279EC 0022494C C0 02 B5 CC */ lfs f0, lbl_805AD2EC@sda21(r2) /* 802279F0 00224950 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l /* 802279F4 00224954 80 7E 04 50 */ lwz r3, 0x450(r30) /* 802279F8 00224958 3C 80 80 3E */ lis r4, lbl_803E10C8@ha /* 802279FC 0022495C 90 01 00 38 */ stw r0, 0x38(r1) /* 80227A00 00224960 38 C4 10 C8 */ addi r6, r4, lbl_803E10C8@l /* 80227A04 00224964 38 80 00 1A */ li r4, 0x1a /* 80227A08 00224968 38 A0 00 06 */ li r5, 6 /* 80227A0C 0022496C 38 00 00 00 */ li r0, 0 /* 80227A10 00224970 3B A3 00 04 */ addi r29, r3, 4 /* 80227A14 00224974 90 81 00 3C */ stw r4, 0x3c(r1) /* 80227A18 00224978 7F A3 EB 78 */ mr r3, r29 /* 80227A1C 0022497C 38 80 00 1A */ li r4, 0x1a /* 80227A20 00224980 90 C1 00 38 */ stw r6, 0x38(r1) /* 80227A24 00224984 D0 01 00 40 */ stfs f0, 0x40(r1) /* 80227A28 00224988 90 A1 00 44 */ stw r5, 0x44(r1) /* 80227A2C 0022498C 98 01 00 48 */ stb r0, 0x48(r1) /* 80227A30 00224990 4B F0 9A 09 */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd /* 80227A34 00224994 80 01 00 3C */ lwz r0, 0x3c(r1) /* 80227A38 00224998 3C 60 80 3E */ lis r3, lbl_803E10C8@ha /* 80227A3C 0022499C 38 83 10 C8 */ addi r4, r3, lbl_803E10C8@l /* 80227A40 002249A0 3C 60 80 3E */ lis r3, lbl_803DAA68@ha /* 80227A44 002249A4 90 1D 02 88 */ stw r0, 0x288(r29) /* 80227A48 002249A8 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l /* 80227A4C 002249AC C0 01 00 40 */ lfs f0, 0x40(r1) /* 80227A50 002249B0 80 A1 00 44 */ lwz r5, 0x44(r1) /* 80227A54 002249B4 D0 1D 02 8C */ stfs f0, 0x28c(r29) /* 80227A58 002249B8 88 61 00 48 */ lbz r3, 0x48(r1) /* 80227A5C 002249BC 90 BD 02 90 */ stw r5, 0x290(r29) /* 80227A60 002249C0 90 81 00 38 */ stw r4, 0x38(r1) /* 80227A64 002249C4 98 7D 02 94 */ stb r3, 0x294(r29) /* 80227A68 002249C8 90 01 00 38 */ stw r0, 0x38(r1) lbl_80227A6C: /* 80227A6C 002249CC C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 80227A70 002249D0 D0 1E 07 C4 */ stfs f0, 0x7c4(r30) lbl_80227A74: /* 80227A74 002249D4 80 01 00 74 */ lwz r0, 0x74(r1) /* 80227A78 002249D8 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 80227A7C 002249DC 83 C1 00 68 */ lwz r30, 0x68(r1) /* 80227A80 002249E0 83 A1 00 64 */ lwz r29, 0x64(r1) /* 80227A84 002249E4 7C 08 03 A6 */ mtlr r0 /* 80227A88 002249E8 38 21 00 70 */ addi r1, r1, 0x70 /* 80227A8C 002249EC 4E 80 00 20 */ blr .global sub_80227a90 sub_80227a90: /* 80227A90 002249F0 94 21 ED 30 */ stwu r1, -0x12d0(r1) /* 80227A94 002249F4 7C 08 02 A6 */ mflr r0 /* 80227A98 002249F8 90 01 12 D4 */ stw r0, 0x12d4(r1) /* 80227A9C 002249FC 38 00 12 C8 */ li r0, 0x12c8 /* 80227AA0 00224A00 DB E1 12 C0 */ stfd f31, 0x12c0(r1) /* 80227AA4 00224A04 13 E1 00 0E */ psq_stx f31, r1, r0, 0, qr0 /* 80227AA8 00224A08 38 00 12 B8 */ li r0, 0x12b8 /* 80227AAC 00224A0C DB C1 12 B0 */ stfd f30, 0x12b0(r1) /* 80227AB0 00224A10 13 C1 00 0E */ psq_stx f30, r1, r0, 0, qr0 /* 80227AB4 00224A14 38 00 12 A8 */ li r0, 0x12a8 /* 80227AB8 00224A18 DB A1 12 A0 */ stfd f29, 0x12a0(r1) /* 80227ABC 00224A1C 13 A1 00 0E */ psq_stx f29, r1, r0, 0, qr0 /* 80227AC0 00224A20 38 00 12 98 */ li r0, 0x1298 /* 80227AC4 00224A24 DB 81 12 90 */ stfd f28, 0x1290(r1) /* 80227AC8 00224A28 13 81 00 0E */ psq_stx f28, r1, r0, 0, qr0 /* 80227ACC 00224A2C 38 00 12 88 */ li r0, 0x1288 /* 80227AD0 00224A30 DB 61 12 80 */ stfd f27, 0x1280(r1) /* 80227AD4 00224A34 13 61 00 0E */ psq_stx f27, r1, r0, 0, qr0 /* 80227AD8 00224A38 38 00 12 78 */ li r0, 0x1278 /* 80227ADC 00224A3C DB 41 12 70 */ stfd f26, 0x1270(r1) /* 80227AE0 00224A40 13 41 00 0E */ psq_stx f26, r1, r0, 0, qr0 /* 80227AE4 00224A44 BF 41 12 58 */ stmw r26, 0x1258(r1) /* 80227AE8 00224A48 88 03 04 00 */ lbz r0, 0x400(r3) /* 80227AEC 00224A4C 7C 7C 1B 78 */ mr r28, r3 /* 80227AF0 00224A50 7C 9D 23 78 */ mr r29, r4 /* 80227AF4 00224A54 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 80227AF8 00224A58 41 82 06 84 */ beq lbl_8022817C /* 80227AFC 00224A5C A0 1C 07 9C */ lhz r0, 0x79c(r28) /* 80227B00 00224A60 7F A3 EB 78 */ mr r3, r29 /* 80227B04 00224A64 38 81 00 0C */ addi r4, r1, 0xc /* 80227B08 00224A68 B0 01 00 0C */ sth r0, 0xc(r1) /* 80227B0C 00224A6C 4B E2 4A 99 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 80227B10 00224A70 7C 64 1B 78 */ mr r4, r3 /* 80227B14 00224A74 38 61 00 10 */ addi r3, r1, 0x10 /* 80227B18 00224A78 4B E8 78 35 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 80227B1C 00224A7C 80 A3 00 04 */ lwz r5, 4(r3) /* 80227B20 00224A80 28 05 00 00 */ cmplwi r5, 0 /* 80227B24 00224A84 41 82 06 58 */ beq lbl_8022817C /* 80227B28 00224A88 C0 45 00 60 */ lfs f2, 0x60(r5) /* 80227B2C 00224A8C 38 61 01 D0 */ addi r3, r1, 0x1d0 /* 80227B30 00224A90 C0 25 00 50 */ lfs f1, 0x50(r5) /* 80227B34 00224A94 38 81 01 04 */ addi r4, r1, 0x104 /* 80227B38 00224A98 C0 05 00 40 */ lfs f0, 0x40(r5) /* 80227B3C 00224A9C 38 A1 00 F8 */ addi r5, r1, 0xf8 /* 80227B40 00224AA0 D0 01 01 4C */ stfs f0, 0x14c(r1) /* 80227B44 00224AA4 D0 21 01 50 */ stfs f1, 0x150(r1) /* 80227B48 00224AA8 D0 41 01 54 */ stfs f2, 0x154(r1) /* 80227B4C 00224AAC C0 7C 05 F4 */ lfs f3, 0x5f4(r28) /* 80227B50 00224AB0 C0 5C 00 60 */ lfs f2, 0x60(r28) /* 80227B54 00224AB4 C0 3C 00 50 */ lfs f1, 0x50(r28) /* 80227B58 00224AB8 C0 1C 00 40 */ lfs f0, 0x40(r28) /* 80227B5C 00224ABC EF E2 18 2A */ fadds f31, f2, f3 /* 80227B60 00224AC0 EF C1 18 2A */ fadds f30, f1, f3 /* 80227B64 00224AC4 EF A0 18 2A */ fadds f29, f0, f3 /* 80227B68 00224AC8 EF 80 18 28 */ fsubs f28, f0, f3 /* 80227B6C 00224ACC D3 E1 01 00 */ stfs f31, 0x100(r1) /* 80227B70 00224AD0 EF 61 18 28 */ fsubs f27, f1, f3 /* 80227B74 00224AD4 EF 42 18 28 */ fsubs f26, f2, f3 /* 80227B78 00224AD8 D3 A1 00 F8 */ stfs f29, 0xf8(r1) /* 80227B7C 00224ADC D3 C1 00 FC */ stfs f30, 0xfc(r1) /* 80227B80 00224AE0 D3 81 01 04 */ stfs f28, 0x104(r1) /* 80227B84 00224AE4 D3 61 01 08 */ stfs f27, 0x108(r1) /* 80227B88 00224AE8 D3 41 01 0C */ stfs f26, 0x10c(r1) /* 80227B8C 00224AEC 48 11 09 7D */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f /* 80227B90 00224AF0 80 AD 95 B0 */ lwz r5, lbl_805A8170@sda21(r13) /* 80227B94 00224AF4 38 60 00 00 */ li r3, 0 /* 80227B98 00224AF8 38 80 00 01 */ li r4, 1 /* 80227B9C 00224AFC 48 16 23 59 */ bl __shl2i /* 80227BA0 00224B00 38 00 00 00 */ li r0, 0 /* 80227BA4 00224B04 39 00 00 01 */ li r8, 1 /* 80227BA8 00224B08 90 81 01 BC */ stw r4, 0x1bc(r1) /* 80227BAC 00224B0C 38 81 0A 4C */ addi r4, r1, 0xa4c /* 80227BB0 00224B10 38 A1 01 D0 */ addi r5, r1, 0x1d0 /* 80227BB4 00224B14 38 C1 01 B8 */ addi r6, r1, 0x1b8 /* 80227BB8 00224B18 90 61 01 B8 */ stw r3, 0x1b8(r1) /* 80227BBC 00224B1C 7F A3 EB 78 */ mr r3, r29 /* 80227BC0 00224B20 38 E0 00 00 */ li r7, 0 /* 80227BC4 00224B24 91 01 01 80 */ stw r8, 0x180(r1) /* 80227BC8 00224B28 90 01 01 C4 */ stw r0, 0x1c4(r1) /* 80227BCC 00224B2C 90 01 01 C0 */ stw r0, 0x1c0(r1) /* 80227BD0 00224B30 91 01 01 C8 */ stw r8, 0x1c8(r1) /* 80227BD4 00224B34 90 01 0A 4C */ stw r0, 0xa4c(r1) /* 80227BD8 00224B38 4B E2 4B 49 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor" /* 80227BDC 00224B3C 80 01 0A 4C */ lwz r0, 0xa4c(r1) /* 80227BE0 00224B40 2C 00 00 00 */ cmpwi r0, 0 /* 80227BE4 00224B44 41 82 05 44 */ beq lbl_80228128 /* 80227BE8 00224B48 D3 A1 00 E0 */ stfs f29, 0xe0(r1) /* 80227BEC 00224B4C 38 61 01 A0 */ addi r3, r1, 0x1a0 /* 80227BF0 00224B50 38 81 00 EC */ addi r4, r1, 0xec /* 80227BF4 00224B54 38 A1 00 E0 */ addi r5, r1, 0xe0 /* 80227BF8 00224B58 D3 C1 00 E4 */ stfs f30, 0xe4(r1) /* 80227BFC 00224B5C D3 E1 00 E8 */ stfs f31, 0xe8(r1) /* 80227C00 00224B60 D3 81 00 EC */ stfs f28, 0xec(r1) /* 80227C04 00224B64 D3 61 00 F0 */ stfs f27, 0xf0(r1) /* 80227C08 00224B68 D3 41 00 F4 */ stfs f26, 0xf4(r1) /* 80227C0C 00224B6C 48 11 08 FD */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f /* 80227C10 00224B70 80 AD 95 B4 */ lwz r5, lbl_805A8174@sda21(r13) /* 80227C14 00224B74 38 60 00 00 */ li r3, 0 /* 80227C18 00224B78 38 80 00 01 */ li r4, 1 /* 80227C1C 00224B7C 48 16 22 D9 */ bl __shl2i /* 80227C20 00224B80 38 00 00 00 */ li r0, 0 /* 80227C24 00224B84 39 00 00 01 */ li r8, 1 /* 80227C28 00224B88 90 81 01 8C */ stw r4, 0x18c(r1) /* 80227C2C 00224B8C 38 81 02 48 */ addi r4, r1, 0x248 /* 80227C30 00224B90 38 A1 01 A0 */ addi r5, r1, 0x1a0 /* 80227C34 00224B94 38 C1 01 88 */ addi r6, r1, 0x188 /* 80227C38 00224B98 90 61 01 88 */ stw r3, 0x188(r1) /* 80227C3C 00224B9C 7F A3 EB 78 */ mr r3, r29 /* 80227C40 00224BA0 38 E0 00 00 */ li r7, 0 /* 80227C44 00224BA4 91 01 01 68 */ stw r8, 0x168(r1) /* 80227C48 00224BA8 90 01 01 94 */ stw r0, 0x194(r1) /* 80227C4C 00224BAC 90 01 01 90 */ stw r0, 0x190(r1) /* 80227C50 00224BB0 91 01 01 98 */ stw r8, 0x198(r1) /* 80227C54 00224BB4 90 01 02 48 */ stw r0, 0x248(r1) /* 80227C58 00224BB8 4B E2 4A C9 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor" /* 80227C5C 00224BBC 3B E1 0A 50 */ addi r31, r1, 0xa50 /* 80227C60 00224BC0 7F FE FB 78 */ mr r30, r31 /* 80227C64 00224BC4 48 00 04 5C */ b lbl_802280C0 lbl_80227C68: /* 80227C68 00224BC8 A0 1E 00 00 */ lhz r0, 0(r30) /* 80227C6C 00224BCC 7F A3 EB 78 */ mr r3, r29 /* 80227C70 00224BD0 38 81 00 08 */ addi r4, r1, 8 /* 80227C74 00224BD4 B0 01 00 08 */ sth r0, 8(r1) /* 80227C78 00224BD8 4B E2 48 FD */ bl ObjectById__13CStateManagerF9TUniqueId /* 80227C7C 00224BDC 7C 64 1B 78 */ mr r4, r3 /* 80227C80 00224BE0 38 61 00 18 */ addi r3, r1, 0x18 /* 80227C84 00224BE4 4B E8 5A 89 */ bl "__ct__29TCastToPtr<15CGameProjectile>FP7CEntity" /* 80227C88 00224BE8 83 43 00 04 */ lwz r26, 4(r3) /* 80227C8C 00224BEC 28 1A 00 00 */ cmplwi r26, 0 /* 80227C90 00224BF0 41 82 04 2C */ beq lbl_802280BC /* 80227C94 00224BF4 80 1A 00 F0 */ lwz r0, 0xf0(r26) /* 80227C98 00224BF8 2C 00 00 06 */ cmpwi r0, 6 /* 80227C9C 00224BFC 41 82 04 20 */ beq lbl_802280BC /* 80227CA0 00224C00 80 7D 08 4C */ lwz r3, 0x84c(r29) /* 80227CA4 00224C04 A0 9A 00 EC */ lhz r4, 0xec(r26) /* 80227CA8 00224C08 A0 03 00 08 */ lhz r0, 8(r3) /* 80227CAC 00224C0C 7C 04 00 40 */ cmplw r4, r0 /* 80227CB0 00224C10 40 82 04 0C */ bne lbl_802280BC /* 80227CB4 00224C14 80 7A 00 04 */ lwz r3, 4(r26) /* 80227CB8 00224C18 80 1C 00 04 */ lwz r0, 4(r28) /* 80227CBC 00224C1C 7C 03 00 00 */ cmpw r3, r0 /* 80227CC0 00224C20 40 82 03 FC */ bne lbl_802280BC /* 80227CC4 00224C24 C0 01 01 50 */ lfs f0, 0x150(r1) /* 80227CC8 00224C28 C0 DA 00 50 */ lfs f6, 0x50(r26) /* 80227CCC 00224C2C C0 21 01 54 */ lfs f1, 0x154(r1) /* 80227CD0 00224C30 C0 BA 00 60 */ lfs f5, 0x60(r26) /* 80227CD4 00224C34 ED 00 30 28 */ fsubs f8, f0, f6 /* 80227CD8 00224C38 C0 9A 00 40 */ lfs f4, 0x40(r26) /* 80227CDC 00224C3C C0 01 01 4C */ lfs f0, 0x14c(r1) /* 80227CE0 00224C40 EC E1 28 28 */ fsubs f7, f1, f5 /* 80227CE4 00224C44 D1 01 01 44 */ stfs f8, 0x144(r1) /* 80227CE8 00224C48 EC 60 20 28 */ fsubs f3, f0, f4 /* 80227CEC 00224C4C C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 80227CF0 00224C50 D0 E1 01 48 */ stfs f7, 0x148(r1) /* 80227CF4 00224C54 D0 61 01 40 */ stfs f3, 0x140(r1) /* 80227CF8 00224C58 C1 3C 00 48 */ lfs f9, 0x48(r28) /* 80227CFC 00224C5C C0 5C 00 38 */ lfs f2, 0x38(r28) /* 80227D00 00224C60 EC 29 02 32 */ fmuls f1, f9, f8 /* 80227D04 00224C64 C1 1C 00 58 */ lfs f8, 0x58(r28) /* 80227D08 00224C68 D0 41 00 D4 */ stfs f2, 0xd4(r1) /* 80227D0C 00224C6C EC 22 08 FA */ fmadds f1, f2, f3, f1 /* 80227D10 00224C70 D1 21 00 D8 */ stfs f9, 0xd8(r1) /* 80227D14 00224C74 D1 01 00 DC */ stfs f8, 0xdc(r1) /* 80227D18 00224C78 EC 28 09 FA */ fmadds f1, f8, f7, f1 /* 80227D1C 00224C7C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80227D20 00224C80 40 80 03 8C */ bge lbl_802280AC /* 80227D24 00224C84 C0 5A 02 9C */ lfs f2, 0x29c(r26) /* 80227D28 00224C88 38 61 00 C8 */ addi r3, r1, 0xc8 /* 80227D2C 00224C8C C0 3A 02 A0 */ lfs f1, 0x2a0(r26) /* 80227D30 00224C90 C0 1A 02 98 */ lfs f0, 0x298(r26) /* 80227D34 00224C94 EC 46 10 28 */ fsubs f2, f6, f2 /* 80227D38 00224C98 EC 25 08 28 */ fsubs f1, f5, f1 /* 80227D3C 00224C9C EC 04 00 28 */ fsubs f0, f4, f0 /* 80227D40 00224CA0 D0 41 00 CC */ stfs f2, 0xcc(r1) /* 80227D44 00224CA4 D0 01 00 C8 */ stfs f0, 0xc8(r1) /* 80227D48 00224CA8 D0 21 00 D0 */ stfs f1, 0xd0(r1) /* 80227D4C 00224CAC 48 0E C9 AD */ bl CanBeNormalized__9CVector3fCFv /* 80227D50 00224CB0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80227D54 00224CB4 41 82 03 58 */ beq lbl_802280AC /* 80227D58 00224CB8 C0 5A 00 60 */ lfs f2, 0x60(r26) /* 80227D5C 00224CBC 7F 83 E3 78 */ mr r3, r28 /* 80227D60 00224CC0 C0 3A 00 50 */ lfs f1, 0x50(r26) /* 80227D64 00224CC4 7F A4 EB 78 */ mr r4, r29 /* 80227D68 00224CC8 C0 1A 00 40 */ lfs f0, 0x40(r26) /* 80227D6C 00224CCC 38 A1 02 48 */ addi r5, r1, 0x248 /* 80227D70 00224CD0 38 C1 00 BC */ addi r6, r1, 0xbc /* 80227D74 00224CD4 D0 01 00 BC */ stfs f0, 0xbc(r1) /* 80227D78 00224CD8 D0 21 00 C0 */ stfs f1, 0xc0(r1) /* 80227D7C 00224CDC D0 41 00 C4 */ stfs f2, 0xc4(r1) /* 80227D80 00224CE0 4B FF F9 3D */ bl sub_802276bc /* 80227D84 00224CE4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80227D88 00224CE8 41 82 03 24 */ beq lbl_802280AC /* 80227D8C 00224CEC 38 61 01 40 */ addi r3, r1, 0x140 /* 80227D90 00224CF0 48 0E CB 29 */ bl Magnitude__9CVector3fCFv /* 80227D94 00224CF4 C0 9A 00 50 */ lfs f4, 0x50(r26) /* 80227D98 00224CF8 FF E0 08 90 */ fmr f31, f1 /* 80227D9C 00224CFC C0 1A 02 9C */ lfs f0, 0x29c(r26) /* 80227DA0 00224D00 38 61 00 B0 */ addi r3, r1, 0xb0 /* 80227DA4 00224D04 C0 7A 00 60 */ lfs f3, 0x60(r26) /* 80227DA8 00224D08 38 81 00 A4 */ addi r4, r1, 0xa4 /* 80227DAC 00224D0C C0 5A 02 A0 */ lfs f2, 0x2a0(r26) /* 80227DB0 00224D10 C0 3A 00 40 */ lfs f1, 0x40(r26) /* 80227DB4 00224D14 EC 84 00 28 */ fsubs f4, f4, f0 /* 80227DB8 00224D18 C0 1A 02 98 */ lfs f0, 0x298(r26) /* 80227DBC 00224D1C EC 43 10 28 */ fsubs f2, f3, f2 /* 80227DC0 00224D20 EC 01 00 28 */ fsubs f0, f1, f0 /* 80227DC4 00224D24 D0 81 00 A8 */ stfs f4, 0xa8(r1) /* 80227DC8 00224D28 D0 41 00 AC */ stfs f2, 0xac(r1) /* 80227DCC 00224D2C D0 01 00 A4 */ stfs f0, 0xa4(r1) /* 80227DD0 00224D30 48 0E CA 81 */ bl AsNormalized__9CVector3fCFv /* 80227DD4 00224D34 C0 02 B5 BC */ lfs f0, lbl_805AD2DC@sda21(r2) /* 80227DD8 00224D38 3B 7A 01 70 */ addi r27, r26, 0x170 /* 80227DDC 00224D3C C0 42 B5 D0 */ lfs f2, lbl_805AD2F0@sda21(r2) /* 80227DE0 00224D40 38 61 00 98 */ addi r3, r1, 0x98 /* 80227DE4 00224D44 ED 20 07 F2 */ fmuls f9, f0, f31 /* 80227DE8 00224D48 C0 81 00 B0 */ lfs f4, 0xb0(r1) /* 80227DEC 00224D4C EC 22 07 F2 */ fmuls f1, f2, f31 /* 80227DF0 00224D50 C0 61 00 B4 */ lfs f3, 0xb4(r1) /* 80227DF4 00224D54 C0 01 00 B8 */ lfs f0, 0xb8(r1) /* 80227DF8 00224D58 38 81 00 8C */ addi r4, r1, 0x8c /* 80227DFC 00224D5C EC A9 01 32 */ fmuls f5, f9, f4 /* 80227E00 00224D60 C0 DA 00 40 */ lfs f6, 0x40(r26) /* 80227E04 00224D64 EC 69 00 F2 */ fmuls f3, f9, f3 /* 80227E08 00224D68 C1 1A 00 50 */ lfs f8, 0x50(r26) /* 80227E0C 00224D6C C0 FA 00 60 */ lfs f7, 0x60(r26) /* 80227E10 00224D70 EC 09 00 32 */ fmuls f0, f9, f0 /* 80227E14 00224D74 ED 48 18 2A */ fadds f10, f8, f3 /* 80227E18 00224D78 C0 61 01 50 */ lfs f3, 0x150(r1) /* 80227E1C 00224D7C C0 82 B5 B8 */ lfs f4, lbl_805AD2D8@sda21(r2) /* 80227E20 00224D80 ED 27 00 2A */ fadds f9, f7, f0 /* 80227E24 00224D84 C0 01 01 4C */ lfs f0, 0x14c(r1) /* 80227E28 00224D88 EC A6 28 2A */ fadds f5, f6, f5 /* 80227E2C 00224D8C ED 63 20 2A */ fadds f11, f3, f4 /* 80227E30 00224D90 C0 61 01 54 */ lfs f3, 0x154(r1) /* 80227E34 00224D94 EC 42 00 72 */ fmuls f2, f2, f1 /* 80227E38 00224D98 D0 A1 01 34 */ stfs f5, 0x134(r1) /* 80227E3C 00224D9C EC 00 20 2A */ fadds f0, f0, f4 /* 80227E40 00224DA0 C0 22 B5 D4 */ lfs f1, lbl_805AD2F4@sda21(r2) /* 80227E44 00224DA4 EC 43 10 2A */ fadds f2, f3, f2 /* 80227E48 00224DA8 D1 41 01 38 */ stfs f10, 0x138(r1) /* 80227E4C 00224DAC 38 A1 01 34 */ addi r5, r1, 0x134 /* 80227E50 00224DB0 38 C1 01 28 */ addi r6, r1, 0x128 /* 80227E54 00224DB4 D1 21 01 3C */ stfs f9, 0x13c(r1) /* 80227E58 00224DB8 38 E1 01 4C */ addi r7, r1, 0x14c /* 80227E5C 00224DBC D0 01 01 28 */ stfs f0, 0x128(r1) /* 80227E60 00224DC0 D1 61 01 2C */ stfs f11, 0x12c(r1) /* 80227E64 00224DC4 D0 41 01 30 */ stfs f2, 0x130(r1) /* 80227E68 00224DC8 D0 C1 00 8C */ stfs f6, 0x8c(r1) /* 80227E6C 00224DCC D1 01 00 90 */ stfs f8, 0x90(r1) /* 80227E70 00224DD0 D0 E1 00 94 */ stfs f7, 0x94(r1) /* 80227E74 00224DD4 48 0E D0 A5 */ bl GetBezierPoint__5CMathFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3ff /* 80227E78 00224DD8 C0 5A 00 60 */ lfs f2, 0x60(r26) /* 80227E7C 00224DDC 38 61 00 80 */ addi r3, r1, 0x80 /* 80227E80 00224DE0 C0 3A 00 50 */ lfs f1, 0x50(r26) /* 80227E84 00224DE4 38 81 00 74 */ addi r4, r1, 0x74 /* 80227E88 00224DE8 C0 1A 00 40 */ lfs f0, 0x40(r26) /* 80227E8C 00224DEC 38 A1 01 34 */ addi r5, r1, 0x134 /* 80227E90 00224DF0 C3 E1 00 98 */ lfs f31, 0x98(r1) /* 80227E94 00224DF4 38 C1 01 28 */ addi r6, r1, 0x128 /* 80227E98 00224DF8 D0 01 00 74 */ stfs f0, 0x74(r1) /* 80227E9C 00224DFC 38 E1 01 4C */ addi r7, r1, 0x14c /* 80227EA0 00224E00 C3 A1 00 9C */ lfs f29, 0x9c(r1) /* 80227EA4 00224E04 D0 21 00 78 */ stfs f1, 0x78(r1) /* 80227EA8 00224E08 C3 C1 00 A0 */ lfs f30, 0xa0(r1) /* 80227EAC 00224E0C D0 41 00 7C */ stfs f2, 0x7c(r1) /* 80227EB0 00224E10 C0 22 B5 D8 */ lfs f1, lbl_805AD2F8@sda21(r2) /* 80227EB4 00224E14 48 0E D0 65 */ bl GetBezierPoint__5CMathFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3ff /* 80227EB8 00224E18 C0 C1 00 84 */ lfs f6, 0x84(r1) /* 80227EBC 00224E1C 38 61 00 50 */ addi r3, r1, 0x50 /* 80227EC0 00224E20 C0 E1 00 88 */ lfs f7, 0x88(r1) /* 80227EC4 00224E24 C0 A1 00 80 */ lfs f5, 0x80(r1) /* 80227EC8 00224E28 EC 06 E8 28 */ fsubs f0, f6, f29 /* 80227ECC 00224E2C EC 67 F0 28 */ fsubs f3, f7, f30 /* 80227ED0 00224E30 C0 41 01 50 */ lfs f2, 0x150(r1) /* 80227ED4 00224E34 EC 85 F8 28 */ fsubs f4, f5, f31 /* 80227ED8 00224E38 C0 21 01 54 */ lfs f1, 0x154(r1) /* 80227EDC 00224E3C D0 01 00 54 */ stfs f0, 0x54(r1) /* 80227EE0 00224E40 C0 01 01 4C */ lfs f0, 0x14c(r1) /* 80227EE4 00224E44 D0 81 00 50 */ stfs f4, 0x50(r1) /* 80227EE8 00224E48 EC C2 30 28 */ fsubs f6, f2, f6 /* 80227EEC 00224E4C EC 81 38 28 */ fsubs f4, f1, f7 /* 80227EF0 00224E50 D0 61 00 58 */ stfs f3, 0x58(r1) /* 80227EF4 00224E54 EC 00 28 28 */ fsubs f0, f0, f5 /* 80227EF8 00224E58 C0 7A 00 50 */ lfs f3, 0x50(r26) /* 80227EFC 00224E5C C0 5A 00 60 */ lfs f2, 0x60(r26) /* 80227F00 00224E60 C0 3A 00 40 */ lfs f1, 0x40(r26) /* 80227F04 00224E64 EC 7D 18 28 */ fsubs f3, f29, f3 /* 80227F08 00224E68 EC 5E 10 28 */ fsubs f2, f30, f2 /* 80227F0C 00224E6C EC 3F 08 28 */ fsubs f1, f31, f1 /* 80227F10 00224E70 D0 01 00 68 */ stfs f0, 0x68(r1) /* 80227F14 00224E74 D0 61 00 60 */ stfs f3, 0x60(r1) /* 80227F18 00224E78 D0 21 00 5C */ stfs f1, 0x5c(r1) /* 80227F1C 00224E7C D0 41 00 64 */ stfs f2, 0x64(r1) /* 80227F20 00224E80 D0 C1 00 6C */ stfs f6, 0x6c(r1) /* 80227F24 00224E84 D0 81 00 70 */ stfs f4, 0x70(r1) /* 80227F28 00224E88 48 0E C9 91 */ bl Magnitude__9CVector3fCFv /* 80227F2C 00224E8C FF E0 08 90 */ fmr f31, f1 /* 80227F30 00224E90 38 61 00 5C */ addi r3, r1, 0x5c /* 80227F34 00224E94 48 0E C9 85 */ bl Magnitude__9CVector3fCFv /* 80227F38 00224E98 EF E1 F8 2A */ fadds f31, f1, f31 /* 80227F3C 00224E9C 38 61 00 68 */ addi r3, r1, 0x68 /* 80227F40 00224EA0 48 0E C9 79 */ bl Magnitude__9CVector3fCFv /* 80227F44 00224EA4 C0 9A 00 50 */ lfs f4, 0x50(r26) /* 80227F48 00224EA8 EF 41 F8 2A */ fadds f26, f1, f31 /* 80227F4C 00224EAC C0 1A 02 9C */ lfs f0, 0x29c(r26) /* 80227F50 00224EB0 38 61 00 44 */ addi r3, r1, 0x44 /* 80227F54 00224EB4 C0 7A 00 60 */ lfs f3, 0x60(r26) /* 80227F58 00224EB8 C0 5A 02 A0 */ lfs f2, 0x2a0(r26) /* 80227F5C 00224EBC EC 84 00 28 */ fsubs f4, f4, f0 /* 80227F60 00224EC0 C0 3A 00 40 */ lfs f1, 0x40(r26) /* 80227F64 00224EC4 C0 1A 02 98 */ lfs f0, 0x298(r26) /* 80227F68 00224EC8 EC 43 10 28 */ fsubs f2, f3, f2 /* 80227F6C 00224ECC EC 01 00 28 */ fsubs f0, f1, f0 /* 80227F70 00224ED0 D0 81 00 48 */ stfs f4, 0x48(r1) /* 80227F74 00224ED4 D0 41 00 4C */ stfs f2, 0x4c(r1) /* 80227F78 00224ED8 D0 01 00 44 */ stfs f0, 0x44(r1) /* 80227F7C 00224EDC 48 0E C9 3D */ bl Magnitude__9CVector3fCFv /* 80227F80 00224EE0 EC 21 D0 24 */ fdivs f1, f1, f26 /* 80227F84 00224EE4 C0 7A 00 60 */ lfs f3, 0x60(r26) /* 80227F88 00224EE8 C0 5A 00 50 */ lfs f2, 0x50(r26) /* 80227F8C 00224EEC 38 61 00 38 */ addi r3, r1, 0x38 /* 80227F90 00224EF0 C0 1A 00 40 */ lfs f0, 0x40(r26) /* 80227F94 00224EF4 38 81 00 2C */ addi r4, r1, 0x2c /* 80227F98 00224EF8 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 80227F9C 00224EFC 38 A1 01 34 */ addi r5, r1, 0x134 /* 80227FA0 00224F00 38 C1 01 28 */ addi r6, r1, 0x128 /* 80227FA4 00224F04 38 E1 01 4C */ addi r7, r1, 0x14c /* 80227FA8 00224F08 D0 41 00 30 */ stfs f2, 0x30(r1) /* 80227FAC 00224F0C D0 61 00 34 */ stfs f3, 0x34(r1) /* 80227FB0 00224F10 48 0E CF 69 */ bl GetBezierPoint__5CMathFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3ff /* 80227FB4 00224F14 C0 21 00 3C */ lfs f1, 0x3c(r1) /* 80227FB8 00224F18 38 61 01 1C */ addi r3, r1, 0x11c /* 80227FBC 00224F1C C0 1A 00 50 */ lfs f0, 0x50(r26) /* 80227FC0 00224F20 C0 61 00 40 */ lfs f3, 0x40(r1) /* 80227FC4 00224F24 C0 5A 00 60 */ lfs f2, 0x60(r26) /* 80227FC8 00224F28 EC 81 00 28 */ fsubs f4, f1, f0 /* 80227FCC 00224F2C C0 1A 00 40 */ lfs f0, 0x40(r26) /* 80227FD0 00224F30 C0 21 00 38 */ lfs f1, 0x38(r1) /* 80227FD4 00224F34 EC 43 10 28 */ fsubs f2, f3, f2 /* 80227FD8 00224F38 D0 81 01 20 */ stfs f4, 0x120(r1) /* 80227FDC 00224F3C EC 01 00 28 */ fsubs f0, f1, f0 /* 80227FE0 00224F40 D0 41 01 24 */ stfs f2, 0x124(r1) /* 80227FE4 00224F44 D0 01 01 1C */ stfs f0, 0x11c(r1) /* 80227FE8 00224F48 48 0E C7 11 */ bl CanBeNormalized__9CVector3fCFv /* 80227FEC 00224F4C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80227FF0 00224F50 41 82 00 BC */ beq lbl_802280AC /* 80227FF4 00224F54 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 80227FF8 00224F58 3C A0 80 5A */ lis r5, sUpVector__9CVector3f@ha /* 80227FFC 00224F5C 38 83 66 A0 */ addi r4, r3, sZeroVector__9CVector3f@l /* 80228000 00224F60 38 C5 66 F4 */ addi r6, r5, sUpVector__9CVector3f@l /* 80228004 00224F64 38 61 01 E8 */ addi r3, r1, 0x1e8 /* 80228008 00224F68 38 A1 01 1C */ addi r5, r1, 0x11c /* 8022800C 00224F6C 48 0E BB 05 */ bl LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f /* 80228010 00224F70 38 61 02 18 */ addi r3, r1, 0x218 /* 80228014 00224F74 38 81 01 E8 */ addi r4, r1, 0x1e8 /* 80228018 00224F78 48 0E AB 5D */ bl __ct__12CTransform4fFRC12CTransform4f /* 8022801C 00224F7C 38 61 02 18 */ addi r3, r1, 0x218 /* 80228020 00224F80 48 0E B3 85 */ bl Orthonormalize__12CTransform4fFv /* 80228024 00224F84 7F 63 DB 78 */ mr r3, r27 /* 80228028 00224F88 38 81 02 18 */ addi r4, r1, 0x218 /* 8022802C 00224F8C 48 08 84 79 */ bl SetWorldSpaceOrientation__17CProjectileWeaponFRC12CTransform4f /* 80228030 00224F90 7F 63 DB 78 */ mr r3, r27 /* 80228034 00224F94 48 08 71 01 */ bl GetVelocity__17CProjectileWeaponCFv /* 80228038 00224F98 7C 64 1B 78 */ mr r4, r3 /* 8022803C 00224F9C 38 61 00 20 */ addi r3, r1, 0x20 /* 80228040 00224FA0 48 0E C8 11 */ bl AsNormalized__9CVector3fCFv /* 80228044 00224FA4 C0 62 B5 DC */ lfs f3, lbl_805AD2FC@sda21(r2) /* 80228048 00224FA8 7F 63 DB 78 */ mr r3, r27 /* 8022804C 00224FAC C0 41 00 20 */ lfs f2, 0x20(r1) /* 80228050 00224FB0 C0 21 00 24 */ lfs f1, 0x24(r1) /* 80228054 00224FB4 C0 01 00 28 */ lfs f0, 0x28(r1) /* 80228058 00224FB8 EF A3 00 B2 */ fmuls f29, f3, f2 /* 8022805C 00224FBC EF C3 00 72 */ fmuls f30, f3, f1 /* 80228060 00224FC0 EF E3 00 32 */ fmuls f31, f3, f0 /* 80228064 00224FC4 48 08 70 D1 */ bl GetVelocity__17CProjectileWeaponCFv /* 80228068 00224FC8 C0 02 B5 E4 */ lfs f0, lbl_805AD304@sda21(r2) /* 8022806C 00224FCC 38 81 01 10 */ addi r4, r1, 0x110 /* 80228070 00224FD0 C0 C3 00 04 */ lfs f6, 4(r3) /* 80228074 00224FD4 EC 9E 00 32 */ fmuls f4, f30, f0 /* 80228078 00224FD8 C0 A2 B5 E0 */ lfs f5, lbl_805AD300@sda21(r2) /* 8022807C 00224FDC EC 5F 00 32 */ fmuls f2, f31, f0 /* 80228080 00224FE0 C0 63 00 08 */ lfs f3, 8(r3) /* 80228084 00224FE4 C0 23 00 00 */ lfs f1, 0(r3) /* 80228088 00224FE8 EC 1D 00 32 */ fmuls f0, f29, f0 /* 8022808C 00224FEC EC 86 21 7A */ fmadds f4, f6, f5, f4 /* 80228090 00224FF0 7F 63 DB 78 */ mr r3, r27 /* 80228094 00224FF4 EC 43 11 7A */ fmadds f2, f3, f5, f2 /* 80228098 00224FF8 EC 01 01 7A */ fmadds f0, f1, f5, f0 /* 8022809C 00224FFC D0 81 01 14 */ stfs f4, 0x114(r1) /* 802280A0 00225000 D0 01 01 10 */ stfs f0, 0x110(r1) /* 802280A4 00225004 D0 41 01 18 */ stfs f2, 0x118(r1) /* 802280A8 00225008 48 08 70 95 */ bl SetVelocity__17CProjectileWeaponFRC9CVector3f lbl_802280AC: /* 802280AC 0022500C 7F 83 E3 78 */ mr r3, r28 /* 802280B0 00225010 7F A5 EB 78 */ mr r5, r29 /* 802280B4 00225014 38 80 00 01 */ li r4, 1 /* 802280B8 00225018 4B FF F4 E5 */ bl sub_8022759c lbl_802280BC: /* 802280BC 0022501C 3B DE 00 02 */ addi r30, r30, 2 lbl_802280C0: /* 802280C0 00225020 80 01 0A 4C */ lwz r0, 0xa4c(r1) /* 802280C4 00225024 54 00 08 3C */ slwi r0, r0, 1 /* 802280C8 00225028 7C 1F 02 14 */ add r0, r31, r0 /* 802280CC 0022502C 7C 1E 00 40 */ cmplw r30, r0 /* 802280D0 00225030 40 82 FB 98 */ bne lbl_80227C68 /* 802280D4 00225034 80 A1 02 48 */ lwz r5, 0x248(r1) /* 802280D8 00225038 38 60 00 00 */ li r3, 0 /* 802280DC 0022503C 2C 05 00 00 */ cmpwi r5, 0 /* 802280E0 00225040 40 81 00 40 */ ble lbl_80228120 /* 802280E4 00225044 2C 05 00 08 */ cmpwi r5, 8 /* 802280E8 00225048 38 85 FF F8 */ addi r4, r5, -8 /* 802280EC 0022504C 40 81 00 20 */ ble lbl_8022810C /* 802280F0 00225050 38 04 00 07 */ addi r0, r4, 7 /* 802280F4 00225054 54 00 E8 FE */ srwi r0, r0, 3 /* 802280F8 00225058 7C 09 03 A6 */ mtctr r0 /* 802280FC 0022505C 2C 04 00 00 */ cmpwi r4, 0 /* 80228100 00225060 40 81 00 0C */ ble lbl_8022810C lbl_80228104: /* 80228104 00225064 38 63 00 08 */ addi r3, r3, 8 /* 80228108 00225068 42 00 FF FC */ bdnz lbl_80228104 lbl_8022810C: /* 8022810C 0022506C 7C 03 28 50 */ subf r0, r3, r5 /* 80228110 00225070 7C 09 03 A6 */ mtctr r0 /* 80228114 00225074 7C 03 28 00 */ cmpw r3, r5 /* 80228118 00225078 40 80 00 08 */ bge lbl_80228120 lbl_8022811C: /* 8022811C 0022507C 42 00 00 00 */ bdnz lbl_8022811C lbl_80228120: /* 80228120 00225080 38 00 00 00 */ li r0, 0 /* 80228124 00225084 90 01 02 48 */ stw r0, 0x248(r1) lbl_80228128: /* 80228128 00225088 80 A1 0A 4C */ lwz r5, 0xa4c(r1) /* 8022812C 0022508C 38 60 00 00 */ li r3, 0 /* 80228130 00225090 2C 05 00 00 */ cmpwi r5, 0 /* 80228134 00225094 40 81 00 40 */ ble lbl_80228174 /* 80228138 00225098 2C 05 00 08 */ cmpwi r5, 8 /* 8022813C 0022509C 38 85 FF F8 */ addi r4, r5, -8 /* 80228140 002250A0 40 81 00 20 */ ble lbl_80228160 /* 80228144 002250A4 38 04 00 07 */ addi r0, r4, 7 /* 80228148 002250A8 54 00 E8 FE */ srwi r0, r0, 3 /* 8022814C 002250AC 7C 09 03 A6 */ mtctr r0 /* 80228150 002250B0 2C 04 00 00 */ cmpwi r4, 0 /* 80228154 002250B4 40 81 00 0C */ ble lbl_80228160 lbl_80228158: /* 80228158 002250B8 38 63 00 08 */ addi r3, r3, 8 /* 8022815C 002250BC 42 00 FF FC */ bdnz lbl_80228158 lbl_80228160: /* 80228160 002250C0 7C 03 28 50 */ subf r0, r3, r5 /* 80228164 002250C4 7C 09 03 A6 */ mtctr r0 /* 80228168 002250C8 7C 03 28 00 */ cmpw r3, r5 /* 8022816C 002250CC 40 80 00 08 */ bge lbl_80228174 lbl_80228170: /* 80228170 002250D0 42 00 00 00 */ bdnz lbl_80228170 lbl_80228174: /* 80228174 002250D4 38 00 00 00 */ li r0, 0 /* 80228178 002250D8 90 01 0A 4C */ stw r0, 0xa4c(r1) lbl_8022817C: /* 8022817C 002250DC 38 00 12 C8 */ li r0, 0x12c8 /* 80228180 002250E0 13 E1 00 0C */ psq_lx f31, r1, r0, 0, qr0 /* 80228184 002250E4 CB E1 12 C0 */ lfd f31, 0x12c0(r1) /* 80228188 002250E8 38 00 12 B8 */ li r0, 0x12b8 /* 8022818C 002250EC 13 C1 00 0C */ psq_lx f30, r1, r0, 0, qr0 /* 80228190 002250F0 CB C1 12 B0 */ lfd f30, 0x12b0(r1) /* 80228194 002250F4 38 00 12 A8 */ li r0, 0x12a8 /* 80228198 002250F8 13 A1 00 0C */ psq_lx f29, r1, r0, 0, qr0 /* 8022819C 002250FC CB A1 12 A0 */ lfd f29, 0x12a0(r1) /* 802281A0 00225100 38 00 12 98 */ li r0, 0x1298 /* 802281A4 00225104 13 81 00 0C */ psq_lx f28, r1, r0, 0, qr0 /* 802281A8 00225108 CB 81 12 90 */ lfd f28, 0x1290(r1) /* 802281AC 0022510C 38 00 12 88 */ li r0, 0x1288 /* 802281B0 00225110 13 61 00 0C */ psq_lx f27, r1, r0, 0, qr0 /* 802281B4 00225114 CB 61 12 80 */ lfd f27, 0x1280(r1) /* 802281B8 00225118 38 00 12 78 */ li r0, 0x1278 /* 802281BC 0022511C 13 41 00 0C */ psq_lx f26, r1, r0, 0, qr0 /* 802281C0 00225120 CB 41 12 70 */ lfd f26, 0x1270(r1) /* 802281C4 00225124 BB 41 12 58 */ lmw r26, 0x1258(r1) /* 802281C8 00225128 80 01 12 D4 */ lwz r0, 0x12d4(r1) /* 802281CC 0022512C 7C 08 03 A6 */ mtlr r0 /* 802281D0 00225130 38 21 12 D0 */ addi r1, r1, 0x12d0 /* 802281D4 00225134 4E 80 00 20 */ blr .global sub_802281d8 sub_802281d8: /* 802281D8 00225138 94 21 FF 70 */ stwu r1, -0x90(r1) /* 802281DC 0022513C 7C 08 02 A6 */ mflr r0 /* 802281E0 00225140 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 802281E4 00225144 90 01 00 94 */ stw r0, 0x94(r1) /* 802281E8 00225148 BF 41 00 78 */ stmw r26, 0x78(r1) /* 802281EC 0022514C 7C 7D 1B 78 */ mr r29, r3 /* 802281F0 00225150 7C 9E 23 78 */ mr r30, r4 /* 802281F4 00225154 7C BB 2B 78 */ mr r27, r5 /* 802281F8 00225158 C0 23 07 AC */ lfs f1, 0x7ac(r3) /* 802281FC 0022515C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80228200 00225160 4C 40 13 82 */ cror 2, 0, 2 /* 80228204 00225164 40 82 01 90 */ bne lbl_80228394 /* 80228208 00225168 3C 60 80 3D */ lis r3, lbl_803D3310@ha /* 8022820C 0022516C 3B 80 00 00 */ li r28, 0 /* 80228210 00225170 38 63 33 10 */ addi r3, r3, lbl_803D3310@l /* 80228214 00225174 3B 40 00 00 */ li r26, 0 /* 80228218 00225178 38 83 00 B8 */ addi r4, r3, 0xb8 /* 8022821C 0022517C 38 60 01 00 */ li r3, 0x100 /* 80228220 00225180 38 A0 00 00 */ li r5, 0 /* 80228224 00225184 48 0E D6 49 */ bl __nw__FUlPCcPCc /* 80228228 00225188 7C 7F 1B 79 */ or. r31, r3, r3 /* 8022822C 0022518C 41 82 00 B4 */ beq lbl_802282E0 /* 80228230 00225190 80 BD 00 64 */ lwz r5, 0x64(r29) /* 80228234 00225194 3C 60 80 3D */ lis r3, lbl_803D3310@ha /* 80228238 00225198 38 83 33 10 */ addi r4, r3, lbl_803D3310@l /* 8022823C 0022519C 38 61 00 44 */ addi r3, r1, 0x44 /* 80228240 002251A0 C0 05 00 00 */ lfs f0, 0(r5) /* 80228244 002251A4 38 84 00 BF */ addi r4, r4, 0xbf /* 80228248 002251A8 D0 01 00 54 */ stfs f0, 0x54(r1) /* 8022824C 002251AC C0 05 00 04 */ lfs f0, 4(r5) /* 80228250 002251B0 D0 01 00 58 */ stfs f0, 0x58(r1) /* 80228254 002251B4 C0 05 00 08 */ lfs f0, 8(r5) /* 80228258 002251B8 D0 01 00 5C */ stfs f0, 0x5c(r1) /* 8022825C 002251BC 4B DD CA 5D */ bl string_l__4rstlFPCc /* 80228260 002251C0 80 0D A3 88 */ lwz r0, kInvalidEditorId@sda21(r13) /* 80228264 002251C4 3C 60 80 57 */ lis r3, NullConnectionList__7CEntity@ha /* 80228268 002251C8 38 A3 D4 10 */ addi r5, r3, NullConnectionList__7CEntity@l /* 8022826C 002251CC 38 81 00 30 */ addi r4, r1, 0x30 /* 80228270 002251D0 90 01 00 34 */ stw r0, 0x34(r1) /* 80228274 002251D4 38 61 00 60 */ addi r3, r1, 0x60 /* 80228278 002251D8 38 C1 00 34 */ addi r6, r1, 0x34 /* 8022827C 002251DC 3B 80 00 01 */ li r28, 1 /* 80228280 002251E0 80 1D 00 04 */ lwz r0, 4(r29) /* 80228284 002251E4 90 01 00 2C */ stw r0, 0x2c(r1) /* 80228288 002251E8 90 01 00 30 */ stw r0, 0x30(r1) /* 8022828C 002251EC 4B E2 91 F9 */ bl "__ct__11CEntityInfoF7TAreaIdRCQ24rstl48vector<11SConnection,Q24rstl17rmemory_allocator>9TEditorId" /* 80228290 002251F0 7F C4 F3 78 */ mr r4, r30 /* 80228294 002251F4 38 61 00 10 */ addi r3, r1, 0x10 /* 80228298 002251F8 3B 40 00 01 */ li r26, 1 /* 8022829C 002251FC 4B E2 4E 41 */ bl AllocateUniqueId__13CStateManagerFv /* 802282A0 00225200 A0 01 00 10 */ lhz r0, 0x10(r1) /* 802282A4 00225204 B0 01 00 14 */ sth r0, 0x14(r1) /* 802282A8 00225208 48 12 1D 05 */ bl White__6CColorFv /* 802282AC 0022520C 38 01 00 54 */ addi r0, r1, 0x54 /* 802282B0 00225210 7F 69 DB 78 */ mr r9, r27 /* 802282B4 00225214 90 01 00 08 */ stw r0, 8(r1) /* 802282B8 00225218 38 9D 07 60 */ addi r4, r29, 0x760 /* 802282BC 0022521C 38 A1 00 14 */ addi r5, r1, 0x14 /* 802282C0 00225220 38 E1 00 60 */ addi r7, r1, 0x60 /* 802282C4 00225224 90 61 00 0C */ stw r3, 0xc(r1) /* 802282C8 00225228 7F E3 FB 78 */ mr r3, r31 /* 802282CC 0022522C 39 01 00 44 */ addi r8, r1, 0x44 /* 802282D0 00225230 38 C0 00 01 */ li r6, 1 /* 802282D4 00225234 39 40 00 00 */ li r10, 0 /* 802282D8 00225238 4B E3 28 21 */ bl "__ct__10CExplosionFRC31TLockedToken<15CGenDescription>9TUniqueIdbRC11CEntityInfoRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC12CTransform4fUiRC9CVector3fRC6CColor" /* 802282DC 0022523C 7C 7F 1B 78 */ mr r31, r3 lbl_802282E0: /* 802282E0 00225240 7F 40 07 75 */ extsb. r0, r26 /* 802282E4 00225244 41 82 00 44 */ beq lbl_80228328 /* 802282E8 00225248 80 01 00 68 */ lwz r0, 0x68(r1) /* 802282EC 0022524C 80 61 00 70 */ lwz r3, 0x70(r1) /* 802282F0 00225250 1C 00 00 0C */ mulli r0, r0, 0xc /* 802282F4 00225254 90 61 00 1C */ stw r3, 0x1c(r1) /* 802282F8 00225258 7C 64 1B 78 */ mr r4, r3 /* 802282FC 0022525C 7C 03 02 14 */ add r0, r3, r0 /* 80228300 00225260 90 61 00 18 */ stw r3, 0x18(r1) /* 80228304 00225264 90 01 00 24 */ stw r0, 0x24(r1) /* 80228308 00225268 90 01 00 20 */ stw r0, 0x20(r1) /* 8022830C 0022526C 48 00 00 08 */ b lbl_80228314 lbl_80228310: /* 80228310 00225270 38 84 00 0C */ addi r4, r4, 0xc lbl_80228314: /* 80228314 00225274 7C 04 00 40 */ cmplw r4, r0 /* 80228318 00225278 40 82 FF F8 */ bne lbl_80228310 /* 8022831C 0022527C 28 03 00 00 */ cmplwi r3, 0 /* 80228320 00225280 41 82 00 08 */ beq lbl_80228328 /* 80228324 00225284 48 0E D6 0D */ bl Free__7CMemoryFPCv lbl_80228328: /* 80228328 00225288 7F 80 07 75 */ extsb. r0, r28 /* 8022832C 0022528C 41 82 00 0C */ beq lbl_80228338 /* 80228330 00225290 38 61 00 44 */ addi r3, r1, 0x44 /* 80228334 00225294 48 11 57 AD */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_80228338: /* 80228338 00225298 28 1F 00 00 */ cmplwi r31, 0 /* 8022833C 0022529C 41 82 00 58 */ beq lbl_80228394 /* 80228340 002252A0 7F C3 F3 78 */ mr r3, r30 /* 80228344 002252A4 7F E4 FB 78 */ mr r4, r31 /* 80228348 002252A8 4B E2 49 AD */ bl AddObject__13CStateManagerFP7CEntity /* 8022834C 002252AC 81 5D 00 04 */ lwz r10, 4(r29) /* 80228350 002252B0 3C 60 80 5A */ lis r3, sUpVector__9CVector3f@ha /* 80228354 002252B4 C0 5D 00 60 */ lfs f2, 0x60(r29) /* 80228358 002252B8 38 C3 66 F4 */ addi r6, r3, sUpVector__9CVector3f@l /* 8022835C 002252BC C0 3D 00 50 */ lfs f1, 0x50(r29) /* 80228360 002252C0 38 61 00 28 */ addi r3, r1, 0x28 /* 80228364 002252C4 C0 1D 00 40 */ lfs f0, 0x40(r29) /* 80228368 002252C8 38 A1 00 38 */ addi r5, r1, 0x38 /* 8022836C 002252CC A9 22 C5 FA */ lha r9, kMedPriority__11CSfxManager@sda21(r2) /* 80228370 002252D0 38 E0 00 00 */ li r7, 0 /* 80228374 002252D4 D0 01 00 38 */ stfs f0, 0x38(r1) /* 80228378 002252D8 39 00 00 00 */ li r8, 0 /* 8022837C 002252DC D0 21 00 3C */ stfs f1, 0x3c(r1) /* 80228380 002252E0 D0 41 00 40 */ stfs f2, 0x40(r1) /* 80228384 002252E4 A0 9D 05 FC */ lhz r4, 0x5fc(r29) /* 80228388 002252E8 48 0C 1F 29 */ bl AddEmitter__11CSfxManagerFUsRC9CVector3fRC9CVector3fbbsi /* 8022838C 002252EC C0 02 B5 E8 */ lfs f0, lbl_805AD308@sda21(r2) /* 80228390 002252F0 D0 1D 07 AC */ stfs f0, 0x7ac(r29) lbl_80228394: /* 80228394 002252F4 BB 41 00 78 */ lmw r26, 0x78(r1) /* 80228398 002252F8 80 01 00 94 */ lwz r0, 0x94(r1) /* 8022839C 002252FC 7C 08 03 A6 */ mtlr r0 /* 802283A0 00225300 38 21 00 90 */ addi r1, r1, 0x90 /* 802283A4 00225304 4E 80 00 20 */ blr .global sub_802283a8 sub_802283a8: /* 802283A8 00225308 94 21 FE C0 */ stwu r1, -0x140(r1) /* 802283AC 0022530C 7C 08 02 A6 */ mflr r0 /* 802283B0 00225310 90 01 01 44 */ stw r0, 0x144(r1) /* 802283B4 00225314 DB E1 01 30 */ stfd f31, 0x130(r1) /* 802283B8 00225318 F3 E1 01 38 */ psq_st f31, 312(r1), 0, qr0 /* 802283BC 0022531C DB C1 01 20 */ stfd f30, 0x120(r1) /* 802283C0 00225320 F3 C1 01 28 */ psq_st f30, 296(r1), 0, qr0 /* 802283C4 00225324 93 E1 01 1C */ stw r31, 0x11c(r1) /* 802283C8 00225328 93 C1 01 18 */ stw r30, 0x118(r1) /* 802283CC 0022532C 93 A1 01 14 */ stw r29, 0x114(r1) /* 802283D0 00225330 7C 9F 23 78 */ mr r31, r4 /* 802283D4 00225334 7C 7D 1B 78 */ mr r29, r3 /* 802283D8 00225338 83 C4 08 4C */ lwz r30, 0x84c(r4) /* 802283DC 0022533C 38 61 00 24 */ addi r3, r1, 0x24 /* 802283E0 00225340 C0 3D 00 50 */ lfs f1, 0x50(r29) /* 802283E4 00225344 C0 1E 00 50 */ lfs f0, 0x50(r30) /* 802283E8 00225348 C0 7D 00 60 */ lfs f3, 0x60(r29) /* 802283EC 0022534C C0 5E 00 60 */ lfs f2, 0x60(r30) /* 802283F0 00225350 EC 81 00 28 */ fsubs f4, f1, f0 /* 802283F4 00225354 C0 3D 00 40 */ lfs f1, 0x40(r29) /* 802283F8 00225358 C0 1E 00 40 */ lfs f0, 0x40(r30) /* 802283FC 0022535C EC 43 10 28 */ fsubs f2, f3, f2 /* 80228400 00225360 EC 01 00 28 */ fsubs f0, f1, f0 /* 80228404 00225364 D0 81 00 28 */ stfs f4, 0x28(r1) /* 80228408 00225368 D0 41 00 2C */ stfs f2, 0x2c(r1) /* 8022840C 0022536C D0 01 00 24 */ stfs f0, 0x24(r1) /* 80228410 00225370 48 0E C4 A9 */ bl Magnitude__9CVector3fCFv /* 80228414 00225374 88 1D 09 88 */ lbz r0, 0x988(r29) /* 80228418 00225378 FF E0 08 90 */ fmr f31, f1 /* 8022841C 0022537C 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f /* 80228420 00225380 41 82 00 0C */ beq lbl_8022842C /* 80228424 00225384 C3 C2 B5 CC */ lfs f30, lbl_805AD2EC@sda21(r2) /* 80228428 00225388 48 00 00 08 */ b lbl_80228430 lbl_8022842C: /* 8022842C 0022538C C3 C2 B5 E8 */ lfs f30, lbl_805AD308@sda21(r2) lbl_80228430: /* 80228430 00225390 80 9D 00 64 */ lwz r4, 0x64(r29) /* 80228434 00225394 38 61 00 18 */ addi r3, r1, 0x18 /* 80228438 00225398 C0 04 00 00 */ lfs f0, 0(r4) /* 8022843C 0022539C D0 01 00 18 */ stfs f0, 0x18(r1) /* 80228440 002253A0 C0 04 00 04 */ lfs f0, 4(r4) /* 80228444 002253A4 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80228448 002253A8 C0 04 00 08 */ lfs f0, 8(r4) /* 8022844C 002253AC D0 01 00 20 */ stfs f0, 0x20(r1) /* 80228450 002253B0 48 0E C4 69 */ bl Magnitude__9CVector3fCFv /* 80228454 002253B4 EF DE 00 72 */ fmuls f30, f30, f1 /* 80228458 002253B8 C0 22 B5 EC */ lfs f1, lbl_805AD30C@sda21(r2) /* 8022845C 002253BC C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 80228460 002253C0 EF C1 F7 FC */ fnmsubs f30, f1, f31, f30 /* 80228464 002253C4 FC 1E 00 40 */ fcmpo cr0, f30, f0 /* 80228468 002253C8 40 81 01 30 */ ble lbl_80228598 /* 8022846C 002253CC 80 1E 02 B0 */ lwz r0, 0x2b0(r30) /* 80228470 002253D0 2C 00 00 02 */ cmpwi r0, 2 /* 80228474 002253D4 40 82 00 0C */ bne lbl_80228480 /* 80228478 002253D8 80 1E 02 AC */ lwz r0, 0x2ac(r30) /* 8022847C 002253DC 48 00 00 08 */ b lbl_80228484 lbl_80228480: /* 80228480 002253E0 38 00 00 04 */ li r0, 4 lbl_80228484: /* 80228484 002253E4 2C 00 00 01 */ cmpwi r0, 1 /* 80228488 002253E8 41 82 01 10 */ beq lbl_80228598 /* 8022848C 002253EC 88 1E 09 C4 */ lbz r0, 0x9c4(r30) /* 80228490 002253F0 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80228494 002253F4 40 82 01 04 */ bne lbl_80228598 /* 80228498 002253F8 80 1E 02 F8 */ lwz r0, 0x2f8(r30) /* 8022849C 002253FC 2C 00 00 01 */ cmpwi r0, 1 /* 802284A0 00225400 41 82 00 84 */ beq lbl_80228524 /* 802284A4 00225404 80 9F 08 70 */ lwz r4, 0x870(r31) /* 802284A8 00225408 38 61 00 08 */ addi r3, r1, 8 /* 802284AC 0022540C 80 A4 00 7C */ lwz r5, 0x7c(r4) /* 802284B0 00225410 A3 C5 00 08 */ lhz r30, 8(r5) /* 802284B4 00225414 4B DE 37 25 */ bl GetCurrentCameraId__14CCameraManagerCFv /* 802284B8 00225418 A0 01 00 08 */ lhz r0, 8(r1) /* 802284BC 0022541C 7C 00 F0 40 */ cmplw r0, r30 /* 802284C0 00225420 40 82 00 D8 */ bne lbl_80228598 /* 802284C4 00225424 FC 40 F0 90 */ fmr f2, f30 /* 802284C8 00225428 C0 22 B5 BC */ lfs f1, lbl_805AD2DC@sda21(r2) /* 802284CC 0022542C 38 61 00 30 */ addi r3, r1, 0x30 /* 802284D0 00225430 4B F3 53 61 */ bl __ct__16CCameraShakeDataFff /* 802284D4 00225434 80 7F 08 70 */ lwz r3, 0x870(r31) /* 802284D8 00225438 38 81 00 30 */ addi r4, r1, 0x30 /* 802284DC 0022543C 38 A0 00 01 */ li r5, 1 /* 802284E0 00225440 4B DE 25 41 */ bl AddCameraShaker__14CCameraManagerFRC16CCameraShakeDatab /* 802284E4 00225444 34 81 00 B0 */ addic. r4, r1, 0xb0 /* 802284E8 00225448 41 82 00 10 */ beq lbl_802284F8 /* 802284EC 0022544C 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha /* 802284F0 00225450 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l /* 802284F4 00225454 90 04 00 00 */ stw r0, 0(r4) lbl_802284F8: /* 802284F8 00225458 34 81 00 74 */ addic. r4, r1, 0x74 /* 802284FC 0022545C 41 82 00 10 */ beq lbl_8022850C /* 80228500 00225460 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha /* 80228504 00225464 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l /* 80228508 00225468 90 04 00 00 */ stw r0, 0(r4) lbl_8022850C: /* 8022850C 0022546C 34 81 00 38 */ addic. r4, r1, 0x38 /* 80228510 00225470 41 82 00 88 */ beq lbl_80228598 /* 80228514 00225474 3C 60 80 3E */ lis r3, lbl_803D8EA8@ha /* 80228518 00225478 38 03 8E A8 */ addi r0, r3, lbl_803D8EA8@l /* 8022851C 0022547C 90 04 00 00 */ stw r0, 0(r4) /* 80228520 00225480 48 00 00 78 */ b lbl_80228598 lbl_80228524: /* 80228524 00225484 88 1D 09 88 */ lbz r0, 0x988(r29) /* 80228528 00225488 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f /* 8022852C 0022548C 41 82 00 0C */ beq lbl_80228538 /* 80228530 00225490 C0 62 B5 F0 */ lfs f3, lbl_805AD310@sda21(r2) /* 80228534 00225494 48 00 00 08 */ b lbl_8022853C lbl_80228538: /* 80228538 00225498 C0 62 B5 F4 */ lfs f3, lbl_805AD314@sda21(r2) lbl_8022853C: /* 8022853C 0022549C 3C 60 80 5A */ lis r3, sUpVector__9CVector3f@ha /* 80228540 002254A0 C4 43 66 F4 */ lfsu f2, sUpVector__9CVector3f@l(r3) /* 80228544 002254A4 C0 9E 00 E8 */ lfs f4, 0xe8(r30) /* 80228548 002254A8 C0 23 00 04 */ lfs f1, 4(r3) /* 8022854C 002254AC EC 43 00 B2 */ fmuls f2, f3, f2 /* 80228550 002254B0 C0 03 00 08 */ lfs f0, 8(r3) /* 80228554 002254B4 EC 23 00 72 */ fmuls f1, f3, f1 /* 80228558 002254B8 EC 03 00 32 */ fmuls f0, f3, f0 /* 8022855C 002254BC EC 44 00 B2 */ fmuls f2, f4, f2 /* 80228560 002254C0 EC 24 00 72 */ fmuls f1, f4, f1 /* 80228564 002254C4 EC 04 00 32 */ fmuls f0, f4, f0 /* 80228568 002254C8 D0 41 00 0C */ stfs f2, 0xc(r1) /* 8022856C 002254CC D0 21 00 10 */ stfs f1, 0x10(r1) /* 80228570 002254D0 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80228574 002254D4 4B DF 2F C1 */ bl Identity__10CAxisAngleFv /* 80228578 002254D8 7C 65 1B 78 */ mr r5, r3 /* 8022857C 002254DC 7F C3 F3 78 */ mr r3, r30 /* 80228580 002254E0 38 81 00 0C */ addi r4, r1, 0xc /* 80228584 002254E4 4B EF 3E 15 */ bl ApplyImpulseWR__13CPhysicsActorFRC9CVector3fRC10CAxisAngle /* 80228588 002254E8 7F C3 F3 78 */ mr r3, r30 /* 8022858C 002254EC 7F E5 FB 78 */ mr r5, r31 /* 80228590 002254F0 38 80 00 02 */ li r4, 2 /* 80228594 002254F4 48 05 DE 59 */ bl SetMoveState__7CPlayerFQ27NPlayer20EPlayerMovementStateR13CStateManager lbl_80228598: /* 80228598 002254F8 E3 E1 01 38 */ psq_l f31, 312(r1), 0, qr0 /* 8022859C 002254FC CB E1 01 30 */ lfd f31, 0x130(r1) /* 802285A0 00225500 E3 C1 01 28 */ psq_l f30, 296(r1), 0, qr0 /* 802285A4 00225504 CB C1 01 20 */ lfd f30, 0x120(r1) /* 802285A8 00225508 83 E1 01 1C */ lwz r31, 0x11c(r1) /* 802285AC 0022550C 83 C1 01 18 */ lwz r30, 0x118(r1) /* 802285B0 00225510 80 01 01 44 */ lwz r0, 0x144(r1) /* 802285B4 00225514 83 A1 01 14 */ lwz r29, 0x114(r1) /* 802285B8 00225518 7C 08 03 A6 */ mtlr r0 /* 802285BC 0022551C 38 21 01 40 */ addi r1, r1, 0x140 /* 802285C0 00225520 4E 80 00 20 */ blr .global sub_802285c4 sub_802285c4: /* 802285C4 00225524 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802285C8 00225528 7C 08 02 A6 */ mflr r0 /* 802285CC 0022552C 90 01 00 24 */ stw r0, 0x24(r1) /* 802285D0 00225530 DB E1 00 10 */ stfd f31, 0x10(r1) /* 802285D4 00225534 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0 /* 802285D8 00225538 93 E1 00 0C */ stw r31, 0xc(r1) /* 802285DC 0022553C 93 C1 00 08 */ stw r30, 8(r1) /* 802285E0 00225540 7C 7E 1B 78 */ mr r30, r3 /* 802285E4 00225544 7C 9F 23 78 */ mr r31, r4 /* 802285E8 00225548 C3 E3 05 E8 */ lfs f31, 0x5e8(r3) /* 802285EC 0022554C 80 64 09 00 */ lwz r3, 0x900(r4) /* 802285F0 00225550 48 0E 9E ED */ bl Float__9CRandom16Fv /* 802285F4 00225554 FC 01 F8 40 */ fcmpo cr0, f1, f31 /* 802285F8 00225558 40 81 00 1C */ ble lbl_80228614 /* 802285FC 0022555C 80 7F 09 00 */ lwz r3, 0x900(r31) /* 80228600 00225560 48 0E 9E DD */ bl Float__9CRandom16Fv /* 80228604 00225564 C0 5E 03 08 */ lfs f2, 0x308(r30) /* 80228608 00225568 C0 1E 03 04 */ lfs f0, 0x304(r30) /* 8022860C 0022556C EC 02 00 7A */ fmadds f0, f2, f1, f0 /* 80228610 00225570 D0 1E 07 B8 */ stfs f0, 0x7b8(r30) lbl_80228614: /* 80228614 00225574 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0 /* 80228618 00225578 80 01 00 24 */ lwz r0, 0x24(r1) /* 8022861C 0022557C CB E1 00 10 */ lfd f31, 0x10(r1) /* 80228620 00225580 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80228624 00225584 83 C1 00 08 */ lwz r30, 8(r1) /* 80228628 00225588 7C 08 03 A6 */ mtlr r0 /* 8022862C 0022558C 38 21 00 20 */ addi r1, r1, 0x20 /* 80228630 00225590 4E 80 00 20 */ blr .global sub_80228634 sub_80228634: /* 80228634 00225594 94 21 FF 80 */ stwu r1, -0x80(r1) /* 80228638 00225598 7C 08 02 A6 */ mflr r0 /* 8022863C 0022559C 90 01 00 84 */ stw r0, 0x84(r1) /* 80228640 002255A0 DB E1 00 70 */ stfd f31, 0x70(r1) /* 80228644 002255A4 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0 /* 80228648 002255A8 DB C1 00 60 */ stfd f30, 0x60(r1) /* 8022864C 002255AC F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0 /* 80228650 002255B0 DB A1 00 50 */ stfd f29, 0x50(r1) /* 80228654 002255B4 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0 /* 80228658 002255B8 DB 81 00 40 */ stfd f28, 0x40(r1) /* 8022865C 002255BC F3 81 00 48 */ psq_st f28, 72(r1), 0, qr0 /* 80228660 002255C0 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80228664 002255C4 7C 7F 1B 78 */ mr r31, r3 /* 80228668 002255C8 38 61 00 2C */ addi r3, r1, 0x2c /* 8022866C 002255CC C0 5F 00 60 */ lfs f2, 0x60(r31) /* 80228670 002255D0 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 80228674 002255D4 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 80228678 002255D8 D0 1F 08 B4 */ stfs f0, 0x8b4(r31) /* 8022867C 002255DC D0 3F 08 B8 */ stfs f1, 0x8b8(r31) /* 80228680 002255E0 D0 5F 08 BC */ stfs f2, 0x8bc(r31) /* 80228684 002255E4 80 84 08 4C */ lwz r4, 0x84c(r4) /* 80228688 002255E8 C0 1F 00 50 */ lfs f0, 0x50(r31) /* 8022868C 002255EC C3 C4 00 50 */ lfs f30, 0x50(r4) /* 80228690 002255F0 C3 A4 00 60 */ lfs f29, 0x60(r4) /* 80228694 002255F4 C0 3F 00 60 */ lfs f1, 0x60(r31) /* 80228698 002255F8 EC 40 F0 28 */ fsubs f2, f0, f30 /* 8022869C 002255FC C3 E4 00 40 */ lfs f31, 0x40(r4) /* 802286A0 00225600 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 802286A4 00225604 EC 21 E8 28 */ fsubs f1, f1, f29 /* 802286A8 00225608 EC 00 F8 28 */ fsubs f0, f0, f31 /* 802286AC 0022560C D0 41 00 30 */ stfs f2, 0x30(r1) /* 802286B0 00225610 D0 21 00 34 */ stfs f1, 0x34(r1) /* 802286B4 00225614 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 802286B8 00225618 C0 1F 02 FC */ lfs f0, 0x2fc(r31) /* 802286BC 0022561C EF 80 00 32 */ fmuls f28, f0, f0 /* 802286C0 00225620 48 0E C0 39 */ bl CanBeNormalized__9CVector3fCFv /* 802286C4 00225624 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802286C8 00225628 41 82 00 9C */ beq lbl_80228764 /* 802286CC 0022562C C0 21 00 2C */ lfs f1, 0x2c(r1) /* 802286D0 00225630 C0 01 00 30 */ lfs f0, 0x30(r1) /* 802286D4 00225634 EC 21 00 72 */ fmuls f1, f1, f1 /* 802286D8 00225638 C0 41 00 34 */ lfs f2, 0x34(r1) /* 802286DC 0022563C EC 00 00 32 */ fmuls f0, f0, f0 /* 802286E0 00225640 EC 42 00 B2 */ fmuls f2, f2, f2 /* 802286E4 00225644 EC 01 00 2A */ fadds f0, f1, f0 /* 802286E8 00225648 EC 02 00 2A */ fadds f0, f2, f0 /* 802286EC 0022564C FC 00 E0 40 */ fcmpo cr0, f0, f28 /* 802286F0 00225650 40 81 00 74 */ ble lbl_80228764 /* 802286F4 00225654 C3 9F 02 FC */ lfs f28, 0x2fc(r31) /* 802286F8 00225658 38 61 00 08 */ addi r3, r1, 8 /* 802286FC 0022565C 38 81 00 2C */ addi r4, r1, 0x2c /* 80228700 00225660 48 0E C1 51 */ bl AsNormalized__9CVector3fCFv /* 80228704 00225664 C0 21 00 08 */ lfs f1, 8(r1) /* 80228708 00225668 C0 01 00 0C */ lfs f0, 0xc(r1) /* 8022870C 0022566C EC 5C 00 72 */ fmuls f2, f28, f1 /* 80228710 00225670 C0 21 00 10 */ lfs f1, 0x10(r1) /* 80228714 00225674 EC 1C 00 32 */ fmuls f0, f28, f0 /* 80228718 00225678 EC 7C 00 72 */ fmuls f3, f28, f1 /* 8022871C 0022567C EC 3F 10 2A */ fadds f1, f31, f2 /* 80228720 00225680 D0 41 00 14 */ stfs f2, 0x14(r1) /* 80228724 00225684 EC 9E 00 2A */ fadds f4, f30, f0 /* 80228728 00225688 EC 5D 18 2A */ fadds f2, f29, f3 /* 8022872C 0022568C D0 01 00 18 */ stfs f0, 0x18(r1) /* 80228730 00225690 D0 3F 02 E0 */ stfs f1, 0x2e0(r31) /* 80228734 00225694 D0 9F 02 E4 */ stfs f4, 0x2e4(r31) /* 80228738 00225698 D0 5F 02 E8 */ stfs f2, 0x2e8(r31) /* 8022873C 0022569C C0 1F 02 E0 */ lfs f0, 0x2e0(r31) /* 80228740 002256A0 D0 61 00 1C */ stfs f3, 0x1c(r1) /* 80228744 002256A4 D0 1F 08 B4 */ stfs f0, 0x8b4(r31) /* 80228748 002256A8 C0 1F 02 E4 */ lfs f0, 0x2e4(r31) /* 8022874C 002256AC D0 21 00 20 */ stfs f1, 0x20(r1) /* 80228750 002256B0 D0 1F 08 B8 */ stfs f0, 0x8b8(r31) /* 80228754 002256B4 C0 1F 02 E8 */ lfs f0, 0x2e8(r31) /* 80228758 002256B8 D0 81 00 24 */ stfs f4, 0x24(r1) /* 8022875C 002256BC D0 41 00 28 */ stfs f2, 0x28(r1) /* 80228760 002256C0 D0 1F 08 BC */ stfs f0, 0x8bc(r31) lbl_80228764: /* 80228764 002256C4 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0 /* 80228768 002256C8 CB E1 00 70 */ lfd f31, 0x70(r1) /* 8022876C 002256CC E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0 /* 80228770 002256D0 CB C1 00 60 */ lfd f30, 0x60(r1) /* 80228774 002256D4 E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0 /* 80228778 002256D8 CB A1 00 50 */ lfd f29, 0x50(r1) /* 8022877C 002256DC E3 81 00 48 */ psq_l f28, 72(r1), 0, qr0 /* 80228780 002256E0 CB 81 00 40 */ lfd f28, 0x40(r1) /* 80228784 002256E4 80 01 00 84 */ lwz r0, 0x84(r1) /* 80228788 002256E8 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8022878C 002256EC 7C 08 03 A6 */ mtlr r0 /* 80228790 002256F0 38 21 00 80 */ addi r1, r1, 0x80 /* 80228794 002256F4 4E 80 00 20 */ blr .global sub_80228798 sub_80228798: /* 80228798 002256F8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8022879C 002256FC 7C 08 02 A6 */ mflr r0 /* 802287A0 00225700 90 01 00 34 */ stw r0, 0x34(r1) /* 802287A4 00225704 38 81 00 14 */ addi r4, r1, 0x14 /* 802287A8 00225708 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802287AC 0022570C 7C 7F 1B 78 */ mr r31, r3 /* 802287B0 00225710 C0 43 00 60 */ lfs f2, 0x60(r3) /* 802287B4 00225714 38 7F 07 D0 */ addi r3, r31, 0x7d0 /* 802287B8 00225718 C0 3F 00 50 */ lfs f1, 0x50(r31) /* 802287BC 0022571C C0 1F 00 40 */ lfs f0, 0x40(r31) /* 802287C0 00225720 D0 01 00 14 */ stfs f0, 0x14(r1) /* 802287C4 00225724 D0 21 00 18 */ stfs f1, 0x18(r1) /* 802287C8 00225728 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 802287CC 0022572C 4B F9 E3 69 */ bl OnPath__15CPathFindSearchCFRC9CVector3f /* 802287D0 00225730 2C 03 00 00 */ cmpwi r3, 0 /* 802287D4 00225734 40 82 00 58 */ bne lbl_8022882C /* 802287D8 00225738 80 BF 08 C4 */ lwz r5, 0x8c4(r31) /* 802287DC 0022573C 38 60 00 00 */ li r3, 0 /* 802287E0 00225740 2C 05 00 00 */ cmpwi r5, 0 /* 802287E4 00225744 40 81 00 40 */ ble lbl_80228824 /* 802287E8 00225748 2C 05 00 08 */ cmpwi r5, 8 /* 802287EC 0022574C 38 85 FF F8 */ addi r4, r5, -8 /* 802287F0 00225750 40 81 00 20 */ ble lbl_80228810 /* 802287F4 00225754 38 04 00 07 */ addi r0, r4, 7 /* 802287F8 00225758 54 00 E8 FE */ srwi r0, r0, 3 /* 802287FC 0022575C 7C 09 03 A6 */ mtctr r0 /* 80228800 00225760 2C 04 00 00 */ cmpwi r4, 0 /* 80228804 00225764 40 81 00 0C */ ble lbl_80228810 lbl_80228808: /* 80228808 00225768 38 63 00 08 */ addi r3, r3, 8 /* 8022880C 0022576C 42 00 FF FC */ bdnz lbl_80228808 lbl_80228810: /* 80228810 00225770 7C 03 28 50 */ subf r0, r3, r5 /* 80228814 00225774 7C 09 03 A6 */ mtctr r0 /* 80228818 00225778 7C 03 28 00 */ cmpw r3, r5 /* 8022881C 0022577C 40 80 00 08 */ bge lbl_80228824 lbl_80228820: /* 80228820 00225780 42 00 00 00 */ bdnz lbl_80228820 lbl_80228824: /* 80228824 00225784 38 00 00 00 */ li r0, 0 /* 80228828 00225788 90 1F 08 C4 */ stw r0, 0x8c4(r31) lbl_8022882C: /* 8022882C 0022578C 80 C1 00 14 */ lwz r6, 0x14(r1) /* 80228830 00225790 38 7F 08 C0 */ addi r3, r31, 0x8c0 /* 80228834 00225794 80 A1 00 18 */ lwz r5, 0x18(r1) /* 80228838 00225798 38 81 00 08 */ addi r4, r1, 8 /* 8022883C 0022579C 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80228840 002257A0 90 C1 00 08 */ stw r6, 8(r1) /* 80228844 002257A4 90 A1 00 0C */ stw r5, 0xc(r1) /* 80228848 002257A8 90 01 00 10 */ stw r0, 0x10(r1) /* 8022884C 002257AC 48 07 80 E5 */ bl sub_802a0930 /* 80228850 002257B0 80 01 00 34 */ lwz r0, 0x34(r1) /* 80228854 002257B4 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80228858 002257B8 7C 08 03 A6 */ mtlr r0 /* 8022885C 002257BC 38 21 00 30 */ addi r1, r1, 0x30 /* 80228860 002257C0 4E 80 00 20 */ blr .global sub_80228864 sub_80228864: /* 80228864 002257C4 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 80228868 002257C8 7C 08 02 A6 */ mflr r0 /* 8022886C 002257CC 80 82 B5 B4 */ lwz r4, lbl_805AD2D4@sda21(r2) /* 80228870 002257D0 90 01 00 A4 */ stw r0, 0xa4(r1) /* 80228874 002257D4 93 E1 00 9C */ stw r31, 0x9c(r1) /* 80228878 002257D8 7C BF 2B 78 */ mr r31, r5 /* 8022887C 002257DC 93 C1 00 98 */ stw r30, 0x98(r1) /* 80228880 002257E0 7C 7E 1B 78 */ mr r30, r3 /* 80228884 002257E4 38 61 00 20 */ addi r3, r1, 0x20 /* 80228888 002257E8 4B DD C4 31 */ bl string_l__4rstlFPCc /* 8022888C 002257EC 7F E4 FB 78 */ mr r4, r31 /* 80228890 002257F0 38 61 00 30 */ addi r3, r1, 0x30 /* 80228894 002257F4 38 A1 00 20 */ addi r5, r1, 0x20 /* 80228898 002257F8 4B E2 A6 69 */ bl "GetLocatorTransform__6CActorCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 8022889C 002257FC 38 61 00 60 */ addi r3, r1, 0x60 /* 802288A0 00225800 38 81 00 30 */ addi r4, r1, 0x30 /* 802288A4 00225804 48 0E A2 D1 */ bl __ct__12CTransform4fFRC12CTransform4f /* 802288A8 00225808 38 61 00 20 */ addi r3, r1, 0x20 /* 802288AC 0022580C 48 11 52 35 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 802288B0 00225810 C0 41 00 6C */ lfs f2, 0x6c(r1) /* 802288B4 00225814 38 61 00 14 */ addi r3, r1, 0x14 /* 802288B8 00225818 C0 21 00 7C */ lfs f1, 0x7c(r1) /* 802288BC 0022581C 38 9F 00 34 */ addi r4, r31, 0x34 /* 802288C0 00225820 C0 01 00 8C */ lfs f0, 0x8c(r1) /* 802288C4 00225824 38 A1 00 08 */ addi r5, r1, 8 /* 802288C8 00225828 D0 41 00 08 */ stfs f2, 8(r1) /* 802288CC 0022582C D0 21 00 0C */ stfs f1, 0xc(r1) /* 802288D0 00225830 D0 01 00 10 */ stfs f0, 0x10(r1) /* 802288D4 00225834 48 0E A1 AD */ bl Rotate__12CTransform4fCFRC9CVector3f /* 802288D8 00225838 C0 3F 00 40 */ lfs f1, 0x40(r31) /* 802288DC 0022583C C0 01 00 14 */ lfs f0, 0x14(r1) /* 802288E0 00225840 C0 9F 00 50 */ lfs f4, 0x50(r31) /* 802288E4 00225844 C0 61 00 18 */ lfs f3, 0x18(r1) /* 802288E8 00225848 EC 01 00 2A */ fadds f0, f1, f0 /* 802288EC 0022584C C0 5F 00 60 */ lfs f2, 0x60(r31) /* 802288F0 00225850 C0 21 00 1C */ lfs f1, 0x1c(r1) /* 802288F4 00225854 EC 64 18 2A */ fadds f3, f4, f3 /* 802288F8 00225858 D0 1E 00 00 */ stfs f0, 0(r30) /* 802288FC 0022585C EC 02 08 2A */ fadds f0, f2, f1 /* 80228900 00225860 D0 7E 00 04 */ stfs f3, 4(r30) /* 80228904 00225864 D0 1E 00 08 */ stfs f0, 8(r30) /* 80228908 00225868 83 E1 00 9C */ lwz r31, 0x9c(r1) /* 8022890C 0022586C 83 C1 00 98 */ lwz r30, 0x98(r1) /* 80228910 00225870 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 80228914 00225874 7C 08 03 A6 */ mtlr r0 /* 80228918 00225878 38 21 00 A0 */ addi r1, r1, 0xa0 /* 8022891C 0022587C 4E 80 00 20 */ blr .global sub_80228920 sub_80228920: /* 80228920 00225880 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80228924 00225884 7C 08 02 A6 */ mflr r0 /* 80228928 00225888 90 01 00 34 */ stw r0, 0x34(r1) /* 8022892C 0022588C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80228930 00225890 7C BF 2B 78 */ mr r31, r5 /* 80228934 00225894 93 C1 00 28 */ stw r30, 0x28(r1) /* 80228938 00225898 7C 9E 23 78 */ mr r30, r4 /* 8022893C 0022589C 93 A1 00 24 */ stw r29, 0x24(r1) /* 80228940 002258A0 7C 7D 1B 78 */ mr r29, r3 /* 80228944 002258A4 A0 C6 00 00 */ lhz r6, 0(r6) /* 80228948 002258A8 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8022894C 002258AC 7C 06 00 40 */ cmplw r6, r0 /* 80228950 002258B0 41 82 00 44 */ beq lbl_80228994 /* 80228954 002258B4 B0 C1 00 10 */ sth r6, 0x10(r1) /* 80228958 002258B8 7F C3 F3 78 */ mr r3, r30 /* 8022895C 002258BC 38 81 00 10 */ addi r4, r1, 0x10 /* 80228960 002258C0 4B E2 3C 15 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80228964 002258C4 7C 64 1B 79 */ or. r4, r3, r3 /* 80228968 002258C8 41 82 00 2C */ beq lbl_80228994 /* 8022896C 002258CC 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 80228970 002258D0 38 C0 00 0F */ li r6, 0xf /* 80228974 002258D4 41 82 00 08 */ beq lbl_8022897C /* 80228978 002258D8 38 C0 00 0E */ li r6, 0xe lbl_8022897C: /* 8022897C 002258DC A0 1D 00 08 */ lhz r0, 8(r29) /* 80228980 002258E0 7F C3 F3 78 */ mr r3, r30 /* 80228984 002258E4 38 A1 00 0C */ addi r5, r1, 0xc /* 80228988 002258E8 B0 01 00 08 */ sth r0, 8(r1) /* 8022898C 002258EC B0 01 00 0C */ sth r0, 0xc(r1) /* 80228990 002258F0 4B E1 B5 41 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TUniqueId20EScriptObjectMessage lbl_80228994: /* 80228994 002258F4 80 01 00 34 */ lwz r0, 0x34(r1) /* 80228998 002258F8 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8022899C 002258FC 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802289A0 00225900 83 A1 00 24 */ lwz r29, 0x24(r1) /* 802289A4 00225904 7C 08 03 A6 */ mtlr r0 /* 802289A8 00225908 38 21 00 30 */ addi r1, r1, 0x30 /* 802289AC 0022590C 4E 80 00 20 */ blr .global sub_802289b0 sub_802289b0: /* 802289B0 00225910 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802289B4 00225914 7C 08 02 A6 */ mflr r0 /* 802289B8 00225918 90 01 00 14 */ stw r0, 0x14(r1) /* 802289BC 0022591C 38 C1 00 08 */ addi r6, r1, 8 /* 802289C0 00225920 A0 03 07 72 */ lhz r0, 0x772(r3) /* 802289C4 00225924 B0 01 00 08 */ sth r0, 8(r1) /* 802289C8 00225928 4B FF FF 59 */ bl sub_80228920 /* 802289CC 0022592C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802289D0 00225930 7C 08 03 A6 */ mtlr r0 /* 802289D4 00225934 38 21 00 10 */ addi r1, r1, 0x10 /* 802289D8 00225938 4E 80 00 20 */ blr .global sub_802289dc sub_802289dc: /* 802289DC 0022593C 94 21 FF 80 */ stwu r1, -0x80(r1) /* 802289E0 00225940 7C 08 02 A6 */ mflr r0 /* 802289E4 00225944 90 01 00 84 */ stw r0, 0x84(r1) /* 802289E8 00225948 93 E1 00 7C */ stw r31, 0x7c(r1) /* 802289EC 0022594C 93 C1 00 78 */ stw r30, 0x78(r1) /* 802289F0 00225950 7C DE 33 78 */ mr r30, r6 /* 802289F4 00225954 93 A1 00 74 */ stw r29, 0x74(r1) /* 802289F8 00225958 7C BD 2B 78 */ mr r29, r5 /* 802289FC 0022595C 93 81 00 70 */ stw r28, 0x70(r1) /* 80228A00 00225960 7C 7C 1B 78 */ mr r28, r3 /* 80228A04 00225964 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 80228A08 00225968 A0 A5 00 00 */ lhz r5, 0(r5) /* 80228A0C 0022596C 7C 05 00 40 */ cmplw r5, r0 /* 80228A10 00225970 41 82 00 7C */ beq lbl_80228A8C /* 80228A14 00225974 A0 1D 00 00 */ lhz r0, 0(r29) /* 80228A18 00225978 7C 83 23 78 */ mr r3, r4 /* 80228A1C 0022597C 38 81 00 08 */ addi r4, r1, 8 /* 80228A20 00225980 B0 01 00 08 */ sth r0, 8(r1) /* 80228A24 00225984 4B E2 3B 51 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80228A28 00225988 7C 7F 1B 79 */ or. r31, r3, r3 /* 80228A2C 0022598C 41 82 00 58 */ beq lbl_80228A84 /* 80228A30 00225990 7F 84 E3 78 */ mr r4, r28 /* 80228A34 00225994 7F C5 F3 78 */ mr r5, r30 /* 80228A38 00225998 38 61 00 0C */ addi r3, r1, 0xc /* 80228A3C 0022599C 4B E4 FF 3D */ bl "GetLctrTransform__10CPatternedCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80228A40 002259A0 38 61 00 3C */ addi r3, r1, 0x3c /* 80228A44 002259A4 38 81 00 0C */ addi r4, r1, 0xc /* 80228A48 002259A8 48 0E A1 2D */ bl __ct__12CTransform4fFRC12CTransform4f /* 80228A4C 002259AC 38 7F 00 34 */ addi r3, r31, 0x34 /* 80228A50 002259B0 38 81 00 3C */ addi r4, r1, 0x3c /* 80228A54 002259B4 48 0E A0 ED */ bl __as__12CTransform4fFRC12CTransform4f /* 80228A58 002259B8 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 80228A5C 002259BC 38 60 00 01 */ li r3, 1 /* 80228A60 002259C0 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80228A64 002259C4 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 80228A68 002259C8 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 80228A6C 002259CC 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 80228A70 002259D0 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 80228A74 002259D4 88 1F 00 E4 */ lbz r0, 0xe4(r31) /* 80228A78 002259D8 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 80228A7C 002259DC 98 1F 00 E4 */ stb r0, 0xe4(r31) /* 80228A80 002259E0 48 00 00 0C */ b lbl_80228A8C lbl_80228A84: /* 80228A84 002259E4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 80228A88 002259E8 B0 1D 00 00 */ sth r0, 0(r29) lbl_80228A8C: /* 80228A8C 002259EC 80 01 00 84 */ lwz r0, 0x84(r1) /* 80228A90 002259F0 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 80228A94 002259F4 83 C1 00 78 */ lwz r30, 0x78(r1) /* 80228A98 002259F8 83 A1 00 74 */ lwz r29, 0x74(r1) /* 80228A9C 002259FC 83 81 00 70 */ lwz r28, 0x70(r1) /* 80228AA0 00225A00 7C 08 03 A6 */ mtlr r0 /* 80228AA4 00225A04 38 21 00 80 */ addi r1, r1, 0x80 /* 80228AA8 00225A08 4E 80 00 20 */ blr .global sub_80228aac sub_80228aac: /* 80228AAC 00225A0C 94 21 FD F0 */ stwu r1, -0x210(r1) /* 80228AB0 00225A10 7C 08 02 A6 */ mflr r0 /* 80228AB4 00225A14 90 01 02 14 */ stw r0, 0x214(r1) /* 80228AB8 00225A18 BF 41 01 F8 */ stmw r26, 0x1f8(r1) /* 80228ABC 00225A1C 7C 7D 1B 78 */ mr r29, r3 /* 80228AC0 00225A20 7C 9E 23 78 */ mr r30, r4 /* 80228AC4 00225A24 7C BF 2B 78 */ mr r31, r5 /* 80228AC8 00225A28 80 C3 06 68 */ lwz r6, 0x668(r3) /* 80228ACC 00225A2C 3C 06 00 01 */ addis r0, r6, 1 /* 80228AD0 00225A30 28 00 FF FF */ cmplwi r0, 0xffff /* 80228AD4 00225A34 41 82 02 B8 */ beq lbl_80228D8C /* 80228AD8 00225A38 80 BD 00 64 */ lwz r5, 0x64(r29) /* 80228ADC 00225A3C 38 00 00 01 */ li r0, 1 /* 80228AE0 00225A40 80 FD 06 70 */ lwz r7, 0x670(r29) /* 80228AE4 00225A44 38 61 01 A0 */ addi r3, r1, 0x1a0 /* 80228AE8 00225A48 C0 45 00 00 */ lfs f2, 0(r5) /* 80228AEC 00225A4C 38 81 00 C0 */ addi r4, r1, 0xc0 /* 80228AF0 00225A50 C0 25 00 04 */ lfs f1, 4(r5) /* 80228AF4 00225A54 C0 05 00 08 */ lfs f0, 8(r5) /* 80228AF8 00225A58 80 BD 06 6C */ lwz r5, 0x66c(r29) /* 80228AFC 00225A5C D0 41 00 58 */ stfs f2, 0x58(r1) /* 80228B00 00225A60 D0 21 00 5C */ stfs f1, 0x5c(r1) /* 80228B04 00225A64 D0 01 00 60 */ stfs f0, 0x60(r1) /* 80228B08 00225A68 90 C1 00 C0 */ stw r6, 0xc0(r1) /* 80228B0C 00225A6C 90 A1 00 C4 */ stw r5, 0xc4(r1) /* 80228B10 00225A70 D0 41 00 C8 */ stfs f2, 0xc8(r1) /* 80228B14 00225A74 D0 21 00 CC */ stfs f1, 0xcc(r1) /* 80228B18 00225A78 D0 01 00 D0 */ stfs f0, 0xd0(r1) /* 80228B1C 00225A7C 98 01 00 D4 */ stb r0, 0xd4(r1) /* 80228B20 00225A80 90 E1 00 D8 */ stw r7, 0xd8(r1) /* 80228B24 00225A84 4B EE E0 31 */ bl __ct__10CModelDataFRC8CAnimRes /* 80228B28 00225A88 81 5D 06 84 */ lwz r10, 0x684(r29) /* 80228B2C 00225A8C 38 61 01 48 */ addi r3, r1, 0x148 /* 80228B30 00225A90 81 3D 06 88 */ lwz r9, 0x688(r29) /* 80228B34 00225A94 38 81 01 0C */ addi r4, r1, 0x10c /* 80228B38 00225A98 80 FD 06 8C */ lwz r7, 0x68c(r29) /* 80228B3C 00225A9C 39 01 00 64 */ addi r8, r1, 0x64 /* 80228B40 00225AA0 80 DD 06 90 */ lwz r6, 0x690(r29) /* 80228B44 00225AA4 80 BD 06 94 */ lwz r5, 0x694(r29) /* 80228B48 00225AA8 80 1D 06 98 */ lwz r0, 0x698(r29) /* 80228B4C 00225AAC 91 41 00 A8 */ stw r10, 0xa8(r1) /* 80228B50 00225AB0 81 5D 06 80 */ lwz r10, 0x680(r29) /* 80228B54 00225AB4 91 21 00 AC */ stw r9, 0xac(r1) /* 80228B58 00225AB8 A1 3D 06 CE */ lhz r9, 0x6ce(r29) /* 80228B5C 00225ABC 90 E1 00 B0 */ stw r7, 0xb0(r1) /* 80228B60 00225AC0 A0 FD 06 CC */ lhz r7, 0x6cc(r29) /* 80228B64 00225AC4 90 C1 00 B4 */ stw r6, 0xb4(r1) /* 80228B68 00225AC8 80 DD 06 C8 */ lwz r6, 0x6c8(r29) /* 80228B6C 00225ACC 90 A1 00 B8 */ stw r5, 0xb8(r1) /* 80228B70 00225AD0 81 7D 06 AC */ lwz r11, 0x6ac(r29) /* 80228B74 00225AD4 90 01 00 BC */ stw r0, 0xbc(r1) /* 80228B78 00225AD8 81 9D 06 A8 */ lwz r12, 0x6a8(r29) /* 80228B7C 00225ADC 83 9D 06 A4 */ lwz r28, 0x6a4(r29) /* 80228B80 00225AE0 83 7D 06 A0 */ lwz r27, 0x6a0(r29) /* 80228B84 00225AE4 C0 BD 06 B4 */ lfs f5, 0x6b4(r29) /* 80228B88 00225AE8 C0 9D 06 B0 */ lfs f4, 0x6b0(r29) /* 80228B8C 00225AEC 88 A1 00 A8 */ lbz r5, 0xa8(r1) /* 80228B90 00225AF0 C0 61 00 AC */ lfs f3, 0xac(r1) /* 80228B94 00225AF4 C0 41 00 B0 */ lfs f2, 0xb0(r1) /* 80228B98 00225AF8 C0 21 00 B4 */ lfs f1, 0xb4(r1) /* 80228B9C 00225AFC C0 01 00 B8 */ lfs f0, 0xb8(r1) /* 80228BA0 00225B00 88 01 00 BC */ lbz r0, 0xbc(r1) /* 80228BA4 00225B04 D0 81 01 0C */ stfs f4, 0x10c(r1) /* 80228BA8 00225B08 D0 A1 01 10 */ stfs f5, 0x110(r1) /* 80228BAC 00225B0C 91 41 01 14 */ stw r10, 0x114(r1) /* 80228BB0 00225B10 98 A1 01 18 */ stb r5, 0x118(r1) /* 80228BB4 00225B14 D0 61 01 1C */ stfs f3, 0x11c(r1) /* 80228BB8 00225B18 D0 41 01 20 */ stfs f2, 0x120(r1) /* 80228BBC 00225B1C D0 21 01 24 */ stfs f1, 0x124(r1) /* 80228BC0 00225B20 D0 01 01 28 */ stfs f0, 0x128(r1) /* 80228BC4 00225B24 98 01 01 2C */ stb r0, 0x12c(r1) /* 80228BC8 00225B28 93 61 01 30 */ stw r27, 0x130(r1) /* 80228BCC 00225B2C 93 81 01 34 */ stw r28, 0x134(r1) /* 80228BD0 00225B30 91 81 01 38 */ stw r12, 0x138(r1) /* 80228BD4 00225B34 91 61 01 3C */ stw r11, 0x13c(r1) /* 80228BD8 00225B38 90 C1 01 40 */ stw r6, 0x140(r1) /* 80228BDC 00225B3C B0 E1 01 44 */ sth r7, 0x144(r1) /* 80228BE0 00225B40 B1 21 01 46 */ sth r9, 0x146(r1) /* 80228BE4 00225B44 C0 3D 06 C4 */ lfs f1, 0x6c4(r29) /* 80228BE8 00225B48 C0 5D 06 C0 */ lfs f2, 0x6c0(r29) /* 80228BEC 00225B4C C0 7D 06 BC */ lfs f3, 0x6bc(r29) /* 80228BF0 00225B50 C0 1D 06 B8 */ lfs f0, 0x6b8(r29) /* 80228BF4 00225B54 91 41 00 A4 */ stw r10, 0xa4(r1) /* 80228BF8 00225B58 D0 01 00 64 */ stfs f0, 0x64(r1) /* 80228BFC 00225B5C D0 61 00 68 */ stfs f3, 0x68(r1) /* 80228C00 00225B60 D0 41 00 6C */ stfs f2, 0x6c(r1) /* 80228C04 00225B64 D0 21 00 70 */ stfs f1, 0x70(r1) /* 80228C08 00225B68 80 BD 06 7C */ lwz r5, 0x67c(r29) /* 80228C0C 00225B6C 80 DD 06 74 */ lwz r6, 0x674(r29) /* 80228C10 00225B70 A0 FD 06 78 */ lhz r7, 0x678(r29) /* 80228C14 00225B74 48 00 01 8D */ bl sub_80228da0 /* 80228C18 00225B78 3C 60 80 3D */ lis r3, lbl_803D3310@ha /* 80228C1C 00225B7C 3B 80 00 00 */ li r28, 0 /* 80228C20 00225B80 38 63 33 10 */ addi r3, r3, lbl_803D3310@l /* 80228C24 00225B84 3B 40 00 00 */ li r26, 0 /* 80228C28 00225B88 38 83 00 B8 */ addi r4, r3, 0xb8 /* 80228C2C 00225B8C 38 60 04 00 */ li r3, 0x400 /* 80228C30 00225B90 38 A0 00 00 */ li r5, 0 /* 80228C34 00225B94 48 0E CC 39 */ bl __nw__FUlPCcPCc /* 80228C38 00225B98 7C 7B 1B 79 */ or. r27, r3, r3 /* 80228C3C 00225B9C 41 82 00 D8 */ beq lbl_80228D14 /* 80228C40 00225BA0 A0 DD 00 08 */ lhz r6, 8(r29) /* 80228C44 00225BA4 3C 60 80 57 */ lis r3, NullConnectionList__7CEntity@ha /* 80228C48 00225BA8 38 A3 D4 10 */ addi r5, r3, NullConnectionList__7CEntity@l /* 80228C4C 00225BAC C0 02 B5 F4 */ lfs f0, lbl_805AD314@sda21(r2) /* 80228C50 00225BB0 B0 C1 00 20 */ sth r6, 0x20(r1) /* 80228C54 00225BB4 38 61 00 74 */ addi r3, r1, 0x74 /* 80228C58 00225BB8 80 0D A3 88 */ lwz r0, kInvalidEditorId@sda21(r13) /* 80228C5C 00225BBC 38 81 00 38 */ addi r4, r1, 0x38 /* 80228C60 00225BC0 C0 3D 06 9C */ lfs f1, 0x69c(r29) /* 80228C64 00225BC4 B0 C1 00 1C */ sth r6, 0x1c(r1) /* 80228C68 00225BC8 38 C1 00 3C */ addi r6, r1, 0x3c /* 80228C6C 00225BCC D0 21 00 40 */ stfs f1, 0x40(r1) /* 80228C70 00225BD0 D0 01 00 44 */ stfs f0, 0x44(r1) /* 80228C74 00225BD4 90 01 00 3C */ stw r0, 0x3c(r1) /* 80228C78 00225BD8 80 1D 00 04 */ lwz r0, 4(r29) /* 80228C7C 00225BDC 90 01 00 34 */ stw r0, 0x34(r1) /* 80228C80 00225BE0 90 01 00 38 */ stw r0, 0x38(r1) /* 80228C84 00225BE4 4B E2 88 01 */ bl "__ct__11CEntityInfoF7TAreaIdRCQ24rstl48vector<11SConnection,Q24rstl17rmemory_allocator>9TEditorId" /* 80228C88 00225BE8 3C 80 80 3D */ lis r4, lbl_803D3310@ha /* 80228C8C 00225BEC 38 61 00 48 */ addi r3, r1, 0x48 /* 80228C90 00225BF0 38 84 33 10 */ addi r4, r4, lbl_803D3310@l /* 80228C94 00225BF4 3B 80 00 01 */ li r28, 1 /* 80228C98 00225BF8 38 84 00 D0 */ addi r4, r4, 0xd0 /* 80228C9C 00225BFC 4B DD C0 1D */ bl string_l__4rstlFPCc /* 80228CA0 00225C00 A0 1F 00 00 */ lhz r0, 0(r31) /* 80228CA4 00225C04 38 61 00 DC */ addi r3, r1, 0xdc /* 80228CA8 00225C08 38 9D 00 34 */ addi r4, r29, 0x34 /* 80228CAC 00225C0C 3B 40 00 01 */ li r26, 1 /* 80228CB0 00225C10 B0 01 00 18 */ sth r0, 0x18(r1) /* 80228CB4 00225C14 48 0E 9F 8D */ bl GetRotation__12CTransform4fCFv /* 80228CB8 00225C18 38 61 00 8C */ addi r3, r1, 0x8c /* 80228CBC 00225C1C 38 81 01 A0 */ addi r4, r1, 0x1a0 /* 80228CC0 00225C20 38 A1 00 DC */ addi r5, r1, 0xdc /* 80228CC4 00225C24 4B EE CA F1 */ bl GetBounds__10CModelDataCFRC12CTransform4f /* 80228CC8 00225C28 38 1D 05 6C */ addi r0, r29, 0x56c /* 80228CCC 00225C2C 38 7D 06 00 */ addi r3, r29, 0x600 /* 80228CD0 00225C30 90 01 00 08 */ stw r0, 8(r1) /* 80228CD4 00225C34 38 C1 00 20 */ addi r6, r1, 0x20 /* 80228CD8 00225C38 38 01 01 48 */ addi r0, r1, 0x148 /* 80228CDC 00225C3C C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 80228CE0 00225C40 90 61 00 0C */ stw r3, 0xc(r1) /* 80228CE4 00225C44 7F 63 DB 78 */ mr r3, r27 /* 80228CE8 00225C48 38 81 00 18 */ addi r4, r1, 0x18 /* 80228CEC 00225C4C 38 A1 00 48 */ addi r5, r1, 0x48 /* 80228CF0 00225C50 90 C1 00 10 */ stw r6, 0x10(r1) /* 80228CF4 00225C54 38 C1 00 74 */ addi r6, r1, 0x74 /* 80228CF8 00225C58 38 FD 00 34 */ addi r7, r29, 0x34 /* 80228CFC 00225C5C 39 01 01 A0 */ addi r8, r1, 0x1a0 /* 80228D00 00225C60 90 01 00 14 */ stw r0, 0x14(r1) /* 80228D04 00225C64 39 21 00 8C */ addi r9, r1, 0x8c /* 80228D08 00225C68 39 41 00 40 */ addi r10, r1, 0x40 /* 80228D0C 00225C6C 48 00 82 7D */ bl __ct__16CGrenadeLauncherF9TUniqueId /* 80228D10 00225C70 7C 7B 1B 78 */ mr r27, r3 lbl_80228D14: /* 80228D14 00225C74 7F 40 07 75 */ extsb. r0, r26 /* 80228D18 00225C78 41 82 00 0C */ beq lbl_80228D24 /* 80228D1C 00225C7C 38 61 00 48 */ addi r3, r1, 0x48 /* 80228D20 00225C80 48 11 4D C1 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_80228D24: /* 80228D24 00225C84 7F 80 07 75 */ extsb. r0, r28 /* 80228D28 00225C88 41 82 00 44 */ beq lbl_80228D6C /* 80228D2C 00225C8C 80 01 00 7C */ lwz r0, 0x7c(r1) /* 80228D30 00225C90 80 61 00 84 */ lwz r3, 0x84(r1) /* 80228D34 00225C94 1C 00 00 0C */ mulli r0, r0, 0xc /* 80228D38 00225C98 90 61 00 28 */ stw r3, 0x28(r1) /* 80228D3C 00225C9C 7C 64 1B 78 */ mr r4, r3 /* 80228D40 00225CA0 7C 03 02 14 */ add r0, r3, r0 /* 80228D44 00225CA4 90 61 00 24 */ stw r3, 0x24(r1) /* 80228D48 00225CA8 90 01 00 30 */ stw r0, 0x30(r1) /* 80228D4C 00225CAC 90 01 00 2C */ stw r0, 0x2c(r1) /* 80228D50 00225CB0 48 00 00 08 */ b lbl_80228D58 lbl_80228D54: /* 80228D54 00225CB4 38 84 00 0C */ addi r4, r4, 0xc lbl_80228D58: /* 80228D58 00225CB8 7C 04 00 40 */ cmplw r4, r0 /* 80228D5C 00225CBC 40 82 FF F8 */ bne lbl_80228D54 /* 80228D60 00225CC0 28 03 00 00 */ cmplwi r3, 0 /* 80228D64 00225CC4 41 82 00 08 */ beq lbl_80228D6C /* 80228D68 00225CC8 48 0E CB C9 */ bl Free__7CMemoryFPCv lbl_80228D6C: /* 80228D6C 00225CCC 28 1B 00 00 */ cmplwi r27, 0 /* 80228D70 00225CD0 41 82 00 10 */ beq lbl_80228D80 /* 80228D74 00225CD4 7F C3 F3 78 */ mr r3, r30 /* 80228D78 00225CD8 7F 64 DB 78 */ mr r4, r27 /* 80228D7C 00225CDC 4B E2 3F 79 */ bl AddObject__13CStateManagerFP7CEntity lbl_80228D80: /* 80228D80 00225CE0 38 61 01 A0 */ addi r3, r1, 0x1a0 /* 80228D84 00225CE4 38 80 FF FF */ li r4, -1 /* 80228D88 00225CE8 4B EE DC C5 */ bl __dt__10CModelDataFv lbl_80228D8C: /* 80228D8C 00225CEC BB 41 01 F8 */ lmw r26, 0x1f8(r1) /* 80228D90 00225CF0 80 01 02 14 */ lwz r0, 0x214(r1) /* 80228D94 00225CF4 7C 08 03 A6 */ mtlr r0 /* 80228D98 00225CF8 38 21 02 10 */ addi r1, r1, 0x210 /* 80228D9C 00225CFC 4E 80 00 20 */ blr .global sub_80228da0 sub_80228da0: /* 80228DA0 00225D00 C0 04 00 00 */ lfs f0, 0(r4) /* 80228DA4 00225D04 D0 03 00 00 */ stfs f0, 0(r3) /* 80228DA8 00225D08 C0 04 00 04 */ lfs f0, 4(r4) /* 80228DAC 00225D0C D0 03 00 04 */ stfs f0, 4(r3) /* 80228DB0 00225D10 80 04 00 08 */ lwz r0, 8(r4) /* 80228DB4 00225D14 90 03 00 08 */ stw r0, 8(r3) /* 80228DB8 00225D18 88 04 00 0C */ lbz r0, 0xc(r4) /* 80228DBC 00225D1C 98 03 00 0C */ stb r0, 0xc(r3) /* 80228DC0 00225D20 C0 04 00 10 */ lfs f0, 0x10(r4) /* 80228DC4 00225D24 D0 03 00 10 */ stfs f0, 0x10(r3) /* 80228DC8 00225D28 C0 04 00 14 */ lfs f0, 0x14(r4) /* 80228DCC 00225D2C D0 03 00 14 */ stfs f0, 0x14(r3) /* 80228DD0 00225D30 C0 04 00 18 */ lfs f0, 0x18(r4) /* 80228DD4 00225D34 D0 03 00 18 */ stfs f0, 0x18(r3) /* 80228DD8 00225D38 C0 04 00 1C */ lfs f0, 0x1c(r4) /* 80228DDC 00225D3C D0 03 00 1C */ stfs f0, 0x1c(r3) /* 80228DE0 00225D40 88 04 00 20 */ lbz r0, 0x20(r4) /* 80228DE4 00225D44 98 03 00 20 */ stb r0, 0x20(r3) /* 80228DE8 00225D48 80 04 00 24 */ lwz r0, 0x24(r4) /* 80228DEC 00225D4C 90 03 00 24 */ stw r0, 0x24(r3) /* 80228DF0 00225D50 80 04 00 28 */ lwz r0, 0x28(r4) /* 80228DF4 00225D54 90 03 00 28 */ stw r0, 0x28(r3) /* 80228DF8 00225D58 80 04 00 2C */ lwz r0, 0x2c(r4) /* 80228DFC 00225D5C 90 03 00 2C */ stw r0, 0x2c(r3) /* 80228E00 00225D60 80 04 00 30 */ lwz r0, 0x30(r4) /* 80228E04 00225D64 90 03 00 30 */ stw r0, 0x30(r3) /* 80228E08 00225D68 80 04 00 34 */ lwz r0, 0x34(r4) /* 80228E0C 00225D6C 90 03 00 34 */ stw r0, 0x34(r3) /* 80228E10 00225D70 A0 04 00 38 */ lhz r0, 0x38(r4) /* 80228E14 00225D74 B0 03 00 38 */ sth r0, 0x38(r3) /* 80228E18 00225D78 A0 04 00 3A */ lhz r0, 0x3a(r4) /* 80228E1C 00225D7C B0 03 00 3A */ sth r0, 0x3a(r3) /* 80228E20 00225D80 90 A3 00 3C */ stw r5, 0x3c(r3) /* 80228E24 00225D84 90 C3 00 40 */ stw r6, 0x40(r3) /* 80228E28 00225D88 B0 E3 00 44 */ sth r7, 0x44(r3) /* 80228E2C 00225D8C C0 08 00 00 */ lfs f0, 0(r8) /* 80228E30 00225D90 D0 03 00 48 */ stfs f0, 0x48(r3) /* 80228E34 00225D94 C0 08 00 04 */ lfs f0, 4(r8) /* 80228E38 00225D98 D0 03 00 4C */ stfs f0, 0x4c(r3) /* 80228E3C 00225D9C C0 08 00 08 */ lfs f0, 8(r8) /* 80228E40 00225DA0 D0 03 00 50 */ stfs f0, 0x50(r3) /* 80228E44 00225DA4 C0 08 00 0C */ lfs f0, 0xc(r8) /* 80228E48 00225DA8 D0 03 00 54 */ stfs f0, 0x54(r3) /* 80228E4C 00225DAC 4E 80 00 20 */ blr .global sub_80228e50 sub_80228e50: /* 80228E50 00225DB0 C0 43 07 B8 */ lfs f2, 0x7b8(r3) /* 80228E54 00225DB4 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 80228E58 00225DB8 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80228E5C 00225DBC 40 81 00 0C */ ble lbl_80228E68 /* 80228E60 00225DC0 EC 02 08 28 */ fsubs f0, f2, f1 /* 80228E64 00225DC4 D0 03 07 B8 */ stfs f0, 0x7b8(r3) lbl_80228E68: /* 80228E68 00225DC8 C0 43 07 AC */ lfs f2, 0x7ac(r3) /* 80228E6C 00225DCC C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 80228E70 00225DD0 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80228E74 00225DD4 4C 81 00 20 */ blelr /* 80228E78 00225DD8 EC 02 08 28 */ fsubs f0, f2, f1 /* 80228E7C 00225DDC D0 03 07 AC */ stfs f0, 0x7ac(r3) /* 80228E80 00225DE0 4E 80 00 20 */ blr .global sub_80228e84 sub_80228e84: /* 80228E84 00225DE4 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80228E88 00225DE8 7C 08 02 A6 */ mflr r0 /* 80228E8C 00225DEC 90 01 00 54 */ stw r0, 0x54(r1) /* 80228E90 00225DF0 DB E1 00 40 */ stfd f31, 0x40(r1) /* 80228E94 00225DF4 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80228E98 00225DF8 DB C1 00 30 */ stfd f30, 0x30(r1) /* 80228E9C 00225DFC F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0 /* 80228EA0 00225E00 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80228EA4 00225E04 93 C1 00 28 */ stw r30, 0x28(r1) /* 80228EA8 00225E08 93 A1 00 24 */ stw r29, 0x24(r1) /* 80228EAC 00225E0C 93 81 00 20 */ stw r28, 0x20(r1) /* 80228EB0 00225E10 81 83 00 00 */ lwz r12, 0(r3) /* 80228EB4 00225E14 7C 7C 1B 78 */ mr r28, r3 /* 80228EB8 00225E18 7C 9D 23 78 */ mr r29, r4 /* 80228EBC 00225E1C 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80228EC0 00225E20 7D 89 03 A6 */ mtctr r12 /* 80228EC4 00225E24 4E 80 04 21 */ bctrl /* 80228EC8 00225E28 C3 E3 00 00 */ lfs f31, 0(r3) /* 80228ECC 00225E2C 7F 83 E3 78 */ mr r3, r28 /* 80228ED0 00225E30 81 9C 00 00 */ lwz r12, 0(r28) /* 80228ED4 00225E34 81 8C 02 CC */ lwz r12, 0x2cc(r12) /* 80228ED8 00225E38 7D 89 03 A6 */ mtctr r12 /* 80228EDC 00225E3C 4E 80 04 21 */ bctrl /* 80228EE0 00225E40 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80228EE4 00225E44 41 82 00 B4 */ beq lbl_80228F98 /* 80228EE8 00225E48 A0 1C 07 70 */ lhz r0, 0x770(r28) /* 80228EEC 00225E4C 7F A3 EB 78 */ mr r3, r29 /* 80228EF0 00225E50 38 81 00 08 */ addi r4, r1, 8 /* 80228EF4 00225E54 B0 01 00 08 */ sth r0, 8(r1) /* 80228EF8 00225E58 4B E2 36 7D */ bl ObjectById__13CStateManagerF9TUniqueId /* 80228EFC 00225E5C 7C 64 1B 78 */ mr r4, r3 /* 80228F00 00225E60 38 61 00 0C */ addi r3, r1, 0xc /* 80228F04 00225E64 4B E8 64 49 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 80228F08 00225E68 83 C3 00 04 */ lwz r30, 4(r3) /* 80228F0C 00225E6C 28 1E 00 00 */ cmplwi r30, 0 /* 80228F10 00225E70 41 82 00 88 */ beq lbl_80228F98 /* 80228F14 00225E74 7F C3 F3 78 */ mr r3, r30 /* 80228F18 00225E78 7F A4 EB 78 */ mr r4, r29 /* 80228F1C 00225E7C 81 9E 00 00 */ lwz r12, 0(r30) /* 80228F20 00225E80 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80228F24 00225E84 7D 89 03 A6 */ mtctr r12 /* 80228F28 00225E88 4E 80 04 21 */ bctrl /* 80228F2C 00225E8C C3 C3 00 00 */ lfs f30, 0(r3) /* 80228F30 00225E90 7F 83 E3 78 */ mr r3, r28 /* 80228F34 00225E94 81 9C 00 00 */ lwz r12, 0(r28) /* 80228F38 00225E98 7F A4 EB 78 */ mr r4, r29 /* 80228F3C 00225E9C 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80228F40 00225EA0 7D 89 03 A6 */ mtctr r12 /* 80228F44 00225EA4 4E 80 04 21 */ bctrl /* 80228F48 00225EA8 EC 1F F0 28 */ fsubs f0, f31, f30 /* 80228F4C 00225EAC 7F A4 EB 78 */ mr r4, r29 /* 80228F50 00225EB0 EC 1F 00 28 */ fsubs f0, f31, f0 /* 80228F54 00225EB4 D0 03 00 00 */ stfs f0, 0(r3) /* 80228F58 00225EB8 7F 83 E3 78 */ mr r3, r28 /* 80228F5C 00225EBC 81 9C 00 00 */ lwz r12, 0(r28) /* 80228F60 00225EC0 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80228F64 00225EC4 7D 89 03 A6 */ mtctr r12 /* 80228F68 00225EC8 4E 80 04 21 */ bctrl /* 80228F6C 00225ECC 7C 7F 1B 78 */ mr r31, r3 /* 80228F70 00225ED0 7F C3 F3 78 */ mr r3, r30 /* 80228F74 00225ED4 81 9E 00 00 */ lwz r12, 0(r30) /* 80228F78 00225ED8 7F A4 EB 78 */ mr r4, r29 /* 80228F7C 00225EDC 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80228F80 00225EE0 7D 89 03 A6 */ mtctr r12 /* 80228F84 00225EE4 4E 80 04 21 */ bctrl /* 80228F88 00225EE8 C0 1F 00 00 */ lfs f0, 0(r31) /* 80228F8C 00225EEC D0 03 00 00 */ stfs f0, 0(r3) /* 80228F90 00225EF0 C0 1F 00 04 */ lfs f0, 4(r31) /* 80228F94 00225EF4 D0 03 00 04 */ stfs f0, 4(r3) lbl_80228F98: /* 80228F98 00225EF8 7F 83 E3 78 */ mr r3, r28 /* 80228F9C 00225EFC 7F A4 EB 78 */ mr r4, r29 /* 80228FA0 00225F00 81 9C 00 00 */ lwz r12, 0(r28) /* 80228FA4 00225F04 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80228FA8 00225F08 7D 89 03 A6 */ mtctr r12 /* 80228FAC 00225F0C 4E 80 04 21 */ bctrl /* 80228FB0 00225F10 C0 23 00 00 */ lfs f1, 0(r3) /* 80228FB4 00225F14 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 80228FB8 00225F18 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80228FBC 00225F1C 4C 40 13 82 */ cror 2, 0, 2 /* 80228FC0 00225F20 40 82 00 3C */ bne lbl_80228FFC /* 80228FC4 00225F24 81 9C 00 00 */ lwz r12, 0(r28) /* 80228FC8 00225F28 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 80228FCC 00225F2C 38 A4 66 A0 */ addi r5, r4, sZeroVector__9CVector3f@l /* 80228FD0 00225F30 7F 83 E3 78 */ mr r3, r28 /* 80228FD4 00225F34 81 8C 00 84 */ lwz r12, 0x84(r12) /* 80228FD8 00225F38 7F A4 EB 78 */ mr r4, r29 /* 80228FDC 00225F3C 38 C0 00 14 */ li r6, 0x14 /* 80228FE0 00225F40 7D 89 03 A6 */ mtctr r12 /* 80228FE4 00225F44 4E 80 04 21 */ bctrl /* 80228FE8 00225F48 7F 83 E3 78 */ mr r3, r28 /* 80228FEC 00225F4C 7F A6 EB 78 */ mr r6, r29 /* 80228FF0 00225F50 38 80 00 29 */ li r4, 0x29 /* 80228FF4 00225F54 38 A0 00 28 */ li r5, 0x28 /* 80228FF8 00225F58 4B E2 AE DD */ bl RemoveMaterial__6CActorF14EMaterialTypes14EMaterialTypesR13CStateManager lbl_80228FFC: /* 80228FFC 00225F5C E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 80229000 00225F60 CB E1 00 40 */ lfd f31, 0x40(r1) /* 80229004 00225F64 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0 /* 80229008 00225F68 CB C1 00 30 */ lfd f30, 0x30(r1) /* 8022900C 00225F6C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80229010 00225F70 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80229014 00225F74 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80229018 00225F78 80 01 00 54 */ lwz r0, 0x54(r1) /* 8022901C 00225F7C 83 81 00 20 */ lwz r28, 0x20(r1) /* 80229020 00225F80 7C 08 03 A6 */ mtlr r0 /* 80229024 00225F84 38 21 00 50 */ addi r1, r1, 0x50 /* 80229028 00225F88 4E 80 00 20 */ blr .global sub_8022902c sub_8022902c: /* 8022902C 00225F8C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80229030 00225F90 7C 08 02 A6 */ mflr r0 /* 80229034 00225F94 90 01 00 54 */ stw r0, 0x54(r1) /* 80229038 00225F98 DB E1 00 40 */ stfd f31, 0x40(r1) /* 8022903C 00225F9C F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80229040 00225FA0 DB C1 00 30 */ stfd f30, 0x30(r1) /* 80229044 00225FA4 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0 /* 80229048 00225FA8 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8022904C 00225FAC 93 C1 00 28 */ stw r30, 0x28(r1) /* 80229050 00225FB0 93 A1 00 24 */ stw r29, 0x24(r1) /* 80229054 00225FB4 93 81 00 20 */ stw r28, 0x20(r1) /* 80229058 00225FB8 81 83 00 00 */ lwz r12, 0(r3) /* 8022905C 00225FBC 7C 7C 1B 78 */ mr r28, r3 /* 80229060 00225FC0 7C 9D 23 78 */ mr r29, r4 /* 80229064 00225FC4 7C BE 2B 78 */ mr r30, r5 /* 80229068 00225FC8 81 8C 00 34 */ lwz r12, 0x34(r12) /* 8022906C 00225FCC 7D 89 03 A6 */ mtctr r12 /* 80229070 00225FD0 4E 80 04 21 */ bctrl /* 80229074 00225FD4 A0 9E 00 00 */ lhz r4, 0(r30) /* 80229078 00225FD8 7C 7F 1B 78 */ mr r31, r3 /* 8022907C 00225FDC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 80229080 00225FE0 7C 04 00 40 */ cmplw r4, r0 /* 80229084 00225FE4 41 82 00 60 */ beq lbl_802290E4 /* 80229088 00225FE8 B0 81 00 08 */ sth r4, 8(r1) /* 8022908C 00225FEC 7F A3 EB 78 */ mr r3, r29 /* 80229090 00225FF0 38 81 00 08 */ addi r4, r1, 8 /* 80229094 00225FF4 4B E2 34 E1 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80229098 00225FF8 7C 64 1B 78 */ mr r4, r3 /* 8022909C 00225FFC 38 61 00 0C */ addi r3, r1, 0xc /* 802290A0 00226000 4B E8 62 AD */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 802290A4 00226004 83 C3 00 04 */ lwz r30, 4(r3) /* 802290A8 00226008 28 1E 00 00 */ cmplwi r30, 0 /* 802290AC 0022600C 41 82 00 38 */ beq lbl_802290E4 /* 802290B0 00226010 7F C3 F3 78 */ mr r3, r30 /* 802290B4 00226014 7F A4 EB 78 */ mr r4, r29 /* 802290B8 00226018 81 9E 00 00 */ lwz r12, 0(r30) /* 802290BC 0022601C C3 FF 00 04 */ lfs f31, 4(r31) /* 802290C0 00226020 81 8C 00 34 */ lwz r12, 0x34(r12) /* 802290C4 00226024 C3 DC 06 9C */ lfs f30, 0x69c(r28) /* 802290C8 00226028 7D 89 03 A6 */ mtctr r12 /* 802290CC 0022602C 4E 80 04 21 */ bctrl /* 802290D0 00226030 D3 C3 00 00 */ stfs f30, 0(r3) /* 802290D4 00226034 38 9C 05 6C */ addi r4, r28, 0x56c /* 802290D8 00226038 D3 E3 00 04 */ stfs f31, 4(r3) /* 802290DC 0022603C 7F C3 F3 78 */ mr r3, r30 /* 802290E0 00226040 4B F7 FA B9 */ bl SetDamageVulnerability__15CCollisionActorFRC20CDamageVulnerability lbl_802290E4: /* 802290E4 00226044 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 802290E8 00226048 CB E1 00 40 */ lfd f31, 0x40(r1) /* 802290EC 0022604C E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0 /* 802290F0 00226050 CB C1 00 30 */ lfd f30, 0x30(r1) /* 802290F4 00226054 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802290F8 00226058 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802290FC 0022605C 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80229100 00226060 80 01 00 54 */ lwz r0, 0x54(r1) /* 80229104 00226064 83 81 00 20 */ lwz r28, 0x20(r1) /* 80229108 00226068 7C 08 03 A6 */ mtlr r0 /* 8022910C 0022606C 38 21 00 50 */ addi r1, r1, 0x50 /* 80229110 00226070 4E 80 00 20 */ blr .global sub_80229114 sub_80229114: /* 80229114 00226074 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80229118 00226078 7C 08 02 A6 */ mflr r0 /* 8022911C 0022607C 90 01 00 34 */ stw r0, 0x34(r1) /* 80229120 00226080 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80229124 00226084 93 C1 00 28 */ stw r30, 0x28(r1) /* 80229128 00226088 93 A1 00 24 */ stw r29, 0x24(r1) /* 8022912C 0022608C 7C 9D 23 78 */ mr r29, r4 /* 80229130 00226090 93 81 00 20 */ stw r28, 0x20(r1) /* 80229134 00226094 7C 7C 1B 78 */ mr r28, r3 /* 80229138 00226098 81 83 00 00 */ lwz r12, 0(r3) /* 8022913C 0022609C 81 8C 00 34 */ lwz r12, 0x34(r12) /* 80229140 002260A0 7D 89 03 A6 */ mtctr r12 /* 80229144 002260A4 4E 80 04 21 */ bctrl /* 80229148 002260A8 7C 7F 1B 78 */ mr r31, r3 /* 8022914C 002260AC 7F 83 E3 78 */ mr r3, r28 /* 80229150 002260B0 C0 1F 00 00 */ lfs f0, 0(r31) /* 80229154 002260B4 D0 1C 07 B4 */ stfs f0, 0x7b4(r28) /* 80229158 002260B8 81 9C 00 00 */ lwz r12, 0(r28) /* 8022915C 002260BC 81 8C 02 CC */ lwz r12, 0x2cc(r12) /* 80229160 002260C0 7D 89 03 A6 */ mtctr r12 /* 80229164 002260C4 4E 80 04 21 */ bctrl /* 80229168 002260C8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022916C 002260CC 41 82 00 64 */ beq lbl_802291D0 /* 80229170 002260D0 A0 1C 07 70 */ lhz r0, 0x770(r28) /* 80229174 002260D4 7F A3 EB 78 */ mr r3, r29 /* 80229178 002260D8 38 81 00 0C */ addi r4, r1, 0xc /* 8022917C 002260DC B0 01 00 0C */ sth r0, 0xc(r1) /* 80229180 002260E0 4B E2 33 F5 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80229184 002260E4 7C 64 1B 78 */ mr r4, r3 /* 80229188 002260E8 38 61 00 10 */ addi r3, r1, 0x10 /* 8022918C 002260EC 4B E8 61 C1 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 80229190 002260F0 83 C3 00 04 */ lwz r30, 4(r3) /* 80229194 002260F4 28 1E 00 00 */ cmplwi r30, 0 /* 80229198 002260F8 41 82 00 38 */ beq lbl_802291D0 /* 8022919C 002260FC 7F C3 F3 78 */ mr r3, r30 /* 802291A0 00226100 7F A4 EB 78 */ mr r4, r29 /* 802291A4 00226104 81 9E 00 00 */ lwz r12, 0(r30) /* 802291A8 00226108 81 8C 00 34 */ lwz r12, 0x34(r12) /* 802291AC 0022610C 7D 89 03 A6 */ mtctr r12 /* 802291B0 00226110 4E 80 04 21 */ bctrl /* 802291B4 00226114 C0 1F 00 00 */ lfs f0, 0(r31) /* 802291B8 00226118 38 9C 05 6C */ addi r4, r28, 0x56c /* 802291BC 0022611C D0 03 00 00 */ stfs f0, 0(r3) /* 802291C0 00226120 C0 1F 00 04 */ lfs f0, 4(r31) /* 802291C4 00226124 D0 03 00 04 */ stfs f0, 4(r3) /* 802291C8 00226128 7F C3 F3 78 */ mr r3, r30 /* 802291CC 0022612C 4B F7 F9 CD */ bl SetDamageVulnerability__15CCollisionActorFRC20CDamageVulnerability lbl_802291D0: /* 802291D0 00226130 A0 1C 07 72 */ lhz r0, 0x772(r28) /* 802291D4 00226134 7F 83 E3 78 */ mr r3, r28 /* 802291D8 00226138 7F A4 EB 78 */ mr r4, r29 /* 802291DC 0022613C 38 A1 00 08 */ addi r5, r1, 8 /* 802291E0 00226140 B0 01 00 08 */ sth r0, 8(r1) /* 802291E4 00226144 4B FF FE 49 */ bl sub_8022902c /* 802291E8 00226148 80 01 00 34 */ lwz r0, 0x34(r1) /* 802291EC 0022614C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802291F0 00226150 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802291F4 00226154 83 A1 00 24 */ lwz r29, 0x24(r1) /* 802291F8 00226158 83 81 00 20 */ lwz r28, 0x20(r1) /* 802291FC 0022615C 7C 08 03 A6 */ mtlr r0 /* 80229200 00226160 38 21 00 30 */ addi r1, r1, 0x30 /* 80229204 00226164 4E 80 00 20 */ blr .global sub_80229208 sub_80229208: /* 80229208 00226168 80 83 04 50 */ lwz r4, 0x450(r3) /* 8022920C 0022616C 38 60 00 00 */ li r3, 0 /* 80229210 00226170 80 04 02 EC */ lwz r0, 0x2ec(r4) /* 80229214 00226174 2C 00 00 00 */ cmpwi r0, 0 /* 80229218 00226178 4C 82 00 20 */ bnelr /* 8022921C 0022617C 80 84 02 B8 */ lwz r4, 0x2b8(r4) /* 80229220 00226180 38 00 00 01 */ li r0, 1 /* 80229224 00226184 2C 04 00 05 */ cmpwi r4, 5 /* 80229228 00226188 41 82 00 10 */ beq lbl_80229238 /* 8022922C 0022618C 2C 04 00 08 */ cmpwi r4, 8 /* 80229230 00226190 41 82 00 08 */ beq lbl_80229238 /* 80229234 00226194 7C 60 1B 78 */ mr r0, r3 lbl_80229238: /* 80229238 00226198 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 8022923C 0022619C 4D 82 00 20 */ beqlr /* 80229240 002261A0 38 60 00 01 */ li r3, 1 /* 80229244 002261A4 4E 80 00 20 */ blr .global sub_80229248 sub_80229248: /* 80229248 002261A8 94 21 FF A0 */ stwu r1, -0x60(r1) /* 8022924C 002261AC 7C 08 02 A6 */ mflr r0 /* 80229250 002261B0 90 01 00 64 */ stw r0, 0x64(r1) /* 80229254 002261B4 DB E1 00 50 */ stfd f31, 0x50(r1) /* 80229258 002261B8 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 8022925C 002261BC 93 E1 00 4C */ stw r31, 0x4c(r1) /* 80229260 002261C0 7C 7F 1B 78 */ mr r31, r3 /* 80229264 002261C4 81 83 00 00 */ lwz r12, 0(r3) /* 80229268 002261C8 80 83 00 64 */ lwz r4, 0x64(r3) /* 8022926C 002261CC C0 02 B5 F8 */ lfs f0, lbl_805AD318@sda21(r2) /* 80229270 002261D0 C0 44 00 04 */ lfs f2, 4(r4) /* 80229274 002261D4 C0 64 00 00 */ lfs f3, 0(r4) /* 80229278 002261D8 C0 24 00 08 */ lfs f1, 8(r4) /* 8022927C 002261DC EF E0 00 B2 */ fmuls f31, f0, f2 /* 80229280 002261E0 81 8C 02 D0 */ lwz r12, 0x2d0(r12) /* 80229284 002261E4 D0 61 00 20 */ stfs f3, 0x20(r1) /* 80229288 002261E8 D0 41 00 24 */ stfs f2, 0x24(r1) /* 8022928C 002261EC D0 21 00 28 */ stfs f1, 0x28(r1) /* 80229290 002261F0 7D 89 03 A6 */ mtctr r12 /* 80229294 002261F4 4E 80 04 21 */ bctrl /* 80229298 002261F8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022929C 002261FC 41 82 00 0C */ beq lbl_802292A8 /* 802292A0 00226200 C0 22 B5 FC */ lfs f1, lbl_805AD31C@sda21(r2) /* 802292A4 00226204 48 00 00 08 */ b lbl_802292AC lbl_802292A8: /* 802292A8 00226208 C0 22 B5 CC */ lfs f1, lbl_805AD2EC@sda21(r2) lbl_802292AC: /* 802292AC 0022620C FC 40 F8 50 */ fneg f2, f31 /* 802292B0 00226210 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 802292B4 00226214 EC 21 07 F2 */ fmuls f1, f1, f31 /* 802292B8 00226218 D3 E1 00 08 */ stfs f31, 8(r1) /* 802292BC 0022621C 38 61 00 2C */ addi r3, r1, 0x2c /* 802292C0 00226220 38 81 00 14 */ addi r4, r1, 0x14 /* 802292C4 00226224 D3 E1 00 0C */ stfs f31, 0xc(r1) /* 802292C8 00226228 38 A1 00 08 */ addi r5, r1, 8 /* 802292CC 0022622C D0 21 00 10 */ stfs f1, 0x10(r1) /* 802292D0 00226230 D0 41 00 14 */ stfs f2, 0x14(r1) /* 802292D4 00226234 D0 41 00 18 */ stfs f2, 0x18(r1) /* 802292D8 00226238 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 802292DC 0022623C 48 10 F2 2D */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f /* 802292E0 00226240 7F E3 FB 78 */ mr r3, r31 /* 802292E4 00226244 38 81 00 2C */ addi r4, r1, 0x2c /* 802292E8 00226248 4B EF 13 71 */ bl SetBoundingBox__13CPhysicsActorFRC6CAABox /* 802292EC 0022624C 80 61 00 2C */ lwz r3, 0x2c(r1) /* 802292F0 00226250 80 01 00 30 */ lwz r0, 0x30(r1) /* 802292F4 00226254 C0 02 B5 C8 */ lfs f0, lbl_805AD2E8@sda21(r2) /* 802292F8 00226258 90 7F 07 48 */ stw r3, 0x748(r31) /* 802292FC 0022625C EC 00 07 F2 */ fmuls f0, f0, f31 /* 80229300 00226260 90 1F 07 4C */ stw r0, 0x74c(r31) /* 80229304 00226264 80 01 00 34 */ lwz r0, 0x34(r1) /* 80229308 00226268 90 1F 07 50 */ stw r0, 0x750(r31) /* 8022930C 0022626C 80 61 00 38 */ lwz r3, 0x38(r1) /* 80229310 00226270 80 01 00 3C */ lwz r0, 0x3c(r1) /* 80229314 00226274 90 7F 07 54 */ stw r3, 0x754(r31) /* 80229318 00226278 90 1F 07 58 */ stw r0, 0x758(r31) /* 8022931C 0022627C 80 01 00 40 */ lwz r0, 0x40(r1) /* 80229320 00226280 90 1F 07 5C */ stw r0, 0x75c(r31) /* 80229324 00226284 D3 FF 08 A4 */ stfs f31, 0x8a4(r31) /* 80229328 00226288 D0 1F 08 A0 */ stfs f0, 0x8a0(r31) /* 8022932C 0022628C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 80229330 00226290 80 01 00 64 */ lwz r0, 0x64(r1) /* 80229334 00226294 CB E1 00 50 */ lfd f31, 0x50(r1) /* 80229338 00226298 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 8022933C 0022629C 7C 08 03 A6 */ mtlr r0 /* 80229340 002262A0 38 21 00 60 */ addi r1, r1, 0x60 /* 80229344 002262A4 4E 80 00 20 */ blr .global sub_80229348 sub_80229348: /* 80229348 002262A8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8022934C 002262AC 7C 08 02 A6 */ mflr r0 /* 80229350 002262B0 90 01 00 34 */ stw r0, 0x34(r1) /* 80229354 002262B4 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80229358 002262B8 93 C1 00 28 */ stw r30, 0x28(r1) /* 8022935C 002262BC 7C DE 33 78 */ mr r30, r6 /* 80229360 002262C0 93 A1 00 24 */ stw r29, 0x24(r1) /* 80229364 002262C4 7C BD 2B 78 */ mr r29, r5 /* 80229368 002262C8 3B FD 00 04 */ addi r31, r29, 4 /* 8022936C 002262CC 93 81 00 20 */ stw r28, 0x20(r1) /* 80229370 002262D0 7C 9C 23 78 */ mr r28, r4 /* 80229374 002262D4 48 00 00 4C */ b lbl_802293C0 lbl_80229378: /* 80229378 002262D8 A0 1F 00 00 */ lhz r0, 0(r31) /* 8022937C 002262DC 7F 83 E3 78 */ mr r3, r28 /* 80229380 002262E0 38 81 00 08 */ addi r4, r1, 8 /* 80229384 002262E4 B0 01 00 08 */ sth r0, 8(r1) /* 80229388 002262E8 4B E2 31 ED */ bl ObjectById__13CStateManagerF9TUniqueId /* 8022938C 002262EC 7C 64 1B 78 */ mr r4, r3 /* 80229390 002262F0 38 61 00 0C */ addi r3, r1, 0xc /* 80229394 002262F4 4B E8 5F B9 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 80229398 002262F8 80 63 00 04 */ lwz r3, 4(r3) /* 8022939C 002262FC 28 03 00 00 */ cmplwi r3, 0 /* 802293A0 00226300 41 82 00 1C */ beq lbl_802293BC /* 802293A4 00226304 C0 1E 00 00 */ lfs f0, 0(r30) /* 802293A8 00226308 D0 03 03 04 */ stfs f0, 0x304(r3) /* 802293AC 0022630C C0 1E 00 04 */ lfs f0, 4(r30) /* 802293B0 00226310 D0 03 03 08 */ stfs f0, 0x308(r3) /* 802293B4 00226314 C0 1E 00 08 */ lfs f0, 8(r30) /* 802293B8 00226318 D0 03 03 0C */ stfs f0, 0x30c(r3) lbl_802293BC: /* 802293BC 0022631C 3B FF 00 02 */ addi r31, r31, 2 lbl_802293C0: /* 802293C0 00226320 80 1D 00 00 */ lwz r0, 0(r29) /* 802293C4 00226324 54 00 08 3C */ slwi r0, r0, 1 /* 802293C8 00226328 7C 7D 02 14 */ add r3, r29, r0 /* 802293CC 0022632C 38 03 00 04 */ addi r0, r3, 4 /* 802293D0 00226330 7C 1F 00 40 */ cmplw r31, r0 /* 802293D4 00226334 40 82 FF A4 */ bne lbl_80229378 /* 802293D8 00226338 80 01 00 34 */ lwz r0, 0x34(r1) /* 802293DC 0022633C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802293E0 00226340 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802293E4 00226344 83 A1 00 24 */ lwz r29, 0x24(r1) /* 802293E8 00226348 83 81 00 20 */ lwz r28, 0x20(r1) /* 802293EC 0022634C 7C 08 03 A6 */ mtlr r0 /* 802293F0 00226350 38 21 00 30 */ addi r1, r1, 0x30 /* 802293F4 00226354 4E 80 00 20 */ blr .global sub_802293f8 sub_802293f8: /* 802293F8 00226358 80 05 00 00 */ lwz r0, 0(r5) /* 802293FC 0022635C 38 C5 00 04 */ addi r6, r5, 4 /* 80229400 00226360 54 00 08 3C */ slwi r0, r0, 1 /* 80229404 00226364 7C A5 02 14 */ add r5, r5, r0 /* 80229408 00226368 38 A5 00 04 */ addi r5, r5, 4 /* 8022940C 0022636C 48 00 00 20 */ b lbl_8022942C lbl_80229410: /* 80229410 00226370 A0 66 00 00 */ lhz r3, 0(r6) /* 80229414 00226374 A0 04 00 00 */ lhz r0, 0(r4) /* 80229418 00226378 7C 03 00 40 */ cmplw r3, r0 /* 8022941C 0022637C 40 82 00 0C */ bne lbl_80229428 /* 80229420 00226380 38 60 00 01 */ li r3, 1 /* 80229424 00226384 4E 80 00 20 */ blr lbl_80229428: /* 80229428 00226388 38 C6 00 02 */ addi r6, r6, 2 lbl_8022942C: /* 8022942C 0022638C 7C 06 28 40 */ cmplw r6, r5 /* 80229430 00226390 40 82 FF E0 */ bne lbl_80229410 /* 80229434 00226394 38 60 00 00 */ li r3, 0 /* 80229438 00226398 4E 80 00 20 */ blr .global sub_8022943c sub_8022943c: /* 8022943C 0022639C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80229440 002263A0 7C 08 02 A6 */ mflr r0 /* 80229444 002263A4 90 01 00 44 */ stw r0, 0x44(r1) /* 80229448 002263A8 38 61 00 18 */ addi r3, r1, 0x18 /* 8022944C 002263AC BF 61 00 2C */ stmw r27, 0x2c(r1) /* 80229450 002263B0 7C 9B 23 78 */ mr r27, r4 /* 80229454 002263B4 7C DD 33 78 */ mr r29, r6 /* 80229458 002263B8 7C FC 3B 78 */ mr r28, r7 /* 8022945C 002263BC 7C A4 2B 78 */ mr r4, r5 /* 80229460 002263C0 4B DD B8 59 */ bl string_l__4rstlFPCc /* 80229464 002263C4 7F 63 DB 78 */ mr r3, r27 /* 80229468 002263C8 38 81 00 18 */ addi r4, r1, 0x18 /* 8022946C 002263CC 4B E2 91 75 */ bl "find__Q24rstl418red_black_tree,Q24rstl17rmemory_allocator>,Q24rstl83pair,Q24rstl17rmemory_allocator>,s>,0,Q24rstl103select1st,Q24rstl17rmemory_allocator>,s>>,Q24rstl81less,Q24rstl17rmemory_allocator>>,Q24rstl17rmemory_allocator>CFRCQ24rstl66basic_string,Q24rstl17rmemory_allocat" /* 80229470 002263D0 7C 7F 1B 78 */ mr r31, r3 /* 80229474 002263D4 38 61 00 18 */ addi r3, r1, 0x18 /* 80229478 002263D8 48 11 46 69 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 8022947C 002263DC 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 80229480 002263E0 41 82 00 0C */ beq lbl_8022948C /* 80229484 002263E4 38 60 00 01 */ li r3, 1 /* 80229488 002263E8 48 00 00 58 */ b lbl_802294E0 lbl_8022948C: /* 8022948C 002263EC 7F BE EB 78 */ mr r30, r29 /* 80229490 002263F0 3B A0 00 00 */ li r29, 0 /* 80229494 002263F4 48 00 00 40 */ b lbl_802294D4 lbl_80229498: /* 80229498 002263F8 80 9E 00 00 */ lwz r4, 0(r30) /* 8022949C 002263FC 38 61 00 08 */ addi r3, r1, 8 /* 802294A0 00226400 4B DD B8 19 */ bl string_l__4rstlFPCc /* 802294A4 00226404 7F 63 DB 78 */ mr r3, r27 /* 802294A8 00226408 38 81 00 08 */ addi r4, r1, 8 /* 802294AC 0022640C 4B E2 91 35 */ bl "find__Q24rstl418red_black_tree,Q24rstl17rmemory_allocator>,Q24rstl83pair,Q24rstl17rmemory_allocator>,s>,0,Q24rstl103select1st,Q24rstl17rmemory_allocator>,s>>,Q24rstl81less,Q24rstl17rmemory_allocator>>,Q24rstl17rmemory_allocator>CFRCQ24rstl66basic_string,Q24rstl17rmemory_allocat" /* 802294B0 00226410 7C 7F 1B 78 */ mr r31, r3 /* 802294B4 00226414 38 61 00 08 */ addi r3, r1, 8 /* 802294B8 00226418 48 11 46 29 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 802294BC 0022641C 57 E0 06 3F */ clrlwi. r0, r31, 0x18 /* 802294C0 00226420 41 82 00 0C */ beq lbl_802294CC /* 802294C4 00226424 38 60 00 01 */ li r3, 1 /* 802294C8 00226428 48 00 00 18 */ b lbl_802294E0 lbl_802294CC: /* 802294CC 0022642C 3B DE 00 10 */ addi r30, r30, 0x10 /* 802294D0 00226430 3B BD 00 01 */ addi r29, r29, 1 lbl_802294D4: /* 802294D4 00226434 7C 1D E0 00 */ cmpw r29, r28 /* 802294D8 00226438 41 80 FF C0 */ blt lbl_80229498 /* 802294DC 0022643C 38 60 00 00 */ li r3, 0 lbl_802294E0: /* 802294E0 00226440 BB 61 00 2C */ lmw r27, 0x2c(r1) /* 802294E4 00226444 80 01 00 44 */ lwz r0, 0x44(r1) /* 802294E8 00226448 7C 08 03 A6 */ mtlr r0 /* 802294EC 0022644C 38 21 00 40 */ addi r1, r1, 0x40 /* 802294F0 00226450 4E 80 00 20 */ blr .global sub_802294f4 sub_802294f4: /* 802294F4 00226454 94 21 FF 20 */ stwu r1, -0xe0(r1) /* 802294F8 00226458 7C 08 02 A6 */ mflr r0 /* 802294FC 0022645C 90 01 00 E4 */ stw r0, 0xe4(r1) /* 80229500 00226460 BF 21 00 C4 */ stmw r25, 0xc4(r1) /* 80229504 00226464 7C B9 2B 78 */ mr r25, r5 /* 80229508 00226468 7C DA 33 78 */ mr r26, r6 /* 8022950C 0022646C 7C 9E 23 78 */ mr r30, r4 /* 80229510 00226470 3B A1 00 60 */ addi r29, r1, 0x60 /* 80229514 00226474 3B 81 00 A4 */ addi r28, r1, 0xa4 /* 80229518 00226478 3B 60 00 00 */ li r27, 0 /* 8022951C 0022647C 80 63 00 64 */ lwz r3, 0x64(r3) /* 80229520 00226480 83 E3 00 10 */ lwz r31, 0x10(r3) /* 80229524 00226484 48 00 01 20 */ b lbl_80229644 lbl_80229528: /* 80229528 00226488 80 9E 00 00 */ lwz r4, 0(r30) /* 8022952C 0022648C 38 61 00 24 */ addi r3, r1, 0x24 /* 80229530 00226490 4B DD B7 89 */ bl string_l__4rstlFPCc /* 80229534 00226494 7F E4 FB 78 */ mr r4, r31 /* 80229538 00226498 38 61 00 0C */ addi r3, r1, 0xc /* 8022953C 0022649C 38 A1 00 24 */ addi r5, r1, 0x24 /* 80229540 002264A0 4B E0 52 F9 */ bl "GetLocatorSegId__9CAnimDataCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80229544 002264A4 88 01 00 0C */ lbz r0, 0xc(r1) /* 80229548 002264A8 38 61 00 24 */ addi r3, r1, 0x24 /* 8022954C 002264AC 98 01 00 10 */ stb r0, 0x10(r1) /* 80229550 002264B0 48 11 45 91 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80229554 002264B4 88 01 00 10 */ lbz r0, 0x10(r1) /* 80229558 002264B8 28 00 00 FF */ cmplwi r0, 0xff /* 8022955C 002264BC 41 82 00 E0 */ beq lbl_8022963C /* 80229560 002264C0 80 9E 00 00 */ lwz r4, 0(r30) /* 80229564 002264C4 38 61 00 14 */ addi r3, r1, 0x14 /* 80229568 002264C8 4B DD B7 51 */ bl string_l__4rstlFPCc /* 8022956C 002264CC 88 01 00 10 */ lbz r0, 0x10(r1) /* 80229570 002264D0 38 61 00 34 */ addi r3, r1, 0x34 /* 80229574 002264D4 C0 3E 00 04 */ lfs f1, 4(r30) /* 80229578 002264D8 38 81 00 08 */ addi r4, r1, 8 /* 8022957C 002264DC 98 01 00 08 */ stb r0, 8(r1) /* 80229580 002264E0 38 A1 00 14 */ addi r5, r1, 0x14 /* 80229584 002264E4 C0 42 B5 F4 */ lfs f2, lbl_805AD314@sda21(r2) /* 80229588 002264E8 4B F7 F2 85 */ bl "SphereCollision__26CJointCollisionDescriptionF6CSegIdfRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>f" /* 8022958C 002264EC 80 E1 00 34 */ lwz r7, 0x34(r1) /* 80229590 002264F0 7F 83 E3 78 */ mr r3, r28 /* 80229594 002264F4 80 C1 00 38 */ lwz r6, 0x38(r1) /* 80229598 002264F8 7F A4 EB 78 */ mr r4, r29 /* 8022959C 002264FC 88 A1 00 3C */ lbz r5, 0x3c(r1) /* 802295A0 00226500 88 01 00 3D */ lbz r0, 0x3d(r1) /* 802295A4 00226504 C0 E1 00 40 */ lfs f7, 0x40(r1) /* 802295A8 00226508 C0 C1 00 44 */ lfs f6, 0x44(r1) /* 802295AC 0022650C C0 A1 00 48 */ lfs f5, 0x48(r1) /* 802295B0 00226510 C0 81 00 4C */ lfs f4, 0x4c(r1) /* 802295B4 00226514 C0 61 00 50 */ lfs f3, 0x50(r1) /* 802295B8 00226518 C0 41 00 54 */ lfs f2, 0x54(r1) /* 802295BC 0022651C C0 21 00 58 */ lfs f1, 0x58(r1) /* 802295C0 00226520 C0 01 00 5C */ lfs f0, 0x5c(r1) /* 802295C4 00226524 90 E1 00 78 */ stw r7, 0x78(r1) /* 802295C8 00226528 90 C1 00 7C */ stw r6, 0x7c(r1) /* 802295CC 0022652C 98 A1 00 80 */ stb r5, 0x80(r1) /* 802295D0 00226530 98 01 00 81 */ stb r0, 0x81(r1) /* 802295D4 00226534 D0 E1 00 84 */ stfs f7, 0x84(r1) /* 802295D8 00226538 D0 C1 00 88 */ stfs f6, 0x88(r1) /* 802295DC 0022653C D0 A1 00 8C */ stfs f5, 0x8c(r1) /* 802295E0 00226540 D0 81 00 90 */ stfs f4, 0x90(r1) /* 802295E4 00226544 D0 61 00 94 */ stfs f3, 0x94(r1) /* 802295E8 00226548 D0 41 00 98 */ stfs f2, 0x98(r1) /* 802295EC 0022654C D0 21 00 9C */ stfs f1, 0x9c(r1) /* 802295F0 00226550 D0 01 00 A0 */ stfs f0, 0xa0(r1) /* 802295F4 00226554 48 11 4B 6D */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 802295F8 00226558 A0 01 00 70 */ lhz r0, 0x70(r1) /* 802295FC 0022655C 28 1D 00 00 */ cmplwi r29, 0 /* 80229600 00226560 C0 01 00 74 */ lfs f0, 0x74(r1) /* 80229604 00226564 B0 01 00 B4 */ sth r0, 0xb4(r1) /* 80229608 00226568 D0 01 00 B8 */ stfs f0, 0xb8(r1) /* 8022960C 0022656C 41 82 00 0C */ beq lbl_80229618 /* 80229610 00226570 7F A3 EB 78 */ mr r3, r29 /* 80229614 00226574 48 11 44 CD */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_80229618: /* 80229618 00226578 38 61 00 14 */ addi r3, r1, 0x14 /* 8022961C 0022657C 48 11 44 C5 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80229620 00226580 7F 43 D3 78 */ mr r3, r26 /* 80229624 00226584 38 81 00 78 */ addi r4, r1, 0x78 /* 80229628 00226588 4B F2 CC 09 */ bl sub_80156230 /* 8022962C 0022658C 28 1C 00 00 */ cmplwi r28, 0 /* 80229630 00226590 41 82 00 0C */ beq lbl_8022963C /* 80229634 00226594 7F 83 E3 78 */ mr r3, r28 /* 80229638 00226598 48 11 44 A9 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_8022963C: /* 8022963C 0022659C 3B DE 00 08 */ addi r30, r30, 8 /* 80229640 002265A0 3B 7B 00 01 */ addi r27, r27, 1 lbl_80229644: /* 80229644 002265A4 7C 1B C8 00 */ cmpw r27, r25 /* 80229648 002265A8 41 80 FE E0 */ blt lbl_80229528 /* 8022964C 002265AC BB 21 00 C4 */ lmw r25, 0xc4(r1) /* 80229650 002265B0 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 80229654 002265B4 7C 08 03 A6 */ mtlr r0 /* 80229658 002265B8 38 21 00 E0 */ addi r1, r1, 0xe0 /* 8022965C 002265BC 4E 80 00 20 */ blr .global sub_80229660 sub_80229660: /* 80229660 002265C0 94 21 FF 00 */ stwu r1, -0x100(r1) /* 80229664 002265C4 7C 08 02 A6 */ mflr r0 /* 80229668 002265C8 90 01 01 04 */ stw r0, 0x104(r1) /* 8022966C 002265CC BF 21 00 E4 */ stmw r25, 0xe4(r1) /* 80229670 002265D0 7C B9 2B 78 */ mr r25, r5 /* 80229674 002265D4 7C DA 33 78 */ mr r26, r6 /* 80229678 002265D8 7C 9E 23 78 */ mr r30, r4 /* 8022967C 002265DC 3B A1 00 7C */ addi r29, r1, 0x7c /* 80229680 002265E0 3B 81 00 C0 */ addi r28, r1, 0xc0 /* 80229684 002265E4 3B 60 00 00 */ li r27, 0 /* 80229688 002265E8 80 63 00 64 */ lwz r3, 0x64(r3) /* 8022968C 002265EC 83 E3 00 10 */ lwz r31, 0x10(r3) /* 80229690 002265F0 48 00 01 6C */ b lbl_802297FC lbl_80229694: /* 80229694 002265F4 80 9E 00 00 */ lwz r4, 0(r30) /* 80229698 002265F8 38 61 00 40 */ addi r3, r1, 0x40 /* 8022969C 002265FC 4B DD B6 1D */ bl string_l__4rstlFPCc /* 802296A0 00226600 7F E4 FB 78 */ mr r4, r31 /* 802296A4 00226604 38 61 00 14 */ addi r3, r1, 0x14 /* 802296A8 00226608 38 A1 00 40 */ addi r5, r1, 0x40 /* 802296AC 0022660C 4B E0 51 8D */ bl "GetLocatorSegId__9CAnimDataCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 802296B0 00226610 88 01 00 14 */ lbz r0, 0x14(r1) /* 802296B4 00226614 38 61 00 40 */ addi r3, r1, 0x40 /* 802296B8 00226618 98 01 00 1C */ stb r0, 0x1c(r1) /* 802296BC 0022661C 48 11 44 25 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 802296C0 00226620 80 9E 00 04 */ lwz r4, 4(r30) /* 802296C4 00226624 38 61 00 30 */ addi r3, r1, 0x30 /* 802296C8 00226628 4B DD B5 F1 */ bl string_l__4rstlFPCc /* 802296CC 0022662C 7F E4 FB 78 */ mr r4, r31 /* 802296D0 00226630 38 61 00 10 */ addi r3, r1, 0x10 /* 802296D4 00226634 38 A1 00 30 */ addi r5, r1, 0x30 /* 802296D8 00226638 4B E0 51 61 */ bl "GetLocatorSegId__9CAnimDataCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 802296DC 0022663C 88 01 00 10 */ lbz r0, 0x10(r1) /* 802296E0 00226640 38 61 00 30 */ addi r3, r1, 0x30 /* 802296E4 00226644 98 01 00 18 */ stb r0, 0x18(r1) /* 802296E8 00226648 48 11 43 F9 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 802296EC 0022664C 88 01 00 1C */ lbz r0, 0x1c(r1) /* 802296F0 00226650 28 00 00 FF */ cmplwi r0, 0xff /* 802296F4 00226654 41 82 01 00 */ beq lbl_802297F4 /* 802296F8 00226658 88 01 00 18 */ lbz r0, 0x18(r1) /* 802296FC 0022665C 28 00 00 FF */ cmplwi r0, 0xff /* 80229700 00226660 41 82 00 F4 */ beq lbl_802297F4 /* 80229704 00226664 80 9E 00 00 */ lwz r4, 0(r30) /* 80229708 00226668 38 61 00 20 */ addi r3, r1, 0x20 /* 8022970C 0022666C 4B DD B5 AD */ bl string_l__4rstlFPCc /* 80229710 00226670 88 A1 00 18 */ lbz r5, 0x18(r1) /* 80229714 00226674 38 61 00 50 */ addi r3, r1, 0x50 /* 80229718 00226678 88 01 00 1C */ lbz r0, 0x1c(r1) /* 8022971C 0022667C 38 81 00 0C */ addi r4, r1, 0xc /* 80229720 00226680 98 A1 00 08 */ stb r5, 8(r1) /* 80229724 00226684 38 A1 00 08 */ addi r5, r1, 8 /* 80229728 00226688 C0 3E 00 08 */ lfs f1, 8(r30) /* 8022972C 0022668C 38 E1 00 20 */ addi r7, r1, 0x20 /* 80229730 00226690 98 01 00 0C */ stb r0, 0xc(r1) /* 80229734 00226694 38 C0 00 01 */ li r6, 1 /* 80229738 00226698 C0 5E 00 0C */ lfs f2, 0xc(r30) /* 8022973C 0022669C C0 62 B5 F4 */ lfs f3, lbl_805AD314@sda21(r2) /* 80229740 002266A0 4B F7 F0 15 */ bl "SphereSubdivideCollision__26CJointCollisionDescriptionF6CSegId6CSegIdffQ226CJointCollisionDescription16EOrientationTypeRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>f" /* 80229744 002266A4 80 E1 00 50 */ lwz r7, 0x50(r1) /* 80229748 002266A8 7F 83 E3 78 */ mr r3, r28 /* 8022974C 002266AC 80 C1 00 54 */ lwz r6, 0x54(r1) /* 80229750 002266B0 7F A4 EB 78 */ mr r4, r29 /* 80229754 002266B4 88 A1 00 58 */ lbz r5, 0x58(r1) /* 80229758 002266B8 88 01 00 59 */ lbz r0, 0x59(r1) /* 8022975C 002266BC C0 E1 00 5C */ lfs f7, 0x5c(r1) /* 80229760 002266C0 C0 C1 00 60 */ lfs f6, 0x60(r1) /* 80229764 002266C4 C0 A1 00 64 */ lfs f5, 0x64(r1) /* 80229768 002266C8 C0 81 00 68 */ lfs f4, 0x68(r1) /* 8022976C 002266CC C0 61 00 6C */ lfs f3, 0x6c(r1) /* 80229770 002266D0 C0 41 00 70 */ lfs f2, 0x70(r1) /* 80229774 002266D4 C0 21 00 74 */ lfs f1, 0x74(r1) /* 80229778 002266D8 C0 01 00 78 */ lfs f0, 0x78(r1) /* 8022977C 002266DC 90 E1 00 94 */ stw r7, 0x94(r1) /* 80229780 002266E0 90 C1 00 98 */ stw r6, 0x98(r1) /* 80229784 002266E4 98 A1 00 9C */ stb r5, 0x9c(r1) /* 80229788 002266E8 98 01 00 9D */ stb r0, 0x9d(r1) /* 8022978C 002266EC D0 E1 00 A0 */ stfs f7, 0xa0(r1) /* 80229790 002266F0 D0 C1 00 A4 */ stfs f6, 0xa4(r1) /* 80229794 002266F4 D0 A1 00 A8 */ stfs f5, 0xa8(r1) /* 80229798 002266F8 D0 81 00 AC */ stfs f4, 0xac(r1) /* 8022979C 002266FC D0 61 00 B0 */ stfs f3, 0xb0(r1) /* 802297A0 00226700 D0 41 00 B4 */ stfs f2, 0xb4(r1) /* 802297A4 00226704 D0 21 00 B8 */ stfs f1, 0xb8(r1) /* 802297A8 00226708 D0 01 00 BC */ stfs f0, 0xbc(r1) /* 802297AC 0022670C 48 11 49 B5 */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 802297B0 00226710 A0 01 00 8C */ lhz r0, 0x8c(r1) /* 802297B4 00226714 28 1D 00 00 */ cmplwi r29, 0 /* 802297B8 00226718 C0 01 00 90 */ lfs f0, 0x90(r1) /* 802297BC 0022671C B0 01 00 D0 */ sth r0, 0xd0(r1) /* 802297C0 00226720 D0 01 00 D4 */ stfs f0, 0xd4(r1) /* 802297C4 00226724 41 82 00 0C */ beq lbl_802297D0 /* 802297C8 00226728 7F A3 EB 78 */ mr r3, r29 /* 802297CC 0022672C 48 11 43 15 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_802297D0: /* 802297D0 00226730 38 61 00 20 */ addi r3, r1, 0x20 /* 802297D4 00226734 48 11 43 0D */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 802297D8 00226738 7F 43 D3 78 */ mr r3, r26 /* 802297DC 0022673C 38 81 00 94 */ addi r4, r1, 0x94 /* 802297E0 00226740 4B F2 CA 51 */ bl sub_80156230 /* 802297E4 00226744 28 1C 00 00 */ cmplwi r28, 0 /* 802297E8 00226748 41 82 00 0C */ beq lbl_802297F4 /* 802297EC 0022674C 7F 83 E3 78 */ mr r3, r28 /* 802297F0 00226750 48 11 42 F1 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_802297F4: /* 802297F4 00226754 3B DE 00 10 */ addi r30, r30, 0x10 /* 802297F8 00226758 3B 7B 00 01 */ addi r27, r27, 1 lbl_802297FC: /* 802297FC 0022675C 7C 1B C8 00 */ cmpw r27, r25 /* 80229800 00226760 41 80 FE 94 */ blt lbl_80229694 /* 80229804 00226764 BB 21 00 E4 */ lmw r25, 0xe4(r1) /* 80229808 00226768 80 01 01 04 */ lwz r0, 0x104(r1) /* 8022980C 0022676C 7C 08 03 A6 */ mtlr r0 /* 80229810 00226770 38 21 01 00 */ addi r1, r1, 0x100 /* 80229814 00226774 4E 80 00 20 */ blr .global sub_80229818 sub_80229818: /* 80229818 00226778 94 21 FF 00 */ stwu r1, -0x100(r1) /* 8022981C 0022677C 7C 08 02 A6 */ mflr r0 /* 80229820 00226780 3C A0 80 57 */ lis r5, sReflectVulnerability__20CDamageVulnerability@ha /* 80229824 00226784 90 01 01 04 */ stw r0, 0x104(r1) /* 80229828 00226788 BD C1 00 B8 */ stmw r14, 0xb8(r1) /* 8022982C 0022678C 7C 9F 23 78 */ mr r31, r4 /* 80229830 00226790 7C 7E 1B 78 */ mr r30, r3 /* 80229834 00226794 85 E5 D7 80 */ lwzu r15, sReflectVulnerability__20CDamageVulnerability@l(r5) /* 80229838 00226798 82 05 00 04 */ lwz r16, 4(r5) /* 8022983C 0022679C 82 25 00 08 */ lwz r17, 8(r5) /* 80229840 002267A0 82 45 00 0C */ lwz r18, 0xc(r5) /* 80229844 002267A4 82 65 00 10 */ lwz r19, 0x10(r5) /* 80229848 002267A8 82 85 00 14 */ lwz r20, 0x14(r5) /* 8022984C 002267AC 82 A5 00 18 */ lwz r21, 0x18(r5) /* 80229850 002267B0 82 C5 00 1C */ lwz r22, 0x1c(r5) /* 80229854 002267B4 82 E5 00 20 */ lwz r23, 0x20(r5) /* 80229858 002267B8 83 05 00 24 */ lwz r24, 0x24(r5) /* 8022985C 002267BC 83 25 00 28 */ lwz r25, 0x28(r5) /* 80229860 002267C0 83 45 00 2C */ lwz r26, 0x2c(r5) /* 80229864 002267C4 83 65 00 30 */ lwz r27, 0x30(r5) /* 80229868 002267C8 83 85 00 34 */ lwz r28, 0x34(r5) /* 8022986C 002267CC 83 A5 00 38 */ lwz r29, 0x38(r5) /* 80229870 002267D0 81 85 00 3C */ lwz r12, 0x3c(r5) /* 80229874 002267D4 81 65 00 40 */ lwz r11, 0x40(r5) /* 80229878 002267D8 81 45 00 44 */ lwz r10, 0x44(r5) /* 8022987C 002267DC 81 25 00 48 */ lwz r9, 0x48(r5) /* 80229880 002267E0 81 05 00 4C */ lwz r8, 0x4c(r5) /* 80229884 002267E4 80 E5 00 50 */ lwz r7, 0x50(r5) /* 80229888 002267E8 80 C5 00 54 */ lwz r6, 0x54(r5) /* 8022988C 002267EC 80 85 00 58 */ lwz r4, 0x58(r5) /* 80229890 002267F0 80 05 00 5C */ lwz r0, 0x5c(r5) /* 80229894 002267F4 81 C5 00 60 */ lwz r14, 0x60(r5) /* 80229898 002267F8 80 A5 00 64 */ lwz r5, 0x64(r5) /* 8022989C 002267FC 91 E1 00 48 */ stw r15, 0x48(r1) /* 802298A0 00226800 92 01 00 4C */ stw r16, 0x4c(r1) /* 802298A4 00226804 92 21 00 50 */ stw r17, 0x50(r1) /* 802298A8 00226808 92 41 00 54 */ stw r18, 0x54(r1) /* 802298AC 0022680C 92 61 00 58 */ stw r19, 0x58(r1) /* 802298B0 00226810 92 81 00 5C */ stw r20, 0x5c(r1) /* 802298B4 00226814 92 A1 00 60 */ stw r21, 0x60(r1) /* 802298B8 00226818 92 C1 00 64 */ stw r22, 0x64(r1) /* 802298BC 0022681C 92 E1 00 68 */ stw r23, 0x68(r1) /* 802298C0 00226820 93 01 00 6C */ stw r24, 0x6c(r1) /* 802298C4 00226824 93 21 00 70 */ stw r25, 0x70(r1) /* 802298C8 00226828 93 41 00 74 */ stw r26, 0x74(r1) /* 802298CC 0022682C 93 61 00 78 */ stw r27, 0x78(r1) /* 802298D0 00226830 93 81 00 7C */ stw r28, 0x7c(r1) /* 802298D4 00226834 93 A1 00 80 */ stw r29, 0x80(r1) /* 802298D8 00226838 91 81 00 84 */ stw r12, 0x84(r1) /* 802298DC 0022683C 91 61 00 88 */ stw r11, 0x88(r1) /* 802298E0 00226840 91 41 00 8C */ stw r10, 0x8c(r1) /* 802298E4 00226844 91 21 00 90 */ stw r9, 0x90(r1) /* 802298E8 00226848 91 01 00 94 */ stw r8, 0x94(r1) /* 802298EC 0022684C 90 E1 00 98 */ stw r7, 0x98(r1) /* 802298F0 00226850 90 C1 00 9C */ stw r6, 0x9c(r1) /* 802298F4 00226854 90 81 00 A0 */ stw r4, 0xa0(r1) /* 802298F8 00226858 90 01 00 A4 */ stw r0, 0xa4(r1) /* 802298FC 0022685C 91 C1 00 A8 */ stw r14, 0xa8(r1) /* 80229900 00226860 90 A1 00 AC */ stw r5, 0xac(r1) /* 80229904 00226864 81 83 00 00 */ lwz r12, 0(r3) /* 80229908 00226868 81 8C 02 CC */ lwz r12, 0x2cc(r12) /* 8022990C 0022686C 7D 89 03 A6 */ mtctr r12 /* 80229910 00226870 4E 80 04 21 */ bctrl /* 80229914 00226874 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80229918 00226878 41 82 01 E4 */ beq lbl_80229AFC /* 8022991C 0022687C 39 DE 07 78 */ addi r14, r30, 0x778 /* 80229920 00226880 39 FE 07 8C */ addi r15, r30, 0x78c /* 80229924 00226884 3A 00 00 00 */ li r16, 0 /* 80229928 00226888 48 00 01 30 */ b lbl_80229A58 lbl_8022992C: /* 8022992C 0022688C 80 7E 07 30 */ lwz r3, 0x730(r30) /* 80229930 00226890 7E 04 83 78 */ mr r4, r16 /* 80229934 00226894 4B F7 D9 05 */ bl GetCollisionDescFromIndex__22CCollisionActorManagerCFUi /* 80229938 00226898 7C 73 1B 78 */ mr r19, r3 /* 8022993C 0022689C 7F E3 FB 78 */ mr r3, r31 /* 80229940 002268A0 A0 13 00 3C */ lhz r0, 0x3c(r19) /* 80229944 002268A4 38 81 00 0C */ addi r4, r1, 0xc /* 80229948 002268A8 B0 01 00 10 */ sth r0, 0x10(r1) /* 8022994C 002268AC B0 01 00 0C */ sth r0, 0xc(r1) /* 80229950 002268B0 4B E2 2C 25 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80229954 002268B4 7C 64 1B 78 */ mr r4, r3 /* 80229958 002268B8 38 61 00 30 */ addi r3, r1, 0x30 /* 8022995C 002268BC 4B E8 59 F1 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 80229960 002268C0 82 23 00 04 */ lwz r17, 4(r3) /* 80229964 002268C4 28 11 00 00 */ cmplwi r17, 0 /* 80229968 002268C8 41 82 00 EC */ beq lbl_80229A54 /* 8022996C 002268CC 80 82 B5 A4 */ lwz r4, lbl_805AD2C4@sda21(r2) /* 80229970 002268D0 38 61 00 38 */ addi r3, r1, 0x38 /* 80229974 002268D4 4B DD B3 45 */ bl string_l__4rstlFPCc /* 80229978 002268D8 38 73 00 2C */ addi r3, r19, 0x2c /* 8022997C 002268DC 38 81 00 38 */ addi r4, r1, 0x38 /* 80229980 002268E0 4B E2 8C 61 */ bl "find__Q24rstl418red_black_tree,Q24rstl17rmemory_allocator>,Q24rstl83pair,Q24rstl17rmemory_allocator>,s>,0,Q24rstl103select1st,Q24rstl17rmemory_allocator>,s>>,Q24rstl81less,Q24rstl17rmemory_allocator>>,Q24rstl17rmemory_allocator>CFRCQ24rstl66basic_string,Q24rstl17rmemory_allocat" /* 80229984 002268E4 7C 72 1B 78 */ mr r18, r3 /* 80229988 002268E8 38 61 00 38 */ addi r3, r1, 0x38 /* 8022998C 002268EC 48 11 41 55 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80229990 002268F0 56 40 06 3F */ clrlwi. r0, r18, 0x18 /* 80229994 002268F4 41 82 00 10 */ beq lbl_802299A4 /* 80229998 002268F8 A0 01 00 10 */ lhz r0, 0x10(r1) /* 8022999C 002268FC B0 1E 07 70 */ sth r0, 0x770(r30) /* 802299A0 00226900 48 00 00 98 */ b lbl_80229A38 lbl_802299A4: /* 802299A4 00226904 3C 60 80 3D */ lis r3, lbl_803D32A8@ha /* 802299A8 00226908 80 A2 B5 AC */ lwz r5, lbl_805AD2CC@sda21(r2) /* 802299AC 0022690C 38 C3 32 A8 */ addi r6, r3, lbl_803D32A8@l /* 802299B0 00226910 38 93 00 2C */ addi r4, r19, 0x2c /* 802299B4 00226914 7F C3 F3 78 */ mr r3, r30 /* 802299B8 00226918 38 E0 00 03 */ li r7, 3 /* 802299BC 0022691C 4B FF FA 81 */ bl sub_8022943c /* 802299C0 00226920 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802299C4 00226924 41 82 00 2C */ beq lbl_802299F0 /* 802299C8 00226928 80 1E 07 74 */ lwz r0, 0x774(r30) /* 802299CC 0022692C 54 00 08 3C */ slwi r0, r0, 1 /* 802299D0 00226930 7C 6E 02 15 */ add. r3, r14, r0 /* 802299D4 00226934 41 82 00 0C */ beq lbl_802299E0 /* 802299D8 00226938 A0 01 00 10 */ lhz r0, 0x10(r1) /* 802299DC 0022693C B0 03 00 00 */ sth r0, 0(r3) lbl_802299E0: /* 802299E0 00226940 80 7E 07 74 */ lwz r3, 0x774(r30) /* 802299E4 00226944 38 03 00 01 */ addi r0, r3, 1 /* 802299E8 00226948 90 1E 07 74 */ stw r0, 0x774(r30) /* 802299EC 0022694C 48 00 00 4C */ b lbl_80229A38 lbl_802299F0: /* 802299F0 00226950 3C 60 80 3D */ lis r3, lbl_803D3278@ha /* 802299F4 00226954 80 A2 B5 B0 */ lwz r5, lbl_805AD2D0@sda21(r2) /* 802299F8 00226958 38 C3 32 78 */ addi r6, r3, lbl_803D3278@l /* 802299FC 0022695C 38 93 00 2C */ addi r4, r19, 0x2c /* 80229A00 00226960 7F C3 F3 78 */ mr r3, r30 /* 80229A04 00226964 38 E0 00 03 */ li r7, 3 /* 80229A08 00226968 4B FF FA 35 */ bl sub_8022943c /* 80229A0C 0022696C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80229A10 00226970 41 82 00 28 */ beq lbl_80229A38 /* 80229A14 00226974 80 1E 07 88 */ lwz r0, 0x788(r30) /* 80229A18 00226978 54 00 08 3C */ slwi r0, r0, 1 /* 80229A1C 0022697C 7C 6F 02 15 */ add. r3, r15, r0 /* 80229A20 00226980 41 82 00 0C */ beq lbl_80229A2C /* 80229A24 00226984 A0 01 00 10 */ lhz r0, 0x10(r1) /* 80229A28 00226988 B0 03 00 00 */ sth r0, 0(r3) lbl_80229A2C: /* 80229A2C 0022698C 80 7E 07 88 */ lwz r3, 0x788(r30) /* 80229A30 00226990 38 03 00 01 */ addi r0, r3, 1 /* 80229A34 00226994 90 1E 07 88 */ stw r0, 0x788(r30) lbl_80229A38: /* 80229A38 00226998 A0 61 00 10 */ lhz r3, 0x10(r1) /* 80229A3C 0022699C A0 1E 07 70 */ lhz r0, 0x770(r30) /* 80229A40 002269A0 7C 03 00 40 */ cmplw r3, r0 /* 80229A44 002269A4 41 82 00 10 */ beq lbl_80229A54 /* 80229A48 002269A8 7E 23 8B 78 */ mr r3, r17 /* 80229A4C 002269AC 38 81 00 48 */ addi r4, r1, 0x48 /* 80229A50 002269B0 4B F7 F1 49 */ bl SetDamageVulnerability__15CCollisionActorFRC20CDamageVulnerability lbl_80229A54: /* 80229A54 002269B4 3A 10 00 01 */ addi r16, r16, 1 lbl_80229A58: /* 80229A58 002269B8 80 7E 07 30 */ lwz r3, 0x730(r30) /* 80229A5C 002269BC 4B F7 D7 ED */ bl GetNumCollisionActors__22CCollisionActorManagerCFv /* 80229A60 002269C0 7C 10 18 40 */ cmplw r16, r3 /* 80229A64 002269C4 41 80 FE C8 */ blt lbl_8022992C /* 80229A68 002269C8 38 00 00 00 */ li r0, 0 /* 80229A6C 002269CC 80 AD 95 9C */ lwz r5, lbl_805A815C@sda21(r13) /* 80229A70 002269D0 90 01 00 2C */ stw r0, 0x2c(r1) /* 80229A74 002269D4 38 60 00 00 */ li r3, 0 /* 80229A78 002269D8 38 80 00 01 */ li r4, 1 /* 80229A7C 002269DC 90 01 00 28 */ stw r0, 0x28(r1) /* 80229A80 002269E0 48 16 04 75 */ bl __shl2i /* 80229A84 002269E4 80 01 00 28 */ lwz r0, 0x28(r1) /* 80229A88 002269E8 80 C1 00 2C */ lwz r6, 0x2c(r1) /* 80229A8C 002269EC 7C 00 1B 78 */ or r0, r0, r3 /* 80229A90 002269F0 80 AD 95 A0 */ lwz r5, lbl_805A8160@sda21(r13) /* 80229A94 002269F4 7C C4 23 78 */ or r4, r6, r4 /* 80229A98 002269F8 90 01 00 28 */ stw r0, 0x28(r1) /* 80229A9C 002269FC 38 60 00 00 */ li r3, 0 /* 80229AA0 00226A00 90 81 00 2C */ stw r4, 0x2c(r1) /* 80229AA4 00226A04 38 80 00 01 */ li r4, 1 /* 80229AA8 00226A08 48 16 04 4D */ bl __shl2i /* 80229AAC 00226A0C 80 01 00 28 */ lwz r0, 0x28(r1) /* 80229AB0 00226A10 80 C1 00 2C */ lwz r6, 0x2c(r1) /* 80229AB4 00226A14 7C 00 1B 78 */ or r0, r0, r3 /* 80229AB8 00226A18 80 AD 95 A4 */ lwz r5, lbl_805A8164@sda21(r13) /* 80229ABC 00226A1C 7C C4 23 78 */ or r4, r6, r4 /* 80229AC0 00226A20 90 01 00 28 */ stw r0, 0x28(r1) /* 80229AC4 00226A24 38 60 00 00 */ li r3, 0 /* 80229AC8 00226A28 90 81 00 2C */ stw r4, 0x2c(r1) /* 80229ACC 00226A2C 38 80 00 01 */ li r4, 1 /* 80229AD0 00226A30 48 16 04 25 */ bl __shl2i /* 80229AD4 00226A34 80 01 00 28 */ lwz r0, 0x28(r1) /* 80229AD8 00226A38 38 A1 00 28 */ addi r5, r1, 0x28 /* 80229ADC 00226A3C 80 C1 00 2C */ lwz r6, 0x2c(r1) /* 80229AE0 00226A40 7C 00 1B 78 */ or r0, r0, r3 /* 80229AE4 00226A44 7C C3 23 78 */ or r3, r6, r4 /* 80229AE8 00226A48 90 01 00 28 */ stw r0, 0x28(r1) /* 80229AEC 00226A4C 7F E4 FB 78 */ mr r4, r31 /* 80229AF0 00226A50 90 61 00 2C */ stw r3, 0x2c(r1) /* 80229AF4 00226A54 80 7E 07 30 */ lwz r3, 0x730(r30) /* 80229AF8 00226A58 4B F7 D7 59 */ bl AddMaterial__22CCollisionActorManagerFR13CStateManagerRC13CMaterialList lbl_80229AFC: /* 80229AFC 00226A5C 80 7E 05 D4 */ lwz r3, 0x5d4(r30) /* 80229B00 00226A60 38 80 00 00 */ li r4, 0 /* 80229B04 00226A64 4B F7 D7 35 */ bl GetCollisionDescFromIndex__22CCollisionActorManagerCFUi /* 80229B08 00226A68 A0 03 00 3C */ lhz r0, 0x3c(r3) /* 80229B0C 00226A6C 7F E3 FB 78 */ mr r3, r31 /* 80229B10 00226A70 38 81 00 08 */ addi r4, r1, 8 /* 80229B14 00226A74 B0 1E 07 9C */ sth r0, 0x79c(r30) /* 80229B18 00226A78 A0 1E 07 9C */ lhz r0, 0x79c(r30) /* 80229B1C 00226A7C B0 01 00 08 */ sth r0, 8(r1) /* 80229B20 00226A80 4B E2 2A 55 */ bl ObjectById__13CStateManagerF9TUniqueId /* 80229B24 00226A84 7C 64 1B 78 */ mr r4, r3 /* 80229B28 00226A88 38 61 00 20 */ addi r3, r1, 0x20 /* 80229B2C 00226A8C 4B E8 58 21 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 80229B30 00226A90 80 63 00 04 */ lwz r3, 4(r3) /* 80229B34 00226A94 28 03 00 00 */ cmplwi r3, 0 /* 80229B38 00226A98 41 82 00 0C */ beq lbl_80229B44 /* 80229B3C 00226A9C 38 00 00 00 */ li r0, 0 /* 80229B40 00226AA0 90 03 03 00 */ stw r0, 0x300(r3) lbl_80229B44: /* 80229B44 00226AA4 38 00 00 00 */ li r0, 0 /* 80229B48 00226AA8 80 AD 95 A8 */ lwz r5, lbl_805A8168@sda21(r13) /* 80229B4C 00226AAC 90 01 00 1C */ stw r0, 0x1c(r1) /* 80229B50 00226AB0 38 60 00 00 */ li r3, 0 /* 80229B54 00226AB4 38 80 00 01 */ li r4, 1 /* 80229B58 00226AB8 90 01 00 18 */ stw r0, 0x18(r1) /* 80229B5C 00226ABC 48 16 03 99 */ bl __shl2i /* 80229B60 00226AC0 80 01 00 18 */ lwz r0, 0x18(r1) /* 80229B64 00226AC4 80 C1 00 1C */ lwz r6, 0x1c(r1) /* 80229B68 00226AC8 7C 00 1B 78 */ or r0, r0, r3 /* 80229B6C 00226ACC 80 AD 95 AC */ lwz r5, lbl_805A816C@sda21(r13) /* 80229B70 00226AD0 7C C4 23 78 */ or r4, r6, r4 /* 80229B74 00226AD4 90 01 00 18 */ stw r0, 0x18(r1) /* 80229B78 00226AD8 38 60 00 00 */ li r3, 0 /* 80229B7C 00226ADC 90 81 00 1C */ stw r4, 0x1c(r1) /* 80229B80 00226AE0 38 80 00 01 */ li r4, 1 /* 80229B84 00226AE4 48 16 03 71 */ bl __shl2i /* 80229B88 00226AE8 80 01 00 18 */ lwz r0, 0x18(r1) /* 80229B8C 00226AEC 38 A1 00 18 */ addi r5, r1, 0x18 /* 80229B90 00226AF0 80 C1 00 1C */ lwz r6, 0x1c(r1) /* 80229B94 00226AF4 7C 00 1B 78 */ or r0, r0, r3 /* 80229B98 00226AF8 7C C3 23 78 */ or r3, r6, r4 /* 80229B9C 00226AFC 90 01 00 18 */ stw r0, 0x18(r1) /* 80229BA0 00226B00 7F E4 FB 78 */ mr r4, r31 /* 80229BA4 00226B04 90 61 00 1C */ stw r3, 0x1c(r1) /* 80229BA8 00226B08 80 7E 05 D4 */ lwz r3, 0x5d4(r30) /* 80229BAC 00226B0C 4B F7 D6 A5 */ bl AddMaterial__22CCollisionActorManagerFR13CStateManagerRC13CMaterialList /* 80229BB0 00226B10 B9 C1 00 B8 */ lmw r14, 0xb8(r1) /* 80229BB4 00226B14 80 01 01 04 */ lwz r0, 0x104(r1) /* 80229BB8 00226B18 7C 08 03 A6 */ mtlr r0 /* 80229BBC 00226B1C 38 21 01 00 */ addi r1, r1, 0x100 /* 80229BC0 00226B20 4E 80 00 20 */ blr .global sub_80229bc4 sub_80229bc4: /* 80229BC4 00226B24 94 21 FE D0 */ stwu r1, -0x130(r1) /* 80229BC8 00226B28 7C 08 02 A6 */ mflr r0 /* 80229BCC 00226B2C 3C A0 80 3D */ lis r5, lbl_803D3278@ha /* 80229BD0 00226B30 90 01 01 34 */ stw r0, 0x134(r1) /* 80229BD4 00226B34 38 00 00 00 */ li r0, 0 /* 80229BD8 00226B38 BF 61 01 1C */ stmw r27, 0x11c(r1) /* 80229BDC 00226B3C 7C 7D 1B 78 */ mr r29, r3 /* 80229BE0 00226B40 7C 9E 23 78 */ mr r30, r4 /* 80229BE4 00226B44 3B 85 32 78 */ addi r28, r5, lbl_803D3278@l /* 80229BE8 00226B48 38 61 00 64 */ addi r3, r1, 0x64 /* 80229BEC 00226B4C 38 80 00 0D */ li r4, 0xd /* 80229BF0 00226B50 90 01 00 68 */ stw r0, 0x68(r1) /* 80229BF4 00226B54 90 01 00 6C */ stw r0, 0x6c(r1) /* 80229BF8 00226B58 90 01 00 70 */ stw r0, 0x70(r1) /* 80229BFC 00226B5C 4B F2 CB BD */ bl "reserve__Q24rstl63vector<26CJointCollisionDescription,Q24rstl17rmemory_allocator>Fi" /* 80229C00 00226B60 7F A3 EB 78 */ mr r3, r29 /* 80229C04 00226B64 38 9C 00 00 */ addi r4, r28, 0 /* 80229C08 00226B68 38 C1 00 64 */ addi r6, r1, 0x64 /* 80229C0C 00226B6C 38 A0 00 03 */ li r5, 3 /* 80229C10 00226B70 4B FF FA 51 */ bl sub_80229660 /* 80229C14 00226B74 7F A3 EB 78 */ mr r3, r29 /* 80229C18 00226B78 38 9C 00 30 */ addi r4, r28, 0x30 /* 80229C1C 00226B7C 38 C1 00 64 */ addi r6, r1, 0x64 /* 80229C20 00226B80 38 A0 00 03 */ li r5, 3 /* 80229C24 00226B84 4B FF FA 3D */ bl sub_80229660 /* 80229C28 00226B88 7F A3 EB 78 */ mr r3, r29 /* 80229C2C 00226B8C 38 9C 00 60 */ addi r4, r28, 0x60 /* 80229C30 00226B90 38 C1 00 64 */ addi r6, r1, 0x64 /* 80229C34 00226B94 38 A0 00 07 */ li r5, 7 /* 80229C38 00226B98 4B FF F8 BD */ bl sub_802294f4 /* 80229C3C 00226B9C 7F A3 EB 78 */ mr r3, r29 /* 80229C40 00226BA0 81 9D 00 00 */ lwz r12, 0(r29) /* 80229C44 00226BA4 81 8C 02 CC */ lwz r12, 0x2cc(r12) /* 80229C48 00226BA8 7D 89 03 A6 */ mtctr r12 /* 80229C4C 00226BAC 4E 80 04 21 */ bctrl /* 80229C50 00226BB0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80229C54 00226BB4 41 82 00 7C */ beq lbl_80229CD0 /* 80229C58 00226BB8 3C 80 80 3D */ lis r4, lbl_803D3310@ha /* 80229C5C 00226BBC 38 60 00 18 */ li r3, 0x18 /* 80229C60 00226BC0 38 84 33 10 */ addi r4, r4, lbl_803D3310@l /* 80229C64 00226BC4 38 A0 00 00 */ li r5, 0 /* 80229C68 00226BC8 38 84 00 B8 */ addi r4, r4, 0xb8 /* 80229C6C 00226BCC 48 0E BC 01 */ bl __nw__FUlPCcPCc /* 80229C70 00226BD0 7C 7C 1B 79 */ or. r28, r3, r3 /* 80229C74 00226BD4 41 82 00 38 */ beq lbl_80229CAC /* 80229C78 00226BD8 81 3D 00 04 */ lwz r9, 4(r29) /* 80229C7C 00226BDC 7F C4 F3 78 */ mr r4, r30 /* 80229C80 00226BE0 38 A1 00 20 */ addi r5, r1, 0x20 /* 80229C84 00226BE4 38 C1 00 40 */ addi r6, r1, 0x40 /* 80229C88 00226BE8 91 21 00 40 */ stw r9, 0x40(r1) /* 80229C8C 00226BEC 38 E1 00 64 */ addi r7, r1, 0x64 /* 80229C90 00226BF0 39 00 00 01 */ li r8, 1 /* 80229C94 00226BF4 A0 1D 00 08 */ lhz r0, 8(r29) /* 80229C98 00226BF8 91 21 00 3C */ stw r9, 0x3c(r1) /* 80229C9C 00226BFC B0 01 00 1C */ sth r0, 0x1c(r1) /* 80229CA0 00226C00 B0 01 00 20 */ sth r0, 0x20(r1) /* 80229CA4 00226C04 4B F7 DC 8D */ bl "__ct__22CCollisionActorManagerFR13CStateManager9TUniqueId7TAreaIdRCQ24rstl63vector<26CJointCollisionDescription,Q24rstl17rmemory_allocator>b" /* 80229CA8 00226C08 7C 7C 1B 78 */ mr r28, r3 lbl_80229CAC: /* 80229CAC 00226C0C 80 7D 07 30 */ lwz r3, 0x730(r29) /* 80229CB0 00226C10 38 80 00 01 */ li r4, 1 /* 80229CB4 00226C14 4B F7 DC 29 */ bl sub_801a78dc /* 80229CB8 00226C18 93 9D 07 30 */ stw r28, 0x730(r29) /* 80229CBC 00226C1C 7F C4 F3 78 */ mr r4, r30 /* 80229CC0 00226C20 88 1D 00 30 */ lbz r0, 0x30(r29) /* 80229CC4 00226C24 80 7D 07 30 */ lwz r3, 0x730(r29) /* 80229CC8 00226C28 54 05 CF FE */ rlwinm r5, r0, 0x19, 0x1f, 0x1f /* 80229CCC 00226C2C 4B F7 D6 2D */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb lbl_80229CD0: /* 80229CD0 00226C30 80 BD 07 74 */ lwz r5, 0x774(r29) /* 80229CD4 00226C34 38 60 00 00 */ li r3, 0 /* 80229CD8 00226C38 2C 05 00 00 */ cmpwi r5, 0 /* 80229CDC 00226C3C 40 81 00 40 */ ble lbl_80229D1C /* 80229CE0 00226C40 2C 05 00 08 */ cmpwi r5, 8 /* 80229CE4 00226C44 38 85 FF F8 */ addi r4, r5, -8 /* 80229CE8 00226C48 40 81 00 20 */ ble lbl_80229D08 /* 80229CEC 00226C4C 38 04 00 07 */ addi r0, r4, 7 /* 80229CF0 00226C50 54 00 E8 FE */ srwi r0, r0, 3 /* 80229CF4 00226C54 7C 09 03 A6 */ mtctr r0 /* 80229CF8 00226C58 2C 04 00 00 */ cmpwi r4, 0 /* 80229CFC 00226C5C 40 81 00 0C */ ble lbl_80229D08 lbl_80229D00: /* 80229D00 00226C60 38 63 00 08 */ addi r3, r3, 8 /* 80229D04 00226C64 42 00 FF FC */ bdnz lbl_80229D00 lbl_80229D08: /* 80229D08 00226C68 7C 03 28 50 */ subf r0, r3, r5 /* 80229D0C 00226C6C 7C 09 03 A6 */ mtctr r0 /* 80229D10 00226C70 7C 03 28 00 */ cmpw r3, r5 /* 80229D14 00226C74 40 80 00 08 */ bge lbl_80229D1C lbl_80229D18: /* 80229D18 00226C78 42 00 00 00 */ bdnz lbl_80229D18 lbl_80229D1C: /* 80229D1C 00226C7C 38 60 00 00 */ li r3, 0 /* 80229D20 00226C80 90 7D 07 74 */ stw r3, 0x774(r29) /* 80229D24 00226C84 80 BD 07 88 */ lwz r5, 0x788(r29) /* 80229D28 00226C88 2C 05 00 00 */ cmpwi r5, 0 /* 80229D2C 00226C8C 40 81 00 40 */ ble lbl_80229D6C /* 80229D30 00226C90 2C 05 00 08 */ cmpwi r5, 8 /* 80229D34 00226C94 38 85 FF F8 */ addi r4, r5, -8 /* 80229D38 00226C98 40 81 00 20 */ ble lbl_80229D58 /* 80229D3C 00226C9C 38 04 00 07 */ addi r0, r4, 7 /* 80229D40 00226CA0 54 00 E8 FE */ srwi r0, r0, 3 /* 80229D44 00226CA4 7C 09 03 A6 */ mtctr r0 /* 80229D48 00226CA8 2C 04 00 00 */ cmpwi r4, 0 /* 80229D4C 00226CAC 40 81 00 0C */ ble lbl_80229D58 lbl_80229D50: /* 80229D50 00226CB0 38 63 00 08 */ addi r3, r3, 8 /* 80229D54 00226CB4 42 00 FF FC */ bdnz lbl_80229D50 lbl_80229D58: /* 80229D58 00226CB8 7C 03 28 50 */ subf r0, r3, r5 /* 80229D5C 00226CBC 7C 09 03 A6 */ mtctr r0 /* 80229D60 00226CC0 7C 03 28 00 */ cmpw r3, r5 /* 80229D64 00226CC4 40 80 00 08 */ bge lbl_80229D6C lbl_80229D68: /* 80229D68 00226CC8 42 00 00 00 */ bdnz lbl_80229D68 lbl_80229D6C: /* 80229D6C 00226CCC 38 00 00 00 */ li r0, 0 /* 80229D70 00226CD0 80 82 B5 B0 */ lwz r4, lbl_805AD2D0@sda21(r2) /* 80229D74 00226CD4 90 1D 07 88 */ stw r0, 0x788(r29) /* 80229D78 00226CD8 38 61 00 54 */ addi r3, r1, 0x54 /* 80229D7C 00226CDC 4B DD AF 3D */ bl string_l__4rstlFPCc /* 80229D80 00226CE0 80 9D 00 64 */ lwz r4, 0x64(r29) /* 80229D84 00226CE4 38 61 00 0C */ addi r3, r1, 0xc /* 80229D88 00226CE8 38 A1 00 54 */ addi r5, r1, 0x54 /* 80229D8C 00226CEC 80 84 00 10 */ lwz r4, 0x10(r4) /* 80229D90 00226CF0 4B E0 4A A9 */ bl "GetLocatorSegId__9CAnimDataCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80229D94 00226CF4 88 01 00 0C */ lbz r0, 0xc(r1) /* 80229D98 00226CF8 38 61 00 54 */ addi r3, r1, 0x54 /* 80229D9C 00226CFC 98 01 00 10 */ stb r0, 0x10(r1) /* 80229DA0 00226D00 48 11 3D 41 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80229DA4 00226D04 3C 80 80 3D */ lis r4, lbl_803D3310@ha /* 80229DA8 00226D08 38 61 00 44 */ addi r3, r1, 0x44 /* 80229DAC 00226D0C 38 84 33 10 */ addi r4, r4, lbl_803D3310@l /* 80229DB0 00226D10 38 84 00 E1 */ addi r4, r4, 0xe1 /* 80229DB4 00226D14 4B DD AF 05 */ bl string_l__4rstlFPCc /* 80229DB8 00226D18 88 01 00 10 */ lbz r0, 0x10(r1) /* 80229DBC 00226D1C 3C 80 80 57 */ lis r4, skLocalShieldBounds__12CElitePirate@ha /* 80229DC0 00226D20 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 80229DC4 00226D24 C0 22 B5 F4 */ lfs f1, lbl_805AD314@sda21(r2) /* 80229DC8 00226D28 98 01 00 08 */ stb r0, 8(r1) /* 80229DCC 00226D2C 38 A4 23 F8 */ addi r5, r4, skLocalShieldBounds__12CElitePirate@l /* 80229DD0 00226D30 38 C3 66 A0 */ addi r6, r3, sZeroVector__9CVector3f@l /* 80229DD4 00226D34 38 61 00 90 */ addi r3, r1, 0x90 /* 80229DD8 00226D38 38 81 00 08 */ addi r4, r1, 8 /* 80229DDC 00226D3C 38 E1 00 44 */ addi r7, r1, 0x44 /* 80229DE0 00226D40 4B F7 E7 39 */ bl "OBBCollision__26CJointCollisionDescriptionF6CSegIdRC9CVector3fRC9CVector3fRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>f" /* 80229DE4 00226D44 80 E1 00 90 */ lwz r7, 0x90(r1) /* 80229DE8 00226D48 3B E1 01 00 */ addi r31, r1, 0x100 /* 80229DEC 00226D4C 80 C1 00 94 */ lwz r6, 0x94(r1) /* 80229DF0 00226D50 3B 61 00 BC */ addi r27, r1, 0xbc /* 80229DF4 00226D54 88 A1 00 98 */ lbz r5, 0x98(r1) /* 80229DF8 00226D58 7F E3 FB 78 */ mr r3, r31 /* 80229DFC 00226D5C 88 01 00 99 */ lbz r0, 0x99(r1) /* 80229E00 00226D60 7F 64 DB 78 */ mr r4, r27 /* 80229E04 00226D64 C0 E1 00 9C */ lfs f7, 0x9c(r1) /* 80229E08 00226D68 C0 C1 00 A0 */ lfs f6, 0xa0(r1) /* 80229E0C 00226D6C C0 A1 00 A4 */ lfs f5, 0xa4(r1) /* 80229E10 00226D70 C0 81 00 A8 */ lfs f4, 0xa8(r1) /* 80229E14 00226D74 C0 61 00 AC */ lfs f3, 0xac(r1) /* 80229E18 00226D78 C0 41 00 B0 */ lfs f2, 0xb0(r1) /* 80229E1C 00226D7C C0 21 00 B4 */ lfs f1, 0xb4(r1) /* 80229E20 00226D80 C0 01 00 B8 */ lfs f0, 0xb8(r1) /* 80229E24 00226D84 90 E1 00 D4 */ stw r7, 0xd4(r1) /* 80229E28 00226D88 90 C1 00 D8 */ stw r6, 0xd8(r1) /* 80229E2C 00226D8C 98 A1 00 DC */ stb r5, 0xdc(r1) /* 80229E30 00226D90 98 01 00 DD */ stb r0, 0xdd(r1) /* 80229E34 00226D94 D0 E1 00 E0 */ stfs f7, 0xe0(r1) /* 80229E38 00226D98 D0 C1 00 E4 */ stfs f6, 0xe4(r1) /* 80229E3C 00226D9C D0 A1 00 E8 */ stfs f5, 0xe8(r1) /* 80229E40 00226DA0 D0 81 00 EC */ stfs f4, 0xec(r1) /* 80229E44 00226DA4 D0 61 00 F0 */ stfs f3, 0xf0(r1) /* 80229E48 00226DA8 D0 41 00 F4 */ stfs f2, 0xf4(r1) /* 80229E4C 00226DAC D0 21 00 F8 */ stfs f1, 0xf8(r1) /* 80229E50 00226DB0 D0 01 00 FC */ stfs f0, 0xfc(r1) /* 80229E54 00226DB4 48 11 43 0D */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80229E58 00226DB8 A0 01 00 CC */ lhz r0, 0xcc(r1) /* 80229E5C 00226DBC 28 1B 00 00 */ cmplwi r27, 0 /* 80229E60 00226DC0 C0 01 00 D0 */ lfs f0, 0xd0(r1) /* 80229E64 00226DC4 B0 01 01 10 */ sth r0, 0x110(r1) /* 80229E68 00226DC8 D0 01 01 14 */ stfs f0, 0x114(r1) /* 80229E6C 00226DCC 41 82 00 0C */ beq lbl_80229E78 /* 80229E70 00226DD0 7F 63 DB 78 */ mr r3, r27 /* 80229E74 00226DD4 48 11 3C 6D */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_80229E78: /* 80229E78 00226DD8 38 61 00 44 */ addi r3, r1, 0x44 /* 80229E7C 00226DDC 48 11 3C 65 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80229E80 00226DE0 80 01 00 68 */ lwz r0, 0x68(r1) /* 80229E84 00226DE4 83 61 00 70 */ lwz r27, 0x70(r1) /* 80229E88 00226DE8 1C 00 00 44 */ mulli r0, r0, 0x44 /* 80229E8C 00226DEC 93 61 00 28 */ stw r27, 0x28(r1) /* 80229E90 00226DF0 7F 9B 02 14 */ add r28, r27, r0 /* 80229E94 00226DF4 93 61 00 24 */ stw r27, 0x24(r1) /* 80229E98 00226DF8 93 81 00 30 */ stw r28, 0x30(r1) /* 80229E9C 00226DFC 93 81 00 2C */ stw r28, 0x2c(r1) /* 80229EA0 00226E00 48 00 00 20 */ b lbl_80229EC0 lbl_80229EA4: /* 80229EA4 00226E04 28 1B 00 00 */ cmplwi r27, 0 /* 80229EA8 00226E08 41 82 00 14 */ beq lbl_80229EBC /* 80229EAC 00226E0C 34 1B 00 2C */ addic. r0, r27, 0x2c /* 80229EB0 00226E10 41 82 00 0C */ beq lbl_80229EBC /* 80229EB4 00226E14 38 7B 00 2C */ addi r3, r27, 0x2c /* 80229EB8 00226E18 48 11 3C 29 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_80229EBC: /* 80229EBC 00226E1C 3B 7B 00 44 */ addi r27, r27, 0x44 lbl_80229EC0: /* 80229EC0 00226E20 7C 1B E0 40 */ cmplw r27, r28 /* 80229EC4 00226E24 40 82 FF E0 */ bne lbl_80229EA4 /* 80229EC8 00226E28 38 00 00 00 */ li r0, 0 /* 80229ECC 00226E2C 38 61 00 64 */ addi r3, r1, 0x64 /* 80229ED0 00226E30 90 01 00 68 */ stw r0, 0x68(r1) /* 80229ED4 00226E34 38 81 00 D4 */ addi r4, r1, 0xd4 /* 80229ED8 00226E38 4B F2 C3 59 */ bl sub_80156230 /* 80229EDC 00226E3C 3C 80 80 3D */ lis r4, lbl_803D3310@ha /* 80229EE0 00226E40 38 60 00 18 */ li r3, 0x18 /* 80229EE4 00226E44 38 84 33 10 */ addi r4, r4, lbl_803D3310@l /* 80229EE8 00226E48 38 A0 00 00 */ li r5, 0 /* 80229EEC 00226E4C 38 84 00 B8 */ addi r4, r4, 0xb8 /* 80229EF0 00226E50 48 0E B9 7D */ bl __nw__FUlPCcPCc /* 80229EF4 00226E54 7C 7C 1B 79 */ or. r28, r3, r3 /* 80229EF8 00226E58 41 82 00 38 */ beq lbl_80229F30 /* 80229EFC 00226E5C 81 3D 00 04 */ lwz r9, 4(r29) /* 80229F00 00226E60 7F C4 F3 78 */ mr r4, r30 /* 80229F04 00226E64 38 A1 00 18 */ addi r5, r1, 0x18 /* 80229F08 00226E68 38 C1 00 38 */ addi r6, r1, 0x38 /* 80229F0C 00226E6C 91 21 00 38 */ stw r9, 0x38(r1) /* 80229F10 00226E70 38 E1 00 64 */ addi r7, r1, 0x64 /* 80229F14 00226E74 39 00 00 00 */ li r8, 0 /* 80229F18 00226E78 A0 1D 00 08 */ lhz r0, 8(r29) /* 80229F1C 00226E7C 91 21 00 34 */ stw r9, 0x34(r1) /* 80229F20 00226E80 B0 01 00 14 */ sth r0, 0x14(r1) /* 80229F24 00226E84 B0 01 00 18 */ sth r0, 0x18(r1) /* 80229F28 00226E88 4B F7 DA 09 */ bl "__ct__22CCollisionActorManagerFR13CStateManager9TUniqueId7TAreaIdRCQ24rstl63vector<26CJointCollisionDescription,Q24rstl17rmemory_allocator>b" /* 80229F2C 00226E8C 7C 7C 1B 78 */ mr r28, r3 lbl_80229F30: /* 80229F30 00226E90 80 7D 05 D4 */ lwz r3, 0x5d4(r29) /* 80229F34 00226E94 38 80 00 01 */ li r4, 1 /* 80229F38 00226E98 4B F7 D9 A5 */ bl sub_801a78dc /* 80229F3C 00226E9C 93 9D 05 D4 */ stw r28, 0x5d4(r29) /* 80229F40 00226EA0 7F A3 EB 78 */ mr r3, r29 /* 80229F44 00226EA4 7F C4 F3 78 */ mr r4, r30 /* 80229F48 00226EA8 4B FF F8 D1 */ bl sub_80229818 /* 80229F4C 00226EAC 7F A3 EB 78 */ mr r3, r29 /* 80229F50 00226EB0 7F C4 F3 78 */ mr r4, r30 /* 80229F54 00226EB4 81 9D 00 00 */ lwz r12, 0(r29) /* 80229F58 00226EB8 81 8C 02 D4 */ lwz r12, 0x2d4(r12) /* 80229F5C 00226EBC 7D 89 03 A6 */ mtctr r12 /* 80229F60 00226EC0 4E 80 04 21 */ bctrl /* 80229F64 00226EC4 80 AD 95 8C */ lwz r5, lbl_805A814C@sda21(r13) /* 80229F68 00226EC8 38 60 00 00 */ li r3, 0 /* 80229F6C 00226ECC 38 80 00 01 */ li r4, 1 /* 80229F70 00226ED0 48 15 FF 85 */ bl __shl2i /* 80229F74 00226ED4 80 AD 95 90 */ lwz r5, lbl_805A8150@sda21(r13) /* 80229F78 00226ED8 7C 9B 23 78 */ mr r27, r4 /* 80229F7C 00226EDC 7C 7C 1B 78 */ mr r28, r3 /* 80229F80 00226EE0 38 60 00 00 */ li r3, 0 /* 80229F84 00226EE4 38 80 00 01 */ li r4, 1 /* 80229F88 00226EE8 48 15 FF 6D */ bl __shl2i /* 80229F8C 00226EEC 80 AD 95 94 */ lwz r5, lbl_805A8154@sda21(r13) /* 80229F90 00226EF0 7F 7B 23 78 */ or r27, r27, r4 /* 80229F94 00226EF4 7F 9C 1B 78 */ or r28, r28, r3 /* 80229F98 00226EF8 38 60 00 00 */ li r3, 0 /* 80229F9C 00226EFC 38 80 00 01 */ li r4, 1 /* 80229FA0 00226F00 48 15 FF 55 */ bl __shl2i /* 80229FA4 00226F04 80 AD 95 98 */ lwz r5, lbl_805A8158@sda21(r13) /* 80229FA8 00226F08 7F 7B 23 78 */ or r27, r27, r4 /* 80229FAC 00226F0C 7F 9C 1B 78 */ or r28, r28, r3 /* 80229FB0 00226F10 38 60 00 00 */ li r3, 0 /* 80229FB4 00226F14 38 80 00 01 */ li r4, 1 /* 80229FB8 00226F18 48 15 FF 3D */ bl __shl2i /* 80229FBC 00226F1C 3C A0 00 02 */ lis r5, 2 /* 80229FC0 00226F20 38 00 00 03 */ li r0, 3 /* 80229FC4 00226F24 7F 85 2B 78 */ or r5, r28, r5 /* 80229FC8 00226F28 90 81 00 7C */ stw r4, 0x7c(r1) /* 80229FCC 00226F2C 38 81 00 78 */ addi r4, r1, 0x78 /* 80229FD0 00226F30 90 61 00 78 */ stw r3, 0x78(r1) /* 80229FD4 00226F34 7F A3 EB 78 */ mr r3, r29 /* 80229FD8 00226F38 93 61 00 84 */ stw r27, 0x84(r1) /* 80229FDC 00226F3C 90 A1 00 80 */ stw r5, 0x80(r1) /* 80229FE0 00226F40 90 01 00 88 */ stw r0, 0x88(r1) /* 80229FE4 00226F44 4B E2 98 BD */ bl SetMaterialFilter__6CActorFRC15CMaterialFilter /* 80229FE8 00226F48 7F A3 EB 78 */ mr r3, r29 /* 80229FEC 00226F4C 7F C5 F3 78 */ mr r5, r30 /* 80229FF0 00226F50 38 80 00 12 */ li r4, 0x12 /* 80229FF4 00226F54 4B E2 A3 5D */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager /* 80229FF8 00226F58 28 1F 00 00 */ cmplwi r31, 0 /* 80229FFC 00226F5C 41 82 00 0C */ beq lbl_8022A008 /* 8022A000 00226F60 7F E3 FB 78 */ mr r3, r31 /* 8022A004 00226F64 48 11 3A DD */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_8022A008: /* 8022A008 00226F68 38 61 00 64 */ addi r3, r1, 0x64 /* 8022A00C 00226F6C 38 80 FF FF */ li r4, -1 /* 8022A010 00226F70 4B F2 C3 1D */ bl sub_8015632c /* 8022A014 00226F74 BB 61 01 1C */ lmw r27, 0x11c(r1) /* 8022A018 00226F78 80 01 01 34 */ lwz r0, 0x134(r1) /* 8022A01C 00226F7C 7C 08 03 A6 */ mtlr r0 /* 8022A020 00226F80 38 21 01 30 */ addi r1, r1, 0x130 /* 8022A024 00226F84 4E 80 00 20 */ blr .global CallForBackup__12CElitePirateFR13CStateManager9EStateMsgf CallForBackup__12CElitePirateFR13CStateManager9EStateMsgf: /* 8022A028 00226F88 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8022A02C 00226F8C 7C 08 02 A6 */ mflr r0 /* 8022A030 00226F90 2C 05 00 01 */ cmpwi r5, 1 /* 8022A034 00226F94 90 01 00 34 */ stw r0, 0x34(r1) /* 8022A038 00226F98 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8022A03C 00226F9C 41 82 00 48 */ beq lbl_8022A084 /* 8022A040 00226FA0 40 80 00 10 */ bge lbl_8022A050 /* 8022A044 00226FA4 2C 05 00 00 */ cmpwi r5, 0 /* 8022A048 00226FA8 40 80 00 14 */ bge lbl_8022A05C /* 8022A04C 00226FAC 48 00 01 78 */ b lbl_8022A1C4 lbl_8022A050: /* 8022A050 00226FB0 2C 05 00 03 */ cmpwi r5, 3 /* 8022A054 00226FB4 40 80 01 70 */ bge lbl_8022A1C4 /* 8022A058 00226FB8 48 00 01 5C */ b lbl_8022A1B4 lbl_8022A05C: /* 8022A05C 00226FBC 38 00 00 00 */ li r0, 0 /* 8022A060 00226FC0 38 C0 00 01 */ li r6, 1 /* 8022A064 00226FC4 90 03 05 68 */ stw r0, 0x568(r3) /* 8022A068 00226FC8 7C 85 23 78 */ mr r5, r4 /* 8022A06C 00226FCC 38 80 00 00 */ li r4, 0 /* 8022A070 00226FD0 88 03 09 88 */ lbz r0, 0x988(r3) /* 8022A074 00226FD4 50 C0 0F BC */ rlwimi r0, r6, 1, 0x1e, 0x1e /* 8022A078 00226FD8 98 03 09 88 */ stb r0, 0x988(r3) /* 8022A07C 00226FDC 4B FF D5 21 */ bl sub_8022759c /* 8022A080 00226FE0 48 00 01 44 */ b lbl_8022A1C4 lbl_8022A084: /* 8022A084 00226FE4 80 03 05 68 */ lwz r0, 0x568(r3) /* 8022A088 00226FE8 2C 00 00 01 */ cmpwi r0, 1 /* 8022A08C 00226FEC 41 82 01 38 */ beq lbl_8022A1C4 /* 8022A090 00226FF0 40 80 00 10 */ bge lbl_8022A0A0 /* 8022A094 00226FF4 2C 00 00 00 */ cmpwi r0, 0 /* 8022A098 00226FF8 40 80 00 14 */ bge lbl_8022A0AC /* 8022A09C 00226FFC 48 00 01 28 */ b lbl_8022A1C4 lbl_8022A0A0: /* 8022A0A0 00227000 2C 00 00 03 */ cmpwi r0, 3 /* 8022A0A4 00227004 40 80 01 20 */ bge lbl_8022A1C4 /* 8022A0A8 00227008 48 00 00 F0 */ b lbl_8022A198 lbl_8022A0AC: /* 8022A0AC 0022700C 81 43 04 50 */ lwz r10, 0x450(r3) /* 8022A0B0 00227010 80 0A 02 B8 */ lwz r0, 0x2b8(r10) /* 8022A0B4 00227014 2C 00 00 0C */ cmpwi r0, 0xc /* 8022A0B8 00227018 40 82 00 10 */ bne lbl_8022A0C8 /* 8022A0BC 0022701C 38 00 00 02 */ li r0, 2 /* 8022A0C0 00227020 90 03 05 68 */ stw r0, 0x568(r3) /* 8022A0C4 00227024 48 00 01 00 */ b lbl_8022A1C4 lbl_8022A0C8: /* 8022A0C8 00227028 3C C0 80 3E */ lis r6, lbl_803DAA68@ha /* 8022A0CC 0022702C 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8022A0D0 00227030 38 A3 66 A0 */ addi r5, r3, sZeroVector__9CVector3f@l /* 8022A0D4 00227034 80 81 00 24 */ lwz r4, 0x24(r1) /* 8022A0D8 00227038 38 60 00 00 */ li r3, 0 /* 8022A0DC 0022703C 39 26 AA 68 */ addi r9, r6, lbl_803DAA68@l /* 8022A0E0 00227040 50 64 F8 00 */ rlwimi r4, r3, 0x1f, 0, 0 /* 8022A0E4 00227044 C0 45 00 00 */ lfs f2, 0(r5) /* 8022A0E8 00227048 C0 25 00 04 */ lfs f1, 4(r5) /* 8022A0EC 0022704C 3C E0 80 3E */ lis r7, lbl_803DA9F0@ha /* 8022A0F0 00227050 C0 05 00 08 */ lfs f0, 8(r5) /* 8022A0F4 00227054 7C 80 23 78 */ mr r0, r4 /* 8022A0F8 00227058 39 00 00 0E */ li r8, 0xe /* 8022A0FC 0022705C 38 C0 00 05 */ li r6, 5 /* 8022A100 00227060 38 A0 FF FF */ li r5, -1 /* 8022A104 00227064 3B EA 00 04 */ addi r31, r10, 4 /* 8022A108 00227068 91 21 00 08 */ stw r9, 8(r1) /* 8022A10C 0022706C 38 E7 A9 F0 */ addi r7, r7, lbl_803DA9F0@l /* 8022A110 00227070 50 60 F0 42 */ rlwimi r0, r3, 0x1e, 1, 1 /* 8022A114 00227074 7F E3 FB 78 */ mr r3, r31 /* 8022A118 00227078 90 81 00 24 */ stw r4, 0x24(r1) /* 8022A11C 0022707C 38 80 00 0E */ li r4, 0xe /* 8022A120 00227080 91 01 00 0C */ stw r8, 0xc(r1) /* 8022A124 00227084 90 E1 00 08 */ stw r7, 8(r1) /* 8022A128 00227088 90 C1 00 10 */ stw r6, 0x10(r1) /* 8022A12C 0022708C D0 41 00 14 */ stfs f2, 0x14(r1) /* 8022A130 00227090 D0 21 00 18 */ stfs f1, 0x18(r1) /* 8022A134 00227094 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8022A138 00227098 90 A1 00 20 */ stw r5, 0x20(r1) /* 8022A13C 0022709C 90 01 00 24 */ stw r0, 0x24(r1) /* 8022A140 002270A0 4B F0 72 F9 */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd /* 8022A144 002270A4 80 01 00 0C */ lwz r0, 0xc(r1) /* 8022A148 002270A8 3C 60 80 3E */ lis r3, lbl_803DA9F0@ha /* 8022A14C 002270AC 38 83 A9 F0 */ addi r4, r3, lbl_803DA9F0@l /* 8022A150 002270B0 3C 60 80 3E */ lis r3, lbl_803DAA68@ha /* 8022A154 002270B4 90 1F 01 90 */ stw r0, 0x190(r31) /* 8022A158 002270B8 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l /* 8022A15C 002270BC 80 A1 00 10 */ lwz r5, 0x10(r1) /* 8022A160 002270C0 80 61 00 14 */ lwz r3, 0x14(r1) /* 8022A164 002270C4 90 BF 01 94 */ stw r5, 0x194(r31) /* 8022A168 002270C8 80 A1 00 18 */ lwz r5, 0x18(r1) /* 8022A16C 002270CC 90 7F 01 98 */ stw r3, 0x198(r31) /* 8022A170 002270D0 80 61 00 1C */ lwz r3, 0x1c(r1) /* 8022A174 002270D4 90 BF 01 9C */ stw r5, 0x19c(r31) /* 8022A178 002270D8 80 A1 00 20 */ lwz r5, 0x20(r1) /* 8022A17C 002270DC 90 7F 01 A0 */ stw r3, 0x1a0(r31) /* 8022A180 002270E0 80 61 00 24 */ lwz r3, 0x24(r1) /* 8022A184 002270E4 90 BF 01 A4 */ stw r5, 0x1a4(r31) /* 8022A188 002270E8 90 81 00 08 */ stw r4, 8(r1) /* 8022A18C 002270EC 90 7F 01 A8 */ stw r3, 0x1a8(r31) /* 8022A190 002270F0 90 01 00 08 */ stw r0, 8(r1) /* 8022A194 002270F4 48 00 00 30 */ b lbl_8022A1C4 lbl_8022A198: /* 8022A198 002270F8 80 83 04 50 */ lwz r4, 0x450(r3) /* 8022A19C 002270FC 80 04 02 B8 */ lwz r0, 0x2b8(r4) /* 8022A1A0 00227100 2C 00 00 0C */ cmpwi r0, 0xc /* 8022A1A4 00227104 41 82 00 20 */ beq lbl_8022A1C4 /* 8022A1A8 00227108 38 00 00 03 */ li r0, 3 /* 8022A1AC 0022710C 90 03 05 68 */ stw r0, 0x568(r3) /* 8022A1B0 00227110 48 00 00 14 */ b lbl_8022A1C4 lbl_8022A1B4: /* 8022A1B4 00227114 7C 85 23 78 */ mr r5, r4 /* 8022A1B8 00227118 38 80 00 09 */ li r4, 9 /* 8022A1BC 0022711C 38 C0 FF FF */ li r6, -1 /* 8022A1C0 00227120 4B E2 6F 01 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage lbl_8022A1C4: /* 8022A1C4 00227124 80 01 00 34 */ lwz r0, 0x34(r1) /* 8022A1C8 00227128 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8022A1CC 0022712C 7C 08 03 A6 */ mtlr r0 /* 8022A1D0 00227130 38 21 00 30 */ addi r1, r1, 0x30 /* 8022A1D4 00227134 4E 80 00 20 */ blr .global Cover__12CElitePirateFR13CStateManager9EStateMsgf Cover__12CElitePirateFR13CStateManager9EStateMsgf: /* 8022A1D8 00227138 94 21 FF 20 */ stwu r1, -0xe0(r1) /* 8022A1DC 0022713C 7C 08 02 A6 */ mflr r0 /* 8022A1E0 00227140 90 01 00 E4 */ stw r0, 0xe4(r1) /* 8022A1E4 00227144 DB E1 00 D0 */ stfd f31, 0xd0(r1) /* 8022A1E8 00227148 F3 E1 00 D8 */ psq_st f31, 216(r1), 0, qr0 /* 8022A1EC 0022714C 93 E1 00 CC */ stw r31, 0xcc(r1) /* 8022A1F0 00227150 93 C1 00 C8 */ stw r30, 0xc8(r1) /* 8022A1F4 00227154 93 A1 00 C4 */ stw r29, 0xc4(r1) /* 8022A1F8 00227158 7C BF 2B 78 */ mr r31, r5 /* 8022A1FC 0022715C FF E0 08 90 */ fmr f31, f1 /* 8022A200 00227160 2C 1F 00 01 */ cmpwi r31, 1 /* 8022A204 00227164 7C 7D 1B 78 */ mr r29, r3 /* 8022A208 00227168 7C 9E 23 78 */ mr r30, r4 /* 8022A20C 0022716C 41 82 01 0C */ beq lbl_8022A318 /* 8022A210 00227170 40 80 00 10 */ bge lbl_8022A220 /* 8022A214 00227174 2C 1F 00 00 */ cmpwi r31, 0 /* 8022A218 00227178 40 80 00 14 */ bge lbl_8022A22C /* 8022A21C 0022717C 48 00 04 68 */ b lbl_8022A684 lbl_8022A220: /* 8022A220 00227180 2C 1F 00 03 */ cmpwi r31, 3 /* 8022A224 00227184 40 80 04 60 */ bge lbl_8022A684 /* 8022A228 00227188 48 00 03 E4 */ b lbl_8022A60C lbl_8022A22C: /* 8022A22C 0022718C 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8022A230 00227190 38 80 00 00 */ li r4, 0 /* 8022A234 00227194 4B F1 07 A5 */ bl SetLocomotionType__15CBodyControllerFQ23pas15ELocomotionType /* 8022A238 00227198 7F A3 EB 78 */ mr r3, r29 /* 8022A23C 0022719C 81 9D 00 00 */ lwz r12, 0(r29) /* 8022A240 002271A0 81 8C 02 CC */ lwz r12, 0x2cc(r12) /* 8022A244 002271A4 7D 89 03 A6 */ mtctr r12 /* 8022A248 002271A8 4E 80 04 21 */ bctrl /* 8022A24C 002271AC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022A250 002271B0 41 82 00 3C */ beq lbl_8022A28C /* 8022A254 002271B4 A0 1D 07 70 */ lhz r0, 0x770(r29) /* 8022A258 002271B8 7F C3 F3 78 */ mr r3, r30 /* 8022A25C 002271BC 38 81 00 14 */ addi r4, r1, 0x14 /* 8022A260 002271C0 B0 01 00 14 */ sth r0, 0x14(r1) /* 8022A264 002271C4 4B E2 23 11 */ bl ObjectById__13CStateManagerF9TUniqueId /* 8022A268 002271C8 7C 64 1B 78 */ mr r4, r3 /* 8022A26C 002271CC 38 61 00 20 */ addi r3, r1, 0x20 /* 8022A270 002271D0 4B E8 50 DD */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 8022A274 002271D4 80 63 00 04 */ lwz r3, 4(r3) /* 8022A278 002271D8 28 03 00 00 */ cmplwi r3, 0 /* 8022A27C 002271DC 41 82 00 10 */ beq lbl_8022A28C /* 8022A280 002271E0 3C 80 80 57 */ lis r4, sImmuneVulnerability__20CDamageVulnerability@ha /* 8022A284 002271E4 38 84 D7 18 */ addi r4, r4, sImmuneVulnerability__20CDamageVulnerability@l /* 8022A288 002271E8 4B F7 E9 11 */ bl SetDamageVulnerability__15CCollisionActorFRC20CDamageVulnerability lbl_8022A28C: /* 8022A28C 002271EC 80 7D 05 D4 */ lwz r3, 0x5d4(r29) /* 8022A290 002271F0 7F C4 F3 78 */ mr r4, r30 /* 8022A294 002271F4 38 A0 00 01 */ li r5, 1 /* 8022A298 002271F8 4B F7 D0 61 */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb /* 8022A29C 002271FC 80 BE 08 4C */ lwz r5, 0x84c(r30) /* 8022A2A0 00227200 38 7D 06 F8 */ addi r3, r29, 0x6f8 /* 8022A2A4 00227204 38 81 00 10 */ addi r4, r1, 0x10 /* 8022A2A8 00227208 A0 05 00 08 */ lhz r0, 8(r5) /* 8022A2AC 0022720C B0 01 00 0C */ sth r0, 0xc(r1) /* 8022A2B0 00227210 B0 01 00 10 */ sth r0, 0x10(r1) /* 8022A2B4 00227214 4B F4 AF 65 */ bl SetTarget__13CBoneTrackingF9TUniqueId /* 8022A2B8 00227218 38 7D 06 F8 */ addi r3, r29, 0x6f8 /* 8022A2BC 0022721C 38 80 00 01 */ li r4, 1 /* 8022A2C0 00227220 4B F4 AF 65 */ bl SetActive__13CBoneTrackingFb /* 8022A2C4 00227224 7F A3 EB 78 */ mr r3, r29 /* 8022A2C8 00227228 7F C4 F3 78 */ mr r4, r30 /* 8022A2CC 0022722C 4B FF E3 69 */ bl sub_80228634 /* 8022A2D0 00227230 FC 20 F8 90 */ fmr f1, f31 /* 8022A2D4 00227234 7F A3 EB 78 */ mr r3, r29 /* 8022A2D8 00227238 7F C4 F3 78 */ mr r4, r30 /* 8022A2DC 0022723C 7F E5 FB 78 */ mr r5, r31 /* 8022A2E0 00227240 4B FC C3 ED */ bl PathFind__10CPatternedFR13CStateManager9EStateMsgf /* 8022A2E4 00227244 7F A3 EB 78 */ mr r3, r29 /* 8022A2E8 00227248 7F C4 F3 78 */ mr r4, r30 /* 8022A2EC 0022724C 81 9D 00 00 */ lwz r12, 0(r29) /* 8022A2F0 00227250 C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022A2F4 00227254 81 8C 01 9C */ lwz r12, 0x19c(r12) /* 8022A2F8 00227258 7D 89 03 A6 */ mtctr r12 /* 8022A2FC 0022725C 4E 80 04 21 */ bctrl /* 8022A300 00227260 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022A304 00227264 41 82 03 80 */ beq lbl_8022A684 /* 8022A308 00227268 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8022A30C 0022726C 38 63 00 04 */ addi r3, r3, 4 /* 8022A310 00227270 4B F0 71 99 */ bl ClearLocomotionCmds__16CBodyStateCmdMgrFv /* 8022A314 00227274 48 00 03 70 */ b lbl_8022A684 lbl_8022A318: /* 8022A318 00227278 88 1D 09 88 */ lbz r0, 0x988(r29) /* 8022A31C 0022727C 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 8022A320 00227280 41 82 00 34 */ beq lbl_8022A354 /* 8022A324 00227284 C0 3D 07 C0 */ lfs f1, 0x7c0(r29) /* 8022A328 00227288 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 8022A32C 0022728C EC 21 F8 28 */ fsubs f1, f1, f31 /* 8022A330 00227290 D0 3D 07 C0 */ stfs f1, 0x7c0(r29) /* 8022A334 00227294 C0 3D 07 C0 */ lfs f1, 0x7c0(r29) /* 8022A338 00227298 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022A33C 0022729C 4C 40 13 82 */ cror 2, 0, 2 /* 8022A340 002272A0 40 82 00 14 */ bne lbl_8022A354 /* 8022A344 002272A4 88 1D 09 88 */ lbz r0, 0x988(r29) /* 8022A348 002272A8 38 60 00 00 */ li r3, 0 /* 8022A34C 002272AC 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 8022A350 002272B0 98 1D 09 88 */ stb r0, 0x988(r29) lbl_8022A354: /* 8022A354 002272B4 7F A3 EB 78 */ mr r3, r29 /* 8022A358 002272B8 7F C4 F3 78 */ mr r4, r30 /* 8022A35C 002272BC 81 9D 00 00 */ lwz r12, 0(r29) /* 8022A360 002272C0 C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022A364 002272C4 81 8C 01 90 */ lwz r12, 0x190(r12) /* 8022A368 002272C8 7D 89 03 A6 */ mtctr r12 /* 8022A36C 002272CC 4E 80 04 21 */ bctrl /* 8022A370 002272D0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022A374 002272D4 41 82 00 10 */ beq lbl_8022A384 /* 8022A378 002272D8 C0 1D 07 A8 */ lfs f0, 0x7a8(r29) /* 8022A37C 002272DC EC 00 F8 2A */ fadds f0, f0, f31 /* 8022A380 002272E0 48 00 00 08 */ b lbl_8022A388 lbl_8022A384: /* 8022A384 002272E4 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) lbl_8022A388: /* 8022A388 002272E8 D0 1D 07 A8 */ stfs f0, 0x7a8(r29) /* 8022A38C 002272EC 7F A3 EB 78 */ mr r3, r29 /* 8022A390 002272F0 7F C4 F3 78 */ mr r4, r30 /* 8022A394 002272F4 C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022A398 002272F8 81 9D 00 00 */ lwz r12, 0(r29) /* 8022A39C 002272FC 81 8C 01 9C */ lwz r12, 0x19c(r12) /* 8022A3A0 00227300 7D 89 03 A6 */ mtctr r12 /* 8022A3A4 00227304 4E 80 04 21 */ bctrl /* 8022A3A8 00227308 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022A3AC 0022730C 40 82 00 40 */ bne lbl_8022A3EC /* 8022A3B0 00227310 7F A3 EB 78 */ mr r3, r29 /* 8022A3B4 00227314 7F C4 F3 78 */ mr r4, r30 /* 8022A3B8 00227318 81 9D 00 00 */ lwz r12, 0(r29) /* 8022A3BC 0022731C C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022A3C0 00227320 81 8C 01 90 */ lwz r12, 0x190(r12) /* 8022A3C4 00227324 7D 89 03 A6 */ mtctr r12 /* 8022A3C8 00227328 4E 80 04 21 */ bctrl /* 8022A3CC 0022732C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022A3D0 00227330 40 82 00 1C */ bne lbl_8022A3EC /* 8022A3D4 00227334 FC 20 F8 90 */ fmr f1, f31 /* 8022A3D8 00227338 7F A3 EB 78 */ mr r3, r29 /* 8022A3DC 0022733C 7F C4 F3 78 */ mr r4, r30 /* 8022A3E0 00227340 7F E5 FB 78 */ mr r5, r31 /* 8022A3E4 00227344 4B FC C2 E9 */ bl PathFind__10CPatternedFR13CStateManager9EStateMsgf /* 8022A3E8 00227348 48 00 02 04 */ b lbl_8022A5EC lbl_8022A3EC: /* 8022A3EC 0022734C 7F A3 EB 78 */ mr r3, r29 /* 8022A3F0 00227350 7F C4 F3 78 */ mr r4, r30 /* 8022A3F4 00227354 81 9D 00 00 */ lwz r12, 0(r29) /* 8022A3F8 00227358 C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022A3FC 0022735C 81 8C 01 90 */ lwz r12, 0x190(r12) /* 8022A400 00227360 7D 89 03 A6 */ mtctr r12 /* 8022A404 00227364 4E 80 04 21 */ bctrl /* 8022A408 00227368 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022A40C 0022736C 41 82 00 F4 */ beq lbl_8022A500 /* 8022A410 00227370 C0 5D 00 38 */ lfs f2, 0x38(r29) /* 8022A414 00227374 38 61 00 70 */ addi r3, r1, 0x70 /* 8022A418 00227378 C0 3D 00 48 */ lfs f1, 0x48(r29) /* 8022A41C 0022737C 38 9D 08 C0 */ addi r4, r29, 0x8c0 /* 8022A420 00227380 C0 1D 00 58 */ lfs f0, 0x58(r29) /* 8022A424 00227384 38 A1 00 64 */ addi r5, r1, 0x64 /* 8022A428 00227388 D0 41 00 40 */ stfs f2, 0x40(r1) /* 8022A42C 0022738C 38 C1 00 4C */ addi r6, r1, 0x4c /* 8022A430 00227390 D0 21 00 44 */ stfs f1, 0x44(r1) /* 8022A434 00227394 81 01 00 40 */ lwz r8, 0x40(r1) /* 8022A438 00227398 D0 01 00 48 */ stfs f0, 0x48(r1) /* 8022A43C 0022739C 80 E1 00 44 */ lwz r7, 0x44(r1) /* 8022A440 002273A0 80 01 00 48 */ lwz r0, 0x48(r1) /* 8022A444 002273A4 91 01 00 4C */ stw r8, 0x4c(r1) /* 8022A448 002273A8 90 E1 00 50 */ stw r7, 0x50(r1) /* 8022A44C 002273AC 90 01 00 54 */ stw r0, 0x54(r1) /* 8022A450 002273B0 C0 5D 00 40 */ lfs f2, 0x40(r29) /* 8022A454 002273B4 C0 3D 00 50 */ lfs f1, 0x50(r29) /* 8022A458 002273B8 C0 1D 00 60 */ lfs f0, 0x60(r29) /* 8022A45C 002273BC D0 41 00 58 */ stfs f2, 0x58(r1) /* 8022A460 002273C0 D0 21 00 5C */ stfs f1, 0x5c(r1) /* 8022A464 002273C4 81 01 00 58 */ lwz r8, 0x58(r1) /* 8022A468 002273C8 D0 01 00 60 */ stfs f0, 0x60(r1) /* 8022A46C 002273CC 80 E1 00 5C */ lwz r7, 0x5c(r1) /* 8022A470 002273D0 80 01 00 60 */ lwz r0, 0x60(r1) /* 8022A474 002273D4 91 01 00 64 */ stw r8, 0x64(r1) /* 8022A478 002273D8 90 E1 00 68 */ stw r7, 0x68(r1) /* 8022A47C 002273DC 90 01 00 6C */ stw r0, 0x6c(r1) /* 8022A480 002273E0 48 07 63 71 */ bl sub_802a07f0 /* 8022A484 002273E4 C0 21 00 70 */ lfs f1, 0x70(r1) /* 8022A488 002273E8 38 00 00 00 */ li r0, 0 /* 8022A48C 002273EC C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 8022A490 002273F0 C0 81 00 74 */ lfs f4, 0x74(r1) /* 8022A494 002273F4 FC 00 08 00 */ fcmpu cr0, f0, f1 /* 8022A498 002273F8 C0 A1 00 78 */ lfs f5, 0x78(r1) /* 8022A49C 002273FC 40 82 00 14 */ bne lbl_8022A4B0 /* 8022A4A0 00227400 FC 00 20 00 */ fcmpu cr0, f0, f4 /* 8022A4A4 00227404 40 82 00 0C */ bne lbl_8022A4B0 /* 8022A4A8 00227408 FC 00 28 00 */ fcmpu cr0, f0, f5 /* 8022A4AC 0022740C 41 82 00 08 */ beq lbl_8022A4B4 lbl_8022A4B0: /* 8022A4B0 00227410 38 00 00 01 */ li r0, 1 lbl_8022A4B4: /* 8022A4B4 00227414 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 8022A4B8 00227418 41 82 01 34 */ beq lbl_8022A5EC /* 8022A4BC 0022741C 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8022A4C0 00227420 C4 63 66 A0 */ lfsu f3, sZeroVector__9CVector3f@l(r3) /* 8022A4C4 00227424 C0 02 B5 CC */ lfs f0, lbl_805AD2EC@sda21(r2) /* 8022A4C8 00227428 38 81 00 A4 */ addi r4, r1, 0xa4 /* 8022A4CC 0022742C D0 21 00 A4 */ stfs f1, 0xa4(r1) /* 8022A4D0 00227430 C0 43 00 04 */ lfs f2, 4(r3) /* 8022A4D4 00227434 C0 23 00 08 */ lfs f1, 8(r3) /* 8022A4D8 00227438 D0 81 00 A8 */ stfs f4, 0xa8(r1) /* 8022A4DC 0022743C D0 A1 00 AC */ stfs f5, 0xac(r1) /* 8022A4E0 00227440 D0 61 00 B0 */ stfs f3, 0xb0(r1) /* 8022A4E4 00227444 D0 41 00 B4 */ stfs f2, 0xb4(r1) /* 8022A4E8 00227448 D0 21 00 B8 */ stfs f1, 0xb8(r1) /* 8022A4EC 0022744C D0 01 00 BC */ stfs f0, 0xbc(r1) /* 8022A4F0 00227450 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8022A4F4 00227454 38 63 00 04 */ addi r3, r3, 4 /* 8022A4F8 00227458 4B F0 72 21 */ bl DeliverCmd__16CBodyStateCmdMgrFRC16CBCLocomotionCmd /* 8022A4FC 0022745C 48 00 00 F0 */ b lbl_8022A5EC lbl_8022A500: /* 8022A500 00227460 7F A3 EB 78 */ mr r3, r29 /* 8022A504 00227464 7F C4 F3 78 */ mr r4, r30 /* 8022A508 00227468 81 9D 00 00 */ lwz r12, 0(r29) /* 8022A50C 0022746C C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022A510 00227470 81 8C 01 E8 */ lwz r12, 0x1e8(r12) /* 8022A514 00227474 7D 89 03 A6 */ mtctr r12 /* 8022A518 00227478 4E 80 04 21 */ bctrl /* 8022A51C 0022747C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022A520 00227480 41 82 00 CC */ beq lbl_8022A5EC /* 8022A524 00227484 80 DD 00 64 */ lwz r6, 0x64(r29) /* 8022A528 00227488 7F C5 F3 78 */ mr r5, r30 /* 8022A52C 0022748C 80 9E 08 4C */ lwz r4, 0x84c(r30) /* 8022A530 00227490 38 61 00 34 */ addi r3, r1, 0x34 /* 8022A534 00227494 80 C6 00 10 */ lwz r6, 0x10(r6) /* 8022A538 00227498 81 84 00 00 */ lwz r12, 0(r4) /* 8022A53C 0022749C C0 22 B5 BC */ lfs f1, lbl_805AD2DC@sda21(r2) /* 8022A540 002274A0 C0 06 02 00 */ lfs f0, 0x200(r6) /* 8022A544 002274A4 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 8022A548 002274A8 EC 21 00 32 */ fmuls f1, f1, f0 /* 8022A54C 002274AC 7D 89 03 A6 */ mtctr r12 /* 8022A550 002274B0 4E 80 04 21 */ bctrl /* 8022A554 002274B4 C0 21 00 38 */ lfs f1, 0x38(r1) /* 8022A558 002274B8 38 61 00 7C */ addi r3, r1, 0x7c /* 8022A55C 002274BC C0 1D 00 50 */ lfs f0, 0x50(r29) /* 8022A560 002274C0 C0 61 00 3C */ lfs f3, 0x3c(r1) /* 8022A564 002274C4 C0 5D 00 60 */ lfs f2, 0x60(r29) /* 8022A568 002274C8 EC 81 00 28 */ fsubs f4, f1, f0 /* 8022A56C 002274CC C0 1D 00 40 */ lfs f0, 0x40(r29) /* 8022A570 002274D0 C0 21 00 34 */ lfs f1, 0x34(r1) /* 8022A574 002274D4 EC 43 10 28 */ fsubs f2, f3, f2 /* 8022A578 002274D8 D0 81 00 80 */ stfs f4, 0x80(r1) /* 8022A57C 002274DC EC 01 00 28 */ fsubs f0, f1, f0 /* 8022A580 002274E0 D0 41 00 84 */ stfs f2, 0x84(r1) /* 8022A584 002274E4 D0 01 00 7C */ stfs f0, 0x7c(r1) /* 8022A588 002274E8 48 0E A1 71 */ bl CanBeNormalized__9CVector3fCFv /* 8022A58C 002274EC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022A590 002274F0 41 82 00 5C */ beq lbl_8022A5EC /* 8022A594 002274F4 38 61 00 28 */ addi r3, r1, 0x28 /* 8022A598 002274F8 38 81 00 7C */ addi r4, r1, 0x7c /* 8022A59C 002274FC 48 0E A2 B5 */ bl AsNormalized__9CVector3fCFv /* 8022A5A0 00227500 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8022A5A4 00227504 C4 C3 66 A0 */ lfsu f6, sZeroVector__9CVector3f@l(r3) /* 8022A5A8 00227508 C0 61 00 28 */ lfs f3, 0x28(r1) /* 8022A5AC 0022750C 38 81 00 88 */ addi r4, r1, 0x88 /* 8022A5B0 00227510 C0 41 00 2C */ lfs f2, 0x2c(r1) /* 8022A5B4 00227514 C0 A3 00 04 */ lfs f5, 4(r3) /* 8022A5B8 00227518 C0 83 00 08 */ lfs f4, 8(r3) /* 8022A5BC 0022751C C0 21 00 30 */ lfs f1, 0x30(r1) /* 8022A5C0 00227520 C0 02 B5 CC */ lfs f0, lbl_805AD2EC@sda21(r2) /* 8022A5C4 00227524 D0 C1 00 88 */ stfs f6, 0x88(r1) /* 8022A5C8 00227528 D0 A1 00 8C */ stfs f5, 0x8c(r1) /* 8022A5CC 0022752C D0 81 00 90 */ stfs f4, 0x90(r1) /* 8022A5D0 00227530 D0 61 00 94 */ stfs f3, 0x94(r1) /* 8022A5D4 00227534 D0 41 00 98 */ stfs f2, 0x98(r1) /* 8022A5D8 00227538 D0 21 00 9C */ stfs f1, 0x9c(r1) /* 8022A5DC 0022753C D0 01 00 A0 */ stfs f0, 0xa0(r1) /* 8022A5E0 00227540 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8022A5E4 00227544 38 63 00 04 */ addi r3, r3, 4 /* 8022A5E8 00227548 4B F0 71 31 */ bl DeliverCmd__16CBodyStateCmdMgrFRC16CBCLocomotionCmd lbl_8022A5EC: /* 8022A5EC 0022754C 7F A3 EB 78 */ mr r3, r29 /* 8022A5F0 00227550 7F C4 F3 78 */ mr r4, r30 /* 8022A5F4 00227554 4B FF D4 9D */ bl sub_80227a90 /* 8022A5F8 00227558 FC 20 F8 90 */ fmr f1, f31 /* 8022A5FC 0022755C 7F A3 EB 78 */ mr r3, r29 /* 8022A600 00227560 7F C4 F3 78 */ mr r4, r30 /* 8022A604 00227564 4B FF D1 DD */ bl sub_802277e0 /* 8022A608 00227568 48 00 00 7C */ b lbl_8022A684 lbl_8022A60C: /* 8022A60C 0022756C 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8022A610 00227570 38 80 00 01 */ li r4, 1 /* 8022A614 00227574 4B F1 03 C5 */ bl SetLocomotionType__15CBodyControllerFQ23pas15ELocomotionType /* 8022A618 00227578 38 7D 06 F8 */ addi r3, r29, 0x6f8 /* 8022A61C 0022757C 38 80 00 00 */ li r4, 0 /* 8022A620 00227580 4B F4 AC 05 */ bl SetActive__13CBoneTrackingFb /* 8022A624 00227584 7F A3 EB 78 */ mr r3, r29 /* 8022A628 00227588 81 9D 00 00 */ lwz r12, 0(r29) /* 8022A62C 0022758C 81 8C 02 CC */ lwz r12, 0x2cc(r12) /* 8022A630 00227590 7D 89 03 A6 */ mtctr r12 /* 8022A634 00227594 4E 80 04 21 */ bctrl /* 8022A638 00227598 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022A63C 0022759C 41 82 00 38 */ beq lbl_8022A674 /* 8022A640 002275A0 A0 1D 07 70 */ lhz r0, 0x770(r29) /* 8022A644 002275A4 7F C3 F3 78 */ mr r3, r30 /* 8022A648 002275A8 38 81 00 08 */ addi r4, r1, 8 /* 8022A64C 002275AC B0 01 00 08 */ sth r0, 8(r1) /* 8022A650 002275B0 4B E2 1F 25 */ bl ObjectById__13CStateManagerF9TUniqueId /* 8022A654 002275B4 7C 64 1B 78 */ mr r4, r3 /* 8022A658 002275B8 38 61 00 18 */ addi r3, r1, 0x18 /* 8022A65C 002275BC 4B E8 4C F1 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 8022A660 002275C0 80 63 00 04 */ lwz r3, 4(r3) /* 8022A664 002275C4 28 03 00 00 */ cmplwi r3, 0 /* 8022A668 002275C8 41 82 00 0C */ beq lbl_8022A674 /* 8022A66C 002275CC 38 9D 05 6C */ addi r4, r29, 0x56c /* 8022A670 002275D0 4B F7 E5 29 */ bl SetDamageVulnerability__15CCollisionActorFRC20CDamageVulnerability lbl_8022A674: /* 8022A674 002275D4 80 7D 05 D4 */ lwz r3, 0x5d4(r29) /* 8022A678 002275D8 7F C4 F3 78 */ mr r4, r30 /* 8022A67C 002275DC 38 A0 00 00 */ li r5, 0 /* 8022A680 002275E0 4B F7 CC 79 */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb lbl_8022A684: /* 8022A684 002275E4 E3 E1 00 D8 */ psq_l f31, 216(r1), 0, qr0 /* 8022A688 002275E8 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 8022A68C 002275EC CB E1 00 D0 */ lfd f31, 0xd0(r1) /* 8022A690 002275F0 83 E1 00 CC */ lwz r31, 0xcc(r1) /* 8022A694 002275F4 83 C1 00 C8 */ lwz r30, 0xc8(r1) /* 8022A698 002275F8 83 A1 00 C4 */ lwz r29, 0xc4(r1) /* 8022A69C 002275FC 7C 08 03 A6 */ mtlr r0 /* 8022A6A0 00227600 38 21 00 E0 */ addi r1, r1, 0xe0 /* 8022A6A4 00227604 4E 80 00 20 */ blr .global Attack__12CElitePirateFR13CStateManager9EStateMsgf Attack__12CElitePirateFR13CStateManager9EStateMsgf: /* 8022A6A8 00227608 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8022A6AC 0022760C 7C 08 02 A6 */ mflr r0 /* 8022A6B0 00227610 2C 05 00 01 */ cmpwi r5, 1 /* 8022A6B4 00227614 90 01 00 54 */ stw r0, 0x54(r1) /* 8022A6B8 00227618 93 E1 00 4C */ stw r31, 0x4c(r1) /* 8022A6BC 0022761C 7C 9F 23 78 */ mr r31, r4 /* 8022A6C0 00227620 93 C1 00 48 */ stw r30, 0x48(r1) /* 8022A6C4 00227624 7C 7E 1B 78 */ mr r30, r3 /* 8022A6C8 00227628 41 82 00 54 */ beq lbl_8022A71C /* 8022A6CC 0022762C 40 80 00 10 */ bge lbl_8022A6DC /* 8022A6D0 00227630 2C 05 00 00 */ cmpwi r5, 0 /* 8022A6D4 00227634 40 80 00 14 */ bge lbl_8022A6E8 /* 8022A6D8 00227638 48 00 03 90 */ b lbl_8022AA68 lbl_8022A6DC: /* 8022A6DC 0022763C 2C 05 00 03 */ cmpwi r5, 3 /* 8022A6E0 00227640 40 80 03 88 */ bge lbl_8022AA68 /* 8022A6E4 00227644 48 00 03 10 */ b lbl_8022A9F4 lbl_8022A6E8: /* 8022A6E8 00227648 38 00 00 00 */ li r0, 0 /* 8022A6EC 0022764C 3C A0 80 57 */ lis r5, skExtendedClawBounds__12CElitePirate@ha /* 8022A6F0 00227650 90 1E 05 68 */ stw r0, 0x568(r30) /* 8022A6F4 00227654 38 C5 23 E0 */ addi r6, r5, skExtendedClawBounds__12CElitePirate@l /* 8022A6F8 00227658 38 BE 07 74 */ addi r5, r30, 0x774 /* 8022A6FC 0022765C 4B FF EC 4D */ bl sub_80229348 /* 8022A700 00227660 80 7E 00 64 */ lwz r3, 0x64(r30) /* 8022A704 00227664 4B EE A5 45 */ bl GetNumMaterialSets__10CModelDataCFv /* 8022A708 00227668 2C 03 00 01 */ cmpwi r3, 1 /* 8022A70C 0022766C 40 81 03 5C */ ble lbl_8022AA68 /* 8022A710 00227670 38 00 00 01 */ li r0, 1 /* 8022A714 00227674 90 1E 07 CC */ stw r0, 0x7cc(r30) /* 8022A718 00227678 48 00 03 50 */ b lbl_8022AA68 lbl_8022A71C: /* 8022A71C 0022767C 80 1E 05 68 */ lwz r0, 0x568(r30) /* 8022A720 00227680 2C 00 00 01 */ cmpwi r0, 1 /* 8022A724 00227684 41 82 00 FC */ beq lbl_8022A820 /* 8022A728 00227688 40 80 00 10 */ bge lbl_8022A738 /* 8022A72C 0022768C 2C 00 00 00 */ cmpwi r0, 0 /* 8022A730 00227690 40 80 00 14 */ bge lbl_8022A744 /* 8022A734 00227694 48 00 03 34 */ b lbl_8022AA68 lbl_8022A738: /* 8022A738 00227698 2C 00 00 03 */ cmpwi r0, 3 /* 8022A73C 0022769C 40 80 03 2C */ bge lbl_8022AA68 /* 8022A740 002276A0 48 00 02 60 */ b lbl_8022A9A0 lbl_8022A744: /* 8022A744 002276A4 81 1E 04 50 */ lwz r8, 0x450(r30) /* 8022A748 002276A8 80 08 02 B8 */ lwz r0, 0x2b8(r8) /* 8022A74C 002276AC 2C 00 00 07 */ cmpwi r0, 7 /* 8022A750 002276B0 40 82 00 28 */ bne lbl_8022A778 /* 8022A754 002276B4 38 60 00 01 */ li r3, 1 /* 8022A758 002276B8 90 7E 05 68 */ stw r3, 0x568(r30) /* 8022A75C 002276BC 88 1E 09 88 */ lbz r0, 0x988(r30) /* 8022A760 002276C0 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 /* 8022A764 002276C4 98 1E 09 88 */ stb r0, 0x988(r30) /* 8022A768 002276C8 80 7E 04 50 */ lwz r3, 0x450(r30) /* 8022A76C 002276CC 80 03 02 F8 */ lwz r0, 0x2f8(r3) /* 8022A770 002276D0 90 1E 07 C8 */ stw r0, 0x7c8(r30) /* 8022A774 002276D4 48 00 02 F4 */ b lbl_8022AA68 lbl_8022A778: /* 8022A778 002276D8 3C A0 80 3E */ lis r5, lbl_803DAA68@ha /* 8022A77C 002276DC 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8022A780 002276E0 C4 43 66 A0 */ lfsu f2, sZeroVector__9CVector3f@l(r3) /* 8022A784 002276E4 38 C5 AA 68 */ addi r6, r5, lbl_803DAA68@l /* 8022A788 002276E8 3C 80 80 3E */ lis r4, lbl_803DA9D8@ha /* 8022A78C 002276EC 90 C1 00 24 */ stw r6, 0x24(r1) /* 8022A790 002276F0 38 C4 A9 D8 */ addi r6, r4, lbl_803DA9D8@l /* 8022A794 002276F4 C0 23 00 04 */ lfs f1, 4(r3) /* 8022A798 002276F8 C0 03 00 08 */ lfs f0, 8(r3) /* 8022A79C 002276FC 38 E0 00 05 */ li r7, 5 /* 8022A7A0 00227700 38 A0 00 01 */ li r5, 1 /* 8022A7A4 00227704 38 00 00 00 */ li r0, 0 /* 8022A7A8 00227708 3B C8 00 04 */ addi r30, r8, 4 /* 8022A7AC 0022770C 90 E1 00 28 */ stw r7, 0x28(r1) /* 8022A7B0 00227710 7F C3 F3 78 */ mr r3, r30 /* 8022A7B4 00227714 38 80 00 05 */ li r4, 5 /* 8022A7B8 00227718 90 C1 00 24 */ stw r6, 0x24(r1) /* 8022A7BC 0022771C 90 A1 00 2C */ stw r5, 0x2c(r1) /* 8022A7C0 00227720 D0 41 00 30 */ stfs f2, 0x30(r1) /* 8022A7C4 00227724 D0 21 00 34 */ stfs f1, 0x34(r1) /* 8022A7C8 00227728 D0 01 00 38 */ stfs f0, 0x38(r1) /* 8022A7CC 0022772C 98 01 00 3C */ stb r0, 0x3c(r1) /* 8022A7D0 00227730 4B F0 6C 69 */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd /* 8022A7D4 00227734 80 01 00 28 */ lwz r0, 0x28(r1) /* 8022A7D8 00227738 3C 60 80 3E */ lis r3, lbl_803DA9D8@ha /* 8022A7DC 0022773C 38 83 A9 D8 */ addi r4, r3, lbl_803DA9D8@l /* 8022A7E0 00227740 3C 60 80 3E */ lis r3, lbl_803DAA68@ha /* 8022A7E4 00227744 90 1E 01 10 */ stw r0, 0x110(r30) /* 8022A7E8 00227748 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l /* 8022A7EC 0022774C 80 61 00 2C */ lwz r3, 0x2c(r1) /* 8022A7F0 00227750 80 A1 00 30 */ lwz r5, 0x30(r1) /* 8022A7F4 00227754 90 7E 01 14 */ stw r3, 0x114(r30) /* 8022A7F8 00227758 80 61 00 34 */ lwz r3, 0x34(r1) /* 8022A7FC 0022775C 90 BE 01 18 */ stw r5, 0x118(r30) /* 8022A800 00227760 80 A1 00 38 */ lwz r5, 0x38(r1) /* 8022A804 00227764 90 7E 01 1C */ stw r3, 0x11c(r30) /* 8022A808 00227768 88 61 00 3C */ lbz r3, 0x3c(r1) /* 8022A80C 0022776C 90 BE 01 20 */ stw r5, 0x120(r30) /* 8022A810 00227770 90 81 00 24 */ stw r4, 0x24(r1) /* 8022A814 00227774 98 7E 01 24 */ stb r3, 0x124(r30) /* 8022A818 00227778 90 01 00 24 */ stw r0, 0x24(r1) /* 8022A81C 0022777C 48 00 02 4C */ b lbl_8022AA68 lbl_8022A820: /* 8022A820 00227780 80 DE 04 50 */ lwz r6, 0x450(r30) /* 8022A824 00227784 80 06 02 B8 */ lwz r0, 0x2b8(r6) /* 8022A828 00227788 2C 00 00 07 */ cmpwi r0, 7 /* 8022A82C 0022778C 41 82 00 10 */ beq lbl_8022A83C /* 8022A830 00227790 38 00 00 03 */ li r0, 3 /* 8022A834 00227794 90 1E 05 68 */ stw r0, 0x568(r30) /* 8022A838 00227798 48 00 02 30 */ b lbl_8022AA68 lbl_8022A83C: /* 8022A83C 0022779C 80 BE 07 C8 */ lwz r5, 0x7c8(r30) /* 8022A840 002277A0 80 06 02 F8 */ lwz r0, 0x2f8(r6) /* 8022A844 002277A4 7C 05 00 00 */ cmpw r5, r0 /* 8022A848 002277A8 41 82 00 58 */ beq lbl_8022A8A0 /* 8022A84C 002277AC 38 00 00 02 */ li r0, 2 /* 8022A850 002277B0 3C A0 80 5A */ lis r5, sZeroVector__9CVector3f@ha /* 8022A854 002277B4 90 1E 05 68 */ stw r0, 0x568(r30) /* 8022A858 002277B8 38 C5 66 A0 */ addi r6, r5, sZeroVector__9CVector3f@l /* 8022A85C 002277BC 38 A0 00 00 */ li r5, 0 /* 8022A860 002277C0 38 E0 00 01 */ li r7, 1 /* 8022A864 002277C4 88 1E 09 88 */ lbz r0, 0x988(r30) /* 8022A868 002277C8 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19 /* 8022A86C 002277CC 38 BE 07 74 */ addi r5, r30, 0x774 /* 8022A870 002277D0 98 1E 09 88 */ stb r0, 0x988(r30) /* 8022A874 002277D4 88 1E 09 88 */ lbz r0, 0x988(r30) /* 8022A878 002277D8 50 E0 2E B4 */ rlwimi r0, r7, 5, 0x1a, 0x1a /* 8022A87C 002277DC 98 1E 09 88 */ stb r0, 0x988(r30) /* 8022A880 002277E0 4B FF EA C9 */ bl sub_80229348 /* 8022A884 002277E4 3C 80 80 57 */ lis r4, skExtendedClawBounds__12CElitePirate@ha /* 8022A888 002277E8 7F C3 F3 78 */ mr r3, r30 /* 8022A88C 002277EC 38 C4 23 E0 */ addi r6, r4, skExtendedClawBounds__12CElitePirate@l /* 8022A890 002277F0 38 BE 07 88 */ addi r5, r30, 0x788 /* 8022A894 002277F4 7F E4 FB 78 */ mr r4, r31 /* 8022A898 002277F8 4B FF EA B1 */ bl sub_80229348 /* 8022A89C 002277FC 48 00 01 CC */ b lbl_8022AA68 lbl_8022A8A0: /* 8022A8A0 00227800 80 BF 08 4C */ lwz r5, 0x84c(r31) /* 8022A8A4 00227804 C0 1E 00 40 */ lfs f0, 0x40(r30) /* 8022A8A8 00227808 C0 25 00 40 */ lfs f1, 0x40(r5) /* 8022A8AC 0022780C C0 A5 00 50 */ lfs f5, 0x50(r5) /* 8022A8B0 00227810 C0 9E 00 50 */ lfs f4, 0x50(r30) /* 8022A8B4 00227814 EC 01 00 28 */ fsubs f0, f1, f0 /* 8022A8B8 00227818 C0 65 00 60 */ lfs f3, 0x60(r5) /* 8022A8BC 0022781C C0 5E 00 60 */ lfs f2, 0x60(r30) /* 8022A8C0 00227820 EC 85 20 28 */ fsubs f4, f5, f4 /* 8022A8C4 00227824 C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022A8C8 00227828 D0 06 00 1C */ stfs f0, 0x1c(r6) /* 8022A8CC 0022782C EC 03 10 28 */ fsubs f0, f3, f2 /* 8022A8D0 00227830 D0 86 00 20 */ stfs f4, 0x20(r6) /* 8022A8D4 00227834 D0 06 00 24 */ stfs f0, 0x24(r6) /* 8022A8D8 00227838 81 83 00 00 */ lwz r12, 0(r3) /* 8022A8DC 0022783C 81 8C 01 DC */ lwz r12, 0x1dc(r12) /* 8022A8E0 00227840 7D 89 03 A6 */ mtctr r12 /* 8022A8E4 00227844 4E 80 04 21 */ bctrl /* 8022A8E8 00227848 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022A8EC 0022784C 41 82 01 7C */ beq lbl_8022AA68 /* 8022A8F0 00227850 3C A0 80 3E */ lis r5, lbl_803DAA68@ha /* 8022A8F4 00227854 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8022A8F8 00227858 38 83 66 A0 */ addi r4, r3, sZeroVector__9CVector3f@l /* 8022A8FC 0022785C 80 7E 04 50 */ lwz r3, 0x450(r30) /* 8022A900 00227860 39 05 AA 68 */ addi r8, r5, lbl_803DAA68@l /* 8022A904 00227864 C0 44 00 00 */ lfs f2, 0(r4) /* 8022A908 00227868 C0 24 00 04 */ lfs f1, 4(r4) /* 8022A90C 0022786C 3C C0 80 3E */ lis r6, lbl_803DA9D8@ha /* 8022A910 00227870 C0 04 00 08 */ lfs f0, 8(r4) /* 8022A914 00227874 38 E0 00 05 */ li r7, 5 /* 8022A918 00227878 38 A0 00 02 */ li r5, 2 /* 8022A91C 0022787C 38 00 00 00 */ li r0, 0 /* 8022A920 00227880 3B C3 00 04 */ addi r30, r3, 4 /* 8022A924 00227884 91 01 00 08 */ stw r8, 8(r1) /* 8022A928 00227888 38 C6 A9 D8 */ addi r6, r6, lbl_803DA9D8@l /* 8022A92C 0022788C 38 80 00 05 */ li r4, 5 /* 8022A930 00227890 90 E1 00 0C */ stw r7, 0xc(r1) /* 8022A934 00227894 7F C3 F3 78 */ mr r3, r30 /* 8022A938 00227898 90 C1 00 08 */ stw r6, 8(r1) /* 8022A93C 0022789C 90 A1 00 10 */ stw r5, 0x10(r1) /* 8022A940 002278A0 D0 41 00 14 */ stfs f2, 0x14(r1) /* 8022A944 002278A4 D0 21 00 18 */ stfs f1, 0x18(r1) /* 8022A948 002278A8 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8022A94C 002278AC 98 01 00 20 */ stb r0, 0x20(r1) /* 8022A950 002278B0 4B F0 6A E9 */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd /* 8022A954 002278B4 80 01 00 0C */ lwz r0, 0xc(r1) /* 8022A958 002278B8 3C 60 80 3E */ lis r3, lbl_803DA9D8@ha /* 8022A95C 002278BC 38 83 A9 D8 */ addi r4, r3, lbl_803DA9D8@l /* 8022A960 002278C0 3C 60 80 3E */ lis r3, lbl_803DAA68@ha /* 8022A964 002278C4 90 1E 01 10 */ stw r0, 0x110(r30) /* 8022A968 002278C8 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l /* 8022A96C 002278CC 80 61 00 10 */ lwz r3, 0x10(r1) /* 8022A970 002278D0 80 A1 00 14 */ lwz r5, 0x14(r1) /* 8022A974 002278D4 90 7E 01 14 */ stw r3, 0x114(r30) /* 8022A978 002278D8 80 61 00 18 */ lwz r3, 0x18(r1) /* 8022A97C 002278DC 90 BE 01 18 */ stw r5, 0x118(r30) /* 8022A980 002278E0 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 8022A984 002278E4 90 7E 01 1C */ stw r3, 0x11c(r30) /* 8022A988 002278E8 88 61 00 20 */ lbz r3, 0x20(r1) /* 8022A98C 002278EC 90 BE 01 20 */ stw r5, 0x120(r30) /* 8022A990 002278F0 90 81 00 08 */ stw r4, 8(r1) /* 8022A994 002278F4 98 7E 01 24 */ stb r3, 0x124(r30) /* 8022A998 002278F8 90 01 00 08 */ stw r0, 8(r1) /* 8022A99C 002278FC 48 00 00 CC */ b lbl_8022AA68 lbl_8022A9A0: /* 8022A9A0 00227900 80 9E 04 50 */ lwz r4, 0x450(r30) /* 8022A9A4 00227904 80 04 02 B8 */ lwz r0, 0x2b8(r4) /* 8022A9A8 00227908 2C 00 00 07 */ cmpwi r0, 7 /* 8022A9AC 0022790C 41 82 00 10 */ beq lbl_8022A9BC /* 8022A9B0 00227910 38 00 00 03 */ li r0, 3 /* 8022A9B4 00227914 90 1E 05 68 */ stw r0, 0x568(r30) /* 8022A9B8 00227918 48 00 00 B0 */ b lbl_8022AA68 lbl_8022A9BC: /* 8022A9BC 0022791C 80 7F 08 4C */ lwz r3, 0x84c(r31) /* 8022A9C0 00227920 C0 1E 00 40 */ lfs f0, 0x40(r30) /* 8022A9C4 00227924 C0 23 00 40 */ lfs f1, 0x40(r3) /* 8022A9C8 00227928 C0 83 00 50 */ lfs f4, 0x50(r3) /* 8022A9CC 0022792C C0 7E 00 50 */ lfs f3, 0x50(r30) /* 8022A9D0 00227930 EC 01 00 28 */ fsubs f0, f1, f0 /* 8022A9D4 00227934 C0 43 00 60 */ lfs f2, 0x60(r3) /* 8022A9D8 00227938 C0 3E 00 60 */ lfs f1, 0x60(r30) /* 8022A9DC 0022793C EC 64 18 28 */ fsubs f3, f4, f3 /* 8022A9E0 00227940 D0 04 00 1C */ stfs f0, 0x1c(r4) /* 8022A9E4 00227944 EC 02 08 28 */ fsubs f0, f2, f1 /* 8022A9E8 00227948 D0 64 00 20 */ stfs f3, 0x20(r4) /* 8022A9EC 0022794C D0 04 00 24 */ stfs f0, 0x24(r4) /* 8022A9F0 00227950 48 00 00 78 */ b lbl_8022AA68 lbl_8022A9F4: /* 8022A9F4 00227954 4B FF DB D1 */ bl sub_802285c4 /* 8022A9F8 00227958 88 1E 09 88 */ lbz r0, 0x988(r30) /* 8022A9FC 0022795C 39 00 00 00 */ li r8, 0 /* 8022AA00 00227960 51 00 3E 30 */ rlwimi r0, r8, 7, 0x18, 0x18 /* 8022AA04 00227964 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8022AA08 00227968 98 1E 09 88 */ stb r0, 0x988(r30) /* 8022AA0C 0022796C 54 08 CF FE */ rlwinm r8, r0, 0x19, 0x1f, 0x1f /* 8022AA10 00227970 38 C3 66 A0 */ addi r6, r3, sZeroVector__9CVector3f@l /* 8022AA14 00227974 38 00 FF FF */ li r0, -1 /* 8022AA18 00227978 88 BE 09 88 */ lbz r5, 0x988(r30) /* 8022AA1C 0022797C 51 05 2E B4 */ rlwimi r5, r8, 5, 0x1a, 0x1a /* 8022AA20 00227980 7F C3 F3 78 */ mr r3, r30 /* 8022AA24 00227984 7F E4 FB 78 */ mr r4, r31 /* 8022AA28 00227988 98 BE 09 88 */ stb r5, 0x988(r30) /* 8022AA2C 0022798C 54 A8 DF FE */ rlwinm r8, r5, 0x1b, 0x1f, 0x1f /* 8022AA30 00227990 38 BE 07 74 */ addi r5, r30, 0x774 /* 8022AA34 00227994 88 FE 09 88 */ lbz r7, 0x988(r30) /* 8022AA38 00227998 51 07 36 72 */ rlwimi r7, r8, 6, 0x19, 0x19 /* 8022AA3C 0022799C 98 FE 09 88 */ stb r7, 0x988(r30) /* 8022AA40 002279A0 90 1E 07 C8 */ stw r0, 0x7c8(r30) /* 8022AA44 002279A4 4B FF E9 05 */ bl sub_80229348 /* 8022AA48 002279A8 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 8022AA4C 002279AC 7F C3 F3 78 */ mr r3, r30 /* 8022AA50 002279B0 38 C4 66 A0 */ addi r6, r4, sZeroVector__9CVector3f@l /* 8022AA54 002279B4 38 BE 07 88 */ addi r5, r30, 0x788 /* 8022AA58 002279B8 7F E4 FB 78 */ mr r4, r31 /* 8022AA5C 002279BC 4B FF E8 ED */ bl sub_80229348 /* 8022AA60 002279C0 38 00 00 00 */ li r0, 0 /* 8022AA64 002279C4 90 1E 07 CC */ stw r0, 0x7cc(r30) lbl_8022AA68: /* 8022AA68 002279C8 80 01 00 54 */ lwz r0, 0x54(r1) /* 8022AA6C 002279CC 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 8022AA70 002279D0 83 C1 00 48 */ lwz r30, 0x48(r1) /* 8022AA74 002279D4 7C 08 03 A6 */ mtlr r0 /* 8022AA78 002279D8 38 21 00 50 */ addi r1, r1, 0x50 /* 8022AA7C 002279DC 4E 80 00 20 */ blr .global SpecialAttack__12CElitePirateFR13CStateManager9EStateMsgf SpecialAttack__12CElitePirateFR13CStateManager9EStateMsgf: /* 8022AA80 002279E0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8022AA84 002279E4 7C 08 02 A6 */ mflr r0 /* 8022AA88 002279E8 2C 05 00 01 */ cmpwi r5, 1 /* 8022AA8C 002279EC 90 01 00 34 */ stw r0, 0x34(r1) /* 8022AA90 002279F0 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8022AA94 002279F4 7C 7F 1B 78 */ mr r31, r3 /* 8022AA98 002279F8 41 82 00 2C */ beq lbl_8022AAC4 /* 8022AA9C 002279FC 40 80 00 10 */ bge lbl_8022AAAC /* 8022AAA0 00227A00 2C 05 00 00 */ cmpwi r5, 0 /* 8022AAA4 00227A04 40 80 00 14 */ bge lbl_8022AAB8 /* 8022AAA8 00227A08 48 00 01 70 */ b lbl_8022AC18 lbl_8022AAAC: /* 8022AAAC 00227A0C 2C 05 00 03 */ cmpwi r5, 3 /* 8022AAB0 00227A10 40 80 01 68 */ bge lbl_8022AC18 /* 8022AAB4 00227A14 48 00 01 50 */ b lbl_8022AC04 lbl_8022AAB8: /* 8022AAB8 00227A18 38 00 00 00 */ li r0, 0 /* 8022AABC 00227A1C 90 1F 05 68 */ stw r0, 0x568(r31) /* 8022AAC0 00227A20 48 00 01 58 */ b lbl_8022AC18 lbl_8022AAC4: /* 8022AAC4 00227A24 80 1F 05 68 */ lwz r0, 0x568(r31) /* 8022AAC8 00227A28 80 64 08 4C */ lwz r3, 0x84c(r4) /* 8022AACC 00227A2C 2C 00 00 01 */ cmpwi r0, 1 /* 8022AAD0 00227A30 C0 83 00 60 */ lfs f4, 0x60(r3) /* 8022AAD4 00227A34 C0 63 00 50 */ lfs f3, 0x50(r3) /* 8022AAD8 00227A38 C0 23 00 40 */ lfs f1, 0x40(r3) /* 8022AADC 00227A3C 41 82 01 3C */ beq lbl_8022AC18 /* 8022AAE0 00227A40 40 80 00 10 */ bge lbl_8022AAF0 /* 8022AAE4 00227A44 2C 00 00 00 */ cmpwi r0, 0 /* 8022AAE8 00227A48 40 80 00 14 */ bge lbl_8022AAFC /* 8022AAEC 00227A4C 48 00 01 2C */ b lbl_8022AC18 lbl_8022AAF0: /* 8022AAF0 00227A50 2C 00 00 03 */ cmpwi r0, 3 /* 8022AAF4 00227A54 40 80 01 24 */ bge lbl_8022AC18 /* 8022AAF8 00227A58 48 00 00 C8 */ b lbl_8022ABC0 lbl_8022AAFC: /* 8022AAFC 00227A5C 80 FF 04 50 */ lwz r7, 0x450(r31) /* 8022AB00 00227A60 80 07 02 B8 */ lwz r0, 0x2b8(r7) /* 8022AB04 00227A64 2C 00 00 12 */ cmpwi r0, 0x12 /* 8022AB08 00227A68 40 82 00 20 */ bne lbl_8022AB28 /* 8022AB0C 00227A6C 38 00 00 02 */ li r0, 2 /* 8022AB10 00227A70 38 60 00 01 */ li r3, 1 /* 8022AB14 00227A74 90 1F 05 68 */ stw r0, 0x568(r31) /* 8022AB18 00227A78 88 1F 09 88 */ lbz r0, 0x988(r31) /* 8022AB1C 00227A7C 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 8022AB20 00227A80 98 1F 09 88 */ stb r0, 0x988(r31) /* 8022AB24 00227A84 48 00 00 F4 */ b lbl_8022AC18 lbl_8022AB28: /* 8022AB28 00227A88 3C 80 80 3E */ lis r4, lbl_803DAA68@ha /* 8022AB2C 00227A8C 3C 60 80 3E */ lis r3, lbl_803DA9CC@ha /* 8022AB30 00227A90 38 04 AA 68 */ addi r0, r4, lbl_803DAA68@l /* 8022AB34 00227A94 38 80 00 06 */ li r4, 6 /* 8022AB38 00227A98 90 01 00 08 */ stw r0, 8(r1) /* 8022AB3C 00227A9C 38 C3 A9 CC */ addi r6, r3, lbl_803DA9CC@l /* 8022AB40 00227AA0 38 A0 00 02 */ li r5, 2 /* 8022AB44 00227AA4 38 00 00 00 */ li r0, 0 /* 8022AB48 00227AA8 3B E7 00 04 */ addi r31, r7, 4 /* 8022AB4C 00227AAC 90 81 00 0C */ stw r4, 0xc(r1) /* 8022AB50 00227AB0 7F E3 FB 78 */ mr r3, r31 /* 8022AB54 00227AB4 38 80 00 06 */ li r4, 6 /* 8022AB58 00227AB8 90 C1 00 08 */ stw r6, 8(r1) /* 8022AB5C 00227ABC 90 A1 00 10 */ stw r5, 0x10(r1) /* 8022AB60 00227AC0 D0 21 00 14 */ stfs f1, 0x14(r1) /* 8022AB64 00227AC4 D0 61 00 18 */ stfs f3, 0x18(r1) /* 8022AB68 00227AC8 D0 81 00 1C */ stfs f4, 0x1c(r1) /* 8022AB6C 00227ACC 98 01 00 20 */ stb r0, 0x20(r1) /* 8022AB70 00227AD0 4B F0 68 C9 */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd /* 8022AB74 00227AD4 80 01 00 0C */ lwz r0, 0xc(r1) /* 8022AB78 00227AD8 3C 60 80 3E */ lis r3, lbl_803DA9CC@ha /* 8022AB7C 00227ADC 38 83 A9 CC */ addi r4, r3, lbl_803DA9CC@l /* 8022AB80 00227AE0 3C 60 80 3E */ lis r3, lbl_803DAA68@ha /* 8022AB84 00227AE4 90 1F 01 2C */ stw r0, 0x12c(r31) /* 8022AB88 00227AE8 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l /* 8022AB8C 00227AEC 80 61 00 10 */ lwz r3, 0x10(r1) /* 8022AB90 00227AF0 80 A1 00 14 */ lwz r5, 0x14(r1) /* 8022AB94 00227AF4 90 7F 01 30 */ stw r3, 0x130(r31) /* 8022AB98 00227AF8 80 61 00 18 */ lwz r3, 0x18(r1) /* 8022AB9C 00227AFC 90 BF 01 34 */ stw r5, 0x134(r31) /* 8022ABA0 00227B00 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 8022ABA4 00227B04 90 7F 01 38 */ stw r3, 0x138(r31) /* 8022ABA8 00227B08 88 61 00 20 */ lbz r3, 0x20(r1) /* 8022ABAC 00227B0C 90 BF 01 3C */ stw r5, 0x13c(r31) /* 8022ABB0 00227B10 90 81 00 08 */ stw r4, 8(r1) /* 8022ABB4 00227B14 98 7F 01 40 */ stb r3, 0x140(r31) /* 8022ABB8 00227B18 90 01 00 08 */ stw r0, 8(r1) /* 8022ABBC 00227B1C 48 00 00 5C */ b lbl_8022AC18 lbl_8022ABC0: /* 8022ABC0 00227B20 80 7F 04 50 */ lwz r3, 0x450(r31) /* 8022ABC4 00227B24 80 03 02 B8 */ lwz r0, 0x2b8(r3) /* 8022ABC8 00227B28 2C 00 00 12 */ cmpwi r0, 0x12 /* 8022ABCC 00227B2C 41 82 00 10 */ beq lbl_8022ABDC /* 8022ABD0 00227B30 38 00 00 03 */ li r0, 3 /* 8022ABD4 00227B34 90 1F 05 68 */ stw r0, 0x568(r31) /* 8022ABD8 00227B38 48 00 00 40 */ b lbl_8022AC18 lbl_8022ABDC: /* 8022ABDC 00227B3C C0 1F 00 40 */ lfs f0, 0x40(r31) /* 8022ABE0 00227B40 C0 5F 00 50 */ lfs f2, 0x50(r31) /* 8022ABE4 00227B44 EC 01 00 28 */ fsubs f0, f1, f0 /* 8022ABE8 00227B48 C0 3F 00 60 */ lfs f1, 0x60(r31) /* 8022ABEC 00227B4C EC 43 10 28 */ fsubs f2, f3, f2 /* 8022ABF0 00227B50 EC 24 08 28 */ fsubs f1, f4, f1 /* 8022ABF4 00227B54 D0 03 00 1C */ stfs f0, 0x1c(r3) /* 8022ABF8 00227B58 D0 43 00 20 */ stfs f2, 0x20(r3) /* 8022ABFC 00227B5C D0 23 00 24 */ stfs f1, 0x24(r3) /* 8022AC00 00227B60 48 00 00 18 */ b lbl_8022AC18 lbl_8022AC04: /* 8022AC04 00227B64 4B FF D9 C1 */ bl sub_802285c4 /* 8022AC08 00227B68 88 1F 09 88 */ lbz r0, 0x988(r31) /* 8022AC0C 00227B6C 38 60 00 00 */ li r3, 0 /* 8022AC10 00227B70 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d /* 8022AC14 00227B74 98 1F 09 88 */ stb r0, 0x988(r31) lbl_8022AC18: /* 8022AC18 00227B78 80 01 00 34 */ lwz r0, 0x34(r1) /* 8022AC1C 00227B7C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8022AC20 00227B80 7C 08 03 A6 */ mtlr r0 /* 8022AC24 00227B84 38 21 00 30 */ addi r1, r1, 0x30 /* 8022AC28 00227B88 4E 80 00 20 */ blr .global ProjectileAttack__12CElitePirateFR13CStateManager9EStateMsgf ProjectileAttack__12CElitePirateFR13CStateManager9EStateMsgf: /* 8022AC2C 00227B8C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8022AC30 00227B90 7C 08 02 A6 */ mflr r0 /* 8022AC34 00227B94 2C 05 00 01 */ cmpwi r5, 1 /* 8022AC38 00227B98 90 01 00 34 */ stw r0, 0x34(r1) /* 8022AC3C 00227B9C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8022AC40 00227BA0 41 82 00 2C */ beq lbl_8022AC6C /* 8022AC44 00227BA4 40 80 00 10 */ bge lbl_8022AC54 /* 8022AC48 00227BA8 2C 05 00 00 */ cmpwi r5, 0 /* 8022AC4C 00227BAC 40 80 00 14 */ bge lbl_8022AC60 /* 8022AC50 00227BB0 48 00 01 50 */ b lbl_8022ADA0 lbl_8022AC54: /* 8022AC54 00227BB4 2C 05 00 03 */ cmpwi r5, 3 /* 8022AC58 00227BB8 40 80 01 48 */ bge lbl_8022ADA0 /* 8022AC5C 00227BBC 48 00 01 40 */ b lbl_8022AD9C lbl_8022AC60: /* 8022AC60 00227BC0 38 00 00 00 */ li r0, 0 /* 8022AC64 00227BC4 90 03 05 68 */ stw r0, 0x568(r3) /* 8022AC68 00227BC8 48 00 01 38 */ b lbl_8022ADA0 lbl_8022AC6C: /* 8022AC6C 00227BCC 80 03 05 68 */ lwz r0, 0x568(r3) /* 8022AC70 00227BD0 80 84 08 4C */ lwz r4, 0x84c(r4) /* 8022AC74 00227BD4 2C 00 00 01 */ cmpwi r0, 1 /* 8022AC78 00227BD8 C0 84 00 60 */ lfs f4, 0x60(r4) /* 8022AC7C 00227BDC C0 64 00 50 */ lfs f3, 0x50(r4) /* 8022AC80 00227BE0 C0 24 00 40 */ lfs f1, 0x40(r4) /* 8022AC84 00227BE4 41 82 01 1C */ beq lbl_8022ADA0 /* 8022AC88 00227BE8 40 80 00 10 */ bge lbl_8022AC98 /* 8022AC8C 00227BEC 2C 00 00 00 */ cmpwi r0, 0 /* 8022AC90 00227BF0 40 80 00 14 */ bge lbl_8022ACA4 /* 8022AC94 00227BF4 48 00 01 0C */ b lbl_8022ADA0 lbl_8022AC98: /* 8022AC98 00227BF8 2C 00 00 03 */ cmpwi r0, 3 /* 8022AC9C 00227BFC 40 80 01 04 */ bge lbl_8022ADA0 /* 8022ACA0 00227C00 48 00 00 B8 */ b lbl_8022AD58 lbl_8022ACA4: /* 8022ACA4 00227C04 80 E3 04 50 */ lwz r7, 0x450(r3) /* 8022ACA8 00227C08 80 07 02 B8 */ lwz r0, 0x2b8(r7) /* 8022ACAC 00227C0C 2C 00 00 12 */ cmpwi r0, 0x12 /* 8022ACB0 00227C10 40 82 00 10 */ bne lbl_8022ACC0 /* 8022ACB4 00227C14 38 00 00 02 */ li r0, 2 /* 8022ACB8 00227C18 90 03 05 68 */ stw r0, 0x568(r3) /* 8022ACBC 00227C1C 48 00 00 E4 */ b lbl_8022ADA0 lbl_8022ACC0: /* 8022ACC0 00227C20 3C 80 80 3E */ lis r4, lbl_803DAA68@ha /* 8022ACC4 00227C24 3C 60 80 3E */ lis r3, lbl_803DA9CC@ha /* 8022ACC8 00227C28 38 04 AA 68 */ addi r0, r4, lbl_803DAA68@l /* 8022ACCC 00227C2C 38 80 00 06 */ li r4, 6 /* 8022ACD0 00227C30 90 01 00 08 */ stw r0, 8(r1) /* 8022ACD4 00227C34 38 C3 A9 CC */ addi r6, r3, lbl_803DA9CC@l /* 8022ACD8 00227C38 38 A0 00 01 */ li r5, 1 /* 8022ACDC 00227C3C 38 00 00 00 */ li r0, 0 /* 8022ACE0 00227C40 3B E7 00 04 */ addi r31, r7, 4 /* 8022ACE4 00227C44 90 81 00 0C */ stw r4, 0xc(r1) /* 8022ACE8 00227C48 7F E3 FB 78 */ mr r3, r31 /* 8022ACEC 00227C4C 38 80 00 06 */ li r4, 6 /* 8022ACF0 00227C50 90 C1 00 08 */ stw r6, 8(r1) /* 8022ACF4 00227C54 90 A1 00 10 */ stw r5, 0x10(r1) /* 8022ACF8 00227C58 D0 21 00 14 */ stfs f1, 0x14(r1) /* 8022ACFC 00227C5C D0 61 00 18 */ stfs f3, 0x18(r1) /* 8022AD00 00227C60 D0 81 00 1C */ stfs f4, 0x1c(r1) /* 8022AD04 00227C64 98 01 00 20 */ stb r0, 0x20(r1) /* 8022AD08 00227C68 4B F0 67 31 */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd /* 8022AD0C 00227C6C 80 01 00 0C */ lwz r0, 0xc(r1) /* 8022AD10 00227C70 3C 60 80 3E */ lis r3, lbl_803DA9CC@ha /* 8022AD14 00227C74 38 83 A9 CC */ addi r4, r3, lbl_803DA9CC@l /* 8022AD18 00227C78 3C 60 80 3E */ lis r3, lbl_803DAA68@ha /* 8022AD1C 00227C7C 90 1F 01 2C */ stw r0, 0x12c(r31) /* 8022AD20 00227C80 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l /* 8022AD24 00227C84 80 61 00 10 */ lwz r3, 0x10(r1) /* 8022AD28 00227C88 80 A1 00 14 */ lwz r5, 0x14(r1) /* 8022AD2C 00227C8C 90 7F 01 30 */ stw r3, 0x130(r31) /* 8022AD30 00227C90 80 61 00 18 */ lwz r3, 0x18(r1) /* 8022AD34 00227C94 90 BF 01 34 */ stw r5, 0x134(r31) /* 8022AD38 00227C98 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 8022AD3C 00227C9C 90 7F 01 38 */ stw r3, 0x138(r31) /* 8022AD40 00227CA0 88 61 00 20 */ lbz r3, 0x20(r1) /* 8022AD44 00227CA4 90 BF 01 3C */ stw r5, 0x13c(r31) /* 8022AD48 00227CA8 90 81 00 08 */ stw r4, 8(r1) /* 8022AD4C 00227CAC 98 7F 01 40 */ stb r3, 0x140(r31) /* 8022AD50 00227CB0 90 01 00 08 */ stw r0, 8(r1) /* 8022AD54 00227CB4 48 00 00 4C */ b lbl_8022ADA0 lbl_8022AD58: /* 8022AD58 00227CB8 80 83 04 50 */ lwz r4, 0x450(r3) /* 8022AD5C 00227CBC 80 04 02 B8 */ lwz r0, 0x2b8(r4) /* 8022AD60 00227CC0 2C 00 00 12 */ cmpwi r0, 0x12 /* 8022AD64 00227CC4 41 82 00 10 */ beq lbl_8022AD74 /* 8022AD68 00227CC8 38 00 00 03 */ li r0, 3 /* 8022AD6C 00227CCC 90 03 05 68 */ stw r0, 0x568(r3) /* 8022AD70 00227CD0 48 00 00 30 */ b lbl_8022ADA0 lbl_8022AD74: /* 8022AD74 00227CD4 C0 03 00 40 */ lfs f0, 0x40(r3) /* 8022AD78 00227CD8 C0 43 00 50 */ lfs f2, 0x50(r3) /* 8022AD7C 00227CDC EC 01 00 28 */ fsubs f0, f1, f0 /* 8022AD80 00227CE0 C0 23 00 60 */ lfs f1, 0x60(r3) /* 8022AD84 00227CE4 EC 43 10 28 */ fsubs f2, f3, f2 /* 8022AD88 00227CE8 EC 24 08 28 */ fsubs f1, f4, f1 /* 8022AD8C 00227CEC D0 04 00 1C */ stfs f0, 0x1c(r4) /* 8022AD90 00227CF0 D0 44 00 20 */ stfs f2, 0x20(r4) /* 8022AD94 00227CF4 D0 24 00 24 */ stfs f1, 0x24(r4) /* 8022AD98 00227CF8 48 00 00 08 */ b lbl_8022ADA0 lbl_8022AD9C: /* 8022AD9C 00227CFC 4B FF D8 29 */ bl sub_802285c4 lbl_8022ADA0: /* 8022ADA0 00227D00 80 01 00 34 */ lwz r0, 0x34(r1) /* 8022ADA4 00227D04 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8022ADA8 00227D08 7C 08 03 A6 */ mtlr r0 /* 8022ADAC 00227D0C 38 21 00 30 */ addi r1, r1, 0x30 /* 8022ADB0 00227D10 4E 80 00 20 */ blr .global Generate__12CElitePirateFR13CStateManager9EStateMsgf Generate__12CElitePirateFR13CStateManager9EStateMsgf: /* 8022ADB4 00227D14 94 21 FF 90 */ stwu r1, -0x70(r1) /* 8022ADB8 00227D18 7C 08 02 A6 */ mflr r0 /* 8022ADBC 00227D1C 2C 05 00 01 */ cmpwi r5, 1 /* 8022ADC0 00227D20 90 01 00 74 */ stw r0, 0x74(r1) /* 8022ADC4 00227D24 93 E1 00 6C */ stw r31, 0x6c(r1) /* 8022ADC8 00227D28 7C 9F 23 78 */ mr r31, r4 /* 8022ADCC 00227D2C 93 C1 00 68 */ stw r30, 0x68(r1) /* 8022ADD0 00227D30 7C 7E 1B 78 */ mr r30, r3 /* 8022ADD4 00227D34 41 82 00 2C */ beq lbl_8022AE00 /* 8022ADD8 00227D38 40 80 00 10 */ bge lbl_8022ADE8 /* 8022ADDC 00227D3C 2C 05 00 00 */ cmpwi r5, 0 /* 8022ADE0 00227D40 40 80 00 14 */ bge lbl_8022ADF4 /* 8022ADE4 00227D44 48 00 02 34 */ b lbl_8022B018 lbl_8022ADE8: /* 8022ADE8 00227D48 2C 05 00 03 */ cmpwi r5, 3 /* 8022ADEC 00227D4C 40 80 02 2C */ bge lbl_8022B018 /* 8022ADF0 00227D50 48 00 02 00 */ b lbl_8022AFF0 lbl_8022ADF4: /* 8022ADF4 00227D54 38 00 00 01 */ li r0, 1 /* 8022ADF8 00227D58 90 1E 05 68 */ stw r0, 0x568(r30) /* 8022ADFC 00227D5C 48 00 02 1C */ b lbl_8022B018 lbl_8022AE00: /* 8022AE00 00227D60 80 1E 05 68 */ lwz r0, 0x568(r30) /* 8022AE04 00227D64 2C 00 00 01 */ cmpwi r0, 1 /* 8022AE08 00227D68 41 82 00 20 */ beq lbl_8022AE28 /* 8022AE0C 00227D6C 40 80 00 10 */ bge lbl_8022AE1C /* 8022AE10 00227D70 2C 00 00 00 */ cmpwi r0, 0 /* 8022AE14 00227D74 40 80 00 DC */ bge lbl_8022AEF0 /* 8022AE18 00227D78 48 00 02 00 */ b lbl_8022B018 lbl_8022AE1C: /* 8022AE1C 00227D7C 2C 00 00 03 */ cmpwi r0, 3 /* 8022AE20 00227D80 40 80 01 F8 */ bge lbl_8022B018 /* 8022AE24 00227D84 48 00 01 B0 */ b lbl_8022AFD4 lbl_8022AE28: /* 8022AE28 00227D88 81 83 00 00 */ lwz r12, 0(r3) /* 8022AE2C 00227D8C C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022AE30 00227D90 81 8C 01 E8 */ lwz r12, 0x1e8(r12) /* 8022AE34 00227D94 7D 89 03 A6 */ mtctr r12 /* 8022AE38 00227D98 4E 80 04 21 */ bctrl /* 8022AE3C 00227D9C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022AE40 00227DA0 41 82 00 A4 */ beq lbl_8022AEE4 /* 8022AE44 00227DA4 80 9F 08 4C */ lwz r4, 0x84c(r31) /* 8022AE48 00227DA8 38 61 00 14 */ addi r3, r1, 0x14 /* 8022AE4C 00227DAC C0 1E 00 50 */ lfs f0, 0x50(r30) /* 8022AE50 00227DB0 C0 24 00 50 */ lfs f1, 0x50(r4) /* 8022AE54 00227DB4 C0 64 00 60 */ lfs f3, 0x60(r4) /* 8022AE58 00227DB8 C0 5E 00 60 */ lfs f2, 0x60(r30) /* 8022AE5C 00227DBC EC 81 00 28 */ fsubs f4, f1, f0 /* 8022AE60 00227DC0 C0 24 00 40 */ lfs f1, 0x40(r4) /* 8022AE64 00227DC4 C0 1E 00 40 */ lfs f0, 0x40(r30) /* 8022AE68 00227DC8 EC 43 10 28 */ fsubs f2, f3, f2 /* 8022AE6C 00227DCC EC 01 00 28 */ fsubs f0, f1, f0 /* 8022AE70 00227DD0 D0 81 00 18 */ stfs f4, 0x18(r1) /* 8022AE74 00227DD4 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 8022AE78 00227DD8 D0 01 00 14 */ stfs f0, 0x14(r1) /* 8022AE7C 00227DDC 48 0E 98 7D */ bl CanBeNormalized__9CVector3fCFv /* 8022AE80 00227DE0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022AE84 00227DE4 41 82 01 94 */ beq lbl_8022B018 /* 8022AE88 00227DE8 38 61 00 08 */ addi r3, r1, 8 /* 8022AE8C 00227DEC 38 81 00 14 */ addi r4, r1, 0x14 /* 8022AE90 00227DF0 48 0E 99 C1 */ bl AsNormalized__9CVector3fCFv /* 8022AE94 00227DF4 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8022AE98 00227DF8 C4 C3 66 A0 */ lfsu f6, sZeroVector__9CVector3f@l(r3) /* 8022AE9C 00227DFC C0 61 00 08 */ lfs f3, 8(r1) /* 8022AEA0 00227E00 38 81 00 40 */ addi r4, r1, 0x40 /* 8022AEA4 00227E04 C0 41 00 0C */ lfs f2, 0xc(r1) /* 8022AEA8 00227E08 C0 A3 00 04 */ lfs f5, 4(r3) /* 8022AEAC 00227E0C C0 83 00 08 */ lfs f4, 8(r3) /* 8022AEB0 00227E10 C0 21 00 10 */ lfs f1, 0x10(r1) /* 8022AEB4 00227E14 C0 02 B5 CC */ lfs f0, lbl_805AD2EC@sda21(r2) /* 8022AEB8 00227E18 D0 C1 00 40 */ stfs f6, 0x40(r1) /* 8022AEBC 00227E1C D0 A1 00 44 */ stfs f5, 0x44(r1) /* 8022AEC0 00227E20 D0 81 00 48 */ stfs f4, 0x48(r1) /* 8022AEC4 00227E24 D0 61 00 4C */ stfs f3, 0x4c(r1) /* 8022AEC8 00227E28 D0 41 00 50 */ stfs f2, 0x50(r1) /* 8022AECC 00227E2C D0 21 00 54 */ stfs f1, 0x54(r1) /* 8022AED0 00227E30 D0 01 00 58 */ stfs f0, 0x58(r1) /* 8022AED4 00227E34 80 7E 04 50 */ lwz r3, 0x450(r30) /* 8022AED8 00227E38 38 63 00 04 */ addi r3, r3, 4 /* 8022AEDC 00227E3C 4B F0 68 3D */ bl DeliverCmd__16CBodyStateCmdMgrFRC16CBCLocomotionCmd /* 8022AEE0 00227E40 48 00 01 38 */ b lbl_8022B018 lbl_8022AEE4: /* 8022AEE4 00227E44 38 00 00 00 */ li r0, 0 /* 8022AEE8 00227E48 90 1E 05 68 */ stw r0, 0x568(r30) /* 8022AEEC 00227E4C 48 00 01 2C */ b lbl_8022B018 lbl_8022AEF0: /* 8022AEF0 00227E50 81 5E 04 50 */ lwz r10, 0x450(r30) /* 8022AEF4 00227E54 80 0A 02 B8 */ lwz r0, 0x2b8(r10) /* 8022AEF8 00227E58 2C 00 00 0C */ cmpwi r0, 0xc /* 8022AEFC 00227E5C 40 82 00 10 */ bne lbl_8022AF0C /* 8022AF00 00227E60 38 00 00 02 */ li r0, 2 /* 8022AF04 00227E64 90 1E 05 68 */ stw r0, 0x568(r30) /* 8022AF08 00227E68 48 00 01 10 */ b lbl_8022B018 lbl_8022AF0C: /* 8022AF0C 00227E6C 3C A0 80 3E */ lis r5, lbl_803DAA68@ha /* 8022AF10 00227E70 38 C0 00 00 */ li r6, 0 /* 8022AF14 00227E74 39 25 AA 68 */ addi r9, r5, lbl_803DAA68@l /* 8022AF18 00227E78 80 61 00 3C */ lwz r3, 0x3c(r1) /* 8022AF1C 00227E7C 50 C3 F8 00 */ rlwimi r3, r6, 0x1f, 0, 0 /* 8022AF20 00227E80 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 8022AF24 00227E84 C4 44 66 A0 */ lfsu f2, sZeroVector__9CVector3f@l(r4) /* 8022AF28 00227E88 3C E0 80 3E */ lis r7, lbl_803DA9F0@ha /* 8022AF2C 00227E8C 7C 60 1B 78 */ mr r0, r3 /* 8022AF30 00227E90 39 00 00 0E */ li r8, 0xe /* 8022AF34 00227E94 C0 24 00 04 */ lfs f1, 4(r4) /* 8022AF38 00227E98 38 A0 FF FF */ li r5, -1 /* 8022AF3C 00227E9C C0 04 00 08 */ lfs f0, 8(r4) /* 8022AF40 00227EA0 38 E7 A9 F0 */ addi r7, r7, lbl_803DA9F0@l /* 8022AF44 00227EA4 91 21 00 20 */ stw r9, 0x20(r1) /* 8022AF48 00227EA8 50 C0 F0 42 */ rlwimi r0, r6, 0x1e, 1, 1 /* 8022AF4C 00227EAC 3B EA 00 04 */ addi r31, r10, 4 /* 8022AF50 00227EB0 38 80 00 0E */ li r4, 0xe /* 8022AF54 00227EB4 90 61 00 3C */ stw r3, 0x3c(r1) /* 8022AF58 00227EB8 7F E3 FB 78 */ mr r3, r31 /* 8022AF5C 00227EBC 91 01 00 24 */ stw r8, 0x24(r1) /* 8022AF60 00227EC0 90 E1 00 20 */ stw r7, 0x20(r1) /* 8022AF64 00227EC4 90 C1 00 28 */ stw r6, 0x28(r1) /* 8022AF68 00227EC8 D0 41 00 2C */ stfs f2, 0x2c(r1) /* 8022AF6C 00227ECC D0 21 00 30 */ stfs f1, 0x30(r1) /* 8022AF70 00227ED0 D0 01 00 34 */ stfs f0, 0x34(r1) /* 8022AF74 00227ED4 90 A1 00 38 */ stw r5, 0x38(r1) /* 8022AF78 00227ED8 90 01 00 3C */ stw r0, 0x3c(r1) /* 8022AF7C 00227EDC 4B F0 64 BD */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd /* 8022AF80 00227EE0 80 01 00 24 */ lwz r0, 0x24(r1) /* 8022AF84 00227EE4 3C 60 80 3E */ lis r3, lbl_803DA9F0@ha /* 8022AF88 00227EE8 38 83 A9 F0 */ addi r4, r3, lbl_803DA9F0@l /* 8022AF8C 00227EEC 3C 60 80 3E */ lis r3, lbl_803DAA68@ha /* 8022AF90 00227EF0 90 1F 01 90 */ stw r0, 0x190(r31) /* 8022AF94 00227EF4 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l /* 8022AF98 00227EF8 80 A1 00 28 */ lwz r5, 0x28(r1) /* 8022AF9C 00227EFC 80 61 00 2C */ lwz r3, 0x2c(r1) /* 8022AFA0 00227F00 90 BF 01 94 */ stw r5, 0x194(r31) /* 8022AFA4 00227F04 80 A1 00 30 */ lwz r5, 0x30(r1) /* 8022AFA8 00227F08 90 7F 01 98 */ stw r3, 0x198(r31) /* 8022AFAC 00227F0C 80 61 00 34 */ lwz r3, 0x34(r1) /* 8022AFB0 00227F10 90 BF 01 9C */ stw r5, 0x19c(r31) /* 8022AFB4 00227F14 80 A1 00 38 */ lwz r5, 0x38(r1) /* 8022AFB8 00227F18 90 7F 01 A0 */ stw r3, 0x1a0(r31) /* 8022AFBC 00227F1C 80 61 00 3C */ lwz r3, 0x3c(r1) /* 8022AFC0 00227F20 90 BF 01 A4 */ stw r5, 0x1a4(r31) /* 8022AFC4 00227F24 90 81 00 20 */ stw r4, 0x20(r1) /* 8022AFC8 00227F28 90 7F 01 A8 */ stw r3, 0x1a8(r31) /* 8022AFCC 00227F2C 90 01 00 20 */ stw r0, 0x20(r1) /* 8022AFD0 00227F30 48 00 00 48 */ b lbl_8022B018 lbl_8022AFD4: /* 8022AFD4 00227F34 80 7E 04 50 */ lwz r3, 0x450(r30) /* 8022AFD8 00227F38 80 03 02 B8 */ lwz r0, 0x2b8(r3) /* 8022AFDC 00227F3C 2C 00 00 0C */ cmpwi r0, 0xc /* 8022AFE0 00227F40 41 82 00 38 */ beq lbl_8022B018 /* 8022AFE4 00227F44 38 00 00 03 */ li r0, 3 /* 8022AFE8 00227F48 90 1E 05 68 */ stw r0, 0x568(r30) /* 8022AFEC 00227F4C 48 00 00 2C */ b lbl_8022B018 lbl_8022AFF0: /* 8022AFF0 00227F50 7F E5 FB 78 */ mr r5, r31 /* 8022AFF4 00227F54 38 80 00 00 */ li r4, 0 /* 8022AFF8 00227F58 4B FF C5 A5 */ bl sub_8022759c /* 8022AFFC 00227F5C 7F C3 F3 78 */ mr r3, r30 /* 8022B000 00227F60 7F E4 FB 78 */ mr r4, r31 /* 8022B004 00227F64 81 9E 00 00 */ lwz r12, 0(r30) /* 8022B008 00227F68 38 A0 00 01 */ li r5, 1 /* 8022B00C 00227F6C 81 8C 02 D8 */ lwz r12, 0x2d8(r12) /* 8022B010 00227F70 7D 89 03 A6 */ mtctr r12 /* 8022B014 00227F74 4E 80 04 21 */ bctrl lbl_8022B018: /* 8022B018 00227F78 80 01 00 74 */ lwz r0, 0x74(r1) /* 8022B01C 00227F7C 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 8022B020 00227F80 83 C1 00 68 */ lwz r30, 0x68(r1) /* 8022B024 00227F84 7C 08 03 A6 */ mtlr r0 /* 8022B028 00227F88 38 21 00 70 */ addi r1, r1, 0x70 /* 8022B02C 00227F8C 4E 80 00 20 */ blr .global Patrol__12CElitePirateFR13CStateManager9EStateMsgf Patrol__12CElitePirateFR13CStateManager9EStateMsgf: /* 8022B030 00227F90 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8022B034 00227F94 7C 08 02 A6 */ mflr r0 /* 8022B038 00227F98 90 01 00 24 */ stw r0, 0x24(r1) /* 8022B03C 00227F9C DB E1 00 18 */ stfd f31, 0x18(r1) /* 8022B040 00227FA0 FF E0 08 90 */ fmr f31, f1 /* 8022B044 00227FA4 93 E1 00 14 */ stw r31, 0x14(r1) /* 8022B048 00227FA8 7C BF 2B 79 */ or. r31, r5, r5 /* 8022B04C 00227FAC 93 C1 00 10 */ stw r30, 0x10(r1) /* 8022B050 00227FB0 7C 9E 23 78 */ mr r30, r4 /* 8022B054 00227FB4 93 A1 00 0C */ stw r29, 0xc(r1) /* 8022B058 00227FB8 7C 7D 1B 78 */ mr r29, r3 /* 8022B05C 00227FBC 41 82 00 08 */ beq lbl_8022B064 /* 8022B060 00227FC0 48 00 00 2C */ b lbl_8022B08C lbl_8022B064: /* 8022B064 00227FC4 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8022B068 00227FC8 38 80 00 01 */ li r4, 1 /* 8022B06C 00227FCC 4B F0 F9 6D */ bl SetLocomotionType__15CBodyControllerFQ23pas15ELocomotionType /* 8022B070 00227FD0 88 1D 04 00 */ lbz r0, 0x400(r29) /* 8022B074 00227FD4 38 60 00 00 */ li r3, 0 /* 8022B078 00227FD8 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8022B07C 00227FDC 98 1D 04 00 */ stb r0, 0x400(r29) /* 8022B080 00227FE0 88 1D 09 89 */ lbz r0, 0x989(r29) /* 8022B084 00227FE4 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8022B088 00227FE8 98 1D 09 89 */ stb r0, 0x989(r29) lbl_8022B08C: /* 8022B08C 00227FEC FC 20 F8 90 */ fmr f1, f31 /* 8022B090 00227FF0 7F A3 EB 78 */ mr r3, r29 /* 8022B094 00227FF4 7F C4 F3 78 */ mr r4, r30 /* 8022B098 00227FF8 7F E5 FB 78 */ mr r5, r31 /* 8022B09C 00227FFC 4B FC BD D9 */ bl Patrol__10CPatternedFR13CStateManager9EStateMsgf /* 8022B0A0 00228000 80 01 00 24 */ lwz r0, 0x24(r1) /* 8022B0A4 00228004 CB E1 00 18 */ lfd f31, 0x18(r1) /* 8022B0A8 00228008 83 E1 00 14 */ lwz r31, 0x14(r1) /* 8022B0AC 0022800C 83 C1 00 10 */ lwz r30, 0x10(r1) /* 8022B0B0 00228010 83 A1 00 0C */ lwz r29, 0xc(r1) /* 8022B0B4 00228014 7C 08 03 A6 */ mtlr r0 /* 8022B0B8 00228018 38 21 00 20 */ addi r1, r1, 0x20 /* 8022B0BC 0022801C 4E 80 00 20 */ blr .global TargetPatrol__12CElitePirateFR13CStateManager9EStateMsgf TargetPatrol__12CElitePirateFR13CStateManager9EStateMsgf: /* 8022B0C0 00228020 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8022B0C4 00228024 7C 08 02 A6 */ mflr r0 /* 8022B0C8 00228028 90 01 00 54 */ stw r0, 0x54(r1) /* 8022B0CC 0022802C DB E1 00 40 */ stfd f31, 0x40(r1) /* 8022B0D0 00228030 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 8022B0D4 00228034 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8022B0D8 00228038 93 C1 00 38 */ stw r30, 0x38(r1) /* 8022B0DC 0022803C 93 A1 00 34 */ stw r29, 0x34(r1) /* 8022B0E0 00228040 7C BF 2B 78 */ mr r31, r5 /* 8022B0E4 00228044 FF E0 08 90 */ fmr f31, f1 /* 8022B0E8 00228048 2C 1F 00 01 */ cmpwi r31, 1 /* 8022B0EC 0022804C 7C 7D 1B 78 */ mr r29, r3 /* 8022B0F0 00228050 7C 9E 23 78 */ mr r30, r4 /* 8022B0F4 00228054 41 82 00 CC */ beq lbl_8022B1C0 /* 8022B0F8 00228058 40 80 00 10 */ bge lbl_8022B108 /* 8022B0FC 0022805C 2C 1F 00 00 */ cmpwi r31, 0 /* 8022B100 00228060 40 80 00 14 */ bge lbl_8022B114 /* 8022B104 00228064 48 00 01 68 */ b lbl_8022B26C lbl_8022B108: /* 8022B108 00228068 2C 1F 00 03 */ cmpwi r31, 3 /* 8022B10C 0022806C 40 80 01 60 */ bge lbl_8022B26C /* 8022B110 00228070 48 00 01 4C */ b lbl_8022B25C lbl_8022B114: /* 8022B114 00228074 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8022B118 00228078 38 80 00 01 */ li r4, 1 /* 8022B11C 0022807C 4B F0 F8 BD */ bl SetLocomotionType__15CBodyControllerFQ23pas15ELocomotionType /* 8022B120 00228080 7F A3 EB 78 */ mr r3, r29 /* 8022B124 00228084 7F C4 F3 78 */ mr r4, r30 /* 8022B128 00228088 81 9D 00 00 */ lwz r12, 0(r29) /* 8022B12C 0022808C C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022B130 00228090 81 8C 01 C0 */ lwz r12, 0x1c0(r12) /* 8022B134 00228094 7D 89 03 A6 */ mtctr r12 /* 8022B138 00228098 4E 80 04 21 */ bctrl /* 8022B13C 0022809C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022B140 002280A0 41 82 00 28 */ beq lbl_8022B168 /* 8022B144 002280A4 FC 20 F8 90 */ fmr f1, f31 /* 8022B148 002280A8 7F A3 EB 78 */ mr r3, r29 /* 8022B14C 002280AC 7F C4 F3 78 */ mr r4, r30 /* 8022B150 002280B0 7F E5 FB 78 */ mr r5, r31 /* 8022B154 002280B4 4B FC BD 21 */ bl Patrol__10CPatternedFR13CStateManager9EStateMsgf /* 8022B158 002280B8 7F A3 EB 78 */ mr r3, r29 /* 8022B15C 002280BC 7F C4 F3 78 */ mr r4, r30 /* 8022B160 002280C0 4B FC A1 31 */ bl UpdateDest__10CPatternedFR13CStateManager /* 8022B164 002280C4 48 00 00 10 */ b lbl_8022B174 lbl_8022B168: /* 8022B168 002280C8 7F A3 EB 78 */ mr r3, r29 /* 8022B16C 002280CC 38 9D 03 A0 */ addi r4, r29, 0x3a0 /* 8022B170 002280D0 4B E5 19 ED */ bl SetDestPos__10CPatternedFRC9CVector3f lbl_8022B174: /* 8022B174 002280D4 C0 1D 02 E0 */ lfs f0, 0x2e0(r29) /* 8022B178 002280D8 7F A3 EB 78 */ mr r3, r29 /* 8022B17C 002280DC D0 1D 08 B4 */ stfs f0, 0x8b4(r29) /* 8022B180 002280E0 C0 1D 02 E4 */ lfs f0, 0x2e4(r29) /* 8022B184 002280E4 D0 1D 08 B8 */ stfs f0, 0x8b8(r29) /* 8022B188 002280E8 C0 1D 02 E8 */ lfs f0, 0x2e8(r29) /* 8022B18C 002280EC D0 1D 08 BC */ stfs f0, 0x8bc(r29) /* 8022B190 002280F0 81 9D 00 00 */ lwz r12, 0(r29) /* 8022B194 002280F4 81 8C 02 AC */ lwz r12, 0x2ac(r12) /* 8022B198 002280F8 7D 89 03 A6 */ mtctr r12 /* 8022B19C 002280FC 4E 80 04 21 */ bctrl /* 8022B1A0 00228100 28 03 00 00 */ cmplwi r3, 0 /* 8022B1A4 00228104 41 82 00 C8 */ beq lbl_8022B26C /* 8022B1A8 00228108 FC 20 F8 90 */ fmr f1, f31 /* 8022B1AC 0022810C 7F A3 EB 78 */ mr r3, r29 /* 8022B1B0 00228110 7F C4 F3 78 */ mr r4, r30 /* 8022B1B4 00228114 7F E5 FB 78 */ mr r5, r31 /* 8022B1B8 00228118 4B FC B5 15 */ bl PathFind__10CPatternedFR13CStateManager9EStateMsgf /* 8022B1BC 0022811C 48 00 00 B0 */ b lbl_8022B26C lbl_8022B1C0: /* 8022B1C0 00228120 81 83 00 00 */ lwz r12, 0(r3) /* 8022B1C4 00228124 C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022B1C8 00228128 81 8C 01 90 */ lwz r12, 0x190(r12) /* 8022B1CC 0022812C 7D 89 03 A6 */ mtctr r12 /* 8022B1D0 00228130 4E 80 04 21 */ bctrl /* 8022B1D4 00228134 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022B1D8 00228138 40 82 00 1C */ bne lbl_8022B1F4 /* 8022B1DC 0022813C FC 20 F8 90 */ fmr f1, f31 /* 8022B1E0 00228140 7F A3 EB 78 */ mr r3, r29 /* 8022B1E4 00228144 7F C4 F3 78 */ mr r4, r30 /* 8022B1E8 00228148 7F E5 FB 78 */ mr r5, r31 /* 8022B1EC 0022814C 4B FC B4 E1 */ bl PathFind__10CPatternedFR13CStateManager9EStateMsgf /* 8022B1F0 00228150 48 00 00 7C */ b lbl_8022B26C lbl_8022B1F4: /* 8022B1F4 00228154 C0 22 B6 00 */ lfs f1, lbl_805AD320@sda21(r2) /* 8022B1F8 00228158 7F A5 EB 78 */ mr r5, r29 /* 8022B1FC 0022815C 38 61 00 08 */ addi r3, r1, 8 /* 8022B200 00228160 38 9D 04 5C */ addi r4, r29, 0x45c /* 8022B204 00228164 38 DD 08 B4 */ addi r6, r29, 0x8b4 /* 8022B208 00228168 4B F1 39 15 */ bl Arrival__18CSteeringBehaviorsCFRC13CPhysicsActorRC9CVector3ff /* 8022B20C 0022816C 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8022B210 00228170 C4 63 66 A0 */ lfsu f3, sZeroVector__9CVector3f@l(r3) /* 8022B214 00228174 C0 C1 00 08 */ lfs f6, 8(r1) /* 8022B218 00228178 38 81 00 14 */ addi r4, r1, 0x14 /* 8022B21C 0022817C C0 A1 00 0C */ lfs f5, 0xc(r1) /* 8022B220 00228180 C0 81 00 10 */ lfs f4, 0x10(r1) /* 8022B224 00228184 C0 43 00 04 */ lfs f2, 4(r3) /* 8022B228 00228188 C0 23 00 08 */ lfs f1, 8(r3) /* 8022B22C 0022818C C0 02 B5 CC */ lfs f0, lbl_805AD2EC@sda21(r2) /* 8022B230 00228190 D0 C1 00 14 */ stfs f6, 0x14(r1) /* 8022B234 00228194 D0 A1 00 18 */ stfs f5, 0x18(r1) /* 8022B238 00228198 D0 81 00 1C */ stfs f4, 0x1c(r1) /* 8022B23C 0022819C D0 61 00 20 */ stfs f3, 0x20(r1) /* 8022B240 002281A0 D0 41 00 24 */ stfs f2, 0x24(r1) /* 8022B244 002281A4 D0 21 00 28 */ stfs f1, 0x28(r1) /* 8022B248 002281A8 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 8022B24C 002281AC 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8022B250 002281B0 38 63 00 04 */ addi r3, r3, 4 /* 8022B254 002281B4 4B F0 64 C5 */ bl DeliverCmd__16CBodyStateCmdMgrFRC16CBCLocomotionCmd /* 8022B258 002281B8 48 00 00 14 */ b lbl_8022B26C lbl_8022B25C: /* 8022B25C 002281BC 88 1D 09 88 */ lbz r0, 0x988(r29) /* 8022B260 002281C0 38 60 00 00 */ li r3, 0 /* 8022B264 002281C4 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 8022B268 002281C8 98 1D 09 88 */ stb r0, 0x988(r29) lbl_8022B26C: /* 8022B26C 002281CC E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 8022B270 002281D0 80 01 00 54 */ lwz r0, 0x54(r1) /* 8022B274 002281D4 CB E1 00 40 */ lfd f31, 0x40(r1) /* 8022B278 002281D8 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8022B27C 002281DC 83 C1 00 38 */ lwz r30, 0x38(r1) /* 8022B280 002281E0 83 A1 00 34 */ lwz r29, 0x34(r1) /* 8022B284 002281E4 7C 08 03 A6 */ mtlr r0 /* 8022B288 002281E8 38 21 00 50 */ addi r1, r1, 0x50 /* 8022B28C 002281EC 4E 80 00 20 */ blr .global Taunt__12CElitePirateFR13CStateManager9EStateMsgf Taunt__12CElitePirateFR13CStateManager9EStateMsgf: /* 8022B290 002281F0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8022B294 002281F4 7C 08 02 A6 */ mflr r0 /* 8022B298 002281F8 2C 05 00 01 */ cmpwi r5, 1 /* 8022B29C 002281FC 90 01 00 24 */ stw r0, 0x24(r1) /* 8022B2A0 00228200 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8022B2A4 00228204 41 82 00 20 */ beq lbl_8022B2C4 /* 8022B2A8 00228208 40 80 01 14 */ bge lbl_8022B3BC /* 8022B2AC 0022820C 2C 05 00 00 */ cmpwi r5, 0 /* 8022B2B0 00228210 40 80 00 08 */ bge lbl_8022B2B8 /* 8022B2B4 00228214 48 00 01 08 */ b lbl_8022B3BC lbl_8022B2B8: /* 8022B2B8 00228218 38 00 00 00 */ li r0, 0 /* 8022B2BC 0022821C 90 03 05 68 */ stw r0, 0x568(r3) /* 8022B2C0 00228220 48 00 00 FC */ b lbl_8022B3BC lbl_8022B2C4: /* 8022B2C4 00228224 80 03 05 68 */ lwz r0, 0x568(r3) /* 8022B2C8 00228228 2C 00 00 01 */ cmpwi r0, 1 /* 8022B2CC 0022822C 41 82 00 F0 */ beq lbl_8022B3BC /* 8022B2D0 00228230 40 80 00 10 */ bge lbl_8022B2E0 /* 8022B2D4 00228234 2C 00 00 00 */ cmpwi r0, 0 /* 8022B2D8 00228238 40 80 00 14 */ bge lbl_8022B2EC /* 8022B2DC 0022823C 48 00 00 E0 */ b lbl_8022B3BC lbl_8022B2E0: /* 8022B2E0 00228240 2C 00 00 03 */ cmpwi r0, 3 /* 8022B2E4 00228244 40 80 00 D8 */ bge lbl_8022B3BC /* 8022B2E8 00228248 48 00 00 84 */ b lbl_8022B36C lbl_8022B2EC: /* 8022B2EC 0022824C 80 C3 04 50 */ lwz r6, 0x450(r3) /* 8022B2F0 00228250 80 06 02 B8 */ lwz r0, 0x2b8(r6) /* 8022B2F4 00228254 2C 00 00 10 */ cmpwi r0, 0x10 /* 8022B2F8 00228258 40 82 00 10 */ bne lbl_8022B308 /* 8022B2FC 0022825C 38 00 00 02 */ li r0, 2 /* 8022B300 00228260 90 03 05 68 */ stw r0, 0x568(r3) /* 8022B304 00228264 48 00 00 B8 */ b lbl_8022B3BC lbl_8022B308: /* 8022B308 00228268 3C 80 80 3E */ lis r4, lbl_803DAA68@ha /* 8022B30C 0022826C 3C 60 80 3E */ lis r3, lbl_803DAA14@ha /* 8022B310 00228270 38 04 AA 68 */ addi r0, r4, lbl_803DAA68@l /* 8022B314 00228274 38 80 00 12 */ li r4, 0x12 /* 8022B318 00228278 90 01 00 08 */ stw r0, 8(r1) /* 8022B31C 0022827C 38 A3 AA 14 */ addi r5, r3, lbl_803DAA14@l /* 8022B320 00228280 38 00 00 00 */ li r0, 0 /* 8022B324 00228284 3B E6 00 04 */ addi r31, r6, 4 /* 8022B328 00228288 90 81 00 0C */ stw r4, 0xc(r1) /* 8022B32C 0022828C 7F E3 FB 78 */ mr r3, r31 /* 8022B330 00228290 38 80 00 12 */ li r4, 0x12 /* 8022B334 00228294 90 A1 00 08 */ stw r5, 8(r1) /* 8022B338 00228298 90 01 00 10 */ stw r0, 0x10(r1) /* 8022B33C 0022829C 4B F0 60 FD */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd /* 8022B340 002282A0 80 01 00 0C */ lwz r0, 0xc(r1) /* 8022B344 002282A4 3C 60 80 3E */ lis r3, lbl_803DAA14@ha /* 8022B348 002282A8 38 83 AA 14 */ addi r4, r3, lbl_803DAA14@l /* 8022B34C 002282AC 3C 60 80 3E */ lis r3, lbl_803DAA68@ha /* 8022B350 002282B0 90 1F 02 14 */ stw r0, 0x214(r31) /* 8022B354 002282B4 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l /* 8022B358 002282B8 80 61 00 10 */ lwz r3, 0x10(r1) /* 8022B35C 002282BC 90 81 00 08 */ stw r4, 8(r1) /* 8022B360 002282C0 90 7F 02 18 */ stw r3, 0x218(r31) /* 8022B364 002282C4 90 01 00 08 */ stw r0, 8(r1) /* 8022B368 002282C8 48 00 00 54 */ b lbl_8022B3BC lbl_8022B36C: /* 8022B36C 002282CC 80 A3 04 50 */ lwz r5, 0x450(r3) /* 8022B370 002282D0 80 05 02 B8 */ lwz r0, 0x2b8(r5) /* 8022B374 002282D4 2C 00 00 10 */ cmpwi r0, 0x10 /* 8022B378 002282D8 41 82 00 10 */ beq lbl_8022B388 /* 8022B37C 002282DC 38 00 00 03 */ li r0, 3 /* 8022B380 002282E0 90 03 05 68 */ stw r0, 0x568(r3) /* 8022B384 002282E4 48 00 00 38 */ b lbl_8022B3BC lbl_8022B388: /* 8022B388 002282E8 80 84 08 4C */ lwz r4, 0x84c(r4) /* 8022B38C 002282EC C0 03 00 40 */ lfs f0, 0x40(r3) /* 8022B390 002282F0 C0 24 00 40 */ lfs f1, 0x40(r4) /* 8022B394 002282F4 C0 84 00 50 */ lfs f4, 0x50(r4) /* 8022B398 002282F8 C0 63 00 50 */ lfs f3, 0x50(r3) /* 8022B39C 002282FC EC 01 00 28 */ fsubs f0, f1, f0 /* 8022B3A0 00228300 C0 44 00 60 */ lfs f2, 0x60(r4) /* 8022B3A4 00228304 C0 23 00 60 */ lfs f1, 0x60(r3) /* 8022B3A8 00228308 EC 64 18 28 */ fsubs f3, f4, f3 /* 8022B3AC 0022830C D0 05 00 1C */ stfs f0, 0x1c(r5) /* 8022B3B0 00228310 EC 02 08 28 */ fsubs f0, f2, f1 /* 8022B3B4 00228314 D0 65 00 20 */ stfs f3, 0x20(r5) /* 8022B3B8 00228318 D0 05 00 24 */ stfs f0, 0x24(r5) lbl_8022B3BC: /* 8022B3BC 0022831C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8022B3C0 00228320 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8022B3C4 00228324 7C 08 03 A6 */ mtlr r0 /* 8022B3C8 00228328 38 21 00 20 */ addi r1, r1, 0x20 /* 8022B3CC 0022832C 4E 80 00 20 */ blr .global PathFind__12CElitePirateFR13CStateManager9EStateMsgf PathFind__12CElitePirateFR13CStateManager9EStateMsgf: /* 8022B3D0 00228330 94 21 FF 20 */ stwu r1, -0xe0(r1) /* 8022B3D4 00228334 7C 08 02 A6 */ mflr r0 /* 8022B3D8 00228338 90 01 00 E4 */ stw r0, 0xe4(r1) /* 8022B3DC 0022833C DB E1 00 D0 */ stfd f31, 0xd0(r1) /* 8022B3E0 00228340 F3 E1 00 D8 */ psq_st f31, 216(r1), 0, qr0 /* 8022B3E4 00228344 DB C1 00 C0 */ stfd f30, 0xc0(r1) /* 8022B3E8 00228348 F3 C1 00 C8 */ psq_st f30, 200(r1), 0, qr0 /* 8022B3EC 0022834C 93 E1 00 BC */ stw r31, 0xbc(r1) /* 8022B3F0 00228350 93 C1 00 B8 */ stw r30, 0xb8(r1) /* 8022B3F4 00228354 93 A1 00 B4 */ stw r29, 0xb4(r1) /* 8022B3F8 00228358 7C BE 2B 78 */ mr r30, r5 /* 8022B3FC 0022835C FF C0 08 90 */ fmr f30, f1 /* 8022B400 00228360 2C 1E 00 01 */ cmpwi r30, 1 /* 8022B404 00228364 7C 7F 1B 78 */ mr r31, r3 /* 8022B408 00228368 7C 9D 23 78 */ mr r29, r4 /* 8022B40C 0022836C 41 82 00 E0 */ beq lbl_8022B4EC /* 8022B410 00228370 40 80 00 10 */ bge lbl_8022B420 /* 8022B414 00228374 2C 1E 00 00 */ cmpwi r30, 0 /* 8022B418 00228378 40 80 00 14 */ bge lbl_8022B42C /* 8022B41C 0022837C 48 00 03 58 */ b lbl_8022B774 lbl_8022B420: /* 8022B420 00228380 2C 1E 00 03 */ cmpwi r30, 3 /* 8022B424 00228384 40 80 03 50 */ bge lbl_8022B774 /* 8022B428 00228388 48 00 03 40 */ b lbl_8022B768 lbl_8022B42C: /* 8022B42C 0022838C 88 1F 09 89 */ lbz r0, 0x989(r31) /* 8022B430 00228390 38 60 00 01 */ li r3, 1 /* 8022B434 00228394 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8022B438 00228398 38 60 00 00 */ li r3, 0 /* 8022B43C 0022839C 98 1F 09 89 */ stb r0, 0x989(r31) /* 8022B440 002283A0 38 80 00 01 */ li r4, 1 /* 8022B444 002283A4 88 1F 09 88 */ lbz r0, 0x988(r31) /* 8022B448 002283A8 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 8022B44C 002283AC 98 1F 09 88 */ stb r0, 0x988(r31) /* 8022B450 002283B0 80 7F 04 50 */ lwz r3, 0x450(r31) /* 8022B454 002283B4 4B F0 F5 85 */ bl SetLocomotionType__15CBodyControllerFQ23pas15ELocomotionType /* 8022B458 002283B8 80 BD 08 4C */ lwz r5, 0x84c(r29) /* 8022B45C 002283BC 38 7F 06 F8 */ addi r3, r31, 0x6f8 /* 8022B460 002283C0 38 81 00 0C */ addi r4, r1, 0xc /* 8022B464 002283C4 A0 05 00 08 */ lhz r0, 8(r5) /* 8022B468 002283C8 B0 01 00 08 */ sth r0, 8(r1) /* 8022B46C 002283CC B0 01 00 0C */ sth r0, 0xc(r1) /* 8022B470 002283D0 4B F4 9D A9 */ bl SetTarget__13CBoneTrackingF9TUniqueId /* 8022B474 002283D4 38 7F 06 F8 */ addi r3, r31, 0x6f8 /* 8022B478 002283D8 38 80 00 01 */ li r4, 1 /* 8022B47C 002283DC 4B F4 9D A9 */ bl SetActive__13CBoneTrackingFb /* 8022B480 002283E0 7F E3 FB 78 */ mr r3, r31 /* 8022B484 002283E4 7F A4 EB 78 */ mr r4, r29 /* 8022B488 002283E8 4B FF D1 AD */ bl sub_80228634 /* 8022B48C 002283EC FC 20 F0 90 */ fmr f1, f30 /* 8022B490 002283F0 7F E3 FB 78 */ mr r3, r31 /* 8022B494 002283F4 7F A4 EB 78 */ mr r4, r29 /* 8022B498 002283F8 7F C5 F3 78 */ mr r5, r30 /* 8022B49C 002283FC 4B FC B2 31 */ bl PathFind__10CPatternedFR13CStateManager9EStateMsgf /* 8022B4A0 00228400 C3 FF 05 DC */ lfs f31, 0x5dc(r31) /* 8022B4A4 00228404 C3 DF 05 D8 */ lfs f30, 0x5d8(r31) /* 8022B4A8 00228408 80 7D 09 00 */ lwz r3, 0x900(r29) /* 8022B4AC 0022840C 48 0E 70 31 */ bl Float__9CRandom16Fv /* 8022B4B0 00228410 EC 01 F7 FA */ fmadds f0, f1, f31, f30 /* 8022B4B4 00228414 7F E3 FB 78 */ mr r3, r31 /* 8022B4B8 00228418 7F A4 EB 78 */ mr r4, r29 /* 8022B4BC 0022841C C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022B4C0 00228420 D0 1F 07 BC */ stfs f0, 0x7bc(r31) /* 8022B4C4 00228424 81 9F 00 00 */ lwz r12, 0(r31) /* 8022B4C8 00228428 81 8C 01 9C */ lwz r12, 0x19c(r12) /* 8022B4CC 0022842C 7D 89 03 A6 */ mtctr r12 /* 8022B4D0 00228430 4E 80 04 21 */ bctrl /* 8022B4D4 00228434 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022B4D8 00228438 41 82 02 9C */ beq lbl_8022B774 /* 8022B4DC 0022843C 80 7F 04 50 */ lwz r3, 0x450(r31) /* 8022B4E0 00228440 38 63 00 04 */ addi r3, r3, 4 /* 8022B4E4 00228444 4B F0 5F C5 */ bl ClearLocomotionCmds__16CBodyStateCmdMgrFv /* 8022B4E8 00228448 48 00 02 8C */ b lbl_8022B774 lbl_8022B4EC: /* 8022B4EC 0022844C C0 3F 07 BC */ lfs f1, 0x7bc(r31) /* 8022B4F0 00228450 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 8022B4F4 00228454 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022B4F8 00228458 40 81 00 0C */ ble lbl_8022B504 /* 8022B4FC 0022845C EC 01 F0 28 */ fsubs f0, f1, f30 /* 8022B500 00228460 D0 1F 07 BC */ stfs f0, 0x7bc(r31) lbl_8022B504: /* 8022B504 00228464 7F E3 FB 78 */ mr r3, r31 /* 8022B508 00228468 7F A4 EB 78 */ mr r4, r29 /* 8022B50C 0022846C 81 9F 00 00 */ lwz r12, 0(r31) /* 8022B510 00228470 C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022B514 00228474 81 8C 01 9C */ lwz r12, 0x19c(r12) /* 8022B518 00228478 7D 89 03 A6 */ mtctr r12 /* 8022B51C 0022847C 4E 80 04 21 */ bctrl /* 8022B520 00228480 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022B524 00228484 40 82 00 40 */ bne lbl_8022B564 /* 8022B528 00228488 7F E3 FB 78 */ mr r3, r31 /* 8022B52C 0022848C 7F A4 EB 78 */ mr r4, r29 /* 8022B530 00228490 81 9F 00 00 */ lwz r12, 0(r31) /* 8022B534 00228494 C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022B538 00228498 81 8C 01 90 */ lwz r12, 0x190(r12) /* 8022B53C 0022849C 7D 89 03 A6 */ mtctr r12 /* 8022B540 002284A0 4E 80 04 21 */ bctrl /* 8022B544 002284A4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022B548 002284A8 40 82 00 1C */ bne lbl_8022B564 /* 8022B54C 002284AC FC 20 F0 90 */ fmr f1, f30 /* 8022B550 002284B0 7F E3 FB 78 */ mr r3, r31 /* 8022B554 002284B4 7F A4 EB 78 */ mr r4, r29 /* 8022B558 002284B8 7F C5 F3 78 */ mr r5, r30 /* 8022B55C 002284BC 4B FC B1 71 */ bl PathFind__10CPatternedFR13CStateManager9EStateMsgf /* 8022B560 002284C0 48 00 02 14 */ b lbl_8022B774 lbl_8022B564: /* 8022B564 002284C4 7F E3 FB 78 */ mr r3, r31 /* 8022B568 002284C8 7F A4 EB 78 */ mr r4, r29 /* 8022B56C 002284CC 81 9F 00 00 */ lwz r12, 0(r31) /* 8022B570 002284D0 C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022B574 002284D4 81 8C 01 90 */ lwz r12, 0x190(r12) /* 8022B578 002284D8 7D 89 03 A6 */ mtctr r12 /* 8022B57C 002284DC 4E 80 04 21 */ bctrl /* 8022B580 002284E0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022B584 002284E4 41 82 00 F4 */ beq lbl_8022B678 /* 8022B588 002284E8 C0 5F 00 38 */ lfs f2, 0x38(r31) /* 8022B58C 002284EC 38 61 00 58 */ addi r3, r1, 0x58 /* 8022B590 002284F0 C0 3F 00 48 */ lfs f1, 0x48(r31) /* 8022B594 002284F4 38 9F 08 C0 */ addi r4, r31, 0x8c0 /* 8022B598 002284F8 C0 1F 00 58 */ lfs f0, 0x58(r31) /* 8022B59C 002284FC 38 A1 00 4C */ addi r5, r1, 0x4c /* 8022B5A0 00228500 D0 41 00 28 */ stfs f2, 0x28(r1) /* 8022B5A4 00228504 38 C1 00 34 */ addi r6, r1, 0x34 /* 8022B5A8 00228508 D0 21 00 2C */ stfs f1, 0x2c(r1) /* 8022B5AC 0022850C 81 01 00 28 */ lwz r8, 0x28(r1) /* 8022B5B0 00228510 D0 01 00 30 */ stfs f0, 0x30(r1) /* 8022B5B4 00228514 80 E1 00 2C */ lwz r7, 0x2c(r1) /* 8022B5B8 00228518 80 01 00 30 */ lwz r0, 0x30(r1) /* 8022B5BC 0022851C 91 01 00 34 */ stw r8, 0x34(r1) /* 8022B5C0 00228520 90 E1 00 38 */ stw r7, 0x38(r1) /* 8022B5C4 00228524 90 01 00 3C */ stw r0, 0x3c(r1) /* 8022B5C8 00228528 C0 5F 00 40 */ lfs f2, 0x40(r31) /* 8022B5CC 0022852C C0 3F 00 50 */ lfs f1, 0x50(r31) /* 8022B5D0 00228530 C0 1F 00 60 */ lfs f0, 0x60(r31) /* 8022B5D4 00228534 D0 41 00 40 */ stfs f2, 0x40(r1) /* 8022B5D8 00228538 D0 21 00 44 */ stfs f1, 0x44(r1) /* 8022B5DC 0022853C 81 01 00 40 */ lwz r8, 0x40(r1) /* 8022B5E0 00228540 D0 01 00 48 */ stfs f0, 0x48(r1) /* 8022B5E4 00228544 80 E1 00 44 */ lwz r7, 0x44(r1) /* 8022B5E8 00228548 80 01 00 48 */ lwz r0, 0x48(r1) /* 8022B5EC 0022854C 91 01 00 4C */ stw r8, 0x4c(r1) /* 8022B5F0 00228550 90 E1 00 50 */ stw r7, 0x50(r1) /* 8022B5F4 00228554 90 01 00 54 */ stw r0, 0x54(r1) /* 8022B5F8 00228558 48 07 51 F9 */ bl sub_802a07f0 /* 8022B5FC 0022855C C0 21 00 58 */ lfs f1, 0x58(r1) /* 8022B600 00228560 38 00 00 00 */ li r0, 0 /* 8022B604 00228564 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 8022B608 00228568 C0 81 00 5C */ lfs f4, 0x5c(r1) /* 8022B60C 0022856C FC 00 08 00 */ fcmpu cr0, f0, f1 /* 8022B610 00228570 C0 A1 00 60 */ lfs f5, 0x60(r1) /* 8022B614 00228574 40 82 00 14 */ bne lbl_8022B628 /* 8022B618 00228578 FC 00 20 00 */ fcmpu cr0, f0, f4 /* 8022B61C 0022857C 40 82 00 0C */ bne lbl_8022B628 /* 8022B620 00228580 FC 00 28 00 */ fcmpu cr0, f0, f5 /* 8022B624 00228584 41 82 00 08 */ beq lbl_8022B62C lbl_8022B628: /* 8022B628 00228588 38 00 00 01 */ li r0, 1 lbl_8022B62C: /* 8022B62C 0022858C 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 8022B630 00228590 41 82 01 44 */ beq lbl_8022B774 /* 8022B634 00228594 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8022B638 00228598 C4 63 66 A0 */ lfsu f3, sZeroVector__9CVector3f@l(r3) /* 8022B63C 0022859C C0 02 B5 CC */ lfs f0, lbl_805AD2EC@sda21(r2) /* 8022B640 002285A0 38 81 00 8C */ addi r4, r1, 0x8c /* 8022B644 002285A4 D0 21 00 8C */ stfs f1, 0x8c(r1) /* 8022B648 002285A8 C0 43 00 04 */ lfs f2, 4(r3) /* 8022B64C 002285AC C0 23 00 08 */ lfs f1, 8(r3) /* 8022B650 002285B0 D0 81 00 90 */ stfs f4, 0x90(r1) /* 8022B654 002285B4 D0 A1 00 94 */ stfs f5, 0x94(r1) /* 8022B658 002285B8 D0 61 00 98 */ stfs f3, 0x98(r1) /* 8022B65C 002285BC D0 41 00 9C */ stfs f2, 0x9c(r1) /* 8022B660 002285C0 D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 8022B664 002285C4 D0 01 00 A4 */ stfs f0, 0xa4(r1) /* 8022B668 002285C8 80 7F 04 50 */ lwz r3, 0x450(r31) /* 8022B66C 002285CC 38 63 00 04 */ addi r3, r3, 4 /* 8022B670 002285D0 4B F0 60 A9 */ bl DeliverCmd__16CBodyStateCmdMgrFRC16CBCLocomotionCmd /* 8022B674 002285D4 48 00 01 00 */ b lbl_8022B774 lbl_8022B678: /* 8022B678 002285D8 7F E3 FB 78 */ mr r3, r31 /* 8022B67C 002285DC 7F A4 EB 78 */ mr r4, r29 /* 8022B680 002285E0 81 9F 00 00 */ lwz r12, 0(r31) /* 8022B684 002285E4 C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022B688 002285E8 81 8C 01 E8 */ lwz r12, 0x1e8(r12) /* 8022B68C 002285EC 7D 89 03 A6 */ mtctr r12 /* 8022B690 002285F0 4E 80 04 21 */ bctrl /* 8022B694 002285F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022B698 002285F8 41 82 00 DC */ beq lbl_8022B774 /* 8022B69C 002285FC 80 DF 00 64 */ lwz r6, 0x64(r31) /* 8022B6A0 00228600 7F A5 EB 78 */ mr r5, r29 /* 8022B6A4 00228604 80 9D 08 4C */ lwz r4, 0x84c(r29) /* 8022B6A8 00228608 38 61 00 1C */ addi r3, r1, 0x1c /* 8022B6AC 0022860C 80 C6 00 10 */ lwz r6, 0x10(r6) /* 8022B6B0 00228610 81 84 00 00 */ lwz r12, 0(r4) /* 8022B6B4 00228614 C0 22 B5 BC */ lfs f1, lbl_805AD2DC@sda21(r2) /* 8022B6B8 00228618 C0 06 02 00 */ lfs f0, 0x200(r6) /* 8022B6BC 0022861C 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 8022B6C0 00228620 EC 21 00 32 */ fmuls f1, f1, f0 /* 8022B6C4 00228624 7D 89 03 A6 */ mtctr r12 /* 8022B6C8 00228628 4E 80 04 21 */ bctrl /* 8022B6CC 0022862C C0 21 00 20 */ lfs f1, 0x20(r1) /* 8022B6D0 00228630 38 61 00 64 */ addi r3, r1, 0x64 /* 8022B6D4 00228634 C0 1F 00 50 */ lfs f0, 0x50(r31) /* 8022B6D8 00228638 C0 61 00 24 */ lfs f3, 0x24(r1) /* 8022B6DC 0022863C C0 5F 00 60 */ lfs f2, 0x60(r31) /* 8022B6E0 00228640 EC 81 00 28 */ fsubs f4, f1, f0 /* 8022B6E4 00228644 C0 1F 00 40 */ lfs f0, 0x40(r31) /* 8022B6E8 00228648 C0 21 00 1C */ lfs f1, 0x1c(r1) /* 8022B6EC 0022864C EC 43 10 28 */ fsubs f2, f3, f2 /* 8022B6F0 00228650 D0 81 00 68 */ stfs f4, 0x68(r1) /* 8022B6F4 00228654 EC 01 00 28 */ fsubs f0, f1, f0 /* 8022B6F8 00228658 D0 41 00 6C */ stfs f2, 0x6c(r1) /* 8022B6FC 0022865C D0 01 00 64 */ stfs f0, 0x64(r1) /* 8022B700 00228660 48 0E 8F F9 */ bl CanBeNormalized__9CVector3fCFv /* 8022B704 00228664 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022B708 00228668 41 82 00 6C */ beq lbl_8022B774 /* 8022B70C 0022866C 38 61 00 10 */ addi r3, r1, 0x10 /* 8022B710 00228670 38 81 00 64 */ addi r4, r1, 0x64 /* 8022B714 00228674 48 0E 91 3D */ bl AsNormalized__9CVector3fCFv /* 8022B718 00228678 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8022B71C 0022867C C4 C3 66 A0 */ lfsu f6, sZeroVector__9CVector3f@l(r3) /* 8022B720 00228680 C0 61 00 10 */ lfs f3, 0x10(r1) /* 8022B724 00228684 38 81 00 70 */ addi r4, r1, 0x70 /* 8022B728 00228688 C0 41 00 14 */ lfs f2, 0x14(r1) /* 8022B72C 0022868C C0 A3 00 04 */ lfs f5, 4(r3) /* 8022B730 00228690 C0 83 00 08 */ lfs f4, 8(r3) /* 8022B734 00228694 C0 21 00 18 */ lfs f1, 0x18(r1) /* 8022B738 00228698 C0 02 B5 CC */ lfs f0, lbl_805AD2EC@sda21(r2) /* 8022B73C 0022869C D0 C1 00 70 */ stfs f6, 0x70(r1) /* 8022B740 002286A0 D0 A1 00 74 */ stfs f5, 0x74(r1) /* 8022B744 002286A4 D0 81 00 78 */ stfs f4, 0x78(r1) /* 8022B748 002286A8 D0 61 00 7C */ stfs f3, 0x7c(r1) /* 8022B74C 002286AC D0 41 00 80 */ stfs f2, 0x80(r1) /* 8022B750 002286B0 D0 21 00 84 */ stfs f1, 0x84(r1) /* 8022B754 002286B4 D0 01 00 88 */ stfs f0, 0x88(r1) /* 8022B758 002286B8 80 7F 04 50 */ lwz r3, 0x450(r31) /* 8022B75C 002286BC 38 63 00 04 */ addi r3, r3, 4 /* 8022B760 002286C0 4B F0 5F B9 */ bl DeliverCmd__16CBodyStateCmdMgrFRC16CBCLocomotionCmd /* 8022B764 002286C4 48 00 00 10 */ b lbl_8022B774 lbl_8022B768: /* 8022B768 002286C8 38 7F 06 F8 */ addi r3, r31, 0x6f8 /* 8022B76C 002286CC 38 80 00 00 */ li r4, 0 /* 8022B770 002286D0 4B F4 9A B5 */ bl SetActive__13CBoneTrackingFb lbl_8022B774: /* 8022B774 002286D4 E3 E1 00 D8 */ psq_l f31, 216(r1), 0, qr0 /* 8022B778 002286D8 CB E1 00 D0 */ lfd f31, 0xd0(r1) /* 8022B77C 002286DC E3 C1 00 C8 */ psq_l f30, 200(r1), 0, qr0 /* 8022B780 002286E0 CB C1 00 C0 */ lfd f30, 0xc0(r1) /* 8022B784 002286E4 83 E1 00 BC */ lwz r31, 0xbc(r1) /* 8022B788 002286E8 83 C1 00 B8 */ lwz r30, 0xb8(r1) /* 8022B78C 002286EC 80 01 00 E4 */ lwz r0, 0xe4(r1) /* 8022B790 002286F0 83 A1 00 B4 */ lwz r29, 0xb4(r1) /* 8022B794 002286F4 7C 08 03 A6 */ mtlr r0 /* 8022B798 002286F8 38 21 00 E0 */ addi r1, r1, 0xe0 /* 8022B79C 002286FC 4E 80 00 20 */ blr .global Halt__12CElitePirateFR13CStateManager9EStateMsgf Halt__12CElitePirateFR13CStateManager9EStateMsgf: /* 8022B7A0 00228700 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8022B7A4 00228704 7C 08 02 A6 */ mflr r0 /* 8022B7A8 00228708 2C 05 00 01 */ cmpwi r5, 1 /* 8022B7AC 0022870C 90 01 00 54 */ stw r0, 0x54(r1) /* 8022B7B0 00228710 93 E1 00 4C */ stw r31, 0x4c(r1) /* 8022B7B4 00228714 7C 7F 1B 78 */ mr r31, r3 /* 8022B7B8 00228718 93 C1 00 48 */ stw r30, 0x48(r1) /* 8022B7BC 0022871C 93 A1 00 44 */ stw r29, 0x44(r1) /* 8022B7C0 00228720 41 82 01 AC */ beq lbl_8022B96C /* 8022B7C4 00228724 40 80 00 10 */ bge lbl_8022B7D4 /* 8022B7C8 00228728 2C 05 00 00 */ cmpwi r5, 0 /* 8022B7CC 0022872C 40 80 00 14 */ bge lbl_8022B7E0 /* 8022B7D0 00228730 48 00 01 9C */ b lbl_8022B96C lbl_8022B7D4: /* 8022B7D4 00228734 2C 05 00 03 */ cmpwi r5, 3 /* 8022B7D8 00228738 40 80 01 94 */ bge lbl_8022B96C /* 8022B7DC 0022873C 48 00 00 D8 */ b lbl_8022B8B4 lbl_8022B7E0: /* 8022B7E0 00228740 80 7F 04 50 */ lwz r3, 0x450(r31) /* 8022B7E4 00228744 38 80 00 02 */ li r4, 2 /* 8022B7E8 00228748 4B F0 F1 F1 */ bl SetLocomotionType__15CBodyControllerFQ23pas15ELocomotionType /* 8022B7EC 0022874C 88 1F 09 89 */ lbz r0, 0x989(r31) /* 8022B7F0 00228750 38 60 00 00 */ li r3, 0 /* 8022B7F4 00228754 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8022B7F8 00228758 7F E3 FB 78 */ mr r3, r31 /* 8022B7FC 0022875C 98 1F 09 89 */ stb r0, 0x989(r31) /* 8022B800 00228760 4B E2 80 BD */ bl GetMaterialFilter__6CActorCFv /* 8022B804 00228764 80 03 00 00 */ lwz r0, 0(r3) /* 8022B808 00228768 38 80 00 01 */ li r4, 1 /* 8022B80C 0022876C 80 C3 00 04 */ lwz r6, 4(r3) /* 8022B810 00228770 80 AD 95 6C */ lwz r5, lbl_805A812C@sda21(r13) /* 8022B814 00228774 90 C1 00 24 */ stw r6, 0x24(r1) /* 8022B818 00228778 90 01 00 20 */ stw r0, 0x20(r1) /* 8022B81C 0022877C 80 03 00 08 */ lwz r0, 8(r3) /* 8022B820 00228780 80 C3 00 0C */ lwz r6, 0xc(r3) /* 8022B824 00228784 90 C1 00 2C */ stw r6, 0x2c(r1) /* 8022B828 00228788 90 01 00 28 */ stw r0, 0x28(r1) /* 8022B82C 0022878C 80 03 00 10 */ lwz r0, 0x10(r3) /* 8022B830 00228790 38 60 00 00 */ li r3, 0 /* 8022B834 00228794 90 01 00 30 */ stw r0, 0x30(r1) /* 8022B838 00228798 48 15 E6 BD */ bl __shl2i /* 8022B83C 0022879C 80 AD 95 70 */ lwz r5, lbl_805A8130@sda21(r13) /* 8022B840 002287A0 7C 9D 23 78 */ mr r29, r4 /* 8022B844 002287A4 7C 7E 1B 78 */ mr r30, r3 /* 8022B848 002287A8 38 60 00 00 */ li r3, 0 /* 8022B84C 002287AC 38 80 00 01 */ li r4, 1 /* 8022B850 002287B0 48 15 E6 A5 */ bl __shl2i /* 8022B854 002287B4 80 AD 95 74 */ lwz r5, lbl_805A8134@sda21(r13) /* 8022B858 002287B8 7F BD 23 78 */ or r29, r29, r4 /* 8022B85C 002287BC 7F DE 1B 78 */ or r30, r30, r3 /* 8022B860 002287C0 38 60 00 00 */ li r3, 0 /* 8022B864 002287C4 38 80 00 01 */ li r4, 1 /* 8022B868 002287C8 48 15 E6 8D */ bl __shl2i /* 8022B86C 002287CC 80 AD 95 78 */ lwz r5, lbl_805A8138@sda21(r13) /* 8022B870 002287D0 7F BD 23 78 */ or r29, r29, r4 /* 8022B874 002287D4 7F DE 1B 78 */ or r30, r30, r3 /* 8022B878 002287D8 38 60 00 00 */ li r3, 0 /* 8022B87C 002287DC 38 80 00 01 */ li r4, 1 /* 8022B880 002287E0 48 15 E6 75 */ bl __shl2i /* 8022B884 002287E4 80 01 00 28 */ lwz r0, 0x28(r1) /* 8022B888 002287E8 7F DE 1B 78 */ or r30, r30, r3 /* 8022B88C 002287EC 7F BD 23 78 */ or r29, r29, r4 /* 8022B890 002287F0 80 81 00 2C */ lwz r4, 0x2c(r1) /* 8022B894 002287F4 7C 00 F3 78 */ or r0, r0, r30 /* 8022B898 002287F8 7F E3 FB 78 */ mr r3, r31 /* 8022B89C 002287FC 7C 85 EB 78 */ or r5, r4, r29 /* 8022B8A0 00228800 90 01 00 28 */ stw r0, 0x28(r1) /* 8022B8A4 00228804 38 81 00 20 */ addi r4, r1, 0x20 /* 8022B8A8 00228808 90 A1 00 2C */ stw r5, 0x2c(r1) /* 8022B8AC 0022880C 4B E2 7F F5 */ bl SetMaterialFilter__6CActorFRC15CMaterialFilter /* 8022B8B0 00228810 48 00 00 BC */ b lbl_8022B96C lbl_8022B8B4: /* 8022B8B4 00228814 4B E2 80 09 */ bl GetMaterialFilter__6CActorCFv /* 8022B8B8 00228818 80 03 00 00 */ lwz r0, 0(r3) /* 8022B8BC 0022881C 38 80 00 01 */ li r4, 1 /* 8022B8C0 00228820 80 C3 00 04 */ lwz r6, 4(r3) /* 8022B8C4 00228824 80 AD 95 7C */ lwz r5, lbl_805A813C@sda21(r13) /* 8022B8C8 00228828 90 C1 00 0C */ stw r6, 0xc(r1) /* 8022B8CC 0022882C 90 01 00 08 */ stw r0, 8(r1) /* 8022B8D0 00228830 80 03 00 08 */ lwz r0, 8(r3) /* 8022B8D4 00228834 80 C3 00 0C */ lwz r6, 0xc(r3) /* 8022B8D8 00228838 90 C1 00 14 */ stw r6, 0x14(r1) /* 8022B8DC 0022883C 90 01 00 10 */ stw r0, 0x10(r1) /* 8022B8E0 00228840 80 03 00 10 */ lwz r0, 0x10(r3) /* 8022B8E4 00228844 38 60 00 00 */ li r3, 0 /* 8022B8E8 00228848 90 01 00 18 */ stw r0, 0x18(r1) /* 8022B8EC 0022884C 48 15 E6 09 */ bl __shl2i /* 8022B8F0 00228850 80 AD 95 80 */ lwz r5, lbl_805A8140@sda21(r13) /* 8022B8F4 00228854 7C 9E 23 78 */ mr r30, r4 /* 8022B8F8 00228858 7C 7D 1B 78 */ mr r29, r3 /* 8022B8FC 0022885C 38 60 00 00 */ li r3, 0 /* 8022B900 00228860 38 80 00 01 */ li r4, 1 /* 8022B904 00228864 48 15 E5 F1 */ bl __shl2i /* 8022B908 00228868 80 AD 95 84 */ lwz r5, lbl_805A8144@sda21(r13) /* 8022B90C 0022886C 7F DE 23 78 */ or r30, r30, r4 /* 8022B910 00228870 7F BD 1B 78 */ or r29, r29, r3 /* 8022B914 00228874 38 60 00 00 */ li r3, 0 /* 8022B918 00228878 38 80 00 01 */ li r4, 1 /* 8022B91C 0022887C 48 15 E5 D9 */ bl __shl2i /* 8022B920 00228880 80 AD 95 88 */ lwz r5, lbl_805A8148@sda21(r13) /* 8022B924 00228884 7F DE 23 78 */ or r30, r30, r4 /* 8022B928 00228888 7F BD 1B 78 */ or r29, r29, r3 /* 8022B92C 0022888C 38 60 00 00 */ li r3, 0 /* 8022B930 00228890 38 80 00 01 */ li r4, 1 /* 8022B934 00228894 48 15 E5 C1 */ bl __shl2i /* 8022B938 00228898 7F DE 23 78 */ or r30, r30, r4 /* 8022B93C 0022889C 7F BD 1B 78 */ or r29, r29, r3 /* 8022B940 002288A0 80 61 00 10 */ lwz r3, 0x10(r1) /* 8022B944 002288A4 7F A0 E8 F8 */ nor r0, r29, r29 /* 8022B948 002288A8 80 A1 00 14 */ lwz r5, 0x14(r1) /* 8022B94C 002288AC 7F C4 F0 F8 */ nor r4, r30, r30 /* 8022B950 002288B0 7C 60 00 38 */ and r0, r3, r0 /* 8022B954 002288B4 7F E3 FB 78 */ mr r3, r31 /* 8022B958 002288B8 7C A5 20 38 */ and r5, r5, r4 /* 8022B95C 002288BC 90 01 00 10 */ stw r0, 0x10(r1) /* 8022B960 002288C0 38 81 00 08 */ addi r4, r1, 8 /* 8022B964 002288C4 90 A1 00 14 */ stw r5, 0x14(r1) /* 8022B968 002288C8 4B E2 7F 39 */ bl SetMaterialFilter__6CActorFRC15CMaterialFilter lbl_8022B96C: /* 8022B96C 002288CC 80 01 00 54 */ lwz r0, 0x54(r1) /* 8022B970 002288D0 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 8022B974 002288D4 83 C1 00 48 */ lwz r30, 0x48(r1) /* 8022B978 002288D8 83 A1 00 44 */ lwz r29, 0x44(r1) /* 8022B97C 002288DC 7C 08 03 A6 */ mtlr r0 /* 8022B980 002288E0 38 21 00 50 */ addi r1, r1, 0x50 /* 8022B984 002288E4 4E 80 00 20 */ blr .global Run__12CElitePirateFR13CStateManager9EStateMsgf Run__12CElitePirateFR13CStateManager9EStateMsgf: /* 8022B988 002288E8 94 21 FF 30 */ stwu r1, -0xd0(r1) /* 8022B98C 002288EC 7C 08 02 A6 */ mflr r0 /* 8022B990 002288F0 90 01 00 D4 */ stw r0, 0xd4(r1) /* 8022B994 002288F4 DB E1 00 C0 */ stfd f31, 0xc0(r1) /* 8022B998 002288F8 F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0 /* 8022B99C 002288FC 93 E1 00 BC */ stw r31, 0xbc(r1) /* 8022B9A0 00228900 93 C1 00 B8 */ stw r30, 0xb8(r1) /* 8022B9A4 00228904 93 A1 00 B4 */ stw r29, 0xb4(r1) /* 8022B9A8 00228908 7C BD 2B 78 */ mr r29, r5 /* 8022B9AC 0022890C FF E0 08 90 */ fmr f31, f1 /* 8022B9B0 00228910 2C 1D 00 01 */ cmpwi r29, 1 /* 8022B9B4 00228914 7C 7E 1B 78 */ mr r30, r3 /* 8022B9B8 00228918 7C 9F 23 78 */ mr r31, r4 /* 8022B9BC 0022891C 41 82 00 9C */ beq lbl_8022BA58 /* 8022B9C0 00228920 40 80 00 10 */ bge lbl_8022B9D0 /* 8022B9C4 00228924 2C 1D 00 00 */ cmpwi r29, 0 /* 8022B9C8 00228928 40 80 00 14 */ bge lbl_8022B9DC /* 8022B9CC 0022892C 48 00 02 D0 */ b lbl_8022BC9C lbl_8022B9D0: /* 8022B9D0 00228930 2C 1D 00 03 */ cmpwi r29, 3 /* 8022B9D4 00228934 40 80 02 C8 */ bge lbl_8022BC9C /* 8022B9D8 00228938 48 00 02 94 */ b lbl_8022BC6C lbl_8022B9DC: /* 8022B9DC 0022893C 88 1E 09 88 */ lbz r0, 0x988(r30) /* 8022B9E0 00228940 38 60 00 01 */ li r3, 1 /* 8022B9E4 00228944 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 8022B9E8 00228948 38 80 00 01 */ li r4, 1 /* 8022B9EC 0022894C 98 1E 09 88 */ stb r0, 0x988(r30) /* 8022B9F0 00228950 80 7E 04 50 */ lwz r3, 0x450(r30) /* 8022B9F4 00228954 4B F0 EF E5 */ bl SetLocomotionType__15CBodyControllerFQ23pas15ELocomotionType /* 8022B9F8 00228958 C0 22 B5 CC */ lfs f1, lbl_805AD2EC@sda21(r2) /* 8022B9FC 0022895C 80 7E 04 50 */ lwz r3, 0x450(r30) /* 8022BA00 00228960 FC 40 08 90 */ fmr f2, f1 /* 8022BA04 00228964 38 63 00 04 */ addi r3, r3, 4 /* 8022BA08 00228968 4B F0 5D E1 */ bl SetSteeringSpeedRange__16CBodyStateCmdMgrFff /* 8022BA0C 0022896C 80 BF 08 4C */ lwz r5, 0x84c(r31) /* 8022BA10 00228970 38 7E 06 F8 */ addi r3, r30, 0x6f8 /* 8022BA14 00228974 38 81 00 0C */ addi r4, r1, 0xc /* 8022BA18 00228978 A0 05 00 08 */ lhz r0, 8(r5) /* 8022BA1C 0022897C B0 01 00 08 */ sth r0, 8(r1) /* 8022BA20 00228980 B0 01 00 0C */ sth r0, 0xc(r1) /* 8022BA24 00228984 4B F4 97 F5 */ bl SetTarget__13CBoneTrackingF9TUniqueId /* 8022BA28 00228988 38 7E 06 F8 */ addi r3, r30, 0x6f8 /* 8022BA2C 0022898C 38 80 00 01 */ li r4, 1 /* 8022BA30 00228990 4B F4 97 F5 */ bl SetActive__13CBoneTrackingFb /* 8022BA34 00228994 7F C3 F3 78 */ mr r3, r30 /* 8022BA38 00228998 7F E4 FB 78 */ mr r4, r31 /* 8022BA3C 0022899C 4B FF CB F9 */ bl sub_80228634 /* 8022BA40 002289A0 FC 20 F8 90 */ fmr f1, f31 /* 8022BA44 002289A4 7F C3 F3 78 */ mr r3, r30 /* 8022BA48 002289A8 7F E4 FB 78 */ mr r4, r31 /* 8022BA4C 002289AC 7F A5 EB 78 */ mr r5, r29 /* 8022BA50 002289B0 4B FC AC 7D */ bl PathFind__10CPatternedFR13CStateManager9EStateMsgf /* 8022BA54 002289B4 48 00 02 48 */ b lbl_8022BC9C lbl_8022BA58: /* 8022BA58 002289B8 81 83 00 00 */ lwz r12, 0(r3) /* 8022BA5C 002289BC C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022BA60 002289C0 81 8C 01 90 */ lwz r12, 0x190(r12) /* 8022BA64 002289C4 7D 89 03 A6 */ mtctr r12 /* 8022BA68 002289C8 4E 80 04 21 */ bctrl /* 8022BA6C 002289CC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022BA70 002289D0 40 82 00 1C */ bne lbl_8022BA8C /* 8022BA74 002289D4 FC 20 F8 90 */ fmr f1, f31 /* 8022BA78 002289D8 7F C3 F3 78 */ mr r3, r30 /* 8022BA7C 002289DC 7F E4 FB 78 */ mr r4, r31 /* 8022BA80 002289E0 7F A5 EB 78 */ mr r5, r29 /* 8022BA84 002289E4 4B FC AC 49 */ bl PathFind__10CPatternedFR13CStateManager9EStateMsgf /* 8022BA88 002289E8 48 00 02 14 */ b lbl_8022BC9C lbl_8022BA8C: /* 8022BA8C 002289EC C0 5E 00 38 */ lfs f2, 0x38(r30) /* 8022BA90 002289F0 38 61 00 58 */ addi r3, r1, 0x58 /* 8022BA94 002289F4 C0 3E 00 48 */ lfs f1, 0x48(r30) /* 8022BA98 002289F8 38 9E 08 C0 */ addi r4, r30, 0x8c0 /* 8022BA9C 002289FC C0 1E 00 58 */ lfs f0, 0x58(r30) /* 8022BAA0 00228A00 38 A1 00 4C */ addi r5, r1, 0x4c /* 8022BAA4 00228A04 D0 41 00 28 */ stfs f2, 0x28(r1) /* 8022BAA8 00228A08 38 C1 00 34 */ addi r6, r1, 0x34 /* 8022BAAC 00228A0C D0 21 00 2C */ stfs f1, 0x2c(r1) /* 8022BAB0 00228A10 81 01 00 28 */ lwz r8, 0x28(r1) /* 8022BAB4 00228A14 D0 01 00 30 */ stfs f0, 0x30(r1) /* 8022BAB8 00228A18 80 E1 00 2C */ lwz r7, 0x2c(r1) /* 8022BABC 00228A1C 80 01 00 30 */ lwz r0, 0x30(r1) /* 8022BAC0 00228A20 91 01 00 34 */ stw r8, 0x34(r1) /* 8022BAC4 00228A24 90 E1 00 38 */ stw r7, 0x38(r1) /* 8022BAC8 00228A28 90 01 00 3C */ stw r0, 0x3c(r1) /* 8022BACC 00228A2C C0 5E 00 40 */ lfs f2, 0x40(r30) /* 8022BAD0 00228A30 C0 3E 00 50 */ lfs f1, 0x50(r30) /* 8022BAD4 00228A34 C0 1E 00 60 */ lfs f0, 0x60(r30) /* 8022BAD8 00228A38 D0 41 00 40 */ stfs f2, 0x40(r1) /* 8022BADC 00228A3C D0 21 00 44 */ stfs f1, 0x44(r1) /* 8022BAE0 00228A40 81 01 00 40 */ lwz r8, 0x40(r1) /* 8022BAE4 00228A44 D0 01 00 48 */ stfs f0, 0x48(r1) /* 8022BAE8 00228A48 80 E1 00 44 */ lwz r7, 0x44(r1) /* 8022BAEC 00228A4C 80 01 00 48 */ lwz r0, 0x48(r1) /* 8022BAF0 00228A50 91 01 00 4C */ stw r8, 0x4c(r1) /* 8022BAF4 00228A54 90 E1 00 50 */ stw r7, 0x50(r1) /* 8022BAF8 00228A58 90 01 00 54 */ stw r0, 0x54(r1) /* 8022BAFC 00228A5C 48 07 4C F5 */ bl sub_802a07f0 /* 8022BB00 00228A60 C0 21 00 58 */ lfs f1, 0x58(r1) /* 8022BB04 00228A64 38 00 00 00 */ li r0, 0 /* 8022BB08 00228A68 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 8022BB0C 00228A6C C0 81 00 5C */ lfs f4, 0x5c(r1) /* 8022BB10 00228A70 FC 00 08 00 */ fcmpu cr0, f0, f1 /* 8022BB14 00228A74 C0 A1 00 60 */ lfs f5, 0x60(r1) /* 8022BB18 00228A78 40 82 00 14 */ bne lbl_8022BB2C /* 8022BB1C 00228A7C FC 00 20 00 */ fcmpu cr0, f0, f4 /* 8022BB20 00228A80 40 82 00 0C */ bne lbl_8022BB2C /* 8022BB24 00228A84 FC 00 28 00 */ fcmpu cr0, f0, f5 /* 8022BB28 00228A88 41 82 00 08 */ beq lbl_8022BB30 lbl_8022BB2C: /* 8022BB2C 00228A8C 38 00 00 01 */ li r0, 1 lbl_8022BB30: /* 8022BB30 00228A90 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 8022BB34 00228A94 41 82 00 48 */ beq lbl_8022BB7C /* 8022BB38 00228A98 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8022BB3C 00228A9C C4 63 66 A0 */ lfsu f3, sZeroVector__9CVector3f@l(r3) /* 8022BB40 00228AA0 C0 02 B5 CC */ lfs f0, lbl_805AD2EC@sda21(r2) /* 8022BB44 00228AA4 38 81 00 8C */ addi r4, r1, 0x8c /* 8022BB48 00228AA8 D0 21 00 8C */ stfs f1, 0x8c(r1) /* 8022BB4C 00228AAC C0 43 00 04 */ lfs f2, 4(r3) /* 8022BB50 00228AB0 C0 23 00 08 */ lfs f1, 8(r3) /* 8022BB54 00228AB4 D0 81 00 90 */ stfs f4, 0x90(r1) /* 8022BB58 00228AB8 D0 A1 00 94 */ stfs f5, 0x94(r1) /* 8022BB5C 00228ABC D0 61 00 98 */ stfs f3, 0x98(r1) /* 8022BB60 00228AC0 D0 41 00 9C */ stfs f2, 0x9c(r1) /* 8022BB64 00228AC4 D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 8022BB68 00228AC8 D0 01 00 A4 */ stfs f0, 0xa4(r1) /* 8022BB6C 00228ACC 80 7E 04 50 */ lwz r3, 0x450(r30) /* 8022BB70 00228AD0 38 63 00 04 */ addi r3, r3, 4 /* 8022BB74 00228AD4 4B F0 5B A5 */ bl DeliverCmd__16CBodyStateCmdMgrFRC16CBCLocomotionCmd /* 8022BB78 00228AD8 48 00 01 24 */ b lbl_8022BC9C lbl_8022BB7C: /* 8022BB7C 00228ADC 7F C3 F3 78 */ mr r3, r30 /* 8022BB80 00228AE0 7F E4 FB 78 */ mr r4, r31 /* 8022BB84 00228AE4 81 9E 00 00 */ lwz r12, 0(r30) /* 8022BB88 00228AE8 C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022BB8C 00228AEC 81 8C 01 E8 */ lwz r12, 0x1e8(r12) /* 8022BB90 00228AF0 7D 89 03 A6 */ mtctr r12 /* 8022BB94 00228AF4 4E 80 04 21 */ bctrl /* 8022BB98 00228AF8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022BB9C 00228AFC 41 82 01 00 */ beq lbl_8022BC9C /* 8022BBA0 00228B00 80 DE 00 64 */ lwz r6, 0x64(r30) /* 8022BBA4 00228B04 7F E5 FB 78 */ mr r5, r31 /* 8022BBA8 00228B08 80 9F 08 4C */ lwz r4, 0x84c(r31) /* 8022BBAC 00228B0C 38 61 00 1C */ addi r3, r1, 0x1c /* 8022BBB0 00228B10 80 C6 00 10 */ lwz r6, 0x10(r6) /* 8022BBB4 00228B14 81 84 00 00 */ lwz r12, 0(r4) /* 8022BBB8 00228B18 C0 22 B5 BC */ lfs f1, lbl_805AD2DC@sda21(r2) /* 8022BBBC 00228B1C C0 06 02 00 */ lfs f0, 0x200(r6) /* 8022BBC0 00228B20 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 8022BBC4 00228B24 EC 21 00 32 */ fmuls f1, f1, f0 /* 8022BBC8 00228B28 7D 89 03 A6 */ mtctr r12 /* 8022BBCC 00228B2C 4E 80 04 21 */ bctrl /* 8022BBD0 00228B30 C0 21 00 20 */ lfs f1, 0x20(r1) /* 8022BBD4 00228B34 38 61 00 64 */ addi r3, r1, 0x64 /* 8022BBD8 00228B38 C0 1E 00 50 */ lfs f0, 0x50(r30) /* 8022BBDC 00228B3C C0 61 00 24 */ lfs f3, 0x24(r1) /* 8022BBE0 00228B40 C0 5E 00 60 */ lfs f2, 0x60(r30) /* 8022BBE4 00228B44 EC 81 00 28 */ fsubs f4, f1, f0 /* 8022BBE8 00228B48 C0 1E 00 40 */ lfs f0, 0x40(r30) /* 8022BBEC 00228B4C C0 21 00 1C */ lfs f1, 0x1c(r1) /* 8022BBF0 00228B50 EC 43 10 28 */ fsubs f2, f3, f2 /* 8022BBF4 00228B54 D0 81 00 68 */ stfs f4, 0x68(r1) /* 8022BBF8 00228B58 EC 01 00 28 */ fsubs f0, f1, f0 /* 8022BBFC 00228B5C D0 41 00 6C */ stfs f2, 0x6c(r1) /* 8022BC00 00228B60 D0 01 00 64 */ stfs f0, 0x64(r1) /* 8022BC04 00228B64 48 0E 8A F5 */ bl CanBeNormalized__9CVector3fCFv /* 8022BC08 00228B68 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022BC0C 00228B6C 41 82 00 90 */ beq lbl_8022BC9C /* 8022BC10 00228B70 38 61 00 10 */ addi r3, r1, 0x10 /* 8022BC14 00228B74 38 81 00 64 */ addi r4, r1, 0x64 /* 8022BC18 00228B78 48 0E 8C 39 */ bl AsNormalized__9CVector3fCFv /* 8022BC1C 00228B7C 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8022BC20 00228B80 C4 C3 66 A0 */ lfsu f6, sZeroVector__9CVector3f@l(r3) /* 8022BC24 00228B84 C0 61 00 10 */ lfs f3, 0x10(r1) /* 8022BC28 00228B88 38 81 00 70 */ addi r4, r1, 0x70 /* 8022BC2C 00228B8C C0 41 00 14 */ lfs f2, 0x14(r1) /* 8022BC30 00228B90 C0 A3 00 04 */ lfs f5, 4(r3) /* 8022BC34 00228B94 C0 83 00 08 */ lfs f4, 8(r3) /* 8022BC38 00228B98 C0 21 00 18 */ lfs f1, 0x18(r1) /* 8022BC3C 00228B9C C0 02 B5 CC */ lfs f0, lbl_805AD2EC@sda21(r2) /* 8022BC40 00228BA0 D0 C1 00 70 */ stfs f6, 0x70(r1) /* 8022BC44 00228BA4 D0 A1 00 74 */ stfs f5, 0x74(r1) /* 8022BC48 00228BA8 D0 81 00 78 */ stfs f4, 0x78(r1) /* 8022BC4C 00228BAC D0 61 00 7C */ stfs f3, 0x7c(r1) /* 8022BC50 00228BB0 D0 41 00 80 */ stfs f2, 0x80(r1) /* 8022BC54 00228BB4 D0 21 00 84 */ stfs f1, 0x84(r1) /* 8022BC58 00228BB8 D0 01 00 88 */ stfs f0, 0x88(r1) /* 8022BC5C 00228BBC 80 7E 04 50 */ lwz r3, 0x450(r30) /* 8022BC60 00228BC0 38 63 00 04 */ addi r3, r3, 4 /* 8022BC64 00228BC4 4B F0 5A B5 */ bl DeliverCmd__16CBodyStateCmdMgrFRC16CBCLocomotionCmd /* 8022BC68 00228BC8 48 00 00 34 */ b lbl_8022BC9C lbl_8022BC6C: /* 8022BC6C 00228BCC 88 1E 09 88 */ lbz r0, 0x988(r30) /* 8022BC70 00228BD0 38 60 00 00 */ li r3, 0 /* 8022BC74 00228BD4 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 8022BC78 00228BD8 38 7E 06 F8 */ addi r3, r30, 0x6f8 /* 8022BC7C 00228BDC 98 1E 09 88 */ stb r0, 0x988(r30) /* 8022BC80 00228BE0 38 80 00 00 */ li r4, 0 /* 8022BC84 00228BE4 4B F4 95 A1 */ bl SetActive__13CBoneTrackingFb /* 8022BC88 00228BE8 C0 3E 07 A4 */ lfs f1, 0x7a4(r30) /* 8022BC8C 00228BEC 80 7E 04 50 */ lwz r3, 0x450(r30) /* 8022BC90 00228BF0 FC 40 08 90 */ fmr f2, f1 /* 8022BC94 00228BF4 38 63 00 04 */ addi r3, r3, 4 /* 8022BC98 00228BF8 4B F0 5B 51 */ bl SetSteeringSpeedRange__16CBodyStateCmdMgrFff lbl_8022BC9C: /* 8022BC9C 00228BFC E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0 /* 8022BCA0 00228C00 80 01 00 D4 */ lwz r0, 0xd4(r1) /* 8022BCA4 00228C04 CB E1 00 C0 */ lfd f31, 0xc0(r1) /* 8022BCA8 00228C08 83 E1 00 BC */ lwz r31, 0xbc(r1) /* 8022BCAC 00228C0C 83 C1 00 B8 */ lwz r30, 0xb8(r1) /* 8022BCB0 00228C10 83 A1 00 B4 */ lwz r29, 0xb4(r1) /* 8022BCB4 00228C14 7C 08 03 A6 */ mtlr r0 /* 8022BCB8 00228C18 38 21 00 D0 */ addi r1, r1, 0xd0 /* 8022BCBC 00228C1C 4E 80 00 20 */ blr .global sub_8022bcc0 sub_8022bcc0: /* 8022BCC0 00228C20 80 03 05 68 */ lwz r0, 0x568(r3) /* 8022BCC4 00228C24 20 00 00 03 */ subfic r0, r0, 3 /* 8022BCC8 00228C28 7C 00 00 34 */ cntlzw r0, r0 /* 8022BCCC 00228C2C 54 03 D9 7E */ srwi r3, r0, 5 /* 8022BCD0 00228C30 4E 80 00 20 */ blr .global AggressionCheck__12CElitePirateFR13CStateManagerf AggressionCheck__12CElitePirateFR13CStateManagerf: /* 8022BCD4 00228C34 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8022BCD8 00228C38 7C 08 02 A6 */ mflr r0 /* 8022BCDC 00228C3C 90 01 00 14 */ stw r0, 0x14(r1) /* 8022BCE0 00228C40 93 E1 00 0C */ stw r31, 0xc(r1) /* 8022BCE4 00228C44 7C 9F 23 78 */ mr r31, r4 /* 8022BCE8 00228C48 93 C1 00 08 */ stw r30, 8(r1) /* 8022BCEC 00228C4C 7C 7E 1B 78 */ mr r30, r3 /* 8022BCF0 00228C50 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8022BCF4 00228C54 A0 A3 07 72 */ lhz r5, 0x772(r3) /* 8022BCF8 00228C58 7C 05 00 40 */ cmplw r5, r0 /* 8022BCFC 00228C5C 40 82 00 84 */ bne lbl_8022BD80 /* 8022BD00 00228C60 81 83 00 00 */ lwz r12, 0(r3) /* 8022BD04 00228C64 81 8C 01 90 */ lwz r12, 0x190(r12) /* 8022BD08 00228C68 7D 89 03 A6 */ mtctr r12 /* 8022BD0C 00228C6C 4E 80 04 21 */ bctrl /* 8022BD10 00228C70 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022BD14 00228C74 40 82 00 6C */ bne lbl_8022BD80 /* 8022BD18 00228C78 88 1E 09 88 */ lbz r0, 0x988(r30) /* 8022BD1C 00228C7C 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8022BD20 00228C80 40 82 00 58 */ bne lbl_8022BD78 /* 8022BD24 00228C84 80 7F 08 4C */ lwz r3, 0x84c(r31) /* 8022BD28 00228C88 C0 1E 00 50 */ lfs f0, 0x50(r30) /* 8022BD2C 00228C8C C0 23 00 50 */ lfs f1, 0x50(r3) /* 8022BD30 00228C90 C0 63 00 40 */ lfs f3, 0x40(r3) /* 8022BD34 00228C94 EC 81 00 28 */ fsubs f4, f1, f0 /* 8022BD38 00228C98 C0 3E 00 40 */ lfs f1, 0x40(r30) /* 8022BD3C 00228C9C C0 43 00 60 */ lfs f2, 0x60(r3) /* 8022BD40 00228CA0 C0 1E 00 60 */ lfs f0, 0x60(r30) /* 8022BD44 00228CA4 EC 63 08 28 */ fsubs f3, f3, f1 /* 8022BD48 00228CA8 EC 24 01 32 */ fmuls f1, f4, f4 /* 8022BD4C 00228CAC C0 9E 03 00 */ lfs f4, 0x300(r30) /* 8022BD50 00228CB0 EC 42 00 28 */ fsubs f2, f2, f0 /* 8022BD54 00228CB4 C0 02 B6 04 */ lfs f0, lbl_805AD324@sda21(r2) /* 8022BD58 00228CB8 EC 23 08 FA */ fmadds f1, f3, f3, f1 /* 8022BD5C 00228CBC EC 00 01 32 */ fmuls f0, f0, f4 /* 8022BD60 00228CC0 EC 22 08 BA */ fmadds f1, f2, f2, f1 /* 8022BD64 00228CC4 EC 00 01 32 */ fmuls f0, f0, f4 /* 8022BD68 00228CC8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022BD6C 00228CCC 7C 00 00 26 */ mfcr r0 /* 8022BD70 00228CD0 54 03 17 FE */ rlwinm r3, r0, 2, 0x1f, 0x1f /* 8022BD74 00228CD4 48 00 00 10 */ b lbl_8022BD84 lbl_8022BD78: /* 8022BD78 00228CD8 38 60 00 01 */ li r3, 1 /* 8022BD7C 00228CDC 48 00 00 08 */ b lbl_8022BD84 lbl_8022BD80: /* 8022BD80 00228CE0 38 60 00 00 */ li r3, 0 lbl_8022BD84: /* 8022BD84 00228CE4 80 01 00 14 */ lwz r0, 0x14(r1) /* 8022BD88 00228CE8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8022BD8C 00228CEC 83 C1 00 08 */ lwz r30, 8(r1) /* 8022BD90 00228CF0 7C 08 03 A6 */ mtlr r0 /* 8022BD94 00228CF4 38 21 00 10 */ addi r1, r1, 0x10 /* 8022BD98 00228CF8 4E 80 00 20 */ blr .global TooClose__12CElitePirateFR13CStateManagerf TooClose__12CElitePirateFR13CStateManagerf: /* 8022BD9C 00228CFC 80 84 08 4C */ lwz r4, 0x84c(r4) /* 8022BDA0 00228D00 C0 03 02 FC */ lfs f0, 0x2fc(r3) /* 8022BDA4 00228D04 C0 43 00 50 */ lfs f2, 0x50(r3) /* 8022BDA8 00228D08 C0 24 00 50 */ lfs f1, 0x50(r4) /* 8022BDAC 00228D0C EC 00 00 32 */ fmuls f0, f0, f0 /* 8022BDB0 00228D10 C0 83 00 40 */ lfs f4, 0x40(r3) /* 8022BDB4 00228D14 EC A2 08 28 */ fsubs f5, f2, f1 /* 8022BDB8 00228D18 C0 24 00 40 */ lfs f1, 0x40(r4) /* 8022BDBC 00228D1C C0 63 00 60 */ lfs f3, 0x60(r3) /* 8022BDC0 00228D20 EC 84 08 28 */ fsubs f4, f4, f1 /* 8022BDC4 00228D24 C0 44 00 60 */ lfs f2, 0x60(r4) /* 8022BDC8 00228D28 EC 25 01 72 */ fmuls f1, f5, f5 /* 8022BDCC 00228D2C EC 43 10 28 */ fsubs f2, f3, f2 /* 8022BDD0 00228D30 EC 24 09 3A */ fmadds f1, f4, f4, f1 /* 8022BDD4 00228D34 EC 22 08 BA */ fmadds f1, f2, f2, f1 /* 8022BDD8 00228D38 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022BDDC 00228D3C 7C 00 00 26 */ mfcr r0 /* 8022BDE0 00228D40 54 03 0F FE */ srwi r3, r0, 0x1f /* 8022BDE4 00228D44 4E 80 00 20 */ blr .global InPosition__12CElitePirateFR13CStateManagerf InPosition__12CElitePirateFR13CStateManagerf: /* 8022BDE8 00228D48 C0 23 08 B8 */ lfs f1, 0x8b8(r3) /* 8022BDEC 00228D4C C0 03 00 50 */ lfs f0, 0x50(r3) /* 8022BDF0 00228D50 C0 63 08 B4 */ lfs f3, 0x8b4(r3) /* 8022BDF4 00228D54 EC 21 00 28 */ fsubs f1, f1, f0 /* 8022BDF8 00228D58 C0 03 00 40 */ lfs f0, 0x40(r3) /* 8022BDFC 00228D5C C0 43 08 BC */ lfs f2, 0x8bc(r3) /* 8022BE00 00228D60 EC 63 00 28 */ fsubs f3, f3, f0 /* 8022BE04 00228D64 C0 03 00 60 */ lfs f0, 0x60(r3) /* 8022BE08 00228D68 EC 21 00 72 */ fmuls f1, f1, f1 /* 8022BE0C 00228D6C EC 42 00 28 */ fsubs f2, f2, f0 /* 8022BE10 00228D70 C0 02 B6 00 */ lfs f0, lbl_805AD320@sda21(r2) /* 8022BE14 00228D74 EC 23 08 FA */ fmadds f1, f3, f3, f1 /* 8022BE18 00228D78 EC 22 08 BA */ fmadds f1, f2, f2, f1 /* 8022BE1C 00228D7C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022BE20 00228D80 7C 00 00 26 */ mfcr r0 /* 8022BE24 00228D84 54 03 0F FE */ srwi r3, r0, 0x1f /* 8022BE28 00228D88 4E 80 00 20 */ blr .global ShotAt__12CElitePirateFR13CStateManagerf ShotAt__12CElitePirateFR13CStateManagerf: /* 8022BE2C 00228D8C 88 03 09 88 */ lbz r0, 0x988(r3) /* 8022BE30 00228D90 54 03 E7 FE */ rlwinm r3, r0, 0x1c, 0x1f, 0x1f /* 8022BE34 00228D94 4E 80 00 20 */ blr .global sub_8022be38 sub_8022be38: /* 8022BE38 00228D98 88 03 09 88 */ lbz r0, 0x988(r3) /* 8022BE3C 00228D9C 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f /* 8022BE40 00228DA0 40 82 00 3C */ bne lbl_8022BE7C /* 8022BE44 00228DA4 A0 85 00 00 */ lhz r4, 0(r5) /* 8022BE48 00228DA8 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8022BE4C 00228DAC 7C 04 00 40 */ cmplw r4, r0 /* 8022BE50 00228DB0 40 82 00 2C */ bne lbl_8022BE7C /* 8022BE54 00228DB4 88 03 06 F6 */ lbz r0, 0x6f6(r3) /* 8022BE58 00228DB8 28 00 00 00 */ cmplwi r0, 0 /* 8022BE5C 00228DBC 41 82 00 20 */ beq lbl_8022BE7C /* 8022BE60 00228DC0 C0 23 07 A8 */ lfs f1, 0x7a8(r3) /* 8022BE64 00228DC4 C0 02 B5 C8 */ lfs f0, lbl_805AD2E8@sda21(r2) /* 8022BE68 00228DC8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022BE6C 00228DCC 4C 41 13 82 */ cror 2, 1, 2 /* 8022BE70 00228DD0 7C 00 00 26 */ mfcr r0 /* 8022BE74 00228DD4 54 03 1F FE */ rlwinm r3, r0, 3, 0x1f, 0x1f /* 8022BE78 00228DD8 4E 80 00 20 */ blr lbl_8022BE7C: /* 8022BE7C 00228DDC 38 60 00 00 */ li r3, 0 /* 8022BE80 00228DE0 4E 80 00 20 */ blr .global ShouldCallForBackup__12CElitePirateFR13CStateManagerf ShouldCallForBackup__12CElitePirateFR13CStateManagerf: /* 8022BE84 00228DE4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8022BE88 00228DE8 7C 08 02 A6 */ mflr r0 /* 8022BE8C 00228DEC 90 01 00 14 */ stw r0, 0x14(r1) /* 8022BE90 00228DF0 38 A1 00 08 */ addi r5, r1, 8 /* 8022BE94 00228DF4 A0 03 07 72 */ lhz r0, 0x772(r3) /* 8022BE98 00228DF8 B0 01 00 08 */ sth r0, 8(r1) /* 8022BE9C 00228DFC 4B FF FF 9D */ bl sub_8022be38 /* 8022BEA0 00228E00 80 01 00 14 */ lwz r0, 0x14(r1) /* 8022BEA4 00228E04 7C 08 03 A6 */ mtlr r0 /* 8022BEA8 00228E08 38 21 00 10 */ addi r1, r1, 0x10 /* 8022BEAC 00228E0C 4E 80 00 20 */ blr .global ShouldSpecialAttack__12CElitePirateFR13CStateManagerf ShouldSpecialAttack__12CElitePirateFR13CStateManagerf: /* 8022BEB0 00228E10 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8022BEB4 00228E14 7C 08 02 A6 */ mflr r0 /* 8022BEB8 00228E18 C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022BEBC 00228E1C 7C 85 23 78 */ mr r5, r4 /* 8022BEC0 00228E20 90 01 00 24 */ stw r0, 0x24(r1) /* 8022BEC4 00228E24 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8022BEC8 00228E28 7C 7F 1B 78 */ mr r31, r3 /* 8022BECC 00228E2C C0 03 07 B8 */ lfs f0, 0x7b8(r3) /* 8022BED0 00228E30 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 8022BED4 00228E34 4C 40 13 82 */ cror 2, 0, 2 /* 8022BED8 00228E38 40 82 00 A0 */ bne lbl_8022BF78 /* 8022BEDC 00228E3C 80 85 08 4C */ lwz r4, 0x84c(r5) /* 8022BEE0 00228E40 80 7F 00 04 */ lwz r3, 4(r31) /* 8022BEE4 00228E44 80 04 00 04 */ lwz r0, 4(r4) /* 8022BEE8 00228E48 7C 03 00 00 */ cmpw r3, r0 /* 8022BEEC 00228E4C 40 82 00 8C */ bne lbl_8022BF78 /* 8022BEF0 00228E50 81 84 00 00 */ lwz r12, 0(r4) /* 8022BEF4 00228E54 38 61 00 08 */ addi r3, r1, 8 /* 8022BEF8 00228E58 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 8022BEFC 00228E5C 7D 89 03 A6 */ mtctr r12 /* 8022BF00 00228E60 4E 80 04 21 */ bctrl /* 8022BF04 00228E64 C0 21 00 0C */ lfs f1, 0xc(r1) /* 8022BF08 00228E68 C0 1F 00 50 */ lfs f0, 0x50(r31) /* 8022BF0C 00228E6C C0 5F 02 FC */ lfs f2, 0x2fc(r31) /* 8022BF10 00228E70 EC A1 00 28 */ fsubs f5, f1, f0 /* 8022BF14 00228E74 C0 81 00 08 */ lfs f4, 8(r1) /* 8022BF18 00228E78 C0 3F 00 40 */ lfs f1, 0x40(r31) /* 8022BF1C 00228E7C EC 02 00 B2 */ fmuls f0, f2, f2 /* 8022BF20 00228E80 C0 61 00 10 */ lfs f3, 0x10(r1) /* 8022BF24 00228E84 C0 5F 00 60 */ lfs f2, 0x60(r31) /* 8022BF28 00228E88 EC 84 08 28 */ fsubs f4, f4, f1 /* 8022BF2C 00228E8C EC 25 01 72 */ fmuls f1, f5, f5 /* 8022BF30 00228E90 EC 43 10 28 */ fsubs f2, f3, f2 /* 8022BF34 00228E94 EC 24 09 3A */ fmadds f1, f4, f4, f1 /* 8022BF38 00228E98 EC 22 08 BA */ fmadds f1, f2, f2, f1 /* 8022BF3C 00228E9C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022BF40 00228EA0 4C 41 13 82 */ cror 2, 1, 2 /* 8022BF44 00228EA4 40 82 00 34 */ bne lbl_8022BF78 /* 8022BF48 00228EA8 C0 1F 03 00 */ lfs f0, 0x300(r31) /* 8022BF4C 00228EAC EC 00 00 32 */ fmuls f0, f0, f0 /* 8022BF50 00228EB0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022BF54 00228EB4 4C 40 13 82 */ cror 2, 0, 2 /* 8022BF58 00228EB8 40 82 00 20 */ bne lbl_8022BF78 /* 8022BF5C 00228EBC FC 20 12 10 */ fabs f1, f2 /* 8022BF60 00228EC0 C0 02 B5 C8 */ lfs f0, lbl_805AD2E8@sda21(r2) /* 8022BF64 00228EC4 FC 20 08 18 */ frsp f1, f1 /* 8022BF68 00228EC8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022BF6C 00228ECC 7C 00 00 26 */ mfcr r0 /* 8022BF70 00228ED0 54 03 0F FE */ srwi r3, r0, 0x1f /* 8022BF74 00228ED4 48 00 00 08 */ b lbl_8022BF7C lbl_8022BF78: /* 8022BF78 00228ED8 38 60 00 00 */ li r3, 0 lbl_8022BF7C: /* 8022BF7C 00228EDC 80 01 00 24 */ lwz r0, 0x24(r1) /* 8022BF80 00228EE0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8022BF84 00228EE4 7C 08 03 A6 */ mtlr r0 /* 8022BF88 00228EE8 38 21 00 20 */ addi r1, r1, 0x20 /* 8022BF8C 00228EEC 4E 80 00 20 */ blr .global ShouldAttack__12CElitePirateFR13CStateManagerf ShouldAttack__12CElitePirateFR13CStateManagerf: /* 8022BF90 00228EF0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8022BF94 00228EF4 7C 08 02 A6 */ mflr r0 /* 8022BF98 00228EF8 90 01 00 14 */ stw r0, 0x14(r1) /* 8022BF9C 00228EFC 80 A4 08 4C */ lwz r5, 0x84c(r4) /* 8022BFA0 00228F00 C0 03 02 FC */ lfs f0, 0x2fc(r3) /* 8022BFA4 00228F04 C0 45 00 50 */ lfs f2, 0x50(r5) /* 8022BFA8 00228F08 C0 23 00 50 */ lfs f1, 0x50(r3) /* 8022BFAC 00228F0C EC 00 00 32 */ fmuls f0, f0, f0 /* 8022BFB0 00228F10 C0 85 00 40 */ lfs f4, 0x40(r5) /* 8022BFB4 00228F14 EC A2 08 28 */ fsubs f5, f2, f1 /* 8022BFB8 00228F18 C0 23 00 40 */ lfs f1, 0x40(r3) /* 8022BFBC 00228F1C C0 65 00 60 */ lfs f3, 0x60(r5) /* 8022BFC0 00228F20 EC 84 08 28 */ fsubs f4, f4, f1 /* 8022BFC4 00228F24 C0 43 00 60 */ lfs f2, 0x60(r3) /* 8022BFC8 00228F28 EC 25 01 72 */ fmuls f1, f5, f5 /* 8022BFCC 00228F2C EC 43 10 28 */ fsubs f2, f3, f2 /* 8022BFD0 00228F30 EC 24 09 3A */ fmadds f1, f4, f4, f1 /* 8022BFD4 00228F34 EC 22 08 BA */ fmadds f1, f2, f2, f1 /* 8022BFD8 00228F38 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022BFDC 00228F3C 4C 40 13 82 */ cror 2, 0, 2 /* 8022BFE0 00228F40 40 82 00 28 */ bne lbl_8022C008 /* 8022BFE4 00228F44 81 83 00 00 */ lwz r12, 0(r3) /* 8022BFE8 00228F48 C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022BFEC 00228F4C 81 8C 01 E8 */ lwz r12, 0x1e8(r12) /* 8022BFF0 00228F50 7D 89 03 A6 */ mtctr r12 /* 8022BFF4 00228F54 4E 80 04 21 */ bctrl /* 8022BFF8 00228F58 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 8022BFFC 00228F5C 7C 00 00 34 */ cntlzw r0, r0 /* 8022C000 00228F60 54 03 D9 7E */ srwi r3, r0, 5 /* 8022C004 00228F64 48 00 00 08 */ b lbl_8022C00C lbl_8022C008: /* 8022C008 00228F68 38 60 00 00 */ li r3, 0 lbl_8022C00C: /* 8022C00C 00228F6C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8022C010 00228F70 7C 08 03 A6 */ mtlr r0 /* 8022C014 00228F74 38 21 00 10 */ addi r1, r1, 0x10 /* 8022C018 00228F78 4E 80 00 20 */ blr .global sub_8022c01c sub_8022c01c: /* 8022C01C 00228F7C 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 8022C020 00228F80 7C 08 02 A6 */ mflr r0 /* 8022C024 00228F84 90 01 00 B4 */ stw r0, 0xb4(r1) /* 8022C028 00228F88 DB E1 00 A0 */ stfd f31, 0xa0(r1) /* 8022C02C 00228F8C F3 E1 00 A8 */ psq_st f31, 168(r1), 0, qr0 /* 8022C030 00228F90 93 E1 00 9C */ stw r31, 0x9c(r1) /* 8022C034 00228F94 93 C1 00 98 */ stw r30, 0x98(r1) /* 8022C038 00228F98 93 A1 00 94 */ stw r29, 0x94(r1) /* 8022C03C 00228F9C 7C 7D 1B 78 */ mr r29, r3 /* 8022C040 00228FA0 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 8022C044 00228FA4 C0 23 07 B8 */ lfs f1, 0x7b8(r3) /* 8022C048 00228FA8 7C 9E 23 78 */ mr r30, r4 /* 8022C04C 00228FAC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022C050 00228FB0 4C 40 13 82 */ cror 2, 0, 2 /* 8022C054 00228FB4 40 82 02 08 */ bne lbl_8022C25C /* 8022C058 00228FB8 A0 65 00 00 */ lhz r3, 0(r5) /* 8022C05C 00228FBC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8022C060 00228FC0 7C 03 00 40 */ cmplw r3, r0 /* 8022C064 00228FC4 41 82 01 F8 */ beq lbl_8022C25C /* 8022C068 00228FC8 B0 61 00 08 */ sth r3, 8(r1) /* 8022C06C 00228FCC 7F C3 F3 78 */ mr r3, r30 /* 8022C070 00228FD0 38 81 00 08 */ addi r4, r1, 8 /* 8022C074 00228FD4 4B E2 05 31 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8022C078 00228FD8 7C 7F 1B 79 */ or. r31, r3, r3 /* 8022C07C 00228FDC 41 82 01 E0 */ beq lbl_8022C25C /* 8022C080 00228FE0 80 9E 08 4C */ lwz r4, 0x84c(r30) /* 8022C084 00228FE4 7F C5 F3 78 */ mr r5, r30 /* 8022C088 00228FE8 38 61 00 38 */ addi r3, r1, 0x38 /* 8022C08C 00228FEC C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022C090 00228FF0 81 84 00 00 */ lwz r12, 0(r4) /* 8022C094 00228FF4 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 8022C098 00228FF8 7D 89 03 A6 */ mtctr r12 /* 8022C09C 00228FFC 4E 80 04 21 */ bctrl /* 8022C0A0 00229000 C0 81 00 38 */ lfs f4, 0x38(r1) /* 8022C0A4 00229004 C0 61 00 3C */ lfs f3, 0x3c(r1) /* 8022C0A8 00229008 C0 41 00 40 */ lfs f2, 0x40(r1) /* 8022C0AC 0022900C D0 81 00 84 */ stfs f4, 0x84(r1) /* 8022C0B0 00229010 D0 61 00 88 */ stfs f3, 0x88(r1) /* 8022C0B4 00229014 D0 41 00 8C */ stfs f2, 0x8c(r1) /* 8022C0B8 00229018 C0 1D 00 50 */ lfs f0, 0x50(r29) /* 8022C0BC 0022901C C0 3D 00 40 */ lfs f1, 0x40(r29) /* 8022C0C0 00229020 EC 63 00 28 */ fsubs f3, f3, f0 /* 8022C0C4 00229024 C0 1D 00 60 */ lfs f0, 0x60(r29) /* 8022C0C8 00229028 EC 84 08 28 */ fsubs f4, f4, f1 /* 8022C0CC 0022902C C0 BD 03 00 */ lfs f5, 0x300(r29) /* 8022C0D0 00229030 EC 42 00 28 */ fsubs f2, f2, f0 /* 8022C0D4 00229034 EC 23 00 F2 */ fmuls f1, f3, f3 /* 8022C0D8 00229038 EC 05 01 72 */ fmuls f0, f5, f5 /* 8022C0DC 0022903C EC 24 09 3A */ fmadds f1, f4, f4, f1 /* 8022C0E0 00229040 EC 22 08 BA */ fmadds f1, f2, f2, f1 /* 8022C0E4 00229044 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022C0E8 00229048 4C 41 13 82 */ cror 2, 1, 2 /* 8022C0EC 0022904C 40 82 01 70 */ bne lbl_8022C25C /* 8022C0F0 00229050 7F A3 EB 78 */ mr r3, r29 /* 8022C0F4 00229054 7F C4 F3 78 */ mr r4, r30 /* 8022C0F8 00229058 81 9D 00 00 */ lwz r12, 0(r29) /* 8022C0FC 0022905C C0 22 B5 B8 */ lfs f1, lbl_805AD2D8@sda21(r2) /* 8022C100 00229060 81 8C 01 E8 */ lwz r12, 0x1e8(r12) /* 8022C104 00229064 7D 89 03 A6 */ mtctr r12 /* 8022C108 00229068 4E 80 04 21 */ bctrl /* 8022C10C 0022906C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022C110 00229070 40 82 01 4C */ bne lbl_8022C25C /* 8022C114 00229074 7F A4 EB 78 */ mr r4, r29 /* 8022C118 00229078 7F E5 FB 78 */ mr r5, r31 /* 8022C11C 0022907C 38 61 00 2C */ addi r3, r1, 0x2c /* 8022C120 00229080 4B FF C7 45 */ bl sub_80228864 /* 8022C124 00229084 C0 41 00 2C */ lfs f2, 0x2c(r1) /* 8022C128 00229088 7F A3 EB 78 */ mr r3, r29 /* 8022C12C 0022908C C0 21 00 30 */ lfs f1, 0x30(r1) /* 8022C130 00229090 7F C4 F3 78 */ mr r4, r30 /* 8022C134 00229094 C0 01 00 34 */ lfs f0, 0x34(r1) /* 8022C138 00229098 38 A1 00 78 */ addi r5, r1, 0x78 /* 8022C13C 0022909C D0 41 00 78 */ stfs f2, 0x78(r1) /* 8022C140 002290A0 38 C1 00 84 */ addi r6, r1, 0x84 /* 8022C144 002290A4 D0 21 00 7C */ stfs f1, 0x7c(r1) /* 8022C148 002290A8 D0 01 00 80 */ stfs f0, 0x80(r1) /* 8022C14C 002290AC 4B FC 8C 85 */ bl IsPatternObstructed__10CPatternedCFR13CStateManagerRC9CVector3fRC9CVector3f /* 8022C150 002290B0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022C154 002290B4 40 82 01 08 */ bne lbl_8022C25C /* 8022C158 002290B8 C0 1D 06 C0 */ lfs f0, 0x6c0(r29) /* 8022C15C 002290BC 7F C4 F3 78 */ mr r4, r30 /* 8022C160 002290C0 38 61 00 20 */ addi r3, r1, 0x20 /* 8022C164 002290C4 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8022C168 002290C8 C0 1D 06 B8 */ lfs f0, 0x6b8(r29) /* 8022C16C 002290CC D0 01 00 0C */ stfs f0, 0xc(r1) /* 8022C170 002290D0 C0 3D 06 C4 */ lfs f1, 0x6c4(r29) /* 8022C174 002290D4 C0 5D 06 C0 */ lfs f2, 0x6c0(r29) /* 8022C178 002290D8 C0 7D 06 BC */ lfs f3, 0x6bc(r29) /* 8022C17C 002290DC C0 1D 06 B8 */ lfs f0, 0x6b8(r29) /* 8022C180 002290E0 D0 01 00 68 */ stfs f0, 0x68(r1) /* 8022C184 002290E4 D0 61 00 6C */ stfs f3, 0x6c(r1) /* 8022C188 002290E8 D0 41 00 70 */ stfs f2, 0x70(r1) /* 8022C18C 002290EC D0 21 00 74 */ stfs f1, 0x74(r1) /* 8022C190 002290F0 48 00 46 D5 */ bl sub_80230864 /* 8022C194 002290F4 C0 41 00 20 */ lfs f2, 0x20(r1) /* 8022C198 002290F8 38 61 00 5C */ addi r3, r1, 0x5c /* 8022C19C 002290FC C0 21 00 24 */ lfs f1, 0x24(r1) /* 8022C1A0 00229100 38 81 00 78 */ addi r4, r1, 0x78 /* 8022C1A4 00229104 C0 01 00 28 */ lfs f0, 0x28(r1) /* 8022C1A8 00229108 38 A1 00 68 */ addi r5, r1, 0x68 /* 8022C1AC 0022910C D0 41 00 5C */ stfs f2, 0x5c(r1) /* 8022C1B0 00229110 38 C1 00 10 */ addi r6, r1, 0x10 /* 8022C1B4 00229114 38 E1 00 0C */ addi r7, r1, 0xc /* 8022C1B8 00229118 D0 21 00 60 */ stfs f1, 0x60(r1) /* 8022C1BC 0022911C D0 01 00 64 */ stfs f0, 0x64(r1) /* 8022C1C0 00229120 48 00 44 49 */ bl sub_80230608 /* 8022C1C4 00229124 C0 21 00 10 */ lfs f1, 0x10(r1) /* 8022C1C8 00229128 48 0E 8C 29 */ bl FastSinR__5CMathFf /* 8022C1CC 0022912C FF E0 08 90 */ fmr f31, f1 /* 8022C1D0 00229130 C0 21 00 10 */ lfs f1, 0x10(r1) /* 8022C1D4 00229134 48 0E 8B 71 */ bl FastCosR__5CMathFf /* 8022C1D8 00229138 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 8022C1DC 0022913C 38 61 00 14 */ addi r3, r1, 0x14 /* 8022C1E0 00229140 D0 21 00 54 */ stfs f1, 0x54(r1) /* 8022C1E4 00229144 38 9D 00 34 */ addi r4, r29, 0x34 /* 8022C1E8 00229148 38 A1 00 50 */ addi r5, r1, 0x50 /* 8022C1EC 0022914C D0 01 00 50 */ stfs f0, 0x50(r1) /* 8022C1F0 00229150 D3 E1 00 58 */ stfs f31, 0x58(r1) /* 8022C1F4 00229154 48 0E 68 8D */ bl Rotate__12CTransform4fCFRC9CVector3f /* 8022C1F8 00229158 C0 A2 B6 08 */ lfs f5, lbl_805AD328@sda21(r2) /* 8022C1FC 0022915C 7F A3 EB 78 */ mr r3, r29 /* 8022C200 00229160 C0 41 00 18 */ lfs f2, 0x18(r1) /* 8022C204 00229164 7F C4 F3 78 */ mr r4, r30 /* 8022C208 00229168 C0 21 00 1C */ lfs f1, 0x1c(r1) /* 8022C20C 0022916C 38 A1 00 78 */ addi r5, r1, 0x78 /* 8022C210 00229170 C0 01 00 14 */ lfs f0, 0x14(r1) /* 8022C214 00229174 EC 85 00 B2 */ fmuls f4, f5, f2 /* 8022C218 00229178 C0 C1 00 7C */ lfs f6, 0x7c(r1) /* 8022C21C 0022917C EC 45 00 72 */ fmuls f2, f5, f1 /* 8022C220 00229180 C0 61 00 80 */ lfs f3, 0x80(r1) /* 8022C224 00229184 EC 05 00 32 */ fmuls f0, f5, f0 /* 8022C228 00229188 C0 21 00 78 */ lfs f1, 0x78(r1) /* 8022C22C 0022918C EC 86 20 2A */ fadds f4, f6, f4 /* 8022C230 00229190 38 C1 00 44 */ addi r6, r1, 0x44 /* 8022C234 00229194 EC 43 10 2A */ fadds f2, f3, f2 /* 8022C238 00229198 EC 01 00 2A */ fadds f0, f1, f0 /* 8022C23C 0022919C D0 81 00 48 */ stfs f4, 0x48(r1) /* 8022C240 002291A0 D0 01 00 44 */ stfs f0, 0x44(r1) /* 8022C244 002291A4 D0 41 00 4C */ stfs f2, 0x4c(r1) /* 8022C248 002291A8 4B FC 8B 89 */ bl IsPatternObstructed__10CPatternedCFR13CStateManagerRC9CVector3fRC9CVector3f /* 8022C24C 002291AC 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 8022C250 002291B0 7C 00 00 34 */ cntlzw r0, r0 /* 8022C254 002291B4 54 03 D9 7E */ srwi r3, r0, 5 /* 8022C258 002291B8 48 00 00 08 */ b lbl_8022C260 lbl_8022C25C: /* 8022C25C 002291BC 38 60 00 00 */ li r3, 0 lbl_8022C260: /* 8022C260 002291C0 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, qr0 /* 8022C264 002291C4 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 8022C268 002291C8 CB E1 00 A0 */ lfd f31, 0xa0(r1) /* 8022C26C 002291CC 83 E1 00 9C */ lwz r31, 0x9c(r1) /* 8022C270 002291D0 83 C1 00 98 */ lwz r30, 0x98(r1) /* 8022C274 002291D4 83 A1 00 94 */ lwz r29, 0x94(r1) /* 8022C278 002291D8 7C 08 03 A6 */ mtlr r0 /* 8022C27C 002291DC 38 21 00 B0 */ addi r1, r1, 0xb0 /* 8022C280 002291E0 4E 80 00 20 */ blr .global ShouldFire__12CElitePirateFR13CStateManagerf ShouldFire__12CElitePirateFR13CStateManagerf: /* 8022C284 002291E4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8022C288 002291E8 7C 08 02 A6 */ mflr r0 /* 8022C28C 002291EC 90 01 00 14 */ stw r0, 0x14(r1) /* 8022C290 002291F0 38 A1 00 08 */ addi r5, r1, 8 /* 8022C294 002291F4 A0 03 07 72 */ lhz r0, 0x772(r3) /* 8022C298 002291F8 B0 01 00 08 */ sth r0, 8(r1) /* 8022C29C 002291FC 4B FF FD 81 */ bl sub_8022c01c /* 8022C2A0 00229200 80 01 00 14 */ lwz r0, 0x14(r1) /* 8022C2A4 00229204 7C 08 03 A6 */ mtlr r0 /* 8022C2A8 00229208 38 21 00 10 */ addi r1, r1, 0x10 /* 8022C2AC 0022920C 4E 80 00 20 */ blr .global ShouldTaunt__12CElitePirateFR13CStateManagerf ShouldTaunt__12CElitePirateFR13CStateManagerf: /* 8022C2B0 00229210 C0 23 07 BC */ lfs f1, 0x7bc(r3) /* 8022C2B4 00229214 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 8022C2B8 00229218 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022C2BC 0022921C 4C 40 13 82 */ cror 2, 0, 2 /* 8022C2C0 00229220 7C 00 00 26 */ mfcr r0 /* 8022C2C4 00229224 54 03 1F FE */ rlwinm r3, r0, 3, 0x1f, 0x1f /* 8022C2C8 00229228 4E 80 00 20 */ blr .global ShouldTurn__12CElitePirateFR13CStateManagerf ShouldTurn__12CElitePirateFR13CStateManagerf: /* 8022C2CC 0022922C 94 21 FF A0 */ stwu r1, -0x60(r1) /* 8022C2D0 00229230 7C 08 02 A6 */ mflr r0 /* 8022C2D4 00229234 90 01 00 64 */ stw r0, 0x64(r1) /* 8022C2D8 00229238 93 E1 00 5C */ stw r31, 0x5c(r1) /* 8022C2DC 0022923C 7C 7F 1B 78 */ mr r31, r3 /* 8022C2E0 00229240 80 84 08 4C */ lwz r4, 0x84c(r4) /* 8022C2E4 00229244 C0 23 00 50 */ lfs f1, 0x50(r3) /* 8022C2E8 00229248 38 61 00 10 */ addi r3, r1, 0x10 /* 8022C2EC 0022924C C0 84 00 50 */ lfs f4, 0x50(r4) /* 8022C2F0 00229250 C0 04 00 40 */ lfs f0, 0x40(r4) /* 8022C2F4 00229254 EC 44 08 28 */ fsubs f2, f4, f1 /* 8022C2F8 00229258 C0 3F 00 40 */ lfs f1, 0x40(r31) /* 8022C2FC 0022925C C0 A4 00 60 */ lfs f5, 0x60(r4) /* 8022C300 00229260 C0 7F 00 60 */ lfs f3, 0x60(r31) /* 8022C304 00229264 EC 20 08 28 */ fsubs f1, f0, f1 /* 8022C308 00229268 D0 01 00 34 */ stfs f0, 0x34(r1) /* 8022C30C 0022926C EC 65 18 28 */ fsubs f3, f5, f3 /* 8022C310 00229270 D0 81 00 38 */ stfs f4, 0x38(r1) /* 8022C314 00229274 D0 A1 00 3C */ stfs f5, 0x3c(r1) /* 8022C318 00229278 D0 21 00 40 */ stfs f1, 0x40(r1) /* 8022C31C 0022927C D0 41 00 44 */ stfs f2, 0x44(r1) /* 8022C320 00229280 D0 61 00 48 */ stfs f3, 0x48(r1) /* 8022C324 00229284 48 0E 7E DD */ bl __ct__9CVector2fFff /* 8022C328 00229288 C0 21 00 10 */ lfs f1, 0x10(r1) /* 8022C32C 0022928C 38 61 00 08 */ addi r3, r1, 8 /* 8022C330 00229290 C0 01 00 14 */ lfs f0, 0x14(r1) /* 8022C334 00229294 D0 21 00 20 */ stfs f1, 0x20(r1) /* 8022C338 00229298 D0 01 00 24 */ stfs f0, 0x24(r1) /* 8022C33C 0022929C C0 5F 00 48 */ lfs f2, 0x48(r31) /* 8022C340 002292A0 C0 3F 00 38 */ lfs f1, 0x38(r31) /* 8022C344 002292A4 C0 1F 00 58 */ lfs f0, 0x58(r31) /* 8022C348 002292A8 D0 21 00 28 */ stfs f1, 0x28(r1) /* 8022C34C 002292AC D0 41 00 2C */ stfs f2, 0x2c(r1) /* 8022C350 002292B0 D0 01 00 30 */ stfs f0, 0x30(r1) /* 8022C354 002292B4 48 0E 7E AD */ bl __ct__9CVector2fFff /* 8022C358 002292B8 C0 21 00 08 */ lfs f1, 8(r1) /* 8022C35C 002292BC 38 61 00 18 */ addi r3, r1, 0x18 /* 8022C360 002292C0 C0 01 00 0C */ lfs f0, 0xc(r1) /* 8022C364 002292C4 38 81 00 20 */ addi r4, r1, 0x20 /* 8022C368 002292C8 D0 21 00 18 */ stfs f1, 0x18(r1) /* 8022C36C 002292CC D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8022C370 002292D0 48 0E 7C 55 */ bl GetAngleDiff__9CVector2fFRC9CVector2fRC9CVector2f /* 8022C374 002292D4 C0 02 B6 0C */ lfs f0, lbl_805AD32C@sda21(r2) /* 8022C378 002292D8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022C37C 002292DC 7C 00 00 26 */ mfcr r0 /* 8022C380 002292E0 54 03 17 FE */ rlwinm r3, r0, 2, 0x1f, 0x1f /* 8022C384 002292E4 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 8022C388 002292E8 80 01 00 64 */ lwz r0, 0x64(r1) /* 8022C38C 002292EC 7C 08 03 A6 */ mtlr r0 /* 8022C390 002292F0 38 21 00 60 */ addi r1, r1, 0x60 /* 8022C394 002292F4 4E 80 00 20 */ blr .global InDetectionRange__12CElitePirateFR13CStateManagerf InDetectionRange__12CElitePirateFR13CStateManagerf: /* 8022C398 002292F8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8022C39C 002292FC 7C 08 02 A6 */ mflr r0 /* 8022C3A0 00229300 90 01 00 14 */ stw r0, 0x14(r1) /* 8022C3A4 00229304 88 03 09 88 */ lbz r0, 0x988(r3) /* 8022C3A8 00229308 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 8022C3AC 0022930C 41 82 00 0C */ beq lbl_8022C3B8 /* 8022C3B0 00229310 38 60 00 01 */ li r3, 1 /* 8022C3B4 00229314 48 00 00 08 */ b lbl_8022C3BC lbl_8022C3B8: /* 8022C3B8 00229318 4B FC 9F B5 */ bl InDetectionRange__10CPatternedFR13CStateManagerf lbl_8022C3BC: /* 8022C3BC 0022931C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8022C3C0 00229320 7C 08 03 A6 */ mtlr r0 /* 8022C3C4 00229324 38 21 00 10 */ addi r1, r1, 0x10 /* 8022C3C8 00229328 4E 80 00 20 */ blr .global SpotPlayer__12CElitePirateFR13CStateManagerf SpotPlayer__12CElitePirateFR13CStateManagerf: /* 8022C3CC 0022932C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8022C3D0 00229330 7C 08 02 A6 */ mflr r0 /* 8022C3D4 00229334 90 01 00 14 */ stw r0, 0x14(r1) /* 8022C3D8 00229338 88 03 09 88 */ lbz r0, 0x988(r3) /* 8022C3DC 0022933C 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f /* 8022C3E0 00229340 41 82 00 0C */ beq lbl_8022C3EC /* 8022C3E4 00229344 38 60 00 01 */ li r3, 1 /* 8022C3E8 00229348 48 00 00 08 */ b lbl_8022C3F0 lbl_8022C3EC: /* 8022C3EC 0022934C 4B FC 9E 11 */ bl SpotPlayer__10CPatternedFR13CStateManagerf lbl_8022C3F0: /* 8022C3F0 00229350 80 01 00 14 */ lwz r0, 0x14(r1) /* 8022C3F4 00229354 7C 08 03 A6 */ mtlr r0 /* 8022C3F8 00229358 38 21 00 10 */ addi r1, r1, 0x10 /* 8022C3FC 0022935C 4E 80 00 20 */ blr .global DoUserAnimEvent__12CElitePirateFR13CStateManagerRC13CInt32POINode14EUserEventType DoUserAnimEvent__12CElitePirateFR13CStateManagerRC13CInt32POINode14EUserEventType: /* 8022C400 00229360 94 21 FE 20 */ stwu r1, -0x1e0(r1) /* 8022C404 00229364 7C 08 02 A6 */ mflr r0 /* 8022C408 00229368 90 01 01 E4 */ stw r0, 0x1e4(r1) /* 8022C40C 0022936C DB E1 01 D0 */ stfd f31, 0x1d0(r1) /* 8022C410 00229370 F3 E1 01 D8 */ psq_st f31, 472(r1), 0, qr0 /* 8022C414 00229374 DB C1 01 C0 */ stfd f30, 0x1c0(r1) /* 8022C418 00229378 F3 C1 01 C8 */ psq_st f30, 456(r1), 0, qr0 /* 8022C41C 0022937C DB A1 01 B0 */ stfd f29, 0x1b0(r1) /* 8022C420 00229380 F3 A1 01 B8 */ psq_st f29, 440(r1), 0, qr0 /* 8022C424 00229384 BF 21 01 94 */ stmw r25, 0x194(r1) /* 8022C428 00229388 7C DF 33 78 */ mr r31, r6 /* 8022C42C 0022938C FF E0 08 90 */ fmr f31, f1 /* 8022C430 00229390 28 1F 00 17 */ cmplwi r31, 0x17 /* 8022C434 00229394 7C 7C 1B 78 */ mr r28, r3 /* 8022C438 00229398 7C 9D 23 78 */ mr r29, r4 /* 8022C43C 0022939C 7C BE 2B 78 */ mr r30, r5 /* 8022C440 002293A0 38 C0 00 00 */ li r6, 0 /* 8022C444 002293A4 41 81 03 64 */ bgt lbl_8022C7A8 /* 8022C448 002293A8 3C A0 80 3E */ lis r5, lbl_803E7DC0@ha /* 8022C44C 002293AC 57 E0 10 3A */ slwi r0, r31, 2 /* 8022C450 002293B0 38 A5 7D C0 */ addi r5, r5, lbl_803E7DC0@l /* 8022C454 002293B4 7C 05 00 2E */ lwzx r0, r5, r0 /* 8022C458 002293B8 7C 09 03 A6 */ mtctr r0 /* 8022C45C 002293BC 4E 80 04 20 */ bctr .global lbl_8022C460 lbl_8022C460: /* 8022C460 002293C0 A0 7C 07 72 */ lhz r3, 0x772(r28) /* 8022C464 002293C4 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8022C468 002293C8 7C 03 00 40 */ cmplw r3, r0 /* 8022C46C 002293CC 41 82 00 3C */ beq lbl_8022C4A8 /* 8022C470 002293D0 A0 1C 07 72 */ lhz r0, 0x772(r28) /* 8022C474 002293D4 7F A3 EB 78 */ mr r3, r29 /* 8022C478 002293D8 38 81 00 24 */ addi r4, r1, 0x24 /* 8022C47C 002293DC B0 01 00 24 */ sth r0, 0x24(r1) /* 8022C480 002293E0 4B E2 00 F5 */ bl ObjectById__13CStateManagerF9TUniqueId /* 8022C484 002293E4 7C 64 1B 79 */ or. r4, r3, r3 /* 8022C488 002293E8 41 82 00 20 */ beq lbl_8022C4A8 /* 8022C48C 002293EC A0 1C 00 08 */ lhz r0, 8(r28) /* 8022C490 002293F0 7F A3 EB 78 */ mr r3, r29 /* 8022C494 002293F4 38 A1 00 20 */ addi r5, r1, 0x20 /* 8022C498 002293F8 38 C0 00 13 */ li r6, 0x13 /* 8022C49C 002293FC B0 01 00 1C */ sth r0, 0x1c(r1) /* 8022C4A0 00229400 B0 01 00 20 */ sth r0, 0x20(r1) /* 8022C4A4 00229404 4B E1 7A 2D */ bl SendScriptMsg__13CStateManagerFP7CEntity9TUniqueId20EScriptObjectMessage lbl_8022C4A8: /* 8022C4A8 00229408 38 C0 00 01 */ li r6, 1 /* 8022C4AC 0022940C 48 00 02 FC */ b lbl_8022C7A8 .global lbl_8022C4B0 lbl_8022C4B0: /* 8022C4B0 00229410 7F 84 E3 78 */ mr r4, r28 /* 8022C4B4 00229414 38 61 00 FC */ addi r3, r1, 0xfc /* 8022C4B8 00229418 38 BE 00 3C */ addi r5, r30, 0x3c /* 8022C4BC 0022941C 4B E4 C4 BD */ bl "GetLctrTransform__10CPatternedCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 8022C4C0 00229420 38 61 01 5C */ addi r3, r1, 0x15c /* 8022C4C4 00229424 38 81 00 FC */ addi r4, r1, 0xfc /* 8022C4C8 00229428 48 0E 66 AD */ bl __ct__12CTransform4fFRC12CTransform4f /* 8022C4CC 0022942C C0 FC 00 50 */ lfs f7, 0x50(r28) /* 8022C4D0 00229430 38 61 00 CC */ addi r3, r1, 0xcc /* 8022C4D4 00229434 C0 01 01 78 */ lfs f0, 0x178(r1) /* 8022C4D8 00229438 38 81 00 6C */ addi r4, r1, 0x6c /* 8022C4DC 0022943C C1 1C 00 40 */ lfs f8, 0x40(r28) /* 8022C4E0 00229440 C0 21 01 68 */ lfs f1, 0x168(r1) /* 8022C4E4 00229444 EC 00 38 28 */ fsubs f0, f0, f7 /* 8022C4E8 00229448 C0 9C 00 48 */ lfs f4, 0x48(r28) /* 8022C4EC 0022944C EC 21 40 28 */ fsubs f1, f1, f8 /* 8022C4F0 00229450 C0 DC 00 60 */ lfs f6, 0x60(r28) /* 8022C4F4 00229454 C0 41 01 88 */ lfs f2, 0x188(r1) /* 8022C4F8 00229458 EC 00 01 32 */ fmuls f0, f0, f4 /* 8022C4FC 0022945C C0 7C 00 38 */ lfs f3, 0x38(r28) /* 8022C500 00229460 EC 42 30 28 */ fsubs f2, f2, f6 /* 8022C504 00229464 EC 01 00 FA */ fmadds f0, f1, f3, f0 /* 8022C508 00229468 C0 3C 00 58 */ lfs f1, 0x58(r28) /* 8022C50C 0022946C D1 01 00 60 */ stfs f8, 0x60(r1) /* 8022C510 00229470 EC A2 00 7A */ fmadds f5, f2, f1, f0 /* 8022C514 00229474 D0 E1 00 64 */ stfs f7, 0x64(r1) /* 8022C518 00229478 D0 C1 00 68 */ stfs f6, 0x68(r1) /* 8022C51C 0022947C EC 05 00 72 */ fmuls f0, f5, f1 /* 8022C520 00229480 EC 45 00 F2 */ fmuls f2, f5, f3 /* 8022C524 00229484 EC 25 01 32 */ fmuls f1, f5, f4 /* 8022C528 00229488 EC 06 00 2A */ fadds f0, f6, f0 /* 8022C52C 0022948C EC 48 10 2A */ fadds f2, f8, f2 /* 8022C530 00229490 EC 27 08 2A */ fadds f1, f7, f1 /* 8022C534 00229494 D0 01 00 74 */ stfs f0, 0x74(r1) /* 8022C538 00229498 D0 41 00 6C */ stfs f2, 0x6c(r1) /* 8022C53C 0022949C D0 21 00 70 */ stfs f1, 0x70(r1) /* 8022C540 002294A0 D0 C1 00 74 */ stfs f6, 0x74(r1) /* 8022C544 002294A4 48 0E 6B FD */ bl Translate__12CTransform4fFRC9CVector3f /* 8022C548 002294A8 38 61 01 2C */ addi r3, r1, 0x12c /* 8022C54C 002294AC 38 81 00 CC */ addi r4, r1, 0xcc /* 8022C550 002294B0 48 0E 66 25 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8022C554 002294B4 3C 60 80 3D */ lis r3, lbl_803D3310@ha /* 8022C558 002294B8 3B 40 00 00 */ li r26, 0 /* 8022C55C 002294BC 38 63 33 10 */ addi r3, r3, lbl_803D3310@l /* 8022C560 002294C0 3B 20 00 00 */ li r25, 0 /* 8022C564 002294C4 38 83 00 B8 */ addi r4, r3, 0xb8 /* 8022C568 002294C8 38 60 09 88 */ li r3, 0x988 /* 8022C56C 002294CC 38 A0 00 00 */ li r5, 0 /* 8022C570 002294D0 48 0E 92 FD */ bl __nw__FUlPCcPCc /* 8022C574 002294D4 7C 7B 1B 79 */ or. r27, r3, r3 /* 8022C578 002294D8 41 82 01 00 */ beq lbl_8022C678 /* 8022C57C 002294DC 7F 83 E3 78 */ mr r3, r28 /* 8022C580 002294E0 81 9C 00 00 */ lwz r12, 0(r28) /* 8022C584 002294E4 81 8C 02 D0 */ lwz r12, 0x2d0(r12) /* 8022C588 002294E8 7D 89 03 A6 */ mtctr r12 /* 8022C58C 002294EC 4E 80 04 21 */ bctrl /* 8022C590 002294F0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022C594 002294F4 41 82 00 0C */ beq lbl_8022C5A0 /* 8022C598 002294F8 C3 C2 B5 D0 */ lfs f30, lbl_805AD2F0@sda21(r2) /* 8022C59C 002294FC 48 00 00 08 */ b lbl_8022C5A4 lbl_8022C5A0: /* 8022C5A0 00229500 C3 C2 B5 BC */ lfs f30, lbl_805AD2DC@sda21(r2) lbl_8022C5A4: /* 8022C5A4 00229504 7F 83 E3 78 */ mr r3, r28 /* 8022C5A8 00229508 81 9C 00 00 */ lwz r12, 0(r28) /* 8022C5AC 0022950C 81 8C 02 D0 */ lwz r12, 0x2d0(r12) /* 8022C5B0 00229510 7D 89 03 A6 */ mtctr r12 /* 8022C5B4 00229514 4E 80 04 21 */ bctrl /* 8022C5B8 00229518 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022C5BC 0022951C 41 82 00 0C */ beq lbl_8022C5C8 /* 8022C5C0 00229520 C3 A2 B6 10 */ lfs f29, lbl_805AD330@sda21(r2) /* 8022C5C4 00229524 48 00 00 08 */ b lbl_8022C5CC lbl_8022C5C8: /* 8022C5C8 00229528 C3 A2 B6 14 */ lfs f29, lbl_805AD334@sda21(r2) lbl_8022C5CC: /* 8022C5CC 0022952C A0 FC 00 08 */ lhz r7, 8(r28) /* 8022C5D0 00229530 3C 60 80 57 */ lis r3, NullConnectionList__7CEntity@ha /* 8022C5D4 00229534 80 0D A3 88 */ lwz r0, kInvalidEditorId@sda21(r13) /* 8022C5D8 00229538 38 A3 D4 10 */ addi r5, r3, NullConnectionList__7CEntity@l /* 8022C5DC 0022953C B0 E1 00 18 */ sth r7, 0x18(r1) /* 8022C5E0 00229540 38 61 00 78 */ addi r3, r1, 0x78 /* 8022C5E4 00229544 38 81 00 40 */ addi r4, r1, 0x40 /* 8022C5E8 00229548 38 C1 00 44 */ addi r6, r1, 0x44 /* 8022C5EC 0022954C 90 01 00 44 */ stw r0, 0x44(r1) /* 8022C5F0 00229550 80 1C 00 04 */ lwz r0, 4(r28) /* 8022C5F4 00229554 B0 E1 00 14 */ sth r7, 0x14(r1) /* 8022C5F8 00229558 90 01 00 3C */ stw r0, 0x3c(r1) /* 8022C5FC 0022955C 90 01 00 40 */ stw r0, 0x40(r1) /* 8022C600 00229560 4B E2 4E 85 */ bl "__ct__11CEntityInfoF7TAreaIdRCQ24rstl48vector<11SConnection,Q24rstl17rmemory_allocator>9TEditorId" /* 8022C604 00229564 3C 80 80 3D */ lis r4, lbl_803D3310@ha /* 8022C608 00229568 38 61 00 50 */ addi r3, r1, 0x50 /* 8022C60C 0022956C 38 84 33 10 */ addi r4, r4, lbl_803D3310@l /* 8022C610 00229570 3B 40 00 01 */ li r26, 1 /* 8022C614 00229574 38 84 00 E8 */ addi r4, r4, 0xe8 /* 8022C618 00229578 4B DD 86 A1 */ bl string_l__4rstlFPCc /* 8022C61C 0022957C 7F A4 EB 78 */ mr r4, r29 /* 8022C620 00229580 38 61 00 0C */ addi r3, r1, 0xc /* 8022C624 00229584 3B 20 00 01 */ li r25, 1 /* 8022C628 00229588 4B E2 0A B5 */ bl AllocateUniqueId__13CStateManagerFv /* 8022C62C 0022958C A0 01 00 0C */ lhz r0, 0xc(r1) /* 8022C630 00229590 7F 84 E3 78 */ mr r4, r28 /* 8022C634 00229594 38 61 00 90 */ addi r3, r1, 0x90 /* 8022C638 00229598 B0 01 00 10 */ sth r0, 0x10(r1) /* 8022C63C 0022959C 81 9C 00 00 */ lwz r12, 0(r28) /* 8022C640 002295A0 81 8C 02 DC */ lwz r12, 0x2dc(r12) /* 8022C644 002295A4 7D 89 03 A6 */ mtctr r12 /* 8022C648 002295A8 4E 80 04 21 */ bctrl /* 8022C64C 002295AC FC 20 E8 90 */ fmr f1, f29 /* 8022C650 002295B0 7F 63 DB 78 */ mr r3, r27 /* 8022C654 002295B4 FC 40 F0 90 */ fmr f2, f30 /* 8022C658 002295B8 38 81 00 10 */ addi r4, r1, 0x10 /* 8022C65C 002295BC 38 A1 00 50 */ addi r5, r1, 0x50 /* 8022C660 002295C0 38 C1 00 78 */ addi r6, r1, 0x78 /* 8022C664 002295C4 38 E1 01 2C */ addi r7, r1, 0x12c /* 8022C668 002295C8 39 01 00 18 */ addi r8, r1, 0x18 /* 8022C66C 002295CC 39 21 00 90 */ addi r9, r1, 0x90 /* 8022C670 002295D0 48 00 5C E9 */ bl __ct__10CShockWaveFv /* 8022C674 002295D4 7C 7B 1B 78 */ mr r27, r3 lbl_8022C678: /* 8022C678 002295D8 7F 20 07 75 */ extsb. r0, r25 /* 8022C67C 002295DC 41 82 00 0C */ beq lbl_8022C688 /* 8022C680 002295E0 38 61 00 50 */ addi r3, r1, 0x50 /* 8022C684 002295E4 48 11 14 5D */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_8022C688: /* 8022C688 002295E8 7F 40 07 75 */ extsb. r0, r26 /* 8022C68C 002295EC 41 82 00 44 */ beq lbl_8022C6D0 /* 8022C690 002295F0 80 01 00 80 */ lwz r0, 0x80(r1) /* 8022C694 002295F4 80 61 00 88 */ lwz r3, 0x88(r1) /* 8022C698 002295F8 1C 00 00 0C */ mulli r0, r0, 0xc /* 8022C69C 002295FC 90 61 00 30 */ stw r3, 0x30(r1) /* 8022C6A0 00229600 7C 64 1B 78 */ mr r4, r3 /* 8022C6A4 00229604 7C 03 02 14 */ add r0, r3, r0 /* 8022C6A8 00229608 90 61 00 2C */ stw r3, 0x2c(r1) /* 8022C6AC 0022960C 90 01 00 38 */ stw r0, 0x38(r1) /* 8022C6B0 00229610 90 01 00 34 */ stw r0, 0x34(r1) /* 8022C6B4 00229614 48 00 00 08 */ b lbl_8022C6BC lbl_8022C6B8: /* 8022C6B8 00229618 38 84 00 0C */ addi r4, r4, 0xc lbl_8022C6BC: /* 8022C6BC 0022961C 7C 04 00 40 */ cmplw r4, r0 /* 8022C6C0 00229620 40 82 FF F8 */ bne lbl_8022C6B8 /* 8022C6C4 00229624 28 03 00 00 */ cmplwi r3, 0 /* 8022C6C8 00229628 41 82 00 08 */ beq lbl_8022C6D0 /* 8022C6CC 0022962C 48 0E 92 65 */ bl Free__7CMemoryFPCv lbl_8022C6D0: /* 8022C6D0 00229630 28 1B 00 00 */ cmplwi r27, 0 /* 8022C6D4 00229634 41 82 00 10 */ beq lbl_8022C6E4 /* 8022C6D8 00229638 7F A3 EB 78 */ mr r3, r29 /* 8022C6DC 0022963C 7F 64 DB 78 */ mr r4, r27 /* 8022C6E0 00229640 4B E2 06 15 */ bl AddObject__13CStateManagerFP7CEntity lbl_8022C6E4: /* 8022C6E4 00229644 38 C0 00 01 */ li r6, 1 /* 8022C6E8 00229648 48 00 00 C0 */ b lbl_8022C7A8 .global lbl_8022C6EC lbl_8022C6EC: /* 8022C6EC 0022964C 88 1C 09 88 */ lbz r0, 0x988(r28) /* 8022C6F0 00229650 38 60 00 01 */ li r3, 1 /* 8022C6F4 00229654 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8022C6F8 00229658 38 C0 00 01 */ li r6, 1 /* 8022C6FC 0022965C 98 1C 09 88 */ stb r0, 0x988(r28) /* 8022C700 00229660 48 00 00 A8 */ b lbl_8022C7A8 .global lbl_8022C704 lbl_8022C704: /* 8022C704 00229664 88 1C 09 88 */ lbz r0, 0x988(r28) /* 8022C708 00229668 38 60 00 00 */ li r3, 0 /* 8022C70C 0022966C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8022C710 00229670 38 C0 00 01 */ li r6, 1 /* 8022C714 00229674 98 1C 09 88 */ stb r0, 0x988(r28) /* 8022C718 00229678 48 00 00 90 */ b lbl_8022C7A8 .global lbl_8022C71C lbl_8022C71C: /* 8022C71C 0022967C 4B FF BC 8D */ bl sub_802283a8 /* 8022C720 00229680 38 C0 00 01 */ li r6, 1 /* 8022C724 00229684 48 00 00 84 */ b lbl_8022C7A8 .global lbl_8022C728 lbl_8022C728: /* 8022C728 00229688 81 83 00 00 */ lwz r12, 0(r3) /* 8022C72C 0022968C 81 8C 02 CC */ lwz r12, 0x2cc(r12) /* 8022C730 00229690 7D 89 03 A6 */ mtctr r12 /* 8022C734 00229694 4E 80 04 21 */ bctrl /* 8022C738 00229698 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022C73C 0022969C 41 82 00 68 */ beq lbl_8022C7A4 /* 8022C740 002296A0 3B 60 00 00 */ li r27, 0 /* 8022C744 002296A4 48 00 00 50 */ b lbl_8022C794 lbl_8022C748: /* 8022C748 002296A8 80 7C 07 30 */ lwz r3, 0x730(r28) /* 8022C74C 002296AC 7F 64 DB 78 */ mr r4, r27 /* 8022C750 002296B0 4B F7 AA E9 */ bl GetCollisionDescFromIndex__22CCollisionActorManagerCFUi /* 8022C754 002296B4 A0 03 00 3C */ lhz r0, 0x3c(r3) /* 8022C758 002296B8 7F A3 EB 78 */ mr r3, r29 /* 8022C75C 002296BC 38 81 00 08 */ addi r4, r1, 8 /* 8022C760 002296C0 B0 01 00 28 */ sth r0, 0x28(r1) /* 8022C764 002296C4 B0 01 00 08 */ sth r0, 8(r1) /* 8022C768 002296C8 4B E1 FE 0D */ bl ObjectById__13CStateManagerF9TUniqueId /* 8022C76C 002296CC 7C 64 1B 78 */ mr r4, r3 /* 8022C770 002296D0 38 61 00 48 */ addi r3, r1, 0x48 /* 8022C774 002296D4 4B E8 2B D9 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 8022C778 002296D8 80 63 00 04 */ lwz r3, 4(r3) /* 8022C77C 002296DC 28 03 00 00 */ cmplwi r3, 0 /* 8022C780 002296E0 41 82 00 10 */ beq lbl_8022C790 /* 8022C784 002296E4 7F A5 EB 78 */ mr r5, r29 /* 8022C788 002296E8 38 80 00 12 */ li r4, 0x12 /* 8022C78C 002296EC 4B E2 7B C5 */ bl AddMaterial__6CActorF14EMaterialTypesR13CStateManager lbl_8022C790: /* 8022C790 002296F0 3B 7B 00 01 */ addi r27, r27, 1 lbl_8022C794: /* 8022C794 002296F4 80 7C 07 30 */ lwz r3, 0x730(r28) /* 8022C798 002296F8 4B F7 AA B1 */ bl GetNumCollisionActors__22CCollisionActorManagerCFv /* 8022C79C 002296FC 7C 1B 18 40 */ cmplw r27, r3 /* 8022C7A0 00229700 41 80 FF A8 */ blt lbl_8022C748 lbl_8022C7A4: /* 8022C7A4 00229704 38 C0 00 01 */ li r6, 1 .global lbl_8022C7A8 lbl_8022C7A8: /* 8022C7A8 00229708 54 C0 06 3F */ clrlwi. r0, r6, 0x18 /* 8022C7AC 0022970C 40 82 00 1C */ bne lbl_8022C7C8 /* 8022C7B0 00229710 FC 20 F8 90 */ fmr f1, f31 /* 8022C7B4 00229714 7F 83 E3 78 */ mr r3, r28 /* 8022C7B8 00229718 7F A4 EB 78 */ mr r4, r29 /* 8022C7BC 0022971C 7F C5 F3 78 */ mr r5, r30 /* 8022C7C0 00229720 7F E6 FB 78 */ mr r6, r31 /* 8022C7C4 00229724 4B E4 C6 ED */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType lbl_8022C7C8: /* 8022C7C8 00229728 E3 E1 01 D8 */ psq_l f31, 472(r1), 0, qr0 /* 8022C7CC 0022972C CB E1 01 D0 */ lfd f31, 0x1d0(r1) /* 8022C7D0 00229730 E3 C1 01 C8 */ psq_l f30, 456(r1), 0, qr0 /* 8022C7D4 00229734 CB C1 01 C0 */ lfd f30, 0x1c0(r1) /* 8022C7D8 00229738 E3 A1 01 B8 */ psq_l f29, 440(r1), 0, qr0 /* 8022C7DC 0022973C CB A1 01 B0 */ lfd f29, 0x1b0(r1) /* 8022C7E0 00229740 BB 21 01 94 */ lmw r25, 0x194(r1) /* 8022C7E4 00229744 80 01 01 E4 */ lwz r0, 0x1e4(r1) /* 8022C7E8 00229748 7C 08 03 A6 */ mtlr r0 /* 8022C7EC 0022974C 38 21 01 E0 */ addi r1, r1, 0x1e0 /* 8022C7F0 00229750 4E 80 00 20 */ blr .global GetDamageVulnerability__12CElitePirateCFRC9CVector3fRC9CVector3fRC11CDamageInfo GetDamageVulnerability__12CElitePirateCFRC9CVector3fRC9CVector3fRC11CDamageInfo: /* 8022C7F4 00229754 3C 60 80 57 */ lis r3, sPassThroughVulnerability__20CDamageVulnerability@ha /* 8022C7F8 00229758 38 63 D7 E8 */ addi r3, r3, sPassThroughVulnerability__20CDamageVulnerability@l /* 8022C7FC 0022975C 4E 80 00 20 */ blr .global GetDamageVulnerability__12CElitePirateCFv GetDamageVulnerability__12CElitePirateCFv: /* 8022C800 00229760 3C 60 80 57 */ lis r3, sPassThroughVulnerability__20CDamageVulnerability@ha /* 8022C804 00229764 38 63 D7 E8 */ addi r3, r3, sPassThroughVulnerability__20CDamageVulnerability@l /* 8022C808 00229768 4E 80 00 20 */ blr .global TakeDamage__12CElitePirateFRC9CVector3ff TakeDamage__12CElitePirateFRC9CVector3ff: /* 8022C80C 0022976C 4E 80 00 20 */ blr .global GetOrbitPosition__12CElitePirateCFRC13CStateManager GetOrbitPosition__12CElitePirateCFRC13CStateManager: /* 8022C810 00229770 94 21 FF 90 */ stwu r1, -0x70(r1) /* 8022C814 00229774 7C 08 02 A6 */ mflr r0 /* 8022C818 00229778 90 01 00 74 */ stw r0, 0x74(r1) /* 8022C81C 0022977C 93 E1 00 6C */ stw r31, 0x6c(r1) /* 8022C820 00229780 7C BF 2B 78 */ mr r31, r5 /* 8022C824 00229784 93 C1 00 68 */ stw r30, 0x68(r1) /* 8022C828 00229788 7C 9E 23 78 */ mr r30, r4 /* 8022C82C 0022978C 93 A1 00 64 */ stw r29, 0x64(r1) /* 8022C830 00229790 7C 7D 1B 78 */ mr r29, r3 /* 8022C834 00229794 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8022C838 00229798 A0 84 07 72 */ lhz r4, 0x772(r4) /* 8022C83C 0022979C 7C 04 00 40 */ cmplw r4, r0 /* 8022C840 002297A0 41 82 00 40 */ beq lbl_8022C880 /* 8022C844 002297A4 80 7F 08 B8 */ lwz r3, 0x8b8(r31) /* 8022C848 002297A8 80 63 00 00 */ lwz r3, 0(r3) /* 8022C84C 002297AC 80 03 00 14 */ lwz r0, 0x14(r3) /* 8022C850 002297B0 2C 00 00 03 */ cmpwi r0, 3 /* 8022C854 002297B4 40 82 00 2C */ bne lbl_8022C880 /* 8022C858 002297B8 B0 81 00 10 */ sth r4, 0x10(r1) /* 8022C85C 002297BC 7F E3 FB 78 */ mr r3, r31 /* 8022C860 002297C0 38 81 00 10 */ addi r4, r1, 0x10 /* 8022C864 002297C4 4B E1 FD 41 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8022C868 002297C8 7C 65 1B 79 */ or. r5, r3, r3 /* 8022C86C 002297CC 41 82 00 14 */ beq lbl_8022C880 /* 8022C870 002297D0 7F A3 EB 78 */ mr r3, r29 /* 8022C874 002297D4 7F C4 F3 78 */ mr r4, r30 /* 8022C878 002297D8 4B FF BF ED */ bl sub_80228864 /* 8022C87C 002297DC 48 00 00 B4 */ b lbl_8022C930 lbl_8022C880: /* 8022C880 002297E0 7F C3 F3 78 */ mr r3, r30 /* 8022C884 002297E4 81 9E 00 00 */ lwz r12, 0(r30) /* 8022C888 002297E8 81 8C 02 CC */ lwz r12, 0x2cc(r12) /* 8022C88C 002297EC 7D 89 03 A6 */ mtctr r12 /* 8022C890 002297F0 4E 80 04 21 */ bctrl /* 8022C894 002297F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022C898 002297F8 41 82 00 4C */ beq lbl_8022C8E4 /* 8022C89C 002297FC A0 1E 07 70 */ lhz r0, 0x770(r30) /* 8022C8A0 00229800 7F E3 FB 78 */ mr r3, r31 /* 8022C8A4 00229804 38 81 00 0C */ addi r4, r1, 0xc /* 8022C8A8 00229808 B0 01 00 0C */ sth r0, 0xc(r1) /* 8022C8AC 0022980C 4B E1 FC F9 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8022C8B0 00229810 7C 64 1B 78 */ mr r4, r3 /* 8022C8B4 00229814 38 61 00 14 */ addi r3, r1, 0x14 /* 8022C8B8 00229818 4B E8 2A 95 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 8022C8BC 0022981C 80 63 00 04 */ lwz r3, 4(r3) /* 8022C8C0 00229820 28 03 00 00 */ cmplwi r3, 0 /* 8022C8C4 00229824 41 82 00 20 */ beq lbl_8022C8E4 /* 8022C8C8 00229828 C0 43 00 60 */ lfs f2, 0x60(r3) /* 8022C8CC 0022982C C0 23 00 50 */ lfs f1, 0x50(r3) /* 8022C8D0 00229830 C0 03 00 40 */ lfs f0, 0x40(r3) /* 8022C8D4 00229834 D0 1D 00 00 */ stfs f0, 0(r29) /* 8022C8D8 00229838 D0 3D 00 04 */ stfs f1, 4(r29) /* 8022C8DC 0022983C D0 5D 00 08 */ stfs f2, 8(r29) /* 8022C8E0 00229840 48 00 00 50 */ b lbl_8022C930 lbl_8022C8E4: /* 8022C8E4 00229844 3C 80 80 3D */ lis r4, lbl_803D3310@ha /* 8022C8E8 00229848 38 61 00 1C */ addi r3, r1, 0x1c /* 8022C8EC 0022984C 38 84 33 10 */ addi r4, r4, lbl_803D3310@l /* 8022C8F0 00229850 38 C1 00 08 */ addi r6, r1, 8 /* 8022C8F4 00229854 38 84 00 A5 */ addi r4, r4, 0xa5 /* 8022C8F8 00229858 38 A0 FF FF */ li r5, -1 /* 8022C8FC 0022985C 48 11 18 99 */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FPCciRCQ24rstl17rmemory_allocator" /* 8022C900 00229860 7F C4 F3 78 */ mr r4, r30 /* 8022C904 00229864 38 61 00 2C */ addi r3, r1, 0x2c /* 8022C908 00229868 38 A1 00 1C */ addi r5, r1, 0x1c /* 8022C90C 0022986C 4B E4 C0 6D */ bl "GetLctrTransform__10CPatternedCFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 8022C910 00229870 C0 41 00 58 */ lfs f2, 0x58(r1) /* 8022C914 00229874 38 61 00 1C */ addi r3, r1, 0x1c /* 8022C918 00229878 C0 21 00 48 */ lfs f1, 0x48(r1) /* 8022C91C 0022987C C0 01 00 38 */ lfs f0, 0x38(r1) /* 8022C920 00229880 D0 1D 00 00 */ stfs f0, 0(r29) /* 8022C924 00229884 D0 3D 00 04 */ stfs f1, 4(r29) /* 8022C928 00229888 D0 5D 00 08 */ stfs f2, 8(r29) /* 8022C92C 0022988C 48 11 11 B5 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" lbl_8022C930: /* 8022C930 00229890 80 01 00 74 */ lwz r0, 0x74(r1) /* 8022C934 00229894 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 8022C938 00229898 83 C1 00 68 */ lwz r30, 0x68(r1) /* 8022C93C 0022989C 83 A1 00 64 */ lwz r29, 0x64(r1) /* 8022C940 002298A0 7C 08 03 A6 */ mtlr r0 /* 8022C944 002298A4 38 21 00 70 */ addi r1, r1, 0x70 /* 8022C948 002298A8 4E 80 00 20 */ blr .global GetAimPosition__12CElitePirateCFRC13CStateManagerf GetAimPosition__12CElitePirateCFRC13CStateManagerf: /* 8022C94C 002298AC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8022C950 002298B0 7C 08 02 A6 */ mflr r0 /* 8022C954 002298B4 90 01 00 34 */ stw r0, 0x34(r1) /* 8022C958 002298B8 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8022C95C 002298BC 93 C1 00 28 */ stw r30, 0x28(r1) /* 8022C960 002298C0 7C BE 2B 78 */ mr r30, r5 /* 8022C964 002298C4 93 A1 00 24 */ stw r29, 0x24(r1) /* 8022C968 002298C8 7C 9D 23 78 */ mr r29, r4 /* 8022C96C 002298CC 93 81 00 20 */ stw r28, 0x20(r1) /* 8022C970 002298D0 7C 7C 1B 78 */ mr r28, r3 /* 8022C974 002298D4 80 85 08 B8 */ lwz r4, 0x8b8(r5) /* 8022C978 002298D8 80 7D 05 D4 */ lwz r3, 0x5d4(r29) /* 8022C97C 002298DC 83 E4 00 00 */ lwz r31, 0(r4) /* 8022C980 002298E0 4B F7 AA 3D */ bl GetActive__22CCollisionActorManagerCFv /* 8022C984 002298E4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022C988 002298E8 41 82 00 64 */ beq lbl_8022C9EC /* 8022C98C 002298EC 88 1F 00 00 */ lbz r0, 0(r31) /* 8022C990 002298F0 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 8022C994 002298F4 41 82 00 58 */ beq lbl_8022C9EC /* 8022C998 002298F8 80 1F 00 08 */ lwz r0, 8(r31) /* 8022C99C 002298FC 2C 00 00 02 */ cmpwi r0, 2 /* 8022C9A0 00229900 40 82 00 4C */ bne lbl_8022C9EC /* 8022C9A4 00229904 A0 1D 07 9C */ lhz r0, 0x79c(r29) /* 8022C9A8 00229908 7F C3 F3 78 */ mr r3, r30 /* 8022C9AC 0022990C 38 81 00 08 */ addi r4, r1, 8 /* 8022C9B0 00229910 B0 01 00 08 */ sth r0, 8(r1) /* 8022C9B4 00229914 4B E1 FB F1 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8022C9B8 00229918 7C 64 1B 78 */ mr r4, r3 /* 8022C9BC 0022991C 38 61 00 0C */ addi r3, r1, 0xc /* 8022C9C0 00229920 4B E8 29 8D */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 8022C9C4 00229924 80 63 00 04 */ lwz r3, 4(r3) /* 8022C9C8 00229928 28 03 00 00 */ cmplwi r3, 0 /* 8022C9CC 0022992C 41 82 00 20 */ beq lbl_8022C9EC /* 8022C9D0 00229930 C0 43 00 60 */ lfs f2, 0x60(r3) /* 8022C9D4 00229934 C0 23 00 50 */ lfs f1, 0x50(r3) /* 8022C9D8 00229938 C0 03 00 40 */ lfs f0, 0x40(r3) /* 8022C9DC 0022993C D0 1C 00 00 */ stfs f0, 0(r28) /* 8022C9E0 00229940 D0 3C 00 04 */ stfs f1, 4(r28) /* 8022C9E4 00229944 D0 5C 00 08 */ stfs f2, 8(r28) /* 8022C9E8 00229948 48 00 00 20 */ b lbl_8022CA08 lbl_8022C9EC: /* 8022C9EC 0022994C 7F A4 EB 78 */ mr r4, r29 /* 8022C9F0 00229950 7F 83 E3 78 */ mr r3, r28 /* 8022C9F4 00229954 81 9D 00 00 */ lwz r12, 0(r29) /* 8022C9F8 00229958 7F C5 F3 78 */ mr r5, r30 /* 8022C9FC 0022995C 81 8C 00 48 */ lwz r12, 0x48(r12) /* 8022CA00 00229960 7D 89 03 A6 */ mtctr r12 /* 8022CA04 00229964 4E 80 04 21 */ bctrl lbl_8022CA08: /* 8022CA08 00229968 80 01 00 34 */ lwz r0, 0x34(r1) /* 8022CA0C 0022996C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8022CA10 00229970 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8022CA14 00229974 83 A1 00 24 */ lwz r29, 0x24(r1) /* 8022CA18 00229978 83 81 00 20 */ lwz r28, 0x20(r1) /* 8022CA1C 0022997C 7C 08 03 A6 */ mtlr r0 /* 8022CA20 00229980 38 21 00 30 */ addi r1, r1, 0x30 /* 8022CA24 00229984 4E 80 00 20 */ blr .global KnockBack__12CElitePirateFRC9CVector3fR13CStateManagerRC11CDamageInfo14EKnockBackTypef KnockBack__12CElitePirateFRC9CVector3fR13CStateManagerRC11CDamageInfo14EKnockBackTypef: /* 8022CA28 00229988 94 21 FF A0 */ stwu r1, -0x60(r1) /* 8022CA2C 0022998C 7C 08 02 A6 */ mflr r0 /* 8022CA30 00229990 90 01 00 64 */ stw r0, 0x64(r1) /* 8022CA34 00229994 DB E1 00 50 */ stfd f31, 0x50(r1) /* 8022CA38 00229998 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 8022CA3C 0022999C BF 41 00 38 */ stmw r26, 0x38(r1) /* 8022CA40 002299A0 FF E0 08 90 */ fmr f31, f1 /* 8022CA44 002299A4 7C DD 33 78 */ mr r29, r6 /* 8022CA48 002299A8 7C 9B 23 78 */ mr r27, r4 /* 8022CA4C 002299AC 7C 7A 1B 78 */ mr r26, r3 /* 8022CA50 002299B0 7C BC 2B 78 */ mr r28, r5 /* 8022CA54 002299B4 7C FE 3B 78 */ mr r30, r7 /* 8022CA58 002299B8 7D 1F 43 78 */ mr r31, r8 /* 8022CA5C 002299BC 7F A4 EB 78 */ mr r4, r29 /* 8022CA60 002299C0 4B FF A9 D1 */ bl sub_80227430 /* 8022CA64 002299C4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022CA68 002299C8 41 82 00 A4 */ beq lbl_8022CB0C /* 8022CA6C 002299CC FC 20 F8 90 */ fmr f1, f31 /* 8022CA70 002299D0 7F 43 D3 78 */ mr r3, r26 /* 8022CA74 002299D4 7F 64 DB 78 */ mr r4, r27 /* 8022CA78 002299D8 7F 85 E3 78 */ mr r5, r28 /* 8022CA7C 002299DC 7F A6 EB 78 */ mr r6, r29 /* 8022CA80 002299E0 7F C7 F3 78 */ mr r7, r30 /* 8022CA84 002299E4 7F E8 FB 78 */ mr r8, r31 /* 8022CA88 002299E8 4B E4 DC F5 */ bl KnockBack__10CPatternedFRC9CVector3fR13CStateManagerRC11CDamageInfo14EKnockBackTypef /* 8022CA8C 002299EC 88 1D 00 04 */ lbz r0, 4(r29) /* 8022CA90 002299F0 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f /* 8022CA94 002299F4 41 82 00 78 */ beq lbl_8022CB0C /* 8022CA98 002299F8 80 1D 00 00 */ lwz r0, 0(r29) /* 8022CA9C 002299FC 2C 00 00 01 */ cmpwi r0, 1 /* 8022CAA0 00229A00 40 82 00 6C */ bne lbl_8022CB0C /* 8022CAA4 00229A04 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 8022CAA8 00229A08 7F 65 DB 78 */ mr r5, r27 /* 8022CAAC 00229A0C 38 61 00 14 */ addi r3, r1, 0x14 /* 8022CAB0 00229A10 38 9A 00 34 */ addi r4, r26, 0x34 /* 8022CAB4 00229A14 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 8022CAB8 00229A18 D0 01 00 30 */ stfs f0, 0x30(r1) /* 8022CABC 00229A1C D0 01 00 34 */ stfs f0, 0x34(r1) /* 8022CAC0 00229A20 48 0E 5F 65 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f /* 8022CAC4 00229A24 38 61 00 20 */ addi r3, r1, 0x20 /* 8022CAC8 00229A28 38 81 00 14 */ addi r4, r1, 0x14 /* 8022CACC 00229A2C 48 0E 73 05 */ bl __ct__13CUnitVector3fFRC9CVector3f /* 8022CAD0 00229A30 80 C1 00 20 */ lwz r6, 0x20(r1) /* 8022CAD4 00229A34 7F 43 D3 78 */ mr r3, r26 /* 8022CAD8 00229A38 80 E1 00 24 */ lwz r7, 0x24(r1) /* 8022CADC 00229A3C 7F 84 E3 78 */ mr r4, r28 /* 8022CAE0 00229A40 80 01 00 28 */ lwz r0, 0x28(r1) /* 8022CAE4 00229A44 38 A1 00 2C */ addi r5, r1, 0x2c /* 8022CAE8 00229A48 90 C1 00 08 */ stw r6, 8(r1) /* 8022CAEC 00229A4C 38 C1 00 08 */ addi r6, r1, 8 /* 8022CAF0 00229A50 C0 22 B5 F8 */ lfs f1, lbl_805AD318@sda21(r2) /* 8022CAF4 00229A54 90 E1 00 0C */ stw r7, 0xc(r1) /* 8022CAF8 00229A58 90 01 00 10 */ stw r0, 0x10(r1) /* 8022CAFC 00229A5C 81 9A 00 00 */ lwz r12, 0(r26) /* 8022CB00 00229A60 81 8C 02 90 */ lwz r12, 0x290(r12) /* 8022CB04 00229A64 7D 89 03 A6 */ mtctr r12 /* 8022CB08 00229A68 4E 80 04 21 */ bctrl lbl_8022CB0C: /* 8022CB0C 00229A6C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 8022CB10 00229A70 CB E1 00 50 */ lfd f31, 0x50(r1) /* 8022CB14 00229A74 BB 41 00 38 */ lmw r26, 0x38(r1) /* 8022CB18 00229A78 80 01 00 64 */ lwz r0, 0x64(r1) /* 8022CB1C 00229A7C 7C 08 03 A6 */ mtlr r0 /* 8022CB20 00229A80 38 21 00 60 */ addi r1, r1, 0x60 /* 8022CB24 00229A84 4E 80 00 20 */ blr .global PreRender__12CElitePirateFR13CStateManagerRC14CFrustumPlanes PreRender__12CElitePirateFR13CStateManagerRC14CFrustumPlanes: /* 8022CB28 00229A88 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8022CB2C 00229A8C 7C 08 02 A6 */ mflr r0 /* 8022CB30 00229A90 90 01 00 34 */ stw r0, 0x34(r1) /* 8022CB34 00229A94 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8022CB38 00229A98 7C 9F 23 78 */ mr r31, r4 /* 8022CB3C 00229A9C 93 C1 00 28 */ stw r30, 0x28(r1) /* 8022CB40 00229AA0 7C 7E 1B 78 */ mr r30, r3 /* 8022CB44 00229AA4 4B E4 B7 99 */ bl PreRender__10CPatternedFR13CStateManagerRC14CFrustumPlanes /* 8022CB48 00229AA8 80 BE 00 64 */ lwz r5, 0x64(r30) /* 8022CB4C 00229AAC 7F E4 FB 78 */ mr r4, r31 /* 8022CB50 00229AB0 81 1E 04 50 */ lwz r8, 0x450(r30) /* 8022CB54 00229AB4 38 7E 06 F8 */ addi r3, r30, 0x6f8 /* 8022CB58 00229AB8 C0 05 00 00 */ lfs f0, 0(r5) /* 8022CB5C 00229ABC 38 DE 00 34 */ addi r6, r30, 0x34 /* 8022CB60 00229AC0 38 E1 00 10 */ addi r7, r1, 0x10 /* 8022CB64 00229AC4 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8022CB68 00229AC8 C0 05 00 04 */ lfs f0, 4(r5) /* 8022CB6C 00229ACC D0 01 00 14 */ stfs f0, 0x14(r1) /* 8022CB70 00229AD0 C0 05 00 08 */ lfs f0, 8(r5) /* 8022CB74 00229AD4 D0 01 00 18 */ stfs f0, 0x18(r1) /* 8022CB78 00229AD8 80 BE 00 64 */ lwz r5, 0x64(r30) /* 8022CB7C 00229ADC 80 A5 00 10 */ lwz r5, 0x10(r5) /* 8022CB80 00229AE0 4B F4 8D 91 */ bl PreRender__13CBoneTrackingFRC13CStateManagerR9CAnimDataRC12CTransform4fRC9CVector3fRC15CBodyController /* 8022CB84 00229AE4 80 7E 00 64 */ lwz r3, 0x64(r30) /* 8022CB88 00229AE8 4B EE 80 C1 */ bl GetNumMaterialSets__10CModelDataCFv /* 8022CB8C 00229AEC 38 83 FF FF */ addi r4, r3, -1 /* 8022CB90 00229AF0 38 61 00 0C */ addi r3, r1, 0xc /* 8022CB94 00229AF4 90 81 00 08 */ stw r4, 8(r1) /* 8022CB98 00229AF8 80 1E 07 CC */ lwz r0, 0x7cc(r30) /* 8022CB9C 00229AFC 7C 04 00 00 */ cmpw r4, r0 /* 8022CBA0 00229B00 90 01 00 0C */ stw r0, 0xc(r1) /* 8022CBA4 00229B04 40 80 00 08 */ bge lbl_8022CBAC /* 8022CBA8 00229B08 38 61 00 08 */ addi r3, r1, 8 lbl_8022CBAC: /* 8022CBAC 00229B0C 80 63 00 00 */ lwz r3, 0(r3) /* 8022CBB0 00229B10 98 7E 00 B5 */ stb r3, 0xb5(r30) /* 8022CBB4 00229B14 80 01 00 34 */ lwz r0, 0x34(r1) /* 8022CBB8 00229B18 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8022CBBC 00229B1C 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8022CBC0 00229B20 7C 08 03 A6 */ mtlr r0 /* 8022CBC4 00229B24 38 21 00 30 */ addi r1, r1, 0x30 /* 8022CBC8 00229B28 4E 80 00 20 */ blr .global AcceptScriptMsg__12CElitePirateF20EScriptObjectMessage9TUniqueIdR13CStateManager AcceptScriptMsg__12CElitePirateF20EScriptObjectMessage9TUniqueIdR13CStateManager: /* 8022CBCC 00229B2C 94 21 FE 70 */ stwu r1, -0x190(r1) /* 8022CBD0 00229B30 7C 08 02 A6 */ mflr r0 /* 8022CBD4 00229B34 90 01 01 94 */ stw r0, 0x194(r1) /* 8022CBD8 00229B38 DB E1 01 80 */ stfd f31, 0x180(r1) /* 8022CBDC 00229B3C F3 E1 01 88 */ psq_st f31, 392(r1), 0, qr0 /* 8022CBE0 00229B40 BF 41 01 68 */ stmw r26, 0x168(r1) /* 8022CBE4 00229B44 7C 9C 23 78 */ mr r28, r4 /* 8022CBE8 00229B48 7C 7D 1B 78 */ mr r29, r3 /* 8022CBEC 00229B4C 28 1C 00 2A */ cmplwi r28, 0x2a /* 8022CBF0 00229B50 7C BE 2B 78 */ mr r30, r5 /* 8022CBF4 00229B54 7C DF 33 78 */ mr r31, r6 /* 8022CBF8 00229B58 3B 60 00 01 */ li r27, 1 /* 8022CBFC 00229B5C 41 81 07 48 */ bgt lbl_8022D344 /* 8022CC00 00229B60 3C 80 80 3E */ lis r4, lbl_803E7E20@ha /* 8022CC04 00229B64 57 80 10 3A */ slwi r0, r28, 2 /* 8022CC08 00229B68 38 84 7E 20 */ addi r4, r4, lbl_803E7E20@l /* 8022CC0C 00229B6C 7C 04 00 2E */ lwzx r0, r4, r0 /* 8022CC10 00229B70 7C 09 03 A6 */ mtctr r0 /* 8022CC14 00229B74 4E 80 04 20 */ bctr .global lbl_8022CC18 lbl_8022CC18: /* 8022CC18 00229B78 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8022CC1C 00229B7C 7F E4 FB 78 */ mr r4, r31 /* 8022CC20 00229B80 4B F0 E0 D1 */ bl Activate__15CBodyControllerFR13CStateManager /* 8022CC24 00229B84 7F A3 EB 78 */ mr r3, r29 /* 8022CC28 00229B88 7F E4 FB 78 */ mr r4, r31 /* 8022CC2C 00229B8C 4B FF CF 99 */ bl sub_80229bc4 /* 8022CC30 00229B90 7F E4 FB 78 */ mr r4, r31 /* 8022CC34 00229B94 38 61 00 7C */ addi r3, r1, 0x7c /* 8022CC38 00229B98 4B E2 04 A5 */ bl AllocateUniqueId__13CStateManagerFv /* 8022CC3C 00229B9C A0 01 00 7C */ lhz r0, 0x7c(r1) /* 8022CC40 00229BA0 7F A3 EB 78 */ mr r3, r29 /* 8022CC44 00229BA4 7F E4 FB 78 */ mr r4, r31 /* 8022CC48 00229BA8 38 A1 00 78 */ addi r5, r1, 0x78 /* 8022CC4C 00229BAC B0 1D 07 72 */ sth r0, 0x772(r29) /* 8022CC50 00229BB0 A0 1D 07 72 */ lhz r0, 0x772(r29) /* 8022CC54 00229BB4 B0 01 00 78 */ sth r0, 0x78(r1) /* 8022CC58 00229BB8 4B FF BE 55 */ bl sub_80228aac /* 8022CC5C 00229BBC 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8022CC60 00229BC0 38 63 02 A4 */ addi r3, r3, 0x2a4 /* 8022CC64 00229BC4 4B F0 72 49 */ bl GetMaxSpeed__14CBodyStateInfoCFv /* 8022CC68 00229BC8 FF E0 08 90 */ fmr f31, f1 /* 8022CC6C 00229BCC C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 8022CC70 00229BD0 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 8022CC74 00229BD4 40 81 00 24 */ ble lbl_8022CC98 /* 8022CC78 00229BD8 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8022CC7C 00229BDC 38 80 00 01 */ li r4, 1 /* 8022CC80 00229BE0 38 63 02 A4 */ addi r3, r3, 0x2a4 /* 8022CC84 00229BE4 4B F0 71 51 */ bl GetLocomotionSpeed__14CBodyStateInfoCFQ23pas15ELocomotionAnim /* 8022CC88 00229BE8 C0 02 B6 18 */ lfs f0, lbl_805AD338@sda21(r2) /* 8022CC8C 00229BEC EC 00 00 72 */ fmuls f0, f0, f1 /* 8022CC90 00229BF0 EC 00 F8 24 */ fdivs f0, f0, f31 /* 8022CC94 00229BF4 D0 1D 07 A4 */ stfs f0, 0x7a4(r29) lbl_8022CC98: /* 8022CC98 00229BF8 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8022CC9C 00229BFC 38 00 00 01 */ li r0, 1 /* 8022CCA0 00229C00 90 03 00 34 */ stw r0, 0x34(r3) /* 8022CCA4 00229C04 C0 3D 07 A4 */ lfs f1, 0x7a4(r29) /* 8022CCA8 00229C08 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8022CCAC 00229C0C FC 40 08 90 */ fmr f2, f1 /* 8022CCB0 00229C10 38 63 00 04 */ addi r3, r3, 4 /* 8022CCB4 00229C14 4B F0 4B 35 */ bl SetSteeringSpeedRange__16CBodyStateCmdMgrFff /* 8022CCB8 00229C18 48 00 06 8C */ b lbl_8022D344 .global lbl_8022CCBC lbl_8022CCBC: /* 8022CCBC 00229C1C 81 83 00 00 */ lwz r12, 0(r3) /* 8022CCC0 00229C20 81 8C 02 CC */ lwz r12, 0x2cc(r12) /* 8022CCC4 00229C24 7D 89 03 A6 */ mtctr r12 /* 8022CCC8 00229C28 4E 80 04 21 */ bctrl /* 8022CCCC 00229C2C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022CCD0 00229C30 41 82 00 14 */ beq lbl_8022CCE4 /* 8022CCD4 00229C34 80 7D 07 30 */ lwz r3, 0x730(r29) /* 8022CCD8 00229C38 7F E4 FB 78 */ mr r4, r31 /* 8022CCDC 00229C3C 38 A0 00 01 */ li r5, 1 /* 8022CCE0 00229C40 4B F7 A6 19 */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb lbl_8022CCE4: /* 8022CCE4 00229C44 A0 1D 07 72 */ lhz r0, 0x772(r29) /* 8022CCE8 00229C48 7F E3 FB 78 */ mr r3, r31 /* 8022CCEC 00229C4C 38 81 00 74 */ addi r4, r1, 0x74 /* 8022CCF0 00229C50 B0 01 00 74 */ sth r0, 0x74(r1) /* 8022CCF4 00229C54 4B E1 F8 81 */ bl ObjectById__13CStateManagerF9TUniqueId /* 8022CCF8 00229C58 28 03 00 00 */ cmplwi r3, 0 /* 8022CCFC 00229C5C 41 82 06 48 */ beq lbl_8022D344 /* 8022CD00 00229C60 81 83 00 00 */ lwz r12, 0(r3) /* 8022CD04 00229C64 38 80 00 01 */ li r4, 1 /* 8022CD08 00229C68 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 8022CD0C 00229C6C 7D 89 03 A6 */ mtctr r12 /* 8022CD10 00229C70 4E 80 04 21 */ bctrl /* 8022CD14 00229C74 48 00 06 30 */ b lbl_8022D344 .global lbl_8022CD18 lbl_8022CD18: /* 8022CD18 00229C78 81 83 00 00 */ lwz r12, 0(r3) /* 8022CD1C 00229C7C 81 8C 02 CC */ lwz r12, 0x2cc(r12) /* 8022CD20 00229C80 7D 89 03 A6 */ mtctr r12 /* 8022CD24 00229C84 4E 80 04 21 */ bctrl /* 8022CD28 00229C88 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022CD2C 00229C8C 41 82 00 14 */ beq lbl_8022CD40 /* 8022CD30 00229C90 80 7D 07 30 */ lwz r3, 0x730(r29) /* 8022CD34 00229C94 7F E4 FB 78 */ mr r4, r31 /* 8022CD38 00229C98 38 A0 00 00 */ li r5, 0 /* 8022CD3C 00229C9C 4B F7 A5 BD */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb lbl_8022CD40: /* 8022CD40 00229CA0 80 7D 05 D4 */ lwz r3, 0x5d4(r29) /* 8022CD44 00229CA4 7F E4 FB 78 */ mr r4, r31 /* 8022CD48 00229CA8 38 A0 00 00 */ li r5, 0 /* 8022CD4C 00229CAC 4B F7 A5 AD */ bl SetActive__22CCollisionActorManagerFR13CStateManagerb /* 8022CD50 00229CB0 A0 1D 07 72 */ lhz r0, 0x772(r29) /* 8022CD54 00229CB4 7F E3 FB 78 */ mr r3, r31 /* 8022CD58 00229CB8 38 81 00 70 */ addi r4, r1, 0x70 /* 8022CD5C 00229CBC B0 01 00 70 */ sth r0, 0x70(r1) /* 8022CD60 00229CC0 4B E1 F8 15 */ bl ObjectById__13CStateManagerF9TUniqueId /* 8022CD64 00229CC4 28 03 00 00 */ cmplwi r3, 0 /* 8022CD68 00229CC8 41 82 05 DC */ beq lbl_8022D344 /* 8022CD6C 00229CCC 81 83 00 00 */ lwz r12, 0(r3) /* 8022CD70 00229CD0 38 80 00 00 */ li r4, 0 /* 8022CD74 00229CD4 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 8022CD78 00229CD8 7D 89 03 A6 */ mtctr r12 /* 8022CD7C 00229CDC 4E 80 04 21 */ bctrl /* 8022CD80 00229CE0 48 00 05 C4 */ b lbl_8022D344 .global lbl_8022CD84 lbl_8022CD84: /* 8022CD84 00229CE4 81 83 00 00 */ lwz r12, 0(r3) /* 8022CD88 00229CE8 81 8C 02 CC */ lwz r12, 0x2cc(r12) /* 8022CD8C 00229CEC 7D 89 03 A6 */ mtctr r12 /* 8022CD90 00229CF0 4E 80 04 21 */ bctrl /* 8022CD94 00229CF4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022CD98 00229CF8 41 82 00 10 */ beq lbl_8022CDA8 /* 8022CD9C 00229CFC 80 7D 07 30 */ lwz r3, 0x730(r29) /* 8022CDA0 00229D00 7F E4 FB 78 */ mr r4, r31 /* 8022CDA4 00229D04 4B F7 A6 21 */ bl Destroy__22CCollisionActorManagerCFR13CStateManager lbl_8022CDA8: /* 8022CDA8 00229D08 80 7D 05 D4 */ lwz r3, 0x5d4(r29) /* 8022CDAC 00229D0C 7F E4 FB 78 */ mr r4, r31 /* 8022CDB0 00229D10 4B F7 A6 15 */ bl Destroy__22CCollisionActorManagerCFR13CStateManager /* 8022CDB4 00229D14 A0 1D 07 72 */ lhz r0, 0x772(r29) /* 8022CDB8 00229D18 7F E3 FB 78 */ mr r3, r31 /* 8022CDBC 00229D1C 38 81 00 6C */ addi r4, r1, 0x6c /* 8022CDC0 00229D20 B0 01 00 6C */ sth r0, 0x6c(r1) /* 8022CDC4 00229D24 4B E1 F4 A9 */ bl FreeScriptObject__13CStateManagerF9TUniqueId /* 8022CDC8 00229D28 48 00 05 7C */ b lbl_8022D344 .global lbl_8022CDCC lbl_8022CDCC: /* 8022CDCC 00229D2C 88 1D 09 88 */ lbz r0, 0x988(r29) /* 8022CDD0 00229D30 38 60 00 01 */ li r3, 1 /* 8022CDD4 00229D34 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c /* 8022CDD8 00229D38 98 1D 09 88 */ stb r0, 0x988(r29) /* 8022CDDC 00229D3C 48 00 05 68 */ b lbl_8022D344 .global lbl_8022CDE0 lbl_8022CDE0: /* 8022CDE0 00229D40 80 BD 00 04 */ lwz r5, 4(r29) /* 8022CDE4 00229D44 80 9F 08 50 */ lwz r4, 0x850(r31) /* 8022CDE8 00229D48 54 A3 18 38 */ slwi r3, r5, 3 /* 8022CDEC 00229D4C 90 A1 00 8C */ stw r5, 0x8c(r1) /* 8022CDF0 00229D50 80 84 00 20 */ lwz r4, 0x20(r4) /* 8022CDF4 00229D54 38 03 00 04 */ addi r0, r3, 4 /* 8022CDF8 00229D58 90 A1 00 88 */ stw r5, 0x88(r1) /* 8022CDFC 00229D5C 7C 64 00 2E */ lwzx r3, r4, r0 /* 8022CE00 00229D60 80 63 01 2C */ lwz r3, 0x12c(r3) /* 8022CE04 00229D64 80 03 10 BC */ lwz r0, 0x10bc(r3) /* 8022CE08 00229D68 90 1D 07 D0 */ stw r0, 0x7d0(r29) /* 8022CE0C 00229D6C 48 00 05 38 */ b lbl_8022D344 .global lbl_8022CE10 lbl_8022CE10: /* 8022CE10 00229D70 81 83 00 00 */ lwz r12, 0(r3) /* 8022CE14 00229D74 7F E4 FB 78 */ mr r4, r31 /* 8022CE18 00229D78 81 8C 00 34 */ lwz r12, 0x34(r12) /* 8022CE1C 00229D7C 7D 89 03 A6 */ mtctr r12 /* 8022CE20 00229D80 4E 80 04 21 */ bctrl /* 8022CE24 00229D84 C0 23 00 00 */ lfs f1, 0(r3) /* 8022CE28 00229D88 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 8022CE2C 00229D8C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022CE30 00229D90 40 81 05 14 */ ble lbl_8022D344 /* 8022CE34 00229D94 A0 1E 00 00 */ lhz r0, 0(r30) /* 8022CE38 00229D98 7F E3 FB 78 */ mr r3, r31 /* 8022CE3C 00229D9C 38 81 00 68 */ addi r4, r1, 0x68 /* 8022CE40 00229DA0 B0 01 00 68 */ sth r0, 0x68(r1) /* 8022CE44 00229DA4 4B E1 F7 61 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8022CE48 00229DA8 7C 64 1B 78 */ mr r4, r3 /* 8022CE4C 00229DAC 38 61 00 A0 */ addi r3, r1, 0xa0 /* 8022CE50 00229DB0 4B E8 24 FD */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 8022CE54 00229DB4 80 83 00 04 */ lwz r4, 4(r3) /* 8022CE58 00229DB8 28 04 00 00 */ cmplwi r4, 0 /* 8022CE5C 00229DBC 41 82 02 60 */ beq lbl_8022D0BC /* 8022CE60 00229DC0 38 61 00 64 */ addi r3, r1, 0x64 /* 8022CE64 00229DC4 4B F7 BD 29 */ bl GetLastTouchedObject__15CCollisionActorCFv /* 8022CE68 00229DC8 80 7F 08 4C */ lwz r3, 0x84c(r31) /* 8022CE6C 00229DCC A0 81 00 64 */ lhz r4, 0x64(r1) /* 8022CE70 00229DD0 A0 03 00 08 */ lhz r0, 8(r3) /* 8022CE74 00229DD4 B0 81 00 84 */ sth r4, 0x84(r1) /* 8022CE78 00229DD8 7C 04 00 40 */ cmplw r4, r0 /* 8022CE7C 00229DDC 40 82 02 04 */ bne lbl_8022D080 /* 8022CE80 00229DE0 88 7D 09 88 */ lbz r3, 0x988(r29) /* 8022CE84 00229DE4 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f /* 8022CE88 00229DE8 41 82 01 04 */ beq lbl_8022CF8C /* 8022CE8C 00229DEC 54 60 D7 FF */ rlwinm. r0, r3, 0x1a, 0x1f, 0x1f /* 8022CE90 00229DF0 41 82 00 24 */ beq lbl_8022CEB4 /* 8022CE94 00229DF4 A0 1E 00 00 */ lhz r0, 0(r30) /* 8022CE98 00229DF8 7F A3 EB 78 */ mr r3, r29 /* 8022CE9C 00229DFC 38 81 00 60 */ addi r4, r1, 0x60 /* 8022CEA0 00229E00 38 BD 07 74 */ addi r5, r29, 0x774 /* 8022CEA4 00229E04 B0 01 00 60 */ sth r0, 0x60(r1) /* 8022CEA8 00229E08 4B FF C5 51 */ bl sub_802293f8 /* 8022CEAC 00229E0C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022CEB0 00229E10 40 82 00 30 */ bne lbl_8022CEE0 lbl_8022CEB4: /* 8022CEB4 00229E14 88 1D 09 88 */ lbz r0, 0x988(r29) /* 8022CEB8 00229E18 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 8022CEBC 00229E1C 41 82 04 88 */ beq lbl_8022D344 /* 8022CEC0 00229E20 A0 1E 00 00 */ lhz r0, 0(r30) /* 8022CEC4 00229E24 7F A3 EB 78 */ mr r3, r29 /* 8022CEC8 00229E28 38 81 00 5C */ addi r4, r1, 0x5c /* 8022CECC 00229E2C 38 BD 07 88 */ addi r5, r29, 0x788 /* 8022CED0 00229E30 B0 01 00 5C */ sth r0, 0x5c(r1) /* 8022CED4 00229E34 4B FF C5 25 */ bl sub_802293f8 /* 8022CED8 00229E38 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022CEDC 00229E3C 41 82 04 68 */ beq lbl_8022D344 lbl_8022CEE0: /* 8022CEE0 00229E40 80 AD 95 68 */ lwz r5, lbl_805A8128@sda21(r13) /* 8022CEE4 00229E44 38 60 00 00 */ li r3, 0 /* 8022CEE8 00229E48 38 80 00 01 */ li r4, 1 /* 8022CEEC 00229E4C 48 15 D0 09 */ bl __shl2i /* 8022CEF0 00229E50 38 A0 00 00 */ li r5, 0 /* 8022CEF4 00229E54 38 00 00 03 */ li r0, 3 /* 8022CEF8 00229E58 90 81 01 1C */ stw r4, 0x11c(r1) /* 8022CEFC 00229E5C 7F A4 EB 78 */ mr r4, r29 /* 8022CF00 00229E60 90 61 01 18 */ stw r3, 0x118(r1) /* 8022CF04 00229E64 38 61 01 30 */ addi r3, r1, 0x130 /* 8022CF08 00229E68 90 A1 01 24 */ stw r5, 0x124(r1) /* 8022CF0C 00229E6C 90 A1 01 20 */ stw r5, 0x120(r1) /* 8022CF10 00229E70 90 01 01 28 */ stw r0, 0x128(r1) /* 8022CF14 00229E74 A0 1D 00 08 */ lhz r0, 8(r29) /* 8022CF18 00229E78 B0 01 00 48 */ sth r0, 0x48(r1) /* 8022CF1C 00229E7C 80 BF 08 4C */ lwz r5, 0x84c(r31) /* 8022CF20 00229E80 B0 01 00 44 */ sth r0, 0x44(r1) /* 8022CF24 00229E84 A0 A5 00 08 */ lhz r5, 8(r5) /* 8022CF28 00229E88 B0 A1 00 50 */ sth r5, 0x50(r1) /* 8022CF2C 00229E8C A0 1D 00 08 */ lhz r0, 8(r29) /* 8022CF30 00229E90 B0 A1 00 4C */ sth r5, 0x4c(r1) /* 8022CF34 00229E94 B0 01 00 58 */ sth r0, 0x58(r1) /* 8022CF38 00229E98 81 9D 00 00 */ lwz r12, 0(r29) /* 8022CF3C 00229E9C B0 01 00 54 */ sth r0, 0x54(r1) /* 8022CF40 00229EA0 81 8C 02 B0 */ lwz r12, 0x2b0(r12) /* 8022CF44 00229EA4 7D 89 03 A6 */ mtctr r12 /* 8022CF48 00229EA8 4E 80 04 21 */ bctrl /* 8022CF4C 00229EAC 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 8022CF50 00229EB0 7F E3 FB 78 */ mr r3, r31 /* 8022CF54 00229EB4 39 24 66 A0 */ addi r9, r4, sZeroVector__9CVector3f@l /* 8022CF58 00229EB8 38 A1 00 50 */ addi r5, r1, 0x50 /* 8022CF5C 00229EBC 38 81 00 58 */ addi r4, r1, 0x58 /* 8022CF60 00229EC0 38 C1 00 48 */ addi r6, r1, 0x48 /* 8022CF64 00229EC4 38 E1 01 30 */ addi r7, r1, 0x130 /* 8022CF68 00229EC8 39 01 01 18 */ addi r8, r1, 0x118 /* 8022CF6C 00229ECC 4B E1 D1 35 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f /* 8022CF70 00229ED0 C0 1D 04 24 */ lfs f0, 0x424(r29) /* 8022CF74 00229ED4 38 60 00 00 */ li r3, 0 /* 8022CF78 00229ED8 D0 1D 04 20 */ stfs f0, 0x420(r29) /* 8022CF7C 00229EDC 88 1D 09 88 */ lbz r0, 0x988(r29) /* 8022CF80 00229EE0 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 /* 8022CF84 00229EE4 98 1D 09 88 */ stb r0, 0x988(r29) /* 8022CF88 00229EE8 48 00 03 BC */ b lbl_8022D344 lbl_8022CF8C: /* 8022CF8C 00229EEC C0 3D 04 20 */ lfs f1, 0x420(r29) /* 8022CF90 00229EF0 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 8022CF94 00229EF4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8022CF98 00229EF8 4C 40 13 82 */ cror 2, 0, 2 /* 8022CF9C 00229EFC 40 82 03 A8 */ bne lbl_8022D344 /* 8022CFA0 00229F00 7F A4 EB 78 */ mr r4, r29 /* 8022CFA4 00229F04 38 61 00 F8 */ addi r3, r1, 0xf8 /* 8022CFA8 00229F08 81 9D 00 00 */ lwz r12, 0(r29) /* 8022CFAC 00229F0C 81 8C 02 B0 */ lwz r12, 0x2b0(r12) /* 8022CFB0 00229F10 7D 89 03 A6 */ mtctr r12 /* 8022CFB4 00229F14 4E 80 04 21 */ bctrl /* 8022CFB8 00229F18 C0 21 01 00 */ lfs f1, 0x100(r1) /* 8022CFBC 00229F1C 38 60 00 00 */ li r3, 0 /* 8022CFC0 00229F20 C0 02 B5 BC */ lfs f0, lbl_805AD2DC@sda21(r2) /* 8022CFC4 00229F24 38 80 00 01 */ li r4, 1 /* 8022CFC8 00229F28 80 E1 00 F8 */ lwz r7, 0xf8(r1) /* 8022CFCC 00229F2C 88 C1 00 FC */ lbz r6, 0xfc(r1) /* 8022CFD0 00229F30 EC 00 00 72 */ fmuls f0, f0, f1 /* 8022CFD4 00229F34 D0 21 01 54 */ stfs f1, 0x154(r1) /* 8022CFD8 00229F38 C0 61 01 04 */ lfs f3, 0x104(r1) /* 8022CFDC 00229F3C C0 41 01 08 */ lfs f2, 0x108(r1) /* 8022CFE0 00229F40 C0 21 01 0C */ lfs f1, 0x10c(r1) /* 8022CFE4 00229F44 88 01 01 10 */ lbz r0, 0x110(r1) /* 8022CFE8 00229F48 80 AD 95 68 */ lwz r5, lbl_805A8128@sda21(r13) /* 8022CFEC 00229F4C 90 E1 01 4C */ stw r7, 0x14c(r1) /* 8022CFF0 00229F50 98 C1 01 50 */ stb r6, 0x150(r1) /* 8022CFF4 00229F54 D0 61 01 58 */ stfs f3, 0x158(r1) /* 8022CFF8 00229F58 D0 41 01 5C */ stfs f2, 0x15c(r1) /* 8022CFFC 00229F5C D0 21 01 60 */ stfs f1, 0x160(r1) /* 8022D000 00229F60 98 01 01 64 */ stb r0, 0x164(r1) /* 8022D004 00229F64 D0 01 01 54 */ stfs f0, 0x154(r1) /* 8022D008 00229F68 48 15 CE ED */ bl __shl2i /* 8022D00C 00229F6C 39 40 00 00 */ li r10, 0 /* 8022D010 00229F70 38 00 00 03 */ li r0, 3 /* 8022D014 00229F74 90 81 00 E4 */ stw r4, 0xe4(r1) /* 8022D018 00229F78 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha /* 8022D01C 00229F7C 39 24 66 A0 */ addi r9, r4, sZeroVector__9CVector3f@l /* 8022D020 00229F80 38 A1 00 38 */ addi r5, r1, 0x38 /* 8022D024 00229F84 90 61 00 E0 */ stw r3, 0xe0(r1) /* 8022D028 00229F88 38 81 00 40 */ addi r4, r1, 0x40 /* 8022D02C 00229F8C 7F E3 FB 78 */ mr r3, r31 /* 8022D030 00229F90 38 C1 00 30 */ addi r6, r1, 0x30 /* 8022D034 00229F94 91 41 00 EC */ stw r10, 0xec(r1) /* 8022D038 00229F98 38 E1 01 4C */ addi r7, r1, 0x14c /* 8022D03C 00229F9C 39 01 00 E0 */ addi r8, r1, 0xe0 /* 8022D040 00229FA0 91 41 00 E8 */ stw r10, 0xe8(r1) /* 8022D044 00229FA4 90 01 00 F0 */ stw r0, 0xf0(r1) /* 8022D048 00229FA8 A0 1D 00 08 */ lhz r0, 8(r29) /* 8022D04C 00229FAC B0 01 00 30 */ sth r0, 0x30(r1) /* 8022D050 00229FB0 81 5F 08 4C */ lwz r10, 0x84c(r31) /* 8022D054 00229FB4 B0 01 00 2C */ sth r0, 0x2c(r1) /* 8022D058 00229FB8 A1 4A 00 08 */ lhz r10, 8(r10) /* 8022D05C 00229FBC B1 41 00 38 */ sth r10, 0x38(r1) /* 8022D060 00229FC0 A0 1D 00 08 */ lhz r0, 8(r29) /* 8022D064 00229FC4 B1 41 00 34 */ sth r10, 0x34(r1) /* 8022D068 00229FC8 B0 01 00 3C */ sth r0, 0x3c(r1) /* 8022D06C 00229FCC B0 01 00 40 */ sth r0, 0x40(r1) /* 8022D070 00229FD0 4B E1 D0 31 */ bl ApplyDamage__13CStateManagerF9TUniqueId9TUniqueId9TUniqueIdRC11CDamageInfoRC15CMaterialFilterRC9CVector3f /* 8022D074 00229FD4 C0 1D 04 24 */ lfs f0, 0x424(r29) /* 8022D078 00229FD8 D0 1D 04 20 */ stfs f0, 0x420(r29) /* 8022D07C 00229FDC 48 00 02 C8 */ b lbl_8022D344 lbl_8022D080: /* 8022D080 00229FE0 B0 81 00 28 */ sth r4, 0x28(r1) /* 8022D084 00229FE4 7F E3 FB 78 */ mr r3, r31 /* 8022D088 00229FE8 38 81 00 28 */ addi r4, r1, 0x28 /* 8022D08C 00229FEC 4B E1 F5 19 */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8022D090 00229FF0 7C 64 1B 78 */ mr r4, r3 /* 8022D094 00229FF4 38 61 00 98 */ addi r3, r1, 0x98 /* 8022D098 00229FF8 4B E8 06 75 */ bl "__ct__29TCastToPtr<15CGameProjectile>FP7CEntity" /* 8022D09C 00229FFC 80 03 00 04 */ lwz r0, 4(r3) /* 8022D0A0 0022A000 28 00 00 00 */ cmplwi r0, 0 /* 8022D0A4 0022A004 41 82 02 A0 */ beq lbl_8022D344 /* 8022D0A8 0022A008 7F A3 EB 78 */ mr r3, r29 /* 8022D0AC 0022A00C 7F E5 FB 78 */ mr r5, r31 /* 8022D0B0 0022A010 38 80 00 01 */ li r4, 1 /* 8022D0B4 0022A014 4B FF A4 E9 */ bl sub_8022759c /* 8022D0B8 0022A018 48 00 02 8C */ b lbl_8022D344 lbl_8022D0BC: /* 8022D0BC 0022A01C A0 1E 00 00 */ lhz r0, 0(r30) /* 8022D0C0 0022A020 A0 7D 07 72 */ lhz r3, 0x772(r29) /* 8022D0C4 0022A024 7C 00 18 40 */ cmplw r0, r3 /* 8022D0C8 0022A028 40 82 02 7C */ bne lbl_8022D344 /* 8022D0CC 0022A02C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8022D0D0 0022A030 7C 03 00 40 */ cmplw r3, r0 /* 8022D0D4 0022A034 41 82 02 70 */ beq lbl_8022D344 /* 8022D0D8 0022A038 7F A3 EB 78 */ mr r3, r29 /* 8022D0DC 0022A03C 7F E5 FB 78 */ mr r5, r31 /* 8022D0E0 0022A040 38 80 00 01 */ li r4, 1 /* 8022D0E4 0022A044 4B FF A4 B9 */ bl sub_8022759c /* 8022D0E8 0022A048 48 00 02 5C */ b lbl_8022D344 .global lbl_8022D0EC lbl_8022D0EC: /* 8022D0EC 0022A04C A0 1E 00 00 */ lhz r0, 0(r30) /* 8022D0F0 0022A050 7F E3 FB 78 */ mr r3, r31 /* 8022D0F4 0022A054 38 81 00 24 */ addi r4, r1, 0x24 /* 8022D0F8 0022A058 3B 60 00 00 */ li r27, 0 /* 8022D0FC 0022A05C B0 01 00 24 */ sth r0, 0x24(r1) /* 8022D100 0022A060 4B E1 F4 75 */ bl ObjectById__13CStateManagerF9TUniqueId /* 8022D104 0022A064 7C 64 1B 78 */ mr r4, r3 /* 8022D108 0022A068 38 61 00 B0 */ addi r3, r1, 0xb0 /* 8022D10C 0022A06C 4B E8 22 41 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 8022D110 0022A070 80 83 00 04 */ lwz r4, 4(r3) /* 8022D114 0022A074 28 04 00 00 */ cmplwi r4, 0 /* 8022D118 0022A078 41 82 01 0C */ beq lbl_8022D224 /* 8022D11C 0022A07C 38 61 00 20 */ addi r3, r1, 0x20 /* 8022D120 0022A080 4B F7 BA 6D */ bl GetLastTouchedObject__15CCollisionActorCFv /* 8022D124 0022A084 A0 01 00 20 */ lhz r0, 0x20(r1) /* 8022D128 0022A088 7F E3 FB 78 */ mr r3, r31 /* 8022D12C 0022A08C 38 81 00 1C */ addi r4, r1, 0x1c /* 8022D130 0022A090 B0 01 00 80 */ sth r0, 0x80(r1) /* 8022D134 0022A094 B0 01 00 1C */ sth r0, 0x1c(r1) /* 8022D138 0022A098 4B E1 F4 6D */ bl GetObjectById__13CStateManagerCF9TUniqueId /* 8022D13C 0022A09C 7C 64 1B 78 */ mr r4, r3 /* 8022D140 0022A0A0 38 61 00 90 */ addi r3, r1, 0x90 /* 8022D144 0022A0A4 4B E8 05 C9 */ bl "__ct__29TCastToPtr<15CGameProjectile>FP7CEntity" /* 8022D148 0022A0A8 81 23 00 04 */ lwz r9, 4(r3) /* 8022D14C 0022A0AC 28 09 00 00 */ cmplwi r9, 0 /* 8022D150 0022A0B0 41 82 01 F4 */ beq lbl_8022D344 /* 8022D154 0022A0B4 A0 7E 00 00 */ lhz r3, 0(r30) /* 8022D158 0022A0B8 A0 1D 07 70 */ lhz r0, 0x770(r29) /* 8022D15C 0022A0BC 7C 03 00 40 */ cmplw r3, r0 /* 8022D160 0022A0C0 40 82 00 88 */ bne lbl_8022D1E8 /* 8022D164 0022A0C4 C0 02 88 F0 */ lfs f0, lbl_805AA610@sda21(r2) /* 8022D168 0022A0C8 7F A3 EB 78 */ mr r3, r29 /* 8022D16C 0022A0CC 7F E5 FB 78 */ mr r5, r31 /* 8022D170 0022A0D0 38 81 00 B8 */ addi r4, r1, 0xb8 /* 8022D174 0022A0D4 D0 1D 04 28 */ stfs f0, 0x428(r29) /* 8022D178 0022A0D8 38 C9 01 2C */ addi r6, r9, 0x12c /* 8022D17C 0022A0DC 38 E0 00 01 */ li r7, 1 /* 8022D180 0022A0E0 39 00 00 00 */ li r8, 0 /* 8022D184 0022A0E4 C0 49 00 50 */ lfs f2, 0x50(r9) /* 8022D188 0022A0E8 C0 29 02 9C */ lfs f1, 0x29c(r9) /* 8022D18C 0022A0EC C0 69 00 60 */ lfs f3, 0x60(r9) /* 8022D190 0022A0F0 EC 82 08 28 */ fsubs f4, f2, f1 /* 8022D194 0022A0F4 C0 09 02 A0 */ lfs f0, 0x2a0(r9) /* 8022D198 0022A0F8 C0 49 00 40 */ lfs f2, 0x40(r9) /* 8022D19C 0022A0FC EC 63 00 28 */ fsubs f3, f3, f0 /* 8022D1A0 0022A100 C0 09 02 98 */ lfs f0, 0x298(r9) /* 8022D1A4 0022A104 C0 29 01 40 */ lfs f1, 0x140(r9) /* 8022D1A8 0022A108 EC 02 00 28 */ fsubs f0, f2, f0 /* 8022D1AC 0022A10C D0 81 00 BC */ stfs f4, 0xbc(r1) /* 8022D1B0 0022A110 D0 61 00 C0 */ stfs f3, 0xc0(r1) /* 8022D1B4 0022A114 D0 01 00 B8 */ stfs f0, 0xb8(r1) /* 8022D1B8 0022A118 81 9D 00 00 */ lwz r12, 0(r29) /* 8022D1BC 0022A11C 81 8C 00 88 */ lwz r12, 0x88(r12) /* 8022D1C0 0022A120 7D 89 03 A6 */ mtctr r12 /* 8022D1C4 0022A124 4E 80 04 21 */ bctrl /* 8022D1C8 0022A128 A0 01 00 80 */ lhz r0, 0x80(r1) /* 8022D1CC 0022A12C 7F A3 EB 78 */ mr r3, r29 /* 8022D1D0 0022A130 7F 84 E3 78 */ mr r4, r28 /* 8022D1D4 0022A134 7F E6 FB 78 */ mr r6, r31 /* 8022D1D8 0022A138 B0 01 00 18 */ sth r0, 0x18(r1) /* 8022D1DC 0022A13C 38 A1 00 18 */ addi r5, r1, 0x18 /* 8022D1E0 0022A140 4B E4 F9 99 */ bl AcceptScriptMsg__10CPatternedF20EScriptObjectMessage9TUniqueIdR13CStateManager /* 8022D1E4 0022A144 48 00 00 2C */ b lbl_8022D210 lbl_8022D1E8: /* 8022D1E8 0022A148 A0 1D 07 9C */ lhz r0, 0x79c(r29) /* 8022D1EC 0022A14C 7C 03 00 40 */ cmplw r3, r0 /* 8022D1F0 0022A150 40 82 00 20 */ bne lbl_8022D210 /* 8022D1F4 0022A154 88 1D 07 6C */ lbz r0, 0x76c(r29) /* 8022D1F8 0022A158 28 00 00 00 */ cmplwi r0, 0 /* 8022D1FC 0022A15C 41 82 00 14 */ beq lbl_8022D210 /* 8022D200 0022A160 7F A3 EB 78 */ mr r3, r29 /* 8022D204 0022A164 7F E4 FB 78 */ mr r4, r31 /* 8022D208 0022A168 38 A9 00 34 */ addi r5, r9, 0x34 /* 8022D20C 0022A16C 4B FF AF CD */ bl sub_802281d8 lbl_8022D210: /* 8022D210 0022A170 7F A3 EB 78 */ mr r3, r29 /* 8022D214 0022A174 7F E5 FB 78 */ mr r5, r31 /* 8022D218 0022A178 38 80 00 01 */ li r4, 1 /* 8022D21C 0022A17C 4B FF A3 81 */ bl sub_8022759c /* 8022D220 0022A180 48 00 01 24 */ b lbl_8022D344 lbl_8022D224: /* 8022D224 0022A184 A0 1E 00 00 */ lhz r0, 0(r30) /* 8022D228 0022A188 A0 7D 07 72 */ lhz r3, 0x772(r29) /* 8022D22C 0022A18C 7C 00 18 40 */ cmplw r0, r3 /* 8022D230 0022A190 40 82 00 A8 */ bne lbl_8022D2D8 /* 8022D234 0022A194 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13) /* 8022D238 0022A198 7C 03 00 40 */ cmplw r3, r0 /* 8022D23C 0022A19C 41 82 00 9C */ beq lbl_8022D2D8 /* 8022D240 0022A1A0 3C 60 80 3E */ lis r3, lbl_803DAA68@ha /* 8022D244 0022A1A4 C0 5D 00 58 */ lfs f2, 0x58(r29) /* 8022D248 0022A1A8 38 A3 AA 68 */ addi r5, r3, lbl_803DAA68@l /* 8022D24C 0022A1AC C0 3D 00 48 */ lfs f1, 0x48(r29) /* 8022D250 0022A1B0 C0 1D 00 38 */ lfs f0, 0x38(r29) /* 8022D254 0022A1B4 3C 80 80 3E */ lis r4, lbl_803DAA44@ha /* 8022D258 0022A1B8 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8022D25C 0022A1BC 38 C0 00 04 */ li r6, 4 /* 8022D260 0022A1C0 38 00 00 08 */ li r0, 8 /* 8022D264 0022A1C4 90 A1 00 C4 */ stw r5, 0xc4(r1) /* 8022D268 0022A1C8 38 A4 AA 44 */ addi r5, r4, lbl_803DAA44@l /* 8022D26C 0022A1CC 3B 43 00 04 */ addi r26, r3, 4 /* 8022D270 0022A1D0 90 C1 00 C8 */ stw r6, 0xc8(r1) /* 8022D274 0022A1D4 7F 43 D3 78 */ mr r3, r26 /* 8022D278 0022A1D8 38 80 00 04 */ li r4, 4 /* 8022D27C 0022A1DC 90 A1 00 C4 */ stw r5, 0xc4(r1) /* 8022D280 0022A1E0 D0 01 00 CC */ stfs f0, 0xcc(r1) /* 8022D284 0022A1E4 D0 21 00 D0 */ stfs f1, 0xd0(r1) /* 8022D288 0022A1E8 D0 41 00 D4 */ stfs f2, 0xd4(r1) /* 8022D28C 0022A1EC 90 01 00 D8 */ stw r0, 0xd8(r1) /* 8022D290 0022A1F0 4B F0 41 A9 */ bl DeliverCmd__16CBodyStateCmdMgrF13EBodyStateCmd /* 8022D294 0022A1F4 80 01 00 C8 */ lwz r0, 0xc8(r1) /* 8022D298 0022A1F8 3C 60 80 3E */ lis r3, lbl_803DAA44@ha /* 8022D29C 0022A1FC 38 83 AA 44 */ addi r4, r3, lbl_803DAA44@l /* 8022D2A0 0022A200 3C 60 80 3E */ lis r3, lbl_803DAA68@ha /* 8022D2A4 0022A204 90 1A 00 F8 */ stw r0, 0xf8(r26) /* 8022D2A8 0022A208 38 03 AA 68 */ addi r0, r3, lbl_803DAA68@l /* 8022D2AC 0022A20C 80 A1 00 CC */ lwz r5, 0xcc(r1) /* 8022D2B0 0022A210 80 61 00 D0 */ lwz r3, 0xd0(r1) /* 8022D2B4 0022A214 90 BA 00 FC */ stw r5, 0xfc(r26) /* 8022D2B8 0022A218 80 A1 00 D4 */ lwz r5, 0xd4(r1) /* 8022D2BC 0022A21C 90 7A 01 00 */ stw r3, 0x100(r26) /* 8022D2C0 0022A220 80 61 00 D8 */ lwz r3, 0xd8(r1) /* 8022D2C4 0022A224 90 BA 01 04 */ stw r5, 0x104(r26) /* 8022D2C8 0022A228 90 81 00 C4 */ stw r4, 0xc4(r1) /* 8022D2CC 0022A22C 90 7A 01 08 */ stw r3, 0x108(r26) /* 8022D2D0 0022A230 90 01 00 C4 */ stw r0, 0xc4(r1) /* 8022D2D4 0022A234 48 00 00 70 */ b lbl_8022D344 lbl_8022D2D8: /* 8022D2D8 0022A238 A0 1E 00 00 */ lhz r0, 0(r30) /* 8022D2DC 0022A23C 7F A3 EB 78 */ mr r3, r29 /* 8022D2E0 0022A240 7F E4 FB 78 */ mr r4, r31 /* 8022D2E4 0022A244 38 A1 00 14 */ addi r5, r1, 0x14 /* 8022D2E8 0022A248 B0 01 00 14 */ sth r0, 0x14(r1) /* 8022D2EC 0022A24C 4B FF A1 79 */ bl sub_80227464 /* 8022D2F0 0022A250 48 00 00 54 */ b lbl_8022D344 .global lbl_8022D2F4 lbl_8022D2F4: /* 8022D2F4 0022A254 7F E5 FB 78 */ mr r5, r31 /* 8022D2F8 0022A258 38 80 00 01 */ li r4, 1 /* 8022D2FC 0022A25C 4B FF A2 A1 */ bl sub_8022759c /* 8022D300 0022A260 A0 1E 00 00 */ lhz r0, 0(r30) /* 8022D304 0022A264 7F E3 FB 78 */ mr r3, r31 /* 8022D308 0022A268 38 81 00 10 */ addi r4, r1, 0x10 /* 8022D30C 0022A26C B0 01 00 10 */ sth r0, 0x10(r1) /* 8022D310 0022A270 4B E1 F2 65 */ bl ObjectById__13CStateManagerF9TUniqueId /* 8022D314 0022A274 7C 64 1B 78 */ mr r4, r3 /* 8022D318 0022A278 38 61 00 A8 */ addi r3, r1, 0xa8 /* 8022D31C 0022A27C 4B E8 20 31 */ bl "__ct__29TCastToPtr<15CCollisionActor>FP7CEntity" /* 8022D320 0022A280 80 03 00 04 */ lwz r0, 4(r3) /* 8022D324 0022A284 28 00 00 00 */ cmplwi r0, 0 /* 8022D328 0022A288 40 82 00 1C */ bne lbl_8022D344 /* 8022D32C 0022A28C A0 1E 00 00 */ lhz r0, 0(r30) /* 8022D330 0022A290 7F A3 EB 78 */ mr r3, r29 /* 8022D334 0022A294 7F E4 FB 78 */ mr r4, r31 /* 8022D338 0022A298 38 A1 00 0C */ addi r5, r1, 0xc /* 8022D33C 0022A29C B0 01 00 0C */ sth r0, 0xc(r1) /* 8022D340 0022A2A0 4B FF A1 25 */ bl sub_80227464 .global lbl_8022D344 lbl_8022D344: /* 8022D344 0022A2A4 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 8022D348 0022A2A8 41 82 00 20 */ beq lbl_8022D368 /* 8022D34C 0022A2AC A0 1E 00 00 */ lhz r0, 0(r30) /* 8022D350 0022A2B0 7F A3 EB 78 */ mr r3, r29 /* 8022D354 0022A2B4 7F 84 E3 78 */ mr r4, r28 /* 8022D358 0022A2B8 7F E6 FB 78 */ mr r6, r31 /* 8022D35C 0022A2BC B0 01 00 08 */ sth r0, 8(r1) /* 8022D360 0022A2C0 38 A1 00 08 */ addi r5, r1, 8 /* 8022D364 0022A2C4 4B E4 F8 15 */ bl AcceptScriptMsg__10CPatternedF20EScriptObjectMessage9TUniqueIdR13CStateManager lbl_8022D368: /* 8022D368 0022A2C8 E3 E1 01 88 */ psq_l f31, 392(r1), 0, qr0 /* 8022D36C 0022A2CC CB E1 01 80 */ lfd f31, 0x180(r1) /* 8022D370 0022A2D0 BB 41 01 68 */ lmw r26, 0x168(r1) /* 8022D374 0022A2D4 80 01 01 94 */ lwz r0, 0x194(r1) /* 8022D378 0022A2D8 7C 08 03 A6 */ mtlr r0 /* 8022D37C 0022A2DC 38 21 01 90 */ addi r1, r1, 0x190 /* 8022D380 0022A2E0 4E 80 00 20 */ blr .global Think__12CElitePirateFfR13CStateManager Think__12CElitePirateFfR13CStateManager: /* 8022D384 0022A2E4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8022D388 0022A2E8 7C 08 02 A6 */ mflr r0 /* 8022D38C 0022A2EC 90 01 00 34 */ stw r0, 0x34(r1) /* 8022D390 0022A2F0 DB E1 00 20 */ stfd f31, 0x20(r1) /* 8022D394 0022A2F4 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 8022D398 0022A2F8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8022D39C 0022A2FC 93 C1 00 18 */ stw r30, 0x18(r1) /* 8022D3A0 0022A300 88 03 00 30 */ lbz r0, 0x30(r3) /* 8022D3A4 0022A304 FF E0 08 90 */ fmr f31, f1 /* 8022D3A8 0022A308 7C 7E 1B 78 */ mr r30, r3 /* 8022D3AC 0022A30C 7C 9F 23 78 */ mr r31, r4 /* 8022D3B0 0022A310 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 8022D3B4 0022A314 41 82 00 EC */ beq lbl_8022D4A0 /* 8022D3B8 0022A318 4B E4 C7 61 */ bl Think__10CPatternedFfR13CStateManager /* 8022D3BC 0022A31C FC 20 F8 90 */ fmr f1, f31 /* 8022D3C0 0022A320 38 7E 06 F8 */ addi r3, r30, 0x6f8 /* 8022D3C4 0022A324 4B F4 85 E5 */ bl Update__13CBoneTrackingFf /* 8022D3C8 0022A328 7F C3 F3 78 */ mr r3, r30 /* 8022D3CC 0022A32C 81 9E 00 00 */ lwz r12, 0(r30) /* 8022D3D0 0022A330 81 8C 02 CC */ lwz r12, 0x2cc(r12) /* 8022D3D4 0022A334 7D 89 03 A6 */ mtctr r12 /* 8022D3D8 0022A338 4E 80 04 21 */ bctrl /* 8022D3DC 0022A33C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022D3E0 0022A340 41 82 00 18 */ beq lbl_8022D3F8 /* 8022D3E4 0022A344 FC 20 F8 90 */ fmr f1, f31 /* 8022D3E8 0022A348 80 7E 07 30 */ lwz r3, 0x730(r30) /* 8022D3EC 0022A34C 7F E4 FB 78 */ mr r4, r31 /* 8022D3F0 0022A350 38 A0 00 00 */ li r5, 0 /* 8022D3F4 0022A354 4B F7 A0 5D */ bl Update__22CCollisionActorManagerCFfR13CStateManagerQ222CCollisionActorManager14EUpdateOptions lbl_8022D3F8: /* 8022D3F8 0022A358 FC 20 F8 90 */ fmr f1, f31 /* 8022D3FC 0022A35C 80 7E 05 D4 */ lwz r3, 0x5d4(r30) /* 8022D400 0022A360 7F E4 FB 78 */ mr r4, r31 /* 8022D404 0022A364 38 A0 00 00 */ li r5, 0 /* 8022D408 0022A368 4B F7 A0 49 */ bl Update__22CCollisionActorManagerCFfR13CStateManagerQ222CCollisionActorManager14EUpdateOptions /* 8022D40C 0022A36C 7F C3 F3 78 */ mr r3, r30 /* 8022D410 0022A370 4B FF BD F9 */ bl sub_80229208 /* 8022D414 0022A374 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8022D418 0022A378 41 82 00 24 */ beq lbl_8022D43C /* 8022D41C 0022A37C 88 1E 06 F7 */ lbz r0, 0x6f7(r30) /* 8022D420 0022A380 28 00 00 00 */ cmplwi r0, 0 /* 8022D424 0022A384 41 82 00 18 */ beq lbl_8022D43C /* 8022D428 0022A388 C0 22 B6 10 */ lfs f1, lbl_805AD330@sda21(r2) /* 8022D42C 0022A38C C0 1E 07 A0 */ lfs f0, 0x7a0(r30) /* 8022D430 0022A390 EC 01 00 32 */ fmuls f0, f1, f0 /* 8022D434 0022A394 D0 1E 03 B4 */ stfs f0, 0x3b4(r30) /* 8022D438 0022A398 48 00 00 0C */ b lbl_8022D444 lbl_8022D43C: /* 8022D43C 0022A39C C0 1E 07 A0 */ lfs f0, 0x7a0(r30) /* 8022D440 0022A3A0 D0 1E 03 B4 */ stfs f0, 0x3b4(r30) lbl_8022D444: /* 8022D444 0022A3A4 FC 20 F8 90 */ fmr f1, f31 /* 8022D448 0022A3A8 7F C3 F3 78 */ mr r3, r30 /* 8022D44C 0022A3AC 4B FF BA 05 */ bl sub_80228e50 /* 8022D450 0022A3B0 7F C3 F3 78 */ mr r3, r30 /* 8022D454 0022A3B4 4B FF B3 45 */ bl sub_80228798 /* 8022D458 0022A3B8 80 82 B5 A8 */ lwz r4, lbl_805AD2C8@sda21(r2) /* 8022D45C 0022A3BC 38 61 00 08 */ addi r3, r1, 8 /* 8022D460 0022A3C0 4B DD 78 59 */ bl string_l__4rstlFPCc /* 8022D464 0022A3C4 7F C3 F3 78 */ mr r3, r30 /* 8022D468 0022A3C8 7F E4 FB 78 */ mr r4, r31 /* 8022D46C 0022A3CC 38 BE 07 72 */ addi r5, r30, 0x772 /* 8022D470 0022A3D0 38 C1 00 08 */ addi r6, r1, 8 /* 8022D474 0022A3D4 4B FF B5 69 */ bl sub_802289dc /* 8022D478 0022A3D8 38 61 00 08 */ addi r3, r1, 8 /* 8022D47C 0022A3DC 48 11 06 65 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 8022D480 0022A3E0 7F C3 F3 78 */ mr r3, r30 /* 8022D484 0022A3E4 7F E4 FB 78 */ mr r4, r31 /* 8022D488 0022A3E8 4B FF B9 FD */ bl sub_80228e84 /* 8022D48C 0022A3EC 7F C3 F3 78 */ mr r3, r30 /* 8022D490 0022A3F0 4B FF BD 79 */ bl sub_80229208 /* 8022D494 0022A3F4 88 1E 03 28 */ lbz r0, 0x328(r30) /* 8022D498 0022A3F8 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 8022D49C 0022A3FC 98 1E 03 28 */ stb r0, 0x328(r30) lbl_8022D4A0: /* 8022D4A0 0022A400 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 8022D4A4 0022A404 80 01 00 34 */ lwz r0, 0x34(r1) /* 8022D4A8 0022A408 CB E1 00 20 */ lfd f31, 0x20(r1) /* 8022D4AC 0022A40C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8022D4B0 0022A410 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8022D4B4 0022A414 7C 08 03 A6 */ mtlr r0 /* 8022D4B8 0022A418 38 21 00 30 */ addi r1, r1, 0x30 /* 8022D4BC 0022A41C 4E 80 00 20 */ blr .global Accept__12CElitePirateFR8IVisitor Accept__12CElitePirateFR8IVisitor: /* 8022D4C0 0022A420 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8022D4C4 0022A424 7C 08 02 A6 */ mflr r0 /* 8022D4C8 0022A428 90 01 00 14 */ stw r0, 0x14(r1) /* 8022D4CC 0022A42C 7C 60 1B 78 */ mr r0, r3 /* 8022D4D0 0022A430 7C 83 23 78 */ mr r3, r4 /* 8022D4D4 0022A434 81 84 00 00 */ lwz r12, 0(r4) /* 8022D4D8 0022A438 7C 04 03 78 */ mr r4, r0 /* 8022D4DC 0022A43C 81 8C 00 4C */ lwz r12, 0x4c(r12) /* 8022D4E0 0022A440 7D 89 03 A6 */ mtctr r12 /* 8022D4E4 0022A444 4E 80 04 21 */ bctrl /* 8022D4E8 0022A448 80 01 00 14 */ lwz r0, 0x14(r1) /* 8022D4EC 0022A44C 7C 08 03 A6 */ mtlr r0 /* 8022D4F0 0022A450 38 21 00 10 */ addi r1, r1, 0x10 /* 8022D4F4 0022A454 4E 80 00 20 */ blr .global __dt__12CElitePirateFv __dt__12CElitePirateFv: /* 8022D4F8 0022A458 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8022D4FC 0022A45C 7C 08 02 A6 */ mflr r0 /* 8022D500 0022A460 90 01 00 14 */ stw r0, 0x14(r1) /* 8022D504 0022A464 93 E1 00 0C */ stw r31, 0xc(r1) /* 8022D508 0022A468 7C 9F 23 78 */ mr r31, r4 /* 8022D50C 0022A46C 93 C1 00 08 */ stw r30, 8(r1) /* 8022D510 0022A470 7C 7E 1B 79 */ or. r30, r3, r3 /* 8022D514 0022A474 41 82 02 60 */ beq lbl_8022D774 /* 8022D518 0022A478 3C 60 80 3E */ lis r3, lbl_803E7AE0@ha /* 8022D51C 0022A47C 34 1E 08 C0 */ addic. r0, r30, 0x8c0 /* 8022D520 0022A480 38 03 7A E0 */ addi r0, r3, lbl_803E7AE0@l /* 8022D524 0022A484 90 1E 00 00 */ stw r0, 0(r30) /* 8022D528 0022A488 41 82 00 60 */ beq lbl_8022D588 /* 8022D52C 0022A48C 34 1E 08 C4 */ addic. r0, r30, 0x8c4 /* 8022D530 0022A490 41 82 00 58 */ beq lbl_8022D588 /* 8022D534 0022A494 80 BE 08 C4 */ lwz r5, 0x8c4(r30) /* 8022D538 0022A498 38 60 00 00 */ li r3, 0 /* 8022D53C 0022A49C 2C 05 00 00 */ cmpwi r5, 0 /* 8022D540 0022A4A0 40 81 00 40 */ ble lbl_8022D580 /* 8022D544 0022A4A4 2C 05 00 08 */ cmpwi r5, 8 /* 8022D548 0022A4A8 38 85 FF F8 */ addi r4, r5, -8 /* 8022D54C 0022A4AC 40 81 00 20 */ ble lbl_8022D56C /* 8022D550 0022A4B0 38 04 00 07 */ addi r0, r4, 7 /* 8022D554 0022A4B4 54 00 E8 FE */ srwi r0, r0, 3 /* 8022D558 0022A4B8 7C 09 03 A6 */ mtctr r0 /* 8022D55C 0022A4BC 2C 04 00 00 */ cmpwi r4, 0 /* 8022D560 0022A4C0 40 81 00 0C */ ble lbl_8022D56C lbl_8022D564: /* 8022D564 0022A4C4 38 63 00 08 */ addi r3, r3, 8 /* 8022D568 0022A4C8 42 00 FF FC */ bdnz lbl_8022D564 lbl_8022D56C: /* 8022D56C 0022A4CC 7C 03 28 50 */ subf r0, r3, r5 /* 8022D570 0022A4D0 7C 09 03 A6 */ mtctr r0 /* 8022D574 0022A4D4 7C 03 28 00 */ cmpw r3, r5 /* 8022D578 0022A4D8 40 80 00 08 */ bge lbl_8022D580 lbl_8022D57C: /* 8022D57C 0022A4DC 42 00 00 00 */ bdnz lbl_8022D57C lbl_8022D580: /* 8022D580 0022A4E0 38 00 00 00 */ li r0, 0 /* 8022D584 0022A4E4 90 1E 08 C4 */ stw r0, 0x8c4(r30) lbl_8022D588: /* 8022D588 0022A4E8 34 1E 07 D0 */ addic. r0, r30, 0x7d0 /* 8022D58C 0022A4EC 41 82 00 60 */ beq lbl_8022D5EC /* 8022D590 0022A4F0 34 1E 07 D4 */ addic. r0, r30, 0x7d4 /* 8022D594 0022A4F4 41 82 00 58 */ beq lbl_8022D5EC /* 8022D598 0022A4F8 80 BE 07 D4 */ lwz r5, 0x7d4(r30) /* 8022D59C 0022A4FC 38 60 00 00 */ li r3, 0 /* 8022D5A0 0022A500 2C 05 00 00 */ cmpwi r5, 0 /* 8022D5A4 0022A504 40 81 00 40 */ ble lbl_8022D5E4 /* 8022D5A8 0022A508 2C 05 00 08 */ cmpwi r5, 8 /* 8022D5AC 0022A50C 38 85 FF F8 */ addi r4, r5, -8 /* 8022D5B0 0022A510 40 81 00 20 */ ble lbl_8022D5D0 /* 8022D5B4 0022A514 38 04 00 07 */ addi r0, r4, 7 /* 8022D5B8 0022A518 54 00 E8 FE */ srwi r0, r0, 3 /* 8022D5BC 0022A51C 7C 09 03 A6 */ mtctr r0 /* 8022D5C0 0022A520 2C 04 00 00 */ cmpwi r4, 0 /* 8022D5C4 0022A524 40 81 00 0C */ ble lbl_8022D5D0 lbl_8022D5C8: /* 8022D5C8 0022A528 38 63 00 08 */ addi r3, r3, 8 /* 8022D5CC 0022A52C 42 00 FF FC */ bdnz lbl_8022D5C8 lbl_8022D5D0: /* 8022D5D0 0022A530 7C 03 28 50 */ subf r0, r3, r5 /* 8022D5D4 0022A534 7C 09 03 A6 */ mtctr r0 /* 8022D5D8 0022A538 7C 03 28 00 */ cmpw r3, r5 /* 8022D5DC 0022A53C 40 80 00 08 */ bge lbl_8022D5E4 lbl_8022D5E0: /* 8022D5E0 0022A540 42 00 00 00 */ bdnz lbl_8022D5E0 lbl_8022D5E4: /* 8022D5E4 0022A544 38 00 00 00 */ li r0, 0 /* 8022D5E8 0022A548 90 1E 07 D4 */ stw r0, 0x7d4(r30) lbl_8022D5EC: /* 8022D5EC 0022A54C 34 1E 07 88 */ addic. r0, r30, 0x788 /* 8022D5F0 0022A550 41 82 00 58 */ beq lbl_8022D648 /* 8022D5F4 0022A554 80 BE 07 88 */ lwz r5, 0x788(r30) /* 8022D5F8 0022A558 38 60 00 00 */ li r3, 0 /* 8022D5FC 0022A55C 2C 05 00 00 */ cmpwi r5, 0 /* 8022D600 0022A560 40 81 00 40 */ ble lbl_8022D640 /* 8022D604 0022A564 2C 05 00 08 */ cmpwi r5, 8 /* 8022D608 0022A568 38 85 FF F8 */ addi r4, r5, -8 /* 8022D60C 0022A56C 40 81 00 20 */ ble lbl_8022D62C /* 8022D610 0022A570 38 04 00 07 */ addi r0, r4, 7 /* 8022D614 0022A574 54 00 E8 FE */ srwi r0, r0, 3 /* 8022D618 0022A578 7C 09 03 A6 */ mtctr r0 /* 8022D61C 0022A57C 2C 04 00 00 */ cmpwi r4, 0 /* 8022D620 0022A580 40 81 00 0C */ ble lbl_8022D62C lbl_8022D624: /* 8022D624 0022A584 38 63 00 08 */ addi r3, r3, 8 /* 8022D628 0022A588 42 00 FF FC */ bdnz lbl_8022D624 lbl_8022D62C: /* 8022D62C 0022A58C 7C 03 28 50 */ subf r0, r3, r5 /* 8022D630 0022A590 7C 09 03 A6 */ mtctr r0 /* 8022D634 0022A594 7C 03 28 00 */ cmpw r3, r5 /* 8022D638 0022A598 40 80 00 08 */ bge lbl_8022D640 lbl_8022D63C: /* 8022D63C 0022A59C 42 00 00 00 */ bdnz lbl_8022D63C lbl_8022D640: /* 8022D640 0022A5A0 38 00 00 00 */ li r0, 0 /* 8022D644 0022A5A4 90 1E 07 88 */ stw r0, 0x788(r30) lbl_8022D648: /* 8022D648 0022A5A8 34 1E 07 74 */ addic. r0, r30, 0x774 /* 8022D64C 0022A5AC 41 82 00 58 */ beq lbl_8022D6A4 /* 8022D650 0022A5B0 80 BE 07 74 */ lwz r5, 0x774(r30) /* 8022D654 0022A5B4 38 60 00 00 */ li r3, 0 /* 8022D658 0022A5B8 2C 05 00 00 */ cmpwi r5, 0 /* 8022D65C 0022A5BC 40 81 00 40 */ ble lbl_8022D69C /* 8022D660 0022A5C0 2C 05 00 08 */ cmpwi r5, 8 /* 8022D664 0022A5C4 38 85 FF F8 */ addi r4, r5, -8 /* 8022D668 0022A5C8 40 81 00 20 */ ble lbl_8022D688 /* 8022D66C 0022A5CC 38 04 00 07 */ addi r0, r4, 7 /* 8022D670 0022A5D0 54 00 E8 FE */ srwi r0, r0, 3 /* 8022D674 0022A5D4 7C 09 03 A6 */ mtctr r0 /* 8022D678 0022A5D8 2C 04 00 00 */ cmpwi r4, 0 /* 8022D67C 0022A5DC 40 81 00 0C */ ble lbl_8022D688 lbl_8022D680: /* 8022D680 0022A5E0 38 63 00 08 */ addi r3, r3, 8 /* 8022D684 0022A5E4 42 00 FF FC */ bdnz lbl_8022D680 lbl_8022D688: /* 8022D688 0022A5E8 7C 03 28 50 */ subf r0, r3, r5 /* 8022D68C 0022A5EC 7C 09 03 A6 */ mtctr r0 /* 8022D690 0022A5F0 7C 03 28 00 */ cmpw r3, r5 /* 8022D694 0022A5F4 40 80 00 08 */ bge lbl_8022D69C lbl_8022D698: /* 8022D698 0022A5F8 42 00 00 00 */ bdnz lbl_8022D698 lbl_8022D69C: /* 8022D69C 0022A5FC 38 00 00 00 */ li r0, 0 /* 8022D6A0 0022A600 90 1E 07 74 */ stw r0, 0x774(r30) lbl_8022D6A4: /* 8022D6A4 0022A604 34 1E 07 60 */ addic. r0, r30, 0x760 /* 8022D6A8 0022A608 41 82 00 30 */ beq lbl_8022D6D8 /* 8022D6AC 0022A60C 88 1E 07 6C */ lbz r0, 0x76c(r30) /* 8022D6B0 0022A610 28 00 00 00 */ cmplwi r0, 0 /* 8022D6B4 0022A614 41 82 00 1C */ beq lbl_8022D6D0 /* 8022D6B8 0022A618 34 7E 07 60 */ addic. r3, r30, 0x760 /* 8022D6BC 0022A61C 41 82 00 14 */ beq lbl_8022D6D0 /* 8022D6C0 0022A620 28 03 00 00 */ cmplwi r3, 0 /* 8022D6C4 0022A624 41 82 00 0C */ beq lbl_8022D6D0 /* 8022D6C8 0022A628 38 80 00 00 */ li r4, 0 /* 8022D6CC 0022A62C 48 11 37 75 */ bl __dt__6CTokenFv lbl_8022D6D0: /* 8022D6D0 0022A630 38 00 00 00 */ li r0, 0 /* 8022D6D4 0022A634 98 1E 07 6C */ stb r0, 0x76c(r30) lbl_8022D6D8: /* 8022D6D8 0022A638 34 1E 07 38 */ addic. r0, r30, 0x738 /* 8022D6DC 0022A63C 41 82 00 24 */ beq lbl_8022D700 /* 8022D6E0 0022A640 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha /* 8022D6E4 0022A644 34 1E 07 38 */ addic. r0, r30, 0x738 /* 8022D6E8 0022A648 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l /* 8022D6EC 0022A64C 90 1E 07 38 */ stw r0, 0x738(r30) /* 8022D6F0 0022A650 41 82 00 10 */ beq lbl_8022D700 /* 8022D6F4 0022A654 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha /* 8022D6F8 0022A658 38 03 97 E4 */ addi r0, r3, __vt__19CCollisionPrimitive@l /* 8022D6FC 0022A65C 90 1E 07 38 */ stw r0, 0x738(r30) lbl_8022D700: /* 8022D700 0022A660 34 1E 07 30 */ addic. r0, r30, 0x730 /* 8022D704 0022A664 41 82 00 10 */ beq lbl_8022D714 /* 8022D708 0022A668 80 7E 07 30 */ lwz r3, 0x730(r30) /* 8022D70C 0022A66C 38 80 00 01 */ li r4, 1 /* 8022D710 0022A670 4B F7 A1 CD */ bl sub_801a78dc lbl_8022D714: /* 8022D714 0022A674 34 1E 06 F8 */ addic. r0, r30, 0x6f8 /* 8022D718 0022A678 41 82 00 14 */ beq lbl_8022D72C /* 8022D71C 0022A67C 34 1E 07 1C */ addic. r0, r30, 0x71c /* 8022D720 0022A680 41 82 00 0C */ beq lbl_8022D72C /* 8022D724 0022A684 38 00 00 00 */ li r0, 0 /* 8022D728 0022A688 98 1E 07 28 */ stb r0, 0x728(r30) lbl_8022D72C: /* 8022D72C 0022A68C 34 1E 05 D8 */ addic. r0, r30, 0x5d8 /* 8022D730 0022A690 41 82 00 14 */ beq lbl_8022D744 /* 8022D734 0022A694 34 7E 06 00 */ addic. r3, r30, 0x600 /* 8022D738 0022A698 41 82 00 0C */ beq lbl_8022D744 /* 8022D73C 0022A69C 38 80 FF FF */ li r4, -1 /* 8022D740 0022A6A0 4B ED 8E C9 */ bl __dt__16CLightParametersFv lbl_8022D744: /* 8022D744 0022A6A4 34 1E 05 D4 */ addic. r0, r30, 0x5d4 /* 8022D748 0022A6A8 41 82 00 10 */ beq lbl_8022D758 /* 8022D74C 0022A6AC 80 7E 05 D4 */ lwz r3, 0x5d4(r30) /* 8022D750 0022A6B0 38 80 00 01 */ li r4, 1 /* 8022D754 0022A6B4 4B F7 A1 89 */ bl sub_801a78dc lbl_8022D758: /* 8022D758 0022A6B8 7F C3 F3 78 */ mr r3, r30 /* 8022D75C 0022A6BC 38 80 00 00 */ li r4, 0 /* 8022D760 0022A6C0 4B E4 9E 11 */ bl __dt__10CPatternedFv /* 8022D764 0022A6C4 7F E0 07 35 */ extsh. r0, r31 /* 8022D768 0022A6C8 40 81 00 0C */ ble lbl_8022D774 /* 8022D76C 0022A6CC 7F C3 F3 78 */ mr r3, r30 /* 8022D770 0022A6D0 48 0E 81 C1 */ bl Free__7CMemoryFPCv lbl_8022D774: /* 8022D774 0022A6D4 80 01 00 14 */ lwz r0, 0x14(r1) /* 8022D778 0022A6D8 7F C3 F3 78 */ mr r3, r30 /* 8022D77C 0022A6DC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8022D780 0022A6E0 83 C1 00 08 */ lwz r30, 8(r1) /* 8022D784 0022A6E4 7C 08 03 A6 */ mtlr r0 /* 8022D788 0022A6E8 38 21 00 10 */ addi r1, r1, 0x10 /* 8022D78C 0022A6EC 4E 80 00 20 */ blr .global "__ct__12CElitePirateF9TUniqueIdRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoRC16CActorParametersRC16CElitePirateData" "__ct__12CElitePirateF9TUniqueIdRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoRC16CActorParametersRC16CElitePirateData": /* 8022D790 0022A6F0 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 8022D794 0022A6F4 7C 08 02 A6 */ mflr r0 /* 8022D798 0022A6F8 39 60 00 01 */ li r11, 1 /* 8022D79C 0022A6FC 7D 0C 43 78 */ mr r12, r8 /* 8022D7A0 0022A700 90 01 00 B4 */ stw r0, 0xb4(r1) /* 8022D7A4 0022A704 BE E1 00 8C */ stmw r23, 0x8c(r1) /* 8022D7A8 0022A708 7C D8 33 78 */ mr r24, r6 /* 8022D7AC 0022A70C 7D 3E 4B 78 */ mr r30, r9 /* 8022D7B0 0022A710 7C A6 2B 78 */ mr r6, r5 /* 8022D7B4 0022A714 7C E9 3B 78 */ mr r9, r7 /* 8022D7B8 0022A718 83 E1 00 B8 */ lwz r31, 0xb8(r1) /* 8022D7BC 0022A71C 7C 7D 1B 78 */ mr r29, r3 /* 8022D7C0 0022A720 7F 08 C3 78 */ mr r8, r24 /* 8022D7C4 0022A724 38 A1 00 20 */ addi r5, r1, 0x20 /* 8022D7C8 0022A728 38 E0 00 00 */ li r7, 0 /* 8022D7CC 0022A72C A0 04 00 00 */ lhz r0, 0(r4) /* 8022D7D0 0022A730 38 80 00 00 */ li r4, 0 /* 8022D7D4 0022A734 B0 01 00 20 */ sth r0, 0x20(r1) /* 8022D7D8 0022A738 38 00 00 02 */ li r0, 2 /* 8022D7DC 0022A73C 93 C1 00 08 */ stw r30, 8(r1) /* 8022D7E0 0022A740 90 81 00 0C */ stw r4, 0xc(r1) /* 8022D7E4 0022A744 38 80 00 08 */ li r4, 8 /* 8022D7E8 0022A748 91 61 00 10 */ stw r11, 0x10(r1) /* 8022D7EC 0022A74C 91 61 00 14 */ stw r11, 0x14(r1) /* 8022D7F0 0022A750 91 41 00 18 */ stw r10, 0x18(r1) /* 8022D7F4 0022A754 7D 8A 63 78 */ mr r10, r12 /* 8022D7F8 0022A758 90 01 00 1C */ stw r0, 0x1c(r1) /* 8022D7FC 0022A75C 4B E4 FC 55 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi" /* 8022D800 0022A760 3C 60 80 3E */ lis r3, lbl_803E7AE0@ha /* 8022D804 0022A764 38 A0 FF FF */ li r5, -1 /* 8022D808 0022A768 38 63 7A E0 */ addi r3, r3, lbl_803E7AE0@l /* 8022D80C 0022A76C 38 00 00 00 */ li r0, 0 /* 8022D810 0022A770 90 7D 00 00 */ stw r3, 0(r29) /* 8022D814 0022A774 7F E4 FB 78 */ mr r4, r31 /* 8022D818 0022A778 38 7D 05 D8 */ addi r3, r29, 0x5d8 /* 8022D81C 0022A77C 90 BD 05 68 */ stw r5, 0x568(r29) /* 8022D820 0022A780 80 DE 00 5C */ lwz r6, 0x5c(r30) /* 8022D824 0022A784 80 BE 00 60 */ lwz r5, 0x60(r30) /* 8022D828 0022A788 90 DD 05 6C */ stw r6, 0x56c(r29) /* 8022D82C 0022A78C 90 BD 05 70 */ stw r5, 0x570(r29) /* 8022D830 0022A790 80 DE 00 64 */ lwz r6, 0x64(r30) /* 8022D834 0022A794 80 BE 00 68 */ lwz r5, 0x68(r30) /* 8022D838 0022A798 90 DD 05 74 */ stw r6, 0x574(r29) /* 8022D83C 0022A79C 90 BD 05 78 */ stw r5, 0x578(r29) /* 8022D840 0022A7A0 80 DE 00 6C */ lwz r6, 0x6c(r30) /* 8022D844 0022A7A4 80 BE 00 70 */ lwz r5, 0x70(r30) /* 8022D848 0022A7A8 90 DD 05 7C */ stw r6, 0x57c(r29) /* 8022D84C 0022A7AC 90 BD 05 80 */ stw r5, 0x580(r29) /* 8022D850 0022A7B0 80 DE 00 74 */ lwz r6, 0x74(r30) /* 8022D854 0022A7B4 80 BE 00 78 */ lwz r5, 0x78(r30) /* 8022D858 0022A7B8 90 DD 05 84 */ stw r6, 0x584(r29) /* 8022D85C 0022A7BC 90 BD 05 88 */ stw r5, 0x588(r29) /* 8022D860 0022A7C0 80 DE 00 7C */ lwz r6, 0x7c(r30) /* 8022D864 0022A7C4 80 BE 00 80 */ lwz r5, 0x80(r30) /* 8022D868 0022A7C8 90 DD 05 8C */ stw r6, 0x58c(r29) /* 8022D86C 0022A7CC 90 BD 05 90 */ stw r5, 0x590(r29) /* 8022D870 0022A7D0 80 DE 00 84 */ lwz r6, 0x84(r30) /* 8022D874 0022A7D4 80 BE 00 88 */ lwz r5, 0x88(r30) /* 8022D878 0022A7D8 90 DD 05 94 */ stw r6, 0x594(r29) /* 8022D87C 0022A7DC 90 BD 05 98 */ stw r5, 0x598(r29) /* 8022D880 0022A7E0 80 DE 00 8C */ lwz r6, 0x8c(r30) /* 8022D884 0022A7E4 80 BE 00 90 */ lwz r5, 0x90(r30) /* 8022D888 0022A7E8 90 DD 05 9C */ stw r6, 0x59c(r29) /* 8022D88C 0022A7EC 90 BD 05 A0 */ stw r5, 0x5a0(r29) /* 8022D890 0022A7F0 80 BE 00 94 */ lwz r5, 0x94(r30) /* 8022D894 0022A7F4 90 BD 05 A4 */ stw r5, 0x5a4(r29) /* 8022D898 0022A7F8 80 DE 00 98 */ lwz r6, 0x98(r30) /* 8022D89C 0022A7FC 80 BE 00 9C */ lwz r5, 0x9c(r30) /* 8022D8A0 0022A800 90 DD 05 A8 */ stw r6, 0x5a8(r29) /* 8022D8A4 0022A804 90 BD 05 AC */ stw r5, 0x5ac(r29) /* 8022D8A8 0022A808 80 DE 00 A0 */ lwz r6, 0xa0(r30) /* 8022D8AC 0022A80C 80 BE 00 A4 */ lwz r5, 0xa4(r30) /* 8022D8B0 0022A810 90 DD 05 B0 */ stw r6, 0x5b0(r29) /* 8022D8B4 0022A814 90 BD 05 B4 */ stw r5, 0x5b4(r29) /* 8022D8B8 0022A818 80 DE 00 A8 */ lwz r6, 0xa8(r30) /* 8022D8BC 0022A81C 80 BE 00 AC */ lwz r5, 0xac(r30) /* 8022D8C0 0022A820 90 DD 05 B8 */ stw r6, 0x5b8(r29) /* 8022D8C4 0022A824 90 BD 05 BC */ stw r5, 0x5bc(r29) /* 8022D8C8 0022A828 80 DE 00 B0 */ lwz r6, 0xb0(r30) /* 8022D8CC 0022A82C 80 BE 00 B4 */ lwz r5, 0xb4(r30) /* 8022D8D0 0022A830 90 DD 05 C0 */ stw r6, 0x5c0(r29) /* 8022D8D4 0022A834 90 BD 05 C4 */ stw r5, 0x5c4(r29) /* 8022D8D8 0022A838 80 BE 00 B8 */ lwz r5, 0xb8(r30) /* 8022D8DC 0022A83C 90 BD 05 C8 */ stw r5, 0x5c8(r29) /* 8022D8E0 0022A840 80 BE 00 BC */ lwz r5, 0xbc(r30) /* 8022D8E4 0022A844 90 BD 05 CC */ stw r5, 0x5cc(r29) /* 8022D8E8 0022A848 80 BE 00 C0 */ lwz r5, 0xc0(r30) /* 8022D8EC 0022A84C 90 BD 05 D0 */ stw r5, 0x5d0(r29) /* 8022D8F0 0022A850 90 1D 05 D4 */ stw r0, 0x5d4(r29) /* 8022D8F4 0022A854 48 00 03 9D */ bl __ct__16CElitePirateDataFRC16CElitePirateData /* 8022D8F8 0022A858 3C 80 80 3D */ lis r4, lbl_803D3310@ha /* 8022D8FC 0022A85C 38 61 00 60 */ addi r3, r1, 0x60 /* 8022D900 0022A860 38 84 33 10 */ addi r4, r4, lbl_803D3310@l /* 8022D904 0022A864 38 84 00 54 */ addi r4, r4, 0x54 /* 8022D908 0022A868 4B DD 73 B1 */ bl string_l__4rstlFPCc /* 8022D90C 0022A86C 80 9D 00 64 */ lwz r4, 0x64(r29) /* 8022D910 0022A870 38 7D 06 F8 */ addi r3, r29, 0x6f8 /* 8022D914 0022A874 C0 22 B6 1C */ lfs f1, lbl_805AD33C@sda21(r2) /* 8022D918 0022A878 38 A1 00 60 */ addi r5, r1, 0x60 /* 8022D91C 0022A87C 80 84 00 10 */ lwz r4, 0x10(r4) /* 8022D920 0022A880 38 C0 00 00 */ li r6, 0 /* 8022D924 0022A884 C0 42 B6 20 */ lfs f2, lbl_805AD340@sda21(r2) /* 8022D928 0022A888 4B F4 80 91 */ bl "__ct__13CBoneTrackingFRC9CAnimDataRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>ffb" /* 8022D92C 0022A88C 38 61 00 60 */ addi r3, r1, 0x60 /* 8022D930 0022A890 48 11 01 B1 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 8022D934 0022A894 38 00 00 00 */ li r0, 0 /* 8022D938 0022A898 7F A4 EB 78 */ mr r4, r29 /* 8022D93C 0022A89C 90 1D 07 30 */ stw r0, 0x730(r29) /* 8022D940 0022A8A0 3B 1D 00 68 */ addi r24, r29, 0x68 /* 8022D944 0022A8A4 38 61 00 70 */ addi r3, r1, 0x70 /* 8022D948 0022A8A8 4B EE CF E5 */ bl GetBoundingBox__13CPhysicsActorCFv /* 8022D94C 0022A8AC 3A FD 07 38 */ addi r23, r29, 0x738 /* 8022D950 0022A8B0 7F 04 C3 78 */ mr r4, r24 /* 8022D954 0022A8B4 7E E3 BB 78 */ mr r3, r23 /* 8022D958 0022A8B8 48 0A 1F 5D */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList /* 8022D95C 0022A8BC 3C 60 80 3F */ lis r3, __vt__16CCollidableAABox@ha /* 8022D960 0022A8C0 3B 80 00 00 */ li r28, 0 /* 8022D964 0022A8C4 38 03 CA D0 */ addi r0, r3, __vt__16CCollidableAABox@l /* 8022D968 0022A8C8 3B 60 00 00 */ li r27, 0 /* 8022D96C 0022A8CC 90 17 00 00 */ stw r0, 0(r23) /* 8022D970 0022A8D0 3B 40 00 00 */ li r26, 0 /* 8022D974 0022A8D4 3B 20 00 00 */ li r25, 0 /* 8022D978 0022A8D8 C0 01 00 70 */ lfs f0, 0x70(r1) /* 8022D97C 0022A8DC D0 17 00 10 */ stfs f0, 0x10(r23) /* 8022D980 0022A8E0 C0 01 00 74 */ lfs f0, 0x74(r1) /* 8022D984 0022A8E4 D0 17 00 14 */ stfs f0, 0x14(r23) /* 8022D988 0022A8E8 C0 01 00 78 */ lfs f0, 0x78(r1) /* 8022D98C 0022A8EC D0 17 00 18 */ stfs f0, 0x18(r23) /* 8022D990 0022A8F0 C0 01 00 7C */ lfs f0, 0x7c(r1) /* 8022D994 0022A8F4 D0 17 00 1C */ stfs f0, 0x1c(r23) /* 8022D998 0022A8F8 C0 01 00 80 */ lfs f0, 0x80(r1) /* 8022D99C 0022A8FC D0 17 00 20 */ stfs f0, 0x20(r23) /* 8022D9A0 0022A900 C0 01 00 84 */ lfs f0, 0x84(r1) /* 8022D9A4 0022A904 D0 17 00 24 */ stfs f0, 0x24(r23) /* 8022D9A8 0022A908 80 9F 00 20 */ lwz r4, 0x20(r31) /* 8022D9AC 0022A90C 3C 04 00 01 */ addis r0, r4, 1 /* 8022D9B0 0022A910 28 00 FF FF */ cmplwi r0, 0xffff /* 8022D9B4 0022A914 41 82 00 90 */ beq lbl_8022DA44 /* 8022D9B8 0022A918 3C 60 50 41 */ lis r3, 0x50415254@ha /* 8022D9BC 0022A91C 90 81 00 30 */ stw r4, 0x30(r1) /* 8022D9C0 0022A920 38 03 52 54 */ addi r0, r3, 0x50415254@l /* 8022D9C4 0022A924 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 8022D9C8 0022A928 90 01 00 2C */ stw r0, 0x2c(r1) /* 8022D9CC 0022A92C 38 61 00 24 */ addi r3, r1, 0x24 /* 8022D9D0 0022A930 38 A1 00 2C */ addi r5, r1, 0x2c /* 8022D9D4 0022A934 81 84 00 00 */ lwz r12, 0(r4) /* 8022D9D8 0022A938 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8022D9DC 0022A93C 7D 89 03 A6 */ mtctr r12 /* 8022D9E0 0022A940 4E 80 04 21 */ bctrl /* 8022D9E4 0022A944 3A E1 00 54 */ addi r23, r1, 0x54 /* 8022D9E8 0022A948 38 81 00 24 */ addi r4, r1, 0x24 /* 8022D9EC 0022A94C 7E E3 BB 78 */ mr r3, r23 /* 8022D9F0 0022A950 3B 80 00 01 */ li r28, 1 /* 8022D9F4 0022A954 48 11 34 B5 */ bl __ct__6CTokenFRC6CToken /* 8022D9F8 0022A958 7E E3 BB 78 */ mr r3, r23 /* 8022D9FC 0022A95C 48 11 34 11 */ bl GetObj__6CTokenFv /* 8022DA00 0022A960 80 63 00 04 */ lwz r3, 4(r3) /* 8022DA04 0022A964 38 00 00 01 */ li r0, 1 /* 8022DA08 0022A968 37 41 00 44 */ addic. r26, r1, 0x44 /* 8022DA0C 0022A96C 3B 60 00 01 */ li r27, 1 /* 8022DA10 0022A970 90 61 00 5C */ stw r3, 0x5c(r1) /* 8022DA14 0022A974 98 01 00 50 */ stb r0, 0x50(r1) /* 8022DA18 0022A978 41 82 00 20 */ beq lbl_8022DA38 /* 8022DA1C 0022A97C 7F 43 D3 78 */ mr r3, r26 /* 8022DA20 0022A980 7E E4 BB 78 */ mr r4, r23 /* 8022DA24 0022A984 48 11 34 85 */ bl __ct__6CTokenFRC6CToken /* 8022DA28 0022A988 80 01 00 5C */ lwz r0, 0x5c(r1) /* 8022DA2C 0022A98C 7F 43 D3 78 */ mr r3, r26 /* 8022DA30 0022A990 90 1A 00 08 */ stw r0, 8(r26) /* 8022DA34 0022A994 48 11 33 51 */ bl Lock__6CTokenFv lbl_8022DA38: /* 8022DA38 0022A998 3B E1 00 44 */ addi r31, r1, 0x44 /* 8022DA3C 0022A99C 3B 40 00 01 */ li r26, 1 /* 8022DA40 0022A9A0 48 00 00 14 */ b lbl_8022DA54 lbl_8022DA44: /* 8022DA44 0022A9A4 38 00 00 00 */ li r0, 0 /* 8022DA48 0022A9A8 3B E1 00 34 */ addi r31, r1, 0x34 /* 8022DA4C 0022A9AC 98 01 00 40 */ stb r0, 0x40(r1) /* 8022DA50 0022A9B0 3B 20 00 01 */ li r25, 1 lbl_8022DA54: /* 8022DA54 0022A9B4 88 1F 00 0C */ lbz r0, 0xc(r31) /* 8022DA58 0022A9B8 98 1D 07 6C */ stb r0, 0x76c(r29) /* 8022DA5C 0022A9BC 88 1F 00 0C */ lbz r0, 0xc(r31) /* 8022DA60 0022A9C0 28 00 00 00 */ cmplwi r0, 0 /* 8022DA64 0022A9C4 41 82 00 28 */ beq lbl_8022DA8C /* 8022DA68 0022A9C8 37 1D 07 60 */ addic. r24, r29, 0x760 /* 8022DA6C 0022A9CC 41 82 00 20 */ beq lbl_8022DA8C /* 8022DA70 0022A9D0 7F 03 C3 78 */ mr r3, r24 /* 8022DA74 0022A9D4 7F E4 FB 78 */ mr r4, r31 /* 8022DA78 0022A9D8 48 11 34 31 */ bl __ct__6CTokenFRC6CToken /* 8022DA7C 0022A9DC 80 1F 00 08 */ lwz r0, 8(r31) /* 8022DA80 0022A9E0 7F 03 C3 78 */ mr r3, r24 /* 8022DA84 0022A9E4 90 18 00 08 */ stw r0, 8(r24) /* 8022DA88 0022A9E8 48 11 32 FD */ bl Lock__6CTokenFv lbl_8022DA8C: /* 8022DA8C 0022A9EC 7F 20 07 75 */ extsb. r0, r25 /* 8022DA90 0022A9F0 41 82 00 30 */ beq lbl_8022DAC0 /* 8022DA94 0022A9F4 88 01 00 40 */ lbz r0, 0x40(r1) /* 8022DA98 0022A9F8 28 00 00 00 */ cmplwi r0, 0 /* 8022DA9C 0022A9FC 41 82 00 1C */ beq lbl_8022DAB8 /* 8022DAA0 0022AA00 34 61 00 34 */ addic. r3, r1, 0x34 /* 8022DAA4 0022AA04 41 82 00 14 */ beq lbl_8022DAB8 /* 8022DAA8 0022AA08 28 03 00 00 */ cmplwi r3, 0 /* 8022DAAC 0022AA0C 41 82 00 0C */ beq lbl_8022DAB8 /* 8022DAB0 0022AA10 38 80 00 00 */ li r4, 0 /* 8022DAB4 0022AA14 48 11 33 8D */ bl __dt__6CTokenFv lbl_8022DAB8: /* 8022DAB8 0022AA18 38 00 00 00 */ li r0, 0 /* 8022DABC 0022AA1C 98 01 00 40 */ stb r0, 0x40(r1) lbl_8022DAC0: /* 8022DAC0 0022AA20 7F 40 07 75 */ extsb. r0, r26 /* 8022DAC4 0022AA24 41 82 00 30 */ beq lbl_8022DAF4 /* 8022DAC8 0022AA28 88 01 00 50 */ lbz r0, 0x50(r1) /* 8022DACC 0022AA2C 28 00 00 00 */ cmplwi r0, 0 /* 8022DAD0 0022AA30 41 82 00 1C */ beq lbl_8022DAEC /* 8022DAD4 0022AA34 34 61 00 44 */ addic. r3, r1, 0x44 /* 8022DAD8 0022AA38 41 82 00 14 */ beq lbl_8022DAEC /* 8022DADC 0022AA3C 28 03 00 00 */ cmplwi r3, 0 /* 8022DAE0 0022AA40 41 82 00 0C */ beq lbl_8022DAEC /* 8022DAE4 0022AA44 38 80 00 00 */ li r4, 0 /* 8022DAE8 0022AA48 48 11 33 59 */ bl __dt__6CTokenFv lbl_8022DAEC: /* 8022DAEC 0022AA4C 38 00 00 00 */ li r0, 0 /* 8022DAF0 0022AA50 98 01 00 50 */ stb r0, 0x50(r1) lbl_8022DAF4: /* 8022DAF4 0022AA54 7F 60 07 75 */ extsb. r0, r27 /* 8022DAF8 0022AA58 41 82 00 10 */ beq lbl_8022DB08 /* 8022DAFC 0022AA5C 38 61 00 54 */ addi r3, r1, 0x54 /* 8022DB00 0022AA60 38 80 00 00 */ li r4, 0 /* 8022DB04 0022AA64 48 11 33 3D */ bl __dt__6CTokenFv lbl_8022DB08: /* 8022DB08 0022AA68 7F 80 07 75 */ extsb. r0, r28 /* 8022DB0C 0022AA6C 41 82 00 10 */ beq lbl_8022DB1C /* 8022DB10 0022AA70 38 61 00 24 */ addi r3, r1, 0x24 /* 8022DB14 0022AA74 38 80 FF FF */ li r4, -1 /* 8022DB18 0022AA78 48 11 33 29 */ bl __dt__6CTokenFv lbl_8022DB1C: /* 8022DB1C 0022AA7C A0 6D A3 8C */ lhz r3, kInvalidUniqueId@sda21(r13) /* 8022DB20 0022AA80 38 E0 00 00 */ li r7, 0 /* 8022DB24 0022AA84 C0 22 B5 CC */ lfs f1, lbl_805AD2EC@sda21(r2) /* 8022DB28 0022AA88 38 00 FF FF */ li r0, -1 /* 8022DB2C 0022AA8C B0 7D 07 70 */ sth r3, 0x770(r29) /* 8022DB30 0022AA90 38 7D 07 D0 */ addi r3, r29, 0x7d0 /* 8022DB34 0022AA94 C0 02 B5 B8 */ lfs f0, lbl_805AD2D8@sda21(r2) /* 8022DB38 0022AA98 FC 40 08 90 */ fmr f2, f1 /* 8022DB3C 0022AA9C A0 CD A3 8C */ lhz r6, kInvalidUniqueId@sda21(r13) /* 8022DB40 0022AAA0 38 80 00 00 */ li r4, 0 /* 8022DB44 0022AAA4 38 A0 00 01 */ li r5, 1 /* 8022DB48 0022AAA8 B0 DD 07 72 */ sth r6, 0x772(r29) /* 8022DB4C 0022AAAC 90 FD 07 74 */ stw r7, 0x774(r29) /* 8022DB50 0022AAB0 90 FD 07 88 */ stw r7, 0x788(r29) /* 8022DB54 0022AAB4 A0 CD A3 8C */ lhz r6, kInvalidUniqueId@sda21(r13) /* 8022DB58 0022AAB8 B0 DD 07 9C */ sth r6, 0x79c(r29) /* 8022DB5C 0022AABC C0 7D 03 B4 */ lfs f3, 0x3b4(r29) /* 8022DB60 0022AAC0 D0 7D 07 A0 */ stfs f3, 0x7a0(r29) /* 8022DB64 0022AAC4 D0 3D 07 A4 */ stfs f1, 0x7a4(r29) /* 8022DB68 0022AAC8 D0 1D 07 A8 */ stfs f0, 0x7a8(r29) /* 8022DB6C 0022AACC D0 1D 07 AC */ stfs f0, 0x7ac(r29) /* 8022DB70 0022AAD0 D0 3D 07 B0 */ stfs f1, 0x7b0(r29) /* 8022DB74 0022AAD4 D0 1D 07 B4 */ stfs f0, 0x7b4(r29) /* 8022DB78 0022AAD8 D0 1D 07 B8 */ stfs f0, 0x7b8(r29) /* 8022DB7C 0022AADC D0 1D 07 BC */ stfs f0, 0x7bc(r29) /* 8022DB80 0022AAE0 D0 1D 07 C0 */ stfs f0, 0x7c0(r29) /* 8022DB84 0022AAE4 D0 1D 07 C4 */ stfs f0, 0x7c4(r29) /* 8022DB88 0022AAE8 90 1D 07 C8 */ stw r0, 0x7c8(r29) /* 8022DB8C 0022AAEC 90 FD 07 CC */ stw r7, 0x7cc(r29) /* 8022DB90 0022AAF0 80 DE 01 0C */ lwz r6, 0x10c(r30) /* 8022DB94 0022AAF4 4B F9 B2 01 */ bl __ct__15CPathFindSearchFP7CPFAreaUiff /* 8022DB98 0022AAF8 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha /* 8022DB9C 0022AAFC C0 22 B5 FC */ lfs f1, lbl_805AD31C@sda21(r2) /* 8022DBA0 0022AB00 38 83 66 A0 */ addi r4, r3, sZeroVector__9CVector3f@l /* 8022DBA4 0022AB04 38 7D 08 C0 */ addi r3, r29, 0x8c0 /* 8022DBA8 0022AB08 C0 04 00 00 */ lfs f0, 0(r4) /* 8022DBAC 0022AB0C D0 1D 08 B4 */ stfs f0, 0x8b4(r29) /* 8022DBB0 0022AB10 C0 04 00 04 */ lfs f0, 4(r4) /* 8022DBB4 0022AB14 D0 1D 08 B8 */ stfs f0, 0x8b8(r29) /* 8022DBB8 0022AB18 C0 04 00 08 */ lfs f0, 8(r4) /* 8022DBBC 0022AB1C D0 1D 08 BC */ stfs f0, 0x8bc(r29) /* 8022DBC0 0022AB20 48 07 2E 39 */ bl sub_802a09f8 /* 8022DBC4 0022AB24 88 1D 09 88 */ lbz r0, 0x988(r29) /* 8022DBC8 0022AB28 38 80 00 00 */ li r4, 0 /* 8022DBCC 0022AB2C 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 8022DBD0 0022AB30 7F A3 EB 78 */ mr r3, r29 /* 8022DBD4 0022AB34 98 1D 09 88 */ stb r0, 0x988(r29) /* 8022DBD8 0022AB38 88 1D 09 88 */ lbz r0, 0x988(r29) /* 8022DBDC 0022AB3C 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19 /* 8022DBE0 0022AB40 98 1D 09 88 */ stb r0, 0x988(r29) /* 8022DBE4 0022AB44 88 1D 09 88 */ lbz r0, 0x988(r29) /* 8022DBE8 0022AB48 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a /* 8022DBEC 0022AB4C 98 1D 09 88 */ stb r0, 0x988(r29) /* 8022DBF0 0022AB50 88 1D 09 88 */ lbz r0, 0x988(r29) /* 8022DBF4 0022AB54 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b /* 8022DBF8 0022AB58 98 1D 09 88 */ stb r0, 0x988(r29) /* 8022DBFC 0022AB5C 88 1D 09 88 */ lbz r0, 0x988(r29) /* 8022DC00 0022AB60 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c /* 8022DC04 0022AB64 98 1D 09 88 */ stb r0, 0x988(r29) /* 8022DC08 0022AB68 88 1D 09 88 */ lbz r0, 0x988(r29) /* 8022DC0C 0022AB6C 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d /* 8022DC10 0022AB70 98 1D 09 88 */ stb r0, 0x988(r29) /* 8022DC14 0022AB74 88 1D 09 88 */ lbz r0, 0x988(r29) /* 8022DC18 0022AB78 50 80 0F BC */ rlwimi r0, r4, 1, 0x1e, 0x1e /* 8022DC1C 0022AB7C 98 1D 09 88 */ stb r0, 0x988(r29) /* 8022DC20 0022AB80 88 1D 09 88 */ lbz r0, 0x988(r29) /* 8022DC24 0022AB84 50 80 07 FE */ rlwimi r0, r4, 0, 0x1f, 0x1f /* 8022DC28 0022AB88 98 1D 09 88 */ stb r0, 0x988(r29) /* 8022DC2C 0022AB8C 88 1D 09 89 */ lbz r0, 0x989(r29) /* 8022DC30 0022AB90 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 8022DC34 0022AB94 98 1D 09 89 */ stb r0, 0x989(r29) /* 8022DC38 0022AB98 88 1D 04 E1 */ lbz r0, 0x4e1(r29) /* 8022DC3C 0022AB9C 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19 /* 8022DC40 0022ABA0 98 1D 04 E1 */ stb r0, 0x4e1(r29) /* 8022DC44 0022ABA4 88 1D 04 E2 */ lbz r0, 0x4e2(r29) /* 8022DC48 0022ABA8 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 /* 8022DC4C 0022ABAC 98 1D 04 E2 */ stb r0, 0x4e2(r29) /* 8022DC50 0022ABB0 88 1D 04 E1 */ lbz r0, 0x4e1(r29) /* 8022DC54 0022ABB4 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c /* 8022DC58 0022ABB8 98 1D 04 E1 */ stb r0, 0x4e1(r29) /* 8022DC5C 0022ABBC 88 1D 04 E1 */ lbz r0, 0x4e1(r29) /* 8022DC60 0022ABC0 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d /* 8022DC64 0022ABC4 98 1D 04 E1 */ stb r0, 0x4e1(r29) /* 8022DC68 0022ABC8 88 1D 04 E1 */ lbz r0, 0x4e1(r29) /* 8022DC6C 0022ABCC 50 80 0F BC */ rlwimi r0, r4, 1, 0x1e, 0x1e /* 8022DC70 0022ABD0 98 1D 04 E1 */ stb r0, 0x4e1(r29) /* 8022DC74 0022ABD4 4B FF B5 D5 */ bl sub_80229248 /* 8022DC78 0022ABD8 7F A3 EB 78 */ mr r3, r29 /* 8022DC7C 0022ABDC BA E1 00 8C */ lmw r23, 0x8c(r1) /* 8022DC80 0022ABE0 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 8022DC84 0022ABE4 7C 08 03 A6 */ mtlr r0 /* 8022DC88 0022ABE8 38 21 00 B0 */ addi r1, r1, 0xb0 /* 8022DC8C 0022ABEC 4E 80 00 20 */ blr .global __ct__16CElitePirateDataFRC16CElitePirateData __ct__16CElitePirateDataFRC16CElitePirateData: /* 8022DC90 0022ABF0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8022DC94 0022ABF4 7C 08 02 A6 */ mflr r0 /* 8022DC98 0022ABF8 90 01 00 14 */ stw r0, 0x14(r1) /* 8022DC9C 0022ABFC 93 E1 00 0C */ stw r31, 0xc(r1) /* 8022DCA0 0022AC00 7C 9F 23 78 */ mr r31, r4 /* 8022DCA4 0022AC04 93 C1 00 08 */ stw r30, 8(r1) /* 8022DCA8 0022AC08 7C 7E 1B 78 */ mr r30, r3 /* 8022DCAC 0022AC0C 38 7E 00 28 */ addi r3, r30, 0x28 /* 8022DCB0 0022AC10 C0 04 00 00 */ lfs f0, 0(r4) /* 8022DCB4 0022AC14 38 9F 00 28 */ addi r4, r31, 0x28 /* 8022DCB8 0022AC18 D0 1E 00 00 */ stfs f0, 0(r30) /* 8022DCBC 0022AC1C C0 1F 00 04 */ lfs f0, 4(r31) /* 8022DCC0 0022AC20 D0 1E 00 04 */ stfs f0, 4(r30) /* 8022DCC4 0022AC24 C0 1F 00 08 */ lfs f0, 8(r31) /* 8022DCC8 0022AC28 D0 1E 00 08 */ stfs f0, 8(r30) /* 8022DCCC 0022AC2C C0 1F 00 0C */ lfs f0, 0xc(r31) /* 8022DCD0 0022AC30 D0 1E 00 0C */ stfs f0, 0xc(r30) /* 8022DCD4 0022AC34 C0 1F 00 10 */ lfs f0, 0x10(r31) /* 8022DCD8 0022AC38 D0 1E 00 10 */ stfs f0, 0x10(r30) /* 8022DCDC 0022AC3C C0 1F 00 14 */ lfs f0, 0x14(r31) /* 8022DCE0 0022AC40 D0 1E 00 14 */ stfs f0, 0x14(r30) /* 8022DCE4 0022AC44 C0 1F 00 18 */ lfs f0, 0x18(r31) /* 8022DCE8 0022AC48 D0 1E 00 18 */ stfs f0, 0x18(r30) /* 8022DCEC 0022AC4C C0 1F 00 1C */ lfs f0, 0x1c(r31) /* 8022DCF0 0022AC50 D0 1E 00 1C */ stfs f0, 0x1c(r30) /* 8022DCF4 0022AC54 80 1F 00 20 */ lwz r0, 0x20(r31) /* 8022DCF8 0022AC58 90 1E 00 20 */ stw r0, 0x20(r30) /* 8022DCFC 0022AC5C A0 1F 00 24 */ lhz r0, 0x24(r31) /* 8022DD00 0022AC60 B0 1E 00 24 */ sth r0, 0x24(r30) /* 8022DD04 0022AC64 4B E9 79 19 */ bl __ct__16CActorParametersFRC16CActorParameters /* 8022DD08 0022AC68 80 1F 00 90 */ lwz r0, 0x90(r31) /* 8022DD0C 0022AC6C 7F C3 F3 78 */ mr r3, r30 /* 8022DD10 0022AC70 90 1E 00 90 */ stw r0, 0x90(r30) /* 8022DD14 0022AC74 80 1F 00 94 */ lwz r0, 0x94(r31) /* 8022DD18 0022AC78 90 1E 00 94 */ stw r0, 0x94(r30) /* 8022DD1C 0022AC7C 80 1F 00 98 */ lwz r0, 0x98(r31) /* 8022DD20 0022AC80 90 1E 00 98 */ stw r0, 0x98(r30) /* 8022DD24 0022AC84 80 1F 00 9C */ lwz r0, 0x9c(r31) /* 8022DD28 0022AC88 90 1E 00 9C */ stw r0, 0x9c(r30) /* 8022DD2C 0022AC8C A0 1F 00 A0 */ lhz r0, 0xa0(r31) /* 8022DD30 0022AC90 B0 1E 00 A0 */ sth r0, 0xa0(r30) /* 8022DD34 0022AC94 80 1F 00 A4 */ lwz r0, 0xa4(r31) /* 8022DD38 0022AC98 90 1E 00 A4 */ stw r0, 0xa4(r30) /* 8022DD3C 0022AC9C 80 1F 00 A8 */ lwz r0, 0xa8(r31) /* 8022DD40 0022ACA0 90 1E 00 A8 */ stw r0, 0xa8(r30) /* 8022DD44 0022ACA4 88 1F 00 AC */ lbz r0, 0xac(r31) /* 8022DD48 0022ACA8 98 1E 00 AC */ stb r0, 0xac(r30) /* 8022DD4C 0022ACAC C0 1F 00 B0 */ lfs f0, 0xb0(r31) /* 8022DD50 0022ACB0 D0 1E 00 B0 */ stfs f0, 0xb0(r30) /* 8022DD54 0022ACB4 C0 1F 00 B4 */ lfs f0, 0xb4(r31) /* 8022DD58 0022ACB8 D0 1E 00 B4 */ stfs f0, 0xb4(r30) /* 8022DD5C 0022ACBC C0 1F 00 B8 */ lfs f0, 0xb8(r31) /* 8022DD60 0022ACC0 D0 1E 00 B8 */ stfs f0, 0xb8(r30) /* 8022DD64 0022ACC4 C0 1F 00 BC */ lfs f0, 0xbc(r31) /* 8022DD68 0022ACC8 D0 1E 00 BC */ stfs f0, 0xbc(r30) /* 8022DD6C 0022ACCC 88 1F 00 C0 */ lbz r0, 0xc0(r31) /* 8022DD70 0022ACD0 98 1E 00 C0 */ stb r0, 0xc0(r30) /* 8022DD74 0022ACD4 C0 1F 00 C4 */ lfs f0, 0xc4(r31) /* 8022DD78 0022ACD8 D0 1E 00 C4 */ stfs f0, 0xc4(r30) /* 8022DD7C 0022ACDC 80 1F 00 C8 */ lwz r0, 0xc8(r31) /* 8022DD80 0022ACE0 90 1E 00 C8 */ stw r0, 0xc8(r30) /* 8022DD84 0022ACE4 80 1F 00 CC */ lwz r0, 0xcc(r31) /* 8022DD88 0022ACE8 90 1E 00 CC */ stw r0, 0xcc(r30) /* 8022DD8C 0022ACEC 80 1F 00 D0 */ lwz r0, 0xd0(r31) /* 8022DD90 0022ACF0 90 1E 00 D0 */ stw r0, 0xd0(r30) /* 8022DD94 0022ACF4 80 1F 00 D4 */ lwz r0, 0xd4(r31) /* 8022DD98 0022ACF8 90 1E 00 D4 */ stw r0, 0xd4(r30) /* 8022DD9C 0022ACFC C0 1F 00 D8 */ lfs f0, 0xd8(r31) /* 8022DDA0 0022AD00 D0 1E 00 D8 */ stfs f0, 0xd8(r30) /* 8022DDA4 0022AD04 C0 1F 00 DC */ lfs f0, 0xdc(r31) /* 8022DDA8 0022AD08 D0 1E 00 DC */ stfs f0, 0xdc(r30) /* 8022DDAC 0022AD0C C0 1F 00 E0 */ lfs f0, 0xe0(r31) /* 8022DDB0 0022AD10 D0 1E 00 E0 */ stfs f0, 0xe0(r30) /* 8022DDB4 0022AD14 C0 1F 00 E4 */ lfs f0, 0xe4(r31) /* 8022DDB8 0022AD18 D0 1E 00 E4 */ stfs f0, 0xe4(r30) /* 8022DDBC 0022AD1C C0 1F 00 E8 */ lfs f0, 0xe8(r31) /* 8022DDC0 0022AD20 D0 1E 00 E8 */ stfs f0, 0xe8(r30) /* 8022DDC4 0022AD24 C0 1F 00 EC */ lfs f0, 0xec(r31) /* 8022DDC8 0022AD28 D0 1E 00 EC */ stfs f0, 0xec(r30) /* 8022DDCC 0022AD2C 80 1F 00 F0 */ lwz r0, 0xf0(r31) /* 8022DDD0 0022AD30 90 1E 00 F0 */ stw r0, 0xf0(r30) /* 8022DDD4 0022AD34 A0 1F 00 F4 */ lhz r0, 0xf4(r31) /* 8022DDD8 0022AD38 B0 1E 00 F4 */ sth r0, 0xf4(r30) /* 8022DDDC 0022AD3C A0 1F 00 F6 */ lhz r0, 0xf6(r31) /* 8022DDE0 0022AD40 B0 1E 00 F6 */ sth r0, 0xf6(r30) /* 8022DDE4 0022AD44 80 1F 00 F8 */ lwz r0, 0xf8(r31) /* 8022DDE8 0022AD48 90 1E 00 F8 */ stw r0, 0xf8(r30) /* 8022DDEC 0022AD4C 80 1F 00 FC */ lwz r0, 0xfc(r31) /* 8022DDF0 0022AD50 90 1E 00 FC */ stw r0, 0xfc(r30) /* 8022DDF4 0022AD54 88 1F 01 00 */ lbz r0, 0x100(r31) /* 8022DDF8 0022AD58 98 1E 01 00 */ stb r0, 0x100(r30) /* 8022DDFC 0022AD5C C0 1F 01 04 */ lfs f0, 0x104(r31) /* 8022DE00 0022AD60 D0 1E 01 04 */ stfs f0, 0x104(r30) /* 8022DE04 0022AD64 C0 1F 01 08 */ lfs f0, 0x108(r31) /* 8022DE08 0022AD68 D0 1E 01 08 */ stfs f0, 0x108(r30) /* 8022DE0C 0022AD6C C0 1F 01 0C */ lfs f0, 0x10c(r31) /* 8022DE10 0022AD70 D0 1E 01 0C */ stfs f0, 0x10c(r30) /* 8022DE14 0022AD74 C0 1F 01 10 */ lfs f0, 0x110(r31) /* 8022DE18 0022AD78 D0 1E 01 10 */ stfs f0, 0x110(r30) /* 8022DE1C 0022AD7C 88 1F 01 14 */ lbz r0, 0x114(r31) /* 8022DE20 0022AD80 98 1E 01 14 */ stb r0, 0x114(r30) /* 8022DE24 0022AD84 80 1F 01 18 */ lwz r0, 0x118(r31) /* 8022DE28 0022AD88 90 1E 01 18 */ stw r0, 0x118(r30) /* 8022DE2C 0022AD8C A0 1F 01 1C */ lhz r0, 0x11c(r31) /* 8022DE30 0022AD90 B0 1E 01 1C */ sth r0, 0x11c(r30) /* 8022DE34 0022AD94 88 1F 01 1E */ lbz r0, 0x11e(r31) /* 8022DE38 0022AD98 98 1E 01 1E */ stb r0, 0x11e(r30) /* 8022DE3C 0022AD9C 88 1F 01 1F */ lbz r0, 0x11f(r31) /* 8022DE40 0022ADA0 98 1E 01 1F */ stb r0, 0x11f(r30) /* 8022DE44 0022ADA4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8022DE48 0022ADA8 83 C1 00 08 */ lwz r30, 8(r1) /* 8022DE4C 0022ADAC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8022DE50 0022ADB0 7C 08 03 A6 */ mtlr r0 /* 8022DE54 0022ADB4 38 21 00 10 */ addi r1, r1, 0x10 /* 8022DE58 0022ADB8 4E 80 00 20 */ blr .global __ct__16CElitePirateDataFR12CInputStreami __ct__16CElitePirateDataFR12CInputStreami: /* 8022DE5C 0022ADBC 94 21 FF 70 */ stwu r1, -0x90(r1) /* 8022DE60 0022ADC0 7C 08 02 A6 */ mflr r0 /* 8022DE64 0022ADC4 90 01 00 94 */ stw r0, 0x94(r1) /* 8022DE68 0022ADC8 93 E1 00 8C */ stw r31, 0x8c(r1) /* 8022DE6C 0022ADCC 7C BF 2B 78 */ mr r31, r5 /* 8022DE70 0022ADD0 93 C1 00 88 */ stw r30, 0x88(r1) /* 8022DE74 0022ADD4 7C 9E 23 78 */ mr r30, r4 /* 8022DE78 0022ADD8 93 A1 00 84 */ stw r29, 0x84(r1) /* 8022DE7C 0022ADDC 7C 7D 1B 78 */ mr r29, r3 /* 8022DE80 0022ADE0 7F C3 F3 78 */ mr r3, r30 /* 8022DE84 0022ADE4 48 11 0D A5 */ bl ReadFloat__12CInputStreamFv /* 8022DE88 0022ADE8 D0 3D 00 00 */ stfs f1, 0(r29) /* 8022DE8C 0022ADEC 7F C3 F3 78 */ mr r3, r30 /* 8022DE90 0022ADF0 48 11 0D 99 */ bl ReadFloat__12CInputStreamFv /* 8022DE94 0022ADF4 D0 3D 00 04 */ stfs f1, 4(r29) /* 8022DE98 0022ADF8 7F C3 F3 78 */ mr r3, r30 /* 8022DE9C 0022ADFC 48 11 0D 8D */ bl ReadFloat__12CInputStreamFv /* 8022DEA0 0022AE00 D0 3D 00 08 */ stfs f1, 8(r29) /* 8022DEA4 0022AE04 7F C3 F3 78 */ mr r3, r30 /* 8022DEA8 0022AE08 48 11 0D 81 */ bl ReadFloat__12CInputStreamFv /* 8022DEAC 0022AE0C D0 3D 00 0C */ stfs f1, 0xc(r29) /* 8022DEB0 0022AE10 7F C3 F3 78 */ mr r3, r30 /* 8022DEB4 0022AE14 48 11 0D 75 */ bl ReadFloat__12CInputStreamFv /* 8022DEB8 0022AE18 D0 3D 00 10 */ stfs f1, 0x10(r29) /* 8022DEBC 0022AE1C 7F C3 F3 78 */ mr r3, r30 /* 8022DEC0 0022AE20 48 11 0D 69 */ bl ReadFloat__12CInputStreamFv /* 8022DEC4 0022AE24 D0 3D 00 14 */ stfs f1, 0x14(r29) /* 8022DEC8 0022AE28 7F C3 F3 78 */ mr r3, r30 /* 8022DECC 0022AE2C 48 11 0D 5D */ bl ReadFloat__12CInputStreamFv /* 8022DED0 0022AE30 D0 3D 00 18 */ stfs f1, 0x18(r29) /* 8022DED4 0022AE34 7F C3 F3 78 */ mr r3, r30 /* 8022DED8 0022AE38 48 11 0D 51 */ bl ReadFloat__12CInputStreamFv /* 8022DEDC 0022AE3C D0 3D 00 1C */ stfs f1, 0x1c(r29) /* 8022DEE0 0022AE40 7F C3 F3 78 */ mr r3, r30 /* 8022DEE4 0022AE44 48 11 0D A1 */ bl ReadLong__12CInputStreamFv /* 8022DEE8 0022AE48 90 7D 00 20 */ stw r3, 0x20(r29) /* 8022DEEC 0022AE4C 7F C3 F3 78 */ mr r3, r30 /* 8022DEF0 0022AE50 48 11 0D 95 */ bl ReadLong__12CInputStreamFv /* 8022DEF4 0022AE54 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8022DEF8 0022AE58 48 0B AA B9 */ bl TranslateSFXID__11CSfxManagerFUs /* 8022DEFC 0022AE5C B0 7D 00 24 */ sth r3, 0x24(r29) /* 8022DF00 0022AE60 7F C4 F3 78 */ mr r4, r30 /* 8022DF04 0022AE64 38 61 00 14 */ addi r3, r1, 0x14 /* 8022DF08 0022AE68 4B EA BE 6D */ bl LoadActorParameters__FR12CInputStream /* 8022DF0C 0022AE6C 38 7D 00 28 */ addi r3, r29, 0x28 /* 8022DF10 0022AE70 38 81 00 14 */ addi r4, r1, 0x14 /* 8022DF14 0022AE74 4B E9 77 09 */ bl __ct__16CActorParametersFRC16CActorParameters /* 8022DF18 0022AE78 38 61 00 14 */ addi r3, r1, 0x14 /* 8022DF1C 0022AE7C 38 80 FF FF */ li r4, -1 /* 8022DF20 0022AE80 4B ED 86 E9 */ bl __dt__16CLightParametersFv /* 8022DF24 0022AE84 7F C4 F3 78 */ mr r4, r30 /* 8022DF28 0022AE88 38 61 00 08 */ addi r3, r1, 8 /* 8022DF2C 0022AE8C 4B EA C4 E1 */ bl LoadAnimationParameters__FR12CInputStream /* 8022DF30 0022AE90 80 01 00 08 */ lwz r0, 8(r1) /* 8022DF34 0022AE94 7F C3 F3 78 */ mr r3, r30 /* 8022DF38 0022AE98 90 1D 00 90 */ stw r0, 0x90(r29) /* 8022DF3C 0022AE9C 80 01 00 0C */ lwz r0, 0xc(r1) /* 8022DF40 0022AEA0 90 1D 00 94 */ stw r0, 0x94(r29) /* 8022DF44 0022AEA4 80 01 00 10 */ lwz r0, 0x10(r1) /* 8022DF48 0022AEA8 90 1D 00 98 */ stw r0, 0x98(r29) /* 8022DF4C 0022AEAC 48 11 0D 39 */ bl ReadLong__12CInputStreamFv /* 8022DF50 0022AEB0 90 7D 00 9C */ stw r3, 0x9c(r29) /* 8022DF54 0022AEB4 7F C3 F3 78 */ mr r3, r30 /* 8022DF58 0022AEB8 48 11 0D 2D */ bl ReadLong__12CInputStreamFv /* 8022DF5C 0022AEBC 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8022DF60 0022AEC0 48 0B AA 51 */ bl TranslateSFXID__11CSfxManagerFUs /* 8022DF64 0022AEC4 B0 7D 00 A0 */ sth r3, 0xa0(r29) /* 8022DF68 0022AEC8 7F C3 F3 78 */ mr r3, r30 /* 8022DF6C 0022AECC 48 11 0D 19 */ bl ReadLong__12CInputStreamFv /* 8022DF70 0022AED0 90 7D 00 A4 */ stw r3, 0xa4(r29) /* 8022DF74 0022AED4 7F C4 F3 78 */ mr r4, r30 /* 8022DF78 0022AED8 38 7D 00 A8 */ addi r3, r29, 0xa8 /* 8022DF7C 0022AEDC 4B E9 55 E5 */ bl __ct__11CDamageInfoFR12CInputStream /* 8022DF80 0022AEE0 7F C3 F3 78 */ mr r3, r30 /* 8022DF84 0022AEE4 48 11 0C A5 */ bl ReadFloat__12CInputStreamFv /* 8022DF88 0022AEE8 D0 3D 00 C4 */ stfs f1, 0xc4(r29) /* 8022DF8C 0022AEEC 7F C3 F3 78 */ mr r3, r30 /* 8022DF90 0022AEF0 48 11 0C F5 */ bl ReadLong__12CInputStreamFv /* 8022DF94 0022AEF4 90 7D 00 C8 */ stw r3, 0xc8(r29) /* 8022DF98 0022AEF8 7F C3 F3 78 */ mr r3, r30 /* 8022DF9C 0022AEFC 48 11 0C E9 */ bl ReadLong__12CInputStreamFv /* 8022DFA0 0022AF00 90 7D 00 CC */ stw r3, 0xcc(r29) /* 8022DFA4 0022AF04 7F C3 F3 78 */ mr r3, r30 /* 8022DFA8 0022AF08 48 11 0C DD */ bl ReadLong__12CInputStreamFv /* 8022DFAC 0022AF0C 90 7D 00 D0 */ stw r3, 0xd0(r29) /* 8022DFB0 0022AF10 7F C3 F3 78 */ mr r3, r30 /* 8022DFB4 0022AF14 48 11 0C D1 */ bl ReadLong__12CInputStreamFv /* 8022DFB8 0022AF18 90 7D 00 D4 */ stw r3, 0xd4(r29) /* 8022DFBC 0022AF1C 7F C3 F3 78 */ mr r3, r30 /* 8022DFC0 0022AF20 48 11 0C 69 */ bl ReadFloat__12CInputStreamFv /* 8022DFC4 0022AF24 D0 3D 00 D8 */ stfs f1, 0xd8(r29) /* 8022DFC8 0022AF28 7F C3 F3 78 */ mr r3, r30 /* 8022DFCC 0022AF2C 48 11 0C 5D */ bl ReadFloat__12CInputStreamFv /* 8022DFD0 0022AF30 D0 3D 00 DC */ stfs f1, 0xdc(r29) /* 8022DFD4 0022AF34 7F C3 F3 78 */ mr r3, r30 /* 8022DFD8 0022AF38 48 11 0C 51 */ bl ReadFloat__12CInputStreamFv /* 8022DFDC 0022AF3C D0 3D 00 E0 */ stfs f1, 0xe0(r29) /* 8022DFE0 0022AF40 7F C3 F3 78 */ mr r3, r30 /* 8022DFE4 0022AF44 48 11 0C 45 */ bl ReadFloat__12CInputStreamFv /* 8022DFE8 0022AF48 D0 3D 00 E4 */ stfs f1, 0xe4(r29) /* 8022DFEC 0022AF4C 7F C3 F3 78 */ mr r3, r30 /* 8022DFF0 0022AF50 48 11 0C 39 */ bl ReadFloat__12CInputStreamFv /* 8022DFF4 0022AF54 C0 02 B6 24 */ lfs f0, lbl_805AD344@sda21(r2) /* 8022DFF8 0022AF58 7F C3 F3 78 */ mr r3, r30 /* 8022DFFC 0022AF5C EC 00 00 72 */ fmuls f0, f0, f1 /* 8022E000 0022AF60 D0 1D 00 E8 */ stfs f0, 0xe8(r29) /* 8022E004 0022AF64 48 11 0C 25 */ bl ReadFloat__12CInputStreamFv /* 8022E008 0022AF68 C0 02 B6 24 */ lfs f0, lbl_805AD344@sda21(r2) /* 8022E00C 0022AF6C 7F C3 F3 78 */ mr r3, r30 /* 8022E010 0022AF70 EC 00 00 72 */ fmuls f0, f0, f1 /* 8022E014 0022AF74 D0 1D 00 EC */ stfs f0, 0xec(r29) /* 8022E018 0022AF78 48 11 0C 6D */ bl ReadLong__12CInputStreamFv /* 8022E01C 0022AF7C 90 7D 00 F0 */ stw r3, 0xf0(r29) /* 8022E020 0022AF80 7F C3 F3 78 */ mr r3, r30 /* 8022E024 0022AF84 48 11 0C 61 */ bl ReadLong__12CInputStreamFv /* 8022E028 0022AF88 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8022E02C 0022AF8C 48 0B A9 85 */ bl TranslateSFXID__11CSfxManagerFUs /* 8022E030 0022AF90 B0 7D 00 F4 */ sth r3, 0xf4(r29) /* 8022E034 0022AF94 7F C3 F3 78 */ mr r3, r30 /* 8022E038 0022AF98 48 11 0C 4D */ bl ReadLong__12CInputStreamFv /* 8022E03C 0022AF9C 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8022E040 0022AFA0 48 0B A9 71 */ bl TranslateSFXID__11CSfxManagerFUs /* 8022E044 0022AFA4 B0 7D 00 F6 */ sth r3, 0xf6(r29) /* 8022E048 0022AFA8 7F C3 F3 78 */ mr r3, r30 /* 8022E04C 0022AFAC 48 11 0C 39 */ bl ReadLong__12CInputStreamFv /* 8022E050 0022AFB0 90 7D 00 F8 */ stw r3, 0xf8(r29) /* 8022E054 0022AFB4 7F C4 F3 78 */ mr r4, r30 /* 8022E058 0022AFB8 38 7D 00 FC */ addi r3, r29, 0xfc /* 8022E05C 0022AFBC 4B E9 55 05 */ bl __ct__11CDamageInfoFR12CInputStream /* 8022E060 0022AFC0 7F C3 F3 78 */ mr r3, r30 /* 8022E064 0022AFC4 48 11 0C 21 */ bl ReadLong__12CInputStreamFv /* 8022E068 0022AFC8 90 7D 01 18 */ stw r3, 0x118(r29) /* 8022E06C 0022AFCC 7F C3 F3 78 */ mr r3, r30 /* 8022E070 0022AFD0 48 11 0C 15 */ bl ReadLong__12CInputStreamFv /* 8022E074 0022AFD4 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8022E078 0022AFD8 48 0B A9 39 */ bl TranslateSFXID__11CSfxManagerFUs /* 8022E07C 0022AFDC B0 7D 01 1C */ sth r3, 0x11c(r29) /* 8022E080 0022AFE0 7F C3 F3 78 */ mr r3, r30 /* 8022E084 0022AFE4 48 11 0C 59 */ bl ReadBool__12CInputStreamFv /* 8022E088 0022AFE8 2C 1F 00 2A */ cmpwi r31, 0x2a /* 8022E08C 0022AFEC 98 7D 01 1E */ stb r3, 0x11e(r29) /* 8022E090 0022AFF0 41 80 00 10 */ blt lbl_8022E0A0 /* 8022E094 0022AFF4 7F C3 F3 78 */ mr r3, r30 /* 8022E098 0022AFF8 48 11 0C 45 */ bl ReadBool__12CInputStreamFv /* 8022E09C 0022AFFC 48 00 00 08 */ b lbl_8022E0A4 lbl_8022E0A0: /* 8022E0A0 0022B000 38 60 00 01 */ li r3, 1 lbl_8022E0A4: /* 8022E0A4 0022B004 98 7D 01 1F */ stb r3, 0x11f(r29) /* 8022E0A8 0022B008 7F A3 EB 78 */ mr r3, r29 /* 8022E0AC 0022B00C 80 01 00 94 */ lwz r0, 0x94(r1) /* 8022E0B0 0022B010 83 E1 00 8C */ lwz r31, 0x8c(r1) /* 8022E0B4 0022B014 83 C1 00 88 */ lwz r30, 0x88(r1) /* 8022E0B8 0022B018 83 A1 00 84 */ lwz r29, 0x84(r1) /* 8022E0BC 0022B01C 7C 08 03 A6 */ mtlr r0 /* 8022E0C0 0022B020 38 21 00 90 */ addi r1, r1, 0x90 /* 8022E0C4 0022B024 4E 80 00 20 */ blr .global __sinit_CElitePirate_cpp __sinit_CElitePirate_cpp: /* 8022E0C8 0022B028 C0 22 B6 10 */ lfs f1, lbl_805AD330@sda21(r2) /* 8022E0CC 0022B02C 3C 80 80 57 */ lis r4, skExtendedClawBounds__12CElitePirate@ha /* 8022E0D0 0022B030 C0 02 B6 04 */ lfs f0, lbl_805AD324@sda21(r2) /* 8022E0D4 0022B034 3C 60 80 57 */ lis r3, skLocalShieldBounds__12CElitePirate@ha /* 8022E0D8 0022B038 D4 24 23 E0 */ stfsu f1, skExtendedClawBounds__12CElitePirate@l(r4) /* 8022E0DC 0022B03C D4 03 23 F8 */ stfsu f0, skLocalShieldBounds__12CElitePirate@l(r3) /* 8022E0E0 0022B040 D0 24 00 04 */ stfs f1, 4(r4) /* 8022E0E4 0022B044 D0 24 00 08 */ stfs f1, 8(r4) /* 8022E0E8 0022B048 D0 03 00 04 */ stfs f0, 4(r3) /* 8022E0EC 0022B04C D0 23 00 08 */ stfs f1, 8(r3) /* 8022E0F0 0022B050 4E 80 00 20 */ blr .section .sdata2, "a" .balign 8 .global lbl_805AD2C0 lbl_805AD2C0: # ROM: 0x3F9B60 .4byte 0x00000029 .global lbl_805AD2C4 lbl_805AD2C4: # ROM: 0x3F9B64 .4byte lbl_803D3364 .global lbl_805AD2C8 lbl_805AD2C8: # ROM: 0x3F9B68 .4byte lbl_803D33A0 .global lbl_805AD2CC lbl_805AD2CC: # ROM: 0x3F9B6C .4byte lbl_803D3377 .global lbl_805AD2D0 lbl_805AD2D0: # ROM: 0x3F9B70 .4byte lbl_803D336B .global lbl_805AD2D4 lbl_805AD2D4: # ROM: 0x3F9B74 .4byte lbl_803D33B5 .global lbl_805AD2D8 lbl_805AD2D8: # ROM: 0x3F9B78 .4byte 0 .global lbl_805AD2DC lbl_805AD2DC: # ROM: 0x3F9B7C .float 0.5 .global lbl_805AD2E0 lbl_805AD2E0: # ROM: 0x3F9B80 .4byte 0x41842C71 .global lbl_805AD2E4 lbl_805AD2E4: # ROM: 0x3F9B84 .float 0.2 .global lbl_805AD2E8 lbl_805AD2E8: # ROM: 0x3F9B88 .4byte 0x40400000 .global lbl_805AD2EC lbl_805AD2EC: # ROM: 0x3F9B8C .float 1.0 .global lbl_805AD2F0 lbl_805AD2F0: # ROM: 0x3F9B90 .float 0.4 .global lbl_805AD2F4 lbl_805AD2F4: # ROM: 0x3F9B94 .4byte 0x3EAA7EFA .global lbl_805AD2F8 lbl_805AD2F8: # ROM: 0x3F9B98 .4byte 0x3F2A7EFA .global lbl_805AD2FC lbl_805AD2FC: # ROM: 0x3F9B9C .4byte 0x3F4CCCCD .global lbl_805AD300 lbl_805AD300: # ROM: 0x3F9BA0 .4byte 0x3ECCCCCC .global lbl_805AD304 lbl_805AD304: # ROM: 0x3F9BA4 .float 0.6 .global lbl_805AD308 lbl_805AD308: # ROM: 0x3F9BA8 .float 0.25 .global lbl_805AD30C lbl_805AD30C: # ROM: 0x3F9BAC .4byte 0x3BA3D70A .global lbl_805AD310 lbl_805AD310: # ROM: 0x3F9BB0 .4byte 0x41A00000 .global lbl_805AD314 lbl_805AD314: # ROM: 0x3F9BB4 .4byte 0x41200000 .global lbl_805AD318 lbl_805AD318: # ROM: 0x3F9BB8 .float 1.5 .global lbl_805AD31C lbl_805AD31C: # ROM: 0x3F9BBC .float 5.0 .global lbl_805AD320 lbl_805AD320: # ROM: 0x3F9BC0 .4byte 0x41C80000 .global lbl_805AD324 lbl_805AD324: # ROM: 0x3F9BC4 .float 4.0 .global lbl_805AD328 lbl_805AD328: # ROM: 0x3F9BC8 .4byte 0x40F00000 .global lbl_805AD32C lbl_805AD32C: # ROM: 0x3F9BCC .4byte 0x3E860A92 .global lbl_805AD330 lbl_805AD330: # ROM: 0x3F9BD0 .float 2.0 .global lbl_805AD334 lbl_805AD334: # ROM: 0x3F9BD4 .4byte 0x3FA66666 .global lbl_805AD338 lbl_805AD338: # ROM: 0x3F9BD8 .4byte 0x3F7D70A4 .global lbl_805AD33C lbl_805AD33C: # ROM: 0x3F9BDC .4byte 0x3FB2B8C3 .global lbl_805AD340 lbl_805AD340: # ROM: 0x3F9BE0 .4byte 0x40490FDB .global lbl_805AD344 lbl_805AD344: # ROM: 0x3F9BE4 .float 0.017453292 .section .rodata .balign 8 .global lbl_803D3278 lbl_803D3278: # ROM: 0x3D0278 .4byte lbl_803D3310 .4byte lbl_803D331B .float 1.0 .float 1.5 .4byte lbl_803D331B .4byte lbl_803D3323 .float 0.9 .4byte 0x3FA66666 .4byte lbl_803D332B .4byte lbl_803D3332 .float 0.9 .4byte 0x3FA66666 .global lbl_803D32A8 lbl_803D32A8: # ROM: 0x3D02A8 .4byte lbl_803D333A .4byte lbl_803D3345 .float 1.0 .float 1.5 .4byte lbl_803D3345 .4byte lbl_803D334D .float 0.9 .4byte 0x3FA66666 .4byte lbl_803D3355 .4byte lbl_803D335C .float 0.9 .4byte 0x3FA66666 .4byte lbl_803D3364 .4byte 0x3F99999A .4byte lbl_803D336B .float 1.5 .4byte lbl_803D3377 .float 1.5 .4byte lbl_803D3383 .float 1.5 .4byte lbl_803D338B .4byte 0x3F99999A .4byte lbl_803D3392 .4byte 0x3F4CCCCD .4byte lbl_803D3399 .4byte 0x3F4CCCCD .global lbl_803D3310 lbl_803D3310: # ROM: 0x3D0310 .asciz "L_shoulder" .global lbl_803D331B lbl_803D331B: # ROM: 0x3D031B .byte 0x4C .asciz "_elbow" .global lbl_803D3323 lbl_803D3323: # ROM: 0x3D0323 .byte 0x4C .asciz "_wrist" .global lbl_803D332B lbl_803D332B: # ROM: 0x3D032B .byte 0x4C .asciz "_knee" .global lbl_803D3332 lbl_803D3332: # ROM: 0x3D0332 .byte 0x4C, 0x5F .asciz "ankle" .global lbl_803D333A lbl_803D333A: # ROM: 0x3D033A .byte 0x52, 0x5F .asciz "shoulder" .global lbl_803D3345 lbl_803D3345: # ROM: 0x3D0345 .byte 0x52, 0x5F, 0x65 .asciz "lbow" .global lbl_803D334D lbl_803D334D: # ROM: 0x3D034D .byte 0x52, 0x5F, 0x77 .asciz "rist" .global lbl_803D3355 lbl_803D3355: # ROM: 0x3D0355 .byte 0x52, 0x5F, 0x6B .4byte 0x6E656500 .global lbl_803D335C lbl_803D335C: # ROM: 0x3D035C .asciz "R_ankle" .global lbl_803D3364 lbl_803D3364: # ROM: 0x3D0364 .asciz "Head_1" .global lbl_803D336B lbl_803D336B: # ROM: 0x3D036B .byte 0x4C .asciz "_Palm_LCTR" .global lbl_803D3377 lbl_803D3377: # ROM: 0x3D0377 .byte 0x52 .asciz "_Palm_LCTR" .global lbl_803D3383 lbl_803D3383: # ROM: 0x3D0383 .byte 0x53 .asciz "pine_1" .global lbl_803D338B lbl_803D338B: # ROM: 0x3D038B .byte 0x43 .asciz "ollar" .global lbl_803D3392 lbl_803D3392: # ROM: 0x3D0392 .byte 0x4C, 0x5F .asciz "ball" .global lbl_803D3399 lbl_803D3399: # ROM: 0x3D0399 .byte 0x52, 0x5F, 0x62 .4byte 0x616C6C00 .global lbl_803D33A0 lbl_803D33A0: # ROM: 0x3D03A0 .asciz "grenadeLauncher_LCTR" .global lbl_803D33B5 lbl_803D33B5: # ROM: 0x3D03B5 .byte 0x6C, 0x6F, 0x63 .asciz "kon_target_LCTR" .asciz "??(??)" .byte 0x41 .asciz "bsorb energy Fx" .asciz "Grenade Launcher" .byte 0x53, 0x68, 0x69 .4byte 0x656C6400 .asciz "Shock Wave" .balign 4 .4byte 0