papermario/asm/nonmatchings/code_303c0_len_3e10/func_80055330.s
2020-11-29 02:13:07 -05:00

45 lines
2.2 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80055330
/* 30730 80055330 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 30734 80055334 0080582D */ daddu $t3, $a0, $zero
/* 30738 80055338 00C0502D */ daddu $t2, $a2, $zero
/* 3073C 8005533C 00E0402D */ daddu $t0, $a3, $zero
/* 30740 80055340 0100382D */ daddu $a3, $t0, $zero
/* 30744 80055344 30A500FF */ andi $a1, $a1, 0xff
/* 30748 80055348 00051A00 */ sll $v1, $a1, 8
/* 3074C 8005534C 3C04800A */ lui $a0, %hi(D_8009A640)
/* 30750 80055350 8C84A640 */ lw $a0, %lo(D_8009A640)($a0)
/* 30754 80055354 0060482D */ daddu $t1, $v1, $zero
/* 30758 80055358 10A00002 */ beqz $a1, .L80055364
/* 3075C 8005535C AFBF0018 */ sw $ra, 0x18($sp)
/* 30760 80055360 346900FF */ ori $t1, $v1, 0xff
.L80055364:
/* 30764 80055364 00061600 */ sll $v0, $a2, 0x18
/* 30768 80055368 04420001 */ bltzl $v0, .L80055370
/* 3076C 8005536C 240A007F */ addiu $t2, $zero, 0x7f
.L80055370:
/* 30770 80055370 00081400 */ sll $v0, $t0, 0x10
/* 30774 80055374 00021C03 */ sra $v1, $v0, 0x10
/* 30778 80055378 28620961 */ slti $v0, $v1, 0x961
/* 3077C 8005537C 14400003 */ bnez $v0, .L8005538C
/* 30780 80055380 2862F6A0 */ slti $v0, $v1, -0x960
/* 30784 80055384 080154E5 */ j .L80055394
/* 30788 80055388 24070960 */ addiu $a3, $zero, 0x960
.L8005538C:
/* 3078C 8005538C 54400001 */ bnel $v0, $zero, .L80055394
/* 30790 80055390 2407F6A0 */ addiu $a3, $zero, -0x960
.L80055394:
/* 30794 80055394 314200FF */ andi $v0, $t2, 0xff
/* 30798 80055398 00093400 */ sll $a2, $t1, 0x10
/* 3079C 8005539C 00073C00 */ sll $a3, $a3, 0x10
/* 307A0 800553A0 35651000 */ ori $a1, $t3, 0x1000
/* 307A4 800553A4 00063403 */ sra $a2, $a2, 0x10
/* 307A8 800553A8 00073C03 */ sra $a3, $a3, 0x10
/* 307AC 800553AC 0C012DB6 */ jal func_8004B6D8
/* 307B0 800553B0 AFA20010 */ sw $v0, 0x10($sp)
/* 307B4 800553B4 8FBF0018 */ lw $ra, 0x18($sp)
/* 307B8 800553B8 03E00008 */ jr $ra
/* 307BC 800553BC 27BD0020 */ addiu $sp, $sp, 0x20