.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_80055110 /* 030510 80055110 24030007 */ addiu $v1, $zero, 7 /* 030514 80055114 2482001C */ addiu $v0, $a0, 0x1c .L80055118: /* 030518 80055118 AC400238 */ sw $zero, 0x238($v0) /* 03051C 8005511C 2463FFFF */ addiu $v1, $v1, -1 /* 030520 80055120 0461FFFD */ bgez $v1, .L80055118 /* 030524 80055124 2442FFFC */ addiu $v0, $v0, -4 /* 030528 80055128 A080025B */ sb $zero, 0x25b($a0) /* 03052C 8005512C A080025A */ sb $zero, 0x25a($a0) /* 030530 80055130 A0800259 */ sb $zero, 0x259($a0) /* 030534 80055134 03E00008 */ jr $ra /* 030538 80055138 A0800258 */ sb $zero, 0x258($a0) /* 03053C 8005513C 3085000F */ andi $a1, $a0, 0xf /* 030540 80055140 10A00025 */ beqz $a1, .L800551D8 /* 030544 80055144 0000302D */ daddu $a2, $zero, $zero /* 030548 80055148 24020001 */ addiu $v0, $zero, 1 /* 03054C 8005514C 14A20005 */ bne $a1, $v0, .L80055164 /* 030550 80055150 24020002 */ addiu $v0, $zero, 2 /* 030554 80055154 3C06800A */ lui $a2, 0x800a /* 030558 80055158 8CC6A664 */ lw $a2, -0x599c($a2) /* 03055C 8005515C 0801545D */ j .L80055174 /* 030560 80055160 00000000 */ nop .L80055164: /* 030564 80055164 14A20003 */ bne $a1, $v0, .L80055174 /* 030568 80055168 00000000 */ nop /* 03056C 8005516C 3C06800A */ lui $a2, 0x800a /* 030570 80055170 8CC6A5FC */ lw $a2, -0x5a04($a2) .L80055174: /* 030574 80055174 10C00018 */ beqz $a2, .L800551D8 /* 030578 80055178 00000000 */ nop /* 03057C 8005517C 90C20258 */ lbu $v0, 0x258($a2) /* 030580 80055180 2C420008 */ sltiu $v0, $v0, 8 /* 030584 80055184 1040000E */ beqz $v0, .L800551C0 /* 030588 80055188 00041902 */ srl $v1, $a0, 4 /* 03058C 8005518C 90C5025A */ lbu $a1, 0x25a($a2) /* 030590 80055190 00051080 */ sll $v0, $a1, 2 /* 030594 80055194 24A50001 */ addiu $a1, $a1, 1 /* 030598 80055198 00C21021 */ addu $v0, $a2, $v0 /* 03059C 8005519C AC430238 */ sw $v1, 0x238($v0) /* 0305A0 800551A0 2CA20008 */ sltiu $v0, $a1, 8 /* 0305A4 800551A4 50400001 */ beql $v0, $zero, .L800551AC /* 0305A8 800551A8 0000282D */ daddu $a1, $zero, $zero .L800551AC: /* 0305AC 800551AC 90C20258 */ lbu $v0, 0x258($a2) /* 0305B0 800551B0 A0C5025A */ sb $a1, 0x25a($a2) /* 0305B4 800551B4 24420001 */ addiu $v0, $v0, 1 /* 0305B8 800551B8 03E00008 */ jr $ra /* 0305BC 800551BC A0C20258 */ sb $v0, 0x258($a2) .L800551C0: /* 0305C0 800551C0 90C2025B */ lbu $v0, 0x25b($a2) /* 0305C4 800551C4 24450001 */ addiu $a1, $v0, 1 /* 0305C8 800551C8 2CA20064 */ sltiu $v0, $a1, 0x64 /* 0305CC 800551CC 50400001 */ beql $v0, $zero, .L800551D4 /* 0305D0 800551D0 24050063 */ addiu $a1, $zero, 0x63 .L800551D4: /* 0305D4 800551D4 A0C5025B */ sb $a1, 0x25b($a2) .L800551D8: /* 0305D8 800551D8 03E00008 */ jr $ra /* 0305DC 800551DC 00000000 */ nop /* 0305E0 800551E0 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 0305E4 800551E4 0080482D */ daddu $t1, $a0, $zero /* 0305E8 800551E8 00C0402D */ daddu $t0, $a2, $zero /* 0305EC 800551EC 30A500FF */ andi $a1, $a1, 0xff /* 0305F0 800551F0 00051A00 */ sll $v1, $a1, 8 /* 0305F4 800551F4 3C04800A */ lui $a0, 0x800a /* 0305F8 800551F8 8C84A640 */ lw $a0, -0x59c0($a0) /* 0305FC 800551FC 0060382D */ daddu $a3, $v1, $zero /* 030600 80055200 10A00002 */ beqz $a1, .L8005520C /* 030604 80055204 AFBF0018 */ sw $ra, 0x18($sp) /* 030608 80055208 346700FF */ ori $a3, $v1, 0xff .L8005520C: /* 03060C 8005520C 00061600 */ sll $v0, $a2, 0x18 /* 030610 80055210 04420001 */ bltzl $v0, .L80055218 /* 030614 80055214 2408007F */ addiu $t0, $zero, 0x7f .L80055218: /* 030618 80055218 310200FF */ andi $v0, $t0, 0xff /* 03061C 8005521C 00073400 */ sll $a2, $a3, 0x10 /* 030620 80055220 0120282D */ daddu $a1, $t1, $zero /* 030624 80055224 00063403 */ sra $a2, $a2, 0x10 /* 030628 80055228 0000382D */ daddu $a3, $zero, $zero /* 03062C 8005522C 0C012DB6 */ jal func_8004B6D8 /* 030630 80055230 AFA20010 */ sw $v0, 0x10($sp) /* 030634 80055234 8FBF0018 */ lw $ra, 0x18($sp) /* 030638 80055238 03E00008 */ jr $ra /* 03063C 8005523C 27BD0020 */ addiu $sp, $sp, 0x20