.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_801DAAE0 func_801DAAE0: /* 801DAAE0 001D6740 3C 60 80 49 */ lis r3, lbl_804912B0@ha /* 801DAAE4 001D6744 38 00 00 10 */ li r0, 0x10 /* 801DAAE8 001D6748 38 63 12 B0 */ addi r3, r3, lbl_804912B0@l /* 801DAAEC 001D674C 38 80 00 00 */ li r4, 0 /* 801DAAF0 001D6750 7C 09 03 A6 */ mtctr r0 lbl_801DAAF4: /* 801DAAF4 001D6754 88 03 00 00 */ lbz r0, 0(r3) /* 801DAAF8 001D6758 2C 00 00 00 */ cmpwi r0, 0 /* 801DAAFC 001D675C 40 82 00 18 */ bne lbl_801DAB14 /* 801DAB00 001D6760 1C 04 00 0C */ mulli r0, r4, 0xc /* 801DAB04 001D6764 3C 60 80 49 */ lis r3, lbl_804912B0@ha /* 801DAB08 001D6768 38 63 12 B0 */ addi r3, r3, lbl_804912B0@l /* 801DAB0C 001D676C 7C 63 02 14 */ add r3, r3, r0 /* 801DAB10 001D6770 4E 80 00 20 */ blr lbl_801DAB14: /* 801DAB14 001D6774 38 63 00 0C */ addi r3, r3, 0xc /* 801DAB18 001D6778 38 84 00 01 */ addi r4, r4, 1 /* 801DAB1C 001D677C 42 00 FF D8 */ bdnz lbl_801DAAF4 /* 801DAB20 001D6780 38 60 00 00 */ li r3, 0 /* 801DAB24 001D6784 4E 80 00 20 */ blr .global func_801DAB28 func_801DAB28: /* 801DAB28 001D6788 88 6D A0 16 */ lbz r3, lbl_8063F2D6-_SDA_BASE_(r13) /* 801DAB2C 001D678C 4E 80 00 20 */ blr .global func_801DAB30 func_801DAB30: /* 801DAB30 001D6790 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801DAB34 001D6794 7C 08 02 A6 */ mflr r0 /* 801DAB38 001D6798 3C 60 80 49 */ lis r3, lbl_804912B0@ha /* 801DAB3C 001D679C 38 80 00 00 */ li r4, 0 /* 801DAB40 001D67A0 90 01 00 14 */ stw r0, 0x14(r1) /* 801DAB44 001D67A4 38 63 12 B0 */ addi r3, r3, lbl_804912B0@l /* 801DAB48 001D67A8 38 A0 00 C0 */ li r5, 0xc0 /* 801DAB4C 001D67AC 4B E2 95 B9 */ bl memset /* 801DAB50 001D67B0 38 60 00 00 */ li r3, 0 /* 801DAB54 001D67B4 38 00 00 01 */ li r0, 1 /* 801DAB58 001D67B8 90 6D A0 18 */ stw r3, lbl_8063F2D8-_SDA_BASE_(r13) /* 801DAB5C 001D67BC B0 6D A0 1C */ sth r3, lbl_8063F2DC-_SDA_BASE_(r13) /* 801DAB60 001D67C0 98 0D A0 16 */ stb r0, lbl_8063F2D6-_SDA_BASE_(r13) /* 801DAB64 001D67C4 98 6D A0 17 */ stb r3, lbl_8063F2D7-_SDA_BASE_(r13) /* 801DAB68 001D67C8 80 01 00 14 */ lwz r0, 0x14(r1) /* 801DAB6C 001D67CC 7C 08 03 A6 */ mtlr r0 /* 801DAB70 001D67D0 38 21 00 10 */ addi r1, r1, 0x10 /* 801DAB74 001D67D4 4E 80 00 20 */ blr .global func_801DAB78 func_801DAB78: /* 801DAB78 001D67D8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801DAB7C 001D67DC 7C 08 02 A6 */ mflr r0 /* 801DAB80 001D67E0 90 01 00 24 */ stw r0, 0x24(r1) /* 801DAB84 001D67E4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801DAB88 001D67E8 93 C1 00 18 */ stw r30, 0x18(r1) /* 801DAB8C 001D67EC 7C BE 2B 78 */ mr r30, r5 /* 801DAB90 001D67F0 93 A1 00 14 */ stw r29, 0x14(r1) /* 801DAB94 001D67F4 7C 9D 23 78 */ mr r29, r4 /* 801DAB98 001D67F8 93 81 00 10 */ stw r28, 0x10(r1) /* 801DAB9C 001D67FC 7C 7C 1B 78 */ mr r28, r3 /* 801DABA0 001D6800 4B FF FF 89 */ bl func_801DAB28 /* 801DABA4 001D6804 2C 03 00 00 */ cmpwi r3, 0 /* 801DABA8 001D6808 40 82 00 0C */ bne lbl_801DABB4 /* 801DABAC 001D680C 38 60 00 00 */ li r3, 0 /* 801DABB0 001D6810 48 00 00 3C */ b lbl_801DABEC lbl_801DABB4: /* 801DABB4 001D6814 4B FF FF 2D */ bl func_801DAAE0 /* 801DABB8 001D6818 2C 03 00 00 */ cmpwi r3, 0 /* 801DABBC 001D681C 7C 7F 1B 78 */ mr r31, r3 /* 801DABC0 001D6820 40 82 00 0C */ bne lbl_801DABCC /* 801DABC4 001D6824 38 60 00 00 */ li r3, 0 /* 801DABC8 001D6828 48 00 00 24 */ b lbl_801DABEC lbl_801DABCC: /* 801DABCC 001D682C 7F 83 E3 78 */ mr r3, r28 /* 801DABD0 001D6830 7F A4 EB 78 */ mr r4, r29 /* 801DABD4 001D6834 7F C5 F3 78 */ mr r5, r30 /* 801DABD8 001D6838 48 0B C2 71 */ bl MEMCreateExpHeapEx /* 801DABDC 001D683C 38 00 00 01 */ li r0, 1 /* 801DABE0 001D6840 98 1F 00 00 */ stb r0, 0(r31) /* 801DABE4 001D6844 90 7F 00 04 */ stw r3, 4(r31) /* 801DABE8 001D6848 93 BF 00 08 */ stw r29, 8(r31) lbl_801DABEC: /* 801DABEC 001D684C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801DABF0 001D6850 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801DABF4 001D6854 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801DABF8 001D6858 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801DABFC 001D685C 83 81 00 10 */ lwz r28, 0x10(r1) /* 801DAC00 001D6860 7C 08 03 A6 */ mtlr r0 /* 801DAC04 001D6864 38 21 00 20 */ addi r1, r1, 0x20 /* 801DAC08 001D6868 4E 80 00 20 */ blr .global func_801DAC0C func_801DAC0C: /* 801DAC0C 001D686C 80 6D A0 18 */ lwz r3, lbl_8063F2D8-_SDA_BASE_(r13) /* 801DAC10 001D6870 4E 80 00 20 */ blr .global func_801DAC14 func_801DAC14: /* 801DAC14 001D6874 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801DAC18 001D6878 7C 08 02 A6 */ mflr r0 /* 801DAC1C 001D687C 90 01 00 14 */ stw r0, 0x14(r1) /* 801DAC20 001D6880 93 E1 00 0C */ stw r31, 0xc(r1) /* 801DAC24 001D6884 7C 7F 1B 78 */ mr r31, r3 /* 801DAC28 001D6888 4B FF FF E5 */ bl func_801DAC0C /* 801DAC2C 001D688C 93 ED A0 18 */ stw r31, lbl_8063F2D8-_SDA_BASE_(r13) /* 801DAC30 001D6890 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801DAC34 001D6894 80 01 00 14 */ lwz r0, 0x14(r1) /* 801DAC38 001D6898 7C 08 03 A6 */ mtlr r0 /* 801DAC3C 001D689C 38 21 00 10 */ addi r1, r1, 0x10 /* 801DAC40 001D68A0 4E 80 00 20 */ blr .global func_801DAC44 func_801DAC44: /* 801DAC44 001D68A4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801DAC48 001D68A8 7C 08 02 A6 */ mflr r0 /* 801DAC4C 001D68AC 54 64 06 3E */ clrlwi r4, r3, 0x18 /* 801DAC50 001D68B0 90 01 00 14 */ stw r0, 0x14(r1) /* 801DAC54 001D68B4 93 E1 00 0C */ stw r31, 0xc(r1) /* 801DAC58 001D68B8 A3 ED A0 1C */ lhz r31, lbl_8063F2DC-_SDA_BASE_(r13) /* 801DAC5C 001D68BC B0 6D A0 1C */ sth r3, lbl_8063F2DC-_SDA_BASE_(r13) /* 801DAC60 001D68C0 80 6D 96 28 */ lwz r3, lbl_8063E8E8-_SDA_BASE_(r13) /* 801DAC64 001D68C4 48 0B C6 A9 */ bl MEMSetGroupIDForExpHeap /* 801DAC68 001D68C8 A0 0D A0 1C */ lhz r0, lbl_8063F2DC-_SDA_BASE_(r13) /* 801DAC6C 001D68CC 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 801DAC70 001D68D0 54 04 06 3E */ clrlwi r4, r0, 0x18 /* 801DAC74 001D68D4 48 0B C6 99 */ bl MEMSetGroupIDForExpHeap /* 801DAC78 001D68D8 7F E3 FB 78 */ mr r3, r31 /* 801DAC7C 001D68DC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801DAC80 001D68E0 80 01 00 14 */ lwz r0, 0x14(r1) /* 801DAC84 001D68E4 7C 08 03 A6 */ mtlr r0 /* 801DAC88 001D68E8 38 21 00 10 */ addi r1, r1, 0x10 /* 801DAC8C 001D68EC 4E 80 00 20 */ blr .global func_801DAC90 func_801DAC90: /* 801DAC90 001D68F0 48 0B C6 7C */ b MEMSetGroupIDForExpHeap .global func_801DAC94 func_801DAC94: /* 801DAC94 001D68F4 38 A0 00 20 */ li r5, 0x20 /* 801DAC98 001D68F8 48 0B C2 90 */ b MEMAllocFromExpHeapEx lbl_801DAC9C: /* 801DAC9C 001D68FC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801DACA0 001D6900 7C 08 02 A6 */ mflr r0 /* 801DACA4 001D6904 90 01 00 24 */ stw r0, 0x24(r1) /* 801DACA8 001D6908 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801DACAC 001D690C 93 C1 00 18 */ stw r30, 0x18(r1) /* 801DACB0 001D6910 7C BE 2B 78 */ mr r30, r5 /* 801DACB4 001D6914 93 A1 00 14 */ stw r29, 0x14(r1) /* 801DACB8 001D6918 7C 9D 23 78 */ mr r29, r4 /* 801DACBC 001D691C 4B FF FF D9 */ bl func_801DAC94 /* 801DACC0 001D6920 2C 03 00 00 */ cmpwi r3, 0 /* 801DACC4 001D6924 7C 7F 1B 78 */ mr r31, r3 /* 801DACC8 001D6928 40 82 00 0C */ bne lbl_801DACD4 /* 801DACCC 001D692C 38 60 00 00 */ li r3, 0 /* 801DACD0 001D6930 48 00 00 14 */ b lbl_801DACE4 lbl_801DACD4: /* 801DACD4 001D6934 7F C4 F3 78 */ mr r4, r30 /* 801DACD8 001D6938 7F A5 EB 78 */ mr r5, r29 /* 801DACDC 001D693C 4B E2 94 29 */ bl memset /* 801DACE0 001D6940 7F E3 FB 78 */ mr r3, r31 lbl_801DACE4: /* 801DACE4 001D6944 80 01 00 24 */ lwz r0, 0x24(r1) /* 801DACE8 001D6948 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801DACEC 001D694C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801DACF0 001D6950 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801DACF4 001D6954 7C 08 03 A6 */ mtlr r0 /* 801DACF8 001D6958 38 21 00 20 */ addi r1, r1, 0x20 /* 801DACFC 001D695C 4E 80 00 20 */ blr .global func_801DAD00 func_801DAD00: /* 801DAD00 001D6960 38 A0 00 00 */ li r5, 0 /* 801DAD04 001D6964 4B FF FF 98 */ b lbl_801DAC9C .global func_801DAD08 func_801DAD08: /* 801DAD08 001D6968 48 0B C2 20 */ b MEMAllocFromExpHeapEx .global func_801DAD0C func_801DAD0C: /* 801DAD0C 001D696C 2C 05 00 00 */ cmpwi r5, 0 /* 801DAD10 001D6970 40 81 00 08 */ ble lbl_801DAD18 /* 801DAD14 001D6974 7C A5 00 D0 */ neg r5, r5 lbl_801DAD18: /* 801DAD18 001D6978 48 0B C2 10 */ b MEMAllocFromExpHeapEx .global func_801DAD1C func_801DAD1C: /* 801DAD1C 001D697C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801DAD20 001D6980 7C 08 02 A6 */ mflr r0 /* 801DAD24 001D6984 90 01 00 14 */ stw r0, 0x14(r1) /* 801DAD28 001D6988 48 0B C2 B1 */ bl MEMResizeForMBlockExpHeap /* 801DAD2C 001D698C 7C 03 00 D0 */ neg r0, r3 /* 801DAD30 001D6990 7C 00 1B 78 */ or r0, r0, r3 /* 801DAD34 001D6994 54 03 0F FE */ srwi r3, r0, 0x1f /* 801DAD38 001D6998 80 01 00 14 */ lwz r0, 0x14(r1) /* 801DAD3C 001D699C 7C 08 03 A6 */ mtlr r0 /* 801DAD40 001D69A0 38 21 00 10 */ addi r1, r1, 0x10 /* 801DAD44 001D69A4 4E 80 00 20 */ blr .global func_801DAD48 func_801DAD48: /* 801DAD48 001D69A8 2C 04 00 00 */ cmpwi r4, 0 /* 801DAD4C 001D69AC 4D 82 00 20 */ beqlr /* 801DAD50 001D69B0 48 0B C4 74 */ b MEMFreeToExpHeap /* 801DAD54 001D69B4 4E 80 00 20 */ blr .global func_801DAD58 func_801DAD58: /* 801DAD58 001D69B8 7C 83 23 78 */ mr r3, r4 /* 801DAD5C 001D69BC 48 0B C6 9C */ b MEMGetSizeForMBlockExpHeap .global func_801DAD60 func_801DAD60: /* 801DAD60 001D69C0 48 0B C5 30 */ b MEMGetTotalFreeSizeForExpHeap .global func_801DAD64 func_801DAD64: /* 801DAD64 001D69C4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801DAD68 001D69C8 7C 08 02 A6 */ mflr r0 /* 801DAD6C 001D69CC 90 01 00 14 */ stw r0, 0x14(r1) /* 801DAD70 001D69D0 93 E1 00 0C */ stw r31, 0xc(r1) /* 801DAD74 001D69D4 7C 7F 1B 78 */ mr r31, r3 /* 801DAD78 001D69D8 4B FF FE 95 */ bl func_801DAC0C /* 801DAD7C 001D69DC 7F E4 FB 78 */ mr r4, r31 /* 801DAD80 001D69E0 4B FF FF 15 */ bl func_801DAC94 /* 801DAD84 001D69E4 80 01 00 14 */ lwz r0, 0x14(r1) /* 801DAD88 001D69E8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801DAD8C 001D69EC 7C 08 03 A6 */ mtlr r0 /* 801DAD90 001D69F0 38 21 00 10 */ addi r1, r1, 0x10 /* 801DAD94 001D69F4 4E 80 00 20 */ blr .global func_801DAD98 func_801DAD98: /* 801DAD98 001D69F8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801DAD9C 001D69FC 7C 08 02 A6 */ mflr r0 /* 801DADA0 001D6A00 90 01 00 14 */ stw r0, 0x14(r1) /* 801DADA4 001D6A04 93 E1 00 0C */ stw r31, 0xc(r1) /* 801DADA8 001D6A08 7C 7F 1B 78 */ mr r31, r3 /* 801DADAC 001D6A0C 4B FF FE 61 */ bl func_801DAC0C /* 801DADB0 001D6A10 7F E4 FB 78 */ mr r4, r31 /* 801DADB4 001D6A14 4B FF FF 4D */ bl func_801DAD00 /* 801DADB8 001D6A18 80 01 00 14 */ lwz r0, 0x14(r1) /* 801DADBC 001D6A1C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801DADC0 001D6A20 7C 08 03 A6 */ mtlr r0 /* 801DADC4 001D6A24 38 21 00 10 */ addi r1, r1, 0x10 /* 801DADC8 001D6A28 4E 80 00 20 */ blr .global func_801DADCC func_801DADCC: /* 801DADCC 001D6A2C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801DADD0 001D6A30 7C 08 02 A6 */ mflr r0 /* 801DADD4 001D6A34 90 01 00 14 */ stw r0, 0x14(r1) /* 801DADD8 001D6A38 93 E1 00 0C */ stw r31, 0xc(r1) /* 801DADDC 001D6A3C 7C 9F 23 78 */ mr r31, r4 /* 801DADE0 001D6A40 93 C1 00 08 */ stw r30, 8(r1) /* 801DADE4 001D6A44 7C 7E 1B 78 */ mr r30, r3 /* 801DADE8 001D6A48 4B FF FE 25 */ bl func_801DAC0C /* 801DADEC 001D6A4C 7F C4 F3 78 */ mr r4, r30 /* 801DADF0 001D6A50 7F E5 FB 78 */ mr r5, r31 /* 801DADF4 001D6A54 4B FF FF 15 */ bl func_801DAD08 /* 801DADF8 001D6A58 80 01 00 14 */ lwz r0, 0x14(r1) /* 801DADFC 001D6A5C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801DAE00 001D6A60 83 C1 00 08 */ lwz r30, 8(r1) /* 801DAE04 001D6A64 7C 08 03 A6 */ mtlr r0 /* 801DAE08 001D6A68 38 21 00 10 */ addi r1, r1, 0x10 /* 801DAE0C 001D6A6C 4E 80 00 20 */ blr .global func_801DAE10 func_801DAE10: /* 801DAE10 001D6A70 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801DAE14 001D6A74 7C 08 02 A6 */ mflr r0 /* 801DAE18 001D6A78 2C 04 00 00 */ cmpwi r4, 0 /* 801DAE1C 001D6A7C 90 01 00 14 */ stw r0, 0x14(r1) /* 801DAE20 001D6A80 93 E1 00 0C */ stw r31, 0xc(r1) /* 801DAE24 001D6A84 7C 9F 23 78 */ mr r31, r4 /* 801DAE28 001D6A88 93 C1 00 08 */ stw r30, 8(r1) /* 801DAE2C 001D6A8C 7C 7E 1B 78 */ mr r30, r3 /* 801DAE30 001D6A90 40 81 00 08 */ ble lbl_801DAE38 /* 801DAE34 001D6A94 7F E4 00 D0 */ neg r31, r4 lbl_801DAE38: /* 801DAE38 001D6A98 4B FF FD D5 */ bl func_801DAC0C /* 801DAE3C 001D6A9C 7F C4 F3 78 */ mr r4, r30 /* 801DAE40 001D6AA0 7F E5 FB 78 */ mr r5, r31 /* 801DAE44 001D6AA4 4B FF FE C5 */ bl func_801DAD08 /* 801DAE48 001D6AA8 80 01 00 14 */ lwz r0, 0x14(r1) /* 801DAE4C 001D6AAC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801DAE50 001D6AB0 83 C1 00 08 */ lwz r30, 8(r1) /* 801DAE54 001D6AB4 7C 08 03 A6 */ mtlr r0 /* 801DAE58 001D6AB8 38 21 00 10 */ addi r1, r1, 0x10 /* 801DAE5C 001D6ABC 4E 80 00 20 */ blr .global func_801DAE60 func_801DAE60: /* 801DAE60 001D6AC0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801DAE64 001D6AC4 7C 08 02 A6 */ mflr r0 /* 801DAE68 001D6AC8 90 01 00 14 */ stw r0, 0x14(r1) /* 801DAE6C 001D6ACC 93 E1 00 0C */ stw r31, 0xc(r1) /* 801DAE70 001D6AD0 7C 9F 23 78 */ mr r31, r4 /* 801DAE74 001D6AD4 93 C1 00 08 */ stw r30, 8(r1) /* 801DAE78 001D6AD8 7C 7E 1B 78 */ mr r30, r3 /* 801DAE7C 001D6ADC 4B FF FD 91 */ bl func_801DAC0C /* 801DAE80 001D6AE0 7F C4 F3 78 */ mr r4, r30 /* 801DAE84 001D6AE4 7F E5 FB 78 */ mr r5, r31 /* 801DAE88 001D6AE8 4B FF FE 95 */ bl func_801DAD1C /* 801DAE8C 001D6AEC 80 01 00 14 */ lwz r0, 0x14(r1) /* 801DAE90 001D6AF0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801DAE94 001D6AF4 83 C1 00 08 */ lwz r30, 8(r1) /* 801DAE98 001D6AF8 7C 08 03 A6 */ mtlr r0 /* 801DAE9C 001D6AFC 38 21 00 10 */ addi r1, r1, 0x10 /* 801DAEA0 001D6B00 4E 80 00 20 */ blr .global func_801DAEA4 func_801DAEA4: /* 801DAEA4 001D6B04 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801DAEA8 001D6B08 7C 08 02 A6 */ mflr r0 /* 801DAEAC 001D6B0C 2C 03 00 00 */ cmpwi r3, 0 /* 801DAEB0 001D6B10 90 01 00 14 */ stw r0, 0x14(r1) /* 801DAEB4 001D6B14 93 E1 00 0C */ stw r31, 0xc(r1) /* 801DAEB8 001D6B18 7C 7F 1B 78 */ mr r31, r3 /* 801DAEBC 001D6B1C 41 82 00 10 */ beq lbl_801DAECC /* 801DAEC0 001D6B20 4B FF FD 4D */ bl func_801DAC0C /* 801DAEC4 001D6B24 7F E4 FB 78 */ mr r4, r31 /* 801DAEC8 001D6B28 4B FF FE 81 */ bl func_801DAD48 lbl_801DAECC: /* 801DAECC 001D6B2C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801DAED0 001D6B30 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801DAED4 001D6B34 7C 08 03 A6 */ mtlr r0 /* 801DAED8 001D6B38 38 21 00 10 */ addi r1, r1, 0x10 /* 801DAEDC 001D6B3C 4E 80 00 20 */ blr .global func_801DAEE0 func_801DAEE0: /* 801DAEE0 001D6B40 2C 03 00 00 */ cmpwi r3, 0 /* 801DAEE4 001D6B44 40 82 00 0C */ bne lbl_801DAEF0 /* 801DAEE8 001D6B48 38 60 00 00 */ li r3, 0 /* 801DAEEC 001D6B4C 4E 80 00 20 */ blr lbl_801DAEF0: /* 801DAEF0 001D6B50 48 0B C5 08 */ b MEMGetSizeForMBlockExpHeap /* 801DAEF4 001D6B54 4E 80 00 20 */ blr .global func_801DAEF8 func_801DAEF8: /* 801DAEF8 001D6B58 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801DAEFC 001D6B5C 7C 08 02 A6 */ mflr r0 /* 801DAF00 001D6B60 90 01 00 14 */ stw r0, 0x14(r1) /* 801DAF04 001D6B64 4B FF FD 09 */ bl func_801DAC0C /* 801DAF08 001D6B68 4B FF FE 59 */ bl func_801DAD60 /* 801DAF0C 001D6B6C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801DAF10 001D6B70 7C 08 03 A6 */ mtlr r0 /* 801DAF14 001D6B74 38 21 00 10 */ addi r1, r1, 0x10 /* 801DAF18 001D6B78 4E 80 00 20 */ blr lbl_801DAF1C: /* 801DAF1C 001D6B7C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801DAF20 001D6B80 7C 08 02 A6 */ mflr r0 /* 801DAF24 001D6B84 90 01 00 14 */ stw r0, 0x14(r1) /* 801DAF28 001D6B88 93 E1 00 0C */ stw r31, 0xc(r1) /* 801DAF2C 001D6B8C 7C BF 2B 78 */ mr r31, r5 /* 801DAF30 001D6B90 93 C1 00 08 */ stw r30, 8(r1) /* 801DAF34 001D6B94 7C 7E 1B 78 */ mr r30, r3 /* 801DAF38 001D6B98 48 0B C4 C9 */ bl MEMGetGroupIDForMBlockExpHeap /* 801DAF3C 001D6B9C A0 1F 00 04 */ lhz r0, 4(r31) /* 801DAF40 001D6BA0 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 801DAF44 001D6BA4 7C 00 18 40 */ cmplw r0, r3 /* 801DAF48 001D6BA8 40 82 00 10 */ bne lbl_801DAF58 /* 801DAF4C 001D6BAC 80 7F 00 00 */ lwz r3, 0(r31) /* 801DAF50 001D6BB0 7F C4 F3 78 */ mr r4, r30 /* 801DAF54 001D6BB4 48 0B C2 71 */ bl MEMFreeToExpHeap lbl_801DAF58: /* 801DAF58 001D6BB8 80 01 00 14 */ lwz r0, 0x14(r1) /* 801DAF5C 001D6BBC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801DAF60 001D6BC0 83 C1 00 08 */ lwz r30, 8(r1) /* 801DAF64 001D6BC4 7C 08 03 A6 */ mtlr r0 /* 801DAF68 001D6BC8 38 21 00 10 */ addi r1, r1, 0x10 /* 801DAF6C 001D6BCC 4E 80 00 20 */ blr .global func_801DAF70 func_801DAF70: /* 801DAF70 001D6BD0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801DAF74 001D6BD4 7C 08 02 A6 */ mflr r0 /* 801DAF78 001D6BD8 3C C0 80 1E */ lis r6, lbl_801DAF1C@ha /* 801DAF7C 001D6BDC 90 01 00 24 */ stw r0, 0x24(r1) /* 801DAF80 001D6BE0 38 00 00 00 */ li r0, 0 /* 801DAF84 001D6BE4 38 A1 00 08 */ addi r5, r1, 8 /* 801DAF88 001D6BE8 B0 81 00 0C */ sth r4, 0xc(r1) /* 801DAF8C 001D6BEC 38 86 AF 1C */ addi r4, r6, lbl_801DAF1C@l /* 801DAF90 001D6BF0 90 61 00 08 */ stw r3, 8(r1) /* 801DAF94 001D6BF4 90 01 00 10 */ stw r0, 0x10(r1) /* 801DAF98 001D6BF8 48 0B C3 C5 */ bl MEMVisitAllocatedForExpHeap /* 801DAF9C 001D6BFC 80 01 00 24 */ lwz r0, 0x24(r1) /* 801DAFA0 001D6C00 7C 08 03 A6 */ mtlr r0 /* 801DAFA4 001D6C04 38 21 00 20 */ addi r1, r1, 0x20 /* 801DAFA8 001D6C08 4E 80 00 20 */ blr .global func_801DAFAC func_801DAFAC: /* 801DAFAC 001D6C0C 54 60 06 FF */ clrlwi. r0, r3, 0x1b /* 801DAFB0 001D6C10 40 82 00 14 */ bne lbl_801DAFC4 /* 801DAFB4 001D6C14 54 80 06 FF */ clrlwi. r0, r4, 0x1b /* 801DAFB8 001D6C18 40 82 00 0C */ bne lbl_801DAFC4 /* 801DAFBC 001D6C1C 54 A0 06 FF */ clrlwi. r0, r5, 0x1b /* 801DAFC0 001D6C20 41 82 00 08 */ beq lbl_801DAFC8 lbl_801DAFC4: /* 801DAFC4 001D6C24 4B E2 90 3C */ b memcpy lbl_801DAFC8: /* 801DAFC8 001D6C28 54 A5 D9 7E */ srwi r5, r5, 5 /* 801DAFCC 001D6C2C 7C A9 03 A6 */ mtctr r5 /* 801DAFD0 001D6C30 38 63 FF FC */ addi r3, r3, -4 /* 801DAFD4 001D6C34 38 84 FF FC */ addi r4, r4, -4 lbl_801DAFD8: /* 801DAFD8 001D6C38 84 04 00 04 */ lwzu r0, 4(r4) /* 801DAFDC 001D6C3C 84 A4 00 04 */ lwzu r5, 4(r4) /* 801DAFE0 001D6C40 84 C4 00 04 */ lwzu r6, 4(r4) /* 801DAFE4 001D6C44 84 E4 00 04 */ lwzu r7, 4(r4) /* 801DAFE8 001D6C48 85 04 00 04 */ lwzu r8, 4(r4) /* 801DAFEC 001D6C4C 85 24 00 04 */ lwzu r9, 4(r4) /* 801DAFF0 001D6C50 85 44 00 04 */ lwzu r10, 4(r4) /* 801DAFF4 001D6C54 85 64 00 04 */ lwzu r11, 4(r4) /* 801DAFF8 001D6C58 94 03 00 04 */ stwu r0, 4(r3) /* 801DAFFC 001D6C5C 94 A3 00 04 */ stwu r5, 4(r3) /* 801DB000 001D6C60 94 C3 00 04 */ stwu r6, 4(r3) /* 801DB004 001D6C64 94 E3 00 04 */ stwu r7, 4(r3) /* 801DB008 001D6C68 95 03 00 04 */ stwu r8, 4(r3) /* 801DB00C 001D6C6C 95 23 00 04 */ stwu r9, 4(r3) /* 801DB010 001D6C70 95 43 00 04 */ stwu r10, 4(r3) /* 801DB014 001D6C74 95 63 00 04 */ stwu r11, 4(r3) /* 801DB018 001D6C78 42 00 FF C0 */ bdnz lbl_801DAFD8 /* 801DB01C 001D6C7C 4E 80 00 20 */ blr .global func_801DB020 func_801DB020: /* 801DB020 001D6C80 38 A0 00 01 */ li r5, 1 /* 801DB024 001D6C84 38 6D A0 10 */ addi r3, r13, lbl_8063F2D0-_SDA_BASE_ /* 801DB028 001D6C88 38 80 00 04 */ li r4, 4 /* 801DB02C 001D6C8C 38 00 00 00 */ li r0, 0 /* 801DB030 001D6C90 98 AD A0 10 */ stb r5, lbl_8063F2D0-_SDA_BASE_(r13) /* 801DB034 001D6C94 B0 83 00 02 */ sth r4, 2(r3) /* 801DB038 001D6C98 98 03 00 04 */ stb r0, 4(r3) /* 801DB03C 001D6C9C 4E 80 00 20 */ blr