prime/asm/Animation/CSequenceHelper.s

117 lines
5.3 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global __dt__15CSequenceHelperFv
__dt__15CSequenceHelperFv:
/* 802D9C34 002D6B94 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D9C38 002D6B98 7C 08 02 A6 */ mflr r0
/* 802D9C3C 002D6B9C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D9C40 002D6BA0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802D9C44 002D6BA4 7C 9F 23 78 */ mr r31, r4
/* 802D9C48 002D6BA8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802D9C4C 002D6BAC 7C 7E 1B 79 */ or. r30, r3, r3
/* 802D9C50 002D6BB0 41 82 00 98 */ beq lbl_802D9CE8
/* 802D9C54 002D6BB4 34 1E 00 20 */ addic. r0, r30, 0x20
/* 802D9C58 002D6BB8 41 82 00 40 */ beq lbl_802D9C98
/* 802D9C5C 002D6BBC 80 7E 00 2C */ lwz r3, 0x2c(r30)
/* 802D9C60 002D6BC0 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 802D9C64 002D6BC4 90 61 00 0C */ stw r3, 0xc(r1)
/* 802D9C68 002D6BC8 7C 83 02 14 */ add r4, r3, r0
/* 802D9C6C 002D6BCC 7C 03 20 50 */ subf r0, r3, r4
/* 802D9C70 002D6BD0 90 81 00 14 */ stw r4, 0x14(r1)
/* 802D9C74 002D6BD4 90 81 00 10 */ stw r4, 0x10(r1)
/* 802D9C78 002D6BD8 90 61 00 08 */ stw r3, 8(r1)
/* 802D9C7C 002D6BDC 7C 09 03 A6 */ mtctr r0
/* 802D9C80 002D6BE0 7C 03 20 40 */ cmplw r3, r4
/* 802D9C84 002D6BE4 41 82 00 08 */ beq lbl_802D9C8C
lbl_802D9C88:
/* 802D9C88 002D6BE8 42 00 00 00 */ bdnz lbl_802D9C88
lbl_802D9C8C:
/* 802D9C8C 002D6BEC 28 03 00 00 */ cmplwi r3, 0
/* 802D9C90 002D6BF0 41 82 00 08 */ beq lbl_802D9C98
/* 802D9C94 002D6BF4 48 03 BC 9D */ bl Free__7CMemoryFPCv
lbl_802D9C98:
/* 802D9C98 002D6BF8 38 7E 00 10 */ addi r3, r30, 0x10
/* 802D9C9C 002D6BFC 38 80 FF FF */ li r4, -1
/* 802D9CA0 002D6C00 48 00 00 65 */ bl sub_802d9d04
/* 802D9CA4 002D6C04 28 1E 00 00 */ cmplwi r30, 0
/* 802D9CA8 002D6C08 41 82 00 30 */ beq lbl_802D9CD8
/* 802D9CAC 002D6C0C 34 1E 00 08 */ addic. r0, r30, 8
/* 802D9CB0 002D6C10 41 82 00 14 */ beq lbl_802D9CC4
/* 802D9CB4 002D6C14 34 1E 00 08 */ addic. r0, r30, 8
/* 802D9CB8 002D6C18 41 82 00 0C */ beq lbl_802D9CC4
/* 802D9CBC 002D6C1C 38 7E 00 08 */ addi r3, r30, 8
/* 802D9CC0 002D6C20 4B D5 7A 69 */ bl sub_80031728
lbl_802D9CC4:
/* 802D9CC4 002D6C24 28 1E 00 00 */ cmplwi r30, 0
/* 802D9CC8 002D6C28 41 82 00 10 */ beq lbl_802D9CD8
/* 802D9CCC 002D6C2C 7F C3 F3 78 */ mr r3, r30
/* 802D9CD0 002D6C30 38 80 00 00 */ li r4, 0
/* 802D9CD4 002D6C34 48 06 71 6D */ bl __dt__6CTokenFv
lbl_802D9CD8:
/* 802D9CD8 002D6C38 7F E0 07 35 */ extsh. r0, r31
/* 802D9CDC 002D6C3C 40 81 00 0C */ ble lbl_802D9CE8
/* 802D9CE0 002D6C40 7F C3 F3 78 */ mr r3, r30
/* 802D9CE4 002D6C44 48 03 BC 4D */ bl Free__7CMemoryFPCv
lbl_802D9CE8:
/* 802D9CE8 002D6C48 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D9CEC 002D6C4C 7F C3 F3 78 */ mr r3, r30
/* 802D9CF0 002D6C50 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802D9CF4 002D6C54 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802D9CF8 002D6C58 7C 08 03 A6 */ mtlr r0
/* 802D9CFC 002D6C5C 38 21 00 20 */ addi r1, r1, 0x20
/* 802D9D00 002D6C60 4E 80 00 20 */ blr
.global sub_802d9d04
sub_802d9d04:
/* 802D9D04 002D6C64 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802D9D08 002D6C68 7C 08 02 A6 */ mflr r0
/* 802D9D0C 002D6C6C 90 01 00 34 */ stw r0, 0x34(r1)
/* 802D9D10 002D6C70 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802D9D14 002D6C74 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802D9D18 002D6C78 93 A1 00 24 */ stw r29, 0x24(r1)
/* 802D9D1C 002D6C7C 7C 9D 23 78 */ mr r29, r4
/* 802D9D20 002D6C80 93 81 00 20 */ stw r28, 0x20(r1)
/* 802D9D24 002D6C84 7C 7C 1B 79 */ or. r28, r3, r3
/* 802D9D28 002D6C88 41 82 00 68 */ beq lbl_802D9D90
/* 802D9D2C 002D6C8C 80 1C 00 04 */ lwz r0, 4(r28)
/* 802D9D30 002D6C90 83 DC 00 0C */ lwz r30, 0xc(r28)
/* 802D9D34 002D6C94 54 00 10 3A */ slwi r0, r0, 2
/* 802D9D38 002D6C98 7F FE 02 14 */ add r31, r30, r0
/* 802D9D3C 002D6C9C 93 C1 00 10 */ stw r30, 0x10(r1)
/* 802D9D40 002D6CA0 93 E1 00 08 */ stw r31, 8(r1)
/* 802D9D44 002D6CA4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D9D48 002D6CA8 93 C1 00 14 */ stw r30, 0x14(r1)
/* 802D9D4C 002D6CAC 48 00 00 1C */ b lbl_802D9D68
lbl_802D9D50:
/* 802D9D50 002D6CB0 28 1E 00 00 */ cmplwi r30, 0
/* 802D9D54 002D6CB4 41 82 00 10 */ beq lbl_802D9D64
/* 802D9D58 002D6CB8 41 82 00 0C */ beq lbl_802D9D64
/* 802D9D5C 002D6CBC 7F C3 F3 78 */ mr r3, r30
/* 802D9D60 002D6CC0 4B D5 72 41 */ bl sub_80030fa0
lbl_802D9D64:
/* 802D9D64 002D6CC4 3B DE 00 04 */ addi r30, r30, 4
lbl_802D9D68:
/* 802D9D68 002D6CC8 7C 1E F8 40 */ cmplw r30, r31
/* 802D9D6C 002D6CCC 40 82 FF E4 */ bne lbl_802D9D50
/* 802D9D70 002D6CD0 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 802D9D74 002D6CD4 28 03 00 00 */ cmplwi r3, 0
/* 802D9D78 002D6CD8 41 82 00 08 */ beq lbl_802D9D80
/* 802D9D7C 002D6CDC 48 03 BB B5 */ bl Free__7CMemoryFPCv
lbl_802D9D80:
/* 802D9D80 002D6CE0 7F A0 07 35 */ extsh. r0, r29
/* 802D9D84 002D6CE4 40 81 00 0C */ ble lbl_802D9D90
/* 802D9D88 002D6CE8 7F 83 E3 78 */ mr r3, r28
/* 802D9D8C 002D6CEC 48 03 BB A5 */ bl Free__7CMemoryFPCv
lbl_802D9D90:
/* 802D9D90 002D6CF0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802D9D94 002D6CF4 7F 83 E3 78 */ mr r3, r28
/* 802D9D98 002D6CF8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802D9D9C 002D6CFC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802D9DA0 002D6D00 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 802D9DA4 002D6D04 83 81 00 20 */ lwz r28, 0x20(r1)
/* 802D9DA8 002D6D08 7C 08 03 A6 */ mtlr r0
/* 802D9DAC 002D6D0C 38 21 00 30 */ addi r1, r1, 0x30
/* 802D9DB0 002D6D10 4E 80 00 20 */ blr