mirror of https://github.com/zeldaret/tp.git
138 lines
5.6 KiB
ArmAsm
138 lines
5.6 KiB
ArmAsm
lbl_80312BD4:
|
|
/* 80312BD4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80312BD8 7C 08 02 A6 */ mflr r0
|
|
/* 80312BDC 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80312BE0 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80312BE4 48 04 F5 F5 */ bl _savegpr_28
|
|
/* 80312BE8 7C 7D 1B 78 */ mr r29, r3
|
|
/* 80312BEC 7C 9E 23 78 */ mr r30, r4
|
|
/* 80312BF0 3B E0 00 00 */ li r31, 0
|
|
/* 80312BF4 38 60 00 00 */ li r3, 0
|
|
/* 80312BF8 3C 80 80 3D */ lis r4, sDifferedRegister@ha /* 0x803CD900@ha */
|
|
/* 80312BFC 38 A4 D9 00 */ addi r5, r4, sDifferedRegister@l /* 0x803CD900@l */
|
|
/* 80312C00 3C 80 80 3D */ lis r4, sSizeOfDiffered@ha /* 0x803CD920@ha */
|
|
/* 80312C04 38 84 D9 20 */ addi r4, r4, sSizeOfDiffered@l /* 0x803CD920@l */
|
|
/* 80312C08 38 00 00 08 */ li r0, 8
|
|
/* 80312C0C 7C 09 03 A6 */ mtctr r0
|
|
lbl_80312C10:
|
|
/* 80312C10 7C 05 18 2E */ lwzx r0, r5, r3
|
|
/* 80312C14 7F C0 00 39 */ and. r0, r30, r0
|
|
/* 80312C18 41 82 00 0C */ beq lbl_80312C24
|
|
/* 80312C1C 7C 04 18 2E */ lwzx r0, r4, r3
|
|
/* 80312C20 7F FF 02 14 */ add r31, r31, r0
|
|
lbl_80312C24:
|
|
/* 80312C24 38 63 00 04 */ addi r3, r3, 4
|
|
/* 80312C28 42 00 FF E8 */ bdnz lbl_80312C10
|
|
/* 80312C2C 57 C0 E7 3E */ rlwinm r0, r30, 0x1c, 0x1c, 0x1f
|
|
/* 80312C30 1C 00 00 48 */ mulli r0, r0, 0x48
|
|
/* 80312C34 7F FF 02 14 */ add r31, r31, r0
|
|
/* 80312C38 57 DC C7 3F */ rlwinm. r28, r30, 0x18, 0x1c, 0x1f
|
|
/* 80312C3C 41 82 00 4C */ beq lbl_80312C88
|
|
/* 80312C40 80 7D 00 28 */ lwz r3, 0x28(r29)
|
|
/* 80312C44 80 63 00 04 */ lwz r3, 4(r3)
|
|
/* 80312C48 80 63 00 28 */ lwz r3, 0x28(r3)
|
|
/* 80312C4C 81 83 00 00 */ lwz r12, 0(r3)
|
|
/* 80312C50 81 8C 00 40 */ lwz r12, 0x40(r12)
|
|
/* 80312C54 7D 89 03 A6 */ mtctr r12
|
|
/* 80312C58 4E 80 04 21 */ bctrl
|
|
/* 80312C5C 7C 1C 18 40 */ cmplw r28, r3
|
|
/* 80312C60 40 81 00 08 */ ble lbl_80312C68
|
|
/* 80312C64 7F 83 E3 78 */ mr r3, r28
|
|
lbl_80312C68:
|
|
/* 80312C68 57 C0 04 E7 */ rlwinm. r0, r30, 0, 0x13, 0x13
|
|
/* 80312C6C 41 82 00 14 */ beq lbl_80312C80
|
|
/* 80312C70 1C 03 00 3D */ mulli r0, r3, 0x3d
|
|
/* 80312C74 7F E0 FA 14 */ add r31, r0, r31
|
|
/* 80312C78 3B FF 00 0A */ addi r31, r31, 0xa
|
|
/* 80312C7C 48 00 00 0C */ b lbl_80312C88
|
|
lbl_80312C80:
|
|
/* 80312C80 1C 03 00 35 */ mulli r0, r3, 0x35
|
|
/* 80312C84 7F FF 02 14 */ add r31, r31, r0
|
|
lbl_80312C88:
|
|
/* 80312C88 57 DC 87 3F */ rlwinm. r28, r30, 0x10, 0x1c, 0x1f
|
|
/* 80312C8C 41 82 00 90 */ beq lbl_80312D1C
|
|
/* 80312C90 80 7D 00 28 */ lwz r3, 0x28(r29)
|
|
/* 80312C94 80 63 00 04 */ lwz r3, 4(r3)
|
|
/* 80312C98 80 63 00 2C */ lwz r3, 0x2c(r3)
|
|
/* 80312C9C 81 83 00 00 */ lwz r12, 0(r3)
|
|
/* 80312CA0 81 8C 00 98 */ lwz r12, 0x98(r12)
|
|
/* 80312CA4 7D 89 03 A6 */ mtctr r12
|
|
/* 80312CA8 4E 80 04 21 */ bctrl
|
|
/* 80312CAC 54 60 06 3E */ clrlwi r0, r3, 0x18
|
|
/* 80312CB0 28 00 00 08 */ cmplwi r0, 8
|
|
/* 80312CB4 40 81 00 0C */ ble lbl_80312CC0
|
|
/* 80312CB8 38 60 00 08 */ li r3, 8
|
|
/* 80312CBC 48 00 00 20 */ b lbl_80312CDC
|
|
lbl_80312CC0:
|
|
/* 80312CC0 80 7D 00 28 */ lwz r3, 0x28(r29)
|
|
/* 80312CC4 80 63 00 04 */ lwz r3, 4(r3)
|
|
/* 80312CC8 80 63 00 2C */ lwz r3, 0x2c(r3)
|
|
/* 80312CCC 81 83 00 00 */ lwz r12, 0(r3)
|
|
/* 80312CD0 81 8C 00 98 */ lwz r12, 0x98(r12)
|
|
/* 80312CD4 7D 89 03 A6 */ mtctr r12
|
|
/* 80312CD8 4E 80 04 21 */ bctrl
|
|
lbl_80312CDC:
|
|
/* 80312CDC 54 60 06 3E */ clrlwi r0, r3, 0x18
|
|
/* 80312CE0 7C 1C 00 40 */ cmplw r28, r0
|
|
/* 80312CE4 7C 03 03 78 */ mr r3, r0
|
|
/* 80312CE8 40 81 00 08 */ ble lbl_80312CF0
|
|
/* 80312CEC 7F 83 E3 78 */ mr r3, r28
|
|
lbl_80312CF0:
|
|
/* 80312CF0 57 C0 01 4B */ rlwinm. r0, r30, 0, 5, 5
|
|
/* 80312CF4 41 82 00 20 */ beq lbl_80312D14
|
|
/* 80312CF8 1C 83 00 37 */ mulli r4, r3, 0x37
|
|
/* 80312CFC 38 03 00 01 */ addi r0, r3, 1
|
|
/* 80312D00 54 00 F8 7E */ srwi r0, r0, 1
|
|
/* 80312D04 1C 00 00 37 */ mulli r0, r0, 0x37
|
|
/* 80312D08 7C 84 02 14 */ add r4, r4, r0
|
|
/* 80312D0C 7F FF 22 14 */ add r31, r31, r4
|
|
/* 80312D10 48 00 00 0C */ b lbl_80312D1C
|
|
lbl_80312D14:
|
|
/* 80312D14 1C 03 00 37 */ mulli r0, r3, 0x37
|
|
/* 80312D18 7F FF 02 14 */ add r31, r31, r0
|
|
lbl_80312D1C:
|
|
/* 80312D1C 57 DC 67 3F */ rlwinm. r28, r30, 0xc, 0x1c, 0x1f
|
|
/* 80312D20 41 82 00 7C */ beq lbl_80312D9C
|
|
/* 80312D24 80 7D 00 28 */ lwz r3, 0x28(r29)
|
|
/* 80312D28 80 63 00 04 */ lwz r3, 4(r3)
|
|
/* 80312D2C 80 63 00 2C */ lwz r3, 0x2c(r3)
|
|
/* 80312D30 81 83 00 00 */ lwz r12, 0(r3)
|
|
/* 80312D34 81 8C 00 98 */ lwz r12, 0x98(r12)
|
|
/* 80312D38 7D 89 03 A6 */ mtctr r12
|
|
/* 80312D3C 4E 80 04 21 */ bctrl
|
|
/* 80312D40 54 60 06 3E */ clrlwi r0, r3, 0x18
|
|
/* 80312D44 28 00 00 08 */ cmplwi r0, 8
|
|
/* 80312D48 40 81 00 0C */ ble lbl_80312D54
|
|
/* 80312D4C 38 60 00 08 */ li r3, 8
|
|
/* 80312D50 48 00 00 20 */ b lbl_80312D70
|
|
lbl_80312D54:
|
|
/* 80312D54 80 7D 00 28 */ lwz r3, 0x28(r29)
|
|
/* 80312D58 80 63 00 04 */ lwz r3, 4(r3)
|
|
/* 80312D5C 80 63 00 2C */ lwz r3, 0x2c(r3)
|
|
/* 80312D60 81 83 00 00 */ lwz r12, 0(r3)
|
|
/* 80312D64 81 8C 00 98 */ lwz r12, 0x98(r12)
|
|
/* 80312D68 7D 89 03 A6 */ mtctr r12
|
|
/* 80312D6C 4E 80 04 21 */ bctrl
|
|
lbl_80312D70:
|
|
/* 80312D70 54 60 06 3E */ clrlwi r0, r3, 0x18
|
|
/* 80312D74 7C 1C 00 40 */ cmplw r28, r0
|
|
/* 80312D78 7C 03 03 78 */ mr r3, r0
|
|
/* 80312D7C 40 81 00 08 */ ble lbl_80312D84
|
|
/* 80312D80 7F 83 E3 78 */ mr r3, r28
|
|
lbl_80312D84:
|
|
/* 80312D84 1C 03 00 0A */ mulli r0, r3, 0xa
|
|
/* 80312D88 7F FF 02 14 */ add r31, r31, r0
|
|
/* 80312D8C 57 C0 01 09 */ rlwinm. r0, r30, 0, 4, 4
|
|
/* 80312D90 41 82 00 0C */ beq lbl_80312D9C
|
|
/* 80312D94 1C 03 00 05 */ mulli r0, r3, 5
|
|
/* 80312D98 7F FF 02 14 */ add r31, r31, r0
|
|
lbl_80312D9C:
|
|
/* 80312D9C 38 1F 00 1F */ addi r0, r31, 0x1f
|
|
/* 80312DA0 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a
|
|
/* 80312DA4 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80312DA8 48 04 F4 7D */ bl _restgpr_28
|
|
/* 80312DAC 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80312DB0 7C 08 03 A6 */ mtlr r0
|
|
/* 80312DB4 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80312DB8 4E 80 00 20 */ blr
|