.include "macros.inc" .section .text, "ax" # 0x80003640 - 0x803CB1C0 .global EnsureWorldPakReady__8CPakFileFv EnsureWorldPakReady__8CPakFileFv: /* 8036723C 0036419C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80367240 003641A0 7C 08 02 A6 */ mflr r0 /* 80367244 003641A4 90 01 00 34 */ stw r0, 0x34(r1) /* 80367248 003641A8 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8036724C 003641AC 7C 7F 1B 78 */ mr r31, r3 /* 80367250 003641B0 93 C1 00 28 */ stw r30, 0x28(r1) /* 80367254 003641B4 93 A1 00 24 */ stw r29, 0x24(r1) /* 80367258 003641B8 93 81 00 20 */ stw r28, 0x20(r1) /* 8036725C 003641BC 88 63 00 28 */ lbz r3, 0x28(r3) /* 80367260 003641C0 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f /* 80367264 003641C4 41 82 01 A8 */ beq lbl_8036740C /* 80367268 003641C8 54 60 E7 FF */ rlwinm. r0, r3, 0x1c, 0x1f, 0x1f /* 8036726C 003641CC 41 82 01 A0 */ beq lbl_8036740C /* 80367270 003641D0 80 7F 00 4C */ lwz r3, 0x4c(r31) /* 80367274 003641D4 38 81 00 08 */ addi r4, r1, 8 /* 80367278 003641D8 80 0D 9E 94 */ lwz r0, lbl_805A8A54@sda21(r13) /* 8036727C 003641DC 1C 63 00 0A */ mulli r3, r3, 0xa /* 80367280 003641E0 38 63 00 1F */ addi r3, r3, 0x1f /* 80367284 003641E4 54 63 00 34 */ rlwinm r3, r3, 0, 0, 0x1a /* 80367288 003641E8 38 63 00 09 */ addi r3, r3, 9 /* 8036728C 003641EC 7C 03 00 00 */ cmpw r3, r0 /* 80367290 003641F0 90 61 00 08 */ stw r3, 8(r1) /* 80367294 003641F4 40 80 00 08 */ bge lbl_8036729C /* 80367298 003641F8 38 8D 9E 94 */ addi r4, r13, lbl_805A8A54@sda21 lbl_8036729C: /* 8036729C 003641FC 3C 60 CC CD */ lis r3, 0xCCCCCCCD@ha /* 803672A0 00364200 80 04 00 00 */ lwz r0, 0(r4) /* 803672A4 00364204 38 83 CC CD */ addi r4, r3, 0xCCCCCCCD@l /* 803672A8 00364208 38 7F 00 74 */ addi r3, r31, 0x74 /* 803672AC 0036420C 7C 04 00 16 */ mulhwu r0, r4, r0 /* 803672B0 00364210 54 04 E8 FE */ srwi r4, r0, 3 /* 803672B4 00364214 48 00 18 45 */ bl sub_80368af8 /* 803672B8 00364218 3B A0 00 00 */ li r29, 0 /* 803672BC 0036421C 3F C0 54 58 */ lis r30, 0x5458 /* 803672C0 00364220 48 00 00 84 */ b lbl_80367344 lbl_803672C4: /* 803672C4 00364224 7F A4 EB 78 */ mr r4, r29 /* 803672C8 00364228 38 61 00 0C */ addi r3, r1, 0xc /* 803672CC 0036422C 38 BE 54 52 */ addi r5, r30, 0x5452 /* 803672D0 00364230 38 C0 00 00 */ li r6, 0 /* 803672D4 00364234 38 E0 00 00 */ li r7, 0 /* 803672D8 00364238 39 00 00 00 */ li r8, 0 /* 803672DC 0036423C 48 00 14 09 */ bl __ct__Q28CPakFile8SResInfoFUiUiUiUi /* 803672E0 00364240 80 1F 00 78 */ lwz r0, 0x78(r31) /* 803672E4 00364244 80 BF 00 7C */ lwz r5, 0x7c(r31) /* 803672E8 00364248 7C 00 28 00 */ cmpw r0, r5 /* 803672EC 0036424C 41 80 00 1C */ blt lbl_80367308 /* 803672F0 00364250 2C 05 00 00 */ cmpwi r5, 0 /* 803672F4 00364254 38 7F 00 74 */ addi r3, r31, 0x74 /* 803672F8 00364258 38 80 00 04 */ li r4, 4 /* 803672FC 0036425C 41 82 00 08 */ beq lbl_80367304 /* 80367300 00364260 54 A4 08 3C */ slwi r4, r5, 1 lbl_80367304: /* 80367304 00364264 48 00 17 F5 */ bl sub_80368af8 lbl_80367308: /* 80367308 00364268 80 1F 00 78 */ lwz r0, 0x78(r31) /* 8036730C 0036426C 80 7F 00 80 */ lwz r3, 0x80(r31) /* 80367310 00364270 1C 00 00 0A */ mulli r0, r0, 0xa /* 80367314 00364274 7C 63 02 15 */ add. r3, r3, r0 /* 80367318 00364278 41 82 00 1C */ beq lbl_80367334 /* 8036731C 0036427C 80 01 00 0C */ lwz r0, 0xc(r1) /* 80367320 00364280 90 03 00 00 */ stw r0, 0(r3) /* 80367324 00364284 80 01 00 10 */ lwz r0, 0x10(r1) /* 80367328 00364288 90 03 00 04 */ stw r0, 4(r3) /* 8036732C 0036428C A0 01 00 14 */ lhz r0, 0x14(r1) /* 80367330 00364290 B0 03 00 08 */ sth r0, 8(r3) lbl_80367334: /* 80367334 00364294 80 7F 00 78 */ lwz r3, 0x78(r31) /* 80367338 00364298 3B BD 00 01 */ addi r29, r29, 1 /* 8036733C 0036429C 38 03 00 01 */ addi r0, r3, 1 /* 80367340 003642A0 90 1F 00 78 */ stw r0, 0x78(r31) lbl_80367344: /* 80367344 003642A4 80 1F 00 4C */ lwz r0, 0x4c(r31) /* 80367348 003642A8 7C 1D 00 00 */ cmpw r29, r0 /* 8036734C 003642AC 41 80 FF 78 */ blt lbl_803672C4 /* 80367350 003642B0 1C A0 00 0A */ mulli r5, r0, 0xa /* 80367354 003642B4 80 7F 00 50 */ lwz r3, 0x50(r31) /* 80367358 003642B8 80 9F 00 80 */ lwz r4, 0x80(r31) /* 8036735C 003642BC 38 C0 00 01 */ li r6, 1 /* 80367360 003642C0 38 05 00 1F */ addi r0, r5, 0x1f /* 80367364 003642C4 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a /* 80367368 003642C8 4B FD D4 E9 */ bl DMAToMRAM__12CARAMManagerFPvPvUiQ212CARAMManager12EDMAPriority /* 8036736C 003642CC 4B FD D3 DD */ bl WaitForDMACompletion__12CARAMManagerFUi /* 80367370 003642D0 88 1F 00 28 */ lbz r0, 0x28(r31) /* 80367374 003642D4 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80367378 003642D8 41 82 00 84 */ beq lbl_803673FC /* 8036737C 003642DC 80 9F 00 4C */ lwz r4, 0x4c(r31) /* 80367380 003642E0 38 7F 00 64 */ addi r3, r31, 0x64 /* 80367384 003642E4 4B CF C7 A1 */ bl "reserve__Q24rstl37vectorFi" /* 80367388 003642E8 3B 80 00 00 */ li r28, 0 /* 8036738C 003642EC 3B A0 00 00 */ li r29, 0 /* 80367390 003642F0 48 00 00 60 */ b lbl_803673F0 lbl_80367394: /* 80367394 003642F4 80 1F 00 68 */ lwz r0, 0x68(r31) /* 80367398 003642F8 80 BF 00 6C */ lwz r5, 0x6c(r31) /* 8036739C 003642FC 80 7F 00 80 */ lwz r3, 0x80(r31) /* 803673A0 00364300 7C 00 28 00 */ cmpw r0, r5 /* 803673A4 00364304 7F C3 E8 2E */ lwzx r30, r3, r29 /* 803673A8 00364308 41 80 00 1C */ blt lbl_803673C4 /* 803673AC 0036430C 2C 05 00 00 */ cmpwi r5, 0 /* 803673B0 00364310 38 7F 00 64 */ addi r3, r31, 0x64 /* 803673B4 00364314 38 80 00 04 */ li r4, 4 /* 803673B8 00364318 41 82 00 08 */ beq lbl_803673C0 /* 803673BC 0036431C 54 A4 08 3C */ slwi r4, r5, 1 lbl_803673C0: /* 803673C0 00364320 4B CF C7 65 */ bl "reserve__Q24rstl37vectorFi" lbl_803673C4: /* 803673C4 00364324 80 1F 00 68 */ lwz r0, 0x68(r31) /* 803673C8 00364328 80 7F 00 70 */ lwz r3, 0x70(r31) /* 803673CC 0036432C 54 00 10 3A */ slwi r0, r0, 2 /* 803673D0 00364330 7C 63 02 15 */ add. r3, r3, r0 /* 803673D4 00364334 41 82 00 08 */ beq lbl_803673DC /* 803673D8 00364338 93 C3 00 00 */ stw r30, 0(r3) lbl_803673DC: /* 803673DC 0036433C 80 7F 00 68 */ lwz r3, 0x68(r31) /* 803673E0 00364340 3B BD 00 0A */ addi r29, r29, 0xa /* 803673E4 00364344 3B 9C 00 01 */ addi r28, r28, 1 /* 803673E8 00364348 38 03 00 01 */ addi r0, r3, 1 /* 803673EC 0036434C 90 1F 00 68 */ stw r0, 0x68(r31) lbl_803673F0: /* 803673F0 00364350 80 1F 00 4C */ lwz r0, 0x4c(r31) /* 803673F4 00364354 7C 1C 00 00 */ cmpw r28, r0 /* 803673F8 00364358 41 80 FF 9C */ blt lbl_80367394 lbl_803673FC: /* 803673FC 0036435C 88 1F 00 28 */ lbz r0, 0x28(r31) /* 80367400 00364360 38 60 00 00 */ li r3, 0 /* 80367404 00364364 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b /* 80367408 00364368 98 1F 00 28 */ stb r0, 0x28(r31) lbl_8036740C: /* 8036740C 0036436C 80 01 00 34 */ lwz r0, 0x34(r1) /* 80367410 00364370 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80367414 00364374 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80367418 00364378 83 A1 00 24 */ lwz r29, 0x24(r1) /* 8036741C 0036437C 83 81 00 20 */ lwz r28, 0x20(r1) /* 80367420 00364380 7C 08 03 A6 */ mtlr r0 /* 80367424 00364384 38 21 00 30 */ addi r1, r1, 0x30 /* 80367428 00364388 4E 80 00 20 */ blr .global sub_8036742c sub_8036742c: /* 8036742C 0036438C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80367430 00364390 7C 08 02 A6 */ mflr r0 /* 80367434 00364394 90 01 00 54 */ stw r0, 0x54(r1) /* 80367438 00364398 93 E1 00 4C */ stw r31, 0x4c(r1) /* 8036743C 0036439C 7C 7F 1B 78 */ mr r31, r3 /* 80367440 003643A0 88 63 00 28 */ lbz r3, 0x28(r3) /* 80367444 003643A4 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f /* 80367448 003643A8 41 82 00 C8 */ beq lbl_80367510 /* 8036744C 003643AC 38 00 00 01 */ li r0, 1 /* 80367450 003643B0 38 81 00 38 */ addi r4, r1, 0x38 /* 80367454 003643B4 50 03 26 F6 */ rlwimi r3, r0, 4, 0x1b, 0x1b /* 80367458 003643B8 98 7F 00 28 */ stb r3, 0x28(r31) /* 8036745C 003643BC 38 00 00 00 */ li r0, 0 /* 80367460 003643C0 38 7F 00 64 */ addi r3, r31, 0x64 /* 80367464 003643C4 90 01 00 3C */ stw r0, 0x3c(r1) /* 80367468 003643C8 90 01 00 40 */ stw r0, 0x40(r1) /* 8036746C 003643CC 90 01 00 44 */ stw r0, 0x44(r1) /* 80367470 003643D0 4B CF C2 8D */ bl "clear__Q24rstl37vectorFv" /* 80367474 003643D4 80 01 00 3C */ lwz r0, 0x3c(r1) /* 80367478 003643D8 80 61 00 44 */ lwz r3, 0x44(r1) /* 8036747C 003643DC 54 00 10 3A */ slwi r0, r0, 2 /* 80367480 003643E0 7C 03 02 14 */ add r0, r3, r0 /* 80367484 003643E4 90 61 00 1C */ stw r3, 0x1c(r1) /* 80367488 003643E8 7C 64 1B 78 */ mr r4, r3 /* 8036748C 003643EC 90 01 00 24 */ stw r0, 0x24(r1) /* 80367490 003643F0 90 01 00 20 */ stw r0, 0x20(r1) /* 80367494 003643F4 90 61 00 18 */ stw r3, 0x18(r1) /* 80367498 003643F8 48 00 00 08 */ b lbl_803674A0 lbl_8036749C: /* 8036749C 003643FC 38 84 00 04 */ addi r4, r4, 4 lbl_803674A0: /* 803674A0 00364400 7C 04 00 40 */ cmplw r4, r0 /* 803674A4 00364404 40 82 FF F8 */ bne lbl_8036749C /* 803674A8 00364408 28 03 00 00 */ cmplwi r3, 0 /* 803674AC 0036440C 41 82 00 08 */ beq lbl_803674B4 /* 803674B0 00364410 4B FA E4 81 */ bl Free__7CMemoryFPCv lbl_803674B4: /* 803674B4 00364414 38 00 00 00 */ li r0, 0 /* 803674B8 00364418 38 7F 00 74 */ addi r3, r31, 0x74 /* 803674BC 0036441C 90 01 00 2C */ stw r0, 0x2c(r1) /* 803674C0 00364420 38 81 00 28 */ addi r4, r1, 0x28 /* 803674C4 00364424 90 01 00 30 */ stw r0, 0x30(r1) /* 803674C8 00364428 90 01 00 34 */ stw r0, 0x34(r1) /* 803674CC 0036442C 48 00 00 59 */ bl sub_80367524 /* 803674D0 00364430 80 01 00 2C */ lwz r0, 0x2c(r1) /* 803674D4 00364434 80 61 00 34 */ lwz r3, 0x34(r1) /* 803674D8 00364438 1C 00 00 0A */ mulli r0, r0, 0xa /* 803674DC 0036443C 90 61 00 0C */ stw r3, 0xc(r1) /* 803674E0 00364440 7C 64 1B 78 */ mr r4, r3 /* 803674E4 00364444 7C 03 02 14 */ add r0, r3, r0 /* 803674E8 00364448 90 61 00 08 */ stw r3, 8(r1) /* 803674EC 0036444C 90 01 00 14 */ stw r0, 0x14(r1) /* 803674F0 00364450 90 01 00 10 */ stw r0, 0x10(r1) /* 803674F4 00364454 48 00 00 08 */ b lbl_803674FC lbl_803674F8: /* 803674F8 00364458 38 84 00 0A */ addi r4, r4, 0xa lbl_803674FC: /* 803674FC 0036445C 7C 04 00 40 */ cmplw r4, r0 /* 80367500 00364460 40 82 FF F8 */ bne lbl_803674F8 /* 80367504 00364464 28 03 00 00 */ cmplwi r3, 0 /* 80367508 00364468 41 82 00 08 */ beq lbl_80367510 /* 8036750C 0036446C 4B FA E4 25 */ bl Free__7CMemoryFPCv lbl_80367510: /* 80367510 00364470 80 01 00 54 */ lwz r0, 0x54(r1) /* 80367514 00364474 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 80367518 00364478 7C 08 03 A6 */ mtlr r0 /* 8036751C 0036447C 38 21 00 50 */ addi r1, r1, 0x50 /* 80367520 00364480 4E 80 00 20 */ blr .global sub_80367524 sub_80367524: /* 80367524 00364484 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80367528 00364488 7C 08 02 A6 */ mflr r0 /* 8036752C 0036448C 90 01 00 24 */ stw r0, 0x24(r1) /* 80367530 00364490 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80367534 00364494 7C 9F 23 78 */ mr r31, r4 /* 80367538 00364498 93 C1 00 18 */ stw r30, 0x18(r1) /* 8036753C 0036449C 7C 7E 1B 78 */ mr r30, r3 /* 80367540 003644A0 7C 1E F8 40 */ cmplw r30, r31 /* 80367544 003644A4 40 82 00 08 */ bne lbl_8036754C /* 80367548 003644A8 48 00 00 C8 */ b lbl_80367610 lbl_8036754C: /* 8036754C 003644AC 80 1E 00 04 */ lwz r0, 4(r30) /* 80367550 003644B0 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80367554 003644B4 1C 00 00 0A */ mulli r0, r0, 0xa /* 80367558 003644B8 90 61 00 0C */ stw r3, 0xc(r1) /* 8036755C 003644BC 7C 03 02 14 */ add r0, r3, r0 /* 80367560 003644C0 90 61 00 08 */ stw r3, 8(r1) /* 80367564 003644C4 90 01 00 14 */ stw r0, 0x14(r1) /* 80367568 003644C8 90 01 00 10 */ stw r0, 0x10(r1) /* 8036756C 003644CC 48 00 00 08 */ b lbl_80367574 lbl_80367570: /* 80367570 003644D0 38 63 00 0A */ addi r3, r3, 0xa lbl_80367574: /* 80367574 003644D4 7C 03 00 40 */ cmplw r3, r0 /* 80367578 003644D8 40 82 FF F8 */ bne lbl_80367570 /* 8036757C 003644DC 38 00 00 00 */ li r0, 0 /* 80367580 003644E0 90 1E 00 04 */ stw r0, 4(r30) /* 80367584 003644E4 80 9F 00 04 */ lwz r4, 4(r31) /* 80367588 003644E8 2C 04 00 00 */ cmpwi r4, 0 /* 8036758C 003644EC 40 82 00 28 */ bne lbl_803675B4 /* 80367590 003644F0 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80367594 003644F4 28 03 00 00 */ cmplwi r3, 0 /* 80367598 003644F8 41 82 00 08 */ beq lbl_803675A0 /* 8036759C 003644FC 4B FA E3 95 */ bl Free__7CMemoryFPCv lbl_803675A0: /* 803675A0 00364500 38 00 00 00 */ li r0, 0 /* 803675A4 00364504 90 1E 00 04 */ stw r0, 4(r30) /* 803675A8 00364508 90 1E 00 08 */ stw r0, 8(r30) /* 803675AC 0036450C 90 1E 00 0C */ stw r0, 0xc(r30) /* 803675B0 00364510 48 00 00 5C */ b lbl_8036760C lbl_803675B4: /* 803675B4 00364514 7F C3 F3 78 */ mr r3, r30 /* 803675B8 00364518 48 00 15 41 */ bl sub_80368af8 /* 803675BC 0036451C 80 1F 00 04 */ lwz r0, 4(r31) /* 803675C0 00364520 80 BF 00 0C */ lwz r5, 0xc(r31) /* 803675C4 00364524 1C 00 00 0A */ mulli r0, r0, 0xa /* 803675C8 00364528 80 7E 00 0C */ lwz r3, 0xc(r30) /* 803675CC 0036452C 7C 85 02 14 */ add r4, r5, r0 /* 803675D0 00364530 48 00 00 2C */ b lbl_803675FC lbl_803675D4: /* 803675D4 00364534 28 03 00 00 */ cmplwi r3, 0 /* 803675D8 00364538 41 82 00 1C */ beq lbl_803675F4 /* 803675DC 0036453C 80 05 00 00 */ lwz r0, 0(r5) /* 803675E0 00364540 90 03 00 00 */ stw r0, 0(r3) /* 803675E4 00364544 80 05 00 04 */ lwz r0, 4(r5) /* 803675E8 00364548 90 03 00 04 */ stw r0, 4(r3) /* 803675EC 0036454C A0 05 00 08 */ lhz r0, 8(r5) /* 803675F0 00364550 B0 03 00 08 */ sth r0, 8(r3) lbl_803675F4: /* 803675F4 00364554 38 63 00 0A */ addi r3, r3, 0xa /* 803675F8 00364558 38 A5 00 0A */ addi r5, r5, 0xa lbl_803675FC: /* 803675FC 0036455C 7C 05 20 40 */ cmplw r5, r4 /* 80367600 00364560 40 82 FF D4 */ bne lbl_803675D4 /* 80367604 00364564 80 1F 00 04 */ lwz r0, 4(r31) /* 80367608 00364568 90 1E 00 04 */ stw r0, 4(r30) lbl_8036760C: /* 8036760C 0036456C 7F C3 F3 78 */ mr r3, r30 lbl_80367610: /* 80367610 00364570 80 01 00 24 */ lwz r0, 0x24(r1) /* 80367614 00364574 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80367618 00364578 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8036761C 0036457C 7C 08 03 A6 */ mtlr r0 /* 80367620 00364580 38 21 00 20 */ addi r1, r1, 0x20 /* 80367624 00364584 4E 80 00 20 */ blr .global GetDepList__8CPakFileCFv GetDepList__8CPakFileCFv: /* 80367628 00364588 80 03 00 68 */ lwz r0, 0x68(r3) /* 8036762C 0036458C 2C 00 00 00 */ cmpwi r0, 0 /* 80367630 00364590 41 82 00 0C */ beq lbl_8036763C /* 80367634 00364594 38 63 00 64 */ addi r3, r3, 0x64 /* 80367638 00364598 4E 80 00 20 */ blr lbl_8036763C: /* 8036763C 0036459C 38 60 00 00 */ li r3, 0 /* 80367640 003645A0 4E 80 00 20 */ blr .global GetResIdByName__8CPakFileCFPCc GetResIdByName__8CPakFileCFPCc: /* 80367644 003645A4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80367648 003645A8 7C 08 02 A6 */ mflr r0 /* 8036764C 003645AC 90 01 00 34 */ stw r0, 0x34(r1) /* 80367650 003645B0 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80367654 003645B4 93 C1 00 28 */ stw r30, 0x28(r1) /* 80367658 003645B8 93 A1 00 24 */ stw r29, 0x24(r1) /* 8036765C 003645BC 7C 9D 23 78 */ mr r29, r4 /* 80367660 003645C0 93 81 00 20 */ stw r28, 0x20(r1) /* 80367664 003645C4 7C 7C 1B 78 */ mr r28, r3 /* 80367668 003645C8 88 03 00 28 */ lbz r0, 0x28(r3) /* 8036766C 003645CC 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 80367670 003645D0 40 82 00 5C */ bne lbl_803676CC /* 80367674 003645D4 83 DC 00 60 */ lwz r30, 0x60(r28) /* 80367678 003645D8 48 00 00 3C */ b lbl_803676B4 lbl_8036767C: /* 8036767C 003645DC 7F A4 EB 78 */ mr r4, r29 /* 80367680 003645E0 38 61 00 08 */ addi r3, r1, 8 /* 80367684 003645E4 4B C9 D6 35 */ bl string_l__4rstlFPCc /* 80367688 003645E8 7F C3 F3 78 */ mr r3, r30 /* 8036768C 003645EC 38 81 00 08 */ addi r4, r1, 8 /* 80367690 003645F0 4B FD 73 5D */ bl "CompareCaseInsensitive__13CStringExtrasFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>RCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80367694 003645F4 7C 7F 1B 78 */ mr r31, r3 /* 80367698 003645F8 38 61 00 08 */ addi r3, r1, 8 /* 8036769C 003645FC 4B FD 64 45 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 803676A0 00364600 2C 1F 00 00 */ cmpwi r31, 0 /* 803676A4 00364604 40 82 00 0C */ bne lbl_803676B0 /* 803676A8 00364608 38 7E 00 10 */ addi r3, r30, 0x10 /* 803676AC 0036460C 48 00 00 24 */ b lbl_803676D0 lbl_803676B0: /* 803676B0 00364610 3B DE 00 18 */ addi r30, r30, 0x18 lbl_803676B4: /* 803676B4 00364614 80 1C 00 58 */ lwz r0, 0x58(r28) /* 803676B8 00364618 80 7C 00 60 */ lwz r3, 0x60(r28) /* 803676BC 0036461C 1C 00 00 18 */ mulli r0, r0, 0x18 /* 803676C0 00364620 7C 03 02 14 */ add r0, r3, r0 /* 803676C4 00364624 7C 1E 00 40 */ cmplw r30, r0 /* 803676C8 00364628 40 82 FF B4 */ bne lbl_8036767C lbl_803676CC: /* 803676CC 0036462C 38 60 00 00 */ li r3, 0 lbl_803676D0: /* 803676D0 00364630 80 01 00 34 */ lwz r0, 0x34(r1) /* 803676D4 00364634 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 803676D8 00364638 83 C1 00 28 */ lwz r30, 0x28(r1) /* 803676DC 0036463C 83 A1 00 24 */ lwz r29, 0x24(r1) /* 803676E0 00364640 83 81 00 20 */ lwz r28, 0x20(r1) /* 803676E4 00364644 7C 08 03 A6 */ mtlr r0 /* 803676E8 00364648 38 21 00 30 */ addi r1, r1, 0x30 /* 803676EC 0036464C 4E 80 00 20 */ blr .global GetResInfoForLoadPreferForward__8CPakFileCFUi GetResInfoForLoadPreferForward__8CPakFileCFUi: /* 803676F0 00364650 94 21 FF B0 */ stwu r1, -0x50(r1) /* 803676F4 00364654 7C 08 02 A6 */ mflr r0 /* 803676F8 00364658 90 01 00 54 */ stw r0, 0x54(r1) /* 803676FC 0036465C BF 61 00 3C */ stmw r27, 0x3c(r1) /* 80367700 00364660 7C 7E 1B 78 */ mr r30, r3 /* 80367704 00364664 7C 9F 23 78 */ mr r31, r4 /* 80367708 00364668 88 03 00 28 */ lbz r0, 0x28(r3) /* 8036770C 0036466C 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 80367710 00364670 41 82 00 0C */ beq lbl_8036771C /* 80367714 00364674 38 60 00 00 */ li r3, 0 /* 80367718 00364678 48 00 01 40 */ b lbl_80367858 lbl_8036771C: /* 8036771C 0036467C 3C A0 54 58 */ lis r5, 0x54585452@ha /* 80367720 00364680 38 61 00 20 */ addi r3, r1, 0x20 /* 80367724 00364684 38 A5 54 52 */ addi r5, r5, 0x54585452@l /* 80367728 00364688 38 C0 00 00 */ li r6, 0 /* 8036772C 0036468C 38 E0 00 00 */ li r7, 0 /* 80367730 00364690 39 00 00 00 */ li r8, 0 /* 80367734 00364694 48 00 0F B1 */ bl __ct__Q28CPakFile8SResInfoFUiUiUiUi /* 80367738 00364698 88 0D AA DC */ lbz r0, lbl_805A969C@sda21(r13) /* 8036773C 0036469C 38 61 00 1C */ addi r3, r1, 0x1c /* 80367740 003646A0 38 81 00 18 */ addi r4, r1, 0x18 /* 80367744 003646A4 38 A1 00 10 */ addi r5, r1, 0x10 /* 80367748 003646A8 98 01 00 08 */ stb r0, 8(r1) /* 8036774C 003646AC 38 C1 00 20 */ addi r6, r1, 0x20 /* 80367750 003646B0 38 E1 00 08 */ addi r7, r1, 8 /* 80367754 003646B4 80 1E 00 78 */ lwz r0, 0x78(r30) /* 80367758 003646B8 81 1E 00 80 */ lwz r8, 0x80(r30) /* 8036775C 003646BC 1C 00 00 0A */ mulli r0, r0, 0xa /* 80367760 003646C0 7D 08 02 14 */ add r8, r8, r0 /* 80367764 003646C4 91 01 00 10 */ stw r8, 0x10(r1) /* 80367768 003646C8 80 1E 00 80 */ lwz r0, 0x80(r30) /* 8036776C 003646CC 91 01 00 0C */ stw r8, 0xc(r1) /* 80367770 003646D0 90 01 00 14 */ stw r0, 0x14(r1) /* 80367774 003646D4 90 01 00 18 */ stw r0, 0x18(r1) /* 80367778 003646D8 48 00 12 C1 */ bl sub_80368a38 /* 8036777C 003646DC 80 1E 00 78 */ lwz r0, 0x78(r30) /* 80367780 003646E0 80 7E 00 80 */ lwz r3, 0x80(r30) /* 80367784 003646E4 1C 00 00 0A */ mulli r0, r0, 0xa /* 80367788 003646E8 83 A1 00 1C */ lwz r29, 0x1c(r1) /* 8036778C 003646EC 7C 03 02 14 */ add r0, r3, r0 /* 80367790 003646F0 7C 1D 00 40 */ cmplw r29, r0 /* 80367794 003646F4 41 82 00 10 */ beq lbl_803677A4 /* 80367798 003646F8 80 1D 00 00 */ lwz r0, 0(r29) /* 8036779C 003646FC 7C 1F 00 40 */ cmplw r31, r0 /* 803677A0 00364700 41 82 00 0C */ beq lbl_803677AC lbl_803677A4: /* 803677A4 00364704 38 60 00 00 */ li r3, 0 /* 803677A8 00364708 48 00 00 B0 */ b lbl_80367858 lbl_803677AC: /* 803677AC 0036470C 7F BC EB 78 */ mr r28, r29 /* 803677B0 00364710 7F A3 EB 78 */ mr r3, r29 /* 803677B4 00364714 48 00 0E ED */ bl GetOffset__Q28CPakFile8SResInfoCFv /* 803677B8 00364718 80 1E 00 84 */ lwz r0, 0x84(r30) /* 803677BC 0036471C 3B BD 00 0A */ addi r29, r29, 0xa /* 803677C0 00364720 7F 63 00 50 */ subf r27, r3, r0 /* 803677C4 00364724 48 00 00 5C */ b lbl_80367820 lbl_803677C8: /* 803677C8 00364728 80 1D 00 00 */ lwz r0, 0(r29) /* 803677CC 0036472C 7C 1F 00 40 */ cmplw r31, r0 /* 803677D0 00364730 40 82 00 68 */ bne lbl_80367838 /* 803677D4 00364734 7F A3 EB 78 */ mr r3, r29 /* 803677D8 00364738 48 00 0E C9 */ bl GetOffset__Q28CPakFile8SResInfoCFv /* 803677DC 0036473C 80 1E 00 84 */ lwz r0, 0x84(r30) /* 803677E0 00364740 2C 1B 00 00 */ cmpwi r27, 0 /* 803677E4 00364744 7C 03 00 50 */ subf r0, r3, r0 /* 803677E8 00364748 40 80 00 14 */ bge lbl_803677FC /* 803677EC 0036474C 2C 00 00 00 */ cmpwi r0, 0 /* 803677F0 00364750 41 81 00 24 */ bgt lbl_80367814 /* 803677F4 00364754 7C 00 D8 00 */ cmpw r0, r27 /* 803677F8 00364758 41 81 00 1C */ bgt lbl_80367814 lbl_803677FC: /* 803677FC 0036475C 2C 1B 00 00 */ cmpwi r27, 0 /* 80367800 00364760 41 80 00 1C */ blt lbl_8036781C /* 80367804 00364764 2C 00 00 00 */ cmpwi r0, 0 /* 80367808 00364768 40 81 00 14 */ ble lbl_8036781C /* 8036780C 0036476C 7C 00 D8 00 */ cmpw r0, r27 /* 80367810 00364770 40 80 00 0C */ bge lbl_8036781C lbl_80367814: /* 80367814 00364774 7F BC EB 78 */ mr r28, r29 /* 80367818 00364778 7C 1B 03 78 */ mr r27, r0 lbl_8036781C: /* 8036781C 0036477C 3B BD 00 0A */ addi r29, r29, 0xa lbl_80367820: /* 80367820 00364780 80 1E 00 78 */ lwz r0, 0x78(r30) /* 80367824 00364784 80 7E 00 80 */ lwz r3, 0x80(r30) /* 80367828 00364788 1C 00 00 0A */ mulli r0, r0, 0xa /* 8036782C 0036478C 7C 03 02 14 */ add r0, r3, r0 /* 80367830 00364790 7C 1D 00 40 */ cmplw r29, r0 /* 80367834 00364794 40 82 FF 94 */ bne lbl_803677C8 lbl_80367838: /* 80367838 00364798 7F 83 E3 78 */ mr r3, r28 /* 8036783C 0036479C 48 00 0E 45 */ bl GetSize__Q28CPakFile8SResInfoCFv /* 80367840 003647A0 7C 7F 1B 78 */ mr r31, r3 /* 80367844 003647A4 7F 83 E3 78 */ mr r3, r28 /* 80367848 003647A8 48 00 0E 59 */ bl GetOffset__Q28CPakFile8SResInfoCFv /* 8036784C 003647AC 7C 03 FA 14 */ add r0, r3, r31 /* 80367850 003647B0 7F 83 E3 78 */ mr r3, r28 /* 80367854 003647B4 90 1E 00 84 */ stw r0, 0x84(r30) lbl_80367858: /* 80367858 003647B8 BB 61 00 3C */ lmw r27, 0x3c(r1) /* 8036785C 003647BC 80 01 00 54 */ lwz r0, 0x54(r1) /* 80367860 003647C0 7C 08 03 A6 */ mtlr r0 /* 80367864 003647C4 38 21 00 50 */ addi r1, r1, 0x50 /* 80367868 003647C8 4E 80 00 20 */ blr .global GetResInfoForLoadDirectionless__8CPakFileCFUi GetResInfoForLoadDirectionless__8CPakFileCFUi: /* 8036786C 003647CC 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80367870 003647D0 7C 08 02 A6 */ mflr r0 /* 80367874 003647D4 90 01 00 54 */ stw r0, 0x54(r1) /* 80367878 003647D8 BF 61 00 3C */ stmw r27, 0x3c(r1) /* 8036787C 003647DC 7C 7C 1B 78 */ mr r28, r3 /* 80367880 003647E0 7C 9D 23 78 */ mr r29, r4 /* 80367884 003647E4 88 03 00 28 */ lbz r0, 0x28(r3) /* 80367888 003647E8 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 8036788C 003647EC 41 82 00 0C */ beq lbl_80367898 /* 80367890 003647F0 38 60 00 00 */ li r3, 0 /* 80367894 003647F4 48 00 01 24 */ b lbl_803679B8 lbl_80367898: /* 80367898 003647F8 3C A0 54 58 */ lis r5, 0x54585452@ha /* 8036789C 003647FC 38 61 00 20 */ addi r3, r1, 0x20 /* 803678A0 00364800 38 A5 54 52 */ addi r5, r5, 0x54585452@l /* 803678A4 00364804 38 C0 00 00 */ li r6, 0 /* 803678A8 00364808 38 E0 00 00 */ li r7, 0 /* 803678AC 0036480C 39 00 00 00 */ li r8, 0 /* 803678B0 00364810 48 00 0E 35 */ bl __ct__Q28CPakFile8SResInfoFUiUiUiUi /* 803678B4 00364814 88 0D AA D8 */ lbz r0, lbl_805A9698@sda21(r13) /* 803678B8 00364818 38 61 00 1C */ addi r3, r1, 0x1c /* 803678BC 0036481C 38 81 00 18 */ addi r4, r1, 0x18 /* 803678C0 00364820 38 A1 00 10 */ addi r5, r1, 0x10 /* 803678C4 00364824 98 01 00 08 */ stb r0, 8(r1) /* 803678C8 00364828 38 C1 00 20 */ addi r6, r1, 0x20 /* 803678CC 0036482C 38 E1 00 08 */ addi r7, r1, 8 /* 803678D0 00364830 80 1C 00 78 */ lwz r0, 0x78(r28) /* 803678D4 00364834 81 1C 00 80 */ lwz r8, 0x80(r28) /* 803678D8 00364838 1C 00 00 0A */ mulli r0, r0, 0xa /* 803678DC 0036483C 7D 08 02 14 */ add r8, r8, r0 /* 803678E0 00364840 91 01 00 10 */ stw r8, 0x10(r1) /* 803678E4 00364844 80 1C 00 80 */ lwz r0, 0x80(r28) /* 803678E8 00364848 91 01 00 0C */ stw r8, 0xc(r1) /* 803678EC 0036484C 90 01 00 14 */ stw r0, 0x14(r1) /* 803678F0 00364850 90 01 00 18 */ stw r0, 0x18(r1) /* 803678F4 00364854 48 00 11 45 */ bl sub_80368a38 /* 803678F8 00364858 80 1C 00 78 */ lwz r0, 0x78(r28) /* 803678FC 0036485C 80 7C 00 80 */ lwz r3, 0x80(r28) /* 80367900 00364860 1C 00 00 0A */ mulli r0, r0, 0xa /* 80367904 00364864 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80367908 00364868 7C 03 02 14 */ add r0, r3, r0 /* 8036790C 0036486C 7C 1F 00 40 */ cmplw r31, r0 /* 80367910 00364870 41 82 00 10 */ beq lbl_80367920 /* 80367914 00364874 80 1F 00 00 */ lwz r0, 0(r31) /* 80367918 00364878 7C 1D 00 40 */ cmplw r29, r0 /* 8036791C 0036487C 41 82 00 0C */ beq lbl_80367928 lbl_80367920: /* 80367920 00364880 38 60 00 00 */ li r3, 0 /* 80367924 00364884 48 00 00 94 */ b lbl_803679B8 lbl_80367928: /* 80367928 00364888 7F FE FB 78 */ mr r30, r31 /* 8036792C 0036488C 7F E3 FB 78 */ mr r3, r31 /* 80367930 00364890 48 00 0D 71 */ bl GetOffset__Q28CPakFile8SResInfoCFv /* 80367934 00364894 80 1C 00 84 */ lwz r0, 0x84(r28) /* 80367938 00364898 7C 60 18 50 */ subf r3, r0, r3 /* 8036793C 0036489C 48 02 54 E1 */ bl abs /* 80367940 003648A0 7C 7B 1B 78 */ mr r27, r3 /* 80367944 003648A4 3B FF 00 0A */ addi r31, r31, 0xa /* 80367948 003648A8 48 00 00 38 */ b lbl_80367980 lbl_8036794C: /* 8036794C 003648AC 80 1F 00 00 */ lwz r0, 0(r31) /* 80367950 003648B0 7C 1D 00 40 */ cmplw r29, r0 /* 80367954 003648B4 40 82 00 44 */ bne lbl_80367998 /* 80367958 003648B8 7F E3 FB 78 */ mr r3, r31 /* 8036795C 003648BC 48 00 0D 45 */ bl GetOffset__Q28CPakFile8SResInfoCFv /* 80367960 003648C0 80 1C 00 84 */ lwz r0, 0x84(r28) /* 80367964 003648C4 7C 60 18 50 */ subf r3, r0, r3 /* 80367968 003648C8 48 02 54 B5 */ bl abs /* 8036796C 003648CC 7C 03 D8 00 */ cmpw r3, r27 /* 80367970 003648D0 40 80 00 0C */ bge lbl_8036797C /* 80367974 003648D4 7F FE FB 78 */ mr r30, r31 /* 80367978 003648D8 7C 7B 1B 78 */ mr r27, r3 lbl_8036797C: /* 8036797C 003648DC 3B FF 00 0A */ addi r31, r31, 0xa lbl_80367980: /* 80367980 003648E0 80 1C 00 78 */ lwz r0, 0x78(r28) /* 80367984 003648E4 80 7C 00 80 */ lwz r3, 0x80(r28) /* 80367988 003648E8 1C 00 00 0A */ mulli r0, r0, 0xa /* 8036798C 003648EC 7C 03 02 14 */ add r0, r3, r0 /* 80367990 003648F0 7C 1F 00 40 */ cmplw r31, r0 /* 80367994 003648F4 40 82 FF B8 */ bne lbl_8036794C lbl_80367998: /* 80367998 003648F8 7F C3 F3 78 */ mr r3, r30 /* 8036799C 003648FC 48 00 0C E5 */ bl GetSize__Q28CPakFile8SResInfoCFv /* 803679A0 00364900 7C 7D 1B 78 */ mr r29, r3 /* 803679A4 00364904 7F C3 F3 78 */ mr r3, r30 /* 803679A8 00364908 48 00 0C F9 */ bl GetOffset__Q28CPakFile8SResInfoCFv /* 803679AC 0036490C 7C 03 EA 14 */ add r0, r3, r29 /* 803679B0 00364910 7F C3 F3 78 */ mr r3, r30 /* 803679B4 00364914 90 1C 00 84 */ stw r0, 0x84(r28) lbl_803679B8: /* 803679B8 00364918 BB 61 00 3C */ lmw r27, 0x3c(r1) /* 803679BC 0036491C 80 01 00 54 */ lwz r0, 0x54(r1) /* 803679C0 00364920 7C 08 03 A6 */ mtlr r0 /* 803679C4 00364924 38 21 00 50 */ addi r1, r1, 0x50 /* 803679C8 00364928 4E 80 00 20 */ blr .global GetResInfo__8CPakFileCFUi GetResInfo__8CPakFileCFUi: /* 803679CC 0036492C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 803679D0 00364930 7C 08 02 A6 */ mflr r0 /* 803679D4 00364934 90 01 00 44 */ stw r0, 0x44(r1) /* 803679D8 00364938 93 E1 00 3C */ stw r31, 0x3c(r1) /* 803679DC 0036493C 7C 9F 23 78 */ mr r31, r4 /* 803679E0 00364940 93 C1 00 38 */ stw r30, 0x38(r1) /* 803679E4 00364944 7C 7E 1B 78 */ mr r30, r3 /* 803679E8 00364948 80 03 00 2C */ lwz r0, 0x2c(r3) /* 803679EC 0036494C 2C 00 00 03 */ cmpwi r0, 3 /* 803679F0 00364950 41 82 00 0C */ beq lbl_803679FC /* 803679F4 00364954 38 60 00 00 */ li r3, 0 /* 803679F8 00364958 48 00 00 A0 */ b lbl_80367A98 lbl_803679FC: /* 803679FC 0036495C 88 1E 00 28 */ lbz r0, 0x28(r30) /* 80367A00 00364960 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f /* 80367A04 00364964 41 82 00 0C */ beq lbl_80367A10 /* 80367A08 00364968 38 60 00 00 */ li r3, 0 /* 80367A0C 0036496C 48 00 00 8C */ b lbl_80367A98 lbl_80367A10: /* 80367A10 00364970 3C A0 54 58 */ lis r5, 0x54585452@ha /* 80367A14 00364974 38 61 00 20 */ addi r3, r1, 0x20 /* 80367A18 00364978 38 A5 54 52 */ addi r5, r5, 0x54585452@l /* 80367A1C 0036497C 38 C0 00 00 */ li r6, 0 /* 80367A20 00364980 38 E0 00 00 */ li r7, 0 /* 80367A24 00364984 39 00 00 00 */ li r8, 0 /* 80367A28 00364988 48 00 0C BD */ bl __ct__Q28CPakFile8SResInfoFUiUiUiUi /* 80367A2C 0036498C 80 1E 00 78 */ lwz r0, 0x78(r30) /* 80367A30 00364990 38 61 00 1C */ addi r3, r1, 0x1c /* 80367A34 00364994 81 1E 00 80 */ lwz r8, 0x80(r30) /* 80367A38 00364998 38 81 00 18 */ addi r4, r1, 0x18 /* 80367A3C 0036499C 1C 00 00 0A */ mulli r0, r0, 0xa /* 80367A40 003649A0 88 ED AA D4 */ lbz r7, lbl_805A9694@sda21(r13) /* 80367A44 003649A4 91 01 00 14 */ stw r8, 0x14(r1) /* 80367A48 003649A8 38 A1 00 10 */ addi r5, r1, 0x10 /* 80367A4C 003649AC 38 C1 00 20 */ addi r6, r1, 0x20 /* 80367A50 003649B0 7C 08 02 14 */ add r0, r8, r0 /* 80367A54 003649B4 98 E1 00 08 */ stb r7, 8(r1) /* 80367A58 003649B8 38 E1 00 08 */ addi r7, r1, 8 /* 80367A5C 003649BC 90 01 00 0C */ stw r0, 0xc(r1) /* 80367A60 003649C0 90 01 00 10 */ stw r0, 0x10(r1) /* 80367A64 003649C4 91 01 00 18 */ stw r8, 0x18(r1) /* 80367A68 003649C8 48 00 0F 11 */ bl sub_80368978 /* 80367A6C 003649CC 80 1E 00 78 */ lwz r0, 0x78(r30) /* 80367A70 003649D0 80 9E 00 80 */ lwz r4, 0x80(r30) /* 80367A74 003649D4 1C 00 00 0A */ mulli r0, r0, 0xa /* 80367A78 003649D8 80 61 00 1C */ lwz r3, 0x1c(r1) /* 80367A7C 003649DC 7C 04 02 14 */ add r0, r4, r0 /* 80367A80 003649E0 7C 03 00 40 */ cmplw r3, r0 /* 80367A84 003649E4 41 82 00 10 */ beq lbl_80367A94 /* 80367A88 003649E8 80 03 00 00 */ lwz r0, 0(r3) /* 80367A8C 003649EC 7C 1F 00 40 */ cmplw r31, r0 /* 80367A90 003649F0 41 82 00 08 */ beq lbl_80367A98 lbl_80367A94: /* 80367A94 003649F4 38 60 00 00 */ li r3, 0 lbl_80367A98: /* 80367A98 003649F8 80 01 00 44 */ lwz r0, 0x44(r1) /* 80367A9C 003649FC 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80367AA0 00364A00 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80367AA4 00364A04 7C 08 03 A6 */ mtlr r0 /* 80367AA8 00364A08 38 21 00 40 */ addi r1, r1, 0x40 /* 80367AAC 00364A0C 4E 80 00 20 */ blr .global GetFakeStaticSize__8CPakFileCFv GetFakeStaticSize__8CPakFileCFv: /* 80367AB0 00364A10 80 03 00 78 */ lwz r0, 0x78(r3) /* 80367AB4 00364A14 80 63 00 68 */ lwz r3, 0x68(r3) /* 80367AB8 00364A18 1C 00 00 0A */ mulli r0, r0, 0xa /* 80367ABC 00364A1C 54 63 10 3A */ slwi r3, r3, 2 /* 80367AC0 00364A20 7C 63 02 14 */ add r3, r3, r0 /* 80367AC4 00364A24 4E 80 00 20 */ blr .global LoadResourceTable__8CPakFileFR15CMemoryInStream LoadResourceTable__8CPakFileFR15CMemoryInStream: /* 80367AC8 00364A28 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80367ACC 00364A2C 7C 08 02 A6 */ mflr r0 /* 80367AD0 00364A30 90 01 00 54 */ stw r0, 0x54(r1) /* 80367AD4 00364A34 BF 21 00 34 */ stmw r25, 0x34(r1) /* 80367AD8 00364A38 7C 7C 1B 78 */ mr r28, r3 /* 80367ADC 00364A3C 7C 9D 23 78 */ mr r29, r4 /* 80367AE0 00364A40 38 81 00 1C */ addi r4, r1, 0x1c /* 80367AE4 00364A44 80 63 00 4C */ lwz r3, 0x4c(r3) /* 80367AE8 00364A48 80 0D 9E 90 */ lwz r0, lbl_805A8A50@sda21(r13) /* 80367AEC 00364A4C 1C 63 00 0A */ mulli r3, r3, 0xa /* 80367AF0 00364A50 38 63 00 1F */ addi r3, r3, 0x1f /* 80367AF4 00364A54 54 63 00 34 */ rlwinm r3, r3, 0, 0, 0x1a /* 80367AF8 00364A58 38 63 00 09 */ addi r3, r3, 9 /* 80367AFC 00364A5C 7C 03 00 00 */ cmpw r3, r0 /* 80367B00 00364A60 90 61 00 1C */ stw r3, 0x1c(r1) /* 80367B04 00364A64 40 80 00 08 */ bge lbl_80367B0C /* 80367B08 00364A68 38 8D 9E 90 */ addi r4, r13, lbl_805A8A50@sda21 lbl_80367B0C: /* 80367B0C 00364A6C 3C 60 CC CD */ lis r3, 0xCCCCCCCD@ha /* 80367B10 00364A70 80 04 00 00 */ lwz r0, 0(r4) /* 80367B14 00364A74 38 83 CC CD */ addi r4, r3, 0xCCCCCCCD@l /* 80367B18 00364A78 38 7C 00 74 */ addi r3, r28, 0x74 /* 80367B1C 00364A7C 7C 04 00 16 */ mulhwu r0, r4, r0 /* 80367B20 00364A80 54 04 E8 FE */ srwi r4, r0, 3 /* 80367B24 00364A84 48 00 0F D5 */ bl sub_80368af8 /* 80367B28 00364A88 88 1C 00 28 */ lbz r0, 0x28(r28) /* 80367B2C 00364A8C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80367B30 00364A90 41 82 00 10 */ beq lbl_80367B40 /* 80367B34 00364A94 80 9C 00 4C */ lwz r4, 0x4c(r28) /* 80367B38 00364A98 38 7C 00 64 */ addi r3, r28, 0x64 /* 80367B3C 00364A9C 4B CF BF E9 */ bl "reserve__Q24rstl37vectorFi" lbl_80367B40: /* 80367B40 00364AA0 3B C0 00 00 */ li r30, 0 /* 80367B44 00364AA4 48 00 01 14 */ b lbl_80367C58 lbl_80367B48: /* 80367B48 00364AA8 7F A3 EB 78 */ mr r3, r29 /* 80367B4C 00364AAC 4B FD 71 39 */ bl ReadLong__12CInputStreamFv /* 80367B50 00364AB0 7C 7B 1B 78 */ mr r27, r3 /* 80367B54 00364AB4 7F A3 EB 78 */ mr r3, r29 /* 80367B58 00364AB8 4B FD 71 2D */ bl ReadLong__12CInputStreamFv /* 80367B5C 00364ABC 7C 7A 1B 78 */ mr r26, r3 /* 80367B60 00364AC0 7F A3 EB 78 */ mr r3, r29 /* 80367B64 00364AC4 4B FD 71 21 */ bl ReadLong__12CInputStreamFv /* 80367B68 00364AC8 7C 7F 1B 78 */ mr r31, r3 /* 80367B6C 00364ACC 7F A3 EB 78 */ mr r3, r29 /* 80367B70 00364AD0 4B FD 71 15 */ bl ReadLong__12CInputStreamFv /* 80367B74 00364AD4 7C 79 1B 78 */ mr r25, r3 /* 80367B78 00364AD8 7F A3 EB 78 */ mr r3, r29 /* 80367B7C 00364ADC 4B FD 71 09 */ bl ReadLong__12CInputStreamFv /* 80367B80 00364AE0 7C 66 1B 78 */ mr r6, r3 /* 80367B84 00364AE4 7F E4 FB 78 */ mr r4, r31 /* 80367B88 00364AE8 7F 45 D3 78 */ mr r5, r26 /* 80367B8C 00364AEC 7F 27 CB 78 */ mr r7, r25 /* 80367B90 00364AF0 7F 68 DB 78 */ mr r8, r27 /* 80367B94 00364AF4 38 61 00 20 */ addi r3, r1, 0x20 /* 80367B98 00364AF8 48 00 0B 4D */ bl __ct__Q28CPakFile8SResInfoFUiUiUiUi /* 80367B9C 00364AFC 80 1C 00 78 */ lwz r0, 0x78(r28) /* 80367BA0 00364B00 80 BC 00 7C */ lwz r5, 0x7c(r28) /* 80367BA4 00364B04 7C 00 28 00 */ cmpw r0, r5 /* 80367BA8 00364B08 41 80 00 1C */ blt lbl_80367BC4 /* 80367BAC 00364B0C 2C 05 00 00 */ cmpwi r5, 0 /* 80367BB0 00364B10 38 7C 00 74 */ addi r3, r28, 0x74 /* 80367BB4 00364B14 38 80 00 04 */ li r4, 4 /* 80367BB8 00364B18 41 82 00 08 */ beq lbl_80367BC0 /* 80367BBC 00364B1C 54 A4 08 3C */ slwi r4, r5, 1 lbl_80367BC0: /* 80367BC0 00364B20 48 00 0F 39 */ bl sub_80368af8 lbl_80367BC4: /* 80367BC4 00364B24 80 1C 00 78 */ lwz r0, 0x78(r28) /* 80367BC8 00364B28 80 7C 00 80 */ lwz r3, 0x80(r28) /* 80367BCC 00364B2C 1C 00 00 0A */ mulli r0, r0, 0xa /* 80367BD0 00364B30 7C 63 02 15 */ add. r3, r3, r0 /* 80367BD4 00364B34 41 82 00 1C */ beq lbl_80367BF0 /* 80367BD8 00364B38 80 01 00 20 */ lwz r0, 0x20(r1) /* 80367BDC 00364B3C 90 03 00 00 */ stw r0, 0(r3) /* 80367BE0 00364B40 80 01 00 24 */ lwz r0, 0x24(r1) /* 80367BE4 00364B44 90 03 00 04 */ stw r0, 4(r3) /* 80367BE8 00364B48 A0 01 00 28 */ lhz r0, 0x28(r1) /* 80367BEC 00364B4C B0 03 00 08 */ sth r0, 8(r3) lbl_80367BF0: /* 80367BF0 00364B50 80 7C 00 78 */ lwz r3, 0x78(r28) /* 80367BF4 00364B54 38 03 00 01 */ addi r0, r3, 1 /* 80367BF8 00364B58 90 1C 00 78 */ stw r0, 0x78(r28) /* 80367BFC 00364B5C 88 1C 00 28 */ lbz r0, 0x28(r28) /* 80367C00 00364B60 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f /* 80367C04 00364B64 41 82 00 50 */ beq lbl_80367C54 /* 80367C08 00364B68 80 1C 00 68 */ lwz r0, 0x68(r28) /* 80367C0C 00364B6C 80 BC 00 6C */ lwz r5, 0x6c(r28) /* 80367C10 00364B70 7C 00 28 00 */ cmpw r0, r5 /* 80367C14 00364B74 41 80 00 1C */ blt lbl_80367C30 /* 80367C18 00364B78 2C 05 00 00 */ cmpwi r5, 0 /* 80367C1C 00364B7C 38 7C 00 64 */ addi r3, r28, 0x64 /* 80367C20 00364B80 38 80 00 04 */ li r4, 4 /* 80367C24 00364B84 41 82 00 08 */ beq lbl_80367C2C /* 80367C28 00364B88 54 A4 08 3C */ slwi r4, r5, 1 lbl_80367C2C: /* 80367C2C 00364B8C 4B CF BE F9 */ bl "reserve__Q24rstl37vectorFi" lbl_80367C30: /* 80367C30 00364B90 80 1C 00 68 */ lwz r0, 0x68(r28) /* 80367C34 00364B94 80 7C 00 70 */ lwz r3, 0x70(r28) /* 80367C38 00364B98 54 00 10 3A */ slwi r0, r0, 2 /* 80367C3C 00364B9C 7C 63 02 15 */ add. r3, r3, r0 /* 80367C40 00364BA0 41 82 00 08 */ beq lbl_80367C48 /* 80367C44 00364BA4 93 E3 00 00 */ stw r31, 0(r3) lbl_80367C48: /* 80367C48 00364BA8 80 7C 00 68 */ lwz r3, 0x68(r28) /* 80367C4C 00364BAC 38 03 00 01 */ addi r0, r3, 1 /* 80367C50 00364BB0 90 1C 00 68 */ stw r0, 0x68(r28) lbl_80367C54: /* 80367C54 00364BB4 3B DE 00 01 */ addi r30, r30, 1 lbl_80367C58: /* 80367C58 00364BB8 80 1C 00 4C */ lwz r0, 0x4c(r28) /* 80367C5C 00364BBC 7C 1E 00 00 */ cmpw r30, r0 /* 80367C60 00364BC0 41 80 FE E8 */ blt lbl_80367B48 /* 80367C64 00364BC4 88 0D AA D0 */ lbz r0, lbl_805A9690@sda21(r13) /* 80367C68 00364BC8 38 61 00 18 */ addi r3, r1, 0x18 /* 80367C6C 00364BCC 38 81 00 10 */ addi r4, r1, 0x10 /* 80367C70 00364BD0 38 A1 00 08 */ addi r5, r1, 8 /* 80367C74 00364BD4 98 01 00 08 */ stb r0, 8(r1) /* 80367C78 00364BD8 80 1C 00 78 */ lwz r0, 0x78(r28) /* 80367C7C 00364BDC 80 DC 00 80 */ lwz r6, 0x80(r28) /* 80367C80 00364BE0 1C 00 00 0A */ mulli r0, r0, 0xa /* 80367C84 00364BE4 7C C6 02 14 */ add r6, r6, r0 /* 80367C88 00364BE8 90 C1 00 10 */ stw r6, 0x10(r1) /* 80367C8C 00364BEC 80 1C 00 80 */ lwz r0, 0x80(r28) /* 80367C90 00364BF0 90 C1 00 0C */ stw r6, 0xc(r1) /* 80367C94 00364BF4 90 01 00 14 */ stw r0, 0x14(r1) /* 80367C98 00364BF8 90 01 00 18 */ stw r0, 0x18(r1) /* 80367C9C 00364BFC 48 00 0A F1 */ bl sub_8036878c /* 80367CA0 00364C00 BB 21 00 34 */ lmw r25, 0x34(r1) /* 80367CA4 00364C04 80 01 00 54 */ lwz r0, 0x54(r1) /* 80367CA8 00364C08 7C 08 03 A6 */ mtlr r0 /* 80367CAC 00364C0C 38 21 00 50 */ addi r1, r1, 0x50 /* 80367CB0 00364C10 4E 80 00 20 */ blr .global DataLoad__8CPakFileFv DataLoad__8CPakFileFv: /* 80367CB4 00364C14 94 21 FF A0 */ stwu r1, -0x60(r1) /* 80367CB8 00364C18 7C 08 02 A6 */ mflr r0 /* 80367CBC 00364C1C 38 80 00 00 */ li r4, 0 /* 80367CC0 00364C20 90 01 00 64 */ stw r0, 0x64(r1) /* 80367CC4 00364C24 93 E1 00 5C */ stw r31, 0x5c(r1) /* 80367CC8 00364C28 7C 7F 1B 78 */ mr r31, r3 /* 80367CCC 00364C2C 38 61 00 18 */ addi r3, r1, 0x18 /* 80367CD0 00364C30 93 C1 00 58 */ stw r30, 0x58(r1) /* 80367CD4 00364C34 38 1F 00 30 */ addi r0, r31, 0x30 /* 80367CD8 00364C38 7C 03 00 40 */ cmplw r3, r0 /* 80367CDC 00364C3C 98 81 00 18 */ stb r4, 0x18(r1) /* 80367CE0 00364C40 90 81 00 1C */ stw r4, 0x1c(r1) /* 80367CE4 00364C44 41 82 00 48 */ beq lbl_80367D2C /* 80367CE8 00364C48 88 1F 00 30 */ lbz r0, 0x30(r31) /* 80367CEC 00364C4C 28 00 00 00 */ cmplwi r0, 0 /* 80367CF0 00364C50 41 82 00 24 */ beq lbl_80367D14 /* 80367CF4 00364C54 80 7F 00 34 */ lwz r3, 0x34(r31) /* 80367CF8 00364C58 28 03 00 00 */ cmplwi r3, 0 /* 80367CFC 00364C5C 41 82 00 18 */ beq lbl_80367D14 /* 80367D00 00364C60 81 83 00 00 */ lwz r12, 0(r3) /* 80367D04 00364C64 38 80 00 01 */ li r4, 1 /* 80367D08 00364C68 81 8C 00 08 */ lwz r12, 8(r12) /* 80367D0C 00364C6C 7D 89 03 A6 */ mtctr r12 /* 80367D10 00364C70 4E 80 04 21 */ bctrl lbl_80367D14: /* 80367D14 00364C74 88 61 00 18 */ lbz r3, 0x18(r1) /* 80367D18 00364C78 38 00 00 00 */ li r0, 0 /* 80367D1C 00364C7C 98 7F 00 30 */ stb r3, 0x30(r31) /* 80367D20 00364C80 80 61 00 1C */ lwz r3, 0x1c(r1) /* 80367D24 00364C84 90 7F 00 34 */ stw r3, 0x34(r31) /* 80367D28 00364C88 98 01 00 18 */ stb r0, 0x18(r1) lbl_80367D2C: /* 80367D2C 00364C8C 88 01 00 18 */ lbz r0, 0x18(r1) /* 80367D30 00364C90 28 00 00 00 */ cmplwi r0, 0 /* 80367D34 00364C94 41 82 00 24 */ beq lbl_80367D58 /* 80367D38 00364C98 80 61 00 1C */ lwz r3, 0x1c(r1) /* 80367D3C 00364C9C 28 03 00 00 */ cmplwi r3, 0 /* 80367D40 00364CA0 41 82 00 18 */ beq lbl_80367D58 /* 80367D44 00364CA4 81 83 00 00 */ lwz r12, 0(r3) /* 80367D48 00364CA8 38 80 00 01 */ li r4, 1 /* 80367D4C 00364CAC 81 8C 00 08 */ lwz r12, 8(r12) /* 80367D50 00364CB0 7D 89 03 A6 */ mtctr r12 /* 80367D54 00364CB4 4E 80 04 21 */ bctrl lbl_80367D58: /* 80367D58 00364CB8 80 9F 00 44 */ lwz r4, 0x44(r31) /* 80367D5C 00364CBC 38 61 00 30 */ addi r3, r1, 0x30 /* 80367D60 00364CC0 80 BF 00 48 */ lwz r5, 0x48(r31) /* 80367D64 00364CC4 80 1F 00 3C */ lwz r0, 0x3c(r31) /* 80367D68 00364CC8 7C 84 2A 14 */ add r4, r4, r5 /* 80367D6C 00364CCC 7C A5 00 50 */ subf r5, r5, r0 /* 80367D70 00364CD0 4B FD 74 5D */ bl __ct__15CMemoryInStreamFPCvUl /* 80367D74 00364CD4 7F E3 FB 78 */ mr r3, r31 /* 80367D78 00364CD8 38 81 00 30 */ addi r4, r1, 0x30 /* 80367D7C 00364CDC 4B FF FD 4D */ bl LoadResourceTable__8CPakFileFR15CMemoryInStream /* 80367D80 00364CE0 38 00 00 03 */ li r0, 3 /* 80367D84 00364CE4 90 1F 00 2C */ stw r0, 0x2c(r31) /* 80367D88 00364CE8 88 1F 00 28 */ lbz r0, 0x28(r31) /* 80367D8C 00364CEC 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f /* 80367D90 00364CF0 41 82 00 38 */ beq lbl_80367DC8 /* 80367D94 00364CF4 80 1F 00 4C */ lwz r0, 0x4c(r31) /* 80367D98 00364CF8 1C 60 00 0A */ mulli r3, r0, 0xa /* 80367D9C 00364CFC 38 03 00 1F */ addi r0, r3, 0x1f /* 80367DA0 00364D00 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a /* 80367DA4 00364D04 7F C3 F3 78 */ mr r3, r30 /* 80367DA8 00364D08 4B FD CE 81 */ bl Alloc__12CARAMManagerFUi /* 80367DAC 00364D0C 90 7F 00 50 */ stw r3, 0x50(r31) /* 80367DB0 00364D10 7F C5 F3 78 */ mr r5, r30 /* 80367DB4 00364D14 38 C0 00 01 */ li r6, 1 /* 80367DB8 00364D18 80 7F 00 80 */ lwz r3, 0x80(r31) /* 80367DBC 00364D1C 80 9F 00 50 */ lwz r4, 0x50(r31) /* 80367DC0 00364D20 4B FD CB C9 */ bl DMAToARAM__12CARAMManagerFPvPvUiQ212CARAMManager12EDMAPriority /* 80367DC4 00364D24 4B FD C9 85 */ bl WaitForDMACompletion__12CARAMManagerFUi lbl_80367DC8: /* 80367DC8 00364D28 38 00 00 00 */ li r0, 0 /* 80367DCC 00364D2C 38 7F 00 38 */ addi r3, r31, 0x38 /* 80367DD0 00364D30 90 01 00 24 */ stw r0, 0x24(r1) /* 80367DD4 00364D34 38 81 00 20 */ addi r4, r1, 0x20 /* 80367DD8 00364D38 90 01 00 28 */ stw r0, 0x28(r1) /* 80367DDC 00364D3C 90 01 00 2C */ stw r0, 0x2c(r1) /* 80367DE0 00364D40 4B FE 5F 75 */ bl sub_8034dd54 /* 80367DE4 00364D44 80 61 00 2C */ lwz r3, 0x2c(r1) /* 80367DE8 00364D48 80 01 00 24 */ lwz r0, 0x24(r1) /* 80367DEC 00364D4C 90 61 00 0C */ stw r3, 0xc(r1) /* 80367DF0 00364D50 7C 83 02 14 */ add r4, r3, r0 /* 80367DF4 00364D54 7C 03 20 50 */ subf r0, r3, r4 /* 80367DF8 00364D58 90 81 00 14 */ stw r4, 0x14(r1) /* 80367DFC 00364D5C 90 81 00 10 */ stw r4, 0x10(r1) /* 80367E00 00364D60 90 61 00 08 */ stw r3, 8(r1) /* 80367E04 00364D64 7C 09 03 A6 */ mtctr r0 /* 80367E08 00364D68 7C 03 20 40 */ cmplw r3, r4 /* 80367E0C 00364D6C 41 82 00 08 */ beq lbl_80367E14 lbl_80367E10: /* 80367E10 00364D70 42 00 00 00 */ bdnz lbl_80367E10 lbl_80367E14: /* 80367E14 00364D74 4B FA DB 1D */ bl Free__7CMemoryFPCv /* 80367E18 00364D78 7F E3 FB 78 */ mr r3, r31 /* 80367E1C 00364D7C 4B FF FC 95 */ bl GetFakeStaticSize__8CPakFileCFv /* 80367E20 00364D80 4B FA DA A1 */ bl OffsetFakeStatics__7CMemoryFi /* 80367E24 00364D84 3C 80 80 3F */ lis r4, __vt__15CMemoryInStream@ha /* 80367E28 00364D88 38 61 00 30 */ addi r3, r1, 0x30 /* 80367E2C 00364D8C 38 04 E3 98 */ addi r0, r4, __vt__15CMemoryInStream@l /* 80367E30 00364D90 38 80 00 00 */ li r4, 0 /* 80367E34 00364D94 90 01 00 30 */ stw r0, 0x30(r1) /* 80367E38 00364D98 4B FD 72 75 */ bl __dt__12CInputStreamFv /* 80367E3C 00364D9C 80 01 00 64 */ lwz r0, 0x64(r1) /* 80367E40 00364DA0 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 80367E44 00364DA4 83 C1 00 58 */ lwz r30, 0x58(r1) /* 80367E48 00364DA8 7C 08 03 A6 */ mtlr r0 /* 80367E4C 00364DAC 38 21 00 60 */ addi r1, r1, 0x60 /* 80367E50 00364DB0 4E 80 00 20 */ blr .global InitialHeaderLoad__8CPakFileFv InitialHeaderLoad__8CPakFileFv: /* 80367E54 00364DB4 94 21 FE 70 */ stwu r1, -0x190(r1) /* 80367E58 00364DB8 7C 08 02 A6 */ mflr r0 /* 80367E5C 00364DBC 90 01 01 94 */ stw r0, 0x194(r1) /* 80367E60 00364DC0 BF 61 01 7C */ stmw r27, 0x17c(r1) /* 80367E64 00364DC4 7C 7F 1B 78 */ mr r31, r3 /* 80367E68 00364DC8 38 61 00 50 */ addi r3, r1, 0x50 /* 80367E6C 00364DCC 80 9F 00 44 */ lwz r4, 0x44(r31) /* 80367E70 00364DD0 80 BF 00 3C */ lwz r5, 0x3c(r31) /* 80367E74 00364DD4 4B FD 73 59 */ bl __ct__15CMemoryInStreamFPCvUl /* 80367E78 00364DD8 38 61 00 10 */ addi r3, r1, 0x10 /* 80367E7C 00364DDC 38 1F 00 30 */ addi r0, r31, 0x30 /* 80367E80 00364DE0 38 80 00 00 */ li r4, 0 /* 80367E84 00364DE4 7C 03 00 40 */ cmplw r3, r0 /* 80367E88 00364DE8 98 81 00 10 */ stb r4, 0x10(r1) /* 80367E8C 00364DEC 90 81 00 14 */ stw r4, 0x14(r1) /* 80367E90 00364DF0 41 82 00 48 */ beq lbl_80367ED8 /* 80367E94 00364DF4 88 1F 00 30 */ lbz r0, 0x30(r31) /* 80367E98 00364DF8 28 00 00 00 */ cmplwi r0, 0 /* 80367E9C 00364DFC 41 82 00 24 */ beq lbl_80367EC0 /* 80367EA0 00364E00 80 7F 00 34 */ lwz r3, 0x34(r31) /* 80367EA4 00364E04 28 03 00 00 */ cmplwi r3, 0 /* 80367EA8 00364E08 41 82 00 18 */ beq lbl_80367EC0 /* 80367EAC 00364E0C 81 83 00 00 */ lwz r12, 0(r3) /* 80367EB0 00364E10 38 80 00 01 */ li r4, 1 /* 80367EB4 00364E14 81 8C 00 08 */ lwz r12, 8(r12) /* 80367EB8 00364E18 7D 89 03 A6 */ mtctr r12 /* 80367EBC 00364E1C 4E 80 04 21 */ bctrl lbl_80367EC0: /* 80367EC0 00364E20 88 61 00 10 */ lbz r3, 0x10(r1) /* 80367EC4 00364E24 38 00 00 00 */ li r0, 0 /* 80367EC8 00364E28 98 7F 00 30 */ stb r3, 0x30(r31) /* 80367ECC 00364E2C 80 61 00 14 */ lwz r3, 0x14(r1) /* 80367ED0 00364E30 90 7F 00 34 */ stw r3, 0x34(r31) /* 80367ED4 00364E34 98 01 00 10 */ stb r0, 0x10(r1) lbl_80367ED8: /* 80367ED8 00364E38 88 01 00 10 */ lbz r0, 0x10(r1) /* 80367EDC 00364E3C 28 00 00 00 */ cmplwi r0, 0 /* 80367EE0 00364E40 41 82 00 24 */ beq lbl_80367F04 /* 80367EE4 00364E44 80 61 00 14 */ lwz r3, 0x14(r1) /* 80367EE8 00364E48 28 03 00 00 */ cmplwi r3, 0 /* 80367EEC 00364E4C 41 82 00 18 */ beq lbl_80367F04 /* 80367EF0 00364E50 81 83 00 00 */ lwz r12, 0(r3) /* 80367EF4 00364E54 38 80 00 01 */ li r4, 1 /* 80367EF8 00364E58 81 8C 00 08 */ lwz r12, 8(r12) /* 80367EFC 00364E5C 7D 89 03 A6 */ mtctr r12 /* 80367F00 00364E60 4E 80 04 21 */ bctrl lbl_80367F04: /* 80367F04 00364E64 38 61 00 50 */ addi r3, r1, 0x50 /* 80367F08 00364E68 4B FD 6D 7D */ bl ReadLong__12CInputStreamFv /* 80367F0C 00364E6C 3C 03 FF FD */ addis r0, r3, 0xfffd /* 80367F10 00364E70 28 00 00 05 */ cmplwi r0, 5 /* 80367F14 00364E74 41 82 00 44 */ beq lbl_80367F58 /* 80367F18 00364E78 3C 80 80 3E */ lis r4, lbl_803D84E0@ha /* 80367F1C 00364E7C 3C C0 00 03 */ lis r6, 0x00030005@ha /* 80367F20 00364E80 7C 67 1B 78 */ mr r7, r3 /* 80367F24 00364E84 80 BF 00 18 */ lwz r5, 0x18(r31) /* 80367F28 00364E88 38 84 84 E0 */ addi r4, r4, lbl_803D84E0@l /* 80367F2C 00364E8C 38 61 00 74 */ addi r3, r1, 0x74 /* 80367F30 00364E90 38 C6 00 05 */ addi r6, r6, 0x00030005@l /* 80367F34 00364E94 4C C6 31 82 */ crclr 6 /* 80367F38 00364E98 48 02 5D A5 */ bl sprintf /* 80367F3C 00364E9C 3C 80 80 3F */ lis r4, __vt__15CMemoryInStream@ha /* 80367F40 00364EA0 38 61 00 50 */ addi r3, r1, 0x50 /* 80367F44 00364EA4 38 04 E3 98 */ addi r0, r4, __vt__15CMemoryInStream@l /* 80367F48 00364EA8 38 80 00 00 */ li r4, 0 /* 80367F4C 00364EAC 90 01 00 50 */ stw r0, 0x50(r1) /* 80367F50 00364EB0 4B FD 71 5D */ bl __dt__12CInputStreamFv /* 80367F54 00364EB4 48 00 02 1C */ b lbl_80368170 lbl_80367F58: /* 80367F58 00364EB8 38 61 00 50 */ addi r3, r1, 0x50 /* 80367F5C 00364EBC 4B FD 6D 29 */ bl ReadLong__12CInputStreamFv /* 80367F60 00364EC0 38 61 00 50 */ addi r3, r1, 0x50 /* 80367F64 00364EC4 4B FD 6D 21 */ bl ReadLong__12CInputStreamFv /* 80367F68 00364EC8 7C 7C 1B 78 */ mr r28, r3 /* 80367F6C 00364ECC 38 7F 00 54 */ addi r3, r31, 0x54 /* 80367F70 00364ED0 7F 84 E3 78 */ mr r4, r28 /* 80367F74 00364ED4 4B EB 52 51 */ bl "reserve__Q24rstl138vector,Q24rstl17rmemory_allocator>,10SObjectTag>,Q24rstl17rmemory_allocator>Fi" /* 80367F78 00364ED8 3B 60 00 00 */ li r27, 0 /* 80367F7C 00364EDC 48 00 00 C8 */ b lbl_80368044 lbl_80367F80: /* 80367F80 00364EE0 38 61 00 50 */ addi r3, r1, 0x50 /* 80367F84 00364EE4 4B FD 6D 01 */ bl ReadLong__12CInputStreamFv /* 80367F88 00364EE8 7C 7D 1B 78 */ mr r29, r3 /* 80367F8C 00364EEC 38 61 00 50 */ addi r3, r1, 0x50 /* 80367F90 00364EF0 4B FD 6C F5 */ bl ReadLong__12CInputStreamFv /* 80367F94 00364EF4 7C 7E 1B 78 */ mr r30, r3 /* 80367F98 00364EF8 38 61 00 18 */ addi r3, r1, 0x18 /* 80367F9C 00364EFC 38 81 00 50 */ addi r4, r1, 0x50 /* 80367FA0 00364F00 4B FD 66 B9 */ bl ReadString__13CStringExtrasFR12CInputStream /* 80367FA4 00364F04 38 61 00 28 */ addi r3, r1, 0x28 /* 80367FA8 00364F08 38 81 00 18 */ addi r4, r1, 0x18 /* 80367FAC 00364F0C 4B FD 61 B5 */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80367FB0 00364F10 38 61 00 18 */ addi r3, r1, 0x18 /* 80367FB4 00364F14 4B FD 5B 2D */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80367FB8 00364F18 38 61 00 38 */ addi r3, r1, 0x38 /* 80367FBC 00364F1C 38 81 00 28 */ addi r4, r1, 0x28 /* 80367FC0 00364F20 4B FD 61 A1 */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80367FC4 00364F24 93 A1 00 48 */ stw r29, 0x48(r1) /* 80367FC8 00364F28 93 C1 00 4C */ stw r30, 0x4c(r1) /* 80367FCC 00364F2C 80 1F 00 58 */ lwz r0, 0x58(r31) /* 80367FD0 00364F30 80 BF 00 5C */ lwz r5, 0x5c(r31) /* 80367FD4 00364F34 7C 00 28 00 */ cmpw r0, r5 /* 80367FD8 00364F38 41 80 00 1C */ blt lbl_80367FF4 /* 80367FDC 00364F3C 2C 05 00 00 */ cmpwi r5, 0 /* 80367FE0 00364F40 38 7F 00 54 */ addi r3, r31, 0x54 /* 80367FE4 00364F44 38 80 00 04 */ li r4, 4 /* 80367FE8 00364F48 41 82 00 08 */ beq lbl_80367FF0 /* 80367FEC 00364F4C 54 A4 08 3C */ slwi r4, r5, 1 lbl_80367FF0: /* 80367FF0 00364F50 4B EB 51 D5 */ bl "reserve__Q24rstl138vector,Q24rstl17rmemory_allocator>,10SObjectTag>,Q24rstl17rmemory_allocator>Fi" lbl_80367FF4: /* 80367FF4 00364F54 80 1F 00 58 */ lwz r0, 0x58(r31) /* 80367FF8 00364F58 80 7F 00 60 */ lwz r3, 0x60(r31) /* 80367FFC 00364F5C 1C 00 00 18 */ mulli r0, r0, 0x18 /* 80368000 00364F60 7F A3 02 15 */ add. r29, r3, r0 /* 80368004 00364F64 41 82 00 20 */ beq lbl_80368024 /* 80368008 00364F68 7F A3 EB 78 */ mr r3, r29 /* 8036800C 00364F6C 38 81 00 38 */ addi r4, r1, 0x38 /* 80368010 00364F70 4B FD 61 51 */ bl "__ct__Q24rstl66basic_string,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>" /* 80368014 00364F74 80 01 00 48 */ lwz r0, 0x48(r1) /* 80368018 00364F78 90 1D 00 10 */ stw r0, 0x10(r29) /* 8036801C 00364F7C 80 01 00 4C */ lwz r0, 0x4c(r1) /* 80368020 00364F80 90 1D 00 14 */ stw r0, 0x14(r29) lbl_80368024: /* 80368024 00364F84 80 9F 00 58 */ lwz r4, 0x58(r31) /* 80368028 00364F88 38 61 00 38 */ addi r3, r1, 0x38 /* 8036802C 00364F8C 38 04 00 01 */ addi r0, r4, 1 /* 80368030 00364F90 90 1F 00 58 */ stw r0, 0x58(r31) /* 80368034 00364F94 4B FD 5A AD */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80368038 00364F98 38 61 00 28 */ addi r3, r1, 0x28 /* 8036803C 00364F9C 4B FD 5A A5 */ bl "internal_dereference__Q24rstl66basic_string,Q24rstl17rmemory_allocator>Fv" /* 80368040 00364FA0 3B 7B 00 01 */ addi r27, r27, 1 lbl_80368044: /* 80368044 00364FA4 7C 1B E0 00 */ cmpw r27, r28 /* 80368048 00364FA8 41 80 FF 38 */ blt lbl_80367F80 /* 8036804C 00364FAC 38 61 00 50 */ addi r3, r1, 0x50 /* 80368050 00364FB0 4B FD 6C 35 */ bl ReadLong__12CInputStreamFv /* 80368054 00364FB4 90 7F 00 4C */ stw r3, 0x4c(r31) /* 80368058 00364FB8 38 00 00 02 */ li r0, 2 /* 8036805C 00364FBC 80 61 00 68 */ lwz r3, 0x68(r1) /* 80368060 00364FC0 90 7F 00 48 */ stw r3, 0x48(r31) /* 80368064 00364FC4 90 1F 00 2C */ stw r0, 0x2c(r31) /* 80368068 00364FC8 80 1F 00 4C */ lwz r0, 0x4c(r31) /* 8036806C 00364FCC 80 7F 00 48 */ lwz r3, 0x48(r31) /* 80368070 00364FD0 1C 80 00 14 */ mulli r4, r0, 0x14 /* 80368074 00364FD4 83 9F 00 3C */ lwz r28, 0x3c(r31) /* 80368078 00364FD8 38 03 00 1F */ addi r0, r3, 0x1f /* 8036807C 00364FDC 7C 04 02 14 */ add r0, r4, r0 /* 80368080 00364FE0 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a /* 80368084 00364FE4 7C 04 E0 00 */ cmpw r4, r28 /* 80368088 00364FE8 40 81 00 C8 */ ble lbl_80368150 /* 8036808C 00364FEC 38 7F 00 38 */ addi r3, r31, 0x38 /* 80368090 00364FF0 38 AD 9E 8D */ addi r5, r13, lbl_805A8A4D@sda21 /* 80368094 00364FF4 48 00 00 F1 */ bl sub_80368184 /* 80368098 00364FF8 80 9F 00 44 */ lwz r4, 0x44(r31) /* 8036809C 00364FFC 7F E3 FB 78 */ mr r3, r31 /* 803680A0 00365000 80 1F 00 3C */ lwz r0, 0x3c(r31) /* 803680A4 00365004 7F 87 E3 78 */ mr r7, r28 /* 803680A8 00365008 7C 84 E2 14 */ add r4, r4, r28 /* 803680AC 0036500C 38 C0 00 00 */ li r6, 0 /* 803680B0 00365010 7C BC 00 50 */ subf r5, r28, r0 /* 803680B4 00365014 4B FE 79 0D */ bl AsyncSeekRead__8CDvdFileFPvUi11ESeekOrigini /* 803680B8 00365018 7C 03 00 D0 */ neg r0, r3 /* 803680BC 0036501C 38 81 00 08 */ addi r4, r1, 8 /* 803680C0 00365020 7C 05 1B 78 */ or r5, r0, r3 /* 803680C4 00365024 38 1F 00 30 */ addi r0, r31, 0x30 /* 803680C8 00365028 54 A5 0F FE */ srwi r5, r5, 0x1f /* 803680CC 0036502C 90 61 00 0C */ stw r3, 0xc(r1) /* 803680D0 00365030 7C 04 00 40 */ cmplw r4, r0 /* 803680D4 00365034 98 A1 00 08 */ stb r5, 8(r1) /* 803680D8 00365038 41 82 00 48 */ beq lbl_80368120 /* 803680DC 0036503C 88 1F 00 30 */ lbz r0, 0x30(r31) /* 803680E0 00365040 28 00 00 00 */ cmplwi r0, 0 /* 803680E4 00365044 41 82 00 24 */ beq lbl_80368108 /* 803680E8 00365048 80 7F 00 34 */ lwz r3, 0x34(r31) /* 803680EC 0036504C 28 03 00 00 */ cmplwi r3, 0 /* 803680F0 00365050 41 82 00 18 */ beq lbl_80368108 /* 803680F4 00365054 81 83 00 00 */ lwz r12, 0(r3) /* 803680F8 00365058 38 80 00 01 */ li r4, 1 /* 803680FC 0036505C 81 8C 00 08 */ lwz r12, 8(r12) /* 80368100 00365060 7D 89 03 A6 */ mtctr r12 /* 80368104 00365064 4E 80 04 21 */ bctrl lbl_80368108: /* 80368108 00365068 88 61 00 08 */ lbz r3, 8(r1) /* 8036810C 0036506C 38 00 00 00 */ li r0, 0 /* 80368110 00365070 98 7F 00 30 */ stb r3, 0x30(r31) /* 80368114 00365074 80 61 00 0C */ lwz r3, 0xc(r1) /* 80368118 00365078 90 7F 00 34 */ stw r3, 0x34(r31) /* 8036811C 0036507C 98 01 00 08 */ stb r0, 8(r1) lbl_80368120: /* 80368120 00365080 88 01 00 08 */ lbz r0, 8(r1) /* 80368124 00365084 28 00 00 00 */ cmplwi r0, 0 /* 80368128 00365088 41 82 00 30 */ beq lbl_80368158 /* 8036812C 0036508C 80 61 00 0C */ lwz r3, 0xc(r1) /* 80368130 00365090 28 03 00 00 */ cmplwi r3, 0 /* 80368134 00365094 41 82 00 24 */ beq lbl_80368158 /* 80368138 00365098 81 83 00 00 */ lwz r12, 0(r3) /* 8036813C 0036509C 38 80 00 01 */ li r4, 1 /* 80368140 003650A0 81 8C 00 08 */ lwz r12, 8(r12) /* 80368144 003650A4 7D 89 03 A6 */ mtctr r12 /* 80368148 003650A8 4E 80 04 21 */ bctrl /* 8036814C 003650AC 48 00 00 0C */ b lbl_80368158 lbl_80368150: /* 80368150 003650B0 7F E3 FB 78 */ mr r3, r31 /* 80368154 003650B4 4B FF FB 61 */ bl DataLoad__8CPakFileFv lbl_80368158: /* 80368158 003650B8 3C 80 80 3F */ lis r4, __vt__15CMemoryInStream@ha /* 8036815C 003650BC 38 61 00 50 */ addi r3, r1, 0x50 /* 80368160 003650C0 38 04 E3 98 */ addi r0, r4, __vt__15CMemoryInStream@l /* 80368164 003650C4 38 80 00 00 */ li r4, 0 /* 80368168 003650C8 90 01 00 50 */ stw r0, 0x50(r1) /* 8036816C 003650CC 4B FD 6F 41 */ bl __dt__12CInputStreamFv lbl_80368170: /* 80368170 003650D0 BB 61 01 7C */ lmw r27, 0x17c(r1) /* 80368174 003650D4 80 01 01 94 */ lwz r0, 0x194(r1) /* 80368178 003650D8 7C 08 03 A6 */ mtlr r0 /* 8036817C 003650DC 38 21 01 90 */ addi r1, r1, 0x190 /* 80368180 003650E0 4E 80 00 20 */ blr .global sub_80368184 sub_80368184: /* 80368184 003650E4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80368188 003650E8 7C 08 02 A6 */ mflr r0 /* 8036818C 003650EC 90 01 00 34 */ stw r0, 0x34(r1) /* 80368190 003650F0 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80368194 003650F4 7C BF 2B 78 */ mr r31, r5 /* 80368198 003650F8 93 C1 00 28 */ stw r30, 0x28(r1) /* 8036819C 003650FC 7C 9E 23 78 */ mr r30, r4 /* 803681A0 00365100 93 A1 00 24 */ stw r29, 0x24(r1) /* 803681A4 00365104 7C 7D 1B 78 */ mr r29, r3 /* 803681A8 00365108 80 03 00 04 */ lwz r0, 4(r3) /* 803681AC 0036510C 7C 00 F0 00 */ cmpw r0, r30 /* 803681B0 00365110 41 82 00 78 */ beq lbl_80368228 /* 803681B4 00365114 7C 1E 00 00 */ cmpw r30, r0 /* 803681B8 00365118 40 81 00 3C */ ble lbl_803681F4 /* 803681BC 0036511C 4B FE 6B 75 */ bl sub_8034ed30 /* 803681C0 00365120 80 7D 00 04 */ lwz r3, 4(r29) /* 803681C4 00365124 80 1D 00 0C */ lwz r0, 0xc(r29) /* 803681C8 00365128 7C 83 F0 51 */ subf. r4, r3, r30 /* 803681CC 0036512C 7C 60 1A 14 */ add r3, r0, r3 /* 803681D0 00365130 7C 89 03 A6 */ mtctr r4 /* 803681D4 00365134 40 81 00 50 */ ble lbl_80368224 lbl_803681D8: /* 803681D8 00365138 28 03 00 00 */ cmplwi r3, 0 /* 803681DC 0036513C 41 82 00 0C */ beq lbl_803681E8 /* 803681E0 00365140 88 1F 00 00 */ lbz r0, 0(r31) /* 803681E4 00365144 98 03 00 00 */ stb r0, 0(r3) lbl_803681E8: /* 803681E8 00365148 38 63 00 01 */ addi r3, r3, 1 /* 803681EC 0036514C 42 00 FF EC */ bdnz lbl_803681D8 /* 803681F0 00365150 48 00 00 34 */ b lbl_80368224 lbl_803681F4: /* 803681F4 00365154 80 9D 00 0C */ lwz r4, 0xc(r29) /* 803681F8 00365158 7C 64 02 14 */ add r3, r4, r0 /* 803681FC 0036515C 7C 84 F2 14 */ add r4, r4, r30 /* 80368200 00365160 7C 04 18 50 */ subf r0, r4, r3 /* 80368204 00365164 90 61 00 08 */ stw r3, 8(r1) /* 80368208 00365168 90 61 00 0C */ stw r3, 0xc(r1) /* 8036820C 0036516C 90 81 00 10 */ stw r4, 0x10(r1) /* 80368210 00365170 90 81 00 14 */ stw r4, 0x14(r1) /* 80368214 00365174 7C 09 03 A6 */ mtctr r0 /* 80368218 00365178 7C 04 18 40 */ cmplw r4, r3 /* 8036821C 0036517C 41 82 00 08 */ beq lbl_80368224 lbl_80368220: /* 80368220 00365180 42 00 00 00 */ bdnz lbl_80368220 lbl_80368224: /* 80368224 00365184 93 DD 00 04 */ stw r30, 4(r29) lbl_80368228: /* 80368228 00365188 80 01 00 34 */ lwz r0, 0x34(r1) /* 8036822C 0036518C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80368230 00365190 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80368234 00365194 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80368238 00365198 7C 08 03 A6 */ mtlr r0 /* 8036823C 0036519C 38 21 00 30 */ addi r1, r1, 0x30 /* 80368240 003651A0 4E 80 00 20 */ blr .global Warmup__8CPakFileFv Warmup__8CPakFileFv: /* 80368244 003651A4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80368248 003651A8 7C 08 02 A6 */ mflr r0 /* 8036824C 003651AC 90 01 00 24 */ stw r0, 0x24(r1) /* 80368250 003651B0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80368254 003651B4 7C 7F 1B 78 */ mr r31, r3 /* 80368258 003651B8 93 C1 00 18 */ stw r30, 0x18(r1) /* 8036825C 003651BC 80 83 00 14 */ lwz r4, 0x14(r3) /* 80368260 003651C0 38 61 00 08 */ addi r3, r1, 8 /* 80368264 003651C4 80 0D 9E 88 */ lwz r0, lbl_805A8A48@sda21(r13) /* 80368268 003651C8 90 81 00 08 */ stw r4, 8(r1) /* 8036826C 003651CC 7C 00 20 00 */ cmpw r0, r4 /* 80368270 003651D0 40 80 00 08 */ bge lbl_80368278 /* 80368274 003651D4 38 6D 9E 88 */ addi r3, r13, lbl_805A8A48@sda21 lbl_80368278: /* 80368278 003651D8 83 C3 00 00 */ lwz r30, 0(r3) /* 8036827C 003651DC 38 7F 00 38 */ addi r3, r31, 0x38 /* 80368280 003651E0 38 AD 9E 8C */ addi r5, r13, lbl_805A8A4C@sda21 /* 80368284 003651E4 7F C4 F3 78 */ mr r4, r30 /* 80368288 003651E8 4B FF FE FD */ bl sub_80368184 /* 8036828C 003651EC 80 9F 00 44 */ lwz r4, 0x44(r31) /* 80368290 003651F0 7F E3 FB 78 */ mr r3, r31 /* 80368294 003651F4 7F C5 F3 78 */ mr r5, r30 /* 80368298 003651F8 4B FE 79 51 */ bl SyncRead__8CDvdFileFPvUi /* 8036829C 003651FC 7C 03 00 D0 */ neg r0, r3 /* 803682A0 00365200 38 81 00 0C */ addi r4, r1, 0xc /* 803682A4 00365204 7C 05 1B 78 */ or r5, r0, r3 /* 803682A8 00365208 38 1F 00 30 */ addi r0, r31, 0x30 /* 803682AC 0036520C 54 A5 0F FE */ srwi r5, r5, 0x1f /* 803682B0 00365210 90 61 00 10 */ stw r3, 0x10(r1) /* 803682B4 00365214 7C 04 00 40 */ cmplw r4, r0 /* 803682B8 00365218 98 A1 00 0C */ stb r5, 0xc(r1) /* 803682BC 0036521C 41 82 00 48 */ beq lbl_80368304 /* 803682C0 00365220 88 1F 00 30 */ lbz r0, 0x30(r31) /* 803682C4 00365224 28 00 00 00 */ cmplwi r0, 0 /* 803682C8 00365228 41 82 00 24 */ beq lbl_803682EC /* 803682CC 0036522C 80 7F 00 34 */ lwz r3, 0x34(r31) /* 803682D0 00365230 28 03 00 00 */ cmplwi r3, 0 /* 803682D4 00365234 41 82 00 18 */ beq lbl_803682EC /* 803682D8 00365238 81 83 00 00 */ lwz r12, 0(r3) /* 803682DC 0036523C 38 80 00 01 */ li r4, 1 /* 803682E0 00365240 81 8C 00 08 */ lwz r12, 8(r12) /* 803682E4 00365244 7D 89 03 A6 */ mtctr r12 /* 803682E8 00365248 4E 80 04 21 */ bctrl lbl_803682EC: /* 803682EC 0036524C 88 61 00 0C */ lbz r3, 0xc(r1) /* 803682F0 00365250 38 00 00 00 */ li r0, 0 /* 803682F4 00365254 98 7F 00 30 */ stb r3, 0x30(r31) /* 803682F8 00365258 80 61 00 10 */ lwz r3, 0x10(r1) /* 803682FC 0036525C 90 7F 00 34 */ stw r3, 0x34(r31) /* 80368300 00365260 98 01 00 0C */ stb r0, 0xc(r1) lbl_80368304: /* 80368304 00365264 88 01 00 0C */ lbz r0, 0xc(r1) /* 80368308 00365268 28 00 00 00 */ cmplwi r0, 0 /* 8036830C 0036526C 41 82 00 24 */ beq lbl_80368330 /* 80368310 00365270 80 61 00 10 */ lwz r3, 0x10(r1) /* 80368314 00365274 28 03 00 00 */ cmplwi r3, 0 /* 80368318 00365278 41 82 00 18 */ beq lbl_80368330 /* 8036831C 0036527C 81 83 00 00 */ lwz r12, 0(r3) /* 80368320 00365280 38 80 00 01 */ li r4, 1 /* 80368324 00365284 81 8C 00 08 */ lwz r12, 8(r12) /* 80368328 00365288 7D 89 03 A6 */ mtctr r12 /* 8036832C 0036528C 4E 80 04 21 */ bctrl lbl_80368330: /* 80368330 00365290 38 00 00 01 */ li r0, 1 /* 80368334 00365294 90 1F 00 2C */ stw r0, 0x2c(r31) /* 80368338 00365298 80 01 00 24 */ lwz r0, 0x24(r1) /* 8036833C 0036529C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80368340 003652A0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80368344 003652A4 7C 08 03 A6 */ mtlr r0 /* 80368348 003652A8 38 21 00 20 */ addi r1, r1, 0x20 /* 8036834C 003652AC 4E 80 00 20 */ blr .global AsyncIdle__8CPakFileFv AsyncIdle__8CPakFileFv: /* 80368350 003652B0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80368354 003652B4 7C 08 02 A6 */ mflr r0 /* 80368358 003652B8 90 01 00 14 */ stw r0, 0x14(r1) /* 8036835C 003652BC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80368360 003652C0 7C 7F 1B 78 */ mr r31, r3 /* 80368364 003652C4 80 03 00 2C */ lwz r0, 0x2c(r3) /* 80368368 003652C8 2C 00 00 03 */ cmpwi r0, 3 /* 8036836C 003652CC 41 82 00 7C */ beq lbl_803683E8 /* 80368370 003652D0 4B FE 7C 0D */ bl sub_8034ff7c /* 80368374 003652D4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 80368378 003652D8 41 82 00 70 */ beq lbl_803683E8 /* 8036837C 003652DC 80 7F 00 34 */ lwz r3, 0x34(r31) /* 80368380 003652E0 28 03 00 00 */ cmplwi r3, 0 /* 80368384 003652E4 41 82 00 1C */ beq lbl_803683A0 /* 80368388 003652E8 81 83 00 00 */ lwz r12, 0(r3) /* 8036838C 003652EC 81 8C 00 10 */ lwz r12, 0x10(r12) /* 80368390 003652F0 7D 89 03 A6 */ mtctr r12 /* 80368394 003652F4 4E 80 04 21 */ bctrl /* 80368398 003652F8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8036839C 003652FC 41 82 00 4C */ beq lbl_803683E8 lbl_803683A0: /* 803683A0 00365300 80 1F 00 2C */ lwz r0, 0x2c(r31) /* 803683A4 00365304 2C 00 00 01 */ cmpwi r0, 1 /* 803683A8 00365308 41 82 00 2C */ beq lbl_803683D4 /* 803683AC 0036530C 40 80 00 10 */ bge lbl_803683BC /* 803683B0 00365310 2C 00 00 00 */ cmpwi r0, 0 /* 803683B4 00365314 40 80 00 14 */ bge lbl_803683C8 /* 803683B8 00365318 48 00 00 30 */ b lbl_803683E8 lbl_803683BC: /* 803683BC 0036531C 2C 00 00 03 */ cmpwi r0, 3 /* 803683C0 00365320 40 80 00 28 */ bge lbl_803683E8 /* 803683C4 00365324 48 00 00 1C */ b lbl_803683E0 lbl_803683C8: /* 803683C8 00365328 7F E3 FB 78 */ mr r3, r31 /* 803683CC 0036532C 4B FF FE 79 */ bl Warmup__8CPakFileFv /* 803683D0 00365330 48 00 00 18 */ b lbl_803683E8 lbl_803683D4: /* 803683D4 00365334 7F E3 FB 78 */ mr r3, r31 /* 803683D8 00365338 4B FF FA 7D */ bl InitialHeaderLoad__8CPakFileFv /* 803683DC 0036533C 48 00 00 0C */ b lbl_803683E8 lbl_803683E0: /* 803683E0 00365340 7F E3 FB 78 */ mr r3, r31 /* 803683E4 00365344 4B FF F8 D1 */ bl DataLoad__8CPakFileFv lbl_803683E8: /* 803683E8 00365348 80 01 00 14 */ lwz r0, 0x14(r1) /* 803683EC 0036534C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803683F0 00365350 7C 08 03 A6 */ mtlr r0 /* 803683F4 00365354 38 21 00 10 */ addi r1, r1, 0x10 /* 803683F8 00365358 4E 80 00 20 */ blr .global __dt__8CPakFileFv __dt__8CPakFileFv: /* 803683FC 0036535C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80368400 00365360 7C 08 02 A6 */ mflr r0 /* 80368404 00365364 90 01 00 44 */ stw r0, 0x44(r1) /* 80368408 00365368 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8036840C 0036536C 7C 9F 23 78 */ mr r31, r4 /* 80368410 00365370 93 C1 00 38 */ stw r30, 0x38(r1) /* 80368414 00365374 7C 7E 1B 79 */ or. r30, r3, r3 /* 80368418 00365378 41 82 01 5C */ beq lbl_80368574 /* 8036841C 0036537C 48 00 00 0C */ b lbl_80368428 lbl_80368420: /* 80368420 00365380 7F C3 F3 78 */ mr r3, r30 /* 80368424 00365384 4B FF FF 2D */ bl AsyncIdle__8CPakFileFv lbl_80368428: /* 80368428 00365388 80 1E 00 2C */ lwz r0, 0x2c(r30) /* 8036842C 0036538C 2C 00 00 03 */ cmpwi r0, 3 /* 80368430 00365390 40 82 FF F0 */ bne lbl_80368420 /* 80368434 00365394 7F C3 F3 78 */ mr r3, r30 /* 80368438 00365398 4B FF F6 79 */ bl GetFakeStaticSize__8CPakFileCFv /* 8036843C 0036539C 7C 63 00 D0 */ neg r3, r3 /* 80368440 003653A0 4B FA D4 81 */ bl OffsetFakeStatics__7CMemoryFi /* 80368444 003653A4 80 7E 00 50 */ lwz r3, 0x50(r30) /* 80368448 003653A8 4B FD C6 75 */ bl Free__12CARAMManagerFPCv /* 8036844C 003653AC 34 1E 00 74 */ addic. r0, r30, 0x74 /* 80368450 003653B0 41 82 00 44 */ beq lbl_80368494 /* 80368454 003653B4 80 1E 00 78 */ lwz r0, 0x78(r30) /* 80368458 003653B8 80 7E 00 80 */ lwz r3, 0x80(r30) /* 8036845C 003653BC 1C 00 00 0A */ mulli r0, r0, 0xa /* 80368460 003653C0 90 61 00 2C */ stw r3, 0x2c(r1) /* 80368464 003653C4 7C 64 1B 78 */ mr r4, r3 /* 80368468 003653C8 7C 03 02 14 */ add r0, r3, r0 /* 8036846C 003653CC 90 61 00 28 */ stw r3, 0x28(r1) /* 80368470 003653D0 90 01 00 34 */ stw r0, 0x34(r1) /* 80368474 003653D4 90 01 00 30 */ stw r0, 0x30(r1) /* 80368478 003653D8 48 00 00 08 */ b lbl_80368480 lbl_8036847C: /* 8036847C 003653DC 38 84 00 0A */ addi r4, r4, 0xa lbl_80368480: /* 80368480 003653E0 7C 04 00 40 */ cmplw r4, r0 /* 80368484 003653E4 40 82 FF F8 */ bne lbl_8036847C /* 80368488 003653E8 28 03 00 00 */ cmplwi r3, 0 /* 8036848C 003653EC 41 82 00 08 */ beq lbl_80368494 /* 80368490 003653F0 4B FA D4 A1 */ bl Free__7CMemoryFPCv lbl_80368494: /* 80368494 003653F4 34 1E 00 64 */ addic. r0, r30, 0x64 /* 80368498 003653F8 41 82 00 44 */ beq lbl_803684DC /* 8036849C 003653FC 80 1E 00 68 */ lwz r0, 0x68(r30) /* 803684A0 00365400 80 7E 00 70 */ lwz r3, 0x70(r30) /* 803684A4 00365404 54 00 10 3A */ slwi r0, r0, 2 /* 803684A8 00365408 7C 03 02 14 */ add r0, r3, r0 /* 803684AC 0036540C 90 61 00 1C */ stw r3, 0x1c(r1) /* 803684B0 00365410 7C 64 1B 78 */ mr r4, r3 /* 803684B4 00365414 90 01 00 24 */ stw r0, 0x24(r1) /* 803684B8 00365418 90 01 00 20 */ stw r0, 0x20(r1) /* 803684BC 0036541C 90 61 00 18 */ stw r3, 0x18(r1) /* 803684C0 00365420 48 00 00 08 */ b lbl_803684C8 lbl_803684C4: /* 803684C4 00365424 38 84 00 04 */ addi r4, r4, 4 lbl_803684C8: /* 803684C8 00365428 7C 04 00 40 */ cmplw r4, r0 /* 803684CC 0036542C 40 82 FF F8 */ bne lbl_803684C4 /* 803684D0 00365430 28 03 00 00 */ cmplwi r3, 0 /* 803684D4 00365434 41 82 00 08 */ beq lbl_803684DC /* 803684D8 00365438 4B FA D4 59 */ bl Free__7CMemoryFPCv lbl_803684DC: /* 803684DC 0036543C 38 7E 00 54 */ addi r3, r30, 0x54 /* 803684E0 00365440 38 80 FF FF */ li r4, -1 /* 803684E4 00365444 4B C9 C5 09 */ bl sub_800049ec /* 803684E8 00365448 34 1E 00 38 */ addic. r0, r30, 0x38 /* 803684EC 0036544C 41 82 00 38 */ beq lbl_80368524 /* 803684F0 00365450 80 7E 00 44 */ lwz r3, 0x44(r30) /* 803684F4 00365454 80 1E 00 3C */ lwz r0, 0x3c(r30) /* 803684F8 00365458 90 61 00 0C */ stw r3, 0xc(r1) /* 803684FC 0036545C 7C 83 02 14 */ add r4, r3, r0 /* 80368500 00365460 7C 03 20 50 */ subf r0, r3, r4 /* 80368504 00365464 90 81 00 14 */ stw r4, 0x14(r1) /* 80368508 00365468 90 81 00 10 */ stw r4, 0x10(r1) /* 8036850C 0036546C 90 61 00 08 */ stw r3, 8(r1) /* 80368510 00365470 7C 09 03 A6 */ mtctr r0 /* 80368514 00365474 7C 03 20 40 */ cmplw r3, r4 /* 80368518 00365478 41 82 00 08 */ beq lbl_80368520 lbl_8036851C: /* 8036851C 0036547C 42 00 00 00 */ bdnz lbl_8036851C lbl_80368520: /* 80368520 00365480 4B FA D4 11 */ bl Free__7CMemoryFPCv lbl_80368524: /* 80368524 00365484 34 1E 00 30 */ addic. r0, r30, 0x30 /* 80368528 00365488 41 82 00 30 */ beq lbl_80368558 /* 8036852C 0036548C 88 1E 00 30 */ lbz r0, 0x30(r30) /* 80368530 00365490 28 00 00 00 */ cmplwi r0, 0 /* 80368534 00365494 41 82 00 24 */ beq lbl_80368558 /* 80368538 00365498 80 7E 00 34 */ lwz r3, 0x34(r30) /* 8036853C 0036549C 28 03 00 00 */ cmplwi r3, 0 /* 80368540 003654A0 41 82 00 18 */ beq lbl_80368558 /* 80368544 003654A4 81 83 00 00 */ lwz r12, 0(r3) /* 80368548 003654A8 38 80 00 01 */ li r4, 1 /* 8036854C 003654AC 81 8C 00 08 */ lwz r12, 8(r12) /* 80368550 003654B0 7D 89 03 A6 */ mtctr r12 /* 80368554 003654B4 4E 80 04 21 */ bctrl lbl_80368558: /* 80368558 003654B8 7F C3 F3 78 */ mr r3, r30 /* 8036855C 003654BC 38 80 FF FF */ li r4, -1 /* 80368560 003654C0 4B FE 76 B1 */ bl __dt__8CDvdFileFv /* 80368564 003654C4 7F E0 07 35 */ extsh. r0, r31 /* 80368568 003654C8 40 81 00 0C */ ble lbl_80368574 /* 8036856C 003654CC 7F C3 F3 78 */ mr r3, r30 /* 80368570 003654D0 4B FA D3 C1 */ bl Free__7CMemoryFPCv lbl_80368574: /* 80368574 003654D4 80 01 00 44 */ lwz r0, 0x44(r1) /* 80368578 003654D8 7F C3 F3 78 */ mr r3, r30 /* 8036857C 003654DC 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80368580 003654E0 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80368584 003654E4 7C 08 03 A6 */ mtlr r0 /* 80368588 003654E8 38 21 00 40 */ addi r1, r1, 0x40 /* 8036858C 003654EC 4E 80 00 20 */ blr .global "__ct__8CPakFileFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>b" "__ct__8CPakFileFRCQ24rstl66basic_string,Q24rstl17rmemory_allocator>b": /* 80368590 003654F0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80368594 003654F4 7C 08 02 A6 */ mflr r0 /* 80368598 003654F8 90 01 00 24 */ stw r0, 0x24(r1) /* 8036859C 003654FC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803685A0 00365500 7C DF 33 78 */ mr r31, r6 /* 803685A4 00365504 93 C1 00 18 */ stw r30, 0x18(r1) /* 803685A8 00365508 7C BE 2B 78 */ mr r30, r5 /* 803685AC 0036550C 93 A1 00 14 */ stw r29, 0x14(r1) /* 803685B0 00365510 7C 7D 1B 78 */ mr r29, r3 /* 803685B4 00365514 80 84 00 00 */ lwz r4, 0(r4) /* 803685B8 00365518 4B FE 77 19 */ bl __ct__8CDvdFileFPCc /* 803685BC 0036551C 88 1D 00 28 */ lbz r0, 0x28(r29) /* 803685C0 00365520 53 C0 3E 30 */ rlwimi r0, r30, 7, 0x18, 0x18 /* 803685C4 00365524 38 C0 00 00 */ li r6, 0 /* 803685C8 00365528 80 82 CB A8 */ lwz r4, lbl_805AE8C8@sda21(r2) /* 803685CC 0036552C 98 1D 00 28 */ stb r0, 0x28(r29) /* 803685D0 00365530 38 00 FF FF */ li r0, -1 /* 803685D4 00365534 7F A3 EB 78 */ mr r3, r29 /* 803685D8 00365538 88 FD 00 08 */ lbz r7, 8(r29) /* 803685DC 0036553C 88 BD 00 28 */ lbz r5, 0x28(r29) /* 803685E0 00365540 50 E5 36 72 */ rlwimi r5, r7, 6, 0x19, 0x19 /* 803685E4 00365544 98 BD 00 28 */ stb r5, 0x28(r29) /* 803685E8 00365548 88 BD 00 28 */ lbz r5, 0x28(r29) /* 803685EC 0036554C 53 E5 2E B4 */ rlwimi r5, r31, 5, 0x1a, 0x1a /* 803685F0 00365550 98 BD 00 28 */ stb r5, 0x28(r29) /* 803685F4 00365554 88 BD 00 28 */ lbz r5, 0x28(r29) /* 803685F8 00365558 50 C5 26 F6 */ rlwimi r5, r6, 4, 0x1b, 0x1b /* 803685FC 0036555C 98 BD 00 28 */ stb r5, 0x28(r29) /* 80368600 00365560 90 DD 00 2C */ stw r6, 0x2c(r29) /* 80368604 00365564 98 DD 00 30 */ stb r6, 0x30(r29) /* 80368608 00365568 90 DD 00 34 */ stw r6, 0x34(r29) /* 8036860C 0036556C 90 DD 00 3C */ stw r6, 0x3c(r29) /* 80368610 00365570 90 DD 00 40 */ stw r6, 0x40(r29) /* 80368614 00365574 90 DD 00 44 */ stw r6, 0x44(r29) /* 80368618 00365578 90 DD 00 48 */ stw r6, 0x48(r29) /* 8036861C 0036557C 90 DD 00 4C */ stw r6, 0x4c(r29) /* 80368620 00365580 90 9D 00 50 */ stw r4, 0x50(r29) /* 80368624 00365584 90 DD 00 58 */ stw r6, 0x58(r29) /* 80368628 00365588 90 DD 00 5C */ stw r6, 0x5c(r29) /* 8036862C 0036558C 90 DD 00 60 */ stw r6, 0x60(r29) /* 80368630 00365590 90 DD 00 68 */ stw r6, 0x68(r29) /* 80368634 00365594 90 DD 00 6C */ stw r6, 0x6c(r29) /* 80368638 00365598 90 DD 00 70 */ stw r6, 0x70(r29) /* 8036863C 0036559C 90 DD 00 78 */ stw r6, 0x78(r29) /* 80368640 003655A0 90 DD 00 7C */ stw r6, 0x7c(r29) /* 80368644 003655A4 90 DD 00 80 */ stw r6, 0x80(r29) /* 80368648 003655A8 90 1D 00 84 */ stw r0, 0x84(r29) /* 8036864C 003655AC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80368650 003655B0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80368654 003655B4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80368658 003655B8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8036865C 003655BC 7C 08 03 A6 */ mtlr r0 /* 80368660 003655C0 38 21 00 20 */ addi r1, r1, 0x20 /* 80368664 003655C4 4E 80 00 20 */ blr .global IsCompressed__Q28CPakFile8SResInfoCFv IsCompressed__Q28CPakFile8SResInfoCFv: /* 80368668 003655C8 88 03 00 04 */ lbz r0, 4(r3) /* 8036866C 003655CC 54 03 00 30 */ rlwinm r3, r0, 0, 0, 0x18 /* 80368670 003655D0 7C 03 00 D0 */ neg r0, r3 /* 80368674 003655D4 7C 00 1B 78 */ or r0, r0, r3 /* 80368678 003655D8 54 03 0F FE */ srwi r3, r0, 0x1f /* 8036867C 003655DC 4E 80 00 20 */ blr .global GetSize__Q28CPakFile8SResInfoCFv GetSize__Q28CPakFile8SResInfoCFv: /* 80368680 003655E0 88 83 00 07 */ lbz r4, 7(r3) /* 80368684 003655E4 88 03 00 08 */ lbz r0, 8(r3) /* 80368688 003655E8 7C 84 3E 70 */ srawi r4, r4, 7 /* 8036868C 003655EC 88 63 00 09 */ lbz r3, 9(r3) /* 80368690 003655F0 50 04 0D FC */ rlwimi r4, r0, 1, 0x17, 0x1e /* 80368694 003655F4 50 64 4B EC */ rlwimi r4, r3, 9, 0xf, 0x16 /* 80368698 003655F8 54 83 28 34 */ slwi r3, r4, 5 /* 8036869C 003655FC 4E 80 00 20 */ blr .global GetOffset__Q28CPakFile8SResInfoCFv GetOffset__Q28CPakFile8SResInfoCFv: /* 803686A0 00365600 88 83 00 05 */ lbz r4, 5(r3) /* 803686A4 00365604 88 03 00 06 */ lbz r0, 6(r3) /* 803686A8 00365608 88 63 00 07 */ lbz r3, 7(r3) /* 803686AC 0036560C 50 04 44 2E */ rlwimi r4, r0, 8, 0x10, 0x17 /* 803686B0 00365610 50 64 82 1E */ rlwimi r4, r3, 0x10, 8, 0xf /* 803686B4 00365614 54 83 29 34 */ rlwinm r3, r4, 5, 4, 0x1a /* 803686B8 00365618 4E 80 00 20 */ blr .global GetType__Q28CPakFile8SResInfoCFv GetType__Q28CPakFile8SResInfoCFv: /* 803686BC 0036561C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803686C0 00365620 7C 08 02 A6 */ mflr r0 /* 803686C4 00365624 90 01 00 14 */ stw r0, 0x14(r1) /* 803686C8 00365628 88 03 00 04 */ lbz r0, 4(r3) /* 803686CC 0036562C 54 03 06 7E */ clrlwi r3, r0, 0x19 /* 803686D0 00365630 4B FD 00 09 */ bl TypeIdxToFourCC__11CFactoryMgrFUi /* 803686D4 00365634 80 01 00 14 */ lwz r0, 0x14(r1) /* 803686D8 00365638 7C 08 03 A6 */ mtlr r0 /* 803686DC 0036563C 38 21 00 10 */ addi r1, r1, 0x10 /* 803686E0 00365640 4E 80 00 20 */ blr .global __ct__Q28CPakFile8SResInfoFUiUiUiUi __ct__Q28CPakFile8SResInfoFUiUiUiUi: /* 803686E4 00365644 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803686E8 00365648 7C 08 02 A6 */ mflr r0 /* 803686EC 0036564C 90 01 00 24 */ stw r0, 0x24(r1) /* 803686F0 00365650 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803686F4 00365654 7D 1F 43 78 */ mr r31, r8 /* 803686F8 00365658 93 C1 00 18 */ stw r30, 0x18(r1) /* 803686FC 0036565C 7C FE 3B 78 */ mr r30, r7 /* 80368700 00365660 93 A1 00 14 */ stw r29, 0x14(r1) /* 80368704 00365664 7C DD 33 78 */ mr r29, r6 /* 80368708 00365668 93 81 00 10 */ stw r28, 0x10(r1) /* 8036870C 0036566C 7C 7C 1B 78 */ mr r28, r3 /* 80368710 00365670 90 83 00 00 */ stw r4, 0(r3) /* 80368714 00365674 7C A3 2B 78 */ mr r3, r5 /* 80368718 00365678 4B FC FE B5 */ bl FourCCToTypeIdx__11CFactoryMgrFUi /* 8036871C 0036567C 7C 9F 00 D0 */ neg r4, r31 /* 80368720 00365680 38 00 00 80 */ li r0, 0x80 /* 80368724 00365684 7C 84 FB 78 */ or r4, r4, r31 /* 80368728 00365688 57 A7 DE 3E */ rlwinm r7, r29, 0x1b, 0x18, 0x1f /* 8036872C 0036568C 7C 84 FE 70 */ srawi r4, r4, 0x1f /* 80368730 00365690 57 A6 9E 3E */ rlwinm r6, r29, 0x13, 0x18, 0x1f /* 80368734 00365694 7C 00 20 38 */ and r0, r0, r4 /* 80368738 00365698 7C 63 03 78 */ or r3, r3, r0 /* 8036873C 0036569C 57 A4 5D 7E */ srwi r4, r29, 0x15 /* 80368740 003656A0 98 7C 00 04 */ stb r3, 4(r28) /* 80368744 003656A4 57 C0 16 30 */ rlwinm r0, r30, 2, 0x18, 0x18 /* 80368748 003656A8 7C 85 03 78 */ or r5, r4, r0 /* 8036874C 003656AC 57 C4 D6 3E */ rlwinm r4, r30, 0x1a, 0x18, 0x1f /* 80368750 003656B0 98 FC 00 05 */ stb r7, 5(r28) /* 80368754 003656B4 57 C0 96 3E */ rlwinm r0, r30, 0x12, 0x18, 0x1f /* 80368758 003656B8 7F 83 E3 78 */ mr r3, r28 /* 8036875C 003656BC 98 DC 00 06 */ stb r6, 6(r28) /* 80368760 003656C0 98 BC 00 07 */ stb r5, 7(r28) /* 80368764 003656C4 98 9C 00 08 */ stb r4, 8(r28) /* 80368768 003656C8 98 1C 00 09 */ stb r0, 9(r28) /* 8036876C 003656CC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80368770 003656D0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80368774 003656D4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80368778 003656D8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8036877C 003656DC 83 81 00 10 */ lwz r28, 0x10(r1) /* 80368780 003656E0 7C 08 03 A6 */ mtlr r0 /* 80368784 003656E4 38 21 00 20 */ addi r1, r1, 0x20 /* 80368788 003656E8 4E 80 00 20 */ blr .global sub_8036878c sub_8036878c: /* 8036878C 003656EC 94 21 FF A0 */ stwu r1, -0x60(r1) /* 80368790 003656F0 7C 08 02 A6 */ mflr r0 /* 80368794 003656F4 90 01 00 64 */ stw r0, 0x64(r1) /* 80368798 003656F8 93 E1 00 5C */ stw r31, 0x5c(r1) /* 8036879C 003656FC 7C BF 2B 78 */ mr r31, r5 /* 803687A0 00365700 93 C1 00 58 */ stw r30, 0x58(r1) /* 803687A4 00365704 7C 9E 23 78 */ mr r30, r4 /* 803687A8 00365708 3C 80 66 66 */ lis r4, 0x66666667@ha /* 803687AC 0036570C 93 A1 00 54 */ stw r29, 0x54(r1) /* 803687B0 00365710 7C 7D 1B 78 */ mr r29, r3 /* 803687B4 00365714 38 84 66 67 */ addi r4, r4, 0x66666667@l /* 803687B8 00365718 93 81 00 50 */ stw r28, 0x50(r1) /* 803687BC 0036571C 80 63 00 00 */ lwz r3, 0(r3) /* 803687C0 00365720 80 DE 00 00 */ lwz r6, 0(r30) /* 803687C4 00365724 7C 03 30 50 */ subf r0, r3, r6 /* 803687C8 00365728 7C 04 00 96 */ mulhw r0, r4, r0 /* 803687CC 0036572C 7C 00 16 70 */ srawi r0, r0, 2 /* 803687D0 00365730 54 04 0F FE */ srwi r4, r0, 0x1f /* 803687D4 00365734 7C 80 22 14 */ add r4, r0, r4 /* 803687D8 00365738 2C 04 00 01 */ cmpwi r4, 1 /* 803687DC 0036573C 40 81 01 7C */ ble lbl_80368958 /* 803687E0 00365740 2C 04 00 14 */ cmpwi r4, 0x14 /* 803687E4 00365744 41 81 00 30 */ bgt lbl_80368814 /* 803687E8 00365748 88 FF 00 00 */ lbz r7, 0(r31) /* 803687EC 0036574C 38 61 00 34 */ addi r3, r1, 0x34 /* 803687F0 00365750 80 DE 00 00 */ lwz r6, 0(r30) /* 803687F4 00365754 38 81 00 30 */ addi r4, r1, 0x30 /* 803687F8 00365758 80 1D 00 00 */ lwz r0, 0(r29) /* 803687FC 0036575C 38 A1 00 14 */ addi r5, r1, 0x14 /* 80368800 00365760 98 E1 00 14 */ stb r7, 0x14(r1) /* 80368804 00365764 90 C1 00 30 */ stw r6, 0x30(r1) /* 80368808 00365768 90 01 00 34 */ stw r0, 0x34(r1) /* 8036880C 0036576C 48 00 06 05 */ bl sub_80368e10 /* 80368810 00365770 48 00 01 48 */ b lbl_80368958 lbl_80368814: /* 80368814 00365774 54 80 0F FE */ srwi r0, r4, 0x1f /* 80368818 00365778 38 A6 FF F6 */ addi r5, r6, -10 /* 8036881C 0036577C 7C 80 22 14 */ add r4, r0, r4 /* 80368820 00365780 88 1F 00 00 */ lbz r0, 0(r31) /* 80368824 00365784 7C 84 0E 70 */ srawi r4, r4, 1 /* 80368828 00365788 90 A1 00 3C */ stw r5, 0x3c(r1) /* 8036882C 0036578C 1C 84 00 0A */ mulli r4, r4, 0xa /* 80368830 00365790 38 C1 00 10 */ addi r6, r1, 0x10 /* 80368834 00365794 98 01 00 10 */ stb r0, 0x10(r1) /* 80368838 00365798 7F 83 22 14 */ add r28, r3, r4 /* 8036883C 0036579C 7F 84 E3 78 */ mr r4, r28 /* 80368840 003657A0 48 00 05 15 */ bl sub_80368d54 /* 80368844 003657A4 80 9D 00 00 */ lwz r4, 0(r29) /* 80368848 003657A8 80 61 00 3C */ lwz r3, 0x3c(r1) /* 8036884C 003657AC 38 84 00 0A */ addi r4, r4, 0xa /* 80368850 003657B0 81 3C 00 00 */ lwz r9, 0(r28) /* 80368854 003657B4 38 03 FF F6 */ addi r0, r3, -10 /* 80368858 003657B8 90 81 00 38 */ stw r4, 0x38(r1) /* 8036885C 003657BC 90 01 00 3C */ stw r0, 0x3c(r1) /* 80368860 003657C0 48 00 00 10 */ b lbl_80368870 lbl_80368864: /* 80368864 003657C4 80 61 00 38 */ lwz r3, 0x38(r1) /* 80368868 003657C8 38 03 00 0A */ addi r0, r3, 0xa /* 8036886C 003657CC 90 01 00 38 */ stw r0, 0x38(r1) lbl_80368870: /* 80368870 003657D0 80 61 00 38 */ lwz r3, 0x38(r1) /* 80368874 003657D4 80 03 00 00 */ lwz r0, 0(r3) /* 80368878 003657D8 7C 00 48 40 */ cmplw r0, r9 /* 8036887C 003657DC 41 80 FF E8 */ blt lbl_80368864 /* 80368880 003657E0 48 00 00 10 */ b lbl_80368890 lbl_80368884: /* 80368884 003657E4 80 61 00 3C */ lwz r3, 0x3c(r1) /* 80368888 003657E8 38 03 FF F6 */ addi r0, r3, -10 /* 8036888C 003657EC 90 01 00 3C */ stw r0, 0x3c(r1) lbl_80368890: /* 80368890 003657F0 80 61 00 3C */ lwz r3, 0x3c(r1) /* 80368894 003657F4 80 03 00 00 */ lwz r0, 0(r3) /* 80368898 003657F8 7C 09 00 40 */ cmplw r9, r0 /* 8036889C 003657FC 41 80 FF E8 */ blt lbl_80368884 /* 803688A0 00365800 80 01 00 38 */ lwz r0, 0x38(r1) /* 803688A4 00365804 7C 00 18 40 */ cmplw r0, r3 /* 803688A8 00365808 40 80 00 60 */ bge lbl_80368908 /* 803688AC 0036580C 80 E1 00 38 */ lwz r7, 0x38(r1) /* 803688B0 00365810 81 01 00 3C */ lwz r8, 0x3c(r1) /* 803688B4 00365814 80 C7 00 04 */ lwz r6, 4(r7) /* 803688B8 00365818 38 67 00 0A */ addi r3, r7, 0xa /* 803688BC 0036581C A0 A7 00 08 */ lhz r5, 8(r7) /* 803688C0 00365820 38 08 FF F6 */ addi r0, r8, -10 /* 803688C4 00365824 81 47 00 00 */ lwz r10, 0(r7) /* 803688C8 00365828 80 88 00 00 */ lwz r4, 0(r8) /* 803688CC 0036582C 91 01 00 28 */ stw r8, 0x28(r1) /* 803688D0 00365830 90 87 00 00 */ stw r4, 0(r7) /* 803688D4 00365834 80 88 00 04 */ lwz r4, 4(r8) /* 803688D8 00365838 90 E1 00 2C */ stw r7, 0x2c(r1) /* 803688DC 0036583C 90 87 00 04 */ stw r4, 4(r7) /* 803688E0 00365840 A0 88 00 08 */ lhz r4, 8(r8) /* 803688E4 00365844 90 C1 00 44 */ stw r6, 0x44(r1) /* 803688E8 00365848 B0 87 00 08 */ sth r4, 8(r7) /* 803688EC 0036584C 91 48 00 00 */ stw r10, 0(r8) /* 803688F0 00365850 90 C8 00 04 */ stw r6, 4(r8) /* 803688F4 00365854 B0 A1 00 48 */ sth r5, 0x48(r1) /* 803688F8 00365858 B0 A8 00 08 */ sth r5, 8(r8) /* 803688FC 0036585C 90 61 00 38 */ stw r3, 0x38(r1) /* 80368900 00365860 90 01 00 3C */ stw r0, 0x3c(r1) /* 80368904 00365864 4B FF FF 6C */ b lbl_80368870 lbl_80368908: /* 80368908 00365868 88 FF 00 00 */ lbz r7, 0(r31) /* 8036890C 0036586C 38 61 00 24 */ addi r3, r1, 0x24 /* 80368910 00365870 80 C1 00 38 */ lwz r6, 0x38(r1) /* 80368914 00365874 38 81 00 20 */ addi r4, r1, 0x20 /* 80368918 00365878 80 1D 00 00 */ lwz r0, 0(r29) /* 8036891C 0036587C 38 A1 00 0C */ addi r5, r1, 0xc /* 80368920 00365880 98 E1 00 0C */ stb r7, 0xc(r1) /* 80368924 00365884 90 C1 00 20 */ stw r6, 0x20(r1) /* 80368928 00365888 90 01 00 24 */ stw r0, 0x24(r1) /* 8036892C 0036588C 4B FF FE 61 */ bl sub_8036878c /* 80368930 00365890 88 FF 00 00 */ lbz r7, 0(r31) /* 80368934 00365894 38 61 00 1C */ addi r3, r1, 0x1c /* 80368938 00365898 80 DE 00 00 */ lwz r6, 0(r30) /* 8036893C 0036589C 38 81 00 18 */ addi r4, r1, 0x18 /* 80368940 003658A0 80 01 00 38 */ lwz r0, 0x38(r1) /* 80368944 003658A4 38 A1 00 08 */ addi r5, r1, 8 /* 80368948 003658A8 98 E1 00 08 */ stb r7, 8(r1) /* 8036894C 003658AC 90 C1 00 18 */ stw r6, 0x18(r1) /* 80368950 003658B0 90 01 00 1C */ stw r0, 0x1c(r1) /* 80368954 003658B4 4B FF FE 39 */ bl sub_8036878c lbl_80368958: /* 80368958 003658B8 80 01 00 64 */ lwz r0, 0x64(r1) /* 8036895C 003658BC 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 80368960 003658C0 83 C1 00 58 */ lwz r30, 0x58(r1) /* 80368964 003658C4 83 A1 00 54 */ lwz r29, 0x54(r1) /* 80368968 003658C8 83 81 00 50 */ lwz r28, 0x50(r1) /* 8036896C 003658CC 7C 08 03 A6 */ mtlr r0 /* 80368970 003658D0 38 21 00 60 */ addi r1, r1, 0x60 /* 80368974 003658D4 4E 80 00 20 */ blr .global sub_80368978 sub_80368978: /* 80368978 003658D8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8036897C 003658DC 7C 08 02 A6 */ mflr r0 /* 80368980 003658E0 90 01 00 34 */ stw r0, 0x34(r1) /* 80368984 003658E4 BF 61 00 1C */ stmw r27, 0x1c(r1) /* 80368988 003658E8 7C 9F 23 78 */ mr r31, r4 /* 8036898C 003658EC 7C 7E 1B 78 */ mr r30, r3 /* 80368990 003658F0 7C DB 33 78 */ mr r27, r6 /* 80368994 003658F4 38 61 00 0C */ addi r3, r1, 0xc /* 80368998 003658F8 80 85 00 00 */ lwz r4, 0(r5) /* 8036899C 003658FC 80 1F 00 00 */ lwz r0, 0(r31) /* 803689A0 00365900 90 81 00 08 */ stw r4, 8(r1) /* 803689A4 00365904 38 81 00 08 */ addi r4, r1, 8 /* 803689A8 00365908 90 01 00 0C */ stw r0, 0xc(r1) /* 803689AC 0036590C 48 00 02 D1 */ bl sub_80368c7c /* 803689B0 00365910 80 1F 00 00 */ lwz r0, 0(r31) /* 803689B4 00365914 7C 7D 1B 78 */ mr r29, r3 /* 803689B8 00365918 90 01 00 10 */ stw r0, 0x10(r1) /* 803689BC 0036591C 48 00 00 58 */ b lbl_80368A14 lbl_803689C0: /* 803689C0 00365920 57 A3 0F FE */ srwi r3, r29, 0x1f /* 803689C4 00365924 80 1F 00 00 */ lwz r0, 0(r31) /* 803689C8 00365928 7C 83 EA 14 */ add r4, r3, r29 /* 803689CC 0036592C 38 61 00 10 */ addi r3, r1, 0x10 /* 803689D0 00365930 7C 9C 0E 70 */ srawi r28, r4, 1 /* 803689D4 00365934 90 01 00 10 */ stw r0, 0x10(r1) /* 803689D8 00365938 7F 84 E3 78 */ mr r4, r28 /* 803689DC 0036593C 48 00 02 21 */ bl sub_80368bfc /* 803689E0 00365940 80 81 00 10 */ lwz r4, 0x10(r1) /* 803689E4 00365944 80 1B 00 00 */ lwz r0, 0(r27) /* 803689E8 00365948 80 64 00 00 */ lwz r3, 0(r4) /* 803689EC 0036594C 7C 03 00 40 */ cmplw r3, r0 /* 803689F0 00365950 40 80 00 20 */ bge lbl_80368A10 /* 803689F4 00365954 90 9F 00 00 */ stw r4, 0(r31) /* 803689F8 00365958 7C 7C E8 50 */ subf r3, r28, r29 /* 803689FC 0036595C 3B A3 FF FF */ addi r29, r3, -1 /* 80368A00 00365960 80 7F 00 00 */ lwz r3, 0(r31) /* 80368A04 00365964 38 03 00 0A */ addi r0, r3, 0xa /* 80368A08 00365968 90 1F 00 00 */ stw r0, 0(r31) /* 80368A0C 0036596C 48 00 00 08 */ b lbl_80368A14 lbl_80368A10: /* 80368A10 00365970 7F 9D E3 78 */ mr r29, r28 lbl_80368A14: /* 80368A14 00365974 2C 1D 00 00 */ cmpwi r29, 0 /* 80368A18 00365978 41 81 FF A8 */ bgt lbl_803689C0 /* 80368A1C 0036597C 80 1F 00 00 */ lwz r0, 0(r31) /* 80368A20 00365980 90 1E 00 00 */ stw r0, 0(r30) /* 80368A24 00365984 BB 61 00 1C */ lmw r27, 0x1c(r1) /* 80368A28 00365988 80 01 00 34 */ lwz r0, 0x34(r1) /* 80368A2C 0036598C 7C 08 03 A6 */ mtlr r0 /* 80368A30 00365990 38 21 00 30 */ addi r1, r1, 0x30 /* 80368A34 00365994 4E 80 00 20 */ blr .global sub_80368a38 sub_80368a38: /* 80368A38 00365998 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80368A3C 0036599C 7C 08 02 A6 */ mflr r0 /* 80368A40 003659A0 90 01 00 34 */ stw r0, 0x34(r1) /* 80368A44 003659A4 BF 61 00 1C */ stmw r27, 0x1c(r1) /* 80368A48 003659A8 7C 9F 23 78 */ mr r31, r4 /* 80368A4C 003659AC 7C 7E 1B 78 */ mr r30, r3 /* 80368A50 003659B0 7C DB 33 78 */ mr r27, r6 /* 80368A54 003659B4 38 61 00 0C */ addi r3, r1, 0xc /* 80368A58 003659B8 80 85 00 00 */ lwz r4, 0(r5) /* 80368A5C 003659BC 80 1F 00 00 */ lwz r0, 0(r31) /* 80368A60 003659C0 90 81 00 08 */ stw r4, 8(r1) /* 80368A64 003659C4 38 81 00 08 */ addi r4, r1, 8 /* 80368A68 003659C8 90 01 00 0C */ stw r0, 0xc(r1) /* 80368A6C 003659CC 48 00 02 55 */ bl sub_80368cc0 /* 80368A70 003659D0 80 1F 00 00 */ lwz r0, 0(r31) /* 80368A74 003659D4 7C 7D 1B 78 */ mr r29, r3 /* 80368A78 003659D8 90 01 00 10 */ stw r0, 0x10(r1) /* 80368A7C 003659DC 48 00 00 58 */ b lbl_80368AD4 lbl_80368A80: /* 80368A80 003659E0 57 A3 0F FE */ srwi r3, r29, 0x1f /* 80368A84 003659E4 80 1F 00 00 */ lwz r0, 0(r31) /* 80368A88 003659E8 7C 83 EA 14 */ add r4, r3, r29 /* 80368A8C 003659EC 38 61 00 10 */ addi r3, r1, 0x10 /* 80368A90 003659F0 7C 9C 0E 70 */ srawi r28, r4, 1 /* 80368A94 003659F4 90 01 00 10 */ stw r0, 0x10(r1) /* 80368A98 003659F8 7F 84 E3 78 */ mr r4, r28 /* 80368A9C 003659FC 48 00 01 8D */ bl sub_80368c28 /* 80368AA0 00365A00 80 81 00 10 */ lwz r4, 0x10(r1) /* 80368AA4 00365A04 80 1B 00 00 */ lwz r0, 0(r27) /* 80368AA8 00365A08 80 64 00 00 */ lwz r3, 0(r4) /* 80368AAC 00365A0C 7C 03 00 40 */ cmplw r3, r0 /* 80368AB0 00365A10 40 80 00 20 */ bge lbl_80368AD0 /* 80368AB4 00365A14 90 9F 00 00 */ stw r4, 0(r31) /* 80368AB8 00365A18 7C 7C E8 50 */ subf r3, r28, r29 /* 80368ABC 00365A1C 3B A3 FF FF */ addi r29, r3, -1 /* 80368AC0 00365A20 80 7F 00 00 */ lwz r3, 0(r31) /* 80368AC4 00365A24 38 03 00 0A */ addi r0, r3, 0xa /* 80368AC8 00365A28 90 1F 00 00 */ stw r0, 0(r31) /* 80368ACC 00365A2C 48 00 00 08 */ b lbl_80368AD4 lbl_80368AD0: /* 80368AD0 00365A30 7F 9D E3 78 */ mr r29, r28 lbl_80368AD4: /* 80368AD4 00365A34 2C 1D 00 00 */ cmpwi r29, 0 /* 80368AD8 00365A38 41 81 FF A8 */ bgt lbl_80368A80 /* 80368ADC 00365A3C 80 1F 00 00 */ lwz r0, 0(r31) /* 80368AE0 00365A40 90 1E 00 00 */ stw r0, 0(r30) /* 80368AE4 00365A44 BB 61 00 1C */ lmw r27, 0x1c(r1) /* 80368AE8 00365A48 80 01 00 34 */ lwz r0, 0x34(r1) /* 80368AEC 00365A4C 7C 08 03 A6 */ mtlr r0 /* 80368AF0 00365A50 38 21 00 30 */ addi r1, r1, 0x30 /* 80368AF4 00365A54 4E 80 00 20 */ blr .global sub_80368af8 sub_80368af8: /* 80368AF8 00365A58 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80368AFC 00365A5C 7C 08 02 A6 */ mflr r0 /* 80368B00 00365A60 90 01 00 34 */ stw r0, 0x34(r1) /* 80368B04 00365A64 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80368B08 00365A68 7C 9F 23 78 */ mr r31, r4 /* 80368B0C 00365A6C 93 C1 00 28 */ stw r30, 0x28(r1) /* 80368B10 00365A70 7C 7E 1B 78 */ mr r30, r3 /* 80368B14 00365A74 93 A1 00 24 */ stw r29, 0x24(r1) /* 80368B18 00365A78 80 03 00 08 */ lwz r0, 8(r3) /* 80368B1C 00365A7C 7C 1F 00 00 */ cmpw r31, r0 /* 80368B20 00365A80 40 81 00 C0 */ ble lbl_80368BE0 /* 80368B24 00365A84 1C 7F 00 0A */ mulli r3, r31, 0xa /* 80368B28 00365A88 2C 03 00 00 */ cmpwi r3, 0 /* 80368B2C 00365A8C 40 82 00 0C */ bne lbl_80368B38 /* 80368B30 00365A90 3B A0 00 00 */ li r29, 0 /* 80368B34 00365A94 48 00 00 1C */ b lbl_80368B50 lbl_80368B38: /* 80368B38 00365A98 3C 80 80 3E */ lis r4, lbl_803D84E0@ha /* 80368B3C 00365A9C 38 A0 00 00 */ li r5, 0 /* 80368B40 00365AA0 38 84 84 E0 */ addi r4, r4, lbl_803D84E0@l /* 80368B44 00365AA4 38 84 00 4C */ addi r4, r4, 0x4c /* 80368B48 00365AA8 4B FA CC D1 */ bl __nwa__FUlPCcPCc /* 80368B4C 00365AAC 7C 7D 1B 78 */ mr r29, r3 lbl_80368B50: /* 80368B50 00365AB0 80 1E 00 04 */ lwz r0, 4(r30) /* 80368B54 00365AB4 7F A4 EB 78 */ mr r4, r29 /* 80368B58 00365AB8 80 BE 00 0C */ lwz r5, 0xc(r30) /* 80368B5C 00365ABC 1C 00 00 0A */ mulli r0, r0, 0xa /* 80368B60 00365AC0 90 A1 00 10 */ stw r5, 0x10(r1) /* 80368B64 00365AC4 7C 65 02 14 */ add r3, r5, r0 /* 80368B68 00365AC8 90 A1 00 14 */ stw r5, 0x14(r1) /* 80368B6C 00365ACC 90 61 00 08 */ stw r3, 8(r1) /* 80368B70 00365AD0 90 61 00 0C */ stw r3, 0xc(r1) /* 80368B74 00365AD4 48 00 00 2C */ b lbl_80368BA0 lbl_80368B78: /* 80368B78 00365AD8 28 04 00 00 */ cmplwi r4, 0 /* 80368B7C 00365ADC 41 82 00 1C */ beq lbl_80368B98 /* 80368B80 00365AE0 80 05 00 00 */ lwz r0, 0(r5) /* 80368B84 00365AE4 90 04 00 00 */ stw r0, 0(r4) /* 80368B88 00365AE8 80 05 00 04 */ lwz r0, 4(r5) /* 80368B8C 00365AEC 90 04 00 04 */ stw r0, 4(r4) /* 80368B90 00365AF0 A0 05 00 08 */ lhz r0, 8(r5) /* 80368B94 00365AF4 B0 04 00 08 */ sth r0, 8(r4) lbl_80368B98: /* 80368B98 00365AF8 38 84 00 0A */ addi r4, r4, 0xa /* 80368B9C 00365AFC 38 A5 00 0A */ addi r5, r5, 0xa lbl_80368BA0: /* 80368BA0 00365B00 7C 05 18 40 */ cmplw r5, r3 /* 80368BA4 00365B04 40 82 FF D4 */ bne lbl_80368B78 /* 80368BA8 00365B08 80 1E 00 04 */ lwz r0, 4(r30) /* 80368BAC 00365B0C 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80368BB0 00365B10 1C 00 00 0A */ mulli r0, r0, 0xa /* 80368BB4 00365B14 7C 64 1B 78 */ mr r4, r3 /* 80368BB8 00365B18 7C 03 02 14 */ add r0, r3, r0 /* 80368BBC 00365B1C 48 00 00 08 */ b lbl_80368BC4 lbl_80368BC0: /* 80368BC0 00365B20 38 84 00 0A */ addi r4, r4, 0xa lbl_80368BC4: /* 80368BC4 00365B24 7C 04 00 40 */ cmplw r4, r0 /* 80368BC8 00365B28 40 82 FF F8 */ bne lbl_80368BC0 /* 80368BCC 00365B2C 28 03 00 00 */ cmplwi r3, 0 /* 80368BD0 00365B30 41 82 00 08 */ beq lbl_80368BD8 /* 80368BD4 00365B34 4B FA CD 5D */ bl Free__7CMemoryFPCv lbl_80368BD8: /* 80368BD8 00365B38 93 BE 00 0C */ stw r29, 0xc(r30) /* 80368BDC 00365B3C 93 FE 00 08 */ stw r31, 8(r30) lbl_80368BE0: /* 80368BE0 00365B40 80 01 00 34 */ lwz r0, 0x34(r1) /* 80368BE4 00365B44 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80368BE8 00365B48 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80368BEC 00365B4C 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80368BF0 00365B50 7C 08 03 A6 */ mtlr r0 /* 80368BF4 00365B54 38 21 00 30 */ addi r1, r1, 0x30 /* 80368BF8 00365B58 4E 80 00 20 */ blr .global sub_80368bfc sub_80368bfc: /* 80368BFC 00365B5C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80368C00 00365B60 7C 08 02 A6 */ mflr r0 /* 80368C04 00365B64 90 01 00 14 */ stw r0, 0x14(r1) /* 80368C08 00365B68 38 A1 00 0C */ addi r5, r1, 0xc /* 80368C0C 00365B6C 88 01 00 08 */ lbz r0, 8(r1) /* 80368C10 00365B70 98 01 00 0C */ stb r0, 0xc(r1) /* 80368C14 00365B74 48 00 00 55 */ bl sub_80368c68 /* 80368C18 00365B78 80 01 00 14 */ lwz r0, 0x14(r1) /* 80368C1C 00365B7C 7C 08 03 A6 */ mtlr r0 /* 80368C20 00365B80 38 21 00 10 */ addi r1, r1, 0x10 /* 80368C24 00365B84 4E 80 00 20 */ blr .global sub_80368c28 sub_80368c28: /* 80368C28 00365B88 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80368C2C 00365B8C 7C 08 02 A6 */ mflr r0 /* 80368C30 00365B90 90 01 00 14 */ stw r0, 0x14(r1) /* 80368C34 00365B94 38 A1 00 0C */ addi r5, r1, 0xc /* 80368C38 00365B98 88 01 00 08 */ lbz r0, 8(r1) /* 80368C3C 00365B9C 98 01 00 0C */ stb r0, 0xc(r1) /* 80368C40 00365BA0 48 00 00 15 */ bl sub_80368c54 /* 80368C44 00365BA4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80368C48 00365BA8 7C 08 03 A6 */ mtlr r0 /* 80368C4C 00365BAC 38 21 00 10 */ addi r1, r1, 0x10 /* 80368C50 00365BB0 4E 80 00 20 */ blr .global sub_80368c54 sub_80368c54: /* 80368C54 00365BB4 1C 04 00 0A */ mulli r0, r4, 0xa /* 80368C58 00365BB8 80 83 00 00 */ lwz r4, 0(r3) /* 80368C5C 00365BBC 7C 04 02 14 */ add r0, r4, r0 /* 80368C60 00365BC0 90 03 00 00 */ stw r0, 0(r3) /* 80368C64 00365BC4 4E 80 00 20 */ blr .global sub_80368c68 sub_80368c68: /* 80368C68 00365BC8 1C 04 00 0A */ mulli r0, r4, 0xa /* 80368C6C 00365BCC 80 83 00 00 */ lwz r4, 0(r3) /* 80368C70 00365BD0 7C 04 02 14 */ add r0, r4, r0 /* 80368C74 00365BD4 90 03 00 00 */ stw r0, 0(r3) /* 80368C78 00365BD8 4E 80 00 20 */ blr .global sub_80368c7c sub_80368c7c: /* 80368C7C 00365BDC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80368C80 00365BE0 7C 08 02 A6 */ mflr r0 /* 80368C84 00365BE4 90 01 00 24 */ stw r0, 0x24(r1) /* 80368C88 00365BE8 38 A1 00 0C */ addi r5, r1, 0xc /* 80368C8C 00365BEC 88 E1 00 08 */ lbz r7, 8(r1) /* 80368C90 00365BF0 80 C4 00 00 */ lwz r6, 0(r4) /* 80368C94 00365BF4 38 81 00 10 */ addi r4, r1, 0x10 /* 80368C98 00365BF8 80 03 00 00 */ lwz r0, 0(r3) /* 80368C9C 00365BFC 38 61 00 14 */ addi r3, r1, 0x14 /* 80368CA0 00365C00 90 C1 00 10 */ stw r6, 0x10(r1) /* 80368CA4 00365C04 98 E1 00 0C */ stb r7, 0xc(r1) /* 80368CA8 00365C08 90 01 00 14 */ stw r0, 0x14(r1) /* 80368CAC 00365C0C 48 00 00 81 */ bl sub_80368d2c /* 80368CB0 00365C10 80 01 00 24 */ lwz r0, 0x24(r1) /* 80368CB4 00365C14 7C 08 03 A6 */ mtlr r0 /* 80368CB8 00365C18 38 21 00 20 */ addi r1, r1, 0x20 /* 80368CBC 00365C1C 4E 80 00 20 */ blr .global sub_80368cc0 sub_80368cc0: /* 80368CC0 00365C20 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80368CC4 00365C24 7C 08 02 A6 */ mflr r0 /* 80368CC8 00365C28 90 01 00 24 */ stw r0, 0x24(r1) /* 80368CCC 00365C2C 38 A1 00 0C */ addi r5, r1, 0xc /* 80368CD0 00365C30 88 E1 00 08 */ lbz r7, 8(r1) /* 80368CD4 00365C34 80 C4 00 00 */ lwz r6, 0(r4) /* 80368CD8 00365C38 38 81 00 10 */ addi r4, r1, 0x10 /* 80368CDC 00365C3C 80 03 00 00 */ lwz r0, 0(r3) /* 80368CE0 00365C40 38 61 00 14 */ addi r3, r1, 0x14 /* 80368CE4 00365C44 90 C1 00 10 */ stw r6, 0x10(r1) /* 80368CE8 00365C48 98 E1 00 0C */ stb r7, 0xc(r1) /* 80368CEC 00365C4C 90 01 00 14 */ stw r0, 0x14(r1) /* 80368CF0 00365C50 48 00 00 15 */ bl sub_80368d04 /* 80368CF4 00365C54 80 01 00 24 */ lwz r0, 0x24(r1) /* 80368CF8 00365C58 7C 08 03 A6 */ mtlr r0 /* 80368CFC 00365C5C 38 21 00 20 */ addi r1, r1, 0x20 /* 80368D00 00365C60 4E 80 00 20 */ blr .global sub_80368d04 sub_80368d04: /* 80368D04 00365C64 80 A3 00 00 */ lwz r5, 0(r3) /* 80368D08 00365C68 3C 60 66 66 */ lis r3, 0x66666667@ha /* 80368D0C 00365C6C 80 04 00 00 */ lwz r0, 0(r4) /* 80368D10 00365C70 38 63 66 67 */ addi r3, r3, 0x66666667@l /* 80368D14 00365C74 7C 05 00 50 */ subf r0, r5, r0 /* 80368D18 00365C78 7C 03 00 96 */ mulhw r0, r3, r0 /* 80368D1C 00365C7C 7C 00 16 70 */ srawi r0, r0, 2 /* 80368D20 00365C80 54 03 0F FE */ srwi r3, r0, 0x1f /* 80368D24 00365C84 7C 60 1A 14 */ add r3, r0, r3 /* 80368D28 00365C88 4E 80 00 20 */ blr .global sub_80368d2c sub_80368d2c: /* 80368D2C 00365C8C 80 A3 00 00 */ lwz r5, 0(r3) /* 80368D30 00365C90 3C 60 66 66 */ lis r3, 0x66666667@ha /* 80368D34 00365C94 80 04 00 00 */ lwz r0, 0(r4) /* 80368D38 00365C98 38 63 66 67 */ addi r3, r3, 0x66666667@l /* 80368D3C 00365C9C 7C 05 00 50 */ subf r0, r5, r0 /* 80368D40 00365CA0 7C 03 00 96 */ mulhw r0, r3, r0 /* 80368D44 00365CA4 7C 00 16 70 */ srawi r0, r0, 2 /* 80368D48 00365CA8 54 03 0F FE */ srwi r3, r0, 0x1f /* 80368D4C 00365CAC 7C 60 1A 14 */ add r3, r0, r3 /* 80368D50 00365CB0 4E 80 00 20 */ blr .global sub_80368d54 sub_80368d54: /* 80368D54 00365CB4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80368D58 00365CB8 80 04 00 00 */ lwz r0, 0(r4) /* 80368D5C 00365CBC 81 03 00 00 */ lwz r8, 0(r3) /* 80368D60 00365CC0 7C 00 40 40 */ cmplw r0, r8 /* 80368D64 00365CC4 40 80 00 34 */ bge lbl_80368D98 /* 80368D68 00365CC8 80 E3 00 04 */ lwz r7, 4(r3) /* 80368D6C 00365CCC A0 C3 00 08 */ lhz r6, 8(r3) /* 80368D70 00365CD0 90 E1 00 0C */ stw r7, 0xc(r1) /* 80368D74 00365CD4 90 03 00 00 */ stw r0, 0(r3) /* 80368D78 00365CD8 80 04 00 04 */ lwz r0, 4(r4) /* 80368D7C 00365CDC B0 C1 00 10 */ sth r6, 0x10(r1) /* 80368D80 00365CE0 90 03 00 04 */ stw r0, 4(r3) /* 80368D84 00365CE4 A0 04 00 08 */ lhz r0, 8(r4) /* 80368D88 00365CE8 B0 03 00 08 */ sth r0, 8(r3) /* 80368D8C 00365CEC 91 04 00 00 */ stw r8, 0(r4) /* 80368D90 00365CF0 90 E4 00 04 */ stw r7, 4(r4) /* 80368D94 00365CF4 B0 C4 00 08 */ sth r6, 8(r4) lbl_80368D98: /* 80368D98 00365CF8 81 05 00 00 */ lwz r8, 0(r5) /* 80368D9C 00365CFC 80 04 00 00 */ lwz r0, 0(r4) /* 80368DA0 00365D00 7C 08 00 40 */ cmplw r8, r0 /* 80368DA4 00365D04 40 80 00 64 */ bge lbl_80368E08 /* 80368DA8 00365D08 80 E5 00 04 */ lwz r7, 4(r5) /* 80368DAC 00365D0C A0 C5 00 08 */ lhz r6, 8(r5) /* 80368DB0 00365D10 90 E1 00 18 */ stw r7, 0x18(r1) /* 80368DB4 00365D14 90 05 00 00 */ stw r0, 0(r5) /* 80368DB8 00365D18 80 04 00 04 */ lwz r0, 4(r4) /* 80368DBC 00365D1C B0 C1 00 1C */ sth r6, 0x1c(r1) /* 80368DC0 00365D20 90 05 00 04 */ stw r0, 4(r5) /* 80368DC4 00365D24 A0 04 00 08 */ lhz r0, 8(r4) /* 80368DC8 00365D28 B0 05 00 08 */ sth r0, 8(r5) /* 80368DCC 00365D2C 80 03 00 00 */ lwz r0, 0(r3) /* 80368DD0 00365D30 7C 08 00 40 */ cmplw r8, r0 /* 80368DD4 00365D34 40 80 00 28 */ bge lbl_80368DFC /* 80368DD8 00365D38 90 04 00 00 */ stw r0, 0(r4) /* 80368DDC 00365D3C 80 03 00 04 */ lwz r0, 4(r3) /* 80368DE0 00365D40 90 04 00 04 */ stw r0, 4(r4) /* 80368DE4 00365D44 A0 03 00 08 */ lhz r0, 8(r3) /* 80368DE8 00365D48 B0 04 00 08 */ sth r0, 8(r4) /* 80368DEC 00365D4C 91 03 00 00 */ stw r8, 0(r3) /* 80368DF0 00365D50 90 E3 00 04 */ stw r7, 4(r3) /* 80368DF4 00365D54 B0 C3 00 08 */ sth r6, 8(r3) /* 80368DF8 00365D58 48 00 00 10 */ b lbl_80368E08 lbl_80368DFC: /* 80368DFC 00365D5C 91 04 00 00 */ stw r8, 0(r4) /* 80368E00 00365D60 90 E4 00 04 */ stw r7, 4(r4) /* 80368E04 00365D64 B0 C4 00 08 */ sth r6, 8(r4) lbl_80368E08: /* 80368E08 00365D68 38 21 00 20 */ addi r1, r1, 0x20 /* 80368E0C 00365D6C 4E 80 00 20 */ blr .global sub_80368e10 sub_80368e10: /* 80368E10 00365D70 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80368E14 00365D74 80 C3 00 00 */ lwz r6, 0(r3) /* 80368E18 00365D78 38 C6 00 0A */ addi r6, r6, 0xa /* 80368E1C 00365D7C 48 00 00 74 */ b lbl_80368E90 lbl_80368E20: /* 80368E20 00365D80 80 A6 00 04 */ lwz r5, 4(r6) /* 80368E24 00365D84 7C C8 33 78 */ mr r8, r6 /* 80368E28 00365D88 A0 06 00 08 */ lhz r0, 8(r6) /* 80368E2C 00365D8C 38 E6 FF F6 */ addi r7, r6, -10 /* 80368E30 00365D90 90 A1 00 0C */ stw r5, 0xc(r1) /* 80368E34 00365D94 80 A6 00 00 */ lwz r5, 0(r6) /* 80368E38 00365D98 B0 01 00 10 */ sth r0, 0x10(r1) /* 80368E3C 00365D9C 48 00 00 24 */ b lbl_80368E60 lbl_80368E40: /* 80368E40 00365DA0 80 07 00 00 */ lwz r0, 0(r7) /* 80368E44 00365DA4 90 08 00 00 */ stw r0, 0(r8) /* 80368E48 00365DA8 80 07 00 04 */ lwz r0, 4(r7) /* 80368E4C 00365DAC 90 08 00 04 */ stw r0, 4(r8) /* 80368E50 00365DB0 A0 07 00 08 */ lhz r0, 8(r7) /* 80368E54 00365DB4 38 E7 FF F6 */ addi r7, r7, -10 /* 80368E58 00365DB8 B0 08 00 08 */ sth r0, 8(r8) /* 80368E5C 00365DBC 39 08 FF F6 */ addi r8, r8, -10 lbl_80368E60: /* 80368E60 00365DC0 80 03 00 00 */ lwz r0, 0(r3) /* 80368E64 00365DC4 7C 00 40 40 */ cmplw r0, r8 /* 80368E68 00365DC8 40 80 00 10 */ bge lbl_80368E78 /* 80368E6C 00365DCC 80 07 00 00 */ lwz r0, 0(r7) /* 80368E70 00365DD0 7C 05 00 40 */ cmplw r5, r0 /* 80368E74 00365DD4 41 80 FF CC */ blt lbl_80368E40 lbl_80368E78: /* 80368E78 00365DD8 90 A8 00 00 */ stw r5, 0(r8) /* 80368E7C 00365DDC 38 C6 00 0A */ addi r6, r6, 0xa /* 80368E80 00365DE0 80 A1 00 0C */ lwz r5, 0xc(r1) /* 80368E84 00365DE4 A0 01 00 10 */ lhz r0, 0x10(r1) /* 80368E88 00365DE8 90 A8 00 04 */ stw r5, 4(r8) /* 80368E8C 00365DEC B0 08 00 08 */ sth r0, 8(r8) lbl_80368E90: /* 80368E90 00365DF0 80 04 00 00 */ lwz r0, 0(r4) /* 80368E94 00365DF4 7C 06 00 40 */ cmplw r6, r0 /* 80368E98 00365DF8 41 80 FF 88 */ blt lbl_80368E20 /* 80368E9C 00365DFC 38 21 00 20 */ addi r1, r1, 0x20 /* 80368EA0 00365E00 4E 80 00 20 */ blr