papermario/asm/nonmatchings/code_303c0_len_3e10/func_80057F20.s
2020-09-23 23:16:13 -04:00

37 lines
1.6 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80057F20
/* 33320 80057F20 30A3000F */ andi $v1, $a1, 0xf
/* 33324 80057F24 24020010 */ addiu $v0, $zero, 0x10
/* 33328 80057F28 00431823 */ subu $v1, $v0, $v1
/* 3332C 80057F2C 10620003 */ beq $v1, $v0, .L80057F3C
/* 33330 80057F30 00A31021 */ addu $v0, $a1, $v1
/* 33334 80057F34 08015FD0 */ j .L80057F40
/* 33338 80057F38 AC820000 */ sw $v0, ($a0)
.L80057F3C:
/* 3333C 80057F3C AC850000 */ sw $a1, ($a0)
.L80057F40:
/* 33340 80057F40 AC860008 */ sw $a2, 8($a0)
/* 33344 80057F44 00C0102D */ daddu $v0, $a2, $zero
/* 33348 80057F48 0000282D */ daddu $a1, $zero, $zero
/* 3334C 80057F4C 8C830000 */ lw $v1, ($a0)
/* 33350 80057F50 00021082 */ srl $v0, $v0, 2
/* 33354 80057F54 AC80000C */ sw $zero, 0xc($a0)
/* 33358 80057F58 1040000B */ beqz $v0, .L80057F88
/* 3335C 80057F5C AC830004 */ sw $v1, 4($a0)
.L80057F60:
/* 33360 80057F60 8C820000 */ lw $v0, ($a0)
/* 33364 80057F64 00051880 */ sll $v1, $a1, 2
/* 33368 80057F68 00621821 */ addu $v1, $v1, $v0
/* 3336C 80057F6C AC600000 */ sw $zero, ($v1)
/* 33370 80057F70 8C820008 */ lw $v0, 8($a0)
/* 33374 80057F74 24A50001 */ addiu $a1, $a1, 1
/* 33378 80057F78 00021082 */ srl $v0, $v0, 2
/* 3337C 80057F7C 00A2102B */ sltu $v0, $a1, $v0
/* 33380 80057F80 1440FFF7 */ bnez $v0, .L80057F60
/* 33384 80057F84 00000000 */ nop
.L80057F88:
/* 33388 80057F88 03E00008 */ jr $ra
/* 3338C 80057F8C 00000000 */ nop