tp/asm/JKernel/JKRExpHeap.s

2053 lines
100 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 802cedb4
.global createRoot__10JKRExpHeapFib
createRoot__10JKRExpHeapFib:
/* 802CEDB4 002CBCF4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CEDB8 002CBCF8 7C 08 02 A6 */ mflr r0
/* 802CEDBC 002CBCFC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CEDC0 002CBD00 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802CEDC4 002CBD04 7C 65 1B 78 */ mr r5, r3
/* 802CEDC8 002CBD08 7C 9F 23 78 */ mr r31, r4
/* 802CEDCC 002CBD0C 38 60 00 00 */ li r3, 0
/* 802CEDD0 002CBD10 80 0D 8D F8 */ lwz r0, lbl_80451378-_SDA_BASE_(r13)
/* 802CEDD4 002CBD14 28 00 00 00 */ cmplwi r0, 0
/* 802CEDD8 002CBD18 40 82 00 38 */ bne lbl_802CEE10
/* 802CEDDC 002CBD1C 38 61 00 0C */ addi r3, r1, 0xc
/* 802CEDE0 002CBD20 38 81 00 08 */ addi r4, r1, 8
/* 802CEDE4 002CBD24 4B FF F5 95 */ bl initArena__7JKRHeapFPPcPUli
/* 802CEDE8 002CBD28 80 61 00 0C */ lwz r3, 0xc(r1)
/* 802CEDEC 002CBD2C 38 83 00 90 */ addi r4, r3, 0x90
/* 802CEDF0 002CBD30 80 A1 00 08 */ lwz r5, 8(r1)
/* 802CEDF4 002CBD34 38 A5 FF 70 */ addi r5, r5, -144
/* 802CEDF8 002CBD38 28 03 00 00 */ cmplwi r3, 0
/* 802CEDFC 002CBD3C 41 82 00 10 */ beq lbl_802CEE0C
/* 802CEE00 002CBD40 38 C0 00 00 */ li r6, 0
/* 802CEE04 002CBD44 7F E7 FB 78 */ mr r7, r31
/* 802CEE08 002CBD48 48 00 02 29 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb
lbl_802CEE0C:
/* 802CEE0C 002CBD4C 90 6D 8D F8 */ stw r3, lbl_80451378-_SDA_BASE_(r13)
lbl_802CEE10:
/* 802CEE10 002CBD50 38 00 00 01 */ li r0, 1
/* 802CEE14 002CBD54 98 03 00 6E */ stb r0, 0x6e(r3)
/* 802CEE18 002CBD58 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802CEE1C 002CBD5C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CEE20 002CBD60 7C 08 03 A6 */ mtlr r0
/* 802CEE24 002CBD64 38 21 00 20 */ addi r1, r1, 0x20
/* 802CEE28 002CBD68 4E 80 00 20 */ blr
.global create__10JKRExpHeapFUlP7JKRHeapb
create__10JKRExpHeapFUlP7JKRHeapb:
/* 802CEE2C 002CBD6C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CEE30 002CBD70 7C 08 02 A6 */ mflr r0
/* 802CEE34 002CBD74 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CEE38 002CBD78 39 61 00 20 */ addi r11, r1, 0x20
/* 802CEE3C 002CBD7C 48 09 33 9D */ bl _savegpr_28
/* 802CEE40 002CBD80 7C 9C 23 79 */ or. r28, r4, r4
/* 802CEE44 002CBD84 7C BD 2B 78 */ mr r29, r5
/* 802CEE48 002CBD88 40 82 00 08 */ bne lbl_802CEE50
/* 802CEE4C 002CBD8C 83 8D 8D F8 */ lwz r28, lbl_80451378-_SDA_BASE_(r13)
lbl_802CEE50:
/* 802CEE50 002CBD90 3C 03 00 01 */ addis r0, r3, 1
/* 802CEE54 002CBD94 28 00 FF FF */ cmplwi r0, 0xffff
/* 802CEE58 002CBD98 40 82 00 10 */ bne lbl_802CEE68
/* 802CEE5C 002CBD9C 7F 83 E3 78 */ mr r3, r28
/* 802CEE60 002CBDA0 38 80 00 10 */ li r4, 0x10
/* 802CEE64 002CBDA4 4B FF F9 79 */ bl getMaxAllocatableSize__7JKRHeapFi
lbl_802CEE68:
/* 802CEE68 002CBDA8 54 7F 00 36 */ rlwinm r31, r3, 0, 0, 0x1b
/* 802CEE6C 002CBDAC 28 1F 00 A0 */ cmplwi r31, 0xa0
/* 802CEE70 002CBDB0 40 80 00 0C */ bge lbl_802CEE7C
/* 802CEE74 002CBDB4 38 60 00 00 */ li r3, 0
/* 802CEE78 002CBDB8 48 00 00 70 */ b lbl_802CEEE8
lbl_802CEE7C:
/* 802CEE7C 002CBDBC 7F E3 FB 78 */ mr r3, r31
/* 802CEE80 002CBDC0 38 80 00 10 */ li r4, 0x10
/* 802CEE84 002CBDC4 7F 85 E3 78 */ mr r5, r28
/* 802CEE88 002CBDC8 4B FF F5 ED */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802CEE8C 002CBDCC 7C 60 1B 78 */ mr r0, r3
/* 802CEE90 002CBDD0 7C 1E 03 79 */ or. r30, r0, r0
/* 802CEE94 002CBDD4 38 9E 00 90 */ addi r4, r30, 0x90
/* 802CEE98 002CBDD8 40 82 00 0C */ bne lbl_802CEEA4
/* 802CEE9C 002CBDDC 38 60 00 00 */ li r3, 0
/* 802CEEA0 002CBDE0 48 00 00 48 */ b lbl_802CEEE8
lbl_802CEEA4:
/* 802CEEA4 002CBDE4 7F C5 F3 78 */ mr r5, r30
/* 802CEEA8 002CBDE8 41 82 00 18 */ beq lbl_802CEEC0
/* 802CEEAC 002CBDEC 38 BF FF 70 */ addi r5, r31, -144
/* 802CEEB0 002CBDF0 7F 86 E3 78 */ mr r6, r28
/* 802CEEB4 002CBDF4 7F A7 EB 78 */ mr r7, r29
/* 802CEEB8 002CBDF8 48 00 01 79 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb
/* 802CEEBC 002CBDFC 7C 65 1B 78 */ mr r5, r3
lbl_802CEEC0:
/* 802CEEC0 002CBE00 28 05 00 00 */ cmplwi r5, 0
/* 802CEEC4 002CBE04 40 82 00 18 */ bne lbl_802CEEDC
/* 802CEEC8 002CBE08 7F C3 F3 78 */ mr r3, r30
/* 802CEECC 002CBE0C 38 80 00 00 */ li r4, 0
/* 802CEED0 002CBE10 4B FF F6 31 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802CEED4 002CBE14 38 60 00 00 */ li r3, 0
/* 802CEED8 002CBE18 48 00 00 10 */ b lbl_802CEEE8
lbl_802CEEDC:
/* 802CEEDC 002CBE1C 38 00 00 00 */ li r0, 0
/* 802CEEE0 002CBE20 98 05 00 6E */ stb r0, 0x6e(r5)
/* 802CEEE4 002CBE24 7C A3 2B 78 */ mr r3, r5
lbl_802CEEE8:
/* 802CEEE8 002CBE28 39 61 00 20 */ addi r11, r1, 0x20
/* 802CEEEC 002CBE2C 48 09 33 39 */ bl _restgpr_28
/* 802CEEF0 002CBE30 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CEEF4 002CBE34 7C 08 03 A6 */ mtlr r0
/* 802CEEF8 002CBE38 38 21 00 20 */ addi r1, r1, 0x20
/* 802CEEFC 002CBE3C 4E 80 00 20 */ blr
.global create__10JKRExpHeapFPvUlP7JKRHeapb
create__10JKRExpHeapFPvUlP7JKRHeapb:
/* 802CEF00 002CBE40 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CEF04 002CBE44 7C 08 02 A6 */ mflr r0
/* 802CEF08 002CBE48 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CEF0C 002CBE4C 39 61 00 20 */ addi r11, r1, 0x20
/* 802CEF10 002CBE50 48 09 32 CD */ bl _savegpr_29
/* 802CEF14 002CBE54 7C 7D 1B 78 */ mr r29, r3
/* 802CEF18 002CBE58 7C 9E 23 78 */ mr r30, r4
/* 802CEF1C 002CBE5C 7C DF 33 78 */ mr r31, r6
/* 802CEF20 002CBE60 28 05 00 00 */ cmplwi r5, 0
/* 802CEF24 002CBE64 40 82 00 20 */ bne lbl_802CEF44
/* 802CEF28 002CBE68 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13)
/* 802CEF2C 002CBE6C 7F A4 EB 78 */ mr r4, r29
/* 802CEF30 002CBE70 4B FF F9 65 */ bl find__7JKRHeapCFPv
/* 802CEF34 002CBE74 7C 66 1B 79 */ or. r6, r3, r3
/* 802CEF38 002CBE78 40 82 00 10 */ bne lbl_802CEF48
/* 802CEF3C 002CBE7C 38 60 00 00 */ li r3, 0
/* 802CEF40 002CBE80 48 00 00 54 */ b lbl_802CEF94
lbl_802CEF44:
/* 802CEF44 002CBE84 7C A6 2B 78 */ mr r6, r5
lbl_802CEF48:
/* 802CEF48 002CBE88 38 60 00 00 */ li r3, 0
/* 802CEF4C 002CBE8C 28 1E 00 90 */ cmplwi r30, 0x90
/* 802CEF50 002CBE90 40 80 00 0C */ bge lbl_802CEF5C
/* 802CEF54 002CBE94 38 60 00 00 */ li r3, 0
/* 802CEF58 002CBE98 48 00 00 3C */ b lbl_802CEF94
lbl_802CEF5C:
/* 802CEF5C 002CBE9C 38 9D 00 90 */ addi r4, r29, 0x90
/* 802CEF60 002CBEA0 7C 1D F2 14 */ add r0, r29, r30
/* 802CEF64 002CBEA4 7C 04 00 50 */ subf r0, r4, r0
/* 802CEF68 002CBEA8 54 05 00 36 */ rlwinm r5, r0, 0, 0, 0x1b
/* 802CEF6C 002CBEAC 28 1D 00 00 */ cmplwi r29, 0
/* 802CEF70 002CBEB0 41 82 00 14 */ beq lbl_802CEF84
/* 802CEF74 002CBEB4 7F A3 EB 78 */ mr r3, r29
/* 802CEF78 002CBEB8 41 82 00 0C */ beq lbl_802CEF84
/* 802CEF7C 002CBEBC 7F E7 FB 78 */ mr r7, r31
/* 802CEF80 002CBEC0 48 00 00 B1 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb
lbl_802CEF84:
/* 802CEF84 002CBEC4 38 00 00 01 */ li r0, 1
/* 802CEF88 002CBEC8 98 03 00 6E */ stb r0, 0x6e(r3)
/* 802CEF8C 002CBECC 93 A3 00 70 */ stw r29, 0x70(r3)
/* 802CEF90 002CBED0 93 C3 00 74 */ stw r30, 0x74(r3)
lbl_802CEF94:
/* 802CEF94 002CBED4 39 61 00 20 */ addi r11, r1, 0x20
/* 802CEF98 002CBED8 48 09 32 91 */ bl _restgpr_29
/* 802CEF9C 002CBEDC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CEFA0 002CBEE0 7C 08 03 A6 */ mtlr r0
/* 802CEFA4 002CBEE4 38 21 00 20 */ addi r1, r1, 0x20
/* 802CEFA8 002CBEE8 4E 80 00 20 */ blr
/* 802CEFAC 002CBEEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CEFB0 002CBEF0 7C 08 02 A6 */ mflr r0
/* 802CEFB4 002CBEF4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CEFB8 002CBEF8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CEFBC 002CBEFC 93 C1 00 08 */ stw r30, 8(r1)
/* 802CEFC0 002CBF00 7C 7E 1B 78 */ mr r30, r3
/* 802CEFC4 002CBF04 88 03 00 6E */ lbz r0, 0x6e(r3)
/* 802CEFC8 002CBF08 28 00 00 00 */ cmplwi r0, 0
/* 802CEFCC 002CBF0C 40 82 00 38 */ bne lbl_802CF004
/* 802CEFD0 002CBF10 80 9E 00 50 */ lwz r4, 0x50(r30)
/* 802CEFD4 002CBF14 83 E4 00 0C */ lwz r31, 0xc(r4)
/* 802CEFD8 002CBF18 28 1F 00 00 */ cmplwi r31, 0
/* 802CEFDC 002CBF1C 41 82 00 3C */ beq lbl_802CF018
/* 802CEFE0 002CBF20 38 80 FF FF */ li r4, -1
/* 802CEFE4 002CBF24 81 83 00 00 */ lwz r12, 0(r3)
/* 802CEFE8 002CBF28 81 8C 00 08 */ lwz r12, 8(r12)
/* 802CEFEC 002CBF2C 7D 89 03 A6 */ mtctr r12
/* 802CEFF0 002CBF30 4E 80 04 21 */ bctrl
/* 802CEFF4 002CBF34 7F C3 F3 78 */ mr r3, r30
/* 802CEFF8 002CBF38 7F E4 FB 78 */ mr r4, r31
/* 802CEFFC 002CBF3C 4B FF F5 05 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802CF000 002CBF40 48 00 00 18 */ b lbl_802CF018
lbl_802CF004:
/* 802CF004 002CBF44 38 80 FF FF */ li r4, -1
/* 802CF008 002CBF48 81 83 00 00 */ lwz r12, 0(r3)
/* 802CF00C 002CBF4C 81 8C 00 08 */ lwz r12, 8(r12)
/* 802CF010 002CBF50 7D 89 03 A6 */ mtctr r12
/* 802CF014 002CBF54 4E 80 04 21 */ bctrl
lbl_802CF018:
/* 802CF018 002CBF58 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CF01C 002CBF5C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CF020 002CBF60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CF024 002CBF64 7C 08 03 A6 */ mtlr r0
/* 802CF028 002CBF68 38 21 00 10 */ addi r1, r1, 0x10
/* 802CF02C 002CBF6C 4E 80 00 20 */ blr
.global __ct__10JKRExpHeapFPvUlP7JKRHeapb
__ct__10JKRExpHeapFPvUlP7JKRHeapb:
/* 802CF030 002CBF70 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CF034 002CBF74 7C 08 02 A6 */ mflr r0
/* 802CF038 002CBF78 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CF03C 002CBF7C 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF040 002CBF80 48 09 31 9D */ bl _savegpr_29
/* 802CF044 002CBF84 7C 7D 1B 78 */ mr r29, r3
/* 802CF048 002CBF88 7C 9E 23 78 */ mr r30, r4
/* 802CF04C 002CBF8C 7C BF 2B 78 */ mr r31, r5
/* 802CF050 002CBF90 4B FF F0 E9 */ bl __ct__7JKRHeapFPvUlP7JKRHeapb
/* 802CF054 002CBF94 3C 60 80 3D */ lis r3, lbl_803CBFD0@ha
/* 802CF058 002CBF98 38 03 BF D0 */ addi r0, r3, lbl_803CBFD0@l
/* 802CF05C 002CBF9C 90 1D 00 00 */ stw r0, 0(r29)
/* 802CF060 002CBFA0 38 00 00 00 */ li r0, 0
/* 802CF064 002CBFA4 98 1D 00 6C */ stb r0, 0x6c(r29)
/* 802CF068 002CBFA8 38 00 00 FF */ li r0, 0xff
/* 802CF06C 002CBFAC 98 1D 00 6D */ stb r0, 0x6d(r29)
/* 802CF070 002CBFB0 93 DD 00 78 */ stw r30, 0x78(r29)
/* 802CF074 002CBFB4 80 1D 00 78 */ lwz r0, 0x78(r29)
/* 802CF078 002CBFB8 90 1D 00 7C */ stw r0, 0x7c(r29)
/* 802CF07C 002CBFBC 80 7D 00 78 */ lwz r3, 0x78(r29)
/* 802CF080 002CBFC0 38 80 00 00 */ li r4, 0
/* 802CF084 002CBFC4 38 A0 00 00 */ li r5, 0
/* 802CF088 002CBFC8 38 DF FF F0 */ addi r6, r31, -16
/* 802CF08C 002CBFCC 38 E0 00 00 */ li r7, 0
/* 802CF090 002CBFD0 39 00 00 00 */ li r8, 0
/* 802CF094 002CBFD4 48 00 17 7D */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc
/* 802CF098 002CBFD8 38 00 00 00 */ li r0, 0
/* 802CF09C 002CBFDC 90 1D 00 80 */ stw r0, 0x80(r29)
/* 802CF0A0 002CBFE0 90 1D 00 84 */ stw r0, 0x84(r29)
/* 802CF0A4 002CBFE4 7F A3 EB 78 */ mr r3, r29
/* 802CF0A8 002CBFE8 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF0AC 002CBFEC 48 09 31 7D */ bl _restgpr_29
/* 802CF0B0 002CBFF0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CF0B4 002CBFF4 7C 08 03 A6 */ mtlr r0
/* 802CF0B8 002CBFF8 38 21 00 20 */ addi r1, r1, 0x20
/* 802CF0BC 002CBFFC 4E 80 00 20 */ blr
/* 802CF0C0 002CC000 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CF0C4 002CC004 7C 08 02 A6 */ mflr r0
/* 802CF0C8 002CC008 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CF0CC 002CC00C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CF0D0 002CC010 93 C1 00 08 */ stw r30, 8(r1)
/* 802CF0D4 002CC014 7C 7E 1B 79 */ or. r30, r3, r3
/* 802CF0D8 002CC018 7C 9F 23 78 */ mr r31, r4
/* 802CF0DC 002CC01C 41 82 00 30 */ beq lbl_802CF10C
/* 802CF0E0 002CC020 3C 80 80 3D */ lis r4, lbl_803CBFD0@ha
/* 802CF0E4 002CC024 38 04 BF D0 */ addi r0, r4, lbl_803CBFD0@l
/* 802CF0E8 002CC028 90 1E 00 00 */ stw r0, 0(r30)
/* 802CF0EC 002CC02C 4B FF F9 D5 */ bl dispose__7JKRHeapFv
/* 802CF0F0 002CC030 7F C3 F3 78 */ mr r3, r30
/* 802CF0F4 002CC034 38 80 00 00 */ li r4, 0
/* 802CF0F8 002CC038 4B FF F1 6D */ bl __dt__7JKRHeapFv
/* 802CF0FC 002CC03C 7F E0 07 35 */ extsh. r0, r31
/* 802CF100 002CC040 40 81 00 0C */ ble lbl_802CF10C
/* 802CF104 002CC044 7F C3 F3 78 */ mr r3, r30
/* 802CF108 002CC048 4B FF FC 35 */ bl __dl__FPv
lbl_802CF10C:
/* 802CF10C 002CC04C 7F C3 F3 78 */ mr r3, r30
/* 802CF110 002CC050 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CF114 002CC054 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CF118 002CC058 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CF11C 002CC05C 7C 08 03 A6 */ mtlr r0
/* 802CF120 002CC060 38 21 00 10 */ addi r1, r1, 0x10
/* 802CF124 002CC064 4E 80 00 20 */ blr
/* 802CF128 002CC068 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CF12C 002CC06C 7C 08 02 A6 */ mflr r0
/* 802CF130 002CC070 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CF134 002CC074 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF138 002CC078 48 09 30 A1 */ bl _savegpr_28
/* 802CF13C 002CC07C 7C 7C 1B 78 */ mr r28, r3
/* 802CF140 002CC080 7C 9D 23 78 */ mr r29, r4
/* 802CF144 002CC084 7C BE 2B 78 */ mr r30, r5
/* 802CF148 002CC088 38 7C 00 18 */ addi r3, r28, 0x18
/* 802CF14C 002CC08C 48 06 FE F5 */ bl OSLockMutex
/* 802CF150 002CC090 28 1D 00 04 */ cmplwi r29, 4
/* 802CF154 002CC094 40 80 00 08 */ bge lbl_802CF15C
/* 802CF158 002CC098 3B A0 00 04 */ li r29, 4
lbl_802CF15C:
/* 802CF15C 002CC09C 2C 1E 00 00 */ cmpwi r30, 0
/* 802CF160 002CC0A0 41 80 00 38 */ blt lbl_802CF198
/* 802CF164 002CC0A4 2C 1E 00 04 */ cmpwi r30, 4
/* 802CF168 002CC0A8 41 81 00 18 */ bgt lbl_802CF180
/* 802CF16C 002CC0AC 7F 83 E3 78 */ mr r3, r28
/* 802CF170 002CC0B0 7F A4 EB 78 */ mr r4, r29
/* 802CF174 002CC0B4 48 00 03 1D */ bl allocFromHead__10JKRExpHeapFUl
/* 802CF178 002CC0B8 7C 7F 1B 78 */ mr r31, r3
/* 802CF17C 002CC0BC 48 00 00 4C */ b lbl_802CF1C8
lbl_802CF180:
/* 802CF180 002CC0C0 7F 83 E3 78 */ mr r3, r28
/* 802CF184 002CC0C4 7F A4 EB 78 */ mr r4, r29
/* 802CF188 002CC0C8 7F C5 F3 78 */ mr r5, r30
/* 802CF18C 002CC0CC 48 00 00 A9 */ bl allocFromHead__10JKRExpHeapFUli
/* 802CF190 002CC0D0 7C 7F 1B 78 */ mr r31, r3
/* 802CF194 002CC0D4 48 00 00 34 */ b lbl_802CF1C8
lbl_802CF198:
/* 802CF198 002CC0D8 7C BE 00 D0 */ neg r5, r30
/* 802CF19C 002CC0DC 2C 05 00 04 */ cmpwi r5, 4
/* 802CF1A0 002CC0E0 41 81 00 18 */ bgt lbl_802CF1B8
/* 802CF1A4 002CC0E4 7F 83 E3 78 */ mr r3, r28
/* 802CF1A8 002CC0E8 7F A4 EB 78 */ mr r4, r29
/* 802CF1AC 002CC0EC 48 00 05 29 */ bl allocFromTail__10JKRExpHeapFUl
/* 802CF1B0 002CC0F0 7C 7F 1B 78 */ mr r31, r3
/* 802CF1B4 002CC0F4 48 00 00 14 */ b lbl_802CF1C8
lbl_802CF1B8:
/* 802CF1B8 002CC0F8 7F 83 E3 78 */ mr r3, r28
/* 802CF1BC 002CC0FC 7F A4 EB 78 */ mr r4, r29
/* 802CF1C0 002CC100 48 00 03 B5 */ bl allocFromTail__10JKRExpHeapFUli
/* 802CF1C4 002CC104 7C 7F 1B 78 */ mr r31, r3
lbl_802CF1C8:
/* 802CF1C8 002CC108 28 1F 00 00 */ cmplwi r31, 0
/* 802CF1CC 002CC10C 40 82 00 44 */ bne lbl_802CF210
/* 802CF1D0 002CC110 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802CF1D4 002CC114 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802CF1D8 002CC118 7F A4 EB 78 */ mr r4, r29
/* 802CF1DC 002CC11C 4C C6 31 82 */ crclr 6
/* 802CF1E0 002CC120 48 01 94 9D */ bl JUTWarningConsole_f
/* 802CF1E4 002CC124 88 1C 00 68 */ lbz r0, 0x68(r28)
/* 802CF1E8 002CC128 28 00 00 01 */ cmplwi r0, 1
/* 802CF1EC 002CC12C 40 82 00 24 */ bne lbl_802CF210
/* 802CF1F0 002CC130 81 8D 8D FC */ lwz r12, lbl_8045137C-_SDA_BASE_(r13)
/* 802CF1F4 002CC134 28 0C 00 00 */ cmplwi r12, 0
/* 802CF1F8 002CC138 41 82 00 18 */ beq lbl_802CF210
/* 802CF1FC 002CC13C 7F 83 E3 78 */ mr r3, r28
/* 802CF200 002CC140 7F A4 EB 78 */ mr r4, r29
/* 802CF204 002CC144 7F C5 F3 78 */ mr r5, r30
/* 802CF208 002CC148 7D 89 03 A6 */ mtctr r12
/* 802CF20C 002CC14C 4E 80 04 21 */ bctrl
lbl_802CF210:
/* 802CF210 002CC150 38 7C 00 18 */ addi r3, r28, 0x18
/* 802CF214 002CC154 48 06 FF 09 */ bl OSUnlockMutex
/* 802CF218 002CC158 7F E3 FB 78 */ mr r3, r31
/* 802CF21C 002CC15C 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF220 002CC160 48 09 30 05 */ bl _restgpr_28
/* 802CF224 002CC164 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CF228 002CC168 7C 08 03 A6 */ mtlr r0
/* 802CF22C 002CC16C 38 21 00 20 */ addi r1, r1, 0x20
/* 802CF230 002CC170 4E 80 00 20 */ blr
.global allocFromHead__10JKRExpHeapFUli
allocFromHead__10JKRExpHeapFUli:
/* 802CF234 002CC174 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802CF238 002CC178 7C 08 02 A6 */ mflr r0
/* 802CF23C 002CC17C 90 01 00 34 */ stw r0, 0x34(r1)
/* 802CF240 002CC180 39 61 00 30 */ addi r11, r1, 0x30
/* 802CF244 002CC184 48 09 2F 89 */ bl func_803621CC
/* 802CF248 002CC188 7C 7D 1B 78 */ mr r29, r3
/* 802CF24C 002CC18C 38 04 00 03 */ addi r0, r4, 3
/* 802CF250 002CC190 54 1E 00 3A */ rlwinm r30, r0, 0, 0, 0x1d
/* 802CF254 002CC194 38 C0 FF FF */ li r6, -1
/* 802CF258 002CC198 3B 60 00 00 */ li r27, 0
/* 802CF25C 002CC19C 3B E0 00 00 */ li r31, 0
/* 802CF260 002CC1A0 80 E3 00 78 */ lwz r7, 0x78(r3)
/* 802CF264 002CC1A4 38 65 FF FF */ addi r3, r5, -1
/* 802CF268 002CC1A8 7C 64 18 F8 */ nor r4, r3, r3
/* 802CF26C 002CC1AC 48 00 00 50 */ b lbl_802CF2BC
lbl_802CF270:
/* 802CF270 002CC1B0 38 A7 00 10 */ addi r5, r7, 0x10
/* 802CF274 002CC1B4 7C 03 2A 14 */ add r0, r3, r5
/* 802CF278 002CC1B8 7C 80 00 38 */ and r0, r4, r0
/* 802CF27C 002CC1BC 7D 05 00 50 */ subf r8, r5, r0
/* 802CF280 002CC1C0 80 A7 00 04 */ lwz r5, 4(r7)
/* 802CF284 002CC1C4 7C 1E 42 14 */ add r0, r30, r8
/* 802CF288 002CC1C8 7C 05 00 40 */ cmplw r5, r0
/* 802CF28C 002CC1CC 41 80 00 2C */ blt lbl_802CF2B8
/* 802CF290 002CC1D0 7C 06 28 40 */ cmplw r6, r5
/* 802CF294 002CC1D4 40 81 00 24 */ ble lbl_802CF2B8
/* 802CF298 002CC1D8 7C A6 2B 78 */ mr r6, r5
/* 802CF29C 002CC1DC 7C FF 3B 78 */ mr r31, r7
/* 802CF2A0 002CC1E0 7D 1B 43 78 */ mr r27, r8
/* 802CF2A4 002CC1E4 88 1D 00 6C */ lbz r0, 0x6c(r29)
/* 802CF2A8 002CC1E8 28 00 00 00 */ cmplwi r0, 0
/* 802CF2AC 002CC1EC 40 82 00 18 */ bne lbl_802CF2C4
/* 802CF2B0 002CC1F0 7C 05 F0 40 */ cmplw r5, r30
/* 802CF2B4 002CC1F4 41 82 00 10 */ beq lbl_802CF2C4
lbl_802CF2B8:
/* 802CF2B8 002CC1F8 80 E7 00 0C */ lwz r7, 0xc(r7)
lbl_802CF2BC:
/* 802CF2BC 002CC1FC 28 07 00 00 */ cmplwi r7, 0
/* 802CF2C0 002CC200 40 82 FF B0 */ bne lbl_802CF270
lbl_802CF2C4:
/* 802CF2C4 002CC204 90 CD 8E 18 */ stw r6, lbl_80451398-_SDA_BASE_(r13)
/* 802CF2C8 002CC208 93 6D 8E 1C */ stw r27, lbl_8045139C-_SDA_BASE_(r13)
/* 802CF2CC 002CC20C 93 ED 8E 20 */ stw r31, lbl_804513A0-_SDA_BASE_(r13)
/* 802CF2D0 002CC210 28 1F 00 00 */ cmplwi r31, 0
/* 802CF2D4 002CC214 41 82 01 A0 */ beq lbl_802CF474
/* 802CF2D8 002CC218 28 1B 00 10 */ cmplwi r27, 0x10
/* 802CF2DC 002CC21C 41 80 00 C0 */ blt lbl_802CF39C
/* 802CF2E0 002CC220 83 5F 00 08 */ lwz r26, 8(r31)
/* 802CF2E4 002CC224 83 3F 00 0C */ lwz r25, 0xc(r31)
/* 802CF2E8 002CC228 7F E3 FB 78 */ mr r3, r31
/* 802CF2EC 002CC22C 38 9B FF F0 */ addi r4, r27, -16
/* 802CF2F0 002CC230 38 A0 00 00 */ li r5, 0
/* 802CF2F4 002CC234 38 C0 00 00 */ li r6, 0
/* 802CF2F8 002CC238 38 E0 00 00 */ li r7, 0
/* 802CF2FC 002CC23C 39 00 00 00 */ li r8, 0
/* 802CF300 002CC240 48 00 15 31 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
/* 802CF304 002CC244 7C 7C 1B 79 */ or. r28, r3, r3
/* 802CF308 002CC248 41 82 00 24 */ beq lbl_802CF32C
/* 802CF30C 002CC24C 7F C4 F3 78 */ mr r4, r30
/* 802CF310 002CC250 88 BD 00 6D */ lbz r5, 0x6d(r29)
/* 802CF314 002CC254 38 C0 00 00 */ li r6, 0
/* 802CF318 002CC258 38 E0 00 00 */ li r7, 0
/* 802CF31C 002CC25C 39 00 00 00 */ li r8, 0
/* 802CF320 002CC260 48 00 15 11 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
/* 802CF324 002CC264 7C 66 1B 78 */ mr r6, r3
/* 802CF328 002CC268 48 00 00 08 */ b lbl_802CF330
lbl_802CF32C:
/* 802CF32C 002CC26C 38 C0 00 00 */ li r6, 0
lbl_802CF330:
/* 802CF330 002CC270 7C DB 33 78 */ mr r27, r6
/* 802CF334 002CC274 28 06 00 00 */ cmplwi r6, 0
/* 802CF338 002CC278 41 82 00 18 */ beq lbl_802CF350
/* 802CF33C 002CC27C 7F A3 EB 78 */ mr r3, r29
/* 802CF340 002CC280 7F E4 FB 78 */ mr r4, r31
/* 802CF344 002CC284 7F 45 D3 78 */ mr r5, r26
/* 802CF348 002CC288 48 00 0B 21 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
/* 802CF34C 002CC28C 48 00 00 18 */ b lbl_802CF364
lbl_802CF350:
/* 802CF350 002CC290 7F A3 EB 78 */ mr r3, r29
/* 802CF354 002CC294 7F E4 FB 78 */ mr r4, r31
/* 802CF358 002CC298 7F 45 D3 78 */ mr r5, r26
/* 802CF35C 002CC29C 7F 26 CB 78 */ mr r6, r25
/* 802CF360 002CC2A0 48 00 0B 09 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
lbl_802CF364:
/* 802CF364 002CC2A4 28 1B 00 00 */ cmplwi r27, 0
/* 802CF368 002CC2A8 41 82 00 18 */ beq lbl_802CF380
/* 802CF36C 002CC2AC 7F A3 EB 78 */ mr r3, r29
/* 802CF370 002CC2B0 7F 64 DB 78 */ mr r4, r27
/* 802CF374 002CC2B4 7F E5 FB 78 */ mr r5, r31
/* 802CF378 002CC2B8 7F 26 CB 78 */ mr r6, r25
/* 802CF37C 002CC2BC 48 00 0A ED */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
lbl_802CF380:
/* 802CF380 002CC2C0 7F A3 EB 78 */ mr r3, r29
/* 802CF384 002CC2C4 7F 84 E3 78 */ mr r4, r28
/* 802CF388 002CC2C8 48 00 0A 45 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF38C 002CC2CC 93 6D 8E 24 */ stw r27, lbl_804513A4-_SDA_BASE_(r13)
/* 802CF390 002CC2D0 93 8D 8E 28 */ stw r28, lbl_804513A8-_SDA_BASE_(r13)
/* 802CF394 002CC2D4 38 7C 00 10 */ addi r3, r28, 0x10
/* 802CF398 002CC2D8 48 00 00 E0 */ b lbl_802CF478
lbl_802CF39C:
/* 802CF39C 002CC2DC 28 1B 00 00 */ cmplwi r27, 0
/* 802CF3A0 002CC2E0 41 82 00 70 */ beq lbl_802CF410
/* 802CF3A4 002CC2E4 83 3F 00 08 */ lwz r25, 8(r31)
/* 802CF3A8 002CC2E8 83 5F 00 0C */ lwz r26, 0xc(r31)
/* 802CF3AC 002CC2EC 7F A3 EB 78 */ mr r3, r29
/* 802CF3B0 002CC2F0 7F E4 FB 78 */ mr r4, r31
/* 802CF3B4 002CC2F4 48 00 0B 01 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF3B8 002CC2F8 7F 9F DA 14 */ add r28, r31, r27
/* 802CF3BC 002CC2FC 80 1F 00 04 */ lwz r0, 4(r31)
/* 802CF3C0 002CC300 7C 1B 00 50 */ subf r0, r27, r0
/* 802CF3C4 002CC304 90 1C 00 04 */ stw r0, 4(r28)
/* 802CF3C8 002CC308 7F 83 E3 78 */ mr r3, r28
/* 802CF3CC 002CC30C 7F C4 F3 78 */ mr r4, r30
/* 802CF3D0 002CC310 88 BD 00 6D */ lbz r5, 0x6d(r29)
/* 802CF3D4 002CC314 57 66 06 3E */ clrlwi r6, r27, 0x18
/* 802CF3D8 002CC318 38 E0 00 00 */ li r7, 0
/* 802CF3DC 002CC31C 39 00 00 00 */ li r8, 0
/* 802CF3E0 002CC320 48 00 14 51 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
/* 802CF3E4 002CC324 7C 64 1B 79 */ or. r4, r3, r3
/* 802CF3E8 002CC328 41 82 00 14 */ beq lbl_802CF3FC
/* 802CF3EC 002CC32C 7F A3 EB 78 */ mr r3, r29
/* 802CF3F0 002CC330 7F 25 CB 78 */ mr r5, r25
/* 802CF3F4 002CC334 7F 46 D3 78 */ mr r6, r26
/* 802CF3F8 002CC338 48 00 0A 71 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
lbl_802CF3FC:
/* 802CF3FC 002CC33C 7F A3 EB 78 */ mr r3, r29
/* 802CF400 002CC340 7F 84 E3 78 */ mr r4, r28
/* 802CF404 002CC344 48 00 09 C9 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF408 002CC348 38 7C 00 10 */ addi r3, r28, 0x10
/* 802CF40C 002CC34C 48 00 00 6C */ b lbl_802CF478
lbl_802CF410:
/* 802CF410 002CC350 83 3F 00 08 */ lwz r25, 8(r31)
/* 802CF414 002CC354 83 5F 00 0C */ lwz r26, 0xc(r31)
/* 802CF418 002CC358 7F E3 FB 78 */ mr r3, r31
/* 802CF41C 002CC35C 7F C4 F3 78 */ mr r4, r30
/* 802CF420 002CC360 88 BD 00 6D */ lbz r5, 0x6d(r29)
/* 802CF424 002CC364 38 C0 00 00 */ li r6, 0
/* 802CF428 002CC368 38 E0 00 00 */ li r7, 0
/* 802CF42C 002CC36C 39 00 00 00 */ li r8, 0
/* 802CF430 002CC370 48 00 14 01 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
/* 802CF434 002CC374 7C 7E 1B 78 */ mr r30, r3
/* 802CF438 002CC378 7F A3 EB 78 */ mr r3, r29
/* 802CF43C 002CC37C 7F E4 FB 78 */ mr r4, r31
/* 802CF440 002CC380 48 00 0A 75 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF444 002CC384 28 1E 00 00 */ cmplwi r30, 0
/* 802CF448 002CC388 41 82 00 18 */ beq lbl_802CF460
/* 802CF44C 002CC38C 7F A3 EB 78 */ mr r3, r29
/* 802CF450 002CC390 7F C4 F3 78 */ mr r4, r30
/* 802CF454 002CC394 7F 25 CB 78 */ mr r5, r25
/* 802CF458 002CC398 7F 46 D3 78 */ mr r6, r26
/* 802CF45C 002CC39C 48 00 0A 0D */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
lbl_802CF460:
/* 802CF460 002CC3A0 7F A3 EB 78 */ mr r3, r29
/* 802CF464 002CC3A4 7F E4 FB 78 */ mr r4, r31
/* 802CF468 002CC3A8 48 00 09 65 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF46C 002CC3AC 38 7F 00 10 */ addi r3, r31, 0x10
/* 802CF470 002CC3B0 48 00 00 08 */ b lbl_802CF478
lbl_802CF474:
/* 802CF474 002CC3B4 38 60 00 00 */ li r3, 0
lbl_802CF478:
/* 802CF478 002CC3B8 39 61 00 30 */ addi r11, r1, 0x30
/* 802CF47C 002CC3BC 48 09 2D 9D */ bl func_80362218
/* 802CF480 002CC3C0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802CF484 002CC3C4 7C 08 03 A6 */ mtlr r0
/* 802CF488 002CC3C8 38 21 00 30 */ addi r1, r1, 0x30
/* 802CF48C 002CC3CC 4E 80 00 20 */ blr
.global allocFromHead__10JKRExpHeapFUl
allocFromHead__10JKRExpHeapFUl:
/* 802CF490 002CC3D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CF494 002CC3D4 7C 08 02 A6 */ mflr r0
/* 802CF498 002CC3D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CF49C 002CC3DC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CF4A0 002CC3E0 93 C1 00 08 */ stw r30, 8(r1)
/* 802CF4A4 002CC3E4 7C 7E 1B 78 */ mr r30, r3
/* 802CF4A8 002CC3E8 38 04 00 03 */ addi r0, r4, 3
/* 802CF4AC 002CC3EC 54 04 00 3A */ rlwinm r4, r0, 0, 0, 0x1d
/* 802CF4B0 002CC3F0 38 A0 FF FF */ li r5, -1
/* 802CF4B4 002CC3F4 3B E0 00 00 */ li r31, 0
/* 802CF4B8 002CC3F8 80 C3 00 78 */ lwz r6, 0x78(r3)
/* 802CF4BC 002CC3FC 48 00 00 38 */ b lbl_802CF4F4
lbl_802CF4C0:
/* 802CF4C0 002CC400 80 66 00 04 */ lwz r3, 4(r6)
/* 802CF4C4 002CC404 7C 03 20 40 */ cmplw r3, r4
/* 802CF4C8 002CC408 41 80 00 28 */ blt lbl_802CF4F0
/* 802CF4CC 002CC40C 7C 05 18 40 */ cmplw r5, r3
/* 802CF4D0 002CC410 40 81 00 20 */ ble lbl_802CF4F0
/* 802CF4D4 002CC414 7C 65 1B 78 */ mr r5, r3
/* 802CF4D8 002CC418 7C DF 33 78 */ mr r31, r6
/* 802CF4DC 002CC41C 88 1E 00 6C */ lbz r0, 0x6c(r30)
/* 802CF4E0 002CC420 28 00 00 00 */ cmplwi r0, 0
/* 802CF4E4 002CC424 40 82 00 18 */ bne lbl_802CF4FC
/* 802CF4E8 002CC428 7C 03 20 40 */ cmplw r3, r4
/* 802CF4EC 002CC42C 41 82 00 10 */ beq lbl_802CF4FC
lbl_802CF4F0:
/* 802CF4F0 002CC430 80 C6 00 0C */ lwz r6, 0xc(r6)
lbl_802CF4F4:
/* 802CF4F4 002CC434 28 06 00 00 */ cmplwi r6, 0
/* 802CF4F8 002CC438 40 82 FF C8 */ bne lbl_802CF4C0
lbl_802CF4FC:
/* 802CF4FC 002CC43C 28 1F 00 00 */ cmplwi r31, 0
/* 802CF500 002CC440 41 82 00 58 */ beq lbl_802CF558
/* 802CF504 002CC444 7F E3 FB 78 */ mr r3, r31
/* 802CF508 002CC448 88 BE 00 6D */ lbz r5, 0x6d(r30)
/* 802CF50C 002CC44C 38 C0 00 00 */ li r6, 0
/* 802CF510 002CC450 38 E0 00 00 */ li r7, 0
/* 802CF514 002CC454 39 00 00 00 */ li r8, 0
/* 802CF518 002CC458 48 00 13 19 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
/* 802CF51C 002CC45C 7C 64 1B 79 */ or. r4, r3, r3
/* 802CF520 002CC460 41 82 00 18 */ beq lbl_802CF538
/* 802CF524 002CC464 7F C3 F3 78 */ mr r3, r30
/* 802CF528 002CC468 80 BF 00 08 */ lwz r5, 8(r31)
/* 802CF52C 002CC46C 80 DF 00 0C */ lwz r6, 0xc(r31)
/* 802CF530 002CC470 48 00 09 39 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
/* 802CF534 002CC474 48 00 00 10 */ b lbl_802CF544
lbl_802CF538:
/* 802CF538 002CC478 7F C3 F3 78 */ mr r3, r30
/* 802CF53C 002CC47C 7F E4 FB 78 */ mr r4, r31
/* 802CF540 002CC480 48 00 09 75 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
lbl_802CF544:
/* 802CF544 002CC484 7F C3 F3 78 */ mr r3, r30
/* 802CF548 002CC488 7F E4 FB 78 */ mr r4, r31
/* 802CF54C 002CC48C 48 00 08 81 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF550 002CC490 38 7F 00 10 */ addi r3, r31, 0x10
/* 802CF554 002CC494 48 00 00 08 */ b lbl_802CF55C
lbl_802CF558:
/* 802CF558 002CC498 38 60 00 00 */ li r3, 0
lbl_802CF55C:
/* 802CF55C 002CC49C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CF560 002CC4A0 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CF564 002CC4A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CF568 002CC4A8 7C 08 03 A6 */ mtlr r0
/* 802CF56C 002CC4AC 38 21 00 10 */ addi r1, r1, 0x10
/* 802CF570 002CC4B0 4E 80 00 20 */ blr
.global allocFromTail__10JKRExpHeapFUli
allocFromTail__10JKRExpHeapFUli:
/* 802CF574 002CC4B4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CF578 002CC4B8 7C 08 02 A6 */ mflr r0
/* 802CF57C 002CC4BC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CF580 002CC4C0 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF584 002CC4C4 48 09 2C 51 */ bl _savegpr_27
/* 802CF588 002CC4C8 7C 7B 1B 78 */ mr r27, r3
/* 802CF58C 002CC4CC 3B E0 00 00 */ li r31, 0
/* 802CF590 002CC4D0 3B C0 00 00 */ li r30, 0
/* 802CF594 002CC4D4 3B A0 00 00 */ li r29, 0
/* 802CF598 002CC4D8 81 03 00 7C */ lwz r8, 0x7c(r3)
/* 802CF59C 002CC4DC 38 05 FF FF */ addi r0, r5, -1
/* 802CF5A0 002CC4E0 7C 03 00 F8 */ nor r3, r0, r0
/* 802CF5A4 002CC4E4 48 00 00 38 */ b lbl_802CF5DC
lbl_802CF5A8:
/* 802CF5A8 002CC4E8 80 C8 00 04 */ lwz r6, 4(r8)
/* 802CF5AC 002CC4EC 7C A8 32 14 */ add r5, r8, r6
/* 802CF5B0 002CC4F0 38 A5 00 10 */ addi r5, r5, 0x10
/* 802CF5B4 002CC4F4 7C 04 28 50 */ subf r0, r4, r5
/* 802CF5B8 002CC4F8 7C 67 00 38 */ and r7, r3, r0
/* 802CF5BC 002CC4FC 7F 87 28 50 */ subf r28, r7, r5
/* 802CF5C0 002CC500 7C 06 E0 40 */ cmplw r6, r28
/* 802CF5C4 002CC504 41 80 00 14 */ blt lbl_802CF5D8
/* 802CF5C8 002CC508 7D 1E 43 78 */ mr r30, r8
/* 802CF5CC 002CC50C 7F FC 30 50 */ subf r31, r28, r6
/* 802CF5D0 002CC510 3B A7 FF F0 */ addi r29, r7, -16
/* 802CF5D4 002CC514 48 00 00 10 */ b lbl_802CF5E4
lbl_802CF5D8:
/* 802CF5D8 002CC518 81 08 00 08 */ lwz r8, 8(r8)
lbl_802CF5DC:
/* 802CF5DC 002CC51C 28 08 00 00 */ cmplwi r8, 0
/* 802CF5E0 002CC520 40 82 FF C8 */ bne lbl_802CF5A8
lbl_802CF5E4:
/* 802CF5E4 002CC524 28 1E 00 00 */ cmplwi r30, 0
/* 802CF5E8 002CC528 41 82 00 D0 */ beq lbl_802CF6B8
/* 802CF5EC 002CC52C 28 1F 00 10 */ cmplwi r31, 0x10
/* 802CF5F0 002CC530 41 80 00 44 */ blt lbl_802CF634
/* 802CF5F4 002CC534 7F A3 EB 78 */ mr r3, r29
/* 802CF5F8 002CC538 38 80 00 00 */ li r4, 0
/* 802CF5FC 002CC53C 38 A0 00 00 */ li r5, 0
/* 802CF600 002CC540 7F 86 E3 78 */ mr r6, r28
/* 802CF604 002CC544 88 FB 00 6D */ lbz r7, 0x6d(r27)
/* 802CF608 002CC548 39 00 00 80 */ li r8, 0x80
/* 802CF60C 002CC54C 48 00 12 05 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc
/* 802CF610 002CC550 80 1E 00 04 */ lwz r0, 4(r30)
/* 802CF614 002CC554 7C 7C 00 50 */ subf r3, r28, r0
/* 802CF618 002CC558 38 03 FF F0 */ addi r0, r3, -16
/* 802CF61C 002CC55C 90 1E 00 04 */ stw r0, 4(r30)
/* 802CF620 002CC560 7F 63 DB 78 */ mr r3, r27
/* 802CF624 002CC564 7F A4 EB 78 */ mr r4, r29
/* 802CF628 002CC568 48 00 07 A5 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF62C 002CC56C 38 7D 00 10 */ addi r3, r29, 0x10
/* 802CF630 002CC570 48 00 00 8C */ b lbl_802CF6BC
lbl_802CF634:
/* 802CF634 002CC574 28 1F 00 00 */ cmplwi r31, 0
/* 802CF638 002CC578 41 82 00 44 */ beq lbl_802CF67C
/* 802CF63C 002CC57C 7F 63 DB 78 */ mr r3, r27
/* 802CF640 002CC580 7F C4 F3 78 */ mr r4, r30
/* 802CF644 002CC584 48 00 08 71 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF648 002CC588 7F A3 EB 78 */ mr r3, r29
/* 802CF64C 002CC58C 38 80 00 00 */ li r4, 0
/* 802CF650 002CC590 38 A0 00 00 */ li r5, 0
/* 802CF654 002CC594 7F 86 E3 78 */ mr r6, r28
/* 802CF658 002CC598 88 FB 00 6D */ lbz r7, 0x6d(r27)
/* 802CF65C 002CC59C 63 E0 00 80 */ ori r0, r31, 0x80
/* 802CF660 002CC5A0 54 08 06 3E */ clrlwi r8, r0, 0x18
/* 802CF664 002CC5A4 48 00 11 AD */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc
/* 802CF668 002CC5A8 7F 63 DB 78 */ mr r3, r27
/* 802CF66C 002CC5AC 7F A4 EB 78 */ mr r4, r29
/* 802CF670 002CC5B0 48 00 07 5D */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF674 002CC5B4 38 7D 00 10 */ addi r3, r29, 0x10
/* 802CF678 002CC5B8 48 00 00 44 */ b lbl_802CF6BC
lbl_802CF67C:
/* 802CF67C 002CC5BC 7F 63 DB 78 */ mr r3, r27
/* 802CF680 002CC5C0 7F C4 F3 78 */ mr r4, r30
/* 802CF684 002CC5C4 48 00 08 31 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF688 002CC5C8 7F A3 EB 78 */ mr r3, r29
/* 802CF68C 002CC5CC 38 80 00 00 */ li r4, 0
/* 802CF690 002CC5D0 38 A0 00 00 */ li r5, 0
/* 802CF694 002CC5D4 7F 86 E3 78 */ mr r6, r28
/* 802CF698 002CC5D8 88 FB 00 6D */ lbz r7, 0x6d(r27)
/* 802CF69C 002CC5DC 39 00 00 80 */ li r8, 0x80
/* 802CF6A0 002CC5E0 48 00 11 71 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc
/* 802CF6A4 002CC5E4 7F 63 DB 78 */ mr r3, r27
/* 802CF6A8 002CC5E8 7F A4 EB 78 */ mr r4, r29
/* 802CF6AC 002CC5EC 48 00 07 21 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF6B0 002CC5F0 38 7D 00 10 */ addi r3, r29, 0x10
/* 802CF6B4 002CC5F4 48 00 00 08 */ b lbl_802CF6BC
lbl_802CF6B8:
/* 802CF6B8 002CC5F8 38 60 00 00 */ li r3, 0
lbl_802CF6BC:
/* 802CF6BC 002CC5FC 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF6C0 002CC600 48 09 2B 61 */ bl _restgpr_27
/* 802CF6C4 002CC604 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CF6C8 002CC608 7C 08 03 A6 */ mtlr r0
/* 802CF6CC 002CC60C 38 21 00 20 */ addi r1, r1, 0x20
/* 802CF6D0 002CC610 4E 80 00 20 */ blr
.global allocFromTail__10JKRExpHeapFUl
allocFromTail__10JKRExpHeapFUl:
/* 802CF6D4 002CC614 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CF6D8 002CC618 7C 08 02 A6 */ mflr r0
/* 802CF6DC 002CC61C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CF6E0 002CC620 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF6E4 002CC624 48 09 2A F9 */ bl _savegpr_29
/* 802CF6E8 002CC628 7C 7D 1B 78 */ mr r29, r3
/* 802CF6EC 002CC62C 38 04 00 03 */ addi r0, r4, 3
/* 802CF6F0 002CC630 54 04 00 3A */ rlwinm r4, r0, 0, 0, 0x1d
/* 802CF6F4 002CC634 3B E0 00 00 */ li r31, 0
/* 802CF6F8 002CC638 80 63 00 7C */ lwz r3, 0x7c(r3)
/* 802CF6FC 002CC63C 48 00 00 1C */ b lbl_802CF718
lbl_802CF700:
/* 802CF700 002CC640 80 03 00 04 */ lwz r0, 4(r3)
/* 802CF704 002CC644 7C 00 20 40 */ cmplw r0, r4
/* 802CF708 002CC648 41 80 00 0C */ blt lbl_802CF714
/* 802CF70C 002CC64C 7C 7F 1B 78 */ mr r31, r3
/* 802CF710 002CC650 48 00 00 10 */ b lbl_802CF720
lbl_802CF714:
/* 802CF714 002CC654 80 63 00 08 */ lwz r3, 8(r3)
lbl_802CF718:
/* 802CF718 002CC658 28 03 00 00 */ cmplwi r3, 0
/* 802CF71C 002CC65C 40 82 FF E4 */ bne lbl_802CF700
lbl_802CF720:
/* 802CF720 002CC660 28 1F 00 00 */ cmplwi r31, 0
/* 802CF724 002CC664 41 82 00 6C */ beq lbl_802CF790
/* 802CF728 002CC668 7F E3 FB 78 */ mr r3, r31
/* 802CF72C 002CC66C 38 A0 00 00 */ li r5, 0
/* 802CF730 002CC670 38 C0 00 00 */ li r6, 0
/* 802CF734 002CC674 88 FD 00 6D */ lbz r7, 0x6d(r29)
/* 802CF738 002CC678 39 00 00 00 */ li r8, 0
/* 802CF73C 002CC67C 48 00 11 39 */ bl allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
/* 802CF740 002CC680 7C 7E 1B 79 */ or. r30, r3, r3
/* 802CF744 002CC684 41 82 00 0C */ beq lbl_802CF750
/* 802CF748 002CC688 7F E4 FB 78 */ mr r4, r31
/* 802CF74C 002CC68C 48 00 00 18 */ b lbl_802CF764
lbl_802CF750:
/* 802CF750 002CC690 7F A3 EB 78 */ mr r3, r29
/* 802CF754 002CC694 7F E4 FB 78 */ mr r4, r31
/* 802CF758 002CC698 48 00 07 5D */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF75C 002CC69C 7F FE FB 78 */ mr r30, r31
/* 802CF760 002CC6A0 38 80 00 00 */ li r4, 0
lbl_802CF764:
/* 802CF764 002CC6A4 28 04 00 00 */ cmplwi r4, 0
/* 802CF768 002CC6A8 41 82 00 14 */ beq lbl_802CF77C
/* 802CF76C 002CC6AC 7F A3 EB 78 */ mr r3, r29
/* 802CF770 002CC6B0 80 BF 00 08 */ lwz r5, 8(r31)
/* 802CF774 002CC6B4 80 DF 00 0C */ lwz r6, 0xc(r31)
/* 802CF778 002CC6B8 48 00 06 F1 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
lbl_802CF77C:
/* 802CF77C 002CC6BC 7F A3 EB 78 */ mr r3, r29
/* 802CF780 002CC6C0 7F C4 F3 78 */ mr r4, r30
/* 802CF784 002CC6C4 48 00 06 49 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF788 002CC6C8 38 7E 00 10 */ addi r3, r30, 0x10
/* 802CF78C 002CC6CC 48 00 00 08 */ b lbl_802CF794
lbl_802CF790:
/* 802CF790 002CC6D0 38 60 00 00 */ li r3, 0
lbl_802CF794:
/* 802CF794 002CC6D4 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF798 002CC6D8 48 09 2A 91 */ bl _restgpr_29
/* 802CF79C 002CC6DC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CF7A0 002CC6E0 7C 08 03 A6 */ mtlr r0
/* 802CF7A4 002CC6E4 38 21 00 20 */ addi r1, r1, 0x20
/* 802CF7A8 002CC6E8 4E 80 00 20 */ blr
/* 802CF7AC 002CC6EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CF7B0 002CC6F0 7C 08 02 A6 */ mflr r0
/* 802CF7B4 002CC6F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CF7B8 002CC6F8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CF7BC 002CC6FC 93 C1 00 08 */ stw r30, 8(r1)
/* 802CF7C0 002CC700 7C 7E 1B 78 */ mr r30, r3
/* 802CF7C4 002CC704 7C 9F 23 78 */ mr r31, r4
/* 802CF7C8 002CC708 38 7E 00 18 */ addi r3, r30, 0x18
/* 802CF7CC 002CC70C 48 06 F8 75 */ bl OSLockMutex
/* 802CF7D0 002CC710 80 1E 00 30 */ lwz r0, 0x30(r30)
/* 802CF7D4 002CC714 7C 00 F8 40 */ cmplw r0, r31
/* 802CF7D8 002CC718 41 81 00 28 */ bgt lbl_802CF800
/* 802CF7DC 002CC71C 80 1E 00 34 */ lwz r0, 0x34(r30)
/* 802CF7E0 002CC720 7C 1F 00 40 */ cmplw r31, r0
/* 802CF7E4 002CC724 41 81 00 1C */ bgt lbl_802CF800
/* 802CF7E8 002CC728 7F E3 FB 78 */ mr r3, r31
/* 802CF7EC 002CC72C 48 00 11 31 */ bl getHeapBlock__Q210JKRExpHeap9CMemBlockFPv
/* 802CF7F0 002CC730 28 03 00 00 */ cmplwi r3, 0
/* 802CF7F4 002CC734 41 82 00 0C */ beq lbl_802CF800
/* 802CF7F8 002CC738 7F C4 F3 78 */ mr r4, r30
/* 802CF7FC 002CC73C 48 00 10 D1 */ bl free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap
lbl_802CF800:
/* 802CF800 002CC740 38 7E 00 18 */ addi r3, r30, 0x18
/* 802CF804 002CC744 48 06 F9 19 */ bl OSUnlockMutex
/* 802CF808 002CC748 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CF80C 002CC74C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CF810 002CC750 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CF814 002CC754 7C 08 03 A6 */ mtlr r0
/* 802CF818 002CC758 38 21 00 10 */ addi r1, r1, 0x10
/* 802CF81C 002CC75C 4E 80 00 20 */ blr
/* 802CF820 002CC760 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CF824 002CC764 7C 08 02 A6 */ mflr r0
/* 802CF828 002CC768 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CF82C 002CC76C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CF830 002CC770 7C 7F 1B 78 */ mr r31, r3
/* 802CF834 002CC774 38 7F 00 18 */ addi r3, r31, 0x18
/* 802CF838 002CC778 48 06 F8 09 */ bl OSLockMutex
/* 802CF83C 002CC77C 7F E3 FB 78 */ mr r3, r31
/* 802CF840 002CC780 4B FF ED 35 */ bl callAllDisposer__7JKRHeapFv
/* 802CF844 002CC784 80 1F 00 30 */ lwz r0, 0x30(r31)
/* 802CF848 002CC788 90 1F 00 78 */ stw r0, 0x78(r31)
/* 802CF84C 002CC78C 80 1F 00 78 */ lwz r0, 0x78(r31)
/* 802CF850 002CC790 90 1F 00 7C */ stw r0, 0x7c(r31)
/* 802CF854 002CC794 80 7F 00 78 */ lwz r3, 0x78(r31)
/* 802CF858 002CC798 38 80 00 00 */ li r4, 0
/* 802CF85C 002CC79C 38 A0 00 00 */ li r5, 0
/* 802CF860 002CC7A0 80 DF 00 38 */ lwz r6, 0x38(r31)
/* 802CF864 002CC7A4 38 C6 FF F0 */ addi r6, r6, -16
/* 802CF868 002CC7A8 38 E0 00 00 */ li r7, 0
/* 802CF86C 002CC7AC 39 00 00 00 */ li r8, 0
/* 802CF870 002CC7B0 48 00 0F A1 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc
/* 802CF874 002CC7B4 38 00 00 00 */ li r0, 0
/* 802CF878 002CC7B8 90 1F 00 80 */ stw r0, 0x80(r31)
/* 802CF87C 002CC7BC 90 1F 00 84 */ stw r0, 0x84(r31)
/* 802CF880 002CC7C0 38 7F 00 18 */ addi r3, r31, 0x18
/* 802CF884 002CC7C4 48 06 F8 99 */ bl OSUnlockMutex
/* 802CF888 002CC7C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CF88C 002CC7CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CF890 002CC7D0 7C 08 03 A6 */ mtlr r0
/* 802CF894 002CC7D4 38 21 00 10 */ addi r1, r1, 0x10
/* 802CF898 002CC7D8 4E 80 00 20 */ blr
/* 802CF89C 002CC7DC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CF8A0 002CC7E0 7C 08 02 A6 */ mflr r0
/* 802CF8A4 002CC7E4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CF8A8 002CC7E8 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF8AC 002CC7EC 48 09 29 31 */ bl _savegpr_29
/* 802CF8B0 002CC7F0 7C 7D 1B 78 */ mr r29, r3
/* 802CF8B4 002CC7F4 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CF8B8 002CC7F8 48 06 F7 89 */ bl OSLockMutex
/* 802CF8BC 002CC7FC 83 FD 00 80 */ lwz r31, 0x80(r29)
/* 802CF8C0 002CC800 48 00 00 3C */ b lbl_802CF8FC
lbl_802CF8C4:
/* 802CF8C4 002CC804 88 1F 00 02 */ lbz r0, 2(r31)
/* 802CF8C8 002CC808 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 802CF8CC 002CC80C 41 82 00 2C */ beq lbl_802CF8F8
/* 802CF8D0 002CC810 7F A3 EB 78 */ mr r3, r29
/* 802CF8D4 002CC814 38 9F 00 10 */ addi r4, r31, 0x10
/* 802CF8D8 002CC818 80 BF 00 04 */ lwz r5, 4(r31)
/* 802CF8DC 002CC81C 4B FF F1 9D */ bl dispose__7JKRHeapFPvUl
/* 802CF8E0 002CC820 83 DF 00 0C */ lwz r30, 0xc(r31)
/* 802CF8E4 002CC824 7F E3 FB 78 */ mr r3, r31
/* 802CF8E8 002CC828 7F A4 EB 78 */ mr r4, r29
/* 802CF8EC 002CC82C 48 00 0F E1 */ bl free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap
/* 802CF8F0 002CC830 7F DF F3 78 */ mr r31, r30
/* 802CF8F4 002CC834 48 00 00 08 */ b lbl_802CF8FC
lbl_802CF8F8:
/* 802CF8F8 002CC838 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802CF8FC:
/* 802CF8FC 002CC83C 28 1F 00 00 */ cmplwi r31, 0
/* 802CF900 002CC840 40 82 FF C4 */ bne lbl_802CF8C4
/* 802CF904 002CC844 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CF908 002CC848 48 06 F8 15 */ bl OSUnlockMutex
/* 802CF90C 002CC84C 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF910 002CC850 48 09 29 19 */ bl _restgpr_29
/* 802CF914 002CC854 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CF918 002CC858 7C 08 03 A6 */ mtlr r0
/* 802CF91C 002CC85C 38 21 00 20 */ addi r1, r1, 0x20
/* 802CF920 002CC860 4E 80 00 20 */ blr
/* 802CF924 002CC864 4E 80 00 20 */ blr
/* 802CF928 002CC868 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CF92C 002CC86C 7C 08 02 A6 */ mflr r0
/* 802CF930 002CC870 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CF934 002CC874 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF938 002CC878 48 09 28 A5 */ bl _savegpr_29
/* 802CF93C 002CC87C 7C 7D 1B 78 */ mr r29, r3
/* 802CF940 002CC880 7C 9E 23 78 */ mr r30, r4
/* 802CF944 002CC884 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CF948 002CC888 48 06 F6 F9 */ bl OSLockMutex
/* 802CF94C 002CC88C 8B FD 00 6D */ lbz r31, 0x6d(r29)
/* 802CF950 002CC890 9B DD 00 6D */ stb r30, 0x6d(r29)
/* 802CF954 002CC894 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CF958 002CC898 48 06 F7 C5 */ bl OSUnlockMutex
/* 802CF95C 002CC89C 7F E3 FB 78 */ mr r3, r31
/* 802CF960 002CC8A0 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF964 002CC8A4 48 09 28 C5 */ bl _restgpr_29
/* 802CF968 002CC8A8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CF96C 002CC8AC 7C 08 03 A6 */ mtlr r0
/* 802CF970 002CC8B0 38 21 00 20 */ addi r1, r1, 0x20
/* 802CF974 002CC8B4 4E 80 00 20 */ blr
/* 802CF978 002CC8B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CF97C 002CC8BC 7C 08 02 A6 */ mflr r0
/* 802CF980 002CC8C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CF984 002CC8C4 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF988 002CC8C8 48 09 28 51 */ bl _savegpr_28
/* 802CF98C 002CC8CC 7C 7D 1B 78 */ mr r29, r3
/* 802CF990 002CC8D0 7C 9C 23 78 */ mr r28, r4
/* 802CF994 002CC8D4 7C BE 2B 78 */ mr r30, r5
/* 802CF998 002CC8D8 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CF99C 002CC8DC 48 06 F6 A5 */ bl OSLockMutex
/* 802CF9A0 002CC8E0 7F 83 E3 78 */ mr r3, r28
/* 802CF9A4 002CC8E4 48 00 0F 79 */ bl getHeapBlock__Q210JKRExpHeap9CMemBlockFPv
/* 802CF9A8 002CC8E8 7C 7F 1B 79 */ or. r31, r3, r3
/* 802CF9AC 002CC8EC 41 82 00 1C */ beq lbl_802CF9C8
/* 802CF9B0 002CC8F0 80 1D 00 30 */ lwz r0, 0x30(r29)
/* 802CF9B4 002CC8F4 7C 1C 00 40 */ cmplw r28, r0
/* 802CF9B8 002CC8F8 41 80 00 10 */ blt lbl_802CF9C8
/* 802CF9BC 002CC8FC 80 1D 00 34 */ lwz r0, 0x34(r29)
/* 802CF9C0 002CC900 7C 00 E0 40 */ cmplw r0, r28
/* 802CF9C4 002CC904 40 80 00 14 */ bge lbl_802CF9D8
lbl_802CF9C8:
/* 802CF9C8 002CC908 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CF9CC 002CC90C 48 06 F7 51 */ bl OSUnlockMutex
/* 802CF9D0 002CC910 38 60 FF FF */ li r3, -1
/* 802CF9D4 002CC914 48 00 01 38 */ b lbl_802CFB0C
lbl_802CF9D8:
/* 802CF9D8 002CC918 38 1E 00 03 */ addi r0, r30, 3
/* 802CF9DC 002CC91C 54 1E 00 3A */ rlwinm r30, r0, 0, 0, 0x1d
/* 802CF9E0 002CC920 80 9F 00 04 */ lwz r4, 4(r31)
/* 802CF9E4 002CC924 7C 1E 20 40 */ cmplw r30, r4
/* 802CF9E8 002CC928 40 82 00 14 */ bne lbl_802CF9FC
/* 802CF9EC 002CC92C 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CF9F0 002CC930 48 06 F7 2D */ bl OSUnlockMutex
/* 802CF9F4 002CC934 7F C3 F3 78 */ mr r3, r30
/* 802CF9F8 002CC938 48 00 01 14 */ b lbl_802CFB0C
lbl_802CF9FC:
/* 802CF9FC 002CC93C 40 81 00 D0 */ ble lbl_802CFACC
/* 802CFA00 002CC940 3B 80 00 00 */ li r28, 0
/* 802CFA04 002CC944 80 7D 00 78 */ lwz r3, 0x78(r29)
/* 802CFA08 002CC948 38 1F 00 10 */ addi r0, r31, 0x10
/* 802CFA0C 002CC94C 7C 00 22 14 */ add r0, r0, r4
/* 802CFA10 002CC950 48 00 00 18 */ b lbl_802CFA28
lbl_802CFA14:
/* 802CFA14 002CC954 7C 03 00 40 */ cmplw r3, r0
/* 802CFA18 002CC958 40 82 00 0C */ bne lbl_802CFA24
/* 802CFA1C 002CC95C 7C 7C 1B 78 */ mr r28, r3
/* 802CFA20 002CC960 48 00 00 10 */ b lbl_802CFA30
lbl_802CFA24:
/* 802CFA24 002CC964 80 63 00 0C */ lwz r3, 0xc(r3)
lbl_802CFA28:
/* 802CFA28 002CC968 28 03 00 00 */ cmplwi r3, 0
/* 802CFA2C 002CC96C 40 82 FF E8 */ bne lbl_802CFA14
lbl_802CFA30:
/* 802CFA30 002CC970 28 1C 00 00 */ cmplwi r28, 0
/* 802CFA34 002CC974 40 82 00 14 */ bne lbl_802CFA48
/* 802CFA38 002CC978 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CFA3C 002CC97C 48 06 F6 E1 */ bl OSUnlockMutex
/* 802CFA40 002CC980 38 60 FF FF */ li r3, -1
/* 802CFA44 002CC984 48 00 00 C8 */ b lbl_802CFB0C
lbl_802CFA48:
/* 802CFA48 002CC988 80 1C 00 04 */ lwz r0, 4(r28)
/* 802CFA4C 002CC98C 7C 64 02 14 */ add r3, r4, r0
/* 802CFA50 002CC990 38 03 00 10 */ addi r0, r3, 0x10
/* 802CFA54 002CC994 7C 1E 00 40 */ cmplw r30, r0
/* 802CFA58 002CC998 40 81 00 14 */ ble lbl_802CFA6C
/* 802CFA5C 002CC99C 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CFA60 002CC9A0 48 06 F6 BD */ bl OSUnlockMutex
/* 802CFA64 002CC9A4 38 60 FF FF */ li r3, -1
/* 802CFA68 002CC9A8 48 00 00 A4 */ b lbl_802CFB0C
lbl_802CFA6C:
/* 802CFA6C 002CC9AC 7F A3 EB 78 */ mr r3, r29
/* 802CFA70 002CC9B0 7F 84 E3 78 */ mr r4, r28
/* 802CFA74 002CC9B4 48 00 04 41 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CFA78 002CC9B8 80 7F 00 04 */ lwz r3, 4(r31)
/* 802CFA7C 002CC9BC 80 1C 00 04 */ lwz r0, 4(r28)
/* 802CFA80 002CC9C0 7C 60 1A 14 */ add r3, r0, r3
/* 802CFA84 002CC9C4 38 03 00 10 */ addi r0, r3, 0x10
/* 802CFA88 002CC9C8 90 1F 00 04 */ stw r0, 4(r31)
/* 802CFA8C 002CC9CC 80 1F 00 04 */ lwz r0, 4(r31)
/* 802CFA90 002CC9D0 7C 1E 00 50 */ subf r0, r30, r0
/* 802CFA94 002CC9D4 28 00 00 10 */ cmplwi r0, 0x10
/* 802CFA98 002CC9D8 40 81 00 68 */ ble lbl_802CFB00
/* 802CFA9C 002CC9DC 7F E3 FB 78 */ mr r3, r31
/* 802CFAA0 002CC9E0 7F C4 F3 78 */ mr r4, r30
/* 802CFAA4 002CC9E4 88 BF 00 03 */ lbz r5, 3(r31)
/* 802CFAA8 002CC9E8 88 DF 00 02 */ lbz r6, 2(r31)
/* 802CFAAC 002CC9EC 38 E0 00 00 */ li r7, 0
/* 802CFAB0 002CC9F0 39 00 00 00 */ li r8, 0
/* 802CFAB4 002CC9F4 48 00 0D 7D */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
/* 802CFAB8 002CC9F8 7C 64 1B 79 */ or. r4, r3, r3
/* 802CFABC 002CC9FC 41 82 00 44 */ beq lbl_802CFB00
/* 802CFAC0 002CCA00 7F A3 EB 78 */ mr r3, r29
/* 802CFAC4 002CCA04 48 00 04 59 */ bl recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CFAC8 002CCA08 48 00 00 38 */ b lbl_802CFB00
lbl_802CFACC:
/* 802CFACC 002CCA0C 7C 1E 20 50 */ subf r0, r30, r4
/* 802CFAD0 002CCA10 28 00 00 10 */ cmplwi r0, 0x10
/* 802CFAD4 002CCA14 40 81 00 2C */ ble lbl_802CFB00
/* 802CFAD8 002CCA18 7F C4 F3 78 */ mr r4, r30
/* 802CFADC 002CCA1C 88 BF 00 03 */ lbz r5, 3(r31)
/* 802CFAE0 002CCA20 88 DF 00 02 */ lbz r6, 2(r31)
/* 802CFAE4 002CCA24 38 E0 00 00 */ li r7, 0
/* 802CFAE8 002CCA28 39 00 00 00 */ li r8, 0
/* 802CFAEC 002CCA2C 48 00 0D 45 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
/* 802CFAF0 002CCA30 7C 64 1B 79 */ or. r4, r3, r3
/* 802CFAF4 002CCA34 41 82 00 0C */ beq lbl_802CFB00
/* 802CFAF8 002CCA38 7F A3 EB 78 */ mr r3, r29
/* 802CFAFC 002CCA3C 48 00 04 21 */ bl recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
lbl_802CFB00:
/* 802CFB00 002CCA40 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CFB04 002CCA44 48 06 F6 19 */ bl OSUnlockMutex
/* 802CFB08 002CCA48 80 7F 00 04 */ lwz r3, 4(r31)
lbl_802CFB0C:
/* 802CFB0C 002CCA4C 39 61 00 20 */ addi r11, r1, 0x20
/* 802CFB10 002CCA50 48 09 27 15 */ bl _restgpr_28
/* 802CFB14 002CCA54 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CFB18 002CCA58 7C 08 03 A6 */ mtlr r0
/* 802CFB1C 002CCA5C 38 21 00 20 */ addi r1, r1, 0x20
/* 802CFB20 002CCA60 4E 80 00 20 */ blr
/* 802CFB24 002CCA64 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CFB28 002CCA68 7C 08 02 A6 */ mflr r0
/* 802CFB2C 002CCA6C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CFB30 002CCA70 39 61 00 20 */ addi r11, r1, 0x20
/* 802CFB34 002CCA74 48 09 26 A9 */ bl _savegpr_29
/* 802CFB38 002CCA78 7C 7D 1B 78 */ mr r29, r3
/* 802CFB3C 002CCA7C 7C 9E 23 78 */ mr r30, r4
/* 802CFB40 002CCA80 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CFB44 002CCA84 48 06 F4 FD */ bl OSLockMutex
/* 802CFB48 002CCA88 7F C3 F3 78 */ mr r3, r30
/* 802CFB4C 002CCA8C 48 00 0D D1 */ bl getHeapBlock__Q210JKRExpHeap9CMemBlockFPv
/* 802CFB50 002CCA90 7C 7F 1B 79 */ or. r31, r3, r3
/* 802CFB54 002CCA94 41 82 00 1C */ beq lbl_802CFB70
/* 802CFB58 002CCA98 80 1D 00 30 */ lwz r0, 0x30(r29)
/* 802CFB5C 002CCA9C 7C 1E 00 40 */ cmplw r30, r0
/* 802CFB60 002CCAA0 41 80 00 10 */ blt lbl_802CFB70
/* 802CFB64 002CCAA4 80 1D 00 34 */ lwz r0, 0x34(r29)
/* 802CFB68 002CCAA8 7C 00 F0 40 */ cmplw r0, r30
/* 802CFB6C 002CCAAC 40 80 00 14 */ bge lbl_802CFB80
lbl_802CFB70:
/* 802CFB70 002CCAB0 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CFB74 002CCAB4 48 06 F5 A9 */ bl OSUnlockMutex
/* 802CFB78 002CCAB8 38 60 FF FF */ li r3, -1
/* 802CFB7C 002CCABC 48 00 00 10 */ b lbl_802CFB8C
lbl_802CFB80:
/* 802CFB80 002CCAC0 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CFB84 002CCAC4 48 06 F5 99 */ bl OSUnlockMutex
/* 802CFB88 002CCAC8 80 7F 00 04 */ lwz r3, 4(r31)
lbl_802CFB8C:
/* 802CFB8C 002CCACC 39 61 00 20 */ addi r11, r1, 0x20
/* 802CFB90 002CCAD0 48 09 26 99 */ bl _restgpr_29
/* 802CFB94 002CCAD4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CFB98 002CCAD8 7C 08 03 A6 */ mtlr r0
/* 802CFB9C 002CCADC 38 21 00 20 */ addi r1, r1, 0x20
/* 802CFBA0 002CCAE0 4E 80 00 20 */ blr
/* 802CFBA4 002CCAE4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CFBA8 002CCAE8 7C 08 02 A6 */ mflr r0
/* 802CFBAC 002CCAEC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CFBB0 002CCAF0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CFBB4 002CCAF4 93 C1 00 08 */ stw r30, 8(r1)
/* 802CFBB8 002CCAF8 7C 7E 1B 78 */ mr r30, r3
/* 802CFBBC 002CCAFC 38 7E 00 18 */ addi r3, r30, 0x18
/* 802CFBC0 002CCB00 48 06 F4 81 */ bl OSLockMutex
/* 802CFBC4 002CCB04 3B E0 00 00 */ li r31, 0
/* 802CFBC8 002CCB08 80 7E 00 78 */ lwz r3, 0x78(r30)
/* 802CFBCC 002CCB0C 48 00 00 18 */ b lbl_802CFBE4
lbl_802CFBD0:
/* 802CFBD0 002CCB10 80 03 00 04 */ lwz r0, 4(r3)
/* 802CFBD4 002CCB14 7C 1F 00 00 */ cmpw r31, r0
/* 802CFBD8 002CCB18 40 80 00 08 */ bge lbl_802CFBE0
/* 802CFBDC 002CCB1C 7C 1F 03 78 */ mr r31, r0
lbl_802CFBE0:
/* 802CFBE0 002CCB20 80 63 00 0C */ lwz r3, 0xc(r3)
lbl_802CFBE4:
/* 802CFBE4 002CCB24 28 03 00 00 */ cmplwi r3, 0
/* 802CFBE8 002CCB28 40 82 FF E8 */ bne lbl_802CFBD0
/* 802CFBEC 002CCB2C 38 7E 00 18 */ addi r3, r30, 0x18
/* 802CFBF0 002CCB30 48 06 F5 2D */ bl OSUnlockMutex
/* 802CFBF4 002CCB34 7F E3 FB 78 */ mr r3, r31
/* 802CFBF8 002CCB38 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CFBFC 002CCB3C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CFC00 002CCB40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CFC04 002CCB44 7C 08 03 A6 */ mtlr r0
/* 802CFC08 002CCB48 38 21 00 10 */ addi r1, r1, 0x10
/* 802CFC0C 002CCB4C 4E 80 00 20 */ blr
/* 802CFC10 002CCB50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CFC14 002CCB54 7C 08 02 A6 */ mflr r0
/* 802CFC18 002CCB58 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CFC1C 002CCB5C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CFC20 002CCB60 93 C1 00 08 */ stw r30, 8(r1)
/* 802CFC24 002CCB64 7C 7E 1B 78 */ mr r30, r3
/* 802CFC28 002CCB68 38 7E 00 18 */ addi r3, r30, 0x18
/* 802CFC2C 002CCB6C 48 06 F4 15 */ bl OSLockMutex
/* 802CFC30 002CCB70 38 60 00 00 */ li r3, 0
/* 802CFC34 002CCB74 3B E0 00 00 */ li r31, 0
/* 802CFC38 002CCB78 80 9E 00 78 */ lwz r4, 0x78(r30)
/* 802CFC3C 002CCB7C 48 00 00 1C */ b lbl_802CFC58
lbl_802CFC40:
/* 802CFC40 002CCB80 80 04 00 04 */ lwz r0, 4(r4)
/* 802CFC44 002CCB84 7C 03 00 00 */ cmpw r3, r0
/* 802CFC48 002CCB88 40 80 00 0C */ bge lbl_802CFC54
/* 802CFC4C 002CCB8C 7C 03 03 78 */ mr r3, r0
/* 802CFC50 002CCB90 7C 9F 23 78 */ mr r31, r4
lbl_802CFC54:
/* 802CFC54 002CCB94 80 84 00 0C */ lwz r4, 0xc(r4)
lbl_802CFC58:
/* 802CFC58 002CCB98 28 04 00 00 */ cmplwi r4, 0
/* 802CFC5C 002CCB9C 40 82 FF E4 */ bne lbl_802CFC40
/* 802CFC60 002CCBA0 38 7E 00 18 */ addi r3, r30, 0x18
/* 802CFC64 002CCBA4 48 06 F4 B9 */ bl OSUnlockMutex
/* 802CFC68 002CCBA8 7F E3 FB 78 */ mr r3, r31
/* 802CFC6C 002CCBAC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CFC70 002CCBB0 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CFC74 002CCBB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CFC78 002CCBB8 7C 08 03 A6 */ mtlr r0
/* 802CFC7C 002CCBBC 38 21 00 10 */ addi r1, r1, 0x10
/* 802CFC80 002CCBC0 4E 80 00 20 */ blr
/* 802CFC84 002CCBC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CFC88 002CCBC8 7C 08 02 A6 */ mflr r0
/* 802CFC8C 002CCBCC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CFC90 002CCBD0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CFC94 002CCBD4 93 C1 00 08 */ stw r30, 8(r1)
/* 802CFC98 002CCBD8 7C 7E 1B 78 */ mr r30, r3
/* 802CFC9C 002CCBDC 3B E0 00 00 */ li r31, 0
/* 802CFCA0 002CCBE0 38 7E 00 18 */ addi r3, r30, 0x18
/* 802CFCA4 002CCBE4 48 06 F3 9D */ bl OSLockMutex
/* 802CFCA8 002CCBE8 80 7E 00 78 */ lwz r3, 0x78(r30)
/* 802CFCAC 002CCBEC 48 00 00 10 */ b lbl_802CFCBC
lbl_802CFCB0:
/* 802CFCB0 002CCBF0 80 03 00 04 */ lwz r0, 4(r3)
/* 802CFCB4 002CCBF4 7F FF 02 14 */ add r31, r31, r0
/* 802CFCB8 002CCBF8 80 63 00 0C */ lwz r3, 0xc(r3)
lbl_802CFCBC:
/* 802CFCBC 002CCBFC 28 03 00 00 */ cmplwi r3, 0
/* 802CFCC0 002CCC00 40 82 FF F0 */ bne lbl_802CFCB0
/* 802CFCC4 002CCC04 38 7E 00 18 */ addi r3, r30, 0x18
/* 802CFCC8 002CCC08 48 06 F4 55 */ bl OSUnlockMutex
/* 802CFCCC 002CCC0C 7F E3 FB 78 */ mr r3, r31
/* 802CFCD0 002CCC10 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CFCD4 002CCC14 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CFCD8 002CCC18 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CFCDC 002CCC1C 7C 08 03 A6 */ mtlr r0
/* 802CFCE0 002CCC20 38 21 00 10 */ addi r1, r1, 0x10
/* 802CFCE4 002CCC24 4E 80 00 20 */ blr
.global getUsedSize__10JKRExpHeapCFUc
getUsedSize__10JKRExpHeapCFUc:
/* 802CFCE8 002CCC28 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CFCEC 002CCC2C 7C 08 02 A6 */ mflr r0
/* 802CFCF0 002CCC30 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CFCF4 002CCC34 39 61 00 20 */ addi r11, r1, 0x20
/* 802CFCF8 002CCC38 48 09 24 E5 */ bl _savegpr_29
/* 802CFCFC 002CCC3C 7C 7D 1B 78 */ mr r29, r3
/* 802CFD00 002CCC40 7C 9E 23 78 */ mr r30, r4
/* 802CFD04 002CCC44 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CFD08 002CCC48 48 06 F3 39 */ bl OSLockMutex
/* 802CFD0C 002CCC4C 3B E0 00 00 */ li r31, 0
/* 802CFD10 002CCC50 80 9D 00 80 */ lwz r4, 0x80(r29)
/* 802CFD14 002CCC54 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 802CFD18 002CCC58 48 00 00 20 */ b lbl_802CFD38
lbl_802CFD1C:
/* 802CFD1C 002CCC5C 88 04 00 03 */ lbz r0, 3(r4)
/* 802CFD20 002CCC60 7C 00 18 40 */ cmplw r0, r3
/* 802CFD24 002CCC64 40 82 00 10 */ bne lbl_802CFD34
/* 802CFD28 002CCC68 80 04 00 04 */ lwz r0, 4(r4)
/* 802CFD2C 002CCC6C 7F E0 FA 14 */ add r31, r0, r31
/* 802CFD30 002CCC70 3B FF 00 10 */ addi r31, r31, 0x10
lbl_802CFD34:
/* 802CFD34 002CCC74 80 84 00 0C */ lwz r4, 0xc(r4)
lbl_802CFD38:
/* 802CFD38 002CCC78 28 04 00 00 */ cmplwi r4, 0
/* 802CFD3C 002CCC7C 40 82 FF E0 */ bne lbl_802CFD1C
/* 802CFD40 002CCC80 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CFD44 002CCC84 48 06 F3 D9 */ bl OSUnlockMutex
/* 802CFD48 002CCC88 7F E3 FB 78 */ mr r3, r31
/* 802CFD4C 002CCC8C 39 61 00 20 */ addi r11, r1, 0x20
/* 802CFD50 002CCC90 48 09 24 D9 */ bl _restgpr_29
/* 802CFD54 002CCC94 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CFD58 002CCC98 7C 08 03 A6 */ mtlr r0
/* 802CFD5C 002CCC9C 38 21 00 20 */ addi r1, r1, 0x20
/* 802CFD60 002CCCA0 4E 80 00 20 */ blr
.global getTotalUsedSize__10JKRExpHeapCFv
getTotalUsedSize__10JKRExpHeapCFv:
/* 802CFD64 002CCCA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CFD68 002CCCA8 7C 08 02 A6 */ mflr r0
/* 802CFD6C 002CCCAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CFD70 002CCCB0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CFD74 002CCCB4 93 C1 00 08 */ stw r30, 8(r1)
/* 802CFD78 002CCCB8 7C 7E 1B 78 */ mr r30, r3
/* 802CFD7C 002CCCBC 38 7E 00 18 */ addi r3, r30, 0x18
/* 802CFD80 002CCCC0 48 06 F2 C1 */ bl OSLockMutex
/* 802CFD84 002CCCC4 3B E0 00 00 */ li r31, 0
/* 802CFD88 002CCCC8 80 7E 00 80 */ lwz r3, 0x80(r30)
/* 802CFD8C 002CCCCC 48 00 00 14 */ b lbl_802CFDA0
lbl_802CFD90:
/* 802CFD90 002CCCD0 80 03 00 04 */ lwz r0, 4(r3)
/* 802CFD94 002CCCD4 7F E0 FA 14 */ add r31, r0, r31
/* 802CFD98 002CCCD8 80 63 00 0C */ lwz r3, 0xc(r3)
/* 802CFD9C 002CCCDC 3B FF 00 10 */ addi r31, r31, 0x10
lbl_802CFDA0:
/* 802CFDA0 002CCCE0 28 03 00 00 */ cmplwi r3, 0
/* 802CFDA4 002CCCE4 40 82 FF EC */ bne lbl_802CFD90
/* 802CFDA8 002CCCE8 38 7E 00 18 */ addi r3, r30, 0x18
/* 802CFDAC 002CCCEC 48 06 F3 71 */ bl OSUnlockMutex
/* 802CFDB0 002CCCF0 7F E3 FB 78 */ mr r3, r31
/* 802CFDB4 002CCCF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CFDB8 002CCCF8 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CFDBC 002CCCFC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CFDC0 002CCD00 7C 08 03 A6 */ mtlr r0
/* 802CFDC4 002CCD04 38 21 00 10 */ addi r1, r1, 0x10
/* 802CFDC8 002CCD08 4E 80 00 20 */ blr
.global appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock:
/* 802CFDCC 002CCD0C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CFDD0 002CCD10 7C 08 02 A6 */ mflr r0
/* 802CFDD4 002CCD14 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CFDD8 002CCD18 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CFDDC 002CCD1C 93 C1 00 08 */ stw r30, 8(r1)
/* 802CFDE0 002CCD20 7C 7E 1B 78 */ mr r30, r3
/* 802CFDE4 002CCD24 7C 9F 23 79 */ or. r31, r4, r4
/* 802CFDE8 002CCD28 40 82 00 24 */ bne lbl_802CFE0C
/* 802CFDEC 002CCD2C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802CFDF0 002CCD30 38 C3 CA F0 */ addi r6, r3, lbl_8039CAF0@l
/* 802CFDF4 002CCD34 38 66 00 25 */ addi r3, r6, 0x25
/* 802CFDF8 002CCD38 38 80 06 20 */ li r4, 0x620
/* 802CFDFC 002CCD3C 38 A6 00 34 */ addi r5, r6, 0x34
/* 802CFE00 002CCD40 38 C6 00 37 */ addi r6, r6, 0x37
/* 802CFE04 002CCD44 4C C6 31 82 */ crclr 6
/* 802CFE08 002CCD48 48 01 23 F5 */ bl JUTException_NS_panic_f
lbl_802CFE0C:
/* 802CFE0C 002CCD4C 80 7E 00 84 */ lwz r3, 0x84(r30)
/* 802CFE10 002CCD50 38 00 48 4D */ li r0, 0x484d
/* 802CFE14 002CCD54 B0 1F 00 00 */ sth r0, 0(r31)
/* 802CFE18 002CCD58 28 03 00 00 */ cmplwi r3, 0
/* 802CFE1C 002CCD5C 41 82 00 10 */ beq lbl_802CFE2C
/* 802CFE20 002CCD60 93 E3 00 0C */ stw r31, 0xc(r3)
/* 802CFE24 002CCD64 90 7F 00 08 */ stw r3, 8(r31)
/* 802CFE28 002CCD68 48 00 00 0C */ b lbl_802CFE34
lbl_802CFE2C:
/* 802CFE2C 002CCD6C 38 00 00 00 */ li r0, 0
/* 802CFE30 002CCD70 90 1F 00 08 */ stw r0, 8(r31)
lbl_802CFE34:
/* 802CFE34 002CCD74 93 FE 00 84 */ stw r31, 0x84(r30)
/* 802CFE38 002CCD78 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 802CFE3C 002CCD7C 28 00 00 00 */ cmplwi r0, 0
/* 802CFE40 002CCD80 40 82 00 08 */ bne lbl_802CFE48
/* 802CFE44 002CCD84 93 FE 00 80 */ stw r31, 0x80(r30)
lbl_802CFE48:
/* 802CFE48 002CCD88 38 00 00 00 */ li r0, 0
/* 802CFE4C 002CCD8C 90 1F 00 0C */ stw r0, 0xc(r31)
/* 802CFE50 002CCD90 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CFE54 002CCD94 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CFE58 002CCD98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CFE5C 002CCD9C 7C 08 03 A6 */ mtlr r0
/* 802CFE60 002CCDA0 38 21 00 10 */ addi r1, r1, 0x10
/* 802CFE64 002CCDA4 4E 80 00 20 */ blr
.global setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock:
/* 802CFE68 002CCDA8 28 05 00 00 */ cmplwi r5, 0
/* 802CFE6C 002CCDAC 40 82 00 14 */ bne lbl_802CFE80
/* 802CFE70 002CCDB0 90 83 00 78 */ stw r4, 0x78(r3)
/* 802CFE74 002CCDB4 38 00 00 00 */ li r0, 0
/* 802CFE78 002CCDB8 90 04 00 08 */ stw r0, 8(r4)
/* 802CFE7C 002CCDBC 48 00 00 0C */ b lbl_802CFE88
lbl_802CFE80:
/* 802CFE80 002CCDC0 90 85 00 0C */ stw r4, 0xc(r5)
/* 802CFE84 002CCDC4 90 A4 00 08 */ stw r5, 8(r4)
lbl_802CFE88:
/* 802CFE88 002CCDC8 28 06 00 00 */ cmplwi r6, 0
/* 802CFE8C 002CCDCC 40 82 00 14 */ bne lbl_802CFEA0
/* 802CFE90 002CCDD0 90 83 00 7C */ stw r4, 0x7c(r3)
/* 802CFE94 002CCDD4 38 00 00 00 */ li r0, 0
/* 802CFE98 002CCDD8 90 04 00 0C */ stw r0, 0xc(r4)
/* 802CFE9C 002CCDDC 48 00 00 0C */ b lbl_802CFEA8
lbl_802CFEA0:
/* 802CFEA0 002CCDE0 90 86 00 08 */ stw r4, 8(r6)
/* 802CFEA4 002CCDE4 90 C4 00 0C */ stw r6, 0xc(r4)
lbl_802CFEA8:
/* 802CFEA8 002CCDE8 38 00 00 00 */ li r0, 0
/* 802CFEAC 002CCDEC B0 04 00 00 */ sth r0, 0(r4)
/* 802CFEB0 002CCDF0 4E 80 00 20 */ blr
.global removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock:
/* 802CFEB4 002CCDF4 80 A4 00 08 */ lwz r5, 8(r4)
/* 802CFEB8 002CCDF8 80 84 00 0C */ lwz r4, 0xc(r4)
/* 802CFEBC 002CCDFC 28 05 00 00 */ cmplwi r5, 0
/* 802CFEC0 002CCE00 40 82 00 0C */ bne lbl_802CFECC
/* 802CFEC4 002CCE04 90 83 00 78 */ stw r4, 0x78(r3)
/* 802CFEC8 002CCE08 48 00 00 08 */ b lbl_802CFED0
lbl_802CFECC:
/* 802CFECC 002CCE0C 90 85 00 0C */ stw r4, 0xc(r5)
lbl_802CFED0:
/* 802CFED0 002CCE10 28 04 00 00 */ cmplwi r4, 0
/* 802CFED4 002CCE14 40 82 00 0C */ bne lbl_802CFEE0
/* 802CFED8 002CCE18 90 A3 00 7C */ stw r5, 0x7c(r3)
/* 802CFEDC 002CCE1C 4E 80 00 20 */ blr
lbl_802CFEE0:
/* 802CFEE0 002CCE20 90 A4 00 08 */ stw r5, 8(r4)
/* 802CFEE4 002CCE24 4E 80 00 20 */ blr
.global removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock:
/* 802CFEE8 002CCE28 80 A4 00 08 */ lwz r5, 8(r4)
/* 802CFEEC 002CCE2C 80 84 00 0C */ lwz r4, 0xc(r4)
/* 802CFEF0 002CCE30 28 05 00 00 */ cmplwi r5, 0
/* 802CFEF4 002CCE34 40 82 00 0C */ bne lbl_802CFF00
/* 802CFEF8 002CCE38 90 83 00 80 */ stw r4, 0x80(r3)
/* 802CFEFC 002CCE3C 48 00 00 08 */ b lbl_802CFF04
lbl_802CFF00:
/* 802CFF00 002CCE40 90 85 00 0C */ stw r4, 0xc(r5)
lbl_802CFF04:
/* 802CFF04 002CCE44 28 04 00 00 */ cmplwi r4, 0
/* 802CFF08 002CCE48 40 82 00 0C */ bne lbl_802CFF14
/* 802CFF0C 002CCE4C 90 A3 00 84 */ stw r5, 0x84(r3)
/* 802CFF10 002CCE50 4E 80 00 20 */ blr
lbl_802CFF14:
/* 802CFF14 002CCE54 90 A4 00 08 */ stw r5, 8(r4)
/* 802CFF18 002CCE58 4E 80 00 20 */ blr
.global recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock:
/* 802CFF1C 002CCE5C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CFF20 002CCE60 7C 08 02 A6 */ mflr r0
/* 802CFF24 002CCE64 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CFF28 002CCE68 39 61 00 20 */ addi r11, r1, 0x20
/* 802CFF2C 002CCE6C 48 09 22 B1 */ bl _savegpr_29
/* 802CFF30 002CCE70 7C 7D 1B 78 */ mr r29, r3
/* 802CFF34 002CCE74 7C 9F 23 78 */ mr r31, r4
/* 802CFF38 002CCE78 80 C4 00 04 */ lwz r6, 4(r4)
/* 802CFF3C 002CCE7C 7C A4 32 14 */ add r5, r4, r6
/* 802CFF40 002CCE80 38 60 00 00 */ li r3, 0
/* 802CFF44 002CCE84 B0 64 00 00 */ sth r3, 0(r4)
/* 802CFF48 002CCE88 88 04 00 02 */ lbz r0, 2(r4)
/* 802CFF4C 002CCE8C 54 00 06 7F */ clrlwi. r0, r0, 0x19
/* 802CFF50 002CCE90 41 82 00 1C */ beq lbl_802CFF6C
/* 802CFF54 002CCE94 7F E0 20 50 */ subf r31, r0, r4
/* 802CFF58 002CCE98 7C C6 02 14 */ add r6, r6, r0
/* 802CFF5C 002CCE9C 7C BF 32 14 */ add r5, r31, r6
/* 802CFF60 002CCEA0 98 7F 00 03 */ stb r3, 3(r31)
/* 802CFF64 002CCEA4 98 7F 00 02 */ stb r3, 2(r31)
/* 802CFF68 002CCEA8 90 DF 00 04 */ stw r6, 4(r31)
lbl_802CFF6C:
/* 802CFF6C 002CCEAC 80 7D 00 78 */ lwz r3, 0x78(r29)
/* 802CFF70 002CCEB0 28 03 00 00 */ cmplwi r3, 0
/* 802CFF74 002CCEB4 40 82 00 3C */ bne lbl_802CFFB0
/* 802CFF78 002CCEB8 7F E3 FB 78 */ mr r3, r31
/* 802CFF7C 002CCEBC 38 80 00 00 */ li r4, 0
/* 802CFF80 002CCEC0 38 A0 00 00 */ li r5, 0
/* 802CFF84 002CCEC4 38 E0 00 00 */ li r7, 0
/* 802CFF88 002CCEC8 39 00 00 00 */ li r8, 0
/* 802CFF8C 002CCECC 48 00 08 85 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc
/* 802CFF90 002CCED0 93 FD 00 78 */ stw r31, 0x78(r29)
/* 802CFF94 002CCED4 93 FD 00 7C */ stw r31, 0x7c(r29)
/* 802CFF98 002CCED8 7F A3 EB 78 */ mr r3, r29
/* 802CFF9C 002CCEDC 7F E4 FB 78 */ mr r4, r31
/* 802CFFA0 002CCEE0 38 A0 00 00 */ li r5, 0
/* 802CFFA4 002CCEE4 38 C0 00 00 */ li r6, 0
/* 802CFFA8 002CCEE8 4B FF FE C1 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
/* 802CFFAC 002CCEEC 48 00 00 F0 */ b lbl_802D009C
lbl_802CFFB0:
/* 802CFFB0 002CCEF0 7C 03 28 40 */ cmplw r3, r5
/* 802CFFB4 002CCEF4 41 80 00 40 */ blt lbl_802CFFF4
/* 802CFFB8 002CCEF8 7F E3 FB 78 */ mr r3, r31
/* 802CFFBC 002CCEFC 38 80 00 00 */ li r4, 0
/* 802CFFC0 002CCF00 38 A0 00 00 */ li r5, 0
/* 802CFFC4 002CCF04 38 E0 00 00 */ li r7, 0
/* 802CFFC8 002CCF08 39 00 00 00 */ li r8, 0
/* 802CFFCC 002CCF0C 48 00 08 45 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc
/* 802CFFD0 002CCF10 7F A3 EB 78 */ mr r3, r29
/* 802CFFD4 002CCF14 7F E4 FB 78 */ mr r4, r31
/* 802CFFD8 002CCF18 38 A0 00 00 */ li r5, 0
/* 802CFFDC 002CCF1C 80 DD 00 78 */ lwz r6, 0x78(r29)
/* 802CFFE0 002CCF20 4B FF FE 89 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
/* 802CFFE4 002CCF24 7F A3 EB 78 */ mr r3, r29
/* 802CFFE8 002CCF28 7F E4 FB 78 */ mr r4, r31
/* 802CFFEC 002CCF2C 48 00 00 C9 */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CFFF0 002CCF30 48 00 00 AC */ b lbl_802D009C
lbl_802CFFF4:
/* 802CFFF4 002CCF34 80 1D 00 7C */ lwz r0, 0x7c(r29)
/* 802CFFF8 002CCF38 7C 00 F8 40 */ cmplw r0, r31
/* 802CFFFC 002CCF3C 41 81 00 40 */ bgt lbl_802D003C
/* 802D0000 002CCF40 7F E3 FB 78 */ mr r3, r31
/* 802D0004 002CCF44 38 80 00 00 */ li r4, 0
/* 802D0008 002CCF48 38 A0 00 00 */ li r5, 0
/* 802D000C 002CCF4C 38 E0 00 00 */ li r7, 0
/* 802D0010 002CCF50 39 00 00 00 */ li r8, 0
/* 802D0014 002CCF54 48 00 07 FD */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc
/* 802D0018 002CCF58 7F A3 EB 78 */ mr r3, r29
/* 802D001C 002CCF5C 7F E4 FB 78 */ mr r4, r31
/* 802D0020 002CCF60 80 BD 00 7C */ lwz r5, 0x7c(r29)
/* 802D0024 002CCF64 38 C0 00 00 */ li r6, 0
/* 802D0028 002CCF68 4B FF FE 41 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
/* 802D002C 002CCF6C 7F A3 EB 78 */ mr r3, r29
/* 802D0030 002CCF70 80 9F 00 08 */ lwz r4, 8(r31)
/* 802D0034 002CCF74 48 00 00 81 */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802D0038 002CCF78 48 00 00 64 */ b lbl_802D009C
lbl_802D003C:
/* 802D003C 002CCF7C 7C 7E 1B 78 */ mr r30, r3
/* 802D0040 002CCF80 48 00 00 54 */ b lbl_802D0094
lbl_802D0044:
/* 802D0044 002CCF84 7C 1E F8 40 */ cmplw r30, r31
/* 802D0048 002CCF88 40 80 00 48 */ bge lbl_802D0090
/* 802D004C 002CCF8C 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802D0050 002CCF90 7C 1F 00 40 */ cmplw r31, r0
/* 802D0054 002CCF94 40 80 00 3C */ bge lbl_802D0090
/* 802D0058 002CCF98 90 1F 00 0C */ stw r0, 0xc(r31)
/* 802D005C 002CCF9C 93 DF 00 08 */ stw r30, 8(r31)
/* 802D0060 002CCFA0 93 FE 00 0C */ stw r31, 0xc(r30)
/* 802D0064 002CCFA4 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802D0068 002CCFA8 93 E3 00 08 */ stw r31, 8(r3)
/* 802D006C 002CCFAC 38 00 00 00 */ li r0, 0
/* 802D0070 002CCFB0 98 1F 00 03 */ stb r0, 3(r31)
/* 802D0074 002CCFB4 7F A3 EB 78 */ mr r3, r29
/* 802D0078 002CCFB8 7F E4 FB 78 */ mr r4, r31
/* 802D007C 002CCFBC 48 00 00 39 */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802D0080 002CCFC0 7F A3 EB 78 */ mr r3, r29
/* 802D0084 002CCFC4 7F C4 F3 78 */ mr r4, r30
/* 802D0088 002CCFC8 48 00 00 2D */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802D008C 002CCFCC 48 00 00 10 */ b lbl_802D009C
lbl_802D0090:
/* 802D0090 002CCFD0 83 DE 00 0C */ lwz r30, 0xc(r30)
lbl_802D0094:
/* 802D0094 002CCFD4 28 1E 00 00 */ cmplwi r30, 0
/* 802D0098 002CCFD8 40 82 FF AC */ bne lbl_802D0044
lbl_802D009C:
/* 802D009C 002CCFDC 39 61 00 20 */ addi r11, r1, 0x20
/* 802D00A0 002CCFE0 48 09 21 89 */ bl _restgpr_29
/* 802D00A4 002CCFE4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D00A8 002CCFE8 7C 08 03 A6 */ mtlr r0
/* 802D00AC 002CCFEC 38 21 00 20 */ addi r1, r1, 0x20
/* 802D00B0 002CCFF0 4E 80 00 20 */ blr
.global joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock:
/* 802D00B4 002CCFF4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D00B8 002CCFF8 7C 08 02 A6 */ mflr r0
/* 802D00BC 002CCFFC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D00C0 002CD000 39 61 00 20 */ addi r11, r1, 0x20
/* 802D00C4 002CD004 48 09 21 11 */ bl _savegpr_27
/* 802D00C8 002CD008 7C 7E 1B 78 */ mr r30, r3
/* 802D00CC 002CD00C 7C 9F 23 78 */ mr r31, r4
/* 802D00D0 002CD010 80 04 00 04 */ lwz r0, 4(r4)
/* 802D00D4 002CD014 7F BF 02 14 */ add r29, r31, r0
/* 802D00D8 002CD018 83 84 00 0C */ lwz r28, 0xc(r4)
/* 802D00DC 002CD01C 88 1C 00 02 */ lbz r0, 2(r28)
/* 802D00E0 002CD020 54 00 06 7E */ clrlwi r0, r0, 0x19
/* 802D00E4 002CD024 7F 60 E0 50 */ subf r27, r0, r28
/* 802D00E8 002CD028 3B BD 00 10 */ addi r29, r29, 0x10
/* 802D00EC 002CD02C 7C 1D D8 40 */ cmplw r29, r27
/* 802D00F0 002CD030 40 81 00 4C */ ble lbl_802D013C
/* 802D00F4 002CD034 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D00F8 002CD038 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D00FC 002CD03C 38 63 00 4B */ addi r3, r3, 0x4b
/* 802D0100 002CD040 4C C6 31 82 */ crclr 6
/* 802D0104 002CD044 48 01 85 79 */ bl JUTWarningConsole_f
/* 802D0108 002CD048 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13)
/* 802D010C 002CD04C 81 83 00 00 */ lwz r12, 0(r3)
/* 802D0110 002CD050 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802D0114 002CD054 7D 89 03 A6 */ mtctr r12
/* 802D0118 002CD058 4E 80 04 21 */ bctrl
/* 802D011C 002CD05C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0120 002CD060 38 C3 CA F0 */ addi r6, r3, lbl_8039CAF0@l
/* 802D0124 002CD064 38 66 00 25 */ addi r3, r6, 0x25
/* 802D0128 002CD068 38 80 07 1C */ li r4, 0x71c
/* 802D012C 002CD06C 38 A6 00 34 */ addi r5, r6, 0x34
/* 802D0130 002CD070 38 C6 00 6F */ addi r6, r6, 0x6f
/* 802D0134 002CD074 4C C6 31 82 */ crclr 6
/* 802D0138 002CD078 48 01 20 C5 */ bl JUTException_NS_panic_f
lbl_802D013C:
/* 802D013C 002CD07C 7C 1D D8 40 */ cmplw r29, r27
/* 802D0140 002CD080 40 82 00 38 */ bne lbl_802D0178
/* 802D0144 002CD084 80 9F 00 04 */ lwz r4, 4(r31)
/* 802D0148 002CD088 80 7C 00 04 */ lwz r3, 4(r28)
/* 802D014C 002CD08C 88 1C 00 02 */ lbz r0, 2(r28)
/* 802D0150 002CD090 54 00 06 7E */ clrlwi r0, r0, 0x19
/* 802D0154 002CD094 7C 03 02 14 */ add r0, r3, r0
/* 802D0158 002CD098 7C 60 22 14 */ add r3, r0, r4
/* 802D015C 002CD09C 38 03 00 10 */ addi r0, r3, 0x10
/* 802D0160 002CD0A0 90 1F 00 04 */ stw r0, 4(r31)
/* 802D0164 002CD0A4 7F C3 F3 78 */ mr r3, r30
/* 802D0168 002CD0A8 7F E4 FB 78 */ mr r4, r31
/* 802D016C 002CD0AC 80 BF 00 08 */ lwz r5, 8(r31)
/* 802D0170 002CD0B0 80 DC 00 0C */ lwz r6, 0xc(r28)
/* 802D0174 002CD0B4 4B FF FC F5 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
lbl_802D0178:
/* 802D0178 002CD0B8 39 61 00 20 */ addi r11, r1, 0x20
/* 802D017C 002CD0BC 48 09 20 A5 */ bl _restgpr_27
/* 802D0180 002CD0C0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D0184 002CD0C4 7C 08 03 A6 */ mtlr r0
/* 802D0188 002CD0C8 38 21 00 20 */ addi r1, r1, 0x20
/* 802D018C 002CD0CC 4E 80 00 20 */ blr
/* 802D0190 002CD0D0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D0194 002CD0D4 7C 08 02 A6 */ mflr r0
/* 802D0198 002CD0D8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D019C 002CD0DC 39 61 00 20 */ addi r11, r1, 0x20
/* 802D01A0 002CD0E0 48 09 20 39 */ bl _savegpr_28
/* 802D01A4 002CD0E4 7C 7C 1B 78 */ mr r28, r3
/* 802D01A8 002CD0E8 38 7C 00 18 */ addi r3, r28, 0x18
/* 802D01AC 002CD0EC 48 06 EE 95 */ bl OSLockMutex
/* 802D01B0 002CD0F0 3B E0 00 00 */ li r31, 0
/* 802D01B4 002CD0F4 3B C0 00 01 */ li r30, 1
/* 802D01B8 002CD0F8 83 BC 00 80 */ lwz r29, 0x80(r28)
/* 802D01BC 002CD0FC 48 00 00 E0 */ b lbl_802D029C
lbl_802D01C0:
/* 802D01C0 002CD100 A0 1D 00 00 */ lhz r0, 0(r29)
/* 802D01C4 002CD104 28 00 48 4D */ cmplwi r0, 0x484d
/* 802D01C8 002CD108 41 82 00 28 */ beq lbl_802D01F0
/* 802D01CC 002CD10C 3B C0 00 00 */ li r30, 0
/* 802D01D0 002CD110 54 06 06 3E */ clrlwi r6, r0, 0x18
/* 802D01D4 002CD114 54 05 C6 3E */ rlwinm r5, r0, 0x18, 0x18, 0x1f
/* 802D01D8 002CD118 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D01DC 002CD11C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D01E0 002CD120 38 63 00 7A */ addi r3, r3, 0x7a
/* 802D01E4 002CD124 7F A4 EB 78 */ mr r4, r29
/* 802D01E8 002CD128 4C C6 31 82 */ crclr 6
/* 802D01EC 002CD12C 48 01 84 91 */ bl JUTWarningConsole_f
lbl_802D01F0:
/* 802D01F0 002CD130 80 BD 00 0C */ lwz r5, 0xc(r29)
/* 802D01F4 002CD134 28 05 00 00 */ cmplwi r5, 0
/* 802D01F8 002CD138 41 82 00 60 */ beq lbl_802D0258
/* 802D01FC 002CD13C A0 05 00 00 */ lhz r0, 0(r5)
/* 802D0200 002CD140 28 00 48 4D */ cmplwi r0, 0x484d
/* 802D0204 002CD144 41 82 00 24 */ beq lbl_802D0228
/* 802D0208 002CD148 3B C0 00 00 */ li r30, 0
/* 802D020C 002CD14C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0210 002CD150 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D0214 002CD154 38 63 00 A4 */ addi r3, r3, 0xa4
/* 802D0218 002CD158 7F A4 EB 78 */ mr r4, r29
/* 802D021C 002CD15C 4C C6 31 82 */ crclr 6
/* 802D0220 002CD160 48 01 84 5D */ bl JUTWarningConsole_f
/* 802D0224 002CD164 48 00 00 80 */ b lbl_802D02A4
lbl_802D0228:
/* 802D0228 002CD168 80 05 00 08 */ lwz r0, 8(r5)
/* 802D022C 002CD16C 7C 00 E8 40 */ cmplw r0, r29
/* 802D0230 002CD170 41 82 00 50 */ beq lbl_802D0280
/* 802D0234 002CD174 3B C0 00 00 */ li r30, 0
/* 802D0238 002CD178 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D023C 002CD17C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D0240 002CD180 38 63 00 D1 */ addi r3, r3, 0xd1
/* 802D0244 002CD184 7C A4 2B 78 */ mr r4, r5
/* 802D0248 002CD188 7C 05 03 78 */ mr r5, r0
/* 802D024C 002CD18C 4C C6 31 82 */ crclr 6
/* 802D0250 002CD190 48 01 84 2D */ bl JUTWarningConsole_f
/* 802D0254 002CD194 48 00 00 2C */ b lbl_802D0280
lbl_802D0258:
/* 802D0258 002CD198 80 BC 00 84 */ lwz r5, 0x84(r28)
/* 802D025C 002CD19C 7C 05 E8 40 */ cmplw r5, r29
/* 802D0260 002CD1A0 41 82 00 20 */ beq lbl_802D0280
/* 802D0264 002CD1A4 3B C0 00 00 */ li r30, 0
/* 802D0268 002CD1A8 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D026C 002CD1AC 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D0270 002CD1B0 38 63 00 FC */ addi r3, r3, 0xfc
/* 802D0274 002CD1B4 7F A4 EB 78 */ mr r4, r29
/* 802D0278 002CD1B8 4C C6 31 82 */ crclr 6
/* 802D027C 002CD1BC 48 01 84 01 */ bl JUTWarningConsole_f
lbl_802D0280:
/* 802D0280 002CD1C0 80 7D 00 04 */ lwz r3, 4(r29)
/* 802D0284 002CD1C4 88 1D 00 02 */ lbz r0, 2(r29)
/* 802D0288 002CD1C8 54 00 06 7E */ clrlwi r0, r0, 0x19
/* 802D028C 002CD1CC 7C 03 02 14 */ add r0, r3, r0
/* 802D0290 002CD1D0 7F E0 FA 14 */ add r31, r0, r31
/* 802D0294 002CD1D4 83 BD 00 0C */ lwz r29, 0xc(r29)
/* 802D0298 002CD1D8 3B FF 00 10 */ addi r31, r31, 0x10
lbl_802D029C:
/* 802D029C 002CD1DC 28 1D 00 00 */ cmplwi r29, 0
/* 802D02A0 002CD1E0 40 82 FF 20 */ bne lbl_802D01C0
lbl_802D02A4:
/* 802D02A4 002CD1E4 83 BC 00 78 */ lwz r29, 0x78(r28)
/* 802D02A8 002CD1E8 48 00 00 A4 */ b lbl_802D034C
lbl_802D02AC:
/* 802D02AC 002CD1EC 80 1D 00 04 */ lwz r0, 4(r29)
/* 802D02B0 002CD1F0 7F E0 FA 14 */ add r31, r0, r31
/* 802D02B4 002CD1F4 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 802D02B8 002CD1F8 28 04 00 00 */ cmplwi r4, 0
/* 802D02BC 002CD1FC 3B FF 00 10 */ addi r31, r31, 0x10
/* 802D02C0 002CD200 41 82 00 60 */ beq lbl_802D0320
/* 802D02C4 002CD204 80 A4 00 08 */ lwz r5, 8(r4)
/* 802D02C8 002CD208 7C 05 E8 40 */ cmplw r5, r29
/* 802D02CC 002CD20C 41 82 00 1C */ beq lbl_802D02E8
/* 802D02D0 002CD210 3B C0 00 00 */ li r30, 0
/* 802D02D4 002CD214 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D02D8 002CD218 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D02DC 002CD21C 38 63 00 D1 */ addi r3, r3, 0xd1
/* 802D02E0 002CD220 4C C6 31 82 */ crclr 6
/* 802D02E4 002CD224 48 01 83 99 */ bl JUTWarningConsole_f
lbl_802D02E8:
/* 802D02E8 002CD228 80 BD 00 04 */ lwz r5, 4(r29)
/* 802D02EC 002CD22C 38 05 00 10 */ addi r0, r5, 0x10
/* 802D02F0 002CD230 7C 7D 02 14 */ add r3, r29, r0
/* 802D02F4 002CD234 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 802D02F8 002CD238 7C 03 00 40 */ cmplw r3, r0
/* 802D02FC 002CD23C 40 81 00 4C */ ble lbl_802D0348
/* 802D0300 002CD240 3B C0 00 00 */ li r30, 0
/* 802D0304 002CD244 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0308 002CD248 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D030C 002CD24C 38 63 01 25 */ addi r3, r3, 0x125
/* 802D0310 002CD250 7F A4 EB 78 */ mr r4, r29
/* 802D0314 002CD254 4C C6 31 82 */ crclr 6
/* 802D0318 002CD258 48 01 83 65 */ bl JUTWarningConsole_f
/* 802D031C 002CD25C 48 00 00 2C */ b lbl_802D0348
lbl_802D0320:
/* 802D0320 002CD260 80 BC 00 7C */ lwz r5, 0x7c(r28)
/* 802D0324 002CD264 7C 05 E8 40 */ cmplw r5, r29
/* 802D0328 002CD268 41 82 00 20 */ beq lbl_802D0348
/* 802D032C 002CD26C 3B C0 00 00 */ li r30, 0
/* 802D0330 002CD270 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0334 002CD274 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D0338 002CD278 38 63 00 FC */ addi r3, r3, 0xfc
/* 802D033C 002CD27C 7F A4 EB 78 */ mr r4, r29
/* 802D0340 002CD280 4C C6 31 82 */ crclr 6
/* 802D0344 002CD284 48 01 83 39 */ bl JUTWarningConsole_f
lbl_802D0348:
/* 802D0348 002CD288 83 BD 00 0C */ lwz r29, 0xc(r29)
lbl_802D034C:
/* 802D034C 002CD28C 28 1D 00 00 */ cmplwi r29, 0
/* 802D0350 002CD290 40 82 FF 5C */ bne lbl_802D02AC
/* 802D0354 002CD294 80 9C 00 38 */ lwz r4, 0x38(r28)
/* 802D0358 002CD298 7C 1F 20 40 */ cmplw r31, r4
/* 802D035C 002CD29C 41 82 00 20 */ beq lbl_802D037C
/* 802D0360 002CD2A0 3B C0 00 00 */ li r30, 0
/* 802D0364 002CD2A4 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0368 002CD2A8 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D036C 002CD2AC 38 63 01 4A */ addi r3, r3, 0x14a
/* 802D0370 002CD2B0 7F E5 FB 78 */ mr r5, r31
/* 802D0374 002CD2B4 4C C6 31 82 */ crclr 6
/* 802D0378 002CD2B8 48 01 83 05 */ bl JUTWarningConsole_f
lbl_802D037C:
/* 802D037C 002CD2BC 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 802D0380 002CD2C0 40 82 00 14 */ bne lbl_802D0394
/* 802D0384 002CD2C4 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0388 002CD2C8 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D038C 002CD2CC 38 63 01 77 */ addi r3, r3, 0x177
/* 802D0390 002CD2D0 48 01 83 6D */ bl JUTWarningConsole
lbl_802D0394:
/* 802D0394 002CD2D4 38 7C 00 18 */ addi r3, r28, 0x18
/* 802D0398 002CD2D8 48 06 ED 85 */ bl OSUnlockMutex
/* 802D039C 002CD2DC 7F C3 F3 78 */ mr r3, r30
/* 802D03A0 002CD2E0 39 61 00 20 */ addi r11, r1, 0x20
/* 802D03A4 002CD2E4 48 09 1E 81 */ bl _restgpr_28
/* 802D03A8 002CD2E8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D03AC 002CD2EC 7C 08 03 A6 */ mtlr r0
/* 802D03B0 002CD2F0 38 21 00 20 */ addi r1, r1, 0x20
/* 802D03B4 002CD2F4 4E 80 00 20 */ blr
/* 802D03B8 002CD2F8 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802D03BC 002CD2FC 7C 08 02 A6 */ mflr r0
/* 802D03C0 002CD300 90 01 00 44 */ stw r0, 0x44(r1)
/* 802D03C4 002CD304 39 61 00 40 */ addi r11, r1, 0x40
/* 802D03C8 002CD308 48 09 1E 05 */ bl func_803621CC
/* 802D03CC 002CD30C 7C 7A 1B 78 */ mr r26, r3
/* 802D03D0 002CD310 38 7A 00 18 */ addi r3, r26, 0x18
/* 802D03D4 002CD314 48 06 EC 6D */ bl OSLockMutex
/* 802D03D8 002CD318 7F 43 D3 78 */ mr r3, r26
/* 802D03DC 002CD31C 81 9A 00 00 */ lwz r12, 0(r26)
/* 802D03E0 002CD320 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802D03E4 002CD324 7D 89 03 A6 */ mtctr r12
/* 802D03E8 002CD328 4E 80 04 21 */ bctrl
/* 802D03EC 002CD32C 7C 7F 1B 78 */ mr r31, r3
/* 802D03F0 002CD330 3B C0 00 00 */ li r30, 0
/* 802D03F4 002CD334 3B A0 00 00 */ li r29, 0
/* 802D03F8 002CD338 3B 80 00 00 */ li r28, 0
/* 802D03FC 002CD33C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0400 002CD340 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D0404 002CD344 38 63 01 9D */ addi r3, r3, 0x19d
/* 802D0408 002CD348 48 01 82 41 */ bl JUTReportConsole
/* 802D040C 002CD34C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0410 002CD350 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D0414 002CD354 38 63 01 D4 */ addi r3, r3, 0x1d4
/* 802D0418 002CD358 48 01 82 31 */ bl JUTReportConsole
/* 802D041C 002CD35C 80 1A 00 80 */ lwz r0, 0x80(r26)
/* 802D0420 002CD360 28 00 00 00 */ cmplwi r0, 0
/* 802D0424 002CD364 40 82 00 14 */ bne lbl_802D0438
/* 802D0428 002CD368 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D042C 002CD36C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D0430 002CD370 38 63 01 E3 */ addi r3, r3, 0x1e3
/* 802D0434 002CD374 48 01 82 15 */ bl JUTReportConsole
lbl_802D0438:
/* 802D0438 002CD378 83 7A 00 80 */ lwz r27, 0x80(r26)
/* 802D043C 002CD37C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0440 002CD380 3B 23 CA F0 */ addi r25, r3, lbl_8039CAF0@l
/* 802D0444 002CD384 48 00 00 8C */ b lbl_802D04D0
lbl_802D0448:
/* 802D0448 002CD388 A0 1B 00 00 */ lhz r0, 0(r27)
/* 802D044C 002CD38C 28 00 48 4D */ cmplwi r0, 0x484d
/* 802D0450 002CD390 41 82 00 20 */ beq lbl_802D0470
/* 802D0454 002CD394 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0458 002CD398 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D045C 002CD39C 38 63 01 EA */ addi r3, r3, 0x1ea
/* 802D0460 002CD3A0 7F 64 DB 78 */ mr r4, r27
/* 802D0464 002CD3A4 4C C6 31 82 */ crclr 6
/* 802D0468 002CD3A8 48 01 81 61 */ bl JUTReportConsole_f
/* 802D046C 002CD3AC 48 00 00 6C */ b lbl_802D04D8
lbl_802D0470:
/* 802D0470 002CD3B0 88 1B 00 02 */ lbz r0, 2(r27)
/* 802D0474 002CD3B4 54 08 06 7E */ clrlwi r8, r0, 0x19
/* 802D0478 002CD3B8 38 BB 00 10 */ addi r5, r27, 0x10
/* 802D047C 002CD3BC 38 79 02 24 */ addi r3, r25, 0x224
/* 802D0480 002CD3C0 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 802D0484 002CD3C4 38 99 02 4F */ addi r4, r25, 0x24f
/* 802D0488 002CD3C8 41 82 00 10 */ beq lbl_802D0498
/* 802D048C 002CD3CC 3C 80 80 3A */ lis r4, lbl_8039CAF0@ha
/* 802D0490 002CD3D0 38 84 CA F0 */ addi r4, r4, lbl_8039CAF0@l
/* 802D0494 002CD3D4 38 84 02 49 */ addi r4, r4, 0x249
lbl_802D0498:
/* 802D0498 002CD3D8 80 DB 00 04 */ lwz r6, 4(r27)
/* 802D049C 002CD3DC 88 FB 00 03 */ lbz r7, 3(r27)
/* 802D04A0 002CD3E0 81 3B 00 08 */ lwz r9, 8(r27)
/* 802D04A4 002CD3E4 81 5B 00 0C */ lwz r10, 0xc(r27)
/* 802D04A8 002CD3E8 4C C6 31 82 */ crclr 6
/* 802D04AC 002CD3EC 48 01 81 1D */ bl JUTReportConsole_f
/* 802D04B0 002CD3F0 80 7B 00 04 */ lwz r3, 4(r27)
/* 802D04B4 002CD3F4 88 1B 00 02 */ lbz r0, 2(r27)
/* 802D04B8 002CD3F8 54 00 06 7E */ clrlwi r0, r0, 0x19
/* 802D04BC 002CD3FC 7C 03 02 14 */ add r0, r3, r0
/* 802D04C0 002CD400 7F C0 F2 14 */ add r30, r0, r30
/* 802D04C4 002CD404 83 7B 00 0C */ lwz r27, 0xc(r27)
/* 802D04C8 002CD408 3B DE 00 10 */ addi r30, r30, 0x10
/* 802D04CC 002CD40C 3B BD 00 01 */ addi r29, r29, 1
lbl_802D04D0:
/* 802D04D0 002CD410 28 1B 00 00 */ cmplwi r27, 0
/* 802D04D4 002CD414 40 82 FF 74 */ bne lbl_802D0448
lbl_802D04D8:
/* 802D04D8 002CD418 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D04DC 002CD41C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D04E0 002CD420 38 63 02 55 */ addi r3, r3, 0x255
/* 802D04E4 002CD424 48 01 81 65 */ bl JUTReportConsole
/* 802D04E8 002CD428 80 1A 00 78 */ lwz r0, 0x78(r26)
/* 802D04EC 002CD42C 28 00 00 00 */ cmplwi r0, 0
/* 802D04F0 002CD430 40 82 00 14 */ bne lbl_802D0504
/* 802D04F4 002CD434 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D04F8 002CD438 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D04FC 002CD43C 38 63 01 E3 */ addi r3, r3, 0x1e3
/* 802D0500 002CD440 48 01 81 49 */ bl JUTReportConsole
lbl_802D0504:
/* 802D0504 002CD444 83 3A 00 78 */ lwz r25, 0x78(r26)
/* 802D0508 002CD448 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D050C 002CD44C 3B 63 CA F0 */ addi r27, r3, lbl_8039CAF0@l
/* 802D0510 002CD450 48 00 00 38 */ b lbl_802D0548
lbl_802D0514:
/* 802D0514 002CD454 38 7B 02 24 */ addi r3, r27, 0x224
/* 802D0518 002CD458 38 9B 02 64 */ addi r4, r27, 0x264
/* 802D051C 002CD45C 38 B9 00 10 */ addi r5, r25, 0x10
/* 802D0520 002CD460 80 D9 00 04 */ lwz r6, 4(r25)
/* 802D0524 002CD464 88 F9 00 03 */ lbz r7, 3(r25)
/* 802D0528 002CD468 88 19 00 02 */ lbz r0, 2(r25)
/* 802D052C 002CD46C 54 08 06 7E */ clrlwi r8, r0, 0x19
/* 802D0530 002CD470 81 39 00 08 */ lwz r9, 8(r25)
/* 802D0534 002CD474 81 59 00 0C */ lwz r10, 0xc(r25)
/* 802D0538 002CD478 4C C6 31 82 */ crclr 6
/* 802D053C 002CD47C 48 01 80 8D */ bl JUTReportConsole_f
/* 802D0540 002CD480 83 39 00 0C */ lwz r25, 0xc(r25)
/* 802D0544 002CD484 3B 9C 00 01 */ addi r28, r28, 1
lbl_802D0548:
/* 802D0548 002CD488 28 19 00 00 */ cmplwi r25, 0
/* 802D054C 002CD48C 40 82 FF C8 */ bne lbl_802D0514
/* 802D0550 002CD490 80 BA 00 38 */ lwz r5, 0x38(r26)
/* 802D0554 002CD494 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0558 002CD498 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D055C 002CD49C 38 63 02 6A */ addi r3, r3, 0x26a
/* 802D0560 002CD4A0 7F C4 F3 78 */ mr r4, r30
/* 802D0564 002CD4A4 C0 62 C5 98 */ lfs f3, lbl_80455F98-_SDA2_BASE_(r2)
/* 802D0568 002CD4A8 C8 42 C5 A0 */ lfd f2, lbl_80455FA0-_SDA2_BASE_(r2)
/* 802D056C 002CD4AC 93 C1 00 0C */ stw r30, 0xc(r1)
/* 802D0570 002CD4B0 3C 00 43 30 */ lis r0, 0x4330
/* 802D0574 002CD4B4 90 01 00 08 */ stw r0, 8(r1)
/* 802D0578 002CD4B8 C8 01 00 08 */ lfd f0, 8(r1)
/* 802D057C 002CD4BC EC 20 10 28 */ fsubs f1, f0, f2
/* 802D0580 002CD4C0 90 A1 00 14 */ stw r5, 0x14(r1)
/* 802D0584 002CD4C4 90 01 00 10 */ stw r0, 0x10(r1)
/* 802D0588 002CD4C8 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802D058C 002CD4CC EC 00 10 28 */ fsubs f0, f0, f2
/* 802D0590 002CD4D0 EC 01 00 24 */ fdivs f0, f1, f0
/* 802D0594 002CD4D4 EC 23 00 32 */ fmuls f1, f3, f0
/* 802D0598 002CD4D8 7F A6 EB 78 */ mr r6, r29
/* 802D059C 002CD4DC 7F 87 E3 78 */ mr r7, r28
/* 802D05A0 002CD4E0 4C C6 32 42 */ crset 6
/* 802D05A4 002CD4E4 48 01 80 25 */ bl JUTReportConsole_f
/* 802D05A8 002CD4E8 38 7A 00 18 */ addi r3, r26, 0x18
/* 802D05AC 002CD4EC 48 06 EB 71 */ bl OSUnlockMutex
/* 802D05B0 002CD4F0 7F E3 FB 78 */ mr r3, r31
/* 802D05B4 002CD4F4 39 61 00 40 */ addi r11, r1, 0x40
/* 802D05B8 002CD4F8 48 09 1C 61 */ bl func_80362218
/* 802D05BC 002CD4FC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802D05C0 002CD500 7C 08 03 A6 */ mtlr r0
/* 802D05C4 002CD504 38 21 00 40 */ addi r1, r1, 0x40
/* 802D05C8 002CD508 4E 80 00 20 */ blr
/* 802D05CC 002CD50C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802D05D0 002CD510 7C 08 02 A6 */ mflr r0
/* 802D05D4 002CD514 90 01 00 44 */ stw r0, 0x44(r1)
/* 802D05D8 002CD518 39 61 00 40 */ addi r11, r1, 0x40
/* 802D05DC 002CD51C 48 09 1B F1 */ bl func_803621CC
/* 802D05E0 002CD520 7C 79 1B 78 */ mr r25, r3
/* 802D05E4 002CD524 38 79 00 18 */ addi r3, r25, 0x18
/* 802D05E8 002CD528 48 06 EA 59 */ bl OSLockMutex
/* 802D05EC 002CD52C 7F 23 CB 78 */ mr r3, r25
/* 802D05F0 002CD530 81 99 00 00 */ lwz r12, 0(r25)
/* 802D05F4 002CD534 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802D05F8 002CD538 7D 89 03 A6 */ mtctr r12
/* 802D05FC 002CD53C 4E 80 04 21 */ bctrl
/* 802D0600 002CD540 7C 7E 1B 78 */ mr r30, r3
/* 802D0604 002CD544 3B A0 00 00 */ li r29, 0
/* 802D0608 002CD548 3B 80 00 00 */ li r28, 0
/* 802D060C 002CD54C 3B 60 00 00 */ li r27, 0
/* 802D0610 002CD550 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0614 002CD554 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D0618 002CD558 38 63 01 9D */ addi r3, r3, 0x19d
/* 802D061C 002CD55C 48 01 80 2D */ bl JUTReportConsole
/* 802D0620 002CD560 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0624 002CD564 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D0628 002CD568 38 63 01 D4 */ addi r3, r3, 0x1d4
/* 802D062C 002CD56C 48 01 80 1D */ bl JUTReportConsole
/* 802D0630 002CD570 80 19 00 80 */ lwz r0, 0x80(r25)
/* 802D0634 002CD574 28 00 00 00 */ cmplwi r0, 0
/* 802D0638 002CD578 40 82 00 18 */ bne lbl_802D0650
/* 802D063C 002CD57C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0640 002CD580 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D0644 002CD584 38 63 01 E3 */ addi r3, r3, 0x1e3
/* 802D0648 002CD588 48 01 80 01 */ bl JUTReportConsole
/* 802D064C 002CD58C 48 00 00 D0 */ b lbl_802D071C
lbl_802D0650:
/* 802D0650 002CD590 38 80 00 00 */ li r4, 0
/* 802D0654 002CD594 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0658 002CD598 3B E3 CA F0 */ addi r31, r3, lbl_8039CAF0@l
lbl_802D065C:
/* 802D065C 002CD59C 3B 40 FF FF */ li r26, -1
/* 802D0660 002CD5A0 80 79 00 80 */ lwz r3, 0x80(r25)
/* 802D0664 002CD5A4 48 00 00 1C */ b lbl_802D0680
lbl_802D0668:
/* 802D0668 002CD5A8 7C 04 18 40 */ cmplw r4, r3
/* 802D066C 002CD5AC 40 80 00 10 */ bge lbl_802D067C
/* 802D0670 002CD5B0 7C 03 D0 40 */ cmplw r3, r26
/* 802D0674 002CD5B4 40 80 00 08 */ bge lbl_802D067C
/* 802D0678 002CD5B8 7C 7A 1B 78 */ mr r26, r3
lbl_802D067C:
/* 802D067C 002CD5BC 80 63 00 0C */ lwz r3, 0xc(r3)
lbl_802D0680:
/* 802D0680 002CD5C0 28 03 00 00 */ cmplwi r3, 0
/* 802D0684 002CD5C4 40 82 FF E4 */ bne lbl_802D0668
/* 802D0688 002CD5C8 3C 1A 00 01 */ addis r0, r26, 1
/* 802D068C 002CD5CC 28 00 FF FF */ cmplwi r0, 0xffff
/* 802D0690 002CD5D0 41 82 00 8C */ beq lbl_802D071C
/* 802D0694 002CD5D4 A0 1A 00 00 */ lhz r0, 0(r26)
/* 802D0698 002CD5D8 28 00 48 4D */ cmplwi r0, 0x484d
/* 802D069C 002CD5DC 41 82 00 1C */ beq lbl_802D06B8
/* 802D06A0 002CD5E0 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D06A4 002CD5E4 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D06A8 002CD5E8 38 63 01 EA */ addi r3, r3, 0x1ea
/* 802D06AC 002CD5EC 4C C6 31 82 */ crclr 6
/* 802D06B0 002CD5F0 48 01 7F 19 */ bl JUTReportConsole_f
/* 802D06B4 002CD5F4 48 00 00 68 */ b lbl_802D071C
lbl_802D06B8:
/* 802D06B8 002CD5F8 88 1A 00 02 */ lbz r0, 2(r26)
/* 802D06BC 002CD5FC 54 08 06 7E */ clrlwi r8, r0, 0x19
/* 802D06C0 002CD600 38 BA 00 10 */ addi r5, r26, 0x10
/* 802D06C4 002CD604 38 7F 02 24 */ addi r3, r31, 0x224
/* 802D06C8 002CD608 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 802D06CC 002CD60C 38 9F 02 4F */ addi r4, r31, 0x24f
/* 802D06D0 002CD610 41 82 00 10 */ beq lbl_802D06E0
/* 802D06D4 002CD614 3C 80 80 3A */ lis r4, lbl_8039CAF0@ha
/* 802D06D8 002CD618 38 84 CA F0 */ addi r4, r4, lbl_8039CAF0@l
/* 802D06DC 002CD61C 38 84 02 49 */ addi r4, r4, 0x249
lbl_802D06E0:
/* 802D06E0 002CD620 80 DA 00 04 */ lwz r6, 4(r26)
/* 802D06E4 002CD624 88 FA 00 03 */ lbz r7, 3(r26)
/* 802D06E8 002CD628 81 3A 00 08 */ lwz r9, 8(r26)
/* 802D06EC 002CD62C 81 5A 00 0C */ lwz r10, 0xc(r26)
/* 802D06F0 002CD630 4C C6 31 82 */ crclr 6
/* 802D06F4 002CD634 48 01 7E D5 */ bl JUTReportConsole_f
/* 802D06F8 002CD638 80 7A 00 04 */ lwz r3, 4(r26)
/* 802D06FC 002CD63C 88 1A 00 02 */ lbz r0, 2(r26)
/* 802D0700 002CD640 54 00 06 7E */ clrlwi r0, r0, 0x19
/* 802D0704 002CD644 7C 03 02 14 */ add r0, r3, r0
/* 802D0708 002CD648 7F A0 EA 14 */ add r29, r0, r29
/* 802D070C 002CD64C 7F 44 D3 78 */ mr r4, r26
/* 802D0710 002CD650 3B BD 00 10 */ addi r29, r29, 0x10
/* 802D0714 002CD654 3B 9C 00 01 */ addi r28, r28, 1
/* 802D0718 002CD658 4B FF FF 44 */ b lbl_802D065C
lbl_802D071C:
/* 802D071C 002CD65C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0720 002CD660 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D0724 002CD664 38 63 02 55 */ addi r3, r3, 0x255
/* 802D0728 002CD668 48 01 7F 21 */ bl JUTReportConsole
/* 802D072C 002CD66C 80 19 00 78 */ lwz r0, 0x78(r25)
/* 802D0730 002CD670 28 00 00 00 */ cmplwi r0, 0
/* 802D0734 002CD674 40 82 00 14 */ bne lbl_802D0748
/* 802D0738 002CD678 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D073C 002CD67C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D0740 002CD680 38 63 01 E3 */ addi r3, r3, 0x1e3
/* 802D0744 002CD684 48 01 7F 05 */ bl JUTReportConsole
lbl_802D0748:
/* 802D0748 002CD688 83 F9 00 78 */ lwz r31, 0x78(r25)
/* 802D074C 002CD68C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D0750 002CD690 3B 43 CA F0 */ addi r26, r3, lbl_8039CAF0@l
/* 802D0754 002CD694 48 00 00 38 */ b lbl_802D078C
lbl_802D0758:
/* 802D0758 002CD698 38 7A 02 24 */ addi r3, r26, 0x224
/* 802D075C 002CD69C 38 9A 02 64 */ addi r4, r26, 0x264
/* 802D0760 002CD6A0 38 BF 00 10 */ addi r5, r31, 0x10
/* 802D0764 002CD6A4 80 DF 00 04 */ lwz r6, 4(r31)
/* 802D0768 002CD6A8 88 FF 00 03 */ lbz r7, 3(r31)
/* 802D076C 002CD6AC 88 1F 00 02 */ lbz r0, 2(r31)
/* 802D0770 002CD6B0 54 08 06 7E */ clrlwi r8, r0, 0x19
/* 802D0774 002CD6B4 81 3F 00 08 */ lwz r9, 8(r31)
/* 802D0778 002CD6B8 81 5F 00 0C */ lwz r10, 0xc(r31)
/* 802D077C 002CD6BC 4C C6 31 82 */ crclr 6
/* 802D0780 002CD6C0 48 01 7E 49 */ bl JUTReportConsole_f
/* 802D0784 002CD6C4 83 FF 00 0C */ lwz r31, 0xc(r31)
/* 802D0788 002CD6C8 3B 7B 00 01 */ addi r27, r27, 1
lbl_802D078C:
/* 802D078C 002CD6CC 28 1F 00 00 */ cmplwi r31, 0
/* 802D0790 002CD6D0 40 82 FF C8 */ bne lbl_802D0758
/* 802D0794 002CD6D4 80 B9 00 38 */ lwz r5, 0x38(r25)
/* 802D0798 002CD6D8 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802D079C 002CD6DC 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802D07A0 002CD6E0 38 63 02 6A */ addi r3, r3, 0x26a
/* 802D07A4 002CD6E4 7F A4 EB 78 */ mr r4, r29
/* 802D07A8 002CD6E8 C0 62 C5 98 */ lfs f3, lbl_80455F98-_SDA2_BASE_(r2)
/* 802D07AC 002CD6EC C8 42 C5 A0 */ lfd f2, lbl_80455FA0-_SDA2_BASE_(r2)
/* 802D07B0 002CD6F0 93 A1 00 0C */ stw r29, 0xc(r1)
/* 802D07B4 002CD6F4 3C 00 43 30 */ lis r0, 0x4330
/* 802D07B8 002CD6F8 90 01 00 08 */ stw r0, 8(r1)
/* 802D07BC 002CD6FC C8 01 00 08 */ lfd f0, 8(r1)
/* 802D07C0 002CD700 EC 20 10 28 */ fsubs f1, f0, f2
/* 802D07C4 002CD704 90 A1 00 14 */ stw r5, 0x14(r1)
/* 802D07C8 002CD708 90 01 00 10 */ stw r0, 0x10(r1)
/* 802D07CC 002CD70C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802D07D0 002CD710 EC 00 10 28 */ fsubs f0, f0, f2
/* 802D07D4 002CD714 EC 01 00 24 */ fdivs f0, f1, f0
/* 802D07D8 002CD718 EC 23 00 32 */ fmuls f1, f3, f0
/* 802D07DC 002CD71C 7F 86 E3 78 */ mr r6, r28
/* 802D07E0 002CD720 7F 67 DB 78 */ mr r7, r27
/* 802D07E4 002CD724 4C C6 32 42 */ crset 6
/* 802D07E8 002CD728 48 01 7D E1 */ bl JUTReportConsole_f
/* 802D07EC 002CD72C 38 79 00 18 */ addi r3, r25, 0x18
/* 802D07F0 002CD730 48 06 E9 2D */ bl OSUnlockMutex
/* 802D07F4 002CD734 7F C3 F3 78 */ mr r3, r30
/* 802D07F8 002CD738 39 61 00 40 */ addi r11, r1, 0x40
/* 802D07FC 002CD73C 48 09 1A 1D */ bl func_80362218
/* 802D0800 002CD740 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802D0804 002CD744 7C 08 03 A6 */ mtlr r0
/* 802D0808 002CD748 38 21 00 40 */ addi r1, r1, 0x40
/* 802D080C 002CD74C 4E 80 00 20 */ blr
.global initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc
initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc:
/* 802D0810 002CD750 38 00 48 4D */ li r0, 0x484d
/* 802D0814 002CD754 B0 03 00 00 */ sth r0, 0(r3)
/* 802D0818 002CD758 99 03 00 02 */ stb r8, 2(r3)
/* 802D081C 002CD75C 98 E3 00 03 */ stb r7, 3(r3)
/* 802D0820 002CD760 90 C3 00 04 */ stw r6, 4(r3)
/* 802D0824 002CD764 90 83 00 08 */ stw r4, 8(r3)
/* 802D0828 002CD768 90 A3 00 0C */ stw r5, 0xc(r3)
/* 802D082C 002CD76C 4E 80 00 20 */ blr
.global allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc:
/* 802D0830 002CD770 39 20 00 00 */ li r9, 0
/* 802D0834 002CD774 98 A3 00 03 */ stb r5, 3(r3)
/* 802D0838 002CD778 98 C3 00 02 */ stb r6, 2(r3)
/* 802D083C 002CD77C 80 03 00 04 */ lwz r0, 4(r3)
/* 802D0840 002CD780 38 A4 00 10 */ addi r5, r4, 0x10
/* 802D0844 002CD784 7C 00 28 40 */ cmplw r0, r5
/* 802D0848 002CD788 41 80 00 24 */ blt lbl_802D086C
/* 802D084C 002CD78C 7D 24 1A 14 */ add r9, r4, r3
/* 802D0850 002CD790 98 E9 00 13 */ stb r7, 0x13(r9)
/* 802D0854 002CD794 99 09 00 12 */ stb r8, 0x12(r9)
/* 802D0858 002CD798 80 03 00 04 */ lwz r0, 4(r3)
/* 802D085C 002CD79C 7C 05 00 50 */ subf r0, r5, r0
/* 802D0860 002CD7A0 90 09 00 14 */ stw r0, 0x14(r9)
/* 802D0864 002CD7A4 90 83 00 04 */ stw r4, 4(r3)
/* 802D0868 002CD7A8 39 29 00 10 */ addi r9, r9, 0x10
lbl_802D086C:
/* 802D086C 002CD7AC 7D 23 4B 78 */ mr r3, r9
/* 802D0870 002CD7B0 4E 80 00 20 */ blr
.global allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc:
/* 802D0874 002CD7B4 39 40 00 00 */ li r10, 0
/* 802D0878 002CD7B8 80 03 00 04 */ lwz r0, 4(r3)
/* 802D087C 002CD7BC 39 24 00 10 */ addi r9, r4, 0x10
/* 802D0880 002CD7C0 7C 00 48 40 */ cmplw r0, r9
/* 802D0884 002CD7C4 41 80 00 34 */ blt lbl_802D08B8
/* 802D0888 002CD7C8 7C 03 02 14 */ add r0, r3, r0
/* 802D088C 002CD7CC 7D 44 00 50 */ subf r10, r4, r0
/* 802D0890 002CD7D0 98 EA 00 03 */ stb r7, 3(r10)
/* 802D0894 002CD7D4 61 00 00 80 */ ori r0, r8, 0x80
/* 802D0898 002CD7D8 98 0A 00 02 */ stb r0, 2(r10)
/* 802D089C 002CD7DC 90 8A 00 04 */ stw r4, 4(r10)
/* 802D08A0 002CD7E0 98 A3 00 03 */ stb r5, 3(r3)
/* 802D08A4 002CD7E4 98 C3 00 02 */ stb r6, 2(r3)
/* 802D08A8 002CD7E8 80 03 00 04 */ lwz r0, 4(r3)
/* 802D08AC 002CD7EC 7C 09 00 50 */ subf r0, r9, r0
/* 802D08B0 002CD7F0 90 03 00 04 */ stw r0, 4(r3)
/* 802D08B4 002CD7F4 48 00 00 10 */ b lbl_802D08C4
lbl_802D08B8:
/* 802D08B8 002CD7F8 98 E3 00 03 */ stb r7, 3(r3)
/* 802D08BC 002CD7FC 38 00 00 80 */ li r0, 0x80
/* 802D08C0 002CD800 98 03 00 02 */ stb r0, 2(r3)
lbl_802D08C4:
/* 802D08C4 002CD804 7D 43 53 78 */ mr r3, r10
/* 802D08C8 002CD808 4E 80 00 20 */ blr
.global free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap
free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap:
/* 802D08CC 002CD80C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D08D0 002CD810 7C 08 02 A6 */ mflr r0
/* 802D08D4 002CD814 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D08D8 002CD818 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D08DC 002CD81C 93 C1 00 08 */ stw r30, 8(r1)
/* 802D08E0 002CD820 7C 7E 1B 78 */ mr r30, r3
/* 802D08E4 002CD824 7C 9F 23 78 */ mr r31, r4
/* 802D08E8 002CD828 7F E3 FB 78 */ mr r3, r31
/* 802D08EC 002CD82C 7F C4 F3 78 */ mr r4, r30
/* 802D08F0 002CD830 4B FF F5 F9 */ bl removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802D08F4 002CD834 7F E3 FB 78 */ mr r3, r31
/* 802D08F8 002CD838 7F C4 F3 78 */ mr r4, r30
/* 802D08FC 002CD83C 4B FF F6 21 */ bl recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802D0900 002CD840 38 60 00 00 */ li r3, 0
/* 802D0904 002CD844 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D0908 002CD848 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D090C 002CD84C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D0910 002CD850 7C 08 03 A6 */ mtlr r0
/* 802D0914 002CD854 38 21 00 10 */ addi r1, r1, 0x10
/* 802D0918 002CD858 4E 80 00 20 */ blr
.global getHeapBlock__Q210JKRExpHeap9CMemBlockFPv
getHeapBlock__Q210JKRExpHeap9CMemBlockFPv:
/* 802D091C 002CD85C 28 03 00 00 */ cmplwi r3, 0
/* 802D0920 002CD860 41 82 00 10 */ beq lbl_802D0930
/* 802D0924 002CD864 A4 03 FF F0 */ lhzu r0, -0x10(r3)
/* 802D0928 002CD868 28 00 48 4D */ cmplwi r0, 0x484d
/* 802D092C 002CD86C 4D 82 00 20 */ beqlr
lbl_802D0930:
/* 802D0930 002CD870 38 60 00 00 */ li r3, 0
/* 802D0934 002CD874 4E 80 00 20 */ blr
/* 802D0938 002CD878 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D093C 002CD87C 7C 08 02 A6 */ mflr r0
/* 802D0940 002CD880 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D0944 002CD884 39 61 00 20 */ addi r11, r1, 0x20
/* 802D0948 002CD888 48 09 18 95 */ bl _savegpr_29
/* 802D094C 002CD88C 7C 7D 1B 78 */ mr r29, r3
/* 802D0950 002CD890 7C 9E 23 78 */ mr r30, r4
/* 802D0954 002CD894 7C BF 2B 78 */ mr r31, r5
/* 802D0958 002CD898 93 E4 00 14 */ stw r31, 0x14(r4)
/* 802D095C 002CD89C 28 1F 00 FF */ cmplwi r31, 0xff
/* 802D0960 002CD8A0 41 81 00 14 */ bgt lbl_802D0974
/* 802D0964 002CD8A4 57 E4 06 3E */ clrlwi r4, r31, 0x18
/* 802D0968 002CD8A8 4B FF F3 81 */ bl getUsedSize__10JKRExpHeapCFUc
/* 802D096C 002CD8AC 90 7E 00 00 */ stw r3, 0(r30)
/* 802D0970 002CD8B0 48 00 00 14 */ b lbl_802D0984
lbl_802D0974:
/* 802D0974 002CD8B4 4B FF DE 11 */ bl getTotalFreeSize__7JKRHeapFv
/* 802D0978 002CD8B8 80 1D 00 38 */ lwz r0, 0x38(r29)
/* 802D097C 002CD8BC 7C 03 00 50 */ subf r0, r3, r0
/* 802D0980 002CD8C0 90 1E 00 00 */ stw r0, 0(r30)
lbl_802D0984:
/* 802D0984 002CD8C4 38 60 00 00 */ li r3, 0
/* 802D0988 002CD8C8 80 9D 00 80 */ lwz r4, 0x80(r29)
/* 802D098C 002CD8CC 48 00 00 30 */ b lbl_802D09BC
lbl_802D0990:
/* 802D0990 002CD8D0 28 1F 00 FF */ cmplwi r31, 0xff
/* 802D0994 002CD8D4 41 81 00 1C */ bgt lbl_802D09B0
/* 802D0998 002CD8D8 88 04 00 03 */ lbz r0, 3(r4)
/* 802D099C 002CD8DC 7C 00 F8 40 */ cmplw r0, r31
/* 802D09A0 002CD8E0 40 82 00 18 */ bne lbl_802D09B8
/* 802D09A4 002CD8E4 1C 04 00 03 */ mulli r0, r4, 3
/* 802D09A8 002CD8E8 7C 63 02 14 */ add r3, r3, r0
/* 802D09AC 002CD8EC 48 00 00 0C */ b lbl_802D09B8
lbl_802D09B0:
/* 802D09B0 002CD8F0 1C 04 00 03 */ mulli r0, r4, 3
/* 802D09B4 002CD8F4 7C 63 02 14 */ add r3, r3, r0
lbl_802D09B8:
/* 802D09B8 002CD8F8 80 84 00 0C */ lwz r4, 0xc(r4)
lbl_802D09BC:
/* 802D09BC 002CD8FC 28 04 00 00 */ cmplwi r4, 0
/* 802D09C0 002CD900 40 82 FF D0 */ bne lbl_802D0990
/* 802D09C4 002CD904 90 7E 00 04 */ stw r3, 4(r30)
/* 802D09C8 002CD908 39 61 00 20 */ addi r11, r1, 0x20
/* 802D09CC 002CD90C 48 09 18 5D */ bl _restgpr_29
/* 802D09D0 002CD910 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D09D4 002CD914 7C 08 03 A6 */ mtlr r0
/* 802D09D8 002CD918 38 21 00 20 */ addi r1, r1, 0x20
/* 802D09DC 002CD91C 4E 80 00 20 */ blr
/* 802D09E0 002CD920 38 60 00 01 */ li r3, 1
/* 802D09E4 002CD924 80 C4 00 04 */ lwz r6, 4(r4)
/* 802D09E8 002CD928 80 05 00 04 */ lwz r0, 4(r5)
/* 802D09EC 002CD92C 7C 06 00 40 */ cmplw r6, r0
/* 802D09F0 002CD930 41 82 00 08 */ beq lbl_802D09F8
/* 802D09F4 002CD934 38 60 00 00 */ li r3, 0
lbl_802D09F8:
/* 802D09F8 002CD938 80 84 00 00 */ lwz r4, 0(r4)
/* 802D09FC 002CD93C 80 05 00 00 */ lwz r0, 0(r5)
/* 802D0A00 002CD940 7C 04 00 40 */ cmplw r4, r0
/* 802D0A04 002CD944 4D 82 00 20 */ beqlr
/* 802D0A08 002CD948 38 60 00 00 */ li r3, 0
/* 802D0A0C 002CD94C 4E 80 00 20 */ blr
/* 802D0A10 002CD950 3C 60 45 58 */ lis r3, 0x45585048@ha
/* 802D0A14 002CD954 38 63 50 48 */ addi r3, r3, 0x45585048@l
/* 802D0A18 002CD958 4E 80 00 20 */ blr
/* 802D0A1C 002CD95C 88 63 00 6D */ lbz r3, 0x6d(r3)
/* 802D0A20 002CD960 4E 80 00 20 */ blr