.include "macro.inc" # assembler directives .set noat # allow manual use of $at .set noreorder # don't insert nops after branches .set gp=64 # allow use of 64-bit general purposee registers .section .text .align 4 glabel Yaz0_Old_Decompress /* 0031B0 800025B0 8C870008 */ lw $a3, 8($a0) /* 0031B4 800025B4 8C99000C */ lw $t9, 0xc($a0) /* 0031B8 800025B8 8C980004 */ lw $t8, 4($a0) /* 0031BC 800025BC 00E43820 */ add $a3, $a3, $a0 /* 0031C0 800025C0 0324C820 */ add $t9, $t9, $a0 /* 0031C4 800025C4 00003025 */ move $a2, $zero /* 0031C8 800025C8 20840010 */ addi $a0, $a0, 0x10 /* 0031CC 800025CC 0305C020 */ add $t8, $t8, $a1 .L800025D0: /* 0031D0 800025D0 14C00004 */ bnez $a2, .L800025E4 /* 0031D4 800025D4 00000000 */ nop /* 0031D8 800025D8 8C880000 */ lw $t0, ($a0) /* 0031DC 800025DC 24060020 */ li $a2, 32 /* 0031E0 800025E0 20840004 */ addi $a0, $a0, 4 .L800025E4: /* 0031E4 800025E4 0100482A */ slt $t1, $t0, $zero /* 0031E8 800025E8 11200006 */ beqz $t1, .L80002604 /* 0031EC 800025EC 00000000 */ nop /* 0031F0 800025F0 832A0000 */ lb $t2, ($t9) /* 0031F4 800025F4 23390001 */ addi $t9, $t9, 1 /* 0031F8 800025F8 20A50001 */ addi $a1, $a1, 1 /* 0031FC 800025FC 1000000E */ b .L80002638 /* 003200 80002600 A0AAFFFF */ sb $t2, -1($a1) .L80002604: /* 003204 80002604 94EA0000 */ lhu $t2, ($a3) /* 003208 80002608 20E70002 */ addi $a3, $a3, 2 /* 00320C 8000260C 000A5B02 */ srl $t3, $t2, 0xc /* 003210 80002610 314A0FFF */ andi $t2, $t2, 0xfff /* 003214 80002614 1160000D */ beqz $t3, .L8000264C /* 003218 80002618 00AA4822 */ sub $t1, $a1, $t2 /* 00321C 8000261C 216B0002 */ addi $t3, $t3, 2 .L80002620: /* 003220 80002620 812AFFFF */ lb $t2, -1($t1) /* 003224 80002624 216BFFFF */ addi $t3, $t3, -1 /* 003228 80002628 21290001 */ addi $t1, $t1, 1 /* 00322C 8000262C 20A50001 */ addi $a1, $a1, 1 /* 003230 80002630 1560FFFB */ bnez $t3, .L80002620 /* 003234 80002634 A0AAFFFF */ sb $t2, -1($a1) .L80002638: /* 003238 80002638 00084040 */ sll $t0, $t0, 1 /* 00323C 8000263C 14B8FFE4 */ bne $a1, $t8, .L800025D0 /* 003240 80002640 20C6FFFF */ addi $a2, $a2, -1 /* 003244 80002644 03E00008 */ jr $ra /* 003248 80002648 00000000 */ nop .L8000264C: /* 00324C 8000264C 932B0000 */ lbu $t3, ($t9) /* 003250 80002650 23390001 */ addi $t9, $t9, 1 /* 003254 80002654 1000FFF2 */ b .L80002620 /* 003258 80002658 216B0012 */ addi $t3, $t3, 0x12 /* 00325C 8000265C 00000000 */ nop