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

2242 lines
106 KiB
ArmAsm

.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .text
.align 4
glabel func_800E6940
/* B5DAE0 800E6940 27BDFFB8 */ addiu $sp, $sp, -0x48
/* B5DAE4 800E6944 AFBF0014 */ sw $ra, 0x14($sp)
/* B5DAE8 800E6948 AFA40048 */ sw $a0, 0x48($sp)
/* B5DAEC 800E694C 90CF0002 */ lbu $t7, 2($a2)
/* B5DAF0 800E6950 90820035 */ lbu $v0, 0x35($a0)
/* B5DAF4 800E6954 C4C20008 */ lwc1 $f2, 8($a2)
/* B5DAF8 800E6958 A3AF0027 */ sb $t7, 0x27($sp)
/* B5DAFC 800E695C 90D80000 */ lbu $t8, ($a2)
/* B5DB00 800E6960 27B90024 */ addiu $t9, $sp, 0x24
/* B5DB04 800E6964 00A03825 */ move $a3, $a1
/* B5DB08 800E6968 A3B80026 */ sb $t8, 0x26($sp)
/* B5DB0C 800E696C 90C90003 */ lbu $t1, 3($a2)
/* B5DB10 800E6970 00A02025 */ move $a0, $a1
/* B5DB14 800E6974 A3290000 */ sb $t1, ($t9)
/* B5DB18 800E6978 8FAA0048 */ lw $t2, 0x48($sp)
/* B5DB1C 800E697C 914C00C0 */ lbu $t4, 0xc0($t2)
/* B5DB20 800E6980 A0AC0000 */ sb $t4, ($a1)
/* B5DB24 800E6984 8FAD0048 */ lw $t5, 0x48($sp)
/* B5DB28 800E6988 91AF00C1 */ lbu $t7, 0xc1($t5)
/* B5DB2C 800E698C A0AF0001 */ sb $t7, 1($a1)
/* B5DB30 800E6990 8FB80048 */ lw $t8, 0x48($sp)
/* B5DB34 800E6994 8F1900D0 */ lw $t9, 0xd0($t8)
/* B5DB38 800E6998 ACB90010 */ sw $t9, 0x10($a1)
/* B5DB3C 800E699C 8FA80048 */ lw $t0, 0x48($sp)
/* B5DB40 800E69A0 910900C6 */ lbu $t1, 0xc6($t0)
/* B5DB44 800E69A4 A0A90006 */ sb $t1, 6($a1)
/* B5DB48 800E69A8 8CC50004 */ lw $a1, 4($a2)
/* B5DB4C 800E69AC AFA7004C */ sw $a3, 0x4c($sp)
/* B5DB50 800E69B0 AFA60050 */ sw $a2, 0x50($sp)
/* B5DB54 800E69B4 AFA20020 */ sw $v0, 0x20($sp)
/* B5DB58 800E69B8 0C039B6E */ jal func_800E6DB8
/* B5DB5C 800E69BC E7A20028 */ swc1 $f2, 0x28($sp)
/* B5DB60 800E69C0 93AA0027 */ lbu $t2, 0x27($sp)
/* B5DB64 800E69C4 8FA7004C */ lw $a3, 0x4c($sp)
/* B5DB68 800E69C8 8FA20020 */ lw $v0, 0x20($sp)
/* B5DB6C 800E69CC 314B007F */ andi $t3, $t2, 0x7f
/* B5DB70 800E69D0 A3AB0027 */ sb $t3, 0x27($sp)
/* B5DB74 800E69D4 90EC0000 */ lbu $t4, ($a3)
/* B5DB78 800E69D8 8FA60050 */ lw $a2, 0x50($sp)
/* B5DB7C 800E69DC C7A20028 */ lwc1 $f2, 0x28($sp)
/* B5DB80 800E69E0 318EFFF7 */ andi $t6, $t4, 0xfff7
/* B5DB84 800E69E4 31CB00FB */ andi $t3, $t6, 0xfb
/* B5DB88 800E69E8 A0EE0000 */ sb $t6, ($a3)
/* B5DB8C 800E69EC A0EB0000 */ sb $t3, ($a3)
/* B5DB90 800E69F0 8FB80024 */ lw $t8, 0x24($sp)
/* B5DB94 800E69F4 316C00FD */ andi $t4, $t3, 0xfd
/* B5DB98 800E69F8 44800000 */ mtc1 $zero, $f0
/* B5DB9C 800E69FC 0018C980 */ sll $t9, $t8, 6
/* B5DBA0 800E6A00 001947C2 */ srl $t0, $t9, 0x1f
/* B5DBA4 800E6A04 00084840 */ sll $t1, $t0, 1
/* B5DBA8 800E6A08 312A0002 */ andi $t2, $t1, 2
/* B5DBAC 800E6A0C 014CC825 */ or $t9, $t2, $t4
/* B5DBB0 800E6A10 A0F90000 */ sb $t9, ($a3)
/* B5DBB4 800E6A14 93AF0024 */ lbu $t7, 0x24($sp)
/* B5DBB8 800E6A18 332800FE */ andi $t0, $t9, 0xfe
/* B5DBBC 800E6A1C 3C0B8017 */ lui $t3, %hi(D_80171A1A) # $t3, 0x8017
/* B5DBC0 800E6A20 31F80001 */ andi $t8, $t7, 1
/* B5DBC4 800E6A24 03084825 */ or $t1, $t8, $t0
/* B5DBC8 800E6A28 10400021 */ beqz $v0, .L800E6AB0
/* B5DBCC 800E6A2C A0E90000 */ sb $t1, ($a3)
/* B5DBD0 800E6A30 816B1A1A */ lb $t3, %lo(D_80171A1A)($t3)
/* B5DBD4 800E6A34 93A30027 */ lbu $v1, 0x27($sp)
/* B5DBD8 800E6A38 24010001 */ li $at, 1
/* B5DBDC 800E6A3C 1561001C */ bne $t3, $at, .L800E6AB0
/* B5DBE0 800E6A40 00031843 */ sra $v1, $v1, 1
/* B5DBE4 800E6A44 28610040 */ slti $at, $v1, 0x40
/* B5DBE8 800E6A48 14200002 */ bnez $at, .L800E6A54
/* B5DBEC 800E6A4C 3C0A8013 */ lui $t2, %hi(D_8012FB24)
/* B5DBF0 800E6A50 2403003F */ li $v1, 63
.L800E6A54:
/* B5DBF4 800E6A54 00031040 */ sll $v0, $v1, 1
/* B5DBF8 800E6A58 01425021 */ addu $t2, $t2, $v0
/* B5DBFC 800E6A5C 954AFB24 */ lhu $t2, %lo(D_8012FB24)($t2)
/* B5DC00 800E6A60 00026023 */ negu $t4, $v0
/* B5DC04 800E6A64 3C0D8013 */ lui $t5, %hi(D_8012FBA2)
/* B5DC08 800E6A68 90EF0001 */ lbu $t7, 1($a3)
/* B5DC0C 800E6A6C 01AC6821 */ addu $t5, $t5, $t4
/* B5DC10 800E6A70 A0EA0004 */ sb $t2, 4($a3)
/* B5DC14 800E6A74 95ADFBA2 */ lhu $t5, %lo(D_8012FBA2)($t5)
/* B5DC18 800E6A78 35F90001 */ ori $t9, $t7, 1
/* B5DC1C 800E6A7C A0F90001 */ sb $t9, 1($a3)
/* B5DC20 800E6A80 A0ED0003 */ sb $t5, 3($a3)
/* B5DC24 800E6A84 93B80027 */ lbu $t8, 0x27($sp)
/* B5DC28 800E6A88 3C018013 */ lui $at, %hi(D_8012FC28)
/* B5DC2C 800E6A8C 00184080 */ sll $t0, $t8, 2
/* B5DC30 800E6A90 00280821 */ addu $at, $at, $t0
/* B5DC34 800E6A94 C42CFC28 */ lwc1 $f12, %lo(D_8012FC28)($at)
/* B5DC38 800E6A98 00184880 */ sll $t1, $t8, 2
/* B5DC3C 800E6A9C 00095823 */ negu $t3, $t1
/* B5DC40 800E6AA0 3C018013 */ lui $at, %hi(D_8012FE24)
/* B5DC44 800E6AA4 002B0821 */ addu $at, $at, $t3
/* B5DC48 800E6AA8 1000009A */ b .L800E6D14
/* B5DC4C 800E6AAC C42EFE24 */ lwc1 $f14, %lo(D_8012FE24)($at)
.L800E6AB0:
/* B5DC50 800E6AB0 3C038017 */ lui $v1, %hi(D_80171A1A) # $v1, 0x8017
/* B5DC54 800E6AB4 10400071 */ beqz $v0, .L800E6C7C
/* B5DC58 800E6AB8 80631A1A */ lb $v1, %lo(D_80171A1A)($v1)
/* B5DC5C 800E6ABC 54600070 */ bnezl $v1, .L800E6C80
/* B5DC60 800E6AC0 24010003 */ li $at, 3
/* B5DC64 800E6AC4 90EA0001 */ lbu $t2, 1($a3)
/* B5DC68 800E6AC8 A0E00003 */ sb $zero, 3($a3)
/* B5DC6C 800E6ACC A0E00004 */ sb $zero, 4($a3)
/* B5DC70 800E6AD0 314CFFFE */ andi $t4, $t2, 0xfffe
/* B5DC74 800E6AD4 A0EC0001 */ sb $t4, 1($a3)
/* B5DC78 800E6AD8 93AD0027 */ lbu $t5, 0x27($sp)
/* B5DC7C 800E6ADC 3C018013 */ lui $at, %hi(D_8012FE28)
/* B5DC80 800E6AE0 00001825 */ move $v1, $zero
/* B5DC84 800E6AE4 000D7080 */ sll $t6, $t5, 2
/* B5DC88 800E6AE8 002E0821 */ addu $at, $at, $t6
/* B5DC8C 800E6AEC C42CFE28 */ lwc1 $f12, %lo(D_8012FE28)($at)
/* B5DC90 800E6AF0 000D7880 */ sll $t7, $t5, 2
/* B5DC94 800E6AF4 000FC823 */ negu $t9, $t7
/* B5DC98 800E6AF8 3C018013 */ lui $at, %hi(D_80130024)
/* B5DC9C 800E6AFC 00390821 */ addu $at, $at, $t9
/* B5DCA0 800E6B00 C42E0024 */ lwc1 $f14, %lo(D_80130024)($at)
/* B5DCA4 800E6B04 29A10020 */ slti $at, $t5, 0x20
/* B5DCA8 800E6B08 10200003 */ beqz $at, .L800E6B18
/* B5DCAC 800E6B0C 00002025 */ move $a0, $zero
/* B5DCB0 800E6B10 10000006 */ b .L800E6B2C
/* B5DCB4 800E6B14 24040001 */ li $a0, 1
.L800E6B18:
/* B5DCB8 800E6B18 93A80027 */ lbu $t0, 0x27($sp)
/* B5DCBC 800E6B1C 29010061 */ slti $at, $t0, 0x61
/* B5DCC0 800E6B20 54200003 */ bnezl $at, .L800E6B30
/* B5DCC4 800E6B24 90EA0000 */ lbu $t2, ($a3)
/* B5DCC8 800E6B28 24030001 */ li $v1, 1
.L800E6B2C:
/* B5DCCC 800E6B2C 90EA0000 */ lbu $t2, ($a3)
.L800E6B30:
/* B5DCD0 800E6B30 000348C0 */ sll $t1, $v1, 3
/* B5DCD4 800E6B34 312B0008 */ andi $t3, $t1, 8
/* B5DCD8 800E6B38 314CFFF7 */ andi $t4, $t2, 0xfff7
/* B5DCDC 800E6B3C 016C4025 */ or $t0, $t3, $t4
/* B5DCE0 800E6B40 0004C880 */ sll $t9, $a0, 2
/* B5DCE4 800E6B44 332D0004 */ andi $t5, $t9, 4
/* B5DCE8 800E6B48 311800FB */ andi $t8, $t0, 0xfb
/* B5DCEC 800E6B4C A0E80000 */ sb $t0, ($a3)
/* B5DCF0 800E6B50 01B84825 */ or $t1, $t5, $t8
/* B5DCF4 800E6B54 A0E90000 */ sb $t1, ($a3)
/* B5DCF8 800E6B58 8FA20024 */ lw $v0, 0x24($sp)
/* B5DCFC 800E6B5C 24010001 */ li $at, 1
/* B5DD00 800E6B60 00021080 */ sll $v0, $v0, 2
/* B5DD04 800E6B64 00021782 */ srl $v0, $v0, 0x1e
/* B5DD08 800E6B68 5040006B */ beql $v0, $zero, .L800E6D18
/* B5DD0C 800E6B6C 4600103C */ c.lt.s $f2, $f0
/* B5DD10 800E6B70 10410009 */ beq $v0, $at, .L800E6B98
/* B5DD14 800E6B74 8FAA0024 */ lw $t2, 0x24($sp)
/* B5DD18 800E6B78 24010002 */ li $at, 2
/* B5DD1C 800E6B7C 10410017 */ beq $v0, $at, .L800E6BDC
/* B5DD20 800E6B80 8FA80024 */ lw $t0, 0x24($sp)
/* B5DD24 800E6B84 24010003 */ li $at, 3
/* B5DD28 800E6B88 10410028 */ beq $v0, $at, .L800E6C2C
/* B5DD2C 800E6B8C 8FA80024 */ lw $t0, 0x24($sp)
/* B5DD30 800E6B90 10000061 */ b .L800E6D18
/* B5DD34 800E6B94 4600103C */ c.lt.s $f2, $f0
.L800E6B98:
/* B5DD38 800E6B98 90F90000 */ lbu $t9, ($a3)
/* B5DD3C 800E6B9C 000A5900 */ sll $t3, $t2, 4
/* B5DD40 800E6BA0 000B67C2 */ srl $t4, $t3, 0x1f
/* B5DD44 800E6BA4 000C70C0 */ sll $t6, $t4, 3
/* B5DD48 800E6BA8 31CF0008 */ andi $t7, $t6, 8
/* B5DD4C 800E6BAC 3328FFF7 */ andi $t0, $t9, 0xfff7
/* B5DD50 800E6BB0 01E87025 */ or $t6, $t7, $t0
/* B5DD54 800E6BB4 A0EE0000 */ sb $t6, ($a3)
/* B5DD58 800E6BB8 8FB80024 */ lw $t8, 0x24($sp)
/* B5DD5C 800E6BBC 31D900FB */ andi $t9, $t6, 0xfb
/* B5DD60 800E6BC0 00184940 */ sll $t1, $t8, 5
/* B5DD64 800E6BC4 000957C2 */ srl $t2, $t1, 0x1f
/* B5DD68 800E6BC8 000A5880 */ sll $t3, $t2, 2
/* B5DD6C 800E6BCC 316C0004 */ andi $t4, $t3, 4
/* B5DD70 800E6BD0 01997825 */ or $t7, $t4, $t9
/* B5DD74 800E6BD4 1000004F */ b .L800E6D14
/* B5DD78 800E6BD8 A0EF0000 */ sb $t7, ($a3)
.L800E6BDC:
/* B5DD7C 800E6BDC 00086900 */ sll $t5, $t0, 4
/* B5DD80 800E6BE0 90EC0000 */ lbu $t4, ($a3)
/* B5DD84 800E6BE4 000DC7C2 */ srl $t8, $t5, 0x1f
/* B5DD88 800E6BE8 03035025 */ or $t2, $t8, $v1
/* B5DD8C 800E6BEC 000A58C0 */ sll $t3, $t2, 3
/* B5DD90 800E6BF0 316E0008 */ andi $t6, $t3, 8
/* B5DD94 800E6BF4 3199FFF7 */ andi $t9, $t4, 0xfff7
/* B5DD98 800E6BF8 01D97825 */ or $t7, $t6, $t9
/* B5DD9C 800E6BFC A0EF0000 */ sb $t7, ($a3)
/* B5DDA0 800E6C00 8FA80024 */ lw $t0, 0x24($sp)
/* B5DDA4 800E6C04 01E07025 */ move $t6, $t7
/* B5DDA8 800E6C08 31D900FB */ andi $t9, $t6, 0xfb
/* B5DDAC 800E6C0C 00086940 */ sll $t5, $t0, 5
/* B5DDB0 800E6C10 000DC7C2 */ srl $t8, $t5, 0x1f
/* B5DDB4 800E6C14 03045025 */ or $t2, $t8, $a0
/* B5DDB8 800E6C18 000A5880 */ sll $t3, $t2, 2
/* B5DDBC 800E6C1C 316C0004 */ andi $t4, $t3, 4
/* B5DDC0 800E6C20 01997825 */ or $t7, $t4, $t9
/* B5DDC4 800E6C24 1000003B */ b .L800E6D14
/* B5DDC8 800E6C28 A0EF0000 */ sb $t7, ($a3)
.L800E6C2C:
/* B5DDCC 800E6C2C 00086900 */ sll $t5, $t0, 4
/* B5DDD0 800E6C30 90EC0000 */ lbu $t4, ($a3)
/* B5DDD4 800E6C34 000DC7C2 */ srl $t8, $t5, 0x1f
/* B5DDD8 800E6C38 03035026 */ xor $t2, $t8, $v1
/* B5DDDC 800E6C3C 000A58C0 */ sll $t3, $t2, 3
/* B5DDE0 800E6C40 316E0008 */ andi $t6, $t3, 8
/* B5DDE4 800E6C44 3199FFF7 */ andi $t9, $t4, 0xfff7
/* B5DDE8 800E6C48 01D97825 */ or $t7, $t6, $t9
/* B5DDEC 800E6C4C A0EF0000 */ sb $t7, ($a3)
/* B5DDF0 800E6C50 8FA80024 */ lw $t0, 0x24($sp)
/* B5DDF4 800E6C54 01E07025 */ move $t6, $t7
/* B5DDF8 800E6C58 31D900FB */ andi $t9, $t6, 0xfb
/* B5DDFC 800E6C5C 00086940 */ sll $t5, $t0, 5
/* B5DE00 800E6C60 000DC7C2 */ srl $t8, $t5, 0x1f
/* B5DE04 800E6C64 03045026 */ xor $t2, $t8, $a0
/* B5DE08 800E6C68 000A5880 */ sll $t3, $t2, 2
/* B5DE0C 800E6C6C 316C0004 */ andi $t4, $t3, 4
/* B5DE10 800E6C70 01997825 */ or $t7, $t4, $t9
/* B5DE14 800E6C74 10000027 */ b .L800E6D14
/* B5DE18 800E6C78 A0EF0000 */ sb $t7, ($a3)
.L800E6C7C:
/* B5DE1C 800E6C7C 24010003 */ li $at, 3
.L800E6C80:
/* B5DE20 800E6C80 1461000A */ bne $v1, $at, .L800E6CAC
/* B5DE24 800E6C84 8FAA0024 */ lw $t2, 0x24($sp)
/* B5DE28 800E6C88 90E80000 */ lbu $t0, ($a3)
/* B5DE2C 800E6C8C 3C018015 */ lui $at, %hi(D_801495C0)
/* B5DE30 800E6C90 C42E95C0 */ lwc1 $f14, %lo(D_801495C0)($at)
/* B5DE34 800E6C94 3118FFFD */ andi $t8, $t0, 0xfffd
/* B5DE38 800E6C98 A0F80000 */ sb $t8, ($a3)
/* B5DE3C 800E6C9C 330900FE */ andi $t1, $t8, 0xfe
/* B5DE40 800E6CA0 A0E90000 */ sb $t1, ($a3)
/* B5DE44 800E6CA4 1000001B */ b .L800E6D14
/* B5DE48 800E6CA8 46007306 */ mov.s $f12, $f14
.L800E6CAC:
/* B5DE4C 800E6CAC 90EF0000 */ lbu $t7, ($a3)
/* B5DE50 800E6CB0 000A5900 */ sll $t3, $t2, 4
/* B5DE54 800E6CB4 000B77C2 */ srl $t6, $t3, 0x1f
/* B5DE58 800E6CB8 000E60C0 */ sll $t4, $t6, 3
/* B5DE5C 800E6CBC 31990008 */ andi $t9, $t4, 8
/* B5DE60 800E6CC0 31E8FFF7 */ andi $t0, $t7, 0xfff7
/* B5DE64 800E6CC4 03286025 */ or $t4, $t9, $t0
/* B5DE68 800E6CC8 A0EC0000 */ sb $t4, ($a3)
/* B5DE6C 800E6CCC 8FB80024 */ lw $t8, 0x24($sp)
/* B5DE70 800E6CD0 318F00FB */ andi $t7, $t4, 0xfb
/* B5DE74 800E6CD4 3C018013 */ lui $at, %hi(D_80130028)
/* B5DE78 800E6CD8 00184940 */ sll $t1, $t8, 5
/* B5DE7C 800E6CDC 000957C2 */ srl $t2, $t1, 0x1f
/* B5DE80 800E6CE0 000A5880 */ sll $t3, $t2, 2
/* B5DE84 800E6CE4 316E0004 */ andi $t6, $t3, 4
/* B5DE88 800E6CE8 01CFC825 */ or $t9, $t6, $t7
/* B5DE8C 800E6CEC A0F90000 */ sb $t9, ($a3)
/* B5DE90 800E6CF0 93A80027 */ lbu $t0, 0x27($sp)
/* B5DE94 800E6CF4 00086880 */ sll $t5, $t0, 2
/* B5DE98 800E6CF8 002D0821 */ addu $at, $at, $t5
/* B5DE9C 800E6CFC C42C0028 */ lwc1 $f12, %lo(D_80130028)($at)
/* B5DEA0 800E6D00 0008C080 */ sll $t8, $t0, 2
/* B5DEA4 800E6D04 00184823 */ negu $t1, $t8
/* B5DEA8 800E6D08 3C018013 */ lui $at, %hi(D_80130224)
/* B5DEAC 800E6D0C 00290821 */ addu $at, $at, $t1
/* B5DEB0 800E6D10 C42E0224 */ lwc1 $f14, %lo(D_80130224)($at)
.L800E6D14:
/* B5DEB4 800E6D14 4600103C */ c.lt.s $f2, $f0
.L800E6D18:
/* B5DEB8 800E6D18 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B5DEBC 800E6D1C 45020003 */ bc1fl .L800E6D2C
/* B5DEC0 800E6D20 44810000 */ mtc1 $at, $f0
/* B5DEC4 800E6D24 46000086 */ mov.s $f2, $f0
/* B5DEC8 800E6D28 44810000 */ mtc1 $at, $f0
.L800E6D2C:
/* B5DECC 800E6D2C 00000000 */ nop
/* B5DED0 800E6D30 4602003C */ c.lt.s $f0, $f2
/* B5DED4 800E6D34 00000000 */ nop
/* B5DED8 800E6D38 45000002 */ bc1f .L800E6D44
/* B5DEDC 800E6D3C 00000000 */ nop
/* B5DEE0 800E6D40 46000086 */ mov.s $f2, $f0
.L800E6D44:
/* B5DEE4 800E6D44 460C1102 */ mul.s $f4, $f2, $f12
/* B5DEE8 800E6D48 3C018015 */ lui $at, %hi(D_801495C4)
/* B5DEEC 800E6D4C C42095C4 */ lwc1 $f0, %lo(D_801495C4)($at)
/* B5DEF0 800E6D50 46002182 */ mul.s $f6, $f4, $f0
/* B5DEF4 800E6D54 00000000 */ nop
/* B5DEF8 800E6D58 460E1282 */ mul.s $f10, $f2, $f14
/* B5DEFC 800E6D5C 4600320D */ trunc.w.s $f8, $f6
/* B5DF00 800E6D60 46005402 */ mul.s $f16, $f10, $f0
/* B5DF04 800E6D64 440B4000 */ mfc1 $t3, $f8
/* B5DF08 800E6D68 00000000 */ nop
/* B5DF0C 800E6D6C A4EB0008 */ sh $t3, 8($a3)
/* B5DF10 800E6D70 4600848D */ trunc.w.s $f18, $f16
/* B5DF14 800E6D74 440E9000 */ mfc1 $t6, $f18
/* B5DF18 800E6D78 00000000 */ nop
/* B5DF1C 800E6D7C A4EE000A */ sh $t6, 0xa($a3)
/* B5DF20 800E6D80 90CF0001 */ lbu $t7, 1($a2)
/* B5DF24 800E6D84 A0EF0002 */ sb $t7, 2($a3)
/* B5DF28 800E6D88 8CD90010 */ lw $t9, 0x10($a2)
/* B5DF2C 800E6D8C ACF90014 */ sw $t9, 0x14($a3)
/* B5DF30 800E6D90 90CD0014 */ lbu $t5, 0x14($a2)
/* B5DF34 800E6D94 A0ED0007 */ sb $t5, 7($a3)
/* B5DF38 800E6D98 94C80016 */ lhu $t0, 0x16($a2)
/* B5DF3C 800E6D9C A4E8000E */ sh $t0, 0xe($a3)
/* B5DF40 800E6DA0 93B80026 */ lbu $t8, 0x26($sp)
/* B5DF44 800E6DA4 A0F80005 */ sb $t8, 5($a3)
/* B5DF48 800E6DA8 8FBF0014 */ lw $ra, 0x14($sp)
/* B5DF4C 800E6DAC 27BD0048 */ addiu $sp, $sp, 0x48
/* B5DF50 800E6DB0 03E00008 */ jr $ra
/* B5DF54 800E6DB4 00000000 */ nop
glabel func_800E6DB8
/* B5DF58 800E6DB8 3C014000 */ li $at, 0x40000000 # 0.000000
/* B5DF5C 800E6DBC 44856000 */ mtc1 $a1, $f12
/* B5DF60 800E6DC0 44812000 */ mtc1 $at, $f4
/* B5DF64 800E6DC4 3C018015 */ lui $at, %hi(D_801495C8)
/* B5DF68 800E6DC8 4604603C */ c.lt.s $f12, $f4
/* B5DF6C 800E6DCC 00000000 */ nop
/* B5DF70 800E6DD0 4502000D */ bc1fl .L800E6E08
/* B5DF74 800E6DD4 90990001 */ lbu $t9, 1($a0)
/* B5DF78 800E6DD8 C42295C8 */ lwc1 $f2, %lo(D_801495C8)($at)
/* B5DF7C 800E6DDC 908E0001 */ lbu $t6, 1($a0)
/* B5DF80 800E6DE0 460C103C */ c.lt.s $f2, $f12
/* B5DF84 800E6DE4 31CFFFFD */ andi $t7, $t6, 0xfffd
/* B5DF88 800E6DE8 A08F0001 */ sb $t7, 1($a0)
/* B5DF8C 800E6DEC 45000003 */ bc1f .L800E6DFC
/* B5DF90 800E6DF0 00000000 */ nop
/* B5DF94 800E6DF4 10000014 */ b .L800E6E48
/* B5DF98 800E6DF8 46001006 */ mov.s $f0, $f2
.L800E6DFC:
/* B5DF9C 800E6DFC 10000012 */ b .L800E6E48
/* B5DFA0 800E6E00 46006006 */ mov.s $f0, $f12
/* B5DFA4 800E6E04 90990001 */ lbu $t9, 1($a0)
.L800E6E08:
/* B5DFA8 800E6E08 3C018015 */ lui $at, %hi(D_801495CC)
/* B5DFAC 800E6E0C 37280002 */ ori $t0, $t9, 2
/* B5DFB0 800E6E10 A0880001 */ sb $t0, 1($a0)
/* B5DFB4 800E6E14 C42695CC */ lwc1 $f6, %lo(D_801495CC)($at)
/* B5DFB8 800E6E18 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* B5DFBC 800E6E1C 460C303C */ c.lt.s $f6, $f12
/* B5DFC0 800E6E20 00000000 */ nop
/* B5DFC4 800E6E24 45020005 */ bc1fl .L800E6E3C
/* B5DFC8 800E6E28 44814000 */ mtc1 $at, $f8
/* B5DFCC 800E6E2C 3C018015 */ lui $at, %hi(D_801495D0)
/* B5DFD0 800E6E30 10000005 */ b .L800E6E48
/* B5DFD4 800E6E34 C42095D0 */ lwc1 $f0, %lo(D_801495D0)($at)
/* B5DFD8 800E6E38 44814000 */ mtc1 $at, $f8
.L800E6E3C:
/* B5DFDC 800E6E3C 00000000 */ nop
/* B5DFE0 800E6E40 46086002 */ mul.s $f0, $f12, $f8
/* B5DFE4 800E6E44 00000000 */ nop
.L800E6E48:
/* B5DFE8 800E6E48 3C014700 */ li $at, 0x47000000 # 0.000000
/* B5DFEC 800E6E4C 44815000 */ mtc1 $at, $f10
/* B5DFF0 800E6E50 00000000 */ nop
/* B5DFF4 800E6E54 460A0402 */ mul.s $f16, $f0, $f10
/* B5DFF8 800E6E58 4600848D */ trunc.w.s $f18, $f16
/* B5DFFC 800E6E5C 440A9000 */ mfc1 $t2, $f18
/* B5E000 800E6E60 03E00008 */ jr $ra
/* B5E004 800E6E64 A48A000C */ sh $t2, 0xc($a0)
glabel func_800E6E68
/* B5E008 800E6E68 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5E00C 800E6E6C AFBF0014 */ sw $ra, 0x14($sp)
/* B5E010 800E6E70 8C820044 */ lw $v0, 0x44($a0)
/* B5E014 800E6E74 00803825 */ move $a3, $a0
/* B5E018 800E6E78 24E60036 */ addiu $a2, $a3, 0x36
/* B5E01C 800E6E7C 904E0018 */ lbu $t6, 0x18($v0)
/* B5E020 800E6E80 55C0000A */ bnezl $t6, .L800E6EAC
/* B5E024 800E6E84 8C45001C */ lw $a1, 0x1c($v0)
/* B5E028 800E6E88 8C4F0050 */ lw $t7, 0x50($v0)
/* B5E02C 800E6E8C 24840070 */ addiu $a0, $a0, 0x70
/* B5E030 800E6E90 24E60036 */ addiu $a2, $a3, 0x36
/* B5E034 800E6E94 8DE50080 */ lw $a1, 0x80($t7)
/* B5E038 800E6E98 0C03A3F9 */ jal func_800E8FE4
/* B5E03C 800E6E9C AFA70018 */ sw $a3, 0x18($sp)
/* B5E040 800E6EA0 10000006 */ b .L800E6EBC
/* B5E044 800E6EA4 8FA70018 */ lw $a3, 0x18($sp)
/* B5E048 800E6EA8 8C45001C */ lw $a1, 0x1c($v0)
.L800E6EAC:
/* B5E04C 800E6EAC AFA70018 */ sw $a3, 0x18($sp)
/* B5E050 800E6EB0 0C03A3F9 */ jal func_800E8FE4
/* B5E054 800E6EB4 24E40070 */ addiu $a0, $a3, 0x70
/* B5E058 800E6EB8 8FA70018 */ lw $a3, 0x18($sp)
.L800E6EBC:
/* B5E05C 800E6EBC 90F80070 */ lbu $t8, 0x70($a3)
/* B5E060 800E6EC0 3C098013 */ lui $t1, %hi(D_8012FB04) # $t1, 0x8013
/* B5E064 800E6EC4 A0E00034 */ sb $zero, 0x34($a3)
/* B5E068 800E6EC8 3319FFF0 */ andi $t9, $t8, 0xfff0
/* B5E06C 800E6ECC 37280001 */ ori $t0, $t9, 1
/* B5E070 800E6ED0 A0E80070 */ sb $t0, 0x70($a3)
/* B5E074 800E6ED4 2529FB04 */ addiu $t1, %lo(D_8012FB04) # addiu $t1, $t1, -0x4fc
/* B5E078 800E6ED8 8D2B0000 */ lw $t3, ($t1)
/* B5E07C 800E6EDC ACEB00C0 */ sw $t3, 0xc0($a3)
/* B5E080 800E6EE0 8D2A0004 */ lw $t2, 4($t1)
/* B5E084 800E6EE4 ACEA00C4 */ sw $t2, 0xc4($a3)
/* B5E088 800E6EE8 8D2B0008 */ lw $t3, 8($t1)
/* B5E08C 800E6EEC ACEB00C8 */ sw $t3, 0xc8($a3)
/* B5E090 800E6EF0 8D2A000C */ lw $t2, 0xc($t1)
/* B5E094 800E6EF4 ACEA00CC */ sw $t2, 0xcc($a3)
/* B5E098 800E6EF8 8D2B0010 */ lw $t3, 0x10($t1)
/* B5E09C 800E6EFC ACEB00D0 */ sw $t3, 0xd0($a3)
/* B5E0A0 800E6F00 8D2A0014 */ lw $t2, 0x14($t1)
/* B5E0A4 800E6F04 ACEA00D4 */ sw $t2, 0xd4($a3)
/* B5E0A8 800E6F08 8D2B0018 */ lw $t3, 0x18($t1)
/* B5E0AC 800E6F0C ACEB00D8 */ sw $t3, 0xd8($a3)
/* B5E0B0 800E6F10 8D2A001C */ lw $t2, 0x1c($t1)
/* B5E0B4 800E6F14 ACEA00DC */ sw $t2, 0xdc($a3)
/* B5E0B8 800E6F18 8FBF0014 */ lw $ra, 0x14($sp)
/* B5E0BC 800E6F1C 27BD0018 */ addiu $sp, $sp, 0x18
/* B5E0C0 800E6F20 03E00008 */ jr $ra
/* B5E0C4 800E6F24 00000000 */ nop
glabel func_800E6F28
/* B5E0C8 800E6F28 8C8E00C0 */ lw $t6, 0xc0($a0)
/* B5E0CC 800E6F2C 24010001 */ li $at, 1
/* B5E0D0 800E6F30 44802000 */ mtc1 $zero, $f4
/* B5E0D4 800E6F34 000E7840 */ sll $t7, $t6, 1
/* B5E0D8 800E6F38 000FC7C2 */ srl $t8, $t7, 0x1f
/* B5E0DC 800E6F3C 17010004 */ bne $t8, $at, .L800E6F50
/* B5E0E0 800E6F40 2402FFFF */ li $v0, -1
/* B5E0E4 800E6F44 909900C0 */ lbu $t9, 0xc0($a0)
/* B5E0E8 800E6F48 3328FFBF */ andi $t0, $t9, 0xffbf
/* B5E0EC 800E6F4C A08800C0 */ sb $t0, 0xc0($a0)
.L800E6F50:
/* B5E0F0 800E6F50 908900C0 */ lbu $t1, 0xc0($a0)
/* B5E0F4 800E6F54 908D0070 */ lbu $t5, 0x70($a0)
/* B5E0F8 800E6F58 A0800030 */ sb $zero, 0x30($a0)
/* B5E0FC 800E6F5C 312AFF7F */ andi $t2, $t1, 0xff7f
/* B5E100 800E6F60 A08A00C0 */ sb $t2, 0xc0($a0)
/* B5E104 800E6F64 908B00C0 */ lbu $t3, 0xc0($a0)
/* B5E108 800E6F68 31AEFFF0 */ andi $t6, $t5, 0xfff0
/* B5E10C 800E6F6C A0800034 */ sb $zero, 0x34($a0)
/* B5E110 800E6F70 316CFFDF */ andi $t4, $t3, 0xffdf
/* B5E114 800E6F74 A08C00C0 */ sb $t4, 0xc0($a0)
/* B5E118 800E6F78 AC820044 */ sw $v0, 0x44($a0)
/* B5E11C 800E6F7C AC820040 */ sw $v0, 0x40($a0)
/* B5E120 800E6F80 A08E0070 */ sb $t6, 0x70($a0)
/* B5E124 800E6F84 03E00008 */ jr $ra
/* B5E128 800E6F88 E4840080 */ swc1 $f4, 0x80($a0)
glabel func_800E6F8C
/* B5E12C 800E6F8C 27BDFF60 */ addiu $sp, $sp, -0xa0
/* B5E130 800E6F90 AFB40028 */ sw $s4, 0x28($sp)
/* B5E134 800E6F94 3C148017 */ lui $s4, %hi(D_8016F180)
/* B5E138 800E6F98 2694F180 */ addiu $s4, %lo(D_8016F180)
/* B5E13C 800E6F9C 8E822894 */ lw $v0, 0x2894($s4)
/* B5E140 800E6FA0 AFB5002C */ sw $s5, 0x2c($sp)
/* B5E144 800E6FA4 AFBF003C */ sw $ra, 0x3c($sp)
/* B5E148 800E6FA8 AFBE0038 */ sw $fp, 0x38($sp)
/* B5E14C 800E6FAC AFB70034 */ sw $s7, 0x34($sp)
/* B5E150 800E6FB0 AFB60030 */ sw $s6, 0x30($sp)
/* B5E154 800E6FB4 AFB30024 */ sw $s3, 0x24($sp)
/* B5E158 800E6FB8 AFB20020 */ sw $s2, 0x20($sp)
/* B5E15C 800E6FBC AFB1001C */ sw $s1, 0x1c($sp)
/* B5E160 800E6FC0 AFB00018 */ sw $s0, 0x18($sp)
/* B5E164 800E6FC4 18400119 */ blez $v0, .L800E742C
/* B5E168 800E6FC8 0000A825 */ move $s5, $zero
/* B5E16C 800E6FCC 0000B825 */ move $s7, $zero
/* B5E170 800E6FD0 27BE006F */ addiu $fp, $sp, 0x6f
/* B5E174 800E6FD4 24160001 */ li $s6, 1
/* B5E178 800E6FD8 2413FFFF */ li $s3, -1
.L800E6FDC:
/* B5E17C 800E6FDC 8E8F5B84 */ lw $t7, 0x5b84($s4)
/* B5E180 800E6FE0 8E880014 */ lw $t0, 0x14($s4)
/* B5E184 800E6FE4 8E8E352C */ lw $t6, 0x352c($s4)
/* B5E188 800E6FE8 01F5C021 */ addu $t8, $t7, $s5
/* B5E18C 800E6FEC 0018C940 */ sll $t9, $t8, 5
/* B5E190 800E6FF0 03284821 */ addu $t1, $t9, $t0
/* B5E194 800E6FF4 AFA90090 */ sw $t1, 0x90($sp)
/* B5E198 800E6FF8 02EE8821 */ addu $s1, $s7, $t6
/* B5E19C 800E6FFC 8E2A0044 */ lw $t2, 0x44($s1)
/* B5E1A0 800E7000 26300030 */ addiu $s0, $s1, 0x30
/* B5E1A4 800E7004 526A0043 */ beql $s3, $t2, .L800E7114
/* B5E1A8 800E7008 92190004 */ lbu $t9, 4($s0)
/* B5E1AC 800E700C 26300030 */ addiu $s0, $s1, 0x30
/* B5E1B0 800E7010 8E040014 */ lw $a0, 0x14($s0)
/* B5E1B4 800E7014 3C017FFF */ li $at, 0x7FFF0000 # 0.000000
/* B5E1B8 800E7018 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B5E1BC 800E701C 0081082B */ sltu $at, $a0, $at
/* B5E1C0 800E7020 542000FF */ bnezl $at, .L800E7420
/* B5E1C4 800E7024 26B50001 */ addiu $s5, $s5, 1
/* B5E1C8 800E7028 8C8B002C */ lw $t3, 0x2c($a0)
/* B5E1CC 800E702C 522B000F */ beql $s1, $t3, .L800E706C
/* B5E1D0 800E7030 8C990000 */ lw $t9, ($a0)
/* B5E1D4 800E7034 920C0004 */ lbu $t4, 4($s0)
/* B5E1D8 800E7038 5580000C */ bnezl $t4, .L800E706C
/* B5E1DC 800E703C 8C990000 */ lw $t9, ($a0)
/* B5E1E0 800E7040 920E0040 */ lbu $t6, 0x40($s0)
/* B5E1E4 800E7044 24180002 */ li $t8, 2
/* B5E1E8 800E7048 32C200FF */ andi $v0, $s6, 0xff
/* B5E1EC 800E704C 35CF0010 */ ori $t7, $t6, 0x10
/* B5E1F0 800E7050 A20F0040 */ sb $t7, 0x40($s0)
/* B5E1F4 800E7054 C6842864 */ lwc1 $f4, 0x2864($s4)
/* B5E1F8 800E7058 A2160000 */ sb $s6, ($s0)
/* B5E1FC 800E705C A2180004 */ sb $t8, 4($s0)
/* B5E200 800E7060 10000032 */ b .L800E712C
/* B5E204 800E7064 E604004C */ swc1 $f4, 0x4c($s0)
/* B5E208 800E7068 8C990000 */ lw $t9, ($a0)
.L800E706C:
/* B5E20C 800E706C 001947C2 */ srl $t0, $t9, 0x1f
/* B5E210 800E7070 55000008 */ bnezl $t0, .L800E7094
/* B5E214 800E7074 8C850050 */ lw $a1, 0x50($a0)
/* B5E218 800E7078 92090004 */ lbu $t1, 4($s0)
/* B5E21C 800E707C 55200005 */ bnezl $t1, .L800E7094
/* B5E220 800E7080 8C850050 */ lw $a1, 0x50($a0)
/* B5E224 800E7084 920A0000 */ lbu $t2, ($s0)
/* B5E228 800E7088 1D400015 */ bgtz $t2, .L800E70E0
/* B5E22C 800E708C 00000000 */ nop
/* B5E230 800E7090 8C850050 */ lw $a1, 0x50($a0)
.L800E7094:
/* B5E234 800E7094 8CA2004C */ lw $v0, 0x4c($a1)
/* B5E238 800E7098 54400008 */ bnezl $v0, .L800E70BC
/* B5E23C 800E709C 8C4B0000 */ lw $t3, ($v0)
/* B5E240 800E70A0 0C03A632 */ jal func_800E98C8
/* B5E244 800E70A4 00A02025 */ move $a0, $a1
/* B5E248 800E70A8 A2160000 */ sb $s6, ($s0)
/* B5E24C 800E70AC A2160004 */ sb $s6, 4($s0)
/* B5E250 800E70B0 100000DA */ b .L800E741C
/* B5E254 800E70B4 8E822894 */ lw $v0, 0x2894($s4)
/* B5E258 800E70B8 8C4B0000 */ lw $t3, ($v0)
.L800E70BC:
/* B5E25C 800E70BC 000B6880 */ sll $t5, $t3, 2
/* B5E260 800E70C0 05A10005 */ bgez $t5, .L800E70D8
/* B5E264 800E70C4 00000000 */ nop
/* B5E268 800E70C8 90AE0003 */ lbu $t6, 3($a1)
/* B5E26C 800E70CC 31CF0040 */ andi $t7, $t6, 0x40
/* B5E270 800E70D0 15E00003 */ bnez $t7, .L800E70E0
/* B5E274 800E70D4 00000000 */ nop
.L800E70D8:
/* B5E278 800E70D8 10000014 */ b .L800E712C
/* B5E27C 800E70DC 92020000 */ lbu $v0, ($s0)
.L800E70E0:
/* B5E280 800E70E0 0C039EE0 */ jal func_800E7B80
/* B5E284 800E70E4 00000000 */ nop
/* B5E288 800E70E8 0C03A037 */ jal func_800E80DC
/* B5E28C 800E70EC 02202025 */ move $a0, $s1
/* B5E290 800E70F0 8E24000C */ lw $a0, 0xc($s1)
/* B5E294 800E70F4 02202825 */ move $a1, $s1
/* B5E298 800E70F8 0C03A027 */ jal func_800E809C
/* B5E29C 800E70FC 24840010 */ addiu $a0, $a0, 0x10
/* B5E2A0 800E7100 24180002 */ li $t8, 2
/* B5E2A4 800E7104 A2160000 */ sb $s6, ($s0)
/* B5E2A8 800E7108 10000007 */ b .L800E7128
/* B5E2AC 800E710C A2180004 */ sb $t8, 4($s0)
/* B5E2B0 800E7110 92190004 */ lbu $t9, 4($s0)
.L800E7114:
/* B5E2B4 800E7114 57200005 */ bnezl $t9, .L800E712C
/* B5E2B8 800E7118 92020000 */ lbu $v0, ($s0)
/* B5E2BC 800E711C 92080000 */ lbu $t0, ($s0)
/* B5E2C0 800E7120 5D0000BF */ bgtzl $t0, .L800E7420
/* B5E2C4 800E7124 26B50001 */ addiu $s5, $s5, 1
.L800E7128:
/* B5E2C8 800E7128 92020000 */ lbu $v0, ($s0)
.L800E712C:
/* B5E2CC 800E712C 504000BB */ beql $v0, $zero, .L800E741C
/* B5E2D0 800E7130 8E822894 */ lw $v0, 0x2894($s4)
/* B5E2D4 800E7134 92020004 */ lbu $v0, 4($s0)
/* B5E2D8 800E7138 263200C0 */ addiu $s2, $s1, 0xc0
/* B5E2DC 800E713C 5C400006 */ bgtzl $v0, .L800E7158
/* B5E2E0 800E7140 920C0040 */ lbu $t4, 0x40($s0)
/* B5E2E4 800E7144 8E490000 */ lw $t1, ($s2)
/* B5E2E8 800E7148 00095880 */ sll $t3, $t1, 2
/* B5E2EC 800E714C 0563003B */ bgezl $t3, .L800E723C
/* B5E2F0 800E7150 920C0040 */ lbu $t4, 0x40($s0)
/* B5E2F4 800E7154 920C0040 */ lbu $t4, 0x40($s0)
.L800E7158:
/* B5E2F8 800E7158 263200C0 */ addiu $s2, $s1, 0xc0
/* B5E2FC 800E715C 318D000F */ andi $t5, $t4, 0xf
/* B5E300 800E7160 51A00006 */ beql $t5, $zero, .L800E717C
/* B5E304 800E7164 8E190018 */ lw $t9, 0x18($s0)
/* B5E308 800E7168 8E4E0000 */ lw $t6, ($s2)
/* B5E30C 800E716C 000EC080 */ sll $t8, $t6, 2
/* B5E310 800E7170 07010044 */ bgez $t8, .L800E7284
/* B5E314 800E7174 00000000 */ nop
/* B5E318 800E7178 8E190018 */ lw $t9, 0x18($s0)
.L800E717C:
/* B5E31C 800E717C 52790020 */ beql $s3, $t9, .L800E7200
/* B5E320 800E7180 8E040014 */ lw $a0, 0x14($s0)
/* B5E324 800E7184 0C039BCA */ jal func_800E6F28
/* B5E328 800E7188 02202025 */ move $a0, $s1
/* B5E32C 800E718C 8E050018 */ lw $a1, 0x18($s0)
/* B5E330 800E7190 02202025 */ move $a0, $s1
/* B5E334 800E7194 8CA80050 */ lw $t0, 0x50($a1)
/* B5E338 800E7198 1100000F */ beqz $t0, .L800E71D8
/* B5E33C 800E719C 00000000 */ nop
/* B5E340 800E71A0 0C03A062 */ jal func_800E8188
/* B5E344 800E71A4 263200C0 */ addiu $s2, $s1, 0xc0
/* B5E348 800E71A8 0C03A3C0 */ jal func_800E8F00
/* B5E34C 800E71AC 02202025 */ move $a0, $s1
/* B5E350 800E71B0 0C03A3EE */ jal func_800E8FB8
/* B5E354 800E71B4 02202025 */ move $a0, $s1
/* B5E358 800E71B8 0C03A037 */ jal func_800E80DC
/* B5E35C 800E71BC 02202025 */ move $a0, $s1
/* B5E360 800E71C0 8E24000C */ lw $a0, 0xc($s1)
/* B5E364 800E71C4 02202825 */ move $a1, $s1
/* B5E368 800E71C8 0C03A70A */ jal func_800E9C28
/* B5E36C 800E71CC 24840030 */ addiu $a0, $a0, 0x30
/* B5E370 800E71D0 1000002C */ b .L800E7284
/* B5E374 800E71D4 AE130018 */ sw $s3, 0x18($s0)
.L800E71D8:
/* B5E378 800E71D8 0C039BCA */ jal func_800E6F28
/* B5E37C 800E71DC 02202025 */ move $a0, $s1
/* B5E380 800E71E0 0C03A037 */ jal func_800E80DC
/* B5E384 800E71E4 02202025 */ move $a0, $s1
/* B5E388 800E71E8 8E24000C */ lw $a0, 0xc($s1)
/* B5E38C 800E71EC 0C03A70A */ jal func_800E9C28
/* B5E390 800E71F0 02202825 */ move $a1, $s1
/* B5E394 800E71F4 10000088 */ b .L800E7418
/* B5E398 800E71F8 AE130018 */ sw $s3, 0x18($s0)
/* B5E39C 800E71FC 8E040014 */ lw $a0, 0x14($s0)
.L800E7200:
/* B5E3A0 800E7200 12640004 */ beq $s3, $a0, .L800E7214
/* B5E3A4 800E7204 00000000 */ nop
/* B5E3A8 800E7208 908A0000 */ lbu $t2, ($a0)
/* B5E3AC 800E720C 354B0002 */ ori $t3, $t2, 2
/* B5E3B0 800E7210 A08B0000 */ sb $t3, ($a0)
.L800E7214:
/* B5E3B4 800E7214 0C039BCA */ jal func_800E6F28
/* B5E3B8 800E7218 02202025 */ move $a0, $s1
/* B5E3BC 800E721C 0C03A037 */ jal func_800E80DC
/* B5E3C0 800E7220 02202025 */ move $a0, $s1
/* B5E3C4 800E7224 8E24000C */ lw $a0, 0xc($s1)
/* B5E3C8 800E7228 0C03A70A */ jal func_800E9C28
/* B5E3CC 800E722C 02202825 */ move $a1, $s1
/* B5E3D0 800E7230 1000007A */ b .L800E741C
/* B5E3D4 800E7234 8E822894 */ lw $v0, 0x2894($s4)
/* B5E3D8 800E7238 920C0040 */ lbu $t4, 0x40($s0)
.L800E723C:
/* B5E3DC 800E723C 318D000F */ andi $t5, $t4, 0xf
/* B5E3E0 800E7240 15A00010 */ bnez $t5, .L800E7284
/* B5E3E4 800E7244 00000000 */ nop
/* B5E3E8 800E7248 8E040014 */ lw $a0, 0x14($s0)
/* B5E3EC 800E724C 12640004 */ beq $s3, $a0, .L800E7260
/* B5E3F0 800E7250 00000000 */ nop
/* B5E3F4 800E7254 908F0000 */ lbu $t7, ($a0)
/* B5E3F8 800E7258 35F80002 */ ori $t8, $t7, 2
/* B5E3FC 800E725C A0980000 */ sb $t8, ($a0)
.L800E7260:
/* B5E400 800E7260 0C039BCA */ jal func_800E6F28
/* B5E404 800E7264 02202025 */ move $a0, $s1
/* B5E408 800E7268 0C03A037 */ jal func_800E80DC
/* B5E40C 800E726C 02202025 */ move $a0, $s1
/* B5E410 800E7270 8E24000C */ lw $a0, 0xc($s1)
/* B5E414 800E7274 0C03A70A */ jal func_800E9C28
/* B5E418 800E7278 02202825 */ move $a1, $s1
/* B5E41C 800E727C 10000067 */ b .L800E741C
/* B5E420 800E7280 8E822894 */ lw $v0, 0x2894($s4)
.L800E7284:
/* B5E424 800E7284 0C03A401 */ jal func_800E9004
/* B5E428 800E7288 26040040 */ addiu $a0, $s0, 0x40
/* B5E42C 800E728C E7A00064 */ swc1 $f0, 0x64($sp)
/* B5E430 800E7290 0C03A3A9 */ jal func_800E8EA4
/* B5E434 800E7294 02202025 */ move $a0, $s1
/* B5E438 800E7298 92020004 */ lbu $v0, 4($s0)
/* B5E43C 800E729C 24010001 */ li $at, 1
/* B5E440 800E72A0 10410002 */ beq $v0, $at, .L800E72AC
/* B5E444 800E72A4 24010002 */ li $at, 2
/* B5E448 800E72A8 14410018 */ bne $v0, $at, .L800E730C
.L800E72AC:
/* B5E44C 800E72AC 2602001C */ addiu $v0, $s0, 0x1c
/* B5E450 800E72B0 C4460008 */ lwc1 $f6, 8($v0)
/* B5E454 800E72B4 E7A60070 */ swc1 $f6, 0x70($sp)
/* B5E458 800E72B8 C448000C */ lwc1 $f8, 0xc($v0)
/* B5E45C 800E72BC E7A80074 */ swc1 $f8, 0x74($sp)
/* B5E460 800E72C0 90590002 */ lbu $t9, 2($v0)
/* B5E464 800E72C4 A3B9006E */ sb $t9, 0x6e($sp)
/* B5E468 800E72C8 90480000 */ lbu $t0, ($v0)
/* B5E46C 800E72CC A3A8006C */ sb $t0, 0x6c($sp)
/* B5E470 800E72D0 904A0003 */ lbu $t2, 3($v0)
/* B5E474 800E72D4 A3CA0000 */ sb $t2, ($fp)
/* B5E478 800E72D8 904B0001 */ lbu $t3, 1($v0)
/* B5E47C 800E72DC A3AB006D */ sb $t3, 0x6d($sp)
/* B5E480 800E72E0 8C4C0010 */ lw $t4, 0x10($v0)
/* B5E484 800E72E4 AFAC007C */ sw $t4, 0x7c($sp)
/* B5E488 800E72E8 904D0004 */ lbu $t5, 4($v0)
/* B5E48C 800E72EC A3AD0080 */ sb $t5, 0x80($sp)
/* B5E490 800E72F0 944E0006 */ lhu $t6, 6($v0)
/* B5E494 800E72F4 A7AE0082 */ sh $t6, 0x82($sp)
/* B5E498 800E72F8 8E430000 */ lw $v1, ($s2)
/* B5E49C 800E72FC 00031AC0 */ sll $v1, $v1, 0xb
/* B5E4A0 800E7300 00031F82 */ srl $v1, $v1, 0x1e
/* B5E4A4 800E7304 1000002B */ b .L800E73B4
/* B5E4A8 800E7308 306300FF */ andi $v1, $v1, 0xff
.L800E730C:
/* B5E4AC 800E730C 8E030014 */ lw $v1, 0x14($s0)
/* B5E4B0 800E7310 C46A0044 */ lwc1 $f10, 0x44($v1)
/* B5E4B4 800E7314 8C620050 */ lw $v0, 0x50($v1)
/* B5E4B8 800E7318 E7AA0070 */ swc1 $f10, 0x70($sp)
/* B5E4BC 800E731C C4700040 */ lwc1 $f16, 0x40($v1)
/* B5E4C0 800E7320 E7B00074 */ swc1 $f16, 0x74($sp)
/* B5E4C4 800E7324 906F0007 */ lbu $t7, 7($v1)
/* B5E4C8 800E7328 A3AF006E */ sb $t7, 0x6e($sp)
/* B5E4CC 800E732C 90780001 */ lbu $t8, 1($v1)
/* B5E4D0 800E7330 57000005 */ bnezl $t8, .L800E7348
/* B5E4D4 800E7334 906A0001 */ lbu $t2, 1($v1)
/* B5E4D8 800E7338 904800D0 */ lbu $t0, 0xd0($v0)
/* B5E4DC 800E733C 10000003 */ b .L800E734C
/* B5E4E0 800E7340 A3C80000 */ sb $t0, ($fp)
/* B5E4E4 800E7344 906A0001 */ lbu $t2, 1($v1)
.L800E7348:
/* B5E4E8 800E7348 A3CA0000 */ sb $t2, ($fp)
.L800E734C:
/* B5E4EC 800E734C 904B0004 */ lbu $t3, 4($v0)
/* B5E4F0 800E7350 A3AB006C */ sb $t3, 0x6c($sp)
/* B5E4F4 800E7354 904C000C */ lbu $t4, 0xc($v0)
/* B5E4F8 800E7358 A3AC006D */ sb $t4, 0x6d($sp)
/* B5E4FC 800E735C 8C4D00CC */ lw $t5, 0xcc($v0)
/* B5E500 800E7360 AFAD007C */ sw $t5, 0x7c($sp)
/* B5E504 800E7364 904E000F */ lbu $t6, 0xf($v0)
/* B5E508 800E7368 A3AE0080 */ sb $t6, 0x80($sp)
/* B5E50C 800E736C 944F0020 */ lhu $t7, 0x20($v0)
/* B5E510 800E7370 A7AF0082 */ sh $t7, 0x82($sp)
/* B5E514 800E7374 8C58004C */ lw $t8, 0x4c($v0)
/* B5E518 800E7378 90430009 */ lbu $v1, 9($v0)
/* B5E51C 800E737C 8F190000 */ lw $t9, ($t8)
/* B5E520 800E7380 30630007 */ andi $v1, $v1, 7
/* B5E524 800E7384 306300FF */ andi $v1, $v1, 0xff
/* B5E528 800E7388 00194880 */ sll $t1, $t9, 2
/* B5E52C 800E738C 0523000A */ bgezl $t1, .L800E73B8
/* B5E530 800E7390 C606000C */ lwc1 $f6, 0xc($s0)
/* B5E534 800E7394 904A0003 */ lbu $t2, 3($v0)
/* B5E538 800E7398 314B0008 */ andi $t3, $t2, 8
/* B5E53C 800E739C 51600006 */ beql $t3, $zero, .L800E73B8
/* B5E540 800E73A0 C606000C */ lwc1 $f6, 0xc($s0)
/* B5E544 800E73A4 44809000 */ mtc1 $zero, $f18
/* B5E548 800E73A8 44802000 */ mtc1 $zero, $f4
/* B5E54C 800E73AC E7B20070 */ swc1 $f18, 0x70($sp)
/* B5E550 800E73B0 E7A40074 */ swc1 $f4, 0x74($sp)
.L800E73B4:
/* B5E554 800E73B4 C606000C */ lwc1 $f6, 0xc($s0)
.L800E73B8:
/* B5E558 800E73B8 C6080008 */ lwc1 $f8, 8($s0)
/* B5E55C 800E73BC C7B00070 */ lwc1 $f16, 0x70($sp)
/* B5E560 800E73C0 C6842860 */ lwc1 $f4, 0x2860($s4)
/* B5E564 800E73C4 46083282 */ mul.s $f10, $f6, $f8
/* B5E568 800E73C8 C7A80074 */ lwc1 $f8, 0x74($sp)
/* B5E56C 800E73CC A3A3006B */ sb $v1, 0x6b($sp)
/* B5E570 800E73D0 02202025 */ move $a0, $s1
/* B5E574 800E73D4 8FA50090 */ lw $a1, 0x90($sp)
/* B5E578 800E73D8 27A6006C */ addiu $a2, $sp, 0x6c
/* B5E57C 800E73DC 460A8482 */ mul.s $f18, $f16, $f10
/* B5E580 800E73E0 C7B00064 */ lwc1 $f16, 0x64($sp)
/* B5E584 800E73E4 46049182 */ mul.s $f6, $f18, $f4
/* B5E588 800E73E8 E7B20070 */ swc1 $f18, 0x70($sp)
/* B5E58C 800E73EC 46104282 */ mul.s $f10, $f8, $f16
/* B5E590 800E73F0 E7A60070 */ swc1 $f6, 0x70($sp)
/* B5E594 800E73F4 0C039A50 */ jal func_800E6940
/* B5E598 800E73F8 E7AA0074 */ swc1 $f10, 0x74($sp)
/* B5E59C 800E73FC 93AC006B */ lbu $t4, 0x6b($sp)
/* B5E5A0 800E7400 924F0001 */ lbu $t7, 1($s2)
/* B5E5A4 800E7404 000C68C0 */ sll $t5, $t4, 3
/* B5E5A8 800E7408 31AE0018 */ andi $t6, $t5, 0x18
/* B5E5AC 800E740C 31F8FFE7 */ andi $t8, $t7, 0xffe7
/* B5E5B0 800E7410 01D8C825 */ or $t9, $t6, $t8
/* B5E5B4 800E7414 A2590001 */ sb $t9, 1($s2)
.L800E7418:
/* B5E5B8 800E7418 8E822894 */ lw $v0, 0x2894($s4)
.L800E741C:
/* B5E5BC 800E741C 26B50001 */ addiu $s5, $s5, 1
.L800E7420:
/* B5E5C0 800E7420 02A2082A */ slt $at, $s5, $v0
/* B5E5C4 800E7424 1420FEED */ bnez $at, .L800E6FDC
/* B5E5C8 800E7428 26F700E0 */ addiu $s7, $s7, 0xe0
.L800E742C:
/* B5E5CC 800E742C 8FBF003C */ lw $ra, 0x3c($sp)
/* B5E5D0 800E7430 8FB00018 */ lw $s0, 0x18($sp)
/* B5E5D4 800E7434 8FB1001C */ lw $s1, 0x1c($sp)
/* B5E5D8 800E7438 8FB20020 */ lw $s2, 0x20($sp)
/* B5E5DC 800E743C 8FB30024 */ lw $s3, 0x24($sp)
/* B5E5E0 800E7440 8FB40028 */ lw $s4, 0x28($sp)
/* B5E5E4 800E7444 8FB5002C */ lw $s5, 0x2c($sp)
/* B5E5E8 800E7448 8FB60030 */ lw $s6, 0x30($sp)
/* B5E5EC 800E744C 8FB70034 */ lw $s7, 0x34($sp)
/* B5E5F0 800E7450 8FBE0038 */ lw $fp, 0x38($sp)
/* B5E5F4 800E7454 03E00008 */ jr $ra
/* B5E5F8 800E7458 27BD00A0 */ addiu $sp, $sp, 0xa0
glabel func_800E745C
/* B5E5FC 800E745C 908E0001 */ lbu $t6, 1($a0)
/* B5E600 800E7460 00AE082A */ slt $at, $a1, $t6
/* B5E604 800E7464 50200004 */ beql $at, $zero, .L800E7478
/* B5E608 800E7468 908F0002 */ lbu $t7, 2($a0)
/* B5E60C 800E746C 03E00008 */ jr $ra
/* B5E610 800E7470 24820008 */ addiu $v0, $a0, 8
/* B5E614 800E7474 908F0002 */ lbu $t7, 2($a0)
.L800E7478:
/* B5E618 800E7478 24830018 */ addiu $v1, $a0, 0x18
/* B5E61C 800E747C 01E5082A */ slt $at, $t7, $a1
/* B5E620 800E7480 14200003 */ bnez $at, .L800E7490
/* B5E624 800E7484 00000000 */ nop
/* B5E628 800E7488 03E00008 */ jr $ra
/* B5E62C 800E748C 24820010 */ addiu $v0, $a0, 0x10
.L800E7490:
/* B5E630 800E7490 03E00008 */ jr $ra
/* B5E634 800E7494 00601025 */ move $v0, $v1
glabel func_800E7498
/* B5E638 800E7498 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5E63C 800E749C 240100FF */ li $at, 255
/* B5E640 800E74A0 14810003 */ bne $a0, $at, .L800E74B0
/* B5E644 800E74A4 AFBF0014 */ sw $ra, 0x14($sp)
/* B5E648 800E74A8 1000002C */ b .L800E755C
/* B5E64C 800E74AC 00001025 */ move $v0, $zero
.L800E74B0:
/* B5E650 800E74B0 AFA40018 */ sw $a0, 0x18($sp)
/* B5E654 800E74B4 0C03862C */ jal func_800E18B0
/* B5E658 800E74B8 AFA5001C */ sw $a1, 0x1c($sp)
/* B5E65C 800E74BC 8FA40018 */ lw $a0, 0x18($sp)
/* B5E660 800E74C0 14400008 */ bnez $v0, .L800E74E4
/* B5E664 800E74C4 8FA5001C */ lw $a1, 0x1c($sp)
/* B5E668 800E74C8 3C068017 */ lui $a2, %hi(D_8016F180) # $a2, 0x8017
/* B5E66C 800E74CC 3C011000 */ lui $at, 0x1000
/* B5E670 800E74D0 24C6F180 */ addiu $a2, %lo(D_8016F180) # addiu $a2, $a2, -0xe80
/* B5E674 800E74D4 00817021 */ addu $t6, $a0, $at
/* B5E678 800E74D8 ACCE2980 */ sw $t6, 0x2980($a2)
/* B5E67C 800E74DC 1000001F */ b .L800E755C
/* B5E680 800E74E0 00001025 */ move $v0, $zero
.L800E74E4:
/* B5E684 800E74E4 3C068017 */ lui $a2, %hi(D_8016F180) # $a2, 0x8017
/* B5E688 800E74E8 24C6F180 */ addiu $a2, %lo(D_8016F180) # addiu $a2, $a2, -0xe80
/* B5E68C 800E74EC 8CCF2844 */ lw $t7, 0x2844($a2)
/* B5E690 800E74F0 0004C080 */ sll $t8, $a0, 2
/* B5E694 800E74F4 0304C021 */ addu $t8, $t8, $a0
/* B5E698 800E74F8 0018C080 */ sll $t8, $t8, 2
/* B5E69C 800E74FC 01F81021 */ addu $v0, $t7, $t8
/* B5E6A0 800E7500 90590000 */ lbu $t9, ($v0)
/* B5E6A4 800E7504 00044200 */ sll $t0, $a0, 8
/* B5E6A8 800E7508 01054821 */ addu $t1, $t0, $a1
/* B5E6AC 800E750C 00B9082A */ slt $at, $a1, $t9
/* B5E6B0 800E7510 14200005 */ bnez $at, .L800E7528
/* B5E6B4 800E7514 3C010300 */ lui $at, 0x300
/* B5E6B8 800E7518 01215021 */ addu $t2, $t1, $at
/* B5E6BC 800E751C ACCA2980 */ sw $t2, 0x2980($a2)
/* B5E6C0 800E7520 1000000E */ b .L800E755C
/* B5E6C4 800E7524 00001025 */ move $v0, $zero
.L800E7528:
/* B5E6C8 800E7528 8C4B0008 */ lw $t3, 8($v0)
/* B5E6CC 800E752C 00056080 */ sll $t4, $a1, 2
/* B5E6D0 800E7530 00047200 */ sll $t6, $a0, 8
/* B5E6D4 800E7534 016C6821 */ addu $t5, $t3, $t4
/* B5E6D8 800E7538 8DA30000 */ lw $v1, ($t5)
/* B5E6DC 800E753C 01C57821 */ addu $t7, $t6, $a1
/* B5E6E0 800E7540 3C010100 */ lui $at, 0x100
/* B5E6E4 800E7544 14600004 */ bnez $v1, .L800E7558
/* B5E6E8 800E7548 01E1C021 */ addu $t8, $t7, $at
/* B5E6EC 800E754C ACD82980 */ sw $t8, 0x2980($a2)
/* B5E6F0 800E7550 10000002 */ b .L800E755C
/* B5E6F4 800E7554 00601025 */ move $v0, $v1
.L800E7558:
/* B5E6F8 800E7558 00601025 */ move $v0, $v1
.L800E755C:
/* B5E6FC 800E755C 8FBF0014 */ lw $ra, 0x14($sp)
/* B5E700 800E7560 27BD0018 */ addiu $sp, $sp, 0x18
/* B5E704 800E7564 03E00008 */ jr $ra
/* B5E708 800E7568 00000000 */ nop
glabel func_800E756C
/* B5E70C 800E756C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5E710 800E7570 240100FF */ li $at, 255
/* B5E714 800E7574 AFBF0014 */ sw $ra, 0x14($sp)
/* B5E718 800E7578 14810003 */ bne $a0, $at, .L800E7588
/* B5E71C 800E757C 00A03025 */ move $a2, $a1
/* B5E720 800E7580 1000002F */ b .L800E7640
/* B5E724 800E7584 00001025 */ move $v0, $zero
.L800E7588:
/* B5E728 800E7588 AFA40018 */ sw $a0, 0x18($sp)
/* B5E72C 800E758C 0C03862C */ jal func_800E18B0
/* B5E730 800E7590 AFA6001C */ sw $a2, 0x1c($sp)
/* B5E734 800E7594 8FA40018 */ lw $a0, 0x18($sp)
/* B5E738 800E7598 14400008 */ bnez $v0, .L800E75BC
/* B5E73C 800E759C 8FA6001C */ lw $a2, 0x1c($sp)
/* B5E740 800E75A0 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5E744 800E75A4 3C011000 */ lui $at, 0x1000
/* B5E748 800E75A8 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
/* B5E74C 800E75AC 00817021 */ addu $t6, $a0, $at
/* B5E750 800E75B0 ACEE2980 */ sw $t6, 0x2980($a3)
/* B5E754 800E75B4 10000022 */ b .L800E7640
/* B5E758 800E75B8 00001025 */ move $v0, $zero
.L800E75BC:
/* B5E75C 800E75BC 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5E760 800E75C0 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
/* B5E764 800E75C4 8CEF2844 */ lw $t7, 0x2844($a3)
/* B5E768 800E75C8 0004C080 */ sll $t8, $a0, 2
/* B5E76C 800E75CC 0304C021 */ addu $t8, $t8, $a0
/* B5E770 800E75D0 0018C080 */ sll $t8, $t8, 2
/* B5E774 800E75D4 01F81021 */ addu $v0, $t7, $t8
/* B5E778 800E75D8 90590001 */ lbu $t9, 1($v0)
/* B5E77C 800E75DC 00044200 */ sll $t0, $a0, 8
/* B5E780 800E75E0 01064821 */ addu $t1, $t0, $a2
/* B5E784 800E75E4 00D9082A */ slt $at, $a2, $t9
/* B5E788 800E75E8 14200005 */ bnez $at, .L800E7600
/* B5E78C 800E75EC 3C010400 */ lui $at, 0x400
/* B5E790 800E75F0 01215021 */ addu $t2, $t1, $at
/* B5E794 800E75F4 ACEA2980 */ sw $t2, 0x2980($a3)
/* B5E798 800E75F8 10000011 */ b .L800E7640
/* B5E79C 800E75FC 00001025 */ move $v0, $zero
.L800E7600:
/* B5E7A0 800E7600 8C43000C */ lw $v1, 0xc($v0)
/* B5E7A4 800E7604 3C018000 */ lui $at, 0x8000
/* B5E7A8 800E7608 00065880 */ sll $t3, $a2, 2
/* B5E7AC 800E760C 0061082B */ sltu $at, $v1, $at
/* B5E7B0 800E7610 10200003 */ beqz $at, .L800E7620
/* B5E7B4 800E7614 006B6021 */ addu $t4, $v1, $t3
/* B5E7B8 800E7618 10000009 */ b .L800E7640
/* B5E7BC 800E761C 00001025 */ move $v0, $zero
.L800E7620:
/* B5E7C0 800E7620 8D850000 */ lw $a1, ($t4)
/* B5E7C4 800E7624 00046A00 */ sll $t5, $a0, 8
/* B5E7C8 800E7628 01A67021 */ addu $t6, $t5, $a2
/* B5E7CC 800E762C 14A00004 */ bnez $a1, .L800E7640
/* B5E7D0 800E7630 00A01025 */ move $v0, $a1
/* B5E7D4 800E7634 3C010500 */ lui $at, 0x500
/* B5E7D8 800E7638 01C17821 */ addu $t7, $t6, $at
/* B5E7DC 800E763C ACEF2980 */ sw $t7, 0x2980($a3)
.L800E7640:
/* B5E7E0 800E7640 8FBF0014 */ lw $ra, 0x14($sp)
/* B5E7E4 800E7644 27BD0018 */ addiu $sp, $sp, 0x18
/* B5E7E8 800E7648 03E00008 */ jr $ra
/* B5E7EC 800E764C 00000000 */ nop
glabel func_800E7650
/* B5E7F0 800E7650 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5E7F4 800E7654 240100FF */ li $at, 255
/* B5E7F8 800E7658 AFBF0014 */ sw $ra, 0x14($sp)
/* B5E7FC 800E765C 14810003 */ bne $a0, $at, .L800E766C
/* B5E800 800E7660 00A03025 */ move $a2, $a1
/* B5E804 800E7664 10000033 */ b .L800E7734
/* B5E808 800E7668 00001025 */ move $v0, $zero
.L800E766C:
/* B5E80C 800E766C AFA40018 */ sw $a0, 0x18($sp)
/* B5E810 800E7670 0C03862C */ jal func_800E18B0
/* B5E814 800E7674 AFA6001C */ sw $a2, 0x1c($sp)
/* B5E818 800E7678 8FA40018 */ lw $a0, 0x18($sp)
/* B5E81C 800E767C 14400008 */ bnez $v0, .L800E76A0
/* B5E820 800E7680 8FA6001C */ lw $a2, 0x1c($sp)
/* B5E824 800E7684 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5E828 800E7688 3C011000 */ lui $at, 0x1000
/* B5E82C 800E768C 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
/* B5E830 800E7690 00817021 */ addu $t6, $a0, $at
/* B5E834 800E7694 ACEE2980 */ sw $t6, 0x2980($a3)
/* B5E838 800E7698 10000026 */ b .L800E7734
/* B5E83C 800E769C 00001025 */ move $v0, $zero
.L800E76A0:
/* B5E840 800E76A0 3C078017 */ lui $a3, %hi(D_8016F180) # $a3, 0x8017
/* B5E844 800E76A4 24E7F180 */ addiu $a3, %lo(D_8016F180) # addiu $a3, $a3, -0xe80
/* B5E848 800E76A8 8CEF2844 */ lw $t7, 0x2844($a3)
/* B5E84C 800E76AC 0004C080 */ sll $t8, $a0, 2
/* B5E850 800E76B0 0304C021 */ addu $t8, $t8, $a0
/* B5E854 800E76B4 0018C080 */ sll $t8, $t8, 2
/* B5E858 800E76B8 01F81021 */ addu $v0, $t7, $t8
/* B5E85C 800E76BC 94590004 */ lhu $t9, 4($v0)
/* B5E860 800E76C0 00044200 */ sll $t0, $a0, 8
/* B5E864 800E76C4 01064821 */ addu $t1, $t0, $a2
/* B5E868 800E76C8 00D9082A */ slt $at, $a2, $t9
/* B5E86C 800E76CC 14200005 */ bnez $at, .L800E76E4
/* B5E870 800E76D0 3C010400 */ lui $at, 0x400
/* B5E874 800E76D4 01215021 */ addu $t2, $t1, $at
/* B5E878 800E76D8 ACEA2980 */ sw $t2, 0x2980($a3)
/* B5E87C 800E76DC 10000015 */ b .L800E7734
/* B5E880 800E76E0 00001025 */ move $v0, $zero
.L800E76E4:
/* B5E884 800E76E4 8C450010 */ lw $a1, 0x10($v0)
/* B5E888 800E76E8 3C018000 */ lui $at, 0x8000
/* B5E88C 800E76EC 000658C0 */ sll $t3, $a2, 3
/* B5E890 800E76F0 00A1082B */ sltu $at, $a1, $at
/* B5E894 800E76F4 10200003 */ beqz $at, .L800E7704
/* B5E898 800E76F8 00AB1821 */ addu $v1, $a1, $t3
/* B5E89C 800E76FC 1000000D */ b .L800E7734
/* B5E8A0 800E7700 00001025 */ move $v0, $zero
.L800E7704:
/* B5E8A4 800E7704 14600005 */ bnez $v1, .L800E771C
/* B5E8A8 800E7708 00046200 */ sll $t4, $a0, 8
/* B5E8AC 800E770C 01866821 */ addu $t5, $t4, $a2
/* B5E8B0 800E7710 3C010500 */ lui $at, 0x500
/* B5E8B4 800E7714 01A17021 */ addu $t6, $t5, $at
/* B5E8B8 800E7718 ACEE2980 */ sw $t6, 0x2980($a3)
.L800E771C:
/* B5E8BC 800E771C 8C6F0000 */ lw $t7, ($v1)
/* B5E8C0 800E7720 00601025 */ move $v0, $v1
/* B5E8C4 800E7724 15E00003 */ bnez $t7, .L800E7734
/* B5E8C8 800E7728 00000000 */ nop
/* B5E8CC 800E772C 10000001 */ b .L800E7734
/* B5E8D0 800E7730 00001025 */ move $v0, $zero
.L800E7734:
/* B5E8D4 800E7734 8FBF0014 */ lw $ra, 0x14($sp)
/* B5E8D8 800E7738 27BD0018 */ addiu $sp, $sp, 0x18
/* B5E8DC 800E773C 03E00008 */ jr $ra
/* B5E8E0 800E7740 00000000 */ nop
glabel func_800E7744
/* B5E8E4 800E7744 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5E8E8 800E7748 240100FF */ li $at, 255
/* B5E8EC 800E774C AFBF0014 */ sw $ra, 0x14($sp)
/* B5E8F0 800E7750 14A10003 */ bne $a1, $at, .L800E7760
/* B5E8F4 800E7754 AFA40018 */ sw $a0, 0x18($sp)
/* B5E8F8 800E7758 10000047 */ b .L800E7878
/* B5E8FC 800E775C 2402FFFF */ li $v0, -1
.L800E7760:
/* B5E900 800E7760 00A02025 */ move $a0, $a1
/* B5E904 800E7764 AFA5001C */ sw $a1, 0x1c($sp)
/* B5E908 800E7768 AFA60020 */ sw $a2, 0x20($sp)
/* B5E90C 800E776C 0C03862C */ jal func_800E18B0
/* B5E910 800E7770 AFA70024 */ sw $a3, 0x24($sp)
/* B5E914 800E7774 8FA30018 */ lw $v1, 0x18($sp)
/* B5E918 800E7778 8FA5001C */ lw $a1, 0x1c($sp)
/* B5E91C 800E777C 8FA60020 */ lw $a2, 0x20($sp)
/* B5E920 800E7780 14400003 */ bnez $v0, .L800E7790
/* B5E924 800E7784 8FA70024 */ lw $a3, 0x24($sp)
/* B5E928 800E7788 1000003B */ b .L800E7878
/* B5E92C 800E778C 2402FFFE */ li $v0, -2
.L800E7790:
/* B5E930 800E7790 10600006 */ beqz $v1, .L800E77AC
/* B5E934 800E7794 3C0E8017 */ lui $t6, %hi(D_801719C4) # $t6, 0x8017
/* B5E938 800E7798 24010001 */ li $at, 1
/* B5E93C 800E779C 10610013 */ beq $v1, $at, .L800E77EC
/* B5E940 800E77A0 3C0A8017 */ lui $t2, %hi(D_801719C4) # $t2, 0x8017
/* B5E944 800E77A4 10000024 */ b .L800E7838
/* B5E948 800E77A8 3C088017 */ lui $t0, %hi(D_801719C4) # $t0, 0x8017
.L800E77AC:
/* B5E94C 800E77AC 8DCE19C4 */ lw $t6, %lo(D_801719C4)($t6)
/* B5E950 800E77B0 00057880 */ sll $t7, $a1, 2
/* B5E954 800E77B4 01E57821 */ addu $t7, $t7, $a1
/* B5E958 800E77B8 000F7880 */ sll $t7, $t7, 2
/* B5E95C 800E77BC 01CF1021 */ addu $v0, $t6, $t7
/* B5E960 800E77C0 90580001 */ lbu $t8, 1($v0)
/* B5E964 800E77C4 00D8082A */ slt $at, $a2, $t8
/* B5E968 800E77C8 54200004 */ bnezl $at, .L800E77DC
/* B5E96C 800E77CC 8C59000C */ lw $t9, 0xc($v0)
/* B5E970 800E77D0 10000029 */ b .L800E7878
/* B5E974 800E77D4 2402FFFD */ li $v0, -3
/* B5E978 800E77D8 8C59000C */ lw $t9, 0xc($v0)
.L800E77DC:
/* B5E97C 800E77DC 00064080 */ sll $t0, $a2, 2
/* B5E980 800E77E0 03284821 */ addu $t1, $t9, $t0
/* B5E984 800E77E4 10000023 */ b .L800E7874
/* B5E988 800E77E8 AD270000 */ sw $a3, ($t1)
.L800E77EC:
/* B5E98C 800E77EC 8D4A19C4 */ lw $t2, %lo(D_801719C4)($t2)
/* B5E990 800E77F0 00055880 */ sll $t3, $a1, 2
/* B5E994 800E77F4 01655821 */ addu $t3, $t3, $a1
/* B5E998 800E77F8 000B5880 */ sll $t3, $t3, 2
/* B5E99C 800E77FC 014B1021 */ addu $v0, $t2, $t3
/* B5E9A0 800E7800 944C0004 */ lhu $t4, 4($v0)
/* B5E9A4 800E7804 00CC082A */ slt $at, $a2, $t4
/* B5E9A8 800E7808 54200004 */ bnezl $at, .L800E781C
/* B5E9AC 800E780C 8C4D0010 */ lw $t5, 0x10($v0)
/* B5E9B0 800E7810 10000019 */ b .L800E7878
/* B5E9B4 800E7814 2402FFFD */ li $v0, -3
/* B5E9B8 800E7818 8C4D0010 */ lw $t5, 0x10($v0)
.L800E781C:
/* B5E9BC 800E781C 8CF90000 */ lw $t9, ($a3)
/* B5E9C0 800E7820 000670C0 */ sll $t6, $a2, 3
/* B5E9C4 800E7824 01AE7821 */ addu $t7, $t5, $t6
/* B5E9C8 800E7828 ADF90000 */ sw $t9, ($t7)
/* B5E9CC 800E782C 8CF80004 */ lw $t8, 4($a3)
/* B5E9D0 800E7830 10000010 */ b .L800E7874
/* B5E9D4 800E7834 ADF80004 */ sw $t8, 4($t7)
.L800E7838:
/* B5E9D8 800E7838 8D0819C4 */ lw $t0, %lo(D_801719C4)($t0)
/* B5E9DC 800E783C 00054880 */ sll $t1, $a1, 2
/* B5E9E0 800E7840 01254821 */ addu $t1, $t1, $a1
/* B5E9E4 800E7844 00094880 */ sll $t1, $t1, 2
/* B5E9E8 800E7848 01091021 */ addu $v0, $t0, $t1
/* B5E9EC 800E784C 904A0000 */ lbu $t2, ($v0)
/* B5E9F0 800E7850 00CA082A */ slt $at, $a2, $t2
/* B5E9F4 800E7854 54200004 */ bnezl $at, .L800E7868
/* B5E9F8 800E7858 8C4B0008 */ lw $t3, 8($v0)
/* B5E9FC 800E785C 10000006 */ b .L800E7878
/* B5EA00 800E7860 2402FFFD */ li $v0, -3
/* B5EA04 800E7864 8C4B0008 */ lw $t3, 8($v0)
.L800E7868:
/* B5EA08 800E7868 00066080 */ sll $t4, $a2, 2
/* B5EA0C 800E786C 016C6821 */ addu $t5, $t3, $t4
/* B5EA10 800E7870 ADA70000 */ sw $a3, ($t5)
.L800E7874:
/* B5EA14 800E7874 00001025 */ move $v0, $zero
.L800E7878:
/* B5EA18 800E7878 8FBF0014 */ lw $ra, 0x14($sp)
/* B5EA1C 800E787C 27BD0018 */ addiu $sp, $sp, 0x18
/* B5EA20 800E7880 03E00008 */ jr $ra
/* B5EA24 800E7884 00000000 */ nop
glabel func_800E7888
/* B5EA28 800E7888 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B5EA2C 800E788C AFB00018 */ sw $s0, 0x18($sp)
/* B5EA30 800E7890 2408FFFF */ li $t0, -1
/* B5EA34 800E7894 00808025 */ move $s0, $a0
/* B5EA38 800E7898 AFBF001C */ sw $ra, 0x1c($sp)
/* B5EA3C 800E789C 108800AB */ beq $a0, $t0, .L800E7B4C
/* B5EA40 800E78A0 AFA5002C */ sw $a1, 0x2c($sp)
/* B5EA44 800E78A4 908E0000 */ lbu $t6, ($a0)
/* B5EA48 800E78A8 8C82002C */ lw $v0, 0x2c($a0)
/* B5EA4C 800E78AC 31CFFFF7 */ andi $t7, $t6, 0xfff7
/* B5EA50 800E78B0 104000A6 */ beqz $v0, .L800E7B4C
/* B5EA54 800E78B4 A08F0000 */ sb $t7, ($a0)
/* B5EA58 800E78B8 8C580048 */ lw $t8, 0x48($v0)
/* B5EA5C 800E78BC 00403025 */ move $a2, $v0
/* B5EA60 800E78C0 54980003 */ bnel $a0, $t8, .L800E78D0
/* B5EA64 800E78C4 8CC20044 */ lw $v0, 0x44($a2)
/* B5EA68 800E78C8 AC480048 */ sw $t0, 0x48($v0)
/* B5EA6C 800E78CC 8CC20044 */ lw $v0, 0x44($a2)
.L800E78D0:
/* B5EA70 800E78D0 52020014 */ beql $s0, $v0, .L800E7924
/* B5EA74 800E78D4 90CF0070 */ lbu $t7, 0x70($a2)
/* B5EA78 800E78D8 5502009D */ bnel $t0, $v0, .L800E7B50
/* B5EA7C 800E78DC 8FBF001C */ lw $ra, 0x1c($sp)
/* B5EA80 800E78E0 8CD90048 */ lw $t9, 0x48($a2)
/* B5EA84 800E78E4 5519009A */ bnel $t0, $t9, .L800E7B50
/* B5EA88 800E78E8 8FBF001C */ lw $ra, 0x1c($sp)
/* B5EA8C 800E78EC 8CCA0040 */ lw $t2, 0x40($a2)
/* B5EA90 800E78F0 8FAB002C */ lw $t3, 0x2c($sp)
/* B5EA94 800E78F4 160A0095 */ bne $s0, $t2, .L800E7B4C
/* B5EA98 800E78F8 24090006 */ li $t1, 6
/* B5EA9C 800E78FC 51690094 */ beql $t3, $t1, .L800E7B50
/* B5EAA0 800E7900 8FBF001C */ lw $ra, 0x1c($sp)
/* B5EAA4 800E7904 90CD0070 */ lbu $t5, 0x70($a2)
/* B5EAA8 800E7908 3C018017 */ lui $at, %hi(D_801719E4)
/* B5EAAC 800E790C C42419E4 */ lwc1 $f4, %lo(D_801719E4)($at)
/* B5EAB0 800E7910 35AE0010 */ ori $t6, $t5, 0x10
/* B5EAB4 800E7914 A0CE0070 */ sb $t6, 0x70($a2)
/* B5EAB8 800E7918 1000008C */ b .L800E7B4C
/* B5EABC 800E791C E4C4007C */ swc1 $f4, 0x7c($a2)
/* B5EAC0 800E7920 90CF0070 */ lbu $t7, 0x70($a2)
.L800E7924:
/* B5EAC4 800E7924 24090006 */ li $t1, 6
/* B5EAC8 800E7928 31F8000F */ andi $t8, $t7, 0xf
/* B5EACC 800E792C 5138007E */ beql $t1, $t8, .L800E7B28
/* B5EAD0 800E7930 8FB9002C */ lw $t9, 0x2c($sp)
/* B5EAD4 800E7934 C6060044 */ lwc1 $f6, 0x44($s0)
/* B5EAD8 800E7938 24C4004C */ addiu $a0, $a2, 0x4c
/* B5EADC 800E793C E4860008 */ swc1 $f6, 8($a0)
/* B5EAE0 800E7940 C6080040 */ lwc1 $f8, 0x40($s0)
/* B5EAE4 800E7944 E488000C */ swc1 $f8, 0xc($a0)
/* B5EAE8 800E7948 92190007 */ lbu $t9, 7($s0)
/* B5EAEC 800E794C A0990002 */ sb $t9, 2($a0)
/* B5EAF0 800E7950 8E020050 */ lw $v0, 0x50($s0)
/* B5EAF4 800E7954 5040003D */ beql $v0, $zero, .L800E7A4C
/* B5EAF8 800E7958 920D0001 */ lbu $t5, 1($s0)
/* B5EAFC 800E795C 904A0004 */ lbu $t2, 4($v0)
/* B5EB00 800E7960 00403825 */ move $a3, $v0
/* B5EB04 800E7964 00801825 */ move $v1, $a0
/* B5EB08 800E7968 A08A0000 */ sb $t2, ($a0)
/* B5EB0C 800E796C 904B000C */ lbu $t3, 0xc($v0)
/* B5EB10 800E7970 24050010 */ li $a1, 16
/* B5EB14 800E7974 A08B0001 */ sb $t3, 1($a0)
/* B5EB18 800E7978 8C4C00CC */ lw $t4, 0xcc($v0)
/* B5EB1C 800E797C 00001025 */ move $v0, $zero
/* B5EB20 800E7980 11800016 */ beqz $t4, .L800E79DC
/* B5EB24 800E7984 AC8C0010 */ sw $t4, 0x10($a0)
.L800E7988:
/* B5EB28 800E7988 8C8E0010 */ lw $t6, 0x10($a0)
/* B5EB2C 800E798C 24630008 */ addiu $v1, $v1, 8
/* B5EB30 800E7990 01C27821 */ addu $t7, $t6, $v0
/* B5EB34 800E7994 85F80000 */ lh $t8, ($t7)
/* B5EB38 800E7998 A478000C */ sh $t8, 0xc($v1)
/* B5EB3C 800E799C 8C990010 */ lw $t9, 0x10($a0)
/* B5EB40 800E79A0 03225021 */ addu $t2, $t9, $v0
/* B5EB44 800E79A4 854B0002 */ lh $t3, 2($t2)
/* B5EB48 800E79A8 A46B000E */ sh $t3, 0xe($v1)
/* B5EB4C 800E79AC 8C8C0010 */ lw $t4, 0x10($a0)
/* B5EB50 800E79B0 01826821 */ addu $t5, $t4, $v0
/* B5EB54 800E79B4 85AE0004 */ lh $t6, 4($t5)
/* B5EB58 800E79B8 A46E0010 */ sh $t6, 0x10($v1)
/* B5EB5C 800E79BC 8C8F0010 */ lw $t7, 0x10($a0)
/* B5EB60 800E79C0 01E2C021 */ addu $t8, $t7, $v0
/* B5EB64 800E79C4 87190006 */ lh $t9, 6($t8)
/* B5EB68 800E79C8 24420008 */ addiu $v0, $v0, 8
/* B5EB6C 800E79CC 1445FFEE */ bne $v0, $a1, .L800E7988
/* B5EB70 800E79D0 A4790012 */ sh $t9, 0x12($v1)
/* B5EB74 800E79D4 248A0014 */ addiu $t2, $a0, 0x14
/* B5EB78 800E79D8 AC8A0010 */ sw $t2, 0x10($a0)
.L800E79DC:
/* B5EB7C 800E79DC 94EB0020 */ lhu $t3, 0x20($a3)
/* B5EB80 800E79E0 A48B0006 */ sh $t3, 6($a0)
/* B5EB84 800E79E4 90EC000F */ lbu $t4, 0xf($a3)
/* B5EB88 800E79E8 A08C0004 */ sb $t4, 4($a0)
/* B5EB8C 800E79EC 8CED004C */ lw $t5, 0x4c($a3)
/* B5EB90 800E79F0 8DAE0000 */ lw $t6, ($t5)
/* B5EB94 800E79F4 000EC080 */ sll $t8, $t6, 2
/* B5EB98 800E79F8 07030009 */ bgezl $t8, .L800E7A20
/* B5EB9C 800E79FC 920E0001 */ lbu $t6, 1($s0)
/* B5EBA0 800E7A00 90F90003 */ lbu $t9, 3($a3)
/* B5EBA4 800E7A04 332A0008 */ andi $t2, $t9, 8
/* B5EBA8 800E7A08 51400005 */ beql $t2, $zero, .L800E7A20
/* B5EBAC 800E7A0C 920E0001 */ lbu $t6, 1($s0)
/* B5EBB0 800E7A10 90CC00C0 */ lbu $t4, 0xc0($a2)
/* B5EBB4 800E7A14 358D0020 */ ori $t5, $t4, 0x20
/* B5EBB8 800E7A18 A0CD00C0 */ sb $t5, 0xc0($a2)
/* B5EBBC 800E7A1C 920E0001 */ lbu $t6, 1($s0)
.L800E7A20:
/* B5EBC0 800E7A20 55C00005 */ bnezl $t6, .L800E7A38
/* B5EBC4 800E7A24 920A0001 */ lbu $t2, 1($s0)
/* B5EBC8 800E7A28 90F800D0 */ lbu $t8, 0xd0($a3)
/* B5EBCC 800E7A2C 10000003 */ b .L800E7A3C
/* B5EBD0 800E7A30 A0980003 */ sb $t8, 3($a0)
/* B5EBD4 800E7A34 920A0001 */ lbu $t2, 1($s0)
.L800E7A38:
/* B5EBD8 800E7A38 A08A0003 */ sb $t2, 3($a0)
.L800E7A3C:
/* B5EBDC 800E7A3C 90EB0006 */ lbu $t3, 6($a3)
/* B5EBE0 800E7A40 10000005 */ b .L800E7A58
/* B5EBE4 800E7A44 A0CB0030 */ sb $t3, 0x30($a2)
/* B5EBE8 800E7A48 920D0001 */ lbu $t5, 1($s0)
.L800E7A4C:
/* B5EBEC 800E7A4C 240E0001 */ li $t6, 1
/* B5EBF0 800E7A50 A08D0003 */ sb $t5, 3($a0)
/* B5EBF4 800E7A54 A0CE0030 */ sb $t6, 0x30($a2)
.L800E7A58:
/* B5EBF8 800E7A58 8CCF0044 */ lw $t7, 0x44($a2)
/* B5EBFC 800E7A5C ACC80044 */ sw $t0, 0x44($a2)
/* B5EC00 800E7A60 24010007 */ li $at, 7
/* B5EC04 800E7A64 ACCF0040 */ sw $t7, 0x40($a2)
/* B5EC08 800E7A68 8FB8002C */ lw $t8, 0x2c($sp)
/* B5EC0C 800E7A6C 240C0002 */ li $t4, 2
/* B5EC10 800E7A70 5701000A */ bnel $t8, $at, .L800E7A9C
/* B5EC14 800E7A74 90CF0070 */ lbu $t7, 0x70($a2)
/* B5EC18 800E7A78 90CA0070 */ lbu $t2, 0x70($a2)
/* B5EC1C 800E7A7C 3C018017 */ lui $at, %hi(D_801719E4)
/* B5EC20 800E7A80 C42A19E4 */ lwc1 $f10, %lo(D_801719E4)($at)
/* B5EC24 800E7A84 354B0010 */ ori $t3, $t2, 0x10
/* B5EC28 800E7A88 A0CB0070 */ sb $t3, 0x70($a2)
/* B5EC2C 800E7A8C A0CC0034 */ sb $t4, 0x34($a2)
/* B5EC30 800E7A90 10000024 */ b .L800E7B24
/* B5EC34 800E7A94 E4CA007C */ swc1 $f10, 0x7c($a2)
/* B5EC38 800E7A98 90CF0070 */ lbu $t7, 0x70($a2)
.L800E7A9C:
/* B5EC3C 800E7A9C 240D0001 */ li $t5, 1
/* B5EC40 800E7AA0 A0CD0034 */ sb $t5, 0x34($a2)
/* B5EC44 800E7AA4 35F80020 */ ori $t8, $t7, 0x20
/* B5EC48 800E7AA8 A0D80070 */ sb $t8, 0x70($a2)
/* B5EC4C 800E7AAC 92020018 */ lbu $v0, 0x18($s0)
/* B5EC50 800E7AB0 3C0E8017 */ lui $t6, %hi(D_801726A0) # $t6, 0x8017
/* B5EC54 800E7AB4 1440000A */ bnez $v0, .L800E7AE0
/* B5EC58 800E7AB8 00000000 */ nop
/* B5EC5C 800E7ABC 8E0A0050 */ lw $t2, 0x50($s0)
/* B5EC60 800E7AC0 3C198017 */ lui $t9, %hi(D_801726A0) # $t9, 0x8017
/* B5EC64 800E7AC4 8F3926A0 */ lw $t9, %lo(D_801726A0)($t9)
/* B5EC68 800E7AC8 914B007C */ lbu $t3, 0x7c($t2)
/* B5EC6C 800E7ACC 000B6080 */ sll $t4, $t3, 2
/* B5EC70 800E7AD0 032C6821 */ addu $t5, $t9, $t4
/* B5EC74 800E7AD4 C5B00000 */ lwc1 $f16, ($t5)
/* B5EC78 800E7AD8 10000006 */ b .L800E7AF4
/* B5EC7C 800E7ADC E4D0007C */ swc1 $f16, 0x7c($a2)
.L800E7AE0:
/* B5EC80 800E7AE0 8DCE26A0 */ lw $t6, %lo(D_801726A0)($t6)
/* B5EC84 800E7AE4 00027880 */ sll $t7, $v0, 2
/* B5EC88 800E7AE8 01CFC021 */ addu $t8, $t6, $t7
/* B5EC8C 800E7AEC C7120000 */ lwc1 $f18, ($t8)
/* B5EC90 800E7AF0 E4D2007C */ swc1 $f18, 0x7c($a2)
.L800E7AF4:
/* B5EC94 800E7AF4 8E0A0050 */ lw $t2, 0x50($s0)
/* B5EC98 800E7AF8 C4C80080 */ lwc1 $f8, 0x80($a2)
/* B5EC9C 800E7AFC 3C013B80 */ li $at, 0x3B800000 # 0.000000
/* B5ECA0 800E7B00 914B007D */ lbu $t3, 0x7d($t2)
/* B5ECA4 800E7B04 44818000 */ mtc1 $at, $f16
/* B5ECA8 800E7B08 448B2000 */ mtc1 $t3, $f4
/* B5ECAC 800E7B0C 00000000 */ nop
/* B5ECB0 800E7B10 468021A0 */ cvt.s.w $f6, $f4
/* B5ECB4 800E7B14 46083282 */ mul.s $f10, $f6, $f8
/* B5ECB8 800E7B18 00000000 */ nop
/* B5ECBC 800E7B1C 46105482 */ mul.s $f18, $f10, $f16
/* B5ECC0 800E7B20 E4D20074 */ swc1 $f18, 0x74($a2)
.L800E7B24:
/* B5ECC4 800E7B24 8FB9002C */ lw $t9, 0x2c($sp)
.L800E7B28:
/* B5ECC8 800E7B28 00C02025 */ move $a0, $a2
/* B5ECCC 800E7B2C 57290008 */ bnel $t9, $t1, .L800E7B50
/* B5ECD0 800E7B30 8FBF001C */ lw $ra, 0x1c($sp)
/* B5ECD4 800E7B34 0C03A037 */ jal func_800E80DC
/* B5ECD8 800E7B38 AFA60024 */ sw $a2, 0x24($sp)
/* B5ECDC 800E7B3C 8FA50024 */ lw $a1, 0x24($sp)
/* B5ECE0 800E7B40 8CA4000C */ lw $a0, 0xc($a1)
/* B5ECE4 800E7B44 0C03A027 */ jal func_800E809C
/* B5ECE8 800E7B48 24840010 */ addiu $a0, $a0, 0x10
.L800E7B4C:
/* B5ECEC 800E7B4C 8FBF001C */ lw $ra, 0x1c($sp)
.L800E7B50:
/* B5ECF0 800E7B50 8FB00018 */ lw $s0, 0x18($sp)
/* B5ECF4 800E7B54 27BD0028 */ addiu $sp, $sp, 0x28
/* B5ECF8 800E7B58 03E00008 */ jr $ra
/* B5ECFC 800E7B5C 00000000 */ nop
glabel func_800E7B60
/* B5ED00 800E7B60 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5ED04 800E7B64 AFBF0014 */ sw $ra, 0x14($sp)
/* B5ED08 800E7B68 0C039E22 */ jal func_800E7888
/* B5ED0C 800E7B6C 24050006 */ li $a1, 6
/* B5ED10 800E7B70 8FBF0014 */ lw $ra, 0x14($sp)
/* B5ED14 800E7B74 27BD0018 */ addiu $sp, $sp, 0x18
/* B5ED18 800E7B78 03E00008 */ jr $ra
/* B5ED1C 800E7B7C 00000000 */ nop
glabel func_800E7B80
/* B5ED20 800E7B80 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5ED24 800E7B84 AFBF0014 */ sw $ra, 0x14($sp)
/* B5ED28 800E7B88 0C039E22 */ jal func_800E7888
/* B5ED2C 800E7B8C 24050007 */ li $a1, 7
/* B5ED30 800E7B90 8FBF0014 */ lw $ra, 0x14($sp)
/* B5ED34 800E7B94 27BD0018 */ addiu $sp, $sp, 0x18
/* B5ED38 800E7B98 03E00008 */ jr $ra
/* B5ED3C 800E7B9C 00000000 */ nop
glabel func_800E7BA0
/* B5ED40 800E7BA0 28C10080 */ slti $at, $a2, 0x80
/* B5ED44 800E7BA4 10200002 */ beqz $at, .L800E7BB0
/* B5ED48 800E7BA8 00001825 */ move $v1, $zero
/* B5ED4C 800E7BAC 24060080 */ li $a2, 128
.L800E7BB0:
/* B5ED50 800E7BB0 90AE0020 */ lbu $t6, 0x20($a1)
/* B5ED54 800E7BB4 C4A00030 */ lwc1 $f0, 0x30($a1)
/* B5ED58 800E7BB8 11C0000D */ beqz $t6, .L800E7BF0
/* B5ED5C 800E7BBC 46000086 */ mov.s $f2, $f0
/* B5ED60 800E7BC0 C4AC0028 */ lwc1 $f12, 0x28($a1)
/* B5ED64 800E7BC4 44802000 */ mtc1 $zero, $f4
/* B5ED68 800E7BC8 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B5ED6C 800E7BCC 460C203C */ c.lt.s $f4, $f12
/* B5ED70 800E7BD0 00000000 */ nop
/* B5ED74 800E7BD4 45000006 */ bc1f .L800E7BF0
/* B5ED78 800E7BD8 00000000 */ nop
/* B5ED7C 800E7BDC 44813000 */ mtc1 $at, $f6
/* B5ED80 800E7BE0 00000000 */ nop
/* B5ED84 800E7BE4 46066200 */ add.s $f8, $f12, $f6
/* B5ED88 800E7BE8 46081082 */ mul.s $f2, $f2, $f8
/* B5ED8C 800E7BEC 00000000 */ nop
.L800E7BF0:
/* B5ED90 800E7BF0 3C018015 */ lui $at, %hi(D_801495D4)
/* B5ED94 800E7BF4 C42A95D4 */ lwc1 $f10, %lo(D_801495D4)($at)
/* B5ED98 800E7BF8 3C018015 */ lui $at, %hi(D_801495DC)
/* B5ED9C 800E7BFC 460A103C */ c.lt.s $f2, $f10
/* B5EDA0 800E7C00 00000000 */ nop
/* B5EDA4 800E7C04 45000004 */ bc1f .L800E7C18
/* B5EDA8 800E7C08 00000000 */ nop
/* B5EDAC 800E7C0C 3C018015 */ lui $at, %hi(D_801495D8)
/* B5EDB0 800E7C10 10000017 */ b .L800E7C70
/* B5EDB4 800E7C14 C42295D8 */ lwc1 $f2, %lo(D_801495D8)($at)
.L800E7C18:
/* B5EDB8 800E7C18 C43095DC */ lwc1 $f16, %lo(D_801495DC)($at)
/* B5EDBC 800E7C1C 24030001 */ li $v1, 1
/* B5EDC0 800E7C20 3C018015 */ lui $at, %hi(D_801495E4)
/* B5EDC4 800E7C24 4610103C */ c.lt.s $f2, $f16
/* B5EDC8 800E7C28 00000000 */ nop
/* B5EDCC 800E7C2C 45000004 */ bc1f .L800E7C40
/* B5EDD0 800E7C30 00000000 */ nop
/* B5EDD4 800E7C34 3C018015 */ lui $at, %hi(D_801495E0)
/* B5EDD8 800E7C38 1000000D */ b .L800E7C70
/* B5EDDC 800E7C3C C42295E0 */ lwc1 $f2, %lo(D_801495E0)($at)
.L800E7C40:
/* B5EDE0 800E7C40 C43295E4 */ lwc1 $f18, %lo(D_801495E4)($at)
/* B5EDE4 800E7C44 24030003 */ li $v1, 3
/* B5EDE8 800E7C48 3C018015 */ lui $at, %hi(D_801495EC)
/* B5EDEC 800E7C4C 4612103C */ c.lt.s $f2, $f18
/* B5EDF0 800E7C50 00000000 */ nop
/* B5EDF4 800E7C54 45000005 */ bc1f .L800E7C6C
/* B5EDF8 800E7C58 00000000 */ nop
/* B5EDFC 800E7C5C 3C018015 */ lui $at, %hi(D_801495E8)
/* B5EE00 800E7C60 24030002 */ li $v1, 2
/* B5EE04 800E7C64 10000002 */ b .L800E7C70
/* B5EE08 800E7C68 C42295E8 */ lwc1 $f2, %lo(D_801495E8)($at)
.L800E7C6C:
/* B5EE0C 800E7C6C C42295EC */ lwc1 $f2, %lo(D_801495EC)($at)
.L800E7C70:
/* B5EE10 800E7C70 46020102 */ mul.s $f4, $f0, $f2
/* B5EE14 800E7C74 00067880 */ sll $t7, $a2, 2
/* B5EE18 800E7C78 3C188013 */ lui $t8, %hi(D_8012EE90)
/* B5EE1C 800E7C7C 030FC021 */ addu $t8, $t8, $t7
/* B5EE20 800E7C80 0003C9C0 */ sll $t9, $v1, 7
/* B5EE24 800E7C84 00601025 */ move $v0, $v1
/* B5EE28 800E7C88 E4A40030 */ swc1 $f4, 0x30($a1)
/* B5EE2C 800E7C8C A0860031 */ sb $a2, 0x31($a0)
/* B5EE30 800E7C90 A0830032 */ sb $v1, 0x32($a0)
/* B5EE34 800E7C94 8F18EE90 */ lw $t8, %lo(D_8012EE90)($t8)
/* B5EE38 800E7C98 03194021 */ addu $t0, $t8, $t9
/* B5EE3C 800E7C9C 03E00008 */ jr $ra
/* B5EE40 800E7CA0 AC8800D0 */ sw $t0, 0xd0($a0)
glabel func_800E7CA4
/* B5EE44 800E7CA4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B5EE48 800E7CA8 AFBF0014 */ sw $ra, 0x14($sp)
/* B5EE4C 800E7CAC 90A60002 */ lbu $a2, 2($a1)
/* B5EE50 800E7CB0 240100FF */ li $at, 255
/* B5EE54 800E7CB4 54C10004 */ bnel $a2, $at, .L800E7CC8
/* B5EE58 800E7CB8 90830032 */ lbu $v1, 0x32($a0)
/* B5EE5C 800E7CBC 8CAE0050 */ lw $t6, 0x50($a1)
/* B5EE60 800E7CC0 85C60024 */ lh $a2, 0x24($t6)
/* B5EE64 800E7CC4 90830032 */ lbu $v1, 0x32($a0)
.L800E7CC8:
/* B5EE68 800E7CC8 AFA40020 */ sw $a0, 0x20($sp)
/* B5EE6C 800E7CCC 0C039EE8 */ jal func_800E7BA0
/* B5EE70 800E7CD0 AFA3001C */ sw $v1, 0x1c($sp)
/* B5EE74 800E7CD4 8FA3001C */ lw $v1, 0x1c($sp)
/* B5EE78 800E7CD8 00027880 */ sll $t7, $v0, 2
/* B5EE7C 800E7CDC 8FA40020 */ lw $a0, 0x20($sp)
/* B5EE80 800E7CE0 10430002 */ beq $v0, $v1, .L800E7CEC
/* B5EE84 800E7CE4 01E3C021 */ addu $t8, $t7, $v1
/* B5EE88 800E7CE8 A09800C6 */ sb $t8, 0xc6($a0)
.L800E7CEC:
/* B5EE8C 800E7CEC 8FBF0014 */ lw $ra, 0x14($sp)
/* B5EE90 800E7CF0 27BD0020 */ addiu $sp, $sp, 0x20
/* B5EE94 800E7CF4 03E00008 */ jr $ra
/* B5EE98 800E7CF8 00000000 */ nop
glabel func_800E7CFC
/* B5EE9C 800E7CFC AC840000 */ sw $a0, ($a0)
/* B5EEA0 800E7D00 AC840004 */ sw $a0, 4($a0)
/* B5EEA4 800E7D04 03E00008 */ jr $ra
/* B5EEA8 800E7D08 AC800008 */ sw $zero, 8($a0)
glabel func_800E7D0C
/* B5EEAC 800E7D0C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B5EEB0 800E7D10 AFBF001C */ sw $ra, 0x1c($sp)
/* B5EEB4 800E7D14 AFB00018 */ sw $s0, 0x18($sp)
/* B5EEB8 800E7D18 0C039F3F */ jal func_800E7CFC
/* B5EEBC 800E7D1C 00808025 */ move $s0, $a0
/* B5EEC0 800E7D20 0C039F3F */ jal func_800E7CFC
/* B5EEC4 800E7D24 26040010 */ addiu $a0, $s0, 0x10
/* B5EEC8 800E7D28 0C039F3F */ jal func_800E7CFC
/* B5EECC 800E7D2C 26040020 */ addiu $a0, $s0, 0x20
/* B5EED0 800E7D30 0C039F3F */ jal func_800E7CFC
/* B5EED4 800E7D34 26040030 */ addiu $a0, $s0, 0x30
/* B5EED8 800E7D38 AE10000C */ sw $s0, 0xc($s0)
/* B5EEDC 800E7D3C AE10001C */ sw $s0, 0x1c($s0)
/* B5EEE0 800E7D40 AE10002C */ sw $s0, 0x2c($s0)
/* B5EEE4 800E7D44 AE10003C */ sw $s0, 0x3c($s0)
/* B5EEE8 800E7D48 8FBF001C */ lw $ra, 0x1c($sp)
/* B5EEEC 800E7D4C 8FB00018 */ lw $s0, 0x18($sp)
/* B5EEF0 800E7D50 27BD0020 */ addiu $sp, $sp, 0x20
/* B5EEF4 800E7D54 03E00008 */ jr $ra
/* B5EEF8 800E7D58 00000000 */ nop
glabel func_800E7D5C
/* B5EEFC 800E7D5C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B5EF00 800E7D60 AFB30020 */ sw $s3, 0x20($sp)
/* B5EF04 800E7D64 3C138017 */ lui $s3, %hi(D_80174D18) # $s3, 0x8017
/* B5EF08 800E7D68 26734D18 */ addiu $s3, %lo(D_80174D18) # addiu $s3, $s3, 0x4d18
/* B5EF0C 800E7D6C AFBF0024 */ sw $ra, 0x24($sp)
/* B5EF10 800E7D70 AFB2001C */ sw $s2, 0x1c($sp)
/* B5EF14 800E7D74 AFB10018 */ sw $s1, 0x18($sp)
/* B5EF18 800E7D78 AFB00014 */ sw $s0, 0x14($sp)
/* B5EF1C 800E7D7C 0C039F43 */ jal func_800E7D0C
/* B5EF20 800E7D80 02602025 */ move $a0, $s3
/* B5EF24 800E7D84 3C118017 */ lui $s1, %hi(D_8016F180) # $s1, 0x8017
/* B5EF28 800E7D88 2631F180 */ addiu $s1, %lo(D_8016F180) # addiu $s1, $s1, -0xe80
/* B5EF2C 800E7D8C 8E2E2894 */ lw $t6, 0x2894($s1)
/* B5EF30 800E7D90 00009025 */ move $s2, $zero
/* B5EF34 800E7D94 00008025 */ move $s0, $zero
/* B5EF38 800E7D98 59C00013 */ blezl $t6, .L800E7DE8
/* B5EF3C 800E7D9C 8FBF0024 */ lw $ra, 0x24($sp)
/* B5EF40 800E7DA0 8E22352C */ lw $v0, 0x352c($s1)
.L800E7DA4:
/* B5EF44 800E7DA4 02602025 */ move $a0, $s3
/* B5EF48 800E7DA8 02027821 */ addu $t7, $s0, $v0
/* B5EF4C 800E7DAC 0050C021 */ addu $t8, $v0, $s0
/* B5EF50 800E7DB0 AF0F0008 */ sw $t7, 8($t8)
/* B5EF54 800E7DB4 8E39352C */ lw $t9, 0x352c($s1)
/* B5EF58 800E7DB8 03304021 */ addu $t0, $t9, $s0
/* B5EF5C 800E7DBC AD000000 */ sw $zero, ($t0)
/* B5EF60 800E7DC0 8E29352C */ lw $t1, 0x352c($s1)
/* B5EF64 800E7DC4 0C03A70A */ jal func_800E9C28
/* B5EF68 800E7DC8 02092821 */ addu $a1, $s0, $t1
/* B5EF6C 800E7DCC 8E2A2894 */ lw $t2, 0x2894($s1)
/* B5EF70 800E7DD0 26520001 */ addiu $s2, $s2, 1
/* B5EF74 800E7DD4 261000E0 */ addiu $s0, $s0, 0xe0
/* B5EF78 800E7DD8 024A082A */ slt $at, $s2, $t2
/* B5EF7C 800E7DDC 5420FFF1 */ bnezl $at, .L800E7DA4
/* B5EF80 800E7DE0 8E22352C */ lw $v0, 0x352c($s1)
/* B5EF84 800E7DE4 8FBF0024 */ lw $ra, 0x24($sp)
.L800E7DE8:
/* B5EF88 800E7DE8 8FB00014 */ lw $s0, 0x14($sp)
/* B5EF8C 800E7DEC 8FB10018 */ lw $s1, 0x18($sp)
/* B5EF90 800E7DF0 8FB2001C */ lw $s2, 0x1c($sp)
/* B5EF94 800E7DF4 8FB30020 */ lw $s3, 0x20($sp)
/* B5EF98 800E7DF8 03E00008 */ jr $ra
/* B5EF9C 800E7DFC 27BD0028 */ addiu $sp, $sp, 0x28
glabel func_800E7E00
/* B5EFA0 800E7E00 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B5EFA4 800E7E04 AFBE0038 */ sw $fp, 0x38($sp)
/* B5EFA8 800E7E08 AFB70034 */ sw $s7, 0x34($sp)
/* B5EFAC 800E7E0C AFB60030 */ sw $s6, 0x30($sp)
/* B5EFB0 800E7E10 AFB5002C */ sw $s5, 0x2c($sp)
/* B5EFB4 800E7E14 AFB40028 */ sw $s4, 0x28($sp)
/* B5EFB8 800E7E18 AFB30024 */ sw $s3, 0x24($sp)
/* B5EFBC 800E7E1C AFB20020 */ sw $s2, 0x20($sp)
/* B5EFC0 800E7E20 AFB1001C */ sw $s1, 0x1c($sp)
/* B5EFC4 800E7E24 3C068017 */ lui $a2, %hi(D_80174D18) # $a2, 0x8017
/* B5EFC8 800E7E28 3C058017 */ lui $a1, %hi(D_80174D28) # $a1, 0x8017
/* B5EFCC 800E7E2C 3C038017 */ lui $v1, %hi(D_80174D38) # $v1, 0x8017
/* B5EFD0 800E7E30 3C028017 */ lui $v0, %hi(D_80174D48) # $v0, 0x8017
/* B5EFD4 800E7E34 0080A025 */ move $s4, $a0
/* B5EFD8 800E7E38 AFBF003C */ sw $ra, 0x3c($sp)
/* B5EFDC 800E7E3C AFB00018 */ sw $s0, 0x18($sp)
/* B5EFE0 800E7E40 24424D48 */ addiu $v0, %lo(D_80174D48) # addiu $v0, $v0, 0x4d48
/* B5EFE4 800E7E44 24634D38 */ addiu $v1, %lo(D_80174D38) # addiu $v1, $v1, 0x4d38
/* B5EFE8 800E7E48 24A54D28 */ addiu $a1, %lo(D_80174D28) # addiu $a1, $a1, 0x4d28
/* B5EFEC 800E7E4C 24C64D18 */ addiu $a2, %lo(D_80174D18) # addiu $a2, $a2, 0x4d18
/* B5EFF0 800E7E50 8FB10048 */ lw $s1, 0x48($sp)
/* B5EFF4 800E7E54 8FB20040 */ lw $s2, 0x40($sp)
/* B5EFF8 800E7E58 00009825 */ move $s3, $zero
/* B5EFFC 800E7E5C 24150001 */ li $s5, 1
/* B5F000 800E7E60 24160002 */ li $s6, 2
/* B5F004 800E7E64 24170003 */ li $s7, 3
/* B5F008 800E7E68 241E0004 */ li $fp, 4
.L800E7E6C:
/* B5F00C 800E7E6C 5260000A */ beql $s3, $zero, .L800E7E98
/* B5F010 800E7E70 02808825 */ move $s1, $s4
/* B5F014 800E7E74 5275000C */ beql $s3, $s5, .L800E7EA8
/* B5F018 800E7E78 26910010 */ addiu $s1, $s4, 0x10
/* B5F01C 800E7E7C 5276000E */ beql $s3, $s6, .L800E7EB8
/* B5F020 800E7E80 26910020 */ addiu $s1, $s4, 0x20
/* B5F024 800E7E84 52770010 */ beql $s3, $s7, .L800E7EC8
/* B5F028 800E7E88 26910030 */ addiu $s1, $s4, 0x30
/* B5F02C 800E7E8C 10000010 */ b .L800E7ED0
/* B5F030 800E7E90 8E300004 */ lw $s0, 4($s1)
/* B5F034 800E7E94 02808825 */ move $s1, $s4
.L800E7E98:
/* B5F038 800E7E98 00C09025 */ move $s2, $a2
/* B5F03C 800E7E9C 1000000C */ b .L800E7ED0
/* B5F040 800E7EA0 8E900004 */ lw $s0, 4($s4)
/* B5F044 800E7EA4 26910010 */ addiu $s1, $s4, 0x10
.L800E7EA8:
/* B5F048 800E7EA8 00A09025 */ move $s2, $a1
/* B5F04C 800E7EAC 10000008 */ b .L800E7ED0
/* B5F050 800E7EB0 8E300004 */ lw $s0, 4($s1)
/* B5F054 800E7EB4 26910020 */ addiu $s1, $s4, 0x20
.L800E7EB8:
/* B5F058 800E7EB8 00609025 */ move $s2, $v1
/* B5F05C 800E7EBC 10000004 */ b .L800E7ED0
/* B5F060 800E7EC0 8E300004 */ lw $s0, 4($s1)
/* B5F064 800E7EC4 26910030 */ addiu $s1, $s4, 0x30
.L800E7EC8:
/* B5F068 800E7EC8 00409025 */ move $s2, $v0
/* B5F06C 800E7ECC 8E300004 */ lw $s0, 4($s1)
.L800E7ED0:
/* B5F070 800E7ED0 52110013 */ beql $s0, $s1, .L800E7F20
/* B5F074 800E7ED4 26730001 */ addiu $s3, $s3, 1
.L800E7ED8:
/* B5F078 800E7ED8 52000011 */ beql $s0, $zero, .L800E7F20
/* B5F07C 800E7EDC 26730001 */ addiu $s3, $s3, 1
/* B5F080 800E7EE0 0C03A037 */ jal func_800E80DC
/* B5F084 800E7EE4 02002025 */ move $a0, $s0
/* B5F088 800E7EE8 02402025 */ move $a0, $s2
/* B5F08C 800E7EEC 0C03A70A */ jal func_800E9C28
/* B5F090 800E7EF0 02002825 */ move $a1, $s0
/* B5F094 800E7EF4 8E300004 */ lw $s0, 4($s1)
/* B5F098 800E7EF8 3C068017 */ lui $a2, %hi(D_80174D18) # $a2, 0x8017
/* B5F09C 800E7EFC 3C058017 */ lui $a1, %hi(D_80174D28) # $a1, 0x8017
/* B5F0A0 800E7F00 3C038017 */ lui $v1, %hi(D_80174D38) # $v1, 0x8017
/* B5F0A4 800E7F04 3C028017 */ lui $v0, %hi(D_80174D48) # $v0, 0x8017
/* B5F0A8 800E7F08 24424D48 */ addiu $v0, %lo(D_80174D48) # addiu $v0, $v0, 0x4d48
/* B5F0AC 800E7F0C 24634D38 */ addiu $v1, %lo(D_80174D38) # addiu $v1, $v1, 0x4d38
/* B5F0B0 800E7F10 24A54D28 */ addiu $a1, %lo(D_80174D28) # addiu $a1, $a1, 0x4d28
/* B5F0B4 800E7F14 1611FFF0 */ bne $s0, $s1, .L800E7ED8
/* B5F0B8 800E7F18 24C64D18 */ addiu $a2, %lo(D_80174D18) # addiu $a2, $a2, 0x4d18
/* B5F0BC 800E7F1C 26730001 */ addiu $s3, $s3, 1
.L800E7F20:
/* B5F0C0 800E7F20 167EFFD2 */ bne $s3, $fp, .L800E7E6C
/* B5F0C4 800E7F24 00000000 */ nop
/* B5F0C8 800E7F28 8FBF003C */ lw $ra, 0x3c($sp)
/* B5F0CC 800E7F2C AFB20040 */ sw $s2, 0x40($sp)
/* B5F0D0 800E7F30 AFB10048 */ sw $s1, 0x48($sp)
/* B5F0D4 800E7F34 8FB1001C */ lw $s1, 0x1c($sp)
/* B5F0D8 800E7F38 8FB20020 */ lw $s2, 0x20($sp)
/* B5F0DC 800E7F3C 8FB00018 */ lw $s0, 0x18($sp)
/* B5F0E0 800E7F40 8FB30024 */ lw $s3, 0x24($sp)
/* B5F0E4 800E7F44 8FB40028 */ lw $s4, 0x28($sp)
/* B5F0E8 800E7F48 8FB5002C */ lw $s5, 0x2c($sp)
/* B5F0EC 800E7F4C 8FB60030 */ lw $s6, 0x30($sp)
/* B5F0F0 800E7F50 8FB70034 */ lw $s7, 0x34($sp)
/* B5F0F4 800E7F54 8FBE0038 */ lw $fp, 0x38($sp)
/* B5F0F8 800E7F58 03E00008 */ jr $ra
/* B5F0FC 800E7F5C 27BD0050 */ addiu $sp, $sp, 0x50
glabel func_800E7F60
/* B5F100 800E7F60 27BDFFA8 */ addiu $sp, $sp, -0x58
/* B5F104 800E7F64 AFBF003C */ sw $ra, 0x3c($sp)
/* B5F108 800E7F68 AFB5002C */ sw $s5, 0x2c($sp)
/* B5F10C 800E7F6C AFB30024 */ sw $s3, 0x24($sp)
/* B5F110 800E7F70 00A09825 */ move $s3, $a1
/* B5F114 800E7F74 0080A825 */ move $s5, $a0
/* B5F118 800E7F78 AFBE0038 */ sw $fp, 0x38($sp)
/* B5F11C 800E7F7C AFB70034 */ sw $s7, 0x34($sp)
/* B5F120 800E7F80 AFB60030 */ sw $s6, 0x30($sp)
/* B5F124 800E7F84 AFB40028 */ sw $s4, 0x28($sp)
/* B5F128 800E7F88 AFB20020 */ sw $s2, 0x20($sp)
/* B5F12C 800E7F8C AFB1001C */ sw $s1, 0x1c($sp)
/* B5F130 800E7F90 0C039F80 */ jal func_800E7E00
/* B5F134 800E7F94 AFB00018 */ sw $s0, 0x18($sp)
/* B5F138 800E7F98 0000A025 */ move $s4, $zero
/* B5F13C 800E7F9C 1A600033 */ blez $s3, .L800E806C
/* B5F140 800E7FA0 00008025 */ move $s0, $zero
/* B5F144 800E7FA4 241E0002 */ li $fp, 2
/* B5F148 800E7FA8 24170001 */ li $s7, 1
/* B5F14C 800E7FAC 24160004 */ li $s6, 4
/* B5F150 800E7FB0 8FB20044 */ lw $s2, 0x44($sp)
/* B5F154 800E7FB4 8FB10048 */ lw $s1, 0x48($sp)
.L800E7FB8:
/* B5F158 800E7FB8 5296002D */ beql $s4, $s6, .L800E8070
/* B5F15C 800E7FBC 8FBF003C */ lw $ra, 0x3c($sp)
/* B5F160 800E7FC0 12800009 */ beqz $s4, .L800E7FE8
/* B5F164 800E7FC4 00000000 */ nop
/* B5F168 800E7FC8 1297000B */ beq $s4, $s7, .L800E7FF8
/* B5F16C 800E7FCC 00000000 */ nop
/* B5F170 800E7FD0 129E000D */ beq $s4, $fp, .L800E8008
/* B5F174 800E7FD4 24010003 */ li $at, 3
/* B5F178 800E7FD8 1281000F */ beq $s4, $at, .L800E8018
/* B5F17C 800E7FDC 00000000 */ nop
/* B5F180 800E7FE0 10000011 */ b .L800E8028
/* B5F184 800E7FE4 0213082A */ slt $at, $s0, $s3
.L800E7FE8:
/* B5F188 800E7FE8 3C118017 */ lui $s1, %hi(D_80174D18) # $s1, 0x8017
/* B5F18C 800E7FEC 26314D18 */ addiu $s1, %lo(D_80174D18) # addiu $s1, $s1, 0x4d18
/* B5F190 800E7FF0 1000000C */ b .L800E8024
/* B5F194 800E7FF4 02A09025 */ move $s2, $s5
.L800E7FF8:
/* B5F198 800E7FF8 3C118017 */ lui $s1, %hi(D_80174D28) # $s1, 0x8017
/* B5F19C 800E7FFC 26314D28 */ addiu $s1, %lo(D_80174D28) # addiu $s1, $s1, 0x4d28
/* B5F1A0 800E8000 10000008 */ b .L800E8024
/* B5F1A4 800E8004 26B20010 */ addiu $s2, $s5, 0x10
.L800E8008:
/* B5F1A8 800E8008 3C118017 */ lui $s1, %hi(D_80174D38) # $s1, 0x8017
/* B5F1AC 800E800C 26314D38 */ addiu $s1, %lo(D_80174D38) # addiu $s1, $s1, 0x4d38
/* B5F1B0 800E8010 10000004 */ b .L800E8024
/* B5F1B4 800E8014 26B20020 */ addiu $s2, $s5, 0x20
.L800E8018:
/* B5F1B8 800E8018 3C118017 */ lui $s1, %hi(D_80174D48) # $s1, 0x8017
/* B5F1BC 800E801C 26314D48 */ addiu $s1, %lo(D_80174D48) # addiu $s1, $s1, 0x4d48
/* B5F1C0 800E8020 26B20030 */ addiu $s2, $s5, 0x30
.L800E8024:
/* B5F1C4 800E8024 0213082A */ slt $at, $s0, $s3
.L800E8028:
/* B5F1C8 800E8028 5020000C */ beql $at, $zero, .L800E805C
/* B5F1CC 800E802C 0213082A */ slt $at, $s0, $s3
.L800E8030:
/* B5F1D0 800E8030 0C03A71A */ jal func_800E9C68
/* B5F1D4 800E8034 02202025 */ move $a0, $s1
/* B5F1D8 800E8038 10400007 */ beqz $v0, .L800E8058
/* B5F1DC 800E803C 00402825 */ move $a1, $v0
/* B5F1E0 800E8040 0C03A70A */ jal func_800E9C28
/* B5F1E4 800E8044 02402025 */ move $a0, $s2
/* B5F1E8 800E8048 26100001 */ addiu $s0, $s0, 1
/* B5F1EC 800E804C 0213082A */ slt $at, $s0, $s3
/* B5F1F0 800E8050 1420FFF7 */ bnez $at, .L800E8030
/* B5F1F4 800E8054 00000000 */ nop
.L800E8058:
/* B5F1F8 800E8058 0213082A */ slt $at, $s0, $s3
.L800E805C:
/* B5F1FC 800E805C 1420FFD6 */ bnez $at, .L800E7FB8
/* B5F200 800E8060 26940001 */ addiu $s4, $s4, 1
/* B5F204 800E8064 AFB20044 */ sw $s2, 0x44($sp)
/* B5F208 800E8068 AFB10048 */ sw $s1, 0x48($sp)
.L800E806C:
/* B5F20C 800E806C 8FBF003C */ lw $ra, 0x3c($sp)
.L800E8070:
/* B5F210 800E8070 8FB00018 */ lw $s0, 0x18($sp)
/* B5F214 800E8074 8FB1001C */ lw $s1, 0x1c($sp)
/* B5F218 800E8078 8FB20020 */ lw $s2, 0x20($sp)
/* B5F21C 800E807C 8FB30024 */ lw $s3, 0x24($sp)
/* B5F220 800E8080 8FB40028 */ lw $s4, 0x28($sp)
/* B5F224 800E8084 8FB5002C */ lw $s5, 0x2c($sp)
/* B5F228 800E8088 8FB60030 */ lw $s6, 0x30($sp)
/* B5F22C 800E808C 8FB70034 */ lw $s7, 0x34($sp)
/* B5F230 800E8090 8FBE0038 */ lw $fp, 0x38($sp)
/* B5F234 800E8094 03E00008 */ jr $ra
/* B5F238 800E8098 27BD0058 */ addiu $sp, $sp, 0x58
glabel func_800E809C
/* B5F23C 800E809C 8CAE0000 */ lw $t6, ($a1)
/* B5F240 800E80A0 15C0000C */ bnez $t6, .L800E80D4
/* B5F244 800E80A4 00000000 */ nop
/* B5F248 800E80A8 ACA40000 */ sw $a0, ($a1)
/* B5F24C 800E80AC 8C8F0004 */ lw $t7, 4($a0)
/* B5F250 800E80B0 ACAF0004 */ sw $t7, 4($a1)
/* B5F254 800E80B4 8C980004 */ lw $t8, 4($a0)
/* B5F258 800E80B8 AF050000 */ sw $a1, ($t8)
/* B5F25C 800E80BC 8C990008 */ lw $t9, 8($a0)
/* B5F260 800E80C0 8C89000C */ lw $t1, 0xc($a0)
/* B5F264 800E80C4 AC850004 */ sw $a1, 4($a0)
/* B5F268 800E80C8 27280001 */ addiu $t0, $t9, 1
/* B5F26C 800E80CC AC880008 */ sw $t0, 8($a0)
/* B5F270 800E80D0 ACA9000C */ sw $t1, 0xc($a1)
.L800E80D4:
/* B5F274 800E80D4 03E00008 */ jr $ra
/* B5F278 800E80D8 00000000 */ nop
glabel func_800E80DC
/* B5F27C 800E80DC 8C820000 */ lw $v0, ($a0)
/* B5F280 800E80E0 10400007 */ beqz $v0, .L800E8100
/* B5F284 800E80E4 00000000 */ nop
/* B5F288 800E80E8 8C8E0004 */ lw $t6, 4($a0)
/* B5F28C 800E80EC AC4E0004 */ sw $t6, 4($v0)
/* B5F290 800E80F0 8C8F0000 */ lw $t7, ($a0)
/* B5F294 800E80F4 8C980004 */ lw $t8, 4($a0)
/* B5F298 800E80F8 AF0F0000 */ sw $t7, ($t8)
/* B5F29C 800E80FC AC800000 */ sw $zero, ($a0)
.L800E8100:
/* B5F2A0 800E8100 03E00008 */ jr $ra
/* B5F2A4 800E8104 00000000 */ nop
glabel func_800E8108
/* B5F2A8 800E8108 8C820004 */ lw $v0, 4($a0)
/* B5F2AC 800E810C 14440003 */ bne $v0, $a0, .L800E811C
/* B5F2B0 800E8110 00000000 */ nop
/* B5F2B4 800E8114 03E00008 */ jr $ra
/* B5F2B8 800E8118 00001025 */ move $v0, $zero
.L800E811C:
/* B5F2BC 800E811C 1044000C */ beq $v0, $a0, .L800E8150
/* B5F2C0 800E8120 00401825 */ move $v1, $v0
/* B5F2C4 800E8124 8C6E0008 */ lw $t6, 8($v1)
.L800E8128:
/* B5F2C8 800E8128 8C580008 */ lw $t8, 8($v0)
/* B5F2CC 800E812C 91CF0030 */ lbu $t7, 0x30($t6)
/* B5F2D0 800E8130 93190030 */ lbu $t9, 0x30($t8)
/* B5F2D4 800E8134 01F9082A */ slt $at, $t7, $t9
/* B5F2D8 800E8138 54200003 */ bnezl $at, .L800E8148
/* B5F2DC 800E813C 8C420004 */ lw $v0, 4($v0)
/* B5F2E0 800E8140 00401825 */ move $v1, $v0
/* B5F2E4 800E8144 8C420004 */ lw $v0, 4($v0)
.L800E8148:
/* B5F2E8 800E8148 5444FFF7 */ bnel $v0, $a0, .L800E8128
/* B5F2EC 800E814C 8C6E0008 */ lw $t6, 8($v1)
.L800E8150:
/* B5F2F0 800E8150 54600004 */ bnezl $v1, .L800E8164
/* B5F2F4 800E8154 8C640008 */ lw $a0, 8($v1)
/* B5F2F8 800E8158 03E00008 */ jr $ra
/* B5F2FC 800E815C 00001025 */ move $v0, $zero
/* B5F300 800E8160 8C640008 */ lw $a0, 8($v1)
.L800E8164:
/* B5F304 800E8164 90880030 */ lbu $t0, 0x30($a0)
/* B5F308 800E8168 00801025 */ move $v0, $a0
/* B5F30C 800E816C 0105082A */ slt $at, $t0, $a1
/* B5F310 800E8170 14200003 */ bnez $at, .L800E8180
/* B5F314 800E8174 00000000 */ nop
/* B5F318 800E8178 03E00008 */ jr $ra
/* B5F31C 800E817C 00001025 */ move $v0, $zero
.L800E8180:
/* B5F320 800E8180 03E00008 */ jr $ra
/* B5F324 800E8184 00000000 */ nop
glabel func_800E8188
/* B5F328 800E8188 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B5F32C 800E818C AFBF0014 */ sw $ra, 0x14($sp)
/* B5F330 800E8190 240EFFFF */ li $t6, -1
/* B5F334 800E8194 AC8E0040 */ sw $t6, 0x40($a0)
/* B5F338 800E8198 AC850044 */ sw $a1, 0x44($a0)
/* B5F33C 800E819C 8CAF0050 */ lw $t7, 0x50($a1)
/* B5F340 800E81A0 44802000 */ mtc1 $zero, $f4
/* B5F344 800E81A4 91F80005 */ lbu $t8, 5($t7)
/* B5F348 800E81A8 A0980030 */ sb $t8, 0x30($a0)
/* B5F34C 800E81AC 90A80000 */ lbu $t0, ($a1)
/* B5F350 800E81B0 8CAD0050 */ lw $t5, 0x50($a1)
/* B5F354 800E81B4 ACA4002C */ sw $a0, 0x2c($a1)
/* B5F358 800E81B8 350B0001 */ ori $t3, $t0, 1
/* B5F35C 800E81BC A0AB0000 */ sb $t3, ($a1)
/* B5F360 800E81C0 356C0008 */ ori $t4, $t3, 8
/* B5F364 800E81C4 A0AC0000 */ sb $t4, ($a1)
/* B5F368 800E81C8 ADA40040 */ sw $a0, 0x40($t5)
/* B5F36C 800E81CC 8CAE0050 */ lw $t6, 0x50($a1)
/* B5F370 800E81D0 ADC50044 */ sw $a1, 0x44($t6)
/* B5F374 800E81D4 E4A40040 */ swc1 $f4, 0x40($a1)
/* B5F378 800E81D8 AFA5003C */ sw $a1, 0x3c($sp)
/* B5F37C 800E81DC 0C039B9A */ jal func_800E6E68
/* B5F380 800E81E0 AFA40038 */ sw $a0, 0x38($sp)
/* B5F384 800E81E4 8FA5003C */ lw $a1, 0x3c($sp)
/* B5F388 800E81E8 8FA40038 */ lw $a0, 0x38($sp)
/* B5F38C 800E81EC 240100FF */ li $at, 255
/* B5F390 800E81F0 90A60002 */ lbu $a2, 2($a1)
/* B5F394 800E81F4 248300C0 */ addiu $v1, $a0, 0xc0
/* B5F398 800E81F8 54C10004 */ bnel $a2, $at, .L800E820C
/* B5F39C 800E81FC 8CB8004C */ lw $t8, 0x4c($a1)
/* B5F3A0 800E8200 8CAF0050 */ lw $t7, 0x50($a1)
/* B5F3A4 800E8204 85E60024 */ lh $a2, 0x24($t7)
/* B5F3A8 800E8208 8CB8004C */ lw $t8, 0x4c($a1)
.L800E820C:
/* B5F3AC 800E820C 28C10080 */ slti $at, $a2, 0x80
/* B5F3B0 800E8210 14200008 */ bnez $at, .L800E8234
/* B5F3B4 800E8214 AC780010 */ sw $t8, 0x10($v1)
/* B5F3B8 800E8218 28C100C0 */ slti $at, $a2, 0xc0
/* B5F3BC 800E821C 50200006 */ beql $at, $zero, .L800E8238
/* B5F3C0 800E8220 906A0001 */ lbu $t2, 1($v1)
/* B5F3C4 800E8224 90680001 */ lbu $t0, 1($v1)
/* B5F3C8 800E8228 35090004 */ ori $t1, $t0, 4
/* B5F3CC 800E822C 10000004 */ b .L800E8240
/* B5F3D0 800E8230 A0690001 */ sb $t1, 1($v1)
.L800E8234:
/* B5F3D4 800E8234 906A0001 */ lbu $t2, 1($v1)
.L800E8238:
/* B5F3D8 800E8238 314BFFFB */ andi $t3, $t2, 0xfffb
/* B5F3DC 800E823C A06B0001 */ sb $t3, 1($v1)
.L800E8240:
/* B5F3E0 800E8240 8C6C0000 */ lw $t4, ($v1)
/* B5F3E4 800E8244 000C7340 */ sll $t6, $t4, 0xd
/* B5F3E8 800E8248 05C30009 */ bgezl $t6, .L800E8270
/* B5F3EC 800E824C 8CAF0050 */ lw $t7, 0x50($a1)
/* B5F3F0 800E8250 AFA3001C */ sw $v1, 0x1c($sp)
/* B5F3F4 800E8254 AFA40038 */ sw $a0, 0x38($sp)
/* B5F3F8 800E8258 0C039EE8 */ jal func_800E7BA0
/* B5F3FC 800E825C AFA5003C */ sw $a1, 0x3c($sp)
/* B5F400 800E8260 8FA3001C */ lw $v1, 0x1c($sp)
/* B5F404 800E8264 8FA40038 */ lw $a0, 0x38($sp)
/* B5F408 800E8268 8FA5003C */ lw $a1, 0x3c($sp)
/* B5F40C 800E826C 8CAF0050 */ lw $t7, 0x50($a1)
.L800E8270:
/* B5F410 800E8270 24820030 */ addiu $v0, $a0, 0x30
/* B5F414 800E8274 91F80007 */ lbu $t8, 7($t7)
/* B5F418 800E8278 A0580003 */ sb $t8, 3($v0)
/* B5F41C 800E827C 8CB90050 */ lw $t9, 0x50($a1)
/* B5F420 800E8280 8F280000 */ lw $t0, ($t9)
/* B5F424 800E8284 00084940 */ sll $t1, $t0, 5
/* B5F428 800E8288 000957C2 */ srl $t2, $t1, 0x1f
/* B5F42C 800E828C A04A0005 */ sb $t2, 5($v0)
/* B5F430 800E8290 8CAB0050 */ lw $t3, 0x50($a1)
/* B5F434 800E8294 90790001 */ lbu $t9, 1($v1)
/* B5F438 800E8298 916C0008 */ lbu $t4, 8($t3)
/* B5F43C 800E829C 3328FF1F */ andi $t0, $t9, 0xff1f
/* B5F440 800E82A0 318E0003 */ andi $t6, $t4, 3
/* B5F444 800E82A4 000EC140 */ sll $t8, $t6, 5
/* B5F448 800E82A8 03084825 */ or $t1, $t8, $t0
/* B5F44C 800E82AC A0690001 */ sb $t1, 1($v1)
/* B5F450 800E82B0 8FBF0014 */ lw $ra, 0x14($sp)
/* B5F454 800E82B4 27BD0038 */ addiu $sp, $sp, 0x38
/* B5F458 800E82B8 03E00008 */ jr $ra
/* B5F45C 800E82BC 00000000 */ nop
glabel func_800E82C0
/* B5F460 800E82C0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5F464 800E82C4 AFBF0014 */ sw $ra, 0x14($sp)
/* B5F468 800E82C8 AFA40018 */ sw $a0, 0x18($sp)
/* B5F46C 800E82CC AFA5001C */ sw $a1, 0x1c($sp)
/* B5F470 800E82D0 0C039EE0 */ jal func_800E7B80
/* B5F474 800E82D4 8C840044 */ lw $a0, 0x44($a0)
/* B5F478 800E82D8 8FAF001C */ lw $t7, 0x1c($sp)
/* B5F47C 800E82DC 8FB80018 */ lw $t8, 0x18($sp)
/* B5F480 800E82E0 AF0F0048 */ sw $t7, 0x48($t8)
/* B5F484 800E82E4 8FBF0014 */ lw $ra, 0x14($sp)
/* B5F488 800E82E8 27BD0018 */ addiu $sp, $sp, 0x18
/* B5F48C 800E82EC 03E00008 */ jr $ra
/* B5F490 800E82F0 00000000 */ nop
glabel func_800E82F4
/* B5F494 800E82F4 AC850048 */ sw $a1, 0x48($a0)
/* B5F498 800E82F8 8CAE0050 */ lw $t6, 0x50($a1)
/* B5F49C 800E82FC 90990070 */ lbu $t9, 0x70($a0)
/* B5F4A0 800E8300 3C018017 */ lui $at, %hi(D_801719E4)
/* B5F4A4 800E8304 91CF0005 */ lbu $t7, 5($t6)
/* B5F4A8 800E8308 37280010 */ ori $t0, $t9, 0x10
/* B5F4AC 800E830C A08F0030 */ sb $t7, 0x30($a0)
/* B5F4B0 800E8310 C42419E4 */ lwc1 $f4, %lo(D_801719E4)($at)
/* B5F4B4 800E8314 A0880070 */ sb $t0, 0x70($a0)
/* B5F4B8 800E8318 03E00008 */ jr $ra
/* B5F4BC 800E831C E484007C */ swc1 $f4, 0x7c($a0)
glabel func_800E8320
/* B5F4C0 800E8320 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B5F4C4 800E8324 AFBF0014 */ sw $ra, 0x14($sp)
/* B5F4C8 800E8328 AFA40020 */ sw $a0, 0x20($sp)
/* B5F4CC 800E832C 0C03A71A */ jal func_800E9C68
/* B5F4D0 800E8330 AFA50024 */ sw $a1, 0x24($sp)
/* B5F4D4 800E8334 10400008 */ beqz $v0, .L800E8358
/* B5F4D8 800E8338 AFA2001C */ sw $v0, 0x1c($sp)
/* B5F4DC 800E833C 00402025 */ move $a0, $v0
/* B5F4E0 800E8340 0C03A062 */ jal func_800E8188
/* B5F4E4 800E8344 8FA50024 */ lw $a1, 0x24($sp)
/* B5F4E8 800E8348 8FA40020 */ lw $a0, 0x20($sp)
/* B5F4EC 800E834C 8FA5001C */ lw $a1, 0x1c($sp)
/* B5F4F0 800E8350 0C03A027 */ jal func_800E809C
/* B5F4F4 800E8354 24840030 */ addiu $a0, $a0, 0x30
.L800E8358:
/* B5F4F8 800E8358 8FBF0014 */ lw $ra, 0x14($sp)
/* B5F4FC 800E835C 8FA2001C */ lw $v0, 0x1c($sp)
/* B5F500 800E8360 27BD0020 */ addiu $sp, $sp, 0x20
/* B5F504 800E8364 03E00008 */ jr $ra
/* B5F508 800E8368 00000000 */ nop
glabel func_800E836C
/* B5F50C 800E836C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B5F510 800E8370 AFBF0014 */ sw $ra, 0x14($sp)
/* B5F514 800E8374 AFA40020 */ sw $a0, 0x20($sp)
/* B5F518 800E8378 AFA50024 */ sw $a1, 0x24($sp)
/* B5F51C 800E837C 0C03A71A */ jal func_800E9C68
/* B5F520 800E8380 24840010 */ addiu $a0, $a0, 0x10
/* B5F524 800E8384 10400008 */ beqz $v0, .L800E83A8
/* B5F528 800E8388 AFA2001C */ sw $v0, 0x1c($sp)
/* B5F52C 800E838C 00402025 */ move $a0, $v0
/* B5F530 800E8390 0C03A0BD */ jal func_800E82F4
/* B5F534 800E8394 8FA50024 */ lw $a1, 0x24($sp)
/* B5F538 800E8398 8FA40020 */ lw $a0, 0x20($sp)
/* B5F53C 800E839C 8FA5001C */ lw $a1, 0x1c($sp)
/* B5F540 800E83A0 0C03A70A */ jal func_800E9C28
/* B5F544 800E83A4 24840020 */ addiu $a0, $a0, 0x20
.L800E83A8:
/* B5F548 800E83A8 8FBF0014 */ lw $ra, 0x14($sp)
/* B5F54C 800E83AC 8FA2001C */ lw $v0, 0x1c($sp)
/* B5F550 800E83B0 27BD0020 */ addiu $sp, $sp, 0x20
/* B5F554 800E83B4 03E00008 */ jr $ra
/* B5F558 800E83B8 00000000 */ nop
glabel func_800E83BC
/* B5F55C 800E83BC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B5F560 800E83C0 240E0010 */ li $t6, 16
/* B5F564 800E83C4 240F0010 */ li $t7, 16
/* B5F568 800E83C8 AFBF001C */ sw $ra, 0x1c($sp)
/* B5F56C 800E83CC AFB10018 */ sw $s1, 0x18($sp)
/* B5F570 800E83D0 AFB00014 */ sw $s0, 0x14($sp)
/* B5F574 800E83D4 AFAF002C */ sw $t7, 0x2c($sp)
/* B5F578 800E83D8 AFAE0028 */ sw $t6, 0x28($sp)
/* B5F57C 800E83DC 8CB80050 */ lw $t8, 0x50($a1)
/* B5F580 800E83E0 00808025 */ move $s0, $a0
/* B5F584 800E83E4 00A08825 */ move $s1, $a1
/* B5F588 800E83E8 24840020 */ addiu $a0, $a0, 0x20
/* B5F58C 800E83EC 93050005 */ lbu $a1, 5($t8)
/* B5F590 800E83F0 0C03A042 */ jal func_800E8108
/* B5F594 800E83F4 AFA40024 */ sw $a0, 0x24($sp)
/* B5F598 800E83F8 10400003 */ beqz $v0, .L800E8408
/* B5F59C 800E83FC 00401825 */ move $v1, $v0
/* B5F5A0 800E8400 90590030 */ lbu $t9, 0x30($v0)
/* B5F5A4 800E8404 AFB9002C */ sw $t9, 0x2c($sp)
.L800E8408:
/* B5F5A8 800E8408 8E280050 */ lw $t0, 0x50($s1)
/* B5F5AC 800E840C 26040030 */ addiu $a0, $s0, 0x30
/* B5F5B0 800E8410 91050005 */ lbu $a1, 5($t0)
/* B5F5B4 800E8414 0C03A042 */ jal func_800E8108
/* B5F5B8 800E8418 AFA30034 */ sw $v1, 0x34($sp)
/* B5F5BC 800E841C 8FA30034 */ lw $v1, 0x34($sp)
/* B5F5C0 800E8420 10400003 */ beqz $v0, .L800E8430
/* B5F5C4 800E8424 00408025 */ move $s0, $v0
/* B5F5C8 800E8428 90490030 */ lbu $t1, 0x30($v0)
/* B5F5CC 800E842C AFA90028 */ sw $t1, 0x28($sp)
.L800E8430:
/* B5F5D0 800E8430 14600005 */ bnez $v1, .L800E8448
/* B5F5D4 800E8434 8FAA0028 */ lw $t2, 0x28($sp)
/* B5F5D8 800E8438 54400004 */ bnezl $v0, .L800E844C
/* B5F5DC 800E843C 8FAB002C */ lw $t3, 0x2c($sp)
/* B5F5E0 800E8440 10000017 */ b .L800E84A0
/* B5F5E4 800E8444 00001025 */ move $v0, $zero
.L800E8448:
/* B5F5E8 800E8448 8FAB002C */ lw $t3, 0x2c($sp)
.L800E844C:
/* B5F5EC 800E844C 014B082A */ slt $at, $t2, $t3
/* B5F5F0 800E8450 5020000F */ beql $at, $zero, .L800E8490
/* B5F5F4 800E8454 AC710048 */ sw $s1, 0x48($v1)
/* B5F5F8 800E8458 0C03A037 */ jal func_800E80DC
/* B5F5FC 800E845C 02002025 */ move $a0, $s0
/* B5F600 800E8460 02002025 */ move $a0, $s0
/* B5F604 800E8464 0C03A0B0 */ jal func_800E82C0
/* B5F608 800E8468 02202825 */ move $a1, $s1
/* B5F60C 800E846C 8FA40024 */ lw $a0, 0x24($sp)
/* B5F610 800E8470 0C03A70A */ jal func_800E9C28
/* B5F614 800E8474 02002825 */ move $a1, $s0
/* B5F618 800E8478 8E2C0050 */ lw $t4, 0x50($s1)
/* B5F61C 800E847C 02001025 */ move $v0, $s0
/* B5F620 800E8480 918D0005 */ lbu $t5, 5($t4)
/* B5F624 800E8484 10000006 */ b .L800E84A0
/* B5F628 800E8488 A20D0030 */ sb $t5, 0x30($s0)
/* B5F62C 800E848C AC710048 */ sw $s1, 0x48($v1)
.L800E8490:
/* B5F630 800E8490 8E2E0050 */ lw $t6, 0x50($s1)
/* B5F634 800E8494 00601025 */ move $v0, $v1
/* B5F638 800E8498 91CF0005 */ lbu $t7, 5($t6)
/* B5F63C 800E849C A06F0030 */ sb $t7, 0x30($v1)
.L800E84A0:
/* B5F640 800E84A0 8FBF001C */ lw $ra, 0x1c($sp)
/* B5F644 800E84A4 8FB00014 */ lw $s0, 0x14($sp)
/* B5F648 800E84A8 8FB10018 */ lw $s1, 0x18($sp)
/* B5F64C 800E84AC 03E00008 */ jr $ra
/* B5F650 800E84B0 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800E84B4
/* B5F654 800E84B4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B5F658 800E84B8 AFBF001C */ sw $ra, 0x1c($sp)
/* B5F65C 800E84BC AFB00018 */ sw $s0, 0x18($sp)
/* B5F660 800E84C0 8C830050 */ lw $v1, 0x50($a0)
/* B5F664 800E84C4 00808025 */ move $s0, $a0
/* B5F668 800E84C8 90620002 */ lbu $v0, 2($v1)
/* B5F66C 800E84CC 304E0001 */ andi $t6, $v0, 1
/* B5F670 800E84D0 11C00016 */ beqz $t6, .L800E852C
/* B5F674 800E84D4 30590002 */ andi $t9, $v0, 2
/* B5F678 800E84D8 8C86002C */ lw $a2, 0x2c($a0)
/* B5F67C 800E84DC 10C00013 */ beqz $a2, .L800E852C
/* B5F680 800E84E0 00000000 */ nop
/* B5F684 800E84E4 8CCF0040 */ lw $t7, 0x40($a2)
/* B5F688 800E84E8 148F0010 */ bne $a0, $t7, .L800E852C
/* B5F68C 800E84EC 00000000 */ nop
/* B5F690 800E84F0 8CD80048 */ lw $t8, 0x48($a2)
/* B5F694 800E84F4 2401FFFF */ li $at, -1
/* B5F698 800E84F8 00C02025 */ move $a0, $a2
/* B5F69C 800E84FC 1701000B */ bne $t8, $at, .L800E852C
/* B5F6A0 800E8500 02002825 */ move $a1, $s0
/* B5F6A4 800E8504 0C03A0BD */ jal func_800E82F4
/* B5F6A8 800E8508 AFA60024 */ sw $a2, 0x24($sp)
/* B5F6AC 800E850C 0C03A037 */ jal func_800E80DC
/* B5F6B0 800E8510 8FA40024 */ lw $a0, 0x24($sp)
/* B5F6B4 800E8514 8FA50024 */ lw $a1, 0x24($sp)
/* B5F6B8 800E8518 8CA4000C */ lw $a0, 0xc($a1)
/* B5F6BC 800E851C 0C03A70A */ jal func_800E9C28
/* B5F6C0 800E8520 24840020 */ addiu $a0, $a0, 0x20
/* B5F6C4 800E8524 10000093 */ b .L800E8774
/* B5F6C8 800E8528 8FA20024 */ lw $v0, 0x24($sp)
.L800E852C:
/* B5F6CC 800E852C 13200014 */ beqz $t9, .L800E8580
/* B5F6D0 800E8530 30480004 */ andi $t0, $v0, 4
/* B5F6D4 800E8534 24640084 */ addiu $a0, $v1, 0x84
/* B5F6D8 800E8538 0C03A0C8 */ jal func_800E8320
/* B5F6DC 800E853C 02002825 */ move $a1, $s0
/* B5F6E0 800E8540 1440000D */ bnez $v0, .L800E8578
/* B5F6E4 800E8544 00403025 */ move $a2, $v0
/* B5F6E8 800E8548 8E040050 */ lw $a0, 0x50($s0)
/* B5F6EC 800E854C 02002825 */ move $a1, $s0
/* B5F6F0 800E8550 0C03A0DB */ jal func_800E836C
/* B5F6F4 800E8554 24840084 */ addiu $a0, $a0, 0x84
/* B5F6F8 800E8558 14400007 */ bnez $v0, .L800E8578
/* B5F6FC 800E855C 00403025 */ move $a2, $v0
/* B5F700 800E8560 8E040050 */ lw $a0, 0x50($s0)
/* B5F704 800E8564 02002825 */ move $a1, $s0
/* B5F708 800E8568 0C03A0EF */ jal func_800E83BC
/* B5F70C 800E856C 24840084 */ addiu $a0, $a0, 0x84
/* B5F710 800E8570 1040007C */ beqz $v0, .L800E8764
/* B5F714 800E8574 00403025 */ move $a2, $v0
.L800E8578:
/* B5F718 800E8578 1000007E */ b .L800E8774
/* B5F71C 800E857C 00C01025 */ move $v0, $a2
.L800E8580:
/* B5F720 800E8580 11000029 */ beqz $t0, .L800E8628
/* B5F724 800E8584 304C0008 */ andi $t4, $v0, 8
/* B5F728 800E8588 24640084 */ addiu $a0, $v1, 0x84
/* B5F72C 800E858C 0C03A0C8 */ jal func_800E8320
/* B5F730 800E8590 02002825 */ move $a1, $s0
/* B5F734 800E8594 14400022 */ bnez $v0, .L800E8620
/* B5F738 800E8598 00403025 */ move $a2, $v0
/* B5F73C 800E859C 8E090050 */ lw $t1, 0x50($s0)
/* B5F740 800E85A0 02002825 */ move $a1, $s0
/* B5F744 800E85A4 8D24004C */ lw $a0, 0x4c($t1)
/* B5F748 800E85A8 0C03A0C8 */ jal func_800E8320
/* B5F74C 800E85AC 2484009C */ addiu $a0, $a0, 0x9c
/* B5F750 800E85B0 1440001B */ bnez $v0, .L800E8620
/* B5F754 800E85B4 00403025 */ move $a2, $v0
/* B5F758 800E85B8 8E040050 */ lw $a0, 0x50($s0)
/* B5F75C 800E85BC 02002825 */ move $a1, $s0
/* B5F760 800E85C0 0C03A0DB */ jal func_800E836C
/* B5F764 800E85C4 24840084 */ addiu $a0, $a0, 0x84
/* B5F768 800E85C8 14400015 */ bnez $v0, .L800E8620
/* B5F76C 800E85CC 00403025 */ move $a2, $v0
/* B5F770 800E85D0 8E0A0050 */ lw $t2, 0x50($s0)
/* B5F774 800E85D4 02002825 */ move $a1, $s0
/* B5F778 800E85D8 8D44004C */ lw $a0, 0x4c($t2)
/* B5F77C 800E85DC 0C03A0DB */ jal func_800E836C
/* B5F780 800E85E0 2484009C */ addiu $a0, $a0, 0x9c
/* B5F784 800E85E4 1440000E */ bnez $v0, .L800E8620
/* B5F788 800E85E8 00403025 */ move $a2, $v0
/* B5F78C 800E85EC 8E040050 */ lw $a0, 0x50($s0)
/* B5F790 800E85F0 02002825 */ move $a1, $s0
/* B5F794 800E85F4 0C03A0EF */ jal func_800E83BC
/* B5F798 800E85F8 24840084 */ addiu $a0, $a0, 0x84
/* B5F79C 800E85FC 14400008 */ bnez $v0, .L800E8620
/* B5F7A0 800E8600 00403025 */ move $a2, $v0
/* B5F7A4 800E8604 8E0B0050 */ lw $t3, 0x50($s0)
/* B5F7A8 800E8608 02002825 */ move $a1, $s0
/* B5F7AC 800E860C 8D64004C */ lw $a0, 0x4c($t3)
/* B5F7B0 800E8610 0C03A0EF */ jal func_800E83BC
/* B5F7B4 800E8614 2484009C */ addiu $a0, $a0, 0x9c
/* B5F7B8 800E8618 10400052 */ beqz $v0, .L800E8764
/* B5F7BC 800E861C 00403025 */ move $a2, $v0
.L800E8620:
/* B5F7C0 800E8620 10000054 */ b .L800E8774
/* B5F7C4 800E8624 00C01025 */ move $v0, $a2
.L800E8628:
/* B5F7C8 800E8628 11800015 */ beqz $t4, .L800E8680
/* B5F7CC 800E862C 24640084 */ addiu $a0, $v1, 0x84
/* B5F7D0 800E8630 3C048017 */ lui $a0, %hi(D_80174D18) # $a0, 0x8017
/* B5F7D4 800E8634 24844D18 */ addiu $a0, %lo(D_80174D18) # addiu $a0, $a0, 0x4d18
/* B5F7D8 800E8638 0C03A0C8 */ jal func_800E8320
/* B5F7DC 800E863C 02002825 */ move $a1, $s0
/* B5F7E0 800E8640 1440000D */ bnez $v0, .L800E8678
/* B5F7E4 800E8644 00403025 */ move $a2, $v0
/* B5F7E8 800E8648 3C048017 */ lui $a0, %hi(D_80174D18) # $a0, 0x8017
/* B5F7EC 800E864C 24844D18 */ addiu $a0, %lo(D_80174D18) # addiu $a0, $a0, 0x4d18
/* B5F7F0 800E8650 0C03A0DB */ jal func_800E836C
/* B5F7F4 800E8654 02002825 */ move $a1, $s0
/* B5F7F8 800E8658 14400007 */ bnez $v0, .L800E8678
/* B5F7FC 800E865C 00403025 */ move $a2, $v0
/* B5F800 800E8660 3C048017 */ lui $a0, %hi(D_80174D18) # $a0, 0x8017
/* B5F804 800E8664 24844D18 */ addiu $a0, %lo(D_80174D18) # addiu $a0, $a0, 0x4d18
/* B5F808 800E8668 0C03A0EF */ jal func_800E83BC
/* B5F80C 800E866C 02002825 */ move $a1, $s0
/* B5F810 800E8670 1040003C */ beqz $v0, .L800E8764
/* B5F814 800E8674 00403025 */ move $a2, $v0
.L800E8678:
/* B5F818 800E8678 1000003E */ b .L800E8774
/* B5F81C 800E867C 00C01025 */ move $v0, $a2
.L800E8680:
/* B5F820 800E8680 0C03A0C8 */ jal func_800E8320
/* B5F824 800E8684 02002825 */ move $a1, $s0
/* B5F828 800E8688 14400034 */ bnez $v0, .L800E875C
/* B5F82C 800E868C 00403025 */ move $a2, $v0
/* B5F830 800E8690 8E0D0050 */ lw $t5, 0x50($s0)
/* B5F834 800E8694 02002825 */ move $a1, $s0
/* B5F838 800E8698 8DA4004C */ lw $a0, 0x4c($t5)
/* B5F83C 800E869C 0C03A0C8 */ jal func_800E8320
/* B5F840 800E86A0 2484009C */ addiu $a0, $a0, 0x9c
/* B5F844 800E86A4 1440002D */ bnez $v0, .L800E875C
/* B5F848 800E86A8 00403025 */ move $a2, $v0
/* B5F84C 800E86AC 3C048017 */ lui $a0, %hi(D_80174D18) # $a0, 0x8017
/* B5F850 800E86B0 24844D18 */ addiu $a0, %lo(D_80174D18) # addiu $a0, $a0, 0x4d18
/* B5F854 800E86B4 0C03A0C8 */ jal func_800E8320
/* B5F858 800E86B8 02002825 */ move $a1, $s0
/* B5F85C 800E86BC 14400027 */ bnez $v0, .L800E875C
/* B5F860 800E86C0 00403025 */ move $a2, $v0
/* B5F864 800E86C4 8E040050 */ lw $a0, 0x50($s0)
/* B5F868 800E86C8 02002825 */ move $a1, $s0
/* B5F86C 800E86CC 0C03A0DB */ jal func_800E836C
/* B5F870 800E86D0 24840084 */ addiu $a0, $a0, 0x84
/* B5F874 800E86D4 14400021 */ bnez $v0, .L800E875C
/* B5F878 800E86D8 00403025 */ move $a2, $v0
/* B5F87C 800E86DC 8E0E0050 */ lw $t6, 0x50($s0)
/* B5F880 800E86E0 02002825 */ move $a1, $s0
/* B5F884 800E86E4 8DC4004C */ lw $a0, 0x4c($t6)
/* B5F888 800E86E8 0C03A0DB */ jal func_800E836C
/* B5F88C 800E86EC 2484009C */ addiu $a0, $a0, 0x9c
/* B5F890 800E86F0 1440001A */ bnez $v0, .L800E875C
/* B5F894 800E86F4 00403025 */ move $a2, $v0
/* B5F898 800E86F8 3C048017 */ lui $a0, %hi(D_80174D18) # $a0, 0x8017
/* B5F89C 800E86FC 24844D18 */ addiu $a0, %lo(D_80174D18) # addiu $a0, $a0, 0x4d18
/* B5F8A0 800E8700 0C03A0DB */ jal func_800E836C
/* B5F8A4 800E8704 02002825 */ move $a1, $s0
/* B5F8A8 800E8708 14400014 */ bnez $v0, .L800E875C
/* B5F8AC 800E870C 00403025 */ move $a2, $v0
/* B5F8B0 800E8710 8E040050 */ lw $a0, 0x50($s0)
/* B5F8B4 800E8714 02002825 */ move $a1, $s0
/* B5F8B8 800E8718 0C03A0EF */ jal func_800E83BC
/* B5F8BC 800E871C 24840084 */ addiu $a0, $a0, 0x84
/* B5F8C0 800E8720 1440000E */ bnez $v0, .L800E875C
/* B5F8C4 800E8724 00403025 */ move $a2, $v0
/* B5F8C8 800E8728 8E0F0050 */ lw $t7, 0x50($s0)
/* B5F8CC 800E872C 02002825 */ move $a1, $s0
/* B5F8D0 800E8730 8DE4004C */ lw $a0, 0x4c($t7)
/* B5F8D4 800E8734 0C03A0EF */ jal func_800E83BC
/* B5F8D8 800E8738 2484009C */ addiu $a0, $a0, 0x9c
/* B5F8DC 800E873C 14400007 */ bnez $v0, .L800E875C
/* B5F8E0 800E8740 00403025 */ move $a2, $v0
/* B5F8E4 800E8744 3C048017 */ lui $a0, %hi(D_80174D18) # $a0, 0x8017
/* B5F8E8 800E8748 24844D18 */ addiu $a0, %lo(D_80174D18) # addiu $a0, $a0, 0x4d18
/* B5F8EC 800E874C 0C03A0EF */ jal func_800E83BC
/* B5F8F0 800E8750 02002825 */ move $a1, $s0
/* B5F8F4 800E8754 10400003 */ beqz $v0, .L800E8764
/* B5F8F8 800E8758 00403025 */ move $a2, $v0
.L800E875C:
/* B5F8FC 800E875C 10000005 */ b .L800E8774
/* B5F900 800E8760 00C01025 */ move $v0, $a2
.L800E8764:
/* B5F904 800E8764 92190000 */ lbu $t9, ($s0)
/* B5F908 800E8768 00001025 */ move $v0, $zero
/* B5F90C 800E876C 37280008 */ ori $t0, $t9, 8
/* B5F910 800E8770 A2080000 */ sb $t0, ($s0)
.L800E8774:
/* B5F914 800E8774 8FBF001C */ lw $ra, 0x1c($sp)
/* B5F918 800E8778 8FB00018 */ lw $s0, 0x18($sp)
/* B5F91C 800E877C 27BD0028 */ addiu $sp, $sp, 0x28
/* B5F920 800E8780 03E00008 */ jr $ra
/* B5F924 800E8784 00000000 */ nop
glabel func_800E8788
/* B5F928 800E8788 27BDFFC0 */ addiu $sp, $sp, -0x40
/* B5F92C 800E878C AFB40030 */ sw $s4, 0x30($sp)
/* B5F930 800E8790 3C148017 */ lui $s4, %hi(D_8016F180) # $s4, 0x8017
/* B5F934 800E8794 2694F180 */ addiu $s4, %lo(D_8016F180) # addiu $s4, $s4, -0xe80
/* B5F938 800E8798 8E8E2894 */ lw $t6, 0x2894($s4)
/* B5F93C 800E879C AFB10024 */ sw $s1, 0x24($sp)
/* B5F940 800E87A0 AFBF003C */ sw $ra, 0x3c($sp)
/* B5F944 800E87A4 AFB60038 */ sw $s6, 0x38($sp)
/* B5F948 800E87A8 AFB50034 */ sw $s5, 0x34($sp)
/* B5F94C 800E87AC AFB3002C */ sw $s3, 0x2c($sp)
/* B5F950 800E87B0 AFB20028 */ sw $s2, 0x28($sp)
/* B5F954 800E87B4 AFB00020 */ sw $s0, 0x20($sp)
/* B5F958 800E87B8 F7B40018 */ sdc1 $f20, 0x18($sp)
/* B5F95C 800E87BC 19C00032 */ blez $t6, .L800E8888
/* B5F960 800E87C0 00008825 */ move $s1, $zero
/* B5F964 800E87C4 3C168017 */ lui $s6, %hi(D_80171B40) # $s6, 0x8017
/* B5F968 800E87C8 3C158013 */ lui $s5, %hi(D_8012FAE4)
/* B5F96C 800E87CC 4480A000 */ mtc1 $zero, $f20
/* B5F970 800E87D0 26B5FAE4 */ addiu $s5, %lo(D_8012FAE4)
/* B5F974 800E87D4 26D61B40 */ addiu $s6, %lo(D_80171B40) # addiu $s6, $s6, 0x1b40
/* B5F978 800E87D8 00009025 */ move $s2, $zero
/* B5F97C 800E87DC 2413FFFF */ li $s3, -1
/* B5F980 800E87E0 8E8F352C */ lw $t7, 0x352c($s4)
.L800E87E4:
/* B5F984 800E87E4 8EB90000 */ lw $t9, ($s5)
/* B5F988 800E87E8 02C02025 */ move $a0, $s6
/* B5F98C 800E87EC 024F8021 */ addu $s0, $s2, $t7
/* B5F990 800E87F0 AE1900C0 */ sw $t9, 0xc0($s0)
/* B5F994 800E87F4 8EB80004 */ lw $t8, 4($s5)
/* B5F998 800E87F8 240501E0 */ li $a1, 480
/* B5F99C 800E87FC AE1800C4 */ sw $t8, 0xc4($s0)
/* B5F9A0 800E8800 8EB90008 */ lw $t9, 8($s5)
/* B5F9A4 800E8804 AE1900C8 */ sw $t9, 0xc8($s0)
/* B5F9A8 800E8808 8EB8000C */ lw $t8, 0xc($s5)
/* B5F9AC 800E880C AE1800CC */ sw $t8, 0xcc($s0)
/* B5F9B0 800E8810 8EB90010 */ lw $t9, 0x10($s5)
/* B5F9B4 800E8814 AE1900D0 */ sw $t9, 0xd0($s0)
/* B5F9B8 800E8818 8EB80014 */ lw $t8, 0x14($s5)
/* B5F9BC 800E881C AE1800D4 */ sw $t8, 0xd4($s0)
/* B5F9C0 800E8820 8EB90018 */ lw $t9, 0x18($s5)
/* B5F9C4 800E8824 AE1900D8 */ sw $t9, 0xd8($s0)
/* B5F9C8 800E8828 8EB8001C */ lw $t8, 0x1c($s5)
/* B5F9CC 800E882C A2000030 */ sb $zero, 0x30($s0)
/* B5F9D0 800E8830 A2000034 */ sb $zero, 0x34($s0)
/* B5F9D4 800E8834 AE130044 */ sw $s3, 0x44($s0)
/* B5F9D8 800E8838 AE130048 */ sw $s3, 0x48($s0)
/* B5F9DC 800E883C AE130040 */ sw $s3, 0x40($s0)
/* B5F9E0 800E8840 A2000031 */ sb $zero, 0x31($s0)
/* B5F9E4 800E8844 E6140058 */ swc1 $f20, 0x58($s0)
/* B5F9E8 800E8848 A6000036 */ sh $zero, 0x36($s0)
/* B5F9EC 800E884C A2000070 */ sb $zero, 0x70($s0)
/* B5F9F0 800E8850 A20000B0 */ sb $zero, 0xb0($s0)
/* B5F9F4 800E8854 A6000092 */ sh $zero, 0x92($s0)
/* B5F9F8 800E8858 A6000094 */ sh $zero, 0x94($s0)
/* B5F9FC 800E885C A2000035 */ sb $zero, 0x35($s0)
/* B5FA00 800E8860 AE0000BC */ sw $zero, 0xbc($s0)
/* B5FA04 800E8864 0C0378C2 */ jal func_800DE308
/* B5FA08 800E8868 AE1800DC */ sw $t8, 0xdc($s0)
/* B5FA0C 800E886C AE02001C */ sw $v0, 0x1c($s0)
/* B5FA10 800E8870 8E882894 */ lw $t0, 0x2894($s4)
/* B5FA14 800E8874 26310001 */ addiu $s1, $s1, 1
/* B5FA18 800E8878 265200E0 */ addiu $s2, $s2, 0xe0
/* B5FA1C 800E887C 0228082A */ slt $at, $s1, $t0
/* B5FA20 800E8880 5420FFD8 */ bnezl $at, .L800E87E4
/* B5FA24 800E8884 8E8F352C */ lw $t7, 0x352c($s4)
.L800E8888:
/* B5FA28 800E8888 8FBF003C */ lw $ra, 0x3c($sp)
/* B5FA2C 800E888C D7B40018 */ ldc1 $f20, 0x18($sp)
/* B5FA30 800E8890 8FB00020 */ lw $s0, 0x20($sp)
/* B5FA34 800E8894 8FB10024 */ lw $s1, 0x24($sp)
/* B5FA38 800E8898 8FB20028 */ lw $s2, 0x28($sp)
/* B5FA3C 800E889C 8FB3002C */ lw $s3, 0x2c($sp)
/* B5FA40 800E88A0 8FB40030 */ lw $s4, 0x30($sp)
/* B5FA44 800E88A4 8FB50034 */ lw $s5, 0x34($sp)
/* B5FA48 800E88A8 8FB60038 */ lw $s6, 0x38($sp)
/* B5FA4C 800E88AC 03E00008 */ jr $ra
/* B5FA50 800E88B0 27BD0040 */ addiu $sp, $sp, 0x40