.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_80054FE0 /* 303E0 80054FE0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 303E4 80054FE4 0080582D */ daddu $t3, $a0, $zero /* 303E8 80054FE8 00C0502D */ daddu $t2, $a2, $zero /* 303EC 80054FEC 00E0402D */ daddu $t0, $a3, $zero /* 303F0 80054FF0 0100382D */ daddu $a3, $t0, $zero /* 303F4 80054FF4 30A500FF */ andi $a1, $a1, 0xff /* 303F8 80054FF8 00051A00 */ sll $v1, $a1, 8 /* 303FC 80054FFC 3C04800A */ lui $a0, %hi(D_8009A620) /* 30400 80055000 8C84A620 */ lw $a0, %lo(D_8009A620)($a0) /* 30404 80055004 0060482D */ daddu $t1, $v1, $zero /* 30408 80055008 10A00002 */ beqz $a1, .L80055014 /* 3040C 8005500C AFBF0018 */ sw $ra, 0x18($sp) /* 30410 80055010 346900FF */ ori $t1, $v1, 0xff .L80055014: /* 30414 80055014 00061600 */ sll $v0, $a2, 0x18 /* 30418 80055018 04420001 */ bltzl $v0, .L80055020 /* 3041C 8005501C 240A007F */ addiu $t2, $zero, 0x7f .L80055020: /* 30420 80055020 00081400 */ sll $v0, $t0, 0x10 /* 30424 80055024 00021C03 */ sra $v1, $v0, 0x10 /* 30428 80055028 28620961 */ slti $v0, $v1, 0x961 /* 3042C 8005502C 14400003 */ bnez $v0, .L8005503C /* 30430 80055030 2862F6A0 */ slti $v0, $v1, -0x960 /* 30434 80055034 08015411 */ j .L80055044 /* 30438 80055038 24070960 */ addiu $a3, $zero, 0x960 .L8005503C: /* 3043C 8005503C 54400001 */ bnel $v0, $zero, .L80055044 /* 30440 80055040 2407F6A0 */ addiu $a3, $zero, -0x960 .L80055044: /* 30444 80055044 314200FF */ andi $v0, $t2, 0xff /* 30448 80055048 00093400 */ sll $a2, $t1, 0x10 /* 3044C 8005504C 00073C00 */ sll $a3, $a3, 0x10 /* 30450 80055050 35651000 */ ori $a1, $t3, 0x1000 /* 30454 80055054 00063403 */ sra $a2, $a2, 0x10 /* 30458 80055058 00073C03 */ sra $a3, $a3, 0x10 /* 3045C 8005505C 0C012CE2 */ jal func_8004B388 /* 30460 80055060 AFA20010 */ sw $v0, 0x10($sp) /* 30464 80055064 8FBF0018 */ lw $ra, 0x18($sp) /* 30468 80055068 03E00008 */ jr $ra /* 3046C 8005506C 27BD0020 */ addiu $sp, $sp, 0x20