1
0
mirror of https://github.com/blawar/ooot.git synced 2024-07-04 18:13:37 +00:00
ooot/asm/code_800E11F0.s
2020-03-17 00:31:30 -04:00

6254 lines
297 KiB
ArmAsm

.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .text
.align 4
glabel func_800E11F0
/* B58390 800E11F0 3C068017 */ lui $a2, %hi(D_8016F180) # $a2, 0x8017
/* B58394 800E11F4 24C6F180 */ addiu $a2, %lo(D_8016F180) # addiu $a2, $a2, -0xe80
/* B58398 800E11F8 8CC32624 */ lw $v1, 0x2624($a2)
/* B5839C 800E11FC 00001025 */ move $v0, $zero
/* B583A0 800E1200 00002025 */ move $a0, $zero
/* B583A4 800E1204 50600018 */ beql $v1, $zero, .L800E1268
/* B583A8 800E1208 8CCC2620 */ lw $t4, 0x2620($a2)
/* B583AC 800E120C 8CCE261C */ lw $t6, 0x261c($a2)
.L800E1210:
/* B583B0 800E1210 008E1821 */ addu $v1, $a0, $t6
/* B583B4 800E1214 9065000E */ lbu $a1, 0xe($v1)
/* B583B8 800E1218 10A0000C */ beqz $a1, .L800E124C
/* B583BC 800E121C 24AFFFFF */ addiu $t7, $a1, -1
/* B583C0 800E1220 31F800FF */ andi $t8, $t7, 0xff
/* B583C4 800E1224 17000009 */ bnez $t8, .L800E124C
/* B583C8 800E1228 A06F000E */ sb $t7, 0xe($v1)
/* B583CC 800E122C 90D9282E */ lbu $t9, 0x282e($a2)
/* B583D0 800E1230 A079000D */ sb $t9, 0xd($v1)
/* B583D4 800E1234 90C8282E */ lbu $t0, 0x282e($a2)
/* B583D8 800E1238 00C84821 */ addu $t1, $a2, $t0
/* B583DC 800E123C A122262C */ sb $v0, 0x262c($t1)
/* B583E0 800E1240 90CA282E */ lbu $t2, 0x282e($a2)
/* B583E4 800E1244 254B0001 */ addiu $t3, $t2, 1
/* B583E8 800E1248 A0CB282E */ sb $t3, 0x282e($a2)
.L800E124C:
/* B583EC 800E124C 8CC32624 */ lw $v1, 0x2624($a2)
/* B583F0 800E1250 24420001 */ addiu $v0, $v0, 1
/* B583F4 800E1254 24840010 */ addiu $a0, $a0, 0x10
/* B583F8 800E1258 0043082B */ sltu $at, $v0, $v1
/* B583FC 800E125C 5420FFEC */ bnezl $at, .L800E1210
/* B58400 800E1260 8CCE261C */ lw $t6, 0x261c($a2)
/* B58404 800E1264 8CCC2620 */ lw $t4, 0x2620($a2)
.L800E1268:
/* B58408 800E1268 00601025 */ move $v0, $v1
/* B5840C 800E126C 00032100 */ sll $a0, $v1, 4
/* B58410 800E1270 006C082B */ sltu $at, $v1, $t4
/* B58414 800E1274 10200017 */ beqz $at, .L800E12D4
/* B58418 800E1278 00000000 */ nop
/* B5841C 800E127C 8CCD261C */ lw $t5, 0x261c($a2)
.L800E1280:
/* B58420 800E1280 008D1821 */ addu $v1, $a0, $t5
/* B58424 800E1284 9065000E */ lbu $a1, 0xe($v1)
/* B58428 800E1288 10A0000C */ beqz $a1, .L800E12BC
/* B5842C 800E128C 24AEFFFF */ addiu $t6, $a1, -1
/* B58430 800E1290 31CF00FF */ andi $t7, $t6, 0xff
/* B58434 800E1294 15E00009 */ bnez $t7, .L800E12BC
/* B58438 800E1298 A06E000E */ sb $t6, 0xe($v1)
/* B5843C 800E129C 90D8282F */ lbu $t8, 0x282f($a2)
/* B58440 800E12A0 A078000D */ sb $t8, 0xd($v1)
/* B58444 800E12A4 90D9282F */ lbu $t9, 0x282f($a2)
/* B58448 800E12A8 00D94021 */ addu $t0, $a2, $t9
/* B5844C 800E12AC A102272C */ sb $v0, 0x272c($t0)
/* B58450 800E12B0 90C9282F */ lbu $t1, 0x282f($a2)
/* B58454 800E12B4 252A0001 */ addiu $t2, $t1, 1
/* B58458 800E12B8 A0CA282F */ sb $t2, 0x282f($a2)
.L800E12BC:
/* B5845C 800E12BC 8CCB2620 */ lw $t3, 0x2620($a2)
/* B58460 800E12C0 24420001 */ addiu $v0, $v0, 1
/* B58464 800E12C4 24840010 */ addiu $a0, $a0, 0x10
/* B58468 800E12C8 004B082B */ sltu $at, $v0, $t3
/* B5846C 800E12CC 5420FFEC */ bnezl $at, .L800E1280
/* B58470 800E12D0 8CCD261C */ lw $t5, 0x261c($a2)
.L800E12D4:
/* B58474 800E12D4 03E00008 */ jr $ra
/* B58478 800E12D8 ACC02628 */ sw $zero, 0x2628($a2)
glabel func_800E12DC
/* B5847C 800E12DC 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B58480 800E12E0 AFB10030 */ sw $s1, 0x30($sp)
/* B58484 800E12E4 AFB0002C */ sw $s0, 0x2c($sp)
/* B58488 800E12E8 00A08025 */ move $s0, $a1
/* B5848C 800E12EC 00808825 */ move $s1, $a0
/* B58490 800E12F0 AFBF0034 */ sw $ra, 0x34($sp)
/* B58494 800E12F4 AFA60058 */ sw $a2, 0x58($sp)
/* B58498 800E12F8 AFA7005C */ sw $a3, 0x5c($sp)
/* B5849C 800E12FC 14C00008 */ bnez $a2, .L800E1320
/* B584A0 800E1300 00005825 */ move $t3, $zero
/* B584A4 800E1304 3C098017 */ lui $t1, %hi(D_8016F180) # $t1, 0x8017
/* B584A8 800E1308 2529F180 */ addiu $t1, %lo(D_8016F180) # addiu $t1, $t1, -0xe80
/* B584AC 800E130C 8D262624 */ lw $a2, 0x2624($t1)
/* B584B0 800E1310 90E20000 */ lbu $v0, ($a3)
/* B584B4 800E1314 0046082B */ sltu $at, $v0, $a2
/* B584B8 800E1318 54200057 */ bnezl $at, .L800E1478
/* B584BC 800E131C 8D25261C */ lw $a1, 0x261c($t1)
.L800E1320:
/* B584C0 800E1320 3C098017 */ lui $t1, %hi(D_8016F180) # $t1, 0x8017
/* B584C4 800E1324 2529F180 */ addiu $t1, %lo(D_8016F180) # addiu $t1, $t1, -0xe80
/* B584C8 800E1328 8D262624 */ lw $a2, 0x2624($t1)
/* B584CC 800E132C 8D252620 */ lw $a1, 0x2620($t1)
/* B584D0 800E1330 00C02025 */ move $a0, $a2
/* B584D4 800E1334 00C5082B */ sltu $at, $a2, $a1
/* B584D8 800E1338 50200036 */ beql $at, $zero, .L800E1414
/* B584DC 800E133C 8FB90058 */ lw $t9, 0x58($sp)
/* B584E0 800E1340 8D39261C */ lw $t9, 0x261c($t1)
/* B584E4 800E1344 0004C100 */ sll $t8, $a0, 4
/* B584E8 800E1348 03191821 */ addu $v1, $t8, $t9
.L800E134C:
/* B584EC 800E134C 8C6C0004 */ lw $t4, 4($v1)
/* B584F0 800E1350 00604025 */ move $t0, $v1
/* B584F4 800E1354 022C1023 */ subu $v0, $s1, $t4
/* B584F8 800E1358 04420029 */ bltzl $v0, .L800E1400
/* B584FC 800E135C 24840001 */ addiu $a0, $a0, 1
/* B58500 800E1360 950D000A */ lhu $t5, 0xa($t0)
/* B58504 800E1364 01B07023 */ subu $t6, $t5, $s0
/* B58508 800E1368 01C2082B */ sltu $at, $t6, $v0
/* B5850C 800E136C 54200024 */ bnezl $at, .L800E1400
/* B58510 800E1370 24840001 */ addiu $a0, $a0, 1
/* B58514 800E1374 910F000E */ lbu $t7, 0xe($t0)
/* B58518 800E1378 55E00018 */ bnezl $t7, .L800E13DC
/* B5851C 800E137C 240C0020 */ li $t4, 32
/* B58520 800E1380 9122282D */ lbu $v0, 0x282d($t1)
/* B58524 800E1384 9138282F */ lbu $t8, 0x282f($t1)
/* B58528 800E1388 53020014 */ beql $t8, $v0, .L800E13DC
/* B5852C 800E138C 240C0020 */ li $t4, 32
/* B58530 800E1390 9103000D */ lbu $v1, 0xd($t0)
/* B58534 800E1394 0122C821 */ addu $t9, $t1, $v0
/* B58538 800E1398 5043000E */ beql $v0, $v1, .L800E13D4
/* B5853C 800E139C 24590001 */ addiu $t9, $v0, 1
/* B58540 800E13A0 932C272C */ lbu $t4, 0x272c($t9)
/* B58544 800E13A4 01236821 */ addu $t5, $t1, $v1
/* B58548 800E13A8 A1AC272C */ sb $t4, 0x272c($t5)
/* B5854C 800E13AC 9138282D */ lbu $t8, 0x282d($t1)
/* B58550 800E13B0 8D2F261C */ lw $t7, 0x261c($t1)
/* B58554 800E13B4 910E000D */ lbu $t6, 0xd($t0)
/* B58558 800E13B8 0138C821 */ addu $t9, $t1, $t8
/* B5855C 800E13BC 932C272C */ lbu $t4, 0x272c($t9)
/* B58560 800E13C0 000C6900 */ sll $t5, $t4, 4
/* B58564 800E13C4 01EDC021 */ addu $t8, $t7, $t5
/* B58568 800E13C8 A30E000D */ sb $t6, 0xd($t8)
/* B5856C 800E13CC 9122282D */ lbu $v0, 0x282d($t1)
/* B58570 800E13D0 24590001 */ addiu $t9, $v0, 1
.L800E13D4:
/* B58574 800E13D4 A139282D */ sb $t9, 0x282d($t1)
/* B58578 800E13D8 240C0020 */ li $t4, 32
.L800E13DC:
/* B5857C 800E13DC A10C000E */ sb $t4, 0xe($t0)
/* B58580 800E13E0 8FAF005C */ lw $t7, 0x5c($sp)
/* B58584 800E13E4 A1E40000 */ sb $a0, ($t7)
/* B58588 800E13E8 8D0D0000 */ lw $t5, ($t0)
/* B5858C 800E13EC 8D180004 */ lw $t8, 4($t0)
/* B58590 800E13F0 01B17021 */ addu $t6, $t5, $s1
/* B58594 800E13F4 10000083 */ b .L800E1604
/* B58598 800E13F8 01D81023 */ subu $v0, $t6, $t8
/* B5859C 800E13FC 24840001 */ addiu $a0, $a0, 1
.L800E1400:
/* B585A0 800E1400 0085082B */ sltu $at, $a0, $a1
/* B585A4 800E1404 1420FFD1 */ bnez $at, .L800E134C
/* B585A8 800E1408 24630010 */ addiu $v1, $v1, 0x10
/* B585AC 800E140C AFA80048 */ sw $t0, 0x48($sp)
/* B585B0 800E1410 8FB90058 */ lw $t9, 0x58($sp)
.L800E1414:
/* B585B4 800E1414 8FA80048 */ lw $t0, 0x48($sp)
/* B585B8 800E1418 8FAC005C */ lw $t4, 0x5c($sp)
/* B585BC 800E141C 57200005 */ bnezl $t9, .L800E1434
/* B585C0 800E1420 9122282D */ lbu $v0, 0x282d($t1)
/* B585C4 800E1424 91820000 */ lbu $v0, ($t4)
/* B585C8 800E1428 10000013 */ b .L800E1478
/* B585CC 800E142C 8D25261C */ lw $a1, 0x261c($t1)
/* B585D0 800E1430 9122282D */ lbu $v0, 0x282d($t1)
.L800E1434:
/* B585D4 800E1434 912F282F */ lbu $t7, 0x282f($t1)
/* B585D8 800E1438 8FAD0058 */ lw $t5, 0x58($sp)
/* B585DC 800E143C 11E2000B */ beq $t7, $v0, .L800E146C
/* B585E0 800E1440 00000000 */ nop
/* B585E4 800E1444 11A00009 */ beqz $t5, .L800E146C
/* B585E8 800E1448 01227021 */ addu $t6, $t1, $v0
/* B585EC 800E144C 91CA272C */ lbu $t2, 0x272c($t6)
/* B585F0 800E1450 8D2C261C */ lw $t4, 0x261c($t1)
/* B585F4 800E1454 24580001 */ addiu $t8, $v0, 1
/* B585F8 800E1458 000AC900 */ sll $t9, $t2, 4
/* B585FC 800E145C A138282D */ sb $t8, 0x282d($t1)
/* B58600 800E1460 240B0001 */ li $t3, 1
/* B58604 800E1464 AFAA0038 */ sw $t2, 0x38($sp)
/* B58608 800E1468 032C4021 */ addu $t0, $t9, $t4
.L800E146C:
/* B5860C 800E146C 10000030 */ b .L800E1530
/* B58610 800E1470 00000000 */ nop
/* B58614 800E1474 8D25261C */ lw $a1, 0x261c($t1)
.L800E1478:
/* B58618 800E1478 00027900 */ sll $t7, $v0, 4
/* B5861C 800E147C 01E54021 */ addu $t0, $t7, $a1
/* B58620 800E1480 00002025 */ move $a0, $zero
.L800E1484:
/* B58624 800E1484 8D030004 */ lw $v1, 4($t0)
/* B58628 800E1488 02231023 */ subu $v0, $s1, $v1
/* B5862C 800E148C 04420024 */ bltzl $v0, .L800E1520
/* B58630 800E1490 00046900 */ sll $t5, $a0, 4
/* B58634 800E1494 950D000A */ lhu $t5, 0xa($t0)
/* B58638 800E1498 01B07023 */ subu $t6, $t5, $s0
/* B5863C 800E149C 01C2082B */ sltu $at, $t6, $v0
/* B58640 800E14A0 5420001F */ bnezl $at, .L800E1520
/* B58644 800E14A4 00046900 */ sll $t5, $a0, 4
/* B58648 800E14A8 9118000E */ lbu $t8, 0xe($t0)
/* B5864C 800E14AC 57000016 */ bnezl $t8, .L800E1508
/* B58650 800E14B0 8D0E0000 */ lw $t6, ($t0)
/* B58654 800E14B4 9122282C */ lbu $v0, 0x282c($t1)
/* B58658 800E14B8 9103000D */ lbu $v1, 0xd($t0)
/* B5865C 800E14BC 0122C821 */ addu $t9, $t1, $v0
/* B58660 800E14C0 5043000E */ beql $v0, $v1, .L800E14FC
/* B58664 800E14C4 24590001 */ addiu $t9, $v0, 1
/* B58668 800E14C8 932C262C */ lbu $t4, 0x262c($t9)
/* B5866C 800E14CC 01237821 */ addu $t7, $t1, $v1
/* B58670 800E14D0 A1EC262C */ sb $t4, 0x262c($t7)
/* B58674 800E14D4 9138282C */ lbu $t8, 0x282c($t1)
/* B58678 800E14D8 8D2E261C */ lw $t6, 0x261c($t1)
/* B5867C 800E14DC 910D000D */ lbu $t5, 0xd($t0)
/* B58680 800E14E0 0138C821 */ addu $t9, $t1, $t8
/* B58684 800E14E4 932C262C */ lbu $t4, 0x262c($t9)
/* B58688 800E14E8 000C7900 */ sll $t7, $t4, 4
/* B5868C 800E14EC 01CFC021 */ addu $t8, $t6, $t7
/* B58690 800E14F0 A30D000D */ sb $t5, 0xd($t8)
/* B58694 800E14F4 9122282C */ lbu $v0, 0x282c($t1)
/* B58698 800E14F8 24590001 */ addiu $t9, $v0, 1
.L800E14FC:
/* B5869C 800E14FC A139282C */ sb $t9, 0x282c($t1)
/* B586A0 800E1500 8D030004 */ lw $v1, 4($t0)
/* B586A4 800E1504 8D0E0000 */ lw $t6, ($t0)
.L800E1508:
/* B586A8 800E1508 240C0002 */ li $t4, 2
/* B586AC 800E150C A10C000E */ sb $t4, 0xe($t0)
/* B586B0 800E1510 01D17821 */ addu $t7, $t6, $s1
/* B586B4 800E1514 1000003B */ b .L800E1604
/* B586B8 800E1518 01E31023 */ subu $v0, $t7, $v1
/* B586BC 800E151C 00046900 */ sll $t5, $a0, 4
.L800E1520:
/* B586C0 800E1520 24840001 */ addiu $a0, $a0, 1
/* B586C4 800E1524 00C4082B */ sltu $at, $a2, $a0
/* B586C8 800E1528 1020FFD6 */ beqz $at, .L800E1484
/* B586CC 800E152C 01A54021 */ addu $t0, $t5, $a1
.L800E1530:
/* B586D0 800E1530 1560000D */ bnez $t3, .L800E1568
/* B586D4 800E1534 8FAA0038 */ lw $t2, 0x38($sp)
/* B586D8 800E1538 9122282C */ lbu $v0, 0x282c($t1)
/* B586DC 800E153C 9138282E */ lbu $t8, 0x282e($t1)
/* B586E0 800E1540 0122C821 */ addu $t9, $t1, $v0
/* B586E4 800E1544 17020003 */ bne $t8, $v0, .L800E1554
/* B586E8 800E1548 244C0001 */ addiu $t4, $v0, 1
/* B586EC 800E154C 1000002D */ b .L800E1604
/* B586F0 800E1550 00001025 */ move $v0, $zero
.L800E1554:
/* B586F4 800E1554 932A262C */ lbu $t2, 0x262c($t9)
/* B586F8 800E1558 8D2F261C */ lw $t7, 0x261c($t1)
/* B586FC 800E155C A12C282C */ sb $t4, 0x282c($t1)
/* B58700 800E1560 000A7100 */ sll $t6, $t2, 4
/* B58704 800E1564 01CF4021 */ addu $t0, $t6, $t7
.L800E1568:
/* B58708 800E1568 9502000A */ lhu $v0, 0xa($t0)
/* B5870C 800E156C 240D0003 */ li $t5, 3
/* B58710 800E1570 2401FFF0 */ li $at, -16
/* B58714 800E1574 A10D000E */ sb $t5, 0xe($t0)
/* B58718 800E1578 02218024 */ and $s0, $s1, $at
/* B5871C 800E157C AD100004 */ sw $s0, 4($t0)
/* B58720 800E1580 A5020008 */ sh $v0, 8($t0)
/* B58724 800E1584 8D2328A0 */ lw $v1, 0x28a0($t1)
/* B58728 800E1588 8D190000 */ lw $t9, ($t0)
/* B5872C 800E158C 8FAE0060 */ lw $t6, 0x60($sp)
/* B58730 800E1590 0003C080 */ sll $t8, $v1, 2
/* B58734 800E1594 0303C023 */ subu $t8, $t8, $v1
/* B58738 800E1598 0018C0C0 */ sll $t8, $t8, 3
/* B5873C 800E159C 3C0C8017 */ lui $t4, %hi(D_80171050) # $t4, 0x8017
/* B58740 800E15A0 3C0F8015 */ lui $t7, %hi(D_80149420) # $t7, 0x8015
/* B58744 800E15A4 25EF9420 */ addiu $t7, %lo(D_80149420) # addiu $t7, $t7, -0x6be0
/* B58748 800E15A8 258C1050 */ addiu $t4, %lo(D_80171050) # addiu $t4, $t4, 0x1050
/* B5874C 800E15AC 01382021 */ addu $a0, $t1, $t8
/* B58750 800E15B0 246D0001 */ addiu $t5, $v1, 1
/* B58754 800E15B4 AD2D28A0 */ sw $t5, 0x28a0($t1)
/* B58758 800E15B8 24841FE8 */ addiu $a0, $a0, 0x1fe8
/* B5875C 800E15BC AFAC0018 */ sw $t4, 0x18($sp)
/* B58760 800E15C0 AFAF0020 */ sw $t7, 0x20($sp)
/* B58764 800E15C4 AFAA0038 */ sw $t2, 0x38($sp)
/* B58768 800E15C8 AFA80048 */ sw $t0, 0x48($sp)
/* B5876C 800E15CC 02003825 */ move $a3, $s0
/* B58770 800E15D0 00002825 */ move $a1, $zero
/* B58774 800E15D4 00003025 */ move $a2, $zero
/* B58778 800E15D8 AFA20014 */ sw $v0, 0x14($sp)
/* B5877C 800E15DC AFB90010 */ sw $t9, 0x10($sp)
/* B58780 800E15E0 0C038AF8 */ jal func_800E2BE0
/* B58784 800E15E4 AFAE001C */ sw $t6, 0x1c($sp)
/* B58788 800E15E8 8FAA0038 */ lw $t2, 0x38($sp)
/* B5878C 800E15EC 8FB8005C */ lw $t8, 0x5c($sp)
/* B58790 800E15F0 8FA80048 */ lw $t0, 0x48($sp)
/* B58794 800E15F4 0230C823 */ subu $t9, $s1, $s0
/* B58798 800E15F8 A30A0000 */ sb $t2, ($t8)
/* B5879C 800E15FC 8D0C0000 */ lw $t4, ($t0)
/* B587A0 800E1600 032C1021 */ addu $v0, $t9, $t4
.L800E1604:
/* B587A4 800E1604 8FBF0034 */ lw $ra, 0x34($sp)
/* B587A8 800E1608 8FB0002C */ lw $s0, 0x2c($sp)
/* B587AC 800E160C 8FB10030 */ lw $s1, 0x30($sp)
/* B587B0 800E1610 03E00008 */ jr $ra
/* B587B4 800E1614 27BD0050 */ addiu $sp, $sp, 0x50
glabel func_800E1618
/* B587B8 800E1618 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B587BC 800E161C AFB20020 */ sw $s2, 0x20($sp)
/* B587C0 800E1620 3C128017 */ lui $s2, %hi(D_8016F180) # $s2, 0x8017
/* B587C4 800E1624 2652F180 */ addiu $s2, %lo(D_8016F180) # addiu $s2, $s2, -0xe80
/* B587C8 800E1628 8E582894 */ lw $t8, 0x2894($s2)
/* B587CC 800E162C 86482848 */ lh $t0, 0x2848($s2)
/* B587D0 800E1630 AFB40028 */ sw $s4, 0x28($sp)
/* B587D4 800E1634 0018C980 */ sll $t9, $t8, 6
/* B587D8 800E1638 03280019 */ multu $t9, $t0
/* B587DC 800E163C 8E4E2874 */ lw $t6, 0x2874($s2)
/* B587E0 800E1640 3C148017 */ lui $s4, %hi(D_80171B40) # $s4, 0x8017
/* B587E4 800E1644 26941B40 */ addiu $s4, %lo(D_80171B40) # addiu $s4, $s4, 0x1b40
/* B587E8 800E1648 AFBF002C */ sw $ra, 0x2c($sp)
/* B587EC 800E164C AFA40030 */ sw $a0, 0x30($sp)
/* B587F0 800E1650 AFB30024 */ sw $s3, 0x24($sp)
/* B587F4 800E1654 AFB1001C */ sw $s1, 0x1c($sp)
/* B587F8 800E1658 AFB00018 */ sw $s0, 0x18($sp)
/* B587FC 800E165C 02802025 */ move $a0, $s4
/* B58800 800E1660 00002812 */ mflo $a1
/* B58804 800E1664 AE4E288C */ sw $t6, 0x288c($s2)
/* B58808 800E1668 0C0378F7 */ jal func_800DE3DC
/* B5880C 800E166C 00000000 */ nop
/* B58810 800E1670 8E492894 */ lw $t1, 0x2894($s2)
/* B58814 800E1674 864B2848 */ lh $t3, 0x2848($s2)
/* B58818 800E1678 AE42261C */ sw $v0, 0x261c($s2)
/* B5881C 800E167C 00095080 */ sll $t2, $t1, 2
/* B58820 800E1680 01495023 */ subu $t2, $t2, $t1
/* B58824 800E1684 014B0019 */ multu $t2, $t3
/* B58828 800E1688 00008825 */ move $s1, $zero
/* B5882C 800E168C 00009812 */ mflo $s3
/* B58830 800E1690 5A60001C */ blezl $s3, .L800E1704
/* B58834 800E1694 8E442620 */ lw $a0, 0x2620($s2)
.L800E1698:
/* B58838 800E1698 8E4C2620 */ lw $t4, 0x2620($s2)
/* B5883C 800E169C 8E4E261C */ lw $t6, 0x261c($s2)
/* B58840 800E16A0 02802025 */ move $a0, $s4
/* B58844 800E16A4 000C6900 */ sll $t5, $t4, 4
/* B58848 800E16A8 8E45288C */ lw $a1, 0x288c($s2)
/* B5884C 800E16AC 0C0378AC */ jal func_800DE2B0
/* B58850 800E16B0 01AE8021 */ addu $s0, $t5, $t6
/* B58854 800E16B4 14400003 */ bnez $v0, .L800E16C4
/* B58858 800E16B8 AE020000 */ sw $v0, ($s0)
/* B5885C 800E16BC 10000010 */ b .L800E1700
/* B58860 800E16C0 00008825 */ move $s1, $zero
.L800E16C4:
/* B58864 800E16C4 8E040000 */ lw $a0, ($s0)
/* B58868 800E16C8 0C03788E */ jal func_800DE238
/* B5886C 800E16CC 8E45288C */ lw $a1, 0x288c($s2)
/* B58870 800E16D0 8E4F288C */ lw $t7, 0x288c($s2)
/* B58874 800E16D4 AE000004 */ sw $zero, 4($s0)
/* B58878 800E16D8 A6000008 */ sh $zero, 8($s0)
/* B5887C 800E16DC A200000C */ sb $zero, 0xc($s0)
/* B58880 800E16E0 A200000E */ sb $zero, 0xe($s0)
/* B58884 800E16E4 A60F000A */ sh $t7, 0xa($s0)
/* B58888 800E16E8 8E582620 */ lw $t8, 0x2620($s2)
/* B5888C 800E16EC 26310001 */ addiu $s1, $s1, 1
/* B58890 800E16F0 27190001 */ addiu $t9, $t8, 1
/* B58894 800E16F4 1633FFE8 */ bne $s1, $s3, .L800E1698
/* B58898 800E16F8 AE592620 */ sw $t9, 0x2620($s2)
/* B5889C 800E16FC 00008825 */ move $s1, $zero
.L800E1700:
/* B588A0 800E1700 8E442620 */ lw $a0, 0x2620($s2)
.L800E1704:
/* B588A4 800E1704 3C028017 */ lui $v0, %hi(D_8016F180) # $v0, 0x8017
/* B588A8 800E1708 2442F180 */ addiu $v0, %lo(D_8016F180) # addiu $v0, $v0, -0xe80
/* B588AC 800E170C 1080000C */ beqz $a0, .L800E1740
/* B588B0 800E1710 00001825 */ move $v1, $zero
/* B588B4 800E1714 A051262C */ sb $s1, 0x262c($v0)
.L800E1718:
/* B588B8 800E1718 8E48261C */ lw $t0, 0x261c($s2)
/* B588BC 800E171C 24420001 */ addiu $v0, $v0, 1
/* B588C0 800E1720 01034821 */ addu $t1, $t0, $v1
/* B588C4 800E1724 A131000D */ sb $s1, 0xd($t1)
/* B588C8 800E1728 8E442620 */ lw $a0, 0x2620($s2)
/* B588CC 800E172C 26310001 */ addiu $s1, $s1, 1
/* B588D0 800E1730 24630010 */ addiu $v1, $v1, 0x10
/* B588D4 800E1734 0224082B */ sltu $at, $s1, $a0
/* B588D8 800E1738 5420FFF7 */ bnezl $at, .L800E1718
/* B588DC 800E173C A051262C */ sb $s1, 0x262c($v0)
.L800E1740:
/* B588E0 800E1740 28810100 */ slti $at, $a0, 0x100
/* B588E4 800E1744 10200009 */ beqz $at, .L800E176C
/* B588E8 800E1748 00808825 */ move $s1, $a0
/* B588EC 800E174C 3C038017 */ lui $v1, %hi(D_8016F280) # $v1, 0x8017
/* B588F0 800E1750 2463F280 */ addiu $v1, %lo(D_8016F280) # addiu $v1, $v1, -0xd80
/* B588F4 800E1754 02511021 */ addu $v0, $s2, $s1
.L800E1758:
/* B588F8 800E1758 24420001 */ addiu $v0, $v0, 1
/* B588FC 800E175C 0043082B */ sltu $at, $v0, $v1
/* B58900 800E1760 1420FFFD */ bnez $at, .L800E1758
/* B58904 800E1764 A040262B */ sb $zero, 0x262b($v0)
/* B58908 800E1768 8E442620 */ lw $a0, 0x2620($s2)
.L800E176C:
/* B5890C 800E176C 8E4B2894 */ lw $t3, 0x2894($s2)
/* B58910 800E1770 8E4A2878 */ lw $t2, 0x2878($s2)
/* B58914 800E1774 A240282C */ sb $zero, 0x282c($s2)
/* B58918 800E1778 A244282E */ sb $a0, 0x282e($s2)
/* B5891C 800E177C AE442624 */ sw $a0, 0x2624($s2)
/* B58920 800E1780 00008825 */ move $s1, $zero
/* B58924 800E1784 1960001D */ blez $t3, .L800E17FC
/* B58928 800E1788 AE4A288C */ sw $t2, 0x288c($s2)
.L800E178C:
/* B5892C 800E178C 8E4C2620 */ lw $t4, 0x2620($s2)
/* B58930 800E1790 8E4E261C */ lw $t6, 0x261c($s2)
/* B58934 800E1794 02802025 */ move $a0, $s4
/* B58938 800E1798 000C6900 */ sll $t5, $t4, 4
/* B5893C 800E179C 8E45288C */ lw $a1, 0x288c($s2)
/* B58940 800E17A0 0C0378AC */ jal func_800DE2B0
/* B58944 800E17A4 01AE8021 */ addu $s0, $t5, $t6
/* B58948 800E17A8 14400003 */ bnez $v0, .L800E17B8
/* B5894C 800E17AC AE020000 */ sw $v0, ($s0)
/* B58950 800E17B0 10000012 */ b .L800E17FC
/* B58954 800E17B4 8E442620 */ lw $a0, 0x2620($s2)
.L800E17B8:
/* B58958 800E17B8 8E040000 */ lw $a0, ($s0)
/* B5895C 800E17BC 0C03788E */ jal func_800DE238
/* B58960 800E17C0 8E45288C */ lw $a1, 0x288c($s2)
/* B58964 800E17C4 8E4F288C */ lw $t7, 0x288c($s2)
/* B58968 800E17C8 AE000004 */ sw $zero, 4($s0)
/* B5896C 800E17CC A6000008 */ sh $zero, 8($s0)
/* B58970 800E17D0 A200000C */ sb $zero, 0xc($s0)
/* B58974 800E17D4 A200000E */ sb $zero, 0xe($s0)
/* B58978 800E17D8 A60F000A */ sh $t7, 0xa($s0)
/* B5897C 800E17DC 8E482894 */ lw $t0, 0x2894($s2)
/* B58980 800E17E0 8E582620 */ lw $t8, 0x2620($s2)
/* B58984 800E17E4 26310001 */ addiu $s1, $s1, 1
/* B58988 800E17E8 0228082A */ slt $at, $s1, $t0
/* B5898C 800E17EC 27190001 */ addiu $t9, $t8, 1
/* B58990 800E17F0 1420FFE6 */ bnez $at, .L800E178C
/* B58994 800E17F4 AE592620 */ sw $t9, 0x2620($s2)
/* B58998 800E17F8 03202025 */ move $a0, $t9
.L800E17FC:
/* B5899C 800E17FC 8E512624 */ lw $s1, 0x2624($s2)
/* B589A0 800E1800 0224082B */ sltu $at, $s1, $a0
/* B589A4 800E1804 10200012 */ beqz $at, .L800E1850
/* B589A8 800E1808 00111900 */ sll $v1, $s1, 4
/* B589AC 800E180C 02511021 */ addu $v0, $s2, $s1
/* B589B0 800E1810 8E492624 */ lw $t1, 0x2624($s2)
.L800E1814:
/* B589B4 800E1814 00095023 */ negu $t2, $t1
/* B589B8 800E1818 004A5821 */ addu $t3, $v0, $t2
/* B589BC 800E181C A171272C */ sb $s1, 0x272c($t3)
/* B589C0 800E1820 8E4E261C */ lw $t6, 0x261c($s2)
/* B589C4 800E1824 8E4C2624 */ lw $t4, 0x2624($s2)
/* B589C8 800E1828 24420001 */ addiu $v0, $v0, 1
/* B589CC 800E182C 01C37821 */ addu $t7, $t6, $v1
/* B589D0 800E1830 022C6823 */ subu $t5, $s1, $t4
/* B589D4 800E1834 A1ED000D */ sb $t5, 0xd($t7)
/* B589D8 800E1838 8E442620 */ lw $a0, 0x2620($s2)
/* B589DC 800E183C 26310001 */ addiu $s1, $s1, 1
/* B589E0 800E1840 24630010 */ addiu $v1, $v1, 0x10
/* B589E4 800E1844 0224082B */ sltu $at, $s1, $a0
/* B589E8 800E1848 5420FFF2 */ bnezl $at, .L800E1814
/* B589EC 800E184C 8E492624 */ lw $t1, 0x2624($s2)
.L800E1850:
/* B589F0 800E1850 28810100 */ slti $at, $a0, 0x100
/* B589F4 800E1854 1020000A */ beqz $at, .L800E1880
/* B589F8 800E1858 00808825 */ move $s1, $a0
/* B589FC 800E185C 3C038017 */ lui $v1, %hi(D_8016F280) # $v1, 0x8017
/* B58A00 800E1860 2463F280 */ addiu $v1, %lo(D_8016F280) # addiu $v1, $v1, -0xd80
/* B58A04 800E1864 02511021 */ addu $v0, $s2, $s1
.L800E1868:
/* B58A08 800E1868 8E582624 */ lw $t8, 0x2624($s2)
/* B58A0C 800E186C 24420001 */ addiu $v0, $v0, 1
/* B58A10 800E1870 0043082B */ sltu $at, $v0, $v1
/* B58A14 800E1874 1420FFFC */ bnez $at, .L800E1868
/* B58A18 800E1878 A058272B */ sb $t8, 0x272b($v0)
/* B58A1C 800E187C 8E442620 */ lw $a0, 0x2620($s2)
.L800E1880:
/* B58A20 800E1880 8E592624 */ lw $t9, 0x2624($s2)
/* B58A24 800E1884 8FBF002C */ lw $ra, 0x2c($sp)
/* B58A28 800E1888 A240282D */ sb $zero, 0x282d($s2)
/* B58A2C 800E188C 00994023 */ subu $t0, $a0, $t9
/* B58A30 800E1890 A248282F */ sb $t0, 0x282f($s2)
/* B58A34 800E1894 8FB20020 */ lw $s2, 0x20($sp)
/* B58A38 800E1898 8FB00018 */ lw $s0, 0x18($sp)
/* B58A3C 800E189C 8FB1001C */ lw $s1, 0x1c($sp)
/* B58A40 800E18A0 8FB30024 */ lw $s3, 0x24($sp)
/* B58A44 800E18A4 8FB40028 */ lw $s4, 0x28($sp)
/* B58A48 800E18A8 03E00008 */ jr $ra
/* B58A4C 800E18AC 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800E18B0
/* B58A50 800E18B0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B58A54 800E18B4 240100FF */ li $at, 255
/* B58A58 800E18B8 AFBF0014 */ sw $ra, 0x14($sp)
/* B58A5C 800E18BC 14810003 */ bne $a0, $at, .L800E18CC
/* B58A60 800E18C0 00802825 */ move $a1, $a0
/* B58A64 800E18C4 10000014 */ b .L800E1918
/* B58A68 800E18C8 24020001 */ li $v0, 1
.L800E18CC:
/* B58A6C 800E18CC 3C0E8017 */ lui $t6, %hi(D_801725E8)
/* B58A70 800E18D0 01C57021 */ addu $t6, $t6, $a1
/* B58A74 800E18D4 91CE25E8 */ lbu $t6, %lo(D_801725E8)($t6)
/* B58A78 800E18D8 29C10002 */ slti $at, $t6, 2
/* B58A7C 800E18DC 14200003 */ bnez $at, .L800E18EC
/* B58A80 800E18E0 00000000 */ nop
/* B58A84 800E18E4 1000000C */ b .L800E1918
/* B58A88 800E18E8 24020001 */ li $v0, 1
.L800E18EC:
/* B58A8C 800E18EC 0C0389DA */ jal func_800E2768
/* B58A90 800E18F0 24040001 */ li $a0, 1
/* B58A94 800E18F4 3C0F8017 */ lui $t7, %hi(D_801725E8)
/* B58A98 800E18F8 01E27821 */ addu $t7, $t7, $v0
/* B58A9C 800E18FC 91EF25E8 */ lbu $t7, %lo(D_801725E8)($t7)
/* B58AA0 800E1900 00001025 */ move $v0, $zero
/* B58AA4 800E1904 29E10002 */ slti $at, $t7, 2
/* B58AA8 800E1908 14200003 */ bnez $at, .L800E1918
/* B58AAC 800E190C 00000000 */ nop
/* B58AB0 800E1910 10000001 */ b .L800E1918
/* B58AB4 800E1914 24020001 */ li $v0, 1
.L800E1918:
/* B58AB8 800E1918 8FBF0014 */ lw $ra, 0x14($sp)
/* B58ABC 800E191C 27BD0018 */ addiu $sp, $sp, 0x18
/* B58AC0 800E1920 03E00008 */ jr $ra
/* B58AC4 800E1924 00000000 */ nop
glabel func_800E1928
/* B58AC8 800E1928 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B58ACC 800E192C 240100FF */ li $at, 255
/* B58AD0 800E1930 AFBF0014 */ sw $ra, 0x14($sp)
/* B58AD4 800E1934 14810003 */ bne $a0, $at, .L800E1944
/* B58AD8 800E1938 00802825 */ move $a1, $a0
/* B58ADC 800E193C 10000014 */ b .L800E1990
/* B58AE0 800E1940 24020001 */ li $v0, 1
.L800E1944:
/* B58AE4 800E1944 3C0E8017 */ lui $t6, %hi(D_80172618)
/* B58AE8 800E1948 01C57021 */ addu $t6, $t6, $a1
/* B58AEC 800E194C 91CE2618 */ lbu $t6, %lo(D_80172618)($t6)
/* B58AF0 800E1950 29C10002 */ slti $at, $t6, 2
/* B58AF4 800E1954 14200003 */ bnez $at, .L800E1964
/* B58AF8 800E1958 00000000 */ nop
/* B58AFC 800E195C 1000000C */ b .L800E1990
/* B58B00 800E1960 24020001 */ li $v0, 1
.L800E1964:
/* B58B04 800E1964 0C0389DA */ jal func_800E2768
/* B58B08 800E1968 00002025 */ move $a0, $zero
/* B58B0C 800E196C 3C0F8017 */ lui $t7, %hi(D_80172618)
/* B58B10 800E1970 01E27821 */ addu $t7, $t7, $v0
/* B58B14 800E1974 91EF2618 */ lbu $t7, %lo(D_80172618)($t7)
/* B58B18 800E1978 00001025 */ move $v0, $zero
/* B58B1C 800E197C 29E10002 */ slti $at, $t7, 2
/* B58B20 800E1980 14200003 */ bnez $at, .L800E1990
/* B58B24 800E1984 00000000 */ nop
/* B58B28 800E1988 10000001 */ b .L800E1990
/* B58B2C 800E198C 24020001 */ li $v0, 1
.L800E1990:
/* B58B30 800E1990 8FBF0014 */ lw $ra, 0x14($sp)
/* B58B34 800E1994 27BD0018 */ addiu $sp, $sp, 0x18
/* B58B38 800E1998 03E00008 */ jr $ra
/* B58B3C 800E199C 00000000 */ nop
glabel func_800E19A0
/* B58B40 800E19A0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B58B44 800E19A4 240100FF */ li $at, 255
/* B58B48 800E19A8 AFBF0014 */ sw $ra, 0x14($sp)
/* B58B4C 800E19AC 14810003 */ bne $a0, $at, .L800E19BC
/* B58B50 800E19B0 00802825 */ move $a1, $a0
/* B58B54 800E19B4 10000014 */ b .L800E1A08
/* B58B58 800E19B8 24020001 */ li $v0, 1
.L800E19BC:
/* B58B5C 800E19BC 3C0E8017 */ lui $t6, %hi(D_801725B8)
/* B58B60 800E19C0 01C57021 */ addu $t6, $t6, $a1
/* B58B64 800E19C4 91CE25B8 */ lbu $t6, %lo(D_801725B8)($t6)
/* B58B68 800E19C8 29C10002 */ slti $at, $t6, 2
/* B58B6C 800E19CC 14200003 */ bnez $at, .L800E19DC
/* B58B70 800E19D0 00000000 */ nop
/* B58B74 800E19D4 1000000C */ b .L800E1A08
/* B58B78 800E19D8 24020001 */ li $v0, 1
.L800E19DC:
/* B58B7C 800E19DC 0C0389DA */ jal func_800E2768
/* B58B80 800E19E0 24040002 */ li $a0, 2
/* B58B84 800E19E4 3C0F8017 */ lui $t7, %hi(D_801725B8)
/* B58B88 800E19E8 01E27821 */ addu $t7, $t7, $v0
/* B58B8C 800E19EC 91EF25B8 */ lbu $t7, %lo(D_801725B8)($t7)
/* B58B90 800E19F0 00001025 */ move $v0, $zero
/* B58B94 800E19F4 29E10002 */ slti $at, $t7, 2
/* B58B98 800E19F8 14200003 */ bnez $at, .L800E1A08
/* B58B9C 800E19FC 00000000 */ nop
/* B58BA0 800E1A00 10000001 */ b .L800E1A08
/* B58BA4 800E1A04 24020001 */ li $v0, 1
.L800E1A08:
/* B58BA8 800E1A08 8FBF0014 */ lw $ra, 0x14($sp)
/* B58BAC 800E1A0C 27BD0018 */ addiu $sp, $sp, 0x18
/* B58BB0 800E1A10 03E00008 */ jr $ra
/* B58BB4 800E1A14 00000000 */ nop
glabel func_800E1A18
/* B58BB8 800E1A18 240100FF */ li $at, 255
/* B58BBC 800E1A1C 10810008 */ beq $a0, $at, .L800E1A40
/* B58BC0 800E1A20 3C0E8017 */ lui $t6, %hi(D_8016F180) # $t6, 0x8017
/* B58BC4 800E1A24 25CEF180 */ addiu $t6, %lo(D_8016F180) # addiu $t6, $t6, -0xe80
/* B58BC8 800E1A28 008E1021 */ addu $v0, $a0, $t6
/* B58BCC 800E1A2C 904F3468 */ lbu $t7, 0x3468($v0)
/* B58BD0 800E1A30 24010005 */ li $at, 5
/* B58BD4 800E1A34 11E10002 */ beq $t7, $at, .L800E1A40
/* B58BD8 800E1A38 00000000 */ nop
/* B58BDC 800E1A3C A0453468 */ sb $a1, 0x3468($v0)
.L800E1A40:
/* B58BE0 800E1A40 03E00008 */ jr $ra
/* B58BE4 800E1A44 00000000 */ nop
glabel func_800E1A48
/* B58BE8 800E1A48 240100FF */ li $at, 255
/* B58BEC 800E1A4C 10810008 */ beq $a0, $at, .L800E1A70
/* B58BF0 800E1A50 3C0E8017 */ lui $t6, %hi(D_8016F180) # $t6, 0x8017
/* B58BF4 800E1A54 25CEF180 */ addiu $t6, %lo(D_8016F180) # addiu $t6, $t6, -0xe80
/* B58BF8 800E1A58 008E1021 */ addu $v0, $a0, $t6
/* B58BFC 800E1A5C 904F3498 */ lbu $t7, 0x3498($v0)
/* B58C00 800E1A60 24010005 */ li $at, 5
/* B58C04 800E1A64 11E10002 */ beq $t7, $at, .L800E1A70
/* B58C08 800E1A68 00000000 */ nop
/* B58C0C 800E1A6C A0453498 */ sb $a1, 0x3498($v0)
.L800E1A70:
/* B58C10 800E1A70 03E00008 */ jr $ra
/* B58C14 800E1A74 00000000 */ nop
glabel func_800E1A78
/* B58C18 800E1A78 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B58C1C 800E1A7C 240100FF */ li $at, 255
/* B58C20 800E1A80 10810011 */ beq $a0, $at, .L800E1AC8
/* B58C24 800E1A84 AFBF0014 */ sw $ra, 0x14($sp)
/* B58C28 800E1A88 3C0E8017 */ lui $t6, %hi(D_8016F180) # $t6, 0x8017
/* B58C2C 800E1A8C 25CEF180 */ addiu $t6, %lo(D_8016F180) # addiu $t6, $t6, -0xe80
/* B58C30 800E1A90 008E1821 */ addu $v1, $a0, $t6
/* B58C34 800E1A94 90623438 */ lbu $v0, 0x3438($v1)
/* B58C38 800E1A98 24060005 */ li $a2, 5
/* B58C3C 800E1A9C 24010002 */ li $at, 2
/* B58C40 800E1AA0 10C20003 */ beq $a2, $v0, .L800E1AB0
/* B58C44 800E1AA4 00000000 */ nop
/* B58C48 800E1AA8 A0653438 */ sb $a1, 0x3438($v1)
/* B58C4C 800E1AAC 30A200FF */ andi $v0, $a1, 0xff
.L800E1AB0:
/* B58C50 800E1AB0 10C20003 */ beq $a2, $v0, .L800E1AC0
/* B58C54 800E1AB4 00000000 */ nop
/* B58C58 800E1AB8 54410004 */ bnel $v0, $at, .L800E1ACC
/* B58C5C 800E1ABC 8FBF0014 */ lw $ra, 0x14($sp)
.L800E1AC0:
/* B58C60 800E1AC0 0C0383A4 */ jal func_800E0E90
/* B58C64 800E1AC4 00000000 */ nop
.L800E1AC8:
/* B58C68 800E1AC8 8FBF0014 */ lw $ra, 0x14($sp)
.L800E1ACC:
/* B58C6C 800E1ACC 27BD0018 */ addiu $sp, $sp, 0x18
/* B58C70 800E1AD0 03E00008 */ jr $ra
/* B58C74 800E1AD4 00000000 */ nop
glabel func_800E1AD8
/* B58C78 800E1AD8 240100FF */ li $at, 255
/* B58C7C 800E1ADC 10810008 */ beq $a0, $at, .L800E1B00
/* B58C80 800E1AE0 3C0E8017 */ lui $t6, %hi(D_8016F180) # $t6, 0x8017
/* B58C84 800E1AE4 25CEF180 */ addiu $t6, %lo(D_8016F180) # addiu $t6, $t6, -0xe80
/* B58C88 800E1AE8 008E1021 */ addu $v0, $a0, $t6
/* B58C8C 800E1AEC 904F3438 */ lbu $t7, 0x3438($v0)
/* B58C90 800E1AF0 24010005 */ li $at, 5
/* B58C94 800E1AF4 11E10002 */ beq $t7, $at, .L800E1B00
/* B58C98 800E1AF8 00000000 */ nop
/* B58C9C 800E1AFC A0453438 */ sb $a1, 0x3438($v0)
.L800E1B00:
/* B58CA0 800E1B00 03E00008 */ jr $ra
/* B58CA4 800E1B04 00000000 */ nop
glabel func_800E1B08
/* B58CA8 800E1B08 AFA60008 */ sw $a2, 8($sp)
/* B58CAC 800E1B0C 84830000 */ lh $v1, ($a0)
/* B58CB0 800E1B10 A4860002 */ sh $a2, 2($a0)
/* B58CB4 800E1B14 AC850004 */ sw $a1, 4($a0)
/* B58CB8 800E1B18 18600011 */ blez $v1, .L800E1B60
/* B58CBC 800E1B1C 00001025 */ move $v0, $zero
/* B58CC0 800E1B20 00803025 */ move $a2, $a0
/* B58CC4 800E1B24 24070002 */ li $a3, 2
.L800E1B28:
/* B58CC8 800E1B28 8CCE0014 */ lw $t6, 0x14($a2)
/* B58CCC 800E1B2C 24420001 */ addiu $v0, $v0, 1
/* B58CD0 800E1B30 51C00009 */ beql $t6, $zero, .L800E1B58
/* B58CD4 800E1B34 0043082A */ slt $at, $v0, $v1
/* B58CD8 800E1B38 80CF0018 */ lb $t7, 0x18($a2)
/* B58CDC 800E1B3C 54EF0006 */ bnel $a3, $t7, .L800E1B58
/* B58CE0 800E1B40 0043082A */ slt $at, $v0, $v1
/* B58CE4 800E1B44 8CD80010 */ lw $t8, 0x10($a2)
/* B58CE8 800E1B48 0305C821 */ addu $t9, $t8, $a1
/* B58CEC 800E1B4C ACD90010 */ sw $t9, 0x10($a2)
/* B58CF0 800E1B50 84830000 */ lh $v1, ($a0)
/* B58CF4 800E1B54 0043082A */ slt $at, $v0, $v1
.L800E1B58:
/* B58CF8 800E1B58 1420FFF3 */ bnez $at, .L800E1B28
/* B58CFC 800E1B5C 24C60010 */ addiu $a2, $a2, 0x10
.L800E1B60:
/* B58D00 800E1B60 03E00008 */ jr $ra
/* B58D04 800E1B64 00000000 */ nop
glabel func_800E1B68
/* B58D08 800E1B68 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B58D0C 800E1B6C AFB30020 */ sw $s3, 0x20($sp)
/* B58D10 800E1B70 3C138017 */ lui $s3, %hi(D_8016F180) # $s3, 0x8017
/* B58D14 800E1B74 2673F180 */ addiu $s3, %lo(D_8016F180) # addiu $s3, $s3, -0xe80
/* B58D18 800E1B78 966E2840 */ lhu $t6, 0x2840($s3)
/* B58D1C 800E1B7C AFBF0024 */ sw $ra, 0x24($sp)
/* B58D20 800E1B80 AFB2001C */ sw $s2, 0x1c($sp)
/* B58D24 800E1B84 008E082A */ slt $at, $a0, $t6
/* B58D28 800E1B88 AFB10018 */ sw $s1, 0x18($sp)
/* B58D2C 800E1B8C AFB00014 */ sw $s0, 0x14($sp)
/* B58D30 800E1B90 14200003 */ bnez $at, .L800E1BA0
/* B58D34 800E1B94 AFA5003C */ sw $a1, 0x3c($sp)
/* B58D38 800E1B98 10000018 */ b .L800E1BFC
/* B58D3C 800E1B9C 00001025 */ move $v0, $zero
.L800E1BA0:
/* B58D40 800E1BA0 8E62283C */ lw $v0, 0x283c($s3)
/* B58D44 800E1BA4 00047840 */ sll $t7, $a0, 1
/* B58D48 800E1BA8 241200FF */ li $s2, 255
/* B58D4C 800E1BAC 004FC021 */ addu $t8, $v0, $t7
/* B58D50 800E1BB0 97100000 */ lhu $s0, ($t8)
/* B58D54 800E1BB4 0202C821 */ addu $t9, $s0, $v0
/* B58D58 800E1BB8 93310000 */ lbu $s1, ($t9)
/* B58D5C 800E1BBC 26100001 */ addiu $s0, $s0, 1
/* B58D60 800E1BC0 5A20000C */ blezl $s1, .L800E1BF4
/* B58D64 800E1BC4 8FAA003C */ lw $t2, 0x3c($sp)
/* B58D68 800E1BC8 8E68283C */ lw $t0, 0x283c($s3)
.L800E1BCC:
/* B58D6C 800E1BCC 02084821 */ addu $t1, $s0, $t0
/* B58D70 800E1BD0 91320000 */ lbu $s2, ($t1)
/* B58D74 800E1BD4 26100001 */ addiu $s0, $s0, 1
/* B58D78 800E1BD8 0C038915 */ jal func_800E2454
/* B58D7C 800E1BDC 02402025 */ move $a0, $s2
/* B58D80 800E1BE0 2631FFFF */ addiu $s1, $s1, -1
/* B58D84 800E1BE4 5E20FFF9 */ bgtzl $s1, .L800E1BCC
/* B58D88 800E1BE8 8E68283C */ lw $t0, 0x283c($s3)
/* B58D8C 800E1BEC AFA20028 */ sw $v0, 0x28($sp)
/* B58D90 800E1BF0 8FAA003C */ lw $t2, 0x3c($sp)
.L800E1BF4:
/* B58D94 800E1BF4 8FA20028 */ lw $v0, 0x28($sp)
/* B58D98 800E1BF8 AD520000 */ sw $s2, ($t2)
.L800E1BFC:
/* B58D9C 800E1BFC 8FBF0024 */ lw $ra, 0x24($sp)
/* B58DA0 800E1C00 8FB00014 */ lw $s0, 0x14($sp)
/* B58DA4 800E1C04 8FB10018 */ lw $s1, 0x18($sp)
/* B58DA8 800E1C08 8FB2001C */ lw $s2, 0x1c($sp)
/* B58DAC 800E1C0C 8FB30020 */ lw $s3, 0x20($sp)
/* B58DB0 800E1C10 03E00008 */ jr $ra
/* B58DB4 800E1C14 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800E1C18
/* B58DB8 800E1C18 3C0E8017 */ lui $t6, %hi(D_801719C0) # $t6, 0x8017
/* B58DBC 800E1C1C 95CE19C0 */ lhu $t6, %lo(D_801719C0)($t6)
/* B58DC0 800E1C20 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B58DC4 800E1C24 AFBF0014 */ sw $ra, 0x14($sp)
/* B58DC8 800E1C28 008E082A */ slt $at, $a0, $t6
/* B58DCC 800E1C2C 1020000E */ beqz $at, .L800E1C68
/* B58DD0 800E1C30 00A03025 */ move $a2, $a1
/* B58DD4 800E1C34 30AF0002 */ andi $t7, $a1, 2
/* B58DD8 800E1C38 11E00006 */ beqz $t7, .L800E1C54
/* B58DDC 800E1C3C 27A50018 */ addiu $a1, $sp, 0x18
/* B58DE0 800E1C40 AFA40020 */ sw $a0, 0x20($sp)
/* B58DE4 800E1C44 0C0386DA */ jal func_800E1B68
/* B58DE8 800E1C48 AFA60024 */ sw $a2, 0x24($sp)
/* B58DEC 800E1C4C 8FA40020 */ lw $a0, 0x20($sp)
/* B58DF0 800E1C50 8FA60024 */ lw $a2, 0x24($sp)
.L800E1C54:
/* B58DF4 800E1C54 30D80001 */ andi $t8, $a2, 1
/* B58DF8 800E1C58 53000004 */ beql $t8, $zero, .L800E1C6C
/* B58DFC 800E1C5C 8FBF0014 */ lw $ra, 0x14($sp)
/* B58E00 800E1C60 0C0388B1 */ jal func_800E22C4
/* B58E04 800E1C64 00000000 */ nop
.L800E1C68:
/* B58E08 800E1C68 8FBF0014 */ lw $ra, 0x14($sp)
.L800E1C6C:
/* B58E0C 800E1C6C 27BD0020 */ addiu $sp, $sp, 0x20
/* B58E10 800E1C70 03E00008 */ jr $ra
/* B58E14 800E1C74 00000000 */ nop
glabel func_800E1C78
/* B58E18 800E1C78 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B58E1C 800E1C7C AFBF0024 */ sw $ra, 0x24($sp)
/* B58E20 800E1C80 AFB00020 */ sw $s0, 0x20($sp)
/* B58E24 800E1C84 908E0000 */ lbu $t6, ($a0)
/* B58E28 800E1C88 24010001 */ li $at, 1
/* B58E2C 800E1C8C 00808025 */ move $s0, $a0
/* B58E30 800E1C90 31CF0001 */ andi $t7, $t6, 1
/* B58E34 800E1C94 55E1002F */ bnel $t7, $at, .L800E1D54
/* B58E38 800E1C98 8FBF0024 */ lw $ra, 0x24($sp)
/* B58E3C 800E1C9C 8C820000 */ lw $v0, ($a0)
/* B58E40 800E1CA0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B58E44 800E1CA4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B58E48 800E1CA8 00021900 */ sll $v1, $v0, 4
/* B58E4C 800E1CAC 00031F82 */ srl $v1, $v1, 0x1e
/* B58E50 800E1CB0 10600027 */ beqz $v1, .L800E1D50
/* B58E54 800E1CB4 00412024 */ and $a0, $v0, $at
/* B58E58 800E1CB8 8E060004 */ lw $a2, 4($s0)
/* B58E5C 800E1CBC 00033E00 */ sll $a3, $v1, 0x18
/* B58E60 800E1CC0 24180001 */ li $t8, 1
/* B58E64 800E1CC4 AFB80010 */ sw $t8, 0x10($sp)
/* B58E68 800E1CC8 0C038171 */ jal func_800E05C4
/* B58E6C 800E1CCC 00073E03 */ sra $a3, $a3, 0x18
/* B58E70 800E1CD0 14400003 */ bnez $v0, .L800E1CE0
/* B58E74 800E1CD4 00402825 */ move $a1, $v0
/* B58E78 800E1CD8 1000001D */ b .L800E1D50
/* B58E7C 800E1CDC 2402FFFF */ li $v0, -1
.L800E1CE0:
/* B58E80 800E1CE0 8E020000 */ lw $v0, ($s0)
/* B58E84 800E1CE4 24010001 */ li $at, 1
/* B58E88 800E1CE8 3C198017 */ lui $t9, %hi(D_801719B8) # $t9, 0x8017
/* B58E8C 800E1CEC 00021900 */ sll $v1, $v0, 4
/* B58E90 800E1CF0 00031F82 */ srl $v1, $v1, 0x1e
/* B58E94 800E1CF4 1461000B */ bne $v1, $at, .L800E1D24
/* B58E98 800E1CF8 00603825 */ move $a3, $v1
/* B58E9C 800E1CFC 8F3919B8 */ lw $t9, %lo(D_801719B8)($t9)
/* B58EA0 800E1D00 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B58EA4 800E1D04 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B58EA8 800E1D08 8E040004 */ lw $a0, 4($s0)
/* B58EAC 800E1D0C 87270002 */ lh $a3, 2($t9)
/* B58EB0 800E1D10 AFA5002C */ sw $a1, 0x2c($sp)
/* B58EB4 800E1D14 0C038AF3 */ jal func_800E2BCC
/* B58EB8 800E1D18 00413024 */ and $a2, $v0, $at
/* B58EBC 800E1D1C 10000008 */ b .L800E1D40
/* B58EC0 800E1D20 92080000 */ lbu $t0, ($s0)
.L800E1D24:
/* B58EC4 800E1D24 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B58EC8 800E1D28 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B58ECC 800E1D2C 8E040004 */ lw $a0, 4($s0)
/* B58ED0 800E1D30 AFA5002C */ sw $a1, 0x2c($sp)
/* B58ED4 800E1D34 0C038AAA */ jal func_800E2AA8
/* B58ED8 800E1D38 00413024 */ and $a2, $v0, $at
/* B58EDC 800E1D3C 92080000 */ lbu $t0, ($s0)
.L800E1D40:
/* B58EE0 800E1D40 3109FFF3 */ andi $t1, $t0, 0xfff3
/* B58EE4 800E1D44 A2090000 */ sb $t1, ($s0)
/* B58EE8 800E1D48 8FAA002C */ lw $t2, 0x2c($sp)
/* B58EEC 800E1D4C AE0A0004 */ sw $t2, 4($s0)
.L800E1D50:
/* B58EF0 800E1D50 8FBF0024 */ lw $ra, 0x24($sp)
.L800E1D54:
/* B58EF4 800E1D54 8FB00020 */ lw $s0, 0x20($sp)
/* B58EF8 800E1D58 27BD0030 */ addiu $sp, $sp, 0x30
/* B58EFC 800E1D5C 03E00008 */ jr $ra
/* B58F00 800E1D60 00000000 */ nop
glabel func_800E1D64
/* B58F04 800E1D64 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B58F08 800E1D68 AFB00018 */ sw $s0, 0x18($sp)
/* B58F0C 800E1D6C 28A1007F */ slti $at, $a1, 0x7f
/* B58F10 800E1D70 00808025 */ move $s0, $a0
/* B58F14 800E1D74 1020001D */ beqz $at, .L800E1DEC
/* B58F18 800E1D78 AFBF001C */ sw $ra, 0x1c($sp)
/* B58F1C 800E1D7C 0C039D26 */ jal func_800E7498
/* B58F20 800E1D80 00000000 */ nop
/* B58F24 800E1D84 14400003 */ bnez $v0, .L800E1D94
/* B58F28 800E1D88 00401825 */ move $v1, $v0
/* B58F2C 800E1D8C 10000024 */ b .L800E1E20
/* B58F30 800E1D90 2402FFFF */ li $v0, -1
.L800E1D94:
/* B58F34 800E1D94 904E0001 */ lbu $t6, 1($v0)
/* B58F38 800E1D98 02002825 */ move $a1, $s0
/* B58F3C 800E1D9C 51C00006 */ beql $t6, $zero, .L800E1DB8
/* B58F40 800E1DA0 8C640010 */ lw $a0, 0x10($v1)
/* B58F44 800E1DA4 8C640008 */ lw $a0, 8($v1)
/* B58F48 800E1DA8 0C03871E */ jal func_800E1C78
/* B58F4C 800E1DAC AFA30024 */ sw $v1, 0x24($sp)
/* B58F50 800E1DB0 8FA30024 */ lw $v1, 0x24($sp)
/* B58F54 800E1DB4 8C640010 */ lw $a0, 0x10($v1)
.L800E1DB8:
/* B58F58 800E1DB8 AFA30024 */ sw $v1, 0x24($sp)
/* B58F5C 800E1DBC 0C03871E */ jal func_800E1C78
/* B58F60 800E1DC0 02002825 */ move $a1, $s0
/* B58F64 800E1DC4 8FA30024 */ lw $v1, 0x24($sp)
/* B58F68 800E1DC8 2401007F */ li $at, 127
/* B58F6C 800E1DCC 02002825 */ move $a1, $s0
/* B58F70 800E1DD0 906F0002 */ lbu $t7, 2($v1)
/* B58F74 800E1DD4 51E10013 */ beql $t7, $at, .L800E1E24
/* B58F78 800E1DD8 8FBF001C */ lw $ra, 0x1c($sp)
/* B58F7C 800E1DDC 0C03871E */ jal func_800E1C78
/* B58F80 800E1DE0 8C640018 */ lw $a0, 0x18($v1)
/* B58F84 800E1DE4 1000000F */ b .L800E1E24
/* B58F88 800E1DE8 8FBF001C */ lw $ra, 0x1c($sp)
.L800E1DEC:
/* B58F8C 800E1DEC 2401007F */ li $at, 127
/* B58F90 800E1DF0 14A1000B */ bne $a1, $at, .L800E1E20
/* B58F94 800E1DF4 02002025 */ move $a0, $s0
/* B58F98 800E1DF8 0C039D5B */ jal func_800E756C
/* B58F9C 800E1DFC 00C02825 */ move $a1, $a2
/* B58FA0 800E1E00 14400003 */ bnez $v0, .L800E1E10
/* B58FA4 800E1E04 00401825 */ move $v1, $v0
/* B58FA8 800E1E08 10000005 */ b .L800E1E20
/* B58FAC 800E1E0C 2402FFFF */ li $v0, -1
.L800E1E10:
/* B58FB0 800E1E10 8C640004 */ lw $a0, 4($v1)
/* B58FB4 800E1E14 0C03871E */ jal func_800E1C78
/* B58FB8 800E1E18 02002825 */ move $a1, $s0
/* B58FBC 800E1E1C 00001025 */ move $v0, $zero
.L800E1E20:
/* B58FC0 800E1E20 8FBF001C */ lw $ra, 0x1c($sp)
.L800E1E24:
/* B58FC4 800E1E24 8FB00018 */ lw $s0, 0x18($sp)
/* B58FC8 800E1E28 27BD0028 */ addiu $sp, $sp, 0x28
/* B58FCC 800E1E2C 03E00008 */ jr $ra
/* B58FD0 800E1E30 00000000 */ nop
glabel func_800E1E34
/* B58FD4 800E1E34 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B58FD8 800E1E38 8FAE0030 */ lw $t6, 0x30($sp)
/* B58FDC 800E1E3C AFBF001C */ sw $ra, 0x1c($sp)
/* B58FE0 800E1E40 0C038B38 */ jal func_800E2CE0
/* B58FE4 800E1E44 AFAE0010 */ sw $t6, 0x10($sp)
/* B58FE8 800E1E48 14400004 */ bnez $v0, .L800E1E5C
/* B58FEC 800E1E4C 8FA40030 */ lw $a0, 0x30($sp)
/* B58FF0 800E1E50 2405FFFF */ li $a1, -1
/* B58FF4 800E1E54 0C000C18 */ jal osSendMesg
/* B58FF8 800E1E58 00003025 */ move $a2, $zero
.L800E1E5C:
/* B58FFC 800E1E5C 8FBF001C */ lw $ra, 0x1c($sp)
/* B59000 800E1E60 27BD0020 */ addiu $sp, $sp, 0x20
/* B59004 800E1E64 03E00008 */ jr $ra
/* B59008 800E1E68 00000000 */ nop
glabel func_800E1E6C
/* B5900C 800E1E6C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B59010 800E1E70 AFA7002C */ sw $a3, 0x2c($sp)
/* B59014 800E1E74 8FAE002C */ lw $t6, 0x2c($sp)
/* B59018 800E1E78 AFA50024 */ sw $a1, 0x24($sp)
/* B5901C 800E1E7C 00802825 */ move $a1, $a0
/* B59020 800E1E80 00C03825 */ move $a3, $a2
/* B59024 800E1E84 AFBF001C */ sw $ra, 0x1c($sp)
/* B59028 800E1E88 AFA40020 */ sw $a0, 0x20($sp)
/* B5902C 800E1E8C AFA60028 */ sw $a2, 0x28($sp)
/* B59030 800E1E90 00003025 */ move $a2, $zero
/* B59034 800E1E94 00002025 */ move $a0, $zero
/* B59038 800E1E98 0C03878D */ jal func_800E1E34
/* B5903C 800E1E9C AFAE0010 */ sw $t6, 0x10($sp)
/* B59040 800E1EA0 8FBF001C */ lw $ra, 0x1c($sp)
/* B59044 800E1EA4 27BD0020 */ addiu $sp, $sp, 0x20
/* B59048 800E1EA8 03E00008 */ jr $ra
/* B5904C 800E1EAC 00000000 */ nop
glabel func_800E1EB0
/* B59050 800E1EB0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B59054 800E1EB4 AFA7002C */ sw $a3, 0x2c($sp)
/* B59058 800E1EB8 8FAE002C */ lw $t6, 0x2c($sp)
/* B5905C 800E1EBC AFA50024 */ sw $a1, 0x24($sp)
/* B59060 800E1EC0 00802825 */ move $a1, $a0
/* B59064 800E1EC4 00C03825 */ move $a3, $a2
/* B59068 800E1EC8 AFBF001C */ sw $ra, 0x1c($sp)
/* B5906C 800E1ECC AFA40020 */ sw $a0, 0x20($sp)
/* B59070 800E1ED0 AFA60028 */ sw $a2, 0x28($sp)
/* B59074 800E1ED4 00003025 */ move $a2, $zero
/* B59078 800E1ED8 24040002 */ li $a0, 2
/* B5907C 800E1EDC 0C03878D */ jal func_800E1E34
/* B59080 800E1EE0 AFAE0010 */ sw $t6, 0x10($sp)
/* B59084 800E1EE4 8FBF001C */ lw $ra, 0x1c($sp)
/* B59088 800E1EE8 27BD0020 */ addiu $sp, $sp, 0x20
/* B5908C 800E1EEC 03E00008 */ jr $ra
/* B59090 800E1EF0 00000000 */ nop
glabel func_800E1EF4
/* B59094 800E1EF4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B59098 800E1EF8 AFA7002C */ sw $a3, 0x2c($sp)
/* B5909C 800E1EFC 8FAE002C */ lw $t6, 0x2c($sp)
/* B590A0 800E1F00 AFA50024 */ sw $a1, 0x24($sp)
/* B590A4 800E1F04 00802825 */ move $a1, $a0
/* B590A8 800E1F08 00C03825 */ move $a3, $a2
/* B590AC 800E1F0C AFBF001C */ sw $ra, 0x1c($sp)
/* B590B0 800E1F10 AFA40020 */ sw $a0, 0x20($sp)
/* B590B4 800E1F14 AFA60028 */ sw $a2, 0x28($sp)
/* B590B8 800E1F18 00003025 */ move $a2, $zero
/* B590BC 800E1F1C 24040001 */ li $a0, 1
/* B590C0 800E1F20 0C03878D */ jal func_800E1E34
/* B590C4 800E1F24 AFAE0010 */ sw $t6, 0x10($sp)
/* B590C8 800E1F28 8FBF001C */ lw $ra, 0x1c($sp)
/* B590CC 800E1F2C 27BD0020 */ addiu $sp, $sp, 0x20
/* B590D0 800E1F30 03E00008 */ jr $ra
/* B590D4 800E1F34 00000000 */ nop
glabel func_800E1F38
/* B590D8 800E1F38 3C068017 */ lui $a2, %hi(D_8016F180) # $a2, 0x8017
/* B590DC 800E1F3C 24C6F180 */ addiu $a2, %lo(D_8016F180) # addiu $a2, $a2, -0xe80
/* B590E0 800E1F40 8CC2283C */ lw $v0, 0x283c($a2)
/* B590E4 800E1F44 00047040 */ sll $t6, $a0, 1
/* B590E8 800E1F48 004E7821 */ addu $t7, $v0, $t6
/* B590EC 800E1F4C 95E30000 */ lhu $v1, ($t7)
/* B590F0 800E1F50 0062C021 */ addu $t8, $v1, $v0
/* B590F4 800E1F54 93190000 */ lbu $t9, ($t8)
/* B590F8 800E1F58 24630001 */ addiu $v1, $v1, 1
/* B590FC 800E1F5C 17200003 */ bnez $t9, .L800E1F6C
/* B59100 800E1F60 ACB90000 */ sw $t9, ($a1)
/* B59104 800E1F64 03E00008 */ jr $ra
/* B59108 800E1F68 00001025 */ move $v0, $zero
.L800E1F6C:
/* B5910C 800E1F6C 8CC9283C */ lw $t1, 0x283c($a2)
/* B59110 800E1F70 01231021 */ addu $v0, $t1, $v1
/* B59114 800E1F74 03E00008 */ jr $ra
/* B59118 800E1F78 00000000 */ nop
glabel func_800E1F7C
/* B5911C 800E1F7C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B59120 800E1F80 AFB30020 */ sw $s3, 0x20($sp)
/* B59124 800E1F84 3C138017 */ lui $s3, %hi(D_8016F180) # $s3, 0x8017
/* B59128 800E1F88 2673F180 */ addiu $s3, %lo(D_8016F180) # addiu $s3, $s3, -0xe80
/* B5912C 800E1F8C 8E62283C */ lw $v0, 0x283c($s3)
/* B59130 800E1F90 00047040 */ sll $t6, $a0, 1
/* B59134 800E1F94 AFBF0024 */ sw $ra, 0x24($sp)
/* B59138 800E1F98 AFB2001C */ sw $s2, 0x1c($sp)
/* B5913C 800E1F9C AFB10018 */ sw $s1, 0x18($sp)
/* B59140 800E1FA0 AFB00014 */ sw $s0, 0x14($sp)
/* B59144 800E1FA4 004E7821 */ addu $t7, $v0, $t6
/* B59148 800E1FA8 95F10000 */ lhu $s1, ($t7)
/* B5914C 800E1FAC 0222C021 */ addu $t8, $s1, $v0
/* B59150 800E1FB0 93120000 */ lbu $s2, ($t8)
/* B59154 800E1FB4 26310001 */ addiu $s1, $s1, 1
/* B59158 800E1FB8 5A400016 */ blezl $s2, .L800E2014
/* B5915C 800E1FBC 8FBF0024 */ lw $ra, 0x24($sp)
/* B59160 800E1FC0 8E79283C */ lw $t9, 0x283c($s3)
.L800E1FC4:
/* B59164 800E1FC4 2652FFFF */ addiu $s2, $s2, -1
/* B59168 800E1FC8 24040001 */ li $a0, 1
/* B5916C 800E1FCC 02394021 */ addu $t0, $s1, $t9
/* B59170 800E1FD0 91050000 */ lbu $a1, ($t0)
/* B59174 800E1FD4 0C0389DA */ jal func_800E2768
/* B59178 800E1FD8 26310001 */ addiu $s1, $s1, 1
/* B5917C 800E1FDC 00408025 */ move $s0, $v0
/* B59180 800E1FE0 24040001 */ li $a0, 1
/* B59184 800E1FE4 0C03813A */ jal func_800E04E8
/* B59188 800E1FE8 00402825 */ move $a1, $v0
/* B5918C 800E1FEC 14400006 */ bnez $v0, .L800E2008
/* B59190 800E1FF0 00000000 */ nop
/* B59194 800E1FF4 0C03880B */ jal func_800E202C
/* B59198 800E1FF8 02002025 */ move $a0, $s0
/* B5919C 800E1FFC 02002025 */ move $a0, $s0
/* B591A0 800E2000 0C038686 */ jal func_800E1A18
/* B591A4 800E2004 00002825 */ move $a1, $zero
.L800E2008:
/* B591A8 800E2008 5E40FFEE */ bgtzl $s2, .L800E1FC4
/* B591AC 800E200C 8E79283C */ lw $t9, 0x283c($s3)
/* B591B0 800E2010 8FBF0024 */ lw $ra, 0x24($sp)
.L800E2014:
/* B591B4 800E2014 8FB00014 */ lw $s0, 0x14($sp)
/* B591B8 800E2018 8FB10018 */ lw $s1, 0x18($sp)
/* B591BC 800E201C 8FB2001C */ lw $s2, 0x1c($sp)
/* B591C0 800E2020 8FB30020 */ lw $s3, 0x20($sp)
/* B591C4 800E2024 03E00008 */ jr $ra
/* B591C8 800E2028 27BD0028 */ addiu $sp, $sp, 0x28
glabel func_800E202C
/* B591CC 800E202C 3C0E8017 */ lui $t6, %hi(D_80171DA2) # $t6, 0x8017
/* B591D0 800E2030 85CE1DA2 */ lh $t6, %lo(D_80171DA2)($t6)
/* B591D4 800E2034 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B591D8 800E2038 AFBF0014 */ sw $ra, 0x14($sp)
/* B591DC 800E203C 148E0005 */ bne $a0, $t6, .L800E2054
/* B591E0 800E2040 00803025 */ move $a2, $a0
/* B591E4 800E2044 240FFFFF */ li $t7, -1
/* B591E8 800E2048 3C018017 */ lui $at, %hi(D_80171DA2) # $at, 0x8017
/* B591EC 800E204C 10000008 */ b .L800E2070
/* B591F0 800E2050 A42F1DA2 */ sh $t7, %lo(D_80171DA2)($at)
.L800E2054:
/* B591F4 800E2054 3C188017 */ lui $t8, %hi(D_80171DAE) # $t8, 0x8017
/* B591F8 800E2058 87181DAE */ lh $t8, %lo(D_80171DAE)($t8)
/* B591FC 800E205C 2419FFFF */ li $t9, -1
/* B59200 800E2060 3C018017 */ lui $at, %hi(D_80171DAE) # $at, 0x8017
/* B59204 800E2064 14D80002 */ bne $a2, $t8, .L800E2070
/* B59208 800E2068 00000000 */ nop
/* B5920C 800E206C A4391DAE */ sh $t9, %lo(D_80171DAE)($at)
.L800E2070:
/* B59210 800E2070 3C098017 */ lui $t1, %hi(D_80171CB0) # $t1, 0x8017
/* B59214 800E2074 8D291CB0 */ lw $t1, %lo(D_80171CB0)($t1)
/* B59218 800E2078 3C088017 */ lui $t0, %hi(D_80171CB0) # $t0, 0x8017
/* B5921C 800E207C 25081CB0 */ addiu $t0, %lo(D_80171CB0) # addiu $t0, $t0, 0x1cb0
/* B59220 800E2080 01002025 */ move $a0, $t0
/* B59224 800E2084 1120000D */ beqz $t1, .L800E20BC
/* B59228 800E2088 00001825 */ move $v1, $zero
/* B5922C 800E208C 01001025 */ move $v0, $t0
/* B59230 800E2090 2405FFFF */ li $a1, -1
/* B59234 800E2094 844A001E */ lh $t2, 0x1e($v0)
.L800E2098:
/* B59238 800E2098 54CA0003 */ bnel $a2, $t2, .L800E20A8
/* B5923C 800E209C 8C8B0000 */ lw $t3, ($a0)
/* B59240 800E20A0 A445001E */ sh $a1, 0x1e($v0)
/* B59244 800E20A4 8C8B0000 */ lw $t3, ($a0)
.L800E20A8:
/* B59248 800E20A8 24630001 */ addiu $v1, $v1, 1
/* B5924C 800E20AC 2442000C */ addiu $v0, $v0, 0xc
/* B59250 800E20B0 006B082B */ sltu $at, $v1, $t3
/* B59254 800E20B4 5420FFF8 */ bnezl $at, .L800E2098
/* B59258 800E20B8 844A001E */ lh $t2, 0x1e($v0)
.L800E20BC:
/* B5925C 800E20BC 0C037812 */ jal func_800DE048
/* B59260 800E20C0 00C02025 */ move $a0, $a2
/* B59264 800E20C4 8FBF0014 */ lw $ra, 0x14($sp)
/* B59268 800E20C8 27BD0018 */ addiu $sp, $sp, 0x18
/* B5926C 800E20CC 03E00008 */ jr $ra
/* B59270 800E20D0 00000000 */ nop
glabel func_800E20D4
/* B59274 800E20D4 3C028017 */ lui $v0, %hi(D_8016F180) # $v0, 0x8017
/* B59278 800E20D8 2442F180 */ addiu $v0, %lo(D_8016F180) # addiu $v0, $v0, -0xe80
/* B5927C 800E20DC 8C4E2984 */ lw $t6, 0x2984($v0)
/* B59280 800E20E0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B59284 800E20E4 AFBF0014 */ sw $ra, 0x14($sp)
/* B59288 800E20E8 11C00003 */ beqz $t6, .L800E20F8
/* B5928C 800E20EC 00047880 */ sll $t7, $a0, 2
/* B59290 800E20F0 10000008 */ b .L800E2114
/* B59294 800E20F4 00001025 */ move $v0, $zero
.L800E20F8:
/* B59298 800E20F8 01E47823 */ subu $t7, $t7, $a0
/* B5929C 800E20FC 000F7880 */ sll $t7, $t7, 2
/* B592A0 800E2100 01E47823 */ subu $t7, $t7, $a0
/* B592A4 800E2104 000F7940 */ sll $t7, $t7, 5
/* B592A8 800E2108 004FC021 */ addu $t8, $v0, $t7
/* B592AC 800E210C 0C03885F */ jal func_800E217C
/* B592B0 800E2110 AF00360C */ sw $zero, 0x360c($t8)
.L800E2114:
/* B592B4 800E2114 8FBF0014 */ lw $ra, 0x14($sp)
/* B592B8 800E2118 27BD0018 */ addiu $sp, $sp, 0x18
/* B592BC 800E211C 03E00008 */ jr $ra
/* B592C0 800E2120 00000000 */ nop
glabel func_800E2124
/* B592C4 800E2124 3C028017 */ lui $v0, %hi(D_8016F180) # $v0, 0x8017
/* B592C8 800E2128 2442F180 */ addiu $v0, %lo(D_8016F180) # addiu $v0, $v0, -0xe80
/* B592CC 800E212C 8C4E2984 */ lw $t6, 0x2984($v0)
/* B592D0 800E2130 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B592D4 800E2134 AFBF0014 */ sw $ra, 0x14($sp)
/* B592D8 800E2138 11C00003 */ beqz $t6, .L800E2148
/* B592DC 800E213C 00C03825 */ move $a3, $a2
/* B592E0 800E2140 1000000A */ b .L800E216C
/* B592E4 800E2144 00001025 */ move $v0, $zero
.L800E2148:
/* B592E8 800E2148 00047880 */ sll $t7, $a0, 2
/* B592EC 800E214C 01E47823 */ subu $t7, $t7, $a0
/* B592F0 800E2150 000F7880 */ sll $t7, $t7, 2
/* B592F4 800E2154 01E47823 */ subu $t7, $t7, $a0
/* B592F8 800E2158 000F7940 */ sll $t7, $t7, 5
/* B592FC 800E215C 004FC021 */ addu $t8, $v0, $t7
/* B59300 800E2160 AF07360C */ sw $a3, 0x360c($t8)
/* B59304 800E2164 0C03885F */ jal func_800E217C
/* B59308 800E2168 00003025 */ move $a2, $zero
.L800E216C:
/* B5930C 800E216C 8FBF0014 */ lw $ra, 0x14($sp)
/* B59310 800E2170 27BD0018 */ addiu $sp, $sp, 0x18
/* B59314 800E2174 03E00008 */ jr $ra
/* B59318 800E2178 00000000 */ nop
glabel func_800E217C
/* B5931C 800E217C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B59320 800E2180 AFB30024 */ sw $s3, 0x24($sp)
/* B59324 800E2184 3C138017 */ lui $s3, %hi(D_8016F180) # $s3, 0x8017
/* B59328 800E2188 2673F180 */ addiu $s3, %lo(D_8016F180) # addiu $s3, $s3, -0xe80
/* B5932C 800E218C 966F2840 */ lhu $t7, 0x2840($s3)
/* B59330 800E2190 AFBF002C */ sw $ra, 0x2c($sp)
/* B59334 800E2194 AFB40028 */ sw $s4, 0x28($sp)
/* B59338 800E2198 00AF082A */ slt $at, $a1, $t7
/* B5933C 800E219C AFB20020 */ sw $s2, 0x20($sp)
/* B59340 800E21A0 AFB1001C */ sw $s1, 0x1c($sp)
/* B59344 800E21A4 AFB00018 */ sw $s0, 0x18($sp)
/* B59348 800E21A8 AFA40030 */ sw $a0, 0x30($sp)
/* B5934C 800E21AC AFA50034 */ sw $a1, 0x34($sp)
/* B59350 800E21B0 14200003 */ bnez $at, .L800E21C0
/* B59354 800E21B4 AFA60038 */ sw $a2, 0x38($sp)
/* B59358 800E21B8 1000003A */ b .L800E22A4
/* B5935C 800E21BC 00001025 */ move $v0, $zero
.L800E21C0:
/* B59360 800E21C0 8FB80030 */ lw $t8, 0x30($sp)
/* B59364 800E21C4 0018C880 */ sll $t9, $t8, 2
/* B59368 800E21C8 0338C823 */ subu $t9, $t9, $t8
/* B5936C 800E21CC 0019C880 */ sll $t9, $t9, 2
/* B59370 800E21D0 0338C823 */ subu $t9, $t9, $t8
/* B59374 800E21D4 0019C940 */ sll $t9, $t9, 5
/* B59378 800E21D8 0279A021 */ addu $s4, $s3, $t9
/* B5937C 800E21DC 26943530 */ addiu $s4, $s4, 0x3530
/* B59380 800E21E0 0C03A6DB */ jal func_800E9B6C
/* B59384 800E21E4 02802025 */ move $a0, $s4
/* B59388 800E21E8 8FA80034 */ lw $t0, 0x34($sp)
/* B5938C 800E21EC 8E62283C */ lw $v0, 0x283c($s3)
/* B59390 800E21F0 241200FF */ li $s2, 255
/* B59394 800E21F4 00084840 */ sll $t1, $t0, 1
/* B59398 800E21F8 00495021 */ addu $t2, $v0, $t1
/* B5939C 800E21FC 95500000 */ lhu $s0, ($t2)
/* B593A0 800E2200 02025821 */ addu $t3, $s0, $v0
/* B593A4 800E2204 91710000 */ lbu $s1, ($t3)
/* B593A8 800E2208 26100001 */ addiu $s0, $s0, 1
/* B593AC 800E220C 1A20000A */ blez $s1, .L800E2238
/* B593B0 800E2210 00000000 */ nop
/* B593B4 800E2214 8E6C283C */ lw $t4, 0x283c($s3)
.L800E2218:
/* B593B8 800E2218 020C6821 */ addu $t5, $s0, $t4
/* B593BC 800E221C 91B20000 */ lbu $s2, ($t5)
/* B593C0 800E2220 26100001 */ addiu $s0, $s0, 1
/* B593C4 800E2224 0C038915 */ jal func_800E2454
/* B593C8 800E2228 02402025 */ move $a0, $s2
/* B593CC 800E222C 2631FFFF */ addiu $s1, $s1, -1
/* B593D0 800E2230 5E20FFF9 */ bgtzl $s1, .L800E2218
/* B593D4 800E2234 8E6C283C */ lw $t4, 0x283c($s3)
.L800E2238:
/* B593D8 800E2238 0C0388B1 */ jal func_800E22C4
/* B593DC 800E223C 8FA40034 */ lw $a0, 0x34($sp)
/* B593E0 800E2240 14400003 */ bnez $v0, .L800E2250
/* B593E4 800E2244 00408025 */ move $s0, $v0
/* B593E8 800E2248 10000016 */ b .L800E22A4
/* B593EC 800E224C 00001025 */ move $v0, $zero
.L800E2250:
/* B593F0 800E2250 0C03B19A */ jal func_800EC668
/* B593F4 800E2254 02802025 */ move $a0, $s4
/* B593F8 800E2258 8FAE0034 */ lw $t6, 0x34($sp)
/* B593FC 800E225C 24040001 */ li $a0, 1
/* B59400 800E2260 02402825 */ move $a1, $s2
/* B59404 800E2264 0C0389DA */ jal func_800E2768
/* B59408 800E2268 A28E0004 */ sb $t6, 4($s4)
/* B5940C 800E226C 92980000 */ lbu $t8, ($s4)
/* B59410 800E2270 A2820005 */ sb $v0, 5($s4)
/* B59414 800E2274 AE900018 */ sw $s0, 0x18($s4)
/* B59418 800E2278 37080080 */ ori $t0, $t8, 0x80
/* B5941C 800E227C A2880000 */ sb $t0, ($s4)
/* B59420 800E2280 310900BF */ andi $t1, $t0, 0xbf
/* B59424 800E2284 AE900078 */ sw $s0, 0x78($s4)
/* B59428 800E2288 A2800090 */ sb $zero, 0x90($s4)
/* B5942C 800E228C A6800010 */ sh $zero, 0x10($s4)
/* B59430 800E2290 A2890000 */ sb $t1, ($s4)
/* B59434 800E2294 8FAA0030 */ lw $t2, 0x30($sp)
/* B59438 800E2298 02802025 */ move $a0, $s4
/* B5943C 800E229C 0C03B186 */ jal func_800EC618
/* B59440 800E22A0 A28A0007 */ sb $t2, 7($s4)
.L800E22A4:
/* B59444 800E22A4 8FBF002C */ lw $ra, 0x2c($sp)
/* B59448 800E22A8 8FB00018 */ lw $s0, 0x18($sp)
/* B5944C 800E22AC 8FB1001C */ lw $s1, 0x1c($sp)
/* B59450 800E22B0 8FB20020 */ lw $s2, 0x20($sp)
/* B59454 800E22B4 8FB30024 */ lw $s3, 0x24($sp)
/* B59458 800E22B8 8FB40028 */ lw $s4, 0x28($sp)
/* B5945C 800E22BC 03E00008 */ jr $ra
/* B59460 800E22C0 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800E22C4
/* B59464 800E22C4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B59468 800E22C8 AFBF0014 */ sw $ra, 0x14($sp)
/* B5946C 800E22CC AFA40028 */ sw $a0, 0x28($sp)
/* B59470 800E22D0 8FA50028 */ lw $a1, 0x28($sp)
/* B59474 800E22D4 0C0389DA */ jal func_800E2768
/* B59478 800E22D8 00002025 */ move $a0, $zero
/* B5947C 800E22DC 3C0E8017 */ lui $t6, %hi(D_80172618)
/* B59480 800E22E0 01C27021 */ addu $t6, $t6, $v0
/* B59484 800E22E4 91CE2618 */ lbu $t6, %lo(D_80172618)($t6)
/* B59488 800E22E8 24010001 */ li $at, 1
/* B5948C 800E22EC 00002025 */ move $a0, $zero
/* B59490 800E22F0 15C10003 */ bne $t6, $at, .L800E2300
/* B59494 800E22F4 8FA50028 */ lw $a1, 0x28($sp)
/* B59498 800E22F8 10000003 */ b .L800E2308
/* B5949C 800E22FC 00001025 */ move $v0, $zero
.L800E2300:
/* B594A0 800E2300 0C038956 */ jal func_800E2558
/* B594A4 800E2304 27A60020 */ addiu $a2, $sp, 0x20
.L800E2308:
/* B594A8 800E2308 8FBF0014 */ lw $ra, 0x14($sp)
/* B594AC 800E230C 27BD0028 */ addiu $sp, $sp, 0x28
/* B594B0 800E2310 03E00008 */ jr $ra
/* B594B4 800E2314 00000000 */ nop
glabel func_800E2318
/* B594B8 800E2318 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B594BC 800E231C AFBF0014 */ sw $ra, 0x14($sp)
/* B594C0 800E2320 0C0388CE */ jal func_800E2338
/* B594C4 800E2324 24060001 */ li $a2, 1
/* B594C8 800E2328 8FBF0014 */ lw $ra, 0x14($sp)
/* B594CC 800E232C 27BD0018 */ addiu $sp, $sp, 0x18
/* B594D0 800E2330 03E00008 */ jr $ra
/* B594D4 800E2334 00000000 */ nop
glabel func_800E2338
/* B594D8 800E2338 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B594DC 800E233C AFBF001C */ sw $ra, 0x1c($sp)
/* B594E0 800E2340 AFA40038 */ sw $a0, 0x38($sp)
/* B594E4 800E2344 AFA5003C */ sw $a1, 0x3c($sp)
/* B594E8 800E2348 AFB00018 */ sw $s0, 0x18($sp)
/* B594EC 800E234C AFA60040 */ sw $a2, 0x40($sp)
/* B594F0 800E2350 8FA50038 */ lw $a1, 0x38($sp)
/* B594F4 800E2354 0C0389DA */ jal func_800E2768
/* B594F8 800E2358 24040002 */ li $a0, 2
/* B594FC 800E235C 00408025 */ move $s0, $v0
/* B59500 800E2360 0C0389FE */ jal func_800E27F8
/* B59504 800E2364 24040002 */ li $a0, 2
/* B59508 800E2368 24040002 */ li $a0, 2
/* B5950C 800E236C 02002825 */ move $a1, $s0
/* B59510 800E2370 0C0389E9 */ jal func_800E27A4
/* B59514 800E2374 AFA20030 */ sw $v0, 0x30($sp)
/* B59518 800E2378 8FA30030 */ lw $v1, 0x30($sp)
/* B5951C 800E237C 1040000F */ beqz $v0, .L800E23BC
/* B59520 800E2380 00403025 */ move $a2, $v0
/* B59524 800E2384 3C0E8017 */ lui $t6, %hi(D_801725B8)
/* B59528 800E2388 01D07021 */ addu $t6, $t6, $s0
/* B5952C 800E238C 91CE25B8 */ lbu $t6, %lo(D_801725B8)($t6)
/* B59530 800E2390 24010001 */ li $at, 1
/* B59534 800E2394 02002025 */ move $a0, $s0
/* B59538 800E2398 11C10004 */ beq $t6, $at, .L800E23AC
/* B5953C 800E239C 24050002 */ li $a1, 2
/* B59540 800E23A0 0C0386B6 */ jal func_800E1AD8
/* B59544 800E23A4 AFA20034 */ sw $v0, 0x34($sp)
/* B59548 800E23A8 8FA60034 */ lw $a2, 0x34($sp)
.L800E23AC:
/* B5954C 800E23AC 8FAF003C */ lw $t7, 0x3c($sp)
/* B59550 800E23B0 00C01025 */ move $v0, $a2
/* B59554 800E23B4 10000022 */ b .L800E2440
/* B59558 800E23B8 ADE00000 */ sw $zero, ($t7)
.L800E23BC:
/* B5955C 800E23BC 8FA50038 */ lw $a1, 0x38($sp)
/* B59560 800E23C0 24010004 */ li $at, 4
/* B59564 800E23C4 8FB90040 */ lw $t9, 0x40($sp)
/* B59568 800E23C8 0005C100 */ sll $t8, $a1, 4
/* B5956C 800E23CC 00783821 */ addu $a3, $v1, $t8
/* B59570 800E23D0 80E20019 */ lb $v0, 0x19($a3)
/* B59574 800E23D4 8FA9003C */ lw $t1, 0x3c($sp)
/* B59578 800E23D8 10410003 */ beq $v0, $at, .L800E23E8
/* B5957C 800E23DC 24010001 */ li $at, 1
/* B59580 800E23E0 17210007 */ bne $t9, $at, .L800E2400
/* B59584 800E23E4 24040002 */ li $a0, 2
.L800E23E8:
/* B59588 800E23E8 80E80018 */ lb $t0, 0x18($a3)
/* B5958C 800E23EC 00105100 */ sll $t2, $s0, 4
/* B59590 800E23F0 006A5821 */ addu $t3, $v1, $t2
/* B59594 800E23F4 AD280000 */ sw $t0, ($t1)
/* B59598 800E23F8 10000011 */ b .L800E2440
/* B5959C 800E23FC 8D620010 */ lw $v0, 0x10($t3)
.L800E2400:
/* B595A0 800E2400 27A60040 */ addiu $a2, $sp, 0x40
/* B595A4 800E2404 AFA30030 */ sw $v1, 0x30($sp)
/* B595A8 800E2408 0C038956 */ jal func_800E2558
/* B595AC 800E240C AFA70024 */ sw $a3, 0x24($sp)
/* B595B0 800E2410 8FA30030 */ lw $v1, 0x30($sp)
/* B595B4 800E2414 10400004 */ beqz $v0, .L800E2428
/* B595B8 800E2418 8FA70024 */ lw $a3, 0x24($sp)
/* B595BC 800E241C 8FAC003C */ lw $t4, 0x3c($sp)
/* B595C0 800E2420 10000007 */ b .L800E2440
/* B595C4 800E2424 AD800000 */ sw $zero, ($t4)
.L800E2428:
/* B595C8 800E2428 80ED0018 */ lb $t5, 0x18($a3)
/* B595CC 800E242C 8FAE003C */ lw $t6, 0x3c($sp)
/* B595D0 800E2430 00107900 */ sll $t7, $s0, 4
/* B595D4 800E2434 006FC021 */ addu $t8, $v1, $t7
/* B595D8 800E2438 ADCD0000 */ sw $t5, ($t6)
/* B595DC 800E243C 8F020010 */ lw $v0, 0x10($t8)
.L800E2440:
/* B595E0 800E2440 8FBF001C */ lw $ra, 0x1c($sp)
/* B595E4 800E2444 8FB00018 */ lw $s0, 0x18($sp)
/* B595E8 800E2448 27BD0038 */ addiu $sp, $sp, 0x38
/* B595EC 800E244C 03E00008 */ jr $ra
/* B595F0 800E2450 00000000 */ nop
glabel func_800E2454
/* B595F4 800E2454 27BDFFB8 */ addiu $sp, $sp, -0x48
/* B595F8 800E2458 AFBF0014 */ sw $ra, 0x14($sp)
/* B595FC 800E245C AFA40048 */ sw $a0, 0x48($sp)
/* B59600 800E2460 8FA50048 */ lw $a1, 0x48($sp)
/* B59604 800E2464 0C0389DA */ jal func_800E2768
/* B59608 800E2468 24040001 */ li $a0, 1
/* B5960C 800E246C 3C058017 */ lui $a1, %hi(D_8016F180) # $a1, 0x8017
/* B59610 800E2470 24A5F180 */ addiu $a1, %lo(D_8016F180) # addiu $a1, $a1, -0xe80
/* B59614 800E2474 00A27021 */ addu $t6, $a1, $v0
/* B59618 800E2478 91CF3468 */ lbu $t7, 0x3468($t6)
/* B5961C 800E247C 24010001 */ li $at, 1
/* B59620 800E2480 AFA2001C */ sw $v0, 0x1c($sp)
/* B59624 800E2484 15E10003 */ bne $t7, $at, .L800E2494
/* B59628 800E2488 0002C880 */ sll $t9, $v0, 2
/* B5962C 800E248C 1000002E */ b .L800E2548
/* B59630 800E2490 00001025 */ move $v0, $zero
.L800E2494:
/* B59634 800E2494 8CB82844 */ lw $t8, 0x2844($a1)
/* B59638 800E2498 0322C821 */ addu $t9, $t9, $v0
/* B5963C 800E249C 0019C880 */ sll $t9, $t9, 2
/* B59640 800E24A0 03191821 */ addu $v1, $t8, $t9
/* B59644 800E24A4 90640002 */ lbu $a0, 2($v1)
/* B59648 800E24A8 90670003 */ lbu $a3, 3($v1)
/* B5964C 800E24AC 240100FF */ li $at, 255
/* B59650 800E24B0 AFA40020 */ sw $a0, 0x20($sp)
/* B59654 800E24B4 10810008 */ beq $a0, $at, .L800E24D8
/* B59658 800E24B8 AFA70024 */ sw $a3, 0x24($sp)
/* B5965C 800E24BC 27A50030 */ addiu $a1, $sp, 0x30
/* B59660 800E24C0 00003025 */ move $a2, $zero
/* B59664 800E24C4 0C0388CE */ jal func_800E2338
/* B59668 800E24C8 AFA7003C */ sw $a3, 0x3c($sp)
/* B5966C 800E24CC 8FA7003C */ lw $a3, 0x3c($sp)
/* B59670 800E24D0 10000002 */ b .L800E24DC
/* B59674 800E24D4 AFA20028 */ sw $v0, 0x28($sp)
.L800E24D8:
/* B59678 800E24D8 AFA00028 */ sw $zero, 0x28($sp)
.L800E24DC:
/* B5967C 800E24DC 240100FF */ li $at, 255
/* B59680 800E24E0 10E10006 */ beq $a3, $at, .L800E24FC
/* B59684 800E24E4 00E02025 */ move $a0, $a3
/* B59688 800E24E8 27A50034 */ addiu $a1, $sp, 0x34
/* B5968C 800E24EC 0C0388CE */ jal func_800E2338
/* B59690 800E24F0 00003025 */ move $a2, $zero
/* B59694 800E24F4 10000002 */ b .L800E2500
/* B59698 800E24F8 AFA2002C */ sw $v0, 0x2c($sp)
.L800E24FC:
/* B5969C 800E24FC AFA0002C */ sw $zero, 0x2c($sp)
.L800E2500:
/* B596A0 800E2500 24040001 */ li $a0, 1
/* B596A4 800E2504 8FA50048 */ lw $a1, 0x48($sp)
/* B596A8 800E2508 0C038956 */ jal func_800E2558
/* B596AC 800E250C 27A60038 */ addiu $a2, $sp, 0x38
/* B596B0 800E2510 14400003 */ bnez $v0, .L800E2520
/* B596B4 800E2514 00402825 */ move $a1, $v0
/* B596B8 800E2518 1000000B */ b .L800E2548
/* B596BC 800E251C 00001025 */ move $v0, $zero
.L800E2520:
/* B596C0 800E2520 8FA80038 */ lw $t0, 0x38($sp)
/* B596C4 800E2524 24010001 */ li $at, 1
/* B596C8 800E2528 8FA4001C */ lw $a0, 0x1c($sp)
/* B596CC 800E252C 15010005 */ bne $t0, $at, .L800E2544
/* B596D0 800E2530 27A60020 */ addiu $a2, $sp, 0x20
/* B596D4 800E2534 00003825 */ move $a3, $zero
/* B596D8 800E2538 0C039066 */ jal func_800E4198
/* B596DC 800E253C AFA50044 */ sw $a1, 0x44($sp)
/* B596E0 800E2540 8FA50044 */ lw $a1, 0x44($sp)
.L800E2544:
/* B596E4 800E2544 00A01025 */ move $v0, $a1
.L800E2548:
/* B596E8 800E2548 8FBF0014 */ lw $ra, 0x14($sp)
/* B596EC 800E254C 27BD0048 */ addiu $sp, $sp, 0x48
/* B596F0 800E2550 03E00008 */ jr $ra
/* B596F4 800E2554 00000000 */ nop
glabel func_800E2558
/* B596F8 800E2558 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B596FC 800E255C AFBF001C */ sw $ra, 0x1c($sp)
/* B59700 800E2560 AFB00018 */ sw $s0, 0x18($sp)
/* B59704 800E2564 AFA40050 */ sw $a0, 0x50($sp)
/* B59708 800E2568 AFA50054 */ sw $a1, 0x54($sp)
/* B5970C 800E256C 0C0389DA */ jal func_800E2768
/* B59710 800E2570 AFA60058 */ sw $a2, 0x58($sp)
/* B59714 800E2574 AFA2002C */ sw $v0, 0x2c($sp)
/* B59718 800E2578 8FA40050 */ lw $a0, 0x50($sp)
/* B5971C 800E257C 0C0389E9 */ jal func_800E27A4
/* B59720 800E2580 00402825 */ move $a1, $v0
/* B59724 800E2584 10400005 */ beqz $v0, .L800E259C
/* B59728 800E2588 00408025 */ move $s0, $v0
/* B5972C 800E258C 8FAE0058 */ lw $t6, 0x58($sp)
/* B59730 800E2590 24050002 */ li $a1, 2
/* B59734 800E2594 1000005A */ b .L800E2700
/* B59738 800E2598 ADC00000 */ sw $zero, ($t6)
.L800E259C:
/* B5973C 800E259C 0C0389FE */ jal func_800E27F8
/* B59740 800E25A0 8FA40050 */ lw $a0, 0x50($sp)
/* B59744 800E25A4 8FAF002C */ lw $t7, 0x2c($sp)
/* B59748 800E25A8 AFA20048 */ sw $v0, 0x48($sp)
/* B5974C 800E25AC 8FAB0054 */ lw $t3, 0x54($sp)
/* B59750 800E25B0 000FC100 */ sll $t8, $t7, 4
/* B59754 800E25B4 00581821 */ addu $v1, $v0, $t8
/* B59758 800E25B8 8C790014 */ lw $t9, 0x14($v1)
/* B5975C 800E25BC 2401FFF0 */ li $at, -16
/* B59760 800E25C0 000B6100 */ sll $t4, $t3, 4
/* B59764 800E25C4 2729000F */ addiu $t1, $t9, 0xf
/* B59768 800E25C8 01215024 */ and $t2, $t1, $at
/* B5976C 800E25CC AFB9004C */ sw $t9, 0x4c($sp)
/* B59770 800E25D0 AFAA004C */ sw $t2, 0x4c($sp)
/* B59774 800E25D4 004C2021 */ addu $a0, $v0, $t4
/* B59778 800E25D8 808D0018 */ lb $t5, 0x18($a0)
/* B5977C 800E25DC AFAD0040 */ sw $t5, 0x40($sp)
/* B59780 800E25E0 80850019 */ lb $a1, 0x19($a0)
/* B59784 800E25E4 8C6E0010 */ lw $t6, 0x10($v1)
/* B59788 800E25E8 2CA10005 */ sltiu $at, $a1, 5
/* B5978C 800E25EC AFA50024 */ sw $a1, 0x24($sp)
/* B59790 800E25F0 1020002A */ beqz $at, .L800E269C
/* B59794 800E25F4 AFAE0038 */ sw $t6, 0x38($sp)
/* B59798 800E25F8 00057880 */ sll $t7, $a1, 2
/* B5979C 800E25FC 3C018015 */ lui $at, %hi(jtbl_80149458)
/* B597A0 800E2600 002F0821 */ addu $at, $at, $t7
/* B597A4 800E2604 8C2F9458 */ lw $t7, %lo(jtbl_80149458)($at)
/* B597A8 800E2608 01E00008 */ jr $t7
/* B597AC 800E260C 00000000 */ nop
glabel L800E2610
/* B597B0 800E2610 8FA40050 */ lw $a0, 0x50($sp)
/* B597B4 800E2614 8FA5002C */ lw $a1, 0x2c($sp)
/* B597B8 800E2618 0C038150 */ jal func_800E0540
/* B597BC 800E261C 8FA6004C */ lw $a2, 0x4c($sp)
/* B597C0 800E2620 1440001E */ bnez $v0, .L800E269C
/* B597C4 800E2624 00408025 */ move $s0, $v0
/* B597C8 800E2628 1000004B */ b .L800E2758
/* B597CC 800E262C 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E2630
/* B597D0 800E2630 8FA40050 */ lw $a0, 0x50($sp)
/* B597D4 800E2634 8FA5004C */ lw $a1, 0x4c($sp)
/* B597D8 800E2638 24060001 */ li $a2, 1
/* B597DC 800E263C 0C037A38 */ jal func_800DE8E0
/* B597E0 800E2640 8FA7002C */ lw $a3, 0x2c($sp)
/* B597E4 800E2644 14400015 */ bnez $v0, .L800E269C
/* B597E8 800E2648 00408025 */ move $s0, $v0
/* B597EC 800E264C 10000042 */ b .L800E2758
/* B597F0 800E2650 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E2654
/* B597F4 800E2654 8FA40050 */ lw $a0, 0x50($sp)
/* B597F8 800E2658 8FA5004C */ lw $a1, 0x4c($sp)
/* B597FC 800E265C 00003025 */ move $a2, $zero
/* B59800 800E2660 0C037A38 */ jal func_800DE8E0
/* B59804 800E2664 8FA7002C */ lw $a3, 0x2c($sp)
/* B59808 800E2668 1440000C */ bnez $v0, .L800E269C
/* B5980C 800E266C 00408025 */ move $s0, $v0
/* B59810 800E2670 10000039 */ b .L800E2758
/* B59814 800E2674 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E2678
/* B59818 800E2678 8FA40050 */ lw $a0, 0x50($sp)
/* B5981C 800E267C 8FA5004C */ lw $a1, 0x4c($sp)
/* B59820 800E2680 24060002 */ li $a2, 2
/* B59824 800E2684 0C037A38 */ jal func_800DE8E0
/* B59828 800E2688 8FA7002C */ lw $a3, 0x2c($sp)
/* B5982C 800E268C 14400003 */ bnez $v0, .L800E269C
/* B59830 800E2690 00408025 */ move $s0, $v0
/* B59834 800E2694 10000030 */ b .L800E2758
/* B59838 800E2698 8FBF001C */ lw $ra, 0x1c($sp)
.L800E269C:
/* B5983C 800E269C 8FB90058 */ lw $t9, 0x58($sp)
/* B59840 800E26A0 24180001 */ li $t8, 1
/* B59844 800E26A4 24010001 */ li $at, 1
/* B59848 800E26A8 AF380000 */ sw $t8, ($t9)
/* B5984C 800E26AC 8FA80040 */ lw $t0, 0x40($sp)
/* B59850 800E26B0 8FA6004C */ lw $a2, 0x4c($sp)
/* B59854 800E26B4 8FA40038 */ lw $a0, 0x38($sp)
/* B59858 800E26B8 15010009 */ bne $t0, $at, .L800E26E0
/* B5985C 800E26BC 02002825 */ move $a1, $s0
/* B59860 800E26C0 8FA90048 */ lw $t1, 0x48($sp)
/* B59864 800E26C4 8FA40038 */ lw $a0, 0x38($sp)
/* B59868 800E26C8 02002825 */ move $a1, $s0
/* B5986C 800E26CC 8FA6004C */ lw $a2, 0x4c($sp)
/* B59870 800E26D0 0C038AF3 */ jal func_800E2BCC
/* B59874 800E26D4 85270002 */ lh $a3, 2($t1)
/* B59878 800E26D8 10000004 */ b .L800E26EC
/* B5987C 800E26DC 8FAA0024 */ lw $t2, 0x24($sp)
.L800E26E0:
/* B59880 800E26E0 0C038AAA */ jal func_800E2AA8
/* B59884 800E26E4 8FA70040 */ lw $a3, 0x40($sp)
/* B59888 800E26E8 8FAA0024 */ lw $t2, 0x24($sp)
.L800E26EC:
/* B5988C 800E26EC 24050002 */ li $a1, 2
/* B59890 800E26F0 15400003 */ bnez $t2, .L800E2700
/* B59894 800E26F4 00000000 */ nop
/* B59898 800E26F8 10000001 */ b .L800E2700
/* B5989C 800E26FC 24050005 */ li $a1, 5
.L800E2700:
/* B598A0 800E2700 8FA20050 */ lw $v0, 0x50($sp)
/* B598A4 800E2704 24010001 */ li $at, 1
/* B598A8 800E2708 10400007 */ beqz $v0, .L800E2728
/* B598AC 800E270C 00000000 */ nop
/* B598B0 800E2710 10410009 */ beq $v0, $at, .L800E2738
/* B598B4 800E2714 24010002 */ li $at, 2
/* B598B8 800E2718 1041000B */ beq $v0, $at, .L800E2748
/* B598BC 800E271C 00000000 */ nop
/* B598C0 800E2720 1000000C */ b .L800E2754
/* B598C4 800E2724 02001025 */ move $v0, $s0
.L800E2728:
/* B598C8 800E2728 0C038692 */ jal func_800E1A48
/* B598CC 800E272C 8FA4002C */ lw $a0, 0x2c($sp)
/* B598D0 800E2730 10000008 */ b .L800E2754
/* B598D4 800E2734 02001025 */ move $v0, $s0
.L800E2738:
/* B598D8 800E2738 0C038686 */ jal func_800E1A18
/* B598DC 800E273C 8FA4002C */ lw $a0, 0x2c($sp)
/* B598E0 800E2740 10000004 */ b .L800E2754
/* B598E4 800E2744 02001025 */ move $v0, $s0
.L800E2748:
/* B598E8 800E2748 0C03869E */ jal func_800E1A78
/* B598EC 800E274C 8FA4002C */ lw $a0, 0x2c($sp)
/* B598F0 800E2750 02001025 */ move $v0, $s0
.L800E2754:
/* B598F4 800E2754 8FBF001C */ lw $ra, 0x1c($sp)
.L800E2758:
/* B598F8 800E2758 8FB00018 */ lw $s0, 0x18($sp)
/* B598FC 800E275C 27BD0050 */ addiu $sp, $sp, 0x50
/* B59900 800E2760 03E00008 */ jr $ra
/* B59904 800E2764 00000000 */ nop
glabel func_800E2768
/* B59908 800E2768 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5990C 800E276C AFBF0014 */ sw $ra, 0x14($sp)
/* B59910 800E2770 0C0389FE */ jal func_800E27F8
/* B59914 800E2774 AFA5001C */ sw $a1, 0x1c($sp)
/* B59918 800E2778 8FA5001C */ lw $a1, 0x1c($sp)
/* B5991C 800E277C 8FBF0014 */ lw $ra, 0x14($sp)
/* B59920 800E2780 00057100 */ sll $t6, $a1, 4
/* B59924 800E2784 004E1821 */ addu $v1, $v0, $t6
/* B59928 800E2788 8C6F0014 */ lw $t7, 0x14($v1)
/* B5992C 800E278C 55E00003 */ bnezl $t7, .L800E279C
/* B59930 800E2790 00A01025 */ move $v0, $a1
/* B59934 800E2794 8C650010 */ lw $a1, 0x10($v1)
/* B59938 800E2798 00A01025 */ move $v0, $a1
.L800E279C:
/* B5993C 800E279C 03E00008 */ jr $ra
/* B59940 800E27A0 27BD0018 */ addiu $sp, $sp, 0x18
glabel func_800E27A4
/* B59944 800E27A4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B59948 800E27A8 AFBF0014 */ sw $ra, 0x14($sp)
/* B5994C 800E27AC AFA40018 */ sw $a0, 0x18($sp)
/* B59950 800E27B0 0C03813A */ jal func_800E04E8
/* B59954 800E27B4 AFA5001C */ sw $a1, 0x1c($sp)
/* B59958 800E27B8 10400003 */ beqz $v0, .L800E27C8
/* B5995C 800E27BC 8FA40018 */ lw $a0, 0x18($sp)
/* B59960 800E27C0 1000000A */ b .L800E27EC
/* B59964 800E27C4 8FBF0014 */ lw $ra, 0x14($sp)
.L800E27C8:
/* B59968 800E27C8 24050002 */ li $a1, 2
/* B5996C 800E27CC 0C037C1D */ jal func_800DF074
/* B59970 800E27D0 8FA6001C */ lw $a2, 0x1c($sp)
/* B59974 800E27D4 50400004 */ beql $v0, $zero, .L800E27E8
/* B59978 800E27D8 00001025 */ move $v0, $zero
/* B5997C 800E27DC 10000003 */ b .L800E27EC
/* B59980 800E27E0 8FBF0014 */ lw $ra, 0x14($sp)
/* B59984 800E27E4 00001025 */ move $v0, $zero
.L800E27E8:
/* B59988 800E27E8 8FBF0014 */ lw $ra, 0x14($sp)
.L800E27EC:
/* B5998C 800E27EC 27BD0018 */ addiu $sp, $sp, 0x18
/* B59990 800E27F0 03E00008 */ jr $ra
/* B59994 800E27F4 00000000 */ nop
glabel func_800E27F8
/* B59998 800E27F8 10800009 */ beqz $a0, .L800E2820
/* B5999C 800E27FC 3C038017 */ lui $v1, %hi(D_801719B0)
/* B599A0 800E2800 24010001 */ li $at, 1
/* B599A4 800E2804 10810008 */ beq $a0, $at, .L800E2828
/* B599A8 800E2808 3C038017 */ lui $v1, %hi(D_801719B4)
/* B599AC 800E280C 24010002 */ li $at, 2
/* B599B0 800E2810 10810007 */ beq $a0, $at, .L800E2830
/* B599B4 800E2814 3C038017 */ lui $v1, %hi(D_801719B8)
/* B599B8 800E2818 03E00008 */ jr $ra
/* B599BC 800E281C 00001025 */ move $v0, $zero
.L800E2820:
/* B599C0 800E2820 03E00008 */ jr $ra
/* B599C4 800E2824 8C6219B0 */ lw $v0, %lo(D_801719B0)($v1)
.L800E2828:
/* B599C8 800E2828 03E00008 */ jr $ra
/* B599CC 800E282C 8C6219B4 */ lw $v0, %lo(D_801719B4)($v1)
.L800E2830:
/* B599D0 800E2830 8C6319B8 */ lw $v1, %lo(D_801719B8)($v1)
/* B599D4 800E2834 03E00008 */ jr $ra
/* B599D8 800E2838 00601025 */ move $v0, $v1
glabel func_800E283C
/* B599DC 800E283C 27BDFF90 */ addiu $sp, $sp, -0x70
/* B599E0 800E2840 00047080 */ sll $t6, $a0, 2
/* B599E4 800E2844 3C0F8017 */ lui $t7, %hi(D_801719C4) # $t7, 0x8017
/* B599E8 800E2848 8DEF19C4 */ lw $t7, %lo(D_801719C4)($t7)
/* B599EC 800E284C 01C47021 */ addu $t6, $t6, $a0
/* B599F0 800E2850 000E7080 */ sll $t6, $t6, 2
/* B599F4 800E2854 AFBF0034 */ sw $ra, 0x34($sp)
/* B599F8 800E2858 AFB60030 */ sw $s6, 0x30($sp)
/* B599FC 800E285C AFB5002C */ sw $s5, 0x2c($sp)
/* B59A00 800E2860 AFB40028 */ sw $s4, 0x28($sp)
/* B59A04 800E2864 AFB30024 */ sw $s3, 0x24($sp)
/* B59A08 800E2868 AFB20020 */ sw $s2, 0x20($sp)
/* B59A0C 800E286C AFB1001C */ sw $s1, 0x1c($sp)
/* B59A10 800E2870 AFB00018 */ sw $s0, 0x18($sp)
/* B59A14 800E2874 AFAE0044 */ sw $t6, 0x44($sp)
/* B59A18 800E2878 01EE1021 */ addu $v0, $t7, $t6
/* B59A1C 800E287C 90590000 */ lbu $t9, ($v0)
/* B59A20 800E2880 90470001 */ lbu $a3, 1($v0)
/* B59A24 800E2884 00A09825 */ move $s3, $a1
/* B59A28 800E2888 AFB90050 */ sw $t9, 0x50($sp)
/* B59A2C 800E288C 8CA30000 */ lw $v1, ($a1)
/* B59A30 800E2890 00C0A025 */ move $s4, $a2
/* B59A34 800E2894 94550004 */ lhu $s5, 4($v0)
/* B59A38 800E2898 50600021 */ beql $v1, $zero, .L800E2920
/* B59A3C 800E289C 8E630004 */ lw $v1, 4($s3)
/* B59A40 800E28A0 10E0001E */ beqz $a3, .L800E291C
/* B59A44 800E28A4 00654021 */ addu $t0, $v1, $a1
/* B59A48 800E28A8 18E0001C */ blez $a3, .L800E291C
/* B59A4C 800E28AC ACA80000 */ sw $t0, ($a1)
/* B59A50 800E28B0 00009025 */ move $s2, $zero
/* B59A54 800E28B4 00071880 */ sll $v1, $a3, 2
/* B59A58 800E28B8 24160001 */ li $s6, 1
/* B59A5C 800E28BC 8E690000 */ lw $t1, ($s3)
.L800E28C0:
/* B59A60 800E28C0 01321021 */ addu $v0, $t1, $s2
/* B59A64 800E28C4 8C500000 */ lw $s0, ($v0)
/* B59A68 800E28C8 12000011 */ beqz $s0, .L800E2910
/* B59A6C 800E28CC 02138021 */ addu $s0, $s0, $s3
/* B59A70 800E28D0 AC500000 */ sw $s0, ($v0)
/* B59A74 800E28D4 920A0002 */ lbu $t2, 2($s0)
/* B59A78 800E28D8 02008825 */ move $s1, $s0
/* B59A7C 800E28DC 26040004 */ addiu $a0, $s0, 4
/* B59A80 800E28E0 1540000B */ bnez $t2, .L800E2910
/* B59A84 800E28E4 02602825 */ move $a1, $s3
/* B59A88 800E28E8 02803025 */ move $a2, $s4
/* B59A8C 800E28EC AFA3003C */ sw $v1, 0x3c($sp)
/* B59A90 800E28F0 0C039016 */ jal func_800E4058
/* B59A94 800E28F4 AFA70054 */ sw $a3, 0x54($sp)
/* B59A98 800E28F8 8E30000C */ lw $s0, 0xc($s1)
/* B59A9C 800E28FC 8FA3003C */ lw $v1, 0x3c($sp)
/* B59AA0 800E2900 8FA70054 */ lw $a3, 0x54($sp)
/* B59AA4 800E2904 02135821 */ addu $t3, $s0, $s3
/* B59AA8 800E2908 AE2B000C */ sw $t3, 0xc($s1)
/* B59AAC 800E290C A2360002 */ sb $s6, 2($s1)
.L800E2910:
/* B59AB0 800E2910 26520004 */ addiu $s2, $s2, 4
/* B59AB4 800E2914 5643FFEA */ bnel $s2, $v1, .L800E28C0
/* B59AB8 800E2918 8E690000 */ lw $t1, ($s3)
.L800E291C:
/* B59ABC 800E291C 8E630004 */ lw $v1, 4($s3)
.L800E2920:
/* B59AC0 800E2920 24160001 */ li $s6, 1
/* B59AC4 800E2924 50600016 */ beql $v1, $zero, .L800E2980
/* B59AC8 800E2928 8FAF0050 */ lw $t7, 0x50($sp)
/* B59ACC 800E292C 12A00013 */ beqz $s5, .L800E297C
/* B59AD0 800E2930 00736021 */ addu $t4, $v1, $s3
/* B59AD4 800E2934 1AA00011 */ blez $s5, .L800E297C
/* B59AD8 800E2938 AE6C0004 */ sw $t4, 4($s3)
/* B59ADC 800E293C 00008825 */ move $s1, $zero
/* B59AE0 800E2940 001590C0 */ sll $s2, $s5, 3
/* B59AE4 800E2944 8E6D0004 */ lw $t5, 4($s3)
.L800E2948:
/* B59AE8 800E2948 01B18021 */ addu $s0, $t5, $s1
/* B59AEC 800E294C 52000009 */ beql $s0, $zero, .L800E2974
/* B59AF0 800E2950 26310008 */ addiu $s1, $s1, 8
/* B59AF4 800E2954 8E0E0000 */ lw $t6, ($s0)
/* B59AF8 800E2958 02002025 */ move $a0, $s0
/* B59AFC 800E295C 02602825 */ move $a1, $s3
/* B59B00 800E2960 51C00004 */ beql $t6, $zero, .L800E2974
/* B59B04 800E2964 26310008 */ addiu $s1, $s1, 8
/* B59B08 800E2968 0C039016 */ jal func_800E4058
/* B59B0C 800E296C 02803025 */ move $a2, $s4
/* B59B10 800E2970 26310008 */ addiu $s1, $s1, 8
.L800E2974:
/* B59B14 800E2974 5632FFF4 */ bnel $s1, $s2, .L800E2948
/* B59B18 800E2978 8E6D0004 */ lw $t5, 4($s3)
.L800E297C:
/* B59B1C 800E297C 8FAF0050 */ lw $t7, 0x50($sp)
.L800E2980:
/* B59B20 800E2980 2418007E */ li $t8, 126
/* B59B24 800E2984 26720008 */ addiu $s2, $s3, 8
/* B59B28 800E2988 29E1007F */ slti $at, $t7, 0x7f
/* B59B2C 800E298C 54200003 */ bnezl $at, .L800E299C
/* B59B30 800E2990 8FA30050 */ lw $v1, 0x50($sp)
/* B59B34 800E2994 AFB80050 */ sw $t8, 0x50($sp)
/* B59B38 800E2998 8FA30050 */ lw $v1, 0x50($sp)
.L800E299C:
/* B59B3C 800E299C 24630001 */ addiu $v1, $v1, 1
/* B59B40 800E29A0 28610002 */ slti $at, $v1, 2
/* B59B44 800E29A4 14200024 */ bnez $at, .L800E2A38
/* B59B48 800E29A8 0003C880 */ sll $t9, $v1, 2
/* B59B4C 800E29AC 0333A821 */ addu $s5, $t9, $s3
/* B59B50 800E29B0 8E420000 */ lw $v0, ($s2)
.L800E29B4:
/* B59B54 800E29B4 1040001C */ beqz $v0, .L800E2A28
/* B59B58 800E29B8 00534021 */ addu $t0, $v0, $s3
/* B59B5C 800E29BC AE480000 */ sw $t0, ($s2)
/* B59B60 800E29C0 91090000 */ lbu $t1, ($t0)
/* B59B64 800E29C4 01008825 */ move $s1, $t0
/* B59B68 800E29C8 55200018 */ bnezl $t1, .L800E2A2C
/* B59B6C 800E29CC 26520004 */ addiu $s2, $s2, 4
/* B59B70 800E29D0 910A0001 */ lbu $t2, 1($t0)
/* B59B74 800E29D4 25040008 */ addiu $a0, $t0, 8
/* B59B78 800E29D8 02602825 */ move $a1, $s3
/* B59B7C 800E29DC 51400004 */ beql $t2, $zero, .L800E29F0
/* B59B80 800E29E0 26240010 */ addiu $a0, $s1, 0x10
/* B59B84 800E29E4 0C039016 */ jal func_800E4058
/* B59B88 800E29E8 02803025 */ move $a2, $s4
/* B59B8C 800E29EC 26240010 */ addiu $a0, $s1, 0x10
.L800E29F0:
/* B59B90 800E29F0 02602825 */ move $a1, $s3
/* B59B94 800E29F4 0C039016 */ jal func_800E4058
/* B59B98 800E29F8 02803025 */ move $a2, $s4
/* B59B9C 800E29FC 922B0002 */ lbu $t3, 2($s1)
/* B59BA0 800E2A00 2401007F */ li $at, 127
/* B59BA4 800E2A04 26240018 */ addiu $a0, $s1, 0x18
/* B59BA8 800E2A08 11610003 */ beq $t3, $at, .L800E2A18
/* B59BAC 800E2A0C 02602825 */ move $a1, $s3
/* B59BB0 800E2A10 0C039016 */ jal func_800E4058
/* B59BB4 800E2A14 02803025 */ move $a2, $s4
.L800E2A18:
/* B59BB8 800E2A18 8E300004 */ lw $s0, 4($s1)
/* B59BBC 800E2A1C A2360000 */ sb $s6, ($s1)
/* B59BC0 800E2A20 02136021 */ addu $t4, $s0, $s3
/* B59BC4 800E2A24 AE2C0004 */ sw $t4, 4($s1)
.L800E2A28:
/* B59BC8 800E2A28 26520004 */ addiu $s2, $s2, 4
.L800E2A2C:
/* B59BCC 800E2A2C 02B2082B */ sltu $at, $s5, $s2
/* B59BD0 800E2A30 5020FFE0 */ beql $at, $zero, .L800E29B4
/* B59BD4 800E2A34 8E420000 */ lw $v0, ($s2)
.L800E2A38:
/* B59BD8 800E2A38 3C0E8017 */ lui $t6, %hi(D_801719C4) # $t6, 0x8017
/* B59BDC 800E2A3C 8DCE19C4 */ lw $t6, %lo(D_801719C4)($t6)
/* B59BE0 800E2A40 8FAF0044 */ lw $t7, 0x44($sp)
/* B59BE4 800E2A44 8E6D0000 */ lw $t5, ($s3)
/* B59BE8 800E2A48 3C088017 */ lui $t0, %hi(D_801719C4) # $t0, 0x8017
/* B59BEC 800E2A4C 01CFC021 */ addu $t8, $t6, $t7
/* B59BF0 800E2A50 AF0D000C */ sw $t5, 0xc($t8)
/* B59BF4 800E2A54 8FA90044 */ lw $t1, 0x44($sp)
/* B59BF8 800E2A58 8D0819C4 */ lw $t0, %lo(D_801719C4)($t0)
/* B59BFC 800E2A5C 8E790004 */ lw $t9, 4($s3)
/* B59C00 800E2A60 3C0C8017 */ lui $t4, %hi(D_801719C4) # $t4, 0x8017
/* B59C04 800E2A64 01095021 */ addu $t2, $t0, $t1
/* B59C08 800E2A68 AD590010 */ sw $t9, 0x10($t2)
/* B59C0C 800E2A6C 8FAE0044 */ lw $t6, 0x44($sp)
/* B59C10 800E2A70 8D8C19C4 */ lw $t4, %lo(D_801719C4)($t4)
/* B59C14 800E2A74 266B0008 */ addiu $t3, $s3, 8
/* B59C18 800E2A78 018E7821 */ addu $t7, $t4, $t6
/* B59C1C 800E2A7C ADEB0008 */ sw $t3, 8($t7)
/* B59C20 800E2A80 8FBF0034 */ lw $ra, 0x34($sp)
/* B59C24 800E2A84 8FB60030 */ lw $s6, 0x30($sp)
/* B59C28 800E2A88 8FB5002C */ lw $s5, 0x2c($sp)
/* B59C2C 800E2A8C 8FB40028 */ lw $s4, 0x28($sp)
/* B59C30 800E2A90 8FB30024 */ lw $s3, 0x24($sp)
/* B59C34 800E2A94 8FB20020 */ lw $s2, 0x20($sp)
/* B59C38 800E2A98 8FB1001C */ lw $s1, 0x1c($sp)
/* B59C3C 800E2A9C 8FB00018 */ lw $s0, 0x18($sp)
/* B59C40 800E2AA0 03E00008 */ jr $ra
/* B59C44 800E2AA4 27BD0070 */ addiu $sp, $sp, 0x70
glabel func_800E2AA8
/* B59C48 800E2AA8 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B59C4C 800E2AAC AFB20038 */ sw $s2, 0x38($sp)
/* B59C50 800E2AB0 AFB00030 */ sw $s0, 0x30($sp)
/* B59C54 800E2AB4 00809025 */ move $s2, $a0
/* B59C58 800E2AB8 AFB10034 */ sw $s1, 0x34($sp)
/* B59C5C 800E2ABC 24D0000F */ addiu $s0, $a2, 0xf
/* B59C60 800E2AC0 2401FFF0 */ li $at, -16
/* B59C64 800E2AC4 00A08825 */ move $s1, $a1
/* B59C68 800E2AC8 AFBF004C */ sw $ra, 0x4c($sp)
/* B59C6C 800E2ACC AFB50044 */ sw $s5, 0x44($sp)
/* B59C70 800E2AD0 02018024 */ and $s0, $s0, $at
/* B59C74 800E2AD4 00A02025 */ move $a0, $a1
/* B59C78 800E2AD8 00E0A825 */ move $s5, $a3
/* B59C7C 800E2ADC AFB60048 */ sw $s6, 0x48($sp)
/* B59C80 800E2AE0 AFB40040 */ sw $s4, 0x40($sp)
/* B59C84 800E2AE4 AFB3003C */ sw $s3, 0x3c($sp)
/* B59C88 800E2AE8 0C039A10 */ jal func_800E6840
/* B59C8C 800E2AEC 02002825 */ move $a1, $s0
/* B59C90 800E2AF0 3C168017 */ lui $s6, %hi(D_80171784) # $s6, 0x8017
/* B59C94 800E2AF4 3C148015 */ lui $s4, %hi(D_8014942C) # $s4, 0x8015
/* B59C98 800E2AF8 3C138017 */ lui $s3, %hi(D_80171768) # $s3, 0x8017
/* B59C9C 800E2AFC 26731768 */ addiu $s3, %lo(D_80171768) # addiu $s3, $s3, 0x1768
/* B59CA0 800E2B00 2694942C */ addiu $s4, %lo(D_8014942C) # addiu $s4, $s4, -0x6bd4
/* B59CA4 800E2B04 26D61784 */ addiu $s6, %lo(D_80171784) # addiu $s6, $s6, 0x1784
/* B59CA8 800E2B08 2E010400 */ sltiu $at, $s0, 0x400
/* B59CAC 800E2B0C 14200014 */ bnez $at, .L800E2B60
.L800E2B10:
/* B59CB0 800E2B10 240E0400 */ li $t6, 1024
/* B59CB4 800E2B14 AFAE0014 */ sw $t6, 0x14($sp)
/* B59CB8 800E2B18 02C02025 */ move $a0, $s6
/* B59CBC 800E2B1C 24050001 */ li $a1, 1
/* B59CC0 800E2B20 00003025 */ move $a2, $zero
/* B59CC4 800E2B24 02403825 */ move $a3, $s2
/* B59CC8 800E2B28 AFB10010 */ sw $s1, 0x10($sp)
/* B59CCC 800E2B2C AFB30018 */ sw $s3, 0x18($sp)
/* B59CD0 800E2B30 AFB5001C */ sw $s5, 0x1c($sp)
/* B59CD4 800E2B34 0C038AF8 */ jal func_800E2BE0
/* B59CD8 800E2B38 AFB40020 */ sw $s4, 0x20($sp)
/* B59CDC 800E2B3C 02602025 */ move $a0, $s3
/* B59CE0 800E2B40 00002825 */ move $a1, $zero
/* B59CE4 800E2B44 0C000CA0 */ jal osRecvMesg
/* B59CE8 800E2B48 24060001 */ li $a2, 1
/* B59CEC 800E2B4C 2610FC00 */ addiu $s0, $s0, -0x400
/* B59CF0 800E2B50 2E010400 */ sltiu $at, $s0, 0x400
/* B59CF4 800E2B54 26520400 */ addiu $s2, $s2, 0x400
/* B59CF8 800E2B58 1020FFED */ beqz $at, .L800E2B10
/* B59CFC 800E2B5C 26310400 */ addiu $s1, $s1, 0x400
.L800E2B60:
/* B59D00 800E2B60 12000010 */ beqz $s0, .L800E2BA4
/* B59D04 800E2B64 02C02025 */ move $a0, $s6
/* B59D08 800E2B68 3C0F8015 */ lui $t7, %hi(D_80149438) # $t7, 0x8015
/* B59D0C 800E2B6C 25EF9438 */ addiu $t7, %lo(D_80149438) # addiu $t7, $t7, -0x6bc8
/* B59D10 800E2B70 AFAF0020 */ sw $t7, 0x20($sp)
/* B59D14 800E2B74 24050001 */ li $a1, 1
/* B59D18 800E2B78 00003025 */ move $a2, $zero
/* B59D1C 800E2B7C 02403825 */ move $a3, $s2
/* B59D20 800E2B80 AFB10010 */ sw $s1, 0x10($sp)
/* B59D24 800E2B84 AFB00014 */ sw $s0, 0x14($sp)
/* B59D28 800E2B88 AFB30018 */ sw $s3, 0x18($sp)
/* B59D2C 800E2B8C 0C038AF8 */ jal func_800E2BE0
/* B59D30 800E2B90 AFB5001C */ sw $s5, 0x1c($sp)
/* B59D34 800E2B94 02602025 */ move $a0, $s3
/* B59D38 800E2B98 00002825 */ move $a1, $zero
/* B59D3C 800E2B9C 0C000CA0 */ jal osRecvMesg
/* B59D40 800E2BA0 24060001 */ li $a2, 1
.L800E2BA4:
/* B59D44 800E2BA4 8FBF004C */ lw $ra, 0x4c($sp)
/* B59D48 800E2BA8 8FB00030 */ lw $s0, 0x30($sp)
/* B59D4C 800E2BAC 8FB10034 */ lw $s1, 0x34($sp)
/* B59D50 800E2BB0 8FB20038 */ lw $s2, 0x38($sp)
/* B59D54 800E2BB4 8FB3003C */ lw $s3, 0x3c($sp)
/* B59D58 800E2BB8 8FB40040 */ lw $s4, 0x40($sp)
/* B59D5C 800E2BBC 8FB50044 */ lw $s5, 0x44($sp)
/* B59D60 800E2BC0 8FB60048 */ lw $s6, 0x48($sp)
/* B59D64 800E2BC4 03E00008 */ jr $ra
/* B59D68 800E2BC8 27BD0050 */ addiu $sp, $sp, 0x50
glabel func_800E2BCC
/* B59D6C 800E2BCC AFA40000 */ sw $a0, ($sp)
/* B59D70 800E2BD0 AFA50004 */ sw $a1, 4($sp)
/* B59D74 800E2BD4 AFA60008 */ sw $a2, 8($sp)
/* B59D78 800E2BD8 03E00008 */ jr $ra
/* B59D7C 800E2BDC AFA7000C */ sw $a3, 0xc($sp)
glabel func_800E2BE0
/* B59D80 800E2BE0 3C028017 */ lui $v0, %hi(D_8016F180) # $v0, 0x8017
/* B59D84 800E2BE4 2442F180 */ addiu $v0, %lo(D_8016F180) # addiu $v0, $v0, -0xe80
/* B59D88 800E2BE8 8C4E2984 */ lw $t6, 0x2984($v0)
/* B59D8C 800E2BEC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B59D90 800E2BF0 AFB00018 */ sw $s0, 0x18($sp)
/* B59D94 800E2BF4 2DC10011 */ sltiu $at, $t6, 0x11
/* B59D98 800E2BF8 00808025 */ move $s0, $a0
/* B59D9C 800E2BFC AFBF001C */ sw $ra, 0x1c($sp)
/* B59DA0 800E2C00 14200003 */ bnez $at, .L800E2C10
/* B59DA4 800E2C04 AFA50024 */ sw $a1, 0x24($sp)
/* B59DA8 800E2C08 10000026 */ b .L800E2CA4
/* B59DAC 800E2C0C 2402FFFF */ li $v0, -1
.L800E2C10:
/* B59DB0 800E2C10 8FA3003C */ lw $v1, 0x3c($sp)
/* B59DB4 800E2C14 24010002 */ li $at, 2
/* B59DB8 800E2C18 8FB80024 */ lw $t8, 0x24($sp)
/* B59DBC 800E2C1C 10610005 */ beq $v1, $at, .L800E2C34
/* B59DC0 800E2C20 24010003 */ li $at, 3
/* B59DC4 800E2C24 10610005 */ beq $v1, $at, .L800E2C3C
/* B59DC8 800E2C28 00000000 */ nop
/* B59DCC 800E2C2C 1000001D */ b .L800E2CA4
/* B59DD0 800E2C30 00001025 */ move $v0, $zero
.L800E2C34:
/* B59DD4 800E2C34 10000005 */ b .L800E2C4C
/* B59DD8 800E2C38 8C441E18 */ lw $a0, 0x1e18($v0)
.L800E2C3C:
/* B59DDC 800E2C3C 10000003 */ b .L800E2C4C
/* B59DE0 800E2C40 8C441E1C */ lw $a0, 0x1e1c($v0)
/* B59DE4 800E2C44 10000017 */ b .L800E2CA4
/* B59DE8 800E2C48 00001025 */ move $v0, $zero
.L800E2C4C:
/* B59DEC 800E2C4C 8FA20034 */ lw $v0, 0x34($sp)
/* B59DF0 800E2C50 2401FFF0 */ li $at, -16
/* B59DF4 800E2C54 304F000F */ andi $t7, $v0, 0xf
/* B59DF8 800E2C58 51E00004 */ beql $t7, $zero, .L800E2C6C
/* B59DFC 800E2C5C A2180002 */ sb $t8, 2($s0)
/* B59E00 800E2C60 2442000F */ addiu $v0, $v0, 0xf
/* B59E04 800E2C64 00411024 */ and $v0, $v0, $at
/* B59E08 800E2C68 A2180002 */ sb $t8, 2($s0)
.L800E2C6C:
/* B59E0C 800E2C6C 8FB90038 */ lw $t9, 0x38($sp)
/* B59E10 800E2C70 24090002 */ li $t1, 2
/* B59E14 800E2C74 02002825 */ move $a1, $s0
/* B59E18 800E2C78 AE190004 */ sw $t9, 4($s0)
/* B59E1C 800E2C7C 8FA80030 */ lw $t0, 0x30($sp)
/* B59E20 800E2C80 AE07000C */ sw $a3, 0xc($s0)
/* B59E24 800E2C84 AE020010 */ sw $v0, 0x10($s0)
/* B59E28 800E2C88 AE080008 */ sw $t0, 8($s0)
/* B59E2C 800E2C8C AC890014 */ sw $t1, 0x14($a0)
/* B59E30 800E2C90 3C198013 */ lui $t9, %hi(D_801304D0) # $t9, 0x8013
/* B59E34 800E2C94 8F3904D0 */ lw $t9, %lo(D_801304D0)($t9)
/* B59E38 800E2C98 0320F809 */ jalr $t9
/* B59E3C 800E2C9C 00000000 */ nop
/* B59E40 800E2CA0 00001025 */ move $v0, $zero
.L800E2CA4:
/* B59E44 800E2CA4 8FBF001C */ lw $ra, 0x1c($sp)
/* B59E48 800E2CA8 8FB00018 */ lw $s0, 0x18($sp)
/* B59E4C 800E2CAC 27BD0020 */ addiu $sp, $sp, 0x20
/* B59E50 800E2CB0 03E00008 */ jr $ra
/* B59E54 800E2CB4 00000000 */ nop
glabel func_800E2CB8
/* B59E58 800E2CB8 03E00008 */ jr $ra
/* B59E5C 800E2CBC 00000000 */ nop
glabel func_800E2CC0
/* B59E60 800E2CC0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B59E64 800E2CC4 AFBF0014 */ sw $ra, 0x14($sp)
/* B59E68 800E2CC8 0C038956 */ jal func_800E2558
/* B59E6C 800E2CCC 27A6001C */ addiu $a2, $sp, 0x1c
/* B59E70 800E2CD0 8FBF0014 */ lw $ra, 0x14($sp)
/* B59E74 800E2CD4 27BD0020 */ addiu $sp, $sp, 0x20
/* B59E78 800E2CD8 03E00008 */ jr $ra
/* B59E7C 800E2CDC 00000000 */ nop
glabel func_800E2CE0
/* B59E80 800E2CE0 27BDFFA8 */ addiu $sp, $sp, -0x58
/* B59E84 800E2CE4 AFBF002C */ sw $ra, 0x2c($sp)
/* B59E88 800E2CE8 AFB00028 */ sw $s0, 0x28($sp)
/* B59E8C 800E2CEC 00808025 */ move $s0, $a0
/* B59E90 800E2CF0 AFA5005C */ sw $a1, 0x5c($sp)
/* B59E94 800E2CF4 AFA60060 */ sw $a2, 0x60($sp)
/* B59E98 800E2CF8 0C0389DA */ jal func_800E2768
/* B59E9C 800E2CFC AFA70064 */ sw $a3, 0x64($sp)
/* B59EA0 800E2D00 12000009 */ beqz $s0, .L800E2D28
/* B59EA4 800E2D04 00402825 */ move $a1, $v0
/* B59EA8 800E2D08 24030001 */ li $v1, 1
/* B59EAC 800E2D0C 12030010 */ beq $s0, $v1, .L800E2D50
/* B59EB0 800E2D10 3C0F8017 */ lui $t7, %hi(D_801725E8)
/* B59EB4 800E2D14 24010002 */ li $at, 2
/* B59EB8 800E2D18 12010013 */ beq $s0, $at, .L800E2D68
/* B59EBC 800E2D1C 3C188017 */ lui $t8, %hi(D_801725B8)
/* B59EC0 800E2D20 10000018 */ b .L800E2D84
/* B59EC4 800E2D24 02002025 */ move $a0, $s0
.L800E2D28:
/* B59EC8 800E2D28 3C0E8017 */ lui $t6, %hi(D_80172618)
/* B59ECC 800E2D2C 01C27021 */ addu $t6, $t6, $v0
/* B59ED0 800E2D30 91CE2618 */ lbu $t6, %lo(D_80172618)($t6)
/* B59ED4 800E2D34 24010001 */ li $at, 1
/* B59ED8 800E2D38 15C10003 */ bne $t6, $at, .L800E2D48
/* B59EDC 800E2D3C 00000000 */ nop
/* B59EE0 800E2D40 100000A5 */ b .L800E2FD8
/* B59EE4 800E2D44 00001025 */ move $v0, $zero
.L800E2D48:
/* B59EE8 800E2D48 1000000E */ b .L800E2D84
/* B59EEC 800E2D4C 02002025 */ move $a0, $s0
.L800E2D50:
/* B59EF0 800E2D50 01E27821 */ addu $t7, $t7, $v0
/* B59EF4 800E2D54 91EF25E8 */ lbu $t7, %lo(D_801725E8)($t7)
/* B59EF8 800E2D58 546F000A */ bnel $v1, $t7, .L800E2D84
/* B59EFC 800E2D5C 02002025 */ move $a0, $s0
/* B59F00 800E2D60 1000009D */ b .L800E2FD8
/* B59F04 800E2D64 00001025 */ move $v0, $zero
.L800E2D68:
/* B59F08 800E2D68 0302C021 */ addu $t8, $t8, $v0
/* B59F0C 800E2D6C 931825B8 */ lbu $t8, %lo(D_801725B8)($t8)
/* B59F10 800E2D70 54780004 */ bnel $v1, $t8, .L800E2D84
/* B59F14 800E2D74 02002025 */ move $a0, $s0
/* B59F18 800E2D78 10000097 */ b .L800E2FD8
/* B59F1C 800E2D7C 00001025 */ move $v0, $zero
/* B59F20 800E2D80 02002025 */ move $a0, $s0
.L800E2D84:
/* B59F24 800E2D84 0C0389E9 */ jal func_800E27A4
/* B59F28 800E2D88 AFA50034 */ sw $a1, 0x34($sp)
/* B59F2C 800E2D8C 1040000A */ beqz $v0, .L800E2DB8
/* B59F30 800E2D90 AFA2004C */ sw $v0, 0x4c($sp)
/* B59F34 800E2D94 8FA50064 */ lw $a1, 0x64($sp)
/* B59F38 800E2D98 24190002 */ li $t9, 2
/* B59F3C 800E2D9C AFB9003C */ sw $t9, 0x3c($sp)
/* B59F40 800E2DA0 8FA40068 */ lw $a0, 0x68($sp)
/* B59F44 800E2DA4 00003025 */ move $a2, $zero
/* B59F48 800E2DA8 0C000C18 */ jal osSendMesg
/* B59F4C 800E2DAC 00052E00 */ sll $a1, $a1, 0x18
/* B59F50 800E2DB0 10000074 */ b .L800E2F84
/* B59F54 800E2DB4 00000000 */ nop
.L800E2DB8:
/* B59F58 800E2DB8 0C0389FE */ jal func_800E27F8
/* B59F5C 800E2DBC 02002025 */ move $a0, $s0
/* B59F60 800E2DC0 8FA80034 */ lw $t0, 0x34($sp)
/* B59F64 800E2DC4 AFA20050 */ sw $v0, 0x50($sp)
/* B59F68 800E2DC8 8FAE005C */ lw $t6, 0x5c($sp)
/* B59F6C 800E2DCC 00084900 */ sll $t1, $t0, 4
/* B59F70 800E2DD0 00491821 */ addu $v1, $v0, $t1
/* B59F74 800E2DD4 8C6A0014 */ lw $t2, 0x14($v1)
/* B59F78 800E2DD8 2401FFF0 */ li $at, -16
/* B59F7C 800E2DDC 000E7900 */ sll $t7, $t6, 4
/* B59F80 800E2DE0 254C000F */ addiu $t4, $t2, 0xf
/* B59F84 800E2DE4 01816824 */ and $t5, $t4, $at
/* B59F88 800E2DE8 AFAA0054 */ sw $t2, 0x54($sp)
/* B59F8C 800E2DEC AFAD0054 */ sw $t5, 0x54($sp)
/* B59F90 800E2DF0 004F2021 */ addu $a0, $v0, $t7
/* B59F94 800E2DF4 80980018 */ lb $t8, 0x18($a0)
/* B59F98 800E2DF8 24080002 */ li $t0, 2
/* B59F9C 800E2DFC AFB80048 */ sw $t8, 0x48($sp)
/* B59FA0 800E2E00 80850019 */ lb $a1, 0x19($a0)
/* B59FA4 800E2E04 8C790010 */ lw $t9, 0x10($v1)
/* B59FA8 800E2E08 AFA8003C */ sw $t0, 0x3c($sp)
/* B59FAC 800E2E0C 2CA10005 */ sltiu $at, $a1, 5
/* B59FB0 800E2E10 1020002D */ beqz $at, .L800E2EC8
/* B59FB4 800E2E14 AFB90040 */ sw $t9, 0x40($sp)
/* B59FB8 800E2E18 00054880 */ sll $t1, $a1, 2
/* B59FBC 800E2E1C 3C018015 */ lui $at, %hi(jtbl_8014946C)
/* B59FC0 800E2E20 00290821 */ addu $at, $at, $t1
/* B59FC4 800E2E24 8C29946C */ lw $t1, %lo(jtbl_8014946C)($at)
/* B59FC8 800E2E28 01200008 */ jr $t1
/* B59FCC 800E2E2C 00000000 */ nop
glabel L800E2E30
/* B59FD0 800E2E30 02002025 */ move $a0, $s0
/* B59FD4 800E2E34 8FA50034 */ lw $a1, 0x34($sp)
/* B59FD8 800E2E38 0C038150 */ jal func_800E0540
/* B59FDC 800E2E3C 8FA60054 */ lw $a2, 0x54($sp)
/* B59FE0 800E2E40 14400003 */ bnez $v0, .L800E2E50
/* B59FE4 800E2E44 AFA2004C */ sw $v0, 0x4c($sp)
/* B59FE8 800E2E48 10000064 */ b .L800E2FDC
/* B59FEC 800E2E4C 8FBF002C */ lw $ra, 0x2c($sp)
.L800E2E50:
/* B59FF0 800E2E50 240A0005 */ li $t2, 5
/* B59FF4 800E2E54 1000001C */ b .L800E2EC8
/* B59FF8 800E2E58 AFAA003C */ sw $t2, 0x3c($sp)
glabel L800E2E5C
/* B59FFC 800E2E5C 02002025 */ move $a0, $s0
/* B5A000 800E2E60 8FA50054 */ lw $a1, 0x54($sp)
/* B5A004 800E2E64 24060001 */ li $a2, 1
/* B5A008 800E2E68 0C037A38 */ jal func_800DE8E0
/* B5A00C 800E2E6C 8FA70034 */ lw $a3, 0x34($sp)
/* B5A010 800E2E70 14400015 */ bnez $v0, .L800E2EC8
/* B5A014 800E2E74 AFA2004C */ sw $v0, 0x4c($sp)
/* B5A018 800E2E78 10000058 */ b .L800E2FDC
/* B5A01C 800E2E7C 8FBF002C */ lw $ra, 0x2c($sp)
glabel L800E2E80
/* B5A020 800E2E80 02002025 */ move $a0, $s0
/* B5A024 800E2E84 8FA50054 */ lw $a1, 0x54($sp)
/* B5A028 800E2E88 00003025 */ move $a2, $zero
/* B5A02C 800E2E8C 0C037A38 */ jal func_800DE8E0
/* B5A030 800E2E90 8FA70034 */ lw $a3, 0x34($sp)
/* B5A034 800E2E94 1440000C */ bnez $v0, .L800E2EC8
/* B5A038 800E2E98 AFA2004C */ sw $v0, 0x4c($sp)
/* B5A03C 800E2E9C 1000004F */ b .L800E2FDC
/* B5A040 800E2EA0 8FBF002C */ lw $ra, 0x2c($sp)
glabel L800E2EA4
/* B5A044 800E2EA4 02002025 */ move $a0, $s0
/* B5A048 800E2EA8 8FA50054 */ lw $a1, 0x54($sp)
/* B5A04C 800E2EAC 24060002 */ li $a2, 2
/* B5A050 800E2EB0 0C037A38 */ jal func_800DE8E0
/* B5A054 800E2EB4 8FA70034 */ lw $a3, 0x34($sp)
/* B5A058 800E2EB8 14400003 */ bnez $v0, .L800E2EC8
/* B5A05C 800E2EBC AFA2004C */ sw $v0, 0x4c($sp)
/* B5A060 800E2EC0 10000046 */ b .L800E2FDC
/* B5A064 800E2EC4 8FBF002C */ lw $ra, 0x2c($sp)
.L800E2EC8:
/* B5A068 800E2EC8 8FAB0048 */ lw $t3, 0x48($sp)
/* B5A06C 800E2ECC 24010001 */ li $at, 1
/* B5A070 800E2ED0 8FA40040 */ lw $a0, 0x40($sp)
/* B5A074 800E2ED4 15610018 */ bne $t3, $at, .L800E2F38
/* B5A078 800E2ED8 8FA5004C */ lw $a1, 0x4c($sp)
/* B5A07C 800E2EDC 8FAC0050 */ lw $t4, 0x50($sp)
/* B5A080 800E2EE0 8FAF0064 */ lw $t7, 0x64($sp)
/* B5A084 800E2EE4 8FA9005C */ lw $t1, 0x5c($sp)
/* B5A088 800E2EE8 85840002 */ lh $a0, 2($t4)
/* B5A08C 800E2EEC 8FAD0060 */ lw $t5, 0x60($sp)
/* B5A090 800E2EF0 AFAB0010 */ sw $t3, 0x10($sp)
/* B5A094 800E2EF4 8FAB003C */ lw $t3, 0x3c($sp)
/* B5A098 800E2EF8 0010CC00 */ sll $t9, $s0, 0x10
/* B5A09C 800E2EFC 000FC600 */ sll $t8, $t7, 0x18
/* B5A0A0 800E2F00 03194025 */ or $t0, $t8, $t9
/* B5A0A4 800E2F04 00095200 */ sll $t2, $t1, 8
/* B5A0A8 800E2F08 8FAE0068 */ lw $t6, 0x68($sp)
/* B5A0AC 800E2F0C 010A6025 */ or $t4, $t0, $t2
/* B5A0B0 800E2F10 AFAD0014 */ sw $t5, 0x14($sp)
/* B5A0B4 800E2F14 018B6825 */ or $t5, $t4, $t3
/* B5A0B8 800E2F18 AFAD001C */ sw $t5, 0x1c($sp)
/* B5A0BC 800E2F1C 8FA50040 */ lw $a1, 0x40($sp)
/* B5A0C0 800E2F20 8FA6004C */ lw $a2, 0x4c($sp)
/* B5A0C4 800E2F24 8FA70054 */ lw $a3, 0x54($sp)
/* B5A0C8 800E2F28 0C038E91 */ jal func_800E3A44
/* B5A0CC 800E2F2C AFAE0018 */ sw $t6, 0x18($sp)
/* B5A0D0 800E2F30 10000013 */ b .L800E2F80
/* B5A0D4 800E2F34 240F0001 */ li $t7, 1
.L800E2F38:
/* B5A0D8 800E2F38 8FB80064 */ lw $t8, 0x64($sp)
/* B5A0DC 800E2F3C 8FAA0034 */ lw $t2, 0x34($sp)
/* B5A0E0 800E2F40 8FAE0060 */ lw $t6, 0x60($sp)
/* B5A0E4 800E2F44 8FAD003C */ lw $t5, 0x3c($sp)
/* B5A0E8 800E2F48 00104C00 */ sll $t1, $s0, 0x10
/* B5A0EC 800E2F4C 0018CE00 */ sll $t9, $t8, 0x18
/* B5A0F0 800E2F50 03294025 */ or $t0, $t9, $t1
/* B5A0F4 800E2F54 000A6200 */ sll $t4, $t2, 8
/* B5A0F8 800E2F58 8FAF0068 */ lw $t7, 0x68($sp)
/* B5A0FC 800E2F5C 010C5825 */ or $t3, $t0, $t4
/* B5A100 800E2F60 AFAE0010 */ sw $t6, 0x10($sp)
/* B5A104 800E2F64 016D7025 */ or $t6, $t3, $t5
/* B5A108 800E2F68 AFAE0018 */ sw $t6, 0x18($sp)
/* B5A10C 800E2F6C 8FA60054 */ lw $a2, 0x54($sp)
/* B5A110 800E2F70 8FA70048 */ lw $a3, 0x48($sp)
/* B5A114 800E2F74 0C038EB2 */ jal func_800E3AC8
/* B5A118 800E2F78 AFAF0014 */ sw $t7, 0x14($sp)
/* B5A11C 800E2F7C 240F0001 */ li $t7, 1
.L800E2F80:
/* B5A120 800E2F80 AFAF003C */ sw $t7, 0x3c($sp)
.L800E2F84:
/* B5A124 800E2F84 12000009 */ beqz $s0, .L800E2FAC
/* B5A128 800E2F88 8FA40034 */ lw $a0, 0x34($sp)
/* B5A12C 800E2F8C 24010001 */ li $at, 1
/* B5A130 800E2F90 1201000A */ beq $s0, $at, .L800E2FBC
/* B5A134 800E2F94 8FA40034 */ lw $a0, 0x34($sp)
/* B5A138 800E2F98 24010002 */ li $at, 2
/* B5A13C 800E2F9C 1201000B */ beq $s0, $at, .L800E2FCC
/* B5A140 800E2FA0 8FA40034 */ lw $a0, 0x34($sp)
/* B5A144 800E2FA4 1000000C */ b .L800E2FD8
/* B5A148 800E2FA8 8FA2004C */ lw $v0, 0x4c($sp)
.L800E2FAC:
/* B5A14C 800E2FAC 0C038692 */ jal func_800E1A48
/* B5A150 800E2FB0 8FA5003C */ lw $a1, 0x3c($sp)
/* B5A154 800E2FB4 10000008 */ b .L800E2FD8
/* B5A158 800E2FB8 8FA2004C */ lw $v0, 0x4c($sp)
.L800E2FBC:
/* B5A15C 800E2FBC 0C038686 */ jal func_800E1A18
/* B5A160 800E2FC0 8FA5003C */ lw $a1, 0x3c($sp)
/* B5A164 800E2FC4 10000004 */ b .L800E2FD8
/* B5A168 800E2FC8 8FA2004C */ lw $v0, 0x4c($sp)
.L800E2FCC:
/* B5A16C 800E2FCC 0C03869E */ jal func_800E1A78
/* B5A170 800E2FD0 8FA5003C */ lw $a1, 0x3c($sp)
/* B5A174 800E2FD4 8FA2004C */ lw $v0, 0x4c($sp)
.L800E2FD8:
/* B5A178 800E2FD8 8FBF002C */ lw $ra, 0x2c($sp)
.L800E2FDC:
/* B5A17C 800E2FDC 8FB00028 */ lw $s0, 0x28($sp)
/* B5A180 800E2FE0 27BD0058 */ addiu $sp, $sp, 0x58
/* B5A184 800E2FE4 03E00008 */ jr $ra
/* B5A188 800E2FE8 00000000 */ nop
glabel func_800E2FEC
/* B5A18C 800E2FEC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5A190 800E2FF0 AFBF0014 */ sw $ra, 0x14($sp)
/* B5A194 800E2FF4 0C038DBB */ jal func_800E36EC
/* B5A198 800E2FF8 AFA40018 */ sw $a0, 0x18($sp)
/* B5A19C 800E2FFC 0C039164 */ jal func_800E4590
/* B5A1A0 800E3000 8FA40018 */ lw $a0, 0x18($sp)
/* B5A1A4 800E3004 0C038EFB */ jal func_800E3BEC
/* B5A1A8 800E3008 8FA40018 */ lw $a0, 0x18($sp)
/* B5A1AC 800E300C 8FBF0014 */ lw $ra, 0x14($sp)
/* B5A1B0 800E3010 27BD0018 */ addiu $sp, $sp, 0x18
/* B5A1B4 800E3014 03E00008 */ jr $ra
/* B5A1B8 800E3018 00000000 */ nop
glabel func_800E301C
/* B5A1BC 800E301C 3C018013 */ lui $at, %hi(D_801304D0)
/* B5A1C0 800E3020 03E00008 */ jr $ra
/* B5A1C4 800E3024 AC2404D0 */ sw $a0, %lo(D_801304D0)($at)
glabel func_800E3028
/* B5A1C8 800E3028 3C018013 */ lui $at, %hi(D_801304D4)
/* B5A1CC 800E302C 03E00008 */ jr $ra
/* B5A1D0 800E3030 AC2404D4 */ sw $a0, %lo(D_801304D4)($at)
glabel func_800E3034
/* B5A1D4 800E3034 3C058017 */ lui $a1, %hi(D_8016F180) # $a1, 0x8017
/* B5A1D8 800E3038 24A5F180 */ addiu $a1, %lo(D_8016F180) # addiu $a1, $a1, -0xe80
/* B5A1DC 800E303C 8CB82834 */ lw $t8, 0x2834($a1)
/* B5A1E0 800E3040 0004C900 */ sll $t9, $a0, 4
/* B5A1E4 800E3044 8CAF2844 */ lw $t7, 0x2844($a1)
/* B5A1E8 800E3048 03191821 */ addu $v1, $t8, $t9
/* B5A1EC 800E304C 8468001A */ lh $t0, 0x1a($v1)
/* B5A1F0 800E3050 00047080 */ sll $t6, $a0, 2
/* B5A1F4 800E3054 01C47021 */ addu $t6, $t6, $a0
/* B5A1F8 800E3058 000E7080 */ sll $t6, $t6, 2
/* B5A1FC 800E305C 01CF1021 */ addu $v0, $t6, $t7
/* B5A200 800E3060 00085203 */ sra $t2, $t0, 8
/* B5A204 800E3064 A04A0002 */ sb $t2, 2($v0)
/* B5A208 800E3068 846C001A */ lh $t4, 0x1a($v1)
/* B5A20C 800E306C 24630010 */ addiu $v1, $v1, 0x10
/* B5A210 800E3070 A04C0003 */ sb $t4, 3($v0)
/* B5A214 800E3074 846D000C */ lh $t5, 0xc($v1)
/* B5A218 800E3078 000D7A03 */ sra $t7, $t5, 8
/* B5A21C 800E307C A04F0000 */ sb $t7, ($v0)
/* B5A220 800E3080 8479000C */ lh $t9, 0xc($v1)
/* B5A224 800E3084 A0590001 */ sb $t9, 1($v0)
/* B5A228 800E3088 8468000E */ lh $t0, 0xe($v1)
/* B5A22C 800E308C 03E00008 */ jr $ra
/* B5A230 800E3090 A4480004 */ sh $t0, 4($v0)
glabel func_800E3094
/* B5A234 800E3094 27BDFF90 */ addiu $sp, $sp, -0x70
/* B5A238 800E3098 AFB10018 */ sw $s1, 0x18($sp)
/* B5A23C 800E309C 3C118017 */ lui $s1, %hi(D_8016F180) # $s1, 0x8017
/* B5A240 800E30A0 2631F180 */ addiu $s1, %lo(D_8016F180) # addiu $s1, $s1, -0xe80
/* B5A244 800E30A4 3C018017 */ lui $at, %hi(D_801755D0) # $at, 0x8017
/* B5A248 800E30A8 AC2055D0 */ sw $zero, %lo(D_801755D0)($at)
/* B5A24C 800E30AC AFBF001C */ sw $ra, 0x1c($sp)
/* B5A250 800E30B0 AFB00014 */ sw $s0, 0x14($sp)
/* B5A254 800E30B4 AFA40070 */ sw $a0, 0x70($sp)
/* B5A258 800E30B8 AFA50074 */ sw $a1, 0x74($sp)
/* B5A25C 800E30BC AE202984 */ sw $zero, 0x2984($s1)
/* B5A260 800E30C0 02201025 */ move $v0, $s1
/* B5A264 800E30C4 24036450 */ li $v1, 25680
.L800E30C8:
/* B5A268 800E30C8 2463FFFF */ addiu $v1, $v1, -1
/* B5A26C 800E30CC A0400000 */ sb $zero, ($v0)
/* B5A270 800E30D0 0461FFFD */ bgez $v1, .L800E30C8
/* B5A274 800E30D4 24420001 */ addiu $v0, $v0, 1
/* B5A278 800E30D8 3C028000 */ lui $v0, %hi(osTvType) # $v0, 0x8000
/* B5A27C 800E30DC 8C420300 */ lw $v0, %lo(osTvType)($v0)
/* B5A280 800E30E0 10400007 */ beqz $v0, .L800E3100
/* B5A284 800E30E4 24010001 */ li $at, 1
/* B5A288 800E30E8 10410010 */ beq $v0, $at, .L800E312C
/* B5A28C 800E30EC 24010002 */ li $at, 2
/* B5A290 800E30F0 10410009 */ beq $v0, $at, .L800E3118
/* B5A294 800E30F4 240F003C */ li $t7, 60
/* B5A298 800E30F8 1000000C */ b .L800E312C
/* B5A29C 800E30FC 00000000 */ nop
.L800E3100:
/* B5A2A0 800E3100 3C018015 */ lui $at, %hi(D_80149480)
/* B5A2A4 800E3104 C4249480 */ lwc1 $f4, %lo(D_80149480)($at)
/* B5A2A8 800E3108 240E0032 */ li $t6, 50
/* B5A2AC 800E310C AE2E2964 */ sw $t6, 0x2964($s1)
/* B5A2B0 800E3110 1000000B */ b .L800E3140
/* B5A2B4 800E3114 E6242960 */ swc1 $f4, 0x2960($s1)
.L800E3118:
/* B5A2B8 800E3118 3C018015 */ lui $at, %hi(D_80149484)
/* B5A2BC 800E311C C4269484 */ lwc1 $f6, %lo(D_80149484)($at)
/* B5A2C0 800E3120 AE2F2964 */ sw $t7, 0x2964($s1)
/* B5A2C4 800E3124 10000006 */ b .L800E3140
/* B5A2C8 800E3128 E6262960 */ swc1 $f6, 0x2960($s1)
.L800E312C:
/* B5A2CC 800E312C 3C018015 */ lui $at, %hi(D_80149488)
/* B5A2D0 800E3130 C4289488 */ lwc1 $f8, %lo(D_80149488)($at)
/* B5A2D4 800E3134 2418003C */ li $t8, 60
/* B5A2D8 800E3138 AE382964 */ sw $t8, 0x2964($s1)
/* B5A2DC 800E313C E6282960 */ swc1 $f8, 0x2960($s1)
.L800E3140:
/* B5A2E0 800E3140 0C039A06 */ jal func_800E6818
/* B5A2E4 800E3144 00000000 */ nop
/* B5A2E8 800E3148 3C028017 */ lui $v0, %hi(D_8016F180) # $v0, 0x8017
/* B5A2EC 800E314C 3C048017 */ lui $a0, %hi(D_8016F186) # $a0, 0x8017
/* B5A2F0 800E3150 2484F186 */ addiu $a0, %lo(D_8016F186) # addiu $a0, $a0, -0xe7a
/* B5A2F4 800E3154 2442F180 */ addiu $v0, %lo(D_8016F180) # addiu $v0, $v0, -0xe80
/* B5A2F8 800E3158 240300A0 */ li $v1, 160
.L800E315C:
/* B5A2FC 800E315C 24420002 */ addiu $v0, $v0, 2
/* B5A300 800E3160 0044082B */ sltu $at, $v0, $a0
/* B5A304 800E3164 1420FFFD */ bnez $at, .L800E315C
/* B5A308 800E3168 A4432972 */ sh $v1, 0x2972($v0)
/* B5A30C 800E316C 3C048017 */ lui $a0, %hi(D_80171768) # $a0, 0x8017
/* B5A310 800E3170 3C058017 */ lui $a1, %hi(D_80171780) # $a1, 0x8017
/* B5A314 800E3174 AE20289C */ sw $zero, 0x289c($s1)
/* B5A318 800E3178 AE2028A4 */ sw $zero, 0x28a4($s1)
/* B5A31C 800E317C AE2028A8 */ sw $zero, 0x28a8($s1)
/* B5A320 800E3180 A220289A */ sb $zero, 0x289a($s1)
/* B5A324 800E3184 AE2028B8 */ sw $zero, 0x28b8($s1)
/* B5A328 800E3188 AE2028F4 */ sw $zero, 0x28f4($s1)
/* B5A32C 800E318C AE202944 */ sw $zero, 0x2944($s1)
/* B5A330 800E3190 24A51780 */ addiu $a1, %lo(D_80171780) # addiu $a1, $a1, 0x1780
/* B5A334 800E3194 24841768 */ addiu $a0, %lo(D_80171768) # addiu $a0, $a0, 0x1768
/* B5A338 800E3198 0C001874 */ jal osCreateMesgQueue
/* B5A33C 800E319C 24060001 */ li $a2, 1
/* B5A340 800E31A0 3C048017 */ lui $a0, %hi(D_80171050) # $a0, 0x8017
/* B5A344 800E31A4 3C058017 */ lui $a1, %hi(D_80171068) # $a1, 0x8017
/* B5A348 800E31A8 24A51068 */ addiu $a1, %lo(D_80171068) # addiu $a1, $a1, 0x1068
/* B5A34C 800E31AC 24841050 */ addiu $a0, %lo(D_80171050) # addiu $a0, $a0, 0x1050
/* B5A350 800E31B0 0C001874 */ jal osCreateMesgQueue
/* B5A354 800E31B4 24060040 */ li $a2, 64
/* B5A358 800E31B8 3C048017 */ lui $a0, %hi(D_80170FA0) # $a0, 0x8017
/* B5A35C 800E31BC 3C058017 */ lui $a1, %hi(D_80170FB8) # $a1, 0x8017
/* B5A360 800E31C0 24A50FB8 */ addiu $a1, %lo(D_80170FB8) # addiu $a1, $a1, 0xfb8
/* B5A364 800E31C4 24840FA0 */ addiu $a0, %lo(D_80170FA0) # addiu $a0, $a0, 0xfa0
/* B5A368 800E31C8 0C001874 */ jal osCreateMesgQueue
/* B5A36C 800E31CC 24060010 */ li $a2, 16
/* B5A370 800E31D0 3C048017 */ lui $a0, %hi(D_80170FF8) # $a0, 0x8017
/* B5A374 800E31D4 3C058017 */ lui $a1, %hi(D_80171010) # $a1, 0x8017
/* B5A378 800E31D8 24A51010 */ addiu $a1, %lo(D_80171010) # addiu $a1, $a1, 0x1010
/* B5A37C 800E31DC 24840FF8 */ addiu $a0, %lo(D_80170FF8) # addiu $a0, $a0, 0xff8
/* B5A380 800E31E0 0C001874 */ jal osCreateMesgQueue
/* B5A384 800E31E4 24060010 */ li $a2, 16
/* B5A388 800E31E8 AE2028A0 */ sw $zero, 0x28a0($s1)
/* B5A38C 800E31EC 0C001E44 */ jal osCartRomInit
/* B5A390 800E31F0 AE202620 */ sw $zero, 0x2620($s1)
/* B5A394 800E31F4 8FA30070 */ lw $v1, 0x70($sp)
/* B5A398 800E31F8 AE221E18 */ sw $v0, 0x1e18($s1)
/* B5A39C 800E31FC 3C048015 */ lui $a0, %hi(D_8014A6C8) # $a0, 0x8015
/* B5A3A0 800E3200 14600007 */ bnez $v1, .L800E3220
/* B5A3A4 800E3204 3C19801E */ lui $t9, %hi(gAudioHeap) # $t9, 0x801e
/* B5A3A8 800E3208 273989E0 */ addiu $t9, %lo(gAudioHeap) # addiu $t9, $t9, -0x7620
/* B5A3AC 800E320C AE393524 */ sw $t9, 0x3524($s1)
/* B5A3B0 800E3210 3C088015 */ lui $t0, %hi(D_8014A6C4) # $t0, 0x8015
/* B5A3B4 800E3214 8D08A6C4 */ lw $t0, %lo(D_8014A6C4)($t0)
/* B5A3B8 800E3218 10000004 */ b .L800E322C
/* B5A3BC 800E321C AE283528 */ sw $t0, 0x3528($s1)
.L800E3220:
/* B5A3C0 800E3220 8FA90074 */ lw $t1, 0x74($sp)
/* B5A3C4 800E3224 AE233524 */ sw $v1, 0x3524($s1)
/* B5A3C8 800E3228 AE293528 */ sw $t1, 0x3528($s1)
.L800E322C:
/* B5A3CC 800E322C 8E2A3528 */ lw $t2, 0x3528($s1)
/* B5A3D0 800E3230 00008025 */ move $s0, $zero
/* B5A3D4 800E3234 05410003 */ bgez $t2, .L800E3244
/* B5A3D8 800E3238 000A58C3 */ sra $t3, $t2, 3
/* B5A3DC 800E323C 25410007 */ addiu $at, $t2, 7
/* B5A3E0 800E3240 000158C3 */ sra $t3, $at, 3
.L800E3244:
/* B5A3E4 800E3244 19600011 */ blez $t3, .L800E328C
/* B5A3E8 800E3248 00001025 */ move $v0, $zero
/* B5A3EC 800E324C 8E2E3524 */ lw $t6, 0x3524($s1)
.L800E3250:
/* B5A3F0 800E3250 240C0000 */ li $t4, 0
/* B5A3F4 800E3254 240D0000 */ li $t5, 0
/* B5A3F8 800E3258 01C27821 */ addu $t7, $t6, $v0
/* B5A3FC 800E325C ADEC0000 */ sw $t4, ($t7)
/* B5A400 800E3260 ADED0004 */ sw $t5, 4($t7)
/* B5A404 800E3264 8E383528 */ lw $t8, 0x3528($s1)
/* B5A408 800E3268 26100001 */ addiu $s0, $s0, 1
/* B5A40C 800E326C 24420008 */ addiu $v0, $v0, 8
/* B5A410 800E3270 07010003 */ bgez $t8, .L800E3280
/* B5A414 800E3274 0018C8C3 */ sra $t9, $t8, 3
/* B5A418 800E3278 27010007 */ addiu $at, $t8, 7
/* B5A41C 800E327C 0001C8C3 */ sra $t9, $at, 3
.L800E3280:
/* B5A420 800E3280 0219082A */ slt $at, $s0, $t9
/* B5A424 800E3284 5420FFF2 */ bnezl $at, .L800E3250
/* B5A428 800E3288 8E2E3524 */ lw $t6, 0x3524($s1)
.L800E328C:
/* B5A42C 800E328C 0C03797C */ jal func_800DE5F0
/* B5A430 800E3290 8C84A6C8 */ lw $a0, %lo(D_8014A6C8)($a0)
/* B5A434 800E3294 3C108017 */ lui $s0, %hi(D_8016F180) # $s0, 0x8017
/* B5A438 800E3298 2610F180 */ addiu $s0, %lo(D_8016F180) # addiu $s0, $s0, -0xe80
.L800E329C:
/* B5A43C 800E329C 3C048017 */ lui $a0, %hi(D_80171B30) # $a0, 0x8017
/* B5A440 800E32A0 24841B30 */ addiu $a0, %lo(D_80171B30) # addiu $a0, $a0, 0x1b30
/* B5A444 800E32A4 0C0378E0 */ jal func_800DE380
/* B5A448 800E32A8 24050B00 */ li $a1, 2816
/* B5A44C 800E32AC 3C088017 */ lui $t0, %hi(D_8016F18C) # $t0, 0x8017
/* B5A450 800E32B0 2508F18C */ addiu $t0, %lo(D_8016F18C) # addiu $t0, $t0, -0xe74
/* B5A454 800E32B4 26100004 */ addiu $s0, $s0, 4
/* B5A458 800E32B8 0208082B */ sltu $at, $s0, $t0
/* B5A45C 800E32BC 1420FFF7 */ bnez $at, .L800E329C
/* B5A460 800E32C0 AE022964 */ sw $v0, 0x2964($s0)
/* B5A464 800E32C4 3C098015 */ lui $t1, %hi(D_80155500) # $t1, 0x8015
/* B5A468 800E32C8 3C0A8015 */ lui $t2, %hi(D_801550D0) # $t2, 0x8015
/* B5A46C 800E32CC 3C0B8015 */ lui $t3, %hi(D_80155BF0) # $t3, 0x8015
/* B5A470 800E32D0 3C0E8015 */ lui $t6, %hi(D_80155340) # $t6, 0x8015
/* B5A474 800E32D4 25295500 */ addiu $t1, %lo(D_80155500) # addiu $t1, $t1, 0x5500
/* B5A478 800E32D8 254A50D0 */ addiu $t2, %lo(D_801550D0) # addiu $t2, $t2, 0x50d0
/* B5A47C 800E32DC 256B5BF0 */ addiu $t3, %lo(D_80155BF0) # addiu $t3, $t3, 0x5bf0
/* B5A480 800E32E0 25CE5340 */ addiu $t6, %lo(D_80155340) # addiu $t6, $t6, 0x5340
/* B5A484 800E32E4 AE292830 */ sw $t1, 0x2830($s1)
/* B5A488 800E32E8 AE2A2834 */ sw $t2, 0x2834($s1)
/* B5A48C 800E32EC AE2B2838 */ sw $t3, 0x2838($s1)
/* B5A490 800E32F0 AE2E283C */ sw $t6, 0x283c($s1)
/* B5A494 800E32F4 852D0000 */ lh $t5, ($t1)
/* B5A498 800E32F8 240F0001 */ li $t7, 1
/* B5A49C 800E32FC A2203519 */ sb $zero, 0x3519($s1)
/* B5A4A0 800E3300 A22F3518 */ sb $t7, 0x3518($s1)
/* B5A4A4 800E3304 0C037E3D */ jal func_800DF8F4
/* B5A4A8 800E3308 A62D2840 */ sh $t5, 0x2840($s1)
/* B5A4AC 800E330C 3C050004 */ lui $a1, %hi(_AudioseqSegmentRomStart) # $a1, 4
/* B5A4B0 800E3310 24A54DF0 */ addiu $a1, %lo(_AudioseqSegmentRomStart) # addiu $a1, $a1, 0x4df0
/* B5A4B4 800E3314 8E242830 */ lw $a0, 0x2830($s1)
/* B5A4B8 800E3318 0C0386C2 */ jal func_800E1B08
/* B5A4BC 800E331C 00003025 */ move $a2, $zero
/* B5A4C0 800E3320 3C050002 */ lui $a1, %hi(_AudiobankSegmentRomStart) # $a1, 2
/* B5A4C4 800E3324 24A59030 */ addiu $a1, %lo(_AudiobankSegmentRomStart) # addiu $a1, $a1, -0x6fd0
/* B5A4C8 800E3328 8E242834 */ lw $a0, 0x2834($s1)
/* B5A4CC 800E332C 0C0386C2 */ jal func_800E1B08
/* B5A4D0 800E3330 00003025 */ move $a2, $zero
/* B5A4D4 800E3334 3C050009 */ lui $a1, %hi(_AudiotableSegmentRomStart) # $a1, 9
/* B5A4D8 800E3338 24A54870 */ addiu $a1, %lo(_AudiotableSegmentRomStart) # addiu $a1, $a1, 0x4870
/* B5A4DC 800E333C 8E242838 */ lw $a0, 0x2838($s1)
/* B5A4E0 800E3340 0C0386C2 */ jal func_800E1B08
/* B5A4E4 800E3344 00003025 */ move $a2, $zero
/* B5A4E8 800E3348 8E382834 */ lw $t8, 0x2834($s1)
/* B5A4EC 800E334C 3C048017 */ lui $a0, %hi(D_80171B30) # $a0, 0x8017
/* B5A4F0 800E3350 24841B30 */ addiu $a0, %lo(D_80171B30) # addiu $a0, $a0, 0x1b30
/* B5A4F4 800E3354 87030000 */ lh $v1, ($t8)
/* B5A4F8 800E3358 00032880 */ sll $a1, $v1, 2
/* B5A4FC 800E335C 00A32821 */ addu $a1, $a1, $v1
/* B5A500 800E3360 00052880 */ sll $a1, $a1, 2
/* B5A504 800E3364 0C0378F7 */ jal func_800DE3DC
/* B5A508 800E3368 AFA30024 */ sw $v1, 0x24($sp)
/* B5A50C 800E336C 8FA30024 */ lw $v1, 0x24($sp)
/* B5A510 800E3370 AE222844 */ sw $v0, 0x2844($s1)
/* B5A514 800E3374 00008025 */ move $s0, $zero
/* B5A518 800E3378 18600007 */ blez $v1, .L800E3398
/* B5A51C 800E337C 02002025 */ move $a0, $s0
.L800E3380:
/* B5A520 800E3380 0C038C0D */ jal func_800E3034
/* B5A524 800E3384 AFA30024 */ sw $v1, 0x24($sp)
/* B5A528 800E3388 8FA30024 */ lw $v1, 0x24($sp)
/* B5A52C 800E338C 26100001 */ addiu $s0, $s0, 1
/* B5A530 800E3390 5603FFFB */ bnel $s0, $v1, .L800E3380
/* B5A534 800E3394 02002025 */ move $a0, $s0
.L800E3398:
/* B5A538 800E3398 3C048017 */ lui $a0, %hi(D_80171B30) # $a0, 0x8017
/* B5A53C 800E339C 3C058015 */ lui $a1, %hi(D_8014A6CC) # $a1, 0x8015
/* B5A540 800E33A0 8CA5A6CC */ lw $a1, %lo(D_8014A6CC)($a1)
/* B5A544 800E33A4 0C0378F7 */ jal func_800DE3DC
/* B5A548 800E33A8 24841B30 */ addiu $a0, %lo(D_80171B30) # addiu $a0, $a0, 0x1b30
/* B5A54C 800E33AC 14400003 */ bnez $v0, .L800E33BC
/* B5A550 800E33B0 00402825 */ move $a1, $v0
/* B5A554 800E33B4 3C018015 */ lui $at, %hi(D_8014A6CC) # $at, 0x8015
/* B5A558 800E33B8 AC20A6CC */ sw $zero, %lo(D_8014A6CC)($at)
.L800E33BC:
/* B5A55C 800E33BC 3C048017 */ lui $a0, %hi(D_80171ED0) # $a0, 0x8017
/* B5A560 800E33C0 3C068015 */ lui $a2, %hi(D_8014A6CC) # $a2, 0x8015
/* B5A564 800E33C4 8CC6A6CC */ lw $a2, %lo(D_8014A6CC)($a2)
/* B5A568 800E33C8 0C03790D */ jal func_800DE434
/* B5A56C 800E33CC 24841ED0 */ addiu $a0, %lo(D_80171ED0) # addiu $a0, $a0, 0x1ed0
/* B5A570 800E33D0 24190001 */ li $t9, 1
/* B5A574 800E33D4 3C018013 */ lui $at, %hi(D_801304D8) # $at, 0x8013
/* B5A578 800E33D8 AC3904D8 */ sw $t9, %lo(D_801304D8)($at)
/* B5A57C 800E33DC 8E25289C */ lw $a1, 0x289c($s1)
/* B5A580 800E33E0 8E245BE8 */ lw $a0, 0x5be8($s1)
/* B5A584 800E33E4 0C000C18 */ jal osSendMesg
/* B5A588 800E33E8 00003025 */ move $a2, $zero
/* B5A58C 800E33EC 8FBF001C */ lw $ra, 0x1c($sp)
/* B5A590 800E33F0 8FB00014 */ lw $s0, 0x14($sp)
/* B5A594 800E33F4 8FB10018 */ lw $s1, 0x18($sp)
/* B5A598 800E33F8 03E00008 */ jr $ra
/* B5A59C 800E33FC 27BD0070 */ addiu $sp, $sp, 0x70
glabel func_800E3400
/* B5A5A0 800E3400 3C028017 */ lui $v0, %hi(D_8016F180) # $v0, 0x8017
/* B5A5A4 800E3404 2442F180 */ addiu $v0, %lo(D_8016F180) # addiu $v0, $v0, -0xe80
/* B5A5A8 800E3408 AC401D64 */ sw $zero, 0x1d64($v0)
/* B5A5AC 800E340C 03E00008 */ jr $ra
/* B5A5B0 800E3410 AC401DC8 */ sw $zero, 0x1dc8($v0)
glabel func_800E3414
/* B5A5B4 800E3414 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B5A5B8 800E3418 AFBF0024 */ sw $ra, 0x24($sp)
/* B5A5BC 800E341C AFB00020 */ sw $s0, 0x20($sp)
/* B5A5C0 800E3420 00C08025 */ move $s0, $a2
/* B5A5C4 800E3424 AFA40030 */ sw $a0, 0x30($sp)
/* B5A5C8 800E3428 0C038D78 */ jal func_800E35E0
/* B5A5CC 800E342C AFA50034 */ sw $a1, 0x34($sp)
/* B5A5D0 800E3430 14400004 */ bnez $v0, .L800E3444
/* B5A5D4 800E3434 00404025 */ move $t0, $v0
/* B5A5D8 800E3438 A2000000 */ sb $zero, ($s0)
/* B5A5DC 800E343C 10000063 */ b .L800E35CC
/* B5A5E0 800E3440 2402FFFF */ li $v0, -1
.L800E3444:
/* B5A5E4 800E3444 8C4E0000 */ lw $t6, ($v0)
/* B5A5E8 800E3448 3C098017 */ lui $t1, %hi(D_8016F180) # $t1, 0x8017
/* B5A5EC 800E344C 24190002 */ li $t9, 2
/* B5A5F0 800E3450 000E7900 */ sll $t7, $t6, 4
/* B5A5F4 800E3454 000FC782 */ srl $t8, $t7, 0x1e
/* B5A5F8 800E3458 17000004 */ bnez $t8, .L800E346C
/* B5A5FC 800E345C 2529F180 */ addiu $t1, %lo(D_8016F180) # addiu $t1, $t1, -0xe80
/* B5A600 800E3460 A2190000 */ sb $t9, ($s0)
/* B5A604 800E3464 10000059 */ b .L800E35CC
/* B5A608 800E3468 00001025 */ move $v0, $zero
.L800E346C:
/* B5A60C 800E346C 8D2A1D4C */ lw $t2, 0x1d4c($t1)
/* B5A610 800E3470 24010003 */ li $at, 3
/* B5A614 800E3474 000A5880 */ sll $t3, $t2, 2
/* B5A618 800E3478 016A5823 */ subu $t3, $t3, $t2
/* B5A61C 800E347C 000B58C0 */ sll $t3, $t3, 3
/* B5A620 800E3480 016A5821 */ addu $t3, $t3, $t2
/* B5A624 800E3484 000B5880 */ sll $t3, $t3, 2
/* B5A628 800E3488 012B1821 */ addu $v1, $t1, $t3
/* B5A62C 800E348C 8C6C1D64 */ lw $t4, 0x1d64($v1)
/* B5A630 800E3490 24631D50 */ addiu $v1, $v1, 0x1d50
/* B5A634 800E3494 55810003 */ bnel $t4, $at, .L800E34A4
/* B5A638 800E3498 8D0E0000 */ lw $t6, ($t0)
/* B5A63C 800E349C AC600014 */ sw $zero, 0x14($v1)
/* B5A640 800E34A0 8D0E0000 */ lw $t6, ($t0)
.L800E34A4:
/* B5A644 800E34A4 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5A648 800E34A8 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5A64C 800E34AC AC6E0020 */ sw $t6, 0x20($v1)
/* B5A650 800E34B0 8D0D0004 */ lw $t5, 4($t0)
/* B5A654 800E34B4 AC6D0024 */ sw $t5, 0x24($v1)
/* B5A658 800E34B8 8D0E0008 */ lw $t6, 8($t0)
/* B5A65C 800E34BC AC6E0028 */ sw $t6, 0x28($v1)
/* B5A660 800E34C0 8D0D000C */ lw $t5, 0xc($t0)
/* B5A664 800E34C4 AC70001C */ sw $s0, 0x1c($v1)
/* B5A668 800E34C8 AC6D002C */ sw $t5, 0x2c($v1)
/* B5A66C 800E34CC 8D020000 */ lw $v0, ($t0)
/* B5A670 800E34D0 8D060004 */ lw $a2, 4($t0)
/* B5A674 800E34D4 AFA8002C */ sw $t0, 0x2c($sp)
/* B5A678 800E34D8 00023900 */ sll $a3, $v0, 4
/* B5A67C 800E34DC 00073F82 */ srl $a3, $a3, 0x1e
/* B5A680 800E34E0 00073E00 */ sll $a3, $a3, 0x18
/* B5A684 800E34E4 00073E03 */ sra $a3, $a3, 0x18
/* B5A688 800E34E8 AFA30028 */ sw $v1, 0x28($sp)
/* B5A68C 800E34EC AFA00010 */ sw $zero, 0x10($sp)
/* B5A690 800E34F0 8FA50030 */ lw $a1, 0x30($sp)
/* B5A694 800E34F4 0C038171 */ jal func_800E05C4
/* B5A698 800E34F8 00412024 */ and $a0, $v0, $at
/* B5A69C 800E34FC 8FA30028 */ lw $v1, 0x28($sp)
/* B5A6A0 800E3500 8FA8002C */ lw $t0, 0x2c($sp)
/* B5A6A4 800E3504 3C098017 */ lui $t1, %hi(D_8016F180) # $t1, 0x8017
/* B5A6A8 800E3508 2529F180 */ addiu $t1, %lo(D_8016F180) # addiu $t1, $t1, -0xe80
/* B5A6AC 800E350C 14400010 */ bnez $v0, .L800E3550
/* B5A6B0 800E3510 AC62000C */ sw $v0, 0xc($v1)
/* B5A6B4 800E3514 8D020000 */ lw $v0, ($t0)
/* B5A6B8 800E3518 24010001 */ li $at, 1
/* B5A6BC 800E351C 00027900 */ sll $t7, $v0, 4
/* B5A6C0 800E3520 000FC782 */ srl $t8, $t7, 0x1e
/* B5A6C4 800E3524 13010004 */ beq $t8, $at, .L800E3538
/* B5A6C8 800E3528 0002CF02 */ srl $t9, $v0, 0x1c
/* B5A6CC 800E352C 24010002 */ li $at, 2
/* B5A6D0 800E3530 17210004 */ bne $t9, $at, .L800E3544
/* B5A6D4 800E3534 240A0003 */ li $t2, 3
.L800E3538:
/* B5A6D8 800E3538 A2000000 */ sb $zero, ($s0)
/* B5A6DC 800E353C 10000023 */ b .L800E35CC
/* B5A6E0 800E3540 2402FFFF */ li $v0, -1
.L800E3544:
/* B5A6E4 800E3544 A20A0000 */ sb $t2, ($s0)
/* B5A6E8 800E3548 10000020 */ b .L800E35CC
/* B5A6EC 800E354C 2402FFFF */ li $v0, -1
.L800E3550:
/* B5A6F0 800E3550 24020001 */ li $v0, 1
/* B5A6F4 800E3554 AC620014 */ sw $v0, 0x14($v1)
/* B5A6F8 800E3558 8D0B0000 */ lw $t3, ($t0)
/* B5A6FC 800E355C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5A700 800E3560 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5A704 800E3564 01616024 */ and $t4, $t3, $at
/* B5A708 800E3568 8C6F000C */ lw $t7, 0xc($v1)
/* B5A70C 800E356C 258D000F */ addiu $t5, $t4, 0xf
/* B5A710 800E3570 2401FFF0 */ li $at, -16
/* B5A714 800E3574 01A17024 */ and $t6, $t5, $at
/* B5A718 800E3578 AC6E0018 */ sw $t6, 0x18($v1)
/* B5A71C 800E357C AC6F0010 */ sw $t7, 0x10($v1)
/* B5A720 800E3580 8D180004 */ lw $t8, 4($t0)
/* B5A724 800E3584 AC780008 */ sw $t8, 8($v1)
/* B5A728 800E3588 8D190000 */ lw $t9, ($t0)
/* B5A72C 800E358C 00195100 */ sll $t2, $t9, 4
/* B5A730 800E3590 000A5F82 */ srl $t3, $t2, 0x1e
/* B5A734 800E3594 A06B0000 */ sb $t3, ($v1)
/* B5A738 800E3598 8FAC0030 */ lw $t4, 0x30($sp)
/* B5A73C 800E359C 316E00FF */ andi $t6, $t3, 0xff
/* B5A740 800E35A0 A06C0001 */ sb $t4, 1($v1)
/* B5A744 800E35A4 8FAD0034 */ lw $t5, 0x34($sp)
/* B5A748 800E35A8 144E0004 */ bne $v0, $t6, .L800E35BC
/* B5A74C 800E35AC A46D0002 */ sh $t5, 2($v1)
/* B5A750 800E35B0 8D2F2838 */ lw $t7, 0x2838($t1)
/* B5A754 800E35B4 85F80002 */ lh $t8, 2($t7)
/* B5A758 800E35B8 AC780004 */ sw $t8, 4($v1)
.L800E35BC:
/* B5A75C 800E35BC 8D391D4C */ lw $t9, 0x1d4c($t1)
/* B5A760 800E35C0 00001025 */ move $v0, $zero
/* B5A764 800E35C4 3B2A0001 */ xori $t2, $t9, 1
/* B5A768 800E35C8 AD2A1D4C */ sw $t2, 0x1d4c($t1)
.L800E35CC:
/* B5A76C 800E35CC 8FBF0024 */ lw $ra, 0x24($sp)
/* B5A770 800E35D0 8FB00020 */ lw $s0, 0x20($sp)
/* B5A774 800E35D4 27BD0030 */ addiu $sp, $sp, 0x30
/* B5A778 800E35D8 03E00008 */ jr $ra
/* B5A77C 800E35DC 00000000 */ nop
glabel func_800E35E0
/* B5A780 800E35E0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5A784 800E35E4 28A10080 */ slti $at, $a1, 0x80
/* B5A788 800E35E8 AFBF0014 */ sw $ra, 0x14($sp)
/* B5A78C 800E35EC 10200009 */ beqz $at, .L800E3614
/* B5A790 800E35F0 00A03025 */ move $a2, $a1
/* B5A794 800E35F4 0C039D26 */ jal func_800E7498
/* B5A798 800E35F8 00000000 */ nop
/* B5A79C 800E35FC 14400003 */ bnez $v0, .L800E360C
/* B5A7A0 800E3600 00000000 */ nop
/* B5A7A4 800E3604 10000016 */ b .L800E3660
/* B5A7A8 800E3608 00001025 */ move $v0, $zero
.L800E360C:
/* B5A7AC 800E360C 10000013 */ b .L800E365C
/* B5A7B0 800E3610 8C430010 */ lw $v1, 0x10($v0)
.L800E3614:
/* B5A7B4 800E3614 28C10100 */ slti $at, $a2, 0x100
/* B5A7B8 800E3618 10200009 */ beqz $at, .L800E3640
/* B5A7BC 800E361C 00000000 */ nop
/* B5A7C0 800E3620 0C039D5B */ jal func_800E756C
/* B5A7C4 800E3624 24C5FF80 */ addiu $a1, $a2, -0x80
/* B5A7C8 800E3628 14400003 */ bnez $v0, .L800E3638
/* B5A7CC 800E362C 00000000 */ nop
/* B5A7D0 800E3630 1000000B */ b .L800E3660
/* B5A7D4 800E3634 00001025 */ move $v0, $zero
.L800E3638:
/* B5A7D8 800E3638 10000008 */ b .L800E365C
/* B5A7DC 800E363C 8C430004 */ lw $v1, 4($v0)
.L800E3640:
/* B5A7E0 800E3640 0C039D94 */ jal func_800E7650
/* B5A7E4 800E3644 24C5FF00 */ addiu $a1, $a2, -0x100
/* B5A7E8 800E3648 54400004 */ bnezl $v0, .L800E365C
/* B5A7EC 800E364C 8C430000 */ lw $v1, ($v0)
/* B5A7F0 800E3650 10000003 */ b .L800E3660
/* B5A7F4 800E3654 00001025 */ move $v0, $zero
/* B5A7F8 800E3658 8C430000 */ lw $v1, ($v0)
.L800E365C:
/* B5A7FC 800E365C 00601025 */ move $v0, $v1
.L800E3660:
/* B5A800 800E3660 8FBF0014 */ lw $ra, 0x14($sp)
/* B5A804 800E3664 27BD0018 */ addiu $sp, $sp, 0x18
/* B5A808 800E3668 03E00008 */ jr $ra
/* B5A80C 800E366C 00000000 */ nop
glabel func_800E3670
/* B5A810 800E3670 03E00008 */ jr $ra
/* B5A814 800E3674 00000000 */ nop
glabel func_800E3678
/* B5A818 800E3678 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5A81C 800E367C AFBF0014 */ sw $ra, 0x14($sp)
/* B5A820 800E3680 8C8E0024 */ lw $t6, 0x24($a0)
/* B5A824 800E3684 00803025 */ move $a2, $a0
/* B5A828 800E3688 51C00015 */ beql $t6, $zero, .L800E36E0
/* B5A82C 800E368C 8FBF0014 */ lw $ra, 0x14($sp)
/* B5A830 800E3690 90840001 */ lbu $a0, 1($a0)
/* B5A834 800E3694 94C50002 */ lhu $a1, 2($a2)
/* B5A838 800E3698 0C038D78 */ jal func_800E35E0
/* B5A83C 800E369C AFA60018 */ sw $a2, 0x18($sp)
/* B5A840 800E36A0 1040000E */ beqz $v0, .L800E36DC
/* B5A844 800E36A4 8FA60018 */ lw $a2, 0x18($sp)
/* B5A848 800E36A8 8C580000 */ lw $t8, ($v0)
/* B5A84C 800E36AC 8CD90010 */ lw $t9, 0x10($a2)
/* B5A850 800E36B0 ACD80020 */ sw $t8, 0x20($a2)
/* B5A854 800E36B4 8C4F0004 */ lw $t7, 4($v0)
/* B5A858 800E36B8 ACCF0024 */ sw $t7, 0x24($a2)
/* B5A85C 800E36BC 8C580008 */ lw $t8, 8($v0)
/* B5A860 800E36C0 ACD80028 */ sw $t8, 0x28($a2)
/* B5A864 800E36C4 8C4F000C */ lw $t7, 0xc($v0)
/* B5A868 800E36C8 ACCF002C */ sw $t7, 0x2c($a2)
/* B5A86C 800E36CC 90480000 */ lbu $t0, ($v0)
/* B5A870 800E36D0 AC590004 */ sw $t9, 4($v0)
/* B5A874 800E36D4 3109FFF3 */ andi $t1, $t0, 0xfff3
/* B5A878 800E36D8 A0490000 */ sb $t1, ($v0)
.L800E36DC:
/* B5A87C 800E36DC 8FBF0014 */ lw $ra, 0x14($sp)
.L800E36E0:
/* B5A880 800E36E0 27BD0018 */ addiu $sp, $sp, 0x18
/* B5A884 800E36E4 03E00008 */ jr $ra
/* B5A888 800E36E8 00000000 */ nop
glabel func_800E36EC
/* B5A88C 800E36EC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B5A890 800E36F0 AFB70030 */ sw $s7, 0x30($sp)
/* B5A894 800E36F4 AFB2001C */ sw $s2, 0x1c($sp)
/* B5A898 800E36F8 AFB6002C */ sw $s6, 0x2c($sp)
/* B5A89C 800E36FC AFB50028 */ sw $s5, 0x28($sp)
/* B5A8A0 800E3700 AFB40024 */ sw $s4, 0x24($sp)
/* B5A8A4 800E3704 AFB30020 */ sw $s3, 0x20($sp)
/* B5A8A8 800E3708 3C128017 */ lui $s2, %hi(D_8016F180) # $s2, 0x8017
/* B5A8AC 800E370C 3C178017 */ lui $s7, %hi(D_8016F248) # $s7, 0x8017
/* B5A8B0 800E3710 0080B025 */ move $s6, $a0
/* B5A8B4 800E3714 AFBF0034 */ sw $ra, 0x34($sp)
/* B5A8B8 800E3718 AFB10018 */ sw $s1, 0x18($sp)
/* B5A8BC 800E371C AFB00014 */ sw $s0, 0x14($sp)
/* B5A8C0 800E3720 26F7F248 */ addiu $s7, %lo(D_8016F248) # addiu $s7, $s7, -0xdb8
/* B5A8C4 800E3724 2652F180 */ addiu $s2, %lo(D_8016F180) # addiu $s2, $s2, -0xe80
/* B5A8C8 800E3728 24130001 */ li $s3, 1
/* B5A8CC 800E372C 24140002 */ li $s4, 2
/* B5A8D0 800E3730 24150003 */ li $s5, 3
/* B5A8D4 800E3734 8E421D64 */ lw $v0, 0x1d64($s2)
.L800E3738:
/* B5A8D8 800E3738 5053000F */ beql $v0, $s3, .L800E3778
/* B5A8DC 800E373C 26501D50 */ addiu $s0, $s2, 0x1d50
/* B5A8E0 800E3740 1454003E */ bne $v0, $s4, .L800E383C
/* B5A8E4 800E3744 26501D50 */ addiu $s0, $s2, 0x1d50
/* B5A8E8 800E3748 920E0000 */ lbu $t6, ($s0)
/* B5A8EC 800E374C 26040030 */ addiu $a0, $s0, 0x30
/* B5A8F0 800E3750 00002825 */ move $a1, $zero
/* B5A8F4 800E3754 126E0003 */ beq $s3, $t6, .L800E3764
/* B5A8F8 800E3758 00000000 */ nop
/* B5A8FC 800E375C 0C000CA0 */ jal osRecvMesg
/* B5A900 800E3760 02603025 */ move $a2, $s3
.L800E3764:
/* B5A904 800E3764 52C00004 */ beql $s6, $zero, .L800E3778
/* B5A908 800E3768 26501D50 */ addiu $s0, $s2, 0x1d50
/* B5A90C 800E376C 10000033 */ b .L800E383C
/* B5A910 800E3770 AE150014 */ sw $s5, 0x14($s0)
/* B5A914 800E3774 26501D50 */ addiu $s0, $s2, 0x1d50
.L800E3778:
/* B5A918 800E3778 8E110018 */ lw $s1, 0x18($s0)
/* B5A91C 800E377C AE140014 */ sw $s4, 0x14($s0)
/* B5A920 800E3780 16200007 */ bnez $s1, .L800E37A0
/* B5A924 800E3784 2A210400 */ slti $at, $s1, 0x400
/* B5A928 800E3788 0C038D9E */ jal func_800E3678
/* B5A92C 800E378C 02002025 */ move $a0, $s0
/* B5A930 800E3790 8E0F001C */ lw $t7, 0x1c($s0)
/* B5A934 800E3794 AE150014 */ sw $s5, 0x14($s0)
/* B5A938 800E3798 10000028 */ b .L800E383C
/* B5A93C 800E379C A1F30000 */ sb $s3, ($t7)
.L800E37A0:
/* B5A940 800E37A0 50200011 */ beql $at, $zero, .L800E37E8
/* B5A944 800E37A4 92190000 */ lbu $t9, ($s0)
/* B5A948 800E37A8 92180000 */ lbu $t8, ($s0)
/* B5A94C 800E37AC 02203025 */ move $a2, $s1
/* B5A950 800E37B0 02002025 */ move $a0, $s0
/* B5A954 800E37B4 16780007 */ bne $s3, $t8, .L800E37D4
/* B5A958 800E37B8 00000000 */ nop
/* B5A95C 800E37BC 8E040008 */ lw $a0, 8($s0)
/* B5A960 800E37C0 8E05000C */ lw $a1, 0xc($s0)
/* B5A964 800E37C4 0C038E3E */ jal func_800E38F8
/* B5A968 800E37C8 8E070004 */ lw $a3, 4($s0)
/* B5A96C 800E37CC 10000003 */ b .L800E37DC
/* B5A970 800E37D0 00000000 */ nop
.L800E37D4:
/* B5A974 800E37D4 0C038E1D */ jal func_800E3874
/* B5A978 800E37D8 02202825 */ move $a1, $s1
.L800E37DC:
/* B5A97C 800E37DC 10000017 */ b .L800E383C
/* B5A980 800E37E0 AE000018 */ sw $zero, 0x18($s0)
/* B5A984 800E37E4 92190000 */ lbu $t9, ($s0)
.L800E37E8:
/* B5A988 800E37E8 24060400 */ li $a2, 1024
/* B5A98C 800E37EC 02002025 */ move $a0, $s0
/* B5A990 800E37F0 16790007 */ bne $s3, $t9, .L800E3810
/* B5A994 800E37F4 00000000 */ nop
/* B5A998 800E37F8 8E040008 */ lw $a0, 8($s0)
/* B5A99C 800E37FC 8E05000C */ lw $a1, 0xc($s0)
/* B5A9A0 800E3800 0C038E3E */ jal func_800E38F8
/* B5A9A4 800E3804 8E070004 */ lw $a3, 4($s0)
/* B5A9A8 800E3808 10000004 */ b .L800E381C
/* B5A9AC 800E380C 8E080018 */ lw $t0, 0x18($s0)
.L800E3810:
/* B5A9B0 800E3810 0C038E1D */ jal func_800E3874
/* B5A9B4 800E3814 24050400 */ li $a1, 1024
/* B5A9B8 800E3818 8E080018 */ lw $t0, 0x18($s0)
.L800E381C:
/* B5A9BC 800E381C 8E0A000C */ lw $t2, 0xc($s0)
/* B5A9C0 800E3820 8E0C0008 */ lw $t4, 8($s0)
/* B5A9C4 800E3824 2509FC00 */ addiu $t1, $t0, -0x400
/* B5A9C8 800E3828 254B0400 */ addiu $t3, $t2, 0x400
/* B5A9CC 800E382C 258D0400 */ addiu $t5, $t4, 0x400
/* B5A9D0 800E3830 AE090018 */ sw $t1, 0x18($s0)
/* B5A9D4 800E3834 AE0B000C */ sw $t3, 0xc($s0)
/* B5A9D8 800E3838 AE0D0008 */ sw $t5, 8($s0)
.L800E383C:
/* B5A9DC 800E383C 26520064 */ addiu $s2, $s2, 0x64
/* B5A9E0 800E3840 5657FFBD */ bnel $s2, $s7, .L800E3738
/* B5A9E4 800E3844 8E421D64 */ lw $v0, 0x1d64($s2)
/* B5A9E8 800E3848 8FBF0034 */ lw $ra, 0x34($sp)
/* B5A9EC 800E384C 8FB00014 */ lw $s0, 0x14($sp)
/* B5A9F0 800E3850 8FB10018 */ lw $s1, 0x18($sp)
/* B5A9F4 800E3854 8FB2001C */ lw $s2, 0x1c($sp)
/* B5A9F8 800E3858 8FB30020 */ lw $s3, 0x20($sp)
/* B5A9FC 800E385C 8FB40024 */ lw $s4, 0x24($sp)
/* B5AA00 800E3860 8FB50028 */ lw $s5, 0x28($sp)
/* B5AA04 800E3864 8FB6002C */ lw $s6, 0x2c($sp)
/* B5AA08 800E3868 8FB70030 */ lw $s7, 0x30($sp)
/* B5AA0C 800E386C 03E00008 */ jr $ra
/* B5AA10 800E3870 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800E3874
/* B5AA14 800E3874 27BDFFC0 */ addiu $sp, $sp, -0x40
/* B5AA18 800E3878 AFB00030 */ sw $s0, 0x30($sp)
/* B5AA1C 800E387C 00808025 */ move $s0, $a0
/* B5AA20 800E3880 AFBF0034 */ sw $ra, 0x34($sp)
/* B5AA24 800E3884 AFA50044 */ sw $a1, 0x44($sp)
/* B5AA28 800E3888 0C039A10 */ jal func_800E6840
/* B5AA2C 800E388C 8C84000C */ lw $a0, 0xc($a0)
/* B5AA30 800E3890 26040030 */ addiu $a0, $s0, 0x30
/* B5AA34 800E3894 AFA4003C */ sw $a0, 0x3c($sp)
/* B5AA38 800E3898 26050048 */ addiu $a1, $s0, 0x48
/* B5AA3C 800E389C 0C001874 */ jal osCreateMesgQueue
/* B5AA40 800E38A0 24060001 */ li $a2, 1
/* B5AA44 800E38A4 8E0E000C */ lw $t6, 0xc($s0)
/* B5AA48 800E38A8 8FAF0044 */ lw $t7, 0x44($sp)
/* B5AA4C 800E38AC 8FB8003C */ lw $t8, 0x3c($sp)
/* B5AA50 800E38B0 8E070008 */ lw $a3, 8($s0)
/* B5AA54 800E38B4 AFAE0010 */ sw $t6, 0x10($sp)
/* B5AA58 800E38B8 AFAF0014 */ sw $t7, 0x14($sp)
/* B5AA5C 800E38BC AFB80018 */ sw $t8, 0x18($sp)
/* B5AA60 800E38C0 92190000 */ lbu $t9, ($s0)
/* B5AA64 800E38C4 3C088015 */ lui $t0, %hi(D_80149444) # $t0, 0x8015
/* B5AA68 800E38C8 25089444 */ addiu $t0, %lo(D_80149444) # addiu $t0, $t0, -0x6bbc
/* B5AA6C 800E38CC AFA80020 */ sw $t0, 0x20($sp)
/* B5AA70 800E38D0 2604004C */ addiu $a0, $s0, 0x4c
/* B5AA74 800E38D4 00002825 */ move $a1, $zero
/* B5AA78 800E38D8 00003025 */ move $a2, $zero
/* B5AA7C 800E38DC 0C038AF8 */ jal func_800E2BE0
/* B5AA80 800E38E0 AFB9001C */ sw $t9, 0x1c($sp)
/* B5AA84 800E38E4 8FBF0034 */ lw $ra, 0x34($sp)
/* B5AA88 800E38E8 8FB00030 */ lw $s0, 0x30($sp)
/* B5AA8C 800E38EC 27BD0040 */ addiu $sp, $sp, 0x40
/* B5AA90 800E38F0 03E00008 */ jr $ra
/* B5AA94 800E38F4 00000000 */ nop
glabel func_800E38F8
/* B5AA98 800E38F8 AFA40000 */ sw $a0, ($sp)
/* B5AA9C 800E38FC AFA50004 */ sw $a1, 4($sp)
/* B5AAA0 800E3900 AFA60008 */ sw $a2, 8($sp)
/* B5AAA4 800E3904 03E00008 */ jr $ra
/* B5AAA8 800E3908 AFA7000C */ sw $a3, 0xc($sp)
glabel func_800E390C
/* B5AAAC 800E390C 3C088017 */ lui $t0, %hi(D_8016F180) # $t0, 0x8017
/* B5AAB0 800E3910 2508F180 */ addiu $t0, %lo(D_8016F180) # addiu $t0, $t0, -0xe80
/* B5AAB4 800E3914 950E2840 */ lhu $t6, 0x2840($t0)
/* B5AAB8 800E3918 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5AABC 800E391C AFBF0014 */ sw $ra, 0x14($sp)
/* B5AAC0 800E3920 008E082A */ slt $at, $a0, $t6
/* B5AAC4 800E3924 AFA5001C */ sw $a1, 0x1c($sp)
/* B5AAC8 800E3928 AFA60020 */ sw $a2, 0x20($sp)
/* B5AACC 800E392C 14200004 */ bnez $at, .L800E3940
/* B5AAD0 800E3930 00803825 */ move $a3, $a0
/* B5AAD4 800E3934 A0C00000 */ sb $zero, ($a2)
/* B5AAD8 800E3938 10000032 */ b .L800E3A04
/* B5AADC 800E393C 2402FFFF */ li $v0, -1
.L800E3940:
/* B5AAE0 800E3940 00002025 */ move $a0, $zero
/* B5AAE4 800E3944 0C0389DA */ jal func_800E2768
/* B5AAE8 800E3948 00E02825 */ move $a1, $a3
/* B5AAEC 800E394C 00002025 */ move $a0, $zero
/* B5AAF0 800E3950 0C0389FE */ jal func_800E27F8
/* B5AAF4 800E3954 AFA20018 */ sw $v0, 0x18($sp)
/* B5AAF8 800E3958 3C088017 */ lui $t0, %hi(D_8016F180) # $t0, 0x8017
/* B5AAFC 800E395C 2508F180 */ addiu $t0, %lo(D_8016F180) # addiu $t0, $t0, -0xe80
/* B5AB00 800E3960 8D181D4C */ lw $t8, 0x1d4c($t0)
/* B5AB04 800E3964 8FA70018 */ lw $a3, 0x18($sp)
/* B5AB08 800E3968 24010003 */ li $at, 3
/* B5AB0C 800E396C 0018C880 */ sll $t9, $t8, 2
/* B5AB10 800E3970 0338C823 */ subu $t9, $t9, $t8
/* B5AB14 800E3974 0019C8C0 */ sll $t9, $t9, 3
/* B5AB18 800E3978 0338C821 */ addu $t9, $t9, $t8
/* B5AB1C 800E397C 0019C880 */ sll $t9, $t9, 2
/* B5AB20 800E3980 01191821 */ addu $v1, $t0, $t9
/* B5AB24 800E3984 8C6A1D64 */ lw $t2, 0x1d64($v1)
/* B5AB28 800E3988 24631D50 */ addiu $v1, $v1, 0x1d50
/* B5AB2C 800E398C 24060001 */ li $a2, 1
/* B5AB30 800E3990 15410002 */ bne $t2, $at, .L800E399C
/* B5AB34 800E3994 00076100 */ sll $t4, $a3, 4
/* B5AB38 800E3998 AC600014 */ sw $zero, 0x14($v1)
.L800E399C:
/* B5AB3C 800E399C 8FA9001C */ lw $t1, 0x1c($sp)
/* B5AB40 800E39A0 AC600024 */ sw $zero, 0x24($v1)
/* B5AB44 800E39A4 8FAB0020 */ lw $t3, 0x20($sp)
/* B5AB48 800E39A8 004C2821 */ addu $a1, $v0, $t4
/* B5AB4C 800E39AC 2401FFF0 */ li $at, -16
/* B5AB50 800E39B0 AC6B001C */ sw $t3, 0x1c($v1)
/* B5AB54 800E39B4 8CA40014 */ lw $a0, 0x14($a1)
/* B5AB58 800E39B8 AC660014 */ sw $a2, 0x14($v1)
/* B5AB5C 800E39BC AC69000C */ sw $t1, 0xc($v1)
/* B5AB60 800E39C0 2484000F */ addiu $a0, $a0, 0xf
/* B5AB64 800E39C4 00812024 */ and $a0, $a0, $at
/* B5AB68 800E39C8 AC640018 */ sw $a0, 0x18($v1)
/* B5AB6C 800E39CC AC690010 */ sw $t1, 0x10($v1)
/* B5AB70 800E39D0 8CAD0010 */ lw $t5, 0x10($a1)
/* B5AB74 800E39D4 AC6D0008 */ sw $t5, 8($v1)
/* B5AB78 800E39D8 80AE0018 */ lb $t6, 0x18($a1)
/* B5AB7C 800E39DC A0670001 */ sb $a3, 1($v1)
/* B5AB80 800E39E0 31CF00FF */ andi $t7, $t6, 0xff
/* B5AB84 800E39E4 14CF0003 */ bne $a2, $t7, .L800E39F4
/* B5AB88 800E39E8 A06E0000 */ sb $t6, ($v1)
/* B5AB8C 800E39EC 84580002 */ lh $t8, 2($v0)
/* B5AB90 800E39F0 AC780004 */ sw $t8, 4($v1)
.L800E39F4:
/* B5AB94 800E39F4 8D191D4C */ lw $t9, 0x1d4c($t0)
/* B5AB98 800E39F8 00001025 */ move $v0, $zero
/* B5AB9C 800E39FC 3B2A0001 */ xori $t2, $t9, 1
/* B5ABA0 800E3A00 AD0A1D4C */ sw $t2, 0x1d4c($t0)
.L800E3A04:
/* B5ABA4 800E3A04 8FBF0014 */ lw $ra, 0x14($sp)
/* B5ABA8 800E3A08 27BD0018 */ addiu $sp, $sp, 0x18
/* B5ABAC 800E3A0C 03E00008 */ jr $ra
/* B5ABB0 800E3A10 00000000 */ nop
glabel func_800E3A14
/* B5ABB4 800E3A14 3C038017 */ lui $v1, %hi(D_8016F180) # $v1, 0x8017
/* B5ABB8 800E3A18 3C028017 */ lui $v0, %hi(D_8016F700) # $v0, 0x8017
/* B5ABBC 800E3A1C 2442F700 */ addiu $v0, %lo(D_8016F700) # addiu $v0, $v0, -0x900
/* B5ABC0 800E3A20 2463F180 */ addiu $v1, %lo(D_8016F180) # addiu $v1, $v1, -0xe80
.L800E3A24:
/* B5ABC4 800E3A24 24630160 */ addiu $v1, $v1, 0x160
/* B5ABC8 800E3A28 A0601668 */ sb $zero, 0x1668($v1)
/* B5ABCC 800E3A2C A06016C0 */ sb $zero, 0x16c0($v1)
/* B5ABD0 800E3A30 A0601718 */ sb $zero, 0x1718($v1)
/* B5ABD4 800E3A34 1462FFFB */ bne $v1, $v0, .L800E3A24
/* B5ABD8 800E3A38 A0601610 */ sb $zero, 0x1610($v1)
/* B5ABDC 800E3A3C 03E00008 */ jr $ra
/* B5ABE0 800E3A40 00000000 */ nop
glabel func_800E3A44
/* B5ABE4 800E3A44 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B5ABE8 800E3A48 AFA40030 */ sw $a0, 0x30($sp)
/* B5ABEC 800E3A4C AFA50034 */ sw $a1, 0x34($sp)
/* B5ABF0 800E3A50 00A02025 */ move $a0, $a1
/* B5ABF4 800E3A54 8FAE0044 */ lw $t6, 0x44($sp)
/* B5ABF8 800E3A58 8FAF0048 */ lw $t7, 0x48($sp)
/* B5ABFC 800E3A5C 8FB8004C */ lw $t8, 0x4c($sp)
/* B5AC00 800E3A60 AFA60038 */ sw $a2, 0x38($sp)
/* B5AC04 800E3A64 00C02825 */ move $a1, $a2
/* B5AC08 800E3A68 AFBF0024 */ sw $ra, 0x24($sp)
/* B5AC0C 800E3A6C AFA7003C */ sw $a3, 0x3c($sp)
/* B5AC10 800E3A70 00E03025 */ move $a2, $a3
/* B5AC14 800E3A74 8FA70040 */ lw $a3, 0x40($sp)
/* B5AC18 800E3A78 AFAE0010 */ sw $t6, 0x10($sp)
/* B5AC1C 800E3A7C AFAF0014 */ sw $t7, 0x14($sp)
/* B5AC20 800E3A80 0C038EB2 */ jal func_800E3AC8
/* B5AC24 800E3A84 AFB80018 */ sw $t8, 0x18($sp)
/* B5AC28 800E3A88 14400003 */ bnez $v0, .L800E3A98
/* B5AC2C 800E3A8C 00402825 */ move $a1, $v0
/* B5AC30 800E3A90 10000009 */ b .L800E3AB8
/* B5AC34 800E3A94 00001025 */ move $v0, $zero
.L800E3A98:
/* B5AC38 800E3A98 3C048017 */ lui $a0, %hi(D_80170E70) # $a0, 0x8017
/* B5AC3C 800E3A9C 24840E70 */ addiu $a0, %lo(D_80170E70) # addiu $a0, $a0, 0xe70
/* B5AC40 800E3AA0 00003025 */ move $a2, $zero
/* B5AC44 800E3AA4 0C000C18 */ jal osSendMesg
/* B5AC48 800E3AA8 AFA5002C */ sw $a1, 0x2c($sp)
/* B5AC4C 800E3AAC 8FA2002C */ lw $v0, 0x2c($sp)
/* B5AC50 800E3AB0 8FB90030 */ lw $t9, 0x30($sp)
/* B5AC54 800E3AB4 AC590018 */ sw $t9, 0x18($v0)
.L800E3AB8:
/* B5AC58 800E3AB8 8FBF0024 */ lw $ra, 0x24($sp)
/* B5AC5C 800E3ABC 27BD0030 */ addiu $sp, $sp, 0x30
/* B5AC60 800E3AC0 03E00008 */ jr $ra
/* B5AC64 800E3AC4 00000000 */ nop
glabel func_800E3AC8
/* B5AC68 800E3AC8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B5AC6C 800E3ACC 3C028017 */ lui $v0, %hi(D_8016F180) # $v0, 0x8017
/* B5AC70 800E3AD0 3C038017 */ lui $v1, %hi(D_8016F700) # $v1, 0x8017
/* B5AC74 800E3AD4 AFBF0014 */ sw $ra, 0x14($sp)
/* B5AC78 800E3AD8 AFA40020 */ sw $a0, 0x20($sp)
/* B5AC7C 800E3ADC 2463F700 */ addiu $v1, %lo(D_8016F700) # addiu $v1, $v1, -0x900
/* B5AC80 800E3AE0 2442F180 */ addiu $v0, %lo(D_8016F180) # addiu $v0, $v0, -0xe80
/* B5AC84 800E3AE4 804E1770 */ lb $t6, 0x1770($v0)
.L800E3AE8:
/* B5AC88 800E3AE8 55C00004 */ bnezl $t6, .L800E3AFC
/* B5AC8C 800E3AEC 24420058 */ addiu $v0, $v0, 0x58
/* B5AC90 800E3AF0 10000005 */ b .L800E3B08
/* B5AC94 800E3AF4 24431770 */ addiu $v1, $v0, 0x1770
/* B5AC98 800E3AF8 24420058 */ addiu $v0, $v0, 0x58
.L800E3AFC:
/* B5AC9C 800E3AFC 5443FFFA */ bnel $v0, $v1, .L800E3AE8
/* B5ACA0 800E3B00 804E1770 */ lb $t6, 0x1770($v0)
/* B5ACA4 800E3B04 8FA3001C */ lw $v1, 0x1c($sp)
.L800E3B08:
/* B5ACA8 800E3B08 3C0F8017 */ lui $t7, %hi(D_8016F700) # $t7, 0x8017
/* B5ACAC 800E3B0C 25EFF700 */ addiu $t7, %lo(D_8016F700) # addiu $t7, $t7, -0x900
/* B5ACB0 800E3B10 144F0003 */ bne $v0, $t7, .L800E3B20
/* B5ACB4 800E3B14 8FA40030 */ lw $a0, 0x30($sp)
/* B5ACB8 800E3B18 10000030 */ b .L800E3BDC
/* B5ACBC 800E3B1C 00001025 */ move $v0, $zero
.L800E3B20:
/* B5ACC0 800E3B20 24020001 */ li $v0, 1
/* B5ACC4 800E3B24 A0620000 */ sb $v0, ($v1)
/* B5ACC8 800E3B28 8FB80020 */ lw $t8, 0x20($sp)
/* B5ACCC 800E3B2C AC650004 */ sw $a1, 4($v1)
/* B5ACD0 800E3B30 AC65000C */ sw $a1, 0xc($v1)
/* B5ACD4 800E3B34 AC660010 */ sw $a2, 0x10($v1)
/* B5ACD8 800E3B38 14800004 */ bnez $a0, .L800E3B4C
/* B5ACDC 800E3B3C AC780008 */ sw $t8, 8($v1)
/* B5ACE0 800E3B40 24191000 */ li $t9, 4096
/* B5ACE4 800E3B44 10000018 */ b .L800E3BA8
/* B5ACE8 800E3B48 AC790014 */ sw $t9, 0x14($v1)
.L800E3B4C:
/* B5ACEC 800E3B4C 14820003 */ bne $a0, $v0, .L800E3B5C
/* B5ACF0 800E3B50 00000000 */ nop
/* B5ACF4 800E3B54 10000014 */ b .L800E3BA8
/* B5ACF8 800E3B58 AC660014 */ sw $a2, 0x14($v1)
.L800E3B5C:
/* B5ACFC 800E3B5C 00C4001A */ div $zero, $a2, $a0
/* B5AD00 800E3B60 14800002 */ bnez $a0, .L800E3B6C
/* B5AD04 800E3B64 00000000 */ nop
/* B5AD08 800E3B68 0007000D */ break 7
.L800E3B6C:
/* B5AD0C 800E3B6C 2401FFFF */ li $at, -1
/* B5AD10 800E3B70 14810004 */ bne $a0, $at, .L800E3B84
/* B5AD14 800E3B74 3C018000 */ lui $at, 0x8000
/* B5AD18 800E3B78 14C10002 */ bne $a2, $at, .L800E3B84
/* B5AD1C 800E3B7C 00000000 */ nop
/* B5AD20 800E3B80 0006000D */ break 6
.L800E3B84:
/* B5AD24 800E3B84 00001012 */ mflo $v0
/* B5AD28 800E3B88 244200FF */ addiu $v0, $v0, 0xff
/* B5AD2C 800E3B8C 2401FF00 */ li $at, -256
/* B5AD30 800E3B90 00411024 */ and $v0, $v0, $at
/* B5AD34 800E3B94 2C410100 */ sltiu $at, $v0, 0x100
/* B5AD38 800E3B98 10200003 */ beqz $at, .L800E3BA8
/* B5AD3C 800E3B9C AC620014 */ sw $v0, 0x14($v1)
/* B5AD40 800E3BA0 24080100 */ li $t0, 256
/* B5AD44 800E3BA4 AC680014 */ sw $t0, 0x14($v1)
.L800E3BA8:
/* B5AD48 800E3BA8 8FA90034 */ lw $t1, 0x34($sp)
/* B5AD4C 800E3BAC 240A0003 */ li $t2, 3
/* B5AD50 800E3BB0 A06A0001 */ sb $t2, 1($v1)
/* B5AD54 800E3BB4 A0670002 */ sb $a3, 2($v1)
/* B5AD58 800E3BB8 AC690020 */ sw $t1, 0x20($v1)
/* B5AD5C 800E3BBC 8FAB0038 */ lw $t3, 0x38($sp)
/* B5AD60 800E3BC0 24640024 */ addiu $a0, $v1, 0x24
/* B5AD64 800E3BC4 2465003C */ addiu $a1, $v1, 0x3c
/* B5AD68 800E3BC8 AC6B001C */ sw $t3, 0x1c($v1)
/* B5AD6C 800E3BCC AFA3001C */ sw $v1, 0x1c($sp)
/* B5AD70 800E3BD0 0C001874 */ jal osCreateMesgQueue
/* B5AD74 800E3BD4 24060001 */ li $a2, 1
/* B5AD78 800E3BD8 8FA2001C */ lw $v0, 0x1c($sp)
.L800E3BDC:
/* B5AD7C 800E3BDC 8FBF0014 */ lw $ra, 0x14($sp)
/* B5AD80 800E3BE0 27BD0020 */ addiu $sp, $sp, 0x20
/* B5AD84 800E3BE4 03E00008 */ jr $ra
/* B5AD88 800E3BE8 00000000 */ nop
glabel func_800E3BEC
/* B5AD8C 800E3BEC 3C038017 */ lui $v1, %hi(D_8016F180) # $v1, 0x8017
/* B5AD90 800E3BF0 2463F180 */ addiu $v1, %lo(D_8016F180) # addiu $v1, $v1, -0xe80
/* B5AD94 800E3BF4 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B5AD98 800E3BF8 8C6E2984 */ lw $t6, 0x2984($v1)
/* B5AD9C 800E3BFC AFB30020 */ sw $s3, 0x20($sp)
/* B5ADA0 800E3C00 24010001 */ li $at, 1
/* B5ADA4 800E3C04 00809825 */ move $s3, $a0
/* B5ADA8 800E3C08 AFBF0024 */ sw $ra, 0x24($sp)
/* B5ADAC 800E3C0C AFB2001C */ sw $s2, 0x1c($sp)
/* B5ADB0 800E3C10 AFB10018 */ sw $s1, 0x18($sp)
/* B5ADB4 800E3C14 11C10037 */ beq $t6, $at, .L800E3CF4
/* B5ADB8 800E3C18 AFB00014 */ sw $s0, 0x14($sp)
/* B5ADBC 800E3C1C 8C641D48 */ lw $a0, 0x1d48($v1)
/* B5ADC0 800E3C20 1480001D */ bnez $a0, .L800E3C98
/* B5ADC4 800E3C24 00000000 */ nop
/* B5ADC8 800E3C28 1260000E */ beqz $s3, .L800E3C64
/* B5ADCC 800E3C2C 3C108017 */ lui $s0, %hi(D_80170E70)
/* B5ADD0 800E3C30 3C108017 */ lui $s0, %hi(D_80170E70) # $s0, 0x8017
/* B5ADD4 800E3C34 26100E70 */ addiu $s0, %lo(D_80170E70) # addiu $s0, $s0, 0xe70
/* B5ADD8 800E3C38 2412FFFF */ li $s2, -1
/* B5ADDC 800E3C3C 27B10034 */ addiu $s1, $sp, 0x34
/* B5ADE0 800E3C40 02002025 */ move $a0, $s0
.L800E3C44:
/* B5ADE4 800E3C44 02202825 */ move $a1, $s1
/* B5ADE8 800E3C48 0C000CA0 */ jal osRecvMesg
/* B5ADEC 800E3C4C 00003025 */ move $a2, $zero
/* B5ADF0 800E3C50 5452FFFC */ bnel $v0, $s2, .L800E3C44
/* B5ADF4 800E3C54 02002025 */ move $a0, $s0
/* B5ADF8 800E3C58 3C048017 */ lui $a0, %hi(D_80170EC8) # $a0, 0x8017
/* B5ADFC 800E3C5C 1000000E */ b .L800E3C98
/* B5AE00 800E3C60 8C840EC8 */ lw $a0, %lo(D_80170EC8)($a0)
.L800E3C64:
/* B5AE04 800E3C64 26040E70 */ addiu $a0, $s0, %lo(D_80170E70)
/* B5AE08 800E3C68 27A50034 */ addiu $a1, $sp, 0x34
/* B5AE0C 800E3C6C 0C000CA0 */ jal osRecvMesg
/* B5AE10 800E3C70 00003025 */ move $a2, $zero
/* B5AE14 800E3C74 3C038017 */ lui $v1, %hi(D_8016F180) # $v1, 0x8017
/* B5AE18 800E3C78 2412FFFF */ li $s2, -1
/* B5AE1C 800E3C7C 14520004 */ bne $v0, $s2, .L800E3C90
/* B5AE20 800E3C80 2463F180 */ addiu $v1, %lo(D_8016F180) # addiu $v1, $v1, -0xe80
/* B5AE24 800E3C84 AC601D48 */ sw $zero, 0x1d48($v1)
/* B5AE28 800E3C88 10000003 */ b .L800E3C98
/* B5AE2C 800E3C8C 00002025 */ move $a0, $zero
.L800E3C90:
/* B5AE30 800E3C90 8FA40034 */ lw $a0, 0x34($sp)
/* B5AE34 800E3C94 AC641D48 */ sw $a0, 0x1d48($v1)
.L800E3C98:
/* B5AE38 800E3C98 10800003 */ beqz $a0, .L800E3CA8
/* B5AE3C 800E3C9C 00000000 */ nop
/* B5AE40 800E3CA0 0C038F44 */ jal func_800E3D10
/* B5AE44 800E3CA4 02602825 */ move $a1, $s3
.L800E3CA8:
/* B5AE48 800E3CA8 3C108017 */ lui $s0, %hi(D_8016F180) # $s0, 0x8017
/* B5AE4C 800E3CAC 3C128017 */ lui $s2, %hi(D_8016F700) # $s2, 0x8017
/* B5AE50 800E3CB0 2652F700 */ addiu $s2, %lo(D_8016F700) # addiu $s2, $s2, -0x900
/* B5AE54 800E3CB4 2610F180 */ addiu $s0, %lo(D_8016F180) # addiu $s0, $s0, -0xe80
/* B5AE58 800E3CB8 24110001 */ li $s1, 1
/* B5AE5C 800E3CBC 82181770 */ lb $t8, 0x1770($s0)
.L800E3CC0:
/* B5AE60 800E3CC0 26191770 */ addiu $t9, $s0, 0x1770
/* B5AE64 800E3CC4 56380009 */ bnel $s1, $t8, .L800E3CEC
/* B5AE68 800E3CC8 26100058 */ addiu $s0, $s0, 0x58
/* B5AE6C 800E3CCC AFB90034 */ sw $t9, 0x34($sp)
/* B5AE70 800E3CD0 83290002 */ lb $t1, 2($t9)
/* B5AE74 800E3CD4 03202025 */ move $a0, $t9
/* B5AE78 800E3CD8 52290004 */ beql $s1, $t1, .L800E3CEC
/* B5AE7C 800E3CDC 26100058 */ addiu $s0, $s0, 0x58
/* B5AE80 800E3CE0 0C038F96 */ jal func_800E3E58
/* B5AE84 800E3CE4 02602825 */ move $a1, $s3
/* B5AE88 800E3CE8 26100058 */ addiu $s0, $s0, 0x58
.L800E3CEC:
/* B5AE8C 800E3CEC 5612FFF4 */ bnel $s0, $s2, .L800E3CC0
/* B5AE90 800E3CF0 82181770 */ lb $t8, 0x1770($s0)
.L800E3CF4:
/* B5AE94 800E3CF4 8FBF0024 */ lw $ra, 0x24($sp)
/* B5AE98 800E3CF8 8FB00014 */ lw $s0, 0x14($sp)
/* B5AE9C 800E3CFC 8FB10018 */ lw $s1, 0x18($sp)
/* B5AEA0 800E3D00 8FB2001C */ lw $s2, 0x1c($sp)
/* B5AEA4 800E3D04 8FB30020 */ lw $s3, 0x20($sp)
/* B5AEA8 800E3D08 03E00008 */ jr $ra
/* B5AEAC 800E3D0C 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800E3D10
/* B5AEB0 800E3D10 AFA40000 */ sw $a0, ($sp)
/* B5AEB4 800E3D14 03E00008 */ jr $ra
/* B5AEB8 800E3D18 AFA50004 */ sw $a1, 4($sp)
glabel func_800E3D1C
/* B5AEBC 800E3D1C 27BDFFA0 */ addiu $sp, $sp, -0x60
/* B5AEC0 800E3D20 AFBF001C */ sw $ra, 0x1c($sp)
/* B5AEC4 800E3D24 AFB00018 */ sw $s0, 0x18($sp)
/* B5AEC8 800E3D28 8C85001C */ lw $a1, 0x1c($a0)
/* B5AECC 800E3D2C 00808025 */ move $s0, $a0
/* B5AED0 800E3D30 24010001 */ li $at, 1
/* B5AED4 800E3D34 00051402 */ srl $v0, $a1, 0x10
/* B5AED8 800E3D38 304200FF */ andi $v0, $v0, 0xff
/* B5AEDC 800E3D3C 10400008 */ beqz $v0, .L800E3D60
/* B5AEE0 800E3D40 00A01825 */ move $v1, $a1
/* B5AEE4 800E3D44 10410011 */ beq $v0, $at, .L800E3D8C
/* B5AEE8 800E3D48 00037202 */ srl $t6, $v1, 8
/* B5AEEC 800E3D4C 24010002 */ li $at, 2
/* B5AEF0 800E3D50 10410009 */ beq $v0, $at, .L800E3D78
/* B5AEF4 800E3D54 00032202 */ srl $a0, $v1, 8
/* B5AEF8 800E3D58 10000037 */ b .L800E3E38
/* B5AEFC 800E3D5C A2000000 */ sb $zero, ($s0)
.L800E3D60:
/* B5AF00 800E3D60 00032202 */ srl $a0, $v1, 8
/* B5AF04 800E3D64 308400FF */ andi $a0, $a0, 0xff
/* B5AF08 800E3D68 0C038692 */ jal func_800E1A48
/* B5AF0C 800E3D6C 306500FF */ andi $a1, $v1, 0xff
/* B5AF10 800E3D70 10000030 */ b .L800E3E34
/* B5AF14 800E3D74 8E05001C */ lw $a1, 0x1c($s0)
.L800E3D78:
/* B5AF18 800E3D78 308400FF */ andi $a0, $a0, 0xff
/* B5AF1C 800E3D7C 0C03869E */ jal func_800E1A78
/* B5AF20 800E3D80 306500FF */ andi $a1, $v1, 0xff
/* B5AF24 800E3D84 1000002B */ b .L800E3E34
/* B5AF28 800E3D88 8E05001C */ lw $a1, 0x1c($s0)
.L800E3D8C:
/* B5AF2C 800E3D8C 31CF00FF */ andi $t7, $t6, 0xff
/* B5AF30 800E3D90 3C188017 */ lui $t8, %hi(D_801719C4) # $t8, 0x8017
/* B5AF34 800E3D94 8F1819C4 */ lw $t8, %lo(D_801719C4)($t8)
/* B5AF38 800E3D98 000FC880 */ sll $t9, $t7, 2
/* B5AF3C 800E3D9C 032FC821 */ addu $t9, $t9, $t7
/* B5AF40 800E3DA0 0019C880 */ sll $t9, $t9, 2
/* B5AF44 800E3DA4 AFAF0028 */ sw $t7, 0x28($sp)
/* B5AF48 800E3DA8 03191021 */ addu $v0, $t8, $t9
/* B5AF4C 800E3DAC 90440002 */ lbu $a0, 2($v0)
/* B5AF50 800E3DB0 90460003 */ lbu $a2, 3($v0)
/* B5AF54 800E3DB4 240100FF */ li $at, 255
/* B5AF58 800E3DB8 AFA40030 */ sw $a0, 0x30($sp)
/* B5AF5C 800E3DBC 10810009 */ beq $a0, $at, .L800E3DE4
/* B5AF60 800E3DC0 AFA60034 */ sw $a2, 0x34($sp)
/* B5AF64 800E3DC4 27A50040 */ addiu $a1, $sp, 0x40
/* B5AF68 800E3DC8 AFA3005C */ sw $v1, 0x5c($sp)
/* B5AF6C 800E3DCC 0C0388C6 */ jal func_800E2318
/* B5AF70 800E3DD0 AFA60048 */ sw $a2, 0x48($sp)
/* B5AF74 800E3DD4 8FA3005C */ lw $v1, 0x5c($sp)
/* B5AF78 800E3DD8 8FA60048 */ lw $a2, 0x48($sp)
/* B5AF7C 800E3DDC 10000002 */ b .L800E3DE8
/* B5AF80 800E3DE0 AFA20038 */ sw $v0, 0x38($sp)
.L800E3DE4:
/* B5AF84 800E3DE4 AFA00038 */ sw $zero, 0x38($sp)
.L800E3DE8:
/* B5AF88 800E3DE8 240100FF */ li $at, 255
/* B5AF8C 800E3DEC 10C10007 */ beq $a2, $at, .L800E3E0C
/* B5AF90 800E3DF0 00C02025 */ move $a0, $a2
/* B5AF94 800E3DF4 27A50044 */ addiu $a1, $sp, 0x44
/* B5AF98 800E3DF8 0C0388C6 */ jal func_800E2318
/* B5AF9C 800E3DFC AFA3005C */ sw $v1, 0x5c($sp)
/* B5AFA0 800E3E00 8FA3005C */ lw $v1, 0x5c($sp)
/* B5AFA4 800E3E04 10000002 */ b .L800E3E10
/* B5AFA8 800E3E08 AFA2003C */ sw $v0, 0x3c($sp)
.L800E3E0C:
/* B5AFAC 800E3E0C AFA0003C */ sw $zero, 0x3c($sp)
.L800E3E10:
/* B5AFB0 800E3E10 8FA40028 */ lw $a0, 0x28($sp)
/* B5AFB4 800E3E14 0C038686 */ jal func_800E1A18
/* B5AFB8 800E3E18 306500FF */ andi $a1, $v1, 0xff
/* B5AFBC 800E3E1C 8FA40028 */ lw $a0, 0x28($sp)
/* B5AFC0 800E3E20 8E050004 */ lw $a1, 4($s0)
/* B5AFC4 800E3E24 27A60030 */ addiu $a2, $sp, 0x30
/* B5AFC8 800E3E28 0C039066 */ jal func_800E4198
/* B5AFCC 800E3E2C 24070001 */ li $a3, 1
/* B5AFD0 800E3E30 8E05001C */ lw $a1, 0x1c($s0)
.L800E3E34:
/* B5AFD4 800E3E34 A2000000 */ sb $zero, ($s0)
.L800E3E38:
/* B5AFD8 800E3E38 8E040020 */ lw $a0, 0x20($s0)
/* B5AFDC 800E3E3C 0C000C18 */ jal osSendMesg
/* B5AFE0 800E3E40 00003025 */ move $a2, $zero
/* B5AFE4 800E3E44 8FBF001C */ lw $ra, 0x1c($sp)
/* B5AFE8 800E3E48 8FB00018 */ lw $s0, 0x18($sp)
/* B5AFEC 800E3E4C 27BD0060 */ addiu $sp, $sp, 0x60
/* B5AFF0 800E3E50 03E00008 */ jr $ra
/* B5AFF4 800E3E54 00000000 */ nop
glabel func_800E3E58
/* B5AFF8 800E3E58 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B5AFFC 800E3E5C AFBF001C */ sw $ra, 0x1c($sp)
/* B5B000 800E3E60 AFB00018 */ sw $s0, 0x18($sp)
/* B5B004 800E3E64 80820001 */ lb $v0, 1($a0)
/* B5B008 800E3E68 3C038017 */ lui $v1, %hi(D_801719B8) # $v1, 0x8017
/* B5B00C 800E3E6C 00808025 */ move $s0, $a0
/* B5B010 800E3E70 28410002 */ slti $at, $v0, 2
/* B5B014 800E3E74 14200004 */ bnez $at, .L800E3E88
/* B5B018 800E3E78 8C6319B8 */ lw $v1, %lo(D_801719B8)($v1)
/* B5B01C 800E3E7C 244EFFFF */ addiu $t6, $v0, -1
/* B5B020 800E3E80 10000047 */ b .L800E3FA0
/* B5B024 800E3E84 A08E0001 */ sb $t6, 1($a0)
.L800E3E88:
/* B5B028 800E3E88 24070001 */ li $a3, 1
/* B5B02C 800E3E8C 14E20003 */ bne $a3, $v0, .L800E3E9C
/* B5B030 800E3E90 00000000 */ nop
/* B5B034 800E3E94 10000011 */ b .L800E3EDC
/* B5B038 800E3E98 A2000001 */ sb $zero, 1($s0)
.L800E3E9C:
/* B5B03C 800E3E9C 10A00007 */ beqz $a1, .L800E3EBC
/* B5B040 800E3EA0 26040024 */ addiu $a0, $s0, 0x24
/* B5B044 800E3EA4 26040024 */ addiu $a0, $s0, 0x24
/* B5B048 800E3EA8 00002825 */ move $a1, $zero
/* B5B04C 800E3EAC 0C000CA0 */ jal osRecvMesg
/* B5B050 800E3EB0 24060001 */ li $a2, 1
/* B5B054 800E3EB4 1000003A */ b .L800E3FA0
/* B5B058 800E3EB8 A2000000 */ sb $zero, ($s0)
.L800E3EBC:
/* B5B05C 800E3EBC 00002825 */ move $a1, $zero
/* B5B060 800E3EC0 00003025 */ move $a2, $zero
/* B5B064 800E3EC4 0C000CA0 */ jal osRecvMesg
/* B5B068 800E3EC8 AFA30024 */ sw $v1, 0x24($sp)
/* B5B06C 800E3ECC 2401FFFF */ li $at, -1
/* B5B070 800E3ED0 8FA30024 */ lw $v1, 0x24($sp)
/* B5B074 800E3ED4 10410032 */ beq $v0, $at, .L800E3FA0
/* B5B078 800E3ED8 24070001 */ li $a3, 1
.L800E3EDC:
/* B5B07C 800E3EDC 8E0F0010 */ lw $t7, 0x10($s0)
/* B5B080 800E3EE0 15E00005 */ bnez $t7, .L800E3EF8
/* B5B084 800E3EE4 AFAF0020 */ sw $t7, 0x20($sp)
/* B5B088 800E3EE8 0C038F47 */ jal func_800E3D1C
/* B5B08C 800E3EEC 02002025 */ move $a0, $s0
/* B5B090 800E3EF0 1000002C */ b .L800E3FA4
/* B5B094 800E3EF4 8FBF001C */ lw $ra, 0x1c($sp)
.L800E3EF8:
/* B5B098 800E3EF8 8E060014 */ lw $a2, 0x14($s0)
/* B5B09C 800E3EFC 8FB90020 */ lw $t9, 0x20($sp)
/* B5B0A0 800E3F00 0326082B */ sltu $at, $t9, $a2
/* B5B0A4 800E3F04 50200011 */ beql $at, $zero, .L800E3F4C
/* B5B0A8 800E3F08 82090002 */ lb $t1, 2($s0)
/* B5B0AC 800E3F0C 82080002 */ lb $t0, 2($s0)
/* B5B0B0 800E3F10 03203025 */ move $a2, $t9
/* B5B0B4 800E3F14 02002025 */ move $a0, $s0
/* B5B0B8 800E3F18 14E80007 */ bne $a3, $t0, .L800E3F38
/* B5B0BC 800E3F1C 00000000 */ nop
/* B5B0C0 800E3F20 8E040008 */ lw $a0, 8($s0)
/* B5B0C4 800E3F24 8E05000C */ lw $a1, 0xc($s0)
/* B5B0C8 800E3F28 0C039011 */ jal func_800E4044
/* B5B0CC 800E3F2C 84670002 */ lh $a3, 2($v1)
/* B5B0D0 800E3F30 10000003 */ b .L800E3F40
/* B5B0D4 800E3F34 00000000 */ nop
.L800E3F38:
/* B5B0D8 800E3F38 0C038FED */ jal func_800E3FB4
/* B5B0DC 800E3F3C 8FA50020 */ lw $a1, 0x20($sp)
.L800E3F40:
/* B5B0E0 800E3F40 10000017 */ b .L800E3FA0
/* B5B0E4 800E3F44 AE000010 */ sw $zero, 0x10($s0)
/* B5B0E8 800E3F48 82090002 */ lb $t1, 2($s0)
.L800E3F4C:
/* B5B0EC 800E3F4C 02002025 */ move $a0, $s0
/* B5B0F0 800E3F50 14E90007 */ bne $a3, $t1, .L800E3F70
/* B5B0F4 800E3F54 00000000 */ nop
/* B5B0F8 800E3F58 8E040008 */ lw $a0, 8($s0)
/* B5B0FC 800E3F5C 8E05000C */ lw $a1, 0xc($s0)
/* B5B100 800E3F60 0C039011 */ jal func_800E4044
/* B5B104 800E3F64 84670002 */ lh $a3, 2($v1)
/* B5B108 800E3F68 10000004 */ b .L800E3F7C
/* B5B10C 800E3F6C 8E060014 */ lw $a2, 0x14($s0)
.L800E3F70:
/* B5B110 800E3F70 0C038FED */ jal func_800E3FB4
/* B5B114 800E3F74 00C02825 */ move $a1, $a2
/* B5B118 800E3F78 8E060014 */ lw $a2, 0x14($s0)
.L800E3F7C:
/* B5B11C 800E3F7C 8E0A0010 */ lw $t2, 0x10($s0)
/* B5B120 800E3F80 8E0C0008 */ lw $t4, 8($s0)
/* B5B124 800E3F84 8E0E000C */ lw $t6, 0xc($s0)
/* B5B128 800E3F88 01465823 */ subu $t3, $t2, $a2
/* B5B12C 800E3F8C 01866821 */ addu $t5, $t4, $a2
/* B5B130 800E3F90 01C67821 */ addu $t7, $t6, $a2
/* B5B134 800E3F94 AE0B0010 */ sw $t3, 0x10($s0)
/* B5B138 800E3F98 AE0D0008 */ sw $t5, 8($s0)
/* B5B13C 800E3F9C AE0F000C */ sw $t7, 0xc($s0)
.L800E3FA0:
/* B5B140 800E3FA0 8FBF001C */ lw $ra, 0x1c($sp)
.L800E3FA4:
/* B5B144 800E3FA4 8FB00018 */ lw $s0, 0x18($sp)
/* B5B148 800E3FA8 27BD0028 */ addiu $sp, $sp, 0x28
/* B5B14C 800E3FAC 03E00008 */ jr $ra
/* B5B150 800E3FB0 00000000 */ nop
glabel func_800E3FB4
/* B5B154 800E3FB4 27BDFFC0 */ addiu $sp, $sp, -0x40
/* B5B158 800E3FB8 AFB00030 */ sw $s0, 0x30($sp)
/* B5B15C 800E3FBC 00808025 */ move $s0, $a0
/* B5B160 800E3FC0 AFBF0034 */ sw $ra, 0x34($sp)
/* B5B164 800E3FC4 24A5000F */ addiu $a1, $a1, 0xf
/* B5B168 800E3FC8 2401FFF0 */ li $at, -16
/* B5B16C 800E3FCC 00A12824 */ and $a1, $a1, $at
/* B5B170 800E3FD0 8C84000C */ lw $a0, 0xc($a0)
/* B5B174 800E3FD4 0C039A10 */ jal func_800E6840
/* B5B178 800E3FD8 AFA50044 */ sw $a1, 0x44($sp)
/* B5B17C 800E3FDC 26040024 */ addiu $a0, $s0, 0x24
/* B5B180 800E3FE0 AFA4003C */ sw $a0, 0x3c($sp)
/* B5B184 800E3FE4 2605003C */ addiu $a1, $s0, 0x3c
/* B5B188 800E3FE8 0C001874 */ jal osCreateMesgQueue
/* B5B18C 800E3FEC 24060001 */ li $a2, 1
/* B5B190 800E3FF0 8E0E000C */ lw $t6, 0xc($s0)
/* B5B194 800E3FF4 8FAF0044 */ lw $t7, 0x44($sp)
/* B5B198 800E3FF8 8FB8003C */ lw $t8, 0x3c($sp)
/* B5B19C 800E3FFC 8E070008 */ lw $a3, 8($s0)
/* B5B1A0 800E4000 AFAE0010 */ sw $t6, 0x10($sp)
/* B5B1A4 800E4004 AFAF0014 */ sw $t7, 0x14($sp)
/* B5B1A8 800E4008 AFB80018 */ sw $t8, 0x18($sp)
/* B5B1AC 800E400C 82190002 */ lb $t9, 2($s0)
/* B5B1B0 800E4010 3C088015 */ lui $t0, %hi(D_80149450) # $t0, 0x8015
/* B5B1B4 800E4014 25089450 */ addiu $t0, %lo(D_80149450) # addiu $t0, $t0, -0x6bb0
/* B5B1B8 800E4018 AFA80020 */ sw $t0, 0x20($sp)
/* B5B1BC 800E401C 26040040 */ addiu $a0, $s0, 0x40
/* B5B1C0 800E4020 00002825 */ move $a1, $zero
/* B5B1C4 800E4024 00003025 */ move $a2, $zero
/* B5B1C8 800E4028 0C038AF8 */ jal func_800E2BE0
/* B5B1CC 800E402C AFB9001C */ sw $t9, 0x1c($sp)
/* B5B1D0 800E4030 8FBF0034 */ lw $ra, 0x34($sp)
/* B5B1D4 800E4034 8FB00030 */ lw $s0, 0x30($sp)
/* B5B1D8 800E4038 27BD0040 */ addiu $sp, $sp, 0x40
/* B5B1DC 800E403C 03E00008 */ jr $ra
/* B5B1E0 800E4040 00000000 */ nop
glabel func_800E4044
/* B5B1E4 800E4044 AFA40000 */ sw $a0, ($sp)
/* B5B1E8 800E4048 AFA50004 */ sw $a1, 4($sp)
/* B5B1EC 800E404C AFA60008 */ sw $a2, 8($sp)
/* B5B1F0 800E4050 03E00008 */ jr $ra
/* B5B1F4 800E4054 AFA7000C */ sw $a3, 0xc($sp)
glabel func_800E4058
/* B5B1F8 800E4058 8C820000 */ lw $v0, ($a0)
/* B5B1FC 800E405C 3C018000 */ lui $at, (0x80000001 >> 16) # lui $at, 0x8000
/* B5B200 800E4060 34210001 */ ori $at, (0x80000001 & 0xFFFF) # ori $at, $at, 1
/* B5B204 800E4064 0041082B */ sltu $at, $v0, $at
/* B5B208 800E4068 10200049 */ beqz $at, .L800E4190
/* B5B20C 800E406C 00C03825 */ move $a3, $a2
/* B5B210 800E4070 00451821 */ addu $v1, $v0, $a1
/* B5B214 800E4074 AC830000 */ sw $v1, ($a0)
/* B5B218 800E4078 8C6E0000 */ lw $t6, ($v1)
/* B5B21C 800E407C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B220 800E4080 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B224 800E4084 01C17824 */ and $t7, $t6, $at
/* B5B228 800E4088 11E00041 */ beqz $t7, .L800E4190
/* B5B22C 800E408C 00603025 */ move $a2, $v1
/* B5B230 800E4090 90780000 */ lbu $t8, ($v1)
/* B5B234 800E4094 24040001 */ li $a0, 1
/* B5B238 800E4098 33190001 */ andi $t9, $t8, 1
/* B5B23C 800E409C 1099003C */ beq $a0, $t9, .L800E4190
/* B5B240 800E40A0 00000000 */ nop
/* B5B244 800E40A4 8C680008 */ lw $t0, 8($v1)
/* B5B248 800E40A8 8CC20000 */ lw $v0, ($a2)
/* B5B24C 800E40AC 8CC9000C */ lw $t1, 0xc($a2)
/* B5B250 800E40B0 01051821 */ addu $v1, $t0, $a1
/* B5B254 800E40B4 ACC30008 */ sw $v1, 8($a2)
/* B5B258 800E40B8 00021100 */ sll $v0, $v0, 4
/* B5B25C 800E40BC 00021782 */ srl $v0, $v0, 0x1e
/* B5B260 800E40C0 01251821 */ addu $v1, $t1, $a1
/* B5B264 800E40C4 10400009 */ beqz $v0, .L800E40EC
/* B5B268 800E40C8 ACC3000C */ sw $v1, 0xc($a2)
/* B5B26C 800E40CC 10440013 */ beq $v0, $a0, .L800E411C
/* B5B270 800E40D0 24010002 */ li $at, 2
/* B5B274 800E40D4 1041001C */ beq $v0, $at, .L800E4148
/* B5B278 800E40D8 24010003 */ li $at, 3
/* B5B27C 800E40DC 5041001B */ beql $v0, $at, .L800E414C
/* B5B280 800E40E0 90C90000 */ lbu $t1, ($a2)
/* B5B284 800E40E4 10000019 */ b .L800E414C
/* B5B288 800E40E8 90C90000 */ lbu $t1, ($a2)
.L800E40EC:
/* B5B28C 800E40EC 8CCA0004 */ lw $t2, 4($a2)
/* B5B290 800E40F0 8CEB0008 */ lw $t3, 8($a3)
/* B5B294 800E40F4 90D80000 */ lbu $t8, ($a2)
/* B5B298 800E40F8 014B1821 */ addu $v1, $t2, $t3
/* B5B29C 800E40FC ACC30004 */ sw $v1, 4($a2)
/* B5B2A0 800E4100 8CED0010 */ lw $t5, 0x10($a3)
/* B5B2A4 800E4104 3319FFF3 */ andi $t9, $t8, 0xfff3
/* B5B2A8 800E4108 000D7080 */ sll $t6, $t5, 2
/* B5B2AC 800E410C 31CF000C */ andi $t7, $t6, 0xc
/* B5B2B0 800E4110 01F94025 */ or $t0, $t7, $t9
/* B5B2B4 800E4114 1000000C */ b .L800E4148
/* B5B2B8 800E4118 A0C80000 */ sb $t0, ($a2)
.L800E411C:
/* B5B2BC 800E411C 8CC90004 */ lw $t1, 4($a2)
/* B5B2C0 800E4120 8CEA000C */ lw $t2, 0xc($a3)
/* B5B2C4 800E4124 90D80000 */ lbu $t8, ($a2)
/* B5B2C8 800E4128 012A1821 */ addu $v1, $t1, $t2
/* B5B2CC 800E412C ACC30004 */ sw $v1, 4($a2)
/* B5B2D0 800E4130 8CEC0014 */ lw $t4, 0x14($a3)
/* B5B2D4 800E4134 330FFFF3 */ andi $t7, $t8, 0xfff3
/* B5B2D8 800E4138 000C6880 */ sll $t5, $t4, 2
/* B5B2DC 800E413C 31AE000C */ andi $t6, $t5, 0xc
/* B5B2E0 800E4140 01CFC825 */ or $t9, $t6, $t7
/* B5B2E4 800E4144 A0D90000 */ sb $t9, ($a2)
.L800E4148:
/* B5B2E8 800E4148 90C90000 */ lbu $t1, ($a2)
.L800E414C:
/* B5B2EC 800E414C 352A0001 */ ori $t2, $t1, 1
/* B5B2F0 800E4150 A0CA0000 */ sb $t2, ($a2)
/* B5B2F4 800E4154 8CC20000 */ lw $v0, ($a2)
/* B5B2F8 800E4158 00026180 */ sll $t4, $v0, 6
/* B5B2FC 800E415C 0581000C */ bgez $t4, .L800E4190
/* B5B300 800E4160 00026900 */ sll $t5, $v0, 4
/* B5B304 800E4164 000DC782 */ srl $t8, $t5, 0x1e
/* B5B308 800E4168 13000009 */ beqz $t8, .L800E4190
/* B5B30C 800E416C 3C028017 */ lui $v0, %hi(D_8016F180) # $v0, 0x8017
/* B5B310 800E4170 2442F180 */ addiu $v0, %lo(D_8016F180) # addiu $v0, $v0, -0xe80
/* B5B314 800E4174 8C4E1768 */ lw $t6, 0x1768($v0)
/* B5B318 800E4178 000E7880 */ sll $t7, $t6, 2
/* B5B31C 800E417C 004FC821 */ addu $t9, $v0, $t7
/* B5B320 800E4180 AF260B68 */ sw $a2, 0xb68($t9)
/* B5B324 800E4184 8C481768 */ lw $t0, 0x1768($v0)
/* B5B328 800E4188 25090001 */ addiu $t1, $t0, 1
/* B5B32C 800E418C AC491768 */ sw $t1, 0x1768($v0)
.L800E4190:
/* B5B330 800E4190 03E00008 */ jr $ra
/* B5B334 800E4194 00000000 */ nop
glabel func_800E4198
/* B5B338 800E4198 27BDFF98 */ addiu $sp, $sp, -0x68
/* B5B33C 800E419C AFB30030 */ sw $s3, 0x30($sp)
/* B5B340 800E41A0 3C138017 */ lui $s3, %hi(D_8016F180) # $s3, 0x8017
/* B5B344 800E41A4 2673F180 */ addiu $s3, %lo(D_8016F180) # addiu $s3, $s3, -0xe80
/* B5B348 800E41A8 8E6E176C */ lw $t6, 0x176c($s3)
/* B5B34C 800E41AC AFB50038 */ sw $s5, 0x38($sp)
/* B5B350 800E41B0 AFB2002C */ sw $s2, 0x2c($sp)
/* B5B354 800E41B4 00C09025 */ move $s2, $a2
/* B5B358 800E41B8 00E0A825 */ move $s5, $a3
/* B5B35C 800E41BC AFBF0044 */ sw $ra, 0x44($sp)
/* B5B360 800E41C0 AFB70040 */ sw $s7, 0x40($sp)
/* B5B364 800E41C4 AFB6003C */ sw $s6, 0x3c($sp)
/* B5B368 800E41C8 AFB40034 */ sw $s4, 0x34($sp)
/* B5B36C 800E41CC AFB10028 */ sw $s1, 0x28($sp)
/* B5B370 800E41D0 AFB00024 */ sw $s0, 0x24($sp)
/* B5B374 800E41D4 11C00003 */ beqz $t6, .L800E41E4
/* B5B378 800E41D8 00001025 */ move $v0, $zero
/* B5B37C 800E41DC 10000003 */ b .L800E41EC
/* B5B380 800E41E0 24020001 */ li $v0, 1
.L800E41E4:
/* B5B384 800E41E4 3C018017 */ lui $at, %hi(D_8016B780) # $at, 0x8017
/* B5B388 800E41E8 AC20B780 */ sw $zero, %lo(D_8016B780)($at)
.L800E41EC:
/* B5B38C 800E41EC AE601768 */ sw $zero, 0x1768($s3)
/* B5B390 800E41F0 02403025 */ move $a2, $s2
/* B5B394 800E41F4 0C038A0F */ jal func_800E283C
/* B5B398 800E41F8 AFA2004C */ sw $v0, 0x4c($sp)
/* B5B39C 800E41FC 8E641768 */ lw $a0, 0x1768($s3)
/* B5B3A0 800E4200 00002825 */ move $a1, $zero
/* B5B3A4 800E4204 0000A025 */ move $s4, $zero
/* B5B3A8 800E4208 18800011 */ blez $a0, .L800E4250
/* B5B3AC 800E420C 3C0F8017 */ lui $t7, %hi(D_8016F180)
/* B5B3B0 800E4210 25E2F180 */ addiu $v0, $t7, %lo(D_8016F180)
/* B5B3B4 800E4214 0004C080 */ sll $t8, $a0, 2
/* B5B3B8 800E4218 03023021 */ addu $a2, $t8, $v0
/* B5B3BC 800E421C 2403FFF0 */ li $v1, -16
.L800E4220:
/* B5B3C0 800E4220 8C590B68 */ lw $t9, 0xb68($v0)
/* B5B3C4 800E4224 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B3C8 800E4228 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B3CC 800E422C 8F2A0000 */ lw $t2, ($t9)
/* B5B3D0 800E4230 24420004 */ addiu $v0, $v0, 4
/* B5B3D4 800E4234 01415824 */ and $t3, $t2, $at
/* B5B3D8 800E4238 256C000F */ addiu $t4, $t3, 0xf
/* B5B3DC 800E423C 0046082B */ sltu $at, $v0, $a2
/* B5B3E0 800E4240 01836824 */ and $t5, $t4, $v1
/* B5B3E4 800E4244 1420FFF6 */ bnez $at, .L800E4220
/* B5B3E8 800E4248 00AD2821 */ addu $a1, $a1, $t5
/* B5B3EC 800E424C 0000A025 */ move $s4, $zero
.L800E4250:
/* B5B3F0 800E4250 188000A7 */ blez $a0, .L800E44F0
/* B5B3F4 800E4254 24170001 */ li $s7, 1
/* B5B3F8 800E4258 24160003 */ li $s6, 3
/* B5B3FC 800E425C 8E6E176C */ lw $t6, 0x176c($s3)
.L800E4260:
/* B5B400 800E4260 24010078 */ li $at, 120
/* B5B404 800E4264 0014C080 */ sll $t8, $s4, 2
/* B5B408 800E4268 11C100A1 */ beq $t6, $at, .L800E44F0
/* B5B40C 800E426C 02787821 */ addu $t7, $s3, $t8
/* B5B410 800E4270 8DF00B68 */ lw $s0, 0xb68($t7)
/* B5B414 800E4274 12A00005 */ beqz $s5, .L800E428C
/* B5B418 800E4278 00008825 */ move $s1, $zero
/* B5B41C 800E427C 52B7002D */ beql $s5, $s7, .L800E4334
/* B5B420 800E4280 8E030000 */ lw $v1, ($s0)
/* B5B424 800E4284 10000052 */ b .L800E43D0
/* B5B428 800E4288 00000000 */ nop
.L800E428C:
/* B5B42C 800E428C 8E030000 */ lw $v1, ($s0)
/* B5B430 800E4290 8E590010 */ lw $t9, 0x10($s2)
/* B5B434 800E4294 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B438 800E4298 00031100 */ sll $v0, $v1, 4
/* B5B43C 800E429C 00021782 */ srl $v0, $v0, 0x1e
/* B5B440 800E42A0 1722000A */ bne $t9, $v0, .L800E42CC
/* B5B444 800E42A4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B448 800E42A8 8E450000 */ lw $a1, ($s2)
/* B5B44C 800E42AC 8E060004 */ lw $a2, 4($s0)
/* B5B450 800E42B0 00023E00 */ sll $a3, $v0, 0x18
/* B5B454 800E42B4 00073E03 */ sra $a3, $a3, 0x18
/* B5B458 800E42B8 AFB70010 */ sw $s7, 0x10($sp)
/* B5B45C 800E42BC 0C038171 */ jal func_800E05C4
/* B5B460 800E42C0 00612024 */ and $a0, $v1, $at
/* B5B464 800E42C4 10000042 */ b .L800E43D0
/* B5B468 800E42C8 00408825 */ move $s1, $v0
.L800E42CC:
/* B5B46C 800E42CC 8E4A0014 */ lw $t2, 0x14($s2)
/* B5B470 800E42D0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B474 800E42D4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B478 800E42D8 15420009 */ bne $t2, $v0, .L800E4300
/* B5B47C 800E42DC 00612024 */ and $a0, $v1, $at
/* B5B480 800E42E0 8E450004 */ lw $a1, 4($s2)
/* B5B484 800E42E4 8E060004 */ lw $a2, 4($s0)
/* B5B488 800E42E8 00023E00 */ sll $a3, $v0, 0x18
/* B5B48C 800E42EC 00073E03 */ sra $a3, $a3, 0x18
/* B5B490 800E42F0 0C038171 */ jal func_800E05C4
/* B5B494 800E42F4 AFB70010 */ sw $s7, 0x10($sp)
/* B5B498 800E42F8 10000035 */ b .L800E43D0
/* B5B49C 800E42FC 00408825 */ move $s1, $v0
.L800E4300:
/* B5B4A0 800E4300 16C20033 */ bne $s6, $v0, .L800E43D0
/* B5B4A4 800E4304 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B4A8 800E4308 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B4AC 800E430C 8E060004 */ lw $a2, 4($s0)
/* B5B4B0 800E4310 00023E00 */ sll $a3, $v0, 0x18
/* B5B4B4 800E4314 00073E03 */ sra $a3, $a3, 0x18
/* B5B4B8 800E4318 AFB70010 */ sw $s7, 0x10($sp)
/* B5B4BC 800E431C 00612024 */ and $a0, $v1, $at
/* B5B4C0 800E4320 0C038171 */ jal func_800E05C4
/* B5B4C4 800E4324 240500FE */ li $a1, 254
/* B5B4C8 800E4328 10000029 */ b .L800E43D0
/* B5B4CC 800E432C 00408825 */ move $s1, $v0
/* B5B4D0 800E4330 8E030000 */ lw $v1, ($s0)
.L800E4334:
/* B5B4D4 800E4334 8E4B0010 */ lw $t3, 0x10($s2)
/* B5B4D8 800E4338 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B4DC 800E433C 00031100 */ sll $v0, $v1, 4
/* B5B4E0 800E4340 00021782 */ srl $v0, $v0, 0x1e
/* B5B4E4 800E4344 1562000A */ bne $t3, $v0, .L800E4370
/* B5B4E8 800E4348 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B4EC 800E434C 8E450000 */ lw $a1, ($s2)
/* B5B4F0 800E4350 8E060004 */ lw $a2, 4($s0)
/* B5B4F4 800E4354 00023E00 */ sll $a3, $v0, 0x18
/* B5B4F8 800E4358 00073E03 */ sra $a3, $a3, 0x18
/* B5B4FC 800E435C AFA00010 */ sw $zero, 0x10($sp)
/* B5B500 800E4360 0C038171 */ jal func_800E05C4
/* B5B504 800E4364 00612024 */ and $a0, $v1, $at
/* B5B508 800E4368 10000019 */ b .L800E43D0
/* B5B50C 800E436C 00408825 */ move $s1, $v0
.L800E4370:
/* B5B510 800E4370 8E4C0014 */ lw $t4, 0x14($s2)
/* B5B514 800E4374 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B518 800E4378 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B51C 800E437C 15820009 */ bne $t4, $v0, .L800E43A4
/* B5B520 800E4380 00612024 */ and $a0, $v1, $at
/* B5B524 800E4384 8E450004 */ lw $a1, 4($s2)
/* B5B528 800E4388 8E060004 */ lw $a2, 4($s0)
/* B5B52C 800E438C 00023E00 */ sll $a3, $v0, 0x18
/* B5B530 800E4390 00073E03 */ sra $a3, $a3, 0x18
/* B5B534 800E4394 0C038171 */ jal func_800E05C4
/* B5B538 800E4398 AFA00010 */ sw $zero, 0x10($sp)
/* B5B53C 800E439C 1000000C */ b .L800E43D0
/* B5B540 800E43A0 00408825 */ move $s1, $v0
.L800E43A4:
/* B5B544 800E43A4 16C2000A */ bne $s6, $v0, .L800E43D0
/* B5B548 800E43A8 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B54C 800E43AC 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B550 800E43B0 8E060004 */ lw $a2, 4($s0)
/* B5B554 800E43B4 00023E00 */ sll $a3, $v0, 0x18
/* B5B558 800E43B8 00073E03 */ sra $a3, $a3, 0x18
/* B5B55C 800E43BC AFA00010 */ sw $zero, 0x10($sp)
/* B5B560 800E43C0 00612024 */ and $a0, $v1, $at
/* B5B564 800E43C4 0C038171 */ jal func_800E05C4
/* B5B568 800E43C8 240500FE */ li $a1, 254
/* B5B56C 800E43CC 00408825 */ move $s1, $v0
.L800E43D0:
/* B5B570 800E43D0 16200003 */ bnez $s1, .L800E43E0
/* B5B574 800E43D4 00000000 */ nop
/* B5B578 800E43D8 10000041 */ b .L800E44E0
/* B5B57C 800E43DC 8E641768 */ lw $a0, 0x1768($s3)
.L800E43E0:
/* B5B580 800E43E0 52A00006 */ beql $s5, $zero, .L800E43FC
/* B5B584 800E43E4 8E030000 */ lw $v1, ($s0)
/* B5B588 800E43E8 52B70023 */ beql $s5, $s7, .L800E4478
/* B5B58C 800E43EC 8E6A176C */ lw $t2, 0x176c($s3)
/* B5B590 800E43F0 1000003B */ b .L800E44E0
/* B5B594 800E43F4 8E641768 */ lw $a0, 0x1768($s3)
/* B5B598 800E43F8 8E030000 */ lw $v1, ($s0)
.L800E43FC:
/* B5B59C 800E43FC 24010001 */ li $at, 1
/* B5B5A0 800E4400 02202825 */ move $a1, $s1
/* B5B5A4 800E4404 00031100 */ sll $v0, $v1, 4
/* B5B5A8 800E4408 00021782 */ srl $v0, $v0, 0x1e
/* B5B5AC 800E440C 1441000E */ bne $v0, $at, .L800E4448
/* B5B5B0 800E4410 00403825 */ move $a3, $v0
/* B5B5B4 800E4414 8E6D2838 */ lw $t5, 0x2838($s3)
/* B5B5B8 800E4418 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B5BC 800E441C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B5C0 800E4420 00613024 */ and $a2, $v1, $at
/* B5B5C4 800E4424 8E040004 */ lw $a0, 4($s0)
/* B5B5C8 800E4428 02202825 */ move $a1, $s1
/* B5B5CC 800E442C 0C038AF3 */ jal func_800E2BCC
/* B5B5D0 800E4430 85A70002 */ lh $a3, 2($t5)
/* B5B5D4 800E4434 920E0000 */ lbu $t6, ($s0)
/* B5B5D8 800E4438 AE110004 */ sw $s1, 4($s0)
/* B5B5DC 800E443C 31D8FFF3 */ andi $t8, $t6, 0xfff3
/* B5B5E0 800E4440 1000000A */ b .L800E446C
/* B5B5E4 800E4444 A2180000 */ sb $t8, ($s0)
.L800E4448:
/* B5B5E8 800E4448 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B5EC 800E444C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B5F0 800E4450 00613024 */ and $a2, $v1, $at
/* B5B5F4 800E4454 0C038AAA */ jal func_800E2AA8
/* B5B5F8 800E4458 8E040004 */ lw $a0, 4($s0)
/* B5B5FC 800E445C 920F0000 */ lbu $t7, ($s0)
/* B5B600 800E4460 AE110004 */ sw $s1, 4($s0)
/* B5B604 800E4464 31F9FFF3 */ andi $t9, $t7, 0xfff3
/* B5B608 800E4468 A2190000 */ sb $t9, ($s0)
.L800E446C:
/* B5B60C 800E446C 1000001C */ b .L800E44E0
/* B5B610 800E4470 8E641768 */ lw $a0, 0x1768($s3)
/* B5B614 800E4474 8E6A176C */ lw $t2, 0x176c($s3)
.L800E4478:
/* B5B618 800E4478 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B61C 800E447C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B620 800E4480 000A5880 */ sll $t3, $t2, 2
/* B5B624 800E4484 016A5821 */ addu $t3, $t3, $t2
/* B5B628 800E4488 000B5880 */ sll $t3, $t3, 2
/* B5B62C 800E448C 026B1021 */ addu $v0, $s3, $t3
/* B5B630 800E4490 AC500D6C */ sw $s0, 0xd6c($v0)
/* B5B634 800E4494 AC510D70 */ sw $s1, 0xd70($v0)
/* B5B638 800E4498 8E6C176C */ lw $t4, 0x176c($s3)
/* B5B63C 800E449C AC400D78 */ sw $zero, 0xd78($v0)
/* B5B640 800E44A0 24420D68 */ addiu $v0, $v0, 0xd68
/* B5B644 800E44A4 000C6E00 */ sll $t5, $t4, 0x18
/* B5B648 800E44A8 01A17025 */ or $t6, $t5, $at
/* B5B64C 800E44AC AC4E000C */ sw $t6, 0xc($v0)
/* B5B650 800E44B0 8E030000 */ lw $v1, ($s0)
/* B5B654 800E44B4 8E180004 */ lw $t8, 4($s0)
/* B5B658 800E44B8 00617824 */ and $t7, $v1, $at
/* B5B65C 800E44BC 00035100 */ sll $t2, $v1, 4
/* B5B660 800E44C0 000A5F82 */ srl $t3, $t2, 0x1e
/* B5B664 800E44C4 030FC821 */ addu $t9, $t8, $t7
/* B5B668 800E44C8 032B6021 */ addu $t4, $t9, $t3
/* B5B66C 800E44CC AC4C0000 */ sw $t4, ($v0)
/* B5B670 800E44D0 8E6D176C */ lw $t5, 0x176c($s3)
/* B5B674 800E44D4 8E641768 */ lw $a0, 0x1768($s3)
/* B5B678 800E44D8 25AE0001 */ addiu $t6, $t5, 1
/* B5B67C 800E44DC AE6E176C */ sw $t6, 0x176c($s3)
.L800E44E0:
/* B5B680 800E44E0 26940001 */ addiu $s4, $s4, 1
/* B5B684 800E44E4 0284082A */ slt $at, $s4, $a0
/* B5B688 800E44E8 5420FF5D */ bnezl $at, .L800E4260
/* B5B68C 800E44EC 8E6E176C */ lw $t6, 0x176c($s3)
.L800E44F0:
/* B5B690 800E44F0 8E69176C */ lw $t1, 0x176c($s3)
/* B5B694 800E44F4 AE601768 */ sw $zero, 0x1768($s3)
/* B5B698 800E44F8 8FB8004C */ lw $t8, 0x4c($sp)
/* B5B69C 800E44FC 5120001A */ beql $t1, $zero, .L800E4568
/* B5B6A0 800E4500 8FBF0044 */ lw $ra, 0x44($sp)
/* B5B6A4 800E4504 17000017 */ bnez $t8, .L800E4564
/* B5B6A8 800E4508 00097880 */ sll $t7, $t1, 2
/* B5B6AC 800E450C 01E97821 */ addu $t7, $t7, $t1
/* B5B6B0 800E4510 000F7880 */ sll $t7, $t7, 2
/* B5B6B4 800E4514 026F1021 */ addu $v0, $s3, $t7
/* B5B6B8 800E4518 8C500D58 */ lw $s0, 0xd58($v0)
/* B5B6BC 800E451C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B6C0 800E4520 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B6C4 800E4524 8E030000 */ lw $v1, ($s0)
/* B5B6C8 800E4528 8C450D5C */ lw $a1, 0xd5c($v0)
/* B5B6CC 800E452C 3C0A8017 */ lui $t2, %hi(D_80170FF8) # $t2, 0x8017
/* B5B6D0 800E4530 00613024 */ and $a2, $v1, $at
/* B5B6D4 800E4534 00064302 */ srl $t0, $a2, 0xc
/* B5B6D8 800E4538 8E040004 */ lw $a0, 4($s0)
/* B5B6DC 800E453C 25080001 */ addiu $t0, $t0, 1
/* B5B6E0 800E4540 254A0FF8 */ addiu $t2, %lo(D_80170FF8) # addiu $t2, $t2, 0xff8
/* B5B6E4 800E4544 AFAA0014 */ sw $t2, 0x14($sp)
/* B5B6E8 800E4548 AFA80010 */ sw $t0, 0x10($sp)
/* B5B6EC 800E454C 8C590D60 */ lw $t9, 0xd60($v0)
/* B5B6F0 800E4550 00033900 */ sll $a3, $v1, 4
/* B5B6F4 800E4554 24420D54 */ addiu $v0, $v0, 0xd54
/* B5B6F8 800E4558 00073F82 */ srl $a3, $a3, 0x1e
/* B5B6FC 800E455C 0C038EB2 */ jal func_800E3AC8
/* B5B700 800E4560 AFB90018 */ sw $t9, 0x18($sp)
.L800E4564:
/* B5B704 800E4564 8FBF0044 */ lw $ra, 0x44($sp)
.L800E4568:
/* B5B708 800E4568 8FB00024 */ lw $s0, 0x24($sp)
/* B5B70C 800E456C 8FB10028 */ lw $s1, 0x28($sp)
/* B5B710 800E4570 8FB2002C */ lw $s2, 0x2c($sp)
/* B5B714 800E4574 8FB30030 */ lw $s3, 0x30($sp)
/* B5B718 800E4578 8FB40034 */ lw $s4, 0x34($sp)
/* B5B71C 800E457C 8FB50038 */ lw $s5, 0x38($sp)
/* B5B720 800E4580 8FB6003C */ lw $s6, 0x3c($sp)
/* B5B724 800E4584 8FB70040 */ lw $s7, 0x40($sp)
/* B5B728 800E4588 03E00008 */ jr $ra
/* B5B72C 800E458C 27BD0068 */ addiu $sp, $sp, 0x68
glabel func_800E4590
/* B5B730 800E4590 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5B734 800E4594 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
/* B5B738 800E4598 8CEE176C */ lw $t6, 0x176c($a3)
/* B5B73C 800E459C 27BDFFA8 */ addiu $sp, $sp, -0x58
/* B5B740 800E45A0 AFBF002C */ sw $ra, 0x2c($sp)
/* B5B744 800E45A4 19C00061 */ blez $t6, .L800E472C
/* B5B748 800E45A8 AFB00028 */ sw $s0, 0x28($sp)
/* B5B74C 800E45AC 1080000B */ beqz $a0, .L800E45DC
/* B5B750 800E45B0 27A5004C */ addiu $a1, $sp, 0x4c
/* B5B754 800E45B4 3C048017 */ lui $a0, %hi(D_80170FF8) # $a0, 0x8017
/* B5B758 800E45B8 24840FF8 */ addiu $a0, %lo(D_80170FF8) # addiu $a0, $a0, 0xff8
/* B5B75C 800E45BC 27A5004C */ addiu $a1, $sp, 0x4c
/* B5B760 800E45C0 0C000CA0 */ jal osRecvMesg
/* B5B764 800E45C4 00003025 */ move $a2, $zero
/* B5B768 800E45C8 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5B76C 800E45CC 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
/* B5B770 800E45D0 ACE0176C */ sw $zero, 0x176c($a3)
/* B5B774 800E45D4 10000056 */ b .L800E4730
/* B5B778 800E45D8 00001025 */ move $v0, $zero
.L800E45DC:
/* B5B77C 800E45DC 3C048017 */ lui $a0, %hi(D_80170FF8) # $a0, 0x8017
/* B5B780 800E45E0 24840FF8 */ addiu $a0, %lo(D_80170FF8) # addiu $a0, $a0, 0xff8
/* B5B784 800E45E4 0C000CA0 */ jal osRecvMesg
/* B5B788 800E45E8 00003025 */ move $a2, $zero
/* B5B78C 800E45EC 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5B790 800E45F0 2401FFFF */ li $at, -1
/* B5B794 800E45F4 14410003 */ bne $v0, $at, .L800E4604
/* B5B798 800E45F8 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
/* B5B79C 800E45FC 1000004C */ b .L800E4730
/* B5B7A0 800E4600 00001025 */ move $v0, $zero
.L800E4604:
/* B5B7A4 800E4604 8FA4004C */ lw $a0, 0x4c($sp)
/* B5B7A8 800E4608 24090001 */ li $t1, 1
/* B5B7AC 800E460C 240B0014 */ li $t3, 20
/* B5B7B0 800E4610 00042602 */ srl $a0, $a0, 0x18
/* B5B7B4 800E4614 00047880 */ sll $t7, $a0, 2
/* B5B7B8 800E4618 01E47821 */ addu $t7, $t7, $a0
/* B5B7BC 800E461C 000F7880 */ sll $t7, $t7, 2
/* B5B7C0 800E4620 00EF1021 */ addu $v0, $a3, $t7
/* B5B7C4 800E4624 8C580D78 */ lw $t8, 0xd78($v0)
/* B5B7C8 800E4628 24460D68 */ addiu $a2, $v0, 0xd68
/* B5B7CC 800E462C 00C01825 */ move $v1, $a2
/* B5B7D0 800E4630 17000014 */ bnez $t8, .L800E4684
/* B5B7D4 800E4634 AFA4004C */ sw $a0, 0x4c($sp)
/* B5B7D8 800E4638 8CC20004 */ lw $v0, 4($a2)
/* B5B7DC 800E463C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B7E0 800E4640 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B7E4 800E4644 8C440000 */ lw $a0, ($v0)
/* B5B7E8 800E4648 8C590004 */ lw $t9, 4($v0)
/* B5B7EC 800E464C 8CD80000 */ lw $t8, ($a2)
/* B5B7F0 800E4650 00816024 */ and $t4, $a0, $at
/* B5B7F4 800E4654 00047100 */ sll $t6, $a0, 4
/* B5B7F8 800E4658 000E7F82 */ srl $t7, $t6, 0x1e
/* B5B7FC 800E465C 032C6821 */ addu $t5, $t9, $t4
/* B5B800 800E4660 01AF2821 */ addu $a1, $t5, $t7
/* B5B804 800E4664 54B80007 */ bnel $a1, $t8, .L800E4684
/* B5B808 800E4668 AC690010 */ sw $t1, 0x10($v1)
/* B5B80C 800E466C 904C0000 */ lbu $t4, ($v0)
/* B5B810 800E4670 8CD90008 */ lw $t9, 8($a2)
/* B5B814 800E4674 318EFFF3 */ andi $t6, $t4, 0xfff3
/* B5B818 800E4678 A04E0000 */ sb $t6, ($v0)
/* B5B81C 800E467C AC590004 */ sw $t9, 4($v0)
/* B5B820 800E4680 AC690010 */ sw $t1, 0x10($v1)
.L800E4684:
/* B5B824 800E4684 24090001 */ li $t1, 1
.L800E4688:
/* B5B828 800E4688 8CE2176C */ lw $v0, 0x176c($a3)
/* B5B82C 800E468C 18400027 */ blez $v0, .L800E472C
/* B5B830 800E4690 2458FFFF */ addiu $t8, $v0, -1
/* B5B834 800E4694 004B0019 */ multu $v0, $t3
/* B5B838 800E4698 00006812 */ mflo $t5
/* B5B83C 800E469C 00ED1821 */ addu $v1, $a3, $t5
/* B5B840 800E46A0 8C6F0D64 */ lw $t7, 0xd64($v1)
/* B5B844 800E46A4 24630D54 */ addiu $v1, $v1, 0xd54
/* B5B848 800E46A8 552F0004 */ bnel $t1, $t7, .L800E46BC
/* B5B84C 800E46AC 8C620004 */ lw $v0, 4($v1)
/* B5B850 800E46B0 1000FFF5 */ b .L800E4688
/* B5B854 800E46B4 ACF8176C */ sw $t8, 0x176c($a3)
/* B5B858 800E46B8 8C620004 */ lw $v0, 4($v1)
.L800E46BC:
/* B5B85C 800E46BC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5B860 800E46C0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5B864 800E46C4 8C440000 */ lw $a0, ($v0)
/* B5B868 800E46C8 8C500004 */ lw $s0, 4($v0)
/* B5B86C 800E46CC 8C6C0000 */ lw $t4, ($v1)
/* B5B870 800E46D0 00813024 */ and $a2, $a0, $at
/* B5B874 800E46D4 00044100 */ sll $t0, $a0, 4
/* B5B878 800E46D8 00084782 */ srl $t0, $t0, 0x1e
/* B5B87C 800E46DC 0206C821 */ addu $t9, $s0, $a2
/* B5B880 800E46E0 00065302 */ srl $t2, $a2, 0xc
/* B5B884 800E46E4 03282821 */ addu $a1, $t9, $t0
/* B5B888 800E46E8 10AC0006 */ beq $a1, $t4, .L800E4704
/* B5B88C 800E46EC 254A0001 */ addiu $t2, $t2, 1
/* B5B890 800E46F0 AC690010 */ sw $t1, 0x10($v1)
/* B5B894 800E46F4 8CEE176C */ lw $t6, 0x176c($a3)
/* B5B898 800E46F8 25CDFFFF */ addiu $t5, $t6, -1
/* B5B89C 800E46FC 1000FFE2 */ b .L800E4688
/* B5B8A0 800E4700 ACED176C */ sw $t5, 0x176c($a3)
.L800E4704:
/* B5B8A4 800E4704 8C650008 */ lw $a1, 8($v1)
/* B5B8A8 800E4708 3C0F8017 */ lui $t7, %hi(D_80170FF8) # $t7, 0x8017
/* B5B8AC 800E470C 25EF0FF8 */ addiu $t7, %lo(D_80170FF8) # addiu $t7, $t7, 0xff8
/* B5B8B0 800E4710 AFAF0014 */ sw $t7, 0x14($sp)
/* B5B8B4 800E4714 AFAA0010 */ sw $t2, 0x10($sp)
/* B5B8B8 800E4718 8C78000C */ lw $t8, 0xc($v1)
/* B5B8BC 800E471C 02002025 */ move $a0, $s0
/* B5B8C0 800E4720 01003825 */ move $a3, $t0
/* B5B8C4 800E4724 0C038EB2 */ jal func_800E3AC8
/* B5B8C8 800E4728 AFB80018 */ sw $t8, 0x18($sp)
.L800E472C:
/* B5B8CC 800E472C 24020001 */ li $v0, 1
.L800E4730:
/* B5B8D0 800E4730 8FBF002C */ lw $ra, 0x2c($sp)
/* B5B8D4 800E4734 8FB00028 */ lw $s0, 0x28($sp)
/* B5B8D8 800E4738 27BD0058 */ addiu $sp, $sp, 0x58
/* B5B8DC 800E473C 03E00008 */ jr $ra
/* B5B8E0 800E4740 00000000 */ nop
glabel func_800E4744
/* B5B8E4 800E4744 18A0000A */ blez $a1, .L800E4770
/* B5B8E8 800E4748 00001025 */ move $v0, $zero
/* B5B8EC 800E474C 8C830004 */ lw $v1, 4($a0)
/* B5B8F0 800E4750 00C03825 */ move $a3, $a2
.L800E4754:
/* B5B8F4 800E4754 8CEE0000 */ lw $t6, ($a3)
/* B5B8F8 800E4758 8DCF0004 */ lw $t7, 4($t6)
/* B5B8FC 800E475C 106F0004 */ beq $v1, $t7, .L800E4770
/* B5B900 800E4760 00000000 */ nop
/* B5B904 800E4764 24420001 */ addiu $v0, $v0, 1
/* B5B908 800E4768 1445FFFA */ bne $v0, $a1, .L800E4754
/* B5B90C 800E476C 24E70004 */ addiu $a3, $a3, 4
.L800E4770:
/* B5B910 800E4770 14450004 */ bne $v0, $a1, .L800E4784
/* B5B914 800E4774 0005C080 */ sll $t8, $a1, 2
/* B5B918 800E4778 00D8C821 */ addu $t9, $a2, $t8
/* B5B91C 800E477C AF240000 */ sw $a0, ($t9)
/* B5B920 800E4780 24A50001 */ addiu $a1, $a1, 1
.L800E4784:
/* B5B924 800E4784 03E00008 */ jr $ra
/* B5B928 800E4788 00A01025 */ move $v0, $a1
glabel func_800E478C
/* B5B92C 800E478C 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B5B930 800E4790 3C0E8017 */ lui $t6, %hi(D_801719C4) # $t6, 0x8017
/* B5B934 800E4794 8DCE19C4 */ lw $t6, %lo(D_801719C4)($t6)
/* B5B938 800E4798 00047880 */ sll $t7, $a0, 2
/* B5B93C 800E479C 01E47821 */ addu $t7, $t7, $a0
/* B5B940 800E47A0 000F7880 */ sll $t7, $t7, 2
/* B5B944 800E47A4 AFBF0034 */ sw $ra, 0x34($sp)
/* B5B948 800E47A8 AFB60030 */ sw $s6, 0x30($sp)
/* B5B94C 800E47AC AFB5002C */ sw $s5, 0x2c($sp)
/* B5B950 800E47B0 AFB40028 */ sw $s4, 0x28($sp)
/* B5B954 800E47B4 AFB30024 */ sw $s3, 0x24($sp)
/* B5B958 800E47B8 AFB20020 */ sw $s2, 0x20($sp)
/* B5B95C 800E47BC AFB1001C */ sw $s1, 0x1c($sp)
/* B5B960 800E47C0 AFB00018 */ sw $s0, 0x18($sp)
/* B5B964 800E47C4 01CF1021 */ addu $v0, $t6, $t7
/* B5B968 800E47C8 90500001 */ lbu $s0, 1($v0)
/* B5B96C 800E47CC 00A09825 */ move $s3, $a1
/* B5B970 800E47D0 0080A025 */ move $s4, $a0
/* B5B974 800E47D4 00008825 */ move $s1, $zero
/* B5B978 800E47D8 90560000 */ lbu $s6, ($v0)
/* B5B97C 800E47DC 1A00000E */ blez $s0, .L800E4818
/* B5B980 800E47E0 00009025 */ move $s2, $zero
/* B5B984 800E47E4 02802025 */ move $a0, $s4
.L800E47E8:
/* B5B988 800E47E8 0C039D5B */ jal func_800E756C
/* B5B98C 800E47EC 02402825 */ move $a1, $s2
/* B5B990 800E47F0 10400005 */ beqz $v0, .L800E4808
/* B5B994 800E47F4 02202825 */ move $a1, $s1
/* B5B998 800E47F8 8C440004 */ lw $a0, 4($v0)
/* B5B99C 800E47FC 0C0391D1 */ jal func_800E4744
/* B5B9A0 800E4800 02603025 */ move $a2, $s3
/* B5B9A4 800E4804 00408825 */ move $s1, $v0
.L800E4808:
/* B5B9A8 800E4808 26520001 */ addiu $s2, $s2, 1
/* B5B9AC 800E480C 5650FFF6 */ bnel $s2, $s0, .L800E47E8
/* B5B9B0 800E4810 02802025 */ move $a0, $s4
/* B5B9B4 800E4814 00009025 */ move $s2, $zero
.L800E4818:
/* B5B9B8 800E4818 1AC0001E */ blez $s6, .L800E4894
/* B5B9BC 800E481C 2415007F */ li $s5, 127
/* B5B9C0 800E4820 02802025 */ move $a0, $s4
.L800E4824:
/* B5B9C4 800E4824 0C039D26 */ jal func_800E7498
/* B5B9C8 800E4828 02402825 */ move $a1, $s2
/* B5B9CC 800E482C 10400016 */ beqz $v0, .L800E4888
/* B5B9D0 800E4830 00408025 */ move $s0, $v0
/* B5B9D4 800E4834 90580001 */ lbu $t8, 1($v0)
/* B5B9D8 800E4838 02202825 */ move $a1, $s1
/* B5B9DC 800E483C 02603025 */ move $a2, $s3
/* B5B9E0 800E4840 53000005 */ beql $t8, $zero, .L800E4858
/* B5B9E4 800E4844 92190002 */ lbu $t9, 2($s0)
/* B5B9E8 800E4848 0C0391D1 */ jal func_800E4744
/* B5B9EC 800E484C 8C440008 */ lw $a0, 8($v0)
/* B5B9F0 800E4850 00408825 */ move $s1, $v0
/* B5B9F4 800E4854 92190002 */ lbu $t9, 2($s0)
.L800E4858:
/* B5B9F8 800E4858 02202825 */ move $a1, $s1
/* B5B9FC 800E485C 02603025 */ move $a2, $s3
/* B5BA00 800E4860 52B90005 */ beql $s5, $t9, .L800E4878
/* B5BA04 800E4864 8E040010 */ lw $a0, 0x10($s0)
/* B5BA08 800E4868 0C0391D1 */ jal func_800E4744
/* B5BA0C 800E486C 8E040018 */ lw $a0, 0x18($s0)
/* B5BA10 800E4870 00408825 */ move $s1, $v0
/* B5BA14 800E4874 8E040010 */ lw $a0, 0x10($s0)
.L800E4878:
/* B5BA18 800E4878 02202825 */ move $a1, $s1
/* B5BA1C 800E487C 0C0391D1 */ jal func_800E4744
/* B5BA20 800E4880 02603025 */ move $a2, $s3
/* B5BA24 800E4884 00408825 */ move $s1, $v0
.L800E4888:
/* B5BA28 800E4888 26520001 */ addiu $s2, $s2, 1
/* B5BA2C 800E488C 5656FFE5 */ bnel $s2, $s6, .L800E4824
/* B5BA30 800E4890 02802025 */ move $a0, $s4
.L800E4894:
/* B5BA34 800E4894 8FBF0034 */ lw $ra, 0x34($sp)
/* B5BA38 800E4898 02201025 */ move $v0, $s1
/* B5BA3C 800E489C 8FB1001C */ lw $s1, 0x1c($sp)
/* B5BA40 800E48A0 8FB00018 */ lw $s0, 0x18($sp)
/* B5BA44 800E48A4 8FB20020 */ lw $s2, 0x20($sp)
/* B5BA48 800E48A8 8FB30024 */ lw $s3, 0x24($sp)
/* B5BA4C 800E48AC 8FB40028 */ lw $s4, 0x28($sp)
/* B5BA50 800E48B0 8FB5002C */ lw $s5, 0x2c($sp)
/* B5BA54 800E48B4 8FB60030 */ lw $s6, 0x30($sp)
/* B5BA58 800E48B8 03E00008 */ jr $ra
/* B5BA5C 800E48BC 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800E48C0
/* B5BA60 800E48C0 8C820000 */ lw $v0, ($a0)
/* B5BA64 800E48C4 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5BA68 800E48C8 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5BA6C 800E48CC 8C430000 */ lw $v1, ($v0)
/* B5BA70 800E48D0 00617024 */ and $t6, $v1, $at
/* B5BA74 800E48D4 11C0000E */ beqz $t6, .L800E4910
/* B5BA78 800E48D8 0003C180 */ sll $t8, $v1, 6
/* B5BA7C 800E48DC 0701000C */ bgez $t8, .L800E4910
/* B5BA80 800E48E0 0003C900 */ sll $t9, $v1, 4
/* B5BA84 800E48E4 00194782 */ srl $t0, $t9, 0x1e
/* B5BA88 800E48E8 11000009 */ beqz $t0, .L800E4910
/* B5BA8C 800E48EC 3C038017 */ lui $v1, %hi(D_8016F180) # $v1, 0x8017
/* B5BA90 800E48F0 2463F180 */ addiu $v1, %lo(D_8016F180) # addiu $v1, $v1, -0xe80
/* B5BA94 800E48F4 8C691768 */ lw $t1, 0x1768($v1)
/* B5BA98 800E48F8 00095080 */ sll $t2, $t1, 2
/* B5BA9C 800E48FC 006A5821 */ addu $t3, $v1, $t2
/* B5BAA0 800E4900 AD620B68 */ sw $v0, 0xb68($t3)
/* B5BAA4 800E4904 8C6C1768 */ lw $t4, 0x1768($v1)
/* B5BAA8 800E4908 258D0001 */ addiu $t5, $t4, 1
/* B5BAAC 800E490C AC6D1768 */ sw $t5, 0x1768($v1)
.L800E4910:
/* B5BAB0 800E4910 03E00008 */ jr $ra
/* B5BAB4 800E4914 00000000 */ nop
glabel func_800E4918
/* B5BAB8 800E4918 27BDFF88 */ addiu $sp, $sp, -0x78
/* B5BABC 800E491C AFB40034 */ sw $s4, 0x34($sp)
/* B5BAC0 800E4920 3C148017 */ lui $s4, %hi(D_8016F180) # $s4, 0x8017
/* B5BAC4 800E4924 2694F180 */ addiu $s4, %lo(D_8016F180) # addiu $s4, $s4, -0xe80
/* B5BAC8 800E4928 8E8E176C */ lw $t6, 0x176c($s4)
/* B5BACC 800E492C AFB50038 */ sw $s5, 0x38($sp)
/* B5BAD0 800E4930 AFB30030 */ sw $s3, 0x30($sp)
/* B5BAD4 800E4934 AFB10028 */ sw $s1, 0x28($sp)
/* B5BAD8 800E4938 00808825 */ move $s1, $a0
/* B5BADC 800E493C 00C09825 */ move $s3, $a2
/* B5BAE0 800E4940 00A0A825 */ move $s5, $a1
/* B5BAE4 800E4944 AFBF003C */ sw $ra, 0x3c($sp)
/* B5BAE8 800E4948 AFB2002C */ sw $s2, 0x2c($sp)
/* B5BAEC 800E494C AFB00024 */ sw $s0, 0x24($sp)
/* B5BAF0 800E4950 11C00003 */ beqz $t6, .L800E4960
/* B5BAF4 800E4954 AFA00044 */ sw $zero, 0x44($sp)
/* B5BAF8 800E4958 240F0001 */ li $t7, 1
/* B5BAFC 800E495C AFAF0044 */ sw $t7, 0x44($sp)
.L800E4960:
/* B5BB00 800E4960 8E982844 */ lw $t8, 0x2844($s4)
/* B5BB04 800E4964 0011C880 */ sll $t9, $s1, 2
/* B5BB08 800E4968 0331C821 */ addu $t9, $t9, $s1
/* B5BB0C 800E496C 0019C880 */ sll $t9, $t9, 2
/* B5BB10 800E4970 AE801768 */ sw $zero, 0x1768($s4)
/* B5BB14 800E4974 03191021 */ addu $v0, $t8, $t9
/* B5BB18 800E4978 904A0001 */ lbu $t2, 1($v0)
/* B5BB1C 800E497C 00009025 */ move $s2, $zero
/* B5BB20 800E4980 AFAA0074 */ sw $t2, 0x74($sp)
/* B5BB24 800E4984 90430000 */ lbu $v1, ($v0)
/* B5BB28 800E4988 944B0004 */ lhu $t3, 4($v0)
/* B5BB2C 800E498C 18600019 */ blez $v1, .L800E49F4
/* B5BB30 800E4990 AFAB006C */ sw $t3, 0x6c($sp)
/* B5BB34 800E4994 AFA30070 */ sw $v1, 0x70($sp)
/* B5BB38 800E4998 02202025 */ move $a0, $s1
.L800E499C:
/* B5BB3C 800E499C 0C039D26 */ jal func_800E7498
/* B5BB40 800E49A0 02402825 */ move $a1, $s2
/* B5BB44 800E49A4 1040000E */ beqz $v0, .L800E49E0
/* B5BB48 800E49A8 00408025 */ move $s0, $v0
/* B5BB4C 800E49AC 904C0001 */ lbu $t4, 1($v0)
/* B5BB50 800E49B0 51800004 */ beql $t4, $zero, .L800E49C4
/* B5BB54 800E49B4 920D0002 */ lbu $t5, 2($s0)
/* B5BB58 800E49B8 0C039230 */ jal func_800E48C0
/* B5BB5C 800E49BC 24440008 */ addiu $a0, $v0, 8
/* B5BB60 800E49C0 920D0002 */ lbu $t5, 2($s0)
.L800E49C4:
/* B5BB64 800E49C4 2401007F */ li $at, 127
/* B5BB68 800E49C8 11A10003 */ beq $t5, $at, .L800E49D8
/* B5BB6C 800E49CC 00000000 */ nop
/* B5BB70 800E49D0 0C039230 */ jal func_800E48C0
/* B5BB74 800E49D4 26040018 */ addiu $a0, $s0, 0x18
.L800E49D8:
/* B5BB78 800E49D8 0C039230 */ jal func_800E48C0
/* B5BB7C 800E49DC 26040010 */ addiu $a0, $s0, 0x10
.L800E49E0:
/* B5BB80 800E49E0 8FAE0070 */ lw $t6, 0x70($sp)
/* B5BB84 800E49E4 26520001 */ addiu $s2, $s2, 1
/* B5BB88 800E49E8 564EFFEC */ bnel $s2, $t6, .L800E499C
/* B5BB8C 800E49EC 02202025 */ move $a0, $s1
/* B5BB90 800E49F0 00009025 */ move $s2, $zero
.L800E49F4:
/* B5BB94 800E49F4 8FAF0074 */ lw $t7, 0x74($sp)
/* B5BB98 800E49F8 19E0000C */ blez $t7, .L800E4A2C
/* B5BB9C 800E49FC 02202025 */ move $a0, $s1
.L800E4A00:
/* B5BBA0 800E4A00 0C039D5B */ jal func_800E756C
/* B5BBA4 800E4A04 02402825 */ move $a1, $s2
/* B5BBA8 800E4A08 50400004 */ beql $v0, $zero, .L800E4A1C
/* B5BBAC 800E4A0C 8FB80074 */ lw $t8, 0x74($sp)
/* B5BBB0 800E4A10 0C039230 */ jal func_800E48C0
/* B5BBB4 800E4A14 24440004 */ addiu $a0, $v0, 4
/* B5BBB8 800E4A18 8FB80074 */ lw $t8, 0x74($sp)
.L800E4A1C:
/* B5BBBC 800E4A1C 26520001 */ addiu $s2, $s2, 1
/* B5BBC0 800E4A20 5658FFF7 */ bnel $s2, $t8, .L800E4A00
/* B5BBC4 800E4A24 02202025 */ move $a0, $s1
/* B5BBC8 800E4A28 00009025 */ move $s2, $zero
.L800E4A2C:
/* B5BBCC 800E4A2C 8FB9006C */ lw $t9, 0x6c($sp)
/* B5BBD0 800E4A30 1B20000B */ blez $t9, .L800E4A60
/* B5BBD4 800E4A34 02202025 */ move $a0, $s1
.L800E4A38:
/* B5BBD8 800E4A38 0C039D94 */ jal func_800E7650
/* B5BBDC 800E4A3C 02402825 */ move $a1, $s2
/* B5BBE0 800E4A40 10400003 */ beqz $v0, .L800E4A50
/* B5BBE4 800E4A44 00402025 */ move $a0, $v0
/* B5BBE8 800E4A48 0C039230 */ jal func_800E48C0
/* B5BBEC 800E4A4C 00000000 */ nop
.L800E4A50:
/* B5BBF0 800E4A50 8FAA006C */ lw $t2, 0x6c($sp)
/* B5BBF4 800E4A54 26520001 */ addiu $s2, $s2, 1
/* B5BBF8 800E4A58 564AFFF7 */ bnel $s2, $t2, .L800E4A38
/* B5BBFC 800E4A5C 02202025 */ move $a0, $s1
.L800E4A60:
/* B5BC00 800E4A60 8E851768 */ lw $a1, 0x1768($s4)
/* B5BC04 800E4A64 00001825 */ move $v1, $zero
/* B5BC08 800E4A68 00009025 */ move $s2, $zero
/* B5BC0C 800E4A6C 50A000C1 */ beql $a1, $zero, .L800E4D74
/* B5BC10 800E4A70 8FBF003C */ lw $ra, 0x3c($sp)
/* B5BC14 800E4A74 18A00012 */ blez $a1, .L800E4AC0
/* B5BC18 800E4A78 8E88176C */ lw $t0, 0x176c($s4)
/* B5BC1C 800E4A7C 3C0B8017 */ lui $t3, %hi(D_8016F180)
/* B5BC20 800E4A80 2562F180 */ addiu $v0, $t3, %lo(D_8016F180)
/* B5BC24 800E4A84 00056080 */ sll $t4, $a1, 2
/* B5BC28 800E4A88 01823021 */ addu $a2, $t4, $v0
/* B5BC2C 800E4A8C 2404FFF0 */ li $a0, -16
.L800E4A90:
/* B5BC30 800E4A90 8C4D0B68 */ lw $t5, 0xb68($v0)
/* B5BC34 800E4A94 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5BC38 800E4A98 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5BC3C 800E4A9C 8DAE0000 */ lw $t6, ($t5)
/* B5BC40 800E4AA0 24420004 */ addiu $v0, $v0, 4
/* B5BC44 800E4AA4 01C17824 */ and $t7, $t6, $at
/* B5BC48 800E4AA8 25F8000F */ addiu $t8, $t7, 0xf
/* B5BC4C 800E4AAC 0046082B */ sltu $at, $v0, $a2
/* B5BC50 800E4AB0 0304C824 */ and $t9, $t8, $a0
/* B5BC54 800E4AB4 1420FFF6 */ bnez $at, .L800E4A90
/* B5BC58 800E4AB8 00791821 */ addu $v1, $v1, $t9
/* B5BC5C 800E4ABC 00009025 */ move $s2, $zero
.L800E4AC0:
/* B5BC60 800E4AC0 18A00090 */ blez $a1, .L800E4D04
/* B5BC64 800E4AC4 8FB10054 */ lw $s1, 0x54($sp)
/* B5BC68 800E4AC8 24010078 */ li $at, 120
.L800E4ACC:
/* B5BC6C 800E4ACC 1101008D */ beq $t0, $at, .L800E4D04
/* B5BC70 800E4AD0 00125080 */ sll $t2, $s2, 2
/* B5BC74 800E4AD4 028A6021 */ addu $t4, $s4, $t2
/* B5BC78 800E4AD8 8D900B68 */ lw $s0, 0xb68($t4)
/* B5BC7C 800E4ADC 8E030000 */ lw $v1, ($s0)
/* B5BC80 800E4AE0 00031100 */ sll $v0, $v1, 4
/* B5BC84 800E4AE4 00021782 */ srl $v0, $v0, 0x1e
/* B5BC88 800E4AE8 50400082 */ beql $v0, $zero, .L800E4CF4
/* B5BC8C 800E4AEC 26520001 */ addiu $s2, $s2, 1
/* B5BC90 800E4AF0 12A00005 */ beqz $s5, .L800E4B08
/* B5BC94 800E4AF4 24010001 */ li $at, 1
/* B5BC98 800E4AF8 52A10020 */ beql $s5, $at, .L800E4B7C
/* B5BC9C 800E4AFC 8E780010 */ lw $t8, 0x10($s3)
/* B5BCA0 800E4B00 10000036 */ b .L800E4BDC
/* B5BCA4 800E4B04 00000000 */ nop
.L800E4B08:
/* B5BCA8 800E4B08 8E6B0010 */ lw $t3, 0x10($s3)
/* B5BCAC 800E4B0C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5BCB0 800E4B10 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5BCB4 800E4B14 1562000A */ bne $t3, $v0, .L800E4B40
/* B5BCB8 800E4B18 00612024 */ and $a0, $v1, $at
/* B5BCBC 800E4B1C 8E650000 */ lw $a1, ($s3)
/* B5BCC0 800E4B20 8E060004 */ lw $a2, 4($s0)
/* B5BCC4 800E4B24 00023E00 */ sll $a3, $v0, 0x18
/* B5BCC8 800E4B28 240D0001 */ li $t5, 1
/* B5BCCC 800E4B2C AFAD0010 */ sw $t5, 0x10($sp)
/* B5BCD0 800E4B30 0C038171 */ jal func_800E05C4
/* B5BCD4 800E4B34 00073E03 */ sra $a3, $a3, 0x18
/* B5BCD8 800E4B38 10000028 */ b .L800E4BDC
/* B5BCDC 800E4B3C 00408825 */ move $s1, $v0
.L800E4B40:
/* B5BCE0 800E4B40 8E6E0014 */ lw $t6, 0x14($s3)
/* B5BCE4 800E4B44 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5BCE8 800E4B48 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5BCEC 800E4B4C 15C20023 */ bne $t6, $v0, .L800E4BDC
/* B5BCF0 800E4B50 00612024 */ and $a0, $v1, $at
/* B5BCF4 800E4B54 8E650004 */ lw $a1, 4($s3)
/* B5BCF8 800E4B58 8E060004 */ lw $a2, 4($s0)
/* B5BCFC 800E4B5C 00023E00 */ sll $a3, $v0, 0x18
/* B5BD00 800E4B60 240F0001 */ li $t7, 1
/* B5BD04 800E4B64 AFAF0010 */ sw $t7, 0x10($sp)
/* B5BD08 800E4B68 0C038171 */ jal func_800E05C4
/* B5BD0C 800E4B6C 00073E03 */ sra $a3, $a3, 0x18
/* B5BD10 800E4B70 1000001A */ b .L800E4BDC
/* B5BD14 800E4B74 00408825 */ move $s1, $v0
/* B5BD18 800E4B78 8E780010 */ lw $t8, 0x10($s3)
.L800E4B7C:
/* B5BD1C 800E4B7C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5BD20 800E4B80 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5BD24 800E4B84 17020009 */ bne $t8, $v0, .L800E4BAC
/* B5BD28 800E4B88 00612024 */ and $a0, $v1, $at
/* B5BD2C 800E4B8C 8E650000 */ lw $a1, ($s3)
/* B5BD30 800E4B90 8E060004 */ lw $a2, 4($s0)
/* B5BD34 800E4B94 00023E00 */ sll $a3, $v0, 0x18
/* B5BD38 800E4B98 00073E03 */ sra $a3, $a3, 0x18
/* B5BD3C 800E4B9C 0C038171 */ jal func_800E05C4
/* B5BD40 800E4BA0 AFA00010 */ sw $zero, 0x10($sp)
/* B5BD44 800E4BA4 1000000D */ b .L800E4BDC
/* B5BD48 800E4BA8 00408825 */ move $s1, $v0
.L800E4BAC:
/* B5BD4C 800E4BAC 8E790014 */ lw $t9, 0x14($s3)
/* B5BD50 800E4BB0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5BD54 800E4BB4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5BD58 800E4BB8 17220008 */ bne $t9, $v0, .L800E4BDC
/* B5BD5C 800E4BBC 00612024 */ and $a0, $v1, $at
/* B5BD60 800E4BC0 8E650004 */ lw $a1, 4($s3)
/* B5BD64 800E4BC4 8E060004 */ lw $a2, 4($s0)
/* B5BD68 800E4BC8 00023E00 */ sll $a3, $v0, 0x18
/* B5BD6C 800E4BCC 00073E03 */ sra $a3, $a3, 0x18
/* B5BD70 800E4BD0 0C038171 */ jal func_800E05C4
/* B5BD74 800E4BD4 AFA00010 */ sw $zero, 0x10($sp)
/* B5BD78 800E4BD8 00408825 */ move $s1, $v0
.L800E4BDC:
/* B5BD7C 800E4BDC 16200004 */ bnez $s1, .L800E4BF0
/* B5BD80 800E4BE0 00000000 */ nop
/* B5BD84 800E4BE4 8E88176C */ lw $t0, 0x176c($s4)
/* B5BD88 800E4BE8 10000041 */ b .L800E4CF0
/* B5BD8C 800E4BEC 8E851768 */ lw $a1, 0x1768($s4)
.L800E4BF0:
/* B5BD90 800E4BF0 12A00005 */ beqz $s5, .L800E4C08
/* B5BD94 800E4BF4 24010001 */ li $at, 1
/* B5BD98 800E4BF8 12A10023 */ beq $s5, $at, .L800E4C88
/* B5BD9C 800E4BFC 8E88176C */ lw $t0, 0x176c($s4)
/* B5BDA0 800E4C00 1000003B */ b .L800E4CF0
/* B5BDA4 800E4C04 8E851768 */ lw $a1, 0x1768($s4)
.L800E4C08:
/* B5BDA8 800E4C08 8E030000 */ lw $v1, ($s0)
/* B5BDAC 800E4C0C 24010001 */ li $at, 1
/* B5BDB0 800E4C10 02202825 */ move $a1, $s1
/* B5BDB4 800E4C14 00031100 */ sll $v0, $v1, 4
/* B5BDB8 800E4C18 00021782 */ srl $v0, $v0, 0x1e
/* B5BDBC 800E4C1C 1441000E */ bne $v0, $at, .L800E4C58
/* B5BDC0 800E4C20 00403825 */ move $a3, $v0
/* B5BDC4 800E4C24 8E8A2838 */ lw $t2, 0x2838($s4)
/* B5BDC8 800E4C28 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5BDCC 800E4C2C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5BDD0 800E4C30 00613024 */ and $a2, $v1, $at
/* B5BDD4 800E4C34 8E040004 */ lw $a0, 4($s0)
/* B5BDD8 800E4C38 02202825 */ move $a1, $s1
/* B5BDDC 800E4C3C 0C038AF3 */ jal func_800E2BCC
/* B5BDE0 800E4C40 85470002 */ lh $a3, 2($t2)
/* B5BDE4 800E4C44 920C0000 */ lbu $t4, ($s0)
/* B5BDE8 800E4C48 AE110004 */ sw $s1, 4($s0)
/* B5BDEC 800E4C4C 318BFFF3 */ andi $t3, $t4, 0xfff3
/* B5BDF0 800E4C50 1000000A */ b .L800E4C7C
/* B5BDF4 800E4C54 A20B0000 */ sb $t3, ($s0)
.L800E4C58:
/* B5BDF8 800E4C58 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5BDFC 800E4C5C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5BE00 800E4C60 00613024 */ and $a2, $v1, $at
/* B5BE04 800E4C64 0C038AAA */ jal func_800E2AA8
/* B5BE08 800E4C68 8E040004 */ lw $a0, 4($s0)
/* B5BE0C 800E4C6C 920D0000 */ lbu $t5, ($s0)
/* B5BE10 800E4C70 AE110004 */ sw $s1, 4($s0)
/* B5BE14 800E4C74 31AEFFF3 */ andi $t6, $t5, 0xfff3
/* B5BE18 800E4C78 A20E0000 */ sb $t6, ($s0)
.L800E4C7C:
/* B5BE1C 800E4C7C 8E88176C */ lw $t0, 0x176c($s4)
/* B5BE20 800E4C80 1000001B */ b .L800E4CF0
/* B5BE24 800E4C84 8E851768 */ lw $a1, 0x1768($s4)
.L800E4C88:
/* B5BE28 800E4C88 00087880 */ sll $t7, $t0, 2
/* B5BE2C 800E4C8C 01E87821 */ addu $t7, $t7, $t0
/* B5BE30 800E4C90 000F7880 */ sll $t7, $t7, 2
/* B5BE34 800E4C94 028F1021 */ addu $v0, $s4, $t7
/* B5BE38 800E4C98 AC500D6C */ sw $s0, 0xd6c($v0)
/* B5BE3C 800E4C9C AC510D70 */ sw $s1, 0xd70($v0)
/* B5BE40 800E4CA0 8E98176C */ lw $t8, 0x176c($s4)
/* B5BE44 800E4CA4 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5BE48 800E4CA8 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5BE4C 800E4CAC 0018CE00 */ sll $t9, $t8, 0x18
/* B5BE50 800E4CB0 03215025 */ or $t2, $t9, $at
/* B5BE54 800E4CB4 AC4A0D74 */ sw $t2, 0xd74($v0)
/* B5BE58 800E4CB8 AC400D78 */ sw $zero, 0xd78($v0)
/* B5BE5C 800E4CBC 8E030000 */ lw $v1, ($s0)
/* B5BE60 800E4CC0 8E0C0004 */ lw $t4, 4($s0)
/* B5BE64 800E4CC4 24420D68 */ addiu $v0, $v0, 0xd68
/* B5BE68 800E4CC8 00615824 */ and $t3, $v1, $at
/* B5BE6C 800E4CCC 00037100 */ sll $t6, $v1, 4
/* B5BE70 800E4CD0 000E7F82 */ srl $t7, $t6, 0x1e
/* B5BE74 800E4CD4 018B6821 */ addu $t5, $t4, $t3
/* B5BE78 800E4CD8 01AFC021 */ addu $t8, $t5, $t7
/* B5BE7C 800E4CDC AC580000 */ sw $t8, ($v0)
/* B5BE80 800E4CE0 8E99176C */ lw $t9, 0x176c($s4)
/* B5BE84 800E4CE4 8E851768 */ lw $a1, 0x1768($s4)
/* B5BE88 800E4CE8 27280001 */ addiu $t0, $t9, 1
/* B5BE8C 800E4CEC AE88176C */ sw $t0, 0x176c($s4)
.L800E4CF0:
/* B5BE90 800E4CF0 26520001 */ addiu $s2, $s2, 1
.L800E4CF4:
/* B5BE94 800E4CF4 0245082A */ slt $at, $s2, $a1
/* B5BE98 800E4CF8 5420FF74 */ bnezl $at, .L800E4ACC
/* B5BE9C 800E4CFC 24010078 */ li $at, 120
/* B5BEA0 800E4D00 AFB10054 */ sw $s1, 0x54($sp)
.L800E4D04:
/* B5BEA4 800E4D04 1100001A */ beqz $t0, .L800E4D70
/* B5BEA8 800E4D08 AE801768 */ sw $zero, 0x1768($s4)
/* B5BEAC 800E4D0C 8FAC0044 */ lw $t4, 0x44($sp)
/* B5BEB0 800E4D10 00085880 */ sll $t3, $t0, 2
/* B5BEB4 800E4D14 01685821 */ addu $t3, $t3, $t0
/* B5BEB8 800E4D18 15800015 */ bnez $t4, .L800E4D70
/* B5BEBC 800E4D1C 000B5880 */ sll $t3, $t3, 2
/* B5BEC0 800E4D20 028B1021 */ addu $v0, $s4, $t3
/* B5BEC4 800E4D24 8C500D58 */ lw $s0, 0xd58($v0)
/* B5BEC8 800E4D28 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5BECC 800E4D2C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5BED0 800E4D30 8E030000 */ lw $v1, ($s0)
/* B5BED4 800E4D34 8C450D5C */ lw $a1, 0xd5c($v0)
/* B5BED8 800E4D38 3C0E8017 */ lui $t6, %hi(D_80170FF8) # $t6, 0x8017
/* B5BEDC 800E4D3C 00613024 */ and $a2, $v1, $at
/* B5BEE0 800E4D40 00064B02 */ srl $t1, $a2, 0xc
/* B5BEE4 800E4D44 8E040004 */ lw $a0, 4($s0)
/* B5BEE8 800E4D48 25290001 */ addiu $t1, $t1, 1
/* B5BEEC 800E4D4C 25CE0FF8 */ addiu $t6, %lo(D_80170FF8) # addiu $t6, $t6, 0xff8
/* B5BEF0 800E4D50 AFAE0014 */ sw $t6, 0x14($sp)
/* B5BEF4 800E4D54 AFA90010 */ sw $t1, 0x10($sp)
/* B5BEF8 800E4D58 8C4D0D60 */ lw $t5, 0xd60($v0)
/* B5BEFC 800E4D5C 00033900 */ sll $a3, $v1, 4
/* B5BF00 800E4D60 24420D54 */ addiu $v0, $v0, 0xd54
/* B5BF04 800E4D64 00073F82 */ srl $a3, $a3, 0x1e
/* B5BF08 800E4D68 0C038EB2 */ jal func_800E3AC8
/* B5BF0C 800E4D6C AFAD0018 */ sw $t5, 0x18($sp)
.L800E4D70:
/* B5BF10 800E4D70 8FBF003C */ lw $ra, 0x3c($sp)
.L800E4D74:
/* B5BF14 800E4D74 8FB00024 */ lw $s0, 0x24($sp)
/* B5BF18 800E4D78 8FB10028 */ lw $s1, 0x28($sp)
/* B5BF1C 800E4D7C 8FB2002C */ lw $s2, 0x2c($sp)
/* B5BF20 800E4D80 8FB30030 */ lw $s3, 0x30($sp)
/* B5BF24 800E4D84 8FB40034 */ lw $s4, 0x34($sp)
/* B5BF28 800E4D88 8FB50038 */ lw $s5, 0x38($sp)
/* B5BF2C 800E4D8C 03E00008 */ jr $ra
/* B5BF30 800E4D90 27BD0078 */ addiu $sp, $sp, 0x78
glabel func_800E4D94
/* B5BF34 800E4D94 27BDFF88 */ addiu $sp, $sp, -0x78
/* B5BF38 800E4D98 AFBF003C */ sw $ra, 0x3c($sp)
/* B5BF3C 800E4D9C AFBE0038 */ sw $fp, 0x38($sp)
/* B5BF40 800E4DA0 AFB70034 */ sw $s7, 0x34($sp)
/* B5BF44 800E4DA4 AFB60030 */ sw $s6, 0x30($sp)
/* B5BF48 800E4DA8 AFB5002C */ sw $s5, 0x2c($sp)
/* B5BF4C 800E4DAC AFB40028 */ sw $s4, 0x28($sp)
/* B5BF50 800E4DB0 AFB30024 */ sw $s3, 0x24($sp)
/* B5BF54 800E4DB4 AFB20020 */ sw $s2, 0x20($sp)
/* B5BF58 800E4DB8 AFB1001C */ sw $s1, 0x1c($sp)
/* B5BF5C 800E4DBC AFB00018 */ sw $s0, 0x18($sp)
/* B5BF60 800E4DC0 0C0389FE */ jal func_800E27F8
/* B5BF64 800E4DC4 24040002 */ li $a0, 2
/* B5BF68 800E4DC8 3C158017 */ lui $s5, %hi(D_8016F180) # $s5, 0x8017
/* B5BF6C 800E4DCC 26B5F180 */ addiu $s5, %lo(D_8016F180) # addiu $s5, $s5, -0xe80
/* B5BF70 800E4DD0 8EA32D5C */ lw $v1, 0x2d5c($s5)
/* B5BF74 800E4DD4 00409825 */ move $s3, $v0
/* B5BF78 800E4DD8 00008825 */ move $s1, $zero
/* B5BF7C 800E4DDC 18600031 */ blez $v1, .L800E4EA4
/* B5BF80 800E4DE0 3C108017 */ lui $s0, %hi(D_8016F180) # $s0, 0x8017
/* B5BF84 800E4DE4 2610F180 */ addiu $s0, %lo(D_8016F180) # addiu $s0, $s0, -0xe80
/* B5BF88 800E4DE8 27BE004C */ addiu $fp, $sp, 0x4c
/* B5BF8C 800E4DEC 24170014 */ li $s7, 20
/* B5BF90 800E4DF0 24160001 */ li $s6, 1
/* B5BF94 800E4DF4 241400FF */ li $s4, 255
.L800E4DF8:
/* B5BF98 800E4DF8 860E2D68 */ lh $t6, 0x2d68($s0)
/* B5BF9C 800E4DFC 02C02025 */ move $a0, $s6
/* B5BFA0 800E4E00 56CE0025 */ bnel $s6, $t6, .L800E4E98
/* B5BFA4 800E4E04 26310001 */ addiu $s1, $s1, 1
/* B5BFA8 800E4E08 0C0389DA */ jal func_800E2768
/* B5BFAC 800E4E0C 86052D6A */ lh $a1, 0x2d6a($s0)
/* B5BFB0 800E4E10 00570019 */ multu $v0, $s7
/* B5BFB4 800E4E14 8EAF2844 */ lw $t7, 0x2844($s5)
/* B5BFB8 800E4E18 00409025 */ move $s2, $v0
/* B5BFBC 800E4E1C 24040002 */ li $a0, 2
/* B5BFC0 800E4E20 0000C012 */ mflo $t8
/* B5BFC4 800E4E24 01F81821 */ addu $v1, $t7, $t8
/* B5BFC8 800E4E28 90790002 */ lbu $t9, 2($v1)
/* B5BFCC 800E4E2C AFB9004C */ sw $t9, 0x4c($sp)
/* B5BFD0 800E4E30 90680003 */ lbu $t0, 3($v1)
/* B5BFD4 800E4E34 13340008 */ beq $t9, $s4, .L800E4E58
/* B5BFD8 800E4E38 AFA80050 */ sw $t0, 0x50($sp)
/* B5BFDC 800E4E3C 0C0389DA */ jal func_800E2768
/* B5BFE0 800E4E40 03202825 */ move $a1, $t9
/* B5BFE4 800E4E44 00025100 */ sll $t2, $v0, 4
/* B5BFE8 800E4E48 AFA2004C */ sw $v0, 0x4c($sp)
/* B5BFEC 800E4E4C 026A5821 */ addu $t3, $s3, $t2
/* B5BFF0 800E4E50 816C0018 */ lb $t4, 0x18($t3)
/* B5BFF4 800E4E54 AFAC005C */ sw $t4, 0x5c($sp)
.L800E4E58:
/* B5BFF8 800E4E58 8FA50050 */ lw $a1, 0x50($sp)
/* B5BFFC 800E4E5C 50B40009 */ beql $a1, $s4, .L800E4E84
/* B5C000 800E4E60 02402025 */ move $a0, $s2
/* B5C004 800E4E64 0C0389DA */ jal func_800E2768
/* B5C008 800E4E68 24040002 */ li $a0, 2
/* B5C00C 800E4E6C 00026900 */ sll $t5, $v0, 4
/* B5C010 800E4E70 AFA20050 */ sw $v0, 0x50($sp)
/* B5C014 800E4E74 026D7021 */ addu $t6, $s3, $t5
/* B5C018 800E4E78 81CF0018 */ lb $t7, 0x18($t6)
/* B5C01C 800E4E7C AFAF0060 */ sw $t7, 0x60($sp)
/* B5C020 800E4E80 02402025 */ move $a0, $s2
.L800E4E84:
/* B5C024 800E4E84 00002825 */ move $a1, $zero
/* B5C028 800E4E88 0C039246 */ jal func_800E4918
/* B5C02C 800E4E8C 03C03025 */ move $a2, $fp
/* B5C030 800E4E90 8EA32D5C */ lw $v1, 0x2d5c($s5)
/* B5C034 800E4E94 26310001 */ addiu $s1, $s1, 1
.L800E4E98:
/* B5C038 800E4E98 0223082A */ slt $at, $s1, $v1
/* B5C03C 800E4E9C 1420FFD6 */ bnez $at, .L800E4DF8
/* B5C040 800E4EA0 2610000C */ addiu $s0, $s0, 0xc
.L800E4EA4:
/* B5C044 800E4EA4 8FBF003C */ lw $ra, 0x3c($sp)
/* B5C048 800E4EA8 8FB00018 */ lw $s0, 0x18($sp)
/* B5C04C 800E4EAC 8FB1001C */ lw $s1, 0x1c($sp)
/* B5C050 800E4EB0 8FB20020 */ lw $s2, 0x20($sp)
/* B5C054 800E4EB4 8FB30024 */ lw $s3, 0x24($sp)
/* B5C058 800E4EB8 8FB40028 */ lw $s4, 0x28($sp)
/* B5C05C 800E4EBC 8FB5002C */ lw $s5, 0x2c($sp)
/* B5C060 800E4EC0 8FB60030 */ lw $s6, 0x30($sp)
/* B5C064 800E4EC4 8FB70034 */ lw $s7, 0x34($sp)
/* B5C068 800E4EC8 8FBE0038 */ lw $fp, 0x38($sp)
/* B5C06C 800E4ECC 03E00008 */ jr $ra
/* B5C070 800E4ED0 27BD0078 */ addiu $sp, $sp, 0x78
glabel func_800E4ED4
/* B5C074 800E4ED4 03E00008 */ jr $ra
/* B5C078 800E4ED8 00000000 */ nop
glabel func_800E4EDC
/* B5C07C 800E4EDC 03E00008 */ jr $ra
/* B5C080 800E4EE0 00000000 */ nop
glabel func_800E4EE4
/* B5C084 800E4EE4 03E00008 */ jr $ra
/* B5C088 800E4EE8 00000000 */ nop
glabel func_800E4EEC
/* B5C08C 800E4EEC 3C078013 */ lui $a3, %hi(D_801304DC) # $a3, 0x8013
/* B5C090 800E4EF0 8CE704DC */ lw $a3, %lo(D_801304DC)($a3)
/* B5C094 800E4EF4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B5C098 800E4EF8 3C018017 */ lui $at, %hi(D_8016B738)
/* B5C09C 800E4EFC 00077880 */ sll $t7, $a3, 2
/* B5C0A0 800E4F00 002F0821 */ addu $at, $at, $t7
/* B5C0A4 800E4F04 3C188017 */ lui $t8, %hi(D_8016B6E0) # $t8, 0x8017
/* B5C0A8 800E4F08 AFBF001C */ sw $ra, 0x1c($sp)
/* B5C0AC 800E4F0C AFA60028 */ sw $a2, 0x28($sp)
/* B5C0B0 800E4F10 AC26B738 */ sw $a2, %lo(D_8016B738)($at)
/* B5C0B4 800E4F14 2718B6E0 */ addiu $t8, %lo(D_8016B6E0) # addiu $t8, $t8, -0x4920
/* B5C0B8 800E4F18 AFB80010 */ sw $t8, 0x10($sp)
/* B5C0BC 800E4F1C 0C03878D */ jal func_800E1E34
/* B5C0C0 800E4F20 00003025 */ move $a2, $zero
/* B5C0C4 800E4F24 3C078013 */ lui $a3, %hi(D_801304DC) # $a3, 0x8013
/* B5C0C8 800E4F28 8CE704DC */ lw $a3, %lo(D_801304DC)($a3)
/* B5C0CC 800E4F2C 3C018013 */ lui $at, %hi(D_801304DC) # $at, 0x8013
/* B5C0D0 800E4F30 24E70001 */ addiu $a3, $a3, 1
/* B5C0D4 800E4F34 AC2704DC */ sw $a3, %lo(D_801304DC)($at)
/* B5C0D8 800E4F38 24010010 */ li $at, 16
/* B5C0DC 800E4F3C 14E10002 */ bne $a3, $at, .L800E4F48
/* B5C0E0 800E4F40 3C018013 */ lui $at, %hi(D_801304DC) # $at, 0x8013
/* B5C0E4 800E4F44 AC2004DC */ sw $zero, %lo(D_801304DC)($at)
.L800E4F48:
/* B5C0E8 800E4F48 8FBF001C */ lw $ra, 0x1c($sp)
/* B5C0EC 800E4F4C 27BD0020 */ addiu $sp, $sp, 0x20
/* B5C0F0 800E4F50 03E00008 */ jr $ra
/* B5C0F4 800E4F54 00000000 */ nop
glabel func_800E4F58
/* B5C0F8 800E4F58 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B5C0FC 800E4F5C AFBF0014 */ sw $ra, 0x14($sp)
/* B5C100 800E4F60 3C048017 */ lui $a0, %hi(D_8016B6E0) # $a0, 0x8017
/* B5C104 800E4F64 2484B6E0 */ addiu $a0, %lo(D_8016B6E0) # addiu $a0, $a0, -0x4920
/* B5C108 800E4F68 27A50020 */ addiu $a1, $sp, 0x20
/* B5C10C 800E4F6C 0C000CA0 */ jal osRecvMesg
/* B5C110 800E4F70 00003025 */ move $a2, $zero
/* B5C114 800E4F74 2401FFFF */ li $at, -1
/* B5C118 800E4F78 10410009 */ beq $v0, $at, .L800E4FA0
/* B5C11C 800E4F7C 8FAE0020 */ lw $t6, 0x20($sp)
/* B5C120 800E4F80 000E7E02 */ srl $t7, $t6, 0x18
/* B5C124 800E4F84 000FC080 */ sll $t8, $t7, 2
/* B5C128 800E4F88 3C028017 */ lui $v0, %hi(D_8016B738)
/* B5C12C 800E4F8C 00581021 */ addu $v0, $v0, $t8
/* B5C130 800E4F90 8C42B738 */ lw $v0, %lo(D_8016B738)($v0)
/* B5C134 800E4F94 50400003 */ beql $v0, $zero, .L800E4FA4
/* B5C138 800E4F98 8FBF0014 */ lw $ra, 0x14($sp)
/* B5C13C 800E4F9C A0400000 */ sb $zero, ($v0)
.L800E4FA0:
/* B5C140 800E4FA0 8FBF0014 */ lw $ra, 0x14($sp)
.L800E4FA4:
/* B5C144 800E4FA4 27BD0028 */ addiu $sp, $sp, 0x28
/* B5C148 800E4FA8 03E00008 */ jr $ra
/* B5C14C 800E4FAC 00000000 */ nop
glabel func_800E4FB0
/* B5C150 800E4FB0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5C154 800E4FB4 AFBF0014 */ sw $ra, 0x14($sp)
/* B5C158 800E4FB8 3C048017 */ lui $a0, %hi(D_8016B6E0) # $a0, 0x8017
/* B5C15C 800E4FBC 3C058017 */ lui $a1, %hi(D_8016B6F8) # $a1, 0x8017
/* B5C160 800E4FC0 24A5B6F8 */ addiu $a1, %lo(D_8016B6F8) # addiu $a1, $a1, -0x4908
/* B5C164 800E4FC4 2484B6E0 */ addiu $a0, %lo(D_8016B6E0) # addiu $a0, $a0, -0x4920
/* B5C168 800E4FC8 0C001874 */ jal osCreateMesgQueue
/* B5C16C 800E4FCC 24060010 */ li $a2, 16
/* B5C170 800E4FD0 8FBF0014 */ lw $ra, 0x14($sp)
/* B5C174 800E4FD4 27BD0018 */ addiu $sp, $sp, 0x18
/* B5C178 800E4FD8 03E00008 */ jr $ra
/* B5C17C 800E4FDC 00000000 */ nop
glabel func_800E4FE0
/* B5C180 800E4FE0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5C184 800E4FE4 AFBF0014 */ sw $ra, 0x14($sp)
/* B5C188 800E4FE8 0C039400 */ jal func_800E5000
/* B5C18C 800E4FEC 00000000 */ nop
/* B5C190 800E4FF0 8FBF0014 */ lw $ra, 0x14($sp)
/* B5C194 800E4FF4 27BD0018 */ addiu $sp, $sp, 0x18
/* B5C198 800E4FF8 03E00008 */ jr $ra
/* B5C19C 800E4FFC 00000000 */ nop
glabel func_800E5000
/* B5C1A0 800E5000 27BDFF90 */ addiu $sp, $sp, -0x70
/* B5C1A4 800E5004 AFB20020 */ sw $s2, 0x20($sp)
/* B5C1A8 800E5008 3C128017 */ lui $s2, %hi(D_8016F180) # $s2, 0x8017
/* B5C1AC 800E500C 2652F180 */ addiu $s2, %lo(D_8016F180) # addiu $s2, $s2, -0xe80
/* B5C1B0 800E5010 8E4E289C */ lw $t6, 0x289c($s2)
/* B5C1B4 800E5014 86432848 */ lh $v1, 0x2848($s2)
/* B5C1B8 800E5018 AFBF0024 */ sw $ra, 0x24($sp)
/* B5C1BC 800E501C 25CF0001 */ addiu $t7, $t6, 1
/* B5C1C0 800E5020 01E3001A */ div $zero, $t7, $v1
/* B5C1C4 800E5024 01E03825 */ move $a3, $t7
/* B5C1C8 800E5028 00002010 */ mfhi $a0
/* B5C1CC 800E502C AFB1001C */ sw $s1, 0x1c($sp)
/* B5C1D0 800E5030 AFB00018 */ sw $s0, 0x18($sp)
/* B5C1D4 800E5034 AE4F289C */ sw $t7, 0x289c($s2)
/* B5C1D8 800E5038 14600002 */ bnez $v1, .L800E5044
/* B5C1DC 800E503C 00000000 */ nop
/* B5C1E0 800E5040 0007000D */ break 7
.L800E5044:
/* B5C1E4 800E5044 2401FFFF */ li $at, -1
/* B5C1E8 800E5048 14610004 */ bne $v1, $at, .L800E505C
/* B5C1EC 800E504C 3C018000 */ lui $at, 0x8000
/* B5C1F0 800E5050 14E10002 */ bne $a3, $at, .L800E505C
/* B5C1F4 800E5054 00000000 */ nop
/* B5C1F8 800E5058 0006000D */ break 6
.L800E505C:
/* B5C1FC 800E505C 00E02825 */ move $a1, $a3
/* B5C200 800E5060 1080001D */ beqz $a0, .L800E50D8
/* B5C204 800E5064 00003025 */ move $a2, $zero
/* B5C208 800E5068 3C028017 */ lui $v0, %hi(D_801755D0) # $v0, 0x8017
/* B5C20C 800E506C 8C4255D0 */ lw $v0, %lo(D_801755D0)($v0)
/* B5C210 800E5070 50400013 */ beql $v0, $zero, .L800E50C0
/* B5C214 800E5074 24990001 */ addiu $t9, $a0, 1
/* B5C218 800E5078 0040F809 */ jalr $v0
/* B5C21C 800E507C 00000000 */ nop
/* B5C220 800E5080 3C038017 */ lui $v1, %hi(D_801719C8) # $v1, 0x8017
/* B5C224 800E5084 3C188017 */ lui $t8, %hi(D_80171A1C) # $t8, 0x8017
/* B5C228 800E5088 8F181A1C */ lw $t8, %lo(D_80171A1C)($t8)
/* B5C22C 800E508C 846319C8 */ lh $v1, %lo(D_801719C8)($v1)
/* B5C230 800E5090 0303001A */ div $zero, $t8, $v1
/* B5C234 800E5094 00002010 */ mfhi $a0
/* B5C238 800E5098 14600002 */ bnez $v1, .L800E50A4
/* B5C23C 800E509C 00000000 */ nop
/* B5C240 800E50A0 0007000D */ break 7
.L800E50A4:
/* B5C244 800E50A4 2401FFFF */ li $at, -1
/* B5C248 800E50A8 14610004 */ bne $v1, $at, .L800E50BC
/* B5C24C 800E50AC 3C018000 */ lui $at, 0x8000
/* B5C250 800E50B0 17010002 */ bne $t8, $at, .L800E50BC
/* B5C254 800E50B4 00000000 */ nop
/* B5C258 800E50B8 0006000D */ break 6
.L800E50BC:
/* B5C25C 800E50BC 24990001 */ addiu $t9, $a0, 1
.L800E50C0:
/* B5C260 800E50C0 14790003 */ bne $v1, $t9, .L800E50D0
/* B5C264 800E50C4 3C028013 */ lui $v0, %hi(D_801304E4) # $v0, 0x8013
/* B5C268 800E50C8 10000128 */ b .L800E556C
/* B5C26C 800E50CC 8C4204E4 */ lw $v0, %lo(D_801304E4)($v0)
.L800E50D0:
/* B5C270 800E50D0 10000126 */ b .L800E556C
/* B5C274 800E50D4 00001025 */ move $v0, $zero
.L800E50D8:
/* B5C278 800E50D8 0C000C18 */ jal osSendMesg
/* B5C27C 800E50DC 8E445BE8 */ lw $a0, 0x5be8($s2)
/* B5C280 800E50E0 24030003 */ li $v1, 3
/* B5C284 800E50E4 8E4B28A8 */ lw $t3, 0x28a8($s2)
/* B5C288 800E50E8 8E4928A4 */ lw $t1, 0x28a4($s2)
/* B5C28C 800E50EC 256C0001 */ addiu $t4, $t3, 1
/* B5C290 800E50F0 0183001A */ div $zero, $t4, $v1
/* B5C294 800E50F4 00007010 */ mfhi $t6
/* B5C298 800E50F8 25D80001 */ addiu $t8, $t6, 1
/* B5C29C 800E50FC 01806825 */ move $t5, $t4
/* B5C2A0 800E5100 0303001A */ div $zero, $t8, $v1
/* B5C2A4 800E5104 AE4C28A8 */ sw $t4, 0x28a8($s2)
/* B5C2A8 800E5108 00008010 */ mfhi $s0
/* B5C2AC 800E510C 392A0001 */ xori $t2, $t1, 1
/* B5C2B0 800E5110 AE4A28A4 */ sw $t2, 0x28a4($s2)
/* B5C2B4 800E5114 14600002 */ bnez $v1, .L800E5120
/* B5C2B8 800E5118 00000000 */ nop
/* B5C2BC 800E511C 0007000D */ break 7
.L800E5120:
/* B5C2C0 800E5120 2401FFFF */ li $at, -1
/* B5C2C4 800E5124 14610004 */ bne $v1, $at, .L800E5138
/* B5C2C8 800E5128 3C018000 */ lui $at, 0x8000
/* B5C2CC 800E512C 15A10002 */ bne $t5, $at, .L800E5138
/* B5C2D0 800E5130 00000000 */ nop
/* B5C2D4 800E5134 0006000D */ break 6
.L800E5138:
/* B5C2D8 800E5138 AE4E28A8 */ sw $t6, 0x28a8($s2)
/* B5C2DC 800E513C 01C07825 */ move $t7, $t6
/* B5C2E0 800E5140 14600002 */ bnez $v1, .L800E514C
/* B5C2E4 800E5144 00000000 */ nop
/* B5C2E8 800E5148 0007000D */ break 7
.L800E514C:
/* B5C2EC 800E514C 2401FFFF */ li $at, -1
/* B5C2F0 800E5150 14610004 */ bne $v1, $at, .L800E5164
/* B5C2F4 800E5154 3C018000 */ lui $at, 0x8000
/* B5C2F8 800E5158 17010002 */ bne $t8, $at, .L800E5164
/* B5C2FC 800E515C 00000000 */ nop
/* B5C300 800E5160 0006000D */ break 6
.L800E5164:
/* B5C304 800E5164 0C041700 */ jal osAiGetLength
/* B5C308 800E5168 00000000 */ nop
/* B5C30C 800E516C 8E492984 */ lw $t1, 0x2984($s2)
/* B5C310 800E5170 0002C882 */ srl $t9, $v0, 2
/* B5C314 800E5174 AFB9006C */ sw $t9, 0x6c($sp)
/* B5C318 800E5178 2D210010 */ sltiu $at, $t1, 0x10
/* B5C31C 800E517C 1020000B */ beqz $at, .L800E51AC
/* B5C320 800E5180 00105040 */ sll $t2, $s0, 1
/* B5C324 800E5184 024A3021 */ addu $a2, $s2, $t2
/* B5C328 800E5188 84C22974 */ lh $v0, 0x2974($a2)
/* B5C32C 800E518C 00105880 */ sll $t3, $s0, 2
/* B5C330 800E5190 024B1821 */ addu $v1, $s2, $t3
/* B5C334 800E5194 10400005 */ beqz $v0, .L800E51AC
/* B5C338 800E5198 00022880 */ sll $a1, $v0, 2
/* B5C33C 800E519C 8C642968 */ lw $a0, 0x2968($v1)
/* B5C340 800E51A0 AFA30034 */ sw $v1, 0x34($sp)
/* B5C344 800E51A4 0C039A30 */ jal func_800E68C0
/* B5C348 800E51A8 AFA6003C */ sw $a2, 0x3c($sp)
.L800E51AC:
/* B5C34C 800E51AC 3C028017 */ lui $v0, %hi(D_801755D0) # $v0, 0x8017
/* B5C350 800E51B0 8C4255D0 */ lw $v0, %lo(D_801755D0)($v0)
/* B5C354 800E51B4 50400004 */ beql $v0, $zero, .L800E51C8
/* B5C358 800E51B8 8E4328A0 */ lw $v1, 0x28a0($s2)
/* B5C35C 800E51BC 0040F809 */ jalr $v0
/* B5C360 800E51C0 00000000 */ nop
/* B5C364 800E51C4 8E4328A0 */ lw $v1, 0x28a0($s2)
.L800E51C8:
/* B5C368 800E51C8 3C118017 */ lui $s1, %hi(D_80171050) # $s1, 0x8017
/* B5C36C 800E51CC 26311050 */ addiu $s1, %lo(D_80171050) # addiu $s1, $s1, 0x1050
/* B5C370 800E51D0 1860000E */ blez $v1, .L800E520C
/* B5C374 800E51D4 00008025 */ move $s0, $zero
/* B5C378 800E51D8 02202025 */ move $a0, $s1
.L800E51DC:
/* B5C37C 800E51DC 00002825 */ move $a1, $zero
/* B5C380 800E51E0 00003025 */ move $a2, $zero
/* B5C384 800E51E4 0C000CA0 */ jal osRecvMesg
/* B5C388 800E51E8 AFA3005C */ sw $v1, 0x5c($sp)
/* B5C38C 800E51EC 14400002 */ bnez $v0, .L800E51F8
/* B5C390 800E51F0 8FA3005C */ lw $v1, 0x5c($sp)
/* B5C394 800E51F4 2463FFFF */ addiu $v1, $v1, -1
.L800E51F8:
/* B5C398 800E51F8 8E4C28A0 */ lw $t4, 0x28a0($s2)
/* B5C39C 800E51FC 26100001 */ addiu $s0, $s0, 1
/* B5C3A0 800E5200 020C082A */ slt $at, $s0, $t4
/* B5C3A4 800E5204 5420FFF5 */ bnezl $at, .L800E51DC
/* B5C3A8 800E5208 02202025 */ move $a0, $s1
.L800E520C:
/* B5C3AC 800E520C 3C118017 */ lui $s1, %hi(D_80171050) # $s1, 0x8017
/* B5C3B0 800E5210 1060000C */ beqz $v1, .L800E5244
/* B5C3B4 800E5214 26311050 */ addiu $s1, %lo(D_80171050) # addiu $s1, $s1, 0x1050
/* B5C3B8 800E5218 1860000A */ blez $v1, .L800E5244
/* B5C3BC 800E521C 00008025 */ move $s0, $zero
/* B5C3C0 800E5220 02202025 */ move $a0, $s1
.L800E5224:
/* B5C3C4 800E5224 00002825 */ move $a1, $zero
/* B5C3C8 800E5228 24060001 */ li $a2, 1
/* B5C3CC 800E522C 0C000CA0 */ jal osRecvMesg
/* B5C3D0 800E5230 AFA3005C */ sw $v1, 0x5c($sp)
/* B5C3D4 800E5234 8FA3005C */ lw $v1, 0x5c($sp)
/* B5C3D8 800E5238 26100001 */ addiu $s0, $s0, 1
/* B5C3DC 800E523C 5603FFF9 */ bnel $s0, $v1, .L800E5224
/* B5C3E0 800E5240 02202025 */ move $a0, $s1
.L800E5244:
/* B5C3E4 800E5244 8E431ED8 */ lw $v1, 0x1ed8($s2)
/* B5C3E8 800E5248 1060000C */ beqz $v1, .L800E527C
/* B5C3EC 800E524C 00000000 */ nop
/* B5C3F0 800E5250 1860000A */ blez $v1, .L800E527C
/* B5C3F4 800E5254 00008025 */ move $s0, $zero
/* B5C3F8 800E5258 02202025 */ move $a0, $s1
.L800E525C:
/* B5C3FC 800E525C 00002825 */ move $a1, $zero
/* B5C400 800E5260 00003025 */ move $a2, $zero
/* B5C404 800E5264 0C000CA0 */ jal osRecvMesg
/* B5C408 800E5268 AFA30048 */ sw $v1, 0x48($sp)
/* B5C40C 800E526C 8FA30048 */ lw $v1, 0x48($sp)
/* B5C410 800E5270 26100001 */ addiu $s0, $s0, 1
/* B5C414 800E5274 5603FFF9 */ bnel $s0, $v1, .L800E525C
/* B5C418 800E5278 02202025 */ move $a0, $s1
.L800E527C:
/* B5C41C 800E527C 0C03847C */ jal func_800E11F0
/* B5C420 800E5280 AE4028A0 */ sw $zero, 0x28a0($s2)
/* B5C424 800E5284 0C038BFB */ jal func_800E2FEC
/* B5C428 800E5288 92443518 */ lbu $a0, 0x3518($s2)
/* B5C42C 800E528C 0C0393D6 */ jal func_800E4F58
/* B5C430 800E5290 00000000 */ nop
/* B5C434 800E5294 924D3518 */ lbu $t5, 0x3518($s2)
/* B5C438 800E5298 51A00011 */ beql $t5, $zero, .L800E52E0
/* B5C43C 800E529C 8E4F2984 */ lw $t7, 0x2984($s2)
/* B5C440 800E52A0 0C037E3D */ jal func_800DF8F4
/* B5C444 800E52A4 00000000 */ nop
/* B5C448 800E52A8 5440000D */ bnezl $v0, .L800E52E0
/* B5C44C 800E52AC 8E4F2984 */ lw $t7, 0x2984($s2)
/* B5C450 800E52B0 924E3518 */ lbu $t6, 0x3518($s2)
/* B5C454 800E52B4 00003025 */ move $a2, $zero
/* B5C458 800E52B8 15C00004 */ bnez $t6, .L800E52CC
/* B5C45C 800E52BC 00000000 */ nop
/* B5C460 800E52C0 8E445BE4 */ lw $a0, 0x5be4($s2)
/* B5C464 800E52C4 0C000C18 */ jal osSendMesg
/* B5C468 800E52C8 92453519 */ lbu $a1, 0x3519($s2)
.L800E52CC:
/* B5C46C 800E52CC 3C018013 */ lui $at, %hi(D_801304E4) # $at, 0x8013
/* B5C470 800E52D0 AC2004E4 */ sw $zero, %lo(D_801304E4)($at)
/* B5C474 800E52D4 100000A5 */ b .L800E556C
/* B5C478 800E52D8 00001025 */ move $v0, $zero
/* B5C47C 800E52DC 8E4F2984 */ lw $t7, 0x2984($s2)
.L800E52E0:
/* B5C480 800E52E0 2DE10011 */ sltiu $at, $t7, 0x11
/* B5C484 800E52E4 54200004 */ bnezl $at, .L800E52F8
/* B5C488 800E52E8 8E582984 */ lw $t8, 0x2984($s2)
/* B5C48C 800E52EC 1000009F */ b .L800E556C
/* B5C490 800E52F0 00001025 */ move $v0, $zero
/* B5C494 800E52F4 8E582984 */ lw $t8, 0x2984($s2)
.L800E52F8:
/* B5C498 800E52F8 27B1004C */ addiu $s1, $sp, 0x4c
/* B5C49C 800E52FC 02202825 */ move $a1, $s1
/* B5C4A0 800E5300 13000004 */ beqz $t8, .L800E5314
/* B5C4A4 800E5304 00003025 */ move $a2, $zero
/* B5C4A8 800E5308 8E422984 */ lw $v0, 0x2984($s2)
/* B5C4AC 800E530C 24590001 */ addiu $t9, $v0, 1
/* B5C4B0 800E5310 AE592984 */ sw $t9, 0x2984($s2)
.L800E5314:
/* B5C4B4 800E5314 8E4328A4 */ lw $v1, 0x28a4($s2)
/* B5C4B8 800E5318 8E5028A8 */ lw $s0, 0x28a8($s2)
/* B5C4BC 800E531C 00034880 */ sll $t1, $v1, 2
/* B5C4C0 800E5320 01234821 */ addu $t1, $t1, $v1
/* B5C4C4 800E5324 00094900 */ sll $t1, $t1, 4
/* B5C4C8 800E5328 02495021 */ addu $t2, $s2, $t1
/* B5C4CC 800E532C 254B28C0 */ addiu $t3, $t2, 0x28c0
/* B5C4D0 800E5330 00036080 */ sll $t4, $v1, 2
/* B5C4D4 800E5334 AE4B28B8 */ sw $t3, 0x28b8($s2)
/* B5C4D8 800E5338 024C6821 */ addu $t5, $s2, $t4
/* B5C4DC 800E533C 8DAE28AC */ lw $t6, 0x28ac($t5)
/* B5C4E0 800E5340 8FAC006C */ lw $t4, 0x6c($sp)
/* B5C4E4 800E5344 864B284E */ lh $t3, 0x284e($s2)
/* B5C4E8 800E5348 00107880 */ sll $t7, $s0, 2
/* B5C4EC 800E534C 024FC021 */ addu $t8, $s2, $t7
/* B5C4F0 800E5350 AE4E28B4 */ sw $t6, 0x28b4($s2)
/* B5C4F4 800E5354 016C6823 */ subu $t5, $t3, $t4
/* B5C4F8 800E5358 AFB80034 */ sw $t8, 0x34($sp)
/* B5C4FC 800E535C 25AE0080 */ addiu $t6, $t5, 0x80
/* B5C500 800E5360 8F092968 */ lw $t1, 0x2968($t8)
/* B5C504 800E5364 31CFFFF0 */ andi $t7, $t6, 0xfff0
/* B5C508 800E5368 00105040 */ sll $t2, $s0, 1
/* B5C50C 800E536C 024A4021 */ addu $t0, $s2, $t2
/* B5C510 800E5370 25F80010 */ addiu $t8, $t7, 0x10
/* B5C514 800E5374 A5182974 */ sh $t8, 0x2974($t0)
/* B5C518 800E5378 86442852 */ lh $a0, 0x2852($s2)
/* B5C51C 800E537C 85022974 */ lh $v0, 0x2974($t0)
/* B5C520 800E5380 AFA90058 */ sw $t1, 0x58($sp)
/* B5C524 800E5384 0044082A */ slt $at, $v0, $a0
/* B5C528 800E5388 50200004 */ beql $at, $zero, .L800E539C
/* B5C52C 800E538C 86432850 */ lh $v1, 0x2850($s2)
/* B5C530 800E5390 A5042974 */ sh $a0, 0x2974($t0)
/* B5C534 800E5394 85022974 */ lh $v0, 0x2974($t0)
/* B5C538 800E5398 86432850 */ lh $v1, 0x2850($s2)
.L800E539C:
/* B5C53C 800E539C 0062082A */ slt $at, $v1, $v0
/* B5C540 800E53A0 50200003 */ beql $at, $zero, .L800E53B0
/* B5C544 800E53A4 92593518 */ lbu $t9, 0x3518($s2)
/* B5C548 800E53A8 A5032974 */ sh $v1, 0x2974($t0)
/* B5C54C 800E53AC 92593518 */ lbu $t9, 0x3518($s2)
.L800E53B0:
/* B5C550 800E53B0 00008025 */ move $s0, $zero
/* B5C554 800E53B4 AFA8003C */ sw $t0, 0x3c($sp)
/* B5C558 800E53B8 57200019 */ bnezl $t9, .L800E5420
/* B5C55C 800E53BC 8FA8003C */ lw $t0, 0x3c($sp)
/* B5C560 800E53C0 8E445BEC */ lw $a0, 0x5bec($s2)
/* B5C564 800E53C4 0C000CA0 */ jal osRecvMesg
/* B5C568 800E53C8 AFA8003C */ sw $t0, 0x3c($sp)
/* B5C56C 800E53CC 2401FFFF */ li $at, -1
/* B5C570 800E53D0 1041000B */ beq $v0, $at, .L800E5400
/* B5C574 800E53D4 00000000 */ nop
.L800E53D8:
/* B5C578 800E53D8 0C03975B */ jal func_800E5D6C
/* B5C57C 800E53DC 8FA4004C */ lw $a0, 0x4c($sp)
/* B5C580 800E53E0 8E445BEC */ lw $a0, 0x5bec($s2)
/* B5C584 800E53E4 02202825 */ move $a1, $s1
/* B5C588 800E53E8 00003025 */ move $a2, $zero
/* B5C58C 800E53EC 0C000CA0 */ jal osRecvMesg
/* B5C590 800E53F0 26100001 */ addiu $s0, $s0, 1
/* B5C594 800E53F4 2401FFFF */ li $at, -1
/* B5C598 800E53F8 1441FFF7 */ bne $v0, $at, .L800E53D8
/* B5C59C 800E53FC 00000000 */ nop
.L800E5400:
/* B5C5A0 800E5400 56000007 */ bnezl $s0, .L800E5420
/* B5C5A4 800E5404 8FA8003C */ lw $t0, 0x3c($sp)
/* B5C5A8 800E5408 92495BDA */ lbu $t1, 0x5bda($s2)
/* B5C5AC 800E540C 51200004 */ beql $t1, $zero, .L800E5420
/* B5C5B0 800E5410 8FA8003C */ lw $t0, 0x3c($sp)
/* B5C5B4 800E5414 0C0396E0 */ jal func_800E5B80
/* B5C5B8 800E5418 00000000 */ nop
/* B5C5BC 800E541C 8FA8003C */ lw $t0, 0x3c($sp)
.L800E5420:
/* B5C5C0 800E5420 8E4428B4 */ lw $a0, 0x28b4($s2)
/* B5C5C4 800E5424 27A50068 */ addiu $a1, $sp, 0x68
/* B5C5C8 800E5428 8FA60058 */ lw $a2, 0x58($sp)
/* B5C5CC 800E542C 0C036C31 */ jal func_800DB0C4
/* B5C5D0 800E5430 85072974 */ lh $a3, 0x2974($t0)
/* B5C5D4 800E5434 0C001BA8 */ jal osGetCount
/* B5C5D8 800E5438 AE4228B4 */ sw $v0, 0x28b4($s2)
/* B5C5DC 800E543C 8E47289C */ lw $a3, 0x289c($s2)
/* B5C5E0 800E5440 8E4A297C */ lw $t2, 0x297c($s2)
/* B5C5E4 800E5444 8FAD0034 */ lw $t5, 0x34($sp)
/* B5C5E8 800E5448 30EF00FF */ andi $t7, $a3, 0xff
/* B5C5EC 800E544C 01475821 */ addu $t3, $t2, $a3
/* B5C5F0 800E5450 004B0019 */ multu $v0, $t3
/* B5C5F4 800E5454 000FC040 */ sll $t8, $t7, 1
/* B5C5F8 800E5458 3C0F800E */ lui $t7, %hi(func_800E4FE0) # $t7, 0x800e
/* B5C5FC 800E545C 25EF4FE0 */ addiu $t7, %lo(func_800E4FE0) # addiu $t7, $t7, 0x4fe0
/* B5C600 800E5460 3C018013 */ lui $at, %hi(D_8012F0B0) # $at, 0x8013
/* B5C604 800E5464 3C068015 */ lui $a2, %hi(D_80155C70) # $a2, 0x8015
/* B5C608 800E5468 3C0A8015 */ lui $t2, %hi(D_80155F50) # $t2, 0x8015
/* B5C60C 800E546C 24C65C70 */ addiu $a2, %lo(D_80155C70) # addiu $a2, $a2, 0x5c70
/* B5C610 800E5470 254A5F50 */ addiu $t2, %lo(D_80155F50) # addiu $t2, $t2, 0x5f50
/* B5C614 800E5474 3C048011 */ lui $a0, %hi(D_801120C0) # $a0, 0x8011
/* B5C618 800E5478 00006012 */ mflo $t4
/* B5C61C 800E547C AE4C297C */ sw $t4, 0x297c($s2)
/* B5C620 800E5480 8DAE2968 */ lw $t6, 0x2968($t5)
/* B5C624 800E5484 248420C0 */ addiu $a0, %lo(D_801120C0) # addiu $a0, $a0, 0x20c0
/* B5C628 800E5488 24051000 */ li $a1, 4096
/* B5C62C 800E548C 01D8C821 */ addu $t9, $t6, $t8
/* B5C630 800E5490 87290000 */ lh $t1, ($t9)
/* B5C634 800E5494 012C5821 */ addu $t3, $t1, $t4
/* B5C638 800E5498 316DFFF0 */ andi $t5, $t3, 0xfff0
/* B5C63C 800E549C AE4B297C */ sw $t3, 0x297c($s2)
/* B5C640 800E54A0 01AF7021 */ addu $t6, $t5, $t7
/* B5C644 800E54A4 AC2EF0B0 */ sw $t6, %lo(D_8012F0B0)($at)
/* B5C648 800E54A8 8E5828B8 */ lw $t8, 0x28b8($s2)
/* B5C64C 800E54AC 8E5028A4 */ lw $s0, 0x28a4($s2)
/* B5C650 800E54B0 01465823 */ subu $t3, $t2, $a2
/* B5C654 800E54B4 AF000040 */ sw $zero, 0x40($t8)
/* B5C658 800E54B8 8E5928B8 */ lw $t9, 0x28b8($s2)
/* B5C65C 800E54BC 000B60C3 */ sra $t4, $t3, 3
/* B5C660 800E54C0 000C68C0 */ sll $t5, $t4, 3
/* B5C664 800E54C4 AF200044 */ sw $zero, 0x44($t9)
/* B5C668 800E54C8 8E4328B8 */ lw $v1, 0x28b8($s2)
/* B5C66C 800E54CC 24090002 */ li $t1, 2
/* B5C670 800E54D0 25AFFFFF */ addiu $t7, $t5, -1
/* B5C674 800E54D4 00107080 */ sll $t6, $s0, 2
/* B5C678 800E54D8 024EC021 */ addu $t8, $s2, $t6
/* B5C67C 800E54DC AC690000 */ sw $t1, ($v1)
/* B5C680 800E54E0 AC600004 */ sw $zero, 4($v1)
/* B5C684 800E54E4 AC640008 */ sw $a0, 8($v1)
/* B5C688 800E54E8 AC65000C */ sw $a1, 0xc($v1)
/* B5C68C 800E54EC AC6F001C */ sw $t7, 0x1c($v1)
/* B5C690 800E54F0 AC640010 */ sw $a0, 0x10($v1)
/* B5C694 800E54F4 AC660018 */ sw $a2, 0x18($v1)
/* B5C698 800E54F8 AC650014 */ sw $a1, 0x14($v1)
/* B5C69C 800E54FC AC600020 */ sw $zero, 0x20($v1)
/* B5C6A0 800E5500 AC600024 */ sw $zero, 0x24($v1)
/* B5C6A4 800E5504 AC600028 */ sw $zero, 0x28($v1)
/* B5C6A8 800E5508 AC60002C */ sw $zero, 0x2c($v1)
/* B5C6AC 800E550C 8F1928AC */ lw $t9, 0x28ac($t8)
/* B5C6B0 800E5510 3C0B8013 */ lui $t3, %hi(D_801304E0) # $t3, 0x8013
/* B5C6B4 800E5514 AC790030 */ sw $t9, 0x30($v1)
/* B5C6B8 800E5518 8FA90068 */ lw $t1, 0x68($sp)
/* B5C6BC 800E551C AC600038 */ sw $zero, 0x38($v1)
/* B5C6C0 800E5520 AC60003C */ sw $zero, 0x3c($v1)
/* B5C6C4 800E5524 000950C0 */ sll $t2, $t1, 3
/* B5C6C8 800E5528 AC6A0034 */ sw $t2, 0x34($v1)
/* B5C6CC 800E552C 8FAC0068 */ lw $t4, 0x68($sp)
/* B5C6D0 800E5530 8D6B04E0 */ lw $t3, %lo(D_801304E0)($t3)
/* B5C6D4 800E5534 016C082A */ slt $at, $t3, $t4
/* B5C6D8 800E5538 10200002 */ beqz $at, .L800E5544
/* B5C6DC 800E553C 3C018013 */ lui $at, %hi(D_801304E0) # $at, 0x8013
/* B5C6E0 800E5540 AC2C04E0 */ sw $t4, %lo(D_801304E0)($at)
.L800E5544:
/* B5C6E4 800E5544 864D2848 */ lh $t5, 0x2848($s2)
/* B5C6E8 800E5548 24010001 */ li $at, 1
/* B5C6EC 800E554C 55A10004 */ bnel $t5, $at, .L800E5560
/* B5C6F0 800E5550 8E4F28B8 */ lw $t7, 0x28b8($s2)
/* B5C6F4 800E5554 10000005 */ b .L800E556C
/* B5C6F8 800E5558 8E4228B8 */ lw $v0, 0x28b8($s2)
/* B5C6FC 800E555C 8E4F28B8 */ lw $t7, 0x28b8($s2)
.L800E5560:
/* B5C700 800E5560 3C018013 */ lui $at, %hi(D_801304E4) # $at, 0x8013
/* B5C704 800E5564 00001025 */ move $v0, $zero
/* B5C708 800E5568 AC2F04E4 */ sw $t7, %lo(D_801304E4)($at)
.L800E556C:
/* B5C70C 800E556C 8FBF0024 */ lw $ra, 0x24($sp)
/* B5C710 800E5570 8FB00018 */ lw $s0, 0x18($sp)
/* B5C714 800E5574 8FB1001C */ lw $s1, 0x1c($sp)
/* B5C718 800E5578 8FB20020 */ lw $s2, 0x20($sp)
/* B5C71C 800E557C 03E00008 */ jr $ra
/* B5C720 800E5580 27BD0070 */ addiu $sp, $sp, 0x70
glabel func_800E5584
/* B5C724 800E5584 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B5C728 800E5588 AFBF001C */ sw $ra, 0x1c($sp)
/* B5C72C 800E558C AFB00018 */ sw $s0, 0x18($sp)
/* B5C730 800E5590 90830000 */ lbu $v1, ($a0)
/* B5C734 800E5594 00808025 */ move $s0, $a0
/* B5C738 800E5598 28610091 */ slti $at, $v1, 0x91
/* B5C73C 800E559C 1420000A */ bnez $at, .L800E55C8
/* B5C740 800E55A0 00601025 */ move $v0, $v1
/* B5C744 800E55A4 244EFF20 */ addiu $t6, $v0, -0xe0
/* B5C748 800E55A8 2DC1001F */ sltiu $at, $t6, 0x1f
/* B5C74C 800E55AC 102000E5 */ beqz $at, .L800E5944
/* B5C750 800E55B0 000E7080 */ sll $t6, $t6, 2
/* B5C754 800E55B4 3C018015 */ lui $at, %hi(jtbl_80149490)
/* B5C758 800E55B8 002E0821 */ addu $at, $at, $t6
/* B5C75C 800E55BC 8C2E9490 */ lw $t6, %lo(jtbl_80149490)($at)
/* B5C760 800E55C0 01C00008 */ jr $t6
/* B5C764 800E55C4 00000000 */ nop
.L800E55C8:
/* B5C768 800E55C8 244FFF7F */ addiu $t7, $v0, -0x81
/* B5C76C 800E55CC 2DE10010 */ sltiu $at, $t7, 0x10
/* B5C770 800E55D0 102000DC */ beqz $at, .L800E5944
/* B5C774 800E55D4 000F7880 */ sll $t7, $t7, 2
/* B5C778 800E55D8 3C018015 */ lui $at, %hi(jtbl_8014950C)
/* B5C77C 800E55DC 002F0821 */ addu $at, $at, $t7
/* B5C780 800E55E0 8C2F950C */ lw $t7, %lo(jtbl_8014950C)($at)
/* B5C784 800E55E4 01E00008 */ jr $t7
/* B5C788 800E55E8 00000000 */ nop
glabel L800E55EC
/* B5C78C 800E55EC 92040002 */ lbu $a0, 2($s0)
/* B5C790 800E55F0 0C038706 */ jal func_800E1C18
/* B5C794 800E55F4 92050003 */ lbu $a1, 3($s0)
/* B5C798 800E55F8 100000D3 */ b .L800E5948
/* B5C79C 800E55FC 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E5600
/* B5C7A0 800E5600 92040001 */ lbu $a0, 1($s0)
/* B5C7A4 800E5604 92050002 */ lbu $a1, 2($s0)
/* B5C7A8 800E5608 0C038835 */ jal func_800E20D4
/* B5C7AC 800E560C 92060003 */ lbu $a2, 3($s0)
/* B5C7B0 800E5610 92040001 */ lbu $a0, 1($s0)
/* B5C7B4 800E5614 0C03966B */ jal func_800E59AC
/* B5C7B8 800E5618 8E050004 */ lw $a1, 4($s0)
/* B5C7BC 800E561C 100000CA */ b .L800E5948
/* B5C7C0 800E5620 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E5624
/* B5C7C4 800E5624 92040001 */ lbu $a0, 1($s0)
/* B5C7C8 800E5628 92050002 */ lbu $a1, 2($s0)
/* B5C7CC 800E562C 0C038849 */ jal func_800E2124
/* B5C7D0 800E5630 8E060004 */ lw $a2, 4($s0)
/* B5C7D4 800E5634 100000C4 */ b .L800E5948
/* B5C7D8 800E5638 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E563C
/* B5C7DC 800E563C 92020001 */ lbu $v0, 1($s0)
/* B5C7E0 800E5640 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5C7E4 800E5644 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
/* B5C7E8 800E5648 0002C080 */ sll $t8, $v0, 2
/* B5C7EC 800E564C 0302C023 */ subu $t8, $t8, $v0
/* B5C7F0 800E5650 0018C080 */ sll $t8, $t8, 2
/* B5C7F4 800E5654 0302C023 */ subu $t8, $t8, $v0
/* B5C7F8 800E5658 0018C140 */ sll $t8, $t8, 5
/* B5C7FC 800E565C 00F81821 */ addu $v1, $a3, $t8
/* B5C800 800E5660 8C793530 */ lw $t9, 0x3530($v1)
/* B5C804 800E5664 001947C2 */ srl $t0, $t9, 0x1f
/* B5C808 800E5668 510000B7 */ beql $t0, $zero, .L800E5948
/* B5C80C 800E566C 8FBF001C */ lw $ra, 0x1c($sp)
/* B5C810 800E5670 8E050004 */ lw $a1, 4($s0)
/* B5C814 800E5674 14A00005 */ bnez $a1, .L800E568C
/* B5C818 800E5678 00000000 */ nop
/* B5C81C 800E567C 0C03A6D1 */ jal func_800E9B44
/* B5C820 800E5680 24643530 */ addiu $a0, $v1, 0x3530
/* B5C824 800E5684 100000B0 */ b .L800E5948
/* B5C828 800E5688 8FBF001C */ lw $ra, 0x1c($sp)
.L800E568C:
/* B5C82C 800E568C 0C039656 */ jal func_800E5958
/* B5C830 800E5690 00402025 */ move $a0, $v0
/* B5C834 800E5694 100000AC */ b .L800E5948
/* B5C838 800E5698 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E569C
/* B5C83C 800E569C 8E090004 */ lw $t1, 4($s0)
/* B5C840 800E56A0 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5C844 800E56A4 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
glabel L00E5944
/* B5C848 800E56A8 100000A6 */ b .L800E5944
/* B5C84C 800E56AC A0E9289A */ sb $t1, 0x289a($a3)
glabel L800E56B0
/* B5C850 800E56B0 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5C854 800E56B4 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
/* B5C858 800E56B8 84EA285C */ lh $t2, 0x285c($a3)
/* B5C85C 800E56BC 3C108017 */ lui $s0, %hi(D_8016F180) # $s0, 0x8017
/* B5C860 800E56C0 2610F180 */ addiu $s0, %lo(D_8016F180) # addiu $s0, $s0, -0xe80
/* B5C864 800E56C4 1940009F */ blez $t2, .L800E5944
/* B5C868 800E56C8 00002825 */ move $a1, $zero
/* B5C86C 800E56CC 920C3530 */ lbu $t4, 0x3530($s0)
.L800E56D0:
/* B5C870 800E56D0 24A50001 */ addiu $a1, $a1, 1
/* B5C874 800E56D4 26100160 */ addiu $s0, $s0, 0x160
/* B5C878 800E56D8 358F0020 */ ori $t7, $t4, 0x20
/* B5C87C 800E56DC A20F33D0 */ sb $t7, 0x33d0($s0)
/* B5C880 800E56E0 35F80004 */ ori $t8, $t7, 4
/* B5C884 800E56E4 A21833D0 */ sb $t8, 0x33d0($s0)
/* B5C888 800E56E8 84F9285C */ lh $t9, 0x285c($a3)
/* B5C88C 800E56EC 00B9082A */ slt $at, $a1, $t9
/* B5C890 800E56F0 5420FFF7 */ bnezl $at, .L800E56D0
/* B5C894 800E56F4 920C3530 */ lbu $t4, 0x3530($s0)
/* B5C898 800E56F8 10000093 */ b .L800E5948
/* B5C89C 800E56FC 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E5700
/* B5C8A0 800E5700 8E080004 */ lw $t0, 4($s0)
/* B5C8A4 800E5704 24010001 */ li $at, 1
/* B5C8A8 800E5708 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5C8AC 800E570C 1501001E */ bne $t0, $at, .L800E5788
/* B5C8B0 800E5710 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
/* B5C8B4 800E5714 8CE62894 */ lw $a2, 0x2894($a3)
/* B5C8B8 800E5718 00002825 */ move $a1, $zero
/* B5C8BC 800E571C 00002025 */ move $a0, $zero
/* B5C8C0 800E5720 18C00019 */ blez $a2, .L800E5788
/* B5C8C4 800E5724 00000000 */ nop
.L800E5728:
/* B5C8C8 800E5728 8CE9352C */ lw $t1, 0x352c($a3)
/* B5C8CC 800E572C 24A50001 */ addiu $a1, $a1, 1
/* B5C8D0 800E5730 00891821 */ addu $v1, $a0, $t1
/* B5C8D4 800E5734 8C6A00C0 */ lw $t2, 0xc0($v1)
/* B5C8D8 800E5738 000A5FC2 */ srl $t3, $t2, 0x1f
/* B5C8DC 800E573C 51600010 */ beql $t3, $zero, .L800E5780
/* B5C8E0 800E5740 00A6082A */ slt $at, $a1, $a2
/* B5C8E4 800E5744 906C0034 */ lbu $t4, 0x34($v1)
/* B5C8E8 800E5748 5580000D */ bnezl $t4, .L800E5780
/* B5C8EC 800E574C 00A6082A */ slt $at, $a1, $a2
/* B5C8F0 800E5750 8C6D0044 */ lw $t5, 0x44($v1)
/* B5C8F4 800E5754 246200C0 */ addiu $v0, $v1, 0xc0
/* B5C8F8 800E5758 8DAE0050 */ lw $t6, 0x50($t5)
/* B5C8FC 800E575C 91CF0003 */ lbu $t7, 3($t6)
/* B5C900 800E5760 31F80008 */ andi $t8, $t7, 8
/* B5C904 800E5764 53000006 */ beql $t8, $zero, .L800E5780
/* B5C908 800E5768 00A6082A */ slt $at, $a1, $a2
/* B5C90C 800E576C 90480000 */ lbu $t0, ($v0)
/* B5C910 800E5770 35090020 */ ori $t1, $t0, 0x20
/* B5C914 800E5774 A0490000 */ sb $t1, ($v0)
/* B5C918 800E5778 8CE62894 */ lw $a2, 0x2894($a3)
/* B5C91C 800E577C 00A6082A */ slt $at, $a1, $a2
.L800E5780:
/* B5C920 800E5780 1420FFE9 */ bnez $at, .L800E5728
/* B5C924 800E5784 248400E0 */ addiu $a0, $a0, 0xe0
.L800E5788:
/* B5C928 800E5788 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5C92C 800E578C 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
/* B5C930 800E5790 84EA285C */ lh $t2, 0x285c($a3)
/* B5C934 800E5794 3C108017 */ lui $s0, %hi(D_8016F180) # $s0, 0x8017
/* B5C938 800E5798 2610F180 */ addiu $s0, %lo(D_8016F180) # addiu $s0, $s0, -0xe80
/* B5C93C 800E579C 19400069 */ blez $t2, .L800E5944
/* B5C940 800E57A0 00002825 */ move $a1, $zero
/* B5C944 800E57A4 920B3530 */ lbu $t3, 0x3530($s0)
.L800E57A8:
/* B5C948 800E57A8 24A50001 */ addiu $a1, $a1, 1
/* B5C94C 800E57AC 26100160 */ addiu $s0, $s0, 0x160
/* B5C950 800E57B0 316EFFDF */ andi $t6, $t3, 0xffdf
/* B5C954 800E57B4 A20E33D0 */ sb $t6, 0x33d0($s0)
/* B5C958 800E57B8 35CF0004 */ ori $t7, $t6, 4
/* B5C95C 800E57BC A20F33D0 */ sb $t7, 0x33d0($s0)
/* B5C960 800E57C0 84F8285C */ lh $t8, 0x285c($a3)
/* B5C964 800E57C4 00B8082A */ slt $at, $a1, $t8
/* B5C968 800E57C8 5420FFF7 */ bnezl $at, .L800E57A8
/* B5C96C 800E57CC 920B3530 */ lbu $t3, 0x3530($s0)
/* B5C970 800E57D0 1000005D */ b .L800E5948
/* B5C974 800E57D4 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E57D8
/* B5C978 800E57D8 92040001 */ lbu $a0, 1($s0)
/* B5C97C 800E57DC 92050002 */ lbu $a1, 2($s0)
/* B5C980 800E57E0 0C038759 */ jal func_800E1D64
/* B5C984 800E57E4 92060003 */ lbu $a2, 3($s0)
/* B5C988 800E57E8 10000057 */ b .L800E5948
/* B5C98C 800E57EC 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E57F0
/* B5C990 800E57F0 3C078017 */ lui $a3, %hi(D_80170FA0) # $a3, 0x8017
/* B5C994 800E57F4 24E70FA0 */ addiu $a3, %lo(D_80170FA0) # addiu $a3, $a3, 0xfa0
/* B5C998 800E57F8 92040001 */ lbu $a0, 1($s0)
/* B5C99C 800E57FC 92050002 */ lbu $a1, 2($s0)
/* B5C9A0 800E5800 0C0387AC */ jal func_800E1EB0
/* B5C9A4 800E5804 92060003 */ lbu $a2, 3($s0)
/* B5C9A8 800E5808 1000004F */ b .L800E5948
/* B5C9AC 800E580C 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E5810
/* B5C9B0 800E5810 3C078017 */ lui $a3, %hi(D_80170FA0) # $a3, 0x8017
/* B5C9B4 800E5814 24E70FA0 */ addiu $a3, %lo(D_80170FA0) # addiu $a3, $a3, 0xfa0
/* B5C9B8 800E5818 92040001 */ lbu $a0, 1($s0)
/* B5C9BC 800E581C 92050002 */ lbu $a1, 2($s0)
/* B5C9C0 800E5820 0C0387BD */ jal func_800E1EF4
/* B5C9C4 800E5824 92060003 */ lbu $a2, 3($s0)
/* B5C9C8 800E5828 10000047 */ b .L800E5948
/* B5C9CC 800E582C 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E5830
/* B5C9D0 800E5830 3C078017 */ lui $a3, %hi(D_80170FA0) # $a3, 0x8017
/* B5C9D4 800E5834 24E70FA0 */ addiu $a3, %lo(D_80170FA0) # addiu $a3, $a3, 0xfa0
/* B5C9D8 800E5838 92040001 */ lbu $a0, 1($s0)
/* B5C9DC 800E583C 92050002 */ lbu $a1, 2($s0)
/* B5C9E0 800E5840 0C03879B */ jal func_800E1E6C
/* B5C9E4 800E5844 92060003 */ lbu $a2, 3($s0)
/* B5C9E8 800E5848 1000003F */ b .L800E5948
/* B5C9EC 800E584C 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E5850
/* B5C9F0 800E5850 0C0387DF */ jal func_800E1F7C
/* B5C9F4 800E5854 92040002 */ lbu $a0, 2($s0)
/* B5C9F8 800E5858 1000003B */ b .L800E5948
/* B5C9FC 800E585C 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E5860
/* B5CA00 800E5860 92080001 */ lbu $t0, 1($s0)
/* B5CA04 800E5864 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5CA08 800E5868 96190004 */ lhu $t9, 4($s0)
/* B5CA0C 800E586C 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
/* B5CA10 800E5870 00084840 */ sll $t1, $t0, 1
/* B5CA14 800E5874 00E95021 */ addu $t2, $a3, $t1
/* B5CA18 800E5878 10000032 */ b .L800E5944
/* B5CA1C 800E587C A5595BDC */ sh $t9, 0x5bdc($t2)
glabel L800E5880
/* B5CA20 800E5880 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5CA24 800E5884 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
/* B5CA28 800E5888 240B0005 */ li $t3, 5
/* B5CA2C 800E588C A0EB3518 */ sb $t3, 0x3518($a3)
/* B5CA30 800E5890 8E0C0004 */ lw $t4, 4($s0)
/* B5CA34 800E5894 1000002B */ b .L800E5944
/* B5CA38 800E5898 A0EC3519 */ sb $t4, 0x3519($a3)
glabel L800E589C
/* B5CA3C 800E589C 8E0D0004 */ lw $t5, 4($s0)
/* B5CA40 800E58A0 3C018017 */ lui $at, %hi(D_801755D0) # $at, 0x8017
/* B5CA44 800E58A4 10000027 */ b .L800E5944
/* B5CA48 800E58A8 AC2D55D0 */ sw $t5, %lo(D_801755D0)($at)
glabel L800E58AC
/* B5CA4C 800E58AC 2464FF20 */ addiu $a0, $v1, -0xe0
/* B5CA50 800E58B0 92050001 */ lbu $a1, 1($s0)
/* B5CA54 800E58B4 92060002 */ lbu $a2, 2($s0)
/* B5CA58 800E58B8 0C039DD1 */ jal func_800E7744
/* B5CA5C 800E58BC 8E070004 */ lw $a3, 4($s0)
/* B5CA60 800E58C0 10000021 */ b .L800E5948
/* B5CA64 800E58C4 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E58C8
/* B5CA68 800E58C8 8E0E0004 */ lw $t6, 4($s0)
/* B5CA6C 800E58CC 24010001 */ li $at, 1
/* B5CA70 800E58D0 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5CA74 800E58D4 15C10015 */ bne $t6, $at, .L800E592C
/* B5CA78 800E58D8 AFAE0024 */ sw $t6, 0x24($sp)
/* B5CA7C 800E58DC 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
/* B5CA80 800E58E0 84E2285C */ lh $v0, 0x285c($a3)
/* B5CA84 800E58E4 3C108017 */ lui $s0, %hi(D_8016F180) # $s0, 0x8017
/* B5CA88 800E58E8 2610F180 */ addiu $s0, %lo(D_8016F180) # addiu $s0, $s0, -0xe80
/* B5CA8C 800E58EC 1840000F */ blez $v0, .L800E592C
/* B5CA90 800E58F0 00002825 */ move $a1, $zero
.L800E58F4:
/* B5CA94 800E58F4 8E183530 */ lw $t8, 0x3530($s0)
/* B5CA98 800E58F8 26043530 */ addiu $a0, $s0, 0x3530
/* B5CA9C 800E58FC 001847C2 */ srl $t0, $t8, 0x1f
/* B5CAA0 800E5900 51000007 */ beql $t0, $zero, .L800E5920
/* B5CAA4 800E5904 24A50001 */ addiu $a1, $a1, 1
/* B5CAA8 800E5908 0C03A6D1 */ jal func_800E9B44
/* B5CAAC 800E590C AFA50034 */ sw $a1, 0x34($sp)
/* B5CAB0 800E5910 3C028017 */ lui $v0, %hi(D_801719DC) # $v0, 0x8017
/* B5CAB4 800E5914 844219DC */ lh $v0, %lo(D_801719DC)($v0)
/* B5CAB8 800E5918 8FA50034 */ lw $a1, 0x34($sp)
/* B5CABC 800E591C 24A50001 */ addiu $a1, $a1, 1
.L800E5920:
/* B5CAC0 800E5920 00A2082A */ slt $at, $a1, $v0
/* B5CAC4 800E5924 1420FFF3 */ bnez $at, .L800E58F4
/* B5CAC8 800E5928 26100160 */ addiu $s0, $s0, 0x160
.L800E592C:
/* B5CACC 800E592C 0C0399B0 */ jal func_800E66C0
/* B5CAD0 800E5930 8FA40024 */ lw $a0, 0x24($sp)
/* B5CAD4 800E5934 10000004 */ b .L800E5948
/* B5CAD8 800E5938 8FBF001C */ lw $ra, 0x1c($sp)
glabel L800E593C
/* B5CADC 800E593C 0C03792C */ jal func_800DE4B0
/* B5CAE0 800E5940 8E040004 */ lw $a0, 4($s0)
glabel L800E5944
.L800E5944:
/* B5CAE4 800E5944 8FBF001C */ lw $ra, 0x1c($sp)
.L800E5948:
/* B5CAE8 800E5948 8FB00018 */ lw $s0, 0x18($sp)
/* B5CAEC 800E594C 27BD0038 */ addiu $sp, $sp, 0x38
/* B5CAF0 800E5950 03E00008 */ jr $ra
/* B5CAF4 800E5954 00000000 */ nop
glabel func_800E5958
/* B5CAF8 800E5958 14A00002 */ bnez $a1, .L800E5964
/* B5CAFC 800E595C 00047080 */ sll $t6, $a0, 2
/* B5CB00 800E5960 24050001 */ li $a1, 1
.L800E5964:
/* B5CB04 800E5964 44853000 */ mtc1 $a1, $f6
/* B5CB08 800E5968 01C47023 */ subu $t6, $t6, $a0
/* B5CB0C 800E596C 000E7080 */ sll $t6, $t6, 2
/* B5CB10 800E5970 01C47023 */ subu $t6, $t6, $a0
/* B5CB14 800E5974 46803220 */ cvt.s.w $f8, $f6
/* B5CB18 800E5978 000E7140 */ sll $t6, $t6, 5
/* B5CB1C 800E597C 3C188017 */ lui $t8, %hi(D_8016F180) # $t8, 0x8017
/* B5CB20 800E5980 2718F180 */ addiu $t8, %lo(D_8016F180) # addiu $t8, $t8, -0xe80
/* B5CB24 800E5984 25CF3530 */ addiu $t7, $t6, 0x3530
/* B5CB28 800E5988 01F81021 */ addu $v0, $t7, $t8
/* B5CB2C 800E598C C444001C */ lwc1 $f4, 0x1c($v0)
/* B5CB30 800E5990 24190002 */ li $t9, 2
/* B5CB34 800E5994 A0590001 */ sb $t9, 1($v0)
/* B5CB38 800E5998 46082283 */ div.s $f10, $f4, $f8
/* B5CB3C 800E599C A4450012 */ sh $a1, 0x12($v0)
/* B5CB40 800E59A0 46005407 */ neg.s $f16, $f10
/* B5CB44 800E59A4 03E00008 */ jr $ra
/* B5CB48 800E59A8 E4500020 */ swc1 $f16, 0x20($v0)
glabel func_800E59AC
/* B5CB4C 800E59AC 10A0000F */ beqz $a1, .L800E59EC
/* B5CB50 800E59B0 00047080 */ sll $t6, $a0, 2
/* B5CB54 800E59B4 01C47023 */ subu $t6, $t6, $a0
/* B5CB58 800E59B8 000E7080 */ sll $t6, $t6, 2
/* B5CB5C 800E59BC 01C47023 */ subu $t6, $t6, $a0
/* B5CB60 800E59C0 3C0F8017 */ lui $t7, %hi(D_8016F180)
/* B5CB64 800E59C4 25EFF180 */ addiu $t7, %lo(D_8016F180) # addiu $t7, $t7, -0xe80
/* B5CB68 800E59C8 000E7140 */ sll $t6, $t6, 5
/* B5CB6C 800E59CC 01CF1021 */ addu $v0, $t6, $t7
/* B5CB70 800E59D0 44800000 */ mtc1 $zero, $f0
/* B5CB74 800E59D4 24180001 */ li $t8, 1
/* B5CB78 800E59D8 A0583531 */ sb $t8, 0x3531($v0)
/* B5CB7C 800E59DC A4453544 */ sh $a1, 0x3544($v0)
/* B5CB80 800E59E0 A4453542 */ sh $a1, 0x3542($v0)
/* B5CB84 800E59E4 E440354C */ swc1 $f0, 0x354c($v0)
/* B5CB88 800E59E8 E4403550 */ swc1 $f0, 0x3550($v0)
.L800E59EC:
/* B5CB8C 800E59EC 03E00008 */ jr $ra
/* B5CB90 800E59F0 00000000 */ nop
glabel func_800E59F4
/* B5CB94 800E59F4 3C028017 */ lui $v0, %hi(D_8016F180) # $v0, 0x8017
/* B5CB98 800E59F8 2442F180 */ addiu $v0, %lo(D_8016F180) # addiu $v0, $v0, -0xe80
/* B5CB9C 800E59FC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5CBA0 800E5A00 3C0E8017 */ lui $t6, %hi(D_80174D70)
/* B5CBA4 800E5A04 3C0F8017 */ lui $t7, %hi(D_80174D88) # $t7, 0x8017
/* B5CBA8 800E5A08 3C188017 */ lui $t8, %hi(D_80174DA0) # $t8, 0x8017
/* B5CBAC 800E5A0C AFBF0014 */ sw $ra, 0x14($sp)
/* B5CBB0 800E5A10 25C44D70 */ addiu $a0, $t6, %lo(D_80174D70)
/* B5CBB4 800E5A14 25EF4D88 */ addiu $t7, %lo(D_80174D88) # addiu $t7, $t7, 0x4d88
/* B5CBB8 800E5A18 27184DA0 */ addiu $t8, %lo(D_80174DA0) # addiu $t8, $t8, 0x4da0
/* B5CBBC 800E5A1C 3C058017 */ lui $a1, %hi(D_80174DB8) # $a1, 0x8017
/* B5CBC0 800E5A20 A0405BD8 */ sb $zero, 0x5bd8($v0)
/* B5CBC4 800E5A24 A0405BD9 */ sb $zero, 0x5bd9($v0)
/* B5CBC8 800E5A28 A0405BDA */ sb $zero, 0x5bda($v0)
/* B5CBCC 800E5A2C AC445BE8 */ sw $a0, 0x5be8($v0)
/* B5CBD0 800E5A30 AC4F5BEC */ sw $t7, 0x5bec($v0)
/* B5CBD4 800E5A34 AC585BE4 */ sw $t8, 0x5be4($v0)
/* B5CBD8 800E5A38 24A54DB8 */ addiu $a1, %lo(D_80174DB8) # addiu $a1, $a1, 0x4db8
/* B5CBDC 800E5A3C 0C001874 */ jal osCreateMesgQueue
/* B5CBE0 800E5A40 24060001 */ li $a2, 1
/* B5CBE4 800E5A44 3C028017 */ lui $v0, %hi(D_8016F180) # $v0, 0x8017
/* B5CBE8 800E5A48 2442F180 */ addiu $v0, %lo(D_8016F180) # addiu $v0, $v0, -0xe80
/* B5CBEC 800E5A4C 3C058017 */ lui $a1, %hi(D_80174DC0) # $a1, 0x8017
/* B5CBF0 800E5A50 24A54DC0 */ addiu $a1, %lo(D_80174DC0) # addiu $a1, $a1, 0x4dc0
/* B5CBF4 800E5A54 8C445BEC */ lw $a0, 0x5bec($v0)
/* B5CBF8 800E5A58 0C001874 */ jal osCreateMesgQueue
/* B5CBFC 800E5A5C 24060004 */ li $a2, 4
/* B5CC00 800E5A60 3C028017 */ lui $v0, %hi(D_8016F180) # $v0, 0x8017
/* B5CC04 800E5A64 2442F180 */ addiu $v0, %lo(D_8016F180) # addiu $v0, $v0, -0xe80
/* B5CC08 800E5A68 3C058017 */ lui $a1, %hi(D_80174DBC) # $a1, 0x8017
/* B5CC0C 800E5A6C 24A54DBC */ addiu $a1, %lo(D_80174DBC) # addiu $a1, $a1, 0x4dbc
/* B5CC10 800E5A70 8C445BE4 */ lw $a0, 0x5be4($v0)
/* B5CC14 800E5A74 0C001874 */ jal osCreateMesgQueue
/* B5CC18 800E5A78 24060001 */ li $a2, 1
/* B5CC1C 800E5A7C 8FBF0014 */ lw $ra, 0x14($sp)
/* B5CC20 800E5A80 27BD0018 */ addiu $sp, $sp, 0x18
/* B5CC24 800E5A84 03E00008 */ jr $ra
/* B5CC28 800E5A88 00000000 */ nop
glabel func_800E5A8C
/* B5CC2C 800E5A8C 3C068017 */ lui $a2, %hi(D_8016F180) # $a2, 0x8017
/* B5CC30 800E5A90 24C6F180 */ addiu $a2, %lo(D_8016F180) # addiu $a2, $a2, -0xe80
/* B5CC34 800E5A94 90CF5BD8 */ lbu $t7, 0x5bd8($a2)
/* B5CC38 800E5A98 000FC0C0 */ sll $t8, $t7, 3
/* B5CC3C 800E5A9C 00D81021 */ addu $v0, $a2, $t8
/* B5CC40 800E5AA0 AC445C50 */ sw $a0, 0x5c50($v0)
/* B5CC44 800E5AA4 8CB90000 */ lw $t9, ($a1)
/* B5CC48 800E5AA8 24425C50 */ addiu $v0, $v0, 0x5c50
/* B5CC4C 800E5AAC AC590004 */ sw $t9, 4($v0)
/* B5CC50 800E5AB0 90C85BD8 */ lbu $t0, 0x5bd8($a2)
/* B5CC54 800E5AB4 90CA5BD9 */ lbu $t2, 0x5bd9($a2)
/* B5CC58 800E5AB8 25090001 */ addiu $t1, $t0, 1
/* B5CC5C 800E5ABC 312300FF */ andi $v1, $t1, 0xff
/* B5CC60 800E5AC0 15430003 */ bne $t2, $v1, .L800E5AD0
/* B5CC64 800E5AC4 A0C95BD8 */ sb $t1, 0x5bd8($a2)
/* B5CC68 800E5AC8 246BFFFF */ addiu $t3, $v1, -1
/* B5CC6C 800E5ACC A0CB5BD8 */ sb $t3, 0x5bd8($a2)
.L800E5AD0:
/* B5CC70 800E5AD0 03E00008 */ jr $ra
/* B5CC74 800E5AD4 00000000 */ nop
glabel func_800E5AD8
/* B5CC78 800E5AD8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5CC7C 800E5ADC AFBF0014 */ sw $ra, 0x14($sp)
/* B5CC80 800E5AE0 AFA5001C */ sw $a1, 0x1c($sp)
/* B5CC84 800E5AE4 0C0396A3 */ jal func_800E5A8C
/* B5CC88 800E5AE8 27A5001C */ addiu $a1, $sp, 0x1c
/* B5CC8C 800E5AEC 8FBF0014 */ lw $ra, 0x14($sp)
/* B5CC90 800E5AF0 27BD0018 */ addiu $sp, $sp, 0x18
/* B5CC94 800E5AF4 03E00008 */ jr $ra
/* B5CC98 800E5AF8 00000000 */ nop
glabel func_800E5AFC
/* B5CC9C 800E5AFC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5CCA0 800E5B00 AFBF0014 */ sw $ra, 0x14($sp)
/* B5CCA4 800E5B04 AFA5001C */ sw $a1, 0x1c($sp)
/* B5CCA8 800E5B08 0C0396A3 */ jal func_800E5A8C
/* B5CCAC 800E5B0C 27A5001C */ addiu $a1, $sp, 0x1c
/* B5CCB0 800E5B10 8FBF0014 */ lw $ra, 0x14($sp)
/* B5CCB4 800E5B14 27BD0018 */ addiu $sp, $sp, 0x18
/* B5CCB8 800E5B18 03E00008 */ jr $ra
/* B5CCBC 800E5B1C 00000000 */ nop
glabel func_800E5B20
/* B5CCC0 800E5B20 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B5CCC4 800E5B24 00A03025 */ move $a2, $a1
/* B5CCC8 800E5B28 AFBF0014 */ sw $ra, 0x14($sp)
/* B5CCCC 800E5B2C AFA50024 */ sw $a1, 0x24($sp)
/* B5CCD0 800E5B30 00067600 */ sll $t6, $a2, 0x18
/* B5CCD4 800E5B34 AFAE001C */ sw $t6, 0x1c($sp)
/* B5CCD8 800E5B38 0C0396A3 */ jal func_800E5A8C
/* B5CCDC 800E5B3C 27A5001C */ addiu $a1, $sp, 0x1c
/* B5CCE0 800E5B40 8FBF0014 */ lw $ra, 0x14($sp)
/* B5CCE4 800E5B44 27BD0020 */ addiu $sp, $sp, 0x20
/* B5CCE8 800E5B48 03E00008 */ jr $ra
/* B5CCEC 800E5B4C 00000000 */ nop
glabel func_800E5B50
/* B5CCF0 800E5B50 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B5CCF4 800E5B54 00A03025 */ move $a2, $a1
/* B5CCF8 800E5B58 AFBF0014 */ sw $ra, 0x14($sp)
/* B5CCFC 800E5B5C AFA50024 */ sw $a1, 0x24($sp)
/* B5CD00 800E5B60 00067400 */ sll $t6, $a2, 0x10
/* B5CD04 800E5B64 AFAE001C */ sw $t6, 0x1c($sp)
/* B5CD08 800E5B68 0C0396A3 */ jal func_800E5A8C
/* B5CD0C 800E5B6C 27A5001C */ addiu $a1, $sp, 0x1c
/* B5CD10 800E5B70 8FBF0014 */ lw $ra, 0x14($sp)
/* B5CD14 800E5B74 27BD0020 */ addiu $sp, $sp, 0x20
/* B5CD18 800E5B78 03E00008 */ jr $ra
/* B5CD1C 800E5B7C 00000000 */ nop
glabel func_800E5B80
/* B5CD20 800E5B80 3C038017 */ lui $v1, %hi(D_8016F180) # $v1, 0x8017
/* B5CD24 800E5B84 2463F180 */ addiu $v1, %lo(D_8016F180) # addiu $v1, $v1, -0xe80
/* B5CD28 800E5B88 90625BD8 */ lbu $v0, 0x5bd8($v1)
/* B5CD2C 800E5B8C 90675BD9 */ lbu $a3, 0x5bd9($v1)
/* B5CD30 800E5B90 3C0E8013 */ lui $t6, %hi(D_801304E8) # $t6, 0x8013
/* B5CD34 800E5B94 8DCE04E8 */ lw $t6, %lo(D_801304E8)($t6)
/* B5CD38 800E5B98 00472023 */ subu $a0, $v0, $a3
/* B5CD3C 800E5B9C 24840100 */ addiu $a0, $a0, 0x100
/* B5CD40 800E5BA0 308400FF */ andi $a0, $a0, 0xff
/* B5CD44 800E5BA4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5CD48 800E5BA8 01C4082A */ slt $at, $t6, $a0
/* B5CD4C 800E5BAC 10200003 */ beqz $at, .L800E5BBC
/* B5CD50 800E5BB0 AFBF0014 */ sw $ra, 0x14($sp)
/* B5CD54 800E5BB4 3C018013 */ lui $at, %hi(D_801304E8) # $at, 0x8013
/* B5CD58 800E5BB8 AC2404E8 */ sw $a0, %lo(D_801304E8)($at)
.L800E5BBC:
/* B5CD5C 800E5BBC 30EF00FF */ andi $t7, $a3, 0xff
/* B5CD60 800E5BC0 000FC200 */ sll $t8, $t7, 8
/* B5CD64 800E5BC4 305900FF */ andi $t9, $v0, 0xff
/* B5CD68 800E5BC8 03192825 */ or $a1, $t8, $t9
/* B5CD6C 800E5BCC 8C645BEC */ lw $a0, 0x5bec($v1)
/* B5CD70 800E5BD0 0C000C18 */ jal osSendMesg
/* B5CD74 800E5BD4 00003025 */ move $a2, $zero
/* B5CD78 800E5BD8 3C038017 */ lui $v1, %hi(D_8016F180) # $v1, 0x8017
/* B5CD7C 800E5BDC 2401FFFF */ li $at, -1
/* B5CD80 800E5BE0 10410005 */ beq $v0, $at, .L800E5BF8
/* B5CD84 800E5BE4 2463F180 */ addiu $v1, %lo(D_8016F180) # addiu $v1, $v1, -0xe80
/* B5CD88 800E5BE8 90685BD8 */ lbu $t0, 0x5bd8($v1)
/* B5CD8C 800E5BEC 00001025 */ move $v0, $zero
/* B5CD90 800E5BF0 10000003 */ b .L800E5C00
/* B5CD94 800E5BF4 A0685BD9 */ sb $t0, 0x5bd9($v1)
.L800E5BF8:
/* B5CD98 800E5BF8 10000001 */ b .L800E5C00
/* B5CD9C 800E5BFC 2402FFFF */ li $v0, -1
.L800E5C00:
/* B5CDA0 800E5C00 8FBF0014 */ lw $ra, 0x14($sp)
/* B5CDA4 800E5C04 27BD0018 */ addiu $sp, $sp, 0x18
/* B5CDA8 800E5C08 03E00008 */ jr $ra
/* B5CDAC 800E5C0C 00000000 */ nop
glabel func_800E5C10
/* B5CDB0 800E5C10 3C028017 */ lui $v0, %hi(D_8016F180) # $v0, 0x8017
/* B5CDB4 800E5C14 2442F180 */ addiu $v0, %lo(D_8016F180) # addiu $v0, $v0, -0xe80
/* B5CDB8 800E5C18 904E5BD8 */ lbu $t6, 0x5bd8($v0)
/* B5CDBC 800E5C1C A0405BDA */ sb $zero, 0x5bda($v0)
/* B5CDC0 800E5C20 03E00008 */ jr $ra
/* B5CDC4 800E5C24 A04E5BD9 */ sb $t6, 0x5bd9($v0)
glabel func_800E5C28
/* B5CDC8 800E5C28 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B5CDCC 800E5C2C AFBF002C */ sw $ra, 0x2c($sp)
/* B5CDD0 800E5C30 AFB40028 */ sw $s4, 0x28($sp)
/* B5CDD4 800E5C34 AFB30024 */ sw $s3, 0x24($sp)
/* B5CDD8 800E5C38 AFB20020 */ sw $s2, 0x20($sp)
/* B5CDDC 800E5C3C AFB1001C */ sw $s1, 0x1c($sp)
/* B5CDE0 800E5C40 AFB00018 */ sw $s0, 0x18($sp)
/* B5CDE4 800E5C44 90820000 */ lbu $v0, ($a0)
/* B5CDE8 800E5C48 240100F0 */ li $at, 240
/* B5CDEC 800E5C4C 00809825 */ move $s3, $a0
/* B5CDF0 800E5C50 304E00F0 */ andi $t6, $v0, 0xf0
/* B5CDF4 800E5C54 15C10005 */ bne $t6, $at, .L800E5C6C
/* B5CDF8 800E5C58 3C058017 */ lui $a1, %hi(D_8016F180) # $a1, 0x8017
/* B5CDFC 800E5C5C 0C039561 */ jal func_800E5584
/* B5CE00 800E5C60 00000000 */ nop
/* B5CE04 800E5C64 1000003A */ b .L800E5D50
/* B5CE08 800E5C68 8FBF002C */ lw $ra, 0x2c($sp)
.L800E5C6C:
/* B5CE0C 800E5C6C 92640001 */ lbu $a0, 1($s3)
/* B5CE10 800E5C70 24A5F180 */ addiu $a1, %lo(D_8016F180) # addiu $a1, $a1, -0xe80
/* B5CE14 800E5C74 84AF285C */ lh $t7, 0x285c($a1)
/* B5CE18 800E5C78 0004C080 */ sll $t8, $a0, 2
/* B5CE1C 800E5C7C 0304C023 */ subu $t8, $t8, $a0
/* B5CE20 800E5C80 008F082A */ slt $at, $a0, $t7
/* B5CE24 800E5C84 10200031 */ beqz $at, .L800E5D4C
/* B5CE28 800E5C88 0018C080 */ sll $t8, $t8, 2
/* B5CE2C 800E5C8C 0304C023 */ subu $t8, $t8, $a0
/* B5CE30 800E5C90 0018C140 */ sll $t8, $t8, 5
/* B5CE34 800E5C94 00B8A021 */ addu $s4, $a1, $t8
/* B5CE38 800E5C98 30590080 */ andi $t9, $v0, 0x80
/* B5CE3C 800E5C9C 13200005 */ beqz $t9, .L800E5CB4
/* B5CE40 800E5CA0 26943530 */ addiu $s4, $s4, 0x3530
/* B5CE44 800E5CA4 0C039561 */ jal func_800E5584
/* B5CE48 800E5CA8 02602025 */ move $a0, $s3
/* B5CE4C 800E5CAC 10000028 */ b .L800E5D50
/* B5CE50 800E5CB0 8FBF002C */ lw $ra, 0x2c($sp)
.L800E5CB4:
/* B5CE54 800E5CB4 30480040 */ andi $t0, $v0, 0x40
/* B5CE58 800E5CB8 51000007 */ beql $t0, $zero, .L800E5CD8
/* B5CE5C 800E5CBC 92620002 */ lbu $v0, 2($s3)
/* B5CE60 800E5CC0 02802025 */ move $a0, $s4
/* B5CE64 800E5CC4 0C03984A */ jal func_800E6128
/* B5CE68 800E5CC8 02602825 */ move $a1, $s3
/* B5CE6C 800E5CCC 10000020 */ b .L800E5D50
/* B5CE70 800E5CD0 8FBF002C */ lw $ra, 0x2c($sp)
/* B5CE74 800E5CD4 92620002 */ lbu $v0, 2($s3)
.L800E5CD8:
/* B5CE78 800E5CD8 28410010 */ slti $at, $v0, 0x10
/* B5CE7C 800E5CDC 10200008 */ beqz $at, .L800E5D00
/* B5CE80 800E5CE0 00401825 */ move $v1, $v0
/* B5CE84 800E5CE4 00024880 */ sll $t1, $v0, 2
/* B5CE88 800E5CE8 02895021 */ addu $t2, $s4, $t1
/* B5CE8C 800E5CEC 8D440038 */ lw $a0, 0x38($t2)
/* B5CE90 800E5CF0 0C0398C0 */ jal func_800E6300
/* B5CE94 800E5CF4 02602825 */ move $a1, $s3
/* B5CE98 800E5CF8 10000015 */ b .L800E5D50
/* B5CE9C 800E5CFC 8FBF002C */ lw $ra, 0x2c($sp)
.L800E5D00:
/* B5CEA0 800E5D00 240100FF */ li $at, 255
/* B5CEA4 800E5D04 14610011 */ bne $v1, $at, .L800E5D4C
/* B5CEA8 800E5D08 00045840 */ sll $t3, $a0, 1
/* B5CEAC 800E5D0C 00AB6021 */ addu $t4, $a1, $t3
/* B5CEB0 800E5D10 95825BDC */ lhu $v0, 0x5bdc($t4)
/* B5CEB4 800E5D14 00008025 */ move $s0, $zero
/* B5CEB8 800E5D18 24120010 */ li $s2, 16
.L800E5D1C:
/* B5CEBC 800E5D1C 304D0001 */ andi $t5, $v0, 1
/* B5CEC0 800E5D20 11A00006 */ beqz $t5, .L800E5D3C
/* B5CEC4 800E5D24 00408825 */ move $s1, $v0
/* B5CEC8 800E5D28 00107080 */ sll $t6, $s0, 2
/* B5CECC 800E5D2C 028E7821 */ addu $t7, $s4, $t6
/* B5CED0 800E5D30 8DE40038 */ lw $a0, 0x38($t7)
/* B5CED4 800E5D34 0C0398C0 */ jal func_800E6300
/* B5CED8 800E5D38 02602825 */ move $a1, $s3
.L800E5D3C:
/* B5CEDC 800E5D3C 26100001 */ addiu $s0, $s0, 1
/* B5CEE0 800E5D40 00111043 */ sra $v0, $s1, 1
/* B5CEE4 800E5D44 1612FFF5 */ bne $s0, $s2, .L800E5D1C
/* B5CEE8 800E5D48 3042FFFF */ andi $v0, $v0, 0xffff
.L800E5D4C:
/* B5CEEC 800E5D4C 8FBF002C */ lw $ra, 0x2c($sp)
.L800E5D50:
/* B5CEF0 800E5D50 8FB00018 */ lw $s0, 0x18($sp)
/* B5CEF4 800E5D54 8FB1001C */ lw $s1, 0x1c($sp)
/* B5CEF8 800E5D58 8FB20020 */ lw $s2, 0x20($sp)
/* B5CEFC 800E5D5C 8FB30024 */ lw $s3, 0x24($sp)
/* B5CF00 800E5D60 8FB40028 */ lw $s4, 0x28($sp)
/* B5CF04 800E5D64 03E00008 */ jr $ra
/* B5CF08 800E5D68 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800E5D6C
/* B5CF0C 800E5D6C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B5CF10 800E5D70 AFB30020 */ sw $s3, 0x20($sp)
/* B5CF14 800E5D74 3C138017 */ lui $s3, %hi(D_8016F180) # $s3, 0x8017
/* B5CF18 800E5D78 2673F180 */ addiu $s3, %lo(D_8016F180) # addiu $s3, $s3, -0xe80
/* B5CF1C 800E5D7C 926E5BDA */ lbu $t6, 0x5bda($s3)
/* B5CF20 800E5D80 AFBF0024 */ sw $ra, 0x24($sp)
/* B5CF24 800E5D84 AFB2001C */ sw $s2, 0x1c($sp)
/* B5CF28 800E5D88 AFB10018 */ sw $s1, 0x18($sp)
/* B5CF2C 800E5D8C 15C00004 */ bnez $t6, .L800E5DA0
/* B5CF30 800E5D90 AFB00014 */ sw $s0, 0x14($sp)
/* B5CF34 800E5D94 00041A02 */ srl $v1, $a0, 8
/* B5CF38 800E5D98 3C018013 */ lui $at, %hi(D_801304EC) # $at, 0x8013
/* B5CF3C 800E5D9C A02304EC */ sb $v1, %lo(D_801304EC)($at)
.L800E5DA0:
/* B5CF40 800E5DA0 00808825 */ move $s1, $a0
/* B5CF44 800E5DA4 323100FF */ andi $s1, $s1, 0xff
/* B5CF48 800E5DA8 241200F8 */ li $s2, 248
.L800E5DAC:
/* B5CF4C 800E5DAC 3C038013 */ lui $v1, %hi(D_801304EC) # $v1, 0x8013
/* B5CF50 800E5DB0 906304EC */ lbu $v1, %lo(D_801304EC)($v1)
/* B5CF54 800E5DB4 3C018013 */ lui $at, %hi(D_801304EC) # $at, 0x8013
/* B5CF58 800E5DB8 16230003 */ bne $s1, $v1, .L800E5DC8
/* B5CF5C 800E5DBC 00601025 */ move $v0, $v1
/* B5CF60 800E5DC0 10000010 */ b .L800E5E04
/* B5CF64 800E5DC4 A2605BDA */ sb $zero, 0x5bda($s3)
.L800E5DC8:
/* B5CF68 800E5DC8 304F00FF */ andi $t7, $v0, 0xff
/* B5CF6C 800E5DCC 000FC0C0 */ sll $t8, $t7, 3
/* B5CF70 800E5DD0 24630001 */ addiu $v1, $v1, 1
/* B5CF74 800E5DD4 02788021 */ addu $s0, $s3, $t8
/* B5CF78 800E5DD8 A02304EC */ sb $v1, %lo(D_801304EC)($at)
/* B5CF7C 800E5DDC 92195C50 */ lbu $t9, 0x5c50($s0)
/* B5CF80 800E5DE0 26105C50 */ addiu $s0, $s0, 0x5c50
/* B5CF84 800E5DE4 16590003 */ bne $s2, $t9, .L800E5DF4
/* B5CF88 800E5DE8 24080001 */ li $t0, 1
/* B5CF8C 800E5DEC 10000005 */ b .L800E5E04
/* B5CF90 800E5DF0 A2685BDA */ sb $t0, 0x5bda($s3)
.L800E5DF4:
/* B5CF94 800E5DF4 0C03970A */ jal func_800E5C28
/* B5CF98 800E5DF8 02002025 */ move $a0, $s0
/* B5CF9C 800E5DFC 1000FFEB */ b .L800E5DAC
/* B5CFA0 800E5E00 A2000000 */ sb $zero, ($s0)
.L800E5E04:
/* B5CFA4 800E5E04 8FBF0024 */ lw $ra, 0x24($sp)
/* B5CFA8 800E5E08 8FB00014 */ lw $s0, 0x14($sp)
/* B5CFAC 800E5E0C 8FB10018 */ lw $s1, 0x18($sp)
/* B5CFB0 800E5E10 8FB2001C */ lw $s2, 0x1c($sp)
/* B5CFB4 800E5E14 8FB30020 */ lw $s3, 0x20($sp)
/* B5CFB8 800E5E18 03E00008 */ jr $ra
/* B5CFBC 800E5E1C 27BD0028 */ addiu $sp, $sp, 0x28
glabel func_800E5E20
/* B5CFC0 800E5E20 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B5CFC4 800E5E24 AFA40020 */ sw $a0, 0x20($sp)
/* B5CFC8 800E5E28 AFBF0014 */ sw $ra, 0x14($sp)
/* B5CFCC 800E5E2C 3C048017 */ lui $a0, %hi(D_80170FA0) # $a0, 0x8017
/* B5CFD0 800E5E30 24840FA0 */ addiu $a0, %lo(D_80170FA0) # addiu $a0, $a0, 0xfa0
/* B5CFD4 800E5E34 27A5001C */ addiu $a1, $sp, 0x1c
/* B5CFD8 800E5E38 0C000CA0 */ jal osRecvMesg
/* B5CFDC 800E5E3C 00003025 */ move $a2, $zero
/* B5CFE0 800E5E40 2401FFFF */ li $at, -1
/* B5CFE4 800E5E44 14410004 */ bne $v0, $at, .L800E5E58
/* B5CFE8 800E5E48 8FA30020 */ lw $v1, 0x20($sp)
/* B5CFEC 800E5E4C AC600000 */ sw $zero, ($v1)
/* B5CFF0 800E5E50 10000008 */ b .L800E5E74
/* B5CFF4 800E5E54 00001025 */ move $v0, $zero
.L800E5E58:
/* B5CFF8 800E5E58 8FAE001C */ lw $t6, 0x1c($sp)
/* B5CFFC 800E5E5C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B5D000 800E5E60 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5D004 800E5E64 01C17824 */ and $t7, $t6, $at
/* B5D008 800E5E68 AC6F0000 */ sw $t7, ($v1)
/* B5D00C 800E5E6C 8FA2001C */ lw $v0, 0x1c($sp)
/* B5D010 800E5E70 00021602 */ srl $v0, $v0, 0x18
.L800E5E74:
/* B5D014 800E5E74 8FBF0014 */ lw $ra, 0x14($sp)
/* B5D018 800E5E78 27BD0020 */ addiu $sp, $sp, 0x20
/* B5D01C 800E5E7C 03E00008 */ jr $ra
/* B5D020 800E5E80 00000000 */ nop
glabel func_800E5E84
/* B5D024 800E5E84 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5D028 800E5E88 AFBF0014 */ sw $ra, 0x14($sp)
/* B5D02C 800E5E8C 0C0387CE */ jal func_800E1F38
/* B5D030 800E5E90 00000000 */ nop
/* B5D034 800E5E94 8FBF0014 */ lw $ra, 0x14($sp)
/* B5D038 800E5E98 27BD0018 */ addiu $sp, $sp, 0x18
/* B5D03C 800E5E9C 03E00008 */ jr $ra
/* B5D040 800E5EA0 00000000 */ nop
glabel func_800E5EA4
/* B5D044 800E5EA4 3C038017 */ lui $v1, %hi(D_8016F180) # $v1, 0x8017
/* B5D048 800E5EA8 2463F180 */ addiu $v1, %lo(D_8016F180) # addiu $v1, $v1, -0xe80
/* B5D04C 800E5EAC 8C6E2844 */ lw $t6, 0x2844($v1)
/* B5D050 800E5EB0 00041080 */ sll $v0, $a0, 2
/* B5D054 800E5EB4 00441021 */ addu $v0, $v0, $a0
/* B5D058 800E5EB8 00021080 */ sll $v0, $v0, 2
/* B5D05C 800E5EBC 01C27821 */ addu $t7, $t6, $v0
/* B5D060 800E5EC0 91F80002 */ lbu $t8, 2($t7)
/* B5D064 800E5EC4 ACB80000 */ sw $t8, ($a1)
/* B5D068 800E5EC8 8C792844 */ lw $t9, 0x2844($v1)
/* B5D06C 800E5ECC 03224021 */ addu $t0, $t9, $v0
/* B5D070 800E5ED0 91090003 */ lbu $t1, 3($t0)
/* B5D074 800E5ED4 03E00008 */ jr $ra
/* B5D078 800E5ED8 ACC90000 */ sw $t1, ($a2)
glabel func_800E5EDC
/* B5D07C 800E5EDC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B5D080 800E5EE0 AFBF0014 */ sw $ra, 0x14($sp)
/* B5D084 800E5EE4 3C048017 */ lui $a0, %hi(D_80174D64) # $a0, 0x8017
/* B5D088 800E5EE8 8C844D64 */ lw $a0, %lo(D_80174D64)($a0)
/* B5D08C 800E5EEC 27A50018 */ addiu $a1, $sp, 0x18
/* B5D090 800E5EF0 0C000CA0 */ jal osRecvMesg
/* B5D094 800E5EF4 00003025 */ move $a2, $zero
/* B5D098 800E5EF8 2401FFFF */ li $at, -1
/* B5D09C 800E5EFC 14410003 */ bne $v0, $at, .L800E5F0C
/* B5D0A0 800E5F00 8FBF0014 */ lw $ra, 0x14($sp)
/* B5D0A4 800E5F04 10000009 */ b .L800E5F2C
/* B5D0A8 800E5F08 00001025 */ move $v0, $zero
.L800E5F0C:
/* B5D0AC 800E5F0C 3C0F8017 */ lui $t7, %hi(D_80172699) # $t7, 0x8017
/* B5D0B0 800E5F10 91EF2699 */ lbu $t7, %lo(D_80172699)($t7)
/* B5D0B4 800E5F14 8FAE0018 */ lw $t6, 0x18($sp)
/* B5D0B8 800E5F18 24020001 */ li $v0, 1
/* B5D0BC 800E5F1C 11CF0003 */ beq $t6, $t7, .L800E5F2C
/* B5D0C0 800E5F20 00000000 */ nop
/* B5D0C4 800E5F24 10000001 */ b .L800E5F2C
/* B5D0C8 800E5F28 2402FFFF */ li $v0, -1
.L800E5F2C:
/* B5D0CC 800E5F2C 03E00008 */ jr $ra
/* B5D0D0 800E5F30 27BD0020 */ addiu $sp, $sp, 0x20
glabel func_800E5F34
/* B5D0D4 800E5F34 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B5D0D8 800E5F38 AFB1001C */ sw $s1, 0x1c($sp)
/* B5D0DC 800E5F3C AFB20020 */ sw $s2, 0x20($sp)
/* B5D0E0 800E5F40 AFB00018 */ sw $s0, 0x18($sp)
/* B5D0E4 800E5F44 3C118017 */ lui $s1, %hi(D_8016F180) # $s1, 0x8017
/* B5D0E8 800E5F48 AFBF0024 */ sw $ra, 0x24($sp)
/* B5D0EC 800E5F4C 2631F180 */ addiu $s1, %lo(D_8016F180) # addiu $s1, $s1, -0xe80
/* B5D0F0 800E5F50 2410FFFF */ li $s0, -1
/* B5D0F4 800E5F54 27B20028 */ addiu $s2, $sp, 0x28
/* B5D0F8 800E5F58 8E245BE4 */ lw $a0, 0x5be4($s1)
.L800E5F5C:
/* B5D0FC 800E5F5C 02402825 */ move $a1, $s2
/* B5D100 800E5F60 0C000CA0 */ jal osRecvMesg
/* B5D104 800E5F64 00003025 */ move $a2, $zero
/* B5D108 800E5F68 5450FFFC */ bnel $v0, $s0, .L800E5F5C
/* B5D10C 800E5F6C 8E245BE4 */ lw $a0, 0x5be4($s1)
/* B5D110 800E5F70 8FBF0024 */ lw $ra, 0x24($sp)
/* B5D114 800E5F74 8FB00018 */ lw $s0, 0x18($sp)
/* B5D118 800E5F78 8FB1001C */ lw $s1, 0x1c($sp)
/* B5D11C 800E5F7C 8FB20020 */ lw $s2, 0x20($sp)
/* B5D120 800E5F80 03E00008 */ jr $ra
/* B5D124 800E5F84 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800E5F88
/* B5D128 800E5F88 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B5D12C 800E5F8C AFBF0014 */ sw $ra, 0x14($sp)
/* B5D130 800E5F90 0C0397CD */ jal func_800E5F34
/* B5D134 800E5F94 AFA40028 */ sw $a0, 0x28($sp)
/* B5D138 800E5F98 3C038017 */ lui $v1, %hi(D_8016F180) # $v1, 0x8017
/* B5D13C 800E5F9C 2463F180 */ addiu $v1, %lo(D_8016F180) # addiu $v1, $v1, -0xe80
/* B5D140 800E5FA0 90623518 */ lbu $v0, 0x3518($v1)
/* B5D144 800E5FA4 10400014 */ beqz $v0, .L800E5FF8
/* B5D148 800E5FA8 00000000 */ nop
/* B5D14C 800E5FAC 0C039704 */ jal func_800E5C10
/* B5D150 800E5FB0 AFA20024 */ sw $v0, 0x24($sp)
/* B5D154 800E5FB4 3C038017 */ lui $v1, %hi(D_8016F180) # $v1, 0x8017
/* B5D158 800E5FB8 2463F180 */ addiu $v1, %lo(D_8016F180) # addiu $v1, $v1, -0xe80
/* B5D15C 800E5FBC 8FA70028 */ lw $a3, 0x28($sp)
/* B5D160 800E5FC0 906E3519 */ lbu $t6, 0x3519($v1)
/* B5D164 800E5FC4 8FA20024 */ lw $v0, 0x24($sp)
/* B5D168 800E5FC8 14EE0003 */ bne $a3, $t6, .L800E5FD8
/* B5D16C 800E5FCC 28410003 */ slti $at, $v0, 3
/* B5D170 800E5FD0 10000010 */ b .L800E6014
/* B5D174 800E5FD4 2402FFFE */ li $v0, -2
.L800E5FD8:
/* B5D178 800E5FD8 14200004 */ bnez $at, .L800E5FEC
/* B5D17C 800E5FDC 27A50020 */ addiu $a1, $sp, 0x20
/* B5D180 800E5FE0 A0673519 */ sb $a3, 0x3519($v1)
/* B5D184 800E5FE4 1000000B */ b .L800E6014
/* B5D188 800E5FE8 2402FFFD */ li $v0, -3
.L800E5FEC:
/* B5D18C 800E5FEC 8C645BE4 */ lw $a0, 0x5be4($v1)
/* B5D190 800E5FF0 0C000CA0 */ jal osRecvMesg
/* B5D194 800E5FF4 24060001 */ li $a2, 1
.L800E5FF8:
/* B5D198 800E5FF8 0C0397CD */ jal func_800E5F34
/* B5D19C 800E5FFC 00000000 */ nop
/* B5D1A0 800E6000 3C04F900 */ lui $a0, 0xf900
/* B5D1A4 800E6004 0C0396BF */ jal func_800E5AFC
/* B5D1A8 800E6008 8FA50028 */ lw $a1, 0x28($sp)
/* B5D1AC 800E600C 0C0396E0 */ jal func_800E5B80
/* B5D1B0 800E6010 00000000 */ nop
.L800E6014:
/* B5D1B4 800E6014 8FBF0014 */ lw $ra, 0x14($sp)
/* B5D1B8 800E6018 27BD0028 */ addiu $sp, $sp, 0x28
/* B5D1BC 800E601C 03E00008 */ jr $ra
/* B5D1C0 800E6020 00000000 */ nop
glabel func_800E6024
/* B5D1C4 800E6024 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5D1C8 800E6028 3C0F8017 */ lui $t7, %hi(D_8016F180) # $t7, 0x8017
/* B5D1CC 800E602C AFBF0014 */ sw $ra, 0x14($sp)
/* B5D1D0 800E6030 25EFF180 */ addiu $t7, %lo(D_8016F180) # addiu $t7, $t7, -0xe80
/* B5D1D4 800E6034 240E0001 */ li $t6, 1
/* B5D1D8 800E6038 ADEE2984 */ sw $t6, 0x2984($t7)
/* B5D1DC 800E603C 3C188013 */ lui $t8, %hi(D_801304D8) # $t8, 0x8013
/* B5D1E0 800E6040 8F1804D8 */ lw $t8, %lo(D_801304D8)($t8)
/* B5D1E4 800E6044 53000007 */ beql $t8, $zero, .L800E6064
/* B5D1E8 800E6048 8FBF0014 */ lw $ra, 0x14($sp)
/* B5D1EC 800E604C 0C0397E2 */ jal func_800E5F88
/* B5D1F0 800E6050 00002025 */ move $a0, $zero
/* B5D1F4 800E6054 3C198017 */ lui $t9, %hi(D_8016F180) # $t9, 0x8017
/* B5D1F8 800E6058 2739F180 */ addiu $t9, %lo(D_8016F180) # addiu $t9, $t9, -0xe80
/* B5D1FC 800E605C A3203518 */ sb $zero, 0x3518($t9)
/* B5D200 800E6060 8FBF0014 */ lw $ra, 0x14($sp)
.L800E6064:
/* B5D204 800E6064 27BD0018 */ addiu $sp, $sp, 0x18
/* B5D208 800E6068 03E00008 */ jr $ra
/* B5D20C 800E606C 00000000 */ nop
glabel func_800E6070
/* B5D210 800E6070 00047080 */ sll $t6, $a0, 2
/* B5D214 800E6074 01C47023 */ subu $t6, $t6, $a0
/* B5D218 800E6078 000E7080 */ sll $t6, $t6, 2
/* B5D21C 800E607C 01C47023 */ subu $t6, $t6, $a0
/* B5D220 800E6080 3C0F8017 */ lui $t7, %hi(D_8016F180) # $t7, 0x8017
/* B5D224 800E6084 25EFF180 */ addiu $t7, %lo(D_8016F180) # addiu $t7, $t7, -0xe80
/* B5D228 800E6088 000E7140 */ sll $t6, $t6, 5
/* B5D22C 800E608C 01CF1821 */ addu $v1, $t6, $t7
/* B5D230 800E6090 8C783530 */ lw $t8, 0x3530($v1)
/* B5D234 800E6094 00054080 */ sll $t0, $a1, 2
/* B5D238 800E6098 00684821 */ addu $t1, $v1, $t0
/* B5D23C 800E609C 0018CFC2 */ srl $t9, $t8, 0x1f
/* B5D240 800E60A0 53200006 */ beql $t9, $zero, .L800E60BC
/* B5D244 800E60A4 2402FFFF */ li $v0, -1
/* B5D248 800E60A8 8D243568 */ lw $a0, 0x3568($t1)
/* B5D24C 800E60AC 00865021 */ addu $t2, $a0, $a2
/* B5D250 800E60B0 03E00008 */ jr $ra
/* B5D254 800E60B4 814200C4 */ lb $v0, 0xc4($t2)
/* B5D258 800E60B8 2402FFFF */ li $v0, -1
.L800E60BC:
/* B5D25C 800E60BC 03E00008 */ jr $ra
/* B5D260 800E60C0 00000000 */ nop
glabel func_800E60C4
/* B5D264 800E60C4 00047080 */ sll $t6, $a0, 2
/* B5D268 800E60C8 01C47023 */ subu $t6, $t6, $a0
/* B5D26C 800E60CC 000E7080 */ sll $t6, $t6, 2
/* B5D270 800E60D0 01C47023 */ subu $t6, $t6, $a0
/* B5D274 800E60D4 000E7140 */ sll $t6, $t6, 5
/* B5D278 800E60D8 01C57821 */ addu $t7, $t6, $a1
/* B5D27C 800E60DC 3C028017 */ lui $v0, %hi(D_80172808)
/* B5D280 800E60E0 004F1021 */ addu $v0, $v0, $t7
/* B5D284 800E60E4 03E00008 */ jr $ra
/* B5D288 800E60E8 80422808 */ lb $v0, %lo(D_80172808)($v0)
glabel func_800E60EC
/* B5D28C 800E60EC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5D290 800E60F0 00A03025 */ move $a2, $a1
/* B5D294 800E60F4 00802825 */ move $a1, $a0
/* B5D298 800E60F8 AFA40018 */ sw $a0, 0x18($sp)
/* B5D29C 800E60FC AFBF0014 */ sw $ra, 0x14($sp)
/* B5D2A0 800E6100 3C048017 */ lui $a0, %hi(D_80171B20) # $a0, 0x8017
/* B5D2A4 800E6104 0C03790D */ jal func_800DE434
/* B5D2A8 800E6108 24841B20 */ addiu $a0, %lo(D_80171B20) # addiu $a0, $a0, 0x1b20
/* B5D2AC 800E610C 8FBF0014 */ lw $ra, 0x14($sp)
/* B5D2B0 800E6110 27BD0018 */ addiu $sp, $sp, 0x18
/* B5D2B4 800E6114 03E00008 */ jr $ra
/* B5D2B8 800E6118 00000000 */ nop
glabel func_800E611C
/* B5D2BC 800E611C 3C018017 */ lui $at, %hi(D_80171B20)
/* B5D2C0 800E6120 03E00008 */ jr $ra
/* B5D2C4 800E6124 AC201B20 */ sw $zero, %lo(D_80171B20)($at)
glabel func_800E6128
/* B5D2C8 800E6128 90AE0000 */ lbu $t6, ($a1)
/* B5D2CC 800E612C 25CFFFBF */ addiu $t7, $t6, -0x41
/* B5D2D0 800E6130 2DE1000E */ sltiu $at, $t7, 0xe
/* B5D2D4 800E6134 10200070 */ beqz $at, .L800E62F8
/* B5D2D8 800E6138 000F7880 */ sll $t7, $t7, 2
/* B5D2DC 800E613C 3C018015 */ lui $at, %hi(jtbl_8014954C)
/* B5D2E0 800E6140 002F0821 */ addu $at, $at, $t7
/* B5D2E4 800E6144 8C2F954C */ lw $t7, %lo(jtbl_8014954C)($at)
/* B5D2E8 800E6148 01E00008 */ jr $t7
/* B5D2EC 800E614C 00000000 */ nop
glabel L800E6150
/* B5D2F0 800E6150 C4A00004 */ lwc1 $f0, 4($a1)
/* B5D2F4 800E6154 C484002C */ lwc1 $f4, 0x2c($a0)
/* B5D2F8 800E6158 46040032 */ c.eq.s $f0, $f4
/* B5D2FC 800E615C 00000000 */ nop
/* B5D300 800E6160 45010065 */ bc1t .L800E62F8
/* B5D304 800E6164 00000000 */ nop
/* B5D308 800E6168 90990000 */ lbu $t9, ($a0)
/* B5D30C 800E616C E480002C */ swc1 $f0, 0x2c($a0)
/* B5D310 800E6170 37280004 */ ori $t0, $t9, 4
/* B5D314 800E6174 03E00008 */ jr $ra
/* B5D318 800E6178 A0880000 */ sb $t0, ($a0)
glabel L800E617C
/* B5D31C 800E617C 8CA90004 */ lw $t1, 4($a1)
/* B5D320 800E6180 00095080 */ sll $t2, $t1, 2
/* B5D324 800E6184 01495023 */ subu $t2, $t2, $t1
/* B5D328 800E6188 000A5100 */ sll $t2, $t2, 4
/* B5D32C 800E618C 03E00008 */ jr $ra
/* B5D330 800E6190 A48A0008 */ sh $t2, 8($a0)
glabel L800E6194
/* B5D334 800E6194 8CAB0004 */ lw $t3, 4($a1)
/* B5D338 800E6198 000B6080 */ sll $t4, $t3, 2
/* B5D33C 800E619C 018B6023 */ subu $t4, $t4, $t3
/* B5D340 800E61A0 000C6100 */ sll $t4, $t4, 4
/* B5D344 800E61A4 03E00008 */ jr $ra
/* B5D348 800E61A8 A48C000C */ sh $t4, 0xc($a0)
glabel L800E61AC
/* B5D34C 800E61AC 8CAD0004 */ lw $t5, 4($a1)
/* B5D350 800E61B0 03E00008 */ jr $ra
/* B5D354 800E61B4 A48D000C */ sh $t5, 0xc($a0)
glabel L800E61B8
/* B5D358 800E61B8 80AE0004 */ lb $t6, 4($a1)
/* B5D35C 800E61BC 03E00008 */ jr $ra
/* B5D360 800E61C0 A48E000E */ sh $t6, 0xe($a0)
glabel L800E61C4
/* B5D364 800E61C4 90B80003 */ lbu $t8, 3($a1)
/* B5D368 800E61C8 80AF0004 */ lb $t7, 4($a1)
/* B5D36C 800E61CC 0098C821 */ addu $t9, $a0, $t8
/* B5D370 800E61D0 03E00008 */ jr $ra
/* B5D374 800E61D4 A32F0158 */ sb $t7, 0x158($t9)
glabel L800E61D8
/* B5D378 800E61D8 90A80002 */ lbu $t0, 2($a1)
/* B5D37C 800E61DC 3C0142FE */ li $at, 0x42FE0000 # 0.000000
/* B5D380 800E61E0 44815000 */ mtc1 $at, $f10
/* B5D384 800E61E4 44883000 */ mtc1 $t0, $f6
/* B5D388 800E61E8 00000000 */ nop
/* B5D38C 800E61EC 46803220 */ cvt.s.w $f8, $f6
/* B5D390 800E61F0 1000000A */ b .L800E621C
/* B5D394 800E61F4 460A4003 */ div.s $f0, $f8, $f10
glabel L800E61F8
/* B5D398 800E61F8 90A90002 */ lbu $t1, 2($a1)
/* B5D39C 800E61FC 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* B5D3A0 800E6200 44812000 */ mtc1 $at, $f4
/* B5D3A4 800E6204 44898000 */ mtc1 $t1, $f16
/* B5D3A8 800E6208 C488001C */ lwc1 $f8, 0x1c($a0)
/* B5D3AC 800E620C 468084A0 */ cvt.s.w $f18, $f16
/* B5D3B0 800E6210 46049183 */ div.s $f6, $f18, $f4
/* B5D3B4 800E6214 46083002 */ mul.s $f0, $f6, $f8
/* B5D3B8 800E6218 00000000 */ nop
.L800E621C:
/* B5D3BC 800E621C 908A0001 */ lbu $t2, 1($a0)
/* B5D3C0 800E6220 24010002 */ li $at, 2
/* B5D3C4 800E6224 11410034 */ beq $t2, $at, .L800E62F8
/* B5D3C8 800E6228 00000000 */ nop
/* B5D3CC 800E622C C482001C */ lwc1 $f2, 0x1c($a0)
/* B5D3D0 800E6230 E4820024 */ swc1 $f2, 0x24($a0)
/* B5D3D4 800E6234 8CA20004 */ lw $v0, 4($a1)
/* B5D3D8 800E6238 54400004 */ bnezl $v0, .L800E624C
/* B5D3DC 800E623C 44828000 */ mtc1 $v0, $f16
/* B5D3E0 800E6240 03E00008 */ jr $ra
/* B5D3E4 800E6244 E480001C */ swc1 $f0, 0x1c($a0)
/* B5D3E8 800E6248 44828000 */ mtc1 $v0, $f16
.L800E624C:
/* B5D3EC 800E624C 46020281 */ sub.s $f10, $f0, $f2
/* B5D3F0 800E6250 A0800001 */ sb $zero, 1($a0)
/* B5D3F4 800E6254 A4820012 */ sh $v0, 0x12($a0)
/* B5D3F8 800E6258 468084A0 */ cvt.s.w $f18, $f16
/* B5D3FC 800E625C 46125103 */ div.s $f4, $f10, $f18
/* B5D400 800E6260 03E00008 */ jr $ra
/* B5D404 800E6264 E4840020 */ swc1 $f4, 0x20($a0)
glabel L800E6268
/* B5D408 800E6268 908B0001 */ lbu $t3, 1($a0)
/* B5D40C 800E626C 24010002 */ li $at, 2
/* B5D410 800E6270 11610021 */ beq $t3, $at, .L800E62F8
/* B5D414 800E6274 00000000 */ nop
/* B5D418 800E6278 8CA20004 */ lw $v0, 4($a1)
/* B5D41C 800E627C 54400005 */ bnezl $v0, .L800E6294
/* B5D420 800E6280 44829000 */ mtc1 $v0, $f18
/* B5D424 800E6284 C4860024 */ lwc1 $f6, 0x24($a0)
/* B5D428 800E6288 03E00008 */ jr $ra
/* B5D42C 800E628C E486001C */ swc1 $f6, 0x1c($a0)
/* B5D430 800E6290 44829000 */ mtc1 $v0, $f18
.L800E6294:
/* B5D434 800E6294 C4880024 */ lwc1 $f8, 0x24($a0)
/* B5D438 800E6298 C490001C */ lwc1 $f16, 0x1c($a0)
/* B5D43C 800E629C 46809120 */ cvt.s.w $f4, $f18
/* B5D440 800E62A0 A0800001 */ sb $zero, 1($a0)
/* B5D444 800E62A4 A4820012 */ sh $v0, 0x12($a0)
/* B5D448 800E62A8 46104281 */ sub.s $f10, $f8, $f16
/* B5D44C 800E62AC 46045183 */ div.s $f6, $f10, $f4
/* B5D450 800E62B0 03E00008 */ jr $ra
/* B5D454 800E62B4 E4860020 */ swc1 $f6, 0x20($a0)
glabel L800E62B8
/* B5D458 800E62B8 C4A80004 */ lwc1 $f8, 4($a1)
/* B5D45C 800E62BC 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B5D460 800E62C0 44818000 */ mtc1 $at, $f16
/* B5D464 800E62C4 E4880034 */ swc1 $f8, 0x34($a0)
/* B5D468 800E62C8 C4920034 */ lwc1 $f18, 0x34($a0)
/* B5D46C 800E62CC 46128032 */ c.eq.s $f16, $f18
/* B5D470 800E62D0 00000000 */ nop
/* B5D474 800E62D4 45020006 */ bc1fl .L800E62F0
/* B5D478 800E62D8 90980000 */ lbu $t8, ($a0)
/* B5D47C 800E62DC 908C0000 */ lbu $t4, ($a0)
/* B5D480 800E62E0 318DFFFE */ andi $t5, $t4, 0xfffe
/* B5D484 800E62E4 03E00008 */ jr $ra
/* B5D488 800E62E8 A08D0000 */ sb $t5, ($a0)
/* B5D48C 800E62EC 90980000 */ lbu $t8, ($a0)
.L800E62F0:
/* B5D490 800E62F0 370F0001 */ ori $t7, $t8, 1
/* B5D494 800E62F4 A08F0000 */ sb $t7, ($a0)
.L800E62F8:
glabel L800E62F8
/* B5D498 800E62F8 03E00008 */ jr $ra
/* B5D49C 800E62FC 00000000 */ nop
glabel func_800E6300
/* B5D4A0 800E6300 90AE0000 */ lbu $t6, ($a1)
/* B5D4A4 800E6304 25CFFFFF */ addiu $t7, $t6, -1
/* B5D4A8 800E6308 2DE1000E */ sltiu $at, $t7, 0xe
/* B5D4AC 800E630C 10200066 */ beqz $at, .L800E64A8
/* B5D4B0 800E6310 000F7880 */ sll $t7, $t7, 2
/* B5D4B4 800E6314 3C018015 */ lui $at, %hi(jtbl_80149584)
/* B5D4B8 800E6318 002F0821 */ addu $at, $at, $t7
/* B5D4BC 800E631C 8C2F9584 */ lw $t7, %lo(jtbl_80149584)($at)
/* B5D4C0 800E6320 01E00008 */ jr $t7
/* B5D4C4 800E6324 00000000 */ nop
glabel L800E6328
/* B5D4C8 800E6328 C4A00004 */ lwc1 $f0, 4($a1)
/* B5D4CC 800E632C C4840028 */ lwc1 $f4, 0x28($a0)
/* B5D4D0 800E6330 46040032 */ c.eq.s $f0, $f4
/* B5D4D4 800E6334 00000000 */ nop
/* B5D4D8 800E6338 4501005B */ bc1t .L800E64A8
/* B5D4DC 800E633C 00000000 */ nop
/* B5D4E0 800E6340 90990001 */ lbu $t9, 1($a0)
/* B5D4E4 800E6344 E4800028 */ swc1 $f0, 0x28($a0)
/* B5D4E8 800E6348 37280040 */ ori $t0, $t9, 0x40
/* B5D4EC 800E634C 03E00008 */ jr $ra
/* B5D4F0 800E6350 A0880001 */ sb $t0, 1($a0)
glabel L800E6354
/* B5D4F4 800E6354 C4A00004 */ lwc1 $f0, 4($a1)
/* B5D4F8 800E6358 C486002C */ lwc1 $f6, 0x2c($a0)
/* B5D4FC 800E635C 46060032 */ c.eq.s $f0, $f6
/* B5D500 800E6360 00000000 */ nop
/* B5D504 800E6364 45010050 */ bc1t .L800E64A8
/* B5D508 800E6368 00000000 */ nop
/* B5D50C 800E636C 908A0001 */ lbu $t2, 1($a0)
/* B5D510 800E6370 E480002C */ swc1 $f0, 0x2c($a0)
/* B5D514 800E6374 354B0040 */ ori $t3, $t2, 0x40
/* B5D518 800E6378 03E00008 */ jr $ra
/* B5D51C 800E637C A08B0001 */ sb $t3, 1($a0)
glabel L800E6380
/* B5D520 800E6380 80A20004 */ lb $v0, 4($a1)
/* B5D524 800E6384 908C000A */ lbu $t4, 0xa($a0)
/* B5D528 800E6388 104C0047 */ beq $v0, $t4, .L800E64A8
/* B5D52C 800E638C 00000000 */ nop
/* B5D530 800E6390 908E0001 */ lbu $t6, 1($a0)
/* B5D534 800E6394 A082000A */ sb $v0, 0xa($a0)
/* B5D538 800E6398 35CF0020 */ ori $t7, $t6, 0x20
/* B5D53C 800E639C 03E00008 */ jr $ra
/* B5D540 800E63A0 A08F0001 */ sb $t7, 1($a0)
glabel L800E63A4
/* B5D544 800E63A4 80A20004 */ lb $v0, 4($a1)
/* B5D548 800E63A8 9098000A */ lbu $t8, 0xa($a0)
/* B5D54C 800E63AC 1058003E */ beq $v0, $t8, .L800E64A8
/* B5D550 800E63B0 00000000 */ nop
/* B5D554 800E63B4 90880001 */ lbu $t0, 1($a0)
/* B5D558 800E63B8 A082000B */ sb $v0, 0xb($a0)
/* B5D55C 800E63BC 35090020 */ ori $t1, $t0, 0x20
/* B5D560 800E63C0 03E00008 */ jr $ra
/* B5D564 800E63C4 A0890001 */ sb $t1, 1($a0)
glabel L800E63C8
/* B5D568 800E63C8 C4A00004 */ lwc1 $f0, 4($a1)
/* B5D56C 800E63CC C4880038 */ lwc1 $f8, 0x38($a0)
/* B5D570 800E63D0 46080032 */ c.eq.s $f0, $f8
/* B5D574 800E63D4 00000000 */ nop
/* B5D578 800E63D8 45010033 */ bc1t .L800E64A8
/* B5D57C 800E63DC 00000000 */ nop
/* B5D580 800E63E0 908B0001 */ lbu $t3, 1($a0)
/* B5D584 800E63E4 E4800038 */ swc1 $f0, 0x38($a0)
/* B5D588 800E63E8 356C0080 */ ori $t4, $t3, 0x80
/* B5D58C 800E63EC 03E00008 */ jr $ra
/* B5D590 800E63F0 A08C0001 */ sb $t4, 1($a0)
glabel L800E63F4
/* B5D594 800E63F4 80A20004 */ lb $v0, 4($a1)
/* B5D598 800E63F8 908D0004 */ lbu $t5, 4($a0)
/* B5D59C 800E63FC 104D002A */ beq $v0, $t5, .L800E64A8
/* B5D5A0 800E6400 00000000 */ nop
/* B5D5A4 800E6404 03E00008 */ jr $ra
/* B5D5A8 800E6408 A0820004 */ sb $v0, 4($a0)
glabel L800E640C
/* B5D5AC 800E640C 90A20003 */ lbu $v0, 3($a1)
/* B5D5B0 800E6410 28410008 */ slti $at, $v0, 8
/* B5D5B4 800E6414 10200024 */ beqz $at, .L800E64A8
/* B5D5B8 800E6418 00000000 */ nop
/* B5D5BC 800E641C 80AE0004 */ lb $t6, 4($a1)
/* B5D5C0 800E6420 00827821 */ addu $t7, $a0, $v0
/* B5D5C4 800E6424 03E00008 */ jr $ra
/* B5D5C8 800E6428 A1EE00C4 */ sb $t6, 0xc4($t7)
glabel L800E642C
/* B5D5CC 800E642C 80B90004 */ lb $t9, 4($a1)
/* B5D5D0 800E6430 908A0000 */ lbu $t2, ($a0)
/* B5D5D4 800E6434 00194100 */ sll $t0, $t9, 4
/* B5D5D8 800E6438 31090010 */ andi $t1, $t0, 0x10
/* B5D5DC 800E643C 314BFFEF */ andi $t3, $t2, 0xffef
/* B5D5E0 800E6440 012B6025 */ or $t4, $t1, $t3
/* B5D5E4 800E6444 03E00008 */ jr $ra
/* B5D5E8 800E6448 A08C0000 */ sb $t4, ($a0)
glabel L800E644C
/* B5D5EC 800E644C 80AD0004 */ lb $t5, 4($a1)
/* B5D5F0 800E6450 03E00008 */ jr $ra
/* B5D5F4 800E6454 A08D0003 */ sb $t5, 3($a0)
glabel L800E6458
/* B5D5F8 800E6458 90AE0004 */ lbu $t6, 4($a1)
/* B5D5FC 800E645C 24180001 */ li $t8, 1
/* B5D600 800E6460 A498001A */ sh $t8, 0x1a($a0)
/* B5D604 800E6464 000E78C0 */ sll $t7, $t6, 3
/* B5D608 800E6468 03E00008 */ jr $ra
/* B5D60C 800E646C A48F0016 */ sh $t7, 0x16($a0)
glabel L800E6470
/* B5D610 800E6470 90B90004 */ lbu $t9, 4($a1)
/* B5D614 800E6474 240A0001 */ li $t2, 1
/* B5D618 800E6478 A48A0018 */ sh $t2, 0x18($a0)
/* B5D61C 800E647C 00194140 */ sll $t0, $t9, 5
/* B5D620 800E6480 03E00008 */ jr $ra
/* B5D624 800E6484 A4880014 */ sh $t0, 0x14($a0)
glabel L800E6488
/* B5D628 800E6488 90A90004 */ lbu $t1, 4($a1)
/* B5D62C 800E648C 03E00008 */ jr $ra
/* B5D630 800E6490 A089000F */ sb $t1, 0xf($a0)
glabel L800E6494
/* B5D634 800E6494 94AB0004 */ lhu $t3, 4($a1)
/* B5D638 800E6498 03E00008 */ jr $ra
/* B5D63C 800E649C A48B0020 */ sh $t3, 0x20($a0)
glabel L800E64A0
/* B5D640 800E64A0 90AC0004 */ lbu $t4, 4($a1)
/* B5D644 800E64A4 A08C00D0 */ sb $t4, 0xd0($a0)
.L800E64A8:
/* B5D648 800E64A8 03E00008 */ jr $ra
/* B5D64C 800E64AC 00000000 */ nop
glabel func_800E64B0
/* B5D650 800E64B0 308E00FF */ andi $t6, $a0, 0xff
/* B5D654 800E64B4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5D658 800E64B8 000E7C00 */ sll $t7, $t6, 0x10
/* B5D65C 800E64BC 3C01FA00 */ lui $at, 0xfa00
/* B5D660 800E64C0 30A800FF */ andi $t0, $a1, 0xff
/* B5D664 800E64C4 00084A00 */ sll $t1, $t0, 8
/* B5D668 800E64C8 01E1C025 */ or $t8, $t7, $at
/* B5D66C 800E64CC AFBF0014 */ sw $ra, 0x14($sp)
/* B5D670 800E64D0 AFA5001C */ sw $a1, 0x1c($sp)
/* B5D674 800E64D4 03095025 */ or $t2, $t8, $t1
/* B5D678 800E64D8 30CB00FF */ andi $t3, $a2, 0xff
/* B5D67C 800E64DC 014B2025 */ or $a0, $t2, $t3
/* B5D680 800E64E0 0C0396BF */ jal func_800E5AFC
/* B5D684 800E64E4 24050001 */ li $a1, 1
/* B5D688 800E64E8 8FBF0014 */ lw $ra, 0x14($sp)
/* B5D68C 800E64EC 27BD0018 */ addiu $sp, $sp, 0x18
/* B5D690 800E64F0 03E00008 */ jr $ra
/* B5D694 800E64F4 00000000 */ nop
glabel func_800E64F8
/* B5D698 800E64F8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5D69C 800E64FC AFBF0014 */ sw $ra, 0x14($sp)
/* B5D6A0 800E6500 3C04FA00 */ lui $a0, 0xfa00
/* B5D6A4 800E6504 0C0396BF */ jal func_800E5AFC
/* B5D6A8 800E6508 00002825 */ move $a1, $zero
/* B5D6AC 800E650C 8FBF0014 */ lw $ra, 0x14($sp)
/* B5D6B0 800E6510 27BD0018 */ addiu $sp, $sp, 0x18
/* B5D6B4 800E6514 03E00008 */ jr $ra
/* B5D6B8 800E6518 00000000 */ nop
glabel func_800E651C
/* B5D6BC 800E651C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5D6C0 800E6520 00A03025 */ move $a2, $a1
/* B5D6C4 800E6524 00802825 */ move $a1, $a0
/* B5D6C8 800E6528 AFA40018 */ sw $a0, 0x18($sp)
/* B5D6CC 800E652C AFBF0014 */ sw $ra, 0x14($sp)
/* B5D6D0 800E6530 30C400FF */ andi $a0, $a2, 0xff
/* B5D6D4 800E6534 3C01FD00 */ lui $at, 0xfd00
/* B5D6D8 800E6538 0C0396BF */ jal func_800E5AFC
/* B5D6DC 800E653C 00812025 */ or $a0, $a0, $at
/* B5D6E0 800E6540 8FBF0014 */ lw $ra, 0x14($sp)
/* B5D6E4 800E6544 27BD0018 */ addiu $sp, $sp, 0x18
/* B5D6E8 800E6548 03E00008 */ jr $ra
/* B5D6EC 800E654C 00000000 */ nop
glabel func_800E6550
/* B5D6F0 800E6550 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5D6F4 800E6554 AFBF0014 */ sw $ra, 0x14($sp)
/* B5D6F8 800E6558 3C048017 */ lui $a0, %hi(D_80174D68) # $a0, 0x8017
/* B5D6FC 800E655C 8C844D68 */ lw $a0, %lo(D_80174D68)($a0)
/* B5D700 800E6560 00002825 */ move $a1, $zero
/* B5D704 800E6564 0C000CA0 */ jal osRecvMesg
/* B5D708 800E6568 00003025 */ move $a2, $zero
/* B5D70C 800E656C 3C048017 */ lui $a0, %hi(D_80174D68) # $a0, 0x8017
/* B5D710 800E6570 8C844D68 */ lw $a0, %lo(D_80174D68)($a0)
/* B5D714 800E6574 00002825 */ move $a1, $zero
/* B5D718 800E6578 0C000CA0 */ jal osRecvMesg
/* B5D71C 800E657C 24060001 */ li $a2, 1
/* B5D720 800E6580 8FBF0014 */ lw $ra, 0x14($sp)
/* B5D724 800E6584 27BD0018 */ addiu $sp, $sp, 0x18
/* B5D728 800E6588 03E00008 */ jr $ra
/* B5D72C 800E658C 00000000 */ nop
glabel func_800E6590
/* B5D730 800E6590 00047080 */ sll $t6, $a0, 2
/* B5D734 800E6594 01C47023 */ subu $t6, $t6, $a0
/* B5D738 800E6598 000E7080 */ sll $t6, $t6, 2
/* B5D73C 800E659C 01C47023 */ subu $t6, $t6, $a0
/* B5D740 800E65A0 3C0F8017 */ lui $t7, %hi(D_8016F180) # $t7, 0x8017
/* B5D744 800E65A4 25EFF180 */ addiu $t7, %lo(D_8016F180) # addiu $t7, $t7, -0xe80
/* B5D748 800E65A8 000E7140 */ sll $t6, $t6, 5
/* B5D74C 800E65AC 01CF1021 */ addu $v0, $t6, $t7
/* B5D750 800E65B0 8C583530 */ lw $t8, 0x3530($v0)
/* B5D754 800E65B4 00054080 */ sll $t0, $a1, 2
/* B5D758 800E65B8 00484821 */ addu $t1, $v0, $t0
/* B5D75C 800E65BC 0018CFC2 */ srl $t9, $t8, 0x1f
/* B5D760 800E65C0 5320002D */ beql $t9, $zero, .L800E6678
/* B5D764 800E65C4 00001025 */ move $v0, $zero
/* B5D768 800E65C8 8D233568 */ lw $v1, 0x3568($t1)
/* B5D76C 800E65CC 00066080 */ sll $t4, $a2, 2
/* B5D770 800E65D0 8C6A0000 */ lw $t2, ($v1)
/* B5D774 800E65D4 006C6821 */ addu $t5, $v1, $t4
/* B5D778 800E65D8 000A5FC2 */ srl $t3, $t2, 0x1f
/* B5D77C 800E65DC 51600026 */ beql $t3, $zero, .L800E6678
/* B5D780 800E65E0 00001025 */ move $v0, $zero
/* B5D784 800E65E4 8DA20050 */ lw $v0, 0x50($t5)
/* B5D788 800E65E8 54400004 */ bnezl $v0, .L800E65FC
/* B5D78C 800E65EC 8C430000 */ lw $v1, ($v0)
/* B5D790 800E65F0 03E00008 */ jr $ra
/* B5D794 800E65F4 00001025 */ move $v0, $zero
/* B5D798 800E65F8 8C430000 */ lw $v1, ($v0)
.L800E65FC:
/* B5D79C 800E65FC 000377C2 */ srl $t6, $v1, 0x1f
/* B5D7A0 800E6600 51C0001D */ beql $t6, $zero, .L800E6678
/* B5D7A4 800E6604 00001025 */ move $v0, $zero
/* B5D7A8 800E6608 8C44002C */ lw $a0, 0x2c($v0)
/* B5D7AC 800E660C 0003C100 */ sll $t8, $v1, 4
/* B5D7B0 800E6610 14800003 */ bnez $a0, .L800E6620
/* B5D7B4 800E6614 00000000 */ nop
/* B5D7B8 800E6618 03E00008 */ jr $ra
/* B5D7BC 800E661C 00001025 */ move $v0, $zero
.L800E6620:
/* B5D7C0 800E6620 07020004 */ bltzl $t8, .L800E6634
/* B5D7C4 800E6624 8C990044 */ lw $t9, 0x44($a0)
/* B5D7C8 800E6628 03E00008 */ jr $ra
/* B5D7CC 800E662C 00001025 */ move $v0, $zero
/* B5D7D0 800E6630 8C990044 */ lw $t9, 0x44($a0)
.L800E6634:
/* B5D7D4 800E6634 00801825 */ move $v1, $a0
/* B5D7D8 800E6638 1459000C */ bne $v0, $t9, .L800E666C
/* B5D7DC 800E663C 00000000 */ nop
/* B5D7E0 800E6640 8C8400D0 */ lw $a0, 0xd0($a0)
/* B5D7E4 800E6644 54800004 */ bnezl $a0, .L800E6658
/* B5D7E8 800E6648 8C880000 */ lw $t0, ($a0)
/* B5D7EC 800E664C 03E00008 */ jr $ra
/* B5D7F0 800E6650 00001025 */ move $v0, $zero
/* B5D7F4 800E6654 8C880000 */ lw $t0, ($a0)
.L800E6658:
/* B5D7F8 800E6658 8C660018 */ lw $a2, 0x18($v1)
/* B5D7FC 800E665C 8D090008 */ lw $t1, 8($t0)
/* B5D800 800E6660 8D250004 */ lw $a1, 4($t1)
/* B5D804 800E6664 03E00008 */ jr $ra
/* B5D808 800E6668 00A61023 */ subu $v0, $a1, $a2
.L800E666C:
/* B5D80C 800E666C 03E00008 */ jr $ra
/* B5D810 800E6670 00001025 */ move $v0, $zero
/* B5D814 800E6674 00001025 */ move $v0, $zero
.L800E6678:
/* B5D818 800E6678 03E00008 */ jr $ra
/* B5D81C 800E667C 00000000 */ nop
glabel func_800E6680
/* B5D820 800E6680 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5D824 800E6684 AFBF0014 */ sw $ra, 0x14($sp)
/* B5D828 800E6688 0C0399B0 */ jal func_800E66C0
/* B5D82C 800E668C 00002025 */ move $a0, $zero
/* B5D830 800E6690 8FBF0014 */ lw $ra, 0x14($sp)
/* B5D834 800E6694 27BD0018 */ addiu $sp, $sp, 0x18
/* B5D838 800E6698 03E00008 */ jr $ra
/* B5D83C 800E669C 00000000 */ nop
glabel func_800E66A0
/* B5D840 800E66A0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5D844 800E66A4 AFBF0014 */ sw $ra, 0x14($sp)
/* B5D848 800E66A8 0C0399B0 */ jal func_800E66C0
/* B5D84C 800E66AC 24040002 */ li $a0, 2
/* B5D850 800E66B0 8FBF0014 */ lw $ra, 0x14($sp)
/* B5D854 800E66B4 27BD0018 */ addiu $sp, $sp, 0x18
/* B5D858 800E66B8 03E00008 */ jr $ra
/* B5D85C 800E66BC 00000000 */ nop
glabel func_800E66C0
/* B5D860 800E66C0 3C0A8017 */ lui $t2, %hi(D_8016F180) # $t2, 0x8017
/* B5D864 800E66C4 254AF180 */ addiu $t2, %lo(D_8016F180) # addiu $t2, $t2, -0xe80
/* B5D868 800E66C8 8D452894 */ lw $a1, 0x2894($t2)
/* B5D86C 800E66CC 27BDFFF8 */ addiu $sp, $sp, -8
/* B5D870 800E66D0 AFB00004 */ sw $s0, 4($sp)
/* B5D874 800E66D4 00808025 */ move $s0, $a0
/* B5D878 800E66D8 18A00035 */ blez $a1, .L800E67B0
/* B5D87C 800E66DC 00001825 */ move $v1, $zero
/* B5D880 800E66E0 00002025 */ move $a0, $zero
/* B5D884 800E66E4 240B0001 */ li $t3, 1
/* B5D888 800E66E8 8D4E352C */ lw $t6, 0x352c($t2)
.L800E66EC:
/* B5D88C 800E66EC 008E1021 */ addu $v0, $a0, $t6
/* B5D890 800E66F0 8C4F00C0 */ lw $t7, 0xc0($v0)
/* B5D894 800E66F4 248400E0 */ addiu $a0, $a0, 0xe0
/* B5D898 800E66F8 24460030 */ addiu $a2, $v0, 0x30
/* B5D89C 800E66FC 000FC7C2 */ srl $t8, $t7, 0x1f
/* B5D8A0 800E6700 53000026 */ beql $t8, $zero, .L800E679C
/* B5D8A4 800E6704 000510C0 */ sll $v0, $a1, 3
/* B5D8A8 800E6708 90C90040 */ lbu $t1, 0x40($a2)
/* B5D8AC 800E670C 2A010002 */ slti $at, $s0, 2
/* B5D8B0 800E6710 3139000F */ andi $t9, $t1, 0xf
/* B5D8B4 800E6714 53200021 */ beql $t9, $zero, .L800E679C
/* B5D8B8 800E6718 000510C0 */ sll $v0, $a1, 3
/* B5D8BC 800E671C 14200016 */ bnez $at, .L800E6778
/* B5D8C0 800E6720 244700C0 */ addiu $a3, $v0, 0xc0
/* B5D8C4 800E6724 8CE80010 */ lw $t0, 0x10($a3)
/* B5D8C8 800E6728 000510C0 */ sll $v0, $a1, 3
/* B5D8CC 800E672C 00451023 */ subu $v0, $v0, $a1
/* B5D8D0 800E6730 11000005 */ beqz $t0, .L800E6748
/* B5D8D4 800E6734 00000000 */ nop
/* B5D8D8 800E6738 8CEC0000 */ lw $t4, ($a3)
/* B5D8DC 800E673C 000C7340 */ sll $t6, $t4, 0xd
/* B5D8E0 800E6740 05C30004 */ bgezl $t6, .L800E6754
/* B5D8E4 800E6744 8D0F0000 */ lw $t7, ($t0)
.L800E6748:
/* B5D8E8 800E6748 10000016 */ b .L800E67A4
/* B5D8EC 800E674C 00021140 */ sll $v0, $v0, 5
/* B5D8F0 800E6750 8D0F0000 */ lw $t7, ($t0)
.L800E6754:
/* B5D8F4 800E6754 000510C0 */ sll $v0, $a1, 3
/* B5D8F8 800E6758 00451023 */ subu $v0, $v0, $a1
/* B5D8FC 800E675C 8DF80000 */ lw $t8, ($t7)
/* B5D900 800E6760 0018C900 */ sll $t9, $t8, 4
/* B5D904 800E6764 00196782 */ srl $t4, $t9, 0x1e
/* B5D908 800E6768 55800004 */ bnezl $t4, .L800E677C
/* B5D90C 800E676C 320D0001 */ andi $t5, $s0, 1
/* B5D910 800E6770 1000000C */ b .L800E67A4
/* B5D914 800E6774 00021140 */ sll $v0, $v0, 5
.L800E6778:
/* B5D918 800E6778 320D0001 */ andi $t5, $s0, 1
.L800E677C:
/* B5D91C 800E677C 156D0006 */ bne $t3, $t5, .L800E6798
/* B5D920 800E6780 24630001 */ addiu $v1, $v1, 1
/* B5D924 800E6784 C5442864 */ lwc1 $f4, 0x2864($t2)
/* B5D928 800E6788 352F0010 */ ori $t7, $t1, 0x10
/* B5D92C 800E678C A0CF0040 */ sb $t7, 0x40($a2)
/* B5D930 800E6790 E4C4004C */ swc1 $f4, 0x4c($a2)
/* B5D934 800E6794 8D452894 */ lw $a1, 0x2894($t2)
.L800E6798:
/* B5D938 800E6798 000510C0 */ sll $v0, $a1, 3
.L800E679C:
/* B5D93C 800E679C 00451023 */ subu $v0, $v0, $a1
/* B5D940 800E67A0 00021140 */ sll $v0, $v0, 5
.L800E67A4:
/* B5D944 800E67A4 0082082A */ slt $at, $a0, $v0
/* B5D948 800E67A8 5420FFD0 */ bnezl $at, .L800E66EC
/* B5D94C 800E67AC 8D4E352C */ lw $t6, 0x352c($t2)
.L800E67B0:
/* B5D950 800E67B0 8FB00004 */ lw $s0, 4($sp)
/* B5D954 800E67B4 27BD0008 */ addiu $sp, $sp, 8
/* B5D958 800E67B8 03E00008 */ jr $ra
/* B5D95C 800E67BC 00601025 */ move $v0, $v1
glabel func_800E67C0
/* B5D960 800E67C0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5D964 800E67C4 AFBF0014 */ sw $ra, 0x14($sp)
/* B5D968 800E67C8 0C001BA8 */ jal osGetCount
/* B5D96C 800E67CC 00000000 */ nop
/* B5D970 800E67D0 3C048017 */ lui $a0, %hi(D_8016F180) # $a0, 0x8017
/* B5D974 800E67D4 2484F180 */ addiu $a0, %lo(D_8016F180) # addiu $a0, $a0, -0xe80
/* B5D978 800E67D8 3C038013 */ lui $v1, %hi(D_801304F0) # $v1, 0x8013
/* B5D97C 800E67DC 8C6304F0 */ lw $v1, %lo(D_801304F0)($v1)
/* B5D980 800E67E0 8C8F289C */ lw $t7, 0x289c($a0)
/* B5D984 800E67E4 3C010123 */ lui $at, (0x01234567 >> 16) # lui $at, 0x123
/* B5D988 800E67E8 34214567 */ ori $at, (0x01234567 & 0xFFFF) # ori $at, $at, 0x4567
/* B5D98C 800E67EC 00417021 */ addu $t6, $v0, $at
/* B5D990 800E67F0 006FC021 */ addu $t8, $v1, $t7
/* B5D994 800E67F4 01D80019 */ multu $t6, $t8
/* B5D998 800E67F8 8C99297C */ lw $t9, 0x297c($a0)
/* B5D99C 800E67FC 8FBF0014 */ lw $ra, 0x14($sp)
/* B5D9A0 800E6800 3C018013 */ lui $at, %hi(D_801304F0)
/* B5D9A4 800E6804 27BD0018 */ addiu $sp, $sp, 0x18
/* B5D9A8 800E6808 00001812 */ mflo $v1
/* B5D9AC 800E680C 00791021 */ addu $v0, $v1, $t9
/* B5D9B0 800E6810 03E00008 */ jr $ra
/* B5D9B4 800E6814 AC2204F0 */ sw $v0, %lo(D_801304F0)($at)
glabel func_800E6818
/* B5D9B8 800E6818 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5D9BC 800E681C AFBF0014 */ sw $ra, 0x14($sp)
/* B5D9C0 800E6820 0C03967D */ jal func_800E59F4
/* B5D9C4 800E6824 00000000 */ nop
/* B5D9C8 800E6828 8FBF0014 */ lw $ra, 0x14($sp)
/* B5D9CC 800E682C 27BD0018 */ addiu $sp, $sp, 0x18
/* B5D9D0 800E6830 03E00008 */ jr $ra
/* B5D9D4 800E6834 00000000 */ nop