tp/asm/f/pc/fstcreate/f_pc_fstcreate_req.s

89 lines
3.9 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 80023a48
/* 80023A48 00020988 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80023A4C 0002098C 7C 08 02 A6 */ mflr r0
/* 80023A50 00020990 90 01 00 14 */ stw r0, 0x14(r1)
/* 80023A54 00020994 7C 64 1B 78 */ mr r4, r3
/* 80023A58 00020998 81 83 00 48 */ lwz r12, 0x48(r3)
/* 80023A5C 0002099C 28 0C 00 00 */ cmplwi r12, 0
/* 80023A60 000209A0 41 82 00 24 */ beq lbl_80023A84
/* 80023A64 000209A4 80 64 00 40 */ lwz r3, 0x40(r4)
/* 80023A68 000209A8 80 84 00 4C */ lwz r4, 0x4c(r4)
/* 80023A6C 000209AC 7D 89 03 A6 */ mtctr r12
/* 80023A70 000209B0 4E 80 04 21 */ bctrl
/* 80023A74 000209B4 2C 03 00 00 */ cmpwi r3, 0
/* 80023A78 000209B8 40 82 00 0C */ bne lbl_80023A84
/* 80023A7C 000209BC 38 60 00 03 */ li r3, 3
/* 80023A80 000209C0 48 00 00 08 */ b lbl_80023A88
lbl_80023A84:
/* 80023A84 000209C4 38 60 00 04 */ li r3, 4
lbl_80023A88:
/* 80023A88 000209C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80023A8C 000209CC 7C 08 03 A6 */ mtlr r0
/* 80023A90 000209D0 38 21 00 10 */ addi r1, r1, 0x10
/* 80023A94 000209D4 4E 80 00 20 */ blr
/* 80023A98 000209D8 38 60 00 01 */ li r3, 1
/* 80023A9C 000209DC 4E 80 00 20 */ blr
.global fpcFCtRq_Request
fpcFCtRq_Request:
/* 80023AA0 000209E0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80023AA4 000209E4 7C 08 02 A6 */ mflr r0
/* 80023AA8 000209E8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80023AAC 000209EC 39 61 00 20 */ addi r11, r1, 0x20
/* 80023AB0 000209F0 48 33 E7 21 */ bl _savegpr_26
/* 80023AB4 000209F4 7C 7A 1B 78 */ mr r26, r3
/* 80023AB8 000209F8 7C 9B 23 78 */ mr r27, r4
/* 80023ABC 000209FC 7C BC 2B 78 */ mr r28, r5
/* 80023AC0 00020A00 7C DD 33 78 */ mr r29, r6
/* 80023AC4 00020A04 7C FE 3B 78 */ mr r30, r7
/* 80023AC8 00020A08 7F 63 DB 78 */ mr r3, r27
/* 80023ACC 00020A0C 4B FF E4 ED */ bl fpcLd_Use
/* 80023AD0 00020A10 2C 03 00 00 */ cmpwi r3, 0
/* 80023AD4 00020A14 40 82 00 0C */ bne lbl_80023AE0
/* 80023AD8 00020A18 38 60 00 00 */ li r3, 0
/* 80023ADC 00020A1C 48 00 00 7C */ b lbl_80023B58
lbl_80023AE0:
/* 80023AE0 00020A20 7F 43 D3 78 */ mr r3, r26
/* 80023AE4 00020A24 38 80 00 50 */ li r4, 0x50
/* 80023AE8 00020A28 3C A0 80 3A */ lis r5, lbl_803A3AE0@ha
/* 80023AEC 00020A2C 38 A5 3A E0 */ addi r5, r5, lbl_803A3AE0@l
/* 80023AF0 00020A30 4B FF D2 C1 */ bl fpcCtRq_Create
/* 80023AF4 00020A34 7C 7F 1B 79 */ or. r31, r3, r3
/* 80023AF8 00020A38 41 82 00 5C */ beq lbl_80023B54
/* 80023AFC 00020A3C 7F 43 D3 78 */ mr r3, r26
/* 80023B00 00020A40 4B FF DB ED */ bl fpcLy_SetCurrentLayer
/* 80023B04 00020A44 4B FF CB 99 */ bl fpcBs_MakeOfId
/* 80023B08 00020A48 7C 64 1B 78 */ mr r4, r3
/* 80023B0C 00020A4C 7F 63 DB 78 */ mr r3, r27
/* 80023B10 00020A50 7F C5 F3 78 */ mr r5, r30
/* 80023B14 00020A54 4B FF CD 0D */ bl fpcBs_Create
/* 80023B18 00020A58 7C 7E 1B 79 */ or. r30, r3, r3
/* 80023B1C 00020A5C 41 82 00 30 */ beq lbl_80023B4C
/* 80023B20 00020A60 93 FE 00 14 */ stw r31, 0x14(r30)
/* 80023B24 00020A64 93 DF 00 40 */ stw r30, 0x40(r31)
/* 80023B28 00020A68 80 1E 00 04 */ lwz r0, 4(r30)
/* 80023B2C 00020A6C 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80023B30 00020A70 4B FF CD ED */ bl fpcBs_SubCreate
/* 80023B34 00020A74 2C 03 00 02 */ cmpwi r3, 2
/* 80023B38 00020A78 40 82 00 14 */ bne lbl_80023B4C
/* 80023B3C 00020A7C 93 9F 00 48 */ stw r28, 0x48(r31)
/* 80023B40 00020A80 93 BF 00 4C */ stw r29, 0x4c(r31)
/* 80023B44 00020A84 7F C3 F3 78 */ mr r3, r30
/* 80023B48 00020A88 48 00 00 10 */ b lbl_80023B58
lbl_80023B4C:
/* 80023B4C 00020A8C 7F E3 FB 78 */ mr r3, r31
/* 80023B50 00020A90 4B FF D0 C5 */ bl fpcCtRq_Cancel
lbl_80023B54:
/* 80023B54 00020A94 38 60 00 00 */ li r3, 0
lbl_80023B58:
/* 80023B58 00020A98 39 61 00 20 */ addi r11, r1, 0x20
/* 80023B5C 00020A9C 48 33 E6 C1 */ bl _restgpr_26
/* 80023B60 00020AA0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80023B64 00020AA4 7C 08 03 A6 */ mtlr r0
/* 80023B68 00020AA8 38 21 00 20 */ addi r1, r1, 0x20
/* 80023B6C 00020AAC 4E 80 00 20 */ blr