tp/asm/d/map/path/d_map_path_dmap.s

2851 lines
140 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 8003eca0
.global dMapInfo_n_NS_chkGetCompass
dMapInfo_n_NS_chkGetCompass:
/* 8003ECA0 0003BBE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003ECA4 0003BBE4 7C 08 02 A6 */ mflr r0
/* 8003ECA8 0003BBE8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003ECAC 0003BBEC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8003ECB0 0003BBF0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8003ECB4 0003BBF4 38 63 09 58 */ addi r3, r3, 0x958
/* 8003ECB8 0003BBF8 38 80 00 01 */ li r4, 1
/* 8003ECBC 0003BBFC 4B FF 5C 79 */ bl isDungeonItem__12dSv_memBit_cCFi
/* 8003ECC0 0003BC00 30 03 FF FF */ addic r0, r3, -1
/* 8003ECC4 0003BC04 7C 60 19 10 */ subfe r3, r0, r3
/* 8003ECC8 0003BC08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003ECCC 0003BC0C 7C 08 03 A6 */ mtlr r0
/* 8003ECD0 0003BC10 38 21 00 10 */ addi r1, r1, 0x10
/* 8003ECD4 0003BC14 4E 80 00 20 */ blr
.global dMapInfo_n_NS_chkGetMap
dMapInfo_n_NS_chkGetMap:
/* 8003ECD8 0003BC18 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003ECDC 0003BC1C 7C 08 02 A6 */ mflr r0
/* 8003ECE0 0003BC20 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003ECE4 0003BC24 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8003ECE8 0003BC28 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8003ECEC 0003BC2C 38 63 09 58 */ addi r3, r3, 0x958
/* 8003ECF0 0003BC30 38 80 00 00 */ li r4, 0
/* 8003ECF4 0003BC34 4B FF 5C 41 */ bl isDungeonItem__12dSv_memBit_cCFi
/* 8003ECF8 0003BC38 30 03 FF FF */ addic r0, r3, -1
/* 8003ECFC 0003BC3C 7C 60 19 10 */ subfe r3, r0, r3
/* 8003ED00 0003BC40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003ED04 0003BC44 7C 08 03 A6 */ mtlr r0
/* 8003ED08 0003BC48 38 21 00 10 */ addi r1, r1, 0x10
/* 8003ED0C 0003BC4C 4E 80 00 20 */ blr
.global dMapInfo_n_NS_isVisitedRoom
dMapInfo_n_NS_isVisitedRoom:
/* 8003ED10 0003BC50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003ED14 0003BC54 7C 08 02 A6 */ mflr r0
/* 8003ED18 0003BC58 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003ED1C 0003BC5C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003ED20 0003BC60 3B E0 00 00 */ li r31, 0
/* 8003ED24 0003BC64 3C 80 80 43 */ lis r4, lbl_8042FC60@ha
/* 8003ED28 0003BC68 38 84 FC 60 */ addi r4, r4, lbl_8042FC60@l
/* 8003ED2C 0003BC6C 88 04 02 FC */ lbz r0, 0x2fc(r4)
/* 8003ED30 0003BC70 28 00 00 00 */ cmplwi r0, 0
/* 8003ED34 0003BC74 40 82 00 10 */ bne lbl_8003ED44
/* 8003ED38 0003BC78 4B FF 0F 61 */ bl dComIfGs_isVisitedRoom
/* 8003ED3C 0003BC7C 2C 03 00 00 */ cmpwi r3, 0
/* 8003ED40 0003BC80 41 82 00 08 */ beq lbl_8003ED48
lbl_8003ED44:
/* 8003ED44 0003BC84 3B E0 00 01 */ li r31, 1
lbl_8003ED48:
/* 8003ED48 0003BC88 7F E3 FB 78 */ mr r3, r31
/* 8003ED4C 0003BC8C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003ED50 0003BC90 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003ED54 0003BC94 7C 08 03 A6 */ mtlr r0
/* 8003ED58 0003BC98 38 21 00 10 */ addi r1, r1, 0x10
/* 8003ED5C 0003BC9C 4E 80 00 20 */ blr
.global dMapInfo_n_NS_correctionOriginPos
dMapInfo_n_NS_correctionOriginPos:
/* 8003ED60 0003BCA0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003ED64 0003BCA4 7C 08 02 A6 */ mflr r0
/* 8003ED68 0003BCA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003ED6C 0003BCAC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003ED70 0003BCB0 93 C1 00 08 */ stw r30, 8(r1)
/* 8003ED74 0003BCB4 7C 9E 23 79 */ or. r30, r4, r4
/* 8003ED78 0003BCB8 3C A0 80 3F */ lis r5, lbl_803F6094@ha
/* 8003ED7C 0003BCBC 38 A5 60 94 */ addi r5, r5, lbl_803F6094@l
/* 8003ED80 0003BCC0 7C 60 07 74 */ extsb r0, r3
/* 8003ED84 0003BCC4 1C 00 04 04 */ mulli r0, r0, 0x404
/* 8003ED88 0003BCC8 7C 65 02 14 */ add r3, r5, r0
/* 8003ED8C 0003BCCC 83 E3 00 20 */ lwz r31, 0x20(r3)
/* 8003ED90 0003BCD0 41 82 00 18 */ beq lbl_8003EDA8
/* 8003ED94 0003BCD4 7F E3 FB 78 */ mr r3, r31
/* 8003ED98 0003BCD8 48 00 00 55 */ bl dMapInfo_n_NS_rotAngle
/* 8003ED9C 0003BCDC 7F E3 FB 78 */ mr r3, r31
/* 8003EDA0 0003BCE0 7F C4 F3 78 */ mr r4, r30
/* 8003EDA4 0003BCE4 48 00 00 1D */ bl dMapInfo_n_NS_offsetPlus
lbl_8003EDA8:
/* 8003EDA8 0003BCE8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003EDAC 0003BCEC 83 C1 00 08 */ lwz r30, 8(r1)
/* 8003EDB0 0003BCF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003EDB4 0003BCF4 7C 08 03 A6 */ mtlr r0
/* 8003EDB8 0003BCF8 38 21 00 10 */ addi r1, r1, 0x10
/* 8003EDBC 0003BCFC 4E 80 00 20 */ blr
.global dMapInfo_n_NS_offsetPlus
dMapInfo_n_NS_offsetPlus:
/* 8003EDC0 0003BD00 28 03 00 00 */ cmplwi r3, 0
/* 8003EDC4 0003BD04 4D 82 00 20 */ beqlr
/* 8003EDC8 0003BD08 C0 24 00 00 */ lfs f1, 0(r4)
/* 8003EDCC 0003BD0C C0 03 00 14 */ lfs f0, 0x14(r3)
/* 8003EDD0 0003BD10 EC 01 00 2A */ fadds f0, f1, f0
/* 8003EDD4 0003BD14 D0 04 00 00 */ stfs f0, 0(r4)
/* 8003EDD8 0003BD18 C0 24 00 08 */ lfs f1, 8(r4)
/* 8003EDDC 0003BD1C C0 03 00 18 */ lfs f0, 0x18(r3)
/* 8003EDE0 0003BD20 EC 01 00 2A */ fadds f0, f1, f0
/* 8003EDE4 0003BD24 D0 04 00 08 */ stfs f0, 8(r4)
/* 8003EDE8 0003BD28 4E 80 00 20 */ blr
.global dMapInfo_n_NS_rotAngle
dMapInfo_n_NS_rotAngle:
/* 8003EDEC 0003BD2C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003EDF0 0003BD30 7C 08 02 A6 */ mflr r0
/* 8003EDF4 0003BD34 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003EDF8 0003BD38 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003EDFC 0003BD3C 7C 9F 23 78 */ mr r31, r4
/* 8003EE00 0003BD40 38 80 00 00 */ li r4, 0
/* 8003EE04 0003BD44 28 03 00 00 */ cmplwi r3, 0
/* 8003EE08 0003BD48 41 82 00 08 */ beq lbl_8003EE10
/* 8003EE0C 0003BD4C A8 83 00 1C */ lha r4, 0x1c(r3)
lbl_8003EE10:
/* 8003EE10 0003BD50 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 8003EE14 0003BD54 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
/* 8003EE18 0003BD58 4B FC D5 C5 */ bl mDoMtx_YrotS
/* 8003EE1C 0003BD5C 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 8003EE20 0003BD60 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
/* 8003EE24 0003BD64 7F E4 FB 78 */ mr r4, r31
/* 8003EE28 0003BD68 38 A1 00 08 */ addi r5, r1, 8
/* 8003EE2C 0003BD6C 48 30 7F 41 */ bl PSMTXMultVec
/* 8003EE30 0003BD70 C0 01 00 08 */ lfs f0, 8(r1)
/* 8003EE34 0003BD74 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8003EE38 0003BD78 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8003EE3C 0003BD7C D0 1F 00 04 */ stfs f0, 4(r31)
/* 8003EE40 0003BD80 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8003EE44 0003BD84 D0 1F 00 08 */ stfs f0, 8(r31)
/* 8003EE48 0003BD88 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003EE4C 0003BD8C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003EE50 0003BD90 7C 08 03 A6 */ mtlr r0
/* 8003EE54 0003BD94 38 21 00 20 */ addi r1, r1, 0x20
/* 8003EE58 0003BD98 4E 80 00 20 */ blr
.global dMapInfo_n_NS_getMapPlayerPos
dMapInfo_n_NS_getMapPlayerPos:
/* 8003EE5C 0003BD9C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003EE60 0003BDA0 7C 08 02 A6 */ mflr r0
/* 8003EE64 0003BDA4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003EE68 0003BDA8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003EE6C 0003BDAC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003EE70 0003BDB0 7C 7E 1B 78 */ mr r30, r3
/* 8003EE74 0003BDB4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8003EE78 0003BDB8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8003EE7C 0003BDBC 80 63 5D AC */ lwz r3, 0x5dac(r3)
/* 8003EE80 0003BDC0 28 03 00 00 */ cmplwi r3, 0
/* 8003EE84 0003BDC4 41 82 00 20 */ beq lbl_8003EEA4
/* 8003EE88 0003BDC8 C0 03 04 D0 */ lfs f0, 0x4d0(r3)
/* 8003EE8C 0003BDCC D0 01 00 08 */ stfs f0, 8(r1)
/* 8003EE90 0003BDD0 C0 03 04 D4 */ lfs f0, 0x4d4(r3)
/* 8003EE94 0003BDD4 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8003EE98 0003BDD8 C0 03 04 D8 */ lfs f0, 0x4d8(r3)
/* 8003EE9C 0003BDDC D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8003EEA0 0003BDE0 48 00 00 14 */ b lbl_8003EEB4
lbl_8003EEA4:
/* 8003EEA4 0003BDE4 C0 02 84 28 */ lfs f0, lbl_80451E28-_SDA2_BASE_(r2)
/* 8003EEA8 0003BDE8 D0 01 00 08 */ stfs f0, 8(r1)
/* 8003EEAC 0003BDEC D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8003EEB0 0003BDF0 D0 01 00 10 */ stfs f0, 0x10(r1)
lbl_8003EEB4:
/* 8003EEB4 0003BDF4 88 0D 87 E4 */ lbz r0, lbl_80450D64-_SDA_BASE_(r13)
/* 8003EEB8 0003BDF8 7C 00 07 74 */ extsb r0, r0
/* 8003EEBC 0003BDFC 3C 60 80 3F */ lis r3, lbl_803F6094@ha
/* 8003EEC0 0003BE00 38 63 60 94 */ addi r3, r3, lbl_803F6094@l
/* 8003EEC4 0003BE04 1C 00 04 04 */ mulli r0, r0, 0x404
/* 8003EEC8 0003BE08 7C 63 02 14 */ add r3, r3, r0
/* 8003EECC 0003BE0C 83 E3 00 20 */ lwz r31, 0x20(r3)
/* 8003EED0 0003BE10 28 1F 00 00 */ cmplwi r31, 0
/* 8003EED4 0003BE14 41 82 00 1C */ beq lbl_8003EEF0
/* 8003EED8 0003BE18 7F E3 FB 78 */ mr r3, r31
/* 8003EEDC 0003BE1C 38 81 00 08 */ addi r4, r1, 8
/* 8003EEE0 0003BE20 4B FF FF 0D */ bl dMapInfo_n_NS_rotAngle
/* 8003EEE4 0003BE24 7F E3 FB 78 */ mr r3, r31
/* 8003EEE8 0003BE28 38 81 00 08 */ addi r4, r1, 8
/* 8003EEEC 0003BE2C 4B FF FE D5 */ bl dMapInfo_n_NS_offsetPlus
lbl_8003EEF0:
/* 8003EEF0 0003BE30 80 61 00 08 */ lwz r3, 8(r1)
/* 8003EEF4 0003BE34 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8003EEF8 0003BE38 90 7E 00 00 */ stw r3, 0(r30)
/* 8003EEFC 0003BE3C 90 1E 00 04 */ stw r0, 4(r30)
/* 8003EF00 0003BE40 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8003EF04 0003BE44 90 1E 00 08 */ stw r0, 8(r30)
/* 8003EF08 0003BE48 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003EF0C 0003BE4C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003EF10 0003BE50 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003EF14 0003BE54 7C 08 03 A6 */ mtlr r0
/* 8003EF18 0003BE58 38 21 00 20 */ addi r1, r1, 0x20
/* 8003EF1C 0003BE5C 4E 80 00 20 */ blr
.global dMapInfo_n_NS_getMapPlayerAngleY
dMapInfo_n_NS_getMapPlayerAngleY:
/* 8003EF20 0003BE60 88 0D 87 E4 */ lbz r0, lbl_80450D64-_SDA_BASE_(r13)
/* 8003EF24 0003BE64 7C 00 07 74 */ extsb r0, r0
/* 8003EF28 0003BE68 38 60 00 00 */ li r3, 0
/* 8003EF2C 0003BE6C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha
/* 8003EF30 0003BE70 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l
/* 8003EF34 0003BE74 80 84 5D AC */ lwz r4, 0x5dac(r4)
/* 8003EF38 0003BE78 28 04 00 00 */ cmplwi r4, 0
/* 8003EF3C 0003BE7C 41 82 00 08 */ beq lbl_8003EF44
/* 8003EF40 0003BE80 A8 64 04 E6 */ lha r3, 0x4e6(r4)
lbl_8003EF44:
/* 8003EF44 0003BE84 3C 80 80 3F */ lis r4, lbl_803F6094@ha
/* 8003EF48 0003BE88 38 84 60 94 */ addi r4, r4, lbl_803F6094@l
/* 8003EF4C 0003BE8C 1C 00 04 04 */ mulli r0, r0, 0x404
/* 8003EF50 0003BE90 7C 84 02 14 */ add r4, r4, r0
/* 8003EF54 0003BE94 80 84 00 20 */ lwz r4, 0x20(r4)
/* 8003EF58 0003BE98 28 04 00 00 */ cmplwi r4, 0
/* 8003EF5C 0003BE9C 4D 82 00 20 */ beqlr
/* 8003EF60 0003BEA0 A8 04 00 1C */ lha r0, 0x1c(r4)
/* 8003EF64 0003BEA4 7C 03 02 14 */ add r0, r3, r0
/* 8003EF68 0003BEA8 7C 03 07 34 */ extsh r3, r0
/* 8003EF6C 0003BEAC 4E 80 00 20 */ blr
.global dMapInfo_n_NS_getConstRestartIconPointer
dMapInfo_n_NS_getConstRestartIconPointer:
/* 8003EF70 0003BEB0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003EF74 0003BEB4 7C 08 02 A6 */ mflr r0
/* 8003EF78 0003BEB8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003EF7C 0003BEBC 39 61 00 20 */ addi r11, r1, 0x20
/* 8003EF80 0003BEC0 48 32 32 59 */ bl _savegpr_28
/* 8003EF84 0003BEC4 3C 60 80 42 */ lis r3, lbl_80425438@ha
/* 8003EF88 0003BEC8 38 63 54 38 */ addi r3, r3, lbl_80425438@l
/* 8003EF8C 0003BECC 8B C3 00 5C */ lbz r30, 0x5c(r3)
/* 8003EF90 0003BED0 38 60 00 07 */ li r3, 7
/* 8003EF94 0003BED4 48 05 D3 CD */ bl dTres_c_NS_getFirstData
/* 8003EF98 0003BED8 7C 7D 1B 78 */ mr r29, r3
/* 8003EF9C 0003BEDC 3B 80 00 00 */ li r28, 0
/* 8003EFA0 0003BEE0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8003EFA4 0003BEE4 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l
/* 8003EFA8 0003BEE8 48 00 00 58 */ b lbl_8003F000
lbl_8003EFAC:
/* 8003EFAC 0003BEEC 88 1D 00 01 */ lbz r0, 1(r29)
/* 8003EFB0 0003BEF0 7C 05 07 74 */ extsb r5, r0
/* 8003EFB4 0003BEF4 88 1F 0D B4 */ lbz r0, 0xdb4(r31)
/* 8003EFB8 0003BEF8 7C 00 07 74 */ extsb r0, r0
/* 8003EFBC 0003BEFC 7C 05 00 00 */ cmpw r5, r0
/* 8003EFC0 0003BF00 40 82 00 30 */ bne lbl_8003EFF0
/* 8003EFC4 0003BF04 88 1D 00 10 */ lbz r0, 0x10(r29)
/* 8003EFC8 0003BF08 28 00 00 FF */ cmplwi r0, 0xff
/* 8003EFCC 0003BF0C 41 82 00 44 */ beq lbl_8003F010
/* 8003EFD0 0003BF10 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 8003EFD4 0003BF14 28 04 00 FF */ cmplwi r4, 0xff
/* 8003EFD8 0003BF18 41 82 00 18 */ beq lbl_8003EFF0
/* 8003EFDC 0003BF1C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8003EFE0 0003BF20 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8003EFE4 0003BF24 4B FF 63 7D */ bl isSwitch__10dSv_info_cCFii
/* 8003EFE8 0003BF28 2C 03 00 00 */ cmpwi r3, 0
/* 8003EFEC 0003BF2C 40 82 00 24 */ bne lbl_8003F010
lbl_8003EFF0:
/* 8003EFF0 0003BF30 7F A3 EB 78 */ mr r3, r29
/* 8003EFF4 0003BF34 48 05 D3 C1 */ bl dTres_c_NS_getNextData_X1_
/* 8003EFF8 0003BF38 7C 7D 1B 78 */ mr r29, r3
/* 8003EFFC 0003BF3C 3B 9C 00 01 */ addi r28, r28, 1
lbl_8003F000:
/* 8003F000 0003BF40 7C 1C F0 00 */ cmpw r28, r30
/* 8003F004 0003BF44 40 80 00 0C */ bge lbl_8003F010
/* 8003F008 0003BF48 28 1D 00 00 */ cmplwi r29, 0
/* 8003F00C 0003BF4C 40 82 FF A0 */ bne lbl_8003EFAC
lbl_8003F010:
/* 8003F010 0003BF50 7F A3 EB 78 */ mr r3, r29
/* 8003F014 0003BF54 39 61 00 20 */ addi r11, r1, 0x20
/* 8003F018 0003BF58 48 32 32 0D */ bl _restgpr_28
/* 8003F01C 0003BF5C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003F020 0003BF60 7C 08 03 A6 */ mtlr r0
/* 8003F024 0003BF64 38 21 00 20 */ addi r1, r1, 0x20
/* 8003F028 0003BF68 4E 80 00 20 */ blr
.global dMapInfo_n_NS_getMapRestartPos
dMapInfo_n_NS_getMapRestartPos:
/* 8003F02C 0003BF6C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003F030 0003BF70 7C 08 02 A6 */ mflr r0
/* 8003F034 0003BF74 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003F038 0003BF78 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003F03C 0003BF7C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003F040 0003BF80 7C 7E 1B 78 */ mr r30, r3
/* 8003F044 0003BF84 4B FF FF 2D */ bl dMapInfo_n_NS_getConstRestartIconPointer
/* 8003F048 0003BF88 28 03 00 00 */ cmplwi r3, 0
/* 8003F04C 0003BF8C 41 82 00 20 */ beq lbl_8003F06C
/* 8003F050 0003BF90 C0 03 00 04 */ lfs f0, 4(r3)
/* 8003F054 0003BF94 D0 01 00 08 */ stfs f0, 8(r1)
/* 8003F058 0003BF98 C0 03 00 08 */ lfs f0, 8(r3)
/* 8003F05C 0003BF9C D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8003F060 0003BFA0 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8003F064 0003BFA4 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8003F068 0003BFA8 48 00 00 24 */ b lbl_8003F08C
lbl_8003F06C:
/* 8003F06C 0003BFAC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8003F070 0003BFB0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8003F074 0003BFB4 C0 03 0D BC */ lfs f0, 0xdbc(r3)
/* 8003F078 0003BFB8 D0 01 00 08 */ stfs f0, 8(r1)
/* 8003F07C 0003BFBC C0 03 0D C0 */ lfs f0, 0xdc0(r3)
/* 8003F080 0003BFC0 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8003F084 0003BFC4 C0 03 0D C4 */ lfs f0, 0xdc4(r3)
/* 8003F088 0003BFC8 D0 01 00 10 */ stfs f0, 0x10(r1)
lbl_8003F08C:
/* 8003F08C 0003BFCC 3C 60 80 3F */ lis r3, lbl_803F6094@ha
/* 8003F090 0003BFD0 38 83 60 94 */ addi r4, r3, lbl_803F6094@l
/* 8003F094 0003BFD4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8003F098 0003BFD8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8003F09C 0003BFDC 88 03 0D B4 */ lbz r0, 0xdb4(r3)
/* 8003F0A0 0003BFE0 7C 00 07 74 */ extsb r0, r0
/* 8003F0A4 0003BFE4 1C 00 04 04 */ mulli r0, r0, 0x404
/* 8003F0A8 0003BFE8 7C 64 02 14 */ add r3, r4, r0
/* 8003F0AC 0003BFEC 83 E3 00 20 */ lwz r31, 0x20(r3)
/* 8003F0B0 0003BFF0 7F E3 FB 78 */ mr r3, r31
/* 8003F0B4 0003BFF4 38 81 00 08 */ addi r4, r1, 8
/* 8003F0B8 0003BFF8 4B FF FD 35 */ bl dMapInfo_n_NS_rotAngle
/* 8003F0BC 0003BFFC 7F E3 FB 78 */ mr r3, r31
/* 8003F0C0 0003C000 38 81 00 08 */ addi r4, r1, 8
/* 8003F0C4 0003C004 4B FF FC FD */ bl dMapInfo_n_NS_offsetPlus
/* 8003F0C8 0003C008 80 61 00 08 */ lwz r3, 8(r1)
/* 8003F0CC 0003C00C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8003F0D0 0003C010 90 7E 00 00 */ stw r3, 0(r30)
/* 8003F0D4 0003C014 90 1E 00 04 */ stw r0, 4(r30)
/* 8003F0D8 0003C018 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8003F0DC 0003C01C 90 1E 00 08 */ stw r0, 8(r30)
/* 8003F0E0 0003C020 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003F0E4 0003C024 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003F0E8 0003C028 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003F0EC 0003C02C 7C 08 03 A6 */ mtlr r0
/* 8003F0F0 0003C030 38 21 00 20 */ addi r1, r1, 0x20
/* 8003F0F4 0003C034 4E 80 00 20 */ blr
.global dMapInfo_n_NS_getMapRestartAngleY
dMapInfo_n_NS_getMapRestartAngleY:
/* 8003F0F8 0003C038 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003F0FC 0003C03C 7C 08 02 A6 */ mflr r0
/* 8003F100 0003C040 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003F104 0003C044 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003F108 0003C048 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8003F10C 0003C04C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8003F110 0003C050 AB E3 0D BA */ lha r31, 0xdba(r3)
/* 8003F114 0003C054 4B FF FE 5D */ bl dMapInfo_n_NS_getConstRestartIconPointer
/* 8003F118 0003C058 28 03 00 00 */ cmplwi r3, 0
/* 8003F11C 0003C05C 41 82 00 34 */ beq lbl_8003F150
/* 8003F120 0003C060 88 03 00 13 */ lbz r0, 0x13(r3)
/* 8003F124 0003C064 7C 00 07 74 */ extsb r0, r0
/* 8003F128 0003C068 7C 1F 03 78 */ mr r31, r0
/* 8003F12C 0003C06C 7C 60 00 D0 */ neg r3, r0
/* 8003F130 0003C070 7C 60 00 78 */ andc r0, r3, r0
/* 8003F134 0003C074 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 8003F138 0003C078 41 82 00 08 */ beq lbl_8003F140
/* 8003F13C 0003C07C 7C 7F 1B 78 */ mr r31, r3
lbl_8003F140:
/* 8003F140 0003C080 57 FF 40 2E */ slwi r31, r31, 8
/* 8003F144 0003C084 28 00 00 00 */ cmplwi r0, 0
/* 8003F148 0003C088 41 82 00 08 */ beq lbl_8003F150
/* 8003F14C 0003C08C 7F FF 00 D0 */ neg r31, r31
lbl_8003F150:
/* 8003F150 0003C090 3C 60 80 3F */ lis r3, lbl_803F6094@ha
/* 8003F154 0003C094 38 83 60 94 */ addi r4, r3, lbl_803F6094@l
/* 8003F158 0003C098 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8003F15C 0003C09C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8003F160 0003C0A0 88 03 0D B4 */ lbz r0, 0xdb4(r3)
/* 8003F164 0003C0A4 7C 00 07 74 */ extsb r0, r0
/* 8003F168 0003C0A8 1C 00 04 04 */ mulli r0, r0, 0x404
/* 8003F16C 0003C0AC 7C 64 02 14 */ add r3, r4, r0
/* 8003F170 0003C0B0 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8003F174 0003C0B4 28 03 00 00 */ cmplwi r3, 0
/* 8003F178 0003C0B8 41 82 00 0C */ beq lbl_8003F184
/* 8003F17C 0003C0BC A8 03 00 1C */ lha r0, 0x1c(r3)
/* 8003F180 0003C0C0 7F FF 02 14 */ add r31, r31, r0
lbl_8003F184:
/* 8003F184 0003C0C4 7F E3 07 34 */ extsh r3, r31
/* 8003F188 0003C0C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003F18C 0003C0CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003F190 0003C0D0 7C 08 03 A6 */ mtlr r0
/* 8003F194 0003C0D4 38 21 00 10 */ addi r1, r1, 0x10
/* 8003F198 0003C0D8 4E 80 00 20 */ blr
.global dMapInfo_n_NS_getRoomCenter
dMapInfo_n_NS_getRoomCenter:
/* 8003F19C 0003C0DC 3C C0 80 3F */ lis r6, lbl_803F6094@ha
/* 8003F1A0 0003C0E0 38 C6 60 94 */ addi r6, r6, lbl_803F6094@l
/* 8003F1A4 0003C0E4 1C 03 04 04 */ mulli r0, r3, 0x404
/* 8003F1A8 0003C0E8 7C 66 02 14 */ add r3, r6, r0
/* 8003F1AC 0003C0EC 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8003F1B0 0003C0F0 28 04 00 00 */ cmplwi r4, 0
/* 8003F1B4 0003C0F4 41 82 00 1C */ beq lbl_8003F1D0
/* 8003F1B8 0003C0F8 C0 42 84 2C */ lfs f2, lbl_80451E2C-_SDA2_BASE_(r2)
/* 8003F1BC 0003C0FC C0 23 00 08 */ lfs f1, 8(r3)
/* 8003F1C0 0003C100 C0 03 00 00 */ lfs f0, 0(r3)
/* 8003F1C4 0003C104 EC 01 00 2A */ fadds f0, f1, f0
/* 8003F1C8 0003C108 EC 02 00 32 */ fmuls f0, f2, f0
/* 8003F1CC 0003C10C D0 04 00 00 */ stfs f0, 0(r4)
lbl_8003F1D0:
/* 8003F1D0 0003C110 28 05 00 00 */ cmplwi r5, 0
/* 8003F1D4 0003C114 4D 82 00 20 */ beqlr
/* 8003F1D8 0003C118 C0 42 84 2C */ lfs f2, lbl_80451E2C-_SDA2_BASE_(r2)
/* 8003F1DC 0003C11C C0 23 00 0C */ lfs f1, 0xc(r3)
/* 8003F1E0 0003C120 C0 03 00 04 */ lfs f0, 4(r3)
/* 8003F1E4 0003C124 EC 01 00 2A */ fadds f0, f1, f0
/* 8003F1E8 0003C128 EC 02 00 32 */ fmuls f0, f2, f0
/* 8003F1EC 0003C12C D0 05 00 00 */ stfs f0, 0(r5)
/* 8003F1F0 0003C130 4E 80 00 20 */ blr
.global dMapInfo_n_NS_getRoomMinMaxXZ
dMapInfo_n_NS_getRoomMinMaxXZ:
/* 8003F1F4 0003C134 3D 00 80 3F */ lis r8, lbl_803F6094@ha
/* 8003F1F8 0003C138 39 08 60 94 */ addi r8, r8, lbl_803F6094@l
/* 8003F1FC 0003C13C 1C 03 04 04 */ mulli r0, r3, 0x404
/* 8003F200 0003C140 7C 68 02 14 */ add r3, r8, r0
/* 8003F204 0003C144 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8003F208 0003C148 28 04 00 00 */ cmplwi r4, 0
/* 8003F20C 0003C14C 41 82 00 0C */ beq lbl_8003F218
/* 8003F210 0003C150 C0 03 00 00 */ lfs f0, 0(r3)
/* 8003F214 0003C154 D0 04 00 00 */ stfs f0, 0(r4)
lbl_8003F218:
/* 8003F218 0003C158 28 06 00 00 */ cmplwi r6, 0
/* 8003F21C 0003C15C 41 82 00 0C */ beq lbl_8003F228
/* 8003F220 0003C160 C0 03 00 08 */ lfs f0, 8(r3)
/* 8003F224 0003C164 D0 06 00 00 */ stfs f0, 0(r6)
lbl_8003F228:
/* 8003F228 0003C168 28 05 00 00 */ cmplwi r5, 0
/* 8003F22C 0003C16C 41 82 00 0C */ beq lbl_8003F238
/* 8003F230 0003C170 C0 03 00 04 */ lfs f0, 4(r3)
/* 8003F234 0003C174 D0 05 00 00 */ stfs f0, 0(r5)
lbl_8003F238:
/* 8003F238 0003C178 28 07 00 00 */ cmplwi r7, 0
/* 8003F23C 0003C17C 4D 82 00 20 */ beqlr
/* 8003F240 0003C180 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8003F244 0003C184 D0 07 00 00 */ stfs f0, 0(r7)
/* 8003F248 0003C188 4E 80 00 20 */ blr
.global dMapInfo_n_NS_getFloorParameter
dMapInfo_n_NS_getFloorParameter:
/* 8003F24C 0003C18C 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 8003F250 0003C190 7C 08 02 A6 */ mflr r0
/* 8003F254 0003C194 90 01 00 84 */ stw r0, 0x84(r1)
/* 8003F258 0003C198 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 8003F25C 0003C19C F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 8003F260 0003C1A0 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 8003F264 0003C1A4 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 8003F268 0003C1A8 DB A1 00 50 */ stfd f29, 0x50(r1)
/* 8003F26C 0003C1AC F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
/* 8003F270 0003C1B0 DB 81 00 40 */ stfd f28, 0x40(r1)
/* 8003F274 0003C1B4 F3 81 00 48 */ psq_st f28, 72(r1), 0, qr0
/* 8003F278 0003C1B8 39 61 00 40 */ addi r11, r1, 0x40
/* 8003F27C 0003C1BC 48 32 2F 55 */ bl _savegpr_26
/* 8003F280 0003C1C0 FF 80 08 90 */ fmr f28, f1
/* 8003F284 0003C1C4 7C 7B 1B 78 */ mr r27, r3
/* 8003F288 0003C1C8 7C 9C 23 78 */ mr r28, r4
/* 8003F28C 0003C1CC 7C BD 2B 78 */ mr r29, r5
/* 8003F290 0003C1D0 7C DE 33 78 */ mr r30, r6
/* 8003F294 0003C1D4 7C FF 3B 78 */ mr r31, r7
/* 8003F298 0003C1D8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8003F29C 0003C1DC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8003F2A0 0003C1E0 3B 43 4E 20 */ addi r26, r3, 0x4e20
/* 8003F2A4 0003C1E4 7F 43 D3 78 */ mr r3, r26
/* 8003F2A8 0003C1E8 81 9A 00 00 */ lwz r12, 0(r26)
/* 8003F2AC 0003C1EC 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 8003F2B0 0003C1F0 7D 89 03 A6 */ mtctr r12
/* 8003F2B4 0003C1F4 4E 80 04 21 */ bctrl
/* 8003F2B8 0003C1F8 A8 03 00 1A */ lha r0, 0x1a(r3)
/* 8003F2BC 0003C1FC C8 22 84 30 */ lfd f1, lbl_80451E30-_SDA2_BASE_(r2)
/* 8003F2C0 0003C200 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8003F2C4 0003C204 90 01 00 0C */ stw r0, 0xc(r1)
/* 8003F2C8 0003C208 3C 00 43 30 */ lis r0, 0x4330
/* 8003F2CC 0003C20C 90 01 00 08 */ stw r0, 8(r1)
/* 8003F2D0 0003C210 C8 01 00 08 */ lfd f0, 8(r1)
/* 8003F2D4 0003C214 EF E0 08 28 */ fsubs f31, f0, f1
/* 8003F2D8 0003C218 7F 43 D3 78 */ mr r3, r26
/* 8003F2DC 0003C21C 81 9A 00 00 */ lwz r12, 0(r26)
/* 8003F2E0 0003C220 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 8003F2E4 0003C224 7D 89 03 A6 */ mtctr r12
/* 8003F2E8 0003C228 4E 80 04 21 */ bctrl
/* 8003F2EC 0003C22C A8 03 00 1C */ lha r0, 0x1c(r3)
/* 8003F2F0 0003C230 C8 22 84 30 */ lfd f1, lbl_80451E30-_SDA2_BASE_(r2)
/* 8003F2F4 0003C234 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8003F2F8 0003C238 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003F2FC 0003C23C 3C 00 43 30 */ lis r0, 0x4330
/* 8003F300 0003C240 90 01 00 10 */ stw r0, 0x10(r1)
/* 8003F304 0003C244 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8003F308 0003C248 EC 00 08 28 */ fsubs f0, f0, f1
/* 8003F30C 0003C24C FC 00 02 10 */ fabs f0, f0
/* 8003F310 0003C250 FF C0 00 18 */ frsp f30, f0
/* 8003F314 0003C254 7F 43 D3 78 */ mr r3, r26
/* 8003F318 0003C258 81 9A 00 00 */ lwz r12, 0(r26)
/* 8003F31C 0003C25C 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 8003F320 0003C260 7D 89 03 A6 */ mtctr r12
/* 8003F324 0003C264 4E 80 04 21 */ bctrl
/* 8003F328 0003C268 A8 03 00 1E */ lha r0, 0x1e(r3)
/* 8003F32C 0003C26C C8 22 84 30 */ lfd f1, lbl_80451E30-_SDA2_BASE_(r2)
/* 8003F330 0003C270 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8003F334 0003C274 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8003F338 0003C278 3C 00 43 30 */ lis r0, 0x4330
/* 8003F33C 0003C27C 90 01 00 18 */ stw r0, 0x18(r1)
/* 8003F340 0003C280 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 8003F344 0003C284 EC 00 08 28 */ fsubs f0, f0, f1
/* 8003F348 0003C288 FC 00 02 10 */ fabs f0, f0
/* 8003F34C 0003C28C FF A0 00 18 */ frsp f29, f0
/* 8003F350 0003C290 EC 3C F8 24 */ fdivs f1, f28, f31
/* 8003F354 0003C294 48 32 CD A9 */ bl func_8036C0FC
/* 8003F358 0003C298 FC 00 08 18 */ frsp f0, f1
/* 8003F35C 0003C29C FC 00 00 1E */ fctiwz f0, f0
/* 8003F360 0003C2A0 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 8003F364 0003C2A4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003F368 0003C2A8 28 1B 00 00 */ cmplwi r27, 0
/* 8003F36C 0003C2AC 41 82 00 08 */ beq lbl_8003F374
/* 8003F370 0003C2B0 98 1B 00 00 */ stb r0, 0(r27)
lbl_8003F374:
/* 8003F374 0003C2B4 7C 00 07 74 */ extsb r0, r0
/* 8003F378 0003C2B8 C8 22 84 30 */ lfd f1, lbl_80451E30-_SDA2_BASE_(r2)
/* 8003F37C 0003C2BC 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8003F380 0003C2C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003F384 0003C2C4 3C 00 43 30 */ lis r0, 0x4330
/* 8003F388 0003C2C8 90 01 00 20 */ stw r0, 0x20(r1)
/* 8003F38C 0003C2CC C8 01 00 20 */ lfd f0, 0x20(r1)
/* 8003F390 0003C2D0 EC 00 08 28 */ fsubs f0, f0, f1
/* 8003F394 0003C2D4 EC 20 07 F2 */ fmuls f1, f0, f31
/* 8003F398 0003C2D8 28 1C 00 00 */ cmplwi r28, 0
/* 8003F39C 0003C2DC 41 82 00 08 */ beq lbl_8003F3A4
/* 8003F3A0 0003C2E0 D0 3C 00 00 */ stfs f1, 0(r28)
lbl_8003F3A4:
/* 8003F3A4 0003C2E4 28 1D 00 00 */ cmplwi r29, 0
/* 8003F3A8 0003C2E8 41 82 00 0C */ beq lbl_8003F3B4
/* 8003F3AC 0003C2EC EC 01 F0 2A */ fadds f0, f1, f30
/* 8003F3B0 0003C2F0 D0 1D 00 00 */ stfs f0, 0(r29)
lbl_8003F3B4:
/* 8003F3B4 0003C2F4 28 1E 00 00 */ cmplwi r30, 0
/* 8003F3B8 0003C2F8 41 82 00 10 */ beq lbl_8003F3C8
/* 8003F3BC 0003C2FC EC 01 F8 2A */ fadds f0, f1, f31
/* 8003F3C0 0003C300 EC 00 E8 28 */ fsubs f0, f0, f29
/* 8003F3C4 0003C304 D0 1E 00 00 */ stfs f0, 0(r30)
lbl_8003F3C8:
/* 8003F3C8 0003C308 28 1F 00 00 */ cmplwi r31, 0
/* 8003F3CC 0003C30C 41 82 00 08 */ beq lbl_8003F3D4
/* 8003F3D0 0003C310 D3 FF 00 00 */ stfs f31, 0(r31)
lbl_8003F3D4:
/* 8003F3D4 0003C314 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 8003F3D8 0003C318 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 8003F3DC 0003C31C E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 8003F3E0 0003C320 CB C1 00 60 */ lfd f30, 0x60(r1)
/* 8003F3E4 0003C324 E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0
/* 8003F3E8 0003C328 CB A1 00 50 */ lfd f29, 0x50(r1)
/* 8003F3EC 0003C32C E3 81 00 48 */ psq_l f28, 72(r1), 0, qr0
/* 8003F3F0 0003C330 CB 81 00 40 */ lfd f28, 0x40(r1)
/* 8003F3F4 0003C334 39 61 00 40 */ addi r11, r1, 0x40
/* 8003F3F8 0003C338 48 32 2E 25 */ bl _restgpr_26
/* 8003F3FC 0003C33C 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8003F400 0003C340 7C 08 03 A6 */ mtlr r0
/* 8003F404 0003C344 38 21 00 80 */ addi r1, r1, 0x80
/* 8003F408 0003C348 4E 80 00 20 */ blr
.global dMapInfo_c_NS_calcFloorNo
dMapInfo_c_NS_calcFloorNo:
/* 8003F40C 0003C34C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003F410 0003C350 7C 08 02 A6 */ mflr r0
/* 8003F414 0003C354 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003F418 0003C358 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8003F41C 0003C35C F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8003F420 0003C360 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003F424 0003C364 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003F428 0003C368 FF E0 08 90 */ fmr f31, f1
/* 8003F42C 0003C36C 7C 7E 1B 78 */ mr r30, r3
/* 8003F430 0003C370 7C 9F 23 78 */ mr r31, r4
/* 8003F434 0003C374 38 61 00 08 */ addi r3, r1, 8
/* 8003F438 0003C378 38 80 00 00 */ li r4, 0
/* 8003F43C 0003C37C 38 A1 00 10 */ addi r5, r1, 0x10
/* 8003F440 0003C380 38 C1 00 0C */ addi r6, r1, 0xc
/* 8003F444 0003C384 38 E0 00 00 */ li r7, 0
/* 8003F448 0003C388 4B FF FE 05 */ bl dMapInfo_n_NS_getFloorParameter
/* 8003F44C 0003C38C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8003F450 0003C390 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8003F454 0003C394 40 80 00 80 */ bge lbl_8003F4D4
/* 8003F458 0003C398 C0 41 00 0C */ lfs f2, 0xc(r1)
/* 8003F45C 0003C39C FC 1F 10 40 */ fcmpo cr0, f31, f2
/* 8003F460 0003C3A0 4C 41 13 82 */ cror 2, 1, 2
/* 8003F464 0003C3A4 40 82 00 7C */ bne lbl_8003F4E0
/* 8003F468 0003C3A8 80 0D 88 DC */ lwz r0, lbl_80450E5C-_SDA_BASE_(r13)
/* 8003F46C 0003C3AC 7C 1F 00 00 */ cmpw r31, r0
/* 8003F470 0003C3B0 40 82 00 3C */ bne lbl_8003F4AC
/* 8003F474 0003C3B4 88 0D 88 E0 */ lbz r0, lbl_80450E60-_SDA_BASE_(r13)
/* 8003F478 0003C3B8 28 00 00 00 */ cmplwi r0, 0
/* 8003F47C 0003C3BC 41 82 00 30 */ beq lbl_8003F4AC
/* 8003F480 0003C3C0 88 AD 88 D8 */ lbz r5, lbl_80450E58-_SDA_BASE_(r13)
/* 8003F484 0003C3C4 7C A4 07 74 */ extsb r4, r5
/* 8003F488 0003C3C8 88 01 00 08 */ lbz r0, 8(r1)
/* 8003F48C 0003C3CC 7C 03 07 74 */ extsb r3, r0
/* 8003F490 0003C3D0 7C 04 18 00 */ cmpw r4, r3
/* 8003F494 0003C3D4 41 82 00 10 */ beq lbl_8003F4A4
/* 8003F498 0003C3D8 38 03 00 01 */ addi r0, r3, 1
/* 8003F49C 0003C3DC 7C 04 00 00 */ cmpw r4, r0
/* 8003F4A0 0003C3E0 40 82 00 0C */ bne lbl_8003F4AC
lbl_8003F4A4:
/* 8003F4A4 0003C3E4 98 A1 00 08 */ stb r5, 8(r1)
/* 8003F4A8 0003C3E8 48 00 00 38 */ b lbl_8003F4E0
lbl_8003F4AC:
/* 8003F4AC 0003C3EC C0 22 84 2C */ lfs f1, lbl_80451E2C-_SDA2_BASE_(r2)
/* 8003F4B0 0003C3F0 EC 02 00 2A */ fadds f0, f2, f0
/* 8003F4B4 0003C3F4 EC 01 00 32 */ fmuls f0, f1, f0
/* 8003F4B8 0003C3F8 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8003F4BC 0003C3FC 4C 41 13 82 */ cror 2, 1, 2
/* 8003F4C0 0003C400 40 82 00 20 */ bne lbl_8003F4E0
/* 8003F4C4 0003C404 88 61 00 08 */ lbz r3, 8(r1)
/* 8003F4C8 0003C408 38 03 00 01 */ addi r0, r3, 1
/* 8003F4CC 0003C40C 98 01 00 08 */ stb r0, 8(r1)
/* 8003F4D0 0003C410 48 00 00 10 */ b lbl_8003F4E0
lbl_8003F4D4:
/* 8003F4D4 0003C414 88 61 00 08 */ lbz r3, 8(r1)
/* 8003F4D8 0003C418 38 03 00 01 */ addi r0, r3, 1
/* 8003F4DC 0003C41C 98 01 00 08 */ stb r0, 8(r1)
lbl_8003F4E0:
/* 8003F4E0 0003C420 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 8003F4E4 0003C424 41 82 00 68 */ beq lbl_8003F54C
/* 8003F4E8 0003C428 2C 1F 00 00 */ cmpwi r31, 0
/* 8003F4EC 0003C42C 41 80 00 60 */ blt lbl_8003F54C
/* 8003F4F0 0003C430 2C 1F 00 40 */ cmpwi r31, 0x40
/* 8003F4F4 0003C434 40 80 00 58 */ bge lbl_8003F54C
/* 8003F4F8 0003C438 3C 60 80 3F */ lis r3, lbl_803F6094@ha
/* 8003F4FC 0003C43C 38 63 60 94 */ addi r3, r3, lbl_803F6094@l
/* 8003F500 0003C440 1C 1F 04 04 */ mulli r0, r31, 0x404
/* 8003F504 0003C444 7C 63 02 14 */ add r3, r3, r0
/* 8003F508 0003C448 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8003F50C 0003C44C 28 03 00 00 */ cmplwi r3, 0
/* 8003F510 0003C450 41 82 00 3C */ beq lbl_8003F54C
/* 8003F514 0003C454 88 03 00 10 */ lbz r0, 0x10(r3)
/* 8003F518 0003C458 7C 04 07 74 */ extsb r4, r0
/* 8003F51C 0003C45C 88 03 00 11 */ lbz r0, 0x11(r3)
/* 8003F520 0003C460 7C 03 07 74 */ extsb r3, r0
/* 8003F524 0003C464 88 01 00 08 */ lbz r0, 8(r1)
/* 8003F528 0003C468 7C 00 07 74 */ extsb r0, r0
/* 8003F52C 0003C46C 7C 00 20 00 */ cmpw r0, r4
/* 8003F530 0003C470 40 80 00 08 */ bge lbl_8003F538
/* 8003F534 0003C474 98 81 00 08 */ stb r4, 8(r1)
lbl_8003F538:
/* 8003F538 0003C478 88 01 00 08 */ lbz r0, 8(r1)
/* 8003F53C 0003C47C 7C 00 07 74 */ extsb r0, r0
/* 8003F540 0003C480 7C 00 18 00 */ cmpw r0, r3
/* 8003F544 0003C484 40 81 00 08 */ ble lbl_8003F54C
/* 8003F548 0003C488 98 61 00 08 */ stb r3, 8(r1)
lbl_8003F54C:
/* 8003F54C 0003C48C 88 61 00 08 */ lbz r3, 8(r1)
/* 8003F550 0003C490 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8003F554 0003C494 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8003F558 0003C498 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003F55C 0003C49C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003F560 0003C4A0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003F564 0003C4A4 7C 08 03 A6 */ mtlr r0
/* 8003F568 0003C4A8 38 21 00 30 */ addi r1, r1, 0x30
/* 8003F56C 0003C4AC 4E 80 00 20 */ blr
.global dMapInfo_c_NS_calcNowStayFloorNo
dMapInfo_c_NS_calcNowStayFloorNo:
/* 8003F570 0003C4B0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003F574 0003C4B4 7C 08 02 A6 */ mflr r0
/* 8003F578 0003C4B8 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003F57C 0003C4BC DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8003F580 0003C4C0 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8003F584 0003C4C4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003F588 0003C4C8 FF E0 08 90 */ fmr f31, f1
/* 8003F58C 0003C4CC 7C 7F 1B 78 */ mr r31, r3
/* 8003F590 0003C4D0 38 61 00 08 */ addi r3, r1, 8
/* 8003F594 0003C4D4 38 80 00 00 */ li r4, 0
/* 8003F598 0003C4D8 38 A1 00 10 */ addi r5, r1, 0x10
/* 8003F59C 0003C4DC 38 C1 00 0C */ addi r6, r1, 0xc
/* 8003F5A0 0003C4E0 38 E0 00 00 */ li r7, 0
/* 8003F5A4 0003C4E4 4B FF FC A9 */ bl dMapInfo_n_NS_getFloorParameter
/* 8003F5A8 0003C4E8 88 0D 88 E0 */ lbz r0, lbl_80450E60-_SDA_BASE_(r13)
/* 8003F5AC 0003C4EC 28 00 00 00 */ cmplwi r0, 0
/* 8003F5B0 0003C4F0 41 82 00 5C */ beq lbl_8003F60C
/* 8003F5B4 0003C4F4 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8003F5B8 0003C4F8 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8003F5BC 0003C4FC 40 80 00 40 */ bge lbl_8003F5FC
/* 8003F5C0 0003C500 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8003F5C4 0003C504 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8003F5C8 0003C508 4C 41 13 82 */ cror 2, 1, 2
/* 8003F5CC 0003C50C 40 82 00 6C */ bne lbl_8003F638
/* 8003F5D0 0003C510 88 AD 88 D8 */ lbz r5, lbl_80450E58-_SDA_BASE_(r13)
/* 8003F5D4 0003C514 7C A4 07 74 */ extsb r4, r5
/* 8003F5D8 0003C518 88 01 00 08 */ lbz r0, 8(r1)
/* 8003F5DC 0003C51C 7C 03 07 74 */ extsb r3, r0
/* 8003F5E0 0003C520 7C 04 18 00 */ cmpw r4, r3
/* 8003F5E4 0003C524 41 82 00 10 */ beq lbl_8003F5F4
/* 8003F5E8 0003C528 38 03 00 01 */ addi r0, r3, 1
/* 8003F5EC 0003C52C 7C 04 00 00 */ cmpw r4, r0
/* 8003F5F0 0003C530 40 82 00 48 */ bne lbl_8003F638
lbl_8003F5F4:
/* 8003F5F4 0003C534 98 A1 00 08 */ stb r5, 8(r1)
/* 8003F5F8 0003C538 48 00 00 40 */ b lbl_8003F638
lbl_8003F5FC:
/* 8003F5FC 0003C53C 88 61 00 08 */ lbz r3, 8(r1)
/* 8003F600 0003C540 38 03 00 01 */ addi r0, r3, 1
/* 8003F604 0003C544 98 01 00 08 */ stb r0, 8(r1)
/* 8003F608 0003C548 48 00 00 30 */ b lbl_8003F638
lbl_8003F60C:
/* 8003F60C 0003C54C C0 42 84 2C */ lfs f2, lbl_80451E2C-_SDA2_BASE_(r2)
/* 8003F610 0003C550 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8003F614 0003C554 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8003F618 0003C558 EC 01 00 2A */ fadds f0, f1, f0
/* 8003F61C 0003C55C EC 02 00 32 */ fmuls f0, f2, f0
/* 8003F620 0003C560 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8003F624 0003C564 4C 41 13 82 */ cror 2, 1, 2
/* 8003F628 0003C568 40 82 00 10 */ bne lbl_8003F638
/* 8003F62C 0003C56C 88 61 00 08 */ lbz r3, 8(r1)
/* 8003F630 0003C570 38 03 00 01 */ addi r0, r3, 1
/* 8003F634 0003C574 98 01 00 08 */ stb r0, 8(r1)
lbl_8003F638:
/* 8003F638 0003C578 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 8003F63C 0003C57C 41 82 00 6C */ beq lbl_8003F6A8
/* 8003F640 0003C580 80 0D 88 DC */ lwz r0, lbl_80450E5C-_SDA_BASE_(r13)
/* 8003F644 0003C584 2C 00 00 00 */ cmpwi r0, 0
/* 8003F648 0003C588 41 80 00 60 */ blt lbl_8003F6A8
/* 8003F64C 0003C58C 2C 00 00 40 */ cmpwi r0, 0x40
/* 8003F650 0003C590 40 80 00 58 */ bge lbl_8003F6A8
/* 8003F654 0003C594 3C 60 80 3F */ lis r3, lbl_803F6094@ha
/* 8003F658 0003C598 38 63 60 94 */ addi r3, r3, lbl_803F6094@l
/* 8003F65C 0003C59C 1C 00 04 04 */ mulli r0, r0, 0x404
/* 8003F660 0003C5A0 7C 63 02 14 */ add r3, r3, r0
/* 8003F664 0003C5A4 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8003F668 0003C5A8 28 03 00 00 */ cmplwi r3, 0
/* 8003F66C 0003C5AC 41 82 00 3C */ beq lbl_8003F6A8
/* 8003F670 0003C5B0 88 03 00 10 */ lbz r0, 0x10(r3)
/* 8003F674 0003C5B4 7C 04 07 74 */ extsb r4, r0
/* 8003F678 0003C5B8 88 03 00 11 */ lbz r0, 0x11(r3)
/* 8003F67C 0003C5BC 7C 03 07 74 */ extsb r3, r0
/* 8003F680 0003C5C0 88 01 00 08 */ lbz r0, 8(r1)
/* 8003F684 0003C5C4 7C 00 07 74 */ extsb r0, r0
/* 8003F688 0003C5C8 7C 00 20 00 */ cmpw r0, r4
/* 8003F68C 0003C5CC 40 80 00 08 */ bge lbl_8003F694
/* 8003F690 0003C5D0 98 81 00 08 */ stb r4, 8(r1)
lbl_8003F694:
/* 8003F694 0003C5D4 88 01 00 08 */ lbz r0, 8(r1)
/* 8003F698 0003C5D8 7C 00 07 74 */ extsb r0, r0
/* 8003F69C 0003C5DC 7C 00 18 00 */ cmpw r0, r3
/* 8003F6A0 0003C5E0 40 81 00 08 */ ble lbl_8003F6A8
/* 8003F6A4 0003C5E4 98 61 00 08 */ stb r3, 8(r1)
lbl_8003F6A8:
/* 8003F6A8 0003C5E8 88 61 00 08 */ lbz r3, 8(r1)
/* 8003F6AC 0003C5EC E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8003F6B0 0003C5F0 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8003F6B4 0003C5F4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003F6B8 0003C5F8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003F6BC 0003C5FC 7C 08 03 A6 */ mtlr r0
/* 8003F6C0 0003C600 38 21 00 30 */ addi r1, r1, 0x30
/* 8003F6C4 0003C604 4E 80 00 20 */ blr
.global dMapInfo_c_NS_move
dMapInfo_c_NS_move:
/* 8003F6C8 0003C608 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003F6CC 0003C60C 7C 08 02 A6 */ mflr r0
/* 8003F6D0 0003C610 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003F6D4 0003C614 90 6D 88 DC */ stw r3, lbl_80450E5C-_SDA_BASE_(r13)
/* 8003F6D8 0003C618 38 60 00 01 */ li r3, 1
/* 8003F6DC 0003C61C 4B FF FE 95 */ bl dMapInfo_c_NS_calcNowStayFloorNo
/* 8003F6E0 0003C620 98 6D 88 D8 */ stb r3, lbl_80450E58-_SDA_BASE_(r13)
/* 8003F6E4 0003C624 38 00 00 01 */ li r0, 1
/* 8003F6E8 0003C628 98 0D 88 E0 */ stb r0, lbl_80450E60-_SDA_BASE_(r13)
/* 8003F6EC 0003C62C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003F6F0 0003C630 7C 08 03 A6 */ mtlr r0
/* 8003F6F4 0003C634 38 21 00 10 */ addi r1, r1, 0x10
/* 8003F6F8 0003C638 4E 80 00 20 */ blr
.global dMapInfo_c_NS_init
dMapInfo_c_NS_init:
/* 8003F6FC 0003C63C 38 00 00 00 */ li r0, 0
/* 8003F700 0003C640 98 0D 88 D8 */ stb r0, lbl_80450E58-_SDA_BASE_(r13)
/* 8003F704 0003C644 98 0D 88 E0 */ stb r0, lbl_80450E60-_SDA_BASE_(r13)
/* 8003F708 0003C648 38 00 FF FF */ li r0, -1
/* 8003F70C 0003C64C 90 0D 88 DC */ stw r0, lbl_80450E5C-_SDA_BASE_(r13)
/* 8003F710 0003C650 4E 80 00 20 */ blr
.global dMapInfo_c_NS_reset
dMapInfo_c_NS_reset:
/* 8003F714 0003C654 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003F718 0003C658 7C 08 02 A6 */ mflr r0
/* 8003F71C 0003C65C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003F720 0003C660 4B FF FF DD */ bl dMapInfo_c_NS_init
/* 8003F724 0003C664 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003F728 0003C668 7C 08 03 A6 */ mtlr r0
/* 8003F72C 0003C66C 38 21 00 10 */ addi r1, r1, 0x10
/* 8003F730 0003C670 4E 80 00 20 */ blr
.global dMapInfo_c_NS_create
dMapInfo_c_NS_create:
/* 8003F734 0003C674 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003F738 0003C678 7C 08 02 A6 */ mflr r0
/* 8003F73C 0003C67C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003F740 0003C680 4B FF FF BD */ bl dMapInfo_c_NS_init
/* 8003F744 0003C684 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003F748 0003C688 7C 08 03 A6 */ mtlr r0
/* 8003F74C 0003C68C 38 21 00 10 */ addi r1, r1, 0x10
/* 8003F750 0003C690 4E 80 00 20 */ blr
.global dMapInfo_c_NS_remove
dMapInfo_c_NS_remove:
/* 8003F754 0003C694 4E 80 00 20 */ blr
.global dMpath_c_NS_isExistMapPathData
dMpath_c_NS_isExistMapPathData:
/* 8003F758 0003C698 88 6D 89 08 */ lbz r3, lbl_80450E88-_SDA_BASE_(r13)
/* 8003F75C 0003C69C 4E 80 00 20 */ blr
.global dMpath_c_NS_getTopBottomFloorNo
dMpath_c_NS_getTopBottomFloorNo:
/* 8003F760 0003C6A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003F764 0003C6A4 7C 08 02 A6 */ mflr r0
/* 8003F768 0003C6A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003F76C 0003C6AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003F770 0003C6B0 93 C1 00 08 */ stw r30, 8(r1)
/* 8003F774 0003C6B4 7C 7E 1B 78 */ mr r30, r3
/* 8003F778 0003C6B8 7C 9F 23 78 */ mr r31, r4
/* 8003F77C 0003C6BC 4B FF FF DD */ bl dMpath_c_NS_isExistMapPathData
/* 8003F780 0003C6C0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8003F784 0003C6C4 41 82 00 28 */ beq lbl_8003F7AC
/* 8003F788 0003C6C8 28 1E 00 00 */ cmplwi r30, 0
/* 8003F78C 0003C6CC 41 82 00 0C */ beq lbl_8003F798
/* 8003F790 0003C6D0 88 0D 80 B5 */ lbz r0, lbl_80450635-_SDA_BASE_(r13)
/* 8003F794 0003C6D4 98 1E 00 00 */ stb r0, 0(r30)
lbl_8003F798:
/* 8003F798 0003C6D8 28 1F 00 00 */ cmplwi r31, 0
/* 8003F79C 0003C6DC 41 82 00 30 */ beq lbl_8003F7CC
/* 8003F7A0 0003C6E0 88 0D 80 B4 */ lbz r0, lbl_80450634-_SDA_BASE_(r13)
/* 8003F7A4 0003C6E4 98 1F 00 00 */ stb r0, 0(r31)
/* 8003F7A8 0003C6E8 48 00 00 24 */ b lbl_8003F7CC
lbl_8003F7AC:
/* 8003F7AC 0003C6EC 28 1E 00 00 */ cmplwi r30, 0
/* 8003F7B0 0003C6F0 41 82 00 0C */ beq lbl_8003F7BC
/* 8003F7B4 0003C6F4 38 00 00 00 */ li r0, 0
/* 8003F7B8 0003C6F8 98 1E 00 00 */ stb r0, 0(r30)
lbl_8003F7BC:
/* 8003F7BC 0003C6FC 28 1F 00 00 */ cmplwi r31, 0
/* 8003F7C0 0003C700 41 82 00 0C */ beq lbl_8003F7CC
/* 8003F7C4 0003C704 38 00 00 00 */ li r0, 0
/* 8003F7C8 0003C708 98 1F 00 00 */ stb r0, 0(r31)
lbl_8003F7CC:
/* 8003F7CC 0003C70C 38 60 00 01 */ li r3, 1
/* 8003F7D0 0003C710 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003F7D4 0003C714 83 C1 00 08 */ lwz r30, 8(r1)
/* 8003F7D8 0003C718 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003F7DC 0003C71C 7C 08 03 A6 */ mtlr r0
/* 8003F7E0 0003C720 38 21 00 10 */ addi r1, r1, 0x10
/* 8003F7E4 0003C724 4E 80 00 20 */ blr
.global dMpath_c_NS_createWork
dMpath_c_NS_createWork:
/* 8003F7E8 0003C728 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003F7EC 0003C72C 7C 08 02 A6 */ mflr r0
/* 8003F7F0 0003C730 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003F7F4 0003C734 38 60 02 00 */ li r3, 0x200
/* 8003F7F8 0003C738 48 28 F4 55 */ bl __nw__FUl
/* 8003F7FC 0003C73C 90 6D 88 E4 */ stw r3, lbl_80450E64-_SDA_BASE_(r13)
/* 8003F800 0003C740 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003F804 0003C744 7C 08 03 A6 */ mtlr r0
/* 8003F808 0003C748 38 21 00 10 */ addi r1, r1, 0x10
/* 8003F80C 0003C74C 4E 80 00 20 */ blr
.global dMpath_c_NS_setPointer
dMpath_c_NS_setPointer:
/* 8003F810 0003C750 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003F814 0003C754 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003F818 0003C758 38 C0 00 00 */ li r6, 0
/* 8003F81C 0003C75C 80 E3 00 04 */ lwz r7, 4(r3)
/* 8003F820 0003C760 3C 00 80 00 */ lis r0, 0x8000
/* 8003F824 0003C764 7C 07 00 40 */ cmplw r7, r0
/* 8003F828 0003C768 41 80 00 E0 */ blt lbl_8003F908
/* 8003F82C 0003C76C 7C E8 3B 78 */ mr r8, r7
/* 8003F830 0003C770 39 20 00 00 */ li r9, 0
/* 8003F834 0003C774 48 00 00 44 */ b lbl_8003F878
lbl_8003F838:
/* 8003F838 0003C778 88 E8 00 00 */ lbz r7, 0(r8)
/* 8003F83C 0003C77C 7C E6 07 74 */ extsb r6, r7
/* 8003F840 0003C780 88 04 00 00 */ lbz r0, 0(r4)
/* 8003F844 0003C784 7C 00 07 74 */ extsb r0, r0
/* 8003F848 0003C788 7C 06 00 00 */ cmpw r6, r0
/* 8003F84C 0003C78C 40 80 00 08 */ bge lbl_8003F854
/* 8003F850 0003C790 98 E4 00 00 */ stb r7, 0(r4)
lbl_8003F854:
/* 8003F854 0003C794 88 E8 00 00 */ lbz r7, 0(r8)
/* 8003F858 0003C798 7C E6 07 74 */ extsb r6, r7
/* 8003F85C 0003C79C 88 05 00 00 */ lbz r0, 0(r5)
/* 8003F860 0003C7A0 7C 00 07 74 */ extsb r0, r0
/* 8003F864 0003C7A4 7C 06 00 00 */ cmpw r6, r0
/* 8003F868 0003C7A8 40 81 00 08 */ ble lbl_8003F870
/* 8003F86C 0003C7AC 98 E5 00 00 */ stb r7, 0(r5)
lbl_8003F870:
/* 8003F870 0003C7B0 39 08 00 08 */ addi r8, r8, 8
/* 8003F874 0003C7B4 39 29 00 01 */ addi r9, r9, 1
lbl_8003F878:
/* 8003F878 0003C7B8 88 C3 00 00 */ lbz r6, 0(r3)
/* 8003F87C 0003C7BC 7C 09 30 00 */ cmpw r9, r6
/* 8003F880 0003C7C0 41 80 FF B8 */ blt lbl_8003F838
/* 8003F884 0003C7C4 80 83 00 04 */ lwz r4, 4(r3)
/* 8003F888 0003C7C8 38 06 FF FF */ addi r0, r6, -1
/* 8003F88C 0003C7CC 54 00 18 38 */ slwi r0, r0, 3
/* 8003F890 0003C7D0 7C 84 02 14 */ add r4, r4, r0
/* 8003F894 0003C7D4 80 A4 00 04 */ lwz r5, 4(r4)
/* 8003F898 0003C7D8 88 84 00 01 */ lbz r4, 1(r4)
/* 8003F89C 0003C7DC 38 04 FF FF */ addi r0, r4, -1
/* 8003F8A0 0003C7E0 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003F8A4 0003C7E4 7C 85 02 14 */ add r4, r5, r0
/* 8003F8A8 0003C7E8 88 A4 00 04 */ lbz r5, 4(r4)
/* 8003F8AC 0003C7EC 28 05 00 00 */ cmplwi r5, 0
/* 8003F8B0 0003C7F0 41 82 00 2C */ beq lbl_8003F8DC
/* 8003F8B4 0003C7F4 80 84 00 10 */ lwz r4, 0x10(r4)
/* 8003F8B8 0003C7F8 38 05 FF FF */ addi r0, r5, -1
/* 8003F8BC 0003C7FC 54 00 18 38 */ slwi r0, r0, 3
/* 8003F8C0 0003C800 7C A4 02 14 */ add r5, r4, r0
/* 8003F8C4 0003C804 80 85 00 04 */ lwz r4, 4(r5)
/* 8003F8C8 0003C808 88 05 00 01 */ lbz r0, 1(r5)
/* 8003F8CC 0003C80C 54 00 08 3C */ slwi r0, r0, 1
/* 8003F8D0 0003C810 7C 04 02 14 */ add r0, r4, r0
/* 8003F8D4 0003C814 7C 63 00 50 */ subf r3, r3, r0
/* 8003F8D8 0003C818 48 00 01 5C */ b lbl_8003FA34
lbl_8003F8DC:
/* 8003F8DC 0003C81C 80 A4 00 08 */ lwz r5, 8(r4)
/* 8003F8E0 0003C820 88 84 00 02 */ lbz r4, 2(r4)
/* 8003F8E4 0003C824 38 04 FF FF */ addi r0, r4, -1
/* 8003F8E8 0003C828 54 00 18 38 */ slwi r0, r0, 3
/* 8003F8EC 0003C82C 7C A5 02 14 */ add r5, r5, r0
/* 8003F8F0 0003C830 80 85 00 04 */ lwz r4, 4(r5)
/* 8003F8F4 0003C834 88 05 00 02 */ lbz r0, 2(r5)
/* 8003F8F8 0003C838 54 00 08 3C */ slwi r0, r0, 1
/* 8003F8FC 0003C83C 7C 04 02 14 */ add r0, r4, r0
/* 8003F900 0003C840 7C 63 00 50 */ subf r3, r3, r0
/* 8003F904 0003C844 48 00 01 30 */ b lbl_8003FA34
lbl_8003F908:
/* 8003F908 0003C848 7C 03 3A 14 */ add r0, r3, r7
/* 8003F90C 0003C84C 90 03 00 04 */ stw r0, 4(r3)
/* 8003F910 0003C850 80 03 00 08 */ lwz r0, 8(r3)
/* 8003F914 0003C854 7C 03 02 14 */ add r0, r3, r0
/* 8003F918 0003C858 90 03 00 08 */ stw r0, 8(r3)
/* 8003F91C 0003C85C 80 E3 00 04 */ lwz r7, 4(r3)
/* 8003F920 0003C860 39 00 00 00 */ li r8, 0
/* 8003F924 0003C864 7C 60 1B 78 */ mr r0, r3
/* 8003F928 0003C868 48 00 00 FC */ b lbl_8003FA24
lbl_8003F92C:
/* 8003F92C 0003C86C 81 27 00 04 */ lwz r9, 4(r7)
/* 8003F930 0003C870 7D 20 4A 14 */ add r9, r0, r9
/* 8003F934 0003C874 91 27 00 04 */ stw r9, 4(r7)
/* 8003F938 0003C878 81 47 00 04 */ lwz r10, 4(r7)
/* 8003F93C 0003C87C 39 60 00 00 */ li r11, 0
/* 8003F940 0003C880 48 00 00 98 */ b lbl_8003F9D8
lbl_8003F944:
/* 8003F944 0003C884 80 CA 00 10 */ lwz r6, 0x10(r10)
/* 8003F948 0003C888 81 2A 00 08 */ lwz r9, 8(r10)
/* 8003F94C 0003C88C 7D 20 4A 14 */ add r9, r0, r9
/* 8003F950 0003C890 91 2A 00 08 */ stw r9, 8(r10)
/* 8003F954 0003C894 81 8A 00 08 */ lwz r12, 8(r10)
/* 8003F958 0003C898 3B E0 00 00 */ li r31, 0
/* 8003F95C 0003C89C 48 00 00 24 */ b lbl_8003F980
lbl_8003F960:
/* 8003F960 0003C8A0 81 2C 00 04 */ lwz r9, 4(r12)
/* 8003F964 0003C8A4 88 CC 00 02 */ lbz r6, 2(r12)
/* 8003F968 0003C8A8 54 C6 08 3C */ slwi r6, r6, 1
/* 8003F96C 0003C8AC 7C C9 32 14 */ add r6, r9, r6
/* 8003F970 0003C8B0 7D 20 4A 14 */ add r9, r0, r9
/* 8003F974 0003C8B4 91 2C 00 04 */ stw r9, 4(r12)
/* 8003F978 0003C8B8 39 8C 00 08 */ addi r12, r12, 8
/* 8003F97C 0003C8BC 3B FF 00 01 */ addi r31, r31, 1
lbl_8003F980:
/* 8003F980 0003C8C0 89 2A 00 02 */ lbz r9, 2(r10)
/* 8003F984 0003C8C4 7C 1F 48 00 */ cmpw r31, r9
/* 8003F988 0003C8C8 41 80 FF D8 */ blt lbl_8003F960
/* 8003F98C 0003C8CC 81 2A 00 10 */ lwz r9, 0x10(r10)
/* 8003F990 0003C8D0 7D 20 4A 14 */ add r9, r0, r9
/* 8003F994 0003C8D4 91 2A 00 10 */ stw r9, 0x10(r10)
/* 8003F998 0003C8D8 81 8A 00 10 */ lwz r12, 0x10(r10)
/* 8003F99C 0003C8DC 3B E0 00 00 */ li r31, 0
/* 8003F9A0 0003C8E0 48 00 00 24 */ b lbl_8003F9C4
lbl_8003F9A4:
/* 8003F9A4 0003C8E4 81 2C 00 04 */ lwz r9, 4(r12)
/* 8003F9A8 0003C8E8 88 CC 00 01 */ lbz r6, 1(r12)
/* 8003F9AC 0003C8EC 54 C6 08 3C */ slwi r6, r6, 1
/* 8003F9B0 0003C8F0 7C C9 32 14 */ add r6, r9, r6
/* 8003F9B4 0003C8F4 7D 20 4A 14 */ add r9, r0, r9
/* 8003F9B8 0003C8F8 91 2C 00 04 */ stw r9, 4(r12)
/* 8003F9BC 0003C8FC 39 8C 00 08 */ addi r12, r12, 8
/* 8003F9C0 0003C900 3B FF 00 01 */ addi r31, r31, 1
lbl_8003F9C4:
/* 8003F9C4 0003C904 89 2A 00 04 */ lbz r9, 4(r10)
/* 8003F9C8 0003C908 7C 1F 48 00 */ cmpw r31, r9
/* 8003F9CC 0003C90C 41 80 FF D8 */ blt lbl_8003F9A4
/* 8003F9D0 0003C910 39 4A 00 14 */ addi r10, r10, 0x14
/* 8003F9D4 0003C914 39 6B 00 01 */ addi r11, r11, 1
lbl_8003F9D8:
/* 8003F9D8 0003C918 89 27 00 01 */ lbz r9, 1(r7)
/* 8003F9DC 0003C91C 7C 0B 48 00 */ cmpw r11, r9
/* 8003F9E0 0003C920 41 80 FF 64 */ blt lbl_8003F944
/* 8003F9E4 0003C924 89 67 00 00 */ lbz r11, 0(r7)
/* 8003F9E8 0003C928 7D 6A 07 74 */ extsb r10, r11
/* 8003F9EC 0003C92C 89 24 00 00 */ lbz r9, 0(r4)
/* 8003F9F0 0003C930 7D 29 07 74 */ extsb r9, r9
/* 8003F9F4 0003C934 7C 0A 48 00 */ cmpw r10, r9
/* 8003F9F8 0003C938 40 80 00 08 */ bge lbl_8003FA00
/* 8003F9FC 0003C93C 99 64 00 00 */ stb r11, 0(r4)
lbl_8003FA00:
/* 8003FA00 0003C940 89 67 00 00 */ lbz r11, 0(r7)
/* 8003FA04 0003C944 7D 6A 07 74 */ extsb r10, r11
/* 8003FA08 0003C948 89 25 00 00 */ lbz r9, 0(r5)
/* 8003FA0C 0003C94C 7D 29 07 74 */ extsb r9, r9
/* 8003FA10 0003C950 7C 0A 48 00 */ cmpw r10, r9
/* 8003FA14 0003C954 40 81 00 08 */ ble lbl_8003FA1C
/* 8003FA18 0003C958 99 65 00 00 */ stb r11, 0(r5)
lbl_8003FA1C:
/* 8003FA1C 0003C95C 38 E7 00 08 */ addi r7, r7, 8
/* 8003FA20 0003C960 39 08 00 01 */ addi r8, r8, 1
lbl_8003FA24:
/* 8003FA24 0003C964 89 23 00 00 */ lbz r9, 0(r3)
/* 8003FA28 0003C968 7C 08 48 00 */ cmpw r8, r9
/* 8003FA2C 0003C96C 41 80 FF 00 */ blt lbl_8003F92C
/* 8003FA30 0003C970 7C C3 33 78 */ mr r3, r6
lbl_8003FA34:
/* 8003FA34 0003C974 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003FA38 0003C978 38 21 00 10 */ addi r1, r1, 0x10
/* 8003FA3C 0003C97C 4E 80 00 20 */ blr
.global dMpath_c_NS_setPointer_X1_
dMpath_c_NS_setPointer_X1_:
/* 8003FA40 0003C980 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003FA44 0003C984 7C 08 02 A6 */ mflr r0
/* 8003FA48 0003C988 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003FA4C 0003C98C 39 61 00 30 */ addi r11, r1, 0x30
/* 8003FA50 0003C990 48 32 27 89 */ bl _savegpr_28
/* 8003FA54 0003C994 7C 7C 1B 78 */ mr r28, r3
/* 8003FA58 0003C998 7C BD 2B 78 */ mr r29, r5
/* 8003FA5C 0003C99C 83 C4 00 04 */ lwz r30, 4(r4)
/* 8003FA60 0003C9A0 28 1E 00 00 */ cmplwi r30, 0
/* 8003FA64 0003C9A4 41 82 00 F4 */ beq lbl_8003FB58
/* 8003FA68 0003C9A8 7F 9F 07 74 */ extsb r31, r28
/* 8003FA6C 0003C9AC 48 00 01 65 */ bl dMpath_c_NS_reset
/* 8003FA70 0003C9B0 38 00 00 01 */ li r0, 1
/* 8003FA74 0003C9B4 98 0D 89 08 */ stb r0, lbl_80450E88-_SDA_BASE_(r13)
/* 8003FA78 0003C9B8 7F C3 F3 78 */ mr r3, r30
/* 8003FA7C 0003C9BC 38 8D 80 B4 */ addi r4, r13, lbl_80450634-_SDA_BASE_
/* 8003FA80 0003C9C0 38 AD 80 B5 */ addi r5, r13, lbl_80450635-_SDA_BASE_
/* 8003FA84 0003C9C4 4B FF FD 8D */ bl dMpath_c_NS_setPointer
/* 8003FA88 0003C9C8 C0 02 84 28 */ lfs f0, lbl_80451E28-_SDA2_BASE_(r2)
/* 8003FA8C 0003C9CC D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8003FA90 0003C9D0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8003FA94 0003C9D4 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8003FA98 0003C9D8 D0 01 00 08 */ stfs f0, 8(r1)
/* 8003FA9C 0003C9DC 7F E3 FB 78 */ mr r3, r31
/* 8003FAA0 0003C9E0 38 81 00 14 */ addi r4, r1, 0x14
/* 8003FAA4 0003C9E4 38 A1 00 0C */ addi r5, r1, 0xc
/* 8003FAA8 0003C9E8 38 C1 00 10 */ addi r6, r1, 0x10
/* 8003FAAC 0003C9EC 38 E1 00 08 */ addi r7, r1, 8
/* 8003FAB0 0003C9F0 4B FF F7 45 */ bl dMapInfo_n_NS_getRoomMinMaxXZ
/* 8003FAB4 0003C9F4 C0 21 00 14 */ lfs f1, 0x14(r1)
/* 8003FAB8 0003C9F8 C0 0D 88 E8 */ lfs f0, lbl_80450E68-_SDA_BASE_(r13)
/* 8003FABC 0003C9FC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003FAC0 0003CA00 40 80 00 08 */ bge lbl_8003FAC8
/* 8003FAC4 0003CA04 D0 2D 88 E8 */ stfs f1, lbl_80450E68-_SDA_BASE_(r13)
lbl_8003FAC8:
/* 8003FAC8 0003CA08 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 8003FACC 0003CA0C C0 0D 88 EC */ lfs f0, lbl_80450E6C-_SDA_BASE_(r13)
/* 8003FAD0 0003CA10 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003FAD4 0003CA14 40 81 00 08 */ ble lbl_8003FADC
/* 8003FAD8 0003CA18 D0 2D 88 EC */ stfs f1, lbl_80450E6C-_SDA_BASE_(r13)
lbl_8003FADC:
/* 8003FADC 0003CA1C C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8003FAE0 0003CA20 C0 0D 88 F0 */ lfs f0, lbl_80450E70-_SDA_BASE_(r13)
/* 8003FAE4 0003CA24 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003FAE8 0003CA28 40 80 00 08 */ bge lbl_8003FAF0
/* 8003FAEC 0003CA2C D0 2D 88 F0 */ stfs f1, lbl_80450E70-_SDA_BASE_(r13)
lbl_8003FAF0:
/* 8003FAF0 0003CA30 C0 21 00 08 */ lfs f1, 8(r1)
/* 8003FAF4 0003CA34 C0 0D 88 F4 */ lfs f0, lbl_80450E74-_SDA_BASE_(r13)
/* 8003FAF8 0003CA38 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003FAFC 0003CA3C 40 81 00 08 */ ble lbl_8003FB04
/* 8003FB00 0003CA40 D0 2D 88 F4 */ stfs f1, lbl_80450E74-_SDA_BASE_(r13)
lbl_8003FB04:
/* 8003FB04 0003CA44 C0 22 84 2C */ lfs f1, lbl_80451E2C-_SDA2_BASE_(r2)
/* 8003FB08 0003CA48 C0 6D 88 EC */ lfs f3, lbl_80450E6C-_SDA_BASE_(r13)
/* 8003FB0C 0003CA4C C0 4D 88 E8 */ lfs f2, lbl_80450E68-_SDA_BASE_(r13)
/* 8003FB10 0003CA50 EC 03 10 2A */ fadds f0, f3, f2
/* 8003FB14 0003CA54 EC 01 00 32 */ fmuls f0, f1, f0
/* 8003FB18 0003CA58 D0 0D 88 F8 */ stfs f0, lbl_80450E78-_SDA_BASE_(r13)
/* 8003FB1C 0003CA5C C0 AD 88 F4 */ lfs f5, lbl_80450E74-_SDA_BASE_(r13)
/* 8003FB20 0003CA60 C0 8D 88 F0 */ lfs f4, lbl_80450E70-_SDA_BASE_(r13)
/* 8003FB24 0003CA64 EC 05 20 2A */ fadds f0, f5, f4
/* 8003FB28 0003CA68 EC 01 00 32 */ fmuls f0, f1, f0
/* 8003FB2C 0003CA6C D0 0D 88 FC */ stfs f0, lbl_80450E7C-_SDA_BASE_(r13)
/* 8003FB30 0003CA70 EC 03 10 28 */ fsubs f0, f3, f2
/* 8003FB34 0003CA74 D0 0D 89 00 */ stfs f0, lbl_80450E80-_SDA_BASE_(r13)
/* 8003FB38 0003CA78 EC 05 20 28 */ fsubs f0, f5, f4
/* 8003FB3C 0003CA7C D0 0D 89 04 */ stfs f0, lbl_80450E84-_SDA_BASE_(r13)
/* 8003FB40 0003CA80 80 8D 88 E4 */ lwz r4, lbl_80450E64-_SDA_BASE_(r13)
/* 8003FB44 0003CA84 57 A3 40 2E */ slwi r3, r29, 8
/* 8003FB48 0003CA88 7F 80 07 74 */ extsb r0, r28
/* 8003FB4C 0003CA8C 54 00 10 3A */ slwi r0, r0, 2
/* 8003FB50 0003CA90 7C 03 02 14 */ add r0, r3, r0
/* 8003FB54 0003CA94 7F C4 01 2E */ stwx r30, r4, r0
lbl_8003FB58:
/* 8003FB58 0003CA98 39 61 00 30 */ addi r11, r1, 0x30
/* 8003FB5C 0003CA9C 48 32 26 C9 */ bl _restgpr_28
/* 8003FB60 0003CAA0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003FB64 0003CAA4 7C 08 03 A6 */ mtlr r0
/* 8003FB68 0003CAA8 38 21 00 30 */ addi r1, r1, 0x30
/* 8003FB6C 0003CAAC 4E 80 00 20 */ blr
.global dMpath_c_NS_create
dMpath_c_NS_create:
/* 8003FB70 0003CAB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003FB74 0003CAB4 7C 08 02 A6 */ mflr r0
/* 8003FB78 0003CAB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003FB7C 0003CABC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8003FB80 0003CAC0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8003FB84 0003CAC4 85 83 4E 20 */ lwzu r12, 0x4e20(r3)
/* 8003FB88 0003CAC8 81 8C 00 BC */ lwz r12, 0xbc(r12)
/* 8003FB8C 0003CACC 7D 89 03 A6 */ mtctr r12
/* 8003FB90 0003CAD0 4E 80 04 21 */ bctrl
/* 8003FB94 0003CAD4 80 03 00 0C */ lwz r0, 0xc(r3)
/* 8003FB98 0003CAD8 54 00 87 7E */ rlwinm r0, r0, 0x10, 0x1d, 0x1f
/* 8003FB9C 0003CADC 28 00 00 03 */ cmplwi r0, 3
/* 8003FBA0 0003CAE0 41 82 00 10 */ beq lbl_8003FBB0
/* 8003FBA4 0003CAE4 48 00 00 2D */ bl dMpath_c_NS_reset
/* 8003FBA8 0003CAE8 38 00 00 00 */ li r0, 0
/* 8003FBAC 0003CAEC 98 0D 89 08 */ stb r0, lbl_80450E88-_SDA_BASE_(r13)
lbl_8003FBB0:
/* 8003FBB0 0003CAF0 3C 60 80 42 */ lis r3, lbl_80424684@ha
/* 8003FBB4 0003CAF4 38 63 46 84 */ addi r3, r3, lbl_80424684@l
/* 8003FBB8 0003CAF8 4B FF CC A5 */ bl dMpath_n_NS_dTexObjAggregate_c_NS_create
/* 8003FBBC 0003CAFC 4B FF FB 79 */ bl dMapInfo_c_NS_create
/* 8003FBC0 0003CB00 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003FBC4 0003CB04 7C 08 03 A6 */ mtlr r0
/* 8003FBC8 0003CB08 38 21 00 10 */ addi r1, r1, 0x10
/* 8003FBCC 0003CB0C 4E 80 00 20 */ blr
.global dMpath_c_NS_reset
dMpath_c_NS_reset:
/* 8003FBD0 0003CB10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003FBD4 0003CB14 7C 08 02 A6 */ mflr r0
/* 8003FBD8 0003CB18 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003FBDC 0003CB1C 88 0D 80 B6 */ lbz r0, lbl_80450636-_SDA_BASE_(r13)
/* 8003FBE0 0003CB20 28 00 00 00 */ cmplwi r0, 0
/* 8003FBE4 0003CB24 41 82 00 7C */ beq lbl_8003FC60
/* 8003FBE8 0003CB28 38 C0 00 00 */ li r6, 0
/* 8003FBEC 0003CB2C 38 60 00 00 */ li r3, 0
/* 8003FBF0 0003CB30 38 A0 00 00 */ li r5, 0
lbl_8003FBF4:
/* 8003FBF4 0003CB34 38 80 00 00 */ li r4, 0
/* 8003FBF8 0003CB38 38 00 00 02 */ li r0, 2
/* 8003FBFC 0003CB3C 7C 09 03 A6 */ mtctr r0
lbl_8003FC00:
/* 8003FC00 0003CB40 80 0D 88 E4 */ lwz r0, lbl_80450E64-_SDA_BASE_(r13)
/* 8003FC04 0003CB44 7C 00 22 14 */ add r0, r0, r4
/* 8003FC08 0003CB48 7C A3 01 2E */ stwx r5, r3, r0
/* 8003FC0C 0003CB4C 38 84 01 00 */ addi r4, r4, 0x100
/* 8003FC10 0003CB50 42 00 FF F0 */ bdnz lbl_8003FC00
/* 8003FC14 0003CB54 38 C6 00 01 */ addi r6, r6, 1
/* 8003FC18 0003CB58 2C 06 00 40 */ cmpwi r6, 0x40
/* 8003FC1C 0003CB5C 38 63 00 04 */ addi r3, r3, 4
/* 8003FC20 0003CB60 41 80 FF D4 */ blt lbl_8003FBF4
/* 8003FC24 0003CB64 3C 60 80 45 */ lis r3, lbl_80450AE8@ha
/* 8003FC28 0003CB68 C0 23 0A E8 */ lfs f1, lbl_80450AE8@l(r3)
/* 8003FC2C 0003CB6C D0 2D 88 E8 */ stfs f1, lbl_80450E68-_SDA_BASE_(r13)
/* 8003FC30 0003CB70 FC 00 08 50 */ fneg f0, f1
/* 8003FC34 0003CB74 D0 0D 88 EC */ stfs f0, lbl_80450E6C-_SDA_BASE_(r13)
/* 8003FC38 0003CB78 D0 2D 88 F0 */ stfs f1, lbl_80450E70-_SDA_BASE_(r13)
/* 8003FC3C 0003CB7C D0 0D 88 F4 */ stfs f0, lbl_80450E74-_SDA_BASE_(r13)
/* 8003FC40 0003CB80 38 00 00 7F */ li r0, 0x7f
/* 8003FC44 0003CB84 98 0D 80 B4 */ stb r0, lbl_80450634-_SDA_BASE_(r13)
/* 8003FC48 0003CB88 38 00 FF 80 */ li r0, -128
/* 8003FC4C 0003CB8C 98 0D 80 B5 */ stb r0, lbl_80450635-_SDA_BASE_(r13)
/* 8003FC50 0003CB90 38 00 00 00 */ li r0, 0
/* 8003FC54 0003CB94 98 0D 80 B6 */ stb r0, lbl_80450636-_SDA_BASE_(r13)
/* 8003FC58 0003CB98 98 0D 89 08 */ stb r0, lbl_80450E88-_SDA_BASE_(r13)
/* 8003FC5C 0003CB9C 4B FF FA B9 */ bl dMapInfo_c_NS_reset
lbl_8003FC60:
/* 8003FC60 0003CBA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003FC64 0003CBA4 7C 08 03 A6 */ mtlr r0
/* 8003FC68 0003CBA8 38 21 00 10 */ addi r1, r1, 0x10
/* 8003FC6C 0003CBAC 4E 80 00 20 */ blr
.global dMpath_c_NS_remove
dMpath_c_NS_remove:
/* 8003FC70 0003CBB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003FC74 0003CBB4 7C 08 02 A6 */ mflr r0
/* 8003FC78 0003CBB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003FC7C 0003CBBC 38 00 00 01 */ li r0, 1
/* 8003FC80 0003CBC0 98 0D 80 B6 */ stb r0, lbl_80450636-_SDA_BASE_(r13)
/* 8003FC84 0003CBC4 3C 60 80 42 */ lis r3, lbl_80424684@ha
/* 8003FC88 0003CBC8 38 63 46 84 */ addi r3, r3, lbl_80424684@l
/* 8003FC8C 0003CBCC 4B FF CC 69 */ bl dMpath_n_NS_dTexObjAggregate_c_NS_remove
/* 8003FC90 0003CBD0 4B FF FA C5 */ bl dMapInfo_c_NS_remove
/* 8003FC94 0003CBD4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003FC98 0003CBD8 7C 08 03 A6 */ mtlr r0
/* 8003FC9C 0003CBDC 38 21 00 10 */ addi r1, r1, 0x10
/* 8003FCA0 0003CBE0 4E 80 00 20 */ blr
.global renderingDAmap_c_NS_calcFloorNoForObjectByMapPathRend
renderingDAmap_c_NS_calcFloorNoForObjectByMapPathRend:
/* 8003FCA4 0003CBE4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003FCA8 0003CBE8 7C 08 02 A6 */ mflr r0
/* 8003FCAC 0003CBEC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003FCB0 0003CBF0 38 60 00 01 */ li r3, 1
/* 8003FCB4 0003CBF4 4B FF F7 59 */ bl dMapInfo_c_NS_calcFloorNo
/* 8003FCB8 0003CBF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003FCBC 0003CBFC 7C 08 03 A6 */ mtlr r0
/* 8003FCC0 0003CC00 38 21 00 10 */ addi r1, r1, 0x10
/* 8003FCC4 0003CC04 4E 80 00 20 */ blr
.global renderingDAmap_c_NS_init
renderingDAmap_c_NS_init:
/* 8003FCC8 0003CC08 38 00 00 00 */ li r0, 0
/* 8003FCCC 0003CC0C 98 03 00 31 */ stb r0, 0x31(r3)
/* 8003FCD0 0003CC10 90 83 00 04 */ stw r4, 4(r3)
/* 8003FCD4 0003CC14 B0 A3 00 1C */ sth r5, 0x1c(r3)
/* 8003FCD8 0003CC18 B0 C3 00 1E */ sth r6, 0x1e(r3)
/* 8003FCDC 0003CC1C B0 E3 00 20 */ sth r7, 0x20(r3)
/* 8003FCE0 0003CC20 B1 03 00 22 */ sth r8, 0x22(r3)
/* 8003FCE4 0003CC24 C0 02 84 28 */ lfs f0, lbl_80451E28-_SDA2_BASE_(r2)
/* 8003FCE8 0003CC28 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8003FCEC 0003CC2C D0 03 00 14 */ stfs f0, 0x14(r3)
/* 8003FCF0 0003CC30 C0 02 84 38 */ lfs f0, lbl_80451E38-_SDA2_BASE_(r2)
/* 8003FCF4 0003CC34 D0 03 00 08 */ stfs f0, 8(r3)
/* 8003FCF8 0003CC38 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8003FCFC 0003CC3C 90 03 00 2C */ stw r0, 0x2c(r3)
/* 8003FD00 0003CC40 98 03 00 30 */ stb r0, 0x30(r3)
/* 8003FD04 0003CC44 4E 80 00 20 */ blr
.global renderingDAmap_c_NS_entry
renderingDAmap_c_NS_entry:
/* 8003FD08 0003CC48 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003FD0C 0003CC4C 7C 08 02 A6 */ mflr r0
/* 8003FD10 0003CC50 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003FD14 0003CC54 7C 66 1B 78 */ mr r6, r3
/* 8003FD18 0003CC58 D0 23 00 10 */ stfs f1, 0x10(r3)
/* 8003FD1C 0003CC5C D0 43 00 14 */ stfs f2, 0x14(r3)
/* 8003FD20 0003CC60 D0 63 00 18 */ stfs f3, 0x18(r3)
/* 8003FD24 0003CC64 C0 23 00 18 */ lfs f1, 0x18(r3)
/* 8003FD28 0003CC68 A0 03 00 20 */ lhz r0, 0x20(r3)
/* 8003FD2C 0003CC6C C8 42 84 40 */ lfd f2, lbl_80451E40-_SDA2_BASE_(r2)
/* 8003FD30 0003CC70 90 01 00 0C */ stw r0, 0xc(r1)
/* 8003FD34 0003CC74 3C 60 43 30 */ lis r3, 0x4330
/* 8003FD38 0003CC78 90 61 00 08 */ stw r3, 8(r1)
/* 8003FD3C 0003CC7C C8 01 00 08 */ lfd f0, 8(r1)
/* 8003FD40 0003CC80 EC 00 10 28 */ fsubs f0, f0, f2
/* 8003FD44 0003CC84 EC 01 00 32 */ fmuls f0, f1, f0
/* 8003FD48 0003CC88 D0 06 00 08 */ stfs f0, 8(r6)
/* 8003FD4C 0003CC8C C0 26 00 18 */ lfs f1, 0x18(r6)
/* 8003FD50 0003CC90 A0 06 00 22 */ lhz r0, 0x22(r6)
/* 8003FD54 0003CC94 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003FD58 0003CC98 90 61 00 10 */ stw r3, 0x10(r1)
/* 8003FD5C 0003CC9C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8003FD60 0003CCA0 EC 00 10 28 */ fsubs f0, f0, f2
/* 8003FD64 0003CCA4 EC 01 00 32 */ fmuls f0, f1, f0
/* 8003FD68 0003CCA8 D0 06 00 0C */ stfs f0, 0xc(r6)
/* 8003FD6C 0003CCAC 90 86 00 2C */ stw r4, 0x2c(r6)
/* 8003FD70 0003CCB0 98 A6 00 30 */ stb r5, 0x30(r6)
/* 8003FD74 0003CCB4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8003FD78 0003CCB8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8003FD7C 0003CCBC 38 63 5F 64 */ addi r3, r3, 0x5f64
/* 8003FD80 0003CCC0 38 83 00 64 */ addi r4, r3, 0x64
/* 8003FD84 0003CCC4 38 A3 00 68 */ addi r5, r3, 0x68
/* 8003FD88 0003CCC8 48 01 6A 0D */ bl dDlst_list_c_NS_set
/* 8003FD8C 0003CCCC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003FD90 0003CCD0 7C 08 03 A6 */ mtlr r0
/* 8003FD94 0003CCD4 38 21 00 20 */ addi r1, r1, 0x20
/* 8003FD98 0003CCD8 4E 80 00 20 */ blr
/* 8003FD9C 0003CCDC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003FDA0 0003CCE0 7C 08 02 A6 */ mflr r0
/* 8003FDA4 0003CCE4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003FDA8 0003CCE8 7C 66 1B 78 */ mr r6, r3
/* 8003FDAC 0003CCEC 88 A4 00 00 */ lbz r5, 0(r4)
/* 8003FDB0 0003CCF0 28 05 00 FF */ cmplwi r5, 0xff
/* 8003FDB4 0003CCF4 40 82 00 0C */ bne lbl_8003FDC0
/* 8003FDB8 0003CCF8 38 60 00 01 */ li r3, 1
/* 8003FDBC 0003CCFC 48 00 00 4C */ b lbl_8003FE08
lbl_8003FDC0:
/* 8003FDC0 0003CD00 88 04 00 01 */ lbz r0, 1(r4)
/* 8003FDC4 0003CD04 28 00 00 00 */ cmplwi r0, 0
/* 8003FDC8 0003CD08 40 82 00 24 */ bne lbl_8003FDEC
/* 8003FDCC 0003CD0C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8003FDD0 0003CD10 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8003FDD4 0003CD14 7C A4 2B 78 */ mr r4, r5
/* 8003FDD8 0003CD18 80 A6 00 24 */ lwz r5, 0x24(r6)
/* 8003FDDC 0003CD1C 4B FF 55 85 */ bl isSwitch__10dSv_info_cCFii
/* 8003FDE0 0003CD20 7C 60 00 34 */ cntlzw r0, r3
/* 8003FDE4 0003CD24 54 03 D9 7E */ srwi r3, r0, 5
/* 8003FDE8 0003CD28 48 00 00 20 */ b lbl_8003FE08
lbl_8003FDEC:
/* 8003FDEC 0003CD2C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8003FDF0 0003CD30 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8003FDF4 0003CD34 7C A4 2B 78 */ mr r4, r5
/* 8003FDF8 0003CD38 80 A6 00 24 */ lwz r5, 0x24(r6)
/* 8003FDFC 0003CD3C 4B FF 55 65 */ bl isSwitch__10dSv_info_cCFii
/* 8003FE00 0003CD40 30 03 FF FF */ addic r0, r3, -1
/* 8003FE04 0003CD44 7C 60 19 10 */ subfe r3, r0, r3
lbl_8003FE08:
/* 8003FE08 0003CD48 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003FE0C 0003CD4C 7C 08 03 A6 */ mtlr r0
/* 8003FE10 0003CD50 38 21 00 10 */ addi r1, r1, 0x10
/* 8003FE14 0003CD54 4E 80 00 20 */ blr
.global renderingDAmap_c_NS_draw
renderingDAmap_c_NS_draw:
/* 8003FE18 0003CD58 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003FE1C 0003CD5C 7C 08 02 A6 */ mflr r0
/* 8003FE20 0003CD60 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003FE24 0003CD64 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003FE28 0003CD68 7C 7F 1B 78 */ mr r31, r3
/* 8003FE2C 0003CD6C 4B FF CF 81 */ bl dRenderingMap_c_NS_renderingMap
/* 8003FE30 0003CD70 38 00 00 01 */ li r0, 1
/* 8003FE34 0003CD74 98 1F 00 31 */ stb r0, 0x31(r31)
/* 8003FE38 0003CD78 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003FE3C 0003CD7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003FE40 0003CD80 7C 08 03 A6 */ mtlr r0
/* 8003FE44 0003CD84 38 21 00 10 */ addi r1, r1, 0x10
/* 8003FE48 0003CD88 4E 80 00 20 */ blr
/* 8003FE4C 0003CD8C 38 62 84 48 */ addi r3, r2, lbl_80451E48-_SDA2_BASE_
/* 8003FE50 0003CD90 4E 80 00 20 */ blr
/* 8003FE54 0003CD94 88 03 00 30 */ lbz r0, 0x30(r3)
/* 8003FE58 0003CD98 7C 00 07 74 */ extsb r0, r0
/* 8003FE5C 0003CD9C 7C 04 00 50 */ subf r0, r4, r0
/* 8003FE60 0003CDA0 7C 00 00 34 */ cntlzw r0, r0
/* 8003FE64 0003CDA4 54 03 D9 7E */ srwi r3, r0, 5
/* 8003FE68 0003CDA8 4E 80 00 20 */ blr
.global renderingDAmap_c_NS_setSingleRoomSetting
renderingDAmap_c_NS_setSingleRoomSetting:
/* 8003FE6C 0003CDAC 4E 80 00 20 */ blr
.global renderingDAmap_c_NS_isDrawRoom
renderingDAmap_c_NS_isDrawRoom:
/* 8003FE70 0003CDB0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003FE74 0003CDB4 7C 08 02 A6 */ mflr r0
/* 8003FE78 0003CDB8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003FE7C 0003CDBC 39 61 00 20 */ addi r11, r1, 0x20
/* 8003FE80 0003CDC0 48 32 23 59 */ bl _savegpr_28
/* 8003FE84 0003CDC4 7C 7C 1B 78 */ mr r28, r3
/* 8003FE88 0003CDC8 7C 9D 23 78 */ mr r29, r4
/* 8003FE8C 0003CDCC 7C BF 2B 78 */ mr r31, r5
/* 8003FE90 0003CDD0 3B C0 00 00 */ li r30, 0
/* 8003FE94 0003CDD4 81 83 00 00 */ lwz r12, 0(r3)
/* 8003FE98 0003CDD8 81 8C 00 78 */ lwz r12, 0x78(r12)
/* 8003FE9C 0003CDDC 7D 89 03 A6 */ mtctr r12
/* 8003FEA0 0003CDE0 4E 80 04 21 */ bctrl
/* 8003FEA4 0003CDE4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8003FEA8 0003CDE8 40 82 00 0C */ bne lbl_8003FEB4
/* 8003FEAC 0003CDEC 7C 1D F8 00 */ cmpw r29, r31
/* 8003FEB0 0003CDF0 40 82 00 08 */ bne lbl_8003FEB8
lbl_8003FEB4:
/* 8003FEB4 0003CDF4 3B C0 00 01 */ li r30, 1
lbl_8003FEB8:
/* 8003FEB8 0003CDF8 7F 83 E3 78 */ mr r3, r28
/* 8003FEBC 0003CDFC 81 9C 00 00 */ lwz r12, 0(r28)
/* 8003FEC0 0003CE00 81 8C 00 7C */ lwz r12, 0x7c(r12)
/* 8003FEC4 0003CE04 7D 89 03 A6 */ mtctr r12
/* 8003FEC8 0003CE08 4E 80 04 21 */ bctrl
/* 8003FECC 0003CE0C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8003FED0 0003CE10 41 82 00 28 */ beq lbl_8003FEF8
/* 8003FED4 0003CE14 3B E0 00 00 */ li r31, 0
/* 8003FED8 0003CE18 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 8003FEDC 0003CE1C 40 82 00 14 */ bne lbl_8003FEF0
/* 8003FEE0 0003CE20 7F A3 EB 78 */ mr r3, r29
/* 8003FEE4 0003CE24 4B FF EE 2D */ bl dMapInfo_n_NS_isVisitedRoom
/* 8003FEE8 0003CE28 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8003FEEC 0003CE2C 41 82 00 08 */ beq lbl_8003FEF4
lbl_8003FEF0:
/* 8003FEF0 0003CE30 3B E0 00 01 */ li r31, 1
lbl_8003FEF4:
/* 8003FEF4 0003CE34 7F FE FB 78 */ mr r30, r31
lbl_8003FEF8:
/* 8003FEF8 0003CE38 7F C3 F3 78 */ mr r3, r30
/* 8003FEFC 0003CE3C 39 61 00 20 */ addi r11, r1, 0x20
/* 8003FF00 0003CE40 48 32 23 25 */ bl _restgpr_28
/* 8003FF04 0003CE44 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003FF08 0003CE48 7C 08 03 A6 */ mtlr r0
/* 8003FF0C 0003CE4C 38 21 00 20 */ addi r1, r1, 0x20
/* 8003FF10 0003CE50 4E 80 00 20 */ blr
/* 8003FF14 0003CE54 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8003FF18 0003CE58 7C 08 02 A6 */ mflr r0
/* 8003FF1C 0003CE5C 90 01 00 64 */ stw r0, 0x64(r1)
/* 8003FF20 0003CE60 C0 43 00 10 */ lfs f2, 0x10(r3)
/* 8003FF24 0003CE64 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 8003FF28 0003CE68 C0 23 00 14 */ lfs f1, 0x14(r3)
/* 8003FF2C 0003CE6C D0 21 00 24 */ stfs f1, 0x24(r1)
/* 8003FF30 0003CE70 C0 02 84 4C */ lfs f0, lbl_80451E4C-_SDA2_BASE_(r2)
/* 8003FF34 0003CE74 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8003FF38 0003CE78 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 8003FF3C 0003CE7C D0 21 00 18 */ stfs f1, 0x18(r1)
/* 8003FF40 0003CE80 C0 02 84 50 */ lfs f0, lbl_80451E50-_SDA2_BASE_(r2)
/* 8003FF44 0003CE84 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8003FF48 0003CE88 C0 22 84 28 */ lfs f1, lbl_80451E28-_SDA2_BASE_(r2)
/* 8003FF4C 0003CE8C D0 21 00 08 */ stfs f1, 8(r1)
/* 8003FF50 0003CE90 C0 02 84 54 */ lfs f0, lbl_80451E54-_SDA2_BASE_(r2)
/* 8003FF54 0003CE94 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8003FF58 0003CE98 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 8003FF5C 0003CE9C 38 61 00 2C */ addi r3, r1, 0x2c
/* 8003FF60 0003CEA0 38 81 00 20 */ addi r4, r1, 0x20
/* 8003FF64 0003CEA4 38 A1 00 14 */ addi r5, r1, 0x14
/* 8003FF68 0003CEA8 38 C1 00 08 */ addi r6, r1, 8
/* 8003FF6C 0003CEAC 38 E0 00 00 */ li r7, 0
/* 8003FF70 0003CEB0 4B FC C7 A1 */ bl mDoMtx_lookAt_X1_
/* 8003FF74 0003CEB4 38 61 00 2C */ addi r3, r1, 0x2c
/* 8003FF78 0003CEB8 38 80 00 00 */ li r4, 0
/* 8003FF7C 0003CEBC 48 32 02 D1 */ bl GXLoadPosMtxImm
/* 8003FF80 0003CEC0 48 31 B6 0D */ bl GXClearVtxDesc
/* 8003FF84 0003CEC4 38 60 00 09 */ li r3, 9
/* 8003FF88 0003CEC8 38 80 00 03 */ li r4, 3
/* 8003FF8C 0003CECC 48 31 AF 2D */ bl GXSetVtxDesc
/* 8003FF90 0003CED0 38 60 00 00 */ li r3, 0
/* 8003FF94 0003CED4 38 80 00 09 */ li r4, 9
/* 8003FF98 0003CED8 38 A0 00 00 */ li r5, 0
/* 8003FF9C 0003CEDC 38 C0 00 04 */ li r6, 4
/* 8003FFA0 0003CEE0 38 E0 00 00 */ li r7, 0
/* 8003FFA4 0003CEE4 48 31 B6 21 */ bl GXSetVtxAttrFmt
/* 8003FFA8 0003CEE8 38 60 00 01 */ li r3, 1
/* 8003FFAC 0003CEEC 38 80 00 08 */ li r4, 8
/* 8003FFB0 0003CEF0 48 31 BE 89 */ bl GXSetMisc
/* 8003FFB4 0003CEF4 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8003FFB8 0003CEF8 7C 08 03 A6 */ mtlr r0
/* 8003FFBC 0003CEFC 38 21 00 60 */ addi r1, r1, 0x60
/* 8003FFC0 0003CF00 4E 80 00 20 */ blr
/* 8003FFC4 0003CF04 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003FFC8 0003CF08 7C 08 02 A6 */ mflr r0
/* 8003FFCC 0003CF0C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003FFD0 0003CF10 38 60 00 01 */ li r3, 1
/* 8003FFD4 0003CF14 38 80 00 00 */ li r4, 0
/* 8003FFD8 0003CF18 48 31 BE 61 */ bl GXSetMisc
/* 8003FFDC 0003CF1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003FFE0 0003CF20 7C 08 03 A6 */ mtlr r0
/* 8003FFE4 0003CF24 38 21 00 10 */ addi r1, r1, 0x10
/* 8003FFE8 0003CF28 4E 80 00 20 */ blr
.global renderingDAmap_c_NS_getRoomNoSingle
renderingDAmap_c_NS_getRoomNoSingle:
/* 8003FFEC 0003CF2C 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 8003FFF0 0003CF30 4E 80 00 20 */ blr
.global renderingDAmap_c_NS_getFirstDrawRoomNo
renderingDAmap_c_NS_getFirstDrawRoomNo:
/* 8003FFF4 0003CF34 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003FFF8 0003CF38 7C 08 02 A6 */ mflr r0
/* 8003FFFC 0003CF3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80040000 0003CF40 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80040004 0003CF44 93 C1 00 08 */ stw r30, 8(r1)
/* 80040008 0003CF48 7C 7E 1B 78 */ mr r30, r3
/* 8004000C 0003CF4C 3B E0 00 00 */ li r31, 0
/* 80040010 0003CF50 81 83 00 00 */ lwz r12, 0(r3)
/* 80040014 0003CF54 81 8C 00 7C */ lwz r12, 0x7c(r12)
/* 80040018 0003CF58 7D 89 03 A6 */ mtctr r12
/* 8004001C 0003CF5C 4E 80 04 21 */ bctrl
/* 80040020 0003CF60 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80040024 0003CF64 41 82 00 3C */ beq lbl_80040060
/* 80040028 0003CF68 7F C3 F3 78 */ mr r3, r30
/* 8004002C 0003CF6C 38 80 00 00 */ li r4, 0
/* 80040030 0003CF70 80 BE 00 2C */ lwz r5, 0x2c(r30)
/* 80040034 0003CF74 81 9E 00 00 */ lwz r12, 0(r30)
/* 80040038 0003CF78 81 8C 00 90 */ lwz r12, 0x90(r12)
/* 8004003C 0003CF7C 7D 89 03 A6 */ mtctr r12
/* 80040040 0003CF80 4E 80 04 21 */ bctrl
/* 80040044 0003CF84 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80040048 0003CF88 40 82 00 30 */ bne lbl_80040078
/* 8004004C 0003CF8C 7F C3 F3 78 */ mr r3, r30
/* 80040050 0003CF90 38 80 00 00 */ li r4, 0
/* 80040054 0003CF94 48 00 00 41 */ bl renderingDAmap_c_NS_getNextDrawRoomNo
/* 80040058 0003CF98 7C 7F 1B 78 */ mr r31, r3
/* 8004005C 0003CF9C 48 00 00 1C */ b lbl_80040078
lbl_80040060:
/* 80040060 0003CFA0 7F C3 F3 78 */ mr r3, r30
/* 80040064 0003CFA4 81 9E 00 00 */ lwz r12, 0(r30)
/* 80040068 0003CFA8 81 8C 00 8C */ lwz r12, 0x8c(r12)
/* 8004006C 0003CFAC 7D 89 03 A6 */ mtctr r12
/* 80040070 0003CFB0 4E 80 04 21 */ bctrl
/* 80040074 0003CFB4 7C 7F 1B 78 */ mr r31, r3
lbl_80040078:
/* 80040078 0003CFB8 7F E3 FB 78 */ mr r3, r31
/* 8004007C 0003CFBC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80040080 0003CFC0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80040084 0003CFC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80040088 0003CFC8 7C 08 03 A6 */ mtlr r0
/* 8004008C 0003CFCC 38 21 00 10 */ addi r1, r1, 0x10
/* 80040090 0003CFD0 4E 80 00 20 */ blr
.global renderingDAmap_c_NS_getNextDrawRoomNo
renderingDAmap_c_NS_getNextDrawRoomNo:
/* 80040094 0003CFD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80040098 0003CFD8 7C 08 02 A6 */ mflr r0
/* 8004009C 0003CFDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800400A0 0003CFE0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800400A4 0003CFE4 93 C1 00 08 */ stw r30, 8(r1)
/* 800400A8 0003CFE8 7C 7E 1B 78 */ mr r30, r3
/* 800400AC 0003CFEC 3B E4 00 01 */ addi r31, r4, 1
/* 800400B0 0003CFF0 81 83 00 00 */ lwz r12, 0(r3)
/* 800400B4 0003CFF4 81 8C 00 7C */ lwz r12, 0x7c(r12)
/* 800400B8 0003CFF8 7D 89 03 A6 */ mtctr r12
/* 800400BC 0003CFFC 4E 80 04 21 */ bctrl
/* 800400C0 0003D000 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800400C4 0003D004 41 82 00 50 */ beq lbl_80040114
/* 800400C8 0003D008 2C 1F 00 40 */ cmpwi r31, 0x40
/* 800400CC 0003D00C 41 80 00 20 */ blt lbl_800400EC
/* 800400D0 0003D010 3B E0 FF FF */ li r31, -1
/* 800400D4 0003D014 48 00 00 44 */ b lbl_80040118
lbl_800400D8:
/* 800400D8 0003D018 3B FF 00 01 */ addi r31, r31, 1
/* 800400DC 0003D01C 2C 1F 00 40 */ cmpwi r31, 0x40
/* 800400E0 0003D020 41 80 00 0C */ blt lbl_800400EC
/* 800400E4 0003D024 3B E0 FF FF */ li r31, -1
/* 800400E8 0003D028 48 00 00 30 */ b lbl_80040118
lbl_800400EC:
/* 800400EC 0003D02C 7F C3 F3 78 */ mr r3, r30
/* 800400F0 0003D030 7F E4 FB 78 */ mr r4, r31
/* 800400F4 0003D034 80 BE 00 2C */ lwz r5, 0x2c(r30)
/* 800400F8 0003D038 81 9E 00 00 */ lwz r12, 0(r30)
/* 800400FC 0003D03C 81 8C 00 90 */ lwz r12, 0x90(r12)
/* 80040100 0003D040 7D 89 03 A6 */ mtctr r12
/* 80040104 0003D044 4E 80 04 21 */ bctrl
/* 80040108 0003D048 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8004010C 0003D04C 41 82 FF CC */ beq lbl_800400D8
/* 80040110 0003D050 48 00 00 08 */ b lbl_80040118
lbl_80040114:
/* 80040114 0003D054 3B E0 FF FF */ li r31, -1
lbl_80040118:
/* 80040118 0003D058 7F E3 FB 78 */ mr r3, r31
/* 8004011C 0003D05C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80040120 0003D060 83 C1 00 08 */ lwz r30, 8(r1)
/* 80040124 0003D064 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80040128 0003D068 7C 08 03 A6 */ mtlr r0
/* 8004012C 0003D06C 38 21 00 10 */ addi r1, r1, 0x10
/* 80040130 0003D070 4E 80 00 20 */ blr
/* 80040134 0003D074 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80040138 0003D078 7C 08 02 A6 */ mflr r0
/* 8004013C 0003D07C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80040140 0003D080 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80040144 0003D084 93 C1 00 08 */ stw r30, 8(r1)
/* 80040148 0003D088 7C 7E 1B 78 */ mr r30, r3
/* 8004014C 0003D08C 3B E0 00 00 */ li r31, 0
/* 80040150 0003D090 4B FF FE A5 */ bl renderingDAmap_c_NS_getFirstDrawRoomNo
/* 80040154 0003D094 90 7E 00 24 */ stw r3, 0x24(r30)
/* 80040158 0003D098 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 8004015C 0003D09C 2C 00 00 00 */ cmpwi r0, 0
/* 80040160 0003D0A0 41 80 00 5C */ blt lbl_800401BC
/* 80040164 0003D0A4 7F C3 F3 78 */ mr r3, r30
/* 80040168 0003D0A8 81 9E 00 00 */ lwz r12, 0(r30)
/* 8004016C 0003D0AC 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 80040170 0003D0B0 7D 89 03 A6 */ mtctr r12
/* 80040174 0003D0B4 4E 80 04 21 */ bctrl
/* 80040178 0003D0B8 90 7E 00 28 */ stw r3, 0x28(r30)
/* 8004017C 0003D0BC 80 8D 88 E4 */ lwz r4, lbl_80450E64-_SDA_BASE_(r13)
/* 80040180 0003D0C0 80 1E 00 28 */ lwz r0, 0x28(r30)
/* 80040184 0003D0C4 54 03 40 2E */ slwi r3, r0, 8
/* 80040188 0003D0C8 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 8004018C 0003D0CC 54 00 10 3A */ slwi r0, r0, 2
/* 80040190 0003D0D0 7C 03 02 14 */ add r0, r3, r0
/* 80040194 0003D0D4 7C 04 00 2E */ lwzx r0, r4, r0
/* 80040198 0003D0D8 7C 1F 03 78 */ mr r31, r0
/* 8004019C 0003D0DC 28 00 00 00 */ cmplwi r0, 0
/* 800401A0 0003D0E0 40 82 00 1C */ bne lbl_800401BC
/* 800401A4 0003D0E4 7F C3 F3 78 */ mr r3, r30
/* 800401A8 0003D0E8 81 9E 00 00 */ lwz r12, 0(r30)
/* 800401AC 0003D0EC 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 800401B0 0003D0F0 7D 89 03 A6 */ mtctr r12
/* 800401B4 0003D0F4 4E 80 04 21 */ bctrl
/* 800401B8 0003D0F8 7C 7F 1B 78 */ mr r31, r3
lbl_800401BC:
/* 800401BC 0003D0FC 28 1F 00 00 */ cmplwi r31, 0
/* 800401C0 0003D100 41 82 00 0C */ beq lbl_800401CC
/* 800401C4 0003D104 7F C3 F3 78 */ mr r3, r30
/* 800401C8 0003D108 4B FF FC A5 */ bl renderingDAmap_c_NS_setSingleRoomSetting
lbl_800401CC:
/* 800401CC 0003D10C 7F E3 FB 78 */ mr r3, r31
/* 800401D0 0003D110 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800401D4 0003D114 83 C1 00 08 */ lwz r30, 8(r1)
/* 800401D8 0003D118 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800401DC 0003D11C 7C 08 03 A6 */ mtlr r0
/* 800401E0 0003D120 38 21 00 10 */ addi r1, r1, 0x10
/* 800401E4 0003D124 4E 80 00 20 */ blr
/* 800401E8 0003D128 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800401EC 0003D12C 7C 08 02 A6 */ mflr r0
/* 800401F0 0003D130 90 01 00 24 */ stw r0, 0x24(r1)
/* 800401F4 0003D134 39 61 00 20 */ addi r11, r1, 0x20
/* 800401F8 0003D138 48 32 1F E5 */ bl _savegpr_29
/* 800401FC 0003D13C 7C 7D 1B 78 */ mr r29, r3
/* 80040200 0003D140 3B E0 00 00 */ li r31, 0
/* 80040204 0003D144 3B C0 00 00 */ li r30, 0
lbl_80040208:
/* 80040208 0003D148 7F A3 EB 78 */ mr r3, r29
/* 8004020C 0003D14C 80 9D 00 24 */ lwz r4, 0x24(r29)
/* 80040210 0003D150 4B FF FE 85 */ bl renderingDAmap_c_NS_getNextDrawRoomNo
/* 80040214 0003D154 90 7D 00 24 */ stw r3, 0x24(r29)
/* 80040218 0003D158 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 8004021C 0003D15C 2C 00 00 00 */ cmpwi r0, 0
/* 80040220 0003D160 40 80 00 40 */ bge lbl_80040260
/* 80040224 0003D164 7F A3 EB 78 */ mr r3, r29
/* 80040228 0003D168 80 9D 00 28 */ lwz r4, 0x28(r29)
/* 8004022C 0003D16C 81 9D 00 00 */ lwz r12, 0(r29)
/* 80040230 0003D170 81 8C 00 6C */ lwz r12, 0x6c(r12)
/* 80040234 0003D174 7D 89 03 A6 */ mtctr r12
/* 80040238 0003D178 4E 80 04 21 */ bctrl
/* 8004023C 0003D17C 90 7D 00 28 */ stw r3, 0x28(r29)
/* 80040240 0003D180 80 1D 00 28 */ lwz r0, 0x28(r29)
/* 80040244 0003D184 2C 00 00 00 */ cmpwi r0, 0
/* 80040248 0003D188 40 80 00 0C */ bge lbl_80040254
/* 8004024C 0003D18C 3B C0 00 01 */ li r30, 1
/* 80040250 0003D190 48 00 00 10 */ b lbl_80040260
lbl_80040254:
/* 80040254 0003D194 7F A3 EB 78 */ mr r3, r29
/* 80040258 0003D198 4B FF FD 9D */ bl renderingDAmap_c_NS_getFirstDrawRoomNo
/* 8004025C 0003D19C 90 7D 00 24 */ stw r3, 0x24(r29)
lbl_80040260:
/* 80040260 0003D1A0 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80040264 0003D1A4 40 82 00 20 */ bne lbl_80040284
/* 80040268 0003D1A8 80 8D 88 E4 */ lwz r4, lbl_80450E64-_SDA_BASE_(r13)
/* 8004026C 0003D1AC 80 1D 00 28 */ lwz r0, 0x28(r29)
/* 80040270 0003D1B0 54 03 40 2E */ slwi r3, r0, 8
/* 80040274 0003D1B4 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 80040278 0003D1B8 54 00 10 3A */ slwi r0, r0, 2
/* 8004027C 0003D1BC 7C 03 02 14 */ add r0, r3, r0
/* 80040280 0003D1C0 7F E4 00 2E */ lwzx r31, r4, r0
lbl_80040284:
/* 80040284 0003D1C4 28 1F 00 00 */ cmplwi r31, 0
/* 80040288 0003D1C8 40 82 00 0C */ bne lbl_80040294
/* 8004028C 0003D1CC 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80040290 0003D1D0 41 82 FF 78 */ beq lbl_80040208
lbl_80040294:
/* 80040294 0003D1D4 28 1F 00 00 */ cmplwi r31, 0
/* 80040298 0003D1D8 41 82 00 0C */ beq lbl_800402A4
/* 8004029C 0003D1DC 7F A3 EB 78 */ mr r3, r29
/* 800402A0 0003D1E0 4B FF FB CD */ bl renderingDAmap_c_NS_setSingleRoomSetting
lbl_800402A4:
/* 800402A4 0003D1E4 7F E3 FB 78 */ mr r3, r31
/* 800402A8 0003D1E8 39 61 00 20 */ addi r11, r1, 0x20
/* 800402AC 0003D1EC 48 32 1F 7D */ bl _restgpr_29
/* 800402B0 0003D1F0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800402B4 0003D1F4 7C 08 03 A6 */ mtlr r0
/* 800402B8 0003D1F8 38 21 00 20 */ addi r1, r1, 0x20
/* 800402BC 0003D1FC 4E 80 00 20 */ blr
/* 800402C0 0003D200 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800402C4 0003D204 7C 08 02 A6 */ mflr r0
/* 800402C8 0003D208 90 01 00 14 */ stw r0, 0x14(r1)
/* 800402CC 0003D20C 4B FF F4 8D */ bl dMpath_c_NS_isExistMapPathData
/* 800402D0 0003D210 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800402D4 0003D214 7C 08 03 A6 */ mtlr r0
/* 800402D8 0003D218 38 21 00 10 */ addi r1, r1, 0x10
/* 800402DC 0003D21C 4E 80 00 20 */ blr
/* 800402E0 0003D220 38 60 00 00 */ li r3, 0
/* 800402E4 0003D224 4E 80 00 20 */ blr
/* 800402E8 0003D228 38 64 00 01 */ addi r3, r4, 1
/* 800402EC 0003D22C 2C 03 00 02 */ cmpwi r3, 2
/* 800402F0 0003D230 4D 80 00 20 */ bltlr
/* 800402F4 0003D234 38 60 FF FF */ li r3, -1
/* 800402F8 0003D238 4E 80 00 20 */ blr
.global renderingPlusDoorAndCursor_c_NS_afterDrawPath
renderingPlusDoorAndCursor_c_NS_afterDrawPath:
/* 800402FC 0003D23C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80040300 0003D240 7C 08 02 A6 */ mflr r0
/* 80040304 0003D244 90 01 00 54 */ stw r0, 0x54(r1)
/* 80040308 0003D248 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 8004030C 0003D24C F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 80040310 0003D250 39 61 00 40 */ addi r11, r1, 0x40
/* 80040314 0003D254 48 32 1E C9 */ bl _savegpr_29
/* 80040318 0003D258 7C 7F 1B 78 */ mr r31, r3
/* 8004031C 0003D25C 48 00 01 FD */ bl renderingPlusDoor_c_NS_afterDrawPath
/* 80040320 0003D260 7F E3 FB 78 */ mr r3, r31
/* 80040324 0003D264 81 9F 00 00 */ lwz r12, 0(r31)
/* 80040328 0003D268 81 8C 00 84 */ lwz r12, 0x84(r12)
/* 8004032C 0003D26C 7D 89 03 A6 */ mtctr r12
/* 80040330 0003D270 4E 80 04 21 */ bctrl
/* 80040334 0003D274 7C 7E 1B 78 */ mr r30, r3
/* 80040338 0003D278 7F E3 FB 78 */ mr r3, r31
/* 8004033C 0003D27C 81 9F 00 00 */ lwz r12, 0(r31)
/* 80040340 0003D280 81 8C 00 9C */ lwz r12, 0x9c(r12)
/* 80040344 0003D284 7D 89 03 A6 */ mtctr r12
/* 80040348 0003D288 4E 80 04 21 */ bctrl
/* 8004034C 0003D28C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80040350 0003D290 41 82 00 D8 */ beq lbl_80040428
/* 80040354 0003D294 7F E3 FB 78 */ mr r3, r31
/* 80040358 0003D298 81 9F 00 00 */ lwz r12, 0(r31)
/* 8004035C 0003D29C 81 8C 00 98 */ lwz r12, 0x98(r12)
/* 80040360 0003D2A0 7D 89 03 A6 */ mtctr r12
/* 80040364 0003D2A4 4E 80 04 21 */ bctrl
/* 80040368 0003D2A8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8004036C 0003D2AC 41 82 00 BC */ beq lbl_80040428
/* 80040370 0003D2B0 3B A0 00 01 */ li r29, 1
/* 80040374 0003D2B4 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80040378 0003D2B8 41 82 00 44 */ beq lbl_800403BC
/* 8004037C 0003D2BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 80040380 0003D2C0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 80040384 0003D2C4 88 03 0D B4 */ lbz r0, 0xdb4(r3)
/* 80040388 0003D2C8 7C 1E 07 74 */ extsb r30, r0
/* 8004038C 0003D2CC 38 61 00 20 */ addi r3, r1, 0x20
/* 80040390 0003D2D0 4B FF EC 9D */ bl dMapInfo_n_NS_getMapRestartPos
/* 80040394 0003D2D4 C0 21 00 24 */ lfs f1, 0x24(r1)
/* 80040398 0003D2D8 38 60 00 01 */ li r3, 1
/* 8004039C 0003D2DC 7F C4 F3 78 */ mr r4, r30
/* 800403A0 0003D2E0 4B FF F0 6D */ bl dMapInfo_c_NS_calcFloorNo
/* 800403A4 0003D2E4 7C 63 07 74 */ extsb r3, r3
/* 800403A8 0003D2E8 88 1F 00 30 */ lbz r0, 0x30(r31)
/* 800403AC 0003D2EC 7C 00 07 74 */ extsb r0, r0
/* 800403B0 0003D2F0 7C 03 00 00 */ cmpw r3, r0
/* 800403B4 0003D2F4 41 82 00 08 */ beq lbl_800403BC
/* 800403B8 0003D2F8 3B A0 00 00 */ li r29, 0
lbl_800403BC:
/* 800403BC 0003D2FC 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 800403C0 0003D300 41 82 00 68 */ beq lbl_80040428
/* 800403C4 0003D304 3B A0 00 1F */ li r29, 0x1f
/* 800403C8 0003D308 80 9F 00 2C */ lwz r4, 0x2c(r31)
/* 800403CC 0003D30C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 800403D0 0003D310 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 800403D4 0003D314 88 03 0D B4 */ lbz r0, 0xdb4(r3)
/* 800403D8 0003D318 7C 00 07 74 */ extsb r0, r0
/* 800403DC 0003D31C 7C 04 00 00 */ cmpw r4, r0
/* 800403E0 0003D320 41 82 00 08 */ beq lbl_800403E8
/* 800403E4 0003D324 3B A0 00 20 */ li r29, 0x20
lbl_800403E8:
/* 800403E8 0003D328 7F E3 FB 78 */ mr r3, r31
/* 800403EC 0003D32C 81 9F 00 00 */ lwz r12, 0(r31)
/* 800403F0 0003D330 81 8C 00 B8 */ lwz r12, 0xb8(r12)
/* 800403F4 0003D334 7D 89 03 A6 */ mtctr r12
/* 800403F8 0003D338 4E 80 04 21 */ bctrl
/* 800403FC 0003D33C FF E0 08 90 */ fmr f31, f1
/* 80040400 0003D340 4B FF EC F9 */ bl dMapInfo_n_NS_getMapRestartAngleY
/* 80040404 0003D344 7C 7E 1B 78 */ mr r30, r3
/* 80040408 0003D348 38 61 00 14 */ addi r3, r1, 0x14
/* 8004040C 0003D34C 4B FF EC 21 */ bl dMapInfo_n_NS_getMapRestartPos
/* 80040410 0003D350 7F E3 FB 78 */ mr r3, r31
/* 80040414 0003D354 38 81 00 14 */ addi r4, r1, 0x14
/* 80040418 0003D358 7F C5 F3 78 */ mr r5, r30
/* 8004041C 0003D35C 7F A6 EB 78 */ mr r6, r29
/* 80040420 0003D360 FC 20 F8 90 */ fmr f1, f31
/* 80040424 0003D364 48 00 0E 9D */ bl renderingPlusDoorAndCursor_c_NS_drawCursor
lbl_80040428:
/* 80040428 0003D368 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 8004042C 0003D36C 2C 00 00 00 */ cmpwi r0, 0
/* 80040430 0003D370 41 80 00 28 */ blt lbl_80040458
/* 80040434 0003D374 7F E3 FB 78 */ mr r3, r31
/* 80040438 0003D378 81 9F 00 00 */ lwz r12, 0(r31)
/* 8004043C 0003D37C 81 8C 00 A0 */ lwz r12, 0xa0(r12)
/* 80040440 0003D380 7D 89 03 A6 */ mtctr r12
/* 80040444 0003D384 4E 80 04 21 */ bctrl
/* 80040448 0003D388 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8004044C 0003D38C 41 82 00 0C */ beq lbl_80040458
/* 80040450 0003D390 7F E3 FB 78 */ mr r3, r31
/* 80040454 0003D394 48 00 06 AD */ bl renderingPlusDoorAndCursor_c_NS_drawTreasure
lbl_80040458:
/* 80040458 0003D398 7F E3 FB 78 */ mr r3, r31
/* 8004045C 0003D39C 81 9F 00 00 */ lwz r12, 0(r31)
/* 80040460 0003D3A0 81 8C 00 9C */ lwz r12, 0x9c(r12)
/* 80040464 0003D3A4 7D 89 03 A6 */ mtctr r12
/* 80040468 0003D3A8 4E 80 04 21 */ bctrl
/* 8004046C 0003D3AC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80040470 0003D3B0 41 82 00 58 */ beq lbl_800404C8
/* 80040474 0003D3B4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 80040478 0003D3B8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 8004047C 0003D3BC 80 03 5D AC */ lwz r0, 0x5dac(r3)
/* 80040480 0003D3C0 28 00 00 00 */ cmplwi r0, 0
/* 80040484 0003D3C4 41 82 00 44 */ beq lbl_800404C8
/* 80040488 0003D3C8 7F E3 FB 78 */ mr r3, r31
/* 8004048C 0003D3CC 81 9F 00 00 */ lwz r12, 0(r31)
/* 80040490 0003D3D0 81 8C 00 B4 */ lwz r12, 0xb4(r12)
/* 80040494 0003D3D4 7D 89 03 A6 */ mtctr r12
/* 80040498 0003D3D8 4E 80 04 21 */ bctrl
/* 8004049C 0003D3DC FF E0 08 90 */ fmr f31, f1
/* 800404A0 0003D3E0 4B FF EA 81 */ bl dMapInfo_n_NS_getMapPlayerAngleY
/* 800404A4 0003D3E4 7C 7E 1B 78 */ mr r30, r3
/* 800404A8 0003D3E8 38 61 00 08 */ addi r3, r1, 8
/* 800404AC 0003D3EC 4B FF E9 B1 */ bl dMapInfo_n_NS_getMapPlayerPos
/* 800404B0 0003D3F0 7F E3 FB 78 */ mr r3, r31
/* 800404B4 0003D3F4 38 81 00 08 */ addi r4, r1, 8
/* 800404B8 0003D3F8 7F C5 F3 78 */ mr r5, r30
/* 800404BC 0003D3FC 38 C0 00 1E */ li r6, 0x1e
/* 800404C0 0003D400 FC 20 F8 90 */ fmr f1, f31
/* 800404C4 0003D404 48 00 0D FD */ bl renderingPlusDoorAndCursor_c_NS_drawCursor
lbl_800404C8:
/* 800404C8 0003D408 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 800404CC 0003D40C 2C 00 00 00 */ cmpwi r0, 0
/* 800404D0 0003D410 41 80 00 28 */ blt lbl_800404F8
/* 800404D4 0003D414 7F E3 FB 78 */ mr r3, r31
/* 800404D8 0003D418 81 9F 00 00 */ lwz r12, 0(r31)
/* 800404DC 0003D41C 81 8C 00 A0 */ lwz r12, 0xa0(r12)
/* 800404E0 0003D420 7D 89 03 A6 */ mtctr r12
/* 800404E4 0003D424 4E 80 04 21 */ bctrl
/* 800404E8 0003D428 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800404EC 0003D42C 41 82 00 0C */ beq lbl_800404F8
/* 800404F0 0003D430 7F E3 FB 78 */ mr r3, r31
/* 800404F4 0003D434 48 00 09 91 */ bl renderingPlusDoorAndCursor_c_NS_drawTreasureAfterPlayer
lbl_800404F8:
/* 800404F8 0003D438 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 800404FC 0003D43C CB E1 00 40 */ lfd f31, 0x40(r1)
/* 80040500 0003D440 39 61 00 40 */ addi r11, r1, 0x40
/* 80040504 0003D444 48 32 1D 25 */ bl _restgpr_29
/* 80040508 0003D448 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8004050C 0003D44C 7C 08 03 A6 */ mtlr r0
/* 80040510 0003D450 38 21 00 50 */ addi r1, r1, 0x50
/* 80040514 0003D454 4E 80 00 20 */ blr
.global renderingPlusDoor_c_NS_afterDrawPath
renderingPlusDoor_c_NS_afterDrawPath:
/* 80040518 0003D458 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004051C 0003D45C 7C 08 02 A6 */ mflr r0
/* 80040520 0003D460 90 01 00 14 */ stw r0, 0x14(r1)
/* 80040524 0003D464 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80040528 0003D468 7C 7F 1B 78 */ mr r31, r3
/* 8004052C 0003D46C 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 80040530 0003D470 2C 00 00 00 */ cmpwi r0, 0
/* 80040534 0003D474 41 80 00 2C */ blt lbl_80040560
/* 80040538 0003D478 81 83 00 00 */ lwz r12, 0(r3)
/* 8004053C 0003D47C 81 8C 00 80 */ lwz r12, 0x80(r12)
/* 80040540 0003D480 7D 89 03 A6 */ mtctr r12
/* 80040544 0003D484 4E 80 04 21 */ bctrl
/* 80040548 0003D488 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8004054C 0003D48C 41 82 00 14 */ beq lbl_80040560
/* 80040550 0003D490 7F E3 FB 78 */ mr r3, r31
/* 80040554 0003D494 48 00 00 21 */ bl renderingPlusDoor_c_NS_drawDoor1
/* 80040558 0003D498 7F E3 FB 78 */ mr r3, r31
/* 8004055C 0003D49C 48 00 00 5D */ bl renderingPlusDoor_c_NS_drawDoor2
lbl_80040560:
/* 80040560 0003D4A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80040564 0003D4A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80040568 0003D4A8 7C 08 03 A6 */ mtlr r0
/* 8004056C 0003D4AC 38 21 00 10 */ addi r1, r1, 0x10
/* 80040570 0003D4B0 4E 80 00 20 */ blr
.global renderingPlusDoor_c_NS_drawDoor1
renderingPlusDoor_c_NS_drawDoor1:
/* 80040574 0003D4B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80040578 0003D4B8 7C 08 02 A6 */ mflr r0
/* 8004057C 0003D4BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80040580 0003D4C0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80040584 0003D4C4 7C 7F 1B 78 */ mr r31, r3
/* 80040588 0003D4C8 4B FE 39 6D */ bl dStage_GetKeepDoorInfo
/* 8004058C 0003D4CC 7C 65 1B 78 */ mr r5, r3
/* 80040590 0003D4D0 7F E3 FB 78 */ mr r3, r31
/* 80040594 0003D4D4 38 85 00 04 */ addi r4, r5, 4
/* 80040598 0003D4D8 80 A5 00 00 */ lwz r5, 0(r5)
/* 8004059C 0003D4DC 38 C0 00 01 */ li r6, 1
/* 800405A0 0003D4E0 48 00 00 5D */ bl renderingPlusDoor_c_NS_drawDoorCommon
/* 800405A4 0003D4E4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800405A8 0003D4E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800405AC 0003D4EC 7C 08 03 A6 */ mtlr r0
/* 800405B0 0003D4F0 38 21 00 10 */ addi r1, r1, 0x10
/* 800405B4 0003D4F4 4E 80 00 20 */ blr
.global renderingPlusDoor_c_NS_drawDoor2
renderingPlusDoor_c_NS_drawDoor2:
/* 800405B8 0003D4F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800405BC 0003D4FC 7C 08 02 A6 */ mflr r0
/* 800405C0 0003D500 90 01 00 14 */ stw r0, 0x14(r1)
/* 800405C4 0003D504 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800405C8 0003D508 7C 7F 1B 78 */ mr r31, r3
/* 800405CC 0003D50C 4B FE 3A 91 */ bl dStage_GetRoomKeepDoorInfo
/* 800405D0 0003D510 7C 65 1B 78 */ mr r5, r3
/* 800405D4 0003D514 7F E3 FB 78 */ mr r3, r31
/* 800405D8 0003D518 38 85 00 04 */ addi r4, r5, 4
/* 800405DC 0003D51C 80 A5 00 00 */ lwz r5, 0(r5)
/* 800405E0 0003D520 38 C0 00 00 */ li r6, 0
/* 800405E4 0003D524 48 00 00 19 */ bl renderingPlusDoor_c_NS_drawDoorCommon
/* 800405E8 0003D528 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800405EC 0003D52C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800405F0 0003D530 7C 08 03 A6 */ mtlr r0
/* 800405F4 0003D534 38 21 00 10 */ addi r1, r1, 0x10
/* 800405F8 0003D538 4E 80 00 20 */ blr
.global renderingPlusDoor_c_NS_drawDoorCommon
renderingPlusDoor_c_NS_drawDoorCommon:
/* 800405FC 0003D53C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80040600 0003D540 7C 08 02 A6 */ mflr r0
/* 80040604 0003D544 90 01 00 34 */ stw r0, 0x34(r1)
/* 80040608 0003D548 39 61 00 30 */ addi r11, r1, 0x30
/* 8004060C 0003D54C 48 32 1B C1 */ bl _savegpr_25
/* 80040610 0003D550 7C 79 1B 78 */ mr r25, r3
/* 80040614 0003D554 7C 9A 23 78 */ mr r26, r4
/* 80040618 0003D558 7C BB 2B 78 */ mr r27, r5
/* 8004061C 0003D55C 7C DC 33 78 */ mr r28, r6
/* 80040620 0003D560 48 31 AF 6D */ bl GXClearVtxDesc
/* 80040624 0003D564 38 60 00 09 */ li r3, 9
/* 80040628 0003D568 38 80 00 01 */ li r4, 1
/* 8004062C 0003D56C 48 31 A8 8D */ bl GXSetVtxDesc
/* 80040630 0003D570 38 60 00 0D */ li r3, 0xd
/* 80040634 0003D574 38 80 00 02 */ li r4, 2
/* 80040638 0003D578 48 31 A8 81 */ bl GXSetVtxDesc
/* 8004063C 0003D57C 38 60 00 00 */ li r3, 0
/* 80040640 0003D580 38 80 00 09 */ li r4, 9
/* 80040644 0003D584 38 A0 00 01 */ li r5, 1
/* 80040648 0003D588 38 C0 00 04 */ li r6, 4
/* 8004064C 0003D58C 38 E0 00 00 */ li r7, 0
/* 80040650 0003D590 48 31 AF 75 */ bl GXSetVtxAttrFmt
/* 80040654 0003D594 38 60 00 00 */ li r3, 0
/* 80040658 0003D598 38 80 00 0D */ li r4, 0xd
/* 8004065C 0003D59C 38 A0 00 01 */ li r5, 1
/* 80040660 0003D5A0 38 C0 00 00 */ li r6, 0
/* 80040664 0003D5A4 38 E0 00 00 */ li r7, 0
/* 80040668 0003D5A8 48 31 AF 5D */ bl GXSetVtxAttrFmt
/* 8004066C 0003D5AC 38 60 00 0D */ li r3, 0xd
/* 80040670 0003D5B0 38 82 84 68 */ addi r4, r2, lbl_80451E68-_SDA2_BASE_
/* 80040674 0003D5B4 38 A0 00 02 */ li r5, 2
/* 80040678 0003D5B8 48 31 B4 B1 */ bl GXSetArray
/* 8004067C 0003D5BC 7F 23 CB 78 */ mr r3, r25
/* 80040680 0003D5C0 4B FF C8 C1 */ bl dRenderingFDAmap_c_NS_setTevSettingIntensityTextureToCI
/* 80040684 0003D5C4 3B A0 00 00 */ li r29, 0
/* 80040688 0003D5C8 48 00 00 60 */ b lbl_800406E8
lbl_8004068C:
/* 8004068C 0003D5CC 80 1A 00 08 */ lwz r0, 8(r26)
/* 80040690 0003D5D0 54 1F 9E BE */ rlwinm r31, r0, 0x13, 0x1a, 0x1f
/* 80040694 0003D5D4 54 1E 6E BE */ rlwinm r30, r0, 0xd, 0x1a, 0x1f
/* 80040698 0003D5D8 7F 23 CB 78 */ mr r3, r25
/* 8004069C 0003D5DC 7F E4 FB 78 */ mr r4, r31
/* 800406A0 0003D5E0 7F C5 F3 78 */ mr r5, r30
/* 800406A4 0003D5E4 C0 3A 00 10 */ lfs f1, 0x10(r26)
/* 800406A8 0003D5E8 48 00 00 69 */ bl renderingPlusDoor_c_NS_checkDispDoorS
/* 800406AC 0003D5EC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800406B0 0003D5F0 41 82 00 30 */ beq lbl_800406E0
/* 800406B4 0003D5F4 3C 60 80 42 */ lis r3, lbl_80424684@ha
/* 800406B8 0003D5F8 38 63 46 84 */ addi r3, r3, lbl_80424684@l
/* 800406BC 0003D5FC 80 63 00 00 */ lwz r3, 0(r3)
/* 800406C0 0003D600 38 80 00 00 */ li r4, 0
/* 800406C4 0003D604 48 31 DD 51 */ bl GXLoadTexObj
/* 800406C8 0003D608 7F 23 CB 78 */ mr r3, r25
/* 800406CC 0003D60C 7F 44 D3 78 */ mr r4, r26
/* 800406D0 0003D610 7F E5 FB 78 */ mr r5, r31
/* 800406D4 0003D614 7F C6 F3 78 */ mr r6, r30
/* 800406D8 0003D618 7F 87 E3 78 */ mr r7, r28
/* 800406DC 0003D61C 48 00 01 5D */ bl renderingPlusDoor_c_NS_drawNormalDoorS
lbl_800406E0:
/* 800406E0 0003D620 3B BD 00 01 */ addi r29, r29, 1
/* 800406E4 0003D624 3B 5A 00 24 */ addi r26, r26, 0x24
lbl_800406E8:
/* 800406E8 0003D628 7C 1D D8 00 */ cmpw r29, r27
/* 800406EC 0003D62C 41 80 FF A0 */ blt lbl_8004068C
/* 800406F0 0003D630 7F 23 CB 78 */ mr r3, r25
/* 800406F4 0003D634 4B FF C7 85 */ bl dRenderingFDAmap_c_NS_setTevSettingNonTextureDirectColor
/* 800406F8 0003D638 39 61 00 30 */ addi r11, r1, 0x30
/* 800406FC 0003D63C 48 32 1B 1D */ bl _restgpr_25
/* 80040700 0003D640 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80040704 0003D644 7C 08 03 A6 */ mtlr r0
/* 80040708 0003D648 38 21 00 30 */ addi r1, r1, 0x30
/* 8004070C 0003D64C 4E 80 00 20 */ blr
.global renderingPlusDoor_c_NS_checkDispDoorS
renderingPlusDoor_c_NS_checkDispDoorS:
/* 80040710 0003D650 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80040714 0003D654 7C 08 02 A6 */ mflr r0
/* 80040718 0003D658 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004071C 0003D65C DB E1 00 18 */ stfd f31, 0x18(r1)
/* 80040720 0003D660 39 61 00 18 */ addi r11, r1, 0x18
/* 80040724 0003D664 48 32 1A B9 */ bl _savegpr_29
/* 80040728 0003D668 7C 7D 1B 78 */ mr r29, r3
/* 8004072C 0003D66C 7C 9E 23 78 */ mr r30, r4
/* 80040730 0003D670 7C BF 2B 78 */ mr r31, r5
/* 80040734 0003D674 FF E0 08 90 */ fmr f31, f1
/* 80040738 0003D678 81 83 00 00 */ lwz r12, 0(r3)
/* 8004073C 0003D67C 81 8C 00 7C */ lwz r12, 0x7c(r12)
/* 80040740 0003D680 7D 89 03 A6 */ mtctr r12
/* 80040744 0003D684 4E 80 04 21 */ bctrl
/* 80040748 0003D688 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8004074C 0003D68C 41 82 00 60 */ beq lbl_800407AC
/* 80040750 0003D690 7F A3 EB 78 */ mr r3, r29
/* 80040754 0003D694 81 9D 00 00 */ lwz r12, 0(r29)
/* 80040758 0003D698 81 8C 00 78 */ lwz r12, 0x78(r12)
/* 8004075C 0003D69C 7D 89 03 A6 */ mtctr r12
/* 80040760 0003D6A0 4E 80 04 21 */ bctrl
/* 80040764 0003D6A4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80040768 0003D6A8 40 82 00 60 */ bne lbl_800407C8
/* 8004076C 0003D6AC 7F C3 F3 78 */ mr r3, r30
/* 80040770 0003D6B0 4B FF E5 A1 */ bl dMapInfo_n_NS_isVisitedRoom
/* 80040774 0003D6B4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80040778 0003D6B8 40 82 00 50 */ bne lbl_800407C8
/* 8004077C 0003D6BC 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 80040780 0003D6C0 7C 1E 00 00 */ cmpw r30, r0
/* 80040784 0003D6C4 41 82 00 44 */ beq lbl_800407C8
/* 80040788 0003D6C8 7F E3 FB 78 */ mr r3, r31
/* 8004078C 0003D6CC 4B FF E5 85 */ bl dMapInfo_n_NS_isVisitedRoom
/* 80040790 0003D6D0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80040794 0003D6D4 40 82 00 34 */ bne lbl_800407C8
/* 80040798 0003D6D8 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 8004079C 0003D6DC 7C 1F 00 00 */ cmpw r31, r0
/* 800407A0 0003D6E0 41 82 00 28 */ beq lbl_800407C8
/* 800407A4 0003D6E4 38 60 00 00 */ li r3, 0
/* 800407A8 0003D6E8 48 00 00 74 */ b lbl_8004081C
lbl_800407AC:
/* 800407AC 0003D6EC 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 800407B0 0003D6F0 7C 1E 00 00 */ cmpw r30, r0
/* 800407B4 0003D6F4 41 82 00 14 */ beq lbl_800407C8
/* 800407B8 0003D6F8 7C 1F 00 00 */ cmpw r31, r0
/* 800407BC 0003D6FC 41 82 00 0C */ beq lbl_800407C8
/* 800407C0 0003D700 38 60 00 00 */ li r3, 0
/* 800407C4 0003D704 48 00 00 58 */ b lbl_8004081C
lbl_800407C8:
/* 800407C8 0003D708 7F A3 EB 78 */ mr r3, r29
/* 800407CC 0003D70C FC 20 F8 90 */ fmr f1, f31
/* 800407D0 0003D710 7F C4 F3 78 */ mr r4, r30
/* 800407D4 0003D714 4B FF F4 D1 */ bl renderingDAmap_c_NS_calcFloorNoForObjectByMapPathRend
/* 800407D8 0003D718 7C 63 07 74 */ extsb r3, r3
/* 800407DC 0003D71C 88 1D 00 30 */ lbz r0, 0x30(r29)
/* 800407E0 0003D720 7C 00 07 74 */ extsb r0, r0
/* 800407E4 0003D724 7C 00 18 00 */ cmpw r0, r3
/* 800407E8 0003D728 41 82 00 28 */ beq lbl_80040810
/* 800407EC 0003D72C 7F A3 EB 78 */ mr r3, r29
/* 800407F0 0003D730 FC 20 F8 90 */ fmr f1, f31
/* 800407F4 0003D734 7F E4 FB 78 */ mr r4, r31
/* 800407F8 0003D738 4B FF F4 AD */ bl renderingDAmap_c_NS_calcFloorNoForObjectByMapPathRend
/* 800407FC 0003D73C 7C 63 07 74 */ extsb r3, r3
/* 80040800 0003D740 88 1D 00 30 */ lbz r0, 0x30(r29)
/* 80040804 0003D744 7C 00 07 74 */ extsb r0, r0
/* 80040808 0003D748 7C 00 18 00 */ cmpw r0, r3
/* 8004080C 0003D74C 40 82 00 0C */ bne lbl_80040818
lbl_80040810:
/* 80040810 0003D750 38 60 00 01 */ li r3, 1
/* 80040814 0003D754 48 00 00 08 */ b lbl_8004081C
lbl_80040818:
/* 80040818 0003D758 38 60 00 00 */ li r3, 0
lbl_8004081C:
/* 8004081C 0003D75C CB E1 00 18 */ lfd f31, 0x18(r1)
/* 80040820 0003D760 39 61 00 18 */ addi r11, r1, 0x18
/* 80040824 0003D764 48 32 1A 05 */ bl _restgpr_29
/* 80040828 0003D768 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004082C 0003D76C 7C 08 03 A6 */ mtlr r0
/* 80040830 0003D770 38 21 00 20 */ addi r1, r1, 0x20
/* 80040834 0003D774 4E 80 00 20 */ blr
.global renderingPlusDoor_c_NS_drawNormalDoorS
renderingPlusDoor_c_NS_drawNormalDoorS:
/* 80040838 0003D778 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8004083C 0003D77C 7C 08 02 A6 */ mflr r0
/* 80040840 0003D780 90 01 00 74 */ stw r0, 0x74(r1)
/* 80040844 0003D784 39 61 00 70 */ addi r11, r1, 0x70
/* 80040848 0003D788 48 32 19 95 */ bl _savegpr_29
/* 8004084C 0003D78C 7C 9D 23 78 */ mr r29, r4
/* 80040850 0003D790 7C BE 2B 78 */ mr r30, r5
/* 80040854 0003D794 7C FF 3B 78 */ mr r31, r7
/* 80040858 0003D798 88 0D 87 E4 */ lbz r0, lbl_80450D64-_SDA_BASE_(r13)
/* 8004085C 0003D79C 7C 00 07 74 */ extsb r0, r0
/* 80040860 0003D7A0 7C 1E 00 00 */ cmpw r30, r0
/* 80040864 0003D7A4 41 82 00 0C */ beq lbl_80040870
/* 80040868 0003D7A8 7C 06 00 00 */ cmpw r6, r0
/* 8004086C 0003D7AC 40 82 00 30 */ bne lbl_8004089C
lbl_80040870:
/* 80040870 0003D7B0 80 02 84 58 */ lwz r0, lbl_80451E58-_SDA2_BASE_(r2)
/* 80040874 0003D7B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80040878 0003D7B8 38 60 00 02 */ li r3, 2
/* 8004087C 0003D7BC 38 81 00 14 */ addi r4, r1, 0x14
/* 80040880 0003D7C0 48 31 EA FD */ bl GXSetTevColor
/* 80040884 0003D7C4 80 02 84 60 */ lwz r0, lbl_80451E60-_SDA2_BASE_(r2)
/* 80040888 0003D7C8 90 01 00 10 */ stw r0, 0x10(r1)
/* 8004088C 0003D7CC 38 60 00 03 */ li r3, 3
/* 80040890 0003D7D0 38 81 00 10 */ addi r4, r1, 0x10
/* 80040894 0003D7D4 48 31 EA E9 */ bl GXSetTevColor
/* 80040898 0003D7D8 48 00 00 2C */ b lbl_800408C4
lbl_8004089C:
/* 8004089C 0003D7DC 80 02 84 5C */ lwz r0, lbl_80451E5C-_SDA2_BASE_(r2)
/* 800408A0 0003D7E0 90 01 00 0C */ stw r0, 0xc(r1)
/* 800408A4 0003D7E4 38 60 00 02 */ li r3, 2
/* 800408A8 0003D7E8 38 81 00 0C */ addi r4, r1, 0xc
/* 800408AC 0003D7EC 48 31 EA D1 */ bl GXSetTevColor
/* 800408B0 0003D7F0 80 02 84 64 */ lwz r0, lbl_80451E64-_SDA2_BASE_(r2)
/* 800408B4 0003D7F4 90 01 00 08 */ stw r0, 8(r1)
/* 800408B8 0003D7F8 38 60 00 03 */ li r3, 3
/* 800408BC 0003D7FC 38 81 00 08 */ addi r4, r1, 8
/* 800408C0 0003D800 48 31 EA BD */ bl GXSetTevColor
lbl_800408C4:
/* 800408C4 0003D804 C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 800408C8 0003D808 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 800408CC 0003D80C C0 1D 00 10 */ lfs f0, 0x10(r29)
/* 800408D0 0003D810 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 800408D4 0003D814 C0 1D 00 14 */ lfs f0, 0x14(r29)
/* 800408D8 0003D818 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 800408DC 0003D81C 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 800408E0 0003D820 41 82 00 10 */ beq lbl_800408F0
/* 800408E4 0003D824 7F C3 07 74 */ extsb r3, r30
/* 800408E8 0003D828 38 81 00 18 */ addi r4, r1, 0x18
/* 800408EC 0003D82C 4B FF E4 75 */ bl dMapInfo_n_NS_correctionOriginPos
lbl_800408F0:
/* 800408F0 0003D830 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 800408F4 0003D834 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
/* 800408F8 0003D838 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 800408FC 0003D83C C0 41 00 20 */ lfs f2, 0x20(r1)
/* 80040900 0003D840 C0 62 84 28 */ lfs f3, lbl_80451E28-_SDA2_BASE_(r2)
/* 80040904 0003D844 48 30 5F E5 */ bl PSMTXTrans
/* 80040908 0003D848 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 8004090C 0003D84C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
/* 80040910 0003D850 A8 9D 00 1A */ lha r4, 0x1a(r29)
/* 80040914 0003D854 4B FC BB B9 */ bl mDoMtx_ZrotM
/* 80040918 0003D858 C0 22 84 70 */ lfs f1, lbl_80451E70-_SDA2_BASE_(r2)
/* 8004091C 0003D85C FC 40 08 90 */ fmr f2, f1
/* 80040920 0003D860 C0 62 84 38 */ lfs f3, lbl_80451E38-_SDA2_BASE_(r2)
/* 80040924 0003D864 4B FC C5 15 */ bl mDoMtx_stack_c_NS_scaleM
/* 80040928 0003D868 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 8004092C 0003D86C 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
/* 80040930 0003D870 3C 80 80 38 */ lis r4, lbl_80379C58@ha
/* 80040934 0003D874 38 84 9C 58 */ addi r4, r4, lbl_80379C58@l
/* 80040938 0003D878 38 A1 00 24 */ addi r5, r1, 0x24
/* 8004093C 0003D87C 38 C0 00 04 */ li r6, 4
/* 80040940 0003D880 48 30 64 81 */ bl PSMTXMultVecArray
/* 80040944 0003D884 38 60 00 80 */ li r3, 0x80
/* 80040948 0003D888 38 80 00 00 */ li r4, 0
/* 8004094C 0003D88C 38 A0 00 04 */ li r5, 4
/* 80040950 0003D890 48 31 BE 15 */ bl GXBegin
/* 80040954 0003D894 38 A0 00 00 */ li r5, 0
/* 80040958 0003D898 3C 60 CC 01 */ lis r3, 0xcc01
/* 8004095C 0003D89C 48 00 00 34 */ b lbl_80040990
lbl_80040960:
/* 80040960 0003D8A0 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 80040964 0003D8A4 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80040968 0003D8A8 38 81 00 24 */ addi r4, r1, 0x24
/* 8004096C 0003D8AC 7C 84 02 14 */ add r4, r4, r0
/* 80040970 0003D8B0 C0 04 00 00 */ lfs f0, 0(r4)
/* 80040974 0003D8B4 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 80040978 0003D8B8 C0 04 00 04 */ lfs f0, 4(r4)
/* 8004097C 0003D8BC D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 80040980 0003D8C0 C0 04 00 08 */ lfs f0, 8(r4)
/* 80040984 0003D8C4 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 80040988 0003D8C8 98 A3 80 00 */ stb r5, -0x8000(r3)
/* 8004098C 0003D8CC 38 A5 00 01 */ addi r5, r5, 1
lbl_80040990:
/* 80040990 0003D8D0 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 80040994 0003D8D4 28 00 00 04 */ cmplwi r0, 4
/* 80040998 0003D8D8 41 80 FF C8 */ blt lbl_80040960
/* 8004099C 0003D8DC 39 61 00 70 */ addi r11, r1, 0x70
/* 800409A0 0003D8E0 48 32 18 89 */ bl _restgpr_29
/* 800409A4 0003D8E4 80 01 00 74 */ lwz r0, 0x74(r1)
/* 800409A8 0003D8E8 7C 08 03 A6 */ mtlr r0
/* 800409AC 0003D8EC 38 21 00 70 */ addi r1, r1, 0x70
/* 800409B0 0003D8F0 4E 80 00 20 */ blr
/* 800409B4 0003D8F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800409B8 0003D8F8 7C 08 02 A6 */ mflr r0
/* 800409BC 0003D8FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800409C0 0003D900 81 83 00 00 */ lwz r12, 0(r3)
/* 800409C4 0003D904 81 8C 00 90 */ lwz r12, 0x90(r12)
/* 800409C8 0003D908 7D 89 03 A6 */ mtctr r12
/* 800409CC 0003D90C 4E 80 04 21 */ bctrl
/* 800409D0 0003D910 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800409D4 0003D914 7C 08 03 A6 */ mtlr r0
/* 800409D8 0003D918 38 21 00 10 */ addi r1, r1, 0x10
/* 800409DC 0003D91C 4E 80 00 20 */ blr
/* 800409E0 0003D920 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800409E4 0003D924 7C 08 02 A6 */ mflr r0
/* 800409E8 0003D928 90 01 00 34 */ stw r0, 0x34(r1)
/* 800409EC 0003D92C 39 61 00 30 */ addi r11, r1, 0x30
/* 800409F0 0003D930 48 32 17 D9 */ bl _savegpr_24
/* 800409F4 0003D934 7C 78 1B 78 */ mr r24, r3
/* 800409F8 0003D938 7C 99 23 78 */ mr r25, r4
/* 800409FC 0003D93C 7C BA 2B 78 */ mr r26, r5
/* 80040A00 0003D940 7C DB 33 78 */ mr r27, r6
/* 80040A04 0003D944 7D 1C 43 78 */ mr r28, r8
/* 80040A08 0003D948 7D 3D 4B 78 */ mr r29, r9
/* 80040A0C 0003D94C 88 84 00 01 */ lbz r4, 1(r4)
/* 80040A10 0003D950 7C 84 07 74 */ extsb r4, r4
/* 80040A14 0003D954 81 83 00 00 */ lwz r12, 0(r3)
/* 80040A18 0003D958 81 8C 00 94 */ lwz r12, 0x94(r12)
/* 80040A1C 0003D95C 7D 89 03 A6 */ mtctr r12
/* 80040A20 0003D960 4E 80 04 21 */ bctrl
/* 80040A24 0003D964 7C 7F 1B 78 */ mr r31, r3
/* 80040A28 0003D968 3B C0 00 00 */ li r30, 0
/* 80040A2C 0003D96C 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80040A30 0003D970 41 82 00 28 */ beq lbl_80040A58
/* 80040A34 0003D974 7F 03 C3 78 */ mr r3, r24
/* 80040A38 0003D978 C0 3D 00 04 */ lfs f1, 4(r29)
/* 80040A3C 0003D97C 88 99 00 01 */ lbz r4, 1(r25)
/* 80040A40 0003D980 7C 84 07 74 */ extsb r4, r4
/* 80040A44 0003D984 4B FF F2 61 */ bl renderingDAmap_c_NS_calcFloorNoForObjectByMapPathRend
/* 80040A48 0003D988 7C 60 07 74 */ extsb r0, r3
/* 80040A4C 0003D98C 7C 00 D8 00 */ cmpw r0, r27
/* 80040A50 0003D990 40 82 00 08 */ bne lbl_80040A58
/* 80040A54 0003D994 3B C0 00 01 */ li r30, 1
lbl_80040A58:
/* 80040A58 0003D998 7F 03 C3 78 */ mr r3, r24
/* 80040A5C 0003D99C 7F 24 CB 78 */ mr r4, r25
/* 80040A60 0003D9A0 7F C5 F3 78 */ mr r5, r30
/* 80040A64 0003D9A4 7F E6 FB 78 */ mr r6, r31
/* 80040A68 0003D9A8 7F 47 D3 78 */ mr r7, r26
/* 80040A6C 0003D9AC 81 98 00 00 */ lwz r12, 0(r24)
/* 80040A70 0003D9B0 81 8C 00 88 */ lwz r12, 0x88(r12)
/* 80040A74 0003D9B4 7D 89 03 A6 */ mtctr r12
/* 80040A78 0003D9B8 4E 80 04 21 */ bctrl
/* 80040A7C 0003D9BC 39 61 00 30 */ addi r11, r1, 0x30
/* 80040A80 0003D9C0 48 32 17 95 */ bl _restgpr_24
/* 80040A84 0003D9C4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80040A88 0003D9C8 7C 08 03 A6 */ mtlr r0
/* 80040A8C 0003D9CC 38 21 00 30 */ addi r1, r1, 0x30
/* 80040A90 0003D9D0 4E 80 00 20 */ blr
.global renderingPlusDoorAndCursor_c_NS_getFirstData
renderingPlusDoorAndCursor_c_NS_getFirstData:
/* 80040A94 0003D9D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80040A98 0003D9D8 7C 08 02 A6 */ mflr r0
/* 80040A9C 0003D9DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80040AA0 0003D9E0 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 80040AA4 0003D9E4 48 05 B8 BD */ bl dTres_c_NS_getFirstData
/* 80040AA8 0003D9E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80040AAC 0003D9EC 7C 08 03 A6 */ mtlr r0
/* 80040AB0 0003D9F0 38 21 00 10 */ addi r1, r1, 0x10
/* 80040AB4 0003D9F4 4E 80 00 20 */ blr
.global renderingPlusDoorAndCursor_c_NS_getNextData
renderingPlusDoorAndCursor_c_NS_getNextData:
/* 80040AB8 0003D9F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80040ABC 0003D9FC 7C 08 02 A6 */ mflr r0
/* 80040AC0 0003DA00 90 01 00 14 */ stw r0, 0x14(r1)
/* 80040AC4 0003DA04 7C 83 23 78 */ mr r3, r4
/* 80040AC8 0003DA08 48 05 B8 D5 */ bl dTres_c_NS_getNextData
/* 80040ACC 0003DA0C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80040AD0 0003DA10 7C 08 03 A6 */ mtlr r0
/* 80040AD4 0003DA14 38 21 00 10 */ addi r1, r1, 0x10
/* 80040AD8 0003DA18 4E 80 00 20 */ blr
.global renderingPlusDoorAndCursor_c_NS_getIconPosition
renderingPlusDoorAndCursor_c_NS_getIconPosition:
/* 80040ADC 0003DA1C 38 64 00 04 */ addi r3, r4, 4
/* 80040AE0 0003DA20 4E 80 00 20 */ blr
.global renderingDAmap_c_NS_getIconGroupNumber
renderingDAmap_c_NS_getIconGroupNumber:
/* 80040AE4 0003DA24 3C 60 80 42 */ lis r3, lbl_80425438@ha
/* 80040AE8 0003DA28 38 63 54 38 */ addi r3, r3, lbl_80425438@l
/* 80040AEC 0003DA2C 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 80040AF0 0003DA30 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80040AF4 0003DA34 7C 63 02 14 */ add r3, r3, r0
/* 80040AF8 0003DA38 88 63 00 08 */ lbz r3, 8(r3)
/* 80040AFC 0003DA3C 4E 80 00 20 */ blr
.global renderingPlusDoorAndCursor_c_NS_drawTreasure
renderingPlusDoorAndCursor_c_NS_drawTreasure:
/* 80040B00 0003DA40 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80040B04 0003DA44 7C 08 02 A6 */ mflr r0
/* 80040B08 0003DA48 90 01 00 74 */ stw r0, 0x74(r1)
/* 80040B0C 0003DA4C DB E1 00 60 */ stfd f31, 0x60(r1)
/* 80040B10 0003DA50 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 80040B14 0003DA54 DB C1 00 50 */ stfd f30, 0x50(r1)
/* 80040B18 0003DA58 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 80040B1C 0003DA5C 39 61 00 50 */ addi r11, r1, 0x50
/* 80040B20 0003DA60 48 32 16 99 */ bl _savegpr_20
/* 80040B24 0003DA64 7C 7F 1B 78 */ mr r31, r3
/* 80040B28 0003DA68 81 83 00 00 */ lwz r12, 0(r3)
/* 80040B2C 0003DA6C 81 8C 00 7C */ lwz r12, 0x7c(r12)
/* 80040B30 0003DA70 7D 89 03 A6 */ mtctr r12
/* 80040B34 0003DA74 4E 80 04 21 */ bctrl
/* 80040B38 0003DA78 7C 74 1B 78 */ mr r20, r3
/* 80040B3C 0003DA7C 48 31 AA 51 */ bl GXClearVtxDesc
/* 80040B40 0003DA80 38 60 00 09 */ li r3, 9
/* 80040B44 0003DA84 38 80 00 01 */ li r4, 1
/* 80040B48 0003DA88 48 31 A3 71 */ bl GXSetVtxDesc
/* 80040B4C 0003DA8C 38 60 00 0D */ li r3, 0xd
/* 80040B50 0003DA90 38 80 00 02 */ li r4, 2
/* 80040B54 0003DA94 48 31 A3 65 */ bl GXSetVtxDesc
/* 80040B58 0003DA98 38 60 00 00 */ li r3, 0
/* 80040B5C 0003DA9C 38 80 00 09 */ li r4, 9
/* 80040B60 0003DAA0 38 A0 00 00 */ li r5, 0
/* 80040B64 0003DAA4 38 C0 00 04 */ li r6, 4
/* 80040B68 0003DAA8 38 E0 00 00 */ li r7, 0
/* 80040B6C 0003DAAC 48 31 AA 59 */ bl GXSetVtxAttrFmt
/* 80040B70 0003DAB0 38 60 00 00 */ li r3, 0
/* 80040B74 0003DAB4 38 80 00 0D */ li r4, 0xd
/* 80040B78 0003DAB8 38 A0 00 01 */ li r5, 1
/* 80040B7C 0003DABC 38 C0 00 00 */ li r6, 0
/* 80040B80 0003DAC0 38 E0 00 00 */ li r7, 0
/* 80040B84 0003DAC4 48 31 AA 41 */ bl GXSetVtxAttrFmt
/* 80040B88 0003DAC8 38 60 00 0D */ li r3, 0xd
/* 80040B8C 0003DACC 38 82 84 9C */ addi r4, r2, lbl_80451E9C-_SDA2_BASE_
/* 80040B90 0003DAD0 38 A0 00 02 */ li r5, 2
/* 80040B94 0003DAD4 48 31 AF 95 */ bl GXSetArray
/* 80040B98 0003DAD8 7F E3 FB 78 */ mr r3, r31
/* 80040B9C 0003DADC 4B FF C3 A5 */ bl dRenderingFDAmap_c_NS_setTevSettingIntensityTextureToCI
/* 80040BA0 0003DAE0 3A E0 00 00 */ li r23, 0
/* 80040BA4 0003DAE4 3B C0 00 00 */ li r30, 0
/* 80040BA8 0003DAE8 3B 42 84 A4 */ addi r26, r2, lbl_80451EA4-_SDA2_BASE_
/* 80040BAC 0003DAEC 3B 22 84 7C */ addi r25, r2, lbl_80451E7C-_SDA2_BASE_
/* 80040BB0 0003DAF0 56 98 06 3E */ clrlwi r24, r20, 0x18
/* 80040BB4 0003DAF4 3C 60 80 38 */ lis r3, lbl_80379C88@ha
/* 80040BB8 0003DAF8 3B 63 9C 88 */ addi r27, r3, lbl_80379C88@l
lbl_80040BBC:
/* 80040BBC 0003DAFC 7F BB F2 14 */ add r29, r27, r30
/* 80040BC0 0003DB00 88 9D 00 00 */ lbz r4, 0(r29)
/* 80040BC4 0003DB04 7C 95 23 78 */ mr r21, r4
/* 80040BC8 0003DB08 7F E3 FB 78 */ mr r3, r31
/* 80040BCC 0003DB0C 81 9F 00 00 */ lwz r12, 0(r31)
/* 80040BD0 0003DB10 81 8C 00 AC */ lwz r12, 0xac(r12)
/* 80040BD4 0003DB14 7D 89 03 A6 */ mtctr r12
/* 80040BD8 0003DB18 4E 80 04 21 */ bctrl
/* 80040BDC 0003DB1C 7C 76 1B 78 */ mr r22, r3
/* 80040BE0 0003DB20 7F E3 FB 78 */ mr r3, r31
/* 80040BE4 0003DB24 7E A4 AB 78 */ mr r4, r21
/* 80040BE8 0003DB28 81 9F 00 00 */ lwz r12, 0(r31)
/* 80040BEC 0003DB2C 81 8C 00 74 */ lwz r12, 0x74(r12)
/* 80040BF0 0003DB30 7D 89 03 A6 */ mtctr r12
/* 80040BF4 0003DB34 4E 80 04 21 */ bctrl
/* 80040BF8 0003DB38 7C 7C 1B 79 */ or. r28, r3, r3
/* 80040BFC 0003DB3C 41 82 02 48 */ beq lbl_80040E44
/* 80040C00 0003DB40 7F E3 FB 78 */ mr r3, r31
/* 80040C04 0003DB44 7E A4 AB 78 */ mr r4, r21
/* 80040C08 0003DB48 81 9F 00 00 */ lwz r12, 0(r31)
/* 80040C0C 0003DB4C 81 8C 00 A4 */ lwz r12, 0xa4(r12)
/* 80040C10 0003DB50 7D 89 03 A6 */ mtctr r12
/* 80040C14 0003DB54 4E 80 04 21 */ bctrl
/* 80040C18 0003DB58 C0 1F 00 18 */ lfs f0, 0x18(r31)
/* 80040C1C 0003DB5C EF C0 00 72 */ fmuls f30, f0, f1
/* 80040C20 0003DB60 48 31 DA 45 */ bl GXInvalidateTexAll
/* 80040C24 0003DB64 80 1D 00 04 */ lwz r0, 4(r29)
/* 80040C28 0003DB68 54 00 10 3A */ slwi r0, r0, 2
/* 80040C2C 0003DB6C 3C 60 80 42 */ lis r3, lbl_80424684@ha
/* 80040C30 0003DB70 38 63 46 84 */ addi r3, r3, lbl_80424684@l
/* 80040C34 0003DB74 7C 63 00 2E */ lwzx r3, r3, r0
/* 80040C38 0003DB78 38 80 00 00 */ li r4, 0
/* 80040C3C 0003DB7C 48 31 D7 D9 */ bl GXLoadTexObj
/* 80040C40 0003DB80 80 7D 00 08 */ lwz r3, 8(r29)
/* 80040C44 0003DB84 88 03 00 00 */ lbz r0, 0(r3)
/* 80040C48 0003DB88 98 01 00 18 */ stb r0, 0x18(r1)
/* 80040C4C 0003DB8C 88 03 00 01 */ lbz r0, 1(r3)
/* 80040C50 0003DB90 98 01 00 19 */ stb r0, 0x19(r1)
/* 80040C54 0003DB94 88 03 00 02 */ lbz r0, 2(r3)
/* 80040C58 0003DB98 98 01 00 1A */ stb r0, 0x1a(r1)
/* 80040C5C 0003DB9C 88 03 00 03 */ lbz r0, 3(r3)
/* 80040C60 0003DBA0 98 01 00 1B */ stb r0, 0x1b(r1)
/* 80040C64 0003DBA4 80 01 00 18 */ lwz r0, 0x18(r1)
/* 80040C68 0003DBA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80040C6C 0003DBAC 38 60 00 02 */ li r3, 2
/* 80040C70 0003DBB0 38 81 00 14 */ addi r4, r1, 0x14
/* 80040C74 0003DBB4 48 31 E7 09 */ bl GXSetTevColor
/* 80040C78 0003DBB8 88 61 00 18 */ lbz r3, 0x18(r1)
/* 80040C7C 0003DBBC 38 03 00 04 */ addi r0, r3, 4
/* 80040C80 0003DBC0 98 01 00 18 */ stb r0, 0x18(r1)
/* 80040C84 0003DBC4 80 01 00 18 */ lwz r0, 0x18(r1)
/* 80040C88 0003DBC8 90 01 00 10 */ stw r0, 0x10(r1)
/* 80040C8C 0003DBCC 38 60 00 03 */ li r3, 3
/* 80040C90 0003DBD0 38 81 00 10 */ addi r4, r1, 0x10
/* 80040C94 0003DBD4 48 31 E6 E9 */ bl GXSetTevColor
/* 80040C98 0003DBD8 3A 80 00 00 */ li r20, 0
/* 80040C9C 0003DBDC 56 BD 06 3E */ clrlwi r29, r21, 0x18
/* 80040CA0 0003DBE0 C3 E2 84 A8 */ lfs f31, lbl_80451EA8-_SDA2_BASE_(r2)
/* 80040CA4 0003DBE4 48 00 01 90 */ b lbl_80040E34
lbl_80040CA8:
/* 80040CA8 0003DBE8 7F E3 FB 78 */ mr r3, r31
/* 80040CAC 0003DBEC 7E C4 B3 78 */ mr r4, r22
/* 80040CB0 0003DBF0 81 9F 00 00 */ lwz r12, 0(r31)
/* 80040CB4 0003DBF4 81 8C 00 A8 */ lwz r12, 0xa8(r12)
/* 80040CB8 0003DBF8 7D 89 03 A6 */ mtctr r12
/* 80040CBC 0003DBFC 4E 80 04 21 */ bctrl
/* 80040CC0 0003DC00 7C 75 1B 78 */ mr r21, r3
/* 80040CC4 0003DC04 28 1D 00 00 */ cmplwi r29, 0
/* 80040CC8 0003DC08 40 82 00 90 */ bne lbl_80040D58
/* 80040CCC 0003DC0C 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80040CD0 0003DC10 88 16 00 01 */ lbz r0, 1(r22)
/* 80040CD4 0003DC14 7C 00 07 74 */ extsb r0, r0
/* 80040CD8 0003DC18 7C 03 00 00 */ cmpw r3, r0
/* 80040CDC 0003DC1C 41 82 00 28 */ beq lbl_80040D04
/* 80040CE0 0003DC20 88 02 84 A4 */ lbz r0, lbl_80451EA4-_SDA2_BASE_(r2)
/* 80040CE4 0003DC24 98 01 00 18 */ stb r0, 0x18(r1)
/* 80040CE8 0003DC28 88 1A 00 01 */ lbz r0, 1(r26)
/* 80040CEC 0003DC2C 98 01 00 19 */ stb r0, 0x19(r1)
/* 80040CF0 0003DC30 88 1A 00 02 */ lbz r0, 2(r26)
/* 80040CF4 0003DC34 98 01 00 1A */ stb r0, 0x1a(r1)
/* 80040CF8 0003DC38 88 1A 00 03 */ lbz r0, 3(r26)
/* 80040CFC 0003DC3C 98 01 00 1B */ stb r0, 0x1b(r1)
/* 80040D00 0003DC40 48 00 00 24 */ b lbl_80040D24
lbl_80040D04:
/* 80040D04 0003DC44 88 02 84 7C */ lbz r0, lbl_80451E7C-_SDA2_BASE_(r2)
/* 80040D08 0003DC48 98 01 00 18 */ stb r0, 0x18(r1)
/* 80040D0C 0003DC4C 88 19 00 01 */ lbz r0, 1(r25)
/* 80040D10 0003DC50 98 01 00 19 */ stb r0, 0x19(r1)
/* 80040D14 0003DC54 88 19 00 02 */ lbz r0, 2(r25)
/* 80040D18 0003DC58 98 01 00 1A */ stb r0, 0x1a(r1)
/* 80040D1C 0003DC5C 88 19 00 03 */ lbz r0, 3(r25)
/* 80040D20 0003DC60 98 01 00 1B */ stb r0, 0x1b(r1)
lbl_80040D24:
/* 80040D24 0003DC64 80 01 00 18 */ lwz r0, 0x18(r1)
/* 80040D28 0003DC68 90 01 00 0C */ stw r0, 0xc(r1)
/* 80040D2C 0003DC6C 38 60 00 02 */ li r3, 2
/* 80040D30 0003DC70 38 81 00 0C */ addi r4, r1, 0xc
/* 80040D34 0003DC74 48 31 E6 49 */ bl GXSetTevColor
/* 80040D38 0003DC78 88 61 00 18 */ lbz r3, 0x18(r1)
/* 80040D3C 0003DC7C 38 03 00 04 */ addi r0, r3, 4
/* 80040D40 0003DC80 98 01 00 18 */ stb r0, 0x18(r1)
/* 80040D44 0003DC84 80 01 00 18 */ lwz r0, 0x18(r1)
/* 80040D48 0003DC88 90 01 00 08 */ stw r0, 8(r1)
/* 80040D4C 0003DC8C 38 60 00 03 */ li r3, 3
/* 80040D50 0003DC90 38 81 00 08 */ addi r4, r1, 8
/* 80040D54 0003DC94 48 31 E6 29 */ bl GXSetTevColor
lbl_80040D58:
/* 80040D58 0003DC98 38 00 00 00 */ li r0, 0
/* 80040D5C 0003DC9C C0 75 00 00 */ lfs f3, 0(r21)
/* 80040D60 0003DCA0 C0 5F 00 10 */ lfs f2, 0x10(r31)
/* 80040D64 0003DCA4 C0 1F 00 08 */ lfs f0, 8(r31)
/* 80040D68 0003DCA8 EC 3F 00 32 */ fmuls f1, f31, f0
/* 80040D6C 0003DCAC EC 02 08 28 */ fsubs f0, f2, f1
/* 80040D70 0003DCB0 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 80040D74 0003DCB4 4C 41 13 82 */ cror 2, 1, 2
/* 80040D78 0003DCB8 40 82 00 48 */ bne lbl_80040DC0
/* 80040D7C 0003DCBC EC 02 08 2A */ fadds f0, f2, f1
/* 80040D80 0003DCC0 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 80040D84 0003DCC4 4C 40 13 82 */ cror 2, 0, 2
/* 80040D88 0003DCC8 40 82 00 38 */ bne lbl_80040DC0
/* 80040D8C 0003DCCC C0 75 00 08 */ lfs f3, 8(r21)
/* 80040D90 0003DCD0 C0 5F 00 14 */ lfs f2, 0x14(r31)
/* 80040D94 0003DCD4 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 80040D98 0003DCD8 EC 3F 00 32 */ fmuls f1, f31, f0
/* 80040D9C 0003DCDC EC 02 08 28 */ fsubs f0, f2, f1
/* 80040DA0 0003DCE0 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 80040DA4 0003DCE4 4C 41 13 82 */ cror 2, 1, 2
/* 80040DA8 0003DCE8 40 82 00 18 */ bne lbl_80040DC0
/* 80040DAC 0003DCEC EC 02 08 2A */ fadds f0, f2, f1
/* 80040DB0 0003DCF0 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 80040DB4 0003DCF4 4C 40 13 82 */ cror 2, 0, 2
/* 80040DB8 0003DCF8 40 82 00 08 */ bne lbl_80040DC0
/* 80040DBC 0003DCFC 38 00 00 01 */ li r0, 1
lbl_80040DC0:
/* 80040DC0 0003DD00 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80040DC4 0003DD04 41 82 00 50 */ beq lbl_80040E14
/* 80040DC8 0003DD08 7F E3 FB 78 */ mr r3, r31
/* 80040DCC 0003DD0C 7E C4 B3 78 */ mr r4, r22
/* 80040DD0 0003DD10 80 BF 00 2C */ lwz r5, 0x2c(r31)
/* 80040DD4 0003DD14 88 DF 00 30 */ lbz r6, 0x30(r31)
/* 80040DD8 0003DD18 7C C6 07 74 */ extsb r6, r6
/* 80040DDC 0003DD1C 7F 07 C3 78 */ mr r7, r24
/* 80040DE0 0003DD20 39 00 00 01 */ li r8, 1
/* 80040DE4 0003DD24 7E A9 AB 78 */ mr r9, r21
/* 80040DE8 0003DD28 81 9F 00 00 */ lwz r12, 0(r31)
/* 80040DEC 0003DD2C 81 8C 00 70 */ lwz r12, 0x70(r12)
/* 80040DF0 0003DD30 7D 89 03 A6 */ mtctr r12
/* 80040DF4 0003DD34 4E 80 04 21 */ bctrl
/* 80040DF8 0003DD38 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80040DFC 0003DD3C 41 82 00 18 */ beq lbl_80040E14
/* 80040E00 0003DD40 7F E3 FB 78 */ mr r3, r31
/* 80040E04 0003DD44 7E A4 AB 78 */ mr r4, r21
/* 80040E08 0003DD48 FC 20 F0 90 */ fmr f1, f30
/* 80040E0C 0003DD4C FC 40 F0 90 */ fmr f2, f30
/* 80040E10 0003DD50 48 00 03 F9 */ bl renderingPlusDoorAndCursor_c_NS_drawIconSingle
lbl_80040E14:
/* 80040E14 0003DD54 7F E3 FB 78 */ mr r3, r31
/* 80040E18 0003DD58 7E C4 B3 78 */ mr r4, r22
/* 80040E1C 0003DD5C 81 9F 00 00 */ lwz r12, 0(r31)
/* 80040E20 0003DD60 81 8C 00 B0 */ lwz r12, 0xb0(r12)
/* 80040E24 0003DD64 7D 89 03 A6 */ mtctr r12
/* 80040E28 0003DD68 4E 80 04 21 */ bctrl
/* 80040E2C 0003DD6C 7C 76 1B 78 */ mr r22, r3
/* 80040E30 0003DD70 3A 94 00 01 */ addi r20, r20, 1
lbl_80040E34:
/* 80040E34 0003DD74 7C 14 E0 00 */ cmpw r20, r28
/* 80040E38 0003DD78 40 80 00 0C */ bge lbl_80040E44
/* 80040E3C 0003DD7C 28 16 00 00 */ cmplwi r22, 0
/* 80040E40 0003DD80 40 82 FE 68 */ bne lbl_80040CA8
lbl_80040E44:
/* 80040E44 0003DD84 3A F7 00 01 */ addi r23, r23, 1
/* 80040E48 0003DD88 2C 17 00 04 */ cmpwi r23, 4
/* 80040E4C 0003DD8C 3B DE 00 0C */ addi r30, r30, 0xc
/* 80040E50 0003DD90 41 80 FD 6C */ blt lbl_80040BBC
/* 80040E54 0003DD94 7F E3 FB 78 */ mr r3, r31
/* 80040E58 0003DD98 4B FF C0 21 */ bl dRenderingFDAmap_c_NS_setTevSettingNonTextureDirectColor
/* 80040E5C 0003DD9C E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 80040E60 0003DDA0 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 80040E64 0003DDA4 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 80040E68 0003DDA8 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 80040E6C 0003DDAC 39 61 00 50 */ addi r11, r1, 0x50
/* 80040E70 0003DDB0 48 32 13 95 */ bl _restgpr_20
/* 80040E74 0003DDB4 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80040E78 0003DDB8 7C 08 03 A6 */ mtlr r0
/* 80040E7C 0003DDBC 38 21 00 70 */ addi r1, r1, 0x70
/* 80040E80 0003DDC0 4E 80 00 20 */ blr
.global renderingPlusDoorAndCursor_c_NS_drawTreasureAfterPlayer
renderingPlusDoorAndCursor_c_NS_drawTreasureAfterPlayer:
/* 80040E84 0003DDC4 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80040E88 0003DDC8 7C 08 02 A6 */ mflr r0
/* 80040E8C 0003DDCC 90 01 00 74 */ stw r0, 0x74(r1)
/* 80040E90 0003DDD0 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 80040E94 0003DDD4 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 80040E98 0003DDD8 DB C1 00 50 */ stfd f30, 0x50(r1)
/* 80040E9C 0003DDDC F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 80040EA0 0003DDE0 39 61 00 50 */ addi r11, r1, 0x50
/* 80040EA4 0003DDE4 48 32 13 15 */ bl _savegpr_20
/* 80040EA8 0003DDE8 7C 7F 1B 78 */ mr r31, r3
/* 80040EAC 0003DDEC 81 83 00 00 */ lwz r12, 0(r3)
/* 80040EB0 0003DDF0 81 8C 00 7C */ lwz r12, 0x7c(r12)
/* 80040EB4 0003DDF4 7D 89 03 A6 */ mtctr r12
/* 80040EB8 0003DDF8 4E 80 04 21 */ bctrl
/* 80040EBC 0003DDFC 7C 74 1B 78 */ mr r20, r3
/* 80040EC0 0003DE00 48 31 A6 CD */ bl GXClearVtxDesc
/* 80040EC4 0003DE04 38 60 00 09 */ li r3, 9
/* 80040EC8 0003DE08 38 80 00 01 */ li r4, 1
/* 80040ECC 0003DE0C 48 31 9F ED */ bl GXSetVtxDesc
/* 80040ED0 0003DE10 38 60 00 0D */ li r3, 0xd
/* 80040ED4 0003DE14 38 80 00 02 */ li r4, 2
/* 80040ED8 0003DE18 48 31 9F E1 */ bl GXSetVtxDesc
/* 80040EDC 0003DE1C 38 60 00 00 */ li r3, 0
/* 80040EE0 0003DE20 38 80 00 09 */ li r4, 9
/* 80040EE4 0003DE24 38 A0 00 00 */ li r5, 0
/* 80040EE8 0003DE28 38 C0 00 04 */ li r6, 4
/* 80040EEC 0003DE2C 38 E0 00 00 */ li r7, 0
/* 80040EF0 0003DE30 48 31 A6 D5 */ bl GXSetVtxAttrFmt
/* 80040EF4 0003DE34 38 60 00 00 */ li r3, 0
/* 80040EF8 0003DE38 38 80 00 0D */ li r4, 0xd
/* 80040EFC 0003DE3C 38 A0 00 01 */ li r5, 1
/* 80040F00 0003DE40 38 C0 00 00 */ li r6, 0
/* 80040F04 0003DE44 38 E0 00 00 */ li r7, 0
/* 80040F08 0003DE48 48 31 A6 BD */ bl GXSetVtxAttrFmt
/* 80040F0C 0003DE4C 38 60 00 0D */ li r3, 0xd
/* 80040F10 0003DE50 38 82 84 AC */ addi r4, r2, lbl_80451EAC-_SDA2_BASE_
/* 80040F14 0003DE54 38 A0 00 02 */ li r5, 2
/* 80040F18 0003DE58 48 31 AC 11 */ bl GXSetArray
/* 80040F1C 0003DE5C 7F E3 FB 78 */ mr r3, r31
/* 80040F20 0003DE60 4B FF C0 21 */ bl dRenderingFDAmap_c_NS_setTevSettingIntensityTextureToCI
/* 80040F24 0003DE64 3A E0 00 00 */ li r23, 0
/* 80040F28 0003DE68 3B C0 00 00 */ li r30, 0
/* 80040F2C 0003DE6C 3B 42 84 B4 */ addi r26, r2, lbl_80451EB4-_SDA2_BASE_
/* 80040F30 0003DE70 3B 22 84 7C */ addi r25, r2, lbl_80451E7C-_SDA2_BASE_
/* 80040F34 0003DE74 56 98 06 3E */ clrlwi r24, r20, 0x18
/* 80040F38 0003DE78 3C 60 80 38 */ lis r3, lbl_80379CB8@ha
/* 80040F3C 0003DE7C 3B 63 9C B8 */ addi r27, r3, lbl_80379CB8@l
lbl_80040F40:
/* 80040F40 0003DE80 7F BB F2 14 */ add r29, r27, r30
/* 80040F44 0003DE84 88 9D 00 00 */ lbz r4, 0(r29)
/* 80040F48 0003DE88 7C 95 23 78 */ mr r21, r4
/* 80040F4C 0003DE8C 7F E3 FB 78 */ mr r3, r31
/* 80040F50 0003DE90 81 9F 00 00 */ lwz r12, 0(r31)
/* 80040F54 0003DE94 81 8C 00 AC */ lwz r12, 0xac(r12)
/* 80040F58 0003DE98 7D 89 03 A6 */ mtctr r12
/* 80040F5C 0003DE9C 4E 80 04 21 */ bctrl
/* 80040F60 0003DEA0 7C 76 1B 78 */ mr r22, r3
/* 80040F64 0003DEA4 7F E3 FB 78 */ mr r3, r31
/* 80040F68 0003DEA8 7E A4 AB 78 */ mr r4, r21
/* 80040F6C 0003DEAC 81 9F 00 00 */ lwz r12, 0(r31)
/* 80040F70 0003DEB0 81 8C 00 74 */ lwz r12, 0x74(r12)
/* 80040F74 0003DEB4 7D 89 03 A6 */ mtctr r12
/* 80040F78 0003DEB8 4E 80 04 21 */ bctrl
/* 80040F7C 0003DEBC 7C 7C 1B 79 */ or. r28, r3, r3
/* 80040F80 0003DEC0 41 82 02 48 */ beq lbl_800411C8
/* 80040F84 0003DEC4 7F E3 FB 78 */ mr r3, r31
/* 80040F88 0003DEC8 7E A4 AB 78 */ mr r4, r21
/* 80040F8C 0003DECC 81 9F 00 00 */ lwz r12, 0(r31)
/* 80040F90 0003DED0 81 8C 00 A4 */ lwz r12, 0xa4(r12)
/* 80040F94 0003DED4 7D 89 03 A6 */ mtctr r12
/* 80040F98 0003DED8 4E 80 04 21 */ bctrl
/* 80040F9C 0003DEDC C0 1F 00 18 */ lfs f0, 0x18(r31)
/* 80040FA0 0003DEE0 EF C0 00 72 */ fmuls f30, f0, f1
/* 80040FA4 0003DEE4 48 31 D6 C1 */ bl GXInvalidateTexAll
/* 80040FA8 0003DEE8 80 1D 00 04 */ lwz r0, 4(r29)
/* 80040FAC 0003DEEC 54 00 10 3A */ slwi r0, r0, 2
/* 80040FB0 0003DEF0 3C 60 80 42 */ lis r3, lbl_80424684@ha
/* 80040FB4 0003DEF4 38 63 46 84 */ addi r3, r3, lbl_80424684@l
/* 80040FB8 0003DEF8 7C 63 00 2E */ lwzx r3, r3, r0
/* 80040FBC 0003DEFC 38 80 00 00 */ li r4, 0
/* 80040FC0 0003DF00 48 31 D4 55 */ bl GXLoadTexObj
/* 80040FC4 0003DF04 80 7D 00 08 */ lwz r3, 8(r29)
/* 80040FC8 0003DF08 88 03 00 00 */ lbz r0, 0(r3)
/* 80040FCC 0003DF0C 98 01 00 18 */ stb r0, 0x18(r1)
/* 80040FD0 0003DF10 88 03 00 01 */ lbz r0, 1(r3)
/* 80040FD4 0003DF14 98 01 00 19 */ stb r0, 0x19(r1)
/* 80040FD8 0003DF18 88 03 00 02 */ lbz r0, 2(r3)
/* 80040FDC 0003DF1C 98 01 00 1A */ stb r0, 0x1a(r1)
/* 80040FE0 0003DF20 88 03 00 03 */ lbz r0, 3(r3)
/* 80040FE4 0003DF24 98 01 00 1B */ stb r0, 0x1b(r1)
/* 80040FE8 0003DF28 80 01 00 18 */ lwz r0, 0x18(r1)
/* 80040FEC 0003DF2C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80040FF0 0003DF30 38 60 00 02 */ li r3, 2
/* 80040FF4 0003DF34 38 81 00 14 */ addi r4, r1, 0x14
/* 80040FF8 0003DF38 48 31 E3 85 */ bl GXSetTevColor
/* 80040FFC 0003DF3C 88 61 00 18 */ lbz r3, 0x18(r1)
/* 80041000 0003DF40 38 03 00 04 */ addi r0, r3, 4
/* 80041004 0003DF44 98 01 00 18 */ stb r0, 0x18(r1)
/* 80041008 0003DF48 80 01 00 18 */ lwz r0, 0x18(r1)
/* 8004100C 0003DF4C 90 01 00 10 */ stw r0, 0x10(r1)
/* 80041010 0003DF50 38 60 00 03 */ li r3, 3
/* 80041014 0003DF54 38 81 00 10 */ addi r4, r1, 0x10
/* 80041018 0003DF58 48 31 E3 65 */ bl GXSetTevColor
/* 8004101C 0003DF5C 3A 80 00 00 */ li r20, 0
/* 80041020 0003DF60 56 BD 06 3E */ clrlwi r29, r21, 0x18
/* 80041024 0003DF64 C3 E2 84 A8 */ lfs f31, lbl_80451EA8-_SDA2_BASE_(r2)
/* 80041028 0003DF68 48 00 01 90 */ b lbl_800411B8
lbl_8004102C:
/* 8004102C 0003DF6C 7F E3 FB 78 */ mr r3, r31
/* 80041030 0003DF70 7E C4 B3 78 */ mr r4, r22
/* 80041034 0003DF74 81 9F 00 00 */ lwz r12, 0(r31)
/* 80041038 0003DF78 81 8C 00 A8 */ lwz r12, 0xa8(r12)
/* 8004103C 0003DF7C 7D 89 03 A6 */ mtctr r12
/* 80041040 0003DF80 4E 80 04 21 */ bctrl
/* 80041044 0003DF84 7C 75 1B 78 */ mr r21, r3
/* 80041048 0003DF88 28 1D 00 00 */ cmplwi r29, 0
/* 8004104C 0003DF8C 40 82 00 90 */ bne lbl_800410DC
/* 80041050 0003DF90 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80041054 0003DF94 88 16 00 01 */ lbz r0, 1(r22)
/* 80041058 0003DF98 7C 00 07 74 */ extsb r0, r0
/* 8004105C 0003DF9C 7C 03 00 00 */ cmpw r3, r0
/* 80041060 0003DFA0 41 82 00 28 */ beq lbl_80041088
/* 80041064 0003DFA4 88 02 84 B4 */ lbz r0, lbl_80451EB4-_SDA2_BASE_(r2)
/* 80041068 0003DFA8 98 01 00 18 */ stb r0, 0x18(r1)
/* 8004106C 0003DFAC 88 1A 00 01 */ lbz r0, 1(r26)
/* 80041070 0003DFB0 98 01 00 19 */ stb r0, 0x19(r1)
/* 80041074 0003DFB4 88 1A 00 02 */ lbz r0, 2(r26)
/* 80041078 0003DFB8 98 01 00 1A */ stb r0, 0x1a(r1)
/* 8004107C 0003DFBC 88 1A 00 03 */ lbz r0, 3(r26)
/* 80041080 0003DFC0 98 01 00 1B */ stb r0, 0x1b(r1)
/* 80041084 0003DFC4 48 00 00 24 */ b lbl_800410A8
lbl_80041088:
/* 80041088 0003DFC8 88 02 84 7C */ lbz r0, lbl_80451E7C-_SDA2_BASE_(r2)
/* 8004108C 0003DFCC 98 01 00 18 */ stb r0, 0x18(r1)
/* 80041090 0003DFD0 88 19 00 01 */ lbz r0, 1(r25)
/* 80041094 0003DFD4 98 01 00 19 */ stb r0, 0x19(r1)
/* 80041098 0003DFD8 88 19 00 02 */ lbz r0, 2(r25)
/* 8004109C 0003DFDC 98 01 00 1A */ stb r0, 0x1a(r1)
/* 800410A0 0003DFE0 88 19 00 03 */ lbz r0, 3(r25)
/* 800410A4 0003DFE4 98 01 00 1B */ stb r0, 0x1b(r1)
lbl_800410A8:
/* 800410A8 0003DFE8 80 01 00 18 */ lwz r0, 0x18(r1)
/* 800410AC 0003DFEC 90 01 00 0C */ stw r0, 0xc(r1)
/* 800410B0 0003DFF0 38 60 00 02 */ li r3, 2
/* 800410B4 0003DFF4 38 81 00 0C */ addi r4, r1, 0xc
/* 800410B8 0003DFF8 48 31 E2 C5 */ bl GXSetTevColor
/* 800410BC 0003DFFC 88 61 00 18 */ lbz r3, 0x18(r1)
/* 800410C0 0003E000 38 03 00 04 */ addi r0, r3, 4
/* 800410C4 0003E004 98 01 00 18 */ stb r0, 0x18(r1)
/* 800410C8 0003E008 80 01 00 18 */ lwz r0, 0x18(r1)
/* 800410CC 0003E00C 90 01 00 08 */ stw r0, 8(r1)
/* 800410D0 0003E010 38 60 00 03 */ li r3, 3
/* 800410D4 0003E014 38 81 00 08 */ addi r4, r1, 8
/* 800410D8 0003E018 48 31 E2 A5 */ bl GXSetTevColor
lbl_800410DC:
/* 800410DC 0003E01C 38 00 00 00 */ li r0, 0
/* 800410E0 0003E020 C0 75 00 00 */ lfs f3, 0(r21)
/* 800410E4 0003E024 C0 5F 00 10 */ lfs f2, 0x10(r31)
/* 800410E8 0003E028 C0 1F 00 08 */ lfs f0, 8(r31)
/* 800410EC 0003E02C EC 3F 00 32 */ fmuls f1, f31, f0
/* 800410F0 0003E030 EC 02 08 28 */ fsubs f0, f2, f1
/* 800410F4 0003E034 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 800410F8 0003E038 4C 41 13 82 */ cror 2, 1, 2
/* 800410FC 0003E03C 40 82 00 48 */ bne lbl_80041144
/* 80041100 0003E040 EC 02 08 2A */ fadds f0, f2, f1
/* 80041104 0003E044 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 80041108 0003E048 4C 40 13 82 */ cror 2, 0, 2
/* 8004110C 0003E04C 40 82 00 38 */ bne lbl_80041144
/* 80041110 0003E050 C0 75 00 08 */ lfs f3, 8(r21)
/* 80041114 0003E054 C0 5F 00 14 */ lfs f2, 0x14(r31)
/* 80041118 0003E058 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 8004111C 0003E05C EC 3F 00 32 */ fmuls f1, f31, f0
/* 80041120 0003E060 EC 02 08 28 */ fsubs f0, f2, f1
/* 80041124 0003E064 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 80041128 0003E068 4C 41 13 82 */ cror 2, 1, 2
/* 8004112C 0003E06C 40 82 00 18 */ bne lbl_80041144
/* 80041130 0003E070 EC 02 08 2A */ fadds f0, f2, f1
/* 80041134 0003E074 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 80041138 0003E078 4C 40 13 82 */ cror 2, 0, 2
/* 8004113C 0003E07C 40 82 00 08 */ bne lbl_80041144
/* 80041140 0003E080 38 00 00 01 */ li r0, 1
lbl_80041144:
/* 80041144 0003E084 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80041148 0003E088 41 82 00 50 */ beq lbl_80041198
/* 8004114C 0003E08C 7F E3 FB 78 */ mr r3, r31
/* 80041150 0003E090 7E C4 B3 78 */ mr r4, r22
/* 80041154 0003E094 80 BF 00 2C */ lwz r5, 0x2c(r31)
/* 80041158 0003E098 88 DF 00 30 */ lbz r6, 0x30(r31)
/* 8004115C 0003E09C 7C C6 07 74 */ extsb r6, r6
/* 80041160 0003E0A0 7F 07 C3 78 */ mr r7, r24
/* 80041164 0003E0A4 39 00 00 01 */ li r8, 1
/* 80041168 0003E0A8 7E A9 AB 78 */ mr r9, r21
/* 8004116C 0003E0AC 81 9F 00 00 */ lwz r12, 0(r31)
/* 80041170 0003E0B0 81 8C 00 70 */ lwz r12, 0x70(r12)
/* 80041174 0003E0B4 7D 89 03 A6 */ mtctr r12
/* 80041178 0003E0B8 4E 80 04 21 */ bctrl
/* 8004117C 0003E0BC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80041180 0003E0C0 41 82 00 18 */ beq lbl_80041198
/* 80041184 0003E0C4 7F E3 FB 78 */ mr r3, r31
/* 80041188 0003E0C8 7E A4 AB 78 */ mr r4, r21
/* 8004118C 0003E0CC FC 20 F0 90 */ fmr f1, f30
/* 80041190 0003E0D0 FC 40 F0 90 */ fmr f2, f30
/* 80041194 0003E0D4 48 00 00 75 */ bl renderingPlusDoorAndCursor_c_NS_drawIconSingle
lbl_80041198:
/* 80041198 0003E0D8 7F E3 FB 78 */ mr r3, r31
/* 8004119C 0003E0DC 7E C4 B3 78 */ mr r4, r22
/* 800411A0 0003E0E0 81 9F 00 00 */ lwz r12, 0(r31)
/* 800411A4 0003E0E4 81 8C 00 B0 */ lwz r12, 0xb0(r12)
/* 800411A8 0003E0E8 7D 89 03 A6 */ mtctr r12
/* 800411AC 0003E0EC 4E 80 04 21 */ bctrl
/* 800411B0 0003E0F0 7C 76 1B 78 */ mr r22, r3
/* 800411B4 0003E0F4 3A 94 00 01 */ addi r20, r20, 1
lbl_800411B8:
/* 800411B8 0003E0F8 7C 14 E0 00 */ cmpw r20, r28
/* 800411BC 0003E0FC 40 80 00 0C */ bge lbl_800411C8
/* 800411C0 0003E100 28 16 00 00 */ cmplwi r22, 0
/* 800411C4 0003E104 40 82 FE 68 */ bne lbl_8004102C
lbl_800411C8:
/* 800411C8 0003E108 3A F7 00 01 */ addi r23, r23, 1
/* 800411CC 0003E10C 2C 17 00 0B */ cmpwi r23, 0xb
/* 800411D0 0003E110 3B DE 00 0C */ addi r30, r30, 0xc
/* 800411D4 0003E114 41 80 FD 6C */ blt lbl_80040F40
/* 800411D8 0003E118 7F E3 FB 78 */ mr r3, r31
/* 800411DC 0003E11C 4B FF BC 9D */ bl dRenderingFDAmap_c_NS_setTevSettingNonTextureDirectColor
/* 800411E0 0003E120 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 800411E4 0003E124 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 800411E8 0003E128 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 800411EC 0003E12C CB C1 00 50 */ lfd f30, 0x50(r1)
/* 800411F0 0003E130 39 61 00 50 */ addi r11, r1, 0x50
/* 800411F4 0003E134 48 32 10 11 */ bl _restgpr_20
/* 800411F8 0003E138 80 01 00 74 */ lwz r0, 0x74(r1)
/* 800411FC 0003E13C 7C 08 03 A6 */ mtlr r0
/* 80041200 0003E140 38 21 00 70 */ addi r1, r1, 0x70
/* 80041204 0003E144 4E 80 00 20 */ blr
.global renderingPlusDoorAndCursor_c_NS_drawIconSingle
renderingPlusDoorAndCursor_c_NS_drawIconSingle:
/* 80041208 0003E148 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8004120C 0003E14C 7C 08 02 A6 */ mflr r0
/* 80041210 0003E150 90 01 00 34 */ stw r0, 0x34(r1)
/* 80041214 0003E154 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80041218 0003E158 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8004121C 0003E15C DB C1 00 10 */ stfd f30, 0x10(r1)
/* 80041220 0003E160 F3 C1 00 18 */ psq_st f30, 24(r1), 0, qr0
/* 80041224 0003E164 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80041228 0003E168 7C 9F 23 78 */ mr r31, r4
/* 8004122C 0003E16C FF C0 08 90 */ fmr f30, f1
/* 80041230 0003E170 FF E0 10 90 */ fmr f31, f2
/* 80041234 0003E174 38 60 00 80 */ li r3, 0x80
/* 80041238 0003E178 38 80 00 00 */ li r4, 0
/* 8004123C 0003E17C 38 A0 00 04 */ li r5, 4
/* 80041240 0003E180 48 31 B5 25 */ bl GXBegin
/* 80041244 0003E184 38 C0 00 00 */ li r6, 0
/* 80041248 0003E188 C0 5F 00 08 */ lfs f2, 8(r31)
/* 8004124C 0003E18C 3C 60 80 38 */ lis r3, lbl_80379D3C@ha
/* 80041250 0003E190 38 83 9D 3C */ addi r4, r3, lbl_80379D3C@l
/* 80041254 0003E194 C0 3F 00 00 */ lfs f1, 0(r31)
/* 80041258 0003E198 3C 60 CC 01 */ lis r3, 0xcc01
/* 8004125C 0003E19C 48 00 00 34 */ b lbl_80041290
lbl_80041260:
/* 80041260 0003E1A0 54 C0 1D 78 */ rlwinm r0, r6, 3, 0x15, 0x1c
/* 80041264 0003E1A4 7C A4 02 14 */ add r5, r4, r0
/* 80041268 0003E1A8 C0 05 00 04 */ lfs f0, 4(r5)
/* 8004126C 0003E1AC EC 1F 00 32 */ fmuls f0, f31, f0
/* 80041270 0003E1B0 EC 62 00 2A */ fadds f3, f2, f0
/* 80041274 0003E1B4 C0 05 00 00 */ lfs f0, 0(r5)
/* 80041278 0003E1B8 EC 1E 00 32 */ fmuls f0, f30, f0
/* 8004127C 0003E1BC EC 01 00 2A */ fadds f0, f1, f0
/* 80041280 0003E1C0 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 80041284 0003E1C4 D0 63 80 00 */ stfs f3, -0x8000(r3)
/* 80041288 0003E1C8 98 C3 80 00 */ stb r6, -0x8000(r3)
/* 8004128C 0003E1CC 38 C6 00 01 */ addi r6, r6, 1
lbl_80041290:
/* 80041290 0003E1D0 54 C0 06 3E */ clrlwi r0, r6, 0x18
/* 80041294 0003E1D4 28 00 00 04 */ cmplwi r0, 4
/* 80041298 0003E1D8 41 80 FF C8 */ blt lbl_80041260
/* 8004129C 0003E1DC E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 800412A0 0003E1E0 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 800412A4 0003E1E4 E3 C1 00 18 */ psq_l f30, 24(r1), 0, qr0
/* 800412A8 0003E1E8 CB C1 00 10 */ lfd f30, 0x10(r1)
/* 800412AC 0003E1EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800412B0 0003E1F0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800412B4 0003E1F4 7C 08 03 A6 */ mtlr r0
/* 800412B8 0003E1F8 38 21 00 30 */ addi r1, r1, 0x30
/* 800412BC 0003E1FC 4E 80 00 20 */ blr
.global renderingPlusDoorAndCursor_c_NS_drawCursor
renderingPlusDoorAndCursor_c_NS_drawCursor:
/* 800412C0 0003E200 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 800412C4 0003E204 7C 08 02 A6 */ mflr r0
/* 800412C8 0003E208 90 01 00 84 */ stw r0, 0x84(r1)
/* 800412CC 0003E20C DB E1 00 70 */ stfd f31, 0x70(r1)
/* 800412D0 0003E210 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 800412D4 0003E214 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 800412D8 0003E218 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 800412DC 0003E21C 39 61 00 60 */ addi r11, r1, 0x60
/* 800412E0 0003E220 48 32 0E F5 */ bl _savegpr_27
/* 800412E4 0003E224 7C BC 2B 78 */ mr r28, r5
/* 800412E8 0003E228 7C DB 33 78 */ mr r27, r6
/* 800412EC 0003E22C C0 02 84 B8 */ lfs f0, lbl_80451EB8-_SDA2_BASE_(r2)
/* 800412F0 0003E230 EC 61 00 24 */ fdivs f3, f1, f0
/* 800412F4 0003E234 C0 23 00 08 */ lfs f1, 8(r3)
/* 800412F8 0003E238 A0 03 00 20 */ lhz r0, 0x20(r3)
/* 800412FC 0003E23C C8 42 84 40 */ lfd f2, lbl_80451E40-_SDA2_BASE_(r2)
/* 80041300 0003E240 90 01 00 34 */ stw r0, 0x34(r1)
/* 80041304 0003E244 3C A0 43 30 */ lis r5, 0x4330
/* 80041308 0003E248 90 A1 00 30 */ stw r5, 0x30(r1)
/* 8004130C 0003E24C C8 01 00 30 */ lfd f0, 0x30(r1)
/* 80041310 0003E250 EC 00 10 28 */ fsubs f0, f0, f2
/* 80041314 0003E254 EC 01 00 24 */ fdivs f0, f1, f0
/* 80041318 0003E258 EF E3 00 32 */ fmuls f31, f3, f0
/* 8004131C 0003E25C C0 23 00 0C */ lfs f1, 0xc(r3)
/* 80041320 0003E260 A0 03 00 22 */ lhz r0, 0x22(r3)
/* 80041324 0003E264 90 01 00 3C */ stw r0, 0x3c(r1)
/* 80041328 0003E268 90 A1 00 38 */ stw r5, 0x38(r1)
/* 8004132C 0003E26C C8 01 00 38 */ lfd f0, 0x38(r1)
/* 80041330 0003E270 EC 00 10 28 */ fsubs f0, f0, f2
/* 80041334 0003E274 EC 01 00 24 */ fdivs f0, f1, f0
/* 80041338 0003E278 EF C3 00 32 */ fmuls f30, f3, f0
/* 8004133C 0003E27C 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 80041340 0003E280 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
/* 80041344 0003E284 C0 24 00 00 */ lfs f1, 0(r4)
/* 80041348 0003E288 C0 42 84 28 */ lfs f2, lbl_80451E28-_SDA2_BASE_(r2)
/* 8004134C 0003E28C C0 64 00 08 */ lfs f3, 8(r4)
/* 80041350 0003E290 48 30 55 99 */ bl PSMTXTrans
/* 80041354 0003E294 FC 20 F8 90 */ fmr f1, f31
/* 80041358 0003E298 C0 42 84 38 */ lfs f2, lbl_80451E38-_SDA2_BASE_(r2)
/* 8004135C 0003E29C FC 60 F0 90 */ fmr f3, f30
/* 80041360 0003E2A0 4B FC BA D9 */ bl mDoMtx_stack_c_NS_scaleM
/* 80041364 0003E2A4 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 80041368 0003E2A8 38 63 D4 70 */ addi r3, r3, lbl_803DD470@l
/* 8004136C 0003E2AC 7F 84 E3 78 */ mr r4, r28
/* 80041370 0003E2B0 4B FC B0 C5 */ bl mDoMtx_YrotM
/* 80041374 0003E2B4 3B 80 00 00 */ li r28, 0
/* 80041378 0003E2B8 3B E0 00 00 */ li r31, 0
/* 8004137C 0003E2BC 3C 60 80 3E */ lis r3, lbl_803DD470@ha
/* 80041380 0003E2C0 3B A3 D4 70 */ addi r29, r3, lbl_803DD470@l
/* 80041384 0003E2C4 3C 60 80 38 */ lis r3, lbl_80379D5C@ha
/* 80041388 0003E2C8 3B C3 9D 5C */ addi r30, r3, lbl_80379D5C@l
lbl_8004138C:
/* 8004138C 0003E2CC 7F A3 EB 78 */ mr r3, r29
/* 80041390 0003E2D0 7C 9E FA 14 */ add r4, r30, r31
/* 80041394 0003E2D4 38 A1 00 0C */ addi r5, r1, 0xc
/* 80041398 0003E2D8 7C A5 FA 14 */ add r5, r5, r31
/* 8004139C 0003E2DC 48 30 59 D1 */ bl PSMTXMultVec
/* 800413A0 0003E2E0 3B 9C 00 01 */ addi r28, r28, 1
/* 800413A4 0003E2E4 2C 1C 00 03 */ cmpwi r28, 3
/* 800413A8 0003E2E8 3B FF 00 0C */ addi r31, r31, 0xc
/* 800413AC 0003E2EC 41 80 FF E0 */ blt lbl_8004138C
/* 800413B0 0003E2F0 48 31 A1 DD */ bl GXClearVtxDesc
/* 800413B4 0003E2F4 38 60 00 09 */ li r3, 9
/* 800413B8 0003E2F8 38 80 00 01 */ li r4, 1
/* 800413BC 0003E2FC 48 31 9A FD */ bl GXSetVtxDesc
/* 800413C0 0003E300 38 60 00 00 */ li r3, 0
/* 800413C4 0003E304 38 80 00 09 */ li r4, 9
/* 800413C8 0003E308 38 A0 00 00 */ li r5, 0
/* 800413CC 0003E30C 38 C0 00 04 */ li r6, 4
/* 800413D0 0003E310 38 E0 00 00 */ li r7, 0
/* 800413D4 0003E314 48 31 A1 F1 */ bl GXSetVtxAttrFmt
/* 800413D8 0003E318 57 60 16 3A */ rlwinm r0, r27, 2, 0x18, 0x1d
/* 800413DC 0003E31C 98 0D 80 B8 */ stb r0, lbl_80450638-_SDA_BASE_(r13)
/* 800413E0 0003E320 80 0D 80 B8 */ lwz r0, lbl_80450638-_SDA_BASE_(r13)
/* 800413E4 0003E324 90 01 00 08 */ stw r0, 8(r1)
/* 800413E8 0003E328 38 60 00 01 */ li r3, 1
/* 800413EC 0003E32C 38 81 00 08 */ addi r4, r1, 8
/* 800413F0 0003E330 48 31 DF 8D */ bl GXSetTevColor
/* 800413F4 0003E334 38 60 00 90 */ li r3, 0x90
/* 800413F8 0003E338 38 80 00 00 */ li r4, 0
/* 800413FC 0003E33C 38 A0 00 03 */ li r5, 3
/* 80041400 0003E340 48 31 B3 65 */ bl GXBegin
/* 80041404 0003E344 38 60 00 00 */ li r3, 0
/* 80041408 0003E348 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8004140C 0003E34C 38 00 00 03 */ li r0, 3
/* 80041410 0003E350 7C 09 03 A6 */ mtctr r0
lbl_80041414:
/* 80041414 0003E354 38 A1 00 0C */ addi r5, r1, 0xc
/* 80041418 0003E358 7C A5 1A 14 */ add r5, r5, r3
/* 8004141C 0003E35C C0 05 00 00 */ lfs f0, 0(r5)
/* 80041420 0003E360 D0 04 80 00 */ stfs f0, 0xCC008000@l(r4)
/* 80041424 0003E364 C0 05 00 08 */ lfs f0, 8(r5)
/* 80041428 0003E368 D0 04 80 00 */ stfs f0, -0x8000(r4)
/* 8004142C 0003E36C 38 63 00 0C */ addi r3, r3, 0xc
/* 80041430 0003E370 42 00 FF E4 */ bdnz lbl_80041414
/* 80041434 0003E374 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 80041438 0003E378 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 8004143C 0003E37C E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 80041440 0003E380 CB C1 00 60 */ lfd f30, 0x60(r1)
/* 80041444 0003E384 39 61 00 60 */ addi r11, r1, 0x60
/* 80041448 0003E388 48 32 0D D9 */ bl _restgpr_27
/* 8004144C 0003E38C 80 01 00 84 */ lwz r0, 0x84(r1)
/* 80041450 0003E390 7C 08 03 A6 */ mtlr r0
/* 80041454 0003E394 38 21 00 80 */ addi r1, r1, 0x80
/* 80041458 0003E398 4E 80 00 20 */ blr
/* 8004145C 0003E39C 4E 80 00 20 */ blr
/* 80041460 0003E3A0 3C 60 80 45 */ lis r3, lbl_80450AE8@ha
/* 80041464 0003E3A4 C0 23 0A E8 */ lfs f1, lbl_80450AE8@l(r3)
/* 80041468 0003E3A8 D0 2D 88 E8 */ stfs f1, lbl_80450E68-_SDA_BASE_(r13)
/* 8004146C 0003E3AC FC 00 08 50 */ fneg f0, f1
/* 80041470 0003E3B0 D0 0D 88 EC */ stfs f0, lbl_80450E6C-_SDA_BASE_(r13)
/* 80041474 0003E3B4 D0 2D 88 F0 */ stfs f1, lbl_80450E70-_SDA_BASE_(r13)
/* 80041478 0003E3B8 D0 0D 88 F4 */ stfs f0, lbl_80450E74-_SDA_BASE_(r13)
/* 8004147C 0003E3BC 4E 80 00 20 */ blr