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

45 lines
2.1 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80055240
/* 30640 80055240 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 30644 80055244 0080582D */ daddu $t3, $a0, $zero
/* 30648 80055248 00C0502D */ daddu $t2, $a2, $zero
/* 3064C 8005524C 00E0402D */ daddu $t0, $a3, $zero
/* 30650 80055250 0100382D */ daddu $a3, $t0, $zero
/* 30654 80055254 30A500FF */ andi $a1, $a1, 0xff
/* 30658 80055258 00051A00 */ sll $v1, $a1, 8
/* 3065C 8005525C 3C04800A */ lui $a0, 0x800a
/* 30660 80055260 8C84A640 */ lw $a0, -0x59c0($a0)
/* 30664 80055264 0060482D */ daddu $t1, $v1, $zero
/* 30668 80055268 10A00002 */ beqz $a1, .L80055274
/* 3066C 8005526C AFBF0018 */ sw $ra, 0x18($sp)
/* 30670 80055270 346900FF */ ori $t1, $v1, 0xff
.L80055274:
/* 30674 80055274 00061600 */ sll $v0, $a2, 0x18
/* 30678 80055278 04420001 */ bltzl $v0, .L80055280
/* 3067C 8005527C 240A007F */ addiu $t2, $zero, 0x7f
.L80055280:
/* 30680 80055280 00081400 */ sll $v0, $t0, 0x10
/* 30684 80055284 00021C03 */ sra $v1, $v0, 0x10
/* 30688 80055288 28620961 */ slti $v0, $v1, 0x961
/* 3068C 8005528C 14400003 */ bnez $v0, .L8005529C
/* 30690 80055290 2862F6A0 */ slti $v0, $v1, -0x960
/* 30694 80055294 080154A9 */ j .L800552A4
/* 30698 80055298 24070960 */ addiu $a3, $zero, 0x960
.L8005529C:
/* 3069C 8005529C 54400001 */ bnel $v0, $zero, .L800552A4
/* 306A0 800552A0 2407F6A0 */ addiu $a3, $zero, -0x960
.L800552A4:
/* 306A4 800552A4 314200FF */ andi $v0, $t2, 0xff
/* 306A8 800552A8 00093400 */ sll $a2, $t1, 0x10
/* 306AC 800552AC 00073C00 */ sll $a3, $a3, 0x10
/* 306B0 800552B0 0160282D */ daddu $a1, $t3, $zero
/* 306B4 800552B4 00063403 */ sra $a2, $a2, 0x10
/* 306B8 800552B8 00073C03 */ sra $a3, $a3, 0x10
/* 306BC 800552BC 0C012DB6 */ jal func_8004B6D8
/* 306C0 800552C0 AFA20010 */ sw $v0, 0x10($sp)
/* 306C4 800552C4 8FBF0018 */ lw $ra, 0x18($sp)
/* 306C8 800552C8 03E00008 */ jr $ra
/* 306CC 800552CC 27BD0020 */ addiu $sp, $sp, 0x20