papermario/asm/nonmatchings/code_d0a70_len_4fe0/func_8013AA9C.s
2020-08-12 22:37:16 -04:00

359 lines
16 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8013AA9C
/* 0D119C 8013AA9C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0D11A0 8013AAA0 AFB00010 */ sw $s0, 0x10($sp)
/* 0D11A4 8013AAA4 00C0802D */ daddu $s0, $a2, $zero
/* 0D11A8 8013AAA8 00041140 */ sll $v0, $a0, 5
/* 0D11AC 8013AAAC 00441023 */ subu $v0, $v0, $a0
/* 0D11B0 8013AAB0 3C038015 */ lui $v1, 0x8015
/* 0D11B4 8013AAB4 8C636954 */ lw $v1, 0x6954($v1)
/* 0D11B8 8013AAB8 8FA80030 */ lw $t0, 0x30($sp)
/* 0D11BC 8013AABC 8FA60034 */ lw $a2, 0x34($sp)
/* 0D11C0 8013AAC0 00021080 */ sll $v0, $v0, 2
/* 0D11C4 8013AAC4 AFBF001C */ sw $ra, 0x1c($sp)
/* 0D11C8 8013AAC8 AFB20018 */ sw $s2, 0x18($sp)
/* 0D11CC 8013AACC AFB10014 */ sw $s1, 0x14($sp)
/* 0D11D0 8013AAD0 00628821 */ addu $s1, $v1, $v0
/* 0D11D4 8013AAD4 8E220014 */ lw $v0, 0x14($s1)
/* 0D11D8 8013AAD8 8FB20038 */ lw $s2, 0x38($sp)
/* 0D11DC 8013AADC 30420001 */ andi $v0, $v0, 1
/* 0D11E0 8013AAE0 10400109 */ beqz $v0, .L8013AF08
/* 0D11E4 8013AAE4 2C82005A */ sltiu $v0, $a0, 0x5a
/* 0D11E8 8013AAE8 10400107 */ beqz $v0, .L8013AF08
/* 0D11EC 8013AAEC 2CA20012 */ sltiu $v0, $a1, 0x12
/* 0D11F0 8013AAF0 10400048 */ beqz $v0, .L8013AC14
/* 0D11F4 8013AAF4 00051080 */ sll $v0, $a1, 2
/* 0D11F8 8013AAF8 3C018015 */ lui $at, 0x8015
/* 0D11FC 8013AAFC 00220821 */ addu $at, $at, $v0
/* 0D1200 8013AB00 8C220FB0 */ lw $v0, 0xfb0($at)
/* 0D1204 8013AB04 00400008 */ jr $v0
/* 0D1208 8013AB08 00000000 */ nop
/* 0D120C 8013AB0C 8E300014 */ lw $s0, 0x14($s1)
/* 0D1210 8013AB10 0C04EA4F */ jal func_8013A93C
/* 0D1214 8013AB14 0220202D */ daddu $a0, $s1, $zero
/* 0D1218 8013AB18 0C04EA7A */ jal func_8013A9E8
/* 0D121C 8013AB1C 0220202D */ daddu $a0, $s1, $zero
/* 0D1220 8013AB20 2402FFFF */ addiu $v0, $zero, -1
/* 0D1224 8013AB24 A2200005 */ sb $zero, 5($s1)
/* 0D1228 8013AB28 A2200006 */ sb $zero, 6($s1)
/* 0D122C 8013AB2C A2200001 */ sb $zero, 1($s1)
/* 0D1230 8013AB30 A2200002 */ sb $zero, 2($s1)
/* 0D1234 8013AB34 AE22001C */ sw $v0, 0x1c($s1)
/* 0D1238 8013AB38 AE22002C */ sw $v0, 0x2c($s1)
/* 0D123C 8013AB3C AE300014 */ sw $s0, 0x14($s1)
/* 0D1240 8013AB40 0200182D */ daddu $v1, $s0, $zero
/* 0D1244 8013AB44 30620001 */ andi $v0, $v1, 1
/* 0D1248 8013AB48 12400002 */ beqz $s2, .L8013AB54
/* 0D124C 8013AB4C AE220014 */ sw $v0, 0x14($s1)
/* 0D1250 8013AB50 00521025 */ or $v0, $v0, $s2
.L8013AB54:
/* 0D1254 8013AB54 0804EBC2 */ j .L8013AF08
/* 0D1258 8013AB58 AE220014 */ sw $v0, 0x14($s1)
/* 0D125C 8013AB5C 2402FFFF */ addiu $v0, $zero, -1
/* 0D1260 8013AB60 A2200005 */ sb $zero, 5($s1)
/* 0D1264 8013AB64 A2200002 */ sb $zero, 2($s1)
/* 0D1268 8013AB68 0804EBC2 */ j .L8013AF08
/* 0D126C 8013AB6C AE22001C */ sw $v0, 0x1c($s1)
/* 0D1270 8013AB70 2402FFFF */ addiu $v0, $zero, -1
/* 0D1274 8013AB74 A2200006 */ sb $zero, 6($s1)
/* 0D1278 8013AB78 A2200001 */ sb $zero, 1($s1)
/* 0D127C 8013AB7C 0804EBC2 */ j .L8013AF08
/* 0D1280 8013AB80 AE22002C */ sw $v0, 0x2c($s1)
/* 0D1284 8013AB84 8E24005C */ lw $a0, 0x5c($s1)
/* 0D1288 8013AB88 10800004 */ beqz $a0, .L8013AB9C
/* 0D128C 8013AB8C 00101080 */ sll $v0, $s0, 2
/* 0D1290 8013AB90 0C00AB4B */ jal heap_free
/* 0D1294 8013AB94 00000000 */ nop
/* 0D1298 8013AB98 00101080 */ sll $v0, $s0, 2
.L8013AB9C:
/* 0D129C 8013AB9C A6220060 */ sh $v0, 0x60($s1)
/* 0D12A0 8013ABA0 0C00AB39 */ jal heap_malloc
/* 0D12A4 8013ABA4 3044FFFF */ andi $a0, $v0, 0xffff
/* 0D12A8 8013ABA8 0804EBC2 */ j .L8013AF08
/* 0D12AC 8013ABAC AE22005C */ sw $v0, 0x5c($s1)
/* 0D12B0 8013ABB0 82220006 */ lb $v0, 6($s1)
/* 0D12B4 8013ABB4 14A20021 */ bne $a1, $v0, .L8013AC3C
/* 0D12B8 8013ABB8 24030005 */ addiu $v1, $zero, 5
/* 0D12BC 8013ABBC 8E22002C */ lw $v0, 0x2c($s1)
/* 0D12C0 8013ABC0 1602001E */ bne $s0, $v0, .L8013AC3C
/* 0D12C4 8013ABC4 00000000 */ nop
/* 0D12C8 8013ABC8 8E220030 */ lw $v0, 0x30($s1)
/* 0D12CC 8013ABCC 10E200CE */ beq $a3, $v0, .L8013AF08
/* 0D12D0 8013ABD0 00000000 */ nop
/* 0D12D4 8013ABD4 0804EB0F */ j .L8013AC3C
/* 0D12D8 8013ABD8 00000000 */ nop
/* 0D12DC 8013ABDC 82220005 */ lb $v0, 5($s1)
/* 0D12E0 8013ABE0 14450016 */ bne $v0, $a1, .L8013AC3C
/* 0D12E4 8013ABE4 24030005 */ addiu $v1, $zero, 5
/* 0D12E8 8013ABE8 8E22001C */ lw $v0, 0x1c($s1)
/* 0D12EC 8013ABEC 14500013 */ bne $v0, $s0, .L8013AC3C
/* 0D12F0 8013ABF0 00000000 */ nop
/* 0D12F4 8013ABF4 8E220020 */ lw $v0, 0x20($s1)
/* 0D12F8 8013ABF8 14470010 */ bne $v0, $a3, .L8013AC3C
/* 0D12FC 8013ABFC 00000000 */ nop
/* 0D1300 8013AC00 8E220024 */ lw $v0, 0x24($s1)
/* 0D1304 8013AC04 104800C0 */ beq $v0, $t0, .L8013AF08
/* 0D1308 8013AC08 00000000 */ nop
/* 0D130C 8013AC0C 0804EB0F */ j .L8013AC3C
/* 0D1310 8013AC10 00000000 */ nop
.L8013AC14:
/* 0D1314 8013AC14 2403000D */ addiu $v1, $zero, 0xd
/* 0D1318 8013AC18 50A30008 */ beql $a1, $v1, .L8013AC3C
/* 0D131C 8013AC1C 24030005 */ addiu $v1, $zero, 5
/* 0D1320 8013AC20 82220006 */ lb $v0, 6($s1)
/* 0D1324 8013AC24 14430005 */ bne $v0, $v1, .L8013AC3C
/* 0D1328 8013AC28 24030005 */ addiu $v1, $zero, 5
/* 0D132C 8013AC2C 24020001 */ addiu $v0, $zero, 1
/* 0D1330 8013AC30 A2200001 */ sb $zero, 1($s1)
/* 0D1334 8013AC34 A2220003 */ sb $v0, 3($s1)
/* 0D1338 8013AC38 A2220004 */ sb $v0, 4($s1)
.L8013AC3C:
/* 0D133C 8013AC3C 10A30005 */ beq $a1, $v1, .L8013AC54
/* 0D1340 8013AC40 24A2FFFC */ addiu $v0, $a1, -4
/* 0D1344 8013AC44 82220005 */ lb $v0, 5($s1)
/* 0D1348 8013AC48 50430001 */ beql $v0, $v1, .L8013AC50
/* 0D134C 8013AC4C A2200005 */ sb $zero, 5($s1)
.L8013AC50:
/* 0D1350 8013AC50 24A2FFFC */ addiu $v0, $a1, -4
.L8013AC54:
/* 0D1354 8013AC54 2C420002 */ sltiu $v0, $v0, 2
/* 0D1358 8013AC58 10400007 */ beqz $v0, .L8013AC78
/* 0D135C 8013AC5C 24A2FFFA */ addiu $v0, $a1, -6
/* 0D1360 8013AC60 A2250005 */ sb $a1, 5($s1)
/* 0D1364 8013AC64 AE30001C */ sw $s0, 0x1c($s1)
/* 0D1368 8013AC68 AE270020 */ sw $a3, 0x20($s1)
/* 0D136C 8013AC6C AE280024 */ sw $t0, 0x24($s1)
/* 0D1370 8013AC70 0804EB26 */ j .L8013AC98
/* 0D1374 8013AC74 AE260028 */ sw $a2, 0x28($s1)
.L8013AC78:
/* 0D1378 8013AC78 2C42000B */ sltiu $v0, $v0, 0xb
/* 0D137C 8013AC7C 10400006 */ beqz $v0, .L8013AC98
/* 0D1380 8013AC80 00000000 */ nop
/* 0D1384 8013AC84 A2250006 */ sb $a1, 6($s1)
/* 0D1388 8013AC88 AE30002C */ sw $s0, 0x2c($s1)
/* 0D138C 8013AC8C AE270030 */ sw $a3, 0x30($s1)
/* 0D1390 8013AC90 AE280034 */ sw $t0, 0x34($s1)
/* 0D1394 8013AC94 AE260038 */ sw $a2, 0x38($s1)
.L8013AC98:
/* 0D1398 8013AC98 8E220014 */ lw $v0, 0x14($s1)
/* 0D139C 8013AC9C 30420001 */ andi $v0, $v0, 1
/* 0D13A0 8013ACA0 12400003 */ beqz $s2, .L8013ACB0
/* 0D13A4 8013ACA4 AE220014 */ sw $v0, 0x14($s1)
/* 0D13A8 8013ACA8 00521025 */ or $v0, $v0, $s2
/* 0D13AC 8013ACAC AE220014 */ sw $v0, 0x14($s1)
.L8013ACB0:
/* 0D13B0 8013ACB0 24A5FFFD */ addiu $a1, $a1, -3
/* 0D13B4 8013ACB4 2CA2000E */ sltiu $v0, $a1, 0xe
/* 0D13B8 8013ACB8 10400093 */ beqz $v0, .L8013AF08
/* 0D13BC 8013ACBC A2200001 */ sb $zero, 1($s1)
/* 0D13C0 8013ACC0 00051080 */ sll $v0, $a1, 2
/* 0D13C4 8013ACC4 3C018015 */ lui $at, 0x8015
/* 0D13C8 8013ACC8 00220821 */ addu $at, $at, $v0
/* 0D13CC 8013ACCC 8C220FF8 */ lw $v0, 0xff8($at)
/* 0D13D0 8013ACD0 00400008 */ jr $v0
/* 0D13D4 8013ACD4 00000000 */ nop
/* 0D13D8 8013ACD8 A2200001 */ sb $zero, 1($s1)
/* 0D13DC 8013ACDC 0804EBC2 */ j .L8013AF08
/* 0D13E0 8013ACE0 A2200002 */ sb $zero, 2($s1)
/* 0D13E4 8013ACE4 0220202D */ daddu $a0, $s1, $zero
/* 0D13E8 8013ACE8 24020004 */ addiu $v0, $zero, 4
/* 0D13EC 8013ACEC A0820003 */ sb $v0, 3($a0)
/* 0D13F0 8013ACF0 A0820004 */ sb $v0, 4($a0)
/* 0D13F4 8013ACF4 24020001 */ addiu $v0, $zero, 1
/* 0D13F8 8013ACF8 0C04FB92 */ jal func_8013EE48
/* 0D13FC 8013ACFC A0820001 */ sb $v0, 1($a0)
/* 0D1400 8013AD00 0804EBC2 */ j .L8013AF08
/* 0D1404 8013AD04 00000000 */ nop
/* 0D1408 8013AD08 8E230014 */ lw $v1, 0x14($s1)
/* 0D140C 8013AD0C 24020002 */ addiu $v0, $zero, 2
/* 0D1410 8013AD10 A2220001 */ sb $v0, 1($s1)
/* 0D1414 8013AD14 2402000B */ addiu $v0, $zero, 0xb
/* 0D1418 8013AD18 A2220002 */ sb $v0, 2($s1)
/* 0D141C 8013AD1C AE20003C */ sw $zero, 0x3c($s1)
/* 0D1420 8013AD20 AE200040 */ sw $zero, 0x40($s1)
/* 0D1424 8013AD24 34630200 */ ori $v1, $v1, 0x200
/* 0D1428 8013AD28 0804EBC2 */ j .L8013AF08
/* 0D142C 8013AD2C AE230014 */ sw $v1, 0x14($s1)
/* 0D1430 8013AD30 2A0200FF */ slti $v0, $s0, 0xff
/* 0D1434 8013AD34 1440000B */ bnez $v0, .L8013AD64
/* 0D1438 8013AD38 28C200FF */ slti $v0, $a2, 0xff
/* 0D143C 8013AD3C 28E200FF */ slti $v0, $a3, 0xff
/* 0D1440 8013AD40 14400008 */ bnez $v0, .L8013AD64
/* 0D1444 8013AD44 28C200FF */ slti $v0, $a2, 0xff
/* 0D1448 8013AD48 290200FF */ slti $v0, $t0, 0xff
/* 0D144C 8013AD4C 14400005 */ bnez $v0, .L8013AD64
/* 0D1450 8013AD50 28C200FF */ slti $v0, $a2, 0xff
/* 0D1454 8013AD54 14400008 */ bnez $v0, .L8013AD78
/* 0D1458 8013AD58 2A0200FF */ slti $v0, $s0, 0xff
/* 0D145C 8013AD5C 0804EBC2 */ j .L8013AF08
/* 0D1460 8013AD60 A2200002 */ sb $zero, 2($s1)
.L8013AD64:
/* 0D1464 8013AD64 14400004 */ bnez $v0, .L8013AD78
/* 0D1468 8013AD68 2A0200FF */ slti $v0, $s0, 0xff
/* 0D146C 8013AD6C 24020001 */ addiu $v0, $zero, 1
/* 0D1470 8013AD70 0804EBC2 */ j .L8013AF08
/* 0D1474 8013AD74 A2220002 */ sb $v0, 2($s1)
.L8013AD78:
/* 0D1478 8013AD78 1440000A */ bnez $v0, .L8013ADA4
/* 0D147C 8013AD7C 24020003 */ addiu $v0, $zero, 3
/* 0D1480 8013AD80 28E200FF */ slti $v0, $a3, 0xff
/* 0D1484 8013AD84 14400007 */ bnez $v0, .L8013ADA4
/* 0D1488 8013AD88 24020003 */ addiu $v0, $zero, 3
/* 0D148C 8013AD8C 290200FF */ slti $v0, $t0, 0xff
/* 0D1490 8013AD90 14400004 */ bnez $v0, .L8013ADA4
/* 0D1494 8013AD94 24020003 */ addiu $v0, $zero, 3
/* 0D1498 8013AD98 24020002 */ addiu $v0, $zero, 2
/* 0D149C 8013AD9C 0804EBC2 */ j .L8013AF08
/* 0D14A0 8013ADA0 A2220002 */ sb $v0, 2($s1)
.L8013ADA4:
/* 0D14A4 8013ADA4 0804EBC2 */ j .L8013AF08
/* 0D14A8 8013ADA8 A2220002 */ sb $v0, 2($s1)
/* 0D14AC 8013ADAC 3C018015 */ lui $at, 0x8015
/* 0D14B0 8013ADB0 D4221030 */ ldc1 $f2, 0x1030($at)
/* 0D14B4 8013ADB4 44860000 */ mtc1 $a2, $f0
/* 0D14B8 8013ADB8 00000000 */ nop
/* 0D14BC 8013ADBC 46800021 */ cvt.d.w $f0, $f0
/* 0D14C0 8013ADC0 46220032 */ c.eq.d $f0, $f2
/* 0D14C4 8013ADC4 00000000 */ nop
/* 0D14C8 8013ADC8 45000003 */ bc1f .L8013ADD8
/* 0D14CC 8013ADCC 24020004 */ addiu $v0, $zero, 4
/* 0D14D0 8013ADD0 0804EBC2 */ j .L8013AF08
/* 0D14D4 8013ADD4 A2220002 */ sb $v0, 2($s1)
.L8013ADD8:
/* 0D14D8 8013ADD8 24020005 */ addiu $v0, $zero, 5
/* 0D14DC 8013ADDC 0804EBC2 */ j .L8013AF08
/* 0D14E0 8013ADE0 A2220002 */ sb $v0, 2($s1)
/* 0D14E4 8013ADE4 96220060 */ lhu $v0, 0x60($s1)
/* 0D14E8 8013ADE8 0202102A */ slt $v0, $s0, $v0
/* 0D14EC 8013ADEC 10400046 */ beqz $v0, .L8013AF08
/* 0D14F0 8013ADF0 00072602 */ srl $a0, $a3, 0x18
/* 0D14F4 8013ADF4 8E22005C */ lw $v0, 0x5c($s1)
/* 0D14F8 8013ADF8 00101880 */ sll $v1, $s0, 2
/* 0D14FC 8013ADFC 00621021 */ addu $v0, $v1, $v0
/* 0D1500 8013AE00 A0440000 */ sb $a0, ($v0)
/* 0D1504 8013AE04 8E22005C */ lw $v0, 0x5c($s1)
/* 0D1508 8013AE08 00072402 */ srl $a0, $a3, 0x10
/* 0D150C 8013AE0C 00621021 */ addu $v0, $v1, $v0
/* 0D1510 8013AE10 A0440001 */ sb $a0, 1($v0)
/* 0D1514 8013AE14 8E22005C */ lw $v0, 0x5c($s1)
/* 0D1518 8013AE18 00072202 */ srl $a0, $a3, 8
/* 0D151C 8013AE1C 00621021 */ addu $v0, $v1, $v0
/* 0D1520 8013AE20 A0440002 */ sb $a0, 2($v0)
/* 0D1524 8013AE24 8E22005C */ lw $v0, 0x5c($s1)
/* 0D1528 8013AE28 00621821 */ addu $v1, $v1, $v0
/* 0D152C 8013AE2C A0670003 */ sb $a3, 3($v1)
/* 0D1530 8013AE30 30E300FF */ andi $v1, $a3, 0xff
/* 0D1534 8013AE34 240200FF */ addiu $v0, $zero, 0xff
/* 0D1538 8013AE38 14620004 */ bne $v1, $v0, .L8013AE4C
/* 0D153C 8013AE3C A2200001 */ sb $zero, 1($s1)
/* 0D1540 8013AE40 24020006 */ addiu $v0, $zero, 6
/* 0D1544 8013AE44 0804EBC2 */ j .L8013AF08
/* 0D1548 8013AE48 A2220002 */ sb $v0, 2($s1)
.L8013AE4C:
/* 0D154C 8013AE4C 24020008 */ addiu $v0, $zero, 8
/* 0D1550 8013AE50 0804EBC2 */ j .L8013AF08
/* 0D1554 8013AE54 A2220002 */ sb $v0, 2($s1)
/* 0D1558 8013AE58 96220060 */ lhu $v0, 0x60($s1)
/* 0D155C 8013AE5C 0202102A */ slt $v0, $s0, $v0
/* 0D1560 8013AE60 10400029 */ beqz $v0, .L8013AF08
/* 0D1564 8013AE64 00072602 */ srl $a0, $a3, 0x18
/* 0D1568 8013AE68 8E22005C */ lw $v0, 0x5c($s1)
/* 0D156C 8013AE6C 00101880 */ sll $v1, $s0, 2
/* 0D1570 8013AE70 00621021 */ addu $v0, $v1, $v0
/* 0D1574 8013AE74 A0440000 */ sb $a0, ($v0)
/* 0D1578 8013AE78 8E22005C */ lw $v0, 0x5c($s1)
/* 0D157C 8013AE7C 00072402 */ srl $a0, $a3, 0x10
/* 0D1580 8013AE80 00621021 */ addu $v0, $v1, $v0
/* 0D1584 8013AE84 A0440001 */ sb $a0, 1($v0)
/* 0D1588 8013AE88 8E22005C */ lw $v0, 0x5c($s1)
/* 0D158C 8013AE8C 00072202 */ srl $a0, $a3, 8
/* 0D1590 8013AE90 00621021 */ addu $v0, $v1, $v0
/* 0D1594 8013AE94 A0440002 */ sb $a0, 2($v0)
/* 0D1598 8013AE98 8E22005C */ lw $v0, 0x5c($s1)
/* 0D159C 8013AE9C 00621821 */ addu $v1, $v1, $v0
/* 0D15A0 8013AEA0 A0670003 */ sb $a3, 3($v1)
/* 0D15A4 8013AEA4 30E300FF */ andi $v1, $a3, 0xff
/* 0D15A8 8013AEA8 240200FF */ addiu $v0, $zero, 0xff
/* 0D15AC 8013AEAC 14620004 */ bne $v1, $v0, .L8013AEC0
/* 0D15B0 8013AEB0 A2200001 */ sb $zero, 1($s1)
/* 0D15B4 8013AEB4 24020009 */ addiu $v0, $zero, 9
/* 0D15B8 8013AEB8 0804EBC2 */ j .L8013AF08
/* 0D15BC 8013AEBC A2220002 */ sb $v0, 2($s1)
.L8013AEC0:
/* 0D15C0 8013AEC0 2402000A */ addiu $v0, $zero, 0xa
/* 0D15C4 8013AEC4 0804EBC2 */ j .L8013AF08
/* 0D15C8 8013AEC8 A2220002 */ sb $v0, 2($s1)
/* 0D15CC 8013AECC 2402000C */ addiu $v0, $zero, 0xc
/* 0D15D0 8013AED0 0804EBC2 */ j .L8013AF08
/* 0D15D4 8013AED4 A2220002 */ sb $v0, 2($s1)
/* 0D15D8 8013AED8 2402000D */ addiu $v0, $zero, 0xd
/* 0D15DC 8013AEDC 0804EBC2 */ j .L8013AF08
/* 0D15E0 8013AEE0 A2220002 */ sb $v0, 2($s1)
/* 0D15E4 8013AEE4 24020004 */ addiu $v0, $zero, 4
/* 0D15E8 8013AEE8 A2220001 */ sb $v0, 1($s1)
/* 0D15EC 8013AEEC 28E200FF */ slti $v0, $a3, 0xff
/* 0D15F0 8013AEF0 14400002 */ bnez $v0, .L8013AEFC
/* 0D15F4 8013AEF4 2402000F */ addiu $v0, $zero, 0xf
/* 0D15F8 8013AEF8 2402000E */ addiu $v0, $zero, 0xe
.L8013AEFC:
/* 0D15FC 8013AEFC A2220002 */ sb $v0, 2($s1)
/* 0D1600 8013AF00 AE20004C */ sw $zero, 0x4c($s1)
/* 0D1604 8013AF04 AE200050 */ sw $zero, 0x50($s1)
.L8013AF08:
/* 0D1608 8013AF08 8FBF001C */ lw $ra, 0x1c($sp)
/* 0D160C 8013AF0C 8FB20018 */ lw $s2, 0x18($sp)
/* 0D1610 8013AF10 8FB10014 */ lw $s1, 0x14($sp)
/* 0D1614 8013AF14 8FB00010 */ lw $s0, 0x10($sp)
/* 0D1618 8013AF18 03E00008 */ jr $ra
/* 0D161C 8013AF1C 27BD0020 */ addiu $sp, $sp, 0x20
/* 0D1620 8013AF20 00041140 */ sll $v0, $a0, 5
/* 0D1624 8013AF24 00441023 */ subu $v0, $v0, $a0
/* 0D1628 8013AF28 3C038015 */ lui $v1, 0x8015
/* 0D162C 8013AF2C 8C636954 */ lw $v1, 0x6954($v1)
/* 0D1630 8013AF30 00021080 */ sll $v0, $v0, 2
/* 0D1634 8013AF34 00432021 */ addu $a0, $v0, $v1
/* 0D1638 8013AF38 8C830014 */ lw $v1, 0x14($a0)
/* 0D163C 8013AF3C 30620001 */ andi $v0, $v1, 1
/* 0D1640 8013AF40 10400009 */ beqz $v0, .L8013AF68
/* 0D1644 8013AF44 00000000 */ nop
/* 0D1648 8013AF48 10C00004 */ beqz $a2, .L8013AF5C
/* 0D164C 8013AF4C 30A2FFFF */ andi $v0, $a1, 0xffff
/* 0D1650 8013AF50 00621025 */ or $v0, $v1, $v0
/* 0D1654 8013AF54 03E00008 */ jr $ra
/* 0D1658 8013AF58 AC820014 */ sw $v0, 0x14($a0)
.L8013AF5C:
/* 0D165C 8013AF5C 00021027 */ nor $v0, $zero, $v0
/* 0D1660 8013AF60 00621024 */ and $v0, $v1, $v0
/* 0D1664 8013AF64 AC820014 */ sw $v0, 0x14($a0)
.L8013AF68:
/* 0D1668 8013AF68 03E00008 */ jr $ra
/* 0D166C 8013AF6C 00000000 */ nop