.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global __construct_new_array __construct_new_array: /* 801C6CA8 001C2908 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801C6CAC 001C290C 7C 08 02 A6 */ mflr r0 /* 801C6CB0 001C2910 2C 03 00 00 */ cmpwi r3, 0 /* 801C6CB4 001C2914 90 01 00 44 */ stw r0, 0x44(r1) /* 801C6CB8 001C2918 BF 61 00 2C */ stmw r27, 0x2c(r1) /* 801C6CBC 001C291C 7C 7E 1B 78 */ mr r30, r3 /* 801C6CC0 001C2920 7C 9B 23 78 */ mr r27, r4 /* 801C6CC4 001C2924 7C DC 33 78 */ mr r28, r6 /* 801C6CC8 001C2928 7C FD 3B 78 */ mr r29, r7 /* 801C6CCC 001C292C 41 82 00 C8 */ beq lbl_801C6D94 /* 801C6CD0 001C2930 2C 04 00 00 */ cmpwi r4, 0 /* 801C6CD4 001C2934 90 C3 00 00 */ stw r6, 0(r3) /* 801C6CD8 001C2938 3B C3 00 10 */ addi r30, r3, 0x10 /* 801C6CDC 001C293C 90 E3 00 04 */ stw r7, 4(r3) /* 801C6CE0 001C2940 41 82 00 B4 */ beq lbl_801C6D94 /* 801C6CE4 001C2944 38 00 00 00 */ li r0, 0 /* 801C6CE8 001C2948 93 C1 00 08 */ stw r30, 8(r1) /* 801C6CEC 001C294C 7F DF F3 78 */ mr r31, r30 /* 801C6CF0 001C2950 90 C1 00 0C */ stw r6, 0xc(r1) /* 801C6CF4 001C2954 90 E1 00 10 */ stw r7, 0x10(r1) /* 801C6CF8 001C2958 90 A1 00 14 */ stw r5, 0x14(r1) /* 801C6CFC 001C295C 90 01 00 18 */ stw r0, 0x18(r1) /* 801C6D00 001C2960 48 00 00 28 */ b lbl_801C6D28 lbl_801C6D04: /* 801C6D04 001C2964 7F 6C DB 78 */ mr r12, r27 /* 801C6D08 001C2968 7F E3 FB 78 */ mr r3, r31 /* 801C6D0C 001C296C 38 80 00 01 */ li r4, 1 /* 801C6D10 001C2970 7D 89 03 A6 */ mtctr r12 /* 801C6D14 001C2974 4E 80 04 21 */ bctrl /* 801C6D18 001C2978 80 61 00 18 */ lwz r3, 0x18(r1) /* 801C6D1C 001C297C 7F FF E2 14 */ add r31, r31, r28 /* 801C6D20 001C2980 38 03 00 01 */ addi r0, r3, 1 /* 801C6D24 001C2984 90 01 00 18 */ stw r0, 0x18(r1) lbl_801C6D28: /* 801C6D28 001C2988 80 81 00 18 */ lwz r4, 0x18(r1) /* 801C6D2C 001C298C 7C 04 E8 40 */ cmplw r4, r29 /* 801C6D30 001C2990 41 80 FF D4 */ blt lbl_801C6D04 /* 801C6D34 001C2994 80 01 00 10 */ lwz r0, 0x10(r1) /* 801C6D38 001C2998 7C 04 00 40 */ cmplw r4, r0 /* 801C6D3C 001C299C 40 80 00 58 */ bge lbl_801C6D94 /* 801C6D40 001C29A0 80 01 00 14 */ lwz r0, 0x14(r1) /* 801C6D44 001C29A4 2C 00 00 00 */ cmpwi r0, 0 /* 801C6D48 001C29A8 41 82 00 4C */ beq lbl_801C6D94 /* 801C6D4C 001C29AC 80 01 00 0C */ lwz r0, 0xc(r1) /* 801C6D50 001C29B0 80 61 00 08 */ lwz r3, 8(r1) /* 801C6D54 001C29B4 7C 00 21 D6 */ mullw r0, r0, r4 /* 801C6D58 001C29B8 7F E3 02 14 */ add r31, r3, r0 /* 801C6D5C 001C29BC 48 00 00 2C */ b lbl_801C6D88 lbl_801C6D60: /* 801C6D60 001C29C0 80 01 00 0C */ lwz r0, 0xc(r1) /* 801C6D64 001C29C4 38 80 FF FF */ li r4, -1 /* 801C6D68 001C29C8 81 81 00 14 */ lwz r12, 0x14(r1) /* 801C6D6C 001C29CC 7F E0 F8 50 */ subf r31, r0, r31 /* 801C6D70 001C29D0 7F E3 FB 78 */ mr r3, r31 /* 801C6D74 001C29D4 7D 89 03 A6 */ mtctr r12 /* 801C6D78 001C29D8 4E 80 04 21 */ bctrl /* 801C6D7C 001C29DC 80 61 00 18 */ lwz r3, 0x18(r1) /* 801C6D80 001C29E0 38 03 FF FF */ addi r0, r3, -1 /* 801C6D84 001C29E4 90 01 00 18 */ stw r0, 0x18(r1) lbl_801C6D88: /* 801C6D88 001C29E8 80 01 00 18 */ lwz r0, 0x18(r1) /* 801C6D8C 001C29EC 2C 00 00 00 */ cmpwi r0, 0 /* 801C6D90 001C29F0 40 82 FF D0 */ bne lbl_801C6D60 lbl_801C6D94: /* 801C6D94 001C29F4 7F C3 F3 78 */ mr r3, r30 /* 801C6D98 001C29F8 BB 61 00 2C */ lmw r27, 0x2c(r1) /* 801C6D9C 001C29FC 80 01 00 44 */ lwz r0, 0x44(r1) /* 801C6DA0 001C2A00 7C 08 03 A6 */ mtlr r0 /* 801C6DA4 001C2A04 38 21 00 40 */ addi r1, r1, 0x40 /* 801C6DA8 001C2A08 4E 80 00 20 */ blr .global __dt__26__partial_array_destructorFv __dt__26__partial_array_destructorFv: /* 801C6DAC 001C2A0C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801C6DB0 001C2A10 7C 08 02 A6 */ mflr r0 /* 801C6DB4 001C2A14 2C 03 00 00 */ cmpwi r3, 0 /* 801C6DB8 001C2A18 90 01 00 24 */ stw r0, 0x24(r1) /* 801C6DBC 001C2A1C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801C6DC0 001C2A20 93 C1 00 18 */ stw r30, 0x18(r1) /* 801C6DC4 001C2A24 7C 9E 23 78 */ mr r30, r4 /* 801C6DC8 001C2A28 93 A1 00 14 */ stw r29, 0x14(r1) /* 801C6DCC 001C2A2C 7C 7D 1B 78 */ mr r29, r3 /* 801C6DD0 001C2A30 41 82 00 78 */ beq lbl_801C6E48 /* 801C6DD4 001C2A34 80 83 00 10 */ lwz r4, 0x10(r3) /* 801C6DD8 001C2A38 80 03 00 08 */ lwz r0, 8(r3) /* 801C6DDC 001C2A3C 7C 04 00 40 */ cmplw r4, r0 /* 801C6DE0 001C2A40 40 80 00 58 */ bge lbl_801C6E38 /* 801C6DE4 001C2A44 80 03 00 0C */ lwz r0, 0xc(r3) /* 801C6DE8 001C2A48 2C 00 00 00 */ cmpwi r0, 0 /* 801C6DEC 001C2A4C 41 82 00 4C */ beq lbl_801C6E38 /* 801C6DF0 001C2A50 80 03 00 04 */ lwz r0, 4(r3) /* 801C6DF4 001C2A54 80 63 00 00 */ lwz r3, 0(r3) /* 801C6DF8 001C2A58 7C 00 21 D6 */ mullw r0, r0, r4 /* 801C6DFC 001C2A5C 7F E3 02 14 */ add r31, r3, r0 /* 801C6E00 001C2A60 48 00 00 2C */ b lbl_801C6E2C lbl_801C6E04: /* 801C6E04 001C2A64 80 1D 00 04 */ lwz r0, 4(r29) /* 801C6E08 001C2A68 38 80 FF FF */ li r4, -1 /* 801C6E0C 001C2A6C 81 9D 00 0C */ lwz r12, 0xc(r29) /* 801C6E10 001C2A70 7F E0 F8 50 */ subf r31, r0, r31 /* 801C6E14 001C2A74 7F E3 FB 78 */ mr r3, r31 /* 801C6E18 001C2A78 7D 89 03 A6 */ mtctr r12 /* 801C6E1C 001C2A7C 4E 80 04 21 */ bctrl /* 801C6E20 001C2A80 80 7D 00 10 */ lwz r3, 0x10(r29) /* 801C6E24 001C2A84 38 03 FF FF */ addi r0, r3, -1 /* 801C6E28 001C2A88 90 1D 00 10 */ stw r0, 0x10(r29) lbl_801C6E2C: /* 801C6E2C 001C2A8C 80 1D 00 10 */ lwz r0, 0x10(r29) /* 801C6E30 001C2A90 2C 00 00 00 */ cmpwi r0, 0 /* 801C6E34 001C2A94 40 82 FF D0 */ bne lbl_801C6E04 lbl_801C6E38: /* 801C6E38 001C2A98 2C 1E 00 00 */ cmpwi r30, 0 /* 801C6E3C 001C2A9C 40 81 00 0C */ ble lbl_801C6E48 /* 801C6E40 001C2AA0 7F A3 EB 78 */ mr r3, r29 /* 801C6E44 001C2AA4 48 01 3C 75 */ bl __dl__FPv lbl_801C6E48: /* 801C6E48 001C2AA8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801C6E4C 001C2AAC 7F A3 EB 78 */ mr r3, r29 /* 801C6E50 001C2AB0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801C6E54 001C2AB4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801C6E58 001C2AB8 80 01 00 24 */ lwz r0, 0x24(r1) /* 801C6E5C 001C2ABC 7C 08 03 A6 */ mtlr r0 /* 801C6E60 001C2AC0 38 21 00 20 */ addi r1, r1, 0x20 /* 801C6E64 001C2AC4 4E 80 00 20 */ blr .global __construct_array __construct_array: /* 801C6E68 001C2AC8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801C6E6C 001C2ACC 7C 08 02 A6 */ mflr r0 /* 801C6E70 001C2AD0 90 01 00 34 */ stw r0, 0x34(r1) /* 801C6E74 001C2AD4 38 00 00 00 */ li r0, 0 /* 801C6E78 001C2AD8 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801C6E7C 001C2ADC 7C 7F 1B 78 */ mr r31, r3 /* 801C6E80 001C2AE0 93 C1 00 28 */ stw r30, 0x28(r1) /* 801C6E84 001C2AE4 7C FE 3B 78 */ mr r30, r7 /* 801C6E88 001C2AE8 93 A1 00 24 */ stw r29, 0x24(r1) /* 801C6E8C 001C2AEC 7C DD 33 78 */ mr r29, r6 /* 801C6E90 001C2AF0 93 81 00 20 */ stw r28, 0x20(r1) /* 801C6E94 001C2AF4 7C 9C 23 78 */ mr r28, r4 /* 801C6E98 001C2AF8 90 61 00 08 */ stw r3, 8(r1) /* 801C6E9C 001C2AFC 90 C1 00 0C */ stw r6, 0xc(r1) /* 801C6EA0 001C2B00 90 E1 00 10 */ stw r7, 0x10(r1) /* 801C6EA4 001C2B04 90 A1 00 14 */ stw r5, 0x14(r1) /* 801C6EA8 001C2B08 90 01 00 18 */ stw r0, 0x18(r1) /* 801C6EAC 001C2B0C 48 00 00 28 */ b lbl_801C6ED4 lbl_801C6EB0: /* 801C6EB0 001C2B10 7F 8C E3 78 */ mr r12, r28 /* 801C6EB4 001C2B14 7F E3 FB 78 */ mr r3, r31 /* 801C6EB8 001C2B18 38 80 00 01 */ li r4, 1 /* 801C6EBC 001C2B1C 7D 89 03 A6 */ mtctr r12 /* 801C6EC0 001C2B20 4E 80 04 21 */ bctrl /* 801C6EC4 001C2B24 80 61 00 18 */ lwz r3, 0x18(r1) /* 801C6EC8 001C2B28 7F FF EA 14 */ add r31, r31, r29 /* 801C6ECC 001C2B2C 38 03 00 01 */ addi r0, r3, 1 /* 801C6ED0 001C2B30 90 01 00 18 */ stw r0, 0x18(r1) lbl_801C6ED4: /* 801C6ED4 001C2B34 80 81 00 18 */ lwz r4, 0x18(r1) /* 801C6ED8 001C2B38 7C 04 F0 40 */ cmplw r4, r30 /* 801C6EDC 001C2B3C 41 80 FF D4 */ blt lbl_801C6EB0 /* 801C6EE0 001C2B40 80 01 00 10 */ lwz r0, 0x10(r1) /* 801C6EE4 001C2B44 7C 04 00 40 */ cmplw r4, r0 /* 801C6EE8 001C2B48 40 80 00 58 */ bge lbl_801C6F40 /* 801C6EEC 001C2B4C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801C6EF0 001C2B50 2C 00 00 00 */ cmpwi r0, 0 /* 801C6EF4 001C2B54 41 82 00 4C */ beq lbl_801C6F40 /* 801C6EF8 001C2B58 80 01 00 0C */ lwz r0, 0xc(r1) /* 801C6EFC 001C2B5C 80 61 00 08 */ lwz r3, 8(r1) /* 801C6F00 001C2B60 7C 00 21 D6 */ mullw r0, r0, r4 /* 801C6F04 001C2B64 7F E3 02 14 */ add r31, r3, r0 /* 801C6F08 001C2B68 48 00 00 2C */ b lbl_801C6F34 lbl_801C6F0C: /* 801C6F0C 001C2B6C 80 01 00 0C */ lwz r0, 0xc(r1) /* 801C6F10 001C2B70 38 80 FF FF */ li r4, -1 /* 801C6F14 001C2B74 81 81 00 14 */ lwz r12, 0x14(r1) /* 801C6F18 001C2B78 7F E0 F8 50 */ subf r31, r0, r31 /* 801C6F1C 001C2B7C 7F E3 FB 78 */ mr r3, r31 /* 801C6F20 001C2B80 7D 89 03 A6 */ mtctr r12 /* 801C6F24 001C2B84 4E 80 04 21 */ bctrl /* 801C6F28 001C2B88 80 61 00 18 */ lwz r3, 0x18(r1) /* 801C6F2C 001C2B8C 38 03 FF FF */ addi r0, r3, -1 /* 801C6F30 001C2B90 90 01 00 18 */ stw r0, 0x18(r1) lbl_801C6F34: /* 801C6F34 001C2B94 80 01 00 18 */ lwz r0, 0x18(r1) /* 801C6F38 001C2B98 2C 00 00 00 */ cmpwi r0, 0 /* 801C6F3C 001C2B9C 40 82 FF D0 */ bne lbl_801C6F0C lbl_801C6F40: /* 801C6F40 001C2BA0 80 01 00 34 */ lwz r0, 0x34(r1) /* 801C6F44 001C2BA4 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801C6F48 001C2BA8 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801C6F4C 001C2BAC 83 A1 00 24 */ lwz r29, 0x24(r1) /* 801C6F50 001C2BB0 83 81 00 20 */ lwz r28, 0x20(r1) /* 801C6F54 001C2BB4 7C 08 03 A6 */ mtlr r0 /* 801C6F58 001C2BB8 38 21 00 30 */ addi r1, r1, 0x30 /* 801C6F5C 001C2BBC 4E 80 00 20 */ blr .global __destroy_arr __destroy_arr: /* 801C6F60 001C2BC0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801C6F64 001C2BC4 7C 08 02 A6 */ mflr r0 /* 801C6F68 001C2BC8 90 01 00 24 */ stw r0, 0x24(r1) /* 801C6F6C 001C2BCC 7C 05 31 D6 */ mullw r0, r5, r6 /* 801C6F70 001C2BD0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801C6F74 001C2BD4 93 C1 00 18 */ stw r30, 0x18(r1) /* 801C6F78 001C2BD8 7C DE 33 78 */ mr r30, r6 /* 801C6F7C 001C2BDC 7F E3 02 14 */ add r31, r3, r0 /* 801C6F80 001C2BE0 93 A1 00 14 */ stw r29, 0x14(r1) /* 801C6F84 001C2BE4 7C BD 2B 78 */ mr r29, r5 /* 801C6F88 001C2BE8 93 81 00 10 */ stw r28, 0x10(r1) /* 801C6F8C 001C2BEC 7C 9C 23 78 */ mr r28, r4 /* 801C6F90 001C2BF0 48 00 00 20 */ b lbl_801C6FB0 lbl_801C6F94: /* 801C6F94 001C2BF4 7F FD F8 50 */ subf r31, r29, r31 /* 801C6F98 001C2BF8 7F 8C E3 78 */ mr r12, r28 /* 801C6F9C 001C2BFC 7F E3 FB 78 */ mr r3, r31 /* 801C6FA0 001C2C00 38 80 FF FF */ li r4, -1 /* 801C6FA4 001C2C04 7D 89 03 A6 */ mtctr r12 /* 801C6FA8 001C2C08 4E 80 04 21 */ bctrl /* 801C6FAC 001C2C0C 3B DE FF FF */ addi r30, r30, -1 lbl_801C6FB0: /* 801C6FB0 001C2C10 2C 1E 00 00 */ cmpwi r30, 0 /* 801C6FB4 001C2C14 40 82 FF E0 */ bne lbl_801C6F94 /* 801C6FB8 001C2C18 80 01 00 24 */ lwz r0, 0x24(r1) /* 801C6FBC 001C2C1C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801C6FC0 001C2C20 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801C6FC4 001C2C24 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801C6FC8 001C2C28 83 81 00 10 */ lwz r28, 0x10(r1) /* 801C6FCC 001C2C2C 7C 08 03 A6 */ mtlr r0 /* 801C6FD0 001C2C30 38 21 00 20 */ addi r1, r1, 0x20 /* 801C6FD4 001C2C34 4E 80 00 20 */ blr