Files
tp/include/m_Do/m_Do_MemCard/asm/func_80016AB0.s
T
2021-01-31 16:16:06 -05:00

48 lines
2.2 KiB
ArmAsm

/* 80016AB0 000139F0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80016AB4 000139F4 7C 08 02 A6 */ mflr r0
/* 80016AB8 000139F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80016ABC 000139FC 39 61 00 20 */ addi r11, r1, 0x20
/* 80016AC0 00013A00 48 34 B7 15 */ bl _savegpr_27
/* 80016AC4 00013A04 7C 7B 1B 78 */ mr r27, r3
/* 80016AC8 00013A08 7C 9C 23 78 */ mr r28, r4
/* 80016ACC 00013A0C 7C BD 2B 78 */ mr r29, r5
/* 80016AD0 00013A10 7C DE 33 78 */ mr r30, r6
/* 80016AD4 00013A14 3B E0 00 00 */ li r31, 0
/* 80016AD8 00013A18 80 03 1F C8 */ lwz r0, 0x1fc8(r3)
/* 80016ADC 00013A1C 2C 00 00 00 */ cmpwi r0, 0
/* 80016AE0 00013A20 40 82 00 0C */ bne lbl_80016AEC
/* 80016AE4 00013A24 38 60 00 00 */ li r3, 0
/* 80016AE8 00013A28 48 00 00 58 */ b lbl_80016B40
lbl_80016AEC:
/* 80016AEC 00013A2C 38 7B 1F CC */ addi r3, r27, 0x1fcc
/* 80016AF0 00013A30 48 32 87 65 */ bl OSTryLockMutex
/* 80016AF4 00013A34 2C 03 00 00 */ cmpwi r3, 0
/* 80016AF8 00013A38 41 82 00 44 */ beq lbl_80016B3C
/* 80016AFC 00013A3C 80 1B 1F C4 */ lwz r0, 0x1fc4(r27)
/* 80016B00 00013A40 2C 00 00 03 */ cmpwi r0, 3
/* 80016B04 00013A44 40 82 00 24 */ bne lbl_80016B28
/* 80016B08 00013A48 7F 83 E3 78 */ mr r3, r28
/* 80016B0C 00013A4C 7C 9B F2 14 */ add r4, r27, r30
/* 80016B10 00013A50 7F A5 EB 78 */ mr r5, r29
/* 80016B14 00013A54 4B FE CA 2D */ bl memcpy
/* 80016B18 00013A58 38 00 00 01 */ li r0, 1
/* 80016B1C 00013A5C 90 1B 1F C4 */ stw r0, 0x1fc4(r27)
/* 80016B20 00013A60 3B E0 00 01 */ li r31, 1
/* 80016B24 00013A64 48 00 00 10 */ b lbl_80016B34
lbl_80016B28:
/* 80016B28 00013A68 38 00 00 02 */ li r0, 2
/* 80016B2C 00013A6C 90 1B 1F C4 */ stw r0, 0x1fc4(r27)
/* 80016B30 00013A70 3B E0 00 02 */ li r31, 2
lbl_80016B34:
/* 80016B34 00013A74 38 7B 1F CC */ addi r3, r27, 0x1fcc
/* 80016B38 00013A78 48 32 85 E5 */ bl OSUnlockMutex
lbl_80016B3C:
/* 80016B3C 00013A7C 7F E3 FB 78 */ mr r3, r31
lbl_80016B40:
/* 80016B40 00013A80 39 61 00 20 */ addi r11, r1, 0x20
/* 80016B44 00013A84 48 34 B6 DD */ bl _restgpr_27
/* 80016B48 00013A88 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80016B4C 00013A8C 7C 08 03 A6 */ mtlr r0
/* 80016B50 00013A90 38 21 00 20 */ addi r1, r1, 0x20
/* 80016B54 00013A94 4E 80 00 20 */ blr