1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-29 03:34:07 +00:00
oot/asm/code_800F7260.s
Roman971 53ceea717d
Properly align asm & data (+ minor fixes) (#165)
* Add .align 4 directives to all data/ files (+ minor alignment fixes)

* Use .balign for everything and fix typo
2020-05-26 18:09:00 -04:00

2259 lines
108 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 purpose registers
.section .text
.balign 16
glabel func_800F7260
/* B6E400 800F7260 AFA40000 */ sw $a0, ($sp)
/* B6E404 800F7264 3C058017 */ lui $a1, %hi(D_8016E264) # $a1, 0x8017
/* B6E408 800F7268 3084FFFF */ andi $a0, $a0, 0xffff
/* B6E40C 800F726C 24A5E264 */ addiu $a1, %lo(D_8016E264) # addiu $a1, $a1, -0x1d9c
/* B6E410 800F7270 00001025 */ move $v0, $zero
/* B6E414 800F7274 24060001 */ li $a2, 1
.L800F7278:
/* B6E418 800F7278 308E0001 */ andi $t6, $a0, 1
/* B6E41C 800F727C 11C00004 */ beqz $t6, .L800F7290
/* B6E420 800F7280 00801825 */ move $v1, $a0
/* B6E424 800F7284 00A27821 */ addu $t7, $a1, $v0
/* B6E428 800F7288 10000003 */ b .L800F7298
/* B6E42C 800F728C A1E60000 */ sb $a2, ($t7)
.L800F7290:
/* B6E430 800F7290 00A2C021 */ addu $t8, $a1, $v0
/* B6E434 800F7294 A3000000 */ sb $zero, ($t8)
.L800F7298:
/* B6E438 800F7298 24420001 */ addiu $v0, $v0, 1
/* B6E43C 800F729C 304200FF */ andi $v0, $v0, 0xff
/* B6E440 800F72A0 28410007 */ slti $at, $v0, 7
/* B6E444 800F72A4 00032043 */ sra $a0, $v1, 1
/* B6E448 800F72A8 1420FFF3 */ bnez $at, .L800F7278
/* B6E44C 800F72AC 3084FFFF */ andi $a0, $a0, 0xffff
/* B6E450 800F72B0 03E00008 */ jr $ra
/* B6E454 800F72B4 00000000 */ nop
glabel func_800F72B8
/* B6E458 800F72B8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B6E45C 800F72BC AFA40018 */ sw $a0, 0x18($sp)
/* B6E460 800F72C0 3C028013 */ lui $v0, %hi(D_801333D0) # $v0, 0x8013
/* B6E464 800F72C4 93AF001B */ lbu $t7, 0x1b($sp)
/* B6E468 800F72C8 244233D0 */ addiu $v0, %lo(D_801333D0) # addiu $v0, $v0, 0x33d0
/* B6E46C 800F72CC 944E0000 */ lhu $t6, ($v0)
/* B6E470 800F72D0 24180001 */ li $t8, 1
/* B6E474 800F72D4 01F8C804 */ sllv $t9, $t8, $t7
/* B6E478 800F72D8 AFBF0014 */ sw $ra, 0x14($sp)
/* B6E47C 800F72DC 01D94025 */ or $t0, $t6, $t9
/* B6E480 800F72E0 A4480000 */ sh $t0, ($v0)
/* B6E484 800F72E4 00002025 */ move $a0, $zero
/* B6E488 800F72E8 24050002 */ li $a1, 2
/* B6E48C 800F72EC 24060040 */ li $a2, 64
/* B6E490 800F72F0 0C03E890 */ jal func_800FA240
/* B6E494 800F72F4 2407000F */ li $a3, 15
/* B6E498 800F72F8 24040003 */ li $a0, 3
/* B6E49C 800F72FC 24050002 */ li $a1, 2
/* B6E4A0 800F7300 24060040 */ li $a2, 64
/* B6E4A4 800F7304 0C03E890 */ jal func_800FA240
/* B6E4A8 800F7308 2407000F */ li $a3, 15
/* B6E4AC 800F730C 8FBF0014 */ lw $ra, 0x14($sp)
/* B6E4B0 800F7310 27BD0018 */ addiu $sp, $sp, 0x18
/* B6E4B4 800F7314 03E00008 */ jr $ra
/* B6E4B8 800F7318 00000000 */ nop
glabel func_800F731C
/* B6E4BC 800F731C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B6E4C0 800F7320 3C028013 */ lui $v0, %hi(D_801333D0) # $v0, 0x8013
/* B6E4C4 800F7324 244233D0 */ addiu $v0, %lo(D_801333D0) # addiu $v0, $v0, 0x33d0
/* B6E4C8 800F7328 AFA40018 */ sw $a0, 0x18($sp)
/* B6E4CC 800F732C 944E0000 */ lhu $t6, ($v0)
/* B6E4D0 800F7330 308400FF */ andi $a0, $a0, 0xff
/* B6E4D4 800F7334 240F0001 */ li $t7, 1
/* B6E4D8 800F7338 008FC004 */ sllv $t8, $t7, $a0
/* B6E4DC 800F733C 3B19FFFF */ xori $t9, $t8, 0xffff
/* B6E4E0 800F7340 01D94024 */ and $t0, $t6, $t9
/* B6E4E4 800F7344 3109FFFF */ andi $t1, $t0, 0xffff
/* B6E4E8 800F7348 AFBF0014 */ sw $ra, 0x14($sp)
/* B6E4EC 800F734C 1520000B */ bnez $t1, .L800F737C
/* B6E4F0 800F7350 A4480000 */ sh $t0, ($v0)
/* B6E4F4 800F7354 00002025 */ move $a0, $zero
/* B6E4F8 800F7358 24050002 */ li $a1, 2
/* B6E4FC 800F735C 2406007F */ li $a2, 127
/* B6E500 800F7360 0C03E890 */ jal func_800FA240
/* B6E504 800F7364 2407000F */ li $a3, 15
/* B6E508 800F7368 24040003 */ li $a0, 3
/* B6E50C 800F736C 24050002 */ li $a1, 2
/* B6E510 800F7370 2406007F */ li $a2, 127
/* B6E514 800F7374 0C03E890 */ jal func_800FA240
/* B6E518 800F7378 2407000F */ li $a3, 15
.L800F737C:
/* B6E51C 800F737C 8FBF0014 */ lw $ra, 0x14($sp)
/* B6E520 800F7380 27BD0018 */ addiu $sp, $sp, 0x18
/* B6E524 800F7384 03E00008 */ jr $ra
/* B6E528 800F7388 00000000 */ nop
glabel Audio_PlaySoundGeneral
/* B6E52C 800F738C 27BDFFF0 */ addiu $sp, $sp, -0x10
/* B6E530 800F7390 AFA40010 */ sw $a0, 0x10($sp)
/* B6E534 800F7394 3084FFFF */ andi $a0, $a0, 0xffff
/* B6E538 800F7398 00047303 */ sra $t6, $a0, 0xc
/* B6E53C 800F739C 31CF00FF */ andi $t7, $t6, 0xff
/* B6E540 800F73A0 3C188017 */ lui $t8, %hi(D_8016E264)
/* B6E544 800F73A4 030FC021 */ addu $t8, $t8, $t7
/* B6E548 800F73A8 9318E264 */ lbu $t8, %lo(D_8016E264)($t8)
/* B6E54C 800F73AC AFB00004 */ sw $s0, 4($sp)
/* B6E550 800F73B0 AFA60018 */ sw $a2, 0x18($sp)
/* B6E554 800F73B4 30C600FF */ andi $a2, $a2, 0xff
/* B6E558 800F73B8 00A08025 */ move $s0, $a1
/* B6E55C 800F73BC AFB2000C */ sw $s2, 0xc($sp)
/* B6E560 800F73C0 17000042 */ bnez $t8, .L800F74CC
/* B6E564 800F73C4 AFB10008 */ sw $s1, 8($sp)
/* B6E568 800F73C8 3C0B8013 */ lui $t3, %hi(D_801333A0) # $t3, 0x8013
/* B6E56C 800F73CC 256B33A0 */ addiu $t3, %lo(D_801333A0) # addiu $t3, $t3, 0x33a0
/* B6E570 800F73D0 91790000 */ lbu $t9, ($t3)
/* B6E574 800F73D4 240C0018 */ li $t4, 24
/* B6E578 800F73D8 3C0F8013 */ lui $t7, %hi(D_801333F4) # $t7, 0x8013
/* B6E57C 800F73DC 032C0019 */ multu $t9, $t4
/* B6E580 800F73E0 91EF33F4 */ lbu $t7, %lo(D_801333F4)($t7)
/* B6E584 800F73E4 3C0A8017 */ lui $t2, %hi(D_8016C9A0) # $t2, 0x8017
/* B6E588 800F73E8 254AC9A0 */ addiu $t2, %lo(D_8016C9A0) # addiu $t2, $t2, -0x3660
/* B6E58C 800F73EC 3C128017 */ lui $s2, %hi(D_8016E2F8) # $s2, 0x8017
/* B6E590 800F73F0 3C118017 */ lui $s1, %hi(D_8016E310) # $s1, 0x8017
/* B6E594 800F73F4 3C0D8017 */ lui $t5, %hi(D_8016E2E0) # $t5, 0x8017
/* B6E598 800F73F8 25ADE2E0 */ addiu $t5, %lo(D_8016E2E0) # addiu $t5, $t5, -0x1d20
/* B6E59C 800F73FC 2631E310 */ addiu $s1, %lo(D_8016E310) # addiu $s1, $s1, -0x1cf0
/* B6E5A0 800F7400 2652E2F8 */ addiu $s2, %lo(D_8016E2F8) # addiu $s2, $s2, -0x1d08
/* B6E5A4 800F7404 00007012 */ mflo $t6
/* B6E5A8 800F7408 014E1021 */ addu $v0, $t2, $t6
/* B6E5AC 800F740C 15E00024 */ bnez $t7, .L800F74A0
/* B6E5B0 800F7410 00001825 */ move $v1, $zero
/* B6E5B4 800F7414 8FA90024 */ lw $t1, 0x24($sp)
/* B6E5B8 800F7418 8FA80020 */ lw $t0, 0x20($sp)
/* B6E5BC 800F741C 00032840 */ sll $a1, $v1, 1
.L800F7420:
/* B6E5C0 800F7420 01A5C021 */ addu $t8, $t5, $a1
/* B6E5C4 800F7424 97190000 */ lhu $t9, ($t8)
/* B6E5C8 800F7428 02237021 */ addu $t6, $s1, $v1
/* B6E5CC 800F742C 54990018 */ bnel $a0, $t9, .L800F7490
/* B6E5D0 800F7430 24630001 */ addiu $v1, $v1, 1
/* B6E5D4 800F7434 91CF0000 */ lbu $t7, ($t6)
/* B6E5D8 800F7438 0245C021 */ addu $t8, $s2, $a1
/* B6E5DC 800F743C 0245C821 */ addu $t9, $s2, $a1
/* B6E5E0 800F7440 15E00003 */ bnez $t7, .L800F7450
/* B6E5E4 800F7444 2403000A */ li $v1, 10
/* B6E5E8 800F7448 10000010 */ b .L800F748C
/* B6E5EC 800F744C 97040000 */ lhu $a0, ($t8)
.L800F7450:
/* B6E5F0 800F7450 972E0000 */ lhu $t6, ($t9)
/* B6E5F4 800F7454 AC500004 */ sw $s0, 4($v0)
/* B6E5F8 800F7458 A0460008 */ sb $a2, 8($v0)
/* B6E5FC 800F745C AC47000C */ sw $a3, 0xc($v0)
/* B6E600 800F7460 AC480010 */ sw $t0, 0x10($v0)
/* B6E604 800F7464 AC490014 */ sw $t1, 0x14($v0)
/* B6E608 800F7468 A44E0000 */ sh $t6, ($v0)
/* B6E60C 800F746C 916F0000 */ lbu $t7, ($t3)
/* B6E610 800F7470 25F80001 */ addiu $t8, $t7, 1
/* B6E614 800F7474 331900FF */ andi $t9, $t8, 0xff
/* B6E618 800F7478 032C0019 */ multu $t9, $t4
/* B6E61C 800F747C A1780000 */ sb $t8, ($t3)
/* B6E620 800F7480 00007012 */ mflo $t6
/* B6E624 800F7484 014E1021 */ addu $v0, $t2, $t6
/* B6E628 800F7488 00000000 */ nop
.L800F748C:
/* B6E62C 800F748C 24630001 */ addiu $v1, $v1, 1
.L800F7490:
/* B6E630 800F7490 306300FF */ andi $v1, $v1, 0xff
/* B6E634 800F7494 2861000A */ slti $at, $v1, 0xa
/* B6E638 800F7498 5420FFE1 */ bnezl $at, .L800F7420
/* B6E63C 800F749C 00032840 */ sll $a1, $v1, 1
.L800F74A0:
/* B6E640 800F74A0 8FA80020 */ lw $t0, 0x20($sp)
/* B6E644 800F74A4 8FA90024 */ lw $t1, 0x24($sp)
/* B6E648 800F74A8 A4440000 */ sh $a0, ($v0)
/* B6E64C 800F74AC AC500004 */ sw $s0, 4($v0)
/* B6E650 800F74B0 A0460008 */ sb $a2, 8($v0)
/* B6E654 800F74B4 AC47000C */ sw $a3, 0xc($v0)
/* B6E658 800F74B8 AC480010 */ sw $t0, 0x10($v0)
/* B6E65C 800F74BC AC490014 */ sw $t1, 0x14($v0)
/* B6E660 800F74C0 916F0000 */ lbu $t7, ($t3)
/* B6E664 800F74C4 25F80001 */ addiu $t8, $t7, 1
/* B6E668 800F74C8 A1780000 */ sb $t8, ($t3)
.L800F74CC:
/* B6E66C 800F74CC 8FB00004 */ lw $s0, 4($sp)
/* B6E670 800F74D0 8FB10008 */ lw $s1, 8($sp)
/* B6E674 800F74D4 8FB2000C */ lw $s2, 0xc($sp)
/* B6E678 800F74D8 03E00008 */ jr $ra
/* B6E67C 800F74DC 27BD0010 */ addiu $sp, $sp, 0x10
glabel func_800F74E0
/* B6E680 800F74E0 3C028013 */ lui $v0, %hi(D_801333A0) # $v0, 0x8013
/* B6E684 800F74E4 3C038013 */ lui $v1, %hi(D_801333A0) # $v1, 0x8013
/* B6E688 800F74E8 904233A4 */ lbu $v0, %lo(D_801333A4)($v0)
/* B6E68C 800F74EC 906333A0 */ lbu $v1, %lo(D_801333A0)($v1)
/* B6E690 800F74F0 AFA40000 */ sw $a0, ($sp)
/* B6E694 800F74F4 308400FF */ andi $a0, $a0, 0xff
/* B6E698 800F74F8 1062005F */ beq $v1, $v0, .L800F7678
/* B6E69C 800F74FC 00A03825 */ move $a3, $a1
/* B6E6A0 800F7500 3C088017 */ lui $t0, %hi(D_8016C9A0) # $t0, 0x8017
/* B6E6A4 800F7504 2508C9A0 */ addiu $t0, %lo(D_8016C9A0) # addiu $t0, $t0, -0x3660
/* B6E6A8 800F7508 00803025 */ move $a2, $a0
/* B6E6AC 800F750C 24090018 */ li $t1, 24
/* B6E6B0 800F7510 2CC10006 */ sltiu $at, $a2, 6
.L800F7514:
/* B6E6B4 800F7514 1020004C */ beqz $at, .L800F7648
/* B6E6B8 800F7518 00002025 */ move $a0, $zero
/* B6E6BC 800F751C 00067080 */ sll $t6, $a2, 2
/* B6E6C0 800F7520 3C018015 */ lui $at, %hi(jtbl_8014A620)
/* B6E6C4 800F7524 002E0821 */ addu $at, $at, $t6
/* B6E6C8 800F7528 8C2EA620 */ lw $t6, %lo(jtbl_8014A620)($at)
/* B6E6CC 800F752C 01C00008 */ jr $t6
/* B6E6D0 800F7530 00000000 */ nop
glabel L800F7534
/* B6E6D4 800F7534 00490019 */ multu $v0, $t1
/* B6E6D8 800F7538 94EF0028 */ lhu $t7, 0x28($a3)
/* B6E6DC 800F753C 31F8F000 */ andi $t8, $t7, 0xf000
/* B6E6E0 800F7540 0000C812 */ mflo $t9
/* B6E6E4 800F7544 01195021 */ addu $t2, $t0, $t9
/* B6E6E8 800F7548 954B0000 */ lhu $t3, ($t2)
/* B6E6EC 800F754C 316CF000 */ andi $t4, $t3, 0xf000
/* B6E6F0 800F7550 170C003D */ bne $t8, $t4, .L800F7648
/* B6E6F4 800F7554 00000000 */ nop
/* B6E6F8 800F7558 1000003B */ b .L800F7648
/* B6E6FC 800F755C 24040001 */ li $a0, 1
glabel L800F7560
/* B6E700 800F7560 00490019 */ multu $v0, $t1
/* B6E704 800F7564 94EE0028 */ lhu $t6, 0x28($a3)
/* B6E708 800F7568 31CFF000 */ andi $t7, $t6, 0xf000
/* B6E70C 800F756C 00006812 */ mflo $t5
/* B6E710 800F7570 010D2821 */ addu $a1, $t0, $t5
/* B6E714 800F7574 94B90000 */ lhu $t9, ($a1)
/* B6E718 800F7578 332AF000 */ andi $t2, $t9, 0xf000
/* B6E71C 800F757C 15EA0032 */ bne $t7, $t2, .L800F7648
/* B6E720 800F7580 00000000 */ nop
/* B6E724 800F7584 8CEB0000 */ lw $t3, ($a3)
/* B6E728 800F7588 8CB80004 */ lw $t8, 4($a1)
/* B6E72C 800F758C 1578002E */ bne $t3, $t8, .L800F7648
/* B6E730 800F7590 00000000 */ nop
/* B6E734 800F7594 1000002C */ b .L800F7648
/* B6E738 800F7598 24040001 */ li $a0, 1
glabel L800F759C
/* B6E73C 800F759C 00490019 */ multu $v0, $t1
/* B6E740 800F75A0 8CEC0000 */ lw $t4, ($a3)
/* B6E744 800F75A4 00006812 */ mflo $t5
/* B6E748 800F75A8 010D7021 */ addu $t6, $t0, $t5
/* B6E74C 800F75AC 8DD90004 */ lw $t9, 4($t6)
/* B6E750 800F75B0 15990025 */ bne $t4, $t9, .L800F7648
/* B6E754 800F75B4 00000000 */ nop
/* B6E758 800F75B8 10000023 */ b .L800F7648
/* B6E75C 800F75BC 24040001 */ li $a0, 1
glabel L800F75C0
/* B6E760 800F75C0 00490019 */ multu $v0, $t1
/* B6E764 800F75C4 8CEA0000 */ lw $t2, ($a3)
/* B6E768 800F75C8 00007812 */ mflo $t7
/* B6E76C 800F75CC 010F2821 */ addu $a1, $t0, $t7
/* B6E770 800F75D0 8CAB0004 */ lw $t3, 4($a1)
/* B6E774 800F75D4 154B001C */ bne $t2, $t3, .L800F7648
/* B6E778 800F75D8 00000000 */ nop
/* B6E77C 800F75DC 94F80028 */ lhu $t8, 0x28($a3)
/* B6E780 800F75E0 94AD0000 */ lhu $t5, ($a1)
/* B6E784 800F75E4 170D0018 */ bne $t8, $t5, .L800F7648
/* B6E788 800F75E8 00000000 */ nop
/* B6E78C 800F75EC 10000016 */ b .L800F7648
/* B6E790 800F75F0 24040001 */ li $a0, 1
glabel L800F75F4
/* B6E794 800F75F4 00490019 */ multu $v0, $t1
/* B6E798 800F75F8 90EC000C */ lbu $t4, 0xc($a3)
/* B6E79C 800F75FC 00007012 */ mflo $t6
/* B6E7A0 800F7600 010E2821 */ addu $a1, $t0, $t6
/* B6E7A4 800F7604 90B90008 */ lbu $t9, 8($a1)
/* B6E7A8 800F7608 1599000F */ bne $t4, $t9, .L800F7648
/* B6E7AC 800F760C 00000000 */ nop
/* B6E7B0 800F7610 94EF0028 */ lhu $t7, 0x28($a3)
/* B6E7B4 800F7614 94AA0000 */ lhu $t2, ($a1)
/* B6E7B8 800F7618 15EA000B */ bne $t7, $t2, .L800F7648
/* B6E7BC 800F761C 00000000 */ nop
/* B6E7C0 800F7620 10000009 */ b .L800F7648
/* B6E7C4 800F7624 24040001 */ li $a0, 1
glabel L800F7628
/* B6E7C8 800F7628 00490019 */ multu $v0, $t1
/* B6E7CC 800F762C 94EB0028 */ lhu $t3, 0x28($a3)
/* B6E7D0 800F7630 0000C012 */ mflo $t8
/* B6E7D4 800F7634 01186821 */ addu $t5, $t0, $t8
/* B6E7D8 800F7638 95AE0000 */ lhu $t6, ($t5)
/* B6E7DC 800F763C 156E0002 */ bne $t3, $t6, .L800F7648
/* B6E7E0 800F7640 00000000 */ nop
/* B6E7E4 800F7644 24040001 */ li $a0, 1
.L800F7648:
/* B6E7E8 800F7648 50800008 */ beql $a0, $zero, .L800F766C
/* B6E7EC 800F764C 24420001 */ addiu $v0, $v0, 1
/* B6E7F0 800F7650 00490019 */ multu $v0, $t1
/* B6E7F4 800F7654 3C038013 */ lui $v1, %hi(D_801333A0) # $v1, 0x8013
/* B6E7F8 800F7658 00006012 */ mflo $t4
/* B6E7FC 800F765C 010CC821 */ addu $t9, $t0, $t4
/* B6E800 800F7660 A7200000 */ sh $zero, ($t9)
/* B6E804 800F7664 906333A0 */ lbu $v1, %lo(D_801333A0)($v1)
/* B6E808 800F7668 24420001 */ addiu $v0, $v0, 1
.L800F766C:
/* B6E80C 800F766C 304200FF */ andi $v0, $v0, 0xff
/* B6E810 800F7670 5462FFA8 */ bnel $v1, $v0, .L800F7514
/* B6E814 800F7674 2CC10006 */ sltiu $at, $a2, 6
.L800F7678:
/* B6E818 800F7678 03E00008 */ jr $ra
/* B6E81C 800F767C 00000000 */ nop
glabel func_800F7680
/* B6E820 800F7680 27BDFFA8 */ addiu $sp, $sp, -0x58
/* B6E824 800F7684 3C0E8013 */ lui $t6, %hi(D_801333A4) # $t6, 0x8013
/* B6E828 800F7688 91CE33A4 */ lbu $t6, %lo(D_801333A4)($t6)
/* B6E82C 800F768C 3C188017 */ lui $t8, %hi(D_8016C9A0) # $t8, 0x8017
/* B6E830 800F7690 2718C9A0 */ addiu $t8, %lo(D_8016C9A0) # addiu $t8, $t8, -0x3660
/* B6E834 800F7694 000E7880 */ sll $t7, $t6, 2
/* B6E838 800F7698 01EE7823 */ subu $t7, $t7, $t6
/* B6E83C 800F769C 000F78C0 */ sll $t7, $t7, 3
/* B6E840 800F76A0 AFBF002C */ sw $ra, 0x2c($sp)
/* B6E844 800F76A4 AFB50028 */ sw $s5, 0x28($sp)
/* B6E848 800F76A8 AFB40024 */ sw $s4, 0x24($sp)
/* B6E84C 800F76AC AFB30020 */ sw $s3, 0x20($sp)
/* B6E850 800F76B0 AFB2001C */ sw $s2, 0x1c($sp)
/* B6E854 800F76B4 AFB10018 */ sw $s1, 0x18($sp)
/* B6E858 800F76B8 AFB00014 */ sw $s0, 0x14($sp)
/* B6E85C 800F76BC 01F85021 */ addu $t2, $t7, $t8
/* B6E860 800F76C0 95450000 */ lhu $a1, ($t2)
/* B6E864 800F76C4 24110080 */ li $s1, 128
/* B6E868 800F76C8 24190001 */ li $t9, 1
/* B6E86C 800F76CC 10A00118 */ beqz $a1, .L800F7B30
/* B6E870 800F76D0 30B5F000 */ andi $s5, $a1, 0xf000
/* B6E874 800F76D4 3C0F8013 */ lui $t7, %hi(D_801333F0) # $t7, 0x8013
/* B6E878 800F76D8 91EF33F0 */ lbu $t7, %lo(D_801333F0)($t7)
/* B6E87C 800F76DC 0015AB03 */ sra $s5, $s5, 0xc
/* B6E880 800F76E0 32B500FF */ andi $s5, $s5, 0xff
/* B6E884 800F76E4 02B97004 */ sllv $t6, $t9, $s5
/* B6E888 800F76E8 01CFC024 */ and $t8, $t6, $t7
/* B6E88C 800F76EC 13000009 */ beqz $t8, .L800F7714
/* B6E890 800F76F0 3C048013 */ lui $a0, %hi(D_80133340) # $a0, 0x8013
/* B6E894 800F76F4 24843340 */ addiu $a0, %lo(D_80133340) # addiu $a0, $a0, 0x3340
/* B6E898 800F76F8 0C03CB5B */ jal func_800F2D6C
/* B6E89C 800F76FC AFAA0050 */ sw $t2, 0x50($sp)
/* B6E8A0 800F7700 8FAA0050 */ lw $t2, 0x50($sp)
/* B6E8A4 800F7704 95550000 */ lhu $s5, ($t2)
/* B6E8A8 800F7708 32B5F000 */ andi $s5, $s5, 0xf000
/* B6E8AC 800F770C 0015AB03 */ sra $s5, $s5, 0xc
/* B6E8B0 800F7710 32B500FF */ andi $s5, $s5, 0xff
.L800F7714:
/* B6E8B4 800F7714 3C0E8013 */ lui $t6, %hi(D_801333A8) # $t6, 0x8013
/* B6E8B8 800F7718 25CE33A8 */ addiu $t6, %lo(D_801333A8) # addiu $t6, $t6, 0x33a8
/* B6E8BC 800F771C 0015C880 */ sll $t9, $s5, 2
/* B6E8C0 800F7720 032E4021 */ addu $t0, $t9, $t6
/* B6E8C4 800F7724 8D0B0000 */ lw $t3, ($t0)
/* B6E8C8 800F7728 240300FF */ li $v1, 255
/* B6E8CC 800F772C 00006025 */ move $t4, $zero
/* B6E8D0 800F7730 9165002D */ lbu $a1, 0x2d($t3)
/* B6E8D4 800F7734 106500AE */ beq $v1, $a1, .L800F79F0
/* B6E8D8 800F7738 00A01025 */ move $v0, $a1
/* B6E8DC 800F773C 10A000AC */ beqz $a1, .L800F79F0
/* B6E8E0 800F7740 24140030 */ li $s4, 48
/* B6E8E4 800F7744 3C138013 */ lui $s3, %hi(D_8013331C) # $s3, 0x8013
/* B6E8E8 800F7748 2673331C */ addiu $s3, %lo(D_8013331C) # addiu $s3, $s3, 0x331c
/* B6E8EC 800F774C 93B20043 */ lbu $s2, 0x43($sp)
.L800F7750:
/* B6E8F0 800F7750 00B40019 */ multu $a1, $s4
/* B6E8F4 800F7754 8D580004 */ lw $t8, 4($t2)
/* B6E8F8 800F7758 00007812 */ mflo $t7
/* B6E8FC 800F775C 016F8021 */ addu $s0, $t3, $t7
/* B6E900 800F7760 8E190000 */ lw $t9, ($s0)
/* B6E904 800F7764 57190096 */ bnel $t8, $t9, .L800F79C0
/* B6E908 800F7768 240300FF */ li $v1, 255
/* B6E90C 800F776C 95470000 */ lhu $a3, ($t2)
/* B6E910 800F7770 00077303 */ sra $t6, $a3, 0xc
/* B6E914 800F7774 31CF00FF */ andi $t7, $t6, 0xff
/* B6E918 800F7778 000FC080 */ sll $t8, $t7, 2
/* B6E91C 800F777C 0278C821 */ addu $t9, $s3, $t8
/* B6E920 800F7780 8F2D0000 */ lw $t5, ($t9)
/* B6E924 800F7784 30FF01FF */ andi $ra, $a3, 0x1ff
/* B6E928 800F7788 001FF880 */ sll $ra, $ra, 2
/* B6E92C 800F778C 01BF3021 */ addu $a2, $t5, $ra
/* B6E930 800F7790 94CE0002 */ lhu $t6, 2($a2)
/* B6E934 800F7794 31CF0020 */ andi $t7, $t6, 0x20
/* B6E938 800F7798 11E00005 */ beqz $t7, .L800F77B0
/* B6E93C 800F779C 3C0E8013 */ lui $t6, %hi(D_801333CC) # $t6, 0x8013
/* B6E940 800F77A0 90D80000 */ lbu $t8, ($a2)
/* B6E944 800F77A4 92190024 */ lbu $t9, 0x24($s0)
/* B6E948 800F77A8 531900E2 */ beql $t8, $t9, .L800F7B34
/* B6E94C 800F77AC 8FBF002C */ lw $ra, 0x2c($sp)
.L800F77B0:
/* B6E950 800F77B0 91CE33CC */ lbu $t6, %lo(D_801333CC)($t6)
/* B6E954 800F77B4 3C028013 */ lui $v0, %hi(D_80130594)
/* B6E958 800F77B8 96030028 */ lhu $v1, 0x28($s0)
/* B6E95C 800F77BC 000E78C0 */ sll $t7, $t6, 3
/* B6E960 800F77C0 01EE7823 */ subu $t7, $t7, $t6
/* B6E964 800F77C4 01F5C021 */ addu $t8, $t7, $s5
/* B6E968 800F77C8 00581021 */ addu $v0, $v0, $t8
/* B6E96C 800F77CC 90420594 */ lbu $v0, %lo(D_80130594)($v0)
/* B6E970 800F77D0 14E30004 */ bne $a3, $v1, .L800F77E4
/* B6E974 800F77D4 00404825 */ move $t1, $v0
/* B6E978 800F77D8 304C00FF */ andi $t4, $v0, 0xff
/* B6E97C 800F77DC 10000027 */ b .L800F787C
/* B6E980 800F77E0 01801825 */ move $v1, $t4
.L800F77E4:
/* B6E984 800F77E4 1580000C */ bnez $t4, .L800F7818
/* B6E988 800F77E8 3064FFFF */ andi $a0, $v1, 0xffff
/* B6E98C 800F77EC 0004CB03 */ sra $t9, $a0, 0xc
/* B6E990 800F77F0 332E00FF */ andi $t6, $t9, 0xff
/* B6E994 800F77F4 000E7880 */ sll $t7, $t6, 2
/* B6E998 800F77F8 026FC021 */ addu $t8, $s3, $t7
/* B6E99C 800F77FC 8F190000 */ lw $t9, ($t8)
/* B6E9A0 800F7800 308E01FF */ andi $t6, $a0, 0x1ff
/* B6E9A4 800F7804 000E7880 */ sll $t7, $t6, 2
/* B6E9A8 800F7808 032FC021 */ addu $t8, $t9, $t7
/* B6E9AC 800F780C 30B100FF */ andi $s1, $a1, 0xff
/* B6E9B0 800F7810 1000000F */ b .L800F7850
/* B6E9B4 800F7814 93120000 */ lbu $s2, ($t8)
.L800F7818:
/* B6E9B8 800F7818 920E0024 */ lbu $t6, 0x24($s0)
/* B6E9BC 800F781C 3064FFFF */ andi $a0, $v1, 0xffff
/* B6E9C0 800F7820 0004CB03 */ sra $t9, $a0, 0xc
/* B6E9C4 800F7824 01D2082A */ slt $at, $t6, $s2
/* B6E9C8 800F7828 10200009 */ beqz $at, .L800F7850
/* B6E9CC 800F782C 332F00FF */ andi $t7, $t9, 0xff
/* B6E9D0 800F7830 000FC080 */ sll $t8, $t7, 2
/* B6E9D4 800F7834 02787021 */ addu $t6, $s3, $t8
/* B6E9D8 800F7838 8DD90000 */ lw $t9, ($t6)
/* B6E9DC 800F783C 308F01FF */ andi $t7, $a0, 0x1ff
/* B6E9E0 800F7840 000FC080 */ sll $t8, $t7, 2
/* B6E9E4 800F7844 03387021 */ addu $t6, $t9, $t8
/* B6E9E8 800F7848 30B100FF */ andi $s1, $a1, 0xff
/* B6E9EC 800F784C 91D20000 */ lbu $s2, ($t6)
.L800F7850:
/* B6E9F0 800F7850 258C0001 */ addiu $t4, $t4, 1
/* B6E9F4 800F7854 318C00FF */ andi $t4, $t4, 0xff
/* B6E9F8 800F7858 15890008 */ bne $t4, $t1, .L800F787C
/* B6E9FC 800F785C 01801825 */ move $v1, $t4
/* B6EA00 800F7860 90CF0000 */ lbu $t7, ($a2)
/* B6EA04 800F7864 00002825 */ move $a1, $zero
/* B6EA08 800F7868 01F2082A */ slt $at, $t7, $s2
/* B6EA0C 800F786C 14200003 */ bnez $at, .L800F787C
/* B6EA10 800F7870 00000000 */ nop
/* B6EA14 800F7874 10000001 */ b .L800F787C
/* B6EA18 800F7878 322500FF */ andi $a1, $s1, 0xff
.L800F787C:
/* B6EA1C 800F787C 1469004F */ bne $v1, $t1, .L800F79BC
/* B6EA20 800F7880 00051080 */ sll $v0, $a1, 2
/* B6EA24 800F7884 00451023 */ subu $v0, $v0, $a1
/* B6EA28 800F7888 00021100 */ sll $v0, $v0, 4
/* B6EA2C 800F788C 30F90C00 */ andi $t9, $a3, 0xc00
/* B6EA30 800F7890 01BF1821 */ addu $v1, $t5, $ra
/* B6EA34 800F7894 17200007 */ bnez $t9, .L800F78B4
/* B6EA38 800F7898 01628021 */ addu $s0, $t3, $v0
/* B6EA3C 800F789C 94780002 */ lhu $t8, 2($v1)
/* B6EA40 800F78A0 330E0004 */ andi $t6, $t8, 4
/* B6EA44 800F78A4 55C00004 */ bnezl $t6, .L800F78B8
/* B6EA48 800F78A8 960F0026 */ lhu $t7, 0x26($s0)
/* B6EA4C 800F78AC 5625003C */ bnel $s1, $a1, .L800F79A0
/* B6EA50 800F78B0 920E002A */ lbu $t6, 0x2a($s0)
.L800F78B4:
/* B6EA54 800F78B4 960F0026 */ lhu $t7, 0x26($s0)
.L800F78B8:
/* B6EA58 800F78B8 31F90008 */ andi $t9, $t7, 8
/* B6EA5C 800F78BC 53200014 */ beql $t9, $zero, .L800F7910
/* B6EA60 800F78C0 914F0008 */ lbu $t7, 8($t2)
/* B6EA64 800F78C4 9218002A */ lbu $t8, 0x2a($s0)
/* B6EA68 800F78C8 24010001 */ li $at, 1
/* B6EA6C 800F78CC 53010010 */ beql $t8, $at, .L800F7910
/* B6EA70 800F78D0 914F0008 */ lbu $t7, 8($t2)
/* B6EA74 800F78D4 9204002E */ lbu $a0, 0x2e($s0)
/* B6EA78 800F78D8 A3AC0055 */ sb $t4, 0x55($sp)
/* B6EA7C 800F78DC AFAA0050 */ sw $t2, 0x50($sp)
/* B6EA80 800F78E0 AFA8003C */ sw $t0, 0x3c($sp)
/* B6EA84 800F78E4 AFA30048 */ sw $v1, 0x48($sp)
/* B6EA88 800F78E8 0C03DCC7 */ jal func_800F731C
/* B6EA8C 800F78EC AFA20030 */ sw $v0, 0x30($sp)
/* B6EA90 800F78F0 8FA8003C */ lw $t0, 0x3c($sp)
/* B6EA94 800F78F4 8FA20030 */ lw $v0, 0x30($sp)
/* B6EA98 800F78F8 8FA30048 */ lw $v1, 0x48($sp)
/* B6EA9C 800F78FC 8D0E0000 */ lw $t6, ($t0)
/* B6EAA0 800F7900 8FAA0050 */ lw $t2, 0x50($sp)
/* B6EAA4 800F7904 93AC0055 */ lbu $t4, 0x55($sp)
/* B6EAA8 800F7908 01C28021 */ addu $s0, $t6, $v0
/* B6EAAC 800F790C 914F0008 */ lbu $t7, 8($t2)
.L800F7910:
/* B6EAB0 800F7910 A20F000C */ sb $t7, 0xc($s0)
/* B6EAB4 800F7914 8D180000 */ lw $t8, ($t0)
/* B6EAB8 800F7918 95590000 */ lhu $t9, ($t2)
/* B6EABC 800F791C 240F0001 */ li $t7, 1
/* B6EAC0 800F7920 03027021 */ addu $t6, $t8, $v0
/* B6EAC4 800F7924 A5D90028 */ sh $t9, 0x28($t6)
/* B6EAC8 800F7928 8D180000 */ lw $t8, ($t0)
/* B6EACC 800F792C 240E0002 */ li $t6, 2
/* B6EAD0 800F7930 0302C821 */ addu $t9, $t8, $v0
/* B6EAD4 800F7934 A32F002A */ sb $t7, 0x2a($t9)
/* B6EAD8 800F7938 8D180000 */ lw $t8, ($t0)
/* B6EADC 800F793C 03027821 */ addu $t7, $t8, $v0
/* B6EAE0 800F7940 A1EE002B */ sb $t6, 0x2b($t7)
/* B6EAE4 800F7944 8D180000 */ lw $t8, ($t0)
/* B6EAE8 800F7948 8D59000C */ lw $t9, 0xc($t2)
/* B6EAEC 800F794C 03027021 */ addu $t6, $t8, $v0
/* B6EAF0 800F7950 ADD90010 */ sw $t9, 0x10($t6)
/* B6EAF4 800F7954 8D180000 */ lw $t8, ($t0)
/* B6EAF8 800F7958 8D4F0010 */ lw $t7, 0x10($t2)
/* B6EAFC 800F795C 0302C821 */ addu $t9, $t8, $v0
/* B6EB00 800F7960 AF2F0014 */ sw $t7, 0x14($t9)
/* B6EB04 800F7964 8D180000 */ lw $t8, ($t0)
/* B6EB08 800F7968 8D4E0014 */ lw $t6, 0x14($t2)
/* B6EB0C 800F796C 03027821 */ addu $t7, $t8, $v0
/* B6EB10 800F7970 ADEE0018 */ sw $t6, 0x18($t7)
/* B6EB14 800F7974 8D180000 */ lw $t8, ($t0)
/* B6EB18 800F7978 94790002 */ lhu $t9, 2($v1)
/* B6EB1C 800F797C 03027021 */ addu $t6, $t8, $v0
/* B6EB20 800F7980 A5D90026 */ sh $t9, 0x26($t6)
/* B6EB24 800F7984 8D180000 */ lw $t8, ($t0)
/* B6EB28 800F7988 906F0000 */ lbu $t7, ($v1)
/* B6EB2C 800F798C 0302C821 */ addu $t9, $t8, $v0
/* B6EB30 800F7990 A32F0024 */ sb $t7, 0x24($t9)
/* B6EB34 800F7994 10000008 */ b .L800F79B8
/* B6EB38 800F7998 8D0B0000 */ lw $t3, ($t0)
/* B6EB3C 800F799C 920E002A */ lbu $t6, 0x2a($s0)
.L800F79A0:
/* B6EB40 800F79A0 24010005 */ li $at, 5
/* B6EB44 800F79A4 24180004 */ li $t8, 4
/* B6EB48 800F79A8 55C10004 */ bnel $t6, $at, .L800F79BC
/* B6EB4C 800F79AC 00002825 */ move $a1, $zero
/* B6EB50 800F79B0 A218002A */ sb $t8, 0x2a($s0)
/* B6EB54 800F79B4 8D0B0000 */ lw $t3, ($t0)
.L800F79B8:
/* B6EB58 800F79B8 00002825 */ move $a1, $zero
.L800F79BC:
/* B6EB5C 800F79BC 240300FF */ li $v1, 255
.L800F79C0:
/* B6EB60 800F79C0 10A00006 */ beqz $a1, .L800F79DC
/* B6EB64 800F79C4 00A01025 */ move $v0, $a1
/* B6EB68 800F79C8 00B40019 */ multu $a1, $s4
/* B6EB6C 800F79CC 00007812 */ mflo $t7
/* B6EB70 800F79D0 016FC821 */ addu $t9, $t3, $t7
/* B6EB74 800F79D4 9325002D */ lbu $a1, 0x2d($t9)
/* B6EB78 800F79D8 00A01025 */ move $v0, $a1
.L800F79DC:
/* B6EB7C 800F79DC 10620004 */ beq $v1, $v0, .L800F79F0
/* B6EB80 800F79E0 00000000 */ nop
/* B6EB84 800F79E4 1440FF5A */ bnez $v0, .L800F7750
/* B6EB88 800F79E8 00000000 */ nop
/* B6EB8C 800F79EC A3B20043 */ sb $s2, 0x43($sp)
.L800F79F0:
/* B6EB90 800F79F0 3C0E8017 */ lui $t6, %hi(D_8016E1A8) # $t6, 0x8017
/* B6EB94 800F79F4 25CEE1A8 */ addiu $t6, %lo(D_8016E1A8) # addiu $t6, $t6, -0x1e58
/* B6EB98 800F79F8 02AE3021 */ addu $a2, $s5, $t6
/* B6EB9C 800F79FC 90C90000 */ lbu $t1, ($a2)
/* B6EBA0 800F7A00 24140030 */ li $s4, 48
/* B6EBA4 800F7A04 3C138013 */ lui $s3, %hi(D_8013331C) # $s3, 0x8013
/* B6EBA8 800F7A08 01340019 */ multu $t1, $s4
/* B6EBAC 800F7A0C 2673331C */ addiu $s3, %lo(D_8013331C) # addiu $s3, $s3, 0x331c
/* B6EBB0 800F7A10 0000C012 */ mflo $t8
/* B6EBB4 800F7A14 01787821 */ addu $t7, $t3, $t8
/* B6EBB8 800F7A18 91F9002D */ lbu $t9, 0x2d($t7)
/* B6EBBC 800F7A1C 50790045 */ beql $v1, $t9, .L800F7B34
/* B6EBC0 800F7A20 8FBF002C */ lw $ra, 0x2c($sp)
/* B6EBC4 800F7A24 10400042 */ beqz $v0, .L800F7B30
/* B6EBC8 800F7A28 312500FF */ andi $a1, $t1, 0xff
/* B6EBCC 800F7A2C 00B40019 */ multu $a1, $s4
/* B6EBD0 800F7A30 8D580004 */ lw $t8, 4($t2)
/* B6EBD4 800F7A34 240500FF */ li $a1, 255
/* B6EBD8 800F7A38 00007012 */ mflo $t6
/* B6EBDC 800F7A3C 016E1021 */ addu $v0, $t3, $t6
/* B6EBE0 800F7A40 AC580000 */ sw $t8, ($v0)
/* B6EBE4 800F7A44 8D4F0004 */ lw $t7, 4($t2)
/* B6EBE8 800F7A48 25F90004 */ addiu $t9, $t7, 4
/* B6EBEC 800F7A4C AC590004 */ sw $t9, 4($v0)
/* B6EBF0 800F7A50 8D4E0004 */ lw $t6, 4($t2)
/* B6EBF4 800F7A54 25D80008 */ addiu $t8, $t6, 8
/* B6EBF8 800F7A58 AC580008 */ sw $t8, 8($v0)
/* B6EBFC 800F7A5C 914F0008 */ lbu $t7, 8($t2)
/* B6EC00 800F7A60 A04F000C */ sb $t7, 0xc($v0)
/* B6EC04 800F7A64 8D59000C */ lw $t9, 0xc($t2)
/* B6EC08 800F7A68 AC590010 */ sw $t9, 0x10($v0)
/* B6EC0C 800F7A6C 8D4E0010 */ lw $t6, 0x10($t2)
/* B6EC10 800F7A70 AC4E0014 */ sw $t6, 0x14($v0)
/* B6EC14 800F7A74 8D580014 */ lw $t8, 0x14($t2)
/* B6EC18 800F7A78 AC580018 */ sw $t8, 0x18($v0)
/* B6EC1C 800F7A7C 95470000 */ lhu $a3, ($t2)
/* B6EC20 800F7A80 00077B03 */ sra $t7, $a3, 0xc
/* B6EC24 800F7A84 31F900FF */ andi $t9, $t7, 0xff
/* B6EC28 800F7A88 00197080 */ sll $t6, $t9, 2
/* B6EC2C 800F7A8C 026EC021 */ addu $t8, $s3, $t6
/* B6EC30 800F7A90 8F0F0000 */ lw $t7, ($t8)
/* B6EC34 800F7A94 30F901FF */ andi $t9, $a3, 0x1ff
/* B6EC38 800F7A98 00197080 */ sll $t6, $t9, 2
/* B6EC3C 800F7A9C 01EE1821 */ addu $v1, $t7, $t6
/* B6EC40 800F7AA0 94780002 */ lhu $t8, 2($v1)
/* B6EC44 800F7AA4 240E0001 */ li $t6, 1
/* B6EC48 800F7AA8 A4580026 */ sh $t8, 0x26($v0)
/* B6EC4C 800F7AAC 90790000 */ lbu $t9, ($v1)
/* B6EC50 800F7AB0 24180002 */ li $t8, 2
/* B6EC54 800F7AB4 A0590024 */ sb $t9, 0x24($v0)
/* B6EC58 800F7AB8 954F0000 */ lhu $t7, ($t2)
/* B6EC5C 800F7ABC 3C198017 */ lui $t9, %hi(D_8016E1A0) # $t9, 0x8017
/* B6EC60 800F7AC0 2739E1A0 */ addiu $t9, %lo(D_8016E1A0) # addiu $t9, $t9, -0x1e60
/* B6EC64 800F7AC4 A04E002A */ sb $t6, 0x2a($v0)
/* B6EC68 800F7AC8 A058002B */ sb $t8, 0x2b($v0)
/* B6EC6C 800F7ACC 02B92021 */ addu $a0, $s5, $t9
/* B6EC70 800F7AD0 A44F0028 */ sh $t7, 0x28($v0)
/* B6EC74 800F7AD4 908F0000 */ lbu $t7, ($a0)
/* B6EC78 800F7AD8 A04F002C */ sb $t7, 0x2c($v0)
/* B6EC7C 800F7ADC 90990000 */ lbu $t9, ($a0)
/* B6EC80 800F7AE0 8D180000 */ lw $t8, ($t0)
/* B6EC84 800F7AE4 90CE0000 */ lbu $t6, ($a2)
/* B6EC88 800F7AE8 03340019 */ multu $t9, $s4
/* B6EC8C 800F7AEC 00007812 */ mflo $t7
/* B6EC90 800F7AF0 030FC821 */ addu $t9, $t8, $t7
/* B6EC94 800F7AF4 A32E002D */ sb $t6, 0x2d($t9)
/* B6EC98 800F7AF8 90C90000 */ lbu $t1, ($a2)
/* B6EC9C 800F7AFC 8D0B0000 */ lw $t3, ($t0)
/* B6ECA0 800F7B00 01340019 */ multu $t1, $s4
/* B6ECA4 800F7B04 A0890000 */ sb $t1, ($a0)
/* B6ECA8 800F7B08 0000C012 */ mflo $t8
/* B6ECAC 800F7B0C 01787821 */ addu $t7, $t3, $t8
/* B6ECB0 800F7B10 91EE002D */ lbu $t6, 0x2d($t7)
/* B6ECB4 800F7B14 31D900FF */ andi $t9, $t6, 0xff
/* B6ECB8 800F7B18 03340019 */ multu $t9, $s4
/* B6ECBC 800F7B1C A0CE0000 */ sb $t6, ($a2)
/* B6ECC0 800F7B20 0000C012 */ mflo $t8
/* B6ECC4 800F7B24 01787821 */ addu $t7, $t3, $t8
/* B6ECC8 800F7B28 A1E5002C */ sb $a1, 0x2c($t7)
/* B6ECCC 800F7B2C A045002D */ sb $a1, 0x2d($v0)
.L800F7B30:
/* B6ECD0 800F7B30 8FBF002C */ lw $ra, 0x2c($sp)
.L800F7B34:
/* B6ECD4 800F7B34 8FB00014 */ lw $s0, 0x14($sp)
/* B6ECD8 800F7B38 8FB10018 */ lw $s1, 0x18($sp)
/* B6ECDC 800F7B3C 8FB2001C */ lw $s2, 0x1c($sp)
/* B6ECE0 800F7B40 8FB30020 */ lw $s3, 0x20($sp)
/* B6ECE4 800F7B44 8FB40024 */ lw $s4, 0x24($sp)
/* B6ECE8 800F7B48 8FB50028 */ lw $s5, 0x28($sp)
/* B6ECEC 800F7B4C 03E00008 */ jr $ra
/* B6ECF0 800F7B50 27BD0058 */ addiu $sp, $sp, 0x58
glabel func_800F7B54
/* B6ECF4 800F7B54 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B6ECF8 800F7B58 AFA50034 */ sw $a1, 0x34($sp)
/* B6ECFC 800F7B5C 93B80037 */ lbu $t8, 0x37($sp)
/* B6ED00 800F7B60 240B0030 */ li $t3, 48
/* B6ED04 800F7B64 AFB00018 */ sw $s0, 0x18($sp)
/* B6ED08 800F7B68 030B0019 */ multu $t8, $t3
/* B6ED0C 800F7B6C 309000FF */ andi $s0, $a0, 0xff
/* B6ED10 800F7B70 3C0F8013 */ lui $t7, %hi(D_801333A8) # $t7, 0x8013
/* B6ED14 800F7B74 25EF33A8 */ addiu $t7, %lo(D_801333A8) # addiu $t7, $t7, 0x33a8
/* B6ED18 800F7B78 00107080 */ sll $t6, $s0, 2
/* B6ED1C 800F7B7C 01CF5021 */ addu $t2, $t6, $t7
/* B6ED20 800F7B80 8D490000 */ lw $t1, ($t2)
/* B6ED24 800F7B84 AFBF001C */ sw $ra, 0x1c($sp)
/* B6ED28 800F7B88 AFA40030 */ sw $a0, 0x30($sp)
/* B6ED2C 800F7B8C 0000C812 */ mflo $t9
/* B6ED30 800F7B90 01393021 */ addu $a2, $t1, $t9
/* B6ED34 800F7B94 94CC0026 */ lhu $t4, 0x26($a2)
/* B6ED38 800F7B98 318D0008 */ andi $t5, $t4, 8
/* B6ED3C 800F7B9C 11A00009 */ beqz $t5, .L800F7BC4
/* B6ED40 800F7BA0 00000000 */ nop
/* B6ED44 800F7BA4 90C4002E */ lbu $a0, 0x2e($a2)
/* B6ED48 800F7BA8 AFAA0024 */ sw $t2, 0x24($sp)
/* B6ED4C 800F7BAC 0C03DCC7 */ jal func_800F731C
/* B6ED50 800F7BB0 AFA6002C */ sw $a2, 0x2c($sp)
/* B6ED54 800F7BB4 8FAA0024 */ lw $t2, 0x24($sp)
/* B6ED58 800F7BB8 8FA6002C */ lw $a2, 0x2c($sp)
/* B6ED5C 800F7BBC 240B0030 */ li $t3, 48
/* B6ED60 800F7BC0 8D490000 */ lw $t1, ($t2)
.L800F7BC4:
/* B6ED64 800F7BC4 3C0E8017 */ lui $t6, %hi(D_8016E1A0) # $t6, 0x8017
/* B6ED68 800F7BC8 25CEE1A0 */ addiu $t6, %lo(D_8016E1A0) # addiu $t6, $t6, -0x1e60
/* B6ED6C 800F7BCC 020E1021 */ addu $v0, $s0, $t6
/* B6ED70 800F7BD0 904F0000 */ lbu $t7, ($v0)
/* B6ED74 800F7BD4 93A80037 */ lbu $t0, 0x37($sp)
/* B6ED78 800F7BD8 550F0005 */ bnel $t0, $t7, .L800F7BF0
/* B6ED7C 800F7BDC 90CC002D */ lbu $t4, 0x2d($a2)
/* B6ED80 800F7BE0 90D8002C */ lbu $t8, 0x2c($a2)
/* B6ED84 800F7BE4 10000008 */ b .L800F7C08
/* B6ED88 800F7BE8 A0580000 */ sb $t8, ($v0)
/* B6ED8C 800F7BEC 90CC002D */ lbu $t4, 0x2d($a2)
.L800F7BF0:
/* B6ED90 800F7BF0 90D9002C */ lbu $t9, 0x2c($a2)
/* B6ED94 800F7BF4 018B0019 */ multu $t4, $t3
/* B6ED98 800F7BF8 00006812 */ mflo $t5
/* B6ED9C 800F7BFC 012D7021 */ addu $t6, $t1, $t5
/* B6EDA0 800F7C00 A1D9002C */ sb $t9, 0x2c($t6)
/* B6EDA4 800F7C04 8D490000 */ lw $t1, ($t2)
.L800F7C08:
/* B6EDA8 800F7C08 90D8002C */ lbu $t8, 0x2c($a2)
/* B6EDAC 800F7C0C 90CF002D */ lbu $t7, 0x2d($a2)
/* B6EDB0 800F7C10 3C198017 */ lui $t9, %hi(D_8016E1A8) # $t9, 0x8017
/* B6EDB4 800F7C14 030B0019 */ multu $t8, $t3
/* B6EDB8 800F7C18 2739E1A8 */ addiu $t9, %lo(D_8016E1A8) # addiu $t9, $t9, -0x1e58
/* B6EDBC 800F7C1C 02191821 */ addu $v1, $s0, $t9
/* B6EDC0 800F7C20 240700FF */ li $a3, 255
/* B6EDC4 800F7C24 3C048013 */ lui $a0, %hi(D_80130578)
/* B6EDC8 800F7C28 00001025 */ move $v0, $zero
/* B6EDCC 800F7C2C 00006012 */ mflo $t4
/* B6EDD0 800F7C30 012C6821 */ addu $t5, $t1, $t4
/* B6EDD4 800F7C34 A1AF002D */ sb $t7, 0x2d($t5)
/* B6EDD8 800F7C38 906E0000 */ lbu $t6, ($v1)
/* B6EDDC 800F7C3C A0C7002C */ sb $a3, 0x2c($a2)
/* B6EDE0 800F7C40 A0CE002D */ sb $t6, 0x2d($a2)
/* B6EDE4 800F7C44 906F0000 */ lbu $t7, ($v1)
/* B6EDE8 800F7C48 8D4C0000 */ lw $t4, ($t2)
/* B6EDEC 800F7C4C 93B80037 */ lbu $t8, 0x37($sp)
/* B6EDF0 800F7C50 01EB0019 */ multu $t7, $t3
/* B6EDF4 800F7C54 3C0F8013 */ lui $t7, %hi(D_801333CC) # $t7, 0x8013
/* B6EDF8 800F7C58 00006812 */ mflo $t5
/* B6EDFC 800F7C5C 018DC821 */ addu $t9, $t4, $t5
/* B6EE00 800F7C60 A338002C */ sb $t8, 0x2c($t9)
/* B6EE04 800F7C64 93AE0037 */ lbu $t6, 0x37($sp)
/* B6EE08 800F7C68 0010C080 */ sll $t8, $s0, 2
/* B6EE0C 800F7C6C 0310C023 */ subu $t8, $t8, $s0
/* B6EE10 800F7C70 A06E0000 */ sb $t6, ($v1)
/* B6EE14 800F7C74 A0C0002A */ sb $zero, 0x2a($a2)
/* B6EE18 800F7C78 91EF33CC */ lbu $t7, %lo(D_801333CC)($t7)
/* B6EE1C 800F7C7C 3C198017 */ lui $t9, %hi(D_8016E1B8) # $t9, 0x8017
/* B6EE20 800F7C80 2739E1B8 */ addiu $t9, %lo(D_8016E1B8) # addiu $t9, $t9, -0x1e48
/* B6EE24 800F7C84 000F60C0 */ sll $t4, $t7, 3
/* B6EE28 800F7C88 018F6023 */ subu $t4, $t4, $t7
/* B6EE2C 800F7C8C 01906821 */ addu $t5, $t4, $s0
/* B6EE30 800F7C90 008D2021 */ addu $a0, $a0, $t5
/* B6EE34 800F7C94 90840578 */ lbu $a0, %lo(D_80130578)($a0)
/* B6EE38 800F7C98 0018C0C0 */ sll $t8, $t8, 3
/* B6EE3C 800F7C9C 03193021 */ addu $a2, $t8, $t9
/* B6EE40 800F7CA0 1880000D */ blez $a0, .L800F7CD8
/* B6EE44 800F7CA4 00802825 */ move $a1, $a0
/* B6EE48 800F7CA8 000270C0 */ sll $t6, $v0, 3
.L800F7CAC:
/* B6EE4C 800F7CAC 00CE1821 */ addu $v1, $a2, $t6
/* B6EE50 800F7CB0 906F0004 */ lbu $t7, 4($v1)
/* B6EE54 800F7CB4 550F0004 */ bnel $t0, $t7, .L800F7CC8
/* B6EE58 800F7CB8 24420001 */ addiu $v0, $v0, 1
/* B6EE5C 800F7CBC A0670004 */ sb $a3, 4($v1)
/* B6EE60 800F7CC0 308200FF */ andi $v0, $a0, 0xff
/* B6EE64 800F7CC4 24420001 */ addiu $v0, $v0, 1
.L800F7CC8:
/* B6EE68 800F7CC8 304200FF */ andi $v0, $v0, 0xff
/* B6EE6C 800F7CCC 0045082A */ slt $at, $v0, $a1
/* B6EE70 800F7CD0 5420FFF6 */ bnezl $at, .L800F7CAC
/* B6EE74 800F7CD4 000270C0 */ sll $t6, $v0, 3
.L800F7CD8:
/* B6EE78 800F7CD8 8FBF001C */ lw $ra, 0x1c($sp)
/* B6EE7C 800F7CDC 8FB00018 */ lw $s0, 0x18($sp)
/* B6EE80 800F7CE0 27BD0030 */ addiu $sp, $sp, 0x30
/* B6EE84 800F7CE4 03E00008 */ jr $ra
/* B6EE88 800F7CE8 00000000 */ nop
glabel func_800F7CEC
/* B6EE8C 800F7CEC 27BDFF50 */ addiu $sp, $sp, -0xb0
/* B6EE90 800F7CF0 AFB50044 */ sw $s5, 0x44($sp)
/* B6EE94 800F7CF4 AFB3003C */ sw $s3, 0x3c($sp)
/* B6EE98 800F7CF8 AFB10034 */ sw $s1, 0x34($sp)
/* B6EE9C 800F7CFC 3C027FFF */ lui $v0, (0x7FFFFFFF >> 16) # lui $v0, 0x7fff
/* B6EEA0 800F7D00 AFBF0054 */ sw $ra, 0x54($sp)
/* B6EEA4 800F7D04 AFBE0050 */ sw $fp, 0x50($sp)
/* B6EEA8 800F7D08 AFB7004C */ sw $s7, 0x4c($sp)
/* B6EEAC 800F7D0C AFB60048 */ sw $s6, 0x48($sp)
/* B6EEB0 800F7D10 AFB40040 */ sw $s4, 0x40($sp)
/* B6EEB4 800F7D14 AFB20038 */ sw $s2, 0x38($sp)
/* B6EEB8 800F7D18 AFB00030 */ sw $s0, 0x30($sp)
/* B6EEBC 800F7D1C AFA400B0 */ sw $a0, 0xb0($sp)
/* B6EEC0 800F7D20 00009825 */ move $s3, $zero
/* B6EEC4 800F7D24 3442FFFF */ ori $v0, (0x7FFFFFFF & 0xFFFF) # ori $v0, $v0, 0xffff
/* B6EEC8 800F7D28 27B10084 */ addiu $s1, $sp, 0x84
/* B6EECC 800F7D2C 241500FF */ li $s5, 255
/* B6EED0 800F7D30 00005825 */ move $t3, $zero
.L800F7D34:
/* B6EED4 800F7D34 000B70C0 */ sll $t6, $t3, 3
/* B6EED8 800F7D38 256B0001 */ addiu $t3, $t3, 1
/* B6EEDC 800F7D3C 316B00FF */ andi $t3, $t3, 0xff
/* B6EEE0 800F7D40 29610003 */ slti $at, $t3, 3
/* B6EEE4 800F7D44 022E3821 */ addu $a3, $s1, $t6
/* B6EEE8 800F7D48 ACE20000 */ sw $v0, ($a3)
/* B6EEEC 800F7D4C 1420FFF9 */ bnez $at, .L800F7D34
/* B6EEF0 800F7D50 A0F50004 */ sb $s5, 4($a3)
/* B6EEF4 800F7D54 93AF00B3 */ lbu $t7, 0xb3($sp)
/* B6EEF8 800F7D58 3C198013 */ lui $t9, %hi(D_801333A8) # $t9, 0x8013
/* B6EEFC 800F7D5C 273933A8 */ addiu $t9, %lo(D_801333A8) # addiu $t9, $t9, 0x33a8
/* B6EF00 800F7D60 000FC080 */ sll $t8, $t7, 2
/* B6EF04 800F7D64 0319B021 */ addu $s6, $t8, $t9
/* B6EF08 800F7D68 8EC30000 */ lw $v1, ($s6)
/* B6EF0C 800F7D6C 241E00FF */ li $fp, 255
/* B6EF10 800F7D70 00008025 */ move $s0, $zero
/* B6EF14 800F7D74 9074002D */ lbu $s4, 0x2d($v1)
/* B6EF18 800F7D78 24170030 */ li $s7, 48
/* B6EF1C 800F7D7C 240D0001 */ li $t5, 1
/* B6EF20 800F7D80 53D40116 */ beql $fp, $s4, .L800F81DC
/* B6EF24 800F7D84 240D0001 */ li $t5, 1
.L800F7D88:
/* B6EF28 800F7D88 02970019 */ multu $s4, $s7
/* B6EF2C 800F7D8C 00003812 */ mflo $a3
/* B6EF30 800F7D90 00671021 */ addu $v0, $v1, $a3
/* B6EF34 800F7D94 9044002A */ lbu $a0, 0x2a($v0)
/* B6EF38 800F7D98 55A4000C */ bnel $t5, $a0, .L800F7DCC
/* B6EF3C 800F7D9C 944E0028 */ lhu $t6, 0x28($v0)
/* B6EF40 800F7DA0 944E0028 */ lhu $t6, 0x28($v0)
/* B6EF44 800F7DA4 31CF0C00 */ andi $t7, $t6, 0xc00
/* B6EF48 800F7DA8 51E00008 */ beql $t7, $zero, .L800F7DCC
/* B6EF4C 800F7DAC 944E0028 */ lhu $t6, 0x28($v0)
/* B6EF50 800F7DB0 9058002B */ lbu $t8, 0x2b($v0)
/* B6EF54 800F7DB4 2719FFFF */ addiu $t9, $t8, -1
/* B6EF58 800F7DB8 A059002B */ sb $t9, 0x2b($v0)
/* B6EF5C 800F7DBC 8EC30000 */ lw $v1, ($s6)
/* B6EF60 800F7DC0 10000015 */ b .L800F7E18
/* B6EF64 800F7DC4 00671021 */ addu $v0, $v1, $a3
/* B6EF68 800F7DC8 944E0028 */ lhu $t6, 0x28($v0)
.L800F7DCC:
/* B6EF6C 800F7DCC 24010005 */ li $at, 5
/* B6EF70 800F7DD0 31CF0C00 */ andi $t7, $t6, 0xc00
/* B6EF74 800F7DD4 55E00011 */ bnezl $t7, .L800F7E1C
/* B6EF78 800F7DD8 9058002B */ lbu $t8, 0x2b($v0)
/* B6EF7C 800F7DDC 1481000E */ bne $a0, $at, .L800F7E18
/* B6EF80 800F7DE0 00002825 */ move $a1, $zero
/* B6EF84 800F7DE4 9044002E */ lbu $a0, 0x2e($v0)
/* B6EF88 800F7DE8 3C010602 */ li $at, 0x06020000 # 0.000000
/* B6EF8C 800F7DEC AFA70074 */ sw $a3, 0x74($sp)
/* B6EF90 800F7DF0 00042200 */ sll $a0, $a0, 8
/* B6EF94 800F7DF4 0C0396C8 */ jal func_800E5B20
/* B6EF98 800F7DF8 00812025 */ or $a0, $a0, $at
/* B6EF9C 800F7DFC 93A400B3 */ lbu $a0, 0xb3($sp)
/* B6EFA0 800F7E00 0C03DED5 */ jal func_800F7B54
/* B6EFA4 800F7E04 328500FF */ andi $a1, $s4, 0xff
/* B6EFA8 800F7E08 8FA70074 */ lw $a3, 0x74($sp)
/* B6EFAC 800F7E0C 8EC30000 */ lw $v1, ($s6)
/* B6EFB0 800F7E10 240D0001 */ li $t5, 1
/* B6EFB4 800F7E14 00671021 */ addu $v0, $v1, $a3
.L800F7E18:
/* B6EFB8 800F7E18 9058002B */ lbu $t8, 0x2b($v0)
.L800F7E1C:
/* B6EFBC 800F7E1C 93A400B3 */ lbu $a0, 0xb3($sp)
/* B6EFC0 800F7E20 57000007 */ bnezl $t8, .L800F7E40
/* B6EFC4 800F7E24 9059002A */ lbu $t9, 0x2a($v0)
/* B6EFC8 800F7E28 0C03DED5 */ jal func_800F7B54
/* B6EFCC 800F7E2C 328500FF */ andi $a1, $s4, 0xff
/* B6EFD0 800F7E30 240D0001 */ li $t5, 1
/* B6EFD4 800F7E34 100000E2 */ b .L800F81C0
/* B6EFD8 800F7E38 8EC30000 */ lw $v1, ($s6)
/* B6EFDC 800F7E3C 9059002A */ lbu $t9, 0x2a($v0)
.L800F7E40:
/* B6EFE0 800F7E40 00679021 */ addu $s2, $v1, $a3
/* B6EFE4 800F7E44 132000DE */ beqz $t9, .L800F81C0
/* B6EFE8 800F7E48 00000000 */ nop
/* B6EFEC 800F7E4C 8E460000 */ lw $a2, ($s2)
/* B6EFF0 800F7E50 3C0E8013 */ lui $t6, %hi(D_801333D4)
/* B6EFF4 800F7E54 25CE33D4 */ addiu $t6, %lo(D_801333D4) # addiu $t6, $t6, 0x33d4
/* B6EFF8 800F7E58 55C60005 */ bnel $t6, $a2, .L800F7E70
/* B6EFFC 800F7E5C 8E4F0004 */ lw $t7, 4($s2)
/* B6F000 800F7E60 44802000 */ mtc1 $zero, $f4
/* B6F004 800F7E64 10000012 */ b .L800F7EB0
/* B6F008 800F7E68 E644001C */ swc1 $f4, 0x1c($s2)
/* B6F00C 800F7E6C 8E4F0004 */ lw $t7, 4($s2)
.L800F7E70:
/* B6F010 800F7E70 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B6F014 800F7E74 44814000 */ mtc1 $at, $f8
/* B6F018 800F7E78 C5E60000 */ lwc1 $f6, ($t7)
/* B6F01C 800F7E7C C4CC0000 */ lwc1 $f12, ($a2)
/* B6F020 800F7E80 8E580008 */ lw $t8, 8($s2)
/* B6F024 800F7E84 46083002 */ mul.s $f0, $f6, $f8
/* B6F028 800F7E88 44814000 */ mtc1 $at, $f8
/* B6F02C 800F7E8C C7020000 */ lwc1 $f2, ($t8)
/* B6F030 800F7E90 460C6282 */ mul.s $f10, $f12, $f12
/* B6F034 800F7E94 00000000 */ nop
/* B6F038 800F7E98 46000402 */ mul.s $f16, $f0, $f0
/* B6F03C 800F7E9C 46105480 */ add.s $f18, $f10, $f16
/* B6F040 800F7EA0 46021102 */ mul.s $f4, $f2, $f2
/* B6F044 800F7EA4 46122180 */ add.s $f6, $f4, $f18
/* B6F048 800F7EA8 46083282 */ mul.s $f10, $f6, $f8
/* B6F04C 800F7EAC E64A001C */ swc1 $f10, 0x1c($s2)
.L800F7EB0:
/* B6F050 800F7EB0 96590026 */ lhu $t9, 0x26($s2)
/* B6F054 800F7EB4 92480024 */ lbu $t0, 0x24($s2)
/* B6F058 800F7EB8 3C014F00 */ li $at, 0x4F000000 # 0.000000
/* B6F05C 800F7EBC 332E0010 */ andi $t6, $t9, 0x10
/* B6F060 800F7EC0 11C0000F */ beqz $t6, .L800F7F00
/* B6F064 800F7EC4 03C81023 */ subu $v0, $fp, $t0
/* B6F068 800F7EC8 00420019 */ multu $v0, $v0
/* B6F06C 800F7ECC C640001C */ lwc1 $f0, 0x1c($s2)
/* B6F070 800F7ED0 00007812 */ mflo $t7
/* B6F074 800F7ED4 000FC080 */ sll $t8, $t7, 2
/* B6F078 800F7ED8 030FC023 */ subu $t8, $t8, $t7
/* B6F07C 800F7EDC 0018C080 */ sll $t8, $t8, 2
/* B6F080 800F7EE0 030FC023 */ subu $t8, $t8, $t7
/* B6F084 800F7EE4 0018C080 */ sll $t8, $t8, 2
/* B6F088 800F7EE8 030FC021 */ addu $t8, $t8, $t7
/* B6F08C 800F7EEC 0018C0C0 */ sll $t8, $t8, 3
/* B6F090 800F7EF0 030FC021 */ addu $t8, $t8, $t7
/* B6F094 800F7EF4 0018C100 */ sll $t8, $t8, 4
/* B6F098 800F7EF8 10000060 */ b .L800F807C
/* B6F09C 800F7EFC AE580020 */ sw $t8, 0x20($s2)
.L800F7F00:
/* B6F0A0 800F7F00 C640001C */ lwc1 $f0, 0x1c($s2)
/* B6F0A4 800F7F04 44818000 */ mtc1 $at, $f16
/* B6F0A8 800F7F08 8E470008 */ lw $a3, 8($s2)
/* B6F0AC 800F7F0C 3C014EE0 */ li $at, 0x4EE00000 # 0.000000
/* B6F0B0 800F7F10 4600803C */ c.lt.s $f16, $f0
/* B6F0B4 800F7F14 00000000 */ nop
/* B6F0B8 800F7F18 45020018 */ bc1fl .L800F7F7C
/* B6F0BC 800F7F1C 444EF800 */ cfc1 $t6, $31
/* B6F0C0 800F7F20 44812000 */ mtc1 $at, $f4
/* B6F0C4 800F7F24 8E460000 */ lw $a2, ($s2)
/* B6F0C8 800F7F28 96450028 */ lhu $a1, 0x28($s2)
/* B6F0CC 800F7F2C E644001C */ swc1 $f4, 0x1c($s2)
/* B6F0D0 800F7F30 C4D20000 */ lwc1 $f18, ($a2)
/* B6F0D4 800F7F34 3C048013 */ lui $a0, %hi(D_80133344) # $a0, 0x8013
/* B6F0D8 800F7F38 24843344 */ addiu $a0, %lo(D_80133344) # addiu $a0, $a0, 0x3344
/* B6F0DC 800F7F3C 460091A1 */ cvt.d.s $f6, $f18
/* B6F0E0 800F7F40 F7A60010 */ sdc1 $f6, 0x10($sp)
/* B6F0E4 800F7F44 8E590004 */ lw $t9, 4($s2)
/* B6F0E8 800F7F48 C7280000 */ lwc1 $f8, ($t9)
/* B6F0EC 800F7F4C 460042A1 */ cvt.d.s $f10, $f8
/* B6F0F0 800F7F50 F7AA0018 */ sdc1 $f10, 0x18($sp)
/* B6F0F4 800F7F54 C4F00000 */ lwc1 $f16, ($a3)
/* B6F0F8 800F7F58 A3A800A9 */ sb $t0, 0xa9($sp)
/* B6F0FC 800F7F5C 46008121 */ cvt.d.s $f4, $f16
/* B6F100 800F7F60 0C00084C */ jal osSyncPrintf
/* B6F104 800F7F64 F7A40020 */ sdc1 $f4, 0x20($sp)
/* B6F108 800F7F68 93A800A9 */ lbu $t0, 0xa9($sp)
/* B6F10C 800F7F6C 240D0001 */ li $t5, 1
/* B6F110 800F7F70 8E470008 */ lw $a3, 8($s2)
/* B6F114 800F7F74 C640001C */ lwc1 $f0, 0x1c($s2)
/* B6F118 800F7F78 444EF800 */ cfc1 $t6, $31
.L800F7F7C:
/* B6F11C 800F7F7C 240F0001 */ li $t7, 1
/* B6F120 800F7F80 44CFF800 */ ctc1 $t7, $31
/* B6F124 800F7F84 96430028 */ lhu $v1, 0x28($s2)
/* B6F128 800F7F88 03C81023 */ subu $v0, $fp, $t0
/* B6F12C 800F7F8C 460004A4 */ cvt.w.s $f18, $f0
/* B6F130 800F7F90 3C014F00 */ li $at, 0x4F000000 # 0.000000
/* B6F134 800F7F94 444FF800 */ cfc1 $t7, $31
/* B6F138 800F7F98 00000000 */ nop
/* B6F13C 800F7F9C 31EF0078 */ andi $t7, $t7, 0x78
/* B6F140 800F7FA0 51E00013 */ beql $t7, $zero, .L800F7FF0
/* B6F144 800F7FA4 440F9000 */ mfc1 $t7, $f18
/* B6F148 800F7FA8 44819000 */ mtc1 $at, $f18
/* B6F14C 800F7FAC 240F0001 */ li $t7, 1
/* B6F150 800F7FB0 46120481 */ sub.s $f18, $f0, $f18
/* B6F154 800F7FB4 44CFF800 */ ctc1 $t7, $31
/* B6F158 800F7FB8 00000000 */ nop
/* B6F15C 800F7FBC 460094A4 */ cvt.w.s $f18, $f18
/* B6F160 800F7FC0 444FF800 */ cfc1 $t7, $31
/* B6F164 800F7FC4 00000000 */ nop
/* B6F168 800F7FC8 31EF0078 */ andi $t7, $t7, 0x78
/* B6F16C 800F7FCC 15E00005 */ bnez $t7, .L800F7FE4
/* B6F170 800F7FD0 00000000 */ nop
/* B6F174 800F7FD4 440F9000 */ mfc1 $t7, $f18
/* B6F178 800F7FD8 3C018000 */ li $at, 0x80000000 # 0.000000
/* B6F17C 800F7FDC 10000007 */ b .L800F7FFC
/* B6F180 800F7FE0 01E17825 */ or $t7, $t7, $at
.L800F7FE4:
/* B6F184 800F7FE4 10000005 */ b .L800F7FFC
/* B6F188 800F7FE8 240FFFFF */ li $t7, -1
/* B6F18C 800F7FEC 440F9000 */ mfc1 $t7, $f18
.L800F7FF0:
/* B6F190 800F7FF0 00000000 */ nop
/* B6F194 800F7FF4 05E0FFFB */ bltz $t7, .L800F7FE4
/* B6F198 800F7FF8 00000000 */ nop
.L800F7FFC:
/* B6F19C 800F7FFC 00420019 */ multu $v0, $v0
/* B6F1A0 800F8000 44CEF800 */ ctc1 $t6, $31
/* B6F1A4 800F8004 44803000 */ mtc1 $zero, $f6
/* B6F1A8 800F8008 3C0140C0 */ li $at, 0x40C00000 # 0.000000
/* B6F1AC 800F800C 0000C012 */ mflo $t8
/* B6F1B0 800F8010 0018C880 */ sll $t9, $t8, 2
/* B6F1B4 800F8014 0338C823 */ subu $t9, $t9, $t8
/* B6F1B8 800F8018 0019C880 */ sll $t9, $t9, 2
/* B6F1BC 800F801C 0338C823 */ subu $t9, $t9, $t8
/* B6F1C0 800F8020 0019C880 */ sll $t9, $t9, 2
/* B6F1C4 800F8024 0338C821 */ addu $t9, $t9, $t8
/* B6F1C8 800F8028 0019C8C0 */ sll $t9, $t9, 3
/* B6F1CC 800F802C 0338C821 */ addu $t9, $t9, $t8
/* B6F1D0 800F8030 0019C900 */ sll $t9, $t9, 4
/* B6F1D4 800F8034 01F97021 */ addu $t6, $t7, $t9
/* B6F1D8 800F8038 01C3C021 */ addu $t8, $t6, $v1
/* B6F1DC 800F803C 03037823 */ subu $t7, $t8, $v1
/* B6F1E0 800F8040 AE4F0020 */ sw $t7, 0x20($s2)
/* B6F1E4 800F8044 C4E20000 */ lwc1 $f2, ($a3)
/* B6F1E8 800F8048 4606103C */ c.lt.s $f2, $f6
/* B6F1EC 800F804C 00000000 */ nop
/* B6F1F0 800F8050 4500000A */ bc1f .L800F807C
/* B6F1F4 800F8054 00000000 */ nop
/* B6F1F8 800F8058 44815000 */ mtc1 $at, $f10
/* B6F1FC 800F805C 46001207 */ neg.s $f8, $f2
/* B6F200 800F8060 C640001C */ lwc1 $f0, 0x1c($s2)
/* B6F204 800F8064 460A4402 */ mul.s $f16, $f8, $f10
/* B6F208 800F8068 4600810D */ trunc.w.s $f4, $f16
/* B6F20C 800F806C 440E2000 */ mfc1 $t6, $f4
/* B6F210 800F8070 00000000 */ nop
/* B6F214 800F8074 01EE7821 */ addu $t7, $t7, $t6
/* B6F218 800F8078 AE4F0020 */ sw $t7, 0x20($s2)
.L800F807C:
/* B6F21C 800F807C 3C018015 */ lui $at, %hi(D_8014A638)
/* B6F220 800F8080 C432A638 */ lwc1 $f18, %lo(D_8014A638)($at)
/* B6F224 800F8084 3C0F8013 */ lui $t7, %hi(D_801333CC) # $t7, 0x8013
/* B6F228 800F8088 4600903C */ c.lt.s $f18, $f0
/* B6F22C 800F808C 00000000 */ nop
/* B6F230 800F8090 45000016 */ bc1f .L800F80EC
/* B6F234 800F8094 00000000 */ nop
/* B6F238 800F8098 9259002A */ lbu $t9, 0x2a($s2)
/* B6F23C 800F809C 24010004 */ li $at, 4
/* B6F240 800F80A0 57210046 */ bnel $t9, $at, .L800F81BC
/* B6F244 800F80A4 329000FF */ andi $s0, $s4, 0xff
/* B6F248 800F80A8 9244002E */ lbu $a0, 0x2e($s2)
/* B6F24C 800F80AC 3C010602 */ lui $at, 0x602
/* B6F250 800F80B0 00002825 */ move $a1, $zero
/* B6F254 800F80B4 00042200 */ sll $a0, $a0, 8
/* B6F258 800F80B8 0C0396C8 */ jal func_800E5B20
/* B6F25C 800F80BC 00812025 */ or $a0, $a0, $at
/* B6F260 800F80C0 96580028 */ lhu $t8, 0x28($s2)
/* B6F264 800F80C4 240D0001 */ li $t5, 1
/* B6F268 800F80C8 93A400B3 */ lbu $a0, 0xb3($sp)
/* B6F26C 800F80CC 330E0C00 */ andi $t6, $t8, 0xc00
/* B6F270 800F80D0 51C0003A */ beql $t6, $zero, .L800F81BC
/* B6F274 800F80D4 329000FF */ andi $s0, $s4, 0xff
/* B6F278 800F80D8 0C03DED5 */ jal func_800F7B54
/* B6F27C 800F80DC 328500FF */ andi $a1, $s4, 0xff
/* B6F280 800F80E0 240D0001 */ li $t5, 1
/* B6F284 800F80E4 10000034 */ b .L800F81B8
/* B6F288 800F80E8 321400FF */ andi $s4, $s0, 0xff
.L800F80EC:
/* B6F28C 800F80EC 91EF33CC */ lbu $t7, %lo(D_801333CC)($t7)
/* B6F290 800F80F0 93B800B3 */ lbu $t8, 0xb3($sp)
/* B6F294 800F80F4 3C0A8013 */ lui $t2, %hi(D_80130578)
/* B6F298 800F80F8 000FC8C0 */ sll $t9, $t7, 3
/* B6F29C 800F80FC 032FC823 */ subu $t9, $t9, $t7
/* B6F2A0 800F8100 03387021 */ addu $t6, $t9, $t8
/* B6F2A4 800F8104 014E5021 */ addu $t2, $t2, $t6
/* B6F2A8 800F8108 914A0578 */ lbu $t2, %lo(D_80130578)($t2)
/* B6F2AC 800F810C 00005825 */ move $t3, $zero
/* B6F2B0 800F8110 314900FF */ andi $t1, $t2, 0xff
/* B6F2B4 800F8114 19200028 */ blez $t1, .L800F81B8
/* B6F2B8 800F8118 01204025 */ move $t0, $t1
/* B6F2BC 800F811C 000B78C0 */ sll $t7, $t3, 3
.L800F8120:
/* B6F2C0 800F8120 022F3821 */ addu $a3, $s1, $t7
/* B6F2C4 800F8124 8CF90000 */ lw $t9, ($a3)
/* B6F2C8 800F8128 8E430020 */ lw $v1, 0x20($s2)
/* B6F2CC 800F812C 2502FFFF */ addiu $v0, $t0, -1
/* B6F2D0 800F8130 304500FF */ andi $a1, $v0, 0xff
/* B6F2D4 800F8134 0323082B */ sltu $at, $t9, $v1
/* B6F2D8 800F8138 1420001A */ bnez $at, .L800F81A4
/* B6F2DC 800F813C 01603025 */ move $a2, $t3
/* B6F2E0 800F8140 026A082A */ slt $at, $s3, $t2
/* B6F2E4 800F8144 10200003 */ beqz $at, .L800F8154
/* B6F2E8 800F8148 304400FF */ andi $a0, $v0, 0xff
/* B6F2EC 800F814C 26730001 */ addiu $s3, $s3, 1
/* B6F2F0 800F8150 327300FF */ andi $s3, $s3, 0xff
.L800F8154:
/* B6F2F4 800F8154 00C4082A */ slt $at, $a2, $a0
/* B6F2F8 800F8158 10200010 */ beqz $at, .L800F819C
/* B6F2FC 800F815C 312B00FF */ andi $t3, $t1, 0xff
/* B6F300 800F8160 00A01825 */ move $v1, $a1
.L800F8164:
/* B6F304 800F8164 000370C0 */ sll $t6, $v1, 3
/* B6F308 800F8168 022E1021 */ addu $v0, $s1, $t6
/* B6F30C 800F816C 8C4FFFF8 */ lw $t7, -8($v0)
/* B6F310 800F8170 0005C0C0 */ sll $t8, $a1, 3
/* B6F314 800F8174 02382021 */ addu $a0, $s1, $t8
/* B6F318 800F8178 24A5FFFF */ addiu $a1, $a1, -1
/* B6F31C 800F817C AC8F0000 */ sw $t7, ($a0)
/* B6F320 800F8180 9059FFFC */ lbu $t9, -4($v0)
/* B6F324 800F8184 30A500FF */ andi $a1, $a1, 0xff
/* B6F328 800F8188 00C5082A */ slt $at, $a2, $a1
/* B6F32C 800F818C 00A01825 */ move $v1, $a1
/* B6F330 800F8190 1420FFF4 */ bnez $at, .L800F8164
/* B6F334 800F8194 A0990004 */ sb $t9, 4($a0)
/* B6F338 800F8198 8E430020 */ lw $v1, 0x20($s2)
.L800F819C:
/* B6F33C 800F819C ACE30000 */ sw $v1, ($a3)
/* B6F340 800F81A0 A0F40004 */ sb $s4, 4($a3)
.L800F81A4:
/* B6F344 800F81A4 256B0001 */ addiu $t3, $t3, 1
/* B6F348 800F81A8 316B00FF */ andi $t3, $t3, 0xff
/* B6F34C 800F81AC 0168082A */ slt $at, $t3, $t0
/* B6F350 800F81B0 5420FFDB */ bnezl $at, .L800F8120
/* B6F354 800F81B4 000B78C0 */ sll $t7, $t3, 3
.L800F81B8:
/* B6F358 800F81B8 329000FF */ andi $s0, $s4, 0xff
.L800F81BC:
/* B6F35C 800F81BC 8EC30000 */ lw $v1, ($s6)
.L800F81C0:
/* B6F360 800F81C0 02170019 */ multu $s0, $s7
/* B6F364 800F81C4 0000C012 */ mflo $t8
/* B6F368 800F81C8 00787021 */ addu $t6, $v1, $t8
/* B6F36C 800F81CC 91D4002D */ lbu $s4, 0x2d($t6)
/* B6F370 800F81D0 17D4FEED */ bne $fp, $s4, .L800F7D88
/* B6F374 800F81D4 00000000 */ nop
/* B6F378 800F81D8 240D0001 */ li $t5, 1
.L800F81DC:
/* B6F37C 800F81DC 24170030 */ li $s7, 48
/* B6F380 800F81E0 00005825 */ move $t3, $zero
/* B6F384 800F81E4 1A600019 */ blez $s3, .L800F824C
/* B6F388 800F81E8 02602825 */ move $a1, $s3
/* B6F38C 800F81EC 24030003 */ li $v1, 3
/* B6F390 800F81F0 24020002 */ li $v0, 2
/* B6F394 800F81F4 000B78C0 */ sll $t7, $t3, 3
.L800F81F8:
/* B6F398 800F81F8 022FC821 */ addu $t9, $s1, $t7
/* B6F39C 800F81FC 93380004 */ lbu $t8, 4($t9)
/* B6F3A0 800F8200 8ECF0000 */ lw $t7, ($s6)
/* B6F3A4 800F8204 256B0001 */ addiu $t3, $t3, 1
/* B6F3A8 800F8208 03170019 */ multu $t8, $s7
/* B6F3AC 800F820C 316B00FF */ andi $t3, $t3, 0xff
/* B6F3B0 800F8210 24010004 */ li $at, 4
/* B6F3B4 800F8214 00007012 */ mflo $t6
/* B6F3B8 800F8218 01CF9021 */ addu $s2, $t6, $t7
/* B6F3BC 800F821C 9244002A */ lbu $a0, 0x2a($s2)
/* B6F3C0 800F8220 15A40003 */ bne $t5, $a0, .L800F8230
/* B6F3C4 800F8224 00000000 */ nop
/* B6F3C8 800F8228 10000004 */ b .L800F823C
/* B6F3CC 800F822C A242002A */ sb $v0, 0x2a($s2)
.L800F8230:
/* B6F3D0 800F8230 54810003 */ bnel $a0, $at, .L800F8240
/* B6F3D4 800F8234 0165082A */ slt $at, $t3, $a1
/* B6F3D8 800F8238 A243002A */ sb $v1, 0x2a($s2)
.L800F823C:
/* B6F3DC 800F823C 0165082A */ slt $at, $t3, $a1
.L800F8240:
/* B6F3E0 800F8240 5420FFED */ bnezl $at, .L800F81F8
/* B6F3E4 800F8244 000B78C0 */ sll $t7, $t3, 3
/* B6F3E8 800F8248 00005825 */ move $t3, $zero
.L800F824C:
/* B6F3EC 800F824C 3C198013 */ lui $t9, %hi(D_801333CC) # $t9, 0x8013
/* B6F3F0 800F8250 933933CC */ lbu $t9, %lo(D_801333CC)($t9)
/* B6F3F4 800F8254 93A200B3 */ lbu $v0, 0xb3($sp)
/* B6F3F8 800F8258 3C098013 */ lui $t1, %hi(D_80130578)
/* B6F3FC 800F825C 0019C0C0 */ sll $t8, $t9, 3
/* B6F400 800F8260 0319C023 */ subu $t8, $t8, $t9
/* B6F404 800F8264 03027021 */ addu $t6, $t8, $v0
/* B6F408 800F8268 012E4821 */ addu $t1, $t1, $t6
/* B6F40C 800F826C 91290578 */ lbu $t1, %lo(D_80130578)($t1)
/* B6F410 800F8270 00027880 */ sll $t7, $v0, 2
/* B6F414 800F8274 01E27823 */ subu $t7, $t7, $v0
/* B6F418 800F8278 19200075 */ blez $t1, .L800F8450
/* B6F41C 800F827C 01204025 */ move $t0, $t1
/* B6F420 800F8280 3C198017 */ lui $t9, %hi(D_8016E1B8) # $t9, 0x8017
/* B6F424 800F8284 2739E1B8 */ addiu $t9, %lo(D_8016E1B8) # addiu $t9, $t9, -0x1e48
/* B6F428 800F8288 000F78C0 */ sll $t7, $t7, 3
/* B6F42C 800F828C 01F93021 */ addu $a2, $t7, $t9
/* B6F430 800F8290 240C0003 */ li $t4, 3
/* B6F434 800F8294 000BC0C0 */ sll $t8, $t3, 3
.L800F8298:
/* B6F438 800F8298 00D8A021 */ addu $s4, $a2, $t8
/* B6F43C 800F829C 92850004 */ lbu $a1, 4($s4)
/* B6F440 800F82A0 00001825 */ move $v1, $zero
/* B6F444 800F82A4 17C50003 */ bne $fp, $a1, .L800F82B4
/* B6F448 800F82A8 00A01025 */ move $v0, $a1
/* B6F44C 800F82AC 10000034 */ b .L800F8380
/* B6F450 800F82B0 24030001 */ li $v1, 1
.L800F82B4:
/* B6F454 800F82B4 00B70019 */ multu $a1, $s7
/* B6F458 800F82B8 8ECF0000 */ lw $t7, ($s6)
/* B6F45C 800F82BC 24010004 */ li $at, 4
/* B6F460 800F82C0 00007012 */ mflo $t6
/* B6F464 800F82C4 01CF9021 */ addu $s2, $t6, $t7
/* B6F468 800F82C8 9244002A */ lbu $a0, 0x2a($s2)
/* B6F46C 800F82CC 14810017 */ bne $a0, $at, .L800F832C
/* B6F470 800F82D0 00000000 */ nop
/* B6F474 800F82D4 96590028 */ lhu $t9, 0x28($s2)
/* B6F478 800F82D8 93A400B3 */ lbu $a0, 0xb3($sp)
/* B6F47C 800F82DC 240E0001 */ li $t6, 1
/* B6F480 800F82E0 33380C00 */ andi $t8, $t9, 0xc00
/* B6F484 800F82E4 5300000F */ beql $t8, $zero, .L800F8324
/* B6F488 800F82E8 A24E002A */ sb $t6, 0x2a($s2)
/* B6F48C 800F82EC AFA60074 */ sw $a2, 0x74($sp)
/* B6F490 800F82F0 AFA80064 */ sw $t0, 0x64($sp)
/* B6F494 800F82F4 A3A900AE */ sb $t1, 0xae($sp)
/* B6F498 800F82F8 0C03DED5 */ jal func_800F7B54
/* B6F49C 800F82FC A3AB00AC */ sb $t3, 0xac($sp)
/* B6F4A0 800F8300 8FA60074 */ lw $a2, 0x74($sp)
/* B6F4A4 800F8304 8FA80064 */ lw $t0, 0x64($sp)
/* B6F4A8 800F8308 93A900AE */ lbu $t1, 0xae($sp)
/* B6F4AC 800F830C 93AB00AC */ lbu $t3, 0xac($sp)
/* B6F4B0 800F8310 240C0003 */ li $t4, 3
/* B6F4B4 800F8314 240D0001 */ li $t5, 1
/* B6F4B8 800F8318 10000019 */ b .L800F8380
/* B6F4BC 800F831C 24030001 */ li $v1, 1
/* B6F4C0 800F8320 A24E002A */ sb $t6, 0x2a($s2)
.L800F8324:
/* B6F4C4 800F8324 10000016 */ b .L800F8380
/* B6F4C8 800F8328 24030001 */ li $v1, 1
.L800F832C:
/* B6F4CC 800F832C 14800004 */ bnez $a0, .L800F8340
/* B6F4D0 800F8330 00000000 */ nop
/* B6F4D4 800F8334 A2950004 */ sb $s5, 4($s4)
/* B6F4D8 800F8338 10000011 */ b .L800F8380
/* B6F4DC 800F833C 24030001 */ li $v1, 1
.L800F8340:
/* B6F4E0 800F8340 1900000D */ blez $t0, .L800F8378
/* B6F4E4 800F8344 00002825 */ move $a1, $zero
/* B6F4E8 800F8348 000578C0 */ sll $t7, $a1, 3
.L800F834C:
/* B6F4EC 800F834C 022F2021 */ addu $a0, $s1, $t7
/* B6F4F0 800F8350 90990004 */ lbu $t9, 4($a0)
/* B6F4F4 800F8354 54590004 */ bnel $v0, $t9, .L800F8368
/* B6F4F8 800F8358 24A50001 */ addiu $a1, $a1, 1
/* B6F4FC 800F835C A0950004 */ sb $s5, 4($a0)
/* B6F500 800F8360 312500FF */ andi $a1, $t1, 0xff
/* B6F504 800F8364 24A50001 */ addiu $a1, $a1, 1
.L800F8368:
/* B6F508 800F8368 30A500FF */ andi $a1, $a1, 0xff
/* B6F50C 800F836C 00A8082A */ slt $at, $a1, $t0
/* B6F510 800F8370 5420FFF6 */ bnezl $at, .L800F834C
/* B6F514 800F8374 000578C0 */ sll $t7, $a1, 3
.L800F8378:
/* B6F518 800F8378 2673FFFF */ addiu $s3, $s3, -1
/* B6F51C 800F837C 327300FF */ andi $s3, $s3, 0xff
.L800F8380:
/* B6F520 800F8380 15A3002E */ bne $t5, $v1, .L800F843C
/* B6F524 800F8384 00605025 */ move $t2, $v1
/* B6F528 800F8388 19000029 */ blez $t0, .L800F8430
/* B6F52C 800F838C 00002825 */ move $a1, $zero
/* B6F530 800F8390 0005C0C0 */ sll $t8, $a1, 3
.L800F8394:
/* B6F534 800F8394 02382021 */ addu $a0, $s1, $t8
/* B6F538 800F8398 90870004 */ lbu $a3, 4($a0)
/* B6F53C 800F839C 13C7001F */ beq $fp, $a3, .L800F841C
/* B6F540 800F83A0 00E01025 */ move $v0, $a3
/* B6F544 800F83A4 00F70019 */ multu $a3, $s7
/* B6F548 800F83A8 8ECE0000 */ lw $t6, ($s6)
/* B6F54C 800F83AC 00007812 */ mflo $t7
/* B6F550 800F83B0 01CFC821 */ addu $t9, $t6, $t7
/* B6F554 800F83B4 9338002A */ lbu $t8, 0x2a($t9)
/* B6F558 800F83B8 51980019 */ beql $t4, $t8, .L800F8420
/* B6F55C 800F83BC 24A50001 */ addiu $a1, $a1, 1
/* B6F560 800F83C0 1900000E */ blez $t0, .L800F83FC
/* B6F564 800F83C4 00008025 */ move $s0, $zero
/* B6F568 800F83C8 001070C0 */ sll $t6, $s0, 3
.L800F83CC:
/* B6F56C 800F83CC 00CE7821 */ addu $t7, $a2, $t6
/* B6F570 800F83D0 91F90004 */ lbu $t9, 4($t7)
/* B6F574 800F83D4 54590004 */ bnel $v0, $t9, .L800F83E8
/* B6F578 800F83D8 26100001 */ addiu $s0, $s0, 1
/* B6F57C 800F83DC 00001825 */ move $v1, $zero
/* B6F580 800F83E0 313000FF */ andi $s0, $t1, 0xff
/* B6F584 800F83E4 26100001 */ addiu $s0, $s0, 1
.L800F83E8:
/* B6F588 800F83E8 321000FF */ andi $s0, $s0, 0xff
/* B6F58C 800F83EC 0208082A */ slt $at, $s0, $t0
/* B6F590 800F83F0 5420FFF6 */ bnezl $at, .L800F83CC
/* B6F594 800F83F4 001070C0 */ sll $t6, $s0, 3
/* B6F598 800F83F8 00605025 */ move $t2, $v1
.L800F83FC:
/* B6F59C 800F83FC 55AA0008 */ bnel $t5, $t2, .L800F8420
/* B6F5A0 800F8400 24A50001 */ addiu $a1, $a1, 1
/* B6F5A4 800F8404 25050001 */ addiu $a1, $t0, 1
/* B6F5A8 800F8408 2673FFFF */ addiu $s3, $s3, -1
/* B6F5AC 800F840C A2870004 */ sb $a3, 4($s4)
/* B6F5B0 800F8410 A0950004 */ sb $s5, 4($a0)
/* B6F5B4 800F8414 30A500FF */ andi $a1, $a1, 0xff
/* B6F5B8 800F8418 327300FF */ andi $s3, $s3, 0xff
.L800F841C:
/* B6F5BC 800F841C 24A50001 */ addiu $a1, $a1, 1
.L800F8420:
/* B6F5C0 800F8420 30A500FF */ andi $a1, $a1, 0xff
/* B6F5C4 800F8424 00A8082A */ slt $at, $a1, $t0
/* B6F5C8 800F8428 5420FFDA */ bnezl $at, .L800F8394
/* B6F5CC 800F842C 0005C0C0 */ sll $t8, $a1, 3
.L800F8430:
/* B6F5D0 800F8430 55050003 */ bnel $t0, $a1, .L800F8440
/* B6F5D4 800F8434 256B0001 */ addiu $t3, $t3, 1
/* B6F5D8 800F8438 A2950004 */ sb $s5, 4($s4)
.L800F843C:
/* B6F5DC 800F843C 256B0001 */ addiu $t3, $t3, 1
.L800F8440:
/* B6F5E0 800F8440 316B00FF */ andi $t3, $t3, 0xff
/* B6F5E4 800F8444 0168082A */ slt $at, $t3, $t0
/* B6F5E8 800F8448 5420FF93 */ bnezl $at, .L800F8298
/* B6F5EC 800F844C 000BC0C0 */ sll $t8, $t3, 3
.L800F8450:
/* B6F5F0 800F8450 8FBF0054 */ lw $ra, 0x54($sp)
/* B6F5F4 800F8454 8FB00030 */ lw $s0, 0x30($sp)
/* B6F5F8 800F8458 8FB10034 */ lw $s1, 0x34($sp)
/* B6F5FC 800F845C 8FB20038 */ lw $s2, 0x38($sp)
/* B6F600 800F8460 8FB3003C */ lw $s3, 0x3c($sp)
/* B6F604 800F8464 8FB40040 */ lw $s4, 0x40($sp)
/* B6F608 800F8468 8FB50044 */ lw $s5, 0x44($sp)
/* B6F60C 800F846C 8FB60048 */ lw $s6, 0x48($sp)
/* B6F610 800F8470 8FB7004C */ lw $s7, 0x4c($sp)
/* B6F614 800F8474 8FBE0050 */ lw $fp, 0x50($sp)
/* B6F618 800F8478 03E00008 */ jr $ra
/* B6F61C 800F847C 27BD00B0 */ addiu $sp, $sp, 0xb0
glabel func_800F8480
/* B6F620 800F8480 3C0E8013 */ lui $t6, %hi(D_801333CC) # $t6, 0x8013
/* B6F624 800F8484 91CE33CC */ lbu $t6, %lo(D_801333CC)($t6)
/* B6F628 800F8488 27BDFFA0 */ addiu $sp, $sp, -0x60
/* B6F62C 800F848C AFB20020 */ sw $s2, 0x20($sp)
/* B6F630 800F8490 000E78C0 */ sll $t7, $t6, 3
/* B6F634 800F8494 309200FF */ andi $s2, $a0, 0xff
/* B6F638 800F8498 01EE7823 */ subu $t7, $t7, $t6
/* B6F63C 800F849C 01F2C021 */ addu $t8, $t7, $s2
/* B6F640 800F84A0 3C038013 */ lui $v1, %hi(D_80130578)
/* B6F644 800F84A4 00781821 */ addu $v1, $v1, $t8
/* B6F648 800F84A8 90630578 */ lbu $v1, %lo(D_80130578)($v1)
/* B6F64C 800F84AC AFB40028 */ sw $s4, 0x28($sp)
/* B6F650 800F84B0 AFBF003C */ sw $ra, 0x3c($sp)
/* B6F654 800F84B4 AFBE0038 */ sw $fp, 0x38($sp)
/* B6F658 800F84B8 AFB70034 */ sw $s7, 0x34($sp)
/* B6F65C 800F84BC AFB60030 */ sw $s6, 0x30($sp)
/* B6F660 800F84C0 AFB5002C */ sw $s5, 0x2c($sp)
/* B6F664 800F84C4 AFB30024 */ sw $s3, 0x24($sp)
/* B6F668 800F84C8 AFB1001C */ sw $s1, 0x1c($sp)
/* B6F66C 800F84CC AFB00018 */ sw $s0, 0x18($sp)
/* B6F670 800F84D0 AFA40060 */ sw $a0, 0x60($sp)
/* B6F674 800F84D4 186000A6 */ blez $v1, .L800F8770
/* B6F678 800F84D8 0000A025 */ move $s4, $zero
/* B6F67C 800F84DC 0012C880 */ sll $t9, $s2, 2
/* B6F680 800F84E0 0332C823 */ subu $t9, $t9, $s2
/* B6F684 800F84E4 3C088017 */ lui $t0, %hi(D_8016E1B8) # $t0, 0x8017
/* B6F688 800F84E8 2508E1B8 */ addiu $t0, %lo(D_8016E1B8) # addiu $t0, $t0, -0x1e48
/* B6F68C 800F84EC 0019C8C0 */ sll $t9, $t9, 3
/* B6F690 800F84F0 03284821 */ addu $t1, $t9, $t0
/* B6F694 800F84F4 3C138017 */ lui $s3, %hi(D_8016E260) # $s3, 0x8017
/* B6F698 800F84F8 2673E260 */ addiu $s3, %lo(D_8016E260) # addiu $s3, $s3, -0x1da0
/* B6F69C 800F84FC AFA90044 */ sw $t1, 0x44($sp)
/* B6F6A0 800F8500 241E0004 */ li $fp, 4
/* B6F6A4 800F8504 241700FF */ li $s7, 255
/* B6F6A8 800F8508 3C160602 */ lui $s6, 0x602
.L800F850C:
/* B6F6AC 800F850C 8FAA0044 */ lw $t2, 0x44($sp)
/* B6F6B0 800F8510 001458C0 */ sll $t3, $s4, 3
/* B6F6B4 800F8514 00126880 */ sll $t5, $s2, 2
/* B6F6B8 800F8518 014B6021 */ addu $t4, $t2, $t3
/* B6F6BC 800F851C 91910004 */ lbu $s1, 4($t4)
/* B6F6C0 800F8520 3C0E8013 */ lui $t6, %hi(D_801333A8)
/* B6F6C4 800F8524 01CD7021 */ addu $t6, $t6, $t5
/* B6F6C8 800F8528 12F1008A */ beq $s7, $s1, .L800F8754
/* B6F6CC 800F852C 00117880 */ sll $t7, $s1, 2
/* B6F6D0 800F8530 8DCE33A8 */ lw $t6, %lo(D_801333A8)($t6)
/* B6F6D4 800F8534 01F17823 */ subu $t7, $t7, $s1
/* B6F6D8 800F8538 92660000 */ lbu $a2, ($s3)
/* B6F6DC 800F853C 000F7900 */ sll $t7, $t7, 4
/* B6F6E0 800F8540 01CF8021 */ addu $s0, $t6, $t7
/* B6F6E4 800F8544 9202002A */ lbu $v0, 0x2a($s0)
/* B6F6E8 800F8548 3C048017 */ lui $a0, %hi(D_801729A8)
/* B6F6EC 800F854C 0006C080 */ sll $t8, $a2, 2
/* B6F6F0 800F8550 00982021 */ addu $a0, $a0, $t8
/* B6F6F4 800F8554 24010002 */ li $at, 2
/* B6F6F8 800F8558 14410053 */ bne $v0, $at, .L800F86A8
/* B6F6FC 800F855C 8C8429A8 */ lw $a0, %lo(D_801729A8)($a0)
/* B6F700 800F8560 96020026 */ lhu $v0, 0x26($s0)
/* B6F704 800F8564 3C198013 */ lui $t9, %hi(D_80130570) # $t9, 0x8013
/* B6F708 800F8568 27390570 */ addiu $t9, %lo(D_80130570) # addiu $t9, $t9, 0x570
/* B6F70C 800F856C 30480008 */ andi $t0, $v0, 8
/* B6F710 800F8570 A206002E */ sb $a2, 0x2e($s0)
/* B6F714 800F8574 11000004 */ beqz $t0, .L800F8588
/* B6F718 800F8578 0259A821 */ addu $s5, $s2, $t9
/* B6F71C 800F857C 0C03DCAE */ jal func_800F72B8
/* B6F720 800F8580 92640000 */ lbu $a0, ($s3)
/* B6F724 800F8584 96020026 */ lhu $v0, 0x26($s0)
.L800F8588:
/* B6F728 800F8588 304300C0 */ andi $v1, $v0, 0xc0
/* B6F72C 800F858C 10600017 */ beqz $v1, .L800F85EC
/* B6F730 800F8590 24010040 */ li $at, 64
/* B6F734 800F8594 10610007 */ beq $v1, $at, .L800F85B4
/* B6F738 800F8598 24010080 */ li $at, 128
/* B6F73C 800F859C 1061000A */ beq $v1, $at, .L800F85C8
/* B6F740 800F85A0 240100C0 */ li $at, 192
/* B6F744 800F85A4 1061000D */ beq $v1, $at, .L800F85DC
/* B6F748 800F85A8 00000000 */ nop
/* B6F74C 800F85AC 1000000F */ b .L800F85EC
/* B6F750 800F85B0 A200002F */ sb $zero, 0x2f($s0)
.L800F85B4:
/* B6F754 800F85B4 0C0399F0 */ jal func_800E67C0
/* B6F758 800F85B8 00000000 */ nop
/* B6F75C 800F85BC 3049000F */ andi $t1, $v0, 0xf
/* B6F760 800F85C0 1000000A */ b .L800F85EC
/* B6F764 800F85C4 A209002F */ sb $t1, 0x2f($s0)
.L800F85C8:
/* B6F768 800F85C8 0C0399F0 */ jal func_800E67C0
/* B6F76C 800F85CC 00000000 */ nop
/* B6F770 800F85D0 304A001F */ andi $t2, $v0, 0x1f
/* B6F774 800F85D4 10000005 */ b .L800F85EC
/* B6F778 800F85D8 A20A002F */ sb $t2, 0x2f($s0)
.L800F85DC:
/* B6F77C 800F85DC 0C0399F0 */ jal func_800E67C0
/* B6F780 800F85E0 00000000 */ nop
/* B6F784 800F85E4 304B003F */ andi $t3, $v0, 0x3f
/* B6F788 800F85E8 A20B002F */ sb $t3, 0x2f($s0)
.L800F85EC:
/* B6F78C 800F85EC 324400FF */ andi $a0, $s2, 0xff
/* B6F790 800F85F0 322500FF */ andi $a1, $s1, 0xff
/* B6F794 800F85F4 0C03CE82 */ jal func_800F3A08
/* B6F798 800F85F8 92660000 */ lbu $a2, ($s3)
/* B6F79C 800F85FC 926D0000 */ lbu $t5, ($s3)
/* B6F7A0 800F8600 24050001 */ li $a1, 1
/* B6F7A4 800F8604 000D7200 */ sll $t6, $t5, 8
/* B6F7A8 800F8608 0C0396C8 */ jal func_800E5B20
/* B6F7AC 800F860C 01D62025 */ or $a0, $t6, $s6
/* B6F7B0 800F8610 92780000 */ lbu $t8, ($s3)
/* B6F7B4 800F8614 96050028 */ lhu $a1, 0x28($s0)
/* B6F7B8 800F8618 0018CA00 */ sll $t9, $t8, 8
/* B6F7BC 800F861C 03362025 */ or $a0, $t9, $s6
/* B6F7C0 800F8620 00052E00 */ sll $a1, $a1, 0x18
/* B6F7C4 800F8624 00052E03 */ sra $a1, $a1, 0x18
/* B6F7C8 800F8628 0C0396C8 */ jal func_800E5B20
/* B6F7CC 800F862C 34840004 */ ori $a0, $a0, 4
/* B6F7D0 800F8630 92A80000 */ lbu $t0, ($s5)
/* B6F7D4 800F8634 5100000C */ beql $t0, $zero, .L800F8668
/* B6F7D8 800F8638 960C0028 */ lhu $t4, 0x28($s0)
/* B6F7DC 800F863C 96050028 */ lhu $a1, 0x28($s0)
/* B6F7E0 800F8640 926A0000 */ lbu $t2, ($s3)
/* B6F7E4 800F8644 30A50100 */ andi $a1, $a1, 0x100
/* B6F7E8 800F8648 00052A03 */ sra $a1, $a1, 8
/* B6F7EC 800F864C 000A5A00 */ sll $t3, $t2, 8
/* B6F7F0 800F8650 01762025 */ or $a0, $t3, $s6
/* B6F7F4 800F8654 00052E00 */ sll $a1, $a1, 0x18
/* B6F7F8 800F8658 00052E03 */ sra $a1, $a1, 0x18
/* B6F7FC 800F865C 0C0396C8 */ jal func_800E5B20
/* B6F800 800F8660 34840005 */ ori $a0, $a0, 5
/* B6F804 800F8664 960C0028 */ lhu $t4, 0x28($s0)
.L800F8668:
/* B6F808 800F8668 3C0F8013 */ lui $t7, %hi(D_801333CC) # $t7, 0x8013
/* B6F80C 800F866C 240E0005 */ li $t6, 5
/* B6F810 800F8670 318D0C00 */ andi $t5, $t4, 0xc00
/* B6F814 800F8674 51A00004 */ beql $t5, $zero, .L800F8688
/* B6F818 800F8678 A20E002A */ sb $t6, 0x2a($s0)
/* B6F81C 800F867C 10000002 */ b .L800F8688
/* B6F820 800F8680 A21E002A */ sb $fp, 0x2a($s0)
/* B6F824 800F8684 A20E002A */ sb $t6, 0x2a($s0)
.L800F8688:
/* B6F828 800F8688 91EF33CC */ lbu $t7, %lo(D_801333CC)($t7)
/* B6F82C 800F868C 3C038013 */ lui $v1, %hi(D_80130578)
/* B6F830 800F8690 000FC0C0 */ sll $t8, $t7, 3
/* B6F834 800F8694 030FC023 */ subu $t8, $t8, $t7
/* B6F838 800F8698 0312C821 */ addu $t9, $t8, $s2
/* B6F83C 800F869C 00791821 */ addu $v1, $v1, $t9
/* B6F840 800F86A0 1000002C */ b .L800F8754
/* B6F844 800F86A4 90630578 */ lbu $v1, %lo(D_80130578)($v1)
.L800F86A8:
/* B6F848 800F86A8 908800C5 */ lbu $t0, 0xc5($a0)
/* B6F84C 800F86AC 324400FF */ andi $a0, $s2, 0xff
/* B6F850 800F86B0 24010003 */ li $at, 3
/* B6F854 800F86B4 16E8000C */ bne $s7, $t0, .L800F86E8
/* B6F858 800F86B8 00000000 */ nop
/* B6F85C 800F86BC 0C03DED5 */ jal func_800F7B54
/* B6F860 800F86C0 322500FF */ andi $a1, $s1, 0xff
/* B6F864 800F86C4 3C098013 */ lui $t1, %hi(D_801333CC) # $t1, 0x8013
/* B6F868 800F86C8 912933CC */ lbu $t1, %lo(D_801333CC)($t1)
/* B6F86C 800F86CC 3C038013 */ lui $v1, %hi(D_80130578)
/* B6F870 800F86D0 000950C0 */ sll $t2, $t1, 3
/* B6F874 800F86D4 01495023 */ subu $t2, $t2, $t1
/* B6F878 800F86D8 01525821 */ addu $t3, $t2, $s2
/* B6F87C 800F86DC 006B1821 */ addu $v1, $v1, $t3
/* B6F880 800F86E0 1000001C */ b .L800F8754
/* B6F884 800F86E4 90630578 */ lbu $v1, %lo(D_80130578)($v1)
.L800F86E8:
/* B6F888 800F86E8 1441001A */ bne $v0, $at, .L800F8754
/* B6F88C 800F86EC 324400FF */ andi $a0, $s2, 0xff
/* B6F890 800F86F0 0C03CE82 */ jal func_800F3A08
/* B6F894 800F86F4 322500FF */ andi $a1, $s1, 0xff
/* B6F898 800F86F8 960C0028 */ lhu $t4, 0x28($s0)
/* B6F89C 800F86FC 3C0E8013 */ lui $t6, %hi(D_801333CC) # $t6, 0x8013
/* B6F8A0 800F8700 24190005 */ li $t9, 5
/* B6F8A4 800F8704 318D0C00 */ andi $t5, $t4, 0xc00
/* B6F8A8 800F8708 11A0000A */ beqz $t5, .L800F8734
/* B6F8AC 800F870C 3C088013 */ lui $t0, %hi(D_801333CC) # $t0, 0x8013
/* B6F8B0 800F8710 A21E002A */ sb $fp, 0x2a($s0)
/* B6F8B4 800F8714 91CE33CC */ lbu $t6, %lo(D_801333CC)($t6)
/* B6F8B8 800F8718 3C038013 */ lui $v1, %hi(D_80130578)
/* B6F8BC 800F871C 000E78C0 */ sll $t7, $t6, 3
/* B6F8C0 800F8720 01EE7823 */ subu $t7, $t7, $t6
/* B6F8C4 800F8724 01F2C021 */ addu $t8, $t7, $s2
/* B6F8C8 800F8728 00781821 */ addu $v1, $v1, $t8
/* B6F8CC 800F872C 10000009 */ b .L800F8754
/* B6F8D0 800F8730 90630578 */ lbu $v1, %lo(D_80130578)($v1)
.L800F8734:
/* B6F8D4 800F8734 A219002A */ sb $t9, 0x2a($s0)
/* B6F8D8 800F8738 910833CC */ lbu $t0, %lo(D_801333CC)($t0)
/* B6F8DC 800F873C 3C038013 */ lui $v1, %hi(D_80130578)
/* B6F8E0 800F8740 000848C0 */ sll $t1, $t0, 3
/* B6F8E4 800F8744 01284823 */ subu $t1, $t1, $t0
/* B6F8E8 800F8748 01325021 */ addu $t2, $t1, $s2
/* B6F8EC 800F874C 006A1821 */ addu $v1, $v1, $t2
/* B6F8F0 800F8750 90630578 */ lbu $v1, %lo(D_80130578)($v1)
.L800F8754:
/* B6F8F4 800F8754 926B0000 */ lbu $t3, ($s3)
/* B6F8F8 800F8758 26940001 */ addiu $s4, $s4, 1
/* B6F8FC 800F875C 329400FF */ andi $s4, $s4, 0xff
/* B6F900 800F8760 0283082A */ slt $at, $s4, $v1
/* B6F904 800F8764 256C0001 */ addiu $t4, $t3, 1
/* B6F908 800F8768 1420FF68 */ bnez $at, .L800F850C
/* B6F90C 800F876C A26C0000 */ sb $t4, ($s3)
.L800F8770:
/* B6F910 800F8770 8FBF003C */ lw $ra, 0x3c($sp)
/* B6F914 800F8774 8FB00018 */ lw $s0, 0x18($sp)
/* B6F918 800F8778 8FB1001C */ lw $s1, 0x1c($sp)
/* B6F91C 800F877C 8FB20020 */ lw $s2, 0x20($sp)
/* B6F920 800F8780 8FB30024 */ lw $s3, 0x24($sp)
/* B6F924 800F8784 8FB40028 */ lw $s4, 0x28($sp)
/* B6F928 800F8788 8FB5002C */ lw $s5, 0x2c($sp)
/* B6F92C 800F878C 8FB60030 */ lw $s6, 0x30($sp)
/* B6F930 800F8790 8FB70034 */ lw $s7, 0x34($sp)
/* B6F934 800F8794 8FBE0038 */ lw $fp, 0x38($sp)
/* B6F938 800F8798 03E00008 */ jr $ra
/* B6F93C 800F879C 27BD0060 */ addiu $sp, $sp, 0x60
glabel func_800F87A0
/* B6F940 800F87A0 27BDFF80 */ addiu $sp, $sp, -0x80
/* B6F944 800F87A4 AFB60030 */ sw $s6, 0x30($sp)
/* B6F948 800F87A8 309600FF */ andi $s6, $a0, 0xff
/* B6F94C 800F87AC 3C0F8013 */ lui $t7, %hi(D_801333A8) # $t7, 0x8013
/* B6F950 800F87B0 AFB20020 */ sw $s2, 0x20($sp)
/* B6F954 800F87B4 25EF33A8 */ addiu $t7, %lo(D_801333A8) # addiu $t7, $t7, 0x33a8
/* B6F958 800F87B8 00167080 */ sll $t6, $s6, 2
/* B6F95C 800F87BC 01CF9021 */ addu $s2, $t6, $t7
/* B6F960 800F87C0 8E430000 */ lw $v1, ($s2)
/* B6F964 800F87C4 AFBF0034 */ sw $ra, 0x34($sp)
/* B6F968 800F87C8 AFB5002C */ sw $s5, 0x2c($sp)
/* B6F96C 800F87CC AFB40028 */ sw $s4, 0x28($sp)
/* B6F970 800F87D0 AFB30024 */ sw $s3, 0x24($sp)
/* B6F974 800F87D4 AFB1001C */ sw $s1, 0x1c($sp)
/* B6F978 800F87D8 AFB00018 */ sw $s0, 0x18($sp)
/* B6F97C 800F87DC AFA40080 */ sw $a0, 0x80($sp)
/* B6F980 800F87E0 9071002D */ lbu $s1, 0x2d($v1)
/* B6F984 800F87E4 241300FF */ li $s3, 255
/* B6F988 800F87E8 24140030 */ li $s4, 48
/* B6F98C 800F87EC 12710016 */ beq $s3, $s1, .L800F8848
/* B6F990 800F87F0 3C150602 */ lui $s5, 0x602
.L800F87F4:
/* B6F994 800F87F4 02340019 */ multu $s1, $s4
/* B6F998 800F87F8 0000C012 */ mflo $t8
/* B6F99C 800F87FC 00788021 */ addu $s0, $v1, $t8
/* B6F9A0 800F8800 9202002A */ lbu $v0, 0x2a($s0)
/* B6F9A4 800F8804 28410003 */ slti $at, $v0, 3
/* B6F9A8 800F8808 14200007 */ bnez $at, .L800F8828
/* B6F9AC 800F880C 00000000 */ nop
/* B6F9B0 800F8810 9208002E */ lbu $t0, 0x2e($s0)
/* B6F9B4 800F8814 00002825 */ move $a1, $zero
/* B6F9B8 800F8818 00084A00 */ sll $t1, $t0, 8
/* B6F9BC 800F881C 0C0396C8 */ jal func_800E5B20
/* B6F9C0 800F8820 01352025 */ or $a0, $t1, $s5
/* B6F9C4 800F8824 9202002A */ lbu $v0, 0x2a($s0)
.L800F8828:
/* B6F9C8 800F8828 10400003 */ beqz $v0, .L800F8838
/* B6F9CC 800F882C 32C400FF */ andi $a0, $s6, 0xff
/* B6F9D0 800F8830 0C03DED5 */ jal func_800F7B54
/* B6F9D4 800F8834 322500FF */ andi $a1, $s1, 0xff
.L800F8838:
/* B6F9D8 800F8838 8E430000 */ lw $v1, ($s2)
/* B6F9DC 800F883C 9071002D */ lbu $s1, 0x2d($v1)
/* B6F9E0 800F8840 1671FFEC */ bne $s3, $s1, .L800F87F4
/* B6F9E4 800F8844 00000000 */ nop
.L800F8848:
/* B6F9E8 800F8848 00165300 */ sll $t2, $s6, 0xc
/* B6F9EC 800F884C A7AA0070 */ sh $t2, 0x70($sp)
/* B6F9F0 800F8850 00002025 */ move $a0, $zero
/* B6F9F4 800F8854 0C03DD38 */ jal func_800F74E0
/* B6F9F8 800F8858 27A50048 */ addiu $a1, $sp, 0x48
/* B6F9FC 800F885C 8FBF0034 */ lw $ra, 0x34($sp)
/* B6FA00 800F8860 8FB00018 */ lw $s0, 0x18($sp)
/* B6FA04 800F8864 8FB1001C */ lw $s1, 0x1c($sp)
/* B6FA08 800F8868 8FB20020 */ lw $s2, 0x20($sp)
/* B6FA0C 800F886C 8FB30024 */ lw $s3, 0x24($sp)
/* B6FA10 800F8870 8FB40028 */ lw $s4, 0x28($sp)
/* B6FA14 800F8874 8FB5002C */ lw $s5, 0x2c($sp)
/* B6FA18 800F8878 8FB60030 */ lw $s6, 0x30($sp)
/* B6FA1C 800F887C 03E00008 */ jr $ra
/* B6FA20 800F8880 27BD0080 */ addiu $sp, $sp, 0x80
glabel func_800F8884
/* B6FA24 800F8884 27BDFFC0 */ addiu $sp, $sp, -0x40
/* B6FA28 800F8888 AFB5002C */ sw $s5, 0x2c($sp)
/* B6FA2C 800F888C 309500FF */ andi $s5, $a0, 0xff
/* B6FA30 800F8890 3C0F8013 */ lui $t7, %hi(D_801333A8) # $t7, 0x8013
/* B6FA34 800F8894 AFB40028 */ sw $s4, 0x28($sp)
/* B6FA38 800F8898 25EF33A8 */ addiu $t7, %lo(D_801333A8) # addiu $t7, $t7, 0x33a8
/* B6FA3C 800F889C 00157080 */ sll $t6, $s5, 2
/* B6FA40 800F88A0 01CFA021 */ addu $s4, $t6, $t7
/* B6FA44 800F88A4 8E820000 */ lw $v0, ($s4)
/* B6FA48 800F88A8 AFBF003C */ sw $ra, 0x3c($sp)
/* B6FA4C 800F88AC AFBE0038 */ sw $fp, 0x38($sp)
/* B6FA50 800F88B0 AFB70034 */ sw $s7, 0x34($sp)
/* B6FA54 800F88B4 AFB60030 */ sw $s6, 0x30($sp)
/* B6FA58 800F88B8 AFB30024 */ sw $s3, 0x24($sp)
/* B6FA5C 800F88BC AFB20020 */ sw $s2, 0x20($sp)
/* B6FA60 800F88C0 AFB1001C */ sw $s1, 0x1c($sp)
/* B6FA64 800F88C4 AFB00018 */ sw $s0, 0x18($sp)
/* B6FA68 800F88C8 AFA40040 */ sw $a0, 0x40($sp)
/* B6FA6C 800F88CC 9051002D */ lbu $s1, 0x2d($v0)
/* B6FA70 800F88D0 241700FF */ li $s7, 255
/* B6FA74 800F88D4 00A0B025 */ move $s6, $a1
/* B6FA78 800F88D8 12F10025 */ beq $s7, $s1, .L800F8970
/* B6FA7C 800F88DC 00009025 */ move $s2, $zero
/* B6FA80 800F88E0 241E0030 */ li $fp, 48
.L800F88E4:
/* B6FA84 800F88E4 023E0019 */ multu $s1, $fp
/* B6FA88 800F88E8 0000C012 */ mflo $t8
/* B6FA8C 800F88EC 00588021 */ addu $s0, $v0, $t8
/* B6FA90 800F88F0 8E190000 */ lw $t9, ($s0)
/* B6FA94 800F88F4 56D90017 */ bnel $s6, $t9, .L800F8954
/* B6FA98 800F88F8 323200FF */ andi $s2, $s1, 0xff
/* B6FA9C 800F88FC 9202002A */ lbu $v0, 0x2a($s0)
/* B6FAA0 800F8900 00129880 */ sll $s3, $s2, 2
/* B6FAA4 800F8904 02729823 */ subu $s3, $s3, $s2
/* B6FAA8 800F8908 28410003 */ slti $at, $v0, 3
/* B6FAAC 800F890C 14200008 */ bnez $at, .L800F8930
/* B6FAB0 800F8910 00139900 */ sll $s3, $s3, 4
/* B6FAB4 800F8914 9204002E */ lbu $a0, 0x2e($s0)
/* B6FAB8 800F8918 3C010602 */ lui $at, 0x602
/* B6FABC 800F891C 00002825 */ move $a1, $zero
/* B6FAC0 800F8920 00042200 */ sll $a0, $a0, 8
/* B6FAC4 800F8924 0C0396C8 */ jal func_800E5B20
/* B6FAC8 800F8928 00812025 */ or $a0, $a0, $at
/* B6FACC 800F892C 9202002A */ lbu $v0, 0x2a($s0)
.L800F8930:
/* B6FAD0 800F8930 10400003 */ beqz $v0, .L800F8940
/* B6FAD4 800F8934 32A400FF */ andi $a0, $s5, 0xff
/* B6FAD8 800F8938 0C03DED5 */ jal func_800F7B54
/* B6FADC 800F893C 322500FF */ andi $a1, $s1, 0xff
.L800F8940:
/* B6FAE0 800F8940 8E820000 */ lw $v0, ($s4)
/* B6FAE4 800F8944 00534021 */ addu $t0, $v0, $s3
/* B6FAE8 800F8948 10000007 */ b .L800F8968
/* B6FAEC 800F894C 9111002D */ lbu $s1, 0x2d($t0)
/* B6FAF0 800F8950 323200FF */ andi $s2, $s1, 0xff
.L800F8954:
/* B6FAF4 800F8954 00124880 */ sll $t1, $s2, 2
/* B6FAF8 800F8958 01324823 */ subu $t1, $t1, $s2
/* B6FAFC 800F895C 00094900 */ sll $t1, $t1, 4
/* B6FB00 800F8960 00495021 */ addu $t2, $v0, $t1
/* B6FB04 800F8964 9151002D */ lbu $s1, 0x2d($t2)
.L800F8968:
/* B6FB08 800F8968 16F1FFDE */ bne $s7, $s1, .L800F88E4
/* B6FB0C 800F896C 00000000 */ nop
.L800F8970:
/* B6FB10 800F8970 8FBF003C */ lw $ra, 0x3c($sp)
/* B6FB14 800F8974 8FB00018 */ lw $s0, 0x18($sp)
/* B6FB18 800F8978 8FB1001C */ lw $s1, 0x1c($sp)
/* B6FB1C 800F897C 8FB20020 */ lw $s2, 0x20($sp)
/* B6FB20 800F8980 8FB30024 */ lw $s3, 0x24($sp)
/* B6FB24 800F8984 8FB40028 */ lw $s4, 0x28($sp)
/* B6FB28 800F8988 8FB5002C */ lw $s5, 0x2c($sp)
/* B6FB2C 800F898C 8FB60030 */ lw $s6, 0x30($sp)
/* B6FB30 800F8990 8FB70034 */ lw $s7, 0x34($sp)
/* B6FB34 800F8994 8FBE0038 */ lw $fp, 0x38($sp)
/* B6FB38 800F8998 03E00008 */ jr $ra
/* B6FB3C 800F899C 27BD0040 */ addiu $sp, $sp, 0x40
/* B6FB40 800F89A0 27BDFFB8 */ addiu $sp, $sp, -0x48
/* B6FB44 800F89A4 AFBF0014 */ sw $ra, 0x14($sp)
/* B6FB48 800F89A8 AFA40048 */ sw $a0, 0x48($sp)
/* B6FB4C 800F89AC AFA5004C */ sw $a1, 0x4c($sp)
/* B6FB50 800F89B0 0C03E221 */ jal func_800F8884
/* B6FB54 800F89B4 93A4004B */ lbu $a0, 0x4b($sp)
/* B6FB58 800F89B8 93AE004B */ lbu $t6, 0x4b($sp)
/* B6FB5C 800F89BC 8FB8004C */ lw $t8, 0x4c($sp)
/* B6FB60 800F89C0 24040001 */ li $a0, 1
/* B6FB64 800F89C4 000E7B00 */ sll $t7, $t6, 0xc
/* B6FB68 800F89C8 A7AF0040 */ sh $t7, 0x40($sp)
/* B6FB6C 800F89CC 27A50018 */ addiu $a1, $sp, 0x18
/* B6FB70 800F89D0 0C03DD38 */ jal func_800F74E0
/* B6FB74 800F89D4 AFB80018 */ sw $t8, 0x18($sp)
/* B6FB78 800F89D8 8FBF0014 */ lw $ra, 0x14($sp)
/* B6FB7C 800F89DC 27BD0048 */ addiu $sp, $sp, 0x48
/* B6FB80 800F89E0 03E00008 */ jr $ra
/* B6FB84 800F89E4 00000000 */ nop
glabel func_800F89E8
/* B6FB88 800F89E8 27BDFFA8 */ addiu $sp, $sp, -0x58
/* B6FB8C 800F89EC AFB10018 */ sw $s1, 0x18($sp)
/* B6FB90 800F89F0 AFB00014 */ sw $s0, 0x14($sp)
/* B6FB94 800F89F4 00808825 */ move $s1, $a0
/* B6FB98 800F89F8 AFBF001C */ sw $ra, 0x1c($sp)
/* B6FB9C 800F89FC 00008025 */ move $s0, $zero
/* B6FBA0 800F8A00 320400FF */ andi $a0, $s0, 0xff
.L800F8A04:
/* B6FBA4 800F8A04 0C03E221 */ jal func_800F8884
/* B6FBA8 800F8A08 02202825 */ move $a1, $s1
/* B6FBAC 800F8A0C 26100001 */ addiu $s0, $s0, 1
/* B6FBB0 800F8A10 321000FF */ andi $s0, $s0, 0xff
/* B6FBB4 800F8A14 2A010007 */ slti $at, $s0, 7
/* B6FBB8 800F8A18 5420FFFA */ bnezl $at, .L800F8A04
/* B6FBBC 800F8A1C 320400FF */ andi $a0, $s0, 0xff
/* B6FBC0 800F8A20 AFB10024 */ sw $s1, 0x24($sp)
/* B6FBC4 800F8A24 24040002 */ li $a0, 2
/* B6FBC8 800F8A28 0C03DD38 */ jal func_800F74E0
/* B6FBCC 800F8A2C 27A50024 */ addiu $a1, $sp, 0x24
/* B6FBD0 800F8A30 8FBF001C */ lw $ra, 0x1c($sp)
/* B6FBD4 800F8A34 8FB00014 */ lw $s0, 0x14($sp)
/* B6FBD8 800F8A38 8FB10018 */ lw $s1, 0x18($sp)
/* B6FBDC 800F8A3C 03E00008 */ jr $ra
/* B6FBE0 800F8A40 27BD0058 */ addiu $sp, $sp, 0x58
glabel func_800F8A44
/* B6FBE4 800F8A44 27BDFF78 */ addiu $sp, $sp, -0x88
/* B6FBE8 800F8A48 AFB70034 */ sw $s7, 0x34($sp)
/* B6FBEC 800F8A4C AFA5008C */ sw $a1, 0x8c($sp)
/* B6FBF0 800F8A50 97B7008E */ lhu $s7, 0x8e($sp)
/* B6FBF4 800F8A54 AFBE0038 */ sw $fp, 0x38($sp)
/* B6FBF8 800F8A58 3C0F8013 */ lui $t7, %hi(D_801333A8) # $t7, 0x8013
/* B6FBFC 800F8A5C 32FEF000 */ andi $fp, $s7, 0xf000
/* B6FC00 800F8A60 001EF303 */ sra $fp, $fp, 0xc
/* B6FC04 800F8A64 33DE00FF */ andi $fp, $fp, 0xff
/* B6FC08 800F8A68 AFB30024 */ sw $s3, 0x24($sp)
/* B6FC0C 800F8A6C 001E7080 */ sll $t6, $fp, 2
/* B6FC10 800F8A70 25EF33A8 */ addiu $t7, %lo(D_801333A8) # addiu $t7, $t7, 0x33a8
/* B6FC14 800F8A74 01CF9821 */ addu $s3, $t6, $t7
/* B6FC18 800F8A78 8E780000 */ lw $t8, ($s3)
/* B6FC1C 800F8A7C AFBF003C */ sw $ra, 0x3c($sp)
/* B6FC20 800F8A80 AFB60030 */ sw $s6, 0x30($sp)
/* B6FC24 800F8A84 AFB5002C */ sw $s5, 0x2c($sp)
/* B6FC28 800F8A88 AFB40028 */ sw $s4, 0x28($sp)
/* B6FC2C 800F8A8C AFB20020 */ sw $s2, 0x20($sp)
/* B6FC30 800F8A90 AFB1001C */ sw $s1, 0x1c($sp)
/* B6FC34 800F8A94 AFB00018 */ sw $s0, 0x18($sp)
/* B6FC38 800F8A98 AFA40088 */ sw $a0, 0x88($sp)
/* B6FC3C 800F8A9C 9311002D */ lbu $s1, 0x2d($t8)
/* B6FC40 800F8AA0 241500FF */ li $s5, 255
/* B6FC44 800F8AA4 0000A025 */ move $s4, $zero
/* B6FC48 800F8AA8 12B1002A */ beq $s5, $s1, .L800F8B54
/* B6FC4C 800F8AAC 02201025 */ move $v0, $s1
/* B6FC50 800F8AB0 3C160602 */ lui $s6, 0x602
/* B6FC54 800F8AB4 24120030 */ li $s2, 48
.L800F8AB8:
/* B6FC58 800F8AB8 02320019 */ multu $s1, $s2
/* B6FC5C 800F8ABC 8E790000 */ lw $t9, ($s3)
/* B6FC60 800F8AC0 8FA90088 */ lw $t1, 0x88($sp)
/* B6FC64 800F8AC4 00004012 */ mflo $t0
/* B6FC68 800F8AC8 03288021 */ addu $s0, $t9, $t0
/* B6FC6C 800F8ACC 8E0A0000 */ lw $t2, ($s0)
/* B6FC70 800F8AD0 552A0016 */ bnel $t1, $t2, .L800F8B2C
/* B6FC74 800F8AD4 323400FF */ andi $s4, $s1, 0xff
/* B6FC78 800F8AD8 960B0028 */ lhu $t3, 0x28($s0)
/* B6FC7C 800F8ADC 56EB0013 */ bnel $s7, $t3, .L800F8B2C
/* B6FC80 800F8AE0 323400FF */ andi $s4, $s1, 0xff
/* B6FC84 800F8AE4 9202002A */ lbu $v0, 0x2a($s0)
/* B6FC88 800F8AE8 28410003 */ slti $at, $v0, 3
/* B6FC8C 800F8AEC 14200007 */ bnez $at, .L800F8B0C
/* B6FC90 800F8AF0 00000000 */ nop
/* B6FC94 800F8AF4 920D002E */ lbu $t5, 0x2e($s0)
/* B6FC98 800F8AF8 00002825 */ move $a1, $zero
/* B6FC9C 800F8AFC 000D7200 */ sll $t6, $t5, 8
/* B6FCA0 800F8B00 0C0396C8 */ jal func_800E5B20
/* B6FCA4 800F8B04 01D62025 */ or $a0, $t6, $s6
/* B6FCA8 800F8B08 9202002A */ lbu $v0, 0x2a($s0)
.L800F8B0C:
/* B6FCAC 800F8B0C 10400003 */ beqz $v0, .L800F8B1C
/* B6FCB0 800F8B10 33C400FF */ andi $a0, $fp, 0xff
/* B6FCB4 800F8B14 0C03DED5 */ jal func_800F7B54
/* B6FCB8 800F8B18 322500FF */ andi $a1, $s1, 0xff
.L800F8B1C:
/* B6FCBC 800F8B1C 241100FF */ li $s1, 255
/* B6FCC0 800F8B20 10000002 */ b .L800F8B2C
/* B6FCC4 800F8B24 240200FF */ li $v0, 255
/* B6FCC8 800F8B28 323400FF */ andi $s4, $s1, 0xff
.L800F8B2C:
/* B6FCCC 800F8B2C 12A20007 */ beq $s5, $v0, .L800F8B4C
/* B6FCD0 800F8B30 00000000 */ nop
/* B6FCD4 800F8B34 02920019 */ multu $s4, $s2
/* B6FCD8 800F8B38 8E6F0000 */ lw $t7, ($s3)
/* B6FCDC 800F8B3C 0000C012 */ mflo $t8
/* B6FCE0 800F8B40 01F8C821 */ addu $t9, $t7, $t8
/* B6FCE4 800F8B44 9331002D */ lbu $s1, 0x2d($t9)
/* B6FCE8 800F8B48 02201025 */ move $v0, $s1
.L800F8B4C:
/* B6FCEC 800F8B4C 16A2FFDA */ bne $s5, $v0, .L800F8AB8
/* B6FCF0 800F8B50 00000000 */ nop
.L800F8B54:
/* B6FCF4 800F8B54 8FA80088 */ lw $t0, 0x88($sp)
/* B6FCF8 800F8B58 97A9008E */ lhu $t1, 0x8e($sp)
/* B6FCFC 800F8B5C 24040003 */ li $a0, 3
/* B6FD00 800F8B60 27A50050 */ addiu $a1, $sp, 0x50
/* B6FD04 800F8B64 AFA80050 */ sw $t0, 0x50($sp)
/* B6FD08 800F8B68 0C03DD38 */ jal func_800F74E0
/* B6FD0C 800F8B6C A7A90078 */ sh $t1, 0x78($sp)
/* B6FD10 800F8B70 8FBF003C */ lw $ra, 0x3c($sp)
/* B6FD14 800F8B74 8FB00018 */ lw $s0, 0x18($sp)
/* B6FD18 800F8B78 8FB1001C */ lw $s1, 0x1c($sp)
/* B6FD1C 800F8B7C 8FB20020 */ lw $s2, 0x20($sp)
/* B6FD20 800F8B80 8FB30024 */ lw $s3, 0x24($sp)
/* B6FD24 800F8B84 8FB40028 */ lw $s4, 0x28($sp)
/* B6FD28 800F8B88 8FB5002C */ lw $s5, 0x2c($sp)
/* B6FD2C 800F8B8C 8FB60030 */ lw $s6, 0x30($sp)
/* B6FD30 800F8B90 8FB70034 */ lw $s7, 0x34($sp)
/* B6FD34 800F8B94 8FBE0038 */ lw $fp, 0x38($sp)
/* B6FD38 800F8B98 03E00008 */ jr $ra
/* B6FD3C 800F8B9C 27BD0088 */ addiu $sp, $sp, 0x88
/* B6FD40 800F8BA0 27BDFF70 */ addiu $sp, $sp, -0x90
/* B6FD44 800F8BA4 AFBE0038 */ sw $fp, 0x38($sp)
/* B6FD48 800F8BA8 AFA50094 */ sw $a1, 0x94($sp)
/* B6FD4C 800F8BAC 97BE0096 */ lhu $fp, 0x96($sp)
/* B6FD50 800F8BB0 3C088013 */ lui $t0, %hi(D_801333A8) # $t0, 0x8013
/* B6FD54 800F8BB4 AFB40028 */ sw $s4, 0x28($sp)
/* B6FD58 800F8BB8 33CEF000 */ andi $t6, $fp, 0xf000
/* B6FD5C 800F8BBC 000E7B03 */ sra $t7, $t6, 0xc
/* B6FD60 800F8BC0 31F800FF */ andi $t8, $t7, 0xff
/* B6FD64 800F8BC4 0018C880 */ sll $t9, $t8, 2
/* B6FD68 800F8BC8 250833A8 */ addiu $t0, %lo(D_801333A8) # addiu $t0, $t0, 0x33a8
/* B6FD6C 800F8BCC 0328A021 */ addu $s4, $t9, $t0
/* B6FD70 800F8BD0 8E890000 */ lw $t1, ($s4)
/* B6FD74 800F8BD4 AFBF003C */ sw $ra, 0x3c($sp)
/* B6FD78 800F8BD8 AFB70034 */ sw $s7, 0x34($sp)
/* B6FD7C 800F8BDC AFB60030 */ sw $s6, 0x30($sp)
/* B6FD80 800F8BE0 AFB5002C */ sw $s5, 0x2c($sp)
/* B6FD84 800F8BE4 AFB30024 */ sw $s3, 0x24($sp)
/* B6FD88 800F8BE8 AFB20020 */ sw $s2, 0x20($sp)
/* B6FD8C 800F8BEC AFB1001C */ sw $s1, 0x1c($sp)
/* B6FD90 800F8BF0 AFB00018 */ sw $s0, 0x18($sp)
/* B6FD94 800F8BF4 AFA40090 */ sw $a0, 0x90($sp)
/* B6FD98 800F8BF8 AFB80050 */ sw $t8, 0x50($sp)
/* B6FD9C 800F8BFC 9131002D */ lbu $s1, 0x2d($t1)
/* B6FDA0 800F8C00 241600FF */ li $s6, 255
/* B6FDA4 800F8C04 0000A825 */ move $s5, $zero
/* B6FDA8 800F8C08 12D1002B */ beq $s6, $s1, .L800F8CB8
/* B6FDAC 800F8C0C 02209025 */ move $s2, $s1
/* B6FDB0 800F8C10 93AA0093 */ lbu $t2, 0x93($sp)
/* B6FDB4 800F8C14 3C170602 */ lui $s7, 0x602
/* B6FDB8 800F8C18 24130030 */ li $s3, 48
/* B6FDBC 800F8C1C AFAA0044 */ sw $t2, 0x44($sp)
.L800F8C20:
/* B6FDC0 800F8C20 02330019 */ multu $s1, $s3
/* B6FDC4 800F8C24 8E8B0000 */ lw $t3, ($s4)
/* B6FDC8 800F8C28 8FAD0044 */ lw $t5, 0x44($sp)
/* B6FDCC 800F8C2C 00006012 */ mflo $t4
/* B6FDD0 800F8C30 016C8021 */ addu $s0, $t3, $t4
/* B6FDD4 800F8C34 920E000C */ lbu $t6, 0xc($s0)
/* B6FDD8 800F8C38 55AE0015 */ bnel $t5, $t6, .L800F8C90
/* B6FDDC 800F8C3C 323500FF */ andi $s5, $s1, 0xff
/* B6FDE0 800F8C40 960F0028 */ lhu $t7, 0x28($s0)
/* B6FDE4 800F8C44 57CF0012 */ bnel $fp, $t7, .L800F8C90
/* B6FDE8 800F8C48 323500FF */ andi $s5, $s1, 0xff
/* B6FDEC 800F8C4C 9202002A */ lbu $v0, 0x2a($s0)
/* B6FDF0 800F8C50 28410003 */ slti $at, $v0, 3
/* B6FDF4 800F8C54 14200007 */ bnez $at, .L800F8C74
/* B6FDF8 800F8C58 00000000 */ nop
/* B6FDFC 800F8C5C 9219002E */ lbu $t9, 0x2e($s0)
/* B6FE00 800F8C60 00002825 */ move $a1, $zero
/* B6FE04 800F8C64 00194200 */ sll $t0, $t9, 8
/* B6FE08 800F8C68 0C0396C8 */ jal func_800E5B20
/* B6FE0C 800F8C6C 01172025 */ or $a0, $t0, $s7
/* B6FE10 800F8C70 9202002A */ lbu $v0, 0x2a($s0)
.L800F8C74:
/* B6FE14 800F8C74 10400006 */ beqz $v0, .L800F8C90
/* B6FE18 800F8C78 93A40053 */ lbu $a0, 0x53($sp)
/* B6FE1C 800F8C7C 0C03DED5 */ jal func_800F7B54
/* B6FE20 800F8C80 322500FF */ andi $a1, $s1, 0xff
/* B6FE24 800F8C84 10000002 */ b .L800F8C90
/* B6FE28 800F8C88 00000000 */ nop
/* B6FE2C 800F8C8C 323500FF */ andi $s5, $s1, 0xff
.L800F8C90:
/* B6FE30 800F8C90 12D20007 */ beq $s6, $s2, .L800F8CB0
/* B6FE34 800F8C94 00000000 */ nop
/* B6FE38 800F8C98 02B30019 */ multu $s5, $s3
/* B6FE3C 800F8C9C 8E890000 */ lw $t1, ($s4)
/* B6FE40 800F8CA0 00005012 */ mflo $t2
/* B6FE44 800F8CA4 012A5821 */ addu $t3, $t1, $t2
/* B6FE48 800F8CA8 9171002D */ lbu $s1, 0x2d($t3)
/* B6FE4C 800F8CAC 02209025 */ move $s2, $s1
.L800F8CB0:
/* B6FE50 800F8CB0 16D2FFDB */ bne $s6, $s2, .L800F8C20
/* B6FE54 800F8CB4 00000000 */ nop
.L800F8CB8:
/* B6FE58 800F8CB8 93AC0093 */ lbu $t4, 0x93($sp)
/* B6FE5C 800F8CBC 97AD0096 */ lhu $t5, 0x96($sp)
/* B6FE60 800F8CC0 24040004 */ li $a0, 4
/* B6FE64 800F8CC4 27A50058 */ addiu $a1, $sp, 0x58
/* B6FE68 800F8CC8 A3AC0064 */ sb $t4, 0x64($sp)
/* B6FE6C 800F8CCC 0C03DD38 */ jal func_800F74E0
/* B6FE70 800F8CD0 A7AD0080 */ sh $t5, 0x80($sp)
/* B6FE74 800F8CD4 8FBF003C */ lw $ra, 0x3c($sp)
/* B6FE78 800F8CD8 8FB00018 */ lw $s0, 0x18($sp)
/* B6FE7C 800F8CDC 8FB1001C */ lw $s1, 0x1c($sp)
/* B6FE80 800F8CE0 8FB20020 */ lw $s2, 0x20($sp)
/* B6FE84 800F8CE4 8FB30024 */ lw $s3, 0x24($sp)
/* B6FE88 800F8CE8 8FB40028 */ lw $s4, 0x28($sp)
/* B6FE8C 800F8CEC 8FB5002C */ lw $s5, 0x2c($sp)
/* B6FE90 800F8CF0 8FB60030 */ lw $s6, 0x30($sp)
/* B6FE94 800F8CF4 8FB70034 */ lw $s7, 0x34($sp)
/* B6FE98 800F8CF8 8FBE0038 */ lw $fp, 0x38($sp)
/* B6FE9C 800F8CFC 03E00008 */ jr $ra
/* B6FEA0 800F8D00 27BD0090 */ addiu $sp, $sp, 0x90
glabel func_800F8D04
/* B6FEA4 800F8D04 27BDFF78 */ addiu $sp, $sp, -0x88
/* B6FEA8 800F8D08 AFB40028 */ sw $s4, 0x28($sp)
/* B6FEAC 800F8D0C 3094F000 */ andi $s4, $a0, 0xf000
/* B6FEB0 800F8D10 0014A302 */ srl $s4, $s4, 0xc
/* B6FEB4 800F8D14 329400FF */ andi $s4, $s4, 0xff
/* B6FEB8 800F8D18 3C0F8013 */ lui $t7, %hi(D_801333A8) # $t7, 0x8013
/* B6FEBC 800F8D1C AFB5002C */ sw $s5, 0x2c($sp)
/* B6FEC0 800F8D20 25EF33A8 */ addiu $t7, %lo(D_801333A8) # addiu $t7, $t7, 0x33a8
/* B6FEC4 800F8D24 00147080 */ sll $t6, $s4, 2
/* B6FEC8 800F8D28 01CFA821 */ addu $s5, $t6, $t7
/* B6FECC 800F8D2C 8EA20000 */ lw $v0, ($s5)
/* B6FED0 800F8D30 AFBF003C */ sw $ra, 0x3c($sp)
/* B6FED4 800F8D34 AFBE0038 */ sw $fp, 0x38($sp)
/* B6FED8 800F8D38 AFB70034 */ sw $s7, 0x34($sp)
/* B6FEDC 800F8D3C AFB60030 */ sw $s6, 0x30($sp)
/* B6FEE0 800F8D40 AFB30024 */ sw $s3, 0x24($sp)
/* B6FEE4 800F8D44 AFB20020 */ sw $s2, 0x20($sp)
/* B6FEE8 800F8D48 AFB1001C */ sw $s1, 0x1c($sp)
/* B6FEEC 800F8D4C AFB00018 */ sw $s0, 0x18($sp)
/* B6FEF0 800F8D50 AFA40088 */ sw $a0, 0x88($sp)
/* B6FEF4 800F8D54 9051002D */ lbu $s1, 0x2d($v0)
/* B6FEF8 800F8D58 241600FF */ li $s6, 255
/* B6FEFC 800F8D5C 00009025 */ move $s2, $zero
/* B6FF00 800F8D60 12D10025 */ beq $s6, $s1, .L800F8DF8
/* B6FF04 800F8D64 24170030 */ li $s7, 48
/* B6FF08 800F8D68 3C1E0602 */ lui $fp, 0x602
.L800F8D6C:
/* B6FF0C 800F8D6C 02370019 */ multu $s1, $s7
/* B6FF10 800F8D70 8FB90088 */ lw $t9, 0x88($sp)
/* B6FF14 800F8D74 0000C012 */ mflo $t8
/* B6FF18 800F8D78 00588021 */ addu $s0, $v0, $t8
/* B6FF1C 800F8D7C 96080028 */ lhu $t0, 0x28($s0)
/* B6FF20 800F8D80 57280016 */ bnel $t9, $t0, .L800F8DDC
/* B6FF24 800F8D84 323200FF */ andi $s2, $s1, 0xff
/* B6FF28 800F8D88 9202002A */ lbu $v0, 0x2a($s0)
/* B6FF2C 800F8D8C 00129880 */ sll $s3, $s2, 2
/* B6FF30 800F8D90 02729823 */ subu $s3, $s3, $s2
/* B6FF34 800F8D94 28410003 */ slti $at, $v0, 3
/* B6FF38 800F8D98 14200007 */ bnez $at, .L800F8DB8
/* B6FF3C 800F8D9C 00139900 */ sll $s3, $s3, 4
/* B6FF40 800F8DA0 920A002E */ lbu $t2, 0x2e($s0)
/* B6FF44 800F8DA4 00002825 */ move $a1, $zero
/* B6FF48 800F8DA8 000A5A00 */ sll $t3, $t2, 8
/* B6FF4C 800F8DAC 0C0396C8 */ jal func_800E5B20
/* B6FF50 800F8DB0 017E2025 */ or $a0, $t3, $fp
/* B6FF54 800F8DB4 9202002A */ lbu $v0, 0x2a($s0)
.L800F8DB8:
/* B6FF58 800F8DB8 10400003 */ beqz $v0, .L800F8DC8
/* B6FF5C 800F8DBC 328400FF */ andi $a0, $s4, 0xff
/* B6FF60 800F8DC0 0C03DED5 */ jal func_800F7B54
/* B6FF64 800F8DC4 322500FF */ andi $a1, $s1, 0xff
.L800F8DC8:
/* B6FF68 800F8DC8 8EA20000 */ lw $v0, ($s5)
/* B6FF6C 800F8DCC 00536021 */ addu $t4, $v0, $s3
/* B6FF70 800F8DD0 10000007 */ b .L800F8DF0
/* B6FF74 800F8DD4 9191002D */ lbu $s1, 0x2d($t4)
/* B6FF78 800F8DD8 323200FF */ andi $s2, $s1, 0xff
.L800F8DDC:
/* B6FF7C 800F8DDC 00126880 */ sll $t5, $s2, 2
/* B6FF80 800F8DE0 01B26823 */ subu $t5, $t5, $s2
/* B6FF84 800F8DE4 000D6900 */ sll $t5, $t5, 4
/* B6FF88 800F8DE8 004D7021 */ addu $t6, $v0, $t5
/* B6FF8C 800F8DEC 91D1002D */ lbu $s1, 0x2d($t6)
.L800F8DF0:
/* B6FF90 800F8DF0 16D1FFDE */ bne $s6, $s1, .L800F8D6C
/* B6FF94 800F8DF4 00000000 */ nop
.L800F8DF8:
/* B6FF98 800F8DF8 8FAF0088 */ lw $t7, 0x88($sp)
/* B6FF9C 800F8DFC 24040005 */ li $a0, 5
/* B6FFA0 800F8E00 27A50050 */ addiu $a1, $sp, 0x50
/* B6FFA4 800F8E04 0C03DD38 */ jal func_800F74E0
/* B6FFA8 800F8E08 A7AF0078 */ sh $t7, 0x78($sp)
/* B6FFAC 800F8E0C 8FBF003C */ lw $ra, 0x3c($sp)
/* B6FFB0 800F8E10 8FB00018 */ lw $s0, 0x18($sp)
/* B6FFB4 800F8E14 8FB1001C */ lw $s1, 0x1c($sp)
/* B6FFB8 800F8E18 8FB20020 */ lw $s2, 0x20($sp)
/* B6FFBC 800F8E1C 8FB30024 */ lw $s3, 0x24($sp)
/* B6FFC0 800F8E20 8FB40028 */ lw $s4, 0x28($sp)
/* B6FFC4 800F8E24 8FB5002C */ lw $s5, 0x2c($sp)
/* B6FFC8 800F8E28 8FB60030 */ lw $s6, 0x30($sp)
/* B6FFCC 800F8E2C 8FB70034 */ lw $s7, 0x34($sp)
/* B6FFD0 800F8E30 8FBE0038 */ lw $fp, 0x38($sp)
/* B6FFD4 800F8E34 03E00008 */ jr $ra
/* B6FFD8 800F8E38 27BD0088 */ addiu $sp, $sp, 0x88
glabel func_800F8E3C
/* B6FFDC 800F8E3C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B6FFE0 800F8E40 AFB10018 */ sw $s1, 0x18($sp)
/* B6FFE4 800F8E44 AFB00014 */ sw $s0, 0x14($sp)
/* B6FFE8 800F8E48 3C108013 */ lui $s0, %hi(D_801333A4) # $s0, 0x8013
/* B6FFEC 800F8E4C 3C118013 */ lui $s1, %hi(D_801333A0) # $s1, 0x8013
/* B6FFF0 800F8E50 263133A0 */ addiu $s1, %lo(D_801333A0) # addiu $s1, $s1, 0x33a0
/* B6FFF4 800F8E54 261033A4 */ addiu $s0, %lo(D_801333A4) # addiu $s0, $s0, 0x33a4
/* B6FFF8 800F8E58 920E0000 */ lbu $t6, ($s0)
/* B6FFFC 800F8E5C 922F0000 */ lbu $t7, ($s1)
/* B70000 800F8E60 AFBF001C */ sw $ra, 0x1c($sp)
/* B70004 800F8E64 51CF000A */ beql $t6, $t7, .L800F8E90
/* B70008 800F8E68 8FBF001C */ lw $ra, 0x1c($sp)
.L800F8E6C:
/* B7000C 800F8E6C 0C03DDA0 */ jal func_800F7680
/* B70010 800F8E70 00000000 */ nop
/* B70014 800F8E74 92180000 */ lbu $t8, ($s0)
/* B70018 800F8E78 92290000 */ lbu $t1, ($s1)
/* B7001C 800F8E7C 27190001 */ addiu $t9, $t8, 1
/* B70020 800F8E80 332800FF */ andi $t0, $t9, 0xff
/* B70024 800F8E84 1509FFF9 */ bne $t0, $t1, .L800F8E6C
/* B70028 800F8E88 A2190000 */ sb $t9, ($s0)
/* B7002C 800F8E8C 8FBF001C */ lw $ra, 0x1c($sp)
.L800F8E90:
/* B70030 800F8E90 8FB00014 */ lw $s0, 0x14($sp)
/* B70034 800F8E94 8FB10018 */ lw $s1, 0x18($sp)
/* B70038 800F8E98 03E00008 */ jr $ra
/* B7003C 800F8E9C 27BD0020 */ addiu $sp, $sp, 0x20
/* B70040 800F8EA0 AFA60008 */ sw $a2, 8($sp)
/* B70044 800F8EA4 30C6FFFF */ andi $a2, $a2, 0xffff
/* B70048 800F8EA8 AFA40000 */ sw $a0, ($sp)
/* B7004C 800F8EAC AFA50004 */ sw $a1, 4($sp)
/* B70050 800F8EB0 30A500FF */ andi $a1, $a1, 0xff
/* B70054 800F8EB4 14C00003 */ bnez $a2, .L800F8EC4
/* B70058 800F8EB8 308400FF */ andi $a0, $a0, 0xff
/* B7005C 800F8EBC 24C60001 */ addiu $a2, $a2, 1
/* B70060 800F8EC0 30C6FFFF */ andi $a2, $a2, 0xffff
.L800F8EC4:
/* B70064 800F8EC4 44852000 */ mtc1 $a1, $f4
/* B70068 800F8EC8 3C0F8017 */ lui $t7, %hi(D_8016E270)
/* B7006C 800F8ECC 25EFE270 */ addiu $t7, %lo(D_8016E270) # addiu $t7, $t7, -0x1d90
/* B70070 800F8ED0 00047100 */ sll $t6, $a0, 4
/* B70074 800F8ED4 01CF1021 */ addu $v0, $t6, $t7
/* B70078 800F8ED8 04A10005 */ bgez $a1, .L800F8EF0
/* B7007C 800F8EDC 468021A0 */ cvt.s.w $f6, $f4
/* B70080 800F8EE0 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B70084 800F8EE4 44814000 */ mtc1 $at, $f8
/* B70088 800F8EE8 00000000 */ nop
/* B7008C 800F8EEC 46083180 */ add.s $f6, $f6, $f8
.L800F8EF0:
/* B70090 800F8EF0 3C0142FE */ li $at, 0x42FE0000 # 0.000000
/* B70094 800F8EF4 44815000 */ mtc1 $at, $f10
/* B70098 800F8EF8 C4500000 */ lwc1 $f16, ($v0)
/* B7009C 800F8EFC 44862000 */ mtc1 $a2, $f4
/* B700A0 800F8F00 460A3003 */ div.s $f0, $f6, $f10
/* B700A4 800F8F04 A446000C */ sh $a2, 0xc($v0)
/* B700A8 800F8F08 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B700AC 800F8F0C 46802220 */ cvt.s.w $f8, $f4
/* B700B0 800F8F10 E4400004 */ swc1 $f0, 4($v0)
/* B700B4 800F8F14 04C10004 */ bgez $a2, .L800F8F28
/* B700B8 800F8F18 46008481 */ sub.s $f18, $f16, $f0
/* B700BC 800F8F1C 44813000 */ mtc1 $at, $f6
/* B700C0 800F8F20 00000000 */ nop
/* B700C4 800F8F24 46064200 */ add.s $f8, $f8, $f6
.L800F8F28:
/* B700C8 800F8F28 46089283 */ div.s $f10, $f18, $f8
/* B700CC 800F8F2C 03E00008 */ jr $ra
/* B700D0 800F8F30 E44A0008 */ swc1 $f10, 8($v0)
glabel func_800F8F34
/* B700D4 800F8F34 AFA40000 */ sw $a0, ($sp)
/* B700D8 800F8F38 308400FF */ andi $a0, $a0, 0xff
/* B700DC 800F8F3C 3C0F8017 */ lui $t7, %hi(D_8016E270) # $t7, 0x8017
/* B700E0 800F8F40 25EFE270 */ addiu $t7, %lo(D_8016E270) # addiu $t7, $t7, -0x1d90
/* B700E4 800F8F44 00047100 */ sll $t6, $a0, 4
/* B700E8 800F8F48 01CF1021 */ addu $v0, $t6, $t7
/* B700EC 800F8F4C 9443000C */ lhu $v1, 0xc($v0)
/* B700F0 800F8F50 1060000B */ beqz $v1, .L800F8F80
/* B700F4 800F8F54 2478FFFF */ addiu $t8, $v1, -1
/* B700F8 800F8F58 3319FFFF */ andi $t9, $t8, 0xffff
/* B700FC 800F8F5C 13200006 */ beqz $t9, .L800F8F78
/* B70100 800F8F60 A458000C */ sh $t8, 0xc($v0)
/* B70104 800F8F64 C4440000 */ lwc1 $f4, ($v0)
/* B70108 800F8F68 C4460008 */ lwc1 $f6, 8($v0)
/* B7010C 800F8F6C 46062201 */ sub.s $f8, $f4, $f6
/* B70110 800F8F70 03E00008 */ jr $ra
/* B70114 800F8F74 E4480000 */ swc1 $f8, ($v0)
.L800F8F78:
/* B70118 800F8F78 C44A0004 */ lwc1 $f10, 4($v0)
/* B7011C 800F8F7C E44A0000 */ swc1 $f10, ($v0)
.L800F8F80:
/* B70120 800F8F80 03E00008 */ jr $ra
/* B70124 800F8F84 00000000 */ nop
glabel func_800F8F88
/* B70128 800F8F88 3C0F8017 */ lui $t7, %hi(D_801729A8) # $t7, 0x8017
/* B7012C 800F8F8C 8DEF29A8 */ lw $t7, %lo(D_801729A8)($t7)
/* B70130 800F8F90 3C0E8017 */ lui $t6, %hi(D_80174C30) # $t6, 0x8017
/* B70134 800F8F94 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B70138 800F8F98 25CE4C30 */ addiu $t6, %lo(D_80174C30) # addiu $t6, $t6, 0x4c30
/* B7013C 800F8F9C AFBF001C */ sw $ra, 0x1c($sp)
/* B70140 800F8FA0 11CF000F */ beq $t6, $t7, .L800F8FE0
/* B70144 800F8FA4 AFB00018 */ sw $s0, 0x18($sp)
/* B70148 800F8FA8 3C018017 */ lui $at, %hi(D_8016E260) # $at, 0x8017
/* B7014C 800F8FAC A020E260 */ sb $zero, %lo(D_8016E260)($at)
/* B70150 800F8FB0 00008025 */ move $s0, $zero
.L800F8FB4:
/* B70154 800F8FB4 0C03DF3B */ jal func_800F7CEC
/* B70158 800F8FB8 320400FF */ andi $a0, $s0, 0xff
/* B7015C 800F8FBC 0C03E120 */ jal func_800F8480
/* B70160 800F8FC0 320400FF */ andi $a0, $s0, 0xff
/* B70164 800F8FC4 0C03E3CD */ jal func_800F8F34
/* B70168 800F8FC8 320400FF */ andi $a0, $s0, 0xff
/* B7016C 800F8FCC 26100001 */ addiu $s0, $s0, 1
/* B70170 800F8FD0 321000FF */ andi $s0, $s0, 0xff
/* B70174 800F8FD4 2A010007 */ slti $at, $s0, 7
/* B70178 800F8FD8 1420FFF6 */ bnez $at, .L800F8FB4
/* B7017C 800F8FDC 00000000 */ nop
.L800F8FE0:
/* B70180 800F8FE0 8FBF001C */ lw $ra, 0x1c($sp)
/* B70184 800F8FE4 8FB00018 */ lw $s0, 0x18($sp)
/* B70188 800F8FE8 27BD0020 */ addiu $sp, $sp, 0x20
/* B7018C 800F8FEC 03E00008 */ jr $ra
/* B70190 800F8FF0 00000000 */ nop
glabel func_800F8FF4
/* B70194 800F8FF4 308EF000 */ andi $t6, $a0, 0xf000
/* B70198 800F8FF8 000E7B02 */ srl $t7, $t6, 0xc
/* B7019C 800F8FFC 31F800FF */ andi $t8, $t7, 0xff
/* B701A0 800F9000 0018C880 */ sll $t9, $t8, 2
/* B701A4 800F9004 3C038013 */ lui $v1, %hi(D_801333A8)
/* B701A8 800F9008 00791821 */ addu $v1, $v1, $t9
/* B701AC 800F900C 8C6333A8 */ lw $v1, %lo(D_801333A8)($v1)
/* B701B0 800F9010 240600FF */ li $a2, 255
/* B701B4 800F9014 24070030 */ li $a3, 48
/* B701B8 800F9018 9062002D */ lbu $v0, 0x2d($v1)
/* B701BC 800F901C 50C2000D */ beql $a2, $v0, .L800F9054
/* B701C0 800F9020 00001025 */ move $v0, $zero
.L800F9024:
/* B701C4 800F9024 00470019 */ multu $v0, $a3
/* B701C8 800F9028 00004012 */ mflo $t0
/* B701CC 800F902C 00682821 */ addu $a1, $v1, $t0
/* B701D0 800F9030 94A90028 */ lhu $t1, 0x28($a1)
/* B701D4 800F9034 54890004 */ bnel $a0, $t1, .L800F9048
/* B701D8 800F9038 90A2002D */ lbu $v0, 0x2d($a1)
/* B701DC 800F903C 03E00008 */ jr $ra
/* B701E0 800F9040 24020001 */ li $v0, 1
/* B701E4 800F9044 90A2002D */ lbu $v0, 0x2d($a1)
.L800F9048:
/* B701E8 800F9048 14C2FFF6 */ bne $a2, $v0, .L800F9024
/* B701EC 800F904C 00000000 */ nop
/* B701F0 800F9050 00001025 */ move $v0, $zero
.L800F9054:
/* B701F4 800F9054 03E00008 */ jr $ra
/* B701F8 800F9058 00000000 */ nop
glabel func_800F905C
/* B701FC 800F905C 3C018013 */ lui $at, %hi(D_801333A0) # $at, 0x8013
/* B70200 800F9060 A02033A0 */ sb $zero, %lo(D_801333A0)($at)
/* B70204 800F9064 3C018013 */ lui $at, %hi(D_801333A4) # $at, 0x8013
/* B70208 800F9068 A02033A4 */ sb $zero, %lo(D_801333A4)($at)
/* B7020C 800F906C 3C018013 */ lui $at, %hi(D_801333D0) # $at, 0x8013
/* B70210 800F9070 A42033D0 */ sh $zero, %lo(D_801333D0)($at)
/* B70214 800F9074 3C013F80 */ lui $at, 0x3f80
/* B70218 800F9078 3C098017 */ lui $t1, %hi(D_8016E270) # $t1, 0x8017
/* B7021C 800F907C 3C088017 */ lui $t0, %hi(D_8016E264) # $t0, 0x8017
/* B70220 800F9080 3C078017 */ lui $a3, %hi(D_8016E1B0) # $a3, 0x8017
/* B70224 800F9084 3C058017 */ lui $a1, %hi(D_8016E1A8) # $a1, 0x8017
/* B70228 800F9088 3C048017 */ lui $a0, %hi(D_8016E1A0)
/* B7022C 800F908C 44810000 */ mtc1 $at, $f0
/* B70230 800F9090 2484E1A0 */ addiu $a0, %lo(D_8016E1A0)
/* B70234 800F9094 24A5E1A8 */ addiu $a1, %lo(D_8016E1A8) # addiu $a1, $a1, -0x1e58
/* B70238 800F9098 24E7E1B0 */ addiu $a3, %lo(D_8016E1B0) # addiu $a3, $a3, -0x1e50
/* B7023C 800F909C 2508E264 */ addiu $t0, %lo(D_8016E264) # addiu $t0, $t0, -0x1d9c
/* B70240 800F90A0 2529E270 */ addiu $t1, %lo(D_8016E270) # addiu $t1, $t1, -0x1d90
/* B70244 800F90A4 00001025 */ move $v0, $zero
/* B70248 800F90A8 24060001 */ li $a2, 1
.L800F90AC:
/* B7024C 800F90AC 00827021 */ addu $t6, $a0, $v0
/* B70250 800F90B0 00A27821 */ addu $t7, $a1, $v0
/* B70254 800F90B4 A1C00000 */ sb $zero, ($t6)
/* B70258 800F90B8 00E2C021 */ addu $t8, $a3, $v0
/* B7025C 800F90BC 0102C821 */ addu $t9, $t0, $v0
/* B70260 800F90C0 00026100 */ sll $t4, $v0, 4
/* B70264 800F90C4 24420001 */ addiu $v0, $v0, 1
/* B70268 800F90C8 A1E60000 */ sb $a2, ($t7)
/* B7026C 800F90CC 304200FF */ andi $v0, $v0, 0xff
/* B70270 800F90D0 A3000000 */ sb $zero, ($t8)
/* B70274 800F90D4 28410007 */ slti $at, $v0, 7
/* B70278 800F90D8 A3200000 */ sb $zero, ($t9)
/* B7027C 800F90DC 012C1821 */ addu $v1, $t1, $t4
/* B70280 800F90E0 E4600000 */ swc1 $f0, ($v1)
/* B70284 800F90E4 1420FFF1 */ bnez $at, .L800F90AC
/* B70288 800F90E8 A460000C */ sh $zero, 0xc($v1)
/* B7028C 800F90EC 00001025 */ move $v0, $zero
/* B70290 800F90F0 240800FF */ li $t0, 255
/* B70294 800F90F4 00026880 */ sll $t5, $v0, 2
.L800F90F8:
/* B70298 800F90F8 01A26823 */ subu $t5, $t5, $v0
/* B7029C 800F90FC 3C0E8017 */ lui $t6, %hi(D_8016E1B8) # $t6, 0x8017
/* B702A0 800F9100 25CEE1B8 */ addiu $t6, %lo(D_8016E1B8) # addiu $t6, $t6, -0x1e48
/* B702A4 800F9104 000D68C0 */ sll $t5, $t5, 3
/* B702A8 800F9108 01AE2021 */ addu $a0, $t5, $t6
/* B702AC 800F910C 00001825 */ move $v1, $zero
.L800F9110:
/* B702B0 800F9110 000378C0 */ sll $t7, $v1, 3
/* B702B4 800F9114 24630001 */ addiu $v1, $v1, 1
/* B702B8 800F9118 306300FF */ andi $v1, $v1, 0xff
/* B702BC 800F911C 28610003 */ slti $at, $v1, 3
/* B702C0 800F9120 008FC021 */ addu $t8, $a0, $t7
/* B702C4 800F9124 1420FFFA */ bnez $at, .L800F9110
/* B702C8 800F9128 A3080004 */ sb $t0, 4($t8)
/* B702CC 800F912C 24420001 */ addiu $v0, $v0, 1
/* B702D0 800F9130 304200FF */ andi $v0, $v0, 0xff
/* B702D4 800F9134 28410007 */ slti $at, $v0, 7
/* B702D8 800F9138 5420FFEF */ bnezl $at, .L800F90F8
/* B702DC 800F913C 00026880 */ sll $t5, $v0, 2
/* B702E0 800F9140 3C0A8013 */ lui $t2, %hi(D_801333C4) # $t2, 0x8013
/* B702E4 800F9144 3C098013 */ lui $t1, %hi(D_801333A8) # $t1, 0x8013
/* B702E8 800F9148 252933A8 */ addiu $t1, %lo(D_801333A8) # addiu $t1, $t1, 0x33a8
/* B702EC 800F914C 254A33C4 */ addiu $t2, %lo(D_801333C4) # addiu $t2, $t2, 0x33c4
/* B702F0 800F9150 00001025 */ move $v0, $zero
/* B702F4 800F9154 240B0030 */ li $t3, 48
.L800F9158:
/* B702F8 800F9158 0002C880 */ sll $t9, $v0, 2
/* B702FC 800F915C 01392821 */ addu $a1, $t1, $t9
/* B70300 800F9160 8CAC0000 */ lw $t4, ($a1)
/* B70304 800F9164 01423021 */ addu $a2, $t2, $v0
/* B70308 800F9168 24030001 */ li $v1, 1
/* B7030C 800F916C A188002C */ sb $t0, 0x2c($t4)
/* B70310 800F9170 8CAD0000 */ lw $t5, ($a1)
/* B70314 800F9174 24040001 */ li $a0, 1
/* B70318 800F9178 A1A8002D */ sb $t0, 0x2d($t5)
/* B7031C 800F917C 90CE0000 */ lbu $t6, ($a2)
/* B70320 800F9180 25CFFFFF */ addiu $t7, $t6, -1
/* B70324 800F9184 29E10002 */ slti $at, $t7, 2
/* B70328 800F9188 14200013 */ bnez $at, .L800F91D8
/* B7032C 800F918C 00000000 */ nop
.L800F9190:
/* B70330 800F9190 006B0019 */ multu $v1, $t3
/* B70334 800F9194 8CB90000 */ lw $t9, ($a1)
/* B70338 800F9198 2498FFFF */ addiu $t8, $a0, -1
/* B7033C 800F919C 248D0001 */ addiu $t5, $a0, 1
/* B70340 800F91A0 24630001 */ addiu $v1, $v1, 1
/* B70344 800F91A4 306300FF */ andi $v1, $v1, 0xff
/* B70348 800F91A8 00602025 */ move $a0, $v1
/* B7034C 800F91AC 00003812 */ mflo $a3
/* B70350 800F91B0 03276021 */ addu $t4, $t9, $a3
/* B70354 800F91B4 A198002C */ sb $t8, 0x2c($t4)
/* B70358 800F91B8 8CAE0000 */ lw $t6, ($a1)
/* B7035C 800F91BC 01C77821 */ addu $t7, $t6, $a3
/* B70360 800F91C0 A1ED002D */ sb $t5, 0x2d($t7)
/* B70364 800F91C4 90D90000 */ lbu $t9, ($a2)
/* B70368 800F91C8 2738FFFF */ addiu $t8, $t9, -1
/* B7036C 800F91CC 0078082A */ slt $at, $v1, $t8
/* B70370 800F91D0 1420FFEF */ bnez $at, .L800F9190
/* B70374 800F91D4 00000000 */ nop
.L800F91D8:
/* B70378 800F91D8 006B0019 */ multu $v1, $t3
/* B7037C 800F91DC 8CAE0000 */ lw $t6, ($a1)
/* B70380 800F91E0 246CFFFF */ addiu $t4, $v1, -1
/* B70384 800F91E4 24420001 */ addiu $v0, $v0, 1
/* B70388 800F91E8 304200FF */ andi $v0, $v0, 0xff
/* B7038C 800F91EC 28410007 */ slti $at, $v0, 7
/* B70390 800F91F0 00003812 */ mflo $a3
/* B70394 800F91F4 01C76821 */ addu $t5, $t6, $a3
/* B70398 800F91F8 A1AC002C */ sb $t4, 0x2c($t5)
/* B7039C 800F91FC 8CAF0000 */ lw $t7, ($a1)
/* B703A0 800F9200 01E7C821 */ addu $t9, $t7, $a3
/* B703A4 800F9204 1420FFD4 */ bnez $at, .L800F9158
/* B703A8 800F9208 A328002D */ sb $t0, 0x2d($t9)
/* B703AC 800F920C 3C058013 */ lui $a1, %hi(D_801333F8) # $a1, 0x8013
/* B703B0 800F9210 24A533F8 */ addiu $a1, %lo(D_801333F8) # addiu $a1, $a1, 0x33f8
/* B703B4 800F9214 90A30000 */ lbu $v1, ($a1)
/* B703B8 800F9218 3C088017 */ lui $t0, %hi(D_8016E310) # $t0, 0x8017
/* B703BC 800F921C 2508E310 */ addiu $t0, %lo(D_8016E310) # addiu $t0, $t0, -0x1cf0
/* B703C0 800F9220 14600012 */ bnez $v1, .L800F926C
/* B703C4 800F9224 00001025 */ move $v0, $zero
/* B703C8 800F9228 3C078017 */ lui $a3, %hi(D_8016E2F8) # $a3, 0x8017
/* B703CC 800F922C 3C068017 */ lui $a2, %hi(D_8016E2E0) # $a2, 0x8017
/* B703D0 800F9230 24C6E2E0 */ addiu $a2, %lo(D_8016E2E0) # addiu $a2, $a2, -0x1d20
/* B703D4 800F9234 24E7E2F8 */ addiu $a3, %lo(D_8016E2F8) # addiu $a3, $a3, -0x1d08
.L800F9238:
/* B703D8 800F9238 00022040 */ sll $a0, $v0, 1
/* B703DC 800F923C 01026021 */ addu $t4, $t0, $v0
/* B703E0 800F9240 24420001 */ addiu $v0, $v0, 1
/* B703E4 800F9244 00C4C021 */ addu $t8, $a2, $a0
/* B703E8 800F9248 304200FF */ andi $v0, $v0, 0xff
/* B703EC 800F924C A7000000 */ sh $zero, ($t8)
/* B703F0 800F9250 00E47021 */ addu $t6, $a3, $a0
/* B703F4 800F9254 2841000A */ slti $at, $v0, 0xa
/* B703F8 800F9258 A5C00000 */ sh $zero, ($t6)
/* B703FC 800F925C 1420FFF6 */ bnez $at, .L800F9238
/* B70400 800F9260 A1800000 */ sb $zero, ($t4)
/* B70404 800F9264 246D0001 */ addiu $t5, $v1, 1
/* B70408 800F9268 A0AD0000 */ sb $t5, ($a1)
.L800F926C:
/* B7040C 800F926C 03E00008 */ jr $ra
/* B70410 800F9270 00000000 */ nop