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

3347 lines
159 KiB
ArmAsm

.include "macros.inc"
.section .rodata # 0x804732E0 - 0x8049E220
.balign 8
.global lbl_80484090
lbl_80484090:
.4byte 0x52616E64
.4byte 0x4D617055
.4byte 0x6E69742E
.4byte 0x63707000
.global lbl_804840A0
lbl_804840A0:
.4byte 0x65646974
.4byte 0x206D6170
.4byte 0x206E6F6E
.4byte 0x65203A20
.4byte 0x25730A00
.global lbl_804840B4
lbl_804840B4:
.4byte 0x00000000
.4byte 0x00000002
.4byte 0x00000001
.section .sdata2, "a" # 0x80516360 - 0x80520E40
.balign 8
.global lbl_8051A760
lbl_8051A760:
.4byte 0x00000000
.global lbl_8051A764
lbl_8051A764:
.4byte 0x3C23D70A
.global lbl_8051A768
lbl_8051A768:
.float 1.0
.4byte 0x00000000
.global lbl_8051A770
lbl_8051A770:
.4byte 0x43300000
.4byte 0x80000000
.global lbl_8051A778
lbl_8051A778:
.4byte 0x47000000
.global lbl_8051A77C
lbl_8051A77C:
.4byte 0x40000000
.global lbl_8051A780
lbl_8051A780:
.4byte 0x40800000
.4byte 0x00000000
.section .text, "ax" # 0x800056C0 - 0x80472F00
.global __ct__Q34Game4Cave11EditMapUnitFv
__ct__Q34Game4Cave11EditMapUnitFv:
/* 80245C5C 00242B9C C0 02 C4 00 */ lfs f0, lbl_8051A760@sda21(r2)
/* 80245C60 00242BA0 38 80 00 00 */ li r4, 0
/* 80245C64 00242BA4 38 00 FF 80 */ li r0, -128
/* 80245C68 00242BA8 D0 03 00 00 */ stfs f0, 0(r3)
/* 80245C6C 00242BAC 90 83 00 04 */ stw r4, 4(r3)
/* 80245C70 00242BB0 90 83 00 08 */ stw r4, 8(r3)
/* 80245C74 00242BB4 90 83 00 0C */ stw r4, 0xc(r3)
/* 80245C78 00242BB8 90 83 00 10 */ stw r4, 0x10(r3)
/* 80245C7C 00242BBC 90 83 00 14 */ stw r4, 0x14(r3)
/* 80245C80 00242BC0 90 83 00 18 */ stw r4, 0x18(r3)
/* 80245C84 00242BC4 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80245C88 00242BC8 4E 80 00 20 */ blr
.global read__Q34Game4Cave11EditMapUnitFPc
read__Q34Game4Cave11EditMapUnitFPc:
/* 80245C8C 00242BCC 94 21 FB C0 */ stwu r1, -0x440(r1)
/* 80245C90 00242BD0 7C 08 02 A6 */ mflr r0
/* 80245C94 00242BD4 38 A0 00 00 */ li r5, 0
/* 80245C98 00242BD8 38 C0 00 00 */ li r6, 0
/* 80245C9C 00242BDC 90 01 04 44 */ stw r0, 0x444(r1)
/* 80245CA0 00242BE0 38 00 00 00 */ li r0, 0
/* 80245CA4 00242BE4 38 E0 00 00 */ li r7, 0
/* 80245CA8 00242BE8 39 00 00 02 */ li r8, 2
/* 80245CAC 00242BEC 93 E1 04 3C */ stw r31, 0x43c(r1)
/* 80245CB0 00242BF0 39 20 00 00 */ li r9, 0
/* 80245CB4 00242BF4 39 40 00 00 */ li r10, 0
/* 80245CB8 00242BF8 93 C1 04 38 */ stw r30, 0x438(r1)
/* 80245CBC 00242BFC 7C 9E 23 78 */ mr r30, r4
/* 80245CC0 00242C00 38 80 00 00 */ li r4, 0
/* 80245CC4 00242C04 93 A1 04 34 */ stw r29, 0x434(r1)
/* 80245CC8 00242C08 7C 7D 1B 78 */ mr r29, r3
/* 80245CCC 00242C0C 7F C3 F3 78 */ mr r3, r30
/* 80245CD0 00242C10 90 01 00 08 */ stw r0, 8(r1)
/* 80245CD4 00242C14 4B DD 94 B5 */ bl loadToMainRAM__12JKRDvdRipperFPCcPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
/* 80245CD8 00242C18 7C 7F 1B 79 */ or. r31, r3, r3
/* 80245CDC 00242C1C 41 82 00 2C */ beq .L_80245D08
/* 80245CE0 00242C20 7F E4 FB 78 */ mr r4, r31
/* 80245CE4 00242C24 38 61 00 10 */ addi r3, r1, 0x10
/* 80245CE8 00242C28 38 A0 FF FF */ li r5, -1
/* 80245CEC 00242C2C 48 1C FC 0D */ bl __ct__9RamStreamFPvi
/* 80245CF0 00242C30 7F A3 EB 78 */ mr r3, r29
/* 80245CF4 00242C34 38 81 00 10 */ addi r4, r1, 0x10
/* 80245CF8 00242C38 48 00 00 4D */ bl read__Q34Game4Cave11EditMapUnitFP6Stream
/* 80245CFC 00242C3C 7F E3 FB 78 */ mr r3, r31
/* 80245D00 00242C40 4B DD E3 D9 */ bl __dla__FPv
/* 80245D04 00242C44 48 00 00 24 */ b .L_80245D28
.L_80245D08:
/* 80245D08 00242C48 3C 60 80 48 */ lis r3, lbl_80484090@ha
/* 80245D0C 00242C4C 3C 80 80 48 */ lis r4, lbl_804840A0@ha
/* 80245D10 00242C50 38 A4 40 A0 */ addi r5, r4, lbl_804840A0@l
/* 80245D14 00242C54 7F C6 F3 78 */ mr r6, r30
/* 80245D18 00242C58 38 63 40 90 */ addi r3, r3, lbl_80484090@l
/* 80245D1C 00242C5C 38 80 00 55 */ li r4, 0x55
/* 80245D20 00242C60 4C C6 31 82 */ crclr 6
/* 80245D24 00242C64 4B DE 49 1D */ bl panic_f__12JUTExceptionFPCciPCce
.L_80245D28:
/* 80245D28 00242C68 80 01 04 44 */ lwz r0, 0x444(r1)
/* 80245D2C 00242C6C 83 E1 04 3C */ lwz r31, 0x43c(r1)
/* 80245D30 00242C70 83 C1 04 38 */ lwz r30, 0x438(r1)
/* 80245D34 00242C74 83 A1 04 34 */ lwz r29, 0x434(r1)
/* 80245D38 00242C78 7C 08 03 A6 */ mtlr r0
/* 80245D3C 00242C7C 38 21 04 40 */ addi r1, r1, 0x440
/* 80245D40 00242C80 4E 80 00 20 */ blr
.global read__Q34Game4Cave11EditMapUnitFP6Stream
read__Q34Game4Cave11EditMapUnitFP6Stream:
/* 80245D44 00242C84 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80245D48 00242C88 7C 08 02 A6 */ mflr r0
/* 80245D4C 00242C8C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80245D50 00242C90 38 00 00 01 */ li r0, 1
/* 80245D54 00242C94 BF 21 00 14 */ stmw r25, 0x14(r1)
/* 80245D58 00242C98 7C 9B 23 78 */ mr r27, r4
/* 80245D5C 00242C9C 7C 7A 1B 78 */ mr r26, r3
/* 80245D60 00242CA0 90 04 00 0C */ stw r0, 0xc(r4)
/* 80245D64 00242CA4 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80245D68 00242CA8 2C 00 00 01 */ cmpwi r0, 1
/* 80245D6C 00242CAC 40 82 00 0C */ bne .L_80245D78
/* 80245D70 00242CB0 38 00 00 00 */ li r0, 0
/* 80245D74 00242CB4 90 1B 04 14 */ stw r0, 0x414(r27)
.L_80245D78:
/* 80245D78 00242CB8 7F 63 DB 78 */ mr r3, r27
/* 80245D7C 00242CBC 48 1C F0 31 */ bl readFloat__6StreamFv
/* 80245D80 00242CC0 D0 3A 00 00 */ stfs f1, 0(r26)
/* 80245D84 00242CC4 7F 63 DB 78 */ mr r3, r27
/* 80245D88 00242CC8 48 1C ED 09 */ bl readInt__6StreamFv
/* 80245D8C 00242CCC 90 7A 00 04 */ stw r3, 4(r26)
/* 80245D90 00242CD0 80 1A 00 04 */ lwz r0, 4(r26)
/* 80245D94 00242CD4 54 03 10 3A */ slwi r3, r0, 2
/* 80245D98 00242CD8 4B DD E2 15 */ bl __nwa__FUl
/* 80245D9C 00242CDC 90 7A 00 08 */ stw r3, 8(r26)
/* 80245DA0 00242CE0 80 1A 00 04 */ lwz r0, 4(r26)
/* 80245DA4 00242CE4 54 03 10 3A */ slwi r3, r0, 2
/* 80245DA8 00242CE8 4B DD E2 05 */ bl __nwa__FUl
/* 80245DAC 00242CEC 90 7A 00 0C */ stw r3, 0xc(r26)
/* 80245DB0 00242CF0 80 1A 00 04 */ lwz r0, 4(r26)
/* 80245DB4 00242CF4 54 03 10 3A */ slwi r3, r0, 2
/* 80245DB8 00242CF8 4B DD E1 F5 */ bl __nwa__FUl
/* 80245DBC 00242CFC 90 7A 00 10 */ stw r3, 0x10(r26)
/* 80245DC0 00242D00 80 1A 00 04 */ lwz r0, 4(r26)
/* 80245DC4 00242D04 54 03 10 3A */ slwi r3, r0, 2
/* 80245DC8 00242D08 4B DD E1 E5 */ bl __nwa__FUl
/* 80245DCC 00242D0C 90 7A 00 14 */ stw r3, 0x14(r26)
/* 80245DD0 00242D10 80 1A 00 04 */ lwz r0, 4(r26)
/* 80245DD4 00242D14 54 03 10 3A */ slwi r3, r0, 2
/* 80245DD8 00242D18 4B DD E1 D5 */ bl __nwa__FUl
/* 80245DDC 00242D1C 90 7A 00 18 */ stw r3, 0x18(r26)
/* 80245DE0 00242D20 3B A0 00 00 */ li r29, 0
/* 80245DE4 00242D24 3B C0 00 00 */ li r30, 0
/* 80245DE8 00242D28 48 00 01 1C */ b .L_80245F04
.L_80245DEC:
/* 80245DEC 00242D2C 7F 63 DB 78 */ mr r3, r27
/* 80245DF0 00242D30 48 1C EC A1 */ bl readInt__6StreamFv
/* 80245DF4 00242D34 80 9A 00 08 */ lwz r4, 8(r26)
/* 80245DF8 00242D38 7C 64 F1 2E */ stwx r3, r4, r30
/* 80245DFC 00242D3C 80 7A 00 08 */ lwz r3, 8(r26)
/* 80245E00 00242D40 7C 03 F0 2E */ lwzx r0, r3, r30
/* 80245E04 00242D44 54 03 10 3A */ slwi r3, r0, 2
/* 80245E08 00242D48 4B DD E1 A5 */ bl __nwa__FUl
/* 80245E0C 00242D4C 80 9A 00 0C */ lwz r4, 0xc(r26)
/* 80245E10 00242D50 7C 64 F1 2E */ stwx r3, r4, r30
/* 80245E14 00242D54 80 7A 00 08 */ lwz r3, 8(r26)
/* 80245E18 00242D58 7C 03 F0 2E */ lwzx r0, r3, r30
/* 80245E1C 00242D5C 54 03 10 3A */ slwi r3, r0, 2
/* 80245E20 00242D60 4B DD E1 8D */ bl __nwa__FUl
/* 80245E24 00242D64 80 9A 00 10 */ lwz r4, 0x10(r26)
/* 80245E28 00242D68 7C 64 F1 2E */ stwx r3, r4, r30
/* 80245E2C 00242D6C 80 7A 00 08 */ lwz r3, 8(r26)
/* 80245E30 00242D70 7C 03 F0 2E */ lwzx r0, r3, r30
/* 80245E34 00242D74 54 03 10 3A */ slwi r3, r0, 2
/* 80245E38 00242D78 4B DD E1 75 */ bl __nwa__FUl
/* 80245E3C 00242D7C 80 9A 00 14 */ lwz r4, 0x14(r26)
/* 80245E40 00242D80 7C 64 F1 2E */ stwx r3, r4, r30
/* 80245E44 00242D84 80 7A 00 08 */ lwz r3, 8(r26)
/* 80245E48 00242D88 7C 03 F0 2E */ lwzx r0, r3, r30
/* 80245E4C 00242D8C 54 03 10 3A */ slwi r3, r0, 2
/* 80245E50 00242D90 4B DD E1 5D */ bl __nwa__FUl
/* 80245E54 00242D94 80 9A 00 18 */ lwz r4, 0x18(r26)
/* 80245E58 00242D98 3B 80 00 00 */ li r28, 0
/* 80245E5C 00242D9C 3B E0 00 00 */ li r31, 0
/* 80245E60 00242DA0 7C 64 F1 2E */ stwx r3, r4, r30
/* 80245E64 00242DA4 48 00 00 88 */ b .L_80245EEC
.L_80245E68:
/* 80245E68 00242DA8 7F 63 DB 78 */ mr r3, r27
/* 80245E6C 00242DAC 38 80 00 00 */ li r4, 0
/* 80245E70 00242DB0 38 A0 00 00 */ li r5, 0
/* 80245E74 00242DB4 48 1C F2 61 */ bl readString__6StreamFPci
/* 80245E78 00242DB8 7C 79 1B 78 */ mr r25, r3
/* 80245E7C 00242DBC 4B E8 4A 95 */ bl strlen
/* 80245E80 00242DC0 38 63 00 01 */ addi r3, r3, 1
/* 80245E84 00242DC4 4B DD E1 29 */ bl __nwa__FUl
/* 80245E88 00242DC8 80 1A 00 0C */ lwz r0, 0xc(r26)
/* 80245E8C 00242DCC 7F 24 CB 78 */ mr r4, r25
/* 80245E90 00242DD0 7C BE 00 2E */ lwzx r5, r30, r0
/* 80245E94 00242DD4 7C 65 F9 2E */ stwx r3, r5, r31
/* 80245E98 00242DD8 80 1A 00 0C */ lwz r0, 0xc(r26)
/* 80245E9C 00242DDC 7C 7E 00 2E */ lwzx r3, r30, r0
/* 80245EA0 00242DE0 7C 63 F8 2E */ lwzx r3, r3, r31
/* 80245EA4 00242DE4 4B E8 49 B5 */ bl strcpy
/* 80245EA8 00242DE8 7F 63 DB 78 */ mr r3, r27
/* 80245EAC 00242DEC 48 1C EB E5 */ bl readInt__6StreamFv
/* 80245EB0 00242DF0 80 1A 00 10 */ lwz r0, 0x10(r26)
/* 80245EB4 00242DF4 7C 9E 00 2E */ lwzx r4, r30, r0
/* 80245EB8 00242DF8 7C 64 F9 2E */ stwx r3, r4, r31
/* 80245EBC 00242DFC 7F 63 DB 78 */ mr r3, r27
/* 80245EC0 00242E00 48 1C EB D1 */ bl readInt__6StreamFv
/* 80245EC4 00242E04 80 1A 00 14 */ lwz r0, 0x14(r26)
/* 80245EC8 00242E08 7C 9E 00 2E */ lwzx r4, r30, r0
/* 80245ECC 00242E0C 7C 64 F9 2E */ stwx r3, r4, r31
/* 80245ED0 00242E10 7F 63 DB 78 */ mr r3, r27
/* 80245ED4 00242E14 48 1C EB BD */ bl readInt__6StreamFv
/* 80245ED8 00242E18 80 1A 00 18 */ lwz r0, 0x18(r26)
/* 80245EDC 00242E1C 3B 9C 00 01 */ addi r28, r28, 1
/* 80245EE0 00242E20 7C 9E 00 2E */ lwzx r4, r30, r0
/* 80245EE4 00242E24 7C 64 F9 2E */ stwx r3, r4, r31
/* 80245EE8 00242E28 3B FF 00 04 */ addi r31, r31, 4
.L_80245EEC:
/* 80245EEC 00242E2C 80 1A 00 08 */ lwz r0, 8(r26)
/* 80245EF0 00242E30 7C 1E 00 2E */ lwzx r0, r30, r0
/* 80245EF4 00242E34 7C 1C 00 00 */ cmpw r28, r0
/* 80245EF8 00242E38 41 80 FF 70 */ blt .L_80245E68
/* 80245EFC 00242E3C 3B DE 00 04 */ addi r30, r30, 4
/* 80245F00 00242E40 3B BD 00 01 */ addi r29, r29, 1
.L_80245F04:
/* 80245F04 00242E44 80 1A 00 04 */ lwz r0, 4(r26)
/* 80245F08 00242E48 7C 1D 00 00 */ cmpw r29, r0
/* 80245F0C 00242E4C 41 80 FE E0 */ blt .L_80245DEC
/* 80245F10 00242E50 38 00 FF 80 */ li r0, -128
/* 80245F14 00242E54 90 1A 00 1C */ stw r0, 0x1c(r26)
/* 80245F18 00242E58 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 80245F1C 00242E5C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80245F20 00242E60 7C 08 03 A6 */ mtlr r0
/* 80245F24 00242E64 38 21 00 30 */ addi r1, r1, 0x30
/* 80245F28 00242E68 4E 80 00 20 */ blr
.global setEditNumber__Q34Game4Cave11EditMapUnitFi
setEditNumber__Q34Game4Cave11EditMapUnitFi:
/* 80245F2C 00242E6C 2C 04 FF FF */ cmpwi r4, -1
/* 80245F30 00242E70 40 82 00 0C */ bne .L_80245F3C
/* 80245F34 00242E74 90 83 00 1C */ stw r4, 0x1c(r3)
/* 80245F38 00242E78 4E 80 00 20 */ blr
.L_80245F3C:
/* 80245F3C 00242E7C 80 A3 00 04 */ lwz r5, 4(r3)
/* 80245F40 00242E80 2C 05 00 00 */ cmpwi r5, 0
/* 80245F44 00242E84 40 81 00 30 */ ble .L_80245F74
/* 80245F48 00242E88 2C 04 00 00 */ cmpwi r4, 0
/* 80245F4C 00242E8C 4D 80 00 20 */ bltlr
/* 80245F50 00242E90 38 05 FF FF */ addi r0, r5, -1
/* 80245F54 00242E94 40 80 00 0C */ bge .L_80245F60
/* 80245F58 00242E98 38 80 00 00 */ li r4, 0
/* 80245F5C 00242E9C 48 00 00 10 */ b .L_80245F6C
.L_80245F60:
/* 80245F60 00242EA0 7C 04 00 00 */ cmpw r4, r0
/* 80245F64 00242EA4 40 81 00 08 */ ble .L_80245F6C
/* 80245F68 00242EA8 7C 04 03 78 */ mr r4, r0
.L_80245F6C:
/* 80245F6C 00242EAC 90 83 00 1C */ stw r4, 0x1c(r3)
/* 80245F70 00242EB0 4E 80 00 20 */ blr
.L_80245F74:
/* 80245F74 00242EB4 38 00 FF FF */ li r0, -1
/* 80245F78 00242EB8 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80245F7C 00242EBC 4E 80 00 20 */ blr
.global __ct__Q34Game4Cave11RandMapUnitFPQ34Game4Cave16MapUnitGenerator
__ct__Q34Game4Cave11RandMapUnitFPQ34Game4Cave16MapUnitGenerator:
/* 80245F80 00242EC0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80245F84 00242EC4 7C 08 02 A6 */ mflr r0
/* 80245F88 00242EC8 90 01 00 34 */ stw r0, 0x34(r1)
/* 80245F8C 00242ECC BF 41 00 18 */ stmw r26, 0x18(r1)
/* 80245F90 00242ED0 7C 9A 23 78 */ mr r26, r4
/* 80245F94 00242ED4 7C 7F 1B 78 */ mr r31, r3
/* 80245F98 00242ED8 93 43 00 20 */ stw r26, 0x20(r3)
/* 80245F9C 00242EDC 38 60 00 0C */ li r3, 0xc
/* 80245FA0 00242EE0 80 9F 00 20 */ lwz r4, 0x20(r31)
/* 80245FA4 00242EE4 83 A4 00 10 */ lwz r29, 0x10(r4)
/* 80245FA8 00242EE8 83 C4 00 28 */ lwz r30, 0x28(r4)
/* 80245FAC 00242EEC 4B DD E0 01 */ bl __nwa__FUl
/* 80245FB0 00242EF0 90 7F 00 24 */ stw r3, 0x24(r31)
/* 80245FB4 00242EF4 3B 60 00 00 */ li r27, 0
/* 80245FB8 00242EF8 3B 80 00 00 */ li r28, 0
.L_80245FBC:
/* 80245FBC 00242EFC 7F A3 EB 78 */ mr r3, r29
/* 80245FC0 00242F00 81 9D 00 00 */ lwz r12, 0(r29)
/* 80245FC4 00242F04 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80245FC8 00242F08 7D 89 03 A6 */ mtctr r12
/* 80245FCC 00242F0C 4E 80 04 21 */ bctrl
/* 80245FD0 00242F10 80 9F 00 24 */ lwz r4, 0x24(r31)
/* 80245FD4 00242F14 3B 7B 00 01 */ addi r27, r27, 1
/* 80245FD8 00242F18 2C 1B 00 03 */ cmpwi r27, 3
/* 80245FDC 00242F1C 3B BD 00 40 */ addi r29, r29, 0x40
/* 80245FE0 00242F20 7C 64 E1 2E */ stwx r3, r4, r28
/* 80245FE4 00242F24 3B 9C 00 04 */ addi r28, r28, 4
/* 80245FE8 00242F28 41 80 FF D4 */ blt .L_80245FBC
/* 80245FEC 00242F2C 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 80245FF0 00242F30 83 A3 00 08 */ lwz r29, 8(r3)
/* 80245FF4 00242F34 28 1D 00 00 */ cmplwi r29, 0
/* 80245FF8 00242F38 41 82 00 74 */ beq .L_8024606C
/* 80245FFC 00242F3C 7F A3 EB 78 */ mr r3, r29
/* 80246000 00242F40 4B F9 10 71 */ bl getRoomNum__Q34Game4Cave9FloorInfoFv
/* 80246004 00242F44 90 7F 00 04 */ stw r3, 4(r31)
/* 80246008 00242F48 7F A3 EB 78 */ mr r3, r29
/* 8024600C 00242F4C 4B F9 10 6D */ bl getRouteRatio__Q34Game4Cave9FloorInfoFv
/* 80246010 00242F50 D0 3F 00 08 */ stfs f1, 8(r31)
/* 80246014 00242F54 7F A3 EB 78 */ mr r3, r29
/* 80246018 00242F58 4B F9 0F 91 */ bl getCapMax__Q34Game4Cave9FloorInfoFv
/* 8024601C 00242F5C 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 80246020 00242F60 3C 00 43 30 */ lis r0, 0x4330
/* 80246024 00242F64 90 61 00 0C */ stw r3, 0xc(r1)
/* 80246028 00242F68 C8 62 C4 10 */ lfd f3, lbl_8051A770@sda21(r2)
/* 8024602C 00242F6C 90 01 00 08 */ stw r0, 8(r1)
/* 80246030 00242F70 C0 22 C4 04 */ lfs f1, lbl_8051A764@sda21(r2)
/* 80246034 00242F74 C8 41 00 08 */ lfd f2, 8(r1)
/* 80246038 00242F78 C0 02 C4 00 */ lfs f0, lbl_8051A760@sda21(r2)
/* 8024603C 00242F7C EC 42 18 28 */ fsubs f2, f2, f3
/* 80246040 00242F80 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80246044 00242F84 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80246048 00242F88 40 80 00 08 */ bge .L_80246050
/* 8024604C 00242F8C 48 00 00 18 */ b .L_80246064
.L_80246050:
/* 80246050 00242F90 C0 02 C4 08 */ lfs f0, lbl_8051A768@sda21(r2)
/* 80246054 00242F94 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80246058 00242F98 40 81 00 08 */ ble .L_80246060
/* 8024605C 00242F9C 48 00 00 08 */ b .L_80246064
.L_80246060:
/* 80246060 00242FA0 FC 00 08 90 */ fmr f0, f1
.L_80246064:
/* 80246064 00242FA4 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 80246068 00242FA8 48 00 00 18 */ b .L_80246080
.L_8024606C:
/* 8024606C 00242FAC 38 00 00 02 */ li r0, 2
/* 80246070 00242FB0 C0 02 C4 00 */ lfs f0, lbl_8051A760@sda21(r2)
/* 80246074 00242FB4 90 1F 00 04 */ stw r0, 4(r31)
/* 80246078 00242FB8 D0 1F 00 08 */ stfs f0, 8(r31)
/* 8024607C 00242FBC D0 1F 00 14 */ stfs f0, 0x14(r31)
.L_80246080:
/* 80246080 00242FC0 38 00 00 00 */ li r0, 0
/* 80246084 00242FC4 98 1F 00 0C */ stb r0, 0xc(r31)
/* 80246088 00242FC8 90 1F 00 00 */ stw r0, 0(r31)
/* 8024608C 00242FCC 80 7A 00 0C */ lwz r3, 0xc(r26)
/* 80246090 00242FD0 83 63 00 10 */ lwz r27, 0x10(r3)
/* 80246094 00242FD4 48 00 00 20 */ b .L_802460B4
.L_80246098:
/* 80246098 00242FD8 7F 63 DB 78 */ mr r3, r27
/* 8024609C 00242FDC 4B FF DF C5 */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 802460A0 00242FE0 80 1F 00 00 */ lwz r0, 0(r31)
/* 802460A4 00242FE4 7C 03 00 00 */ cmpw r3, r0
/* 802460A8 00242FE8 40 81 00 08 */ ble .L_802460B0
/* 802460AC 00242FEC 90 7F 00 00 */ stw r3, 0(r31)
.L_802460B0:
/* 802460B0 00242FF0 83 7B 00 04 */ lwz r27, 4(r27)
.L_802460B4:
/* 802460B4 00242FF4 28 1B 00 00 */ cmplwi r27, 0
/* 802460B8 00242FF8 40 82 FF E0 */ bne .L_80246098
/* 802460BC 00242FFC 38 60 00 04 */ li r3, 4
/* 802460C0 00243000 4B DD DD E5 */ bl __nw__FUl
/* 802460C4 00243004 7C 60 1B 79 */ or. r0, r3, r3
/* 802460C8 00243008 41 82 00 10 */ beq .L_802460D8
/* 802460CC 0024300C 7F C4 F3 78 */ mr r4, r30
/* 802460D0 00243010 4B FF F5 95 */ bl __ct__Q34Game4Cave14RandMapCheckerFPQ34Game4Cave7MapNode
/* 802460D4 00243014 7C 60 1B 78 */ mr r0, r3
.L_802460D8:
/* 802460D8 00243018 90 1F 00 28 */ stw r0, 0x28(r31)
/* 802460DC 0024301C 38 80 00 01 */ li r4, 1
/* 802460E0 00243020 38 00 00 00 */ li r0, 0
/* 802460E4 00243024 38 60 00 40 */ li r3, 0x40
/* 802460E8 00243028 98 9F 00 0D */ stb r4, 0xd(r31)
/* 802460EC 0024302C 90 1F 00 10 */ stw r0, 0x10(r31)
/* 802460F0 00243030 4B DD DE BD */ bl __nwa__FUl
/* 802460F4 00243034 90 7F 00 18 */ stw r3, 0x18(r31)
/* 802460F8 00243038 38 60 00 40 */ li r3, 0x40
/* 802460FC 0024303C 4B DD DE B1 */ bl __nwa__FUl
/* 80246100 00243040 90 7F 00 1C */ stw r3, 0x1c(r31)
/* 80246104 00243044 7F E3 FB 78 */ mr r3, r31
/* 80246108 00243048 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 8024610C 0024304C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80246110 00243050 7C 08 03 A6 */ mtlr r0
/* 80246114 00243054 38 21 00 30 */ addi r1, r1, 0x30
/* 80246118 00243058 4E 80 00 20 */ blr
.global setMapUnit__Q34Game4Cave11RandMapUnitFv
setMapUnit__Q34Game4Cave11RandMapUnitFv:
/* 8024611C 0024305C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80246120 00243060 7C 08 02 A6 */ mflr r0
/* 80246124 00243064 90 01 00 24 */ stw r0, 0x24(r1)
/* 80246128 00243068 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8024612C 0024306C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80246130 00243070 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80246134 00243074 93 81 00 10 */ stw r28, 0x10(r1)
/* 80246138 00243078 7C 7C 1B 78 */ mr r28, r3
/* 8024613C 0024307C 80 83 00 20 */ lwz r4, 0x20(r3)
/* 80246140 00243080 80 04 00 30 */ lwz r0, 0x30(r4)
/* 80246144 00243084 28 00 00 00 */ cmplwi r0, 0
/* 80246148 00243088 41 82 00 0C */ beq .L_80246154
/* 8024614C 0024308C 48 00 07 E9 */ bl setEditorMapUnit__Q34Game4Cave11RandMapUnitFv
/* 80246150 00243090 48 00 00 08 */ b .L_80246158
.L_80246154:
/* 80246154 00243094 48 00 09 25 */ bl setFirstMapUnit__Q34Game4Cave11RandMapUnitFv
.L_80246158:
/* 80246158 00243098 7F 83 E3 78 */ mr r3, r28
/* 8024615C 0024309C 48 00 1E 21 */ bl getOpenDoorNum__Q34Game4Cave11RandMapUnitFv
/* 80246160 002430A0 2C 03 00 00 */ cmpwi r3, 0
/* 80246164 002430A4 41 82 00 8C */ beq .L_802461F0
/* 80246168 002430A8 3B C0 00 00 */ li r30, 0
.L_8024616C:
/* 8024616C 002430AC 7F 83 E3 78 */ mr r3, r28
/* 80246170 002430B0 48 00 01 75 */ bl getRandMapUnit__Q34Game4Cave11RandMapUnitFv
/* 80246174 002430B4 7C 7D 1B 79 */ or. r29, r3, r3
/* 80246178 002430B8 41 82 00 2C */ beq .L_802461A4
/* 8024617C 002430BC 4B FF D8 29 */ bl getNodeOffsetY__Q34Game4Cave7MapNodeFv
/* 80246180 002430C0 7C 7F 1B 78 */ mr r31, r3
/* 80246184 002430C4 7F A3 EB 78 */ mr r3, r29
/* 80246188 002430C8 4B FF D8 15 */ bl getNodeOffsetX__Q34Game4Cave7MapNodeFv
/* 8024618C 002430CC 80 9D 00 18 */ lwz r4, 0x18(r29)
/* 80246190 002430D0 7C 65 1B 78 */ mr r5, r3
/* 80246194 002430D4 7F 83 E3 78 */ mr r3, r28
/* 80246198 002430D8 7F E6 FB 78 */ mr r6, r31
/* 8024619C 002430DC 38 E0 00 01 */ li r7, 1
/* 802461A0 002430E0 48 00 1E 69 */ bl addMap__Q34Game4Cave11RandMapUnitFPQ34Game4Cave8UnitInfoiib
.L_802461A4:
/* 802461A4 002430E4 7F 83 E3 78 */ mr r3, r28
/* 802461A8 002430E8 48 00 1D D5 */ bl getOpenDoorNum__Q34Game4Cave11RandMapUnitFv
/* 802461AC 002430EC 2C 03 00 00 */ cmpwi r3, 0
/* 802461B0 002430F0 40 82 00 34 */ bne .L_802461E4
/* 802461B4 002430F4 7F 83 E3 78 */ mr r3, r28
/* 802461B8 002430F8 48 00 01 99 */ bl changeCapToRootLoopMapUnit__Q34Game4Cave11RandMapUnitFv
/* 802461BC 002430FC 7F 83 E3 78 */ mr r3, r28
/* 802461C0 00243100 48 00 1D BD */ bl getOpenDoorNum__Q34Game4Cave11RandMapUnitFv
/* 802461C4 00243104 2C 03 00 00 */ cmpwi r3, 0
/* 802461C8 00243108 40 82 00 1C */ bne .L_802461E4
/* 802461CC 0024310C 7F 83 E3 78 */ mr r3, r28
/* 802461D0 00243110 48 00 04 05 */ bl changeTwoToOneMapUnit__Q34Game4Cave11RandMapUnitFv
/* 802461D4 00243114 7F 83 E3 78 */ mr r3, r28
/* 802461D8 00243118 48 00 1D A5 */ bl getOpenDoorNum__Q34Game4Cave11RandMapUnitFv
/* 802461DC 0024311C 2C 03 00 00 */ cmpwi r3, 0
/* 802461E0 00243120 41 82 00 10 */ beq .L_802461F0
.L_802461E4:
/* 802461E4 00243124 3B DE 00 01 */ addi r30, r30, 1
/* 802461E8 00243128 2C 1E 01 F4 */ cmpwi r30, 0x1f4
/* 802461EC 0024312C 41 80 FF 80 */ blt .L_8024616C
.L_802461F0:
/* 802461F0 00243130 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802461F4 00243134 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802461F8 00243138 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802461FC 0024313C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80246200 00243140 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80246204 00243144 7C 08 03 A6 */ mtlr r0
/* 80246208 00243148 38 21 00 20 */ addi r1, r1, 0x20
/* 8024620C 0024314C 4E 80 00 20 */ blr
.global getAliveMapIndex__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNode
getAliveMapIndex__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNode:
/* 80246210 00243150 80 A3 00 20 */ lwz r5, 0x20(r3)
/* 80246214 00243154 38 60 00 00 */ li r3, 0
/* 80246218 00243158 80 A5 00 28 */ lwz r5, 0x28(r5)
/* 8024621C 0024315C 80 A5 00 10 */ lwz r5, 0x10(r5)
/* 80246220 00243160 48 00 00 14 */ b .L_80246234
.L_80246224:
/* 80246224 00243164 7C 04 28 40 */ cmplw r4, r5
/* 80246228 00243168 4D 82 00 20 */ beqlr
/* 8024622C 0024316C 80 A5 00 04 */ lwz r5, 4(r5)
/* 80246230 00243170 38 63 00 01 */ addi r3, r3, 1
.L_80246234:
/* 80246234 00243174 28 05 00 00 */ cmplwi r5, 0
/* 80246238 00243178 40 82 FF EC */ bne .L_80246224
/* 8024623C 0024317C 38 60 FF FF */ li r3, -1
/* 80246240 00243180 4E 80 00 20 */ blr
.global getTextureSize__Q34Game4Cave11RandMapUnitFRiRi
getTextureSize__Q34Game4Cave11RandMapUnitFRiRi:
/* 80246244 00243184 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80246248 00243188 7C 08 02 A6 */ mflr r0
/* 8024624C 0024318C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80246250 00243190 BF 21 00 14 */ stmw r25, 0x14(r1)
/* 80246254 00243194 7C 99 23 78 */ mr r25, r4
/* 80246258 00243198 7C BA 2B 78 */ mr r26, r5
/* 8024625C 0024319C 3B C0 CE 00 */ li r30, -12800
/* 80246260 002431A0 3B A0 CE 00 */ li r29, -12800
/* 80246264 002431A4 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80246268 002431A8 80 63 00 28 */ lwz r3, 0x28(r3)
/* 8024626C 002431AC 83 83 00 10 */ lwz r28, 0x10(r3)
/* 80246270 002431B0 48 00 00 50 */ b .L_802462C0
.L_80246274:
/* 80246274 002431B4 80 7C 00 18 */ lwz r3, 0x18(r28)
/* 80246278 002431B8 4B FF C9 0D */ bl getUnitSizeX__Q34Game4Cave8UnitInfoFv
/* 8024627C 002431BC 7C 7F 1B 78 */ mr r31, r3
/* 80246280 002431C0 7F 83 E3 78 */ mr r3, r28
/* 80246284 002431C4 4B FF D7 19 */ bl getNodeOffsetX__Q34Game4Cave7MapNodeFv
/* 80246288 002431C8 7F 63 FA 14 */ add r27, r3, r31
/* 8024628C 002431CC 80 7C 00 18 */ lwz r3, 0x18(r28)
/* 80246290 002431D0 4B FF C8 FD */ bl getUnitSizeY__Q34Game4Cave8UnitInfoFv
/* 80246294 002431D4 7C 7F 1B 78 */ mr r31, r3
/* 80246298 002431D8 7F 83 E3 78 */ mr r3, r28
/* 8024629C 002431DC 4B FF D7 09 */ bl getNodeOffsetY__Q34Game4Cave7MapNodeFv
/* 802462A0 002431E0 7C 1B F0 00 */ cmpw r27, r30
/* 802462A4 002431E4 7C 03 FA 14 */ add r0, r3, r31
/* 802462A8 002431E8 40 81 00 08 */ ble .L_802462B0
/* 802462AC 002431EC 7F 7E DB 78 */ mr r30, r27
.L_802462B0:
/* 802462B0 002431F0 7C 00 E8 00 */ cmpw r0, r29
/* 802462B4 002431F4 40 81 00 08 */ ble .L_802462BC
/* 802462B8 002431F8 7C 1D 03 78 */ mr r29, r0
.L_802462BC:
/* 802462BC 002431FC 83 9C 00 04 */ lwz r28, 4(r28)
.L_802462C0:
/* 802462C0 00243200 28 1C 00 00 */ cmplwi r28, 0
/* 802462C4 00243204 40 82 FF B0 */ bne .L_80246274
/* 802462C8 00243208 93 D9 00 00 */ stw r30, 0(r25)
/* 802462CC 0024320C 93 BA 00 00 */ stw r29, 0(r26)
/* 802462D0 00243210 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 802462D4 00243214 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802462D8 00243218 7C 08 03 A6 */ mtlr r0
/* 802462DC 0024321C 38 21 00 30 */ addi r1, r1, 0x30
/* 802462E0 00243220 4E 80 00 20 */ blr
.global getRandMapUnit__Q34Game4Cave11RandMapUnitFv
getRandMapUnit__Q34Game4Cave11RandMapUnitFv:
/* 802462E4 00243224 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802462E8 00243228 7C 08 02 A6 */ mflr r0
/* 802462EC 0024322C 38 80 00 01 */ li r4, 1
/* 802462F0 00243230 90 01 00 14 */ stw r0, 0x14(r1)
/* 802462F4 00243234 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802462F8 00243238 7C 7F 1B 78 */ mr r31, r3
/* 802462FC 0024323C 48 00 1C 11 */ bl getPartsKindNum__Q34Game4Cave11RandMapUnitFi
/* 80246300 00243240 80 1F 00 04 */ lwz r0, 4(r31)
/* 80246304 00243244 7C 03 00 00 */ cmpw r3, r0
/* 80246308 00243248 40 80 00 10 */ bge .L_80246318
/* 8024630C 0024324C 7F E3 FB 78 */ mr r3, r31
/* 80246310 00243250 48 00 08 61 */ bl getNormalRandMapUnit__Q34Game4Cave11RandMapUnitFv
/* 80246314 00243254 48 00 00 28 */ b .L_8024633C
.L_80246318:
/* 80246318 00243258 7F E3 FB 78 */ mr r3, r31
/* 8024631C 0024325C 48 00 24 15 */ bl createLoopMapNodeCheck__Q34Game4Cave11RandMapUnitFv
/* 80246320 00243260 7F E3 FB 78 */ mr r3, r31
/* 80246324 00243264 48 00 0F 15 */ bl getLoopRandMapUnit__Q34Game4Cave11RandMapUnitFv
/* 80246328 00243268 28 03 00 00 */ cmplwi r3, 0
/* 8024632C 0024326C 41 82 00 08 */ beq .L_80246334
/* 80246330 00243270 48 00 00 0C */ b .L_8024633C
.L_80246334:
/* 80246334 00243274 7F E3 FB 78 */ mr r3, r31
/* 80246338 00243278 48 00 18 E5 */ bl getLoopEndMapUnit__Q34Game4Cave11RandMapUnitFv
.L_8024633C:
/* 8024633C 0024327C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80246340 00243280 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80246344 00243284 7C 08 03 A6 */ mtlr r0
/* 80246348 00243288 38 21 00 10 */ addi r1, r1, 0x10
/* 8024634C 0024328C 4E 80 00 20 */ blr
.global changeCapToRootLoopMapUnit__Q34Game4Cave11RandMapUnitFv
changeCapToRootLoopMapUnit__Q34Game4Cave11RandMapUnitFv:
/* 80246350 00243290 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 80246354 00243294 7C 08 02 A6 */ mflr r0
/* 80246358 00243298 90 01 00 94 */ stw r0, 0x94(r1)
/* 8024635C 0024329C BE 81 00 60 */ stmw r20, 0x60(r1)
/* 80246360 002432A0 7C 7F 1B 78 */ mr r31, r3
/* 80246364 002432A4 3B C1 00 08 */ addi r30, r1, 8
/* 80246368 002432A8 3B 60 00 00 */ li r27, 0
/* 8024636C 002432AC 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80246370 002432B0 83 83 00 10 */ lwz r28, 0x10(r3)
/* 80246374 002432B4 83 A3 00 28 */ lwz r29, 0x28(r3)
/* 80246378 002432B8 83 5C 00 90 */ lwz r26, 0x90(r28)
/* 8024637C 002432BC 48 00 00 74 */ b .L_802463F0
.L_80246380:
/* 80246380 002432C0 80 7A 00 18 */ lwz r3, 0x18(r26)
/* 80246384 002432C4 4B FF C8 01 */ bl getUnitSizeX__Q34Game4Cave8UnitInfoFv
/* 80246388 002432C8 2C 03 00 01 */ cmpwi r3, 1
/* 8024638C 002432CC 40 82 00 60 */ bne .L_802463EC
/* 80246390 002432D0 80 7A 00 18 */ lwz r3, 0x18(r26)
/* 80246394 002432D4 4B FF C7 F9 */ bl getUnitSizeY__Q34Game4Cave8UnitInfoFv
/* 80246398 002432D8 2C 03 00 01 */ cmpwi r3, 1
/* 8024639C 002432DC 40 82 00 50 */ bne .L_802463EC
/* 802463A0 002432E0 7F 43 D3 78 */ mr r3, r26
/* 802463A4 002432E4 4B FF DC BD */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 802463A8 002432E8 2C 03 00 02 */ cmpwi r3, 2
/* 802463AC 002432EC 40 82 00 40 */ bne .L_802463EC
/* 802463B0 002432F0 7F 43 D3 78 */ mr r3, r26
/* 802463B4 002432F4 38 80 00 00 */ li r4, 0
/* 802463B8 002432F8 4B FF CC 71 */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 802463BC 002432FC 2C 03 00 00 */ cmpwi r3, 0
/* 802463C0 00243300 40 82 00 2C */ bne .L_802463EC
/* 802463C4 00243304 7F 43 D3 78 */ mr r3, r26
/* 802463C8 00243308 38 80 00 01 */ li r4, 1
/* 802463CC 0024330C 4B FF CC 5D */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 802463D0 00243310 2C 03 00 02 */ cmpwi r3, 2
/* 802463D4 00243314 40 82 00 18 */ bne .L_802463EC
/* 802463D8 00243318 80 7A 00 18 */ lwz r3, 0x18(r26)
/* 802463DC 0024331C 4B FF C7 91 */ bl getUnitName__Q34Game4Cave8UnitInfoFv
/* 802463E0 00243320 90 7E 00 00 */ stw r3, 0(r30)
/* 802463E4 00243324 3B DE 00 04 */ addi r30, r30, 4
/* 802463E8 00243328 3B 7B 00 01 */ addi r27, r27, 1
.L_802463EC:
/* 802463EC 0024332C 83 5A 00 04 */ lwz r26, 4(r26)
.L_802463F0:
/* 802463F0 00243330 28 1A 00 00 */ cmplwi r26, 0
/* 802463F4 00243334 40 82 FF 8C */ bne .L_80246380
/* 802463F8 00243338 2C 1B 00 00 */ cmpwi r27, 0
/* 802463FC 0024333C 41 82 01 C4 */ beq .L_802465C0
/* 80246400 00243340 83 5D 00 10 */ lwz r26, 0x10(r29)
/* 80246404 00243344 48 00 01 B4 */ b .L_802465B8
.L_80246408:
/* 80246408 00243348 80 7A 00 18 */ lwz r3, 0x18(r26)
/* 8024640C 0024334C 4B FF C7 6D */ bl getUnitKind__Q34Game4Cave8UnitInfoFv
/* 80246410 00243350 2C 03 00 00 */ cmpwi r3, 0
/* 80246414 00243354 40 82 01 A0 */ bne .L_802465B4
/* 80246418 00243358 7F 43 D3 78 */ mr r3, r26
/* 8024641C 0024335C 3B 20 00 00 */ li r25, 0
/* 80246420 00243360 4B FF D5 7D */ bl getNodeOffsetX__Q34Game4Cave7MapNodeFv
/* 80246424 00243364 7C 60 1B 78 */ mr r0, r3
/* 80246428 00243368 7F 43 D3 78 */ mr r3, r26
/* 8024642C 0024336C 7C 18 03 78 */ mr r24, r0
/* 80246430 00243370 4B FF D5 75 */ bl getNodeOffsetY__Q34Game4Cave7MapNodeFv
/* 80246434 00243374 7C 77 1B 78 */ mr r23, r3
/* 80246438 00243378 7F 16 C3 78 */ mr r22, r24
/* 8024643C 0024337C 7F 43 D3 78 */ mr r3, r26
/* 80246440 00243380 38 80 00 00 */ li r4, 0
/* 80246444 00243384 7E F5 BB 78 */ mr r21, r23
/* 80246448 00243388 4B FF CB E1 */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 8024644C 0024338C 7C 7E 1B 78 */ mr r30, r3
/* 80246450 00243390 2C 1E 00 02 */ cmpwi r30, 2
/* 80246454 00243394 41 82 00 34 */ beq .L_80246488
/* 80246458 00243398 40 80 00 14 */ bge .L_8024646C
/* 8024645C 0024339C 2C 1E 00 00 */ cmpwi r30, 0
/* 80246460 002433A0 41 82 00 18 */ beq .L_80246478
/* 80246464 002433A4 40 80 00 1C */ bge .L_80246480
/* 80246468 002433A8 48 00 00 2C */ b .L_80246494
.L_8024646C:
/* 8024646C 002433AC 2C 1E 00 04 */ cmpwi r30, 4
/* 80246470 002433B0 40 80 00 24 */ bge .L_80246494
/* 80246474 002433B4 48 00 00 1C */ b .L_80246490
.L_80246478:
/* 80246478 002433B8 3A B5 00 01 */ addi r21, r21, 1
/* 8024647C 002433BC 48 00 00 18 */ b .L_80246494
.L_80246480:
/* 80246480 002433C0 3A D8 FF FF */ addi r22, r24, -1
/* 80246484 002433C4 48 00 00 10 */ b .L_80246494
.L_80246488:
/* 80246488 002433C8 3A B5 FF FF */ addi r21, r21, -1
/* 8024648C 002433CC 48 00 00 08 */ b .L_80246494
.L_80246490:
/* 80246490 002433D0 3A D8 00 01 */ addi r22, r24, 1
.L_80246494:
/* 80246494 002433D4 82 9D 00 10 */ lwz r20, 0x10(r29)
/* 80246498 002433D8 48 00 00 48 */ b .L_802464E0
.L_8024649C:
/* 8024649C 002433DC 7C 1A A0 40 */ cmplw r26, r20
/* 802464A0 002433E0 41 82 00 3C */ beq .L_802464DC
/* 802464A4 002433E4 80 74 00 18 */ lwz r3, 0x18(r20)
/* 802464A8 002433E8 4B FF C6 D1 */ bl getUnitKind__Q34Game4Cave8UnitInfoFv
/* 802464AC 002433EC 2C 03 00 02 */ cmpwi r3, 2
/* 802464B0 002433F0 40 82 00 2C */ bne .L_802464DC
/* 802464B4 002433F4 7E 83 A3 78 */ mr r3, r20
/* 802464B8 002433F8 4B FF D4 E5 */ bl getNodeOffsetX__Q34Game4Cave7MapNodeFv
/* 802464BC 002433FC 7C 16 18 00 */ cmpw r22, r3
/* 802464C0 00243400 40 82 00 1C */ bne .L_802464DC
/* 802464C4 00243404 7E 83 A3 78 */ mr r3, r20
/* 802464C8 00243408 4B FF D4 DD */ bl getNodeOffsetY__Q34Game4Cave7MapNodeFv
/* 802464CC 0024340C 7C 15 18 00 */ cmpw r21, r3
/* 802464D0 00243410 40 82 00 0C */ bne .L_802464DC
/* 802464D4 00243414 7E 99 A3 78 */ mr r25, r20
/* 802464D8 00243418 48 00 00 10 */ b .L_802464E8
.L_802464DC:
/* 802464DC 0024341C 82 94 00 04 */ lwz r20, 4(r20)
.L_802464E0:
/* 802464E0 00243420 28 14 00 00 */ cmplwi r20, 0
/* 802464E4 00243424 40 82 FF B8 */ bne .L_8024649C
.L_802464E8:
/* 802464E8 00243428 28 19 00 00 */ cmplwi r25, 0
/* 802464EC 0024342C 41 82 00 C8 */ beq .L_802465B4
/* 802464F0 00243430 7F E3 FB 78 */ mr r3, r31
/* 802464F4 00243434 7F 44 D3 78 */ mr r4, r26
/* 802464F8 00243438 48 00 22 01 */ bl deleteMapNode__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNode
/* 802464FC 0024343C 7F E3 FB 78 */ mr r3, r31
/* 80246500 00243440 7F 24 CB 78 */ mr r4, r25
/* 80246504 00243444 48 00 21 F5 */ bl deleteMapNode__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNode
/* 80246508 00243448 4B E8 30 99 */ bl rand
/* 8024650C 0024344C 3C 80 43 30 */ lis r4, 0x4330
/* 80246510 00243450 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 80246514 00243454 90 01 00 4C */ stw r0, 0x4c(r1)
/* 80246518 00243458 6F 60 80 00 */ xoris r0, r27, 0x8000
/* 8024651C 0024345C C8 42 C4 10 */ lfd f2, lbl_8051A770@sda21(r2)
/* 80246520 00243460 38 61 00 08 */ addi r3, r1, 8
/* 80246524 00243464 90 81 00 48 */ stw r4, 0x48(r1)
/* 80246528 00243468 C0 02 C4 18 */ lfs f0, lbl_8051A778@sda21(r2)
/* 8024652C 0024346C C8 21 00 48 */ lfd f1, 0x48(r1)
/* 80246530 00243470 90 01 00 54 */ stw r0, 0x54(r1)
/* 80246534 00243474 EC 21 10 28 */ fsubs f1, f1, f2
/* 80246538 00243478 82 BC 00 90 */ lwz r21, 0x90(r28)
/* 8024653C 0024347C 90 81 00 50 */ stw r4, 0x50(r1)
/* 80246540 00243480 EC 21 00 24 */ fdivs f1, f1, f0
/* 80246544 00243484 C8 01 00 50 */ lfd f0, 0x50(r1)
/* 80246548 00243488 EC 00 10 28 */ fsubs f0, f0, f2
/* 8024654C 0024348C EC 00 00 72 */ fmuls f0, f0, f1
/* 80246550 00243490 FC 00 00 1E */ fctiwz f0, f0
/* 80246554 00243494 D8 01 00 58 */ stfd f0, 0x58(r1)
/* 80246558 00243498 80 01 00 5C */ lwz r0, 0x5c(r1)
/* 8024655C 0024349C 54 00 10 3A */ slwi r0, r0, 2
/* 80246560 002434A0 7E 83 00 2E */ lwzx r20, r3, r0
/* 80246564 002434A4 48 00 00 48 */ b .L_802465AC
.L_80246568:
/* 80246568 002434A8 80 75 00 18 */ lwz r3, 0x18(r21)
/* 8024656C 002434AC 4B FF C6 01 */ bl getUnitName__Q34Game4Cave8UnitInfoFv
/* 80246570 002434B0 7C 03 A0 40 */ cmplw r3, r20
/* 80246574 002434B4 40 82 00 34 */ bne .L_802465A8
/* 80246578 002434B8 7E A3 AB 78 */ mr r3, r21
/* 8024657C 002434BC 38 80 00 00 */ li r4, 0
/* 80246580 002434C0 4B FF CA A9 */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 80246584 002434C4 7C 1E 18 00 */ cmpw r30, r3
/* 80246588 002434C8 40 82 00 20 */ bne .L_802465A8
/* 8024658C 002434CC 80 95 00 18 */ lwz r4, 0x18(r21)
/* 80246590 002434D0 7F E3 FB 78 */ mr r3, r31
/* 80246594 002434D4 7F 05 C3 78 */ mr r5, r24
/* 80246598 002434D8 7E E6 BB 78 */ mr r6, r23
/* 8024659C 002434DC 38 E0 00 01 */ li r7, 1
/* 802465A0 002434E0 48 00 1A 69 */ bl addMap__Q34Game4Cave11RandMapUnitFPQ34Game4Cave8UnitInfoiib
/* 802465A4 002434E4 48 00 00 1C */ b .L_802465C0
.L_802465A8:
/* 802465A8 002434E8 82 B5 00 04 */ lwz r21, 4(r21)
.L_802465AC:
/* 802465AC 002434EC 28 15 00 00 */ cmplwi r21, 0
/* 802465B0 002434F0 40 82 FF B8 */ bne .L_80246568
.L_802465B4:
/* 802465B4 002434F4 83 5A 00 04 */ lwz r26, 4(r26)
.L_802465B8:
/* 802465B8 002434F8 28 1A 00 00 */ cmplwi r26, 0
/* 802465BC 002434FC 40 82 FE 4C */ bne .L_80246408
.L_802465C0:
/* 802465C0 00243500 BA 81 00 60 */ lmw r20, 0x60(r1)
/* 802465C4 00243504 80 01 00 94 */ lwz r0, 0x94(r1)
/* 802465C8 00243508 7C 08 03 A6 */ mtlr r0
/* 802465CC 0024350C 38 21 00 90 */ addi r1, r1, 0x90
/* 802465D0 00243510 4E 80 00 20 */ blr
.global changeTwoToOneMapUnit__Q34Game4Cave11RandMapUnitFv
changeTwoToOneMapUnit__Q34Game4Cave11RandMapUnitFv:
/* 802465D4 00243514 94 21 FF 20 */ stwu r1, -0xe0(r1)
/* 802465D8 00243518 7C 08 02 A6 */ mflr r0
/* 802465DC 0024351C 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 802465E0 00243520 BE 61 00 AC */ stmw r19, 0xac(r1)
/* 802465E4 00243524 7C 79 1B 78 */ mr r25, r3
/* 802465E8 00243528 3B C1 00 48 */ addi r30, r1, 0x48
/* 802465EC 0024352C 3B A0 00 00 */ li r29, 0
/* 802465F0 00243530 7F D5 F3 78 */ mr r21, r30
/* 802465F4 00243534 3B 80 00 00 */ li r28, 0
/* 802465F8 00243538 80 63 00 20 */ lwz r3, 0x20(r3)
/* 802465FC 0024353C 83 E3 00 10 */ lwz r31, 0x10(r3)
/* 80246600 00243540 83 03 00 28 */ lwz r24, 0x28(r3)
/* 80246604 00243544 82 9F 00 90 */ lwz r20, 0x90(r31)
/* 80246608 00243548 48 00 00 74 */ b .L_8024667C
.L_8024660C:
/* 8024660C 0024354C 80 74 00 18 */ lwz r3, 0x18(r20)
/* 80246610 00243550 4B FF C5 75 */ bl getUnitSizeX__Q34Game4Cave8UnitInfoFv
/* 80246614 00243554 2C 03 00 01 */ cmpwi r3, 1
/* 80246618 00243558 40 82 00 60 */ bne .L_80246678
/* 8024661C 0024355C 80 74 00 18 */ lwz r3, 0x18(r20)
/* 80246620 00243560 4B FF C5 6D */ bl getUnitSizeY__Q34Game4Cave8UnitInfoFv
/* 80246624 00243564 2C 03 00 01 */ cmpwi r3, 1
/* 80246628 00243568 40 82 00 50 */ bne .L_80246678
/* 8024662C 0024356C 7E 83 A3 78 */ mr r3, r20
/* 80246630 00243570 4B FF DA 31 */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 80246634 00243574 2C 03 00 02 */ cmpwi r3, 2
/* 80246638 00243578 40 82 00 40 */ bne .L_80246678
/* 8024663C 0024357C 7E 83 A3 78 */ mr r3, r20
/* 80246640 00243580 38 80 00 00 */ li r4, 0
/* 80246644 00243584 4B FF C9 E5 */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 80246648 00243588 2C 03 00 00 */ cmpwi r3, 0
/* 8024664C 0024358C 40 82 00 2C */ bne .L_80246678
/* 80246650 00243590 7E 83 A3 78 */ mr r3, r20
/* 80246654 00243594 38 80 00 01 */ li r4, 1
/* 80246658 00243598 4B FF C9 D1 */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 8024665C 0024359C 2C 03 00 02 */ cmpwi r3, 2
/* 80246660 002435A0 40 82 00 18 */ bne .L_80246678
/* 80246664 002435A4 80 74 00 18 */ lwz r3, 0x18(r20)
/* 80246668 002435A8 4B FF C5 05 */ bl getUnitName__Q34Game4Cave8UnitInfoFv
/* 8024666C 002435AC 90 75 00 00 */ stw r3, 0(r21)
/* 80246670 002435B0 3A B5 00 04 */ addi r21, r21, 4
/* 80246674 002435B4 3B BD 00 01 */ addi r29, r29, 1
.L_80246678:
/* 80246678 002435B8 82 94 00 04 */ lwz r20, 4(r20)
.L_8024667C:
/* 8024667C 002435BC 28 14 00 00 */ cmplwi r20, 0
/* 80246680 002435C0 40 82 FF 8C */ bne .L_8024660C
/* 80246684 002435C4 82 9F 00 90 */ lwz r20, 0x90(r31)
/* 80246688 002435C8 3A A1 00 08 */ addi r21, r1, 8
/* 8024668C 002435CC 48 00 00 74 */ b .L_80246700
.L_80246690:
/* 80246690 002435D0 80 74 00 18 */ lwz r3, 0x18(r20)
/* 80246694 002435D4 4B FF C4 F1 */ bl getUnitSizeX__Q34Game4Cave8UnitInfoFv
/* 80246698 002435D8 2C 03 00 01 */ cmpwi r3, 1
/* 8024669C 002435DC 40 82 00 60 */ bne .L_802466FC
/* 802466A0 002435E0 80 74 00 18 */ lwz r3, 0x18(r20)
/* 802466A4 002435E4 4B FF C4 E9 */ bl getUnitSizeY__Q34Game4Cave8UnitInfoFv
/* 802466A8 002435E8 2C 03 00 02 */ cmpwi r3, 2
/* 802466AC 002435EC 40 82 00 50 */ bne .L_802466FC
/* 802466B0 002435F0 7E 83 A3 78 */ mr r3, r20
/* 802466B4 002435F4 4B FF D9 AD */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 802466B8 002435F8 2C 03 00 02 */ cmpwi r3, 2
/* 802466BC 002435FC 40 82 00 40 */ bne .L_802466FC
/* 802466C0 00243600 7E 83 A3 78 */ mr r3, r20
/* 802466C4 00243604 38 80 00 00 */ li r4, 0
/* 802466C8 00243608 4B FF C9 61 */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 802466CC 0024360C 2C 03 00 00 */ cmpwi r3, 0
/* 802466D0 00243610 40 82 00 2C */ bne .L_802466FC
/* 802466D4 00243614 7E 83 A3 78 */ mr r3, r20
/* 802466D8 00243618 38 80 00 01 */ li r4, 1
/* 802466DC 0024361C 4B FF C9 4D */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 802466E0 00243620 2C 03 00 02 */ cmpwi r3, 2
/* 802466E4 00243624 40 82 00 18 */ bne .L_802466FC
/* 802466E8 00243628 80 74 00 18 */ lwz r3, 0x18(r20)
/* 802466EC 0024362C 4B FF C4 81 */ bl getUnitName__Q34Game4Cave8UnitInfoFv
/* 802466F0 00243630 90 75 00 00 */ stw r3, 0(r21)
/* 802466F4 00243634 3A B5 00 04 */ addi r21, r21, 4
/* 802466F8 00243638 3B 9C 00 01 */ addi r28, r28, 1
.L_802466FC:
/* 802466FC 0024363C 82 94 00 04 */ lwz r20, 4(r20)
.L_80246700:
/* 80246700 00243640 28 14 00 00 */ cmplwi r20, 0
/* 80246704 00243644 40 82 FF 8C */ bne .L_80246690
/* 80246708 00243648 2C 1D 00 00 */ cmpwi r29, 0
/* 8024670C 0024364C 41 82 02 14 */ beq .L_80246920
/* 80246710 00243650 2C 1C 00 00 */ cmpwi r28, 0
/* 80246714 00243654 41 82 02 0C */ beq .L_80246920
/* 80246718 00243658 80 78 00 10 */ lwz r3, 0x10(r24)
/* 8024671C 0024365C 48 00 01 FC */ b .L_80246918
.L_80246720:
/* 80246720 00243660 82 E3 00 04 */ lwz r23, 4(r3)
/* 80246724 00243664 7C 7B 1B 78 */ mr r27, r3
/* 80246728 00243668 7F D5 F3 78 */ mr r21, r30
/* 8024672C 0024366C 3A 80 00 00 */ li r20, 0
/* 80246730 00243670 3A C0 00 00 */ li r22, 0
/* 80246734 00243674 48 00 00 24 */ b .L_80246758
.L_80246738:
/* 80246738 00243678 80 7B 00 18 */ lwz r3, 0x18(r27)
/* 8024673C 0024367C 4B FF C4 31 */ bl getUnitName__Q34Game4Cave8UnitInfoFv
/* 80246740 00243680 80 15 00 00 */ lwz r0, 0(r21)
/* 80246744 00243684 7C 03 00 40 */ cmplw r3, r0
/* 80246748 00243688 40 82 00 08 */ bne .L_80246750
/* 8024674C 0024368C 3A 80 00 01 */ li r20, 1
.L_80246750:
/* 80246750 00243690 3A B5 00 04 */ addi r21, r21, 4
/* 80246754 00243694 3A D6 00 01 */ addi r22, r22, 1
.L_80246758:
/* 80246758 00243698 7C 16 E8 00 */ cmpw r22, r29
/* 8024675C 0024369C 41 80 FF DC */ blt .L_80246738
/* 80246760 002436A0 56 80 06 3F */ clrlwi. r0, r20, 0x18
/* 80246764 002436A4 3B 40 00 00 */ li r26, 0
/* 80246768 002436A8 41 82 00 78 */ beq .L_802467E0
/* 8024676C 002436AC 3A A0 00 00 */ li r21, 0
/* 80246770 002436B0 3A C0 00 00 */ li r22, 0
.L_80246774:
/* 80246774 002436B4 28 1A 00 00 */ cmplwi r26, 0
/* 80246778 002436B8 40 82 00 58 */ bne .L_802467D0
/* 8024677C 002436BC 80 7B 00 28 */ lwz r3, 0x28(r27)
/* 80246780 002436C0 7C 03 B0 2E */ lwzx r0, r3, r22
/* 80246784 002436C4 28 00 00 00 */ cmplwi r0, 0
/* 80246788 002436C8 41 82 00 48 */ beq .L_802467D0
/* 8024678C 002436CC 7F D4 F3 78 */ mr r20, r30
/* 80246790 002436D0 3A 60 00 00 */ li r19, 0
/* 80246794 002436D4 48 00 00 34 */ b .L_802467C8
.L_80246798:
/* 80246798 002436D8 80 1B 00 28 */ lwz r0, 0x28(r27)
/* 8024679C 002436DC 7C 76 00 2E */ lwzx r3, r22, r0
/* 802467A0 002436E0 80 63 00 18 */ lwz r3, 0x18(r3)
/* 802467A4 002436E4 4B FF C3 C9 */ bl getUnitName__Q34Game4Cave8UnitInfoFv
/* 802467A8 002436E8 80 14 00 00 */ lwz r0, 0(r20)
/* 802467AC 002436EC 7C 03 00 40 */ cmplw r3, r0
/* 802467B0 002436F0 40 82 00 10 */ bne .L_802467C0
/* 802467B4 002436F4 80 7B 00 28 */ lwz r3, 0x28(r27)
/* 802467B8 002436F8 7F 43 B0 2E */ lwzx r26, r3, r22
/* 802467BC 002436FC 48 00 00 14 */ b .L_802467D0
.L_802467C0:
/* 802467C0 00243700 3A 94 00 04 */ addi r20, r20, 4
/* 802467C4 00243704 3A 73 00 01 */ addi r19, r19, 1
.L_802467C8:
/* 802467C8 00243708 7C 13 E8 00 */ cmpw r19, r29
/* 802467CC 0024370C 41 80 FF CC */ blt .L_80246798
.L_802467D0:
/* 802467D0 00243710 3A B5 00 01 */ addi r21, r21, 1
/* 802467D4 00243714 3A D6 00 0C */ addi r22, r22, 0xc
/* 802467D8 00243718 2C 15 00 02 */ cmpwi r21, 2
/* 802467DC 0024371C 41 80 FF 98 */ blt .L_80246774
.L_802467E0:
/* 802467E0 00243720 28 1A 00 00 */ cmplwi r26, 0
/* 802467E4 00243724 41 82 01 30 */ beq .L_80246914
/* 802467E8 00243728 7F 43 D3 78 */ mr r3, r26
/* 802467EC 0024372C 4B FF D1 B1 */ bl getNodeOffsetX__Q34Game4Cave7MapNodeFv
/* 802467F0 00243730 7C 77 1B 78 */ mr r23, r3
/* 802467F4 00243734 7F 63 DB 78 */ mr r3, r27
/* 802467F8 00243738 4B FF D1 A5 */ bl getNodeOffsetX__Q34Game4Cave7MapNodeFv
/* 802467FC 0024373C 7C 03 B8 00 */ cmpw r3, r23
/* 80246800 00243740 40 80 00 08 */ bge .L_80246808
/* 80246804 00243744 7C 77 1B 78 */ mr r23, r3
.L_80246808:
/* 80246808 00243748 7F 43 D3 78 */ mr r3, r26
/* 8024680C 0024374C 4B FF D1 99 */ bl getNodeOffsetY__Q34Game4Cave7MapNodeFv
/* 80246810 00243750 7C 76 1B 78 */ mr r22, r3
/* 80246814 00243754 7F 63 DB 78 */ mr r3, r27
/* 80246818 00243758 4B FF D1 8D */ bl getNodeOffsetY__Q34Game4Cave7MapNodeFv
/* 8024681C 0024375C 7C 03 B0 00 */ cmpw r3, r22
/* 80246820 00243760 40 80 00 08 */ bge .L_80246828
/* 80246824 00243764 7C 76 1B 78 */ mr r22, r3
.L_80246828:
/* 80246828 00243768 7F 43 D3 78 */ mr r3, r26
/* 8024682C 0024376C 4B FF D1 71 */ bl getNodeOffsetX__Q34Game4Cave7MapNodeFv
/* 80246830 00243770 7C 75 1B 78 */ mr r21, r3
/* 80246834 00243774 7F 63 DB 78 */ mr r3, r27
/* 80246838 00243778 4B FF D1 65 */ bl getNodeOffsetX__Q34Game4Cave7MapNodeFv
/* 8024683C 0024377C 7C 83 A8 50 */ subf r4, r3, r21
/* 80246840 00243780 7C 15 18 50 */ subf r0, r21, r3
/* 80246844 00243784 7C 80 03 78 */ or r0, r4, r0
/* 80246848 00243788 7F 23 CB 78 */ mr r3, r25
/* 8024684C 0024378C 7F 64 DB 78 */ mr r4, r27
/* 80246850 00243790 54 13 0F FE */ srwi r19, r0, 0x1f
/* 80246854 00243794 48 00 1E A5 */ bl deleteMapNode__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNode
/* 80246858 00243798 7F 23 CB 78 */ mr r3, r25
/* 8024685C 0024379C 7F 44 D3 78 */ mr r4, r26
/* 80246860 002437A0 48 00 1E 99 */ bl deleteMapNode__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNode
/* 80246864 002437A4 4B E8 2D 3D */ bl rand
/* 80246868 002437A8 3C 80 43 30 */ lis r4, 0x4330
/* 8024686C 002437AC 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 80246870 002437B0 90 01 00 8C */ stw r0, 0x8c(r1)
/* 80246874 002437B4 6F 80 80 00 */ xoris r0, r28, 0x8000
/* 80246878 002437B8 C8 42 C4 10 */ lfd f2, lbl_8051A770@sda21(r2)
/* 8024687C 002437BC 38 61 00 08 */ addi r3, r1, 8
/* 80246880 002437C0 90 81 00 88 */ stw r4, 0x88(r1)
/* 80246884 002437C4 C0 02 C4 18 */ lfs f0, lbl_8051A778@sda21(r2)
/* 80246888 002437C8 C8 21 00 88 */ lfd f1, 0x88(r1)
/* 8024688C 002437CC 90 01 00 94 */ stw r0, 0x94(r1)
/* 80246890 002437D0 EC 21 10 28 */ fsubs f1, f1, f2
/* 80246894 002437D4 82 BF 00 90 */ lwz r21, 0x90(r31)
/* 80246898 002437D8 90 81 00 90 */ stw r4, 0x90(r1)
/* 8024689C 002437DC EC 21 00 24 */ fdivs f1, f1, f0
/* 802468A0 002437E0 C8 01 00 90 */ lfd f0, 0x90(r1)
/* 802468A4 002437E4 EC 00 10 28 */ fsubs f0, f0, f2
/* 802468A8 002437E8 EC 00 00 72 */ fmuls f0, f0, f1
/* 802468AC 002437EC FC 00 00 1E */ fctiwz f0, f0
/* 802468B0 002437F0 D8 01 00 98 */ stfd f0, 0x98(r1)
/* 802468B4 002437F4 80 01 00 9C */ lwz r0, 0x9c(r1)
/* 802468B8 002437F8 54 00 10 3A */ slwi r0, r0, 2
/* 802468BC 002437FC 7E 83 00 2E */ lwzx r20, r3, r0
/* 802468C0 00243800 48 00 00 48 */ b .L_80246908
.L_802468C4:
/* 802468C4 00243804 80 75 00 18 */ lwz r3, 0x18(r21)
/* 802468C8 00243808 4B FF C2 A5 */ bl getUnitName__Q34Game4Cave8UnitInfoFv
/* 802468CC 0024380C 7C 03 A0 40 */ cmplw r3, r20
/* 802468D0 00243810 40 82 00 34 */ bne .L_80246904
/* 802468D4 00243814 7E A3 AB 78 */ mr r3, r21
/* 802468D8 00243818 38 80 00 00 */ li r4, 0
/* 802468DC 0024381C 4B FF C7 4D */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 802468E0 00243820 7C 13 18 00 */ cmpw r19, r3
/* 802468E4 00243824 40 82 00 20 */ bne .L_80246904
/* 802468E8 00243828 80 95 00 18 */ lwz r4, 0x18(r21)
/* 802468EC 0024382C 7F 23 CB 78 */ mr r3, r25
/* 802468F0 00243830 7E E5 BB 78 */ mr r5, r23
/* 802468F4 00243834 7E C6 B3 78 */ mr r6, r22
/* 802468F8 00243838 38 E0 00 01 */ li r7, 1
/* 802468FC 0024383C 48 00 17 0D */ bl addMap__Q34Game4Cave11RandMapUnitFPQ34Game4Cave8UnitInfoiib
/* 80246900 00243840 48 00 00 10 */ b .L_80246910
.L_80246904:
/* 80246904 00243844 82 B5 00 04 */ lwz r21, 4(r21)
.L_80246908:
/* 80246908 00243848 28 15 00 00 */ cmplwi r21, 0
/* 8024690C 0024384C 40 82 FF B8 */ bne .L_802468C4
.L_80246910:
/* 80246910 00243850 82 F8 00 10 */ lwz r23, 0x10(r24)
.L_80246914:
/* 80246914 00243854 7E E3 BB 78 */ mr r3, r23
.L_80246918:
/* 80246918 00243858 28 03 00 00 */ cmplwi r3, 0
/* 8024691C 0024385C 40 82 FE 04 */ bne .L_80246720
.L_80246920:
/* 80246920 00243860 BA 61 00 AC */ lmw r19, 0xac(r1)
/* 80246924 00243864 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 80246928 00243868 7C 08 03 A6 */ mtlr r0
/* 8024692C 0024386C 38 21 00 E0 */ addi r1, r1, 0xe0
/* 80246930 00243870 4E 80 00 20 */ blr
.global setEditorMapUnit__Q34Game4Cave11RandMapUnitFv
setEditorMapUnit__Q34Game4Cave11RandMapUnitFv:
/* 80246934 00243874 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80246938 00243878 7C 08 02 A6 */ mflr r0
/* 8024693C 0024387C 90 01 00 44 */ stw r0, 0x44(r1)
/* 80246940 00243880 BF 01 00 20 */ stmw r24, 0x20(r1)
/* 80246944 00243884 7C 78 1B 78 */ mr r24, r3
/* 80246948 00243888 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8024694C 0024388C 83 C3 00 30 */ lwz r30, 0x30(r3)
/* 80246950 00243890 83 E3 00 0C */ lwz r31, 0xc(r3)
/* 80246954 00243894 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 80246958 00243898 2C 00 00 00 */ cmpwi r0, 0
/* 8024695C 0024389C 40 80 00 54 */ bge .L_802469B0
/* 80246960 002438A0 83 3E 00 04 */ lwz r25, 4(r30)
/* 80246964 002438A4 4B E8 2C 3D */ bl rand
/* 80246968 002438A8 3C 80 43 30 */ lis r4, 0x4330
/* 8024696C 002438AC 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 80246970 002438B0 90 01 00 0C */ stw r0, 0xc(r1)
/* 80246974 002438B4 6F 20 80 00 */ xoris r0, r25, 0x8000
/* 80246978 002438B8 C8 42 C4 10 */ lfd f2, lbl_8051A770@sda21(r2)
/* 8024697C 002438BC 90 81 00 08 */ stw r4, 8(r1)
/* 80246980 002438C0 C0 02 C4 18 */ lfs f0, lbl_8051A778@sda21(r2)
/* 80246984 002438C4 C8 21 00 08 */ lfd f1, 8(r1)
/* 80246988 002438C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8024698C 002438CC EC 21 10 28 */ fsubs f1, f1, f2
/* 80246990 002438D0 90 81 00 10 */ stw r4, 0x10(r1)
/* 80246994 002438D4 EC 21 00 24 */ fdivs f1, f1, f0
/* 80246998 002438D8 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8024699C 002438DC EC 00 10 28 */ fsubs f0, f0, f2
/* 802469A0 002438E0 EC 00 00 72 */ fmuls f0, f0, f1
/* 802469A4 002438E4 FC 00 00 1E */ fctiwz f0, f0
/* 802469A8 002438E8 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 802469AC 002438EC 80 01 00 1C */ lwz r0, 0x1c(r1)
.L_802469B0:
/* 802469B0 002438F0 80 7E 00 08 */ lwz r3, 8(r30)
/* 802469B4 002438F4 54 1C 10 3A */ slwi r28, r0, 2
/* 802469B8 002438F8 3B 40 00 00 */ li r26, 0
/* 802469BC 002438FC 3B A0 00 00 */ li r29, 0
/* 802469C0 00243900 7C 63 E0 2E */ lwzx r3, r3, r28
/* 802469C4 00243904 3B 63 FF FF */ addi r27, r3, -1
/* 802469C8 00243908 48 00 00 8C */ b .L_80246A54
.L_802469CC:
/* 802469CC 0024390C 83 3F 00 10 */ lwz r25, 0x10(r31)
/* 802469D0 00243910 48 00 00 74 */ b .L_80246A44
.L_802469D4:
/* 802469D4 00243914 7F 23 CB 78 */ mr r3, r25
/* 802469D8 00243918 4B FF D0 E1 */ bl getDirection__Q34Game4Cave7MapNodeFv
/* 802469DC 0024391C 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 802469E0 00243920 7C 1C 00 2E */ lwzx r0, r28, r0
/* 802469E4 00243924 7C 1D 00 2E */ lwzx r0, r29, r0
/* 802469E8 00243928 7C 00 18 00 */ cmpw r0, r3
/* 802469EC 0024392C 40 82 00 54 */ bne .L_80246A40
/* 802469F0 00243930 7F 23 CB 78 */ mr r3, r25
/* 802469F4 00243934 4B FF CF D1 */ bl getUnitName__Q34Game4Cave7MapNodeFv
/* 802469F8 00243938 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802469FC 0024393C 7C 1C 00 2E */ lwzx r0, r28, r0
/* 80246A00 00243940 7C 9D 00 2E */ lwzx r4, r29, r0
/* 80246A04 00243944 4B E8 3C BD */ bl strcmp
/* 80246A08 00243948 2C 03 00 00 */ cmpwi r3, 0
/* 80246A0C 0024394C 40 82 00 34 */ bne .L_80246A40
/* 80246A10 00243950 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 80246A14 00243954 7C 1A D8 50 */ subf r0, r26, r27
/* 80246A18 00243958 80 9E 00 18 */ lwz r4, 0x18(r30)
/* 80246A1C 0024395C 7C 00 00 34 */ cntlzw r0, r0
/* 80246A20 00243960 7C BC 18 2E */ lwzx r5, r28, r3
/* 80246A24 00243964 7F 03 C3 78 */ mr r3, r24
/* 80246A28 00243968 7C DC 20 2E */ lwzx r6, r28, r4
/* 80246A2C 0024396C 54 07 D9 7E */ srwi r7, r0, 5
/* 80246A30 00243970 80 99 00 18 */ lwz r4, 0x18(r25)
/* 80246A34 00243974 7C BD 28 2E */ lwzx r5, r29, r5
/* 80246A38 00243978 7C DD 30 2E */ lwzx r6, r29, r6
/* 80246A3C 0024397C 48 00 15 CD */ bl addMap__Q34Game4Cave11RandMapUnitFPQ34Game4Cave8UnitInfoiib
.L_80246A40:
/* 80246A40 00243980 83 39 00 04 */ lwz r25, 4(r25)
.L_80246A44:
/* 80246A44 00243984 28 19 00 00 */ cmplwi r25, 0
/* 80246A48 00243988 40 82 FF 8C */ bne .L_802469D4
/* 80246A4C 0024398C 3B BD 00 04 */ addi r29, r29, 4
/* 80246A50 00243990 3B 5A 00 01 */ addi r26, r26, 1
.L_80246A54:
/* 80246A54 00243994 80 1E 00 08 */ lwz r0, 8(r30)
/* 80246A58 00243998 7C 1C 00 2E */ lwzx r0, r28, r0
/* 80246A5C 0024399C 7C 1A 00 00 */ cmpw r26, r0
/* 80246A60 002439A0 41 80 FF 6C */ blt .L_802469CC
/* 80246A64 002439A4 BB 01 00 20 */ lmw r24, 0x20(r1)
/* 80246A68 002439A8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80246A6C 002439AC 7C 08 03 A6 */ mtlr r0
/* 80246A70 002439B0 38 21 00 40 */ addi r1, r1, 0x40
/* 80246A74 002439B4 4E 80 00 20 */ blr
.global setFirstMapUnit__Q34Game4Cave11RandMapUnitFv
setFirstMapUnit__Q34Game4Cave11RandMapUnitFv:
/* 80246A78 002439B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80246A7C 002439BC 7C 08 02 A6 */ mflr r0
/* 80246A80 002439C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80246A84 002439C4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80246A88 002439C8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80246A8C 002439CC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80246A90 002439D0 7C 7D 1B 78 */ mr r29, r3
/* 80246A94 002439D4 48 00 00 51 */ bl getFirstMapUnit__Q34Game4Cave11RandMapUnitFv
/* 80246A98 002439D8 7C 7E 1B 79 */ or. r30, r3, r3
/* 80246A9C 002439DC 41 82 00 2C */ beq .L_80246AC8
/* 80246AA0 002439E0 4B FF CF 05 */ bl getNodeOffsetY__Q34Game4Cave7MapNodeFv
/* 80246AA4 002439E4 7C 7F 1B 78 */ mr r31, r3
/* 80246AA8 002439E8 7F C3 F3 78 */ mr r3, r30
/* 80246AAC 002439EC 4B FF CE F1 */ bl getNodeOffsetX__Q34Game4Cave7MapNodeFv
/* 80246AB0 002439F0 80 9E 00 18 */ lwz r4, 0x18(r30)
/* 80246AB4 002439F4 7C 65 1B 78 */ mr r5, r3
/* 80246AB8 002439F8 7F A3 EB 78 */ mr r3, r29
/* 80246ABC 002439FC 7F E6 FB 78 */ mr r6, r31
/* 80246AC0 00243A00 38 E0 00 01 */ li r7, 1
/* 80246AC4 00243A04 48 00 15 45 */ bl addMap__Q34Game4Cave11RandMapUnitFPQ34Game4Cave8UnitInfoiib
.L_80246AC8:
/* 80246AC8 00243A08 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80246ACC 00243A0C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80246AD0 00243A10 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80246AD4 00243A14 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80246AD8 00243A18 7C 08 03 A6 */ mtlr r0
/* 80246ADC 00243A1C 38 21 00 20 */ addi r1, r1, 0x20
/* 80246AE0 00243A20 4E 80 00 20 */ blr
.global getFirstMapUnit__Q34Game4Cave11RandMapUnitFv
getFirstMapUnit__Q34Game4Cave11RandMapUnitFv:
/* 80246AE4 00243A24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80246AE8 00243A28 7C 08 02 A6 */ mflr r0
/* 80246AEC 00243A2C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80246AF0 00243A30 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80246AF4 00243A34 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80246AF8 00243A38 80 63 00 10 */ lwz r3, 0x10(r3)
/* 80246AFC 00243A3C 83 E3 00 50 */ lwz r31, 0x50(r3)
/* 80246B00 00243A40 48 00 00 50 */ b .L_80246B50
.L_80246B04:
/* 80246B04 00243A44 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 80246B08 00243A48 4B FF C0 B9 */ bl getBaseGen__Q34Game4Cave8UnitInfoFv
/* 80246B0C 00243A4C 28 03 00 00 */ cmplwi r3, 0
/* 80246B10 00243A50 41 82 00 3C */ beq .L_80246B4C
/* 80246B14 00243A54 80 63 00 10 */ lwz r3, 0x10(r3)
/* 80246B18 00243A58 48 00 00 2C */ b .L_80246B44
.L_80246B1C:
/* 80246B1C 00243A5C 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80246B20 00243A60 2C 00 00 07 */ cmpwi r0, 7
/* 80246B24 00243A64 40 82 00 1C */ bne .L_80246B40
/* 80246B28 00243A68 7F E3 FB 78 */ mr r3, r31
/* 80246B2C 00243A6C 38 80 00 00 */ li r4, 0
/* 80246B30 00243A70 38 A0 00 00 */ li r5, 0
/* 80246B34 00243A74 4B FF C4 E9 */ bl setOffset__Q34Game4Cave7MapNodeFii
/* 80246B38 00243A78 7F E3 FB 78 */ mr r3, r31
/* 80246B3C 00243A7C 48 00 00 20 */ b .L_80246B5C
.L_80246B40:
/* 80246B40 00243A80 80 63 00 04 */ lwz r3, 4(r3)
.L_80246B44:
/* 80246B44 00243A84 28 03 00 00 */ cmplwi r3, 0
/* 80246B48 00243A88 40 82 FF D4 */ bne .L_80246B1C
.L_80246B4C:
/* 80246B4C 00243A8C 83 FF 00 04 */ lwz r31, 4(r31)
.L_80246B50:
/* 80246B50 00243A90 28 1F 00 00 */ cmplwi r31, 0
/* 80246B54 00243A94 40 82 FF B0 */ bne .L_80246B04
/* 80246B58 00243A98 38 60 00 00 */ li r3, 0
.L_80246B5C:
/* 80246B5C 00243A9C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80246B60 00243AA0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80246B64 00243AA4 7C 08 03 A6 */ mtlr r0
/* 80246B68 00243AA8 38 21 00 10 */ addi r1, r1, 0x10
/* 80246B6C 00243AAC 4E 80 00 20 */ blr
.global getNormalRandMapUnit__Q34Game4Cave11RandMapUnitFv
getNormalRandMapUnit__Q34Game4Cave11RandMapUnitFv:
/* 80246B70 00243AB0 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 80246B74 00243AB4 7C 08 02 A6 */ mflr r0
/* 80246B78 00243AB8 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 80246B7C 00243ABC BE E1 00 7C */ stmw r23, 0x7c(r1)
/* 80246B80 00243AC0 7C 7F 1B 78 */ mr r31, r3
/* 80246B84 00243AC4 48 00 13 F9 */ bl getOpenDoorNum__Q34Game4Cave11RandMapUnitFv
/* 80246B88 00243AC8 7C 7E 1B 78 */ mr r30, r3
/* 80246B8C 00243ACC 4B E8 2A 15 */ bl rand
/* 80246B90 00243AD0 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 80246B94 00243AD4 3D 00 43 30 */ lis r8, 0x4330
/* 80246B98 00243AD8 90 01 00 64 */ stw r0, 0x64(r1)
/* 80246B9C 00243ADC 6F C0 80 00 */ xoris r0, r30, 0x8000
/* 80246BA0 00243AE0 80 FF 00 20 */ lwz r7, 0x20(r31)
/* 80246BA4 00243AE4 7F E3 FB 78 */ mr r3, r31
/* 80246BA8 00243AE8 91 01 00 60 */ stw r8, 0x60(r1)
/* 80246BAC 00243AEC 38 81 00 10 */ addi r4, r1, 0x10
/* 80246BB0 00243AF0 C8 42 C4 10 */ lfd f2, lbl_8051A770@sda21(r2)
/* 80246BB4 00243AF4 38 A1 00 0C */ addi r5, r1, 0xc
/* 80246BB8 00243AF8 C8 21 00 60 */ lfd f1, 0x60(r1)
/* 80246BBC 00243AFC 38 C1 00 08 */ addi r6, r1, 8
/* 80246BC0 00243B00 C0 02 C4 18 */ lfs f0, lbl_8051A778@sda21(r2)
/* 80246BC4 00243B04 EC 21 10 28 */ fsubs f1, f1, f2
/* 80246BC8 00243B08 90 01 00 6C */ stw r0, 0x6c(r1)
/* 80246BCC 00243B0C 83 C7 00 10 */ lwz r30, 0x10(r7)
/* 80246BD0 00243B10 91 01 00 68 */ stw r8, 0x68(r1)
/* 80246BD4 00243B14 EC 21 00 24 */ fdivs f1, f1, f0
/* 80246BD8 00243B18 C8 01 00 68 */ lfd f0, 0x68(r1)
/* 80246BDC 00243B1C EC 00 10 28 */ fsubs f0, f0, f2
/* 80246BE0 00243B20 EC 00 00 72 */ fmuls f0, f0, f1
/* 80246BE4 00243B24 FC 00 00 1E */ fctiwz f0, f0
/* 80246BE8 00243B28 D8 01 00 70 */ stfd f0, 0x70(r1)
/* 80246BEC 00243B2C 80 E1 00 74 */ lwz r7, 0x74(r1)
/* 80246BF0 00243B30 48 00 08 51 */ bl getCalcDoorIndex__Q34Game4Cave11RandMapUnitFRiRiRii
/* 80246BF4 00243B34 80 81 00 10 */ lwz r4, 0x10(r1)
/* 80246BF8 00243B38 7C 7C 1B 78 */ mr r28, r3
/* 80246BFC 00243B3C 4B FF C8 89 */ bl getDoorNode__Q34Game4Cave7MapNodeFi
/* 80246C00 00243B40 28 1C 00 00 */ cmplwi r28, 0
/* 80246C04 00243B44 7C 7B 1B 78 */ mr r27, r3
/* 80246C08 00243B48 41 82 00 D8 */ beq .L_80246CE0
/* 80246C0C 00243B4C 28 1B 00 00 */ cmplwi r27, 0
/* 80246C10 00243B50 41 82 00 D0 */ beq .L_80246CE0
/* 80246C14 00243B54 7F E3 FB 78 */ mr r3, r31
/* 80246C18 00243B58 7F 84 E3 78 */ mr r4, r28
/* 80246C1C 00243B5C 38 A1 00 14 */ addi r5, r1, 0x14
/* 80246C20 00243B60 48 00 00 D9 */ bl setUnitKindOrder__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNodePi
/* 80246C24 00243B64 3B 40 00 00 */ li r26, 0
/* 80246C28 00243B68 3B 81 00 14 */ addi r28, r1, 0x14
.L_80246C2C:
/* 80246C2C 00243B6C 80 9C 00 00 */ lwz r4, 0(r28)
/* 80246C30 00243B70 7F E3 FB 78 */ mr r3, r31
/* 80246C34 00243B74 48 00 01 8D */ bl setUnitDoorSorting__Q34Game4Cave11RandMapUnitFi
/* 80246C38 00243B78 80 1C 00 00 */ lwz r0, 0(r28)
/* 80246C3C 00243B7C 54 03 30 32 */ slwi r3, r0, 6
/* 80246C40 00243B80 38 03 00 10 */ addi r0, r3, 0x10
/* 80246C44 00243B84 7F 3E 00 2E */ lwzx r25, r30, r0
/* 80246C48 00243B88 48 00 00 80 */ b .L_80246CC8
.L_80246C4C:
/* 80246C4C 00243B8C 7F 23 CB 78 */ mr r3, r25
/* 80246C50 00243B90 4B FF D4 11 */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 80246C54 00243B94 7C 60 1B 78 */ mr r0, r3
/* 80246C58 00243B98 7F E3 FB 78 */ mr r3, r31
/* 80246C5C 00243B9C 7C 18 03 78 */ mr r24, r0
/* 80246C60 00243BA0 38 81 00 20 */ addi r4, r1, 0x20
/* 80246C64 00243BA4 7F 05 C3 78 */ mr r5, r24
/* 80246C68 00243BA8 48 00 04 6D */ bl setRandomDoorIndex__Q34Game4Cave11RandMapUnitFPii
/* 80246C6C 00243BAC 3B A1 00 20 */ addi r29, r1, 0x20
/* 80246C70 00243BB0 3A E0 00 00 */ li r23, 0
/* 80246C74 00243BB4 48 00 00 48 */ b .L_80246CBC
.L_80246C78:
/* 80246C78 00243BB8 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 80246C7C 00243BBC 7F 23 CB 78 */ mr r3, r25
/* 80246C80 00243BC0 80 C1 00 08 */ lwz r6, 8(r1)
/* 80246C84 00243BC4 7F 64 DB 78 */ mr r4, r27
/* 80246C88 00243BC8 80 FD 00 00 */ lwz r7, 0(r29)
/* 80246C8C 00243BCC 4B FF C4 C1 */ bl isDoorSet__Q34Game4Cave7MapNodeFPQ34Game4Cave8DoorNodeiii
/* 80246C90 00243BD0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80246C94 00243BD4 41 82 00 20 */ beq .L_80246CB4
/* 80246C98 00243BD8 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80246C9C 00243BDC 7F 24 CB 78 */ mr r4, r25
/* 80246CA0 00243BE0 4B FF E9 CD */ bl isPutOnMap__Q34Game4Cave14RandMapCheckerFPQ34Game4Cave7MapNode
/* 80246CA4 00243BE4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80246CA8 00243BE8 41 82 00 0C */ beq .L_80246CB4
/* 80246CAC 00243BEC 7F 23 CB 78 */ mr r3, r25
/* 80246CB0 00243BF0 48 00 00 34 */ b .L_80246CE4
.L_80246CB4:
/* 80246CB4 00243BF4 3B BD 00 04 */ addi r29, r29, 4
/* 80246CB8 00243BF8 3A F7 00 01 */ addi r23, r23, 1
.L_80246CBC:
/* 80246CBC 00243BFC 7C 17 C0 00 */ cmpw r23, r24
/* 80246CC0 00243C00 41 80 FF B8 */ blt .L_80246C78
/* 80246CC4 00243C04 83 39 00 04 */ lwz r25, 4(r25)
.L_80246CC8:
/* 80246CC8 00243C08 28 19 00 00 */ cmplwi r25, 0
/* 80246CCC 00243C0C 40 82 FF 80 */ bne .L_80246C4C
/* 80246CD0 00243C10 3B 5A 00 01 */ addi r26, r26, 1
/* 80246CD4 00243C14 3B 9C 00 04 */ addi r28, r28, 4
/* 80246CD8 00243C18 2C 1A 00 03 */ cmpwi r26, 3
/* 80246CDC 00243C1C 41 80 FF 50 */ blt .L_80246C2C
.L_80246CE0:
/* 80246CE0 00243C20 38 60 00 00 */ li r3, 0
.L_80246CE4:
/* 80246CE4 00243C24 BA E1 00 7C */ lmw r23, 0x7c(r1)
/* 80246CE8 00243C28 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 80246CEC 00243C2C 7C 08 03 A6 */ mtlr r0
/* 80246CF0 00243C30 38 21 00 A0 */ addi r1, r1, 0xa0
/* 80246CF4 00243C34 4E 80 00 20 */ blr
.global setUnitKindOrder__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNodePi
setUnitKindOrder__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNodePi:
/* 80246CF8 00243C38 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80246CFC 00243C3C 7C 08 02 A6 */ mflr r0
/* 80246D00 00243C40 90 01 00 34 */ stw r0, 0x34(r1)
/* 80246D04 00243C44 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80246D08 00243C48 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80246D0C 00243C4C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80246D10 00243C50 88 03 00 0C */ lbz r0, 0xc(r3)
/* 80246D14 00243C54 7C BF 2B 78 */ mr r31, r5
/* 80246D18 00243C58 C3 E3 00 08 */ lfs f31, 8(r3)
/* 80246D1C 00243C5C 28 00 00 00 */ cmplwi r0, 0
/* 80246D20 00243C60 41 82 00 08 */ beq .L_80246D28
/* 80246D24 00243C64 C3 E2 C4 00 */ lfs f31, lbl_8051A760@sda21(r2)
.L_80246D28:
/* 80246D28 00243C68 80 64 00 18 */ lwz r3, 0x18(r4)
/* 80246D2C 00243C6C 4B FF BE 4D */ bl getUnitKind__Q34Game4Cave8UnitInfoFv
/* 80246D30 00243C70 2C 03 00 01 */ cmpwi r3, 1
/* 80246D34 00243C74 40 82 00 0C */ bne .L_80246D40
/* 80246D38 00243C78 C0 02 C4 1C */ lfs f0, lbl_8051A77C@sda21(r2)
/* 80246D3C 00243C7C EF FF 00 32 */ fmuls f31, f31, f0
.L_80246D40:
/* 80246D40 00243C80 38 00 00 00 */ li r0, 0
/* 80246D44 00243C84 90 1F 00 08 */ stw r0, 8(r31)
/* 80246D48 00243C88 4B E8 28 59 */ bl rand
/* 80246D4C 00243C8C 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 80246D50 00243C90 3C 00 43 30 */ lis r0, 0x4330
/* 80246D54 00243C94 90 61 00 0C */ stw r3, 0xc(r1)
/* 80246D58 00243C98 C8 62 C4 10 */ lfd f3, lbl_8051A770@sda21(r2)
/* 80246D5C 00243C9C 90 01 00 08 */ stw r0, 8(r1)
/* 80246D60 00243CA0 C0 22 C4 08 */ lfs f1, lbl_8051A768@sda21(r2)
/* 80246D64 00243CA4 C8 41 00 08 */ lfd f2, 8(r1)
/* 80246D68 00243CA8 C0 02 C4 18 */ lfs f0, lbl_8051A778@sda21(r2)
/* 80246D6C 00243CAC EC 42 18 28 */ fsubs f2, f2, f3
/* 80246D70 00243CB0 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80246D74 00243CB4 EC 01 00 24 */ fdivs f0, f1, f0
/* 80246D78 00243CB8 FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 80246D7C 00243CBC 40 80 00 18 */ bge .L_80246D94
/* 80246D80 00243CC0 38 60 00 02 */ li r3, 2
/* 80246D84 00243CC4 38 00 00 01 */ li r0, 1
/* 80246D88 00243CC8 90 7F 00 00 */ stw r3, 0(r31)
/* 80246D8C 00243CCC 90 1F 00 04 */ stw r0, 4(r31)
/* 80246D90 00243CD0 48 00 00 14 */ b .L_80246DA4
.L_80246D94:
/* 80246D94 00243CD4 38 60 00 01 */ li r3, 1
/* 80246D98 00243CD8 38 00 00 02 */ li r0, 2
/* 80246D9C 00243CDC 90 7F 00 00 */ stw r3, 0(r31)
/* 80246DA0 00243CE0 90 1F 00 04 */ stw r0, 4(r31)
.L_80246DA4:
/* 80246DA4 00243CE4 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80246DA8 00243CE8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80246DAC 00243CEC CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80246DB0 00243CF0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80246DB4 00243CF4 7C 08 03 A6 */ mtlr r0
/* 80246DB8 00243CF8 38 21 00 30 */ addi r1, r1, 0x30
/* 80246DBC 00243CFC 4E 80 00 20 */ blr
.global setUnitDoorSorting__Q34Game4Cave11RandMapUnitFi
setUnitDoorSorting__Q34Game4Cave11RandMapUnitFi:
/* 80246DC0 00243D00 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 80246DC4 00243D04 7C 08 02 A6 */ mflr r0
/* 80246DC8 00243D08 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 80246DCC 00243D0C DB E1 00 90 */ stfd f31, 0x90(r1)
/* 80246DD0 00243D10 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0
/* 80246DD4 00243D14 DB C1 00 80 */ stfd f30, 0x80(r1)
/* 80246DD8 00243D18 F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0
/* 80246DDC 00243D1C BF 21 00 64 */ stmw r25, 0x64(r1)
/* 80246DE0 00243D20 2C 04 00 02 */ cmpwi r4, 2
/* 80246DE4 00243D24 7C 7E 1B 78 */ mr r30, r3
/* 80246DE8 00243D28 40 82 02 C8 */ bne .L_802470B0
/* 80246DEC 00243D2C 80 BE 00 20 */ lwz r5, 0x20(r30)
/* 80246DF0 00243D30 54 80 30 32 */ slwi r0, r4, 6
/* 80246DF4 00243D34 80 85 00 10 */ lwz r4, 0x10(r5)
/* 80246DF8 00243D38 7F E4 02 14 */ add r31, r4, r0
/* 80246DFC 00243D3C 48 00 11 81 */ bl getOpenDoorNum__Q34Game4Cave11RandMapUnitFv
/* 80246E00 00243D40 2C 03 00 04 */ cmpwi r3, 4
/* 80246E04 00243D44 40 80 00 D4 */ bge .L_80246ED8
/* 80246E08 00243D48 80 7E 00 00 */ lwz r3, 0(r30)
/* 80246E0C 00243D4C 39 40 00 00 */ li r10, 0
/* 80246E10 00243D50 2C 03 00 00 */ cmpwi r3, 0
/* 80246E14 00243D54 40 81 01 FC */ ble .L_80247010
/* 80246E18 00243D58 2C 03 00 08 */ cmpwi r3, 8
/* 80246E1C 00243D5C 38 63 FF F8 */ addi r3, r3, -8
/* 80246E20 00243D60 40 81 00 88 */ ble .L_80246EA8
/* 80246E24 00243D64 38 03 00 07 */ addi r0, r3, 7
/* 80246E28 00243D68 39 21 00 08 */ addi r9, r1, 8
/* 80246E2C 00243D6C 54 00 E8 FE */ srwi r0, r0, 3
/* 80246E30 00243D70 7C 09 03 A6 */ mtctr r0
/* 80246E34 00243D74 2C 03 00 00 */ cmpwi r3, 0
/* 80246E38 00243D78 40 81 00 70 */ ble .L_80246EA8
.L_80246E3C:
/* 80246E3C 00243D7C 81 1E 00 00 */ lwz r8, 0(r30)
/* 80246E40 00243D80 38 0A 00 01 */ addi r0, r10, 1
/* 80246E44 00243D84 38 EA 00 02 */ addi r7, r10, 2
/* 80246E48 00243D88 38 CA 00 03 */ addi r6, r10, 3
/* 80246E4C 00243D8C 7C 6A 40 50 */ subf r3, r10, r8
/* 80246E50 00243D90 38 AA 00 04 */ addi r5, r10, 4
/* 80246E54 00243D94 90 69 00 00 */ stw r3, 0(r9)
/* 80246E58 00243D98 7C 00 40 50 */ subf r0, r0, r8
/* 80246E5C 00243D9C 38 8A 00 05 */ addi r4, r10, 5
/* 80246E60 00243DA0 38 6A 00 06 */ addi r3, r10, 6
/* 80246E64 00243DA4 90 09 00 04 */ stw r0, 4(r9)
/* 80246E68 00243DA8 38 0A 00 07 */ addi r0, r10, 7
/* 80246E6C 00243DAC 7C E7 40 50 */ subf r7, r7, r8
/* 80246E70 00243DB0 7C C6 40 50 */ subf r6, r6, r8
/* 80246E74 00243DB4 90 E9 00 08 */ stw r7, 8(r9)
/* 80246E78 00243DB8 7C A5 40 50 */ subf r5, r5, r8
/* 80246E7C 00243DBC 7C 84 40 50 */ subf r4, r4, r8
/* 80246E80 00243DC0 7C 63 40 50 */ subf r3, r3, r8
/* 80246E84 00243DC4 90 C9 00 0C */ stw r6, 0xc(r9)
/* 80246E88 00243DC8 7C 00 40 50 */ subf r0, r0, r8
/* 80246E8C 00243DCC 39 4A 00 08 */ addi r10, r10, 8
/* 80246E90 00243DD0 90 A9 00 10 */ stw r5, 0x10(r9)
/* 80246E94 00243DD4 90 89 00 14 */ stw r4, 0x14(r9)
/* 80246E98 00243DD8 90 69 00 18 */ stw r3, 0x18(r9)
/* 80246E9C 00243DDC 90 09 00 1C */ stw r0, 0x1c(r9)
/* 80246EA0 00243DE0 39 29 00 20 */ addi r9, r9, 0x20
/* 80246EA4 00243DE4 42 00 FF 98 */ bdnz .L_80246E3C
.L_80246EA8:
/* 80246EA8 00243DE8 55 40 10 3A */ slwi r0, r10, 2
/* 80246EAC 00243DEC 38 61 00 08 */ addi r3, r1, 8
/* 80246EB0 00243DF0 7C 63 02 14 */ add r3, r3, r0
/* 80246EB4 00243DF4 48 00 00 14 */ b .L_80246EC8
.L_80246EB8:
/* 80246EB8 00243DF8 7C 0A 00 50 */ subf r0, r10, r0
/* 80246EBC 00243DFC 39 4A 00 01 */ addi r10, r10, 1
/* 80246EC0 00243E00 90 03 00 00 */ stw r0, 0(r3)
/* 80246EC4 00243E04 38 63 00 04 */ addi r3, r3, 4
.L_80246EC8:
/* 80246EC8 00243E08 80 1E 00 00 */ lwz r0, 0(r30)
/* 80246ECC 00243E0C 7C 0A 00 00 */ cmpw r10, r0
/* 80246ED0 00243E10 41 80 FF E8 */ blt .L_80246EB8
/* 80246ED4 00243E14 48 00 01 3C */ b .L_80247010
.L_80246ED8:
/* 80246ED8 00243E18 80 9E 00 00 */ lwz r4, 0(r30)
/* 80246EDC 00243E1C 39 40 00 00 */ li r10, 0
/* 80246EE0 00243E20 2C 04 00 00 */ cmpwi r4, 0
/* 80246EE4 00243E24 40 81 00 A0 */ ble .L_80246F84
/* 80246EE8 00243E28 2C 04 00 08 */ cmpwi r4, 8
/* 80246EEC 00243E2C 38 84 FF F8 */ addi r4, r4, -8
/* 80246EF0 00243E30 40 81 00 68 */ ble .L_80246F58
/* 80246EF4 00243E34 38 04 00 07 */ addi r0, r4, 7
/* 80246EF8 00243E38 39 21 00 08 */ addi r9, r1, 8
/* 80246EFC 00243E3C 54 00 E8 FE */ srwi r0, r0, 3
/* 80246F00 00243E40 7C 09 03 A6 */ mtctr r0
/* 80246F04 00243E44 2C 04 00 00 */ cmpwi r4, 0
/* 80246F08 00243E48 40 81 00 50 */ ble .L_80246F58
.L_80246F0C:
/* 80246F0C 00243E4C 38 8A 00 01 */ addi r4, r10, 1
/* 80246F10 00243E50 38 0A 00 02 */ addi r0, r10, 2
/* 80246F14 00243E54 90 89 00 00 */ stw r4, 0(r9)
/* 80246F18 00243E58 39 0A 00 03 */ addi r8, r10, 3
/* 80246F1C 00243E5C 38 EA 00 04 */ addi r7, r10, 4
/* 80246F20 00243E60 38 CA 00 05 */ addi r6, r10, 5
/* 80246F24 00243E64 90 09 00 04 */ stw r0, 4(r9)
/* 80246F28 00243E68 38 AA 00 06 */ addi r5, r10, 6
/* 80246F2C 00243E6C 38 8A 00 07 */ addi r4, r10, 7
/* 80246F30 00243E70 38 0A 00 08 */ addi r0, r10, 8
/* 80246F34 00243E74 91 09 00 08 */ stw r8, 8(r9)
/* 80246F38 00243E78 39 4A 00 08 */ addi r10, r10, 8
/* 80246F3C 00243E7C 90 E9 00 0C */ stw r7, 0xc(r9)
/* 80246F40 00243E80 90 C9 00 10 */ stw r6, 0x10(r9)
/* 80246F44 00243E84 90 A9 00 14 */ stw r5, 0x14(r9)
/* 80246F48 00243E88 90 89 00 18 */ stw r4, 0x18(r9)
/* 80246F4C 00243E8C 90 09 00 1C */ stw r0, 0x1c(r9)
/* 80246F50 00243E90 39 29 00 20 */ addi r9, r9, 0x20
/* 80246F54 00243E94 42 00 FF B8 */ bdnz .L_80246F0C
.L_80246F58:
/* 80246F58 00243E98 55 40 10 3A */ slwi r0, r10, 2
/* 80246F5C 00243E9C 38 81 00 08 */ addi r4, r1, 8
/* 80246F60 00243EA0 7C 84 02 14 */ add r4, r4, r0
/* 80246F64 00243EA4 48 00 00 14 */ b .L_80246F78
.L_80246F68:
/* 80246F68 00243EA8 38 0A 00 01 */ addi r0, r10, 1
/* 80246F6C 00243EAC 39 4A 00 01 */ addi r10, r10, 1
/* 80246F70 00243EB0 90 04 00 00 */ stw r0, 0(r4)
/* 80246F74 00243EB4 38 84 00 04 */ addi r4, r4, 4
.L_80246F78:
/* 80246F78 00243EB8 80 1E 00 00 */ lwz r0, 0(r30)
/* 80246F7C 00243EBC 7C 0A 00 00 */ cmpw r10, r0
/* 80246F80 00243EC0 41 80 FF E8 */ blt .L_80246F68
.L_80246F84:
/* 80246F84 00243EC4 2C 03 00 0A */ cmpwi r3, 0xa
/* 80246F88 00243EC8 40 80 00 88 */ bge .L_80247010
/* 80246F8C 00243ECC 3B 81 00 08 */ addi r28, r1, 8
/* 80246F90 00243ED0 CB C2 C4 10 */ lfd f30, lbl_8051A770@sda21(r2)
/* 80246F94 00243ED4 C3 E2 C4 18 */ lfs f31, lbl_8051A778@sda21(r2)
/* 80246F98 00243ED8 7F 9A E3 78 */ mr r26, r28
/* 80246F9C 00243EDC 3B 20 00 00 */ li r25, 0
/* 80246FA0 00243EE0 3F A0 43 30 */ lis r29, 0x4330
/* 80246FA4 00243EE4 48 00 00 60 */ b .L_80247004
.L_80246FA8:
/* 80246FA8 00243EE8 4B E8 25 F9 */ bl rand
/* 80246FAC 00243EEC 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 80246FB0 00243EF0 6F 60 80 00 */ xoris r0, r27, 0x8000
/* 80246FB4 00243EF4 90 61 00 4C */ stw r3, 0x4c(r1)
/* 80246FB8 00243EF8 3B 39 00 01 */ addi r25, r25, 1
/* 80246FBC 00243EFC 80 9C 00 00 */ lwz r4, 0(r28)
/* 80246FC0 00243F00 93 A1 00 48 */ stw r29, 0x48(r1)
/* 80246FC4 00243F04 C8 01 00 48 */ lfd f0, 0x48(r1)
/* 80246FC8 00243F08 90 01 00 54 */ stw r0, 0x54(r1)
/* 80246FCC 00243F0C EC 00 F0 28 */ fsubs f0, f0, f30
/* 80246FD0 00243F10 93 A1 00 50 */ stw r29, 0x50(r1)
/* 80246FD4 00243F14 EC 20 F8 24 */ fdivs f1, f0, f31
/* 80246FD8 00243F18 C8 01 00 50 */ lfd f0, 0x50(r1)
/* 80246FDC 00243F1C EC 00 F0 28 */ fsubs f0, f0, f30
/* 80246FE0 00243F20 EC 00 00 72 */ fmuls f0, f0, f1
/* 80246FE4 00243F24 FC 00 00 1E */ fctiwz f0, f0
/* 80246FE8 00243F28 D8 01 00 58 */ stfd f0, 0x58(r1)
/* 80246FEC 00243F2C 80 01 00 5C */ lwz r0, 0x5c(r1)
/* 80246FF0 00243F30 54 03 10 3A */ slwi r3, r0, 2
/* 80246FF4 00243F34 7C 1A 18 2E */ lwzx r0, r26, r3
/* 80246FF8 00243F38 90 1C 00 00 */ stw r0, 0(r28)
/* 80246FFC 00243F3C 3B 9C 00 04 */ addi r28, r28, 4
/* 80247000 00243F40 7C 9A 19 2E */ stwx r4, r26, r3
.L_80247004:
/* 80247004 00243F44 83 7E 00 00 */ lwz r27, 0(r30)
/* 80247008 00243F48 7C 19 D8 00 */ cmpw r25, r27
/* 8024700C 00243F4C 41 80 FF 9C */ blt .L_80246FA8
.L_80247010:
/* 80247010 00243F50 3B 81 00 08 */ addi r28, r1, 8
/* 80247014 00243F54 3B 20 00 00 */ li r25, 0
/* 80247018 00243F58 48 00 00 8C */ b .L_802470A4
.L_8024701C:
/* 8024701C 00243F5C 83 7F 00 10 */ lwz r27, 0x10(r31)
/* 80247020 00243F60 3B 40 00 00 */ li r26, 0
/* 80247024 00243F64 48 00 00 20 */ b .L_80247044
.L_80247028:
/* 80247028 00243F68 7F 63 DB 78 */ mr r3, r27
/* 8024702C 00243F6C 4B FF D0 35 */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 80247030 00243F70 80 1C 00 00 */ lwz r0, 0(r28)
/* 80247034 00243F74 7C 00 18 00 */ cmpw r0, r3
/* 80247038 00243F78 40 82 00 08 */ bne .L_80247040
/* 8024703C 00243F7C 3B 5A 00 01 */ addi r26, r26, 1
.L_80247040:
/* 80247040 00243F80 83 7B 00 04 */ lwz r27, 4(r27)
.L_80247044:
/* 80247044 00243F84 28 1B 00 00 */ cmplwi r27, 0
/* 80247048 00243F88 40 82 FF E0 */ bne .L_80247028
/* 8024704C 00243F8C 3B 60 00 00 */ li r27, 0
/* 80247050 00243F90 48 00 00 44 */ b .L_80247094
.L_80247054:
/* 80247054 00243F94 83 BF 00 10 */ lwz r29, 0x10(r31)
/* 80247058 00243F98 48 00 00 30 */ b .L_80247088
.L_8024705C:
/* 8024705C 00243F9C 7F A3 EB 78 */ mr r3, r29
/* 80247060 00243FA0 4B FF D0 01 */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 80247064 00243FA4 80 1C 00 00 */ lwz r0, 0(r28)
/* 80247068 00243FA8 7C 00 18 00 */ cmpw r0, r3
/* 8024706C 00243FAC 40 82 00 18 */ bne .L_80247084
/* 80247070 00243FB0 7F A3 EB 78 */ mr r3, r29
/* 80247074 00243FB4 48 1C A5 5D */ bl del__5CNodeFv
/* 80247078 00243FB8 7F E3 FB 78 */ mr r3, r31
/* 8024707C 00243FBC 7F A4 EB 78 */ mr r4, r29
/* 80247080 00243FC0 48 1C A3 89 */ bl add__5CNodeFP5CNode
.L_80247084:
/* 80247084 00243FC4 83 BD 00 04 */ lwz r29, 4(r29)
.L_80247088:
/* 80247088 00243FC8 28 1D 00 00 */ cmplwi r29, 0
/* 8024708C 00243FCC 40 82 FF D0 */ bne .L_8024705C
/* 80247090 00243FD0 3B 7B 00 01 */ addi r27, r27, 1
.L_80247094:
/* 80247094 00243FD4 7C 1B D0 00 */ cmpw r27, r26
/* 80247098 00243FD8 41 80 FF BC */ blt .L_80247054
/* 8024709C 00243FDC 3B 9C 00 04 */ addi r28, r28, 4
/* 802470A0 00243FE0 3B 39 00 01 */ addi r25, r25, 1
.L_802470A4:
/* 802470A4 00243FE4 80 1E 00 00 */ lwz r0, 0(r30)
/* 802470A8 00243FE8 7C 19 00 00 */ cmpw r25, r0
/* 802470AC 00243FEC 41 80 FF 70 */ blt .L_8024701C
.L_802470B0:
/* 802470B0 00243FF0 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0
/* 802470B4 00243FF4 CB E1 00 90 */ lfd f31, 0x90(r1)
/* 802470B8 00243FF8 E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0
/* 802470BC 00243FFC CB C1 00 80 */ lfd f30, 0x80(r1)
/* 802470C0 00244000 BB 21 00 64 */ lmw r25, 0x64(r1)
/* 802470C4 00244004 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 802470C8 00244008 7C 08 03 A6 */ mtlr r0
/* 802470CC 0024400C 38 21 00 A0 */ addi r1, r1, 0xa0
/* 802470D0 00244010 4E 80 00 20 */ blr
.global setRandomDoorIndex__Q34Game4Cave11RandMapUnitFPii
setRandomDoorIndex__Q34Game4Cave11RandMapUnitFPii:
/* 802470D4 00244014 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802470D8 00244018 7C 08 02 A6 */ mflr r0
/* 802470DC 0024401C 90 01 00 64 */ stw r0, 0x64(r1)
/* 802470E0 00244020 DB E1 00 50 */ stfd f31, 0x50(r1)
/* 802470E4 00244024 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 802470E8 00244028 DB C1 00 40 */ stfd f30, 0x40(r1)
/* 802470EC 0024402C F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
/* 802470F0 00244030 BF 41 00 28 */ stmw r26, 0x28(r1)
/* 802470F4 00244034 7C BF 2B 79 */ or. r31, r5, r5
/* 802470F8 00244038 7C 9E 23 78 */ mr r30, r4
/* 802470FC 0024403C 39 00 00 00 */ li r8, 0
/* 80247100 00244040 40 81 00 98 */ ble .L_80247198
/* 80247104 00244044 2C 1F 00 08 */ cmpwi r31, 8
/* 80247108 00244048 38 7F FF F8 */ addi r3, r31, -8
/* 8024710C 0024404C 40 81 00 64 */ ble .L_80247170
/* 80247110 00244050 38 03 00 07 */ addi r0, r3, 7
/* 80247114 00244054 7F C7 F3 78 */ mr r7, r30
/* 80247118 00244058 54 00 E8 FE */ srwi r0, r0, 3
/* 8024711C 0024405C 7C 09 03 A6 */ mtctr r0
/* 80247120 00244060 2C 03 00 00 */ cmpwi r3, 0
/* 80247124 00244064 40 81 00 4C */ ble .L_80247170
.L_80247128:
/* 80247128 00244068 91 07 00 00 */ stw r8, 0(r7)
/* 8024712C 0024406C 38 68 00 01 */ addi r3, r8, 1
/* 80247130 00244070 38 08 00 02 */ addi r0, r8, 2
/* 80247134 00244074 38 C8 00 03 */ addi r6, r8, 3
/* 80247138 00244078 90 67 00 04 */ stw r3, 4(r7)
/* 8024713C 0024407C 38 A8 00 04 */ addi r5, r8, 4
/* 80247140 00244080 38 88 00 05 */ addi r4, r8, 5
/* 80247144 00244084 38 68 00 06 */ addi r3, r8, 6
/* 80247148 00244088 90 07 00 08 */ stw r0, 8(r7)
/* 8024714C 0024408C 38 08 00 07 */ addi r0, r8, 7
/* 80247150 00244090 39 08 00 08 */ addi r8, r8, 8
/* 80247154 00244094 90 C7 00 0C */ stw r6, 0xc(r7)
/* 80247158 00244098 90 A7 00 10 */ stw r5, 0x10(r7)
/* 8024715C 0024409C 90 87 00 14 */ stw r4, 0x14(r7)
/* 80247160 002440A0 90 67 00 18 */ stw r3, 0x18(r7)
/* 80247164 002440A4 90 07 00 1C */ stw r0, 0x1c(r7)
/* 80247168 002440A8 38 E7 00 20 */ addi r7, r7, 0x20
/* 8024716C 002440AC 42 00 FF BC */ bdnz .L_80247128
.L_80247170:
/* 80247170 002440B0 55 03 10 3A */ slwi r3, r8, 2
/* 80247174 002440B4 7C 08 F8 50 */ subf r0, r8, r31
/* 80247178 002440B8 7C 7E 1A 14 */ add r3, r30, r3
/* 8024717C 002440BC 7C 09 03 A6 */ mtctr r0
/* 80247180 002440C0 7C 08 F8 00 */ cmpw r8, r31
/* 80247184 002440C4 40 80 00 14 */ bge .L_80247198
.L_80247188:
/* 80247188 002440C8 91 03 00 00 */ stw r8, 0(r3)
/* 8024718C 002440CC 38 63 00 04 */ addi r3, r3, 4
/* 80247190 002440D0 39 08 00 01 */ addi r8, r8, 1
/* 80247194 002440D4 42 00 FF F4 */ bdnz .L_80247188
.L_80247198:
/* 80247198 002440D8 CB C2 C4 10 */ lfd f30, lbl_8051A770@sda21(r2)
/* 8024719C 002440DC 7F DB F3 78 */ mr r27, r30
/* 802471A0 002440E0 C3 E2 C4 18 */ lfs f31, lbl_8051A778@sda21(r2)
/* 802471A4 002440E4 6F FD 80 00 */ xoris r29, r31, 0x8000
/* 802471A8 002440E8 3B 40 00 00 */ li r26, 0
/* 802471AC 002440EC 3F 80 43 30 */ lis r28, 0x4330
/* 802471B0 002440F0 48 00 00 5C */ b .L_8024720C
.L_802471B4:
/* 802471B4 002440F4 4B E8 23 ED */ bl rand
/* 802471B8 002440F8 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802471BC 002440FC 93 81 00 08 */ stw r28, 8(r1)
/* 802471C0 00244100 80 9B 00 00 */ lwz r4, 0(r27)
/* 802471C4 00244104 3B 5A 00 01 */ addi r26, r26, 1
/* 802471C8 00244108 90 01 00 0C */ stw r0, 0xc(r1)
/* 802471CC 0024410C C8 01 00 08 */ lfd f0, 8(r1)
/* 802471D0 00244110 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802471D4 00244114 EC 00 F0 28 */ fsubs f0, f0, f30
/* 802471D8 00244118 93 81 00 10 */ stw r28, 0x10(r1)
/* 802471DC 0024411C EC 20 F8 24 */ fdivs f1, f0, f31
/* 802471E0 00244120 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802471E4 00244124 EC 00 F0 28 */ fsubs f0, f0, f30
/* 802471E8 00244128 EC 00 00 72 */ fmuls f0, f0, f1
/* 802471EC 0024412C FC 00 00 1E */ fctiwz f0, f0
/* 802471F0 00244130 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 802471F4 00244134 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 802471F8 00244138 54 03 10 3A */ slwi r3, r0, 2
/* 802471FC 0024413C 7C 1E 18 2E */ lwzx r0, r30, r3
/* 80247200 00244140 90 1B 00 00 */ stw r0, 0(r27)
/* 80247204 00244144 3B 7B 00 04 */ addi r27, r27, 4
/* 80247208 00244148 7C 9E 19 2E */ stwx r4, r30, r3
.L_8024720C:
/* 8024720C 0024414C 7C 1A F8 00 */ cmpw r26, r31
/* 80247210 00244150 41 80 FF A4 */ blt .L_802471B4
/* 80247214 00244154 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 80247218 00244158 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 8024721C 0024415C E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
/* 80247220 00244160 CB C1 00 40 */ lfd f30, 0x40(r1)
/* 80247224 00244164 BB 41 00 28 */ lmw r26, 0x28(r1)
/* 80247228 00244168 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8024722C 0024416C 7C 08 03 A6 */ mtlr r0
/* 80247230 00244170 38 21 00 60 */ addi r1, r1, 0x60
/* 80247234 00244174 4E 80 00 20 */ blr
.global getLoopRandMapUnit__Q34Game4Cave11RandMapUnitFv
getLoopRandMapUnit__Q34Game4Cave11RandMapUnitFv:
/* 80247238 00244178 94 21 F7 B0 */ stwu r1, -0x850(r1)
/* 8024723C 0024417C 7C 08 02 A6 */ mflr r0
/* 80247240 00244180 90 01 08 54 */ stw r0, 0x854(r1)
/* 80247244 00244184 BE A1 08 24 */ stmw r21, 0x824(r1)
/* 80247248 00244188 7C 79 1B 78 */ mr r25, r3
/* 8024724C 0024418C 48 00 0D 31 */ bl getOpenDoorNum__Q34Game4Cave11RandMapUnitFv
/* 80247250 00244190 7C 7E 1B 78 */ mr r30, r3
/* 80247254 00244194 7F 23 CB 78 */ mr r3, r25
/* 80247258 00244198 38 81 00 20 */ addi r4, r1, 0x20
/* 8024725C 0024419C 48 00 04 A9 */ bl getLoopMapNode__Q34Game4Cave11RandMapUnitFPPQ34Game4Cave7MapNode
/* 80247260 002441A0 7C 7F 1B 78 */ mr r31, r3
/* 80247264 002441A4 3B 80 00 00 */ li r28, 0
/* 80247268 002441A8 48 00 01 B8 */ b .L_80247420
.L_8024726C:
/* 8024726C 002441AC 7F 23 CB 78 */ mr r3, r25
/* 80247270 002441B0 7F 87 E3 78 */ mr r7, r28
/* 80247274 002441B4 38 81 00 14 */ addi r4, r1, 0x14
/* 80247278 002441B8 38 A1 00 10 */ addi r5, r1, 0x10
/* 8024727C 002441BC 38 C1 00 0C */ addi r6, r1, 0xc
/* 80247280 002441C0 48 00 01 C1 */ bl getCalcDoorIndex__Q34Game4Cave11RandMapUnitFRiRiRii
/* 80247284 002441C4 7C 76 1B 78 */ mr r22, r3
/* 80247288 002441C8 80 A1 00 14 */ lwz r5, 0x14(r1)
/* 8024728C 002441CC 7F 23 CB 78 */ mr r3, r25
/* 80247290 002441D0 7E C4 B3 78 */ mr r4, r22
/* 80247294 002441D4 48 00 16 35 */ bl isLoopMapNodeCheck__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNodei
/* 80247298 002441D8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8024729C 002441DC 41 82 01 80 */ beq .L_8024741C
/* 802472A0 002441E0 80 81 00 14 */ lwz r4, 0x14(r1)
/* 802472A4 002441E4 7E C3 B3 78 */ mr r3, r22
/* 802472A8 002441E8 4B FF C1 DD */ bl getDoorNode__Q34Game4Cave7MapNodeFi
/* 802472AC 002441EC 80 A1 00 14 */ lwz r5, 0x14(r1)
/* 802472B0 002441F0 7C 7B 1B 78 */ mr r27, r3
/* 802472B4 002441F4 80 C1 00 10 */ lwz r6, 0x10(r1)
/* 802472B8 002441F8 7F 23 CB 78 */ mr r3, r25
/* 802472BC 002441FC 80 E1 00 0C */ lwz r7, 0xc(r1)
/* 802472C0 00244200 7E C4 B3 78 */ mr r4, r22
/* 802472C4 00244204 39 01 00 08 */ addi r8, r1, 8
/* 802472C8 00244208 48 00 02 41 */ bl getLinkDoorNodeFirst__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNodeiiiRi
/* 802472CC 0024420C 7C 77 1B 79 */ or. r23, r3, r3
/* 802472D0 00244210 41 82 01 4C */ beq .L_8024741C
/* 802472D4 00244214 80 81 00 14 */ lwz r4, 0x14(r1)
/* 802472D8 00244218 7E C3 B3 78 */ mr r3, r22
/* 802472DC 0024421C 4B FF BD 4D */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 802472E0 00244220 80 A1 00 14 */ lwz r5, 0x14(r1)
/* 802472E4 00244224 7C 78 1B 78 */ mr r24, r3
/* 802472E8 00244228 80 E1 00 08 */ lwz r7, 8(r1)
/* 802472EC 0024422C 7F 23 CB 78 */ mr r3, r25
/* 802472F0 00244230 7E C4 B3 78 */ mr r4, r22
/* 802472F4 00244234 7E E6 BB 78 */ mr r6, r23
/* 802472F8 00244238 48 00 05 3D */ bl getLinkDoorDirection__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNodeiPQ34Game4Cave7MapNodei
/* 802472FC 0024423C 38 98 00 02 */ addi r4, r24, 2
/* 80247300 00244240 90 61 00 18 */ stw r3, 0x18(r1)
/* 80247304 00244244 54 80 F0 02 */ slwi r0, r4, 0x1e
/* 80247308 00244248 3B A1 00 18 */ addi r29, r1, 0x18
/* 8024730C 0024424C 54 83 0F FE */ srwi r3, r4, 0x1f
/* 80247310 00244250 93 01 00 1C */ stw r24, 0x1c(r1)
/* 80247314 00244254 7C 03 00 50 */ subf r0, r3, r0
/* 80247318 00244258 3B 40 00 00 */ li r26, 0
/* 8024731C 0024425C 54 00 10 3E */ rotlwi r0, r0, 2
/* 80247320 00244260 7E C0 1A 14 */ add r22, r0, r3
.L_80247324:
/* 80247324 00244264 3A E1 00 20 */ addi r23, r1, 0x20
/* 80247328 00244268 3A A0 00 00 */ li r21, 0
/* 8024732C 0024426C 48 00 00 D8 */ b .L_80247404
.L_80247330:
/* 80247330 00244270 80 77 00 00 */ lwz r3, 0(r23)
/* 80247334 00244274 38 80 00 00 */ li r4, 0
/* 80247338 00244278 4B FF BC F1 */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 8024733C 0024427C 7C 78 1B 78 */ mr r24, r3
/* 80247340 00244280 80 77 00 00 */ lwz r3, 0(r23)
/* 80247344 00244284 38 80 00 01 */ li r4, 1
/* 80247348 00244288 4B FF BC E1 */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 8024734C 0024428C 7C 18 B0 00 */ cmpw r24, r22
/* 80247350 00244290 40 82 00 54 */ bne .L_802473A4
/* 80247354 00244294 80 1D 00 00 */ lwz r0, 0(r29)
/* 80247358 00244298 7C 03 00 00 */ cmpw r3, r0
/* 8024735C 0024429C 40 82 00 48 */ bne .L_802473A4
/* 80247360 002442A0 80 77 00 00 */ lwz r3, 0(r23)
/* 80247364 002442A4 7F 64 DB 78 */ mr r4, r27
/* 80247368 002442A8 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 8024736C 002442AC 38 E0 00 00 */ li r7, 0
/* 80247370 002442B0 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 80247374 002442B4 4B FF BD D9 */ bl isDoorSet__Q34Game4Cave7MapNodeFPQ34Game4Cave8DoorNodeiii
/* 80247378 002442B8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8024737C 002442BC 41 82 00 80 */ beq .L_802473FC
/* 80247380 002442C0 80 79 00 28 */ lwz r3, 0x28(r25)
/* 80247384 002442C4 80 97 00 00 */ lwz r4, 0(r23)
/* 80247388 002442C8 4B FF E2 E5 */ bl isPutOnMap__Q34Game4Cave14RandMapCheckerFPQ34Game4Cave7MapNode
/* 8024738C 002442CC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80247390 002442D0 41 82 00 6C */ beq .L_802473FC
/* 80247394 002442D4 56 A0 10 3A */ slwi r0, r21, 2
/* 80247398 002442D8 38 61 00 20 */ addi r3, r1, 0x20
/* 8024739C 002442DC 7C 63 00 2E */ lwzx r3, r3, r0
/* 802473A0 002442E0 48 00 00 8C */ b .L_8024742C
.L_802473A4:
/* 802473A4 002442E4 7C 03 B0 00 */ cmpw r3, r22
/* 802473A8 002442E8 40 82 00 54 */ bne .L_802473FC
/* 802473AC 002442EC 80 1D 00 00 */ lwz r0, 0(r29)
/* 802473B0 002442F0 7C 18 00 00 */ cmpw r24, r0
/* 802473B4 002442F4 40 82 00 48 */ bne .L_802473FC
/* 802473B8 002442F8 80 77 00 00 */ lwz r3, 0(r23)
/* 802473BC 002442FC 7F 64 DB 78 */ mr r4, r27
/* 802473C0 00244300 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 802473C4 00244304 38 E0 00 01 */ li r7, 1
/* 802473C8 00244308 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 802473CC 0024430C 4B FF BD 81 */ bl isDoorSet__Q34Game4Cave7MapNodeFPQ34Game4Cave8DoorNodeiii
/* 802473D0 00244310 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802473D4 00244314 41 82 00 28 */ beq .L_802473FC
/* 802473D8 00244318 80 79 00 28 */ lwz r3, 0x28(r25)
/* 802473DC 0024431C 80 97 00 00 */ lwz r4, 0(r23)
/* 802473E0 00244320 4B FF E2 8D */ bl isPutOnMap__Q34Game4Cave14RandMapCheckerFPQ34Game4Cave7MapNode
/* 802473E4 00244324 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802473E8 00244328 41 82 00 14 */ beq .L_802473FC
/* 802473EC 0024432C 56 A0 10 3A */ slwi r0, r21, 2
/* 802473F0 00244330 38 61 00 20 */ addi r3, r1, 0x20
/* 802473F4 00244334 7C 63 00 2E */ lwzx r3, r3, r0
/* 802473F8 00244338 48 00 00 34 */ b .L_8024742C
.L_802473FC:
/* 802473FC 0024433C 3A F7 00 04 */ addi r23, r23, 4
/* 80247400 00244340 3A B5 00 01 */ addi r21, r21, 1
.L_80247404:
/* 80247404 00244344 7C 15 F8 00 */ cmpw r21, r31
/* 80247408 00244348 41 80 FF 28 */ blt .L_80247330
/* 8024740C 0024434C 3B 5A 00 01 */ addi r26, r26, 1
/* 80247410 00244350 3B BD 00 04 */ addi r29, r29, 4
/* 80247414 00244354 2C 1A 00 02 */ cmpwi r26, 2
/* 80247418 00244358 41 80 FF 0C */ blt .L_80247324
.L_8024741C:
/* 8024741C 0024435C 3B 9C 00 01 */ addi r28, r28, 1
.L_80247420:
/* 80247420 00244360 7C 1C F0 00 */ cmpw r28, r30
/* 80247424 00244364 41 80 FE 48 */ blt .L_8024726C
/* 80247428 00244368 38 60 00 00 */ li r3, 0
.L_8024742C:
/* 8024742C 0024436C BA A1 08 24 */ lmw r21, 0x824(r1)
/* 80247430 00244370 80 01 08 54 */ lwz r0, 0x854(r1)
/* 80247434 00244374 7C 08 03 A6 */ mtlr r0
/* 80247438 00244378 38 21 08 50 */ addi r1, r1, 0x850
/* 8024743C 0024437C 4E 80 00 20 */ blr
.global getCalcDoorIndex__Q34Game4Cave11RandMapUnitFRiRiRii
getCalcDoorIndex__Q34Game4Cave11RandMapUnitFRiRiRii:
/* 80247440 00244380 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80247444 00244384 7C 08 02 A6 */ mflr r0
/* 80247448 00244388 90 01 00 24 */ stw r0, 0x24(r1)
/* 8024744C 0024438C BF 41 00 08 */ stmw r26, 8(r1)
/* 80247450 00244390 7C 9A 23 78 */ mr r26, r4
/* 80247454 00244394 7C BB 2B 78 */ mr r27, r5
/* 80247458 00244398 7C DC 33 78 */ mr r28, r6
/* 8024745C 0024439C 7C FD 3B 78 */ mr r29, r7
/* 80247460 002443A0 3B E0 00 00 */ li r31, 0
/* 80247464 002443A4 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80247468 002443A8 80 63 00 28 */ lwz r3, 0x28(r3)
/* 8024746C 002443AC 83 C3 00 10 */ lwz r30, 0x10(r3)
/* 80247470 002443B0 48 00 00 78 */ b .L_802474E8
.L_80247474:
/* 80247474 002443B4 38 00 00 00 */ li r0, 0
/* 80247478 002443B8 90 1A 00 00 */ stw r0, 0(r26)
/* 8024747C 002443BC 48 00 00 54 */ b .L_802474D0
.L_80247480:
/* 80247480 002443C0 7F C3 F3 78 */ mr r3, r30
/* 80247484 002443C4 4B FF BE 95 */ bl isDoorClose__Q34Game4Cave7MapNodeFi
/* 80247488 002443C8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8024748C 002443CC 40 82 00 38 */ bne .L_802474C4
/* 80247490 002443D0 7C 1F E8 00 */ cmpw r31, r29
/* 80247494 002443D4 40 82 00 2C */ bne .L_802474C0
/* 80247498 002443D8 80 9A 00 00 */ lwz r4, 0(r26)
/* 8024749C 002443DC 7F C3 F3 78 */ mr r3, r30
/* 802474A0 002443E0 4B FF BF E5 */ bl getDoorNode__Q34Game4Cave7MapNodeFi
/* 802474A4 002443E4 80 9A 00 00 */ lwz r4, 0(r26)
/* 802474A8 002443E8 7F C3 F3 78 */ mr r3, r30
/* 802474AC 002443EC 7F 65 DB 78 */ mr r5, r27
/* 802474B0 002443F0 7F 86 E3 78 */ mr r6, r28
/* 802474B4 002443F4 4B FF BB 99 */ bl getDoorOffset__Q34Game4Cave7MapNodeFiRiRi
/* 802474B8 002443F8 7F C3 F3 78 */ mr r3, r30
/* 802474BC 002443FC 48 00 00 38 */ b .L_802474F4
.L_802474C0:
/* 802474C0 00244400 3B FF 00 01 */ addi r31, r31, 1
.L_802474C4:
/* 802474C4 00244404 80 7A 00 00 */ lwz r3, 0(r26)
/* 802474C8 00244408 38 03 00 01 */ addi r0, r3, 1
/* 802474CC 0024440C 90 1A 00 00 */ stw r0, 0(r26)
.L_802474D0:
/* 802474D0 00244410 7F C3 F3 78 */ mr r3, r30
/* 802474D4 00244414 4B FF CB 8D */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 802474D8 00244418 80 9A 00 00 */ lwz r4, 0(r26)
/* 802474DC 0024441C 7C 04 18 00 */ cmpw r4, r3
/* 802474E0 00244420 41 80 FF A0 */ blt .L_80247480
/* 802474E4 00244424 83 DE 00 04 */ lwz r30, 4(r30)
.L_802474E8:
/* 802474E8 00244428 28 1E 00 00 */ cmplwi r30, 0
/* 802474EC 0024442C 40 82 FF 88 */ bne .L_80247474
/* 802474F0 00244430 38 60 00 00 */ li r3, 0
.L_802474F4:
/* 802474F4 00244434 BB 41 00 08 */ lmw r26, 8(r1)
/* 802474F8 00244438 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802474FC 0024443C 7C 08 03 A6 */ mtlr r0
/* 80247500 00244440 38 21 00 20 */ addi r1, r1, 0x20
/* 80247504 00244444 4E 80 00 20 */ blr
.global getLinkDoorNodeFirst__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNodeiiiRi
getLinkDoorNodeFirst__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNodeiiiRi:
/* 80247508 00244448 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8024750C 0024444C 7C 08 02 A6 */ mflr r0
/* 80247510 00244450 90 01 00 44 */ stw r0, 0x44(r1)
/* 80247514 00244454 BE C1 00 18 */ stmw r22, 0x18(r1)
/* 80247518 00244458 7C 97 23 78 */ mr r23, r4
/* 8024751C 0024445C 7C 76 1B 78 */ mr r22, r3
/* 80247520 00244460 7C D8 33 78 */ mr r24, r6
/* 80247524 00244464 7C F9 3B 78 */ mr r25, r7
/* 80247528 00244468 7D 1A 43 78 */ mr r26, r8
/* 8024752C 0024446C 7E E3 BB 78 */ mr r3, r23
/* 80247530 00244470 7C A4 2B 78 */ mr r4, r5
/* 80247534 00244474 3B E0 00 FF */ li r31, 0xff
/* 80247538 00244478 4B FF BA F1 */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 8024753C 0024447C 80 96 00 20 */ lwz r4, 0x20(r22)
/* 80247540 00244480 7C 7E 1B 78 */ mr r30, r3
/* 80247544 00244484 3B A0 00 00 */ li r29, 0
/* 80247548 00244488 80 64 00 28 */ lwz r3, 0x28(r4)
/* 8024754C 0024448C 83 83 00 10 */ lwz r28, 0x10(r3)
/* 80247550 00244490 48 00 00 C4 */ b .L_80247614
.L_80247554:
/* 80247554 00244494 7C 17 E0 40 */ cmplw r23, r28
/* 80247558 00244498 41 82 00 B8 */ beq .L_80247610
/* 8024755C 0024449C 3B 60 00 00 */ li r27, 0
/* 80247560 002444A0 48 00 00 A0 */ b .L_80247600
.L_80247564:
/* 80247564 002444A4 7F 83 E3 78 */ mr r3, r28
/* 80247568 002444A8 7F 64 DB 78 */ mr r4, r27
/* 8024756C 002444AC 4B FF BD AD */ bl isDoorClose__Q34Game4Cave7MapNodeFi
/* 80247570 002444B0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80247574 002444B4 40 82 00 88 */ bne .L_802475FC
/* 80247578 002444B8 7F 83 E3 78 */ mr r3, r28
/* 8024757C 002444BC 7F 64 DB 78 */ mr r4, r27
/* 80247580 002444C0 4B FF BF 05 */ bl getDoorNode__Q34Game4Cave7MapNodeFi
/* 80247584 002444C4 7F 83 E3 78 */ mr r3, r28
/* 80247588 002444C8 7F 64 DB 78 */ mr r4, r27
/* 8024758C 002444CC 38 A1 00 0C */ addi r5, r1, 0xc
/* 80247590 002444D0 38 C1 00 08 */ addi r6, r1, 8
/* 80247594 002444D4 4B FF BA B9 */ bl getDoorOffset__Q34Game4Cave7MapNodeFiRiRi
/* 80247598 002444D8 80 E1 00 0C */ lwz r7, 0xc(r1)
/* 8024759C 002444DC 7E C3 B3 78 */ mr r3, r22
/* 802475A0 002444E0 81 01 00 08 */ lwz r8, 8(r1)
/* 802475A4 002444E4 7F C4 F3 78 */ mr r4, r30
/* 802475A8 002444E8 7F 05 C3 78 */ mr r5, r24
/* 802475AC 002444EC 7F 26 CB 78 */ mr r6, r25
/* 802475B0 002444F0 48 00 00 85 */ bl isInLinkArea__Q34Game4Cave11RandMapUnitFiiiii
/* 802475B4 002444F4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802475B8 002444F8 41 82 00 44 */ beq .L_802475FC
/* 802475BC 002444FC 80 61 00 08 */ lwz r3, 8(r1)
/* 802475C0 00244500 80 01 00 0C */ lwz r0, 0xc(r1)
/* 802475C4 00244504 7C 83 C8 50 */ subf r4, r3, r25
/* 802475C8 00244508 7C 85 FE 70 */ srawi r5, r4, 0x1f
/* 802475CC 0024450C 7C 00 C0 50 */ subf r0, r0, r24
/* 802475D0 00244510 7C 03 FE 70 */ srawi r3, r0, 0x1f
/* 802475D4 00244514 7C A4 22 78 */ xor r4, r5, r4
/* 802475D8 00244518 7C 60 02 78 */ xor r0, r3, r0
/* 802475DC 0024451C 7C 85 20 50 */ subf r4, r5, r4
/* 802475E0 00244520 7C 03 00 50 */ subf r0, r3, r0
/* 802475E4 00244524 7C 00 22 14 */ add r0, r0, r4
/* 802475E8 00244528 7C 00 F8 00 */ cmpw r0, r31
/* 802475EC 0024452C 40 80 00 10 */ bge .L_802475FC
/* 802475F0 00244530 93 7A 00 00 */ stw r27, 0(r26)
/* 802475F4 00244534 7C 1F 03 78 */ mr r31, r0
/* 802475F8 00244538 7F 9D E3 78 */ mr r29, r28
.L_802475FC:
/* 802475FC 0024453C 3B 7B 00 01 */ addi r27, r27, 1
.L_80247600:
/* 80247600 00244540 7F 83 E3 78 */ mr r3, r28
/* 80247604 00244544 4B FF CA 5D */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 80247608 00244548 7C 1B 18 00 */ cmpw r27, r3
/* 8024760C 0024454C 41 80 FF 58 */ blt .L_80247564
.L_80247610:
/* 80247610 00244550 83 9C 00 04 */ lwz r28, 4(r28)
.L_80247614:
/* 80247614 00244554 28 1C 00 00 */ cmplwi r28, 0
/* 80247618 00244558 40 82 FF 3C */ bne .L_80247554
/* 8024761C 0024455C 7F A3 EB 78 */ mr r3, r29
/* 80247620 00244560 BA C1 00 18 */ lmw r22, 0x18(r1)
/* 80247624 00244564 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80247628 00244568 7C 08 03 A6 */ mtlr r0
/* 8024762C 0024456C 38 21 00 40 */ addi r1, r1, 0x40
/* 80247630 00244570 4E 80 00 20 */ blr
.global isInLinkArea__Q34Game4Cave11RandMapUnitFiiiii
isInLinkArea__Q34Game4Cave11RandMapUnitFiiiii:
/* 80247634 00244574 7C E5 38 50 */ subf r7, r5, r7
/* 80247638 00244578 7D 06 40 50 */ subf r8, r6, r8
/* 8024763C 0024457C 7C E6 FE 70 */ srawi r6, r7, 0x1f
/* 80247640 00244580 2C 04 00 02 */ cmpwi r4, 2
/* 80247644 00244584 7D 03 FE 70 */ srawi r3, r8, 0x1f
/* 80247648 00244588 7C C5 3A 78 */ xor r5, r6, r7
/* 8024764C 0024458C 7C 60 42 78 */ xor r0, r3, r8
/* 80247650 00244590 7C A6 28 50 */ subf r5, r6, r5
/* 80247654 00244594 7C 03 00 50 */ subf r0, r3, r0
/* 80247658 00244598 41 82 00 64 */ beq .L_802476BC
/* 8024765C 0024459C 40 80 00 14 */ bge .L_80247670
/* 80247660 002445A0 2C 04 00 00 */ cmpwi r4, 0
/* 80247664 002445A4 41 82 00 18 */ beq .L_8024767C
/* 80247668 002445A8 40 80 00 34 */ bge .L_8024769C
/* 8024766C 002445AC 48 00 00 90 */ b .L_802476FC
.L_80247670:
/* 80247670 002445B0 2C 04 00 04 */ cmpwi r4, 4
/* 80247674 002445B4 40 80 00 88 */ bge .L_802476FC
/* 80247678 002445B8 48 00 00 64 */ b .L_802476DC
.L_8024767C:
/* 8024767C 002445BC 2C 05 00 0A */ cmpwi r5, 0xa
/* 80247680 002445C0 40 80 00 7C */ bge .L_802476FC
/* 80247684 002445C4 2C 00 00 0A */ cmpwi r0, 0xa
/* 80247688 002445C8 40 80 00 74 */ bge .L_802476FC
/* 8024768C 002445CC 2C 08 00 00 */ cmpwi r8, 0
/* 80247690 002445D0 41 81 00 6C */ bgt .L_802476FC
/* 80247694 002445D4 38 60 00 01 */ li r3, 1
/* 80247698 002445D8 4E 80 00 20 */ blr
.L_8024769C:
/* 8024769C 002445DC 2C 05 00 0A */ cmpwi r5, 0xa
/* 802476A0 002445E0 40 80 00 5C */ bge .L_802476FC
/* 802476A4 002445E4 2C 07 00 00 */ cmpwi r7, 0
/* 802476A8 002445E8 41 80 00 54 */ blt .L_802476FC
/* 802476AC 002445EC 2C 00 00 0A */ cmpwi r0, 0xa
/* 802476B0 002445F0 40 80 00 4C */ bge .L_802476FC
/* 802476B4 002445F4 38 60 00 01 */ li r3, 1
/* 802476B8 002445F8 4E 80 00 20 */ blr
.L_802476BC:
/* 802476BC 002445FC 2C 05 00 0A */ cmpwi r5, 0xa
/* 802476C0 00244600 40 80 00 3C */ bge .L_802476FC
/* 802476C4 00244604 2C 00 00 0A */ cmpwi r0, 0xa
/* 802476C8 00244608 40 80 00 34 */ bge .L_802476FC
/* 802476CC 0024460C 2C 08 00 00 */ cmpwi r8, 0
/* 802476D0 00244610 41 80 00 2C */ blt .L_802476FC
/* 802476D4 00244614 38 60 00 01 */ li r3, 1
/* 802476D8 00244618 4E 80 00 20 */ blr
.L_802476DC:
/* 802476DC 0024461C 2C 05 00 0A */ cmpwi r5, 0xa
/* 802476E0 00244620 40 80 00 1C */ bge .L_802476FC
/* 802476E4 00244624 2C 07 00 00 */ cmpwi r7, 0
/* 802476E8 00244628 41 81 00 14 */ bgt .L_802476FC
/* 802476EC 0024462C 2C 00 00 0A */ cmpwi r0, 0xa
/* 802476F0 00244630 40 80 00 0C */ bge .L_802476FC
/* 802476F4 00244634 38 60 00 01 */ li r3, 1
/* 802476F8 00244638 4E 80 00 20 */ blr
.L_802476FC:
/* 802476FC 0024463C 38 60 00 00 */ li r3, 0
/* 80247700 00244640 4E 80 00 20 */ blr
.global getLoopMapNode__Q34Game4Cave11RandMapUnitFPPQ34Game4Cave7MapNode
getLoopMapNode__Q34Game4Cave11RandMapUnitFPPQ34Game4Cave7MapNode:
/* 80247704 00244644 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80247708 00244648 7C 08 02 A6 */ mflr r0
/* 8024770C 0024464C 90 01 00 64 */ stw r0, 0x64(r1)
/* 80247710 00244650 DB E1 00 50 */ stfd f31, 0x50(r1)
/* 80247714 00244654 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 80247718 00244658 DB C1 00 40 */ stfd f30, 0x40(r1)
/* 8024771C 0024465C F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
/* 80247720 00244660 BF 41 00 28 */ stmw r26, 0x28(r1)
/* 80247724 00244664 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80247728 00244668 7C 9A 23 78 */ mr r26, r4
/* 8024772C 0024466C 7F 5E D3 78 */ mr r30, r26
/* 80247730 00244670 3B 80 00 00 */ li r28, 0
/* 80247734 00244674 80 63 00 10 */ lwz r3, 0x10(r3)
/* 80247738 00244678 83 A3 00 90 */ lwz r29, 0x90(r3)
/* 8024773C 0024467C 48 00 00 44 */ b .L_80247780
.L_80247740:
/* 80247740 00244680 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 80247744 00244684 4B FF B4 41 */ bl getUnitSizeX__Q34Game4Cave8UnitInfoFv
/* 80247748 00244688 2C 03 00 01 */ cmpwi r3, 1
/* 8024774C 0024468C 40 82 00 30 */ bne .L_8024777C
/* 80247750 00244690 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 80247754 00244694 4B FF B4 39 */ bl getUnitSizeY__Q34Game4Cave8UnitInfoFv
/* 80247758 00244698 2C 03 00 01 */ cmpwi r3, 1
/* 8024775C 0024469C 40 82 00 20 */ bne .L_8024777C
/* 80247760 002446A0 7F A3 EB 78 */ mr r3, r29
/* 80247764 002446A4 4B FF C8 FD */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 80247768 002446A8 2C 03 00 02 */ cmpwi r3, 2
/* 8024776C 002446AC 40 82 00 10 */ bne .L_8024777C
/* 80247770 002446B0 93 BE 00 00 */ stw r29, 0(r30)
/* 80247774 002446B4 3B DE 00 04 */ addi r30, r30, 4
/* 80247778 002446B8 3B 9C 00 01 */ addi r28, r28, 1
.L_8024777C:
/* 8024777C 002446BC 83 BD 00 04 */ lwz r29, 4(r29)
.L_80247780:
/* 80247780 002446C0 28 1D 00 00 */ cmplwi r29, 0
/* 80247784 002446C4 40 82 FF BC */ bne .L_80247740
/* 80247788 002446C8 2C 1C 00 00 */ cmpwi r28, 0
/* 8024778C 002446CC 41 82 00 80 */ beq .L_8024780C
/* 80247790 002446D0 CB C2 C4 10 */ lfd f30, lbl_8051A770@sda21(r2)
/* 80247794 002446D4 7F 5D D3 78 */ mr r29, r26
/* 80247798 002446D8 C3 E2 C4 18 */ lfs f31, lbl_8051A778@sda21(r2)
/* 8024779C 002446DC 6F 9F 80 00 */ xoris r31, r28, 0x8000
/* 802477A0 002446E0 3B 60 00 00 */ li r27, 0
/* 802477A4 002446E4 3F C0 43 30 */ lis r30, 0x4330
/* 802477A8 002446E8 48 00 00 5C */ b .L_80247804
.L_802477AC:
/* 802477AC 002446EC 4B E8 1D F5 */ bl rand
/* 802477B0 002446F0 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 802477B4 002446F4 93 C1 00 08 */ stw r30, 8(r1)
/* 802477B8 002446F8 80 9D 00 00 */ lwz r4, 0(r29)
/* 802477BC 002446FC 3B 7B 00 01 */ addi r27, r27, 1
/* 802477C0 00244700 90 01 00 0C */ stw r0, 0xc(r1)
/* 802477C4 00244704 C8 01 00 08 */ lfd f0, 8(r1)
/* 802477C8 00244708 93 E1 00 14 */ stw r31, 0x14(r1)
/* 802477CC 0024470C EC 00 F0 28 */ fsubs f0, f0, f30
/* 802477D0 00244710 93 C1 00 10 */ stw r30, 0x10(r1)
/* 802477D4 00244714 EC 20 F8 24 */ fdivs f1, f0, f31
/* 802477D8 00244718 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802477DC 0024471C EC 00 F0 28 */ fsubs f0, f0, f30
/* 802477E0 00244720 EC 00 00 72 */ fmuls f0, f0, f1
/* 802477E4 00244724 FC 00 00 1E */ fctiwz f0, f0
/* 802477E8 00244728 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 802477EC 0024472C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 802477F0 00244730 54 03 10 3A */ slwi r3, r0, 2
/* 802477F4 00244734 7C 1A 18 2E */ lwzx r0, r26, r3
/* 802477F8 00244738 90 1D 00 00 */ stw r0, 0(r29)
/* 802477FC 0024473C 3B BD 00 04 */ addi r29, r29, 4
/* 80247800 00244740 7C 9A 19 2E */ stwx r4, r26, r3
.L_80247804:
/* 80247804 00244744 7C 1B E0 00 */ cmpw r27, r28
/* 80247808 00244748 41 80 FF A4 */ blt .L_802477AC
.L_8024780C:
/* 8024780C 0024474C 7F 83 E3 78 */ mr r3, r28
/* 80247810 00244750 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 80247814 00244754 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 80247818 00244758 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
/* 8024781C 0024475C CB C1 00 40 */ lfd f30, 0x40(r1)
/* 80247820 00244760 BB 41 00 28 */ lmw r26, 0x28(r1)
/* 80247824 00244764 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80247828 00244768 7C 08 03 A6 */ mtlr r0
/* 8024782C 0024476C 38 21 00 60 */ addi r1, r1, 0x60
/* 80247830 00244770 4E 80 00 20 */ blr
.global getLinkDoorDirection__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNodeiPQ34Game4Cave7MapNodei
getLinkDoorDirection__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNodeiPQ34Game4Cave7MapNodei:
/* 80247834 00244774 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80247838 00244778 7C 08 02 A6 */ mflr r0
/* 8024783C 0024477C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80247840 00244780 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 80247844 00244784 7C BF 2B 78 */ mr r31, r5
/* 80247848 00244788 7C 9C 23 78 */ mr r28, r4
/* 8024784C 0024478C 7C 7B 1B 78 */ mr r27, r3
/* 80247850 00244790 7C DD 33 78 */ mr r29, r6
/* 80247854 00244794 7C FE 3B 78 */ mr r30, r7
/* 80247858 00244798 7F 83 E3 78 */ mr r3, r28
/* 8024785C 0024479C 7F E4 FB 78 */ mr r4, r31
/* 80247860 002447A0 38 A1 00 14 */ addi r5, r1, 0x14
/* 80247864 002447A4 38 C1 00 10 */ addi r6, r1, 0x10
/* 80247868 002447A8 4B FF B7 E5 */ bl getDoorOffset__Q34Game4Cave7MapNodeFiRiRi
/* 8024786C 002447AC 7F A3 EB 78 */ mr r3, r29
/* 80247870 002447B0 7F C4 F3 78 */ mr r4, r30
/* 80247874 002447B4 38 A1 00 0C */ addi r5, r1, 0xc
/* 80247878 002447B8 38 C1 00 08 */ addi r6, r1, 8
/* 8024787C 002447BC 4B FF B7 D1 */ bl getDoorOffset__Q34Game4Cave7MapNodeFiRiRi
/* 80247880 002447C0 7F 83 E3 78 */ mr r3, r28
/* 80247884 002447C4 7F E4 FB 78 */ mr r4, r31
/* 80247888 002447C8 4B FF B7 A1 */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 8024788C 002447CC 7C 7F 1B 78 */ mr r31, r3
/* 80247890 002447D0 7F A3 EB 78 */ mr r3, r29
/* 80247894 002447D4 7F C4 F3 78 */ mr r4, r30
/* 80247898 002447D8 4B FF B7 91 */ bl getDoorDirect__Q34Game4Cave7MapNodeFi
/* 8024789C 002447DC 2C 1F 00 00 */ cmpwi r31, 0
/* 802478A0 002447E0 80 E1 00 14 */ lwz r7, 0x14(r1)
/* 802478A4 002447E4 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 802478A8 002447E8 7C 64 1B 78 */ mr r4, r3
/* 802478AC 002447EC 80 C1 00 10 */ lwz r6, 0x10(r1)
/* 802478B0 002447F0 80 01 00 08 */ lwz r0, 8(r1)
/* 802478B4 002447F4 7C A7 28 50 */ subf r5, r7, r5
/* 802478B8 002447F8 7C C6 00 50 */ subf r6, r6, r0
/* 802478BC 002447FC 40 82 00 10 */ bne .L_802478CC
/* 802478C0 00244800 7F 63 DB 78 */ mr r3, r27
/* 802478C4 00244804 48 00 00 5D */ bl getUpToLinkDoorDir__Q34Game4Cave11RandMapUnitFiii
/* 802478C8 00244808 48 00 00 44 */ b .L_8024790C
.L_802478CC:
/* 802478CC 0024480C 2C 1F 00 01 */ cmpwi r31, 1
/* 802478D0 00244810 40 82 00 10 */ bne .L_802478E0
/* 802478D4 00244814 7F 63 DB 78 */ mr r3, r27
/* 802478D8 00244818 48 00 01 05 */ bl getRightToLinkDoorDir__Q34Game4Cave11RandMapUnitFiii
/* 802478DC 0024481C 48 00 00 30 */ b .L_8024790C
.L_802478E0:
/* 802478E0 00244820 2C 1F 00 02 */ cmpwi r31, 2
/* 802478E4 00244824 40 82 00 10 */ bne .L_802478F4
/* 802478E8 00244828 7F 63 DB 78 */ mr r3, r27
/* 802478EC 0024482C 48 00 01 B5 */ bl getDownToLinkDoorDir__Q34Game4Cave11RandMapUnitFiii
/* 802478F0 00244830 48 00 00 1C */ b .L_8024790C
.L_802478F4:
/* 802478F4 00244834 2C 1F 00 03 */ cmpwi r31, 3
/* 802478F8 00244838 40 82 00 10 */ bne .L_80247908
/* 802478FC 0024483C 7F 63 DB 78 */ mr r3, r27
/* 80247900 00244840 48 00 02 5D */ bl getLeftToLinkDoorDir__Q34Game4Cave11RandMapUnitFiii
/* 80247904 00244844 48 00 00 08 */ b .L_8024790C
.L_80247908:
/* 80247908 00244848 38 60 FF FF */ li r3, -1
.L_8024790C:
/* 8024790C 0024484C BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 80247910 00244850 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80247914 00244854 7C 08 03 A6 */ mtlr r0
/* 80247918 00244858 38 21 00 30 */ addi r1, r1, 0x30
/* 8024791C 0024485C 4E 80 00 20 */ blr
.global getUpToLinkDoorDir__Q34Game4Cave11RandMapUnitFiii
getUpToLinkDoorDir__Q34Game4Cave11RandMapUnitFiii:
/* 80247920 00244860 2C 06 FF FE */ cmpwi r6, -2
/* 80247924 00244864 40 81 00 18 */ ble .L_8024793C
/* 80247928 00244868 2C 05 00 00 */ cmpwi r5, 0
/* 8024792C 0024486C 38 60 00 01 */ li r3, 1
/* 80247930 00244870 4C 80 00 20 */ bgelr
/* 80247934 00244874 38 60 00 03 */ li r3, 3
/* 80247938 00244878 4E 80 00 20 */ blr
.L_8024793C:
/* 8024793C 0024487C 2C 05 FF FF */ cmpwi r5, -1
/* 80247940 00244880 40 80 00 0C */ bge .L_8024794C
/* 80247944 00244884 38 60 00 03 */ li r3, 3
/* 80247948 00244888 4E 80 00 20 */ blr
.L_8024794C:
/* 8024794C 0024488C 40 82 00 24 */ bne .L_80247970
/* 80247950 00244890 2C 04 00 02 */ cmpwi r4, 2
/* 80247954 00244894 41 82 00 0C */ beq .L_80247960
/* 80247958 00244898 2C 04 00 03 */ cmpwi r4, 3
/* 8024795C 0024489C 40 82 00 0C */ bne .L_80247968
.L_80247960:
/* 80247960 002448A0 38 60 00 03 */ li r3, 3
/* 80247964 002448A4 4E 80 00 20 */ blr
.L_80247968:
/* 80247968 002448A8 38 60 00 00 */ li r3, 0
/* 8024796C 002448AC 4E 80 00 20 */ blr
.L_80247970:
/* 80247970 002448B0 2C 05 00 00 */ cmpwi r5, 0
/* 80247974 002448B4 40 82 00 24 */ bne .L_80247998
/* 80247978 002448B8 2C 04 00 00 */ cmpwi r4, 0
/* 8024797C 002448BC 41 82 00 0C */ beq .L_80247988
/* 80247980 002448C0 2C 04 00 03 */ cmpwi r4, 3
/* 80247984 002448C4 40 82 00 0C */ bne .L_80247990
.L_80247988:
/* 80247988 002448C8 38 60 00 03 */ li r3, 3
/* 8024798C 002448CC 4E 80 00 20 */ blr
.L_80247990:
/* 80247990 002448D0 38 60 00 00 */ li r3, 0
/* 80247994 002448D4 4E 80 00 20 */ blr
.L_80247998:
/* 80247998 002448D8 2C 05 00 01 */ cmpwi r5, 1
/* 8024799C 002448DC 40 82 00 24 */ bne .L_802479C0
/* 802479A0 002448E0 2C 04 00 01 */ cmpwi r4, 1
/* 802479A4 002448E4 41 82 00 0C */ beq .L_802479B0
/* 802479A8 002448E8 2C 04 00 02 */ cmpwi r4, 2
/* 802479AC 002448EC 40 82 00 0C */ bne .L_802479B8
.L_802479B0:
/* 802479B0 002448F0 38 60 00 01 */ li r3, 1
/* 802479B4 002448F4 4E 80 00 20 */ blr
.L_802479B8:
/* 802479B8 002448F8 38 60 00 00 */ li r3, 0
/* 802479BC 002448FC 4E 80 00 20 */ blr
.L_802479C0:
/* 802479C0 00244900 38 00 00 01 */ li r0, 1
/* 802479C4 00244904 7C A0 02 78 */ xor r0, r5, r0
/* 802479C8 00244908 7C 03 0E 70 */ srawi r3, r0, 1
/* 802479CC 0024490C 7C 00 28 38 */ and r0, r0, r5
/* 802479D0 00244910 7C 00 18 50 */ subf r0, r0, r3
/* 802479D4 00244914 54 03 0F FE */ srwi r3, r0, 0x1f
/* 802479D8 00244918 4E 80 00 20 */ blr
.global getRightToLinkDoorDir__Q34Game4Cave11RandMapUnitFiii
getRightToLinkDoorDir__Q34Game4Cave11RandMapUnitFiii:
/* 802479DC 0024491C 2C 05 00 00 */ cmpwi r5, 0
/* 802479E0 00244920 40 82 00 1C */ bne .L_802479FC
/* 802479E4 00244924 7C 66 00 D0 */ neg r3, r6
/* 802479E8 00244928 38 00 00 02 */ li r0, 2
/* 802479EC 0024492C 7C 63 30 78 */ andc r3, r3, r6
/* 802479F0 00244930 7C 63 FE 70 */ srawi r3, r3, 0x1f
/* 802479F4 00244934 7C 03 18 38 */ and r3, r0, r3
/* 802479F8 00244938 4E 80 00 20 */ blr
.L_802479FC:
/* 802479FC 0024493C 2C 06 FF FF */ cmpwi r6, -1
/* 80247A00 00244940 40 80 00 0C */ bge .L_80247A0C
/* 80247A04 00244944 38 60 00 00 */ li r3, 0
/* 80247A08 00244948 4E 80 00 20 */ blr
.L_80247A0C:
/* 80247A0C 0024494C 40 82 00 24 */ bne .L_80247A30
/* 80247A10 00244950 2C 04 00 00 */ cmpwi r4, 0
/* 80247A14 00244954 41 82 00 0C */ beq .L_80247A20
/* 80247A18 00244958 2C 04 00 03 */ cmpwi r4, 3
/* 80247A1C 0024495C 40 82 00 0C */ bne .L_80247A28
.L_80247A20:
/* 80247A20 00244960 38 60 00 00 */ li r3, 0
/* 80247A24 00244964 4E 80 00 20 */ blr
.L_80247A28:
/* 80247A28 00244968 38 60 00 01 */ li r3, 1
/* 80247A2C 0024496C 4E 80 00 20 */ blr
.L_80247A30:
/* 80247A30 00244970 2C 06 00 00 */ cmpwi r6, 0
/* 80247A34 00244974 40 82 00 24 */ bne .L_80247A58
/* 80247A38 00244978 2C 04 00 00 */ cmpwi r4, 0
/* 80247A3C 0024497C 41 82 00 0C */ beq .L_80247A48
/* 80247A40 00244980 2C 04 00 01 */ cmpwi r4, 1
/* 80247A44 00244984 40 82 00 0C */ bne .L_80247A50
.L_80247A48:
/* 80247A48 00244988 38 60 00 00 */ li r3, 0
/* 80247A4C 0024498C 4E 80 00 20 */ blr
.L_80247A50:
/* 80247A50 00244990 38 60 00 01 */ li r3, 1
/* 80247A54 00244994 4E 80 00 20 */ blr
.L_80247A58:
/* 80247A58 00244998 2C 06 00 01 */ cmpwi r6, 1
/* 80247A5C 0024499C 40 82 00 24 */ bne .L_80247A80
/* 80247A60 002449A0 2C 04 00 02 */ cmpwi r4, 2
/* 80247A64 002449A4 41 82 00 0C */ beq .L_80247A70
/* 80247A68 002449A8 2C 04 00 03 */ cmpwi r4, 3
/* 80247A6C 002449AC 40 82 00 0C */ bne .L_80247A78
.L_80247A70:
/* 80247A70 002449B0 38 60 00 02 */ li r3, 2
/* 80247A74 002449B4 4E 80 00 20 */ blr
.L_80247A78:
/* 80247A78 002449B8 38 60 00 01 */ li r3, 1
/* 80247A7C 002449BC 4E 80 00 20 */ blr
.L_80247A80:
/* 80247A80 002449C0 38 00 00 01 */ li r0, 1
/* 80247A84 002449C4 7C C0 02 78 */ xor r0, r6, r0
/* 80247A88 002449C8 7C 03 0E 70 */ srawi r3, r0, 1
/* 80247A8C 002449CC 7C 00 30 38 */ and r0, r0, r6
/* 80247A90 002449D0 7C 00 18 50 */ subf r0, r0, r3
/* 80247A94 002449D4 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80247A98 002449D8 38 63 00 01 */ addi r3, r3, 1
/* 80247A9C 002449DC 4E 80 00 20 */ blr
.global getDownToLinkDoorDir__Q34Game4Cave11RandMapUnitFiii
getDownToLinkDoorDir__Q34Game4Cave11RandMapUnitFiii:
/* 80247AA0 002449E0 2C 06 00 00 */ cmpwi r6, 0
/* 80247AA4 002449E4 40 82 00 18 */ bne .L_80247ABC
/* 80247AA8 002449E8 2C 05 00 00 */ cmpwi r5, 0
/* 80247AAC 002449EC 38 60 00 03 */ li r3, 3
/* 80247AB0 002449F0 4C 81 00 20 */ blelr
/* 80247AB4 002449F4 38 60 00 01 */ li r3, 1
/* 80247AB8 002449F8 4E 80 00 20 */ blr
.L_80247ABC:
/* 80247ABC 002449FC 2C 05 FF FF */ cmpwi r5, -1
/* 80247AC0 00244A00 40 80 00 0C */ bge .L_80247ACC
/* 80247AC4 00244A04 38 60 00 03 */ li r3, 3
/* 80247AC8 00244A08 4E 80 00 20 */ blr
.L_80247ACC:
/* 80247ACC 00244A0C 40 82 00 24 */ bne .L_80247AF0
/* 80247AD0 00244A10 2C 04 00 00 */ cmpwi r4, 0
/* 80247AD4 00244A14 41 82 00 0C */ beq .L_80247AE0
/* 80247AD8 00244A18 2C 04 00 03 */ cmpwi r4, 3
/* 80247ADC 00244A1C 40 82 00 0C */ bne .L_80247AE8
.L_80247AE0:
/* 80247AE0 00244A20 38 60 00 03 */ li r3, 3
/* 80247AE4 00244A24 4E 80 00 20 */ blr
.L_80247AE8:
/* 80247AE8 00244A28 38 60 00 02 */ li r3, 2
/* 80247AEC 00244A2C 4E 80 00 20 */ blr
.L_80247AF0:
/* 80247AF0 00244A30 2C 05 00 00 */ cmpwi r5, 0
/* 80247AF4 00244A34 40 82 00 24 */ bne .L_80247B18
/* 80247AF8 00244A38 2C 04 00 02 */ cmpwi r4, 2
/* 80247AFC 00244A3C 41 82 00 0C */ beq .L_80247B08
/* 80247B00 00244A40 2C 04 00 03 */ cmpwi r4, 3
/* 80247B04 00244A44 40 82 00 0C */ bne .L_80247B10
.L_80247B08:
/* 80247B08 00244A48 38 60 00 03 */ li r3, 3
/* 80247B0C 00244A4C 4E 80 00 20 */ blr
.L_80247B10:
/* 80247B10 00244A50 38 60 00 02 */ li r3, 2
/* 80247B14 00244A54 4E 80 00 20 */ blr
.L_80247B18:
/* 80247B18 00244A58 2C 05 00 01 */ cmpwi r5, 1
/* 80247B1C 00244A5C 40 82 00 24 */ bne .L_80247B40
/* 80247B20 00244A60 2C 04 00 00 */ cmpwi r4, 0
/* 80247B24 00244A64 41 82 00 0C */ beq .L_80247B30
/* 80247B28 00244A68 2C 04 00 01 */ cmpwi r4, 1
/* 80247B2C 00244A6C 40 82 00 0C */ bne .L_80247B38
.L_80247B30:
/* 80247B30 00244A70 38 60 00 01 */ li r3, 1
/* 80247B34 00244A74 4E 80 00 20 */ blr
.L_80247B38:
/* 80247B38 00244A78 38 60 00 02 */ li r3, 2
/* 80247B3C 00244A7C 4E 80 00 20 */ blr
.L_80247B40:
/* 80247B40 00244A80 38 80 00 01 */ li r4, 1
/* 80247B44 00244A84 54 A3 0F FE */ srwi r3, r5, 0x1f
/* 80247B48 00244A88 7C 05 20 10 */ subfc r0, r5, r4
/* 80247B4C 00244A8C 54 80 0F FE */ srwi r0, r4, 0x1f
/* 80247B50 00244A90 7C 60 19 10 */ subfe r3, r0, r3
/* 80247B54 00244A94 38 63 00 02 */ addi r3, r3, 2
/* 80247B58 00244A98 4E 80 00 20 */ blr
.global getLeftToLinkDoorDir__Q34Game4Cave11RandMapUnitFiii
getLeftToLinkDoorDir__Q34Game4Cave11RandMapUnitFiii:
/* 80247B5C 00244A9C 2C 05 FF FE */ cmpwi r5, -2
/* 80247B60 00244AA0 40 81 00 1C */ ble .L_80247B7C
/* 80247B64 00244AA4 7C 66 00 D0 */ neg r3, r6
/* 80247B68 00244AA8 38 00 00 02 */ li r0, 2
/* 80247B6C 00244AAC 7C 63 30 78 */ andc r3, r3, r6
/* 80247B70 00244AB0 7C 63 FE 70 */ srawi r3, r3, 0x1f
/* 80247B74 00244AB4 7C 03 18 38 */ and r3, r0, r3
/* 80247B78 00244AB8 4E 80 00 20 */ blr
.L_80247B7C:
/* 80247B7C 00244ABC 2C 06 FF FF */ cmpwi r6, -1
/* 80247B80 00244AC0 40 80 00 0C */ bge .L_80247B8C
/* 80247B84 00244AC4 38 60 00 00 */ li r3, 0
/* 80247B88 00244AC8 4E 80 00 20 */ blr
.L_80247B8C:
/* 80247B8C 00244ACC 40 82 00 24 */ bne .L_80247BB0
/* 80247B90 00244AD0 2C 04 00 00 */ cmpwi r4, 0
/* 80247B94 00244AD4 41 82 00 0C */ beq .L_80247BA0
/* 80247B98 00244AD8 2C 04 00 01 */ cmpwi r4, 1
/* 80247B9C 00244ADC 40 82 00 0C */ bne .L_80247BA8
.L_80247BA0:
/* 80247BA0 00244AE0 38 60 00 00 */ li r3, 0
/* 80247BA4 00244AE4 4E 80 00 20 */ blr
.L_80247BA8:
/* 80247BA8 00244AE8 38 60 00 03 */ li r3, 3
/* 80247BAC 00244AEC 4E 80 00 20 */ blr
.L_80247BB0:
/* 80247BB0 00244AF0 2C 06 00 00 */ cmpwi r6, 0
/* 80247BB4 00244AF4 40 82 00 24 */ bne .L_80247BD8
/* 80247BB8 00244AF8 2C 04 00 00 */ cmpwi r4, 0
/* 80247BBC 00244AFC 41 82 00 0C */ beq .L_80247BC8
/* 80247BC0 00244B00 2C 04 00 03 */ cmpwi r4, 3
/* 80247BC4 00244B04 40 82 00 0C */ bne .L_80247BD0
.L_80247BC8:
/* 80247BC8 00244B08 38 60 00 00 */ li r3, 0
/* 80247BCC 00244B0C 4E 80 00 20 */ blr
.L_80247BD0:
/* 80247BD0 00244B10 38 60 00 03 */ li r3, 3
/* 80247BD4 00244B14 4E 80 00 20 */ blr
.L_80247BD8:
/* 80247BD8 00244B18 2C 06 00 01 */ cmpwi r6, 1
/* 80247BDC 00244B1C 40 82 00 24 */ bne .L_80247C00
/* 80247BE0 00244B20 2C 04 00 01 */ cmpwi r4, 1
/* 80247BE4 00244B24 41 82 00 0C */ beq .L_80247BF0
/* 80247BE8 00244B28 2C 04 00 02 */ cmpwi r4, 2
/* 80247BEC 00244B2C 40 82 00 0C */ bne .L_80247BF8
.L_80247BF0:
/* 80247BF0 00244B30 38 60 00 02 */ li r3, 2
/* 80247BF4 00244B34 4E 80 00 20 */ blr
.L_80247BF8:
/* 80247BF8 00244B38 38 60 00 03 */ li r3, 3
/* 80247BFC 00244B3C 4E 80 00 20 */ blr
.L_80247C00:
/* 80247C00 00244B40 38 80 00 01 */ li r4, 1
/* 80247C04 00244B44 54 C3 0F FE */ srwi r3, r6, 0x1f
/* 80247C08 00244B48 7C 06 20 10 */ subfc r0, r6, r4
/* 80247C0C 00244B4C 54 80 0F FE */ srwi r0, r4, 0x1f
/* 80247C10 00244B50 7C 60 19 10 */ subfe r3, r0, r3
/* 80247C14 00244B54 38 63 00 03 */ addi r3, r3, 3
/* 80247C18 00244B58 4E 80 00 20 */ blr
.global getLoopEndMapUnit__Q34Game4Cave11RandMapUnitFv
getLoopEndMapUnit__Q34Game4Cave11RandMapUnitFv:
/* 80247C1C 00244B5C 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 80247C20 00244B60 7C 08 02 A6 */ mflr r0
/* 80247C24 00244B64 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 80247C28 00244B68 DB E1 00 C0 */ stfd f31, 0xc0(r1)
/* 80247C2C 00244B6C F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0
/* 80247C30 00244B70 DB C1 00 B0 */ stfd f30, 0xb0(r1)
/* 80247C34 00244B74 F3 C1 00 B8 */ psq_st f30, 184(r1), 0, qr0
/* 80247C38 00244B78 BE 61 00 7C */ stmw r19, 0x7c(r1)
/* 80247C3C 00244B7C 7C 75 1B 78 */ mr r21, r3
/* 80247C40 00244B80 3A 80 00 00 */ li r20, 0
/* 80247C44 00244B84 80 83 00 20 */ lwz r4, 0x20(r3)
/* 80247C48 00244B88 80 64 00 28 */ lwz r3, 0x28(r4)
/* 80247C4C 00244B8C 83 E4 00 10 */ lwz r31, 0x10(r4)
/* 80247C50 00244B90 82 63 00 10 */ lwz r19, 0x10(r3)
/* 80247C54 00244B94 48 00 00 68 */ b .L_80247CBC
.L_80247C58:
/* 80247C58 00244B98 3A C0 00 00 */ li r22, 0
/* 80247C5C 00244B9C 48 00 00 4C */ b .L_80247CA8
.L_80247C60:
/* 80247C60 00244BA0 7E 63 9B 78 */ mr r3, r19
/* 80247C64 00244BA4 7E C4 B3 78 */ mr r4, r22
/* 80247C68 00244BA8 4B FF B6 B1 */ bl isDoorClose__Q34Game4Cave7MapNodeFi
/* 80247C6C 00244BAC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80247C70 00244BB0 40 82 00 34 */ bne .L_80247CA4
/* 80247C74 00244BB4 2C 14 00 00 */ cmpwi r20, 0
/* 80247C78 00244BB8 40 82 00 28 */ bne .L_80247CA0
/* 80247C7C 00244BBC 7E 63 9B 78 */ mr r3, r19
/* 80247C80 00244BC0 7E C4 B3 78 */ mr r4, r22
/* 80247C84 00244BC4 4B FF B8 01 */ bl getDoorNode__Q34Game4Cave7MapNodeFi
/* 80247C88 00244BC8 7E 63 9B 78 */ mr r3, r19
/* 80247C8C 00244BCC 7E C4 B3 78 */ mr r4, r22
/* 80247C90 00244BD0 38 A1 00 0C */ addi r5, r1, 0xc
/* 80247C94 00244BD4 38 C1 00 08 */ addi r6, r1, 8
/* 80247C98 00244BD8 4B FF B3 B5 */ bl getDoorOffset__Q34Game4Cave7MapNodeFiRiRi
/* 80247C9C 00244BDC 48 00 00 2C */ b .L_80247CC8
.L_80247CA0:
/* 80247CA0 00244BE0 3A 94 00 01 */ addi r20, r20, 1
.L_80247CA4:
/* 80247CA4 00244BE4 3A D6 00 01 */ addi r22, r22, 1
.L_80247CA8:
/* 80247CA8 00244BE8 7E 63 9B 78 */ mr r3, r19
/* 80247CAC 00244BEC 4B FF C3 B5 */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 80247CB0 00244BF0 7C 16 18 00 */ cmpw r22, r3
/* 80247CB4 00244BF4 41 80 FF AC */ blt .L_80247C60
/* 80247CB8 00244BF8 82 73 00 04 */ lwz r19, 4(r19)
.L_80247CBC:
/* 80247CBC 00244BFC 28 13 00 00 */ cmplwi r19, 0
/* 80247CC0 00244C00 40 82 FF 98 */ bne .L_80247C58
/* 80247CC4 00244C04 3A 60 00 00 */ li r19, 0
.L_80247CC8:
/* 80247CC8 00244C08 7E 63 9B 78 */ mr r3, r19
/* 80247CCC 00244C0C 7E C4 B3 78 */ mr r4, r22
/* 80247CD0 00244C10 4B FF B7 B5 */ bl getDoorNode__Q34Game4Cave7MapNodeFi
/* 80247CD4 00244C14 3C 80 80 48 */ lis r4, lbl_804840B4@ha
/* 80247CD8 00244C18 7C 7A 1B 78 */ mr r26, r3
/* 80247CDC 00244C1C 38 A4 40 B4 */ addi r5, r4, lbl_804840B4@l
/* 80247CE0 00244C20 28 13 00 00 */ cmplwi r19, 0
/* 80247CE4 00244C24 80 85 00 00 */ lwz r4, 0(r5)
/* 80247CE8 00244C28 80 65 00 04 */ lwz r3, 4(r5)
/* 80247CEC 00244C2C 80 05 00 08 */ lwz r0, 8(r5)
/* 80247CF0 00244C30 90 81 00 10 */ stw r4, 0x10(r1)
/* 80247CF4 00244C34 90 61 00 14 */ stw r3, 0x14(r1)
/* 80247CF8 00244C38 90 01 00 18 */ stw r0, 0x18(r1)
/* 80247CFC 00244C3C 41 82 01 E8 */ beq .L_80247EE4
/* 80247D00 00244C40 28 1A 00 00 */ cmplwi r26, 0
/* 80247D04 00244C44 41 82 01 E0 */ beq .L_80247EE4
/* 80247D08 00244C48 3B 20 00 00 */ li r25, 0
/* 80247D0C 00244C4C 3B A1 00 10 */ addi r29, r1, 0x10
.L_80247D10:
/* 80247D10 00244C50 3B 00 00 00 */ li r24, 0
/* 80247D14 00244C54 48 00 01 B4 */ b .L_80247EC8
.L_80247D18:
/* 80247D18 00244C58 80 1D 00 00 */ lwz r0, 0(r29)
/* 80247D1C 00244C5C 3A F8 00 01 */ addi r23, r24, 1
/* 80247D20 00244C60 54 03 30 32 */ slwi r3, r0, 6
/* 80247D24 00244C64 38 03 00 10 */ addi r0, r3, 0x10
/* 80247D28 00244C68 7E DF 00 2E */ lwzx r22, r31, r0
/* 80247D2C 00244C6C 48 00 01 90 */ b .L_80247EBC
.L_80247D30:
/* 80247D30 00244C70 7E C3 B3 78 */ mr r3, r22
/* 80247D34 00244C74 4B FF C3 2D */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 80247D38 00244C78 7C 17 18 00 */ cmpw r23, r3
/* 80247D3C 00244C7C 40 82 01 7C */ bne .L_80247EB8
/* 80247D40 00244C80 2C 17 00 00 */ cmpwi r23, 0
/* 80247D44 00244C84 38 E0 00 00 */ li r7, 0
/* 80247D48 00244C88 40 81 00 9C */ ble .L_80247DE4
/* 80247D4C 00244C8C 2C 17 00 08 */ cmpwi r23, 8
/* 80247D50 00244C90 38 77 FF F8 */ addi r3, r23, -8
/* 80247D54 00244C94 40 81 00 64 */ ble .L_80247DB8
/* 80247D58 00244C98 38 03 00 07 */ addi r0, r3, 7
/* 80247D5C 00244C9C 39 01 00 1C */ addi r8, r1, 0x1c
/* 80247D60 00244CA0 54 00 E8 FE */ srwi r0, r0, 3
/* 80247D64 00244CA4 7C 09 03 A6 */ mtctr r0
/* 80247D68 00244CA8 2C 03 00 00 */ cmpwi r3, 0
/* 80247D6C 00244CAC 40 81 00 4C */ ble .L_80247DB8
.L_80247D70:
/* 80247D70 00244CB0 90 E8 00 00 */ stw r7, 0(r8)
/* 80247D74 00244CB4 38 67 00 01 */ addi r3, r7, 1
/* 80247D78 00244CB8 38 07 00 02 */ addi r0, r7, 2
/* 80247D7C 00244CBC 38 C7 00 03 */ addi r6, r7, 3
/* 80247D80 00244CC0 90 68 00 04 */ stw r3, 4(r8)
/* 80247D84 00244CC4 38 A7 00 04 */ addi r5, r7, 4
/* 80247D88 00244CC8 38 87 00 05 */ addi r4, r7, 5
/* 80247D8C 00244CCC 38 67 00 06 */ addi r3, r7, 6
/* 80247D90 00244CD0 90 08 00 08 */ stw r0, 8(r8)
/* 80247D94 00244CD4 38 07 00 07 */ addi r0, r7, 7
/* 80247D98 00244CD8 38 E7 00 08 */ addi r7, r7, 8
/* 80247D9C 00244CDC 90 C8 00 0C */ stw r6, 0xc(r8)
/* 80247DA0 00244CE0 90 A8 00 10 */ stw r5, 0x10(r8)
/* 80247DA4 00244CE4 90 88 00 14 */ stw r4, 0x14(r8)
/* 80247DA8 00244CE8 90 68 00 18 */ stw r3, 0x18(r8)
/* 80247DAC 00244CEC 90 08 00 1C */ stw r0, 0x1c(r8)
/* 80247DB0 00244CF0 39 08 00 20 */ addi r8, r8, 0x20
/* 80247DB4 00244CF4 42 00 FF BC */ bdnz .L_80247D70
.L_80247DB8:
/* 80247DB8 00244CF8 54 E3 10 3A */ slwi r3, r7, 2
/* 80247DBC 00244CFC 38 81 00 1C */ addi r4, r1, 0x1c
/* 80247DC0 00244D00 7C 07 B8 50 */ subf r0, r7, r23
/* 80247DC4 00244D04 7C 84 1A 14 */ add r4, r4, r3
/* 80247DC8 00244D08 7C 09 03 A6 */ mtctr r0
/* 80247DCC 00244D0C 7C 07 B8 00 */ cmpw r7, r23
/* 80247DD0 00244D10 40 80 00 14 */ bge .L_80247DE4
.L_80247DD4:
/* 80247DD4 00244D14 90 E4 00 00 */ stw r7, 0(r4)
/* 80247DD8 00244D18 38 84 00 04 */ addi r4, r4, 4
/* 80247DDC 00244D1C 38 E7 00 01 */ addi r7, r7, 1
/* 80247DE0 00244D20 42 00 FF F4 */ bdnz .L_80247DD4
.L_80247DE4:
/* 80247DE4 00244D24 3B 81 00 1C */ addi r28, r1, 0x1c
/* 80247DE8 00244D28 CB C2 C4 10 */ lfd f30, lbl_8051A770@sda21(r2)
/* 80247DEC 00244D2C C3 E2 C4 18 */ lfs f31, lbl_8051A778@sda21(r2)
/* 80247DF0 00244D30 7F 9E E3 78 */ mr r30, r28
/* 80247DF4 00244D34 6E F4 80 00 */ xoris r20, r23, 0x8000
/* 80247DF8 00244D38 3B 60 00 00 */ li r27, 0
/* 80247DFC 00244D3C 3E 60 43 30 */ lis r19, 0x4330
/* 80247E00 00244D40 48 00 00 5C */ b .L_80247E5C
.L_80247E04:
/* 80247E04 00244D44 4B E8 17 9D */ bl rand
/* 80247E08 00244D48 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 80247E0C 00244D4C 92 61 00 60 */ stw r19, 0x60(r1)
/* 80247E10 00244D50 80 9E 00 00 */ lwz r4, 0(r30)
/* 80247E14 00244D54 3B 7B 00 01 */ addi r27, r27, 1
/* 80247E18 00244D58 90 01 00 64 */ stw r0, 0x64(r1)
/* 80247E1C 00244D5C C8 01 00 60 */ lfd f0, 0x60(r1)
/* 80247E20 00244D60 92 81 00 6C */ stw r20, 0x6c(r1)
/* 80247E24 00244D64 EC 00 F0 28 */ fsubs f0, f0, f30
/* 80247E28 00244D68 92 61 00 68 */ stw r19, 0x68(r1)
/* 80247E2C 00244D6C EC 20 F8 24 */ fdivs f1, f0, f31
/* 80247E30 00244D70 C8 01 00 68 */ lfd f0, 0x68(r1)
/* 80247E34 00244D74 EC 00 F0 28 */ fsubs f0, f0, f30
/* 80247E38 00244D78 EC 00 00 72 */ fmuls f0, f0, f1
/* 80247E3C 00244D7C FC 00 00 1E */ fctiwz f0, f0
/* 80247E40 00244D80 D8 01 00 70 */ stfd f0, 0x70(r1)
/* 80247E44 00244D84 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80247E48 00244D88 54 03 10 3A */ slwi r3, r0, 2
/* 80247E4C 00244D8C 7C 1C 18 2E */ lwzx r0, r28, r3
/* 80247E50 00244D90 90 1E 00 00 */ stw r0, 0(r30)
/* 80247E54 00244D94 3B DE 00 04 */ addi r30, r30, 4
/* 80247E58 00244D98 7C 9C 19 2E */ stwx r4, r28, r3
.L_80247E5C:
/* 80247E5C 00244D9C 7C 1B B8 00 */ cmpw r27, r23
/* 80247E60 00244DA0 41 80 FF A4 */ blt .L_80247E04
/* 80247E64 00244DA4 3A 60 00 00 */ li r19, 0
/* 80247E68 00244DA8 48 00 00 48 */ b .L_80247EB0
.L_80247E6C:
/* 80247E6C 00244DAC 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 80247E70 00244DB0 7E C3 B3 78 */ mr r3, r22
/* 80247E74 00244DB4 80 C1 00 08 */ lwz r6, 8(r1)
/* 80247E78 00244DB8 7F 44 D3 78 */ mr r4, r26
/* 80247E7C 00244DBC 80 FC 00 00 */ lwz r7, 0(r28)
/* 80247E80 00244DC0 4B FF B2 CD */ bl isDoorSet__Q34Game4Cave7MapNodeFPQ34Game4Cave8DoorNodeiii
/* 80247E84 00244DC4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80247E88 00244DC8 41 82 00 20 */ beq .L_80247EA8
/* 80247E8C 00244DCC 80 75 00 28 */ lwz r3, 0x28(r21)
/* 80247E90 00244DD0 7E C4 B3 78 */ mr r4, r22
/* 80247E94 00244DD4 4B FF D7 D9 */ bl isPutOnMap__Q34Game4Cave14RandMapCheckerFPQ34Game4Cave7MapNode
/* 80247E98 00244DD8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80247E9C 00244DDC 41 82 00 0C */ beq .L_80247EA8
/* 80247EA0 00244DE0 7E C3 B3 78 */ mr r3, r22
/* 80247EA4 00244DE4 48 00 00 44 */ b .L_80247EE8
.L_80247EA8:
/* 80247EA8 00244DE8 3B 9C 00 04 */ addi r28, r28, 4
/* 80247EAC 00244DEC 3A 73 00 01 */ addi r19, r19, 1
.L_80247EB0:
/* 80247EB0 00244DF0 7C 13 B8 00 */ cmpw r19, r23
/* 80247EB4 00244DF4 41 80 FF B8 */ blt .L_80247E6C
.L_80247EB8:
/* 80247EB8 00244DF8 82 D6 00 04 */ lwz r22, 4(r22)
.L_80247EBC:
/* 80247EBC 00244DFC 28 16 00 00 */ cmplwi r22, 0
/* 80247EC0 00244E00 40 82 FE 70 */ bne .L_80247D30
/* 80247EC4 00244E04 3B 18 00 01 */ addi r24, r24, 1
.L_80247EC8:
/* 80247EC8 00244E08 80 15 00 00 */ lwz r0, 0(r21)
/* 80247ECC 00244E0C 7C 18 00 00 */ cmpw r24, r0
/* 80247ED0 00244E10 41 80 FE 48 */ blt .L_80247D18
/* 80247ED4 00244E14 3B 39 00 01 */ addi r25, r25, 1
/* 80247ED8 00244E18 3B BD 00 04 */ addi r29, r29, 4
/* 80247EDC 00244E1C 2C 19 00 03 */ cmpwi r25, 3
/* 80247EE0 00244E20 41 80 FE 30 */ blt .L_80247D10
.L_80247EE4:
/* 80247EE4 00244E24 38 60 00 00 */ li r3, 0
.L_80247EE8:
/* 80247EE8 00244E28 E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0
/* 80247EEC 00244E2C CB E1 00 C0 */ lfd f31, 0xc0(r1)
/* 80247EF0 00244E30 E3 C1 00 B8 */ psq_l f30, 184(r1), 0, qr0
/* 80247EF4 00244E34 CB C1 00 B0 */ lfd f30, 0xb0(r1)
/* 80247EF8 00244E38 BA 61 00 7C */ lmw r19, 0x7c(r1)
/* 80247EFC 00244E3C 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 80247F00 00244E40 7C 08 03 A6 */ mtlr r0
/* 80247F04 00244E44 38 21 00 D0 */ addi r1, r1, 0xd0
/* 80247F08 00244E48 4E 80 00 20 */ blr
.global getPartsKindNum__Q34Game4Cave11RandMapUnitFi
getPartsKindNum__Q34Game4Cave11RandMapUnitFi:
/* 80247F0C 00244E4C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80247F10 00244E50 7C 08 02 A6 */ mflr r0
/* 80247F14 00244E54 90 01 00 24 */ stw r0, 0x24(r1)
/* 80247F18 00244E58 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80247F1C 00244E5C 3B E0 00 00 */ li r31, 0
/* 80247F20 00244E60 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80247F24 00244E64 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80247F28 00244E68 7C 9D 23 78 */ mr r29, r4
/* 80247F2C 00244E6C 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80247F30 00244E70 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80247F34 00244E74 83 C3 00 10 */ lwz r30, 0x10(r3)
/* 80247F38 00244E78 48 00 00 1C */ b .L_80247F54
.L_80247F3C:
/* 80247F3C 00244E7C 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 80247F40 00244E80 4B FF AC 39 */ bl getUnitKind__Q34Game4Cave8UnitInfoFv
/* 80247F44 00244E84 7C 1D 18 00 */ cmpw r29, r3
/* 80247F48 00244E88 40 82 00 08 */ bne .L_80247F50
/* 80247F4C 00244E8C 3B FF 00 01 */ addi r31, r31, 1
.L_80247F50:
/* 80247F50 00244E90 83 DE 00 04 */ lwz r30, 4(r30)
.L_80247F54:
/* 80247F54 00244E94 28 1E 00 00 */ cmplwi r30, 0
/* 80247F58 00244E98 40 82 FF E4 */ bne .L_80247F3C
/* 80247F5C 00244E9C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80247F60 00244EA0 7F E3 FB 78 */ mr r3, r31
/* 80247F64 00244EA4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80247F68 00244EA8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80247F6C 00244EAC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80247F70 00244EB0 7C 08 03 A6 */ mtlr r0
/* 80247F74 00244EB4 38 21 00 20 */ addi r1, r1, 0x20
/* 80247F78 00244EB8 4E 80 00 20 */ blr
.global getOpenDoorNum__Q34Game4Cave11RandMapUnitFv
getOpenDoorNum__Q34Game4Cave11RandMapUnitFv:
/* 80247F7C 00244EBC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80247F80 00244EC0 7C 08 02 A6 */ mflr r0
/* 80247F84 00244EC4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80247F88 00244EC8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80247F8C 00244ECC 3B E0 00 00 */ li r31, 0
/* 80247F90 00244ED0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80247F94 00244ED4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80247F98 00244ED8 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80247F9C 00244EDC 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80247FA0 00244EE0 83 C3 00 10 */ lwz r30, 0x10(r3)
/* 80247FA4 00244EE4 48 00 00 3C */ b .L_80247FE0
.L_80247FA8:
/* 80247FA8 00244EE8 3B A0 00 00 */ li r29, 0
/* 80247FAC 00244EEC 48 00 00 20 */ b .L_80247FCC
.L_80247FB0:
/* 80247FB0 00244EF0 7F C3 F3 78 */ mr r3, r30
/* 80247FB4 00244EF4 7F A4 EB 78 */ mr r4, r29
/* 80247FB8 00244EF8 4B FF B3 61 */ bl isDoorClose__Q34Game4Cave7MapNodeFi
/* 80247FBC 00244EFC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80247FC0 00244F00 40 82 00 08 */ bne .L_80247FC8
/* 80247FC4 00244F04 3B FF 00 01 */ addi r31, r31, 1
.L_80247FC8:
/* 80247FC8 00244F08 3B BD 00 01 */ addi r29, r29, 1
.L_80247FCC:
/* 80247FCC 00244F0C 7F C3 F3 78 */ mr r3, r30
/* 80247FD0 00244F10 4B FF C0 91 */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 80247FD4 00244F14 7C 1D 18 00 */ cmpw r29, r3
/* 80247FD8 00244F18 41 80 FF D8 */ blt .L_80247FB0
/* 80247FDC 00244F1C 83 DE 00 04 */ lwz r30, 4(r30)
.L_80247FE0:
/* 80247FE0 00244F20 28 1E 00 00 */ cmplwi r30, 0
/* 80247FE4 00244F24 40 82 FF C4 */ bne .L_80247FA8
/* 80247FE8 00244F28 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80247FEC 00244F2C 7F E3 FB 78 */ mr r3, r31
/* 80247FF0 00244F30 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80247FF4 00244F34 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80247FF8 00244F38 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80247FFC 00244F3C 7C 08 03 A6 */ mtlr r0
/* 80248000 00244F40 38 21 00 20 */ addi r1, r1, 0x20
/* 80248004 00244F44 4E 80 00 20 */ blr
.global addMap__Q34Game4Cave11RandMapUnitFPQ34Game4Cave8UnitInfoiib
addMap__Q34Game4Cave11RandMapUnitFPQ34Game4Cave8UnitInfoiib:
/* 80248008 00244F48 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8024800C 00244F4C 7C 08 02 A6 */ mflr r0
/* 80248010 00244F50 90 01 00 24 */ stw r0, 0x24(r1)
/* 80248014 00244F54 BF 41 00 08 */ stmw r26, 8(r1)
/* 80248018 00244F58 7C 7A 1B 78 */ mr r26, r3
/* 8024801C 00244F5C 7C 9B 23 78 */ mr r27, r4
/* 80248020 00244F60 7C BC 2B 78 */ mr r28, r5
/* 80248024 00244F64 7C DD 33 78 */ mr r29, r6
/* 80248028 00244F68 7C FE 3B 78 */ mr r30, r7
/* 8024802C 00244F6C 38 60 00 40 */ li r3, 0x40
/* 80248030 00244F70 4B DD BE 75 */ bl __nw__FUl
/* 80248034 00244F74 7C 7F 1B 79 */ or. r31, r3, r3
/* 80248038 00244F78 41 82 00 10 */ beq .L_80248048
/* 8024803C 00244F7C 7F 64 DB 78 */ mr r4, r27
/* 80248040 00244F80 4B FF AD 31 */ bl __ct__Q34Game4Cave7MapNodeFPQ34Game4Cave8UnitInfo
/* 80248044 00244F84 7C 7F 1B 78 */ mr r31, r3
.L_80248048:
/* 80248048 00244F88 28 1F 00 00 */ cmplwi r31, 0
/* 8024804C 00244F8C 41 82 00 38 */ beq .L_80248084
/* 80248050 00244F90 38 00 00 00 */ li r0, 0
/* 80248054 00244F94 7F E3 FB 78 */ mr r3, r31
/* 80248058 00244F98 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8024805C 00244F9C 7F 84 E3 78 */ mr r4, r28
/* 80248060 00244FA0 7F A5 EB 78 */ mr r5, r29
/* 80248064 00244FA4 90 1F 00 0C */ stw r0, 0xc(r31)
/* 80248068 00244FA8 90 1F 00 08 */ stw r0, 8(r31)
/* 8024806C 00244FAC 90 1F 00 04 */ stw r0, 4(r31)
/* 80248070 00244FB0 4B FF AF AD */ bl setOffset__Q34Game4Cave7MapNodeFii
/* 80248074 00244FB4 80 7A 00 20 */ lwz r3, 0x20(r26)
/* 80248078 00244FB8 7F E4 FB 78 */ mr r4, r31
/* 8024807C 00244FBC 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80248080 00244FC0 48 1C 93 89 */ bl add__5CNodeFP5CNode
.L_80248084:
/* 80248084 00244FC4 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80248088 00244FC8 41 82 00 20 */ beq .L_802480A8
/* 8024808C 00244FCC 7F 43 D3 78 */ mr r3, r26
/* 80248090 00244FD0 48 00 05 35 */ bl closeDoorCheck__Q34Game4Cave11RandMapUnitFv
/* 80248094 00244FD4 7F 43 D3 78 */ mr r3, r26
/* 80248098 00244FD8 48 00 04 01 */ bl moveCentre__Q34Game4Cave11RandMapUnitFv
/* 8024809C 00244FDC 7F 43 D3 78 */ mr r3, r26
/* 802480A0 00244FE0 7F 64 DB 78 */ mr r4, r27
/* 802480A4 00244FE4 48 00 00 19 */ bl changeMapPriority__Q34Game4Cave11RandMapUnitFPQ34Game4Cave8UnitInfo
.L_802480A8:
/* 802480A8 00244FE8 BB 41 00 08 */ lmw r26, 8(r1)
/* 802480AC 00244FEC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802480B0 00244FF0 7C 08 03 A6 */ mtlr r0
/* 802480B4 00244FF4 38 21 00 20 */ addi r1, r1, 0x20
/* 802480B8 00244FF8 4E 80 00 20 */ blr
.global changeMapPriority__Q34Game4Cave11RandMapUnitFPQ34Game4Cave8UnitInfo
changeMapPriority__Q34Game4Cave11RandMapUnitFPQ34Game4Cave8UnitInfo:
/* 802480BC 00244FFC 94 21 FB 80 */ stwu r1, -0x480(r1)
/* 802480C0 00245000 7C 08 02 A6 */ mflr r0
/* 802480C4 00245004 90 01 04 84 */ stw r0, 0x484(r1)
/* 802480C8 00245008 DB E1 04 70 */ stfd f31, 0x470(r1)
/* 802480CC 0024500C F3 E1 04 78 */ psq_st f31, 1144(r1), 0, qr0
/* 802480D0 00245010 DB C1 04 60 */ stfd f30, 0x460(r1)
/* 802480D4 00245014 F3 C1 04 68 */ psq_st f30, 1128(r1), 0, qr0
/* 802480D8 00245018 DB A1 04 50 */ stfd f29, 0x450(r1)
/* 802480DC 0024501C F3 A1 04 58 */ psq_st f29, 1112(r1), 0, qr0
/* 802480E0 00245020 BE A1 04 24 */ stmw r21, 0x424(r1)
/* 802480E4 00245024 7C 95 23 78 */ mr r21, r4
/* 802480E8 00245028 7C 77 1B 78 */ mr r23, r3
/* 802480EC 0024502C 7E A3 AB 78 */ mr r3, r21
/* 802480F0 00245030 4B FF AA 89 */ bl getUnitKind__Q34Game4Cave8UnitInfoFv
/* 802480F4 00245034 80 B7 00 20 */ lwz r5, 0x20(r23)
/* 802480F8 00245038 2C 03 00 01 */ cmpwi r3, 1
/* 802480FC 0024503C 54 60 30 32 */ slwi r0, r3, 6
/* 80248100 00245040 80 85 00 10 */ lwz r4, 0x10(r5)
/* 80248104 00245044 7F A4 02 14 */ add r29, r4, r0
/* 80248108 00245048 40 82 02 D8 */ bne .L_802483E0
/* 8024810C 0024504C 83 45 00 28 */ lwz r26, 0x28(r5)
/* 80248110 00245050 7E A3 AB 78 */ mr r3, r21
/* 80248114 00245054 4B FF AA 59 */ bl getUnitName__Q34Game4Cave8UnitInfoFv
/* 80248118 00245058 80 77 00 24 */ lwz r3, 0x24(r23)
/* 8024811C 0024505C 3B C1 02 08 */ addi r30, r1, 0x208
/* 80248120 00245060 3B E1 00 08 */ addi r31, r1, 8
/* 80248124 00245064 38 00 00 08 */ li r0, 8
/* 80248128 00245068 80 63 00 04 */ lwz r3, 4(r3)
/* 8024812C 0024506C 7F C4 F3 78 */ mr r4, r30
/* 80248130 00245070 7F E5 FB 78 */ mr r5, r31
/* 80248134 00245074 3B 60 00 00 */ li r27, 0
/* 80248138 00245078 3B 83 FF FC */ addi r28, r3, -4
/* 8024813C 0024507C 7C 09 03 A6 */ mtctr r0
.L_80248140:
/* 80248140 00245080 38 00 00 00 */ li r0, 0
/* 80248144 00245084 90 04 00 00 */ stw r0, 0(r4)
/* 80248148 00245088 90 05 00 00 */ stw r0, 0(r5)
/* 8024814C 0024508C 90 04 00 04 */ stw r0, 4(r4)
/* 80248150 00245090 90 05 00 04 */ stw r0, 4(r5)
/* 80248154 00245094 90 04 00 08 */ stw r0, 8(r4)
/* 80248158 00245098 90 05 00 08 */ stw r0, 8(r5)
/* 8024815C 0024509C 90 04 00 0C */ stw r0, 0xc(r4)
/* 80248160 002450A0 90 05 00 0C */ stw r0, 0xc(r5)
/* 80248164 002450A4 90 04 00 10 */ stw r0, 0x10(r4)
/* 80248168 002450A8 90 05 00 10 */ stw r0, 0x10(r5)
/* 8024816C 002450AC 90 04 00 14 */ stw r0, 0x14(r4)
/* 80248170 002450B0 90 05 00 14 */ stw r0, 0x14(r5)
/* 80248174 002450B4 90 04 00 18 */ stw r0, 0x18(r4)
/* 80248178 002450B8 90 05 00 18 */ stw r0, 0x18(r5)
/* 8024817C 002450BC 90 04 00 1C */ stw r0, 0x1c(r4)
/* 80248180 002450C0 90 05 00 1C */ stw r0, 0x1c(r5)
/* 80248184 002450C4 90 04 00 20 */ stw r0, 0x20(r4)
/* 80248188 002450C8 90 05 00 20 */ stw r0, 0x20(r5)
/* 8024818C 002450CC 90 04 00 24 */ stw r0, 0x24(r4)
/* 80248190 002450D0 90 05 00 24 */ stw r0, 0x24(r5)
/* 80248194 002450D4 90 04 00 28 */ stw r0, 0x28(r4)
/* 80248198 002450D8 90 05 00 28 */ stw r0, 0x28(r5)
/* 8024819C 002450DC 90 04 00 2C */ stw r0, 0x2c(r4)
/* 802481A0 002450E0 90 05 00 2C */ stw r0, 0x2c(r5)
/* 802481A4 002450E4 90 04 00 30 */ stw r0, 0x30(r4)
/* 802481A8 002450E8 90 05 00 30 */ stw r0, 0x30(r5)
/* 802481AC 002450EC 90 04 00 34 */ stw r0, 0x34(r4)
/* 802481B0 002450F0 90 05 00 34 */ stw r0, 0x34(r5)
/* 802481B4 002450F4 90 04 00 38 */ stw r0, 0x38(r4)
/* 802481B8 002450F8 90 05 00 38 */ stw r0, 0x38(r5)
/* 802481BC 002450FC 90 04 00 3C */ stw r0, 0x3c(r4)
/* 802481C0 00245100 38 84 00 40 */ addi r4, r4, 0x40
/* 802481C4 00245104 90 05 00 3C */ stw r0, 0x3c(r5)
/* 802481C8 00245108 38 A5 00 40 */ addi r5, r5, 0x40
/* 802481CC 0024510C 42 00 FF 74 */ bdnz .L_80248140
/* 802481D0 00245110 82 FA 00 10 */ lwz r23, 0x10(r26)
/* 802481D4 00245114 7F F9 FB 78 */ mr r25, r31
/* 802481D8 00245118 7F D8 F3 78 */ mr r24, r30
/* 802481DC 0024511C 48 00 00 9C */ b .L_80248278
.L_802481E0:
/* 802481E0 00245120 80 77 00 18 */ lwz r3, 0x18(r23)
/* 802481E4 00245124 4B FF A9 95 */ bl getUnitKind__Q34Game4Cave8UnitInfoFv
/* 802481E8 00245128 2C 03 00 01 */ cmpwi r3, 1
/* 802481EC 0024512C 40 82 00 88 */ bne .L_80248274
/* 802481F0 00245130 7F FA FB 78 */ mr r26, r31
/* 802481F4 00245134 3A C0 00 01 */ li r22, 1
/* 802481F8 00245138 3A A0 00 00 */ li r21, 0
/* 802481FC 0024513C 48 00 00 44 */ b .L_80248240
.L_80248200:
/* 80248200 00245140 7E E3 BB 78 */ mr r3, r23
/* 80248204 00245144 4B FF B7 C1 */ bl getUnitName__Q34Game4Cave7MapNodeFv
/* 80248208 00245148 7C 64 1B 78 */ mr r4, r3
/* 8024820C 0024514C 80 7A 00 00 */ lwz r3, 0(r26)
/* 80248210 00245150 4B E8 24 B1 */ bl strcmp
/* 80248214 00245154 2C 03 00 00 */ cmpwi r3, 0
/* 80248218 00245158 40 82 00 20 */ bne .L_80248238
/* 8024821C 0024515C 56 A5 10 3A */ slwi r5, r21, 2
/* 80248220 00245160 38 81 02 08 */ addi r4, r1, 0x208
/* 80248224 00245164 7C 64 28 2E */ lwzx r3, r4, r5
/* 80248228 00245168 3A C0 00 00 */ li r22, 0
/* 8024822C 0024516C 38 03 00 01 */ addi r0, r3, 1
/* 80248230 00245170 7C 04 29 2E */ stwx r0, r4, r5
/* 80248234 00245174 48 00 00 14 */ b .L_80248248
.L_80248238:
/* 80248238 00245178 3B 5A 00 04 */ addi r26, r26, 4
/* 8024823C 0024517C 3A B5 00 01 */ addi r21, r21, 1
.L_80248240:
/* 80248240 00245180 7C 15 D8 00 */ cmpw r21, r27
/* 80248244 00245184 41 80 FF BC */ blt .L_80248200
.L_80248248:
/* 80248248 00245188 56 C0 06 3F */ clrlwi. r0, r22, 0x18
/* 8024824C 0024518C 41 82 00 28 */ beq .L_80248274
/* 80248250 00245190 7E E3 BB 78 */ mr r3, r23
/* 80248254 00245194 4B FF B7 71 */ bl getUnitName__Q34Game4Cave7MapNodeFv
/* 80248258 00245198 80 98 00 00 */ lwz r4, 0(r24)
/* 8024825C 0024519C 3B 7B 00 01 */ addi r27, r27, 1
/* 80248260 002451A0 90 79 00 00 */ stw r3, 0(r25)
/* 80248264 002451A4 3B 39 00 04 */ addi r25, r25, 4
/* 80248268 002451A8 38 04 00 01 */ addi r0, r4, 1
/* 8024826C 002451AC 90 18 00 00 */ stw r0, 0(r24)
/* 80248270 002451B0 3B 18 00 04 */ addi r24, r24, 4
.L_80248274:
/* 80248274 002451B4 82 F7 00 04 */ lwz r23, 4(r23)
.L_80248278:
/* 80248278 002451B8 28 17 00 00 */ cmplwi r23, 0
/* 8024827C 002451BC 40 82 FF 64 */ bne .L_802481E0
/* 80248280 002451C0 7F E6 FB 78 */ mr r6, r31
/* 80248284 002451C4 38 7B FF FF */ addi r3, r27, -1
/* 80248288 002451C8 39 20 00 00 */ li r9, 0
/* 8024828C 002451CC 48 00 00 70 */ b .L_802482FC
.L_80248290:
/* 80248290 002451D0 39 49 00 01 */ addi r10, r9, 1
/* 80248294 002451D4 38 81 02 08 */ addi r4, r1, 0x208
/* 80248298 002451D8 55 47 10 3A */ slwi r7, r10, 2
/* 8024829C 002451DC 38 A1 00 08 */ addi r5, r1, 8
/* 802482A0 002451E0 7C 0A D8 50 */ subf r0, r10, r27
/* 802482A4 002451E4 7C 84 3A 14 */ add r4, r4, r7
/* 802482A8 002451E8 7C A5 3A 14 */ add r5, r5, r7
/* 802482AC 002451EC 7C 09 03 A6 */ mtctr r0
/* 802482B0 002451F0 7C 0A D8 00 */ cmpw r10, r27
/* 802482B4 002451F4 40 80 00 3C */ bge .L_802482F0
.L_802482B8:
/* 802482B8 002451F8 80 FE 00 00 */ lwz r7, 0(r30)
/* 802482BC 002451FC 81 04 00 00 */ lwz r8, 0(r4)
/* 802482C0 00245200 7C 07 40 00 */ cmpw r7, r8
/* 802482C4 00245204 40 81 00 1C */ ble .L_802482E0
/* 802482C8 00245208 81 66 00 00 */ lwz r11, 0(r6)
/* 802482CC 0024520C 80 05 00 00 */ lwz r0, 0(r5)
/* 802482D0 00245210 91 1E 00 00 */ stw r8, 0(r30)
/* 802482D4 00245214 90 06 00 00 */ stw r0, 0(r6)
/* 802482D8 00245218 90 E4 00 00 */ stw r7, 0(r4)
/* 802482DC 0024521C 91 65 00 00 */ stw r11, 0(r5)
.L_802482E0:
/* 802482E0 00245220 38 84 00 04 */ addi r4, r4, 4
/* 802482E4 00245224 38 A5 00 04 */ addi r5, r5, 4
/* 802482E8 00245228 39 4A 00 01 */ addi r10, r10, 1
/* 802482EC 0024522C 42 00 FF CC */ bdnz .L_802482B8
.L_802482F0:
/* 802482F0 00245230 3B DE 00 04 */ addi r30, r30, 4
/* 802482F4 00245234 38 C6 00 04 */ addi r6, r6, 4
/* 802482F8 00245238 39 29 00 01 */ addi r9, r9, 1
.L_802482FC:
/* 802482FC 0024523C 7C 09 18 00 */ cmpw r9, r3
/* 80248300 00245240 41 80 FF 90 */ blt .L_80248290
/* 80248304 00245244 CB A2 C4 10 */ lfd f29, lbl_8051A770@sda21(r2)
/* 80248308 00245248 3A A0 00 00 */ li r21, 0
/* 8024830C 0024524C C3 E2 C4 18 */ lfs f31, lbl_8051A778@sda21(r2)
/* 80248310 00245250 3F C0 43 30 */ lis r30, 0x4330
/* 80248314 00245254 C3 C2 C4 20 */ lfs f30, lbl_8051A780@sda21(r2)
/* 80248318 00245258 48 00 00 BC */ b .L_802483D4
.L_8024831C:
/* 8024831C 0024525C 3A C0 00 00 */ li r22, 0
.L_80248320:
/* 80248320 00245260 82 FD 00 10 */ lwz r23, 0x10(r29)
/* 80248324 00245264 48 00 00 34 */ b .L_80248358
.L_80248328:
/* 80248328 00245268 7E E3 BB 78 */ mr r3, r23
/* 8024832C 0024526C 4B FF B6 99 */ bl getUnitName__Q34Game4Cave7MapNodeFv
/* 80248330 00245270 80 9F 00 00 */ lwz r4, 0(r31)
/* 80248334 00245274 4B E8 23 8D */ bl strcmp
/* 80248338 00245278 2C 03 00 00 */ cmpwi r3, 0
/* 8024833C 0024527C 40 82 00 18 */ bne .L_80248354
/* 80248340 00245280 7E E3 BB 78 */ mr r3, r23
/* 80248344 00245284 48 1C 92 8D */ bl del__5CNodeFv
/* 80248348 00245288 7F A3 EB 78 */ mr r3, r29
/* 8024834C 0024528C 7E E4 BB 78 */ mr r4, r23
/* 80248350 00245290 48 1C 90 B9 */ bl add__5CNodeFP5CNode
.L_80248354:
/* 80248354 00245294 82 F7 00 04 */ lwz r23, 4(r23)
.L_80248358:
/* 80248358 00245298 28 17 00 00 */ cmplwi r23, 0
/* 8024835C 0024529C 40 82 FF CC */ bne .L_80248328
/* 80248360 002452A0 3A D6 00 01 */ addi r22, r22, 1
/* 80248364 002452A4 2C 16 00 04 */ cmpwi r22, 4
/* 80248368 002452A8 41 80 FF B8 */ blt .L_80248320
/* 8024836C 002452AC 3A C0 00 00 */ li r22, 0
.L_80248370:
/* 80248370 002452B0 4B E8 12 31 */ bl rand
/* 80248374 002452B4 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 80248378 002452B8 93 C1 04 08 */ stw r30, 0x408(r1)
/* 8024837C 002452BC 7F A3 EB 78 */ mr r3, r29
/* 80248380 002452C0 90 01 04 0C */ stw r0, 0x40c(r1)
/* 80248384 002452C4 C8 01 04 08 */ lfd f0, 0x408(r1)
/* 80248388 002452C8 EC 00 E8 28 */ fsubs f0, f0, f29
/* 8024838C 002452CC EC 00 F8 24 */ fdivs f0, f0, f31
/* 80248390 002452D0 EC 1E 00 32 */ fmuls f0, f30, f0
/* 80248394 002452D4 FC 00 00 1E */ fctiwz f0, f0
/* 80248398 002452D8 D8 01 04 10 */ stfd f0, 0x410(r1)
/* 8024839C 002452DC 80 01 04 14 */ lwz r0, 0x414(r1)
/* 802483A0 002452E0 7C 9C 02 14 */ add r4, r28, r0
/* 802483A4 002452E4 48 1C 92 F9 */ bl getChildAt__5CNodeFi
/* 802483A8 002452E8 7C 77 1B 79 */ or. r23, r3, r3
/* 802483AC 002452EC 41 82 00 14 */ beq .L_802483C0
/* 802483B0 002452F0 48 1C 92 21 */ bl del__5CNodeFv
/* 802483B4 002452F4 7F A3 EB 78 */ mr r3, r29
/* 802483B8 002452F8 7E E4 BB 78 */ mr r4, r23
/* 802483BC 002452FC 48 1C 90 4D */ bl add__5CNodeFP5CNode
.L_802483C0:
/* 802483C0 00245300 3A D6 00 01 */ addi r22, r22, 1
/* 802483C4 00245304 2C 16 00 04 */ cmpwi r22, 4
/* 802483C8 00245308 41 80 FF A8 */ blt .L_80248370
/* 802483CC 0024530C 3B FF 00 04 */ addi r31, r31, 4
/* 802483D0 00245310 3A B5 00 01 */ addi r21, r21, 1
.L_802483D4:
/* 802483D4 00245314 7C 15 D8 00 */ cmpw r21, r27
/* 802483D8 00245318 41 80 FF 44 */ blt .L_8024831C
/* 802483DC 0024531C 48 00 00 90 */ b .L_8024846C
.L_802483E0:
/* 802483E0 00245320 CB C2 C4 10 */ lfd f30, lbl_8051A770@sda21(r2)
/* 802483E4 00245324 54 78 10 3A */ slwi r24, r3, 2
/* 802483E8 00245328 C3 E2 C4 18 */ lfs f31, lbl_8051A778@sda21(r2)
/* 802483EC 0024532C 3A A0 00 00 */ li r21, 0
/* 802483F0 00245330 3F 60 43 30 */ lis r27, 0x4330
/* 802483F4 00245334 48 00 00 68 */ b .L_8024845C
.L_802483F8:
/* 802483F8 00245338 4B E8 11 A9 */ bl rand
/* 802483FC 0024533C 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 80248400 00245340 6F 20 80 00 */ xoris r0, r25, 0x8000
/* 80248404 00245344 90 61 04 14 */ stw r3, 0x414(r1)
/* 80248408 00245348 7F A3 EB 78 */ mr r3, r29
/* 8024840C 0024534C 93 61 04 10 */ stw r27, 0x410(r1)
/* 80248410 00245350 C8 01 04 10 */ lfd f0, 0x410(r1)
/* 80248414 00245354 90 01 04 0C */ stw r0, 0x40c(r1)
/* 80248418 00245358 EC 00 F0 28 */ fsubs f0, f0, f30
/* 8024841C 0024535C 93 61 04 08 */ stw r27, 0x408(r1)
/* 80248420 00245360 EC 20 F8 24 */ fdivs f1, f0, f31
/* 80248424 00245364 C8 01 04 08 */ lfd f0, 0x408(r1)
/* 80248428 00245368 EC 00 F0 28 */ fsubs f0, f0, f30
/* 8024842C 0024536C EC 00 00 72 */ fmuls f0, f0, f1
/* 80248430 00245370 FC 00 00 1E */ fctiwz f0, f0
/* 80248434 00245374 D8 01 04 18 */ stfd f0, 0x418(r1)
/* 80248438 00245378 80 81 04 1C */ lwz r4, 0x41c(r1)
/* 8024843C 0024537C 48 1C 92 61 */ bl getChildAt__5CNodeFi
/* 80248440 00245380 7C 76 1B 79 */ or. r22, r3, r3
/* 80248444 00245384 41 82 00 14 */ beq .L_80248458
/* 80248448 00245388 48 1C 91 89 */ bl del__5CNodeFv
/* 8024844C 0024538C 7F A3 EB 78 */ mr r3, r29
/* 80248450 00245390 7E C4 B3 78 */ mr r4, r22
/* 80248454 00245394 48 1C 8F B5 */ bl add__5CNodeFP5CNode
.L_80248458:
/* 80248458 00245398 3A B5 00 01 */ addi r21, r21, 1
.L_8024845C:
/* 8024845C 0024539C 80 17 00 24 */ lwz r0, 0x24(r23)
/* 80248460 002453A0 7F 38 00 2E */ lwzx r25, r24, r0
/* 80248464 002453A4 7C 15 C8 00 */ cmpw r21, r25
/* 80248468 002453A8 41 80 FF 90 */ blt .L_802483F8
.L_8024846C:
/* 8024846C 002453AC E3 E1 04 78 */ psq_l f31, 1144(r1), 0, qr0
/* 80248470 002453B0 CB E1 04 70 */ lfd f31, 0x470(r1)
/* 80248474 002453B4 E3 C1 04 68 */ psq_l f30, 1128(r1), 0, qr0
/* 80248478 002453B8 CB C1 04 60 */ lfd f30, 0x460(r1)
/* 8024847C 002453BC E3 A1 04 58 */ psq_l f29, 1112(r1), 0, qr0
/* 80248480 002453C0 CB A1 04 50 */ lfd f29, 0x450(r1)
/* 80248484 002453C4 BA A1 04 24 */ lmw r21, 0x424(r1)
/* 80248488 002453C8 80 01 04 84 */ lwz r0, 0x484(r1)
/* 8024848C 002453CC 7C 08 03 A6 */ mtlr r0
/* 80248490 002453D0 38 21 04 80 */ addi r1, r1, 0x480
/* 80248494 002453D4 4E 80 00 20 */ blr
.global moveCentre__Q34Game4Cave11RandMapUnitFv
moveCentre__Q34Game4Cave11RandMapUnitFv:
/* 80248498 002453D8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8024849C 002453DC 7C 08 02 A6 */ mflr r0
/* 802484A0 002453E0 90 01 00 34 */ stw r0, 0x34(r1)
/* 802484A4 002453E4 BE C1 00 08 */ stmw r22, 8(r1)
/* 802484A8 002453E8 7C 7F 1B 78 */ mr r31, r3
/* 802484AC 002453EC 3B A0 CE 00 */ li r29, -12800
/* 802484B0 002453F0 3B 80 CE 00 */ li r28, -12800
/* 802484B4 002453F4 3B 60 32 00 */ li r27, 0x3200
/* 802484B8 002453F8 3B 40 32 00 */ li r26, 0x3200
/* 802484BC 002453FC 80 63 00 20 */ lwz r3, 0x20(r3)
/* 802484C0 00245400 83 C3 00 28 */ lwz r30, 0x28(r3)
/* 802484C4 00245404 83 3E 00 10 */ lwz r25, 0x10(r30)
/* 802484C8 00245408 48 00 00 70 */ b .L_80248538
.L_802484CC:
/* 802484CC 0024540C 7F 23 CB 78 */ mr r3, r25
/* 802484D0 00245410 4B FF B4 CD */ bl getNodeOffsetX__Q34Game4Cave7MapNodeFv
/* 802484D4 00245414 7C 60 1B 78 */ mr r0, r3
/* 802484D8 00245418 80 79 00 18 */ lwz r3, 0x18(r25)
/* 802484DC 0024541C 7C 18 03 78 */ mr r24, r0
/* 802484E0 00245420 4B FF A6 A5 */ bl getUnitSizeX__Q34Game4Cave8UnitInfoFv
/* 802484E4 00245424 7E F8 1A 14 */ add r23, r24, r3
/* 802484E8 00245428 7F 23 CB 78 */ mr r3, r25
/* 802484EC 0024542C 4B FF B4 B9 */ bl getNodeOffsetY__Q34Game4Cave7MapNodeFv
/* 802484F0 00245430 7C 60 1B 78 */ mr r0, r3
/* 802484F4 00245434 80 79 00 18 */ lwz r3, 0x18(r25)
/* 802484F8 00245438 7C 16 03 78 */ mr r22, r0
/* 802484FC 0024543C 4B FF A6 91 */ bl getUnitSizeY__Q34Game4Cave8UnitInfoFv
/* 80248500 00245440 7C 18 D8 00 */ cmpw r24, r27
/* 80248504 00245444 7C 16 1A 14 */ add r0, r22, r3
/* 80248508 00245448 40 80 00 08 */ bge .L_80248510
/* 8024850C 0024544C 7F 1B C3 78 */ mr r27, r24
.L_80248510:
/* 80248510 00245450 7C 17 E8 00 */ cmpw r23, r29
/* 80248514 00245454 40 81 00 08 */ ble .L_8024851C
/* 80248518 00245458 7E FD BB 78 */ mr r29, r23
.L_8024851C:
/* 8024851C 0024545C 7C 16 D0 00 */ cmpw r22, r26
/* 80248520 00245460 40 80 00 08 */ bge .L_80248528
/* 80248524 00245464 7E DA B3 78 */ mr r26, r22
.L_80248528:
/* 80248528 00245468 7C 00 E0 00 */ cmpw r0, r28
/* 8024852C 0024546C 40 81 00 08 */ ble .L_80248534
/* 80248530 00245470 7C 1C 03 78 */ mr r28, r0
.L_80248534:
/* 80248534 00245474 83 39 00 04 */ lwz r25, 4(r25)
.L_80248538:
/* 80248538 00245478 28 19 00 00 */ cmplwi r25, 0
/* 8024853C 0024547C 40 82 FF 90 */ bne .L_802484CC
/* 80248540 00245480 82 DE 00 10 */ lwz r22, 0x10(r30)
/* 80248544 00245484 48 00 00 30 */ b .L_80248574
.L_80248548:
/* 80248548 00245488 7E C3 B3 78 */ mr r3, r22
/* 8024854C 0024548C 4B FF B4 51 */ bl getNodeOffsetX__Q34Game4Cave7MapNodeFv
/* 80248550 00245490 7C 7E 1B 78 */ mr r30, r3
/* 80248554 00245494 7E C3 B3 78 */ mr r3, r22
/* 80248558 00245498 4B FF B4 4D */ bl getNodeOffsetY__Q34Game4Cave7MapNodeFv
/* 8024855C 0024549C 7C 60 1B 78 */ mr r0, r3
/* 80248560 002454A0 7E C3 B3 78 */ mr r3, r22
/* 80248564 002454A4 7C 9B F0 50 */ subf r4, r27, r30
/* 80248568 002454A8 7C BA 00 50 */ subf r5, r26, r0
/* 8024856C 002454AC 4B FF AA B1 */ bl setOffset__Q34Game4Cave7MapNodeFii
/* 80248570 002454B0 82 D6 00 04 */ lwz r22, 4(r22)
.L_80248574:
/* 80248574 002454B4 28 16 00 00 */ cmplwi r22, 0
/* 80248578 002454B8 40 82 FF D0 */ bne .L_80248548
/* 8024857C 002454BC 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 80248580 002454C0 28 00 00 00 */ cmplwi r0, 0
/* 80248584 002454C4 40 82 00 2C */ bne .L_802485B0
/* 80248588 002454C8 7C 1B E8 50 */ subf r0, r27, r29
/* 8024858C 002454CC 2C 00 00 23 */ cmpwi r0, 0x23
/* 80248590 002454D0 40 81 00 0C */ ble .L_8024859C
/* 80248594 002454D4 38 00 00 01 */ li r0, 1
/* 80248598 002454D8 98 1F 00 0C */ stb r0, 0xc(r31)
.L_8024859C:
/* 8024859C 002454DC 7C 1A E0 50 */ subf r0, r26, r28
/* 802485A0 002454E0 2C 00 00 23 */ cmpwi r0, 0x23
/* 802485A4 002454E4 40 81 00 0C */ ble .L_802485B0
/* 802485A8 002454E8 38 00 00 01 */ li r0, 1
/* 802485AC 002454EC 98 1F 00 0C */ stb r0, 0xc(r31)
.L_802485B0:
/* 802485B0 002454F0 BA C1 00 08 */ lmw r22, 8(r1)
/* 802485B4 002454F4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802485B8 002454F8 7C 08 03 A6 */ mtlr r0
/* 802485BC 002454FC 38 21 00 30 */ addi r1, r1, 0x30
/* 802485C0 00245500 4E 80 00 20 */ blr
.global closeDoorCheck__Q34Game4Cave11RandMapUnitFv
closeDoorCheck__Q34Game4Cave11RandMapUnitFv:
/* 802485C4 00245504 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802485C8 00245508 7C 08 02 A6 */ mflr r0
/* 802485CC 0024550C 90 01 00 34 */ stw r0, 0x34(r1)
/* 802485D0 00245510 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 802485D4 00245514 80 63 00 20 */ lwz r3, 0x20(r3)
/* 802485D8 00245518 83 E3 00 28 */ lwz r31, 0x28(r3)
/* 802485DC 0024551C 83 DF 00 10 */ lwz r30, 0x10(r31)
/* 802485E0 00245520 48 00 00 FC */ b .L_802486DC
.L_802485E4:
/* 802485E4 00245524 3B A0 00 00 */ li r29, 0
/* 802485E8 00245528 48 00 00 E0 */ b .L_802486C8
.L_802485EC:
/* 802485EC 0024552C 7F C3 F3 78 */ mr r3, r30
/* 802485F0 00245530 7F A4 EB 78 */ mr r4, r29
/* 802485F4 00245534 4B FF AD 25 */ bl isDoorClose__Q34Game4Cave7MapNodeFi
/* 802485F8 00245538 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802485FC 0024553C 40 82 00 C8 */ bne .L_802486C4
/* 80248600 00245540 7F C3 F3 78 */ mr r3, r30
/* 80248604 00245544 7F A4 EB 78 */ mr r4, r29
/* 80248608 00245548 38 A1 00 14 */ addi r5, r1, 0x14
/* 8024860C 0024554C 38 C1 00 10 */ addi r6, r1, 0x10
/* 80248610 00245550 4B FF AA 3D */ bl getDoorOffset__Q34Game4Cave7MapNodeFiRiRi
/* 80248614 00245554 7F C3 F3 78 */ mr r3, r30
/* 80248618 00245558 7F A4 EB 78 */ mr r4, r29
/* 8024861C 0024555C 4B FF AE 69 */ bl getDoorNode__Q34Game4Cave7MapNodeFi
/* 80248620 00245560 83 7F 00 10 */ lwz r27, 0x10(r31)
/* 80248624 00245564 7C 7C 1B 78 */ mr r28, r3
/* 80248628 00245568 48 00 00 94 */ b .L_802486BC
.L_8024862C:
/* 8024862C 0024556C 7C 1E D8 40 */ cmplw r30, r27
/* 80248630 00245570 41 82 00 88 */ beq .L_802486B8
/* 80248634 00245574 3B 40 00 00 */ li r26, 0
/* 80248638 00245578 48 00 00 70 */ b .L_802486A8
.L_8024863C:
/* 8024863C 0024557C 7F 63 DB 78 */ mr r3, r27
/* 80248640 00245580 7F 44 D3 78 */ mr r4, r26
/* 80248644 00245584 4B FF AE 41 */ bl getDoorNode__Q34Game4Cave7MapNodeFi
/* 80248648 00245588 7C 64 1B 78 */ mr r4, r3
/* 8024864C 0024558C 7F 83 E3 78 */ mr r3, r28
/* 80248650 00245590 48 00 33 8D */ bl isDoorAdjust__Q34Game4Cave8DoorNodeFPQ34Game4Cave8DoorNode
/* 80248654 00245594 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80248658 00245598 41 82 00 4C */ beq .L_802486A4
/* 8024865C 0024559C 7F 63 DB 78 */ mr r3, r27
/* 80248660 002455A0 7F 44 D3 78 */ mr r4, r26
/* 80248664 002455A4 38 A1 00 0C */ addi r5, r1, 0xc
/* 80248668 002455A8 38 C1 00 08 */ addi r6, r1, 8
/* 8024866C 002455AC 4B FF A9 E1 */ bl getDoorOffset__Q34Game4Cave7MapNodeFiRiRi
/* 80248670 002455B0 80 61 00 14 */ lwz r3, 0x14(r1)
/* 80248674 002455B4 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80248678 002455B8 7C 03 00 00 */ cmpw r3, r0
/* 8024867C 002455BC 40 82 00 28 */ bne .L_802486A4
/* 80248680 002455C0 80 61 00 10 */ lwz r3, 0x10(r1)
/* 80248684 002455C4 80 01 00 08 */ lwz r0, 8(r1)
/* 80248688 002455C8 7C 03 00 00 */ cmpw r3, r0
/* 8024868C 002455CC 40 82 00 18 */ bne .L_802486A4
/* 80248690 002455D0 7F C3 F3 78 */ mr r3, r30
/* 80248694 002455D4 7F A4 EB 78 */ mr r4, r29
/* 80248698 002455D8 7F 65 DB 78 */ mr r5, r27
/* 8024869C 002455DC 7F 46 D3 78 */ mr r6, r26
/* 802486A0 002455E0 4B FF AB A9 */ bl setDoorClose__Q34Game4Cave7MapNodeFiPQ34Game4Cave7MapNodei
.L_802486A4:
/* 802486A4 002455E4 3B 5A 00 01 */ addi r26, r26, 1
.L_802486A8:
/* 802486A8 002455E8 7F 63 DB 78 */ mr r3, r27
/* 802486AC 002455EC 4B FF B9 B5 */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 802486B0 002455F0 7C 1A 18 00 */ cmpw r26, r3
/* 802486B4 002455F4 41 80 FF 88 */ blt .L_8024863C
.L_802486B8:
/* 802486B8 002455F8 83 7B 00 04 */ lwz r27, 4(r27)
.L_802486BC:
/* 802486BC 002455FC 28 1B 00 00 */ cmplwi r27, 0
/* 802486C0 00245600 40 82 FF 6C */ bne .L_8024862C
.L_802486C4:
/* 802486C4 00245604 3B BD 00 01 */ addi r29, r29, 1
.L_802486C8:
/* 802486C8 00245608 7F C3 F3 78 */ mr r3, r30
/* 802486CC 0024560C 4B FF B9 95 */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 802486D0 00245610 7C 1D 18 00 */ cmpw r29, r3
/* 802486D4 00245614 41 80 FF 18 */ blt .L_802485EC
/* 802486D8 00245618 83 DE 00 04 */ lwz r30, 4(r30)
.L_802486DC:
/* 802486DC 0024561C 28 1E 00 00 */ cmplwi r30, 0
/* 802486E0 00245620 40 82 FF 04 */ bne .L_802485E4
/* 802486E4 00245624 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 802486E8 00245628 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802486EC 0024562C 7C 08 03 A6 */ mtlr r0
/* 802486F0 00245630 38 21 00 30 */ addi r1, r1, 0x30
/* 802486F4 00245634 4E 80 00 20 */ blr
.global deleteMapNode__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNode
deleteMapNode__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNode:
/* 802486F8 00245638 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802486FC 0024563C 7C 08 02 A6 */ mflr r0
/* 80248700 00245640 90 01 00 14 */ stw r0, 0x14(r1)
/* 80248704 00245644 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80248708 00245648 7C 9F 23 78 */ mr r31, r4
/* 8024870C 0024564C 7F E3 FB 78 */ mr r3, r31
/* 80248710 00245650 4B FF AB 6D */ bl detachDoorClose__Q34Game4Cave7MapNodeFv
/* 80248714 00245654 7F E3 FB 78 */ mr r3, r31
/* 80248718 00245658 48 1C 8E B9 */ bl del__5CNodeFv
/* 8024871C 0024565C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80248720 00245660 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80248724 00245664 7C 08 03 A6 */ mtlr r0
/* 80248728 00245668 38 21 00 10 */ addi r1, r1, 0x10
/* 8024872C 0024566C 4E 80 00 20 */ blr
.global createLoopMapNodeCheck__Q34Game4Cave11RandMapUnitFv
createLoopMapNodeCheck__Q34Game4Cave11RandMapUnitFv:
/* 80248730 00245670 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80248734 00245674 7C 08 02 A6 */ mflr r0
/* 80248738 00245678 90 01 00 34 */ stw r0, 0x34(r1)
/* 8024873C 0024567C BF 41 00 18 */ stmw r26, 0x18(r1)
/* 80248740 00245680 7C 7C 1B 78 */ mr r28, r3
/* 80248744 00245684 88 03 00 0D */ lbz r0, 0xd(r3)
/* 80248748 00245688 28 00 00 00 */ cmplwi r0, 0
/* 8024874C 0024568C 41 82 01 68 */ beq .L_802488B4
/* 80248750 00245690 3B E0 00 00 */ li r31, 0
/* 80248754 00245694 9B FC 00 0D */ stb r31, 0xd(r28)
/* 80248758 00245698 80 7C 00 20 */ lwz r3, 0x20(r28)
/* 8024875C 0024569C 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80248760 002456A0 83 63 00 10 */ lwz r27, 0x10(r3)
/* 80248764 002456A4 48 00 00 3C */ b .L_802487A0
.L_80248768:
/* 80248768 002456A8 3B A0 00 00 */ li r29, 0
/* 8024876C 002456AC 48 00 00 20 */ b .L_8024878C
.L_80248770:
/* 80248770 002456B0 7F 63 DB 78 */ mr r3, r27
/* 80248774 002456B4 7F A4 EB 78 */ mr r4, r29
/* 80248778 002456B8 4B FF AB A1 */ bl isDoorClose__Q34Game4Cave7MapNodeFi
/* 8024877C 002456BC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80248780 002456C0 40 82 00 08 */ bne .L_80248788
/* 80248784 002456C4 3B FF 00 01 */ addi r31, r31, 1
.L_80248788:
/* 80248788 002456C8 3B BD 00 01 */ addi r29, r29, 1
.L_8024878C:
/* 8024878C 002456CC 7F 63 DB 78 */ mr r3, r27
/* 80248790 002456D0 4B FF B8 D1 */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 80248794 002456D4 7C 1D 18 00 */ cmpw r29, r3
/* 80248798 002456D8 41 80 FF D8 */ blt .L_80248770
/* 8024879C 002456DC 83 7B 00 04 */ lwz r27, 4(r27)
.L_802487A0:
/* 802487A0 002456E0 28 1B 00 00 */ cmplwi r27, 0
/* 802487A4 002456E4 40 82 FF C4 */ bne .L_80248768
/* 802487A8 002456E8 3B A0 00 00 */ li r29, 0
/* 802487AC 002456EC 48 00 01 00 */ b .L_802488AC
.L_802487B0:
/* 802487B0 002456F0 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 802487B4 002456F4 2C 00 00 10 */ cmpwi r0, 0x10
/* 802487B8 002456F8 40 80 00 F0 */ bge .L_802488A8
/* 802487BC 002456FC 4B E8 0D E5 */ bl rand
/* 802487C0 00245700 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 802487C4 00245704 3C 00 43 30 */ lis r0, 0x4330
/* 802487C8 00245708 90 61 00 14 */ stw r3, 0x14(r1)
/* 802487CC 0024570C C8 62 C4 10 */ lfd f3, lbl_8051A770@sda21(r2)
/* 802487D0 00245710 90 01 00 10 */ stw r0, 0x10(r1)
/* 802487D4 00245714 C0 42 C4 08 */ lfs f2, lbl_8051A768@sda21(r2)
/* 802487D8 00245718 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802487DC 0024571C C0 22 C4 18 */ lfs f1, lbl_8051A778@sda21(r2)
/* 802487E0 00245720 EC 60 18 28 */ fsubs f3, f0, f3
/* 802487E4 00245724 C0 1C 00 14 */ lfs f0, 0x14(r28)
/* 802487E8 00245728 EC 42 00 F2 */ fmuls f2, f2, f3
/* 802487EC 0024572C EC 22 08 24 */ fdivs f1, f2, f1
/* 802487F0 00245730 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802487F4 00245734 40 80 00 B4 */ bge .L_802488A8
/* 802487F8 00245738 80 7C 00 20 */ lwz r3, 0x20(r28)
/* 802487FC 0024573C 3B 40 00 00 */ li r26, 0
/* 80248800 00245740 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80248804 00245744 83 63 00 10 */ lwz r27, 0x10(r3)
/* 80248808 00245748 48 00 00 68 */ b .L_80248870
.L_8024880C:
/* 8024880C 0024574C 3B C0 00 00 */ li r30, 0
/* 80248810 00245750 48 00 00 4C */ b .L_8024885C
.L_80248814:
/* 80248814 00245754 7F 63 DB 78 */ mr r3, r27
/* 80248818 00245758 7F C4 F3 78 */ mr r4, r30
/* 8024881C 0024575C 4B FF AA FD */ bl isDoorClose__Q34Game4Cave7MapNodeFi
/* 80248820 00245760 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80248824 00245764 40 82 00 34 */ bne .L_80248858
/* 80248828 00245768 7C 1A E8 00 */ cmpw r26, r29
/* 8024882C 0024576C 40 82 00 28 */ bne .L_80248854
/* 80248830 00245770 7F 63 DB 78 */ mr r3, r27
/* 80248834 00245774 7F C4 F3 78 */ mr r4, r30
/* 80248838 00245778 4B FF AC 4D */ bl getDoorNode__Q34Game4Cave7MapNodeFi
/* 8024883C 0024577C 7F 63 DB 78 */ mr r3, r27
/* 80248840 00245780 7F C4 F3 78 */ mr r4, r30
/* 80248844 00245784 38 A1 00 0C */ addi r5, r1, 0xc
/* 80248848 00245788 38 C1 00 08 */ addi r6, r1, 8
/* 8024884C 0024578C 4B FF A8 01 */ bl getDoorOffset__Q34Game4Cave7MapNodeFiRiRi
/* 80248850 00245790 48 00 00 2C */ b .L_8024887C
.L_80248854:
/* 80248854 00245794 3B 5A 00 01 */ addi r26, r26, 1
.L_80248858:
/* 80248858 00245798 3B DE 00 01 */ addi r30, r30, 1
.L_8024885C:
/* 8024885C 0024579C 7F 63 DB 78 */ mr r3, r27
/* 80248860 002457A0 4B FF B8 01 */ bl getNumDoors__Q34Game4Cave7MapNodeFv
/* 80248864 002457A4 7C 1E 18 00 */ cmpw r30, r3
/* 80248868 002457A8 41 80 FF AC */ blt .L_80248814
/* 8024886C 002457AC 83 7B 00 04 */ lwz r27, 4(r27)
.L_80248870:
/* 80248870 002457B0 28 1B 00 00 */ cmplwi r27, 0
/* 80248874 002457B4 40 82 FF 98 */ bne .L_8024880C
/* 80248878 002457B8 3B 60 00 00 */ li r27, 0
.L_8024887C:
/* 8024887C 002457BC 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 80248880 002457C0 80 7C 00 18 */ lwz r3, 0x18(r28)
/* 80248884 002457C4 54 00 10 3A */ slwi r0, r0, 2
/* 80248888 002457C8 7F 63 01 2E */ stwx r27, r3, r0
/* 8024888C 002457CC 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 80248890 002457D0 80 7C 00 1C */ lwz r3, 0x1c(r28)
/* 80248894 002457D4 54 00 10 3A */ slwi r0, r0, 2
/* 80248898 002457D8 7F C3 01 2E */ stwx r30, r3, r0
/* 8024889C 002457DC 80 7C 00 10 */ lwz r3, 0x10(r28)
/* 802488A0 002457E0 38 03 00 01 */ addi r0, r3, 1
/* 802488A4 002457E4 90 1C 00 10 */ stw r0, 0x10(r28)
.L_802488A8:
/* 802488A8 002457E8 3B BD 00 01 */ addi r29, r29, 1
.L_802488AC:
/* 802488AC 002457EC 7C 1D F8 00 */ cmpw r29, r31
/* 802488B0 002457F0 41 80 FF 00 */ blt .L_802487B0
.L_802488B4:
/* 802488B4 002457F4 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 802488B8 002457F8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802488BC 002457FC 7C 08 03 A6 */ mtlr r0
/* 802488C0 00245800 38 21 00 30 */ addi r1, r1, 0x30
/* 802488C4 00245804 4E 80 00 20 */ blr
.global isLoopMapNodeCheck__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNodei
isLoopMapNodeCheck__Q34Game4Cave11RandMapUnitFPQ34Game4Cave7MapNodei:
/* 802488C8 00245808 80 03 00 10 */ lwz r0, 0x10(r3)
/* 802488CC 0024580C 38 E0 00 00 */ li r7, 0
/* 802488D0 00245810 7C 09 03 A6 */ mtctr r0
/* 802488D4 00245814 2C 00 00 00 */ cmpwi r0, 0
/* 802488D8 00245818 40 81 00 34 */ ble .L_8024890C
.L_802488DC:
/* 802488DC 0024581C 80 C3 00 18 */ lwz r6, 0x18(r3)
/* 802488E0 00245820 7C 06 38 2E */ lwzx r0, r6, r7
/* 802488E4 00245824 7C 04 00 40 */ cmplw r4, r0
/* 802488E8 00245828 40 82 00 1C */ bne .L_80248904
/* 802488EC 0024582C 80 C3 00 1C */ lwz r6, 0x1c(r3)
/* 802488F0 00245830 7C 06 38 2E */ lwzx r0, r6, r7
/* 802488F4 00245834 7C 05 00 00 */ cmpw r5, r0
/* 802488F8 00245838 40 82 00 0C */ bne .L_80248904
/* 802488FC 0024583C 38 60 00 00 */ li r3, 0
/* 80248900 00245840 4E 80 00 20 */ blr
.L_80248904:
/* 80248904 00245844 38 E7 00 04 */ addi r7, r7, 4
/* 80248908 00245848 42 00 FF D4 */ bdnz .L_802488DC
.L_8024890C:
/* 8024890C 0024584C 38 60 00 01 */ li r3, 1
/* 80248910 00245850 4E 80 00 20 */ blr