prime/asm/MetroidPrime/CMapArea.s

1068 lines
52 KiB
ArmAsm
Raw Normal View History

2022-04-12 08:55:54 +00:00
.include "macros.inc"
2022-04-18 04:19:18 +00:00
.section .data
.global lbl_803DAB80
lbl_803DAB80:
# ROM: 0x3D7B80
.4byte 0
.4byte 0
.4byte "__dt__35TObjOwnerDerivedFromIObj<8CMapArea>Fv"
.4byte 0
2022-04-21 06:32:43 +00:00
.section .sdata
.global lbl_805A7010
lbl_805A7010:
# ROM: 0x3F49B0
.4byte 0xFFFFFFFF
.4byte 0
2022-04-16 23:18:42 +00:00
.section .bss
.global lbl_8046C3E0
lbl_8046C3E0:
.skip 0x28
2022-04-12 08:55:54 +00:00
.section .text, "ax"
.global FMapAreaFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer
FMapAreaFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer:
/* 80080190 0007D0F0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80080194 0007D0F4 7C 08 02 A6 */ mflr r0
/* 80080198 0007D0F8 90 01 00 34 */ stw r0, 0x34(r1)
/* 8008019C 0007D0FC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 800801A0 0007D100 7C 7F 1B 78 */ mr r31, r3
/* 800801A4 0007D104 38 60 00 48 */ li r3, 0x48
/* 800801A8 0007D108 93 C1 00 28 */ stw r30, 0x28(r1)
/* 800801AC 0007D10C 93 A1 00 24 */ stw r29, 0x24(r1)
/* 800801B0 0007D110 7C BD 2B 78 */ mr r29, r5
/* 800801B4 0007D114 38 A0 00 00 */ li r5, 0
/* 800801B8 0007D118 93 81 00 20 */ stw r28, 0x20(r1)
/* 800801BC 0007D11C 7C 9C 23 78 */ mr r28, r4
/* 800801C0 0007D120 3C 80 80 3D */ lis r4, lbl_803CD66C@ha
/* 800801C4 0007D124 80 1C 00 04 */ lwz r0, 4(r28)
/* 800801C8 0007D128 38 84 D6 6C */ addi r4, r4, lbl_803CD66C@l
/* 800801CC 0007D12C 90 0D 84 50 */ stw r0, lbl_805A7010@sda21(r13)
/* 800801D0 0007D130 48 29 56 9D */ bl __nw__FUlPCcPCc
/* 800801D4 0007D134 7C 7E 1B 79 */ or. r30, r3, r3
/* 800801D8 0007D138 41 82 00 28 */ beq lbl_80080200
/* 800801DC 0007D13C 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13)
/* 800801E0 0007D140 7F 84 E3 78 */ mr r4, r28
/* 800801E4 0007D144 38 63 00 04 */ addi r3, r3, 4
/* 800801E8 0007D148 48 2B BA 69 */ bl ResourceSize__10CResLoaderCFRC10SObjectTag
/* 800801EC 0007D14C 7C 65 1B 78 */ mr r5, r3
/* 800801F0 0007D150 7F C3 F3 78 */ mr r3, r30
/* 800801F4 0007D154 7F A4 EB 78 */ mr r4, r29
/* 800801F8 0007D158 48 00 0D 05 */ bl __ct__8CMapAreaFR12CInputStreamUi
/* 800801FC 0007D15C 7C 7E 1B 78 */ mr r30, r3
lbl_80080200:
/* 80080200 0007D160 7C 1E 00 D0 */ neg r0, r30
/* 80080204 0007D164 93 C1 00 0C */ stw r30, 0xc(r1)
/* 80080208 0007D168 7C 00 F3 78 */ or r0, r0, r30
/* 8008020C 0007D16C 38 61 00 10 */ addi r3, r1, 0x10
/* 80080210 0007D170 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80080214 0007D174 38 81 00 08 */ addi r4, r1, 8
/* 80080218 0007D178 98 01 00 08 */ stb r0, 8(r1)
/* 8008021C 0007D17C 48 00 01 19 */ bl "GetIObjObjectFor__17TToken<8CMapArea>FRCQ24rstl19auto_ptr<8CMapArea>"
/* 80080220 0007D180 80 61 00 14 */ lwz r3, 0x14(r1)
/* 80080224 0007D184 38 00 00 00 */ li r0, 0
/* 80080228 0007D188 98 01 00 10 */ stb r0, 0x10(r1)
/* 8008022C 0007D18C 7C 03 00 D0 */ neg r0, r3
/* 80080230 0007D190 7C 00 1B 78 */ or r0, r0, r3
/* 80080234 0007D194 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80080238 0007D198 98 1F 00 00 */ stb r0, 0(r31)
/* 8008023C 0007D19C 90 7F 00 04 */ stw r3, 4(r31)
/* 80080240 0007D1A0 88 01 00 10 */ lbz r0, 0x10(r1)
/* 80080244 0007D1A4 28 00 00 00 */ cmplwi r0, 0
/* 80080248 0007D1A8 41 82 00 24 */ beq lbl_8008026C
/* 8008024C 0007D1AC 80 61 00 14 */ lwz r3, 0x14(r1)
/* 80080250 0007D1B0 28 03 00 00 */ cmplwi r3, 0
/* 80080254 0007D1B4 41 82 00 18 */ beq lbl_8008026C
/* 80080258 0007D1B8 81 83 00 00 */ lwz r12, 0(r3)
/* 8008025C 0007D1BC 38 80 00 01 */ li r4, 1
/* 80080260 0007D1C0 81 8C 00 08 */ lwz r12, 8(r12)
/* 80080264 0007D1C4 7D 89 03 A6 */ mtctr r12
/* 80080268 0007D1C8 4E 80 04 21 */ bctrl
lbl_8008026C:
/* 8008026C 0007D1CC 88 01 00 08 */ lbz r0, 8(r1)
/* 80080270 0007D1D0 28 00 00 00 */ cmplwi r0, 0
/* 80080274 0007D1D4 41 82 00 10 */ beq lbl_80080284
/* 80080278 0007D1D8 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8008027C 0007D1DC 38 80 00 01 */ li r4, 1
/* 80080280 0007D1E0 48 00 0B F9 */ bl __dt__8CMapAreaFv
lbl_80080284:
/* 80080284 0007D1E4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80080288 0007D1E8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8008028C 0007D1EC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80080290 0007D1F0 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80080294 0007D1F4 83 81 00 20 */ lwz r28, 0x20(r1)
/* 80080298 0007D1F8 7C 08 03 A6 */ mtlr r0
/* 8008029C 0007D1FC 38 21 00 30 */ addi r1, r1, 0x30
/* 800802A0 0007D200 4E 80 00 20 */ blr
.global "__dt__35TObjOwnerDerivedFromIObj<8CMapArea>Fv"
"__dt__35TObjOwnerDerivedFromIObj<8CMapArea>Fv":
/* 800802A4 0007D204 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800802A8 0007D208 7C 08 02 A6 */ mflr r0
/* 800802AC 0007D20C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800802B0 0007D210 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800802B4 0007D214 7C 9F 23 78 */ mr r31, r4
/* 800802B8 0007D218 93 C1 00 08 */ stw r30, 8(r1)
/* 800802BC 0007D21C 7C 7E 1B 79 */ or. r30, r3, r3
/* 800802C0 0007D220 41 82 00 58 */ beq lbl_80080318
/* 800802C4 0007D224 3C 60 80 3E */ lis r3, lbl_803DAB80@ha
/* 800802C8 0007D228 38 03 AB 80 */ addi r0, r3, lbl_803DAB80@l
/* 800802CC 0007D22C 90 1E 00 00 */ stw r0, 0(r30)
/* 800802D0 0007D230 80 7E 00 04 */ lwz r3, 4(r30)
/* 800802D4 0007D234 28 03 00 00 */ cmplwi r3, 0
/* 800802D8 0007D238 41 82 00 0C */ beq lbl_800802E4
/* 800802DC 0007D23C 38 80 00 01 */ li r4, 1
/* 800802E0 0007D240 48 00 0B 99 */ bl __dt__8CMapAreaFv
lbl_800802E4:
/* 800802E4 0007D244 28 1E 00 00 */ cmplwi r30, 0
/* 800802E8 0007D248 41 82 00 20 */ beq lbl_80080308
/* 800802EC 0007D24C 3C 60 80 3E */ lis r3, lbl_803D8D78@ha
/* 800802F0 0007D250 38 03 8D 78 */ addi r0, r3, lbl_803D8D78@l
/* 800802F4 0007D254 90 1E 00 00 */ stw r0, 0(r30)
/* 800802F8 0007D258 41 82 00 10 */ beq lbl_80080308
/* 800802FC 0007D25C 3C 60 80 3E */ lis r3, lbl_803D8D6C@ha
/* 80080300 0007D260 38 03 8D 6C */ addi r0, r3, lbl_803D8D6C@l
/* 80080304 0007D264 90 1E 00 00 */ stw r0, 0(r30)
lbl_80080308:
/* 80080308 0007D268 7F E0 07 35 */ extsh. r0, r31
/* 8008030C 0007D26C 40 81 00 0C */ ble lbl_80080318
/* 80080310 0007D270 7F C3 F3 78 */ mr r3, r30
/* 80080314 0007D274 48 29 56 1D */ bl Free__7CMemoryFPCv
lbl_80080318:
/* 80080318 0007D278 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008031C 0007D27C 7F C3 F3 78 */ mr r3, r30
/* 80080320 0007D280 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80080324 0007D284 83 C1 00 08 */ lwz r30, 8(r1)
/* 80080328 0007D288 7C 08 03 A6 */ mtlr r0
/* 8008032C 0007D28C 38 21 00 10 */ addi r1, r1, 0x10
/* 80080330 0007D290 4E 80 00 20 */ blr
.global "GetIObjObjectFor__17TToken<8CMapArea>FRCQ24rstl19auto_ptr<8CMapArea>"
"GetIObjObjectFor__17TToken<8CMapArea>FRCQ24rstl19auto_ptr<8CMapArea>":
/* 80080334 0007D294 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80080338 0007D298 7C 08 02 A6 */ mflr r0
/* 8008033C 0007D29C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80080340 0007D2A0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80080344 0007D2A4 7C 7F 1B 78 */ mr r31, r3
/* 80080348 0007D2A8 48 00 00 19 */ bl "GetNewDerivedObject__35TObjOwnerDerivedFromIObj<8CMapArea>FRCQ24rstl19auto_ptr<8CMapArea>"
/* 8008034C 0007D2AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80080350 0007D2B0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80080354 0007D2B4 7C 08 03 A6 */ mtlr r0
/* 80080358 0007D2B8 38 21 00 10 */ addi r1, r1, 0x10
/* 8008035C 0007D2BC 4E 80 00 20 */ blr
.global "GetNewDerivedObject__35TObjOwnerDerivedFromIObj<8CMapArea>FRCQ24rstl19auto_ptr<8CMapArea>"
"GetNewDerivedObject__35TObjOwnerDerivedFromIObj<8CMapArea>FRCQ24rstl19auto_ptr<8CMapArea>":
/* 80080360 0007D2C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80080364 0007D2C4 7C 08 02 A6 */ mflr r0
/* 80080368 0007D2C8 3C A0 80 3D */ lis r5, lbl_803CD66C@ha
/* 8008036C 0007D2CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80080370 0007D2D0 38 05 D6 6C */ addi r0, r5, lbl_803CD66C@l
/* 80080374 0007D2D4 38 A0 00 00 */ li r5, 0
/* 80080378 0007D2D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8008037C 0007D2DC 7C 9F 23 78 */ mr r31, r4
/* 80080380 0007D2E0 7C 04 03 78 */ mr r4, r0
/* 80080384 0007D2E4 93 C1 00 08 */ stw r30, 8(r1)
/* 80080388 0007D2E8 7C 7E 1B 78 */ mr r30, r3
/* 8008038C 0007D2EC 38 60 00 08 */ li r3, 8
/* 80080390 0007D2F0 48 29 54 DD */ bl __nw__FUlPCcPCc
/* 80080394 0007D2F4 28 03 00 00 */ cmplwi r3, 0
/* 80080398 0007D2F8 41 82 00 38 */ beq lbl_800803D0
/* 8008039C 0007D2FC 3C 80 80 3E */ lis r4, lbl_803D8D6C@ha
/* 800803A0 0007D300 3C A0 80 3E */ lis r5, lbl_803D8D78@ha
/* 800803A4 0007D304 38 04 8D 6C */ addi r0, r4, lbl_803D8D6C@l
/* 800803A8 0007D308 3C 80 80 3E */ lis r4, lbl_803DAB80@ha
/* 800803AC 0007D30C 90 03 00 00 */ stw r0, 0(r3)
/* 800803B0 0007D310 38 C5 8D 78 */ addi r6, r5, lbl_803D8D78@l
/* 800803B4 0007D314 38 A0 00 00 */ li r5, 0
/* 800803B8 0007D318 38 04 AB 80 */ addi r0, r4, lbl_803DAB80@l
/* 800803BC 0007D31C 90 C3 00 00 */ stw r6, 0(r3)
/* 800803C0 0007D320 98 BF 00 00 */ stb r5, 0(r31)
/* 800803C4 0007D324 80 9F 00 04 */ lwz r4, 4(r31)
/* 800803C8 0007D328 90 83 00 04 */ stw r4, 4(r3)
/* 800803CC 0007D32C 90 03 00 00 */ stw r0, 0(r3)
lbl_800803D0:
/* 800803D0 0007D330 7C 03 00 D0 */ neg r0, r3
/* 800803D4 0007D334 7C 00 1B 78 */ or r0, r0, r3
/* 800803D8 0007D338 54 00 0F FE */ srwi r0, r0, 0x1f
/* 800803DC 0007D33C 98 1E 00 00 */ stb r0, 0(r30)
/* 800803E0 0007D340 90 7E 00 04 */ stw r3, 4(r30)
/* 800803E4 0007D344 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800803E8 0007D348 83 C1 00 08 */ lwz r30, 8(r1)
/* 800803EC 0007D34C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800803F0 0007D350 7C 08 03 A6 */ mtlr r0
/* 800803F4 0007D354 38 21 00 10 */ addi r1, r1, 0x10
/* 800803F8 0007D358 4E 80 00 20 */ blr
.global GetAreaPostTranslate__8CMapAreaFRC6IWorld7TAreaId
GetAreaPostTranslate__8CMapAreaFRC6IWorld7TAreaId:
/* 800803FC 0007D35C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80080400 0007D360 7C 08 02 A6 */ mflr r0
/* 80080404 0007D364 90 01 00 14 */ stw r0, 0x14(r1)
/* 80080408 0007D368 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8008040C 0007D36C 7C 9F 23 78 */ mr r31, r4
/* 80080410 0007D370 81 83 00 00 */ lwz r12, 0(r3)
/* 80080414 0007D374 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80080418 0007D378 7D 89 03 A6 */ mtctr r12
/* 8008041C 0007D37C 4E 80 04 21 */ bctrl
/* 80080420 0007D380 3C 03 4E 54 */ addis r0, r3, 0x4e54
/* 80080424 0007D384 28 00 4D 65 */ cmplwi r0, 0x4d65
/* 80080428 0007D388 40 82 00 24 */ bne lbl_8008044C
/* 8008042C 0007D38C 3C 80 80 3D */ lis r4, lbl_803CD640@ha
/* 80080430 0007D390 3C 60 80 47 */ lis r3, lbl_8046C3E0@ha
/* 80080434 0007D394 38 84 D6 40 */ addi r4, r4, lbl_803CD640@l
/* 80080438 0007D398 7C 84 F8 AE */ lbzx r4, r4, r31
/* 8008043C 0007D39C 38 03 C3 E0 */ addi r0, r3, lbl_8046C3E0@l
/* 80080440 0007D3A0 1C 64 00 0C */ mulli r3, r4, 0xc
/* 80080444 0007D3A4 7C 60 1A 14 */ add r3, r0, r3
/* 80080448 0007D3A8 48 00 00 0C */ b lbl_80080454
lbl_8008044C:
/* 8008044C 0007D3AC 3C 60 80 5A */ lis r3, skZero3f@ha
/* 80080450 0007D3B0 38 63 66 A0 */ addi r3, r3, skZero3f@l
lbl_80080454:
/* 80080454 0007D3B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80080458 0007D3B8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8008045C 0007D3BC 7C 08 03 A6 */ mtlr r0
/* 80080460 0007D3C0 38 21 00 10 */ addi r1, r1, 0x10
/* 80080464 0007D3C4 4E 80 00 20 */ blr
.global GetAreaPostTransform__8CMapAreaFRC6CWorld7TAreaId
GetAreaPostTransform__8CMapAreaFRC6CWorld7TAreaId:
/* 80080468 0007D3C8 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8008046C 0007D3CC 7C 08 02 A6 */ mflr r0
/* 80080470 0007D3D0 90 01 00 64 */ stw r0, 0x64(r1)
/* 80080474 0007D3D4 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 80080478 0007D3D8 7C BF 2B 78 */ mr r31, r5
/* 8008047C 0007D3DC 93 C1 00 58 */ stw r30, 0x58(r1)
/* 80080480 0007D3E0 7C DE 33 78 */ mr r30, r6
/* 80080484 0007D3E4 93 A1 00 54 */ stw r29, 0x54(r1)
/* 80080488 0007D3E8 7C 7D 1B 78 */ mr r29, r3
/* 8008048C 0007D3EC 7F E3 FB 78 */ mr r3, r31
/* 80080490 0007D3F0 81 9F 00 00 */ lwz r12, 0(r31)
/* 80080494 0007D3F4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80080498 0007D3F8 7D 89 03 A6 */ mtctr r12
/* 8008049C 0007D3FC 4E 80 04 21 */ bctrl
/* 800804A0 0007D400 3C 03 4E 54 */ addis r0, r3, 0x4e54
/* 800804A4 0007D404 28 00 4D 65 */ cmplwi r0, 0x4d65
/* 800804A8 0007D408 40 82 00 70 */ bne lbl_80080518
/* 800804AC 0007D40C 93 C1 00 14 */ stw r30, 0x14(r1)
/* 800804B0 0007D410 7F E3 FB 78 */ mr r3, r31
/* 800804B4 0007D414 38 81 00 14 */ addi r4, r1, 0x14
/* 800804B8 0007D418 81 9F 00 00 */ lwz r12, 0(r31)
/* 800804BC 0007D41C 93 C1 00 10 */ stw r30, 0x10(r1)
/* 800804C0 0007D420 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 800804C4 0007D424 7D 89 03 A6 */ mtctr r12
/* 800804C8 0007D428 4E 80 04 21 */ bctrl
/* 800804CC 0007D42C 81 83 00 00 */ lwz r12, 0(r3)
/* 800804D0 0007D430 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 800804D4 0007D434 7D 89 03 A6 */ mtctr r12
/* 800804D8 0007D438 4E 80 04 21 */ bctrl
/* 800804DC 0007D43C 3C A0 80 3D */ lis r5, lbl_803CD640@ha
/* 800804E0 0007D440 3C 80 80 47 */ lis r4, lbl_8046C3E0@ha
/* 800804E4 0007D444 38 A5 D6 40 */ addi r5, r5, lbl_803CD640@l
/* 800804E8 0007D448 7C 7F 1B 78 */ mr r31, r3
/* 800804EC 0007D44C 7C A5 F0 AE */ lbzx r5, r5, r30
/* 800804F0 0007D450 38 04 C3 E0 */ addi r0, r4, lbl_8046C3E0@l
/* 800804F4 0007D454 38 61 00 18 */ addi r3, r1, 0x18
/* 800804F8 0007D458 1C 85 00 0C */ mulli r4, r5, 0xc
/* 800804FC 0007D45C 7C 80 22 14 */ add r4, r0, r4
/* 80080500 0007D460 48 29 2C 41 */ bl Translate__12CTransform4fFRC9CVector3f
/* 80080504 0007D464 7F A3 EB 78 */ mr r3, r29
/* 80080508 0007D468 7F E5 FB 78 */ mr r5, r31
/* 8008050C 0007D46C 38 81 00 18 */ addi r4, r1, 0x18
/* 80080510 0007D470 48 29 24 41 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 80080514 0007D474 48 00 00 40 */ b lbl_80080554
lbl_80080518:
/* 80080518 0007D478 93 C1 00 0C */ stw r30, 0xc(r1)
/* 8008051C 0007D47C 7F E3 FB 78 */ mr r3, r31
/* 80080520 0007D480 38 81 00 0C */ addi r4, r1, 0xc
/* 80080524 0007D484 81 9F 00 00 */ lwz r12, 0(r31)
/* 80080528 0007D488 93 C1 00 08 */ stw r30, 8(r1)
/* 8008052C 0007D48C 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 80080530 0007D490 7D 89 03 A6 */ mtctr r12
/* 80080534 0007D494 4E 80 04 21 */ bctrl
/* 80080538 0007D498 81 83 00 00 */ lwz r12, 0(r3)
/* 8008053C 0007D49C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80080540 0007D4A0 7D 89 03 A6 */ mtctr r12
/* 80080544 0007D4A4 4E 80 04 21 */ bctrl
/* 80080548 0007D4A8 7C 64 1B 78 */ mr r4, r3
/* 8008054C 0007D4AC 7F A3 EB 78 */ mr r3, r29
/* 80080550 0007D4B0 48 29 26 25 */ bl __ct__12CTransform4fFRC12CTransform4f
lbl_80080554:
/* 80080554 0007D4B4 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80080558 0007D4B8 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 8008055C 0007D4BC 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 80080560 0007D4C0 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 80080564 0007D4C4 7C 08 03 A6 */ mtlr r0
/* 80080568 0007D4C8 38 21 00 60 */ addi r1, r1, 0x60
/* 8008056C 0007D4CC 4E 80 00 20 */ blr
.global SetupGXMaterial__Q28CMapArea15CMapAreaSurfaceFv
SetupGXMaterial__Q28CMapArea15CMapAreaSurfaceFv:
/* 80080570 0007D4D0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80080574 0007D4D4 7C 08 02 A6 */ mflr r0
/* 80080578 0007D4D8 3C 80 80 3D */ lis r4, lbl_803CD630@ha
/* 8008057C 0007D4DC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80080580 0007D4E0 38 E4 D6 30 */ addi r7, r4, lbl_803CD630@l
/* 80080584 0007D4E4 38 61 00 08 */ addi r3, r1, 8
/* 80080588 0007D4E8 80 C7 00 00 */ lwz r6, 0(r7)
/* 8008058C 0007D4EC 80 A7 00 04 */ lwz r5, 4(r7)
/* 80080590 0007D4F0 80 87 00 08 */ lwz r4, 8(r7)
/* 80080594 0007D4F4 80 07 00 0C */ lwz r0, 0xc(r7)
/* 80080598 0007D4F8 90 C1 00 08 */ stw r6, 8(r1)
/* 8008059C 0007D4FC 90 A1 00 0C */ stw r5, 0xc(r1)
/* 800805A0 0007D500 90 81 00 10 */ stw r4, 0x10(r1)
/* 800805A4 0007D504 90 01 00 14 */ stw r0, 0x14(r1)
/* 800805A8 0007D508 48 28 78 81 */ bl SetVtxDescv__3CGXFPC14_GXVtxDescList
/* 800805AC 0007D50C 38 60 00 01 */ li r3, 1
/* 800805B0 0007D510 48 28 88 A1 */ bl SetNumChans__3CGXFUc
/* 800805B4 0007D514 38 60 00 00 */ li r3, 0
/* 800805B8 0007D518 48 28 88 5D */ bl SetNumTexGens__3CGXFUc
/* 800805BC 0007D51C 38 60 00 01 */ li r3, 1
/* 800805C0 0007D520 48 28 86 D1 */ bl SetNumTevStages__3CGXFUc
/* 800805C4 0007D524 38 60 00 00 */ li r3, 0
/* 800805C8 0007D528 38 80 00 00 */ li r4, 0
/* 800805CC 0007D52C 38 A0 00 00 */ li r5, 0
/* 800805D0 0007D530 38 C0 00 01 */ li r6, 1
/* 800805D4 0007D534 38 E0 00 00 */ li r7, 0
/* 800805D8 0007D538 39 00 00 00 */ li r8, 0
/* 800805DC 0007D53C 39 20 00 02 */ li r9, 2
/* 800805E0 0007D540 48 28 86 ED */ bl SetChanCtrl__3CGXFQ23CGX10EChannelIdUc11_GXColorSrc11_GXColorSrc10_GXLightID12_GXDiffuseFn9_GXAttnFn
/* 800805E4 0007D544 38 60 00 00 */ li r3, 0
/* 800805E8 0007D548 38 80 00 0F */ li r4, 0xf
/* 800805EC 0007D54C 38 A0 00 0F */ li r5, 0xf
/* 800805F0 0007D550 38 C0 00 0F */ li r6, 0xf
/* 800805F4 0007D554 38 E0 00 0E */ li r7, 0xe
/* 800805F8 0007D558 48 28 85 F5 */ bl SetTevColorIn__3CGXF13_GXTevStageID14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg14_GXTevColorArg
/* 800805FC 0007D55C 38 60 00 00 */ li r3, 0
/* 80080600 0007D560 38 80 00 07 */ li r4, 7
/* 80080604 0007D564 38 A0 00 07 */ li r5, 7
/* 80080608 0007D568 38 C0 00 07 */ li r6, 7
/* 8008060C 0007D56C 38 E0 00 06 */ li r7, 6
/* 80080610 0007D570 48 28 85 85 */ bl SetTevAlphaIn__3CGXF13_GXTevStageID14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg14_GXTevAlphaArg
/* 80080614 0007D574 38 60 00 00 */ li r3, 0
/* 80080618 0007D578 38 80 00 00 */ li r4, 0
/* 8008061C 0007D57C 38 A0 00 00 */ li r5, 0
/* 80080620 0007D580 38 C0 00 00 */ li r6, 0
/* 80080624 0007D584 38 E0 00 01 */ li r7, 1
/* 80080628 0007D588 39 00 00 00 */ li r8, 0
/* 8008062C 0007D58C 48 28 85 0D */ bl SetTevColorOp__3CGXF13_GXTevStageID8_GXTevOp10_GXTevBias11_GXTevScaleUc11_GXTevRegID
/* 80080630 0007D590 38 60 00 00 */ li r3, 0
/* 80080634 0007D594 38 80 00 00 */ li r4, 0
/* 80080638 0007D598 38 A0 00 00 */ li r5, 0
/* 8008063C 0007D59C 38 C0 00 00 */ li r6, 0
/* 80080640 0007D5A0 38 E0 00 01 */ li r7, 1
/* 80080644 0007D5A4 39 00 00 00 */ li r8, 0
/* 80080648 0007D5A8 48 28 84 39 */ bl SetTevAlphaOp__3CGXF13_GXTevStageID8_GXTevOp10_GXTevBias11_GXTevScaleUc11_GXTevRegID
/* 8008064C 0007D5AC 38 60 00 00 */ li r3, 0
/* 80080650 0007D5B0 38 80 00 0C */ li r4, 0xc
/* 80080654 0007D5B4 48 28 83 8D */ bl SetTevKColorSel__3CGXF13_GXTevStageID15_GXTevKColorSel
/* 80080658 0007D5B8 38 60 00 00 */ li r3, 0
/* 8008065C 0007D5BC 38 80 00 1C */ li r4, 0x1c
/* 80080660 0007D5C0 48 28 83 3D */ bl SetTevKAlphaSel__3CGXF13_GXTevStageID15_GXTevKAlphaSel
/* 80080664 0007D5C4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80080668 0007D5C8 7C 08 03 A6 */ mtlr r0
/* 8008066C 0007D5CC 38 21 00 20 */ addi r1, r1, 0x20
/* 80080670 0007D5D0 4E 80 00 20 */ blr
.global Draw__Q28CMapArea15CMapAreaSurfaceCFPC9CVector3fRC6CColorRC6CColorf
Draw__Q28CMapArea15CMapAreaSurfaceCFPC9CVector3fRC6CColorRC6CColorf:
/* 80080674 0007D5D4 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80080678 0007D5D8 7C 08 02 A6 */ mflr r0
/* 8008067C 0007D5DC 90 01 00 84 */ stw r0, 0x84(r1)
/* 80080680 0007D5E0 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 80080684 0007D5E4 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 80080688 0007D5E8 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 8008068C 0007D5EC F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 80080690 0007D5F0 DB A1 00 50 */ stfd f29, 0x50(r1)
/* 80080694 0007D5F4 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
/* 80080698 0007D5F8 BE A1 00 24 */ stmw r21, 0x24(r1)
/* 8008069C 0007D5FC FF A0 08 90 */ fmr f29, f1
/* 800806A0 0007D600 7C 7E 1B 78 */ mr r30, r3
/* 800806A4 0007D604 7C B6 2B 78 */ mr r22, r5
/* 800806A8 0007D608 7C DF 33 78 */ mr r31, r6
/* 800806AC 0007D60C E0 16 A0 03 */ psq_l f0, 3(r22), 1, qr2
/* 800806B0 0007D610 C0 42 89 88 */ lfs f2, lbl_805AA6A8@sda21(r2)
/* 800806B4 0007D614 C0 22 89 8C */ lfs f1, lbl_805AA6AC@sda21(r2)
/* 800806B8 0007D618 EC 02 00 32 */ fmuls f0, f2, f0
/* 800806BC 0007D61C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 800806C0 0007D620 7C 00 00 26 */ mfcr r0
/* 800806C4 0007D624 54 15 17 FE */ rlwinm r21, r0, 2, 0x1f, 0x1f
/* 800806C8 0007D628 E0 1F A0 03 */ psq_l f0, 3(r31), 1, qr2
/* 800806CC 0007D62C EC 02 00 32 */ fmuls f0, f2, f0
/* 800806D0 0007D630 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 800806D4 0007D634 7C 00 00 26 */ mfcr r0
/* 800806D8 0007D638 80 BE 00 18 */ lwz r5, 0x18(r30)
/* 800806DC 0007D63C 80 7E 00 1C */ lwz r3, 0x1c(r30)
/* 800806E0 0007D640 28 04 00 00 */ cmplwi r4, 0
/* 800806E4 0007D644 83 85 00 00 */ lwz r28, 0(r5)
/* 800806E8 0007D648 54 1D 17 FE */ rlwinm r29, r0, 2, 0x1f, 0x1f
/* 800806EC 0007D64C 83 63 00 00 */ lwz r27, 0(r3)
/* 800806F0 0007D650 41 82 00 10 */ beq lbl_80080700
/* 800806F4 0007D654 38 60 00 09 */ li r3, 9
/* 800806F8 0007D658 38 A0 00 0C */ li r5, 0xc
/* 800806FC 0007D65C 48 28 7F 49 */ bl SetArray__3CGXF7_GXAttrPCvUc
lbl_80080700:
/* 80080700 0007D660 28 15 00 00 */ cmplwi r21, 0
/* 80080704 0007D664 41 82 01 0C */ beq lbl_80080810
/* 80080708 0007D668 7E C4 B3 78 */ mr r4, r22
/* 8008070C 0007D66C 38 60 00 00 */ li r3, 0
/* 80080710 0007D670 48 28 85 35 */ bl SetTevKColor__3CGXF14_GXTevKColorIDRC8_GXColor
/* 80080714 0007D674 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 80080718 0007D678 3B 20 00 00 */ li r25, 0
/* 8008071C 0007D67C 3B 43 00 04 */ addi r26, r3, 4
/* 80080720 0007D680 48 00 00 E8 */ b lbl_80080808
lbl_80080724:
/* 80080724 0007D684 83 1A 00 04 */ lwz r24, 4(r26)
/* 80080728 0007D688 38 80 00 00 */ li r4, 0
/* 8008072C 0007D68C 80 7A 00 00 */ lwz r3, 0(r26)
/* 80080730 0007D690 3B 5A 00 08 */ addi r26, r26, 8
/* 80080734 0007D694 38 18 00 03 */ addi r0, r24, 3
/* 80080738 0007D698 57 05 04 3E */ clrlwi r5, r24, 0x10
/* 8008073C 0007D69C 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080740 0007D6A0 7F 57 D3 78 */ mr r23, r26
/* 80080744 0007D6A4 7C 00 16 70 */ srawi r0, r0, 2
/* 80080748 0007D6A8 7C 00 01 94 */ addze r0, r0
/* 8008074C 0007D6AC 54 00 10 3A */ slwi r0, r0, 2
/* 80080750 0007D6B0 7F 5A 02 14 */ add r26, r26, r0
/* 80080754 0007D6B4 48 28 7E 31 */ bl Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs
/* 80080758 0007D6B8 2C 18 00 00 */ cmpwi r24, 0
/* 8008075C 0007D6BC 38 A0 00 00 */ li r5, 0
/* 80080760 0007D6C0 40 81 00 A0 */ ble lbl_80080800
/* 80080764 0007D6C4 2C 18 00 08 */ cmpwi r24, 8
/* 80080768 0007D6C8 38 98 FF F8 */ addi r4, r24, -8
/* 8008076C 0007D6CC 40 81 00 68 */ ble lbl_800807D4
/* 80080770 0007D6D0 38 04 00 07 */ addi r0, r4, 7
/* 80080774 0007D6D4 3C 60 CC 01 */ lis r3, 0xcc01
/* 80080778 0007D6D8 54 00 E8 FE */ srwi r0, r0, 3
/* 8008077C 0007D6DC 7C 09 03 A6 */ mtctr r0
/* 80080780 0007D6E0 2C 04 00 00 */ cmpwi r4, 0
/* 80080784 0007D6E4 40 81 00 50 */ ble lbl_800807D4
lbl_80080788:
/* 80080788 0007D6E8 7C 97 2A 14 */ add r4, r23, r5
/* 8008078C 0007D6EC 38 A5 00 08 */ addi r5, r5, 8
/* 80080790 0007D6F0 88 04 00 00 */ lbz r0, 0(r4)
/* 80080794 0007D6F4 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 80080798 0007D6F8 88 04 00 01 */ lbz r0, 1(r4)
/* 8008079C 0007D6FC 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 800807A0 0007D700 88 04 00 02 */ lbz r0, 2(r4)
/* 800807A4 0007D704 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 800807A8 0007D708 88 04 00 03 */ lbz r0, 3(r4)
/* 800807AC 0007D70C 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 800807B0 0007D710 88 04 00 04 */ lbz r0, 4(r4)
/* 800807B4 0007D714 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 800807B8 0007D718 88 04 00 05 */ lbz r0, 5(r4)
/* 800807BC 0007D71C 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 800807C0 0007D720 88 04 00 06 */ lbz r0, 6(r4)
/* 800807C4 0007D724 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 800807C8 0007D728 88 04 00 07 */ lbz r0, 7(r4)
/* 800807CC 0007D72C 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 800807D0 0007D730 42 00 FF B8 */ bdnz lbl_80080788
lbl_800807D4:
/* 800807D4 0007D734 7C 05 C0 50 */ subf r0, r5, r24
/* 800807D8 0007D738 7C 77 2A 14 */ add r3, r23, r5
/* 800807DC 0007D73C 3C 80 CC 01 */ lis r4, 0xcc01
/* 800807E0 0007D740 7C 09 03 A6 */ mtctr r0
/* 800807E4 0007D744 7C 05 C0 00 */ cmpw r5, r24
/* 800807E8 0007D748 40 80 00 18 */ bge lbl_80080800
lbl_800807EC:
/* 800807EC 0007D74C 88 03 00 00 */ lbz r0, 0(r3)
/* 800807F0 0007D750 38 A5 00 01 */ addi r5, r5, 1
/* 800807F4 0007D754 38 63 00 01 */ addi r3, r3, 1
/* 800807F8 0007D758 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 800807FC 0007D75C 42 00 FF F0 */ bdnz lbl_800807EC
lbl_80080800:
/* 80080800 0007D760 48 28 7D 81 */ bl End__3CGXFv
/* 80080804 0007D764 3B 39 00 01 */ addi r25, r25, 1
lbl_80080808:
/* 80080808 0007D768 7C 19 E0 00 */ cmpw r25, r28
/* 8008080C 0007D76C 41 80 FF 18 */ blt lbl_80080724
lbl_80080810:
/* 80080810 0007D770 28 1D 00 00 */ cmplwi r29, 0
/* 80080814 0007D774 41 82 01 B8 */ beq lbl_800809CC
/* 80080818 0007D778 C0 02 89 90 */ lfs f0, lbl_805AA6B0@sda21(r2)
/* 8008081C 0007D77C FC 1D 00 40 */ fcmpo cr0, f29, f0
/* 80080820 0007D780 7C 00 00 26 */ mfcr r0
/* 80080824 0007D784 CB E2 89 A0 */ lfd f31, lbl_805AA6C0@sda21(r2)
/* 80080828 0007D788 54 17 17 FE */ rlwinm r23, r0, 2, 0x1f, 0x1f
/* 8008082C 0007D78C 3B 00 00 00 */ li r24, 0
/* 80080830 0007D790 7C 17 00 D0 */ neg r0, r23
/* 80080834 0007D794 3F A0 43 30 */ lis r29, 0x4330
/* 80080838 0007D798 7C 00 BB 78 */ or r0, r0, r23
/* 8008083C 0007D79C 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80080840 0007D7A0 3A A3 00 01 */ addi r21, r3, 1
/* 80080844 0007D7A4 48 00 01 80 */ b lbl_800809C4
lbl_80080848:
/* 80080848 0007D7A8 80 7E 00 1C */ lwz r3, 0x1c(r30)
/* 8008084C 0007D7AC 28 17 00 00 */ cmplwi r23, 0
/* 80080850 0007D7B0 3B 23 00 04 */ addi r25, r3, 4
/* 80080854 0007D7B4 41 82 00 2C */ beq lbl_80080880
/* 80080858 0007D7B8 6F 03 80 00 */ xoris r3, r24, 0x8000
/* 8008085C 0007D7BC 3C 00 43 30 */ lis r0, 0x4330
/* 80080860 0007D7C0 90 61 00 14 */ stw r3, 0x14(r1)
/* 80080864 0007D7C4 38 60 00 05 */ li r3, 5
/* 80080868 0007D7C8 C8 22 89 98 */ lfd f1, lbl_805AA6B8@sda21(r2)
/* 8008086C 0007D7CC 90 01 00 10 */ stw r0, 0x10(r1)
/* 80080870 0007D7D0 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80080874 0007D7D4 EC 00 08 28 */ fsubs f0, f0, f1
/* 80080878 0007D7D8 EC 3D 00 28 */ fsubs f1, f29, f0
/* 8008087C 0007D7DC 48 28 AB 5D */ bl SetLineWidth__9CGraphicsFf13ERglTexOffset
lbl_80080880:
/* 80080880 0007D7E0 28 17 00 00 */ cmplwi r23, 0
/* 80080884 0007D7E4 41 82 00 0C */ beq lbl_80080890
/* 80080888 0007D7E8 C0 22 89 94 */ lfs f1, lbl_805AA6B4@sda21(r2)
/* 8008088C 0007D7EC 48 00 00 08 */ b lbl_80080894
lbl_80080890:
/* 80080890 0007D7F0 C0 22 89 90 */ lfs f1, lbl_805AA6B0@sda21(r2)
lbl_80080894:
/* 80080894 0007D7F4 88 1F 00 03 */ lbz r0, 3(r31)
/* 80080898 0007D7F8 93 A1 00 10 */ stw r29, 0x10(r1)
/* 8008089C 0007D7FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800808A0 0007D800 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 800808A4 0007D804 EC 00 F8 28 */ fsubs f0, f0, f31
/* 800808A8 0007D808 EF C1 00 32 */ fmuls f30, f1, f0
/* 800808AC 0007D80C F3 C1 A0 08 */ psq_st f30, 8(r1), 1, qr2
/* 800808B0 0007D810 38 81 00 0C */ addi r4, r1, 0xc
/* 800808B4 0007D814 80 BF 00 00 */ lwz r5, 0(r31)
/* 800808B8 0007D818 38 60 00 00 */ li r3, 0
/* 800808BC 0007D81C 88 01 00 08 */ lbz r0, 8(r1)
/* 800808C0 0007D820 50 A0 00 2E */ rlwimi r0, r5, 0, 0, 0x17
/* 800808C4 0007D824 90 01 00 0C */ stw r0, 0xc(r1)
/* 800808C8 0007D828 48 28 83 7D */ bl SetTevKColor__3CGXF14_GXTevKColorIDRC8_GXColor
/* 800808CC 0007D82C 3B 40 00 00 */ li r26, 0
/* 800808D0 0007D830 48 00 00 E8 */ b lbl_800809B8
lbl_800808D4:
/* 800808D4 0007D834 83 99 00 00 */ lwz r28, 0(r25)
/* 800808D8 0007D838 3B 39 00 04 */ addi r25, r25, 4
/* 800808DC 0007D83C 7F 36 CB 78 */ mr r22, r25
/* 800808E0 0007D840 38 60 00 B0 */ li r3, 0xb0
/* 800808E4 0007D844 38 1C 00 03 */ addi r0, r28, 3
/* 800808E8 0007D848 57 85 04 3E */ clrlwi r5, r28, 0x10
/* 800808EC 0007D84C 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 800808F0 0007D850 38 80 00 00 */ li r4, 0
/* 800808F4 0007D854 7C 00 16 70 */ srawi r0, r0, 2
/* 800808F8 0007D858 7C 00 01 94 */ addze r0, r0
/* 800808FC 0007D85C 54 00 10 3A */ slwi r0, r0, 2
/* 80080900 0007D860 7F 39 02 14 */ add r25, r25, r0
/* 80080904 0007D864 48 28 7C 81 */ bl Begin__3CGXF12_GXPrimitive9_GXVtxFmtUs
/* 80080908 0007D868 2C 1C 00 00 */ cmpwi r28, 0
/* 8008090C 0007D86C 38 60 00 00 */ li r3, 0
/* 80080910 0007D870 40 81 00 A0 */ ble lbl_800809B0
/* 80080914 0007D874 2C 1C 00 08 */ cmpwi r28, 8
/* 80080918 0007D878 38 BC FF F8 */ addi r5, r28, -8
/* 8008091C 0007D87C 40 81 00 68 */ ble lbl_80080984
/* 80080920 0007D880 38 05 00 07 */ addi r0, r5, 7
/* 80080924 0007D884 3C 80 CC 01 */ lis r4, 0xcc01
/* 80080928 0007D888 54 00 E8 FE */ srwi r0, r0, 3
/* 8008092C 0007D88C 7C 09 03 A6 */ mtctr r0
/* 80080930 0007D890 2C 05 00 00 */ cmpwi r5, 0
/* 80080934 0007D894 40 81 00 50 */ ble lbl_80080984
lbl_80080938:
/* 80080938 0007D898 7C B6 1A 14 */ add r5, r22, r3
/* 8008093C 0007D89C 38 63 00 08 */ addi r3, r3, 8
/* 80080940 0007D8A0 88 05 00 00 */ lbz r0, 0(r5)
/* 80080944 0007D8A4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80080948 0007D8A8 88 05 00 01 */ lbz r0, 1(r5)
/* 8008094C 0007D8AC 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80080950 0007D8B0 88 05 00 02 */ lbz r0, 2(r5)
/* 80080954 0007D8B4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80080958 0007D8B8 88 05 00 03 */ lbz r0, 3(r5)
/* 8008095C 0007D8BC 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80080960 0007D8C0 88 05 00 04 */ lbz r0, 4(r5)
/* 80080964 0007D8C4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80080968 0007D8C8 88 05 00 05 */ lbz r0, 5(r5)
/* 8008096C 0007D8CC 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80080970 0007D8D0 88 05 00 06 */ lbz r0, 6(r5)
/* 80080974 0007D8D4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80080978 0007D8D8 88 05 00 07 */ lbz r0, 7(r5)
/* 8008097C 0007D8DC 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80080980 0007D8E0 42 00 FF B8 */ bdnz lbl_80080938
lbl_80080984:
/* 80080984 0007D8E4 7C 03 E0 50 */ subf r0, r3, r28
/* 80080988 0007D8E8 7C 96 1A 14 */ add r4, r22, r3
/* 8008098C 0007D8EC 3C A0 CC 01 */ lis r5, 0xcc01
/* 80080990 0007D8F0 7C 09 03 A6 */ mtctr r0
/* 80080994 0007D8F4 7C 03 E0 00 */ cmpw r3, r28
/* 80080998 0007D8F8 40 80 00 18 */ bge lbl_800809B0
lbl_8008099C:
/* 8008099C 0007D8FC 88 04 00 00 */ lbz r0, 0(r4)
/* 800809A0 0007D900 38 63 00 01 */ addi r3, r3, 1
/* 800809A4 0007D904 38 84 00 01 */ addi r4, r4, 1
/* 800809A8 0007D908 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 800809AC 0007D90C 42 00 FF F0 */ bdnz lbl_8008099C
lbl_800809B0:
/* 800809B0 0007D910 48 28 7B D1 */ bl End__3CGXFv
/* 800809B4 0007D914 3B 5A 00 01 */ addi r26, r26, 1
lbl_800809B8:
/* 800809B8 0007D918 7C 1A D8 00 */ cmpw r26, r27
/* 800809BC 0007D91C 41 80 FF 18 */ blt lbl_800808D4
/* 800809C0 0007D920 3B 18 00 01 */ addi r24, r24, 1
lbl_800809C4:
/* 800809C4 0007D924 7C 18 A8 00 */ cmpw r24, r21
/* 800809C8 0007D928 41 80 FE 80 */ blt lbl_80080848
lbl_800809CC:
/* 800809CC 0007D92C E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 800809D0 0007D930 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 800809D4 0007D934 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 800809D8 0007D938 CB C1 00 60 */ lfd f30, 0x60(r1)
/* 800809DC 0007D93C E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0
/* 800809E0 0007D940 CB A1 00 50 */ lfd f29, 0x50(r1)
/* 800809E4 0007D944 BA A1 00 24 */ lmw r21, 0x24(r1)
/* 800809E8 0007D948 80 01 00 84 */ lwz r0, 0x84(r1)
/* 800809EC 0007D94C 7C 08 03 A6 */ mtlr r0
/* 800809F0 0007D950 38 21 00 80 */ addi r1, r1, 0x80
/* 800809F4 0007D954 4E 80 00 20 */ blr
.global PostConstruct__Q28CMapArea15CMapAreaSurfaceFPCv
PostConstruct__Q28CMapArea15CMapAreaSurfaceFPCv:
/* 800809F8 0007D958 80 03 00 18 */ lwz r0, 0x18(r3)
/* 800809FC 0007D95C 38 C0 00 00 */ li r6, 0
/* 80080A00 0007D960 7C 04 02 14 */ add r0, r4, r0
/* 80080A04 0007D964 90 03 00 18 */ stw r0, 0x18(r3)
/* 80080A08 0007D968 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80080A0C 0007D96C 7C 04 02 14 */ add r0, r4, r0
/* 80080A10 0007D970 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80080A14 0007D974 80 A3 00 18 */ lwz r5, 0x18(r3)
/* 80080A18 0007D978 80 85 00 00 */ lwz r4, 0(r5)
/* 80080A1C 0007D97C 38 A5 00 04 */ addi r5, r5, 4
/* 80080A20 0007D980 2C 04 00 00 */ cmpwi r4, 0
/* 80080A24 0007D984 40 81 01 60 */ ble lbl_80080B84
/* 80080A28 0007D988 2C 04 00 08 */ cmpwi r4, 8
/* 80080A2C 0007D98C 38 E4 FF F8 */ addi r7, r4, -8
/* 80080A30 0007D990 40 81 01 20 */ ble lbl_80080B50
/* 80080A34 0007D994 38 07 00 07 */ addi r0, r7, 7
/* 80080A38 0007D998 54 00 E8 FE */ srwi r0, r0, 3
/* 80080A3C 0007D99C 7C 09 03 A6 */ mtctr r0
/* 80080A40 0007D9A0 2C 07 00 00 */ cmpwi r7, 0
/* 80080A44 0007D9A4 40 81 01 0C */ ble lbl_80080B50
lbl_80080A48:
/* 80080A48 0007D9A8 80 E5 00 04 */ lwz r7, 4(r5)
/* 80080A4C 0007D9AC 38 A5 00 08 */ addi r5, r5, 8
/* 80080A50 0007D9B0 38 C6 00 08 */ addi r6, r6, 8
/* 80080A54 0007D9B4 38 07 00 03 */ addi r0, r7, 3
/* 80080A58 0007D9B8 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080A5C 0007D9BC 7C 00 16 70 */ srawi r0, r0, 2
/* 80080A60 0007D9C0 7C 00 01 94 */ addze r0, r0
/* 80080A64 0007D9C4 54 00 10 3A */ slwi r0, r0, 2
/* 80080A68 0007D9C8 7C A5 02 14 */ add r5, r5, r0
/* 80080A6C 0007D9CC 80 E5 00 04 */ lwz r7, 4(r5)
/* 80080A70 0007D9D0 38 A5 00 08 */ addi r5, r5, 8
/* 80080A74 0007D9D4 38 07 00 03 */ addi r0, r7, 3
/* 80080A78 0007D9D8 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080A7C 0007D9DC 7C 00 16 70 */ srawi r0, r0, 2
/* 80080A80 0007D9E0 7C 00 01 94 */ addze r0, r0
/* 80080A84 0007D9E4 54 00 10 3A */ slwi r0, r0, 2
/* 80080A88 0007D9E8 7C A5 02 14 */ add r5, r5, r0
/* 80080A8C 0007D9EC 80 E5 00 04 */ lwz r7, 4(r5)
/* 80080A90 0007D9F0 38 A5 00 08 */ addi r5, r5, 8
/* 80080A94 0007D9F4 38 07 00 03 */ addi r0, r7, 3
/* 80080A98 0007D9F8 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080A9C 0007D9FC 7C 00 16 70 */ srawi r0, r0, 2
/* 80080AA0 0007DA00 7C 00 01 94 */ addze r0, r0
/* 80080AA4 0007DA04 54 00 10 3A */ slwi r0, r0, 2
/* 80080AA8 0007DA08 7C A5 02 14 */ add r5, r5, r0
/* 80080AAC 0007DA0C 80 E5 00 04 */ lwz r7, 4(r5)
/* 80080AB0 0007DA10 38 A5 00 08 */ addi r5, r5, 8
/* 80080AB4 0007DA14 38 07 00 03 */ addi r0, r7, 3
/* 80080AB8 0007DA18 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080ABC 0007DA1C 7C 00 16 70 */ srawi r0, r0, 2
/* 80080AC0 0007DA20 7C 00 01 94 */ addze r0, r0
/* 80080AC4 0007DA24 54 00 10 3A */ slwi r0, r0, 2
/* 80080AC8 0007DA28 7C A5 02 14 */ add r5, r5, r0
/* 80080ACC 0007DA2C 80 E5 00 04 */ lwz r7, 4(r5)
/* 80080AD0 0007DA30 38 A5 00 08 */ addi r5, r5, 8
/* 80080AD4 0007DA34 38 07 00 03 */ addi r0, r7, 3
/* 80080AD8 0007DA38 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080ADC 0007DA3C 7C 00 16 70 */ srawi r0, r0, 2
/* 80080AE0 0007DA40 7C 00 01 94 */ addze r0, r0
/* 80080AE4 0007DA44 54 00 10 3A */ slwi r0, r0, 2
/* 80080AE8 0007DA48 7C A5 02 14 */ add r5, r5, r0
/* 80080AEC 0007DA4C 80 E5 00 04 */ lwz r7, 4(r5)
/* 80080AF0 0007DA50 38 A5 00 08 */ addi r5, r5, 8
/* 80080AF4 0007DA54 38 07 00 03 */ addi r0, r7, 3
/* 80080AF8 0007DA58 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080AFC 0007DA5C 7C 00 16 70 */ srawi r0, r0, 2
/* 80080B00 0007DA60 7C 00 01 94 */ addze r0, r0
/* 80080B04 0007DA64 54 00 10 3A */ slwi r0, r0, 2
/* 80080B08 0007DA68 7C A5 02 14 */ add r5, r5, r0
/* 80080B0C 0007DA6C 80 E5 00 04 */ lwz r7, 4(r5)
/* 80080B10 0007DA70 38 A5 00 08 */ addi r5, r5, 8
/* 80080B14 0007DA74 38 07 00 03 */ addi r0, r7, 3
/* 80080B18 0007DA78 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080B1C 0007DA7C 7C 00 16 70 */ srawi r0, r0, 2
/* 80080B20 0007DA80 7C 00 01 94 */ addze r0, r0
/* 80080B24 0007DA84 54 00 10 3A */ slwi r0, r0, 2
/* 80080B28 0007DA88 7C A5 02 14 */ add r5, r5, r0
/* 80080B2C 0007DA8C 80 E5 00 04 */ lwz r7, 4(r5)
/* 80080B30 0007DA90 38 A5 00 08 */ addi r5, r5, 8
/* 80080B34 0007DA94 38 07 00 03 */ addi r0, r7, 3
/* 80080B38 0007DA98 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080B3C 0007DA9C 7C 00 16 70 */ srawi r0, r0, 2
/* 80080B40 0007DAA0 7C 00 01 94 */ addze r0, r0
/* 80080B44 0007DAA4 54 00 10 3A */ slwi r0, r0, 2
/* 80080B48 0007DAA8 7C A5 02 14 */ add r5, r5, r0
/* 80080B4C 0007DAAC 42 00 FE FC */ bdnz lbl_80080A48
lbl_80080B50:
/* 80080B50 0007DAB0 7C 06 20 50 */ subf r0, r6, r4
/* 80080B54 0007DAB4 7C 09 03 A6 */ mtctr r0
/* 80080B58 0007DAB8 7C 06 20 00 */ cmpw r6, r4
/* 80080B5C 0007DABC 40 80 00 28 */ bge lbl_80080B84
lbl_80080B60:
/* 80080B60 0007DAC0 80 85 00 04 */ lwz r4, 4(r5)
/* 80080B64 0007DAC4 38 A5 00 08 */ addi r5, r5, 8
/* 80080B68 0007DAC8 38 04 00 03 */ addi r0, r4, 3
/* 80080B6C 0007DACC 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080B70 0007DAD0 7C 00 16 70 */ srawi r0, r0, 2
/* 80080B74 0007DAD4 7C 00 01 94 */ addze r0, r0
/* 80080B78 0007DAD8 54 00 10 3A */ slwi r0, r0, 2
/* 80080B7C 0007DADC 7C A5 02 14 */ add r5, r5, r0
/* 80080B80 0007DAE0 42 00 FF E0 */ bdnz lbl_80080B60
lbl_80080B84:
/* 80080B84 0007DAE4 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 80080B88 0007DAE8 38 A0 00 00 */ li r5, 0
/* 80080B8C 0007DAEC 80 64 00 00 */ lwz r3, 0(r4)
/* 80080B90 0007DAF0 38 84 00 04 */ addi r4, r4, 4
/* 80080B94 0007DAF4 2C 03 00 00 */ cmpwi r3, 0
/* 80080B98 0007DAF8 4C 81 00 20 */ blelr
/* 80080B9C 0007DAFC 2C 03 00 08 */ cmpwi r3, 8
/* 80080BA0 0007DB00 38 C3 FF F8 */ addi r6, r3, -8
/* 80080BA4 0007DB04 40 81 01 20 */ ble lbl_80080CC4
/* 80080BA8 0007DB08 38 06 00 07 */ addi r0, r6, 7
/* 80080BAC 0007DB0C 54 00 E8 FE */ srwi r0, r0, 3
/* 80080BB0 0007DB10 7C 09 03 A6 */ mtctr r0
/* 80080BB4 0007DB14 2C 06 00 00 */ cmpwi r6, 0
/* 80080BB8 0007DB18 40 81 01 0C */ ble lbl_80080CC4
lbl_80080BBC:
/* 80080BBC 0007DB1C 80 C4 00 00 */ lwz r6, 0(r4)
/* 80080BC0 0007DB20 38 84 00 04 */ addi r4, r4, 4
/* 80080BC4 0007DB24 38 A5 00 08 */ addi r5, r5, 8
/* 80080BC8 0007DB28 38 06 00 03 */ addi r0, r6, 3
/* 80080BCC 0007DB2C 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080BD0 0007DB30 7C 00 16 70 */ srawi r0, r0, 2
/* 80080BD4 0007DB34 7C 00 01 94 */ addze r0, r0
/* 80080BD8 0007DB38 54 00 10 3A */ slwi r0, r0, 2
/* 80080BDC 0007DB3C 7C 84 02 14 */ add r4, r4, r0
/* 80080BE0 0007DB40 80 C4 00 00 */ lwz r6, 0(r4)
/* 80080BE4 0007DB44 38 84 00 04 */ addi r4, r4, 4
/* 80080BE8 0007DB48 38 06 00 03 */ addi r0, r6, 3
/* 80080BEC 0007DB4C 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080BF0 0007DB50 7C 00 16 70 */ srawi r0, r0, 2
/* 80080BF4 0007DB54 7C 00 01 94 */ addze r0, r0
/* 80080BF8 0007DB58 54 00 10 3A */ slwi r0, r0, 2
/* 80080BFC 0007DB5C 7C 84 02 14 */ add r4, r4, r0
/* 80080C00 0007DB60 80 C4 00 00 */ lwz r6, 0(r4)
/* 80080C04 0007DB64 38 84 00 04 */ addi r4, r4, 4
/* 80080C08 0007DB68 38 06 00 03 */ addi r0, r6, 3
/* 80080C0C 0007DB6C 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080C10 0007DB70 7C 00 16 70 */ srawi r0, r0, 2
/* 80080C14 0007DB74 7C 00 01 94 */ addze r0, r0
/* 80080C18 0007DB78 54 00 10 3A */ slwi r0, r0, 2
/* 80080C1C 0007DB7C 7C 84 02 14 */ add r4, r4, r0
/* 80080C20 0007DB80 80 C4 00 00 */ lwz r6, 0(r4)
/* 80080C24 0007DB84 38 84 00 04 */ addi r4, r4, 4
/* 80080C28 0007DB88 38 06 00 03 */ addi r0, r6, 3
/* 80080C2C 0007DB8C 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080C30 0007DB90 7C 00 16 70 */ srawi r0, r0, 2
/* 80080C34 0007DB94 7C 00 01 94 */ addze r0, r0
/* 80080C38 0007DB98 54 00 10 3A */ slwi r0, r0, 2
/* 80080C3C 0007DB9C 7C 84 02 14 */ add r4, r4, r0
/* 80080C40 0007DBA0 80 C4 00 00 */ lwz r6, 0(r4)
/* 80080C44 0007DBA4 38 84 00 04 */ addi r4, r4, 4
/* 80080C48 0007DBA8 38 06 00 03 */ addi r0, r6, 3
/* 80080C4C 0007DBAC 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080C50 0007DBB0 7C 00 16 70 */ srawi r0, r0, 2
/* 80080C54 0007DBB4 7C 00 01 94 */ addze r0, r0
/* 80080C58 0007DBB8 54 00 10 3A */ slwi r0, r0, 2
/* 80080C5C 0007DBBC 7C 84 02 14 */ add r4, r4, r0
/* 80080C60 0007DBC0 80 C4 00 00 */ lwz r6, 0(r4)
/* 80080C64 0007DBC4 38 84 00 04 */ addi r4, r4, 4
/* 80080C68 0007DBC8 38 06 00 03 */ addi r0, r6, 3
/* 80080C6C 0007DBCC 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080C70 0007DBD0 7C 00 16 70 */ srawi r0, r0, 2
/* 80080C74 0007DBD4 7C 00 01 94 */ addze r0, r0
/* 80080C78 0007DBD8 54 00 10 3A */ slwi r0, r0, 2
/* 80080C7C 0007DBDC 7C 84 02 14 */ add r4, r4, r0
/* 80080C80 0007DBE0 80 C4 00 00 */ lwz r6, 0(r4)
/* 80080C84 0007DBE4 38 84 00 04 */ addi r4, r4, 4
/* 80080C88 0007DBE8 38 06 00 03 */ addi r0, r6, 3
/* 80080C8C 0007DBEC 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080C90 0007DBF0 7C 00 16 70 */ srawi r0, r0, 2
/* 80080C94 0007DBF4 7C 00 01 94 */ addze r0, r0
/* 80080C98 0007DBF8 54 00 10 3A */ slwi r0, r0, 2
/* 80080C9C 0007DBFC 7C 84 02 14 */ add r4, r4, r0
/* 80080CA0 0007DC00 80 C4 00 00 */ lwz r6, 0(r4)
/* 80080CA4 0007DC04 38 84 00 04 */ addi r4, r4, 4
/* 80080CA8 0007DC08 38 06 00 03 */ addi r0, r6, 3
/* 80080CAC 0007DC0C 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080CB0 0007DC10 7C 00 16 70 */ srawi r0, r0, 2
/* 80080CB4 0007DC14 7C 00 01 94 */ addze r0, r0
/* 80080CB8 0007DC18 54 00 10 3A */ slwi r0, r0, 2
/* 80080CBC 0007DC1C 7C 84 02 14 */ add r4, r4, r0
/* 80080CC0 0007DC20 42 00 FE FC */ bdnz lbl_80080BBC
lbl_80080CC4:
/* 80080CC4 0007DC24 7C 05 18 50 */ subf r0, r5, r3
/* 80080CC8 0007DC28 7C 09 03 A6 */ mtctr r0
/* 80080CCC 0007DC2C 7C 05 18 00 */ cmpw r5, r3
/* 80080CD0 0007DC30 4C 80 00 20 */ bgelr
lbl_80080CD4:
/* 80080CD4 0007DC34 80 64 00 00 */ lwz r3, 0(r4)
/* 80080CD8 0007DC38 38 84 00 04 */ addi r4, r4, 4
/* 80080CDC 0007DC3C 38 03 00 03 */ addi r0, r3, 3
/* 80080CE0 0007DC40 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80080CE4 0007DC44 7C 00 16 70 */ srawi r0, r0, 2
/* 80080CE8 0007DC48 7C 00 01 94 */ addze r0, r0
/* 80080CEC 0007DC4C 54 00 10 3A */ slwi r0, r0, 2
/* 80080CF0 0007DC50 7C 84 02 14 */ add r4, r4, r0
/* 80080CF4 0007DC54 42 00 FF E0 */ bdnz lbl_80080CD4
/* 80080CF8 0007DC58 4E 80 00 20 */ blr
.global GetAreaCenterPoint__8CMapAreaCFv
GetAreaCenterPoint__8CMapAreaCFv:
/* 80080CFC 0007DC5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80080D00 0007DC60 7C 08 02 A6 */ mflr r0
/* 80080D04 0007DC64 38 84 00 10 */ addi r4, r4, 0x10
/* 80080D08 0007DC68 90 01 00 14 */ stw r0, 0x14(r1)
/* 80080D0C 0007DC6C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80080D10 0007DC70 7C 7F 1B 78 */ mr r31, r3
/* 80080D14 0007DC74 48 2B 68 F9 */ bl GetCenterPoint__6CAABoxCFv
/* 80080D18 0007DC78 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80080D1C 0007DC7C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80080D20 0007DC80 7C 08 03 A6 */ mtlr r0
/* 80080D24 0007DC84 38 21 00 10 */ addi r1, r1, 0x10
/* 80080D28 0007DC88 4E 80 00 20 */ blr
.global GetIsVisibleToAutoMapper__8CMapAreaCFbb
GetIsVisibleToAutoMapper__8CMapAreaCFbb:
/* 80080D2C 0007DC8C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80080D30 0007DC90 2C 00 00 02 */ cmpwi r0, 2
/* 80080D34 0007DC94 41 82 00 48 */ beq lbl_80080D7C
/* 80080D38 0007DC98 40 80 00 14 */ bge lbl_80080D4C
/* 80080D3C 0007DC9C 2C 00 00 00 */ cmpwi r0, 0
/* 80080D40 0007DCA0 41 82 00 18 */ beq lbl_80080D58
/* 80080D44 0007DCA4 40 80 00 1C */ bge lbl_80080D60
/* 80080D48 0007DCA8 48 00 00 44 */ b lbl_80080D8C
lbl_80080D4C:
/* 80080D4C 0007DCAC 2C 00 00 04 */ cmpwi r0, 4
/* 80080D50 0007DCB0 40 80 00 3C */ bge lbl_80080D8C
/* 80080D54 0007DCB4 48 00 00 30 */ b lbl_80080D84
lbl_80080D58:
/* 80080D58 0007DCB8 38 60 00 01 */ li r3, 1
/* 80080D5C 0007DCBC 4E 80 00 20 */ blr
lbl_80080D60:
/* 80080D60 0007DCC0 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 80080D64 0007DCC4 38 60 00 00 */ li r3, 0
/* 80080D68 0007DCC8 40 82 00 0C */ bne lbl_80080D74
/* 80080D6C 0007DCCC 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 80080D70 0007DCD0 4D 82 00 20 */ beqlr
lbl_80080D74:
/* 80080D74 0007DCD4 38 60 00 01 */ li r3, 1
/* 80080D78 0007DCD8 4E 80 00 20 */ blr
lbl_80080D7C:
/* 80080D7C 0007DCDC 7C A3 2B 78 */ mr r3, r5
/* 80080D80 0007DCE0 4E 80 00 20 */ blr
lbl_80080D84:
/* 80080D84 0007DCE4 38 60 00 00 */ li r3, 0
/* 80080D88 0007DCE8 4E 80 00 20 */ blr
lbl_80080D8C:
/* 80080D8C 0007DCEC 38 60 00 01 */ li r3, 1
/* 80080D90 0007DCF0 4E 80 00 20 */ blr
.global PostConstruct__8CMapAreaFv
PostConstruct__8CMapAreaFv:
/* 80080D94 0007DCF4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80080D98 0007DCF8 7C 08 02 A6 */ mflr r0
/* 80080D9C 0007DCFC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80080DA0 0007DD00 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80080DA4 0007DD04 7C 7F 1B 78 */ mr r31, r3
/* 80080DA8 0007DD08 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80080DAC 0007DD0C 3B C0 00 00 */ li r30, 0
/* 80080DB0 0007DD10 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80080DB4 0007DD14 3B A0 00 00 */ li r29, 0
/* 80080DB8 0007DD18 80 63 00 44 */ lwz r3, 0x44(r3)
/* 80080DBC 0007DD1C 90 7F 00 38 */ stw r3, 0x38(r31)
/* 80080DC0 0007DD20 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 80080DC4 0007DD24 1C 00 00 50 */ mulli r0, r0, 0x50
/* 80080DC8 0007DD28 7C 63 02 14 */ add r3, r3, r0
/* 80080DCC 0007DD2C 90 7F 00 3C */ stw r3, 0x3c(r31)
/* 80080DD0 0007DD30 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 80080DD4 0007DD34 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80080DD8 0007DD38 7C 63 02 14 */ add r3, r3, r0
/* 80080DDC 0007DD3C 90 7F 00 40 */ stw r3, 0x40(r31)
/* 80080DE0 0007DD40 48 00 00 1C */ b lbl_80080DFC
lbl_80080DE4:
/* 80080DE4 0007DD44 80 1F 00 38 */ lwz r0, 0x38(r31)
/* 80080DE8 0007DD48 80 9F 00 44 */ lwz r4, 0x44(r31)
/* 80080DEC 0007DD4C 7C 60 F2 14 */ add r3, r0, r30
/* 80080DF0 0007DD50 48 06 83 99 */ bl PostConstruct__15CMappableObjectFPCv
/* 80080DF4 0007DD54 3B DE 00 50 */ addi r30, r30, 0x50
/* 80080DF8 0007DD58 3B BD 00 01 */ addi r29, r29, 1
lbl_80080DFC:
/* 80080DFC 0007DD5C 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 80080E00 0007DD60 7C 1D 00 00 */ cmpw r29, r0
/* 80080E04 0007DD64 41 80 FF E0 */ blt lbl_80080DE4
/* 80080E08 0007DD68 80 7F 00 3C */ lwz r3, 0x3c(r31)
/* 80080E0C 0007DD6C 38 80 00 00 */ li r4, 0
/* 80080E10 0007DD70 48 00 00 0C */ b lbl_80080E1C
lbl_80080E14:
/* 80080E14 0007DD74 38 63 00 04 */ addi r3, r3, 4
/* 80080E18 0007DD78 38 84 00 01 */ addi r4, r4, 1
lbl_80080E1C:
/* 80080E1C 0007DD7C 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 80080E20 0007DD80 1C 00 00 03 */ mulli r0, r0, 3
/* 80080E24 0007DD84 7C 04 00 00 */ cmpw r4, r0
/* 80080E28 0007DD88 41 80 FF EC */ blt lbl_80080E14
/* 80080E2C 0007DD8C 3B A0 00 00 */ li r29, 0
/* 80080E30 0007DD90 3B C0 00 00 */ li r30, 0
/* 80080E34 0007DD94 48 00 00 1C */ b lbl_80080E50
lbl_80080E38:
/* 80080E38 0007DD98 80 1F 00 40 */ lwz r0, 0x40(r31)
/* 80080E3C 0007DD9C 80 9F 00 44 */ lwz r4, 0x44(r31)
/* 80080E40 0007DDA0 7C 60 F2 14 */ add r3, r0, r30
/* 80080E44 0007DDA4 4B FF FB B5 */ bl PostConstruct__Q28CMapArea15CMapAreaSurfaceFPCv
/* 80080E48 0007DDA8 3B DE 00 20 */ addi r30, r30, 0x20
/* 80080E4C 0007DDAC 3B BD 00 01 */ addi r29, r29, 1
lbl_80080E50:
/* 80080E50 0007DDB0 80 1F 00 30 */ lwz r0, 0x30(r31)
/* 80080E54 0007DDB4 7C 1D 00 00 */ cmpw r29, r0
/* 80080E58 0007DDB8 41 80 FF E0 */ blt lbl_80080E38
/* 80080E5C 0007DDBC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80080E60 0007DDC0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80080E64 0007DDC4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80080E68 0007DDC8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80080E6C 0007DDCC 7C 08 03 A6 */ mtlr r0
/* 80080E70 0007DDD0 38 21 00 20 */ addi r1, r1, 0x20
/* 80080E74 0007DDD4 4E 80 00 20 */ blr
.global __dt__8CMapAreaFv
__dt__8CMapAreaFv:
/* 80080E78 0007DDD8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80080E7C 0007DDDC 7C 08 02 A6 */ mflr r0
/* 80080E80 0007DDE0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80080E84 0007DDE4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80080E88 0007DDE8 7C 9F 23 78 */ mr r31, r4
/* 80080E8C 0007DDEC 93 C1 00 08 */ stw r30, 8(r1)
/* 80080E90 0007DDF0 7C 7E 1B 79 */ or. r30, r3, r3
/* 80080E94 0007DDF4 41 82 00 4C */ beq lbl_80080EE0
/* 80080E98 0007DDF8 80 BE 00 34 */ lwz r5, 0x34(r30)
/* 80080E9C 0007DDFC 38 00 00 00 */ li r0, 0
/* 80080EA0 0007DE00 80 8D A2 F0 */ lwz r4, lbl_805A8EB0@sda21(r13)
/* 80080EA4 0007DE04 38 60 00 01 */ li r3, 1
/* 80080EA8 0007DE08 38 A5 00 48 */ addi r5, r5, 0x48
/* 80080EAC 0007DE0C 7C 85 20 50 */ subf r4, r5, r4
/* 80080EB0 0007DE10 90 8D A2 F0 */ stw r4, lbl_805A8EB0@sda21(r13)
/* 80080EB4 0007DE14 80 9E 00 44 */ lwz r4, 0x44(r30)
/* 80080EB8 0007DE18 90 1E 00 44 */ stw r0, 0x44(r30)
/* 80080EBC 0007DE1C 48 2E BD 61 */ bl sub_8036cc1c
/* 80080EC0 0007DE20 34 1E 00 44 */ addic. r0, r30, 0x44
/* 80080EC4 0007DE24 41 82 00 0C */ beq lbl_80080ED0
/* 80080EC8 0007DE28 80 7E 00 44 */ lwz r3, 0x44(r30)
/* 80080ECC 0007DE2C 48 29 4A 65 */ bl Free__7CMemoryFPCv
lbl_80080ED0:
/* 80080ED0 0007DE30 7F E0 07 35 */ extsh. r0, r31
/* 80080ED4 0007DE34 40 81 00 0C */ ble lbl_80080EE0
/* 80080ED8 0007DE38 7F C3 F3 78 */ mr r3, r30
/* 80080EDC 0007DE3C 48 29 4A 55 */ bl Free__7CMemoryFPCv
lbl_80080EE0:
/* 80080EE0 0007DE40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80080EE4 0007DE44 7F C3 F3 78 */ mr r3, r30
/* 80080EE8 0007DE48 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80080EEC 0007DE4C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80080EF0 0007DE50 7C 08 03 A6 */ mtlr r0
/* 80080EF4 0007DE54 38 21 00 10 */ addi r1, r1, 0x10
/* 80080EF8 0007DE58 4E 80 00 20 */ blr
.global __ct__8CMapAreaFR12CInputStreamUi
__ct__8CMapAreaFR12CInputStreamUi:
/* 80080EFC 0007DE5C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80080F00 0007DE60 7C 08 02 A6 */ mflr r0
/* 80080F04 0007DE64 90 01 00 24 */ stw r0, 0x24(r1)
/* 80080F08 0007DE68 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80080F0C 0007DE6C 7C BF 2B 78 */ mr r31, r5
/* 80080F10 0007DE70 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80080F14 0007DE74 7C 9E 23 78 */ mr r30, r4
/* 80080F18 0007DE78 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80080F1C 0007DE7C 7C 7D 1B 78 */ mr r29, r3
/* 80080F20 0007DE80 7F C3 F3 78 */ mr r3, r30
/* 80080F24 0007DE84 48 2B DD 61 */ bl ReadLong__12CInputStreamFv
/* 80080F28 0007DE88 90 7D 00 00 */ stw r3, 0(r29)
/* 80080F2C 0007DE8C 7F C3 F3 78 */ mr r3, r30
/* 80080F30 0007DE90 48 2B DD 55 */ bl ReadLong__12CInputStreamFv
/* 80080F34 0007DE94 90 7D 00 04 */ stw r3, 4(r29)
/* 80080F38 0007DE98 7F C3 F3 78 */ mr r3, r30
/* 80080F3C 0007DE9C 48 2B DD 49 */ bl ReadLong__12CInputStreamFv
/* 80080F40 0007DEA0 90 7D 00 08 */ stw r3, 8(r29)
/* 80080F44 0007DEA4 7F C3 F3 78 */ mr r3, r30
/* 80080F48 0007DEA8 48 2B DD 3D */ bl ReadLong__12CInputStreamFv
/* 80080F4C 0007DEAC 90 7D 00 0C */ stw r3, 0xc(r29)
/* 80080F50 0007DEB0 7F C4 F3 78 */ mr r4, r30
/* 80080F54 0007DEB4 38 7D 00 10 */ addi r3, r29, 0x10
/* 80080F58 0007DEB8 48 2B 75 E5 */ bl __ct__6CAABoxFR12CInputStream
/* 80080F5C 0007DEBC 7F C3 F3 78 */ mr r3, r30
/* 80080F60 0007DEC0 48 2B DD 25 */ bl ReadLong__12CInputStreamFv
/* 80080F64 0007DEC4 90 7D 00 28 */ stw r3, 0x28(r29)
/* 80080F68 0007DEC8 7F C3 F3 78 */ mr r3, r30
/* 80080F6C 0007DECC 48 2B DD 19 */ bl ReadLong__12CInputStreamFv
/* 80080F70 0007DED0 90 7D 00 2C */ stw r3, 0x2c(r29)
/* 80080F74 0007DED4 7F C3 F3 78 */ mr r3, r30
/* 80080F78 0007DED8 48 2B DD 0D */ bl ReadLong__12CInputStreamFv
/* 80080F7C 0007DEDC 90 7D 00 30 */ stw r3, 0x30(r29)
/* 80080F80 0007DEE0 38 80 00 00 */ li r4, 0
/* 80080F84 0007DEE4 38 1F FF CC */ addi r0, r31, -52
/* 80080F88 0007DEE8 3C 60 80 3D */ lis r3, lbl_803CD66C@ha
/* 80080F8C 0007DEEC 90 9D 00 44 */ stw r4, 0x44(r29)
/* 80080F90 0007DEF0 38 83 D6 6C */ addi r4, r3, lbl_803CD66C@l
/* 80080F94 0007DEF4 38 A0 00 00 */ li r5, 0
/* 80080F98 0007DEF8 90 1D 00 34 */ stw r0, 0x34(r29)
/* 80080F9C 0007DEFC 80 7D 00 34 */ lwz r3, 0x34(r29)
/* 80080FA0 0007DF00 48 29 48 79 */ bl __nwa__FUlPCcPCc
/* 80080FA4 0007DF04 7C 7F 1B 78 */ mr r31, r3
/* 80080FA8 0007DF08 80 7D 00 44 */ lwz r3, 0x44(r29)
/* 80080FAC 0007DF0C 48 29 49 85 */ bl Free__7CMemoryFPCv
/* 80080FB0 0007DF10 93 FD 00 44 */ stw r31, 0x44(r29)
/* 80080FB4 0007DF14 7F C3 F3 78 */ mr r3, r30
/* 80080FB8 0007DF18 80 9D 00 44 */ lwz r4, 0x44(r29)
/* 80080FBC 0007DF1C 80 BD 00 34 */ lwz r5, 0x34(r29)
/* 80080FC0 0007DF20 48 2B DF 95 */ bl Get__12CInputStreamFPvUl
/* 80080FC4 0007DF24 7F A3 EB 78 */ mr r3, r29
/* 80080FC8 0007DF28 4B FF FD CD */ bl PostConstruct__8CMapAreaFv
/* 80080FCC 0007DF2C 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 80080FD0 0007DF30 80 7D 00 3C */ lwz r3, 0x3c(r29)
/* 80080FD4 0007DF34 1C 80 00 0C */ mulli r4, r0, 0xc
/* 80080FD8 0007DF38 48 2F DA D9 */ bl DCFlushRange
/* 80080FDC 0007DF3C 80 8D A2 F0 */ lwz r4, lbl_805A8EB0@sda21(r13)
/* 80080FE0 0007DF40 7F A3 EB 78 */ mr r3, r29
/* 80080FE4 0007DF44 80 1D 00 34 */ lwz r0, 0x34(r29)
/* 80080FE8 0007DF48 7C 80 22 14 */ add r4, r0, r4
/* 80080FEC 0007DF4C 38 04 00 48 */ addi r0, r4, 0x48
/* 80080FF0 0007DF50 90 0D A2 F0 */ stw r0, lbl_805A8EB0@sda21(r13)
/* 80080FF4 0007DF54 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80080FF8 0007DF58 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80080FFC 0007DF5C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80081000 0007DF60 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80081004 0007DF64 7C 08 03 A6 */ mtlr r0
/* 80081008 0007DF68 38 21 00 20 */ addi r1, r1, 0x20
/* 8008100C 0007DF6C 4E 80 00 20 */ blr
.global __sinit_CMapArea_cpp
__sinit_CMapArea_cpp:
/* 80081010 0007DF70 C0 42 89 8C */ lfs f2, lbl_805AA6AC@sda21(r2)
/* 80081014 0007DF74 3C 60 80 47 */ lis r3, lbl_8046C3E0@ha
/* 80081018 0007DF78 C0 22 89 A8 */ lfs f1, lbl_805AA6C8@sda21(r2)
/* 8008101C 0007DF7C D4 43 C3 E0 */ stfsu f2, lbl_8046C3E0@l(r3)
/* 80081020 0007DF80 C0 02 89 AC */ lfs f0, lbl_805AA6CC@sda21(r2)
/* 80081024 0007DF84 D0 43 00 04 */ stfs f2, 4(r3)
/* 80081028 0007DF88 D0 23 00 08 */ stfs f1, 8(r3)
/* 8008102C 0007DF8C D0 43 00 0C */ stfs f2, 0xc(r3)
/* 80081030 0007DF90 D0 43 00 10 */ stfs f2, 0x10(r3)
/* 80081034 0007DF94 D0 43 00 14 */ stfs f2, 0x14(r3)
/* 80081038 0007DF98 D0 43 00 18 */ stfs f2, 0x18(r3)
/* 8008103C 0007DF9C D0 43 00 1C */ stfs f2, 0x1c(r3)
/* 80081040 0007DFA0 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 80081044 0007DFA4 4E 80 00 20 */ blr