donut-decomp/asm/homebuttonLib/lyt_group.s

282 lines
13 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __ct__Q36nw4hbm3lyt5GroupFPCQ46nw4hbm3lyt3res5GroupPQ36nw4hbm3lyt4Pane
__ct__Q36nw4hbm3lyt5GroupFPCQ46nw4hbm3lyt3res5GroupPQ36nw4hbm3lyt4Pane:
/* 801368D0 00132710 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 801368D4 00132714 7C 08 02 A6 */ mflr r0
/* 801368D8 00132718 90 01 00 44 */ stw r0, 0x44(r1)
/* 801368DC 0013271C 39 61 00 40 */ addi r11, r1, 0x40
/* 801368E0 00132720 4B ED 0A 4D */ bl lbl_8000732C
/* 801368E4 00132724 3C C0 80 44 */ lis r6, __vt__Q36nw4hbm3lyt5Group@ha
/* 801368E8 00132728 3B A0 00 00 */ li r29, 0x0
/* 801368EC 0013272C 38 03 00 10 */ addi r0, r3, 0x10
/* 801368F0 00132730 93 A3 00 04 */ stw r29, 0x4(r3)
/* 801368F4 00132734 38 C6 3F 98 */ addi r6, r6, __vt__Q36nw4hbm3lyt5Group@l
/* 801368F8 00132738 7C 98 23 78 */ mr r24, r4
/* 801368FC 0013273C 7C B9 2B 78 */ mr r25, r5
/* 80136900 00132740 90 C3 00 00 */ stw r6, 0x0(r3)
/* 80136904 00132744 7C 77 1B 78 */ mr r23, r3
/* 80136908 00132748 38 A0 00 10 */ li r5, 0x10
/* 8013690C 0013274C 93 A3 00 08 */ stw r29, 0x8(r3)
/* 80136910 00132750 38 84 00 08 */ addi r4, r4, 0x8
/* 80136914 00132754 93 A3 00 0C */ stw r29, 0xc(r3)
/* 80136918 00132758 90 03 00 10 */ stw r0, 0x10(r3)
/* 8013691C 0013275C 90 03 00 14 */ stw r0, 0x14(r3)
/* 80136920 00132760 9B A3 00 28 */ stb r29, 0x28(r3)
/* 80136924 00132764 38 63 00 18 */ addi r3, r3, 0x18
/* 80136928 00132768 4B EC D6 D9 */ bl memcpy
/* 8013692C 0013276C 3B 78 00 1C */ addi r27, r24, 0x1c
/* 80136930 00132770 3B 40 00 00 */ li r26, 0x0
/* 80136934 00132774 3B 80 00 00 */ li r28, 0x0
/* 80136938 00132778 3F E0 80 54 */ lis r31, mspAllocator__Q36nw4hbm3lyt6Layout@ha
/* 8013693C 0013277C 48 00 00 70 */ b lbl_801369AC
.global lbl_80136940
lbl_80136940:
/* 80136940 00132780 81 99 00 00 */ lwz r12, 0x0(r25)
/* 80136944 00132784 7F 23 CB 78 */ mr r3, r25
/* 80136948 00132788 7C 9B E2 14 */ add r4, r27, r28
/* 8013694C 0013278C 38 A0 00 01 */ li r5, 0x1
/* 80136950 00132790 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 80136954 00132794 7D 89 03 A6 */ mtctr r12
/* 80136958 00132798 4E 80 04 21 */ bctrl
/* 8013695C 0013279C 2C 03 00 00 */ cmpwi r3, 0x0
/* 80136960 001327A0 7C 7E 1B 78 */ mr r30, r3
/* 80136964 001327A4 41 82 00 40 */ beq lbl_801369A4
/* 80136968 001327A8 80 7F 37 70 */ lwz r3, mspAllocator__Q36nw4hbm3lyt6Layout@l(r31)
/* 8013696C 001327AC 38 80 00 0C */ li r4, 0xc
/* 80136970 001327B0 4B F6 CE 81 */ bl MEMAllocFromAllocator
/* 80136974 001327B4 2C 03 00 00 */ cmpwi r3, 0x0
/* 80136978 001327B8 41 82 00 2C */ beq lbl_801369A4
/* 8013697C 001327BC 7C 65 1B 78 */ mr r5, r3
/* 80136980 001327C0 41 82 00 0C */ beq lbl_8013698C
/* 80136984 001327C4 93 A3 00 00 */ stw r29, 0x0(r3)
/* 80136988 001327C8 93 A3 00 04 */ stw r29, 0x4(r3)
.global lbl_8013698C
lbl_8013698C:
/* 8013698C 001327CC 93 C3 00 08 */ stw r30, 0x8(r3)
/* 80136990 001327D0 38 17 00 10 */ addi r0, r23, 0x10
/* 80136994 001327D4 38 77 00 0C */ addi r3, r23, 0xc
/* 80136998 001327D8 38 81 00 08 */ addi r4, r1, 0x8
/* 8013699C 001327DC 90 01 00 08 */ stw r0, 0x8(r1)
/* 801369A0 001327E0 4B FE 94 11 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
.global lbl_801369A4
lbl_801369A4:
/* 801369A4 001327E4 3B 9C 00 10 */ addi r28, r28, 0x10
/* 801369A8 001327E8 3B 5A 00 01 */ addi r26, r26, 0x1
.global lbl_801369AC
lbl_801369AC:
/* 801369AC 001327EC A0 18 00 18 */ lhz r0, 0x18(r24)
/* 801369B0 001327F0 7C 1A 00 00 */ cmpw r26, r0
/* 801369B4 001327F4 41 80 FF 8C */ blt lbl_80136940
/* 801369B8 001327F8 39 61 00 40 */ addi r11, r1, 0x40
/* 801369BC 001327FC 7E E3 BB 78 */ mr r3, r23
/* 801369C0 00132800 4B ED 09 B9 */ bl lbl_80007378
/* 801369C4 00132804 80 01 00 44 */ lwz r0, 0x44(r1)
/* 801369C8 00132808 7C 08 03 A6 */ mtlr r0
/* 801369CC 0013280C 38 21 00 40 */ addi r1, r1, 0x40
/* 801369D0 00132810 4E 80 00 20 */ blr
/* 801369D4 00132814 00 00 00 00 */ .4byte 0x00000000
/* 801369D8 00132818 00 00 00 00 */ .4byte 0x00000000
/* 801369DC 0013281C 00 00 00 00 */ .4byte 0x00000000
.global __dt__Q36nw4hbm3lyt5GroupFv
__dt__Q36nw4hbm3lyt5GroupFv:
/* 801369E0 00132820 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801369E4 00132824 7C 08 02 A6 */ mflr r0
/* 801369E8 00132828 90 01 00 34 */ stw r0, 0x34(r1)
/* 801369EC 0013282C 39 61 00 30 */ addi r11, r1, 0x30
/* 801369F0 00132830 4B ED 09 49 */ bl lbl_80007338
/* 801369F4 00132834 2C 03 00 00 */ cmpwi r3, 0x0
/* 801369F8 00132838 7C 7A 1B 78 */ mr r26, r3
/* 801369FC 0013283C 7C 9B 23 78 */ mr r27, r4
/* 80136A00 00132840 41 82 00 6C */ beq lbl_80136A6C
/* 80136A04 00132844 3C 80 80 44 */ lis r4, __vt__Q36nw4hbm3lyt5Group@ha
/* 80136A08 00132848 83 E3 00 10 */ lwz r31, 0x10(r3)
/* 80136A0C 0013284C 38 84 3F 98 */ addi r4, r4, __vt__Q36nw4hbm3lyt5Group@l
/* 80136A10 00132850 90 83 00 00 */ stw r4, 0x0(r3)
/* 80136A14 00132854 3B C3 00 10 */ addi r30, r3, 0x10
/* 80136A18 00132858 3F A0 80 54 */ lis r29, mspAllocator__Q36nw4hbm3lyt6Layout@ha
/* 80136A1C 0013285C 48 00 00 28 */ b lbl_80136A44
.global lbl_80136A20
lbl_80136A20:
/* 80136A20 00132860 7F FC FB 78 */ mr r28, r31
/* 80136A24 00132864 83 FF 00 00 */ lwz r31, 0x0(r31)
/* 80136A28 00132868 38 7A 00 0C */ addi r3, r26, 0xc
/* 80136A2C 0013286C 38 81 00 08 */ addi r4, r1, 0x8
/* 80136A30 00132870 93 81 00 08 */ stw r28, 0x8(r1)
/* 80136A34 00132874 4B FE 92 DD */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
/* 80136A38 00132878 80 7D 37 70 */ lwz r3, mspAllocator__Q36nw4hbm3lyt6Layout@l(r29)
/* 80136A3C 0013287C 7F 84 E3 78 */ mr r4, r28
/* 80136A40 00132880 4B F6 CD C1 */ bl MEMFreeToAllocator
.global lbl_80136A44
lbl_80136A44:
/* 80136A44 00132884 7C 1F F0 40 */ cmplw r31, r30
/* 80136A48 00132888 40 82 FF D8 */ bne lbl_80136A20
/* 80136A4C 0013288C 34 7A 00 0C */ addic. r3, r26, 0xc
/* 80136A50 00132890 41 82 00 0C */ beq lbl_80136A5C
/* 80136A54 00132894 38 80 00 00 */ li r4, 0x0
/* 80136A58 00132898 4B FE 92 29 */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv
.global lbl_80136A5C
lbl_80136A5C:
/* 80136A5C 0013289C 2C 1B 00 00 */ cmpwi r27, 0x0
/* 80136A60 001328A0 40 81 00 0C */ ble lbl_80136A6C
/* 80136A64 001328A4 7F 43 D3 78 */ mr r3, r26
/* 80136A68 001328A8 48 08 8C AD */ bl __dl__FPv
.global lbl_80136A6C
lbl_80136A6C:
/* 80136A6C 001328AC 39 61 00 30 */ addi r11, r1, 0x30
/* 80136A70 001328B0 7F 43 D3 78 */ mr r3, r26
/* 80136A74 001328B4 4B ED 09 11 */ bl lbl_80007384
/* 80136A78 001328B8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80136A7C 001328BC 7C 08 03 A6 */ mtlr r0
/* 80136A80 001328C0 38 21 00 30 */ addi r1, r1, 0x30
/* 80136A84 001328C4 4E 80 00 20 */ blr
/* 80136A88 001328C8 00 00 00 00 */ .4byte 0x00000000
/* 80136A8C 001328CC 00 00 00 00 */ .4byte 0x00000000
.global __dt__Q36nw4hbm3lyt14GroupContainerFv
__dt__Q36nw4hbm3lyt14GroupContainerFv:
/* 80136A90 001328D0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80136A94 001328D4 7C 08 02 A6 */ mflr r0
/* 80136A98 001328D8 90 01 00 34 */ stw r0, 0x34(r1)
/* 80136A9C 001328DC 39 61 00 30 */ addi r11, r1, 0x30
/* 80136AA0 001328E0 4B ED 08 99 */ bl lbl_80007338
/* 80136AA4 001328E4 2C 03 00 00 */ cmpwi r3, 0x0
/* 80136AA8 001328E8 7C 7A 1B 78 */ mr r26, r3
/* 80136AAC 001328EC 7C 9B 23 78 */ mr r27, r4
/* 80136AB0 001328F0 41 82 00 8C */ beq lbl_80136B3C
/* 80136AB4 001328F4 83 E3 00 04 */ lwz r31, 0x4(r3)
/* 80136AB8 001328F8 3B C3 00 04 */ addi r30, r3, 0x4
/* 80136ABC 001328FC 3F A0 80 54 */ lis r29, mspAllocator__Q36nw4hbm3lyt6Layout@ha
/* 80136AC0 00132900 48 00 00 50 */ b lbl_80136B10
.global lbl_80136AC4
lbl_80136AC4:
/* 80136AC4 00132904 7F FC FB 78 */ mr r28, r31
/* 80136AC8 00132908 83 FF 00 00 */ lwz r31, 0x0(r31)
/* 80136ACC 0013290C 7F 43 D3 78 */ mr r3, r26
/* 80136AD0 00132910 38 81 00 08 */ addi r4, r1, 0x8
/* 80136AD4 00132914 93 81 00 08 */ stw r28, 0x8(r1)
/* 80136AD8 00132918 4B FE 92 39 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
/* 80136ADC 0013291C 3B 9C FF FC */ addi r28, r28, -0x4
/* 80136AE0 00132920 88 1C 00 28 */ lbz r0, 0x28(r28)
/* 80136AE4 00132924 2C 00 00 00 */ cmpwi r0, 0x0
/* 80136AE8 00132928 40 82 00 28 */ bne lbl_80136B10
/* 80136AEC 0013292C 81 9C 00 00 */ lwz r12, 0x0(r28)
/* 80136AF0 00132930 7F 83 E3 78 */ mr r3, r28
/* 80136AF4 00132934 38 80 FF FF */ li r4, -0x1
/* 80136AF8 00132938 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 80136AFC 0013293C 7D 89 03 A6 */ mtctr r12
/* 80136B00 00132940 4E 80 04 21 */ bctrl
/* 80136B04 00132944 80 7D 37 70 */ lwz r3, mspAllocator__Q36nw4hbm3lyt6Layout@l(r29)
/* 80136B08 00132948 7F 84 E3 78 */ mr r4, r28
/* 80136B0C 0013294C 4B F6 CC F5 */ bl MEMFreeToAllocator
.global lbl_80136B10
lbl_80136B10:
/* 80136B10 00132950 7C 1F F0 40 */ cmplw r31, r30
/* 80136B14 00132954 40 82 FF B0 */ bne lbl_80136AC4
/* 80136B18 00132958 2C 1A 00 00 */ cmpwi r26, 0x0
/* 80136B1C 0013295C 41 82 00 10 */ beq lbl_80136B2C
/* 80136B20 00132960 7F 43 D3 78 */ mr r3, r26
/* 80136B24 00132964 38 80 00 00 */ li r4, 0x0
/* 80136B28 00132968 4B FE 91 59 */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv
.global lbl_80136B2C
lbl_80136B2C:
/* 80136B2C 0013296C 2C 1B 00 00 */ cmpwi r27, 0x0
/* 80136B30 00132970 40 81 00 0C */ ble lbl_80136B3C
/* 80136B34 00132974 7F 43 D3 78 */ mr r3, r26
/* 80136B38 00132978 48 08 8B DD */ bl __dl__FPv
.global lbl_80136B3C
lbl_80136B3C:
/* 80136B3C 0013297C 39 61 00 30 */ addi r11, r1, 0x30
/* 80136B40 00132980 7F 43 D3 78 */ mr r3, r26
/* 80136B44 00132984 4B ED 08 41 */ bl lbl_80007384
/* 80136B48 00132988 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80136B4C 0013298C 7C 08 03 A6 */ mtlr r0
/* 80136B50 00132990 38 21 00 30 */ addi r1, r1, 0x30
/* 80136B54 00132994 4E 80 00 20 */ blr
/* 80136B58 00132998 00 00 00 00 */ .4byte 0x00000000
/* 80136B5C 0013299C 00 00 00 00 */ .4byte 0x00000000
.global AppendGroup__Q36nw4hbm3lyt14GroupContainerFPQ36nw4hbm3lyt5Group
AppendGroup__Q36nw4hbm3lyt14GroupContainerFPQ36nw4hbm3lyt5Group:
/* 80136B60 001329A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80136B64 001329A4 7C 08 02 A6 */ mflr r0
/* 80136B68 001329A8 7C 85 23 78 */ mr r5, r4
/* 80136B6C 001329AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80136B70 001329B0 38 03 00 04 */ addi r0, r3, 0x4
/* 80136B74 001329B4 38 81 00 08 */ addi r4, r1, 0x8
/* 80136B78 001329B8 38 A5 00 04 */ addi r5, r5, 0x4
/* 80136B7C 001329BC 90 01 00 08 */ stw r0, 0x8(r1)
/* 80136B80 001329C0 4B FE 92 31 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 80136B84 001329C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80136B88 001329C8 7C 08 03 A6 */ mtlr r0
/* 80136B8C 001329CC 38 21 00 10 */ addi r1, r1, 0x10
/* 80136B90 001329D0 4E 80 00 20 */ blr
/* 80136B94 001329D4 00 00 00 00 */ .4byte 0x00000000
/* 80136B98 001329D8 00 00 00 00 */ .4byte 0x00000000
/* 80136B9C 001329DC 00 00 00 00 */ .4byte 0x00000000
.global FindGroupByName__Q36nw4hbm3lyt14GroupContainerFPCc
FindGroupByName__Q36nw4hbm3lyt14GroupContainerFPCc:
/* 80136BA0 001329E0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80136BA4 001329E4 7C 08 02 A6 */ mflr r0
/* 80136BA8 001329E8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80136BAC 001329EC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80136BB0 001329F0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80136BB4 001329F4 3B C3 00 04 */ addi r30, r3, 0x4
/* 80136BB8 001329F8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80136BBC 001329FC 93 81 00 10 */ stw r28, 0x10(r1)
/* 80136BC0 00132A00 7C 9C 23 78 */ mr r28, r4
/* 80136BC4 00132A04 83 E3 00 04 */ lwz r31, 0x4(r3)
/* 80136BC8 00132A08 48 00 00 28 */ b lbl_80136BF0
.global lbl_80136BCC
lbl_80136BCC:
/* 80136BCC 00132A0C 3B BF FF FC */ addi r29, r31, -0x4
/* 80136BD0 00132A10 7F 84 E3 78 */ mr r4, r28
/* 80136BD4 00132A14 38 7D 00 18 */ addi r3, r29, 0x18
/* 80136BD8 00132A18 4B FC 71 69 */ bl EqualsResName__Q34nw4r3lyt6detailFPCcPCc
/* 80136BDC 00132A1C 2C 03 00 00 */ cmpwi r3, 0x0
/* 80136BE0 00132A20 41 82 00 0C */ beq lbl_80136BEC
/* 80136BE4 00132A24 7F A3 EB 78 */ mr r3, r29
/* 80136BE8 00132A28 48 00 00 14 */ b lbl_80136BFC
.global lbl_80136BEC
lbl_80136BEC:
/* 80136BEC 00132A2C 83 FF 00 00 */ lwz r31, 0x0(r31)
.global lbl_80136BF0
lbl_80136BF0:
/* 80136BF0 00132A30 7C 1F F0 40 */ cmplw r31, r30
/* 80136BF4 00132A34 40 82 FF D8 */ bne lbl_80136BCC
/* 80136BF8 00132A38 38 60 00 00 */ li r3, 0x0
.global lbl_80136BFC
lbl_80136BFC:
/* 80136BFC 00132A3C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80136C00 00132A40 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80136C04 00132A44 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80136C08 00132A48 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80136C0C 00132A4C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80136C10 00132A50 7C 08 03 A6 */ mtlr r0
/* 80136C14 00132A54 38 21 00 20 */ addi r1, r1, 0x20
/* 80136C18 00132A58 4E 80 00 20 */ blr
/* 80136C1C 00132A5C 00 00 00 00 */ .4byte 0x00000000
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global __vt__Q36nw4hbm3lyt5Group
__vt__Q36nw4hbm3lyt5Group:
.4byte __RTTI__Q36nw4hbm3lyt5Group
.4byte 0
.4byte __dt__Q36nw4hbm3lyt5GroupFv
.global "@7939"
"@7939":
.4byte 0x6E773468
.4byte 0x626D3A3A
.4byte 0x6C79743A
.4byte 0x3A47726F
.4byte 0x75700000
.global __RTTI__Q36nw4hbm3lyt5Group
__RTTI__Q36nw4hbm3lyt5Group:
.4byte "@7939"
.4byte 0