.include "macros.inc" .section .text, "ax" .global __destroy_arr __destroy_arr: /* 803896D4 00386634 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803896D8 00386638 7C 08 02 A6 */ mflr r0 /* 803896DC 0038663C 90 01 00 24 */ stw r0, 0x24(r1) /* 803896E0 00386640 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803896E4 00386644 93 C1 00 18 */ stw r30, 0x18(r1) /* 803896E8 00386648 7C DE 33 78 */ mr r30, r6 /* 803896EC 0038664C 93 A1 00 14 */ stw r29, 0x14(r1) /* 803896F0 00386650 7C BD 2B 78 */ mr r29, r5 /* 803896F4 00386654 7C 1D F1 D6 */ mullw r0, r29, r30 /* 803896F8 00386658 93 81 00 10 */ stw r28, 0x10(r1) /* 803896FC 0038665C 7C 9C 23 78 */ mr r28, r4 /* 80389700 00386660 7F E3 02 14 */ add r31, r3, r0 /* 80389704 00386664 48 00 00 20 */ b lbl_80389724 lbl_80389708: /* 80389708 00386668 7F FD F8 50 */ subf r31, r29, r31 /* 8038970C 0038666C 7F 8C E3 78 */ mr r12, r28 /* 80389710 00386670 7F E3 FB 78 */ mr r3, r31 /* 80389714 00386674 38 80 FF FF */ li r4, -1 /* 80389718 00386678 7D 89 03 A6 */ mtctr r12 /* 8038971C 0038667C 4E 80 04 21 */ bctrl /* 80389720 00386680 3B DE FF FF */ addi r30, r30, -1 lbl_80389724: /* 80389724 00386684 28 1E 00 00 */ cmplwi r30, 0 /* 80389728 00386688 40 82 FF E0 */ bne lbl_80389708 /* 8038972C 0038668C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80389730 00386690 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80389734 00386694 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80389738 00386698 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8038973C 0038669C 83 81 00 10 */ lwz r28, 0x10(r1) /* 80389740 003866A0 7C 08 03 A6 */ mtlr r0 /* 80389744 003866A4 38 21 00 20 */ addi r1, r1, 0x20 /* 80389748 003866A8 4E 80 00 20 */ blr .global __construct_array __construct_array: /* 8038974C 003866AC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80389750 003866B0 7C 08 02 A6 */ mflr r0 /* 80389754 003866B4 90 01 00 34 */ stw r0, 0x34(r1) /* 80389758 003866B8 38 00 00 00 */ li r0, 0 /* 8038975C 003866BC 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80389760 003866C0 7C FF 3B 78 */ mr r31, r7 /* 80389764 003866C4 93 C1 00 28 */ stw r30, 0x28(r1) /* 80389768 003866C8 7C 7E 1B 78 */ mr r30, r3 /* 8038976C 003866CC 93 A1 00 24 */ stw r29, 0x24(r1) /* 80389770 003866D0 7C DD 33 78 */ mr r29, r6 /* 80389774 003866D4 93 E1 00 18 */ stw r31, 0x18(r1) /* 80389778 003866D8 93 81 00 20 */ stw r28, 0x20(r1) /* 8038977C 003866DC 7C 9C 23 78 */ mr r28, r4 /* 80389780 003866E0 90 61 00 08 */ stw r3, 8(r1) /* 80389784 003866E4 93 A1 00 0C */ stw r29, 0xc(r1) /* 80389788 003866E8 93 E1 00 10 */ stw r31, 0x10(r1) /* 8038978C 003866EC 90 A1 00 14 */ stw r5, 0x14(r1) /* 80389790 003866F0 90 01 00 18 */ stw r0, 0x18(r1) /* 80389794 003866F4 48 00 00 28 */ b lbl_803897BC lbl_80389798: /* 80389798 003866F8 7F 8C E3 78 */ mr r12, r28 /* 8038979C 003866FC 7F C3 F3 78 */ mr r3, r30 /* 803897A0 00386700 38 80 00 01 */ li r4, 1 /* 803897A4 00386704 7D 89 03 A6 */ mtctr r12 /* 803897A8 00386708 4E 80 04 21 */ bctrl /* 803897AC 0038670C 80 61 00 18 */ lwz r3, 0x18(r1) /* 803897B0 00386710 7F DE EA 14 */ add r30, r30, r29 /* 803897B4 00386714 38 03 00 01 */ addi r0, r3, 1 /* 803897B8 00386718 90 01 00 18 */ stw r0, 0x18(r1) lbl_803897BC: /* 803897BC 0038671C 80 81 00 18 */ lwz r4, 0x18(r1) /* 803897C0 00386720 7C 04 F8 40 */ cmplw r4, r31 /* 803897C4 00386724 41 80 FF D4 */ blt lbl_80389798 /* 803897C8 00386728 80 01 00 10 */ lwz r0, 0x10(r1) /* 803897CC 0038672C 7C 04 00 40 */ cmplw r4, r0 /* 803897D0 00386730 40 80 00 54 */ bge lbl_80389824 /* 803897D4 00386734 80 01 00 14 */ lwz r0, 0x14(r1) /* 803897D8 00386738 28 00 00 00 */ cmplwi r0, 0 /* 803897DC 0038673C 41 82 00 48 */ beq lbl_80389824 /* 803897E0 00386740 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803897E4 00386744 80 61 00 08 */ lwz r3, 8(r1) /* 803897E8 00386748 7C 1F 21 D6 */ mullw r0, r31, r4 /* 803897EC 0038674C 7F C3 02 14 */ add r30, r3, r0 /* 803897F0 00386750 48 00 00 28 */ b lbl_80389818 lbl_803897F4: /* 803897F4 00386754 81 81 00 14 */ lwz r12, 0x14(r1) /* 803897F8 00386758 7F DF F0 50 */ subf r30, r31, r30 /* 803897FC 0038675C 7F C3 F3 78 */ mr r3, r30 /* 80389800 00386760 38 80 FF FF */ li r4, -1 /* 80389804 00386764 7D 89 03 A6 */ mtctr r12 /* 80389808 00386768 4E 80 04 21 */ bctrl /* 8038980C 0038676C 80 61 00 18 */ lwz r3, 0x18(r1) /* 80389810 00386770 38 03 FF FF */ addi r0, r3, -1 /* 80389814 00386774 90 01 00 18 */ stw r0, 0x18(r1) lbl_80389818: /* 80389818 00386778 80 01 00 18 */ lwz r0, 0x18(r1) /* 8038981C 0038677C 28 00 00 00 */ cmplwi r0, 0 /* 80389820 00386780 40 82 FF D4 */ bne lbl_803897F4 lbl_80389824: /* 80389824 00386784 80 01 00 34 */ lwz r0, 0x34(r1) /* 80389828 00386788 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8038982C 0038678C 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80389830 00386790 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80389834 00386794 83 81 00 20 */ lwz r28, 0x20(r1) /* 80389838 00386798 7C 08 03 A6 */ mtlr r0 /* 8038983C 0038679C 38 21 00 30 */ addi r1, r1, 0x30 /* 80389840 003867A0 4E 80 00 20 */ blr .global __partial_array_destructor __partial_array_destructor: /* 80389844 003867A4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80389848 003867A8 7C 08 02 A6 */ mflr r0 /* 8038984C 003867AC 90 01 00 24 */ stw r0, 0x24(r1) /* 80389850 003867B0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80389854 003867B4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80389858 003867B8 7C 9E 23 78 */ mr r30, r4 /* 8038985C 003867BC 93 A1 00 14 */ stw r29, 0x14(r1) /* 80389860 003867C0 7C 7D 1B 79 */ or. r29, r3, r3 /* 80389864 003867C4 41 82 00 78 */ beq lbl_803898DC /* 80389868 003867C8 80 9D 00 10 */ lwz r4, 0x10(r29) /* 8038986C 003867CC 80 1D 00 08 */ lwz r0, 8(r29) /* 80389870 003867D0 7C 04 00 40 */ cmplw r4, r0 /* 80389874 003867D4 40 80 00 58 */ bge lbl_803898CC /* 80389878 003867D8 80 1D 00 0C */ lwz r0, 0xc(r29) /* 8038987C 003867DC 28 00 00 00 */ cmplwi r0, 0 /* 80389880 003867E0 41 82 00 4C */ beq lbl_803898CC /* 80389884 003867E4 80 1D 00 04 */ lwz r0, 4(r29) /* 80389888 003867E8 80 7D 00 00 */ lwz r3, 0(r29) /* 8038988C 003867EC 7C 00 21 D6 */ mullw r0, r0, r4 /* 80389890 003867F0 7F E3 02 14 */ add r31, r3, r0 /* 80389894 003867F4 48 00 00 2C */ b lbl_803898C0 lbl_80389898: /* 80389898 003867F8 80 1D 00 04 */ lwz r0, 4(r29) /* 8038989C 003867FC 38 80 FF FF */ li r4, -1 /* 803898A0 00386800 81 9D 00 0C */ lwz r12, 0xc(r29) /* 803898A4 00386804 7F E0 F8 50 */ subf r31, r0, r31 /* 803898A8 00386808 7F E3 FB 78 */ mr r3, r31 /* 803898AC 0038680C 7D 89 03 A6 */ mtctr r12 /* 803898B0 00386810 4E 80 04 21 */ bctrl /* 803898B4 00386814 80 7D 00 10 */ lwz r3, 0x10(r29) /* 803898B8 00386818 38 03 FF FF */ addi r0, r3, -1 /* 803898BC 0038681C 90 1D 00 10 */ stw r0, 0x10(r29) lbl_803898C0: /* 803898C0 00386820 80 1D 00 10 */ lwz r0, 0x10(r29) /* 803898C4 00386824 28 00 00 00 */ cmplwi r0, 0 /* 803898C8 00386828 40 82 FF D0 */ bne lbl_80389898 lbl_803898CC: /* 803898CC 0038682C 7F C0 07 35 */ extsh. r0, r30 /* 803898D0 00386830 40 81 00 0C */ ble lbl_803898DC /* 803898D4 00386834 7F A3 EB 78 */ mr r3, r29 /* 803898D8 00386838 4B D3 8A 2D */ bl sub_800c2304 lbl_803898DC: /* 803898DC 0038683C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803898E0 00386840 7F A3 EB 78 */ mr r3, r29 /* 803898E4 00386844 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803898E8 00386848 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803898EC 0038684C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803898F0 00386850 7C 08 03 A6 */ mtlr r0 /* 803898F4 00386854 38 21 00 20 */ addi r1, r1, 0x20 /* 803898F8 00386858 4E 80 00 20 */ blr