donut-decomp/asm/libnw4r_snd/snd_SeqFile.s

105 lines
4.7 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __ct__Q44nw4r3snd6detail13SeqFileReaderFPCv
__ct__Q44nw4r3snd6detail13SeqFileReaderFPCv:
/* 8010C0B0 00107EF0 38 00 00 00 */ li r0, 0x0
/* 8010C0B4 00107EF4 90 03 00 00 */ stw r0, 0x0(r3)
/* 8010C0B8 00107EF8 90 03 00 04 */ stw r0, 0x4(r3)
/* 8010C0BC 00107EFC 80 A4 00 00 */ lwz r5, 0x0(r4)
/* 8010C0C0 00107F00 3C 05 AD AD */ addis r0, r5, 0xadad
/* 8010C0C4 00107F04 28 00 45 51 */ cmplwi r0, 0x4551
/* 8010C0C8 00107F08 41 82 00 0C */ beq lbl_8010C0D4
/* 8010C0CC 00107F0C 38 00 00 00 */ li r0, 0x0
/* 8010C0D0 00107F10 48 00 00 30 */ b lbl_8010C100
.global lbl_8010C0D4
lbl_8010C0D4:
/* 8010C0D4 00107F14 A0 C4 00 06 */ lhz r6, 0x6(r4)
/* 8010C0D8 00107F18 28 06 01 00 */ cmplwi r6, 0x100
/* 8010C0DC 00107F1C 40 80 00 0C */ bge lbl_8010C0E8
/* 8010C0E0 00107F20 38 00 00 00 */ li r0, 0x0
/* 8010C0E4 00107F24 48 00 00 1C */ b lbl_8010C100
.global lbl_8010C0E8
lbl_8010C0E8:
/* 8010C0E8 00107F28 20 06 01 00 */ subfic r0, r6, 0x100
/* 8010C0EC 00107F2C 38 A0 01 00 */ li r5, 0x100
/* 8010C0F0 00107F30 7C A5 33 38 */ orc r5, r5, r6
/* 8010C0F4 00107F34 54 00 F8 7E */ srwi r0, r0, 1
/* 8010C0F8 00107F38 7C 00 28 50 */ subf r0, r0, r5
/* 8010C0FC 00107F3C 54 00 0F FE */ srwi r0, r0, 31
.global lbl_8010C100
lbl_8010C100:
/* 8010C100 00107F40 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010C104 00107F44 4D 82 00 20 */ beqlr
/* 8010C108 00107F48 90 83 00 00 */ stw r4, 0x0(r3)
/* 8010C10C 00107F4C 80 04 00 10 */ lwz r0, 0x10(r4)
/* 8010C110 00107F50 7C 00 22 14 */ add r0, r0, r4
/* 8010C114 00107F54 90 03 00 04 */ stw r0, 0x4(r3)
/* 8010C118 00107F58 4E 80 00 20 */ blr
/* 8010C11C 00107F5C 00 00 00 00 */ .4byte 0x00000000
.global GetBaseAddress__Q44nw4r3snd6detail13SeqFileReaderCFv
GetBaseAddress__Q44nw4r3snd6detail13SeqFileReaderCFv:
/* 8010C120 00107F60 80 63 00 04 */ lwz r3, 0x4(r3)
/* 8010C124 00107F64 80 03 00 08 */ lwz r0, 0x8(r3)
/* 8010C128 00107F68 7C 60 1A 14 */ add r3, r0, r3
/* 8010C12C 00107F6C 4E 80 00 20 */ blr
.global ReadOffsetByLabel__Q44nw4r3snd6detail13SeqFileReaderCFPCcPUl
ReadOffsetByLabel__Q44nw4r3snd6detail13SeqFileReaderCFPCcPUl:
/* 8010C130 00107F70 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8010C134 00107F74 7C 08 02 A6 */ mflr r0
/* 8010C138 00107F78 90 01 00 34 */ stw r0, 0x34(r1)
/* 8010C13C 00107F7C 39 61 00 30 */ addi r11, r1, 0x30
/* 8010C140 00107F80 4B EF B1 F1 */ bl lbl_80007330
/* 8010C144 00107F84 80 63 00 00 */ lwz r3, 0x0(r3)
/* 8010C148 00107F88 7C 98 23 78 */ mr r24, r4
/* 8010C14C 00107F8C 7C B9 2B 78 */ mr r25, r5
/* 8010C150 00107F90 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8010C154 00107F94 7F 80 1A 15 */ add. r28, r0, r3
/* 8010C158 00107F98 40 82 00 0C */ bne lbl_8010C164
/* 8010C15C 00107F9C 38 60 00 00 */ li r3, 0x0
/* 8010C160 00107FA0 48 00 00 70 */ b lbl_8010C1D0
.global lbl_8010C164
lbl_8010C164:
/* 8010C164 00107FA4 7F 03 C3 78 */ mr r3, r24
/* 8010C168 00107FA8 4B EF A9 25 */ bl strlen
/* 8010C16C 00107FAC 83 DC 00 08 */ lwz r30, 0x8(r28)
/* 8010C170 00107FB0 7C 7B 1B 78 */ mr r27, r3
/* 8010C174 00107FB4 7F 9D E3 78 */ mr r29, r28
/* 8010C178 00107FB8 3B 40 00 00 */ li r26, 0x0
/* 8010C17C 00107FBC 48 00 00 48 */ b lbl_8010C1C4
.global lbl_8010C180
lbl_8010C180:
/* 8010C180 00107FC0 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8010C184 00107FC4 7F FC 02 14 */ add r31, r28, r0
/* 8010C188 00107FC8 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8010C18C 00107FCC 7C 1B 00 40 */ cmplw r27, r0
/* 8010C190 00107FD0 40 82 00 2C */ bne lbl_8010C1BC
/* 8010C194 00107FD4 7F 03 C3 78 */ mr r3, r24
/* 8010C198 00107FD8 7F 65 DB 78 */ mr r5, r27
/* 8010C19C 00107FDC 38 9F 00 10 */ addi r4, r31, 0x10
/* 8010C1A0 00107FE0 4B F0 1A B9 */ bl strncmp
/* 8010C1A4 00107FE4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010C1A8 00107FE8 40 82 00 14 */ bne lbl_8010C1BC
/* 8010C1AC 00107FEC 80 1F 00 08 */ lwz r0, 0x8(r31)
/* 8010C1B0 00107FF0 38 60 00 01 */ li r3, 0x1
/* 8010C1B4 00107FF4 90 19 00 00 */ stw r0, 0x0(r25)
/* 8010C1B8 00107FF8 48 00 00 18 */ b lbl_8010C1D0
.global lbl_8010C1BC
lbl_8010C1BC:
/* 8010C1BC 00107FFC 3B BD 00 04 */ addi r29, r29, 0x4
/* 8010C1C0 00108000 3B 5A 00 01 */ addi r26, r26, 0x1
.global lbl_8010C1C4
lbl_8010C1C4:
/* 8010C1C4 00108004 7C 1A F0 40 */ cmplw r26, r30
/* 8010C1C8 00108008 41 80 FF B8 */ blt lbl_8010C180
/* 8010C1CC 0010800C 38 60 00 00 */ li r3, 0x0
.global lbl_8010C1D0
lbl_8010C1D0:
/* 8010C1D0 00108010 39 61 00 30 */ addi r11, r1, 0x30
/* 8010C1D4 00108014 4B EF B1 A9 */ bl lbl_8000737C
/* 8010C1D8 00108018 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8010C1DC 0010801C 7C 08 03 A6 */ mtlr r0
/* 8010C1E0 00108020 38 21 00 30 */ addi r1, r1, 0x30
/* 8010C1E4 00108024 4E 80 00 20 */ blr
/* 8010C1E8 00108028 00 00 00 00 */ .4byte 0x00000000
/* 8010C1EC 0010802C 00 00 00 00 */ .4byte 0x00000000