prime/asm/MetroidPrime/CRagDoll.s

2467 lines
120 KiB
ArmAsm

.include "macros.inc"
.section .data
.balign 8
.global lbl_803E70D0
lbl_803E70D0:
# ROM: 0x3E40D0
.4byte 0
.4byte 0
.4byte Prime__8CRagDollFR13CStateManagerRC12CTransform4fR10CModelData
.4byte Update__8CRagDollFR13CStateManagerff
.4byte PreRender__8CRagDollFRC9CVector3fR10CModelData
.4byte 0
.section .sdata
.balign 8
.global lbl_805A7FB8
lbl_805A7FB8:
# ROM: 0x3F5958
.4byte 0x00000013
.global lbl_805A7FBC
lbl_805A7FBC:
# ROM: 0x3F595C
.4byte 0x00000013
.global lbl_805A7FC0
lbl_805A7FC0:
# ROM: 0x3F5960
.4byte 0x00000030
.global lbl_805A7FC4
lbl_805A7FC4:
# ROM: 0x3F5964
.4byte 0x00000021
.global lbl_805A7FC8
lbl_805A7FC8:
# ROM: 0x3F5968
.4byte 0x00000020
.global lbl_805A7FCC
lbl_805A7FCC:
# ROM: 0x3F596C
.4byte 0x00000030
.global lbl_805A7FD0
lbl_805A7FD0:
# ROM: 0x3F5970
.4byte 0x0000002A
.global lbl_805A7FD4
lbl_805A7FD4:
# ROM: 0x3F5974
.4byte 0x00000021
.global lbl_805A7FD8
lbl_805A7FD8:
# ROM: 0x3F5978
.4byte 0x00000020
.4byte 0
.section .text, "ax"
.global PreRender__8CRagDollFRC9CVector3fR10CModelData
PreRender__8CRagDollFRC9CVector3fR10CModelData:
/* 8020C854 002097B4 4E 80 00 20 */ blr
.global CalculateRenderBounds__8CRagDollCFv
CalculateRenderBounds__8CRagDollCFv:
/* 8020C858 002097B8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8020C85C 002097BC 7C 08 02 A6 */ mflr r0
/* 8020C860 002097C0 C0 22 B1 C8 */ lfs f1, lbl_805ACEE8@sda21(r2)
/* 8020C864 002097C4 90 01 00 54 */ stw r0, 0x54(r1)
/* 8020C868 002097C8 C0 02 B1 CC */ lfs f0, lbl_805ACEEC@sda21(r2)
/* 8020C86C 002097CC BF 01 00 30 */ stmw r24, 0x30(r1)
/* 8020C870 002097D0 7C 78 1B 78 */ mr r24, r3
/* 8020C874 002097D4 7C 99 23 78 */ mr r25, r4
/* 8020C878 002097D8 3B 60 00 00 */ li r27, 0
/* 8020C87C 002097DC 3B 80 00 00 */ li r28, 0
/* 8020C880 002097E0 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 8020C884 002097E4 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 8020C888 002097E8 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 8020C88C 002097EC D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8020C890 002097F0 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8020C894 002097F4 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8020C898 002097F8 48 00 00 94 */ b lbl_8020C92C
lbl_8020C89C:
/* 8020C89C 002097FC 3B C1 00 1C */ addi r30, r1, 0x1c
/* 8020C8A0 00209800 3B A1 00 10 */ addi r29, r1, 0x10
/* 8020C8A4 00209804 3B 40 00 00 */ li r26, 0
/* 8020C8A8 00209808 3B E0 00 00 */ li r31, 0
lbl_8020C8AC:
/* 8020C8AC 0020980C 80 19 00 10 */ lwz r0, 0x10(r25)
/* 8020C8B0 00209810 7F C3 F3 78 */ mr r3, r30
/* 8020C8B4 00209814 38 81 00 0C */ addi r4, r1, 0xc
/* 8020C8B8 00209818 7C C0 E2 14 */ add r6, r0, r28
/* 8020C8BC 0020981C 7C A6 FA 14 */ add r5, r6, r31
/* 8020C8C0 00209820 C0 06 00 10 */ lfs f0, 0x10(r6)
/* 8020C8C4 00209824 C0 25 00 04 */ lfs f1, 4(r5)
/* 8020C8C8 00209828 EC 01 00 28 */ fsubs f0, f1, f0
/* 8020C8CC 0020982C D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8020C8D0 00209830 4B E7 15 11 */ bl "Min<f>__5CMathFRCfRCf"
/* 8020C8D4 00209834 C0 03 00 00 */ lfs f0, 0(r3)
/* 8020C8D8 00209838 7F A3 EB 78 */ mr r3, r29
/* 8020C8DC 0020983C 80 19 00 10 */ lwz r0, 0x10(r25)
/* 8020C8E0 00209840 38 81 00 08 */ addi r4, r1, 8
/* 8020C8E4 00209844 D0 1E 00 00 */ stfs f0, 0(r30)
/* 8020C8E8 00209848 7C C0 E2 14 */ add r6, r0, r28
/* 8020C8EC 0020984C 7C A6 FA 14 */ add r5, r6, r31
/* 8020C8F0 00209850 C0 06 00 10 */ lfs f0, 0x10(r6)
/* 8020C8F4 00209854 C0 25 00 04 */ lfs f1, 4(r5)
/* 8020C8F8 00209858 EC 01 00 2A */ fadds f0, f1, f0
/* 8020C8FC 0020985C D0 01 00 08 */ stfs f0, 8(r1)
/* 8020C900 00209860 4B E4 2E 31 */ bl "Max<f>__5CMathFRCfRCf"
/* 8020C904 00209864 C0 03 00 00 */ lfs f0, 0(r3)
/* 8020C908 00209868 3B 5A 00 01 */ addi r26, r26, 1
/* 8020C90C 0020986C 2C 1A 00 03 */ cmpwi r26, 3
/* 8020C910 00209870 3B DE 00 04 */ addi r30, r30, 4
/* 8020C914 00209874 D0 1D 00 00 */ stfs f0, 0(r29)
/* 8020C918 00209878 3B BD 00 04 */ addi r29, r29, 4
/* 8020C91C 0020987C 3B FF 00 04 */ addi r31, r31, 4
/* 8020C920 00209880 41 80 FF 8C */ blt lbl_8020C8AC
/* 8020C924 00209884 3B 9C 00 40 */ addi r28, r28, 0x40
/* 8020C928 00209888 3B 7B 00 01 */ addi r27, r27, 1
lbl_8020C92C:
/* 8020C92C 0020988C 80 19 00 08 */ lwz r0, 8(r25)
/* 8020C930 00209890 7C 1B 00 00 */ cmpw r27, r0
/* 8020C934 00209894 41 80 FF 68 */ blt lbl_8020C89C
/* 8020C938 00209898 7F 03 C3 78 */ mr r3, r24
/* 8020C93C 0020989C 38 81 00 1C */ addi r4, r1, 0x1c
/* 8020C940 002098A0 38 A1 00 10 */ addi r5, r1, 0x10
/* 8020C944 002098A4 48 12 BB C5 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 8020C948 002098A8 BB 01 00 30 */ lmw r24, 0x30(r1)
/* 8020C94C 002098AC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8020C950 002098B0 7C 08 03 A6 */ mtlr r0
/* 8020C954 002098B4 38 21 00 50 */ addi r1, r1, 0x50
/* 8020C958 002098B8 4E 80 00 20 */ blr
.global BoneAlign__8CRagDollFR21CHierarchyPoseBuilderRC15CCharLayoutInfoiiRC11CQuaternion
BoneAlign__8CRagDollFR21CHierarchyPoseBuilderRC15CCharLayoutInfoiiRC11CQuaternion:
/* 8020C95C 002098BC 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 8020C960 002098C0 7C 08 02 A6 */ mflr r0
/* 8020C964 002098C4 90 01 00 94 */ stw r0, 0x94(r1)
/* 8020C968 002098C8 BF 41 00 78 */ stmw r26, 0x78(r1)
/* 8020C96C 002098CC 7C 7E 1B 78 */ mr r30, r3
/* 8020C970 002098D0 55 1D 30 32 */ slwi r29, r8, 6
/* 8020C974 002098D4 7C 9A 23 78 */ mr r26, r4
/* 8020C978 002098D8 7C BF 2B 78 */ mr r31, r5
/* 8020C97C 002098DC 7C FC 3B 78 */ mr r28, r7
/* 8020C980 002098E0 7D 3B 4B 78 */ mr r27, r9
/* 8020C984 002098E4 38 61 00 40 */ addi r3, r1, 0x40
/* 8020C988 002098E8 80 04 00 10 */ lwz r0, 0x10(r4)
/* 8020C98C 002098EC 7C C4 33 78 */ mr r4, r6
/* 8020C990 002098F0 7C A0 EA 14 */ add r5, r0, r29
/* 8020C994 002098F4 4B F1 F0 0D */ bl GetFromParentUnrotated__15CCharLayoutInfoCFRC6CSegId
/* 8020C998 002098F8 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 8020C99C 002098FC 57 9C 30 32 */ slwi r28, r28, 6
/* 8020C9A0 00209900 C0 61 00 44 */ lfs f3, 0x44(r1)
/* 8020C9A4 00209904 38 DD 00 04 */ addi r6, r29, 4
/* 8020C9A8 00209908 C0 41 00 48 */ lfs f2, 0x48(r1)
/* 8020C9AC 0020990C 38 61 00 34 */ addi r3, r1, 0x34
/* 8020C9B0 00209910 D0 01 00 68 */ stfs f0, 0x68(r1)
/* 8020C9B4 00209914 38 81 00 24 */ addi r4, r1, 0x24
/* 8020C9B8 00209918 C0 1B 00 0C */ lfs f0, 0xc(r27)
/* 8020C9BC 0020991C 38 A1 00 5C */ addi r5, r1, 0x5c
/* 8020C9C0 00209920 C0 3B 00 08 */ lfs f1, 8(r27)
/* 8020C9C4 00209924 FD 40 00 50 */ fneg f10, f0
/* 8020C9C8 00209928 C0 1B 00 04 */ lfs f0, 4(r27)
/* 8020C9CC 0020992C FD 20 08 50 */ fneg f9, f1
/* 8020C9D0 00209930 D0 61 00 6C */ stfs f3, 0x6c(r1)
/* 8020C9D4 00209934 FC 80 00 50 */ fneg f4, f0
/* 8020C9D8 00209938 C0 7B 00 00 */ lfs f3, 0(r27)
/* 8020C9DC 0020993C D0 41 00 70 */ stfs f2, 0x70(r1)
/* 8020C9E0 00209940 FC 20 48 18 */ frsp f1, f9
/* 8020C9E4 00209944 FC 40 20 18 */ frsp f2, f4
/* 8020C9E8 00209948 80 1A 00 10 */ lwz r0, 0x10(r26)
/* 8020C9EC 0020994C FC 00 50 18 */ frsp f0, f10
/* 8020C9F0 00209950 D0 81 00 08 */ stfs f4, 8(r1)
/* 8020C9F4 00209954 7C E0 E2 14 */ add r7, r0, r28
/* 8020C9F8 00209958 7C C0 32 14 */ add r6, r0, r6
/* 8020C9FC 0020995C C0 A6 00 04 */ lfs f5, 4(r6)
/* 8020CA00 00209960 C0 87 00 08 */ lfs f4, 8(r7)
/* 8020CA04 00209964 C0 E6 00 08 */ lfs f7, 8(r6)
/* 8020CA08 00209968 C0 C7 00 0C */ lfs f6, 0xc(r7)
/* 8020CA0C 0020996C ED 05 20 28 */ fsubs f8, f5, f4
/* 8020CA10 00209970 C0 A6 00 00 */ lfs f5, 0(r6)
/* 8020CA14 00209974 C0 87 00 04 */ lfs f4, 4(r7)
/* 8020CA18 00209978 EC C7 30 28 */ fsubs f6, f7, f6
/* 8020CA1C 0020997C D1 21 00 0C */ stfs f9, 0xc(r1)
/* 8020CA20 00209980 EC 85 20 28 */ fsubs f4, f5, f4
/* 8020CA24 00209984 D1 01 00 60 */ stfs f8, 0x60(r1)
/* 8020CA28 00209988 D0 81 00 5C */ stfs f4, 0x5c(r1)
/* 8020CA2C 0020998C D0 C1 00 64 */ stfs f6, 0x64(r1)
/* 8020CA30 00209990 D1 41 00 10 */ stfs f10, 0x10(r1)
/* 8020CA34 00209994 D0 61 00 24 */ stfs f3, 0x24(r1)
/* 8020CA38 00209998 D0 41 00 28 */ stfs f2, 0x28(r1)
/* 8020CA3C 0020999C D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 8020CA40 002099A0 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 8020CA44 002099A4 48 10 48 21 */ bl Transform__11CQuaternionCFRC9CVector3f
/* 8020CA48 002099A8 C0 41 00 34 */ lfs f2, 0x34(r1)
/* 8020CA4C 002099AC 38 61 00 14 */ addi r3, r1, 0x14
/* 8020CA50 002099B0 C0 21 00 38 */ lfs f1, 0x38(r1)
/* 8020CA54 002099B4 38 81 00 68 */ addi r4, r1, 0x68
/* 8020CA58 002099B8 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 8020CA5C 002099BC 38 A1 00 5C */ addi r5, r1, 0x5c
/* 8020CA60 002099C0 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 8020CA64 002099C4 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 8020CA68 002099C8 D0 01 00 64 */ stfs f0, 0x64(r1)
/* 8020CA6C 002099CC 48 10 50 4D */ bl ShortestRotationArc__11CQuaternionFRC9CVector3fRC9CVector3f
/* 8020CA70 002099D0 80 7A 00 10 */ lwz r3, 0x10(r26)
/* 8020CA74 002099D4 C0 41 00 18 */ lfs f2, 0x18(r1)
/* 8020CA78 002099D8 7C 03 E0 AE */ lbzx r0, r3, r28
/* 8020CA7C 002099DC C0 61 00 14 */ lfs f3, 0x14(r1)
/* 8020CA80 002099E0 54 00 08 3C */ slwi r0, r0, 1
/* 8020CA84 002099E4 C0 21 00 1C */ lfs f1, 0x1c(r1)
/* 8020CA88 002099E8 7C 7F 02 14 */ add r3, r31, r0
/* 8020CA8C 002099EC C0 01 00 20 */ lfs f0, 0x20(r1)
/* 8020CA90 002099F0 88 03 00 41 */ lbz r0, 0x41(r3)
/* 8020CA94 002099F4 80 7F 01 08 */ lwz r3, 0x108(r31)
/* 8020CA98 002099F8 54 00 2C F4 */ rlwinm r0, r0, 5, 0x13, 0x1a
/* 8020CA9C 002099FC D0 41 00 50 */ stfs f2, 0x50(r1)
/* 8020CAA0 00209A00 7C 83 02 14 */ add r4, r3, r0
/* 8020CAA4 00209A04 D0 21 00 54 */ stfs f1, 0x54(r1)
/* 8020CAA8 00209A08 80 01 00 50 */ lwz r0, 0x50(r1)
/* 8020CAAC 00209A0C D0 64 00 04 */ stfs f3, 4(r4)
/* 8020CAB0 00209A10 80 61 00 54 */ lwz r3, 0x54(r1)
/* 8020CAB4 00209A14 90 04 00 08 */ stw r0, 8(r4)
/* 8020CAB8 00209A18 D0 01 00 58 */ stfs f0, 0x58(r1)
/* 8020CABC 00209A1C 80 01 00 58 */ lwz r0, 0x58(r1)
/* 8020CAC0 00209A20 90 64 00 0C */ stw r3, 0xc(r4)
/* 8020CAC4 00209A24 90 04 00 10 */ stw r0, 0x10(r4)
/* 8020CAC8 00209A28 D0 7E 00 00 */ stfs f3, 0(r30)
/* 8020CACC 00209A2C D0 5E 00 04 */ stfs f2, 4(r30)
/* 8020CAD0 00209A30 D0 3E 00 08 */ stfs f1, 8(r30)
/* 8020CAD4 00209A34 D0 1E 00 0C */ stfs f0, 0xc(r30)
/* 8020CAD8 00209A38 BB 41 00 78 */ lmw r26, 0x78(r1)
/* 8020CADC 00209A3C 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8020CAE0 00209A40 D0 61 00 4C */ stfs f3, 0x4c(r1)
/* 8020CAE4 00209A44 7C 08 03 A6 */ mtlr r0
/* 8020CAE8 00209A48 38 21 00 90 */ addi r1, r1, 0x90
/* 8020CAEC 00209A4C 4E 80 00 20 */ blr
.global AddJointConstraint__8CRagDollFiiiiii
AddJointConstraint__8CRagDollFiiiiii:
/* 8020CAF0 00209A50 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8020CAF4 00209A54 7C 08 02 A6 */ mflr r0
/* 8020CAF8 00209A58 55 29 30 32 */ slwi r9, r9, 6
/* 8020CAFC 00209A5C 55 08 30 32 */ slwi r8, r8, 6
/* 8020CB00 00209A60 90 01 00 34 */ stw r0, 0x34(r1)
/* 8020CB04 00209A64 54 E7 30 32 */ slwi r7, r7, 6
/* 8020CB08 00209A68 54 C6 30 32 */ slwi r6, r6, 6
/* 8020CB0C 00209A6C 54 A5 30 32 */ slwi r5, r5, 6
/* 8020CB10 00209A70 BF 21 00 14 */ stmw r25, 0x14(r1)
/* 8020CB14 00209A74 7C 7F 1B 78 */ mr r31, r3
/* 8020CB18 00209A78 80 03 00 28 */ lwz r0, 0x28(r3)
/* 8020CB1C 00209A7C 81 63 00 2C */ lwz r11, 0x2c(r3)
/* 8020CB20 00209A80 81 43 00 10 */ lwz r10, 0x10(r3)
/* 8020CB24 00209A84 54 83 30 32 */ slwi r3, r4, 6
/* 8020CB28 00209A88 7C 00 58 00 */ cmpw r0, r11
/* 8020CB2C 00209A8C 7F CA 4A 14 */ add r30, r10, r9
/* 8020CB30 00209A90 7F AA 42 14 */ add r29, r10, r8
/* 8020CB34 00209A94 7F 8A 3A 14 */ add r28, r10, r7
/* 8020CB38 00209A98 7F 6A 32 14 */ add r27, r10, r6
/* 8020CB3C 00209A9C 7F 4A 2A 14 */ add r26, r10, r5
/* 8020CB40 00209AA0 7F 2A 1A 14 */ add r25, r10, r3
/* 8020CB44 00209AA4 41 80 00 1C */ blt lbl_8020CB60
/* 8020CB48 00209AA8 2C 0B 00 00 */ cmpwi r11, 0
/* 8020CB4C 00209AAC 38 7F 00 24 */ addi r3, r31, 0x24
/* 8020CB50 00209AB0 38 80 00 04 */ li r4, 4
/* 8020CB54 00209AB4 41 82 00 08 */ beq lbl_8020CB5C
/* 8020CB58 00209AB8 55 64 08 3C */ slwi r4, r11, 1
lbl_8020CB5C:
/* 8020CB5C 00209ABC 4B F2 01 F9 */ bl "reserve__Q24rstl71vector<Q28CRagDoll23CRagDollJointConstraint,Q24rstl17rmemory_allocator>Fi"
lbl_8020CB60:
/* 8020CB60 00209AC0 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 8020CB64 00209AC4 80 7F 00 30 */ lwz r3, 0x30(r31)
/* 8020CB68 00209AC8 1C 00 00 18 */ mulli r0, r0, 0x18
/* 8020CB6C 00209ACC 7C 63 02 15 */ add. r3, r3, r0
/* 8020CB70 00209AD0 41 82 00 1C */ beq lbl_8020CB8C
/* 8020CB74 00209AD4 93 23 00 00 */ stw r25, 0(r3)
/* 8020CB78 00209AD8 93 43 00 04 */ stw r26, 4(r3)
/* 8020CB7C 00209ADC 93 63 00 08 */ stw r27, 8(r3)
/* 8020CB80 00209AE0 93 83 00 0C */ stw r28, 0xc(r3)
/* 8020CB84 00209AE4 93 A3 00 10 */ stw r29, 0x10(r3)
/* 8020CB88 00209AE8 93 C3 00 14 */ stw r30, 0x14(r3)
lbl_8020CB8C:
/* 8020CB8C 00209AEC 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 8020CB90 00209AF0 38 03 00 01 */ addi r0, r3, 1
/* 8020CB94 00209AF4 90 1F 00 28 */ stw r0, 0x28(r31)
/* 8020CB98 00209AF8 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 8020CB9C 00209AFC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8020CBA0 00209B00 7C 08 03 A6 */ mtlr r0
/* 8020CBA4 00209B04 38 21 00 30 */ addi r1, r1, 0x30
/* 8020CBA8 00209B08 4E 80 00 20 */ blr
.global AddMaxLengthConstraint__8CRagDollFiif
AddMaxLengthConstraint__8CRagDollFiif:
/* 8020CBAC 00209B0C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8020CBB0 00209B10 7C 08 02 A6 */ mflr r0
/* 8020CBB4 00209B14 54 A5 30 32 */ slwi r5, r5, 6
/* 8020CBB8 00209B18 90 01 00 24 */ stw r0, 0x24(r1)
/* 8020CBBC 00209B1C DB E1 00 18 */ stfd f31, 0x18(r1)
/* 8020CBC0 00209B20 FF E0 08 90 */ fmr f31, f1
/* 8020CBC4 00209B24 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8020CBC8 00209B28 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8020CBCC 00209B2C 93 A1 00 0C */ stw r29, 0xc(r1)
/* 8020CBD0 00209B30 7C 7D 1B 78 */ mr r29, r3
/* 8020CBD4 00209B34 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8020CBD8 00209B38 80 C3 00 1C */ lwz r6, 0x1c(r3)
/* 8020CBDC 00209B3C 54 83 30 32 */ slwi r3, r4, 6
/* 8020CBE0 00209B40 80 9D 00 10 */ lwz r4, 0x10(r29)
/* 8020CBE4 00209B44 7C 00 30 00 */ cmpw r0, r6
/* 8020CBE8 00209B48 7F E4 2A 14 */ add r31, r4, r5
/* 8020CBEC 00209B4C 7F C4 1A 14 */ add r30, r4, r3
/* 8020CBF0 00209B50 41 80 00 1C */ blt lbl_8020CC0C
/* 8020CBF4 00209B54 2C 06 00 00 */ cmpwi r6, 0
/* 8020CBF8 00209B58 38 7D 00 14 */ addi r3, r29, 0x14
/* 8020CBFC 00209B5C 38 80 00 04 */ li r4, 4
/* 8020CC00 00209B60 41 82 00 08 */ beq lbl_8020CC08
/* 8020CC04 00209B64 54 C4 08 3C */ slwi r4, r6, 1
lbl_8020CC08:
/* 8020CC08 00209B68 4B F2 00 45 */ bl "reserve__Q24rstl72vector<Q28CRagDoll24CRagDollLengthConstraint,Q24rstl17rmemory_allocator>Fi"
lbl_8020CC0C:
/* 8020CC0C 00209B6C 80 1D 00 18 */ lwz r0, 0x18(r29)
/* 8020CC10 00209B70 80 7D 00 20 */ lwz r3, 0x20(r29)
/* 8020CC14 00209B74 54 00 20 36 */ slwi r0, r0, 4
/* 8020CC18 00209B78 7C 63 02 15 */ add. r3, r3, r0
/* 8020CC1C 00209B7C 41 82 00 18 */ beq lbl_8020CC34
/* 8020CC20 00209B80 93 C3 00 00 */ stw r30, 0(r3)
/* 8020CC24 00209B84 38 00 00 02 */ li r0, 2
/* 8020CC28 00209B88 93 E3 00 04 */ stw r31, 4(r3)
/* 8020CC2C 00209B8C D3 E3 00 08 */ stfs f31, 8(r3)
/* 8020CC30 00209B90 90 03 00 0C */ stw r0, 0xc(r3)
lbl_8020CC34:
/* 8020CC34 00209B94 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 8020CC38 00209B98 38 03 00 01 */ addi r0, r3, 1
/* 8020CC3C 00209B9C 90 1D 00 18 */ stw r0, 0x18(r29)
/* 8020CC40 00209BA0 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 8020CC44 00209BA4 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8020CC48 00209BA8 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8020CC4C 00209BAC 83 A1 00 0C */ lwz r29, 0xc(r1)
/* 8020CC50 00209BB0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8020CC54 00209BB4 7C 08 03 A6 */ mtlr r0
/* 8020CC58 00209BB8 38 21 00 20 */ addi r1, r1, 0x20
/* 8020CC5C 00209BBC 4E 80 00 20 */ blr
.global AddMinLengthConstraint__8CRagDollFiif
AddMinLengthConstraint__8CRagDollFiif:
/* 8020CC60 00209BC0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8020CC64 00209BC4 7C 08 02 A6 */ mflr r0
/* 8020CC68 00209BC8 54 A5 30 32 */ slwi r5, r5, 6
/* 8020CC6C 00209BCC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8020CC70 00209BD0 DB E1 00 18 */ stfd f31, 0x18(r1)
/* 8020CC74 00209BD4 FF E0 08 90 */ fmr f31, f1
/* 8020CC78 00209BD8 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8020CC7C 00209BDC 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8020CC80 00209BE0 93 A1 00 0C */ stw r29, 0xc(r1)
/* 8020CC84 00209BE4 7C 7D 1B 78 */ mr r29, r3
/* 8020CC88 00209BE8 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8020CC8C 00209BEC 80 C3 00 1C */ lwz r6, 0x1c(r3)
/* 8020CC90 00209BF0 54 83 30 32 */ slwi r3, r4, 6
/* 8020CC94 00209BF4 80 9D 00 10 */ lwz r4, 0x10(r29)
/* 8020CC98 00209BF8 7C 00 30 00 */ cmpw r0, r6
/* 8020CC9C 00209BFC 7F E4 2A 14 */ add r31, r4, r5
/* 8020CCA0 00209C00 7F C4 1A 14 */ add r30, r4, r3
/* 8020CCA4 00209C04 41 80 00 1C */ blt lbl_8020CCC0
/* 8020CCA8 00209C08 2C 06 00 00 */ cmpwi r6, 0
/* 8020CCAC 00209C0C 38 7D 00 14 */ addi r3, r29, 0x14
/* 8020CCB0 00209C10 38 80 00 04 */ li r4, 4
/* 8020CCB4 00209C14 41 82 00 08 */ beq lbl_8020CCBC
/* 8020CCB8 00209C18 54 C4 08 3C */ slwi r4, r6, 1
lbl_8020CCBC:
/* 8020CCBC 00209C1C 4B F1 FF 91 */ bl "reserve__Q24rstl72vector<Q28CRagDoll24CRagDollLengthConstraint,Q24rstl17rmemory_allocator>Fi"
lbl_8020CCC0:
/* 8020CCC0 00209C20 80 1D 00 18 */ lwz r0, 0x18(r29)
/* 8020CCC4 00209C24 80 7D 00 20 */ lwz r3, 0x20(r29)
/* 8020CCC8 00209C28 54 00 20 36 */ slwi r0, r0, 4
/* 8020CCCC 00209C2C 7C 63 02 15 */ add. r3, r3, r0
/* 8020CCD0 00209C30 41 82 00 18 */ beq lbl_8020CCE8
/* 8020CCD4 00209C34 93 C3 00 00 */ stw r30, 0(r3)
/* 8020CCD8 00209C38 38 00 00 01 */ li r0, 1
/* 8020CCDC 00209C3C 93 E3 00 04 */ stw r31, 4(r3)
/* 8020CCE0 00209C40 D3 E3 00 08 */ stfs f31, 8(r3)
/* 8020CCE4 00209C44 90 03 00 0C */ stw r0, 0xc(r3)
lbl_8020CCE8:
/* 8020CCE8 00209C48 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 8020CCEC 00209C4C 38 03 00 01 */ addi r0, r3, 1
/* 8020CCF0 00209C50 90 1D 00 18 */ stw r0, 0x18(r29)
/* 8020CCF4 00209C54 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 8020CCF8 00209C58 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8020CCFC 00209C5C 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8020CD00 00209C60 83 A1 00 0C */ lwz r29, 0xc(r1)
/* 8020CD04 00209C64 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8020CD08 00209C68 7C 08 03 A6 */ mtlr r0
/* 8020CD0C 00209C6C 38 21 00 20 */ addi r1, r1, 0x20
/* 8020CD10 00209C70 4E 80 00 20 */ blr
.global AddLengthConstraint__8CRagDollFii
AddLengthConstraint__8CRagDollFii:
/* 8020CD14 00209C74 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8020CD18 00209C78 7C 08 02 A6 */ mflr r0
/* 8020CD1C 00209C7C 90 01 00 44 */ stw r0, 0x44(r1)
/* 8020CD20 00209C80 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8020CD24 00209C84 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 8020CD28 00209C88 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8020CD2C 00209C8C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8020CD30 00209C90 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8020CD34 00209C94 93 81 00 20 */ stw r28, 0x20(r1)
/* 8020CD38 00209C98 7C 7F 1B 78 */ mr r31, r3
/* 8020CD3C 00209C9C 54 BD 30 32 */ slwi r29, r5, 6
/* 8020CD40 00209CA0 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8020CD44 00209CA4 54 9C 30 32 */ slwi r28, r4, 6
/* 8020CD48 00209CA8 38 61 00 08 */ addi r3, r1, 8
/* 8020CD4C 00209CAC 7C 80 EA 14 */ add r4, r0, r29
/* 8020CD50 00209CB0 7C A0 E2 14 */ add r5, r0, r28
/* 8020CD54 00209CB4 C0 25 00 08 */ lfs f1, 8(r5)
/* 8020CD58 00209CB8 C0 04 00 08 */ lfs f0, 8(r4)
/* 8020CD5C 00209CBC C0 65 00 0C */ lfs f3, 0xc(r5)
/* 8020CD60 00209CC0 C0 44 00 0C */ lfs f2, 0xc(r4)
/* 8020CD64 00209CC4 EC 81 00 28 */ fsubs f4, f1, f0
/* 8020CD68 00209CC8 C0 25 00 04 */ lfs f1, 4(r5)
/* 8020CD6C 00209CCC C0 04 00 04 */ lfs f0, 4(r4)
/* 8020CD70 00209CD0 EC 43 10 28 */ fsubs f2, f3, f2
/* 8020CD74 00209CD4 EC 01 00 28 */ fsubs f0, f1, f0
/* 8020CD78 00209CD8 D0 81 00 0C */ stfs f4, 0xc(r1)
/* 8020CD7C 00209CDC D0 41 00 10 */ stfs f2, 0x10(r1)
/* 8020CD80 00209CE0 D0 01 00 08 */ stfs f0, 8(r1)
/* 8020CD84 00209CE4 48 10 7B 35 */ bl Magnitude__9CVector3fCFv
/* 8020CD88 00209CE8 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 8020CD8C 00209CEC FF E0 08 90 */ fmr f31, f1
/* 8020CD90 00209CF0 80 BF 00 1C */ lwz r5, 0x1c(r31)
/* 8020CD94 00209CF4 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 8020CD98 00209CF8 7C 00 28 00 */ cmpw r0, r5
/* 8020CD9C 00209CFC 7F C3 EA 14 */ add r30, r3, r29
/* 8020CDA0 00209D00 7F A3 E2 14 */ add r29, r3, r28
/* 8020CDA4 00209D04 41 80 00 1C */ blt lbl_8020CDC0
/* 8020CDA8 00209D08 2C 05 00 00 */ cmpwi r5, 0
/* 8020CDAC 00209D0C 38 7F 00 14 */ addi r3, r31, 0x14
/* 8020CDB0 00209D10 38 80 00 04 */ li r4, 4
/* 8020CDB4 00209D14 41 82 00 08 */ beq lbl_8020CDBC
/* 8020CDB8 00209D18 54 A4 08 3C */ slwi r4, r5, 1
lbl_8020CDBC:
/* 8020CDBC 00209D1C 4B F1 FE 91 */ bl "reserve__Q24rstl72vector<Q28CRagDoll24CRagDollLengthConstraint,Q24rstl17rmemory_allocator>Fi"
lbl_8020CDC0:
/* 8020CDC0 00209D20 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 8020CDC4 00209D24 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 8020CDC8 00209D28 54 00 20 36 */ slwi r0, r0, 4
/* 8020CDCC 00209D2C 7C 63 02 15 */ add. r3, r3, r0
/* 8020CDD0 00209D30 41 82 00 18 */ beq lbl_8020CDE8
/* 8020CDD4 00209D34 93 A3 00 00 */ stw r29, 0(r3)
/* 8020CDD8 00209D38 38 00 00 00 */ li r0, 0
/* 8020CDDC 00209D3C 93 C3 00 04 */ stw r30, 4(r3)
/* 8020CDE0 00209D40 D3 E3 00 08 */ stfs f31, 8(r3)
/* 8020CDE4 00209D44 90 03 00 0C */ stw r0, 0xc(r3)
lbl_8020CDE8:
/* 8020CDE8 00209D48 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8020CDEC 00209D4C 38 03 00 01 */ addi r0, r3, 1
/* 8020CDF0 00209D50 90 1F 00 18 */ stw r0, 0x18(r31)
/* 8020CDF4 00209D54 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 8020CDF8 00209D58 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8020CDFC 00209D5C CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8020CE00 00209D60 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8020CE04 00209D64 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8020CE08 00209D68 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8020CE0C 00209D6C 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8020CE10 00209D70 7C 08 03 A6 */ mtlr r0
/* 8020CE14 00209D74 38 21 00 40 */ addi r1, r1, 0x40
/* 8020CE18 00209D78 4E 80 00 20 */ blr
.global AddParticle__8CRagDollFRC6CSegIdRC9CVector3fRC9CVector3ff
AddParticle__8CRagDollFRC6CSegIdRC9CVector3fRC9CVector3ff:
/* 8020CE1C 00209D7C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8020CE20 00209D80 7C 08 02 A6 */ mflr r0
/* 8020CE24 00209D84 3D 00 80 5A */ lis r8, sZeroVector__9CVector3f@ha
/* 8020CE28 00209D88 C0 02 B1 C4 */ lfs f0, lbl_805ACEE4@sda21(r2)
/* 8020CE2C 00209D8C 90 01 00 54 */ stw r0, 0x54(r1)
/* 8020CE30 00209D90 39 28 66 A0 */ addi r9, r8, sZeroVector__9CVector3f@l
/* 8020CE34 00209D94 39 00 00 00 */ li r8, 0
/* 8020CE38 00209D98 38 63 00 04 */ addi r3, r3, 4
/* 8020CE3C 00209D9C 88 E1 00 44 */ lbz r7, 0x44(r1)
/* 8020CE40 00209DA0 51 07 3E 30 */ rlwimi r7, r8, 7, 0x18, 0x18
/* 8020CE44 00209DA4 89 44 00 00 */ lbz r10, 0(r4)
/* 8020CE48 00209DA8 38 81 00 08 */ addi r4, r1, 8
/* 8020CE4C 00209DAC C1 09 00 00 */ lfs f8, 0(r9)
/* 8020CE50 00209DB0 54 E0 06 3E */ clrlwi r0, r7, 0x18
/* 8020CE54 00209DB4 C1 29 00 04 */ lfs f9, 4(r9)
/* 8020CE58 00209DB8 51 00 36 72 */ rlwimi r0, r8, 6, 0x19, 0x19
/* 8020CE5C 00209DBC C1 49 00 08 */ lfs f10, 8(r9)
/* 8020CE60 00209DC0 98 E1 00 44 */ stb r7, 0x44(r1)
/* 8020CE64 00209DC4 C0 E6 00 00 */ lfs f7, 0(r6)
/* 8020CE68 00209DC8 C0 C6 00 04 */ lfs f6, 4(r6)
/* 8020CE6C 00209DCC C0 A6 00 08 */ lfs f5, 8(r6)
/* 8020CE70 00209DD0 C0 85 00 00 */ lfs f4, 0(r5)
/* 8020CE74 00209DD4 C0 65 00 04 */ lfs f3, 4(r5)
/* 8020CE78 00209DD8 C0 45 00 08 */ lfs f2, 8(r5)
/* 8020CE7C 00209DDC 99 41 00 08 */ stb r10, 8(r1)
/* 8020CE80 00209DE0 D0 E1 00 0C */ stfs f7, 0xc(r1)
/* 8020CE84 00209DE4 D0 C1 00 10 */ stfs f6, 0x10(r1)
/* 8020CE88 00209DE8 D0 A1 00 14 */ stfs f5, 0x14(r1)
/* 8020CE8C 00209DEC D0 21 00 18 */ stfs f1, 0x18(r1)
/* 8020CE90 00209DF0 D0 81 00 1C */ stfs f4, 0x1c(r1)
/* 8020CE94 00209DF4 D0 61 00 20 */ stfs f3, 0x20(r1)
/* 8020CE98 00209DF8 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 8020CE9C 00209DFC D1 01 00 28 */ stfs f8, 0x28(r1)
/* 8020CEA0 00209E00 D1 21 00 2C */ stfs f9, 0x2c(r1)
/* 8020CEA4 00209E04 D1 41 00 30 */ stfs f10, 0x30(r1)
/* 8020CEA8 00209E08 D1 01 00 34 */ stfs f8, 0x34(r1)
/* 8020CEAC 00209E0C D1 21 00 38 */ stfs f9, 0x38(r1)
/* 8020CEB0 00209E10 D1 41 00 3C */ stfs f10, 0x3c(r1)
/* 8020CEB4 00209E14 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 8020CEB8 00209E18 98 01 00 44 */ stb r0, 0x44(r1)
/* 8020CEBC 00209E1C 48 00 00 15 */ bl "push_back__Q24rstl64vector<Q28CRagDoll16CRagDollParticle,Q24rstl17rmemory_allocator>FRCQ28CRagDoll16CRagDollParticle"
/* 8020CEC0 00209E20 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8020CEC4 00209E24 7C 08 03 A6 */ mtlr r0
/* 8020CEC8 00209E28 38 21 00 50 */ addi r1, r1, 0x50
/* 8020CECC 00209E2C 4E 80 00 20 */ blr
.global "push_back__Q24rstl64vector<Q28CRagDoll16CRagDollParticle,Q24rstl17rmemory_allocator>FRCQ28CRagDoll16CRagDollParticle"
"push_back__Q24rstl64vector<Q28CRagDoll16CRagDollParticle,Q24rstl17rmemory_allocator>FRCQ28CRagDoll16CRagDollParticle":
/* 8020CED0 00209E30 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8020CED4 00209E34 7C 08 02 A6 */ mflr r0
/* 8020CED8 00209E38 90 01 00 14 */ stw r0, 0x14(r1)
/* 8020CEDC 00209E3C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8020CEE0 00209E40 7C 9F 23 78 */ mr r31, r4
/* 8020CEE4 00209E44 93 C1 00 08 */ stw r30, 8(r1)
/* 8020CEE8 00209E48 7C 7E 1B 78 */ mr r30, r3
/* 8020CEEC 00209E4C 80 03 00 04 */ lwz r0, 4(r3)
/* 8020CEF0 00209E50 80 A3 00 08 */ lwz r5, 8(r3)
/* 8020CEF4 00209E54 7C 00 28 00 */ cmpw r0, r5
/* 8020CEF8 00209E58 41 80 00 18 */ blt lbl_8020CF10
/* 8020CEFC 00209E5C 2C 05 00 00 */ cmpwi r5, 0
/* 8020CF00 00209E60 38 80 00 04 */ li r4, 4
/* 8020CF04 00209E64 41 82 00 08 */ beq lbl_8020CF0C
/* 8020CF08 00209E68 54 A4 08 3C */ slwi r4, r5, 1
lbl_8020CF0C:
/* 8020CF0C 00209E6C 4B F1 FB B9 */ bl "reserve__Q24rstl64vector<Q28CRagDoll16CRagDollParticle,Q24rstl17rmemory_allocator>Fi"
lbl_8020CF10:
/* 8020CF10 00209E70 80 1E 00 04 */ lwz r0, 4(r30)
/* 8020CF14 00209E74 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8020CF18 00209E78 54 00 30 32 */ slwi r0, r0, 6
/* 8020CF1C 00209E7C 7C 63 02 15 */ add. r3, r3, r0
/* 8020CF20 00209E80 41 82 00 84 */ beq lbl_8020CFA4
/* 8020CF24 00209E84 88 1F 00 00 */ lbz r0, 0(r31)
/* 8020CF28 00209E88 98 03 00 00 */ stb r0, 0(r3)
/* 8020CF2C 00209E8C C0 1F 00 04 */ lfs f0, 4(r31)
/* 8020CF30 00209E90 D0 03 00 04 */ stfs f0, 4(r3)
/* 8020CF34 00209E94 C0 1F 00 08 */ lfs f0, 8(r31)
/* 8020CF38 00209E98 D0 03 00 08 */ stfs f0, 8(r3)
/* 8020CF3C 00209E9C C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 8020CF40 00209EA0 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8020CF44 00209EA4 C0 1F 00 10 */ lfs f0, 0x10(r31)
/* 8020CF48 00209EA8 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8020CF4C 00209EAC C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 8020CF50 00209EB0 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 8020CF54 00209EB4 C0 1F 00 18 */ lfs f0, 0x18(r31)
/* 8020CF58 00209EB8 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 8020CF5C 00209EBC C0 1F 00 1C */ lfs f0, 0x1c(r31)
/* 8020CF60 00209EC0 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 8020CF64 00209EC4 C0 1F 00 20 */ lfs f0, 0x20(r31)
/* 8020CF68 00209EC8 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 8020CF6C 00209ECC C0 1F 00 24 */ lfs f0, 0x24(r31)
/* 8020CF70 00209ED0 D0 03 00 24 */ stfs f0, 0x24(r3)
/* 8020CF74 00209ED4 C0 1F 00 28 */ lfs f0, 0x28(r31)
/* 8020CF78 00209ED8 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 8020CF7C 00209EDC C0 1F 00 2C */ lfs f0, 0x2c(r31)
/* 8020CF80 00209EE0 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 8020CF84 00209EE4 C0 1F 00 30 */ lfs f0, 0x30(r31)
/* 8020CF88 00209EE8 D0 03 00 30 */ stfs f0, 0x30(r3)
/* 8020CF8C 00209EEC C0 1F 00 34 */ lfs f0, 0x34(r31)
/* 8020CF90 00209EF0 D0 03 00 34 */ stfs f0, 0x34(r3)
/* 8020CF94 00209EF4 C0 1F 00 38 */ lfs f0, 0x38(r31)
/* 8020CF98 00209EF8 D0 03 00 38 */ stfs f0, 0x38(r3)
/* 8020CF9C 00209EFC 88 1F 00 3C */ lbz r0, 0x3c(r31)
/* 8020CFA0 00209F00 98 03 00 3C */ stb r0, 0x3c(r3)
lbl_8020CFA4:
/* 8020CFA4 00209F04 80 7E 00 04 */ lwz r3, 4(r30)
/* 8020CFA8 00209F08 38 03 00 01 */ addi r0, r3, 1
/* 8020CFAC 00209F0C 90 1E 00 04 */ stw r0, 4(r30)
/* 8020CFB0 00209F10 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8020CFB4 00209F14 83 C1 00 08 */ lwz r30, 8(r1)
/* 8020CFB8 00209F18 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8020CFBC 00209F1C 7C 08 03 A6 */ mtlr r0
/* 8020CFC0 00209F20 38 21 00 10 */ addi r1, r1, 0x10
/* 8020CFC4 00209F24 4E 80 00 20 */ blr
.global Update__Q28CRagDoll23CRagDollPlaneConstraintFv
Update__Q28CRagDoll23CRagDollPlaneConstraintFv:
/* 8020CFC8 00209F28 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8020CFCC 00209F2C 7C 08 02 A6 */ mflr r0
/* 8020CFD0 00209F30 90 01 00 34 */ stw r0, 0x34(r1)
/* 8020CFD4 00209F34 38 81 00 08 */ addi r4, r1, 8
/* 8020CFD8 00209F38 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8020CFDC 00209F3C 7C 7F 1B 78 */ mr r31, r3
/* 8020CFE0 00209F40 38 61 00 14 */ addi r3, r1, 0x14
/* 8020CFE4 00209F44 80 DF 00 00 */ lwz r6, 0(r31)
/* 8020CFE8 00209F48 80 BF 00 04 */ lwz r5, 4(r31)
/* 8020CFEC 00209F4C C0 06 00 08 */ lfs f0, 8(r6)
/* 8020CFF0 00209F50 C0 25 00 08 */ lfs f1, 8(r5)
/* 8020CFF4 00209F54 C0 65 00 0C */ lfs f3, 0xc(r5)
/* 8020CFF8 00209F58 EC 81 00 28 */ fsubs f4, f1, f0
/* 8020CFFC 00209F5C C0 46 00 0C */ lfs f2, 0xc(r6)
/* 8020D000 00209F60 C0 25 00 04 */ lfs f1, 4(r5)
/* 8020D004 00209F64 C0 06 00 04 */ lfs f0, 4(r6)
/* 8020D008 00209F68 EC 43 10 28 */ fsubs f2, f3, f2
/* 8020D00C 00209F6C EC 01 00 28 */ fsubs f0, f1, f0
/* 8020D010 00209F70 D0 81 00 0C */ stfs f4, 0xc(r1)
/* 8020D014 00209F74 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 8020D018 00209F78 D0 01 00 08 */ stfs f0, 8(r1)
/* 8020D01C 00209F7C 48 10 78 35 */ bl AsNormalized__9CVector3fCFv
/* 8020D020 00209F80 80 9F 00 08 */ lwz r4, 8(r31)
/* 8020D024 00209F84 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 8020D028 00209F88 C0 04 00 08 */ lfs f0, 8(r4)
/* 8020D02C 00209F8C C0 23 00 08 */ lfs f1, 8(r3)
/* 8020D030 00209F90 C0 81 00 18 */ lfs f4, 0x18(r1)
/* 8020D034 00209F94 EC 01 00 28 */ fsubs f0, f1, f0
/* 8020D038 00209F98 C0 43 00 04 */ lfs f2, 4(r3)
/* 8020D03C 00209F9C C0 24 00 04 */ lfs f1, 4(r4)
/* 8020D040 00209FA0 C0 C1 00 14 */ lfs f6, 0x14(r1)
/* 8020D044 00209FA4 EC 22 08 28 */ fsubs f1, f2, f1
/* 8020D048 00209FA8 C0 63 00 0C */ lfs f3, 0xc(r3)
/* 8020D04C 00209FAC EC 04 00 32 */ fmuls f0, f4, f0
/* 8020D050 00209FB0 C0 44 00 0C */ lfs f2, 0xc(r4)
/* 8020D054 00209FB4 C0 A1 00 1C */ lfs f5, 0x1c(r1)
/* 8020D058 00209FB8 EC 43 10 28 */ fsubs f2, f3, f2
/* 8020D05C 00209FBC EC 26 00 7A */ fmadds f1, f6, f1, f0
/* 8020D060 00209FC0 C0 02 B1 C4 */ lfs f0, lbl_805ACEE4@sda21(r2)
/* 8020D064 00209FC4 EC 45 08 BA */ fmadds f2, f5, f2, f1
/* 8020D068 00209FC8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8020D06C 00209FCC 40 80 00 64 */ bge lbl_8020D0D0
/* 8020D070 00209FD0 C0 22 B1 D0 */ lfs f1, lbl_805ACEF0@sda21(r2)
/* 8020D074 00209FD4 C0 03 00 04 */ lfs f0, 4(r3)
/* 8020D078 00209FD8 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8020D07C 00209FDC EC 61 01 B2 */ fmuls f3, f1, f6
/* 8020D080 00209FE0 EC 41 01 32 */ fmuls f2, f1, f4
/* 8020D084 00209FE4 EC 21 01 72 */ fmuls f1, f1, f5
/* 8020D088 00209FE8 EC 00 18 28 */ fsubs f0, f0, f3
/* 8020D08C 00209FEC D0 03 00 04 */ stfs f0, 4(r3)
/* 8020D090 00209FF0 C0 03 00 08 */ lfs f0, 8(r3)
/* 8020D094 00209FF4 EC 00 10 28 */ fsubs f0, f0, f2
/* 8020D098 00209FF8 D0 03 00 08 */ stfs f0, 8(r3)
/* 8020D09C 00209FFC C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8020D0A0 0020A000 EC 00 08 28 */ fsubs f0, f0, f1
/* 8020D0A4 0020A004 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8020D0A8 0020A008 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 8020D0AC 0020A00C C0 03 00 04 */ lfs f0, 4(r3)
/* 8020D0B0 0020A010 EC 00 18 2A */ fadds f0, f0, f3
/* 8020D0B4 0020A014 D0 03 00 04 */ stfs f0, 4(r3)
/* 8020D0B8 0020A018 C0 03 00 08 */ lfs f0, 8(r3)
/* 8020D0BC 0020A01C EC 00 10 2A */ fadds f0, f0, f2
/* 8020D0C0 0020A020 D0 03 00 08 */ stfs f0, 8(r3)
/* 8020D0C4 0020A024 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8020D0C8 0020A028 EC 00 08 2A */ fadds f0, f0, f1
/* 8020D0CC 0020A02C D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_8020D0D0:
/* 8020D0D0 0020A030 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8020D0D4 0020A034 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8020D0D8 0020A038 7C 08 03 A6 */ mtlr r0
/* 8020D0DC 0020A03C 38 21 00 30 */ addi r1, r1, 0x30
/* 8020D0E0 0020A040 4E 80 00 20 */ blr
.global Update__Q28CRagDoll23CRagDollJointConstraintFv
Update__Q28CRagDoll23CRagDollJointConstraintFv:
/* 8020D0E4 0020A044 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8020D0E8 0020A048 7C 08 02 A6 */ mflr r0
/* 8020D0EC 0020A04C 90 01 00 74 */ stw r0, 0x74(r1)
/* 8020D0F0 0020A050 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 8020D0F4 0020A054 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 8020D0F8 0020A058 DB C1 00 50 */ stfd f30, 0x50(r1)
/* 8020D0FC 0020A05C F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 8020D100 0020A060 DB A1 00 40 */ stfd f29, 0x40(r1)
/* 8020D104 0020A064 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0
/* 8020D108 0020A068 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8020D10C 0020A06C 7C 7F 1B 78 */ mr r31, r3
/* 8020D110 0020A070 38 61 00 20 */ addi r3, r1, 0x20
/* 8020D114 0020A074 81 1F 00 00 */ lwz r8, 0(r31)
/* 8020D118 0020A078 80 FF 00 04 */ lwz r7, 4(r31)
/* 8020D11C 0020A07C 80 DF 00 08 */ lwz r6, 8(r31)
/* 8020D120 0020A080 C0 47 00 04 */ lfs f2, 4(r7)
/* 8020D124 0020A084 C0 28 00 04 */ lfs f1, 4(r8)
/* 8020D128 0020A088 C0 06 00 04 */ lfs f0, 4(r6)
/* 8020D12C 0020A08C 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 8020D130 0020A090 ED 62 08 28 */ fsubs f11, f2, f1
/* 8020D134 0020A094 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 8020D138 0020A098 EF A0 08 28 */ fsubs f29, f0, f1
/* 8020D13C 0020A09C C0 27 00 08 */ lfs f1, 8(r7)
/* 8020D140 0020A0A0 C0 68 00 08 */ lfs f3, 8(r8)
/* 8020D144 0020A0A4 C0 06 00 08 */ lfs f0, 8(r6)
/* 8020D148 0020A0A8 C0 47 00 0C */ lfs f2, 0xc(r7)
/* 8020D14C 0020A0AC ED 41 18 28 */ fsubs f10, f1, f3
/* 8020D150 0020A0B0 C0 28 00 0C */ lfs f1, 0xc(r8)
/* 8020D154 0020A0B4 ED A0 18 28 */ fsubs f13, f0, f3
/* 8020D158 0020A0B8 C0 06 00 0C */ lfs f0, 0xc(r6)
/* 8020D15C 0020A0BC ED 22 08 28 */ fsubs f9, f2, f1
/* 8020D160 0020A0C0 C0 A4 00 04 */ lfs f5, 4(r4)
/* 8020D164 0020A0C4 ED 80 08 28 */ fsubs f12, f0, f1
/* 8020D168 0020A0C8 C0 85 00 04 */ lfs f4, 4(r5)
/* 8020D16C 0020A0CC ED 0B 03 72 */ fmuls f8, f11, f13
/* 8020D170 0020A0D0 C0 64 00 08 */ lfs f3, 8(r4)
/* 8020D174 0020A0D4 EC E9 07 72 */ fmuls f7, f9, f29
/* 8020D178 0020A0D8 C0 45 00 08 */ lfs f2, 8(r5)
/* 8020D17C 0020A0DC EC CA 03 32 */ fmuls f6, f10, f12
/* 8020D180 0020A0E0 C0 24 00 0C */ lfs f1, 0xc(r4)
/* 8020D184 0020A0E4 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 8020D188 0020A0E8 ED 1D 42 B8 */ fmsubs f8, f29, f10, f8
/* 8020D18C 0020A0EC EF E5 20 28 */ fsubs f31, f5, f4
/* 8020D190 0020A0F0 EC AC 3A F8 */ fmsubs f5, f12, f11, f7
/* 8020D194 0020A0F4 EF C1 00 28 */ fsubs f30, f1, f0
/* 8020D198 0020A0F8 EC 8D 32 78 */ fmsubs f4, f13, f9, f6
/* 8020D19C 0020A0FC EF A3 10 28 */ fsubs f29, f3, f2
/* 8020D1A0 0020A100 EC 45 07 B2 */ fmuls f2, f5, f30
/* 8020D1A4 0020A104 EC 28 07 F2 */ fmuls f1, f8, f31
/* 8020D1A8 0020A108 EC 04 07 72 */ fmuls f0, f4, f29
/* 8020D1AC 0020A10C EC 5D 12 38 */ fmsubs f2, f29, f8, f2
/* 8020D1B0 0020A110 EC 3E 09 38 */ fmsubs f1, f30, f4, f1
/* 8020D1B4 0020A114 EC 1F 01 78 */ fmsubs f0, f31, f5, f0
/* 8020D1B8 0020A118 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 8020D1BC 0020A11C D0 21 00 24 */ stfs f1, 0x24(r1)
/* 8020D1C0 0020A120 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8020D1C4 0020A124 48 10 75 35 */ bl CanBeNormalized__9CVector3fCFv
/* 8020D1C8 0020A128 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8020D1CC 0020A12C 41 82 00 F0 */ beq lbl_8020D2BC
/* 8020D1D0 0020A130 C0 61 00 24 */ lfs f3, 0x24(r1)
/* 8020D1D4 0020A134 38 61 00 14 */ addi r3, r1, 0x14
/* 8020D1D8 0020A138 C0 81 00 28 */ lfs f4, 0x28(r1)
/* 8020D1DC 0020A13C 38 81 00 08 */ addi r4, r1, 8
/* 8020D1E0 0020A140 C0 A1 00 20 */ lfs f5, 0x20(r1)
/* 8020D1E4 0020A144 EC 1F 00 F2 */ fmuls f0, f31, f3
/* 8020D1E8 0020A148 EC 5D 01 32 */ fmuls f2, f29, f4
/* 8020D1EC 0020A14C EC 3E 01 72 */ fmuls f1, f30, f5
/* 8020D1F0 0020A150 EC 05 07 78 */ fmsubs f0, f5, f29, f0
/* 8020D1F4 0020A154 EC 43 17 B8 */ fmsubs f2, f3, f30, f2
/* 8020D1F8 0020A158 EC 24 0F F8 */ fmsubs f1, f4, f31, f1
/* 8020D1FC 0020A15C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8020D200 0020A160 D0 41 00 08 */ stfs f2, 8(r1)
/* 8020D204 0020A164 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8020D208 0020A168 48 10 76 49 */ bl AsNormalized__9CVector3fCFv
/* 8020D20C 0020A16C 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 8020D210 0020A170 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 8020D214 0020A174 C0 04 00 08 */ lfs f0, 8(r4)
/* 8020D218 0020A178 C0 23 00 08 */ lfs f1, 8(r3)
/* 8020D21C 0020A17C C0 81 00 18 */ lfs f4, 0x18(r1)
/* 8020D220 0020A180 EC 01 00 28 */ fsubs f0, f1, f0
/* 8020D224 0020A184 C0 43 00 04 */ lfs f2, 4(r3)
/* 8020D228 0020A188 C0 24 00 04 */ lfs f1, 4(r4)
/* 8020D22C 0020A18C C0 C1 00 14 */ lfs f6, 0x14(r1)
/* 8020D230 0020A190 EC 22 08 28 */ fsubs f1, f2, f1
/* 8020D234 0020A194 C0 63 00 0C */ lfs f3, 0xc(r3)
/* 8020D238 0020A198 EC 00 01 32 */ fmuls f0, f0, f4
/* 8020D23C 0020A19C C0 44 00 0C */ lfs f2, 0xc(r4)
/* 8020D240 0020A1A0 C0 A1 00 1C */ lfs f5, 0x1c(r1)
/* 8020D244 0020A1A4 EC 43 10 28 */ fsubs f2, f3, f2
/* 8020D248 0020A1A8 EC 21 01 BA */ fmadds f1, f1, f6, f0
/* 8020D24C 0020A1AC C0 02 B1 C4 */ lfs f0, lbl_805ACEE4@sda21(r2)
/* 8020D250 0020A1B0 EC 42 09 7A */ fmadds f2, f2, f5, f1
/* 8020D254 0020A1B4 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8020D258 0020A1B8 40 81 00 64 */ ble lbl_8020D2BC
/* 8020D25C 0020A1BC C0 22 B1 D0 */ lfs f1, lbl_805ACEF0@sda21(r2)
/* 8020D260 0020A1C0 C0 03 00 04 */ lfs f0, 4(r3)
/* 8020D264 0020A1C4 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8020D268 0020A1C8 EC 61 01 B2 */ fmuls f3, f1, f6
/* 8020D26C 0020A1CC EC 41 01 32 */ fmuls f2, f1, f4
/* 8020D270 0020A1D0 EC 21 01 72 */ fmuls f1, f1, f5
/* 8020D274 0020A1D4 EC 00 18 28 */ fsubs f0, f0, f3
/* 8020D278 0020A1D8 D0 03 00 04 */ stfs f0, 4(r3)
/* 8020D27C 0020A1DC C0 03 00 08 */ lfs f0, 8(r3)
/* 8020D280 0020A1E0 EC 00 10 28 */ fsubs f0, f0, f2
/* 8020D284 0020A1E4 D0 03 00 08 */ stfs f0, 8(r3)
/* 8020D288 0020A1E8 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8020D28C 0020A1EC EC 00 08 28 */ fsubs f0, f0, f1
/* 8020D290 0020A1F0 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8020D294 0020A1F4 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 8020D298 0020A1F8 C0 03 00 04 */ lfs f0, 4(r3)
/* 8020D29C 0020A1FC EC 00 18 2A */ fadds f0, f0, f3
/* 8020D2A0 0020A200 D0 03 00 04 */ stfs f0, 4(r3)
/* 8020D2A4 0020A204 C0 03 00 08 */ lfs f0, 8(r3)
/* 8020D2A8 0020A208 EC 00 10 2A */ fadds f0, f0, f2
/* 8020D2AC 0020A20C D0 03 00 08 */ stfs f0, 8(r3)
/* 8020D2B0 0020A210 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8020D2B4 0020A214 EC 00 08 2A */ fadds f0, f0, f1
/* 8020D2B8 0020A218 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_8020D2BC:
/* 8020D2BC 0020A21C E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 8020D2C0 0020A220 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 8020D2C4 0020A224 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 8020D2C8 0020A228 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 8020D2CC 0020A22C E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0
/* 8020D2D0 0020A230 CB A1 00 40 */ lfd f29, 0x40(r1)
/* 8020D2D4 0020A234 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8020D2D8 0020A238 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8020D2DC 0020A23C 7C 08 03 A6 */ mtlr r0
/* 8020D2E0 0020A240 38 21 00 70 */ addi r1, r1, 0x70
/* 8020D2E4 0020A244 4E 80 00 20 */ blr
.global Update__Q28CRagDoll24CRagDollLengthConstraintFv
Update__Q28CRagDoll24CRagDollLengthConstraintFv:
/* 8020D2E8 0020A248 80 A3 00 00 */ lwz r5, 0(r3)
/* 8020D2EC 0020A24C 38 C0 00 01 */ li r6, 1
/* 8020D2F0 0020A250 80 83 00 04 */ lwz r4, 4(r3)
/* 8020D2F4 0020A254 C0 05 00 08 */ lfs f0, 8(r5)
/* 8020D2F8 0020A258 C0 24 00 08 */ lfs f1, 8(r4)
/* 8020D2FC 0020A25C C0 43 00 08 */ lfs f2, 8(r3)
/* 8020D300 0020A260 EC 81 00 28 */ fsubs f4, f1, f0
/* 8020D304 0020A264 C0 24 00 04 */ lfs f1, 4(r4)
/* 8020D308 0020A268 C0 05 00 04 */ lfs f0, 4(r5)
/* 8020D30C 0020A26C EC C2 00 B2 */ fmuls f6, f2, f2
/* 8020D310 0020A270 80 03 00 0C */ lwz r0, 0xc(r3)
/* 8020D314 0020A274 EC A1 00 28 */ fsubs f5, f1, f0
/* 8020D318 0020A278 EC 04 01 32 */ fmuls f0, f4, f4
/* 8020D31C 0020A27C C0 44 00 0C */ lfs f2, 0xc(r4)
/* 8020D320 0020A280 C0 25 00 0C */ lfs f1, 0xc(r5)
/* 8020D324 0020A284 2C 00 00 02 */ cmpwi r0, 2
/* 8020D328 0020A288 EC 62 08 28 */ fsubs f3, f2, f1
/* 8020D32C 0020A28C EC 05 01 7A */ fmadds f0, f5, f5, f0
/* 8020D330 0020A290 EC 03 00 FA */ fmadds f0, f3, f3, f0
/* 8020D334 0020A294 41 82 00 24 */ beq lbl_8020D358
/* 8020D338 0020A298 40 80 00 2C */ bge lbl_8020D364
/* 8020D33C 0020A29C 2C 00 00 01 */ cmpwi r0, 1
/* 8020D340 0020A2A0 40 80 00 08 */ bge lbl_8020D348
/* 8020D344 0020A2A4 48 00 00 20 */ b lbl_8020D364
lbl_8020D348:
/* 8020D348 0020A2A8 FC 00 30 40 */ fcmpo cr0, f0, f6
/* 8020D34C 0020A2AC 7C 00 00 26 */ mfcr r0
/* 8020D350 0020A2B0 54 06 0F FE */ srwi r6, r0, 0x1f
/* 8020D354 0020A2B4 48 00 00 10 */ b lbl_8020D364
lbl_8020D358:
/* 8020D358 0020A2B8 FC 00 30 40 */ fcmpo cr0, f0, f6
/* 8020D35C 0020A2BC 7C 00 00 26 */ mfcr r0
/* 8020D360 0020A2C0 54 06 17 FE */ rlwinm r6, r0, 2, 0x1f, 0x1f
lbl_8020D364:
/* 8020D364 0020A2C4 54 C0 06 3F */ clrlwi. r0, r6, 0x18
/* 8020D368 0020A2C8 4D 82 00 20 */ beqlr
/* 8020D36C 0020A2CC EC 40 30 2A */ fadds f2, f0, f6
/* 8020D370 0020A2D0 C0 22 B1 D0 */ lfs f1, lbl_805ACEF0@sda21(r2)
/* 8020D374 0020A2D4 C0 05 00 04 */ lfs f0, 4(r5)
/* 8020D378 0020A2D8 EC 46 10 24 */ fdivs f2, f6, f2
/* 8020D37C 0020A2DC EC 22 08 28 */ fsubs f1, f2, f1
/* 8020D380 0020A2E0 EC A1 01 72 */ fmuls f5, f1, f5
/* 8020D384 0020A2E4 EC 41 01 32 */ fmuls f2, f1, f4
/* 8020D388 0020A2E8 EC 21 00 F2 */ fmuls f1, f1, f3
/* 8020D38C 0020A2EC EC 00 28 28 */ fsubs f0, f0, f5
/* 8020D390 0020A2F0 D0 05 00 04 */ stfs f0, 4(r5)
/* 8020D394 0020A2F4 C0 05 00 08 */ lfs f0, 8(r5)
/* 8020D398 0020A2F8 EC 00 10 28 */ fsubs f0, f0, f2
/* 8020D39C 0020A2FC D0 05 00 08 */ stfs f0, 8(r5)
/* 8020D3A0 0020A300 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 8020D3A4 0020A304 EC 00 08 28 */ fsubs f0, f0, f1
/* 8020D3A8 0020A308 D0 05 00 0C */ stfs f0, 0xc(r5)
/* 8020D3AC 0020A30C C0 04 00 04 */ lfs f0, 4(r4)
/* 8020D3B0 0020A310 EC 00 28 2A */ fadds f0, f0, f5
/* 8020D3B4 0020A314 D0 04 00 04 */ stfs f0, 4(r4)
/* 8020D3B8 0020A318 C0 04 00 08 */ lfs f0, 8(r4)
/* 8020D3BC 0020A31C EC 00 10 2A */ fadds f0, f0, f2
/* 8020D3C0 0020A320 D0 04 00 08 */ stfs f0, 8(r4)
/* 8020D3C4 0020A324 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 8020D3C8 0020A328 EC 00 08 2A */ fadds f0, f0, f1
/* 8020D3CC 0020A32C D0 04 00 0C */ stfs f0, 0xc(r4)
/* 8020D3D0 0020A330 4E 80 00 20 */ blr
.global Update__8CRagDollFR13CStateManagerff
Update__8CRagDollFR13CStateManagerff:
/* 8020D3D4 0020A334 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8020D3D8 0020A338 7C 08 02 A6 */ mflr r0
/* 8020D3DC 0020A33C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8020D3E0 0020A340 DB E1 00 18 */ stfd f31, 0x18(r1)
/* 8020D3E4 0020A344 FF E0 08 90 */ fmr f31, f1
/* 8020D3E8 0020A348 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8020D3EC 0020A34C 7C 9F 23 78 */ mr r31, r4
/* 8020D3F0 0020A350 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8020D3F4 0020A354 7C 7E 1B 78 */ mr r30, r3
/* 8020D3F8 0020A358 88 03 00 68 */ lbz r0, 0x68(r3)
/* 8020D3FC 0020A35C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8020D400 0020A360 41 82 00 10 */ beq lbl_8020D410
/* 8020D404 0020A364 88 1E 00 68 */ lbz r0, 0x68(r30)
/* 8020D408 0020A368 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 8020D40C 0020A36C 41 82 00 3C */ beq lbl_8020D448
lbl_8020D410:
/* 8020D410 0020A370 FC 20 F8 90 */ fmr f1, f31
/* 8020D414 0020A374 7F C3 F3 78 */ mr r3, r30
/* 8020D418 0020A378 48 00 0C 01 */ bl AccumulateForces__8CRagDollFff
/* 8020D41C 0020A37C FC 20 F8 90 */ fmr f1, f31
/* 8020D420 0020A380 7F C3 F3 78 */ mr r3, r30
/* 8020D424 0020A384 48 00 10 49 */ bl Verlet__8CRagDollFf
/* 8020D428 0020A388 7F C3 F3 78 */ mr r3, r30
/* 8020D42C 0020A38C 7F E4 FB 78 */ mr r4, r31
/* 8020D430 0020A390 48 00 02 AD */ bl SatisfyConstraints__8CRagDollFR13CStateManager
/* 8020D434 0020A394 7F C3 F3 78 */ mr r3, r30
/* 8020D438 0020A398 48 00 02 55 */ bl ClearForces__8CRagDollFv
/* 8020D43C 0020A39C FC 20 F8 90 */ fmr f1, f31
/* 8020D440 0020A3A0 7F C3 F3 78 */ mr r3, r30
/* 8020D444 0020A3A4 48 00 00 21 */ bl CheckStatic__8CRagDollFf
lbl_8020D448:
/* 8020D448 0020A3A8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8020D44C 0020A3AC CB E1 00 18 */ lfd f31, 0x18(r1)
/* 8020D450 0020A3B0 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8020D454 0020A3B4 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8020D458 0020A3B8 7C 08 03 A6 */ mtlr r0
/* 8020D45C 0020A3BC 38 21 00 20 */ addi r1, r1, 0x20
/* 8020D460 0020A3C0 4E 80 00 20 */ blr
.global CheckStatic__8CRagDollFf
CheckStatic__8CRagDollFf:
/* 8020D464 0020A3C4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8020D468 0020A3C8 7C 08 02 A6 */ mflr r0
/* 8020D46C 0020A3CC 90 01 00 44 */ stw r0, 0x44(r1)
/* 8020D470 0020A3D0 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8020D474 0020A3D4 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 8020D478 0020A3D8 DB C1 00 20 */ stfd f30, 0x20(r1)
/* 8020D47C 0020A3DC F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 8020D480 0020A3E0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8020D484 0020A3E4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8020D488 0020A3E8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8020D48C 0020A3EC 93 81 00 10 */ stw r28, 0x10(r1)
/* 8020D490 0020A3F0 3B A0 00 00 */ li r29, 0
/* 8020D494 0020A3F4 FF C0 08 90 */ fmr f30, f1
/* 8020D498 0020A3F8 93 A3 00 4C */ stw r29, 0x4c(r3)
/* 8020D49C 0020A3FC 7C 7E 1B 78 */ mr r30, r3
/* 8020D4A0 0020A400 C0 02 B1 C4 */ lfs f0, lbl_805ACEE4@sda21(r2)
/* 8020D4A4 0020A404 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 8020D4A8 0020A408 C0 22 B1 D0 */ lfs f1, lbl_805ACEF0@sda21(r2)
/* 8020D4AC 0020A40C D0 1E 00 54 */ stfs f0, 0x54(r30)
/* 8020D4B0 0020A410 3B E0 00 01 */ li r31, 1
/* 8020D4B4 0020A414 EC 21 07 B2 */ fmuls f1, f1, f30
/* 8020D4B8 0020A418 3B 80 00 00 */ li r28, 0
/* 8020D4BC 0020A41C C4 03 66 A0 */ lfsu f0, sZeroVector__9CVector3f@l(r3)
/* 8020D4C0 0020A420 D0 1E 00 58 */ stfs f0, 0x58(r30)
/* 8020D4C4 0020A424 EF E1 00 72 */ fmuls f31, f1, f1
/* 8020D4C8 0020A428 C0 03 00 04 */ lfs f0, 4(r3)
/* 8020D4CC 0020A42C D0 1E 00 5C */ stfs f0, 0x5c(r30)
/* 8020D4D0 0020A430 C0 03 00 08 */ lfs f0, 8(r3)
/* 8020D4D4 0020A434 D0 1E 00 60 */ stfs f0, 0x60(r30)
/* 8020D4D8 0020A438 48 00 00 B0 */ b lbl_8020D588
lbl_8020D4DC:
/* 8020D4DC 0020A43C 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 8020D4E0 0020A440 C0 1E 00 58 */ lfs f0, 0x58(r30)
/* 8020D4E4 0020A444 7C 60 EA 14 */ add r3, r0, r29
/* 8020D4E8 0020A448 C0 43 00 04 */ lfs f2, 4(r3)
/* 8020D4EC 0020A44C C0 23 00 14 */ lfs f1, 0x14(r3)
/* 8020D4F0 0020A450 C0 83 00 08 */ lfs f4, 8(r3)
/* 8020D4F4 0020A454 EC A2 08 28 */ fsubs f5, f2, f1
/* 8020D4F8 0020A458 C0 23 00 18 */ lfs f1, 0x18(r3)
/* 8020D4FC 0020A45C C0 63 00 0C */ lfs f3, 0xc(r3)
/* 8020D500 0020A460 C0 43 00 1C */ lfs f2, 0x1c(r3)
/* 8020D504 0020A464 EC 84 08 28 */ fsubs f4, f4, f1
/* 8020D508 0020A468 EC 20 28 2A */ fadds f1, f0, f5
/* 8020D50C 0020A46C EC 43 10 28 */ fsubs f2, f3, f2
/* 8020D510 0020A470 EC 04 01 32 */ fmuls f0, f4, f4
/* 8020D514 0020A474 D0 3E 00 58 */ stfs f1, 0x58(r30)
/* 8020D518 0020A478 C0 3E 00 5C */ lfs f1, 0x5c(r30)
/* 8020D51C 0020A47C EC 05 01 7A */ fmadds f0, f5, f5, f0
/* 8020D520 0020A480 EC 21 20 2A */ fadds f1, f1, f4
/* 8020D524 0020A484 EC 02 00 BA */ fmadds f0, f2, f2, f0
/* 8020D528 0020A488 D0 3E 00 5C */ stfs f1, 0x5c(r30)
/* 8020D52C 0020A48C FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 8020D530 0020A490 C0 1E 00 60 */ lfs f0, 0x60(r30)
/* 8020D534 0020A494 EC 00 10 2A */ fadds f0, f0, f2
/* 8020D538 0020A498 D0 1E 00 60 */ stfs f0, 0x60(r30)
/* 8020D53C 0020A49C 40 81 00 08 */ ble lbl_8020D544
/* 8020D540 0020A4A0 3B E0 00 00 */ li r31, 0
lbl_8020D544:
/* 8020D544 0020A4A4 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 8020D548 0020A4A8 38 1D 00 3C */ addi r0, r29, 0x3c
/* 8020D54C 0020A4AC 7C 03 00 AE */ lbzx r0, r3, r0
/* 8020D550 0020A4B0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8020D554 0020A4B4 41 82 00 2C */ beq lbl_8020D580
/* 8020D558 0020A4B8 80 BE 00 4C */ lwz r5, 0x4c(r30)
/* 8020D55C 0020A4BC 38 9D 00 38 */ addi r4, r29, 0x38
/* 8020D560 0020A4C0 38 7E 00 54 */ addi r3, r30, 0x54
/* 8020D564 0020A4C4 38 05 00 01 */ addi r0, r5, 1
/* 8020D568 0020A4C8 90 1E 00 4C */ stw r0, 0x4c(r30)
/* 8020D56C 0020A4CC 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 8020D570 0020A4D0 7C 80 22 14 */ add r4, r0, r4
/* 8020D574 0020A4D4 4B E4 21 BD */ bl "Max<f>__5CMathFRCfRCf"
/* 8020D578 0020A4D8 C0 03 00 00 */ lfs f0, 0(r3)
/* 8020D57C 0020A4DC D0 1E 00 54 */ stfs f0, 0x54(r30)
lbl_8020D580:
/* 8020D580 0020A4E0 3B BD 00 40 */ addi r29, r29, 0x40
/* 8020D584 0020A4E4 3B 9C 00 01 */ addi r28, r28, 1
lbl_8020D588:
/* 8020D588 0020A4E8 80 1E 00 08 */ lwz r0, 8(r30)
/* 8020D58C 0020A4EC 7C 1C 00 00 */ cmpw r28, r0
/* 8020D590 0020A4F0 41 80 FF 4C */ blt lbl_8020D4DC
/* 8020D594 0020A4F4 2C 00 00 00 */ cmpwi r0, 0
/* 8020D598 0020A4F8 41 82 00 50 */ beq lbl_8020D5E8
/* 8020D59C 0020A4FC 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 8020D5A0 0020A500 3C 00 43 30 */ lis r0, 0x4330
/* 8020D5A4 0020A504 90 61 00 0C */ stw r3, 0xc(r1)
/* 8020D5A8 0020A508 C8 42 B1 D8 */ lfd f2, lbl_805ACEF8@sda21(r2)
/* 8020D5AC 0020A50C 90 01 00 08 */ stw r0, 8(r1)
/* 8020D5B0 0020A510 C0 62 B1 C0 */ lfs f3, lbl_805ACEE0@sda21(r2)
/* 8020D5B4 0020A514 C8 21 00 08 */ lfd f1, 8(r1)
/* 8020D5B8 0020A518 C0 1E 00 58 */ lfs f0, 0x58(r30)
/* 8020D5BC 0020A51C EC 21 10 28 */ fsubs f1, f1, f2
/* 8020D5C0 0020A520 EC 3E 00 72 */ fmuls f1, f30, f1
/* 8020D5C4 0020A524 EC 23 08 24 */ fdivs f1, f3, f1
/* 8020D5C8 0020A528 EC 00 00 72 */ fmuls f0, f0, f1
/* 8020D5CC 0020A52C D0 1E 00 58 */ stfs f0, 0x58(r30)
/* 8020D5D0 0020A530 C0 1E 00 5C */ lfs f0, 0x5c(r30)
/* 8020D5D4 0020A534 EC 00 00 72 */ fmuls f0, f0, f1
/* 8020D5D8 0020A538 D0 1E 00 5C */ stfs f0, 0x5c(r30)
/* 8020D5DC 0020A53C C0 1E 00 60 */ lfs f0, 0x60(r30)
/* 8020D5E0 0020A540 EC 00 00 72 */ fmuls f0, f0, f1
/* 8020D5E4 0020A544 D0 1E 00 60 */ stfs f0, 0x60(r30)
lbl_8020D5E8:
/* 8020D5E8 0020A548 C0 1E 00 54 */ lfs f0, 0x54(r30)
/* 8020D5EC 0020A54C EC 00 F0 24 */ fdivs f0, f0, f30
/* 8020D5F0 0020A550 D0 1E 00 54 */ stfs f0, 0x54(r30)
/* 8020D5F4 0020A554 88 1E 00 68 */ lbz r0, 0x68(r30)
/* 8020D5F8 0020A558 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 8020D5FC 0020A55C 40 82 00 34 */ bne lbl_8020D630
/* 8020D600 0020A560 C0 3E 00 50 */ lfs f1, 0x50(r30)
/* 8020D604 0020A564 C0 02 B1 C4 */ lfs f0, lbl_805ACEE4@sda21(r2)
/* 8020D608 0020A568 EC 21 F0 28 */ fsubs f1, f1, f30
/* 8020D60C 0020A56C D0 3E 00 50 */ stfs f1, 0x50(r30)
/* 8020D610 0020A570 C0 3E 00 50 */ lfs f1, 0x50(r30)
/* 8020D614 0020A574 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8020D618 0020A578 4C 40 13 82 */ cror 2, 0, 2
/* 8020D61C 0020A57C 40 82 00 14 */ bne lbl_8020D630
/* 8020D620 0020A580 88 1E 00 68 */ lbz r0, 0x68(r30)
/* 8020D624 0020A584 38 60 00 01 */ li r3, 1
/* 8020D628 0020A588 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 8020D62C 0020A58C 98 1E 00 68 */ stb r0, 0x68(r30)
lbl_8020D630:
/* 8020D630 0020A590 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 8020D634 0020A594 41 82 00 1C */ beq lbl_8020D650
/* 8020D638 0020A598 88 7E 00 68 */ lbz r3, 0x68(r30)
/* 8020D63C 0020A59C 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8020D640 0020A5A0 41 82 00 10 */ beq lbl_8020D650
/* 8020D644 0020A5A4 38 00 00 01 */ li r0, 1
/* 8020D648 0020A5A8 50 03 36 72 */ rlwimi r3, r0, 6, 0x19, 0x19
/* 8020D64C 0020A5AC 98 7E 00 68 */ stb r3, 0x68(r30)
lbl_8020D650:
/* 8020D650 0020A5B0 88 1E 00 68 */ lbz r0, 0x68(r30)
/* 8020D654 0020A5B4 53 E0 3E 30 */ rlwimi r0, r31, 7, 0x18, 0x18
/* 8020D658 0020A5B8 98 1E 00 68 */ stb r0, 0x68(r30)
/* 8020D65C 0020A5BC E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 8020D660 0020A5C0 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8020D664 0020A5C4 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 8020D668 0020A5C8 CB C1 00 20 */ lfd f30, 0x20(r1)
/* 8020D66C 0020A5CC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8020D670 0020A5D0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8020D674 0020A5D4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8020D678 0020A5D8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8020D67C 0020A5DC 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8020D680 0020A5E0 7C 08 03 A6 */ mtlr r0
/* 8020D684 0020A5E4 38 21 00 40 */ addi r1, r1, 0x40
/* 8020D688 0020A5E8 4E 80 00 20 */ blr
.global ClearForces__8CRagDollFv
ClearForces__8CRagDollFv:
/* 8020D68C 0020A5EC 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8020D690 0020A5F0 38 E0 00 00 */ li r7, 0
/* 8020D694 0020A5F4 38 84 66 A0 */ addi r4, r4, sZeroVector__9CVector3f@l
/* 8020D698 0020A5F8 38 C0 00 00 */ li r6, 0
/* 8020D69C 0020A5FC 48 00 00 30 */ b lbl_8020D6CC
lbl_8020D6A0:
/* 8020D6A0 0020A600 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8020D6A4 0020A604 38 A6 00 20 */ addi r5, r6, 0x20
/* 8020D6A8 0020A608 C0 04 00 00 */ lfs f0, 0(r4)
/* 8020D6AC 0020A60C 38 E7 00 01 */ addi r7, r7, 1
/* 8020D6B0 0020A610 7C A0 2A 14 */ add r5, r0, r5
/* 8020D6B4 0020A614 38 C6 00 40 */ addi r6, r6, 0x40
/* 8020D6B8 0020A618 D0 05 00 00 */ stfs f0, 0(r5)
/* 8020D6BC 0020A61C C0 04 00 04 */ lfs f0, 4(r4)
/* 8020D6C0 0020A620 D0 05 00 04 */ stfs f0, 4(r5)
/* 8020D6C4 0020A624 C0 04 00 08 */ lfs f0, 8(r4)
/* 8020D6C8 0020A628 D0 05 00 08 */ stfs f0, 8(r5)
lbl_8020D6CC:
/* 8020D6CC 0020A62C 80 03 00 08 */ lwz r0, 8(r3)
/* 8020D6D0 0020A630 7C 07 00 00 */ cmpw r7, r0
/* 8020D6D4 0020A634 41 80 FF CC */ blt lbl_8020D6A0
.global sub_8020d6d8
sub_8020d6d8:
/* 8020D6D8 0020A638 4E 80 00 20 */ blr
.global SatisfyConstraints__8CRagDollFR13CStateManager
SatisfyConstraints__8CRagDollFR13CStateManager:
/* 8020D6DC 0020A63C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8020D6E0 0020A640 7C 08 02 A6 */ mflr r0
/* 8020D6E4 0020A644 90 01 00 24 */ stw r0, 0x24(r1)
/* 8020D6E8 0020A648 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8020D6EC 0020A64C 3B E0 00 00 */ li r31, 0
/* 8020D6F0 0020A650 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8020D6F4 0020A654 3B C0 00 00 */ li r30, 0
/* 8020D6F8 0020A658 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8020D6FC 0020A65C 7C 9D 23 78 */ mr r29, r4
/* 8020D700 0020A660 93 81 00 10 */ stw r28, 0x10(r1)
/* 8020D704 0020A664 7C 7C 1B 78 */ mr r28, r3
/* 8020D708 0020A668 48 00 00 18 */ b lbl_8020D720
lbl_8020D70C:
/* 8020D70C 0020A66C 80 1C 00 20 */ lwz r0, 0x20(r28)
/* 8020D710 0020A670 7C 60 FA 14 */ add r3, r0, r31
/* 8020D714 0020A674 4B FF FB D5 */ bl Update__Q28CRagDoll24CRagDollLengthConstraintFv
/* 8020D718 0020A678 3B FF 00 10 */ addi r31, r31, 0x10
/* 8020D71C 0020A67C 3B DE 00 01 */ addi r30, r30, 1
lbl_8020D720:
/* 8020D720 0020A680 80 1C 00 18 */ lwz r0, 0x18(r28)
/* 8020D724 0020A684 7C 1E 00 00 */ cmpw r30, r0
/* 8020D728 0020A688 41 80 FF E4 */ blt lbl_8020D70C
/* 8020D72C 0020A68C 3B C0 00 00 */ li r30, 0
/* 8020D730 0020A690 7F DF F3 78 */ mr r31, r30
/* 8020D734 0020A694 48 00 00 18 */ b lbl_8020D74C
lbl_8020D738:
/* 8020D738 0020A698 80 1C 00 30 */ lwz r0, 0x30(r28)
/* 8020D73C 0020A69C 7C 60 FA 14 */ add r3, r0, r31
/* 8020D740 0020A6A0 4B FF F9 A5 */ bl Update__Q28CRagDoll23CRagDollJointConstraintFv
/* 8020D744 0020A6A4 3B FF 00 18 */ addi r31, r31, 0x18
/* 8020D748 0020A6A8 3B DE 00 01 */ addi r30, r30, 1
lbl_8020D74C:
/* 8020D74C 0020A6AC 80 1C 00 28 */ lwz r0, 0x28(r28)
/* 8020D750 0020A6B0 7C 1E 00 00 */ cmpw r30, r0
/* 8020D754 0020A6B4 41 80 FF E4 */ blt lbl_8020D738
/* 8020D758 0020A6B8 3B C0 00 00 */ li r30, 0
/* 8020D75C 0020A6BC 7F DF F3 78 */ mr r31, r30
/* 8020D760 0020A6C0 48 00 00 18 */ b lbl_8020D778
lbl_8020D764:
/* 8020D764 0020A6C4 80 1C 00 40 */ lwz r0, 0x40(r28)
/* 8020D768 0020A6C8 7C 60 FA 14 */ add r3, r0, r31
/* 8020D76C 0020A6CC 4B FF F8 5D */ bl Update__Q28CRagDoll23CRagDollPlaneConstraintFv
/* 8020D770 0020A6D0 3B FF 00 14 */ addi r31, r31, 0x14
/* 8020D774 0020A6D4 3B DE 00 01 */ addi r30, r30, 1
lbl_8020D778:
/* 8020D778 0020A6D8 80 1C 00 38 */ lwz r0, 0x38(r28)
/* 8020D77C 0020A6DC 7C 1E 00 00 */ cmpw r30, r0
/* 8020D780 0020A6E0 41 80 FF E4 */ blt lbl_8020D764
/* 8020D784 0020A6E4 7F 83 E3 78 */ mr r3, r28
/* 8020D788 0020A6E8 7F A4 EB 78 */ mr r4, r29
/* 8020D78C 0020A6EC 38 A0 00 01 */ li r5, 1
/* 8020D790 0020A6F0 48 00 00 3D */ bl SatisfyWorldConstraints__8CRagDollFR13CStateManageri
/* 8020D794 0020A6F4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8020D798 0020A6F8 41 82 00 14 */ beq lbl_8020D7AC
/* 8020D79C 0020A6FC 7F 83 E3 78 */ mr r3, r28
/* 8020D7A0 0020A700 7F A4 EB 78 */ mr r4, r29
/* 8020D7A4 0020A704 38 A0 00 02 */ li r5, 2
/* 8020D7A8 0020A708 48 00 00 25 */ bl SatisfyWorldConstraints__8CRagDollFR13CStateManageri
lbl_8020D7AC:
/* 8020D7AC 0020A70C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8020D7B0 0020A710 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8020D7B4 0020A714 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8020D7B8 0020A718 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8020D7BC 0020A71C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8020D7C0 0020A720 7C 08 03 A6 */ mtlr r0
/* 8020D7C4 0020A724 38 21 00 20 */ addi r1, r1, 0x20
/* 8020D7C8 0020A728 4E 80 00 20 */ blr
.global SatisfyWorldConstraints__8CRagDollFR13CStateManageri
SatisfyWorldConstraints__8CRagDollFR13CStateManageri:
/* 8020D7CC 0020A72C 94 21 DA F0 */ stwu r1, -0x2510(r1)
/* 8020D7D0 0020A730 7C 08 02 A6 */ mflr r0
/* 8020D7D4 0020A734 90 01 25 14 */ stw r0, 0x2514(r1)
/* 8020D7D8 0020A738 38 00 25 08 */ li r0, 0x2508
/* 8020D7DC 0020A73C DB E1 25 00 */ stfd f31, 0x2500(r1)
/* 8020D7E0 0020A740 13 E1 00 0E */ psq_stx f31, r1, r0, 0, qr0
/* 8020D7E4 0020A744 38 00 24 F8 */ li r0, 0x24f8
/* 8020D7E8 0020A748 DB C1 24 F0 */ stfd f30, 0x24f0(r1)
/* 8020D7EC 0020A74C 13 C1 00 0E */ psq_stx f30, r1, r0, 0, qr0
/* 8020D7F0 0020A750 38 00 24 E8 */ li r0, 0x24e8
/* 8020D7F4 0020A754 DB A1 24 E0 */ stfd f29, 0x24e0(r1)
/* 8020D7F8 0020A758 13 A1 00 0E */ psq_stx f29, r1, r0, 0, qr0
/* 8020D7FC 0020A75C 38 00 24 D8 */ li r0, 0x24d8
/* 8020D800 0020A760 DB 81 24 D0 */ stfd f28, 0x24d0(r1)
/* 8020D804 0020A764 13 81 00 0E */ psq_stx f28, r1, r0, 0, qr0
/* 8020D808 0020A768 38 00 24 C8 */ li r0, 0x24c8
/* 8020D80C 0020A76C DB 61 24 C0 */ stfd f27, 0x24c0(r1)
/* 8020D810 0020A770 13 61 00 0E */ psq_stx f27, r1, r0, 0, qr0
/* 8020D814 0020A774 BF 01 24 A0 */ stmw r24, 0x24a0(r1)
/* 8020D818 0020A778 3C C0 80 5A */ lis r6, mskInvertedBox__6CAABox@ha
/* 8020D81C 0020A77C 7C 7D 1B 78 */ mr r29, r3
/* 8020D820 0020A780 38 66 67 54 */ addi r3, r6, mskInvertedBox__6CAABox@l
/* 8020D824 0020A784 7C 9E 23 78 */ mr r30, r4
/* 8020D828 0020A788 C0 A3 00 00 */ lfs f5, 0(r3)
/* 8020D82C 0020A78C 7C BF 2B 78 */ mr r31, r5
/* 8020D830 0020A790 C0 83 00 04 */ lfs f4, 4(r3)
/* 8020D834 0020A794 3B 60 00 00 */ li r27, 0
/* 8020D838 0020A798 C0 63 00 08 */ lfs f3, 8(r3)
/* 8020D83C 0020A79C 3B 80 00 00 */ li r28, 0
/* 8020D840 0020A7A0 C0 43 00 0C */ lfs f2, 0xc(r3)
/* 8020D844 0020A7A4 C0 23 00 10 */ lfs f1, 0x10(r3)
/* 8020D848 0020A7A8 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 8020D84C 0020A7AC D0 A1 00 E0 */ stfs f5, 0xe0(r1)
/* 8020D850 0020A7B0 D0 81 00 E4 */ stfs f4, 0xe4(r1)
/* 8020D854 0020A7B4 D0 61 00 E8 */ stfs f3, 0xe8(r1)
/* 8020D858 0020A7B8 D0 41 00 EC */ stfs f2, 0xec(r1)
/* 8020D85C 0020A7BC D0 21 00 F0 */ stfs f1, 0xf0(r1)
/* 8020D860 0020A7C0 D0 01 00 F4 */ stfs f0, 0xf4(r1)
/* 8020D864 0020A7C4 48 00 01 18 */ b lbl_8020D97C
lbl_8020D868:
/* 8020D868 0020A7C8 2C 1F 00 01 */ cmpwi r31, 1
/* 8020D86C 0020A7CC 41 82 00 18 */ beq lbl_8020D884
/* 8020D870 0020A7D0 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8020D874 0020A7D4 38 1C 00 3C */ addi r0, r28, 0x3c
/* 8020D878 0020A7D8 7C 03 00 AE */ lbzx r0, r3, r0
/* 8020D87C 0020A7DC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8020D880 0020A7E0 41 82 00 F4 */ beq lbl_8020D974
lbl_8020D884:
/* 8020D884 0020A7E4 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8020D888 0020A7E8 38 61 00 E0 */ addi r3, r1, 0xe0
/* 8020D88C 0020A7EC 38 81 00 78 */ addi r4, r1, 0x78
/* 8020D890 0020A7F0 7C A0 E2 14 */ add r5, r0, r28
/* 8020D894 0020A7F4 C3 E5 00 10 */ lfs f31, 0x10(r5)
/* 8020D898 0020A7F8 C0 45 00 18 */ lfs f2, 0x18(r5)
/* 8020D89C 0020A7FC C0 25 00 1C */ lfs f1, 0x1c(r5)
/* 8020D8A0 0020A800 C0 05 00 14 */ lfs f0, 0x14(r5)
/* 8020D8A4 0020A804 EC 42 F8 28 */ fsubs f2, f2, f31
/* 8020D8A8 0020A808 EC 21 F8 28 */ fsubs f1, f1, f31
/* 8020D8AC 0020A80C EC 00 F8 28 */ fsubs f0, f0, f31
/* 8020D8B0 0020A810 D0 41 00 7C */ stfs f2, 0x7c(r1)
/* 8020D8B4 0020A814 D0 01 00 78 */ stfs f0, 0x78(r1)
/* 8020D8B8 0020A818 D0 21 00 80 */ stfs f1, 0x80(r1)
/* 8020D8BC 0020A81C 48 12 A2 4D */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 8020D8C0 0020A820 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8020D8C4 0020A824 38 BC 00 14 */ addi r5, r28, 0x14
/* 8020D8C8 0020A828 38 61 00 E0 */ addi r3, r1, 0xe0
/* 8020D8CC 0020A82C 38 81 00 6C */ addi r4, r1, 0x6c
/* 8020D8D0 0020A830 7C A0 2A 14 */ add r5, r0, r5
/* 8020D8D4 0020A834 C0 45 00 04 */ lfs f2, 4(r5)
/* 8020D8D8 0020A838 C0 25 00 08 */ lfs f1, 8(r5)
/* 8020D8DC 0020A83C C0 05 00 00 */ lfs f0, 0(r5)
/* 8020D8E0 0020A840 EC 42 F8 2A */ fadds f2, f2, f31
/* 8020D8E4 0020A844 EC 21 F8 2A */ fadds f1, f1, f31
/* 8020D8E8 0020A848 EC 00 F8 2A */ fadds f0, f0, f31
/* 8020D8EC 0020A84C D0 41 00 70 */ stfs f2, 0x70(r1)
/* 8020D8F0 0020A850 D0 01 00 6C */ stfs f0, 0x6c(r1)
/* 8020D8F4 0020A854 D0 21 00 74 */ stfs f1, 0x74(r1)
/* 8020D8F8 0020A858 48 12 A2 11 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 8020D8FC 0020A85C 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8020D900 0020A860 38 BC 00 04 */ addi r5, r28, 4
/* 8020D904 0020A864 38 61 00 E0 */ addi r3, r1, 0xe0
/* 8020D908 0020A868 38 81 00 60 */ addi r4, r1, 0x60
/* 8020D90C 0020A86C 7C A0 2A 14 */ add r5, r0, r5
/* 8020D910 0020A870 C0 45 00 04 */ lfs f2, 4(r5)
/* 8020D914 0020A874 C0 25 00 08 */ lfs f1, 8(r5)
/* 8020D918 0020A878 C0 05 00 00 */ lfs f0, 0(r5)
/* 8020D91C 0020A87C EC 42 F8 28 */ fsubs f2, f2, f31
/* 8020D920 0020A880 EC 21 F8 28 */ fsubs f1, f1, f31
/* 8020D924 0020A884 EC 00 F8 28 */ fsubs f0, f0, f31
/* 8020D928 0020A888 D0 41 00 64 */ stfs f2, 0x64(r1)
/* 8020D92C 0020A88C D0 01 00 60 */ stfs f0, 0x60(r1)
/* 8020D930 0020A890 D0 21 00 68 */ stfs f1, 0x68(r1)
/* 8020D934 0020A894 48 12 A1 D5 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 8020D938 0020A898 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8020D93C 0020A89C 38 BC 00 04 */ addi r5, r28, 4
/* 8020D940 0020A8A0 38 61 00 E0 */ addi r3, r1, 0xe0
/* 8020D944 0020A8A4 38 81 00 54 */ addi r4, r1, 0x54
/* 8020D948 0020A8A8 7C A0 2A 14 */ add r5, r0, r5
/* 8020D94C 0020A8AC C0 45 00 04 */ lfs f2, 4(r5)
/* 8020D950 0020A8B0 C0 25 00 08 */ lfs f1, 8(r5)
/* 8020D954 0020A8B4 C0 05 00 00 */ lfs f0, 0(r5)
/* 8020D958 0020A8B8 EC 42 F8 2A */ fadds f2, f2, f31
/* 8020D95C 0020A8BC EC 21 F8 2A */ fadds f1, f1, f31
/* 8020D960 0020A8C0 EC 00 F8 2A */ fadds f0, f0, f31
/* 8020D964 0020A8C4 D0 41 00 58 */ stfs f2, 0x58(r1)
/* 8020D968 0020A8C8 D0 01 00 54 */ stfs f0, 0x54(r1)
/* 8020D96C 0020A8CC D0 21 00 5C */ stfs f1, 0x5c(r1)
/* 8020D970 0020A8D0 48 12 A1 99 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
lbl_8020D974:
/* 8020D974 0020A8D4 3B 9C 00 40 */ addi r28, r28, 0x40
/* 8020D978 0020A8D8 3B 7B 00 01 */ addi r27, r27, 1
lbl_8020D97C:
/* 8020D97C 0020A8DC 80 1D 00 08 */ lwz r0, 8(r29)
/* 8020D980 0020A8E0 7C 1B 00 00 */ cmpw r27, r0
/* 8020D984 0020A8E4 41 80 FE E4 */ blt lbl_8020D868
/* 8020D988 0020A8E8 38 61 09 5C */ addi r3, r1, 0x95c
/* 8020D98C 0020A8EC 38 81 00 E0 */ addi r4, r1, 0xe0
/* 8020D990 0020A8F0 48 09 61 01 */ bl __ct__19CAreaCollisionCacheFRC6CAABox
/* 8020D994 0020A8F4 7F C3 F3 78 */ mr r3, r30
/* 8020D998 0020A8F8 38 81 09 5C */ addi r4, r1, 0x95c
/* 8020D99C 0020A8FC 4B F7 6D 29 */ bl BuildAreaCollisionCache__14CGameCollisionFRC13CStateManagerR19CAreaCollisionCache
/* 8020D9A0 0020A900 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8020D9A4 0020A904 3B 60 00 00 */ li r27, 0
/* 8020D9A8 0020A908 B0 01 00 10 */ sth r0, 0x10(r1)
/* 8020D9AC 0020A90C 88 1D 00 68 */ lbz r0, 0x68(r29)
/* 8020D9B0 0020A910 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 8020D9B4 0020A914 41 82 00 40 */ beq lbl_8020D9F4
/* 8020D9B8 0020A918 38 00 00 00 */ li r0, 0
/* 8020D9BC 0020A91C 80 AD 93 F8 */ lwz r5, lbl_805A7FB8@sda21(r13)
/* 8020D9C0 0020A920 90 01 00 34 */ stw r0, 0x34(r1)
/* 8020D9C4 0020A924 38 60 00 00 */ li r3, 0
/* 8020D9C8 0020A928 38 80 00 01 */ li r4, 1
/* 8020D9CC 0020A92C 90 01 00 30 */ stw r0, 0x30(r1)
/* 8020D9D0 0020A930 48 17 C5 25 */ bl __shl2i
/* 8020D9D4 0020A934 80 01 00 30 */ lwz r0, 0x30(r1)
/* 8020D9D8 0020A938 38 C1 00 30 */ addi r6, r1, 0x30
/* 8020D9DC 0020A93C 80 A1 00 34 */ lwz r5, 0x34(r1)
/* 8020D9E0 0020A940 7C 00 1B 78 */ or r0, r0, r3
/* 8020D9E4 0020A944 7C A3 23 78 */ or r3, r5, r4
/* 8020D9E8 0020A948 90 01 00 30 */ stw r0, 0x30(r1)
/* 8020D9EC 0020A94C 90 61 00 34 */ stw r3, 0x34(r1)
/* 8020D9F0 0020A950 48 00 00 64 */ b lbl_8020DA54
lbl_8020D9F4:
/* 8020D9F4 0020A954 38 00 00 00 */ li r0, 0
/* 8020D9F8 0020A958 80 AD 93 FC */ lwz r5, lbl_805A7FBC@sda21(r13)
/* 8020D9FC 0020A95C 90 01 00 2C */ stw r0, 0x2c(r1)
/* 8020DA00 0020A960 38 60 00 00 */ li r3, 0
/* 8020DA04 0020A964 38 80 00 01 */ li r4, 1
/* 8020DA08 0020A968 90 01 00 28 */ stw r0, 0x28(r1)
/* 8020DA0C 0020A96C 48 17 C4 E9 */ bl __shl2i
/* 8020DA10 0020A970 80 01 00 28 */ lwz r0, 0x28(r1)
/* 8020DA14 0020A974 80 C1 00 2C */ lwz r6, 0x2c(r1)
/* 8020DA18 0020A978 7C 00 1B 78 */ or r0, r0, r3
/* 8020DA1C 0020A97C 80 AD 94 00 */ lwz r5, lbl_805A7FC0@sda21(r13)
/* 8020DA20 0020A980 7C C4 23 78 */ or r4, r6, r4
/* 8020DA24 0020A984 90 01 00 28 */ stw r0, 0x28(r1)
/* 8020DA28 0020A988 38 60 00 00 */ li r3, 0
/* 8020DA2C 0020A98C 90 81 00 2C */ stw r4, 0x2c(r1)
/* 8020DA30 0020A990 38 80 00 01 */ li r4, 1
/* 8020DA34 0020A994 48 17 C4 C1 */ bl __shl2i
/* 8020DA38 0020A998 80 01 00 28 */ lwz r0, 0x28(r1)
/* 8020DA3C 0020A99C 38 C1 00 28 */ addi r6, r1, 0x28
/* 8020DA40 0020A9A0 80 A1 00 2C */ lwz r5, 0x2c(r1)
/* 8020DA44 0020A9A4 7C 00 1B 78 */ or r0, r0, r3
/* 8020DA48 0020A9A8 7C A3 23 78 */ or r3, r5, r4
/* 8020DA4C 0020A9AC 90 01 00 28 */ stw r0, 0x28(r1)
/* 8020DA50 0020A9B0 90 61 00 2C */ stw r3, 0x2c(r1)
lbl_8020DA54:
/* 8020DA54 0020A9B4 80 06 00 00 */ lwz r0, 0(r6)
/* 8020DA58 0020A9B8 80 66 00 04 */ lwz r3, 4(r6)
/* 8020DA5C 0020A9BC 90 61 00 44 */ stw r3, 0x44(r1)
/* 8020DA60 0020A9C0 90 01 00 40 */ stw r0, 0x40(r1)
/* 8020DA64 0020A9C4 88 1D 00 68 */ lbz r0, 0x68(r29)
/* 8020DA68 0020A9C8 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 8020DA6C 0020A9CC 41 82 00 B8 */ beq lbl_8020DB24
/* 8020DA70 0020A9D0 38 00 00 00 */ li r0, 0
/* 8020DA74 0020A9D4 80 AD 94 04 */ lwz r5, lbl_805A7FC4@sda21(r13)
/* 8020DA78 0020A9D8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8020DA7C 0020A9DC 38 60 00 00 */ li r3, 0
/* 8020DA80 0020A9E0 38 80 00 01 */ li r4, 1
/* 8020DA84 0020A9E4 90 01 00 20 */ stw r0, 0x20(r1)
/* 8020DA88 0020A9E8 48 17 C4 6D */ bl __shl2i
/* 8020DA8C 0020A9EC 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8020DA90 0020A9F0 80 C1 00 24 */ lwz r6, 0x24(r1)
/* 8020DA94 0020A9F4 7C 00 1B 78 */ or r0, r0, r3
/* 8020DA98 0020A9F8 80 AD 94 08 */ lwz r5, lbl_805A7FC8@sda21(r13)
/* 8020DA9C 0020A9FC 7C C4 23 78 */ or r4, r6, r4
/* 8020DAA0 0020AA00 90 01 00 20 */ stw r0, 0x20(r1)
/* 8020DAA4 0020AA04 38 60 00 00 */ li r3, 0
/* 8020DAA8 0020AA08 90 81 00 24 */ stw r4, 0x24(r1)
/* 8020DAAC 0020AA0C 38 80 00 01 */ li r4, 1
/* 8020DAB0 0020AA10 48 17 C4 45 */ bl __shl2i
/* 8020DAB4 0020AA14 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8020DAB8 0020AA18 80 C1 00 24 */ lwz r6, 0x24(r1)
/* 8020DABC 0020AA1C 7C 00 1B 78 */ or r0, r0, r3
/* 8020DAC0 0020AA20 80 AD 94 0C */ lwz r5, lbl_805A7FCC@sda21(r13)
/* 8020DAC4 0020AA24 7C C4 23 78 */ or r4, r6, r4
/* 8020DAC8 0020AA28 90 01 00 20 */ stw r0, 0x20(r1)
/* 8020DACC 0020AA2C 38 60 00 00 */ li r3, 0
/* 8020DAD0 0020AA30 90 81 00 24 */ stw r4, 0x24(r1)
/* 8020DAD4 0020AA34 38 80 00 01 */ li r4, 1
/* 8020DAD8 0020AA38 48 17 C4 1D */ bl __shl2i
/* 8020DADC 0020AA3C 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8020DAE0 0020AA40 80 C1 00 24 */ lwz r6, 0x24(r1)
/* 8020DAE4 0020AA44 7C 00 1B 78 */ or r0, r0, r3
/* 8020DAE8 0020AA48 80 AD 94 10 */ lwz r5, lbl_805A7FD0@sda21(r13)
/* 8020DAEC 0020AA4C 7C C4 23 78 */ or r4, r6, r4
/* 8020DAF0 0020AA50 90 01 00 20 */ stw r0, 0x20(r1)
/* 8020DAF4 0020AA54 38 60 00 00 */ li r3, 0
/* 8020DAF8 0020AA58 90 81 00 24 */ stw r4, 0x24(r1)
/* 8020DAFC 0020AA5C 38 80 00 01 */ li r4, 1
/* 8020DB00 0020AA60 48 17 C3 F5 */ bl __shl2i
/* 8020DB04 0020AA64 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8020DB08 0020AA68 38 C1 00 20 */ addi r6, r1, 0x20
/* 8020DB0C 0020AA6C 80 A1 00 24 */ lwz r5, 0x24(r1)
/* 8020DB10 0020AA70 7C 00 1B 78 */ or r0, r0, r3
/* 8020DB14 0020AA74 7C A3 23 78 */ or r3, r5, r4
/* 8020DB18 0020AA78 90 01 00 20 */ stw r0, 0x20(r1)
/* 8020DB1C 0020AA7C 90 61 00 24 */ stw r3, 0x24(r1)
/* 8020DB20 0020AA80 48 00 00 64 */ b lbl_8020DB84
lbl_8020DB24:
/* 8020DB24 0020AA84 38 00 00 00 */ li r0, 0
/* 8020DB28 0020AA88 80 AD 94 14 */ lwz r5, lbl_805A7FD4@sda21(r13)
/* 8020DB2C 0020AA8C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8020DB30 0020AA90 38 60 00 00 */ li r3, 0
/* 8020DB34 0020AA94 38 80 00 01 */ li r4, 1
/* 8020DB38 0020AA98 90 01 00 18 */ stw r0, 0x18(r1)
/* 8020DB3C 0020AA9C 48 17 C3 B9 */ bl __shl2i
/* 8020DB40 0020AAA0 80 01 00 18 */ lwz r0, 0x18(r1)
/* 8020DB44 0020AAA4 80 C1 00 1C */ lwz r6, 0x1c(r1)
/* 8020DB48 0020AAA8 7C 00 1B 78 */ or r0, r0, r3
/* 8020DB4C 0020AAAC 80 AD 94 18 */ lwz r5, lbl_805A7FD8@sda21(r13)
/* 8020DB50 0020AAB0 7C C4 23 78 */ or r4, r6, r4
/* 8020DB54 0020AAB4 90 01 00 18 */ stw r0, 0x18(r1)
/* 8020DB58 0020AAB8 38 60 00 00 */ li r3, 0
/* 8020DB5C 0020AABC 90 81 00 1C */ stw r4, 0x1c(r1)
/* 8020DB60 0020AAC0 38 80 00 01 */ li r4, 1
/* 8020DB64 0020AAC4 48 17 C3 91 */ bl __shl2i
/* 8020DB68 0020AAC8 80 01 00 18 */ lwz r0, 0x18(r1)
/* 8020DB6C 0020AACC 38 C1 00 18 */ addi r6, r1, 0x18
/* 8020DB70 0020AAD0 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 8020DB74 0020AAD4 7C 00 1B 78 */ or r0, r0, r3
/* 8020DB78 0020AAD8 7C A3 23 78 */ or r3, r5, r4
/* 8020DB7C 0020AADC 90 01 00 18 */ stw r0, 0x18(r1)
/* 8020DB80 0020AAE0 90 61 00 1C */ stw r3, 0x1c(r1)
lbl_8020DB84:
/* 8020DB84 0020AAE4 81 66 00 00 */ lwz r11, 0(r6)
/* 8020DB88 0020AAE8 39 40 00 03 */ li r10, 3
/* 8020DB8C 0020AAEC 81 86 00 04 */ lwz r12, 4(r6)
/* 8020DB90 0020AAF0 38 00 00 00 */ li r0, 0
/* 8020DB94 0020AAF4 81 01 00 40 */ lwz r8, 0x40(r1)
/* 8020DB98 0020AAF8 7F C3 F3 78 */ mr r3, r30
/* 8020DB9C 0020AAFC 81 21 00 44 */ lwz r9, 0x44(r1)
/* 8020DBA0 0020AB00 38 81 01 58 */ addi r4, r1, 0x158
/* 8020DBA4 0020AB04 91 41 00 C0 */ stw r10, 0xc0(r1)
/* 8020DBA8 0020AB08 38 A1 00 E0 */ addi r5, r1, 0xe0
/* 8020DBAC 0020AB0C 38 C1 00 C8 */ addi r6, r1, 0xc8
/* 8020DBB0 0020AB10 38 E0 00 00 */ li r7, 0
/* 8020DBB4 0020AB14 91 21 00 CC */ stw r9, 0xcc(r1)
/* 8020DBB8 0020AB18 91 01 00 C8 */ stw r8, 0xc8(r1)
/* 8020DBBC 0020AB1C 91 81 00 D4 */ stw r12, 0xd4(r1)
/* 8020DBC0 0020AB20 91 61 00 D0 */ stw r11, 0xd0(r1)
/* 8020DBC4 0020AB24 91 41 00 D8 */ stw r10, 0xd8(r1)
/* 8020DBC8 0020AB28 90 01 01 58 */ stw r0, 0x158(r1)
/* 8020DBCC 0020AB2C 4B E3 EB 55 */ bl "BuildNearList__13CStateManagerCFRQ24rstl32reserved_vector<9TUniqueId,1024>RC6CAABoxRC15CMaterialFilterPC6CActor"
/* 8020DBD0 0020AB30 3B 40 00 00 */ li r26, 0
/* 8020DBD4 0020AB34 3B 80 00 00 */ li r28, 0
/* 8020DBD8 0020AB38 48 00 02 F8 */ b lbl_8020DED0
lbl_8020DBDC:
/* 8020DBDC 0020AB3C 2C 1F 00 01 */ cmpwi r31, 1
/* 8020DBE0 0020AB40 41 82 00 18 */ beq lbl_8020DBF8
/* 8020DBE4 0020AB44 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8020DBE8 0020AB48 38 1C 00 3C */ addi r0, r28, 0x3c
/* 8020DBEC 0020AB4C 7C 03 00 AE */ lbzx r0, r3, r0
/* 8020DBF0 0020AB50 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8020DBF4 0020AB54 41 82 02 D4 */ beq lbl_8020DEC8
lbl_8020DBF8:
/* 8020DBF8 0020AB58 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8020DBFC 0020AB5C 38 61 00 84 */ addi r3, r1, 0x84
/* 8020DC00 0020AB60 7C 80 E2 14 */ add r4, r0, r28
/* 8020DC04 0020AB64 C0 24 00 08 */ lfs f1, 8(r4)
/* 8020DC08 0020AB68 C0 04 00 18 */ lfs f0, 0x18(r4)
/* 8020DC0C 0020AB6C C0 64 00 0C */ lfs f3, 0xc(r4)
/* 8020DC10 0020AB70 C0 44 00 1C */ lfs f2, 0x1c(r4)
/* 8020DC14 0020AB74 EC 81 00 28 */ fsubs f4, f1, f0
/* 8020DC18 0020AB78 C0 24 00 04 */ lfs f1, 4(r4)
/* 8020DC1C 0020AB7C C0 04 00 14 */ lfs f0, 0x14(r4)
/* 8020DC20 0020AB80 EC 43 10 28 */ fsubs f2, f3, f2
/* 8020DC24 0020AB84 EC 01 00 28 */ fsubs f0, f1, f0
/* 8020DC28 0020AB88 D0 81 00 88 */ stfs f4, 0x88(r1)
/* 8020DC2C 0020AB8C D0 41 00 8C */ stfs f2, 0x8c(r1)
/* 8020DC30 0020AB90 D0 01 00 84 */ stfs f0, 0x84(r1)
/* 8020DC34 0020AB94 48 10 6C 85 */ bl Magnitude__9CVector3fCFv
/* 8020DC38 0020AB98 FF E0 08 90 */ fmr f31, f1
/* 8020DC3C 0020AB9C C0 02 B1 E0 */ lfs f0, lbl_805ACF00@sda21(r2)
/* 8020DC40 0020ABA0 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8020DC44 0020ABA4 40 81 02 58 */ ble lbl_8020DE9C
/* 8020DC48 0020ABA8 C0 02 B1 C0 */ lfs f0, lbl_805ACEE0@sda21(r2)
/* 8020DC4C 0020ABAC 38 61 00 F8 */ addi r3, r1, 0xf8
/* 8020DC50 0020ABB0 C0 41 00 84 */ lfs f2, 0x84(r1)
/* 8020DC54 0020ABB4 38 80 00 00 */ li r4, 0
/* 8020DC58 0020ABB8 EC 60 F8 24 */ fdivs f3, f0, f31
/* 8020DC5C 0020ABBC C0 21 00 88 */ lfs f1, 0x88(r1)
/* 8020DC60 0020ABC0 C0 01 00 8C */ lfs f0, 0x8c(r1)
/* 8020DC64 0020ABC4 EC 42 00 F2 */ fmuls f2, f2, f3
/* 8020DC68 0020ABC8 EC 21 00 F2 */ fmuls f1, f1, f3
/* 8020DC6C 0020ABCC EC 00 00 F2 */ fmuls f0, f0, f3
/* 8020DC70 0020ABD0 D0 41 00 84 */ stfs f2, 0x84(r1)
/* 8020DC74 0020ABD4 D0 21 00 88 */ stfs f1, 0x88(r1)
/* 8020DC78 0020ABD8 D0 01 00 8C */ stfs f0, 0x8c(r1)
/* 8020DC7C 0020ABDC 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8020DC80 0020ABE0 7C A0 E2 14 */ add r5, r0, r28
/* 8020DC84 0020ABE4 C3 C5 00 14 */ lfs f30, 0x14(r5)
/* 8020DC88 0020ABE8 C3 A5 00 18 */ lfs f29, 0x18(r5)
/* 8020DC8C 0020ABEC C3 85 00 1C */ lfs f28, 0x1c(r5)
/* 8020DC90 0020ABF0 C3 65 00 10 */ lfs f27, 0x10(r5)
/* 8020DC94 0020ABF4 DB E1 00 38 */ stfd f31, 0x38(r1)
/* 8020DC98 0020ABF8 48 0C 04 F1 */ bl __ct__14CCollisionInfoFQ214CCollisionInfo8EInvalid
/* 8020DC9C 0020ABFC 38 61 00 90 */ addi r3, r1, 0x90
/* 8020DCA0 0020AC00 38 81 00 40 */ addi r4, r1, 0x40
/* 8020DCA4 0020AC04 48 0C 1C 11 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 8020DCA8 0020AC08 83 01 00 84 */ lwz r24, 0x84(r1)
/* 8020DCAC 0020AC0C 3C 60 80 3F */ lis r3, lbl_803ECAF8@ha
/* 8020DCB0 0020AC10 38 03 CA F8 */ addi r0, r3, lbl_803ECAF8@l
/* 8020DCB4 0020AC14 83 21 00 88 */ lwz r25, 0x88(r1)
/* 8020DCB8 0020AC18 81 81 00 8C */ lwz r12, 0x8c(r1)
/* 8020DCBC 0020AC1C 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha
/* 8020DCC0 0020AC20 90 01 00 90 */ stw r0, 0x90(r1)
/* 8020DCC4 0020AC24 39 61 00 F8 */ addi r11, r1, 0xf8
/* 8020DCC8 0020AC28 38 C3 66 70 */ addi r6, r3, sIdentity__12CTransform4f@l
/* 8020DCCC 0020AC2C 38 01 00 38 */ addi r0, r1, 0x38
/* 8020DCD0 0020AC30 D3 C1 00 A0 */ stfs f30, 0xa0(r1)
/* 8020DCD4 0020AC34 7F C3 F3 78 */ mr r3, r30
/* 8020DCD8 0020AC38 38 81 09 5C */ addi r4, r1, 0x95c
/* 8020DCDC 0020AC3C 38 A1 00 90 */ addi r5, r1, 0x90
/* 8020DCE0 0020AC40 D3 A1 00 A4 */ stfs f29, 0xa4(r1)
/* 8020DCE4 0020AC44 38 E1 00 C8 */ addi r7, r1, 0xc8
/* 8020DCE8 0020AC48 39 01 01 58 */ addi r8, r1, 0x158
/* 8020DCEC 0020AC4C 39 21 00 48 */ addi r9, r1, 0x48
/* 8020DCF0 0020AC50 D3 81 00 A8 */ stfs f28, 0xa8(r1)
/* 8020DCF4 0020AC54 39 41 00 10 */ addi r10, r1, 0x10
/* 8020DCF8 0020AC58 D3 61 00 AC */ stfs f27, 0xac(r1)
/* 8020DCFC 0020AC5C 93 01 00 48 */ stw r24, 0x48(r1)
/* 8020DD00 0020AC60 93 21 00 4C */ stw r25, 0x4c(r1)
/* 8020DD04 0020AC64 91 81 00 50 */ stw r12, 0x50(r1)
/* 8020DD08 0020AC68 91 61 00 08 */ stw r11, 8(r1)
/* 8020DD0C 0020AC6C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8020DD10 0020AC70 4B F7 65 DD */ bl "DetectCollision_Cached_Moving__14CGameCollisionFRC13CStateManagerR19CAreaCollisionCacheRC19CCollisionPrimitiveRC12CTransform4fRC15CMaterialFilterRCQ24rstl32reserved_vector<9TUniqueId,1024>9CVector3fR9TUniqueIdR14CCollisionInfoRd"
/* 8020DD14 0020AC74 3C 60 80 3F */ lis r3, lbl_803ECAF8@ha
/* 8020DD18 0020AC78 88 01 01 28 */ lbz r0, 0x128(r1)
/* 8020DD1C 0020AC7C 38 83 CA F8 */ addi r4, r3, lbl_803ECAF8@l
/* 8020DD20 0020AC80 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 8020DD24 0020AC84 90 81 00 90 */ stw r4, 0x90(r1)
/* 8020DD28 0020AC88 38 63 97 E4 */ addi r3, r3, __vt__19CCollisionPrimitive@l
/* 8020DD2C 0020AC8C 28 00 00 00 */ cmplwi r0, 0
/* 8020DD30 0020AC90 90 61 00 90 */ stw r3, 0x90(r1)
/* 8020DD34 0020AC94 41 82 01 94 */ beq lbl_8020DEC8
/* 8020DD38 0020AC98 2C 1F 00 02 */ cmpwi r31, 2
/* 8020DD3C 0020AC9C 3B 60 00 01 */ li r27, 1
/* 8020DD40 0020ACA0 41 82 01 04 */ beq lbl_8020DE44
/* 8020DD44 0020ACA4 40 80 01 84 */ bge lbl_8020DEC8
/* 8020DD48 0020ACA8 2C 1F 00 01 */ cmpwi r31, 1
/* 8020DD4C 0020ACAC 40 80 00 08 */ bge lbl_8020DD54
/* 8020DD50 0020ACB0 48 00 01 78 */ b lbl_8020DEC8
lbl_8020DD54:
/* 8020DD54 0020ACB4 80 BD 00 10 */ lwz r5, 0x10(r29)
/* 8020DD58 0020ACB8 38 9C 00 3C */ addi r4, r28, 0x3c
/* 8020DD5C 0020ACBC 38 00 00 01 */ li r0, 1
/* 8020DD60 0020ACC0 C0 02 B1 E4 */ lfs f0, lbl_805ACF04@sda21(r2)
/* 8020DD64 0020ACC4 7C 65 20 AE */ lbzx r3, r5, r4
/* 8020DD68 0020ACC8 50 03 3E 30 */ rlwimi r3, r0, 7, 0x18, 0x18
/* 8020DD6C 0020ACCC 38 1C 00 38 */ addi r0, r28, 0x38
/* 8020DD70 0020ACD0 38 DC 00 2C */ addi r6, r28, 0x2c
/* 8020DD74 0020ACD4 7C 65 21 AE */ stbx r3, r5, r4
/* 8020DD78 0020ACD8 38 9C 00 04 */ addi r4, r28, 4
/* 8020DD7C 0020ACDC C0 A2 B1 E0 */ lfs f5, lbl_805ACF00@sda21(r2)
/* 8020DD80 0020ACE0 C0 41 00 88 */ lfs f2, 0x88(r1)
/* 8020DD84 0020ACE4 C0 21 01 44 */ lfs f1, 0x144(r1)
/* 8020DD88 0020ACE8 C0 61 00 84 */ lfs f3, 0x84(r1)
/* 8020DD8C 0020ACEC EC 22 00 72 */ fmuls f1, f2, f1
/* 8020DD90 0020ACF0 C0 41 01 40 */ lfs f2, 0x140(r1)
/* 8020DD94 0020ACF4 C0 C1 00 8C */ lfs f6, 0x8c(r1)
/* 8020DD98 0020ACF8 C0 81 01 48 */ lfs f4, 0x148(r1)
/* 8020DD9C 0020ACFC EC 23 08 BA */ fmadds f1, f3, f2, f1
/* 8020DDA0 0020AD00 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8020DDA4 0020AD04 EC 86 09 3A */ fmadds f4, f6, f4, f1
/* 8020DDA8 0020AD08 FC 20 20 50 */ fneg f1, f4
/* 8020DDAC 0020AD0C EC 00 01 32 */ fmuls f0, f0, f4
/* 8020DDB0 0020AD10 EC 21 07 F2 */ fmuls f1, f1, f31
/* 8020DDB4 0020AD14 EC 7F 00 32 */ fmuls f3, f31, f0
/* 8020DDB8 0020AD18 7C 23 05 2E */ stfsx f1, r3, r0
/* 8020DDBC 0020AD1C C0 01 01 40 */ lfs f0, 0x140(r1)
/* 8020DDC0 0020AD20 C0 21 01 44 */ lfs f1, 0x144(r1)
/* 8020DDC4 0020AD24 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8020DDC8 0020AD28 EC 43 00 32 */ fmuls f2, f3, f0
/* 8020DDCC 0020AD2C C0 01 01 48 */ lfs f0, 0x148(r1)
/* 8020DDD0 0020AD30 EC 23 00 72 */ fmuls f1, f3, f1
/* 8020DDD4 0020AD34 7C C0 32 14 */ add r6, r0, r6
/* 8020DDD8 0020AD38 D0 46 00 00 */ stfs f2, 0(r6)
/* 8020DDDC 0020AD3C EC 03 00 32 */ fmuls f0, f3, f0
/* 8020DDE0 0020AD40 D0 26 00 04 */ stfs f1, 4(r6)
/* 8020DDE4 0020AD44 D0 06 00 08 */ stfs f0, 8(r6)
/* 8020DDE8 0020AD48 C8 01 00 38 */ lfd f0, 0x38(r1)
/* 8020DDEC 0020AD4C 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8020DDF0 0020AD50 FC 20 00 18 */ frsp f1, f0
/* 8020DDF4 0020AD54 C0 61 01 40 */ lfs f3, 0x140(r1)
/* 8020DDF8 0020AD58 7C 80 22 14 */ add r4, r0, r4
/* 8020DDFC 0020AD5C C0 41 01 44 */ lfs f2, 0x144(r1)
/* 8020DE00 0020AD60 C0 04 00 00 */ lfs f0, 0(r4)
/* 8020DE04 0020AD64 EC DF 08 28 */ fsubs f6, f31, f1
/* 8020DE08 0020AD68 C0 21 01 48 */ lfs f1, 0x148(r1)
/* 8020DE0C 0020AD6C EC 86 01 32 */ fmuls f4, f6, f4
/* 8020DE10 0020AD70 EC 85 20 28 */ fsubs f4, f5, f4
/* 8020DE14 0020AD74 EC 64 00 F2 */ fmuls f3, f4, f3
/* 8020DE18 0020AD78 EC 44 00 B2 */ fmuls f2, f4, f2
/* 8020DE1C 0020AD7C EC 24 00 72 */ fmuls f1, f4, f1
/* 8020DE20 0020AD80 EC 00 18 2A */ fadds f0, f0, f3
/* 8020DE24 0020AD84 D0 04 00 00 */ stfs f0, 0(r4)
/* 8020DE28 0020AD88 C0 04 00 04 */ lfs f0, 4(r4)
/* 8020DE2C 0020AD8C EC 00 10 2A */ fadds f0, f0, f2
/* 8020DE30 0020AD90 D0 04 00 04 */ stfs f0, 4(r4)
/* 8020DE34 0020AD94 C0 04 00 08 */ lfs f0, 8(r4)
/* 8020DE38 0020AD98 EC 00 08 2A */ fadds f0, f0, f1
/* 8020DE3C 0020AD9C D0 04 00 08 */ stfs f0, 8(r4)
/* 8020DE40 0020ADA0 48 00 00 88 */ b lbl_8020DEC8
lbl_8020DE44:
/* 8020DE44 0020ADA4 C8 21 00 38 */ lfd f1, 0x38(r1)
/* 8020DE48 0020ADA8 C8 02 B1 E8 */ lfd f0, lbl_805ACF08@sda21(r2)
/* 8020DE4C 0020ADAC 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8020DE50 0020ADB0 FC C1 00 28 */ fsub f6, f1, f0
/* 8020DE54 0020ADB4 C0 01 00 84 */ lfs f0, 0x84(r1)
/* 8020DE58 0020ADB8 7C 60 E2 14 */ add r3, r0, r28
/* 8020DE5C 0020ADBC C0 81 00 88 */ lfs f4, 0x88(r1)
/* 8020DE60 0020ADC0 C0 23 00 14 */ lfs f1, 0x14(r3)
/* 8020DE64 0020ADC4 FC C0 30 18 */ frsp f6, f6
/* 8020DE68 0020ADC8 C0 41 00 8C */ lfs f2, 0x8c(r1)
/* 8020DE6C 0020ADCC C0 A3 00 18 */ lfs f5, 0x18(r3)
/* 8020DE70 0020ADD0 EC 06 00 32 */ fmuls f0, f6, f0
/* 8020DE74 0020ADD4 C0 63 00 1C */ lfs f3, 0x1c(r3)
/* 8020DE78 0020ADD8 EC 86 01 32 */ fmuls f4, f6, f4
/* 8020DE7C 0020ADDC EC 46 00 B2 */ fmuls f2, f6, f2
/* 8020DE80 0020ADE0 EC 01 00 2A */ fadds f0, f1, f0
/* 8020DE84 0020ADE4 EC 85 20 2A */ fadds f4, f5, f4
/* 8020DE88 0020ADE8 EC 23 10 2A */ fadds f1, f3, f2
/* 8020DE8C 0020ADEC D0 03 00 04 */ stfs f0, 4(r3)
/* 8020DE90 0020ADF0 D0 83 00 08 */ stfs f4, 8(r3)
/* 8020DE94 0020ADF4 D0 23 00 0C */ stfs f1, 0xc(r3)
/* 8020DE98 0020ADF8 48 00 00 30 */ b lbl_8020DEC8
lbl_8020DE9C:
/* 8020DE9C 0020ADFC 88 1D 00 68 */ lbz r0, 0x68(r29)
/* 8020DEA0 0020AE00 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 8020DEA4 0020AE04 40 82 00 24 */ bne lbl_8020DEC8
/* 8020DEA8 0020AE08 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8020DEAC 0020AE0C 7C 60 E2 14 */ add r3, r0, r28
/* 8020DEB0 0020AE10 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 8020DEB4 0020AE14 D0 03 00 04 */ stfs f0, 4(r3)
/* 8020DEB8 0020AE18 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 8020DEBC 0020AE1C D0 03 00 08 */ stfs f0, 8(r3)
/* 8020DEC0 0020AE20 C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 8020DEC4 0020AE24 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_8020DEC8:
/* 8020DEC8 0020AE28 3B 9C 00 40 */ addi r28, r28, 0x40
/* 8020DECC 0020AE2C 3B 5A 00 01 */ addi r26, r26, 1
lbl_8020DED0:
/* 8020DED0 0020AE30 80 1D 00 08 */ lwz r0, 8(r29)
/* 8020DED4 0020AE34 7C 1A 00 00 */ cmpw r26, r0
/* 8020DED8 0020AE38 41 80 FD 04 */ blt lbl_8020DBDC
/* 8020DEDC 0020AE3C 80 A1 01 58 */ lwz r5, 0x158(r1)
/* 8020DEE0 0020AE40 38 60 00 00 */ li r3, 0
/* 8020DEE4 0020AE44 2C 05 00 00 */ cmpwi r5, 0
/* 8020DEE8 0020AE48 40 81 00 40 */ ble lbl_8020DF28
/* 8020DEEC 0020AE4C 2C 05 00 08 */ cmpwi r5, 8
/* 8020DEF0 0020AE50 38 85 FF F8 */ addi r4, r5, -8
/* 8020DEF4 0020AE54 40 81 00 20 */ ble lbl_8020DF14
/* 8020DEF8 0020AE58 38 04 00 07 */ addi r0, r4, 7
/* 8020DEFC 0020AE5C 54 00 E8 FE */ srwi r0, r0, 3
/* 8020DF00 0020AE60 7C 09 03 A6 */ mtctr r0
/* 8020DF04 0020AE64 2C 04 00 00 */ cmpwi r4, 0
/* 8020DF08 0020AE68 40 81 00 0C */ ble lbl_8020DF14
lbl_8020DF0C:
/* 8020DF0C 0020AE6C 38 63 00 08 */ addi r3, r3, 8
/* 8020DF10 0020AE70 42 00 FF FC */ bdnz lbl_8020DF0C
lbl_8020DF14:
/* 8020DF14 0020AE74 7C 03 28 50 */ subf r0, r3, r5
/* 8020DF18 0020AE78 7C 09 03 A6 */ mtctr r0
/* 8020DF1C 0020AE7C 7C 03 28 00 */ cmpw r3, r5
/* 8020DF20 0020AE80 40 80 00 08 */ bge lbl_8020DF28
lbl_8020DF24:
/* 8020DF24 0020AE84 42 00 00 00 */ bdnz lbl_8020DF24
lbl_8020DF28:
/* 8020DF28 0020AE88 38 60 00 00 */ li r3, 0
/* 8020DF2C 0020AE8C 34 E1 09 74 */ addic. r7, r1, 0x974
/* 8020DF30 0020AE90 90 61 01 58 */ stw r3, 0x158(r1)
/* 8020DF34 0020AE94 41 82 00 90 */ beq lbl_8020DFC4
/* 8020DF38 0020AE98 38 C7 00 04 */ addi r6, r7, 4
/* 8020DF3C 0020AE9C 48 00 00 74 */ b lbl_8020DFB0
lbl_8020DF40:
/* 8020DF40 0020AEA0 28 06 00 00 */ cmplwi r6, 0
/* 8020DF44 0020AEA4 41 82 00 64 */ beq lbl_8020DFA8
/* 8020DF48 0020AEA8 34 06 00 04 */ addic. r0, r6, 4
/* 8020DF4C 0020AEAC 41 82 00 5C */ beq lbl_8020DFA8
/* 8020DF50 0020AEB0 81 06 00 04 */ lwz r8, 4(r6)
/* 8020DF54 0020AEB4 38 80 00 00 */ li r4, 0
/* 8020DF58 0020AEB8 2C 08 00 00 */ cmpwi r8, 0
/* 8020DF5C 0020AEBC 40 81 00 44 */ ble lbl_8020DFA0
/* 8020DF60 0020AEC0 2C 08 00 08 */ cmpwi r8, 8
/* 8020DF64 0020AEC4 38 A8 FF F8 */ addi r5, r8, -8
/* 8020DF68 0020AEC8 40 81 00 20 */ ble lbl_8020DF88
/* 8020DF6C 0020AECC 38 05 00 07 */ addi r0, r5, 7
/* 8020DF70 0020AED0 54 00 E8 FE */ srwi r0, r0, 3
/* 8020DF74 0020AED4 7C 09 03 A6 */ mtctr r0
/* 8020DF78 0020AED8 2C 05 00 00 */ cmpwi r5, 0
/* 8020DF7C 0020AEDC 40 81 00 0C */ ble lbl_8020DF88
lbl_8020DF80:
/* 8020DF80 0020AEE0 38 84 00 08 */ addi r4, r4, 8
/* 8020DF84 0020AEE4 42 00 FF FC */ bdnz lbl_8020DF80
lbl_8020DF88:
/* 8020DF88 0020AEE8 7C 04 40 50 */ subf r0, r4, r8
/* 8020DF8C 0020AEEC 7C 09 03 A6 */ mtctr r0
/* 8020DF90 0020AEF0 7C 04 40 00 */ cmpw r4, r8
/* 8020DF94 0020AEF4 40 80 00 0C */ bge lbl_8020DFA0
lbl_8020DF98:
/* 8020DF98 0020AEF8 38 84 00 01 */ addi r4, r4, 1
/* 8020DF9C 0020AEFC 42 00 FF FC */ bdnz lbl_8020DF98
lbl_8020DFA0:
/* 8020DFA0 0020AF00 38 00 00 00 */ li r0, 0
/* 8020DFA4 0020AF04 90 06 00 04 */ stw r0, 4(r6)
lbl_8020DFA8:
/* 8020DFA8 0020AF08 38 C6 09 0C */ addi r6, r6, 0x90c
/* 8020DFAC 0020AF0C 38 63 00 01 */ addi r3, r3, 1
lbl_8020DFB0:
/* 8020DFB0 0020AF10 80 07 00 00 */ lwz r0, 0(r7)
/* 8020DFB4 0020AF14 7C 03 00 00 */ cmpw r3, r0
/* 8020DFB8 0020AF18 41 80 FF 88 */ blt lbl_8020DF40
/* 8020DFBC 0020AF1C 38 00 00 00 */ li r0, 0
/* 8020DFC0 0020AF20 90 07 00 00 */ stw r0, 0(r7)
lbl_8020DFC4:
/* 8020DFC4 0020AF24 7F 63 DB 78 */ mr r3, r27
/* 8020DFC8 0020AF28 38 00 25 08 */ li r0, 0x2508
/* 8020DFCC 0020AF2C 13 E1 00 0C */ psq_lx f31, r1, r0, 0, qr0
/* 8020DFD0 0020AF30 CB E1 25 00 */ lfd f31, 0x2500(r1)
/* 8020DFD4 0020AF34 38 00 24 F8 */ li r0, 0x24f8
/* 8020DFD8 0020AF38 13 C1 00 0C */ psq_lx f30, r1, r0, 0, qr0
/* 8020DFDC 0020AF3C CB C1 24 F0 */ lfd f30, 0x24f0(r1)
/* 8020DFE0 0020AF40 38 00 24 E8 */ li r0, 0x24e8
/* 8020DFE4 0020AF44 13 A1 00 0C */ psq_lx f29, r1, r0, 0, qr0
/* 8020DFE8 0020AF48 CB A1 24 E0 */ lfd f29, 0x24e0(r1)
/* 8020DFEC 0020AF4C 38 00 24 D8 */ li r0, 0x24d8
/* 8020DFF0 0020AF50 13 81 00 0C */ psq_lx f28, r1, r0, 0, qr0
/* 8020DFF4 0020AF54 CB 81 24 D0 */ lfd f28, 0x24d0(r1)
/* 8020DFF8 0020AF58 38 00 24 C8 */ li r0, 0x24c8
/* 8020DFFC 0020AF5C 13 61 00 0C */ psq_lx f27, r1, r0, 0, qr0
/* 8020E000 0020AF60 CB 61 24 C0 */ lfd f27, 0x24c0(r1)
/* 8020E004 0020AF64 BB 01 24 A0 */ lmw r24, 0x24a0(r1)
/* 8020E008 0020AF68 80 01 25 14 */ lwz r0, 0x2514(r1)
/* 8020E00C 0020AF6C 7C 08 03 A6 */ mtlr r0
/* 8020E010 0020AF70 38 21 25 10 */ addi r1, r1, 0x2510
/* 8020E014 0020AF74 4E 80 00 20 */ blr
.global AccumulateForces__8CRagDollFff
AccumulateForces__8CRagDollFff:
/* 8020E018 0020AF78 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 8020E01C 0020AF7C 7C 08 02 A6 */ mflr r0
/* 8020E020 0020AF80 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 8020E024 0020AF84 DB E1 00 C0 */ stfd f31, 0xc0(r1)
/* 8020E028 0020AF88 F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0
/* 8020E02C 0020AF8C DB C1 00 B0 */ stfd f30, 0xb0(r1)
/* 8020E030 0020AF90 F3 C1 00 B8 */ psq_st f30, 184(r1), 0, qr0
/* 8020E034 0020AF94 DB A1 00 A0 */ stfd f29, 0xa0(r1)
/* 8020E038 0020AF98 F3 A1 00 A8 */ psq_st f29, 168(r1), 0, qr0
/* 8020E03C 0020AF9C DB 81 00 90 */ stfd f28, 0x90(r1)
/* 8020E040 0020AFA0 F3 81 00 98 */ psq_st f28, 152(r1), 0, qr0
/* 8020E044 0020AFA4 DB 61 00 80 */ stfd f27, 0x80(r1)
/* 8020E048 0020AFA8 F3 61 00 88 */ psq_st f27, 136(r1), 0, qr0
/* 8020E04C 0020AFAC DB 41 00 70 */ stfd f26, 0x70(r1)
/* 8020E050 0020AFB0 F3 41 00 78 */ psq_st f26, 120(r1), 0, qr0
/* 8020E054 0020AFB4 DB 21 00 60 */ stfd f25, 0x60(r1)
/* 8020E058 0020AFB8 F3 21 00 68 */ psq_st f25, 104(r1), 0, qr0
/* 8020E05C 0020AFBC DB 01 00 50 */ stfd f24, 0x50(r1)
/* 8020E060 0020AFC0 F3 01 00 58 */ psq_st f24, 88(r1), 0, qr0
/* 8020E064 0020AFC4 DA E1 00 40 */ stfd f23, 0x40(r1)
/* 8020E068 0020AFC8 F2 E1 00 48 */ psq_st f23, 72(r1), 0, qr0
/* 8020E06C 0020AFCC BF 61 00 2C */ stmw r27, 0x2c(r1)
/* 8020E070 0020AFD0 C0 02 B1 C0 */ lfs f0, lbl_805ACEE0@sda21(r2)
/* 8020E074 0020AFD4 7C 7F 1B 78 */ mr r31, r3
/* 8020E078 0020AFD8 C0 63 00 64 */ lfs f3, 0x64(r3)
/* 8020E07C 0020AFDC FE E0 10 90 */ fmr f23, f2
/* 8020E080 0020AFE0 EF 40 08 24 */ fdivs f26, f0, f1
/* 8020E084 0020AFE4 C0 02 B1 F0 */ lfs f0, lbl_805ACF10@sda21(r2)
/* 8020E088 0020AFE8 EC 23 08 2A */ fadds f1, f3, f1
/* 8020E08C 0020AFEC D0 23 00 64 */ stfs f1, 0x64(r3)
/* 8020E090 0020AFF0 C0 23 00 64 */ lfs f1, 0x64(r3)
/* 8020E094 0020AFF4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8020E098 0020AFF8 40 81 00 0C */ ble lbl_8020E0A4
/* 8020E09C 0020AFFC EC 01 00 28 */ fsubs f0, f1, f0
/* 8020E0A0 0020B000 D0 1F 00 64 */ stfs f0, 0x64(r31)
lbl_8020E0A4:
/* 8020E0A4 0020B004 C0 22 B1 FC */ lfs f1, lbl_805ACF1C@sda21(r2)
/* 8020E0A8 0020B008 C0 1F 00 64 */ lfs f0, 0x64(r31)
/* 8020E0AC 0020B00C EC 21 00 32 */ fmuls f1, f1, f0
/* 8020E0B0 0020B010 48 10 6D 41 */ bl FastSinR__5CMathFf
/* 8020E0B4 0020B014 C0 02 B1 F4 */ lfs f0, lbl_805ACF14@sda21(r2)
/* 8020E0B8 0020B018 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 8020E0BC 0020B01C 3B C3 66 A0 */ addi r30, r3, sZeroVector__9CVector3f@l
/* 8020E0C0 0020B020 C0 42 B1 F8 */ lfs f2, lbl_805ACF18@sda21(r2)
/* 8020E0C4 0020B024 EC 17 00 28 */ fsubs f0, f23, f0
/* 8020E0C8 0020B028 C3 BE 00 00 */ lfs f29, 0(r30)
/* 8020E0CC 0020B02C C3 9E 00 04 */ lfs f28, 4(r30)
/* 8020E0D0 0020B030 3B 60 00 00 */ li r27, 0
/* 8020E0D4 0020B034 C3 7E 00 08 */ lfs f27, 8(r30)
/* 8020E0D8 0020B038 3B 80 00 00 */ li r28, 0
/* 8020E0DC 0020B03C EF 22 00 7A */ fmadds f25, f2, f1, f0
/* 8020E0E0 0020B040 C3 02 B1 C4 */ lfs f24, lbl_805ACEE4@sda21(r2)
/* 8020E0E4 0020B044 C3 C2 B1 D0 */ lfs f30, lbl_805ACEF0@sda21(r2)
/* 8020E0E8 0020B048 C3 E2 B2 00 */ lfs f31, lbl_805ACF20@sda21(r2)
/* 8020E0EC 0020B04C 48 00 01 6C */ b lbl_8020E258
lbl_8020E0F0:
/* 8020E0F0 0020B050 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 8020E0F4 0020B054 C1 1F 00 48 */ lfs f8, 0x48(r31)
/* 8020E0F8 0020B058 7F A0 E2 14 */ add r29, r0, r28
/* 8020E0FC 0020B05C C2 E2 B1 C4 */ lfs f23, lbl_805ACEE4@sda21(r2)
/* 8020E100 0020B060 C0 7D 00 10 */ lfs f3, 0x10(r29)
/* 8020E104 0020B064 C0 BD 00 0C */ lfs f5, 0xc(r29)
/* 8020E108 0020B068 EC 43 00 F2 */ fmuls f2, f3, f3
/* 8020E10C 0020B06C C0 3D 00 04 */ lfs f1, 4(r29)
/* 8020E110 0020B070 EC E5 C8 28 */ fsubs f7, f5, f25
/* 8020E114 0020B074 C0 1D 00 08 */ lfs f0, 8(r29)
/* 8020E118 0020B078 EC C3 00 B2 */ fmuls f6, f3, f2
/* 8020E11C 0020B07C FC 80 3A 10 */ fabs f4, f7
/* 8020E120 0020B080 EC 66 01 72 */ fmuls f3, f6, f5
/* 8020E124 0020B084 EC 46 00 72 */ fmuls f2, f6, f1
/* 8020E128 0020B088 EC 26 00 32 */ fmuls f1, f6, f0
/* 8020E12C 0020B08C FC 00 20 18 */ frsp f0, f4
/* 8020E130 0020B090 EF 18 30 2A */ fadds f24, f24, f6
/* 8020E134 0020B094 EF BD 10 2A */ fadds f29, f29, f2
/* 8020E138 0020B098 FC 00 F0 40 */ fcmpo cr0, f0, f30
/* 8020E13C 0020B09C EF 9C 08 2A */ fadds f28, f28, f1
/* 8020E140 0020B0A0 EF 7B 18 2A */ fadds f27, f27, f3
/* 8020E144 0020B0A4 40 80 00 20 */ bge lbl_8020E164
/* 8020E148 0020B0A8 EC 3E 01 F2 */ fmuls f1, f30, f7
/* 8020E14C 0020B0AC FC 00 38 50 */ fneg f0, f7
/* 8020E150 0020B0B0 EC 21 F0 24 */ fdivs f1, f1, f30
/* 8020E154 0020B0B4 EC 00 F0 24 */ fdivs f0, f0, f30
/* 8020E158 0020B0B8 EE FE 08 2A */ fadds f23, f30, f1
/* 8020E15C 0020B0BC ED 08 00 32 */ fmuls f8, f8, f0
/* 8020E160 0020B0C0 48 00 00 14 */ b lbl_8020E174
lbl_8020E164:
/* 8020E164 0020B0C4 FC 07 B8 40 */ fcmpo cr0, f7, f23
/* 8020E168 0020B0C8 40 81 00 0C */ ble lbl_8020E174
/* 8020E16C 0020B0CC C1 1F 00 44 */ lfs f8, 0x44(r31)
/* 8020E170 0020B0D0 C2 E2 B1 C0 */ lfs f23, lbl_805ACEE0@sda21(r2)
lbl_8020E174:
/* 8020E174 0020B0D4 C0 1D 00 28 */ lfs f0, 0x28(r29)
/* 8020E178 0020B0D8 38 61 00 14 */ addi r3, r1, 0x14
/* 8020E17C 0020B0DC EC 00 40 2A */ fadds f0, f0, f8
/* 8020E180 0020B0E0 D0 1D 00 28 */ stfs f0, 0x28(r29)
/* 8020E184 0020B0E4 C0 3D 00 08 */ lfs f1, 8(r29)
/* 8020E188 0020B0E8 C0 1D 00 18 */ lfs f0, 0x18(r29)
/* 8020E18C 0020B0EC C0 7D 00 0C */ lfs f3, 0xc(r29)
/* 8020E190 0020B0F0 C0 5D 00 1C */ lfs f2, 0x1c(r29)
/* 8020E194 0020B0F4 EC 81 00 28 */ fsubs f4, f1, f0
/* 8020E198 0020B0F8 C0 3D 00 04 */ lfs f1, 4(r29)
/* 8020E19C 0020B0FC C0 1D 00 14 */ lfs f0, 0x14(r29)
/* 8020E1A0 0020B100 EC 43 10 28 */ fsubs f2, f3, f2
/* 8020E1A4 0020B104 EC 7A 01 32 */ fmuls f3, f26, f4
/* 8020E1A8 0020B108 EC 01 00 28 */ fsubs f0, f1, f0
/* 8020E1AC 0020B10C EC 3A 00 B2 */ fmuls f1, f26, f2
/* 8020E1B0 0020B110 D0 61 00 18 */ stfs f3, 0x18(r1)
/* 8020E1B4 0020B114 EC 1A 00 32 */ fmuls f0, f26, f0
/* 8020E1B8 0020B118 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 8020E1BC 0020B11C D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8020E1C0 0020B120 48 10 66 F9 */ bl Magnitude__9CVector3fCFv
/* 8020E1C4 0020B124 FC 01 F8 40 */ fcmpo cr0, f1, f31
/* 8020E1C8 0020B128 40 81 00 88 */ ble lbl_8020E250
/* 8020E1CC 0020B12C C0 02 B1 C0 */ lfs f0, lbl_805ACEE0@sda21(r2)
/* 8020E1D0 0020B130 C0 C2 B2 0C */ lfs f6, lbl_805ACF2C@sda21(r2)
/* 8020E1D4 0020B134 EC 40 B8 28 */ fsubs f2, f0, f23
/* 8020E1D8 0020B138 C0 E2 B2 08 */ lfs f7, lbl_805ACF28@sda21(r2)
/* 8020E1DC 0020B13C C1 02 B2 04 */ lfs f8, lbl_805ACF24@sda21(r2)
/* 8020E1E0 0020B140 ED 40 08 24 */ fdivs f10, f0, f1
/* 8020E1E4 0020B144 C1 21 00 14 */ lfs f9, 0x14(r1)
/* 8020E1E8 0020B148 C0 61 00 18 */ lfs f3, 0x18(r1)
/* 8020E1EC 0020B14C C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8020E1F0 0020B150 C0 A2 B2 10 */ lfs f5, lbl_805ACF30@sda21(r2)
/* 8020E1F4 0020B154 C0 9D 00 10 */ lfs f4, 0x10(r29)
/* 8020E1F8 0020B158 EC C6 00 B2 */ fmuls f6, f6, f2
/* 8020E1FC 0020B15C C0 5D 00 20 */ lfs f2, 0x20(r29)
/* 8020E200 0020B160 EC A5 01 32 */ fmuls f5, f5, f4
/* 8020E204 0020B164 ED 2A 02 72 */ fmuls f9, f10, f9
/* 8020E208 0020B168 EC C7 35 FA */ fmadds f6, f7, f23, f6
/* 8020E20C 0020B16C EC 8A 00 F2 */ fmuls f4, f10, f3
/* 8020E210 0020B170 EC 6A 00 32 */ fmuls f3, f10, f0
/* 8020E214 0020B174 EC 08 01 B2 */ fmuls f0, f8, f6
/* 8020E218 0020B178 EC 00 00 72 */ fmuls f0, f0, f1
/* 8020E21C 0020B17C EC 01 00 32 */ fmuls f0, f1, f0
/* 8020E220 0020B180 EC 20 28 24 */ fdivs f1, f0, f5
/* 8020E224 0020B184 EC 01 02 72 */ fmuls f0, f1, f9
/* 8020E228 0020B188 EC 81 01 32 */ fmuls f4, f1, f4
/* 8020E22C 0020B18C EC 21 00 F2 */ fmuls f1, f1, f3
/* 8020E230 0020B190 EC 02 00 28 */ fsubs f0, f2, f0
/* 8020E234 0020B194 D0 1D 00 20 */ stfs f0, 0x20(r29)
/* 8020E238 0020B198 C0 1D 00 24 */ lfs f0, 0x24(r29)
/* 8020E23C 0020B19C EC 00 20 28 */ fsubs f0, f0, f4
/* 8020E240 0020B1A0 D0 1D 00 24 */ stfs f0, 0x24(r29)
/* 8020E244 0020B1A4 C0 1D 00 28 */ lfs f0, 0x28(r29)
/* 8020E248 0020B1A8 EC 00 08 28 */ fsubs f0, f0, f1
/* 8020E24C 0020B1AC D0 1D 00 28 */ stfs f0, 0x28(r29)
lbl_8020E250:
/* 8020E250 0020B1B0 3B 9C 00 40 */ addi r28, r28, 0x40
/* 8020E254 0020B1B4 3B 7B 00 01 */ addi r27, r27, 1
lbl_8020E258:
/* 8020E258 0020B1B8 80 1F 00 08 */ lwz r0, 8(r31)
/* 8020E25C 0020B1BC 7C 1B 00 00 */ cmpw r27, r0
/* 8020E260 0020B1C0 41 80 FE 90 */ blt lbl_8020E0F0
/* 8020E264 0020B1C4 C0 02 B1 C0 */ lfs f0, lbl_805ACEE0@sda21(r2)
/* 8020E268 0020B1C8 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 8020E26C 0020B1CC C0 5E 00 04 */ lfs f2, 4(r30)
/* 8020E270 0020B1D0 38 A0 00 00 */ li r5, 0
/* 8020E274 0020B1D4 EC 00 C0 24 */ fdivs f0, f0, f24
/* 8020E278 0020B1D8 C0 63 66 A0 */ lfs f3, sZeroVector__9CVector3f@l(r3)
/* 8020E27C 0020B1DC C0 3E 00 08 */ lfs f1, 8(r30)
/* 8020E280 0020B1E0 38 80 00 00 */ li r4, 0
/* 8020E284 0020B1E4 D0 61 00 08 */ stfs f3, 8(r1)
/* 8020E288 0020B1E8 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 8020E28C 0020B1EC EF BD 00 32 */ fmuls f29, f29, f0
/* 8020E290 0020B1F0 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 8020E294 0020B1F4 EF 9C 00 32 */ fmuls f28, f28, f0
/* 8020E298 0020B1F8 EF 7B 00 32 */ fmuls f27, f27, f0
/* 8020E29C 0020B1FC 48 00 00 98 */ b lbl_8020E334
lbl_8020E2A0:
/* 8020E2A0 0020B200 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 8020E2A4 0020B204 38 A5 00 01 */ addi r5, r5, 1
/* 8020E2A8 0020B208 C0 C1 00 08 */ lfs f6, 8(r1)
/* 8020E2AC 0020B20C 7C 60 22 14 */ add r3, r0, r4
/* 8020E2B0 0020B210 C0 81 00 0C */ lfs f4, 0xc(r1)
/* 8020E2B4 0020B214 C0 63 00 04 */ lfs f3, 4(r3)
/* 8020E2B8 0020B218 38 84 00 40 */ addi r4, r4, 0x40
/* 8020E2BC 0020B21C C0 23 00 14 */ lfs f1, 0x14(r3)
/* 8020E2C0 0020B220 C0 A3 00 08 */ lfs f5, 8(r3)
/* 8020E2C4 0020B224 ED A3 E8 28 */ fsubs f13, f3, f29
/* 8020E2C8 0020B228 ED 43 08 28 */ fsubs f10, f3, f1
/* 8020E2CC 0020B22C C0 43 00 18 */ lfs f2, 0x18(r3)
/* 8020E2D0 0020B230 C0 63 00 0C */ lfs f3, 0xc(r3)
/* 8020E2D4 0020B234 ED 85 E0 28 */ fsubs f12, f5, f28
/* 8020E2D8 0020B238 C0 23 00 1C */ lfs f1, 0x1c(r3)
/* 8020E2DC 0020B23C ED 25 10 28 */ fsubs f9, f5, f2
/* 8020E2E0 0020B240 ED 03 08 28 */ fsubs f8, f3, f1
/* 8020E2E4 0020B244 C2 E3 00 10 */ lfs f23, 0x10(r3)
/* 8020E2E8 0020B248 ED 63 D8 28 */ fsubs f11, f3, f27
/* 8020E2EC 0020B24C C0 41 00 10 */ lfs f2, 0x10(r1)
/* 8020E2F0 0020B250 EC F7 05 F2 */ fmuls f7, f23, f23
/* 8020E2F4 0020B254 EC 68 03 72 */ fmuls f3, f8, f13
/* 8020E2F8 0020B258 EC A9 02 F2 */ fmuls f5, f9, f11
/* 8020E2FC 0020B25C EC 2A 03 32 */ fmuls f1, f10, f12
/* 8020E300 0020B260 EC F7 01 F2 */ fmuls f7, f23, f7
/* 8020E304 0020B264 EC AC 2A 38 */ fmsubs f5, f12, f8, f5
/* 8020E308 0020B268 EC 6B 1A B8 */ fmsubs f3, f11, f10, f3
/* 8020E30C 0020B26C EC 2D 0A 78 */ fmsubs f1, f13, f9, f1
/* 8020E310 0020B270 EC A7 01 72 */ fmuls f5, f7, f5
/* 8020E314 0020B274 EC 67 00 F2 */ fmuls f3, f7, f3
/* 8020E318 0020B278 EC 27 00 72 */ fmuls f1, f7, f1
/* 8020E31C 0020B27C EC A6 28 2A */ fadds f5, f6, f5
/* 8020E320 0020B280 EC 64 18 2A */ fadds f3, f4, f3
/* 8020E324 0020B284 EC 22 08 2A */ fadds f1, f2, f1
/* 8020E328 0020B288 D0 A1 00 08 */ stfs f5, 8(r1)
/* 8020E32C 0020B28C D0 61 00 0C */ stfs f3, 0xc(r1)
/* 8020E330 0020B290 D0 21 00 10 */ stfs f1, 0x10(r1)
lbl_8020E334:
/* 8020E334 0020B294 80 1F 00 08 */ lwz r0, 8(r31)
/* 8020E338 0020B298 7C 05 00 00 */ cmpw r5, r0
/* 8020E33C 0020B29C 41 80 FF 64 */ blt lbl_8020E2A0
/* 8020E340 0020B2A0 EC 7A 00 32 */ fmuls f3, f26, f0
/* 8020E344 0020B2A4 C0 41 00 08 */ lfs f2, 8(r1)
/* 8020E348 0020B2A8 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8020E34C 0020B2AC 38 61 00 08 */ addi r3, r1, 8
/* 8020E350 0020B2B0 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8020E354 0020B2B4 EC 42 00 F2 */ fmuls f2, f2, f3
/* 8020E358 0020B2B8 EC 21 00 F2 */ fmuls f1, f1, f3
/* 8020E35C 0020B2BC EC 00 00 F2 */ fmuls f0, f0, f3
/* 8020E360 0020B2C0 D0 41 00 08 */ stfs f2, 8(r1)
/* 8020E364 0020B2C4 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8020E368 0020B2C8 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8020E36C 0020B2CC 48 10 63 8D */ bl CanBeNormalized__9CVector3fCFv
/* 8020E370 0020B2D0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8020E374 0020B2D4 41 82 00 9C */ beq lbl_8020E410
/* 8020E378 0020B2D8 C0 62 B2 14 */ lfs f3, lbl_805ACF34@sda21(r2)
/* 8020E37C 0020B2DC 38 A0 00 00 */ li r5, 0
/* 8020E380 0020B2E0 38 80 00 00 */ li r4, 0
/* 8020E384 0020B2E4 48 00 00 80 */ b lbl_8020E404
lbl_8020E388:
/* 8020E388 0020B2E8 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 8020E38C 0020B2EC 38 A5 00 01 */ addi r5, r5, 1
/* 8020E390 0020B2F0 C1 21 00 10 */ lfs f9, 0x10(r1)
/* 8020E394 0020B2F4 7C 60 22 14 */ add r3, r0, r4
/* 8020E398 0020B2F8 C1 01 00 0C */ lfs f8, 0xc(r1)
/* 8020E39C 0020B2FC C0 23 00 08 */ lfs f1, 8(r3)
/* 8020E3A0 0020B300 38 84 00 40 */ addi r4, r4, 0x40
/* 8020E3A4 0020B304 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8020E3A8 0020B308 EC C1 E0 28 */ fsubs f6, f1, f28
/* 8020E3AC 0020B30C C0 23 00 04 */ lfs f1, 4(r3)
/* 8020E3B0 0020B310 EC A0 D8 28 */ fsubs f5, f0, f27
/* 8020E3B4 0020B314 C1 41 00 08 */ lfs f10, 8(r1)
/* 8020E3B8 0020B318 EC E1 E8 28 */ fsubs f7, f1, f29
/* 8020E3BC 0020B31C C0 83 00 20 */ lfs f4, 0x20(r3)
/* 8020E3C0 0020B320 EC 26 02 72 */ fmuls f1, f6, f9
/* 8020E3C4 0020B324 EC 05 02 B2 */ fmuls f0, f5, f10
/* 8020E3C8 0020B328 EC 47 02 32 */ fmuls f2, f7, f8
/* 8020E3CC 0020B32C EC 28 09 78 */ fmsubs f1, f8, f5, f1
/* 8020E3D0 0020B330 EC 09 01 F8 */ fmsubs f0, f9, f7, f0
/* 8020E3D4 0020B334 EC AA 11 B8 */ fmsubs f5, f10, f6, f2
/* 8020E3D8 0020B338 EC 43 00 72 */ fmuls f2, f3, f1
/* 8020E3DC 0020B33C EC 23 00 32 */ fmuls f1, f3, f0
/* 8020E3E0 0020B340 EC 03 01 72 */ fmuls f0, f3, f5
/* 8020E3E4 0020B344 EC 44 10 28 */ fsubs f2, f4, f2
/* 8020E3E8 0020B348 D0 43 00 20 */ stfs f2, 0x20(r3)
/* 8020E3EC 0020B34C C0 43 00 24 */ lfs f2, 0x24(r3)
/* 8020E3F0 0020B350 EC 22 08 28 */ fsubs f1, f2, f1
/* 8020E3F4 0020B354 D0 23 00 24 */ stfs f1, 0x24(r3)
/* 8020E3F8 0020B358 C0 23 00 28 */ lfs f1, 0x28(r3)
/* 8020E3FC 0020B35C EC 01 00 28 */ fsubs f0, f1, f0
/* 8020E400 0020B360 D0 03 00 28 */ stfs f0, 0x28(r3)
lbl_8020E404:
/* 8020E404 0020B364 80 1F 00 08 */ lwz r0, 8(r31)
/* 8020E408 0020B368 7C 05 00 00 */ cmpw r5, r0
/* 8020E40C 0020B36C 41 80 FF 7C */ blt lbl_8020E388
lbl_8020E410:
/* 8020E410 0020B370 E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0
/* 8020E414 0020B374 CB E1 00 C0 */ lfd f31, 0xc0(r1)
/* 8020E418 0020B378 E3 C1 00 B8 */ psq_l f30, 184(r1), 0, qr0
/* 8020E41C 0020B37C CB C1 00 B0 */ lfd f30, 0xb0(r1)
/* 8020E420 0020B380 E3 A1 00 A8 */ psq_l f29, 168(r1), 0, qr0
/* 8020E424 0020B384 CB A1 00 A0 */ lfd f29, 0xa0(r1)
/* 8020E428 0020B388 E3 81 00 98 */ psq_l f28, 152(r1), 0, qr0
/* 8020E42C 0020B38C CB 81 00 90 */ lfd f28, 0x90(r1)
/* 8020E430 0020B390 E3 61 00 88 */ psq_l f27, 136(r1), 0, qr0
/* 8020E434 0020B394 CB 61 00 80 */ lfd f27, 0x80(r1)
/* 8020E438 0020B398 E3 41 00 78 */ psq_l f26, 120(r1), 0, qr0
/* 8020E43C 0020B39C CB 41 00 70 */ lfd f26, 0x70(r1)
/* 8020E440 0020B3A0 E3 21 00 68 */ psq_l f25, 104(r1), 0, qr0
/* 8020E444 0020B3A4 CB 21 00 60 */ lfd f25, 0x60(r1)
/* 8020E448 0020B3A8 E3 01 00 58 */ psq_l f24, 88(r1), 0, qr0
/* 8020E44C 0020B3AC CB 01 00 50 */ lfd f24, 0x50(r1)
/* 8020E450 0020B3B0 E2 E1 00 48 */ psq_l f23, 72(r1), 0, qr0
/* 8020E454 0020B3B4 CA E1 00 40 */ lfd f23, 0x40(r1)
/* 8020E458 0020B3B8 BB 61 00 2C */ lmw r27, 0x2c(r1)
/* 8020E45C 0020B3BC 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 8020E460 0020B3C0 7C 08 03 A6 */ mtlr r0
/* 8020E464 0020B3C4 38 21 00 D0 */ addi r1, r1, 0xd0
/* 8020E468 0020B3C8 4E 80 00 20 */ blr
.global Verlet__8CRagDollFf
Verlet__8CRagDollFf:
/* 8020E46C 0020B3CC 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8020E470 0020B3D0 7C 08 02 A6 */ mflr r0
/* 8020E474 0020B3D4 90 01 00 74 */ stw r0, 0x74(r1)
/* 8020E478 0020B3D8 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 8020E47C 0020B3DC F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 8020E480 0020B3E0 DB C1 00 50 */ stfd f30, 0x50(r1)
/* 8020E484 0020B3E4 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 8020E488 0020B3E8 BF 61 00 3C */ stmw r27, 0x3c(r1)
/* 8020E48C 0020B3EC FF C0 08 90 */ fmr f30, f1
/* 8020E490 0020B3F0 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8020E494 0020B3F4 C3 E2 B1 F0 */ lfs f31, lbl_805ACF10@sda21(r2)
/* 8020E498 0020B3F8 7C 7D 1B 78 */ mr r29, r3
/* 8020E49C 0020B3FC 3B 84 66 A0 */ addi r28, r4, sZeroVector__9CVector3f@l
/* 8020E4A0 0020B400 3B C0 00 00 */ li r30, 0
/* 8020E4A4 0020B404 3B E0 00 00 */ li r31, 0
/* 8020E4A8 0020B408 48 00 01 FC */ b lbl_8020E6A4
lbl_8020E4AC:
/* 8020E4AC 0020B40C 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8020E4B0 0020B410 7F 60 FA 14 */ add r27, r0, r31
/* 8020E4B4 0020B414 88 1B 00 3C */ lbz r0, 0x3c(r27)
/* 8020E4B8 0020B418 C0 1B 00 04 */ lfs f0, 4(r27)
/* 8020E4BC 0020B41C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8020E4C0 0020B420 C0 3B 00 08 */ lfs f1, 8(r27)
/* 8020E4C4 0020B424 C0 5B 00 0C */ lfs f2, 0xc(r27)
/* 8020E4C8 0020B428 41 82 00 0C */ beq lbl_8020E4D4
/* 8020E4CC 0020B42C C0 E2 B2 18 */ lfs f7, lbl_805ACF38@sda21(r2)
/* 8020E4D0 0020B430 48 00 00 08 */ b lbl_8020E4D8
lbl_8020E4D4:
/* 8020E4D4 0020B434 C0 E2 B1 C0 */ lfs f7, lbl_805ACEE0@sda21(r2)
lbl_8020E4D8:
/* 8020E4D8 0020B438 C0 7B 00 14 */ lfs f3, 0x14(r27)
/* 8020E4DC 0020B43C 38 9F 00 20 */ addi r4, r31, 0x20
/* 8020E4E0 0020B440 C0 9B 00 18 */ lfs f4, 0x18(r27)
/* 8020E4E4 0020B444 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8020E4E8 0020B448 EC 60 18 28 */ fsubs f3, f0, f3
/* 8020E4EC 0020B44C C0 BB 00 1C */ lfs f5, 0x1c(r27)
/* 8020E4F0 0020B450 EC C1 20 28 */ fsubs f6, f1, f4
/* 8020E4F4 0020B454 C0 9B 00 04 */ lfs f4, 4(r27)
/* 8020E4F8 0020B458 EC A2 28 28 */ fsubs f5, f2, f5
/* 8020E4FC 0020B45C EC 67 00 F2 */ fmuls f3, f7, f3
/* 8020E500 0020B460 EC C7 01 B2 */ fmuls f6, f7, f6
/* 8020E504 0020B464 EC A7 01 72 */ fmuls f5, f7, f5
/* 8020E508 0020B468 EC 64 18 2A */ fadds f3, f4, f3
/* 8020E50C 0020B46C D0 7B 00 04 */ stfs f3, 4(r27)
/* 8020E510 0020B470 C0 7B 00 08 */ lfs f3, 8(r27)
/* 8020E514 0020B474 EC 63 30 2A */ fadds f3, f3, f6
/* 8020E518 0020B478 D0 7B 00 08 */ stfs f3, 8(r27)
/* 8020E51C 0020B47C C0 7B 00 0C */ lfs f3, 0xc(r27)
/* 8020E520 0020B480 EC 63 28 2A */ fadds f3, f3, f5
/* 8020E524 0020B484 D0 7B 00 0C */ stfs f3, 0xc(r27)
/* 8020E528 0020B488 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8020E52C 0020B48C C0 9B 00 04 */ lfs f4, 4(r27)
/* 8020E530 0020B490 7C 80 22 14 */ add r4, r0, r4
/* 8020E534 0020B494 C0 64 00 00 */ lfs f3, 0(r4)
/* 8020E538 0020B498 C0 C4 00 04 */ lfs f6, 4(r4)
/* 8020E53C 0020B49C EC 7E 00 F2 */ fmuls f3, f30, f3
/* 8020E540 0020B4A0 C0 A4 00 08 */ lfs f5, 8(r4)
/* 8020E544 0020B4A4 EC DE 01 B2 */ fmuls f6, f30, f6
/* 8020E548 0020B4A8 EC BE 01 72 */ fmuls f5, f30, f5
/* 8020E54C 0020B4AC EC 7E 00 F2 */ fmuls f3, f30, f3
/* 8020E550 0020B4B0 EC DE 01 B2 */ fmuls f6, f30, f6
/* 8020E554 0020B4B4 EC BE 01 72 */ fmuls f5, f30, f5
/* 8020E558 0020B4B8 EC 64 18 2A */ fadds f3, f4, f3
/* 8020E55C 0020B4BC D0 7B 00 04 */ stfs f3, 4(r27)
/* 8020E560 0020B4C0 C0 7B 00 08 */ lfs f3, 8(r27)
/* 8020E564 0020B4C4 EC 63 30 2A */ fadds f3, f3, f6
/* 8020E568 0020B4C8 D0 7B 00 08 */ stfs f3, 8(r27)
/* 8020E56C 0020B4CC C0 7B 00 0C */ lfs f3, 0xc(r27)
/* 8020E570 0020B4D0 EC 63 28 2A */ fadds f3, f3, f5
/* 8020E574 0020B4D4 D0 7B 00 0C */ stfs f3, 0xc(r27)
/* 8020E578 0020B4D8 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8020E57C 0020B4DC C0 9B 00 04 */ lfs f4, 4(r27)
/* 8020E580 0020B4E0 7C 60 1A 14 */ add r3, r0, r3
/* 8020E584 0020B4E4 C0 63 00 00 */ lfs f3, 0(r3)
/* 8020E588 0020B4E8 EC 64 18 2A */ fadds f3, f4, f3
/* 8020E58C 0020B4EC D0 7B 00 04 */ stfs f3, 4(r27)
/* 8020E590 0020B4F0 C0 9B 00 08 */ lfs f4, 8(r27)
/* 8020E594 0020B4F4 C0 63 00 04 */ lfs f3, 4(r3)
/* 8020E598 0020B4F8 EC 64 18 2A */ fadds f3, f4, f3
/* 8020E59C 0020B4FC D0 7B 00 08 */ stfs f3, 8(r27)
/* 8020E5A0 0020B500 C0 9B 00 0C */ lfs f4, 0xc(r27)
/* 8020E5A4 0020B504 C0 63 00 08 */ lfs f3, 8(r3)
/* 8020E5A8 0020B508 EC 64 18 2A */ fadds f3, f4, f3
/* 8020E5AC 0020B50C D0 7B 00 0C */ stfs f3, 0xc(r27)
/* 8020E5B0 0020B510 D0 1B 00 14 */ stfs f0, 0x14(r27)
/* 8020E5B4 0020B514 D0 3B 00 18 */ stfs f1, 0x18(r27)
/* 8020E5B8 0020B518 D0 5B 00 1C */ stfs f2, 0x1c(r27)
/* 8020E5BC 0020B51C C0 5B 00 08 */ lfs f2, 8(r27)
/* 8020E5C0 0020B520 C0 1B 00 18 */ lfs f0, 0x18(r27)
/* 8020E5C4 0020B524 C0 3B 00 04 */ lfs f1, 4(r27)
/* 8020E5C8 0020B528 EC A2 00 28 */ fsubs f5, f2, f0
/* 8020E5CC 0020B52C C0 1B 00 14 */ lfs f0, 0x14(r27)
/* 8020E5D0 0020B530 C0 5B 00 0C */ lfs f2, 0xc(r27)
/* 8020E5D4 0020B534 EC 61 00 28 */ fsubs f3, f1, f0
/* 8020E5D8 0020B538 C0 3B 00 1C */ lfs f1, 0x1c(r27)
/* 8020E5DC 0020B53C EC 05 01 72 */ fmuls f0, f5, f5
/* 8020E5E0 0020B540 EC 82 08 28 */ fsubs f4, f2, f1
/* 8020E5E4 0020B544 D0 A1 00 24 */ stfs f5, 0x24(r1)
/* 8020E5E8 0020B548 EC 23 00 F2 */ fmuls f1, f3, f3
/* 8020E5EC 0020B54C D0 61 00 20 */ stfs f3, 0x20(r1)
/* 8020E5F0 0020B550 EC 44 01 32 */ fmuls f2, f4, f4
/* 8020E5F4 0020B554 EC 01 00 2A */ fadds f0, f1, f0
/* 8020E5F8 0020B558 D0 81 00 28 */ stfs f4, 0x28(r1)
/* 8020E5FC 0020B55C EC 02 00 2A */ fadds f0, f2, f0
/* 8020E600 0020B560 FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 8020E604 0020B564 40 81 00 5C */ ble lbl_8020E660
/* 8020E608 0020B568 D0 61 00 08 */ stfs f3, 8(r1)
/* 8020E60C 0020B56C 38 61 00 14 */ addi r3, r1, 0x14
/* 8020E610 0020B570 38 81 00 08 */ addi r4, r1, 8
/* 8020E614 0020B574 D0 A1 00 0C */ stfs f5, 0xc(r1)
/* 8020E618 0020B578 D0 81 00 10 */ stfs f4, 0x10(r1)
/* 8020E61C 0020B57C 48 10 62 35 */ bl AsNormalized__9CVector3fCFv
/* 8020E620 0020B580 C0 A2 B2 1C */ lfs f5, lbl_805ACF3C@sda21(r2)
/* 8020E624 0020B584 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8020E628 0020B588 C0 61 00 18 */ lfs f3, 0x18(r1)
/* 8020E62C 0020B58C EC 05 00 32 */ fmuls f0, f5, f0
/* 8020E630 0020B590 C0 3B 00 14 */ lfs f1, 0x14(r27)
/* 8020E634 0020B594 C0 41 00 1C */ lfs f2, 0x1c(r1)
/* 8020E638 0020B598 EC 85 00 F2 */ fmuls f4, f5, f3
/* 8020E63C 0020B59C C0 DB 00 18 */ lfs f6, 0x18(r27)
/* 8020E640 0020B5A0 EC 01 00 2A */ fadds f0, f1, f0
/* 8020E644 0020B5A4 C0 7B 00 1C */ lfs f3, 0x1c(r27)
/* 8020E648 0020B5A8 EC 25 00 B2 */ fmuls f1, f5, f2
/* 8020E64C 0020B5AC EC 46 20 2A */ fadds f2, f6, f4
/* 8020E650 0020B5B0 D0 1B 00 04 */ stfs f0, 4(r27)
/* 8020E654 0020B5B4 EC 03 08 2A */ fadds f0, f3, f1
/* 8020E658 0020B5B8 D0 5B 00 08 */ stfs f2, 8(r27)
/* 8020E65C 0020B5BC D0 1B 00 0C */ stfs f0, 0xc(r27)
lbl_8020E660:
/* 8020E660 0020B5C0 80 9D 00 10 */ lwz r4, 0x10(r29)
/* 8020E664 0020B5C4 38 7F 00 3C */ addi r3, r31, 0x3c
/* 8020E668 0020B5C8 38 DF 00 2C */ addi r6, r31, 0x2c
/* 8020E66C 0020B5CC 38 A0 00 00 */ li r5, 0
/* 8020E670 0020B5D0 7C 04 18 AE */ lbzx r0, r4, r3
/* 8020E674 0020B5D4 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 8020E678 0020B5D8 3B FF 00 40 */ addi r31, r31, 0x40
/* 8020E67C 0020B5DC 3B DE 00 01 */ addi r30, r30, 1
/* 8020E680 0020B5E0 7C 04 19 AE */ stbx r0, r4, r3
/* 8020E684 0020B5E4 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8020E688 0020B5E8 C0 1C 00 00 */ lfs f0, 0(r28)
/* 8020E68C 0020B5EC 7C C0 32 14 */ add r6, r0, r6
/* 8020E690 0020B5F0 D0 06 00 00 */ stfs f0, 0(r6)
/* 8020E694 0020B5F4 C0 1C 00 04 */ lfs f0, 4(r28)
/* 8020E698 0020B5F8 D0 06 00 04 */ stfs f0, 4(r6)
/* 8020E69C 0020B5FC C0 1C 00 08 */ lfs f0, 8(r28)
/* 8020E6A0 0020B600 D0 06 00 08 */ stfs f0, 8(r6)
lbl_8020E6A4:
/* 8020E6A4 0020B604 80 1D 00 08 */ lwz r0, 8(r29)
/* 8020E6A8 0020B608 7C 1E 00 00 */ cmpw r30, r0
/* 8020E6AC 0020B60C 41 80 FE 00 */ blt lbl_8020E4AC
/* 8020E6B0 0020B610 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 8020E6B4 0020B614 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 8020E6B8 0020B618 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 8020E6BC 0020B61C CB C1 00 50 */ lfd f30, 0x50(r1)
/* 8020E6C0 0020B620 BB 61 00 3C */ lmw r27, 0x3c(r1)
/* 8020E6C4 0020B624 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8020E6C8 0020B628 7C 08 03 A6 */ mtlr r0
/* 8020E6CC 0020B62C 38 21 00 70 */ addi r1, r1, 0x70
/* 8020E6D0 0020B630 4E 80 00 20 */ blr
.global Prime__8CRagDollFR13CStateManagerRC12CTransform4fR10CModelData
Prime__8CRagDollFR13CStateManagerRC12CTransform4fR10CModelData:
/* 8020E6D4 0020B634 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8020E6D8 0020B638 7C 08 02 A6 */ mflr r0
/* 8020E6DC 0020B63C 90 01 00 54 */ stw r0, 0x54(r1)
/* 8020E6E0 0020B640 BF 41 00 38 */ stmw r26, 0x38(r1)
/* 8020E6E4 0020B644 7C 7F 1B 78 */ mr r31, r3
/* 8020E6E8 0020B648 7C 9A 23 78 */ mr r26, r4
/* 8020E6EC 0020B64C 7C BB 2B 78 */ mr r27, r5
/* 8020E6F0 0020B650 C0 46 00 00 */ lfs f2, 0(r6)
/* 8020E6F4 0020B654 C0 26 00 04 */ lfs f1, 4(r6)
/* 8020E6F8 0020B658 C0 06 00 08 */ lfs f0, 8(r6)
/* 8020E6FC 0020B65C 83 C6 00 10 */ lwz r30, 0x10(r6)
/* 8020E700 0020B660 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 8020E704 0020B664 7F C3 F3 78 */ mr r3, r30
/* 8020E708 0020B668 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 8020E70C 0020B66C D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8020E710 0020B670 4B E1 E3 51 */ bl BuildPose__9CAnimDataFv
/* 8020E714 0020B674 3B 80 00 00 */ li r28, 0
/* 8020E718 0020B678 3B A0 00 00 */ li r29, 0
/* 8020E71C 0020B67C 48 00 00 90 */ b lbl_8020E7AC
lbl_8020E720:
/* 8020E720 0020B680 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 8020E724 0020B684 7C 03 E8 AE */ lbzx r0, r3, r29
/* 8020E728 0020B688 28 00 00 FF */ cmplwi r0, 0xff
/* 8020E72C 0020B68C 98 01 00 08 */ stb r0, 8(r1)
/* 8020E730 0020B690 41 82 00 74 */ beq lbl_8020E7A4
/* 8020E734 0020B694 38 7E 02 24 */ addi r3, r30, 0x224
/* 8020E738 0020B698 38 81 00 08 */ addi r4, r1, 8
/* 8020E73C 0020B69C 48 15 A8 1D */ bl GetOffset__17CPoseAsTransformsCFRC6CSegId
/* 8020E740 0020B6A0 C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 8020E744 0020B6A4 7F 64 DB 78 */ mr r4, r27
/* 8020E748 0020B6A8 C0 03 00 08 */ lfs f0, 8(r3)
/* 8020E74C 0020B6AC 38 A1 00 0C */ addi r5, r1, 0xc
/* 8020E750 0020B6B0 C0 61 00 28 */ lfs f3, 0x28(r1)
/* 8020E754 0020B6B4 C0 43 00 04 */ lfs f2, 4(r3)
/* 8020E758 0020B6B8 EC 81 00 32 */ fmuls f4, f1, f0
/* 8020E75C 0020B6BC C0 03 00 00 */ lfs f0, 0(r3)
/* 8020E760 0020B6C0 38 61 00 18 */ addi r3, r1, 0x18
/* 8020E764 0020B6C4 C0 21 00 24 */ lfs f1, 0x24(r1)
/* 8020E768 0020B6C8 EC 43 00 B2 */ fmuls f2, f3, f2
/* 8020E76C 0020B6CC D0 81 00 14 */ stfs f4, 0x14(r1)
/* 8020E770 0020B6D0 EC 01 00 32 */ fmuls f0, f1, f0
/* 8020E774 0020B6D4 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 8020E778 0020B6D8 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8020E77C 0020B6DC 48 10 43 6D */ bl __ml__12CTransform4fCFRC9CVector3f
/* 8020E780 0020B6E0 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 8020E784 0020B6E4 38 7D 00 04 */ addi r3, r29, 4
/* 8020E788 0020B6E8 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8020E78C 0020B6EC 7C 60 1A 14 */ add r3, r0, r3
/* 8020E790 0020B6F0 D0 03 00 00 */ stfs f0, 0(r3)
/* 8020E794 0020B6F4 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8020E798 0020B6F8 D0 03 00 04 */ stfs f0, 4(r3)
/* 8020E79C 0020B6FC C0 01 00 20 */ lfs f0, 0x20(r1)
/* 8020E7A0 0020B700 D0 03 00 08 */ stfs f0, 8(r3)
lbl_8020E7A4:
/* 8020E7A4 0020B704 3B BD 00 40 */ addi r29, r29, 0x40
/* 8020E7A8 0020B708 3B 9C 00 01 */ addi r28, r28, 1
lbl_8020E7AC:
/* 8020E7AC 0020B70C 80 1F 00 08 */ lwz r0, 8(r31)
/* 8020E7B0 0020B710 7C 1C 00 00 */ cmpw r28, r0
/* 8020E7B4 0020B714 41 80 FF 6C */ blt lbl_8020E720
/* 8020E7B8 0020B718 7F E3 FB 78 */ mr r3, r31
/* 8020E7BC 0020B71C 7F 44 D3 78 */ mr r4, r26
/* 8020E7C0 0020B720 38 A0 00 02 */ li r5, 2
/* 8020E7C4 0020B724 4B FF F0 09 */ bl SatisfyWorldConstraints__8CRagDollFR13CStateManageri
/* 8020E7C8 0020B728 38 C0 00 00 */ li r6, 0
/* 8020E7CC 0020B72C 38 E0 00 00 */ li r7, 0
/* 8020E7D0 0020B730 7C C5 33 78 */ mr r5, r6
/* 8020E7D4 0020B734 48 00 00 20 */ b lbl_8020E7F4
lbl_8020E7D8:
/* 8020E7D8 0020B738 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 8020E7DC 0020B73C 38 66 00 3C */ addi r3, r6, 0x3c
/* 8020E7E0 0020B740 38 C6 00 40 */ addi r6, r6, 0x40
/* 8020E7E4 0020B744 38 E7 00 01 */ addi r7, r7, 1
/* 8020E7E8 0020B748 7C 04 18 AE */ lbzx r0, r4, r3
/* 8020E7EC 0020B74C 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 8020E7F0 0020B750 7C 04 19 AE */ stbx r0, r4, r3
lbl_8020E7F4:
/* 8020E7F4 0020B754 80 1F 00 08 */ lwz r0, 8(r31)
/* 8020E7F8 0020B758 7C 07 00 00 */ cmpw r7, r0
/* 8020E7FC 0020B75C 41 80 FF DC */ blt lbl_8020E7D8
/* 8020E800 0020B760 88 1F 00 68 */ lbz r0, 0x68(r31)
/* 8020E804 0020B764 38 60 00 01 */ li r3, 1
/* 8020E808 0020B768 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 8020E80C 0020B76C 98 1F 00 68 */ stb r0, 0x68(r31)
/* 8020E810 0020B770 BB 41 00 38 */ lmw r26, 0x38(r1)
/* 8020E814 0020B774 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8020E818 0020B778 7C 08 03 A6 */ mtlr r0
/* 8020E81C 0020B77C 38 21 00 50 */ addi r1, r1, 0x50
/* 8020E820 0020B780 4E 80 00 20 */ blr
.global SatisfyWorldConstraintsOnConstruction__8CRagDollFR13CStateManager
SatisfyWorldConstraintsOnConstruction__8CRagDollFR13CStateManager:
/* 8020E824 0020B784 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8020E828 0020B788 7C 08 02 A6 */ mflr r0
/* 8020E82C 0020B78C 39 00 00 00 */ li r8, 0
/* 8020E830 0020B790 38 E0 00 00 */ li r7, 0
/* 8020E834 0020B794 90 01 00 14 */ stw r0, 0x14(r1)
/* 8020E838 0020B798 38 C0 00 01 */ li r6, 1
/* 8020E83C 0020B79C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8020E840 0020B7A0 7C 7F 1B 78 */ mr r31, r3
/* 8020E844 0020B7A4 48 00 00 20 */ b lbl_8020E864
lbl_8020E848:
/* 8020E848 0020B7A8 80 BF 00 10 */ lwz r5, 0x10(r31)
/* 8020E84C 0020B7AC 38 67 00 3C */ addi r3, r7, 0x3c
/* 8020E850 0020B7B0 38 E7 00 40 */ addi r7, r7, 0x40
/* 8020E854 0020B7B4 39 08 00 01 */ addi r8, r8, 1
/* 8020E858 0020B7B8 7C 05 18 AE */ lbzx r0, r5, r3
/* 8020E85C 0020B7BC 50 C0 3E 30 */ rlwimi r0, r6, 7, 0x18, 0x18
/* 8020E860 0020B7C0 7C 05 19 AE */ stbx r0, r5, r3
lbl_8020E864:
/* 8020E864 0020B7C4 80 1F 00 08 */ lwz r0, 8(r31)
/* 8020E868 0020B7C8 7C 08 00 00 */ cmpw r8, r0
/* 8020E86C 0020B7CC 41 80 FF DC */ blt lbl_8020E848
/* 8020E870 0020B7D0 7F E3 FB 78 */ mr r3, r31
/* 8020E874 0020B7D4 38 A0 00 02 */ li r5, 2
/* 8020E878 0020B7D8 4B FF EF 55 */ bl SatisfyWorldConstraints__8CRagDollFR13CStateManageri
/* 8020E87C 0020B7DC 38 A0 00 00 */ li r5, 0
/* 8020E880 0020B7E0 38 60 00 00 */ li r3, 0
/* 8020E884 0020B7E4 48 00 00 2C */ b lbl_8020E8B0
lbl_8020E888:
/* 8020E888 0020B7E8 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 8020E88C 0020B7EC 38 A5 00 01 */ addi r5, r5, 1
/* 8020E890 0020B7F0 7C 80 1A 14 */ add r4, r0, r3
/* 8020E894 0020B7F4 38 63 00 40 */ addi r3, r3, 0x40
/* 8020E898 0020B7F8 C0 04 00 04 */ lfs f0, 4(r4)
/* 8020E89C 0020B7FC D0 04 00 14 */ stfs f0, 0x14(r4)
/* 8020E8A0 0020B800 C0 04 00 08 */ lfs f0, 8(r4)
/* 8020E8A4 0020B804 D0 04 00 18 */ stfs f0, 0x18(r4)
/* 8020E8A8 0020B808 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 8020E8AC 0020B80C D0 04 00 1C */ stfs f0, 0x1c(r4)
lbl_8020E8B0:
/* 8020E8B0 0020B810 80 1F 00 08 */ lwz r0, 8(r31)
/* 8020E8B4 0020B814 7C 05 00 00 */ cmpw r5, r0
/* 8020E8B8 0020B818 41 80 FF D0 */ blt lbl_8020E888
/* 8020E8BC 0020B81C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8020E8C0 0020B820 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8020E8C4 0020B824 7C 08 03 A6 */ mtlr r0
/* 8020E8C8 0020B828 38 21 00 10 */ addi r1, r1, 0x10
/* 8020E8CC 0020B82C 4E 80 00 20 */ blr
.global __ct__8CRagDollFfffUi
__ct__8CRagDollFfffUi:
/* 8020E8D0 0020B830 3C C0 80 3E */ lis r6, lbl_803E70D0@ha
/* 8020E8D4 0020B834 3C A0 80 5A */ lis r5, sZeroVector__9CVector3f@ha
/* 8020E8D8 0020B838 38 06 70 D0 */ addi r0, r6, lbl_803E70D0@l
/* 8020E8DC 0020B83C 39 00 00 00 */ li r8, 0
/* 8020E8E0 0020B840 90 03 00 00 */ stw r0, 0(r3)
/* 8020E8E4 0020B844 38 E5 66 A0 */ addi r7, r5, sZeroVector__9CVector3f@l
/* 8020E8E8 0020B848 C0 82 B1 C4 */ lfs f4, lbl_805ACEE4@sda21(r2)
/* 8020E8EC 0020B84C 91 03 00 08 */ stw r8, 8(r3)
/* 8020E8F0 0020B850 91 03 00 0C */ stw r8, 0xc(r3)
/* 8020E8F4 0020B854 91 03 00 10 */ stw r8, 0x10(r3)
/* 8020E8F8 0020B858 91 03 00 18 */ stw r8, 0x18(r3)
/* 8020E8FC 0020B85C 91 03 00 1C */ stw r8, 0x1c(r3)
/* 8020E900 0020B860 91 03 00 20 */ stw r8, 0x20(r3)
/* 8020E904 0020B864 91 03 00 28 */ stw r8, 0x28(r3)
/* 8020E908 0020B868 91 03 00 2C */ stw r8, 0x2c(r3)
/* 8020E90C 0020B86C 91 03 00 30 */ stw r8, 0x30(r3)
/* 8020E910 0020B870 91 03 00 38 */ stw r8, 0x38(r3)
/* 8020E914 0020B874 91 03 00 3C */ stw r8, 0x3c(r3)
/* 8020E918 0020B878 91 03 00 40 */ stw r8, 0x40(r3)
/* 8020E91C 0020B87C D0 23 00 44 */ stfs f1, 0x44(r3)
/* 8020E920 0020B880 D0 43 00 48 */ stfs f2, 0x48(r3)
/* 8020E924 0020B884 91 03 00 4C */ stw r8, 0x4c(r3)
/* 8020E928 0020B888 D0 63 00 50 */ stfs f3, 0x50(r3)
/* 8020E92C 0020B88C D0 83 00 54 */ stfs f4, 0x54(r3)
/* 8020E930 0020B890 C0 07 00 00 */ lfs f0, 0(r7)
/* 8020E934 0020B894 D0 03 00 58 */ stfs f0, 0x58(r3)
/* 8020E938 0020B898 C0 07 00 04 */ lfs f0, 4(r7)
/* 8020E93C 0020B89C D0 03 00 5C */ stfs f0, 0x5c(r3)
/* 8020E940 0020B8A0 C0 07 00 08 */ lfs f0, 8(r7)
/* 8020E944 0020B8A4 D0 03 00 60 */ stfs f0, 0x60(r3)
/* 8020E948 0020B8A8 D0 83 00 64 */ stfs f4, 0x64(r3)
/* 8020E94C 0020B8AC 88 03 00 68 */ lbz r0, 0x68(r3)
/* 8020E950 0020B8B0 51 00 3E 30 */ rlwimi r0, r8, 7, 0x18, 0x18
/* 8020E954 0020B8B4 98 03 00 68 */ stb r0, 0x68(r3)
/* 8020E958 0020B8B8 88 03 00 68 */ lbz r0, 0x68(r3)
/* 8020E95C 0020B8BC 51 00 36 72 */ rlwimi r0, r8, 6, 0x19, 0x19
/* 8020E960 0020B8C0 98 03 00 68 */ stb r0, 0x68(r3)
/* 8020E964 0020B8C4 88 03 00 68 */ lbz r0, 0x68(r3)
/* 8020E968 0020B8C8 51 00 2E B4 */ rlwimi r0, r8, 5, 0x1a, 0x1a
/* 8020E96C 0020B8CC 98 03 00 68 */ stb r0, 0x68(r3)
/* 8020E970 0020B8D0 88 03 00 68 */ lbz r0, 0x68(r3)
/* 8020E974 0020B8D4 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b
/* 8020E978 0020B8D8 98 03 00 68 */ stb r0, 0x68(r3)
/* 8020E97C 0020B8DC 88 03 00 68 */ lbz r0, 0x68(r3)
/* 8020E980 0020B8E0 50 80 17 38 */ rlwimi r0, r4, 2, 0x1c, 0x1c
/* 8020E984 0020B8E4 98 03 00 68 */ stb r0, 0x68(r3)
/* 8020E988 0020B8E8 88 03 00 68 */ lbz r0, 0x68(r3)
/* 8020E98C 0020B8EC 50 80 07 7A */ rlwimi r0, r4, 0, 0x1d, 0x1d
/* 8020E990 0020B8F0 98 03 00 68 */ stb r0, 0x68(r3)
/* 8020E994 0020B8F4 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805ACEE0
lbl_805ACEE0:
# ROM: 0x3F9780
.float 1.0
.global lbl_805ACEE4
lbl_805ACEE4:
# ROM: 0x3F9784
.4byte 0
.global lbl_805ACEE8
lbl_805ACEE8:
# ROM: 0x3F9788
.4byte 0x7F7FFFFF
.global lbl_805ACEEC
lbl_805ACEEC:
# ROM: 0x3F978C
.4byte 0xFF7FFFFF
.global lbl_805ACEF0
lbl_805ACEF0:
# ROM: 0x3F9790
.float 0.5
.4byte 0
.global lbl_805ACEF8
lbl_805ACEF8:
# ROM: 0x3F9798
.double 4.503601774854144E15
.global lbl_805ACF00
lbl_805ACF00:
# ROM: 0x3F97A0
.float 1.0E-4
.global lbl_805ACF04
lbl_805ACF04:
# ROM: 0x3F97A4
.4byte 0xBE000000
.global lbl_805ACF08
lbl_805ACF08:
# ROM: 0x3F97A8
.4byte 0x3F1A36E2
.4byte 0xEB1C432D
.global lbl_805ACF10
lbl_805ACF10:
# ROM: 0x3F97B0
.float 4.0
.global lbl_805ACF14
lbl_805ACF14:
# ROM: 0x3F97B4
.float 0.2
.global lbl_805ACF18
lbl_805ACF18:
# ROM: 0x3F97B8
.float 0.1
.global lbl_805ACF1C
lbl_805ACF1C:
# ROM: 0x3F97BC
.4byte 0x3FC90FDB
.global lbl_805ACF20
lbl_805ACF20:
# ROM: 0x3F97C0
.float 1.1920929E-7
.global lbl_805ACF24
lbl_805ACF24:
# ROM: 0x3F97C4
.float 0.75
.global lbl_805ACF28
lbl_805ACF28:
# ROM: 0x3F97C8
.4byte 0x3F99999A
.global lbl_805ACF2C
lbl_805ACF2C:
# ROM: 0x3F97CC
.4byte 0x447A0000
.global lbl_805ACF30
lbl_805ACF30:
# ROM: 0x3F97D0
.4byte 0x45FA0000
.global lbl_805ACF34
lbl_805ACF34:
# ROM: 0x3F97D4
.4byte 0x41C80000
.global lbl_805ACF38
lbl_805ACF38:
# ROM: 0x3F97D8
.float 0.9
.global lbl_805ACF3C
lbl_805ACF3C:
# ROM: 0x3F97DC
.float 2.0