pikmin2/asm/plugProjectNishimuraU/IKSystemMgr.s
EpochFlame 75c3292df0 reduce label emissions
linkmap goes faster now
2022-11-03 17:02:42 -04:00

1468 lines
72 KiB
ArmAsm

.include "macros.inc"
.section .rodata # 0x804732E0 - 0x8049E220
.balign 8
.global lbl_80489968
lbl_80489968:
.float 0.4
.float 0.3
.float 0.2
.float 0.1
.section .sbss # 0x80514D80 - 0x80516360
.balign 8
.global gIKSystemMgr__4Game
gIKSystemMgr__4Game:
.skip 0x8
.section .sdata2, "a" # 0x80516360 - 0x80520E40
.balign 8
.global lbl_8051BF70
lbl_8051BF70:
.4byte 0x42C80000
.global lbl_8051BF74
lbl_8051BF74:
.4byte 0x00000000
.global lbl_8051BF78
lbl_8051BF78:
.float 1.0
.global lbl_8051BF7C
lbl_8051BF7C:
.4byte 0x40A00000
.global lbl_8051BF80
lbl_8051BF80:
.4byte 0x40490FDB
.global lbl_8051BF84
lbl_8051BF84:
.4byte 0x3BB60B61
.global lbl_8051BF88
lbl_8051BF88:
.4byte 0x43A2F983
.global lbl_8051BF8C
lbl_8051BF8C:
.4byte 0xC3A2F983
.global lbl_8051BF90
lbl_8051BF90:
.float 0.5
.global lbl_8051BF94
lbl_8051BF94:
.4byte 0x40C90FDB
.global lbl_8051BF98
lbl_8051BF98:
.float 0.25
.4byte 0x00000000
.section .text, "ax" # 0x800056C0 - 0x80472F00
.global IKJointCallBack__4GameFP8J3DJointi
IKJointCallBack__4GameFP8J3DJointi:
/* 802A8A80 002A59C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A8A84 002A59C4 7C 08 02 A6 */ mflr r0
/* 802A8A88 002A59C8 2C 04 00 01 */ cmpwi r4, 1
/* 802A8A8C 002A59CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A8A90 002A59D0 40 82 00 14 */ bne .L_802A8AA4
/* 802A8A94 002A59D4 80 6D 96 F8 */ lwz r3, gIKSystemMgr__4Game@sda21(r13)
/* 802A8A98 002A59D8 28 03 00 00 */ cmplwi r3, 0
/* 802A8A9C 002A59DC 41 82 00 08 */ beq .L_802A8AA4
/* 802A8AA0 002A59E0 48 00 06 C1 */ bl makeMatrix__Q24Game11IKSystemMgrFv
.L_802A8AA4:
/* 802A8AA4 002A59E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A8AA8 002A59E8 38 60 00 00 */ li r3, 0
/* 802A8AAC 002A59EC 7C 08 03 A6 */ mtlr r0
/* 802A8AB0 002A59F0 38 21 00 10 */ addi r1, r1, 0x10
/* 802A8AB4 002A59F4 4E 80 00 20 */ blr
.global __ct__Q24Game11IKSystemMgrFv
__ct__Q24Game11IKSystemMgrFv:
/* 802A8AB8 002A59F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A8ABC 002A59FC 7C 08 02 A6 */ mflr r0
/* 802A8AC0 002A5A00 3C 80 80 12 */ lis r4, "__ct__10Vector3<f>Fv"@ha
/* 802A8AC4 002A5A04 38 A0 00 00 */ li r5, 0
/* 802A8AC8 002A5A08 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A8ACC 002A5A0C 38 84 F3 48 */ addi r4, r4, "__ct__10Vector3<f>Fv"@l
/* 802A8AD0 002A5A10 38 C0 00 0C */ li r6, 0xc
/* 802A8AD4 002A5A14 38 E0 00 04 */ li r7, 4
/* 802A8AD8 002A5A18 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A8ADC 002A5A1C 7C 7F 1B 78 */ mr r31, r3
/* 802A8AE0 002A5A20 38 7F 00 5C */ addi r3, r31, 0x5c
/* 802A8AE4 002A5A24 4B E1 8D 59 */ bl __construct_array
/* 802A8AE8 002A5A28 38 00 00 00 */ li r0, 0
/* 802A8AEC 002A5A2C 38 60 01 80 */ li r3, 0x180
/* 802A8AF0 002A5A30 90 0D 96 F8 */ stw r0, gIKSystemMgr__4Game@sda21(r13)
/* 802A8AF4 002A5A34 4B D7 B4 B9 */ bl __nwa__FUl
/* 802A8AF8 002A5A38 3C 80 80 2B */ lis r4, __ct__Q24Game12IKSystemBaseFv@ha
/* 802A8AFC 002A5A3C 38 A0 00 00 */ li r5, 0
/* 802A8B00 002A5A40 38 84 9E 5C */ addi r4, r4, __ct__Q24Game12IKSystemBaseFv@l
/* 802A8B04 002A5A44 38 C0 00 5C */ li r6, 0x5c
/* 802A8B08 002A5A48 38 E0 00 04 */ li r7, 4
/* 802A8B0C 002A5A4C 4B E1 8E E5 */ bl __construct_new_array
/* 802A8B10 002A5A50 90 7F 00 8C */ stw r3, 0x8c(r31)
/* 802A8B14 002A5A54 38 00 00 00 */ li r0, 0
/* 802A8B18 002A5A58 7F E3 FB 78 */ mr r3, r31
/* 802A8B1C 002A5A5C 90 1F 00 94 */ stw r0, 0x94(r31)
/* 802A8B20 002A5A60 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A8B24 002A5A64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A8B28 002A5A68 7C 08 03 A6 */ mtlr r0
/* 802A8B2C 002A5A6C 38 21 00 10 */ addi r1, r1, 0x10
/* 802A8B30 002A5A70 4E 80 00 20 */ blr
.global init__Q24Game11IKSystemMgrFPQ24Game9EnemyBasePQ24Game19JointGroundCallBack
init__Q24Game11IKSystemMgrFPQ24Game9EnemyBasePQ24Game19JointGroundCallBack:
/* 802A8B34 002A5A74 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802A8B38 002A5A78 7C 08 02 A6 */ mflr r0
/* 802A8B3C 002A5A7C 90 01 00 34 */ stw r0, 0x34(r1)
/* 802A8B40 002A5A80 38 00 00 00 */ li r0, 0
/* 802A8B44 002A5A84 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802A8B48 002A5A88 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802A8B4C 002A5A8C 93 A1 00 24 */ stw r29, 0x24(r1)
/* 802A8B50 002A5A90 7C BD 2B 78 */ mr r29, r5
/* 802A8B54 002A5A94 93 81 00 20 */ stw r28, 0x20(r1)
/* 802A8B58 002A5A98 7C 7C 1B 78 */ mr r28, r3
/* 802A8B5C 002A5A9C 90 83 00 90 */ stw r4, 0x90(r3)
/* 802A8B60 002A5AA0 98 03 00 00 */ stb r0, 0(r3)
/* 802A8B64 002A5AA4 98 03 00 01 */ stb r0, 1(r3)
/* 802A8B68 002A5AA8 98 03 00 02 */ stb r0, 2(r3)
/* 802A8B6C 002A5AAC 80 63 00 90 */ lwz r3, 0x90(r3)
/* 802A8B70 002A5AB0 81 83 00 00 */ lwz r12, 0(r3)
/* 802A8B74 002A5AB4 81 8C 00 64 */ lwz r12, 0x64(r12)
/* 802A8B78 002A5AB8 7D 89 03 A6 */ mtctr r12
/* 802A8B7C 002A5ABC 4E 80 04 21 */ bctrl
/* 802A8B80 002A5AC0 D0 3C 00 04 */ stfs f1, 4(r28)
/* 802A8B84 002A5AC4 38 00 00 00 */ li r0, 0
/* 802A8B88 002A5AC8 C0 22 DC 10 */ lfs f1, lbl_8051BF70@sda21(r2)
/* 802A8B8C 002A5ACC 38 61 00 14 */ addi r3, r1, 0x14
/* 802A8B90 002A5AD0 C0 02 DC 14 */ lfs f0, lbl_8051BF74@sda21(r2)
/* 802A8B94 002A5AD4 D0 3C 00 08 */ stfs f1, 8(r28)
/* 802A8B98 002A5AD8 D0 1C 00 0C */ stfs f0, 0xc(r28)
/* 802A8B9C 002A5ADC 90 1C 00 1C */ stw r0, 0x1c(r28)
/* 802A8BA0 002A5AE0 D0 1C 00 10 */ stfs f0, 0x10(r28)
/* 802A8BA4 002A5AE4 90 1C 00 20 */ stw r0, 0x20(r28)
/* 802A8BA8 002A5AE8 D0 1C 00 14 */ stfs f0, 0x14(r28)
/* 802A8BAC 002A5AEC 90 1C 00 24 */ stw r0, 0x24(r28)
/* 802A8BB0 002A5AF0 D0 1C 00 18 */ stfs f0, 0x18(r28)
/* 802A8BB4 002A5AF4 90 1C 00 28 */ stw r0, 0x28(r28)
/* 802A8BB8 002A5AF8 D0 1C 00 34 */ stfs f0, 0x34(r28)
/* 802A8BBC 002A5AFC D0 1C 00 30 */ stfs f0, 0x30(r28)
/* 802A8BC0 002A5B00 D0 1C 00 2C */ stfs f0, 0x2c(r28)
/* 802A8BC4 002A5B04 80 9C 00 90 */ lwz r4, 0x90(r28)
/* 802A8BC8 002A5B08 81 84 00 00 */ lwz r12, 0(r4)
/* 802A8BCC 002A5B0C 81 8C 00 08 */ lwz r12, 8(r12)
/* 802A8BD0 002A5B10 7D 89 03 A6 */ mtctr r12
/* 802A8BD4 002A5B14 4E 80 04 21 */ bctrl
/* 802A8BD8 002A5B18 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 802A8BDC 002A5B1C 38 61 00 08 */ addi r3, r1, 8
/* 802A8BE0 002A5B20 D0 1C 00 38 */ stfs f0, 0x38(r28)
/* 802A8BE4 002A5B24 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 802A8BE8 002A5B28 D0 1C 00 3C */ stfs f0, 0x3c(r28)
/* 802A8BEC 002A5B2C C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 802A8BF0 002A5B30 D0 1C 00 40 */ stfs f0, 0x40(r28)
/* 802A8BF4 002A5B34 80 9C 00 90 */ lwz r4, 0x90(r28)
/* 802A8BF8 002A5B38 81 84 00 00 */ lwz r12, 0(r4)
/* 802A8BFC 002A5B3C 81 8C 00 08 */ lwz r12, 8(r12)
/* 802A8C00 002A5B40 7D 89 03 A6 */ mtctr r12
/* 802A8C04 002A5B44 4E 80 04 21 */ bctrl
/* 802A8C08 002A5B48 C0 21 00 08 */ lfs f1, 8(r1)
/* 802A8C0C 002A5B4C 3B C0 00 00 */ li r30, 0
/* 802A8C10 002A5B50 C0 02 DC 14 */ lfs f0, lbl_8051BF74@sda21(r2)
/* 802A8C14 002A5B54 3B E0 00 00 */ li r31, 0
/* 802A8C18 002A5B58 D0 3C 00 44 */ stfs f1, 0x44(r28)
/* 802A8C1C 002A5B5C C0 21 00 0C */ lfs f1, 0xc(r1)
/* 802A8C20 002A5B60 D0 3C 00 48 */ stfs f1, 0x48(r28)
/* 802A8C24 002A5B64 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 802A8C28 002A5B68 D0 3C 00 4C */ stfs f1, 0x4c(r28)
/* 802A8C2C 002A5B6C D0 1C 00 58 */ stfs f0, 0x58(r28)
/* 802A8C30 002A5B70 D0 1C 00 54 */ stfs f0, 0x54(r28)
/* 802A8C34 002A5B74 D0 1C 00 50 */ stfs f0, 0x50(r28)
.L_802A8C38:
/* 802A8C38 002A5B78 80 1C 00 8C */ lwz r0, 0x8c(r28)
/* 802A8C3C 002A5B7C 7C 60 FA 14 */ add r3, r0, r31
/* 802A8C40 002A5B80 48 00 12 8D */ bl init__Q24Game12IKSystemBaseFv
/* 802A8C44 002A5B84 3B DE 00 01 */ addi r30, r30, 1
/* 802A8C48 002A5B88 3B FF 00 5C */ addi r31, r31, 0x5c
/* 802A8C4C 002A5B8C 2C 1E 00 04 */ cmpwi r30, 4
/* 802A8C50 002A5B90 41 80 FF E8 */ blt .L_802A8C38
/* 802A8C54 002A5B94 93 BC 00 94 */ stw r29, 0x94(r28)
/* 802A8C58 002A5B98 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802A8C5C 002A5B9C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802A8C60 002A5BA0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802A8C64 002A5BA4 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 802A8C68 002A5BA8 83 81 00 20 */ lwz r28, 0x20(r1)
/* 802A8C6C 002A5BAC 7C 08 03 A6 */ mtlr r0
/* 802A8C70 002A5BB0 38 21 00 30 */ addi r1, r1, 0x30
/* 802A8C74 002A5BB4 4E 80 00 20 */ blr
.global setupJoint__Q24Game11IKSystemMgrFPQ28SysShape5ModeliPPc
setupJoint__Q24Game11IKSystemMgrFPQ28SysShape5ModeliPPc:
/* 802A8C78 002A5BB8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A8C7C 002A5BBC 7C 08 02 A6 */ mflr r0
/* 802A8C80 002A5BC0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A8C84 002A5BC4 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 802A8C88 002A5BC8 1F C5 00 5C */ mulli r30, r5, 0x5c
/* 802A8C8C 002A5BCC 7C 7B 1B 78 */ mr r27, r3
/* 802A8C90 002A5BD0 7C 9C 23 78 */ mr r28, r4
/* 802A8C94 002A5BD4 7C DF 33 78 */ mr r31, r6
/* 802A8C98 002A5BD8 3B A0 00 00 */ li r29, 0
.L_802A8C9C:
/* 802A8C9C 002A5BDC 80 9F 00 00 */ lwz r4, 0(r31)
/* 802A8CA0 002A5BE0 7F 83 E3 78 */ mr r3, r28
/* 802A8CA4 002A5BE4 48 19 63 41 */ bl getJoint__Q28SysShape5ModelFPc
/* 802A8CA8 002A5BE8 48 18 0B F9 */ bl getWorldMatrix__Q28SysShape5JointFv
/* 802A8CAC 002A5BEC 80 1B 00 8C */ lwz r0, 0x8c(r27)
/* 802A8CB0 002A5BF0 7C 65 1B 78 */ mr r5, r3
/* 802A8CB4 002A5BF4 7F A4 EB 78 */ mr r4, r29
/* 802A8CB8 002A5BF8 7C 60 F2 14 */ add r3, r0, r30
/* 802A8CBC 002A5BFC 48 00 12 41 */ bl setLegJointMatrix__Q24Game12IKSystemBaseFiP7Matrixf
/* 802A8CC0 002A5C00 3B BD 00 01 */ addi r29, r29, 1
/* 802A8CC4 002A5C04 3B FF 00 04 */ addi r31, r31, 4
/* 802A8CC8 002A5C08 2C 1D 00 03 */ cmpwi r29, 3
/* 802A8CCC 002A5C0C 41 80 FF D0 */ blt .L_802A8C9C
/* 802A8CD0 002A5C10 BB 61 00 0C */ lmw r27, 0xc(r1)
/* 802A8CD4 002A5C14 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A8CD8 002A5C18 7C 08 03 A6 */ mtlr r0
/* 802A8CDC 002A5C1C 38 21 00 20 */ addi r1, r1, 0x20
/* 802A8CE0 002A5C20 4E 80 00 20 */ blr
.global setupCallBack__Q24Game11IKSystemMgrFPQ28SysShape5ModelPc
setupCallBack__Q24Game11IKSystemMgrFPQ28SysShape5ModelPc:
/* 802A8CE4 002A5C24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A8CE8 002A5C28 7C 08 02 A6 */ mflr r0
/* 802A8CEC 002A5C2C 7C 83 23 78 */ mr r3, r4
/* 802A8CF0 002A5C30 7C A4 2B 78 */ mr r4, r5
/* 802A8CF4 002A5C34 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A8CF8 002A5C38 48 19 62 ED */ bl getJoint__Q28SysShape5ModelFPc
/* 802A8CFC 002A5C3C 3C 80 80 2B */ lis r4, IKJointCallBack__4GameFP8J3DJointi@ha
/* 802A8D00 002A5C40 80 63 00 18 */ lwz r3, 0x18(r3)
/* 802A8D04 002A5C44 38 04 8A 80 */ addi r0, r4, IKJointCallBack__4GameFP8J3DJointi@l
/* 802A8D08 002A5C48 90 03 00 04 */ stw r0, 4(r3)
/* 802A8D0C 002A5C4C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A8D10 002A5C50 7C 08 03 A6 */ mtlr r0
/* 802A8D14 002A5C54 38 21 00 10 */ addi r1, r1, 0x10
/* 802A8D18 002A5C58 4E 80 00 20 */ blr
.global setParameters__Q24Game11IKSystemMgrFPQ24Game13IKSystemParms
setParameters__Q24Game11IKSystemMgrFPQ24Game13IKSystemParms:
/* 802A8D1C 002A5C5C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A8D20 002A5C60 7C 08 02 A6 */ mflr r0
/* 802A8D24 002A5C64 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A8D28 002A5C68 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A8D2C 002A5C6C 3B E0 00 00 */ li r31, 0
/* 802A8D30 002A5C70 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A8D34 002A5C74 3B C0 00 00 */ li r30, 0
/* 802A8D38 002A5C78 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802A8D3C 002A5C7C 7C 7D 1B 78 */ mr r29, r3
/* 802A8D40 002A5C80 90 83 00 98 */ stw r4, 0x98(r3)
.L_802A8D44:
/* 802A8D44 002A5C84 80 1D 00 8C */ lwz r0, 0x8c(r29)
/* 802A8D48 002A5C88 80 9D 00 98 */ lwz r4, 0x98(r29)
/* 802A8D4C 002A5C8C 7C 60 FA 14 */ add r3, r0, r31
/* 802A8D50 002A5C90 48 00 11 BD */ bl setParameters__Q24Game12IKSystemBaseFPQ24Game13IKSystemParms
/* 802A8D54 002A5C94 3B DE 00 01 */ addi r30, r30, 1
/* 802A8D58 002A5C98 3B FF 00 5C */ addi r31, r31, 0x5c
/* 802A8D5C 002A5C9C 2C 1E 00 04 */ cmpwi r30, 4
/* 802A8D60 002A5CA0 41 80 FF E4 */ blt .L_802A8D44
/* 802A8D64 002A5CA4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A8D68 002A5CA8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A8D6C 002A5CAC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A8D70 002A5CB0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802A8D74 002A5CB4 7C 08 03 A6 */ mtlr r0
/* 802A8D78 002A5CB8 38 21 00 20 */ addi r1, r1, 0x20
/* 802A8D7C 002A5CBC 4E 80 00 20 */ blr
.global startProgramedIK__Q24Game11IKSystemMgrFv
startProgramedIK__Q24Game11IKSystemMgrFv:
/* 802A8D80 002A5CC0 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 802A8D84 002A5CC4 7C 08 02 A6 */ mflr r0
/* 802A8D88 002A5CC8 90 01 00 84 */ stw r0, 0x84(r1)
/* 802A8D8C 002A5CCC DB E1 00 70 */ stfd f31, 0x70(r1)
/* 802A8D90 002A5CD0 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 802A8D94 002A5CD4 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 802A8D98 002A5CD8 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 802A8D9C 002A5CDC DB A1 00 50 */ stfd f29, 0x50(r1)
/* 802A8DA0 002A5CE0 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
/* 802A8DA4 002A5CE4 BF 61 00 3C */ stmw r27, 0x3c(r1)
/* 802A8DA8 002A5CE8 7C 7B 1B 78 */ mr r27, r3
/* 802A8DAC 002A5CEC 38 00 00 01 */ li r0, 1
/* 802A8DB0 002A5CF0 98 03 00 00 */ stb r0, 0(r3)
/* 802A8DB4 002A5CF4 3B E0 00 00 */ li r31, 0
/* 802A8DB8 002A5CF8 7F 7E DB 78 */ mr r30, r27
/* 802A8DBC 002A5CFC 3B 80 00 00 */ li r28, 0
/* 802A8DC0 002A5D00 9B E3 00 01 */ stb r31, 1(r3)
/* 802A8DC4 002A5D04 7F FD FB 78 */ mr r29, r31
/* 802A8DC8 002A5D08 9B E3 00 02 */ stb r31, 2(r3)
.L_802A8DCC:
/* 802A8DCC 002A5D0C 93 FE 00 1C */ stw r31, 0x1c(r30)
/* 802A8DD0 002A5D10 80 1B 00 8C */ lwz r0, 0x8c(r27)
/* 802A8DD4 002A5D14 7C 60 EA 14 */ add r3, r0, r29
/* 802A8DD8 002A5D18 48 00 11 3D */ bl startProgramedIK__Q24Game12IKSystemBaseFv
/* 802A8DDC 002A5D1C 3B 9C 00 01 */ addi r28, r28, 1
/* 802A8DE0 002A5D20 3B BD 00 5C */ addi r29, r29, 0x5c
/* 802A8DE4 002A5D24 2C 1C 00 04 */ cmpwi r28, 4
/* 802A8DE8 002A5D28 3B DE 00 04 */ addi r30, r30, 4
/* 802A8DEC 002A5D2C 41 80 FF E0 */ blt .L_802A8DCC
/* 802A8DF0 002A5D30 80 9B 00 90 */ lwz r4, 0x90(r27)
/* 802A8DF4 002A5D34 38 61 00 20 */ addi r3, r1, 0x20
/* 802A8DF8 002A5D38 81 84 00 00 */ lwz r12, 0(r4)
/* 802A8DFC 002A5D3C 81 8C 00 08 */ lwz r12, 8(r12)
/* 802A8E00 002A5D40 7D 89 03 A6 */ mtctr r12
/* 802A8E04 002A5D44 4E 80 04 21 */ bctrl
/* 802A8E08 002A5D48 C3 A1 00 20 */ lfs f29, 0x20(r1)
/* 802A8E0C 002A5D4C 38 61 00 14 */ addi r3, r1, 0x14
/* 802A8E10 002A5D50 C3 C1 00 24 */ lfs f30, 0x24(r1)
/* 802A8E14 002A5D54 C3 E1 00 28 */ lfs f31, 0x28(r1)
/* 802A8E18 002A5D58 80 9B 00 8C */ lwz r4, 0x8c(r27)
/* 802A8E1C 002A5D5C 48 00 15 41 */ bl getBottomJointPosition__Q24Game12IKSystemBaseFv
/* 802A8E20 002A5D60 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 802A8E24 002A5D64 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 802A8E28 002A5D68 EC 7E 00 28 */ fsubs f3, f30, f0
/* 802A8E2C 002A5D6C C0 21 00 1C */ lfs f1, 0x1c(r1)
/* 802A8E30 002A5D70 EC 5D 10 28 */ fsubs f2, f29, f2
/* 802A8E34 002A5D74 C0 02 DC 14 */ lfs f0, lbl_8051BF74@sda21(r2)
/* 802A8E38 002A5D78 EC 3F 08 28 */ fsubs f1, f31, f1
/* 802A8E3C 002A5D7C EC 63 00 F2 */ fmuls f3, f3, f3
/* 802A8E40 002A5D80 EC 81 00 72 */ fmuls f4, f1, f1
/* 802A8E44 002A5D84 EC 22 18 BA */ fmadds f1, f2, f2, f3
/* 802A8E48 002A5D88 EC 24 08 2A */ fadds f1, f4, f1
/* 802A8E4C 002A5D8C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A8E50 002A5D90 40 81 00 14 */ ble .L_802A8E64
/* 802A8E54 002A5D94 40 81 00 14 */ ble .L_802A8E68
/* 802A8E58 002A5D98 FC 00 08 34 */ frsqrte f0, f1
/* 802A8E5C 002A5D9C EC 20 00 72 */ fmuls f1, f0, f1
/* 802A8E60 002A5DA0 48 00 00 08 */ b .L_802A8E68
.L_802A8E64:
/* 802A8E64 002A5DA4 FC 20 00 90 */ fmr f1, f0
.L_802A8E68:
/* 802A8E68 002A5DA8 3C 60 80 51 */ lis r3, atanTable___5JMath@ha
/* 802A8E6C 002A5DAC D0 3B 00 08 */ stfs f1, 8(r27)
/* 802A8E70 002A5DB0 7F 7E DB 78 */ mr r30, r27
/* 802A8E74 002A5DB4 3B 80 00 00 */ li r28, 0
/* 802A8E78 002A5DB8 3B E3 D1 E0 */ addi r31, r3, atanTable___5JMath@l
/* 802A8E7C 002A5DBC 3B A0 00 00 */ li r29, 0
.L_802A8E80:
/* 802A8E80 002A5DC0 80 1B 00 8C */ lwz r0, 0x8c(r27)
/* 802A8E84 002A5DC4 38 61 00 08 */ addi r3, r1, 8
/* 802A8E88 002A5DC8 7C 80 EA 14 */ add r4, r0, r29
/* 802A8E8C 002A5DCC 48 00 14 D1 */ bl getBottomJointPosition__Q24Game12IKSystemBaseFv
/* 802A8E90 002A5DD0 C0 21 00 08 */ lfs f1, 8(r1)
/* 802A8E94 002A5DD4 7F E3 FB 78 */ mr r3, r31
/* 802A8E98 002A5DD8 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 802A8E9C 002A5DDC EC 21 E8 28 */ fsubs f1, f1, f29
/* 802A8EA0 002A5DE0 EC 40 F8 28 */ fsubs f2, f0, f31
/* 802A8EA4 002A5DE4 4B D8 C2 65 */ bl "atan2___Q25JMath18TAtanTable<1024,f>CFff"
/* 802A8EA8 002A5DE8 80 7B 00 90 */ lwz r3, 0x90(r27)
/* 802A8EAC 002A5DEC FF C0 08 90 */ fmr f30, f1
/* 802A8EB0 002A5DF0 81 83 00 00 */ lwz r12, 0(r3)
/* 802A8EB4 002A5DF4 81 8C 00 64 */ lwz r12, 0x64(r12)
/* 802A8EB8 002A5DF8 7D 89 03 A6 */ mtctr r12
/* 802A8EBC 002A5DFC 4E 80 04 21 */ bctrl
/* 802A8EC0 002A5E00 EC 1E 08 28 */ fsubs f0, f30, f1
/* 802A8EC4 002A5E04 3B 9C 00 01 */ addi r28, r28, 1
/* 802A8EC8 002A5E08 2C 1C 00 04 */ cmpwi r28, 4
/* 802A8ECC 002A5E0C 3B BD 00 5C */ addi r29, r29, 0x5c
/* 802A8ED0 002A5E10 D0 1E 00 0C */ stfs f0, 0xc(r30)
/* 802A8ED4 002A5E14 3B DE 00 04 */ addi r30, r30, 4
/* 802A8ED8 002A5E18 41 80 FF A8 */ blt .L_802A8E80
/* 802A8EDC 002A5E1C E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 802A8EE0 002A5E20 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 802A8EE4 002A5E24 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 802A8EE8 002A5E28 CB C1 00 60 */ lfd f30, 0x60(r1)
/* 802A8EEC 002A5E2C E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0
/* 802A8EF0 002A5E30 CB A1 00 50 */ lfd f29, 0x50(r1)
/* 802A8EF4 002A5E34 BB 61 00 3C */ lmw r27, 0x3c(r1)
/* 802A8EF8 002A5E38 80 01 00 84 */ lwz r0, 0x84(r1)
/* 802A8EFC 002A5E3C 7C 08 03 A6 */ mtlr r0
/* 802A8F00 002A5E40 38 21 00 80 */ addi r1, r1, 0x80
/* 802A8F04 002A5E44 4E 80 00 20 */ blr
.global startIKMotion__Q24Game11IKSystemMgrFv
startIKMotion__Q24Game11IKSystemMgrFv:
/* 802A8F08 002A5E48 38 80 00 01 */ li r4, 1
/* 802A8F0C 002A5E4C 38 00 00 00 */ li r0, 0
/* 802A8F10 002A5E50 98 83 00 01 */ stb r4, 1(r3)
/* 802A8F14 002A5E54 98 03 00 02 */ stb r0, 2(r3)
/* 802A8F18 002A5E58 90 03 00 1C */ stw r0, 0x1c(r3)
/* 802A8F1C 002A5E5C 90 03 00 20 */ stw r0, 0x20(r3)
/* 802A8F20 002A5E60 90 03 00 24 */ stw r0, 0x24(r3)
/* 802A8F24 002A5E64 90 03 00 28 */ stw r0, 0x28(r3)
/* 802A8F28 002A5E68 4E 80 00 20 */ blr
.global finishIKMotion__Q24Game11IKSystemMgrFv
finishIKMotion__Q24Game11IKSystemMgrFv:
/* 802A8F2C 002A5E6C 38 00 00 00 */ li r0, 0
/* 802A8F30 002A5E70 98 03 00 01 */ stb r0, 1(r3)
/* 802A8F34 002A5E74 4E 80 00 20 */ blr
.global forceFinishIKMotion__Q24Game11IKSystemMgrFv
forceFinishIKMotion__Q24Game11IKSystemMgrFv:
/* 802A8F38 002A5E78 38 80 00 00 */ li r4, 0
/* 802A8F3C 002A5E7C 38 00 00 01 */ li r0, 1
/* 802A8F40 002A5E80 98 83 00 01 */ stb r4, 1(r3)
/* 802A8F44 002A5E84 98 03 00 02 */ stb r0, 2(r3)
/* 802A8F48 002A5E88 4E 80 00 20 */ blr
.global startBlendMotion__Q24Game11IKSystemMgrFv
startBlendMotion__Q24Game11IKSystemMgrFv:
/* 802A8F4C 002A5E8C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A8F50 002A5E90 7C 08 02 A6 */ mflr r0
/* 802A8F54 002A5E94 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A8F58 002A5E98 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A8F5C 002A5E9C 3B E0 00 00 */ li r31, 0
/* 802A8F60 002A5EA0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A8F64 002A5EA4 3B C0 00 00 */ li r30, 0
/* 802A8F68 002A5EA8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802A8F6C 002A5EAC 7C 7D 1B 78 */ mr r29, r3
.L_802A8F70:
/* 802A8F70 002A5EB0 80 1D 00 8C */ lwz r0, 0x8c(r29)
/* 802A8F74 002A5EB4 7C 60 FA 14 */ add r3, r0, r31
/* 802A8F78 002A5EB8 48 00 11 81 */ bl startBlendMotion__Q24Game12IKSystemBaseFv
/* 802A8F7C 002A5EBC 3B DE 00 01 */ addi r30, r30, 1
/* 802A8F80 002A5EC0 3B FF 00 5C */ addi r31, r31, 0x5c
/* 802A8F84 002A5EC4 2C 1E 00 04 */ cmpwi r30, 4
/* 802A8F88 002A5EC8 41 80 FF E8 */ blt .L_802A8F70
/* 802A8F8C 002A5ECC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A8F90 002A5ED0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A8F94 002A5ED4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A8F98 002A5ED8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802A8F9C 002A5EDC 7C 08 03 A6 */ mtlr r0
/* 802A8FA0 002A5EE0 38 21 00 20 */ addi r1, r1, 0x20
/* 802A8FA4 002A5EE4 4E 80 00 20 */ blr
.global finishBlendMotion__Q24Game11IKSystemMgrFv
finishBlendMotion__Q24Game11IKSystemMgrFv:
/* 802A8FA8 002A5EE8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A8FAC 002A5EEC 7C 08 02 A6 */ mflr r0
/* 802A8FB0 002A5EF0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A8FB4 002A5EF4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A8FB8 002A5EF8 3B E0 00 00 */ li r31, 0
/* 802A8FBC 002A5EFC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A8FC0 002A5F00 3B C0 00 00 */ li r30, 0
/* 802A8FC4 002A5F04 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802A8FC8 002A5F08 7C 7D 1B 78 */ mr r29, r3
.L_802A8FCC:
/* 802A8FCC 002A5F0C 80 1D 00 8C */ lwz r0, 0x8c(r29)
/* 802A8FD0 002A5F10 7C 60 FA 14 */ add r3, r0, r31
/* 802A8FD4 002A5F14 48 00 11 31 */ bl finishBlendMotion__Q24Game12IKSystemBaseFv
/* 802A8FD8 002A5F18 3B DE 00 01 */ addi r30, r30, 1
/* 802A8FDC 002A5F1C 3B FF 00 5C */ addi r31, r31, 0x5c
/* 802A8FE0 002A5F20 2C 1E 00 04 */ cmpwi r30, 4
/* 802A8FE4 002A5F24 41 80 FF E8 */ blt .L_802A8FCC
/* 802A8FE8 002A5F28 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A8FEC 002A5F2C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A8FF0 002A5F30 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A8FF4 002A5F34 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802A8FF8 002A5F38 7C 08 03 A6 */ mtlr r0
/* 802A8FFC 002A5F3C 38 21 00 20 */ addi r1, r1, 0x20
/* 802A9000 002A5F40 4E 80 00 20 */ blr
.global checkJointScaleOn__Q24Game11IKSystemMgrFv
checkJointScaleOn__Q24Game11IKSystemMgrFv:
/* 802A9004 002A5F44 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A9008 002A5F48 7C 08 02 A6 */ mflr r0
/* 802A900C 002A5F4C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A9010 002A5F50 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A9014 002A5F54 3B E0 00 00 */ li r31, 0
/* 802A9018 002A5F58 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A901C 002A5F5C 3B C0 00 00 */ li r30, 0
/* 802A9020 002A5F60 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802A9024 002A5F64 7C 7D 1B 78 */ mr r29, r3
.L_802A9028:
/* 802A9028 002A5F68 80 1D 00 8C */ lwz r0, 0x8c(r29)
/* 802A902C 002A5F6C 7C 60 FA 14 */ add r3, r0, r31
/* 802A9030 002A5F70 48 00 10 E1 */ bl checkJointScaleOn__Q24Game12IKSystemBaseFv
/* 802A9034 002A5F74 3B DE 00 01 */ addi r30, r30, 1
/* 802A9038 002A5F78 3B FF 00 5C */ addi r31, r31, 0x5c
/* 802A903C 002A5F7C 2C 1E 00 04 */ cmpwi r30, 4
/* 802A9040 002A5F80 41 80 FF E8 */ blt .L_802A9028
/* 802A9044 002A5F84 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A9048 002A5F88 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A904C 002A5F8C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A9050 002A5F90 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802A9054 002A5F94 7C 08 03 A6 */ mtlr r0
/* 802A9058 002A5F98 38 21 00 20 */ addi r1, r1, 0x20
/* 802A905C 002A5F9C 4E 80 00 20 */ blr
.global isFinishIKMotion__Q24Game11IKSystemMgrFv
isFinishIKMotion__Q24Game11IKSystemMgrFv:
/* 802A9060 002A5FA0 88 03 00 01 */ lbz r0, 1(r3)
/* 802A9064 002A5FA4 28 00 00 00 */ cmplwi r0, 0
/* 802A9068 002A5FA8 40 82 00 60 */ bne .L_802A90C8
/* 802A906C 002A5FAC 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 802A9070 002A5FB0 2C 00 00 03 */ cmpwi r0, 3
/* 802A9074 002A5FB4 41 82 00 0C */ beq .L_802A9080
/* 802A9078 002A5FB8 38 60 00 00 */ li r3, 0
/* 802A907C 002A5FBC 4E 80 00 20 */ blr
.L_802A9080:
/* 802A9080 002A5FC0 80 03 00 20 */ lwz r0, 0x20(r3)
/* 802A9084 002A5FC4 2C 00 00 03 */ cmpwi r0, 3
/* 802A9088 002A5FC8 41 82 00 0C */ beq .L_802A9094
/* 802A908C 002A5FCC 38 60 00 00 */ li r3, 0
/* 802A9090 002A5FD0 4E 80 00 20 */ blr
.L_802A9094:
/* 802A9094 002A5FD4 38 63 00 08 */ addi r3, r3, 8
/* 802A9098 002A5FD8 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 802A909C 002A5FDC 2C 00 00 03 */ cmpwi r0, 3
/* 802A90A0 002A5FE0 41 82 00 0C */ beq .L_802A90AC
/* 802A90A4 002A5FE4 38 60 00 00 */ li r3, 0
/* 802A90A8 002A5FE8 4E 80 00 20 */ blr
.L_802A90AC:
/* 802A90AC 002A5FEC 80 03 00 20 */ lwz r0, 0x20(r3)
/* 802A90B0 002A5FF0 2C 00 00 03 */ cmpwi r0, 3
/* 802A90B4 002A5FF4 41 82 00 0C */ beq .L_802A90C0
/* 802A90B8 002A5FF8 38 60 00 00 */ li r3, 0
/* 802A90BC 002A5FFC 4E 80 00 20 */ blr
.L_802A90C0:
/* 802A90C0 002A6000 38 60 00 01 */ li r3, 1
/* 802A90C4 002A6004 4E 80 00 20 */ blr
.L_802A90C8:
/* 802A90C8 002A6008 38 60 00 00 */ li r3, 0
/* 802A90CC 002A600C 4E 80 00 20 */ blr
.global resetAnimationCallBack__Q24Game11IKSystemMgrFv
resetAnimationCallBack__Q24Game11IKSystemMgrFv:
/* 802A90D0 002A6010 38 00 00 00 */ li r0, 0
/* 802A90D4 002A6014 90 0D 96 F8 */ stw r0, gIKSystemMgr__4Game@sda21(r13)
/* 802A90D8 002A6018 4E 80 00 20 */ blr
.global setAnimationCallBack__Q24Game11IKSystemMgrFv
setAnimationCallBack__Q24Game11IKSystemMgrFv:
/* 802A90DC 002A601C 90 6D 96 F8 */ stw r3, gIKSystemMgr__4Game@sda21(r13)
/* 802A90E0 002A6020 4E 80 00 20 */ blr
.global doUpdate__Q24Game11IKSystemMgrFv
doUpdate__Q24Game11IKSystemMgrFv:
/* 802A90E4 002A6024 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A90E8 002A6028 7C 08 02 A6 */ mflr r0
/* 802A90EC 002A602C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A90F0 002A6030 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A90F4 002A6034 3B E0 00 00 */ li r31, 0
/* 802A90F8 002A6038 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A90FC 002A603C 3B C0 00 00 */ li r30, 0
/* 802A9100 002A6040 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802A9104 002A6044 7C 7D 1B 78 */ mr r29, r3
.L_802A9108:
/* 802A9108 002A6048 80 1D 00 8C */ lwz r0, 0x8c(r29)
/* 802A910C 002A604C 7C 60 FA 14 */ add r3, r0, r31
/* 802A9110 002A6050 48 00 10 0D */ bl update__Q24Game12IKSystemBaseFv
/* 802A9114 002A6054 3B DE 00 01 */ addi r30, r30, 1
/* 802A9118 002A6058 3B FF 00 5C */ addi r31, r31, 0x5c
/* 802A911C 002A605C 2C 1E 00 04 */ cmpwi r30, 4
/* 802A9120 002A6060 41 80 FF E8 */ blt .L_802A9108
/* 802A9124 002A6064 7F A3 EB 78 */ mr r3, r29
/* 802A9128 002A6068 48 00 01 D9 */ bl updateController__Q24Game11IKSystemMgrFv
/* 802A912C 002A606C 7F A3 EB 78 */ mr r3, r29
/* 802A9130 002A6070 48 00 08 B5 */ bl calcFaceDir__Q24Game11IKSystemMgrFv
/* 802A9134 002A6074 7F A3 EB 78 */ mr r3, r29
/* 802A9138 002A6078 48 00 09 A9 */ bl calcCentrePosition__Q24Game11IKSystemMgrFv
/* 802A913C 002A607C 7F A3 EB 78 */ mr r3, r29
/* 802A9140 002A6080 48 00 0C 39 */ bl calcTraceCentrePosition__Q24Game11IKSystemMgrFv
/* 802A9144 002A6084 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A9148 002A6088 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A914C 002A608C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A9150 002A6090 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802A9154 002A6094 7C 08 03 A6 */ mtlr r0
/* 802A9158 002A6098 38 21 00 20 */ addi r1, r1, 0x20
/* 802A915C 002A609C 4E 80 00 20 */ blr
.global makeMatrix__Q24Game11IKSystemMgrFv
makeMatrix__Q24Game11IKSystemMgrFv:
/* 802A9160 002A60A0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A9164 002A60A4 7C 08 02 A6 */ mflr r0
/* 802A9168 002A60A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A916C 002A60AC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A9170 002A60B0 3B E0 00 00 */ li r31, 0
/* 802A9174 002A60B4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A9178 002A60B8 3B C0 00 00 */ li r30, 0
/* 802A917C 002A60BC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802A9180 002A60C0 7C 7D 1B 78 */ mr r29, r3
.L_802A9184:
/* 802A9184 002A60C4 80 1D 00 8C */ lwz r0, 0x8c(r29)
/* 802A9188 002A60C8 7C 60 FA 14 */ add r3, r0, r31
/* 802A918C 002A60CC 48 00 10 0D */ bl makeMatrix__Q24Game12IKSystemBaseFv
/* 802A9190 002A60D0 3B DE 00 01 */ addi r30, r30, 1
/* 802A9194 002A60D4 3B FF 00 5C */ addi r31, r31, 0x5c
/* 802A9198 002A60D8 2C 1E 00 04 */ cmpwi r30, 4
/* 802A919C 002A60DC 41 80 FF E8 */ blt .L_802A9184
/* 802A91A0 002A60E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A91A4 002A60E4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A91A8 002A60E8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A91AC 002A60EC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802A91B0 002A60F0 7C 08 03 A6 */ mtlr r0
/* 802A91B4 002A60F4 38 21 00 20 */ addi r1, r1, 0x20
/* 802A91B8 002A60F8 4E 80 00 20 */ blr
.global getCollisionCentre__Q24Game11IKSystemMgrFi
getCollisionCentre__Q24Game11IKSystemMgrFi:
/* 802A91BC 002A60FC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A91C0 002A6100 7C 08 02 A6 */ mflr r0
/* 802A91C4 002A6104 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A91C8 002A6108 1C 05 00 5C */ mulli r0, r5, 0x5c
/* 802A91CC 002A610C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A91D0 002A6110 7C 7F 1B 78 */ mr r31, r3
/* 802A91D4 002A6114 80 84 00 8C */ lwz r4, 0x8c(r4)
/* 802A91D8 002A6118 7C 84 02 14 */ add r4, r4, r0
/* 802A91DC 002A611C 48 00 11 9D */ bl getCollisionCentre__Q24Game12IKSystemBaseFv
/* 802A91E0 002A6120 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A91E4 002A6124 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A91E8 002A6128 7C 08 03 A6 */ mtlr r0
/* 802A91EC 002A612C 38 21 00 10 */ addi r1, r1, 0x10
/* 802A91F0 002A6130 4E 80 00 20 */ blr
.global isCollisionCheck__Q24Game11IKSystemMgrFP8CollPart
isCollisionCheck__Q24Game11IKSystemMgrFP8CollPart:
/* 802A91F4 002A6134 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A91F8 002A6138 7C 08 02 A6 */ mflr r0
/* 802A91FC 002A613C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A9200 002A6140 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A9204 002A6144 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A9208 002A6148 7C 9E 23 79 */ or. r30, r4, r4
/* 802A920C 002A614C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802A9210 002A6150 7C 7D 1B 78 */ mr r29, r3
/* 802A9214 002A6154 41 82 00 CC */ beq .L_802A92E0
/* 802A9218 002A6158 3C 80 6C 66 */ lis r4, 0x6C667370@ha
/* 802A921C 002A615C 38 7E 00 30 */ addi r3, r30, 0x30
/* 802A9220 002A6160 38 84 73 70 */ addi r4, r4, 0x6C667370@l
/* 802A9224 002A6164 3B E0 FF FF */ li r31, -1
/* 802A9228 002A6168 48 16 A2 0D */ bl __eq__4ID32FUl
/* 802A922C 002A616C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A9230 002A6170 41 82 00 0C */ beq .L_802A923C
/* 802A9234 002A6174 3B E0 00 03 */ li r31, 3
/* 802A9238 002A6178 48 00 00 60 */ b .L_802A9298
.L_802A923C:
/* 802A923C 002A617C 3C 80 6C 68 */ lis r4, 0x6C687370@ha
/* 802A9240 002A6180 38 7E 00 30 */ addi r3, r30, 0x30
/* 802A9244 002A6184 38 84 73 70 */ addi r4, r4, 0x6C687370@l
/* 802A9248 002A6188 48 16 A1 ED */ bl __eq__4ID32FUl
/* 802A924C 002A618C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A9250 002A6190 41 82 00 0C */ beq .L_802A925C
/* 802A9254 002A6194 3B E0 00 01 */ li r31, 1
/* 802A9258 002A6198 48 00 00 40 */ b .L_802A9298
.L_802A925C:
/* 802A925C 002A619C 3C 80 72 66 */ lis r4, 0x72667370@ha
/* 802A9260 002A61A0 38 7E 00 30 */ addi r3, r30, 0x30
/* 802A9264 002A61A4 38 84 73 70 */ addi r4, r4, 0x72667370@l
/* 802A9268 002A61A8 48 16 A1 CD */ bl __eq__4ID32FUl
/* 802A926C 002A61AC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A9270 002A61B0 41 82 00 0C */ beq .L_802A927C
/* 802A9274 002A61B4 3B E0 00 02 */ li r31, 2
/* 802A9278 002A61B8 48 00 00 20 */ b .L_802A9298
.L_802A927C:
/* 802A927C 002A61BC 3C 80 72 68 */ lis r4, 0x72687370@ha
/* 802A9280 002A61C0 38 7E 00 30 */ addi r3, r30, 0x30
/* 802A9284 002A61C4 38 84 73 70 */ addi r4, r4, 0x72687370@l
/* 802A9288 002A61C8 48 16 A1 AD */ bl __eq__4ID32FUl
/* 802A928C 002A61CC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A9290 002A61D0 41 82 00 08 */ beq .L_802A9298
/* 802A9294 002A61D4 3B E0 00 00 */ li r31, 0
.L_802A9298:
/* 802A9298 002A61D8 2C 1F 00 00 */ cmpwi r31, 0
/* 802A929C 002A61DC 41 80 00 44 */ blt .L_802A92E0
/* 802A92A0 002A61E0 57 E0 10 3A */ slwi r0, r31, 2
/* 802A92A4 002A61E4 7C 7D 02 14 */ add r3, r29, r0
/* 802A92A8 002A61E8 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 802A92AC 002A61EC 2C 00 00 01 */ cmpwi r0, 1
/* 802A92B0 002A61F0 41 82 00 0C */ beq .L_802A92BC
/* 802A92B4 002A61F4 2C 00 00 02 */ cmpwi r0, 2
/* 802A92B8 002A61F8 40 82 00 28 */ bne .L_802A92E0
.L_802A92BC:
/* 802A92BC 002A61FC 1C 1F 00 5C */ mulli r0, r31, 0x5c
/* 802A92C0 002A6200 80 7D 00 8C */ lwz r3, 0x8c(r29)
/* 802A92C4 002A6204 7C 63 02 14 */ add r3, r3, r0
/* 802A92C8 002A6208 48 00 10 FD */ bl getMoveRatio__Q24Game12IKSystemBaseFv
/* 802A92CC 002A620C C0 02 DC 18 */ lfs f0, lbl_8051BF78@sda21(r2)
/* 802A92D0 002A6210 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A92D4 002A6214 40 81 00 0C */ ble .L_802A92E0
/* 802A92D8 002A6218 38 60 00 01 */ li r3, 1
/* 802A92DC 002A621C 48 00 00 08 */ b .L_802A92E4
.L_802A92E0:
/* 802A92E0 002A6220 38 60 00 00 */ li r3, 0
.L_802A92E4:
/* 802A92E4 002A6224 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A92E8 002A6228 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A92EC 002A622C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A92F0 002A6230 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802A92F4 002A6234 7C 08 03 A6 */ mtlr r0
/* 802A92F8 002A6238 38 21 00 20 */ addi r1, r1, 0x20
/* 802A92FC 002A623C 4E 80 00 20 */ blr
.global updateController__Q24Game11IKSystemMgrFv
updateController__Q24Game11IKSystemMgrFv:
/* 802A9300 002A6240 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 802A9304 002A6244 7C 08 02 A6 */ mflr r0
/* 802A9308 002A6248 90 01 00 84 */ stw r0, 0x84(r1)
/* 802A930C 002A624C BF 41 00 68 */ stmw r26, 0x68(r1)
/* 802A9310 002A6250 7C 7C 1B 78 */ mr r28, r3
/* 802A9314 002A6254 88 03 00 01 */ lbz r0, 1(r3)
/* 802A9318 002A6258 28 00 00 00 */ cmplwi r0, 0
/* 802A931C 002A625C 41 82 01 38 */ beq .L_802A9454
/* 802A9320 002A6260 80 1C 00 1C */ lwz r0, 0x1c(r28)
/* 802A9324 002A6264 38 80 00 01 */ li r4, 1
/* 802A9328 002A6268 2C 00 00 03 */ cmpwi r0, 3
/* 802A932C 002A626C 41 82 00 08 */ beq .L_802A9334
/* 802A9330 002A6270 38 80 00 00 */ li r4, 0
.L_802A9334:
/* 802A9334 002A6274 80 1C 00 20 */ lwz r0, 0x20(r28)
/* 802A9338 002A6278 2C 00 00 03 */ cmpwi r0, 3
/* 802A933C 002A627C 41 82 00 08 */ beq .L_802A9344
/* 802A9340 002A6280 38 80 00 00 */ li r4, 0
.L_802A9344:
/* 802A9344 002A6284 38 7C 00 08 */ addi r3, r28, 8
/* 802A9348 002A6288 80 1C 00 24 */ lwz r0, 0x24(r28)
/* 802A934C 002A628C 2C 00 00 03 */ cmpwi r0, 3
/* 802A9350 002A6290 41 82 00 08 */ beq .L_802A9358
/* 802A9354 002A6294 38 80 00 00 */ li r4, 0
.L_802A9358:
/* 802A9358 002A6298 80 03 00 20 */ lwz r0, 0x20(r3)
/* 802A935C 002A629C 2C 00 00 03 */ cmpwi r0, 3
/* 802A9360 002A62A0 41 82 00 08 */ beq .L_802A9368
/* 802A9364 002A62A4 38 80 00 00 */ li r4, 0
.L_802A9368:
/* 802A9368 002A62A8 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 802A936C 002A62AC 41 82 00 18 */ beq .L_802A9384
/* 802A9370 002A62B0 38 00 00 00 */ li r0, 0
/* 802A9374 002A62B4 90 1C 00 1C */ stw r0, 0x1c(r28)
/* 802A9378 002A62B8 90 1C 00 20 */ stw r0, 0x20(r28)
/* 802A937C 002A62BC 90 1C 00 24 */ stw r0, 0x24(r28)
/* 802A9380 002A62C0 90 1C 00 28 */ stw r0, 0x28(r28)
.L_802A9384:
/* 802A9384 002A62C4 80 1C 00 1C */ lwz r0, 0x1c(r28)
/* 802A9388 002A62C8 38 80 00 01 */ li r4, 1
/* 802A938C 002A62CC 2C 00 00 00 */ cmpwi r0, 0
/* 802A9390 002A62D0 41 82 00 08 */ beq .L_802A9398
/* 802A9394 002A62D4 38 80 00 00 */ li r4, 0
.L_802A9398:
/* 802A9398 002A62D8 80 1C 00 20 */ lwz r0, 0x20(r28)
/* 802A939C 002A62DC 2C 00 00 00 */ cmpwi r0, 0
/* 802A93A0 002A62E0 41 82 00 08 */ beq .L_802A93A8
/* 802A93A4 002A62E4 38 80 00 00 */ li r4, 0
.L_802A93A8:
/* 802A93A8 002A62E8 38 7C 00 08 */ addi r3, r28, 8
/* 802A93AC 002A62EC 80 1C 00 24 */ lwz r0, 0x24(r28)
/* 802A93B0 002A62F0 2C 00 00 00 */ cmpwi r0, 0
/* 802A93B4 002A62F4 41 82 00 08 */ beq .L_802A93BC
/* 802A93B8 002A62F8 38 80 00 00 */ li r4, 0
.L_802A93BC:
/* 802A93BC 002A62FC 80 03 00 20 */ lwz r0, 0x20(r3)
/* 802A93C0 002A6300 2C 00 00 00 */ cmpwi r0, 0
/* 802A93C4 002A6304 41 82 00 08 */ beq .L_802A93CC
/* 802A93C8 002A6308 38 80 00 00 */ li r4, 0
.L_802A93CC:
/* 802A93CC 002A630C 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 802A93D0 002A6310 41 82 00 84 */ beq .L_802A9454
/* 802A93D4 002A6314 7F 83 E3 78 */ mr r3, r28
/* 802A93D8 002A6318 48 00 02 31 */ bl setNextCentrePosition__Q24Game11IKSystemMgrFv
/* 802A93DC 002A631C 80 7C 00 8C */ lwz r3, 0x8c(r28)
/* 802A93E0 002A6320 38 9C 00 5C */ addi r4, r28, 0x5c
/* 802A93E4 002A6324 48 00 0C 21 */ bl "startMovePosition__Q24Game12IKSystemBaseFR10Vector3<f>"
/* 802A93E8 002A6328 38 00 00 01 */ li r0, 1
/* 802A93EC 002A632C 90 1C 00 1C */ stw r0, 0x1c(r28)
/* 802A93F0 002A6330 80 1C 00 94 */ lwz r0, 0x94(r28)
/* 802A93F4 002A6334 28 00 00 00 */ cmplwi r0, 0
/* 802A93F8 002A6338 41 82 00 5C */ beq .L_802A9454
/* 802A93FC 002A633C 80 9C 00 8C */ lwz r4, 0x8c(r28)
/* 802A9400 002A6340 38 61 00 20 */ addi r3, r1, 0x20
/* 802A9404 002A6344 48 00 0F 59 */ bl getBottomJointPosition__Q24Game12IKSystemBaseFv
/* 802A9408 002A6348 C0 61 00 20 */ lfs f3, 0x20(r1)
/* 802A940C 002A634C 38 81 00 4C */ addi r4, r1, 0x4c
/* 802A9410 002A6350 C0 41 00 24 */ lfs f2, 0x24(r1)
/* 802A9414 002A6354 C0 21 00 28 */ lfs f1, 0x28(r1)
/* 802A9418 002A6358 C0 02 DC 1C */ lfs f0, lbl_8051BF7C@sda21(r2)
/* 802A941C 002A635C D0 61 00 4C */ stfs f3, 0x4c(r1)
/* 802A9420 002A6360 80 6D 93 08 */ lwz r3, mapMgr__4Game@sda21(r13)
/* 802A9424 002A6364 D0 41 00 50 */ stfs f2, 0x50(r1)
/* 802A9428 002A6368 D0 21 00 54 */ stfs f1, 0x54(r1)
/* 802A942C 002A636C D0 01 00 58 */ stfs f0, 0x58(r1)
/* 802A9430 002A6370 4B EB A4 F9 */ bl findWater__Q24Game6MapMgrFRQ23Sys6Sphere
/* 802A9434 002A6374 7C 60 1B 78 */ mr r0, r3
/* 802A9438 002A6378 80 7C 00 94 */ lwz r3, 0x94(r28)
/* 802A943C 002A637C 7C 05 03 78 */ mr r5, r0
/* 802A9440 002A6380 38 80 00 00 */ li r4, 0
/* 802A9444 002A6384 81 83 00 00 */ lwz r12, 0(r3)
/* 802A9448 002A6388 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A944C 002A638C 7D 89 03 A6 */ mtctr r12
/* 802A9450 002A6390 4E 80 04 21 */ bctrl
.L_802A9454:
/* 802A9454 002A6394 7F 9F E3 78 */ mr r31, r28
/* 802A9458 002A6398 3B A0 00 00 */ li r29, 0
/* 802A945C 002A639C 3B C0 00 00 */ li r30, 0
.L_802A9460:
/* 802A9460 002A63A0 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 802A9464 002A63A4 2C 00 00 01 */ cmpwi r0, 1
/* 802A9468 002A63A8 40 82 00 24 */ bne .L_802A948C
/* 802A946C 002A63AC 80 1C 00 8C */ lwz r0, 0x8c(r28)
/* 802A9470 002A63B0 7C 60 F2 14 */ add r3, r0, r30
/* 802A9474 002A63B4 48 00 0E E1 */ bl onGround__Q24Game12IKSystemBaseFv
/* 802A9478 002A63B8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A947C 002A63BC 41 82 01 64 */ beq .L_802A95E0
/* 802A9480 002A63C0 38 00 00 02 */ li r0, 2
/* 802A9484 002A63C4 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 802A9488 002A63C8 48 00 01 58 */ b .L_802A95E0
.L_802A948C:
/* 802A948C 002A63CC 2C 00 00 02 */ cmpwi r0, 2
/* 802A9490 002A63D0 40 82 01 50 */ bne .L_802A95E0
/* 802A9494 002A63D4 38 00 00 03 */ li r0, 3
/* 802A9498 002A63D8 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 802A949C 002A63DC 80 7C 00 98 */ lwz r3, 0x98(r28)
/* 802A94A0 002A63E0 C0 3C 00 54 */ lfs f1, 0x54(r28)
/* 802A94A4 002A63E4 C0 03 00 44 */ lfs f0, 0x44(r3)
/* 802A94A8 002A63E8 EC 01 00 2A */ fadds f0, f1, f0
/* 802A94AC 002A63EC D0 1C 00 54 */ stfs f0, 0x54(r28)
/* 802A94B0 002A63F0 80 1C 00 94 */ lwz r0, 0x94(r28)
/* 802A94B4 002A63F4 28 00 00 00 */ cmplwi r0, 0
/* 802A94B8 002A63F8 41 82 00 60 */ beq .L_802A9518
/* 802A94BC 002A63FC 80 1C 00 8C */ lwz r0, 0x8c(r28)
/* 802A94C0 002A6400 38 61 00 14 */ addi r3, r1, 0x14
/* 802A94C4 002A6404 7C 80 F2 14 */ add r4, r0, r30
/* 802A94C8 002A6408 48 00 0E 95 */ bl getBottomJointPosition__Q24Game12IKSystemBaseFv
/* 802A94CC 002A640C C0 61 00 14 */ lfs f3, 0x14(r1)
/* 802A94D0 002A6410 38 81 00 3C */ addi r4, r1, 0x3c
/* 802A94D4 002A6414 C0 41 00 18 */ lfs f2, 0x18(r1)
/* 802A94D8 002A6418 C0 21 00 1C */ lfs f1, 0x1c(r1)
/* 802A94DC 002A641C C0 02 DC 1C */ lfs f0, lbl_8051BF7C@sda21(r2)
/* 802A94E0 002A6420 D0 61 00 3C */ stfs f3, 0x3c(r1)
/* 802A94E4 002A6424 80 6D 93 08 */ lwz r3, mapMgr__4Game@sda21(r13)
/* 802A94E8 002A6428 D0 41 00 40 */ stfs f2, 0x40(r1)
/* 802A94EC 002A642C D0 21 00 44 */ stfs f1, 0x44(r1)
/* 802A94F0 002A6430 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 802A94F4 002A6434 4B EB A4 35 */ bl findWater__Q24Game6MapMgrFRQ23Sys6Sphere
/* 802A94F8 002A6438 7C 60 1B 78 */ mr r0, r3
/* 802A94FC 002A643C 80 7C 00 94 */ lwz r3, 0x94(r28)
/* 802A9500 002A6440 7C 05 03 78 */ mr r5, r0
/* 802A9504 002A6444 7F A4 EB 78 */ mr r4, r29
/* 802A9508 002A6448 81 83 00 00 */ lwz r12, 0(r3)
/* 802A950C 002A644C 81 8C 00 08 */ lwz r12, 8(r12)
/* 802A9510 002A6450 7D 89 03 A6 */ mtctr r12
/* 802A9514 002A6454 4E 80 04 21 */ bctrl
.L_802A9518:
/* 802A9518 002A6458 34 1D 00 01 */ addic. r0, r29, 1
/* 802A951C 002A645C 40 80 00 0C */ bge .L_802A9528
/* 802A9520 002A6460 3B 7D 00 05 */ addi r27, r29, 5
/* 802A9524 002A6464 48 00 00 14 */ b .L_802A9538
.L_802A9528:
/* 802A9528 002A6468 3B 7D 00 01 */ addi r27, r29, 1
/* 802A952C 002A646C 2C 1B 00 03 */ cmpwi r27, 3
/* 802A9530 002A6470 40 81 00 08 */ ble .L_802A9538
/* 802A9534 002A6474 3B 7D FF FD */ addi r27, r29, -3
.L_802A9538:
/* 802A9538 002A6478 2C 1B 00 00 */ cmpwi r27, 0
/* 802A953C 002A647C 40 81 00 A4 */ ble .L_802A95E0
/* 802A9540 002A6480 88 1C 00 02 */ lbz r0, 2(r28)
/* 802A9544 002A6484 28 00 00 00 */ cmplwi r0, 0
/* 802A9548 002A6488 40 82 00 98 */ bne .L_802A95E0
/* 802A954C 002A648C 1C 7B 00 0C */ mulli r3, r27, 0xc
/* 802A9550 002A6490 80 1C 00 8C */ lwz r0, 0x8c(r28)
/* 802A9554 002A6494 1F 5B 00 5C */ mulli r26, r27, 0x5c
/* 802A9558 002A6498 38 83 00 5C */ addi r4, r3, 0x5c
/* 802A955C 002A649C 7C 60 D2 14 */ add r3, r0, r26
/* 802A9560 002A64A0 7C 9C 22 14 */ add r4, r28, r4
/* 802A9564 002A64A4 48 00 0A A1 */ bl "startMovePosition__Q24Game12IKSystemBaseFR10Vector3<f>"
/* 802A9568 002A64A8 57 63 10 3A */ slwi r3, r27, 2
/* 802A956C 002A64AC 38 80 00 01 */ li r4, 1
/* 802A9570 002A64B0 38 03 00 1C */ addi r0, r3, 0x1c
/* 802A9574 002A64B4 7C 9C 01 2E */ stwx r4, r28, r0
/* 802A9578 002A64B8 80 1C 00 94 */ lwz r0, 0x94(r28)
/* 802A957C 002A64BC 28 00 00 00 */ cmplwi r0, 0
/* 802A9580 002A64C0 41 82 00 60 */ beq .L_802A95E0
/* 802A9584 002A64C4 80 1C 00 8C */ lwz r0, 0x8c(r28)
/* 802A9588 002A64C8 38 61 00 08 */ addi r3, r1, 8
/* 802A958C 002A64CC 7C 80 D2 14 */ add r4, r0, r26
/* 802A9590 002A64D0 48 00 0D CD */ bl getBottomJointPosition__Q24Game12IKSystemBaseFv
/* 802A9594 002A64D4 C0 61 00 08 */ lfs f3, 8(r1)
/* 802A9598 002A64D8 38 81 00 2C */ addi r4, r1, 0x2c
/* 802A959C 002A64DC C0 41 00 0C */ lfs f2, 0xc(r1)
/* 802A95A0 002A64E0 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 802A95A4 002A64E4 C0 02 DC 1C */ lfs f0, lbl_8051BF7C@sda21(r2)
/* 802A95A8 002A64E8 D0 61 00 2C */ stfs f3, 0x2c(r1)
/* 802A95AC 002A64EC 80 6D 93 08 */ lwz r3, mapMgr__4Game@sda21(r13)
/* 802A95B0 002A64F0 D0 41 00 30 */ stfs f2, 0x30(r1)
/* 802A95B4 002A64F4 D0 21 00 34 */ stfs f1, 0x34(r1)
/* 802A95B8 002A64F8 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 802A95BC 002A64FC 4B EB A3 6D */ bl findWater__Q24Game6MapMgrFRQ23Sys6Sphere
/* 802A95C0 002A6500 7C 60 1B 78 */ mr r0, r3
/* 802A95C4 002A6504 80 7C 00 94 */ lwz r3, 0x94(r28)
/* 802A95C8 002A6508 7C 05 03 78 */ mr r5, r0
/* 802A95CC 002A650C 7F 64 DB 78 */ mr r4, r27
/* 802A95D0 002A6510 81 83 00 00 */ lwz r12, 0(r3)
/* 802A95D4 002A6514 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A95D8 002A6518 7D 89 03 A6 */ mtctr r12
/* 802A95DC 002A651C 4E 80 04 21 */ bctrl
.L_802A95E0:
/* 802A95E0 002A6520 3B BD 00 01 */ addi r29, r29, 1
/* 802A95E4 002A6524 3B DE 00 5C */ addi r30, r30, 0x5c
/* 802A95E8 002A6528 2C 1D 00 04 */ cmpwi r29, 4
/* 802A95EC 002A652C 3B FF 00 04 */ addi r31, r31, 4
/* 802A95F0 002A6530 41 80 FE 70 */ blt .L_802A9460
/* 802A95F4 002A6534 BB 41 00 68 */ lmw r26, 0x68(r1)
/* 802A95F8 002A6538 80 01 00 84 */ lwz r0, 0x84(r1)
/* 802A95FC 002A653C 7C 08 03 A6 */ mtlr r0
/* 802A9600 002A6540 38 21 00 80 */ addi r1, r1, 0x80
/* 802A9604 002A6544 4E 80 00 20 */ blr
.global setNextCentrePosition__Q24Game11IKSystemMgrFv
setNextCentrePosition__Q24Game11IKSystemMgrFv:
/* 802A9608 002A6548 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 802A960C 002A654C 7C 08 02 A6 */ mflr r0
/* 802A9610 002A6550 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 802A9614 002A6554 DB E1 00 90 */ stfd f31, 0x90(r1)
/* 802A9618 002A6558 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0
/* 802A961C 002A655C DB C1 00 80 */ stfd f30, 0x80(r1)
/* 802A9620 002A6560 F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0
/* 802A9624 002A6564 DB A1 00 70 */ stfd f29, 0x70(r1)
/* 802A9628 002A6568 F3 A1 00 78 */ psq_st f29, 120(r1), 0, qr0
/* 802A962C 002A656C DB 81 00 60 */ stfd f28, 0x60(r1)
/* 802A9630 002A6570 F3 81 00 68 */ psq_st f28, 104(r1), 0, qr0
/* 802A9634 002A6574 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 802A9638 002A6578 93 C1 00 58 */ stw r30, 0x58(r1)
/* 802A963C 002A657C 7C 7F 1B 78 */ mr r31, r3
/* 802A9640 002A6580 38 61 00 14 */ addi r3, r1, 0x14
/* 802A9644 002A6584 83 DF 00 90 */ lwz r30, 0x90(r31)
/* 802A9648 002A6588 7F C4 F3 78 */ mr r4, r30
/* 802A964C 002A658C 81 9E 00 00 */ lwz r12, 0(r30)
/* 802A9650 002A6590 81 8C 00 08 */ lwz r12, 8(r12)
/* 802A9654 002A6594 7D 89 03 A6 */ mtctr r12
/* 802A9658 002A6598 4E 80 04 21 */ bctrl
/* 802A965C 002A659C C0 A1 00 14 */ lfs f5, 0x14(r1)
/* 802A9660 002A65A0 3C 60 80 51 */ lis r3, atanTable___5JMath@ha
/* 802A9664 002A65A4 C0 61 00 1C */ lfs f3, 0x1c(r1)
/* 802A9668 002A65A8 38 63 D1 E0 */ addi r3, r3, atanTable___5JMath@l
/* 802A966C 002A65AC C0 3F 00 2C */ lfs f1, 0x2c(r31)
/* 802A9670 002A65B0 C0 1F 00 34 */ lfs f0, 0x34(r31)
/* 802A9674 002A65B4 C0 81 00 18 */ lfs f4, 0x18(r1)
/* 802A9678 002A65B8 EC 21 28 28 */ fsubs f1, f1, f5
/* 802A967C 002A65BC EC 40 18 28 */ fsubs f2, f0, f3
/* 802A9680 002A65C0 D0 A1 00 08 */ stfs f5, 8(r1)
/* 802A9684 002A65C4 D0 81 00 0C */ stfs f4, 0xc(r1)
/* 802A9688 002A65C8 D0 61 00 10 */ stfs f3, 0x10(r1)
/* 802A968C 002A65CC 4B D8 BA 7D */ bl "atan2___Q25JMath18TAtanTable<1024,f>CFff"
/* 802A9690 002A65D0 48 16 85 41 */ bl roundAng__Ff
/* 802A9694 002A65D4 81 9E 00 00 */ lwz r12, 0(r30)
/* 802A9698 002A65D8 FF 80 08 90 */ fmr f28, f1
/* 802A969C 002A65DC 7F C3 F3 78 */ mr r3, r30
/* 802A96A0 002A65E0 81 8C 00 64 */ lwz r12, 0x64(r12)
/* 802A96A4 002A65E4 7D 89 03 A6 */ mtctr r12
/* 802A96A8 002A65E8 4E 80 04 21 */ bctrl
/* 802A96AC 002A65EC FC 40 08 90 */ fmr f2, f1
/* 802A96B0 002A65F0 FC 20 E0 90 */ fmr f1, f28
/* 802A96B4 002A65F4 48 16 85 49 */ bl angDist__Fff
/* 802A96B8 002A65F8 80 7F 00 98 */ lwz r3, 0x98(r31)
/* 802A96BC 002A65FC FF 80 08 90 */ fmr f28, f1
/* 802A96C0 002A6600 C0 02 DC 24 */ lfs f0, lbl_8051BF84@sda21(r2)
/* 802A96C4 002A6604 C0 43 00 34 */ lfs f2, 0x34(r3)
/* 802A96C8 002A6608 C0 22 DC 20 */ lfs f1, lbl_8051BF80@sda21(r2)
/* 802A96CC 002A660C EC 00 00 B2 */ fmuls f0, f0, f2
/* 802A96D0 002A6610 FC 40 E2 10 */ fabs f2, f28
/* 802A96D4 002A6614 EC 01 00 32 */ fmuls f0, f1, f0
/* 802A96D8 002A6618 FC 20 10 18 */ frsp f1, f2
/* 802A96DC 002A661C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A96E0 002A6620 4C 40 13 82 */ cror 2, 0, 2
/* 802A96E4 002A6624 40 82 01 74 */ bne .L_802A9858
/* 802A96E8 002A6628 80 9F 00 90 */ lwz r4, 0x90(r31)
/* 802A96EC 002A662C 38 61 00 2C */ addi r3, r1, 0x2c
/* 802A96F0 002A6630 81 84 00 00 */ lwz r12, 0(r4)
/* 802A96F4 002A6634 81 8C 00 08 */ lwz r12, 8(r12)
/* 802A96F8 002A6638 7D 89 03 A6 */ mtctr r12
/* 802A96FC 002A663C 4E 80 04 21 */ bctrl
/* 802A9700 002A6640 C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 802A9704 002A6644 C3 FF 00 2C */ lfs f31, 0x2c(r31)
/* 802A9708 002A6648 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 802A970C 002A664C C3 BF 00 34 */ lfs f29, 0x34(r31)
/* 802A9710 002A6650 EC 41 F8 28 */ fsubs f2, f1, f31
/* 802A9714 002A6654 C3 C2 DC 14 */ lfs f30, lbl_8051BF74@sda21(r2)
/* 802A9718 002A6658 EC 60 E8 28 */ fsubs f3, f0, f29
/* 802A971C 002A665C EC 42 F0 BA */ fmadds f2, f2, f2, f30
/* 802A9720 002A6660 EC 63 00 F2 */ fmuls f3, f3, f3
/* 802A9724 002A6664 EC 43 10 2A */ fadds f2, f3, f2
/* 802A9728 002A6668 FC 02 F0 40 */ fcmpo cr0, f2, f30
/* 802A972C 002A666C 40 81 00 14 */ ble .L_802A9740
/* 802A9730 002A6670 40 81 00 14 */ ble .L_802A9744
/* 802A9734 002A6674 FC 60 10 34 */ frsqrte f3, f2
/* 802A9738 002A6678 EC 43 00 B2 */ fmuls f2, f3, f2
/* 802A973C 002A667C 48 00 00 08 */ b .L_802A9744
.L_802A9740:
/* 802A9740 002A6680 FC 40 F0 90 */ fmr f2, f30
.L_802A9744:
/* 802A9744 002A6684 80 7F 00 98 */ lwz r3, 0x98(r31)
/* 802A9748 002A6688 C0 A3 00 2C */ lfs f5, 0x2c(r3)
/* 802A974C 002A668C FC 02 28 40 */ fcmpo cr0, f2, f5
/* 802A9750 002A6690 40 81 00 80 */ ble .L_802A97D0
/* 802A9754 002A6694 C0 62 DC 14 */ lfs f3, lbl_8051BF74@sda21(r2)
/* 802A9758 002A6698 EF BD 00 28 */ fsubs f29, f29, f0
/* 802A975C 002A669C EF FF 08 28 */ fsubs f31, f31, f1
/* 802A9760 002A66A0 EF DE 18 28 */ fsubs f30, f30, f3
/* 802A9764 002A66A4 EC 9D 07 72 */ fmuls f4, f29, f29
/* 802A9768 002A66A8 EC 5E 07 B2 */ fmuls f2, f30, f30
/* 802A976C 002A66AC EC 5F 17 FA */ fmadds f2, f31, f31, f2
/* 802A9770 002A66B0 EC 84 10 2A */ fadds f4, f4, f2
/* 802A9774 002A66B4 FC 04 18 40 */ fcmpo cr0, f4, f3
/* 802A9778 002A66B8 40 81 00 14 */ ble .L_802A978C
/* 802A977C 002A66BC 40 81 00 14 */ ble .L_802A9790
/* 802A9780 002A66C0 FC 40 20 34 */ frsqrte f2, f4
/* 802A9784 002A66C4 EC 82 01 32 */ fmuls f4, f2, f4
/* 802A9788 002A66C8 48 00 00 08 */ b .L_802A9790
.L_802A978C:
/* 802A978C 002A66CC FC 80 18 90 */ fmr f4, f3
.L_802A9790:
/* 802A9790 002A66D0 C0 42 DC 14 */ lfs f2, lbl_8051BF74@sda21(r2)
/* 802A9794 002A66D4 FC 04 10 40 */ fcmpo cr0, f4, f2
/* 802A9798 002A66D8 40 81 00 18 */ ble .L_802A97B0
/* 802A979C 002A66DC C0 42 DC 18 */ lfs f2, lbl_8051BF78@sda21(r2)
/* 802A97A0 002A66E0 EC 42 20 24 */ fdivs f2, f2, f4
/* 802A97A4 002A66E4 EF FF 00 B2 */ fmuls f31, f31, f2
/* 802A97A8 002A66E8 EF DE 00 B2 */ fmuls f30, f30, f2
/* 802A97AC 002A66EC EF BD 00 B2 */ fmuls f29, f29, f2
.L_802A97B0:
/* 802A97B0 002A66F0 EF FF 01 72 */ fmuls f31, f31, f5
/* 802A97B4 002A66F4 C0 42 DC 14 */ lfs f2, lbl_8051BF74@sda21(r2)
/* 802A97B8 002A66F8 EF DE 01 72 */ fmuls f30, f30, f5
/* 802A97BC 002A66FC EF BD 01 72 */ fmuls f29, f29, f5
/* 802A97C0 002A6700 EF FF 08 2A */ fadds f31, f31, f1
/* 802A97C4 002A6704 EF DE 10 2A */ fadds f30, f30, f2
/* 802A97C8 002A6708 EF BD 00 2A */ fadds f29, f29, f0
/* 802A97CC 002A670C 48 00 00 F0 */ b .L_802A98BC
.L_802A97D0:
/* 802A97D0 002A6710 C0 A3 00 30 */ lfs f5, 0x30(r3)
/* 802A97D4 002A6714 FC 02 28 40 */ fcmpo cr0, f2, f5
/* 802A97D8 002A6718 40 80 00 E4 */ bge .L_802A98BC
/* 802A97DC 002A671C C0 62 DC 14 */ lfs f3, lbl_8051BF74@sda21(r2)
/* 802A97E0 002A6720 EF BD 00 28 */ fsubs f29, f29, f0
/* 802A97E4 002A6724 EF FF 08 28 */ fsubs f31, f31, f1
/* 802A97E8 002A6728 EF DE 18 28 */ fsubs f30, f30, f3
/* 802A97EC 002A672C EC 9D 07 72 */ fmuls f4, f29, f29
/* 802A97F0 002A6730 EC 5E 07 B2 */ fmuls f2, f30, f30
/* 802A97F4 002A6734 EC 5F 17 FA */ fmadds f2, f31, f31, f2
/* 802A97F8 002A6738 EC 84 10 2A */ fadds f4, f4, f2
/* 802A97FC 002A673C FC 04 18 40 */ fcmpo cr0, f4, f3
/* 802A9800 002A6740 40 81 00 14 */ ble .L_802A9814
/* 802A9804 002A6744 40 81 00 14 */ ble .L_802A9818
/* 802A9808 002A6748 FC 40 20 34 */ frsqrte f2, f4
/* 802A980C 002A674C EC 82 01 32 */ fmuls f4, f2, f4
/* 802A9810 002A6750 48 00 00 08 */ b .L_802A9818
.L_802A9814:
/* 802A9814 002A6754 FC 80 18 90 */ fmr f4, f3
.L_802A9818:
/* 802A9818 002A6758 C0 42 DC 14 */ lfs f2, lbl_8051BF74@sda21(r2)
/* 802A981C 002A675C FC 04 10 40 */ fcmpo cr0, f4, f2
/* 802A9820 002A6760 40 81 00 18 */ ble .L_802A9838
/* 802A9824 002A6764 C0 42 DC 18 */ lfs f2, lbl_8051BF78@sda21(r2)
/* 802A9828 002A6768 EC 42 20 24 */ fdivs f2, f2, f4
/* 802A982C 002A676C EF FF 00 B2 */ fmuls f31, f31, f2
/* 802A9830 002A6770 EF DE 00 B2 */ fmuls f30, f30, f2
/* 802A9834 002A6774 EF BD 00 B2 */ fmuls f29, f29, f2
.L_802A9838:
/* 802A9838 002A6778 EF FF 01 72 */ fmuls f31, f31, f5
/* 802A983C 002A677C C0 42 DC 14 */ lfs f2, lbl_8051BF74@sda21(r2)
/* 802A9840 002A6780 EF DE 01 72 */ fmuls f30, f30, f5
/* 802A9844 002A6784 EF BD 01 72 */ fmuls f29, f29, f5
/* 802A9848 002A6788 EF FF 08 2A */ fadds f31, f31, f1
/* 802A984C 002A678C EF DE 10 2A */ fadds f30, f30, f2
/* 802A9850 002A6790 EF BD 00 2A */ fadds f29, f29, f0
/* 802A9854 002A6794 48 00 00 68 */ b .L_802A98BC
.L_802A9858:
/* 802A9858 002A6798 80 9F 00 90 */ lwz r4, 0x90(r31)
/* 802A985C 002A679C 38 61 00 20 */ addi r3, r1, 0x20
/* 802A9860 002A67A0 81 84 00 00 */ lwz r12, 0(r4)
/* 802A9864 002A67A4 81 8C 00 08 */ lwz r12, 8(r12)
/* 802A9868 002A67A8 7D 89 03 A6 */ mtctr r12
/* 802A986C 002A67AC 4E 80 04 21 */ bctrl
/* 802A9870 002A67B0 80 7F 00 98 */ lwz r3, 0x98(r31)
/* 802A9874 002A67B4 FC 40 E2 10 */ fabs f2, f28
/* 802A9878 002A67B8 C0 02 DC 24 */ lfs f0, lbl_8051BF84@sda21(r2)
/* 802A987C 002A67BC C0 63 00 38 */ lfs f3, 0x38(r3)
/* 802A9880 002A67C0 C0 22 DC 20 */ lfs f1, lbl_8051BF80@sda21(r2)
/* 802A9884 002A67C4 FC 40 10 18 */ frsp f2, f2
/* 802A9888 002A67C8 EC 00 00 F2 */ fmuls f0, f0, f3
/* 802A988C 002A67CC C3 E1 00 20 */ lfs f31, 0x20(r1)
/* 802A9890 002A67D0 C3 A1 00 28 */ lfs f29, 0x28(r1)
/* 802A9894 002A67D4 C3 C2 DC 14 */ lfs f30, lbl_8051BF74@sda21(r2)
/* 802A9898 002A67D8 EC 01 00 32 */ fmuls f0, f1, f0
/* 802A989C 002A67DC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802A98A0 002A67E0 4C 40 13 82 */ cror 2, 0, 2
/* 802A98A4 002A67E4 41 82 00 18 */ beq .L_802A98BC
/* 802A98A8 002A67E8 FC 1C F0 40 */ fcmpo cr0, f28, f30
/* 802A98AC 002A67EC 40 81 00 0C */ ble .L_802A98B8
/* 802A98B0 002A67F0 FF 80 00 90 */ fmr f28, f0
/* 802A98B4 002A67F4 48 00 00 08 */ b .L_802A98BC
.L_802A98B8:
/* 802A98B8 002A67F8 FF 80 00 50 */ fneg f28, f0
.L_802A98BC:
/* 802A98BC 002A67FC 80 7F 00 90 */ lwz r3, 0x90(r31)
/* 802A98C0 002A6800 81 83 00 00 */ lwz r12, 0(r3)
/* 802A98C4 002A6804 81 8C 00 64 */ lwz r12, 0x64(r12)
/* 802A98C8 002A6808 7D 89 03 A6 */ mtctr r12
/* 802A98CC 002A680C 4E 80 04 21 */ bctrl
/* 802A98D0 002A6810 C0 82 DC 14 */ lfs f4, lbl_8051BF74@sda21(r2)
/* 802A98D4 002A6814 3C 60 80 50 */ lis r3, sincosTable___5JMath@ha
/* 802A98D8 002A6818 EC DC 08 2A */ fadds f6, f28, f1
/* 802A98DC 002A681C 38 00 00 04 */ li r0, 4
/* 802A98E0 002A6820 EC 3E 20 2A */ fadds f1, f30, f4
/* 802A98E4 002A6824 7F E5 FB 78 */ mr r5, r31
/* 802A98E8 002A6828 7F E6 FB 78 */ mr r6, r31
/* 802A98EC 002A682C 38 83 71 A0 */ addi r4, r3, sincosTable___5JMath@l
/* 802A98F0 002A6830 C0 62 DC 28 */ lfs f3, lbl_8051BF88@sda21(r2)
/* 802A98F4 002A6834 7C 09 03 A6 */ mtctr r0
.L_802A98F8:
/* 802A98F8 002A6838 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 802A98FC 002A683C EC E6 00 2A */ fadds f7, f6, f0
/* 802A9900 002A6840 FC 00 38 90 */ fmr f0, f7
/* 802A9904 002A6844 FC 07 20 40 */ fcmpo cr0, f7, f4
/* 802A9908 002A6848 40 80 00 08 */ bge .L_802A9910
/* 802A990C 002A684C FC 00 38 50 */ fneg f0, f7
.L_802A9910:
/* 802A9910 002A6850 EC 00 00 F2 */ fmuls f0, f0, f3
/* 802A9914 002A6854 C0 5F 00 08 */ lfs f2, 8(r31)
/* 802A9918 002A6858 FC 07 20 40 */ fcmpo cr0, f7, f4
/* 802A991C 002A685C FC 00 00 1E */ fctiwz f0, f0
/* 802A9920 002A6860 D8 01 00 38 */ stfd f0, 0x38(r1)
/* 802A9924 002A6864 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 802A9928 002A6868 54 00 1C B8 */ rlwinm r0, r0, 3, 0x12, 0x1c
/* 802A992C 002A686C 7C 64 02 14 */ add r3, r4, r0
/* 802A9930 002A6870 C0 03 00 04 */ lfs f0, 4(r3)
/* 802A9934 002A6874 EC A2 00 32 */ fmuls f5, f2, f0
/* 802A9938 002A6878 40 80 00 30 */ bge .L_802A9968
/* 802A993C 002A687C C0 02 DC 2C */ lfs f0, lbl_8051BF8C@sda21(r2)
/* 802A9940 002A6880 3C 60 80 50 */ lis r3, sincosTable___5JMath@ha
/* 802A9944 002A6884 38 63 71 A0 */ addi r3, r3, sincosTable___5JMath@l
/* 802A9948 002A6888 EC 07 00 32 */ fmuls f0, f7, f0
/* 802A994C 002A688C FC 00 00 1E */ fctiwz f0, f0
/* 802A9950 002A6890 D8 01 00 40 */ stfd f0, 0x40(r1)
/* 802A9954 002A6894 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802A9958 002A6898 54 00 1C B8 */ rlwinm r0, r0, 3, 0x12, 0x1c
/* 802A995C 002A689C 7C 03 04 2E */ lfsx f0, r3, r0
/* 802A9960 002A68A0 FC 00 00 50 */ fneg f0, f0
/* 802A9964 002A68A4 48 00 00 24 */ b .L_802A9988
.L_802A9968:
/* 802A9968 002A68A8 EC 07 00 F2 */ fmuls f0, f7, f3
/* 802A996C 002A68AC 3C 60 80 50 */ lis r3, sincosTable___5JMath@ha
/* 802A9970 002A68B0 38 63 71 A0 */ addi r3, r3, sincosTable___5JMath@l
/* 802A9974 002A68B4 FC 00 00 1E */ fctiwz f0, f0
/* 802A9978 002A68B8 D8 01 00 48 */ stfd f0, 0x48(r1)
/* 802A997C 002A68BC 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 802A9980 002A68C0 54 00 1C B8 */ rlwinm r0, r0, 3, 0x12, 0x1c
/* 802A9984 002A68C4 7C 03 04 2E */ lfsx f0, r3, r0
.L_802A9988:
/* 802A9988 002A68C8 EC 42 00 32 */ fmuls f2, f2, f0
/* 802A998C 002A68CC 38 A5 00 04 */ addi r5, r5, 4
/* 802A9990 002A68D0 EC 1D 28 2A */ fadds f0, f29, f5
/* 802A9994 002A68D4 EC 5F 10 2A */ fadds f2, f31, f2
/* 802A9998 002A68D8 D0 46 00 5C */ stfs f2, 0x5c(r6)
/* 802A999C 002A68DC D0 26 00 60 */ stfs f1, 0x60(r6)
/* 802A99A0 002A68E0 D0 06 00 64 */ stfs f0, 0x64(r6)
/* 802A99A4 002A68E4 38 C6 00 0C */ addi r6, r6, 0xc
/* 802A99A8 002A68E8 42 00 FF 50 */ bdnz .L_802A98F8
/* 802A99AC 002A68EC E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0
/* 802A99B0 002A68F0 CB E1 00 90 */ lfd f31, 0x90(r1)
/* 802A99B4 002A68F4 E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0
/* 802A99B8 002A68F8 CB C1 00 80 */ lfd f30, 0x80(r1)
/* 802A99BC 002A68FC E3 A1 00 78 */ psq_l f29, 120(r1), 0, qr0
/* 802A99C0 002A6900 CB A1 00 70 */ lfd f29, 0x70(r1)
/* 802A99C4 002A6904 E3 81 00 68 */ psq_l f28, 104(r1), 0, qr0
/* 802A99C8 002A6908 CB 81 00 60 */ lfd f28, 0x60(r1)
/* 802A99CC 002A690C 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 802A99D0 002A6910 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 802A99D4 002A6914 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 802A99D8 002A6918 7C 08 03 A6 */ mtlr r0
/* 802A99DC 002A691C 38 21 00 A0 */ addi r1, r1, 0xa0
/* 802A99E0 002A6920 4E 80 00 20 */ blr
.global calcFaceDir__Q24Game11IKSystemMgrFv
calcFaceDir__Q24Game11IKSystemMgrFv:
/* 802A99E4 002A6924 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 802A99E8 002A6928 7C 08 02 A6 */ mflr r0
/* 802A99EC 002A692C 90 01 00 54 */ stw r0, 0x54(r1)
/* 802A99F0 002A6930 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 802A99F4 002A6934 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 802A99F8 002A6938 DB C1 00 30 */ stfd f30, 0x30(r1)
/* 802A99FC 002A693C F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
/* 802A9A00 002A6940 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802A9A04 002A6944 7C 7F 1B 78 */ mr r31, r3
/* 802A9A08 002A6948 88 03 00 00 */ lbz r0, 0(r3)
/* 802A9A0C 002A694C 28 00 00 00 */ cmplwi r0, 0
/* 802A9A10 002A6950 41 82 00 94 */ beq .L_802A9AA4
/* 802A9A14 002A6954 80 9F 00 8C */ lwz r4, 0x8c(r31)
/* 802A9A18 002A6958 38 61 00 14 */ addi r3, r1, 0x14
/* 802A9A1C 002A695C 48 00 09 41 */ bl getBottomJointPosition__Q24Game12IKSystemBaseFv
/* 802A9A20 002A6960 80 9F 00 8C */ lwz r4, 0x8c(r31)
/* 802A9A24 002A6964 38 61 00 08 */ addi r3, r1, 8
/* 802A9A28 002A6968 C3 E1 00 14 */ lfs f31, 0x14(r1)
/* 802A9A2C 002A696C C3 C1 00 1C */ lfs f30, 0x1c(r1)
/* 802A9A30 002A6970 38 84 00 5C */ addi r4, r4, 0x5c
/* 802A9A34 002A6974 48 00 09 29 */ bl getBottomJointPosition__Q24Game12IKSystemBaseFv
/* 802A9A38 002A6978 C0 21 00 08 */ lfs f1, 8(r1)
/* 802A9A3C 002A697C 3C 60 80 51 */ lis r3, atanTable___5JMath@ha
/* 802A9A40 002A6980 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 802A9A44 002A6984 38 63 D1 E0 */ addi r3, r3, atanTable___5JMath@l
/* 802A9A48 002A6988 EC 9F 08 2A */ fadds f4, f31, f1
/* 802A9A4C 002A698C C0 62 DC 30 */ lfs f3, lbl_8051BF90@sda21(r2)
/* 802A9A50 002A6990 EC 5E 00 2A */ fadds f2, f30, f0
/* 802A9A54 002A6994 C0 3F 00 38 */ lfs f1, 0x38(r31)
/* 802A9A58 002A6998 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 802A9A5C 002A699C EC 24 08 F8 */ fmsubs f1, f4, f3, f1
/* 802A9A60 002A69A0 EC 42 00 F8 */ fmsubs f2, f2, f3, f0
/* 802A9A64 002A69A4 4B D8 B6 A5 */ bl "atan2___Q25JMath18TAtanTable<1024,f>CFff"
/* 802A9A68 002A69A8 D0 3F 00 04 */ stfs f1, 4(r31)
/* 802A9A6C 002A69AC C0 02 DC 14 */ lfs f0, lbl_8051BF74@sda21(r2)
/* 802A9A70 002A69B0 C0 3F 00 04 */ lfs f1, 4(r31)
/* 802A9A74 002A69B4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A9A78 002A69B8 40 80 00 10 */ bge .L_802A9A88
/* 802A9A7C 002A69BC C0 02 DC 34 */ lfs f0, lbl_8051BF94@sda21(r2)
/* 802A9A80 002A69C0 EC 20 08 2A */ fadds f1, f0, f1
/* 802A9A84 002A69C4 48 00 00 18 */ b .L_802A9A9C
.L_802A9A88:
/* 802A9A88 002A69C8 C0 02 DC 34 */ lfs f0, lbl_8051BF94@sda21(r2)
/* 802A9A8C 002A69CC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A9A90 002A69D0 4C 41 13 82 */ cror 2, 1, 2
/* 802A9A94 002A69D4 40 82 00 08 */ bne .L_802A9A9C
/* 802A9A98 002A69D8 EC 21 00 28 */ fsubs f1, f1, f0
.L_802A9A9C:
/* 802A9A9C 002A69DC D0 3F 00 04 */ stfs f1, 4(r31)
/* 802A9AA0 002A69E0 48 00 00 1C */ b .L_802A9ABC
.L_802A9AA4:
/* 802A9AA4 002A69E4 80 7F 00 90 */ lwz r3, 0x90(r31)
/* 802A9AA8 002A69E8 81 83 00 00 */ lwz r12, 0(r3)
/* 802A9AAC 002A69EC 81 8C 00 64 */ lwz r12, 0x64(r12)
/* 802A9AB0 002A69F0 7D 89 03 A6 */ mtctr r12
/* 802A9AB4 002A69F4 4E 80 04 21 */ bctrl
/* 802A9AB8 002A69F8 D0 3F 00 04 */ stfs f1, 4(r31)
.L_802A9ABC:
/* 802A9ABC 002A69FC E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 802A9AC0 002A6A00 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 802A9AC4 002A6A04 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
/* 802A9AC8 002A6A08 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 802A9ACC 002A6A0C 80 01 00 54 */ lwz r0, 0x54(r1)
/* 802A9AD0 002A6A10 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802A9AD4 002A6A14 7C 08 03 A6 */ mtlr r0
/* 802A9AD8 002A6A18 38 21 00 50 */ addi r1, r1, 0x50
/* 802A9ADC 002A6A1C 4E 80 00 20 */ blr
.global calcCentrePosition__Q24Game11IKSystemMgrFv
calcCentrePosition__Q24Game11IKSystemMgrFv:
/* 802A9AE0 002A6A20 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 802A9AE4 002A6A24 7C 08 02 A6 */ mflr r0
/* 802A9AE8 002A6A28 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 802A9AEC 002A6A2C 93 E1 00 9C */ stw r31, 0x9c(r1)
/* 802A9AF0 002A6A30 7C 7F 1B 78 */ mr r31, r3
/* 802A9AF4 002A6A34 88 03 00 00 */ lbz r0, 0(r3)
/* 802A9AF8 002A6A38 28 00 00 00 */ cmplwi r0, 0
/* 802A9AFC 002A6A3C 41 82 02 38 */ beq .L_802A9D34
/* 802A9B00 002A6A40 80 9F 00 8C */ lwz r4, 0x8c(r31)
/* 802A9B04 002A6A44 38 61 00 38 */ addi r3, r1, 0x38
/* 802A9B08 002A6A48 48 00 08 55 */ bl getBottomJointPosition__Q24Game12IKSystemBaseFv
/* 802A9B0C 002A6A4C C0 41 00 38 */ lfs f2, 0x38(r1)
/* 802A9B10 002A6A50 38 61 00 2C */ addi r3, r1, 0x2c
/* 802A9B14 002A6A54 C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 802A9B18 002A6A58 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 802A9B1C 002A6A5C 80 9F 00 8C */ lwz r4, 0x8c(r31)
/* 802A9B20 002A6A60 D0 41 00 64 */ stfs f2, 0x64(r1)
/* 802A9B24 002A6A64 38 84 00 5C */ addi r4, r4, 0x5c
/* 802A9B28 002A6A68 D0 21 00 68 */ stfs f1, 0x68(r1)
/* 802A9B2C 002A6A6C D0 01 00 6C */ stfs f0, 0x6c(r1)
/* 802A9B30 002A6A70 48 00 08 2D */ bl getBottomJointPosition__Q24Game12IKSystemBaseFv
/* 802A9B34 002A6A74 C0 41 00 2C */ lfs f2, 0x2c(r1)
/* 802A9B38 002A6A78 38 61 00 20 */ addi r3, r1, 0x20
/* 802A9B3C 002A6A7C C0 21 00 30 */ lfs f1, 0x30(r1)
/* 802A9B40 002A6A80 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 802A9B44 002A6A84 80 9F 00 8C */ lwz r4, 0x8c(r31)
/* 802A9B48 002A6A88 D0 41 00 70 */ stfs f2, 0x70(r1)
/* 802A9B4C 002A6A8C 38 84 00 B8 */ addi r4, r4, 0xb8
/* 802A9B50 002A6A90 D0 21 00 74 */ stfs f1, 0x74(r1)
/* 802A9B54 002A6A94 D0 01 00 78 */ stfs f0, 0x78(r1)
/* 802A9B58 002A6A98 48 00 08 05 */ bl getBottomJointPosition__Q24Game12IKSystemBaseFv
/* 802A9B5C 002A6A9C C0 41 00 20 */ lfs f2, 0x20(r1)
/* 802A9B60 002A6AA0 38 61 00 14 */ addi r3, r1, 0x14
/* 802A9B64 002A6AA4 C0 21 00 24 */ lfs f1, 0x24(r1)
/* 802A9B68 002A6AA8 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 802A9B6C 002A6AAC 80 9F 00 8C */ lwz r4, 0x8c(r31)
/* 802A9B70 002A6AB0 D0 41 00 7C */ stfs f2, 0x7c(r1)
/* 802A9B74 002A6AB4 38 84 01 14 */ addi r4, r4, 0x114
/* 802A9B78 002A6AB8 D0 21 00 80 */ stfs f1, 0x80(r1)
/* 802A9B7C 002A6ABC D0 01 00 84 */ stfs f0, 0x84(r1)
/* 802A9B80 002A6AC0 48 00 07 DD */ bl getBottomJointPosition__Q24Game12IKSystemBaseFv
/* 802A9B84 002A6AC4 C1 61 00 18 */ lfs f11, 0x18(r1)
/* 802A9B88 002A6AC8 38 A1 00 54 */ addi r5, r1, 0x54
/* 802A9B8C 002A6ACC C1 81 00 14 */ lfs f12, 0x14(r1)
/* 802A9B90 002A6AD0 38 C0 00 00 */ li r6, 0
/* 802A9B94 002A6AD4 C1 41 00 1C */ lfs f10, 0x1c(r1)
/* 802A9B98 002A6AD8 C0 02 DC 14 */ lfs f0, lbl_8051BF74@sda21(r2)
/* 802A9B9C 002A6ADC C0 41 00 68 */ lfs f2, 0x68(r1)
/* 802A9BA0 002A6AE0 D0 1F 00 40 */ stfs f0, 0x40(r31)
/* 802A9BA4 002A6AE4 C0 21 00 74 */ lfs f1, 0x74(r1)
/* 802A9BA8 002A6AE8 D0 1F 00 3C */ stfs f0, 0x3c(r31)
/* 802A9BAC 002A6AEC C0 61 00 64 */ lfs f3, 0x64(r1)
/* 802A9BB0 002A6AF0 D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 802A9BB4 002A6AF4 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 802A9BB8 002A6AF8 C0 9F 00 38 */ lfs f4, 0x38(r31)
/* 802A9BBC 002A6AFC C1 01 00 6C */ lfs f8, 0x6c(r1)
/* 802A9BC0 002A6B00 EC 64 18 2A */ fadds f3, f4, f3
/* 802A9BC4 002A6B04 C0 E1 00 70 */ lfs f7, 0x70(r1)
/* 802A9BC8 002A6B08 C0 C1 00 78 */ lfs f6, 0x78(r1)
/* 802A9BCC 002A6B0C D0 41 00 54 */ stfs f2, 0x54(r1)
/* 802A9BD0 002A6B10 C0 A1 00 7C */ lfs f5, 0x7c(r1)
/* 802A9BD4 002A6B14 D0 7F 00 38 */ stfs f3, 0x38(r31)
/* 802A9BD8 002A6B18 C0 81 00 84 */ lfs f4, 0x84(r1)
/* 802A9BDC 002A6B1C C1 3F 00 40 */ lfs f9, 0x40(r31)
/* 802A9BE0 002A6B20 D0 21 00 58 */ stfs f1, 0x58(r1)
/* 802A9BE4 002A6B24 ED 09 40 2A */ fadds f8, f9, f8
/* 802A9BE8 002A6B28 C0 62 DC 38 */ lfs f3, lbl_8051BF98@sda21(r2)
/* 802A9BEC 002A6B2C D0 01 00 5C */ stfs f0, 0x5c(r1)
/* 802A9BF0 002A6B30 D1 1F 00 40 */ stfs f8, 0x40(r31)
/* 802A9BF4 002A6B34 C1 1F 00 38 */ lfs f8, 0x38(r31)
/* 802A9BF8 002A6B38 D1 81 00 88 */ stfs f12, 0x88(r1)
/* 802A9BFC 002A6B3C EC E8 38 2A */ fadds f7, f8, f7
/* 802A9C00 002A6B40 D1 61 00 8C */ stfs f11, 0x8c(r1)
/* 802A9C04 002A6B44 D0 FF 00 38 */ stfs f7, 0x38(r31)
/* 802A9C08 002A6B48 C0 5F 00 40 */ lfs f2, 0x40(r31)
/* 802A9C0C 002A6B4C D1 41 00 90 */ stfs f10, 0x90(r1)
/* 802A9C10 002A6B50 EC 22 30 2A */ fadds f1, f2, f6
/* 802A9C14 002A6B54 D1 61 00 60 */ stfs f11, 0x60(r1)
/* 802A9C18 002A6B58 D0 3F 00 40 */ stfs f1, 0x40(r31)
/* 802A9C1C 002A6B5C C0 1F 00 38 */ lfs f0, 0x38(r31)
/* 802A9C20 002A6B60 EC 00 28 2A */ fadds f0, f0, f5
/* 802A9C24 002A6B64 D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 802A9C28 002A6B68 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 802A9C2C 002A6B6C EC 00 20 2A */ fadds f0, f0, f4
/* 802A9C30 002A6B70 D0 1F 00 40 */ stfs f0, 0x40(r31)
/* 802A9C34 002A6B74 C0 1F 00 38 */ lfs f0, 0x38(r31)
/* 802A9C38 002A6B78 EC 00 60 2A */ fadds f0, f0, f12
/* 802A9C3C 002A6B7C D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 802A9C40 002A6B80 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 802A9C44 002A6B84 EC 00 50 2A */ fadds f0, f0, f10
/* 802A9C48 002A6B88 D0 1F 00 40 */ stfs f0, 0x40(r31)
/* 802A9C4C 002A6B8C C0 1F 00 38 */ lfs f0, 0x38(r31)
/* 802A9C50 002A6B90 EC 00 00 F2 */ fmuls f0, f0, f3
/* 802A9C54 002A6B94 D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 802A9C58 002A6B98 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 802A9C5C 002A6B9C EC 00 00 F2 */ fmuls f0, f0, f3
/* 802A9C60 002A6BA0 D0 1F 00 40 */ stfs f0, 0x40(r31)
.L_802A9C64:
/* 802A9C64 002A6BA4 38 E6 00 01 */ addi r7, r6, 1
/* 802A9C68 002A6BA8 38 81 00 54 */ addi r4, r1, 0x54
/* 802A9C6C 002A6BAC 54 E3 10 3A */ slwi r3, r7, 2
/* 802A9C70 002A6BB0 20 07 00 04 */ subfic r0, r7, 4
/* 802A9C74 002A6BB4 7C 84 1A 14 */ add r4, r4, r3
/* 802A9C78 002A6BB8 7C 09 03 A6 */ mtctr r0
/* 802A9C7C 002A6BBC 2C 07 00 04 */ cmpwi r7, 4
/* 802A9C80 002A6BC0 40 80 00 28 */ bge .L_802A9CA8
.L_802A9C84:
/* 802A9C84 002A6BC4 C0 25 00 00 */ lfs f1, 0(r5)
/* 802A9C88 002A6BC8 C0 04 00 00 */ lfs f0, 0(r4)
/* 802A9C8C 002A6BCC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A9C90 002A6BD0 40 81 00 0C */ ble .L_802A9C9C
/* 802A9C94 002A6BD4 D0 24 00 00 */ stfs f1, 0(r4)
/* 802A9C98 002A6BD8 D0 05 00 00 */ stfs f0, 0(r5)
.L_802A9C9C:
/* 802A9C9C 002A6BDC 38 84 00 04 */ addi r4, r4, 4
/* 802A9CA0 002A6BE0 38 E7 00 01 */ addi r7, r7, 1
/* 802A9CA4 002A6BE4 42 00 FF E0 */ bdnz .L_802A9C84
.L_802A9CA8:
/* 802A9CA8 002A6BE8 38 C6 00 01 */ addi r6, r6, 1
/* 802A9CAC 002A6BEC 38 A5 00 04 */ addi r5, r5, 4
/* 802A9CB0 002A6BF0 2C 06 00 03 */ cmpwi r6, 3
/* 802A9CB4 002A6BF4 41 80 FF B0 */ blt .L_802A9C64
/* 802A9CB8 002A6BF8 3C 60 80 49 */ lis r3, lbl_80489968@ha
/* 802A9CBC 002A6BFC C0 21 00 54 */ lfs f1, 0x54(r1)
/* 802A9CC0 002A6C00 38 A3 99 68 */ addi r5, r3, lbl_80489968@l
/* 802A9CC4 002A6C04 C0 1F 00 3C */ lfs f0, 0x3c(r31)
/* 802A9CC8 002A6C08 80 05 00 00 */ lwz r0, 0(r5)
/* 802A9CCC 002A6C0C 80 85 00 04 */ lwz r4, 4(r5)
/* 802A9CD0 002A6C10 90 01 00 44 */ stw r0, 0x44(r1)
/* 802A9CD4 002A6C14 80 65 00 08 */ lwz r3, 8(r5)
/* 802A9CD8 002A6C18 C0 41 00 44 */ lfs f2, 0x44(r1)
/* 802A9CDC 002A6C1C 80 05 00 0C */ lwz r0, 0xc(r5)
/* 802A9CE0 002A6C20 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 802A9CE4 002A6C24 90 81 00 48 */ stw r4, 0x48(r1)
/* 802A9CE8 002A6C28 C0 21 00 58 */ lfs f1, 0x58(r1)
/* 802A9CEC 002A6C2C 90 61 00 4C */ stw r3, 0x4c(r1)
/* 802A9CF0 002A6C30 C0 41 00 48 */ lfs f2, 0x48(r1)
/* 802A9CF4 002A6C34 D0 1F 00 3C */ stfs f0, 0x3c(r31)
/* 802A9CF8 002A6C38 C0 81 00 4C */ lfs f4, 0x4c(r1)
/* 802A9CFC 002A6C3C C0 1F 00 3C */ lfs f0, 0x3c(r31)
/* 802A9D00 002A6C40 90 01 00 50 */ stw r0, 0x50(r1)
/* 802A9D04 002A6C44 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 802A9D08 002A6C48 C0 61 00 5C */ lfs f3, 0x5c(r1)
/* 802A9D0C 002A6C4C C0 41 00 50 */ lfs f2, 0x50(r1)
/* 802A9D10 002A6C50 C0 21 00 60 */ lfs f1, 0x60(r1)
/* 802A9D14 002A6C54 D0 1F 00 3C */ stfs f0, 0x3c(r31)
/* 802A9D18 002A6C58 C0 1F 00 3C */ lfs f0, 0x3c(r31)
/* 802A9D1C 002A6C5C EC 04 00 FA */ fmadds f0, f4, f3, f0
/* 802A9D20 002A6C60 D0 1F 00 3C */ stfs f0, 0x3c(r31)
/* 802A9D24 002A6C64 C0 1F 00 3C */ lfs f0, 0x3c(r31)
/* 802A9D28 002A6C68 EC 02 00 7A */ fmadds f0, f2, f1, f0
/* 802A9D2C 002A6C6C D0 1F 00 3C */ stfs f0, 0x3c(r31)
/* 802A9D30 002A6C70 48 00 00 34 */ b .L_802A9D64
.L_802A9D34:
/* 802A9D34 002A6C74 80 9F 00 90 */ lwz r4, 0x90(r31)
/* 802A9D38 002A6C78 38 61 00 08 */ addi r3, r1, 8
/* 802A9D3C 002A6C7C 81 84 00 00 */ lwz r12, 0(r4)
/* 802A9D40 002A6C80 81 8C 00 08 */ lwz r12, 8(r12)
/* 802A9D44 002A6C84 7D 89 03 A6 */ mtctr r12
/* 802A9D48 002A6C88 4E 80 04 21 */ bctrl
/* 802A9D4C 002A6C8C C0 01 00 08 */ lfs f0, 8(r1)
/* 802A9D50 002A6C90 D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 802A9D54 002A6C94 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 802A9D58 002A6C98 D0 1F 00 3C */ stfs f0, 0x3c(r31)
/* 802A9D5C 002A6C9C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 802A9D60 002A6CA0 D0 1F 00 40 */ stfs f0, 0x40(r31)
.L_802A9D64:
/* 802A9D64 002A6CA4 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 802A9D68 002A6CA8 83 E1 00 9C */ lwz r31, 0x9c(r1)
/* 802A9D6C 002A6CAC 7C 08 03 A6 */ mtlr r0
/* 802A9D70 002A6CB0 38 21 00 A0 */ addi r1, r1, 0xa0
/* 802A9D74 002A6CB4 4E 80 00 20 */ blr
.global calcTraceCentrePosition__Q24Game11IKSystemMgrFv
calcTraceCentrePosition__Q24Game11IKSystemMgrFv:
/* 802A9D78 002A6CB8 88 03 00 00 */ lbz r0, 0(r3)
/* 802A9D7C 002A6CBC 28 00 00 00 */ cmplwi r0, 0
/* 802A9D80 002A6CC0 41 82 00 C0 */ beq .L_802A9E40
/* 802A9D84 002A6CC4 C0 23 00 38 */ lfs f1, 0x38(r3)
/* 802A9D88 002A6CC8 C0 03 00 44 */ lfs f0, 0x44(r3)
/* 802A9D8C 002A6CCC 80 83 00 98 */ lwz r4, 0x98(r3)
/* 802A9D90 002A6CD0 EC A1 00 28 */ fsubs f5, f1, f0
/* 802A9D94 002A6CD4 C0 03 00 50 */ lfs f0, 0x50(r3)
/* 802A9D98 002A6CD8 C0 84 00 3C */ lfs f4, 0x3c(r4)
/* 802A9D9C 002A6CDC C0 63 00 3C */ lfs f3, 0x3c(r3)
/* 802A9DA0 002A6CE0 EC A5 01 32 */ fmuls f5, f5, f4
/* 802A9DA4 002A6CE4 C0 23 00 48 */ lfs f1, 0x48(r3)
/* 802A9DA8 002A6CE8 C0 43 00 40 */ lfs f2, 0x40(r3)
/* 802A9DAC 002A6CEC EC 63 08 28 */ fsubs f3, f3, f1
/* 802A9DB0 002A6CF0 C0 23 00 4C */ lfs f1, 0x4c(r3)
/* 802A9DB4 002A6CF4 EC 00 28 2A */ fadds f0, f0, f5
/* 802A9DB8 002A6CF8 EC 22 08 28 */ fsubs f1, f2, f1
/* 802A9DBC 002A6CFC EC 63 01 32 */ fmuls f3, f3, f4
/* 802A9DC0 002A6D00 D0 03 00 50 */ stfs f0, 0x50(r3)
/* 802A9DC4 002A6D04 EC 21 01 32 */ fmuls f1, f1, f4
/* 802A9DC8 002A6D08 C0 03 00 54 */ lfs f0, 0x54(r3)
/* 802A9DCC 002A6D0C EC 00 18 2A */ fadds f0, f0, f3
/* 802A9DD0 002A6D10 D0 03 00 54 */ stfs f0, 0x54(r3)
/* 802A9DD4 002A6D14 C0 03 00 58 */ lfs f0, 0x58(r3)
/* 802A9DD8 002A6D18 EC 00 08 2A */ fadds f0, f0, f1
/* 802A9DDC 002A6D1C D0 03 00 58 */ stfs f0, 0x58(r3)
/* 802A9DE0 002A6D20 C0 23 00 44 */ lfs f1, 0x44(r3)
/* 802A9DE4 002A6D24 C0 03 00 50 */ lfs f0, 0x50(r3)
/* 802A9DE8 002A6D28 EC 01 00 2A */ fadds f0, f1, f0
/* 802A9DEC 002A6D2C D0 03 00 44 */ stfs f0, 0x44(r3)
/* 802A9DF0 002A6D30 C0 23 00 48 */ lfs f1, 0x48(r3)
/* 802A9DF4 002A6D34 C0 03 00 54 */ lfs f0, 0x54(r3)
/* 802A9DF8 002A6D38 EC 01 00 2A */ fadds f0, f1, f0
/* 802A9DFC 002A6D3C D0 03 00 48 */ stfs f0, 0x48(r3)
/* 802A9E00 002A6D40 C0 23 00 4C */ lfs f1, 0x4c(r3)
/* 802A9E04 002A6D44 C0 03 00 58 */ lfs f0, 0x58(r3)
/* 802A9E08 002A6D48 EC 01 00 2A */ fadds f0, f1, f0
/* 802A9E0C 002A6D4C D0 03 00 4C */ stfs f0, 0x4c(r3)
/* 802A9E10 002A6D50 80 83 00 98 */ lwz r4, 0x98(r3)
/* 802A9E14 002A6D54 C0 03 00 50 */ lfs f0, 0x50(r3)
/* 802A9E18 002A6D58 C0 24 00 40 */ lfs f1, 0x40(r4)
/* 802A9E1C 002A6D5C EC 00 00 72 */ fmuls f0, f0, f1
/* 802A9E20 002A6D60 D0 03 00 50 */ stfs f0, 0x50(r3)
/* 802A9E24 002A6D64 C0 03 00 54 */ lfs f0, 0x54(r3)
/* 802A9E28 002A6D68 EC 00 00 72 */ fmuls f0, f0, f1
/* 802A9E2C 002A6D6C D0 03 00 54 */ stfs f0, 0x54(r3)
/* 802A9E30 002A6D70 C0 03 00 58 */ lfs f0, 0x58(r3)
/* 802A9E34 002A6D74 EC 00 00 72 */ fmuls f0, f0, f1
/* 802A9E38 002A6D78 D0 03 00 58 */ stfs f0, 0x58(r3)
/* 802A9E3C 002A6D7C 4E 80 00 20 */ blr
.L_802A9E40:
/* 802A9E40 002A6D80 C0 03 00 38 */ lfs f0, 0x38(r3)
/* 802A9E44 002A6D84 D0 03 00 44 */ stfs f0, 0x44(r3)
/* 802A9E48 002A6D88 C0 03 00 3C */ lfs f0, 0x3c(r3)
/* 802A9E4C 002A6D8C D0 03 00 48 */ stfs f0, 0x48(r3)
/* 802A9E50 002A6D90 C0 03 00 40 */ lfs f0, 0x40(r3)
/* 802A9E54 002A6D94 D0 03 00 4C */ stfs f0, 0x4c(r3)
/* 802A9E58 002A6D98 4E 80 00 20 */ blr