mirror of https://github.com/zeldaret/tp.git
149 lines
5.8 KiB
ArmAsm
149 lines
5.8 KiB
ArmAsm
lbl_802A8CDC:
|
|
/* 802A8CDC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 802A8CE0 7C 08 02 A6 */ mflr r0
|
|
/* 802A8CE4 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 802A8CE8 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 802A8CEC 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 802A8CF0 80 E3 00 18 */ lwz r7, 0x18(r3)
|
|
/* 802A8CF4 28 07 00 00 */ cmplwi r7, 0
|
|
/* 802A8CF8 40 82 00 10 */ bne lbl_802A8D08
|
|
/* 802A8CFC 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */
|
|
/* 802A8D00 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */
|
|
/* 802A8D04 48 00 01 A4 */ b lbl_802A8EA8
|
|
lbl_802A8D08:
|
|
/* 802A8D08 38 00 FF FF */ li r0, -1
|
|
/* 802A8D0C 90 01 00 08 */ stw r0, 8(r1)
|
|
/* 802A8D10 39 00 00 01 */ li r8, 1
|
|
/* 802A8D14 88 07 00 0B */ lbz r0, 0xb(r7)
|
|
/* 802A8D18 2C 00 00 02 */ cmpwi r0, 2
|
|
/* 802A8D1C 41 82 00 64 */ beq lbl_802A8D80
|
|
/* 802A8D20 40 80 00 14 */ bge lbl_802A8D34
|
|
/* 802A8D24 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 802A8D28 41 82 00 1C */ beq lbl_802A8D44
|
|
/* 802A8D2C 40 80 00 2C */ bge lbl_802A8D58
|
|
/* 802A8D30 48 00 00 AC */ b lbl_802A8DDC
|
|
lbl_802A8D34:
|
|
/* 802A8D34 2C 00 00 04 */ cmpwi r0, 4
|
|
/* 802A8D38 41 82 00 90 */ beq lbl_802A8DC8
|
|
/* 802A8D3C 40 80 00 A0 */ bge lbl_802A8DDC
|
|
/* 802A8D40 48 00 00 60 */ b lbl_802A8DA0
|
|
lbl_802A8D44:
|
|
/* 802A8D44 28 05 00 00 */ cmplwi r5, 0
|
|
/* 802A8D48 41 82 00 08 */ beq lbl_802A8D50
|
|
/* 802A8D4C 39 00 00 00 */ li r8, 0
|
|
lbl_802A8D50:
|
|
/* 802A8D50 90 81 00 08 */ stw r4, 8(r1)
|
|
/* 802A8D54 48 00 00 94 */ b lbl_802A8DE8
|
|
lbl_802A8D58:
|
|
/* 802A8D58 3C E0 01 00 */ lis r7, 0x0100 /* 0x00FFFFFF@ha */
|
|
/* 802A8D5C 38 07 FF FF */ addi r0, r7, 0xFFFF /* 0x00FFFFFF@l */
|
|
/* 802A8D60 7C 04 00 40 */ cmplw r4, r0
|
|
/* 802A8D64 41 81 00 0C */ bgt lbl_802A8D70
|
|
/* 802A8D68 28 05 00 FF */ cmplwi r5, 0xff
|
|
/* 802A8D6C 40 81 00 08 */ ble lbl_802A8D74
|
|
lbl_802A8D70:
|
|
/* 802A8D70 39 00 00 00 */ li r8, 0
|
|
lbl_802A8D74:
|
|
/* 802A8D74 50 85 40 2E */ rlwimi r5, r4, 8, 0, 0x17
|
|
/* 802A8D78 90 A1 00 08 */ stw r5, 8(r1)
|
|
/* 802A8D7C 48 00 00 6C */ b lbl_802A8DE8
|
|
lbl_802A8D80:
|
|
/* 802A8D80 28 04 FF FF */ cmplwi r4, 0xffff
|
|
/* 802A8D84 41 81 00 0C */ bgt lbl_802A8D90
|
|
/* 802A8D88 28 05 FF FF */ cmplwi r5, 0xffff
|
|
/* 802A8D8C 40 81 00 08 */ ble lbl_802A8D94
|
|
lbl_802A8D90:
|
|
/* 802A8D90 39 00 00 00 */ li r8, 0
|
|
lbl_802A8D94:
|
|
/* 802A8D94 50 85 80 1E */ rlwimi r5, r4, 0x10, 0, 0xf
|
|
/* 802A8D98 90 A1 00 08 */ stw r5, 8(r1)
|
|
/* 802A8D9C 48 00 00 4C */ b lbl_802A8DE8
|
|
lbl_802A8DA0:
|
|
/* 802A8DA0 28 04 00 FF */ cmplwi r4, 0xff
|
|
/* 802A8DA4 41 81 00 14 */ bgt lbl_802A8DB8
|
|
/* 802A8DA8 3C E0 01 00 */ lis r7, 0x0100 /* 0x00FFFFFF@ha */
|
|
/* 802A8DAC 38 07 FF FF */ addi r0, r7, 0xFFFF /* 0x00FFFFFF@l */
|
|
/* 802A8DB0 7C 05 00 40 */ cmplw r5, r0
|
|
/* 802A8DB4 40 81 00 08 */ ble lbl_802A8DBC
|
|
lbl_802A8DB8:
|
|
/* 802A8DB8 39 00 00 00 */ li r8, 0
|
|
lbl_802A8DBC:
|
|
/* 802A8DBC 50 85 C0 0E */ rlwimi r5, r4, 0x18, 0, 7
|
|
/* 802A8DC0 90 A1 00 08 */ stw r5, 8(r1)
|
|
/* 802A8DC4 48 00 00 24 */ b lbl_802A8DE8
|
|
lbl_802A8DC8:
|
|
/* 802A8DC8 28 04 00 00 */ cmplwi r4, 0
|
|
/* 802A8DCC 41 82 00 08 */ beq lbl_802A8DD4
|
|
/* 802A8DD0 39 00 00 00 */ li r8, 0
|
|
lbl_802A8DD4:
|
|
/* 802A8DD4 90 A1 00 08 */ stw r5, 8(r1)
|
|
/* 802A8DD8 48 00 00 10 */ b lbl_802A8DE8
|
|
lbl_802A8DDC:
|
|
/* 802A8DDC 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */
|
|
/* 802A8DE0 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */
|
|
/* 802A8DE4 48 00 00 C4 */ b lbl_802A8EA8
|
|
lbl_802A8DE8:
|
|
/* 802A8DE8 28 06 00 00 */ cmplwi r6, 0
|
|
/* 802A8DEC 41 82 00 08 */ beq lbl_802A8DF4
|
|
/* 802A8DF0 99 06 00 00 */ stb r8, 0(r6)
|
|
lbl_802A8DF4:
|
|
/* 802A8DF4 80 81 00 08 */ lwz r4, 8(r1)
|
|
/* 802A8DF8 3C 04 00 01 */ addis r0, r4, 1
|
|
/* 802A8DFC 28 00 FF FF */ cmplwi r0, 0xffff
|
|
/* 802A8E00 40 82 00 10 */ bne lbl_802A8E10
|
|
/* 802A8E04 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */
|
|
/* 802A8E08 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */
|
|
/* 802A8E0C 48 00 00 9C */ b lbl_802A8EA8
|
|
lbl_802A8E10:
|
|
/* 802A8E10 80 63 00 18 */ lwz r3, 0x18(r3)
|
|
/* 802A8E14 A0 03 00 08 */ lhz r0, 8(r3)
|
|
/* 802A8E18 3B E3 00 10 */ addi r31, r3, 0x10
|
|
/* 802A8E1C 54 00 10 3A */ slwi r0, r0, 2
|
|
/* 802A8E20 7F DF 02 14 */ add r30, r31, r0
|
|
/* 802A8E24 88 03 00 0A */ lbz r0, 0xa(r3)
|
|
/* 802A8E28 54 00 06 37 */ rlwinm. r0, r0, 0, 0x18, 0x1b
|
|
/* 802A8E2C 41 82 00 38 */ beq lbl_802A8E64
|
|
/* 802A8E30 7F E3 FB 78 */ mr r3, r31
|
|
/* 802A8E34 7F C4 F3 78 */ mr r4, r30
|
|
/* 802A8E38 38 A1 00 08 */ addi r5, r1, 8
|
|
/* 802A8E3C 48 00 06 99 */ bl func_802A94D4
|
|
/* 802A8E40 7C 03 F0 40 */ cmplw r3, r30
|
|
/* 802A8E44 41 82 00 14 */ beq lbl_802A8E58
|
|
/* 802A8E48 80 83 00 00 */ lwz r4, 0(r3)
|
|
/* 802A8E4C 80 01 00 08 */ lwz r0, 8(r1)
|
|
/* 802A8E50 7C 04 00 40 */ cmplw r4, r0
|
|
/* 802A8E54 41 82 00 44 */ beq lbl_802A8E98
|
|
lbl_802A8E58:
|
|
/* 802A8E58 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */
|
|
/* 802A8E5C 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */
|
|
/* 802A8E60 48 00 00 48 */ b lbl_802A8EA8
|
|
lbl_802A8E64:
|
|
/* 802A8E64 7F E3 FB 78 */ mr r3, r31
|
|
/* 802A8E68 48 00 00 08 */ b lbl_802A8E70
|
|
lbl_802A8E6C:
|
|
/* 802A8E6C 38 63 00 04 */ addi r3, r3, 4
|
|
lbl_802A8E70:
|
|
/* 802A8E70 7C 03 F0 40 */ cmplw r3, r30
|
|
/* 802A8E74 41 82 00 10 */ beq lbl_802A8E84
|
|
/* 802A8E78 80 03 00 00 */ lwz r0, 0(r3)
|
|
/* 802A8E7C 7C 00 20 40 */ cmplw r0, r4
|
|
/* 802A8E80 40 82 FF EC */ bne lbl_802A8E6C
|
|
lbl_802A8E84:
|
|
/* 802A8E84 7C 03 F0 40 */ cmplw r3, r30
|
|
/* 802A8E88 40 82 00 10 */ bne lbl_802A8E98
|
|
/* 802A8E8C 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */
|
|
/* 802A8E90 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */
|
|
/* 802A8E94 48 00 00 14 */ b lbl_802A8EA8
|
|
lbl_802A8E98:
|
|
/* 802A8E98 7C 1F 18 50 */ subf r0, r31, r3
|
|
/* 802A8E9C 7C 00 16 70 */ srawi r0, r0, 2
|
|
/* 802A8EA0 7C 00 01 94 */ addze r0, r0
|
|
/* 802A8EA4 54 03 04 3E */ clrlwi r3, r0, 0x10
|
|
lbl_802A8EA8:
|
|
/* 802A8EA8 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 802A8EAC 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 802A8EB0 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 802A8EB4 7C 08 03 A6 */ mtlr r0
|
|
/* 802A8EB8 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 802A8EBC 4E 80 00 20 */ blr
|