prime/asm/MetroidPrime/CMapWorldInfo.s

2093 lines
102 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .sdata
.balign 8
.global lbl_805A7948
lbl_805A7948:
# ROM: 0x3F52E8
.4byte 0
.global lbl_805A794C
lbl_805A794C:
# ROM: 0x3F52EC
.4byte 0
.section .text, "ax"
.global IsAnythingSet__13CMapWorldInfoFv
IsAnythingSet__13CMapWorldInfoFv:
/* 80167C14 00164B74 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80167C18 00164B78 39 00 00 00 */ li r8, 0
/* 80167C1C 00164B7C 38 A0 00 01 */ li r5, 1
/* 80167C20 00164B80 80 03 00 00 */ lwz r0, 0(r3)
/* 80167C24 00164B84 7C 09 03 A6 */ mtctr r0
/* 80167C28 00164B88 2C 00 00 00 */ cmpwi r0, 0
/* 80167C2C 00164B8C 40 81 00 5C */ ble lbl_80167C88
lbl_80167C30:
/* 80167C30 00164B90 7D 04 2E 70 */ srawi r4, r8, 5
/* 80167C34 00164B94 55 00 D8 08 */ slwi r0, r8, 0x1b
/* 80167C38 00164B98 7C C4 01 94 */ addze r6, r4
/* 80167C3C 00164B9C 55 04 0F FE */ srwi r4, r8, 0x1f
/* 80167C40 00164BA0 7C 04 00 50 */ subf r0, r4, r0
/* 80167C44 00164BA4 80 E3 00 10 */ lwz r7, 0x10(r3)
/* 80167C48 00164BA8 54 C6 10 3A */ slwi r6, r6, 2
/* 80167C4C 00164BAC 7C E7 32 14 */ add r7, r7, r6
/* 80167C50 00164BB0 54 00 28 3E */ rotlwi r0, r0, 5
/* 80167C54 00164BB4 7C 80 22 14 */ add r4, r0, r4
/* 80167C58 00164BB8 80 07 00 00 */ lwz r0, 0(r7)
/* 80167C5C 00164BBC 7C A4 20 30 */ slw r4, r5, r4
/* 80167C60 00164BC0 90 E1 00 14 */ stw r7, 0x14(r1)
/* 80167C64 00164BC4 7C 80 00 39 */ and. r0, r4, r0
/* 80167C68 00164BC8 90 E1 00 10 */ stw r7, 0x10(r1)
/* 80167C6C 00164BCC 90 E1 00 20 */ stw r7, 0x20(r1)
/* 80167C70 00164BD0 90 81 00 24 */ stw r4, 0x24(r1)
/* 80167C74 00164BD4 41 82 00 0C */ beq lbl_80167C80
/* 80167C78 00164BD8 38 60 00 01 */ li r3, 1
/* 80167C7C 00164BDC 48 00 00 80 */ b lbl_80167CFC
lbl_80167C80:
/* 80167C80 00164BE0 39 08 00 01 */ addi r8, r8, 1
/* 80167C84 00164BE4 42 00 FF AC */ bdnz lbl_80167C30
lbl_80167C88:
/* 80167C88 00164BE8 80 03 00 14 */ lwz r0, 0x14(r3)
/* 80167C8C 00164BEC 39 00 00 00 */ li r8, 0
/* 80167C90 00164BF0 38 A0 00 01 */ li r5, 1
/* 80167C94 00164BF4 7C 09 03 A6 */ mtctr r0
/* 80167C98 00164BF8 2C 00 00 00 */ cmpwi r0, 0
/* 80167C9C 00164BFC 40 81 00 5C */ ble lbl_80167CF8
lbl_80167CA0:
/* 80167CA0 00164C00 7D 04 2E 70 */ srawi r4, r8, 5
/* 80167CA4 00164C04 55 00 D8 08 */ slwi r0, r8, 0x1b
/* 80167CA8 00164C08 7C C4 01 94 */ addze r6, r4
/* 80167CAC 00164C0C 55 04 0F FE */ srwi r4, r8, 0x1f
/* 80167CB0 00164C10 7C 04 00 50 */ subf r0, r4, r0
/* 80167CB4 00164C14 80 E3 00 24 */ lwz r7, 0x24(r3)
/* 80167CB8 00164C18 54 C6 10 3A */ slwi r6, r6, 2
/* 80167CBC 00164C1C 7C E7 32 14 */ add r7, r7, r6
/* 80167CC0 00164C20 54 00 28 3E */ rotlwi r0, r0, 5
/* 80167CC4 00164C24 7C 80 22 14 */ add r4, r0, r4
/* 80167CC8 00164C28 80 07 00 00 */ lwz r0, 0(r7)
/* 80167CCC 00164C2C 7C A4 20 30 */ slw r4, r5, r4
/* 80167CD0 00164C30 90 E1 00 0C */ stw r7, 0xc(r1)
/* 80167CD4 00164C34 7C 80 00 39 */ and. r0, r4, r0
/* 80167CD8 00164C38 90 E1 00 08 */ stw r7, 8(r1)
/* 80167CDC 00164C3C 90 E1 00 18 */ stw r7, 0x18(r1)
/* 80167CE0 00164C40 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80167CE4 00164C44 41 82 00 0C */ beq lbl_80167CF0
/* 80167CE8 00164C48 38 60 00 01 */ li r3, 1
/* 80167CEC 00164C4C 48 00 00 10 */ b lbl_80167CFC
lbl_80167CF0:
/* 80167CF0 00164C50 39 08 00 01 */ addi r8, r8, 1
/* 80167CF4 00164C54 42 00 FF AC */ bdnz lbl_80167CA0
lbl_80167CF8:
/* 80167CF8 00164C58 88 63 00 38 */ lbz r3, 0x38(r3)
lbl_80167CFC:
/* 80167CFC 00164C5C 38 21 00 30 */ addi r1, r1, 0x30
/* 80167D00 00164C60 4E 80 00 20 */ blr
.global IsAreaVisible__13CMapWorldInfoCF7TAreaId
IsAreaVisible__13CMapWorldInfoCF7TAreaId:
/* 80167D04 00164C64 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80167D08 00164C68 7C 08 02 A6 */ mflr r0
/* 80167D0C 00164C6C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80167D10 00164C70 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80167D14 00164C74 3B E0 00 01 */ li r31, 1
/* 80167D18 00164C78 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80167D1C 00164C7C 7C 9E 23 78 */ mr r30, r4
/* 80167D20 00164C80 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80167D24 00164C84 7C 7D 1B 78 */ mr r29, r3
/* 80167D28 00164C88 80 04 00 00 */ lwz r0, 0(r4)
/* 80167D2C 00164C8C 38 81 00 0C */ addi r4, r1, 0xc
/* 80167D30 00164C90 90 01 00 0C */ stw r0, 0xc(r1)
/* 80167D34 00164C94 48 00 00 4D */ bl IsAreaVisited__13CMapWorldInfoCF7TAreaId
/* 80167D38 00164C98 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80167D3C 00164C9C 40 82 00 24 */ bne lbl_80167D60
/* 80167D40 00164CA0 80 1E 00 00 */ lwz r0, 0(r30)
/* 80167D44 00164CA4 7F A3 EB 78 */ mr r3, r29
/* 80167D48 00164CA8 38 81 00 08 */ addi r4, r1, 8
/* 80167D4C 00164CAC 90 01 00 08 */ stw r0, 8(r1)
/* 80167D50 00164CB0 48 00 05 D5 */ bl IsMapped__13CMapWorldInfoCF7TAreaId
/* 80167D54 00164CB4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80167D58 00164CB8 40 82 00 08 */ bne lbl_80167D60
/* 80167D5C 00164CBC 3B E0 00 00 */ li r31, 0
lbl_80167D60:
/* 80167D60 00164CC0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80167D64 00164CC4 7F E3 FB 78 */ mr r3, r31
/* 80167D68 00164CC8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80167D6C 00164CCC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80167D70 00164CD0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80167D74 00164CD4 7C 08 03 A6 */ mtlr r0
/* 80167D78 00164CD8 38 21 00 20 */ addi r1, r1, 0x20
/* 80167D7C 00164CDC 4E 80 00 20 */ blr
.global IsAreaVisited__13CMapWorldInfoCF7TAreaId
IsAreaVisited__13CMapWorldInfoCF7TAreaId:
/* 80167D80 00164CE0 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80167D84 00164CE4 7C 08 02 A6 */ mflr r0
/* 80167D88 00164CE8 90 01 00 54 */ stw r0, 0x54(r1)
/* 80167D8C 00164CEC 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80167D90 00164CF0 7C 9F 23 78 */ mr r31, r4
/* 80167D94 00164CF4 93 C1 00 48 */ stw r30, 0x48(r1)
/* 80167D98 00164CF8 7C 7E 1B 78 */ mr r30, r3
/* 80167D9C 00164CFC 80 64 00 00 */ lwz r3, 0(r4)
/* 80167DA0 00164D00 80 1E 00 00 */ lwz r0, 0(r30)
/* 80167DA4 00164D04 38 63 00 01 */ addi r3, r3, 1
/* 80167DA8 00164D08 7C 03 00 00 */ cmpw r3, r0
/* 80167DAC 00164D0C 40 81 00 80 */ ble lbl_80167E2C
/* 80167DB0 00164D10 54 60 D8 08 */ slwi r0, r3, 0x1b
/* 80167DB4 00164D14 54 64 0F FE */ srwi r4, r3, 0x1f
/* 80167DB8 00164D18 7C 04 00 50 */ subf r0, r4, r0
/* 80167DBC 00164D1C 7C 65 2E 70 */ srawi r5, r3, 5
/* 80167DC0 00164D20 54 00 28 3E */ rotlwi r0, r0, 5
/* 80167DC4 00164D24 38 7E 00 04 */ addi r3, r30, 4
/* 80167DC8 00164D28 7C 80 22 14 */ add r4, r0, r4
/* 80167DCC 00164D2C 7C A5 01 94 */ addze r5, r5
/* 80167DD0 00164D30 7C 04 00 D0 */ neg r0, r4
/* 80167DD4 00164D34 7C 00 23 78 */ or r0, r0, r4
/* 80167DD8 00164D38 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80167DDC 00164D3C 7C 85 02 14 */ add r4, r5, r0
/* 80167DE0 00164D40 4B EF BD 45 */ bl "reserve__Q24rstl37vector<Ui,Q24rstl17rmemory_allocator>Fi"
/* 80167DE4 00164D44 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 80167DE8 00164D48 7F C3 F3 78 */ mr r3, r30
/* 80167DEC 00164D4C 80 FE 00 00 */ lwz r7, 0(r30)
/* 80167DF0 00164D50 38 81 00 30 */ addi r4, r1, 0x30
/* 80167DF4 00164D54 80 BF 00 00 */ lwz r5, 0(r31)
/* 80167DF8 00164D58 38 C0 00 00 */ li r6, 0
/* 80167DFC 00164D5C 90 01 00 18 */ stw r0, 0x18(r1)
/* 80167E00 00164D60 7C A7 28 50 */ subf r5, r7, r5
/* 80167E04 00164D64 90 01 00 14 */ stw r0, 0x14(r1)
/* 80167E08 00164D68 38 A5 00 01 */ addi r5, r5, 1
/* 80167E0C 00164D6C 90 01 00 10 */ stw r0, 0x10(r1)
/* 80167E10 00164D70 90 01 00 24 */ stw r0, 0x24(r1)
/* 80167E14 00164D74 90 E1 00 28 */ stw r7, 0x28(r1)
/* 80167E18 00164D78 90 01 00 2C */ stw r0, 0x2c(r1)
/* 80167E1C 00164D7C 90 01 00 30 */ stw r0, 0x30(r1)
/* 80167E20 00164D80 90 E1 00 34 */ stw r7, 0x34(r1)
/* 80167E24 00164D84 90 01 00 38 */ stw r0, 0x38(r1)
/* 80167E28 00164D88 48 00 00 75 */ bl sub_80167e9c
lbl_80167E2C:
/* 80167E2C 00164D8C 80 9F 00 00 */ lwz r4, 0(r31)
/* 80167E30 00164D90 38 A0 00 01 */ li r5, 1
/* 80167E34 00164D94 80 DE 00 10 */ lwz r6, 0x10(r30)
/* 80167E38 00164D98 7C 83 2E 70 */ srawi r3, r4, 5
/* 80167E3C 00164D9C 54 80 D8 08 */ slwi r0, r4, 0x1b
/* 80167E40 00164DA0 7C 63 01 94 */ addze r3, r3
/* 80167E44 00164DA4 54 84 0F FE */ srwi r4, r4, 0x1f
/* 80167E48 00164DA8 54 63 10 3A */ slwi r3, r3, 2
/* 80167E4C 00164DAC 7C C6 1A 14 */ add r6, r6, r3
/* 80167E50 00164DB0 7C 04 00 50 */ subf r0, r4, r0
/* 80167E54 00164DB4 54 03 28 3E */ rotlwi r3, r0, 5
/* 80167E58 00164DB8 80 06 00 00 */ lwz r0, 0(r6)
/* 80167E5C 00164DBC 7C 63 22 14 */ add r3, r3, r4
/* 80167E60 00164DC0 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80167E64 00164DC4 7C A4 18 30 */ slw r4, r5, r3
/* 80167E68 00164DC8 7C 83 00 38 */ and r3, r4, r0
/* 80167E6C 00164DCC 90 C1 00 08 */ stw r6, 8(r1)
/* 80167E70 00164DD0 7C 03 00 D0 */ neg r0, r3
/* 80167E74 00164DD4 7C 00 1B 78 */ or r0, r0, r3
/* 80167E78 00164DD8 90 C1 00 1C */ stw r6, 0x1c(r1)
/* 80167E7C 00164DDC 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80167E80 00164DE0 90 81 00 20 */ stw r4, 0x20(r1)
/* 80167E84 00164DE4 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 80167E88 00164DE8 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 80167E8C 00164DEC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80167E90 00164DF0 7C 08 03 A6 */ mtlr r0
/* 80167E94 00164DF4 38 21 00 50 */ addi r1, r1, 0x50
/* 80167E98 00164DF8 4E 80 00 20 */ blr
.global sub_80167e9c
sub_80167e9c:
/* 80167E9C 00164DFC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80167EA0 00164E00 7C 08 02 A6 */ mflr r0
/* 80167EA4 00164E04 90 01 00 24 */ stw r0, 0x24(r1)
/* 80167EA8 00164E08 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80167EAC 00164E0C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80167EB0 00164E10 7C 7E 1B 78 */ mr r30, r3
/* 80167EB4 00164E14 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80167EB8 00164E18 7C DD 33 78 */ mr r29, r6
/* 80167EBC 00164E1C 93 81 00 10 */ stw r28, 0x10(r1)
/* 80167EC0 00164E20 7C BC 2B 78 */ mr r28, r5
/* 80167EC4 00164E24 80 84 00 04 */ lwz r4, 4(r4)
/* 80167EC8 00164E28 7C 9F 23 78 */ mr r31, r4
/* 80167ECC 00164E2C 48 00 02 CD */ bl sub_80168198
/* 80167ED0 00164E30 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 80167ED4 00164E34 41 82 01 58 */ beq lbl_8016802C
/* 80167ED8 00164E38 2C 1C 00 00 */ cmpwi r28, 0
/* 80167EDC 00164E3C 7F 83 E3 78 */ mr r3, r28
/* 80167EE0 00164E40 40 81 02 98 */ ble lbl_80168178
/* 80167EE4 00164E44 57 80 F0 BF */ rlwinm. r0, r28, 0x1e, 2, 0x1f
/* 80167EE8 00164E48 7C 09 03 A6 */ mtctr r0
/* 80167EEC 00164E4C 41 82 00 F4 */ beq lbl_80167FE0
lbl_80167EF0:
/* 80167EF0 00164E50 7F EB 2E 70 */ srawi r11, r31, 5
/* 80167EF4 00164E54 57 E6 D8 08 */ slwi r6, r31, 0x1b
/* 80167EF8 00164E58 57 E5 0F FE */ srwi r5, r31, 0x1f
/* 80167EFC 00164E5C 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 80167F00 00164E60 7D 4B 01 94 */ addze r10, r11
/* 80167F04 00164E64 3B FF 00 01 */ addi r31, r31, 1
/* 80167F08 00164E68 7C 85 30 50 */ subf r4, r5, r6
/* 80167F0C 00164E6C 38 E0 00 01 */ li r7, 1
/* 80167F10 00164E70 55 49 10 3A */ slwi r9, r10, 2
/* 80167F14 00164E74 7F EB 2E 70 */ srawi r11, r31, 5
/* 80167F18 00164E78 54 84 28 3E */ rotlwi r4, r4, 5
/* 80167F1C 00164E7C 7D 0C 48 2E */ lwzx r8, r12, r9
/* 80167F20 00164E80 7C 04 2A 14 */ add r0, r4, r5
/* 80167F24 00164E84 57 E6 D8 08 */ slwi r6, r31, 0x1b
/* 80167F28 00164E88 57 E5 0F FE */ srwi r5, r31, 0x1f
/* 80167F2C 00164E8C 7D 4B 01 94 */ addze r10, r11
/* 80167F30 00164E90 7C E0 00 30 */ slw r0, r7, r0
/* 80167F34 00164E94 3B FF 00 01 */ addi r31, r31, 1
/* 80167F38 00164E98 7C 85 30 50 */ subf r4, r5, r6
/* 80167F3C 00164E9C 7D 00 03 78 */ or r0, r8, r0
/* 80167F40 00164EA0 7F EB 2E 70 */ srawi r11, r31, 5
/* 80167F44 00164EA4 7C 0C 49 2E */ stwx r0, r12, r9
/* 80167F48 00164EA8 55 49 10 3A */ slwi r9, r10, 2
/* 80167F4C 00164EAC 54 84 28 3E */ rotlwi r4, r4, 5
/* 80167F50 00164EB0 57 E6 D8 08 */ slwi r6, r31, 0x1b
/* 80167F54 00164EB4 7C 04 2A 14 */ add r0, r4, r5
/* 80167F58 00164EB8 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 80167F5C 00164EBC 57 E5 0F FE */ srwi r5, r31, 0x1f
/* 80167F60 00164EC0 7D 4B 01 94 */ addze r10, r11
/* 80167F64 00164EC4 7C 85 30 50 */ subf r4, r5, r6
/* 80167F68 00164EC8 7D 0C 48 2E */ lwzx r8, r12, r9
/* 80167F6C 00164ECC 7C E0 00 30 */ slw r0, r7, r0
/* 80167F70 00164ED0 3B FF 00 01 */ addi r31, r31, 1
/* 80167F74 00164ED4 7D 00 03 78 */ or r0, r8, r0
/* 80167F78 00164ED8 54 84 28 3E */ rotlwi r4, r4, 5
/* 80167F7C 00164EDC 7C 0C 49 2E */ stwx r0, r12, r9
/* 80167F80 00164EE0 7C 04 2A 14 */ add r0, r4, r5
/* 80167F84 00164EE4 55 49 10 3A */ slwi r9, r10, 2
/* 80167F88 00164EE8 7F EB 2E 70 */ srawi r11, r31, 5
/* 80167F8C 00164EEC 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 80167F90 00164EF0 7C E0 00 30 */ slw r0, r7, r0
/* 80167F94 00164EF4 57 E6 D8 08 */ slwi r6, r31, 0x1b
/* 80167F98 00164EF8 57 E5 0F FE */ srwi r5, r31, 0x1f
/* 80167F9C 00164EFC 7D 0C 48 2E */ lwzx r8, r12, r9
/* 80167FA0 00164F00 7C 85 30 50 */ subf r4, r5, r6
/* 80167FA4 00164F04 7D 4B 01 94 */ addze r10, r11
/* 80167FA8 00164F08 3B FF 00 01 */ addi r31, r31, 1
/* 80167FAC 00164F0C 7D 00 03 78 */ or r0, r8, r0
/* 80167FB0 00164F10 54 84 28 3E */ rotlwi r4, r4, 5
/* 80167FB4 00164F14 7C 0C 49 2E */ stwx r0, r12, r9
/* 80167FB8 00164F18 7C 04 2A 14 */ add r0, r4, r5
/* 80167FBC 00164F1C 55 49 10 3A */ slwi r9, r10, 2
/* 80167FC0 00164F20 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 80167FC4 00164F24 7C E0 00 30 */ slw r0, r7, r0
/* 80167FC8 00164F28 7D 0C 48 2E */ lwzx r8, r12, r9
/* 80167FCC 00164F2C 7D 00 03 78 */ or r0, r8, r0
/* 80167FD0 00164F30 7C 0C 49 2E */ stwx r0, r12, r9
/* 80167FD4 00164F34 42 00 FF 1C */ bdnz lbl_80167EF0
/* 80167FD8 00164F38 70 63 00 03 */ andi. r3, r3, 3
/* 80167FDC 00164F3C 41 82 01 9C */ beq lbl_80168178
lbl_80167FE0:
/* 80167FE0 00164F40 7C 69 03 A6 */ mtctr r3
/* 80167FE4 00164F44 38 E0 00 01 */ li r7, 1
lbl_80167FE8:
/* 80167FE8 00164F48 7F E0 FB 78 */ mr r0, r31
/* 80167FEC 00164F4C 57 E6 D8 08 */ slwi r6, r31, 0x1b
/* 80167FF0 00164F50 57 E5 0F FE */ srwi r5, r31, 0x1f
/* 80167FF4 00164F54 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 80167FF8 00164F58 7C 0B 2E 70 */ srawi r11, r0, 5
/* 80167FFC 00164F5C 3B FF 00 01 */ addi r31, r31, 1
/* 80168000 00164F60 7D 4B 01 94 */ addze r10, r11
/* 80168004 00164F64 7C 85 30 50 */ subf r4, r5, r6
/* 80168008 00164F68 55 49 10 3A */ slwi r9, r10, 2
/* 8016800C 00164F6C 54 84 28 3E */ rotlwi r4, r4, 5
/* 80168010 00164F70 7D 0C 48 2E */ lwzx r8, r12, r9
/* 80168014 00164F74 7C 04 2A 14 */ add r0, r4, r5
/* 80168018 00164F78 7C E0 00 30 */ slw r0, r7, r0
/* 8016801C 00164F7C 7D 00 03 78 */ or r0, r8, r0
/* 80168020 00164F80 7C 0C 49 2E */ stwx r0, r12, r9
/* 80168024 00164F84 42 00 FF C4 */ bdnz lbl_80167FE8
/* 80168028 00164F88 48 00 01 50 */ b lbl_80168178
lbl_8016802C:
/* 8016802C 00164F8C 2C 1C 00 00 */ cmpwi r28, 0
/* 80168030 00164F90 7F 83 E3 78 */ mr r3, r28
/* 80168034 00164F94 40 81 01 44 */ ble lbl_80168178
/* 80168038 00164F98 57 80 F0 BF */ rlwinm. r0, r28, 0x1e, 2, 0x1f
/* 8016803C 00164F9C 7C 09 03 A6 */ mtctr r0
/* 80168040 00164FA0 41 82 00 F4 */ beq lbl_80168134
lbl_80168044:
/* 80168044 00164FA4 7F EB 2E 70 */ srawi r11, r31, 5
/* 80168048 00164FA8 57 E6 D8 08 */ slwi r6, r31, 0x1b
/* 8016804C 00164FAC 57 E5 0F FE */ srwi r5, r31, 0x1f
/* 80168050 00164FB0 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 80168054 00164FB4 7D 4B 01 94 */ addze r10, r11
/* 80168058 00164FB8 3B FF 00 01 */ addi r31, r31, 1
/* 8016805C 00164FBC 7C 85 30 50 */ subf r4, r5, r6
/* 80168060 00164FC0 38 E0 00 01 */ li r7, 1
/* 80168064 00164FC4 55 49 10 3A */ slwi r9, r10, 2
/* 80168068 00164FC8 7F EB 2E 70 */ srawi r11, r31, 5
/* 8016806C 00164FCC 54 84 28 3E */ rotlwi r4, r4, 5
/* 80168070 00164FD0 7D 0C 48 2E */ lwzx r8, r12, r9
/* 80168074 00164FD4 7C 04 2A 14 */ add r0, r4, r5
/* 80168078 00164FD8 57 E6 D8 08 */ slwi r6, r31, 0x1b
/* 8016807C 00164FDC 57 E5 0F FE */ srwi r5, r31, 0x1f
/* 80168080 00164FE0 7D 4B 01 94 */ addze r10, r11
/* 80168084 00164FE4 7C E0 00 30 */ slw r0, r7, r0
/* 80168088 00164FE8 3B FF 00 01 */ addi r31, r31, 1
/* 8016808C 00164FEC 7C 85 30 50 */ subf r4, r5, r6
/* 80168090 00164FF0 7D 00 00 78 */ andc r0, r8, r0
/* 80168094 00164FF4 7F EB 2E 70 */ srawi r11, r31, 5
/* 80168098 00164FF8 7C 0C 49 2E */ stwx r0, r12, r9
/* 8016809C 00164FFC 55 49 10 3A */ slwi r9, r10, 2
/* 801680A0 00165000 54 84 28 3E */ rotlwi r4, r4, 5
/* 801680A4 00165004 57 E6 D8 08 */ slwi r6, r31, 0x1b
/* 801680A8 00165008 7C 04 2A 14 */ add r0, r4, r5
/* 801680AC 0016500C 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 801680B0 00165010 57 E5 0F FE */ srwi r5, r31, 0x1f
/* 801680B4 00165014 7D 4B 01 94 */ addze r10, r11
/* 801680B8 00165018 7C 85 30 50 */ subf r4, r5, r6
/* 801680BC 0016501C 7D 0C 48 2E */ lwzx r8, r12, r9
/* 801680C0 00165020 7C E0 00 30 */ slw r0, r7, r0
/* 801680C4 00165024 3B FF 00 01 */ addi r31, r31, 1
/* 801680C8 00165028 7D 00 00 78 */ andc r0, r8, r0
/* 801680CC 0016502C 54 84 28 3E */ rotlwi r4, r4, 5
/* 801680D0 00165030 7C 0C 49 2E */ stwx r0, r12, r9
/* 801680D4 00165034 7C 04 2A 14 */ add r0, r4, r5
/* 801680D8 00165038 55 49 10 3A */ slwi r9, r10, 2
/* 801680DC 0016503C 7F EB 2E 70 */ srawi r11, r31, 5
/* 801680E0 00165040 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 801680E4 00165044 7C E0 00 30 */ slw r0, r7, r0
/* 801680E8 00165048 57 E6 D8 08 */ slwi r6, r31, 0x1b
/* 801680EC 0016504C 57 E5 0F FE */ srwi r5, r31, 0x1f
/* 801680F0 00165050 7D 0C 48 2E */ lwzx r8, r12, r9
/* 801680F4 00165054 7C 85 30 50 */ subf r4, r5, r6
/* 801680F8 00165058 7D 4B 01 94 */ addze r10, r11
/* 801680FC 0016505C 3B FF 00 01 */ addi r31, r31, 1
/* 80168100 00165060 7D 00 00 78 */ andc r0, r8, r0
/* 80168104 00165064 54 84 28 3E */ rotlwi r4, r4, 5
/* 80168108 00165068 7C 0C 49 2E */ stwx r0, r12, r9
/* 8016810C 0016506C 7C 04 2A 14 */ add r0, r4, r5
/* 80168110 00165070 55 49 10 3A */ slwi r9, r10, 2
/* 80168114 00165074 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 80168118 00165078 7C E0 00 30 */ slw r0, r7, r0
/* 8016811C 0016507C 7D 0C 48 2E */ lwzx r8, r12, r9
/* 80168120 00165080 7D 00 00 78 */ andc r0, r8, r0
/* 80168124 00165084 7C 0C 49 2E */ stwx r0, r12, r9
/* 80168128 00165088 42 00 FF 1C */ bdnz lbl_80168044
/* 8016812C 0016508C 70 63 00 03 */ andi. r3, r3, 3
/* 80168130 00165090 41 82 00 48 */ beq lbl_80168178
lbl_80168134:
/* 80168134 00165094 7C 69 03 A6 */ mtctr r3
/* 80168138 00165098 38 E0 00 01 */ li r7, 1
lbl_8016813C:
/* 8016813C 0016509C 7F EB 2E 70 */ srawi r11, r31, 5
/* 80168140 001650A0 57 E6 D8 08 */ slwi r6, r31, 0x1b
/* 80168144 001650A4 57 E5 0F FE */ srwi r5, r31, 0x1f
/* 80168148 001650A8 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 8016814C 001650AC 7D 4B 01 94 */ addze r10, r11
/* 80168150 001650B0 3B FF 00 01 */ addi r31, r31, 1
/* 80168154 001650B4 7C 85 30 50 */ subf r4, r5, r6
/* 80168158 001650B8 55 49 10 3A */ slwi r9, r10, 2
/* 8016815C 001650BC 54 84 28 3E */ rotlwi r4, r4, 5
/* 80168160 001650C0 7D 0C 48 2E */ lwzx r8, r12, r9
/* 80168164 001650C4 7C 04 2A 14 */ add r0, r4, r5
/* 80168168 001650C8 7C E0 00 30 */ slw r0, r7, r0
/* 8016816C 001650CC 7D 00 00 78 */ andc r0, r8, r0
/* 80168170 001650D0 7C 0C 49 2E */ stwx r0, r12, r9
/* 80168174 001650D4 42 00 FF C8 */ bdnz lbl_8016813C
lbl_80168178:
/* 80168178 001650D8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8016817C 001650DC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80168180 001650E0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80168184 001650E4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80168188 001650E8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8016818C 001650EC 7C 08 03 A6 */ mtlr r0
/* 80168190 001650F0 38 21 00 20 */ addi r1, r1, 0x20
/* 80168194 001650F4 4E 80 00 20 */ blr
.global sub_80168198
sub_80168198:
/* 80168198 001650F8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8016819C 001650FC 7C 08 02 A6 */ mflr r0
/* 801681A0 00165100 90 01 00 24 */ stw r0, 0x24(r1)
/* 801681A4 00165104 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801681A8 00165108 7C BF 2B 78 */ mr r31, r5
/* 801681AC 0016510C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801681B0 00165110 7C 9E 23 78 */ mr r30, r4
/* 801681B4 00165114 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801681B8 00165118 7C 7D 1B 78 */ mr r29, r3
/* 801681BC 0016511C 93 81 00 10 */ stw r28, 0x10(r1)
/* 801681C0 00165120 80 03 00 08 */ lwz r0, 8(r3)
/* 801681C4 00165124 80 63 00 00 */ lwz r3, 0(r3)
/* 801681C8 00165128 54 00 28 34 */ slwi r0, r0, 5
/* 801681CC 0016512C 7F 83 00 50 */ subf r28, r3, r0
/* 801681D0 00165130 48 00 00 58 */ b lbl_80168228
lbl_801681D4:
/* 801681D4 00165134 80 1D 00 08 */ lwz r0, 8(r29)
/* 801681D8 00165138 80 BD 00 0C */ lwz r5, 0xc(r29)
/* 801681DC 0016513C 7C 00 28 00 */ cmpw r0, r5
/* 801681E0 00165140 41 80 00 1C */ blt lbl_801681FC
/* 801681E4 00165144 2C 05 00 00 */ cmpwi r5, 0
/* 801681E8 00165148 38 7D 00 04 */ addi r3, r29, 4
/* 801681EC 0016514C 38 80 00 04 */ li r4, 4
/* 801681F0 00165150 41 82 00 08 */ beq lbl_801681F8
/* 801681F4 00165154 54 A4 08 3C */ slwi r4, r5, 1
lbl_801681F8:
/* 801681F8 00165158 4B EF B9 2D */ bl "reserve__Q24rstl37vector<Ui,Q24rstl17rmemory_allocator>Fi"
lbl_801681FC:
/* 801681FC 0016515C 80 1D 00 08 */ lwz r0, 8(r29)
/* 80168200 00165160 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 80168204 00165164 54 00 10 3A */ slwi r0, r0, 2
/* 80168208 00165168 7C 63 02 15 */ add. r3, r3, r0
/* 8016820C 0016516C 41 82 00 0C */ beq lbl_80168218
/* 80168210 00165170 80 0D 8D 8C */ lwz r0, lbl_805A794C@sda21(r13)
/* 80168214 00165174 90 03 00 00 */ stw r0, 0(r3)
lbl_80168218:
/* 80168218 00165178 80 7D 00 08 */ lwz r3, 8(r29)
/* 8016821C 0016517C 3B 9C 00 20 */ addi r28, r28, 0x20
/* 80168220 00165180 38 03 00 01 */ addi r0, r3, 1
/* 80168224 00165184 90 1D 00 08 */ stw r0, 8(r29)
lbl_80168228:
/* 80168228 00165188 7C 1C F8 00 */ cmpw r28, r31
/* 8016822C 0016518C 41 80 FF A8 */ blt lbl_801681D4
/* 80168230 00165190 80 7D 00 00 */ lwz r3, 0(r29)
/* 80168234 00165194 38 83 FF FF */ addi r4, r3, -1
/* 80168238 00165198 38 04 00 01 */ addi r0, r4, 1
/* 8016823C 0016519C 7C 1E 00 50 */ subf r0, r30, r0
/* 80168240 001651A0 7C 09 03 A6 */ mtctr r0
/* 80168244 001651A4 7C 04 F0 00 */ cmpw r4, r30
/* 80168248 001651A8 41 80 00 B0 */ blt lbl_801682F8
lbl_8016824C:
/* 8016824C 001651AC 7C 86 2E 70 */ srawi r6, r4, 5
/* 80168250 001651B0 54 80 D8 08 */ slwi r0, r4, 0x1b
/* 80168254 001651B4 54 85 0F FE */ srwi r5, r4, 0x1f
/* 80168258 001651B8 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8016825C 001651BC 7C C6 01 94 */ addze r6, r6
/* 80168260 001651C0 39 00 00 01 */ li r8, 1
/* 80168264 001651C4 7C 05 00 50 */ subf r0, r5, r0
/* 80168268 001651C8 54 C6 10 3A */ slwi r6, r6, 2
/* 8016826C 001651CC 54 00 28 3E */ rotlwi r0, r0, 5
/* 80168270 001651D0 7C C3 30 2E */ lwzx r6, r3, r6
/* 80168274 001651D4 7C 00 2A 14 */ add r0, r0, r5
/* 80168278 001651D8 7D 00 00 30 */ slw r0, r8, r0
/* 8016827C 001651DC 7C C0 00 39 */ and. r0, r6, r0
/* 80168280 001651E0 41 82 00 3C */ beq lbl_801682BC
/* 80168284 001651E4 7C A4 FA 14 */ add r5, r4, r31
/* 80168288 001651E8 7C A0 2E 70 */ srawi r0, r5, 5
/* 8016828C 001651EC 7C C0 01 94 */ addze r6, r0
/* 80168290 001651F0 54 A0 D8 08 */ slwi r0, r5, 0x1b
/* 80168294 001651F4 54 A5 0F FE */ srwi r5, r5, 0x1f
/* 80168298 001651F8 7C 05 00 50 */ subf r0, r5, r0
/* 8016829C 001651FC 54 C7 10 3A */ slwi r7, r6, 2
/* 801682A0 00165200 54 00 28 3E */ rotlwi r0, r0, 5
/* 801682A4 00165204 7C C3 38 2E */ lwzx r6, r3, r7
/* 801682A8 00165208 7C 00 2A 14 */ add r0, r0, r5
/* 801682AC 0016520C 7D 00 00 30 */ slw r0, r8, r0
/* 801682B0 00165210 7C C0 03 78 */ or r0, r6, r0
/* 801682B4 00165214 7C 03 39 2E */ stwx r0, r3, r7
/* 801682B8 00165218 48 00 00 38 */ b lbl_801682F0
lbl_801682BC:
/* 801682BC 0016521C 7C A4 FA 14 */ add r5, r4, r31
/* 801682C0 00165220 7C A0 2E 70 */ srawi r0, r5, 5
/* 801682C4 00165224 7C C0 01 94 */ addze r6, r0
/* 801682C8 00165228 54 A0 D8 08 */ slwi r0, r5, 0x1b
/* 801682CC 0016522C 54 A5 0F FE */ srwi r5, r5, 0x1f
/* 801682D0 00165230 7C 05 00 50 */ subf r0, r5, r0
/* 801682D4 00165234 54 C7 10 3A */ slwi r7, r6, 2
/* 801682D8 00165238 54 00 28 3E */ rotlwi r0, r0, 5
/* 801682DC 0016523C 7C C3 38 2E */ lwzx r6, r3, r7
/* 801682E0 00165240 7C 00 2A 14 */ add r0, r0, r5
/* 801682E4 00165244 7D 00 00 30 */ slw r0, r8, r0
/* 801682E8 00165248 7C C0 00 78 */ andc r0, r6, r0
/* 801682EC 0016524C 7C 03 39 2E */ stwx r0, r3, r7
lbl_801682F0:
/* 801682F0 00165250 38 84 FF FF */ addi r4, r4, -1
/* 801682F4 00165254 42 00 FF 58 */ bdnz lbl_8016824C
lbl_801682F8:
/* 801682F8 00165258 80 1D 00 00 */ lwz r0, 0(r29)
/* 801682FC 0016525C 7C 00 FA 14 */ add r0, r0, r31
/* 80168300 00165260 90 1D 00 00 */ stw r0, 0(r29)
/* 80168304 00165264 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80168308 00165268 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8016830C 0016526C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80168310 00165270 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80168314 00165274 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80168318 00165278 7C 08 03 A6 */ mtlr r0
/* 8016831C 0016527C 38 21 00 20 */ addi r1, r1, 0x20
/* 80168320 00165280 4E 80 00 20 */ blr
.global IsMapped__13CMapWorldInfoCF7TAreaId
IsMapped__13CMapWorldInfoCF7TAreaId:
/* 80168324 00165284 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80168328 00165288 7C 08 02 A6 */ mflr r0
/* 8016832C 0016528C 90 01 00 54 */ stw r0, 0x54(r1)
/* 80168330 00165290 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80168334 00165294 7C 9F 23 78 */ mr r31, r4
/* 80168338 00165298 93 C1 00 48 */ stw r30, 0x48(r1)
/* 8016833C 0016529C 7C 7E 1B 78 */ mr r30, r3
/* 80168340 001652A0 80 64 00 00 */ lwz r3, 0(r4)
/* 80168344 001652A4 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 80168348 001652A8 38 63 00 01 */ addi r3, r3, 1
/* 8016834C 001652AC 7C 03 00 00 */ cmpw r3, r0
/* 80168350 001652B0 40 81 00 80 */ ble lbl_801683D0
/* 80168354 001652B4 54 60 D8 08 */ slwi r0, r3, 0x1b
/* 80168358 001652B8 54 64 0F FE */ srwi r4, r3, 0x1f
/* 8016835C 001652BC 7C 04 00 50 */ subf r0, r4, r0
/* 80168360 001652C0 7C 65 2E 70 */ srawi r5, r3, 5
/* 80168364 001652C4 54 00 28 3E */ rotlwi r0, r0, 5
/* 80168368 001652C8 38 7E 00 18 */ addi r3, r30, 0x18
/* 8016836C 001652CC 7C 80 22 14 */ add r4, r0, r4
/* 80168370 001652D0 7C A5 01 94 */ addze r5, r5
/* 80168374 001652D4 7C 04 00 D0 */ neg r0, r4
/* 80168378 001652D8 7C 00 23 78 */ or r0, r0, r4
/* 8016837C 001652DC 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80168380 001652E0 7C 85 02 14 */ add r4, r5, r0
/* 80168384 001652E4 4B EF B7 A1 */ bl "reserve__Q24rstl37vector<Ui,Q24rstl17rmemory_allocator>Fi"
/* 80168388 001652E8 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 8016838C 001652EC 38 7E 00 14 */ addi r3, r30, 0x14
/* 80168390 001652F0 80 FE 00 14 */ lwz r7, 0x14(r30)
/* 80168394 001652F4 38 81 00 30 */ addi r4, r1, 0x30
/* 80168398 001652F8 80 BF 00 00 */ lwz r5, 0(r31)
/* 8016839C 001652FC 38 C0 00 00 */ li r6, 0
/* 801683A0 00165300 90 01 00 18 */ stw r0, 0x18(r1)
/* 801683A4 00165304 7C A7 28 50 */ subf r5, r7, r5
/* 801683A8 00165308 90 01 00 14 */ stw r0, 0x14(r1)
/* 801683AC 0016530C 38 A5 00 01 */ addi r5, r5, 1
/* 801683B0 00165310 90 01 00 10 */ stw r0, 0x10(r1)
/* 801683B4 00165314 90 01 00 24 */ stw r0, 0x24(r1)
/* 801683B8 00165318 90 E1 00 28 */ stw r7, 0x28(r1)
/* 801683BC 0016531C 90 01 00 2C */ stw r0, 0x2c(r1)
/* 801683C0 00165320 90 01 00 30 */ stw r0, 0x30(r1)
/* 801683C4 00165324 90 E1 00 34 */ stw r7, 0x34(r1)
/* 801683C8 00165328 90 01 00 38 */ stw r0, 0x38(r1)
/* 801683CC 0016532C 4B FF FA D1 */ bl sub_80167e9c
lbl_801683D0:
/* 801683D0 00165330 80 9F 00 00 */ lwz r4, 0(r31)
/* 801683D4 00165334 38 A0 00 01 */ li r5, 1
/* 801683D8 00165338 80 DE 00 24 */ lwz r6, 0x24(r30)
/* 801683DC 0016533C 7C 83 2E 70 */ srawi r3, r4, 5
/* 801683E0 00165340 54 80 D8 08 */ slwi r0, r4, 0x1b
/* 801683E4 00165344 7C 63 01 94 */ addze r3, r3
/* 801683E8 00165348 54 84 0F FE */ srwi r4, r4, 0x1f
/* 801683EC 0016534C 54 63 10 3A */ slwi r3, r3, 2
/* 801683F0 00165350 7C C6 1A 14 */ add r6, r6, r3
/* 801683F4 00165354 7C 04 00 50 */ subf r0, r4, r0
/* 801683F8 00165358 54 03 28 3E */ rotlwi r3, r0, 5
/* 801683FC 0016535C 80 06 00 00 */ lwz r0, 0(r6)
/* 80168400 00165360 7C 63 22 14 */ add r3, r3, r4
/* 80168404 00165364 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80168408 00165368 7C A4 18 30 */ slw r4, r5, r3
/* 8016840C 0016536C 7C 83 00 38 */ and r3, r4, r0
/* 80168410 00165370 90 C1 00 08 */ stw r6, 8(r1)
/* 80168414 00165374 7C 03 00 D0 */ neg r0, r3
/* 80168418 00165378 7C 00 1B 78 */ or r0, r0, r3
/* 8016841C 0016537C 90 C1 00 1C */ stw r6, 0x1c(r1)
/* 80168420 00165380 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80168424 00165384 90 81 00 20 */ stw r4, 0x20(r1)
/* 80168428 00165388 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8016842C 0016538C 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 80168430 00165390 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80168434 00165394 7C 08 03 A6 */ mtlr r0
/* 80168438 00165398 38 21 00 50 */ addi r1, r1, 0x50
/* 8016843C 0016539C 4E 80 00 20 */ blr
.global IsWorldVisible__13CMapWorldInfoCF7TAreaId
IsWorldVisible__13CMapWorldInfoCF7TAreaId:
/* 80168440 001653A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80168444 001653A4 7C 08 02 A6 */ mflr r0
/* 80168448 001653A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8016844C 001653AC 88 03 00 38 */ lbz r0, 0x38(r3)
/* 80168450 001653B0 28 00 00 00 */ cmplwi r0, 0
/* 80168454 001653B4 41 82 00 0C */ beq lbl_80168460
/* 80168458 001653B8 38 60 00 01 */ li r3, 1
/* 8016845C 001653BC 48 00 00 14 */ b lbl_80168470
lbl_80168460:
/* 80168460 001653C0 80 04 00 00 */ lwz r0, 0(r4)
/* 80168464 001653C4 38 81 00 08 */ addi r4, r1, 8
/* 80168468 001653C8 90 01 00 08 */ stw r0, 8(r1)
/* 8016846C 001653CC 4B FF FE B9 */ bl IsMapped__13CMapWorldInfoCF7TAreaId
lbl_80168470:
/* 80168470 001653D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80168474 001653D4 7C 08 03 A6 */ mtlr r0
/* 80168478 001653D8 38 21 00 10 */ addi r1, r1, 0x10
/* 8016847C 001653DC 4E 80 00 20 */ blr
.global SetIsMapped__13CMapWorldInfoCF7TAreaId
SetIsMapped__13CMapWorldInfoCF7TAreaId:
/* 80168480 001653E0 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80168484 001653E4 7C 08 02 A6 */ mflr r0
/* 80168488 001653E8 90 01 00 54 */ stw r0, 0x54(r1)
/* 8016848C 001653EC 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80168490 001653F0 7C BF 2B 78 */ mr r31, r5
/* 80168494 001653F4 93 C1 00 48 */ stw r30, 0x48(r1)
/* 80168498 001653F8 7C 9E 23 78 */ mr r30, r4
/* 8016849C 001653FC 93 A1 00 44 */ stw r29, 0x44(r1)
/* 801684A0 00165400 7C 7D 1B 78 */ mr r29, r3
/* 801684A4 00165404 80 64 00 00 */ lwz r3, 0(r4)
/* 801684A8 00165408 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 801684AC 0016540C 38 63 00 01 */ addi r3, r3, 1
/* 801684B0 00165410 7C 03 00 00 */ cmpw r3, r0
/* 801684B4 00165414 40 81 00 80 */ ble lbl_80168534
/* 801684B8 00165418 54 60 D8 08 */ slwi r0, r3, 0x1b
/* 801684BC 0016541C 54 64 0F FE */ srwi r4, r3, 0x1f
/* 801684C0 00165420 7C 04 00 50 */ subf r0, r4, r0
/* 801684C4 00165424 7C 65 2E 70 */ srawi r5, r3, 5
/* 801684C8 00165428 54 00 28 3E */ rotlwi r0, r0, 5
/* 801684CC 0016542C 38 7D 00 18 */ addi r3, r29, 0x18
/* 801684D0 00165430 7C 80 22 14 */ add r4, r0, r4
/* 801684D4 00165434 7C A5 01 94 */ addze r5, r5
/* 801684D8 00165438 7C 04 00 D0 */ neg r0, r4
/* 801684DC 0016543C 7C 00 23 78 */ or r0, r0, r4
/* 801684E0 00165440 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801684E4 00165444 7C 85 02 14 */ add r4, r5, r0
/* 801684E8 00165448 4B EF B6 3D */ bl "reserve__Q24rstl37vector<Ui,Q24rstl17rmemory_allocator>Fi"
/* 801684EC 0016544C 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 801684F0 00165450 38 7D 00 14 */ addi r3, r29, 0x14
/* 801684F4 00165454 80 FD 00 14 */ lwz r7, 0x14(r29)
/* 801684F8 00165458 38 81 00 30 */ addi r4, r1, 0x30
/* 801684FC 0016545C 80 BE 00 00 */ lwz r5, 0(r30)
/* 80168500 00165460 38 C0 00 00 */ li r6, 0
/* 80168504 00165464 90 01 00 18 */ stw r0, 0x18(r1)
/* 80168508 00165468 7C A7 28 50 */ subf r5, r7, r5
/* 8016850C 0016546C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168510 00165470 38 A5 00 01 */ addi r5, r5, 1
/* 80168514 00165474 90 01 00 10 */ stw r0, 0x10(r1)
/* 80168518 00165478 90 01 00 24 */ stw r0, 0x24(r1)
/* 8016851C 0016547C 90 E1 00 28 */ stw r7, 0x28(r1)
/* 80168520 00165480 90 01 00 2C */ stw r0, 0x2c(r1)
/* 80168524 00165484 90 01 00 30 */ stw r0, 0x30(r1)
/* 80168528 00165488 90 E1 00 34 */ stw r7, 0x34(r1)
/* 8016852C 0016548C 90 01 00 38 */ stw r0, 0x38(r1)
/* 80168530 00165490 4B FF F9 6D */ bl sub_80167e9c
lbl_80168534:
/* 80168534 00165494 80 DE 00 00 */ lwz r6, 0(r30)
/* 80168538 00165498 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 8016853C 0016549C 80 FD 00 24 */ lwz r7, 0x24(r29)
/* 80168540 001654A0 38 A0 00 01 */ li r5, 1
/* 80168544 001654A4 54 C4 D8 08 */ slwi r4, r6, 0x1b
/* 80168548 001654A8 54 C3 0F FE */ srwi r3, r6, 0x1f
/* 8016854C 001654AC 7C 03 20 50 */ subf r0, r3, r4
/* 80168550 001654B0 7C C6 2E 70 */ srawi r6, r6, 5
/* 80168554 001654B4 7C 86 01 94 */ addze r4, r6
/* 80168558 001654B8 54 00 28 3E */ rotlwi r0, r0, 5
/* 8016855C 001654BC 54 84 10 3A */ slwi r4, r4, 2
/* 80168560 001654C0 7C E7 22 14 */ add r7, r7, r4
/* 80168564 001654C4 7C 00 1A 14 */ add r0, r0, r3
/* 80168568 001654C8 7C A4 00 30 */ slw r4, r5, r0
/* 8016856C 001654CC 90 E1 00 0C */ stw r7, 0xc(r1)
/* 80168570 001654D0 90 E1 00 08 */ stw r7, 8(r1)
/* 80168574 001654D4 90 E1 00 1C */ stw r7, 0x1c(r1)
/* 80168578 001654D8 90 81 00 20 */ stw r4, 0x20(r1)
/* 8016857C 001654DC 41 82 00 14 */ beq lbl_80168590
/* 80168580 001654E0 80 07 00 00 */ lwz r0, 0(r7)
/* 80168584 001654E4 7C 00 23 78 */ or r0, r0, r4
/* 80168588 001654E8 90 07 00 00 */ stw r0, 0(r7)
/* 8016858C 001654EC 48 00 00 10 */ b lbl_8016859C
lbl_80168590:
/* 80168590 001654F0 80 67 00 00 */ lwz r3, 0(r7)
/* 80168594 001654F4 7C 60 20 78 */ andc r0, r3, r4
/* 80168598 001654F8 90 07 00 00 */ stw r0, 0(r7)
lbl_8016859C:
/* 8016859C 001654FC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801685A0 00165500 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 801685A4 00165504 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 801685A8 00165508 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 801685AC 0016550C 7C 08 03 A6 */ mtlr r0
/* 801685B0 00165510 38 21 00 50 */ addi r1, r1, 0x50
/* 801685B4 00165514 4E 80 00 20 */ blr
.global SetAreaVisited__13CMapWorldInfoF7TAreaIdb
SetAreaVisited__13CMapWorldInfoF7TAreaIdb:
/* 801685B8 00165518 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801685BC 0016551C 7C 08 02 A6 */ mflr r0
/* 801685C0 00165520 90 01 00 54 */ stw r0, 0x54(r1)
/* 801685C4 00165524 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 801685C8 00165528 7C BF 2B 78 */ mr r31, r5
/* 801685CC 0016552C 93 C1 00 48 */ stw r30, 0x48(r1)
/* 801685D0 00165530 7C 9E 23 78 */ mr r30, r4
/* 801685D4 00165534 93 A1 00 44 */ stw r29, 0x44(r1)
/* 801685D8 00165538 7C 7D 1B 78 */ mr r29, r3
/* 801685DC 0016553C 80 64 00 00 */ lwz r3, 0(r4)
/* 801685E0 00165540 80 1D 00 00 */ lwz r0, 0(r29)
/* 801685E4 00165544 38 63 00 01 */ addi r3, r3, 1
/* 801685E8 00165548 7C 03 00 00 */ cmpw r3, r0
/* 801685EC 0016554C 40 81 00 80 */ ble lbl_8016866C
/* 801685F0 00165550 54 60 D8 08 */ slwi r0, r3, 0x1b
/* 801685F4 00165554 54 64 0F FE */ srwi r4, r3, 0x1f
/* 801685F8 00165558 7C 04 00 50 */ subf r0, r4, r0
/* 801685FC 0016555C 7C 65 2E 70 */ srawi r5, r3, 5
/* 80168600 00165560 54 00 28 3E */ rotlwi r0, r0, 5
/* 80168604 00165564 38 7D 00 04 */ addi r3, r29, 4
/* 80168608 00165568 7C 80 22 14 */ add r4, r0, r4
/* 8016860C 0016556C 7C A5 01 94 */ addze r5, r5
/* 80168610 00165570 7C 04 00 D0 */ neg r0, r4
/* 80168614 00165574 7C 00 23 78 */ or r0, r0, r4
/* 80168618 00165578 54 00 0F FE */ srwi r0, r0, 0x1f
/* 8016861C 0016557C 7C 85 02 14 */ add r4, r5, r0
/* 80168620 00165580 4B EF B5 05 */ bl "reserve__Q24rstl37vector<Ui,Q24rstl17rmemory_allocator>Fi"
/* 80168624 00165584 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 80168628 00165588 7F A3 EB 78 */ mr r3, r29
/* 8016862C 0016558C 80 FD 00 00 */ lwz r7, 0(r29)
/* 80168630 00165590 38 81 00 30 */ addi r4, r1, 0x30
/* 80168634 00165594 80 BE 00 00 */ lwz r5, 0(r30)
/* 80168638 00165598 38 C0 00 00 */ li r6, 0
/* 8016863C 0016559C 90 01 00 18 */ stw r0, 0x18(r1)
/* 80168640 001655A0 7C A7 28 50 */ subf r5, r7, r5
/* 80168644 001655A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168648 001655A8 38 A5 00 01 */ addi r5, r5, 1
/* 8016864C 001655AC 90 01 00 10 */ stw r0, 0x10(r1)
/* 80168650 001655B0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80168654 001655B4 90 E1 00 28 */ stw r7, 0x28(r1)
/* 80168658 001655B8 90 01 00 2C */ stw r0, 0x2c(r1)
/* 8016865C 001655BC 90 01 00 30 */ stw r0, 0x30(r1)
/* 80168660 001655C0 90 E1 00 34 */ stw r7, 0x34(r1)
/* 80168664 001655C4 90 01 00 38 */ stw r0, 0x38(r1)
/* 80168668 001655C8 4B FF F8 35 */ bl sub_80167e9c
lbl_8016866C:
/* 8016866C 001655CC 80 DE 00 00 */ lwz r6, 0(r30)
/* 80168670 001655D0 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 80168674 001655D4 80 FD 00 10 */ lwz r7, 0x10(r29)
/* 80168678 001655D8 38 A0 00 01 */ li r5, 1
/* 8016867C 001655DC 54 C4 D8 08 */ slwi r4, r6, 0x1b
/* 80168680 001655E0 54 C3 0F FE */ srwi r3, r6, 0x1f
/* 80168684 001655E4 7C 03 20 50 */ subf r0, r3, r4
/* 80168688 001655E8 7C C6 2E 70 */ srawi r6, r6, 5
/* 8016868C 001655EC 7C 86 01 94 */ addze r4, r6
/* 80168690 001655F0 54 00 28 3E */ rotlwi r0, r0, 5
/* 80168694 001655F4 54 84 10 3A */ slwi r4, r4, 2
/* 80168698 001655F8 7C E7 22 14 */ add r7, r7, r4
/* 8016869C 001655FC 7C 00 1A 14 */ add r0, r0, r3
/* 801686A0 00165600 7C A4 00 30 */ slw r4, r5, r0
/* 801686A4 00165604 90 E1 00 0C */ stw r7, 0xc(r1)
/* 801686A8 00165608 90 E1 00 08 */ stw r7, 8(r1)
/* 801686AC 0016560C 90 E1 00 1C */ stw r7, 0x1c(r1)
/* 801686B0 00165610 90 81 00 20 */ stw r4, 0x20(r1)
/* 801686B4 00165614 41 82 00 14 */ beq lbl_801686C8
/* 801686B8 00165618 80 07 00 00 */ lwz r0, 0(r7)
/* 801686BC 0016561C 7C 00 23 78 */ or r0, r0, r4
/* 801686C0 00165620 90 07 00 00 */ stw r0, 0(r7)
/* 801686C4 00165624 48 00 00 10 */ b lbl_801686D4
lbl_801686C8:
/* 801686C8 00165628 80 67 00 00 */ lwz r3, 0(r7)
/* 801686CC 0016562C 7C 60 20 78 */ andc r0, r3, r4
/* 801686D0 00165630 90 07 00 00 */ stw r0, 0(r7)
lbl_801686D4:
/* 801686D4 00165634 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801686D8 00165638 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 801686DC 0016563C 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 801686E0 00165640 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 801686E4 00165644 7C 08 03 A6 */ mtlr r0
/* 801686E8 00165648 38 21 00 50 */ addi r1, r1, 0x50
/* 801686EC 0016564C 4E 80 00 20 */ blr
.global IsDoorVisited__13CMapWorldInfoCF9TEditorId
IsDoorVisited__13CMapWorldInfoCF9TEditorId:
/* 801686F0 00165650 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801686F4 00165654 7C 08 02 A6 */ mflr r0
/* 801686F8 00165658 90 01 00 34 */ stw r0, 0x34(r1)
/* 801686FC 0016565C 38 E1 00 10 */ addi r7, r1, 0x10
/* 80168700 00165660 88 A1 00 08 */ lbz r5, 8(r1)
/* 80168704 00165664 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80168708 00165668 7C 9F 23 78 */ mr r31, r4
/* 8016870C 0016566C 7F E6 FB 78 */ mr r6, r31
/* 80168710 00165670 38 81 00 20 */ addi r4, r1, 0x20
/* 80168714 00165674 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80168718 00165678 7C 7E 1B 78 */ mr r30, r3
/* 8016871C 0016567C 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 80168720 00165680 81 03 00 34 */ lwz r8, 0x34(r3)
/* 80168724 00165684 38 61 00 24 */ addi r3, r1, 0x24
/* 80168728 00165688 54 00 18 38 */ slwi r0, r0, 3
/* 8016872C 0016568C 98 A1 00 0C */ stb r5, 0xc(r1)
/* 80168730 00165690 7C 08 02 14 */ add r0, r8, r0
/* 80168734 00165694 98 A1 00 10 */ stb r5, 0x10(r1)
/* 80168738 00165698 38 A1 00 18 */ addi r5, r1, 0x18
/* 8016873C 0016569C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168740 001656A0 90 01 00 18 */ stw r0, 0x18(r1)
/* 80168744 001656A4 91 01 00 1C */ stw r8, 0x1c(r1)
/* 80168748 001656A8 91 01 00 20 */ stw r8, 0x20(r1)
/* 8016874C 001656AC 48 00 0E 49 */ bl "lower_bound<Q24rstl144pointer_iterator<Q24rstl18pair<9TEditorId,b>,Q24rstl62vector<Q24rstl18pair<9TEditorId,b>,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,9TEditorId,Q24rstl73pair_sorter_finder<Q24rstl18pair<9TEditorId,b>,Q24rstl16less<9TEditorId>>>__4rstlFQ24rstl144pointer_iterator<Q24rstl18pair<9TEditorId,b>,Q24rstl62vector<Q24rstl18pair<9TEditorId,b>,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl144pointer_iterator<Q24rstl18pair<9TEditorId,b>,Q24rstl62vector<Q24rstl18pair<9T"
/* 80168750 001656B0 80 1E 00 2C */ lwz r0, 0x2c(r30)
/* 80168754 001656B4 80 7E 00 34 */ lwz r3, 0x34(r30)
/* 80168758 001656B8 54 00 18 38 */ slwi r0, r0, 3
/* 8016875C 001656BC 80 81 00 24 */ lwz r4, 0x24(r1)
/* 80168760 001656C0 7C 03 02 14 */ add r0, r3, r0
/* 80168764 001656C4 7C 04 00 40 */ cmplw r4, r0
/* 80168768 001656C8 40 82 00 0C */ bne lbl_80168774
/* 8016876C 001656CC 38 60 00 00 */ li r3, 0
/* 80168770 001656D0 48 00 00 28 */ b lbl_80168798
lbl_80168774:
/* 80168774 001656D4 80 64 00 00 */ lwz r3, 0(r4)
/* 80168778 001656D8 80 1F 00 00 */ lwz r0, 0(r31)
/* 8016877C 001656DC 54 63 01 BE */ clrlwi r3, r3, 6
/* 80168780 001656E0 54 00 01 BE */ clrlwi r0, r0, 6
/* 80168784 001656E4 7C 03 00 40 */ cmplw r3, r0
/* 80168788 001656E8 41 82 00 0C */ beq lbl_80168794
/* 8016878C 001656EC 38 60 00 00 */ li r3, 0
/* 80168790 001656F0 48 00 00 08 */ b lbl_80168798
lbl_80168794:
/* 80168794 001656F4 88 64 00 04 */ lbz r3, 4(r4)
lbl_80168798:
/* 80168798 001656F8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8016879C 001656FC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801687A0 00165700 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801687A4 00165704 7C 08 03 A6 */ mtlr r0
/* 801687A8 00165708 38 21 00 30 */ addi r1, r1, 0x30
/* 801687AC 0016570C 4E 80 00 20 */ blr
.global SetDoorVisited__13CMapWorldInfoF9TEditorIdb
SetDoorVisited__13CMapWorldInfoF9TEditorIdb:
/* 801687B0 00165710 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801687B4 00165714 7C 08 02 A6 */ mflr r0
/* 801687B8 00165718 90 01 00 54 */ stw r0, 0x54(r1)
/* 801687BC 0016571C 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 801687C0 00165720 7C BF 2B 78 */ mr r31, r5
/* 801687C4 00165724 93 C1 00 48 */ stw r30, 0x48(r1)
/* 801687C8 00165728 7C 9E 23 78 */ mr r30, r4
/* 801687CC 0016572C 93 A1 00 44 */ stw r29, 0x44(r1)
/* 801687D0 00165730 7C 7D 1B 78 */ mr r29, r3
/* 801687D4 00165734 80 83 00 2C */ lwz r4, 0x2c(r3)
/* 801687D8 00165738 38 7D 00 28 */ addi r3, r29, 0x28
/* 801687DC 0016573C 38 84 00 01 */ addi r4, r4, 1
/* 801687E0 00165740 48 00 0E 7D */ bl "reserve__Q24rstl62vector<Q24rstl18pair<9TEditorId,b>,Q24rstl17rmemory_allocator>Fi"
/* 801687E4 00165744 89 21 00 08 */ lbz r9, 8(r1)
/* 801687E8 00165748 7F C6 F3 78 */ mr r6, r30
/* 801687EC 0016574C 38 61 00 2C */ addi r3, r1, 0x2c
/* 801687F0 00165750 38 81 00 28 */ addi r4, r1, 0x28
/* 801687F4 00165754 99 21 00 10 */ stb r9, 0x10(r1)
/* 801687F8 00165758 38 A1 00 20 */ addi r5, r1, 0x20
/* 801687FC 0016575C 38 E1 00 10 */ addi r7, r1, 0x10
/* 80168800 00165760 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 80168804 00165764 81 1D 00 34 */ lwz r8, 0x34(r29)
/* 80168808 00165768 54 00 18 38 */ slwi r0, r0, 3
/* 8016880C 0016576C 99 21 00 0C */ stb r9, 0xc(r1)
/* 80168810 00165770 7D 08 02 14 */ add r8, r8, r0
/* 80168814 00165774 91 01 00 20 */ stw r8, 0x20(r1)
/* 80168818 00165778 80 1D 00 34 */ lwz r0, 0x34(r29)
/* 8016881C 0016577C 91 01 00 1C */ stw r8, 0x1c(r1)
/* 80168820 00165780 90 01 00 24 */ stw r0, 0x24(r1)
/* 80168824 00165784 90 01 00 28 */ stw r0, 0x28(r1)
/* 80168828 00165788 48 00 0D 6D */ bl "lower_bound<Q24rstl144pointer_iterator<Q24rstl18pair<9TEditorId,b>,Q24rstl62vector<Q24rstl18pair<9TEditorId,b>,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,9TEditorId,Q24rstl73pair_sorter_finder<Q24rstl18pair<9TEditorId,b>,Q24rstl16less<9TEditorId>>>__4rstlFQ24rstl144pointer_iterator<Q24rstl18pair<9TEditorId,b>,Q24rstl62vector<Q24rstl18pair<9TEditorId,b>,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl144pointer_iterator<Q24rstl18pair<9TEditorId,b>,Q24rstl62vector<Q24rstl18pair<9T"
/* 8016882C 0016578C 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 80168830 00165790 80 7D 00 34 */ lwz r3, 0x34(r29)
/* 80168834 00165794 54 00 18 38 */ slwi r0, r0, 3
/* 80168838 00165798 80 81 00 2C */ lwz r4, 0x2c(r1)
/* 8016883C 0016579C 7C 03 02 14 */ add r0, r3, r0
/* 80168840 001657A0 7C 04 00 40 */ cmplw r4, r0
/* 80168844 001657A4 90 81 00 30 */ stw r4, 0x30(r1)
/* 80168848 001657A8 41 82 00 1C */ beq lbl_80168864
/* 8016884C 001657AC 80 64 00 00 */ lwz r3, 0(r4)
/* 80168850 001657B0 80 1E 00 00 */ lwz r0, 0(r30)
/* 80168854 001657B4 54 63 01 BE */ clrlwi r3, r3, 6
/* 80168858 001657B8 54 00 01 BE */ clrlwi r0, r0, 6
/* 8016885C 001657BC 7C 03 00 40 */ cmplw r3, r0
/* 80168860 001657C0 41 82 00 30 */ beq lbl_80168890
lbl_80168864:
/* 80168864 001657C4 80 9E 00 00 */ lwz r4, 0(r30)
/* 80168868 001657C8 38 61 00 18 */ addi r3, r1, 0x18
/* 8016886C 001657CC 80 01 00 30 */ lwz r0, 0x30(r1)
/* 80168870 001657D0 38 A1 00 14 */ addi r5, r1, 0x14
/* 80168874 001657D4 90 81 00 34 */ stw r4, 0x34(r1)
/* 80168878 001657D8 38 9D 00 28 */ addi r4, r29, 0x28
/* 8016887C 001657DC 38 C1 00 34 */ addi r6, r1, 0x34
/* 80168880 001657E0 9B E1 00 38 */ stb r31, 0x38(r1)
/* 80168884 001657E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168888 001657E8 48 00 00 29 */ bl sub_801688b0
/* 8016888C 001657EC 48 00 00 08 */ b lbl_80168894
lbl_80168890:
/* 80168890 001657F0 9B E4 00 04 */ stb r31, 4(r4)
lbl_80168894:
/* 80168894 001657F4 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80168898 001657F8 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8016889C 001657FC 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 801688A0 00165800 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 801688A4 00165804 7C 08 03 A6 */ mtlr r0
/* 801688A8 00165808 38 21 00 50 */ addi r1, r1, 0x50
/* 801688AC 0016580C 4E 80 00 20 */ blr
.global sub_801688b0
sub_801688b0:
/* 801688B0 00165810 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801688B4 00165814 7C 08 02 A6 */ mflr r0
/* 801688B8 00165818 90 01 00 34 */ stw r0, 0x34(r1)
/* 801688BC 0016581C 38 00 00 00 */ li r0, 0
/* 801688C0 00165820 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801688C4 00165824 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801688C8 00165828 7C 9E 23 78 */ mr r30, r4
/* 801688CC 0016582C 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801688D0 00165830 7C 7D 1B 78 */ mr r29, r3
/* 801688D4 00165834 7F C3 F3 78 */ mr r3, r30
/* 801688D8 00165838 80 84 00 0C */ lwz r4, 0xc(r4)
/* 801688DC 0016583C 80 E5 00 00 */ lwz r7, 0(r5)
/* 801688E0 00165840 38 A0 00 01 */ li r5, 1
/* 801688E4 00165844 90 C1 00 14 */ stw r6, 0x14(r1)
/* 801688E8 00165848 7C 84 38 50 */ subf r4, r4, r7
/* 801688EC 0016584C 90 C1 00 0C */ stw r6, 0xc(r1)
/* 801688F0 00165850 7C 84 1E 70 */ srawi r4, r4, 3
/* 801688F4 00165854 7F E4 01 94 */ addze r31, r4
/* 801688F8 00165858 38 C1 00 0C */ addi r6, r1, 0xc
/* 801688FC 0016585C 90 01 00 18 */ stw r0, 0x18(r1)
/* 80168900 00165860 38 81 00 08 */ addi r4, r1, 8
/* 80168904 00165864 90 01 00 10 */ stw r0, 0x10(r1)
/* 80168908 00165868 90 E1 00 08 */ stw r7, 8(r1)
/* 8016890C 0016586C 48 00 00 31 */ bl sub_8016893c
/* 80168910 00165870 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80168914 00165874 57 E0 18 38 */ slwi r0, r31, 3
/* 80168918 00165878 7C 63 02 14 */ add r3, r3, r0
/* 8016891C 0016587C 90 7D 00 00 */ stw r3, 0(r29)
/* 80168920 00165880 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80168924 00165884 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80168928 00165888 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8016892C 0016588C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80168930 00165890 7C 08 03 A6 */ mtlr r0
/* 80168934 00165894 38 21 00 30 */ addi r1, r1, 0x30
/* 80168938 00165898 4E 80 00 20 */ blr
.global sub_8016893c
sub_8016893c:
/* 8016893C 0016589C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80168940 001658A0 7C 08 02 A6 */ mflr r0
/* 80168944 001658A4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80168948 001658A8 BF 21 00 14 */ stmw r25, 0x14(r1)
/* 8016894C 001658AC 7C 7A 1B 78 */ mr r26, r3
/* 80168950 001658B0 7C 99 23 78 */ mr r25, r4
/* 80168954 001658B4 7C BB 2B 78 */ mr r27, r5
/* 80168958 001658B8 80 63 00 04 */ lwz r3, 4(r3)
/* 8016895C 001658BC 80 9A 00 08 */ lwz r4, 8(r26)
/* 80168960 001658C0 7C A3 DA 14 */ add r5, r3, r27
/* 80168964 001658C4 80 FA 00 0C */ lwz r7, 0xc(r26)
/* 80168968 001658C8 7C 05 20 00 */ cmpw r5, r4
/* 8016896C 001658CC 83 C6 00 00 */ lwz r30, 0(r6)
/* 80168970 001658D0 7C FD 3B 78 */ mr r29, r7
/* 80168974 001658D4 41 81 00 B0 */ bgt lbl_80168A24
/* 80168978 001658D8 80 19 00 00 */ lwz r0, 0(r25)
/* 8016897C 001658DC 57 64 18 38 */ slwi r4, r27, 3
/* 80168980 001658E0 7C 07 00 50 */ subf r0, r7, r0
/* 80168984 001658E4 7C 00 1E 70 */ srawi r0, r0, 3
/* 80168988 001658E8 7C A0 01 94 */ addze r5, r0
/* 8016898C 001658EC 7C 65 18 50 */ subf r3, r5, r3
/* 80168990 001658F0 35 03 FF FF */ addic. r8, r3, -1
/* 80168994 001658F4 54 A0 18 38 */ slwi r0, r5, 3
/* 80168998 001658F8 7C C7 02 14 */ add r6, r7, r0
/* 8016899C 001658FC 55 03 18 38 */ slwi r3, r8, 3
/* 801689A0 00165900 38 08 00 01 */ addi r0, r8, 1
/* 801689A4 00165904 7C 84 1A 14 */ add r4, r4, r3
/* 801689A8 00165908 7C 86 22 14 */ add r4, r6, r4
/* 801689AC 0016590C 7C 09 03 A6 */ mtctr r0
/* 801689B0 00165910 41 80 00 38 */ blt lbl_801689E8
lbl_801689B4:
/* 801689B4 00165914 7C 05 42 14 */ add r0, r5, r8
/* 801689B8 00165918 28 04 00 00 */ cmplwi r4, 0
/* 801689BC 0016591C 80 7A 00 0C */ lwz r3, 0xc(r26)
/* 801689C0 00165920 54 00 18 38 */ slwi r0, r0, 3
/* 801689C4 00165924 7C 63 02 14 */ add r3, r3, r0
/* 801689C8 00165928 41 82 00 14 */ beq lbl_801689DC
/* 801689CC 0016592C 80 03 00 00 */ lwz r0, 0(r3)
/* 801689D0 00165930 90 04 00 00 */ stw r0, 0(r4)
/* 801689D4 00165934 88 03 00 04 */ lbz r0, 4(r3)
/* 801689D8 00165938 98 04 00 04 */ stb r0, 4(r4)
lbl_801689DC:
/* 801689DC 0016593C 38 84 FF F8 */ addi r4, r4, -8
/* 801689E0 00165940 39 08 FF FF */ addi r8, r8, -1
/* 801689E4 00165944 42 00 FF D0 */ bdnz lbl_801689B4
lbl_801689E8:
/* 801689E8 00165948 7F 69 03 A6 */ mtctr r27
/* 801689EC 0016594C 2C 1B 00 00 */ cmpwi r27, 0
/* 801689F0 00165950 40 81 00 24 */ ble lbl_80168A14
lbl_801689F4:
/* 801689F4 00165954 28 06 00 00 */ cmplwi r6, 0
/* 801689F8 00165958 41 82 00 14 */ beq lbl_80168A0C
/* 801689FC 0016595C 80 1E 00 00 */ lwz r0, 0(r30)
/* 80168A00 00165960 90 06 00 00 */ stw r0, 0(r6)
/* 80168A04 00165964 88 1E 00 04 */ lbz r0, 4(r30)
/* 80168A08 00165968 98 06 00 04 */ stb r0, 4(r6)
lbl_80168A0C:
/* 80168A0C 0016596C 38 C6 00 08 */ addi r6, r6, 8
/* 80168A10 00165970 42 00 FF E4 */ bdnz lbl_801689F4
lbl_80168A14:
/* 80168A14 00165974 80 1A 00 04 */ lwz r0, 4(r26)
/* 80168A18 00165978 7C 00 DA 14 */ add r0, r0, r27
/* 80168A1C 0016597C 90 1A 00 04 */ stw r0, 4(r26)
/* 80168A20 00165980 48 00 01 68 */ b lbl_80168B88
lbl_80168A24:
/* 80168A24 00165984 2C 04 00 00 */ cmpwi r4, 0
/* 80168A28 00165988 38 00 00 04 */ li r0, 4
/* 80168A2C 0016598C 41 82 00 08 */ beq lbl_80168A34
/* 80168A30 00165990 54 80 08 3C */ slwi r0, r4, 1
lbl_80168A34:
/* 80168A34 00165994 7C 1C 03 78 */ mr r28, r0
/* 80168A38 00165998 48 00 00 08 */ b lbl_80168A40
lbl_80168A3C:
/* 80168A3C 0016599C 57 9C 08 3C */ slwi r28, r28, 1
lbl_80168A40:
/* 80168A40 001659A0 7C 1C 28 00 */ cmpw r28, r5
/* 80168A44 001659A4 41 80 FF F8 */ blt lbl_80168A3C
/* 80168A48 001659A8 57 83 18 39 */ rlwinm. r3, r28, 3, 0, 0x1c
/* 80168A4C 001659AC 40 82 00 0C */ bne lbl_80168A58
/* 80168A50 001659B0 3B E0 00 00 */ li r31, 0
/* 80168A54 001659B4 48 00 00 18 */ b lbl_80168A6C
lbl_80168A58:
/* 80168A58 001659B8 3C 80 80 3D */ lis r4, lbl_803D0428@ha
/* 80168A5C 001659BC 38 A0 00 00 */ li r5, 0
/* 80168A60 001659C0 38 84 04 28 */ addi r4, r4, lbl_803D0428@l
/* 80168A64 001659C4 48 1A CD B5 */ bl __nwa__FUlPCcPCc
/* 80168A68 001659C8 7C 7F 1B 78 */ mr r31, r3
lbl_80168A6C:
/* 80168A6C 001659CC 80 7A 00 0C */ lwz r3, 0xc(r26)
/* 80168A70 001659D0 7F E6 FB 78 */ mr r6, r31
/* 80168A74 001659D4 80 19 00 00 */ lwz r0, 0(r25)
/* 80168A78 001659D8 38 E0 00 00 */ li r7, 0
/* 80168A7C 001659DC 38 A0 00 00 */ li r5, 0
/* 80168A80 001659E0 7C 03 00 50 */ subf r0, r3, r0
/* 80168A84 001659E4 7C 00 1E 70 */ srawi r0, r0, 3
/* 80168A88 001659E8 7C 80 01 95 */ addze. r4, r0
/* 80168A8C 001659EC 7C 89 03 A6 */ mtctr r4
/* 80168A90 001659F0 40 81 00 34 */ ble lbl_80168AC4
lbl_80168A94:
/* 80168A94 001659F4 80 1A 00 0C */ lwz r0, 0xc(r26)
/* 80168A98 001659F8 28 06 00 00 */ cmplwi r6, 0
/* 80168A9C 001659FC 7C 60 2A 14 */ add r3, r0, r5
/* 80168AA0 00165A00 41 82 00 14 */ beq lbl_80168AB4
/* 80168AA4 00165A04 80 03 00 00 */ lwz r0, 0(r3)
/* 80168AA8 00165A08 90 06 00 00 */ stw r0, 0(r6)
/* 80168AAC 00165A0C 88 03 00 04 */ lbz r0, 4(r3)
/* 80168AB0 00165A10 98 06 00 04 */ stb r0, 4(r6)
lbl_80168AB4:
/* 80168AB4 00165A14 38 C6 00 08 */ addi r6, r6, 8
/* 80168AB8 00165A18 38 E7 00 01 */ addi r7, r7, 1
/* 80168ABC 00165A1C 38 A5 00 08 */ addi r5, r5, 8
/* 80168AC0 00165A20 42 00 FF D4 */ bdnz lbl_80168A94
lbl_80168AC4:
/* 80168AC4 00165A24 54 E0 18 38 */ slwi r0, r7, 3
/* 80168AC8 00165A28 7C 7F 02 14 */ add r3, r31, r0
/* 80168ACC 00165A2C 7F 69 03 A6 */ mtctr r27
/* 80168AD0 00165A30 2C 1B 00 00 */ cmpwi r27, 0
/* 80168AD4 00165A34 40 81 00 28 */ ble lbl_80168AFC
lbl_80168AD8:
/* 80168AD8 00165A38 28 03 00 00 */ cmplwi r3, 0
/* 80168ADC 00165A3C 41 82 00 14 */ beq lbl_80168AF0
/* 80168AE0 00165A40 80 1E 00 00 */ lwz r0, 0(r30)
/* 80168AE4 00165A44 90 03 00 00 */ stw r0, 0(r3)
/* 80168AE8 00165A48 88 1E 00 04 */ lbz r0, 4(r30)
/* 80168AEC 00165A4C 98 03 00 04 */ stb r0, 4(r3)
lbl_80168AF0:
/* 80168AF0 00165A50 38 63 00 08 */ addi r3, r3, 8
/* 80168AF4 00165A54 38 E7 00 01 */ addi r7, r7, 1
/* 80168AF8 00165A58 42 00 FF E0 */ bdnz lbl_80168AD8
lbl_80168AFC:
/* 80168AFC 00165A5C 54 E0 18 38 */ slwi r0, r7, 3
/* 80168B00 00165A60 7C 86 23 78 */ mr r6, r4
/* 80168B04 00165A64 54 84 18 38 */ slwi r4, r4, 3
/* 80168B08 00165A68 7C BF 02 14 */ add r5, r31, r0
/* 80168B0C 00165A6C 48 00 00 30 */ b lbl_80168B3C
lbl_80168B10:
/* 80168B10 00165A70 80 1A 00 0C */ lwz r0, 0xc(r26)
/* 80168B14 00165A74 28 05 00 00 */ cmplwi r5, 0
/* 80168B18 00165A78 7C 60 22 14 */ add r3, r0, r4
/* 80168B1C 00165A7C 41 82 00 14 */ beq lbl_80168B30
/* 80168B20 00165A80 80 03 00 00 */ lwz r0, 0(r3)
/* 80168B24 00165A84 90 05 00 00 */ stw r0, 0(r5)
/* 80168B28 00165A88 88 03 00 04 */ lbz r0, 4(r3)
/* 80168B2C 00165A8C 98 05 00 04 */ stb r0, 4(r5)
lbl_80168B30:
/* 80168B30 00165A90 38 A5 00 08 */ addi r5, r5, 8
/* 80168B34 00165A94 38 84 00 08 */ addi r4, r4, 8
/* 80168B38 00165A98 38 C6 00 01 */ addi r6, r6, 1
lbl_80168B3C:
/* 80168B3C 00165A9C 80 1A 00 04 */ lwz r0, 4(r26)
/* 80168B40 00165AA0 7C 06 00 00 */ cmpw r6, r0
/* 80168B44 00165AA4 41 80 FF CC */ blt lbl_80168B10
/* 80168B48 00165AA8 54 00 18 38 */ slwi r0, r0, 3
/* 80168B4C 00165AAC 7F A3 EB 78 */ mr r3, r29
/* 80168B50 00165AB0 7C 1D 02 14 */ add r0, r29, r0
/* 80168B54 00165AB4 48 00 00 08 */ b lbl_80168B5C
lbl_80168B58:
/* 80168B58 00165AB8 38 63 00 08 */ addi r3, r3, 8
lbl_80168B5C:
/* 80168B5C 00165ABC 7C 03 00 40 */ cmplw r3, r0
/* 80168B60 00165AC0 40 82 FF F8 */ bne lbl_80168B58
/* 80168B64 00165AC4 80 7A 00 0C */ lwz r3, 0xc(r26)
/* 80168B68 00165AC8 28 03 00 00 */ cmplwi r3, 0
/* 80168B6C 00165ACC 41 82 00 08 */ beq lbl_80168B74
/* 80168B70 00165AD0 48 1A CD C1 */ bl Free__7CMemoryFPCv
lbl_80168B74:
/* 80168B74 00165AD4 93 FA 00 0C */ stw r31, 0xc(r26)
/* 80168B78 00165AD8 93 9A 00 08 */ stw r28, 8(r26)
/* 80168B7C 00165ADC 80 1A 00 04 */ lwz r0, 4(r26)
/* 80168B80 00165AE0 7C 00 DA 14 */ add r0, r0, r27
/* 80168B84 00165AE4 90 1A 00 04 */ stw r0, 4(r26)
lbl_80168B88:
/* 80168B88 00165AE8 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 80168B8C 00165AEC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80168B90 00165AF0 7C 08 03 A6 */ mtlr r0
/* 80168B94 00165AF4 38 21 00 30 */ addi r1, r1, 0x30
/* 80168B98 00165AF8 4E 80 00 20 */ blr
.global PutTo__13CMapWorldInfoCFR13COutputStreamRC18CWorldSaveGameInfoi
PutTo__13CMapWorldInfoCFR13COutputStreamRC18CWorldSaveGameInfoi:
/* 80168B9C 00165AFC 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 80168BA0 00165B00 7C 08 02 A6 */ mflr r0
/* 80168BA4 00165B04 90 01 00 94 */ stw r0, 0x94(r1)
/* 80168BA8 00165B08 BF 61 00 7C */ stmw r27, 0x7c(r1)
/* 80168BAC 00165B0C 7C 7B 1B 78 */ mr r27, r3
/* 80168BB0 00165B10 7C 9C 23 78 */ mr r28, r4
/* 80168BB4 00165B14 7C BD 2B 78 */ mr r29, r5
/* 80168BB8 00165B18 7C C4 33 78 */ mr r4, r6
/* 80168BBC 00165B1C 80 6D A0 84 */ lwz r3, gpMemoryCard@sda21(r13)
/* 80168BC0 00165B20 48 0E 03 4D */ bl GetSaveWorldMemory__11CMemoryCardCFi
/* 80168BC4 00165B24 83 E3 00 08 */ lwz r31, 8(r3)
/* 80168BC8 00165B28 3B C0 00 00 */ li r30, 0
/* 80168BCC 00165B2C 48 00 00 88 */ b lbl_80168C54
lbl_80168BD0:
/* 80168BD0 00165B30 80 1B 00 00 */ lwz r0, 0(r27)
/* 80168BD4 00165B34 7C 1E 00 00 */ cmpw r30, r0
/* 80168BD8 00165B38 40 80 00 68 */ bge lbl_80168C40
/* 80168BDC 00165B3C 7F C3 2E 70 */ srawi r3, r30, 5
/* 80168BE0 00165B40 57 C0 D8 08 */ slwi r0, r30, 0x1b
/* 80168BE4 00165B44 7C 83 01 94 */ addze r4, r3
/* 80168BE8 00165B48 57 C3 0F FE */ srwi r3, r30, 0x1f
/* 80168BEC 00165B4C 7C 03 00 50 */ subf r0, r3, r0
/* 80168BF0 00165B50 80 FB 00 10 */ lwz r7, 0x10(r27)
/* 80168BF4 00165B54 54 85 10 3A */ slwi r5, r4, 2
/* 80168BF8 00165B58 38 80 00 01 */ li r4, 1
/* 80168BFC 00165B5C 7C E7 2A 14 */ add r7, r7, r5
/* 80168C00 00165B60 54 00 28 3E */ rotlwi r0, r0, 5
/* 80168C04 00165B64 7C 60 1A 14 */ add r3, r0, r3
/* 80168C08 00165B68 80 07 00 00 */ lwz r0, 0(r7)
/* 80168C0C 00165B6C 7C 86 18 30 */ slw r6, r4, r3
/* 80168C10 00165B70 90 E1 00 34 */ stw r7, 0x34(r1)
/* 80168C14 00165B74 7C C4 00 38 */ and r4, r6, r0
/* 80168C18 00165B78 7F 83 E3 78 */ mr r3, r28
/* 80168C1C 00165B7C 7C 04 00 D0 */ neg r0, r4
/* 80168C20 00165B80 90 E1 00 30 */ stw r7, 0x30(r1)
/* 80168C24 00165B84 7C 00 23 78 */ or r0, r0, r4
/* 80168C28 00165B88 38 A0 00 01 */ li r5, 1
/* 80168C2C 00165B8C 90 E1 00 58 */ stw r7, 0x58(r1)
/* 80168C30 00165B90 54 04 0F FE */ srwi r4, r0, 0x1f
/* 80168C34 00165B94 90 C1 00 5C */ stw r6, 0x5c(r1)
/* 80168C38 00165B98 48 1D 67 85 */ bl WriteBits__13COutputStreamFUiUi
/* 80168C3C 00165B9C 48 00 00 14 */ b lbl_80168C50
lbl_80168C40:
/* 80168C40 00165BA0 7F 83 E3 78 */ mr r3, r28
/* 80168C44 00165BA4 38 80 00 00 */ li r4, 0
/* 80168C48 00165BA8 38 A0 00 01 */ li r5, 1
/* 80168C4C 00165BAC 48 1D 67 71 */ bl WriteBits__13COutputStreamFUiUi
lbl_80168C50:
/* 80168C50 00165BB0 3B DE 00 01 */ addi r30, r30, 1
lbl_80168C54:
/* 80168C54 00165BB4 7C 1E F8 00 */ cmpw r30, r31
/* 80168C58 00165BB8 41 80 FF 78 */ blt lbl_80168BD0
/* 80168C5C 00165BBC 3B C0 00 00 */ li r30, 0
/* 80168C60 00165BC0 48 00 00 88 */ b lbl_80168CE8
lbl_80168C64:
/* 80168C64 00165BC4 80 1B 00 14 */ lwz r0, 0x14(r27)
/* 80168C68 00165BC8 7C 1E 00 00 */ cmpw r30, r0
/* 80168C6C 00165BCC 40 80 00 68 */ bge lbl_80168CD4
/* 80168C70 00165BD0 7F C3 2E 70 */ srawi r3, r30, 5
/* 80168C74 00165BD4 57 C0 D8 08 */ slwi r0, r30, 0x1b
/* 80168C78 00165BD8 7C 83 01 94 */ addze r4, r3
/* 80168C7C 00165BDC 57 C3 0F FE */ srwi r3, r30, 0x1f
/* 80168C80 00165BE0 7C 03 00 50 */ subf r0, r3, r0
/* 80168C84 00165BE4 80 FB 00 24 */ lwz r7, 0x24(r27)
/* 80168C88 00165BE8 54 85 10 3A */ slwi r5, r4, 2
/* 80168C8C 00165BEC 38 80 00 01 */ li r4, 1
/* 80168C90 00165BF0 7C E7 2A 14 */ add r7, r7, r5
/* 80168C94 00165BF4 54 00 28 3E */ rotlwi r0, r0, 5
/* 80168C98 00165BF8 7C 60 1A 14 */ add r3, r0, r3
/* 80168C9C 00165BFC 80 07 00 00 */ lwz r0, 0(r7)
/* 80168CA0 00165C00 7C 86 18 30 */ slw r6, r4, r3
/* 80168CA4 00165C04 90 E1 00 2C */ stw r7, 0x2c(r1)
/* 80168CA8 00165C08 7C C4 00 38 */ and r4, r6, r0
/* 80168CAC 00165C0C 7F 83 E3 78 */ mr r3, r28
/* 80168CB0 00165C10 7C 04 00 D0 */ neg r0, r4
/* 80168CB4 00165C14 90 E1 00 28 */ stw r7, 0x28(r1)
/* 80168CB8 00165C18 7C 00 23 78 */ or r0, r0, r4
/* 80168CBC 00165C1C 38 A0 00 01 */ li r5, 1
/* 80168CC0 00165C20 90 E1 00 50 */ stw r7, 0x50(r1)
/* 80168CC4 00165C24 54 04 0F FE */ srwi r4, r0, 0x1f
/* 80168CC8 00165C28 90 C1 00 54 */ stw r6, 0x54(r1)
/* 80168CCC 00165C2C 48 1D 66 F1 */ bl WriteBits__13COutputStreamFUiUi
/* 80168CD0 00165C30 48 00 00 14 */ b lbl_80168CE4
lbl_80168CD4:
/* 80168CD4 00165C34 7F 83 E3 78 */ mr r3, r28
/* 80168CD8 00165C38 38 80 00 00 */ li r4, 0
/* 80168CDC 00165C3C 38 A0 00 01 */ li r5, 1
/* 80168CE0 00165C40 48 1D 66 DD */ bl WriteBits__13COutputStreamFUiUi
lbl_80168CE4:
/* 80168CE4 00165C44 3B DE 00 01 */ addi r30, r30, 1
lbl_80168CE8:
/* 80168CE8 00165C48 7C 1E F8 00 */ cmpw r30, r31
/* 80168CEC 00165C4C 41 80 FF 78 */ blt lbl_80168C64
/* 80168CF0 00165C50 80 9D 00 38 */ lwz r4, 0x38(r29)
/* 80168CF4 00165C54 38 61 00 60 */ addi r3, r1, 0x60
/* 80168CF8 00165C58 38 A0 00 00 */ li r5, 0
/* 80168CFC 00165C5C 48 00 01 7D */ bl sub_80168e78
/* 80168D00 00165C60 3B C0 00 00 */ li r30, 0
/* 80168D04 00165C64 3B E0 00 00 */ li r31, 0
/* 80168D08 00165C68 48 00 00 7C */ b lbl_80168D84
lbl_80168D0C:
/* 80168D0C 00165C6C 80 BD 00 40 */ lwz r5, 0x40(r29)
/* 80168D10 00165C70 7F 63 DB 78 */ mr r3, r27
/* 80168D14 00165C74 38 81 00 3C */ addi r4, r1, 0x3c
/* 80168D18 00165C78 7C 05 F8 2E */ lwzx r0, r5, r31
/* 80168D1C 00165C7C 90 01 00 38 */ stw r0, 0x38(r1)
/* 80168D20 00165C80 90 01 00 3C */ stw r0, 0x3c(r1)
/* 80168D24 00165C84 4B FF F9 CD */ bl IsDoorVisited__13CMapWorldInfoCF9TEditorId
/* 80168D28 00165C88 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80168D2C 00165C8C 41 82 00 50 */ beq lbl_80168D7C
/* 80168D30 00165C90 7F C3 2E 70 */ srawi r3, r30, 5
/* 80168D34 00165C94 57 C0 D8 08 */ slwi r0, r30, 0x1b
/* 80168D38 00165C98 7C 83 01 94 */ addze r4, r3
/* 80168D3C 00165C9C 57 C3 0F FE */ srwi r3, r30, 0x1f
/* 80168D40 00165CA0 7C 03 00 50 */ subf r0, r3, r0
/* 80168D44 00165CA4 80 C1 00 70 */ lwz r6, 0x70(r1)
/* 80168D48 00165CA8 54 85 10 3A */ slwi r5, r4, 2
/* 80168D4C 00165CAC 38 80 00 01 */ li r4, 1
/* 80168D50 00165CB0 7C C6 2A 14 */ add r6, r6, r5
/* 80168D54 00165CB4 54 00 28 3E */ rotlwi r0, r0, 5
/* 80168D58 00165CB8 7C 60 1A 14 */ add r3, r0, r3
/* 80168D5C 00165CBC 80 06 00 00 */ lwz r0, 0(r6)
/* 80168D60 00165CC0 7C 83 18 30 */ slw r3, r4, r3
/* 80168D64 00165CC4 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80168D68 00165CC8 7C 00 1B 78 */ or r0, r0, r3
/* 80168D6C 00165CCC 90 C1 00 08 */ stw r6, 8(r1)
/* 80168D70 00165CD0 90 C1 00 48 */ stw r6, 0x48(r1)
/* 80168D74 00165CD4 90 61 00 4C */ stw r3, 0x4c(r1)
/* 80168D78 00165CD8 90 06 00 00 */ stw r0, 0(r6)
lbl_80168D7C:
/* 80168D7C 00165CDC 3B FF 00 04 */ addi r31, r31, 4
/* 80168D80 00165CE0 3B DE 00 01 */ addi r30, r30, 1
lbl_80168D84:
/* 80168D84 00165CE4 80 1D 00 38 */ lwz r0, 0x38(r29)
/* 80168D88 00165CE8 7C 1E 00 00 */ cmpw r30, r0
/* 80168D8C 00165CEC 41 80 FF 80 */ blt lbl_80168D0C
/* 80168D90 00165CF0 3B C0 00 00 */ li r30, 0
/* 80168D94 00165CF4 48 00 00 68 */ b lbl_80168DFC
lbl_80168D98:
/* 80168D98 00165CF8 7F C3 2E 70 */ srawi r3, r30, 5
/* 80168D9C 00165CFC 57 C0 D8 08 */ slwi r0, r30, 0x1b
/* 80168DA0 00165D00 7C 83 01 94 */ addze r4, r3
/* 80168DA4 00165D04 57 C3 0F FE */ srwi r3, r30, 0x1f
/* 80168DA8 00165D08 7C 03 00 50 */ subf r0, r3, r0
/* 80168DAC 00165D0C 80 E1 00 70 */ lwz r7, 0x70(r1)
/* 80168DB0 00165D10 54 85 10 3A */ slwi r5, r4, 2
/* 80168DB4 00165D14 38 80 00 01 */ li r4, 1
/* 80168DB8 00165D18 7C E7 2A 14 */ add r7, r7, r5
/* 80168DBC 00165D1C 54 00 28 3E */ rotlwi r0, r0, 5
/* 80168DC0 00165D20 7C 60 1A 14 */ add r3, r0, r3
/* 80168DC4 00165D24 80 07 00 00 */ lwz r0, 0(r7)
/* 80168DC8 00165D28 7C 86 18 30 */ slw r6, r4, r3
/* 80168DCC 00165D2C 90 E1 00 24 */ stw r7, 0x24(r1)
/* 80168DD0 00165D30 7C C4 00 38 */ and r4, r6, r0
/* 80168DD4 00165D34 7F 83 E3 78 */ mr r3, r28
/* 80168DD8 00165D38 7C 04 00 D0 */ neg r0, r4
/* 80168DDC 00165D3C 90 E1 00 20 */ stw r7, 0x20(r1)
/* 80168DE0 00165D40 7C 00 23 78 */ or r0, r0, r4
/* 80168DE4 00165D44 38 A0 00 01 */ li r5, 1
/* 80168DE8 00165D48 90 E1 00 40 */ stw r7, 0x40(r1)
/* 80168DEC 00165D4C 54 04 0F FE */ srwi r4, r0, 0x1f
/* 80168DF0 00165D50 90 C1 00 44 */ stw r6, 0x44(r1)
/* 80168DF4 00165D54 48 1D 65 C9 */ bl WriteBits__13COutputStreamFUiUi
/* 80168DF8 00165D58 3B DE 00 01 */ addi r30, r30, 1
lbl_80168DFC:
/* 80168DFC 00165D5C 80 01 00 60 */ lwz r0, 0x60(r1)
/* 80168E00 00165D60 7C 1E 00 00 */ cmpw r30, r0
/* 80168E04 00165D64 41 80 FF 94 */ blt lbl_80168D98
/* 80168E08 00165D68 88 9B 00 38 */ lbz r4, 0x38(r27)
/* 80168E0C 00165D6C 7F 83 E3 78 */ mr r3, r28
/* 80168E10 00165D70 38 A0 00 01 */ li r5, 1
/* 80168E14 00165D74 7C 04 00 D0 */ neg r0, r4
/* 80168E18 00165D78 7C 00 23 78 */ or r0, r0, r4
/* 80168E1C 00165D7C 54 04 0F FE */ srwi r4, r0, 0x1f
/* 80168E20 00165D80 48 1D 65 9D */ bl WriteBits__13COutputStreamFUiUi
/* 80168E24 00165D84 80 01 00 68 */ lwz r0, 0x68(r1)
/* 80168E28 00165D88 80 61 00 70 */ lwz r3, 0x70(r1)
/* 80168E2C 00165D8C 54 00 10 3A */ slwi r0, r0, 2
/* 80168E30 00165D90 7C 03 02 14 */ add r0, r3, r0
/* 80168E34 00165D94 90 61 00 14 */ stw r3, 0x14(r1)
/* 80168E38 00165D98 7C 64 1B 78 */ mr r4, r3
/* 80168E3C 00165D9C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80168E40 00165DA0 90 01 00 18 */ stw r0, 0x18(r1)
/* 80168E44 00165DA4 90 61 00 10 */ stw r3, 0x10(r1)
/* 80168E48 00165DA8 48 00 00 08 */ b lbl_80168E50
lbl_80168E4C:
/* 80168E4C 00165DAC 38 84 00 04 */ addi r4, r4, 4
lbl_80168E50:
/* 80168E50 00165DB0 7C 04 00 40 */ cmplw r4, r0
/* 80168E54 00165DB4 40 82 FF F8 */ bne lbl_80168E4C
/* 80168E58 00165DB8 28 03 00 00 */ cmplwi r3, 0
/* 80168E5C 00165DBC 41 82 00 08 */ beq lbl_80168E64
/* 80168E60 00165DC0 48 1A CA D1 */ bl Free__7CMemoryFPCv
lbl_80168E64:
/* 80168E64 00165DC4 BB 61 00 7C */ lmw r27, 0x7c(r1)
/* 80168E68 00165DC8 80 01 00 94 */ lwz r0, 0x94(r1)
/* 80168E6C 00165DCC 7C 08 03 A6 */ mtlr r0
/* 80168E70 00165DD0 38 21 00 90 */ addi r1, r1, 0x90
/* 80168E74 00165DD4 4E 80 00 20 */ blr
.global sub_80168e78
sub_80168e78:
/* 80168E78 00165DD8 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80168E7C 00165DDC 7C 08 02 A6 */ mflr r0
/* 80168E80 00165DE0 38 C0 00 00 */ li r6, 0
/* 80168E84 00165DE4 90 01 00 44 */ stw r0, 0x44(r1)
/* 80168E88 00165DE8 54 80 D8 08 */ slwi r0, r4, 0x1b
/* 80168E8C 00165DEC 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 80168E90 00165DF0 7C BF 2B 78 */ mr r31, r5
/* 80168E94 00165DF4 93 C1 00 38 */ stw r30, 0x38(r1)
/* 80168E98 00165DF8 7C 9E 23 78 */ mr r30, r4
/* 80168E9C 00165DFC 93 A1 00 34 */ stw r29, 0x34(r1)
/* 80168EA0 00165E00 7C 7D 1B 78 */ mr r29, r3
/* 80168EA4 00165E04 90 C3 00 00 */ stw r6, 0(r3)
/* 80168EA8 00165E08 54 83 0F FE */ srwi r3, r4, 0x1f
/* 80168EAC 00165E0C 7C 03 00 50 */ subf r0, r3, r0
/* 80168EB0 00165E10 7F C4 2E 70 */ srawi r4, r30, 5
/* 80168EB4 00165E14 90 DD 00 08 */ stw r6, 8(r29)
/* 80168EB8 00165E18 54 00 28 3E */ rotlwi r0, r0, 5
/* 80168EBC 00165E1C 7C A4 01 94 */ addze r5, r4
/* 80168EC0 00165E20 7C 80 1A 14 */ add r4, r0, r3
/* 80168EC4 00165E24 90 DD 00 0C */ stw r6, 0xc(r29)
/* 80168EC8 00165E28 7C 04 00 D0 */ neg r0, r4
/* 80168ECC 00165E2C 38 7D 00 04 */ addi r3, r29, 4
/* 80168ED0 00165E30 7C 00 23 78 */ or r0, r0, r4
/* 80168ED4 00165E34 90 DD 00 10 */ stw r6, 0x10(r29)
/* 80168ED8 00165E38 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80168EDC 00165E3C 7C 85 02 14 */ add r4, r5, r0
/* 80168EE0 00165E40 4B EF AC 45 */ bl "reserve__Q24rstl37vector<Ui,Q24rstl17rmemory_allocator>Fi"
/* 80168EE4 00165E44 80 FD 00 10 */ lwz r7, 0x10(r29)
/* 80168EE8 00165E48 38 00 00 00 */ li r0, 0
/* 80168EEC 00165E4C 90 01 00 18 */ stw r0, 0x18(r1)
/* 80168EF0 00165E50 7F A3 EB 78 */ mr r3, r29
/* 80168EF4 00165E54 7F C5 F3 78 */ mr r5, r30
/* 80168EF8 00165E58 7F E6 FB 78 */ mr r6, r31
/* 80168EFC 00165E5C 90 E1 00 10 */ stw r7, 0x10(r1)
/* 80168F00 00165E60 38 81 00 20 */ addi r4, r1, 0x20
/* 80168F04 00165E64 90 E1 00 0C */ stw r7, 0xc(r1)
/* 80168F08 00165E68 90 E1 00 08 */ stw r7, 8(r1)
/* 80168F0C 00165E6C 90 E1 00 14 */ stw r7, 0x14(r1)
/* 80168F10 00165E70 90 E1 00 1C */ stw r7, 0x1c(r1)
/* 80168F14 00165E74 90 E1 00 20 */ stw r7, 0x20(r1)
/* 80168F18 00165E78 90 01 00 24 */ stw r0, 0x24(r1)
/* 80168F1C 00165E7C 90 E1 00 28 */ stw r7, 0x28(r1)
/* 80168F20 00165E80 4B FF EF 7D */ bl sub_80167e9c
/* 80168F24 00165E84 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80168F28 00165E88 7F A3 EB 78 */ mr r3, r29
/* 80168F2C 00165E8C 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 80168F30 00165E90 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 80168F34 00165E94 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 80168F38 00165E98 7C 08 03 A6 */ mtlr r0
/* 80168F3C 00165E9C 38 21 00 40 */ addi r1, r1, 0x40
/* 80168F40 00165EA0 4E 80 00 20 */ blr
.global __ct__13CMapWorldInfoFR16CBitStreamReaderRC18CWorldSaveGameInfoUi
__ct__13CMapWorldInfoFR16CBitStreamReaderRC18CWorldSaveGameInfoUi:
/* 80168F44 00165EA4 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80168F48 00165EA8 7C 08 02 A6 */ mflr r0
/* 80168F4C 00165EAC 90 01 00 84 */ stw r0, 0x84(r1)
/* 80168F50 00165EB0 38 00 00 00 */ li r0, 0
/* 80168F54 00165EB4 BF 01 00 60 */ stmw r24, 0x60(r1)
/* 80168F58 00165EB8 7C 99 23 78 */ mr r25, r4
/* 80168F5C 00165EBC 7C 78 1B 78 */ mr r24, r3
/* 80168F60 00165EC0 7C BA 2B 78 */ mr r26, r5
/* 80168F64 00165EC4 7C C4 33 78 */ mr r4, r6
/* 80168F68 00165EC8 90 03 00 00 */ stw r0, 0(r3)
/* 80168F6C 00165ECC 90 03 00 08 */ stw r0, 8(r3)
/* 80168F70 00165ED0 90 03 00 0C */ stw r0, 0xc(r3)
/* 80168F74 00165ED4 90 03 00 10 */ stw r0, 0x10(r3)
/* 80168F78 00165ED8 90 03 00 14 */ stw r0, 0x14(r3)
/* 80168F7C 00165EDC 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80168F80 00165EE0 90 03 00 20 */ stw r0, 0x20(r3)
/* 80168F84 00165EE4 90 03 00 24 */ stw r0, 0x24(r3)
/* 80168F88 00165EE8 90 03 00 2C */ stw r0, 0x2c(r3)
/* 80168F8C 00165EEC 90 03 00 30 */ stw r0, 0x30(r3)
/* 80168F90 00165EF0 90 03 00 34 */ stw r0, 0x34(r3)
/* 80168F94 00165EF4 98 03 00 38 */ stb r0, 0x38(r3)
/* 80168F98 00165EF8 80 6D A0 84 */ lwz r3, gpMemoryCard@sda21(r13)
/* 80168F9C 00165EFC 48 0D FF 71 */ bl GetSaveWorldMemory__11CMemoryCardCFi
/* 80168FA0 00165F00 83 83 00 08 */ lwz r28, 8(r3)
/* 80168FA4 00165F04 38 78 00 04 */ addi r3, r24, 4
/* 80168FA8 00165F08 57 80 D8 08 */ slwi r0, r28, 0x1b
/* 80168FAC 00165F0C 57 85 0F FE */ srwi r5, r28, 0x1f
/* 80168FB0 00165F10 7C 85 00 50 */ subf r4, r5, r0
/* 80168FB4 00165F14 7F 80 2E 70 */ srawi r0, r28, 5
/* 80168FB8 00165F18 54 84 28 3E */ rotlwi r4, r4, 5
/* 80168FBC 00165F1C 7F C4 2A 14 */ add r30, r4, r5
/* 80168FC0 00165F20 7F A0 01 94 */ addze r29, r0
/* 80168FC4 00165F24 7C 1E 00 D0 */ neg r0, r30
/* 80168FC8 00165F28 7C 00 F3 78 */ or r0, r0, r30
/* 80168FCC 00165F2C 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80168FD0 00165F30 7C 9D 02 14 */ add r4, r29, r0
/* 80168FD4 00165F34 4B EF AB 51 */ bl "reserve__Q24rstl37vector<Ui,Q24rstl17rmemory_allocator>Fi"
/* 80168FD8 00165F38 3B 60 00 00 */ li r27, 0
/* 80168FDC 00165F3C 48 00 01 14 */ b lbl_801690F0
lbl_80168FE0:
/* 80168FE0 00165F40 7F 23 CB 78 */ mr r3, r25
/* 80168FE4 00165F44 38 80 00 01 */ li r4, 1
/* 80168FE8 00165F48 48 1D 5D 51 */ bl ReadBits__12CInputStreamFUi
/* 80168FEC 00165F4C 80 98 00 00 */ lwz r4, 0(r24)
/* 80168FF0 00165F50 7C 03 00 D0 */ neg r0, r3
/* 80168FF4 00165F54 7C 05 1B 78 */ or r5, r0, r3
/* 80168FF8 00165F58 54 80 D8 08 */ slwi r0, r4, 0x1b
/* 80168FFC 00165F5C 54 83 0F FE */ srwi r3, r4, 0x1f
/* 80169000 00165F60 7C 03 00 50 */ subf r0, r3, r0
/* 80169004 00165F64 54 BF 0F FE */ srwi r31, r5, 0x1f
/* 80169008 00165F68 54 00 28 3E */ rotlwi r0, r0, 5
/* 8016900C 00165F6C 7C 00 1A 15 */ add. r0, r0, r3
/* 80169010 00165F70 40 82 00 54 */ bne lbl_80169064
/* 80169014 00165F74 80 18 00 08 */ lwz r0, 8(r24)
/* 80169018 00165F78 80 B8 00 0C */ lwz r5, 0xc(r24)
/* 8016901C 00165F7C 7C 00 28 00 */ cmpw r0, r5
/* 80169020 00165F80 41 80 00 1C */ blt lbl_8016903C
/* 80169024 00165F84 2C 05 00 00 */ cmpwi r5, 0
/* 80169028 00165F88 38 78 00 04 */ addi r3, r24, 4
/* 8016902C 00165F8C 38 80 00 04 */ li r4, 4
/* 80169030 00165F90 41 82 00 08 */ beq lbl_80169038
/* 80169034 00165F94 54 A4 08 3C */ slwi r4, r5, 1
lbl_80169038:
/* 80169038 00165F98 4B EF AA ED */ bl "reserve__Q24rstl37vector<Ui,Q24rstl17rmemory_allocator>Fi"
lbl_8016903C:
/* 8016903C 00165F9C 80 18 00 08 */ lwz r0, 8(r24)
/* 80169040 00165FA0 80 78 00 10 */ lwz r3, 0x10(r24)
/* 80169044 00165FA4 54 00 10 3A */ slwi r0, r0, 2
/* 80169048 00165FA8 7C 63 02 15 */ add. r3, r3, r0
/* 8016904C 00165FAC 41 82 00 0C */ beq lbl_80169058
/* 80169050 00165FB0 80 0D 8D 88 */ lwz r0, lbl_805A7948@sda21(r13)
/* 80169054 00165FB4 90 03 00 00 */ stw r0, 0(r3)
lbl_80169058:
/* 80169058 00165FB8 80 78 00 08 */ lwz r3, 8(r24)
/* 8016905C 00165FBC 38 03 00 01 */ addi r0, r3, 1
/* 80169060 00165FC0 90 18 00 08 */ stw r0, 8(r24)
lbl_80169064:
/* 80169064 00165FC4 80 78 00 00 */ lwz r3, 0(r24)
/* 80169068 00165FC8 28 1F 00 00 */ cmplwi r31, 0
/* 8016906C 00165FCC 38 03 00 01 */ addi r0, r3, 1
/* 80169070 00165FD0 90 18 00 00 */ stw r0, 0(r24)
/* 80169074 00165FD4 41 82 00 40 */ beq lbl_801690B4
/* 80169078 00165FD8 7C 64 2E 70 */ srawi r4, r3, 5
/* 8016907C 00165FDC 54 60 D8 08 */ slwi r0, r3, 0x1b
/* 80169080 00165FE0 54 63 0F FE */ srwi r3, r3, 0x1f
/* 80169084 00165FE4 80 F8 00 10 */ lwz r7, 0x10(r24)
/* 80169088 00165FE8 7C A4 01 94 */ addze r5, r4
/* 8016908C 00165FEC 38 80 00 01 */ li r4, 1
/* 80169090 00165FF0 7C 03 00 50 */ subf r0, r3, r0
/* 80169094 00165FF4 54 A6 10 3A */ slwi r6, r5, 2
/* 80169098 00165FF8 54 00 28 3E */ rotlwi r0, r0, 5
/* 8016909C 00165FFC 7C A7 30 2E */ lwzx r5, r7, r6
/* 801690A0 00166000 7C 00 1A 14 */ add r0, r0, r3
/* 801690A4 00166004 7C 80 00 30 */ slw r0, r4, r0
/* 801690A8 00166008 7C A0 03 78 */ or r0, r5, r0
/* 801690AC 0016600C 7C 07 31 2E */ stwx r0, r7, r6
/* 801690B0 00166010 48 00 00 3C */ b lbl_801690EC
lbl_801690B4:
/* 801690B4 00166014 7C 64 2E 70 */ srawi r4, r3, 5
/* 801690B8 00166018 54 60 D8 08 */ slwi r0, r3, 0x1b
/* 801690BC 0016601C 54 63 0F FE */ srwi r3, r3, 0x1f
/* 801690C0 00166020 80 F8 00 10 */ lwz r7, 0x10(r24)
/* 801690C4 00166024 7C A4 01 94 */ addze r5, r4
/* 801690C8 00166028 38 80 00 01 */ li r4, 1
/* 801690CC 0016602C 7C 03 00 50 */ subf r0, r3, r0
/* 801690D0 00166030 54 A6 10 3A */ slwi r6, r5, 2
/* 801690D4 00166034 54 00 28 3E */ rotlwi r0, r0, 5
/* 801690D8 00166038 7C A7 30 2E */ lwzx r5, r7, r6
/* 801690DC 0016603C 7C 00 1A 14 */ add r0, r0, r3
/* 801690E0 00166040 7C 80 00 30 */ slw r0, r4, r0
/* 801690E4 00166044 7C A0 00 78 */ andc r0, r5, r0
/* 801690E8 00166048 7C 07 31 2E */ stwx r0, r7, r6
lbl_801690EC:
/* 801690EC 0016604C 3B 7B 00 01 */ addi r27, r27, 1
lbl_801690F0:
/* 801690F0 00166050 7C 1B E0 00 */ cmpw r27, r28
/* 801690F4 00166054 41 80 FE EC */ blt lbl_80168FE0
/* 801690F8 00166058 7C 1E 00 D0 */ neg r0, r30
/* 801690FC 0016605C 38 78 00 18 */ addi r3, r24, 0x18
/* 80169100 00166060 7C 00 F3 78 */ or r0, r0, r30
/* 80169104 00166064 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80169108 00166068 7C 9D 02 14 */ add r4, r29, r0
/* 8016910C 0016606C 4B EF AA 19 */ bl "reserve__Q24rstl37vector<Ui,Q24rstl17rmemory_allocator>Fi"
/* 80169110 00166070 3B 60 00 00 */ li r27, 0
/* 80169114 00166074 48 00 01 14 */ b lbl_80169228
lbl_80169118:
/* 80169118 00166078 7F 23 CB 78 */ mr r3, r25
/* 8016911C 0016607C 38 80 00 01 */ li r4, 1
/* 80169120 00166080 48 1D 5C 19 */ bl ReadBits__12CInputStreamFUi
/* 80169124 00166084 80 98 00 14 */ lwz r4, 0x14(r24)
/* 80169128 00166088 7C 03 00 D0 */ neg r0, r3
/* 8016912C 0016608C 7C 05 1B 78 */ or r5, r0, r3
/* 80169130 00166090 54 80 D8 08 */ slwi r0, r4, 0x1b
/* 80169134 00166094 54 83 0F FE */ srwi r3, r4, 0x1f
/* 80169138 00166098 7C 03 00 50 */ subf r0, r3, r0
/* 8016913C 0016609C 54 BF 0F FE */ srwi r31, r5, 0x1f
/* 80169140 001660A0 54 00 28 3E */ rotlwi r0, r0, 5
/* 80169144 001660A4 7C 00 1A 15 */ add. r0, r0, r3
/* 80169148 001660A8 40 82 00 54 */ bne lbl_8016919C
/* 8016914C 001660AC 80 18 00 1C */ lwz r0, 0x1c(r24)
/* 80169150 001660B0 80 B8 00 20 */ lwz r5, 0x20(r24)
/* 80169154 001660B4 7C 00 28 00 */ cmpw r0, r5
/* 80169158 001660B8 41 80 00 1C */ blt lbl_80169174
/* 8016915C 001660BC 2C 05 00 00 */ cmpwi r5, 0
/* 80169160 001660C0 38 78 00 18 */ addi r3, r24, 0x18
/* 80169164 001660C4 38 80 00 04 */ li r4, 4
/* 80169168 001660C8 41 82 00 08 */ beq lbl_80169170
/* 8016916C 001660CC 54 A4 08 3C */ slwi r4, r5, 1
lbl_80169170:
/* 80169170 001660D0 4B EF A9 B5 */ bl "reserve__Q24rstl37vector<Ui,Q24rstl17rmemory_allocator>Fi"
lbl_80169174:
/* 80169174 001660D4 80 18 00 1C */ lwz r0, 0x1c(r24)
/* 80169178 001660D8 80 78 00 24 */ lwz r3, 0x24(r24)
/* 8016917C 001660DC 54 00 10 3A */ slwi r0, r0, 2
/* 80169180 001660E0 7C 63 02 15 */ add. r3, r3, r0
/* 80169184 001660E4 41 82 00 0C */ beq lbl_80169190
/* 80169188 001660E8 80 0D 8D 88 */ lwz r0, lbl_805A7948@sda21(r13)
/* 8016918C 001660EC 90 03 00 00 */ stw r0, 0(r3)
lbl_80169190:
/* 80169190 001660F0 80 78 00 1C */ lwz r3, 0x1c(r24)
/* 80169194 001660F4 38 03 00 01 */ addi r0, r3, 1
/* 80169198 001660F8 90 18 00 1C */ stw r0, 0x1c(r24)
lbl_8016919C:
/* 8016919C 001660FC 80 78 00 14 */ lwz r3, 0x14(r24)
/* 801691A0 00166100 28 1F 00 00 */ cmplwi r31, 0
/* 801691A4 00166104 38 03 00 01 */ addi r0, r3, 1
/* 801691A8 00166108 90 18 00 14 */ stw r0, 0x14(r24)
/* 801691AC 0016610C 41 82 00 40 */ beq lbl_801691EC
/* 801691B0 00166110 7C 64 2E 70 */ srawi r4, r3, 5
/* 801691B4 00166114 54 60 D8 08 */ slwi r0, r3, 0x1b
/* 801691B8 00166118 54 63 0F FE */ srwi r3, r3, 0x1f
/* 801691BC 0016611C 80 F8 00 24 */ lwz r7, 0x24(r24)
/* 801691C0 00166120 7C A4 01 94 */ addze r5, r4
/* 801691C4 00166124 38 80 00 01 */ li r4, 1
/* 801691C8 00166128 7C 03 00 50 */ subf r0, r3, r0
/* 801691CC 0016612C 54 A6 10 3A */ slwi r6, r5, 2
/* 801691D0 00166130 54 00 28 3E */ rotlwi r0, r0, 5
/* 801691D4 00166134 7C A7 30 2E */ lwzx r5, r7, r6
/* 801691D8 00166138 7C 00 1A 14 */ add r0, r0, r3
/* 801691DC 0016613C 7C 80 00 30 */ slw r0, r4, r0
/* 801691E0 00166140 7C A0 03 78 */ or r0, r5, r0
/* 801691E4 00166144 7C 07 31 2E */ stwx r0, r7, r6
/* 801691E8 00166148 48 00 00 3C */ b lbl_80169224
lbl_801691EC:
/* 801691EC 0016614C 7C 64 2E 70 */ srawi r4, r3, 5
/* 801691F0 00166150 54 60 D8 08 */ slwi r0, r3, 0x1b
/* 801691F4 00166154 54 63 0F FE */ srwi r3, r3, 0x1f
/* 801691F8 00166158 80 F8 00 24 */ lwz r7, 0x24(r24)
/* 801691FC 0016615C 7C A4 01 94 */ addze r5, r4
/* 80169200 00166160 38 80 00 01 */ li r4, 1
/* 80169204 00166164 7C 03 00 50 */ subf r0, r3, r0
/* 80169208 00166168 54 A6 10 3A */ slwi r6, r5, 2
/* 8016920C 0016616C 54 00 28 3E */ rotlwi r0, r0, 5
/* 80169210 00166170 7C A7 30 2E */ lwzx r5, r7, r6
/* 80169214 00166174 7C 00 1A 14 */ add r0, r0, r3
/* 80169218 00166178 7C 80 00 30 */ slw r0, r4, r0
/* 8016921C 0016617C 7C A0 00 78 */ andc r0, r5, r0
/* 80169220 00166180 7C 07 31 2E */ stwx r0, r7, r6
lbl_80169224:
/* 80169224 00166184 3B 7B 00 01 */ addi r27, r27, 1
lbl_80169228:
/* 80169228 00166188 7C 1B E0 00 */ cmpw r27, r28
/* 8016922C 0016618C 41 80 FE EC */ blt lbl_80169118
/* 80169230 00166190 80 9A 00 38 */ lwz r4, 0x38(r26)
/* 80169234 00166194 38 61 00 44 */ addi r3, r1, 0x44
/* 80169238 00166198 38 A0 00 00 */ li r5, 0
/* 8016923C 0016619C 4B FF FC 3D */ bl sub_80168e78
/* 80169240 001661A0 3B 60 00 00 */ li r27, 0
/* 80169244 001661A4 48 00 00 80 */ b lbl_801692C4
lbl_80169248:
/* 80169248 001661A8 7F 23 CB 78 */ mr r3, r25
/* 8016924C 001661AC 38 80 00 01 */ li r4, 1
/* 80169250 001661B0 48 1D 5A E9 */ bl ReadBits__12CInputStreamFUi
/* 80169254 001661B4 57 60 D8 08 */ slwi r0, r27, 0x1b
/* 80169258 001661B8 57 64 0F FE */ srwi r4, r27, 0x1f
/* 8016925C 001661BC 7F 65 2E 70 */ srawi r5, r27, 5
/* 80169260 001661C0 7C C3 00 D0 */ neg r6, r3
/* 80169264 001661C4 7C 04 00 50 */ subf r0, r4, r0
/* 80169268 001661C8 80 E1 00 54 */ lwz r7, 0x54(r1)
/* 8016926C 001661CC 7C C6 1B 78 */ or r6, r6, r3
/* 80169270 001661D0 7C A5 01 94 */ addze r5, r5
/* 80169274 001661D4 54 00 28 3E */ rotlwi r0, r0, 5
/* 80169278 001661D8 38 60 00 01 */ li r3, 1
/* 8016927C 001661DC 54 A5 10 3A */ slwi r5, r5, 2
/* 80169280 001661E0 54 C6 0F FF */ rlwinm. r6, r6, 1, 0x1f, 0x1f
/* 80169284 001661E4 7C E7 2A 14 */ add r7, r7, r5
/* 80169288 001661E8 7C 00 22 14 */ add r0, r0, r4
/* 8016928C 001661EC 7C 64 00 30 */ slw r4, r3, r0
/* 80169290 001661F0 90 E1 00 18 */ stw r7, 0x18(r1)
/* 80169294 001661F4 90 E1 00 14 */ stw r7, 0x14(r1)
/* 80169298 001661F8 90 E1 00 3C */ stw r7, 0x3c(r1)
/* 8016929C 001661FC 90 81 00 40 */ stw r4, 0x40(r1)
/* 801692A0 00166200 41 82 00 14 */ beq lbl_801692B4
/* 801692A4 00166204 80 07 00 00 */ lwz r0, 0(r7)
/* 801692A8 00166208 7C 00 23 78 */ or r0, r0, r4
/* 801692AC 0016620C 90 07 00 00 */ stw r0, 0(r7)
/* 801692B0 00166210 48 00 00 10 */ b lbl_801692C0
lbl_801692B4:
/* 801692B4 00166214 80 67 00 00 */ lwz r3, 0(r7)
/* 801692B8 00166218 7C 60 20 78 */ andc r0, r3, r4
/* 801692BC 0016621C 90 07 00 00 */ stw r0, 0(r7)
lbl_801692C0:
/* 801692C0 00166220 3B 7B 00 01 */ addi r27, r27, 1
lbl_801692C4:
/* 801692C4 00166224 80 01 00 44 */ lwz r0, 0x44(r1)
/* 801692C8 00166228 7C 1B 00 00 */ cmpw r27, r0
/* 801692CC 0016622C 41 80 FF 7C */ blt lbl_80169248
/* 801692D0 00166230 7F 23 CB 78 */ mr r3, r25
/* 801692D4 00166234 38 80 00 01 */ li r4, 1
/* 801692D8 00166238 48 1D 5A 61 */ bl ReadBits__12CInputStreamFUi
/* 801692DC 0016623C 7C 83 00 D0 */ neg r4, r3
/* 801692E0 00166240 88 01 00 10 */ lbz r0, 0x10(r1)
/* 801692E4 00166244 7C 84 1B 78 */ or r4, r4, r3
/* 801692E8 00166248 38 61 00 2C */ addi r3, r1, 0x2c
/* 801692EC 0016624C 54 86 0F FE */ srwi r6, r4, 0x1f
/* 801692F0 00166250 98 01 00 0C */ stb r0, 0xc(r1)
/* 801692F4 00166254 38 81 00 34 */ addi r4, r1, 0x34
/* 801692F8 00166258 38 A1 00 08 */ addi r5, r1, 8
/* 801692FC 0016625C 98 D8 00 38 */ stb r6, 0x38(r24)
/* 80169300 00166260 98 01 00 08 */ stb r0, 8(r1)
/* 80169304 00166264 80 18 00 2C */ lwz r0, 0x2c(r24)
/* 80169308 00166268 80 D8 00 34 */ lwz r6, 0x34(r24)
/* 8016930C 0016626C 54 00 18 38 */ slwi r0, r0, 3
/* 80169310 00166270 7C C6 02 14 */ add r6, r6, r0
/* 80169314 00166274 90 C1 00 34 */ stw r6, 0x34(r1)
/* 80169318 00166278 80 18 00 34 */ lwz r0, 0x34(r24)
/* 8016931C 0016627C 90 C1 00 38 */ stw r6, 0x38(r1)
/* 80169320 00166280 90 01 00 30 */ stw r0, 0x30(r1)
/* 80169324 00166284 90 01 00 2C */ stw r0, 0x2c(r1)
/* 80169328 00166288 48 00 00 95 */ bl sub_801693bc
/* 8016932C 0016628C 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 80169330 00166290 80 61 00 54 */ lwz r3, 0x54(r1)
/* 80169334 00166294 54 00 10 3A */ slwi r0, r0, 2
/* 80169338 00166298 7C 03 02 14 */ add r0, r3, r0
/* 8016933C 0016629C 90 61 00 20 */ stw r3, 0x20(r1)
/* 80169340 001662A0 7C 64 1B 78 */ mr r4, r3
/* 80169344 001662A4 90 01 00 28 */ stw r0, 0x28(r1)
/* 80169348 001662A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8016934C 001662AC 90 61 00 1C */ stw r3, 0x1c(r1)
/* 80169350 001662B0 48 00 00 08 */ b lbl_80169358
lbl_80169354:
/* 80169354 001662B4 38 84 00 04 */ addi r4, r4, 4
lbl_80169358:
/* 80169358 001662B8 7C 04 00 40 */ cmplw r4, r0
/* 8016935C 001662BC 40 82 FF F8 */ bne lbl_80169354
/* 80169360 001662C0 28 03 00 00 */ cmplwi r3, 0
/* 80169364 001662C4 41 82 00 08 */ beq lbl_8016936C
/* 80169368 001662C8 48 1A C5 C9 */ bl Free__7CMemoryFPCv
lbl_8016936C:
/* 8016936C 001662CC 7F 03 C3 78 */ mr r3, r24
/* 80169370 001662D0 BB 01 00 60 */ lmw r24, 0x60(r1)
/* 80169374 001662D4 80 01 00 84 */ lwz r0, 0x84(r1)
/* 80169378 001662D8 7C 08 03 A6 */ mtlr r0
/* 8016937C 001662DC 38 21 00 80 */ addi r1, r1, 0x80
/* 80169380 001662E0 4E 80 00 20 */ blr
.global __ct__13CMapWorldInfoFv
__ct__13CMapWorldInfoFv:
/* 80169384 001662E4 38 00 00 00 */ li r0, 0
/* 80169388 001662E8 90 03 00 00 */ stw r0, 0(r3)
/* 8016938C 001662EC 90 03 00 08 */ stw r0, 8(r3)
/* 80169390 001662F0 90 03 00 0C */ stw r0, 0xc(r3)
/* 80169394 001662F4 90 03 00 10 */ stw r0, 0x10(r3)
/* 80169398 001662F8 90 03 00 14 */ stw r0, 0x14(r3)
/* 8016939C 001662FC 90 03 00 1C */ stw r0, 0x1c(r3)
/* 801693A0 00166300 90 03 00 20 */ stw r0, 0x20(r3)
/* 801693A4 00166304 90 03 00 24 */ stw r0, 0x24(r3)
/* 801693A8 00166308 90 03 00 2C */ stw r0, 0x2c(r3)
/* 801693AC 0016630C 90 03 00 30 */ stw r0, 0x30(r3)
/* 801693B0 00166310 90 03 00 34 */ stw r0, 0x34(r3)
/* 801693B4 00166314 98 03 00 38 */ stb r0, 0x38(r3)
/* 801693B8 00166318 4E 80 00 20 */ blr
.global sub_801693bc
sub_801693bc:
/* 801693BC 0016631C 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 801693C0 00166320 7C 08 02 A6 */ mflr r0
/* 801693C4 00166324 90 01 00 64 */ stw r0, 0x64(r1)
/* 801693C8 00166328 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 801693CC 0016632C 7C BF 2B 78 */ mr r31, r5
/* 801693D0 00166330 93 C1 00 58 */ stw r30, 0x58(r1)
/* 801693D4 00166334 7C 9E 23 78 */ mr r30, r4
/* 801693D8 00166338 93 A1 00 54 */ stw r29, 0x54(r1)
/* 801693DC 0016633C 7C 7D 1B 78 */ mr r29, r3
/* 801693E0 00166340 93 81 00 50 */ stw r28, 0x50(r1)
/* 801693E4 00166344 80 63 00 00 */ lwz r3, 0(r3)
/* 801693E8 00166348 80 A4 00 00 */ lwz r5, 0(r4)
/* 801693EC 0016634C 7C 03 28 50 */ subf r0, r3, r5
/* 801693F0 00166350 7C 00 1E 70 */ srawi r0, r0, 3
/* 801693F4 00166354 7C 80 01 94 */ addze r4, r0
/* 801693F8 00166358 2C 04 00 01 */ cmpwi r4, 1
/* 801693FC 0016635C 40 81 01 78 */ ble lbl_80169574
/* 80169400 00166360 2C 04 00 14 */ cmpwi r4, 0x14
/* 80169404 00166364 41 81 00 30 */ bgt lbl_80169434
/* 80169408 00166368 88 FF 00 00 */ lbz r7, 0(r31)
/* 8016940C 0016636C 38 61 00 34 */ addi r3, r1, 0x34
/* 80169410 00166370 80 DE 00 00 */ lwz r6, 0(r30)
/* 80169414 00166374 38 81 00 30 */ addi r4, r1, 0x30
/* 80169418 00166378 80 1D 00 00 */ lwz r0, 0(r29)
/* 8016941C 0016637C 38 A1 00 14 */ addi r5, r1, 0x14
/* 80169420 00166380 98 E1 00 14 */ stb r7, 0x14(r1)
/* 80169424 00166384 90 C1 00 30 */ stw r6, 0x30(r1)
/* 80169428 00166388 90 01 00 34 */ stw r0, 0x34(r1)
/* 8016942C 0016638C 48 00 04 65 */ bl sub_80169890
/* 80169430 00166390 48 00 01 44 */ b lbl_80169574
lbl_80169434:
/* 80169434 00166394 54 80 0F FE */ srwi r0, r4, 0x1f
/* 80169438 00166398 38 A5 FF F8 */ addi r5, r5, -8
/* 8016943C 0016639C 7C 80 22 14 */ add r4, r0, r4
/* 80169440 001663A0 88 1F 00 00 */ lbz r0, 0(r31)
/* 80169444 001663A4 7C 84 0E 70 */ srawi r4, r4, 1
/* 80169448 001663A8 90 A1 00 3C */ stw r5, 0x3c(r1)
/* 8016944C 001663AC 54 84 18 38 */ slwi r4, r4, 3
/* 80169450 001663B0 38 C1 00 10 */ addi r6, r1, 0x10
/* 80169454 001663B4 7F 83 22 14 */ add r28, r3, r4
/* 80169458 001663B8 98 01 00 10 */ stb r0, 0x10(r1)
/* 8016945C 001663BC 7F 84 E3 78 */ mr r4, r28
/* 80169460 001663C0 48 00 03 8D */ bl sub_801697ec
/* 80169464 001663C4 80 9D 00 00 */ lwz r4, 0(r29)
/* 80169468 001663C8 80 61 00 3C */ lwz r3, 0x3c(r1)
/* 8016946C 001663CC 38 84 00 08 */ addi r4, r4, 8
/* 80169470 001663D0 80 BC 00 00 */ lwz r5, 0(r28)
/* 80169474 001663D4 38 03 FF F8 */ addi r0, r3, -8
/* 80169478 001663D8 90 81 00 38 */ stw r4, 0x38(r1)
/* 8016947C 001663DC 54 A9 01 BE */ clrlwi r9, r5, 6
/* 80169480 001663E0 90 01 00 3C */ stw r0, 0x3c(r1)
/* 80169484 001663E4 48 00 00 10 */ b lbl_80169494
lbl_80169488:
/* 80169488 001663E8 80 61 00 38 */ lwz r3, 0x38(r1)
/* 8016948C 001663EC 38 03 00 08 */ addi r0, r3, 8
/* 80169490 001663F0 90 01 00 38 */ stw r0, 0x38(r1)
lbl_80169494:
/* 80169494 001663F4 80 61 00 38 */ lwz r3, 0x38(r1)
/* 80169498 001663F8 80 03 00 00 */ lwz r0, 0(r3)
/* 8016949C 001663FC 54 00 01 BE */ clrlwi r0, r0, 6
/* 801694A0 00166400 7C 00 48 40 */ cmplw r0, r9
/* 801694A4 00166404 41 80 FF E4 */ blt lbl_80169488
/* 801694A8 00166408 48 00 00 10 */ b lbl_801694B8
lbl_801694AC:
/* 801694AC 0016640C 80 61 00 3C */ lwz r3, 0x3c(r1)
/* 801694B0 00166410 38 03 FF F8 */ addi r0, r3, -8
/* 801694B4 00166414 90 01 00 3C */ stw r0, 0x3c(r1)
lbl_801694B8:
/* 801694B8 00166418 80 61 00 3C */ lwz r3, 0x3c(r1)
/* 801694BC 0016641C 80 03 00 00 */ lwz r0, 0(r3)
/* 801694C0 00166420 54 00 01 BE */ clrlwi r0, r0, 6
/* 801694C4 00166424 7C 09 00 40 */ cmplw r9, r0
/* 801694C8 00166428 41 80 FF E4 */ blt lbl_801694AC
/* 801694CC 0016642C 80 01 00 38 */ lwz r0, 0x38(r1)
/* 801694D0 00166430 7C 00 18 40 */ cmplw r0, r3
/* 801694D4 00166434 40 80 00 50 */ bge lbl_80169524
/* 801694D8 00166438 80 E1 00 38 */ lwz r7, 0x38(r1)
/* 801694DC 0016643C 81 01 00 3C */ lwz r8, 0x3c(r1)
/* 801694E0 00166440 80 C7 00 00 */ lwz r6, 0(r7)
/* 801694E4 00166444 38 67 00 08 */ addi r3, r7, 8
/* 801694E8 00166448 88 A7 00 04 */ lbz r5, 4(r7)
/* 801694EC 0016644C 38 08 FF F8 */ addi r0, r8, -8
/* 801694F0 00166450 80 88 00 00 */ lwz r4, 0(r8)
/* 801694F4 00166454 91 01 00 28 */ stw r8, 0x28(r1)
/* 801694F8 00166458 90 87 00 00 */ stw r4, 0(r7)
/* 801694FC 0016645C 88 88 00 04 */ lbz r4, 4(r8)
/* 80169500 00166460 90 E1 00 2C */ stw r7, 0x2c(r1)
/* 80169504 00166464 98 87 00 04 */ stb r4, 4(r7)
/* 80169508 00166468 90 C8 00 00 */ stw r6, 0(r8)
/* 8016950C 0016646C 90 C1 00 40 */ stw r6, 0x40(r1)
/* 80169510 00166470 98 A1 00 44 */ stb r5, 0x44(r1)
/* 80169514 00166474 98 A8 00 04 */ stb r5, 4(r8)
/* 80169518 00166478 90 61 00 38 */ stw r3, 0x38(r1)
/* 8016951C 0016647C 90 01 00 3C */ stw r0, 0x3c(r1)
/* 80169520 00166480 4B FF FF 74 */ b lbl_80169494
lbl_80169524:
/* 80169524 00166484 88 FF 00 00 */ lbz r7, 0(r31)
/* 80169528 00166488 38 61 00 24 */ addi r3, r1, 0x24
/* 8016952C 0016648C 80 C1 00 38 */ lwz r6, 0x38(r1)
/* 80169530 00166490 38 81 00 20 */ addi r4, r1, 0x20
/* 80169534 00166494 80 1D 00 00 */ lwz r0, 0(r29)
/* 80169538 00166498 38 A1 00 0C */ addi r5, r1, 0xc
/* 8016953C 0016649C 98 E1 00 0C */ stb r7, 0xc(r1)
/* 80169540 001664A0 90 C1 00 20 */ stw r6, 0x20(r1)
/* 80169544 001664A4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80169548 001664A8 4B FF FE 75 */ bl sub_801693bc
/* 8016954C 001664AC 88 FF 00 00 */ lbz r7, 0(r31)
/* 80169550 001664B0 38 61 00 1C */ addi r3, r1, 0x1c
/* 80169554 001664B4 80 DE 00 00 */ lwz r6, 0(r30)
/* 80169558 001664B8 38 81 00 18 */ addi r4, r1, 0x18
/* 8016955C 001664BC 80 01 00 38 */ lwz r0, 0x38(r1)
/* 80169560 001664C0 38 A1 00 08 */ addi r5, r1, 8
/* 80169564 001664C4 98 E1 00 08 */ stb r7, 8(r1)
/* 80169568 001664C8 90 C1 00 18 */ stw r6, 0x18(r1)
/* 8016956C 001664CC 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80169570 001664D0 4B FF FE 4D */ bl sub_801693bc
lbl_80169574:
/* 80169574 001664D4 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80169578 001664D8 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 8016957C 001664DC 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 80169580 001664E0 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 80169584 001664E4 83 81 00 50 */ lwz r28, 0x50(r1)
/* 80169588 001664E8 7C 08 03 A6 */ mtlr r0
/* 8016958C 001664EC 38 21 00 60 */ addi r1, r1, 0x60
/* 80169590 001664F0 4E 80 00 20 */ blr
.global "lower_bound<Q24rstl144pointer_iterator<Q24rstl18pair<9TEditorId,b>,Q24rstl62vector<Q24rstl18pair<9TEditorId,b>,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,9TEditorId,Q24rstl73pair_sorter_finder<Q24rstl18pair<9TEditorId,b>,Q24rstl16less<9TEditorId>>>__4rstlFQ24rstl144pointer_iterator<Q24rstl18pair<9TEditorId,b>,Q24rstl62vector<Q24rstl18pair<9TEditorId,b>,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl144pointer_iterator<Q24rstl18pair<9TEditorId,b>,Q24rstl62vector<Q24rstl18pair<9T"
"lower_bound<Q24rstl144pointer_iterator<Q24rstl18pair<9TEditorId,b>,Q24rstl62vector<Q24rstl18pair<9TEditorId,b>,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>,9TEditorId,Q24rstl73pair_sorter_finder<Q24rstl18pair<9TEditorId,b>,Q24rstl16less<9TEditorId>>>__4rstlFQ24rstl144pointer_iterator<Q24rstl18pair<9TEditorId,b>,Q24rstl62vector<Q24rstl18pair<9TEditorId,b>,Q24rstl17rmemory_allocator>,Q24rstl17rmemory_allocator>Q24rstl144pointer_iterator<Q24rstl18pair<9TEditorId,b>,Q24rstl62vector<Q24rstl18pair<9T":
/* 80169594 001664F4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80169598 001664F8 7C 08 02 A6 */ mflr r0
/* 8016959C 001664FC 90 01 00 34 */ stw r0, 0x34(r1)
/* 801695A0 00166500 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 801695A4 00166504 7C 9E 23 78 */ mr r30, r4
/* 801695A8 00166508 7C 7D 1B 78 */ mr r29, r3
/* 801695AC 0016650C 7C DF 33 78 */ mr r31, r6
/* 801695B0 00166510 38 61 00 0C */ addi r3, r1, 0xc
/* 801695B4 00166514 80 85 00 00 */ lwz r4, 0(r5)
/* 801695B8 00166518 80 1E 00 00 */ lwz r0, 0(r30)
/* 801695BC 0016651C 90 81 00 08 */ stw r4, 8(r1)
/* 801695C0 00166520 38 81 00 08 */ addi r4, r1, 8
/* 801695C4 00166524 90 01 00 0C */ stw r0, 0xc(r1)
/* 801695C8 00166528 48 00 01 C9 */ bl sub_80169790
/* 801695CC 0016652C 80 1E 00 00 */ lwz r0, 0(r30)
/* 801695D0 00166530 7C 7C 1B 78 */ mr r28, r3
/* 801695D4 00166534 90 01 00 10 */ stw r0, 0x10(r1)
/* 801695D8 00166538 48 00 00 60 */ b lbl_80169638
lbl_801695DC:
/* 801695DC 0016653C 57 83 0F FE */ srwi r3, r28, 0x1f
/* 801695E0 00166540 80 1E 00 00 */ lwz r0, 0(r30)
/* 801695E4 00166544 7C 83 E2 14 */ add r4, r3, r28
/* 801695E8 00166548 38 61 00 10 */ addi r3, r1, 0x10
/* 801695EC 0016654C 7C 9B 0E 70 */ srawi r27, r4, 1
/* 801695F0 00166550 90 01 00 10 */ stw r0, 0x10(r1)
/* 801695F4 00166554 7F 64 DB 78 */ mr r4, r27
/* 801695F8 00166558 48 00 01 59 */ bl sub_80169750
/* 801695FC 0016655C 80 81 00 10 */ lwz r4, 0x10(r1)
/* 80169600 00166560 80 1F 00 00 */ lwz r0, 0(r31)
/* 80169604 00166564 80 64 00 00 */ lwz r3, 0(r4)
/* 80169608 00166568 54 00 01 BE */ clrlwi r0, r0, 6
/* 8016960C 0016656C 54 63 01 BE */ clrlwi r3, r3, 6
/* 80169610 00166570 7C 03 00 40 */ cmplw r3, r0
/* 80169614 00166574 40 80 00 20 */ bge lbl_80169634
/* 80169618 00166578 90 9E 00 00 */ stw r4, 0(r30)
/* 8016961C 0016657C 7C 7B E0 50 */ subf r3, r27, r28
/* 80169620 00166580 3B 83 FF FF */ addi r28, r3, -1
/* 80169624 00166584 80 7E 00 00 */ lwz r3, 0(r30)
/* 80169628 00166588 38 03 00 08 */ addi r0, r3, 8
/* 8016962C 0016658C 90 1E 00 00 */ stw r0, 0(r30)
/* 80169630 00166590 48 00 00 08 */ b lbl_80169638
lbl_80169634:
/* 80169634 00166594 7F 7C DB 78 */ mr r28, r27
lbl_80169638:
/* 80169638 00166598 2C 1C 00 00 */ cmpwi r28, 0
/* 8016963C 0016659C 41 81 FF A0 */ bgt lbl_801695DC
/* 80169640 001665A0 80 1E 00 00 */ lwz r0, 0(r30)
/* 80169644 001665A4 90 1D 00 00 */ stw r0, 0(r29)
/* 80169648 001665A8 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 8016964C 001665AC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80169650 001665B0 7C 08 03 A6 */ mtlr r0
/* 80169654 001665B4 38 21 00 30 */ addi r1, r1, 0x30
/* 80169658 001665B8 4E 80 00 20 */ blr
.global "reserve__Q24rstl62vector<Q24rstl18pair<9TEditorId,b>,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl62vector<Q24rstl18pair<9TEditorId,b>,Q24rstl17rmemory_allocator>Fi":
/* 8016965C 001665BC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80169660 001665C0 7C 08 02 A6 */ mflr r0
/* 80169664 001665C4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80169668 001665C8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8016966C 001665CC 7C 9F 23 78 */ mr r31, r4
/* 80169670 001665D0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80169674 001665D4 7C 7E 1B 78 */ mr r30, r3
/* 80169678 001665D8 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8016967C 001665DC 80 03 00 08 */ lwz r0, 8(r3)
/* 80169680 001665E0 7C 1F 00 00 */ cmpw r31, r0
/* 80169684 001665E4 40 81 00 B0 */ ble lbl_80169734
/* 80169688 001665E8 57 E3 18 39 */ rlwinm. r3, r31, 3, 0, 0x1c
/* 8016968C 001665EC 40 82 00 0C */ bne lbl_80169698
/* 80169690 001665F0 3B A0 00 00 */ li r29, 0
/* 80169694 001665F4 48 00 00 18 */ b lbl_801696AC
lbl_80169698:
/* 80169698 001665F8 3C 80 80 3D */ lis r4, lbl_803D0428@ha
/* 8016969C 001665FC 38 A0 00 00 */ li r5, 0
/* 801696A0 00166600 38 84 04 28 */ addi r4, r4, lbl_803D0428@l
/* 801696A4 00166604 48 1A C1 75 */ bl __nwa__FUlPCcPCc
/* 801696A8 00166608 7C 7D 1B 78 */ mr r29, r3
lbl_801696AC:
/* 801696AC 0016660C 80 1E 00 04 */ lwz r0, 4(r30)
/* 801696B0 00166610 7F A4 EB 78 */ mr r4, r29
/* 801696B4 00166614 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 801696B8 00166618 54 00 18 38 */ slwi r0, r0, 3
/* 801696BC 0016661C 7C 65 02 14 */ add r3, r5, r0
/* 801696C0 00166620 90 A1 00 10 */ stw r5, 0x10(r1)
/* 801696C4 00166624 90 61 00 08 */ stw r3, 8(r1)
/* 801696C8 00166628 90 61 00 0C */ stw r3, 0xc(r1)
/* 801696CC 0016662C 90 A1 00 14 */ stw r5, 0x14(r1)
/* 801696D0 00166630 48 00 00 24 */ b lbl_801696F4
lbl_801696D4:
/* 801696D4 00166634 28 04 00 00 */ cmplwi r4, 0
/* 801696D8 00166638 41 82 00 14 */ beq lbl_801696EC
/* 801696DC 0016663C 80 05 00 00 */ lwz r0, 0(r5)
/* 801696E0 00166640 90 04 00 00 */ stw r0, 0(r4)
/* 801696E4 00166644 88 05 00 04 */ lbz r0, 4(r5)
/* 801696E8 00166648 98 04 00 04 */ stb r0, 4(r4)
lbl_801696EC:
/* 801696EC 0016664C 38 84 00 08 */ addi r4, r4, 8
/* 801696F0 00166650 38 A5 00 08 */ addi r5, r5, 8
lbl_801696F4:
/* 801696F4 00166654 7C 05 18 40 */ cmplw r5, r3
/* 801696F8 00166658 40 82 FF DC */ bne lbl_801696D4
/* 801696FC 0016665C 80 1E 00 04 */ lwz r0, 4(r30)
/* 80169700 00166660 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80169704 00166664 54 00 18 38 */ slwi r0, r0, 3
/* 80169708 00166668 7C 64 1B 78 */ mr r4, r3
/* 8016970C 0016666C 7C 03 02 14 */ add r0, r3, r0
/* 80169710 00166670 48 00 00 08 */ b lbl_80169718
lbl_80169714:
/* 80169714 00166674 38 84 00 08 */ addi r4, r4, 8
lbl_80169718:
/* 80169718 00166678 7C 04 00 40 */ cmplw r4, r0
/* 8016971C 0016667C 40 82 FF F8 */ bne lbl_80169714
/* 80169720 00166680 28 03 00 00 */ cmplwi r3, 0
/* 80169724 00166684 41 82 00 08 */ beq lbl_8016972C
/* 80169728 00166688 48 1A C2 09 */ bl Free__7CMemoryFPCv
lbl_8016972C:
/* 8016972C 0016668C 93 BE 00 0C */ stw r29, 0xc(r30)
/* 80169730 00166690 93 FE 00 08 */ stw r31, 8(r30)
lbl_80169734:
/* 80169734 00166694 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80169738 00166698 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8016973C 0016669C 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80169740 001666A0 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80169744 001666A4 7C 08 03 A6 */ mtlr r0
/* 80169748 001666A8 38 21 00 30 */ addi r1, r1, 0x30
/* 8016974C 001666AC 4E 80 00 20 */ blr
.global sub_80169750
sub_80169750:
/* 80169750 001666B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80169754 001666B4 7C 08 02 A6 */ mflr r0
/* 80169758 001666B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8016975C 001666BC 38 A1 00 0C */ addi r5, r1, 0xc
/* 80169760 001666C0 88 01 00 08 */ lbz r0, 8(r1)
/* 80169764 001666C4 98 01 00 0C */ stb r0, 0xc(r1)
/* 80169768 001666C8 48 00 00 15 */ bl sub_8016977c
/* 8016976C 001666CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80169770 001666D0 7C 08 03 A6 */ mtlr r0
/* 80169774 001666D4 38 21 00 10 */ addi r1, r1, 0x10
/* 80169778 001666D8 4E 80 00 20 */ blr
.global sub_8016977c
sub_8016977c:
/* 8016977C 001666DC 80 A3 00 00 */ lwz r5, 0(r3)
/* 80169780 001666E0 54 80 18 38 */ slwi r0, r4, 3
/* 80169784 001666E4 7C 05 02 14 */ add r0, r5, r0
/* 80169788 001666E8 90 03 00 00 */ stw r0, 0(r3)
/* 8016978C 001666EC 4E 80 00 20 */ blr
.global sub_80169790
sub_80169790:
/* 80169790 001666F0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80169794 001666F4 7C 08 02 A6 */ mflr r0
/* 80169798 001666F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8016979C 001666FC 38 A1 00 0C */ addi r5, r1, 0xc
/* 801697A0 00166700 88 E1 00 08 */ lbz r7, 8(r1)
/* 801697A4 00166704 80 C4 00 00 */ lwz r6, 0(r4)
/* 801697A8 00166708 38 81 00 10 */ addi r4, r1, 0x10
/* 801697AC 0016670C 80 03 00 00 */ lwz r0, 0(r3)
/* 801697B0 00166710 38 61 00 14 */ addi r3, r1, 0x14
/* 801697B4 00166714 90 C1 00 10 */ stw r6, 0x10(r1)
/* 801697B8 00166718 98 E1 00 0C */ stb r7, 0xc(r1)
/* 801697BC 0016671C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801697C0 00166720 48 00 00 15 */ bl sub_801697d4
/* 801697C4 00166724 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801697C8 00166728 7C 08 03 A6 */ mtlr r0
/* 801697CC 0016672C 38 21 00 20 */ addi r1, r1, 0x20
/* 801697D0 00166730 4E 80 00 20 */ blr
.global sub_801697d4
sub_801697d4:
/* 801697D4 00166734 80 63 00 00 */ lwz r3, 0(r3)
/* 801697D8 00166738 80 04 00 00 */ lwz r0, 0(r4)
/* 801697DC 0016673C 7C 03 00 50 */ subf r0, r3, r0
/* 801697E0 00166740 7C 00 1E 70 */ srawi r0, r0, 3
/* 801697E4 00166744 7C 60 01 94 */ addze r3, r0
/* 801697E8 00166748 4E 80 00 20 */ blr
.global sub_801697ec
sub_801697ec:
/* 801697EC 0016674C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801697F0 00166750 80 E4 00 00 */ lwz r7, 0(r4)
/* 801697F4 00166754 81 03 00 00 */ lwz r8, 0(r3)
/* 801697F8 00166758 54 E6 01 BE */ clrlwi r6, r7, 6
/* 801697FC 0016675C 55 00 01 BE */ clrlwi r0, r8, 6
/* 80169800 00166760 7C 06 00 40 */ cmplw r6, r0
/* 80169804 00166764 40 80 00 24 */ bge lbl_80169828
/* 80169808 00166768 88 C3 00 04 */ lbz r6, 4(r3)
/* 8016980C 0016676C 91 01 00 08 */ stw r8, 8(r1)
/* 80169810 00166770 90 E3 00 00 */ stw r7, 0(r3)
/* 80169814 00166774 88 04 00 04 */ lbz r0, 4(r4)
/* 80169818 00166778 98 C1 00 0C */ stb r6, 0xc(r1)
/* 8016981C 0016677C 98 03 00 04 */ stb r0, 4(r3)
/* 80169820 00166780 91 04 00 00 */ stw r8, 0(r4)
/* 80169824 00166784 98 C4 00 04 */ stb r6, 4(r4)
lbl_80169828:
/* 80169828 00166788 81 25 00 00 */ lwz r9, 0(r5)
/* 8016982C 0016678C 80 E4 00 00 */ lwz r7, 0(r4)
/* 80169830 00166790 55 28 01 BE */ clrlwi r8, r9, 6
/* 80169834 00166794 54 E0 01 BE */ clrlwi r0, r7, 6
/* 80169838 00166798 7C 08 00 40 */ cmplw r8, r0
/* 8016983C 0016679C 40 80 00 4C */ bge lbl_80169888
/* 80169840 001667A0 88 C5 00 04 */ lbz r6, 4(r5)
/* 80169844 001667A4 91 21 00 10 */ stw r9, 0x10(r1)
/* 80169848 001667A8 90 E5 00 00 */ stw r7, 0(r5)
/* 8016984C 001667AC 88 04 00 04 */ lbz r0, 4(r4)
/* 80169850 001667B0 98 C1 00 14 */ stb r6, 0x14(r1)
/* 80169854 001667B4 98 05 00 04 */ stb r0, 4(r5)
/* 80169858 001667B8 80 A3 00 00 */ lwz r5, 0(r3)
/* 8016985C 001667BC 54 A0 01 BE */ clrlwi r0, r5, 6
/* 80169860 001667C0 7C 08 00 40 */ cmplw r8, r0
/* 80169864 001667C4 40 80 00 1C */ bge lbl_80169880
/* 80169868 001667C8 90 A4 00 00 */ stw r5, 0(r4)
/* 8016986C 001667CC 88 03 00 04 */ lbz r0, 4(r3)
/* 80169870 001667D0 98 04 00 04 */ stb r0, 4(r4)
/* 80169874 001667D4 91 23 00 00 */ stw r9, 0(r3)
/* 80169878 001667D8 98 C3 00 04 */ stb r6, 4(r3)
/* 8016987C 001667DC 48 00 00 0C */ b lbl_80169888
lbl_80169880:
/* 80169880 001667E0 91 24 00 00 */ stw r9, 0(r4)
/* 80169884 001667E4 98 C4 00 04 */ stb r6, 4(r4)
lbl_80169888:
/* 80169888 001667E8 38 21 00 20 */ addi r1, r1, 0x20
/* 8016988C 001667EC 4E 80 00 20 */ blr
.global sub_80169890
sub_80169890:
/* 80169890 001667F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80169894 001667F4 80 C3 00 00 */ lwz r6, 0(r3)
/* 80169898 001667F8 38 C6 00 08 */ addi r6, r6, 8
/* 8016989C 001667FC 48 00 00 6C */ b lbl_80169908
lbl_801698A0:
/* 801698A0 00166800 80 A6 00 00 */ lwz r5, 0(r6)
/* 801698A4 00166804 7C C8 33 78 */ mr r8, r6
/* 801698A8 00166808 88 06 00 04 */ lbz r0, 4(r6)
/* 801698AC 0016680C 38 E6 FF F8 */ addi r7, r6, -8
/* 801698B0 00166810 90 A1 00 08 */ stw r5, 8(r1)
/* 801698B4 00166814 54 A5 01 BE */ clrlwi r5, r5, 6
/* 801698B8 00166818 98 01 00 0C */ stb r0, 0xc(r1)
/* 801698BC 0016681C 48 00 00 1C */ b lbl_801698D8
lbl_801698C0:
/* 801698C0 00166820 80 07 00 00 */ lwz r0, 0(r7)
/* 801698C4 00166824 90 08 00 00 */ stw r0, 0(r8)
/* 801698C8 00166828 88 07 00 04 */ lbz r0, 4(r7)
/* 801698CC 0016682C 38 E7 FF F8 */ addi r7, r7, -8
/* 801698D0 00166830 98 08 00 04 */ stb r0, 4(r8)
/* 801698D4 00166834 39 08 FF F8 */ addi r8, r8, -8
lbl_801698D8:
/* 801698D8 00166838 80 03 00 00 */ lwz r0, 0(r3)
/* 801698DC 0016683C 7C 00 40 40 */ cmplw r0, r8
/* 801698E0 00166840 40 80 00 14 */ bge lbl_801698F4
/* 801698E4 00166844 80 07 00 00 */ lwz r0, 0(r7)
/* 801698E8 00166848 54 00 01 BE */ clrlwi r0, r0, 6
/* 801698EC 0016684C 7C 05 00 40 */ cmplw r5, r0
/* 801698F0 00166850 41 80 FF D0 */ blt lbl_801698C0
lbl_801698F4:
/* 801698F4 00166854 80 A1 00 08 */ lwz r5, 8(r1)
/* 801698F8 00166858 38 C6 00 08 */ addi r6, r6, 8
/* 801698FC 0016685C 88 01 00 0C */ lbz r0, 0xc(r1)
/* 80169900 00166860 90 A8 00 00 */ stw r5, 0(r8)
/* 80169904 00166864 98 08 00 04 */ stb r0, 4(r8)
lbl_80169908:
/* 80169908 00166868 80 04 00 00 */ lwz r0, 0(r4)
/* 8016990C 0016686C 7C 06 00 40 */ cmplw r6, r0
/* 80169910 00166870 41 80 FF 90 */ blt lbl_801698A0
/* 80169914 00166874 38 21 00 10 */ addi r1, r1, 0x10
/* 80169918 00166878 4E 80 00 20 */ blr
.section .rodata
.balign 8
.global lbl_803D0428
lbl_803D0428:
# ROM: 0x3CD428
.asciz "??(??)"
.balign 4