prime/asm/MetroidPrime/PathFinding/CPathFindSearch.s

2591 lines
124 KiB
ArmAsm
Raw Normal View History

2022-04-14 08:02:42 +00:00
.include "macros.inc"
2022-07-14 05:36:41 +00:00
.section .text, "ax"
2022-04-14 08:02:42 +00:00
.global OnPath__15CPathFindSearchCFRC9CVector3f
OnPath__15CPathFindSearchCFRC9CVector3f:
/* 801C6B34 001C3A94 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801C6B38 001C3A98 7C 08 02 A6 */ mflr r0
/* 801C6B3C 001C3A9C 90 01 00 54 */ stw r0, 0x54(r1)
/* 801C6B40 001C3AA0 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 801C6B44 001C3AA4 7C 7F 1B 78 */ mr r31, r3
/* 801C6B48 001C3AA8 80 63 00 00 */ lwz r3, 0(r3)
/* 801C6B4C 001C3AAC 28 03 00 00 */ cmplwi r3, 0
/* 801C6B50 001C3AB0 40 82 00 0C */ bne lbl_801C6B5C
/* 801C6B54 001C3AB4 38 60 00 01 */ li r3, 1
/* 801C6B58 001C3AB8 48 00 01 5C */ b lbl_801C6CB4
lbl_801C6B5C:
/* 801C6B5C 001C3ABC 38 C3 01 88 */ addi r6, r3, 0x188
/* 801C6B60 001C3AC0 C0 24 00 08 */ lfs f1, 8(r4)
/* 801C6B64 001C3AC4 C0 03 01 B4 */ lfs f0, 0x1b4(r3)
/* 801C6B68 001C3AC8 38 61 00 14 */ addi r3, r1, 0x14
/* 801C6B6C 001C3ACC C0 64 00 04 */ lfs f3, 4(r4)
/* 801C6B70 001C3AD0 38 A1 00 08 */ addi r5, r1, 8
/* 801C6B74 001C3AD4 C0 46 00 1C */ lfs f2, 0x1c(r6)
/* 801C6B78 001C3AD8 EC 81 00 28 */ fsubs f4, f1, f0
/* 801C6B7C 001C3ADC C0 24 00 00 */ lfs f1, 0(r4)
/* 801C6B80 001C3AE0 7C C4 33 78 */ mr r4, r6
/* 801C6B84 001C3AE4 C0 06 00 0C */ lfs f0, 0xc(r6)
/* 801C6B88 001C3AE8 EC 43 10 28 */ fsubs f2, f3, f2
/* 801C6B8C 001C3AEC EC 01 00 28 */ fsubs f0, f1, f0
/* 801C6B90 001C3AF0 D0 81 00 10 */ stfs f4, 0x10(r1)
/* 801C6B94 001C3AF4 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 801C6B98 001C3AF8 D0 01 00 08 */ stfs f0, 8(r1)
/* 801C6B9C 001C3AFC 48 14 BE 89 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f
/* 801C6BA0 001C3B00 80 7F 00 DC */ lwz r3, 0xdc(r31)
/* 801C6BA4 001C3B04 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 801C6BA8 001C3B08 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 801C6BAC 001C3B0C 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 801C6BB0 001C3B10 C0 21 00 1C */ lfs f1, 0x1c(r1)
/* 801C6BB4 001C3B14 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 801C6BB8 001C3B18 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 801C6BBC 001C3B1C D0 21 00 28 */ stfs f1, 0x28(r1)
/* 801C6BC0 001C3B20 40 82 00 18 */ bne lbl_801C6BD8
/* 801C6BC4 001C3B24 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 801C6BC8 001C3B28 40 82 00 10 */ bne lbl_801C6BD8
/* 801C6BCC 001C3B2C C0 02 AB 28 */ lfs f0, lbl_805AC848@sda21(r2)
/* 801C6BD0 001C3B30 EC 01 00 2A */ fadds f0, f1, f0
/* 801C6BD4 001C3B34 D0 01 00 28 */ stfs f0, 0x28(r1)
lbl_801C6BD8:
/* 801C6BD8 001C3B38 38 00 00 00 */ li r0, 0
/* 801C6BDC 001C3B3C 80 7F 00 00 */ lwz r3, 0(r31)
/* 801C6BE0 001C3B40 90 01 00 2C */ stw r0, 0x2c(r1)
/* 801C6BE4 001C3B44 38 81 00 2C */ addi r4, r1, 0x2c
/* 801C6BE8 001C3B48 80 DF 00 DC */ lwz r6, 0xdc(r31)
/* 801C6BEC 001C3B4C 38 A1 00 20 */ addi r5, r1, 0x20
/* 801C6BF0 001C3B50 80 FF 00 E0 */ lwz r7, 0xe0(r31)
/* 801C6BF4 001C3B54 48 00 3E 51 */ bl "FindRegions__7CPFAreaFRQ24rstl30reserved_vector<P9CPFRegion,4>RC9CVector3fUiUi"
/* 801C6BF8 001C3B58 2C 03 00 00 */ cmpwi r3, 0
/* 801C6BFC 001C3B5C 40 82 00 60 */ bne lbl_801C6C5C
/* 801C6C00 001C3B60 80 A1 00 2C */ lwz r5, 0x2c(r1)
/* 801C6C04 001C3B64 38 60 00 00 */ li r3, 0
/* 801C6C08 001C3B68 2C 05 00 00 */ cmpwi r5, 0
/* 801C6C0C 001C3B6C 40 81 00 40 */ ble lbl_801C6C4C
/* 801C6C10 001C3B70 2C 05 00 08 */ cmpwi r5, 8
/* 801C6C14 001C3B74 38 85 FF F8 */ addi r4, r5, -8
/* 801C6C18 001C3B78 40 81 00 20 */ ble lbl_801C6C38
/* 801C6C1C 001C3B7C 38 04 00 07 */ addi r0, r4, 7
/* 801C6C20 001C3B80 54 00 E8 FE */ srwi r0, r0, 3
/* 801C6C24 001C3B84 7C 09 03 A6 */ mtctr r0
/* 801C6C28 001C3B88 2C 04 00 00 */ cmpwi r4, 0
/* 801C6C2C 001C3B8C 40 81 00 0C */ ble lbl_801C6C38
lbl_801C6C30:
/* 801C6C30 001C3B90 38 63 00 08 */ addi r3, r3, 8
/* 801C6C34 001C3B94 42 00 FF FC */ bdnz lbl_801C6C30
lbl_801C6C38:
/* 801C6C38 001C3B98 7C 03 28 50 */ subf r0, r3, r5
/* 801C6C3C 001C3B9C 7C 09 03 A6 */ mtctr r0
/* 801C6C40 001C3BA0 7C 03 28 00 */ cmpw r3, r5
/* 801C6C44 001C3BA4 40 80 00 08 */ bge lbl_801C6C4C
lbl_801C6C48:
/* 801C6C48 001C3BA8 42 00 00 00 */ bdnz lbl_801C6C48
lbl_801C6C4C:
/* 801C6C4C 001C3BAC 38 00 00 00 */ li r0, 0
/* 801C6C50 001C3BB0 38 60 00 02 */ li r3, 2
/* 801C6C54 001C3BB4 90 01 00 2C */ stw r0, 0x2c(r1)
/* 801C6C58 001C3BB8 48 00 00 5C */ b lbl_801C6CB4
lbl_801C6C5C:
/* 801C6C5C 001C3BBC 80 A1 00 2C */ lwz r5, 0x2c(r1)
/* 801C6C60 001C3BC0 38 60 00 00 */ li r3, 0
/* 801C6C64 001C3BC4 2C 05 00 00 */ cmpwi r5, 0
/* 801C6C68 001C3BC8 40 81 00 40 */ ble lbl_801C6CA8
/* 801C6C6C 001C3BCC 2C 05 00 08 */ cmpwi r5, 8
/* 801C6C70 001C3BD0 38 85 FF F8 */ addi r4, r5, -8
/* 801C6C74 001C3BD4 40 81 00 20 */ ble lbl_801C6C94
/* 801C6C78 001C3BD8 38 04 00 07 */ addi r0, r4, 7
/* 801C6C7C 001C3BDC 54 00 E8 FE */ srwi r0, r0, 3
/* 801C6C80 001C3BE0 7C 09 03 A6 */ mtctr r0
/* 801C6C84 001C3BE4 2C 04 00 00 */ cmpwi r4, 0
/* 801C6C88 001C3BE8 40 81 00 0C */ ble lbl_801C6C94
lbl_801C6C8C:
/* 801C6C8C 001C3BEC 38 63 00 08 */ addi r3, r3, 8
/* 801C6C90 001C3BF0 42 00 FF FC */ bdnz lbl_801C6C8C
lbl_801C6C94:
/* 801C6C94 001C3BF4 7C 03 28 50 */ subf r0, r3, r5
/* 801C6C98 001C3BF8 7C 09 03 A6 */ mtctr r0
/* 801C6C9C 001C3BFC 7C 03 28 00 */ cmpw r3, r5
/* 801C6CA0 001C3C00 40 80 00 08 */ bge lbl_801C6CA8
lbl_801C6CA4:
/* 801C6CA4 001C3C04 42 00 00 00 */ bdnz lbl_801C6CA4
lbl_801C6CA8:
/* 801C6CA8 001C3C08 38 00 00 00 */ li r0, 0
/* 801C6CAC 001C3C0C 38 60 00 00 */ li r3, 0
/* 801C6CB0 001C3C10 90 01 00 2C */ stw r0, 0x2c(r1)
lbl_801C6CB4:
/* 801C6CB4 001C3C14 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801C6CB8 001C3C18 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 801C6CBC 001C3C1C 7C 08 03 A6 */ mtlr r0
/* 801C6CC0 001C3C20 38 21 00 50 */ addi r1, r1, 0x50
2022-07-14 05:48:03 +00:00
/* 801C6CC4 001C3C24 4E 80 00 20 */ blr
2022-04-14 08:02:42 +00:00
.global PathExists__15CPathFindSearchCFRC9CVector3fRC9CVector3f
PathExists__15CPathFindSearchCFRC9CVector3fRC9CVector3f:
/* 801C6CC8 001C3C28 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 801C6CCC 001C3C2C 7C 08 02 A6 */ mflr r0
/* 801C6CD0 001C3C30 90 01 00 94 */ stw r0, 0x94(r1)
/* 801C6CD4 001C3C34 BF 41 00 78 */ stmw r26, 0x78(r1)
/* 801C6CD8 001C3C38 7C 7F 1B 78 */ mr r31, r3
/* 801C6CDC 001C3C3C 7C BA 2B 78 */ mr r26, r5
/* 801C6CE0 001C3C40 80 63 00 00 */ lwz r3, 0(r3)
/* 801C6CE4 001C3C44 28 03 00 00 */ cmplwi r3, 0
/* 801C6CE8 001C3C48 40 82 00 0C */ bne lbl_801C6CF4
/* 801C6CEC 001C3C4C 38 60 00 01 */ li r3, 1
/* 801C6CF0 001C3C50 48 00 03 F8 */ b lbl_801C70E8
lbl_801C6CF4:
/* 801C6CF4 001C3C54 38 C3 01 88 */ addi r6, r3, 0x188
/* 801C6CF8 001C3C58 C0 24 00 08 */ lfs f1, 8(r4)
/* 801C6CFC 001C3C5C C0 03 01 B4 */ lfs f0, 0x1b4(r3)
/* 801C6D00 001C3C60 38 61 00 2C */ addi r3, r1, 0x2c
/* 801C6D04 001C3C64 C0 64 00 04 */ lfs f3, 4(r4)
/* 801C6D08 001C3C68 38 A1 00 14 */ addi r5, r1, 0x14
/* 801C6D0C 001C3C6C C0 46 00 1C */ lfs f2, 0x1c(r6)
/* 801C6D10 001C3C70 EC 81 00 28 */ fsubs f4, f1, f0
/* 801C6D14 001C3C74 C0 24 00 00 */ lfs f1, 0(r4)
/* 801C6D18 001C3C78 7C C4 33 78 */ mr r4, r6
/* 801C6D1C 001C3C7C C0 06 00 0C */ lfs f0, 0xc(r6)
/* 801C6D20 001C3C80 EC 43 10 28 */ fsubs f2, f3, f2
/* 801C6D24 001C3C84 EC 01 00 28 */ fsubs f0, f1, f0
/* 801C6D28 001C3C88 D0 81 00 1C */ stfs f4, 0x1c(r1)
/* 801C6D2C 001C3C8C D0 41 00 18 */ stfs f2, 0x18(r1)
/* 801C6D30 001C3C90 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 801C6D34 001C3C94 48 14 BC F1 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f
/* 801C6D38 001C3C98 C0 41 00 2C */ lfs f2, 0x2c(r1)
/* 801C6D3C 001C3C9C 38 61 00 20 */ addi r3, r1, 0x20
/* 801C6D40 001C3CA0 C0 21 00 30 */ lfs f1, 0x30(r1)
/* 801C6D44 001C3CA4 38 A1 00 08 */ addi r5, r1, 8
/* 801C6D48 001C3CA8 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 801C6D4C 001C3CAC 80 9F 00 00 */ lwz r4, 0(r31)
/* 801C6D50 001C3CB0 D0 21 00 48 */ stfs f1, 0x48(r1)
/* 801C6D54 001C3CB4 38 84 01 88 */ addi r4, r4, 0x188
/* 801C6D58 001C3CB8 C0 BA 00 08 */ lfs f5, 8(r26)
/* 801C6D5C 001C3CBC D0 41 00 44 */ stfs f2, 0x44(r1)
/* 801C6D60 001C3CC0 C0 7A 00 04 */ lfs f3, 4(r26)
/* 801C6D64 001C3CC4 D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 801C6D68 001C3CC8 C0 3A 00 00 */ lfs f1, 0(r26)
/* 801C6D6C 001C3CCC C0 84 00 2C */ lfs f4, 0x2c(r4)
/* 801C6D70 001C3CD0 C0 44 00 1C */ lfs f2, 0x1c(r4)
/* 801C6D74 001C3CD4 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 801C6D78 001C3CD8 EC 85 20 28 */ fsubs f4, f5, f4
/* 801C6D7C 001C3CDC EC 43 10 28 */ fsubs f2, f3, f2
/* 801C6D80 001C3CE0 EC 01 00 28 */ fsubs f0, f1, f0
/* 801C6D84 001C3CE4 D0 81 00 10 */ stfs f4, 0x10(r1)
/* 801C6D88 001C3CE8 D0 01 00 08 */ stfs f0, 8(r1)
/* 801C6D8C 001C3CEC D0 41 00 0C */ stfs f2, 0xc(r1)
/* 801C6D90 001C3CF0 48 14 BC 95 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f
/* 801C6D94 001C3CF4 80 7F 00 DC */ lwz r3, 0xdc(r31)
/* 801C6D98 001C3CF8 C0 41 00 20 */ lfs f2, 0x20(r1)
/* 801C6D9C 001C3CFC C0 21 00 24 */ lfs f1, 0x24(r1)
/* 801C6DA0 001C3D00 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 801C6DA4 001C3D04 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 801C6DA8 001C3D08 D0 41 00 38 */ stfs f2, 0x38(r1)
/* 801C6DAC 001C3D0C D0 21 00 3C */ stfs f1, 0x3c(r1)
/* 801C6DB0 001C3D10 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 801C6DB4 001C3D14 40 82 00 24 */ bne lbl_801C6DD8
/* 801C6DB8 001C3D18 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 801C6DBC 001C3D1C 40 82 00 1C */ bne lbl_801C6DD8
/* 801C6DC0 001C3D20 C0 22 AB 28 */ lfs f1, lbl_805AC848@sda21(r2)
/* 801C6DC4 001C3D24 C0 41 00 4C */ lfs f2, 0x4c(r1)
/* 801C6DC8 001C3D28 EC 00 08 2A */ fadds f0, f0, f1
/* 801C6DCC 001C3D2C EC 22 08 2A */ fadds f1, f2, f1
/* 801C6DD0 001C3D30 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 801C6DD4 001C3D34 D0 21 00 4C */ stfs f1, 0x4c(r1)
lbl_801C6DD8:
/* 801C6DD8 001C3D38 38 00 00 00 */ li r0, 0
/* 801C6DDC 001C3D3C 80 7F 00 00 */ lwz r3, 0(r31)
/* 801C6DE0 001C3D40 90 01 00 64 */ stw r0, 0x64(r1)
/* 801C6DE4 001C3D44 38 81 00 64 */ addi r4, r1, 0x64
/* 801C6DE8 001C3D48 80 DF 00 DC */ lwz r6, 0xdc(r31)
/* 801C6DEC 001C3D4C 38 A1 00 44 */ addi r5, r1, 0x44
/* 801C6DF0 001C3D50 80 FF 00 E0 */ lwz r7, 0xe0(r31)
/* 801C6DF4 001C3D54 48 00 3C 51 */ bl "FindRegions__7CPFAreaFRQ24rstl30reserved_vector<P9CPFRegion,4>RC9CVector3fUiUi"
/* 801C6DF8 001C3D58 2C 03 00 00 */ cmpwi r3, 0
/* 801C6DFC 001C3D5C 40 82 00 60 */ bne lbl_801C6E5C
/* 801C6E00 001C3D60 80 A1 00 64 */ lwz r5, 0x64(r1)
/* 801C6E04 001C3D64 38 60 00 00 */ li r3, 0
/* 801C6E08 001C3D68 2C 05 00 00 */ cmpwi r5, 0
/* 801C6E0C 001C3D6C 40 81 00 40 */ ble lbl_801C6E4C
/* 801C6E10 001C3D70 2C 05 00 08 */ cmpwi r5, 8
/* 801C6E14 001C3D74 38 85 FF F8 */ addi r4, r5, -8
/* 801C6E18 001C3D78 40 81 00 20 */ ble lbl_801C6E38
/* 801C6E1C 001C3D7C 38 04 00 07 */ addi r0, r4, 7
/* 801C6E20 001C3D80 54 00 E8 FE */ srwi r0, r0, 3
/* 801C6E24 001C3D84 7C 09 03 A6 */ mtctr r0
/* 801C6E28 001C3D88 2C 04 00 00 */ cmpwi r4, 0
/* 801C6E2C 001C3D8C 40 81 00 0C */ ble lbl_801C6E38
lbl_801C6E30:
/* 801C6E30 001C3D90 38 63 00 08 */ addi r3, r3, 8
/* 801C6E34 001C3D94 42 00 FF FC */ bdnz lbl_801C6E30
lbl_801C6E38:
/* 801C6E38 001C3D98 7C 03 28 50 */ subf r0, r3, r5
/* 801C6E3C 001C3D9C 7C 09 03 A6 */ mtctr r0
/* 801C6E40 001C3DA0 7C 03 28 00 */ cmpw r3, r5
/* 801C6E44 001C3DA4 40 80 00 08 */ bge lbl_801C6E4C
lbl_801C6E48:
/* 801C6E48 001C3DA8 42 00 00 00 */ bdnz lbl_801C6E48
lbl_801C6E4C:
/* 801C6E4C 001C3DAC 38 00 00 00 */ li r0, 0
/* 801C6E50 001C3DB0 38 60 00 02 */ li r3, 2
/* 801C6E54 001C3DB4 90 01 00 64 */ stw r0, 0x64(r1)
/* 801C6E58 001C3DB8 48 00 02 90 */ b lbl_801C70E8
lbl_801C6E5C:
/* 801C6E5C 001C3DBC 38 00 00 00 */ li r0, 0
/* 801C6E60 001C3DC0 80 7F 00 00 */ lwz r3, 0(r31)
/* 801C6E64 001C3DC4 90 01 00 50 */ stw r0, 0x50(r1)
/* 801C6E68 001C3DC8 38 81 00 50 */ addi r4, r1, 0x50
/* 801C6E6C 001C3DCC 80 DF 00 DC */ lwz r6, 0xdc(r31)
/* 801C6E70 001C3DD0 38 A1 00 38 */ addi r5, r1, 0x38
/* 801C6E74 001C3DD4 80 FF 00 E0 */ lwz r7, 0xe0(r31)
/* 801C6E78 001C3DD8 48 00 3B CD */ bl "FindRegions__7CPFAreaFRQ24rstl30reserved_vector<P9CPFRegion,4>RC9CVector3fUiUi"
/* 801C6E7C 001C3DDC 2C 03 00 00 */ cmpwi r3, 0
/* 801C6E80 001C3DE0 40 82 00 B0 */ bne lbl_801C6F30
/* 801C6E84 001C3DE4 80 A1 00 50 */ lwz r5, 0x50(r1)
/* 801C6E88 001C3DE8 38 60 00 00 */ li r3, 0
/* 801C6E8C 001C3DEC 2C 05 00 00 */ cmpwi r5, 0
/* 801C6E90 001C3DF0 40 81 00 40 */ ble lbl_801C6ED0
/* 801C6E94 001C3DF4 2C 05 00 08 */ cmpwi r5, 8
/* 801C6E98 001C3DF8 38 85 FF F8 */ addi r4, r5, -8
/* 801C6E9C 001C3DFC 40 81 00 20 */ ble lbl_801C6EBC
/* 801C6EA0 001C3E00 38 04 00 07 */ addi r0, r4, 7
/* 801C6EA4 001C3E04 54 00 E8 FE */ srwi r0, r0, 3
/* 801C6EA8 001C3E08 7C 09 03 A6 */ mtctr r0
/* 801C6EAC 001C3E0C 2C 04 00 00 */ cmpwi r4, 0
/* 801C6EB0 001C3E10 40 81 00 0C */ ble lbl_801C6EBC
lbl_801C6EB4:
/* 801C6EB4 001C3E14 38 63 00 08 */ addi r3, r3, 8
/* 801C6EB8 001C3E18 42 00 FF FC */ bdnz lbl_801C6EB4
lbl_801C6EBC:
/* 801C6EBC 001C3E1C 7C 03 28 50 */ subf r0, r3, r5
/* 801C6EC0 001C3E20 7C 09 03 A6 */ mtctr r0
/* 801C6EC4 001C3E24 7C 03 28 00 */ cmpw r3, r5
/* 801C6EC8 001C3E28 40 80 00 08 */ bge lbl_801C6ED0
lbl_801C6ECC:
/* 801C6ECC 001C3E2C 42 00 00 00 */ bdnz lbl_801C6ECC
lbl_801C6ED0:
/* 801C6ED0 001C3E30 80 A1 00 64 */ lwz r5, 0x64(r1)
/* 801C6ED4 001C3E34 38 60 00 00 */ li r3, 0
/* 801C6ED8 001C3E38 90 61 00 50 */ stw r3, 0x50(r1)
/* 801C6EDC 001C3E3C 2C 05 00 00 */ cmpwi r5, 0
/* 801C6EE0 001C3E40 40 81 00 40 */ ble lbl_801C6F20
/* 801C6EE4 001C3E44 2C 05 00 08 */ cmpwi r5, 8
/* 801C6EE8 001C3E48 38 85 FF F8 */ addi r4, r5, -8
/* 801C6EEC 001C3E4C 40 81 00 20 */ ble lbl_801C6F0C
/* 801C6EF0 001C3E50 38 04 00 07 */ addi r0, r4, 7
/* 801C6EF4 001C3E54 54 00 E8 FE */ srwi r0, r0, 3
/* 801C6EF8 001C3E58 7C 09 03 A6 */ mtctr r0
/* 801C6EFC 001C3E5C 2C 04 00 00 */ cmpwi r4, 0
/* 801C6F00 001C3E60 40 81 00 0C */ ble lbl_801C6F0C
lbl_801C6F04:
/* 801C6F04 001C3E64 38 63 00 08 */ addi r3, r3, 8
/* 801C6F08 001C3E68 42 00 FF FC */ bdnz lbl_801C6F04
lbl_801C6F0C:
/* 801C6F0C 001C3E6C 7C 03 28 50 */ subf r0, r3, r5
/* 801C6F10 001C3E70 7C 09 03 A6 */ mtctr r0
/* 801C6F14 001C3E74 7C 03 28 00 */ cmpw r3, r5
/* 801C6F18 001C3E78 40 80 00 08 */ bge lbl_801C6F20
lbl_801C6F1C:
/* 801C6F1C 001C3E7C 42 00 00 00 */ bdnz lbl_801C6F1C
lbl_801C6F20:
/* 801C6F20 001C3E80 38 00 00 00 */ li r0, 0
/* 801C6F24 001C3E84 38 60 00 03 */ li r3, 3
/* 801C6F28 001C3E88 90 01 00 64 */ stw r0, 0x64(r1)
/* 801C6F2C 001C3E8C 48 00 01 BC */ b lbl_801C70E8
lbl_801C6F30:
/* 801C6F30 001C3E90 3B A1 00 68 */ addi r29, r1, 0x68
/* 801C6F34 001C3E94 3B 81 00 54 */ addi r28, r1, 0x54
/* 801C6F38 001C3E98 3B 60 00 00 */ li r27, 0
/* 801C6F3C 001C3E9C 48 00 00 FC */ b lbl_801C7038
lbl_801C6F40:
/* 801C6F40 001C3EA0 7F 9E E3 78 */ mr r30, r28
/* 801C6F44 001C3EA4 3B 40 00 00 */ li r26, 0
/* 801C6F48 001C3EA8 48 00 00 DC */ b lbl_801C7024
lbl_801C6F4C:
/* 801C6F4C 001C3EAC 80 9D 00 00 */ lwz r4, 0(r29)
/* 801C6F50 001C3EB0 80 BE 00 00 */ lwz r5, 0(r30)
/* 801C6F54 001C3EB4 7C 04 28 40 */ cmplw r4, r5
/* 801C6F58 001C3EB8 41 82 00 18 */ beq lbl_801C6F70
/* 801C6F5C 001C3EBC 80 7F 00 00 */ lwz r3, 0(r31)
/* 801C6F60 001C3EC0 80 DF 00 DC */ lwz r6, 0xdc(r31)
/* 801C6F64 001C3EC4 48 00 35 C9 */ bl PathExists__7CPFAreaCFPC9CPFRegionPC9CPFRegionUi
/* 801C6F68 001C3EC8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801C6F6C 001C3ECC 41 82 00 B0 */ beq lbl_801C701C
lbl_801C6F70:
/* 801C6F70 001C3ED0 80 A1 00 50 */ lwz r5, 0x50(r1)
/* 801C6F74 001C3ED4 38 60 00 00 */ li r3, 0
/* 801C6F78 001C3ED8 2C 05 00 00 */ cmpwi r5, 0
/* 801C6F7C 001C3EDC 40 81 00 40 */ ble lbl_801C6FBC
/* 801C6F80 001C3EE0 2C 05 00 08 */ cmpwi r5, 8
/* 801C6F84 001C3EE4 38 85 FF F8 */ addi r4, r5, -8
/* 801C6F88 001C3EE8 40 81 00 20 */ ble lbl_801C6FA8
/* 801C6F8C 001C3EEC 38 04 00 07 */ addi r0, r4, 7
/* 801C6F90 001C3EF0 54 00 E8 FE */ srwi r0, r0, 3
/* 801C6F94 001C3EF4 7C 09 03 A6 */ mtctr r0
/* 801C6F98 001C3EF8 2C 04 00 00 */ cmpwi r4, 0
/* 801C6F9C 001C3EFC 40 81 00 0C */ ble lbl_801C6FA8
lbl_801C6FA0:
/* 801C6FA0 001C3F00 38 63 00 08 */ addi r3, r3, 8
/* 801C6FA4 001C3F04 42 00 FF FC */ bdnz lbl_801C6FA0
lbl_801C6FA8:
/* 801C6FA8 001C3F08 7C 03 28 50 */ subf r0, r3, r5
/* 801C6FAC 001C3F0C 7C 09 03 A6 */ mtctr r0
/* 801C6FB0 001C3F10 7C 03 28 00 */ cmpw r3, r5
/* 801C6FB4 001C3F14 40 80 00 08 */ bge lbl_801C6FBC
lbl_801C6FB8:
/* 801C6FB8 001C3F18 42 00 00 00 */ bdnz lbl_801C6FB8
lbl_801C6FBC:
/* 801C6FBC 001C3F1C 80 A1 00 64 */ lwz r5, 0x64(r1)
/* 801C6FC0 001C3F20 38 60 00 00 */ li r3, 0
/* 801C6FC4 001C3F24 90 61 00 50 */ stw r3, 0x50(r1)
/* 801C6FC8 001C3F28 2C 05 00 00 */ cmpwi r5, 0
/* 801C6FCC 001C3F2C 40 81 00 40 */ ble lbl_801C700C
/* 801C6FD0 001C3F30 2C 05 00 08 */ cmpwi r5, 8
/* 801C6FD4 001C3F34 38 85 FF F8 */ addi r4, r5, -8
/* 801C6FD8 001C3F38 40 81 00 20 */ ble lbl_801C6FF8
/* 801C6FDC 001C3F3C 38 04 00 07 */ addi r0, r4, 7
/* 801C6FE0 001C3F40 54 00 E8 FE */ srwi r0, r0, 3
/* 801C6FE4 001C3F44 7C 09 03 A6 */ mtctr r0
/* 801C6FE8 001C3F48 2C 04 00 00 */ cmpwi r4, 0
/* 801C6FEC 001C3F4C 40 81 00 0C */ ble lbl_801C6FF8
lbl_801C6FF0:
/* 801C6FF0 001C3F50 38 63 00 08 */ addi r3, r3, 8
/* 801C6FF4 001C3F54 42 00 FF FC */ bdnz lbl_801C6FF0
lbl_801C6FF8:
/* 801C6FF8 001C3F58 7C 03 28 50 */ subf r0, r3, r5
/* 801C6FFC 001C3F5C 7C 09 03 A6 */ mtctr r0
/* 801C7000 001C3F60 7C 03 28 00 */ cmpw r3, r5
/* 801C7004 001C3F64 40 80 00 08 */ bge lbl_801C700C
lbl_801C7008:
/* 801C7008 001C3F68 42 00 00 00 */ bdnz lbl_801C7008
lbl_801C700C:
/* 801C700C 001C3F6C 38 00 00 00 */ li r0, 0
/* 801C7010 001C3F70 38 60 00 00 */ li r3, 0
/* 801C7014 001C3F74 90 01 00 64 */ stw r0, 0x64(r1)
/* 801C7018 001C3F78 48 00 00 D0 */ b lbl_801C70E8
lbl_801C701C:
/* 801C701C 001C3F7C 3B DE 00 04 */ addi r30, r30, 4
/* 801C7020 001C3F80 3B 5A 00 01 */ addi r26, r26, 1
lbl_801C7024:
/* 801C7024 001C3F84 80 01 00 50 */ lwz r0, 0x50(r1)
/* 801C7028 001C3F88 7C 1A 00 00 */ cmpw r26, r0
/* 801C702C 001C3F8C 41 80 FF 20 */ blt lbl_801C6F4C
/* 801C7030 001C3F90 3B BD 00 04 */ addi r29, r29, 4
/* 801C7034 001C3F94 3B 7B 00 01 */ addi r27, r27, 1
lbl_801C7038:
/* 801C7038 001C3F98 80 C1 00 64 */ lwz r6, 0x64(r1)
/* 801C703C 001C3F9C 7C 1B 30 00 */ cmpw r27, r6
/* 801C7040 001C3FA0 41 80 FF 00 */ blt lbl_801C6F40
/* 801C7044 001C3FA4 80 A1 00 50 */ lwz r5, 0x50(r1)
/* 801C7048 001C3FA8 38 60 00 00 */ li r3, 0
/* 801C704C 001C3FAC 2C 05 00 00 */ cmpwi r5, 0
/* 801C7050 001C3FB0 40 81 00 40 */ ble lbl_801C7090
/* 801C7054 001C3FB4 2C 05 00 08 */ cmpwi r5, 8
/* 801C7058 001C3FB8 38 85 FF F8 */ addi r4, r5, -8
/* 801C705C 001C3FBC 40 81 00 20 */ ble lbl_801C707C
/* 801C7060 001C3FC0 38 04 00 07 */ addi r0, r4, 7
/* 801C7064 001C3FC4 54 00 E8 FE */ srwi r0, r0, 3
/* 801C7068 001C3FC8 7C 09 03 A6 */ mtctr r0
/* 801C706C 001C3FCC 2C 04 00 00 */ cmpwi r4, 0
/* 801C7070 001C3FD0 40 81 00 0C */ ble lbl_801C707C
lbl_801C7074:
/* 801C7074 001C3FD4 38 63 00 08 */ addi r3, r3, 8
/* 801C7078 001C3FD8 42 00 FF FC */ bdnz lbl_801C7074
lbl_801C707C:
/* 801C707C 001C3FDC 7C 03 28 50 */ subf r0, r3, r5
/* 801C7080 001C3FE0 7C 09 03 A6 */ mtctr r0
/* 801C7084 001C3FE4 7C 03 28 00 */ cmpw r3, r5
/* 801C7088 001C3FE8 40 80 00 08 */ bge lbl_801C7090
lbl_801C708C:
/* 801C708C 001C3FEC 42 00 00 00 */ bdnz lbl_801C708C
lbl_801C7090:
/* 801C7090 001C3FF0 38 60 00 00 */ li r3, 0
/* 801C7094 001C3FF4 2C 06 00 00 */ cmpwi r6, 0
/* 801C7098 001C3FF8 90 61 00 50 */ stw r3, 0x50(r1)
/* 801C709C 001C3FFC 40 81 00 40 */ ble lbl_801C70DC
/* 801C70A0 001C4000 2C 06 00 08 */ cmpwi r6, 8
/* 801C70A4 001C4004 38 86 FF F8 */ addi r4, r6, -8
/* 801C70A8 001C4008 40 81 00 20 */ ble lbl_801C70C8
/* 801C70AC 001C400C 38 04 00 07 */ addi r0, r4, 7
/* 801C70B0 001C4010 54 00 E8 FE */ srwi r0, r0, 3
/* 801C70B4 001C4014 7C 09 03 A6 */ mtctr r0
/* 801C70B8 001C4018 2C 04 00 00 */ cmpwi r4, 0
/* 801C70BC 001C401C 40 81 00 0C */ ble lbl_801C70C8
lbl_801C70C0:
/* 801C70C0 001C4020 38 63 00 08 */ addi r3, r3, 8
/* 801C70C4 001C4024 42 00 FF FC */ bdnz lbl_801C70C0
lbl_801C70C8:
/* 801C70C8 001C4028 7C 03 30 50 */ subf r0, r3, r6
/* 801C70CC 001C402C 7C 09 03 A6 */ mtctr r0
/* 801C70D0 001C4030 7C 03 30 00 */ cmpw r3, r6
/* 801C70D4 001C4034 40 80 00 08 */ bge lbl_801C70DC
lbl_801C70D8:
/* 801C70D8 001C4038 42 00 00 00 */ bdnz lbl_801C70D8
lbl_801C70DC:
/* 801C70DC 001C403C 38 00 00 00 */ li r0, 0
/* 801C70E0 001C4040 38 60 00 04 */ li r3, 4
/* 801C70E4 001C4044 90 01 00 64 */ stw r0, 0x64(r1)
lbl_801C70E8:
/* 801C70E8 001C4048 BB 41 00 78 */ lmw r26, 0x78(r1)
/* 801C70EC 001C404C 80 01 00 94 */ lwz r0, 0x94(r1)
/* 801C70F0 001C4050 7C 08 03 A6 */ mtlr r0
/* 801C70F4 001C4054 38 21 00 90 */ addi r1, r1, 0x90
2022-07-14 05:48:03 +00:00
/* 801C70F8 001C4058 4E 80 00 20 */ blr
2022-04-14 08:02:42 +00:00
.global FindClosestReachablePoint__15CPathFindSearchCFRC9CVector3fR9CVector3f
FindClosestReachablePoint__15CPathFindSearchCFRC9CVector3fR9CVector3f:
/* 801C70FC 001C405C 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 801C7100 001C4060 7C 08 02 A6 */ mflr r0
/* 801C7104 001C4064 90 01 00 94 */ stw r0, 0x94(r1)
/* 801C7108 001C4068 93 E1 00 8C */ stw r31, 0x8c(r1)
/* 801C710C 001C406C 7C BF 2B 78 */ mr r31, r5
/* 801C7110 001C4070 93 C1 00 88 */ stw r30, 0x88(r1)
/* 801C7114 001C4074 7C 7E 1B 78 */ mr r30, r3
/* 801C7118 001C4078 80 63 00 00 */ lwz r3, 0(r3)
/* 801C711C 001C407C 28 03 00 00 */ cmplwi r3, 0
/* 801C7120 001C4080 40 82 00 0C */ bne lbl_801C712C
/* 801C7124 001C4084 38 60 00 01 */ li r3, 1
/* 801C7128 001C4088 48 00 02 74 */ b lbl_801C739C
lbl_801C712C:
/* 801C712C 001C408C 38 C3 01 88 */ addi r6, r3, 0x188
/* 801C7130 001C4090 C0 24 00 08 */ lfs f1, 8(r4)
/* 801C7134 001C4094 C0 03 01 B4 */ lfs f0, 0x1b4(r3)
/* 801C7138 001C4098 38 61 00 44 */ addi r3, r1, 0x44
/* 801C713C 001C409C C0 64 00 04 */ lfs f3, 4(r4)
/* 801C7140 001C40A0 38 A1 00 14 */ addi r5, r1, 0x14
/* 801C7144 001C40A4 C0 46 00 1C */ lfs f2, 0x1c(r6)
/* 801C7148 001C40A8 EC 81 00 28 */ fsubs f4, f1, f0
/* 801C714C 001C40AC C0 24 00 00 */ lfs f1, 0(r4)
/* 801C7150 001C40B0 7C C4 33 78 */ mr r4, r6
/* 801C7154 001C40B4 C0 06 00 0C */ lfs f0, 0xc(r6)
/* 801C7158 001C40B8 EC 43 10 28 */ fsubs f2, f3, f2
/* 801C715C 001C40BC EC 01 00 28 */ fsubs f0, f1, f0
/* 801C7160 001C40C0 D0 81 00 1C */ stfs f4, 0x1c(r1)
/* 801C7164 001C40C4 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 801C7168 001C40C8 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 801C716C 001C40CC 48 14 B8 B9 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f
/* 801C7170 001C40D0 C0 41 00 44 */ lfs f2, 0x44(r1)
/* 801C7174 001C40D4 38 61 00 38 */ addi r3, r1, 0x38
/* 801C7178 001C40D8 C0 21 00 48 */ lfs f1, 0x48(r1)
/* 801C717C 001C40DC 38 A1 00 08 */ addi r5, r1, 8
/* 801C7180 001C40E0 C0 01 00 4C */ lfs f0, 0x4c(r1)
/* 801C7184 001C40E4 80 9E 00 00 */ lwz r4, 0(r30)
/* 801C7188 001C40E8 D0 41 00 68 */ stfs f2, 0x68(r1)
/* 801C718C 001C40EC 38 84 01 88 */ addi r4, r4, 0x188
/* 801C7190 001C40F0 D0 21 00 6C */ stfs f1, 0x6c(r1)
/* 801C7194 001C40F4 D0 01 00 70 */ stfs f0, 0x70(r1)
/* 801C7198 001C40F8 C0 3F 00 08 */ lfs f1, 8(r31)
/* 801C719C 001C40FC C0 04 00 2C */ lfs f0, 0x2c(r4)
/* 801C71A0 001C4100 C0 7F 00 04 */ lfs f3, 4(r31)
/* 801C71A4 001C4104 EC 81 00 28 */ fsubs f4, f1, f0
/* 801C71A8 001C4108 C0 44 00 1C */ lfs f2, 0x1c(r4)
/* 801C71AC 001C410C C0 3F 00 00 */ lfs f1, 0(r31)
/* 801C71B0 001C4110 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 801C71B4 001C4114 EC 43 10 28 */ fsubs f2, f3, f2
/* 801C71B8 001C4118 EC 01 00 28 */ fsubs f0, f1, f0
/* 801C71BC 001C411C D0 81 00 10 */ stfs f4, 0x10(r1)
/* 801C71C0 001C4120 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 801C71C4 001C4124 D0 01 00 08 */ stfs f0, 8(r1)
/* 801C71C8 001C4128 48 14 B8 5D */ bl TransposeRotate__12CTransform4fCFRC9CVector3f
/* 801C71CC 001C412C 80 7E 00 DC */ lwz r3, 0xdc(r30)
/* 801C71D0 001C4130 C0 41 00 38 */ lfs f2, 0x38(r1)
/* 801C71D4 001C4134 C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 801C71D8 001C4138 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 801C71DC 001C413C C0 01 00 40 */ lfs f0, 0x40(r1)
/* 801C71E0 001C4140 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 801C71E4 001C4144 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 801C71E8 001C4148 D0 01 00 64 */ stfs f0, 0x64(r1)
/* 801C71EC 001C414C 40 82 00 24 */ bne lbl_801C7210
/* 801C71F0 001C4150 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 801C71F4 001C4154 40 82 00 1C */ bne lbl_801C7210
/* 801C71F8 001C4158 C0 22 AB 28 */ lfs f1, lbl_805AC848@sda21(r2)
/* 801C71FC 001C415C C0 41 00 70 */ lfs f2, 0x70(r1)
/* 801C7200 001C4160 EC 00 08 2A */ fadds f0, f0, f1
/* 801C7204 001C4164 EC 22 08 2A */ fadds f1, f2, f1
/* 801C7208 001C4168 D0 01 00 64 */ stfs f0, 0x64(r1)
/* 801C720C 001C416C D0 21 00 70 */ stfs f1, 0x70(r1)
lbl_801C7210:
/* 801C7210 001C4170 38 00 00 00 */ li r0, 0
/* 801C7214 001C4174 80 7E 00 00 */ lwz r3, 0(r30)
/* 801C7218 001C4178 90 01 00 74 */ stw r0, 0x74(r1)
/* 801C721C 001C417C 38 81 00 74 */ addi r4, r1, 0x74
/* 801C7220 001C4180 80 DE 00 DC */ lwz r6, 0xdc(r30)
/* 801C7224 001C4184 38 A1 00 68 */ addi r5, r1, 0x68
/* 801C7228 001C4188 80 FE 00 E0 */ lwz r7, 0xe0(r30)
/* 801C722C 001C418C 48 00 38 19 */ bl "FindRegions__7CPFAreaFRQ24rstl30reserved_vector<P9CPFRegion,4>RC9CVector3fUiUi"
/* 801C7230 001C4190 2C 03 00 00 */ cmpwi r3, 0
/* 801C7234 001C4194 40 82 00 A4 */ bne lbl_801C72D8
/* 801C7238 001C4198 80 7E 00 00 */ lwz r3, 0(r30)
/* 801C723C 001C419C 38 81 00 68 */ addi r4, r1, 0x68
/* 801C7240 001C41A0 80 BE 00 DC */ lwz r5, 0xdc(r30)
/* 801C7244 001C41A4 80 DE 00 E0 */ lwz r6, 0xe0(r30)
/* 801C7248 001C41A8 C0 3E 00 D8 */ lfs f1, 0xd8(r30)
/* 801C724C 001C41AC 48 00 35 51 */ bl FindClosestRegion__7CPFAreaFRC9CVector3fUif
/* 801C7250 001C41B0 28 03 00 00 */ cmplwi r3, 0
/* 801C7254 001C41B4 40 82 00 60 */ bne lbl_801C72B4
/* 801C7258 001C41B8 80 A1 00 74 */ lwz r5, 0x74(r1)
/* 801C725C 001C41BC 38 60 00 00 */ li r3, 0
/* 801C7260 001C41C0 2C 05 00 00 */ cmpwi r5, 0
/* 801C7264 001C41C4 40 81 00 40 */ ble lbl_801C72A4
/* 801C7268 001C41C8 2C 05 00 08 */ cmpwi r5, 8
/* 801C726C 001C41CC 38 85 FF F8 */ addi r4, r5, -8
/* 801C7270 001C41D0 40 81 00 20 */ ble lbl_801C7290
/* 801C7274 001C41D4 38 04 00 07 */ addi r0, r4, 7
/* 801C7278 001C41D8 54 00 E8 FE */ srwi r0, r0, 3
/* 801C727C 001C41DC 7C 09 03 A6 */ mtctr r0
/* 801C7280 001C41E0 2C 04 00 00 */ cmpwi r4, 0
/* 801C7284 001C41E4 40 81 00 0C */ ble lbl_801C7290
lbl_801C7288:
/* 801C7288 001C41E8 38 63 00 08 */ addi r3, r3, 8
/* 801C728C 001C41EC 42 00 FF FC */ bdnz lbl_801C7288
lbl_801C7290:
/* 801C7290 001C41F0 7C 03 28 50 */ subf r0, r3, r5
/* 801C7294 001C41F4 7C 09 03 A6 */ mtctr r0
/* 801C7298 001C41F8 7C 03 28 00 */ cmpw r3, r5
/* 801C729C 001C41FC 40 80 00 08 */ bge lbl_801C72A4
lbl_801C72A0:
/* 801C72A0 001C4200 42 00 00 00 */ bdnz lbl_801C72A0
lbl_801C72A4:
/* 801C72A4 001C4204 38 00 00 00 */ li r0, 0
/* 801C72A8 001C4208 38 60 00 02 */ li r3, 2
/* 801C72AC 001C420C 90 01 00 74 */ stw r0, 0x74(r1)
/* 801C72B0 001C4210 48 00 00 EC */ b lbl_801C739C
lbl_801C72B4:
/* 801C72B4 001C4214 80 01 00 74 */ lwz r0, 0x74(r1)
/* 801C72B8 001C4218 38 81 00 78 */ addi r4, r1, 0x78
/* 801C72BC 001C421C 54 00 10 3A */ slwi r0, r0, 2
/* 801C72C0 001C4220 7C 84 02 15 */ add. r4, r4, r0
/* 801C72C4 001C4224 41 82 00 08 */ beq lbl_801C72CC
/* 801C72C8 001C4228 90 64 00 00 */ stw r3, 0(r4)
lbl_801C72CC:
/* 801C72CC 001C422C 80 61 00 74 */ lwz r3, 0x74(r1)
/* 801C72D0 001C4230 38 03 00 01 */ addi r0, r3, 1
/* 801C72D4 001C4234 90 01 00 74 */ stw r0, 0x74(r1)
lbl_801C72D8:
/* 801C72D8 001C4238 80 9E 00 00 */ lwz r4, 0(r30)
/* 801C72DC 001C423C 38 61 00 2C */ addi r3, r1, 0x2c
/* 801C72E0 001C4240 80 FE 00 DC */ lwz r7, 0xdc(r30)
/* 801C72E4 001C4244 38 A1 00 74 */ addi r5, r1, 0x74
/* 801C72E8 001C4248 81 1E 00 E0 */ lwz r8, 0xe0(r30)
/* 801C72EC 001C424C 38 C1 00 5C */ addi r6, r1, 0x5c
/* 801C72F0 001C4250 48 00 32 F5 */ bl "FindClosestReachablePoint__7CPFAreaFRQ24rstl30reserved_vector<P9CPFRegion,4>RC9CVector3fUi"
/* 801C72F4 001C4254 C0 21 00 34 */ lfs f1, 0x34(r1)
/* 801C72F8 001C4258 38 61 00 20 */ addi r3, r1, 0x20
/* 801C72FC 001C425C C0 02 AB 28 */ lfs f0, lbl_805AC848@sda21(r2)
/* 801C7300 001C4260 38 A1 00 50 */ addi r5, r1, 0x50
/* 801C7304 001C4264 C0 61 00 2C */ lfs f3, 0x2c(r1)
/* 801C7308 001C4268 C0 41 00 30 */ lfs f2, 0x30(r1)
/* 801C730C 001C426C EC 01 00 2A */ fadds f0, f1, f0
/* 801C7310 001C4270 D0 21 00 58 */ stfs f1, 0x58(r1)
/* 801C7314 001C4274 80 9E 00 00 */ lwz r4, 0(r30)
/* 801C7318 001C4278 D0 61 00 50 */ stfs f3, 0x50(r1)
/* 801C731C 001C427C 38 84 01 88 */ addi r4, r4, 0x188
/* 801C7320 001C4280 D0 41 00 54 */ stfs f2, 0x54(r1)
/* 801C7324 001C4284 D0 01 00 58 */ stfs f0, 0x58(r1)
/* 801C7328 001C4288 48 14 B7 C1 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 801C732C 001C428C C0 01 00 20 */ lfs f0, 0x20(r1)
/* 801C7330 001C4290 38 60 00 00 */ li r3, 0
/* 801C7334 001C4294 D0 1F 00 00 */ stfs f0, 0(r31)
/* 801C7338 001C4298 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 801C733C 001C429C D0 1F 00 04 */ stfs f0, 4(r31)
/* 801C7340 001C42A0 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 801C7344 001C42A4 D0 1F 00 08 */ stfs f0, 8(r31)
/* 801C7348 001C42A8 80 A1 00 74 */ lwz r5, 0x74(r1)
/* 801C734C 001C42AC 2C 05 00 00 */ cmpwi r5, 0
/* 801C7350 001C42B0 40 81 00 40 */ ble lbl_801C7390
/* 801C7354 001C42B4 2C 05 00 08 */ cmpwi r5, 8
/* 801C7358 001C42B8 38 85 FF F8 */ addi r4, r5, -8
/* 801C735C 001C42BC 40 81 00 20 */ ble lbl_801C737C
/* 801C7360 001C42C0 38 04 00 07 */ addi r0, r4, 7
/* 801C7364 001C42C4 54 00 E8 FE */ srwi r0, r0, 3
/* 801C7368 001C42C8 7C 09 03 A6 */ mtctr r0
/* 801C736C 001C42CC 2C 04 00 00 */ cmpwi r4, 0
/* 801C7370 001C42D0 40 81 00 0C */ ble lbl_801C737C
lbl_801C7374:
/* 801C7374 001C42D4 38 63 00 08 */ addi r3, r3, 8
/* 801C7378 001C42D8 42 00 FF FC */ bdnz lbl_801C7374
lbl_801C737C:
/* 801C737C 001C42DC 7C 03 28 50 */ subf r0, r3, r5
/* 801C7380 001C42E0 7C 09 03 A6 */ mtctr r0
/* 801C7384 001C42E4 7C 03 28 00 */ cmpw r3, r5
/* 801C7388 001C42E8 40 80 00 08 */ bge lbl_801C7390
lbl_801C738C:
/* 801C738C 001C42EC 42 00 00 00 */ bdnz lbl_801C738C
lbl_801C7390:
/* 801C7390 001C42F0 38 00 00 00 */ li r0, 0
/* 801C7394 001C42F4 38 60 00 00 */ li r3, 0
/* 801C7398 001C42F8 90 01 00 74 */ stw r0, 0x74(r1)
lbl_801C739C:
/* 801C739C 001C42FC 80 01 00 94 */ lwz r0, 0x94(r1)
/* 801C73A0 001C4300 83 E1 00 8C */ lwz r31, 0x8c(r1)
/* 801C73A4 001C4304 83 C1 00 88 */ lwz r30, 0x88(r1)
/* 801C73A8 001C4308 7C 08 03 A6 */ mtlr r0
/* 801C73AC 001C430C 38 21 00 90 */ addi r1, r1, 0x90
2022-07-14 05:48:03 +00:00
/* 801C73B0 001C4310 4E 80 00 20 */ blr
2022-04-14 08:02:42 +00:00
.global "Search__15CPathFindSearchFRQ24rstl30reserved_vector<P9CPFRegion,4>RC9CVector3fRQ24rstl30reserved_vector<P9CPFRegion,4>RC9CVector3f"
"Search__15CPathFindSearchFRQ24rstl30reserved_vector<P9CPFRegion,4>RC9CVector3fRQ24rstl30reserved_vector<P9CPFRegion,4>RC9CVector3f":
/* 801C73B4 001C4314 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 801C73B8 001C4318 7C 08 02 A6 */ mflr r0
/* 801C73BC 001C431C 39 00 00 00 */ li r8, 0
/* 801C73C0 001C4320 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 801C73C4 001C4324 BE E1 00 9C */ stmw r23, 0x9c(r1)
/* 801C73C8 001C4328 7C DD 33 78 */ mr r29, r6
/* 801C73CC 001C432C 7C 7B 1B 78 */ mr r27, r3
/* 801C73D0 001C4330 7C 9C 23 78 */ mr r28, r4
/* 801C73D4 001C4334 3B 1D 00 04 */ addi r24, r29, 4
/* 801C73D8 001C4338 7C B7 2B 78 */ mr r23, r5
/* 801C73DC 001C433C 91 01 00 60 */ stw r8, 0x60(r1)
/* 801C73E0 001C4340 7C FE 3B 78 */ mr r30, r7
/* 801C73E4 001C4344 7F 05 C3 78 */ mr r5, r24
/* 801C73E8 001C4348 3B E1 00 64 */ addi r31, r1, 0x64
/* 801C73EC 001C434C 38 C0 00 00 */ li r6, 0
/* 801C73F0 001C4350 80 63 00 00 */ lwz r3, 0(r3)
/* 801C73F4 001C4354 91 03 00 38 */ stw r8, 0x38(r3)
/* 801C73F8 001C4358 3B 23 00 78 */ addi r25, r3, 0x78
/* 801C73FC 001C435C 3B 43 00 38 */ addi r26, r3, 0x38
/* 801C7400 001C4360 91 03 00 3C */ stw r8, 0x3c(r3)
/* 801C7404 001C4364 38 19 00 40 */ addi r0, r25, 0x40
/* 801C7408 001C4368 91 03 00 40 */ stw r8, 0x40(r3)
/* 801C740C 001C436C 91 03 00 44 */ stw r8, 0x44(r3)
/* 801C7410 001C4370 91 03 00 48 */ stw r8, 0x48(r3)
/* 801C7414 001C4374 91 03 00 4C */ stw r8, 0x4c(r3)
/* 801C7418 001C4378 91 03 00 50 */ stw r8, 0x50(r3)
/* 801C741C 001C437C 91 03 00 54 */ stw r8, 0x54(r3)
/* 801C7420 001C4380 91 03 00 58 */ stw r8, 0x58(r3)
/* 801C7424 001C4384 91 03 00 5C */ stw r8, 0x5c(r3)
/* 801C7428 001C4388 91 03 00 60 */ stw r8, 0x60(r3)
/* 801C742C 001C438C 91 03 00 64 */ stw r8, 0x64(r3)
/* 801C7430 001C4390 91 03 00 68 */ stw r8, 0x68(r3)
/* 801C7434 001C4394 91 03 00 6C */ stw r8, 0x6c(r3)
/* 801C7438 001C4398 91 03 00 70 */ stw r8, 0x70(r3)
/* 801C743C 001C439C 91 03 00 74 */ stw r8, 0x74(r3)
/* 801C7440 001C43A0 80 63 01 04 */ lwz r3, 0x104(r3)
/* 801C7444 001C43A4 90 03 00 28 */ stw r0, 0x28(r3)
/* 801C7448 001C43A8 80 79 00 8C */ lwz r3, 0x8c(r25)
/* 801C744C 001C43AC 90 03 00 24 */ stw r0, 0x24(r3)
/* 801C7450 001C43B0 91 19 00 00 */ stw r8, 0(r25)
/* 801C7454 001C43B4 91 19 00 04 */ stw r8, 4(r25)
/* 801C7458 001C43B8 91 19 00 08 */ stw r8, 8(r25)
/* 801C745C 001C43BC 91 19 00 0C */ stw r8, 0xc(r25)
/* 801C7460 001C43C0 91 19 00 10 */ stw r8, 0x10(r25)
/* 801C7464 001C43C4 91 19 00 14 */ stw r8, 0x14(r25)
/* 801C7468 001C43C8 91 19 00 18 */ stw r8, 0x18(r25)
/* 801C746C 001C43CC 91 19 00 1C */ stw r8, 0x1c(r25)
/* 801C7470 001C43D0 91 19 00 20 */ stw r8, 0x20(r25)
/* 801C7474 001C43D4 91 19 00 24 */ stw r8, 0x24(r25)
/* 801C7478 001C43D8 91 19 00 28 */ stw r8, 0x28(r25)
/* 801C747C 001C43DC 91 19 00 2C */ stw r8, 0x2c(r25)
/* 801C7480 001C43E0 91 19 00 30 */ stw r8, 0x30(r25)
/* 801C7484 001C43E4 91 19 00 34 */ stw r8, 0x34(r25)
/* 801C7488 001C43E8 91 19 00 38 */ stw r8, 0x38(r25)
/* 801C748C 001C43EC 91 19 00 3C */ stw r8, 0x3c(r25)
/* 801C7490 001C43F0 48 00 00 60 */ b lbl_801C74F0
lbl_801C7494:
/* 801C7494 001C43F4 80 01 00 60 */ lwz r0, 0x60(r1)
/* 801C7498 001C43F8 80 65 00 00 */ lwz r3, 0(r5)
/* 801C749C 001C43FC 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C74A0 001C4400 7C 9F 02 15 */ add. r4, r31, r0
/* 801C74A4 001C4404 41 82 00 1C */ beq lbl_801C74C0
/* 801C74A8 001C4408 C0 03 00 28 */ lfs f0, 0x28(r3)
/* 801C74AC 001C440C C0 23 00 2C */ lfs f1, 0x2c(r3)
/* 801C74B0 001C4410 D0 04 00 00 */ stfs f0, 0(r4)
/* 801C74B4 001C4414 C0 03 00 30 */ lfs f0, 0x30(r3)
/* 801C74B8 001C4418 D0 24 00 04 */ stfs f1, 4(r4)
/* 801C74BC 001C441C D0 04 00 08 */ stfs f0, 8(r4)
lbl_801C74C0:
/* 801C74C0 001C4420 80 85 00 00 */ lwz r4, 0(r5)
/* 801C74C4 001C4424 38 A5 00 04 */ addi r5, r5, 4
/* 801C74C8 001C4428 C0 1E 00 00 */ lfs f0, 0(r30)
/* 801C74CC 001C442C 38 C6 00 01 */ addi r6, r6, 1
/* 801C74D0 001C4430 80 61 00 60 */ lwz r3, 0x60(r1)
/* 801C74D4 001C4434 D0 04 00 28 */ stfs f0, 0x28(r4)
/* 801C74D8 001C4438 38 03 00 01 */ addi r0, r3, 1
/* 801C74DC 001C443C C0 1E 00 04 */ lfs f0, 4(r30)
/* 801C74E0 001C4440 90 01 00 60 */ stw r0, 0x60(r1)
/* 801C74E4 001C4444 D0 04 00 2C */ stfs f0, 0x2c(r4)
/* 801C74E8 001C4448 C0 1E 00 08 */ lfs f0, 8(r30)
/* 801C74EC 001C444C D0 04 00 30 */ stfs f0, 0x30(r4)
lbl_801C74F0:
/* 801C74F0 001C4450 80 1D 00 00 */ lwz r0, 0(r29)
/* 801C74F4 001C4454 7C 06 00 00 */ cmpw r6, r0
/* 801C74F8 001C4458 41 80 FF 9C */ blt lbl_801C7494
/* 801C74FC 001C445C C0 3E 00 04 */ lfs f1, 4(r30)
/* 801C7500 001C4460 38 00 00 00 */ li r0, 0
/* 801C7504 001C4464 C0 17 00 04 */ lfs f0, 4(r23)
/* 801C7508 001C4468 38 61 00 20 */ addi r3, r1, 0x20
/* 801C750C 001C446C C0 7E 00 08 */ lfs f3, 8(r30)
/* 801C7510 001C4470 C0 57 00 08 */ lfs f2, 8(r23)
/* 801C7514 001C4474 EC 81 00 28 */ fsubs f4, f1, f0
/* 801C7518 001C4478 C0 3E 00 00 */ lfs f1, 0(r30)
/* 801C751C 001C447C C0 17 00 00 */ lfs f0, 0(r23)
/* 801C7520 001C4480 EC 43 10 28 */ fsubs f2, f3, f2
/* 801C7524 001C4484 90 01 00 2C */ stw r0, 0x2c(r1)
/* 801C7528 001C4488 EC 01 00 28 */ fsubs f0, f1, f0
/* 801C752C 001C448C D0 81 00 24 */ stfs f4, 0x24(r1)
/* 801C7530 001C4490 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 801C7534 001C4494 D0 41 00 28 */ stfs f2, 0x28(r1)
/* 801C7538 001C4498 48 14 D3 81 */ bl Magnitude__9CVector3fCFv
/* 801C753C 001C449C 38 FC 00 04 */ addi r7, r28, 4
/* 801C7540 001C44A0 C0 62 AB 2C */ lfs f3, lbl_805AC84C@sda21(r2)
/* 801C7544 001C44A4 7C E3 3B 78 */ mr r3, r7
/* 801C7548 001C44A8 38 C1 00 30 */ addi r6, r1, 0x30
/* 801C754C 001C44AC 39 59 00 40 */ addi r10, r25, 0x40
/* 801C7550 001C44B0 38 80 00 00 */ li r4, 0
/* 801C7554 001C44B4 48 00 01 08 */ b lbl_801C765C
lbl_801C7558:
/* 801C7558 001C44B8 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 801C755C 001C44BC 80 A3 00 00 */ lwz r5, 0(r3)
/* 801C7560 001C44C0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C7564 001C44C4 7D 06 02 15 */ add. r8, r6, r0
/* 801C7568 001C44C8 41 82 00 1C */ beq lbl_801C7584
/* 801C756C 001C44CC C0 05 00 28 */ lfs f0, 0x28(r5)
/* 801C7570 001C44D0 C0 45 00 2C */ lfs f2, 0x2c(r5)
/* 801C7574 001C44D4 D0 08 00 00 */ stfs f0, 0(r8)
/* 801C7578 001C44D8 C0 05 00 30 */ lfs f0, 0x30(r5)
/* 801C757C 001C44DC D0 48 00 04 */ stfs f2, 4(r8)
/* 801C7580 001C44E0 D0 08 00 08 */ stfs f0, 8(r8)
lbl_801C7584:
/* 801C7584 001C44E4 C0 17 00 00 */ lfs f0, 0(r23)
/* 801C7588 001C44E8 38 00 00 00 */ li r0, 0
/* 801C758C 001C44EC 81 21 00 2C */ lwz r9, 0x2c(r1)
/* 801C7590 001C44F0 39 00 00 01 */ li r8, 1
/* 801C7594 001C44F4 D0 05 00 28 */ stfs f0, 0x28(r5)
/* 801C7598 001C44F8 39 29 00 01 */ addi r9, r9, 1
/* 801C759C 001C44FC C0 17 00 04 */ lfs f0, 4(r23)
/* 801C75A0 001C4500 91 21 00 2C */ stw r9, 0x2c(r1)
/* 801C75A4 001C4504 D0 05 00 2C */ stfs f0, 0x2c(r5)
/* 801C75A8 001C4508 C0 17 00 08 */ lfs f0, 8(r23)
/* 801C75AC 001C450C D0 05 00 30 */ stfs f0, 0x30(r5)
/* 801C75B0 001C4510 81 25 00 4C */ lwz r9, 0x4c(r5)
/* 801C75B4 001C4514 90 09 00 20 */ stw r0, 0x20(r9)
/* 801C75B8 001C4518 D0 69 00 18 */ stfs f3, 0x18(r9)
/* 801C75BC 001C451C D0 29 00 1C */ stfs f1, 0x1c(r9)
/* 801C75C0 001C4520 C0 49 00 18 */ lfs f2, 0x18(r9)
/* 801C75C4 001C4524 C0 09 00 1C */ lfs f0, 0x1c(r9)
/* 801C75C8 001C4528 EC 02 00 2A */ fadds f0, f2, f0
/* 801C75CC 001C452C D0 09 00 14 */ stfs f0, 0x14(r9)
/* 801C75D0 001C4530 80 05 00 24 */ lwz r0, 0x24(r5)
/* 801C75D4 001C4534 7C 09 2E 70 */ srawi r9, r0, 5
/* 801C75D8 001C4538 54 00 06 FE */ clrlwi r0, r0, 0x1b
/* 801C75DC 001C453C 7D 29 01 94 */ addze r9, r9
/* 801C75E0 001C4540 55 29 10 3A */ slwi r9, r9, 2
/* 801C75E4 001C4544 7D 00 00 30 */ slw r0, r8, r0
/* 801C75E8 001C4548 7D 19 48 2E */ lwzx r8, r25, r9
/* 801C75EC 001C454C 7D 00 03 78 */ or r0, r8, r0
/* 801C75F0 001C4550 7C 19 49 2E */ stwx r0, r25, r9
/* 801C75F4 001C4554 81 19 00 8C */ lwz r8, 0x8c(r25)
/* 801C75F8 001C4558 81 68 00 28 */ lwz r11, 0x28(r8)
/* 801C75FC 001C455C 48 00 00 08 */ b lbl_801C7604
lbl_801C7600:
/* 801C7600 001C4560 81 69 00 28 */ lwz r11, 0x28(r9)
lbl_801C7604:
/* 801C7604 001C4564 7C 0B 50 40 */ cmplw r11, r10
/* 801C7608 001C4568 41 82 00 1C */ beq lbl_801C7624
/* 801C760C 001C456C 81 2B 00 4C */ lwz r9, 0x4c(r11)
/* 801C7610 001C4570 81 05 00 4C */ lwz r8, 0x4c(r5)
/* 801C7614 001C4574 C0 09 00 14 */ lfs f0, 0x14(r9)
/* 801C7618 001C4578 C0 48 00 14 */ lfs f2, 0x14(r8)
/* 801C761C 001C457C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 801C7620 001C4580 41 81 FF E0 */ bgt lbl_801C7600
lbl_801C7624:
/* 801C7624 001C4584 81 0B 00 4C */ lwz r8, 0x4c(r11)
/* 801C7628 001C4588 38 63 00 04 */ addi r3, r3, 4
/* 801C762C 001C458C 38 84 00 01 */ addi r4, r4, 1
/* 801C7630 001C4590 81 08 00 24 */ lwz r8, 0x24(r8)
/* 801C7634 001C4594 81 08 00 4C */ lwz r8, 0x4c(r8)
/* 801C7638 001C4598 90 A8 00 28 */ stw r5, 0x28(r8)
/* 801C763C 001C459C 81 2B 00 4C */ lwz r9, 0x4c(r11)
/* 801C7640 001C45A0 81 05 00 4C */ lwz r8, 0x4c(r5)
/* 801C7644 001C45A4 80 09 00 24 */ lwz r0, 0x24(r9)
/* 801C7648 001C45A8 90 08 00 24 */ stw r0, 0x24(r8)
/* 801C764C 001C45AC 81 0B 00 4C */ lwz r8, 0x4c(r11)
/* 801C7650 001C45B0 90 A8 00 24 */ stw r5, 0x24(r8)
/* 801C7654 001C45B4 80 A5 00 4C */ lwz r5, 0x4c(r5)
/* 801C7658 001C45B8 91 65 00 28 */ stw r11, 0x28(r5)
lbl_801C765C:
/* 801C765C 001C45BC 80 1C 00 00 */ lwz r0, 0(r28)
/* 801C7660 001C45C0 7C 04 00 00 */ cmpw r4, r0
/* 801C7664 001C45C4 41 80 FE F4 */ blt lbl_801C7558
/* 801C7668 001C45C8 38 19 00 40 */ addi r0, r25, 0x40
/* 801C766C 001C45CC 48 00 03 30 */ b lbl_801C799C
lbl_801C7670:
/* 801C7670 001C45D0 80 7D 00 00 */ lwz r3, 0(r29)
/* 801C7674 001C45D4 7F 05 C3 78 */ mr r5, r24
/* 801C7678 001C45D8 7C 69 03 A6 */ mtctr r3
/* 801C767C 001C45DC 2C 03 00 00 */ cmpwi r3, 0
/* 801C7680 001C45E0 40 81 00 18 */ ble lbl_801C7698
lbl_801C7684:
/* 801C7684 001C45E4 80 65 00 00 */ lwz r3, 0(r5)
/* 801C7688 001C45E8 7C 04 18 40 */ cmplw r4, r3
/* 801C768C 001C45EC 41 82 03 98 */ beq lbl_801C7A24
/* 801C7690 001C45F0 38 A5 00 04 */ addi r5, r5, 4
/* 801C7694 001C45F4 42 00 FF F0 */ bdnz lbl_801C7684
lbl_801C7698:
/* 801C7698 001C45F8 80 64 00 24 */ lwz r3, 0x24(r4)
/* 801C769C 001C45FC 39 00 00 00 */ li r8, 0
/* 801C76A0 001C4600 38 A0 00 01 */ li r5, 1
/* 801C76A4 001C4604 7C 64 2E 70 */ srawi r4, r3, 5
/* 801C76A8 001C4608 54 63 06 FE */ clrlwi r3, r3, 0x1b
/* 801C76AC 001C460C 7D 44 01 94 */ addze r10, r4
/* 801C76B0 001C4610 7D 04 43 78 */ mr r4, r8
/* 801C76B4 001C4614 55 4A 10 3A */ slwi r10, r10, 2
/* 801C76B8 001C4618 7C A3 18 30 */ slw r3, r5, r3
/* 801C76BC 001C461C 7C BA 50 2E */ lwzx r5, r26, r10
/* 801C76C0 001C4620 7C A3 1B 78 */ or r3, r5, r3
/* 801C76C4 001C4624 7C 7A 51 2E */ stwx r3, r26, r10
/* 801C76C8 001C4628 48 00 02 C8 */ b lbl_801C7990
lbl_801C76CC:
/* 801C76CC 001C462C 80 A9 00 0C */ lwz r5, 0xc(r9)
/* 801C76D0 001C4630 38 64 00 04 */ addi r3, r4, 4
/* 801C76D4 001C4634 81 7B 00 00 */ lwz r11, 0(r27)
/* 801C76D8 001C4638 7C A5 18 2E */ lwzx r5, r5, r3
/* 801C76DC 001C463C 80 69 00 4C */ lwz r3, 0x4c(r9)
/* 801C76E0 001C4640 1D 45 00 50 */ mulli r10, r5, 0x50
/* 801C76E4 001C4644 81 6B 01 54 */ lwz r11, 0x154(r11)
/* 801C76E8 001C4648 80 A3 00 20 */ lwz r5, 0x20(r3)
/* 801C76EC 001C464C 7C 6B 52 14 */ add r3, r11, r10
/* 801C76F0 001C4650 7C 03 28 40 */ cmplw r3, r5
/* 801C76F4 001C4654 41 82 02 94 */ beq lbl_801C7988
/* 801C76F8 001C4658 81 63 00 10 */ lwz r11, 0x10(r3)
/* 801C76FC 001C465C 81 5B 00 DC */ lwz r10, 0xdc(r27)
/* 801C7700 001C4660 55 65 06 3E */ clrlwi r5, r11, 0x18
/* 801C7704 001C4664 7D 45 28 39 */ and. r5, r10, r5
/* 801C7708 001C4668 41 82 02 80 */ beq lbl_801C7988
/* 801C770C 001C466C 81 5B 00 E0 */ lwz r10, 0xe0(r27)
/* 801C7710 001C4670 55 65 86 3E */ rlwinm r5, r11, 0x10, 0x18, 0x1f
/* 801C7714 001C4674 7D 45 28 39 */ and. r5, r10, r5
/* 801C7718 001C4678 41 82 02 70 */ beq lbl_801C7988
/* 801C771C 001C467C C0 43 00 2C */ lfs f2, 0x2c(r3)
/* 801C7720 001C4680 C0 09 00 2C */ lfs f0, 0x2c(r9)
/* 801C7724 001C4684 C0 23 00 28 */ lfs f1, 0x28(r3)
/* 801C7728 001C4688 EC 82 00 28 */ fsubs f4, f2, f0
/* 801C772C 001C468C C0 09 00 28 */ lfs f0, 0x28(r9)
/* 801C7730 001C4690 C0 63 00 30 */ lfs f3, 0x30(r3)
/* 801C7734 001C4694 EC 41 00 28 */ fsubs f2, f1, f0
/* 801C7738 001C4698 C0 29 00 30 */ lfs f1, 0x30(r9)
/* 801C773C 001C469C EC 04 01 32 */ fmuls f0, f4, f4
/* 801C7740 001C46A0 EC 63 08 28 */ fsubs f3, f3, f1
/* 801C7744 001C46A4 C0 A2 AB 2C */ lfs f5, lbl_805AC84C@sda21(r2)
/* 801C7748 001C46A8 EC 22 00 B2 */ fmuls f1, f2, f2
/* 801C774C 001C46AC D0 41 00 14 */ stfs f2, 0x14(r1)
/* 801C7750 001C46B0 EC 43 00 F2 */ fmuls f2, f3, f3
/* 801C7754 001C46B4 EC 01 00 2A */ fadds f0, f1, f0
/* 801C7758 001C46B8 D0 81 00 18 */ stfs f4, 0x18(r1)
/* 801C775C 001C46BC D0 61 00 1C */ stfs f3, 0x1c(r1)
/* 801C7760 001C46C0 EC 22 00 2A */ fadds f1, f2, f0
/* 801C7764 001C46C4 FC 05 08 00 */ fcmpu cr0, f5, f1
/* 801C7768 001C46C8 40 82 00 08 */ bne lbl_801C7770
/* 801C776C 001C46CC 48 00 00 10 */ b lbl_801C777C
lbl_801C7770:
/* 801C7770 001C46D0 FC 00 08 34 */ frsqrte f0, f1
/* 801C7774 001C46D4 FC A1 00 32 */ fmul f5, f1, f0
/* 801C7778 001C46D8 FC A0 28 18 */ frsp f5, f5
lbl_801C777C:
/* 801C777C 001C46DC 80 A3 00 24 */ lwz r5, 0x24(r3)
/* 801C7780 001C46E0 39 80 00 01 */ li r12, 1
/* 801C7784 001C46E4 82 E9 00 4C */ lwz r23, 0x4c(r9)
/* 801C7788 001C46E8 7C AA 2E 70 */ srawi r10, r5, 5
/* 801C778C 001C46EC 54 AB 06 FE */ clrlwi r11, r5, 0x1b
/* 801C7790 001C46F0 7D 4A 01 94 */ addze r10, r10
/* 801C7794 001C46F4 C0 17 00 18 */ lfs f0, 0x18(r23)
/* 801C7798 001C46F8 55 4A 10 3A */ slwi r10, r10, 2
/* 801C779C 001C46FC 7D 8B 58 30 */ slw r11, r12, r11
/* 801C77A0 001C4700 7D 5A 50 2E */ lwzx r10, r26, r10
/* 801C77A4 001C4704 EC C0 28 2A */ fadds f6, f0, f5
/* 801C77A8 001C4708 7D 6A 50 39 */ and. r10, r11, r10
/* 801C77AC 001C470C 40 82 00 1C */ bne lbl_801C77C8
/* 801C77B0 001C4710 7C AA 2E 70 */ srawi r10, r5, 5
/* 801C77B4 001C4714 7D 4A 01 94 */ addze r10, r10
/* 801C77B8 001C4718 55 4A 10 3A */ slwi r10, r10, 2
/* 801C77BC 001C471C 7D 59 50 2E */ lwzx r10, r25, r10
/* 801C77C0 001C4720 7D 6A 50 39 */ and. r10, r11, r10
/* 801C77C4 001C4724 41 82 00 18 */ beq lbl_801C77DC
lbl_801C77C8:
/* 801C77C8 001C4728 81 43 00 4C */ lwz r10, 0x4c(r3)
/* 801C77CC 001C472C C0 0A 00 18 */ lfs f0, 0x18(r10)
/* 801C77D0 001C4730 FC 00 30 40 */ fcmpo cr0, f0, f6
/* 801C77D4 001C4734 4C 40 13 82 */ cror 2, 0, 2
/* 801C77D8 001C4738 41 82 01 B0 */ beq lbl_801C7988
lbl_801C77DC:
/* 801C77DC 001C473C 7C AA 2E 70 */ srawi r10, r5, 5
/* 801C77E0 001C4740 54 AB 06 FE */ clrlwi r11, r5, 0x1b
/* 801C77E4 001C4744 7C AA 01 94 */ addze r5, r10
/* 801C77E8 001C4748 54 A5 10 3A */ slwi r5, r5, 2
/* 801C77EC 001C474C 39 40 00 01 */ li r10, 1
/* 801C77F0 001C4750 7D 99 28 2E */ lwzx r12, r25, r5
/* 801C77F4 001C4754 7D 57 58 30 */ slw r23, r10, r11
/* 801C77F8 001C4758 7E EB 60 38 */ and r11, r23, r12
/* 801C77FC 001C475C 7D 4B 00 D0 */ neg r10, r11
/* 801C7800 001C4760 7D 4A 5B 78 */ or r10, r10, r11
/* 801C7804 001C4764 55 4A 0F FF */ rlwinm. r10, r10, 1, 0x1f, 0x1f
/* 801C7808 001C4768 41 82 00 68 */ beq lbl_801C7870
/* 801C780C 001C476C 7D 8B B8 78 */ andc r11, r12, r23
/* 801C7810 001C4770 39 40 00 00 */ li r10, 0
/* 801C7814 001C4774 7D 79 29 2E */ stwx r11, r25, r5
/* 801C7818 001C4778 81 63 00 4C */ lwz r11, 0x4c(r3)
/* 801C781C 001C477C 80 AB 00 28 */ lwz r5, 0x28(r11)
/* 801C7820 001C4780 81 6B 00 24 */ lwz r11, 0x24(r11)
/* 801C7824 001C4784 80 A5 00 4C */ lwz r5, 0x4c(r5)
/* 801C7828 001C4788 91 65 00 24 */ stw r11, 0x24(r5)
/* 801C782C 001C478C 81 63 00 4C */ lwz r11, 0x4c(r3)
/* 801C7830 001C4790 80 AB 00 24 */ lwz r5, 0x24(r11)
/* 801C7834 001C4794 81 6B 00 28 */ lwz r11, 0x28(r11)
/* 801C7838 001C4798 80 A5 00 4C */ lwz r5, 0x4c(r5)
/* 801C783C 001C479C 91 65 00 28 */ stw r11, 0x28(r5)
/* 801C7840 001C47A0 80 A3 00 4C */ lwz r5, 0x4c(r3)
/* 801C7844 001C47A4 91 45 00 28 */ stw r10, 0x28(r5)
/* 801C7848 001C47A8 80 A3 00 4C */ lwz r5, 0x4c(r3)
/* 801C784C 001C47AC 91 45 00 24 */ stw r10, 0x24(r5)
/* 801C7850 001C47B0 80 A3 00 4C */ lwz r5, 0x4c(r3)
/* 801C7854 001C47B4 91 25 00 20 */ stw r9, 0x20(r5)
/* 801C7858 001C47B8 D0 C5 00 18 */ stfs f6, 0x18(r5)
/* 801C785C 001C47BC C0 25 00 18 */ lfs f1, 0x18(r5)
/* 801C7860 001C47C0 C0 05 00 1C */ lfs f0, 0x1c(r5)
/* 801C7864 001C47C4 EC 01 00 2A */ fadds f0, f1, f0
/* 801C7868 001C47C8 D0 05 00 14 */ stfs f0, 0x14(r5)
/* 801C786C 001C47CC 48 00 00 90 */ b lbl_801C78FC
lbl_801C7870:
/* 801C7870 001C47D0 7D 7A 28 2E */ lwzx r11, r26, r5
/* 801C7874 001C47D4 C0 A2 AB 2C */ lfs f5, lbl_805AC84C@sda21(r2)
/* 801C7878 001C47D8 7D 6A B8 78 */ andc r10, r11, r23
/* 801C787C 001C47DC 7D 5A 29 2E */ stwx r10, r26, r5
/* 801C7880 001C47E0 C0 5E 00 04 */ lfs f2, 4(r30)
/* 801C7884 001C47E4 C0 03 00 2C */ lfs f0, 0x2c(r3)
/* 801C7888 001C47E8 C0 3E 00 00 */ lfs f1, 0(r30)
/* 801C788C 001C47EC EC 82 00 28 */ fsubs f4, f2, f0
/* 801C7890 001C47F0 C0 03 00 28 */ lfs f0, 0x28(r3)
/* 801C7894 001C47F4 C0 7E 00 08 */ lfs f3, 8(r30)
/* 801C7898 001C47F8 EC 41 00 28 */ fsubs f2, f1, f0
/* 801C789C 001C47FC C0 23 00 30 */ lfs f1, 0x30(r3)
/* 801C78A0 001C4800 EC 04 01 32 */ fmuls f0, f4, f4
/* 801C78A4 001C4804 EC 63 08 28 */ fsubs f3, f3, f1
/* 801C78A8 001C4808 D0 81 00 0C */ stfs f4, 0xc(r1)
/* 801C78AC 001C480C EC 22 00 B2 */ fmuls f1, f2, f2
/* 801C78B0 001C4810 D0 41 00 08 */ stfs f2, 8(r1)
/* 801C78B4 001C4814 EC 43 00 F2 */ fmuls f2, f3, f3
/* 801C78B8 001C4818 EC 01 00 2A */ fadds f0, f1, f0
/* 801C78BC 001C481C D0 61 00 10 */ stfs f3, 0x10(r1)
/* 801C78C0 001C4820 EC 22 00 2A */ fadds f1, f2, f0
/* 801C78C4 001C4824 FC 05 08 00 */ fcmpu cr0, f5, f1
/* 801C78C8 001C4828 40 82 00 08 */ bne lbl_801C78D0
/* 801C78CC 001C482C 48 00 00 10 */ b lbl_801C78DC
lbl_801C78D0:
/* 801C78D0 001C4830 FC 00 08 34 */ frsqrte f0, f1
/* 801C78D4 001C4834 FC A1 00 32 */ fmul f5, f1, f0
/* 801C78D8 001C4838 FC A0 28 18 */ frsp f5, f5
lbl_801C78DC:
/* 801C78DC 001C483C 80 A3 00 4C */ lwz r5, 0x4c(r3)
/* 801C78E0 001C4840 91 25 00 20 */ stw r9, 0x20(r5)
/* 801C78E4 001C4844 D0 C5 00 18 */ stfs f6, 0x18(r5)
/* 801C78E8 001C4848 D0 A5 00 1C */ stfs f5, 0x1c(r5)
/* 801C78EC 001C484C C0 25 00 18 */ lfs f1, 0x18(r5)
/* 801C78F0 001C4850 C0 05 00 1C */ lfs f0, 0x1c(r5)
/* 801C78F4 001C4854 EC 01 00 2A */ fadds f0, f1, f0
/* 801C78F8 001C4858 D0 05 00 14 */ stfs f0, 0x14(r5)
lbl_801C78FC:
/* 801C78FC 001C485C 80 A3 00 24 */ lwz r5, 0x24(r3)
/* 801C7900 001C4860 39 60 00 01 */ li r11, 1
/* 801C7904 001C4864 39 59 00 40 */ addi r10, r25, 0x40
/* 801C7908 001C4868 7C AC 2E 70 */ srawi r12, r5, 5
/* 801C790C 001C486C 54 A5 06 FE */ clrlwi r5, r5, 0x1b
/* 801C7910 001C4870 7D 8C 01 94 */ addze r12, r12
/* 801C7914 001C4874 55 8C 10 3A */ slwi r12, r12, 2
/* 801C7918 001C4878 7D 65 28 30 */ slw r5, r11, r5
/* 801C791C 001C487C 7D 79 60 2E */ lwzx r11, r25, r12
/* 801C7920 001C4880 7D 65 2B 78 */ or r5, r11, r5
/* 801C7924 001C4884 7C B9 61 2E */ stwx r5, r25, r12
/* 801C7928 001C4888 80 B9 00 8C */ lwz r5, 0x8c(r25)
/* 801C792C 001C488C 81 65 00 28 */ lwz r11, 0x28(r5)
/* 801C7930 001C4890 48 00 00 08 */ b lbl_801C7938
lbl_801C7934:
/* 801C7934 001C4894 81 6C 00 28 */ lwz r11, 0x28(r12)
lbl_801C7938:
/* 801C7938 001C4898 7C 0B 50 40 */ cmplw r11, r10
/* 801C793C 001C489C 41 82 00 1C */ beq lbl_801C7958
/* 801C7940 001C48A0 81 8B 00 4C */ lwz r12, 0x4c(r11)
/* 801C7944 001C48A4 80 A3 00 4C */ lwz r5, 0x4c(r3)
/* 801C7948 001C48A8 C0 0C 00 14 */ lfs f0, 0x14(r12)
/* 801C794C 001C48AC C0 25 00 14 */ lfs f1, 0x14(r5)
/* 801C7950 001C48B0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801C7954 001C48B4 41 81 FF E0 */ bgt lbl_801C7934
lbl_801C7958:
/* 801C7958 001C48B8 80 AB 00 4C */ lwz r5, 0x4c(r11)
/* 801C795C 001C48BC 80 A5 00 24 */ lwz r5, 0x24(r5)
/* 801C7960 001C48C0 80 A5 00 4C */ lwz r5, 0x4c(r5)
/* 801C7964 001C48C4 90 65 00 28 */ stw r3, 0x28(r5)
/* 801C7968 001C48C8 81 4B 00 4C */ lwz r10, 0x4c(r11)
/* 801C796C 001C48CC 80 A3 00 4C */ lwz r5, 0x4c(r3)
/* 801C7970 001C48D0 81 4A 00 24 */ lwz r10, 0x24(r10)
/* 801C7974 001C48D4 91 45 00 24 */ stw r10, 0x24(r5)
/* 801C7978 001C48D8 80 AB 00 4C */ lwz r5, 0x4c(r11)
/* 801C797C 001C48DC 90 65 00 24 */ stw r3, 0x24(r5)
/* 801C7980 001C48E0 80 63 00 4C */ lwz r3, 0x4c(r3)
/* 801C7984 001C48E4 91 63 00 28 */ stw r11, 0x28(r3)
lbl_801C7988:
/* 801C7988 001C48E8 38 84 00 10 */ addi r4, r4, 0x10
/* 801C798C 001C48EC 39 08 00 01 */ addi r8, r8, 1
lbl_801C7990:
/* 801C7990 001C48F0 80 69 00 08 */ lwz r3, 8(r9)
/* 801C7994 001C48F4 7C 08 18 00 */ cmpw r8, r3
/* 801C7998 001C48F8 41 80 FD 34 */ blt lbl_801C76CC
lbl_801C799C:
/* 801C799C 001C48FC 80 79 00 8C */ lwz r3, 0x8c(r25)
/* 801C79A0 001C4900 38 80 00 00 */ li r4, 0
/* 801C79A4 001C4904 80 63 00 28 */ lwz r3, 0x28(r3)
/* 801C79A8 001C4908 7C 03 00 40 */ cmplw r3, r0
/* 801C79AC 001C490C 41 82 00 6C */ beq lbl_801C7A18
/* 801C79B0 001C4910 80 A3 00 24 */ lwz r5, 0x24(r3)
/* 801C79B4 001C4914 39 20 00 01 */ li r9, 1
/* 801C79B8 001C4918 39 00 00 00 */ li r8, 0
/* 801C79BC 001C491C 7C 64 1B 78 */ mr r4, r3
/* 801C79C0 001C4920 7C AA 2E 70 */ srawi r10, r5, 5
/* 801C79C4 001C4924 54 A5 06 FE */ clrlwi r5, r5, 0x1b
/* 801C79C8 001C4928 7D 4A 01 94 */ addze r10, r10
/* 801C79CC 001C492C 55 4A 10 3A */ slwi r10, r10, 2
/* 801C79D0 001C4930 7D 25 28 30 */ slw r5, r9, r5
/* 801C79D4 001C4934 7D 39 50 2E */ lwzx r9, r25, r10
/* 801C79D8 001C4938 7D 25 28 78 */ andc r5, r9, r5
/* 801C79DC 001C493C 7C B9 51 2E */ stwx r5, r25, r10
/* 801C79E0 001C4940 81 23 00 4C */ lwz r9, 0x4c(r3)
/* 801C79E4 001C4944 80 A9 00 28 */ lwz r5, 0x28(r9)
/* 801C79E8 001C4948 81 29 00 24 */ lwz r9, 0x24(r9)
/* 801C79EC 001C494C 80 A5 00 4C */ lwz r5, 0x4c(r5)
/* 801C79F0 001C4950 91 25 00 24 */ stw r9, 0x24(r5)
/* 801C79F4 001C4954 81 23 00 4C */ lwz r9, 0x4c(r3)
/* 801C79F8 001C4958 80 A9 00 24 */ lwz r5, 0x24(r9)
/* 801C79FC 001C495C 81 29 00 28 */ lwz r9, 0x28(r9)
/* 801C7A00 001C4960 80 A5 00 4C */ lwz r5, 0x4c(r5)
/* 801C7A04 001C4964 91 25 00 28 */ stw r9, 0x28(r5)
/* 801C7A08 001C4968 80 A3 00 4C */ lwz r5, 0x4c(r3)
/* 801C7A0C 001C496C 91 05 00 28 */ stw r8, 0x28(r5)
/* 801C7A10 001C4970 80 63 00 4C */ lwz r3, 0x4c(r3)
/* 801C7A14 001C4974 91 03 00 24 */ stw r8, 0x24(r3)
lbl_801C7A18:
/* 801C7A18 001C4978 28 04 00 00 */ cmplwi r4, 0
/* 801C7A1C 001C497C 7C 89 23 78 */ mr r9, r4
/* 801C7A20 001C4980 40 82 FC 50 */ bne lbl_801C7670
lbl_801C7A24:
/* 801C7A24 001C4984 38 A0 00 00 */ li r5, 0
/* 801C7A28 001C4988 48 00 00 2C */ b lbl_801C7A54
lbl_801C7A2C:
/* 801C7A2C 001C498C 80 67 00 00 */ lwz r3, 0(r7)
/* 801C7A30 001C4990 38 E7 00 04 */ addi r7, r7, 4
/* 801C7A34 001C4994 C0 06 00 00 */ lfs f0, 0(r6)
/* 801C7A38 001C4998 38 A5 00 01 */ addi r5, r5, 1
/* 801C7A3C 001C499C C0 26 00 04 */ lfs f1, 4(r6)
/* 801C7A40 001C49A0 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 801C7A44 001C49A4 C0 06 00 08 */ lfs f0, 8(r6)
/* 801C7A48 001C49A8 38 C6 00 0C */ addi r6, r6, 0xc
/* 801C7A4C 001C49AC D0 23 00 2C */ stfs f1, 0x2c(r3)
/* 801C7A50 001C49B0 D0 03 00 30 */ stfs f0, 0x30(r3)
lbl_801C7A54:
/* 801C7A54 001C49B4 80 1C 00 00 */ lwz r0, 0(r28)
/* 801C7A58 001C49B8 7C 05 00 00 */ cmpw r5, r0
/* 801C7A5C 001C49BC 41 80 FF D0 */ blt lbl_801C7A2C
/* 801C7A60 001C49C0 38 A0 00 00 */ li r5, 0
/* 801C7A64 001C49C4 48 00 00 2C */ b lbl_801C7A90
lbl_801C7A68:
/* 801C7A68 001C49C8 80 78 00 00 */ lwz r3, 0(r24)
/* 801C7A6C 001C49CC 3B 18 00 04 */ addi r24, r24, 4
/* 801C7A70 001C49D0 C0 1F 00 00 */ lfs f0, 0(r31)
/* 801C7A74 001C49D4 38 A5 00 01 */ addi r5, r5, 1
/* 801C7A78 001C49D8 C0 3F 00 04 */ lfs f1, 4(r31)
/* 801C7A7C 001C49DC D0 03 00 28 */ stfs f0, 0x28(r3)
/* 801C7A80 001C49E0 C0 1F 00 08 */ lfs f0, 8(r31)
/* 801C7A84 001C49E4 3B FF 00 0C */ addi r31, r31, 0xc
/* 801C7A88 001C49E8 D0 23 00 2C */ stfs f1, 0x2c(r3)
/* 801C7A8C 001C49EC D0 03 00 30 */ stfs f0, 0x30(r3)
lbl_801C7A90:
/* 801C7A90 001C49F0 80 DD 00 00 */ lwz r6, 0(r29)
/* 801C7A94 001C49F4 7C 05 30 00 */ cmpw r5, r6
/* 801C7A98 001C49F8 41 80 FF D0 */ blt lbl_801C7A68
/* 801C7A9C 001C49FC 28 04 00 00 */ cmplwi r4, 0
/* 801C7AA0 001C4A00 41 82 01 08 */ beq lbl_801C7BA8
/* 801C7AA4 001C4A04 2C 06 00 00 */ cmpwi r6, 0
/* 801C7AA8 001C4A08 38 60 00 00 */ li r3, 0
/* 801C7AAC 001C4A0C 40 81 00 40 */ ble lbl_801C7AEC
/* 801C7AB0 001C4A10 2C 06 00 08 */ cmpwi r6, 8
/* 801C7AB4 001C4A14 38 A6 FF F8 */ addi r5, r6, -8
/* 801C7AB8 001C4A18 40 81 00 20 */ ble lbl_801C7AD8
/* 801C7ABC 001C4A1C 38 05 00 07 */ addi r0, r5, 7
/* 801C7AC0 001C4A20 54 00 E8 FE */ srwi r0, r0, 3
/* 801C7AC4 001C4A24 7C 09 03 A6 */ mtctr r0
/* 801C7AC8 001C4A28 2C 05 00 00 */ cmpwi r5, 0
/* 801C7ACC 001C4A2C 40 81 00 0C */ ble lbl_801C7AD8
lbl_801C7AD0:
/* 801C7AD0 001C4A30 38 63 00 08 */ addi r3, r3, 8
/* 801C7AD4 001C4A34 42 00 FF FC */ bdnz lbl_801C7AD0
lbl_801C7AD8:
/* 801C7AD8 001C4A38 7C 03 30 50 */ subf r0, r3, r6
/* 801C7ADC 001C4A3C 7C 09 03 A6 */ mtctr r0
/* 801C7AE0 001C4A40 7C 03 30 00 */ cmpw r3, r6
/* 801C7AE4 001C4A44 40 80 00 08 */ bge lbl_801C7AEC
lbl_801C7AE8:
/* 801C7AE8 001C4A48 42 00 00 00 */ bdnz lbl_801C7AE8
lbl_801C7AEC:
/* 801C7AEC 001C4A4C 38 00 00 00 */ li r0, 0
/* 801C7AF0 001C4A50 90 1D 00 00 */ stw r0, 0(r29)
/* 801C7AF4 001C4A54 80 1D 00 00 */ lwz r0, 0(r29)
/* 801C7AF8 001C4A58 54 00 10 3A */ slwi r0, r0, 2
/* 801C7AFC 001C4A5C 7C 7D 02 14 */ add r3, r29, r0
/* 801C7B00 001C4A60 34 63 00 04 */ addic. r3, r3, 4
/* 801C7B04 001C4A64 41 82 00 08 */ beq lbl_801C7B0C
/* 801C7B08 001C4A68 90 83 00 00 */ stw r4, 0(r3)
lbl_801C7B0C:
/* 801C7B0C 001C4A6C 80 7D 00 00 */ lwz r3, 0(r29)
/* 801C7B10 001C4A70 38 03 00 01 */ addi r0, r3, 1
/* 801C7B14 001C4A74 90 1D 00 00 */ stw r0, 0(r29)
/* 801C7B18 001C4A78 48 00 00 08 */ b lbl_801C7B20
lbl_801C7B1C:
/* 801C7B1C 001C4A7C 81 23 00 20 */ lwz r9, 0x20(r3)
lbl_801C7B20:
/* 801C7B20 001C4A80 80 69 00 4C */ lwz r3, 0x4c(r9)
/* 801C7B24 001C4A84 80 03 00 20 */ lwz r0, 0x20(r3)
/* 801C7B28 001C4A88 28 00 00 00 */ cmplwi r0, 0
/* 801C7B2C 001C4A8C 40 82 FF F0 */ bne lbl_801C7B1C
/* 801C7B30 001C4A90 80 BC 00 00 */ lwz r5, 0(r28)
/* 801C7B34 001C4A94 38 60 00 00 */ li r3, 0
/* 801C7B38 001C4A98 2C 05 00 00 */ cmpwi r5, 0
/* 801C7B3C 001C4A9C 40 81 00 40 */ ble lbl_801C7B7C
/* 801C7B40 001C4AA0 2C 05 00 08 */ cmpwi r5, 8
/* 801C7B44 001C4AA4 38 85 FF F8 */ addi r4, r5, -8
/* 801C7B48 001C4AA8 40 81 00 20 */ ble lbl_801C7B68
/* 801C7B4C 001C4AAC 38 04 00 07 */ addi r0, r4, 7
/* 801C7B50 001C4AB0 54 00 E8 FE */ srwi r0, r0, 3
/* 801C7B54 001C4AB4 7C 09 03 A6 */ mtctr r0
/* 801C7B58 001C4AB8 2C 04 00 00 */ cmpwi r4, 0
/* 801C7B5C 001C4ABC 40 81 00 0C */ ble lbl_801C7B68
lbl_801C7B60:
/* 801C7B60 001C4AC0 38 63 00 08 */ addi r3, r3, 8
/* 801C7B64 001C4AC4 42 00 FF FC */ bdnz lbl_801C7B60
lbl_801C7B68:
/* 801C7B68 001C4AC8 7C 03 28 50 */ subf r0, r3, r5
/* 801C7B6C 001C4ACC 7C 09 03 A6 */ mtctr r0
/* 801C7B70 001C4AD0 7C 03 28 00 */ cmpw r3, r5
/* 801C7B74 001C4AD4 40 80 00 08 */ bge lbl_801C7B7C
lbl_801C7B78:
/* 801C7B78 001C4AD8 42 00 00 00 */ bdnz lbl_801C7B78
lbl_801C7B7C:
/* 801C7B7C 001C4ADC 38 00 00 00 */ li r0, 0
/* 801C7B80 001C4AE0 90 1C 00 00 */ stw r0, 0(r28)
/* 801C7B84 001C4AE4 80 1C 00 00 */ lwz r0, 0(r28)
/* 801C7B88 001C4AE8 54 00 10 3A */ slwi r0, r0, 2
/* 801C7B8C 001C4AEC 7C 7C 02 14 */ add r3, r28, r0
/* 801C7B90 001C4AF0 34 63 00 04 */ addic. r3, r3, 4
/* 801C7B94 001C4AF4 41 82 00 08 */ beq lbl_801C7B9C
/* 801C7B98 001C4AF8 91 23 00 00 */ stw r9, 0(r3)
lbl_801C7B9C:
/* 801C7B9C 001C4AFC 80 7C 00 00 */ lwz r3, 0(r28)
/* 801C7BA0 001C4B00 38 03 00 01 */ addi r0, r3, 1
/* 801C7BA4 001C4B04 90 1C 00 00 */ stw r0, 0(r28)
lbl_801C7BA8:
/* 801C7BA8 001C4B08 80 C1 00 2C */ lwz r6, 0x2c(r1)
/* 801C7BAC 001C4B0C 7C 09 00 D0 */ neg r0, r9
/* 801C7BB0 001C4B10 7C 00 4B 78 */ or r0, r0, r9
/* 801C7BB4 001C4B14 38 80 00 00 */ li r4, 0
/* 801C7BB8 001C4B18 2C 06 00 00 */ cmpwi r6, 0
/* 801C7BBC 001C4B1C 54 03 0F FE */ srwi r3, r0, 0x1f
/* 801C7BC0 001C4B20 40 81 00 40 */ ble lbl_801C7C00
/* 801C7BC4 001C4B24 2C 06 00 08 */ cmpwi r6, 8
/* 801C7BC8 001C4B28 38 A6 FF F8 */ addi r5, r6, -8
/* 801C7BCC 001C4B2C 40 81 00 20 */ ble lbl_801C7BEC
/* 801C7BD0 001C4B30 38 05 00 07 */ addi r0, r5, 7
/* 801C7BD4 001C4B34 54 00 E8 FE */ srwi r0, r0, 3
/* 801C7BD8 001C4B38 7C 09 03 A6 */ mtctr r0
/* 801C7BDC 001C4B3C 2C 05 00 00 */ cmpwi r5, 0
/* 801C7BE0 001C4B40 40 81 00 0C */ ble lbl_801C7BEC
lbl_801C7BE4:
/* 801C7BE4 001C4B44 38 84 00 08 */ addi r4, r4, 8
/* 801C7BE8 001C4B48 42 00 FF FC */ bdnz lbl_801C7BE4
lbl_801C7BEC:
/* 801C7BEC 001C4B4C 7C 04 30 50 */ subf r0, r4, r6
/* 801C7BF0 001C4B50 7C 09 03 A6 */ mtctr r0
/* 801C7BF4 001C4B54 7C 04 30 00 */ cmpw r4, r6
/* 801C7BF8 001C4B58 40 80 00 08 */ bge lbl_801C7C00
lbl_801C7BFC:
/* 801C7BFC 001C4B5C 42 00 00 00 */ bdnz lbl_801C7BFC
lbl_801C7C00:
/* 801C7C00 001C4B60 80 C1 00 60 */ lwz r6, 0x60(r1)
/* 801C7C04 001C4B64 38 80 00 00 */ li r4, 0
/* 801C7C08 001C4B68 90 81 00 2C */ stw r4, 0x2c(r1)
/* 801C7C0C 001C4B6C 2C 06 00 00 */ cmpwi r6, 0
/* 801C7C10 001C4B70 40 81 00 40 */ ble lbl_801C7C50
/* 801C7C14 001C4B74 2C 06 00 08 */ cmpwi r6, 8
/* 801C7C18 001C4B78 38 A6 FF F8 */ addi r5, r6, -8
/* 801C7C1C 001C4B7C 40 81 00 20 */ ble lbl_801C7C3C
/* 801C7C20 001C4B80 38 05 00 07 */ addi r0, r5, 7
/* 801C7C24 001C4B84 54 00 E8 FE */ srwi r0, r0, 3
/* 801C7C28 001C4B88 7C 09 03 A6 */ mtctr r0
/* 801C7C2C 001C4B8C 2C 05 00 00 */ cmpwi r5, 0
/* 801C7C30 001C4B90 40 81 00 0C */ ble lbl_801C7C3C
lbl_801C7C34:
/* 801C7C34 001C4B94 38 84 00 08 */ addi r4, r4, 8
/* 801C7C38 001C4B98 42 00 FF FC */ bdnz lbl_801C7C34
lbl_801C7C3C:
/* 801C7C3C 001C4B9C 7C 04 30 50 */ subf r0, r4, r6
/* 801C7C40 001C4BA0 7C 09 03 A6 */ mtctr r0
/* 801C7C44 001C4BA4 7C 04 30 00 */ cmpw r4, r6
/* 801C7C48 001C4BA8 40 80 00 08 */ bge lbl_801C7C50
lbl_801C7C4C:
/* 801C7C4C 001C4BAC 42 00 00 00 */ bdnz lbl_801C7C4C
lbl_801C7C50:
/* 801C7C50 001C4BB0 BA E1 00 9C */ lmw r23, 0x9c(r1)
/* 801C7C54 001C4BB4 38 00 00 00 */ li r0, 0
/* 801C7C58 001C4BB8 90 01 00 60 */ stw r0, 0x60(r1)
/* 801C7C5C 001C4BBC 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 801C7C60 001C4BC0 7C 08 03 A6 */ mtlr r0
/* 801C7C64 001C4BC4 38 21 00 C0 */ addi r1, r1, 0xc0
2022-07-14 05:48:03 +00:00
/* 801C7C68 001C4BC8 4E 80 00 20 */ blr
2022-04-14 08:02:42 +00:00
.global Search__15CPathFindSearchFRC9CVector3fRC9CVector3f
Search__15CPathFindSearchFRC9CVector3fRC9CVector3f:
/* 801C7C6C 001C4BCC 94 21 FD A0 */ stwu r1, -0x260(r1)
/* 801C7C70 001C4BD0 7C 08 02 A6 */ mflr r0
/* 801C7C74 001C4BD4 90 01 02 64 */ stw r0, 0x264(r1)
/* 801C7C78 001C4BD8 DB E1 02 50 */ stfd f31, 0x250(r1)
/* 801C7C7C 001C4BDC F3 E1 02 58 */ psq_st f31, 600(r1), 0, qr0
/* 801C7C80 001C4BE0 DB C1 02 40 */ stfd f30, 0x240(r1)
/* 801C7C84 001C4BE4 F3 C1 02 48 */ psq_st f30, 584(r1), 0, qr0
/* 801C7C88 001C4BE8 DB A1 02 30 */ stfd f29, 0x230(r1)
/* 801C7C8C 001C4BEC F3 A1 02 38 */ psq_st f29, 568(r1), 0, qr0
/* 801C7C90 001C4BF0 DB 81 02 20 */ stfd f28, 0x220(r1)
/* 801C7C94 001C4BF4 F3 81 02 28 */ psq_st f28, 552(r1), 0, qr0
/* 801C7C98 001C4BF8 BE 41 01 E8 */ stmw r18, 0x1e8(r1)
/* 801C7C9C 001C4BFC 7C 79 1B 78 */ mr r25, r3
/* 801C7CA0 001C4C00 7C 93 23 78 */ mr r19, r4
/* 801C7CA4 001C4C04 80 C3 00 04 */ lwz r6, 4(r3)
/* 801C7CA8 001C4C08 7C BA 2B 78 */ mr r26, r5
/* 801C7CAC 001C4C0C 3B F9 00 08 */ addi r31, r25, 8
/* 801C7CB0 001C4C10 3B C0 00 00 */ li r30, 0
/* 801C7CB4 001C4C14 2C 06 00 00 */ cmpwi r6, 0
/* 801C7CB8 001C4C18 3B A0 00 00 */ li r29, 0
/* 801C7CBC 001C4C1C 38 60 00 00 */ li r3, 0
/* 801C7CC0 001C4C20 40 81 00 40 */ ble lbl_801C7D00
/* 801C7CC4 001C4C24 2C 06 00 08 */ cmpwi r6, 8
/* 801C7CC8 001C4C28 38 86 FF F8 */ addi r4, r6, -8
/* 801C7CCC 001C4C2C 40 81 00 20 */ ble lbl_801C7CEC
/* 801C7CD0 001C4C30 38 04 00 07 */ addi r0, r4, 7
/* 801C7CD4 001C4C34 54 00 E8 FE */ srwi r0, r0, 3
/* 801C7CD8 001C4C38 7C 09 03 A6 */ mtctr r0
/* 801C7CDC 001C4C3C 2C 04 00 00 */ cmpwi r4, 0
/* 801C7CE0 001C4C40 40 81 00 0C */ ble lbl_801C7CEC
lbl_801C7CE4:
/* 801C7CE4 001C4C44 38 63 00 08 */ addi r3, r3, 8
/* 801C7CE8 001C4C48 42 00 FF FC */ bdnz lbl_801C7CE4
lbl_801C7CEC:
/* 801C7CEC 001C4C4C 7C 03 30 50 */ subf r0, r3, r6
/* 801C7CF0 001C4C50 7C 09 03 A6 */ mtctr r0
/* 801C7CF4 001C4C54 7C 03 30 00 */ cmpw r3, r6
/* 801C7CF8 001C4C58 40 80 00 08 */ bge lbl_801C7D00
lbl_801C7CFC:
/* 801C7CFC 001C4C5C 42 00 00 00 */ bdnz lbl_801C7CFC
lbl_801C7D00:
/* 801C7D00 001C4C60 38 00 00 00 */ li r0, 0
/* 801C7D04 001C4C64 90 19 00 04 */ stw r0, 4(r25)
/* 801C7D08 001C4C68 90 19 00 C8 */ stw r0, 0xc8(r25)
/* 801C7D0C 001C4C6C 80 79 00 00 */ lwz r3, 0(r25)
/* 801C7D10 001C4C70 28 03 00 00 */ cmplwi r3, 0
/* 801C7D14 001C4C74 40 82 00 14 */ bne lbl_801C7D28
/* 801C7D18 001C4C78 38 00 00 01 */ li r0, 1
/* 801C7D1C 001C4C7C 90 19 00 CC */ stw r0, 0xcc(r25)
/* 801C7D20 001C4C80 80 79 00 CC */ lwz r3, 0xcc(r25)
/* 801C7D24 001C4C84 48 00 10 3C */ b lbl_801C8D60
lbl_801C7D28:
/* 801C7D28 001C4C88 80 03 01 50 */ lwz r0, 0x150(r3)
/* 801C7D2C 001C4C8C 2C 00 02 00 */ cmpwi r0, 0x200
/* 801C7D30 001C4C90 40 81 00 14 */ ble lbl_801C7D44
/* 801C7D34 001C4C94 38 00 00 01 */ li r0, 1
/* 801C7D38 001C4C98 90 19 00 CC */ stw r0, 0xcc(r25)
/* 801C7D3C 001C4C9C 80 79 00 CC */ lwz r3, 0xcc(r25)
/* 801C7D40 001C4CA0 48 00 10 20 */ b lbl_801C8D60
lbl_801C7D44:
/* 801C7D44 001C4CA4 C0 22 AB 30 */ lfs f1, lbl_805AC850@sda21(r2)
/* 801C7D48 001C4CA8 7E 63 9B 78 */ mr r3, r19
/* 801C7D4C 001C4CAC 7F 44 D3 78 */ mr r4, r26
/* 801C7D50 001C4CB0 48 14 82 15 */ bl close_enough__FRC9CVector3fRC9CVector3ff
/* 801C7D54 001C4CB4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801C7D58 001C4CB8 41 82 00 48 */ beq lbl_801C7DA0
/* 801C7D5C 001C4CBC 80 19 00 04 */ lwz r0, 4(r25)
/* 801C7D60 001C4CC0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C7D64 001C4CC4 7C 7F 02 15 */ add. r3, r31, r0
/* 801C7D68 001C4CC8 41 82 00 1C */ beq lbl_801C7D84
/* 801C7D6C 001C4CCC C0 13 00 00 */ lfs f0, 0(r19)
/* 801C7D70 001C4CD0 D0 03 00 00 */ stfs f0, 0(r3)
/* 801C7D74 001C4CD4 C0 13 00 04 */ lfs f0, 4(r19)
/* 801C7D78 001C4CD8 D0 03 00 04 */ stfs f0, 4(r3)
/* 801C7D7C 001C4CDC C0 13 00 08 */ lfs f0, 8(r19)
/* 801C7D80 001C4CE0 D0 03 00 08 */ stfs f0, 8(r3)
lbl_801C7D84:
/* 801C7D84 001C4CE4 80 79 00 04 */ lwz r3, 4(r25)
/* 801C7D88 001C4CE8 38 00 00 00 */ li r0, 0
/* 801C7D8C 001C4CEC 38 63 00 01 */ addi r3, r3, 1
/* 801C7D90 001C4CF0 90 79 00 04 */ stw r3, 4(r25)
/* 801C7D94 001C4CF4 90 19 00 CC */ stw r0, 0xcc(r25)
/* 801C7D98 001C4CF8 80 79 00 CC */ lwz r3, 0xcc(r25)
/* 801C7D9C 001C4CFC 48 00 0F C4 */ b lbl_801C8D60
lbl_801C7DA0:
/* 801C7DA0 001C4D00 80 99 00 00 */ lwz r4, 0(r25)
/* 801C7DA4 001C4D04 38 61 00 98 */ addi r3, r1, 0x98
/* 801C7DA8 001C4D08 C0 93 00 08 */ lfs f4, 8(r19)
/* 801C7DAC 001C4D0C 38 A1 00 2C */ addi r5, r1, 0x2c
/* 801C7DB0 001C4D10 38 84 01 88 */ addi r4, r4, 0x188
/* 801C7DB4 001C4D14 C0 73 00 04 */ lfs f3, 4(r19)
/* 801C7DB8 001C4D18 C0 04 00 2C */ lfs f0, 0x2c(r4)
/* 801C7DBC 001C4D1C C0 44 00 1C */ lfs f2, 0x1c(r4)
/* 801C7DC0 001C4D20 EC 84 00 28 */ fsubs f4, f4, f0
/* 801C7DC4 001C4D24 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 801C7DC8 001C4D28 C0 33 00 00 */ lfs f1, 0(r19)
/* 801C7DCC 001C4D2C EC 43 10 28 */ fsubs f2, f3, f2
/* 801C7DD0 001C4D30 EC 01 00 28 */ fsubs f0, f1, f0
/* 801C7DD4 001C4D34 D0 81 00 34 */ stfs f4, 0x34(r1)
/* 801C7DD8 001C4D38 D0 41 00 30 */ stfs f2, 0x30(r1)
/* 801C7DDC 001C4D3C D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 801C7DE0 001C4D40 48 14 AC 45 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f
/* 801C7DE4 001C4D44 C0 41 00 98 */ lfs f2, 0x98(r1)
/* 801C7DE8 001C4D48 38 61 00 8C */ addi r3, r1, 0x8c
/* 801C7DEC 001C4D4C C0 21 00 9C */ lfs f1, 0x9c(r1)
/* 801C7DF0 001C4D50 38 A1 00 20 */ addi r5, r1, 0x20
/* 801C7DF4 001C4D54 C0 01 00 A0 */ lfs f0, 0xa0(r1)
/* 801C7DF8 001C4D58 D0 21 00 C0 */ stfs f1, 0xc0(r1)
/* 801C7DFC 001C4D5C C0 BA 00 08 */ lfs f5, 8(r26)
/* 801C7E00 001C4D60 D0 41 00 BC */ stfs f2, 0xbc(r1)
/* 801C7E04 001C4D64 C0 7A 00 04 */ lfs f3, 4(r26)
/* 801C7E08 001C4D68 D0 01 00 C4 */ stfs f0, 0xc4(r1)
/* 801C7E0C 001C4D6C C0 3A 00 00 */ lfs f1, 0(r26)
/* 801C7E10 001C4D70 80 99 00 00 */ lwz r4, 0(r25)
/* 801C7E14 001C4D74 38 84 01 88 */ addi r4, r4, 0x188
/* 801C7E18 001C4D78 C0 84 00 2C */ lfs f4, 0x2c(r4)
/* 801C7E1C 001C4D7C C0 44 00 1C */ lfs f2, 0x1c(r4)
/* 801C7E20 001C4D80 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 801C7E24 001C4D84 EC 85 20 28 */ fsubs f4, f5, f4
/* 801C7E28 001C4D88 EC 43 10 28 */ fsubs f2, f3, f2
/* 801C7E2C 001C4D8C EC 01 00 28 */ fsubs f0, f1, f0
/* 801C7E30 001C4D90 D0 81 00 28 */ stfs f4, 0x28(r1)
/* 801C7E34 001C4D94 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 801C7E38 001C4D98 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 801C7E3C 001C4D9C 48 14 AB E9 */ bl TransposeRotate__12CTransform4fCFRC9CVector3f
/* 801C7E40 001C4DA0 C0 41 00 8C */ lfs f2, 0x8c(r1)
/* 801C7E44 001C4DA4 C0 21 00 90 */ lfs f1, 0x90(r1)
/* 801C7E48 001C4DA8 C0 01 00 94 */ lfs f0, 0x94(r1)
/* 801C7E4C 001C4DAC D0 41 00 B0 */ stfs f2, 0xb0(r1)
/* 801C7E50 001C4DB0 D0 21 00 B4 */ stfs f1, 0xb4(r1)
/* 801C7E54 001C4DB4 D0 01 00 B8 */ stfs f0, 0xb8(r1)
/* 801C7E58 001C4DB8 80 79 00 DC */ lwz r3, 0xdc(r25)
/* 801C7E5C 001C4DBC 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 801C7E60 001C4DC0 40 82 00 24 */ bne lbl_801C7E84
/* 801C7E64 001C4DC4 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 801C7E68 001C4DC8 40 82 00 1C */ bne lbl_801C7E84
/* 801C7E6C 001C4DCC C0 22 AB 28 */ lfs f1, lbl_805AC848@sda21(r2)
/* 801C7E70 001C4DD0 C0 41 00 C4 */ lfs f2, 0xc4(r1)
/* 801C7E74 001C4DD4 EC 00 08 2A */ fadds f0, f0, f1
/* 801C7E78 001C4DD8 EC 22 08 2A */ fadds f1, f2, f1
/* 801C7E7C 001C4DDC D0 01 00 B8 */ stfs f0, 0xb8(r1)
/* 801C7E80 001C4DE0 D0 21 00 C4 */ stfs f1, 0xc4(r1)
lbl_801C7E84:
/* 801C7E84 001C4DE4 38 00 00 00 */ li r0, 0
/* 801C7E88 001C4DE8 38 81 01 04 */ addi r4, r1, 0x104
/* 801C7E8C 001C4DEC 90 01 01 18 */ stw r0, 0x118(r1)
/* 801C7E90 001C4DF0 38 A1 00 BC */ addi r5, r1, 0xbc
/* 801C7E94 001C4DF4 90 01 01 04 */ stw r0, 0x104(r1)
/* 801C7E98 001C4DF8 80 79 00 00 */ lwz r3, 0(r25)
/* 801C7E9C 001C4DFC 80 D9 00 DC */ lwz r6, 0xdc(r25)
/* 801C7EA0 001C4E00 80 F9 00 E0 */ lwz r7, 0xe0(r25)
/* 801C7EA4 001C4E04 48 00 2B A1 */ bl "FindRegions__7CPFAreaFRQ24rstl30reserved_vector<P9CPFRegion,4>RC9CVector3fUiUi"
/* 801C7EA8 001C4E08 2C 03 00 00 */ cmpwi r3, 0
/* 801C7EAC 001C4E0C 40 82 01 68 */ bne lbl_801C8014
/* 801C7EB0 001C4E10 80 79 00 00 */ lwz r3, 0(r25)
/* 801C7EB4 001C4E14 38 81 00 BC */ addi r4, r1, 0xbc
/* 801C7EB8 001C4E18 80 B9 00 DC */ lwz r5, 0xdc(r25)
/* 801C7EBC 001C4E1C 80 D9 00 E0 */ lwz r6, 0xe0(r25)
/* 801C7EC0 001C4E20 C0 39 00 D8 */ lfs f1, 0xd8(r25)
/* 801C7EC4 001C4E24 48 00 28 D9 */ bl FindClosestRegion__7CPFAreaFRC9CVector3fUif
/* 801C7EC8 001C4E28 28 03 00 00 */ cmplwi r3, 0
/* 801C7ECC 001C4E2C 40 82 00 B8 */ bne lbl_801C7F84
/* 801C7ED0 001C4E30 38 00 00 02 */ li r0, 2
/* 801C7ED4 001C4E34 38 80 00 00 */ li r4, 0
/* 801C7ED8 001C4E38 90 19 00 CC */ stw r0, 0xcc(r25)
/* 801C7EDC 001C4E3C 80 C1 01 04 */ lwz r6, 0x104(r1)
/* 801C7EE0 001C4E40 80 79 00 CC */ lwz r3, 0xcc(r25)
/* 801C7EE4 001C4E44 2C 06 00 00 */ cmpwi r6, 0
/* 801C7EE8 001C4E48 40 81 00 40 */ ble lbl_801C7F28
/* 801C7EEC 001C4E4C 2C 06 00 08 */ cmpwi r6, 8
/* 801C7EF0 001C4E50 38 A6 FF F8 */ addi r5, r6, -8
/* 801C7EF4 001C4E54 40 81 00 20 */ ble lbl_801C7F14
/* 801C7EF8 001C4E58 38 05 00 07 */ addi r0, r5, 7
/* 801C7EFC 001C4E5C 54 00 E8 FE */ srwi r0, r0, 3
/* 801C7F00 001C4E60 7C 09 03 A6 */ mtctr r0
/* 801C7F04 001C4E64 2C 05 00 00 */ cmpwi r5, 0
/* 801C7F08 001C4E68 40 81 00 0C */ ble lbl_801C7F14
lbl_801C7F0C:
/* 801C7F0C 001C4E6C 38 84 00 08 */ addi r4, r4, 8
/* 801C7F10 001C4E70 42 00 FF FC */ bdnz lbl_801C7F0C
lbl_801C7F14:
/* 801C7F14 001C4E74 7C 04 30 50 */ subf r0, r4, r6
/* 801C7F18 001C4E78 7C 09 03 A6 */ mtctr r0
/* 801C7F1C 001C4E7C 7C 04 30 00 */ cmpw r4, r6
/* 801C7F20 001C4E80 40 80 00 08 */ bge lbl_801C7F28
lbl_801C7F24:
/* 801C7F24 001C4E84 42 00 00 00 */ bdnz lbl_801C7F24
lbl_801C7F28:
/* 801C7F28 001C4E88 80 C1 01 18 */ lwz r6, 0x118(r1)
/* 801C7F2C 001C4E8C 38 80 00 00 */ li r4, 0
/* 801C7F30 001C4E90 90 81 01 04 */ stw r4, 0x104(r1)
/* 801C7F34 001C4E94 2C 06 00 00 */ cmpwi r6, 0
/* 801C7F38 001C4E98 40 81 00 40 */ ble lbl_801C7F78
/* 801C7F3C 001C4E9C 2C 06 00 08 */ cmpwi r6, 8
/* 801C7F40 001C4EA0 38 A6 FF F8 */ addi r5, r6, -8
/* 801C7F44 001C4EA4 40 81 00 20 */ ble lbl_801C7F64
/* 801C7F48 001C4EA8 38 05 00 07 */ addi r0, r5, 7
/* 801C7F4C 001C4EAC 54 00 E8 FE */ srwi r0, r0, 3
/* 801C7F50 001C4EB0 7C 09 03 A6 */ mtctr r0
/* 801C7F54 001C4EB4 2C 05 00 00 */ cmpwi r5, 0
/* 801C7F58 001C4EB8 40 81 00 0C */ ble lbl_801C7F64
lbl_801C7F5C:
/* 801C7F5C 001C4EBC 38 84 00 08 */ addi r4, r4, 8
/* 801C7F60 001C4EC0 42 00 FF FC */ bdnz lbl_801C7F5C
lbl_801C7F64:
/* 801C7F64 001C4EC4 7C 04 30 50 */ subf r0, r4, r6
/* 801C7F68 001C4EC8 7C 09 03 A6 */ mtctr r0
/* 801C7F6C 001C4ECC 7C 04 30 00 */ cmpw r4, r6
/* 801C7F70 001C4ED0 40 80 00 08 */ bge lbl_801C7F78
lbl_801C7F74:
/* 801C7F74 001C4ED4 42 00 00 00 */ bdnz lbl_801C7F74
lbl_801C7F78:
/* 801C7F78 001C4ED8 38 00 00 00 */ li r0, 0
/* 801C7F7C 001C4EDC 90 01 01 18 */ stw r0, 0x118(r1)
/* 801C7F80 001C4EE0 48 00 0D E0 */ b lbl_801C8D60
lbl_801C7F84:
/* 801C7F84 001C4EE4 80 99 00 DC */ lwz r4, 0xdc(r25)
/* 801C7F88 001C4EE8 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e
/* 801C7F8C 001C4EEC 40 82 00 0C */ bne lbl_801C7F98
/* 801C7F90 001C4EF0 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d
/* 801C7F94 001C4EF4 41 82 00 40 */ beq lbl_801C7FD4
lbl_801C7F98:
/* 801C7F98 001C4EF8 80 01 01 18 */ lwz r0, 0x118(r1)
/* 801C7F9C 001C4EFC 38 81 01 1C */ addi r4, r1, 0x11c
/* 801C7FA0 001C4F00 3B C0 00 01 */ li r30, 1
/* 801C7FA4 001C4F04 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C7FA8 001C4F08 7C 84 02 15 */ add. r4, r4, r0
/* 801C7FAC 001C4F0C 41 82 00 1C */ beq lbl_801C7FC8
/* 801C7FB0 001C4F10 C0 01 00 BC */ lfs f0, 0xbc(r1)
/* 801C7FB4 001C4F14 C0 21 00 C0 */ lfs f1, 0xc0(r1)
/* 801C7FB8 001C4F18 D0 04 00 00 */ stfs f0, 0(r4)
/* 801C7FBC 001C4F1C C0 01 00 C4 */ lfs f0, 0xc4(r1)
/* 801C7FC0 001C4F20 D0 24 00 04 */ stfs f1, 4(r4)
/* 801C7FC4 001C4F24 D0 04 00 08 */ stfs f0, 8(r4)
lbl_801C7FC8:
/* 801C7FC8 001C4F28 80 81 01 18 */ lwz r4, 0x118(r1)
/* 801C7FCC 001C4F2C 38 04 00 01 */ addi r0, r4, 1
/* 801C7FD0 001C4F30 90 01 01 18 */ stw r0, 0x118(r1)
lbl_801C7FD4:
/* 801C7FD4 001C4F34 80 01 01 04 */ lwz r0, 0x104(r1)
/* 801C7FD8 001C4F38 38 81 01 08 */ addi r4, r1, 0x108
/* 801C7FDC 001C4F3C 54 00 10 3A */ slwi r0, r0, 2
/* 801C7FE0 001C4F40 7C 84 02 15 */ add. r4, r4, r0
/* 801C7FE4 001C4F44 41 82 00 08 */ beq lbl_801C7FEC
/* 801C7FE8 001C4F48 90 64 00 00 */ stw r3, 0(r4)
lbl_801C7FEC:
/* 801C7FEC 001C4F4C 80 61 01 04 */ lwz r3, 0x104(r1)
/* 801C7FF0 001C4F50 38 03 00 01 */ addi r0, r3, 1
/* 801C7FF4 001C4F54 90 01 01 04 */ stw r0, 0x104(r1)
/* 801C7FF8 001C4F58 80 79 00 00 */ lwz r3, 0(r25)
/* 801C7FFC 001C4F5C C0 23 00 08 */ lfs f1, 8(r3)
/* 801C8000 001C4F60 C0 43 00 0C */ lfs f2, 0xc(r3)
/* 801C8004 001C4F64 C0 03 00 04 */ lfs f0, 4(r3)
/* 801C8008 001C4F68 D0 01 00 BC */ stfs f0, 0xbc(r1)
/* 801C800C 001C4F6C D0 21 00 C0 */ stfs f1, 0xc0(r1)
/* 801C8010 001C4F70 D0 41 00 C4 */ stfs f2, 0xc4(r1)
lbl_801C8014:
/* 801C8014 001C4F74 C0 41 00 B0 */ lfs f2, 0xb0(r1)
/* 801C8018 001C4F78 38 00 00 00 */ li r0, 0
/* 801C801C 001C4F7C C0 21 00 B4 */ lfs f1, 0xb4(r1)
/* 801C8020 001C4F80 38 81 00 F0 */ addi r4, r1, 0xf0
/* 801C8024 001C4F84 C0 01 00 B8 */ lfs f0, 0xb8(r1)
/* 801C8028 001C4F88 38 A1 00 B0 */ addi r5, r1, 0xb0
/* 801C802C 001C4F8C D0 41 00 A4 */ stfs f2, 0xa4(r1)
/* 801C8030 001C4F90 D0 21 00 A8 */ stfs f1, 0xa8(r1)
/* 801C8034 001C4F94 D0 01 00 AC */ stfs f0, 0xac(r1)
/* 801C8038 001C4F98 90 01 00 F0 */ stw r0, 0xf0(r1)
/* 801C803C 001C4F9C 80 79 00 00 */ lwz r3, 0(r25)
/* 801C8040 001C4FA0 80 D9 00 DC */ lwz r6, 0xdc(r25)
/* 801C8044 001C4FA4 80 F9 00 E0 */ lwz r7, 0xe0(r25)
/* 801C8048 001C4FA8 48 00 29 FD */ bl "FindRegions__7CPFAreaFRQ24rstl30reserved_vector<P9CPFRegion,4>RC9CVector3fUiUi"
/* 801C804C 001C4FAC 2C 03 00 00 */ cmpwi r3, 0
/* 801C8050 001C4FB0 40 82 01 80 */ bne lbl_801C81D0
/* 801C8054 001C4FB4 80 79 00 00 */ lwz r3, 0(r25)
/* 801C8058 001C4FB8 38 81 00 B0 */ addi r4, r1, 0xb0
/* 801C805C 001C4FBC 80 B9 00 DC */ lwz r5, 0xdc(r25)
/* 801C8060 001C4FC0 80 D9 00 E0 */ lwz r6, 0xe0(r25)
/* 801C8064 001C4FC4 C0 39 00 D8 */ lfs f1, 0xd8(r25)
/* 801C8068 001C4FC8 48 00 27 35 */ bl FindClosestRegion__7CPFAreaFRC9CVector3fUif
/* 801C806C 001C4FCC 28 03 00 00 */ cmplwi r3, 0
/* 801C8070 001C4FD0 40 82 01 08 */ bne lbl_801C8178
/* 801C8074 001C4FD4 38 00 00 03 */ li r0, 3
/* 801C8078 001C4FD8 38 80 00 00 */ li r4, 0
/* 801C807C 001C4FDC 90 19 00 CC */ stw r0, 0xcc(r25)
/* 801C8080 001C4FE0 80 C1 00 F0 */ lwz r6, 0xf0(r1)
/* 801C8084 001C4FE4 80 79 00 CC */ lwz r3, 0xcc(r25)
/* 801C8088 001C4FE8 2C 06 00 00 */ cmpwi r6, 0
/* 801C808C 001C4FEC 40 81 00 40 */ ble lbl_801C80CC
/* 801C8090 001C4FF0 2C 06 00 08 */ cmpwi r6, 8
/* 801C8094 001C4FF4 38 A6 FF F8 */ addi r5, r6, -8
/* 801C8098 001C4FF8 40 81 00 20 */ ble lbl_801C80B8
/* 801C809C 001C4FFC 38 05 00 07 */ addi r0, r5, 7
/* 801C80A0 001C5000 54 00 E8 FE */ srwi r0, r0, 3
/* 801C80A4 001C5004 7C 09 03 A6 */ mtctr r0
/* 801C80A8 001C5008 2C 05 00 00 */ cmpwi r5, 0
/* 801C80AC 001C500C 40 81 00 0C */ ble lbl_801C80B8
lbl_801C80B0:
/* 801C80B0 001C5010 38 84 00 08 */ addi r4, r4, 8
/* 801C80B4 001C5014 42 00 FF FC */ bdnz lbl_801C80B0
lbl_801C80B8:
/* 801C80B8 001C5018 7C 04 30 50 */ subf r0, r4, r6
/* 801C80BC 001C501C 7C 09 03 A6 */ mtctr r0
/* 801C80C0 001C5020 7C 04 30 00 */ cmpw r4, r6
/* 801C80C4 001C5024 40 80 00 08 */ bge lbl_801C80CC
lbl_801C80C8:
/* 801C80C8 001C5028 42 00 00 00 */ bdnz lbl_801C80C8
lbl_801C80CC:
/* 801C80CC 001C502C 80 C1 01 04 */ lwz r6, 0x104(r1)
/* 801C80D0 001C5030 38 80 00 00 */ li r4, 0
/* 801C80D4 001C5034 90 81 00 F0 */ stw r4, 0xf0(r1)
/* 801C80D8 001C5038 2C 06 00 00 */ cmpwi r6, 0
/* 801C80DC 001C503C 40 81 00 40 */ ble lbl_801C811C
/* 801C80E0 001C5040 2C 06 00 08 */ cmpwi r6, 8
/* 801C80E4 001C5044 38 A6 FF F8 */ addi r5, r6, -8
/* 801C80E8 001C5048 40 81 00 20 */ ble lbl_801C8108
/* 801C80EC 001C504C 38 05 00 07 */ addi r0, r5, 7
/* 801C80F0 001C5050 54 00 E8 FE */ srwi r0, r0, 3
/* 801C80F4 001C5054 7C 09 03 A6 */ mtctr r0
/* 801C80F8 001C5058 2C 05 00 00 */ cmpwi r5, 0
/* 801C80FC 001C505C 40 81 00 0C */ ble lbl_801C8108
lbl_801C8100:
/* 801C8100 001C5060 38 84 00 08 */ addi r4, r4, 8
/* 801C8104 001C5064 42 00 FF FC */ bdnz lbl_801C8100
lbl_801C8108:
/* 801C8108 001C5068 7C 04 30 50 */ subf r0, r4, r6
/* 801C810C 001C506C 7C 09 03 A6 */ mtctr r0
/* 801C8110 001C5070 7C 04 30 00 */ cmpw r4, r6
/* 801C8114 001C5074 40 80 00 08 */ bge lbl_801C811C
lbl_801C8118:
/* 801C8118 001C5078 42 00 00 00 */ bdnz lbl_801C8118
lbl_801C811C:
/* 801C811C 001C507C 80 C1 01 18 */ lwz r6, 0x118(r1)
/* 801C8120 001C5080 38 80 00 00 */ li r4, 0
/* 801C8124 001C5084 90 81 01 04 */ stw r4, 0x104(r1)
/* 801C8128 001C5088 2C 06 00 00 */ cmpwi r6, 0
/* 801C812C 001C508C 40 81 00 40 */ ble lbl_801C816C
/* 801C8130 001C5090 2C 06 00 08 */ cmpwi r6, 8
/* 801C8134 001C5094 38 A6 FF F8 */ addi r5, r6, -8
/* 801C8138 001C5098 40 81 00 20 */ ble lbl_801C8158
/* 801C813C 001C509C 38 05 00 07 */ addi r0, r5, 7
/* 801C8140 001C50A0 54 00 E8 FE */ srwi r0, r0, 3
/* 801C8144 001C50A4 7C 09 03 A6 */ mtctr r0
/* 801C8148 001C50A8 2C 05 00 00 */ cmpwi r5, 0
/* 801C814C 001C50AC 40 81 00 0C */ ble lbl_801C8158
lbl_801C8150:
/* 801C8150 001C50B0 38 84 00 08 */ addi r4, r4, 8
/* 801C8154 001C50B4 42 00 FF FC */ bdnz lbl_801C8150
lbl_801C8158:
/* 801C8158 001C50B8 7C 04 30 50 */ subf r0, r4, r6
/* 801C815C 001C50BC 7C 09 03 A6 */ mtctr r0
/* 801C8160 001C50C0 7C 04 30 00 */ cmpw r4, r6
/* 801C8164 001C50C4 40 80 00 08 */ bge lbl_801C816C
lbl_801C8168:
/* 801C8168 001C50C8 42 00 00 00 */ bdnz lbl_801C8168
lbl_801C816C:
/* 801C816C 001C50CC 38 00 00 00 */ li r0, 0
/* 801C8170 001C50D0 90 01 01 18 */ stw r0, 0x118(r1)
/* 801C8174 001C50D4 48 00 0B EC */ b lbl_801C8D60
lbl_801C8178:
/* 801C8178 001C50D8 80 99 00 DC */ lwz r4, 0xdc(r25)
/* 801C817C 001C50DC 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e
/* 801C8180 001C50E0 40 82 00 0C */ bne lbl_801C818C
/* 801C8184 001C50E4 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d
/* 801C8188 001C50E8 41 82 00 08 */ beq lbl_801C8190
lbl_801C818C:
/* 801C818C 001C50EC 3B A0 00 01 */ li r29, 1
lbl_801C8190:
/* 801C8190 001C50F0 80 01 00 F0 */ lwz r0, 0xf0(r1)
/* 801C8194 001C50F4 38 81 00 F4 */ addi r4, r1, 0xf4
/* 801C8198 001C50F8 54 00 10 3A */ slwi r0, r0, 2
/* 801C819C 001C50FC 7C 84 02 15 */ add. r4, r4, r0
/* 801C81A0 001C5100 41 82 00 08 */ beq lbl_801C81A8
/* 801C81A4 001C5104 90 64 00 00 */ stw r3, 0(r4)
lbl_801C81A8:
/* 801C81A8 001C5108 80 61 00 F0 */ lwz r3, 0xf0(r1)
/* 801C81AC 001C510C 38 03 00 01 */ addi r0, r3, 1
/* 801C81B0 001C5110 90 01 00 F0 */ stw r0, 0xf0(r1)
/* 801C81B4 001C5114 80 79 00 00 */ lwz r3, 0(r25)
/* 801C81B8 001C5118 C0 23 00 08 */ lfs f1, 8(r3)
/* 801C81BC 001C511C C0 43 00 0C */ lfs f2, 0xc(r3)
/* 801C81C0 001C5120 C0 03 00 04 */ lfs f0, 4(r3)
/* 801C81C4 001C5124 D0 01 00 B0 */ stfs f0, 0xb0(r1)
/* 801C81C8 001C5128 D0 21 00 B4 */ stfs f1, 0xb4(r1)
/* 801C81CC 001C512C D0 41 00 B8 */ stfs f2, 0xb8(r1)
lbl_801C81D0:
/* 801C81D0 001C5130 38 00 00 00 */ li r0, 0
/* 801C81D4 001C5134 3A E1 00 F4 */ addi r23, r1, 0xf4
/* 801C81D8 001C5138 90 01 00 DC */ stw r0, 0xdc(r1)
/* 801C81DC 001C513C 3B 61 01 08 */ addi r27, r1, 0x108
/* 801C81E0 001C5140 3A C1 00 E0 */ addi r22, r1, 0xe0
/* 801C81E4 001C5144 3B 81 00 CC */ addi r28, r1, 0xcc
/* 801C81E8 001C5148 90 01 00 C8 */ stw r0, 0xc8(r1)
/* 801C81EC 001C514C 3A 60 00 01 */ li r19, 1
/* 801C81F0 001C5150 3A 80 00 00 */ li r20, 0
/* 801C81F4 001C5154 48 00 03 E0 */ b lbl_801C85D4
lbl_801C81F8:
/* 801C81F8 001C5158 7E F8 BB 78 */ mr r24, r23
/* 801C81FC 001C515C 3A A0 00 00 */ li r21, 0
/* 801C8200 001C5160 48 00 03 C0 */ b lbl_801C85C0
lbl_801C8204:
/* 801C8204 001C5164 80 9B 00 00 */ lwz r4, 0(r27)
/* 801C8208 001C5168 80 B8 00 00 */ lwz r5, 0(r24)
/* 801C820C 001C516C 7C 04 28 40 */ cmplw r4, r5
/* 801C8210 001C5170 40 82 02 E0 */ bne lbl_801C84F0
/* 801C8214 001C5174 80 79 00 DC */ lwz r3, 0xdc(r25)
/* 801C8218 001C5178 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 801C821C 001C517C 40 82 00 28 */ bne lbl_801C8244
/* 801C8220 001C5180 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 801C8224 001C5184 40 82 00 20 */ bne lbl_801C8244
/* 801C8228 001C5188 56 B2 10 3A */ slwi r18, r21, 2
/* 801C822C 001C518C 38 81 00 BC */ addi r4, r1, 0xbc
/* 801C8230 001C5190 7C 77 90 2E */ lwzx r3, r23, r18
/* 801C8234 001C5194 48 00 12 C9 */ bl DropToGround__9CPFRegionCFR9CVector3f
/* 801C8238 001C5198 7C 77 90 2E */ lwzx r3, r23, r18
/* 801C823C 001C519C 38 81 00 B0 */ addi r4, r1, 0xb0
/* 801C8240 001C51A0 48 00 12 BD */ bl DropToGround__9CPFRegionCFR9CVector3f
lbl_801C8244:
/* 801C8244 001C51A4 80 99 00 00 */ lwz r4, 0(r25)
/* 801C8248 001C51A8 38 61 00 80 */ addi r3, r1, 0x80
/* 801C824C 001C51AC 38 A1 00 BC */ addi r5, r1, 0xbc
/* 801C8250 001C51B0 3A 44 01 88 */ addi r18, r4, 0x188
/* 801C8254 001C51B4 7E 44 93 78 */ mr r4, r18
/* 801C8258 001C51B8 48 14 A8 91 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 801C825C 001C51BC 80 19 00 04 */ lwz r0, 4(r25)
/* 801C8260 001C51C0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C8264 001C51C4 7C 7F 02 15 */ add. r3, r31, r0
/* 801C8268 001C51C8 41 82 00 1C */ beq lbl_801C8284
/* 801C826C 001C51CC C0 01 00 80 */ lfs f0, 0x80(r1)
/* 801C8270 001C51D0 D0 03 00 00 */ stfs f0, 0(r3)
/* 801C8274 001C51D4 C0 01 00 84 */ lfs f0, 0x84(r1)
/* 801C8278 001C51D8 D0 03 00 04 */ stfs f0, 4(r3)
/* 801C827C 001C51DC C0 01 00 88 */ lfs f0, 0x88(r1)
/* 801C8280 001C51E0 D0 03 00 08 */ stfs f0, 8(r3)
lbl_801C8284:
/* 801C8284 001C51E4 80 B9 00 04 */ lwz r5, 4(r25)
/* 801C8288 001C51E8 38 61 00 BC */ addi r3, r1, 0xbc
/* 801C828C 001C51EC C0 22 AB 30 */ lfs f1, lbl_805AC850@sda21(r2)
/* 801C8290 001C51F0 38 81 00 B0 */ addi r4, r1, 0xb0
/* 801C8294 001C51F4 38 05 00 01 */ addi r0, r5, 1
/* 801C8298 001C51F8 90 19 00 04 */ stw r0, 4(r25)
/* 801C829C 001C51FC 48 14 7C C9 */ bl close_enough__FRC9CVector3fRC9CVector3ff
/* 801C82A0 001C5200 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801C82A4 001C5204 40 82 00 48 */ bne lbl_801C82EC
/* 801C82A8 001C5208 7E 44 93 78 */ mr r4, r18
/* 801C82AC 001C520C 38 61 00 74 */ addi r3, r1, 0x74
/* 801C82B0 001C5210 38 A1 00 B0 */ addi r5, r1, 0xb0
/* 801C82B4 001C5214 48 14 A8 35 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 801C82B8 001C5218 80 19 00 04 */ lwz r0, 4(r25)
/* 801C82BC 001C521C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C82C0 001C5220 7C 7F 02 15 */ add. r3, r31, r0
/* 801C82C4 001C5224 41 82 00 1C */ beq lbl_801C82E0
/* 801C82C8 001C5228 C0 01 00 74 */ lfs f0, 0x74(r1)
/* 801C82CC 001C522C D0 03 00 00 */ stfs f0, 0(r3)
/* 801C82D0 001C5230 C0 01 00 78 */ lfs f0, 0x78(r1)
/* 801C82D4 001C5234 D0 03 00 04 */ stfs f0, 4(r3)
/* 801C82D8 001C5238 C0 01 00 7C */ lfs f0, 0x7c(r1)
/* 801C82DC 001C523C D0 03 00 08 */ stfs f0, 8(r3)
lbl_801C82E0:
/* 801C82E0 001C5240 80 79 00 04 */ lwz r3, 4(r25)
/* 801C82E4 001C5244 38 03 00 01 */ addi r0, r3, 1
/* 801C82E8 001C5248 90 19 00 04 */ stw r0, 4(r25)
lbl_801C82EC:
/* 801C82EC 001C524C 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 801C82F0 001C5250 41 82 00 60 */ beq lbl_801C8350
/* 801C82F4 001C5254 C0 22 AB 30 */ lfs f1, lbl_805AC850@sda21(r2)
/* 801C82F8 001C5258 38 61 00 B0 */ addi r3, r1, 0xb0
/* 801C82FC 001C525C 38 81 00 A4 */ addi r4, r1, 0xa4
/* 801C8300 001C5260 48 14 7C 65 */ bl close_enough__FRC9CVector3fRC9CVector3ff
/* 801C8304 001C5264 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801C8308 001C5268 40 82 00 48 */ bne lbl_801C8350
/* 801C830C 001C526C 7E 44 93 78 */ mr r4, r18
/* 801C8310 001C5270 38 61 00 68 */ addi r3, r1, 0x68
/* 801C8314 001C5274 38 A1 00 A4 */ addi r5, r1, 0xa4
/* 801C8318 001C5278 48 14 A7 D1 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 801C831C 001C527C 80 19 00 04 */ lwz r0, 4(r25)
/* 801C8320 001C5280 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C8324 001C5284 7C 7F 02 15 */ add. r3, r31, r0
/* 801C8328 001C5288 41 82 00 1C */ beq lbl_801C8344
/* 801C832C 001C528C C0 01 00 68 */ lfs f0, 0x68(r1)
/* 801C8330 001C5290 D0 03 00 00 */ stfs f0, 0(r3)
/* 801C8334 001C5294 C0 01 00 6C */ lfs f0, 0x6c(r1)
/* 801C8338 001C5298 D0 03 00 04 */ stfs f0, 4(r3)
/* 801C833C 001C529C C0 01 00 70 */ lfs f0, 0x70(r1)
/* 801C8340 001C52A0 D0 03 00 08 */ stfs f0, 8(r3)
lbl_801C8344:
/* 801C8344 001C52A4 80 79 00 04 */ lwz r3, 4(r25)
/* 801C8348 001C52A8 38 03 00 01 */ addi r0, r3, 1
/* 801C834C 001C52AC 90 19 00 04 */ stw r0, 4(r25)
lbl_801C8350:
/* 801C8350 001C52B0 38 80 00 00 */ li r4, 0
/* 801C8354 001C52B4 90 99 00 CC */ stw r4, 0xcc(r25)
/* 801C8358 001C52B8 80 C1 00 C8 */ lwz r6, 0xc8(r1)
/* 801C835C 001C52BC 80 79 00 CC */ lwz r3, 0xcc(r25)
/* 801C8360 001C52C0 2C 06 00 00 */ cmpwi r6, 0
/* 801C8364 001C52C4 40 81 00 40 */ ble lbl_801C83A4
/* 801C8368 001C52C8 2C 06 00 08 */ cmpwi r6, 8
/* 801C836C 001C52CC 38 A6 FF F8 */ addi r5, r6, -8
/* 801C8370 001C52D0 40 81 00 20 */ ble lbl_801C8390
/* 801C8374 001C52D4 38 05 00 07 */ addi r0, r5, 7
/* 801C8378 001C52D8 54 00 E8 FE */ srwi r0, r0, 3
/* 801C837C 001C52DC 7C 09 03 A6 */ mtctr r0
/* 801C8380 001C52E0 2C 05 00 00 */ cmpwi r5, 0
/* 801C8384 001C52E4 40 81 00 0C */ ble lbl_801C8390
lbl_801C8388:
/* 801C8388 001C52E8 38 84 00 08 */ addi r4, r4, 8
/* 801C838C 001C52EC 42 00 FF FC */ bdnz lbl_801C8388
lbl_801C8390:
/* 801C8390 001C52F0 7C 04 30 50 */ subf r0, r4, r6
/* 801C8394 001C52F4 7C 09 03 A6 */ mtctr r0
/* 801C8398 001C52F8 7C 04 30 00 */ cmpw r4, r6
/* 801C839C 001C52FC 40 80 00 08 */ bge lbl_801C83A4
lbl_801C83A0:
/* 801C83A0 001C5300 42 00 00 00 */ bdnz lbl_801C83A0
lbl_801C83A4:
/* 801C83A4 001C5304 80 C1 00 DC */ lwz r6, 0xdc(r1)
/* 801C83A8 001C5308 38 80 00 00 */ li r4, 0
/* 801C83AC 001C530C 90 81 00 C8 */ stw r4, 0xc8(r1)
/* 801C83B0 001C5310 2C 06 00 00 */ cmpwi r6, 0
/* 801C83B4 001C5314 40 81 00 40 */ ble lbl_801C83F4
/* 801C83B8 001C5318 2C 06 00 08 */ cmpwi r6, 8
/* 801C83BC 001C531C 38 A6 FF F8 */ addi r5, r6, -8
/* 801C83C0 001C5320 40 81 00 20 */ ble lbl_801C83E0
/* 801C83C4 001C5324 38 05 00 07 */ addi r0, r5, 7
/* 801C83C8 001C5328 54 00 E8 FE */ srwi r0, r0, 3
/* 801C83CC 001C532C 7C 09 03 A6 */ mtctr r0
/* 801C83D0 001C5330 2C 05 00 00 */ cmpwi r5, 0
/* 801C83D4 001C5334 40 81 00 0C */ ble lbl_801C83E0
lbl_801C83D8:
/* 801C83D8 001C5338 38 84 00 08 */ addi r4, r4, 8
/* 801C83DC 001C533C 42 00 FF FC */ bdnz lbl_801C83D8
lbl_801C83E0:
/* 801C83E0 001C5340 7C 04 30 50 */ subf r0, r4, r6
/* 801C83E4 001C5344 7C 09 03 A6 */ mtctr r0
/* 801C83E8 001C5348 7C 04 30 00 */ cmpw r4, r6
/* 801C83EC 001C534C 40 80 00 08 */ bge lbl_801C83F4
lbl_801C83F0:
/* 801C83F0 001C5350 42 00 00 00 */ bdnz lbl_801C83F0
lbl_801C83F4:
/* 801C83F4 001C5354 80 C1 00 F0 */ lwz r6, 0xf0(r1)
/* 801C83F8 001C5358 38 80 00 00 */ li r4, 0
/* 801C83FC 001C535C 90 81 00 DC */ stw r4, 0xdc(r1)
/* 801C8400 001C5360 2C 06 00 00 */ cmpwi r6, 0
/* 801C8404 001C5364 40 81 00 40 */ ble lbl_801C8444
/* 801C8408 001C5368 2C 06 00 08 */ cmpwi r6, 8
/* 801C840C 001C536C 38 A6 FF F8 */ addi r5, r6, -8
/* 801C8410 001C5370 40 81 00 20 */ ble lbl_801C8430
/* 801C8414 001C5374 38 05 00 07 */ addi r0, r5, 7
/* 801C8418 001C5378 54 00 E8 FE */ srwi r0, r0, 3
/* 801C841C 001C537C 7C 09 03 A6 */ mtctr r0
/* 801C8420 001C5380 2C 05 00 00 */ cmpwi r5, 0
/* 801C8424 001C5384 40 81 00 0C */ ble lbl_801C8430
lbl_801C8428:
/* 801C8428 001C5388 38 84 00 08 */ addi r4, r4, 8
/* 801C842C 001C538C 42 00 FF FC */ bdnz lbl_801C8428
lbl_801C8430:
/* 801C8430 001C5390 7C 04 30 50 */ subf r0, r4, r6
/* 801C8434 001C5394 7C 09 03 A6 */ mtctr r0
/* 801C8438 001C5398 7C 04 30 00 */ cmpw r4, r6
/* 801C843C 001C539C 40 80 00 08 */ bge lbl_801C8444
lbl_801C8440:
/* 801C8440 001C53A0 42 00 00 00 */ bdnz lbl_801C8440
lbl_801C8444:
/* 801C8444 001C53A4 80 C1 01 04 */ lwz r6, 0x104(r1)
/* 801C8448 001C53A8 38 80 00 00 */ li r4, 0
/* 801C844C 001C53AC 90 81 00 F0 */ stw r4, 0xf0(r1)
/* 801C8450 001C53B0 2C 06 00 00 */ cmpwi r6, 0
/* 801C8454 001C53B4 40 81 00 40 */ ble lbl_801C8494
/* 801C8458 001C53B8 2C 06 00 08 */ cmpwi r6, 8
/* 801C845C 001C53BC 38 A6 FF F8 */ addi r5, r6, -8
/* 801C8460 001C53C0 40 81 00 20 */ ble lbl_801C8480
/* 801C8464 001C53C4 38 05 00 07 */ addi r0, r5, 7
/* 801C8468 001C53C8 54 00 E8 FE */ srwi r0, r0, 3
/* 801C846C 001C53CC 7C 09 03 A6 */ mtctr r0
/* 801C8470 001C53D0 2C 05 00 00 */ cmpwi r5, 0
/* 801C8474 001C53D4 40 81 00 0C */ ble lbl_801C8480
lbl_801C8478:
/* 801C8478 001C53D8 38 84 00 08 */ addi r4, r4, 8
/* 801C847C 001C53DC 42 00 FF FC */ bdnz lbl_801C8478
lbl_801C8480:
/* 801C8480 001C53E0 7C 04 30 50 */ subf r0, r4, r6
/* 801C8484 001C53E4 7C 09 03 A6 */ mtctr r0
/* 801C8488 001C53E8 7C 04 30 00 */ cmpw r4, r6
/* 801C848C 001C53EC 40 80 00 08 */ bge lbl_801C8494
lbl_801C8490:
/* 801C8490 001C53F0 42 00 00 00 */ bdnz lbl_801C8490
lbl_801C8494:
/* 801C8494 001C53F4 80 C1 01 18 */ lwz r6, 0x118(r1)
/* 801C8498 001C53F8 38 80 00 00 */ li r4, 0
/* 801C849C 001C53FC 90 81 01 04 */ stw r4, 0x104(r1)
/* 801C84A0 001C5400 2C 06 00 00 */ cmpwi r6, 0
/* 801C84A4 001C5404 40 81 00 40 */ ble lbl_801C84E4
/* 801C84A8 001C5408 2C 06 00 08 */ cmpwi r6, 8
/* 801C84AC 001C540C 38 A6 FF F8 */ addi r5, r6, -8
/* 801C84B0 001C5410 40 81 00 20 */ ble lbl_801C84D0
/* 801C84B4 001C5414 38 05 00 07 */ addi r0, r5, 7
/* 801C84B8 001C5418 54 00 E8 FE */ srwi r0, r0, 3
/* 801C84BC 001C541C 7C 09 03 A6 */ mtctr r0
/* 801C84C0 001C5420 2C 05 00 00 */ cmpwi r5, 0
/* 801C84C4 001C5424 40 81 00 0C */ ble lbl_801C84D0
lbl_801C84C8:
/* 801C84C8 001C5428 38 84 00 08 */ addi r4, r4, 8
/* 801C84CC 001C542C 42 00 FF FC */ bdnz lbl_801C84C8
lbl_801C84D0:
/* 801C84D0 001C5430 7C 04 30 50 */ subf r0, r4, r6
/* 801C84D4 001C5434 7C 09 03 A6 */ mtctr r0
/* 801C84D8 001C5438 7C 04 30 00 */ cmpw r4, r6
/* 801C84DC 001C543C 40 80 00 08 */ bge lbl_801C84E4
lbl_801C84E0:
/* 801C84E0 001C5440 42 00 00 00 */ bdnz lbl_801C84E0
lbl_801C84E4:
/* 801C84E4 001C5444 38 00 00 00 */ li r0, 0
/* 801C84E8 001C5448 90 01 01 18 */ stw r0, 0x118(r1)
/* 801C84EC 001C544C 48 00 08 74 */ b lbl_801C8D60
lbl_801C84F0:
/* 801C84F0 001C5450 80 79 00 00 */ lwz r3, 0(r25)
/* 801C84F4 001C5454 80 D9 00 DC */ lwz r6, 0xdc(r25)
/* 801C84F8 001C5458 48 00 20 35 */ bl PathExists__7CPFAreaCFPC9CPFRegionPC9CPFRegionUi
/* 801C84FC 001C545C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801C8500 001C5460 41 82 00 B8 */ beq lbl_801C85B8
/* 801C8504 001C5464 80 A1 00 DC */ lwz r5, 0xdc(r1)
/* 801C8508 001C5468 54 A0 10 3A */ slwi r0, r5, 2
/* 801C850C 001C546C 7C A6 2B 78 */ mr r6, r5
/* 801C8510 001C5470 7C 96 02 14 */ add r4, r22, r0
/* 801C8514 001C5474 48 00 00 14 */ b lbl_801C8528
lbl_801C8518:
/* 801C8518 001C5478 80 64 00 00 */ lwz r3, 0(r4)
/* 801C851C 001C547C 80 1B 00 00 */ lwz r0, 0(r27)
/* 801C8520 001C5480 7C 03 00 40 */ cmplw r3, r0
/* 801C8524 001C5484 41 82 00 10 */ beq lbl_801C8534
lbl_801C8528:
/* 801C8528 001C5488 34 C6 FF FF */ addic. r6, r6, -1
/* 801C852C 001C548C 38 84 FF FC */ addi r4, r4, -4
/* 801C8530 001C5490 40 80 FF E8 */ bge lbl_801C8518
lbl_801C8534:
/* 801C8534 001C5494 2C 06 00 00 */ cmpwi r6, 0
/* 801C8538 001C5498 40 80 00 24 */ bge lbl_801C855C
/* 801C853C 001C549C 54 A0 10 3A */ slwi r0, r5, 2
/* 801C8540 001C54A0 7C 76 02 15 */ add. r3, r22, r0
/* 801C8544 001C54A4 41 82 00 0C */ beq lbl_801C8550
/* 801C8548 001C54A8 80 1B 00 00 */ lwz r0, 0(r27)
/* 801C854C 001C54AC 90 03 00 00 */ stw r0, 0(r3)
lbl_801C8550:
/* 801C8550 001C54B0 80 61 00 DC */ lwz r3, 0xdc(r1)
/* 801C8554 001C54B4 38 03 00 01 */ addi r0, r3, 1
/* 801C8558 001C54B8 90 01 00 DC */ stw r0, 0xdc(r1)
lbl_801C855C:
/* 801C855C 001C54BC 80 A1 00 C8 */ lwz r5, 0xc8(r1)
/* 801C8560 001C54C0 54 A0 10 3A */ slwi r0, r5, 2
/* 801C8564 001C54C4 7C A6 2B 78 */ mr r6, r5
/* 801C8568 001C54C8 7C 9C 02 14 */ add r4, r28, r0
/* 801C856C 001C54CC 48 00 00 14 */ b lbl_801C8580
lbl_801C8570:
/* 801C8570 001C54D0 80 64 00 00 */ lwz r3, 0(r4)
/* 801C8574 001C54D4 80 18 00 00 */ lwz r0, 0(r24)
/* 801C8578 001C54D8 7C 03 00 40 */ cmplw r3, r0
/* 801C857C 001C54DC 41 82 00 10 */ beq lbl_801C858C
lbl_801C8580:
/* 801C8580 001C54E0 34 C6 FF FF */ addic. r6, r6, -1
/* 801C8584 001C54E4 38 84 FF FC */ addi r4, r4, -4
/* 801C8588 001C54E8 40 80 FF E8 */ bge lbl_801C8570
lbl_801C858C:
/* 801C858C 001C54EC 2C 06 00 00 */ cmpwi r6, 0
/* 801C8590 001C54F0 40 80 00 24 */ bge lbl_801C85B4
/* 801C8594 001C54F4 54 A0 10 3A */ slwi r0, r5, 2
/* 801C8598 001C54F8 7C 7C 02 15 */ add. r3, r28, r0
/* 801C859C 001C54FC 41 82 00 0C */ beq lbl_801C85A8
/* 801C85A0 001C5500 80 18 00 00 */ lwz r0, 0(r24)
/* 801C85A4 001C5504 90 03 00 00 */ stw r0, 0(r3)
lbl_801C85A8:
/* 801C85A8 001C5508 80 61 00 C8 */ lwz r3, 0xc8(r1)
/* 801C85AC 001C550C 38 03 00 01 */ addi r0, r3, 1
/* 801C85B0 001C5510 90 01 00 C8 */ stw r0, 0xc8(r1)
lbl_801C85B4:
/* 801C85B4 001C5514 3A 60 00 00 */ li r19, 0
lbl_801C85B8:
/* 801C85B8 001C5518 3B 18 00 04 */ addi r24, r24, 4
/* 801C85BC 001C551C 3A B5 00 01 */ addi r21, r21, 1
lbl_801C85C0:
/* 801C85C0 001C5520 80 01 00 F0 */ lwz r0, 0xf0(r1)
/* 801C85C4 001C5524 7C 15 00 00 */ cmpw r21, r0
/* 801C85C8 001C5528 41 80 FC 3C */ blt lbl_801C8204
/* 801C85CC 001C552C 3B 7B 00 04 */ addi r27, r27, 4
/* 801C85D0 001C5530 3A 94 00 01 */ addi r20, r20, 1
lbl_801C85D4:
/* 801C85D4 001C5534 80 01 01 04 */ lwz r0, 0x104(r1)
/* 801C85D8 001C5538 7C 14 00 00 */ cmpw r20, r0
/* 801C85DC 001C553C 41 80 FC 1C */ blt lbl_801C81F8
/* 801C85E0 001C5540 56 60 06 3F */ clrlwi. r0, r19, 0x18
/* 801C85E4 001C5544 40 82 00 24 */ bne lbl_801C8608
/* 801C85E8 001C5548 7F 23 CB 78 */ mr r3, r25
/* 801C85EC 001C554C 38 81 00 DC */ addi r4, r1, 0xdc
/* 801C85F0 001C5550 38 A1 00 BC */ addi r5, r1, 0xbc
/* 801C85F4 001C5554 38 C1 00 C8 */ addi r6, r1, 0xc8
/* 801C85F8 001C5558 38 E1 00 B0 */ addi r7, r1, 0xb0
/* 801C85FC 001C555C 4B FF ED B9 */ bl "Search__15CPathFindSearchFRQ24rstl30reserved_vector<P9CPFRegion,4>RC9CVector3fRQ24rstl30reserved_vector<P9CPFRegion,4>RC9CVector3f"
/* 801C8600 001C5560 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801C8604 001C5564 40 82 01 A8 */ bne lbl_801C87AC
lbl_801C8608:
/* 801C8608 001C5568 38 00 00 04 */ li r0, 4
/* 801C860C 001C556C 38 80 00 00 */ li r4, 0
/* 801C8610 001C5570 90 19 00 CC */ stw r0, 0xcc(r25)
/* 801C8614 001C5574 80 C1 00 C8 */ lwz r6, 0xc8(r1)
/* 801C8618 001C5578 80 79 00 CC */ lwz r3, 0xcc(r25)
/* 801C861C 001C557C 2C 06 00 00 */ cmpwi r6, 0
/* 801C8620 001C5580 40 81 00 40 */ ble lbl_801C8660
/* 801C8624 001C5584 2C 06 00 08 */ cmpwi r6, 8
/* 801C8628 001C5588 38 A6 FF F8 */ addi r5, r6, -8
/* 801C862C 001C558C 40 81 00 20 */ ble lbl_801C864C
/* 801C8630 001C5590 38 05 00 07 */ addi r0, r5, 7
/* 801C8634 001C5594 54 00 E8 FE */ srwi r0, r0, 3
/* 801C8638 001C5598 7C 09 03 A6 */ mtctr r0
/* 801C863C 001C559C 2C 05 00 00 */ cmpwi r5, 0
/* 801C8640 001C55A0 40 81 00 0C */ ble lbl_801C864C
lbl_801C8644:
/* 801C8644 001C55A4 38 84 00 08 */ addi r4, r4, 8
/* 801C8648 001C55A8 42 00 FF FC */ bdnz lbl_801C8644
lbl_801C864C:
/* 801C864C 001C55AC 7C 04 30 50 */ subf r0, r4, r6
/* 801C8650 001C55B0 7C 09 03 A6 */ mtctr r0
/* 801C8654 001C55B4 7C 04 30 00 */ cmpw r4, r6
/* 801C8658 001C55B8 40 80 00 08 */ bge lbl_801C8660
lbl_801C865C:
/* 801C865C 001C55BC 42 00 00 00 */ bdnz lbl_801C865C
lbl_801C8660:
/* 801C8660 001C55C0 80 C1 00 DC */ lwz r6, 0xdc(r1)
/* 801C8664 001C55C4 38 80 00 00 */ li r4, 0
/* 801C8668 001C55C8 90 81 00 C8 */ stw r4, 0xc8(r1)
/* 801C866C 001C55CC 2C 06 00 00 */ cmpwi r6, 0
/* 801C8670 001C55D0 40 81 00 40 */ ble lbl_801C86B0
/* 801C8674 001C55D4 2C 06 00 08 */ cmpwi r6, 8
/* 801C8678 001C55D8 38 A6 FF F8 */ addi r5, r6, -8
/* 801C867C 001C55DC 40 81 00 20 */ ble lbl_801C869C
/* 801C8680 001C55E0 38 05 00 07 */ addi r0, r5, 7
/* 801C8684 001C55E4 54 00 E8 FE */ srwi r0, r0, 3
/* 801C8688 001C55E8 7C 09 03 A6 */ mtctr r0
/* 801C868C 001C55EC 2C 05 00 00 */ cmpwi r5, 0
/* 801C8690 001C55F0 40 81 00 0C */ ble lbl_801C869C
lbl_801C8694:
/* 801C8694 001C55F4 38 84 00 08 */ addi r4, r4, 8
/* 801C8698 001C55F8 42 00 FF FC */ bdnz lbl_801C8694
lbl_801C869C:
/* 801C869C 001C55FC 7C 04 30 50 */ subf r0, r4, r6
/* 801C86A0 001C5600 7C 09 03 A6 */ mtctr r0
/* 801C86A4 001C5604 7C 04 30 00 */ cmpw r4, r6
/* 801C86A8 001C5608 40 80 00 08 */ bge lbl_801C86B0
lbl_801C86AC:
/* 801C86AC 001C560C 42 00 00 00 */ bdnz lbl_801C86AC
lbl_801C86B0:
/* 801C86B0 001C5610 80 C1 00 F0 */ lwz r6, 0xf0(r1)
/* 801C86B4 001C5614 38 80 00 00 */ li r4, 0
/* 801C86B8 001C5618 90 81 00 DC */ stw r4, 0xdc(r1)
/* 801C86BC 001C561C 2C 06 00 00 */ cmpwi r6, 0
/* 801C86C0 001C5620 40 81 00 40 */ ble lbl_801C8700
/* 801C86C4 001C5624 2C 06 00 08 */ cmpwi r6, 8
/* 801C86C8 001C5628 38 A6 FF F8 */ addi r5, r6, -8
/* 801C86CC 001C562C 40 81 00 20 */ ble lbl_801C86EC
/* 801C86D0 001C5630 38 05 00 07 */ addi r0, r5, 7
/* 801C86D4 001C5634 54 00 E8 FE */ srwi r0, r0, 3
/* 801C86D8 001C5638 7C 09 03 A6 */ mtctr r0
/* 801C86DC 001C563C 2C 05 00 00 */ cmpwi r5, 0
/* 801C86E0 001C5640 40 81 00 0C */ ble lbl_801C86EC
lbl_801C86E4:
/* 801C86E4 001C5644 38 84 00 08 */ addi r4, r4, 8
/* 801C86E8 001C5648 42 00 FF FC */ bdnz lbl_801C86E4
lbl_801C86EC:
/* 801C86EC 001C564C 7C 04 30 50 */ subf r0, r4, r6
/* 801C86F0 001C5650 7C 09 03 A6 */ mtctr r0
/* 801C86F4 001C5654 7C 04 30 00 */ cmpw r4, r6
/* 801C86F8 001C5658 40 80 00 08 */ bge lbl_801C8700
lbl_801C86FC:
/* 801C86FC 001C565C 42 00 00 00 */ bdnz lbl_801C86FC
lbl_801C8700:
/* 801C8700 001C5660 80 C1 01 04 */ lwz r6, 0x104(r1)
/* 801C8704 001C5664 38 80 00 00 */ li r4, 0
/* 801C8708 001C5668 90 81 00 F0 */ stw r4, 0xf0(r1)
/* 801C870C 001C566C 2C 06 00 00 */ cmpwi r6, 0
/* 801C8710 001C5670 40 81 00 40 */ ble lbl_801C8750
/* 801C8714 001C5674 2C 06 00 08 */ cmpwi r6, 8
/* 801C8718 001C5678 38 A6 FF F8 */ addi r5, r6, -8
/* 801C871C 001C567C 40 81 00 20 */ ble lbl_801C873C
/* 801C8720 001C5680 38 05 00 07 */ addi r0, r5, 7
/* 801C8724 001C5684 54 00 E8 FE */ srwi r0, r0, 3
/* 801C8728 001C5688 7C 09 03 A6 */ mtctr r0
/* 801C872C 001C568C 2C 05 00 00 */ cmpwi r5, 0
/* 801C8730 001C5690 40 81 00 0C */ ble lbl_801C873C
lbl_801C8734:
/* 801C8734 001C5694 38 84 00 08 */ addi r4, r4, 8
/* 801C8738 001C5698 42 00 FF FC */ bdnz lbl_801C8734
lbl_801C873C:
/* 801C873C 001C569C 7C 04 30 50 */ subf r0, r4, r6
/* 801C8740 001C56A0 7C 09 03 A6 */ mtctr r0
/* 801C8744 001C56A4 7C 04 30 00 */ cmpw r4, r6
/* 801C8748 001C56A8 40 80 00 08 */ bge lbl_801C8750
lbl_801C874C:
/* 801C874C 001C56AC 42 00 00 00 */ bdnz lbl_801C874C
lbl_801C8750:
/* 801C8750 001C56B0 80 C1 01 18 */ lwz r6, 0x118(r1)
/* 801C8754 001C56B4 38 80 00 00 */ li r4, 0
/* 801C8758 001C56B8 90 81 01 04 */ stw r4, 0x104(r1)
/* 801C875C 001C56BC 2C 06 00 00 */ cmpwi r6, 0
/* 801C8760 001C56C0 40 81 00 40 */ ble lbl_801C87A0
/* 801C8764 001C56C4 2C 06 00 08 */ cmpwi r6, 8
/* 801C8768 001C56C8 38 A6 FF F8 */ addi r5, r6, -8
/* 801C876C 001C56CC 40 81 00 20 */ ble lbl_801C878C
/* 801C8770 001C56D0 38 05 00 07 */ addi r0, r5, 7
/* 801C8774 001C56D4 54 00 E8 FE */ srwi r0, r0, 3
/* 801C8778 001C56D8 7C 09 03 A6 */ mtctr r0
/* 801C877C 001C56DC 2C 05 00 00 */ cmpwi r5, 0
/* 801C8780 001C56E0 40 81 00 0C */ ble lbl_801C878C
lbl_801C8784:
/* 801C8784 001C56E4 38 84 00 08 */ addi r4, r4, 8
/* 801C8788 001C56E8 42 00 FF FC */ bdnz lbl_801C8784
lbl_801C878C:
/* 801C878C 001C56EC 7C 04 30 50 */ subf r0, r4, r6
/* 801C8790 001C56F0 7C 09 03 A6 */ mtctr r0
/* 801C8794 001C56F4 7C 04 30 00 */ cmpw r4, r6
/* 801C8798 001C56F8 40 80 00 08 */ bge lbl_801C87A0
lbl_801C879C:
/* 801C879C 001C56FC 42 00 00 00 */ bdnz lbl_801C879C
lbl_801C87A0:
/* 801C87A0 001C5700 38 00 00 00 */ li r0, 0
/* 801C87A4 001C5704 90 01 01 18 */ stw r0, 0x118(r1)
/* 801C87A8 001C5708 48 00 05 B8 */ b lbl_801C8D60
lbl_801C87AC:
/* 801C87AC 001C570C 82 61 00 CC */ lwz r19, 0xcc(r1)
/* 801C87B0 001C5710 3A 80 00 00 */ li r20, 0
/* 801C87B4 001C5714 83 81 00 E0 */ lwz r28, 0xe0(r1)
/* 801C87B8 001C5718 7E 64 9B 78 */ mr r4, r19
lbl_801C87BC:
/* 801C87BC 001C571C 80 64 00 4C */ lwz r3, 0x4c(r4)
/* 801C87C0 001C5720 80 84 00 24 */ lwz r4, 0x24(r4)
/* 801C87C4 001C5724 82 43 00 20 */ lwz r18, 0x20(r3)
/* 801C87C8 001C5728 7E 43 93 78 */ mr r3, r18
/* 801C87CC 001C572C 48 00 0D 99 */ bl SetLinkTo__9CPFRegionFi
/* 801C87D0 001C5730 7C 12 E0 40 */ cmplw r18, r28
/* 801C87D4 001C5734 7E 44 93 78 */ mr r4, r18
/* 801C87D8 001C5738 3A 94 00 01 */ addi r20, r20, 1
/* 801C87DC 001C573C 40 82 FF E0 */ bne lbl_801C87BC
/* 801C87E0 001C5740 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 801C87E4 001C5744 3B 74 FF FF */ addi r27, r20, -1
/* 801C87E8 001C5748 7C 03 00 D0 */ neg r0, r3
/* 801C87EC 001C574C 3A E0 00 01 */ li r23, 1
/* 801C87F0 001C5750 7C 00 1B 78 */ or r0, r0, r3
/* 801C87F4 001C5754 54 03 0F FE */ srwi r3, r0, 0x1f
/* 801C87F8 001C5758 3B C3 00 01 */ addi r30, r3, 1
/* 801C87FC 001C575C 7F 7E DA 14 */ add r27, r30, r27
/* 801C8800 001C5760 2C 1B 00 10 */ cmpwi r27, 0x10
/* 801C8804 001C5764 41 80 00 08 */ blt lbl_801C880C
/* 801C8808 001C5768 3B 60 00 0F */ li r27, 0xf
lbl_801C880C:
/* 801C880C 001C576C 57 A3 06 3E */ clrlwi r3, r29, 0x18
/* 801C8810 001C5770 7C 03 00 D0 */ neg r0, r3
/* 801C8814 001C5774 7C 00 1B 78 */ or r0, r0, r3
/* 801C8818 001C5778 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801C881C 001C577C 7C 7B 02 14 */ add r3, r27, r0
/* 801C8820 001C5780 38 03 00 01 */ addi r0, r3, 1
/* 801C8824 001C5784 2C 00 00 10 */ cmpwi r0, 0x10
/* 801C8828 001C5788 41 80 00 08 */ blt lbl_801C8830
/* 801C882C 001C578C 3A E0 00 00 */ li r23, 0
lbl_801C8830:
/* 801C8830 001C5790 80 79 00 DC */ lwz r3, 0xdc(r25)
/* 801C8834 001C5794 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 801C8838 001C5798 40 82 00 24 */ bne lbl_801C885C
/* 801C883C 001C579C 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 801C8840 001C57A0 40 82 00 1C */ bne lbl_801C885C
/* 801C8844 001C57A4 7F 83 E3 78 */ mr r3, r28
/* 801C8848 001C57A8 38 81 00 BC */ addi r4, r1, 0xbc
/* 801C884C 001C57AC 48 00 0C B1 */ bl DropToGround__9CPFRegionCFR9CVector3f
/* 801C8850 001C57B0 7E 63 9B 78 */ mr r3, r19
/* 801C8854 001C57B4 38 81 00 B0 */ addi r4, r1, 0xb0
/* 801C8858 001C57B8 48 00 0C A5 */ bl DropToGround__9CPFRegionCFR9CVector3f
lbl_801C885C:
/* 801C885C 001C57BC 80 01 01 18 */ lwz r0, 0x118(r1)
/* 801C8860 001C57C0 3A C1 01 1C */ addi r22, r1, 0x11c
/* 801C8864 001C57C4 C0 22 AB 34 */ lfs f1, lbl_805AC854@sda21(r2)
/* 801C8868 001C57C8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C886C 001C57CC C0 19 00 D0 */ lfs f0, 0xd0(r25)
/* 801C8870 001C57D0 EF E1 00 32 */ fmuls f31, f1, f0
/* 801C8874 001C57D4 7C 76 02 15 */ add. r3, r22, r0
/* 801C8878 001C57D8 41 82 00 1C */ beq lbl_801C8894
/* 801C887C 001C57DC C0 01 00 BC */ lfs f0, 0xbc(r1)
/* 801C8880 001C57E0 C0 21 00 C0 */ lfs f1, 0xc0(r1)
/* 801C8884 001C57E4 D0 03 00 00 */ stfs f0, 0(r3)
/* 801C8888 001C57E8 C0 01 00 C4 */ lfs f0, 0xc4(r1)
/* 801C888C 001C57EC D0 23 00 04 */ stfs f1, 4(r3)
/* 801C8890 001C57F0 D0 03 00 08 */ stfs f0, 8(r3)
lbl_801C8894:
/* 801C8894 001C57F4 80 61 01 18 */ lwz r3, 0x118(r1)
/* 801C8898 001C57F8 7F 94 E3 78 */ mr r20, r28
/* 801C889C 001C57FC 7F D5 F3 78 */ mr r21, r30
/* 801C88A0 001C5800 38 03 00 01 */ addi r0, r3, 1
/* 801C88A4 001C5804 90 01 01 18 */ stw r0, 0x118(r1)
/* 801C88A8 001C5808 48 00 00 D0 */ b lbl_801C8978
lbl_801C88AC:
/* 801C88AC 001C580C 80 D4 00 4C */ lwz r6, 0x4c(r20)
/* 801C88B0 001C5810 7E 84 A3 78 */ mr r4, r20
/* 801C88B4 001C5814 80 B9 00 00 */ lwz r5, 0(r25)
/* 801C88B8 001C5818 38 61 00 5C */ addi r3, r1, 0x5c
/* 801C88BC 001C581C 80 06 00 2C */ lwz r0, 0x2c(r6)
/* 801C88C0 001C5820 80 F4 00 0C */ lwz r7, 0xc(r20)
/* 801C88C4 001C5824 54 00 20 36 */ slwi r0, r0, 4
/* 801C88C8 001C5828 80 C5 01 54 */ lwz r6, 0x154(r5)
/* 801C88CC 001C582C 7C A7 02 14 */ add r5, r7, r0
/* 801C88D0 001C5830 80 05 00 04 */ lwz r0, 4(r5)
/* 801C88D4 001C5834 1C 00 00 50 */ mulli r0, r0, 0x50
/* 801C88D8 001C5838 7F 06 02 14 */ add r24, r6, r0
/* 801C88DC 001C583C 48 00 0B B1 */ bl GetLinkMidPoint__9CPFRegionCFRC7CPFLink
/* 801C88E0 001C5840 80 79 00 DC */ lwz r3, 0xdc(r25)
/* 801C88E4 001C5844 C3 C1 00 5C */ lfs f30, 0x5c(r1)
/* 801C88E8 001C5848 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 801C88EC 001C584C C3 A1 00 60 */ lfs f29, 0x60(r1)
/* 801C88F0 001C5850 C3 81 00 64 */ lfs f28, 0x64(r1)
/* 801C88F4 001C5854 40 82 00 0C */ bne lbl_801C8900
/* 801C88F8 001C5858 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 801C88FC 001C585C 41 82 00 4C */ beq lbl_801C8948
lbl_801C8900:
/* 801C8900 001C5860 C0 18 00 14 */ lfs f0, 0x14(r24)
/* 801C8904 001C5864 38 61 00 14 */ addi r3, r1, 0x14
/* 801C8908 001C5868 38 81 00 10 */ addi r4, r1, 0x10
/* 801C890C 001C586C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 801C8910 001C5870 C0 14 00 14 */ lfs f0, 0x14(r20)
/* 801C8914 001C5874 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 801C8918 001C5878 4B EB 54 C9 */ bl "Min<f>__5CMathFRCfRCf"
/* 801C891C 001C587C C0 03 00 00 */ lfs f0, 0(r3)
/* 801C8920 001C5880 EC 3F E0 2A */ fadds f1, f31, f28
/* 801C8924 001C5884 38 61 00 1C */ addi r3, r1, 0x1c
/* 801C8928 001C5888 38 9A 00 08 */ addi r4, r26, 8
/* 801C892C 001C588C EC 00 E0 2A */ fadds f0, f0, f28
/* 801C8930 001C5890 38 A1 00 18 */ addi r5, r1, 0x18
/* 801C8934 001C5894 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 801C8938 001C5898 EC 00 F8 28 */ fsubs f0, f0, f31
/* 801C893C 001C589C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 801C8940 001C58A0 4B E4 39 75 */ bl "Clamp<f>__5CMathFRCfRCfRCf"
/* 801C8944 001C58A4 C3 83 00 00 */ lfs f28, 0(r3)
lbl_801C8948:
/* 801C8948 001C58A8 80 01 01 18 */ lwz r0, 0x118(r1)
/* 801C894C 001C58AC 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C8950 001C58B0 7C 76 02 15 */ add. r3, r22, r0
/* 801C8954 001C58B4 41 82 00 10 */ beq lbl_801C8964
/* 801C8958 001C58B8 D3 C3 00 00 */ stfs f30, 0(r3)
/* 801C895C 001C58BC D3 A3 00 04 */ stfs f29, 4(r3)
/* 801C8960 001C58C0 D3 83 00 08 */ stfs f28, 8(r3)
lbl_801C8964:
/* 801C8964 001C58C4 80 61 01 18 */ lwz r3, 0x118(r1)
/* 801C8968 001C58C8 7F 14 C3 78 */ mr r20, r24
/* 801C896C 001C58CC 3A B5 00 01 */ addi r21, r21, 1
/* 801C8970 001C58D0 38 03 00 01 */ addi r0, r3, 1
/* 801C8974 001C58D4 90 01 01 18 */ stw r0, 0x118(r1)
lbl_801C8978:
/* 801C8978 001C58D8 7C 15 D8 00 */ cmpw r21, r27
/* 801C897C 001C58DC 40 81 FF 30 */ ble lbl_801C88AC
/* 801C8980 001C58E0 56 E0 06 3F */ clrlwi. r0, r23, 0x18
/* 801C8984 001C58E4 41 82 00 70 */ beq lbl_801C89F4
/* 801C8988 001C58E8 80 01 01 18 */ lwz r0, 0x118(r1)
/* 801C898C 001C58EC 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C8990 001C58F0 7C 76 02 15 */ add. r3, r22, r0
/* 801C8994 001C58F4 41 82 00 1C */ beq lbl_801C89B0
/* 801C8998 001C58F8 C0 01 00 B0 */ lfs f0, 0xb0(r1)
/* 801C899C 001C58FC C0 21 00 B4 */ lfs f1, 0xb4(r1)
/* 801C89A0 001C5900 D0 03 00 00 */ stfs f0, 0(r3)
/* 801C89A4 001C5904 C0 01 00 B8 */ lfs f0, 0xb8(r1)
/* 801C89A8 001C5908 D0 23 00 04 */ stfs f1, 4(r3)
/* 801C89AC 001C590C D0 03 00 08 */ stfs f0, 8(r3)
lbl_801C89B0:
/* 801C89B0 001C5910 80 61 01 18 */ lwz r3, 0x118(r1)
/* 801C89B4 001C5914 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 801C89B8 001C5918 38 03 00 01 */ addi r0, r3, 1
/* 801C89BC 001C591C 90 01 01 18 */ stw r0, 0x118(r1)
/* 801C89C0 001C5920 41 82 00 34 */ beq lbl_801C89F4
/* 801C89C4 001C5924 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C89C8 001C5928 7C 76 02 15 */ add. r3, r22, r0
/* 801C89CC 001C592C 41 82 00 1C */ beq lbl_801C89E8
/* 801C89D0 001C5930 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 801C89D4 001C5934 C0 21 00 A8 */ lfs f1, 0xa8(r1)
/* 801C89D8 001C5938 D0 03 00 00 */ stfs f0, 0(r3)
/* 801C89DC 001C593C C0 01 00 AC */ lfs f0, 0xac(r1)
/* 801C89E0 001C5940 D0 23 00 04 */ stfs f1, 4(r3)
/* 801C89E4 001C5944 D0 03 00 08 */ stfs f0, 8(r3)
lbl_801C89E8:
/* 801C89E8 001C5948 80 61 01 18 */ lwz r3, 0x118(r1)
/* 801C89EC 001C594C 38 03 00 01 */ addi r0, r3, 1
/* 801C89F0 001C5950 90 01 01 18 */ stw r0, 0x118(r1)
lbl_801C89F4:
/* 801C89F4 001C5954 1F 5E 00 0C */ mulli r26, r30, 0xc
/* 801C89F8 001C5958 56 F2 06 3E */ clrlwi r18, r23, 0x18
/* 801C89FC 001C595C 3A 60 00 00 */ li r19, 0
lbl_801C8A00:
/* 801C8A00 001C5960 7F 94 E3 78 */ mr r20, r28
/* 801C8A04 001C5964 7F D5 F3 78 */ mr r21, r30
/* 801C8A08 001C5968 7E F6 D2 14 */ add r23, r22, r26
/* 801C8A0C 001C596C 48 00 00 FC */ b lbl_801C8B08
lbl_801C8A10:
/* 801C8A10 001C5970 80 74 00 4C */ lwz r3, 0x4c(r20)
/* 801C8A14 001C5974 80 D9 00 DC */ lwz r6, 0xdc(r25)
/* 801C8A18 001C5978 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 801C8A1C 001C597C 80 B4 00 0C */ lwz r5, 0xc(r20)
/* 801C8A20 001C5980 54 C0 07 BD */ rlwinm. r0, r6, 0, 0x1e, 0x1e
/* 801C8A24 001C5984 54 64 20 36 */ slwi r4, r3, 4
/* 801C8A28 001C5988 80 79 00 00 */ lwz r3, 0(r25)
/* 801C8A2C 001C598C 7F 05 22 14 */ add r24, r5, r4
/* 801C8A30 001C5990 80 18 00 04 */ lwz r0, 4(r24)
/* 801C8A34 001C5994 80 63 01 54 */ lwz r3, 0x154(r3)
/* 801C8A38 001C5998 1C 00 00 50 */ mulli r0, r0, 0x50
/* 801C8A3C 001C599C 7F A3 02 14 */ add r29, r3, r0
/* 801C8A40 001C59A0 40 82 00 0C */ bne lbl_801C8A4C
/* 801C8A44 001C59A4 54 C0 07 7B */ rlwinm. r0, r6, 0, 0x1d, 0x1d
/* 801C8A48 001C59A8 41 82 00 70 */ beq lbl_801C8AB8
lbl_801C8A4C:
/* 801C8A4C 001C59AC C0 1D 00 14 */ lfs f0, 0x14(r29)
/* 801C8A50 001C59B0 38 61 00 0C */ addi r3, r1, 0xc
/* 801C8A54 001C59B4 38 81 00 08 */ addi r4, r1, 8
/* 801C8A58 001C59B8 D0 01 00 08 */ stfs f0, 8(r1)
/* 801C8A5C 001C59BC C0 14 00 14 */ lfs f0, 0x14(r20)
/* 801C8A60 001C59C0 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 801C8A64 001C59C4 4B EB 53 7D */ bl "Min<f>__5CMathFRCfRCf"
/* 801C8A68 001C59C8 C0 23 00 00 */ lfs f1, 0(r3)
/* 801C8A6C 001C59CC 38 75 FF FF */ addi r3, r21, -1
/* 801C8A70 001C59D0 1C A3 00 0C */ mulli r5, r3, 0xc
/* 801C8A74 001C59D4 38 15 00 01 */ addi r0, r21, 1
/* 801C8A78 001C59D8 FC 60 F8 90 */ fmr f3, f31
/* 801C8A7C 001C59DC C0 59 00 D4 */ lfs f2, 0xd4(r25)
/* 801C8A80 001C59E0 7E 84 A3 78 */ mr r4, r20
/* 801C8A84 001C59E4 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C8A88 001C59E8 7F 06 C3 78 */ mr r6, r24
/* 801C8A8C 001C59EC 38 61 00 50 */ addi r3, r1, 0x50
/* 801C8A90 001C59F0 7C B6 2A 14 */ add r5, r22, r5
/* 801C8A94 001C59F4 7C F6 02 14 */ add r7, r22, r0
/* 801C8A98 001C59F8 48 00 04 11 */ bl FitThroughLink3d__9CPFRegionCFRC9CVector3fRC7CPFLinkfRC9CVector3fff
/* 801C8A9C 001C59FC C0 01 00 50 */ lfs f0, 0x50(r1)
/* 801C8AA0 001C5A00 C0 21 00 54 */ lfs f1, 0x54(r1)
/* 801C8AA4 001C5A04 D0 17 00 00 */ stfs f0, 0(r23)
/* 801C8AA8 001C5A08 C0 01 00 58 */ lfs f0, 0x58(r1)
/* 801C8AAC 001C5A0C D0 37 00 04 */ stfs f1, 4(r23)
/* 801C8AB0 001C5A10 D0 17 00 08 */ stfs f0, 8(r23)
/* 801C8AB4 001C5A14 48 00 00 48 */ b lbl_801C8AFC
lbl_801C8AB8:
/* 801C8AB8 001C5A18 38 75 FF FF */ addi r3, r21, -1
/* 801C8ABC 001C5A1C 38 15 00 01 */ addi r0, r21, 1
/* 801C8AC0 001C5A20 1C A3 00 0C */ mulli r5, r3, 0xc
/* 801C8AC4 001C5A24 C0 39 00 D4 */ lfs f1, 0xd4(r25)
/* 801C8AC8 001C5A28 7E 84 A3 78 */ mr r4, r20
/* 801C8ACC 001C5A2C 7F 06 C3 78 */ mr r6, r24
/* 801C8AD0 001C5A30 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C8AD4 001C5A34 38 61 00 44 */ addi r3, r1, 0x44
/* 801C8AD8 001C5A38 7C B6 2A 14 */ add r5, r22, r5
/* 801C8ADC 001C5A3C 7C F6 02 14 */ add r7, r22, r0
/* 801C8AE0 001C5A40 48 00 07 45 */ bl FitThroughLink2d__9CPFRegionCFRC9CVector3fRC7CPFLinkRC9CVector3ff
/* 801C8AE4 001C5A44 C0 01 00 44 */ lfs f0, 0x44(r1)
/* 801C8AE8 001C5A48 C0 21 00 48 */ lfs f1, 0x48(r1)
/* 801C8AEC 001C5A4C D0 17 00 00 */ stfs f0, 0(r23)
/* 801C8AF0 001C5A50 C0 01 00 4C */ lfs f0, 0x4c(r1)
/* 801C8AF4 001C5A54 D0 37 00 04 */ stfs f1, 4(r23)
/* 801C8AF8 001C5A58 D0 17 00 08 */ stfs f0, 8(r23)
lbl_801C8AFC:
/* 801C8AFC 001C5A5C 7F B4 EB 78 */ mr r20, r29
/* 801C8B00 001C5A60 3A F7 00 0C */ addi r23, r23, 0xc
/* 801C8B04 001C5A64 3A B5 00 01 */ addi r21, r21, 1
lbl_801C8B08:
/* 801C8B08 001C5A68 28 12 00 00 */ cmplwi r18, 0
/* 801C8B0C 001C5A6C 38 1B FF FF */ addi r0, r27, -1
/* 801C8B10 001C5A70 41 82 00 08 */ beq lbl_801C8B18
/* 801C8B14 001C5A74 7F 60 DB 78 */ mr r0, r27
lbl_801C8B18:
/* 801C8B18 001C5A78 7C 15 00 00 */ cmpw r21, r0
/* 801C8B1C 001C5A7C 40 81 FE F4 */ ble lbl_801C8A10
/* 801C8B20 001C5A80 3A 73 00 01 */ addi r19, r19, 1
/* 801C8B24 001C5A84 2C 13 00 02 */ cmpwi r19, 2
/* 801C8B28 001C5A88 41 80 FE D8 */ blt lbl_801C8A00
/* 801C8B2C 001C5A8C 80 79 00 00 */ lwz r3, 0(r25)
/* 801C8B30 001C5A90 7E D3 B3 78 */ mr r19, r22
/* 801C8B34 001C5A94 3A 80 00 00 */ li r20, 0
/* 801C8B38 001C5A98 3A 43 01 88 */ addi r18, r3, 0x188
/* 801C8B3C 001C5A9C 48 00 00 7C */ b lbl_801C8BB8
lbl_801C8B40:
/* 801C8B40 001C5AA0 38 03 FF FF */ addi r0, r3, -1
/* 801C8B44 001C5AA4 7C 14 00 00 */ cmpw r20, r0
/* 801C8B48 001C5AA8 41 82 00 24 */ beq lbl_801C8B6C
/* 801C8B4C 001C5AAC 38 14 00 01 */ addi r0, r20, 1
/* 801C8B50 001C5AB0 C0 22 AB 30 */ lfs f1, lbl_805AC850@sda21(r2)
/* 801C8B54 001C5AB4 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C8B58 001C5AB8 7E 63 9B 78 */ mr r3, r19
/* 801C8B5C 001C5ABC 7C 96 02 14 */ add r4, r22, r0
/* 801C8B60 001C5AC0 48 14 74 05 */ bl close_enough__FRC9CVector3fRC9CVector3ff
/* 801C8B64 001C5AC4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801C8B68 001C5AC8 40 82 00 48 */ bne lbl_801C8BB0
lbl_801C8B6C:
/* 801C8B6C 001C5ACC 7E 44 93 78 */ mr r4, r18
/* 801C8B70 001C5AD0 7E 65 9B 78 */ mr r5, r19
/* 801C8B74 001C5AD4 38 61 00 38 */ addi r3, r1, 0x38
/* 801C8B78 001C5AD8 48 14 9F 71 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 801C8B7C 001C5ADC 80 19 00 04 */ lwz r0, 4(r25)
/* 801C8B80 001C5AE0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801C8B84 001C5AE4 7C 7F 02 15 */ add. r3, r31, r0
/* 801C8B88 001C5AE8 41 82 00 1C */ beq lbl_801C8BA4
/* 801C8B8C 001C5AEC C0 01 00 38 */ lfs f0, 0x38(r1)
/* 801C8B90 001C5AF0 D0 03 00 00 */ stfs f0, 0(r3)
/* 801C8B94 001C5AF4 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 801C8B98 001C5AF8 D0 03 00 04 */ stfs f0, 4(r3)
/* 801C8B9C 001C5AFC C0 01 00 40 */ lfs f0, 0x40(r1)
/* 801C8BA0 001C5B00 D0 03 00 08 */ stfs f0, 8(r3)
lbl_801C8BA4:
/* 801C8BA4 001C5B04 80 79 00 04 */ lwz r3, 4(r25)
/* 801C8BA8 001C5B08 38 03 00 01 */ addi r0, r3, 1
/* 801C8BAC 001C5B0C 90 19 00 04 */ stw r0, 4(r25)
lbl_801C8BB0:
/* 801C8BB0 001C5B10 3A 73 00 0C */ addi r19, r19, 0xc
/* 801C8BB4 001C5B14 3A 94 00 01 */ addi r20, r20, 1
lbl_801C8BB8:
/* 801C8BB8 001C5B18 80 61 01 18 */ lwz r3, 0x118(r1)
/* 801C8BBC 001C5B1C 7C 14 18 00 */ cmpw r20, r3
/* 801C8BC0 001C5B20 41 80 FF 80 */ blt lbl_801C8B40
/* 801C8BC4 001C5B24 38 80 00 00 */ li r4, 0
/* 801C8BC8 001C5B28 90 99 00 CC */ stw r4, 0xcc(r25)
/* 801C8BCC 001C5B2C 80 C1 00 C8 */ lwz r6, 0xc8(r1)
/* 801C8BD0 001C5B30 80 79 00 CC */ lwz r3, 0xcc(r25)
/* 801C8BD4 001C5B34 2C 06 00 00 */ cmpwi r6, 0
/* 801C8BD8 001C5B38 40 81 00 40 */ ble lbl_801C8C18
/* 801C8BDC 001C5B3C 2C 06 00 08 */ cmpwi r6, 8
/* 801C8BE0 001C5B40 38 A6 FF F8 */ addi r5, r6, -8
/* 801C8BE4 001C5B44 40 81 00 20 */ ble lbl_801C8C04
/* 801C8BE8 001C5B48 38 05 00 07 */ addi r0, r5, 7
/* 801C8BEC 001C5B4C 54 00 E8 FE */ srwi r0, r0, 3
/* 801C8BF0 001C5B50 7C 09 03 A6 */ mtctr r0
/* 801C8BF4 001C5B54 2C 05 00 00 */ cmpwi r5, 0
/* 801C8BF8 001C5B58 40 81 00 0C */ ble lbl_801C8C04
lbl_801C8BFC:
/* 801C8BFC 001C5B5C 38 84 00 08 */ addi r4, r4, 8
/* 801C8C00 001C5B60 42 00 FF FC */ bdnz lbl_801C8BFC
lbl_801C8C04:
/* 801C8C04 001C5B64 7C 04 30 50 */ subf r0, r4, r6
/* 801C8C08 001C5B68 7C 09 03 A6 */ mtctr r0
/* 801C8C0C 001C5B6C 7C 04 30 00 */ cmpw r4, r6
/* 801C8C10 001C5B70 40 80 00 08 */ bge lbl_801C8C18
lbl_801C8C14:
/* 801C8C14 001C5B74 42 00 00 00 */ bdnz lbl_801C8C14
lbl_801C8C18:
/* 801C8C18 001C5B78 80 C1 00 DC */ lwz r6, 0xdc(r1)
/* 801C8C1C 001C5B7C 38 80 00 00 */ li r4, 0
/* 801C8C20 001C5B80 90 81 00 C8 */ stw r4, 0xc8(r1)
/* 801C8C24 001C5B84 2C 06 00 00 */ cmpwi r6, 0
/* 801C8C28 001C5B88 40 81 00 40 */ ble lbl_801C8C68
/* 801C8C2C 001C5B8C 2C 06 00 08 */ cmpwi r6, 8
/* 801C8C30 001C5B90 38 A6 FF F8 */ addi r5, r6, -8
/* 801C8C34 001C5B94 40 81 00 20 */ ble lbl_801C8C54
/* 801C8C38 001C5B98 38 05 00 07 */ addi r0, r5, 7
/* 801C8C3C 001C5B9C 54 00 E8 FE */ srwi r0, r0, 3
/* 801C8C40 001C5BA0 7C 09 03 A6 */ mtctr r0
/* 801C8C44 001C5BA4 2C 05 00 00 */ cmpwi r5, 0
/* 801C8C48 001C5BA8 40 81 00 0C */ ble lbl_801C8C54
lbl_801C8C4C:
/* 801C8C4C 001C5BAC 38 84 00 08 */ addi r4, r4, 8
/* 801C8C50 001C5BB0 42 00 FF FC */ bdnz lbl_801C8C4C
lbl_801C8C54:
/* 801C8C54 001C5BB4 7C 04 30 50 */ subf r0, r4, r6
/* 801C8C58 001C5BB8 7C 09 03 A6 */ mtctr r0
/* 801C8C5C 001C5BBC 7C 04 30 00 */ cmpw r4, r6
/* 801C8C60 001C5BC0 40 80 00 08 */ bge lbl_801C8C68
lbl_801C8C64:
/* 801C8C64 001C5BC4 42 00 00 00 */ bdnz lbl_801C8C64
lbl_801C8C68:
/* 801C8C68 001C5BC8 80 C1 00 F0 */ lwz r6, 0xf0(r1)
/* 801C8C6C 001C5BCC 38 80 00 00 */ li r4, 0
/* 801C8C70 001C5BD0 90 81 00 DC */ stw r4, 0xdc(r1)
/* 801C8C74 001C5BD4 2C 06 00 00 */ cmpwi r6, 0
/* 801C8C78 001C5BD8 40 81 00 40 */ ble lbl_801C8CB8
/* 801C8C7C 001C5BDC 2C 06 00 08 */ cmpwi r6, 8
/* 801C8C80 001C5BE0 38 A6 FF F8 */ addi r5, r6, -8
/* 801C8C84 001C5BE4 40 81 00 20 */ ble lbl_801C8CA4
/* 801C8C88 001C5BE8 38 05 00 07 */ addi r0, r5, 7
/* 801C8C8C 001C5BEC 54 00 E8 FE */ srwi r0, r0, 3
/* 801C8C90 001C5BF0 7C 09 03 A6 */ mtctr r0
/* 801C8C94 001C5BF4 2C 05 00 00 */ cmpwi r5, 0
/* 801C8C98 001C5BF8 40 81 00 0C */ ble lbl_801C8CA4
lbl_801C8C9C:
/* 801C8C9C 001C5BFC 38 84 00 08 */ addi r4, r4, 8
/* 801C8CA0 001C5C00 42 00 FF FC */ bdnz lbl_801C8C9C
lbl_801C8CA4:
/* 801C8CA4 001C5C04 7C 04 30 50 */ subf r0, r4, r6
/* 801C8CA8 001C5C08 7C 09 03 A6 */ mtctr r0
/* 801C8CAC 001C5C0C 7C 04 30 00 */ cmpw r4, r6
/* 801C8CB0 001C5C10 40 80 00 08 */ bge lbl_801C8CB8
lbl_801C8CB4:
/* 801C8CB4 001C5C14 42 00 00 00 */ bdnz lbl_801C8CB4
lbl_801C8CB8:
/* 801C8CB8 001C5C18 80 C1 01 04 */ lwz r6, 0x104(r1)
/* 801C8CBC 001C5C1C 38 80 00 00 */ li r4, 0
/* 801C8CC0 001C5C20 90 81 00 F0 */ stw r4, 0xf0(r1)
/* 801C8CC4 001C5C24 2C 06 00 00 */ cmpwi r6, 0
/* 801C8CC8 001C5C28 40 81 00 40 */ ble lbl_801C8D08
/* 801C8CCC 001C5C2C 2C 06 00 08 */ cmpwi r6, 8
/* 801C8CD0 001C5C30 38 A6 FF F8 */ addi r5, r6, -8
/* 801C8CD4 001C5C34 40 81 00 20 */ ble lbl_801C8CF4
/* 801C8CD8 001C5C38 38 05 00 07 */ addi r0, r5, 7
/* 801C8CDC 001C5C3C 54 00 E8 FE */ srwi r0, r0, 3
/* 801C8CE0 001C5C40 7C 09 03 A6 */ mtctr r0
/* 801C8CE4 001C5C44 2C 05 00 00 */ cmpwi r5, 0
/* 801C8CE8 001C5C48 40 81 00 0C */ ble lbl_801C8CF4
lbl_801C8CEC:
/* 801C8CEC 001C5C4C 38 84 00 08 */ addi r4, r4, 8
/* 801C8CF0 001C5C50 42 00 FF FC */ bdnz lbl_801C8CEC
lbl_801C8CF4:
/* 801C8CF4 001C5C54 7C 04 30 50 */ subf r0, r4, r6
/* 801C8CF8 001C5C58 7C 09 03 A6 */ mtctr r0
/* 801C8CFC 001C5C5C 7C 04 30 00 */ cmpw r4, r6
/* 801C8D00 001C5C60 40 80 00 08 */ bge lbl_801C8D08
lbl_801C8D04:
/* 801C8D04 001C5C64 42 00 00 00 */ bdnz lbl_801C8D04
lbl_801C8D08:
/* 801C8D08 001C5C68 80 C1 01 18 */ lwz r6, 0x118(r1)
/* 801C8D0C 001C5C6C 38 80 00 00 */ li r4, 0
/* 801C8D10 001C5C70 90 81 01 04 */ stw r4, 0x104(r1)
/* 801C8D14 001C5C74 2C 06 00 00 */ cmpwi r6, 0
/* 801C8D18 001C5C78 40 81 00 40 */ ble lbl_801C8D58
/* 801C8D1C 001C5C7C 2C 06 00 08 */ cmpwi r6, 8
/* 801C8D20 001C5C80 38 A6 FF F8 */ addi r5, r6, -8
/* 801C8D24 001C5C84 40 81 00 20 */ ble lbl_801C8D44
/* 801C8D28 001C5C88 38 05 00 07 */ addi r0, r5, 7
/* 801C8D2C 001C5C8C 54 00 E8 FE */ srwi r0, r0, 3
/* 801C8D30 001C5C90 7C 09 03 A6 */ mtctr r0
/* 801C8D34 001C5C94 2C 05 00 00 */ cmpwi r5, 0
/* 801C8D38 001C5C98 40 81 00 0C */ ble lbl_801C8D44
lbl_801C8D3C:
/* 801C8D3C 001C5C9C 38 84 00 08 */ addi r4, r4, 8
/* 801C8D40 001C5CA0 42 00 FF FC */ bdnz lbl_801C8D3C
lbl_801C8D44:
/* 801C8D44 001C5CA4 7C 04 30 50 */ subf r0, r4, r6
/* 801C8D48 001C5CA8 7C 09 03 A6 */ mtctr r0
/* 801C8D4C 001C5CAC 7C 04 30 00 */ cmpw r4, r6
/* 801C8D50 001C5CB0 40 80 00 08 */ bge lbl_801C8D58
lbl_801C8D54:
/* 801C8D54 001C5CB4 42 00 00 00 */ bdnz lbl_801C8D54
lbl_801C8D58:
/* 801C8D58 001C5CB8 38 00 00 00 */ li r0, 0
/* 801C8D5C 001C5CBC 90 01 01 18 */ stw r0, 0x118(r1)
lbl_801C8D60:
/* 801C8D60 001C5CC0 E3 E1 02 58 */ psq_l f31, 600(r1), 0, qr0
/* 801C8D64 001C5CC4 CB E1 02 50 */ lfd f31, 0x250(r1)
/* 801C8D68 001C5CC8 E3 C1 02 48 */ psq_l f30, 584(r1), 0, qr0
/* 801C8D6C 001C5CCC CB C1 02 40 */ lfd f30, 0x240(r1)
/* 801C8D70 001C5CD0 E3 A1 02 38 */ psq_l f29, 568(r1), 0, qr0
/* 801C8D74 001C5CD4 CB A1 02 30 */ lfd f29, 0x230(r1)
/* 801C8D78 001C5CD8 E3 81 02 28 */ psq_l f28, 552(r1), 0, qr0
/* 801C8D7C 001C5CDC CB 81 02 20 */ lfd f28, 0x220(r1)
/* 801C8D80 001C5CE0 BA 41 01 E8 */ lmw r18, 0x1e8(r1)
/* 801C8D84 001C5CE4 80 01 02 64 */ lwz r0, 0x264(r1)
/* 801C8D88 001C5CE8 7C 08 03 A6 */ mtlr r0
/* 801C8D8C 001C5CEC 38 21 02 60 */ addi r1, r1, 0x260
2022-07-14 05:48:03 +00:00
/* 801C8D90 001C5CF0 4E 80 00 20 */ blr
2022-04-14 08:02:42 +00:00
.global __ct__15CPathFindSearchFP7CPFAreaUiff
__ct__15CPathFindSearchFP7CPFAreaUiff:
/* 801C8D94 001C5CF4 90 83 00 00 */ stw r4, 0(r3)
/* 801C8D98 001C5CF8 38 80 00 00 */ li r4, 0
/* 801C8D9C 001C5CFC 38 00 00 01 */ li r0, 1
/* 801C8DA0 001C5D00 C0 02 AB 38 */ lfs f0, lbl_805AC858@sda21(r2)
/* 801C8DA4 001C5D04 90 83 00 04 */ stw r4, 4(r3)
/* 801C8DA8 001C5D08 7C 00 30 30 */ slw r0, r0, r6
/* 801C8DAC 001C5D0C 90 83 00 C8 */ stw r4, 0xc8(r3)
/* 801C8DB0 001C5D10 D0 43 00 D0 */ stfs f2, 0xd0(r3)
/* 801C8DB4 001C5D14 D0 23 00 D4 */ stfs f1, 0xd4(r3)
/* 801C8DB8 001C5D18 D0 03 00 D8 */ stfs f0, 0xd8(r3)
/* 801C8DBC 001C5D1C 90 A3 00 DC */ stw r5, 0xdc(r3)
/* 801C8DC0 001C5D20 90 03 00 E0 */ stw r0, 0xe0(r3)
2022-07-14 05:48:03 +00:00
/* 801C8DC4 001C5D24 4E 80 00 20 */ blr
2022-04-14 08:02:42 +00:00
.global __ct__11CPFOpenListFv
__ct__11CPFOpenListFv:
/* 801C8DC8 001C5D28 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801C8DCC 001C5D2C 7C 08 02 A6 */ mflr r0
/* 801C8DD0 001C5D30 90 01 00 14 */ stw r0, 0x14(r1)
/* 801C8DD4 001C5D34 38 00 00 00 */ li r0, 0
/* 801C8DD8 001C5D38 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801C8DDC 001C5D3C 7C 7F 1B 78 */ mr r31, r3
/* 801C8DE0 001C5D40 90 03 00 00 */ stw r0, 0(r3)
/* 801C8DE4 001C5D44 38 7F 00 40 */ addi r3, r31, 0x40
/* 801C8DE8 001C5D48 90 1F 00 04 */ stw r0, 4(r31)
/* 801C8DEC 001C5D4C 90 1F 00 08 */ stw r0, 8(r31)
/* 801C8DF0 001C5D50 90 1F 00 0C */ stw r0, 0xc(r31)
/* 801C8DF4 001C5D54 90 1F 00 10 */ stw r0, 0x10(r31)
/* 801C8DF8 001C5D58 90 1F 00 14 */ stw r0, 0x14(r31)
/* 801C8DFC 001C5D5C 90 1F 00 18 */ stw r0, 0x18(r31)
/* 801C8E00 001C5D60 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 801C8E04 001C5D64 90 1F 00 20 */ stw r0, 0x20(r31)
/* 801C8E08 001C5D68 90 1F 00 24 */ stw r0, 0x24(r31)
/* 801C8E0C 001C5D6C 90 1F 00 28 */ stw r0, 0x28(r31)
/* 801C8E10 001C5D70 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 801C8E14 001C5D74 90 1F 00 30 */ stw r0, 0x30(r31)
/* 801C8E18 001C5D78 90 1F 00 34 */ stw r0, 0x34(r31)
/* 801C8E1C 001C5D7C 90 1F 00 38 */ stw r0, 0x38(r31)
/* 801C8E20 001C5D80 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 801C8E24 001C5D84 48 00 11 E9 */ bl __ct__9CPFRegionFv
/* 801C8E28 001C5D88 38 7F 00 90 */ addi r3, r31, 0x90
/* 801C8E2C 001C5D8C 48 00 12 ED */ bl __ct__13CPFRegionDataFv
/* 801C8E30 001C5D90 38 7F 00 90 */ addi r3, r31, 0x90
/* 801C8E34 001C5D94 38 1F 00 40 */ addi r0, r31, 0x40
/* 801C8E38 001C5D98 90 7F 00 8C */ stw r3, 0x8c(r31)
/* 801C8E3C 001C5D9C 38 A0 00 00 */ li r5, 0
/* 801C8E40 001C5DA0 7F E3 FB 78 */ mr r3, r31
/* 801C8E44 001C5DA4 80 9F 00 8C */ lwz r4, 0x8c(r31)
/* 801C8E48 001C5DA8 90 04 00 28 */ stw r0, 0x28(r4)
/* 801C8E4C 001C5DAC 80 9F 00 8C */ lwz r4, 0x8c(r31)
/* 801C8E50 001C5DB0 90 04 00 24 */ stw r0, 0x24(r4)
/* 801C8E54 001C5DB4 90 BF 00 00 */ stw r5, 0(r31)
/* 801C8E58 001C5DB8 90 BF 00 04 */ stw r5, 4(r31)
/* 801C8E5C 001C5DBC 90 BF 00 08 */ stw r5, 8(r31)
/* 801C8E60 001C5DC0 90 BF 00 0C */ stw r5, 0xc(r31)
/* 801C8E64 001C5DC4 90 BF 00 10 */ stw r5, 0x10(r31)
/* 801C8E68 001C5DC8 90 BF 00 14 */ stw r5, 0x14(r31)
/* 801C8E6C 001C5DCC 90 BF 00 18 */ stw r5, 0x18(r31)
/* 801C8E70 001C5DD0 90 BF 00 1C */ stw r5, 0x1c(r31)
/* 801C8E74 001C5DD4 90 BF 00 20 */ stw r5, 0x20(r31)
/* 801C8E78 001C5DD8 90 BF 00 24 */ stw r5, 0x24(r31)
/* 801C8E7C 001C5DDC 90 BF 00 28 */ stw r5, 0x28(r31)
/* 801C8E80 001C5DE0 90 BF 00 2C */ stw r5, 0x2c(r31)
/* 801C8E84 001C5DE4 90 BF 00 30 */ stw r5, 0x30(r31)
/* 801C8E88 001C5DE8 90 BF 00 34 */ stw r5, 0x34(r31)
/* 801C8E8C 001C5DEC 90 BF 00 38 */ stw r5, 0x38(r31)
/* 801C8E90 001C5DF0 90 BF 00 3C */ stw r5, 0x3c(r31)
/* 801C8E94 001C5DF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801C8E98 001C5DF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801C8E9C 001C5DFC 7C 08 03 A6 */ mtlr r0
/* 801C8EA0 001C5E00 38 21 00 10 */ addi r1, r1, 0x10
2022-07-14 05:48:03 +00:00
/* 801C8EA4 001C5E04 4E 80 00 20 */ blr
2022-07-18 05:20:04 +00:00
.section .sdata2, "a"
.global lbl_805AC848
lbl_805AC848:
# ROM: 0x3F90E8
.float 0.3
.global lbl_805AC84C
lbl_805AC84C:
# ROM: 0x3F90EC
.4byte 0
.global lbl_805AC850
lbl_805AC850:
# ROM: 0x3F90F0
.float 1.0E-4
.global lbl_805AC854
lbl_805AC854:
# ROM: 0x3F90F4
.float 0.5
.global lbl_805AC858
lbl_805AC858:
# ROM: 0x3F90F8
.4byte 0x41200000
.4byte 0