.include "macros.inc" .section extab_, "wa" # 0x80006740 - 0x800068E0 ; 0x000001A0 .global "@340" "@340": .4byte 0x28080000 .4byte 0x00000070 .4byte 0x00000010 .4byte 0 .4byte 0x82000008 .4byte __dt__26__partial_array_destructorFv .global "@351" "@351": .4byte 0x18080000 .4byte 0 .global "@383" "@383": .4byte 0x20080000 .4byte 0x0000005C .4byte 0x00000010 .4byte 0 .4byte 0x82000008 .4byte __dt__26__partial_array_destructorFv .global "@401" "@401": .4byte 0x20080000 .4byte 0 .include "macros.inc" .section extabindex_, "wa" # 0x800068E0 - 0x80006A00 ; 0x00000120 .4byte __construct_new_array .4byte 0x00000104 .4byte "@340" .4byte __dt__26__partial_array_destructorFv .4byte 0x000000BC .4byte "@351" .4byte __construct_array .4byte 0x000000F8 .4byte "@383" .4byte __destroy_arr .4byte 0x00000078 .4byte "@401" .include "macros.inc" .section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860 .global dthandler__3stdFv dthandler__3stdFv: /* 80006C10 00002A50 48 00 99 18 */ b abort .global duhandler__3stdFv duhandler__3stdFv: /* 80006C14 00002A54 48 00 00 04 */ b terminate__3stdFv .global terminate__3stdFv terminate__3stdFv: /* 80006C18 00002A58 81 8D 80 08 */ lwz r12, thandler__3std@sda21(r13) /* 80006C1C 00002A5C 7D 89 03 A6 */ mtctr r12 /* 80006C20 00002A60 4E 80 04 20 */ bctr .global unexpected__3stdFv unexpected__3stdFv: /* 80006C24 00002A64 81 8D 80 0C */ lwz r12, uhandler__3std@sda21(r13) /* 80006C28 00002A68 7D 89 03 A6 */ mtctr r12 /* 80006C2C 00002A6C 4E 80 04 20 */ bctr .global __throw_catch_compare __throw_catch_compare: /* 80006C30 00002A70 2C 04 00 00 */ cmpwi r4, 0x0 /* 80006C34 00002A74 38 00 00 00 */ li r0, 0x0 /* 80006C38 00002A78 90 05 00 00 */ stw r0, 0x0(r5) /* 80006C3C 00002A7C 7C 87 23 78 */ mr r7, r4 /* 80006C40 00002A80 40 82 00 0C */ bne lbl_80006C4C /* 80006C44 00002A84 38 60 00 01 */ li r3, 0x1 /* 80006C48 00002A88 4E 80 00 20 */ blr .global lbl_80006C4C lbl_80006C4C: /* 80006C4C 00002A8C 88 04 00 00 */ lbz r0, 0x0(r4) /* 80006C50 00002A90 7C 66 1B 78 */ mr r6, r3 /* 80006C54 00002A94 2C 00 00 50 */ cmpwi r0, 0x50 /* 80006C58 00002A98 40 82 00 58 */ bne lbl_80006CB0 /* 80006C5C 00002A9C 88 04 00 01 */ lbz r0, 0x1(r4) /* 80006C60 00002AA0 38 E4 00 01 */ addi r7, r4, 0x1 /* 80006C64 00002AA4 2C 00 00 43 */ cmpwi r0, 0x43 /* 80006C68 00002AA8 40 82 00 08 */ bne lbl_80006C70 /* 80006C6C 00002AAC 38 E7 00 01 */ addi r7, r7, 0x1 .global lbl_80006C70 lbl_80006C70: /* 80006C70 00002AB0 88 07 00 00 */ lbz r0, 0x0(r7) /* 80006C74 00002AB4 2C 00 00 56 */ cmpwi r0, 0x56 /* 80006C78 00002AB8 40 82 00 08 */ bne lbl_80006C80 /* 80006C7C 00002ABC 38 E7 00 01 */ addi r7, r7, 0x1 .global lbl_80006C80 lbl_80006C80: /* 80006C80 00002AC0 88 07 00 00 */ lbz r0, 0x0(r7) /* 80006C84 00002AC4 2C 00 00 76 */ cmpwi r0, 0x76 /* 80006C88 00002AC8 40 82 00 24 */ bne lbl_80006CAC /* 80006C8C 00002ACC 88 03 00 00 */ lbz r0, 0x0(r3) /* 80006C90 00002AD0 7C 00 07 74 */ extsb r0, r0 /* 80006C94 00002AD4 2C 00 00 50 */ cmpwi r0, 0x50 /* 80006C98 00002AD8 41 82 00 0C */ beq lbl_80006CA4 /* 80006C9C 00002ADC 2C 00 00 2A */ cmpwi r0, 0x2a /* 80006CA0 00002AE0 40 82 00 0C */ bne lbl_80006CAC .global lbl_80006CA4 lbl_80006CA4: /* 80006CA4 00002AE4 38 60 00 01 */ li r3, 0x1 /* 80006CA8 00002AE8 4E 80 00 20 */ blr .global lbl_80006CAC lbl_80006CAC: /* 80006CAC 00002AEC 7C 87 23 78 */ mr r7, r4 .global lbl_80006CB0 lbl_80006CB0: /* 80006CB0 00002AF0 88 03 00 00 */ lbz r0, 0x0(r3) /* 80006CB4 00002AF4 7C 00 07 74 */ extsb r0, r0 /* 80006CB8 00002AF8 2C 00 00 2A */ cmpwi r0, 0x2a /* 80006CBC 00002AFC 41 82 00 0C */ beq lbl_80006CC8 /* 80006CC0 00002B00 2C 00 00 21 */ cmpwi r0, 0x21 /* 80006CC4 00002B04 40 82 01 38 */ bne lbl_80006DFC .global lbl_80006CC8 lbl_80006CC8: /* 80006CC8 00002B08 88 07 00 00 */ lbz r0, 0x0(r7) /* 80006CCC 00002B0C 38 C3 00 01 */ addi r6, r3, 0x1 /* 80006CD0 00002B10 88 63 00 00 */ lbz r3, 0x0(r3) /* 80006CD4 00002B14 38 E7 00 01 */ addi r7, r7, 0x1 /* 80006CD8 00002B18 7C 00 07 74 */ extsb r0, r0 /* 80006CDC 00002B1C 7C 63 07 74 */ extsb r3, r3 /* 80006CE0 00002B20 7C 03 00 00 */ cmpw r3, r0 /* 80006CE4 00002B24 41 82 00 0C */ beq lbl_80006CF0 /* 80006CE8 00002B28 38 60 00 00 */ li r3, 0x0 /* 80006CEC 00002B2C 4E 80 00 20 */ blr .global lbl_80006CF0 lbl_80006CF0: /* 80006CF0 00002B30 88 07 00 00 */ lbz r0, 0x0(r7) /* 80006CF4 00002B34 38 E7 00 01 */ addi r7, r7, 0x1 /* 80006CF8 00002B38 88 66 00 00 */ lbz r3, 0x0(r6) /* 80006CFC 00002B3C 7C 00 07 74 */ extsb r0, r0 /* 80006D00 00002B40 7C 63 07 74 */ extsb r3, r3 /* 80006D04 00002B44 7C 03 00 00 */ cmpw r3, r0 /* 80006D08 00002B48 40 82 00 48 */ bne lbl_80006D50 /* 80006D0C 00002B4C 2C 03 00 21 */ cmpwi r3, 0x21 /* 80006D10 00002B50 38 C6 00 01 */ addi r6, r6, 0x1 /* 80006D14 00002B54 40 82 FF DC */ bne lbl_80006CF0 /* 80006D18 00002B58 38 80 00 00 */ li r4, 0x0 /* 80006D1C 00002B5C 48 00 00 1C */ b lbl_80006D38 .global lbl_80006D20 lbl_80006D20: /* 80006D20 00002B60 88 66 00 00 */ lbz r3, 0x0(r6) /* 80006D24 00002B64 1C 04 00 0A */ mulli r0, r4, 0xa /* 80006D28 00002B68 38 C6 00 01 */ addi r6, r6, 0x1 /* 80006D2C 00002B6C 7C 63 07 74 */ extsb r3, r3 /* 80006D30 00002B70 7C 83 02 14 */ add r4, r3, r0 /* 80006D34 00002B74 38 84 FF D0 */ addi r4, r4, -0x30 .global lbl_80006D38 lbl_80006D38: /* 80006D38 00002B78 88 06 00 00 */ lbz r0, 0x0(r6) /* 80006D3C 00002B7C 2C 00 00 21 */ cmpwi r0, 0x21 /* 80006D40 00002B80 40 82 FF E0 */ bne lbl_80006D20 /* 80006D44 00002B84 90 85 00 00 */ stw r4, 0x0(r5) /* 80006D48 00002B88 38 60 00 01 */ li r3, 0x1 /* 80006D4C 00002B8C 4E 80 00 20 */ blr .global lbl_80006D50 lbl_80006D50: /* 80006D50 00002B90 88 06 00 00 */ lbz r0, 0x0(r6) /* 80006D54 00002B94 38 C6 00 01 */ addi r6, r6, 0x1 /* 80006D58 00002B98 2C 00 00 21 */ cmpwi r0, 0x21 /* 80006D5C 00002B9C 40 82 FF F4 */ bne lbl_80006D50 .global lbl_80006D60 lbl_80006D60: /* 80006D60 00002BA0 88 06 00 00 */ lbz r0, 0x0(r6) /* 80006D64 00002BA4 38 C6 00 01 */ addi r6, r6, 0x1 /* 80006D68 00002BA8 2C 00 00 21 */ cmpwi r0, 0x21 /* 80006D6C 00002BAC 40 82 FF F4 */ bne lbl_80006D60 /* 80006D70 00002BB0 88 06 00 00 */ lbz r0, 0x0(r6) /* 80006D74 00002BB4 7C 00 07 75 */ extsb. r0, r0 /* 80006D78 00002BB8 40 82 00 0C */ bne lbl_80006D84 /* 80006D7C 00002BBC 38 60 00 00 */ li r3, 0x0 /* 80006D80 00002BC0 4E 80 00 20 */ blr .global lbl_80006D84 lbl_80006D84: /* 80006D84 00002BC4 38 E4 00 01 */ addi r7, r4, 0x1 /* 80006D88 00002BC8 4B FF FF 68 */ b lbl_80006CF0 /* 80006D8C 00002BCC 48 00 00 70 */ b lbl_80006DFC .global lbl_80006D90 lbl_80006D90: /* 80006D90 00002BD0 8C 07 00 01 */ lbzu r0, 0x1(r7) /* 80006D94 00002BD4 38 C6 00 01 */ addi r6, r6, 0x1 /* 80006D98 00002BD8 2C 00 00 43 */ cmpwi r0, 0x43 /* 80006D9C 00002BDC 40 82 00 18 */ bne lbl_80006DB4 /* 80006DA0 00002BE0 88 06 00 00 */ lbz r0, 0x0(r6) /* 80006DA4 00002BE4 2C 00 00 43 */ cmpwi r0, 0x43 /* 80006DA8 00002BE8 40 82 00 08 */ bne lbl_80006DB0 /* 80006DAC 00002BEC 38 C6 00 01 */ addi r6, r6, 0x1 .global lbl_80006DB0 lbl_80006DB0: /* 80006DB0 00002BF0 38 E7 00 01 */ addi r7, r7, 0x1 .global lbl_80006DB4 lbl_80006DB4: /* 80006DB4 00002BF4 88 06 00 00 */ lbz r0, 0x0(r6) /* 80006DB8 00002BF8 7C 03 07 74 */ extsb r3, r0 /* 80006DBC 00002BFC 2C 03 00 43 */ cmpwi r3, 0x43 /* 80006DC0 00002C00 40 82 00 0C */ bne lbl_80006DCC /* 80006DC4 00002C04 38 60 00 00 */ li r3, 0x0 /* 80006DC8 00002C08 4E 80 00 20 */ blr .global lbl_80006DCC lbl_80006DCC: /* 80006DCC 00002C0C 88 07 00 00 */ lbz r0, 0x0(r7) /* 80006DD0 00002C10 2C 00 00 56 */ cmpwi r0, 0x56 /* 80006DD4 00002C14 40 82 00 14 */ bne lbl_80006DE8 /* 80006DD8 00002C18 2C 03 00 56 */ cmpwi r3, 0x56 /* 80006DDC 00002C1C 40 82 00 08 */ bne lbl_80006DE4 /* 80006DE0 00002C20 38 C6 00 01 */ addi r6, r6, 0x1 .global lbl_80006DE4 lbl_80006DE4: /* 80006DE4 00002C24 38 E7 00 01 */ addi r7, r7, 0x1 .global lbl_80006DE8 lbl_80006DE8: /* 80006DE8 00002C28 88 06 00 00 */ lbz r0, 0x0(r6) /* 80006DEC 00002C2C 2C 00 00 56 */ cmpwi r0, 0x56 /* 80006DF0 00002C30 40 82 00 0C */ bne lbl_80006DFC /* 80006DF4 00002C34 38 60 00 00 */ li r3, 0x0 /* 80006DF8 00002C38 4E 80 00 20 */ blr .global lbl_80006DFC lbl_80006DFC: /* 80006DFC 00002C3C 88 66 00 00 */ lbz r3, 0x0(r6) /* 80006E00 00002C40 7C 60 07 74 */ extsb r0, r3 /* 80006E04 00002C44 2C 00 00 50 */ cmpwi r0, 0x50 /* 80006E08 00002C48 41 82 00 0C */ beq lbl_80006E14 /* 80006E0C 00002C4C 2C 00 00 52 */ cmpwi r0, 0x52 /* 80006E10 00002C50 40 82 00 34 */ bne lbl_80006E44 .global lbl_80006E14 lbl_80006E14: /* 80006E14 00002C54 88 07 00 00 */ lbz r0, 0x0(r7) /* 80006E18 00002C58 7C 63 07 74 */ extsb r3, r3 /* 80006E1C 00002C5C 7C 00 07 74 */ extsb r0, r0 /* 80006E20 00002C60 7C 03 00 00 */ cmpw r3, r0 /* 80006E24 00002C64 41 82 FF 6C */ beq lbl_80006D90 /* 80006E28 00002C68 48 00 00 1C */ b lbl_80006E44 .global lbl_80006E2C lbl_80006E2C: /* 80006E2C 00002C6C 7C 80 07 75 */ extsb. r0, r4 /* 80006E30 00002C70 40 82 00 0C */ bne lbl_80006E3C /* 80006E34 00002C74 38 60 00 01 */ li r3, 0x1 /* 80006E38 00002C78 4E 80 00 20 */ blr .global lbl_80006E3C lbl_80006E3C: /* 80006E3C 00002C7C 38 C6 00 01 */ addi r6, r6, 0x1 /* 80006E40 00002C80 38 E7 00 01 */ addi r7, r7, 0x1 .global lbl_80006E44 lbl_80006E44: /* 80006E44 00002C84 88 86 00 00 */ lbz r4, 0x0(r6) /* 80006E48 00002C88 88 07 00 00 */ lbz r0, 0x0(r7) /* 80006E4C 00002C8C 7C 83 07 74 */ extsb r3, r4 /* 80006E50 00002C90 7C 00 07 74 */ extsb r0, r0 /* 80006E54 00002C94 7C 03 00 00 */ cmpw r3, r0 /* 80006E58 00002C98 41 82 FF D4 */ beq lbl_80006E2C /* 80006E5C 00002C9C 38 60 00 00 */ li r3, 0x0 /* 80006E60 00002CA0 4E 80 00 20 */ blr .global __construct_new_array __construct_new_array: /* 80006E64 00002CA4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80006E68 00002CA8 7C 08 02 A6 */ mflr r0 /* 80006E6C 00002CAC 2C 03 00 00 */ cmpwi r3, 0x0 /* 80006E70 00002CB0 90 01 00 44 */ stw r0, 0x44(r1) /* 80006E74 00002CB4 BF 61 00 2C */ stmw r27, 0x2c(r1) /* 80006E78 00002CB8 7C 7E 1B 78 */ mr r30, r3 /* 80006E7C 00002CBC 7C 9B 23 78 */ mr r27, r4 /* 80006E80 00002CC0 7C DC 33 78 */ mr r28, r6 /* 80006E84 00002CC4 7C FD 3B 78 */ mr r29, r7 /* 80006E88 00002CC8 41 82 00 C8 */ beq lbl_80006F50 /* 80006E8C 00002CCC 2C 04 00 00 */ cmpwi r4, 0x0 /* 80006E90 00002CD0 90 C3 00 00 */ stw r6, 0x0(r3) /* 80006E94 00002CD4 3B C3 00 10 */ addi r30, r3, 0x10 /* 80006E98 00002CD8 90 E3 00 04 */ stw r7, 0x4(r3) /* 80006E9C 00002CDC 41 82 00 B4 */ beq lbl_80006F50 /* 80006EA0 00002CE0 38 00 00 00 */ li r0, 0x0 /* 80006EA4 00002CE4 93 C1 00 08 */ stw r30, 0x8(r1) /* 80006EA8 00002CE8 7F DF F3 78 */ mr r31, r30 /* 80006EAC 00002CEC 90 C1 00 0C */ stw r6, 0xc(r1) /* 80006EB0 00002CF0 90 E1 00 10 */ stw r7, 0x10(r1) /* 80006EB4 00002CF4 90 A1 00 14 */ stw r5, 0x14(r1) /* 80006EB8 00002CF8 90 01 00 18 */ stw r0, 0x18(r1) /* 80006EBC 00002CFC 48 00 00 28 */ b lbl_80006EE4 .global lbl_80006EC0 lbl_80006EC0: /* 80006EC0 00002D00 7F 6C DB 78 */ mr r12, r27 /* 80006EC4 00002D04 7F E3 FB 78 */ mr r3, r31 /* 80006EC8 00002D08 38 80 00 01 */ li r4, 0x1 /* 80006ECC 00002D0C 7D 89 03 A6 */ mtctr r12 /* 80006ED0 00002D10 4E 80 04 21 */ bctrl /* 80006ED4 00002D14 80 61 00 18 */ lwz r3, 0x18(r1) /* 80006ED8 00002D18 7F FF E2 14 */ add r31, r31, r28 /* 80006EDC 00002D1C 38 03 00 01 */ addi r0, r3, 0x1 /* 80006EE0 00002D20 90 01 00 18 */ stw r0, 0x18(r1) .global lbl_80006EE4 lbl_80006EE4: /* 80006EE4 00002D24 80 81 00 18 */ lwz r4, 0x18(r1) /* 80006EE8 00002D28 7C 04 E8 40 */ cmplw r4, r29 /* 80006EEC 00002D2C 41 80 FF D4 */ blt lbl_80006EC0 /* 80006EF0 00002D30 80 01 00 10 */ lwz r0, 0x10(r1) /* 80006EF4 00002D34 7C 04 00 40 */ cmplw r4, r0 /* 80006EF8 00002D38 40 80 00 58 */ bge lbl_80006F50 /* 80006EFC 00002D3C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80006F00 00002D40 2C 00 00 00 */ cmpwi r0, 0x0 /* 80006F04 00002D44 41 82 00 4C */ beq lbl_80006F50 /* 80006F08 00002D48 80 01 00 0C */ lwz r0, 0xc(r1) /* 80006F0C 00002D4C 80 61 00 08 */ lwz r3, 0x8(r1) /* 80006F10 00002D50 7C 00 21 D6 */ mullw r0, r0, r4 /* 80006F14 00002D54 7F E3 02 14 */ add r31, r3, r0 /* 80006F18 00002D58 48 00 00 2C */ b lbl_80006F44 .global lbl_80006F1C lbl_80006F1C: /* 80006F1C 00002D5C 80 01 00 0C */ lwz r0, 0xc(r1) /* 80006F20 00002D60 38 80 FF FF */ li r4, -0x1 /* 80006F24 00002D64 81 81 00 14 */ lwz r12, 0x14(r1) /* 80006F28 00002D68 7F E0 F8 50 */ subf r31, r0, r31 /* 80006F2C 00002D6C 7F E3 FB 78 */ mr r3, r31 /* 80006F30 00002D70 7D 89 03 A6 */ mtctr r12 /* 80006F34 00002D74 4E 80 04 21 */ bctrl /* 80006F38 00002D78 80 61 00 18 */ lwz r3, 0x18(r1) /* 80006F3C 00002D7C 38 03 FF FF */ addi r0, r3, -0x1 /* 80006F40 00002D80 90 01 00 18 */ stw r0, 0x18(r1) .global lbl_80006F44 lbl_80006F44: /* 80006F44 00002D84 80 01 00 18 */ lwz r0, 0x18(r1) /* 80006F48 00002D88 2C 00 00 00 */ cmpwi r0, 0x0 /* 80006F4C 00002D8C 40 82 FF D0 */ bne lbl_80006F1C .global lbl_80006F50 lbl_80006F50: /* 80006F50 00002D90 7F C3 F3 78 */ mr r3, r30 /* 80006F54 00002D94 BB 61 00 2C */ lmw r27, 0x2c(r1) /* 80006F58 00002D98 80 01 00 44 */ lwz r0, 0x44(r1) /* 80006F5C 00002D9C 7C 08 03 A6 */ mtlr r0 /* 80006F60 00002DA0 38 21 00 40 */ addi r1, r1, 0x40 /* 80006F64 00002DA4 4E 80 00 20 */ blr .global __dt__26__partial_array_destructorFv __dt__26__partial_array_destructorFv: /* 80006F68 00002DA8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80006F6C 00002DAC 7C 08 02 A6 */ mflr r0 /* 80006F70 00002DB0 2C 03 00 00 */ cmpwi r3, 0x0 /* 80006F74 00002DB4 90 01 00 24 */ stw r0, 0x24(r1) /* 80006F78 00002DB8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80006F7C 00002DBC 93 C1 00 18 */ stw r30, 0x18(r1) /* 80006F80 00002DC0 7C 9E 23 78 */ mr r30, r4 /* 80006F84 00002DC4 93 A1 00 14 */ stw r29, 0x14(r1) /* 80006F88 00002DC8 7C 7D 1B 78 */ mr r29, r3 /* 80006F8C 00002DCC 41 82 00 78 */ beq lbl_80007004 /* 80006F90 00002DD0 80 83 00 10 */ lwz r4, 0x10(r3) /* 80006F94 00002DD4 80 03 00 08 */ lwz r0, 0x8(r3) /* 80006F98 00002DD8 7C 04 00 40 */ cmplw r4, r0 /* 80006F9C 00002DDC 40 80 00 58 */ bge lbl_80006FF4 /* 80006FA0 00002DE0 80 03 00 0C */ lwz r0, 0xc(r3) /* 80006FA4 00002DE4 2C 00 00 00 */ cmpwi r0, 0x0 /* 80006FA8 00002DE8 41 82 00 4C */ beq lbl_80006FF4 /* 80006FAC 00002DEC 80 03 00 04 */ lwz r0, 0x4(r3) /* 80006FB0 00002DF0 80 63 00 00 */ lwz r3, 0x0(r3) /* 80006FB4 00002DF4 7C 00 21 D6 */ mullw r0, r0, r4 /* 80006FB8 00002DF8 7F E3 02 14 */ add r31, r3, r0 /* 80006FBC 00002DFC 48 00 00 2C */ b lbl_80006FE8 .global lbl_80006FC0 lbl_80006FC0: /* 80006FC0 00002E00 80 1D 00 04 */ lwz r0, 0x4(r29) /* 80006FC4 00002E04 38 80 FF FF */ li r4, -0x1 /* 80006FC8 00002E08 81 9D 00 0C */ lwz r12, 0xc(r29) /* 80006FCC 00002E0C 7F E0 F8 50 */ subf r31, r0, r31 /* 80006FD0 00002E10 7F E3 FB 78 */ mr r3, r31 /* 80006FD4 00002E14 7D 89 03 A6 */ mtctr r12 /* 80006FD8 00002E18 4E 80 04 21 */ bctrl /* 80006FDC 00002E1C 80 7D 00 10 */ lwz r3, 0x10(r29) /* 80006FE0 00002E20 38 03 FF FF */ addi r0, r3, -0x1 /* 80006FE4 00002E24 90 1D 00 10 */ stw r0, 0x10(r29) .global lbl_80006FE8 lbl_80006FE8: /* 80006FE8 00002E28 80 1D 00 10 */ lwz r0, 0x10(r29) /* 80006FEC 00002E2C 2C 00 00 00 */ cmpwi r0, 0x0 /* 80006FF0 00002E30 40 82 FF D0 */ bne lbl_80006FC0 .global lbl_80006FF4 lbl_80006FF4: /* 80006FF4 00002E34 2C 1E 00 00 */ cmpwi r30, 0x0 /* 80006FF8 00002E38 40 81 00 0C */ ble lbl_80007004 /* 80006FFC 00002E3C 7F A3 EB 78 */ mr r3, r29 /* 80007000 00002E40 48 1B 87 15 */ bl __dl__FPv .global lbl_80007004 lbl_80007004: /* 80007004 00002E44 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80007008 00002E48 7F A3 EB 78 */ mr r3, r29 /* 8000700C 00002E4C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80007010 00002E50 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80007014 00002E54 80 01 00 24 */ lwz r0, 0x24(r1) /* 80007018 00002E58 7C 08 03 A6 */ mtlr r0 /* 8000701C 00002E5C 38 21 00 20 */ addi r1, r1, 0x20 /* 80007020 00002E60 4E 80 00 20 */ blr .global __construct_array __construct_array: /* 80007024 00002E64 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80007028 00002E68 7C 08 02 A6 */ mflr r0 /* 8000702C 00002E6C 90 01 00 34 */ stw r0, 0x34(r1) /* 80007030 00002E70 38 00 00 00 */ li r0, 0x0 /* 80007034 00002E74 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80007038 00002E78 7C 7F 1B 78 */ mr r31, r3 /* 8000703C 00002E7C 93 C1 00 28 */ stw r30, 0x28(r1) /* 80007040 00002E80 7C FE 3B 78 */ mr r30, r7 /* 80007044 00002E84 93 A1 00 24 */ stw r29, 0x24(r1) /* 80007048 00002E88 7C DD 33 78 */ mr r29, r6 /* 8000704C 00002E8C 93 81 00 20 */ stw r28, 0x20(r1) /* 80007050 00002E90 7C 9C 23 78 */ mr r28, r4 /* 80007054 00002E94 90 61 00 08 */ stw r3, 0x8(r1) /* 80007058 00002E98 90 C1 00 0C */ stw r6, 0xc(r1) /* 8000705C 00002E9C 90 E1 00 10 */ stw r7, 0x10(r1) /* 80007060 00002EA0 90 A1 00 14 */ stw r5, 0x14(r1) /* 80007064 00002EA4 90 01 00 18 */ stw r0, 0x18(r1) /* 80007068 00002EA8 48 00 00 28 */ b lbl_80007090 .global lbl_8000706C lbl_8000706C: /* 8000706C 00002EAC 7F 8C E3 78 */ mr r12, r28 /* 80007070 00002EB0 7F E3 FB 78 */ mr r3, r31 /* 80007074 00002EB4 38 80 00 01 */ li r4, 0x1 /* 80007078 00002EB8 7D 89 03 A6 */ mtctr r12 /* 8000707C 00002EBC 4E 80 04 21 */ bctrl /* 80007080 00002EC0 80 61 00 18 */ lwz r3, 0x18(r1) /* 80007084 00002EC4 7F FF EA 14 */ add r31, r31, r29 /* 80007088 00002EC8 38 03 00 01 */ addi r0, r3, 0x1 /* 8000708C 00002ECC 90 01 00 18 */ stw r0, 0x18(r1) .global lbl_80007090 lbl_80007090: /* 80007090 00002ED0 80 81 00 18 */ lwz r4, 0x18(r1) /* 80007094 00002ED4 7C 04 F0 40 */ cmplw r4, r30 /* 80007098 00002ED8 41 80 FF D4 */ blt lbl_8000706C /* 8000709C 00002EDC 80 01 00 10 */ lwz r0, 0x10(r1) /* 800070A0 00002EE0 7C 04 00 40 */ cmplw r4, r0 /* 800070A4 00002EE4 40 80 00 58 */ bge lbl_800070FC /* 800070A8 00002EE8 80 01 00 14 */ lwz r0, 0x14(r1) /* 800070AC 00002EEC 2C 00 00 00 */ cmpwi r0, 0x0 /* 800070B0 00002EF0 41 82 00 4C */ beq lbl_800070FC /* 800070B4 00002EF4 80 01 00 0C */ lwz r0, 0xc(r1) /* 800070B8 00002EF8 80 61 00 08 */ lwz r3, 0x8(r1) /* 800070BC 00002EFC 7C 00 21 D6 */ mullw r0, r0, r4 /* 800070C0 00002F00 7F E3 02 14 */ add r31, r3, r0 /* 800070C4 00002F04 48 00 00 2C */ b lbl_800070F0 .global lbl_800070C8 lbl_800070C8: /* 800070C8 00002F08 80 01 00 0C */ lwz r0, 0xc(r1) /* 800070CC 00002F0C 38 80 FF FF */ li r4, -0x1 /* 800070D0 00002F10 81 81 00 14 */ lwz r12, 0x14(r1) /* 800070D4 00002F14 7F E0 F8 50 */ subf r31, r0, r31 /* 800070D8 00002F18 7F E3 FB 78 */ mr r3, r31 /* 800070DC 00002F1C 7D 89 03 A6 */ mtctr r12 /* 800070E0 00002F20 4E 80 04 21 */ bctrl /* 800070E4 00002F24 80 61 00 18 */ lwz r3, 0x18(r1) /* 800070E8 00002F28 38 03 FF FF */ addi r0, r3, -0x1 /* 800070EC 00002F2C 90 01 00 18 */ stw r0, 0x18(r1) .global lbl_800070F0 lbl_800070F0: /* 800070F0 00002F30 80 01 00 18 */ lwz r0, 0x18(r1) /* 800070F4 00002F34 2C 00 00 00 */ cmpwi r0, 0x0 /* 800070F8 00002F38 40 82 FF D0 */ bne lbl_800070C8 .global lbl_800070FC lbl_800070FC: /* 800070FC 00002F3C 80 01 00 34 */ lwz r0, 0x34(r1) /* 80007100 00002F40 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80007104 00002F44 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80007108 00002F48 83 A1 00 24 */ lwz r29, 0x24(r1) /* 8000710C 00002F4C 83 81 00 20 */ lwz r28, 0x20(r1) /* 80007110 00002F50 7C 08 03 A6 */ mtlr r0 /* 80007114 00002F54 38 21 00 30 */ addi r1, r1, 0x30 /* 80007118 00002F58 4E 80 00 20 */ blr .global __destroy_arr __destroy_arr: /* 8000711C 00002F5C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80007120 00002F60 7C 08 02 A6 */ mflr r0 /* 80007124 00002F64 90 01 00 24 */ stw r0, 0x24(r1) /* 80007128 00002F68 7C 05 31 D6 */ mullw r0, r5, r6 /* 8000712C 00002F6C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80007130 00002F70 93 C1 00 18 */ stw r30, 0x18(r1) /* 80007134 00002F74 7C DE 33 78 */ mr r30, r6 /* 80007138 00002F78 7F E3 02 14 */ add r31, r3, r0 /* 8000713C 00002F7C 93 A1 00 14 */ stw r29, 0x14(r1) /* 80007140 00002F80 7C BD 2B 78 */ mr r29, r5 /* 80007144 00002F84 93 81 00 10 */ stw r28, 0x10(r1) /* 80007148 00002F88 7C 9C 23 78 */ mr r28, r4 /* 8000714C 00002F8C 48 00 00 20 */ b lbl_8000716C .global lbl_80007150 lbl_80007150: /* 80007150 00002F90 7F FD F8 50 */ subf r31, r29, r31 /* 80007154 00002F94 7F 8C E3 78 */ mr r12, r28 /* 80007158 00002F98 7F E3 FB 78 */ mr r3, r31 /* 8000715C 00002F9C 38 80 FF FF */ li r4, -0x1 /* 80007160 00002FA0 7D 89 03 A6 */ mtctr r12 /* 80007164 00002FA4 4E 80 04 21 */ bctrl /* 80007168 00002FA8 3B DE FF FF */ addi r30, r30, -0x1 .global lbl_8000716C lbl_8000716C: /* 8000716C 00002FAC 2C 1E 00 00 */ cmpwi r30, 0x0 /* 80007170 00002FB0 40 82 FF E0 */ bne lbl_80007150 /* 80007174 00002FB4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80007178 00002FB8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8000717C 00002FBC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80007180 00002FC0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80007184 00002FC4 83 81 00 10 */ lwz r28, 0x10(r1) /* 80007188 00002FC8 7C 08 03 A6 */ mtlr r0 /* 8000718C 00002FCC 38 21 00 20 */ addi r1, r1, 0x20 /* 80007190 00002FD0 4E 80 00 20 */ blr .include "macros.inc" .section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0 .global thandler__3std thandler__3std: .4byte dthandler__3stdFv .global uhandler__3std uhandler__3std: .4byte duhandler__3stdFv