Files
mk64/asm/audio/external.s
T
CoderStig f4532f26bb Shift fixes (#22)
* Fixed many shift issues.
2021-04-26 17:53:21 -06:00

11131 lines
563 KiB
ArmAsm

# Mario Kart 64 (U) disassembly and split file
# generated by n64split v0.4a - N64 ROM splitter
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64
.include "macros.inc"
.section .text, "ax"
/* 0C1FF0 800C13F0 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 0C1FF4 800C13F4 03E00008 */ jr $ra
/* 0C1FF8 800C13F8 27BD0010 */ addiu $sp, $sp, 0x10
glabel func_800C13FC
/* 0C1FFC 800C13FC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0C2000 800C1400 AFA40038 */ sw $a0, 0x38($sp)
/* 0C2004 800C1404 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C2008 800C1408 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C200C 800C140C 3C04800F */ lui $a0, %hi(D_800EA3B4) # $a0, 0x800f
/* 0C2010 800C1410 03A0F025 */ move $fp, $sp
/* 0C2014 800C1414 8C84A3B4 */ lw $a0, %lo(D_800EA3B4)($a0)
/* 0C2018 800C1418 27A50034 */ addiu $a1, $sp, 0x34
/* 0C201C 800C141C 0C0335D4 */ jal osRecvMesg
/* 0C2020 800C1420 00003025 */ move $a2, $zero
/* 0C2024 800C1424 3C04800F */ lui $a0, %hi(D_800EA3B0) # $a0, 0x800f
/* 0C2028 800C1428 8C84A3B0 */ lw $a0, %lo(D_800EA3B0)($a0)
/* 0C202C 800C142C 8FC50038 */ lw $a1, 0x38($fp)
/* 0C2030 800C1430 0C033630 */ jal osSendMesg
/* 0C2034 800C1434 00003025 */ move $a2, $zero
/* 0C2038 800C1438 3C04800F */ lui $a0, %hi(D_800EA3B4) # $a0, 0x800f
/* 0C203C 800C143C 8C84A3B4 */ lw $a0, %lo(D_800EA3B4)($a0)
/* 0C2040 800C1440 27C50034 */ addiu $a1, $fp, 0x34
/* 0C2044 800C1444 0C0335D4 */ jal osRecvMesg
/* 0C2048 800C1448 24060001 */ li $a2, 1
/* 0C204C 800C144C 8FCE0034 */ lw $t6, 0x34($fp)
/* 0C2050 800C1450 8FCF0038 */ lw $t7, 0x38($fp)
/* 0C2054 800C1454 3C04800F */ lui $a0, %hi(D_800EA3B4) # $a0, 0x800f
/* 0C2058 800C1458 27C50034 */ addiu $a1, $fp, 0x34
/* 0C205C 800C145C 11CF0003 */ beq $t6, $t7, .L800C146C
/* 0C2060 800C1460 24060001 */ li $a2, 1
/* 0C2064 800C1464 0C0335D4 */ jal osRecvMesg
/* 0C2068 800C1468 8C84A3B4 */ lw $a0, %lo(D_800EA3B4)($a0)
.L800C146C:
/* 0C206C 800C146C 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C2070 800C1470 03C0E825 */ move $sp, $fp
/* 0C2074 800C1474 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C2078 800C1478 03E00008 */ jr $ra
/* 0C207C 800C147C 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800C1480
/* 0C2080 800C1480 308E00FF */ andi $t6, $a0, 0xff
/* 0C2084 800C1484 30AF00FF */ andi $t7, $a1, 0xff
/* 0C2088 800C1488 000FC880 */ sll $t9, $t7, 2
/* 0C208C 800C148C 000EC100 */ sll $t8, $t6, 4
/* 0C2090 800C1490 030EC023 */ subu $t8, $t8, $t6
/* 0C2094 800C1494 032FC823 */ subu $t9, $t9, $t7
/* 0C2098 800C1498 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C209C 800C149C 0019C900 */ sll $t9, $t9, 4
/* 0C20A0 800C14A0 0018C180 */ sll $t8, $t8, 6
/* 0C20A4 800C14A4 3C098019 */ lui $t1, %hi(D_80191420) # $t1, 0x8019
/* 0C20A8 800C14A8 25291420 */ addiu $t1, %lo(D_80191420) # addiu $t1, $t1, 0x1420
/* 0C20AC 800C14AC 03194021 */ addu $t0, $t8, $t9
/* 0C20B0 800C14B0 ADA40010 */ sw $a0, 0x10($t5)
/* 0C20B4 800C14B4 ADA50014 */ sw $a1, 0x14($t5)
/* 0C20B8 800C14B8 01091021 */ addu $v0, $t0, $t1
/* 0C20BC 800C14BC 8C430024 */ lw $v1, 0x24($v0)
/* 0C20C0 800C14C0 3C0144FA */ li $at, 0x44FA0000 # 2000.000000
/* 0C20C4 800C14C4 01A0E825 */ move $sp, $t5
/* 0C20C8 800C14C8 00035240 */ sll $t2, $v1, 9
/* 0C20CC 800C14CC 05430006 */ bgezl $t2, .L800C14E8
/* 0C20D0 800C14D0 44817000 */ mtc1 $at, $f14
/* 0C20D4 800C14D4 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C20D8 800C14D8 44810000 */ mtc1 $at, $f0
/* 0C20DC 800C14DC 1000003A */ b .L800C15C8
/* 0C20E0 800C14E0 00000000 */ nop
/* 0C20E4 800C14E4 44817000 */ mtc1 $at, $f14
.L800C14E8:
/* 0C20E8 800C14E8 C440001C */ lwc1 $f0, 0x1c($v0)
/* 0C20EC 800C14EC 3C040003 */ lui $a0, 3
/* 0C20F0 800C14F0 00641024 */ and $v0, $v1, $a0
/* 0C20F4 800C14F4 4600703C */ c.lt.s $f14, $f0
/* 0C20F8 800C14F8 3C010001 */ lui $at, 1
/* 0C20FC 800C14FC 45000004 */ bc1f .L800C1510
/* 0C2100 800C1500 00000000 */ nop
/* 0C2104 800C1504 44801000 */ mtc1 $zero, $f2
/* 0C2108 800C1508 1000002F */ b .L800C15C8
/* 0C210C 800C150C 46001006 */ mov.s $f0, $f2
.L800C1510:
/* 0C2110 800C1510 10410007 */ beq $v0, $at, .L800C1530
/* 0C2114 800C1514 3C010002 */ lui $at, 2
/* 0C2118 800C1518 10410007 */ beq $v0, $at, .L800C1538
/* 0C211C 800C151C 00000000 */ nop
/* 0C2120 800C1520 50440008 */ beql $v0, $a0, .L800C1544
/* 0C2124 800C1524 240203E8 */ li $v0, 1000
/* 0C2128 800C1528 10000006 */ b .L800C1544
/* 0C212C 800C152C 24020190 */ li $v0, 400
.L800C1530:
/* 0C2130 800C1530 10000004 */ b .L800C1544
/* 0C2134 800C1534 240201F4 */ li $v0, 500
.L800C1538:
/* 0C2138 800C1538 10000002 */ b .L800C1544
/* 0C213C 800C153C 2402029A */ li $v0, 666
/* 0C2140 800C1540 240203E8 */ li $v0, 1000
.L800C1544:
/* 0C2144 800C1544 44822000 */ mtc1 $v0, $f4
/* 0C2148 800C1548 00000000 */ nop
/* 0C214C 800C154C 46802320 */ cvt.s.w $f12, $f4
/* 0C2150 800C1550 460C003C */ c.lt.s $f0, $f12
/* 0C2154 800C1554 00000000 */ nop
/* 0C2158 800C1558 4502000C */ bc1fl .L800C158C
/* 0C215C 800C155C 460C0181 */ sub.s $f6, $f0, $f12
/* 0C2160 800C1560 46006181 */ sub.s $f6, $f12, $f0
/* 0C2164 800C1564 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
/* 0C2168 800C1568 44818800 */ mtc1 $at, $f17
/* 0C216C 800C156C 44808000 */ mtc1 $zero, $f16
/* 0C2170 800C1570 460C3203 */ div.s $f8, $f6, $f12
/* 0C2174 800C1574 460042A1 */ cvt.d.s $f10, $f8
/* 0C2178 800C1578 46305482 */ mul.d $f18, $f10, $f16
/* 0C217C 800C157C 46309100 */ add.d $f4, $f18, $f16
/* 0C2180 800C1580 1000000E */ b .L800C15BC
/* 0C2184 800C1584 462020A0 */ cvt.s.d $f2, $f4
/* 0C2188 800C1588 460C0181 */ sub.s $f6, $f0, $f12
.L800C158C:
/* 0C218C 800C158C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
/* 0C2190 800C1590 44818800 */ mtc1 $at, $f17
/* 0C2194 800C1594 460C7201 */ sub.s $f8, $f14, $f12
/* 0C2198 800C1598 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
/* 0C219C 800C159C 44812800 */ mtc1 $at, $f5
/* 0C21A0 800C15A0 44802000 */ mtc1 $zero, $f4
/* 0C21A4 800C15A4 46083283 */ div.s $f10, $f6, $f8
/* 0C21A8 800C15A8 44808000 */ mtc1 $zero, $f16
/* 0C21AC 800C15AC 460054A1 */ cvt.d.s $f18, $f10
/* 0C21B0 800C15B0 46322181 */ sub.d $f6, $f4, $f18
/* 0C21B4 800C15B4 46303202 */ mul.d $f8, $f6, $f16
/* 0C21B8 800C15B8 462040A0 */ cvt.s.d $f2, $f8
.L800C15BC:
/* 0C21BC 800C15BC 46021082 */ mul.s $f2, $f2, $f2
/* 0C21C0 800C15C0 00000000 */ nop
/* 0C21C4 800C15C4 46001006 */ mov.s $f0, $f2
.L800C15C8:
/* 0C21C8 800C15C8 03E00008 */ jr $ra
/* 0C21CC 800C15CC 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C15D0
/* 0C21D0 800C15D0 308E00FF */ andi $t6, $a0, 0xff
/* 0C21D4 800C15D4 30AF00FF */ andi $t7, $a1, 0xff
/* 0C21D8 800C15D8 000F4080 */ sll $t0, $t7, 2
/* 0C21DC 800C15DC 000EC900 */ sll $t9, $t6, 4
/* 0C21E0 800C15E0 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C21E4 800C15E4 032EC823 */ subu $t9, $t9, $t6
/* 0C21E8 800C15E8 010F4023 */ subu $t0, $t0, $t7
/* 0C21EC 800C15EC 00084100 */ sll $t0, $t0, 4
/* 0C21F0 800C15F0 0019C980 */ sll $t9, $t9, 6
/* 0C21F4 800C15F4 3C0A8019 */ lui $t2, %hi(D_80191420) # $t2, 0x8019
/* 0C21F8 800C15F8 254A1420 */ addiu $t2, %lo(D_80191420) # addiu $t2, $t2, 0x1420
/* 0C21FC 800C15FC 03284821 */ addu $t1, $t9, $t0
/* 0C2200 800C1600 ADA40010 */ sw $a0, 0x10($t5)
/* 0C2204 800C1604 ADA50014 */ sw $a1, 0x14($t5)
/* 0C2208 800C1608 ADA60018 */ sw $a2, 0x18($t5)
/* 0C220C 800C160C 012A3821 */ addu $a3, $t1, $t2
/* 0C2210 800C1610 8CEB0024 */ lw $t3, 0x24($a3)
/* 0C2214 800C1614 30D800FF */ andi $t8, $a2, 0xff
/* 0C2218 800C1618 03003025 */ move $a2, $t8
/* 0C221C 800C161C 000B6280 */ sll $t4, $t3, 0xa
/* 0C2220 800C1620 00001025 */ move $v0, $zero
/* 0C2224 800C1624 05800014 */ bltz $t4, .L800C1678
/* 0C2228 800C1628 00001825 */ move $v1, $zero
/* 0C222C 800C162C 3C0143FA */ li $at, 0x43FA0000 # 500.000000
/* 0C2230 800C1630 44811000 */ mtc1 $at, $f2
/* 0C2234 800C1634 C4E0001C */ lwc1 $f0, 0x1c($a3)
/* 0C2238 800C1638 2402000A */ li $v0, 10
/* 0C223C 800C163C 4602003C */ c.lt.s $f0, $f2
/* 0C2240 800C1640 00000000 */ nop
/* 0C2244 800C1644 4500000C */ bc1f .L800C1678
/* 0C2248 800C1648 00000000 */ nop
/* 0C224C 800C164C 46020103 */ div.s $f4, $f0, $f2
/* 0C2250 800C1650 3C014120 */ li $at, 0x41200000 # 10.000000
/* 0C2254 800C1654 44813000 */ mtc1 $at, $f6
/* 0C2258 800C1658 00000000 */ nop
/* 0C225C 800C165C 46062202 */ mul.s $f8, $f4, $f6
/* 0C2260 800C1660 4600428D */ trunc.w.s $f10, $f8
/* 0C2264 800C1664 44025000 */ mfc1 $v0, $f10
/* 0C2268 800C1668 00000000 */ nop
/* 0C226C 800C166C 00027E00 */ sll $t7, $v0, 0x18
/* 0C2270 800C1670 10000001 */ b .L800C1678
/* 0C2274 800C1674 000F1603 */ sra $v0, $t7, 0x18
.L800C1678:
/* 0C2278 800C1678 0006C880 */ sll $t9, $a2, 2
/* 0C227C 800C167C 3C04803B */ lui $a0, %hi(D_803B17D0) # 0x803b
/* 0C2280 800C1680 00992021 */ addu $a0, $a0, $t9
/* 0C2284 800C1684 8C8417D0 */ lw $a0, %lo(D_803B17D0)($a0) # 0x17d0($a0)
/* 0C2288 800C1688 3C08803B */ lui $t0, %hi(D_803B5EF0) # $t0, 0x803b
/* 0C228C 800C168C 25085EF0 */ addiu $t0, %lo(D_803B5EF0) # addiu $t0, $t0, 0x5ef0
/* 0C2290 800C1690 11040002 */ beq $t0, $a0, .L800C169C
/* 0C2294 800C1694 2401FFFF */ li $at, -1
/* 0C2298 800C1698 8083005E */ lb $v1, 0x5e($a0)
.L800C169C:
/* 0C229C 800C169C 14610002 */ bne $v1, $at, .L800C16A8
/* 0C22A0 800C16A0 01A0E825 */ move $sp, $t5
/* 0C22A4 800C16A4 00001825 */ move $v1, $zero
.L800C16A8:
/* 0C22A8 800C16A8 8CE90018 */ lw $t1, 0x18($a3)
/* 0C22AC 800C16AC 3C0E8019 */ lui $t6, %hi(D_8018EF10) # $t6, 0x8019
/* 0C22B0 800C16B0 81CEEF10 */ lb $t6, %lo(D_8018EF10)($t6)
/* 0C22B4 800C16B4 812A0000 */ lb $t2, ($t1)
/* 0C22B8 800C16B8 25BD0010 */ addiu $sp, $t5, 0x10
/* 0C22BC 800C16BC 01425821 */ addu $t3, $t2, $v0
/* 0C22C0 800C16C0 01636021 */ addu $t4, $t3, $v1
/* 0C22C4 800C16C4 018E2021 */ addu $a0, $t4, $t6
/* 0C22C8 800C16C8 28810080 */ slti $at, $a0, 0x80
/* 0C22CC 800C16CC 54200003 */ bnel $at, $zero, .L800C16DC
/* 0C22D0 800C16D0 00041600 */ sll $v0, $a0, 0x18
/* 0C22D4 800C16D4 2404007F */ li $a0, 127
/* 0C22D8 800C16D8 00041600 */ sll $v0, $a0, 0x18
.L800C16DC:
/* 0C22DC 800C16DC 00027E03 */ sra $t7, $v0, 0x18
/* 0C22E0 800C16E0 03E00008 */ jr $ra
/* 0C22E4 800C16E4 01E01025 */ move $v0, $t7
glabel func_800C16E8
/* 0C22E8 800C16E8 27ADFFE8 */ addiu $t5, $sp, -0x18
/* 0C22EC 800C16EC F5B40010 */ sdc1 $f20, 0x10($t5)
/* 0C22F0 800C16F0 E5AE001C */ swc1 $f14, 0x1c($t5)
/* 0C22F4 800C16F4 ADA60020 */ sw $a2, 0x20($t5)
/* 0C22F8 800C16F8 3C0F800F */ lui $t7, %hi(D_800EA1C0) # $t7, 0x800f
/* 0C22FC 800C16FC 91EFA1C0 */ lbu $t7, %lo(D_800EA1C0)($t7)
/* 0C2300 800C1700 30CE00FF */ andi $t6, $a2, 0xff
/* 0C2304 800C1704 01C03025 */ move $a2, $t6
/* 0C2308 800C1708 15E00082 */ bnez $t7, .L800C1914
/* 0C230C 800C170C 01A0E825 */ move $sp, $t5
/* 0C2310 800C1710 3C18800F */ lui $t8, %hi(D_800EA0F4) # $t8, 0x800f
/* 0C2314 800C1714 9318A0F4 */ lbu $t8, %lo(D_800EA0F4)($t8)
/* 0C2318 800C1718 44802000 */ mtc1 $zero, $f4
/* 0C231C 800C171C 44804000 */ mtc1 $zero, $f8
/* 0C2320 800C1720 44805000 */ mtc1 $zero, $f10
/* 0C2324 800C1724 13000009 */ beqz $t8, .L800C174C
/* 0C2328 800C1728 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 0C232C 800C172C 3C014120 */ li $at, 0x41200000 # 10.000000
/* 0C2330 800C1730 44818000 */ mtc1 $at, $f16
/* 0C2334 800C1734 3C0141A0 */ li $at, 0x41A00000 # 20.000000
/* 0C2338 800C1738 44817000 */ mtc1 $at, $f14
/* 0C233C 800C173C 3C014020 */ li $at, 0x40200000 # 2.500000
/* 0C2340 800C1740 44819000 */ mtc1 $at, $f18
/* 0C2344 800C1744 10000008 */ b .L800C1768
/* 0C2348 800C1748 46008086 */ mov.s $f2, $f16
.L800C174C:
/* 0C234C 800C174C 44811000 */ mtc1 $at, $f2
/* 0C2350 800C1750 3C014348 */ li $at, 0x43480000 # 200.000000
/* 0C2354 800C1754 44817000 */ mtc1 $at, $f14
/* 0C2358 800C1758 3C0140A0 */ li $at, 0x40A00000 # 5.000000
/* 0C235C 800C175C 44818000 */ mtc1 $at, $f16
/* 0C2360 800C1760 3C01800F */ lui $at, %hi(D_800F35C0) # $at, 0x800f
/* 0C2364 800C1764 C43235C0 */ lwc1 $f18, %lo(D_800F35C0)($at)
.L800C1768:
/* 0C2368 800C1768 4604603C */ c.lt.s $f12, $f4
/* 0C236C 800C176C 00000000 */ nop
/* 0C2370 800C1770 45020004 */ bc1fl .L800C1784
/* 0C2374 800C1774 46006506 */ mov.s $f20, $f12
/* 0C2378 800C1778 10000002 */ b .L800C1784
/* 0C237C 800C177C 46006507 */ neg.s $f20, $f12
/* 0C2380 800C1780 46006506 */ mov.s $f20, $f12
.L800C1784:
/* 0C2384 800C1784 4614103C */ c.lt.s $f2, $f20
/* 0C2388 800C1788 00000000 */ nop
/* 0C238C 800C178C 45020003 */ bc1fl .L800C179C
/* 0C2390 800C1790 C5A6001C */ lwc1 $f6, 0x1c($t5)
/* 0C2394 800C1794 46001506 */ mov.s $f20, $f2
/* 0C2398 800C1798 C5A6001C */ lwc1 $f6, 0x1c($t5)
.L800C179C:
/* 0C239C 800C179C 4608303C */ c.lt.s $f6, $f8
/* 0C23A0 800C17A0 00000000 */ nop
/* 0C23A4 800C17A4 45020004 */ bc1fl .L800C17B8
/* 0C23A8 800C17A8 C5A0001C */ lwc1 $f0, 0x1c($t5)
/* 0C23AC 800C17AC 10000002 */ b .L800C17B8
/* 0C23B0 800C17B0 46003007 */ neg.s $f0, $f6
/* 0C23B4 800C17B4 C5A0001C */ lwc1 $f0, 0x1c($t5)
.L800C17B8:
/* 0C23B8 800C17B8 4600103C */ c.lt.s $f2, $f0
/* 0C23BC 800C17BC 00000000 */ nop
/* 0C23C0 800C17C0 45020003 */ bc1fl .L800C17D0
/* 0C23C4 800C17C4 460A6032 */ c.eq.s $f12, $f10
/* 0C23C8 800C17C8 46001006 */ mov.s $f0, $f2
/* 0C23CC 800C17CC 460A6032 */ c.eq.s $f12, $f10
.L800C17D0:
/* 0C23D0 800C17D0 00000000 */ nop
/* 0C23D4 800C17D4 4502000E */ bc1fl .L800C1810
/* 0C23D8 800C17D8 44803000 */ mtc1 $zero, $f6
/* 0C23DC 800C17DC C5A4001C */ lwc1 $f4, 0x1c($t5)
/* 0C23E0 800C17E0 44804000 */ mtc1 $zero, $f8
/* 0C23E4 800C17E4 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 0C23E8 800C17E8 46082032 */ c.eq.s $f4, $f8
/* 0C23EC 800C17EC 00000000 */ nop
/* 0C23F0 800C17F0 45020007 */ bc1fl .L800C1810
/* 0C23F4 800C17F4 44803000 */ mtc1 $zero, $f6
/* 0C23F8 800C17F8 44811000 */ mtc1 $at, $f2
/* 0C23FC 800C17FC 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C2400 800C1800 44816000 */ mtc1 $at, $f12
/* 0C2404 800C1804 1000002C */ b .L800C18B8
/* 0C2408 800C1808 4602603C */ c.lt.s $f12, $f2
/* 0C240C 800C180C 44803000 */ mtc1 $zero, $f6
.L800C1810:
/* 0C2410 800C1810 00000000 */ nop
/* 0C2414 800C1814 460C303E */ c.le.s $f6, $f12
/* 0C2418 800C1818 00000000 */ nop
/* 0C241C 800C181C 4502000E */ bc1fl .L800C1858
/* 0C2420 800C1820 44802000 */ mtc1 $zero, $f4
/* 0C2424 800C1824 4614003E */ c.le.s $f0, $f20
/* 0C2428 800C1828 00000000 */ nop
/* 0C242C 800C182C 4502000A */ bc1fl .L800C1858
/* 0C2430 800C1830 44802000 */ mtc1 $zero, $f4
/* 0C2434 800C1834 46007101 */ sub.s $f4, $f14, $f0
/* 0C2438 800C1838 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C243C 800C183C 44816000 */ mtc1 $at, $f12
/* 0C2440 800C1840 46147281 */ sub.s $f10, $f14, $f20
/* 0C2444 800C1844 46048202 */ mul.s $f8, $f16, $f4
/* 0C2448 800C1848 46085183 */ div.s $f6, $f10, $f8
/* 0C244C 800C184C 10000019 */ b .L800C18B4
/* 0C2450 800C1850 46066081 */ sub.s $f2, $f12, $f6
/* 0C2454 800C1854 44802000 */ mtc1 $zero, $f4
.L800C1858:
/* 0C2458 800C1858 00000000 */ nop
/* 0C245C 800C185C 4604603C */ c.lt.s $f12, $f4
/* 0C2460 800C1860 00000000 */ nop
/* 0C2464 800C1864 4500000C */ bc1f .L800C1898
/* 0C2468 800C1868 00000000 */ nop
/* 0C246C 800C186C 4614003E */ c.le.s $f0, $f20
/* 0C2470 800C1870 00000000 */ nop
/* 0C2474 800C1874 45000008 */ bc1f .L800C1898
/* 0C2478 800C1878 00000000 */ nop
/* 0C247C 800C187C 46007201 */ sub.s $f8, $f14, $f0
/* 0C2480 800C1880 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C2484 800C1884 44816000 */ mtc1 $at, $f12
/* 0C2488 800C1888 46147281 */ sub.s $f10, $f14, $f20
/* 0C248C 800C188C 46088182 */ mul.s $f6, $f16, $f8
/* 0C2490 800C1890 10000008 */ b .L800C18B4
/* 0C2494 800C1894 46065083 */ div.s $f2, $f10, $f6
.L800C1898:
/* 0C2498 800C1898 46009102 */ mul.s $f4, $f18, $f0
/* 0C249C 800C189C 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 0C24A0 800C18A0 44815000 */ mtc1 $at, $f10
/* 0C24A4 800C18A4 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C24A8 800C18A8 46046203 */ div.s $f8, $f12, $f4
/* 0C24AC 800C18AC 44816000 */ mtc1 $at, $f12
/* 0C24B0 800C18B0 460A4080 */ add.s $f2, $f8, $f10
.L800C18B4:
/* 0C24B4 800C18B4 4602603C */ c.lt.s $f12, $f2
.L800C18B8:
/* 0C24B8 800C18B8 3C0142FE */ li $at, 0x42FE0000 # 127.000000
/* 0C24BC 800C18BC 44803000 */ mtc1 $zero, $f6
/* 0C24C0 800C18C0 44812000 */ mtc1 $at, $f4
/* 0C24C4 800C18C4 45020003 */ bc1fl .L800C18D4
/* 0C24C8 800C18C8 4606103C */ c.lt.s $f2, $f6
/* 0C24CC 800C18CC 46006086 */ mov.s $f2, $f12
/* 0C24D0 800C18D0 4606103C */ c.lt.s $f2, $f6
.L800C18D4:
/* 0C24D4 800C18D4 00000000 */ nop
/* 0C24D8 800C18D8 45000003 */ bc1f .L800C18E8
/* 0C24DC 800C18DC 00000000 */ nop
/* 0C24E0 800C18E0 44801000 */ mtc1 $zero, $f2
/* 0C24E4 800C18E4 00000000 */ nop
.L800C18E8:
/* 0C24E8 800C18E8 46041202 */ mul.s $f8, $f2, $f4
/* 0C24EC 800C18EC 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 0C24F0 800C18F0 44815000 */ mtc1 $at, $f10
/* 0C24F4 800C18F4 00000000 */ nop
/* 0C24F8 800C18F8 460A4180 */ add.s $f6, $f8, $f10
/* 0C24FC 800C18FC 4600310D */ trunc.w.s $f4, $f6
/* 0C2500 800C1900 44022000 */ mfc1 $v0, $f4
/* 0C2504 800C1904 00000000 */ nop
/* 0C2508 800C1908 00024600 */ sll $t0, $v0, 0x18
/* 0C250C 800C190C 10000006 */ b .L800C1928
/* 0C2510 800C1910 00081603 */ sra $v0, $t0, 0x18
.L800C1914:
/* 0C2514 800C1914 30C20001 */ andi $v0, $a2, 1
/* 0C2518 800C1918 000251C0 */ sll $t2, $v0, 7
/* 0C251C 800C191C 01425023 */ subu $t2, $t2, $v0
/* 0C2520 800C1920 000A5E00 */ sll $t3, $t2, 0x18
/* 0C2524 800C1924 000B1603 */ sra $v0, $t3, 0x18
.L800C1928:
/* 0C2528 800C1928 D5B40010 */ ldc1 $f20, 0x10($t5)
/* 0C252C 800C192C 03E00008 */ jr $ra
/* 0C2530 800C1930 25BD0018 */ addiu $sp, $t5, 0x18
glabel func_800C1934
/* 0C2534 800C1934 308E00FF */ andi $t6, $a0, 0xff
/* 0C2538 800C1938 30AF00FF */ andi $t7, $a1, 0xff
/* 0C253C 800C193C 000FC880 */ sll $t9, $t7, 2
/* 0C2540 800C1940 000EC100 */ sll $t8, $t6, 4
/* 0C2544 800C1944 030EC023 */ subu $t8, $t8, $t6
/* 0C2548 800C1948 032FC823 */ subu $t9, $t9, $t7
/* 0C254C 800C194C 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C2550 800C1950 0019C900 */ sll $t9, $t9, 4
/* 0C2554 800C1954 0018C180 */ sll $t8, $t8, 6
/* 0C2558 800C1958 03194021 */ addu $t0, $t8, $t9
/* 0C255C 800C195C 3C098019 */ lui $t1, %hi(D_80191444) # 0x8019
/* 0C2560 800C1960 ADA40010 */ sw $a0, 0x10($t5)
/* 0C2564 800C1964 ADA50014 */ sw $a1, 0x14($t5)
/* 0C2568 800C1968 01284821 */ addu $t1, $t1, $t0
/* 0C256C 800C196C 8D291444 */ lw $t1, %lo(D_80191444)($t1) # 0x1444($t1)
/* 0C2570 800C1970 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C2574 800C1974 44810000 */ mtc1 $at, $f0
/* 0C2578 800C1978 00095200 */ sll $t2, $t1, 8
/* 0C257C 800C197C 05410010 */ bgez $t2, .L800C19C0
/* 0C2580 800C1980 46000086 */ mov.s $f2, $f0
/* 0C2584 800C1984 3C0B803B */ lui $t3, %hi(D_803B7194) # $t3, 0x803b
/* 0C2588 800C1988 8D6B7194 */ lw $t3, %lo(D_803B7194)($t3)
/* 0C258C 800C198C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C2590 800C1990 316C000F */ andi $t4, $t3, 0xf
/* 0C2594 800C1994 448C2000 */ mtc1 $t4, $f4
/* 0C2598 800C1998 05810004 */ bgez $t4, .L800C19AC
/* 0C259C 800C199C 468021A0 */ cvt.s.w $f6, $f4
/* 0C25A0 800C19A0 44814000 */ mtc1 $at, $f8
/* 0C25A4 800C19A4 00000000 */ nop
/* 0C25A8 800C19A8 46083180 */ add.s $f6, $f6, $f8
.L800C19AC:
/* 0C25AC 800C19AC 3C014340 */ li $at, 0x43400000 # 192.000000
/* 0C25B0 800C19B0 44815000 */ mtc1 $at, $f10
/* 0C25B4 800C19B4 00000000 */ nop
/* 0C25B8 800C19B8 460A3403 */ div.s $f16, $f6, $f10
/* 0C25BC 800C19BC 46100081 */ sub.s $f2, $f0, $f16
.L800C19C0:
/* 0C25C0 800C19C0 01A0E825 */ move $sp, $t5
/* 0C25C4 800C19C4 25BD0010 */ addiu $sp, $t5, 0x10
/* 0C25C8 800C19C8 03E00008 */ jr $ra
/* 0C25CC 800C19CC 46001006 */ mov.s $f0, $f2
glabel func_800C19D0
/* 0C25D0 800C19D0 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 0C25D4 800C19D4 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C25D8 800C19D8 44810000 */ mtc1 $at, $f0
/* 0C25DC 800C19DC 308E00FF */ andi $t6, $a0, 0xff
/* 0C25E0 800C19E0 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C25E4 800C19E4 AFA40040 */ sw $a0, 0x40($sp)
/* 0C25E8 800C19E8 240F0040 */ li $t7, 64
/* 0C25EC 800C19EC 2DC10006 */ sltiu $at, $t6, 6
/* 0C25F0 800C19F0 01C02025 */ move $a0, $t6
/* 0C25F4 800C19F4 03A0F025 */ move $fp, $sp
/* 0C25F8 800C19F8 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C25FC 800C19FC AFB00024 */ sw $s0, 0x24($sp)
/* 0C2600 800C1A00 AFA50044 */ sw $a1, 0x44($sp)
/* 0C2604 800C1A04 AFA60048 */ sw $a2, 0x48($sp)
/* 0C2608 800C1A08 A3A0003B */ sb $zero, 0x3b($sp)
/* 0C260C 800C1A0C A3AF0033 */ sb $t7, 0x33($sp)
/* 0C2610 800C1A10 E7A0003C */ swc1 $f0, 0x3c($sp)
/* 0C2614 800C1A14 10200035 */ beqz $at, .L800C1AEC
/* 0C2618 800C1A18 E7A00034 */ swc1 $f0, 0x34($sp)
/* 0C261C 800C1A1C 000EC080 */ sll $t8, $t6, 2
/* 0C2620 800C1A20 3C01800F */ lui $at, %hi(D_800F35C4)
/* 0C2624 800C1A24 00380821 */ addu $at, $at, $t8
/* 0C2628 800C1A28 8C3835C4 */ lw $t8, %lo(D_800F35C4)($at)
/* 0C262C 800C1A2C 03000008 */ jr $t8
/* 0C2630 800C1A30 00000000 */ nop
glabel L800C1A34
/* 0C2634 800C1A34 93C80047 */ lbu $t0, 0x47($fp)
/* 0C2638 800C1A38 0004C900 */ sll $t9, $a0, 4
/* 0C263C 800C1A3C 0324C823 */ subu $t9, $t9, $a0
/* 0C2640 800C1A40 00084880 */ sll $t1, $t0, 2
/* 0C2644 800C1A44 01284823 */ subu $t1, $t1, $t0
/* 0C2648 800C1A48 00094900 */ sll $t1, $t1, 4
/* 0C264C 800C1A4C 0019C980 */ sll $t9, $t9, 6
/* 0C2650 800C1A50 3C0B8019 */ lui $t3, %hi(D_80191420) # $t3, 0x8019
/* 0C2654 800C1A54 256B1420 */ addiu $t3, %lo(D_80191420) # addiu $t3, $t3, 0x1420
/* 0C2658 800C1A58 03295021 */ addu $t2, $t9, $t1
/* 0C265C 800C1A5C 014B8021 */ addu $s0, $t2, $t3
/* 0C2660 800C1A60 C60C001C */ lwc1 $f12, 0x1c($s0)
/* 0C2664 800C1A64 0C033850 */ jal sqrtf
/* 0C2668 800C1A68 A3C40043 */ sb $a0, 0x43($fp)
/* 0C266C 800C1A6C E600001C */ swc1 $f0, 0x1c($s0)
/* 0C2670 800C1A70 93C50047 */ lbu $a1, 0x47($fp)
/* 0C2674 800C1A74 0C030520 */ jal func_800C1480
/* 0C2678 800C1A78 93C40043 */ lbu $a0, 0x43($fp)
/* 0C267C 800C1A7C 8E0D0014 */ lw $t5, 0x14($s0)
/* 0C2680 800C1A80 93C40043 */ lbu $a0, 0x43($fp)
/* 0C2684 800C1A84 3C018019 */ lui $at, %hi(D_80192C48)
/* 0C2688 800C1A88 C5A60000 */ lwc1 $f6, ($t5)
/* 0C268C 800C1A8C 00046100 */ sll $t4, $a0, 4
/* 0C2690 800C1A90 002C0821 */ addu $at, $at, $t4
/* 0C2694 800C1A94 46060202 */ mul.s $f8, $f0, $f6
/* 0C2698 800C1A98 C4242C48 */ lwc1 $f4, %lo(D_80192C48)($at)
/* 0C269C 800C1A9C 93C50047 */ lbu $a1, 0x47($fp)
/* 0C26A0 800C1AA0 93C6004B */ lbu $a2, 0x4b($fp)
/* 0C26A4 800C1AA4 46082282 */ mul.s $f10, $f4, $f8
/* 0C26A8 800C1AA8 0C030574 */ jal func_800C15D0
/* 0C26AC 800C1AAC E7CA003C */ swc1 $f10, 0x3c($fp)
/* 0C26B0 800C1AB0 A3C2003B */ sb $v0, 0x3b($fp)
/* 0C26B4 800C1AB4 93C40043 */ lbu $a0, 0x43($fp)
/* 0C26B8 800C1AB8 0C03064D */ jal func_800C1934
/* 0C26BC 800C1ABC 93C50047 */ lbu $a1, 0x47($fp)
/* 0C26C0 800C1AC0 8E0E0010 */ lw $t6, 0x10($s0)
/* 0C26C4 800C1AC4 C5D00000 */ lwc1 $f16, ($t6)
/* 0C26C8 800C1AC8 46008482 */ mul.s $f18, $f16, $f0
/* 0C26CC 800C1ACC E7D20034 */ swc1 $f18, 0x34($fp)
/* 0C26D0 800C1AD0 8E180008 */ lw $t8, 8($s0)
/* 0C26D4 800C1AD4 8E0F0000 */ lw $t7, ($s0)
/* 0C26D8 800C1AD8 9206000C */ lbu $a2, 0xc($s0)
/* 0C26DC 800C1ADC C70E0000 */ lwc1 $f14, ($t8)
/* 0C26E0 800C1AE0 0C0305BA */ jal func_800C16E8
/* 0C26E4 800C1AE4 C5EC0000 */ lwc1 $f12, ($t7)
/* 0C26E8 800C1AE8 A3C20033 */ sb $v0, 0x33($fp)
.L800C1AEC:
glabel L800C1AEC
/* 0C26EC 800C1AEC 93C8004B */ lbu $t0, 0x4b($fp)
/* 0C26F0 800C1AF0 3C098019 */ lui $t1, %hi(D_8018EF18) # $t1, 0x8019
/* 0C26F4 800C1AF4 2529EF18 */ addiu $t1, %lo(D_8018EF18) # addiu $t1, $t1, -0x10e8
/* 0C26F8 800C1AF8 0008C880 */ sll $t9, $t0, 2
/* 0C26FC 800C1AFC 0328C823 */ subu $t9, $t9, $t0
/* 0C2700 800C1B00 0019C880 */ sll $t9, $t9, 2
/* 0C2704 800C1B04 03298021 */ addu $s0, $t9, $t1
/* 0C2708 800C1B08 C6040000 */ lwc1 $f4, ($s0)
/* 0C270C 800C1B0C C7C6003C */ lwc1 $f6, 0x3c($fp)
/* 0C2710 800C1B10 310400FF */ andi $a0, $t0, 0xff
/* 0C2714 800C1B14 00045200 */ sll $t2, $a0, 8
/* 0C2718 800C1B18 46043032 */ c.eq.s $f6, $f4
/* 0C271C 800C1B1C 3C010602 */ lui $at, 0x602
/* 0C2720 800C1B20 01415825 */ or $t3, $t2, $at
/* 0C2724 800C1B24 3C0142FE */ li $at, 0x42FE0000 # 127.000000
/* 0C2728 800C1B28 4503002C */ bc1tl .L800C1BDC
/* 0C272C 800C1B2C 83D9003B */ lb $t9, 0x3b($fp)
/* 0C2730 800C1B30 44814000 */ mtc1 $at, $f8
/* 0C2734 800C1B34 24050001 */ li $a1, 1
/* 0C2738 800C1B38 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 0C273C 800C1B3C 46083282 */ mul.s $f10, $f6, $f8
/* 0C2740 800C1B40 35640003 */ ori $a0, $t3, 3
/* 0C2744 800C1B44 444DF800 */ cfc1 $t5, $31
/* 0C2748 800C1B48 44C5F800 */ ctc1 $a1, $31
/* 0C274C 800C1B4C 00000000 */ nop
/* 0C2750 800C1B50 46005424 */ cvt.w.s $f16, $f10
/* 0C2754 800C1B54 4445F800 */ cfc1 $a1, $31
/* 0C2758 800C1B58 00000000 */ nop
/* 0C275C 800C1B5C 30A50078 */ andi $a1, $a1, 0x78
/* 0C2760 800C1B60 50A00013 */ beql $a1, $zero, .L800C1BB0
/* 0C2764 800C1B64 44058000 */ mfc1 $a1, $f16
/* 0C2768 800C1B68 44818000 */ mtc1 $at, $f16
/* 0C276C 800C1B6C 24050001 */ li $a1, 1
/* 0C2770 800C1B70 46105401 */ sub.s $f16, $f10, $f16
/* 0C2774 800C1B74 44C5F800 */ ctc1 $a1, $31
/* 0C2778 800C1B78 00000000 */ nop
/* 0C277C 800C1B7C 46008424 */ cvt.w.s $f16, $f16
/* 0C2780 800C1B80 4445F800 */ cfc1 $a1, $31
/* 0C2784 800C1B84 00000000 */ nop
/* 0C2788 800C1B88 30A50078 */ andi $a1, $a1, 0x78
/* 0C278C 800C1B8C 14A00005 */ bnez $a1, .L800C1BA4
/* 0C2790 800C1B90 00000000 */ nop
/* 0C2794 800C1B94 44058000 */ mfc1 $a1, $f16
/* 0C2798 800C1B98 3C018000 */ lui $at, 0x8000
/* 0C279C 800C1B9C 10000007 */ b .L800C1BBC
/* 0C27A0 800C1BA0 00A12825 */ or $a1, $a1, $at
.L800C1BA4:
/* 0C27A4 800C1BA4 10000005 */ b .L800C1BBC
/* 0C27A8 800C1BA8 2405FFFF */ li $a1, -1
/* 0C27AC 800C1BAC 44058000 */ mfc1 $a1, $f16
.L800C1BB0:
/* 0C27B0 800C1BB0 00000000 */ nop
/* 0C27B4 800C1BB4 04A0FFFB */ bltz $a1, .L800C1BA4
/* 0C27B8 800C1BB8 00000000 */ nop
.L800C1BBC:
/* 0C27BC 800C1BBC 00A07025 */ move $t6, $a1
/* 0C27C0 800C1BC0 000E7E00 */ sll $t7, $t6, 0x18
/* 0C27C4 800C1BC4 44CDF800 */ ctc1 $t5, $31
/* 0C27C8 800C1BC8 0C032EFA */ jal func_800CBBE8
/* 0C27CC 800C1BCC 000F2E03 */ sra $a1, $t7, 0x18
/* 0C27D0 800C1BD0 C7D2003C */ lwc1 $f18, 0x3c($fp)
/* 0C27D4 800C1BD4 E6120000 */ swc1 $f18, ($s0)
/* 0C27D8 800C1BD8 83D9003B */ lb $t9, 0x3b($fp)
.L800C1BDC:
/* 0C27DC 800C1BDC 82090008 */ lb $t1, 8($s0)
/* 0C27E0 800C1BE0 5329000A */ beql $t9, $t1, .L800C1C0C
/* 0C27E4 800C1BE4 C7C40034 */ lwc1 $f4, 0x34($fp)
/* 0C27E8 800C1BE8 93C8004B */ lbu $t0, 0x4b($fp)
/* 0C27EC 800C1BEC 3C010502 */ lui $at, 0x502
/* 0C27F0 800C1BF0 03202825 */ move $a1, $t9
/* 0C27F4 800C1BF4 00085200 */ sll $t2, $t0, 8
/* 0C27F8 800C1BF8 0C032EFA */ jal func_800CBBE8
/* 0C27FC 800C1BFC 01412025 */ or $a0, $t2, $at
/* 0C2800 800C1C00 83CC003B */ lb $t4, 0x3b($fp)
/* 0C2804 800C1C04 A20C0008 */ sb $t4, 8($s0)
/* 0C2808 800C1C08 C7C40034 */ lwc1 $f4, 0x34($fp)
.L800C1C0C:
/* 0C280C 800C1C0C C6060004 */ lwc1 $f6, 4($s0)
/* 0C2810 800C1C10 46062032 */ c.eq.s $f4, $f6
/* 0C2814 800C1C14 00000000 */ nop
/* 0C2818 800C1C18 4503000A */ bc1tl .L800C1C44
/* 0C281C 800C1C1C 83D80033 */ lb $t8, 0x33($fp)
/* 0C2820 800C1C20 93CD004B */ lbu $t5, 0x4b($fp)
/* 0C2824 800C1C24 3C010402 */ lui $at, 0x402
/* 0C2828 800C1C28 44052000 */ mfc1 $a1, $f4
/* 0C282C 800C1C2C 000D7200 */ sll $t6, $t5, 8
/* 0C2830 800C1C30 0C032EE2 */ jal func_800CBB88
/* 0C2834 800C1C34 01C12025 */ or $a0, $t6, $at
/* 0C2838 800C1C38 C7C80034 */ lwc1 $f8, 0x34($fp)
/* 0C283C 800C1C3C E6080004 */ swc1 $f8, 4($s0)
/* 0C2840 800C1C40 83D80033 */ lb $t8, 0x33($fp)
.L800C1C44:
/* 0C2844 800C1C44 82090009 */ lb $t1, 9($s0)
/* 0C2848 800C1C48 5309000A */ beql $t8, $t1, .L800C1C74
/* 0C284C 800C1C4C 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C2850 800C1C50 93C8004B */ lbu $t0, 0x4b($fp)
/* 0C2854 800C1C54 3C010302 */ lui $at, 0x302
/* 0C2858 800C1C58 03002825 */ move $a1, $t8
/* 0C285C 800C1C5C 00085200 */ sll $t2, $t0, 8
/* 0C2860 800C1C60 0C032EFA */ jal func_800CBBE8
/* 0C2864 800C1C64 01412025 */ or $a0, $t2, $at
/* 0C2868 800C1C68 83D90033 */ lb $t9, 0x33($fp)
/* 0C286C 800C1C6C A2190009 */ sb $t9, 9($s0)
/* 0C2870 800C1C70 8FDF002C */ lw $ra, 0x2c($fp)
.L800C1C74:
/* 0C2874 800C1C74 03C0E825 */ move $sp, $fp
/* 0C2878 800C1C78 8FD00024 */ lw $s0, 0x24($fp)
/* 0C287C 800C1C7C 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C2880 800C1C80 03E00008 */ jr $ra
/* 0C2884 800C1C84 27BD0040 */ addiu $sp, $sp, 0x40
glabel func_800C1C88
/* 0C2888 800C1C88 3C098019 */ lui $t1, %hi(D_8018FB90) # $t1, 0x8019
/* 0C288C 800C1C8C 2529FB90 */ addiu $t1, %lo(D_8018FB90) # addiu $t1, $t1, -0x470
/* 0C2890 800C1C90 91220000 */ lbu $v0, ($t1)
/* 0C2894 800C1C94 240A003C */ li $t2, 60
/* 0C2898 800C1C98 3C088019 */ lui $t0, %hi(D_8018EFD8) # $t0, 0x8019
/* 0C289C 800C1C9C 004A0019 */ multu $v0, $t2
/* 0C28A0 800C1CA0 2508EFD8 */ addiu $t0, %lo(D_8018EFD8) # addiu $t0, $t0, -0x1028
/* 0C28A4 800C1CA4 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 0C28A8 800C1CA8 AFA40010 */ sw $a0, 0x10($sp)
/* 0C28AC 800C1CAC 240100FF */ li $at, 255
/* 0C28B0 800C1CB0 03A06825 */ move $t5, $sp
/* 0C28B4 800C1CB4 AFA50014 */ sw $a1, 0x14($sp)
/* 0C28B8 800C1CB8 AFA60018 */ sw $a2, 0x18($sp)
/* 0C28BC 800C1CBC 304400FF */ andi $a0, $v0, 0xff
/* 0C28C0 800C1CC0 00007012 */ mflo $t6
/* 0C28C4 800C1CC4 010E1821 */ addu $v1, $t0, $t6
/* 0C28C8 800C1CC8 906F002A */ lbu $t7, 0x2a($v1)
/* 0C28CC 800C1CCC 51E10032 */ beql $t7, $at, .L800C1D98
/* 0C28D0 800C1CD0 00001025 */ move $v0, $zero
/* 0C28D4 800C1CD4 008A0019 */ multu $a0, $t2
/* 0C28D8 800C1CD8 3C0B8019 */ lui $t3, %hi(D_8018FB91) # $t3, 0x8019
/* 0C28DC 800C1CDC 256BFB91 */ addiu $t3, %lo(D_8018FB91) # addiu $t3, $t3, -0x46f
/* 0C28E0 800C1CE0 91660000 */ lbu $a2, ($t3)
/* 0C28E4 800C1CE4 240C00FF */ li $t4, 255
/* 0C28E8 800C1CE8 44802000 */ mtc1 $zero, $f4
/* 0C28EC 800C1CEC 0000C012 */ mflo $t8
/* 0C28F0 800C1CF0 01182821 */ addu $a1, $t0, $t8
/* 0C28F4 800C1CF4 A0A60029 */ sb $a2, 0x29($a1)
/* 0C28F8 800C1CF8 00CA0019 */ multu $a2, $t2
/* 0C28FC 800C1CFC 0000C812 */ mflo $t9
/* 0C2900 800C1D00 01197021 */ addu $t6, $t0, $t9
/* 0C2904 800C1D04 A1C2002A */ sb $v0, 0x2a($t6)
/* 0C2908 800C1D08 906F002A */ lbu $t7, 0x2a($v1)
/* 0C290C 800C1D0C A1620000 */ sb $v0, ($t3)
/* 0C2910 800C1D10 00A01025 */ move $v0, $a1
/* 0C2914 800C1D14 31F800FF */ andi $t8, $t7, 0xff
/* 0C2918 800C1D18 030A0019 */ multu $t8, $t2
/* 0C291C 800C1D1C A12F0000 */ sb $t7, ($t1)
/* 0C2920 800C1D20 0000C812 */ mflo $t9
/* 0C2924 800C1D24 01197021 */ addu $t6, $t0, $t9
/* 0C2928 800C1D28 A1CC0029 */ sb $t4, 0x29($t6)
/* 0C292C 800C1D2C 8FB80014 */ lw $t8, 0x14($sp)
/* 0C2930 800C1D30 8FAF0014 */ lw $t7, 0x14($sp)
/* 0C2934 800C1D34 8FAE0014 */ lw $t6, 0x14($sp)
/* 0C2938 800C1D38 27190004 */ addiu $t9, $t8, 4
/* 0C293C 800C1D3C ACB90004 */ sw $t9, 4($a1)
/* 0C2940 800C1D40 ACAF0000 */ sw $t7, ($a1)
/* 0C2944 800C1D44 8FB90018 */ lw $t9, 0x18($sp)
/* 0C2948 800C1D48 25CF0008 */ addiu $t7, $t6, 8
/* 0C294C 800C1D4C 8FB80018 */ lw $t8, 0x18($sp)
/* 0C2950 800C1D50 ACAF0008 */ sw $t7, 8($a1)
/* 0C2954 800C1D54 8FAF0018 */ lw $t7, 0x18($sp)
/* 0C2958 800C1D58 272E0004 */ addiu $t6, $t9, 4
/* 0C295C 800C1D5C ACB8000C */ sw $t8, 0xc($a1)
/* 0C2960 800C1D60 ACAE0010 */ sw $t6, 0x10($a1)
/* 0C2964 800C1D64 25F80008 */ addiu $t8, $t7, 8
/* 0C2968 800C1D68 93B90023 */ lbu $t9, 0x23($sp)
/* 0C296C 800C1D6C 93AE0013 */ lbu $t6, 0x13($sp)
/* 0C2970 800C1D70 8FAF0024 */ lw $t7, 0x24($sp)
/* 0C2974 800C1D74 A0AC002A */ sb $t4, 0x2a($a1)
/* 0C2978 800C1D78 ACB80014 */ sw $t8, 0x14($a1)
/* 0C297C 800C1D7C ACA70024 */ sw $a3, 0x24($a1)
/* 0C2980 800C1D80 E4A4001C */ swc1 $f4, 0x1c($a1)
/* 0C2984 800C1D84 A0B90028 */ sb $t9, 0x28($a1)
/* 0C2988 800C1D88 A0AE0030 */ sb $t6, 0x30($a1)
/* 0C298C 800C1D8C 10000002 */ b .L800C1D98
/* 0C2990 800C1D90 ACAF0038 */ sw $t7, 0x38($a1)
/* 0C2994 800C1D94 00001025 */ move $v0, $zero
.L800C1D98:
/* 0C2998 800C1D98 01A0E825 */ move $sp, $t5
/* 0C299C 800C1D9C 03E00008 */ jr $ra
/* 0C29A0 800C1DA0 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C1DA4
/* 0C29A4 800C1DA4 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0C29A8 800C1DA8 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C29AC 800C1DAC AFBE0028 */ sw $fp, 0x28($sp)
/* 0C29B0 800C1DB0 AFA5003C */ sw $a1, 0x3c($sp)
/* 0C29B4 800C1DB4 8CCE0000 */ lw $t6, ($a2)
/* 0C29B8 800C1DB8 8CCF0008 */ lw $t7, 8($a2)
/* 0C29BC 800C1DBC C4840000 */ lwc1 $f4, ($a0)
/* 0C29C0 800C1DC0 C4880008 */ lwc1 $f8, 8($a0)
/* 0C29C4 800C1DC4 C5C60000 */ lwc1 $f6, ($t6)
/* 0C29C8 800C1DC8 C5EA0000 */ lwc1 $f10, ($t7)
/* 0C29CC 800C1DCC 00C03825 */ move $a3, $a2
/* 0C29D0 800C1DD0 46062301 */ sub.s $f12, $f4, $f6
/* 0C29D4 800C1DD4 94A60002 */ lhu $a2, 2($a1)
/* 0C29D8 800C1DD8 03A0F025 */ move $fp, $sp
/* 0C29DC 800C1DDC 460A4381 */ sub.s $f14, $f8, $f10
/* 0C29E0 800C1DE0 E7AC0034 */ swc1 $f12, 0x34($sp)
/* 0C29E4 800C1DE4 AFA70040 */ sw $a3, 0x40($sp)
/* 0C29E8 800C1DE8 0C0105B6 */ jal func_800416D8
/* 0C29EC 800C1DEC E7AE0030 */ swc1 $f14, 0x30($sp)
/* 0C29F0 800C1DF0 8FD90040 */ lw $t9, 0x40($fp)
/* 0C29F4 800C1DF4 C7CC0034 */ lwc1 $f12, 0x34($fp)
/* 0C29F8 800C1DF8 C7CE0030 */ lwc1 $f14, 0x30($fp)
/* 0C29FC 800C1DFC E7200018 */ swc1 $f0, 0x18($t9)
/* 0C2A00 800C1E00 8FC8003C */ lw $t0, 0x3c($fp)
/* 0C2A04 800C1E04 0C0105C9 */ jal func_80041724
/* 0C2A08 800C1E08 95060002 */ lhu $a2, 2($t0)
/* 0C2A0C 800C1E0C 8FC90040 */ lw $t1, 0x40($fp)
/* 0C2A10 800C1E10 03C0E825 */ move $sp, $fp
/* 0C2A14 800C1E14 E5200020 */ swc1 $f0, 0x20($t1)
/* 0C2A18 800C1E18 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C2A1C 800C1E1C 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C2A20 800C1E20 27BD0038 */ addiu $sp, $sp, 0x38
/* 0C2A24 800C1E24 03E00008 */ jr $ra
/* 0C2A28 800C1E28 00000000 */ nop
glabel func_800C1E2C
/* 0C2A2C 800C1E2C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 0C2A30 800C1E30 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C2A34 800C1E34 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C2A38 800C1E38 8CCE0000 */ lw $t6, ($a2)
/* 0C2A3C 800C1E3C C4860000 */ lwc1 $f6, ($a0)
/* 0C2A40 800C1E40 8CCF0008 */ lw $t7, 8($a2)
/* 0C2A44 800C1E44 C5C40000 */ lwc1 $f4, ($t6)
/* 0C2A48 800C1E48 8CD8000C */ lw $t8, 0xc($a2)
/* 0C2A4C 800C1E4C C48A0008 */ lwc1 $f10, 8($a0)
/* 0C2A50 800C1E50 46062401 */ sub.s $f16, $f4, $f6
/* 0C2A54 800C1E54 C5E80000 */ lwc1 $f8, ($t7)
/* 0C2A58 800C1E58 C4A60000 */ lwc1 $f6, ($a1)
/* 0C2A5C 800C1E5C C7040000 */ lwc1 $f4, ($t8)
/* 0C2A60 800C1E60 460A4481 */ sub.s $f18, $f8, $f10
/* 0C2A64 800C1E64 03A0F025 */ move $fp, $sp
/* 0C2A68 800C1E68 46062201 */ sub.s $f8, $f4, $f6
/* 0C2A6C 800C1E6C E7A80044 */ swc1 $f8, 0x44($sp)
/* 0C2A70 800C1E70 8CD90014 */ lw $t9, 0x14($a2)
/* 0C2A74 800C1E74 C4A40008 */ lwc1 $f4, 8($a1)
/* 0C2A78 800C1E78 46108202 */ mul.s $f8, $f16, $f16
/* 0C2A7C 800C1E7C C72A0000 */ lwc1 $f10, ($t9)
/* 0C2A80 800C1E80 E7B20038 */ swc1 $f18, 0x38($sp)
/* 0C2A84 800C1E84 E7B0003C */ swc1 $f16, 0x3c($sp)
/* 0C2A88 800C1E88 AFA60050 */ sw $a2, 0x50($sp)
/* 0C2A8C 800C1E8C 46045181 */ sub.s $f6, $f10, $f4
/* 0C2A90 800C1E90 46129282 */ mul.s $f10, $f18, $f18
/* 0C2A94 800C1E94 E7A60040 */ swc1 $f6, 0x40($sp)
/* 0C2A98 800C1E98 0C033850 */ jal sqrtf
/* 0C2A9C 800C1E9C 460A4300 */ add.s $f12, $f8, $f10
/* 0C2AA0 800C1EA0 C7D0003C */ lwc1 $f16, 0x3c($fp)
/* 0C2AA4 800C1EA4 C7C40044 */ lwc1 $f4, 0x44($fp)
/* 0C2AA8 800C1EA8 C7D20038 */ lwc1 $f18, 0x38($fp)
/* 0C2AAC 800C1EAC C7C60040 */ lwc1 $f6, 0x40($fp)
/* 0C2AB0 800C1EB0 46048080 */ add.s $f2, $f16, $f4
/* 0C2AB4 800C1EB4 E7C00034 */ swc1 $f0, 0x34($fp)
/* 0C2AB8 800C1EB8 46069380 */ add.s $f14, $f18, $f6
/* 0C2ABC 800C1EBC 46021202 */ mul.s $f8, $f2, $f2
/* 0C2AC0 800C1EC0 00000000 */ nop
/* 0C2AC4 800C1EC4 460E7282 */ mul.s $f10, $f14, $f14
/* 0C2AC8 800C1EC8 0C033850 */ jal sqrtf
/* 0C2ACC 800C1ECC 460A4300 */ add.s $f12, $f8, $f10
/* 0C2AD0 800C1ED0 C7C40034 */ lwc1 $f4, 0x34($fp)
/* 0C2AD4 800C1ED4 8FC60050 */ lw $a2, 0x50($fp)
/* 0C2AD8 800C1ED8 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C2ADC 800C1EDC 46002181 */ sub.s $f6, $f4, $f0
/* 0C2AE0 800C1EE0 C4C80034 */ lwc1 $f8, 0x34($a2)
/* 0C2AE4 800C1EE4 44816000 */ mtc1 $at, $f12
/* 0C2AE8 800C1EE8 3C01800F */ lui $at, %hi(D_800F35DC) # $at, 0x800f
/* 0C2AEC 800C1EEC 46083283 */ div.s $f10, $f6, $f8
/* 0C2AF0 800C1EF0 C42E35DC */ lwc1 $f14, %lo(D_800F35DC)($at)
/* 0C2AF4 800C1EF4 460A6101 */ sub.s $f4, $f12, $f10
/* 0C2AF8 800C1EF8 46046083 */ div.s $f2, $f12, $f4
/* 0C2AFC 800C1EFC 4602703C */ c.lt.s $f14, $f2
/* 0C2B00 800C1F00 00000000 */ nop
/* 0C2B04 800C1F04 45020004 */ bc1fl .L800C1F18
/* 0C2B08 800C1F08 E4CE002C */ swc1 $f14, 0x2c($a2)
/* 0C2B0C 800C1F0C 10000002 */ b .L800C1F18
/* 0C2B10 800C1F10 E4C2002C */ swc1 $f2, 0x2c($a2)
/* 0C2B14 800C1F14 E4CE002C */ swc1 $f14, 0x2c($a2)
.L800C1F18:
/* 0C2B18 800C1F18 8CC80024 */ lw $t0, 0x24($a2)
/* 0C2B1C 800C1F1C 44803000 */ mtc1 $zero, $f6
/* 0C2B20 800C1F20 C5000000 */ lwc1 $f0, ($t0)
/* 0C2B24 800C1F24 46003032 */ c.eq.s $f6, $f0
/* 0C2B28 800C1F28 00000000 */ nop
/* 0C2B2C 800C1F2C 45030013 */ bc1tl .L800C1F7C
/* 0C2B30 800C1F30 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C2B34 800C1F34 90C20030 */ lbu $v0, 0x30($a2)
/* 0C2B38 800C1F38 3C0A800F */ lui $t2, %hi(D_800EA06C) # $t2, 0x800f
/* 0C2B3C 800C1F3C 254AA06C */ addiu $t2, %lo(D_800EA06C) # addiu $t2, $t2, -0x5f94
/* 0C2B40 800C1F40 00024900 */ sll $t1, $v0, 4
/* 0C2B44 800C1F44 012A1821 */ addu $v1, $t1, $t2
/* 0C2B48 800C1F48 C4680004 */ lwc1 $f8, 4($v1)
/* 0C2B4C 800C1F4C C4640000 */ lwc1 $f4, ($v1)
/* 0C2B50 800C1F50 3C01800F */ lui $at, %hi(D_800E9F34)
/* 0C2B54 800C1F54 46080283 */ div.s $f10, $f0, $f8
/* 0C2B58 800C1F58 00025880 */ sll $t3, $v0, 2
/* 0C2B5C 800C1F5C 002B0821 */ addu $at, $at, $t3
/* 0C2B60 800C1F60 C4289F34 */ lwc1 $f8, %lo(D_800E9F34)($at)
/* 0C2B64 800C1F64 46045180 */ add.s $f6, $f10, $f4
/* 0C2B68 800C1F68 C4C4002C */ lwc1 $f4, 0x2c($a2)
/* 0C2B6C 800C1F6C 46083280 */ add.s $f10, $f6, $f8
/* 0C2B70 800C1F70 460A2182 */ mul.s $f6, $f4, $f10
/* 0C2B74 800C1F74 E4C6002C */ swc1 $f6, 0x2c($a2)
/* 0C2B78 800C1F78 8FDF002C */ lw $ra, 0x2c($fp)
.L800C1F7C:
/* 0C2B7C 800C1F7C 03C0E825 */ move $sp, $fp
/* 0C2B80 800C1F80 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C2B84 800C1F84 03E00008 */ jr $ra
/* 0C2B88 800C1F88 27BD0048 */ addiu $sp, $sp, 0x48
glabel func_800C1F8C
/* 0C2B8C 800C1F8C 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 0C2B90 800C1F90 3C05800F */ lui $a1, %hi(D_800EA1C0) # $a1, 0x800f
/* 0C2B94 800C1F94 90A5A1C0 */ lbu $a1, %lo(D_800EA1C0)($a1)
/* 0C2B98 800C1F98 AFBE0050 */ sw $fp, 0x50($sp)
/* 0C2B9C 800C1F9C AFB10034 */ sw $s1, 0x34($sp)
/* 0C2BA0 800C1FA0 24A50001 */ addiu $a1, $a1, 1
/* 0C2BA4 800C1FA4 30A800FF */ andi $t0, $a1, 0xff
/* 0C2BA8 800C1FA8 03A0F025 */ move $fp, $sp
/* 0C2BAC 800C1FAC AFBF0054 */ sw $ra, 0x54($sp)
/* 0C2BB0 800C1FB0 AFB7004C */ sw $s7, 0x4c($sp)
/* 0C2BB4 800C1FB4 AFB60048 */ sw $s6, 0x48($sp)
/* 0C2BB8 800C1FB8 AFB50044 */ sw $s5, 0x44($sp)
/* 0C2BBC 800C1FBC AFB40040 */ sw $s4, 0x40($sp)
/* 0C2BC0 800C1FC0 AFB3003C */ sw $s3, 0x3c($sp)
/* 0C2BC4 800C1FC4 AFB20038 */ sw $s2, 0x38($sp)
/* 0C2BC8 800C1FC8 AFB00030 */ sw $s0, 0x30($sp)
/* 0C2BCC 800C1FCC F7B40028 */ sdc1 $f20, 0x28($sp)
/* 0C2BD0 800C1FD0 19000020 */ blez $t0, .L800C2054
/* 0C2BD4 800C1FD4 00008825 */ move $s1, $zero
/* 0C2BD8 800C1FD8 3C0A8019 */ lui $t2, %hi(D_8018FB98) # $t2, 0x8019
/* 0C2BDC 800C1FDC 3C098019 */ lui $t1, %hi(D_8018FBA8) # $t1, 0x8019
/* 0C2BE0 800C1FE0 3C078019 */ lui $a3, %hi(D_8018FBD8) # $a3, 0x8019
/* 0C2BE4 800C1FE4 24E7FBD8 */ addiu $a3, %lo(D_8018FBD8) # addiu $a3, $a3, -0x428
/* 0C2BE8 800C1FE8 2529FBA8 */ addiu $t1, %lo(D_8018FBA8) # addiu $t1, $t1, -0x458
/* 0C2BEC 800C1FEC 254AFB98 */ addiu $t2, %lo(D_8018FB98) # addiu $t2, $t2, -0x468
/* 0C2BF0 800C1FF0 2406000C */ li $a2, 12
.L800C1FF4:
/* 0C2BF4 800C1FF4 02260019 */ multu $s1, $a2
/* 0C2BF8 800C1FF8 00117880 */ sll $t7, $s1, 2
/* 0C2BFC 800C1FFC 014FC021 */ addu $t8, $t2, $t7
/* 0C2C00 800C2000 8F020000 */ lw $v0, ($t8)
/* 0C2C04 800C2004 26310001 */ addiu $s1, $s1, 1
/* 0C2C08 800C2008 323900FF */ andi $t9, $s1, 0xff
/* 0C2C0C 800C200C C4440000 */ lwc1 $f4, ($v0)
/* 0C2C10 800C2010 0328082A */ slt $at, $t9, $t0
/* 0C2C14 800C2014 03208825 */ move $s1, $t9
/* 0C2C18 800C2018 00002012 */ mflo $a0
/* 0C2C1C 800C201C 00E41821 */ addu $v1, $a3, $a0
/* 0C2C20 800C2020 C4660000 */ lwc1 $f6, ($v1)
/* 0C2C24 800C2024 01242821 */ addu $a1, $t1, $a0
/* 0C2C28 800C2028 C4700008 */ lwc1 $f16, 8($v1)
/* 0C2C2C 800C202C 46062201 */ sub.s $f8, $f4, $f6
/* 0C2C30 800C2030 E4A80000 */ swc1 $f8, ($a1)
/* 0C2C34 800C2034 C44A0008 */ lwc1 $f10, 8($v0)
/* 0C2C38 800C2038 46105481 */ sub.s $f18, $f10, $f16
/* 0C2C3C 800C203C E4B20008 */ swc1 $f18, 8($a1)
/* 0C2C40 800C2040 C4440000 */ lwc1 $f4, ($v0)
/* 0C2C44 800C2044 E4640000 */ swc1 $f4, ($v1)
/* 0C2C48 800C2048 C4460008 */ lwc1 $f6, 8($v0)
/* 0C2C4C 800C204C 1420FFE9 */ bnez $at, .L800C1FF4
/* 0C2C50 800C2050 E4660008 */ swc1 $f6, 8($v1)
.L800C2054:
/* 0C2C54 800C2054 3C138019 */ lui $s3, %hi(D_8018EFD8) # $s3, 0x8019
/* 0C2C58 800C2058 2673EFD8 */ addiu $s3, %lo(D_8018EFD8) # addiu $s3, $s3, -0x1028
/* 0C2C5C 800C205C 9271002A */ lbu $s1, 0x2a($s3)
/* 0C2C60 800C2060 241500FF */ li $s5, 255
/* 0C2C64 800C2064 00002825 */ move $a1, $zero
/* 0C2C68 800C2068 12B10051 */ beq $s5, $s1, .L800C21B0
/* 0C2C6C 800C206C 02201025 */ move $v0, $s1
/* 0C2C70 800C2070 3C01800F */ lui $at, %hi(D_800F35E0) # $at, 0x800f
/* 0C2C74 800C2074 3C178019 */ lui $s7, %hi(D_8018FB90) # $s7, 0x8019
/* 0C2C78 800C2078 3C168019 */ lui $s6, %hi(D_8018FB91) # $s6, 0x8019
/* 0C2C7C 800C207C 26D6FB91 */ addiu $s6, %lo(D_8018FB91) # addiu $s6, $s6, -0x46f
/* 0C2C80 800C2080 26F7FB90 */ addiu $s7, %lo(D_8018FB90) # addiu $s7, $s7, -0x470
/* 0C2C84 800C2084 C43435E0 */ lwc1 $f20, %lo(D_800F35E0)($at)
/* 0C2C88 800C2088 2414003C */ li $s4, 60
.L800C208C:
/* 0C2C8C 800C208C 02340019 */ multu $s1, $s4
/* 0C2C90 800C2090 00056100 */ sll $t4, $a1, 4
/* 0C2C94 800C2094 00005812 */ mflo $t3
/* 0C2C98 800C2098 026B8021 */ addu $s0, $s3, $t3
/* 0C2C9C 800C209C C608001C */ lwc1 $f8, 0x1c($s0)
/* 0C2CA0 800C20A0 4608A032 */ c.eq.s $f20, $f8
/* 0C2CA4 800C20A4 00000000 */ nop
/* 0C2CA8 800C20A8 45020020 */ bc1fl .L800C212C
/* 0C2CAC 800C20AC 92020028 */ lbu $v0, 0x28($s0)
/* 0C2CB0 800C20B0 92CD0000 */ lbu $t5, ($s6)
/* 0C2CB4 800C20B4 01856023 */ subu $t4, $t4, $a1
/* 0C2CB8 800C20B8 000C6080 */ sll $t4, $t4, 2
/* 0C2CBC 800C20BC 144D0004 */ bne $v0, $t5, .L800C20D0
/* 0C2CC0 800C20C0 026C2021 */ addu $a0, $s3, $t4
/* 0C2CC4 800C20C4 92030029 */ lbu $v1, 0x29($s0)
/* 0C2CC8 800C20C8 10000008 */ b .L800C20EC
/* 0C2CCC 800C20CC A2C30000 */ sb $v1, ($s6)
.L800C20D0:
/* 0C2CD0 800C20D0 920F002A */ lbu $t7, 0x2a($s0)
/* 0C2CD4 800C20D4 920E0029 */ lbu $t6, 0x29($s0)
/* 0C2CD8 800C20D8 01F40019 */ multu $t7, $s4
/* 0C2CDC 800C20DC 0000C012 */ mflo $t8
/* 0C2CE0 800C20E0 0278C821 */ addu $t9, $s3, $t8
/* 0C2CE4 800C20E4 A32E0029 */ sb $t6, 0x29($t9)
/* 0C2CE8 800C20E8 92030029 */ lbu $v1, 0x29($s0)
.L800C20EC:
/* 0C2CEC 800C20EC 00740019 */ multu $v1, $s4
/* 0C2CF0 800C20F0 920B002A */ lbu $t3, 0x2a($s0)
/* 0C2CF4 800C20F4 240F00FF */ li $t7, 255
/* 0C2CF8 800C20F8 00006012 */ mflo $t4
/* 0C2CFC 800C20FC 026C6821 */ addu $t5, $s3, $t4
/* 0C2D00 800C2100 A1AB002A */ sb $t3, 0x2a($t5)
/* 0C2D04 800C2104 92E20000 */ lbu $v0, ($s7)
/* 0C2D08 800C2108 A20F0029 */ sb $t7, 0x29($s0)
/* 0C2D0C 800C210C 00540019 */ multu $v0, $s4
/* 0C2D10 800C2110 A202002A */ sb $v0, 0x2a($s0)
/* 0C2D14 800C2114 0000C012 */ mflo $t8
/* 0C2D18 800C2118 02787021 */ addu $t6, $s3, $t8
/* 0C2D1C 800C211C A1D10029 */ sb $s1, 0x29($t6)
/* 0C2D20 800C2120 10000018 */ b .L800C2184
/* 0C2D24 800C2124 A2F10000 */ sb $s1, ($s7)
/* 0C2D28 800C2128 92020028 */ lbu $v0, 0x28($s0)
.L800C212C:
/* 0C2D2C 800C212C 3C0C8019 */ lui $t4, %hi(D_8018FB98) # $t4, 0x8019
/* 0C2D30 800C2130 258CFB98 */ addiu $t4, %lo(D_8018FB98) # addiu $t4, $t4, -0x468
/* 0C2D34 800C2134 0002C880 */ sll $t9, $v0, 2
/* 0C2D38 800C2138 032C9021 */ addu $s2, $t9, $t4
/* 0C2D3C 800C213C 8E440000 */ lw $a0, ($s2)
/* 0C2D40 800C2140 02003025 */ move $a2, $s0
/* 0C2D44 800C2144 0C030769 */ jal func_800C1DA4
/* 0C2D48 800C2148 24850024 */ addiu $a1, $a0, 0x24
/* 0C2D4C 800C214C 8E0D000C */ lw $t5, 0xc($s0)
/* 0C2D50 800C2150 3C0B800F */ lui $t3, %hi(D_800EA1C8) # $t3, 0x800f
/* 0C2D54 800C2154 256BA1C8 */ addiu $t3, %lo(D_800EA1C8) # addiu $t3, $t3, -0x5e38
/* 0C2D58 800C2158 116D0005 */ beq $t3, $t5, .L800C2170
/* 0C2D5C 800C215C 3C058019 */ lui $a1, %hi(D_8018FBA8) # $a1, 0x8019
/* 0C2D60 800C2160 8E440000 */ lw $a0, ($s2)
/* 0C2D64 800C2164 24A5FBA8 */ addiu $a1, %lo(D_8018FBA8) # addiu $a1, $a1, -0x458
/* 0C2D68 800C2168 0C03078B */ jal func_800C1E2C
/* 0C2D6C 800C216C 02003025 */ move $a2, $s0
.L800C2170:
/* 0C2D70 800C2170 322500FF */ andi $a1, $s1, 0xff
/* 0C2D74 800C2174 00057900 */ sll $t7, $a1, 4
/* 0C2D78 800C2178 01E57823 */ subu $t7, $t7, $a1
/* 0C2D7C 800C217C 000F7880 */ sll $t7, $t7, 2
/* 0C2D80 800C2180 026F2021 */ addu $a0, $s3, $t7
.L800C2184:
/* 0C2D84 800C2184 9091002A */ lbu $s1, 0x2a($a0)
/* 0C2D88 800C2188 3C18800F */ lui $t8, %hi(D_800EA244) # $t8, 0x800f
/* 0C2D8C 800C218C 12B10006 */ beq $s5, $s1, .L800C21A8
/* 0C2D90 800C2190 02201025 */ move $v0, $s1
/* 0C2D94 800C2194 9318A244 */ lbu $t8, %lo(D_800EA244)($t8)
/* 0C2D98 800C2198 0302082A */ slt $at, $t8, $v0
/* 0C2D9C 800C219C 10200002 */ beqz $at, .L800C21A8
/* 0C2DA0 800C21A0 3C01800F */ lui $at, %hi(D_800EA244) # $at, 0x800f
/* 0C2DA4 800C21A4 A031A244 */ sb $s1, %lo(D_800EA244)($at)
.L800C21A8:
/* 0C2DA8 800C21A8 16A2FFB8 */ bne $s5, $v0, .L800C208C
/* 0C2DAC 800C21AC 00000000 */ nop
.L800C21B0:
/* 0C2DB0 800C21B0 8FDF0054 */ lw $ra, 0x54($fp)
/* 0C2DB4 800C21B4 03C0E825 */ move $sp, $fp
/* 0C2DB8 800C21B8 D7D40028 */ ldc1 $f20, 0x28($fp)
/* 0C2DBC 800C21BC 8FD00030 */ lw $s0, 0x30($fp)
/* 0C2DC0 800C21C0 8FD10034 */ lw $s1, 0x34($fp)
/* 0C2DC4 800C21C4 8FD20038 */ lw $s2, 0x38($fp)
/* 0C2DC8 800C21C8 8FD3003C */ lw $s3, 0x3c($fp)
/* 0C2DCC 800C21CC 8FD40040 */ lw $s4, 0x40($fp)
/* 0C2DD0 800C21D0 8FD50044 */ lw $s5, 0x44($fp)
/* 0C2DD4 800C21D4 8FD60048 */ lw $s6, 0x48($fp)
/* 0C2DD8 800C21D8 8FD7004C */ lw $s7, 0x4c($fp)
/* 0C2DDC 800C21DC 8FDE0050 */ lw $fp, 0x50($fp)
/* 0C2DE0 800C21E0 03E00008 */ jr $ra
/* 0C2DE4 800C21E4 27BD0058 */ addiu $sp, $sp, 0x58
glabel func_800C21E8
/* 0C2DE8 800C21E8 3C078019 */ lui $a3, %hi(D_8018EFD8) # $a3, 0x8019
/* 0C2DEC 800C21EC 24E7EFD8 */ addiu $a3, %lo(D_8018EFD8) # addiu $a3, $a3, -0x1028
/* 0C2DF0 800C21F0 90E2002A */ lbu $v0, 0x2a($a3)
/* 0C2DF4 800C21F4 240800FF */ li $t0, 255
/* 0C2DF8 800C21F8 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C2DFC 800C21FC 00A03025 */ move $a2, $a1
/* 0C2E00 800C2200 11020018 */ beq $t0, $v0, .L800C2264
/* 0C2E04 800C2204 00001825 */ move $v1, $zero
/* 0C2E08 800C2208 3C01800F */ lui $at, %hi(D_800F35E4) # $at, 0x800f
/* 0C2E0C 800C220C C42035E4 */ lwc1 $f0, %lo(D_800F35E4)($at)
/* 0C2E10 800C2210 2409003C */ li $t1, 60
.L800C2214:
/* 0C2E14 800C2214 00490019 */ multu $v0, $t1
/* 0C2E18 800C2218 00007012 */ mflo $t6
/* 0C2E1C 800C221C 00EE2821 */ addu $a1, $a3, $t6
/* 0C2E20 800C2220 8CAF0000 */ lw $t7, ($a1)
/* 0C2E24 800C2224 548F000D */ bnel $a0, $t7, .L800C225C
/* 0C2E28 800C2228 90A2002A */ lbu $v0, 0x2a($a1)
/* 0C2E2C 800C222C 8CB80038 */ lw $t8, 0x38($a1)
/* 0C2E30 800C2230 54D8000A */ bnel $a2, $t8, .L800C225C
/* 0C2E34 800C2234 90A2002A */ lbu $v0, 0x2a($a1)
/* 0C2E38 800C2238 C4A4001C */ lwc1 $f4, 0x1c($a1)
/* 0C2E3C 800C223C 240200FF */ li $v0, 255
/* 0C2E40 800C2240 46040032 */ c.eq.s $f0, $f4
/* 0C2E44 800C2244 00000000 */ nop
/* 0C2E48 800C2248 45030004 */ bc1tl .L800C225C
/* 0C2E4C 800C224C 90A2002A */ lbu $v0, 0x2a($a1)
/* 0C2E50 800C2250 10000002 */ b .L800C225C
/* 0C2E54 800C2254 24A30018 */ addiu $v1, $a1, 0x18
/* 0C2E58 800C2258 90A2002A */ lbu $v0, 0x2a($a1)
.L800C225C:
/* 0C2E5C 800C225C 1502FFED */ bne $t0, $v0, .L800C2214
/* 0C2E60 800C2260 00000000 */ nop
.L800C2264:
/* 0C2E64 800C2264 01A0E825 */ move $sp, $t5
/* 0C2E68 800C2268 25BD0010 */ addiu $sp, $t5, 0x10
/* 0C2E6C 800C226C 03E00008 */ jr $ra
/* 0C2E70 800C2270 00601025 */ move $v0, $v1
glabel func_800C2274
/* 0C2E74 800C2274 308700FF */ andi $a3, $a0, 0xff
/* 0C2E78 800C2278 00077080 */ sll $t6, $a3, 2
/* 0C2E7C 800C227C 01C77021 */ addu $t6, $t6, $a3
/* 0C2E80 800C2280 000E70C0 */ sll $t6, $t6, 3
/* 0C2E84 800C2284 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 0C2E88 800C2288 3C05803B */ lui $a1, %hi(D_803B1510) # $a1, 0x803b
/* 0C2E8C 800C228C 01C77021 */ addu $t6, $t6, $a3
/* 0C2E90 800C2290 24A51510 */ addiu $a1, %lo(D_803B1510) # addiu $a1, $a1, 0x1510
/* 0C2E94 800C2294 000E70C0 */ sll $t6, $t6, 3
/* 0C2E98 800C2298 00AE7821 */ addu $t7, $a1, $t6
/* 0C2E9C 800C229C 8DF80000 */ lw $t8, ($t7)
/* 0C2EA0 800C22A0 AFBE0038 */ sw $fp, 0x38($sp)
/* 0C2EA4 800C22A4 03A0F025 */ move $fp, $sp
/* 0C2EA8 800C22A8 0018CFC2 */ srl $t9, $t8, 0x1f
/* 0C2EAC 800C22AC AFBF003C */ sw $ra, 0x3c($sp)
/* 0C2EB0 800C22B0 AFB30034 */ sw $s3, 0x34($sp)
/* 0C2EB4 800C22B4 AFB20030 */ sw $s2, 0x30($sp)
/* 0C2EB8 800C22B8 AFB1002C */ sw $s1, 0x2c($sp)
/* 0C2EBC 800C22BC AFB00028 */ sw $s0, 0x28($sp)
/* 0C2EC0 800C22C0 AFA40048 */ sw $a0, 0x48($sp)
/* 0C2EC4 800C22C4 13200062 */ beqz $t9, .L800C2450
/* 0C2EC8 800C22C8 2406000F */ li $a2, 15
/* 0C2ECC 800C22CC 3C02800E */ lui $v0, %hi(D_800DC530) # $v0, 0x800e
/* 0C2ED0 800C22D0 8C42C530 */ lw $v0, %lo(D_800DC530)($v0)
/* 0C2ED4 800C22D4 00074880 */ sll $t1, $a3, 2
/* 0C2ED8 800C22D8 01274821 */ addu $t1, $t1, $a3
/* 0C2EDC 800C22DC 10400010 */ beqz $v0, .L800C2320
/* 0C2EE0 800C22E0 000948C0 */ sll $t1, $t1, 3
/* 0C2EE4 800C22E4 24010001 */ li $at, 1
/* 0C2EE8 800C22E8 10410005 */ beq $v0, $at, .L800C2300
/* 0C2EEC 800C22EC 24030003 */ li $v1, 3
/* 0C2EF0 800C22F0 10430005 */ beq $v0, $v1, .L800C2308
/* 0C2EF4 800C22F4 3C08800E */ lui $t0, %hi(gPlayerCountSelection1) # $t0, 0x800e
/* 0C2EF8 800C22F8 1000000A */ b .L800C2324
/* 0C2EFC 800C22FC 01274821 */ addu $t1, $t1, $a3
.L800C2300:
/* 0C2F00 800C2300 10000007 */ b .L800C2320
/* 0C2F04 800C2304 2406000E */ li $a2, 14
.L800C2308:
/* 0C2F08 800C2308 8D08C538 */ lw $t0, %lo(gPlayerCountSelection1)($t0)
/* 0C2F0C 800C230C 2406000C */ li $a2, 12
/* 0C2F10 800C2310 14680003 */ bne $v1, $t0, .L800C2320
/* 0C2F14 800C2314 00000000 */ nop
/* 0C2F18 800C2318 10000001 */ b .L800C2320
/* 0C2F1C 800C231C 2406000D */ li $a2, 13
.L800C2320:
/* 0C2F20 800C2320 01274821 */ addu $t1, $t1, $a3
.L800C2324:
/* 0C2F24 800C2324 000948C0 */ sll $t1, $t1, 3
/* 0C2F28 800C2328 00A95021 */ addu $t2, $a1, $t1
/* 0C2F2C 800C232C 00065880 */ sll $t3, $a2, 2
/* 0C2F30 800C2330 014B6021 */ addu $t4, $t2, $t3
/* 0C2F34 800C2334 8D820030 */ lw $v0, 0x30($t4)
/* 0C2F38 800C2338 241200FF */ li $s2, 255
/* 0C2F3C 800C233C 30EA00FF */ andi $t2, $a3, 0xff
/* 0C2F40 800C2340 90500058 */ lbu $s0, 0x58($v0)
/* 0C2F44 800C2344 000A5C00 */ sll $t3, $t2, 0x10
/* 0C2F48 800C2348 2405FFFF */ li $a1, -1
/* 0C2F4C 800C234C 52500017 */ beql $s2, $s0, .L800C23AC
/* 0C2F50 800C2350 24010001 */ li $at, 1
/* 0C2F54 800C2354 804D0059 */ lb $t5, 0x59($v0)
/* 0C2F58 800C2358 31AE0003 */ andi $t6, $t5, 3
/* 0C2F5C 800C235C A7CE0046 */ sh $t6, 0x46($fp)
/* 0C2F60 800C2360 8051005A */ lb $s1, 0x5a($v0)
/* 0C2F64 800C2364 30CD00FF */ andi $t5, $a2, 0xff
/* 0C2F68 800C2368 000D7200 */ sll $t6, $t5, 8
/* 0C2F6C 800C236C 322F000F */ andi $t7, $s1, 0xf
/* 0C2F70 800C2370 000FC400 */ sll $t8, $t7, 0x10
/* 0C2F74 800C2374 00188C03 */ sra $s1, $t8, 0x10
/* 0C2F78 800C2378 2A21000A */ slti $at, $s1, 0xa
/* 0C2F7C 800C237C 54200003 */ bnel $at, $zero, .L800C238C
/* 0C2F80 800C2380 8048005B */ lb $t0, 0x5b($v0)
/* 0C2F84 800C2384 24110009 */ li $s1, 9
/* 0C2F88 800C2388 8048005B */ lb $t0, 0x5b($v0)
.L800C238C:
/* 0C2F8C 800C238C 3C010600 */ lui $at, 0x600
/* 0C2F90 800C2390 01616025 */ or $t4, $t3, $at
/* 0C2F94 800C2394 31090007 */ andi $t1, $t0, 7
/* 0C2F98 800C2398 A7C90042 */ sh $t1, 0x42($fp)
/* 0C2F9C 800C239C 0C032EFA */ jal func_800CBBE8
/* 0C2FA0 800C23A0 018E2025 */ or $a0, $t4, $t6
/* 0C2FA4 800C23A4 A7D10044 */ sh $s1, 0x44($fp)
/* 0C2FA8 800C23A8 24010001 */ li $at, 1
.L800C23AC:
/* 0C2FAC 800C23AC 12010006 */ beq $s0, $at, .L800C23C8
/* 0C2FB0 800C23B0 87D10044 */ lh $s1, 0x44($fp)
/* 0C2FB4 800C23B4 24010002 */ li $at, 2
/* 0C2FB8 800C23B8 5201001E */ beql $s0, $at, .L800C2434
/* 0C2FBC 800C23BC 87CB0046 */ lh $t3, 0x46($fp)
/* 0C2FC0 800C23C0 10000024 */ b .L800C2454
/* 0C2FC4 800C23C4 8FDF003C */ lw $ra, 0x3c($fp)
.L800C23C8:
/* 0C2FC8 800C23C8 87CF0046 */ lh $t7, 0x46($fp)
/* 0C2FCC 800C23CC 3C138019 */ lui $s3, %hi(D_8018FC10) # $s3, 0x8019
/* 0C2FD0 800C23D0 2673FC10 */ addiu $s3, %lo(D_8018FC10) # addiu $s3, $s3, -0x3f0
/* 0C2FD4 800C23D4 000FC080 */ sll $t8, $t7, 2
/* 0C2FD8 800C23D8 02781021 */ addu $v0, $s3, $t8
/* 0C2FDC 800C23DC A4510000 */ sh $s1, ($v0)
/* 0C2FE0 800C23E0 87D90042 */ lh $t9, 0x42($fp)
/* 0C2FE4 800C23E4 00008025 */ move $s0, $zero
/* 0C2FE8 800C23E8 A4590002 */ sh $t9, 2($v0)
.L800C23EC:
/* 0C2FEC 800C23EC 00104080 */ sll $t0, $s0, 2
/* 0C2FF0 800C23F0 02688821 */ addu $s1, $s3, $t0
/* 0C2FF4 800C23F4 86250000 */ lh $a1, ($s1)
/* 0C2FF8 800C23F8 00102400 */ sll $a0, $s0, 0x10
/* 0C2FFC 800C23FC 00044C03 */ sra $t1, $a0, 0x10
/* 0C3000 800C2400 12450004 */ beq $s2, $a1, .L800C2414
/* 0C3004 800C2404 01202025 */ move $a0, $t1
/* 0C3008 800C2408 0C006AAB */ jal func_8001AAAC
/* 0C300C 800C240C 86260002 */ lh $a2, 2($s1)
/* 0C3010 800C2410 A6320000 */ sh $s2, ($s1)
.L800C2414:
/* 0C3014 800C2414 26100001 */ addiu $s0, $s0, 1
/* 0C3018 800C2418 320A00FF */ andi $t2, $s0, 0xff
/* 0C301C 800C241C 29410004 */ slti $at, $t2, 4
/* 0C3020 800C2420 1420FFF2 */ bnez $at, .L800C23EC
/* 0C3024 800C2424 01408025 */ move $s0, $t2
/* 0C3028 800C2428 1000000A */ b .L800C2454
/* 0C302C 800C242C 8FDF003C */ lw $ra, 0x3c($fp)
/* 0C3030 800C2430 87CB0046 */ lh $t3, 0x46($fp)
.L800C2434:
/* 0C3034 800C2434 3C138019 */ lui $s3, %hi(D_8018FC10) # $s3, 0x8019
/* 0C3038 800C2438 2673FC10 */ addiu $s3, %lo(D_8018FC10) # addiu $s3, $s3, -0x3f0
/* 0C303C 800C243C 000B6880 */ sll $t5, $t3, 2
/* 0C3040 800C2440 026D1021 */ addu $v0, $s3, $t5
/* 0C3044 800C2444 A4510000 */ sh $s1, ($v0)
/* 0C3048 800C2448 87CC0042 */ lh $t4, 0x42($fp)
/* 0C304C 800C244C A44C0002 */ sh $t4, 2($v0)
.L800C2450:
/* 0C3050 800C2450 8FDF003C */ lw $ra, 0x3c($fp)
.L800C2454:
/* 0C3054 800C2454 03C0E825 */ move $sp, $fp
/* 0C3058 800C2458 8FD00028 */ lw $s0, 0x28($fp)
/* 0C305C 800C245C 8FD1002C */ lw $s1, 0x2c($fp)
/* 0C3060 800C2460 8FD20030 */ lw $s2, 0x30($fp)
/* 0C3064 800C2464 8FD30034 */ lw $s3, 0x34($fp)
/* 0C3068 800C2468 8FDE0038 */ lw $fp, 0x38($fp)
/* 0C306C 800C246C 03E00008 */ jr $ra
/* 0C3070 800C2470 27BD0048 */ addiu $sp, $sp, 0x48
glabel func_800C2474
/* 0C3074 800C2474 3C0E800E */ lui $t6, %hi(D_800DDB40) # $t6, 0x800e
/* 0C3078 800C2478 8DCEDB40 */ lw $t6, %lo(D_800DDB40)($t6)
/* 0C307C 800C247C 3C028019 */ lui $v0, %hi(D_8018FB98) # $v0, 0x8019
/* 0C3080 800C2480 3C018019 */ lui $at, %hi(D_8018EF10) # $at, 0x8019
/* 0C3084 800C2484 2442FB98 */ addiu $v0, %lo(D_8018FB98) # addiu $v0, $v0, -0x468
/* 0C3088 800C2488 A020EF10 */ sb $zero, %lo(D_8018EF10)($at)
/* 0C308C 800C248C 3C0F800E */ lui $t7, %hi(D_800DDB44) # $t7, 0x800e
/* 0C3090 800C2490 AC4E0000 */ sw $t6, ($v0)
/* 0C3094 800C2494 8DEFDB44 */ lw $t7, %lo(D_800DDB44)($t7)
/* 0C3098 800C2498 3C18800E */ lui $t8, %hi(D_800DDB48) # $t8, 0x800e
/* 0C309C 800C249C 3C19800E */ lui $t9, %hi(D_800DDB4C) # $t9, 0x800e
/* 0C30A0 800C24A0 AC4F0004 */ sw $t7, 4($v0)
/* 0C30A4 800C24A4 8F18DB48 */ lw $t8, %lo(D_800DDB48)($t8)
/* 0C30A8 800C24A8 3C018019 */ lui $at, %hi(D_8018FB91) # $at, 0x8019
/* 0C30AC 800C24AC 240E0001 */ li $t6, 1
/* 0C30B0 800C24B0 AC580008 */ sw $t8, 8($v0)
/* 0C30B4 800C24B4 8F39DB4C */ lw $t9, %lo(D_800DDB4C)($t9)
/* 0C30B8 800C24B8 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 0C30BC 800C24BC AFB00028 */ sw $s0, 0x28($sp)
/* 0C30C0 800C24C0 AC59000C */ sw $t9, 0xc($v0)
/* 0C30C4 800C24C4 A020FB91 */ sb $zero, %lo(D_8018FB91)($at)
/* 0C30C8 800C24C8 3C018019 */ lui $at, %hi(D_8018FB90) # $at, 0x8019
/* 0C30CC 800C24CC A02EFB90 */ sb $t6, %lo(D_8018FB90)($at)
/* 0C30D0 800C24D0 3C01800F */ lui $at, %hi(D_800EA0F4) # $at, 0x800f
/* 0C30D4 800C24D4 A020A0F4 */ sb $zero, %lo(D_800EA0F4)($at)
/* 0C30D8 800C24D8 3C018019 */ lui $at, %hi(D_8018FC08) # $at, 0x8019
/* 0C30DC 800C24DC A020FC08 */ sb $zero, %lo(D_8018FC08)($at)
/* 0C30E0 800C24E0 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
/* 0C30E4 800C24E4 A020A104 */ sb $zero, %lo(D_800EA104)($at)
/* 0C30E8 800C24E8 3C01800F */ lui $at, %hi(D_800EA108) # $at, 0x800f
/* 0C30EC 800C24EC A020A108 */ sb $zero, %lo(D_800EA108)($at)
/* 0C30F0 800C24F0 3C10800F */ lui $s0, %hi(D_800EA16C) # $s0, 0x800f
/* 0C30F4 800C24F4 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
/* 0C30F8 800C24F8 2610A16C */ addiu $s0, %lo(D_800EA16C) # addiu $s0, $s0, -0x5e94
/* 0C30FC 800C24FC AFBF004C */ sw $ra, 0x4c($sp)
/* 0C3100 800C2500 AFBE0048 */ sw $fp, 0x48($sp)
/* 0C3104 800C2504 A020A0F0 */ sb $zero, %lo(D_800EA0F0)($at)
/* 0C3108 800C2508 03A0F025 */ move $fp, $sp
/* 0C310C 800C250C AFB70044 */ sw $s7, 0x44($sp)
/* 0C3110 800C2510 AFB60040 */ sw $s6, 0x40($sp)
/* 0C3114 800C2514 AFB5003C */ sw $s5, 0x3c($sp)
/* 0C3118 800C2518 AFB40038 */ sw $s4, 0x38($sp)
/* 0C311C 800C251C AFB30034 */ sw $s3, 0x34($sp)
/* 0C3120 800C2520 AFB20030 */ sw $s2, 0x30($sp)
/* 0C3124 800C2524 AFB1002C */ sw $s1, 0x2c($sp)
/* 0C3128 800C2528 A2000000 */ sb $zero, ($s0)
/* 0C312C 800C252C 3C04F200 */ lui $a0, 0xf200
/* 0C3130 800C2530 0C032EEE */ jal func_800CBBB8
/* 0C3134 800C2534 00002825 */ move $a1, $zero
/* 0C3138 800C2538 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C313C 800C253C 44811000 */ mtc1 $at, $f2
/* 0C3140 800C2540 A2000000 */ sb $zero, ($s0)
/* 0C3144 800C2544 3C01800F */ lui $at, %hi(D_800EA15C) # $at, 0x800f
/* 0C3148 800C2548 A420A15C */ sh $zero, %lo(D_800EA15C)($at)
/* 0C314C 800C254C 3C01800F */ lui $at, %hi(D_800EA160) # $at, 0x800f
/* 0C3150 800C2550 A420A160 */ sh $zero, %lo(D_800EA160)($at)
/* 0C3154 800C2554 3C01800F */ lui $at, %hi(D_800EA164) # $at, 0x800f
/* 0C3158 800C2558 A020A164 */ sb $zero, %lo(D_800EA164)($at)
/* 0C315C 800C255C 3C01800F */ lui $at, %hi(D_800EA178) # $at, 0x800f
/* 0C3160 800C2560 E422A178 */ swc1 $f2, %lo(D_800EA178)($at)
/* 0C3164 800C2564 3C01800F */ lui $at, %hi(D_800F35E8) # $at, 0x800f
/* 0C3168 800C2568 C42435E8 */ lwc1 $f4, %lo(D_800F35E8)($at)
/* 0C316C 800C256C 3C01800F */ lui $at, %hi(D_800EA17C) # $at, 0x800f
/* 0C3170 800C2570 3C108019 */ lui $s0, %hi(D_8018FBD8) # $s0, 0x8019
/* 0C3174 800C2574 E424A17C */ swc1 $f4, %lo(D_800EA17C)($at)
/* 0C3178 800C2578 3C01800F */ lui $at, %hi(D_800EA180) # $at, 0x800f
/* 0C317C 800C257C A420A180 */ sh $zero, %lo(D_800EA180)($at)
/* 0C3180 800C2580 3C01800F */ lui $at, %hi(D_800EA184) # $at, 0x800f
/* 0C3184 800C2584 3C178019 */ lui $s7, %hi(D_8018FC10) # $s7, 0x8019
/* 0C3188 800C2588 3C16800F */ lui $s6, %hi(D_800E9E94) # $s6, 0x800f
/* 0C318C 800C258C 3C15800F */ lui $s5, %hi(D_800E9E84) # $s5, 0x800f
/* 0C3190 800C2590 3C14800F */ lui $s4, %hi(D_800E9E74) # $s4, 0x800f
/* 0C3194 800C2594 3C13800F */ lui $s3, %hi(D_800E9F7C) # $s3, 0x800f
/* 0C3198 800C2598 3C12800F */ lui $s2, %hi(D_800E9EA4) # $s2, 0x800f
/* 0C319C 800C259C 3C11800F */ lui $s1, %hi(D_800EA0EC) # $s1, 0x800f
/* 0C31A0 800C25A0 3C1F8019 */ lui $ra, %hi(D_8018FBA8) # $ra, 0x8019
/* 0C31A4 800C25A4 3C0B800F */ lui $t3, %hi(D_800E9DF4) # $t3, 0x800f
/* 0C31A8 800C25A8 3C0A800F */ lui $t2, %hi(D_800E9DB4) # $t2, 0x800f
/* 0C31AC 800C25AC 3C08800F */ lui $t0, %hi(D_800F6990) # $t0, 0x800f
/* 0C31B0 800C25B0 44806000 */ mtc1 $zero, $f12
/* 0C31B4 800C25B4 44800000 */ mtc1 $zero, $f0
/* 0C31B8 800C25B8 A420A184 */ sh $zero, %lo(D_800EA184)($at)
/* 0C31BC 800C25BC 25086990 */ addiu $t0, %lo(D_800F6990) # addiu $t0, $t0, 0x6990
/* 0C31C0 800C25C0 254A9DB4 */ addiu $t2, %lo(D_800E9DB4) # addiu $t2, $t2, -0x624c
/* 0C31C4 800C25C4 256B9DF4 */ addiu $t3, %lo(D_800E9DF4) # addiu $t3, $t3, -0x620c
/* 0C31C8 800C25C8 27FFFBA8 */ addiu $ra, %lo(D_8018FBA8) # addiu $ra, $ra, -0x458
/* 0C31CC 800C25CC 2631A0EC */ addiu $s1, %lo(D_800EA0EC) # addiu $s1, $s1, -0x5f14
/* 0C31D0 800C25D0 26529EA4 */ addiu $s2, %lo(D_800E9EA4) # addiu $s2, $s2, -0x615c
/* 0C31D4 800C25D4 26739F7C */ addiu $s3, %lo(D_800E9F7C) # addiu $s3, $s3, -0x6084
/* 0C31D8 800C25D8 26949E74 */ addiu $s4, %lo(D_800E9E74) # addiu $s4, $s4, -0x618c
/* 0C31DC 800C25DC 26B59E84 */ addiu $s5, %lo(D_800E9E84) # addiu $s5, $s5, -0x617c
/* 0C31E0 800C25E0 26D69E94 */ addiu $s6, %lo(D_800E9E94) # addiu $s6, $s6, -0x616c
/* 0C31E4 800C25E4 26F7FC10 */ addiu $s7, %lo(D_8018FC10) # addiu $s7, $s7, -0x3f0
/* 0C31E8 800C25E8 2610FBD8 */ addiu $s0, %lo(D_8018FBD8) # addiu $s0, $s0, -0x428
/* 0C31EC 800C25EC 00001025 */ move $v0, $zero
/* 0C31F0 800C25F0 240D003C */ li $t5, 60
/* 0C31F4 800C25F4 240C000C */ li $t4, 12
/* 0C31F8 800C25F8 24090DD8 */ li $t1, 3544
.L800C25FC:
/* 0C31FC 800C25FC 004C0019 */ multu $v0, $t4
/* 0C3200 800C2600 00021880 */ sll $v1, $v0, 2
/* 0C3204 800C2604 01437821 */ addu $t7, $t2, $v1
/* 0C3208 800C2608 ADE00000 */ sw $zero, ($t7)
/* 0C320C 800C260C 0163C021 */ addu $t8, $t3, $v1
/* 0C3210 800C2610 E70C0000 */ swc1 $f12, ($t8)
/* 0C3214 800C2614 0222C821 */ addu $t9, $s1, $v0
/* 0C3218 800C2618 A3200000 */ sb $zero, ($t9)
/* 0C321C 800C261C 02437021 */ addu $t6, $s2, $v1
/* 0C3220 800C2620 ADC00000 */ sw $zero, ($t6)
/* 0C3224 800C2624 00003812 */ mflo $a3
/* 0C3228 800C2628 03E72021 */ addu $a0, $ra, $a3
/* 0C322C 800C262C 02072821 */ addu $a1, $s0, $a3
/* 0C3230 800C2630 004D0019 */ multu $v0, $t5
/* 0C3234 800C2634 E4800000 */ swc1 $f0, ($a0)
/* 0C3238 800C2638 E4800004 */ swc1 $f0, 4($a0)
/* 0C323C 800C263C E4800008 */ swc1 $f0, 8($a0)
/* 0C3240 800C2640 E4A00000 */ swc1 $f0, ($a1)
/* 0C3244 800C2644 E4A00004 */ swc1 $f0, 4($a1)
/* 0C3248 800C2648 E4A00008 */ swc1 $f0, 8($a1)
/* 0C324C 800C264C 0283C821 */ addu $t9, $s4, $v1
/* 0C3250 800C2650 02A37021 */ addu $t6, $s5, $v1
/* 0C3254 800C2654 02E32021 */ addu $a0, $s7, $v1
/* 0C3258 800C2658 00007812 */ mflo $t7
/* 0C325C 800C265C 026FC021 */ addu $t8, $s3, $t7
/* 0C3260 800C2660 A3000014 */ sb $zero, 0x14($t8)
/* 0C3264 800C2664 00490019 */ multu $v0, $t1
/* 0C3268 800C2668 AF200000 */ sw $zero, ($t9)
/* 0C326C 800C266C ADC00000 */ sw $zero, ($t6)
/* 0C3270 800C2670 02C37821 */ addu $t7, $s6, $v1
/* 0C3274 800C2674 ADE00000 */ sw $zero, ($t7)
/* 0C3278 800C2678 241900FF */ li $t9, 255
/* 0C327C 800C267C 3C01800F */ lui $at, %hi(D_800EA10C)
/* 0C3280 800C2680 00220821 */ addu $at, $at, $v0
/* 0C3284 800C2684 0000C012 */ mflo $t8
/* 0C3288 800C2688 01183021 */ addu $a2, $t0, $t8
/* 0C328C 800C268C A0C001D4 */ sb $zero, 0x1d4($a2)
/* 0C3290 800C2690 A0C001EC */ sb $zero, 0x1ec($a2)
/* 0C3294 800C2694 ACC000BC */ sw $zero, 0xbc($a2)
/* 0C3298 800C2698 E4C0020C */ swc1 $f0, 0x20c($a2)
/* 0C329C 800C269C A4C000C0 */ sh $zero, 0xc0($a2)
/* 0C32A0 800C26A0 E4C00098 */ swc1 $f0, 0x98($a2)
/* 0C32A4 800C26A4 A4C000DE */ sh $zero, 0xde($a2)
/* 0C32A8 800C26A8 A4990000 */ sh $t9, ($a0)
/* 0C32AC 800C26AC A4800002 */ sh $zero, 2($a0)
/* 0C32B0 800C26B0 A020A10C */ sb $zero, %lo(D_800EA10C)($at)
/* 0C32B4 800C26B4 3C01800F */ lui $at, %hi(D_800E9F74)
/* 0C32B8 800C26B8 00220821 */ addu $at, $at, $v0
/* 0C32BC 800C26BC A0209F74 */ sb $zero, %lo(D_800E9F74)($at)
/* 0C32C0 800C26C0 3C01800F */ lui $at, %hi(D_800E9F78)
/* 0C32C4 800C26C4 00220821 */ addu $at, $at, $v0
/* 0C32C8 800C26C8 24420001 */ addiu $v0, $v0, 1
/* 0C32CC 800C26CC 304E00FF */ andi $t6, $v0, 0xff
/* 0C32D0 800C26D0 A0209F78 */ sb $zero, %lo(D_800E9F78)($at)
/* 0C32D4 800C26D4 29C10004 */ slti $at, $t6, 4
/* 0C32D8 800C26D8 1420FFC8 */ bnez $at, .L800C25FC
/* 0C32DC 800C26DC 01C01025 */ move $v0, $t6
/* 0C32E0 800C26E0 3C0B800F */ lui $t3, %hi(D_800EA06C) # $t3, 0x800f
/* 0C32E4 800C26E4 3C0A800F */ lui $t2, %hi(D_800EA130) # $t2, 0x800f
/* 0C32E8 800C26E8 3C07800F */ lui $a3, %hi(D_800E9F54) # $a3, 0x800f
/* 0C32EC 800C26EC 3C06800F */ lui $a2, %hi(D_800E9F34) # $a2, 0x800f
/* 0C32F0 800C26F0 3C05800F */ lui $a1, %hi(D_800E9F2C) # $a1, 0x800f
/* 0C32F4 800C26F4 3C04800F */ lui $a0, %hi(D_800E9F24) # $a0, 0x800f
/* 0C32F8 800C26F8 24849F24 */ addiu $a0, %lo(D_800E9F24) # addiu $a0, $a0, -0x60dc
/* 0C32FC 800C26FC 24A59F2C */ addiu $a1, %lo(D_800E9F2C) # addiu $a1, $a1, -0x60d4
/* 0C3300 800C2700 24C69F34 */ addiu $a2, %lo(D_800E9F34) # addiu $a2, $a2, -0x60cc
/* 0C3304 800C2704 24E79F54 */ addiu $a3, %lo(D_800E9F54) # addiu $a3, $a3, -0x60ac
/* 0C3308 800C2708 254AA130 */ addiu $t2, %lo(D_800EA130) # addiu $t2, $t2, -0x5ed0
/* 0C330C 800C270C 256BA06C */ addiu $t3, %lo(D_800EA06C) # addiu $t3, $t3, -0x5f94
/* 0C3310 800C2710 00001025 */ move $v0, $zero
.L800C2714:
/* 0C3314 800C2714 00490019 */ multu $v0, $t1
/* 0C3318 800C2718 00827821 */ addu $t7, $a0, $v0
/* 0C331C 800C271C A1E00000 */ sb $zero, ($t7)
/* 0C3320 800C2720 00A2C021 */ addu $t8, $a1, $v0
/* 0C3324 800C2724 00021880 */ sll $v1, $v0, 2
/* 0C3328 800C2728 A3000000 */ sb $zero, ($t8)
/* 0C332C 800C272C 00C3C821 */ addu $t9, $a2, $v1
/* 0C3330 800C2730 E7200000 */ swc1 $f0, ($t9)
/* 0C3334 800C2734 00E37021 */ addu $t6, $a3, $v1
/* 0C3338 800C2738 0002C100 */ sll $t8, $v0, 4
/* 0C333C 800C273C E5C00000 */ swc1 $f0, ($t6)
/* 0C3340 800C2740 01437821 */ addu $t7, $t2, $v1
/* 0C3344 800C2744 24420001 */ addiu $v0, $v0, 1
/* 0C3348 800C2748 E5E00000 */ swc1 $f0, ($t7)
/* 0C334C 800C274C 0178C821 */ addu $t9, $t3, $t8
/* 0C3350 800C2750 305800FF */ andi $t8, $v0, 0xff
/* 0C3354 800C2754 00007012 */ mflo $t6
/* 0C3358 800C2758 2B010008 */ slti $at, $t8, 8
/* 0C335C 800C275C A320000C */ sb $zero, 0xc($t9)
/* 0C3360 800C2760 010E7821 */ addu $t7, $t0, $t6
/* 0C3364 800C2764 03001025 */ move $v0, $t8
/* 0C3368 800C2768 1420FFEA */ bnez $at, .L800C2714
/* 0C336C 800C276C ADE000BC */ sw $zero, 0xbc($t7)
/* 0C3370 800C2770 3C048019 */ lui $a0, %hi(D_8018EF18) # $a0, 0x8019
/* 0C3374 800C2774 2484EF18 */ addiu $a0, %lo(D_8018EF18) # addiu $a0, $a0, -0x10e8
/* 0C3378 800C2778 00001025 */ move $v0, $zero
/* 0C337C 800C277C 24050040 */ li $a1, 64
.L800C2780:
/* 0C3380 800C2780 004C0019 */ multu $v0, $t4
/* 0C3384 800C2784 24420001 */ addiu $v0, $v0, 1
/* 0C3388 800C2788 304E00FF */ andi $t6, $v0, 0xff
/* 0C338C 800C278C 29C10010 */ slti $at, $t6, 0x10
/* 0C3390 800C2790 01C01025 */ move $v0, $t6
/* 0C3394 800C2794 0000C812 */ mflo $t9
/* 0C3398 800C2798 00991821 */ addu $v1, $a0, $t9
/* 0C339C 800C279C E4620000 */ swc1 $f2, ($v1)
/* 0C33A0 800C27A0 E4620004 */ swc1 $f2, 4($v1)
/* 0C33A4 800C27A4 A0600008 */ sb $zero, 8($v1)
/* 0C33A8 800C27A8 1420FFF5 */ bnez $at, .L800C2780
/* 0C33AC 800C27AC A0650009 */ sb $a1, 9($v1)
/* 0C33B0 800C27B0 3C058019 */ lui $a1, %hi(D_8018EFD8) # $a1, 0x8019
/* 0C33B4 800C27B4 24A5EFD8 */ addiu $a1, %lo(D_8018EFD8) # addiu $a1, $a1, -0x1028
/* 0C33B8 800C27B8 240600FF */ li $a2, 255
/* 0C33BC 800C27BC A0A60029 */ sb $a2, 0x29($a1)
/* 0C33C0 800C27C0 A0A6002A */ sb $a2, 0x2a($a1)
/* 0C33C4 800C27C4 24020001 */ li $v0, 1
/* 0C33C8 800C27C8 24030001 */ li $v1, 1
.L800C27CC:
/* 0C33CC 800C27CC 004D0019 */ multu $v0, $t5
/* 0C33D0 800C27D0 24420001 */ addiu $v0, $v0, 1
/* 0C33D4 800C27D4 304E00FF */ andi $t6, $v0, 0xff
/* 0C33D8 800C27D8 29C10031 */ slti $at, $t6, 0x31
/* 0C33DC 800C27DC 2478FFFF */ addiu $t8, $v1, -1
/* 0C33E0 800C27E0 24790001 */ addiu $t9, $v1, 1
/* 0C33E4 800C27E4 01C01825 */ move $v1, $t6
/* 0C33E8 800C27E8 01C01025 */ move $v0, $t6
/* 0C33EC 800C27EC 00007812 */ mflo $t7
/* 0C33F0 800C27F0 00AF2021 */ addu $a0, $a1, $t7
/* 0C33F4 800C27F4 A0980029 */ sb $t8, 0x29($a0)
/* 0C33F8 800C27F8 1420FFF4 */ bnez $at, .L800C27CC
/* 0C33FC 800C27FC A099002A */ sb $t9, 0x2a($a0)
/* 0C3400 800C2800 01CD0019 */ multu $t6, $t5
/* 0C3404 800C2804 25D8FFFF */ addiu $t8, $t6, -1
/* 0C3408 800C2808 03C0E825 */ move $sp, $fp
/* 0C340C 800C280C 00007812 */ mflo $t7
/* 0C3410 800C2810 00AF2021 */ addu $a0, $a1, $t7
/* 0C3414 800C2814 A0980029 */ sb $t8, 0x29($a0)
/* 0C3418 800C2818 A086002A */ sb $a2, 0x2a($a0)
/* 0C341C 800C281C 8FDF004C */ lw $ra, 0x4c($fp)
/* 0C3420 800C2820 8FD70044 */ lw $s7, 0x44($fp)
/* 0C3424 800C2824 8FD60040 */ lw $s6, 0x40($fp)
/* 0C3428 800C2828 8FD5003C */ lw $s5, 0x3c($fp)
/* 0C342C 800C282C 8FD40038 */ lw $s4, 0x38($fp)
/* 0C3430 800C2830 8FD30034 */ lw $s3, 0x34($fp)
/* 0C3434 800C2834 8FD20030 */ lw $s2, 0x30($fp)
/* 0C3438 800C2838 8FD1002C */ lw $s1, 0x2c($fp)
/* 0C343C 800C283C 8FD00028 */ lw $s0, 0x28($fp)
/* 0C3440 800C2840 8FDE0048 */ lw $fp, 0x48($fp)
/* 0C3444 800C2844 03E00008 */ jr $ra
/* 0C3448 800C2848 27BD0050 */ addiu $sp, $sp, 0x50
glabel func_800C284C
/* 0C344C 800C284C 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 0C3450 800C2850 3C0F800F */ lui $t7, %hi(D_800EA1EC) # $t7, 0x800f
/* 0C3454 800C2854 91EFA1EC */ lbu $t7, %lo(D_800EA1EC)($t7)
/* 0C3458 800C2858 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C345C 800C285C AFA7004C */ sw $a3, 0x4c($sp)
/* 0C3460 800C2860 30EEFFFF */ andi $t6, $a3, 0xffff
/* 0C3464 800C2864 01C03825 */ move $a3, $t6
/* 0C3468 800C2868 03A0F025 */ move $fp, $sp
/* 0C346C 800C286C AFBF002C */ sw $ra, 0x2c($sp)
/* 0C3470 800C2870 AFA40040 */ sw $a0, 0x40($sp)
/* 0C3474 800C2874 AFA50044 */ sw $a1, 0x44($sp)
/* 0C3478 800C2878 11E00005 */ beqz $t7, .L800C2890
/* 0C347C 800C287C AFA60048 */ sw $a2, 0x48($sp)
/* 0C3480 800C2880 93D80043 */ lbu $t8, 0x43($fp)
/* 0C3484 800C2884 24010002 */ li $at, 2
/* 0C3488 800C2888 57010046 */ bnel $t8, $at, .L800C29A4
/* 0C348C 800C288C 8FDF002C */ lw $ra, 0x2c($fp)
.L800C2890:
/* 0C3490 800C2890 93D90043 */ lbu $t9, 0x43($fp)
/* 0C3494 800C2894 93CB0047 */ lbu $t3, 0x47($fp)
/* 0C3498 800C2898 3C018200 */ lui $at, 0x8200
/* 0C349C 800C289C 00191400 */ sll $v0, $t9, 0x10
/* 0C34A0 800C28A0 00414825 */ or $t1, $v0, $at
/* 0C34A4 800C28A4 000B6200 */ sll $t4, $t3, 8
/* 0C34A8 800C28A8 012C2025 */ or $a0, $t1, $t4
/* 0C34AC 800C28AC AFC20034 */ sw $v0, 0x34($fp)
/* 0C34B0 800C28B0 0C032EEE */ jal func_800CBBB8
/* 0C34B4 800C28B4 00E02825 */ move $a1, $a3
/* 0C34B8 800C28B8 93CD0043 */ lbu $t5, 0x43($fp)
/* 0C34BC 800C28BC 3C0F8019 */ lui $t7, %hi(D_801930D0) # $t7, 0x8019
/* 0C34C0 800C28C0 25EF30D0 */ addiu $t7, %lo(D_801930D0) # addiu $t7, $t7, 0x30d0
/* 0C34C4 800C28C4 000D70C0 */ sll $t6, $t5, 3
/* 0C34C8 800C28C8 01CD7021 */ addu $t6, $t6, $t5
/* 0C34CC 800C28CC 000E7080 */ sll $t6, $t6, 2
/* 0C34D0 800C28D0 01CD7021 */ addu $t6, $t6, $t5
/* 0C34D4 800C28D4 000E7080 */ sll $t6, $t6, 2
/* 0C34D8 800C28D8 01CD7023 */ subu $t6, $t6, $t5
/* 0C34DC 800C28DC 000E7080 */ sll $t6, $t6, 2
/* 0C34E0 800C28E0 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C34E4 800C28E4 01CF3021 */ addu $a2, $t6, $t7
/* 0C34E8 800C28E8 44810000 */ mtc1 $at, $f0
/* 0C34EC 800C28EC C4C20000 */ lwc1 $f2, ($a2)
/* 0C34F0 800C28F0 93D9004B */ lbu $t9, 0x4b($fp)
/* 0C34F4 800C28F4 93D80047 */ lbu $t8, 0x47($fp)
/* 0C34F8 800C28F8 46020032 */ c.eq.s $f0, $f2
/* 0C34FC 800C28FC 00194200 */ sll $t0, $t9, 8
/* 0C3500 800C2900 8FC20034 */ lw $v0, 0x34($fp)
/* 0C3504 800C2904 03085025 */ or $t2, $t8, $t0
/* 0C3508 800C2908 45010009 */ bc1t .L800C2930
/* 0C350C 800C290C A4CA0248 */ sh $t2, 0x248($a2)
/* 0C3510 800C2910 3C014100 */ lui $at, 0x4100
/* 0C3514 800C2914 44051000 */ mfc1 $a1, $f2
/* 0C3518 800C2918 00412025 */ or $a0, $v0, $at
/* 0C351C 800C291C 0C032EE2 */ jal func_800CBB88
/* 0C3520 800C2920 AFC60030 */ sw $a2, 0x30($fp)
/* 0C3524 800C2924 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C3528 800C2928 44810000 */ mtc1 $at, $f0
/* 0C352C 800C292C 8FC60030 */ lw $a2, 0x30($fp)
.L800C2930:
/* 0C3530 800C2930 A4C00028 */ sh $zero, 0x28($a2)
/* 0C3534 800C2934 A4C00018 */ sh $zero, 0x18($a2)
/* 0C3538 800C2938 ACC00014 */ sw $zero, 0x14($a2)
/* 0C353C 800C293C 93CB0043 */ lbu $t3, 0x43($fp)
/* 0C3540 800C2940 3C0C8019 */ lui $t4, %hi(D_801930D0) # $t4, 0x8019
/* 0C3544 800C2944 258C30D0 */ addiu $t4, %lo(D_801930D0) # addiu $t4, $t4, 0x30d0
/* 0C3548 800C2948 000B48C0 */ sll $t1, $t3, 3
/* 0C354C 800C294C 012B4821 */ addu $t1, $t1, $t3
/* 0C3550 800C2950 00094880 */ sll $t1, $t1, 2
/* 0C3554 800C2954 012B4821 */ addu $t1, $t1, $t3
/* 0C3558 800C2958 00094880 */ sll $t1, $t1, 2
/* 0C355C 800C295C 012B4823 */ subu $t1, $t1, $t3
/* 0C3560 800C2960 00094880 */ sll $t1, $t1, 2
/* 0C3564 800C2964 012C2021 */ addu $a0, $t1, $t4
/* 0C3568 800C2968 00001825 */ move $v1, $zero
.L800C296C:
/* 0C356C 800C296C 00036940 */ sll $t5, $v1, 5
/* 0C3570 800C2970 24630001 */ addiu $v1, $v1, 1
/* 0C3574 800C2974 008D1021 */ addu $v0, $a0, $t5
/* 0C3578 800C2978 306E00FF */ andi $t6, $v1, 0xff
/* 0C357C 800C297C 29C10010 */ slti $at, $t6, 0x10
/* 0C3580 800C2980 01C01825 */ move $v1, $t6
/* 0C3584 800C2984 E4400044 */ swc1 $f0, 0x44($v0)
/* 0C3588 800C2988 A4400050 */ sh $zero, 0x50($v0)
/* 0C358C 800C298C E4400054 */ swc1 $f0, 0x54($v0)
/* 0C3590 800C2990 1420FFF6 */ bnez $at, .L800C296C
/* 0C3594 800C2994 A4400060 */ sh $zero, 0x60($v0)
/* 0C3598 800C2998 A4C00244 */ sh $zero, 0x244($a2)
/* 0C359C 800C299C A4C00246 */ sh $zero, 0x246($a2)
/* 0C35A0 800C29A0 8FDF002C */ lw $ra, 0x2c($fp)
.L800C29A4:
/* 0C35A4 800C29A4 03C0E825 */ move $sp, $fp
/* 0C35A8 800C29A8 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C35AC 800C29AC 03E00008 */ jr $ra
/* 0C35B0 800C29B0 27BD0040 */ addiu $sp, $sp, 0x40
glabel func_800C29B4
/* 0C35B4 800C29B4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C35B8 800C29B8 AFA40030 */ sw $a0, 0x30($sp)
/* 0C35BC 800C29BC 93AF0033 */ lbu $t7, 0x33($sp)
/* 0C35C0 800C29C0 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C35C4 800C29C4 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C35C8 800C29C8 AFA50034 */ sw $a1, 0x34($sp)
/* 0C35CC 800C29CC 30AEFFFF */ andi $t6, $a1, 0xffff
/* 0C35D0 800C29D0 3C018300 */ lui $at, 0x8300
/* 0C35D4 800C29D4 000FC400 */ sll $t8, $t7, 0x10
/* 0C35D8 800C29D8 01C02825 */ move $a1, $t6
/* 0C35DC 800C29DC 03A0F025 */ move $fp, $sp
/* 0C35E0 800C29E0 0C032EEE */ jal func_800CBBB8
/* 0C35E4 800C29E4 03012025 */ or $a0, $t8, $at
/* 0C35E8 800C29E8 93C90033 */ lbu $t1, 0x33($fp)
/* 0C35EC 800C29EC 3C018019 */ lui $at, %hi(D_80193318) # 0x8019
/* 0C35F0 800C29F0 3408FFFF */ li $t0, 65535
/* 0C35F4 800C29F4 000950C0 */ sll $t2, $t1, 3
/* 0C35F8 800C29F8 01495021 */ addu $t2, $t2, $t1
/* 0C35FC 800C29FC 000A5080 */ sll $t2, $t2, 2
/* 0C3600 800C2A00 01495021 */ addu $t2, $t2, $t1
/* 0C3604 800C2A04 000A5080 */ sll $t2, $t2, 2
/* 0C3608 800C2A08 01495023 */ subu $t2, $t2, $t1
/* 0C360C 800C2A0C 000A5080 */ sll $t2, $t2, 2
/* 0C3610 800C2A10 002A0821 */ addu $at, $at, $t2
/* 0C3614 800C2A14 A4283318 */ sh $t0, %lo(D_80193318)($at) # 0x3318($at)
/* 0C3618 800C2A18 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C361C 800C2A1C 03C0E825 */ move $sp, $fp
/* 0C3620 800C2A20 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C3624 800C2A24 03E00008 */ jr $ra
/* 0C3628 800C2A28 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800C2A2C
/* 0C362C 800C2A2C 3C010F00 */ lui $at, 0xf00
/* 0C3630 800C2A30 27BDFF98 */ addiu $sp, $sp, -0x68
/* 0C3634 800C2A34 00815024 */ and $t2, $a0, $at
/* 0C3638 800C2A38 00047F02 */ srl $t7, $a0, 0x1c
/* 0C363C 800C2A3C 31F800FF */ andi $t8, $t7, 0xff
/* 0C3640 800C2A40 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C3644 800C2A44 AFB00024 */ sw $s0, 0x24($sp)
/* 0C3648 800C2A48 000A7602 */ srl $t6, $t2, 0x18
/* 0C364C 800C2A4C 2F010010 */ sltiu $at, $t8, 0x10
/* 0C3650 800C2A50 00808025 */ move $s0, $a0
/* 0C3654 800C2A54 03A0F025 */ move $fp, $sp
/* 0C3658 800C2A58 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C365C 800C2A5C 01C05025 */ move $t2, $t6
/* 0C3660 800C2A60 10200273 */ beqz $at, .L800C3430
/* 0C3664 800C2A64 31C500FF */ andi $a1, $t6, 0xff
/* 0C3668 800C2A68 0018C080 */ sll $t8, $t8, 2
/* 0C366C 800C2A6C 3C01800F */ lui $at, %hi(D_800F35EC)
/* 0C3670 800C2A70 00380821 */ addu $at, $at, $t8
/* 0C3674 800C2A74 8C3835EC */ lw $t8, %lo(D_800F35EC)($at)
/* 0C3678 800C2A78 03000008 */ jr $t8
/* 0C367C 800C2A7C 00000000 */ nop
glabel L800C2A80
/* 0C3680 800C2A80 3C0100FF */ lui $at, 0xff
/* 0C3684 800C2A84 02013824 */ and $a3, $s0, $at
/* 0C3688 800C2A88 02002825 */ move $a1, $s0
/* 0C368C 800C2A8C 3206FF00 */ andi $a2, $s0, 0xff00
/* 0C3690 800C2A90 00067202 */ srl $t6, $a2, 8
/* 0C3694 800C2A94 30B900FF */ andi $t9, $a1, 0xff
/* 0C3698 800C2A98 0007C342 */ srl $t8, $a3, 0xd
/* 0C369C 800C2A9C 3307FFFF */ andi $a3, $t8, 0xffff
/* 0C36A0 800C2AA0 03202825 */ move $a1, $t9
/* 0C36A4 800C2AA4 31C600FF */ andi $a2, $t6, 0xff
/* 0C36A8 800C2AA8 0C030A13 */ jal func_800C284C
/* 0C36AC 800C2AAC 314400FF */ andi $a0, $t2, 0xff
/* 0C36B0 800C2AB0 10000260 */ b .L800C3434
/* 0C36B4 800C2AB4 8FDF002C */ lw $ra, 0x2c($fp)
glabel L800C2AB8
/* 0C36B8 800C2AB8 3C0100FF */ lui $at, 0xff
/* 0C36BC 800C2ABC 02012824 */ and $a1, $s0, $at
/* 0C36C0 800C2AC0 00057342 */ srl $t6, $a1, 0xd
/* 0C36C4 800C2AC4 31C5FFFF */ andi $a1, $t6, 0xffff
/* 0C36C8 800C2AC8 0C030A6D */ jal func_800C29B4
/* 0C36CC 800C2ACC 314400FF */ andi $a0, $t2, 0xff
/* 0C36D0 800C2AD0 10000258 */ b .L800C3434
/* 0C36D4 800C2AD4 8FDF002C */ lw $ra, 0x2c($fp)
glabel L800C2AD8
/* 0C36D8 800C2AD8 3C028019 */ lui $v0, %hi(D_80192CC6) # $v0, 0x8019
/* 0C36DC 800C2ADC 315800FF */ andi $t8, $t2, 0xff
/* 0C36E0 800C2AE0 24422CC6 */ addiu $v0, %lo(D_80192CC6) # addiu $v0, $v0, 0x2cc6
/* 0C36E4 800C2AE4 00586021 */ addu $t4, $v0, $t8
/* 0C36E8 800C2AE8 AFD8003C */ sw $t8, 0x3c($fp)
/* 0C36EC 800C2AEC 91890000 */ lbu $t1, ($t4)
/* 0C36F0 800C2AF0 0300C825 */ move $t9, $t8
/* 0C36F4 800C2AF4 00001825 */ move $v1, $zero
/* 0C36F8 800C2AF8 19200023 */ blez $t1, .L800C2B88
/* 0C36FC 800C2AFC 01205825 */ move $t3, $t1
/* 0C3700 800C2B00 0018C080 */ sll $t8, $t8, 2
/* 0C3704 800C2B04 0319C021 */ addu $t8, $t8, $t9
/* 0C3708 800C2B08 3C0E8019 */ lui $t6, %hi(D_80192CA8) # $t6, 0x8019
/* 0C370C 800C2B0C 25CE2CA8 */ addiu $t6, %lo(D_80192CA8) # addiu $t6, $t6, 0x2ca8
/* 0C3710 800C2B10 0018C040 */ sll $t8, $t8, 1
/* 0C3714 800C2B14 320400FF */ andi $a0, $s0, 0xff
/* 0C3718 800C2B18 AFC40048 */ sw $a0, 0x48($fp)
/* 0C371C 800C2B1C 030E3021 */ addu $a2, $t8, $t6
.L800C2B20:
/* 0C3720 800C2B20 00037840 */ sll $t7, $v1, 1
/* 0C3724 800C2B24 00CFC821 */ addu $t9, $a2, $t7
/* 0C3728 800C2B28 93380000 */ lbu $t8, ($t9)
/* 0C372C 800C2B2C 00457821 */ addu $t7, $v0, $a1
/* 0C3730 800C2B30 5498000F */ bnel $a0, $t8, .L800C2B70
/* 0C3734 800C2B34 91F90000 */ lbu $t9, ($t7)
/* 0C3738 800C2B38 1460023D */ bnez $v1, .L800C3430
/* 0C373C 800C2B3C 3206FF00 */ andi $a2, $s0, 0xff00
/* 0C3740 800C2B40 3C0100FF */ lui $at, 0xff
/* 0C3744 800C2B44 02013824 */ and $a3, $s0, $at
/* 0C3748 800C2B48 0007CB42 */ srl $t9, $a3, 0xd
/* 0C374C 800C2B4C 00067202 */ srl $t6, $a2, 8
/* 0C3750 800C2B50 31C600FF */ andi $a2, $t6, 0xff
/* 0C3754 800C2B54 3327FFFF */ andi $a3, $t9, 0xffff
/* 0C3758 800C2B58 93C4003F */ lbu $a0, 0x3f($fp)
/* 0C375C 800C2B5C 0C030A13 */ jal func_800C284C
/* 0C3760 800C2B60 93C5004B */ lbu $a1, 0x4b($fp)
/* 0C3764 800C2B64 10000233 */ b .L800C3434
/* 0C3768 800C2B68 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C376C 800C2B6C 91F90000 */ lbu $t9, ($t7)
.L800C2B70:
/* 0C3770 800C2B70 24630001 */ addiu $v1, $v1, 1
/* 0C3774 800C2B74 306E00FF */ andi $t6, $v1, 0xff
/* 0C3778 800C2B78 01D9082A */ slt $at, $t6, $t9
/* 0C377C 800C2B7C 1420FFE8 */ bnez $at, .L800C2B20
/* 0C3780 800C2B80 01C01825 */ move $v1, $t6
/* 0C3784 800C2B84 00001825 */ move $v1, $zero
.L800C2B88:
/* 0C3788 800C2B88 1960001B */ blez $t3, .L800C2BF8
/* 0C378C 800C2B8C 312800FF */ andi $t0, $t1, 0xff
/* 0C3790 800C2B90 8FD8003C */ lw $t8, 0x3c($fp)
/* 0C3794 800C2B94 3C028019 */ lui $v0, %hi(D_80192CC6) # 0x8019
/* 0C3798 800C2B98 3C0F8019 */ lui $t7, %hi(D_80192CA8) # $t7, 0x8019
/* 0C379C 800C2B9C 00187080 */ sll $t6, $t8, 2
/* 0C37A0 800C2BA0 3204FF00 */ andi $a0, $s0, 0xff00
/* 0C37A4 800C2BA4 01D87021 */ addu $t6, $t6, $t8
/* 0C37A8 800C2BA8 000E7040 */ sll $t6, $t6, 1
/* 0C37AC 800C2BAC 0004CA02 */ srl $t9, $a0, 8
/* 0C37B0 800C2BB0 25EF2CA8 */ addiu $t7, %lo(D_80192CA8) # addiu $t7, $t7, 0x2ca8
/* 0C37B4 800C2BB4 00451021 */ addu $v0, $v0, $a1
/* 0C37B8 800C2BB8 90422CC6 */ lbu $v0, %lo(D_80192CC6)($v0) # 0x2cc6($v0)
/* 0C37BC 800C2BBC 01CF3021 */ addu $a2, $t6, $t7
/* 0C37C0 800C2BC0 332400FF */ andi $a0, $t9, 0xff
.L800C2BC4:
/* 0C37C4 800C2BC4 00037040 */ sll $t6, $v1, 1
/* 0C37C8 800C2BC8 00CE7821 */ addu $t7, $a2, $t6
/* 0C37CC 800C2BCC 91F90001 */ lbu $t9, 1($t7)
/* 0C37D0 800C2BD0 0099082A */ slt $at, $a0, $t9
/* 0C37D4 800C2BD4 54200004 */ bnel $at, $zero, .L800C2BE8
/* 0C37D8 800C2BD8 24630001 */ addiu $v1, $v1, 1
/* 0C37DC 800C2BDC 306800FF */ andi $t0, $v1, 0xff
/* 0C37E0 800C2BE0 312300FF */ andi $v1, $t1, 0xff
/* 0C37E4 800C2BE4 24630001 */ addiu $v1, $v1, 1
.L800C2BE8:
/* 0C37E8 800C2BE8 307800FF */ andi $t8, $v1, 0xff
/* 0C37EC 800C2BEC 0302082A */ slt $at, $t8, $v0
/* 0C37F0 800C2BF0 1420FFF4 */ bnez $at, .L800C2BC4
/* 0C37F4 800C2BF4 03001825 */ move $v1, $t8
.L800C2BF8:
/* 0C37F8 800C2BF8 150B0003 */ bne $t0, $t3, .L800C2C08
/* 0C37FC 800C2BFC 01005025 */ move $t2, $t0
/* 0C3800 800C2C00 15400027 */ bnez $t2, .L800C2CA0
/* 0C3804 800C2C04 00000000 */ nop
.L800C2C08:
/* 0C3808 800C2C08 8FD8003C */ lw $t8, 0x3c($fp)
/* 0C380C 800C2C0C 02006825 */ move $t5, $s0
/* 0C3810 800C2C10 31AE00FF */ andi $t6, $t5, 0xff
/* 0C3814 800C2C14 3207FF00 */ andi $a3, $s0, 0xff00
/* 0C3818 800C2C18 00077A02 */ srl $t7, $a3, 8
/* 0C381C 800C2C1C 01C06825 */ move $t5, $t6
/* 0C3820 800C2C20 31E700FF */ andi $a3, $t7, 0xff
/* 0C3824 800C2C24 00187080 */ sll $t6, $t8, 2
/* 0C3828 800C2C28 3C0F8019 */ lui $t7, %hi(D_80192CA8) # $t7, 0x8019
/* 0C382C 800C2C2C 01D87021 */ addu $t6, $t6, $t8
/* 0C3830 800C2C30 000E7040 */ sll $t6, $t6, 1
/* 0C3834 800C2C34 25EF2CA8 */ addiu $t7, %lo(D_80192CA8) # addiu $t7, $t7, 0x2ca8
/* 0C3838 800C2C38 29610005 */ slti $at, $t3, 5
/* 0C383C 800C2C3C 10200004 */ beqz $at, .L800C2C50
/* 0C3840 800C2C40 01CF3021 */ addu $a2, $t6, $t7
/* 0C3844 800C2C44 25390001 */ addiu $t9, $t1, 1
/* 0C3848 800C2C48 A1990000 */ sb $t9, ($t4)
/* 0C384C 800C2C4C 332B00FF */ andi $t3, $t9, 0xff
.L800C2C50:
/* 0C3850 800C2C50 2563FFFF */ addiu $v1, $t3, -1
/* 0C3854 800C2C54 306200FF */ andi $v0, $v1, 0xff
/* 0C3858 800C2C58 1142000D */ beq $t2, $v0, .L800C2C90
/* 0C385C 800C2C5C 00401825 */ move $v1, $v0
.L800C2C60:
/* 0C3860 800C2C60 00027840 */ sll $t7, $v0, 1
/* 0C3864 800C2C64 00CF2821 */ addu $a1, $a2, $t7
/* 0C3868 800C2C68 90B9FFFF */ lbu $t9, -1($a1)
/* 0C386C 800C2C6C 00037040 */ sll $t6, $v1, 1
/* 0C3870 800C2C70 00CE2021 */ addu $a0, $a2, $t6
/* 0C3874 800C2C74 A0990001 */ sb $t9, 1($a0)
/* 0C3878 800C2C78 90B8FFFE */ lbu $t8, -2($a1)
/* 0C387C 800C2C7C 2463FFFF */ addiu $v1, $v1, -1
/* 0C3880 800C2C80 306200FF */ andi $v0, $v1, 0xff
/* 0C3884 800C2C84 00401825 */ move $v1, $v0
/* 0C3888 800C2C88 1542FFF5 */ bne $t2, $v0, .L800C2C60
/* 0C388C 800C2C8C A0980000 */ sb $t8, ($a0)
.L800C2C90:
/* 0C3890 800C2C90 00087840 */ sll $t7, $t0, 1
/* 0C3894 800C2C94 00CF1021 */ addu $v0, $a2, $t7
/* 0C3898 800C2C98 A0470001 */ sb $a3, 1($v0)
/* 0C389C 800C2C9C A04D0000 */ sb $t5, ($v0)
.L800C2CA0:
/* 0C38A0 800C2CA0 154001E3 */ bnez $t2, .L800C3430
/* 0C38A4 800C2CA4 02002825 */ move $a1, $s0
/* 0C38A8 800C2CA8 3C0100FF */ lui $at, 0xff
/* 0C38AC 800C2CAC 02013824 */ and $a3, $s0, $at
/* 0C38B0 800C2CB0 3206FF00 */ andi $a2, $s0, 0xff00
/* 0C38B4 800C2CB4 0006C202 */ srl $t8, $a2, 8
/* 0C38B8 800C2CB8 00077B42 */ srl $t7, $a3, 0xd
/* 0C38BC 800C2CBC 30B900FF */ andi $t9, $a1, 0xff
/* 0C38C0 800C2CC0 03202825 */ move $a1, $t9
/* 0C38C4 800C2CC4 31E7FFFF */ andi $a3, $t7, 0xffff
/* 0C38C8 800C2CC8 330600FF */ andi $a2, $t8, 0xff
/* 0C38CC 800C2CCC 0C030A13 */ jal func_800C284C
/* 0C38D0 800C2CD0 93C4003F */ lbu $a0, 0x3f($fp)
/* 0C38D4 800C2CD4 100001D7 */ b .L800C3434
/* 0C38D8 800C2CD8 8FDF002C */ lw $ra, 0x2c($fp)
glabel L800C2CDC
/* 0C38DC 800C2CDC 3C028019 */ lui $v0, %hi(D_80192CC6) # $v0, 0x8019
/* 0C38E0 800C2CE0 315800FF */ andi $t8, $t2, 0xff
/* 0C38E4 800C2CE4 24422CC6 */ addiu $v0, %lo(D_80192CC6) # addiu $v0, $v0, 0x2cc6
/* 0C38E8 800C2CE8 00586021 */ addu $t4, $v0, $t8
/* 0C38EC 800C2CEC AFD8003C */ sw $t8, 0x3c($fp)
/* 0C38F0 800C2CF0 91890000 */ lbu $t1, ($t4)
/* 0C38F4 800C2CF4 3C028019 */ lui $v0, %hi(D_80192CC6) # 0x8019
/* 0C38F8 800C2CF8 00001825 */ move $v1, $zero
/* 0C38FC 800C2CFC 01204025 */ move $t0, $t1
/* 0C3900 800C2D00 19200018 */ blez $t1, .L800C2D64
/* 0C3904 800C2D04 01205825 */ move $t3, $t1
/* 0C3908 800C2D08 0018C880 */ sll $t9, $t8, 2
/* 0C390C 800C2D0C 0338C821 */ addu $t9, $t9, $t8
/* 0C3910 800C2D10 3C188019 */ lui $t8, %hi(D_80192CA8) # $t8, 0x8019
/* 0C3914 800C2D14 02002025 */ move $a0, $s0
/* 0C3918 800C2D18 308F00FF */ andi $t7, $a0, 0xff
/* 0C391C 800C2D1C 27182CA8 */ addiu $t8, %lo(D_80192CA8) # addiu $t8, $t8, 0x2ca8
/* 0C3920 800C2D20 0019C840 */ sll $t9, $t9, 1
/* 0C3924 800C2D24 00451021 */ addu $v0, $v0, $a1
/* 0C3928 800C2D28 90422CC6 */ lbu $v0, %lo(D_80192CC6)($v0) # 0x2cc6($v0)
/* 0C392C 800C2D2C 03383021 */ addu $a2, $t9, $t8
/* 0C3930 800C2D30 01E02025 */ move $a0, $t7
.L800C2D34:
/* 0C3934 800C2D34 00037840 */ sll $t7, $v1, 1
/* 0C3938 800C2D38 00CF7021 */ addu $t6, $a2, $t7
/* 0C393C 800C2D3C 91D90000 */ lbu $t9, ($t6)
/* 0C3940 800C2D40 54990004 */ bnel $a0, $t9, .L800C2D54
/* 0C3944 800C2D44 24630001 */ addiu $v1, $v1, 1
/* 0C3948 800C2D48 306800FF */ andi $t0, $v1, 0xff
/* 0C394C 800C2D4C 312300FF */ andi $v1, $t1, 0xff
/* 0C3950 800C2D50 24630001 */ addiu $v1, $v1, 1
.L800C2D54:
/* 0C3954 800C2D54 307800FF */ andi $t8, $v1, 0xff
/* 0C3958 800C2D58 0302082A */ slt $at, $t8, $v0
/* 0C395C 800C2D5C 1420FFF5 */ bnez $at, .L800C2D34
/* 0C3960 800C2D60 03001825 */ move $v1, $t8
.L800C2D64:
/* 0C3964 800C2D64 110B001C */ beq $t0, $t3, .L800C2DD8
/* 0C3968 800C2D68 01005025 */ move $t2, $t0
/* 0C396C 800C2D6C 2567FFFF */ addiu $a3, $t3, -1
/* 0C3970 800C2D70 0107082A */ slt $at, $t0, $a3
/* 0C3974 800C2D74 10200016 */ beqz $at, .L800C2DD0
/* 0C3978 800C2D78 310300FF */ andi $v1, $t0, 0xff
/* 0C397C 800C2D7C 8FCF003C */ lw $t7, 0x3c($fp)
/* 0C3980 800C2D80 3C198019 */ lui $t9, %hi(D_80192CA8) # $t9, 0x8019
/* 0C3984 800C2D84 27392CA8 */ addiu $t9, %lo(D_80192CA8) # addiu $t9, $t9, 0x2ca8
/* 0C3988 800C2D88 000F7080 */ sll $t6, $t7, 2
/* 0C398C 800C2D8C 01CF7021 */ addu $t6, $t6, $t7
/* 0C3990 800C2D90 000E7040 */ sll $t6, $t6, 1
/* 0C3994 800C2D94 01D93021 */ addu $a2, $t6, $t9
/* 0C3998 800C2D98 00601025 */ move $v0, $v1
.L800C2D9C:
/* 0C399C 800C2D9C 00027840 */ sll $t7, $v0, 1
/* 0C39A0 800C2DA0 00CF2821 */ addu $a1, $a2, $t7
/* 0C39A4 800C2DA4 90AE0003 */ lbu $t6, 3($a1)
/* 0C39A8 800C2DA8 0003C040 */ sll $t8, $v1, 1
/* 0C39AC 800C2DAC 00D82021 */ addu $a0, $a2, $t8
/* 0C39B0 800C2DB0 24630001 */ addiu $v1, $v1, 1
/* 0C39B4 800C2DB4 A08E0001 */ sb $t6, 1($a0)
/* 0C39B8 800C2DB8 90B90002 */ lbu $t9, 2($a1)
/* 0C39BC 800C2DBC 306200FF */ andi $v0, $v1, 0xff
/* 0C39C0 800C2DC0 0047082A */ slt $at, $v0, $a3
/* 0C39C4 800C2DC4 00401825 */ move $v1, $v0
/* 0C39C8 800C2DC8 1420FFF4 */ bnez $at, .L800C2D9C
/* 0C39CC 800C2DCC A0990000 */ sb $t9, ($a0)
.L800C2DD0:
/* 0C39D0 800C2DD0 252FFFFF */ addiu $t7, $t1, -1
/* 0C39D4 800C2DD4 A18F0000 */ sb $t7, ($t4)
.L800C2DD8:
/* 0C39D8 800C2DD8 15400195 */ bnez $t2, .L800C3430
/* 0C39DC 800C2DDC 3C0100FF */ lui $at, 0xff
/* 0C39E0 800C2DE0 02013824 */ and $a3, $s0, $at
/* 0C39E4 800C2DE4 00077342 */ srl $t6, $a3, 0xd
/* 0C39E8 800C2DE8 31C7FFFF */ andi $a3, $t6, 0xffff
/* 0C39EC 800C2DEC 30E5FFFF */ andi $a1, $a3, 0xffff
/* 0C39F0 800C2DF0 AFC7004C */ sw $a3, 0x4c($fp)
/* 0C39F4 800C2DF4 93C4003F */ lbu $a0, 0x3f($fp)
/* 0C39F8 800C2DF8 0C030A6D */ jal func_800C29B4
/* 0C39FC 800C2DFC AFCC0034 */ sw $t4, 0x34($fp)
/* 0C3A00 800C2E00 8FCC0034 */ lw $t4, 0x34($fp)
/* 0C3A04 800C2E04 8FC4003C */ lw $a0, 0x3c($fp)
/* 0C3A08 800C2E08 8FC7004C */ lw $a3, 0x4c($fp)
/* 0C3A0C 800C2E0C 91980000 */ lbu $t8, ($t4)
/* 0C3A10 800C2E10 00047880 */ sll $t7, $a0, 2
/* 0C3A14 800C2E14 01E47821 */ addu $t7, $t7, $a0
/* 0C3A18 800C2E18 13000185 */ beqz $t8, .L800C3430
/* 0C3A1C 800C2E1C 000F7840 */ sll $t7, $t7, 1
/* 0C3A20 800C2E20 3C0E8019 */ lui $t6, %hi(D_80192CA8) # $t6, 0x8019
/* 0C3A24 800C2E24 25CE2CA8 */ addiu $t6, %lo(D_80192CA8) # addiu $t6, $t6, 0x2ca8
/* 0C3A28 800C2E28 01EE1021 */ addu $v0, $t7, $t6
/* 0C3A2C 800C2E2C 90450000 */ lbu $a1, ($v0)
/* 0C3A30 800C2E30 0C030A13 */ jal func_800C284C
/* 0C3A34 800C2E34 90460001 */ lbu $a2, 1($v0)
/* 0C3A38 800C2E38 1000017E */ b .L800C3434
/* 0C3A3C 800C2E3C 8FDF002C */ lw $ra, 0x2c($fp)
glabel L800C2E40
/* 0C3A40 800C2E40 3C0100FF */ lui $at, 0xff
/* 0C3A44 800C2E44 02011024 */ and $v0, $s0, $at
/* 0C3A48 800C2E48 0002CBC2 */ srl $t9, $v0, 0xf
/* 0C3A4C 800C2E4C 332300FF */ andi $v1, $t9, 0xff
/* 0C3A50 800C2E50 14600004 */ bnez $v1, .L800C2E64
/* 0C3A54 800C2E54 332500FF */ andi $a1, $t9, 0xff
/* 0C3A58 800C2E58 24650001 */ addiu $a1, $v1, 1
/* 0C3A5C 800C2E5C 30B800FF */ andi $t8, $a1, 0xff
/* 0C3A60 800C2E60 03002825 */ move $a1, $t8
.L800C2E64:
/* 0C3A64 800C2E64 314F00FF */ andi $t7, $t2, 0xff
/* 0C3A68 800C2E68 000F70C0 */ sll $t6, $t7, 3
/* 0C3A6C 800C2E6C 01CF7021 */ addu $t6, $t6, $t7
/* 0C3A70 800C2E70 000E7080 */ sll $t6, $t6, 2
/* 0C3A74 800C2E74 01CF7021 */ addu $t6, $t6, $t7
/* 0C3A78 800C2E78 000E7080 */ sll $t6, $t6, 2
/* 0C3A7C 800C2E7C 321800FF */ andi $t8, $s0, 0xff
/* 0C3A80 800C2E80 44982000 */ mtc1 $t8, $f4
/* 0C3A84 800C2E84 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019
/* 0C3A88 800C2E88 01CF7023 */ subu $t6, $t6, $t7
/* 0C3A8C 800C2E8C 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0
/* 0C3A90 800C2E90 000E7080 */ sll $t6, $t6, 2
/* 0C3A94 800C2E94 012E1021 */ addu $v0, $t1, $t6
/* 0C3A98 800C2E98 07010005 */ bgez $t8, .L800C2EB0
/* 0C3A9C 800C2E9C 468021A0 */ cvt.s.w $f6, $f4
/* 0C3AA0 800C2EA0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C3AA4 800C2EA4 44814000 */ mtc1 $at, $f8
/* 0C3AA8 800C2EA8 00000000 */ nop
/* 0C3AAC 800C2EAC 46083180 */ add.s $f6, $f6, $f8
.L800C2EB0:
/* 0C3AB0 800C2EB0 3C0142FE */ li $at, 0x42FE0000 # 127.000000
/* 0C3AB4 800C2EB4 44815000 */ mtc1 $at, $f10
/* 0C3AB8 800C2EB8 C4420000 */ lwc1 $f2, ($v0)
/* 0C3ABC 800C2EBC 460A3003 */ div.s $f0, $f6, $f10
/* 0C3AC0 800C2EC0 46001032 */ c.eq.s $f2, $f0
/* 0C3AC4 800C2EC4 E4400004 */ swc1 $f0, 4($v0)
/* 0C3AC8 800C2EC8 4503015A */ bc1tl .L800C3434
/* 0C3ACC 800C2ECC 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C3AD0 800C2ED0 C4500004 */ lwc1 $f16, 4($v0)
/* 0C3AD4 800C2ED4 44852000 */ mtc1 $a1, $f4
/* 0C3AD8 800C2ED8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C3ADC 800C2EDC 46101481 */ sub.s $f18, $f2, $f16
/* 0C3AE0 800C2EE0 04A10004 */ bgez $a1, .L800C2EF4
/* 0C3AE4 800C2EE4 46802220 */ cvt.s.w $f8, $f4
/* 0C3AE8 800C2EE8 44813000 */ mtc1 $at, $f6
/* 0C3AEC 800C2EEC 00000000 */ nop
/* 0C3AF0 800C2EF0 46064200 */ add.s $f8, $f8, $f6
.L800C2EF4:
/* 0C3AF4 800C2EF4 46089283 */ div.s $f10, $f18, $f8
/* 0C3AF8 800C2EF8 A445000C */ sh $a1, 0xc($v0)
/* 0C3AFC 800C2EFC 1000014C */ b .L800C3430
/* 0C3B00 800C2F00 E44A0008 */ swc1 $f10, 8($v0)
glabel L800C2F04
/* 0C3B04 800C2F04 3C0100FF */ lui $at, 0xff
/* 0C3B08 800C2F08 02011024 */ and $v0, $s0, $at
/* 0C3B0C 800C2F0C 00027BC2 */ srl $t7, $v0, 0xf
/* 0C3B10 800C2F10 31E300FF */ andi $v1, $t7, 0xff
/* 0C3B14 800C2F14 14600004 */ bnez $v1, .L800C2F28
/* 0C3B18 800C2F18 31E500FF */ andi $a1, $t7, 0xff
/* 0C3B1C 800C2F1C 24650001 */ addiu $a1, $v1, 1
/* 0C3B20 800C2F20 30AE00FF */ andi $t6, $a1, 0xff
/* 0C3B24 800C2F24 01C02825 */ move $a1, $t6
.L800C2F28:
/* 0C3B28 800C2F28 44858000 */ mtc1 $a1, $f16
/* 0C3B2C 800C2F2C 00001825 */ move $v1, $zero
/* 0C3B30 800C2F30 04A10005 */ bgez $a1, .L800C2F48
/* 0C3B34 800C2F34 468080A0 */ cvt.s.w $f2, $f16
/* 0C3B38 800C2F38 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C3B3C 800C2F3C 44812000 */ mtc1 $at, $f4
/* 0C3B40 800C2F40 00000000 */ nop
/* 0C3B44 800C2F44 46041080 */ add.s $f2, $f2, $f4
.L800C2F48:
/* 0C3B48 800C2F48 314600FF */ andi $a2, $t2, 0xff
/* 0C3B4C 800C2F4C 0006C8C0 */ sll $t9, $a2, 3
/* 0C3B50 800C2F50 0326C821 */ addu $t9, $t9, $a2
/* 0C3B54 800C2F54 0019C880 */ sll $t9, $t9, 2
/* 0C3B58 800C2F58 0326C821 */ addu $t9, $t9, $a2
/* 0C3B5C 800C2F5C 0019C880 */ sll $t9, $t9, 2
/* 0C3B60 800C2F60 320EFFFF */ andi $t6, $s0, 0xffff
/* 0C3B64 800C2F64 448E3000 */ mtc1 $t6, $f6
/* 0C3B68 800C2F68 0326C823 */ subu $t9, $t9, $a2
/* 0C3B6C 800C2F6C 3C188019 */ lui $t8, %hi(D_801930D0) # $t8, 0x8019
/* 0C3B70 800C2F70 271830D0 */ addiu $t8, %lo(D_801930D0) # addiu $t8, $t8, 0x30d0
/* 0C3B74 800C2F74 0019C880 */ sll $t9, $t9, 2
/* 0C3B78 800C2F78 03382021 */ addu $a0, $t9, $t8
/* 0C3B7C 800C2F7C 05C10005 */ bgez $t6, .L800C2F94
/* 0C3B80 800C2F80 468034A0 */ cvt.s.w $f18, $f6
/* 0C3B84 800C2F84 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C3B88 800C2F88 44814000 */ mtc1 $at, $f8
/* 0C3B8C 800C2F8C 00000000 */ nop
/* 0C3B90 800C2F90 46089480 */ add.s $f18, $f18, $f8
.L800C2F94:
/* 0C3B94 800C2F94 3C01447A */ li $at, 0x447A0000 # 1000.000000
/* 0C3B98 800C2F98 44815000 */ mtc1 $at, $f10
/* 0C3B9C 800C2F9C 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019
/* 0C3BA0 800C2FA0 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0
/* 0C3BA4 800C2FA4 460A9003 */ div.s $f0, $f18, $f10
.L800C2FA8:
/* 0C3BA8 800C2FA8 0003C940 */ sll $t9, $v1, 5
/* 0C3BAC 800C2FAC 00991021 */ addu $v0, $a0, $t9
/* 0C3BB0 800C2FB0 C4500054 */ lwc1 $f16, 0x54($v0)
/* 0C3BB4 800C2FB4 24630001 */ addiu $v1, $v1, 1
/* 0C3BB8 800C2FB8 307800FF */ andi $t8, $v1, 0xff
/* 0C3BBC 800C2FBC 46008101 */ sub.s $f4, $f16, $f0
/* 0C3BC0 800C2FC0 2B010010 */ slti $at, $t8, 0x10
/* 0C3BC4 800C2FC4 03001825 */ move $v1, $t8
/* 0C3BC8 800C2FC8 E4400058 */ swc1 $f0, 0x58($v0)
/* 0C3BCC 800C2FCC 46022183 */ div.s $f6, $f4, $f2
/* 0C3BD0 800C2FD0 A4450060 */ sh $a1, 0x60($v0)
/* 0C3BD4 800C2FD4 1420FFF4 */ bnez $at, .L800C2FA8
/* 0C3BD8 800C2FD8 E446005C */ swc1 $f6, 0x5c($v0)
/* 0C3BDC 800C2FDC 000670C0 */ sll $t6, $a2, 3
/* 0C3BE0 800C2FE0 01C67021 */ addu $t6, $t6, $a2
/* 0C3BE4 800C2FE4 000E7080 */ sll $t6, $t6, 2
/* 0C3BE8 800C2FE8 01C67021 */ addu $t6, $t6, $a2
/* 0C3BEC 800C2FEC 000E7080 */ sll $t6, $t6, 2
/* 0C3BF0 800C2FF0 01C67023 */ subu $t6, $t6, $a2
/* 0C3BF4 800C2FF4 000E7080 */ sll $t6, $t6, 2
/* 0C3BF8 800C2FF8 012EC821 */ addu $t9, $t1, $t6
/* 0C3BFC 800C2FFC 340FFFFF */ li $t7, 65535
/* 0C3C00 800C3000 1000010B */ b .L800C3430
/* 0C3C04 800C3004 A72F0244 */ sh $t7, 0x244($t9)
glabel L800C3008
/* 0C3C08 800C3008 3C0100FF */ lui $at, 0xff
/* 0C3C0C 800C300C 02011024 */ and $v0, $s0, $at
/* 0C3C10 800C3010 0002C3C2 */ srl $t8, $v0, 0xf
/* 0C3C14 800C3014 330300FF */ andi $v1, $t8, 0xff
/* 0C3C18 800C3018 14600004 */ bnez $v1, .L800C302C
/* 0C3C1C 800C301C 330500FF */ andi $a1, $t8, 0xff
/* 0C3C20 800C3020 24650001 */ addiu $a1, $v1, 1
/* 0C3C24 800C3024 30AE00FF */ andi $t6, $a1, 0xff
/* 0C3C28 800C3028 01C02825 */ move $a1, $t6
.L800C302C:
/* 0C3C2C 800C302C 314700FF */ andi $a3, $t2, 0xff
/* 0C3C30 800C3030 0007C0C0 */ sll $t8, $a3, 3
/* 0C3C34 800C3034 0307C021 */ addu $t8, $t8, $a3
/* 0C3C38 800C3038 0018C080 */ sll $t8, $t8, 2
/* 0C3C3C 800C303C 0307C021 */ addu $t8, $t8, $a3
/* 0C3C40 800C3040 0018C080 */ sll $t8, $t8, 2
/* 0C3C44 800C3044 32060F00 */ andi $a2, $s0, 0xf00
/* 0C3C48 800C3048 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019
/* 0C3C4C 800C304C 00067A02 */ srl $t7, $a2, 8
/* 0C3C50 800C3050 0307C023 */ subu $t8, $t8, $a3
/* 0C3C54 800C3054 321900FF */ andi $t9, $s0, 0xff
/* 0C3C58 800C3058 44994000 */ mtc1 $t9, $f8
/* 0C3C5C 800C305C 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0
/* 0C3C60 800C3060 0018C080 */ sll $t8, $t8, 2
/* 0C3C64 800C3064 31E600FF */ andi $a2, $t7, 0xff
/* 0C3C68 800C3068 00062140 */ sll $a0, $a2, 5
/* 0C3C6C 800C306C 01387021 */ addu $t6, $t1, $t8
/* 0C3C70 800C3070 01C41021 */ addu $v0, $t6, $a0
/* 0C3C74 800C3074 07210005 */ bgez $t9, .L800C308C
/* 0C3C78 800C3078 468044A0 */ cvt.s.w $f18, $f8
/* 0C3C7C 800C307C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C3C80 800C3080 44815000 */ mtc1 $at, $f10
/* 0C3C84 800C3084 00000000 */ nop
/* 0C3C88 800C3088 460A9480 */ add.s $f18, $f18, $f10
.L800C308C:
/* 0C3C8C 800C308C 3C0142FE */ li $at, 0x42FE0000 # 127.000000
/* 0C3C90 800C3090 44818000 */ mtc1 $at, $f16
/* 0C3C94 800C3094 C4440044 */ lwc1 $f4, 0x44($v0)
/* 0C3C98 800C3098 46109003 */ div.s $f0, $f18, $f16
/* 0C3C9C 800C309C 46002032 */ c.eq.s $f4, $f0
/* 0C3CA0 800C30A0 E4400048 */ swc1 $f0, 0x48($v0)
/* 0C3CA4 800C30A4 450100E2 */ bc1t .L800C3430
/* 0C3CA8 800C30A8 0007C0C0 */ sll $t8, $a3, 3
/* 0C3CAC 800C30AC 0307C021 */ addu $t8, $t8, $a3
/* 0C3CB0 800C30B0 0018C080 */ sll $t8, $t8, 2
/* 0C3CB4 800C30B4 0307C021 */ addu $t8, $t8, $a3
/* 0C3CB8 800C30B8 0018C080 */ sll $t8, $t8, 2
/* 0C3CBC 800C30BC 0307C023 */ subu $t8, $t8, $a3
/* 0C3CC0 800C30C0 0018C080 */ sll $t8, $t8, 2
/* 0C3CC4 800C30C4 01381021 */ addu $v0, $t1, $t8
/* 0C3CC8 800C30C8 00441821 */ addu $v1, $v0, $a0
/* 0C3CCC 800C30CC C4660044 */ lwc1 $f6, 0x44($v1)
/* 0C3CD0 800C30D0 C4680048 */ lwc1 $f8, 0x48($v1)
/* 0C3CD4 800C30D4 44859000 */ mtc1 $a1, $f18
/* 0C3CD8 800C30D8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C3CDC 800C30DC 46083281 */ sub.s $f10, $f6, $f8
/* 0C3CE0 800C30E0 04A10004 */ bgez $a1, .L800C30F4
/* 0C3CE4 800C30E4 46809420 */ cvt.s.w $f16, $f18
/* 0C3CE8 800C30E8 44812000 */ mtc1 $at, $f4
/* 0C3CEC 800C30EC 00000000 */ nop
/* 0C3CF0 800C30F0 46048400 */ add.s $f16, $f16, $f4
.L800C30F4:
/* 0C3CF4 800C30F4 46105183 */ div.s $f6, $f10, $f16
/* 0C3CF8 800C30F8 A4650050 */ sh $a1, 0x50($v1)
/* 0C3CFC 800C30FC 240F0001 */ li $t7, 1
/* 0C3D00 800C3100 00CFC804 */ sllv $t9, $t7, $a2
/* 0C3D04 800C3104 E466004C */ swc1 $f6, 0x4c($v1)
/* 0C3D08 800C3108 944E0244 */ lhu $t6, 0x244($v0)
/* 0C3D0C 800C310C 01D9C025 */ or $t8, $t6, $t9
/* 0C3D10 800C3110 100000C7 */ b .L800C3430
/* 0C3D14 800C3114 A4580244 */ sh $t8, 0x244($v0)
glabel L800C3118
/* 0C3D18 800C3118 314E00FF */ andi $t6, $t2, 0xff
/* 0C3D1C 800C311C 000ECC00 */ sll $t9, $t6, 0x10
/* 0C3D20 800C3120 3C014600 */ lui $at, 0x4600
/* 0C3D24 800C3124 0321C025 */ or $t8, $t9, $at
/* 0C3D28 800C3128 3C0100FF */ lui $at, 0xff
/* 0C3D2C 800C312C 02017824 */ and $t7, $s0, $at
/* 0C3D30 800C3130 000FCC02 */ srl $t9, $t7, 0x10
/* 0C3D34 800C3134 332F00FF */ andi $t7, $t9, 0xff
/* 0C3D38 800C3138 000F7200 */ sll $t6, $t7, 8
/* 0C3D3C 800C313C 00107E00 */ sll $t7, $s0, 0x18
/* 0C3D40 800C3140 000F2E03 */ sra $a1, $t7, 0x18
/* 0C3D44 800C3144 0C032EFA */ jal func_800CBBE8
/* 0C3D48 800C3148 030E2025 */ or $a0, $t8, $t6
/* 0C3D4C 800C314C 100000B9 */ b .L800C3434
/* 0C3D50 800C3150 8FDF002C */ lw $ra, 0x2c($fp)
glabel L800C3154
/* 0C3D54 800C3154 314200FF */ andi $v0, $t2, 0xff
/* 0C3D58 800C3158 000278C0 */ sll $t7, $v0, 3
/* 0C3D5C 800C315C 01E27821 */ addu $t7, $t7, $v0
/* 0C3D60 800C3160 000F7880 */ sll $t7, $t7, 2
/* 0C3D64 800C3164 01E27821 */ addu $t7, $t7, $v0
/* 0C3D68 800C3168 000F7880 */ sll $t7, $t7, 2
/* 0C3D6C 800C316C 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019
/* 0C3D70 800C3170 01E27823 */ subu $t7, $t7, $v0
/* 0C3D74 800C3174 32060F00 */ andi $a2, $s0, 0xf00
/* 0C3D78 800C3178 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0
/* 0C3D7C 800C317C 00067202 */ srl $t6, $a2, 8
/* 0C3D80 800C3180 000F7880 */ sll $t7, $t7, 2
/* 0C3D84 800C3184 012FC021 */ addu $t8, $t1, $t7
/* 0C3D88 800C3188 31C600FF */ andi $a2, $t6, 0xff
/* 0C3D8C 800C318C 970E024A */ lhu $t6, 0x24a($t8)
/* 0C3D90 800C3190 24190001 */ li $t9, 1
/* 0C3D94 800C3194 00D97804 */ sllv $t7, $t9, $a2
/* 0C3D98 800C3198 01CFC024 */ and $t8, $t6, $t7
/* 0C3D9C 800C319C 170000A4 */ bnez $t8, .L800C3430
/* 0C3DA0 800C31A0 305900FF */ andi $t9, $v0, 0xff
/* 0C3DA4 800C31A4 00197400 */ sll $t6, $t9, 0x10
/* 0C3DA8 800C31A8 3C010600 */ lui $at, 0x600
/* 0C3DAC 800C31AC 30D800FF */ andi $t8, $a2, 0xff
/* 0C3DB0 800C31B0 0018CA00 */ sll $t9, $t8, 8
/* 0C3DB4 800C31B4 01C17825 */ or $t7, $t6, $at
/* 0C3DB8 800C31B8 3C0100FF */ lui $at, 0xff
/* 0C3DBC 800C31BC 0201C024 */ and $t8, $s0, $at
/* 0C3DC0 800C31C0 01F97025 */ or $t6, $t7, $t9
/* 0C3DC4 800C31C4 0018CC02 */ srl $t9, $t8, 0x10
/* 0C3DC8 800C31C8 333800FF */ andi $t8, $t9, 0xff
/* 0C3DCC 800C31CC 0010CE00 */ sll $t9, $s0, 0x18
/* 0C3DD0 800C31D0 00192E03 */ sra $a1, $t9, 0x18
/* 0C3DD4 800C31D4 0C032EFA */ jal func_800CBBE8
/* 0C3DD8 800C31D8 01D82025 */ or $a0, $t6, $t8
/* 0C3DDC 800C31DC 10000095 */ b .L800C3434
/* 0C3DE0 800C31E0 8FDF002C */ lw $ra, 0x2c($fp)
glabel L800C31E4
/* 0C3DE4 800C31E4 314F00FF */ andi $t7, $t2, 0xff
/* 0C3DE8 800C31E8 000FC8C0 */ sll $t9, $t7, 3
/* 0C3DEC 800C31EC 032FC821 */ addu $t9, $t9, $t7
/* 0C3DF0 800C31F0 0019C880 */ sll $t9, $t9, 2
/* 0C3DF4 800C31F4 032FC821 */ addu $t9, $t9, $t7
/* 0C3DF8 800C31F8 0019C880 */ sll $t9, $t9, 2
/* 0C3DFC 800C31FC 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019
/* 0C3E00 800C3200 032FC823 */ subu $t9, $t9, $t7
/* 0C3E04 800C3204 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0
/* 0C3E08 800C3208 0019C880 */ sll $t9, $t9, 2
/* 0C3E0C 800C320C 01397021 */ addu $t6, $t1, $t9
/* 0C3E10 800C3210 10000087 */ b .L800C3430
/* 0C3E14 800C3214 A5D0024A */ sh $s0, 0x24a($t6)
glabel L800C3218
/* 0C3E18 800C3218 315900FF */ andi $t9, $t2, 0xff
/* 0C3E1C 800C321C 0019C400 */ sll $t8, $t9, 0x10
/* 0C3E20 800C3220 3C010800 */ lui $at, 0x800
/* 0C3E24 800C3224 02003825 */ move $a3, $s0
/* 0C3E28 800C3228 30EFFFFF */ andi $t7, $a3, 0xffff
/* 0C3E2C 800C322C 03017025 */ or $t6, $t8, $at
/* 0C3E30 800C3230 24040001 */ li $a0, 1
/* 0C3E34 800C3234 AFCE0048 */ sw $t6, 0x48($fp)
/* 0C3E38 800C3238 01E03825 */ move $a3, $t7
/* 0C3E3C 800C323C 00001825 */ move $v1, $zero
.L800C3240:
/* 0C3E40 800C3240 00E4C824 */ and $t9, $a3, $a0
/* 0C3E44 800C3244 13200003 */ beqz $t9, .L800C3254
/* 0C3E48 800C3248 00801025 */ move $v0, $a0
/* 0C3E4C 800C324C 10000002 */ b .L800C3258
/* 0C3E50 800C3250 24060001 */ li $a2, 1
.L800C3254:
/* 0C3E54 800C3254 00003025 */ move $a2, $zero
.L800C3258:
/* 0C3E58 800C3258 8FD80048 */ lw $t8, 0x48($fp)
/* 0C3E5C 800C325C 306E00FF */ andi $t6, $v1, 0xff
/* 0C3E60 800C3260 00062E00 */ sll $a1, $a2, 0x18
/* 0C3E64 800C3264 0005CE03 */ sra $t9, $a1, 0x18
/* 0C3E68 800C3268 000E7A00 */ sll $t7, $t6, 8
/* 0C3E6C 800C326C 03202825 */ move $a1, $t9
/* 0C3E70 800C3270 AFC2004C */ sw $v0, 0x4c($fp)
/* 0C3E74 800C3274 A3C3005B */ sb $v1, 0x5b($fp)
/* 0C3E78 800C3278 AFC70044 */ sw $a3, 0x44($fp)
/* 0C3E7C 800C327C 0C032EFA */ jal func_800CBBE8
/* 0C3E80 800C3280 030F2025 */ or $a0, $t8, $t7
/* 0C3E84 800C3284 93C3005B */ lbu $v1, 0x5b($fp)
/* 0C3E88 800C3288 8FC2004C */ lw $v0, 0x4c($fp)
/* 0C3E8C 800C328C 8FC70044 */ lw $a3, 0x44($fp)
/* 0C3E90 800C3290 24630001 */ addiu $v1, $v1, 1
/* 0C3E94 800C3294 307800FF */ andi $t8, $v1, 0xff
/* 0C3E98 800C3298 00022040 */ sll $a0, $v0, 1
/* 0C3E9C 800C329C 2B010010 */ slti $at, $t8, 0x10
/* 0C3EA0 800C32A0 308EFFFF */ andi $t6, $a0, 0xffff
/* 0C3EA4 800C32A4 03001825 */ move $v1, $t8
/* 0C3EA8 800C32A8 1420FFE5 */ bnez $at, .L800C3240
/* 0C3EAC 800C32AC 01C02025 */ move $a0, $t6
/* 0C3EB0 800C32B0 10000060 */ b .L800C3434
/* 0C3EB4 800C32B4 8FDF002C */ lw $ra, 0x2c($fp)
glabel L800C32B8
/* 0C3EB8 800C32B8 314F00FF */ andi $t7, $t2, 0xff
/* 0C3EBC 800C32BC 000FC8C0 */ sll $t9, $t7, 3
/* 0C3EC0 800C32C0 032FC821 */ addu $t9, $t9, $t7
/* 0C3EC4 800C32C4 0019C880 */ sll $t9, $t9, 2
/* 0C3EC8 800C32C8 032FC821 */ addu $t9, $t9, $t7
/* 0C3ECC 800C32CC 0019C880 */ sll $t9, $t9, 2
/* 0C3ED0 800C32D0 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019
/* 0C3ED4 800C32D4 032FC823 */ subu $t9, $t9, $t7
/* 0C3ED8 800C32D8 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0
/* 0C3EDC 800C32DC 0019C880 */ sll $t9, $t9, 2
/* 0C3EE0 800C32E0 01397021 */ addu $t6, $t1, $t9
/* 0C3EE4 800C32E4 10000052 */ b .L800C3430
/* 0C3EE8 800C32E8 ADD00014 */ sw $s0, 0x14($t6)
glabel L800C32EC
/* 0C3EEC 800C32EC 3C0100F0 */ lui $at, 0xf0
/* 0C3EF0 800C32F0 0201C024 */ and $t8, $s0, $at
/* 0C3EF4 800C32F4 00187D02 */ srl $t7, $t8, 0x14
/* 0C3EF8 800C32F8 31F900FF */ andi $t9, $t7, 0xff
/* 0C3EFC 800C32FC 2401000F */ li $at, 15
/* 0C3F00 800C3300 13210016 */ beq $t9, $at, .L800C335C
/* 0C3F04 800C3304 314E00FF */ andi $t6, $t2, 0xff
/* 0C3F08 800C3308 000EC0C0 */ sll $t8, $t6, 3
/* 0C3F0C 800C330C 030EC021 */ addu $t8, $t8, $t6
/* 0C3F10 800C3310 0018C080 */ sll $t8, $t8, 2
/* 0C3F14 800C3314 030EC021 */ addu $t8, $t8, $t6
/* 0C3F18 800C3318 0018C080 */ sll $t8, $t8, 2
/* 0C3F1C 800C331C 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019
/* 0C3F20 800C3320 030EC023 */ subu $t8, $t8, $t6
/* 0C3F24 800C3324 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0
/* 0C3F28 800C3328 0018C080 */ sll $t8, $t8, 2
/* 0C3F2C 800C332C 01381021 */ addu $v0, $t1, $t8
/* 0C3F30 800C3330 90480041 */ lbu $t0, 0x41($v0)
/* 0C3F34 800C3334 24180002 */ li $t8, 2
/* 0C3F38 800C3338 250F0001 */ addiu $t7, $t0, 1
/* 0C3F3C 800C333C 29010005 */ slti $at, $t0, 5
/* 0C3F40 800C3340 1020003B */ beqz $at, .L800C3430
/* 0C3F44 800C3344 A04F0041 */ sb $t7, 0x41($v0)
/* 0C3F48 800C3348 0008C880 */ sll $t9, $t0, 2
/* 0C3F4C 800C334C 00597021 */ addu $t6, $v0, $t9
/* 0C3F50 800C3350 ADD0002C */ sw $s0, 0x2c($t6)
/* 0C3F54 800C3354 10000036 */ b .L800C3430
/* 0C3F58 800C3358 A0580040 */ sb $t8, 0x40($v0)
.L800C335C:
/* 0C3F5C 800C335C 314F00FF */ andi $t7, $t2, 0xff
/* 0C3F60 800C3360 000FC8C0 */ sll $t9, $t7, 3
/* 0C3F64 800C3364 032FC821 */ addu $t9, $t9, $t7
/* 0C3F68 800C3368 0019C880 */ sll $t9, $t9, 2
/* 0C3F6C 800C336C 032FC821 */ addu $t9, $t9, $t7
/* 0C3F70 800C3370 0019C880 */ sll $t9, $t9, 2
/* 0C3F74 800C3374 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019
/* 0C3F78 800C3378 032FC823 */ subu $t9, $t9, $t7
/* 0C3F7C 800C337C 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0
/* 0C3F80 800C3380 0019C880 */ sll $t9, $t9, 2
/* 0C3F84 800C3384 01397021 */ addu $t6, $t1, $t9
/* 0C3F88 800C3388 10000029 */ b .L800C3430
/* 0C3F8C 800C338C A1C00041 */ sb $zero, 0x41($t6)
glabel L800C3390
/* 0C3F90 800C3390 32020F00 */ andi $v0, $s0, 0xf00
/* 0C3F94 800C3394 0002C202 */ srl $t8, $v0, 8
/* 0C3F98 800C3398 330F00FF */ andi $t7, $t8, 0xff
/* 0C3F9C 800C339C 11E00006 */ beqz $t7, .L800C33B8
/* 0C3FA0 800C33A0 3C04F000 */ lui $a0, 0xf000
/* 0C3FA4 800C33A4 24010001 */ li $at, 1
/* 0C3FA8 800C33A8 11E1000A */ beq $t7, $at, .L800C33D4
/* 0C3FAC 800C33AC 32190001 */ andi $t9, $s0, 1
/* 0C3FB0 800C33B0 10000020 */ b .L800C3434
/* 0C3FB4 800C33B4 8FDF002C */ lw $ra, 0x2c($fp)
.L800C33B8:
/* 0C3FB8 800C33B8 320E00FF */ andi $t6, $s0, 0xff
/* 0C3FBC 800C33BC 3C05800F */ lui $a1, %hi(D_800EA1F0)
/* 0C3FC0 800C33C0 00AE2821 */ addu $a1, $a1, $t6
/* 0C3FC4 800C33C4 0C032EEE */ jal func_800CBBB8
/* 0C3FC8 800C33C8 90A5A1F0 */ lbu $a1, %lo(D_800EA1F0)($a1)
/* 0C3FCC 800C33CC 10000019 */ b .L800C3434
/* 0C3FD0 800C33D0 8FDF002C */ lw $ra, 0x2c($fp)
.L800C33D4:
/* 0C3FD4 800C33D4 3C01800F */ lui $at, %hi(D_800EA1EC) # $at, 0x800f
/* 0C3FD8 800C33D8 10000015 */ b .L800C3430
/* 0C3FDC 800C33DC A039A1EC */ sb $t9, %lo(D_800EA1EC)($at)
glabel L800C33E0
/* 0C3FE0 800C33E0 3202FF00 */ andi $v0, $s0, 0xff00
/* 0C3FE4 800C33E4 00027202 */ srl $t6, $v0, 8
/* 0C3FE8 800C33E8 3C01800F */ lui $at, %hi(D_800EA1C0) # $at, 0x800f
/* 0C3FEC 800C33EC 02001825 */ move $v1, $s0
/* 0C3FF0 800C33F0 A02EA1C0 */ sb $t6, %lo(D_800EA1C0)($at)
/* 0C3FF4 800C33F4 306400FF */ andi $a0, $v1, 0xff
/* 0C3FF8 800C33F8 00801825 */ move $v1, $a0
/* 0C3FFC 800C33FC AFC40048 */ sw $a0, 0x48($fp)
/* 0C4000 800C3400 0C0304FF */ jal func_800C13FC
/* 0C4004 800C3404 AFCE004C */ sw $t6, 0x4c($fp)
/* 0C4008 800C3408 8FC5004C */ lw $a1, 0x4c($fp)
/* 0C400C 800C340C 8FCD0048 */ lw $t5, 0x48($fp)
/* 0C4010 800C3410 3C01800F */ lui $at, %hi(D_800EA1F4) # $at, 0x800f
/* 0C4014 800C3414 00057E00 */ sll $t7, $a1, 0x18
/* 0C4018 800C3418 000F2E03 */ sra $a1, $t7, 0x18
/* 0C401C 800C341C 3C044602 */ lui $a0, 0x4602
/* 0C4020 800C3420 0C032EFA */ jal func_800CBBE8
/* 0C4024 800C3424 A02DA1F4 */ sb $t5, %lo(D_800EA1F4)($at)
/* 0C4028 800C3428 0C031710 */ jal func_800C5C40
/* 0C402C 800C342C 00000000 */ nop
.L800C3430:
glabel L800C3430
/* 0C4030 800C3430 8FDF002C */ lw $ra, 0x2c($fp)
.L800C3434:
/* 0C4034 800C3434 03C0E825 */ move $sp, $fp
/* 0C4038 800C3438 8FD00024 */ lw $s0, 0x24($fp)
/* 0C403C 800C343C 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C4040 800C3440 03E00008 */ jr $ra
/* 0C4044 800C3444 27BD0068 */ addiu $sp, $sp, 0x68
glabel func_800C3448
/* 0C4048 800C3448 3C03800F */ lui $v1, %hi(D_800EA1E4) # $v1, 0x800f
/* 0C404C 800C344C 2463A1E4 */ addiu $v1, %lo(D_800EA1E4) # addiu $v1, $v1, -0x5e1c
/* 0C4050 800C3450 90620000 */ lbu $v0, ($v1)
/* 0C4054 800C3454 3C018019 */ lui $at, %hi(D_80192CD0)
/* 0C4058 800C3458 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 0C405C 800C345C 00027080 */ sll $t6, $v0, 2
/* 0C4060 800C3460 002E0821 */ addu $at, $at, $t6
/* 0C4064 800C3464 AC242CD0 */ sw $a0, %lo(D_80192CD0)($at)
/* 0C4068 800C3468 244F0001 */ addiu $t7, $v0, 1
/* 0C406C 800C346C A06F0000 */ sb $t7, ($v1)
/* 0C4070 800C3470 03E00008 */ jr $ra
/* 0C4074 800C3474 27BD0010 */ addiu $sp, $sp, 0x10
glabel func_800C3478
/* 0C4078 800C3478 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 0C407C 800C347C AFB20030 */ sw $s2, 0x30($sp)
/* 0C4080 800C3480 AFB1002C */ sw $s1, 0x2c($sp)
/* 0C4084 800C3484 3C11800F */ lui $s1, %hi(D_800EA1E8) # $s1, 0x800f
/* 0C4088 800C3488 3C12800F */ lui $s2, %hi(D_800EA1E4) # $s2, 0x800f
/* 0C408C 800C348C 2652A1E4 */ addiu $s2, %lo(D_800EA1E4) # addiu $s2, $s2, -0x5e1c
/* 0C4090 800C3490 2631A1E8 */ addiu $s1, %lo(D_800EA1E8) # addiu $s1, $s1, -0x5e18
/* 0C4094 800C3494 AFB00028 */ sw $s0, 0x28($sp)
/* 0C4098 800C3498 92300000 */ lbu $s0, ($s1)
/* 0C409C 800C349C 924E0000 */ lbu $t6, ($s2)
/* 0C40A0 800C34A0 AFBE0038 */ sw $fp, 0x38($sp)
/* 0C40A4 800C34A4 03A0F025 */ move $fp, $sp
/* 0C40A8 800C34A8 AFBF003C */ sw $ra, 0x3c($sp)
/* 0C40AC 800C34AC 120E000D */ beq $s0, $t6, .L800C34E4
/* 0C40B0 800C34B0 AFB30034 */ sw $s3, 0x34($sp)
/* 0C40B4 800C34B4 3C138019 */ lui $s3, %hi(D_80192CD0) # $s3, 0x8019
/* 0C40B8 800C34B8 26732CD0 */ addiu $s3, %lo(D_80192CD0) # addiu $s3, $s3, 0x2cd0
/* 0C40BC 800C34BC 00107880 */ sll $t7, $s0, 2
.L800C34C0:
/* 0C40C0 800C34C0 026FC021 */ addu $t8, $s3, $t7
/* 0C40C4 800C34C4 8F040000 */ lw $a0, ($t8)
/* 0C40C8 800C34C8 26190001 */ addiu $t9, $s0, 1
/* 0C40CC 800C34CC 0C030A8B */ jal func_800C2A2C
/* 0C40D0 800C34D0 A2390000 */ sb $t9, ($s1)
/* 0C40D4 800C34D4 92300000 */ lbu $s0, ($s1)
/* 0C40D8 800C34D8 92480000 */ lbu $t0, ($s2)
/* 0C40DC 800C34DC 5608FFF8 */ bnel $s0, $t0, .L800C34C0
/* 0C40E0 800C34E0 00107880 */ sll $t7, $s0, 2
.L800C34E4:
/* 0C40E4 800C34E4 8FDF003C */ lw $ra, 0x3c($fp)
/* 0C40E8 800C34E8 03C0E825 */ move $sp, $fp
/* 0C40EC 800C34EC 8FD00028 */ lw $s0, 0x28($fp)
/* 0C40F0 800C34F0 8FD1002C */ lw $s1, 0x2c($fp)
/* 0C40F4 800C34F4 8FD20030 */ lw $s2, 0x30($fp)
/* 0C40F8 800C34F8 8FD30034 */ lw $s3, 0x34($fp)
/* 0C40FC 800C34FC 8FDE0038 */ lw $fp, 0x38($fp)
/* 0C4100 800C3500 03E00008 */ jr $ra
/* 0C4104 800C3504 27BD0040 */ addiu $sp, $sp, 0x40
glabel func_800C3508
/* 0C4108 800C3508 308E00FF */ andi $t6, $a0, 0xff
/* 0C410C 800C350C 000E7880 */ sll $t7, $t6, 2
/* 0C4110 800C3510 01EE7821 */ addu $t7, $t7, $t6
/* 0C4114 800C3514 000F78C0 */ sll $t7, $t7, 3
/* 0C4118 800C3518 01EE7821 */ addu $t7, $t7, $t6
/* 0C411C 800C351C 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C4120 800C3520 000F78C0 */ sll $t7, $t7, 3
/* 0C4124 800C3524 3C18803B */ lui $t8, %hi(D_803B1510) # 0x803b
/* 0C4128 800C3528 ADA40010 */ sw $a0, 0x10($t5)
/* 0C412C 800C352C 030FC021 */ addu $t8, $t8, $t7
/* 0C4130 800C3530 8F181510 */ lw $t8, %lo(D_803B1510)($t8) # 0x1510($t8)
/* 0C4134 800C3534 01C02025 */ move $a0, $t6
/* 0C4138 800C3538 000440C0 */ sll $t0, $a0, 3
/* 0C413C 800C353C 0018CFC2 */ srl $t9, $t8, 0x1f
/* 0C4140 800C3540 17200003 */ bnez $t9, .L800C3550
/* 0C4144 800C3544 01A0E825 */ move $sp, $t5
/* 0C4148 800C3548 1000000A */ b .L800C3574
/* 0C414C 800C354C 3402FFFF */ li $v0, 65535
.L800C3550:
/* 0C4150 800C3550 01044021 */ addu $t0, $t0, $a0
/* 0C4154 800C3554 00084080 */ sll $t0, $t0, 2
/* 0C4158 800C3558 01044021 */ addu $t0, $t0, $a0
/* 0C415C 800C355C 00084080 */ sll $t0, $t0, 2
/* 0C4160 800C3560 01044023 */ subu $t0, $t0, $a0
/* 0C4164 800C3564 00084080 */ sll $t0, $t0, 2
/* 0C4168 800C3568 3C028019 */ lui $v0, %hi(D_80193318) # 0x8019
/* 0C416C 800C356C 00481021 */ addu $v0, $v0, $t0
/* 0C4170 800C3570 94423318 */ lhu $v0, %lo(D_80193318)($v0) # 0x3318($v0)
.L800C3574:
/* 0C4174 800C3574 03E00008 */ jr $ra
/* 0C4178 800C3578 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C357C
/* 0C417C 800C357C 3C02800F */ lui $v0, %hi(D_800EA1E8) # $v0, 0x800f
/* 0C4180 800C3580 3C05800F */ lui $a1, %hi(D_800EA1E4) # $a1, 0x800f
/* 0C4184 800C3584 90A5A1E4 */ lbu $a1, %lo(D_800EA1E4)($a1)
/* 0C4188 800C3588 9042A1E8 */ lbu $v0, %lo(D_800EA1E8)($v0)
/* 0C418C 800C358C 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C4190 800C3590 24030001 */ li $v1, 1
/* 0C4194 800C3594 0045082A */ slt $at, $v0, $a1
/* 0C4198 800C3598 1020000F */ beqz $at, .L800C35D8
/* 0C419C 800C359C 00A03025 */ move $a2, $a1
/* 0C41A0 800C35A0 3C078019 */ lui $a3, %hi(D_80192CD0) # $a3, 0x8019
/* 0C41A4 800C35A4 24E72CD0 */ addiu $a3, %lo(D_80192CD0) # addiu $a3, $a3, 0x2cd0
.L800C35A8:
/* 0C41A8 800C35A8 00027080 */ sll $t6, $v0, 2
/* 0C41AC 800C35AC 00EE7821 */ addu $t7, $a3, $t6
/* 0C41B0 800C35B0 8DF80000 */ lw $t8, ($t7)
/* 0C41B4 800C35B4 54980004 */ bnel $a0, $t8, .L800C35C8
/* 0C41B8 800C35B8 24420001 */ addiu $v0, $v0, 1
/* 0C41BC 800C35BC 00001825 */ move $v1, $zero
/* 0C41C0 800C35C0 30A200FF */ andi $v0, $a1, 0xff
/* 0C41C4 800C35C4 24420001 */ addiu $v0, $v0, 1
.L800C35C8:
/* 0C41C8 800C35C8 305900FF */ andi $t9, $v0, 0xff
/* 0C41CC 800C35CC 0326082A */ slt $at, $t9, $a2
/* 0C41D0 800C35D0 1420FFF5 */ bnez $at, .L800C35A8
/* 0C41D4 800C35D4 03201025 */ move $v0, $t9
.L800C35D8:
/* 0C41D8 800C35D8 01A0E825 */ move $sp, $t5
/* 0C41DC 800C35DC 25BD0010 */ addiu $sp, $t5, 0x10
/* 0C41E0 800C35E0 03E00008 */ jr $ra
/* 0C41E4 800C35E4 00601025 */ move $v0, $v1
glabel func_800C35E8
/* 0C41E8 800C35E8 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 0C41EC 800C35EC 308E00FF */ andi $t6, $a0, 0xff
/* 0C41F0 800C35F0 3C018019 */ lui $at, %hi(D_80192CC6)
/* 0C41F4 800C35F4 AFA40010 */ sw $a0, 0x10($sp)
/* 0C41F8 800C35F8 002E0821 */ addu $at, $at, $t6
/* 0C41FC 800C35FC A0202CC6 */ sb $zero, %lo(D_80192CC6)($at)
/* 0C4200 800C3600 03E00008 */ jr $ra
/* 0C4204 800C3604 27BD0010 */ addiu $sp, $sp, 0x10
glabel func_800C3608
/* 0C4208 800C3608 308E00FF */ andi $t6, $a0, 0xff
/* 0C420C 800C360C 000E78C0 */ sll $t7, $t6, 3
/* 0C4210 800C3610 01EE7821 */ addu $t7, $t7, $t6
/* 0C4214 800C3614 000F7880 */ sll $t7, $t7, 2
/* 0C4218 800C3618 01EE7821 */ addu $t7, $t7, $t6
/* 0C421C 800C361C 000F7880 */ sll $t7, $t7, 2
/* 0C4220 800C3620 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C4224 800C3624 01EE7823 */ subu $t7, $t7, $t6
/* 0C4228 800C3628 3C188019 */ lui $t8, %hi(D_801930D0) # $t8, 0x8019
/* 0C422C 800C362C 271830D0 */ addiu $t8, %lo(D_801930D0) # addiu $t8, $t8, 0x30d0
/* 0C4230 800C3630 000F7880 */ sll $t7, $t7, 2
/* 0C4234 800C3634 ADA40010 */ sw $a0, 0x10($t5)
/* 0C4238 800C3638 ADA50014 */ sw $a1, 0x14($t5)
/* 0C423C 800C363C 01F81821 */ addu $v1, $t7, $t8
/* 0C4240 800C3640 90660041 */ lbu $a2, 0x41($v1)
/* 0C4244 800C3644 30A700FF */ andi $a3, $a1, 0xff
/* 0C4248 800C3648 00001025 */ move $v0, $zero
/* 0C424C 800C364C 18C0001B */ blez $a2, .L800C36BC
/* 0C4250 800C3650 01A0E825 */ move $sp, $t5
/* 0C4254 800C3654 000EC8C0 */ sll $t9, $t6, 3
/* 0C4258 800C3658 032EC821 */ addu $t9, $t9, $t6
/* 0C425C 800C365C 0019C880 */ sll $t9, $t9, 2
/* 0C4260 800C3660 032EC821 */ addu $t9, $t9, $t6
/* 0C4264 800C3664 0019C880 */ sll $t9, $t9, 2
/* 0C4268 800C3668 032EC823 */ subu $t9, $t9, $t6
/* 0C426C 800C366C 0019C880 */ sll $t9, $t9, 2
/* 0C4270 800C3670 03382821 */ addu $a1, $t9, $t8
/* 0C4274 800C3674 00E04025 */ move $t0, $a3
/* 0C4278 800C3678 3C0AFF00 */ lui $t2, 0xff00
/* 0C427C 800C367C 3C0900F0 */ lui $t1, 0xf0
.L800C3680:
/* 0C4280 800C3680 00025880 */ sll $t3, $v0, 2
/* 0C4284 800C3684 00AB3821 */ addu $a3, $a1, $t3
/* 0C4288 800C3688 8CEC002C */ lw $t4, 0x2c($a3)
/* 0C428C 800C368C 24420001 */ addiu $v0, $v0, 1
/* 0C4290 800C3690 305900FF */ andi $t9, $v0, 0xff
/* 0C4294 800C3694 01892024 */ and $a0, $t4, $t1
/* 0C4298 800C3698 00047502 */ srl $t6, $a0, 0x14
/* 0C429C 800C369C 31CF00FF */ andi $t7, $t6, 0xff
/* 0C42A0 800C36A0 550F0004 */ bnel $t0, $t7, .L800C36B4
/* 0C42A4 800C36A4 0326082A */ slt $at, $t9, $a2
/* 0C42A8 800C36A8 ACEA002C */ sw $t2, 0x2c($a3)
/* 0C42AC 800C36AC 90660041 */ lbu $a2, 0x41($v1)
/* 0C42B0 800C36B0 0326082A */ slt $at, $t9, $a2
.L800C36B4:
/* 0C42B4 800C36B4 1420FFF2 */ bnez $at, .L800C3680
/* 0C42B8 800C36B8 03201025 */ move $v0, $t9
.L800C36BC:
/* 0C42BC 800C36BC 03E00008 */ jr $ra
/* 0C42C0 800C36C0 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C36C4
/* 0C42C4 800C36C4 308E00FF */ andi $t6, $a0, 0xff
/* 0C42C8 800C36C8 000E40C0 */ sll $t0, $t6, 3
/* 0C42CC 800C36CC 010E4021 */ addu $t0, $t0, $t6
/* 0C42D0 800C36D0 00084080 */ sll $t0, $t0, 2
/* 0C42D4 800C36D4 010E4021 */ addu $t0, $t0, $t6
/* 0C42D8 800C36D8 00084080 */ sll $t0, $t0, 2
/* 0C42DC 800C36DC 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 0C42E0 800C36E0 010E4023 */ subu $t0, $t0, $t6
/* 0C42E4 800C36E4 3C098019 */ lui $t1, %hi(D_801930D0) # $t1, 0x8019
/* 0C42E8 800C36E8 252930D0 */ addiu $t1, %lo(D_801930D0) # addiu $t1, $t1, 0x30d0
/* 0C42EC 800C36EC 00084080 */ sll $t0, $t0, 2
/* 0C42F0 800C36F0 30AF00FF */ andi $t7, $a1, 0xff
/* 0C42F4 800C36F4 01091021 */ addu $v0, $t0, $t1
/* 0C42F8 800C36F8 004F5021 */ addu $t2, $v0, $t7
/* 0C42FC 800C36FC AFA40010 */ sw $a0, 0x10($sp)
/* 0C4300 800C3700 AFA50014 */ sw $a1, 0x14($sp)
/* 0C4304 800C3704 AFA60018 */ sw $a2, 0x18($sp)
/* 0C4308 800C3708 AFA7001C */ sw $a3, 0x1c($sp)
/* 0C430C 800C370C A146000E */ sb $a2, 0xe($t2)
/* 0C4310 800C3710 240B0001 */ li $t3, 1
/* 0C4314 800C3714 A0470011 */ sb $a3, 0x11($v0)
/* 0C4318 800C3718 A04B0012 */ sb $t3, 0x12($v0)
/* 0C431C 800C371C 03E00008 */ jr $ra
/* 0C4320 800C3720 27BD0010 */ addiu $sp, $sp, 0x10
glabel func_800C3724
/* 0C4324 800C3724 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 0C4328 800C3728 AFB60048 */ sw $s6, 0x48($sp)
/* 0C432C 800C372C F7B40028 */ sdc1 $f20, 0x28($sp)
/* 0C4330 800C3730 3C0142FE */ li $at, 0x42FE0000 # 127.000000
/* 0C4334 800C3734 AFBE0050 */ sw $fp, 0x50($sp)
/* 0C4338 800C3738 AFB7004C */ sw $s7, 0x4c($sp)
/* 0C433C 800C373C AFB50044 */ sw $s5, 0x44($sp)
/* 0C4340 800C3740 3C168019 */ lui $s6, %hi(D_801930D0) # $s6, 0x8019
/* 0C4344 800C3744 4481A000 */ mtc1 $at, $f20
/* 0C4348 800C3748 03A0F025 */ move $fp, $sp
/* 0C434C 800C374C AFBF0054 */ sw $ra, 0x54($sp)
/* 0C4350 800C3750 AFB40040 */ sw $s4, 0x40($sp)
/* 0C4354 800C3754 AFB3003C */ sw $s3, 0x3c($sp)
/* 0C4358 800C3758 AFB20038 */ sw $s2, 0x38($sp)
/* 0C435C 800C375C AFB10034 */ sw $s1, 0x34($sp)
/* 0C4360 800C3760 AFB00030 */ sw $s0, 0x30($sp)
/* 0C4364 800C3764 26D630D0 */ addiu $s6, %lo(D_801930D0) # addiu $s6, $s6, 0x30d0
/* 0C4368 800C3768 0000A825 */ move $s5, $zero
/* 0C436C 800C376C 2417024C */ li $s7, 588
.L800C3770:
/* 0C4370 800C3770 02B70019 */ multu $s5, $s7
/* 0C4374 800C3774 00007012 */ mflo $t6
/* 0C4378 800C3778 02CE9821 */ addu $s3, $s6, $t6
/* 0C437C 800C377C 926F0012 */ lbu $t7, 0x12($s3)
/* 0C4380 800C3780 11E00048 */ beqz $t7, .L800C38A4
/* 0C4384 800C3784 0015C0C0 */ sll $t8, $s5, 3
/* 0C4388 800C3788 0315C021 */ addu $t8, $t8, $s5
/* 0C438C 800C378C 0018C080 */ sll $t8, $t8, 2
/* 0C4390 800C3790 0315C021 */ addu $t8, $t8, $s5
/* 0C4394 800C3794 0018C080 */ sll $t8, $t8, 2
/* 0C4398 800C3798 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C439C 800C379C 0315C023 */ subu $t8, $t8, $s5
/* 0C43A0 800C37A0 0018C080 */ sll $t8, $t8, 2
/* 0C43A4 800C37A4 44810000 */ mtc1 $at, $f0
/* 0C43A8 800C37A8 02D8A021 */ addu $s4, $s6, $t8
/* 0C43AC 800C37AC 00009025 */ move $s2, $zero
/* 0C43B0 800C37B0 02A01025 */ move $v0, $s5
/* 0C43B4 800C37B4 0292C821 */ addu $t9, $s4, $s2
.L800C37B8:
/* 0C43B8 800C37B8 932A000E */ lbu $t2, 0xe($t9)
/* 0C43BC 800C37BC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C43C0 800C37C0 448A2000 */ mtc1 $t2, $f4
/* 0C43C4 800C37C4 05410004 */ bgez $t2, .L800C37D8
/* 0C43C8 800C37C8 468021A0 */ cvt.s.w $f6, $f4
/* 0C43CC 800C37CC 44814000 */ mtc1 $at, $f8
/* 0C43D0 800C37D0 00000000 */ nop
/* 0C43D4 800C37D4 46083180 */ add.s $f6, $f6, $f8
.L800C37D8:
/* 0C43D8 800C37D8 46143283 */ div.s $f10, $f6, $f20
/* 0C43DC 800C37DC 26520001 */ addiu $s2, $s2, 1
/* 0C43E0 800C37E0 324B00FF */ andi $t3, $s2, 0xff
/* 0C43E4 800C37E4 29610003 */ slti $at, $t3, 3
/* 0C43E8 800C37E8 01609025 */ move $s2, $t3
/* 0C43EC 800C37EC 460A0002 */ mul.s $f0, $f0, $f10
/* 0C43F0 800C37F0 5420FFF1 */ bnel $at, $zero, .L800C37B8
/* 0C43F4 800C37F4 0292C821 */ addu $t9, $s4, $s2
/* 0C43F8 800C37F8 46140402 */ mul.s $f16, $f0, $f20
/* 0C43FC 800C37FC 240A0001 */ li $t2, 1
/* 0C4400 800C3800 926C0011 */ lbu $t4, 0x11($s3)
/* 0C4404 800C3804 3C014000 */ lui $at, 0x4000
/* 0C4408 800C3808 00027E00 */ sll $t7, $v0, 0x18
/* 0C440C 800C380C 000C6C00 */ sll $t5, $t4, 0x10
/* 0C4410 800C3810 01A17025 */ or $t6, $t5, $at
/* 0C4414 800C3814 4459F800 */ cfc1 $t9, $31
/* 0C4418 800C3818 44CAF800 */ ctc1 $t2, $31
/* 0C441C 800C381C 01CFC025 */ or $t8, $t6, $t7
/* 0C4420 800C3820 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 0C4424 800C3824 460084A4 */ cvt.w.s $f18, $f16
/* 0C4428 800C3828 444AF800 */ cfc1 $t2, $31
/* 0C442C 800C382C 00000000 */ nop
/* 0C4430 800C3830 314A0078 */ andi $t2, $t2, 0x78
/* 0C4434 800C3834 51400013 */ beql $t2, $zero, .L800C3884
/* 0C4438 800C3838 440A9000 */ mfc1 $t2, $f18
/* 0C443C 800C383C 44819000 */ mtc1 $at, $f18
/* 0C4440 800C3840 240A0001 */ li $t2, 1
/* 0C4444 800C3844 46128481 */ sub.s $f18, $f16, $f18
/* 0C4448 800C3848 44CAF800 */ ctc1 $t2, $31
/* 0C444C 800C384C 00000000 */ nop
/* 0C4450 800C3850 460094A4 */ cvt.w.s $f18, $f18
/* 0C4454 800C3854 444AF800 */ cfc1 $t2, $31
/* 0C4458 800C3858 00000000 */ nop
/* 0C445C 800C385C 314A0078 */ andi $t2, $t2, 0x78
/* 0C4460 800C3860 15400005 */ bnez $t2, .L800C3878
/* 0C4464 800C3864 00000000 */ nop
/* 0C4468 800C3868 440A9000 */ mfc1 $t2, $f18
/* 0C446C 800C386C 3C018000 */ lui $at, 0x8000
/* 0C4470 800C3870 10000007 */ b .L800C3890
/* 0C4474 800C3874 01415025 */ or $t2, $t2, $at
.L800C3878:
/* 0C4478 800C3878 10000005 */ b .L800C3890
/* 0C447C 800C387C 240AFFFF */ li $t2, -1
/* 0C4480 800C3880 440A9000 */ mfc1 $t2, $f18
.L800C3884:
/* 0C4484 800C3884 00000000 */ nop
/* 0C4488 800C3888 0540FFFB */ bltz $t2, .L800C3878
/* 0C448C 800C388C 00000000 */ nop
.L800C3890:
/* 0C4490 800C3890 44D9F800 */ ctc1 $t9, $31
/* 0C4494 800C3894 314B00FF */ andi $t3, $t2, 0xff
/* 0C4498 800C3898 0C030D12 */ jal func_800C3448
/* 0C449C 800C389C 030B2025 */ or $a0, $t8, $t3
/* 0C44A0 800C38A0 A2600012 */ sb $zero, 0x12($s3)
.L800C38A4:
/* 0C44A4 800C38A4 9662000C */ lhu $v0, 0xc($s3)
/* 0C44A8 800C38A8 10400011 */ beqz $v0, .L800C38F0
/* 0C44AC 800C38AC 244CFFFF */ addiu $t4, $v0, -1
/* 0C44B0 800C38B0 318DFFFF */ andi $t5, $t4, 0xffff
/* 0C44B4 800C38B4 11A00006 */ beqz $t5, .L800C38D0
/* 0C44B8 800C38B8 A66C000C */ sh $t4, 0xc($s3)
/* 0C44BC 800C38BC C6640000 */ lwc1 $f4, ($s3)
/* 0C44C0 800C38C0 C6680008 */ lwc1 $f8, 8($s3)
/* 0C44C4 800C38C4 46082181 */ sub.s $f6, $f4, $f8
/* 0C44C8 800C38C8 10000003 */ b .L800C38D8
/* 0C44CC 800C38CC E6660000 */ swc1 $f6, ($s3)
.L800C38D0:
/* 0C44D0 800C38D0 C66A0004 */ lwc1 $f10, 4($s3)
/* 0C44D4 800C38D4 E66A0000 */ swc1 $f10, ($s3)
.L800C38D8:
/* 0C44D8 800C38D8 32A400FF */ andi $a0, $s5, 0xff
/* 0C44DC 800C38DC 00047400 */ sll $t6, $a0, 0x10
/* 0C44E0 800C38E0 3C014100 */ lui $at, 0x4100
/* 0C44E4 800C38E4 01C12025 */ or $a0, $t6, $at
/* 0C44E8 800C38E8 0C032EE2 */ jal func_800CBB88
/* 0C44EC 800C38EC 8E650000 */ lw $a1, ($s3)
.L800C38F0:
/* 0C44F0 800C38F0 8E650014 */ lw $a1, 0x14($s3)
/* 0C44F4 800C38F4 10A00093 */ beqz $a1, .L800C3B44
/* 0C44F8 800C38F8 3C0100FF */ lui $at, 0xff
/* 0C44FC 800C38FC 00A11024 */ and $v0, $a1, $at
/* 0C4500 800C3900 0002CBC2 */ srl $t9, $v0, 0xf
/* 0C4504 800C3904 30A40FFF */ andi $a0, $a1, 0xfff
/* 0C4508 800C3908 332700FF */ andi $a3, $t9, 0xff
/* 0C450C 800C390C 00A01825 */ move $v1, $a1
/* 0C4510 800C3910 332800FF */ andi $t0, $t9, 0xff
/* 0C4514 800C3914 14E00004 */ bnez $a3, .L800C3928
/* 0C4518 800C3918 3086FFFF */ andi $a2, $a0, 0xffff
/* 0C451C 800C391C 24E80001 */ addiu $t0, $a3, 1
/* 0C4520 800C3920 310A00FF */ andi $t2, $t0, 0xff
/* 0C4524 800C3924 01404025 */ move $t0, $t2
.L800C3928:
/* 0C4528 800C3928 0015C080 */ sll $t8, $s5, 2
/* 0C452C 800C392C 0315C021 */ addu $t8, $t8, $s5
/* 0C4530 800C3930 0018C0C0 */ sll $t8, $t8, 3
/* 0C4534 800C3934 0315C021 */ addu $t8, $t8, $s5
/* 0C4538 800C3938 3C0B803B */ lui $t3, %hi(D_803B1510) # $t3, 0x803b
/* 0C453C 800C393C 256B1510 */ addiu $t3, %lo(D_803B1510) # addiu $t3, $t3, 0x1510
/* 0C4540 800C3940 0018C0C0 */ sll $t8, $t8, 3
/* 0C4544 800C3944 030B2821 */ addu $a1, $t8, $t3
/* 0C4548 800C3948 8CAC0000 */ lw $t4, ($a1)
/* 0C454C 800C394C 24010030 */ li $at, 48
/* 0C4550 800C3950 3062F000 */ andi $v0, $v1, 0xf000
/* 0C4554 800C3954 000C6FC2 */ srl $t5, $t4, 0x1f
/* 0C4558 800C3958 51A0007A */ beql $t5, $zero, .L800C3B44
/* 0C455C 800C395C AE600014 */ sw $zero, 0x14($s3)
/* 0C4560 800C3960 94A90008 */ lhu $t1, 8($a1)
/* 0C4564 800C3964 00027B02 */ srl $t7, $v0, 0xc
/* 0C4568 800C3968 31F900FF */ andi $t9, $t7, 0xff
/* 0C456C 800C396C 0121001A */ div $zero, $t1, $at
/* 0C4570 800C3970 00004812 */ mflo $t1
/* 0C4574 800C3974 24010001 */ li $at, 1
/* 0C4578 800C3978 1321000C */ beq $t9, $at, .L800C39AC
/* 0C457C 800C397C 3127FFFF */ andi $a3, $t1, 0xffff
/* 0C4580 800C3980 24010002 */ li $at, 2
/* 0C4584 800C3984 1321000E */ beq $t9, $at, .L800C39C0
/* 0C4588 800C3988 3083FFFF */ andi $v1, $a0, 0xffff
/* 0C458C 800C398C 24010003 */ li $at, 3
/* 0C4590 800C3990 13210013 */ beq $t9, $at, .L800C39E0
/* 0C4594 800C3994 308CFFFF */ andi $t4, $a0, 0xffff
/* 0C4598 800C3998 24010004 */ li $at, 4
/* 0C459C 800C399C 53210048 */ beql $t9, $at, .L800C3AC0
/* 0C45A0 800C39A0 96620018 */ lhu $v0, 0x18($s3)
/* 0C45A4 800C39A4 1000004B */ b .L800C3AD4
/* 0C45A8 800C39A8 96620018 */ lhu $v0, 0x18($s3)
.L800C39AC:
/* 0C45AC 800C39AC 00873021 */ addu $a2, $a0, $a3
/* 0C45B0 800C39B0 30D8FFFF */ andi $t8, $a2, 0xffff
/* 0C45B4 800C39B4 03003025 */ move $a2, $t8
/* 0C45B8 800C39B8 10000046 */ b .L800C3AD4
/* 0C45BC 800C39BC 96620018 */ lhu $v0, 0x18($s3)
.L800C39C0:
/* 0C45C0 800C39C0 0067082A */ slt $at, $v1, $a3
/* 0C45C4 800C39C4 10200004 */ beqz $at, .L800C39D8
/* 0C45C8 800C39C8 00E01025 */ move $v0, $a3
/* 0C45CC 800C39CC 00433023 */ subu $a2, $v0, $v1
/* 0C45D0 800C39D0 30CBFFFF */ andi $t3, $a2, 0xffff
/* 0C45D4 800C39D4 01603025 */ move $a2, $t3
.L800C39D8:
/* 0C45D8 800C39D8 1000003E */ b .L800C3AD4
/* 0C45DC 800C39DC 96620018 */ lhu $v0, 0x18($s3)
.L800C39E0:
/* 0C45E0 800C39E0 448C8000 */ mtc1 $t4, $f16
/* 0C45E4 800C39E4 44875000 */ mtc1 $a3, $f10
/* 0C45E8 800C39E8 05810005 */ bgez $t4, .L800C3A00
/* 0C45EC 800C39EC 468084A0 */ cvt.s.w $f18, $f16
/* 0C45F0 800C39F0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C45F4 800C39F4 44812000 */ mtc1 $at, $f4
/* 0C45F8 800C39F8 00000000 */ nop
/* 0C45FC 800C39FC 46049480 */ add.s $f18, $f18, $f4
.L800C3A00:
/* 0C4600 800C3A00 3C0142C8 */ li $at, 0x42C80000 # 100.000000
/* 0C4604 800C3A04 44814000 */ mtc1 $at, $f8
/* 0C4608 800C3A08 46805420 */ cvt.s.w $f16, $f10
/* 0C460C 800C3A0C 04E10005 */ bgez $a3, .L800C3A24
/* 0C4610 800C3A10 46089183 */ div.s $f6, $f18, $f8
/* 0C4614 800C3A14 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C4618 800C3A18 44812000 */ mtc1 $at, $f4
/* 0C461C 800C3A1C 00000000 */ nop
/* 0C4620 800C3A20 46048400 */ add.s $f16, $f16, $f4
.L800C3A24:
/* 0C4624 800C3A24 46068482 */ mul.s $f18, $f16, $f6
/* 0C4628 800C3A28 24060001 */ li $a2, 1
/* 0C462C 800C3A2C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 0C4630 800C3A30 444DF800 */ cfc1 $t5, $31
/* 0C4634 800C3A34 44C6F800 */ ctc1 $a2, $31
/* 0C4638 800C3A38 00000000 */ nop
/* 0C463C 800C3A3C 46009224 */ cvt.w.s $f8, $f18
/* 0C4640 800C3A40 4446F800 */ cfc1 $a2, $31
/* 0C4644 800C3A44 00000000 */ nop
/* 0C4648 800C3A48 30C60078 */ andi $a2, $a2, 0x78
/* 0C464C 800C3A4C 50C00013 */ beql $a2, $zero, .L800C3A9C
/* 0C4650 800C3A50 44064000 */ mfc1 $a2, $f8
/* 0C4654 800C3A54 44814000 */ mtc1 $at, $f8
/* 0C4658 800C3A58 24060001 */ li $a2, 1
/* 0C465C 800C3A5C 46089201 */ sub.s $f8, $f18, $f8
/* 0C4660 800C3A60 44C6F800 */ ctc1 $a2, $31
/* 0C4664 800C3A64 00000000 */ nop
/* 0C4668 800C3A68 46004224 */ cvt.w.s $f8, $f8
/* 0C466C 800C3A6C 4446F800 */ cfc1 $a2, $31
/* 0C4670 800C3A70 00000000 */ nop
/* 0C4674 800C3A74 30C60078 */ andi $a2, $a2, 0x78
/* 0C4678 800C3A78 14C00005 */ bnez $a2, .L800C3A90
/* 0C467C 800C3A7C 00000000 */ nop
/* 0C4680 800C3A80 44064000 */ mfc1 $a2, $f8
/* 0C4684 800C3A84 3C018000 */ lui $at, 0x8000
/* 0C4688 800C3A88 10000007 */ b .L800C3AA8
/* 0C468C 800C3A8C 00C13025 */ or $a2, $a2, $at
.L800C3A90:
/* 0C4690 800C3A90 10000005 */ b .L800C3AA8
/* 0C4694 800C3A94 2406FFFF */ li $a2, -1
/* 0C4698 800C3A98 44064000 */ mfc1 $a2, $f8
.L800C3A9C:
/* 0C469C 800C3A9C 00000000 */ nop
/* 0C46A0 800C3AA0 04C0FFFB */ bltz $a2, .L800C3A90
/* 0C46A4 800C3AA4 00000000 */ nop
.L800C3AA8:
/* 0C46A8 800C3AA8 44CDF800 */ ctc1 $t5, $31
/* 0C46AC 800C3AAC 30CEFFFF */ andi $t6, $a2, 0xffff
/* 0C46B0 800C3AB0 01C03025 */ move $a2, $t6
/* 0C46B4 800C3AB4 10000007 */ b .L800C3AD4
/* 0C46B8 800C3AB8 96620018 */ lhu $v0, 0x18($s3)
/* 0C46BC 800C3ABC 96620018 */ lhu $v0, 0x18($s3)
.L800C3AC0:
/* 0C46C0 800C3AC0 30E6FFFF */ andi $a2, $a3, 0xffff
/* 0C46C4 800C3AC4 10400003 */ beqz $v0, .L800C3AD4
/* 0C46C8 800C3AC8 00000000 */ nop
/* 0C46CC 800C3ACC 10000001 */ b .L800C3AD4
/* 0C46D0 800C3AD0 3046FFFF */ andi $a2, $v0, 0xffff
.L800C3AD4:
/* 0C46D4 800C3AD4 44898000 */ mtc1 $t1, $f16
/* 0C46D8 800C3AD8 28C1012D */ slti $at, $a2, 0x12d
/* 0C46DC 800C3ADC 14200002 */ bnez $at, .L800C3AE8
/* 0C46E0 800C3AE0 468080A0 */ cvt.s.w $f2, $f16
/* 0C46E4 800C3AE4 2406012C */ li $a2, 300
.L800C3AE8:
/* 0C46E8 800C3AE8 44865000 */ mtc1 $a2, $f10
/* 0C46EC 800C3AEC 14400002 */ bnez $v0, .L800C3AF8
/* 0C46F0 800C3AF0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C46F4 800C3AF4 A6670018 */ sh $a3, 0x18($s3)
.L800C3AF8:
/* 0C46F8 800C3AF8 04C10004 */ bgez $a2, .L800C3B0C
/* 0C46FC 800C3AFC 46805020 */ cvt.s.w $f0, $f10
/* 0C4700 800C3B00 44812000 */ mtc1 $at, $f4
/* 0C4704 800C3B04 00000000 */ nop
/* 0C4708 800C3B08 46040000 */ add.s $f0, $f0, $f4
.L800C3B0C:
/* 0C470C 800C3B0C 44889000 */ mtc1 $t0, $f18
/* 0C4710 800C3B10 E6600020 */ swc1 $f0, 0x20($s3)
/* 0C4714 800C3B14 E662001C */ swc1 $f2, 0x1c($s3)
/* 0C4718 800C3B18 46001181 */ sub.s $f6, $f2, $f0
/* 0C471C 800C3B1C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C4720 800C3B20 05010004 */ bgez $t0, .L800C3B34
/* 0C4724 800C3B24 46809220 */ cvt.s.w $f8, $f18
/* 0C4728 800C3B28 44815000 */ mtc1 $at, $f10
/* 0C472C 800C3B2C 00000000 */ nop
/* 0C4730 800C3B30 460A4200 */ add.s $f8, $f8, $f10
.L800C3B34:
/* 0C4734 800C3B34 46083103 */ div.s $f4, $f6, $f8
/* 0C4738 800C3B38 A6680028 */ sh $t0, 0x28($s3)
/* 0C473C 800C3B3C E6640024 */ swc1 $f4, 0x24($s3)
/* 0C4740 800C3B40 AE600014 */ sw $zero, 0x14($s3)
.L800C3B44:
/* 0C4744 800C3B44 96620028 */ lhu $v0, 0x28($s3)
/* 0C4748 800C3B48 10400015 */ beqz $v0, .L800C3BA0
/* 0C474C 800C3B4C 244FFFFF */ addiu $t7, $v0, -1
/* 0C4750 800C3B50 32A300FF */ andi $v1, $s5, 0xff
/* 0C4754 800C3B54 0003CC00 */ sll $t9, $v1, 0x10
/* 0C4758 800C3B58 31EAFFFF */ andi $t2, $t7, 0xffff
/* 0C475C 800C3B5C A66F0028 */ sh $t7, 0x28($s3)
/* 0C4760 800C3B60 11400006 */ beqz $t2, .L800C3B7C
/* 0C4764 800C3B64 03201825 */ move $v1, $t9
/* 0C4768 800C3B68 C670001C */ lwc1 $f16, 0x1c($s3)
/* 0C476C 800C3B6C C6720024 */ lwc1 $f18, 0x24($s3)
/* 0C4770 800C3B70 46128281 */ sub.s $f10, $f16, $f18
/* 0C4774 800C3B74 10000003 */ b .L800C3B84
/* 0C4778 800C3B78 E66A001C */ swc1 $f10, 0x1c($s3)
.L800C3B7C:
/* 0C477C 800C3B7C C6660020 */ lwc1 $f6, 0x20($s3)
/* 0C4780 800C3B80 E666001C */ swc1 $f6, 0x1c($s3)
.L800C3B84:
/* 0C4784 800C3B84 C668001C */ lwc1 $f8, 0x1c($s3)
/* 0C4788 800C3B88 3C014700 */ lui $at, 0x4700
/* 0C478C 800C3B8C 00612025 */ or $a0, $v1, $at
/* 0C4790 800C3B90 4600410D */ trunc.w.s $f4, $f8
/* 0C4794 800C3B94 44052000 */ mfc1 $a1, $f4
/* 0C4798 800C3B98 0C032EEE */ jal func_800CBBB8
/* 0C479C 800C3B9C 00000000 */ nop
.L800C3BA0:
/* 0C47A0 800C3BA0 966B0246 */ lhu $t3, 0x246($s3)
/* 0C47A4 800C3BA4 1160002C */ beqz $t3, .L800C3C58
/* 0C47A8 800C3BA8 001560C0 */ sll $t4, $s5, 3
/* 0C47AC 800C3BAC 01956021 */ addu $t4, $t4, $s5
/* 0C47B0 800C3BB0 000C6080 */ sll $t4, $t4, 2
/* 0C47B4 800C3BB4 01956021 */ addu $t4, $t4, $s5
/* 0C47B8 800C3BB8 000C6080 */ sll $t4, $t4, 2
/* 0C47BC 800C3BBC 01956023 */ subu $t4, $t4, $s5
/* 0C47C0 800C3BC0 000C6080 */ sll $t4, $t4, 2
/* 0C47C4 800C3BC4 02CCA021 */ addu $s4, $s6, $t4
/* 0C47C8 800C3BC8 00008025 */ move $s0, $zero
.L800C3BCC:
/* 0C47CC 800C3BCC 00102140 */ sll $a0, $s0, 5
/* 0C47D0 800C3BD0 02841021 */ addu $v0, $s4, $a0
/* 0C47D4 800C3BD4 94430050 */ lhu $v1, 0x50($v0)
/* 0C47D8 800C3BD8 32A600FF */ andi $a2, $s5, 0xff
/* 0C47DC 800C3BDC 00067400 */ sll $t6, $a2, 0x10
/* 0C47E0 800C3BE0 10600018 */ beqz $v1, .L800C3C44
/* 0C47E4 800C3BE4 246DFFFF */ addiu $t5, $v1, -1
/* 0C47E8 800C3BE8 3C010100 */ lui $at, 0x100
/* 0C47EC 800C3BEC 31B9FFFF */ andi $t9, $t5, 0xffff
/* 0C47F0 800C3BF0 A44D0050 */ sh $t5, 0x50($v0)
/* 0C47F4 800C3BF4 13200006 */ beqz $t9, .L800C3C10
/* 0C47F8 800C3BF8 01C13025 */ or $a2, $t6, $at
/* 0C47FC 800C3BFC C4500044 */ lwc1 $f16, 0x44($v0)
/* 0C4800 800C3C00 C452004C */ lwc1 $f18, 0x4c($v0)
/* 0C4804 800C3C04 46128281 */ sub.s $f10, $f16, $f18
/* 0C4808 800C3C08 10000009 */ b .L800C3C30
/* 0C480C 800C3C0C E44A0044 */ swc1 $f10, 0x44($v0)
.L800C3C10:
/* 0C4810 800C3C10 02641821 */ addu $v1, $s3, $a0
/* 0C4814 800C3C14 C4660048 */ lwc1 $f6, 0x48($v1)
/* 0C4818 800C3C18 24180001 */ li $t8, 1
/* 0C481C 800C3C1C 02185804 */ sllv $t3, $t8, $s0
/* 0C4820 800C3C20 E4660044 */ swc1 $f6, 0x44($v1)
/* 0C4824 800C3C24 966A0246 */ lhu $t2, 0x246($s3)
/* 0C4828 800C3C28 014B6026 */ xor $t4, $t2, $t3
/* 0C482C 800C3C2C A66C0246 */ sh $t4, 0x246($s3)
.L800C3C30:
/* 0C4830 800C3C30 320D00FF */ andi $t5, $s0, 0xff
/* 0C4834 800C3C34 000D7200 */ sll $t6, $t5, 8
/* 0C4838 800C3C38 00CE2025 */ or $a0, $a2, $t6
/* 0C483C 800C3C3C 0C032EE2 */ jal func_800CBB88
/* 0C4840 800C3C40 8C450044 */ lw $a1, 0x44($v0)
.L800C3C44:
/* 0C4844 800C3C44 26100001 */ addiu $s0, $s0, 1
/* 0C4848 800C3C48 320F00FF */ andi $t7, $s0, 0xff
/* 0C484C 800C3C4C 29E10010 */ slti $at, $t7, 0x10
/* 0C4850 800C3C50 1420FFDE */ bnez $at, .L800C3BCC
/* 0C4854 800C3C54 01E08025 */ move $s0, $t7
.L800C3C58:
/* 0C4858 800C3C58 96790244 */ lhu $t9, 0x244($s3)
/* 0C485C 800C3C5C 1320002C */ beqz $t9, .L800C3D10
/* 0C4860 800C3C60 0015C0C0 */ sll $t8, $s5, 3
/* 0C4864 800C3C64 0315C021 */ addu $t8, $t8, $s5
/* 0C4868 800C3C68 0018C080 */ sll $t8, $t8, 2
/* 0C486C 800C3C6C 0315C021 */ addu $t8, $t8, $s5
/* 0C4870 800C3C70 0018C080 */ sll $t8, $t8, 2
/* 0C4874 800C3C74 0315C023 */ subu $t8, $t8, $s5
/* 0C4878 800C3C78 0018C080 */ sll $t8, $t8, 2
/* 0C487C 800C3C7C 02D8A021 */ addu $s4, $s6, $t8
/* 0C4880 800C3C80 00008025 */ move $s0, $zero
.L800C3C84:
/* 0C4884 800C3C84 00102140 */ sll $a0, $s0, 5
/* 0C4888 800C3C88 02841021 */ addu $v0, $s4, $a0
/* 0C488C 800C3C8C 94430060 */ lhu $v1, 0x60($v0)
/* 0C4890 800C3C90 32A600FF */ andi $a2, $s5, 0xff
/* 0C4894 800C3C94 00065C00 */ sll $t3, $a2, 0x10
/* 0C4898 800C3C98 10600018 */ beqz $v1, .L800C3CFC
/* 0C489C 800C3C9C 246AFFFF */ addiu $t2, $v1, -1
/* 0C48A0 800C3CA0 3C010400 */ lui $at, 0x400
/* 0C48A4 800C3CA4 314DFFFF */ andi $t5, $t2, 0xffff
/* 0C48A8 800C3CA8 A44A0060 */ sh $t2, 0x60($v0)
/* 0C48AC 800C3CAC 11A00006 */ beqz $t5, .L800C3CC8
/* 0C48B0 800C3CB0 01613025 */ or $a2, $t3, $at
/* 0C48B4 800C3CB4 C4480054 */ lwc1 $f8, 0x54($v0)
/* 0C48B8 800C3CB8 C444005C */ lwc1 $f4, 0x5c($v0)
/* 0C48BC 800C3CBC 46044401 */ sub.s $f16, $f8, $f4
/* 0C48C0 800C3CC0 10000009 */ b .L800C3CE8
/* 0C48C4 800C3CC4 E4500054 */ swc1 $f16, 0x54($v0)
.L800C3CC8:
/* 0C48C8 800C3CC8 02641821 */ addu $v1, $s3, $a0
/* 0C48CC 800C3CCC C4720058 */ lwc1 $f18, 0x58($v1)
/* 0C48D0 800C3CD0 240F0001 */ li $t7, 1
/* 0C48D4 800C3CD4 020FC804 */ sllv $t9, $t7, $s0
/* 0C48D8 800C3CD8 E4720054 */ swc1 $f18, 0x54($v1)
/* 0C48DC 800C3CDC 966E0244 */ lhu $t6, 0x244($s3)
/* 0C48E0 800C3CE0 01D9C026 */ xor $t8, $t6, $t9
/* 0C48E4 800C3CE4 A6780244 */ sh $t8, 0x244($s3)
.L800C3CE8:
/* 0C48E8 800C3CE8 320A00FF */ andi $t2, $s0, 0xff
/* 0C48EC 800C3CEC 000A5A00 */ sll $t3, $t2, 8
/* 0C48F0 800C3CF0 00CB2025 */ or $a0, $a2, $t3
/* 0C48F4 800C3CF4 0C032EE2 */ jal func_800CBB88
/* 0C48F8 800C3CF8 8C450054 */ lw $a1, 0x54($v0)
.L800C3CFC:
/* 0C48FC 800C3CFC 26100001 */ addiu $s0, $s0, 1
/* 0C4900 800C3D00 320C00FF */ andi $t4, $s0, 0xff
/* 0C4904 800C3D04 29810010 */ slti $at, $t4, 0x10
/* 0C4908 800C3D08 1420FFDE */ bnez $at, .L800C3C84
/* 0C490C 800C3D0C 01808025 */ move $s0, $t4
.L800C3D10:
/* 0C4910 800C3D10 92620041 */ lbu $v0, 0x41($s3)
/* 0C4914 800C3D14 50400084 */ beql $v0, $zero, .L800C3F28
/* 0C4918 800C3D18 26B50001 */ addiu $s5, $s5, 1
/* 0C491C 800C3D1C 92630040 */ lbu $v1, 0x40($s3)
/* 0C4920 800C3D20 00157880 */ sll $t7, $s5, 2
/* 0C4924 800C3D24 01F57821 */ addu $t7, $t7, $s5
/* 0C4928 800C3D28 10600004 */ beqz $v1, .L800C3D3C
/* 0C492C 800C3D2C 000F78C0 */ sll $t7, $t7, 3
/* 0C4930 800C3D30 246DFFFF */ addiu $t5, $v1, -1
/* 0C4934 800C3D34 1000007B */ b .L800C3F24
/* 0C4938 800C3D38 A26D0040 */ sb $t5, 0x40($s3)
.L800C3D3C:
/* 0C493C 800C3D3C 01F57821 */ addu $t7, $t7, $s5
/* 0C4940 800C3D40 000F78C0 */ sll $t7, $t7, 3
/* 0C4944 800C3D44 3C0E803B */ lui $t6, %hi(D_803B1510) # 0x803b
/* 0C4948 800C3D48 01CF7021 */ addu $t6, $t6, $t7
/* 0C494C 800C3D4C 8DCE1510 */ lw $t6, %lo(D_803B1510)($t6) # 0x1510($t6)
/* 0C4950 800C3D50 00009025 */ move $s2, $zero
/* 0C4954 800C3D54 000ECFC2 */ srl $t9, $t6, 0x1f
/* 0C4958 800C3D58 57200073 */ bnel $t9, $zero, .L800C3F28
/* 0C495C 800C3D5C 26B50001 */ addiu $s5, $s5, 1
/* 0C4960 800C3D60 1840006F */ blez $v0, .L800C3F20
/* 0C4964 800C3D64 00401825 */ move $v1, $v0
/* 0C4968 800C3D68 0015C0C0 */ sll $t8, $s5, 3
/* 0C496C 800C3D6C 0315C021 */ addu $t8, $t8, $s5
/* 0C4970 800C3D70 0018C080 */ sll $t8, $t8, 2
/* 0C4974 800C3D74 0315C021 */ addu $t8, $t8, $s5
/* 0C4978 800C3D78 0018C080 */ sll $t8, $t8, 2
/* 0C497C 800C3D7C 0315C023 */ subu $t8, $t8, $s5
/* 0C4980 800C3D80 0018C080 */ sll $t8, $t8, 2
/* 0C4984 800C3D84 02D8A021 */ addu $s4, $s6, $t8
.L800C3D88:
/* 0C4988 800C3D88 00125080 */ sll $t2, $s2, 2
/* 0C498C 800C3D8C 028A5821 */ addu $t3, $s4, $t2
/* 0C4990 800C3D90 8D62002C */ lw $v0, 0x2c($t3)
/* 0C4994 800C3D94 3C0100F0 */ lui $at, 0xf0
/* 0C4998 800C3D98 00412024 */ and $a0, $v0, $at
/* 0C499C 800C3D9C 3C01000F */ lui $at, 0xf
/* 0C49A0 800C3DA0 00046502 */ srl $t4, $a0, 0x14
/* 0C49A4 800C3DA4 00418824 */ and $s1, $v0, $at
/* 0C49A8 800C3DA8 318D00FF */ andi $t5, $t4, 0xff
/* 0C49AC 800C3DAC 3045FF00 */ andi $a1, $v0, 0xff00
/* 0C49B0 800C3DB0 00403025 */ move $a2, $v0
/* 0C49B4 800C3DB4 00117C02 */ srl $t7, $s1, 0x10
/* 0C49B8 800C3DB8 0005CA02 */ srl $t9, $a1, 8
/* 0C49BC 800C3DBC 30CA00FF */ andi $t2, $a2, 0xff
/* 0C49C0 800C3DC0 2DA10007 */ sltiu $at, $t5, 7
/* 0C49C4 800C3DC4 31F100FF */ andi $s1, $t7, 0xff
/* 0C49C8 800C3DC8 332500FF */ andi $a1, $t9, 0xff
/* 0C49CC 800C3DCC 1020004F */ beqz $at, .L800C3F0C
/* 0C49D0 800C3DD0 01403025 */ move $a2, $t2
/* 0C49D4 800C3DD4 000D5880 */ sll $t3, $t5, 2
/* 0C49D8 800C3DD8 3C01800F */ lui $at, %hi(D_800F362C)
/* 0C49DC 800C3DDC 002B0821 */ addu $at, $at, $t3
/* 0C49E0 800C3DE0 8C2B362C */ lw $t3, %lo(D_800F362C)($at)
/* 0C49E4 800C3DE4 01600008 */ jr $t3
/* 0C49E8 800C3DE8 00000000 */ nop
glabel L800C3DEC
/* 0C49EC 800C3DEC 02370019 */ multu $s1, $s7
/* 0C49F0 800C3DF0 240D0001 */ li $t5, 1
/* 0C49F4 800C3DF4 240F007F */ li $t7, 127
/* 0C49F8 800C3DF8 00006012 */ mflo $t4
/* 0C49FC 800C3DFC 02CC8021 */ addu $s0, $s6, $t4
/* 0C4A00 800C3E00 A20D0012 */ sb $t5, 0x12($s0)
/* 0C4A04 800C3E04 A20F000F */ sb $t7, 0xf($s0)
/* 0C4A08 800C3E08 10000040 */ b .L800C3F0C
/* 0C4A0C 800C3E0C 92630041 */ lbu $v1, 0x41($s3)
glabel L800C3E10
/* 0C4A10 800C3E10 966E0248 */ lhu $t6, 0x248($s3)
/* 0C4A14 800C3E14 3C013000 */ lui $at, 0x3000
/* 0C4A18 800C3E18 0015C600 */ sll $t8, $s5, 0x18
/* 0C4A1C 800C3E1C 01C1C825 */ or $t9, $t6, $at
/* 0C4A20 800C3E20 0C030D12 */ jal func_800C3448
/* 0C4A24 800C3E24 03382025 */ or $a0, $t9, $t8
/* 0C4A28 800C3E28 10000038 */ b .L800C3F0C
/* 0C4A2C 800C3E2C 92630041 */ lbu $v1, 0x41($s3)
glabel L800C3E30
/* 0C4A30 800C3E30 02370019 */ multu $s1, $s7
/* 0C4A34 800C3E34 00116600 */ sll $t4, $s1, 0x18
/* 0C4A38 800C3E38 3C010001 */ lui $at, 1
/* 0C4A3C 800C3E3C 00005012 */ mflo $t2
/* 0C4A40 800C3E40 02CA8021 */ addu $s0, $s6, $t2
/* 0C4A44 800C3E44 960B0248 */ lhu $t3, 0x248($s0)
/* 0C4A48 800C3E48 016C2025 */ or $a0, $t3, $t4
/* 0C4A4C 800C3E4C 00816825 */ or $t5, $a0, $at
/* 0C4A50 800C3E50 0C030D12 */ jal func_800C3448
/* 0C4A54 800C3E54 01A02025 */ move $a0, $t5
/* 0C4A58 800C3E58 240F0001 */ li $t7, 1
/* 0C4A5C 800C3E5C 240E007F */ li $t6, 127
/* 0C4A60 800C3E60 A20F0012 */ sb $t7, 0x12($s0)
/* 0C4A64 800C3E64 A20E000F */ sb $t6, 0xf($s0)
/* 0C4A68 800C3E68 10000028 */ b .L800C3F0C
/* 0C4A6C 800C3E6C 92630041 */ lbu $v1, 0x41($s3)
glabel L800C3E70
/* 0C4A70 800C3E70 3C01B000 */ lui $at, (0xB0003000 >> 16) # lui $at, 0xb000
/* 0C4A74 800C3E74 34213000 */ ori $at, (0xB0003000 & 0xFFFF) # ori $at, $at, 0x3000
/* 0C4A78 800C3E78 0011CE00 */ sll $t9, $s1, 0x18
/* 0C4A7C 800C3E7C 0321C025 */ or $t8, $t9, $at
/* 0C4A80 800C3E80 00055400 */ sll $t2, $a1, 0x10
/* 0C4A84 800C3E84 030A5825 */ or $t3, $t8, $t2
/* 0C4A88 800C3E88 0C030D12 */ jal func_800C3448
/* 0C4A8C 800C3E8C 01662025 */ or $a0, $t3, $a2
/* 0C4A90 800C3E90 1000001E */ b .L800C3F0C
/* 0C4A94 800C3E94 92630041 */ lbu $v1, 0x41($s3)
glabel L800C3E98
/* 0C4A98 800C3E98 3C01B000 */ lui $at, (0xB0004000 >> 16) # lui $at, 0xb000
/* 0C4A9C 800C3E9C 34214000 */ ori $at, (0xB0004000 & 0xFFFF) # ori $at, $at, 0x4000
/* 0C4AA0 800C3EA0 00116600 */ sll $t4, $s1, 0x18
/* 0C4AA4 800C3EA4 01816825 */ or $t5, $t4, $at
/* 0C4AA8 800C3EA8 00067C00 */ sll $t7, $a2, 0x10
/* 0C4AAC 800C3EAC 0C030D12 */ jal func_800C3448
/* 0C4AB0 800C3EB0 01AF2025 */ or $a0, $t5, $t7
/* 0C4AB4 800C3EB4 10000015 */ b .L800C3F0C
/* 0C4AB8 800C3EB8 92630041 */ lbu $v1, 0x41($s3)
glabel L800C3EBC
/* 0C4ABC 800C3EBC 02370019 */ multu $s1, $s7
/* 0C4AC0 800C3EC0 00115E00 */ sll $t3, $s1, 0x18
/* 0C4AC4 800C3EC4 304EFFFF */ andi $t6, $v0, 0xffff
/* 0C4AC8 800C3EC8 0000C812 */ mflo $t9
/* 0C4ACC 800C3ECC 02D98021 */ addu $s0, $s6, $t9
/* 0C4AD0 800C3ED0 92180042 */ lbu $t8, 0x42($s0)
/* 0C4AD4 800C3ED4 00185400 */ sll $t2, $t8, 0x10
/* 0C4AD8 800C3ED8 014B6025 */ or $t4, $t2, $t3
/* 0C4ADC 800C3EDC 0C030D12 */ jal func_800C3448
/* 0C4AE0 800C3EE0 018E2025 */ or $a0, $t4, $t6
/* 0C4AE4 800C3EE4 322400FF */ andi $a0, $s1, 0xff
/* 0C4AE8 800C3EE8 24050001 */ li $a1, 1
/* 0C4AEC 800C3EEC 2406007F */ li $a2, 127
/* 0C4AF0 800C3EF0 0C030DB1 */ jal func_800C36C4
/* 0C4AF4 800C3EF4 00003825 */ move $a3, $zero
/* 0C4AF8 800C3EF8 A2000042 */ sb $zero, 0x42($s0)
/* 0C4AFC 800C3EFC 10000003 */ b .L800C3F0C
/* 0C4B00 800C3F00 92630041 */ lbu $v1, 0x41($s3)
glabel L800C3F04
/* 0C4B04 800C3F04 A2650042 */ sb $a1, 0x42($s3)
/* 0C4B08 800C3F08 92630041 */ lbu $v1, 0x41($s3)
.L800C3F0C:
/* 0C4B0C 800C3F0C 26520001 */ addiu $s2, $s2, 1
/* 0C4B10 800C3F10 324D00FF */ andi $t5, $s2, 0xff
/* 0C4B14 800C3F14 01A3082A */ slt $at, $t5, $v1
/* 0C4B18 800C3F18 1420FF9B */ bnez $at, .L800C3D88
/* 0C4B1C 800C3F1C 01A09025 */ move $s2, $t5
.L800C3F20:
/* 0C4B20 800C3F20 A2600041 */ sb $zero, 0x41($s3)
.L800C3F24:
/* 0C4B24 800C3F24 26B50001 */ addiu $s5, $s5, 1
.L800C3F28:
/* 0C4B28 800C3F28 32AF00FF */ andi $t7, $s5, 0xff
/* 0C4B2C 800C3F2C 29E10003 */ slti $at, $t7, 3
/* 0C4B30 800C3F30 1420FE0F */ bnez $at, .L800C3770
/* 0C4B34 800C3F34 01E0A825 */ move $s5, $t7
/* 0C4B38 800C3F38 8FDF0054 */ lw $ra, 0x54($fp)
/* 0C4B3C 800C3F3C 03C0E825 */ move $sp, $fp
/* 0C4B40 800C3F40 D7D40028 */ ldc1 $f20, 0x28($fp)
/* 0C4B44 800C3F44 8FD00030 */ lw $s0, 0x30($fp)
/* 0C4B48 800C3F48 8FD10034 */ lw $s1, 0x34($fp)
/* 0C4B4C 800C3F4C 8FD20038 */ lw $s2, 0x38($fp)
/* 0C4B50 800C3F50 8FD3003C */ lw $s3, 0x3c($fp)
/* 0C4B54 800C3F54 8FD40040 */ lw $s4, 0x40($fp)
/* 0C4B58 800C3F58 8FD50044 */ lw $s5, 0x44($fp)
/* 0C4B5C 800C3F5C 8FD60048 */ lw $s6, 0x48($fp)
/* 0C4B60 800C3F60 8FD7004C */ lw $s7, 0x4c($fp)
/* 0C4B64 800C3F64 8FDE0050 */ lw $fp, 0x50($fp)
/* 0C4B68 800C3F68 03E00008 */ jr $ra
/* 0C4B6C 800C3F6C 27BD0058 */ addiu $sp, $sp, 0x58
glabel func_800C3F70
/* 0C4B70 800C3F70 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C4B74 800C3F74 3C058019 */ lui $a1, %hi(D_801930D0) # $a1, 0x8019
/* 0C4B78 800C3F78 3C048019 */ lui $a0, %hi(D_80192CC6) # $a0, 0x8019
/* 0C4B7C 800C3F7C 44810000 */ mtc1 $at, $f0
/* 0C4B80 800C3F80 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C4B84 800C3F84 24842CC6 */ addiu $a0, %lo(D_80192CC6) # addiu $a0, $a0, 0x2cc6
/* 0C4B88 800C3F88 24A530D0 */ addiu $a1, %lo(D_801930D0) # addiu $a1, $a1, 0x30d0
/* 0C4B8C 800C3F8C 00001025 */ move $v0, $zero
/* 0C4B90 800C3F90 2408007F */ li $t0, 127
/* 0C4B94 800C3F94 3407FFFF */ li $a3, 65535
/* 0C4B98 800C3F98 2406024C */ li $a2, 588
.L800C3F9C:
/* 0C4B9C 800C3F9C 00460019 */ multu $v0, $a2
/* 0C4BA0 800C3FA0 00827021 */ addu $t6, $a0, $v0
/* 0C4BA4 800C3FA4 A1C00000 */ sb $zero, ($t6)
/* 0C4BA8 800C3FA8 24420001 */ addiu $v0, $v0, 1
/* 0C4BAC 800C3FAC 305800FF */ andi $t8, $v0, 0xff
/* 0C4BB0 800C3FB0 2B010003 */ slti $at, $t8, 3
/* 0C4BB4 800C3FB4 03001025 */ move $v0, $t8
/* 0C4BB8 800C3FB8 00007812 */ mflo $t7
/* 0C4BBC 800C3FBC 00AF1821 */ addu $v1, $a1, $t7
/* 0C4BC0 800C3FC0 A4670248 */ sh $a3, 0x248($v1)
/* 0C4BC4 800C3FC4 E4600000 */ swc1 $f0, ($v1)
/* 0C4BC8 800C3FC8 A460000C */ sh $zero, 0xc($v1)
/* 0C4BCC 800C3FCC A4600028 */ sh $zero, 0x28($v1)
/* 0C4BD0 800C3FD0 A4600018 */ sh $zero, 0x18($v1)
/* 0C4BD4 800C3FD4 AC600014 */ sw $zero, 0x14($v1)
/* 0C4BD8 800C3FD8 A460024A */ sh $zero, 0x24a($v1)
/* 0C4BDC 800C3FDC A0600041 */ sb $zero, 0x41($v1)
/* 0C4BE0 800C3FE0 A0600042 */ sb $zero, 0x42($v1)
/* 0C4BE4 800C3FE4 A0600012 */ sb $zero, 0x12($v1)
/* 0C4BE8 800C3FE8 A068000E */ sb $t0, 0xe($v1)
/* 0C4BEC 800C3FEC A068000F */ sb $t0, 0xf($v1)
/* 0C4BF0 800C3FF0 A0680010 */ sb $t0, 0x10($v1)
/* 0C4BF4 800C3FF4 A4600244 */ sh $zero, 0x244($v1)
/* 0C4BF8 800C3FF8 1420FFE8 */ bnez $at, .L800C3F9C
/* 0C4BFC 800C3FFC A4600246 */ sh $zero, 0x246($v1)
/* 0C4C00 800C4000 01A0E825 */ move $sp, $t5
/* 0C4C04 800C4004 03E00008 */ jr $ra
/* 0C4C08 800C4008 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C400C
/* 0C4C0C 800C400C 3C058019 */ lui $a1, %hi(D_801930D0) # $a1, 0x8019
/* 0C4C10 800C4010 3C048019 */ lui $a0, %hi(D_80192CC6) # $a0, 0x8019
/* 0C4C14 800C4014 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C4C18 800C4018 24842CC6 */ addiu $a0, %lo(D_80192CC6) # addiu $a0, $a0, 0x2cc6
/* 0C4C1C 800C401C 24A530D0 */ addiu $a1, %lo(D_801930D0) # addiu $a1, $a1, 0x30d0
/* 0C4C20 800C4020 00001025 */ move $v0, $zero
/* 0C4C24 800C4024 3407FFFF */ li $a3, 65535
/* 0C4C28 800C4028 2406024C */ li $a2, 588
.L800C402C:
/* 0C4C2C 800C402C 00460019 */ multu $v0, $a2
/* 0C4C30 800C4030 00827021 */ addu $t6, $a0, $v0
/* 0C4C34 800C4034 A1C00000 */ sb $zero, ($t6)
/* 0C4C38 800C4038 24420001 */ addiu $v0, $v0, 1
/* 0C4C3C 800C403C 305800FF */ andi $t8, $v0, 0xff
/* 0C4C40 800C4040 2B010003 */ slti $at, $t8, 3
/* 0C4C44 800C4044 03001025 */ move $v0, $t8
/* 0C4C48 800C4048 00007812 */ mflo $t7
/* 0C4C4C 800C404C 00AF1821 */ addu $v1, $a1, $t7
/* 0C4C50 800C4050 A4670248 */ sh $a3, 0x248($v1)
/* 0C4C54 800C4054 A4600028 */ sh $zero, 0x28($v1)
/* 0C4C58 800C4058 A4600018 */ sh $zero, 0x18($v1)
/* 0C4C5C 800C405C AC600014 */ sw $zero, 0x14($v1)
/* 0C4C60 800C4060 A460024A */ sh $zero, 0x24a($v1)
/* 0C4C64 800C4064 A0600041 */ sb $zero, 0x41($v1)
/* 0C4C68 800C4068 A0600042 */ sb $zero, 0x42($v1)
/* 0C4C6C 800C406C A4600244 */ sh $zero, 0x244($v1)
/* 0C4C70 800C4070 1420FFEE */ bnez $at, .L800C402C
/* 0C4C74 800C4074 A4600246 */ sh $zero, 0x246($v1)
/* 0C4C78 800C4078 01A0E825 */ move $sp, $t5
/* 0C4C7C 800C407C 03E00008 */ jr $ra
/* 0C4C80 800C4080 25BD0010 */ addiu $sp, $t5, 0x10
/* 0C4C84 800C4084 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C4C88 800C4088 ADA40010 */ sw $a0, 0x10($t5)
/* 0C4C8C 800C408C 308EFFFF */ andi $t6, $a0, 0xffff
/* 0C4C90 800C4090 3C058019 */ lui $a1, %hi(D_80192C3C) # $a1, 0x8019
/* 0C4C94 800C4094 01C02025 */ move $a0, $t6
/* 0C4C98 800C4098 24A52C3C */ addiu $a1, %lo(D_80192C3C) # addiu $a1, $a1, 0x2c3c
/* 0C4C9C 800C409C 00001025 */ move $v0, $zero
/* 0C4CA0 800C40A0 24060001 */ li $a2, 1
.L800C40A4:
/* 0C4CA4 800C40A4 308F0001 */ andi $t7, $a0, 1
/* 0C4CA8 800C40A8 11E00004 */ beqz $t7, .L800C40BC
/* 0C4CAC 800C40AC 00801825 */ move $v1, $a0
/* 0C4CB0 800C40B0 00A2C021 */ addu $t8, $a1, $v0
/* 0C4CB4 800C40B4 10000003 */ b .L800C40C4
/* 0C4CB8 800C40B8 A3060000 */ sb $a2, ($t8)
.L800C40BC:
/* 0C4CBC 800C40BC 00A2C821 */ addu $t9, $a1, $v0
/* 0C4CC0 800C40C0 A3200000 */ sb $zero, ($t9)
.L800C40C4:
/* 0C4CC4 800C40C4 24420001 */ addiu $v0, $v0, 1
/* 0C4CC8 800C40C8 304900FF */ andi $t1, $v0, 0xff
/* 0C4CCC 800C40CC 00032043 */ sra $a0, $v1, 1
/* 0C4CD0 800C40D0 29210006 */ slti $at, $t1, 6
/* 0C4CD4 800C40D4 3088FFFF */ andi $t0, $a0, 0xffff
/* 0C4CD8 800C40D8 01201025 */ move $v0, $t1
/* 0C4CDC 800C40DC 1420FFF1 */ bnez $at, .L800C40A4
/* 0C4CE0 800C40E0 01002025 */ move $a0, $t0
/* 0C4CE4 800C40E4 01A0E825 */ move $sp, $t5
/* 0C4CE8 800C40E8 03E00008 */ jr $ra
/* 0C4CEC 800C40EC 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C40F0
/* 0C4CF0 800C40F0 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C4CF4 800C40F4 3C02800F */ lui $v0, %hi(D_800EA1C4) # $v0, 0x800f
/* 0C4CF8 800C40F8 2442A1C4 */ addiu $v0, %lo(D_800EA1C4) # addiu $v0, $v0, -0x5e3c
/* 0C4CFC 800C40FC ADA40010 */ sw $a0, 0x10($t5)
/* 0C4D00 800C4100 944F0000 */ lhu $t7, ($v0)
/* 0C4D04 800C4104 308E00FF */ andi $t6, $a0, 0xff
/* 0C4D08 800C4108 24180001 */ li $t8, 1
/* 0C4D0C 800C410C 01D8C804 */ sllv $t9, $t8, $t6
/* 0C4D10 800C4110 3B28FFFF */ xori $t0, $t9, 0xffff
/* 0C4D14 800C4114 01E84824 */ and $t1, $t7, $t0
/* 0C4D18 800C4118 312AFFFF */ andi $t2, $t1, 0xffff
/* 0C4D1C 800C411C 15400007 */ bnez $t2, .L800C413C
/* 0C4D20 800C4120 A4490000 */ sh $t1, ($v0)
/* 0C4D24 800C4124 3C028019 */ lui $v0, %hi(D_801930D0) # $v0, 0x8019
/* 0C4D28 800C4128 244230D0 */ addiu $v0, %lo(D_801930D0) # addiu $v0, $v0, 0x30d0
/* 0C4D2C 800C412C 240B0001 */ li $t3, 1
/* 0C4D30 800C4130 240C007F */ li $t4, 127
/* 0C4D34 800C4134 A04B0012 */ sb $t3, 0x12($v0)
/* 0C4D38 800C4138 A04C0010 */ sb $t4, 0x10($v0)
.L800C413C:
/* 0C4D3C 800C413C 01A0E825 */ move $sp, $t5
/* 0C4D40 800C4140 03E00008 */ jr $ra
/* 0C4D44 800C4144 25BD0010 */ addiu $sp, $t5, 0x10
glabel play_sound
/* 0C4D48 800C4148 00047F02 */ srl $t7, $a0, 0x1c
/* 0C4D4C 800C414C 31F800FF */ andi $t8, $t7, 0xff
/* 0C4D50 800C4150 3C198019 */ lui $t9, %hi(D_80192C3C) # 0x8019
/* 0C4D54 800C4154 0338C821 */ addu $t9, $t9, $t8
/* 0C4D58 800C4158 93392C3C */ lbu $t9, %lo(D_80192C3C)($t9) # 0x2c3c($t9)
/* 0C4D5C 800C415C 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 0C4D60 800C4160 03A06825 */ move $t5, $sp
/* 0C4D64 800C4164 AFA60018 */ sw $a2, 0x18($sp)
/* 0C4D68 800C4168 17200015 */ bnez $t9, .L800C41C0
/* 0C4D6C 800C416C 30CE00FF */ andi $t6, $a2, 0xff
/* 0C4D70 800C4170 3C03800F */ lui $v1, %hi(D_800EA1B8) # $v1, 0x800f
/* 0C4D74 800C4174 2463A1B8 */ addiu $v1, %lo(D_800EA1B8) # addiu $v1, $v1, -0x5e48
/* 0C4D78 800C4178 90680000 */ lbu $t0, ($v1)
/* 0C4D7C 800C417C 3C0A8019 */ lui $t2, %hi(D_8018FC20) # $t2, 0x8019
/* 0C4D80 800C4180 254AFC20 */ addiu $t2, %lo(D_8018FC20) # addiu $t2, $t2, -0x3e0
/* 0C4D84 800C4184 00084880 */ sll $t1, $t0, 2
/* 0C4D88 800C4188 01284823 */ subu $t1, $t1, $t0
/* 0C4D8C 800C418C 000948C0 */ sll $t1, $t1, 3
/* 0C4D90 800C4190 012A1021 */ addu $v0, $t1, $t2
/* 0C4D94 800C4194 AC440000 */ sw $a0, ($v0)
/* 0C4D98 800C4198 AC450004 */ sw $a1, 4($v0)
/* 0C4D9C 800C419C A04E0008 */ sb $t6, 8($v0)
/* 0C4DA0 800C41A0 AC47000C */ sw $a3, 0xc($v0)
/* 0C4DA4 800C41A4 8FAB0020 */ lw $t3, 0x20($sp)
/* 0C4DA8 800C41A8 AC4B0010 */ sw $t3, 0x10($v0)
/* 0C4DAC 800C41AC 8FAC0024 */ lw $t4, 0x24($sp)
/* 0C4DB0 800C41B0 AC4C0014 */ sw $t4, 0x14($v0)
/* 0C4DB4 800C41B4 906E0000 */ lbu $t6, ($v1)
/* 0C4DB8 800C41B8 25CF0001 */ addiu $t7, $t6, 1
/* 0C4DBC 800C41BC A06F0000 */ sb $t7, ($v1)
.L800C41C0:
/* 0C4DC0 800C41C0 01A0E825 */ move $sp, $t5
/* 0C4DC4 800C41C4 03E00008 */ jr $ra
/* 0C4DC8 800C41C8 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C41CC
/* 0C4DCC 800C41CC 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C4DD0 800C41D0 ADA40010 */ sw $a0, 0x10($t5)
/* 0C4DD4 800C41D4 3C07800F */ lui $a3, %hi(D_800EA1B8) # $a3, 0x800f
/* 0C4DD8 800C41D8 24E7A1B8 */ addiu $a3, %lo(D_800EA1B8) # addiu $a3, $a3, -0x5e48
/* 0C4DDC 800C41DC 3C02800F */ lui $v0, %hi(D_800EA1BC) # $v0, 0x800f
/* 0C4DE0 800C41E0 9042A1BC */ lbu $v0, %lo(D_800EA1BC)($v0)
/* 0C4DE4 800C41E4 90EF0000 */ lbu $t7, ($a3)
/* 0C4DE8 800C41E8 308E00FF */ andi $t6, $a0, 0xff
/* 0C4DEC 800C41EC 00A03025 */ move $a2, $a1
/* 0C4DF0 800C41F0 11E20066 */ beq $t7, $v0, .L800C438C
/* 0C4DF4 800C41F4 01C02825 */ move $a1, $t6
/* 0C4DF8 800C41F8 3C01800F */ lui $at, %hi(D_800F3648) # $at, 0x800f
/* 0C4DFC 800C41FC 3C0B800F */ lui $t3, %hi(D_800EA1C8) # $t3, 0x800f
/* 0C4E00 800C4200 3C098019 */ lui $t1, %hi(D_8018FC20) # $t1, 0x8019
/* 0C4E04 800C4204 2529FC20 */ addiu $t1, %lo(D_8018FC20) # addiu $t1, $t1, -0x3e0
/* 0C4E08 800C4208 256BA1C8 */ addiu $t3, %lo(D_800EA1C8) # addiu $t3, $t3, -0x5e38
/* 0C4E0C 800C420C C4203648 */ lwc1 $f0, %lo(D_800F3648)($at)
/* 0C4E10 800C4210 240A0018 */ li $t2, 24
/* 0C4E14 800C4214 3C08F000 */ lui $t0, 0xf000
.L800C4218:
/* 0C4E18 800C4218 2CA10006 */ sltiu $at, $a1, 6
/* 0C4E1C 800C421C 1020004C */ beqz $at, .L800C4350
/* 0C4E20 800C4220 00001825 */ move $v1, $zero
/* 0C4E24 800C4224 0005C080 */ sll $t8, $a1, 2
/* 0C4E28 800C4228 3C01800F */ lui $at, %hi(D_800F364C)
/* 0C4E2C 800C422C 00380821 */ addu $at, $at, $t8
/* 0C4E30 800C4230 8C38364C */ lw $t8, %lo(D_800F364C)($at)
/* 0C4E34 800C4234 03000008 */ jr $t8
/* 0C4E38 800C4238 00000000 */ nop
glabel L800C423C
/* 0C4E3C 800C423C 004A0019 */ multu $v0, $t2
/* 0C4E40 800C4240 8CD90024 */ lw $t9, 0x24($a2)
/* 0C4E44 800C4244 03286024 */ and $t4, $t9, $t0
/* 0C4E48 800C4248 00007012 */ mflo $t6
/* 0C4E4C 800C424C 012E7821 */ addu $t7, $t1, $t6
/* 0C4E50 800C4250 8DF80000 */ lw $t8, ($t7)
/* 0C4E54 800C4254 0308C824 */ and $t9, $t8, $t0
/* 0C4E58 800C4258 1599003D */ bne $t4, $t9, .L800C4350
/* 0C4E5C 800C425C 00000000 */ nop
/* 0C4E60 800C4260 1000003B */ b .L800C4350
/* 0C4E64 800C4264 24030001 */ li $v1, 1
glabel L800C4268
/* 0C4E68 800C4268 004A0019 */ multu $v0, $t2
/* 0C4E6C 800C426C 8CCF0024 */ lw $t7, 0x24($a2)
/* 0C4E70 800C4270 01E8C024 */ and $t8, $t7, $t0
/* 0C4E74 800C4274 00007012 */ mflo $t6
/* 0C4E78 800C4278 012E2021 */ addu $a0, $t1, $t6
/* 0C4E7C 800C427C 8C8C0000 */ lw $t4, ($a0)
/* 0C4E80 800C4280 0188C824 */ and $t9, $t4, $t0
/* 0C4E84 800C4284 17190032 */ bne $t8, $t9, .L800C4350
/* 0C4E88 800C4288 00000000 */ nop
/* 0C4E8C 800C428C 8CCE0000 */ lw $t6, ($a2)
/* 0C4E90 800C4290 8C8F0004 */ lw $t7, 4($a0)
/* 0C4E94 800C4294 15CF002E */ bne $t6, $t7, .L800C4350
/* 0C4E98 800C4298 00000000 */ nop
/* 0C4E9C 800C429C 1000002C */ b .L800C4350
/* 0C4EA0 800C42A0 24030001 */ li $v1, 1
glabel L800C42A4
/* 0C4EA4 800C42A4 004A0019 */ multu $v0, $t2
/* 0C4EA8 800C42A8 8CCC0000 */ lw $t4, ($a2)
/* 0C4EAC 800C42AC 0000C012 */ mflo $t8
/* 0C4EB0 800C42B0 0138C821 */ addu $t9, $t1, $t8
/* 0C4EB4 800C42B4 8F2E0004 */ lw $t6, 4($t9)
/* 0C4EB8 800C42B8 158E0025 */ bne $t4, $t6, .L800C4350
/* 0C4EBC 800C42BC 00000000 */ nop
/* 0C4EC0 800C42C0 10000023 */ b .L800C4350
/* 0C4EC4 800C42C4 24030001 */ li $v1, 1
glabel L800C42C8
/* 0C4EC8 800C42C8 004A0019 */ multu $v0, $t2
/* 0C4ECC 800C42CC 8CD80000 */ lw $t8, ($a2)
/* 0C4ED0 800C42D0 00007812 */ mflo $t7
/* 0C4ED4 800C42D4 012F2021 */ addu $a0, $t1, $t7
/* 0C4ED8 800C42D8 8C990004 */ lw $t9, 4($a0)
/* 0C4EDC 800C42DC 1719001C */ bne $t8, $t9, .L800C4350
/* 0C4EE0 800C42E0 00000000 */ nop
/* 0C4EE4 800C42E4 8CCC0024 */ lw $t4, 0x24($a2)
/* 0C4EE8 800C42E8 8C8E0000 */ lw $t6, ($a0)
/* 0C4EEC 800C42EC 158E0018 */ bne $t4, $t6, .L800C4350
/* 0C4EF0 800C42F0 00000000 */ nop
/* 0C4EF4 800C42F4 10000016 */ b .L800C4350
/* 0C4EF8 800C42F8 24030001 */ li $v1, 1
glabel L800C42FC
/* 0C4EFC 800C42FC 004A0019 */ multu $v0, $t2
/* 0C4F00 800C4300 90D8000C */ lbu $t8, 0xc($a2)
/* 0C4F04 800C4304 00007812 */ mflo $t7
/* 0C4F08 800C4308 012F2021 */ addu $a0, $t1, $t7
/* 0C4F0C 800C430C 90990008 */ lbu $t9, 8($a0)
/* 0C4F10 800C4310 1719000F */ bne $t8, $t9, .L800C4350
/* 0C4F14 800C4314 00000000 */ nop
/* 0C4F18 800C4318 8CCC0024 */ lw $t4, 0x24($a2)
/* 0C4F1C 800C431C 8C8E0000 */ lw $t6, ($a0)
/* 0C4F20 800C4320 158E000B */ bne $t4, $t6, .L800C4350
/* 0C4F24 800C4324 00000000 */ nop
/* 0C4F28 800C4328 10000009 */ b .L800C4350
/* 0C4F2C 800C432C 24030001 */ li $v1, 1
glabel L800C4330
/* 0C4F30 800C4330 004A0019 */ multu $v0, $t2
/* 0C4F34 800C4334 8CCF0024 */ lw $t7, 0x24($a2)
/* 0C4F38 800C4338 0000C012 */ mflo $t8
/* 0C4F3C 800C433C 0138C821 */ addu $t9, $t1, $t8
/* 0C4F40 800C4340 8F2C0000 */ lw $t4, ($t9)
/* 0C4F44 800C4344 15EC0002 */ bne $t7, $t4, .L800C4350
/* 0C4F48 800C4348 00000000 */ nop
/* 0C4F4C 800C434C 24030001 */ li $v1, 1
.L800C4350:
/* 0C4F50 800C4350 5060000A */ beql $v1, $zero, .L800C437C
/* 0C4F54 800C4354 90F90000 */ lbu $t9, ($a3)
/* 0C4F58 800C4358 004A0019 */ multu $v0, $t2
/* 0C4F5C 800C435C 00007012 */ mflo $t6
/* 0C4F60 800C4360 012E2021 */ addu $a0, $t1, $t6
/* 0C4F64 800C4364 8C830004 */ lw $v1, 4($a0)
/* 0C4F68 800C4368 AC800000 */ sw $zero, ($a0)
/* 0C4F6C 800C436C 51630003 */ beql $t3, $v1, .L800C437C
/* 0C4F70 800C4370 90F90000 */ lbu $t9, ($a3)
/* 0C4F74 800C4374 E4600004 */ swc1 $f0, 4($v1)
/* 0C4F78 800C4378 90F90000 */ lbu $t9, ($a3)
.L800C437C:
/* 0C4F7C 800C437C 24420001 */ addiu $v0, $v0, 1
/* 0C4F80 800C4380 305800FF */ andi $t8, $v0, 0xff
/* 0C4F84 800C4384 1738FFA4 */ bne $t9, $t8, .L800C4218
/* 0C4F88 800C4388 03001025 */ move $v0, $t8
.L800C438C:
/* 0C4F8C 800C438C 01A0E825 */ move $sp, $t5
/* 0C4F90 800C4390 03E00008 */ jr $ra
/* 0C4F94 800C4394 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C4398
/* 0C4F98 800C4398 3C0E800F */ lui $t6, %hi(D_800EA1BC) # $t6, 0x800f
/* 0C4F9C 800C439C 91CEA1BC */ lbu $t6, %lo(D_800EA1BC)($t6)
/* 0C4FA0 800C43A0 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 0C4FA4 800C43A4 3C188019 */ lui $t8, %hi(D_8018FC20) # $t8, 0x8019
/* 0C4FA8 800C43A8 000E7880 */ sll $t7, $t6, 2
/* 0C4FAC 800C43AC 01EE7823 */ subu $t7, $t7, $t6
/* 0C4FB0 800C43B0 000F78C0 */ sll $t7, $t7, 3
/* 0C4FB4 800C43B4 2718FC20 */ addiu $t8, %lo(D_8018FC20) # addiu $t8, $t8, -0x3e0
/* 0C4FB8 800C43B8 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C4FBC 800C43BC AFBE0028 */ sw $fp, 0x28($sp)
/* 0C4FC0 800C43C0 AFB00024 */ sw $s0, 0x24($sp)
/* 0C4FC4 800C43C4 01F83021 */ addu $a2, $t7, $t8
/* 0C4FC8 800C43C8 8CC50000 */ lw $a1, ($a2)
/* 0C4FCC 800C43CC 03A0F025 */ move $fp, $sp
/* 0C4FD0 800C43D0 241F00FF */ li $ra, 255
/* 0C4FD4 800C43D4 10A000D3 */ beqz $a1, .L800C4724
/* 0C4FD8 800C43D8 3C01F000 */ lui $at, 0xf000
/* 0C4FDC 800C43DC 00A16824 */ and $t5, $a1, $at
/* 0C4FE0 800C43E0 000DCF02 */ srl $t9, $t5, 0x1c
/* 0C4FE4 800C43E4 332E00FF */ andi $t6, $t9, 0xff
/* 0C4FE8 800C43E8 000E7900 */ sll $t7, $t6, 4
/* 0C4FEC 800C43EC 01EE7823 */ subu $t7, $t7, $t6
/* 0C4FF0 800C43F0 3C188019 */ lui $t8, %hi(D_80191420) # $t8, 0x8019
/* 0C4FF4 800C43F4 27181420 */ addiu $t8, %lo(D_80191420) # addiu $t8, $t8, 0x1420
/* 0C4FF8 800C43F8 000F7980 */ sll $t7, $t7, 6
/* 0C4FFC 800C43FC 01F8C821 */ addu $t9, $t7, $t8
/* 0C5000 800C4400 9323002B */ lbu $v1, 0x2b($t9)
/* 0C5004 800C4404 01C06825 */ move $t5, $t6
/* 0C5008 800C4408 00003825 */ move $a3, $zero
/* 0C500C 800C440C 13E30078 */ beq $ra, $v1, .L800C45F0
/* 0C5010 800C4410 00601025 */ move $v0, $v1
/* 0C5014 800C4414 10600076 */ beqz $v1, .L800C45F0
/* 0C5018 800C4418 000E7100 */ sll $t6, $t6, 4
/* 0C501C 800C441C 01CD7023 */ subu $t6, $t6, $t5
/* 0C5020 800C4420 000E7180 */ sll $t6, $t6, 6
/* 0C5024 800C4424 01D84821 */ addu $t1, $t6, $t8
/* 0C5028 800C4428 240C0030 */ li $t4, 48
/* 0C502C 800C442C 8FAB003C */ lw $t3, 0x3c($sp)
/* 0C5030 800C4430 93AA0043 */ lbu $t2, 0x43($sp)
.L800C4434:
/* 0C5034 800C4434 006C0019 */ multu $v1, $t4
/* 0C5038 800C4438 8CD90004 */ lw $t9, 4($a2)
/* 0C503C 800C443C 3C18800F */ lui $t8, %hi(D_800EA1C0) # $t8, 0x800f
/* 0C5040 800C4440 3C04800F */ lui $a0, %hi(D_800EA1A0)
/* 0C5044 800C4444 00007812 */ mflo $t7
/* 0C5048 800C4448 012F8021 */ addu $s0, $t1, $t7
/* 0C504C 800C444C 8E0E0000 */ lw $t6, ($s0)
/* 0C5050 800C4450 172E005A */ bne $t9, $t6, .L800C45BC
/* 0C5054 800C4454 00000000 */ nop
/* 0C5058 800C4458 9318A1C0 */ lbu $t8, %lo(D_800EA1C0)($t8)
/* 0C505C 800C445C 8CC50000 */ lw $a1, ($a2)
/* 0C5060 800C4460 8E020024 */ lw $v0, 0x24($s0)
/* 0C5064 800C4464 00187880 */ sll $t7, $t8, 2
/* 0C5068 800C4468 01F87823 */ subu $t7, $t7, $t8
/* 0C506C 800C446C 000F7840 */ sll $t7, $t7, 1
/* 0C5070 800C4470 01EDC821 */ addu $t9, $t7, $t5
/* 0C5074 800C4474 00992021 */ addu $a0, $a0, $t9
/* 0C5078 800C4478 9084A1A0 */ lbu $a0, %lo(D_800EA1A0)($a0)
/* 0C507C 800C447C 14A20004 */ bne $a1, $v0, .L800C4490
/* 0C5080 800C4480 00804025 */ move $t0, $a0
/* 0C5084 800C4484 308700FF */ andi $a3, $a0, 0xff
/* 0C5088 800C4488 10000017 */ b .L800C44E8
/* 0C508C 800C448C 00E01025 */ move $v0, $a3
.L800C4490:
/* 0C5090 800C4490 14E00004 */ bnez $a3, .L800C44A4
/* 0C5094 800C4494 304EFF00 */ andi $t6, $v0, 0xff00
/* 0C5098 800C4498 306A00FF */ andi $t2, $v1, 0xff
/* 0C509C 800C449C 10000007 */ b .L800C44BC
/* 0C50A0 800C44A0 00405825 */ move $t3, $v0
.L800C44A4:
/* 0C50A4 800C44A4 3178FF00 */ andi $t8, $t3, 0xff00
/* 0C50A8 800C44A8 01D8082B */ sltu $at, $t6, $t8
/* 0C50AC 800C44AC 50200004 */ beql $at, $zero, .L800C44C0
/* 0C50B0 800C44B0 24E70001 */ addiu $a3, $a3, 1
/* 0C50B4 800C44B4 306A00FF */ andi $t2, $v1, 0xff
/* 0C50B8 800C44B8 00405825 */ move $t3, $v0
.L800C44BC:
/* 0C50BC 800C44BC 24E70001 */ addiu $a3, $a3, 1
.L800C44C0:
/* 0C50C0 800C44C0 30E200FF */ andi $v0, $a3, 0xff
/* 0C50C4 800C44C4 14480008 */ bne $v0, $t0, .L800C44E8
/* 0C50C8 800C44C8 00403825 */ move $a3, $v0
/* 0C50CC 800C44CC 30B9FF00 */ andi $t9, $a1, 0xff00
/* 0C50D0 800C44D0 316EFF00 */ andi $t6, $t3, 0xff00
/* 0C50D4 800C44D4 032E082B */ sltu $at, $t9, $t6
/* 0C50D8 800C44D8 14200003 */ bnez $at, .L800C44E8
/* 0C50DC 800C44DC 00001825 */ move $v1, $zero
/* 0C50E0 800C44E0 10000001 */ b .L800C44E8
/* 0C50E4 800C44E4 314300FF */ andi $v1, $t2, 0xff
.L800C44E8:
/* 0C50E8 800C44E8 14480034 */ bne $v0, $t0, .L800C45BC
/* 0C50EC 800C44EC 0005C100 */ sll $t8, $a1, 4
/* 0C50F0 800C44F0 07000005 */ bltz $t8, .L800C4508
/* 0C50F4 800C44F4 00057B40 */ sll $t7, $a1, 0xd
/* 0C50F8 800C44F8 05E00003 */ bltz $t7, .L800C4508
/* 0C50FC 800C44FC 00000000 */ nop
/* 0C5100 800C4500 5543002E */ bnel $t2, $v1, .L800C45BC
/* 0C5104 800C4504 00001825 */ move $v1, $zero
.L800C4508:
/* 0C5108 800C4508 006C0019 */ multu $v1, $t4
/* 0C510C 800C450C 0000C812 */ mflo $t9
/* 0C5110 800C4510 01398021 */ addu $s0, $t1, $t9
/* 0C5114 800C4514 8E0E0024 */ lw $t6, 0x24($s0)
/* 0C5118 800C4518 000EC300 */ sll $t8, $t6, 0xc
/* 0C511C 800C451C 07030016 */ bgezl $t8, .L800C4578
/* 0C5120 800C4520 90D90008 */ lbu $t9, 8($a2)
/* 0C5124 800C4524 920F0028 */ lbu $t7, 0x28($s0)
/* 0C5128 800C4528 24010001 */ li $at, 1
/* 0C512C 800C452C 51E10012 */ beql $t7, $at, .L800C4578
/* 0C5130 800C4530 90D90008 */ lbu $t9, 8($a2)
/* 0C5134 800C4534 9204002C */ lbu $a0, 0x2c($s0)
/* 0C5138 800C4538 A3CD004F */ sb $t5, 0x4f($fp)
/* 0C513C 800C453C AFCB003C */ sw $t3, 0x3c($fp)
/* 0C5140 800C4540 A3CA0043 */ sb $t2, 0x43($fp)
/* 0C5144 800C4544 AFC90030 */ sw $t1, 0x30($fp)
/* 0C5148 800C4548 A3C7004D */ sb $a3, 0x4d($fp)
/* 0C514C 800C454C 0C03103C */ jal func_800C40F0
/* 0C5150 800C4550 AFC60048 */ sw $a2, 0x48($fp)
/* 0C5154 800C4554 8FC60048 */ lw $a2, 0x48($fp)
/* 0C5158 800C4558 93C7004D */ lbu $a3, 0x4d($fp)
/* 0C515C 800C455C 8FC90030 */ lw $t1, 0x30($fp)
/* 0C5160 800C4560 93CA0043 */ lbu $t2, 0x43($fp)
/* 0C5164 800C4564 8FCB003C */ lw $t3, 0x3c($fp)
/* 0C5168 800C4568 240C0030 */ li $t4, 48
/* 0C516C 800C456C 93CD004F */ lbu $t5, 0x4f($fp)
/* 0C5170 800C4570 241F00FF */ li $ra, 255
/* 0C5174 800C4574 90D90008 */ lbu $t9, 8($a2)
.L800C4578:
/* 0C5178 800C4578 3C010100 */ lui $at, 0x100
/* 0C517C 800C457C A219000C */ sb $t9, 0xc($s0)
/* 0C5180 800C4580 8CCE0000 */ lw $t6, ($a2)
/* 0C5184 800C4584 AE0E0024 */ sw $t6, 0x24($s0)
/* 0C5188 800C4588 8CD80000 */ lw $t8, ($a2)
/* 0C518C 800C458C 240E0002 */ li $t6, 2
/* 0C5190 800C4590 A20E0029 */ sb $t6, 0x29($s0)
/* 0C5194 800C4594 03017824 */ and $t7, $t8, $at
/* 0C5198 800C4598 000FCE02 */ srl $t9, $t7, 0x18
/* 0C519C 800C459C A2190028 */ sb $t9, 0x28($s0)
/* 0C51A0 800C45A0 8CD8000C */ lw $t8, 0xc($a2)
/* 0C51A4 800C45A4 AE180010 */ sw $t8, 0x10($s0)
/* 0C51A8 800C45A8 8CCF0010 */ lw $t7, 0x10($a2)
/* 0C51AC 800C45AC AE0F0014 */ sw $t7, 0x14($s0)
/* 0C51B0 800C45B0 8CD90014 */ lw $t9, 0x14($a2)
/* 0C51B4 800C45B4 AE190018 */ sw $t9, 0x18($s0)
/* 0C51B8 800C45B8 00001825 */ move $v1, $zero
.L800C45BC:
/* 0C51BC 800C45BC 10600006 */ beqz $v1, .L800C45D8
/* 0C51C0 800C45C0 00601025 */ move $v0, $v1
/* 0C51C4 800C45C4 006C0019 */ multu $v1, $t4
/* 0C51C8 800C45C8 00007012 */ mflo $t6
/* 0C51CC 800C45CC 012EC021 */ addu $t8, $t1, $t6
/* 0C51D0 800C45D0 9303002B */ lbu $v1, 0x2b($t8)
/* 0C51D4 800C45D4 00601025 */ move $v0, $v1
.L800C45D8:
/* 0C51D8 800C45D8 13E20005 */ beq $ra, $v0, .L800C45F0
/* 0C51DC 800C45DC 00000000 */ nop
/* 0C51E0 800C45E0 1440FF94 */ bnez $v0, .L800C4434
/* 0C51E4 800C45E4 00000000 */ nop
/* 0C51E8 800C45E8 AFCB003C */ sw $t3, 0x3c($fp)
/* 0C51EC 800C45EC A3CA0043 */ sb $t2, 0x43($fp)
.L800C45F0:
/* 0C51F0 800C45F0 3C0E8019 */ lui $t6, %hi(D_80192AA8) # $t6, 0x8019
/* 0C51F4 800C45F4 25CE2AA8 */ addiu $t6, %lo(D_80192AA8) # addiu $t6, $t6, 0x2aa8
/* 0C51F8 800C45F8 01AE3821 */ addu $a3, $t5, $t6
/* 0C51FC 800C45FC 90E50000 */ lbu $a1, ($a3)
/* 0C5200 800C4600 240C0030 */ li $t4, 48
/* 0C5204 800C4604 000D7900 */ sll $t7, $t5, 4
/* 0C5208 800C4608 00AC0019 */ multu $a1, $t4
/* 0C520C 800C460C 01ED7823 */ subu $t7, $t7, $t5
/* 0C5210 800C4610 3C198019 */ lui $t9, %hi(D_80191420) # $t9, 0x8019
/* 0C5214 800C4614 27391420 */ addiu $t9, %lo(D_80191420) # addiu $t9, $t9, 0x1420
/* 0C5218 800C4618 000F7980 */ sll $t7, $t7, 6
/* 0C521C 800C461C 01F94821 */ addu $t1, $t7, $t9
/* 0C5220 800C4620 0000C012 */ mflo $t8
/* 0C5224 800C4624 01384021 */ addu $t0, $t1, $t8
/* 0C5228 800C4628 9103002B */ lbu $v1, 0x2b($t0)
/* 0C522C 800C462C 13E30034 */ beq $ra, $v1, .L800C4700
/* 0C5230 800C4630 00000000 */ nop
/* 0C5234 800C4634 10400032 */ beqz $v0, .L800C4700
/* 0C5238 800C4638 00000000 */ nop
/* 0C523C 800C463C 30A300FF */ andi $v1, $a1, 0xff
/* 0C5240 800C4640 006C0019 */ multu $v1, $t4
/* 0C5244 800C4644 8CD90004 */ lw $t9, 4($a2)
/* 0C5248 800C4648 3C010100 */ lui $at, 0x100
/* 0C524C 800C464C 00007812 */ mflo $t7
/* 0C5250 800C4650 012F8021 */ addu $s0, $t1, $t7
/* 0C5254 800C4654 AE190000 */ sw $t9, ($s0)
/* 0C5258 800C4658 8CCE0004 */ lw $t6, 4($a2)
/* 0C525C 800C465C 25D80004 */ addiu $t8, $t6, 4
/* 0C5260 800C4660 AE180004 */ sw $t8, 4($s0)
/* 0C5264 800C4664 8CCF0004 */ lw $t7, 4($a2)
/* 0C5268 800C4668 25F90008 */ addiu $t9, $t7, 8
/* 0C526C 800C466C AE190008 */ sw $t9, 8($s0)
/* 0C5270 800C4670 90CE0008 */ lbu $t6, 8($a2)
/* 0C5274 800C4674 A20E000C */ sb $t6, 0xc($s0)
/* 0C5278 800C4678 8CD8000C */ lw $t8, 0xc($a2)
/* 0C527C 800C467C AE180010 */ sw $t8, 0x10($s0)
/* 0C5280 800C4680 8CCF0010 */ lw $t7, 0x10($a2)
/* 0C5284 800C4684 AE0F0014 */ sw $t7, 0x14($s0)
/* 0C5288 800C4688 8CD90014 */ lw $t9, 0x14($a2)
/* 0C528C 800C468C AE190018 */ sw $t9, 0x18($s0)
/* 0C5290 800C4690 8CCE0000 */ lw $t6, ($a2)
/* 0C5294 800C4694 AE0E0024 */ sw $t6, 0x24($s0)
/* 0C5298 800C4698 8CD80000 */ lw $t8, ($a2)
/* 0C529C 800C469C 240E0002 */ li $t6, 2
/* 0C52A0 800C46A0 A20E0029 */ sb $t6, 0x29($s0)
/* 0C52A4 800C46A4 03017824 */ and $t7, $t8, $at
/* 0C52A8 800C46A8 3C188019 */ lui $t8, %hi(D_80192AA0) # $t8, 0x8019
/* 0C52AC 800C46AC 27182AA0 */ addiu $t8, %lo(D_80192AA0) # addiu $t8, $t8, 0x2aa0
/* 0C52B0 800C46B0 01B81021 */ addu $v0, $t5, $t8
/* 0C52B4 800C46B4 90440000 */ lbu $a0, ($v0)
/* 0C52B8 800C46B8 000FCE02 */ srl $t9, $t7, 0x18
/* 0C52BC 800C46BC A2190028 */ sb $t9, 0x28($s0)
/* 0C52C0 800C46C0 008C0019 */ multu $a0, $t4
/* 0C52C4 800C46C4 A204002A */ sb $a0, 0x2a($s0)
/* 0C52C8 800C46C8 00007812 */ mflo $t7
/* 0C52CC 800C46CC 012FC821 */ addu $t9, $t1, $t7
/* 0C52D0 800C46D0 A325002B */ sb $a1, 0x2b($t9)
/* 0C52D4 800C46D4 910E002B */ lbu $t6, 0x2b($t0)
/* 0C52D8 800C46D8 A0450000 */ sb $a1, ($v0)
/* 0C52DC 800C46DC 240200FF */ li $v0, 255
/* 0C52E0 800C46E0 31D800FF */ andi $t8, $t6, 0xff
/* 0C52E4 800C46E4 030C0019 */ multu $t8, $t4
/* 0C52E8 800C46E8 A0EE0000 */ sb $t6, ($a3)
/* 0C52EC 800C46EC 00007812 */ mflo $t7
/* 0C52F0 800C46F0 012FC821 */ addu $t9, $t1, $t7
/* 0C52F4 800C46F4 A322002A */ sb $v0, 0x2a($t9)
/* 0C52F8 800C46F8 1000000A */ b .L800C4724
/* 0C52FC 800C46FC A202002B */ sb $v0, 0x2b($s0)
.L800C4700:
/* 0C5300 800C4700 57E30009 */ bnel $ra, $v1, .L800C4728
/* 0C5304 800C4704 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C5308 800C4708 8CC20004 */ lw $v0, 4($a2)
/* 0C530C 800C470C 3C0E800F */ lui $t6, %hi(D_800EA1C8) # $t6, 0x800f
/* 0C5310 800C4710 25CEA1C8 */ addiu $t6, %lo(D_800EA1C8) # addiu $t6, $t6, -0x5e38
/* 0C5314 800C4714 11C20003 */ beq $t6, $v0, .L800C4724
/* 0C5318 800C4718 3C01800F */ lui $at, %hi(D_800F3664) # $at, 0x800f
/* 0C531C 800C471C C4243664 */ lwc1 $f4, %lo(D_800F3664)($at)
/* 0C5320 800C4720 E4440004 */ swc1 $f4, 4($v0)
.L800C4724:
/* 0C5324 800C4724 8FDF002C */ lw $ra, 0x2c($fp)
.L800C4728:
/* 0C5328 800C4728 03C0E825 */ move $sp, $fp
/* 0C532C 800C472C 8FD00024 */ lw $s0, 0x24($fp)
/* 0C5330 800C4730 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C5334 800C4734 03E00008 */ jr $ra
/* 0C5338 800C4738 27BD0050 */ addiu $sp, $sp, 0x50
glabel func_800C473C
/* 0C533C 800C473C 30AE00FF */ andi $t6, $a1, 0xff
/* 0C5340 800C4740 24080030 */ li $t0, 48
/* 0C5344 800C4744 01C80019 */ multu $t6, $t0
/* 0C5348 800C4748 308700FF */ andi $a3, $a0, 0xff
/* 0C534C 800C474C 00077900 */ sll $t7, $a3, 4
/* 0C5350 800C4750 01E77823 */ subu $t7, $t7, $a3
/* 0C5354 800C4754 3C188019 */ lui $t8, %hi(D_80191420) # $t8, 0x8019
/* 0C5358 800C4758 27181420 */ addiu $t8, %lo(D_80191420) # addiu $t8, $t8, 0x1420
/* 0C535C 800C475C 000F7980 */ sll $t7, $t7, 6
/* 0C5360 800C4760 01F83021 */ addu $a2, $t7, $t8
/* 0C5364 800C4764 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 0C5368 800C4768 3C09800F */ lui $t1, %hi(D_800EA1C8) # $t1, 0x800f
/* 0C536C 800C476C 0000C812 */ mflo $t9
/* 0C5370 800C4770 00D91021 */ addu $v0, $a2, $t9
/* 0C5374 800C4774 8C4A0000 */ lw $t2, ($v0)
/* 0C5378 800C4778 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C537C 800C477C AFA50044 */ sw $a1, 0x44($sp)
/* 0C5380 800C4780 2529A1C8 */ addiu $t1, %lo(D_800EA1C8) # addiu $t1, $t1, -0x5e38
/* 0C5384 800C4784 01C02825 */ move $a1, $t6
/* 0C5388 800C4788 03A0F025 */ move $fp, $sp
/* 0C538C 800C478C AFBF002C */ sw $ra, 0x2c($sp)
/* 0C5390 800C4790 112A0005 */ beq $t1, $t2, .L800C47A8
/* 0C5394 800C4794 AFA40040 */ sw $a0, 0x40($sp)
/* 0C5398 800C4798 3C01800F */ lui $at, %hi(D_800F3668) # $at, 0x800f
/* 0C539C 800C479C C4243668 */ lwc1 $f4, %lo(D_800F3668)($at)
/* 0C53A0 800C47A0 8C4B0004 */ lw $t3, 4($v0)
/* 0C53A4 800C47A4 E5640000 */ swc1 $f4, ($t3)
.L800C47A8:
/* 0C53A8 800C47A8 8C4C0024 */ lw $t4, 0x24($v0)
/* 0C53AC 800C47AC 000C6B00 */ sll $t5, $t4, 0xc
/* 0C53B0 800C47B0 05A1000C */ bgez $t5, .L800C47E4
/* 0C53B4 800C47B4 00000000 */ nop
/* 0C53B8 800C47B8 9044002C */ lbu $a0, 0x2c($v0)
/* 0C53BC 800C47BC A3C70043 */ sb $a3, 0x43($fp)
/* 0C53C0 800C47C0 AFC60034 */ sw $a2, 0x34($fp)
/* 0C53C4 800C47C4 A3C50047 */ sb $a1, 0x47($fp)
/* 0C53C8 800C47C8 0C03103C */ jal func_800C40F0
/* 0C53CC 800C47CC AFC20030 */ sw $v0, 0x30($fp)
/* 0C53D0 800C47D0 8FC20030 */ lw $v0, 0x30($fp)
/* 0C53D4 800C47D4 93C50047 */ lbu $a1, 0x47($fp)
/* 0C53D8 800C47D8 8FC60034 */ lw $a2, 0x34($fp)
/* 0C53DC 800C47DC 93C70043 */ lbu $a3, 0x43($fp)
/* 0C53E0 800C47E0 24080030 */ li $t0, 48
.L800C47E4:
/* 0C53E4 800C47E4 3C0E8019 */ lui $t6, %hi(D_80192AA0) # $t6, 0x8019
/* 0C53E8 800C47E8 25CE2AA0 */ addiu $t6, %lo(D_80192AA0) # addiu $t6, $t6, 0x2aa0
/* 0C53EC 800C47EC 00EE1821 */ addu $v1, $a3, $t6
/* 0C53F0 800C47F0 906F0000 */ lbu $t7, ($v1)
/* 0C53F4 800C47F4 54AF0005 */ bnel $a1, $t7, .L800C480C
/* 0C53F8 800C47F8 9049002B */ lbu $t1, 0x2b($v0)
/* 0C53FC 800C47FC 9058002A */ lbu $t8, 0x2a($v0)
/* 0C5400 800C4800 10000007 */ b .L800C4820
/* 0C5404 800C4804 A0780000 */ sb $t8, ($v1)
/* 0C5408 800C4808 9049002B */ lbu $t1, 0x2b($v0)
.L800C480C:
/* 0C540C 800C480C 9059002A */ lbu $t9, 0x2a($v0)
/* 0C5410 800C4810 01280019 */ multu $t1, $t0
/* 0C5414 800C4814 00005012 */ mflo $t2
/* 0C5418 800C4818 00CA5821 */ addu $t3, $a2, $t2
/* 0C541C 800C481C A179002A */ sb $t9, 0x2a($t3)
.L800C4820:
/* 0C5420 800C4820 904D002A */ lbu $t5, 0x2a($v0)
/* 0C5424 800C4824 904C002B */ lbu $t4, 0x2b($v0)
/* 0C5428 800C4828 3C188019 */ lui $t8, %hi(D_80192AA8) # $t8, 0x8019
/* 0C542C 800C482C 01A80019 */ multu $t5, $t0
/* 0C5430 800C4830 27182AA8 */ addiu $t8, %lo(D_80192AA8) # addiu $t8, $t8, 0x2aa8
/* 0C5434 800C4834 00F81821 */ addu $v1, $a3, $t8
/* 0C5438 800C4838 240A00FF */ li $t2, 255
/* 0C543C 800C483C 00007012 */ mflo $t6
/* 0C5440 800C4840 00CE7821 */ addu $t7, $a2, $t6
/* 0C5444 800C4844 A1EC002B */ sb $t4, 0x2b($t7)
/* 0C5448 800C4848 90790000 */ lbu $t9, ($v1)
/* 0C544C 800C484C 90690000 */ lbu $t1, ($v1)
/* 0C5450 800C4850 A04A002A */ sb $t2, 0x2a($v0)
/* 0C5454 800C4854 03280019 */ multu $t9, $t0
/* 0C5458 800C4858 A049002B */ sb $t1, 0x2b($v0)
/* 0C545C 800C485C 03C0E825 */ move $sp, $fp
/* 0C5460 800C4860 00005812 */ mflo $t3
/* 0C5464 800C4864 00CB6821 */ addu $t5, $a2, $t3
/* 0C5468 800C4868 A1A5002A */ sb $a1, 0x2a($t5)
/* 0C546C 800C486C A0650000 */ sb $a1, ($v1)
/* 0C5470 800C4870 A0400028 */ sb $zero, 0x28($v0)
/* 0C5474 800C4874 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C5478 800C4878 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C547C 800C487C 27BD0040 */ addiu $sp, $sp, 0x40
/* 0C5480 800C4880 03E00008 */ jr $ra
/* 0C5484 800C4884 00000000 */ nop
glabel func_800C4888
/* 0C5488 800C4888 27BDFF30 */ addiu $sp, $sp, -0xd0
/* 0C548C 800C488C AFBE0048 */ sw $fp, 0x48($sp)
/* 0C5490 800C4890 AFB5003C */ sw $s5, 0x3c($sp)
/* 0C5494 800C4894 AFB40038 */ sw $s4, 0x38($sp)
/* 0C5498 800C4898 AFB20030 */ sw $s2, 0x30($sp)
/* 0C549C 800C489C AFB1002C */ sw $s1, 0x2c($sp)
/* 0C54A0 800C48A0 3C027FFF */ lui $v0, (0x7FFFFFFF >> 16) # lui $v0, 0x7fff
/* 0C54A4 800C48A4 309500FF */ andi $s5, $a0, 0xff
/* 0C54A8 800C48A8 03A0F025 */ move $fp, $sp
/* 0C54AC 800C48AC AFBF004C */ sw $ra, 0x4c($sp)
/* 0C54B0 800C48B0 AFB70044 */ sw $s7, 0x44($sp)
/* 0C54B4 800C48B4 AFB60040 */ sw $s6, 0x40($sp)
/* 0C54B8 800C48B8 AFB30034 */ sw $s3, 0x34($sp)
/* 0C54BC 800C48BC AFB00028 */ sw $s0, 0x28($sp)
/* 0C54C0 800C48C0 AFA400D0 */ sw $a0, 0xd0($sp)
/* 0C54C4 800C48C4 00009025 */ move $s2, $zero
/* 0C54C8 800C48C8 3442FFFF */ ori $v0, (0x7FFFFFFF & 0xFFFF) # ori $v0, $v0, 0xffff
/* 0C54CC 800C48CC 27B1007C */ addiu $s1, $sp, 0x7c
/* 0C54D0 800C48D0 241400FF */ li $s4, 255
/* 0C54D4 800C48D4 00005825 */ move $t3, $zero
.L800C48D8:
/* 0C54D8 800C48D8 000B70C0 */ sll $t6, $t3, 3
/* 0C54DC 800C48DC 256B0001 */ addiu $t3, $t3, 1
/* 0C54E0 800C48E0 316F00FF */ andi $t7, $t3, 0xff
/* 0C54E4 800C48E4 29E10008 */ slti $at, $t7, 8
/* 0C54E8 800C48E8 022E3821 */ addu $a3, $s1, $t6
/* 0C54EC 800C48EC 01E05825 */ move $t3, $t7
/* 0C54F0 800C48F0 ACE20000 */ sw $v0, ($a3)
/* 0C54F4 800C48F4 1420FFF8 */ bnez $at, .L800C48D8
/* 0C54F8 800C48F8 A0F40004 */ sb $s4, 4($a3)
/* 0C54FC 800C48FC 0015C100 */ sll $t8, $s5, 4
/* 0C5500 800C4900 3C1F8019 */ lui $ra, %hi(D_80191420) # $ra, 0x8019
/* 0C5504 800C4904 0315C023 */ subu $t8, $t8, $s5
/* 0C5508 800C4908 27FF1420 */ addiu $ra, %lo(D_80191420) # addiu $ra, $ra, 0x1420
/* 0C550C 800C490C 0018C180 */ sll $t8, $t8, 6
/* 0C5510 800C4910 03F8C821 */ addu $t9, $ra, $t8
/* 0C5514 800C4914 9333002B */ lbu $s3, 0x2b($t9)
/* 0C5518 800C4918 241700FF */ li $s7, 255
/* 0C551C 800C491C 00008025 */ move $s0, $zero
/* 0C5520 800C4920 12F300F7 */ beq $s7, $s3, .L800C4D00
/* 0C5524 800C4924 00157100 */ sll $t6, $s5, 4
/* 0C5528 800C4928 01D57023 */ subu $t6, $t6, $s5
/* 0C552C 800C492C 000E7180 */ sll $t6, $t6, 6
/* 0C5530 800C4930 03EE7821 */ addu $t7, $ra, $t6
/* 0C5534 800C4934 AFCF006C */ sw $t7, 0x6c($fp)
/* 0C5538 800C4938 24160030 */ li $s6, 48
/* 0C553C 800C493C 240D0001 */ li $t5, 1
/* 0C5540 800C4940 3C020800 */ lui $v0, 0x800
.L800C4944:
/* 0C5544 800C4944 02760019 */ multu $s3, $s6
/* 0C5548 800C4948 8FD8006C */ lw $t8, 0x6c($fp)
/* 0C554C 800C494C 32A400FF */ andi $a0, $s5, 0xff
/* 0C5550 800C4950 0000C812 */ mflo $t9
/* 0C5554 800C4954 03195021 */ addu $t2, $t8, $t9
/* 0C5558 800C4958 914E0028 */ lbu $t6, 0x28($t2)
/* 0C555C 800C495C 55AE0009 */ bnel $t5, $t6, .L800C4984
/* 0C5560 800C4960 914F0029 */ lbu $t7, 0x29($t2)
/* 0C5564 800C4964 8D4F0024 */ lw $t7, 0x24($t2)
/* 0C5568 800C4968 01E2C024 */ and $t8, $t7, $v0
/* 0C556C 800C496C 54580005 */ bnel $v0, $t8, .L800C4984
/* 0C5570 800C4970 914F0029 */ lbu $t7, 0x29($t2)
/* 0C5574 800C4974 91590029 */ lbu $t9, 0x29($t2)
/* 0C5578 800C4978 272EFFFF */ addiu $t6, $t9, -1
/* 0C557C 800C497C A14E0029 */ sb $t6, 0x29($t2)
/* 0C5580 800C4980 914F0029 */ lbu $t7, 0x29($t2)
.L800C4984:
/* 0C5584 800C4984 55E00009 */ bnel $t7, $zero, .L800C49AC
/* 0C5588 800C4988 91580028 */ lbu $t8, 0x28($t2)
/* 0C558C 800C498C 0C0311CF */ jal func_800C473C
/* 0C5590 800C4990 326500FF */ andi $a1, $s3, 0xff
/* 0C5594 800C4994 3C1F8019 */ lui $ra, %hi(D_80191420) # $ra, 0x8019
/* 0C5598 800C4998 27FF1420 */ addiu $ra, %lo(D_80191420) # addiu $ra, $ra, 0x1420
/* 0C559C 800C499C 240D0001 */ li $t5, 1
/* 0C55A0 800C49A0 100000D0 */ b .L800C4CE4
/* 0C55A4 800C49A4 3C020800 */ lui $v0, 0x800
/* 0C55A8 800C49A8 91580028 */ lbu $t8, 0x28($t2)
.L800C49AC:
/* 0C55AC 800C49AC 130000CD */ beqz $t8, .L800C4CE4
/* 0C55B0 800C49B0 00000000 */ nop
/* 0C55B4 800C49B4 8D420000 */ lw $v0, ($t2)
/* 0C55B8 800C49B8 3C19800F */ lui $t9, %hi(D_800EA1C8) # $t9, 0x800f
/* 0C55BC 800C49BC 2739A1C8 */ addiu $t9, %lo(D_800EA1C8) # addiu $t9, $t9, -0x5e38
/* 0C55C0 800C49C0 57220005 */ bnel $t9, $v0, .L800C49D8
/* 0C55C4 800C49C4 8D4E0008 */ lw $t6, 8($t2)
/* 0C55C8 800C49C8 44802000 */ mtc1 $zero, $f4
/* 0C55CC 800C49CC 10000009 */ b .L800C49F4
/* 0C55D0 800C49D0 E544001C */ swc1 $f4, 0x1c($t2)
/* 0C55D4 800C49D4 8D4E0008 */ lw $t6, 8($t2)
.L800C49D8:
/* 0C55D8 800C49D8 C4420000 */ lwc1 $f2, ($v0)
/* 0C55DC 800C49DC C5C00000 */ lwc1 $f0, ($t6)
/* 0C55E0 800C49E0 46000182 */ mul.s $f6, $f0, $f0
/* 0C55E4 800C49E4 00000000 */ nop
/* 0C55E8 800C49E8 46021202 */ mul.s $f8, $f2, $f2
/* 0C55EC 800C49EC 46083280 */ add.s $f10, $f6, $f8
/* 0C55F0 800C49F0 E54A001C */ swc1 $f10, 0x1c($t2)
.L800C49F4:
/* 0C55F4 800C49F4 8D420024 */ lw $v0, 0x24($t2)
/* 0C55F8 800C49F8 3043FF00 */ andi $v1, $v0, 0xff00
/* 0C55FC 800C49FC 00037A02 */ srl $t7, $v1, 8
/* 0C5600 800C4A00 31F800FF */ andi $t8, $t7, 0xff
/* 0C5604 800C4A04 0002CAC0 */ sll $t9, $v0, 0xb
/* 0C5608 800C4A08 07210010 */ bgez $t9, .L800C4A4C
/* 0C560C 800C4A0C 03001825 */ move $v1, $t8
/* 0C5610 800C4A10 02F81023 */ subu $v0, $s7, $t8
/* 0C5614 800C4A14 00420019 */ multu $v0, $v0
/* 0C5618 800C4A18 C542001C */ lwc1 $f2, 0x1c($t2)
/* 0C561C 800C4A1C 00007012 */ mflo $t6
/* 0C5620 800C4A20 000E7880 */ sll $t7, $t6, 2
/* 0C5624 800C4A24 01EE7823 */ subu $t7, $t7, $t6
/* 0C5628 800C4A28 000F7880 */ sll $t7, $t7, 2
/* 0C562C 800C4A2C 01EE7823 */ subu $t7, $t7, $t6
/* 0C5630 800C4A30 000F7880 */ sll $t7, $t7, 2
/* 0C5634 800C4A34 01EE7821 */ addu $t7, $t7, $t6
/* 0C5638 800C4A38 000F78C0 */ sll $t7, $t7, 3
/* 0C563C 800C4A3C 01EE7821 */ addu $t7, $t7, $t6
/* 0C5640 800C4A40 000F7880 */ sll $t7, $t7, 2
/* 0C5644 800C4A44 10000041 */ b .L800C4B4C
/* 0C5648 800C4A48 AD4F0020 */ sw $t7, 0x20($t2)
.L800C4A4C:
/* 0C564C 800C4A4C 4458F800 */ cfc1 $t8, $31
/* 0C5650 800C4A50 24190001 */ li $t9, 1
/* 0C5654 800C4A54 44D9F800 */ ctc1 $t9, $31
/* 0C5658 800C4A58 C542001C */ lwc1 $f2, 0x1c($t2)
/* 0C565C 800C4A5C 02E31023 */ subu $v0, $s7, $v1
/* 0C5660 800C4A60 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
/* 0C5664 800C4A64 46001424 */ cvt.w.s $f16, $f2
/* 0C5668 800C4A68 4459F800 */ cfc1 $t9, $31
/* 0C566C 800C4A6C 00000000 */ nop
/* 0C5670 800C4A70 33390078 */ andi $t9, $t9, 0x78
/* 0C5674 800C4A74 53200013 */ beql $t9, $zero, .L800C4AC4
/* 0C5678 800C4A78 44198000 */ mfc1 $t9, $f16
/* 0C567C 800C4A7C 44818000 */ mtc1 $at, $f16
/* 0C5680 800C4A80 24190001 */ li $t9, 1
/* 0C5684 800C4A84 46101401 */ sub.s $f16, $f2, $f16
/* 0C5688 800C4A88 44D9F800 */ ctc1 $t9, $31
/* 0C568C 800C4A8C 00000000 */ nop
/* 0C5690 800C4A90 46008424 */ cvt.w.s $f16, $f16
/* 0C5694 800C4A94 4459F800 */ cfc1 $t9, $31
/* 0C5698 800C4A98 00000000 */ nop
/* 0C569C 800C4A9C 33390078 */ andi $t9, $t9, 0x78
/* 0C56A0 800C4AA0 17200005 */ bnez $t9, .L800C4AB8
/* 0C56A4 800C4AA4 00000000 */ nop
/* 0C56A8 800C4AA8 44198000 */ mfc1 $t9, $f16
/* 0C56AC 800C4AAC 3C018000 */ lui $at, 0x8000
/* 0C56B0 800C4AB0 10000007 */ b .L800C4AD0
/* 0C56B4 800C4AB4 0321C825 */ or $t9, $t9, $at
.L800C4AB8:
/* 0C56B8 800C4AB8 10000005 */ b .L800C4AD0
/* 0C56BC 800C4ABC 2419FFFF */ li $t9, -1
/* 0C56C0 800C4AC0 44198000 */ mfc1 $t9, $f16
.L800C4AC4:
/* 0C56C4 800C4AC4 00000000 */ nop
/* 0C56C8 800C4AC8 0720FFFB */ bltz $t9, .L800C4AB8
/* 0C56CC 800C4ACC 00000000 */ nop
.L800C4AD0:
/* 0C56D0 800C4AD0 00420019 */ multu $v0, $v0
/* 0C56D4 800C4AD4 44D8F800 */ ctc1 $t8, $31
/* 0C56D8 800C4AD8 44809000 */ mtc1 $zero, $f18
/* 0C56DC 800C4ADC 3C0140C0 */ li $at, 0x40C00000 # 6.000000
/* 0C56E0 800C4AE0 00007012 */ mflo $t6
/* 0C56E4 800C4AE4 000E7880 */ sll $t7, $t6, 2
/* 0C56E8 800C4AE8 01EE7823 */ subu $t7, $t7, $t6
/* 0C56EC 800C4AEC 000F7880 */ sll $t7, $t7, 2
/* 0C56F0 800C4AF0 01EE7823 */ subu $t7, $t7, $t6
/* 0C56F4 800C4AF4 000F7880 */ sll $t7, $t7, 2
/* 0C56F8 800C4AF8 01EE7821 */ addu $t7, $t7, $t6
/* 0C56FC 800C4AFC 000F78C0 */ sll $t7, $t7, 3
/* 0C5700 800C4B00 01EE7821 */ addu $t7, $t7, $t6
/* 0C5704 800C4B04 8D4E0008 */ lw $t6, 8($t2)
/* 0C5708 800C4B08 000F7880 */ sll $t7, $t7, 2
/* 0C570C 800C4B0C 032FC021 */ addu $t8, $t9, $t7
/* 0C5710 800C4B10 AD580020 */ sw $t8, 0x20($t2)
/* 0C5714 800C4B14 C5C00000 */ lwc1 $f0, ($t6)
/* 0C5718 800C4B18 4600903C */ c.lt.s $f18, $f0
/* 0C571C 800C4B1C 00000000 */ nop
/* 0C5720 800C4B20 4502000B */ bc1fl .L800C4B50
/* 0C5724 800C4B24 8D430024 */ lw $v1, 0x24($t2)
/* 0C5728 800C4B28 44812000 */ mtc1 $at, $f4
/* 0C572C 800C4B2C 0300C825 */ move $t9, $t8
/* 0C5730 800C4B30 C542001C */ lwc1 $f2, 0x1c($t2)
/* 0C5734 800C4B34 46040182 */ mul.s $f6, $f0, $f4
/* 0C5738 800C4B38 4600320D */ trunc.w.s $f8, $f6
/* 0C573C 800C4B3C 44184000 */ mfc1 $t8, $f8
/* 0C5740 800C4B40 00000000 */ nop
/* 0C5744 800C4B44 03387021 */ addu $t6, $t9, $t8
/* 0C5748 800C4B48 AD4E0020 */ sw $t6, 0x20($t2)
.L800C4B4C:
/* 0C574C 800C4B4C 8D430024 */ lw $v1, 0x24($t2)
.L800C4B50:
/* 0C5750 800C4B50 3C010003 */ lui $at, 3
/* 0C5754 800C4B54 00617824 */ and $t7, $v1, $at
/* 0C5758 800C4B58 000FCC02 */ srl $t9, $t7, 0x10
/* 0C575C 800C4B5C 333800FF */ andi $t8, $t9, 0xff
/* 0C5760 800C4B60 1300000A */ beqz $t8, .L800C4B8C
/* 0C5764 800C4B64 3C01800F */ lui $at, %hi(D_800F3670)
/* 0C5768 800C4B68 03180019 */ multu $t8, $t8
/* 0C576C 800C4B6C 3C01800F */ lui $at, %hi(D_800F366C) # $at, 0x800f
/* 0C5770 800C4B70 C42A366C */ lwc1 $f10, %lo(D_800F366C)($at)
/* 0C5774 800C4B74 00007012 */ mflo $t6
/* 0C5778 800C4B78 448E8000 */ mtc1 $t6, $f16
/* 0C577C 800C4B7C 00000000 */ nop
/* 0C5780 800C4B80 468084A0 */ cvt.s.w $f18, $f16
/* 0C5784 800C4B84 10000002 */ b .L800C4B90
/* 0C5788 800C4B88 46125003 */ div.s $f0, $f10, $f18
.L800C4B8C:
/* 0C578C 800C4B8C C4203670 */ lwc1 $f0, %lo(D_800F3670)($at)
.L800C4B90:
/* 0C5790 800C4B90 4602003C */ c.lt.s $f0, $f2
/* 0C5794 800C4B94 3C18800F */ lui $t8, %hi(D_800EA1C0) # $t8, 0x800f
/* 0C5798 800C4B98 4500001C */ bc1f .L800C4C0C
/* 0C579C 800C4B9C 00000000 */ nop
/* 0C57A0 800C4BA0 914F0028 */ lbu $t7, 0x28($t2)
/* 0C57A4 800C4BA4 24010004 */ li $at, 4
/* 0C57A8 800C4BA8 00002825 */ move $a1, $zero
/* 0C57AC 800C4BAC 55E1004C */ bnel $t7, $at, .L800C4CE0
/* 0C57B0 800C4BB0 327000FF */ andi $s0, $s3, 0xff
/* 0C57B4 800C4BB4 9159002C */ lbu $t9, 0x2c($t2)
/* 0C57B8 800C4BB8 3C010602 */ lui $at, 0x602
/* 0C57BC 800C4BBC AFCA0068 */ sw $t2, 0x68($fp)
/* 0C57C0 800C4BC0 0019C200 */ sll $t8, $t9, 8
/* 0C57C4 800C4BC4 0C032EFA */ jal func_800CBBE8
/* 0C57C8 800C4BC8 03012025 */ or $a0, $t8, $at
/* 0C57CC 800C4BCC 8FCA0068 */ lw $t2, 0x68($fp)
/* 0C57D0 800C4BD0 3C1F8019 */ lui $ra, %hi(D_80191420) # $ra, 0x8019
/* 0C57D4 800C4BD4 27FF1420 */ addiu $ra, %lo(D_80191420) # addiu $ra, $ra, 0x1420
/* 0C57D8 800C4BD8 8D4F0024 */ lw $t7, 0x24($t2)
/* 0C57DC 800C4BDC 240D0001 */ li $t5, 1
/* 0C57E0 800C4BE0 32A400FF */ andi $a0, $s5, 0xff
/* 0C57E4 800C4BE4 000FC900 */ sll $t9, $t7, 4
/* 0C57E8 800C4BE8 0723003D */ bgezl $t9, .L800C4CE0
/* 0C57EC 800C4BEC 327000FF */ andi $s0, $s3, 0xff
/* 0C57F0 800C4BF0 0C0311CF */ jal func_800C473C
/* 0C57F4 800C4BF4 326500FF */ andi $a1, $s3, 0xff
/* 0C57F8 800C4BF8 3C1F8019 */ lui $ra, %hi(D_80191420) # $ra, 0x8019
/* 0C57FC 800C4BFC 27FF1420 */ addiu $ra, %lo(D_80191420) # addiu $ra, $ra, 0x1420
/* 0C5800 800C4C00 240D0001 */ li $t5, 1
/* 0C5804 800C4C04 10000035 */ b .L800C4CDC
/* 0C5808 800C4C08 321300FF */ andi $s3, $s0, 0xff
.L800C4C0C:
/* 0C580C 800C4C0C 9318A1C0 */ lbu $t8, %lo(D_800EA1C0)($t8)
/* 0C5810 800C4C10 3C0C800F */ lui $t4, %hi(D_800EA188)
/* 0C5814 800C4C14 00005825 */ move $t3, $zero
/* 0C5818 800C4C18 00187080 */ sll $t6, $t8, 2
/* 0C581C 800C4C1C 01D87023 */ subu $t6, $t6, $t8
/* 0C5820 800C4C20 000E7040 */ sll $t6, $t6, 1
/* 0C5824 800C4C24 01D57821 */ addu $t7, $t6, $s5
/* 0C5828 800C4C28 018F6021 */ addu $t4, $t4, $t7
/* 0C582C 800C4C2C 918CA188 */ lbu $t4, %lo(D_800EA188)($t4)
/* 0C5830 800C4C30 01804825 */ move $t1, $t4
/* 0C5834 800C4C34 19200029 */ blez $t1, .L800C4CDC
/* 0C5838 800C4C38 01204025 */ move $t0, $t1
.L800C4C3C:
/* 0C583C 800C4C3C 000BC8C0 */ sll $t9, $t3, 3
/* 0C5840 800C4C40 02393821 */ addu $a3, $s1, $t9
/* 0C5844 800C4C44 8CF80000 */ lw $t8, ($a3)
/* 0C5848 800C4C48 8D430020 */ lw $v1, 0x20($t2)
/* 0C584C 800C4C4C 2502FFFF */ addiu $v0, $t0, -1
/* 0C5850 800C4C50 304500FF */ andi $a1, $v0, 0xff
/* 0C5854 800C4C54 0303082B */ sltu $at, $t8, $v1
/* 0C5858 800C4C58 1420001B */ bnez $at, .L800C4CC8
/* 0C585C 800C4C5C 01603025 */ move $a2, $t3
/* 0C5860 800C4C60 024C082A */ slt $at, $s2, $t4
/* 0C5864 800C4C64 10200004 */ beqz $at, .L800C4C78
/* 0C5868 800C4C68 304400FF */ andi $a0, $v0, 0xff
/* 0C586C 800C4C6C 26520001 */ addiu $s2, $s2, 1
/* 0C5870 800C4C70 324E00FF */ andi $t6, $s2, 0xff
/* 0C5874 800C4C74 01C09025 */ move $s2, $t6
.L800C4C78:
/* 0C5878 800C4C78 00C4082A */ slt $at, $a2, $a0
/* 0C587C 800C4C7C 10200010 */ beqz $at, .L800C4CC0
/* 0C5880 800C4C80 312B00FF */ andi $t3, $t1, 0xff
/* 0C5884 800C4C84 00A01825 */ move $v1, $a1
.L800C4C88:
/* 0C5888 800C4C88 0003C8C0 */ sll $t9, $v1, 3
/* 0C588C 800C4C8C 02391021 */ addu $v0, $s1, $t9
/* 0C5890 800C4C90 8C58FFF8 */ lw $t8, -8($v0)
/* 0C5894 800C4C94 000578C0 */ sll $t7, $a1, 3
/* 0C5898 800C4C98 022F2021 */ addu $a0, $s1, $t7
/* 0C589C 800C4C9C 24A5FFFF */ addiu $a1, $a1, -1
/* 0C58A0 800C4CA0 AC980000 */ sw $t8, ($a0)
/* 0C58A4 800C4CA4 904EFFFC */ lbu $t6, -4($v0)
/* 0C58A8 800C4CA8 30A300FF */ andi $v1, $a1, 0xff
/* 0C58AC 800C4CAC 00C3082A */ slt $at, $a2, $v1
/* 0C58B0 800C4CB0 00602825 */ move $a1, $v1
/* 0C58B4 800C4CB4 1420FFF4 */ bnez $at, .L800C4C88
/* 0C58B8 800C4CB8 A08E0004 */ sb $t6, 4($a0)
/* 0C58BC 800C4CBC 8D430020 */ lw $v1, 0x20($t2)
.L800C4CC0:
/* 0C58C0 800C4CC0 ACE30000 */ sw $v1, ($a3)
/* 0C58C4 800C4CC4 A0F30004 */ sb $s3, 4($a3)
.L800C4CC8:
/* 0C58C8 800C4CC8 256B0001 */ addiu $t3, $t3, 1
/* 0C58CC 800C4CCC 317900FF */ andi $t9, $t3, 0xff
/* 0C58D0 800C4CD0 0328082A */ slt $at, $t9, $t0
/* 0C58D4 800C4CD4 1420FFD9 */ bnez $at, .L800C4C3C
/* 0C58D8 800C4CD8 03205825 */ move $t3, $t9
.L800C4CDC:
/* 0C58DC 800C4CDC 327000FF */ andi $s0, $s3, 0xff
.L800C4CE0:
/* 0C58E0 800C4CE0 3C020800 */ lui $v0, 0x800
.L800C4CE4:
/* 0C58E4 800C4CE4 02160019 */ multu $s0, $s6
/* 0C58E8 800C4CE8 8FD8006C */ lw $t8, 0x6c($fp)
/* 0C58EC 800C4CEC 00007012 */ mflo $t6
/* 0C58F0 800C4CF0 030E7821 */ addu $t7, $t8, $t6
/* 0C58F4 800C4CF4 91F3002B */ lbu $s3, 0x2b($t7)
/* 0C58F8 800C4CF8 16F3FF12 */ bne $s7, $s3, .L800C4944
/* 0C58FC 800C4CFC 00000000 */ nop
.L800C4D00:
/* 0C5900 800C4D00 3C19800F */ lui $t9, %hi(D_800EA1C0) # $t9, 0x800f
/* 0C5904 800C4D04 9339A1C0 */ lbu $t9, %lo(D_800EA1C0)($t9)
/* 0C5908 800C4D08 3C09800F */ lui $t1, %hi(D_800EA188)
/* 0C590C 800C4D0C 240D0001 */ li $t5, 1
/* 0C5910 800C4D10 0019C080 */ sll $t8, $t9, 2
/* 0C5914 800C4D14 0319C023 */ subu $t8, $t8, $t9
/* 0C5918 800C4D18 0018C040 */ sll $t8, $t8, 1
/* 0C591C 800C4D1C 03157021 */ addu $t6, $t8, $s5
/* 0C5920 800C4D20 012E4821 */ addu $t1, $t1, $t6
/* 0C5924 800C4D24 24160030 */ li $s6, 48
/* 0C5928 800C4D28 9129A188 */ lbu $t1, %lo(D_800EA188)($t1)
/* 0C592C 800C4D2C 00005825 */ move $t3, $zero
/* 0C5930 800C4D30 1A40001E */ blez $s2, .L800C4DAC
/* 0C5934 800C4D34 02403025 */ move $a2, $s2
/* 0C5938 800C4D38 00157900 */ sll $t7, $s5, 4
/* 0C593C 800C4D3C 01F57823 */ subu $t7, $t7, $s5
/* 0C5940 800C4D40 000F7980 */ sll $t7, $t7, 6
/* 0C5944 800C4D44 03EFC821 */ addu $t9, $ra, $t7
/* 0C5948 800C4D48 AFD9006C */ sw $t9, 0x6c($fp)
/* 0C594C 800C4D4C 24050003 */ li $a1, 3
/* 0C5950 800C4D50 24040002 */ li $a0, 2
.L800C4D54:
/* 0C5954 800C4D54 000B70C0 */ sll $t6, $t3, 3
/* 0C5958 800C4D58 022E7821 */ addu $t7, $s1, $t6
/* 0C595C 800C4D5C 91F90004 */ lbu $t9, 4($t7)
/* 0C5960 800C4D60 8FD8006C */ lw $t8, 0x6c($fp)
/* 0C5964 800C4D64 256B0001 */ addiu $t3, $t3, 1
/* 0C5968 800C4D68 03360019 */ multu $t9, $s6
/* 0C596C 800C4D6C 316F00FF */ andi $t7, $t3, 0xff
/* 0C5970 800C4D70 24010004 */ li $at, 4
/* 0C5974 800C4D74 00007012 */ mflo $t6
/* 0C5978 800C4D78 030E1021 */ addu $v0, $t8, $t6
/* 0C597C 800C4D7C 90430028 */ lbu $v1, 0x28($v0)
/* 0C5980 800C4D80 15A30003 */ bne $t5, $v1, .L800C4D90
/* 0C5984 800C4D84 00000000 */ nop
/* 0C5988 800C4D88 10000004 */ b .L800C4D9C
/* 0C598C 800C4D8C A0440028 */ sb $a0, 0x28($v0)
.L800C4D90:
/* 0C5990 800C4D90 54610003 */ bnel $v1, $at, .L800C4DA0
/* 0C5994 800C4D94 01E6082A */ slt $at, $t7, $a2
/* 0C5998 800C4D98 A0450028 */ sb $a1, 0x28($v0)
.L800C4D9C:
/* 0C599C 800C4D9C 01E6082A */ slt $at, $t7, $a2
.L800C4DA0:
/* 0C59A0 800C4DA0 1420FFEC */ bnez $at, .L800C4D54
/* 0C59A4 800C4DA4 01E05825 */ move $t3, $t7
/* 0C59A8 800C4DA8 00005825 */ move $t3, $zero
.L800C4DAC:
/* 0C59AC 800C4DAC 19200080 */ blez $t1, .L800C4FB0
/* 0C59B0 800C4DB0 01204025 */ move $t0, $t1
/* 0C59B4 800C4DB4 3C188019 */ lui $t8, %hi(D_80192AB8) # $t8, 0x8019
/* 0C59B8 800C4DB8 27182AB8 */ addiu $t8, %lo(D_80192AB8) # addiu $t8, $t8, 0x2ab8
/* 0C59BC 800C4DBC 0015C980 */ sll $t9, $s5, 6
/* 0C59C0 800C4DC0 03383021 */ addu $a2, $t9, $t8
/* 0C59C4 800C4DC4 240C0003 */ li $t4, 3
.L800C4DC8:
/* 0C59C8 800C4DC8 000B70C0 */ sll $t6, $t3, 3
/* 0C59CC 800C4DCC 00CE9821 */ addu $s3, $a2, $t6
/* 0C59D0 800C4DD0 92650004 */ lbu $a1, 4($s3)
/* 0C59D4 800C4DD4 00001825 */ move $v1, $zero
/* 0C59D8 800C4DD8 16E50003 */ bne $s7, $a1, .L800C4DE8
/* 0C59DC 800C4DDC 00A01025 */ move $v0, $a1
/* 0C59E0 800C4DE0 1000003A */ b .L800C4ECC
/* 0C59E4 800C4DE4 24030001 */ li $v1, 1
.L800C4DE8:
/* 0C59E8 800C4DE8 00B60019 */ multu $a1, $s6
/* 0C59EC 800C4DEC 00157900 */ sll $t7, $s5, 4
/* 0C59F0 800C4DF0 01F57823 */ subu $t7, $t7, $s5
/* 0C59F4 800C4DF4 000F7980 */ sll $t7, $t7, 6
/* 0C59F8 800C4DF8 03EFC821 */ addu $t9, $ra, $t7
/* 0C59FC 800C4DFC 24010004 */ li $at, 4
/* 0C5A00 800C4E00 0000C012 */ mflo $t8
/* 0C5A04 800C4E04 03382021 */ addu $a0, $t9, $t8
/* 0C5A08 800C4E08 90870028 */ lbu $a3, 0x28($a0)
/* 0C5A0C 800C4E0C 14E10019 */ bne $a3, $at, .L800C4E74
/* 0C5A10 800C4E10 00000000 */ nop
/* 0C5A14 800C4E14 8C8E0024 */ lw $t6, 0x24($a0)
/* 0C5A18 800C4E18 24190001 */ li $t9, 1
/* 0C5A1C 800C4E1C 000E7900 */ sll $t7, $t6, 4
/* 0C5A20 800C4E20 05E30012 */ bgezl $t7, .L800C4E6C
/* 0C5A24 800C4E24 A0990028 */ sb $t9, 0x28($a0)
/* 0C5A28 800C4E28 32A400FF */ andi $a0, $s5, 0xff
/* 0C5A2C 800C4E2C AFC60070 */ sw $a2, 0x70($fp)
/* 0C5A30 800C4E30 AFC80060 */ sw $t0, 0x60($fp)
/* 0C5A34 800C4E34 A3C900CE */ sb $t1, 0xce($fp)
/* 0C5A38 800C4E38 0C0311CF */ jal func_800C473C
/* 0C5A3C 800C4E3C A3CB00CC */ sb $t3, 0xcc($fp)
/* 0C5A40 800C4E40 3C1F8019 */ lui $ra, %hi(D_80191420) # $ra, 0x8019
/* 0C5A44 800C4E44 27FF1420 */ addiu $ra, %lo(D_80191420) # addiu $ra, $ra, 0x1420
/* 0C5A48 800C4E48 8FC60070 */ lw $a2, 0x70($fp)
/* 0C5A4C 800C4E4C 8FC80060 */ lw $t0, 0x60($fp)
/* 0C5A50 800C4E50 93C900CE */ lbu $t1, 0xce($fp)
/* 0C5A54 800C4E54 93CB00CC */ lbu $t3, 0xcc($fp)
/* 0C5A58 800C4E58 240C0003 */ li $t4, 3
/* 0C5A5C 800C4E5C 240D0001 */ li $t5, 1
/* 0C5A60 800C4E60 1000001A */ b .L800C4ECC
/* 0C5A64 800C4E64 24030001 */ li $v1, 1
/* 0C5A68 800C4E68 A0990028 */ sb $t9, 0x28($a0)
.L800C4E6C:
/* 0C5A6C 800C4E6C 10000017 */ b .L800C4ECC
/* 0C5A70 800C4E70 24030001 */ li $v1, 1
.L800C4E74:
/* 0C5A74 800C4E74 14E00004 */ bnez $a3, .L800C4E88
/* 0C5A78 800C4E78 00000000 */ nop
/* 0C5A7C 800C4E7C A2740004 */ sb $s4, 4($s3)
/* 0C5A80 800C4E80 10000012 */ b .L800C4ECC
/* 0C5A84 800C4E84 24030001 */ li $v1, 1
.L800C4E88:
/* 0C5A88 800C4E88 1900000D */ blez $t0, .L800C4EC0
/* 0C5A8C 800C4E8C 00002825 */ move $a1, $zero
.L800C4E90:
/* 0C5A90 800C4E90 0005C0C0 */ sll $t8, $a1, 3
/* 0C5A94 800C4E94 02382021 */ addu $a0, $s1, $t8
/* 0C5A98 800C4E98 908E0004 */ lbu $t6, 4($a0)
/* 0C5A9C 800C4E9C 544E0004 */ bnel $v0, $t6, .L800C4EB0
/* 0C5AA0 800C4EA0 24A50001 */ addiu $a1, $a1, 1
/* 0C5AA4 800C4EA4 A0940004 */ sb $s4, 4($a0)
/* 0C5AA8 800C4EA8 312500FF */ andi $a1, $t1, 0xff
/* 0C5AAC 800C4EAC 24A50001 */ addiu $a1, $a1, 1
.L800C4EB0:
/* 0C5AB0 800C4EB0 30AF00FF */ andi $t7, $a1, 0xff
/* 0C5AB4 800C4EB4 01E8082A */ slt $at, $t7, $t0
/* 0C5AB8 800C4EB8 1420FFF5 */ bnez $at, .L800C4E90
/* 0C5ABC 800C4EBC 01E02825 */ move $a1, $t7
.L800C4EC0:
/* 0C5AC0 800C4EC0 2652FFFF */ addiu $s2, $s2, -1
/* 0C5AC4 800C4EC4 325900FF */ andi $t9, $s2, 0xff
/* 0C5AC8 800C4EC8 03209025 */ move $s2, $t9
.L800C4ECC:
/* 0C5ACC 800C4ECC 15A30033 */ bne $t5, $v1, .L800C4F9C
/* 0C5AD0 800C4ED0 00605025 */ move $t2, $v1
/* 0C5AD4 800C4ED4 1900002E */ blez $t0, .L800C4F90
/* 0C5AD8 800C4ED8 00002825 */ move $a1, $zero
.L800C4EDC:
/* 0C5ADC 800C4EDC 0005C0C0 */ sll $t8, $a1, 3
/* 0C5AE0 800C4EE0 02382021 */ addu $a0, $s1, $t8
/* 0C5AE4 800C4EE4 90870004 */ lbu $a3, 4($a0)
/* 0C5AE8 800C4EE8 12E70024 */ beq $s7, $a3, .L800C4F7C
/* 0C5AEC 800C4EEC 00E01025 */ move $v0, $a3
/* 0C5AF0 800C4EF0 00F60019 */ multu $a3, $s6
/* 0C5AF4 800C4EF4 00157100 */ sll $t6, $s5, 4
/* 0C5AF8 800C4EF8 01D57023 */ subu $t6, $t6, $s5
/* 0C5AFC 800C4EFC 000E7180 */ sll $t6, $t6, 6
/* 0C5B00 800C4F00 03EE7821 */ addu $t7, $ra, $t6
/* 0C5B04 800C4F04 0000C812 */ mflo $t9
/* 0C5B08 800C4F08 01F9C021 */ addu $t8, $t7, $t9
/* 0C5B0C 800C4F0C 930E0028 */ lbu $t6, 0x28($t8)
/* 0C5B10 800C4F10 518E001B */ beql $t4, $t6, .L800C4F80
/* 0C5B14 800C4F14 24A50001 */ addiu $a1, $a1, 1
/* 0C5B18 800C4F18 1900000E */ blez $t0, .L800C4F54
/* 0C5B1C 800C4F1C 00008025 */ move $s0, $zero
.L800C4F20:
/* 0C5B20 800C4F20 001078C0 */ sll $t7, $s0, 3
/* 0C5B24 800C4F24 00CFC821 */ addu $t9, $a2, $t7
/* 0C5B28 800C4F28 93380004 */ lbu $t8, 4($t9)
/* 0C5B2C 800C4F2C 54580004 */ bnel $v0, $t8, .L800C4F40
/* 0C5B30 800C4F30 26100001 */ addiu $s0, $s0, 1
/* 0C5B34 800C4F34 00001825 */ move $v1, $zero
/* 0C5B38 800C4F38 313000FF */ andi $s0, $t1, 0xff
/* 0C5B3C 800C4F3C 26100001 */ addiu $s0, $s0, 1
.L800C4F40:
/* 0C5B40 800C4F40 320E00FF */ andi $t6, $s0, 0xff
/* 0C5B44 800C4F44 01C8082A */ slt $at, $t6, $t0
/* 0C5B48 800C4F48 1420FFF5 */ bnez $at, .L800C4F20
/* 0C5B4C 800C4F4C 01C08025 */ move $s0, $t6
/* 0C5B50 800C4F50 00605025 */ move $t2, $v1
.L800C4F54:
/* 0C5B54 800C4F54 55AA000A */ bnel $t5, $t2, .L800C4F80
/* 0C5B58 800C4F58 24A50001 */ addiu $a1, $a1, 1
/* 0C5B5C 800C4F5C 25050001 */ addiu $a1, $t0, 1
/* 0C5B60 800C4F60 2652FFFF */ addiu $s2, $s2, -1
/* 0C5B64 800C4F64 30AF00FF */ andi $t7, $a1, 0xff
/* 0C5B68 800C4F68 325900FF */ andi $t9, $s2, 0xff
/* 0C5B6C 800C4F6C A2670004 */ sb $a3, 4($s3)
/* 0C5B70 800C4F70 A0940004 */ sb $s4, 4($a0)
/* 0C5B74 800C4F74 01E02825 */ move $a1, $t7
/* 0C5B78 800C4F78 03209025 */ move $s2, $t9
.L800C4F7C:
/* 0C5B7C 800C4F7C 24A50001 */ addiu $a1, $a1, 1
.L800C4F80:
/* 0C5B80 800C4F80 30B800FF */ andi $t8, $a1, 0xff
/* 0C5B84 800C4F84 0308082A */ slt $at, $t8, $t0
/* 0C5B88 800C4F88 1420FFD4 */ bnez $at, .L800C4EDC
/* 0C5B8C 800C4F8C 03002825 */ move $a1, $t8
.L800C4F90:
/* 0C5B90 800C4F90 55050003 */ bnel $t0, $a1, .L800C4FA0
/* 0C5B94 800C4F94 256B0001 */ addiu $t3, $t3, 1
/* 0C5B98 800C4F98 A2740004 */ sb $s4, 4($s3)
.L800C4F9C:
/* 0C5B9C 800C4F9C 256B0001 */ addiu $t3, $t3, 1
.L800C4FA0:
/* 0C5BA0 800C4FA0 316E00FF */ andi $t6, $t3, 0xff
/* 0C5BA4 800C4FA4 01C8082A */ slt $at, $t6, $t0
/* 0C5BA8 800C4FA8 1420FF87 */ bnez $at, .L800C4DC8
/* 0C5BAC 800C4FAC 01C05825 */ move $t3, $t6
.L800C4FB0:
/* 0C5BB0 800C4FB0 8FDF004C */ lw $ra, 0x4c($fp)
/* 0C5BB4 800C4FB4 03C0E825 */ move $sp, $fp
/* 0C5BB8 800C4FB8 8FD00028 */ lw $s0, 0x28($fp)
/* 0C5BBC 800C4FBC 8FD1002C */ lw $s1, 0x2c($fp)
/* 0C5BC0 800C4FC0 8FD20030 */ lw $s2, 0x30($fp)
/* 0C5BC4 800C4FC4 8FD30034 */ lw $s3, 0x34($fp)
/* 0C5BC8 800C4FC8 8FD40038 */ lw $s4, 0x38($fp)
/* 0C5BCC 800C4FCC 8FD5003C */ lw $s5, 0x3c($fp)
/* 0C5BD0 800C4FD0 8FD60040 */ lw $s6, 0x40($fp)
/* 0C5BD4 800C4FD4 8FD70044 */ lw $s7, 0x44($fp)
/* 0C5BD8 800C4FD8 8FDE0048 */ lw $fp, 0x48($fp)
/* 0C5BDC 800C4FDC 03E00008 */ jr $ra
/* 0C5BE0 800C4FE0 27BD00D0 */ addiu $sp, $sp, 0xd0
glabel func_800C4FE4
/* 0C5BE4 800C4FE4 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f
/* 0C5BE8 800C4FE8 91CEA1C0 */ lbu $t6, %lo(D_800EA1C0)($t6)
/* 0C5BEC 800C4FEC 27BDFF98 */ addiu $sp, $sp, -0x68
/* 0C5BF0 800C4FF0 AFB30034 */ sw $s3, 0x34($sp)
/* 0C5BF4 800C4FF4 000E7880 */ sll $t7, $t6, 2
/* 0C5BF8 800C4FF8 01EE7823 */ subu $t7, $t7, $t6
/* 0C5BFC 800C4FFC 309300FF */ andi $s3, $a0, 0xff
/* 0C5C00 800C5000 000F7840 */ sll $t7, $t7, 1
/* 0C5C04 800C5004 01F3C021 */ addu $t8, $t7, $s3
/* 0C5C08 800C5008 3C03800F */ lui $v1, %hi(D_800EA188)
/* 0C5C0C 800C500C 00781821 */ addu $v1, $v1, $t8
/* 0C5C10 800C5010 9063A188 */ lbu $v1, %lo(D_800EA188)($v1)
/* 0C5C14 800C5014 AFBE0048 */ sw $fp, 0x48($sp)
/* 0C5C18 800C5018 AFB40038 */ sw $s4, 0x38($sp)
/* 0C5C1C 800C501C 03A0F025 */ move $fp, $sp
/* 0C5C20 800C5020 AFBF004C */ sw $ra, 0x4c($sp)
/* 0C5C24 800C5024 AFB70044 */ sw $s7, 0x44($sp)
/* 0C5C28 800C5028 AFB60040 */ sw $s6, 0x40($sp)
/* 0C5C2C 800C502C AFB5003C */ sw $s5, 0x3c($sp)
/* 0C5C30 800C5030 AFB20030 */ sw $s2, 0x30($sp)
/* 0C5C34 800C5034 AFB1002C */ sw $s1, 0x2c($sp)
/* 0C5C38 800C5038 AFB00028 */ sw $s0, 0x28($sp)
/* 0C5C3C 800C503C AFA40068 */ sw $a0, 0x68($sp)
/* 0C5C40 800C5040 18600080 */ blez $v1, .L800C5244
/* 0C5C44 800C5044 0000A025 */ move $s4, $zero
/* 0C5C48 800C5048 3C088019 */ lui $t0, %hi(D_80192AB8) # $t0, 0x8019
/* 0C5C4C 800C504C 25082AB8 */ addiu $t0, %lo(D_80192AB8) # addiu $t0, $t0, 0x2ab8
/* 0C5C50 800C5050 0013C980 */ sll $t9, $s3, 6
/* 0C5C54 800C5054 03284821 */ addu $t1, $t9, $t0
/* 0C5C58 800C5058 3C178019 */ lui $s7, %hi(D_801930D0) # $s7, 0x8019
/* 0C5C5C 800C505C 3C16800F */ lui $s6, %hi(D_800EA1C4) # $s6, 0x800f
/* 0C5C60 800C5060 3C128019 */ lui $s2, %hi(D_80192C38) # $s2, 0x8019
/* 0C5C64 800C5064 26522C38 */ addiu $s2, %lo(D_80192C38) # addiu $s2, $s2, 0x2c38
/* 0C5C68 800C5068 26D6A1C4 */ addiu $s6, %lo(D_800EA1C4) # addiu $s6, $s6, -0x5e3c
/* 0C5C6C 800C506C 26F730D0 */ addiu $s7, %lo(D_801930D0) # addiu $s7, $s7, 0x30d0
/* 0C5C70 800C5070 AFA90050 */ sw $t1, 0x50($sp)
/* 0C5C74 800C5074 3C150602 */ lui $s5, 0x602
.L800C5078:
/* 0C5C78 800C5078 8FCA0050 */ lw $t2, 0x50($fp)
/* 0C5C7C 800C507C 001458C0 */ sll $t3, $s4, 3
/* 0C5C80 800C5080 240100FF */ li $at, 255
/* 0C5C84 800C5084 014B6021 */ addu $t4, $t2, $t3
/* 0C5C88 800C5088 91910004 */ lbu $s1, 4($t4)
/* 0C5C8C 800C508C 00137100 */ sll $t6, $s3, 4
/* 0C5C90 800C5090 3C04803B */ lui $a0, %hi(D_803B17D0) # 0x803b
/* 0C5C94 800C5094 12210063 */ beq $s1, $at, .L800C5224
/* 0C5C98 800C5098 01D37023 */ subu $t6, $t6, $s3
/* 0C5C9C 800C509C 00117880 */ sll $t7, $s1, 2
/* 0C5CA0 800C50A0 01F17823 */ subu $t7, $t7, $s1
/* 0C5CA4 800C50A4 000F7900 */ sll $t7, $t7, 4
/* 0C5CA8 800C50A8 000E7180 */ sll $t6, $t6, 6
/* 0C5CAC 800C50AC 3C198019 */ lui $t9, %hi(D_80191420) # $t9, 0x8019
/* 0C5CB0 800C50B0 92460000 */ lbu $a2, ($s2)
/* 0C5CB4 800C50B4 27391420 */ addiu $t9, %lo(D_80191420) # addiu $t9, $t9, 0x1420
/* 0C5CB8 800C50B8 01CFC021 */ addu $t8, $t6, $t7
/* 0C5CBC 800C50BC 03198021 */ addu $s0, $t8, $t9
/* 0C5CC0 800C50C0 92020028 */ lbu $v0, 0x28($s0)
/* 0C5CC4 800C50C4 00066880 */ sll $t5, $a2, 2
/* 0C5CC8 800C50C8 008D2021 */ addu $a0, $a0, $t5
/* 0C5CCC 800C50CC 24010002 */ li $at, 2
/* 0C5CD0 800C50D0 1441002D */ bne $v0, $at, .L800C5188
/* 0C5CD4 800C50D4 8C8417D0 */ lw $a0, %lo(D_803B17D0)($a0) # 0x17d0($a0)
/* 0C5CD8 800C50D8 8E080024 */ lw $t0, 0x24($s0)
/* 0C5CDC 800C50DC A206002C */ sb $a2, 0x2c($s0)
/* 0C5CE0 800C50E0 326400FF */ andi $a0, $s3, 0xff
/* 0C5CE4 800C50E4 00084B00 */ sll $t1, $t0, 0xc
/* 0C5CE8 800C50E8 0521000B */ bgez $t1, .L800C5118
/* 0C5CEC 800C50EC 322500FF */ andi $a1, $s1, 0xff
/* 0C5CF0 800C50F0 924B0000 */ lbu $t3, ($s2)
/* 0C5CF4 800C50F4 96CA0000 */ lhu $t2, ($s6)
/* 0C5CF8 800C50F8 240C0001 */ li $t4, 1
/* 0C5CFC 800C50FC 016C6804 */ sllv $t5, $t4, $t3
/* 0C5D00 800C5100 240F0001 */ li $t7, 1
/* 0C5D04 800C5104 24180028 */ li $t8, 40
/* 0C5D08 800C5108 014D7025 */ or $t6, $t2, $t5
/* 0C5D0C 800C510C A6CE0000 */ sh $t6, ($s6)
/* 0C5D10 800C5110 A2EF0012 */ sb $t7, 0x12($s7)
/* 0C5D14 800C5114 A2F80010 */ sb $t8, 0x10($s7)
.L800C5118:
/* 0C5D18 800C5118 0C030674 */ jal func_800C19D0
/* 0C5D1C 800C511C 92460000 */ lbu $a2, ($s2)
/* 0C5D20 800C5120 92480000 */ lbu $t0, ($s2)
/* 0C5D24 800C5124 24050001 */ li $a1, 1
/* 0C5D28 800C5128 00084A00 */ sll $t1, $t0, 8
/* 0C5D2C 800C512C 0C032EFA */ jal func_800CBBE8
/* 0C5D30 800C5130 01352025 */ or $a0, $t1, $s5
/* 0C5D34 800C5134 924B0000 */ lbu $t3, ($s2)
/* 0C5D38 800C5138 8E0F0024 */ lw $t7, 0x24($s0)
/* 0C5D3C 800C513C 000B5200 */ sll $t2, $t3, 8
/* 0C5D40 800C5140 01552025 */ or $a0, $t2, $s5
/* 0C5D44 800C5144 348D0004 */ ori $t5, $a0, 4
/* 0C5D48 800C5148 000FC600 */ sll $t8, $t7, 0x18
/* 0C5D4C 800C514C 00182E03 */ sra $a1, $t8, 0x18
/* 0C5D50 800C5150 0C032EFA */ jal func_800CBBE8
/* 0C5D54 800C5154 01A02025 */ move $a0, $t5
/* 0C5D58 800C5158 24080004 */ li $t0, 4
/* 0C5D5C 800C515C A2080028 */ sb $t0, 0x28($s0)
/* 0C5D60 800C5160 3C09800F */ lui $t1, %hi(D_800EA1C0) # $t1, 0x800f
/* 0C5D64 800C5164 9129A1C0 */ lbu $t1, %lo(D_800EA1C0)($t1)
/* 0C5D68 800C5168 3C03800F */ lui $v1, %hi(D_800EA188)
/* 0C5D6C 800C516C 00096080 */ sll $t4, $t1, 2
/* 0C5D70 800C5170 01896023 */ subu $t4, $t4, $t1
/* 0C5D74 800C5174 000C6040 */ sll $t4, $t4, 1
/* 0C5D78 800C5178 01935821 */ addu $t3, $t4, $s3
/* 0C5D7C 800C517C 006B1821 */ addu $v1, $v1, $t3
/* 0C5D80 800C5180 10000028 */ b .L800C5224
/* 0C5D84 800C5184 9063A188 */ lbu $v1, %lo(D_800EA188)($v1)
.L800C5188:
/* 0C5D88 800C5188 908A005F */ lbu $t2, 0x5f($a0)
/* 0C5D8C 800C518C 24010080 */ li $at, 128
/* 0C5D90 800C5190 30CD00FF */ andi $t5, $a2, 0xff
/* 0C5D94 800C5194 15410013 */ bne $t2, $at, .L800C51E4
/* 0C5D98 800C5198 000D7200 */ sll $t6, $t5, 8
/* 0C5D9C 800C519C 01D52025 */ or $a0, $t6, $s5
/* 0C5DA0 800C51A0 348F0007 */ ori $t7, $a0, 7
/* 0C5DA4 800C51A4 01E02025 */ move $a0, $t7
/* 0C5DA8 800C51A8 0C032EFA */ jal func_800CBBE8
/* 0C5DAC 800C51AC 00002825 */ move $a1, $zero
/* 0C5DB0 800C51B0 326400FF */ andi $a0, $s3, 0xff
/* 0C5DB4 800C51B4 0C0311CF */ jal func_800C473C
/* 0C5DB8 800C51B8 322500FF */ andi $a1, $s1, 0xff
/* 0C5DBC 800C51BC 3C18800F */ lui $t8, %hi(D_800EA1C0) # $t8, 0x800f
/* 0C5DC0 800C51C0 9318A1C0 */ lbu $t8, %lo(D_800EA1C0)($t8)
/* 0C5DC4 800C51C4 3C03800F */ lui $v1, %hi(D_800EA188)
/* 0C5DC8 800C51C8 0018C880 */ sll $t9, $t8, 2
/* 0C5DCC 800C51CC 0338C823 */ subu $t9, $t9, $t8
/* 0C5DD0 800C51D0 0019C840 */ sll $t9, $t9, 1
/* 0C5DD4 800C51D4 03334021 */ addu $t0, $t9, $s3
/* 0C5DD8 800C51D8 00681821 */ addu $v1, $v1, $t0
/* 0C5DDC 800C51DC 10000011 */ b .L800C5224
/* 0C5DE0 800C51E0 9063A188 */ lbu $v1, %lo(D_800EA188)($v1)
.L800C51E4:
/* 0C5DE4 800C51E4 24010003 */ li $at, 3
/* 0C5DE8 800C51E8 1441000E */ bne $v0, $at, .L800C5224
/* 0C5DEC 800C51EC 326400FF */ andi $a0, $s3, 0xff
/* 0C5DF0 800C51F0 0C030674 */ jal func_800C19D0
/* 0C5DF4 800C51F4 322500FF */ andi $a1, $s1, 0xff
/* 0C5DF8 800C51F8 24090004 */ li $t1, 4
/* 0C5DFC 800C51FC A2090028 */ sb $t1, 0x28($s0)
/* 0C5E00 800C5200 3C0C800F */ lui $t4, %hi(D_800EA1C0) # $t4, 0x800f
/* 0C5E04 800C5204 918CA1C0 */ lbu $t4, %lo(D_800EA1C0)($t4)
/* 0C5E08 800C5208 3C03800F */ lui $v1, %hi(D_800EA188)
/* 0C5E0C 800C520C 000C5880 */ sll $t3, $t4, 2
/* 0C5E10 800C5210 016C5823 */ subu $t3, $t3, $t4
/* 0C5E14 800C5214 000B5840 */ sll $t3, $t3, 1
/* 0C5E18 800C5218 01735021 */ addu $t2, $t3, $s3
/* 0C5E1C 800C521C 006A1821 */ addu $v1, $v1, $t2
/* 0C5E20 800C5220 9063A188 */ lbu $v1, %lo(D_800EA188)($v1)
.L800C5224:
/* 0C5E24 800C5224 924D0000 */ lbu $t5, ($s2)
/* 0C5E28 800C5228 26940001 */ addiu $s4, $s4, 1
/* 0C5E2C 800C522C 328F00FF */ andi $t7, $s4, 0xff
/* 0C5E30 800C5230 01E3082A */ slt $at, $t7, $v1
/* 0C5E34 800C5234 25AE0001 */ addiu $t6, $t5, 1
/* 0C5E38 800C5238 01E0A025 */ move $s4, $t7
/* 0C5E3C 800C523C 1420FF8E */ bnez $at, .L800C5078
/* 0C5E40 800C5240 A24E0000 */ sb $t6, ($s2)
.L800C5244:
/* 0C5E44 800C5244 8FDF004C */ lw $ra, 0x4c($fp)
/* 0C5E48 800C5248 03C0E825 */ move $sp, $fp
/* 0C5E4C 800C524C 8FD00028 */ lw $s0, 0x28($fp)
/* 0C5E50 800C5250 8FD1002C */ lw $s1, 0x2c($fp)
/* 0C5E54 800C5254 8FD20030 */ lw $s2, 0x30($fp)
/* 0C5E58 800C5258 8FD30034 */ lw $s3, 0x34($fp)
/* 0C5E5C 800C525C 8FD40038 */ lw $s4, 0x38($fp)
/* 0C5E60 800C5260 8FD5003C */ lw $s5, 0x3c($fp)
/* 0C5E64 800C5264 8FD60040 */ lw $s6, 0x40($fp)
/* 0C5E68 800C5268 8FD70044 */ lw $s7, 0x44($fp)
/* 0C5E6C 800C526C 8FDE0048 */ lw $fp, 0x48($fp)
/* 0C5E70 800C5270 03E00008 */ jr $ra
/* 0C5E74 800C5274 27BD0068 */ addiu $sp, $sp, 0x68
glabel func_800C5278
/* 0C5E78 800C5278 27BDFF68 */ addiu $sp, $sp, -0x98
/* 0C5E7C 800C527C AFB70044 */ sw $s7, 0x44($sp)
/* 0C5E80 800C5280 309700FF */ andi $s7, $a0, 0xff
/* 0C5E84 800C5284 00177100 */ sll $t6, $s7, 4
/* 0C5E88 800C5288 01D77023 */ subu $t6, $t6, $s7
/* 0C5E8C 800C528C 3C0F8019 */ lui $t7, %hi(D_80191420) # $t7, 0x8019
/* 0C5E90 800C5290 AFB20030 */ sw $s2, 0x30($sp)
/* 0C5E94 800C5294 25EF1420 */ addiu $t7, %lo(D_80191420) # addiu $t7, $t7, 0x1420
/* 0C5E98 800C5298 000E7180 */ sll $t6, $t6, 6
/* 0C5E9C 800C529C AFB1002C */ sw $s1, 0x2c($sp)
/* 0C5EA0 800C52A0 01CF9021 */ addu $s2, $t6, $t7
/* 0C5EA4 800C52A4 9251002B */ lbu $s1, 0x2b($s2)
/* 0C5EA8 800C52A8 AFB40038 */ sw $s4, 0x38($sp)
/* 0C5EAC 800C52AC 241400FF */ li $s4, 255
/* 0C5EB0 800C52B0 AFBE0048 */ sw $fp, 0x48($sp)
/* 0C5EB4 800C52B4 03A0F025 */ move $fp, $sp
/* 0C5EB8 800C52B8 AFBF004C */ sw $ra, 0x4c($sp)
/* 0C5EBC 800C52BC AFB60040 */ sw $s6, 0x40($sp)
/* 0C5EC0 800C52C0 AFB5003C */ sw $s5, 0x3c($sp)
/* 0C5EC4 800C52C4 AFB30034 */ sw $s3, 0x34($sp)
/* 0C5EC8 800C52C8 AFB00028 */ sw $s0, 0x28($sp)
/* 0C5ECC 800C52CC 1291001B */ beq $s4, $s1, .L800C533C
/* 0C5ED0 800C52D0 AFA40098 */ sw $a0, 0x98($sp)
/* 0C5ED4 800C52D4 0017C100 */ sll $t8, $s7, 4
/* 0C5ED8 800C52D8 0317C023 */ subu $t8, $t8, $s7
/* 0C5EDC 800C52DC 0018C180 */ sll $t8, $t8, 6
/* 0C5EE0 800C52E0 030F9821 */ addu $s3, $t8, $t7
/* 0C5EE4 800C52E4 3C160602 */ lui $s6, 0x602
/* 0C5EE8 800C52E8 24150030 */ li $s5, 48
.L800C52EC:
/* 0C5EEC 800C52EC 02350019 */ multu $s1, $s5
/* 0C5EF0 800C52F0 0000C812 */ mflo $t9
/* 0C5EF4 800C52F4 02798021 */ addu $s0, $s3, $t9
/* 0C5EF8 800C52F8 92020028 */ lbu $v0, 0x28($s0)
/* 0C5EFC 800C52FC 28410003 */ slti $at, $v0, 3
/* 0C5F00 800C5300 14200007 */ bnez $at, .L800C5320
/* 0C5F04 800C5304 00000000 */ nop
/* 0C5F08 800C5308 9209002C */ lbu $t1, 0x2c($s0)
/* 0C5F0C 800C530C 00002825 */ move $a1, $zero
/* 0C5F10 800C5310 00095200 */ sll $t2, $t1, 8
/* 0C5F14 800C5314 0C032EFA */ jal func_800CBBE8
/* 0C5F18 800C5318 01562025 */ or $a0, $t2, $s6
/* 0C5F1C 800C531C 92020028 */ lbu $v0, 0x28($s0)
.L800C5320:
/* 0C5F20 800C5320 10400003 */ beqz $v0, .L800C5330
/* 0C5F24 800C5324 32E400FF */ andi $a0, $s7, 0xff
/* 0C5F28 800C5328 0C0311CF */ jal func_800C473C
/* 0C5F2C 800C532C 322500FF */ andi $a1, $s1, 0xff
.L800C5330:
/* 0C5F30 800C5330 9251002B */ lbu $s1, 0x2b($s2)
/* 0C5F34 800C5334 1691FFED */ bne $s4, $s1, .L800C52EC
/* 0C5F38 800C5338 00000000 */ nop
.L800C533C:
/* 0C5F3C 800C533C 00175F00 */ sll $t3, $s7, 0x1c
/* 0C5F40 800C5340 AFCB0084 */ sw $t3, 0x84($fp)
/* 0C5F44 800C5344 00002025 */ move $a0, $zero
/* 0C5F48 800C5348 0C031073 */ jal func_800C41CC
/* 0C5F4C 800C534C 27C50060 */ addiu $a1, $fp, 0x60
/* 0C5F50 800C5350 8FDF004C */ lw $ra, 0x4c($fp)
/* 0C5F54 800C5354 03C0E825 */ move $sp, $fp
/* 0C5F58 800C5358 8FD00028 */ lw $s0, 0x28($fp)
/* 0C5F5C 800C535C 8FD1002C */ lw $s1, 0x2c($fp)
/* 0C5F60 800C5360 8FD20030 */ lw $s2, 0x30($fp)
/* 0C5F64 800C5364 8FD30034 */ lw $s3, 0x34($fp)
/* 0C5F68 800C5368 8FD40038 */ lw $s4, 0x38($fp)
/* 0C5F6C 800C536C 8FD5003C */ lw $s5, 0x3c($fp)
/* 0C5F70 800C5370 8FD60040 */ lw $s6, 0x40($fp)
/* 0C5F74 800C5374 8FD70044 */ lw $s7, 0x44($fp)
/* 0C5F78 800C5378 8FDE0048 */ lw $fp, 0x48($fp)
/* 0C5F7C 800C537C 03E00008 */ jr $ra
/* 0C5F80 800C5380 27BD0098 */ addiu $sp, $sp, 0x98
glabel func_800C5384
/* 0C5F84 800C5384 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 0C5F88 800C5388 AFB5003C */ sw $s5, 0x3c($sp)
/* 0C5F8C 800C538C 309500FF */ andi $s5, $a0, 0xff
/* 0C5F90 800C5390 00157100 */ sll $t6, $s5, 4
/* 0C5F94 800C5394 01D57023 */ subu $t6, $t6, $s5
/* 0C5F98 800C5398 3C0F8019 */ lui $t7, %hi(D_80191420) # $t7, 0x8019
/* 0C5F9C 800C539C 25EF1420 */ addiu $t7, %lo(D_80191420) # addiu $t7, $t7, 0x1420
/* 0C5FA0 800C53A0 000E7180 */ sll $t6, $t6, 6
/* 0C5FA4 800C53A4 AFBF004C */ sw $ra, 0x4c($sp)
/* 0C5FA8 800C53A8 AFBE0048 */ sw $fp, 0x48($sp)
/* 0C5FAC 800C53AC AFB70044 */ sw $s7, 0x44($sp)
/* 0C5FB0 800C53B0 AFB60040 */ sw $s6, 0x40($sp)
/* 0C5FB4 800C53B4 AFB40038 */ sw $s4, 0x38($sp)
/* 0C5FB8 800C53B8 AFB30034 */ sw $s3, 0x34($sp)
/* 0C5FBC 800C53BC AFB20030 */ sw $s2, 0x30($sp)
/* 0C5FC0 800C53C0 AFB1002C */ sw $s1, 0x2c($sp)
/* 0C5FC4 800C53C4 AFB00028 */ sw $s0, 0x28($sp)
/* 0C5FC8 800C53C8 AFA40050 */ sw $a0, 0x50($sp)
/* 0C5FCC 800C53CC 01CFC021 */ addu $t8, $t6, $t7
/* 0C5FD0 800C53D0 9311002B */ lbu $s1, 0x2b($t8)
/* 0C5FD4 800C53D4 241700FF */ li $s7, 255
/* 0C5FD8 800C53D8 00A0B025 */ move $s6, $a1
/* 0C5FDC 800C53DC 03A0F025 */ move $fp, $sp
/* 0C5FE0 800C53E0 12F10028 */ beq $s7, $s1, .L800C5484
/* 0C5FE4 800C53E4 00009025 */ move $s2, $zero
/* 0C5FE8 800C53E8 0015C900 */ sll $t9, $s5, 4
/* 0C5FEC 800C53EC 0335C823 */ subu $t9, $t9, $s5
/* 0C5FF0 800C53F0 0019C980 */ sll $t9, $t9, 6
/* 0C5FF4 800C53F4 032F9821 */ addu $s3, $t9, $t7
/* 0C5FF8 800C53F8 00114080 */ sll $t0, $s1, 2
.L800C53FC:
/* 0C5FFC 800C53FC 01114023 */ subu $t0, $t0, $s1
/* 0C6000 800C5400 00084100 */ sll $t0, $t0, 4
/* 0C6004 800C5404 02688021 */ addu $s0, $s3, $t0
/* 0C6008 800C5408 8E090000 */ lw $t1, ($s0)
/* 0C600C 800C540C 00125080 */ sll $t2, $s2, 2
/* 0C6010 800C5410 56C90015 */ bnel $s6, $t1, .L800C5468
/* 0C6014 800C5414 323200FF */ andi $s2, $s1, 0xff
/* 0C6018 800C5418 92020028 */ lbu $v0, 0x28($s0)
/* 0C601C 800C541C 01525023 */ subu $t2, $t2, $s2
/* 0C6020 800C5420 000A5100 */ sll $t2, $t2, 4
/* 0C6024 800C5424 28410003 */ slti $at, $v0, 3
/* 0C6028 800C5428 14200008 */ bnez $at, .L800C544C
/* 0C602C 800C542C 026AA021 */ addu $s4, $s3, $t2
/* 0C6030 800C5430 920B002C */ lbu $t3, 0x2c($s0)
/* 0C6034 800C5434 3C010602 */ lui $at, 0x602
/* 0C6038 800C5438 00002825 */ move $a1, $zero
/* 0C603C 800C543C 000B6200 */ sll $t4, $t3, 8
/* 0C6040 800C5440 0C032EFA */ jal func_800CBBE8
/* 0C6044 800C5444 01812025 */ or $a0, $t4, $at
/* 0C6048 800C5448 92020028 */ lbu $v0, 0x28($s0)
.L800C544C:
/* 0C604C 800C544C 10400003 */ beqz $v0, .L800C545C
/* 0C6050 800C5450 32A400FF */ andi $a0, $s5, 0xff
/* 0C6054 800C5454 0C0311CF */ jal func_800C473C
/* 0C6058 800C5458 322500FF */ andi $a1, $s1, 0xff
.L800C545C:
/* 0C605C 800C545C 10000007 */ b .L800C547C
/* 0C6060 800C5460 9291002B */ lbu $s1, 0x2b($s4)
/* 0C6064 800C5464 323200FF */ andi $s2, $s1, 0xff
.L800C5468:
/* 0C6068 800C5468 00127080 */ sll $t6, $s2, 2
/* 0C606C 800C546C 01D27023 */ subu $t6, $t6, $s2
/* 0C6070 800C5470 000E7100 */ sll $t6, $t6, 4
/* 0C6074 800C5474 026EC021 */ addu $t8, $s3, $t6
/* 0C6078 800C5478 9311002B */ lbu $s1, 0x2b($t8)
.L800C547C:
/* 0C607C 800C547C 56F1FFDF */ bnel $s7, $s1, .L800C53FC
/* 0C6080 800C5480 00114080 */ sll $t0, $s1, 2
.L800C5484:
/* 0C6084 800C5484 8FDF004C */ lw $ra, 0x4c($fp)
/* 0C6088 800C5488 03C0E825 */ move $sp, $fp
/* 0C608C 800C548C 8FD00028 */ lw $s0, 0x28($fp)
/* 0C6090 800C5490 8FD1002C */ lw $s1, 0x2c($fp)
/* 0C6094 800C5494 8FD20030 */ lw $s2, 0x30($fp)
/* 0C6098 800C5498 8FD30034 */ lw $s3, 0x34($fp)
/* 0C609C 800C549C 8FD40038 */ lw $s4, 0x38($fp)
/* 0C60A0 800C54A0 8FD5003C */ lw $s5, 0x3c($fp)
/* 0C60A4 800C54A4 8FD60040 */ lw $s6, 0x40($fp)
/* 0C60A8 800C54A8 8FD70044 */ lw $s7, 0x44($fp)
/* 0C60AC 800C54AC 8FDE0048 */ lw $fp, 0x48($fp)
/* 0C60B0 800C54B0 03E00008 */ jr $ra
/* 0C60B4 800C54B4 27BD0050 */ addiu $sp, $sp, 0x50
/* 0C60B8 800C54B8 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 0C60BC 800C54BC AFBF002C */ sw $ra, 0x2c($sp)
/* 0C60C0 800C54C0 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C60C4 800C54C4 AFA40060 */ sw $a0, 0x60($sp)
/* 0C60C8 800C54C8 03A0F025 */ move $fp, $sp
/* 0C60CC 800C54CC AFA50064 */ sw $a1, 0x64($sp)
/* 0C60D0 800C54D0 0C0314E1 */ jal func_800C5384
/* 0C60D4 800C54D4 93A40063 */ lbu $a0, 0x63($sp)
/* 0C60D8 800C54D8 93CE0063 */ lbu $t6, 0x63($fp)
/* 0C60DC 800C54DC 8FD80064 */ lw $t8, 0x64($fp)
/* 0C60E0 800C54E0 24040001 */ li $a0, 1
/* 0C60E4 800C54E4 000E7F00 */ sll $t7, $t6, 0x1c
/* 0C60E8 800C54E8 AFCF0054 */ sw $t7, 0x54($fp)
/* 0C60EC 800C54EC 27C50030 */ addiu $a1, $fp, 0x30
/* 0C60F0 800C54F0 0C031073 */ jal func_800C41CC
/* 0C60F4 800C54F4 AFD80030 */ sw $t8, 0x30($fp)
/* 0C60F8 800C54F8 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C60FC 800C54FC 03C0E825 */ move $sp, $fp
/* 0C6100 800C5500 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C6104 800C5504 03E00008 */ jr $ra
/* 0C6108 800C5508 27BD0060 */ addiu $sp, $sp, 0x60
glabel func_800C550C
/* 0C610C 800C550C 27BDFF90 */ addiu $sp, $sp, -0x70
/* 0C6110 800C5510 AFBE0030 */ sw $fp, 0x30($sp)
/* 0C6114 800C5514 AFB1002C */ sw $s1, 0x2c($sp)
/* 0C6118 800C5518 AFB00028 */ sw $s0, 0x28($sp)
/* 0C611C 800C551C 00808825 */ move $s1, $a0
/* 0C6120 800C5520 03A0F025 */ move $fp, $sp
/* 0C6124 800C5524 AFBF0034 */ sw $ra, 0x34($sp)
/* 0C6128 800C5528 00008025 */ move $s0, $zero
.L800C552C:
/* 0C612C 800C552C 320400FF */ andi $a0, $s0, 0xff
/* 0C6130 800C5530 0C0314E1 */ jal func_800C5384
/* 0C6134 800C5534 02202825 */ move $a1, $s1
/* 0C6138 800C5538 26100001 */ addiu $s0, $s0, 1
/* 0C613C 800C553C 320E00FF */ andi $t6, $s0, 0xff
/* 0C6140 800C5540 29C10006 */ slti $at, $t6, 6
/* 0C6144 800C5544 1420FFF9 */ bnez $at, .L800C552C
/* 0C6148 800C5548 01C08025 */ move $s0, $t6
/* 0C614C 800C554C AFD1003C */ sw $s1, 0x3c($fp)
/* 0C6150 800C5550 24040002 */ li $a0, 2
/* 0C6154 800C5554 0C031073 */ jal func_800C41CC
/* 0C6158 800C5558 27C5003C */ addiu $a1, $fp, 0x3c
/* 0C615C 800C555C 8FDF0034 */ lw $ra, 0x34($fp)
/* 0C6160 800C5560 03C0E825 */ move $sp, $fp
/* 0C6164 800C5564 8FD00028 */ lw $s0, 0x28($fp)
/* 0C6168 800C5568 8FD1002C */ lw $s1, 0x2c($fp)
/* 0C616C 800C556C 8FDE0030 */ lw $fp, 0x30($fp)
/* 0C6170 800C5570 03E00008 */ jr $ra
/* 0C6174 800C5574 27BD0070 */ addiu $sp, $sp, 0x70
glabel func_800C5578
/* 0C6178 800C5578 27BDFF68 */ addiu $sp, $sp, -0x98
/* 0C617C 800C557C 3C01F000 */ lui $at, 0xf000
/* 0C6180 800C5580 00A17024 */ and $t6, $a1, $at
/* 0C6184 800C5584 000E7F02 */ srl $t7, $t6, 0x1c
/* 0C6188 800C5588 31F800FF */ andi $t8, $t7, 0xff
/* 0C618C 800C558C 0018C900 */ sll $t9, $t8, 4
/* 0C6190 800C5590 0338C823 */ subu $t9, $t9, $t8
/* 0C6194 800C5594 3C088019 */ lui $t0, %hi(D_80191420) # $t0, 0x8019
/* 0C6198 800C5598 25081420 */ addiu $t0, %lo(D_80191420) # addiu $t0, $t0, 0x1420
/* 0C619C 800C559C 0019C980 */ sll $t9, $t9, 6
/* 0C61A0 800C55A0 AFBF004C */ sw $ra, 0x4c($sp)
/* 0C61A4 800C55A4 AFBE0048 */ sw $fp, 0x48($sp)
/* 0C61A8 800C55A8 AFB70044 */ sw $s7, 0x44($sp)
/* 0C61AC 800C55AC AFB60040 */ sw $s6, 0x40($sp)
/* 0C61B0 800C55B0 AFB5003C */ sw $s5, 0x3c($sp)
/* 0C61B4 800C55B4 AFB40038 */ sw $s4, 0x38($sp)
/* 0C61B8 800C55B8 AFB30034 */ sw $s3, 0x34($sp)
/* 0C61BC 800C55BC AFB20030 */ sw $s2, 0x30($sp)
/* 0C61C0 800C55C0 AFB1002C */ sw $s1, 0x2c($sp)
/* 0C61C4 800C55C4 AFB00028 */ sw $s0, 0x28($sp)
/* 0C61C8 800C55C8 AFA40098 */ sw $a0, 0x98($sp)
/* 0C61CC 800C55CC AFA5009C */ sw $a1, 0x9c($sp)
/* 0C61D0 800C55D0 03284821 */ addu $t1, $t9, $t0
/* 0C61D4 800C55D4 9131002B */ lbu $s1, 0x2b($t1)
/* 0C61D8 800C55D8 241500FF */ li $s5, 255
/* 0C61DC 800C55DC 03A0F025 */ move $fp, $sp
/* 0C61E0 800C55E0 0300B025 */ move $s6, $t8
/* 0C61E4 800C55E4 00009825 */ move $s3, $zero
/* 0C61E8 800C55E8 12B1002D */ beq $s5, $s1, .L800C56A0
/* 0C61EC 800C55EC 02201025 */ move $v0, $s1
/* 0C61F0 800C55F0 00185100 */ sll $t2, $t8, 4
/* 0C61F4 800C55F4 01585023 */ subu $t2, $t2, $t8
/* 0C61F8 800C55F8 000A5180 */ sll $t2, $t2, 6
/* 0C61FC 800C55FC 0148A021 */ addu $s4, $t2, $t0
/* 0C6200 800C5600 3C170602 */ lui $s7, 0x602
/* 0C6204 800C5604 24120030 */ li $s2, 48
.L800C5608:
/* 0C6208 800C5608 02320019 */ multu $s1, $s2
/* 0C620C 800C560C 8FCC0098 */ lw $t4, 0x98($fp)
/* 0C6210 800C5610 00005812 */ mflo $t3
/* 0C6214 800C5614 028B8021 */ addu $s0, $s4, $t3
/* 0C6218 800C5618 8E0D0000 */ lw $t5, ($s0)
/* 0C621C 800C561C 558D0017 */ bnel $t4, $t5, .L800C567C
/* 0C6220 800C5620 323300FF */ andi $s3, $s1, 0xff
/* 0C6224 800C5624 8FCE009C */ lw $t6, 0x9c($fp)
/* 0C6228 800C5628 8E0F0024 */ lw $t7, 0x24($s0)
/* 0C622C 800C562C 55CF0013 */ bnel $t6, $t7, .L800C567C
/* 0C6230 800C5630 323300FF */ andi $s3, $s1, 0xff
/* 0C6234 800C5634 92020028 */ lbu $v0, 0x28($s0)
/* 0C6238 800C5638 28410003 */ slti $at, $v0, 3
/* 0C623C 800C563C 14200007 */ bnez $at, .L800C565C
/* 0C6240 800C5640 00000000 */ nop
/* 0C6244 800C5644 9219002C */ lbu $t9, 0x2c($s0)
/* 0C6248 800C5648 00002825 */ move $a1, $zero
/* 0C624C 800C564C 00194A00 */ sll $t1, $t9, 8
/* 0C6250 800C5650 0C032EFA */ jal func_800CBBE8
/* 0C6254 800C5654 01372025 */ or $a0, $t1, $s7
/* 0C6258 800C5658 92020028 */ lbu $v0, 0x28($s0)
.L800C565C:
/* 0C625C 800C565C 10400003 */ beqz $v0, .L800C566C
/* 0C6260 800C5660 32C400FF */ andi $a0, $s6, 0xff
/* 0C6264 800C5664 0C0311CF */ jal func_800C473C
/* 0C6268 800C5668 322500FF */ andi $a1, $s1, 0xff
.L800C566C:
/* 0C626C 800C566C 241100FF */ li $s1, 255
/* 0C6270 800C5670 10000002 */ b .L800C567C
/* 0C6274 800C5674 240200FF */ li $v0, 255
/* 0C6278 800C5678 323300FF */ andi $s3, $s1, 0xff
.L800C567C:
/* 0C627C 800C567C 12A20006 */ beq $s5, $v0, .L800C5698
/* 0C6280 800C5680 00000000 */ nop
/* 0C6284 800C5684 02720019 */ multu $s3, $s2
/* 0C6288 800C5688 00005012 */ mflo $t2
/* 0C628C 800C568C 028A4021 */ addu $t0, $s4, $t2
/* 0C6290 800C5690 9111002B */ lbu $s1, 0x2b($t0)
/* 0C6294 800C5694 02201025 */ move $v0, $s1
.L800C5698:
/* 0C6298 800C5698 16A2FFDB */ bne $s5, $v0, .L800C5608
/* 0C629C 800C569C 00000000 */ nop
.L800C56A0:
/* 0C62A0 800C56A0 8FCB0098 */ lw $t3, 0x98($fp)
/* 0C62A4 800C56A4 8FCC009C */ lw $t4, 0x9c($fp)
/* 0C62A8 800C56A8 24040003 */ li $a0, 3
/* 0C62AC 800C56AC 27C50060 */ addiu $a1, $fp, 0x60
/* 0C62B0 800C56B0 AFCB0060 */ sw $t3, 0x60($fp)
/* 0C62B4 800C56B4 0C031073 */ jal func_800C41CC
/* 0C62B8 800C56B8 AFCC0084 */ sw $t4, 0x84($fp)
/* 0C62BC 800C56BC 8FDF004C */ lw $ra, 0x4c($fp)
/* 0C62C0 800C56C0 03C0E825 */ move $sp, $fp
/* 0C62C4 800C56C4 8FD00028 */ lw $s0, 0x28($fp)
/* 0C62C8 800C56C8 8FD1002C */ lw $s1, 0x2c($fp)
/* 0C62CC 800C56CC 8FD20030 */ lw $s2, 0x30($fp)
/* 0C62D0 800C56D0 8FD30034 */ lw $s3, 0x34($fp)
/* 0C62D4 800C56D4 8FD40038 */ lw $s4, 0x38($fp)
/* 0C62D8 800C56D8 8FD5003C */ lw $s5, 0x3c($fp)
/* 0C62DC 800C56DC 8FD60040 */ lw $s6, 0x40($fp)
/* 0C62E0 800C56E0 8FD70044 */ lw $s7, 0x44($fp)
/* 0C62E4 800C56E4 8FDE0048 */ lw $fp, 0x48($fp)
/* 0C62E8 800C56E8 03E00008 */ jr $ra
/* 0C62EC 800C56EC 27BD0098 */ addiu $sp, $sp, 0x98
glabel func_800C56F0
/* 0C62F0 800C56F0 27BDFF60 */ addiu $sp, $sp, -0xa0
/* 0C62F4 800C56F4 3C01F000 */ lui $at, 0xf000
/* 0C62F8 800C56F8 00817024 */ and $t6, $a0, $at
/* 0C62FC 800C56FC 000E7F02 */ srl $t7, $t6, 0x1c
/* 0C6300 800C5700 31F800FF */ andi $t8, $t7, 0xff
/* 0C6304 800C5704 0018C900 */ sll $t9, $t8, 4
/* 0C6308 800C5708 0338C823 */ subu $t9, $t9, $t8
/* 0C630C 800C570C 3C088019 */ lui $t0, %hi(D_80191420) # $t0, 0x8019
/* 0C6310 800C5710 25081420 */ addiu $t0, %lo(D_80191420) # addiu $t0, $t0, 0x1420
/* 0C6314 800C5714 0019C980 */ sll $t9, $t9, 6
/* 0C6318 800C5718 AFBF004C */ sw $ra, 0x4c($sp)
/* 0C631C 800C571C AFBE0048 */ sw $fp, 0x48($sp)
/* 0C6320 800C5720 AFB70044 */ sw $s7, 0x44($sp)
/* 0C6324 800C5724 AFB60040 */ sw $s6, 0x40($sp)
/* 0C6328 800C5728 AFB5003C */ sw $s5, 0x3c($sp)
/* 0C632C 800C572C AFB40038 */ sw $s4, 0x38($sp)
/* 0C6330 800C5730 AFB30034 */ sw $s3, 0x34($sp)
/* 0C6334 800C5734 AFB20030 */ sw $s2, 0x30($sp)
/* 0C6338 800C5738 AFB1002C */ sw $s1, 0x2c($sp)
/* 0C633C 800C573C AFB00028 */ sw $s0, 0x28($sp)
/* 0C6340 800C5740 AFA400A0 */ sw $a0, 0xa0($sp)
/* 0C6344 800C5744 03284821 */ addu $t1, $t9, $t0
/* 0C6348 800C5748 9131002B */ lbu $s1, 0x2b($t1)
/* 0C634C 800C574C 241600FF */ li $s6, 255
/* 0C6350 800C5750 03A0F025 */ move $fp, $sp
/* 0C6354 800C5754 0300A825 */ move $s5, $t8
/* 0C6358 800C5758 12D10029 */ beq $s6, $s1, .L800C5800
/* 0C635C 800C575C 00009025 */ move $s2, $zero
/* 0C6360 800C5760 00185100 */ sll $t2, $t8, 4
/* 0C6364 800C5764 01585023 */ subu $t2, $t2, $t8
/* 0C6368 800C5768 000A5180 */ sll $t2, $t2, 6
/* 0C636C 800C576C 01489821 */ addu $s3, $t2, $t0
/* 0C6370 800C5770 24170030 */ li $s7, 48
.L800C5774:
/* 0C6374 800C5774 02370019 */ multu $s1, $s7
/* 0C6378 800C5778 8FCC00A0 */ lw $t4, 0xa0($fp)
/* 0C637C 800C577C 00127080 */ sll $t6, $s2, 2
/* 0C6380 800C5780 00005812 */ mflo $t3
/* 0C6384 800C5784 026B8021 */ addu $s0, $s3, $t3
/* 0C6388 800C5788 8E0D0024 */ lw $t5, 0x24($s0)
/* 0C638C 800C578C 558D0015 */ bnel $t4, $t5, .L800C57E4
/* 0C6390 800C5790 323200FF */ andi $s2, $s1, 0xff
/* 0C6394 800C5794 92020028 */ lbu $v0, 0x28($s0)
/* 0C6398 800C5798 01D27023 */ subu $t6, $t6, $s2
/* 0C639C 800C579C 000E7100 */ sll $t6, $t6, 4
/* 0C63A0 800C57A0 28410003 */ slti $at, $v0, 3
/* 0C63A4 800C57A4 14200008 */ bnez $at, .L800C57C8
/* 0C63A8 800C57A8 026EA021 */ addu $s4, $s3, $t6
/* 0C63AC 800C57AC 920F002C */ lbu $t7, 0x2c($s0)
/* 0C63B0 800C57B0 3C010602 */ lui $at, 0x602
/* 0C63B4 800C57B4 00002825 */ move $a1, $zero
/* 0C63B8 800C57B8 000FC200 */ sll $t8, $t7, 8
/* 0C63BC 800C57BC 0C032EFA */ jal func_800CBBE8
/* 0C63C0 800C57C0 03012025 */ or $a0, $t8, $at
/* 0C63C4 800C57C4 92020028 */ lbu $v0, 0x28($s0)
.L800C57C8:
/* 0C63C8 800C57C8 10400003 */ beqz $v0, .L800C57D8
/* 0C63CC 800C57CC 32A400FF */ andi $a0, $s5, 0xff
/* 0C63D0 800C57D0 0C0311CF */ jal func_800C473C
/* 0C63D4 800C57D4 322500FF */ andi $a1, $s1, 0xff
.L800C57D8:
/* 0C63D8 800C57D8 10000007 */ b .L800C57F8
/* 0C63DC 800C57DC 9291002B */ lbu $s1, 0x2b($s4)
/* 0C63E0 800C57E0 323200FF */ andi $s2, $s1, 0xff
.L800C57E4:
/* 0C63E4 800C57E4 00124880 */ sll $t1, $s2, 2
/* 0C63E8 800C57E8 01324823 */ subu $t1, $t1, $s2
/* 0C63EC 800C57EC 00094900 */ sll $t1, $t1, 4
/* 0C63F0 800C57F0 02695021 */ addu $t2, $s3, $t1
/* 0C63F4 800C57F4 9151002B */ lbu $s1, 0x2b($t2)
.L800C57F8:
/* 0C63F8 800C57F8 16D1FFDE */ bne $s6, $s1, .L800C5774
/* 0C63FC 800C57FC 00000000 */ nop
.L800C5800:
/* 0C6400 800C5800 8FC800A0 */ lw $t0, 0xa0($fp)
/* 0C6404 800C5804 24040005 */ li $a0, 5
/* 0C6408 800C5808 27C50068 */ addiu $a1, $fp, 0x68
/* 0C640C 800C580C 0C031073 */ jal func_800C41CC
/* 0C6410 800C5810 AFC8008C */ sw $t0, 0x8c($fp)
/* 0C6414 800C5814 8FDF004C */ lw $ra, 0x4c($fp)
/* 0C6418 800C5818 03C0E825 */ move $sp, $fp
/* 0C641C 800C581C 8FD00028 */ lw $s0, 0x28($fp)
/* 0C6420 800C5820 8FD1002C */ lw $s1, 0x2c($fp)
/* 0C6424 800C5824 8FD20030 */ lw $s2, 0x30($fp)
/* 0C6428 800C5828 8FD30034 */ lw $s3, 0x34($fp)
/* 0C642C 800C582C 8FD40038 */ lw $s4, 0x38($fp)
/* 0C6430 800C5830 8FD5003C */ lw $s5, 0x3c($fp)
/* 0C6434 800C5834 8FD60040 */ lw $s6, 0x40($fp)
/* 0C6438 800C5838 8FD70044 */ lw $s7, 0x44($fp)
/* 0C643C 800C583C 8FDE0048 */ lw $fp, 0x48($fp)
/* 0C6440 800C5840 03E00008 */ jr $ra
/* 0C6444 800C5844 27BD00A0 */ addiu $sp, $sp, 0xa0
glabel func_800C5848
/* 0C6448 800C5848 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0C644C 800C584C AFB1002C */ sw $s1, 0x2c($sp)
/* 0C6450 800C5850 AFB00028 */ sw $s0, 0x28($sp)
/* 0C6454 800C5854 3C10800F */ lui $s0, %hi(D_800EA1BC) # $s0, 0x800f
/* 0C6458 800C5858 3C11800F */ lui $s1, %hi(D_800EA1B8) # $s1, 0x800f
/* 0C645C 800C585C 2631A1B8 */ addiu $s1, %lo(D_800EA1B8) # addiu $s1, $s1, -0x5e48
/* 0C6460 800C5860 2610A1BC */ addiu $s0, %lo(D_800EA1BC) # addiu $s0, $s0, -0x5e44
/* 0C6464 800C5864 920E0000 */ lbu $t6, ($s0)
/* 0C6468 800C5868 922F0000 */ lbu $t7, ($s1)
/* 0C646C 800C586C AFBE0030 */ sw $fp, 0x30($sp)
/* 0C6470 800C5870 03A0F025 */ move $fp, $sp
/* 0C6474 800C5874 11CF0009 */ beq $t6, $t7, .L800C589C
/* 0C6478 800C5878 AFBF0034 */ sw $ra, 0x34($sp)
.L800C587C:
/* 0C647C 800C587C 0C0310E6 */ jal func_800C4398
/* 0C6480 800C5880 00000000 */ nop
/* 0C6484 800C5884 92180000 */ lbu $t8, ($s0)
/* 0C6488 800C5888 92290000 */ lbu $t1, ($s1)
/* 0C648C 800C588C 27190001 */ addiu $t9, $t8, 1
/* 0C6490 800C5890 332800FF */ andi $t0, $t9, 0xff
/* 0C6494 800C5894 1509FFF9 */ bne $t0, $t1, .L800C587C
/* 0C6498 800C5898 A2190000 */ sb $t9, ($s0)
.L800C589C:
/* 0C649C 800C589C 8FDF0034 */ lw $ra, 0x34($fp)
/* 0C64A0 800C58A0 03C0E825 */ move $sp, $fp
/* 0C64A4 800C58A4 8FD00028 */ lw $s0, 0x28($fp)
/* 0C64A8 800C58A8 8FD1002C */ lw $s1, 0x2c($fp)
/* 0C64AC 800C58AC 8FDE0030 */ lw $fp, 0x30($fp)
/* 0C64B0 800C58B0 03E00008 */ jr $ra
/* 0C64B4 800C58B4 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800C58B8
/* 0C64B8 800C58B8 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C64BC 800C58BC ADA40010 */ sw $a0, 0x10($t5)
/* 0C64C0 800C58C0 ADA50014 */ sw $a1, 0x14($t5)
/* 0C64C4 800C58C4 ADA60018 */ sw $a2, 0x18($t5)
/* 0C64C8 800C58C8 308E00FF */ andi $t6, $a0, 0xff
/* 0C64CC 800C58CC 30AF00FF */ andi $t7, $a1, 0xff
/* 0C64D0 800C58D0 30D8FFFF */ andi $t8, $a2, 0xffff
/* 0C64D4 800C58D4 03003025 */ move $a2, $t8
/* 0C64D8 800C58D8 01E02825 */ move $a1, $t7
/* 0C64DC 800C58DC 17000004 */ bnez $t8, .L800C58F0
/* 0C64E0 800C58E0 01C02025 */ move $a0, $t6
/* 0C64E4 800C58E4 27060001 */ addiu $a2, $t8, 1
/* 0C64E8 800C58E8 30D9FFFF */ andi $t9, $a2, 0xffff
/* 0C64EC 800C58EC 03203025 */ move $a2, $t9
.L800C58F0:
/* 0C64F0 800C58F0 44852000 */ mtc1 $a1, $f4
/* 0C64F4 800C58F4 3C098019 */ lui $t1, %hi(D_80192C48) # $t1, 0x8019
/* 0C64F8 800C58F8 25292C48 */ addiu $t1, %lo(D_80192C48) # addiu $t1, $t1, 0x2c48
/* 0C64FC 800C58FC 00044100 */ sll $t0, $a0, 4
/* 0C6500 800C5900 01091021 */ addu $v0, $t0, $t1
/* 0C6504 800C5904 04A10005 */ bgez $a1, .L800C591C
/* 0C6508 800C5908 468021A0 */ cvt.s.w $f6, $f4
/* 0C650C 800C590C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C6510 800C5910 44814000 */ mtc1 $at, $f8
/* 0C6514 800C5914 00000000 */ nop
/* 0C6518 800C5918 46083180 */ add.s $f6, $f6, $f8
.L800C591C:
/* 0C651C 800C591C 3C0142FE */ li $at, 0x42FE0000 # 127.000000
/* 0C6520 800C5920 44815000 */ mtc1 $at, $f10
/* 0C6524 800C5924 C4500000 */ lwc1 $f16, ($v0)
/* 0C6528 800C5928 44862000 */ mtc1 $a2, $f4
/* 0C652C 800C592C 460A3003 */ div.s $f0, $f6, $f10
/* 0C6530 800C5930 A446000C */ sh $a2, 0xc($v0)
/* 0C6534 800C5934 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C6538 800C5938 46802220 */ cvt.s.w $f8, $f4
/* 0C653C 800C593C E4400004 */ swc1 $f0, 4($v0)
/* 0C6540 800C5940 04C10004 */ bgez $a2, .L800C5954
/* 0C6544 800C5944 46008481 */ sub.s $f18, $f16, $f0
/* 0C6548 800C5948 44813000 */ mtc1 $at, $f6
/* 0C654C 800C594C 00000000 */ nop
/* 0C6550 800C5950 46064200 */ add.s $f8, $f8, $f6
.L800C5954:
/* 0C6554 800C5954 46089283 */ div.s $f10, $f18, $f8
/* 0C6558 800C5958 01A0E825 */ move $sp, $t5
/* 0C655C 800C595C 25BD0010 */ addiu $sp, $t5, 0x10
/* 0C6560 800C5960 03E00008 */ jr $ra
/* 0C6564 800C5964 E44A0008 */ swc1 $f10, 8($v0)
glabel func_800C5968
/* 0C6568 800C5968 308E00FF */ andi $t6, $a0, 0xff
/* 0C656C 800C596C 3C188019 */ lui $t8, %hi(D_80192C48) # $t8, 0x8019
/* 0C6570 800C5970 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C6574 800C5974 27182C48 */ addiu $t8, %lo(D_80192C48) # addiu $t8, $t8, 0x2c48
/* 0C6578 800C5978 000E7900 */ sll $t7, $t6, 4
/* 0C657C 800C597C ADA40010 */ sw $a0, 0x10($t5)
/* 0C6580 800C5980 01F81021 */ addu $v0, $t7, $t8
/* 0C6584 800C5984 9443000C */ lhu $v1, 0xc($v0)
/* 0C6588 800C5988 01A0E825 */ move $sp, $t5
/* 0C658C 800C598C 1060000B */ beqz $v1, .L800C59BC
/* 0C6590 800C5990 2479FFFF */ addiu $t9, $v1, -1
/* 0C6594 800C5994 3328FFFF */ andi $t0, $t9, 0xffff
/* 0C6598 800C5998 11000006 */ beqz $t0, .L800C59B4
/* 0C659C 800C599C A459000C */ sh $t9, 0xc($v0)
/* 0C65A0 800C59A0 C4440000 */ lwc1 $f4, ($v0)
/* 0C65A4 800C59A4 C4460008 */ lwc1 $f6, 8($v0)
/* 0C65A8 800C59A8 46062201 */ sub.s $f8, $f4, $f6
/* 0C65AC 800C59AC 10000003 */ b .L800C59BC
/* 0C65B0 800C59B0 E4480000 */ swc1 $f8, ($v0)
.L800C59B4:
/* 0C65B4 800C59B4 C44A0004 */ lwc1 $f10, 4($v0)
/* 0C65B8 800C59B8 E44A0000 */ swc1 $f10, ($v0)
.L800C59BC:
/* 0C65BC 800C59BC 03E00008 */ jr $ra
/* 0C65C0 800C59C0 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C59C4
/* 0C65C4 800C59C4 3C0F803B */ lui $t7, %hi(D_803B17D0) # $t7, 0x803b
/* 0C65C8 800C59C8 8DEF17D0 */ lw $t7, %lo(D_803B17D0)($t7)
/* 0C65CC 800C59CC 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C65D0 800C59D0 3C0E803B */ lui $t6, %hi(D_803B5EF0) # $t6, 0x803b
/* 0C65D4 800C59D4 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C65D8 800C59D8 25CE5EF0 */ addiu $t6, %lo(D_803B5EF0) # addiu $t6, $t6, 0x5ef0
/* 0C65DC 800C59DC 03A0F025 */ move $fp, $sp
/* 0C65E0 800C59E0 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C65E4 800C59E4 11CF000F */ beq $t6, $t7, .L800C5A24
/* 0C65E8 800C59E8 AFB00024 */ sw $s0, 0x24($sp)
/* 0C65EC 800C59EC 3C018019 */ lui $at, %hi(D_80192C38) # $at, 0x8019
/* 0C65F0 800C59F0 A0202C38 */ sb $zero, %lo(D_80192C38)($at)
/* 0C65F4 800C59F4 00008025 */ move $s0, $zero
.L800C59F8:
/* 0C65F8 800C59F8 0C031222 */ jal func_800C4888
/* 0C65FC 800C59FC 320400FF */ andi $a0, $s0, 0xff
/* 0C6600 800C5A00 0C0313F9 */ jal func_800C4FE4
/* 0C6604 800C5A04 320400FF */ andi $a0, $s0, 0xff
/* 0C6608 800C5A08 0C03165A */ jal func_800C5968
/* 0C660C 800C5A0C 320400FF */ andi $a0, $s0, 0xff
/* 0C6610 800C5A10 26100001 */ addiu $s0, $s0, 1
/* 0C6614 800C5A14 321800FF */ andi $t8, $s0, 0xff
/* 0C6618 800C5A18 2B010006 */ slti $at, $t8, 6
/* 0C661C 800C5A1C 1420FFF6 */ bnez $at, .L800C59F8
/* 0C6620 800C5A20 03008025 */ move $s0, $t8
.L800C5A24:
/* 0C6624 800C5A24 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C6628 800C5A28 03C0E825 */ move $sp, $fp
/* 0C662C 800C5A2C 8FD00024 */ lw $s0, 0x24($fp)
/* 0C6630 800C5A30 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C6634 800C5A34 03E00008 */ jr $ra
/* 0C6638 800C5A38 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800C5A3C
/* 0C663C 800C5A3C 3C01800F */ lui $at, %hi(D_800EA1B8) # $at, 0x800f
/* 0C6640 800C5A40 A020A1B8 */ sb $zero, %lo(D_800EA1B8)($at)
/* 0C6644 800C5A44 3C01800F */ lui $at, %hi(D_800EA1BC) # $at, 0x800f
/* 0C6648 800C5A48 A020A1BC */ sb $zero, %lo(D_800EA1BC)($at)
/* 0C664C 800C5A4C 3C01800F */ lui $at, %hi(D_800EA1C4) # $at, 0x800f
/* 0C6650 800C5A50 A420A1C4 */ sh $zero, %lo(D_800EA1C4)($at)
/* 0C6654 800C5A54 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C6658 800C5A58 3C098019 */ lui $t1, %hi(D_80192C48) # $t1, 0x8019
/* 0C665C 800C5A5C 3C088019 */ lui $t0, %hi(D_80192C3C) # $t0, 0x8019
/* 0C6660 800C5A60 3C078019 */ lui $a3, %hi(D_80192AB0) # $a3, 0x8019
/* 0C6664 800C5A64 3C058019 */ lui $a1, %hi(D_80192AA8) # $a1, 0x8019
/* 0C6668 800C5A68 3C048019 */ lui $a0, %hi(D_80192AA0) # $a0, 0x8019
/* 0C666C 800C5A6C 44810000 */ mtc1 $at, $f0
/* 0C6670 800C5A70 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C6674 800C5A74 24842AA0 */ addiu $a0, %lo(D_80192AA0) # addiu $a0, $a0, 0x2aa0
/* 0C6678 800C5A78 24A52AA8 */ addiu $a1, %lo(D_80192AA8) # addiu $a1, $a1, 0x2aa8
/* 0C667C 800C5A7C 24E72AB0 */ addiu $a3, %lo(D_80192AB0) # addiu $a3, $a3, 0x2ab0
/* 0C6680 800C5A80 25082C3C */ addiu $t0, %lo(D_80192C3C) # addiu $t0, $t0, 0x2c3c
/* 0C6684 800C5A84 25292C48 */ addiu $t1, %lo(D_80192C48) # addiu $t1, $t1, 0x2c48
/* 0C6688 800C5A88 00001025 */ move $v0, $zero
/* 0C668C 800C5A8C 24060001 */ li $a2, 1
.L800C5A90:
/* 0C6690 800C5A90 00827021 */ addu $t6, $a0, $v0
/* 0C6694 800C5A94 00A27821 */ addu $t7, $a1, $v0
/* 0C6698 800C5A98 A1C00000 */ sb $zero, ($t6)
/* 0C669C 800C5A9C 00E2C021 */ addu $t8, $a3, $v0
/* 0C66A0 800C5AA0 0102C821 */ addu $t9, $t0, $v0
/* 0C66A4 800C5AA4 00025900 */ sll $t3, $v0, 4
/* 0C66A8 800C5AA8 24420001 */ addiu $v0, $v0, 1
/* 0C66AC 800C5AAC A1E60000 */ sb $a2, ($t7)
/* 0C66B0 800C5AB0 304C00FF */ andi $t4, $v0, 0xff
/* 0C66B4 800C5AB4 A3000000 */ sb $zero, ($t8)
/* 0C66B8 800C5AB8 29810006 */ slti $at, $t4, 6
/* 0C66BC 800C5ABC A3200000 */ sb $zero, ($t9)
/* 0C66C0 800C5AC0 012B1821 */ addu $v1, $t1, $t3
/* 0C66C4 800C5AC4 01801025 */ move $v0, $t4
/* 0C66C8 800C5AC8 E4600000 */ swc1 $f0, ($v1)
/* 0C66CC 800C5ACC 1420FFF0 */ bnez $at, .L800C5A90
/* 0C66D0 800C5AD0 A460000C */ sh $zero, 0xc($v1)
/* 0C66D4 800C5AD4 00001025 */ move $v0, $zero
/* 0C66D8 800C5AD8 240700FF */ li $a3, 255
.L800C5ADC:
/* 0C66DC 800C5ADC 3C0F8019 */ lui $t7, %hi(D_80192AB8) # $t7, 0x8019
/* 0C66E0 800C5AE0 25EF2AB8 */ addiu $t7, %lo(D_80192AB8) # addiu $t7, $t7, 0x2ab8
/* 0C66E4 800C5AE4 00027180 */ sll $t6, $v0, 6
/* 0C66E8 800C5AE8 01CF2021 */ addu $a0, $t6, $t7
/* 0C66EC 800C5AEC 00001825 */ move $v1, $zero
.L800C5AF0:
/* 0C66F0 800C5AF0 0003C0C0 */ sll $t8, $v1, 3
/* 0C66F4 800C5AF4 24630001 */ addiu $v1, $v1, 1
/* 0C66F8 800C5AF8 306B00FF */ andi $t3, $v1, 0xff
/* 0C66FC 800C5AFC 29610008 */ slti $at, $t3, 8
/* 0C6700 800C5B00 0098C821 */ addu $t9, $a0, $t8
/* 0C6704 800C5B04 01601825 */ move $v1, $t3
/* 0C6708 800C5B08 1420FFF9 */ bnez $at, .L800C5AF0
/* 0C670C 800C5B0C A3270004 */ sb $a3, 4($t9)
/* 0C6710 800C5B10 24420001 */ addiu $v0, $v0, 1
/* 0C6714 800C5B14 304C00FF */ andi $t4, $v0, 0xff
/* 0C6718 800C5B18 29810006 */ slti $at, $t4, 6
/* 0C671C 800C5B1C 1420FFEF */ bnez $at, .L800C5ADC
/* 0C6720 800C5B20 01801025 */ move $v0, $t4
/* 0C6724 800C5B24 3C088019 */ lui $t0, %hi(D_80191420) # $t0, 0x8019
/* 0C6728 800C5B28 25081420 */ addiu $t0, %lo(D_80191420) # addiu $t0, $t0, 0x1420
/* 0C672C 800C5B2C 00001025 */ move $v0, $zero
/* 0C6730 800C5B30 240A0030 */ li $t2, 48
/* 0C6734 800C5B34 240903C0 */ li $t1, 960
.L800C5B38:
/* 0C6738 800C5B38 00490019 */ multu $v0, $t1
/* 0C673C 800C5B3C 00027900 */ sll $t7, $v0, 4
/* 0C6740 800C5B40 01E27823 */ subu $t7, $t7, $v0
/* 0C6744 800C5B44 000F7980 */ sll $t7, $t7, 6
/* 0C6748 800C5B48 010F3021 */ addu $a2, $t0, $t7
/* 0C674C 800C5B4C 24030001 */ li $v1, 1
/* 0C6750 800C5B50 24040001 */ li $a0, 1
/* 0C6754 800C5B54 00007012 */ mflo $t6
/* 0C6758 800C5B58 010E2821 */ addu $a1, $t0, $t6
/* 0C675C 800C5B5C A0A7002A */ sb $a3, 0x2a($a1)
/* 0C6760 800C5B60 A0A7002B */ sb $a3, 0x2b($a1)
.L800C5B64:
/* 0C6764 800C5B64 006A0019 */ multu $v1, $t2
/* 0C6768 800C5B68 24630001 */ addiu $v1, $v1, 1
/* 0C676C 800C5B6C 306C00FF */ andi $t4, $v1, 0xff
/* 0C6770 800C5B70 29810013 */ slti $at, $t4, 0x13
/* 0C6774 800C5B74 2499FFFF */ addiu $t9, $a0, -1
/* 0C6778 800C5B78 248B0001 */ addiu $t3, $a0, 1
/* 0C677C 800C5B7C 01802025 */ move $a0, $t4
/* 0C6780 800C5B80 01801825 */ move $v1, $t4
/* 0C6784 800C5B84 0000C012 */ mflo $t8
/* 0C6788 800C5B88 00D82821 */ addu $a1, $a2, $t8
/* 0C678C 800C5B8C A0B9002A */ sb $t9, 0x2a($a1)
/* 0C6790 800C5B90 1420FFF4 */ bnez $at, .L800C5B64
/* 0C6794 800C5B94 A0AB002B */ sb $t3, 0x2b($a1)
/* 0C6798 800C5B98 018A0019 */ multu $t4, $t2
/* 0C679C 800C5B9C 24420001 */ addiu $v0, $v0, 1
/* 0C67A0 800C5BA0 305800FF */ andi $t8, $v0, 0xff
/* 0C67A4 800C5BA4 2B010006 */ slti $at, $t8, 6
/* 0C67A8 800C5BA8 258FFFFF */ addiu $t7, $t4, -1
/* 0C67AC 800C5BAC 03001025 */ move $v0, $t8
/* 0C67B0 800C5BB0 00007012 */ mflo $t6
/* 0C67B4 800C5BB4 00CE2821 */ addu $a1, $a2, $t6
/* 0C67B8 800C5BB8 A0AF002A */ sb $t7, 0x2a($a1)
/* 0C67BC 800C5BBC 1420FFDE */ bnez $at, .L800C5B38
/* 0C67C0 800C5BC0 A0A7002B */ sb $a3, 0x2b($a1)
/* 0C67C4 800C5BC4 01A0E825 */ move $sp, $t5
/* 0C67C8 800C5BC8 03E00008 */ jr $ra
/* 0C67CC 800C5BCC 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C5BD0
/* 0C67D0 800C5BD0 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f
/* 0C67D4 800C5BD4 91CEA1C0 */ lbu $t6, %lo(D_800EA1C0)($t6)
/* 0C67D8 800C5BD8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C67DC 800C5BDC AFBE0028 */ sw $fp, 0x28($sp)
/* 0C67E0 800C5BE0 03A0F025 */ move $fp, $sp
/* 0C67E4 800C5BE4 15C0000D */ bnez $t6, .L800C5C1C
/* 0C67E8 800C5BE8 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C67EC 800C5BEC 3C0F800F */ lui $t7, %hi(D_800F6BE4) # $t7, 0x800f
/* 0C67F0 800C5BF0 95EF6BE4 */ lhu $t7, %lo(D_800F6BE4)($t7)
/* 0C67F4 800C5BF4 3C04800F */ lui $a0, %hi(D_800EA154)
/* 0C67F8 800C5BF8 3C01F300 */ lui $at, 0xf300
/* 0C67FC 800C5BFC 008F2021 */ addu $a0, $a0, $t7
/* 0C6800 800C5C00 9098A154 */ lbu $t8, %lo(D_800EA154)($a0)
/* 0C6804 800C5C04 00002825 */ move $a1, $zero
/* 0C6808 800C5C08 0018CA00 */ sll $t9, $t8, 8
/* 0C680C 800C5C0C 0C032EFA */ jal func_800CBBE8
/* 0C6810 800C5C10 03212025 */ or $a0, $t9, $at
/* 0C6814 800C5C14 10000006 */ b .L800C5C30
/* 0C6818 800C5C18 8FDF002C */ lw $ra, 0x2c($fp)
.L800C5C1C:
/* 0C681C 800C5C1C 3C04F300 */ lui $a0, (0xF3004D00 >> 16) # lui $a0, 0xf300
/* 0C6820 800C5C20 34844D00 */ ori $a0, (0xF3004D00 & 0xFFFF) # ori $a0, $a0, 0x4d00
/* 0C6824 800C5C24 0C032EFA */ jal func_800CBBE8
/* 0C6828 800C5C28 00002825 */ move $a1, $zero
/* 0C682C 800C5C2C 8FDF002C */ lw $ra, 0x2c($fp)
.L800C5C30:
/* 0C6830 800C5C30 03C0E825 */ move $sp, $fp
/* 0C6834 800C5C34 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C6838 800C5C38 03E00008 */ jr $ra
/* 0C683C 800C5C3C 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800C5C40
/* 0C6840 800C5C40 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C6844 800C5C44 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C6848 800C5C48 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C684C 800C5C4C 0C03091D */ jal func_800C2474
/* 0C6850 800C5C50 03A0F025 */ move $fp, $sp
/* 0C6854 800C5C54 3C03800F */ lui $v1, %hi(D_800E9DA0) # $v1, 0x800f
/* 0C6858 800C5C58 24639DA0 */ addiu $v1, %lo(D_800E9DA0) # addiu $v1, $v1, -0x6260
/* 0C685C 800C5C5C 90620000 */ lbu $v0, ($v1)
/* 0C6860 800C5C60 10400005 */ beqz $v0, .L800C5C78
/* 0C6864 800C5C64 244E0001 */ addiu $t6, $v0, 1
/* 0C6868 800C5C68 0C031003 */ jal func_800C400C
/* 0C686C 800C5C6C 00000000 */ nop
/* 0C6870 800C5C70 10000003 */ b .L800C5C80
/* 0C6874 800C5C74 00000000 */ nop
.L800C5C78:
/* 0C6878 800C5C78 0C030FDC */ jal func_800C3F70
/* 0C687C 800C5C7C A06E0000 */ sb $t6, ($v1)
.L800C5C80:
/* 0C6880 800C5C80 0C03168F */ jal func_800C5A3C
/* 0C6884 800C5C84 00000000 */ nop
/* 0C6888 800C5C88 24040002 */ li $a0, 2
/* 0C688C 800C5C8C 00002825 */ move $a1, $zero
/* 0C6890 800C5C90 240600FF */ li $a2, 255
/* 0C6894 800C5C94 0C030A13 */ jal func_800C284C
/* 0C6898 800C5C98 24070001 */ li $a3, 1
/* 0C689C 800C5C9C 0C0316F4 */ jal func_800C5BD0
/* 0C68A0 800C5CA0 00000000 */ nop
/* 0C68A4 800C5CA4 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C68A8 800C5CA8 03C0E825 */ move $sp, $fp
/* 0C68AC 800C5CAC 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C68B0 800C5CB0 03E00008 */ jr $ra
/* 0C68B4 800C5CB4 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800C5CB8
/* 0C68B8 800C5CB8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C68BC 800C5CBC AFBF002C */ sw $ra, 0x2c($sp)
/* 0C68C0 800C5CC0 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C68C4 800C5CC4 0C03091D */ jal func_800C2474
/* 0C68C8 800C5CC8 03A0F025 */ move $fp, $sp
/* 0C68CC 800C5CCC 0C030FDC */ jal func_800C3F70
/* 0C68D0 800C5CD0 00000000 */ nop
/* 0C68D4 800C5CD4 0C03168F */ jal func_800C5A3C
/* 0C68D8 800C5CD8 00000000 */ nop
/* 0C68DC 800C5CDC 24040002 */ li $a0, 2
/* 0C68E0 800C5CE0 00002825 */ move $a1, $zero
/* 0C68E4 800C5CE4 240600FF */ li $a2, 255
/* 0C68E8 800C5CE8 0C030A13 */ jal func_800C284C
/* 0C68EC 800C5CEC 24070001 */ li $a3, 1
/* 0C68F0 800C5CF0 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C68F4 800C5CF4 03C0E825 */ move $sp, $fp
/* 0C68F8 800C5CF8 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C68FC 800C5CFC 03E00008 */ jr $ra
/* 0C6900 800C5D00 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800C5D04
/* 0C6904 800C5D04 308500FF */ andi $a1, $a0, 0xff
/* 0C6908 800C5D08 000570C0 */ sll $t6, $a1, 3
/* 0C690C 800C5D0C 01C57023 */ subu $t6, $t6, $a1
/* 0C6910 800C5D10 000E7100 */ sll $t6, $t6, 4
/* 0C6914 800C5D14 01C57023 */ subu $t6, $t6, $a1
/* 0C6918 800C5D18 000E7080 */ sll $t6, $t6, 2
/* 0C691C 800C5D1C 01C57023 */ subu $t6, $t6, $a1
/* 0C6920 800C5D20 000E70C0 */ sll $t6, $t6, 3
/* 0C6924 800C5D24 3C0F800F */ lui $t7, %hi(D_800F69D4)
/* 0C6928 800C5D28 01EE7821 */ addu $t7, $t7, $t6
/* 0C692C 800C5D2C 85EF69D4 */ lh $t7, %lo(D_800F69D4)($t7)
/* 0C6930 800C5D30 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C6934 800C5D34 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C6938 800C5D38 24010020 */ li $at, 32
/* 0C693C 800C5D3C 31F80020 */ andi $t8, $t7, 0x20
/* 0C6940 800C5D40 03A0F025 */ move $fp, $sp
/* 0C6944 800C5D44 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C6948 800C5D48 17010025 */ bne $t8, $at, .L800C5DE0
/* 0C694C 800C5D4C AFA40030 */ sw $a0, 0x30($sp)
/* 0C6950 800C5D50 00051080 */ sll $v0, $a1, 2
/* 0C6954 800C5D54 3C01800F */ lui $at, %hi(D_800E9E34)
/* 0C6958 800C5D58 3C19800F */ lui $t9, %hi(D_800E9E24) # $t9, 0x800f
/* 0C695C 800C5D5C 00220821 */ addu $at, $at, $v0
/* 0C6960 800C5D60 27399E24 */ addiu $t9, %lo(D_800E9E24) # addiu $t9, $t9, -0x61dc
/* 0C6964 800C5D64 AC209E34 */ sw $zero, %lo(D_800E9E34)($at)
/* 0C6968 800C5D68 00592021 */ addu $a0, $v0, $t9
/* 0C696C 800C5D6C 8C830000 */ lw $v1, ($a0)
/* 0C6970 800C5D70 3C0A800F */ lui $t2, %hi(D_800EA0EC) # $t2, 0x800f
/* 0C6974 800C5D74 3C08800F */ lui $t0, %hi(D_800EA16C) # $t0, 0x800f
/* 0C6978 800C5D78 28614E20 */ slti $at, $v1, 0x4e20
/* 0C697C 800C5D7C 10200007 */ beqz $at, .L800C5D9C
/* 0C6980 800C5D80 254AA0EC */ addiu $t2, %lo(D_800EA0EC) # addiu $t2, $t2, -0x5f14
/* 0C6984 800C5D84 9108A16C */ lbu $t0, %lo(D_800EA16C)($t0)
/* 0C6988 800C5D88 24690001 */ addiu $t1, $v1, 1
/* 0C698C 800C5D8C 55000004 */ bnel $t0, $zero, .L800C5DA0
/* 0C6990 800C5D90 24010001 */ li $at, 1
/* 0C6994 800C5D94 AC890000 */ sw $t1, ($a0)
/* 0C6998 800C5D98 01201825 */ move $v1, $t1
.L800C5D9C:
/* 0C699C 800C5D9C 24010001 */ li $at, 1
.L800C5DA0:
/* 0C69A0 800C5DA0 14610020 */ bne $v1, $at, .L800C5E24
/* 0C69A4 800C5DA4 00AA1821 */ addu $v1, $a1, $t2
/* 0C69A8 800C5DA8 90620000 */ lbu $v0, ($v1)
/* 0C69AC 800C5DAC 24010002 */ li $at, 2
/* 0C69B0 800C5DB0 30A400FF */ andi $a0, $a1, 0xff
/* 0C69B4 800C5DB4 10400004 */ beqz $v0, .L800C5DC8
/* 0C69B8 800C5DB8 00000000 */ nop
/* 0C69BC 800C5DBC 14410019 */ bne $v0, $at, .L800C5E24
/* 0C69C0 800C5DC0 240B0001 */ li $t3, 1
/* 0C69C4 800C5DC4 A06B0000 */ sb $t3, ($v1)
.L800C5DC8:
/* 0C69C8 800C5DC8 0C0325F1 */ jal func_800C97C4
/* 0C69CC 800C5DCC A3C50033 */ sb $a1, 0x33($fp)
/* 0C69D0 800C5DD0 0C032529 */ jal func_800C94A4
/* 0C69D4 800C5DD4 93C40033 */ lbu $a0, 0x33($fp)
/* 0C69D8 800C5DD8 10000013 */ b .L800C5E28
/* 0C69DC 800C5DDC 8FDF002C */ lw $ra, 0x2c($fp)
.L800C5DE0:
/* 0C69E0 800C5DE0 00051080 */ sll $v0, $a1, 2
/* 0C69E4 800C5DE4 3C01800F */ lui $at, %hi(D_800E9E24)
/* 0C69E8 800C5DE8 3C0C800F */ lui $t4, %hi(D_800E9E34) # $t4, 0x800f
/* 0C69EC 800C5DEC 00220821 */ addu $at, $at, $v0
/* 0C69F0 800C5DF0 258C9E34 */ addiu $t4, %lo(D_800E9E34) # addiu $t4, $t4, -0x61cc
/* 0C69F4 800C5DF4 AC209E24 */ sw $zero, %lo(D_800E9E24)($at)
/* 0C69F8 800C5DF8 004C1821 */ addu $v1, $v0, $t4
/* 0C69FC 800C5DFC 8C640000 */ lw $a0, ($v1)
/* 0C6A00 800C5E00 3C0D800F */ lui $t5, %hi(D_800EA16C) # $t5, 0x800f
/* 0C6A04 800C5E04 28814E20 */ slti $at, $a0, 0x4e20
/* 0C6A08 800C5E08 50200007 */ beql $at, $zero, .L800C5E28
/* 0C6A0C 800C5E0C 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C6A10 800C5E10 91ADA16C */ lbu $t5, %lo(D_800EA16C)($t5)
/* 0C6A14 800C5E14 248E0001 */ addiu $t6, $a0, 1
/* 0C6A18 800C5E18 55A00003 */ bnel $t5, $zero, .L800C5E28
/* 0C6A1C 800C5E1C 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C6A20 800C5E20 AC6E0000 */ sw $t6, ($v1)
.L800C5E24:
/* 0C6A24 800C5E24 8FDF002C */ lw $ra, 0x2c($fp)
.L800C5E28:
/* 0C6A28 800C5E28 03C0E825 */ move $sp, $fp
/* 0C6A2C 800C5E2C 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C6A30 800C5E30 03E00008 */ jr $ra
/* 0C6A34 800C5E34 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800C5E38
/* 0C6A38 800C5E38 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0C6A3C 800C5E3C 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0C6A40 800C5E40 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 0C6A44 800C5E44 AFBE0030 */ sw $fp, 0x30($sp)
/* 0C6A48 800C5E48 03A0F025 */ move $fp, $sp
/* 0C6A4C 800C5E4C AFBF0034 */ sw $ra, 0x34($sp)
/* 0C6A50 800C5E50 AFA40048 */ sw $a0, 0x48($sp)
/* 0C6A54 800C5E54 15C000A7 */ bnez $t6, .L800C60F4
/* 0C6A58 800C5E58 308600FF */ andi $a2, $a0, 0xff
/* 0C6A5C 800C5E5C 000678C0 */ sll $t7, $a2, 3
/* 0C6A60 800C5E60 01E67823 */ subu $t7, $t7, $a2
/* 0C6A64 800C5E64 000F7900 */ sll $t7, $t7, 4
/* 0C6A68 800C5E68 01E67823 */ subu $t7, $t7, $a2
/* 0C6A6C 800C5E6C 000F7880 */ sll $t7, $t7, 2
/* 0C6A70 800C5E70 01E67823 */ subu $t7, $t7, $a2
/* 0C6A74 800C5E74 3C18800F */ lui $t8, %hi(D_800F6990) # $t8, 0x800f
/* 0C6A78 800C5E78 27186990 */ addiu $t8, %lo(D_800F6990) # addiu $t8, $t8, 0x6990
/* 0C6A7C 800C5E7C 000F78C0 */ sll $t7, $t7, 3
/* 0C6A80 800C5E80 01F83821 */ addu $a3, $t7, $t8
/* 0C6A84 800C5E84 84F90044 */ lh $t9, 0x44($a3)
/* 0C6A88 800C5E88 24010020 */ li $at, 32
/* 0C6A8C 800C5E8C 00061080 */ sll $v0, $a2, 2
/* 0C6A90 800C5E90 33290020 */ andi $t1, $t9, 0x20
/* 0C6A94 800C5E94 1121005C */ beq $t1, $at, .L800C6008
/* 0C6A98 800C5E98 3C19800F */ lui $t9, %hi(D_800E9E24)
/* 0C6A9C 800C5E9C 3C0143C8 */ li $at, 0x43C80000 # 400.000000
/* 0C6AA0 800C5EA0 44812000 */ mtc1 $at, $f4
/* 0C6AA4 800C5EA4 C4E60098 */ lwc1 $f6, 0x98($a3)
/* 0C6AA8 800C5EA8 3C0A800F */ lui $t2, %hi(D_800EA0EC) # $t2, 0x800f
/* 0C6AAC 800C5EAC 254AA0EC */ addiu $t2, %lo(D_800EA0EC) # addiu $t2, $t2, -0x5f14
/* 0C6AB0 800C5EB0 4606203C */ c.lt.s $f4, $f6
/* 0C6AB4 800C5EB4 24040001 */ li $a0, 1
/* 0C6AB8 800C5EB8 3C01800F */ lui $at, %hi(D_800E9E14)
/* 0C6ABC 800C5EBC 00CA4021 */ addu $t0, $a2, $t2
/* 0C6AC0 800C5EC0 45000051 */ bc1f .L800C6008
/* 0C6AC4 800C5EC4 00066100 */ sll $t4, $a2, 4
/* 0C6AC8 800C5EC8 00061080 */ sll $v0, $a2, 2
/* 0C6ACC 800C5ECC 00220821 */ addu $at, $at, $v0
/* 0C6AD0 800C5ED0 AC249E14 */ sw $a0, %lo(D_800E9E14)($at)
/* 0C6AD4 800C5ED4 91030000 */ lbu $v1, ($t0)
/* 0C6AD8 800C5ED8 01866023 */ subu $t4, $t4, $a2
/* 0C6ADC 800C5EDC 000C6080 */ sll $t4, $t4, 2
/* 0C6AE0 800C5EE0 1460000D */ bnez $v1, .L800C5F18
/* 0C6AE4 800C5EE4 3C0D800F */ lui $t5, %hi(D_800E9F7C) # $t5, 0x800f
/* 0C6AE8 800C5EE8 3C01800F */ lui $at, %hi(D_800F3674) # $at, 0x800f
/* 0C6AEC 800C5EEC C4283674 */ lwc1 $f8, %lo(D_800F3674)($at)
/* 0C6AF0 800C5EF0 3C01800F */ lui $at, %hi(D_800E9F54)
/* 0C6AF4 800C5EF4 00220821 */ addu $at, $at, $v0
/* 0C6AF8 800C5EF8 C42A9F54 */ lwc1 $f10, %lo(D_800E9F54)($at)
/* 0C6AFC 800C5EFC 00065900 */ sll $t3, $a2, 4
/* 0C6B00 800C5F00 01665823 */ subu $t3, $t3, $a2
/* 0C6B04 800C5F04 460A4401 */ sub.s $f16, $f8, $f10
/* 0C6B08 800C5F08 000B5880 */ sll $t3, $t3, 2
/* 0C6B0C 800C5F0C 3C01800F */ lui $at, %hi(D_800E9F8C)
/* 0C6B10 800C5F10 002B0821 */ addu $at, $at, $t3
/* 0C6B14 800C5F14 E4309F8C */ swc1 $f16, %lo(D_800E9F8C)($at)
.L800C5F18:
/* 0C6B18 800C5F18 25AD9F7C */ addiu $t5, %lo(D_800E9F7C) # addiu $t5, $t5, -0x6084
/* 0C6B1C 800C5F1C 018D2821 */ addu $a1, $t4, $t5
/* 0C6B20 800C5F20 C4B20030 */ lwc1 $f18, 0x30($a1)
/* 0C6B24 800C5F24 3C01800F */ lui $at, %hi(D_800E9DC4)
/* 0C6B28 800C5F28 00220821 */ addu $at, $at, $v0
/* 0C6B2C 800C5F2C 3C0E800F */ lui $t6, %hi(D_800E9E34)
/* 0C6B30 800C5F30 01C27021 */ addu $t6, $t6, $v0
/* 0C6B34 800C5F34 E4329DC4 */ swc1 $f18, %lo(D_800E9DC4)($at)
/* 0C6B38 800C5F38 8DCE9E34 */ lw $t6, %lo(D_800E9E34)($t6)
/* 0C6B3C 800C5F3C C4A40024 */ lwc1 $f4, 0x24($a1)
/* 0C6B40 800C5F40 3C01800F */ lui $at, %hi(D_800E9DD4)
/* 0C6B44 800C5F44 00220821 */ addu $at, $at, $v0
/* 0C6B48 800C5F48 148E006A */ bne $a0, $t6, .L800C60F4
/* 0C6B4C 800C5F4C E4249DD4 */ swc1 $f4, %lo(D_800E9DD4)($at)
/* 0C6B50 800C5F50 3C0F800F */ lui $t7, %hi(D_800EA16C) # $t7, 0x800f
/* 0C6B54 800C5F54 91EFA16C */ lbu $t7, %lo(D_800EA16C)($t7)
/* 0C6B58 800C5F58 55E00067 */ bnel $t7, $zero, .L800C60F8
/* 0C6B5C 800C5F5C 8FDF0034 */ lw $ra, 0x34($fp)
/* 0C6B60 800C5F60 10600004 */ beqz $v1, .L800C5F74
/* 0C6B64 800C5F64 24010002 */ li $at, 2
/* 0C6B68 800C5F68 14610062 */ bne $v1, $at, .L800C60F4
/* 0C6B6C 800C5F6C 24180001 */ li $t8, 1
/* 0C6B70 800C5F70 A1180000 */ sb $t8, ($t0)
.L800C5F74:
/* 0C6B74 800C5F74 3C19800F */ lui $t9, %hi(D_800E9F74)
/* 0C6B78 800C5F78 0326C821 */ addu $t9, $t9, $a2
/* 0C6B7C 800C5F7C 93399F74 */ lbu $t9, %lo(D_800E9F74)($t9)
/* 0C6B80 800C5F80 5720005D */ bnel $t9, $zero, .L800C60F8
/* 0C6B84 800C5F84 8FDF0034 */ lw $ra, 0x34($fp)
/* 0C6B88 800C5F88 94E90254 */ lhu $t1, 0x254($a3)
/* 0C6B8C 800C5F8C 24010003 */ li $at, 3
/* 0C6B90 800C5F90 3C0A800F */ lui $t2, %hi(D_800EA1C0) # $t2, 0x800f
/* 0C6B94 800C5F94 51210058 */ beql $t1, $at, .L800C60F8
/* 0C6B98 800C5F98 8FDF0034 */ lw $ra, 0x34($fp)
/* 0C6B9C 800C5F9C 914AA1C0 */ lbu $t2, %lo(D_800EA1C0)($t2)
/* 0C6BA0 800C5FA0 3C040100 */ lui $a0, (0x01008026 >> 16) # lui $a0, 0x100
/* 0C6BA4 800C5FA4 34848026 */ ori $a0, (0x01008026 & 0xFFFF) # ori $a0, $a0, 0x8026
/* 0C6BA8 800C5FA8 29410002 */ slti $at, $t2, 2
/* 0C6BAC 800C5FAC 1020000D */ beqz $at, .L800C5FE4
/* 0C6BB0 800C5FB0 24A70038 */ addiu $a3, $a1, 0x38
/* 0C6BB4 800C5FB4 3C0B800F */ lui $t3, %hi(D_800E9F04) # $t3, 0x800f
/* 0C6BB8 800C5FB8 256B9F04 */ addiu $t3, %lo(D_800E9F04) # addiu $t3, $t3, -0x60fc
/* 0C6BBC 800C5FBC 004B6021 */ addu $t4, $v0, $t3
/* 0C6BC0 800C5FC0 3C040100 */ lui $a0, (0x0100F926 >> 16) # lui $a0, 0x100
/* 0C6BC4 800C5FC4 24AD0014 */ addiu $t5, $a1, 0x14
/* 0C6BC8 800C5FC8 AFAD0014 */ sw $t5, 0x14($sp)
/* 0C6BCC 800C5FCC 3484F926 */ ori $a0, (0x0100F926 & 0xFFFF) # ori $a0, $a0, 0xf926
/* 0C6BD0 800C5FD0 AFAC0010 */ sw $t4, 0x10($sp)
/* 0C6BD4 800C5FD4 0C031052 */ jal play_sound
/* 0C6BD8 800C5FD8 24A70038 */ addiu $a3, $a1, 0x38
/* 0C6BDC 800C5FDC 10000046 */ b .L800C60F8
/* 0C6BE0 800C5FE0 8FDF0034 */ lw $ra, 0x34($fp)
.L800C5FE4:
/* 0C6BE4 800C5FE4 3C0E800F */ lui $t6, %hi(D_800E9F04) # $t6, 0x800f
/* 0C6BE8 800C5FE8 25CE9F04 */ addiu $t6, %lo(D_800E9F04) # addiu $t6, $t6, -0x60fc
/* 0C6BEC 800C5FEC 004E7821 */ addu $t7, $v0, $t6
/* 0C6BF0 800C5FF0 24B80014 */ addiu $t8, $a1, 0x14
/* 0C6BF4 800C5FF4 AFB80014 */ sw $t8, 0x14($sp)
/* 0C6BF8 800C5FF8 0C031052 */ jal play_sound
/* 0C6BFC 800C5FFC AFAF0010 */ sw $t7, 0x10($sp)
/* 0C6C00 800C6000 1000003D */ b .L800C60F8
/* 0C6C04 800C6004 8FDF0034 */ lw $ra, 0x34($fp)
.L800C6008:
/* 0C6C08 800C6008 0322C821 */ addu $t9, $t9, $v0
/* 0C6C0C 800C600C 8F399E24 */ lw $t9, %lo(D_800E9E24)($t9)
/* 0C6C10 800C6010 2401000A */ li $at, 10
/* 0C6C14 800C6014 3C09800F */ lui $t1, %hi(D_800EA1C0) # $t1, 0x800f
/* 0C6C18 800C6018 17210015 */ bne $t9, $at, .L800C6070
/* 0C6C1C 800C601C 00000000 */ nop
/* 0C6C20 800C6020 9129A1C0 */ lbu $t1, %lo(D_800EA1C0)($t1)
/* 0C6C24 800C6024 3C050100 */ lui $a1, (0x01008026 >> 16) # lui $a1, 0x100
/* 0C6C28 800C6028 34A58026 */ ori $a1, (0x01008026 & 0xFFFF) # ori $a1, $a1, 0x8026
/* 0C6C2C 800C602C 29210002 */ slti $at, $t1, 2
/* 0C6C30 800C6030 1020000A */ beqz $at, .L800C605C
/* 0C6C34 800C6034 30C400FF */ andi $a0, $a2, 0xff
/* 0C6C38 800C6038 3C050100 */ lui $a1, (0x0100F926 >> 16) # lui $a1, 0x100
/* 0C6C3C 800C603C 34A5F926 */ ori $a1, (0x0100F926 & 0xFFFF) # ori $a1, $a1, 0xf926
/* 0C6C40 800C6040 30C400FF */ andi $a0, $a2, 0xff
/* 0C6C44 800C6044 AFC2003C */ sw $v0, 0x3c($fp)
/* 0C6C48 800C6048 0C032406 */ jal func_800C9018
/* 0C6C4C 800C604C A3C6004B */ sb $a2, 0x4b($fp)
/* 0C6C50 800C6050 8FC2003C */ lw $v0, 0x3c($fp)
/* 0C6C54 800C6054 10000006 */ b .L800C6070
/* 0C6C58 800C6058 93C6004B */ lbu $a2, 0x4b($fp)
.L800C605C:
/* 0C6C5C 800C605C AFC2003C */ sw $v0, 0x3c($fp)
/* 0C6C60 800C6060 0C032406 */ jal func_800C9018
/* 0C6C64 800C6064 A3C6004B */ sb $a2, 0x4b($fp)
/* 0C6C68 800C6068 8FC2003C */ lw $v0, 0x3c($fp)
/* 0C6C6C 800C606C 93C6004B */ lbu $a2, 0x4b($fp)
.L800C6070:
/* 0C6C70 800C6070 3C01800F */ lui $at, %hi(D_800E9E14)
/* 0C6C74 800C6074 00220821 */ addu $at, $at, $v0
/* 0C6C78 800C6078 AC209E14 */ sw $zero, %lo(D_800E9E14)($at)
/* 0C6C7C 800C607C 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C6C80 800C6080 44813000 */ mtc1 $at, $f6
/* 0C6C84 800C6084 3C01800F */ lui $at, %hi(D_800E9F54)
/* 0C6C88 800C6088 00220821 */ addu $at, $at, $v0
/* 0C6C8C 800C608C C4289F54 */ lwc1 $f8, %lo(D_800E9F54)($at)
/* 0C6C90 800C6090 3C01800F */ lui $at, %hi(D_800EA130)
/* 0C6C94 800C6094 00220821 */ addu $at, $at, $v0
/* 0C6C98 800C6098 46083001 */ sub.s $f0, $f6, $f8
/* 0C6C9C 800C609C C422A130 */ lwc1 $f2, %lo(D_800EA130)($at)
/* 0C6CA0 800C60A0 00065100 */ sll $t2, $a2, 4
/* 0C6CA4 800C60A4 01465023 */ subu $t2, $t2, $a2
/* 0C6CA8 800C60A8 4602003C */ c.lt.s $f0, $f2
/* 0C6CAC 800C60AC 3C0B800F */ lui $t3, %hi(D_800E9F7C) # $t3, 0x800f
/* 0C6CB0 800C60B0 46020281 */ sub.s $f10, $f0, $f2
/* 0C6CB4 800C60B4 256B9F7C */ addiu $t3, %lo(D_800E9F7C) # addiu $t3, $t3, -0x6084
/* 0C6CB8 800C60B8 000A5080 */ sll $t2, $t2, 2
/* 0C6CBC 800C60BC 014B2821 */ addu $a1, $t2, $t3
/* 0C6CC0 800C60C0 45000004 */ bc1f .L800C60D4
/* 0C6CC4 800C60C4 E4AA0010 */ swc1 $f10, 0x10($a1)
/* 0C6CC8 800C60C8 44808000 */ mtc1 $zero, $f16
/* 0C6CCC 800C60CC 00000000 */ nop
/* 0C6CD0 800C60D0 E4B00010 */ swc1 $f16, 0x10($a1)
.L800C60D4:
/* 0C6CD4 800C60D4 C4B2002C */ lwc1 $f18, 0x2c($a1)
/* 0C6CD8 800C60D8 3C01800F */ lui $at, %hi(D_800E9DC4)
/* 0C6CDC 800C60DC 00220821 */ addu $at, $at, $v0
/* 0C6CE0 800C60E0 E4329DC4 */ swc1 $f18, %lo(D_800E9DC4)($at)
/* 0C6CE4 800C60E4 C4A40020 */ lwc1 $f4, 0x20($a1)
/* 0C6CE8 800C60E8 3C01800F */ lui $at, %hi(D_800E9DD4)
/* 0C6CEC 800C60EC 00220821 */ addu $at, $at, $v0
/* 0C6CF0 800C60F0 E4249DD4 */ swc1 $f4, %lo(D_800E9DD4)($at)
.L800C60F4:
/* 0C6CF4 800C60F4 8FDF0034 */ lw $ra, 0x34($fp)
.L800C60F8:
/* 0C6CF8 800C60F8 03C0E825 */ move $sp, $fp
/* 0C6CFC 800C60FC 8FDE0030 */ lw $fp, 0x30($fp)
/* 0C6D00 800C6100 03E00008 */ jr $ra
/* 0C6D04 800C6104 27BD0048 */ addiu $sp, $sp, 0x48
glabel func_800C6108
/* 0C6D08 800C6108 308600FF */ andi $a2, $a0, 0xff
/* 0C6D0C 800C610C 000678C0 */ sll $t7, $a2, 3
/* 0C6D10 800C6110 01E67823 */ subu $t7, $t7, $a2
/* 0C6D14 800C6114 000F7900 */ sll $t7, $t7, 4
/* 0C6D18 800C6118 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C6D1C 800C611C 01E67823 */ subu $t7, $t7, $a2
/* 0C6D20 800C6120 00061080 */ sll $v0, $a2, 2
/* 0C6D24 800C6124 3C01800F */ lui $at, %hi(D_800E9DD4)
/* 0C6D28 800C6128 ADA40010 */ sw $a0, 0x10($t5)
/* 0C6D2C 800C612C 00220821 */ addu $at, $at, $v0
/* 0C6D30 800C6130 000F7880 */ sll $t7, $t7, 2
/* 0C6D34 800C6134 C4249DD4 */ lwc1 $f4, %lo(D_800E9DD4)($at)
/* 0C6D38 800C6138 01E67823 */ subu $t7, $t7, $a2
/* 0C6D3C 800C613C 3C18800F */ lui $t8, %hi(D_800F6990) # $t8, 0x800f
/* 0C6D40 800C6140 27186990 */ addiu $t8, %lo(D_800F6990) # addiu $t8, $t8, 0x6990
/* 0C6D44 800C6144 000F78C0 */ sll $t7, $t7, 3
/* 0C6D48 800C6148 3C01800F */ lui $at, %hi(D_800E9DC4)
/* 0C6D4C 800C614C 00220821 */ addu $at, $at, $v0
/* 0C6D50 800C6150 01F81821 */ addu $v1, $t7, $t8
/* 0C6D54 800C6154 C4600098 */ lwc1 $f0, 0x98($v1)
/* 0C6D58 800C6158 C4269DC4 */ lwc1 $f6, %lo(D_800E9DC4)($at)
/* 0C6D5C 800C615C 3C0144E1 */ li $at, 0x44E10000 # 1800.000000
/* 0C6D60 800C6160 44818000 */ mtc1 $at, $f16
/* 0C6D64 800C6164 46060203 */ div.s $f8, $f0, $f6
/* 0C6D68 800C6168 3C0E800F */ lui $t6, %hi(D_800E9E64) # $t6, 0x800f
/* 0C6D6C 800C616C 25CE9E64 */ addiu $t6, %lo(D_800E9E64) # addiu $t6, $t6, -0x619c
/* 0C6D70 800C6170 004E3821 */ addu $a3, $v0, $t6
/* 0C6D74 800C6174 4610003C */ c.lt.s $f0, $f16
/* 0C6D78 800C6178 46082280 */ add.s $f10, $f4, $f8
/* 0C6D7C 800C617C 45000010 */ bc1f .L800C61C0
/* 0C6D80 800C6180 E4EA0000 */ swc1 $f10, ($a3)
/* 0C6D84 800C6184 84790044 */ lh $t9, 0x44($v1)
/* 0C6D88 800C6188 24010020 */ li $at, 32
/* 0C6D8C 800C618C 00066100 */ sll $t4, $a2, 4
/* 0C6D90 800C6190 332B0020 */ andi $t3, $t9, 0x20
/* 0C6D94 800C6194 1161000A */ beq $t3, $at, .L800C61C0
/* 0C6D98 800C6198 01866023 */ subu $t4, $t4, $a2
/* 0C6D9C 800C619C 3C0E800F */ lui $t6, %hi(D_800E9F7C) # $t6, 0x800f
/* 0C6DA0 800C61A0 25CE9F7C */ addiu $t6, %lo(D_800E9F7C) # addiu $t6, $t6, -0x6084
/* 0C6DA4 800C61A4 000C6080 */ sll $t4, $t4, 2
/* 0C6DA8 800C61A8 018E2821 */ addu $a1, $t4, $t6
/* 0C6DAC 800C61AC C4A60034 */ lwc1 $f6, 0x34($a1)
/* 0C6DB0 800C61B0 C4B20028 */ lwc1 $f18, 0x28($a1)
/* 0C6DB4 800C61B4 46060103 */ div.s $f4, $f0, $f6
/* 0C6DB8 800C61B8 46049200 */ add.s $f8, $f18, $f4
/* 0C6DBC 800C61BC E4E80000 */ swc1 $f8, ($a3)
.L800C61C0:
/* 0C6DC0 800C61C0 3C014098 */ li $at, 0x40980000 # 4.750000
/* 0C6DC4 800C61C4 44815000 */ mtc1 $at, $f10
/* 0C6DC8 800C61C8 C4700094 */ lwc1 $f16, 0x94($v1)
/* 0C6DCC 800C61CC 00067900 */ sll $t7, $a2, 4
/* 0C6DD0 800C61D0 01E67823 */ subu $t7, $t7, $a2
/* 0C6DD4 800C61D4 4610503C */ c.lt.s $f10, $f16
/* 0C6DD8 800C61D8 3C18800F */ lui $t8, %hi(D_800E9F7C) # $t8, 0x800f
/* 0C6DDC 800C61DC 27189F7C */ addiu $t8, %lo(D_800E9F7C) # addiu $t8, $t8, -0x6084
/* 0C6DE0 800C61E0 000F7880 */ sll $t7, $t7, 2
/* 0C6DE4 800C61E4 45000017 */ bc1f .L800C6244
/* 0C6DE8 800C61E8 01F82821 */ addu $a1, $t7, $t8
/* 0C6DEC 800C61EC 3C01800F */ lui $at, %hi(D_800F3678) # $at, 0x800f
/* 0C6DF0 800C61F0 C4243678 */ lwc1 $f4, %lo(D_800F3678)($at)
/* 0C6DF4 800C61F4 C4B20018 */ lwc1 $f18, 0x18($a1)
/* 0C6DF8 800C61F8 3C19800F */ lui $t9, %hi(D_800E9EB4) # $t9, 0x800f
/* 0C6DFC 800C61FC 27399EB4 */ addiu $t9, %lo(D_800E9EB4) # addiu $t9, $t9, -0x614c
/* 0C6E00 800C6200 46049200 */ add.s $f8, $f18, $f4
/* 0C6E04 800C6204 00592021 */ addu $a0, $v0, $t9
/* 0C6E08 800C6208 C4860000 */ lwc1 $f6, ($a0)
/* 0C6E0C 800C620C 3C0B800F */ lui $t3, %hi(D_800E9DE4) # $t3, 0x800f
/* 0C6E10 800C6210 256B9DE4 */ addiu $t3, %lo(D_800E9DE4) # addiu $t3, $t3, -0x621c
/* 0C6E14 800C6214 4608303C */ c.lt.s $f6, $f8
/* 0C6E18 800C6218 3C0C800F */ lui $t4, %hi(D_800E9DE4) # $t4, 0x800f
/* 0C6E1C 800C621C 258C9DE4 */ addiu $t4, %lo(D_800E9DE4) # addiu $t4, $t4, -0x621c
/* 0C6E20 800C6220 004B4021 */ addu $t0, $v0, $t3
/* 0C6E24 800C6224 45000005 */ bc1f .L800C623C
/* 0C6E28 800C6228 3C01800F */ lui $at, %hi(D_800F367C) # $at, 0x800f
/* 0C6E2C 800C622C C50A0000 */ lwc1 $f10, ($t0)
/* 0C6E30 800C6230 C430367C */ lwc1 $f16, %lo(D_800F367C)($at)
/* 0C6E34 800C6234 46105480 */ add.s $f18, $f10, $f16
/* 0C6E38 800C6238 E5120000 */ swc1 $f18, ($t0)
.L800C623C:
/* 0C6E3C 800C623C 10000009 */ b .L800C6264
/* 0C6E40 800C6240 004C4021 */ addu $t0, $v0, $t4
.L800C6244:
/* 0C6E44 800C6244 44802000 */ mtc1 $zero, $f4
/* 0C6E48 800C6248 3C0E800F */ lui $t6, %hi(D_800E9DE4) # $t6, 0x800f
/* 0C6E4C 800C624C 25CE9DE4 */ addiu $t6, %lo(D_800E9DE4) # addiu $t6, $t6, -0x621c
/* 0C6E50 800C6250 3C0F800F */ lui $t7, %hi(D_800E9EB4) # $t7, 0x800f
/* 0C6E54 800C6254 25EF9EB4 */ addiu $t7, %lo(D_800E9EB4) # addiu $t7, $t7, -0x614c
/* 0C6E58 800C6258 004E4021 */ addu $t0, $v0, $t6
/* 0C6E5C 800C625C 004F2021 */ addu $a0, $v0, $t7
/* 0C6E60 800C6260 E5040000 */ swc1 $f4, ($t0)
.L800C6264:
/* 0C6E64 800C6264 846900C0 */ lh $t1, 0xc0($v1)
/* 0C6E68 800C6268 3C0F800F */ lui $t7, %hi(D_800E9F78)
/* 0C6E6C 800C626C 01E67821 */ addu $t7, $t7, $a2
/* 0C6E70 800C6270 19200008 */ blez $t1, .L800C6294
/* 0C6E74 800C6274 00095823 */ negu $t3, $t1
/* 0C6E78 800C6278 44893000 */ mtc1 $t1, $f6
/* 0C6E7C 800C627C 3C18800F */ lui $t8, %hi(D_800E9E54) # $t8, 0x800f
/* 0C6E80 800C6280 27189E54 */ addiu $t8, %lo(D_800E9E54) # addiu $t8, $t8, -0x61ac
/* 0C6E84 800C6284 46803220 */ cvt.s.w $f8, $f6
/* 0C6E88 800C6288 00585021 */ addu $t2, $v0, $t8
/* 0C6E8C 800C628C 10000007 */ b .L800C62AC
/* 0C6E90 800C6290 E5480000 */ swc1 $f8, ($t2)
.L800C6294:
/* 0C6E94 800C6294 448B5000 */ mtc1 $t3, $f10
/* 0C6E98 800C6298 3C19800F */ lui $t9, %hi(D_800E9E54) # $t9, 0x800f
/* 0C6E9C 800C629C 27399E54 */ addiu $t9, %lo(D_800E9E54) # addiu $t9, $t9, -0x61ac
/* 0C6EA0 800C62A0 46805420 */ cvt.s.w $f16, $f10
/* 0C6EA4 800C62A4 00595021 */ addu $t2, $v0, $t9
/* 0C6EA8 800C62A8 E5500000 */ swc1 $f16, ($t2)
.L800C62AC:
/* 0C6EAC 800C62AC 8C6C00BC */ lw $t4, 0xbc($v1)
/* 0C6EB0 800C62B0 24010010 */ li $at, 16
/* 0C6EB4 800C62B4 3C03800F */ lui $v1, %hi(D_800E9F74)
/* 0C6EB8 800C62B8 318E0010 */ andi $t6, $t4, 0x10
/* 0C6EBC 800C62BC 15C10006 */ bne $t6, $at, .L800C62D8
/* 0C6EC0 800C62C0 00661821 */ addu $v1, $v1, $a2
/* 0C6EC4 800C62C4 C5120000 */ lwc1 $f18, ($t0)
/* 0C6EC8 800C62C8 C4E40000 */ lwc1 $f4, ($a3)
/* 0C6ECC 800C62CC 46049180 */ add.s $f6, $f18, $f4
/* 0C6ED0 800C62D0 10000010 */ b .L800C6314
/* 0C6ED4 800C62D4 E4860000 */ swc1 $f6, ($a0)
.L800C62D8:
/* 0C6ED8 800C62D8 3C01800F */ lui $at, %hi(D_800F3680) # $at, 0x800f
/* 0C6EDC 800C62DC C4223680 */ lwc1 $f2, %lo(D_800F3680)($at)
/* 0C6EE0 800C62E0 3C01800F */ lui $at, %hi(D_800F3684) # $at, 0x800f
/* 0C6EE4 800C62E4 C4243684 */ lwc1 $f4, %lo(D_800F3684)($at)
/* 0C6EE8 800C62E8 C5520000 */ lwc1 $f18, ($t2)
/* 0C6EEC 800C62EC C4E80000 */ lwc1 $f8, ($a3)
/* 0C6EF0 800C62F0 C50A0000 */ lwc1 $f10, ($t0)
/* 0C6EF4 800C62F4 46049183 */ div.s $f6, $f18, $f4
/* 0C6EF8 800C62F8 460A4400 */ add.s $f16, $f8, $f10
/* 0C6EFC 800C62FC 46068001 */ sub.s $f0, $f16, $f6
/* 0C6F00 800C6300 4602003C */ c.lt.s $f0, $f2
/* 0C6F04 800C6304 E4800000 */ swc1 $f0, ($a0)
/* 0C6F08 800C6308 45000002 */ bc1f .L800C6314
/* 0C6F0C 800C630C 00000000 */ nop
/* 0C6F10 800C6310 E4820000 */ swc1 $f2, ($a0)
.L800C6314:
/* 0C6F14 800C6314 90639F74 */ lbu $v1, %lo(D_800E9F74)($v1)
/* 0C6F18 800C6318 3C18800F */ lui $t8, %hi(D_800E9F78) # $t8, 0x800f
/* 0C6F1C 800C631C 27189F78 */ addiu $t8, %lo(D_800E9F78) # addiu $t8, $t8, -0x6088
/* 0C6F20 800C6320 14600004 */ bnez $v1, .L800C6334
/* 0C6F24 800C6324 00D83821 */ addu $a3, $a2, $t8
/* 0C6F28 800C6328 91EF9F78 */ lbu $t7, %lo(D_800E9F78)($t7)
/* 0C6F2C 800C632C 11E00021 */ beqz $t7, .L800C63B4
/* 0C6F30 800C6330 00000000 */ nop
.L800C6334:
/* 0C6F34 800C6334 1060000E */ beqz $v1, .L800C6370
/* 0C6F38 800C6338 90E80000 */ lbu $t0, ($a3)
/* 0C6F3C 800C633C 2901000F */ slti $at, $t0, 0xf
/* 0C6F40 800C6340 10200016 */ beqz $at, .L800C639C
/* 0C6F44 800C6344 25190001 */ addiu $t9, $t0, 1
/* 0C6F48 800C6348 3C0B800F */ lui $t3, %hi(D_800E9DF4) # $t3, 0x800f
/* 0C6F4C 800C634C 256B9DF4 */ addiu $t3, %lo(D_800E9DF4) # addiu $t3, $t3, -0x620c
/* 0C6F50 800C6350 A0F90000 */ sb $t9, ($a3)
/* 0C6F54 800C6354 004B1821 */ addu $v1, $v0, $t3
/* 0C6F58 800C6358 3C01800F */ lui $at, %hi(D_800F3688) # $at, 0x800f
/* 0C6F5C 800C635C C42A3688 */ lwc1 $f10, %lo(D_800F3688)($at)
/* 0C6F60 800C6360 C4680000 */ lwc1 $f8, ($v1)
/* 0C6F64 800C6364 460A4480 */ add.s $f18, $f8, $f10
/* 0C6F68 800C6368 1000000C */ b .L800C639C
/* 0C6F6C 800C636C E4720000 */ swc1 $f18, ($v1)
.L800C6370:
/* 0C6F70 800C6370 1100000A */ beqz $t0, .L800C639C
/* 0C6F74 800C6374 250CFFFF */ addiu $t4, $t0, -1
/* 0C6F78 800C6378 3C0E800F */ lui $t6, %hi(D_800E9DF4) # $t6, 0x800f
/* 0C6F7C 800C637C 25CE9DF4 */ addiu $t6, %lo(D_800E9DF4) # addiu $t6, $t6, -0x620c
/* 0C6F80 800C6380 A0EC0000 */ sb $t4, ($a3)
/* 0C6F84 800C6384 004E1821 */ addu $v1, $v0, $t6
/* 0C6F88 800C6388 3C01800F */ lui $at, %hi(D_800F368C) # $at, 0x800f
/* 0C6F8C 800C638C C430368C */ lwc1 $f16, %lo(D_800F368C)($at)
/* 0C6F90 800C6390 C4640000 */ lwc1 $f4, ($v1)
/* 0C6F94 800C6394 46102181 */ sub.s $f6, $f4, $f16
/* 0C6F98 800C6398 E4660000 */ swc1 $f6, ($v1)
.L800C639C:
/* 0C6F9C 800C639C 3C01800F */ lui $at, %hi(D_800E9DF4)
/* 0C6FA0 800C63A0 00220821 */ addu $at, $at, $v0
/* 0C6FA4 800C63A4 C42A9DF4 */ lwc1 $f10, %lo(D_800E9DF4)($at)
/* 0C6FA8 800C63A8 C4880000 */ lwc1 $f8, ($a0)
/* 0C6FAC 800C63AC 460A4481 */ sub.s $f18, $f8, $f10
/* 0C6FB0 800C63B0 E4920000 */ swc1 $f18, ($a0)
.L800C63B4:
/* 0C6FB4 800C63B4 3C18800F */ lui $t8, %hi(D_800E9EC4) # $t8, 0x800f
/* 0C6FB8 800C63B8 27189EC4 */ addiu $t8, %lo(D_800E9EC4) # addiu $t8, $t8, -0x613c
/* 0C6FBC 800C63BC 00583021 */ addu $a2, $v0, $t8
/* 0C6FC0 800C63C0 C4C20000 */ lwc1 $f2, ($a2)
/* 0C6FC4 800C63C4 C4800000 */ lwc1 $f0, ($a0)
/* 0C6FC8 800C63C8 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 0C6FCC 800C63CC 44817000 */ mtc1 $at, $f14
/* 0C6FD0 800C63D0 46020301 */ sub.s $f12, $f0, $f2
/* 0C6FD4 800C63D4 3C0F800F */ lui $t7, %hi(D_800E9EE4) # $t7, 0x800f
/* 0C6FD8 800C63D8 25EF9EE4 */ addiu $t7, %lo(D_800E9EE4) # addiu $t7, $t7, -0x611c
/* 0C6FDC 800C63DC 004F1821 */ addu $v1, $v0, $t7
/* 0C6FE0 800C63E0 460C703C */ c.lt.s $f14, $f12
/* 0C6FE4 800C63E4 E46C0000 */ swc1 $f12, ($v1)
/* 0C6FE8 800C63E8 3C013E80 */ li $at, 0x3E800000 # 0.250000
/* 0C6FEC 800C63EC 45030007 */ bc1tl .L800C640C
/* 0C6FF0 800C63F0 C4700000 */ lwc1 $f16, ($v1)
/* 0C6FF4 800C63F4 C4640000 */ lwc1 $f4, ($v1)
/* 0C6FF8 800C63F8 460E203C */ c.lt.s $f4, $f14
/* 0C6FFC 800C63FC 00000000 */ nop
/* 0C7000 800C6400 4500000E */ bc1f .L800C643C
/* 0C7004 800C6404 00000000 */ nop
/* 0C7008 800C6408 C4700000 */ lwc1 $f16, ($v1)
.L800C640C:
/* 0C700C 800C640C 44813000 */ mtc1 $at, $f6
/* 0C7010 800C6410 3C01800F */ lui $at, %hi(D_800E9ED4)
/* 0C7014 800C6414 00220821 */ addu $at, $at, $v0
/* 0C7018 800C6418 46068002 */ mul.s $f0, $f16, $f6
/* 0C701C 800C641C E4209ED4 */ swc1 $f0, %lo(D_800E9ED4)($at)
/* 0C7020 800C6420 3C01800F */ lui $at, %hi(D_800E9F34)
/* 0C7024 800C6424 46001280 */ add.s $f10, $f2, $f0
/* 0C7028 800C6428 00220821 */ addu $at, $at, $v0
/* 0C702C 800C642C C4289F34 */ lwc1 $f8, %lo(D_800E9F34)($at)
/* 0C7030 800C6430 460A4480 */ add.s $f18, $f8, $f10
/* 0C7034 800C6434 10000006 */ b .L800C6450
/* 0C7038 800C6438 E4B2000C */ swc1 $f18, 0xc($a1)
.L800C643C:
/* 0C703C 800C643C 3C01800F */ lui $at, %hi(D_800E9F34)
/* 0C7040 800C6440 00220821 */ addu $at, $at, $v0
/* 0C7044 800C6444 C4249F34 */ lwc1 $f4, %lo(D_800E9F34)($at)
/* 0C7048 800C6448 46002400 */ add.s $f16, $f4, $f0
/* 0C704C 800C644C E4B0000C */ swc1 $f16, 0xc($a1)
.L800C6450:
/* 0C7050 800C6450 3C014080 */ li $at, 0x40800000 # 4.000000
/* 0C7054 800C6454 44811000 */ mtc1 $at, $f2
/* 0C7058 800C6458 C4A0000C */ lwc1 $f0, 0xc($a1)
/* 0C705C 800C645C 3C013FC0 */ li $at, 0x3FC00000 # 1.500000
/* 0C7060 800C6460 44813000 */ mtc1 $at, $f6
/* 0C7064 800C6464 4600103C */ c.lt.s $f2, $f0
/* 0C7068 800C6468 00000000 */ nop
/* 0C706C 800C646C 45020004 */ bc1fl .L800C6480
/* 0C7070 800C6470 46060203 */ div.s $f8, $f0, $f6
/* 0C7074 800C6474 E4A2000C */ swc1 $f2, 0xc($a1)
/* 0C7078 800C6478 C4A0000C */ lwc1 $f0, 0xc($a1)
/* 0C707C 800C647C 46060203 */ div.s $f8, $f0, $f6
.L800C6480:
/* 0C7080 800C6480 E4C00000 */ swc1 $f0, ($a2)
/* 0C7084 800C6484 3C01800F */ lui $at, %hi(D_800F3690) # $at, 0x800f
/* 0C7088 800C6488 C42A3690 */ lwc1 $f10, %lo(D_800F3690)($at)
/* 0C708C 800C648C 01A0E825 */ move $sp, $t5
/* 0C7090 800C6490 25BD0010 */ addiu $sp, $t5, 0x10
/* 0C7094 800C6494 460A4480 */ add.s $f18, $f8, $f10
/* 0C7098 800C6498 03E00008 */ jr $ra
/* 0C709C 800C649C E4B20038 */ swc1 $f18, 0x38($a1)
glabel func_800C64A0
/* 0C70A0 800C64A0 308E00FF */ andi $t6, $a0, 0xff
/* 0C70A4 800C64A4 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C70A8 800C64A8 000E1080 */ sll $v0, $t6, 2
/* 0C70AC 800C64AC 3C0F800F */ lui $t7, %hi(D_800E9E74)
/* 0C70B0 800C64B0 ADA40010 */ sw $a0, 0x10($t5)
/* 0C70B4 800C64B4 01E27821 */ addu $t7, $t7, $v0
/* 0C70B8 800C64B8 8DEF9E74 */ lw $t7, %lo(D_800E9E74)($t7)
/* 0C70BC 800C64BC 01C02025 */ move $a0, $t6
/* 0C70C0 800C64C0 25F8FFFF */ addiu $t8, $t7, -1
/* 0C70C4 800C64C4 2F01001F */ sltiu $at, $t8, 0x1f
/* 0C70C8 800C64C8 10200053 */ beqz $at, .L800C6618
/* 0C70CC 800C64CC 0018C080 */ sll $t8, $t8, 2
/* 0C70D0 800C64D0 3C01800F */ lui $at, %hi(D_800F3694)
/* 0C70D4 800C64D4 00380821 */ addu $at, $at, $t8
/* 0C70D8 800C64D8 8C383694 */ lw $t8, %lo(D_800F3694)($at)
/* 0C70DC 800C64DC 03000008 */ jr $t8
/* 0C70E0 800C64E0 00000000 */ nop
glabel L800C64E4
/* 0C70E4 800C64E4 000440C0 */ sll $t0, $a0, 3
/* 0C70E8 800C64E8 01044023 */ subu $t0, $t0, $a0
/* 0C70EC 800C64EC 00084100 */ sll $t0, $t0, 4
/* 0C70F0 800C64F0 01044023 */ subu $t0, $t0, $a0
/* 0C70F4 800C64F4 00084080 */ sll $t0, $t0, 2
/* 0C70F8 800C64F8 01044023 */ subu $t0, $t0, $a0
/* 0C70FC 800C64FC 3C09800F */ lui $t1, %hi(D_800F6990) # $t1, 0x800f
/* 0C7100 800C6500 25296990 */ addiu $t1, %lo(D_800F6990) # addiu $t1, $t1, 0x6990
/* 0C7104 800C6504 000840C0 */ sll $t0, $t0, 3
/* 0C7108 800C6508 01092821 */ addu $a1, $t0, $t1
/* 0C710C 800C650C 3C0140A0 */ li $at, 0x40A00000 # 5.000000
/* 0C7110 800C6510 44813000 */ mtc1 $at, $f6
/* 0C7114 800C6514 C4A40094 */ lwc1 $f4, 0x94($a1)
/* 0C7118 800C6518 3C01800F */ lui $at, %hi(D_800F3710) # $at, 0x800f
/* 0C711C 800C651C C42A3710 */ lwc1 $f10, %lo(D_800F3710)($at)
/* 0C7120 800C6520 46062203 */ div.s $f8, $f4, $f6
/* 0C7124 800C6524 3C19800F */ lui $t9, %hi(D_800E9EF4) # $t9, 0x800f
/* 0C7128 800C6528 27399EF4 */ addiu $t9, %lo(D_800E9EF4) # addiu $t9, $t9, -0x610c
/* 0C712C 800C652C 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C7130 800C6530 00591821 */ addu $v1, $v0, $t9
/* 0C7134 800C6534 44811000 */ mtc1 $at, $f2
/* 0C7138 800C6538 460A4400 */ add.s $f16, $f8, $f10
/* 0C713C 800C653C 10000046 */ b .L800C6658
/* 0C7140 800C6540 E4700000 */ swc1 $f16, ($v1)
glabel L800C6544
/* 0C7144 800C6544 3C01800F */ lui $at, %hi(D_800E9E54)
/* 0C7148 800C6548 00220821 */ addu $at, $at, $v0
/* 0C714C 800C654C C4329E54 */ lwc1 $f18, %lo(D_800E9E54)($at)
/* 0C7150 800C6550 3C01800F */ lui $at, %hi(D_800F3714) # $at, 0x800f
/* 0C7154 800C6554 C4243714 */ lwc1 $f4, %lo(D_800F3714)($at)
/* 0C7158 800C6558 3C01800F */ lui $at, %hi(D_800F3718) # $at, 0x800f
/* 0C715C 800C655C C4283718 */ lwc1 $f8, %lo(D_800F3718)($at)
/* 0C7160 800C6560 46049181 */ sub.s $f6, $f18, $f4
/* 0C7164 800C6564 3C01800F */ lui $at, %hi(D_800F371C) # $at, 0x800f
/* 0C7168 800C6568 000458C0 */ sll $t3, $a0, 3
/* 0C716C 800C656C C430371C */ lwc1 $f16, %lo(D_800F371C)($at)
/* 0C7170 800C6570 46083283 */ div.s $f10, $f6, $f8
/* 0C7174 800C6574 01645823 */ subu $t3, $t3, $a0
/* 0C7178 800C6578 000B5900 */ sll $t3, $t3, 4
/* 0C717C 800C657C 01645823 */ subu $t3, $t3, $a0
/* 0C7180 800C6580 3C0A800F */ lui $t2, %hi(D_800E9EF4) # $t2, 0x800f
/* 0C7184 800C6584 000B5880 */ sll $t3, $t3, 2
/* 0C7188 800C6588 254A9EF4 */ addiu $t2, %lo(D_800E9EF4) # addiu $t2, $t2, -0x610c
/* 0C718C 800C658C 01645823 */ subu $t3, $t3, $a0
/* 0C7190 800C6590 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C7194 800C6594 3C0C800F */ lui $t4, %hi(D_800F6990) # $t4, 0x800f
/* 0C7198 800C6598 004A1821 */ addu $v1, $v0, $t2
/* 0C719C 800C659C 258C6990 */ addiu $t4, %lo(D_800F6990) # addiu $t4, $t4, 0x6990
/* 0C71A0 800C65A0 44811000 */ mtc1 $at, $f2
/* 0C71A4 800C65A4 000B58C0 */ sll $t3, $t3, 3
/* 0C71A8 800C65A8 016C2821 */ addu $a1, $t3, $t4
/* 0C71AC 800C65AC 46105480 */ add.s $f18, $f10, $f16
/* 0C71B0 800C65B0 10000029 */ b .L800C6658
/* 0C71B4 800C65B4 E4720000 */ swc1 $f18, ($v1)
glabel L800C65B8
/* 0C71B8 800C65B8 000478C0 */ sll $t7, $a0, 3
/* 0C71BC 800C65BC 01E47823 */ subu $t7, $t7, $a0
/* 0C71C0 800C65C0 000F7900 */ sll $t7, $t7, 4
/* 0C71C4 800C65C4 01E47823 */ subu $t7, $t7, $a0
/* 0C71C8 800C65C8 000F7880 */ sll $t7, $t7, 2
/* 0C71CC 800C65CC 01E47823 */ subu $t7, $t7, $a0
/* 0C71D0 800C65D0 3C18800F */ lui $t8, %hi(D_800F6990) # $t8, 0x800f
/* 0C71D4 800C65D4 27186990 */ addiu $t8, %lo(D_800F6990) # addiu $t8, $t8, 0x6990
/* 0C71D8 800C65D8 000F78C0 */ sll $t7, $t7, 3
/* 0C71DC 800C65DC 01F82821 */ addu $a1, $t7, $t8
/* 0C71E0 800C65E0 3C0140A0 */ li $at, 0x40A00000 # 5.000000
/* 0C71E4 800C65E4 44813000 */ mtc1 $at, $f6
/* 0C71E8 800C65E8 C4A40094 */ lwc1 $f4, 0x94($a1)
/* 0C71EC 800C65EC 3C01800F */ lui $at, %hi(D_800F3720) # $at, 0x800f
/* 0C71F0 800C65F0 C42A3720 */ lwc1 $f10, %lo(D_800F3720)($at)
/* 0C71F4 800C65F4 46062203 */ div.s $f8, $f4, $f6
/* 0C71F8 800C65F8 3C0E800F */ lui $t6, %hi(D_800E9EF4) # $t6, 0x800f
/* 0C71FC 800C65FC 25CE9EF4 */ addiu $t6, %lo(D_800E9EF4) # addiu $t6, $t6, -0x610c
/* 0C7200 800C6600 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C7204 800C6604 004E1821 */ addu $v1, $v0, $t6
/* 0C7208 800C6608 44811000 */ mtc1 $at, $f2
/* 0C720C 800C660C 460A4400 */ add.s $f16, $f8, $f10
/* 0C7210 800C6610 10000011 */ b .L800C6658
/* 0C7214 800C6614 E4700000 */ swc1 $f16, ($v1)
.L800C6618:
glabel L800C6618
/* 0C7218 800C6618 000440C0 */ sll $t0, $a0, 3
/* 0C721C 800C661C 01044023 */ subu $t0, $t0, $a0
/* 0C7220 800C6620 00084100 */ sll $t0, $t0, 4
/* 0C7224 800C6624 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C7228 800C6628 01044023 */ subu $t0, $t0, $a0
/* 0C722C 800C662C 44811000 */ mtc1 $at, $f2
/* 0C7230 800C6630 3C19800F */ lui $t9, %hi(D_800E9EF4) # $t9, 0x800f
/* 0C7234 800C6634 00084080 */ sll $t0, $t0, 2
/* 0C7238 800C6638 27399EF4 */ addiu $t9, %lo(D_800E9EF4) # addiu $t9, $t9, -0x610c
/* 0C723C 800C663C 01044023 */ subu $t0, $t0, $a0
/* 0C7240 800C6640 3C09800F */ lui $t1, %hi(D_800F6990) # $t1, 0x800f
/* 0C7244 800C6644 00591821 */ addu $v1, $v0, $t9
/* 0C7248 800C6648 25296990 */ addiu $t1, %lo(D_800F6990) # addiu $t1, $t1, 0x6990
/* 0C724C 800C664C 000840C0 */ sll $t0, $t0, 3
/* 0C7250 800C6650 01092821 */ addu $a1, $t0, $t1
/* 0C7254 800C6654 E4620000 */ swc1 $f2, ($v1)
.L800C6658:
/* 0C7258 800C6658 C4600000 */ lwc1 $f0, ($v1)
/* 0C725C 800C665C 3C18800F */ lui $t8, %hi(D_800E9E34)
/* 0C7260 800C6660 3C19800F */ lui $t9, %hi(D_800E9F24)
/* 0C7264 800C6664 4600103C */ c.lt.s $f2, $f0
/* 0C7268 800C6668 3C0E800F */ lui $t6, %hi(D_800E9E24)
/* 0C726C 800C666C 0302C021 */ addu $t8, $t8, $v0
/* 0C7270 800C6670 0324C821 */ addu $t9, $t9, $a0
/* 0C7274 800C6674 45000003 */ bc1f .L800C6684
/* 0C7278 800C6678 01A0E825 */ move $sp, $t5
/* 0C727C 800C667C E4620000 */ swc1 $f2, ($v1)
/* 0C7280 800C6680 C4600000 */ lwc1 $f0, ($v1)
.L800C6684:
/* 0C7284 800C6684 44801000 */ mtc1 $zero, $f2
/* 0C7288 800C6688 01C27021 */ addu $t6, $t6, $v0
/* 0C728C 800C668C 4602003C */ c.lt.s $f0, $f2
/* 0C7290 800C6690 00000000 */ nop
/* 0C7294 800C6694 45020003 */ bc1fl .L800C66A4
/* 0C7298 800C6698 84AA0044 */ lh $t2, 0x44($a1)
/* 0C729C 800C669C E4620000 */ swc1 $f2, ($v1)
/* 0C72A0 800C66A0 84AA0044 */ lh $t2, 0x44($a1)
.L800C66A4:
/* 0C72A4 800C66A4 24010020 */ li $at, 32
/* 0C72A8 800C66A8 314B0020 */ andi $t3, $t2, 0x20
/* 0C72AC 800C66AC 1561000F */ bne $t3, $at, .L800C66EC
/* 0C72B0 800C66B0 00000000 */ nop
/* 0C72B4 800C66B4 8DCE9E24 */ lw $t6, %lo(D_800E9E24)($t6)
/* 0C72B8 800C66B8 3C01800F */ lui $at, %hi(D_800F3724) # $at, 0x800f
/* 0C72BC 800C66BC C4263724 */ lwc1 $f6, %lo(D_800F3724)($at)
/* 0C72C0 800C66C0 448E9000 */ mtc1 $t6, $f18
/* 0C72C4 800C66C4 3C01800F */ lui $at, %hi(D_800F3728) # $at, 0x800f
/* 0C72C8 800C66C8 C42A3728 */ lwc1 $f10, %lo(D_800F3728)($at)
/* 0C72CC 800C66CC 46809120 */ cvt.s.w $f4, $f18
/* 0C72D0 800C66D0 3C0C800F */ lui $t4, %hi(D_800E9F04) # $t4, 0x800f
/* 0C72D4 800C66D4 258C9F04 */ addiu $t4, %lo(D_800E9F04) # addiu $t4, $t4, -0x60fc
/* 0C72D8 800C66D8 004C1821 */ addu $v1, $v0, $t4
/* 0C72DC 800C66DC 46062202 */ mul.s $f8, $f4, $f6
/* 0C72E0 800C66E0 46085401 */ sub.s $f16, $f10, $f8
/* 0C72E4 800C66E4 1000000E */ b .L800C6720
/* 0C72E8 800C66E8 E4700000 */ swc1 $f16, ($v1)
.L800C66EC:
/* 0C72EC 800C66EC 8F189E34 */ lw $t8, %lo(D_800E9E34)($t8)
/* 0C72F0 800C66F0 3C014248 */ li $at, 0x42480000 # 50.000000
/* 0C72F4 800C66F4 44813000 */ mtc1 $at, $f6
/* 0C72F8 800C66F8 44989000 */ mtc1 $t8, $f18
/* 0C72FC 800C66FC 3C013E80 */ li $at, 0x3E800000 # 0.250000
/* 0C7300 800C6700 44814000 */ mtc1 $at, $f8
/* 0C7304 800C6704 46809120 */ cvt.s.w $f4, $f18
/* 0C7308 800C6708 3C0F800F */ lui $t7, %hi(D_800E9F04) # $t7, 0x800f
/* 0C730C 800C670C 25EF9F04 */ addiu $t7, %lo(D_800E9F04) # addiu $t7, $t7, -0x60fc
/* 0C7310 800C6710 004F1821 */ addu $v1, $v0, $t7
/* 0C7314 800C6714 46062283 */ div.s $f10, $f4, $f6
/* 0C7318 800C6718 46085400 */ add.s $f16, $f10, $f8
/* 0C731C 800C671C E4700000 */ swc1 $f16, ($v1)
.L800C6720:
/* 0C7320 800C6720 93399F24 */ lbu $t9, %lo(D_800E9F24)($t9)
/* 0C7324 800C6724 3C01800F */ lui $at, %hi(D_800F372C) # $at, 0x800f
/* 0C7328 800C6728 13200002 */ beqz $t9, .L800C6734
/* 0C732C 800C672C 00000000 */ nop
/* 0C7330 800C6730 E4620000 */ swc1 $f2, ($v1)
.L800C6734:
/* 0C7334 800C6734 C420372C */ lwc1 $f0, %lo(D_800F372C)($at)
/* 0C7338 800C6738 C4720000 */ lwc1 $f18, ($v1)
/* 0C733C 800C673C 4612003C */ c.lt.s $f0, $f18
/* 0C7340 800C6740 00000000 */ nop
/* 0C7344 800C6744 45000002 */ bc1f .L800C6750
/* 0C7348 800C6748 00000000 */ nop
/* 0C734C 800C674C E4600000 */ swc1 $f0, ($v1)
.L800C6750:
/* 0C7350 800C6750 03E00008 */ jr $ra
/* 0C7354 800C6754 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C6758
/* 0C7358 800C6758 308E00FF */ andi $t6, $a0, 0xff
/* 0C735C 800C675C 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C7360 800C6760 000E1880 */ sll $v1, $t6, 2
/* 0C7364 800C6764 3C02800F */ lui $v0, %hi(D_800E9E74)
/* 0C7368 800C6768 ADA40010 */ sw $a0, 0x10($t5)
/* 0C736C 800C676C 00431021 */ addu $v0, $v0, $v1
/* 0C7370 800C6770 8C429E74 */ lw $v0, %lo(D_800E9E74)($v0)
/* 0C7374 800C6774 24010002 */ li $at, 2
/* 0C7378 800C6778 01C02025 */ move $a0, $t6
/* 0C737C 800C677C 10410021 */ beq $v0, $at, .L800C6804
/* 0C7380 800C6780 01A0E825 */ move $sp, $t5
/* 0C7384 800C6784 24010003 */ li $at, 3
/* 0C7388 800C6788 1041000B */ beq $v0, $at, .L800C67B8
/* 0C738C 800C678C 000478C0 */ sll $t7, $a0, 3
/* 0C7390 800C6790 2401000D */ li $at, 13
/* 0C7394 800C6794 1041001B */ beq $v0, $at, .L800C6804
/* 0C7398 800C6798 24010011 */ li $at, 17
/* 0C739C 800C679C 10410019 */ beq $v0, $at, .L800C6804
/* 0C73A0 800C67A0 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C73A4 800C67A4 44812000 */ mtc1 $at, $f4
/* 0C73A8 800C67A8 3C01800F */ lui $at, %hi(D_800E9F14)
/* 0C73AC 800C67AC 00230821 */ addu $at, $at, $v1
/* 0C73B0 800C67B0 10000020 */ b .L800C6834
/* 0C73B4 800C67B4 E4249F14 */ swc1 $f4, %lo(D_800E9F14)($at)
.L800C67B8:
/* 0C73B8 800C67B8 01E47823 */ subu $t7, $t7, $a0
/* 0C73BC 800C67BC 000F7900 */ sll $t7, $t7, 4
/* 0C73C0 800C67C0 01E47823 */ subu $t7, $t7, $a0
/* 0C73C4 800C67C4 000F7880 */ sll $t7, $t7, 2
/* 0C73C8 800C67C8 01E47823 */ subu $t7, $t7, $a0
/* 0C73CC 800C67CC 000F78C0 */ sll $t7, $t7, 3
/* 0C73D0 800C67D0 3C01800F */ lui $at, %hi(D_800F6A24)
/* 0C73D4 800C67D4 002F0821 */ addu $at, $at, $t7
/* 0C73D8 800C67D8 C4266A24 */ lwc1 $f6, %lo(D_800F6A24)($at)
/* 0C73DC 800C67DC 3C014110 */ li $at, 0x41100000 # 9.000000
/* 0C73E0 800C67E0 44814000 */ mtc1 $at, $f8
/* 0C73E4 800C67E4 3C01800F */ lui $at, %hi(D_800F3730) # $at, 0x800f
/* 0C73E8 800C67E8 C4303730 */ lwc1 $f16, %lo(D_800F3730)($at)
/* 0C73EC 800C67EC 46083283 */ div.s $f10, $f6, $f8
/* 0C73F0 800C67F0 3C01800F */ lui $at, %hi(D_800E9F14)
/* 0C73F4 800C67F4 00230821 */ addu $at, $at, $v1
/* 0C73F8 800C67F8 46105480 */ add.s $f18, $f10, $f16
/* 0C73FC 800C67FC 1000000D */ b .L800C6834
/* 0C7400 800C6800 E4329F14 */ swc1 $f18, %lo(D_800E9F14)($at)
.L800C6804:
/* 0C7404 800C6804 3C01800F */ lui $at, %hi(D_800E9E54)
/* 0C7408 800C6808 00230821 */ addu $at, $at, $v1
/* 0C740C 800C680C C4249E54 */ lwc1 $f4, %lo(D_800E9E54)($at)
/* 0C7410 800C6810 3C01800F */ lui $at, %hi(D_800F3734) # $at, 0x800f
/* 0C7414 800C6814 C4263734 */ lwc1 $f6, %lo(D_800F3734)($at)
/* 0C7418 800C6818 3C01800F */ lui $at, %hi(D_800F3738) # $at, 0x800f
/* 0C741C 800C681C C42A3738 */ lwc1 $f10, %lo(D_800F3738)($at)
/* 0C7420 800C6820 46062203 */ div.s $f8, $f4, $f6
/* 0C7424 800C6824 3C01800F */ lui $at, %hi(D_800E9F14)
/* 0C7428 800C6828 00230821 */ addu $at, $at, $v1
/* 0C742C 800C682C 460A4400 */ add.s $f16, $f8, $f10
/* 0C7430 800C6830 E4309F14 */ swc1 $f16, %lo(D_800E9F14)($at)
.L800C6834:
/* 0C7434 800C6834 03E00008 */ jr $ra
/* 0C7438 800C6838 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C683C
/* 0C743C 800C683C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 0C7440 800C6840 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0C7444 800C6844 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0C7448 800C6848 AFBE0038 */ sw $fp, 0x38($sp)
/* 0C744C 800C684C 03A0F025 */ move $fp, $sp
/* 0C7450 800C6850 AFBF003C */ sw $ra, 0x3c($sp)
/* 0C7454 800C6854 AFB20034 */ sw $s2, 0x34($sp)
/* 0C7458 800C6858 AFB10030 */ sw $s1, 0x30($sp)
/* 0C745C 800C685C AFB0002C */ sw $s0, 0x2c($sp)
/* 0C7460 800C6860 AFA40050 */ sw $a0, 0x50($sp)
/* 0C7464 800C6864 15C00208 */ bnez $t6, .L800C7088
/* 0C7468 800C6868 308600FF */ andi $a2, $a0, 0xff
/* 0C746C 800C686C 3C0F800F */ lui $t7, %hi(D_800EA0EC)
/* 0C7470 800C6870 01E67821 */ addu $t7, $t7, $a2
/* 0C7474 800C6874 91EFA0EC */ lbu $t7, %lo(D_800EA0EC)($t7)
/* 0C7478 800C6878 3C18800F */ lui $t8, %hi(D_800E9E74) # $t8, 0x800f
/* 0C747C 800C687C 27189E74 */ addiu $t8, %lo(D_800E9E74) # addiu $t8, $t8, -0x618c
/* 0C7480 800C6880 15E00201 */ bnez $t7, .L800C7088
/* 0C7484 800C6884 00061080 */ sll $v0, $a2, 2
/* 0C7488 800C6888 3C19800F */ lui $t9, %hi(D_800E9E84) # $t9, 0x800f
/* 0C748C 800C688C 27399E84 */ addiu $t9, %lo(D_800E9E84) # addiu $t9, $t9, -0x617c
/* 0C7490 800C6890 00594021 */ addu $t0, $v0, $t9
/* 0C7494 800C6894 AFA80040 */ sw $t0, 0x40($sp)
/* 0C7498 800C6898 00589021 */ addu $s2, $v0, $t8
/* 0C749C 800C689C 8E430000 */ lw $v1, ($s2)
/* 0C74A0 800C68A0 8D0A0000 */ lw $t2, ($t0)
/* 0C74A4 800C68A4 00065900 */ sll $t3, $a2, 4
/* 0C74A8 800C68A8 01665823 */ subu $t3, $t3, $a2
/* 0C74AC 800C68AC 106A01F4 */ beq $v1, $t2, .L800C7080
/* 0C74B0 800C68B0 000B5880 */ sll $t3, $t3, 2
/* 0C74B4 800C68B4 3C0C800F */ lui $t4, %hi(D_800E9F7C) # $t4, 0x800f
/* 0C74B8 800C68B8 3C0D800F */ lui $t5, %hi(D_800E9E94) # $t5, 0x800f
/* 0C74BC 800C68BC 25AD9E94 */ addiu $t5, %lo(D_800E9E94) # addiu $t5, $t5, -0x616c
/* 0C74C0 800C68C0 258C9F7C */ addiu $t4, %lo(D_800E9F7C) # addiu $t4, $t4, -0x6084
/* 0C74C4 800C68C4 016C8021 */ addu $s0, $t3, $t4
/* 0C74C8 800C68C8 004D8821 */ addu $s1, $v0, $t5
/* 0C74CC 800C68CC 8E250000 */ lw $a1, ($s1)
/* 0C74D0 800C68D0 02002025 */ move $a0, $s0
/* 0C74D4 800C68D4 AFA2004C */ sw $v0, 0x4c($sp)
/* 0C74D8 800C68D8 0C03155E */ jal func_800C5578
/* 0C74DC 800C68DC A3A60053 */ sb $a2, 0x53($sp)
/* 0C74E0 800C68E0 8E4E0000 */ lw $t6, ($s2)
/* 0C74E4 800C68E4 8FC2004C */ lw $v0, 0x4c($fp)
/* 0C74E8 800C68E8 93C60053 */ lbu $a2, 0x53($fp)
/* 0C74EC 800C68EC 25CFFFFF */ addiu $t7, $t6, -1
/* 0C74F0 800C68F0 2DE1001F */ sltiu $at, $t7, 0x1f
/* 0C74F4 800C68F4 102001DE */ beqz $at, .L800C7070
/* 0C74F8 800C68F8 000F7880 */ sll $t7, $t7, 2
/* 0C74FC 800C68FC 3C01800F */ lui $at, %hi(D_800F373C)
/* 0C7500 800C6900 002F0821 */ addu $at, $at, $t7
/* 0C7504 800C6904 8C2F373C */ lw $t7, %lo(D_800F373C)($at)
/* 0C7508 800C6908 01E00008 */ jr $t7
/* 0C750C 800C690C 00000000 */ nop
glabel L800C6910
/* 0C7510 800C6910 3C19800F */ lui $t9, %hi(D_800E9EF4) # $t9, 0x800f
/* 0C7514 800C6914 27399EF4 */ addiu $t9, %lo(D_800E9EF4) # addiu $t9, $t9, -0x610c
/* 0C7518 800C6918 3C18800F */ lui $t8, %hi(D_800E9F14) # $t8, 0x800f
/* 0C751C 800C691C 27189F14 */ addiu $t8, %lo(D_800E9F14) # addiu $t8, $t8, -0x60ec
/* 0C7520 800C6920 00594021 */ addu $t0, $v0, $t9
/* 0C7524 800C6924 3C040100 */ lui $a0, (0x0100F908 >> 16) # lui $a0, 0x100
/* 0C7528 800C6928 26090014 */ addiu $t1, $s0, 0x14
/* 0C752C 800C692C AFA90014 */ sw $t1, 0x14($sp)
/* 0C7530 800C6930 3484F908 */ ori $a0, (0x0100F908 & 0xFFFF) # ori $a0, $a0, 0xf908
/* 0C7534 800C6934 AFA80010 */ sw $t0, 0x10($sp)
/* 0C7538 800C6938 00583821 */ addu $a3, $v0, $t8
/* 0C753C 800C693C 0C031052 */ jal play_sound
/* 0C7540 800C6940 02002825 */ move $a1, $s0
/* 0C7544 800C6944 3C0A0100 */ lui $t2, (0x0100F908 >> 16) # lui $t2, 0x100
/* 0C7548 800C6948 354AF908 */ ori $t2, (0x0100F908 & 0xFFFF) # ori $t2, $t2, 0xf908
/* 0C754C 800C694C AE2A0000 */ sw $t2, ($s1)
/* 0C7550 800C6950 100001CB */ b .L800C7080
/* 0C7554 800C6954 8E430000 */ lw $v1, ($s2)
glabel L800C6958
/* 0C7558 800C6958 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C755C 800C695C 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C7560 800C6960 3C040100 */ lui $a0, (0x0100F81D >> 16) # lui $a0, 0x100
/* 0C7564 800C6964 260B0014 */ addiu $t3, $s0, 0x14
/* 0C7568 800C6968 AFAB0014 */ sw $t3, 0x14($sp)
/* 0C756C 800C696C 3484F81D */ ori $a0, (0x0100F81D & 0xFFFF) # ori $a0, $a0, 0xf81d
/* 0C7570 800C6970 AFA70010 */ sw $a3, 0x10($sp)
/* 0C7574 800C6974 0C031052 */ jal play_sound
/* 0C7578 800C6978 02002825 */ move $a1, $s0
/* 0C757C 800C697C 3C0C0100 */ lui $t4, (0x0100F81D >> 16) # lui $t4, 0x100
/* 0C7580 800C6980 358CF81D */ ori $t4, (0x0100F81D & 0xFFFF) # ori $t4, $t4, 0xf81d
/* 0C7584 800C6984 AE2C0000 */ sw $t4, ($s1)
/* 0C7588 800C6988 100001BD */ b .L800C7080
/* 0C758C 800C698C 8E430000 */ lw $v1, ($s2)
glabel L800C6990
/* 0C7590 800C6990 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C7594 800C6994 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C7598 800C6998 3C040100 */ lui $a0, (0x0100F822 >> 16) # lui $a0, 0x100
/* 0C759C 800C699C 260D0014 */ addiu $t5, $s0, 0x14
/* 0C75A0 800C69A0 AFAD0014 */ sw $t5, 0x14($sp)
/* 0C75A4 800C69A4 3484F822 */ ori $a0, (0x0100F822 & 0xFFFF) # ori $a0, $a0, 0xf822
/* 0C75A8 800C69A8 AFA70010 */ sw $a3, 0x10($sp)
/* 0C75AC 800C69AC 0C031052 */ jal play_sound
/* 0C75B0 800C69B0 02002825 */ move $a1, $s0
/* 0C75B4 800C69B4 3C0E0100 */ lui $t6, (0x0100F822 >> 16) # lui $t6, 0x100
/* 0C75B8 800C69B8 35CEF822 */ ori $t6, (0x0100F822 & 0xFFFF) # ori $t6, $t6, 0xf822
/* 0C75BC 800C69BC AE2E0000 */ sw $t6, ($s1)
/* 0C75C0 800C69C0 100001AF */ b .L800C7080
/* 0C75C4 800C69C4 8E430000 */ lw $v1, ($s2)
glabel L800C69C8
/* 0C75C8 800C69C8 3C0F800F */ lui $t7, %hi(D_800E9EF4) # $t7, 0x800f
/* 0C75CC 800C69CC 25EF9EF4 */ addiu $t7, %lo(D_800E9EF4) # addiu $t7, $t7, -0x610c
/* 0C75D0 800C69D0 004FC021 */ addu $t8, $v0, $t7
/* 0C75D4 800C69D4 3C040100 */ lui $a0, (0x0100F009 >> 16) # lui $a0, 0x100
/* 0C75D8 800C69D8 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C75DC 800C69DC 26190014 */ addiu $t9, $s0, 0x14
/* 0C75E0 800C69E0 AFB90014 */ sw $t9, 0x14($sp)
/* 0C75E4 800C69E4 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C75E8 800C69E8 3484F009 */ ori $a0, (0x0100F009 & 0xFFFF) # ori $a0, $a0, 0xf009
/* 0C75EC 800C69EC AFB80010 */ sw $t8, 0x10($sp)
/* 0C75F0 800C69F0 0C031052 */ jal play_sound
/* 0C75F4 800C69F4 02002825 */ move $a1, $s0
/* 0C75F8 800C69F8 3C080100 */ lui $t0, (0x0100F009 >> 16) # lui $t0, 0x100
/* 0C75FC 800C69FC 3508F009 */ ori $t0, (0x0100F009 & 0xFFFF) # ori $t0, $t0, 0xf009
/* 0C7600 800C6A00 AE280000 */ sw $t0, ($s1)
/* 0C7604 800C6A04 1000019E */ b .L800C7080
/* 0C7608 800C6A08 8E430000 */ lw $v1, ($s2)
glabel L800C6A0C
/* 0C760C 800C6A0C 3C09800F */ lui $t1, %hi(D_800E9F14) # $t1, 0x800f
/* 0C7610 800C6A10 3C0A800F */ lui $t2, %hi(D_800EA1D4) # $t2, 0x800f
/* 0C7614 800C6A14 254AA1D4 */ addiu $t2, %lo(D_800EA1D4) # addiu $t2, $t2, -0x5e2c
/* 0C7618 800C6A18 25299F14 */ addiu $t1, %lo(D_800E9F14) # addiu $t1, $t1, -0x60ec
/* 0C761C 800C6A1C 3C040100 */ lui $a0, (0x0100F40A >> 16) # lui $a0, 0x100
/* 0C7620 800C6A20 260B0014 */ addiu $t3, $s0, 0x14
/* 0C7624 800C6A24 AFAB0014 */ sw $t3, 0x14($sp)
/* 0C7628 800C6A28 3484F40A */ ori $a0, (0x0100F40A & 0xFFFF) # ori $a0, $a0, 0xf40a
/* 0C762C 800C6A2C 00493821 */ addu $a3, $v0, $t1
/* 0C7630 800C6A30 AFAA0010 */ sw $t2, 0x10($sp)
/* 0C7634 800C6A34 0C031052 */ jal play_sound
/* 0C7638 800C6A38 02002825 */ move $a1, $s0
/* 0C763C 800C6A3C 3C0C0100 */ lui $t4, (0x0100F40A >> 16) # lui $t4, 0x100
/* 0C7640 800C6A40 358CF40A */ ori $t4, (0x0100F40A & 0xFFFF) # ori $t4, $t4, 0xf40a
/* 0C7644 800C6A44 AE2C0000 */ sw $t4, ($s1)
/* 0C7648 800C6A48 1000018D */ b .L800C7080
/* 0C764C 800C6A4C 8E430000 */ lw $v1, ($s2)
glabel L800C6A50
/* 0C7650 800C6A50 3C0E800F */ lui $t6, %hi(D_800E9EF4) # $t6, 0x800f
/* 0C7654 800C6A54 25CE9EF4 */ addiu $t6, %lo(D_800E9EF4) # addiu $t6, $t6, -0x610c
/* 0C7658 800C6A58 3C0D800F */ lui $t5, %hi(D_800E9F14) # $t5, 0x800f
/* 0C765C 800C6A5C 25AD9F14 */ addiu $t5, %lo(D_800E9F14) # addiu $t5, $t5, -0x60ec
/* 0C7660 800C6A60 004E7821 */ addu $t7, $v0, $t6
/* 0C7664 800C6A64 3C040100 */ lui $a0, (0x0100F01E >> 16) # lui $a0, 0x100
/* 0C7668 800C6A68 26180014 */ addiu $t8, $s0, 0x14
/* 0C766C 800C6A6C AFB80014 */ sw $t8, 0x14($sp)
/* 0C7670 800C6A70 3484F01E */ ori $a0, (0x0100F01E & 0xFFFF) # ori $a0, $a0, 0xf01e
/* 0C7674 800C6A74 AFAF0010 */ sw $t7, 0x10($sp)
/* 0C7678 800C6A78 004D3821 */ addu $a3, $v0, $t5
/* 0C767C 800C6A7C 0C031052 */ jal play_sound
/* 0C7680 800C6A80 02002825 */ move $a1, $s0
/* 0C7684 800C6A84 3C190100 */ lui $t9, (0x0100F01E >> 16) # lui $t9, 0x100
/* 0C7688 800C6A88 3739F01E */ ori $t9, (0x0100F01E & 0xFFFF) # ori $t9, $t9, 0xf01e
/* 0C768C 800C6A8C AE390000 */ sw $t9, ($s1)
/* 0C7690 800C6A90 1000017B */ b .L800C7080
/* 0C7694 800C6A94 8E430000 */ lw $v1, ($s2)
glabel L800C6A98
/* 0C7698 800C6A98 3C08800F */ lui $t0, %hi(D_800E9F14) # $t0, 0x800f
/* 0C769C 800C6A9C 3C09800F */ lui $t1, %hi(D_800EA1D4) # $t1, 0x800f
/* 0C76A0 800C6AA0 2529A1D4 */ addiu $t1, %lo(D_800EA1D4) # addiu $t1, $t1, -0x5e2c
/* 0C76A4 800C6AA4 25089F14 */ addiu $t0, %lo(D_800E9F14) # addiu $t0, $t0, -0x60ec
/* 0C76A8 800C6AA8 3C040100 */ lui $a0, (0x0100F01F >> 16) # lui $a0, 0x100
/* 0C76AC 800C6AAC 260A0014 */ addiu $t2, $s0, 0x14
/* 0C76B0 800C6AB0 AFAA0014 */ sw $t2, 0x14($sp)
/* 0C76B4 800C6AB4 3484F01F */ ori $a0, (0x0100F01F & 0xFFFF) # ori $a0, $a0, 0xf01f
/* 0C76B8 800C6AB8 00483821 */ addu $a3, $v0, $t0
/* 0C76BC 800C6ABC AFA90010 */ sw $t1, 0x10($sp)
/* 0C76C0 800C6AC0 0C031052 */ jal play_sound
/* 0C76C4 800C6AC4 02002825 */ move $a1, $s0
/* 0C76C8 800C6AC8 3C0B0100 */ lui $t3, (0x0100F01F >> 16) # lui $t3, 0x100
/* 0C76CC 800C6ACC 356BF01F */ ori $t3, (0x0100F01F & 0xFFFF) # ori $t3, $t3, 0xf01f
/* 0C76D0 800C6AD0 AE2B0000 */ sw $t3, ($s1)
/* 0C76D4 800C6AD4 1000016A */ b .L800C7080
/* 0C76D8 800C6AD8 8E430000 */ lw $v1, ($s2)
glabel L800C6ADC
/* 0C76DC 800C6ADC 3C0C800F */ lui $t4, %hi(D_800E9F14) # $t4, 0x800f
/* 0C76E0 800C6AE0 3C0D800F */ lui $t5, %hi(D_800EA1D4) # $t5, 0x800f
/* 0C76E4 800C6AE4 25ADA1D4 */ addiu $t5, %lo(D_800EA1D4) # addiu $t5, $t5, -0x5e2c
/* 0C76E8 800C6AE8 258C9F14 */ addiu $t4, %lo(D_800E9F14) # addiu $t4, $t4, -0x60ec
/* 0C76EC 800C6AEC 3C040100 */ lui $a0, (0x0100F021 >> 16) # lui $a0, 0x100
/* 0C76F0 800C6AF0 260E0014 */ addiu $t6, $s0, 0x14
/* 0C76F4 800C6AF4 AFAE0014 */ sw $t6, 0x14($sp)
/* 0C76F8 800C6AF8 3484F021 */ ori $a0, (0x0100F021 & 0xFFFF) # ori $a0, $a0, 0xf021
/* 0C76FC 800C6AFC 004C3821 */ addu $a3, $v0, $t4
/* 0C7700 800C6B00 AFAD0010 */ sw $t5, 0x10($sp)
/* 0C7704 800C6B04 0C031052 */ jal play_sound
/* 0C7708 800C6B08 02002825 */ move $a1, $s0
/* 0C770C 800C6B0C 3C0F0100 */ lui $t7, (0x0100F021 >> 16) # lui $t7, 0x100
/* 0C7710 800C6B10 35EFF021 */ ori $t7, (0x0100F021 & 0xFFFF) # ori $t7, $t7, 0xf021
/* 0C7714 800C6B14 AE2F0000 */ sw $t7, ($s1)
/* 0C7718 800C6B18 10000159 */ b .L800C7080
/* 0C771C 800C6B1C 8E430000 */ lw $v1, ($s2)
glabel L800C6B20
/* 0C7720 800C6B20 3C18800F */ lui $t8, %hi(D_800E9F14) # $t8, 0x800f
/* 0C7724 800C6B24 3C19800F */ lui $t9, %hi(D_800EA1D4) # $t9, 0x800f
/* 0C7728 800C6B28 2739A1D4 */ addiu $t9, %lo(D_800EA1D4) # addiu $t9, $t9, -0x5e2c
/* 0C772C 800C6B2C 27189F14 */ addiu $t8, %lo(D_800E9F14) # addiu $t8, $t8, -0x60ec
/* 0C7730 800C6B30 3C040100 */ lui $a0, (0x0100F027 >> 16) # lui $a0, 0x100
/* 0C7734 800C6B34 26080014 */ addiu $t0, $s0, 0x14
/* 0C7738 800C6B38 AFA80014 */ sw $t0, 0x14($sp)
/* 0C773C 800C6B3C 3484F027 */ ori $a0, (0x0100F027 & 0xFFFF) # ori $a0, $a0, 0xf027
/* 0C7740 800C6B40 00583821 */ addu $a3, $v0, $t8
/* 0C7744 800C6B44 AFB90010 */ sw $t9, 0x10($sp)
/* 0C7748 800C6B48 0C031052 */ jal play_sound
/* 0C774C 800C6B4C 02002825 */ move $a1, $s0
/* 0C7750 800C6B50 3C090100 */ lui $t1, (0x0100F027 >> 16) # lui $t1, 0x100
/* 0C7754 800C6B54 3529F027 */ ori $t1, (0x0100F027 & 0xFFFF) # ori $t1, $t1, 0xf027
/* 0C7758 800C6B58 AE290000 */ sw $t1, ($s1)
/* 0C775C 800C6B5C 10000148 */ b .L800C7080
/* 0C7760 800C6B60 8E430000 */ lw $v1, ($s2)
glabel L800C6B64
/* 0C7764 800C6B64 3C0A800F */ lui $t2, %hi(D_800E9F14) # $t2, 0x800f
/* 0C7768 800C6B68 3C0B800F */ lui $t3, %hi(D_800EA1D4) # $t3, 0x800f
/* 0C776C 800C6B6C 256BA1D4 */ addiu $t3, %lo(D_800EA1D4) # addiu $t3, $t3, -0x5e2c
/* 0C7770 800C6B70 254A9F14 */ addiu $t2, %lo(D_800E9F14) # addiu $t2, $t2, -0x60ec
/* 0C7774 800C6B74 3C040100 */ lui $a0, (0x0100F020 >> 16) # lui $a0, 0x100
/* 0C7778 800C6B78 260C0014 */ addiu $t4, $s0, 0x14
/* 0C777C 800C6B7C AFAC0014 */ sw $t4, 0x14($sp)
/* 0C7780 800C6B80 3484F020 */ ori $a0, (0x0100F020 & 0xFFFF) # ori $a0, $a0, 0xf020
/* 0C7784 800C6B84 004A3821 */ addu $a3, $v0, $t2
/* 0C7788 800C6B88 AFAB0010 */ sw $t3, 0x10($sp)
/* 0C778C 800C6B8C 0C031052 */ jal play_sound
/* 0C7790 800C6B90 02002825 */ move $a1, $s0
/* 0C7794 800C6B94 3C0D0100 */ lui $t5, (0x0100F020 >> 16) # lui $t5, 0x100
/* 0C7798 800C6B98 35ADF020 */ ori $t5, (0x0100F020 & 0xFFFF) # ori $t5, $t5, 0xf020
/* 0C779C 800C6B9C AE2D0000 */ sw $t5, ($s1)
/* 0C77A0 800C6BA0 10000137 */ b .L800C7080
/* 0C77A4 800C6BA4 8E430000 */ lw $v1, ($s2)
glabel L800C6BA8
/* 0C77A8 800C6BA8 3C0E800F */ lui $t6, %hi(D_800E9F14) # $t6, 0x800f
/* 0C77AC 800C6BAC 3C0F800F */ lui $t7, %hi(D_800EA1D4) # $t7, 0x800f
/* 0C77B0 800C6BB0 25EFA1D4 */ addiu $t7, %lo(D_800EA1D4) # addiu $t7, $t7, -0x5e2c
/* 0C77B4 800C6BB4 25CE9F14 */ addiu $t6, %lo(D_800E9F14) # addiu $t6, $t6, -0x60ec
/* 0C77B8 800C6BB8 3C040100 */ lui $a0, (0x0100F023 >> 16) # lui $a0, 0x100
/* 0C77BC 800C6BBC 26180014 */ addiu $t8, $s0, 0x14
/* 0C77C0 800C6BC0 AFB80014 */ sw $t8, 0x14($sp)
/* 0C77C4 800C6BC4 3484F023 */ ori $a0, (0x0100F023 & 0xFFFF) # ori $a0, $a0, 0xf023
/* 0C77C8 800C6BC8 004E3821 */ addu $a3, $v0, $t6
/* 0C77CC 800C6BCC AFAF0010 */ sw $t7, 0x10($sp)
/* 0C77D0 800C6BD0 0C031052 */ jal play_sound
/* 0C77D4 800C6BD4 02002825 */ move $a1, $s0
/* 0C77D8 800C6BD8 3C190100 */ lui $t9, (0x0100F023 >> 16) # lui $t9, 0x100
/* 0C77DC 800C6BDC 3739F023 */ ori $t9, (0x0100F023 & 0xFFFF) # ori $t9, $t9, 0xf023
/* 0C77E0 800C6BE0 AE390000 */ sw $t9, ($s1)
/* 0C77E4 800C6BE4 10000126 */ b .L800C7080
/* 0C77E8 800C6BE8 8E430000 */ lw $v1, ($s2)
glabel L800C6BEC
/* 0C77EC 800C6BEC 3C08800F */ lui $t0, %hi(D_800E9F14) # $t0, 0x800f
/* 0C77F0 800C6BF0 3C09800F */ lui $t1, %hi(D_800EA1D4) # $t1, 0x800f
/* 0C77F4 800C6BF4 2529A1D4 */ addiu $t1, %lo(D_800EA1D4) # addiu $t1, $t1, -0x5e2c
/* 0C77F8 800C6BF8 25089F14 */ addiu $t0, %lo(D_800E9F14) # addiu $t0, $t0, -0x60ec
/* 0C77FC 800C6BFC 3C040100 */ lui $a0, (0x01008046 >> 16) # lui $a0, 0x100
/* 0C7800 800C6C00 260A0014 */ addiu $t2, $s0, 0x14
/* 0C7804 800C6C04 AFAA0014 */ sw $t2, 0x14($sp)
/* 0C7808 800C6C08 34848046 */ ori $a0, (0x01008046 & 0xFFFF) # ori $a0, $a0, 0x8046
/* 0C780C 800C6C0C 00483821 */ addu $a3, $v0, $t0
/* 0C7810 800C6C10 AFA90010 */ sw $t1, 0x10($sp)
/* 0C7814 800C6C14 0C031052 */ jal play_sound
/* 0C7818 800C6C18 02002825 */ move $a1, $s0
/* 0C781C 800C6C1C 3C0B0100 */ lui $t3, (0x01008046 >> 16) # lui $t3, 0x100
/* 0C7820 800C6C20 356B8046 */ ori $t3, (0x01008046 & 0xFFFF) # ori $t3, $t3, 0x8046
/* 0C7824 800C6C24 AE2B0000 */ sw $t3, ($s1)
/* 0C7828 800C6C28 10000115 */ b .L800C7080
/* 0C782C 800C6C2C 8E430000 */ lw $v1, ($s2)
glabel L800C6C30
/* 0C7830 800C6C30 3C0C800F */ lui $t4, %hi(D_800E9F14) # $t4, 0x800f
/* 0C7834 800C6C34 3C0D800F */ lui $t5, %hi(D_800EA1D4) # $t5, 0x800f
/* 0C7838 800C6C38 25ADA1D4 */ addiu $t5, %lo(D_800EA1D4) # addiu $t5, $t5, -0x5e2c
/* 0C783C 800C6C3C 258C9F14 */ addiu $t4, %lo(D_800E9F14) # addiu $t4, $t4, -0x60ec
/* 0C7840 800C6C40 3C040100 */ lui $a0, (0x0100F025 >> 16) # lui $a0, 0x100
/* 0C7844 800C6C44 260E0014 */ addiu $t6, $s0, 0x14
/* 0C7848 800C6C48 AFAE0014 */ sw $t6, 0x14($sp)
/* 0C784C 800C6C4C 3484F025 */ ori $a0, (0x0100F025 & 0xFFFF) # ori $a0, $a0, 0xf025
/* 0C7850 800C6C50 004C3821 */ addu $a3, $v0, $t4
/* 0C7854 800C6C54 AFAD0010 */ sw $t5, 0x10($sp)
/* 0C7858 800C6C58 0C031052 */ jal play_sound
/* 0C785C 800C6C5C 02002825 */ move $a1, $s0
/* 0C7860 800C6C60 3C0F0100 */ lui $t7, (0x0100F025 >> 16) # lui $t7, 0x100
/* 0C7864 800C6C64 35EFF025 */ ori $t7, (0x0100F025 & 0xFFFF) # ori $t7, $t7, 0xf025
/* 0C7868 800C6C68 AE2F0000 */ sw $t7, ($s1)
/* 0C786C 800C6C6C 10000104 */ b .L800C7080
/* 0C7870 800C6C70 8E430000 */ lw $v1, ($s2)
glabel L800C6C74
/* 0C7874 800C6C74 3C18800F */ lui $t8, %hi(D_800E9EF4) # $t8, 0x800f
/* 0C7878 800C6C78 27189EF4 */ addiu $t8, %lo(D_800E9EF4) # addiu $t8, $t8, -0x610c
/* 0C787C 800C6C7C 0058C821 */ addu $t9, $v0, $t8
/* 0C7880 800C6C80 3C040100 */ lui $a0, (0x0100F00B >> 16) # lui $a0, 0x100
/* 0C7884 800C6C84 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C7888 800C6C88 26080014 */ addiu $t0, $s0, 0x14
/* 0C788C 800C6C8C AFA80014 */ sw $t0, 0x14($sp)
/* 0C7890 800C6C90 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C7894 800C6C94 3484F00B */ ori $a0, (0x0100F00B & 0xFFFF) # ori $a0, $a0, 0xf00b
/* 0C7898 800C6C98 AFB90010 */ sw $t9, 0x10($sp)
/* 0C789C 800C6C9C 0C031052 */ jal play_sound
/* 0C78A0 800C6CA0 02002825 */ move $a1, $s0
/* 0C78A4 800C6CA4 3C090100 */ lui $t1, (0x0100F00B >> 16) # lui $t1, 0x100
/* 0C78A8 800C6CA8 3529F00B */ ori $t1, (0x0100F00B & 0xFFFF) # ori $t1, $t1, 0xf00b
/* 0C78AC 800C6CAC AE290000 */ sw $t1, ($s1)
/* 0C78B0 800C6CB0 100000F3 */ b .L800C7080
/* 0C78B4 800C6CB4 8E430000 */ lw $v1, ($s2)
glabel L800C6CB8
/* 0C78B8 800C6CB8 3C0A800F */ lui $t2, %hi(D_800E9EF4) # $t2, 0x800f
/* 0C78BC 800C6CBC 254A9EF4 */ addiu $t2, %lo(D_800E9EF4) # addiu $t2, $t2, -0x610c
/* 0C78C0 800C6CC0 004A5821 */ addu $t3, $v0, $t2
/* 0C78C4 800C6CC4 3C040100 */ lui $a0, (0x0100F00C >> 16) # lui $a0, 0x100
/* 0C78C8 800C6CC8 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C78CC 800C6CCC 260C0014 */ addiu $t4, $s0, 0x14
/* 0C78D0 800C6CD0 AFAC0014 */ sw $t4, 0x14($sp)
/* 0C78D4 800C6CD4 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C78D8 800C6CD8 3484F00C */ ori $a0, (0x0100F00C & 0xFFFF) # ori $a0, $a0, 0xf00c
/* 0C78DC 800C6CDC AFAB0010 */ sw $t3, 0x10($sp)
/* 0C78E0 800C6CE0 0C031052 */ jal play_sound
/* 0C78E4 800C6CE4 02002825 */ move $a1, $s0
/* 0C78E8 800C6CE8 3C0D0100 */ lui $t5, (0x0100F00C >> 16) # lui $t5, 0x100
/* 0C78EC 800C6CEC 35ADF00C */ ori $t5, (0x0100F00C & 0xFFFF) # ori $t5, $t5, 0xf00c
/* 0C78F0 800C6CF0 AE2D0000 */ sw $t5, ($s1)
/* 0C78F4 800C6CF4 100000E2 */ b .L800C7080
/* 0C78F8 800C6CF8 8E430000 */ lw $v1, ($s2)
glabel L800C6CFC
/* 0C78FC 800C6CFC 3C0E800F */ lui $t6, %hi(D_800E9EF4) # $t6, 0x800f
/* 0C7900 800C6D00 25CE9EF4 */ addiu $t6, %lo(D_800E9EF4) # addiu $t6, $t6, -0x610c
/* 0C7904 800C6D04 004E7821 */ addu $t7, $v0, $t6
/* 0C7908 800C6D08 3C040100 */ lui $a0, (0x0100F00D >> 16) # lui $a0, 0x100
/* 0C790C 800C6D0C 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C7910 800C6D10 26180014 */ addiu $t8, $s0, 0x14
/* 0C7914 800C6D14 AFB80014 */ sw $t8, 0x14($sp)
/* 0C7918 800C6D18 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C791C 800C6D1C 3484F00D */ ori $a0, (0x0100F00D & 0xFFFF) # ori $a0, $a0, 0xf00d
/* 0C7920 800C6D20 AFAF0010 */ sw $t7, 0x10($sp)
/* 0C7924 800C6D24 0C031052 */ jal play_sound
/* 0C7928 800C6D28 02002825 */ move $a1, $s0
/* 0C792C 800C6D2C 3C190100 */ lui $t9, (0x0100F00D >> 16) # lui $t9, 0x100
/* 0C7930 800C6D30 3739F00D */ ori $t9, (0x0100F00D & 0xFFFF) # ori $t9, $t9, 0xf00d
/* 0C7934 800C6D34 AE390000 */ sw $t9, ($s1)
/* 0C7938 800C6D38 100000D1 */ b .L800C7080
/* 0C793C 800C6D3C 8E430000 */ lw $v1, ($s2)
glabel L800C6D40
/* 0C7940 800C6D40 3C08800F */ lui $t0, %hi(D_800E9EF4) # $t0, 0x800f
/* 0C7944 800C6D44 25089EF4 */ addiu $t0, %lo(D_800E9EF4) # addiu $t0, $t0, -0x610c
/* 0C7948 800C6D48 00484821 */ addu $t1, $v0, $t0
/* 0C794C 800C6D4C 3C040100 */ lui $a0, (0x0100F00E >> 16) # lui $a0, 0x100
/* 0C7950 800C6D50 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C7954 800C6D54 260A0014 */ addiu $t2, $s0, 0x14
/* 0C7958 800C6D58 AFAA0014 */ sw $t2, 0x14($sp)
/* 0C795C 800C6D5C 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C7960 800C6D60 3484F00E */ ori $a0, (0x0100F00E & 0xFFFF) # ori $a0, $a0, 0xf00e
/* 0C7964 800C6D64 AFA90010 */ sw $t1, 0x10($sp)
/* 0C7968 800C6D68 0C031052 */ jal play_sound
/* 0C796C 800C6D6C 02002825 */ move $a1, $s0
/* 0C7970 800C6D70 3C0B0100 */ lui $t3, (0x0100F00E >> 16) # lui $t3, 0x100
/* 0C7974 800C6D74 356BF00E */ ori $t3, (0x0100F00E & 0xFFFF) # ori $t3, $t3, 0xf00e
/* 0C7978 800C6D78 AE2B0000 */ sw $t3, ($s1)
/* 0C797C 800C6D7C 100000C0 */ b .L800C7080
/* 0C7980 800C6D80 8E430000 */ lw $v1, ($s2)
glabel L800C6D84
/* 0C7984 800C6D84 3C0C800F */ lui $t4, %hi(D_800E9EF4) # $t4, 0x800f
/* 0C7988 800C6D88 258C9EF4 */ addiu $t4, %lo(D_800E9EF4) # addiu $t4, $t4, -0x610c
/* 0C798C 800C6D8C 004C6821 */ addu $t5, $v0, $t4
/* 0C7990 800C6D90 3C040100 */ lui $a0, (0x0100F00F >> 16) # lui $a0, 0x100
/* 0C7994 800C6D94 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C7998 800C6D98 260E0014 */ addiu $t6, $s0, 0x14
/* 0C799C 800C6D9C AFAE0014 */ sw $t6, 0x14($sp)
/* 0C79A0 800C6DA0 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C79A4 800C6DA4 3484F00F */ ori $a0, (0x0100F00F & 0xFFFF) # ori $a0, $a0, 0xf00f
/* 0C79A8 800C6DA8 AFAD0010 */ sw $t5, 0x10($sp)
/* 0C79AC 800C6DAC 0C031052 */ jal play_sound
/* 0C79B0 800C6DB0 02002825 */ move $a1, $s0
/* 0C79B4 800C6DB4 3C0F0100 */ lui $t7, (0x0100F00F >> 16) # lui $t7, 0x100
/* 0C79B8 800C6DB8 35EFF00F */ ori $t7, (0x0100F00F & 0xFFFF) # ori $t7, $t7, 0xf00f
/* 0C79BC 800C6DBC AE2F0000 */ sw $t7, ($s1)
/* 0C79C0 800C6DC0 100000AF */ b .L800C7080
/* 0C79C4 800C6DC4 8E430000 */ lw $v1, ($s2)
glabel L800C6DC8
/* 0C79C8 800C6DC8 3C18800F */ lui $t8, %hi(D_800E9EF4) # $t8, 0x800f
/* 0C79CC 800C6DCC 27189EF4 */ addiu $t8, %lo(D_800E9EF4) # addiu $t8, $t8, -0x610c
/* 0C79D0 800C6DD0 0058C821 */ addu $t9, $v0, $t8
/* 0C79D4 800C6DD4 3C040100 */ lui $a0, (0x0100F010 >> 16) # lui $a0, 0x100
/* 0C79D8 800C6DD8 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C79DC 800C6DDC 26080014 */ addiu $t0, $s0, 0x14
/* 0C79E0 800C6DE0 AFA80014 */ sw $t0, 0x14($sp)
/* 0C79E4 800C6DE4 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C79E8 800C6DE8 3484F010 */ ori $a0, (0x0100F010 & 0xFFFF) # ori $a0, $a0, 0xf010
/* 0C79EC 800C6DEC AFB90010 */ sw $t9, 0x10($sp)
/* 0C79F0 800C6DF0 0C031052 */ jal play_sound
/* 0C79F4 800C6DF4 02002825 */ move $a1, $s0
/* 0C79F8 800C6DF8 3C090100 */ lui $t1, (0x0100F010 >> 16) # lui $t1, 0x100
/* 0C79FC 800C6DFC 3529F010 */ ori $t1, (0x0100F010 & 0xFFFF) # ori $t1, $t1, 0xf010
/* 0C7A00 800C6E00 AE290000 */ sw $t1, ($s1)
/* 0C7A04 800C6E04 1000009E */ b .L800C7080
/* 0C7A08 800C6E08 8E430000 */ lw $v1, ($s2)
glabel L800C6E0C
/* 0C7A0C 800C6E0C 3C0A800F */ lui $t2, %hi(D_800E9EF4) # $t2, 0x800f
/* 0C7A10 800C6E10 254A9EF4 */ addiu $t2, %lo(D_800E9EF4) # addiu $t2, $t2, -0x610c
/* 0C7A14 800C6E14 004A5821 */ addu $t3, $v0, $t2
/* 0C7A18 800C6E18 3C040100 */ lui $a0, (0x0100F011 >> 16) # lui $a0, 0x100
/* 0C7A1C 800C6E1C 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C7A20 800C6E20 260C0014 */ addiu $t4, $s0, 0x14
/* 0C7A24 800C6E24 AFAC0014 */ sw $t4, 0x14($sp)
/* 0C7A28 800C6E28 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C7A2C 800C6E2C 3484F011 */ ori $a0, (0x0100F011 & 0xFFFF) # ori $a0, $a0, 0xf011
/* 0C7A30 800C6E30 AFAB0010 */ sw $t3, 0x10($sp)
/* 0C7A34 800C6E34 0C031052 */ jal play_sound
/* 0C7A38 800C6E38 02002825 */ move $a1, $s0
/* 0C7A3C 800C6E3C 3C0D0100 */ lui $t5, (0x0100F011 >> 16) # lui $t5, 0x100
/* 0C7A40 800C6E40 35ADF011 */ ori $t5, (0x0100F011 & 0xFFFF) # ori $t5, $t5, 0xf011
/* 0C7A44 800C6E44 AE2D0000 */ sw $t5, ($s1)
/* 0C7A48 800C6E48 1000008D */ b .L800C7080
/* 0C7A4C 800C6E4C 8E430000 */ lw $v1, ($s2)
glabel L800C6E50
/* 0C7A50 800C6E50 3C0E800F */ lui $t6, %hi(D_800E9EF4) # $t6, 0x800f
/* 0C7A54 800C6E54 25CE9EF4 */ addiu $t6, %lo(D_800E9EF4) # addiu $t6, $t6, -0x610c
/* 0C7A58 800C6E58 004E7821 */ addu $t7, $v0, $t6
/* 0C7A5C 800C6E5C 3C040100 */ lui $a0, (0x0100F012 >> 16) # lui $a0, 0x100
/* 0C7A60 800C6E60 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C7A64 800C6E64 26180014 */ addiu $t8, $s0, 0x14
/* 0C7A68 800C6E68 AFB80014 */ sw $t8, 0x14($sp)
/* 0C7A6C 800C6E6C 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C7A70 800C6E70 3484F012 */ ori $a0, (0x0100F012 & 0xFFFF) # ori $a0, $a0, 0xf012
/* 0C7A74 800C6E74 AFAF0010 */ sw $t7, 0x10($sp)
/* 0C7A78 800C6E78 0C031052 */ jal play_sound
/* 0C7A7C 800C6E7C 02002825 */ move $a1, $s0
/* 0C7A80 800C6E80 3C190100 */ lui $t9, (0x0100F012 >> 16) # lui $t9, 0x100
/* 0C7A84 800C6E84 3739F012 */ ori $t9, (0x0100F012 & 0xFFFF) # ori $t9, $t9, 0xf012
/* 0C7A88 800C6E88 AE390000 */ sw $t9, ($s1)
/* 0C7A8C 800C6E8C 1000007C */ b .L800C7080
/* 0C7A90 800C6E90 8E430000 */ lw $v1, ($s2)
glabel L800C6E94
/* 0C7A94 800C6E94 3C08800F */ lui $t0, %hi(D_800E9EF4) # $t0, 0x800f
/* 0C7A98 800C6E98 25089EF4 */ addiu $t0, %lo(D_800E9EF4) # addiu $t0, $t0, -0x610c
/* 0C7A9C 800C6E9C 00484821 */ addu $t1, $v0, $t0
/* 0C7AA0 800C6EA0 3C040100 */ lui $a0, (0x0100F013 >> 16) # lui $a0, 0x100
/* 0C7AA4 800C6EA4 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C7AA8 800C6EA8 260A0014 */ addiu $t2, $s0, 0x14
/* 0C7AAC 800C6EAC AFAA0014 */ sw $t2, 0x14($sp)
/* 0C7AB0 800C6EB0 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C7AB4 800C6EB4 3484F013 */ ori $a0, (0x0100F013 & 0xFFFF) # ori $a0, $a0, 0xf013
/* 0C7AB8 800C6EB8 AFA90010 */ sw $t1, 0x10($sp)
/* 0C7ABC 800C6EBC 0C031052 */ jal play_sound
/* 0C7AC0 800C6EC0 02002825 */ move $a1, $s0
/* 0C7AC4 800C6EC4 3C0B0100 */ lui $t3, (0x0100F013 >> 16) # lui $t3, 0x100
/* 0C7AC8 800C6EC8 356BF013 */ ori $t3, (0x0100F013 & 0xFFFF) # ori $t3, $t3, 0xf013
/* 0C7ACC 800C6ECC AE2B0000 */ sw $t3, ($s1)
/* 0C7AD0 800C6ED0 1000006B */ b .L800C7080
/* 0C7AD4 800C6ED4 8E430000 */ lw $v1, ($s2)
glabel L800C6ED8
/* 0C7AD8 800C6ED8 3C0C800F */ lui $t4, %hi(D_800E9EF4) # $t4, 0x800f
/* 0C7ADC 800C6EDC 258C9EF4 */ addiu $t4, %lo(D_800E9EF4) # addiu $t4, $t4, -0x610c
/* 0C7AE0 800C6EE0 004C6821 */ addu $t5, $v0, $t4
/* 0C7AE4 800C6EE4 3C040100 */ lui $a0, (0x0100F048 >> 16) # lui $a0, 0x100
/* 0C7AE8 800C6EE8 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C7AEC 800C6EEC 260E0014 */ addiu $t6, $s0, 0x14
/* 0C7AF0 800C6EF0 AFAE0014 */ sw $t6, 0x14($sp)
/* 0C7AF4 800C6EF4 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C7AF8 800C6EF8 3484F048 */ ori $a0, (0x0100F048 & 0xFFFF) # ori $a0, $a0, 0xf048
/* 0C7AFC 800C6EFC AFAD0010 */ sw $t5, 0x10($sp)
/* 0C7B00 800C6F00 0C031052 */ jal play_sound
/* 0C7B04 800C6F04 02002825 */ move $a1, $s0
/* 0C7B08 800C6F08 3C0F0100 */ lui $t7, (0x0100F048 >> 16) # lui $t7, 0x100
/* 0C7B0C 800C6F0C 35EFF048 */ ori $t7, (0x0100F048 & 0xFFFF) # ori $t7, $t7, 0xf048
/* 0C7B10 800C6F10 AE2F0000 */ sw $t7, ($s1)
/* 0C7B14 800C6F14 1000005A */ b .L800C7080
/* 0C7B18 800C6F18 8E430000 */ lw $v1, ($s2)
glabel L800C6F1C
/* 0C7B1C 800C6F1C 3C18800F */ lui $t8, %hi(D_800E9EF4) # $t8, 0x800f
/* 0C7B20 800C6F20 27189EF4 */ addiu $t8, %lo(D_800E9EF4) # addiu $t8, $t8, -0x610c
/* 0C7B24 800C6F24 0058C821 */ addu $t9, $v0, $t8
/* 0C7B28 800C6F28 3C040100 */ lui $a0, (0x0100F049 >> 16) # lui $a0, 0x100
/* 0C7B2C 800C6F2C 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C7B30 800C6F30 26080014 */ addiu $t0, $s0, 0x14
/* 0C7B34 800C6F34 AFA80014 */ sw $t0, 0x14($sp)
/* 0C7B38 800C6F38 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C7B3C 800C6F3C 3484F049 */ ori $a0, (0x0100F049 & 0xFFFF) # ori $a0, $a0, 0xf049
/* 0C7B40 800C6F40 AFB90010 */ sw $t9, 0x10($sp)
/* 0C7B44 800C6F44 0C031052 */ jal play_sound
/* 0C7B48 800C6F48 02002825 */ move $a1, $s0
/* 0C7B4C 800C6F4C 3C090100 */ lui $t1, (0x0100F049 >> 16) # lui $t1, 0x100
/* 0C7B50 800C6F50 3529F049 */ ori $t1, (0x0100F049 & 0xFFFF) # ori $t1, $t1, 0xf049
/* 0C7B54 800C6F54 AE290000 */ sw $t1, ($s1)
/* 0C7B58 800C6F58 10000049 */ b .L800C7080
/* 0C7B5C 800C6F5C 8E430000 */ lw $v1, ($s2)
glabel L800C6F60
/* 0C7B60 800C6F60 3C0A800F */ lui $t2, %hi(D_800E9EF4) # $t2, 0x800f
/* 0C7B64 800C6F64 254A9EF4 */ addiu $t2, %lo(D_800E9EF4) # addiu $t2, $t2, -0x610c
/* 0C7B68 800C6F68 004A5821 */ addu $t3, $v0, $t2
/* 0C7B6C 800C6F6C 3C040100 */ lui $a0, (0x0100F04A >> 16) # lui $a0, 0x100
/* 0C7B70 800C6F70 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C7B74 800C6F74 260C0014 */ addiu $t4, $s0, 0x14
/* 0C7B78 800C6F78 AFAC0014 */ sw $t4, 0x14($sp)
/* 0C7B7C 800C6F7C 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C7B80 800C6F80 3484F04A */ ori $a0, (0x0100F04A & 0xFFFF) # ori $a0, $a0, 0xf04a
/* 0C7B84 800C6F84 AFAB0010 */ sw $t3, 0x10($sp)
/* 0C7B88 800C6F88 0C031052 */ jal play_sound
/* 0C7B8C 800C6F8C 02002825 */ move $a1, $s0
/* 0C7B90 800C6F90 3C0D0100 */ lui $t5, (0x0100F04A >> 16) # lui $t5, 0x100
/* 0C7B94 800C6F94 35ADF04A */ ori $t5, (0x0100F04A & 0xFFFF) # ori $t5, $t5, 0xf04a
/* 0C7B98 800C6F98 AE2D0000 */ sw $t5, ($s1)
/* 0C7B9C 800C6F9C 10000038 */ b .L800C7080
/* 0C7BA0 800C6FA0 8E430000 */ lw $v1, ($s2)
glabel L800C6FA4
/* 0C7BA4 800C6FA4 3C0E800F */ lui $t6, %hi(D_800E9EF4) # $t6, 0x800f
/* 0C7BA8 800C6FA8 25CE9EF4 */ addiu $t6, %lo(D_800E9EF4) # addiu $t6, $t6, -0x610c
/* 0C7BAC 800C6FAC 004E7821 */ addu $t7, $v0, $t6
/* 0C7BB0 800C6FB0 3C040100 */ lui $a0, (0x0100F029 >> 16) # lui $a0, 0x100
/* 0C7BB4 800C6FB4 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C7BB8 800C6FB8 26180014 */ addiu $t8, $s0, 0x14
/* 0C7BBC 800C6FBC AFB80014 */ sw $t8, 0x14($sp)
/* 0C7BC0 800C6FC0 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C7BC4 800C6FC4 3484F029 */ ori $a0, (0x0100F029 & 0xFFFF) # ori $a0, $a0, 0xf029
/* 0C7BC8 800C6FC8 AFAF0010 */ sw $t7, 0x10($sp)
/* 0C7BCC 800C6FCC 0C031052 */ jal play_sound
/* 0C7BD0 800C6FD0 02002825 */ move $a1, $s0
/* 0C7BD4 800C6FD4 3C190100 */ lui $t9, (0x0100F029 >> 16) # lui $t9, 0x100
/* 0C7BD8 800C6FD8 3739F029 */ ori $t9, (0x0100F029 & 0xFFFF) # ori $t9, $t9, 0xf029
/* 0C7BDC 800C6FDC AE390000 */ sw $t9, ($s1)
/* 0C7BE0 800C6FE0 10000027 */ b .L800C7080
/* 0C7BE4 800C6FE4 8E430000 */ lw $v1, ($s2)
glabel L800C6FE8
/* 0C7BE8 800C6FE8 3C08800F */ lui $t0, %hi(D_800E9EF4) # $t0, 0x800f
/* 0C7BEC 800C6FEC 25089EF4 */ addiu $t0, %lo(D_800E9EF4) # addiu $t0, $t0, -0x610c
/* 0C7BF0 800C6FF0 00484821 */ addu $t1, $v0, $t0
/* 0C7BF4 800C6FF4 3C040100 */ lui $a0, (0x0100F02A >> 16) # lui $a0, 0x100
/* 0C7BF8 800C6FF8 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C7BFC 800C6FFC 260A0014 */ addiu $t2, $s0, 0x14
/* 0C7C00 800C7000 AFAA0014 */ sw $t2, 0x14($sp)
/* 0C7C04 800C7004 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C7C08 800C7008 3484F02A */ ori $a0, (0x0100F02A & 0xFFFF) # ori $a0, $a0, 0xf02a
/* 0C7C0C 800C700C AFA90010 */ sw $t1, 0x10($sp)
/* 0C7C10 800C7010 0C031052 */ jal play_sound
/* 0C7C14 800C7014 02002825 */ move $a1, $s0
/* 0C7C18 800C7018 3C0B0100 */ lui $t3, (0x0100F02A >> 16) # lui $t3, 0x100
/* 0C7C1C 800C701C 356BF02A */ ori $t3, (0x0100F02A & 0xFFFF) # ori $t3, $t3, 0xf02a
/* 0C7C20 800C7020 AE2B0000 */ sw $t3, ($s1)
/* 0C7C24 800C7024 10000016 */ b .L800C7080
/* 0C7C28 800C7028 8E430000 */ lw $v1, ($s2)
glabel L800C702C
/* 0C7C2C 800C702C 3C0C800F */ lui $t4, %hi(D_800E9EF4) # $t4, 0x800f
/* 0C7C30 800C7030 258C9EF4 */ addiu $t4, %lo(D_800E9EF4) # addiu $t4, $t4, -0x610c
/* 0C7C34 800C7034 004C6821 */ addu $t5, $v0, $t4
/* 0C7C38 800C7038 3C040100 */ lui $a0, (0x0100F02B >> 16) # lui $a0, 0x100
/* 0C7C3C 800C703C 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C7C40 800C7040 260E0014 */ addiu $t6, $s0, 0x14
/* 0C7C44 800C7044 AFAE0014 */ sw $t6, 0x14($sp)
/* 0C7C48 800C7048 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C7C4C 800C704C 3484F02B */ ori $a0, (0x0100F02B & 0xFFFF) # ori $a0, $a0, 0xf02b
/* 0C7C50 800C7050 AFAD0010 */ sw $t5, 0x10($sp)
/* 0C7C54 800C7054 0C031052 */ jal play_sound
/* 0C7C58 800C7058 02002825 */ move $a1, $s0
/* 0C7C5C 800C705C 3C0F0100 */ lui $t7, (0x0100F02B >> 16) # lui $t7, 0x100
/* 0C7C60 800C7060 35EFF02B */ ori $t7, (0x0100F02B & 0xFFFF) # ori $t7, $t7, 0xf02b
/* 0C7C64 800C7064 AE2F0000 */ sw $t7, ($s1)
/* 0C7C68 800C7068 10000005 */ b .L800C7080
/* 0C7C6C 800C706C 8E430000 */ lw $v1, ($s2)
.L800C7070:
glabel L800C7070
/* 0C7C70 800C7070 02002025 */ move $a0, $s0
/* 0C7C74 800C7074 0C03155E */ jal func_800C5578
/* 0C7C78 800C7078 8E250000 */ lw $a1, ($s1)
/* 0C7C7C 800C707C 8E430000 */ lw $v1, ($s2)
.L800C7080:
/* 0C7C80 800C7080 8FD80040 */ lw $t8, 0x40($fp)
/* 0C7C84 800C7084 AF030000 */ sw $v1, ($t8)
.L800C7088:
/* 0C7C88 800C7088 8FDF003C */ lw $ra, 0x3c($fp)
/* 0C7C8C 800C708C 03C0E825 */ move $sp, $fp
/* 0C7C90 800C7090 8FD0002C */ lw $s0, 0x2c($fp)
/* 0C7C94 800C7094 8FD10030 */ lw $s1, 0x30($fp)
/* 0C7C98 800C7098 8FD20034 */ lw $s2, 0x34($fp)
/* 0C7C9C 800C709C 8FDE0038 */ lw $fp, 0x38($fp)
/* 0C7CA0 800C70A0 03E00008 */ jr $ra
/* 0C7CA4 800C70A4 27BD0050 */ addiu $sp, $sp, 0x50
glabel func_800C70A8
/* 0C7CA8 800C70A8 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C7CAC 800C70AC 308500FF */ andi $a1, $a0, 0xff
/* 0C7CB0 800C70B0 3C0E800F */ lui $t6, %hi(D_800EA0EC)
/* 0C7CB4 800C70B4 ADA40010 */ sw $a0, 0x10($t5)
/* 0C7CB8 800C70B8 01C57021 */ addu $t6, $t6, $a1
/* 0C7CBC 800C70BC 91CEA0EC */ lbu $t6, %lo(D_800EA0EC)($t6)
/* 0C7CC0 800C70C0 3C0F800F */ lui $t7, %hi(D_800E9E74) # $t7, 0x800f
/* 0C7CC4 800C70C4 25EF9E74 */ addiu $t7, %lo(D_800E9E74) # addiu $t7, $t7, -0x618c
/* 0C7CC8 800C70C8 15C0017A */ bnez $t6, .L800C76B4
/* 0C7CCC 800C70CC 00051880 */ sll $v1, $a1, 2
/* 0C7CD0 800C70D0 006F1021 */ addu $v0, $v1, $t7
/* 0C7CD4 800C70D4 AC400000 */ sw $zero, ($v0)
/* 0C7CD8 800C70D8 3C01800F */ lui $at, %hi(D_800F37B8) # $at, 0x800f
/* 0C7CDC 800C70DC C42437B8 */ lwc1 $f4, %lo(D_800F37B8)($at)
/* 0C7CE0 800C70E0 3C01800F */ lui $at, %hi(D_800E9E54)
/* 0C7CE4 800C70E4 00230821 */ addu $at, $at, $v1
/* 0C7CE8 800C70E8 C4269E54 */ lwc1 $f6, %lo(D_800E9E54)($at)
/* 0C7CEC 800C70EC 0005C0C0 */ sll $t8, $a1, 3
/* 0C7CF0 800C70F0 0305C023 */ subu $t8, $t8, $a1
/* 0C7CF4 800C70F4 4606203C */ c.lt.s $f4, $f6
/* 0C7CF8 800C70F8 0018C100 */ sll $t8, $t8, 4
/* 0C7CFC 800C70FC 0305C023 */ subu $t8, $t8, $a1
/* 0C7D00 800C7100 0018C080 */ sll $t8, $t8, 2
/* 0C7D04 800C7104 45010009 */ bc1t .L800C712C
/* 0C7D08 800C7108 0305C023 */ subu $t8, $t8, $a1
/* 0C7D0C 800C710C 3C19800F */ lui $t9, %hi(D_800F6990) # $t9, 0x800f
/* 0C7D10 800C7110 27396990 */ addiu $t9, %lo(D_800F6990) # addiu $t9, $t9, 0x6990
/* 0C7D14 800C7114 0018C0C0 */ sll $t8, $t8, 3
/* 0C7D18 800C7118 03191821 */ addu $v1, $t8, $t9
/* 0C7D1C 800C711C 8C6400BC */ lw $a0, 0xbc($v1)
/* 0C7D20 800C7120 24010010 */ li $at, 16
/* 0C7D24 800C7124 30890010 */ andi $t1, $a0, 0x10
/* 0C7D28 800C7128 15210032 */ bne $t1, $at, .L800C71F4
.L800C712C:
/* 0C7D2C 800C712C 000560C0 */ sll $t4, $a1, 3
/* 0C7D30 800C7130 01856023 */ subu $t4, $t4, $a1
/* 0C7D34 800C7134 000C6100 */ sll $t4, $t4, 4
/* 0C7D38 800C7138 01856023 */ subu $t4, $t4, $a1
/* 0C7D3C 800C713C 000C6080 */ sll $t4, $t4, 2
/* 0C7D40 800C7140 01856023 */ subu $t4, $t4, $a1
/* 0C7D44 800C7144 3C0E800F */ lui $t6, %hi(D_800F6990) # $t6, 0x800f
/* 0C7D48 800C7148 25CE6990 */ addiu $t6, %lo(D_800F6990) # addiu $t6, $t6, 0x6990
/* 0C7D4C 800C714C 000C60C0 */ sll $t4, $t4, 3
/* 0C7D50 800C7150 018E1821 */ addu $v1, $t4, $t6
/* 0C7D54 800C7154 906F01D4 */ lbu $t7, 0x1d4($v1)
/* 0C7D58 800C7158 8C6400BC */ lw $a0, 0xbc($v1)
/* 0C7D5C 800C715C 240B0001 */ li $t3, 1
/* 0C7D60 800C7160 25F8FFFE */ addiu $t8, $t7, -2
/* 0C7D64 800C7164 2F010010 */ sltiu $at, $t8, 0x10
/* 0C7D68 800C7168 AC4B0000 */ sw $t3, ($v0)
/* 0C7D6C 800C716C 10200021 */ beqz $at, .L800C71F4
/* 0C7D70 800C7170 30890010 */ andi $t1, $a0, 0x10
/* 0C7D74 800C7174 0018C080 */ sll $t8, $t8, 2
/* 0C7D78 800C7178 3C01800F */ lui $at, %hi(D_800F37BC)
/* 0C7D7C 800C717C 00380821 */ addu $at, $at, $t8
/* 0C7D80 800C7180 8C3837BC */ lw $t8, %lo(D_800F37BC)($at)
/* 0C7D84 800C7184 03000008 */ jr $t8
/* 0C7D88 800C7188 00000000 */ nop
glabel L800C718C
/* 0C7D8C 800C718C 2419000D */ li $t9, 13
/* 0C7D90 800C7190 10000018 */ b .L800C71F4
/* 0C7D94 800C7194 AC590000 */ sw $t9, ($v0)
glabel L800C7198
/* 0C7D98 800C7198 240B000E */ li $t3, 14
/* 0C7D9C 800C719C 10000015 */ b .L800C71F4
/* 0C7DA0 800C71A0 AC4B0000 */ sw $t3, ($v0)
glabel L800C71A4
/* 0C7DA4 800C71A4 240C0011 */ li $t4, 17
/* 0C7DA8 800C71A8 10000012 */ b .L800C71F4
/* 0C7DAC 800C71AC AC4C0000 */ sw $t4, ($v0)
glabel L800C71B0
/* 0C7DB0 800C71B0 240E000F */ li $t6, 15
/* 0C7DB4 800C71B4 1000000F */ b .L800C71F4
/* 0C7DB8 800C71B8 AC4E0000 */ sw $t6, ($v0)
glabel L800C71BC
/* 0C7DBC 800C71BC 240F0010 */ li $t7, 16
/* 0C7DC0 800C71C0 1000000C */ b .L800C71F4
/* 0C7DC4 800C71C4 AC4F0000 */ sw $t7, ($v0)
glabel L800C71C8
/* 0C7DC8 800C71C8 24180014 */ li $t8, 20
/* 0C7DCC 800C71CC 10000009 */ b .L800C71F4
/* 0C7DD0 800C71D0 AC580000 */ sw $t8, ($v0)
glabel L800C71D4
/* 0C7DD4 800C71D4 24070019 */ li $a3, 25
/* 0C7DD8 800C71D8 10000006 */ b .L800C71F4
/* 0C7DDC 800C71DC AC470000 */ sw $a3, ($v0)
glabel L800C71E0
/* 0C7DE0 800C71E0 2406001A */ li $a2, 26
/* 0C7DE4 800C71E4 10000003 */ b .L800C71F4
/* 0C7DE8 800C71E8 AC460000 */ sw $a2, ($v0)
glabel L800C71EC
/* 0C7DEC 800C71EC 2408001B */ li $t0, 27
/* 0C7DF0 800C71F0 AC480000 */ sw $t0, ($v0)
.L800C71F4:
glabel L800C71F4
/* 0C7DF4 800C71F4 24010010 */ li $at, 16
/* 0C7DF8 800C71F8 2406001A */ li $a2, 26
/* 0C7DFC 800C71FC 24070019 */ li $a3, 25
/* 0C7E00 800C7200 2408001B */ li $t0, 27
/* 0C7E04 800C7204 15210023 */ bne $t1, $at, .L800C7294
/* 0C7E08 800C7208 906A01D4 */ lbu $t2, 0x1d4($v1)
/* 0C7E0C 800C720C 254BFFFE */ addiu $t3, $t2, -2
/* 0C7E10 800C7210 24190002 */ li $t9, 2
/* 0C7E14 800C7214 2D610010 */ sltiu $at, $t3, 0x10
/* 0C7E18 800C7218 1020001E */ beqz $at, .L800C7294
/* 0C7E1C 800C721C AC590000 */ sw $t9, ($v0)
/* 0C7E20 800C7220 000B5880 */ sll $t3, $t3, 2
/* 0C7E24 800C7224 3C01800F */ lui $at, %hi(D_800F37FC)
/* 0C7E28 800C7228 002B0821 */ addu $at, $at, $t3
/* 0C7E2C 800C722C 8C2B37FC */ lw $t3, %lo(D_800F37FC)($at)
/* 0C7E30 800C7230 01600008 */ jr $t3
/* 0C7E34 800C7234 00000000 */ nop
glabel L800C7238
/* 0C7E38 800C7238 240C000D */ li $t4, 13
/* 0C7E3C 800C723C 10000015 */ b .L800C7294
/* 0C7E40 800C7240 AC4C0000 */ sw $t4, ($v0)
glabel L800C7244
/* 0C7E44 800C7244 240E000E */ li $t6, 14
/* 0C7E48 800C7248 10000012 */ b .L800C7294
/* 0C7E4C 800C724C AC4E0000 */ sw $t6, ($v0)
glabel L800C7250
/* 0C7E50 800C7250 240F0011 */ li $t7, 17
/* 0C7E54 800C7254 1000000F */ b .L800C7294
/* 0C7E58 800C7258 AC4F0000 */ sw $t7, ($v0)
glabel L800C725C
/* 0C7E5C 800C725C 2418000F */ li $t8, 15
/* 0C7E60 800C7260 1000000C */ b .L800C7294
/* 0C7E64 800C7264 AC580000 */ sw $t8, ($v0)
glabel L800C7268
/* 0C7E68 800C7268 24190010 */ li $t9, 16
/* 0C7E6C 800C726C 10000009 */ b .L800C7294
/* 0C7E70 800C7270 AC590000 */ sw $t9, ($v0)
glabel L800C7274
/* 0C7E74 800C7274 240B0014 */ li $t3, 20
/* 0C7E78 800C7278 10000006 */ b .L800C7294
/* 0C7E7C 800C727C AC4B0000 */ sw $t3, ($v0)
glabel L800C7280
/* 0C7E80 800C7280 10000004 */ b .L800C7294
/* 0C7E84 800C7284 AC470000 */ sw $a3, ($v0)
glabel L800C7288
/* 0C7E88 800C7288 10000002 */ b .L800C7294
/* 0C7E8C 800C728C AC460000 */ sw $a2, ($v0)
glabel L800C7290
/* 0C7E90 800C7290 AC480000 */ sw $t0, ($v0)
.L800C7294:
glabel L800C7294
/* 0C7E94 800C7294 254CFFF9 */ addiu $t4, $t2, -7
/* 0C7E98 800C7298 2D81000B */ sltiu $at, $t4, 0xb
/* 0C7E9C 800C729C 10200063 */ beqz $at, .L800C742C
/* 0C7EA0 800C72A0 000C6080 */ sll $t4, $t4, 2
/* 0C7EA4 800C72A4 3C01800F */ lui $at, %hi(D_800F383C)
/* 0C7EA8 800C72A8 002C0821 */ addu $at, $at, $t4
/* 0C7EAC 800C72AC 8C2C383C */ lw $t4, %lo(D_800F383C)($at)
/* 0C7EB0 800C72B0 01800008 */ jr $t4
/* 0C7EB4 800C72B4 00000000 */ nop
glabel L800C72B8
/* 0C7EB8 800C72B8 8C4E0000 */ lw $t6, ($v0)
/* 0C7EBC 800C72BC 24010006 */ li $at, 6
/* 0C7EC0 800C72C0 240F0004 */ li $t7, 4
/* 0C7EC4 800C72C4 15C10003 */ bne $t6, $at, .L800C72D4
/* 0C7EC8 800C72C8 3C18800F */ lui $t8, %hi(D_800EA1C0) # $t8, 0x800f
/* 0C7ECC 800C72CC 10000057 */ b .L800C742C
/* 0C7ED0 800C72D0 AC4F0000 */ sw $t7, ($v0)
.L800C72D4:
/* 0C7ED4 800C72D4 9318A1C0 */ lbu $t8, %lo(D_800EA1C0)($t8)
/* 0C7ED8 800C72D8 24190005 */ li $t9, 5
/* 0C7EDC 800C72DC 240B0004 */ li $t3, 4
/* 0C7EE0 800C72E0 17000003 */ bnez $t8, .L800C72F0
/* 0C7EE4 800C72E4 00000000 */ nop
/* 0C7EE8 800C72E8 10000050 */ b .L800C742C
/* 0C7EEC 800C72EC AC590000 */ sw $t9, ($v0)
.L800C72F0:
/* 0C7EF0 800C72F0 1000004E */ b .L800C742C
/* 0C7EF4 800C72F4 AC4B0000 */ sw $t3, ($v0)
glabel L800C72F8
/* 0C7EF8 800C72F8 8C4C0000 */ lw $t4, ($v0)
/* 0C7EFC 800C72FC 2401000C */ li $at, 12
/* 0C7F00 800C7300 240E000A */ li $t6, 10
/* 0C7F04 800C7304 15810003 */ bne $t4, $at, .L800C7314
/* 0C7F08 800C7308 3C0F800F */ lui $t7, %hi(D_800EA1C0) # $t7, 0x800f
/* 0C7F0C 800C730C 10000047 */ b .L800C742C
/* 0C7F10 800C7310 AC4E0000 */ sw $t6, ($v0)
.L800C7314:
/* 0C7F14 800C7314 91EFA1C0 */ lbu $t7, %lo(D_800EA1C0)($t7)
/* 0C7F18 800C7318 2418000B */ li $t8, 11
/* 0C7F1C 800C731C 2419000A */ li $t9, 10
/* 0C7F20 800C7320 15E00003 */ bnez $t7, .L800C7330
/* 0C7F24 800C7324 00000000 */ nop
/* 0C7F28 800C7328 10000040 */ b .L800C742C
/* 0C7F2C 800C732C AC580000 */ sw $t8, ($v0)
.L800C7330:
/* 0C7F30 800C7330 1000003E */ b .L800C742C
/* 0C7F34 800C7334 AC590000 */ sw $t9, ($v0)
glabel L800C7338
/* 0C7F38 800C7338 8C4B0000 */ lw $t3, ($v0)
/* 0C7F3C 800C733C 24010018 */ li $at, 24
/* 0C7F40 800C7340 240C0016 */ li $t4, 22
/* 0C7F44 800C7344 15610003 */ bne $t3, $at, .L800C7354
/* 0C7F48 800C7348 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f
/* 0C7F4C 800C734C 10000037 */ b .L800C742C
/* 0C7F50 800C7350 AC4C0000 */ sw $t4, ($v0)
.L800C7354:
/* 0C7F54 800C7354 91CEA1C0 */ lbu $t6, %lo(D_800EA1C0)($t6)
/* 0C7F58 800C7358 240F0017 */ li $t7, 23
/* 0C7F5C 800C735C 24180016 */ li $t8, 22
/* 0C7F60 800C7360 15C00003 */ bnez $t6, .L800C7370
/* 0C7F64 800C7364 00000000 */ nop
/* 0C7F68 800C7368 10000030 */ b .L800C742C
/* 0C7F6C 800C736C AC4F0000 */ sw $t7, ($v0)
.L800C7370:
/* 0C7F70 800C7370 1000002E */ b .L800C742C
/* 0C7F74 800C7374 AC580000 */ sw $t8, ($v0)
glabel L800C7378
/* 0C7F78 800C7378 8C590000 */ lw $t9, ($v0)
/* 0C7F7C 800C737C 2401001F */ li $at, 31
/* 0C7F80 800C7380 240B001D */ li $t3, 29
/* 0C7F84 800C7384 17210003 */ bne $t9, $at, .L800C7394
/* 0C7F88 800C7388 3C0C800F */ lui $t4, %hi(D_800EA1C0) # $t4, 0x800f
/* 0C7F8C 800C738C 10000027 */ b .L800C742C
/* 0C7F90 800C7390 AC4B0000 */ sw $t3, ($v0)
.L800C7394:
/* 0C7F94 800C7394 918CA1C0 */ lbu $t4, %lo(D_800EA1C0)($t4)
/* 0C7F98 800C7398 240E001E */ li $t6, 30
/* 0C7F9C 800C739C 240F001D */ li $t7, 29
/* 0C7FA0 800C73A0 15800003 */ bnez $t4, .L800C73B0
/* 0C7FA4 800C73A4 00000000 */ nop
/* 0C7FA8 800C73A8 10000020 */ b .L800C742C
/* 0C7FAC 800C73AC AC4E0000 */ sw $t6, ($v0)
.L800C73B0:
/* 0C7FB0 800C73B0 1000001E */ b .L800C742C
/* 0C7FB4 800C73B4 AC4F0000 */ sw $t7, ($v0)
glabel L800C73B8
/* 0C7FB8 800C73B8 3C18800F */ lui $t8, %hi(D_800E9F74)
/* 0C7FBC 800C73BC 0305C021 */ addu $t8, $t8, $a1
/* 0C7FC0 800C73C0 93189F74 */ lbu $t8, %lo(D_800E9F74)($t8)
/* 0C7FC4 800C73C4 57000012 */ bnel $t8, $zero, .L800C7410
/* 0C7FC8 800C73C8 2418001C */ li $t8, 28
/* 0C7FCC 800C73CC 8C590000 */ lw $t9, ($v0)
/* 0C7FD0 800C73D0 24010009 */ li $at, 9
/* 0C7FD4 800C73D4 240B0007 */ li $t3, 7
/* 0C7FD8 800C73D8 17210003 */ bne $t9, $at, .L800C73E8
/* 0C7FDC 800C73DC 3C0C800F */ lui $t4, %hi(D_800EA1C0) # $t4, 0x800f
/* 0C7FE0 800C73E0 10000012 */ b .L800C742C
/* 0C7FE4 800C73E4 AC4B0000 */ sw $t3, ($v0)
.L800C73E8:
/* 0C7FE8 800C73E8 918CA1C0 */ lbu $t4, %lo(D_800EA1C0)($t4)
/* 0C7FEC 800C73EC 240E0008 */ li $t6, 8
/* 0C7FF0 800C73F0 240F0007 */ li $t7, 7
/* 0C7FF4 800C73F4 15800003 */ bnez $t4, .L800C7404
/* 0C7FF8 800C73F8 00000000 */ nop
/* 0C7FFC 800C73FC 1000000B */ b .L800C742C
/* 0C8000 800C7400 AC4E0000 */ sw $t6, ($v0)
.L800C7404:
/* 0C8004 800C7404 10000009 */ b .L800C742C
/* 0C8008 800C7408 AC4F0000 */ sw $t7, ($v0)
/* 0C800C 800C740C 2418001C */ li $t8, 28
.L800C7410:
/* 0C8010 800C7410 10000006 */ b .L800C742C
/* 0C8014 800C7414 AC580000 */ sw $t8, ($v0)
glabel L800C7418
/* 0C8018 800C7418 10000004 */ b .L800C742C
/* 0C801C 800C741C AC470000 */ sw $a3, ($v0)
glabel L800C7420
/* 0C8020 800C7420 10000002 */ b .L800C742C
/* 0C8024 800C7424 AC460000 */ sw $a2, ($v0)
glabel L800C7428
/* 0C8028 800C7428 AC480000 */ sw $t0, ($v0)
.L800C742C:
glabel L800C742C
/* 0C802C 800C742C 907901EC */ lbu $t9, 0x1ec($v1)
/* 0C8030 800C7430 272BFFF9 */ addiu $t3, $t9, -7
/* 0C8034 800C7434 2D61000B */ sltiu $at, $t3, 0xb
/* 0C8038 800C7438 10200063 */ beqz $at, .L800C75C8
/* 0C803C 800C743C 000B5880 */ sll $t3, $t3, 2
/* 0C8040 800C7440 3C01800F */ lui $at, %hi(D_800F3868)
/* 0C8044 800C7444 002B0821 */ addu $at, $at, $t3
/* 0C8048 800C7448 8C2B3868 */ lw $t3, %lo(D_800F3868)($at)
/* 0C804C 800C744C 01600008 */ jr $t3
/* 0C8050 800C7450 00000000 */ nop
glabel L800C7454
/* 0C8054 800C7454 8C4C0000 */ lw $t4, ($v0)
/* 0C8058 800C7458 24010005 */ li $at, 5
/* 0C805C 800C745C 240E0004 */ li $t6, 4
/* 0C8060 800C7460 15810003 */ bne $t4, $at, .L800C7470
/* 0C8064 800C7464 3C0F800F */ lui $t7, %hi(D_800EA1C0) # $t7, 0x800f
/* 0C8068 800C7468 10000057 */ b .L800C75C8
/* 0C806C 800C746C AC4E0000 */ sw $t6, ($v0)
.L800C7470:
/* 0C8070 800C7470 91EFA1C0 */ lbu $t7, %lo(D_800EA1C0)($t7)
/* 0C8074 800C7474 24180006 */ li $t8, 6
/* 0C8078 800C7478 24190004 */ li $t9, 4
/* 0C807C 800C747C 15E00003 */ bnez $t7, .L800C748C
/* 0C8080 800C7480 00000000 */ nop
/* 0C8084 800C7484 10000050 */ b .L800C75C8
/* 0C8088 800C7488 AC580000 */ sw $t8, ($v0)
.L800C748C:
/* 0C808C 800C748C 1000004E */ b .L800C75C8
/* 0C8090 800C7490 AC590000 */ sw $t9, ($v0)
glabel L800C7494
/* 0C8094 800C7494 8C4B0000 */ lw $t3, ($v0)
/* 0C8098 800C7498 2401000B */ li $at, 11
/* 0C809C 800C749C 240C000A */ li $t4, 10
/* 0C80A0 800C74A0 15610003 */ bne $t3, $at, .L800C74B0
/* 0C80A4 800C74A4 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f
/* 0C80A8 800C74A8 10000047 */ b .L800C75C8
/* 0C80AC 800C74AC AC4C0000 */ sw $t4, ($v0)
.L800C74B0:
/* 0C80B0 800C74B0 91CEA1C0 */ lbu $t6, %lo(D_800EA1C0)($t6)
/* 0C80B4 800C74B4 240F000C */ li $t7, 12
/* 0C80B8 800C74B8 2418000A */ li $t8, 10
/* 0C80BC 800C74BC 15C00003 */ bnez $t6, .L800C74CC
/* 0C80C0 800C74C0 00000000 */ nop
/* 0C80C4 800C74C4 10000040 */ b .L800C75C8
/* 0C80C8 800C74C8 AC4F0000 */ sw $t7, ($v0)
.L800C74CC:
/* 0C80CC 800C74CC 1000003E */ b .L800C75C8
/* 0C80D0 800C74D0 AC580000 */ sw $t8, ($v0)
glabel L800C74D4
/* 0C80D4 800C74D4 8C590000 */ lw $t9, ($v0)
/* 0C80D8 800C74D8 24010017 */ li $at, 23
/* 0C80DC 800C74DC 240B0016 */ li $t3, 22
/* 0C80E0 800C74E0 17210003 */ bne $t9, $at, .L800C74F0
/* 0C80E4 800C74E4 3C0C800F */ lui $t4, %hi(D_800EA1C0) # $t4, 0x800f
/* 0C80E8 800C74E8 10000037 */ b .L800C75C8
/* 0C80EC 800C74EC AC4B0000 */ sw $t3, ($v0)
.L800C74F0:
/* 0C80F0 800C74F0 918CA1C0 */ lbu $t4, %lo(D_800EA1C0)($t4)
/* 0C80F4 800C74F4 240E0018 */ li $t6, 24
/* 0C80F8 800C74F8 240F0016 */ li $t7, 22
/* 0C80FC 800C74FC 15800003 */ bnez $t4, .L800C750C
/* 0C8100 800C7500 00000000 */ nop
/* 0C8104 800C7504 10000030 */ b .L800C75C8
/* 0C8108 800C7508 AC4E0000 */ sw $t6, ($v0)
.L800C750C:
/* 0C810C 800C750C 1000002E */ b .L800C75C8
/* 0C8110 800C7510 AC4F0000 */ sw $t7, ($v0)
glabel L800C7514
/* 0C8114 800C7514 8C580000 */ lw $t8, ($v0)
/* 0C8118 800C7518 2401001E */ li $at, 30
/* 0C811C 800C751C 2419001D */ li $t9, 29
/* 0C8120 800C7520 17010003 */ bne $t8, $at, .L800C7530
/* 0C8124 800C7524 3C0B800F */ lui $t3, %hi(D_800EA1C0) # $t3, 0x800f
/* 0C8128 800C7528 10000027 */ b .L800C75C8
/* 0C812C 800C752C AC590000 */ sw $t9, ($v0)
.L800C7530:
/* 0C8130 800C7530 916BA1C0 */ lbu $t3, %lo(D_800EA1C0)($t3)
/* 0C8134 800C7534 240C001F */ li $t4, 31
/* 0C8138 800C7538 240E001D */ li $t6, 29
/* 0C813C 800C753C 15600003 */ bnez $t3, .L800C754C
/* 0C8140 800C7540 00000000 */ nop
/* 0C8144 800C7544 10000020 */ b .L800C75C8
/* 0C8148 800C7548 AC4C0000 */ sw $t4, ($v0)
.L800C754C:
/* 0C814C 800C754C 1000001E */ b .L800C75C8
/* 0C8150 800C7550 AC4E0000 */ sw $t6, ($v0)
glabel L800C7554
/* 0C8154 800C7554 3C0F800F */ lui $t7, %hi(D_800E9F74)
/* 0C8158 800C7558 01E57821 */ addu $t7, $t7, $a1
/* 0C815C 800C755C 91EF9F74 */ lbu $t7, %lo(D_800E9F74)($t7)
/* 0C8160 800C7560 55E00012 */ bnel $t7, $zero, .L800C75AC
/* 0C8164 800C7564 240F001C */ li $t7, 28
/* 0C8168 800C7568 8C580000 */ lw $t8, ($v0)
/* 0C816C 800C756C 24010008 */ li $at, 8
/* 0C8170 800C7570 24190007 */ li $t9, 7
/* 0C8174 800C7574 17010003 */ bne $t8, $at, .L800C7584
/* 0C8178 800C7578 3C0B800F */ lui $t3, %hi(D_800EA1C0) # $t3, 0x800f
/* 0C817C 800C757C 10000012 */ b .L800C75C8
/* 0C8180 800C7580 AC590000 */ sw $t9, ($v0)
.L800C7584:
/* 0C8184 800C7584 916BA1C0 */ lbu $t3, %lo(D_800EA1C0)($t3)
/* 0C8188 800C7588 240C0009 */ li $t4, 9
/* 0C818C 800C758C 240E0007 */ li $t6, 7
/* 0C8190 800C7590 15600003 */ bnez $t3, .L800C75A0
/* 0C8194 800C7594 00000000 */ nop
/* 0C8198 800C7598 1000000B */ b .L800C75C8
/* 0C819C 800C759C AC4C0000 */ sw $t4, ($v0)
.L800C75A0:
/* 0C81A0 800C75A0 10000009 */ b .L800C75C8
/* 0C81A4 800C75A4 AC4E0000 */ sw $t6, ($v0)
/* 0C81A8 800C75A8 240F001C */ li $t7, 28
.L800C75AC:
/* 0C81AC 800C75AC 10000006 */ b .L800C75C8
/* 0C81B0 800C75B0 AC4F0000 */ sw $t7, ($v0)
glabel L800C75B4
/* 0C81B4 800C75B4 10000004 */ b .L800C75C8
/* 0C81B8 800C75B8 AC470000 */ sw $a3, ($v0)
glabel L800C75BC
/* 0C81BC 800C75BC 10000002 */ b .L800C75C8
/* 0C81C0 800C75C0 AC460000 */ sw $a2, ($v0)
glabel L800C75C4
/* 0C81C4 800C75C4 AC480000 */ sw $t0, ($v0)
.L800C75C8:
glabel L800C75C8
/* 0C81C8 800C75C8 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 0C81CC 800C75CC 44815000 */ mtc1 $at, $f10
/* 0C81D0 800C75D0 C4680094 */ lwc1 $f8, 0x94($v1)
/* 0C81D4 800C75D4 44808000 */ mtc1 $zero, $f16
/* 0C81D8 800C75D8 24010008 */ li $at, 8
/* 0C81DC 800C75DC 460A403C */ c.lt.s $f8, $f10
/* 0C81E0 800C75E0 30980008 */ andi $t8, $a0, 8
/* 0C81E4 800C75E4 308B4000 */ andi $t3, $a0, 0x4000
/* 0C81E8 800C75E8 308F0800 */ andi $t7, $a0, 0x800
/* 0C81EC 800C75EC 45030004 */ bc1tl .L800C7600
/* 0C81F0 800C75F0 8C590000 */ lw $t9, ($v0)
/* 0C81F4 800C75F4 57010007 */ bnel $t8, $at, .L800C7614
/* 0C81F8 800C75F8 24014000 */ li $at, 16384
/* 0C81FC 800C75FC 8C590000 */ lw $t9, ($v0)
.L800C7600:
/* 0C8200 800C7600 2401001C */ li $at, 28
/* 0C8204 800C7604 53210003 */ beql $t9, $at, .L800C7614
/* 0C8208 800C7608 24014000 */ li $at, 16384
/* 0C820C 800C760C AC400000 */ sw $zero, ($v0)
/* 0C8210 800C7610 24014000 */ li $at, 16384
.L800C7614:
/* 0C8214 800C7614 55610006 */ bnel $t3, $at, .L800C7630
/* 0C8218 800C7618 24010800 */ li $at, 2048
/* 0C821C 800C761C 946C0000 */ lhu $t4, ($v1)
/* 0C8220 800C7620 24012000 */ li $at, 8192
/* 0C8224 800C7624 318E2000 */ andi $t6, $t4, 0x2000
/* 0C8228 800C7628 15C1000D */ bne $t6, $at, .L800C7660
/* 0C822C 800C762C 24010800 */ li $at, 2048
.L800C7630:
/* 0C8230 800C7630 11E1000B */ beq $t7, $at, .L800C7660
/* 0C8234 800C7634 30980080 */ andi $t8, $a0, 0x80
/* 0C8238 800C7638 24010080 */ li $at, 128
/* 0C823C 800C763C 13010008 */ beq $t8, $at, .L800C7660
/* 0C8240 800C7640 30990040 */ andi $t9, $a0, 0x40
/* 0C8244 800C7644 24010040 */ li $at, 64
/* 0C8248 800C7648 53210006 */ beql $t9, $at, .L800C7664
/* 0C824C 800C764C 240E0012 */ li $t6, 18
/* 0C8250 800C7650 846B0044 */ lh $t3, 0x44($v1)
/* 0C8254 800C7654 24014000 */ li $at, 16384
/* 0C8258 800C7658 316C4000 */ andi $t4, $t3, 0x4000
/* 0C825C 800C765C 15810002 */ bne $t4, $at, .L800C7668
.L800C7660:
/* 0C8260 800C7660 240E0012 */ li $t6, 18
.L800C7664:
/* 0C8264 800C7664 AC4E0000 */ sw $t6, ($v0)
.L800C7668:
/* 0C8268 800C7668 308F0020 */ andi $t7, $a0, 0x20
/* 0C826C 800C766C 24010020 */ li $at, 32
/* 0C8270 800C7670 15E10005 */ bne $t7, $at, .L800C7688
/* 0C8274 800C7674 308B0800 */ andi $t3, $a0, 0x800
/* 0C8278 800C7678 94780000 */ lhu $t8, ($v1)
/* 0C827C 800C767C 24012000 */ li $at, 8192
/* 0C8280 800C7680 33192000 */ andi $t9, $t8, 0x2000
/* 0C8284 800C7684 17210002 */ bne $t9, $at, .L800C7690
.L800C7688:
/* 0C8288 800C7688 24010800 */ li $at, 2048
/* 0C828C 800C768C 15610002 */ bne $t3, $at, .L800C7698
.L800C7690:
/* 0C8290 800C7690 240C0013 */ li $t4, 19
/* 0C8294 800C7694 AC4C0000 */ sw $t4, ($v0)
.L800C7698:
/* 0C8298 800C7698 C472020C */ lwc1 $f18, 0x20c($v1)
/* 0C829C 800C769C 240E0003 */ li $t6, 3
/* 0C82A0 800C76A0 46128032 */ c.eq.s $f16, $f18
/* 0C82A4 800C76A4 00000000 */ nop
/* 0C82A8 800C76A8 45030003 */ bc1tl .L800C76B8
/* 0C82AC 800C76AC 01A0E825 */ move $sp, $t5
/* 0C82B0 800C76B0 AC4E0000 */ sw $t6, ($v0)
.L800C76B4:
/* 0C82B4 800C76B4 01A0E825 */ move $sp, $t5
.L800C76B8:
/* 0C82B8 800C76B8 03E00008 */ jr $ra
/* 0C82BC 800C76BC 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C76C0
/* 0C82C0 800C76C0 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 0C82C4 800C76C4 308E00FF */ andi $t6, $a0, 0xff
/* 0C82C8 800C76C8 3C19800F */ lui $t9, %hi(D_800E9EA4) # $t9, 0x800f
/* 0C82CC 800C76CC 27399EA4 */ addiu $t9, %lo(D_800E9EA4) # addiu $t9, $t9, -0x615c
/* 0C82D0 800C76D0 000E7880 */ sll $t7, $t6, 2
/* 0C82D4 800C76D4 01F94021 */ addu $t0, $t7, $t9
/* 0C82D8 800C76D8 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C82DC 800C76DC AFBE0028 */ sw $fp, 0x28($sp)
/* 0C82E0 800C76E0 AFA40040 */ sw $a0, 0x40($sp)
/* 0C82E4 800C76E4 AFA80034 */ sw $t0, 0x34($sp)
/* 0C82E8 800C76E8 AFAF0038 */ sw $t7, 0x38($sp)
/* 0C82EC 800C76EC 8D030000 */ lw $v1, ($t0)
/* 0C82F0 800C76F0 01C02025 */ move $a0, $t6
/* 0C82F4 800C76F4 03A0F025 */ move $fp, $sp
/* 0C82F8 800C76F8 1060035B */ beqz $v1, .L800C8468
/* 0C82FC 800C76FC 286102BC */ slti $at, $v1, 0x2bc
/* 0C8300 800C7700 10200003 */ beqz $at, .L800C7710
/* 0C8304 800C7704 24690001 */ addiu $t1, $v1, 1
/* 0C8308 800C7708 AD090000 */ sw $t1, ($t0)
/* 0C830C 800C770C 01201825 */ move $v1, $t1
.L800C7710:
/* 0C8310 800C7710 24010002 */ li $at, 2
/* 0C8314 800C7714 14610218 */ bne $v1, $at, .L800C7F78
/* 0C8318 800C7718 A3C40043 */ sb $a0, 0x43($fp)
/* 0C831C 800C771C 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100
/* 0C8320 800C7720 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28
/* 0C8324 800C7724 0C032406 */ jal func_800C9018
/* 0C8328 800C7728 A3C40043 */ sb $a0, 0x43($fp)
/* 0C832C 800C772C 3C050100 */ lui $a1, (0x0100FF2C >> 16) # lui $a1, 0x100
/* 0C8330 800C7730 34A5FF2C */ ori $a1, (0x0100FF2C & 0xFFFF) # ori $a1, $a1, 0xff2c
/* 0C8334 800C7734 0C032406 */ jal func_800C9018
/* 0C8338 800C7738 93C40043 */ lbu $a0, 0x43($fp)
/* 0C833C 800C773C 3C050100 */ lui $a1, (0x0100FA4C >> 16) # lui $a1, 0x100
/* 0C8340 800C7740 34A5FA4C */ ori $a1, (0x0100FA4C & 0xFFFF) # ori $a1, $a1, 0xfa4c
/* 0C8344 800C7744 0C032406 */ jal func_800C9018
/* 0C8348 800C7748 93C40043 */ lbu $a0, 0x43($fp)
/* 0C834C 800C774C 93CA0043 */ lbu $t2, 0x43($fp)
/* 0C8350 800C7750 8FCD0038 */ lw $t5, 0x38($fp)
/* 0C8354 800C7754 3C0C800F */ lui $t4, %hi(D_800E9F7C) # $t4, 0x800f
/* 0C8358 800C7758 000A5900 */ sll $t3, $t2, 4
/* 0C835C 800C775C 3C05800F */ lui $a1, %hi(D_800E9E94)
/* 0C8360 800C7760 016A5823 */ subu $t3, $t3, $t2
/* 0C8364 800C7764 000B5880 */ sll $t3, $t3, 2
/* 0C8368 800C7768 258C9F7C */ addiu $t4, %lo(D_800E9F7C) # addiu $t4, $t4, -0x6084
/* 0C836C 800C776C 00AD2821 */ addu $a1, $a1, $t5
/* 0C8370 800C7770 8CA59E94 */ lw $a1, %lo(D_800E9E94)($a1)
/* 0C8374 800C7774 0C03155E */ jal func_800C5578
/* 0C8378 800C7778 016C2021 */ addu $a0, $t3, $t4
/* 0C837C 800C777C 8FCE0038 */ lw $t6, 0x38($fp)
/* 0C8380 800C7780 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
/* 0C8384 800C7784 8C42C53C */ lw $v0, %lo(gModeSelection)($v0)
/* 0C8388 800C7788 3C01800F */ lui $at, %hi(D_800E9E74)
/* 0C838C 800C778C 002E0821 */ addu $at, $at, $t6
/* 0C8390 800C7790 1040000D */ beqz $v0, .L800C77C8
/* 0C8394 800C7794 AC209E74 */ sw $zero, %lo(D_800E9E74)($at)
/* 0C8398 800C7798 24070001 */ li $a3, 1
/* 0C839C 800C779C 104700AC */ beq $v0, $a3, .L800C7A50
/* 0C83A0 800C77A0 3C041001 */ lui $a0, 0x1001
/* 0C83A4 800C77A4 24010002 */ li $at, 2
/* 0C83A8 800C77A8 104100D5 */ beq $v0, $at, .L800C7B00
/* 0C83AC 800C77AC 3C0B800F */ lui $t3, %hi(D_800EA0EC)
/* 0C83B0 800C77B0 24010003 */ li $at, 3
/* 0C83B4 800C77B4 10410165 */ beq $v0, $at, .L800C7D4C
/* 0C83B8 800C77B8 00000000 */ nop
/* 0C83BC 800C77BC 8FCF0034 */ lw $t7, 0x34($fp)
/* 0C83C0 800C77C0 100001ED */ b .L800C7F78
/* 0C83C4 800C77C4 8DE30000 */ lw $v1, ($t7)
.L800C77C8:
/* 0C83C8 800C77C8 93D80043 */ lbu $t8, 0x43($fp)
/* 0C83CC 800C77CC 3C19800F */ lui $t9, %hi(D_800EA0EC) # $t9, 0x800f
/* 0C83D0 800C77D0 2739A0EC */ addiu $t9, %lo(D_800EA0EC) # addiu $t9, $t9, -0x5f14
/* 0C83D4 800C77D4 24080002 */ li $t0, 2
/* 0C83D8 800C77D8 03191021 */ addu $v0, $t8, $t9
/* 0C83DC 800C77DC A0480000 */ sb $t0, ($v0)
/* 0C83E0 800C77E0 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900
/* 0C83E4 800C77E4 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103
/* 0C83E8 800C77E8 AFC20030 */ sw $v0, 0x30($fp)
/* 0C83EC 800C77EC 0C032418 */ jal func_800C9060
/* 0C83F0 800C77F0 93C40043 */ lbu $a0, 0x43($fp)
/* 0C83F4 800C77F4 3C09800F */ lui $t1, %hi(D_800EA1C0) # $t1, 0x800f
/* 0C83F8 800C77F8 9129A1C0 */ lbu $t1, %lo(D_800EA1C0)($t1)
/* 0C83FC 800C77FC 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
/* 0C8400 800C7800 240E0002 */ li $t6, 2
/* 0C8404 800C7804 55200037 */ bnel $t1, $zero, .L800C78E4
/* 0C8408 800C7808 8FCF0030 */ lw $t7, 0x30($fp)
/* 0C840C 800C780C 0C030D12 */ jal func_800C3448
/* 0C8410 800C7810 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C8414 800C7814 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
/* 0C8418 800C7818 0C030D12 */ jal func_800C3448
/* 0C841C 800C781C 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C8420 800C7820 0C03149E */ jal func_800C5278
/* 0C8424 800C7824 24040005 */ li $a0, 5
/* 0C8428 800C7828 93CA0043 */ lbu $t2, 0x43($fp)
/* 0C842C 800C782C 3C02800F */ lui $v0, %hi(D_800F6994)
/* 0C8430 800C7830 000A58C0 */ sll $t3, $t2, 3
/* 0C8434 800C7834 016A5823 */ subu $t3, $t3, $t2
/* 0C8438 800C7838 000B5900 */ sll $t3, $t3, 4
/* 0C843C 800C783C 016A5823 */ subu $t3, $t3, $t2
/* 0C8440 800C7840 000B5880 */ sll $t3, $t3, 2
/* 0C8444 800C7844 016A5823 */ subu $t3, $t3, $t2
/* 0C8448 800C7848 000B58C0 */ sll $t3, $t3, 3
/* 0C844C 800C784C 004B1021 */ addu $v0, $v0, $t3
/* 0C8450 800C7850 84426994 */ lh $v0, %lo(D_800F6994)($v0)
/* 0C8454 800C7854 1440000D */ bnez $v0, .L800C788C
/* 0C8458 800C7858 28410004 */ slti $at, $v0, 4
/* 0C845C 800C785C 0C0325F1 */ jal func_800C97C4
/* 0C8460 800C7860 01402025 */ move $a0, $t2
/* 0C8464 800C7864 240C0002 */ li $t4, 2
/* 0C8468 800C7868 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
/* 0C846C 800C786C A02CA0F0 */ sb $t4, %lo(D_800EA0F0)($at)
/* 0C8470 800C7870 0C0326A2 */ jal func_800C9A88
/* 0C8474 800C7874 93C40043 */ lbu $a0, 0x43($fp)
/* 0C8478 800C7878 2404000D */ li $a0, 13
/* 0C847C 800C787C 0C032905 */ jal func_800CA414
/* 0C8480 800C7880 24050010 */ li $a1, 16
/* 0C8484 800C7884 10000070 */ b .L800C7A48
/* 0C8488 800C7888 8FCD0034 */ lw $t5, 0x34($fp)
.L800C788C:
/* 0C848C 800C788C 1020000D */ beqz $at, .L800C78C4
/* 0C8490 800C7890 3C04C160 */ lui $a0, (0xC1606400 >> 16) # lui $a0, 0xc160
/* 0C8494 800C7894 0C0325F1 */ jal func_800C97C4
/* 0C8498 800C7898 93C40043 */ lbu $a0, 0x43($fp)
/* 0C849C 800C789C 240D0002 */ li $t5, 2
/* 0C84A0 800C78A0 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
/* 0C84A4 800C78A4 A02DA0F0 */ sb $t5, %lo(D_800EA0F0)($at)
/* 0C84A8 800C78A8 0C0326A2 */ jal func_800C9A88
/* 0C84AC 800C78AC 93C40043 */ lbu $a0, 0x43($fp)
/* 0C84B0 800C78B0 2404000E */ li $a0, 14
/* 0C84B4 800C78B4 0C032905 */ jal func_800CA414
/* 0C84B8 800C78B8 24050010 */ li $a1, 16
/* 0C84BC 800C78BC 10000062 */ b .L800C7A48
/* 0C84C0 800C78C0 8FCD0034 */ lw $t5, 0x34($fp)
.L800C78C4:
/* 0C84C4 800C78C4 0C030D12 */ jal func_800C3448
/* 0C84C8 800C78C8 34846400 */ ori $a0, (0xC1606400 & 0xFFFF) # ori $a0, $a0, 0x6400
/* 0C84CC 800C78CC 2404000F */ li $a0, 15
/* 0C84D0 800C78D0 0C032905 */ jal func_800CA414
/* 0C84D4 800C78D4 24050018 */ li $a1, 24
/* 0C84D8 800C78D8 1000005B */ b .L800C7A48
/* 0C84DC 800C78DC 8FCD0034 */ lw $t5, 0x34($fp)
/* 0C84E0 800C78E0 8FCF0030 */ lw $t7, 0x30($fp)
.L800C78E4:
/* 0C84E4 800C78E4 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900
/* 0C84E8 800C78E8 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103
/* 0C84EC 800C78EC A1EE0000 */ sb $t6, ($t7)
/* 0C84F0 800C78F0 0C032418 */ jal func_800C9060
/* 0C84F4 800C78F4 93C40043 */ lbu $a0, 0x43($fp)
/* 0C84F8 800C78F8 93D80043 */ lbu $t8, 0x43($fp)
/* 0C84FC 800C78FC 3C02800F */ lui $v0, %hi(D_800F6994)
/* 0C8500 800C7900 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
/* 0C8504 800C7904 0018C8C0 */ sll $t9, $t8, 3
/* 0C8508 800C7908 0338C823 */ subu $t9, $t9, $t8
/* 0C850C 800C790C 0019C900 */ sll $t9, $t9, 4
/* 0C8510 800C7910 0338C823 */ subu $t9, $t9, $t8
/* 0C8514 800C7914 0019C880 */ sll $t9, $t9, 2
/* 0C8518 800C7918 0338C823 */ subu $t9, $t9, $t8
/* 0C851C 800C791C 0019C8C0 */ sll $t9, $t9, 3
/* 0C8520 800C7920 00591021 */ addu $v0, $v0, $t9
/* 0C8524 800C7924 84426994 */ lh $v0, %lo(D_800F6994)($v0)
/* 0C8528 800C7928 14400013 */ bnez $v0, .L800C7978
/* 0C852C 800C792C 28410004 */ slti $at, $v0, 4
/* 0C8530 800C7930 0C030D12 */ jal func_800C3448
/* 0C8534 800C7934 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C8538 800C7938 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
/* 0C853C 800C793C 0C030D12 */ jal func_800C3448
/* 0C8540 800C7940 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C8544 800C7944 0C0325F1 */ jal func_800C97C4
/* 0C8548 800C7948 93C40043 */ lbu $a0, 0x43($fp)
/* 0C854C 800C794C 24080002 */ li $t0, 2
/* 0C8550 800C7950 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
/* 0C8554 800C7954 A028A0F0 */ sb $t0, %lo(D_800EA0F0)($at)
/* 0C8558 800C7958 0C0326A2 */ jal func_800C9A88
/* 0C855C 800C795C 93C40043 */ lbu $a0, 0x43($fp)
/* 0C8560 800C7960 2404000D */ li $a0, 13
/* 0C8564 800C7964 0C032905 */ jal func_800CA414
/* 0C8568 800C7968 24050010 */ li $a1, 16
/* 0C856C 800C796C 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
/* 0C8570 800C7970 1000002B */ b .L800C7A20
/* 0C8574 800C7974 9042A104 */ lbu $v0, %lo(D_800EA104)($v0)
.L800C7978:
/* 0C8578 800C7978 10200018 */ beqz $at, .L800C79DC
/* 0C857C 800C797C 3C02800F */ lui $v0, %hi(D_800EA104)
/* 0C8580 800C7980 3C09800F */ lui $t1, %hi(D_800EA104) # $t1, 0x800f
/* 0C8584 800C7984 9129A104 */ lbu $t1, %lo(D_800EA104)($t1)
/* 0C8588 800C7988 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
/* 0C858C 800C798C 15200006 */ bnez $t1, .L800C79A8
/* 0C8590 800C7990 00000000 */ nop
/* 0C8594 800C7994 0C030D12 */ jal func_800C3448
/* 0C8598 800C7998 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C859C 800C799C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
/* 0C85A0 800C79A0 0C030D12 */ jal func_800C3448
/* 0C85A4 800C79A4 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
.L800C79A8:
/* 0C85A8 800C79A8 0C0325F1 */ jal func_800C97C4
/* 0C85AC 800C79AC 93C40043 */ lbu $a0, 0x43($fp)
/* 0C85B0 800C79B0 240B0002 */ li $t3, 2
/* 0C85B4 800C79B4 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
/* 0C85B8 800C79B8 A02BA0F0 */ sb $t3, %lo(D_800EA0F0)($at)
/* 0C85BC 800C79BC 0C0326A2 */ jal func_800C9A88
/* 0C85C0 800C79C0 93C40043 */ lbu $a0, 0x43($fp)
/* 0C85C4 800C79C4 2404000E */ li $a0, 14
/* 0C85C8 800C79C8 0C032905 */ jal func_800CA414
/* 0C85CC 800C79CC 24050010 */ li $a1, 16
/* 0C85D0 800C79D0 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
/* 0C85D4 800C79D4 10000012 */ b .L800C7A20
/* 0C85D8 800C79D8 9042A104 */ lbu $v0, %lo(D_800EA104)($v0)
.L800C79DC:
/* 0C85DC 800C79DC 9042A104 */ lbu $v0, %lo(D_800EA104)($v0)
/* 0C85E0 800C79E0 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
/* 0C85E4 800C79E4 1440000E */ bnez $v0, .L800C7A20
/* 0C85E8 800C79E8 00000000 */ nop
/* 0C85EC 800C79EC 0C030D12 */ jal func_800C3448
/* 0C85F0 800C79F0 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C85F4 800C79F4 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
/* 0C85F8 800C79F8 0C030D12 */ jal func_800C3448
/* 0C85FC 800C79FC 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C8600 800C7A00 3C04C160 */ lui $a0, (0xC16000FF >> 16) # lui $a0, 0xc160
/* 0C8604 800C7A04 0C030D12 */ jal func_800C3448
/* 0C8608 800C7A08 34846400 */ ori $a0, (0xC1606400 & 0xFFFF) # ori $a0, $a0, 0x6400
/* 0C860C 800C7A0C 2404000F */ li $a0, 15
/* 0C8610 800C7A10 0C032905 */ jal func_800CA414
/* 0C8614 800C7A14 24050018 */ li $a1, 24
/* 0C8618 800C7A18 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
/* 0C861C 800C7A1C 9042A104 */ lbu $v0, %lo(D_800EA104)($v0)
.L800C7A20:
/* 0C8620 800C7A20 14400006 */ bnez $v0, .L800C7A3C
/* 0C8624 800C7A24 00000000 */ nop
/* 0C8628 800C7A28 8FCA0030 */ lw $t2, 0x30($fp)
/* 0C862C 800C7A2C 24010001 */ li $at, 1
/* 0C8630 800C7A30 914C0000 */ lbu $t4, ($t2)
/* 0C8634 800C7A34 51810004 */ beql $t4, $at, .L800C7A48
/* 0C8638 800C7A38 8FCD0034 */ lw $t5, 0x34($fp)
.L800C7A3C:
/* 0C863C 800C7A3C 0C03149E */ jal func_800C5278
/* 0C8640 800C7A40 24040005 */ li $a0, 5
/* 0C8644 800C7A44 8FCD0034 */ lw $t5, 0x34($fp)
.L800C7A48:
/* 0C8648 800C7A48 1000014B */ b .L800C7F78
/* 0C864C 800C7A4C 8DA30000 */ lw $v1, ($t5)
.L800C7A50:
/* 0C8650 800C7A50 0C030D12 */ jal func_800C3448
/* 0C8654 800C7A54 348400FF */ ori $a0, (0xC16000FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C8658 800C7A58 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
/* 0C865C 800C7A5C 0C030D12 */ jal func_800C3448
/* 0C8660 800C7A60 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C8664 800C7A64 0C0325F1 */ jal func_800C97C4
/* 0C8668 800C7A68 93C40043 */ lbu $a0, 0x43($fp)
/* 0C866C 800C7A6C 240E0002 */ li $t6, 2
/* 0C8670 800C7A70 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
/* 0C8674 800C7A74 A02EA0F0 */ sb $t6, %lo(D_800EA0F0)($at)
/* 0C8678 800C7A78 0C0326A2 */ jal func_800C9A88
/* 0C867C 800C7A7C 00002025 */ move $a0, $zero
/* 0C8680 800C7A80 93C40043 */ lbu $a0, 0x43($fp)
/* 0C8684 800C7A84 3C01800F */ lui $at, %hi(D_800EA0EC)
/* 0C8688 800C7A88 240F0002 */ li $t7, 2
/* 0C868C 800C7A8C 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900
/* 0C8690 800C7A90 00240821 */ addu $at, $at, $a0
/* 0C8694 800C7A94 A02FA0EC */ sb $t7, %lo(D_800EA0EC)($at)
/* 0C8698 800C7A98 0C032418 */ jal func_800C9060
/* 0C869C 800C7A9C 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103
/* 0C86A0 800C7AA0 3C198016 */ lui $t9, %hi(D_801657E5) # $t9, 0x8016
/* 0C86A4 800C7AA4 833957E5 */ lb $t9, %lo(D_801657E5)($t9)
/* 0C86A8 800C7AA8 24010001 */ li $at, 1
/* 0C86AC 800C7AAC 2404000D */ li $a0, 13
/* 0C86B0 800C7AB0 17210005 */ bne $t9, $at, .L800C7AC8
/* 0C86B4 800C7AB4 3C088019 */ lui $t0, %hi(D_8018ED90) # $t0, 0x8019
/* 0C86B8 800C7AB8 0C032905 */ jal func_800CA414
/* 0C86BC 800C7ABC 24050010 */ li $a1, 16
/* 0C86C0 800C7AC0 1000000D */ b .L800C7AF8
/* 0C86C4 800C7AC4 8FC90034 */ lw $t1, 0x34($fp)
.L800C7AC8:
/* 0C86C8 800C7AC8 9108ED90 */ lbu $t0, %lo(D_8018ED90)($t0)
/* 0C86CC 800C7ACC 24010001 */ li $at, 1
/* 0C86D0 800C7AD0 24050010 */ li $a1, 16
/* 0C86D4 800C7AD4 15010005 */ bne $t0, $at, .L800C7AEC
/* 0C86D8 800C7AD8 3C040164 */ lui $a0, (0x01640010 >> 16) # lui $a0, 0x164
/* 0C86DC 800C7ADC 0C032905 */ jal func_800CA414
/* 0C86E0 800C7AE0 2404000E */ li $a0, 14
/* 0C86E4 800C7AE4 10000004 */ b .L800C7AF8
/* 0C86E8 800C7AE8 8FC90034 */ lw $t1, 0x34($fp)
.L800C7AEC:
/* 0C86EC 800C7AEC 0C030D12 */ jal func_800C3448
/* 0C86F0 800C7AF0 34840010 */ ori $a0, (0x01640010 & 0xFFFF) # ori $a0, $a0, 0x10
/* 0C86F4 800C7AF4 8FC90034 */ lw $t1, 0x34($fp)
.L800C7AF8:
/* 0C86F8 800C7AF8 1000011F */ b .L800C7F78
/* 0C86FC 800C7AFC 8D230000 */ lw $v1, ($t1)
.L800C7B00:
/* 0C8700 800C7B00 93C40043 */ lbu $a0, 0x43($fp)
/* 0C8704 800C7B04 256BA0EC */ addiu $t3, $t3, %lo(D_800EA0EC)
/* 0C8708 800C7B08 240A0002 */ li $t2, 2
/* 0C870C 800C7B0C 008B1021 */ addu $v0, $a0, $t3
/* 0C8710 800C7B10 A04A0000 */ sb $t2, ($v0)
/* 0C8714 800C7B14 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900
/* 0C8718 800C7B18 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103
/* 0C871C 800C7B1C 0C032418 */ jal func_800C9060
/* 0C8720 800C7B20 AFC20030 */ sw $v0, 0x30($fp)
/* 0C8724 800C7B24 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f
/* 0C8728 800C7B28 9042A1C0 */ lbu $v0, %lo(D_800EA1C0)($v0)
/* 0C872C 800C7B2C 24010001 */ li $at, 1
/* 0C8730 800C7B30 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
/* 0C8734 800C7B34 10410007 */ beq $v0, $at, .L800C7B54
/* 0C8738 800C7B38 24010002 */ li $at, 2
/* 0C873C 800C7B3C 10410016 */ beq $v0, $at, .L800C7B98
/* 0C8740 800C7B40 24010003 */ li $at, 3
/* 0C8744 800C7B44 10410041 */ beq $v0, $at, .L800C7C4C
/* 0C8748 800C7B48 00000000 */ nop
/* 0C874C 800C7B4C 1000007D */ b .L800C7D44
/* 0C8750 800C7B50 8FCF0034 */ lw $t7, 0x34($fp)
.L800C7B54:
/* 0C8754 800C7B54 0C030D12 */ jal func_800C3448
/* 0C8758 800C7B58 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C875C 800C7B5C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
/* 0C8760 800C7B60 0C030D12 */ jal func_800C3448
/* 0C8764 800C7B64 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C8768 800C7B68 0C0325F1 */ jal func_800C97C4
/* 0C876C 800C7B6C 93C40043 */ lbu $a0, 0x43($fp)
/* 0C8770 800C7B70 240C0002 */ li $t4, 2
/* 0C8774 800C7B74 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
/* 0C8778 800C7B78 A02CA0F0 */ sb $t4, %lo(D_800EA0F0)($at)
/* 0C877C 800C7B7C 0C0326A2 */ jal func_800C9A88
/* 0C8780 800C7B80 93C40043 */ lbu $a0, 0x43($fp)
/* 0C8784 800C7B84 2404000D */ li $a0, 13
/* 0C8788 800C7B88 0C032905 */ jal func_800CA414
/* 0C878C 800C7B8C 24050017 */ li $a1, 23
/* 0C8790 800C7B90 1000006C */ b .L800C7D44
/* 0C8794 800C7B94 8FCF0034 */ lw $t7, 0x34($fp)
.L800C7B98:
/* 0C8798 800C7B98 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
/* 0C879C 800C7B9C 9042A104 */ lbu $v0, %lo(D_800EA104)($v0)
/* 0C87A0 800C7BA0 54400014 */ bnel $v0, $zero, .L800C7BF4
/* 0C87A4 800C7BA4 24010001 */ li $at, 1
/* 0C87A8 800C7BA8 8FCD0030 */ lw $t5, 0x30($fp)
/* 0C87AC 800C7BAC 24010001 */ li $at, 1
/* 0C87B0 800C7BB0 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
/* 0C87B4 800C7BB4 91AE0000 */ lbu $t6, ($t5)
/* 0C87B8 800C7BB8 55C1000E */ bnel $t6, $at, .L800C7BF4
/* 0C87BC 800C7BBC 24010001 */ li $at, 1
/* 0C87C0 800C7BC0 0C030D12 */ jal func_800C3448
/* 0C87C4 800C7BC4 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C87C8 800C7BC8 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
/* 0C87CC 800C7BCC 0C030D12 */ jal func_800C3448
/* 0C87D0 800C7BD0 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C87D4 800C7BD4 2404000D */ li $a0, 13
/* 0C87D8 800C7BD8 0C032905 */ jal func_800CA414
/* 0C87DC 800C7BDC 24050017 */ li $a1, 23
/* 0C87E0 800C7BE0 240F0001 */ li $t7, 1
/* 0C87E4 800C7BE4 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
/* 0C87E8 800C7BE8 10000055 */ b .L800C7D40
/* 0C87EC 800C7BEC A02FA104 */ sb $t7, %lo(D_800EA104)($at)
/* 0C87F0 800C7BF0 24010001 */ li $at, 1
.L800C7BF4:
/* 0C87F4 800C7BF4 54410053 */ bnel $v0, $at, .L800C7D44
/* 0C87F8 800C7BF8 8FCF0034 */ lw $t7, 0x34($fp)
/* 0C87FC 800C7BFC 8FD80030 */ lw $t8, 0x30($fp)
/* 0C8800 800C7C00 24010001 */ li $at, 1
/* 0C8804 800C7C04 93190000 */ lbu $t9, ($t8)
/* 0C8808 800C7C08 5721004E */ bnel $t9, $at, .L800C7D44
/* 0C880C 800C7C0C 8FCF0034 */ lw $t7, 0x34($fp)
/* 0C8810 800C7C10 0C03149E */ jal func_800C5278
/* 0C8814 800C7C14 24040005 */ li $a0, 5
/* 0C8818 800C7C18 0C030D42 */ jal func_800C3508
/* 0C881C 800C7C1C 24040001 */ li $a0, 1
/* 0C8820 800C7C20 2401000D */ li $at, 13
/* 0C8824 800C7C24 10410005 */ beq $v0, $at, .L800C7C3C
/* 0C8828 800C7C28 2404000E */ li $a0, 14
/* 0C882C 800C7C2C 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
/* 0C8830 800C7C30 A020A104 */ sb $zero, %lo(D_800EA104)($at)
/* 0C8834 800C7C34 0C032905 */ jal func_800CA414
/* 0C8838 800C7C38 24050017 */ li $a1, 23
.L800C7C3C:
/* 0C883C 800C7C3C 24080002 */ li $t0, 2
/* 0C8840 800C7C40 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
/* 0C8844 800C7C44 1000003E */ b .L800C7D40
/* 0C8848 800C7C48 A028A104 */ sb $t0, %lo(D_800EA104)($at)
.L800C7C4C:
/* 0C884C 800C7C4C 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
/* 0C8850 800C7C50 9042A104 */ lbu $v0, %lo(D_800EA104)($v0)
/* 0C8854 800C7C54 54400013 */ bnel $v0, $zero, .L800C7CA4
/* 0C8858 800C7C58 24010001 */ li $at, 1
/* 0C885C 800C7C5C 8FC30030 */ lw $v1, 0x30($fp)
/* 0C8860 800C7C60 24010001 */ li $at, 1
/* 0C8864 800C7C64 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
/* 0C8868 800C7C68 90690000 */ lbu $t1, ($v1)
/* 0C886C 800C7C6C 5521000D */ bnel $t1, $at, .L800C7CA4
/* 0C8870 800C7C70 24010001 */ li $at, 1
/* 0C8874 800C7C74 0C030D12 */ jal func_800C3448
/* 0C8878 800C7C78 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C887C 800C7C7C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
/* 0C8880 800C7C80 0C030D12 */ jal func_800C3448
/* 0C8884 800C7C84 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C8888 800C7C88 0C0323BE */ jal func_800C8EF8
/* 0C888C 800C7C8C 2404000D */ li $a0, 13
/* 0C8890 800C7C90 240B0001 */ li $t3, 1
/* 0C8894 800C7C94 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
/* 0C8898 800C7C98 10000029 */ b .L800C7D40
/* 0C889C 800C7C9C A02BA104 */ sb $t3, %lo(D_800EA104)($at)
/* 0C88A0 800C7CA0 24010001 */ li $at, 1
.L800C7CA4:
/* 0C88A4 800C7CA4 14410011 */ bne $v0, $at, .L800C7CEC
/* 0C88A8 800C7CA8 8FC30030 */ lw $v1, 0x30($fp)
/* 0C88AC 800C7CAC 906A0000 */ lbu $t2, ($v1)
/* 0C88B0 800C7CB0 24010001 */ li $at, 1
/* 0C88B4 800C7CB4 5541000E */ bnel $t2, $at, .L800C7CF0
/* 0C88B8 800C7CB8 24010002 */ li $at, 2
/* 0C88BC 800C7CBC 0C030D42 */ jal func_800C3508
/* 0C88C0 800C7CC0 24040001 */ li $a0, 1
/* 0C88C4 800C7CC4 2401000D */ li $at, 13
/* 0C88C8 800C7CC8 10410004 */ beq $v0, $at, .L800C7CDC
/* 0C88CC 800C7CCC 2404000E */ li $a0, 14
/* 0C88D0 800C7CD0 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
/* 0C88D4 800C7CD4 0C0323BE */ jal func_800C8EF8
/* 0C88D8 800C7CD8 A020A104 */ sb $zero, %lo(D_800EA104)($at)
.L800C7CDC:
/* 0C88DC 800C7CDC 240C0002 */ li $t4, 2
/* 0C88E0 800C7CE0 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
/* 0C88E4 800C7CE4 10000016 */ b .L800C7D40
/* 0C88E8 800C7CE8 A02CA104 */ sb $t4, %lo(D_800EA104)($at)
.L800C7CEC:
/* 0C88EC 800C7CEC 24010002 */ li $at, 2
.L800C7CF0:
/* 0C88F0 800C7CF0 54410014 */ bnel $v0, $at, .L800C7D44
/* 0C88F4 800C7CF4 8FCF0034 */ lw $t7, 0x34($fp)
/* 0C88F8 800C7CF8 906D0000 */ lbu $t5, ($v1)
/* 0C88FC 800C7CFC 24010001 */ li $at, 1
/* 0C8900 800C7D00 55A10010 */ bnel $t5, $at, .L800C7D44
/* 0C8904 800C7D04 8FCF0034 */ lw $t7, 0x34($fp)
/* 0C8908 800C7D08 0C03149E */ jal func_800C5278
/* 0C890C 800C7D0C 24040005 */ li $a0, 5
/* 0C8910 800C7D10 0C030D42 */ jal func_800C3508
/* 0C8914 800C7D14 24040001 */ li $a0, 1
/* 0C8918 800C7D18 2401000E */ li $at, 14
/* 0C891C 800C7D1C 10410005 */ beq $v0, $at, .L800C7D34
/* 0C8920 800C7D20 2404000E */ li $a0, 14
/* 0C8924 800C7D24 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
/* 0C8928 800C7D28 A020A104 */ sb $zero, %lo(D_800EA104)($at)
/* 0C892C 800C7D2C 0C032905 */ jal func_800CA414
/* 0C8930 800C7D30 24050017 */ li $a1, 23
.L800C7D34:
/* 0C8934 800C7D34 240E0003 */ li $t6, 3
/* 0C8938 800C7D38 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
/* 0C893C 800C7D3C A02EA104 */ sb $t6, %lo(D_800EA104)($at)
.L800C7D40:
/* 0C8940 800C7D40 8FCF0034 */ lw $t7, 0x34($fp)
.L800C7D44:
/* 0C8944 800C7D44 1000008C */ b .L800C7F78
/* 0C8948 800C7D48 8DE30000 */ lw $v1, ($t7)
.L800C7D4C:
/* 0C894C 800C7D4C 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f
/* 0C8950 800C7D50 9042A1C0 */ lbu $v0, %lo(D_800EA1C0)($v0)
/* 0C8954 800C7D54 24010002 */ li $at, 2
/* 0C8958 800C7D58 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
/* 0C895C 800C7D5C 10470007 */ beq $v0, $a3, .L800C7D7C
/* 0C8960 800C7D60 00000000 */ nop
/* 0C8964 800C7D64 1041002A */ beq $v0, $at, .L800C7E10
/* 0C8968 800C7D68 24010003 */ li $at, 3
/* 0C896C 800C7D6C 10410053 */ beq $v0, $at, .L800C7EBC
/* 0C8970 800C7D70 3C19800F */ lui $t9, %hi(D_800EA0EC)
/* 0C8974 800C7D74 1000007F */ b .L800C7F74
/* 0C8978 800C7D78 8FCF0034 */ lw $t7, 0x34($fp)
.L800C7D7C:
/* 0C897C 800C7D7C 0C030D12 */ jal func_800C3448
/* 0C8980 800C7D80 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C8984 800C7D84 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
/* 0C8988 800C7D88 0C030D12 */ jal func_800C3448
/* 0C898C 800C7D8C 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0C8990 800C7D90 0C03149E */ jal func_800C5278
/* 0C8994 800C7D94 24040005 */ li $a0, 5
/* 0C8998 800C7D98 3C050100 */ lui $a1, (0x0100F926 >> 16) # lui $a1, 0x100
/* 0C899C 800C7D9C 34A5F926 */ ori $a1, (0x0100F926 & 0xFFFF) # ori $a1, $a1, 0xf926
/* 0C89A0 800C7DA0 0C032406 */ jal func_800C9018
/* 0C89A4 800C7DA4 93C40043 */ lbu $a0, 0x43($fp)
/* 0C89A8 800C7DA8 0C0323BE */ jal func_800C8EF8
/* 0C89AC 800C7DAC 24040017 */ li $a0, 23
/* 0C89B0 800C7DB0 3C19800E */ lui $t9, %hi(D_800DC5E8) # $t9, 0x800e
/* 0C89B4 800C7DB4 8F39C5E8 */ lw $t9, %lo(D_800DC5E8)($t9)
/* 0C89B8 800C7DB8 93C40043 */ lbu $a0, 0x43($fp)
/* 0C89BC 800C7DBC 3C05800F */ lui $a1, %hi(D_800F6BE4)
/* 0C89C0 800C7DC0 001940C0 */ sll $t0, $t9, 3
/* 0C89C4 800C7DC4 01194023 */ subu $t0, $t0, $t9
/* 0C89C8 800C7DC8 00084100 */ sll $t0, $t0, 4
/* 0C89CC 800C7DCC 01194023 */ subu $t0, $t0, $t9
/* 0C89D0 800C7DD0 00084080 */ sll $t0, $t0, 2
/* 0C89D4 800C7DD4 01194023 */ subu $t0, $t0, $t9
/* 0C89D8 800C7DD8 000840C0 */ sll $t0, $t0, 3
/* 0C89DC 800C7DDC 3C01800F */ lui $at, %hi(D_800EA0EC)
/* 0C89E0 800C7DE0 00A82821 */ addu $a1, $a1, $t0
/* 0C89E4 800C7DE4 94A56BE4 */ lhu $a1, %lo(D_800F6BE4)($a1)
/* 0C89E8 800C7DE8 24180002 */ li $t8, 2
/* 0C89EC 800C7DEC 00240821 */ addu $at, $at, $a0
/* 0C89F0 800C7DF0 A038A0EC */ sb $t8, %lo(D_800EA0EC)($at)
/* 0C89F4 800C7DF4 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
/* 0C89F8 800C7DF8 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
/* 0C89FC 800C7DFC 00054900 */ sll $t1, $a1, 4
/* 0C8A00 800C7E00 0C03243D */ jal func_800C90F4
/* 0C8A04 800C7E04 01212821 */ addu $a1, $t1, $at
/* 0C8A08 800C7E08 1000005A */ b .L800C7F74
/* 0C8A0C 800C7E0C 8FCF0034 */ lw $t7, 0x34($fp)
.L800C7E10:
/* 0C8A10 800C7E10 3C02800F */ lui $v0, %hi(D_800EA0EC) # $v0, 0x800f
/* 0C8A14 800C7E14 2442A0EC */ addiu $v0, %lo(D_800EA0EC) # addiu $v0, $v0, -0x5f14
/* 0C8A18 800C7E18 904B0000 */ lbu $t3, ($v0)
/* 0C8A1C 800C7E1C 54EB0055 */ bnel $a3, $t3, .L800C7F74
/* 0C8A20 800C7E20 8FCF0034 */ lw $t7, 0x34($fp)
/* 0C8A24 800C7E24 904A0001 */ lbu $t2, 1($v0)
/* 0C8A28 800C7E28 54EA0052 */ bnel $a3, $t2, .L800C7F74
/* 0C8A2C 800C7E2C 8FCF0034 */ lw $t7, 0x34($fp)
/* 0C8A30 800C7E30 904C0002 */ lbu $t4, 2($v0)
/* 0C8A34 800C7E34 54EC004F */ bnel $a3, $t4, .L800C7F74
/* 0C8A38 800C7E38 8FCF0034 */ lw $t7, 0x34($fp)
/* 0C8A3C 800C7E3C 0C03149E */ jal func_800C5278
/* 0C8A40 800C7E40 24040005 */ li $a0, 5
/* 0C8A44 800C7E44 3C050100 */ lui $a1, (0x01008026 >> 16) # lui $a1, 0x100
/* 0C8A48 800C7E48 34A58026 */ ori $a1, (0x01008026 & 0xFFFF) # ori $a1, $a1, 0x8026
/* 0C8A4C 800C7E4C 0C032406 */ jal func_800C9018
/* 0C8A50 800C7E50 93C40043 */ lbu $a0, 0x43($fp)
/* 0C8A54 800C7E54 0C0323BE */ jal func_800C8EF8
/* 0C8A58 800C7E58 24040017 */ li $a0, 23
/* 0C8A5C 800C7E5C 3C0E800E */ lui $t6, %hi(D_800DC5E8) # $t6, 0x800e
/* 0C8A60 800C7E60 8DCEC5E8 */ lw $t6, %lo(D_800DC5E8)($t6)
/* 0C8A64 800C7E64 93C40043 */ lbu $a0, 0x43($fp)
/* 0C8A68 800C7E68 3C05800F */ lui $a1, %hi(D_800F6BE4)
/* 0C8A6C 800C7E6C 000E78C0 */ sll $t7, $t6, 3
/* 0C8A70 800C7E70 01EE7823 */ subu $t7, $t7, $t6
/* 0C8A74 800C7E74 000F7900 */ sll $t7, $t7, 4
/* 0C8A78 800C7E78 01EE7823 */ subu $t7, $t7, $t6
/* 0C8A7C 800C7E7C 000F7880 */ sll $t7, $t7, 2
/* 0C8A80 800C7E80 01EE7823 */ subu $t7, $t7, $t6
/* 0C8A84 800C7E84 000F78C0 */ sll $t7, $t7, 3
/* 0C8A88 800C7E88 3C01800F */ lui $at, %hi(D_800EA0EC)
/* 0C8A8C 800C7E8C 00AF2821 */ addu $a1, $a1, $t7
/* 0C8A90 800C7E90 94A56BE4 */ lhu $a1, %lo(D_800F6BE4)($a1)
/* 0C8A94 800C7E94 240D0002 */ li $t5, 2
/* 0C8A98 800C7E98 00240821 */ addu $at, $at, $a0
/* 0C8A9C 800C7E9C A02DA0EC */ sb $t5, %lo(D_800EA0EC)($at)
/* 0C8AA0 800C7EA0 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
/* 0C8AA4 800C7EA4 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
/* 0C8AA8 800C7EA8 0005C100 */ sll $t8, $a1, 4
/* 0C8AAC 800C7EAC 0C03243D */ jal func_800C90F4
/* 0C8AB0 800C7EB0 03012821 */ addu $a1, $t8, $at
/* 0C8AB4 800C7EB4 1000002F */ b .L800C7F74
/* 0C8AB8 800C7EB8 8FCF0034 */ lw $t7, 0x34($fp)
.L800C7EBC:
/* 0C8ABC 800C7EBC 9339A0EC */ lbu $t9, %lo(D_800EA0EC)($t9)
/* 0C8AC0 800C7EC0 3C08800F */ lui $t0, %hi(D_800EA0ED) # $t0, 0x800f
/* 0C8AC4 800C7EC4 54F9002B */ bnel $a3, $t9, .L800C7F74
/* 0C8AC8 800C7EC8 8FCF0034 */ lw $t7, 0x34($fp)
/* 0C8ACC 800C7ECC 9108A0ED */ lbu $t0, %lo(D_800EA0ED)($t0)
/* 0C8AD0 800C7ED0 3C09800F */ lui $t1, %hi(D_800EA0EE) # $t1, 0x800f
/* 0C8AD4 800C7ED4 54E80027 */ bnel $a3, $t0, .L800C7F74
/* 0C8AD8 800C7ED8 8FCF0034 */ lw $t7, 0x34($fp)
/* 0C8ADC 800C7EDC 9129A0EE */ lbu $t1, %lo(D_800EA0EE)($t1)
/* 0C8AE0 800C7EE0 3C0B800F */ lui $t3, %hi(D_800EA0EF) # $t3, 0x800f
/* 0C8AE4 800C7EE4 54E90023 */ bnel $a3, $t1, .L800C7F74
/* 0C8AE8 800C7EE8 8FCF0034 */ lw $t7, 0x34($fp)
/* 0C8AEC 800C7EEC 916BA0EF */ lbu $t3, %lo(D_800EA0EF)($t3)
/* 0C8AF0 800C7EF0 54EB0020 */ bnel $a3, $t3, .L800C7F74
/* 0C8AF4 800C7EF4 8FCF0034 */ lw $t7, 0x34($fp)
/* 0C8AF8 800C7EF8 0C03149E */ jal func_800C5278
/* 0C8AFC 800C7EFC 24040005 */ li $a0, 5
/* 0C8B00 800C7F00 3C050100 */ lui $a1, (0x01008026 >> 16) # lui $a1, 0x100
/* 0C8B04 800C7F04 34A58026 */ ori $a1, (0x01008026 & 0xFFFF) # ori $a1, $a1, 0x8026
/* 0C8B08 800C7F08 0C032406 */ jal func_800C9018
/* 0C8B0C 800C7F0C 93C40043 */ lbu $a0, 0x43($fp)
/* 0C8B10 800C7F10 0C0323BE */ jal func_800C8EF8
/* 0C8B14 800C7F14 24040017 */ li $a0, 23
/* 0C8B18 800C7F18 3C0C800E */ lui $t4, %hi(D_800DC5E8) # $t4, 0x800e
/* 0C8B1C 800C7F1C 8D8CC5E8 */ lw $t4, %lo(D_800DC5E8)($t4)
/* 0C8B20 800C7F20 93C40043 */ lbu $a0, 0x43($fp)
/* 0C8B24 800C7F24 3C05800F */ lui $a1, %hi(D_800F6BE4)
/* 0C8B28 800C7F28 000C68C0 */ sll $t5, $t4, 3
/* 0C8B2C 800C7F2C 01AC6823 */ subu $t5, $t5, $t4
/* 0C8B30 800C7F30 000D6900 */ sll $t5, $t5, 4
/* 0C8B34 800C7F34 01AC6823 */ subu $t5, $t5, $t4
/* 0C8B38 800C7F38 000D6880 */ sll $t5, $t5, 2
/* 0C8B3C 800C7F3C 01AC6823 */ subu $t5, $t5, $t4
/* 0C8B40 800C7F40 000D68C0 */ sll $t5, $t5, 3
/* 0C8B44 800C7F44 3C01800F */ lui $at, %hi(D_800EA0EC)
/* 0C8B48 800C7F48 00AD2821 */ addu $a1, $a1, $t5
/* 0C8B4C 800C7F4C 94A56BE4 */ lhu $a1, %lo(D_800F6BE4)($a1)
/* 0C8B50 800C7F50 240A0002 */ li $t2, 2
/* 0C8B54 800C7F54 00240821 */ addu $at, $at, $a0
/* 0C8B58 800C7F58 A02AA0EC */ sb $t2, %lo(D_800EA0EC)($at)
/* 0C8B5C 800C7F5C 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
/* 0C8B60 800C7F60 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
/* 0C8B64 800C7F64 00057100 */ sll $t6, $a1, 4
/* 0C8B68 800C7F68 0C03243D */ jal func_800C90F4
/* 0C8B6C 800C7F6C 01C12821 */ addu $a1, $t6, $at
/* 0C8B70 800C7F70 8FCF0034 */ lw $t7, 0x34($fp)
.L800C7F74:
/* 0C8B74 800C7F74 8DE30000 */ lw $v1, ($t7)
.L800C7F78:
/* 0C8B78 800C7F78 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
/* 0C8B7C 800C7F7C 2401001E */ li $at, 30
/* 0C8B80 800C7F80 93C40043 */ lbu $a0, 0x43($fp)
/* 0C8B84 800C7F84 24070001 */ li $a3, 1
/* 0C8B88 800C7F88 14610093 */ bne $v1, $at, .L800C81D8
/* 0C8B8C 800C7F8C 8C42C53C */ lw $v0, %lo(gModeSelection)($v0)
/* 0C8B90 800C7F90 1040000B */ beqz $v0, .L800C7FC0
/* 0C8B94 800C7F94 0004C0C0 */ sll $t8, $a0, 3
/* 0C8B98 800C7F98 10470059 */ beq $v0, $a3, .L800C8100
/* 0C8B9C 800C7F9C 3C0B8016 */ lui $t3, %hi(D_801657E5) # $t3, 0x8016
/* 0C8BA0 800C7FA0 24010002 */ li $at, 2
/* 0C8BA4 800C7FA4 1041003A */ beq $v0, $at, .L800C8090
/* 0C8BA8 800C7FA8 000478C0 */ sll $t7, $a0, 3
/* 0C8BAC 800C7FAC 24010003 */ li $at, 3
/* 0C8BB0 800C7FB0 10410089 */ beq $v0, $at, .L800C81D8
/* 0C8BB4 800C7FB4 00000000 */ nop
/* 0C8BB8 800C7FB8 10000087 */ b .L800C81D8
/* 0C8BBC 800C7FBC 00000000 */ nop
.L800C7FC0:
/* 0C8BC0 800C7FC0 0304C023 */ subu $t8, $t8, $a0
/* 0C8BC4 800C7FC4 0018C100 */ sll $t8, $t8, 4
/* 0C8BC8 800C7FC8 0304C023 */ subu $t8, $t8, $a0
/* 0C8BCC 800C7FCC 0018C080 */ sll $t8, $t8, 2
/* 0C8BD0 800C7FD0 0304C023 */ subu $t8, $t8, $a0
/* 0C8BD4 800C7FD4 3C19800F */ lui $t9, %hi(D_800F6990) # $t9, 0x800f
/* 0C8BD8 800C7FD8 27396990 */ addiu $t9, %lo(D_800F6990) # addiu $t9, $t9, 0x6990
/* 0C8BDC 800C7FDC 0018C0C0 */ sll $t8, $t8, 3
/* 0C8BE0 800C7FE0 03191821 */ addu $v1, $t8, $t9
/* 0C8BE4 800C7FE4 84620004 */ lh $v0, 4($v1)
/* 0C8BE8 800C7FE8 3C08800F */ lui $t0, %hi(D_800EA0EC) # $t0, 0x800f
/* 0C8BEC 800C7FEC 2508A0EC */ addiu $t0, %lo(D_800EA0EC) # addiu $t0, $t0, -0x5f14
/* 0C8BF0 800C7FF0 1440000C */ bnez $v0, .L800C8024
/* 0C8BF4 800C7FF4 00883021 */ addu $a2, $a0, $t0
/* 0C8BF8 800C7FF8 94650254 */ lhu $a1, 0x254($v1)
/* 0C8BFC 800C7FFC 24090002 */ li $t1, 2
/* 0C8C00 800C8000 3C012900 */ lui $at, (0x29008007 >> 16) # lui $at, 0x2900
/* 0C8C04 800C8004 A0C90000 */ sb $t1, ($a2)
/* 0C8C08 800C8008 34218007 */ ori $at, (0x29008007 & 0xFFFF) # ori $at, $at, 0x8007
/* 0C8C0C 800C800C 00055900 */ sll $t3, $a1, 4
/* 0C8C10 800C8010 01612821 */ addu $a1, $t3, $at
/* 0C8C14 800C8014 0C03243D */ jal func_800C90F4
/* 0C8C18 800C8018 A3C40043 */ sb $a0, 0x43($fp)
/* 0C8C1C 800C801C 10000017 */ b .L800C807C
/* 0C8C20 800C8020 00000000 */ nop
.L800C8024:
/* 0C8C24 800C8024 28410004 */ slti $at, $v0, 4
/* 0C8C28 800C8028 1020000C */ beqz $at, .L800C805C
/* 0C8C2C 800C802C 240D0002 */ li $t5, 2
/* 0C8C30 800C8030 94650254 */ lhu $a1, 0x254($v1)
/* 0C8C34 800C8034 240A0002 */ li $t2, 2
/* 0C8C38 800C8038 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
/* 0C8C3C 800C803C A0CA0000 */ sb $t2, ($a2)
/* 0C8C40 800C8040 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
/* 0C8C44 800C8044 00056100 */ sll $t4, $a1, 4
/* 0C8C48 800C8048 01812821 */ addu $a1, $t4, $at
/* 0C8C4C 800C804C 0C03243D */ jal func_800C90F4
/* 0C8C50 800C8050 A3C40043 */ sb $a0, 0x43($fp)
/* 0C8C54 800C8054 10000009 */ b .L800C807C
/* 0C8C58 800C8058 00000000 */ nop
.L800C805C:
/* 0C8C5C 800C805C 94650254 */ lhu $a1, 0x254($v1)
/* 0C8C60 800C8060 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900
/* 0C8C64 800C8064 A0CD0000 */ sb $t5, ($a2)
/* 0C8C68 800C8068 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003
/* 0C8C6C 800C806C 00057100 */ sll $t6, $a1, 4
/* 0C8C70 800C8070 01C12821 */ addu $a1, $t6, $at
/* 0C8C74 800C8074 0C03243D */ jal func_800C90F4
/* 0C8C78 800C8078 A3C40043 */ sb $a0, 0x43($fp)
.L800C807C:
/* 0C8C7C 800C807C 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
/* 0C8C80 800C8080 8C42C53C */ lw $v0, %lo(gModeSelection)($v0)
/* 0C8C84 800C8084 24070001 */ li $a3, 1
/* 0C8C88 800C8088 10000053 */ b .L800C81D8
/* 0C8C8C 800C808C 93C40043 */ lbu $a0, 0x43($fp)
.L800C8090:
/* 0C8C90 800C8090 01E47823 */ subu $t7, $t7, $a0
/* 0C8C94 800C8094 000F7900 */ sll $t7, $t7, 4
/* 0C8C98 800C8098 01E47823 */ subu $t7, $t7, $a0
/* 0C8C9C 800C809C 000F7880 */ sll $t7, $t7, 2
/* 0C8CA0 800C80A0 01E47823 */ subu $t7, $t7, $a0
/* 0C8CA4 800C80A4 3C18800F */ lui $t8, %hi(D_800F6990) # $t8, 0x800f
/* 0C8CA8 800C80A8 27186990 */ addiu $t8, %lo(D_800F6990) # addiu $t8, $t8, 0x6990
/* 0C8CAC 800C80AC 000F78C0 */ sll $t7, $t7, 3
/* 0C8CB0 800C80B0 01F81821 */ addu $v1, $t7, $t8
/* 0C8CB4 800C80B4 A3C40043 */ sb $a0, 0x43($fp)
/* 0C8CB8 800C80B8 84790004 */ lh $t9, 4($v1)
/* 0C8CBC 800C80BC 3C01800F */ lui $at, %hi(D_800EA0EC)
/* 0C8CC0 800C80C0 00240821 */ addu $at, $at, $a0
/* 0C8CC4 800C80C4 1720000C */ bnez $t9, .L800C80F8
/* 0C8CC8 800C80C8 24080002 */ li $t0, 2
/* 0C8CCC 800C80CC A028A0EC */ sb $t0, %lo(D_800EA0EC)($at)
/* 0C8CD0 800C80D0 94650254 */ lhu $a1, 0x254($v1)
/* 0C8CD4 800C80D4 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
/* 0C8CD8 800C80D8 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
/* 0C8CDC 800C80DC 00054900 */ sll $t1, $a1, 4
/* 0C8CE0 800C80E0 01212821 */ addu $a1, $t1, $at
/* 0C8CE4 800C80E4 0C03243D */ jal func_800C90F4
/* 0C8CE8 800C80E8 A3C40043 */ sb $a0, 0x43($fp)
/* 0C8CEC 800C80EC 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
/* 0C8CF0 800C80F0 8C42C53C */ lw $v0, %lo(gModeSelection)($v0)
/* 0C8CF4 800C80F4 24070001 */ li $a3, 1
.L800C80F8:
/* 0C8CF8 800C80F8 10000037 */ b .L800C81D8
/* 0C8CFC 800C80FC 93C40043 */ lbu $a0, 0x43($fp)
.L800C8100:
/* 0C8D00 800C8100 816B57E5 */ lb $t3, %lo(D_801657E5)($t3)
/* 0C8D04 800C8104 240A0002 */ li $t2, 2
/* 0C8D08 800C8108 3C01800F */ lui $at, %hi(D_800EA0EC)
/* 0C8D0C 800C810C 14EB0017 */ bne $a3, $t3, .L800C816C
/* 0C8D10 800C8110 3C0E8019 */ lui $t6, %hi(D_8018ED90) # $t6, 0x8019
/* 0C8D14 800C8114 000460C0 */ sll $t4, $a0, 3
/* 0C8D18 800C8118 01846023 */ subu $t4, $t4, $a0
/* 0C8D1C 800C811C 000C6100 */ sll $t4, $t4, 4
/* 0C8D20 800C8120 01846023 */ subu $t4, $t4, $a0
/* 0C8D24 800C8124 000C6080 */ sll $t4, $t4, 2
/* 0C8D28 800C8128 01846023 */ subu $t4, $t4, $a0
/* 0C8D2C 800C812C 000C60C0 */ sll $t4, $t4, 3
/* 0C8D30 800C8130 3C05800F */ lui $a1, %hi(D_800F6BE4)
/* 0C8D34 800C8134 00AC2821 */ addu $a1, $a1, $t4
/* 0C8D38 800C8138 94A56BE4 */ lhu $a1, %lo(D_800F6BE4)($a1)
/* 0C8D3C 800C813C 00240821 */ addu $at, $at, $a0
/* 0C8D40 800C8140 A02AA0EC */ sb $t2, %lo(D_800EA0EC)($at)
/* 0C8D44 800C8144 3C012900 */ lui $at, (0x29008007 >> 16) # lui $at, 0x2900
/* 0C8D48 800C8148 34218007 */ ori $at, (0x29008007 & 0xFFFF) # ori $at, $at, 0x8007
/* 0C8D4C 800C814C 00056900 */ sll $t5, $a1, 4
/* 0C8D50 800C8150 01A12821 */ addu $a1, $t5, $at
/* 0C8D54 800C8154 0C03243D */ jal func_800C90F4
/* 0C8D58 800C8158 A3C40043 */ sb $a0, 0x43($fp)
/* 0C8D5C 800C815C 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
/* 0C8D60 800C8160 8C42C53C */ lw $v0, %lo(gModeSelection)($v0)
/* 0C8D64 800C8164 1000001B */ b .L800C81D4
/* 0C8D68 800C8168 24070001 */ li $a3, 1
.L800C816C:
/* 0C8D6C 800C816C A3C40043 */ sb $a0, 0x43($fp)
/* 0C8D70 800C8170 91CEED90 */ lbu $t6, %lo(D_8018ED90)($t6)
/* 0C8D74 800C8174 3C01800F */ lui $at, %hi(D_800EA0EC)
/* 0C8D78 800C8178 00240821 */ addu $at, $at, $a0
/* 0C8D7C 800C817C 14EE0015 */ bne $a3, $t6, .L800C81D4
/* 0C8D80 800C8180 240F0002 */ li $t7, 2
/* 0C8D84 800C8184 0004C0C0 */ sll $t8, $a0, 3
/* 0C8D88 800C8188 0304C023 */ subu $t8, $t8, $a0
/* 0C8D8C 800C818C 0018C100 */ sll $t8, $t8, 4
/* 0C8D90 800C8190 0304C023 */ subu $t8, $t8, $a0
/* 0C8D94 800C8194 0018C080 */ sll $t8, $t8, 2
/* 0C8D98 800C8198 0304C023 */ subu $t8, $t8, $a0
/* 0C8D9C 800C819C 0018C0C0 */ sll $t8, $t8, 3
/* 0C8DA0 800C81A0 3C05800F */ lui $a1, %hi(D_800F6BE4)
/* 0C8DA4 800C81A4 00B82821 */ addu $a1, $a1, $t8
/* 0C8DA8 800C81A8 94A56BE4 */ lhu $a1, %lo(D_800F6BE4)($a1)
/* 0C8DAC 800C81AC A02FA0EC */ sb $t7, %lo(D_800EA0EC)($at)
/* 0C8DB0 800C81B0 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
/* 0C8DB4 800C81B4 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
/* 0C8DB8 800C81B8 0005C900 */ sll $t9, $a1, 4
/* 0C8DBC 800C81BC 03212821 */ addu $a1, $t9, $at
/* 0C8DC0 800C81C0 0C03243D */ jal func_800C90F4
/* 0C8DC4 800C81C4 A3C40043 */ sb $a0, 0x43($fp)
/* 0C8DC8 800C81C8 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
/* 0C8DCC 800C81CC 8C42C53C */ lw $v0, %lo(gModeSelection)($v0)
/* 0C8DD0 800C81D0 24070001 */ li $a3, 1
.L800C81D4:
/* 0C8DD4 800C81D4 93C40043 */ lbu $a0, 0x43($fp)
.L800C81D8:
/* 0C8DD8 800C81D8 1040000A */ beqz $v0, .L800C8204
/* 0C8DDC 800C81DC 000440C0 */ sll $t0, $a0, 3
/* 0C8DE0 800C81E0 10470078 */ beq $v0, $a3, .L800C83C4
/* 0C8DE4 800C81E4 24010002 */ li $at, 2
/* 0C8DE8 800C81E8 1041004D */ beq $v0, $at, .L800C8320
/* 0C8DEC 800C81EC 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f
/* 0C8DF0 800C81F0 24010003 */ li $at, 3
/* 0C8DF4 800C81F4 50410089 */ beql $v0, $at, .L800C841C
/* 0C8DF8 800C81F8 8FC90034 */ lw $t1, 0x34($fp)
/* 0C8DFC 800C81FC 1000009B */ b .L800C846C
/* 0C8E00 800C8200 8FDF002C */ lw $ra, 0x2c($fp)
.L800C8204:
/* 0C8E04 800C8204 01044023 */ subu $t0, $t0, $a0
/* 0C8E08 800C8208 00084100 */ sll $t0, $t0, 4
/* 0C8E0C 800C820C 01044023 */ subu $t0, $t0, $a0
/* 0C8E10 800C8210 00084080 */ sll $t0, $t0, 2
/* 0C8E14 800C8214 01044023 */ subu $t0, $t0, $a0
/* 0C8E18 800C8218 000840C0 */ sll $t0, $t0, 3
/* 0C8E1C 800C821C 3C02800F */ lui $v0, %hi(D_800F6994)
/* 0C8E20 800C8220 00481021 */ addu $v0, $v0, $t0
/* 0C8E24 800C8224 84426994 */ lh $v0, %lo(D_800F6994)($v0)
/* 0C8E28 800C8228 8FC90034 */ lw $t1, 0x34($fp)
/* 0C8E2C 800C822C 14400014 */ bnez $v0, .L800C8280
/* 0C8E30 800C8230 8D230000 */ lw $v1, ($t1)
/* 0C8E34 800C8234 2861015F */ slti $at, $v1, 0x15f
/* 0C8E38 800C8238 14200007 */ bnez $at, .L800C8258
/* 0C8E3C 800C823C 2401015F */ li $at, 351
/* 0C8E40 800C8240 5461008A */ bnel $v1, $at, .L800C846C
/* 0C8E44 800C8244 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C8E48 800C8248 0C032743 */ jal func_800C9D0C
/* 0C8E4C 800C824C 00000000 */ nop
/* 0C8E50 800C8250 10000086 */ b .L800C846C
/* 0C8E54 800C8254 8FDF002C */ lw $ra, 0x2c($fp)
.L800C8258:
/* 0C8E58 800C8258 44832000 */ mtc1 $v1, $f4
/* 0C8E5C 800C825C 3C0143C8 */ li $at, 0x43C80000 # 400.000000
/* 0C8E60 800C8260 44814000 */ mtc1 $at, $f8
/* 0C8E64 800C8264 468021A0 */ cvt.s.w $f6, $f4
/* 0C8E68 800C8268 8FCB0038 */ lw $t3, 0x38($fp)
/* 0C8E6C 800C826C 3C01800F */ lui $at, %hi(D_800EA130)
/* 0C8E70 800C8270 002B0821 */ addu $at, $at, $t3
/* 0C8E74 800C8274 46083283 */ div.s $f10, $f6, $f8
/* 0C8E78 800C8278 1000007B */ b .L800C8468
/* 0C8E7C 800C827C E42AA130 */ swc1 $f10, %lo(D_800EA130)($at)
.L800C8280:
/* 0C8E80 800C8280 28410004 */ slti $at, $v0, 4
/* 0C8E84 800C8284 10200013 */ beqz $at, .L800C82D4
/* 0C8E88 800C8288 2861015F */ slti $at, $v1, 0x15f
/* 0C8E8C 800C828C 14200007 */ bnez $at, .L800C82AC
/* 0C8E90 800C8290 2401015F */ li $at, 351
/* 0C8E94 800C8294 54610075 */ bnel $v1, $at, .L800C846C
/* 0C8E98 800C8298 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C8E9C 800C829C 0C032743 */ jal func_800C9D0C
/* 0C8EA0 800C82A0 00000000 */ nop
/* 0C8EA4 800C82A4 10000071 */ b .L800C846C
/* 0C8EA8 800C82A8 8FDF002C */ lw $ra, 0x2c($fp)
.L800C82AC:
/* 0C8EAC 800C82AC 44838000 */ mtc1 $v1, $f16
/* 0C8EB0 800C82B0 3C0143C8 */ li $at, 0x43C80000 # 400.000000
/* 0C8EB4 800C82B4 44812000 */ mtc1 $at, $f4
/* 0C8EB8 800C82B8 468084A0 */ cvt.s.w $f18, $f16
/* 0C8EBC 800C82BC 8FCA0038 */ lw $t2, 0x38($fp)
/* 0C8EC0 800C82C0 3C01800F */ lui $at, %hi(D_800EA130)
/* 0C8EC4 800C82C4 002A0821 */ addu $at, $at, $t2
/* 0C8EC8 800C82C8 46049183 */ div.s $f6, $f18, $f4
/* 0C8ECC 800C82CC 10000066 */ b .L800C8468
/* 0C8ED0 800C82D0 E426A130 */ swc1 $f6, %lo(D_800EA130)($at)
.L800C82D4:
/* 0C8ED4 800C82D4 2861012D */ slti $at, $v1, 0x12d
/* 0C8ED8 800C82D8 14200007 */ bnez $at, .L800C82F8
/* 0C8EDC 800C82DC 2401012D */ li $at, 301
/* 0C8EE0 800C82E0 54610062 */ bnel $v1, $at, .L800C846C
/* 0C8EE4 800C82E4 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C8EE8 800C82E8 0C0325F1 */ jal func_800C97C4
/* 0C8EEC 800C82EC 00000000 */ nop
/* 0C8EF0 800C82F0 1000005E */ b .L800C846C
/* 0C8EF4 800C82F4 8FDF002C */ lw $ra, 0x2c($fp)
.L800C82F8:
/* 0C8EF8 800C82F8 44834000 */ mtc1 $v1, $f8
/* 0C8EFC 800C82FC 3C0143A5 */ li $at, 0x43A50000 # 330.000000
/* 0C8F00 800C8300 44818000 */ mtc1 $at, $f16
/* 0C8F04 800C8304 468042A0 */ cvt.s.w $f10, $f8
/* 0C8F08 800C8308 8FCC0038 */ lw $t4, 0x38($fp)
/* 0C8F0C 800C830C 3C01800F */ lui $at, %hi(D_800EA130)
/* 0C8F10 800C8310 002C0821 */ addu $at, $at, $t4
/* 0C8F14 800C8314 46105483 */ div.s $f18, $f10, $f16
/* 0C8F18 800C8318 10000053 */ b .L800C8468
/* 0C8F1C 800C831C E432A130 */ swc1 $f18, %lo(D_800EA130)($at)
.L800C8320:
/* 0C8F20 800C8320 91CEA1C0 */ lbu $t6, %lo(D_800EA1C0)($t6)
/* 0C8F24 800C8324 8FCD0034 */ lw $t5, 0x34($fp)
/* 0C8F28 800C8328 14EE0014 */ bne $a3, $t6, .L800C837C
/* 0C8F2C 800C832C 8DA30000 */ lw $v1, ($t5)
/* 0C8F30 800C8330 28610065 */ slti $at, $v1, 0x65
/* 0C8F34 800C8334 14200007 */ bnez $at, .L800C8354
/* 0C8F38 800C8338 24010065 */ li $at, 101
/* 0C8F3C 800C833C 54610022 */ bnel $v1, $at, .L800C83C8
/* 0C8F40 800C8340 8FD90034 */ lw $t9, 0x34($fp)
/* 0C8F44 800C8344 0C032743 */ jal func_800C9D0C
/* 0C8F48 800C8348 00000000 */ nop
/* 0C8F4C 800C834C 1000001E */ b .L800C83C8
/* 0C8F50 800C8350 8FD90034 */ lw $t9, 0x34($fp)
.L800C8354:
/* 0C8F54 800C8354 44832000 */ mtc1 $v1, $f4
/* 0C8F58 800C8358 3C0142F0 */ li $at, 0x42F00000 # 120.000000
/* 0C8F5C 800C835C 44814000 */ mtc1 $at, $f8
/* 0C8F60 800C8360 468021A0 */ cvt.s.w $f6, $f4
/* 0C8F64 800C8364 8FCF0038 */ lw $t7, 0x38($fp)
/* 0C8F68 800C8368 3C01800F */ lui $at, %hi(D_800EA130)
/* 0C8F6C 800C836C 002F0821 */ addu $at, $at, $t7
/* 0C8F70 800C8370 46083283 */ div.s $f10, $f6, $f8
/* 0C8F74 800C8374 10000013 */ b .L800C83C4
/* 0C8F78 800C8378 E42AA130 */ swc1 $f10, %lo(D_800EA130)($at)
.L800C837C:
/* 0C8F7C 800C837C 28610065 */ slti $at, $v1, 0x65
/* 0C8F80 800C8380 14200007 */ bnez $at, .L800C83A0
/* 0C8F84 800C8384 24010065 */ li $at, 101
/* 0C8F88 800C8388 5461000F */ bnel $v1, $at, .L800C83C8
/* 0C8F8C 800C838C 8FD90034 */ lw $t9, 0x34($fp)
/* 0C8F90 800C8390 0C0325F1 */ jal func_800C97C4
/* 0C8F94 800C8394 00000000 */ nop
/* 0C8F98 800C8398 1000000B */ b .L800C83C8
/* 0C8F9C 800C839C 8FD90034 */ lw $t9, 0x34($fp)
.L800C83A0:
/* 0C8FA0 800C83A0 44838000 */ mtc1 $v1, $f16
/* 0C8FA4 800C83A4 3C0142F0 */ li $at, 0x42F00000 # 120.000000
/* 0C8FA8 800C83A8 44812000 */ mtc1 $at, $f4
/* 0C8FAC 800C83AC 468084A0 */ cvt.s.w $f18, $f16
/* 0C8FB0 800C83B0 8FD80038 */ lw $t8, 0x38($fp)
/* 0C8FB4 800C83B4 3C01800F */ lui $at, %hi(D_800EA130)
/* 0C8FB8 800C83B8 00380821 */ addu $at, $at, $t8
/* 0C8FBC 800C83BC 46049183 */ div.s $f6, $f18, $f4
/* 0C8FC0 800C83C0 E426A130 */ swc1 $f6, %lo(D_800EA130)($at)
.L800C83C4:
/* 0C8FC4 800C83C4 8FD90034 */ lw $t9, 0x34($fp)
.L800C83C8:
/* 0C8FC8 800C83C8 8F230000 */ lw $v1, ($t9)
/* 0C8FCC 800C83CC 2861012D */ slti $at, $v1, 0x12d
/* 0C8FD0 800C83D0 14200007 */ bnez $at, .L800C83F0
/* 0C8FD4 800C83D4 2401012D */ li $at, 301
/* 0C8FD8 800C83D8 54610024 */ bnel $v1, $at, .L800C846C
/* 0C8FDC 800C83DC 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C8FE0 800C83E0 0C032743 */ jal func_800C9D0C
/* 0C8FE4 800C83E4 00002025 */ move $a0, $zero
/* 0C8FE8 800C83E8 10000020 */ b .L800C846C
/* 0C8FEC 800C83EC 8FDF002C */ lw $ra, 0x2c($fp)
.L800C83F0:
/* 0C8FF0 800C83F0 44834000 */ mtc1 $v1, $f8
/* 0C8FF4 800C83F4 3C0143AF */ li $at, 0x43AF0000 # 350.000000
/* 0C8FF8 800C83F8 44818000 */ mtc1 $at, $f16
/* 0C8FFC 800C83FC 468042A0 */ cvt.s.w $f10, $f8
/* 0C9000 800C8400 8FC80038 */ lw $t0, 0x38($fp)
/* 0C9004 800C8404 3C01800F */ lui $at, %hi(D_800EA130)
/* 0C9008 800C8408 00280821 */ addu $at, $at, $t0
/* 0C900C 800C840C 46105483 */ div.s $f18, $f10, $f16
/* 0C9010 800C8410 10000015 */ b .L800C8468
/* 0C9014 800C8414 E432A130 */ swc1 $f18, %lo(D_800EA130)($at)
/* 0C9018 800C8418 8FC90034 */ lw $t1, 0x34($fp)
.L800C841C:
/* 0C901C 800C841C 8D230000 */ lw $v1, ($t1)
/* 0C9020 800C8420 28610065 */ slti $at, $v1, 0x65
/* 0C9024 800C8424 14200007 */ bnez $at, .L800C8444
/* 0C9028 800C8428 24010065 */ li $at, 101
/* 0C902C 800C842C 5461000F */ bnel $v1, $at, .L800C846C
/* 0C9030 800C8430 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C9034 800C8434 0C0325F1 */ jal func_800C97C4
/* 0C9038 800C8438 00000000 */ nop
/* 0C903C 800C843C 1000000B */ b .L800C846C
/* 0C9040 800C8440 8FDF002C */ lw $ra, 0x2c($fp)
.L800C8444:
/* 0C9044 800C8444 44832000 */ mtc1 $v1, $f4
/* 0C9048 800C8448 3C0142F0 */ li $at, 0x42F00000 # 120.000000
/* 0C904C 800C844C 44814000 */ mtc1 $at, $f8
/* 0C9050 800C8450 468021A0 */ cvt.s.w $f6, $f4
/* 0C9054 800C8454 8FCB0038 */ lw $t3, 0x38($fp)
/* 0C9058 800C8458 3C01800F */ lui $at, %hi(D_800EA130)
/* 0C905C 800C845C 002B0821 */ addu $at, $at, $t3
/* 0C9060 800C8460 46083283 */ div.s $f10, $f6, $f8
/* 0C9064 800C8464 E42AA130 */ swc1 $f10, %lo(D_800EA130)($at)
.L800C8468:
/* 0C9068 800C8468 8FDF002C */ lw $ra, 0x2c($fp)
.L800C846C:
/* 0C906C 800C846C 03C0E825 */ move $sp, $fp
/* 0C9070 800C8470 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C9074 800C8474 03E00008 */ jr $ra
/* 0C9078 800C8478 27BD0040 */ addiu $sp, $sp, 0x40
glabel func_800C847C
/* 0C907C 800C847C 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 0C9080 800C8480 AFB0002C */ sw $s0, 0x2c($sp)
/* 0C9084 800C8484 309000FF */ andi $s0, $a0, 0xff
/* 0C9088 800C8488 001070C0 */ sll $t6, $s0, 3
/* 0C908C 800C848C 01D07023 */ subu $t6, $t6, $s0
/* 0C9090 800C8490 000E7100 */ sll $t6, $t6, 4
/* 0C9094 800C8494 01D07023 */ subu $t6, $t6, $s0
/* 0C9098 800C8498 000E7080 */ sll $t6, $t6, 2
/* 0C909C 800C849C 01D07023 */ subu $t6, $t6, $s0
/* 0C90A0 800C84A0 3C0F800F */ lui $t7, %hi(D_800F6990) # $t7, 0x800f
/* 0C90A4 800C84A4 25EF6990 */ addiu $t7, %lo(D_800F6990) # addiu $t7, $t7, 0x6990
/* 0C90A8 800C84A8 000E70C0 */ sll $t6, $t6, 3
/* 0C90AC 800C84AC 01CFC021 */ addu $t8, $t6, $t7
/* 0C90B0 800C84B0 AFBF0034 */ sw $ra, 0x34($sp)
/* 0C90B4 800C84B4 AFBE0030 */ sw $fp, 0x30($sp)
/* 0C90B8 800C84B8 AFA40040 */ sw $a0, 0x40($sp)
/* 0C90BC 800C84BC AFB8003C */ sw $t8, 0x3c($sp)
/* 0C90C0 800C84C0 971900DE */ lhu $t9, 0xde($t8)
/* 0C90C4 800C84C4 24030001 */ li $v1, 1
/* 0C90C8 800C84C8 03A0F025 */ move $fp, $sp
/* 0C90CC 800C84CC 33280001 */ andi $t0, $t9, 1
/* 0C90D0 800C84D0 14680050 */ bne $v1, $t0, .L800C8614
/* 0C90D4 800C84D4 3C09800F */ lui $t1, %hi(D_800E9F74)
/* 0C90D8 800C84D8 3C09800F */ lui $t1, %hi(D_800E9F74) # $t1, 0x800f
/* 0C90DC 800C84DC 25299F74 */ addiu $t1, %lo(D_800E9F74) # addiu $t1, $t1, -0x608c
/* 0C90E0 800C84E0 02091021 */ addu $v0, $s0, $t1
/* 0C90E4 800C84E4 904A0000 */ lbu $t2, ($v0)
/* 0C90E8 800C84E8 3C0B800F */ lui $t3, %hi(D_800EA1C0) # $t3, 0x800f
/* 0C90EC 800C84EC 55400075 */ bnel $t2, $zero, .L800C86C4
/* 0C90F0 800C84F0 8FDF0034 */ lw $ra, 0x34($fp)
/* 0C90F4 800C84F4 916BA1C0 */ lbu $t3, %lo(D_800EA1C0)($t3)
/* 0C90F8 800C84F8 3C050100 */ lui $a1, (0x01008026 >> 16) # lui $a1, 0x100
/* 0C90FC 800C84FC 34A58026 */ ori $a1, (0x01008026 & 0xFFFF) # ori $a1, $a1, 0x8026
/* 0C9100 800C8500 29610002 */ slti $at, $t3, 2
/* 0C9104 800C8504 10200008 */ beqz $at, .L800C8528
/* 0C9108 800C8508 320400FF */ andi $a0, $s0, 0xff
/* 0C910C 800C850C 3C050100 */ lui $a1, (0x0100F926 >> 16) # lui $a1, 0x100
/* 0C9110 800C8510 34A5F926 */ ori $a1, (0x0100F926 & 0xFFFF) # ori $a1, $a1, 0xf926
/* 0C9114 800C8514 320400FF */ andi $a0, $s0, 0xff
/* 0C9118 800C8518 0C032406 */ jal func_800C9018
/* 0C911C 800C851C AFC20038 */ sw $v0, 0x38($fp)
/* 0C9120 800C8520 10000004 */ b .L800C8534
/* 0C9124 800C8524 8FC20038 */ lw $v0, 0x38($fp)
.L800C8528:
/* 0C9128 800C8528 0C032406 */ jal func_800C9018
/* 0C912C 800C852C AFC20038 */ sw $v0, 0x38($fp)
/* 0C9130 800C8530 8FC20038 */ lw $v0, 0x38($fp)
.L800C8534:
/* 0C9134 800C8534 320400FF */ andi $a0, $s0, 0xff
/* 0C9138 800C8538 0C0325F1 */ jal func_800C97C4
/* 0C913C 800C853C AFC20038 */ sw $v0, 0x38($fp)
/* 0C9140 800C8540 8FC20038 */ lw $v0, 0x38($fp)
/* 0C9144 800C8544 240C0001 */ li $t4, 1
/* 0C9148 800C8548 320400FF */ andi $a0, $s0, 0xff
/* 0C914C 800C854C 0C032529 */ jal func_800C94A4
/* 0C9150 800C8550 A04C0000 */ sb $t4, ($v0)
/* 0C9154 800C8554 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e
/* 0C9158 800C8558 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0)
/* 0C915C 800C855C 24010001 */ li $at, 1
/* 0C9160 800C8560 3C0D800F */ lui $t5, %hi(D_800EA0EC)
/* 0C9164 800C8564 10410014 */ beq $v0, $at, .L800C85B8
/* 0C9168 800C8568 01B06821 */ addu $t5, $t5, $s0
/* 0C916C 800C856C 24010002 */ li $at, 2
/* 0C9170 800C8570 10410011 */ beq $v0, $at, .L800C85B8
/* 0C9174 800C8574 24010003 */ li $at, 3
/* 0C9178 800C8578 1041000F */ beq $v0, $at, .L800C85B8
/* 0C917C 800C857C 24010004 */ li $at, 4
/* 0C9180 800C8580 1041000D */ beq $v0, $at, .L800C85B8
/* 0C9184 800C8584 24010005 */ li $at, 5
/* 0C9188 800C8588 1041000B */ beq $v0, $at, .L800C85B8
/* 0C918C 800C858C 24010006 */ li $at, 6
/* 0C9190 800C8590 10410009 */ beq $v0, $at, .L800C85B8
/* 0C9194 800C8594 24010007 */ li $at, 7
/* 0C9198 800C8598 10410007 */ beq $v0, $at, .L800C85B8
/* 0C919C 800C859C 2401000C */ li $at, 12
/* 0C91A0 800C85A0 10410005 */ beq $v0, $at, .L800C85B8
/* 0C91A4 800C85A4 24010012 */ li $at, 18
/* 0C91A8 800C85A8 10410003 */ beq $v0, $at, .L800C85B8
/* 0C91AC 800C85AC 24010013 */ li $at, 19
/* 0C91B0 800C85B0 54410044 */ bnel $v0, $at, .L800C86C4
/* 0C91B4 800C85B4 8FDF0034 */ lw $ra, 0x34($fp)
.L800C85B8:
/* 0C91B8 800C85B8 91ADA0EC */ lbu $t5, %lo(D_800EA0EC)($t5)
/* 0C91BC 800C85BC 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C91C0 800C85C0 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C91C4 800C85C4 15A0003E */ bnez $t5, .L800C86C0
/* 0C91C8 800C85C8 3C012900 */ lui $at, (0x29008005 >> 16) # lui $at, 0x2900
/* 0C91CC 800C85CC 8FCE003C */ lw $t6, 0x3c($fp)
/* 0C91D0 800C85D0 0010C100 */ sll $t8, $s0, 4
/* 0C91D4 800C85D4 0310C023 */ subu $t8, $t8, $s0
/* 0C91D8 800C85D8 95C40254 */ lhu $a0, 0x254($t6)
/* 0C91DC 800C85DC 3C19800F */ lui $t9, %hi(D_800E9F7C) # $t9, 0x800f
/* 0C91E0 800C85E0 27399F7C */ addiu $t9, %lo(D_800E9F7C) # addiu $t9, $t9, -0x6084
/* 0C91E4 800C85E4 0018C080 */ sll $t8, $t8, 2
/* 0C91E8 800C85E8 03192821 */ addu $a1, $t8, $t9
/* 0C91EC 800C85EC 24A80014 */ addiu $t0, $a1, 0x14
/* 0C91F0 800C85F0 34218005 */ ori $at, (0x29008005 & 0xFFFF) # ori $at, $at, 0x8005
/* 0C91F4 800C85F4 00047900 */ sll $t7, $a0, 4
/* 0C91F8 800C85F8 01E12021 */ addu $a0, $t7, $at
/* 0C91FC 800C85FC AFA80014 */ sw $t0, 0x14($sp)
/* 0C9200 800C8600 AFA70010 */ sw $a3, 0x10($sp)
/* 0C9204 800C8604 0C031052 */ jal play_sound
/* 0C9208 800C8608 320600FF */ andi $a2, $s0, 0xff
/* 0C920C 800C860C 1000002D */ b .L800C86C4
/* 0C9210 800C8610 8FDF0034 */ lw $ra, 0x34($fp)
.L800C8614:
/* 0C9214 800C8614 25299F74 */ addiu $t1, $t1, %lo(D_800E9F74)
/* 0C9218 800C8618 02091021 */ addu $v0, $s0, $t1
/* 0C921C 800C861C 904A0000 */ lbu $t2, ($v0)
/* 0C9220 800C8620 320400FF */ andi $a0, $s0, 0xff
/* 0C9224 800C8624 546A0027 */ bnel $v1, $t2, .L800C86C4
/* 0C9228 800C8628 8FDF0034 */ lw $ra, 0x34($fp)
/* 0C922C 800C862C 0C0325F1 */ jal func_800C97C4
/* 0C9230 800C8630 AFC20038 */ sw $v0, 0x38($fp)
/* 0C9234 800C8634 8FC20038 */ lw $v0, 0x38($fp)
/* 0C9238 800C8638 240B0002 */ li $t3, 2
/* 0C923C 800C863C 320400FF */ andi $a0, $s0, 0xff
/* 0C9240 800C8640 0C032529 */ jal func_800C94A4
/* 0C9244 800C8644 A04B0000 */ sb $t3, ($v0)
/* 0C9248 800C8648 8FC20038 */ lw $v0, 0x38($fp)
/* 0C924C 800C864C 3C0C800E */ lui $t4, %hi(gCurrentCourseId) # $t4, 0x800e
/* 0C9250 800C8650 24010006 */ li $at, 6
/* 0C9254 800C8654 A0400000 */ sb $zero, ($v0)
/* 0C9258 800C8658 858CC5A0 */ lh $t4, %lo(gCurrentCourseId)($t4)
/* 0C925C 800C865C 3C0D800F */ lui $t5, %hi(D_800EA0EC)
/* 0C9260 800C8660 01B06821 */ addu $t5, $t5, $s0
/* 0C9264 800C8664 55810017 */ bnel $t4, $at, .L800C86C4
/* 0C9268 800C8668 8FDF0034 */ lw $ra, 0x34($fp)
/* 0C926C 800C866C 91ADA0EC */ lbu $t5, %lo(D_800EA0EC)($t5)
/* 0C9270 800C8670 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C9274 800C8674 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C9278 800C8678 15A00011 */ bnez $t5, .L800C86C0
/* 0C927C 800C867C 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900
/* 0C9280 800C8680 8FCE003C */ lw $t6, 0x3c($fp)
/* 0C9284 800C8684 0010C100 */ sll $t8, $s0, 4
/* 0C9288 800C8688 0310C023 */ subu $t8, $t8, $s0
/* 0C928C 800C868C 95C40254 */ lhu $a0, 0x254($t6)
/* 0C9290 800C8690 3C19800F */ lui $t9, %hi(D_800E9F7C) # $t9, 0x800f
/* 0C9294 800C8694 27399F7C */ addiu $t9, %lo(D_800E9F7C) # addiu $t9, $t9, -0x6084
/* 0C9298 800C8698 0018C080 */ sll $t8, $t8, 2
/* 0C929C 800C869C 03192821 */ addu $a1, $t8, $t9
/* 0C92A0 800C86A0 24A80014 */ addiu $t0, $a1, 0x14
/* 0C92A4 800C86A4 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008
/* 0C92A8 800C86A8 00047900 */ sll $t7, $a0, 4
/* 0C92AC 800C86AC 01E12021 */ addu $a0, $t7, $at
/* 0C92B0 800C86B0 AFA80014 */ sw $t0, 0x14($sp)
/* 0C92B4 800C86B4 AFA70010 */ sw $a3, 0x10($sp)
/* 0C92B8 800C86B8 0C031052 */ jal play_sound
/* 0C92BC 800C86BC 320600FF */ andi $a2, $s0, 0xff
.L800C86C0:
/* 0C92C0 800C86C0 8FDF0034 */ lw $ra, 0x34($fp)
.L800C86C4:
/* 0C92C4 800C86C4 03C0E825 */ move $sp, $fp
/* 0C92C8 800C86C8 8FD0002C */ lw $s0, 0x2c($fp)
/* 0C92CC 800C86CC 8FDE0030 */ lw $fp, 0x30($fp)
/* 0C92D0 800C86D0 03E00008 */ jr $ra
/* 0C92D4 800C86D4 27BD0040 */ addiu $sp, $sp, 0x40
glabel func_800C86D8
/* 0C92D8 800C86D8 308E00FF */ andi $t6, $a0, 0xff
/* 0C92DC 800C86DC 000E78C0 */ sll $t7, $t6, 3
/* 0C92E0 800C86E0 01EE7823 */ subu $t7, $t7, $t6
/* 0C92E4 800C86E4 000F7900 */ sll $t7, $t7, 4
/* 0C92E8 800C86E8 01EE7823 */ subu $t7, $t7, $t6
/* 0C92EC 800C86EC 000F7880 */ sll $t7, $t7, 2
/* 0C92F0 800C86F0 01EE7823 */ subu $t7, $t7, $t6
/* 0C92F4 800C86F4 3C18800F */ lui $t8, %hi(D_800F6990) # $t8, 0x800f
/* 0C92F8 800C86F8 27186990 */ addiu $t8, %lo(D_800F6990) # addiu $t8, $t8, 0x6990
/* 0C92FC 800C86FC 000F78C0 */ sll $t7, $t7, 3
/* 0C9300 800C8700 01F81021 */ addu $v0, $t7, $t8
/* 0C9304 800C8704 8C5900BC */ lw $t9, 0xbc($v0)
/* 0C9308 800C8708 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C930C 800C870C 3C034000 */ lui $v1, 0x4000
/* 0C9310 800C8710 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C9314 800C8714 AFA40030 */ sw $a0, 0x30($sp)
/* 0C9318 800C8718 03234024 */ and $t0, $t9, $v1
/* 0C931C 800C871C 01C02025 */ move $a0, $t6
/* 0C9320 800C8720 03A0F025 */ move $fp, $sp
/* 0C9324 800C8724 1068000D */ beq $v1, $t0, .L800C875C
/* 0C9328 800C8728 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C932C 800C872C 3C09800F */ lui $t1, %hi(D_800E9F24)
/* 0C9330 800C8730 012E4821 */ addu $t1, $t1, $t6
/* 0C9334 800C8734 91299F24 */ lbu $t1, %lo(D_800E9F24)($t1)
/* 0C9338 800C8738 24010001 */ li $at, 1
/* 0C933C 800C873C 55210008 */ bnel $t1, $at, .L800C8760
/* 0C9340 800C8740 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C9344 800C8744 94450254 */ lhu $a1, 0x254($v0)
/* 0C9348 800C8748 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900
/* 0C934C 800C874C 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008
/* 0C9350 800C8750 00055100 */ sll $t2, $a1, 4
/* 0C9354 800C8754 0C03243D */ jal func_800C90F4
/* 0C9358 800C8758 01412821 */ addu $a1, $t2, $at
.L800C875C:
/* 0C935C 800C875C 8FDF002C */ lw $ra, 0x2c($fp)
.L800C8760:
/* 0C9360 800C8760 03C0E825 */ move $sp, $fp
/* 0C9364 800C8764 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C9368 800C8768 03E00008 */ jr $ra
/* 0C936C 800C876C 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800C8770
/* 0C9370 800C8770 308E00FF */ andi $t6, $a0, 0xff
/* 0C9374 800C8774 000E78C0 */ sll $t7, $t6, 3
/* 0C9378 800C8778 01EE7823 */ subu $t7, $t7, $t6
/* 0C937C 800C877C 000F7900 */ sll $t7, $t7, 4
/* 0C9380 800C8780 01EE7823 */ subu $t7, $t7, $t6
/* 0C9384 800C8784 000F7880 */ sll $t7, $t7, 2
/* 0C9388 800C8788 01EE7823 */ subu $t7, $t7, $t6
/* 0C938C 800C878C 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C9390 800C8790 000F78C0 */ sll $t7, $t7, 3
/* 0C9394 800C8794 3C18800F */ lui $t8, %hi(D_800F6A4C)
/* 0C9398 800C8798 ADA40010 */ sw $a0, 0x10($t5)
/* 0C939C 800C879C 030FC021 */ addu $t8, $t8, $t7
/* 0C93A0 800C87A0 8F186A4C */ lw $t8, %lo(D_800F6A4C)($t8)
/* 0C93A4 800C87A4 3C024000 */ lui $v0, 0x4000
/* 0C93A8 800C87A8 01C02025 */ move $a0, $t6
/* 0C93AC 800C87AC 0302C824 */ and $t9, $t8, $v0
/* 0C93B0 800C87B0 14590010 */ bne $v0, $t9, .L800C87F4
/* 0C93B4 800C87B4 3C01800F */ lui $at, %hi(D_800E9F2C)
/* 0C93B8 800C87B8 3C0A800F */ lui $t2, %hi(D_800E9F2C) # $t2, 0x800f
/* 0C93BC 800C87BC 254A9F2C */ addiu $t2, %lo(D_800E9F2C) # addiu $t2, $t2, -0x60d4
/* 0C93C0 800C87C0 01CA1821 */ addu $v1, $t6, $t2
/* 0C93C4 800C87C4 90650000 */ lbu $a1, ($v1)
/* 0C93C8 800C87C8 3C08800F */ lui $t0, %hi(D_800E9F24) # $t0, 0x800f
/* 0C93CC 800C87CC 25089F24 */ addiu $t0, %lo(D_800E9F24) # addiu $t0, $t0, -0x60dc
/* 0C93D0 800C87D0 01C81021 */ addu $v0, $t6, $t0
/* 0C93D4 800C87D4 24090001 */ li $t1, 1
/* 0C93D8 800C87D8 28A100FA */ slti $at, $a1, 0xfa
/* 0C93DC 800C87DC 10200003 */ beqz $at, .L800C87EC
/* 0C93E0 800C87E0 A0490000 */ sb $t1, ($v0)
/* 0C93E4 800C87E4 24AB0001 */ addiu $t3, $a1, 1
/* 0C93E8 800C87E8 A06B0000 */ sb $t3, ($v1)
.L800C87EC:
/* 0C93EC 800C87EC 1000000D */ b .L800C8824
/* 0C93F0 800C87F0 90430000 */ lbu $v1, ($v0)
.L800C87F4:
/* 0C93F4 800C87F4 3C0C800F */ lui $t4, %hi(D_800E9F24) # $t4, 0x800f
/* 0C93F8 800C87F8 00240821 */ addu $at, $at, $a0
/* 0C93FC 800C87FC 258C9F24 */ addiu $t4, %lo(D_800E9F24) # addiu $t4, $t4, -0x60dc
/* 0C9400 800C8800 A0209F2C */ sb $zero, %lo(D_800E9F2C)($at)
/* 0C9404 800C8804 008C1021 */ addu $v0, $a0, $t4
/* 0C9408 800C8808 90430000 */ lbu $v1, ($v0)
/* 0C940C 800C880C 24010001 */ li $at, 1
/* 0C9410 800C8810 240E0002 */ li $t6, 2
/* 0C9414 800C8814 54610004 */ bnel $v1, $at, .L800C8828
/* 0C9418 800C8818 24010001 */ li $at, 1
/* 0C941C 800C881C A04E0000 */ sb $t6, ($v0)
/* 0C9420 800C8820 31C300FF */ andi $v1, $t6, 0xff
.L800C8824:
/* 0C9424 800C8824 24010001 */ li $at, 1
.L800C8828:
/* 0C9428 800C8828 10610006 */ beq $v1, $at, .L800C8844
/* 0C942C 800C882C 3C0F800F */ lui $t7, %hi(D_800E9F34) # $t7, 0x800f
/* 0C9430 800C8830 24010002 */ li $at, 2
/* 0C9434 800C8834 1061001A */ beq $v1, $at, .L800C88A0
/* 0C9438 800C8838 3C19800F */ lui $t9, %hi(D_800E9F34) # $t9, 0x800f
/* 0C943C 800C883C 10000036 */ b .L800C8918
/* 0C9440 800C8840 01A0E825 */ move $sp, $t5
.L800C8844:
/* 0C9444 800C8844 00041880 */ sll $v1, $a0, 2
/* 0C9448 800C8848 25EF9F34 */ addiu $t7, %lo(D_800E9F34) # addiu $t7, $t7, -0x60cc
/* 0C944C 800C884C 006F2821 */ addu $a1, $v1, $t7
/* 0C9450 800C8850 3C01800F */ lui $at, %hi(D_800F3894) # $at, 0x800f
/* 0C9454 800C8854 C4243894 */ lwc1 $f4, %lo(D_800F3894)($at)
/* 0C9458 800C8858 C4A00000 */ lwc1 $f0, ($a1)
/* 0C945C 800C885C 3C01800F */ lui $at, %hi(D_800F3898) # $at, 0x800f
/* 0C9460 800C8860 4604003C */ c.lt.s $f0, $f4
/* 0C9464 800C8864 00000000 */ nop
/* 0C9468 800C8868 4502002B */ bc1fl .L800C8918
/* 0C946C 800C886C 01A0E825 */ move $sp, $t5
/* 0C9470 800C8870 C4263898 */ lwc1 $f6, %lo(D_800F3898)($at)
/* 0C9474 800C8874 3C18800F */ lui $t8, %hi(D_800E9F54) # $t8, 0x800f
/* 0C9478 800C8878 27189F54 */ addiu $t8, %lo(D_800E9F54) # addiu $t8, $t8, -0x60ac
/* 0C947C 800C887C 46060200 */ add.s $f8, $f0, $f6
/* 0C9480 800C8880 00781021 */ addu $v0, $v1, $t8
/* 0C9484 800C8884 3C01800F */ lui $at, %hi(D_800F389C) # $at, 0x800f
/* 0C9488 800C8888 C44A0000 */ lwc1 $f10, ($v0)
/* 0C948C 800C888C E4A80000 */ swc1 $f8, ($a1)
/* 0C9490 800C8890 C430389C */ lwc1 $f16, %lo(D_800F389C)($at)
/* 0C9494 800C8894 46105480 */ add.s $f18, $f10, $f16
/* 0C9498 800C8898 1000001E */ b .L800C8914
/* 0C949C 800C889C E4520000 */ swc1 $f18, ($v0)
.L800C88A0:
/* 0C94A0 800C88A0 00041880 */ sll $v1, $a0, 2
/* 0C94A4 800C88A4 27399F34 */ addiu $t9, %lo(D_800E9F34) # addiu $t9, $t9, -0x60cc
/* 0C94A8 800C88A8 00792821 */ addu $a1, $v1, $t9
/* 0C94AC 800C88AC 3C01800F */ lui $at, %hi(D_800F38A0) # $at, 0x800f
/* 0C94B0 800C88B0 C42438A0 */ lwc1 $f4, %lo(D_800F38A0)($at)
/* 0C94B4 800C88B4 C4A00000 */ lwc1 $f0, ($a1)
/* 0C94B8 800C88B8 3C01800F */ lui $at, %hi(D_800F38A4) # $at, 0x800f
/* 0C94BC 800C88BC 4600203C */ c.lt.s $f4, $f0
/* 0C94C0 800C88C0 00000000 */ nop
/* 0C94C4 800C88C4 4502000E */ bc1fl .L800C8900
/* 0C94C8 800C88C8 44800000 */ mtc1 $zero, $f0
/* 0C94CC 800C88CC C42638A4 */ lwc1 $f6, %lo(D_800F38A4)($at)
/* 0C94D0 800C88D0 3C08800F */ lui $t0, %hi(D_800E9F54) # $t0, 0x800f
/* 0C94D4 800C88D4 25089F54 */ addiu $t0, %lo(D_800E9F54) # addiu $t0, $t0, -0x60ac
/* 0C94D8 800C88D8 46060201 */ sub.s $f8, $f0, $f6
/* 0C94DC 800C88DC 00681021 */ addu $v0, $v1, $t0
/* 0C94E0 800C88E0 3C01800F */ lui $at, %hi(D_800F38A8) # $at, 0x800f
/* 0C94E4 800C88E4 C44A0000 */ lwc1 $f10, ($v0)
/* 0C94E8 800C88E8 E4A80000 */ swc1 $f8, ($a1)
/* 0C94EC 800C88EC C43038A8 */ lwc1 $f16, %lo(D_800F38A8)($at)
/* 0C94F0 800C88F0 46105481 */ sub.s $f18, $f10, $f16
/* 0C94F4 800C88F4 10000007 */ b .L800C8914
/* 0C94F8 800C88F8 E4520000 */ swc1 $f18, ($v0)
/* 0C94FC 800C88FC 44800000 */ mtc1 $zero, $f0
.L800C8900:
/* 0C9500 800C8900 3C01800F */ lui $at, %hi(D_800E9F54)
/* 0C9504 800C8904 00230821 */ addu $at, $at, $v1
/* 0C9508 800C8908 E4A00000 */ swc1 $f0, ($a1)
/* 0C950C 800C890C E4209F54 */ swc1 $f0, %lo(D_800E9F54)($at)
/* 0C9510 800C8910 A0400000 */ sb $zero, ($v0)
.L800C8914:
/* 0C9514 800C8914 01A0E825 */ move $sp, $t5
.L800C8918:
/* 0C9518 800C8918 03E00008 */ jr $ra
/* 0C951C 800C891C 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C8920
/* 0C9520 800C8920 3C0E800F */ lui $t6, %hi(D_800EA168) # $t6, 0x800f
/* 0C9524 800C8924 91CEA168 */ lbu $t6, %lo(D_800EA168)($t6)
/* 0C9528 800C8928 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C952C 800C892C AFBE0028 */ sw $fp, 0x28($sp)
/* 0C9530 800C8930 03A0F025 */ move $fp, $sp
/* 0C9534 800C8934 11C00026 */ beqz $t6, .L800C89D0
/* 0C9538 800C8938 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C953C 800C893C 3C03800F */ lui $v1, %hi(D_800F6990) # $v1, 0x800f
/* 0C9540 800C8940 24636990 */ addiu $v1, %lo(D_800F6990) # addiu $v1, $v1, 0x6990
/* 0C9544 800C8944 8C6F00BC */ lw $t7, 0xbc($v1)
/* 0C9548 800C8948 3C024000 */ lui $v0, 0x4000
/* 0C954C 800C894C 01E2C024 */ and $t8, $t7, $v0
/* 0C9550 800C8950 50580020 */ beql $v0, $t8, .L800C89D4
/* 0C9554 800C8954 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C9558 800C8958 8C790E94 */ lw $t9, 0xe94($v1)
/* 0C955C 800C895C 03224024 */ and $t0, $t9, $v0
/* 0C9560 800C8960 5048001C */ beql $v0, $t0, .L800C89D4
/* 0C9564 800C8964 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C9568 800C8968 8C691C6C */ lw $t1, 0x1c6c($v1)
/* 0C956C 800C896C 01225024 */ and $t2, $t1, $v0
/* 0C9570 800C8970 504A0018 */ beql $v0, $t2, .L800C89D4
/* 0C9574 800C8974 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C9578 800C8978 8C6B2A44 */ lw $t3, 0x2a44($v1)
/* 0C957C 800C897C 01626024 */ and $t4, $t3, $v0
/* 0C9580 800C8980 504C0014 */ beql $v0, $t4, .L800C89D4
/* 0C9584 800C8984 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C9588 800C8988 8C6D381C */ lw $t5, 0x381c($v1)
/* 0C958C 800C898C 01A27024 */ and $t6, $t5, $v0
/* 0C9590 800C8990 504E0010 */ beql $v0, $t6, .L800C89D4
/* 0C9594 800C8994 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C9598 800C8998 8C6F45F4 */ lw $t7, 0x45f4($v1)
/* 0C959C 800C899C 01E2C024 */ and $t8, $t7, $v0
/* 0C95A0 800C89A0 5058000C */ beql $v0, $t8, .L800C89D4
/* 0C95A4 800C89A4 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C95A8 800C89A8 8C7953CC */ lw $t9, 0x53cc($v1)
/* 0C95AC 800C89AC 03224024 */ and $t0, $t9, $v0
/* 0C95B0 800C89B0 50480008 */ beql $v0, $t0, .L800C89D4
/* 0C95B4 800C89B4 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C95B8 800C89B8 8C6961A4 */ lw $t1, 0x61a4($v1)
/* 0C95BC 800C89BC 01225024 */ and $t2, $t1, $v0
/* 0C95C0 800C89C0 504A0004 */ beql $v0, $t2, .L800C89D4
/* 0C95C4 800C89C4 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C95C8 800C89C8 0C032B02 */ jal func_800CAC08
/* 0C95CC 800C89CC 00000000 */ nop
.L800C89D0:
/* 0C95D0 800C89D0 8FDF002C */ lw $ra, 0x2c($fp)
.L800C89D4:
/* 0C95D4 800C89D4 03C0E825 */ move $sp, $fp
/* 0C95D8 800C89D8 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C95DC 800C89DC 03E00008 */ jr $ra
/* 0C95E0 800C89E0 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800C89E4
/* 0C95E4 800C89E4 3C04800F */ lui $a0, %hi(D_800EA180) # $a0, 0x800f
/* 0C95E8 800C89E8 2484A180 */ addiu $a0, %lo(D_800EA180) # addiu $a0, $a0, -0x5e80
/* 0C95EC 800C89EC 94820000 */ lhu $v0, ($a0)
/* 0C95F0 800C89F0 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C95F4 800C89F4 01A0E825 */ move $sp, $t5
/* 0C95F8 800C89F8 10400038 */ beqz $v0, .L800C8ADC
/* 0C95FC 800C89FC 244E0001 */ addiu $t6, $v0, 1
/* 0C9600 800C8A00 31C2FFFF */ andi $v0, $t6, 0xffff
/* 0C9604 800C8A04 24010002 */ li $at, 2
/* 0C9608 800C8A08 A48E0000 */ sh $t6, ($a0)
/* 0C960C 800C8A0C 14410006 */ bne $v0, $at, .L800C8A28
/* 0C9610 800C8A10 00401825 */ move $v1, $v0
/* 0C9614 800C8A14 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C9618 800C8A18 44810000 */ mtc1 $at, $f0
/* 0C961C 800C8A1C 3C05800F */ lui $a1, %hi(D_800EA17C) # $a1, 0x800f
/* 0C9620 800C8A20 24A5A17C */ addiu $a1, %lo(D_800EA17C) # addiu $a1, $a1, -0x5e84
/* 0C9624 800C8A24 E4A00000 */ swc1 $f0, ($a1)
.L800C8A28:
/* 0C9628 800C8A28 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C962C 800C8A2C 44810000 */ mtc1 $at, $f0
/* 0C9630 800C8A30 3C05800F */ lui $a1, %hi(D_800EA17C) # $a1, 0x800f
/* 0C9634 800C8A34 2861000F */ slti $at, $v1, 0xf
/* 0C9638 800C8A38 1020000E */ beqz $at, .L800C8A74
/* 0C963C 800C8A3C 24A5A17C */ addiu $a1, %lo(D_800EA17C) # addiu $a1, $a1, -0x5e84
/* 0C9640 800C8A40 44822000 */ mtc1 $v0, $f4
/* 0C9644 800C8A44 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0C9648 800C8A48 04410004 */ bgez $v0, .L800C8A5C
/* 0C964C 800C8A4C 468021A0 */ cvt.s.w $f6, $f4
/* 0C9650 800C8A50 44814000 */ mtc1 $at, $f8
/* 0C9654 800C8A54 00000000 */ nop
/* 0C9658 800C8A58 46083180 */ add.s $f6, $f6, $f8
.L800C8A5C:
/* 0C965C 800C8A5C 3C01800F */ lui $at, %hi(D_800F38AC) # $at, 0x800f
/* 0C9660 800C8A60 C42A38AC */ lwc1 $f10, %lo(D_800F38AC)($at)
/* 0C9664 800C8A64 3C01800F */ lui $at, %hi(D_800EA178) # $at, 0x800f
/* 0C9668 800C8A68 460A3402 */ mul.s $f16, $f6, $f10
/* 0C966C 800C8A6C 46100481 */ sub.s $f18, $f0, $f16
/* 0C9670 800C8A70 E432A178 */ swc1 $f18, %lo(D_800EA178)($at)
.L800C8A74:
/* 0C9674 800C8A74 28610033 */ slti $at, $v1, 0x33
/* 0C9678 800C8A78 1420000A */ bnez $at, .L800C8AA4
/* 0C967C 800C8A7C 28610096 */ slti $at, $v1, 0x96
/* 0C9680 800C8A80 10200008 */ beqz $at, .L800C8AA4
/* 0C9684 800C8A84 246FFFCE */ addiu $t7, $v1, -0x32
/* 0C9688 800C8A88 448F2000 */ mtc1 $t7, $f4
/* 0C968C 800C8A8C 3C0142DC */ li $at, 0x42DC0000 # 110.000000
/* 0C9690 800C8A90 44813000 */ mtc1 $at, $f6
/* 0C9694 800C8A94 46802220 */ cvt.s.w $f8, $f4
/* 0C9698 800C8A98 46064283 */ div.s $f10, $f8, $f6
/* 0C969C 800C8A9C 460A0401 */ sub.s $f16, $f0, $f10
/* 0C96A0 800C8AA0 E4B00000 */ swc1 $f16, ($a1)
.L800C8AA4:
/* 0C96A4 800C8AA4 2401012D */ li $at, 301
/* 0C96A8 800C8AA8 54610005 */ bnel $v1, $at, .L800C8AC0
/* 0C96AC 800C8AAC 24010321 */ li $at, 801
/* 0C96B0 800C8AB0 44809000 */ mtc1 $zero, $f18
/* 0C96B4 800C8AB4 00000000 */ nop
/* 0C96B8 800C8AB8 E4B20000 */ swc1 $f18, ($a1)
/* 0C96BC 800C8ABC 24010321 */ li $at, 801
.L800C8AC0:
/* 0C96C0 800C8AC0 14610006 */ bne $v1, $at, .L800C8ADC
/* 0C96C4 800C8AC4 3C01800F */ lui $at, %hi(D_800EA178) # $at, 0x800f
/* 0C96C8 800C8AC8 E420A178 */ swc1 $f0, %lo(D_800EA178)($at)
/* 0C96CC 800C8ACC 3C01800F */ lui $at, %hi(D_800F38B0) # $at, 0x800f
/* 0C96D0 800C8AD0 C42438B0 */ lwc1 $f4, %lo(D_800F38B0)($at)
/* 0C96D4 800C8AD4 A4800000 */ sh $zero, ($a0)
/* 0C96D8 800C8AD8 E4A40000 */ swc1 $f4, ($a1)
.L800C8ADC:
/* 0C96DC 800C8ADC 03E00008 */ jr $ra
/* 0C96E0 800C8AE0 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C8AE4
/* 0C96E4 800C8AE4 3C0E800E */ lui $t6, %hi(gCurrentCourseId) # $t6, 0x800e
/* 0C96E8 800C8AE8 85CEC5A0 */ lh $t6, %lo(gCurrentCourseId)($t6)
/* 0C96EC 800C8AEC 27ADFFF0 */ addiu $t5, $sp, -0x10
/* 0C96F0 800C8AF0 24010008 */ li $at, 8
/* 0C96F4 800C8AF4 15C1005F */ bne $t6, $at, .L800C8C74
/* 0C96F8 800C8AF8 01A0E825 */ move $sp, $t5
/* 0C96FC 800C8AFC 3C03800F */ lui $v1, %hi(D_800EA184) # $v1, 0x800f
/* 0C9700 800C8B00 2463A184 */ addiu $v1, %lo(D_800EA184) # addiu $v1, $v1, -0x5e7c
/* 0C9704 800C8B04 94620000 */ lhu $v0, ($v1)
/* 0C9708 800C8B08 3C0F800F */ lui $t7, %hi(D_800EA16C) # $t7, 0x800f
/* 0C970C 800C8B0C 2401012C */ li $at, 300
/* 0C9710 800C8B10 1040000E */ beqz $v0, .L800C8B4C
/* 0C9714 800C8B14 00000000 */ nop
/* 0C9718 800C8B18 91EFA16C */ lbu $t7, %lo(D_800EA16C)($t7)
/* 0C971C 800C8B1C 24580001 */ addiu $t8, $v0, 1
/* 0C9720 800C8B20 15E00003 */ bnez $t7, .L800C8B30
/* 0C9724 800C8B24 00000000 */ nop
/* 0C9728 800C8B28 A4780000 */ sh $t8, ($v1)
/* 0C972C 800C8B2C 3302FFFF */ andi $v0, $t8, 0xffff
.L800C8B30:
/* 0C9730 800C8B30 14410050 */ bne $v0, $at, .L800C8C74
/* 0C9734 800C8B34 3C01800F */ lui $at, %hi(D_800F38B4) # $at, 0x800f
/* 0C9738 800C8B38 C42438B4 */ lwc1 $f4, %lo(D_800F38B4)($at)
/* 0C973C 800C8B3C 3C01800F */ lui $at, %hi(D_800EA17C) # $at, 0x800f
/* 0C9740 800C8B40 E424A17C */ swc1 $f4, %lo(D_800EA17C)($at)
/* 0C9744 800C8B44 1000004B */ b .L800C8C74
/* 0C9748 800C8B48 A4600000 */ sh $zero, ($v1)
.L800C8B4C:
/* 0C974C 800C8B4C 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f
/* 0C9750 800C8B50 9042A1C0 */ lbu $v0, %lo(D_800EA1C0)($v0)
/* 0C9754 800C8B54 24010001 */ li $at, 1
/* 0C9758 800C8B58 10400009 */ beqz $v0, .L800C8B80
/* 0C975C 800C8B5C 00000000 */ nop
/* 0C9760 800C8B60 10410012 */ beq $v0, $at, .L800C8BAC
/* 0C9764 800C8B64 24010002 */ li $at, 2
/* 0C9768 800C8B68 1041001E */ beq $v0, $at, .L800C8BE4
/* 0C976C 800C8B6C 24010003 */ li $at, 3
/* 0C9770 800C8B70 1041002D */ beq $v0, $at, .L800C8C28
/* 0C9774 800C8B74 00000000 */ nop
/* 0C9778 800C8B78 1000003E */ b .L800C8C74
/* 0C977C 800C8B7C 00000000 */ nop
.L800C8B80:
/* 0C9780 800C8B80 3C02800F */ lui $v0, %hi(D_800E9F7C) # $v0, 0x800f
/* 0C9784 800C8B84 24429F7C */ addiu $v0, %lo(D_800E9F7C) # addiu $v0, $v0, -0x6084
/* 0C9788 800C8B88 80590014 */ lb $t9, 0x14($v0)
/* 0C978C 800C8B8C 13200039 */ beqz $t9, .L800C8C74
/* 0C9790 800C8B90 00000000 */ nop
/* 0C9794 800C8B94 44803000 */ mtc1 $zero, $f6
/* 0C9798 800C8B98 3C01800F */ lui $at, %hi(D_800EA17C) # $at, 0x800f
/* 0C979C 800C8B9C 24080001 */ li $t0, 1
/* 0C97A0 800C8BA0 E426A17C */ swc1 $f6, %lo(D_800EA17C)($at)
/* 0C97A4 800C8BA4 10000033 */ b .L800C8C74
/* 0C97A8 800C8BA8 A4680000 */ sh $t0, ($v1)
.L800C8BAC:
/* 0C97AC 800C8BAC 3C02800F */ lui $v0, %hi(D_800E9F7C) # $v0, 0x800f
/* 0C97B0 800C8BB0 24429F7C */ addiu $v0, %lo(D_800E9F7C) # addiu $v0, $v0, -0x6084
/* 0C97B4 800C8BB4 80490014 */ lb $t1, 0x14($v0)
/* 0C97B8 800C8BB8 55200005 */ bnel $t1, $zero, .L800C8BD0
/* 0C97BC 800C8BBC 44804000 */ mtc1 $zero, $f8
/* 0C97C0 800C8BC0 804A0050 */ lb $t2, 0x50($v0)
/* 0C97C4 800C8BC4 1140002B */ beqz $t2, .L800C8C74
/* 0C97C8 800C8BC8 00000000 */ nop
/* 0C97CC 800C8BCC 44804000 */ mtc1 $zero, $f8
.L800C8BD0:
/* 0C97D0 800C8BD0 3C01800F */ lui $at, %hi(D_800EA17C) # $at, 0x800f
/* 0C97D4 800C8BD4 240B0001 */ li $t3, 1
/* 0C97D8 800C8BD8 E428A17C */ swc1 $f8, %lo(D_800EA17C)($at)
/* 0C97DC 800C8BDC 10000025 */ b .L800C8C74
/* 0C97E0 800C8BE0 A46B0000 */ sh $t3, ($v1)
.L800C8BE4:
/* 0C97E4 800C8BE4 3C02800F */ lui $v0, %hi(D_800E9F7C) # $v0, 0x800f
/* 0C97E8 800C8BE8 24429F7C */ addiu $v0, %lo(D_800E9F7C) # addiu $v0, $v0, -0x6084
/* 0C97EC 800C8BEC 804C0014 */ lb $t4, 0x14($v0)
/* 0C97F0 800C8BF0 55800008 */ bnel $t4, $zero, .L800C8C14
/* 0C97F4 800C8BF4 44805000 */ mtc1 $zero, $f10
/* 0C97F8 800C8BF8 804E0050 */ lb $t6, 0x50($v0)
/* 0C97FC 800C8BFC 55C00005 */ bnel $t6, $zero, .L800C8C14
/* 0C9800 800C8C00 44805000 */ mtc1 $zero, $f10
/* 0C9804 800C8C04 804F008C */ lb $t7, 0x8c($v0)
/* 0C9808 800C8C08 11E0001A */ beqz $t7, .L800C8C74
/* 0C980C 800C8C0C 00000000 */ nop
/* 0C9810 800C8C10 44805000 */ mtc1 $zero, $f10
.L800C8C14:
/* 0C9814 800C8C14 3C01800F */ lui $at, %hi(D_800EA17C) # $at, 0x800f
/* 0C9818 800C8C18 24180001 */ li $t8, 1
/* 0C981C 800C8C1C E42AA17C */ swc1 $f10, %lo(D_800EA17C)($at)
/* 0C9820 800C8C20 10000014 */ b .L800C8C74
/* 0C9824 800C8C24 A4780000 */ sh $t8, ($v1)
.L800C8C28:
/* 0C9828 800C8C28 3C02800F */ lui $v0, %hi(D_800E9F7C) # $v0, 0x800f
/* 0C982C 800C8C2C 24429F7C */ addiu $v0, %lo(D_800E9F7C) # addiu $v0, $v0, -0x6084
/* 0C9830 800C8C30 80590014 */ lb $t9, 0x14($v0)
/* 0C9834 800C8C34 5720000B */ bnel $t9, $zero, .L800C8C64
/* 0C9838 800C8C38 44808000 */ mtc1 $zero, $f16
/* 0C983C 800C8C3C 80480050 */ lb $t0, 0x50($v0)
/* 0C9840 800C8C40 55000008 */ bnel $t0, $zero, .L800C8C64
/* 0C9844 800C8C44 44808000 */ mtc1 $zero, $f16
/* 0C9848 800C8C48 8049008C */ lb $t1, 0x8c($v0)
/* 0C984C 800C8C4C 55200005 */ bnel $t1, $zero, .L800C8C64
/* 0C9850 800C8C50 44808000 */ mtc1 $zero, $f16
/* 0C9854 800C8C54 804A00C8 */ lb $t2, 0xc8($v0)
/* 0C9858 800C8C58 11400006 */ beqz $t2, .L800C8C74
/* 0C985C 800C8C5C 00000000 */ nop
/* 0C9860 800C8C60 44808000 */ mtc1 $zero, $f16
.L800C8C64:
/* 0C9864 800C8C64 3C01800F */ lui $at, %hi(D_800EA17C) # $at, 0x800f
/* 0C9868 800C8C68 240B0001 */ li $t3, 1
/* 0C986C 800C8C6C E430A17C */ swc1 $f16, %lo(D_800EA17C)($at)
/* 0C9870 800C8C70 A46B0000 */ sh $t3, ($v1)
.L800C8C74:
/* 0C9874 800C8C74 03E00008 */ jr $ra
/* 0C9878 800C8C78 25BD0010 */ addiu $sp, $t5, 0x10
glabel func_800C8C7C
/* 0C987C 800C8C7C 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C9880 800C8C80 44812000 */ mtc1 $at, $f4
/* 0C9884 800C8C84 308E00FF */ andi $t6, $a0, 0xff
/* 0C9888 800C8C88 000E1080 */ sll $v0, $t6, 2
/* 0C988C 800C8C8C 3C01800F */ lui $at, %hi(D_800E9F54)
/* 0C9890 800C8C90 00220821 */ addu $at, $at, $v0
/* 0C9894 800C8C94 C4269F54 */ lwc1 $f6, %lo(D_800E9F54)($at)
/* 0C9898 800C8C98 3C01800F */ lui $at, %hi(D_800EA130)
/* 0C989C 800C8C9C 00220821 */ addu $at, $at, $v0
/* 0C98A0 800C8CA0 46062201 */ sub.s $f8, $f4, $f6
/* 0C98A4 800C8CA4 C42AA130 */ lwc1 $f10, %lo(D_800EA130)($at)
/* 0C98A8 800C8CA8 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 0C98AC 800C8CAC 3C01800F */ lui $at, %hi(D_800EA06C + 8)
/* 0C98B0 800C8CB0 460A4401 */ sub.s $f16, $f8, $f10
/* 0C98B4 800C8CB4 000E7900 */ sll $t7, $t6, 4
/* 0C98B8 800C8CB8 AFA40010 */ sw $a0, 0x10($sp)
/* 0C98BC 800C8CBC 002F0821 */ addu $at, $at, $t7
/* 0C98C0 800C8CC0 E430A074 */ swc1 $f16, %lo(D_800EA06C + 8)($at)
/* 0C98C4 800C8CC4 03E00008 */ jr $ra
/* 0C98C8 800C8CC8 27BD0010 */ addiu $sp, $sp, 0x10
glabel func_800C8CCC
/* 0C98CC 800C8CCC 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C98D0 800C8CD0 AFB10024 */ sw $s1, 0x24($sp)
/* 0C98D4 800C8CD4 3C11800F */ lui $s1, %hi(D_800EA1C0) # $s1, 0x800f
/* 0C98D8 800C8CD8 2631A1C0 */ addiu $s1, %lo(D_800EA1C0) # addiu $s1, $s1, -0x5e40
/* 0C98DC 800C8CDC 92220000 */ lbu $v0, ($s1)
/* 0C98E0 800C8CE0 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C98E4 800C8CE4 AFB00020 */ sw $s0, 0x20($sp)
/* 0C98E8 800C8CE8 24420001 */ addiu $v0, $v0, 1
/* 0C98EC 800C8CEC 03A0F025 */ move $fp, $sp
/* 0C98F0 800C8CF0 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C98F4 800C8CF4 1840001D */ blez $v0, .L800C8D6C
/* 0C98F8 800C8CF8 00008025 */ move $s0, $zero
.L800C8CFC:
/* 0C98FC 800C8CFC 0C031741 */ jal func_800C5D04
/* 0C9900 800C8D00 320400FF */ andi $a0, $s0, 0xff
/* 0C9904 800C8D04 0C03178E */ jal func_800C5E38
/* 0C9908 800C8D08 320400FF */ andi $a0, $s0, 0xff
/* 0C990C 800C8D0C 0C031842 */ jal func_800C6108
/* 0C9910 800C8D10 320400FF */ andi $a0, $s0, 0xff
/* 0C9914 800C8D14 0C031928 */ jal func_800C64A0
/* 0C9918 800C8D18 320400FF */ andi $a0, $s0, 0xff
/* 0C991C 800C8D1C 0C0319D6 */ jal func_800C6758
/* 0C9920 800C8D20 320400FF */ andi $a0, $s0, 0xff
/* 0C9924 800C8D24 0C031A0F */ jal func_800C683C
/* 0C9928 800C8D28 320400FF */ andi $a0, $s0, 0xff
/* 0C992C 800C8D2C 0C031C2A */ jal func_800C70A8
/* 0C9930 800C8D30 320400FF */ andi $a0, $s0, 0xff
/* 0C9934 800C8D34 0C031DB0 */ jal func_800C76C0
/* 0C9938 800C8D38 320400FF */ andi $a0, $s0, 0xff
/* 0C993C 800C8D3C 0C03211F */ jal func_800C847C
/* 0C9940 800C8D40 320400FF */ andi $a0, $s0, 0xff
/* 0C9944 800C8D44 0C0321B6 */ jal func_800C86D8
/* 0C9948 800C8D48 320400FF */ andi $a0, $s0, 0xff
/* 0C994C 800C8D4C 92220000 */ lbu $v0, ($s1)
/* 0C9950 800C8D50 26100001 */ addiu $s0, $s0, 1
/* 0C9954 800C8D54 320E00FF */ andi $t6, $s0, 0xff
/* 0C9958 800C8D58 24420001 */ addiu $v0, $v0, 1
/* 0C995C 800C8D5C 01C2082A */ slt $at, $t6, $v0
/* 0C9960 800C8D60 1420FFE6 */ bnez $at, .L800C8CFC
/* 0C9964 800C8D64 01C08025 */ move $s0, $t6
/* 0C9968 800C8D68 00008025 */ move $s0, $zero
.L800C8D6C:
/* 0C996C 800C8D6C 3C0F800E */ lui $t7, %hi(gModeSelection) # $t7, 0x800e
/* 0C9970 800C8D70 8DEFC53C */ lw $t7, %lo(gModeSelection)($t7)
/* 0C9974 800C8D74 15E0000C */ bnez $t7, .L800C8DA8
/* 0C9978 800C8D78 00000000 */ nop
.L800C8D7C:
/* 0C997C 800C8D7C 0C0321DC */ jal func_800C8770
/* 0C9980 800C8D80 320400FF */ andi $a0, $s0, 0xff
/* 0C9984 800C8D84 0C03231F */ jal func_800C8C7C
/* 0C9988 800C8D88 320400FF */ andi $a0, $s0, 0xff
/* 0C998C 800C8D8C 26100001 */ addiu $s0, $s0, 1
/* 0C9990 800C8D90 321800FF */ andi $t8, $s0, 0xff
/* 0C9994 800C8D94 2B010008 */ slti $at, $t8, 8
/* 0C9998 800C8D98 1420FFF8 */ bnez $at, .L800C8D7C
/* 0C999C 800C8D9C 03008025 */ move $s0, $t8
/* 0C99A0 800C8DA0 1000000E */ b .L800C8DDC
/* 0C99A4 800C8DA4 00000000 */ nop
.L800C8DA8:
/* 0C99A8 800C8DA8 1840000C */ blez $v0, .L800C8DDC
/* 0C99AC 800C8DAC 00000000 */ nop
.L800C8DB0:
/* 0C99B0 800C8DB0 0C0321DC */ jal func_800C8770
/* 0C99B4 800C8DB4 320400FF */ andi $a0, $s0, 0xff
/* 0C99B8 800C8DB8 0C03231F */ jal func_800C8C7C
/* 0C99BC 800C8DBC 320400FF */ andi $a0, $s0, 0xff
/* 0C99C0 800C8DC0 92280000 */ lbu $t0, ($s1)
/* 0C99C4 800C8DC4 26100001 */ addiu $s0, $s0, 1
/* 0C99C8 800C8DC8 321900FF */ andi $t9, $s0, 0xff
/* 0C99CC 800C8DCC 25090001 */ addiu $t1, $t0, 1
/* 0C99D0 800C8DD0 0329082A */ slt $at, $t9, $t1
/* 0C99D4 800C8DD4 1420FFF6 */ bnez $at, .L800C8DB0
/* 0C99D8 800C8DD8 03208025 */ move $s0, $t9
.L800C8DDC:
/* 0C99DC 800C8DDC 0C032248 */ jal func_800C8920
/* 0C99E0 800C8DE0 00000000 */ nop
/* 0C99E4 800C8DE4 0C032279 */ jal func_800C89E4
/* 0C99E8 800C8DE8 00000000 */ nop
/* 0C99EC 800C8DEC 0C0322B9 */ jal func_800C8AE4
/* 0C99F0 800C8DF0 00000000 */ nop
/* 0C99F4 800C8DF4 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C99F8 800C8DF8 03C0E825 */ move $sp, $fp
/* 0C99FC 800C8DFC 8FD00020 */ lw $s0, 0x20($fp)
/* 0C9A00 800C8E00 8FD10024 */ lw $s1, 0x24($fp)
/* 0C9A04 800C8E04 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C9A08 800C8E08 03E00008 */ jr $ra
/* 0C9A0C 800C8E0C 27BD0030 */ addiu $sp, $sp, 0x30
glabel play_sound2
/* 0C9A10 800C8E10 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0C9A14 800C8E14 3C014900 */ lui $at, (0x49008018 >> 16) # lui $at, 0x4900
/* 0C9A18 800C8E18 AFBE0030 */ sw $fp, 0x30($sp)
/* 0C9A1C 800C8E1C 34218018 */ ori $at, (0x49008018 & 0xFFFF) # ori $at, $at, 0x8018
/* 0C9A20 800C8E20 03A0F025 */ move $fp, $sp
/* 0C9A24 800C8E24 14810008 */ bne $a0, $at, .L800C8E48
/* 0C9A28 800C8E28 AFBF0034 */ sw $ra, 0x34($sp)
/* 0C9A2C 800C8E2C 3C0E800E */ lui $t6, %hi(gCurrentCourseId) # $t6, 0x800e
/* 0C9A30 800C8E30 85CEC5A0 */ lh $t6, %lo(gCurrentCourseId)($t6)
/* 0C9A34 800C8E34 24010012 */ li $at, 18
/* 0C9A38 800C8E38 55C10004 */ bnel $t6, $at, .L800C8E4C
/* 0C9A3C 800C8E3C 3C014900 */ lui $at, 0x4900
/* 0C9A40 800C8E40 3C044900 */ lui $a0, (0x49008027 >> 16) # lui $a0, 0x4900
/* 0C9A44 800C8E44 34848027 */ ori $a0, (0x49008027 & 0xFFFF) # ori $a0, $a0, 0x8027
.L800C8E48:
/* 0C9A48 800C8E48 3C014900 */ lui $at, (0x49008019 >> 16) # lui $at, 0x4900
.L800C8E4C:
/* 0C9A4C 800C8E4C 34218019 */ ori $at, (0x49008019 & 0xFFFF) # ori $at, $at, 0x8019
/* 0C9A50 800C8E50 14810008 */ bne $a0, $at, .L800C8E74
/* 0C9A54 800C8E54 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C9A58 800C8E58 3C0F800E */ lui $t7, %hi(gCurrentCourseId) # $t7, 0x800e
/* 0C9A5C 800C8E5C 85EFC5A0 */ lh $t7, %lo(gCurrentCourseId)($t7)
/* 0C9A60 800C8E60 24010012 */ li $at, 18
/* 0C9A64 800C8E64 15E10003 */ bne $t7, $at, .L800C8E74
/* 0C9A68 800C8E68 00000000 */ nop
/* 0C9A6C 800C8E6C 3C044900 */ lui $a0, (0x49008028 >> 16) # lui $a0, 0x4900
/* 0C9A70 800C8E70 34848028 */ ori $a0, (0x49008028 & 0xFFFF) # ori $a0, $a0, 0x8028
.L800C8E74:
/* 0C9A74 800C8E74 3C18800F */ lui $t8, %hi(D_800EA1DC) # $t8, 0x800f
/* 0C9A78 800C8E78 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C9A7C 800C8E7C 2718A1DC */ addiu $t8, %lo(D_800EA1DC) # addiu $t8, $t8, -0x5e24
/* 0C9A80 800C8E80 3C05800F */ lui $a1, %hi(D_800EA1C8) # $a1, 0x800f
/* 0C9A84 800C8E84 24A5A1C8 */ addiu $a1, %lo(D_800EA1C8) # addiu $a1, $a1, -0x5e38
/* 0C9A88 800C8E88 AFB80014 */ sw $t8, 0x14($sp)
/* 0C9A8C 800C8E8C AFA70010 */ sw $a3, 0x10($sp)
/* 0C9A90 800C8E90 0C031052 */ jal play_sound
/* 0C9A94 800C8E94 24060004 */ li $a2, 4
/* 0C9A98 800C8E98 8FDF0034 */ lw $ra, 0x34($fp)
/* 0C9A9C 800C8E9C 03C0E825 */ move $sp, $fp
/* 0C9AA0 800C8EA0 8FDE0030 */ lw $fp, 0x30($fp)
/* 0C9AA4 800C8EA4 03E00008 */ jr $ra
/* 0C9AA8 800C8EA8 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800C8EAC
/* 0C9AAC 800C8EAC 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C9AB0 800C8EB0 AFA40030 */ sw $a0, 0x30($sp)
/* 0C9AB4 800C8EB4 97A40032 */ lhu $a0, 0x32($sp)
/* 0C9AB8 800C8EB8 3C010001 */ lui $at, 1
/* 0C9ABC 800C8EBC AFBF002C */ sw $ra, 0x2c($sp)
/* 0C9AC0 800C8EC0 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C9AC4 800C8EC4 00817025 */ or $t6, $a0, $at
/* 0C9AC8 800C8EC8 03A0F025 */ move $fp, $sp
/* 0C9ACC 800C8ECC 0C030D12 */ jal func_800C3448
/* 0C9AD0 800C8ED0 01C02025 */ move $a0, $t6
/* 0C9AD4 800C8ED4 97CF0032 */ lhu $t7, 0x32($fp)
/* 0C9AD8 800C8ED8 3C01800F */ lui $at, %hi(D_800EA15C) # $at, 0x800f
/* 0C9ADC 800C8EDC 03C0E825 */ move $sp, $fp
/* 0C9AE0 800C8EE0 A42FA15C */ sh $t7, %lo(D_800EA15C)($at)
/* 0C9AE4 800C8EE4 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C9AE8 800C8EE8 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C9AEC 800C8EEC 27BD0030 */ addiu $sp, $sp, 0x30
/* 0C9AF0 800C8EF0 03E00008 */ jr $ra
/* 0C9AF4 800C8EF4 00000000 */ nop
glabel func_800C8EF8
/* 0C9AF8 800C8EF8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C9AFC 800C8EFC AFA40030 */ sw $a0, 0x30($sp)
/* 0C9B00 800C8F00 97A40032 */ lhu $a0, 0x32($sp)
/* 0C9B04 800C8F04 3C010101 */ lui $at, 0x101
/* 0C9B08 800C8F08 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C9B0C 800C8F0C AFBE0028 */ sw $fp, 0x28($sp)
/* 0C9B10 800C8F10 00817025 */ or $t6, $a0, $at
/* 0C9B14 800C8F14 03A0F025 */ move $fp, $sp
/* 0C9B18 800C8F18 0C030D12 */ jal func_800C3448
/* 0C9B1C 800C8F1C 01C02025 */ move $a0, $t6
/* 0C9B20 800C8F20 97CF0032 */ lhu $t7, 0x32($fp)
/* 0C9B24 800C8F24 3C01800F */ lui $at, %hi(D_800EA160) # $at, 0x800f
/* 0C9B28 800C8F28 03C0E825 */ move $sp, $fp
/* 0C9B2C 800C8F2C A42FA160 */ sh $t7, %lo(D_800EA160)($at)
/* 0C9B30 800C8F30 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C9B34 800C8F34 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C9B38 800C8F38 27BD0030 */ addiu $sp, $sp, 0x30
/* 0C9B3C 800C8F3C 03E00008 */ jr $ra
/* 0C9B40 800C8F40 00000000 */ nop
glabel func_800C8F44
/* 0C9B44 800C8F44 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C9B48 800C8F48 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C9B4C 800C8F4C AFBE0028 */ sw $fp, 0x28($sp)
/* 0C9B50 800C8F50 AFA40030 */ sw $a0, 0x30($sp)
/* 0C9B54 800C8F54 308600FF */ andi $a2, $a0, 0xff
/* 0C9B58 800C8F58 03A0F025 */ move $fp, $sp
/* 0C9B5C 800C8F5C 00002025 */ move $a0, $zero
/* 0C9B60 800C8F60 00002825 */ move $a1, $zero
/* 0C9B64 800C8F64 0C030DB1 */ jal func_800C36C4
/* 0C9B68 800C8F68 24070001 */ li $a3, 1
/* 0C9B6C 800C8F6C 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C9B70 800C8F70 03C0E825 */ move $sp, $fp
/* 0C9B74 800C8F74 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C9B78 800C8F78 03E00008 */ jr $ra
/* 0C9B7C 800C8F7C 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800C8F80
/* 0C9B80 800C8F80 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0C9B84 800C8F84 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0C9B88 800C8F88 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0C9B8C 800C8F8C AFBE0030 */ sw $fp, 0x30($sp)
/* 0C9B90 800C8F90 03A0F025 */ move $fp, $sp
/* 0C9B94 800C8F94 AFBF0034 */ sw $ra, 0x34($sp)
/* 0C9B98 800C8F98 AFA40038 */ sw $a0, 0x38($sp)
/* 0C9B9C 800C8F9C AFA5003C */ sw $a1, 0x3c($sp)
/* 0C9BA0 800C8FA0 15C00018 */ bnez $t6, .L800C9004
/* 0C9BA4 800C8FA4 308600FF */ andi $a2, $a0, 0xff
/* 0C9BA8 800C8FA8 3C0F800F */ lui $t7, %hi(D_800EA0EC) # $t7, 0x800f
/* 0C9BAC 800C8FAC 25EFA0EC */ addiu $t7, %lo(D_800EA0EC) # addiu $t7, $t7, -0x5f14
/* 0C9BB0 800C8FB0 00CF1821 */ addu $v1, $a2, $t7
/* 0C9BB4 800C8FB4 90620000 */ lbu $v0, ($v1)
/* 0C9BB8 800C8FB8 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C9BBC 800C8FBC 24010002 */ li $at, 2
/* 0C9BC0 800C8FC0 10400004 */ beqz $v0, .L800C8FD4
/* 0C9BC4 800C8FC4 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C9BC8 800C8FC8 1441000E */ bne $v0, $at, .L800C9004
/* 0C9BCC 800C8FCC 24180001 */ li $t8, 1
/* 0C9BD0 800C8FD0 A0780000 */ sb $t8, ($v1)
.L800C8FD4:
/* 0C9BD4 800C8FD4 0006C900 */ sll $t9, $a2, 4
/* 0C9BD8 800C8FD8 0326C823 */ subu $t9, $t9, $a2
/* 0C9BDC 800C8FDC 3C08800F */ lui $t0, %hi(D_800E9F7C) # $t0, 0x800f
/* 0C9BE0 800C8FE0 3C09800F */ lui $t1, %hi(D_800EA1DC) # $t1, 0x800f
/* 0C9BE4 800C8FE4 2529A1DC */ addiu $t1, %lo(D_800EA1DC) # addiu $t1, $t1, -0x5e24
/* 0C9BE8 800C8FE8 25089F7C */ addiu $t0, %lo(D_800E9F7C) # addiu $t0, $t0, -0x6084
/* 0C9BEC 800C8FEC 0019C880 */ sll $t9, $t9, 2
/* 0C9BF0 800C8FF0 8FC4003C */ lw $a0, 0x3c($fp)
/* 0C9BF4 800C8FF4 AFA90014 */ sw $t1, 0x14($sp)
/* 0C9BF8 800C8FF8 AFA70010 */ sw $a3, 0x10($sp)
/* 0C9BFC 800C8FFC 0C031052 */ jal play_sound
/* 0C9C00 800C9000 03282821 */ addu $a1, $t9, $t0
.L800C9004:
/* 0C9C04 800C9004 8FDF0034 */ lw $ra, 0x34($fp)
/* 0C9C08 800C9008 03C0E825 */ move $sp, $fp
/* 0C9C0C 800C900C 8FDE0030 */ lw $fp, 0x30($fp)
/* 0C9C10 800C9010 03E00008 */ jr $ra
/* 0C9C14 800C9014 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800C9018
/* 0C9C18 800C9018 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C9C1C 800C901C 308600FF */ andi $a2, $a0, 0xff
/* 0C9C20 800C9020 00067100 */ sll $t6, $a2, 4
/* 0C9C24 800C9024 01C67023 */ subu $t6, $t6, $a2
/* 0C9C28 800C9028 3C0F800F */ lui $t7, %hi(D_800E9F7C) # $t7, 0x800f
/* 0C9C2C 800C902C AFBF002C */ sw $ra, 0x2c($sp)
/* 0C9C30 800C9030 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C9C34 800C9034 AFA40030 */ sw $a0, 0x30($sp)
/* 0C9C38 800C9038 25EF9F7C */ addiu $t7, %lo(D_800E9F7C) # addiu $t7, $t7, -0x6084
/* 0C9C3C 800C903C 000E7080 */ sll $t6, $t6, 2
/* 0C9C40 800C9040 03A0F025 */ move $fp, $sp
/* 0C9C44 800C9044 0C03155E */ jal func_800C5578
/* 0C9C48 800C9048 01CF2021 */ addu $a0, $t6, $t7
/* 0C9C4C 800C904C 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C9C50 800C9050 03C0E825 */ move $sp, $fp
/* 0C9C54 800C9054 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C9C58 800C9058 03E00008 */ jr $ra
/* 0C9C5C 800C905C 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800C9060
/* 0C9C60 800C9060 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0C9C64 800C9064 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0C9C68 800C9068 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0C9C6C 800C906C AFBE0030 */ sw $fp, 0x30($sp)
/* 0C9C70 800C9070 03A0F025 */ move $fp, $sp
/* 0C9C74 800C9074 AFBF0034 */ sw $ra, 0x34($sp)
/* 0C9C78 800C9078 AFA40038 */ sw $a0, 0x38($sp)
/* 0C9C7C 800C907C AFA5003C */ sw $a1, 0x3c($sp)
/* 0C9C80 800C9080 15C00017 */ bnez $t6, .L800C90E0
/* 0C9C84 800C9084 308600FF */ andi $a2, $a0, 0xff
/* 0C9C88 800C9088 3C0F800F */ lui $t7, %hi(D_800EA0EC) # $t7, 0x800f
/* 0C9C8C 800C908C 25EFA0EC */ addiu $t7, %lo(D_800EA0EC) # addiu $t7, $t7, -0x5f14
/* 0C9C90 800C9090 00CF1821 */ addu $v1, $a2, $t7
/* 0C9C94 800C9094 90620000 */ lbu $v0, ($v1)
/* 0C9C98 800C9098 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C9C9C 800C909C 24010002 */ li $at, 2
/* 0C9CA0 800C90A0 10400004 */ beqz $v0, .L800C90B4
/* 0C9CA4 800C90A4 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C9CA8 800C90A8 1441000D */ bne $v0, $at, .L800C90E0
/* 0C9CAC 800C90AC 24180001 */ li $t8, 1
/* 0C9CB0 800C90B0 A0780000 */ sb $t8, ($v1)
.L800C90B4:
/* 0C9CB4 800C90B4 0006C900 */ sll $t9, $a2, 4
/* 0C9CB8 800C90B8 0326C823 */ subu $t9, $t9, $a2
/* 0C9CBC 800C90BC 3C08800F */ lui $t0, %hi(D_800E9F7C) # $t0, 0x800f
/* 0C9CC0 800C90C0 25089F7C */ addiu $t0, %lo(D_800E9F7C) # addiu $t0, $t0, -0x6084
/* 0C9CC4 800C90C4 0019C880 */ sll $t9, $t9, 2
/* 0C9CC8 800C90C8 03282821 */ addu $a1, $t9, $t0
/* 0C9CCC 800C90CC 24A90014 */ addiu $t1, $a1, 0x14
/* 0C9CD0 800C90D0 8FC4003C */ lw $a0, 0x3c($fp)
/* 0C9CD4 800C90D4 AFA90014 */ sw $t1, 0x14($sp)
/* 0C9CD8 800C90D8 0C031052 */ jal play_sound
/* 0C9CDC 800C90DC AFA70010 */ sw $a3, 0x10($sp)
.L800C90E0:
/* 0C9CE0 800C90E0 8FDF0034 */ lw $ra, 0x34($fp)
/* 0C9CE4 800C90E4 03C0E825 */ move $sp, $fp
/* 0C9CE8 800C90E8 8FDE0030 */ lw $fp, 0x30($fp)
/* 0C9CEC 800C90EC 03E00008 */ jr $ra
/* 0C9CF0 800C90F0 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800C90F4
/* 0C9CF4 800C90F4 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0C9CF8 800C90F8 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0C9CFC 800C90FC 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0C9D00 800C9100 AFBE0030 */ sw $fp, 0x30($sp)
/* 0C9D04 800C9104 03A0F025 */ move $fp, $sp
/* 0C9D08 800C9108 AFBF0034 */ sw $ra, 0x34($sp)
/* 0C9D0C 800C910C AFA40038 */ sw $a0, 0x38($sp)
/* 0C9D10 800C9110 AFA5003C */ sw $a1, 0x3c($sp)
/* 0C9D14 800C9114 15C00049 */ bnez $t6, .L800C923C
/* 0C9D18 800C9118 308600FF */ andi $a2, $a0, 0xff
/* 0C9D1C 800C911C 3C0F800F */ lui $t7, %hi(D_800EA0EC) # $t7, 0x800f
/* 0C9D20 800C9120 25EFA0EC */ addiu $t7, %lo(D_800EA0EC) # addiu $t7, $t7, -0x5f14
/* 0C9D24 800C9124 00CF1821 */ addu $v1, $a2, $t7
/* 0C9D28 800C9128 90620000 */ lbu $v0, ($v1)
/* 0C9D2C 800C912C 000648C0 */ sll $t1, $a2, 3
/* 0C9D30 800C9130 24010002 */ li $at, 2
/* 0C9D34 800C9134 10400004 */ beqz $v0, .L800C9148
/* 0C9D38 800C9138 01264823 */ subu $t1, $t1, $a2
/* 0C9D3C 800C913C 1441003F */ bne $v0, $at, .L800C923C
/* 0C9D40 800C9140 24180001 */ li $t8, 1
/* 0C9D44 800C9144 A0780000 */ sb $t8, ($v1)
.L800C9148:
/* 0C9D48 800C9148 8FC2003C */ lw $v0, 0x3c($fp)
/* 0C9D4C 800C914C 2401FF0F */ li $at, -241
/* 0C9D50 800C9150 00094900 */ sll $t1, $t1, 4
/* 0C9D54 800C9154 0041C824 */ and $t9, $v0, $at
/* 0C9D58 800C9158 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900
/* 0C9D5C 800C915C 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003
/* 0C9D60 800C9160 13210007 */ beq $t9, $at, .L800C9180
/* 0C9D64 800C9164 01264823 */ subu $t1, $t1, $a2
/* 0C9D68 800C9168 3C012900 */ lui $at, (0x29008004 >> 16) # lui $at, 0x2900
/* 0C9D6C 800C916C 34218004 */ ori $at, (0x29008004 & 0xFFFF) # ori $at, $at, 0x8004
/* 0C9D70 800C9170 13210003 */ beq $t9, $at, .L800C9180
/* 0C9D74 800C9174 3C012900 */ lui $at, (0x29008005 >> 16) # lui $at, 0x2900
/* 0C9D78 800C9178 34218005 */ ori $at, (0x29008005 & 0xFFFF) # ori $at, $at, 0x8005
/* 0C9D7C 800C917C 17210003 */ bne $t9, $at, .L800C918C
.L800C9180:
/* 0C9D80 800C9180 24080001 */ li $t0, 1
/* 0C9D84 800C9184 3C01800F */ lui $at, %hi(D_800EA180) # $at, 0x800f
/* 0C9D88 800C9188 A428A180 */ sh $t0, %lo(D_800EA180)($at)
.L800C918C:
/* 0C9D8C 800C918C 00094880 */ sll $t1, $t1, 2
/* 0C9D90 800C9190 01264823 */ subu $t1, $t1, $a2
/* 0C9D94 800C9194 000948C0 */ sll $t1, $t1, 3
/* 0C9D98 800C9198 3C0A800F */ lui $t2, %hi(D_800F6A4C)
/* 0C9D9C 800C919C 01495021 */ addu $t2, $t2, $t1
/* 0C9DA0 800C91A0 8D4A6A4C */ lw $t2, %lo(D_800F6A4C)($t2)
/* 0C9DA4 800C91A4 3C024000 */ lui $v0, 0x4000
/* 0C9DA8 800C91A8 3C0C800F */ lui $t4, %hi(D_800E9F2C)
/* 0C9DAC 800C91AC 01425824 */ and $t3, $t2, $v0
/* 0C9DB0 800C91B0 144B0015 */ bne $v0, $t3, .L800C9208
/* 0C9DB4 800C91B4 01866021 */ addu $t4, $t4, $a2
/* 0C9DB8 800C91B8 918C9F2C */ lbu $t4, %lo(D_800E9F2C)($t4)
/* 0C9DBC 800C91BC 00066900 */ sll $t5, $a2, 4
/* 0C9DC0 800C91C0 01A66823 */ subu $t5, $t5, $a2
/* 0C9DC4 800C91C4 2981001F */ slti $at, $t4, 0x1f
/* 0C9DC8 800C91C8 1420000F */ bnez $at, .L800C9208
/* 0C9DCC 800C91CC 000D6880 */ sll $t5, $t5, 2
/* 0C9DD0 800C91D0 3C0E800F */ lui $t6, %hi(D_800E9F7C) # $t6, 0x800f
/* 0C9DD4 800C91D4 25CE9F7C */ addiu $t6, %lo(D_800E9F7C) # addiu $t6, $t6, -0x6084
/* 0C9DD8 800C91D8 01AE2821 */ addu $a1, $t5, $t6
/* 0C9DDC 800C91DC 3C0F800F */ lui $t7, %hi(D_800EA1D4) # $t7, 0x800f
/* 0C9DE0 800C91E0 25EFA1D4 */ addiu $t7, %lo(D_800EA1D4) # addiu $t7, $t7, -0x5e2c
/* 0C9DE4 800C91E4 24B80014 */ addiu $t8, $a1, 0x14
/* 0C9DE8 800C91E8 8FC4003C */ lw $a0, 0x3c($fp)
/* 0C9DEC 800C91EC 3C07800F */ lui $a3, %hi(D_800EA150) # $a3, 0x800f
/* 0C9DF0 800C91F0 24E7A150 */ addiu $a3, %lo(D_800EA150) # addiu $a3, $a3, -0x5eb0
/* 0C9DF4 800C91F4 AFB80014 */ sw $t8, 0x14($sp)
/* 0C9DF8 800C91F8 0C031052 */ jal play_sound
/* 0C9DFC 800C91FC AFAF0010 */ sw $t7, 0x10($sp)
/* 0C9E00 800C9200 1000000F */ b .L800C9240
/* 0C9E04 800C9204 8FDF0034 */ lw $ra, 0x34($fp)
.L800C9208:
/* 0C9E08 800C9208 0006C900 */ sll $t9, $a2, 4
/* 0C9E0C 800C920C 0326C823 */ subu $t9, $t9, $a2
/* 0C9E10 800C9210 3C08800F */ lui $t0, %hi(D_800E9F7C) # $t0, 0x800f
/* 0C9E14 800C9214 25089F7C */ addiu $t0, %lo(D_800E9F7C) # addiu $t0, $t0, -0x6084
/* 0C9E18 800C9218 0019C880 */ sll $t9, $t9, 2
/* 0C9E1C 800C921C 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0C9E20 800C9220 03282821 */ addu $a1, $t9, $t0
/* 0C9E24 800C9224 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0C9E28 800C9228 24A90014 */ addiu $t1, $a1, 0x14
/* 0C9E2C 800C922C 8FC4003C */ lw $a0, 0x3c($fp)
/* 0C9E30 800C9230 AFA90014 */ sw $t1, 0x14($sp)
/* 0C9E34 800C9234 0C031052 */ jal play_sound
/* 0C9E38 800C9238 AFA70010 */ sw $a3, 0x10($sp)
.L800C923C:
/* 0C9E3C 800C923C 8FDF0034 */ lw $ra, 0x34($fp)
.L800C9240:
/* 0C9E40 800C9240 03C0E825 */ move $sp, $fp
/* 0C9E44 800C9244 8FDE0030 */ lw $fp, 0x30($fp)
/* 0C9E48 800C9248 03E00008 */ jr $ra
/* 0C9E4C 800C924C 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800C9250
/* 0C9E50 800C9250 308E00FF */ andi $t6, $a0, 0xff
/* 0C9E54 800C9254 000E78C0 */ sll $t7, $t6, 3
/* 0C9E58 800C9258 01EE7823 */ subu $t7, $t7, $t6
/* 0C9E5C 800C925C 000F7900 */ sll $t7, $t7, 4
/* 0C9E60 800C9260 01EE7823 */ subu $t7, $t7, $t6
/* 0C9E64 800C9264 000F7880 */ sll $t7, $t7, 2
/* 0C9E68 800C9268 01EE7823 */ subu $t7, $t7, $t6
/* 0C9E6C 800C926C 000F78C0 */ sll $t7, $t7, 3
/* 0C9E70 800C9270 3C18800F */ lui $t8, %hi(D_800F6BE4)
/* 0C9E74 800C9274 030FC021 */ addu $t8, $t8, $t7
/* 0C9E78 800C9278 3C08803B */ lui $t0, %hi(D_803B7194) # $t0, 0x803b
/* 0C9E7C 800C927C 8D087194 */ lw $t0, %lo(D_803B7194)($t0)
/* 0C9E80 800C9280 97186BE4 */ lhu $t8, %lo(D_800F6BE4)($t8)
/* 0C9E84 800C9284 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C9E88 800C9288 3C012900 */ lui $at, (0x29008001 >> 16) # lui $at, 0x2900
/* 0C9E8C 800C928C 31090001 */ andi $t1, $t0, 1
/* 0C9E90 800C9290 0018C900 */ sll $t9, $t8, 4
/* 0C9E94 800C9294 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C9E98 800C9298 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C9E9C 800C929C AFA40030 */ sw $a0, 0x30($sp)
/* 0C9EA0 800C92A0 03292821 */ addu $a1, $t9, $t1
/* 0C9EA4 800C92A4 34218001 */ ori $at, (0x29008001 & 0xFFFF) # ori $at, $at, 0x8001
/* 0C9EA8 800C92A8 01C02025 */ move $a0, $t6
/* 0C9EAC 800C92AC 03A0F025 */ move $fp, $sp
/* 0C9EB0 800C92B0 0C03243D */ jal func_800C90F4
/* 0C9EB4 800C92B4 00A12821 */ addu $a1, $a1, $at
/* 0C9EB8 800C92B8 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C9EBC 800C92BC 03C0E825 */ move $sp, $fp
/* 0C9EC0 800C92C0 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C9EC4 800C92C4 03E00008 */ jr $ra
/* 0C9EC8 800C92C8 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800C92CC
/* 0C9ECC 800C92CC 27BDFF88 */ addiu $sp, $sp, -0x78
/* 0C9ED0 800C92D0 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0C9ED4 800C92D4 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0C9ED8 800C92D8 AFBE0058 */ sw $fp, 0x58($sp)
/* 0C9EDC 800C92DC AFB5004C */ sw $s5, 0x4c($sp)
/* 0C9EE0 800C92E0 AFB40048 */ sw $s4, 0x48($sp)
/* 0C9EE4 800C92E4 309400FF */ andi $s4, $a0, 0xff
/* 0C9EE8 800C92E8 00A0A825 */ move $s5, $a1
/* 0C9EEC 800C92EC 03A0F025 */ move $fp, $sp
/* 0C9EF0 800C92F0 AFBF005C */ sw $ra, 0x5c($sp)
/* 0C9EF4 800C92F4 AFB70054 */ sw $s7, 0x54($sp)
/* 0C9EF8 800C92F8 AFB60050 */ sw $s6, 0x50($sp)
/* 0C9EFC 800C92FC AFB30044 */ sw $s3, 0x44($sp)
/* 0C9F00 800C9300 AFB20040 */ sw $s2, 0x40($sp)
/* 0C9F04 800C9304 AFB1003C */ sw $s1, 0x3c($sp)
/* 0C9F08 800C9308 AFB00038 */ sw $s0, 0x38($sp)
/* 0C9F0C 800C930C F7B40030 */ sdc1 $f20, 0x30($sp)
/* 0C9F10 800C9310 15C00056 */ bnez $t6, .L800C946C
/* 0C9F14 800C9314 AFA40078 */ sw $a0, 0x78($sp)
/* 0C9F18 800C9318 3C0F800F */ lui $t7, %hi(D_800EA0F0) # $t7, 0x800f
/* 0C9F1C 800C931C 91EFA0F0 */ lbu $t7, %lo(D_800EA0F0)($t7)
/* 0C9F20 800C9320 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f
/* 0C9F24 800C9324 55E00052 */ bnel $t7, $zero, .L800C9470
/* 0C9F28 800C9328 8FDF005C */ lw $ra, 0x5c($fp)
/* 0C9F2C 800C932C 9042A1C0 */ lbu $v0, %lo(D_800EA1C0)($v0)
/* 0C9F30 800C9330 28410002 */ slti $at, $v0, 2
/* 0C9F34 800C9334 5020004E */ beql $at, $zero, .L800C9470
/* 0C9F38 800C9338 8FDF005C */ lw $ra, 0x5c($fp)
/* 0C9F3C 800C933C 0440004B */ bltz $v0, .L800C946C
/* 0C9F40 800C9340 00008025 */ move $s0, $zero
/* 0C9F44 800C9344 0014C0C0 */ sll $t8, $s4, 3
/* 0C9F48 800C9348 0314C023 */ subu $t8, $t8, $s4
/* 0C9F4C 800C934C 0018C100 */ sll $t8, $t8, 4
/* 0C9F50 800C9350 0314C023 */ subu $t8, $t8, $s4
/* 0C9F54 800C9354 0018C080 */ sll $t8, $t8, 2
/* 0C9F58 800C9358 0314C023 */ subu $t8, $t8, $s4
/* 0C9F5C 800C935C 3C19800F */ lui $t9, %hi(D_800F6990) # $t9, 0x800f
/* 0C9F60 800C9360 27396990 */ addiu $t9, %lo(D_800F6990) # addiu $t9, $t9, 0x6990
/* 0C9F64 800C9364 0018C0C0 */ sll $t8, $t8, 3
/* 0C9F68 800C9368 03198821 */ addu $s1, $t8, $t9
/* 0C9F6C 800C936C 3C01432A */ li $at, 0x432A0000 # 170.000000
/* 0C9F70 800C9370 26250014 */ addiu $a1, $s1, 0x14
/* 0C9F74 800C9374 26260034 */ addiu $a2, $s1, 0x34
/* 0C9F78 800C9378 3C17800F */ lui $s7, %hi(D_800E9F2C) # $s7, 0x800f
/* 0C9F7C 800C937C 3C16800F */ lui $s6, %hi(D_800EA1C8) # $s6, 0x800f
/* 0C9F80 800C9380 3C13800F */ lui $s3, %hi(D_800EA1D4) # $s3, 0x800f
/* 0C9F84 800C9384 4481A000 */ mtc1 $at, $f20
/* 0C9F88 800C9388 2673A1D4 */ addiu $s3, %lo(D_800EA1D4) # addiu $s3, $s3, -0x5e2c
/* 0C9F8C 800C938C 26D6A1C8 */ addiu $s6, %lo(D_800EA1C8) # addiu $s6, $s6, -0x5e38
/* 0C9F90 800C9390 26F79F2C */ addiu $s7, %lo(D_800E9F2C) # addiu $s7, $s7, -0x60d4
/* 0C9F94 800C9394 AFA60064 */ sw $a2, 0x64($sp)
/* 0C9F98 800C9398 AFA50068 */ sw $a1, 0x68($sp)
/* 0C9F9C 800C939C 3C124000 */ lui $s2, 0x4000
.L800C93A0:
/* 0C9FA0 800C93A0 8FC50068 */ lw $a1, 0x68($fp)
/* 0C9FA4 800C93A4 8FC60064 */ lw $a2, 0x64($fp)
/* 0C9FA8 800C93A8 AFB50014 */ sw $s5, 0x14($sp)
/* 0C9FAC 800C93AC AFB00010 */ sw $s0, 0x10($sp)
/* 0C9FB0 800C93B0 328400FF */ andi $a0, $s4, 0xff
/* 0C9FB4 800C93B4 0C030722 */ jal func_800C1C88
/* 0C9FB8 800C93B8 02C03825 */ move $a3, $s6
/* 0C9FBC 800C93BC 10400023 */ beqz $v0, .L800C944C
/* 0C9FC0 800C93C0 00401825 */ move $v1, $v0
/* 0C9FC4 800C93C4 E4540034 */ swc1 $f20, 0x34($v0)
/* 0C9FC8 800C93C8 8E2C00BC */ lw $t4, 0xbc($s1)
/* 0C9FCC 800C93CC 00144900 */ sll $t1, $s4, 4
/* 0C9FD0 800C93D0 3C0B800F */ lui $t3, %hi(D_800EA06C) # $t3, 0x800f
/* 0C9FD4 800C93D4 256BA06C */ addiu $t3, %lo(D_800EA06C) # addiu $t3, $t3, -0x5f94
/* 0C9FD8 800C93D8 252A000C */ addiu $t2, $t1, 0xc
/* 0C9FDC 800C93DC 01926824 */ and $t5, $t4, $s2
/* 0C9FE0 800C93E0 164D0011 */ bne $s2, $t5, .L800C9428
/* 0C9FE4 800C93E4 014B4021 */ addu $t0, $t2, $t3
/* 0C9FE8 800C93E8 02F47021 */ addu $t6, $s7, $s4
/* 0C9FEC 800C93EC 91CF0000 */ lbu $t7, ($t6)
/* 0C9FF0 800C93F0 24450018 */ addiu $a1, $v0, 0x18
/* 0C9FF4 800C93F4 320600FF */ andi $a2, $s0, 0xff
/* 0C9FF8 800C93F8 29E1001F */ slti $at, $t7, 0x1f
/* 0C9FFC 800C93FC 1420000A */ bnez $at, .L800C9428
/* 0CA000 800C9400 3C07800F */ lui $a3, %hi(D_800EA150) # $a3, 0x800f
/* 0CA004 800C9404 96380254 */ lhu $t8, 0x254($s1)
/* 0CA008 800C9408 24E7A150 */ addiu $a3, %lo(D_800EA150) # addiu $a3, $a3, -0x5eb0
/* 0CA00C 800C940C AFB30010 */ sw $s3, 0x10($sp)
/* 0CA010 800C9410 0018C900 */ sll $t9, $t8, 4
/* 0CA014 800C9414 03352021 */ addu $a0, $t9, $s5
/* 0CA018 800C9418 0C031052 */ jal play_sound
/* 0CA01C 800C941C AFA80014 */ sw $t0, 0x14($sp)
/* 0CA020 800C9420 1000000A */ b .L800C944C
/* 0CA024 800C9424 00000000 */ nop
.L800C9428:
/* 0CA028 800C9428 96290254 */ lhu $t1, 0x254($s1)
/* 0CA02C 800C942C 24650018 */ addiu $a1, $v1, 0x18
/* 0CA030 800C9430 320600FF */ andi $a2, $s0, 0xff
/* 0CA034 800C9434 00095100 */ sll $t2, $t1, 4
/* 0CA038 800C9438 01552021 */ addu $a0, $t2, $s5
/* 0CA03C 800C943C 2467002C */ addiu $a3, $v1, 0x2c
/* 0CA040 800C9440 AFB30010 */ sw $s3, 0x10($sp)
/* 0CA044 800C9444 0C031052 */ jal play_sound
/* 0CA048 800C9448 AFA80014 */ sw $t0, 0x14($sp)
.L800C944C:
/* 0CA04C 800C944C 3C0C800F */ lui $t4, %hi(D_800EA1C0) # $t4, 0x800f
/* 0CA050 800C9450 918CA1C0 */ lbu $t4, %lo(D_800EA1C0)($t4)
/* 0CA054 800C9454 26100001 */ addiu $s0, $s0, 1
/* 0CA058 800C9458 320B00FF */ andi $t3, $s0, 0xff
/* 0CA05C 800C945C 258D0001 */ addiu $t5, $t4, 1
/* 0CA060 800C9460 016D082A */ slt $at, $t3, $t5
/* 0CA064 800C9464 1420FFCE */ bnez $at, .L800C93A0
/* 0CA068 800C9468 01608025 */ move $s0, $t3
.L800C946C:
/* 0CA06C 800C946C 8FDF005C */ lw $ra, 0x5c($fp)
.L800C9470:
/* 0CA070 800C9470 03C0E825 */ move $sp, $fp
/* 0CA074 800C9474 D7D40030 */ ldc1 $f20, 0x30($fp)
/* 0CA078 800C9478 8FD00038 */ lw $s0, 0x38($fp)
/* 0CA07C 800C947C 8FD1003C */ lw $s1, 0x3c($fp)
/* 0CA080 800C9480 8FD20040 */ lw $s2, 0x40($fp)
/* 0CA084 800C9484 8FD30044 */ lw $s3, 0x44($fp)
/* 0CA088 800C9488 8FD40048 */ lw $s4, 0x48($fp)
/* 0CA08C 800C948C 8FD5004C */ lw $s5, 0x4c($fp)
/* 0CA090 800C9490 8FD60050 */ lw $s6, 0x50($fp)
/* 0CA094 800C9494 8FD70054 */ lw $s7, 0x54($fp)
/* 0CA098 800C9498 8FDE0058 */ lw $fp, 0x58($fp)
/* 0CA09C 800C949C 03E00008 */ jr $ra
/* 0CA0A0 800C94A0 27BD0078 */ addiu $sp, $sp, 0x78
glabel func_800C94A4
/* 0CA0A4 800C94A4 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CA0A8 800C94A8 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CA0AC 800C94AC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0CA0B0 800C94B0 AFBE0030 */ sw $fp, 0x30($sp)
/* 0CA0B4 800C94B4 03A0F025 */ move $fp, $sp
/* 0CA0B8 800C94B8 AFBF0034 */ sw $ra, 0x34($sp)
/* 0CA0BC 800C94BC AFA40038 */ sw $a0, 0x38($sp)
/* 0CA0C0 800C94C0 15C000BB */ bnez $t6, .L800C97B0
/* 0CA0C4 800C94C4 308600FF */ andi $a2, $a0, 0xff
/* 0CA0C8 800C94C8 3C0F800F */ lui $t7, %hi(D_800EA0EC) # $t7, 0x800f
/* 0CA0CC 800C94CC 25EFA0EC */ addiu $t7, %lo(D_800EA0EC) # addiu $t7, $t7, -0x5f14
/* 0CA0D0 800C94D0 00CF1821 */ addu $v1, $a2, $t7
/* 0CA0D4 800C94D4 90620000 */ lbu $v0, ($v1)
/* 0CA0D8 800C94D8 0006C900 */ sll $t9, $a2, 4
/* 0CA0DC 800C94DC 24010002 */ li $at, 2
/* 0CA0E0 800C94E0 10400004 */ beqz $v0, .L800C94F4
/* 0CA0E4 800C94E4 0326C823 */ subu $t9, $t9, $a2
/* 0CA0E8 800C94E8 144100B1 */ bne $v0, $at, .L800C97B0
/* 0CA0EC 800C94EC 24180001 */ li $t8, 1
/* 0CA0F0 800C94F0 A0780000 */ sb $t8, ($v1)
.L800C94F4:
/* 0CA0F4 800C94F4 000648C0 */ sll $t1, $a2, 3
/* 0CA0F8 800C94F8 01264823 */ subu $t1, $t1, $a2
/* 0CA0FC 800C94FC 00094900 */ sll $t1, $t1, 4
/* 0CA100 800C9500 3C08800F */ lui $t0, %hi(D_800E9F7C) # $t0, 0x800f
/* 0CA104 800C9504 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0CA108 800C9508 01264823 */ subu $t1, $t1, $a2
/* 0CA10C 800C950C 44812000 */ mtc1 $at, $f4
/* 0CA110 800C9510 44803000 */ mtc1 $zero, $f6
/* 0CA114 800C9514 25089F7C */ addiu $t0, %lo(D_800E9F7C) # addiu $t0, $t0, -0x6084
/* 0CA118 800C9518 0019C880 */ sll $t9, $t9, 2
/* 0CA11C 800C951C 00094880 */ sll $t1, $t1, 2
/* 0CA120 800C9520 03282821 */ addu $a1, $t9, $t0
/* 0CA124 800C9524 01264823 */ subu $t1, $t1, $a2
/* 0CA128 800C9528 000948C0 */ sll $t1, $t1, 3
/* 0CA12C 800C952C 3C03800F */ lui $v1, %hi(D_800F6BE4)
/* 0CA130 800C9530 00691821 */ addu $v1, $v1, $t1
/* 0CA134 800C9534 E4A4000C */ swc1 $f4, 0xc($a1)
/* 0CA138 800C9538 E4A60010 */ swc1 $f6, 0x10($a1)
/* 0CA13C 800C953C 94636BE4 */ lhu $v1, %lo(D_800F6BE4)($v1)
/* 0CA140 800C9540 2C610008 */ sltiu $at, $v1, 8
/* 0CA144 800C9544 10200078 */ beqz $at, .L800C9728
/* 0CA148 800C9548 00035080 */ sll $t2, $v1, 2
/* 0CA14C 800C954C 3C01800F */ lui $at, %hi(D_800F38B8)
/* 0CA150 800C9550 002A0821 */ addu $at, $at, $t2
/* 0CA154 800C9554 8C2A38B8 */ lw $t2, %lo(D_800F38B8)($at)
/* 0CA158 800C9558 01400008 */ jr $t2
/* 0CA15C 800C955C 00000000 */ nop
glabel L800C9560
/* 0CA160 800C9560 3C01800F */ lui $at, %hi(D_800F38D8) # $at, 0x800f
/* 0CA164 800C9564 C42038D8 */ lwc1 $f0, %lo(D_800F38D8)($at)
/* 0CA168 800C9568 3C01800F */ lui $at, %hi(D_800F38DC) # $at, 0x800f
/* 0CA16C 800C956C C42838DC */ lwc1 $f8, %lo(D_800F38DC)($at)
/* 0CA170 800C9570 3C01800F */ lui $at, %hi(D_800F38E0) # $at, 0x800f
/* 0CA174 800C9574 E4A80018 */ swc1 $f8, 0x18($a1)
/* 0CA178 800C9578 C42A38E0 */ lwc1 $f10, %lo(D_800F38E0)($at)
/* 0CA17C 800C957C 3C01800F */ lui $at, %hi(D_800F38E4) # $at, 0x800f
/* 0CA180 800C9580 E4A00020 */ swc1 $f0, 0x20($a1)
/* 0CA184 800C9584 E4AA001C */ swc1 $f10, 0x1c($a1)
/* 0CA188 800C9588 C43038E4 */ lwc1 $f16, %lo(D_800F38E4)($at)
/* 0CA18C 800C958C 3C01800F */ lui $at, %hi(D_800F38E8) # $at, 0x800f
/* 0CA190 800C9590 E4A00028 */ swc1 $f0, 0x28($a1)
/* 0CA194 800C9594 E4B00024 */ swc1 $f16, 0x24($a1)
/* 0CA198 800C9598 C43238E8 */ lwc1 $f18, %lo(D_800F38E8)($at)
/* 0CA19C 800C959C 3C01800F */ lui $at, %hi(D_800F38EC) # $at, 0x800f
/* 0CA1A0 800C95A0 E4B2002C */ swc1 $f18, 0x2c($a1)
/* 0CA1A4 800C95A4 C42438EC */ lwc1 $f4, %lo(D_800F38EC)($at)
/* 0CA1A8 800C95A8 3C01800F */ lui $at, %hi(D_800F38F0) # $at, 0x800f
/* 0CA1AC 800C95AC E4A40030 */ swc1 $f4, 0x30($a1)
/* 0CA1B0 800C95B0 C42638F0 */ lwc1 $f6, %lo(D_800F38F0)($at)
/* 0CA1B4 800C95B4 1000005C */ b .L800C9728
/* 0CA1B8 800C95B8 E4A60034 */ swc1 $f6, 0x34($a1)
glabel L800C95BC
/* 0CA1BC 800C95BC 3C01800F */ lui $at, %hi(D_800F38F4) # $at, 0x800f
/* 0CA1C0 800C95C0 C42038F4 */ lwc1 $f0, %lo(D_800F38F4)($at)
/* 0CA1C4 800C95C4 3C01800F */ lui $at, %hi(D_800F38F8) # $at, 0x800f
/* 0CA1C8 800C95C8 C42838F8 */ lwc1 $f8, %lo(D_800F38F8)($at)
/* 0CA1CC 800C95CC 3C01800F */ lui $at, %hi(D_800F38FC) # $at, 0x800f
/* 0CA1D0 800C95D0 E4A80018 */ swc1 $f8, 0x18($a1)
/* 0CA1D4 800C95D4 C42A38FC */ lwc1 $f10, %lo(D_800F38FC)($at)
/* 0CA1D8 800C95D8 3C01800F */ lui $at, %hi(D_800F3900) # $at, 0x800f
/* 0CA1DC 800C95DC E4A00020 */ swc1 $f0, 0x20($a1)
/* 0CA1E0 800C95E0 E4AA001C */ swc1 $f10, 0x1c($a1)
/* 0CA1E4 800C95E4 C4303900 */ lwc1 $f16, %lo(D_800F3900)($at)
/* 0CA1E8 800C95E8 3C01800F */ lui $at, %hi(D_800F3904) # $at, 0x800f
/* 0CA1EC 800C95EC E4A00028 */ swc1 $f0, 0x28($a1)
/* 0CA1F0 800C95F0 E4B00024 */ swc1 $f16, 0x24($a1)
/* 0CA1F4 800C95F4 C4323904 */ lwc1 $f18, %lo(D_800F3904)($at)
/* 0CA1F8 800C95F8 3C01800F */ lui $at, %hi(D_800F3908) # $at, 0x800f
/* 0CA1FC 800C95FC E4B2002C */ swc1 $f18, 0x2c($a1)
/* 0CA200 800C9600 C4243908 */ lwc1 $f4, %lo(D_800F3908)($at)
/* 0CA204 800C9604 3C01800F */ lui $at, %hi(D_800F390C) # $at, 0x800f
/* 0CA208 800C9608 E4A40030 */ swc1 $f4, 0x30($a1)
/* 0CA20C 800C960C C426390C */ lwc1 $f6, %lo(D_800F390C)($at)
/* 0CA210 800C9610 10000045 */ b .L800C9728
/* 0CA214 800C9614 E4A60034 */ swc1 $f6, 0x34($a1)
glabel L800C9618
/* 0CA218 800C9618 3C01800F */ lui $at, %hi(D_800F3910) # $at, 0x800f
/* 0CA21C 800C961C C4203910 */ lwc1 $f0, %lo(D_800F3910)($at)
/* 0CA220 800C9620 3C01800F */ lui $at, %hi(D_800F3914) # $at, 0x800f
/* 0CA224 800C9624 C4283914 */ lwc1 $f8, %lo(D_800F3914)($at)
/* 0CA228 800C9628 3C01800F */ lui $at, %hi(D_800F3918) # $at, 0x800f
/* 0CA22C 800C962C E4A80018 */ swc1 $f8, 0x18($a1)
/* 0CA230 800C9630 C42A3918 */ lwc1 $f10, %lo(D_800F3918)($at)
/* 0CA234 800C9634 3C01800F */ lui $at, %hi(D_800F391C) # $at, 0x800f
/* 0CA238 800C9638 E4A00020 */ swc1 $f0, 0x20($a1)
/* 0CA23C 800C963C E4AA001C */ swc1 $f10, 0x1c($a1)
/* 0CA240 800C9640 C430391C */ lwc1 $f16, %lo(D_800F391C)($at)
/* 0CA244 800C9644 3C01800F */ lui $at, %hi(D_800F3920) # $at, 0x800f
/* 0CA248 800C9648 E4A00028 */ swc1 $f0, 0x28($a1)
/* 0CA24C 800C964C E4B00024 */ swc1 $f16, 0x24($a1)
/* 0CA250 800C9650 C4323920 */ lwc1 $f18, %lo(D_800F3920)($at)
/* 0CA254 800C9654 3C01800F */ lui $at, %hi(D_800F3924) # $at, 0x800f
/* 0CA258 800C9658 E4B2002C */ swc1 $f18, 0x2c($a1)
/* 0CA25C 800C965C C4243924 */ lwc1 $f4, %lo(D_800F3924)($at)
/* 0CA260 800C9660 3C01800F */ lui $at, %hi(D_800F3928) # $at, 0x800f
/* 0CA264 800C9664 E4A40030 */ swc1 $f4, 0x30($a1)
/* 0CA268 800C9668 C4263928 */ lwc1 $f6, %lo(D_800F3928)($at)
/* 0CA26C 800C966C 1000002E */ b .L800C9728
/* 0CA270 800C9670 E4A60034 */ swc1 $f6, 0x34($a1)
glabel L800C9674
/* 0CA274 800C9674 3C01800F */ lui $at, %hi(D_800F392C) # $at, 0x800f
/* 0CA278 800C9678 C420392C */ lwc1 $f0, %lo(D_800F392C)($at)
/* 0CA27C 800C967C 3C014000 */ li $at, 0x40000000 # 2.000000
/* 0CA280 800C9680 44814000 */ mtc1 $at, $f8
/* 0CA284 800C9684 3C01800F */ lui $at, %hi(D_800F3930) # $at, 0x800f
/* 0CA288 800C9688 E4A80018 */ swc1 $f8, 0x18($a1)
/* 0CA28C 800C968C C42A3930 */ lwc1 $f10, %lo(D_800F3930)($at)
/* 0CA290 800C9690 3C01800F */ lui $at, %hi(D_800F3934) # $at, 0x800f
/* 0CA294 800C9694 E4A00020 */ swc1 $f0, 0x20($a1)
/* 0CA298 800C9698 E4AA001C */ swc1 $f10, 0x1c($a1)
/* 0CA29C 800C969C C4303934 */ lwc1 $f16, %lo(D_800F3934)($at)
/* 0CA2A0 800C96A0 3C01800F */ lui $at, %hi(D_800F3938) # $at, 0x800f
/* 0CA2A4 800C96A4 E4A00028 */ swc1 $f0, 0x28($a1)
/* 0CA2A8 800C96A8 E4B00024 */ swc1 $f16, 0x24($a1)
/* 0CA2AC 800C96AC C4323938 */ lwc1 $f18, %lo(D_800F3938)($at)
/* 0CA2B0 800C96B0 3C01800F */ lui $at, %hi(D_800F393C) # $at, 0x800f
/* 0CA2B4 800C96B4 E4B2002C */ swc1 $f18, 0x2c($a1)
/* 0CA2B8 800C96B8 C424393C */ lwc1 $f4, %lo(D_800F393C)($at)
/* 0CA2BC 800C96BC 3C01800F */ lui $at, %hi(D_800F3940) # $at, 0x800f
/* 0CA2C0 800C96C0 E4A40030 */ swc1 $f4, 0x30($a1)
/* 0CA2C4 800C96C4 C4263940 */ lwc1 $f6, %lo(D_800F3940)($at)
/* 0CA2C8 800C96C8 10000017 */ b .L800C9728
/* 0CA2CC 800C96CC E4A60034 */ swc1 $f6, 0x34($a1)
glabel L800C96D0
/* 0CA2D0 800C96D0 3C01800F */ lui $at, %hi(D_800F3944) # $at, 0x800f
/* 0CA2D4 800C96D4 C4203944 */ lwc1 $f0, %lo(D_800F3944)($at)
/* 0CA2D8 800C96D8 3C01800F */ lui $at, %hi(D_800F3948) # $at, 0x800f
/* 0CA2DC 800C96DC C4283948 */ lwc1 $f8, %lo(D_800F3948)($at)
/* 0CA2E0 800C96E0 3C01800F */ lui $at, %hi(D_800F394C) # $at, 0x800f
/* 0CA2E4 800C96E4 E4A80018 */ swc1 $f8, 0x18($a1)
/* 0CA2E8 800C96E8 C42A394C */ lwc1 $f10, %lo(D_800F394C)($at)
/* 0CA2EC 800C96EC 3C01800F */ lui $at, %hi(D_800F3950) # $at, 0x800f
/* 0CA2F0 800C96F0 E4A00020 */ swc1 $f0, 0x20($a1)
/* 0CA2F4 800C96F4 E4AA001C */ swc1 $f10, 0x1c($a1)
/* 0CA2F8 800C96F8 C4303950 */ lwc1 $f16, %lo(D_800F3950)($at)
/* 0CA2FC 800C96FC 3C01800F */ lui $at, %hi(D_800F3954) # $at, 0x800f
/* 0CA300 800C9700 E4A00028 */ swc1 $f0, 0x28($a1)
/* 0CA304 800C9704 E4B00024 */ swc1 $f16, 0x24($a1)
/* 0CA308 800C9708 C4323954 */ lwc1 $f18, %lo(D_800F3954)($at)
/* 0CA30C 800C970C 3C01800F */ lui $at, %hi(D_800F3958) # $at, 0x800f
/* 0CA310 800C9710 E4B2002C */ swc1 $f18, 0x2c($a1)
/* 0CA314 800C9714 C4243958 */ lwc1 $f4, %lo(D_800F3958)($at)
/* 0CA318 800C9718 3C01800F */ lui $at, %hi(D_800F395C) # $at, 0x800f
/* 0CA31C 800C971C E4A40030 */ swc1 $f4, 0x30($a1)
/* 0CA320 800C9720 C426395C */ lwc1 $f6, %lo(D_800F395C)($at)
/* 0CA324 800C9724 E4A60034 */ swc1 $f6, 0x34($a1)
.L800C9728:
/* 0CA328 800C9728 3C02800F */ lui $v0, %hi(D_800E9F74)
/* 0CA32C 800C972C 00461021 */ addu $v0, $v0, $a2
/* 0CA330 800C9730 90429F74 */ lbu $v0, %lo(D_800E9F74)($v0)
/* 0CA334 800C9734 3C010104 */ lui $at, (0x0104FF00 >> 16) # lui $at, 0x104
/* 0CA338 800C9738 3421FF00 */ ori $at, (0x0104FF00 & 0xFFFF) # ori $at, $at, 0xff00
/* 0CA33C 800C973C 10400008 */ beqz $v0, .L800C9760
/* 0CA340 800C9740 00612021 */ addu $a0, $v1, $at
/* 0CA344 800C9744 24010001 */ li $at, 1
/* 0CA348 800C9748 1041000B */ beq $v0, $at, .L800C9778
/* 0CA34C 800C974C 24010002 */ li $at, 2
/* 0CA350 800C9750 1041000B */ beq $v0, $at, .L800C9780
/* 0CA354 800C9754 3C0C800F */ lui $t4, %hi(D_800EA1C0) # $t4, 0x800f
/* 0CA358 800C9758 10000010 */ b .L800C979C
/* 0CA35C 800C975C 24AD0010 */ addiu $t5, $a1, 0x10
.L800C9760:
/* 0CA360 800C9760 3C0B800F */ lui $t3, %hi(D_800EA1C0) # $t3, 0x800f
/* 0CA364 800C9764 916BA1C0 */ lbu $t3, %lo(D_800EA1C0)($t3)
/* 0CA368 800C9768 5160000C */ beql $t3, $zero, .L800C979C
/* 0CA36C 800C976C 24AD0010 */ addiu $t5, $a1, 0x10
/* 0CA370 800C9770 10000009 */ b .L800C9798
/* 0CA374 800C9774 24840014 */ addiu $a0, $a0, 0x14
.L800C9778:
/* 0CA378 800C9778 10000007 */ b .L800C9798
/* 0CA37C 800C977C 2484002E */ addiu $a0, $a0, 0x2e
.L800C9780:
/* 0CA380 800C9780 918CA1C0 */ lbu $t4, %lo(D_800EA1C0)($t4)
/* 0CA384 800C9784 55800004 */ bnel $t4, $zero, .L800C9798
/* 0CA388 800C9788 2484003E */ addiu $a0, $a0, 0x3e
/* 0CA38C 800C978C 10000002 */ b .L800C9798
/* 0CA390 800C9790 24840036 */ addiu $a0, $a0, 0x36
/* 0CA394 800C9794 2484003E */ addiu $a0, $a0, 0x3e
.L800C9798:
/* 0CA398 800C9798 24AD0010 */ addiu $t5, $a1, 0x10
.L800C979C:
/* 0CA39C 800C979C 24AE0014 */ addiu $t6, $a1, 0x14
/* 0CA3A0 800C97A0 AFAE0014 */ sw $t6, 0x14($sp)
/* 0CA3A4 800C97A4 AFAD0010 */ sw $t5, 0x10($sp)
/* 0CA3A8 800C97A8 0C031052 */ jal play_sound
/* 0CA3AC 800C97AC 24A7000C */ addiu $a3, $a1, 0xc
.L800C97B0:
/* 0CA3B0 800C97B0 8FDF0034 */ lw $ra, 0x34($fp)
/* 0CA3B4 800C97B4 03C0E825 */ move $sp, $fp
/* 0CA3B8 800C97B8 8FDE0030 */ lw $fp, 0x30($fp)
/* 0CA3BC 800C97BC 03E00008 */ jr $ra
/* 0CA3C0 800C97C0 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800C97C4
/* 0CA3C4 800C97C4 308600FF */ andi $a2, $a0, 0xff
/* 0CA3C8 800C97C8 0006C0C0 */ sll $t8, $a2, 3
/* 0CA3CC 800C97CC 0306C023 */ subu $t8, $t8, $a2
/* 0CA3D0 800C97D0 0018C100 */ sll $t8, $t8, 4
/* 0CA3D4 800C97D4 0306C023 */ subu $t8, $t8, $a2
/* 0CA3D8 800C97D8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0CA3DC 800C97DC 0018C080 */ sll $t8, $t8, 2
/* 0CA3E0 800C97E0 0306C023 */ subu $t8, $t8, $a2
/* 0CA3E4 800C97E4 3C19800F */ lui $t9, %hi(D_800F6990) # $t9, 0x800f
/* 0CA3E8 800C97E8 AFB1002C */ sw $s1, 0x2c($sp)
/* 0CA3EC 800C97EC 27396990 */ addiu $t9, %lo(D_800F6990) # addiu $t9, $t9, 0x6990
/* 0CA3F0 800C97F0 0018C0C0 */ sll $t8, $t8, 3
/* 0CA3F4 800C97F4 00067100 */ sll $t6, $a2, 4
/* 0CA3F8 800C97F8 01C67023 */ subu $t6, $t6, $a2
/* 0CA3FC 800C97FC 03198821 */ addu $s1, $t8, $t9
/* 0CA400 800C9800 3C0F800F */ lui $t7, %hi(D_800E9F7C) # $t7, 0x800f
/* 0CA404 800C9804 96250254 */ lhu $a1, 0x254($s1)
/* 0CA408 800C9808 AFB00028 */ sw $s0, 0x28($sp)
/* 0CA40C 800C980C 25EF9F7C */ addiu $t7, %lo(D_800E9F7C) # addiu $t7, $t7, -0x6084
/* 0CA410 800C9810 000E7080 */ sll $t6, $t6, 2
/* 0CA414 800C9814 3C010104 */ lui $at, (0x0104FF00 >> 16) # lui $at, 0x104
/* 0CA418 800C9818 AFBF0034 */ sw $ra, 0x34($sp)
/* 0CA41C 800C981C AFBE0030 */ sw $fp, 0x30($sp)
/* 0CA420 800C9820 AFA40038 */ sw $a0, 0x38($sp)
/* 0CA424 800C9824 3421FF00 */ ori $at, (0x0104FF00 & 0xFFFF) # ori $at, $at, 0xff00
/* 0CA428 800C9828 01CF8021 */ addu $s0, $t6, $t7
/* 0CA42C 800C982C 03A0F025 */ move $fp, $sp
/* 0CA430 800C9830 02002025 */ move $a0, $s0
/* 0CA434 800C9834 0C03155E */ jal func_800C5578
/* 0CA438 800C9838 00A12821 */ addu $a1, $a1, $at
/* 0CA43C 800C983C 96250254 */ lhu $a1, 0x254($s1)
/* 0CA440 800C9840 3C010104 */ lui $at, (0x0104FF14 >> 16) # lui $at, 0x104
/* 0CA444 800C9844 3421FF14 */ ori $at, (0x0104FF14 & 0xFFFF) # ori $at, $at, 0xff14
/* 0CA448 800C9848 02002025 */ move $a0, $s0
/* 0CA44C 800C984C 0C03155E */ jal func_800C5578
/* 0CA450 800C9850 00A12821 */ addu $a1, $a1, $at
/* 0CA454 800C9854 96250254 */ lhu $a1, 0x254($s1)
/* 0CA458 800C9858 3C010104 */ lui $at, (0x0104FF2E >> 16) # lui $at, 0x104
/* 0CA45C 800C985C 3421FF2E */ ori $at, (0x0104FF2E & 0xFFFF) # ori $at, $at, 0xff2e
/* 0CA460 800C9860 02002025 */ move $a0, $s0
/* 0CA464 800C9864 0C03155E */ jal func_800C5578
/* 0CA468 800C9868 00A12821 */ addu $a1, $a1, $at
/* 0CA46C 800C986C 96250254 */ lhu $a1, 0x254($s1)
/* 0CA470 800C9870 3C010104 */ lui $at, (0x0104FF36 >> 16) # lui $at, 0x104
/* 0CA474 800C9874 3421FF36 */ ori $at, (0x0104FF36 & 0xFFFF) # ori $at, $at, 0xff36
/* 0CA478 800C9878 02002025 */ move $a0, $s0
/* 0CA47C 800C987C 0C03155E */ jal func_800C5578
/* 0CA480 800C9880 00A12821 */ addu $a1, $a1, $at
/* 0CA484 800C9884 96250254 */ lhu $a1, 0x254($s1)
/* 0CA488 800C9888 3C010104 */ lui $at, (0x0104FF3E >> 16) # lui $at, 0x104
/* 0CA48C 800C988C 3421FF3E */ ori $at, (0x0104FF3E & 0xFFFF) # ori $at, $at, 0xff3e
/* 0CA490 800C9890 02002025 */ move $a0, $s0
/* 0CA494 800C9894 0C03155E */ jal func_800C5578
/* 0CA498 800C9898 00A12821 */ addu $a1, $a1, $at
/* 0CA49C 800C989C 8FDF0034 */ lw $ra, 0x34($fp)
/* 0CA4A0 800C98A0 03C0E825 */ move $sp, $fp
/* 0CA4A4 800C98A4 8FD00028 */ lw $s0, 0x28($fp)
/* 0CA4A8 800C98A8 8FD1002C */ lw $s1, 0x2c($fp)
/* 0CA4AC 800C98AC 8FDE0030 */ lw $fp, 0x30($fp)
/* 0CA4B0 800C98B0 03E00008 */ jr $ra
/* 0CA4B4 800C98B4 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800C98B8
/* 0CA4B8 800C98B8 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 0CA4BC 800C98BC 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CA4C0 800C98C0 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CA4C4 800C98C4 AFBE0058 */ sw $fp, 0x58($sp)
/* 0CA4C8 800C98C8 AFB60050 */ sw $s6, 0x50($sp)
/* 0CA4CC 800C98CC AFB5004C */ sw $s5, 0x4c($sp)
/* 0CA4D0 800C98D0 AFB1003C */ sw $s1, 0x3c($sp)
/* 0CA4D4 800C98D4 00C08825 */ move $s1, $a2
/* 0CA4D8 800C98D8 0080A825 */ move $s5, $a0
/* 0CA4DC 800C98DC 00A0B025 */ move $s6, $a1
/* 0CA4E0 800C98E0 03A0F025 */ move $fp, $sp
/* 0CA4E4 800C98E4 AFBF005C */ sw $ra, 0x5c($sp)
/* 0CA4E8 800C98E8 AFB70054 */ sw $s7, 0x54($sp)
/* 0CA4EC 800C98EC AFB40048 */ sw $s4, 0x48($sp)
/* 0CA4F0 800C98F0 AFB30044 */ sw $s3, 0x44($sp)
/* 0CA4F4 800C98F4 AFB20040 */ sw $s2, 0x40($sp)
/* 0CA4F8 800C98F8 AFB00038 */ sw $s0, 0x38($sp)
/* 0CA4FC 800C98FC 15C0002A */ bnez $t6, .L800C99A8
/* 0CA500 800C9900 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 0CA504 800C9904 3C0F800F */ lui $t7, %hi(D_800EA0F0) # $t7, 0x800f
/* 0CA508 800C9908 91EFA0F0 */ lbu $t7, %lo(D_800EA0F0)($t7)
/* 0CA50C 800C990C 3C17800F */ lui $s7, %hi(D_800EA1C0) # $s7, 0x800f
/* 0CA510 800C9910 26F7A1C0 */ addiu $s7, %lo(D_800EA1C0) # addiu $s7, $s7, -0x5e40
/* 0CA514 800C9914 55E00025 */ bnel $t7, $zero, .L800C99AC
/* 0CA518 800C9918 8FDF005C */ lw $ra, 0x5c($fp)
/* 0CA51C 800C991C 92F80000 */ lbu $t8, ($s7)
/* 0CA520 800C9920 00008025 */ move $s0, $zero
/* 0CA524 800C9924 3C01432A */ li $at, 0x432A0000 # 170.000000
/* 0CA528 800C9928 27190001 */ addiu $t9, $t8, 1
/* 0CA52C 800C992C 1B20001E */ blez $t9, .L800C99A8
/* 0CA530 800C9930 3C14800F */ lui $s4, %hi(D_800EA1DC) # $s4, 0x800f
/* 0CA534 800C9934 3C13800F */ lui $s3, %hi(D_800EA1D4) # $s3, 0x800f
/* 0CA538 800C9938 3C12800F */ lui $s2, %hi(D_800EA1C8) # $s2, 0x800f
/* 0CA53C 800C993C 4481A000 */ mtc1 $at, $f20
/* 0CA540 800C9940 2652A1C8 */ addiu $s2, %lo(D_800EA1C8) # addiu $s2, $s2, -0x5e38
/* 0CA544 800C9944 2673A1D4 */ addiu $s3, %lo(D_800EA1D4) # addiu $s3, $s3, -0x5e2c
/* 0CA548 800C9948 2694A1DC */ addiu $s4, %lo(D_800EA1DC) # addiu $s4, $s4, -0x5e24
.L800C994C:
/* 0CA54C 800C994C 00002025 */ move $a0, $zero
/* 0CA550 800C9950 02A02825 */ move $a1, $s5
/* 0CA554 800C9954 02C03025 */ move $a2, $s6
/* 0CA558 800C9958 02403825 */ move $a3, $s2
/* 0CA55C 800C995C AFB00010 */ sw $s0, 0x10($sp)
/* 0CA560 800C9960 0C030722 */ jal func_800C1C88
/* 0CA564 800C9964 AFB10014 */ sw $s1, 0x14($sp)
/* 0CA568 800C9968 10400008 */ beqz $v0, .L800C998C
/* 0CA56C 800C996C 02202025 */ move $a0, $s1
/* 0CA570 800C9970 E4540034 */ swc1 $f20, 0x34($v0)
/* 0CA574 800C9974 AFB40014 */ sw $s4, 0x14($sp)
/* 0CA578 800C9978 AFB30010 */ sw $s3, 0x10($sp)
/* 0CA57C 800C997C 24450018 */ addiu $a1, $v0, 0x18
/* 0CA580 800C9980 320600FF */ andi $a2, $s0, 0xff
/* 0CA584 800C9984 0C031052 */ jal play_sound
/* 0CA588 800C9988 2447002C */ addiu $a3, $v0, 0x2c
.L800C998C:
/* 0CA58C 800C998C 92E90000 */ lbu $t1, ($s7)
/* 0CA590 800C9990 26100001 */ addiu $s0, $s0, 1
/* 0CA594 800C9994 320800FF */ andi $t0, $s0, 0xff
/* 0CA598 800C9998 252A0001 */ addiu $t2, $t1, 1
/* 0CA59C 800C999C 010A082A */ slt $at, $t0, $t2
/* 0CA5A0 800C99A0 1420FFEA */ bnez $at, .L800C994C
/* 0CA5A4 800C99A4 01008025 */ move $s0, $t0
.L800C99A8:
/* 0CA5A8 800C99A8 8FDF005C */ lw $ra, 0x5c($fp)
.L800C99AC:
/* 0CA5AC 800C99AC 03C0E825 */ move $sp, $fp
/* 0CA5B0 800C99B0 D7D40030 */ ldc1 $f20, 0x30($fp)
/* 0CA5B4 800C99B4 8FD00038 */ lw $s0, 0x38($fp)
/* 0CA5B8 800C99B8 8FD1003C */ lw $s1, 0x3c($fp)
/* 0CA5BC 800C99BC 8FD20040 */ lw $s2, 0x40($fp)
/* 0CA5C0 800C99C0 8FD30044 */ lw $s3, 0x44($fp)
/* 0CA5C4 800C99C4 8FD40048 */ lw $s4, 0x48($fp)
/* 0CA5C8 800C99C8 8FD5004C */ lw $s5, 0x4c($fp)
/* 0CA5CC 800C99CC 8FD60050 */ lw $s6, 0x50($fp)
/* 0CA5D0 800C99D0 8FD70054 */ lw $s7, 0x54($fp)
/* 0CA5D4 800C99D4 8FDE0058 */ lw $fp, 0x58($fp)
/* 0CA5D8 800C99D8 03E00008 */ jr $ra
/* 0CA5DC 800C99DC 27BD0060 */ addiu $sp, $sp, 0x60
glabel func_800C99E0
/* 0CA5E0 800C99E0 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 0CA5E4 800C99E4 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CA5E8 800C99E8 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CA5EC 800C99EC AFBE0038 */ sw $fp, 0x38($sp)
/* 0CA5F0 800C99F0 AFB20030 */ sw $s2, 0x30($sp)
/* 0CA5F4 800C99F4 AFB1002C */ sw $s1, 0x2c($sp)
/* 0CA5F8 800C99F8 00A08825 */ move $s1, $a1
/* 0CA5FC 800C99FC 00809025 */ move $s2, $a0
/* 0CA600 800C9A00 03A0F025 */ move $fp, $sp
/* 0CA604 800C9A04 AFBF003C */ sw $ra, 0x3c($sp)
/* 0CA608 800C9A08 AFB30034 */ sw $s3, 0x34($sp)
/* 0CA60C 800C9A0C 15C00015 */ bnez $t6, .L800C9A64
/* 0CA610 800C9A10 AFB00028 */ sw $s0, 0x28($sp)
/* 0CA614 800C9A14 3C13800F */ lui $s3, %hi(D_800EA1C0) # $s3, 0x800f
/* 0CA618 800C9A18 2673A1C0 */ addiu $s3, %lo(D_800EA1C0) # addiu $s3, $s3, -0x5e40
/* 0CA61C 800C9A1C 926F0000 */ lbu $t7, ($s3)
/* 0CA620 800C9A20 00008025 */ move $s0, $zero
/* 0CA624 800C9A24 25F80001 */ addiu $t8, $t7, 1
/* 0CA628 800C9A28 1B00000E */ blez $t8, .L800C9A64
.L800C9A2C:
/* 0CA62C 800C9A2C 02402025 */ move $a0, $s2
/* 0CA630 800C9A30 0C03087A */ jal func_800C21E8
/* 0CA634 800C9A34 02202825 */ move $a1, $s1
/* 0CA638 800C9A38 10400003 */ beqz $v0, .L800C9A48
/* 0CA63C 800C9A3C 00402025 */ move $a0, $v0
/* 0CA640 800C9A40 0C03155E */ jal func_800C5578
/* 0CA644 800C9A44 02202825 */ move $a1, $s1
.L800C9A48:
/* 0CA648 800C9A48 92680000 */ lbu $t0, ($s3)
/* 0CA64C 800C9A4C 26100001 */ addiu $s0, $s0, 1
/* 0CA650 800C9A50 321900FF */ andi $t9, $s0, 0xff
/* 0CA654 800C9A54 25090001 */ addiu $t1, $t0, 1
/* 0CA658 800C9A58 0329082A */ slt $at, $t9, $t1
/* 0CA65C 800C9A5C 1420FFF3 */ bnez $at, .L800C9A2C
/* 0CA660 800C9A60 03208025 */ move $s0, $t9
.L800C9A64:
/* 0CA664 800C9A64 8FDF003C */ lw $ra, 0x3c($fp)
/* 0CA668 800C9A68 03C0E825 */ move $sp, $fp
/* 0CA66C 800C9A6C 8FD00028 */ lw $s0, 0x28($fp)
/* 0CA670 800C9A70 8FD1002C */ lw $s1, 0x2c($fp)
/* 0CA674 800C9A74 8FD20030 */ lw $s2, 0x30($fp)
/* 0CA678 800C9A78 8FD30034 */ lw $s3, 0x34($fp)
/* 0CA67C 800C9A7C 8FDE0038 */ lw $fp, 0x38($fp)
/* 0CA680 800C9A80 03E00008 */ jr $ra
/* 0CA684 800C9A84 27BD0040 */ addiu $sp, $sp, 0x40
glabel func_800C9A88
/* 0CA688 800C9A88 27BDFF88 */ addiu $sp, $sp, -0x78
/* 0CA68C 800C9A8C 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CA690 800C9A90 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CA694 800C9A94 AFBE0058 */ sw $fp, 0x58($sp)
/* 0CA698 800C9A98 AFB30044 */ sw $s3, 0x44($sp)
/* 0CA69C 800C9A9C 309300FF */ andi $s3, $a0, 0xff
/* 0CA6A0 800C9AA0 03A0F025 */ move $fp, $sp
/* 0CA6A4 800C9AA4 AFBF005C */ sw $ra, 0x5c($sp)
/* 0CA6A8 800C9AA8 AFB70054 */ sw $s7, 0x54($sp)
/* 0CA6AC 800C9AAC AFB60050 */ sw $s6, 0x50($sp)
/* 0CA6B0 800C9AB0 AFB5004C */ sw $s5, 0x4c($sp)
/* 0CA6B4 800C9AB4 AFB40048 */ sw $s4, 0x48($sp)
/* 0CA6B8 800C9AB8 AFB20040 */ sw $s2, 0x40($sp)
/* 0CA6BC 800C9ABC AFB1003C */ sw $s1, 0x3c($sp)
/* 0CA6C0 800C9AC0 AFB00038 */ sw $s0, 0x38($sp)
/* 0CA6C4 800C9AC4 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 0CA6C8 800C9AC8 15C00082 */ bnez $t6, .L800C9CD4
/* 0CA6CC 800C9ACC AFA40078 */ sw $a0, 0x78($sp)
/* 0CA6D0 800C9AD0 3C03800F */ lui $v1, %hi(D_800EA0F0) # $v1, 0x800f
/* 0CA6D4 800C9AD4 2463A0F0 */ addiu $v1, %lo(D_800EA0F0) # addiu $v1, $v1, -0x5f10
/* 0CA6D8 800C9AD8 90620000 */ lbu $v0, ($v1)
/* 0CA6DC 800C9ADC 0013C0C0 */ sll $t8, $s3, 3
/* 0CA6E0 800C9AE0 24010002 */ li $at, 2
/* 0CA6E4 800C9AE4 10400004 */ beqz $v0, .L800C9AF8
/* 0CA6E8 800C9AE8 0313C023 */ subu $t8, $t8, $s3
/* 0CA6EC 800C9AEC 14410079 */ bne $v0, $at, .L800C9CD4
/* 0CA6F0 800C9AF0 240F0001 */ li $t7, 1
/* 0CA6F4 800C9AF4 A06F0000 */ sb $t7, ($v1)
.L800C9AF8:
/* 0CA6F8 800C9AF8 0018C100 */ sll $t8, $t8, 4
/* 0CA6FC 800C9AFC 0313C023 */ subu $t8, $t8, $s3
/* 0CA700 800C9B00 0018C080 */ sll $t8, $t8, 2
/* 0CA704 800C9B04 0313C023 */ subu $t8, $t8, $s3
/* 0CA708 800C9B08 3C19800F */ lui $t9, %hi(D_800F6990) # $t9, 0x800f
/* 0CA70C 800C9B0C 27396990 */ addiu $t9, %lo(D_800F6990) # addiu $t9, $t9, 0x6990
/* 0CA710 800C9B10 0018C0C0 */ sll $t8, $t8, 3
/* 0CA714 800C9B14 03191821 */ addu $v1, $t8, $t9
/* 0CA718 800C9B18 94680254 */ lhu $t0, 0x254($v1)
/* 0CA71C 800C9B1C 2D010008 */ sltiu $at, $t0, 8
/* 0CA720 800C9B20 1020003C */ beqz $at, .L800C9C14
/* 0CA724 800C9B24 00084080 */ sll $t0, $t0, 2
/* 0CA728 800C9B28 3C01800F */ lui $at, %hi(D_800F3960)
/* 0CA72C 800C9B2C 00280821 */ addu $at, $at, $t0
/* 0CA730 800C9B30 8C283960 */ lw $t0, %lo(D_800F3960)($at)
/* 0CA734 800C9B34 01000008 */ jr $t0
/* 0CA738 800C9B38 00000000 */ nop
glabel L800C9B3C
/* 0CA73C 800C9B3C 3C01800F */ lui $at, %hi(D_800F3980) # $at, 0x800f
/* 0CA740 800C9B40 C4243980 */ lwc1 $f4, %lo(D_800F3980)($at)
/* 0CA744 800C9B44 3C0A800F */ lui $t2, %hi(D_800EA06C) # $t2, 0x800f
/* 0CA748 800C9B48 254AA06C */ addiu $t2, %lo(D_800EA06C) # addiu $t2, $t2, -0x5f94
/* 0CA74C 800C9B4C 00134900 */ sll $t1, $s3, 4
/* 0CA750 800C9B50 012A1021 */ addu $v0, $t1, $t2
/* 0CA754 800C9B54 3C01800F */ lui $at, %hi(D_800F3984) # $at, 0x800f
/* 0CA758 800C9B58 E4440000 */ swc1 $f4, ($v0)
/* 0CA75C 800C9B5C C4263984 */ lwc1 $f6, %lo(D_800F3984)($at)
/* 0CA760 800C9B60 1000002C */ b .L800C9C14
/* 0CA764 800C9B64 E4460004 */ swc1 $f6, 4($v0)
glabel L800C9B68
/* 0CA768 800C9B68 3C01800F */ lui $at, %hi(D_800F3988) # $at, 0x800f
/* 0CA76C 800C9B6C C4283988 */ lwc1 $f8, %lo(D_800F3988)($at)
/* 0CA770 800C9B70 3C0C800F */ lui $t4, %hi(D_800EA06C) # $t4, 0x800f
/* 0CA774 800C9B74 258CA06C */ addiu $t4, %lo(D_800EA06C) # addiu $t4, $t4, -0x5f94
/* 0CA778 800C9B78 00135900 */ sll $t3, $s3, 4
/* 0CA77C 800C9B7C 016C1021 */ addu $v0, $t3, $t4
/* 0CA780 800C9B80 3C01800F */ lui $at, %hi(D_800F398C) # $at, 0x800f
/* 0CA784 800C9B84 E4480000 */ swc1 $f8, ($v0)
/* 0CA788 800C9B88 C42A398C */ lwc1 $f10, %lo(D_800F398C)($at)
/* 0CA78C 800C9B8C 10000021 */ b .L800C9C14
/* 0CA790 800C9B90 E44A0004 */ swc1 $f10, 4($v0)
glabel L800C9B94
/* 0CA794 800C9B94 3C01800F */ lui $at, %hi(D_800F3990) # $at, 0x800f
/* 0CA798 800C9B98 C4303990 */ lwc1 $f16, %lo(D_800F3990)($at)
/* 0CA79C 800C9B9C 3C0E800F */ lui $t6, %hi(D_800EA06C) # $t6, 0x800f
/* 0CA7A0 800C9BA0 25CEA06C */ addiu $t6, %lo(D_800EA06C) # addiu $t6, $t6, -0x5f94
/* 0CA7A4 800C9BA4 00136900 */ sll $t5, $s3, 4
/* 0CA7A8 800C9BA8 01AE1021 */ addu $v0, $t5, $t6
/* 0CA7AC 800C9BAC 3C01800F */ lui $at, %hi(D_800F3994) # $at, 0x800f
/* 0CA7B0 800C9BB0 E4500000 */ swc1 $f16, ($v0)
/* 0CA7B4 800C9BB4 C4323994 */ lwc1 $f18, %lo(D_800F3994)($at)
/* 0CA7B8 800C9BB8 10000016 */ b .L800C9C14
/* 0CA7BC 800C9BBC E4520004 */ swc1 $f18, 4($v0)
glabel L800C9BC0
/* 0CA7C0 800C9BC0 3C01800F */ lui $at, %hi(D_800F3998) # $at, 0x800f
/* 0CA7C4 800C9BC4 C4243998 */ lwc1 $f4, %lo(D_800F3998)($at)
/* 0CA7C8 800C9BC8 3C18800F */ lui $t8, %hi(D_800EA06C) # $t8, 0x800f
/* 0CA7CC 800C9BCC 2718A06C */ addiu $t8, %lo(D_800EA06C) # addiu $t8, $t8, -0x5f94
/* 0CA7D0 800C9BD0 00137900 */ sll $t7, $s3, 4
/* 0CA7D4 800C9BD4 01F81021 */ addu $v0, $t7, $t8
/* 0CA7D8 800C9BD8 3C01800F */ lui $at, %hi(D_800F399C) # $at, 0x800f
/* 0CA7DC 800C9BDC E4440000 */ swc1 $f4, ($v0)
/* 0CA7E0 800C9BE0 C426399C */ lwc1 $f6, %lo(D_800F399C)($at)
/* 0CA7E4 800C9BE4 1000000B */ b .L800C9C14
/* 0CA7E8 800C9BE8 E4460004 */ swc1 $f6, 4($v0)
glabel L800C9BEC
/* 0CA7EC 800C9BEC 3C01800F */ lui $at, %hi(D_800F39A0) # $at, 0x800f
/* 0CA7F0 800C9BF0 C42839A0 */ lwc1 $f8, %lo(D_800F39A0)($at)
/* 0CA7F4 800C9BF4 3C08800F */ lui $t0, %hi(D_800EA06C) # $t0, 0x800f
/* 0CA7F8 800C9BF8 2508A06C */ addiu $t0, %lo(D_800EA06C) # addiu $t0, $t0, -0x5f94
/* 0CA7FC 800C9BFC 0013C900 */ sll $t9, $s3, 4
/* 0CA800 800C9C00 03281021 */ addu $v0, $t9, $t0
/* 0CA804 800C9C04 3C01800F */ lui $at, %hi(D_800F39A4) # $at, 0x800f
/* 0CA808 800C9C08 E4480000 */ swc1 $f8, ($v0)
/* 0CA80C 800C9C0C C42A39A4 */ lwc1 $f10, %lo(D_800F39A4)($at)
/* 0CA810 800C9C10 E44A0004 */ swc1 $f10, 4($v0)
.L800C9C14:
/* 0CA814 800C9C14 3C17800F */ lui $s7, %hi(D_800EA1C0) # $s7, 0x800f
/* 0CA818 800C9C18 26F7A1C0 */ addiu $s7, %lo(D_800EA1C0) # addiu $s7, $s7, -0x5e40
/* 0CA81C 800C9C1C 92E20000 */ lbu $v0, ($s7)
/* 0CA820 800C9C20 28410002 */ slti $at, $v0, 2
/* 0CA824 800C9C24 5020002C */ beql $at, $zero, .L800C9CD8
/* 0CA828 800C9C28 8FDF005C */ lw $ra, 0x5c($fp)
/* 0CA82C 800C9C2C 04400029 */ bltz $v0, .L800C9CD4
/* 0CA830 800C9C30 00008025 */ move $s0, $zero
/* 0CA834 800C9C34 3C014220 */ li $at, 0x42200000 # 40.000000
/* 0CA838 800C9C38 3C123102 */ lui $s2, (0x31028000 >> 16) # lui $s2, 0x3102
/* 0CA83C 800C9C3C 4481A000 */ mtc1 $at, $f20
/* 0CA840 800C9C40 36528000 */ ori $s2, (0x31028000 & 0xFFFF) # ori $s2, $s2, 0x8000
/* 0CA844 800C9C44 24740014 */ addiu $s4, $v1, 0x14
/* 0CA848 800C9C48 24750034 */ addiu $s5, $v1, 0x34
/* 0CA84C 800C9C4C 24760098 */ addiu $s6, $v1, 0x98
/* 0CA850 800C9C50 AFC30064 */ sw $v1, 0x64($fp)
.L800C9C54:
/* 0CA854 800C9C54 8FC30064 */ lw $v1, 0x64($fp)
/* 0CA858 800C9C58 AFB00010 */ sw $s0, 0x10($sp)
/* 0CA85C 800C9C5C 326400FF */ andi $a0, $s3, 0xff
/* 0CA860 800C9C60 94690254 */ lhu $t1, 0x254($v1)
/* 0CA864 800C9C64 02802825 */ move $a1, $s4
/* 0CA868 800C9C68 02A03025 */ move $a2, $s5
/* 0CA86C 800C9C6C 01328821 */ addu $s1, $t1, $s2
/* 0CA870 800C9C70 AFB10014 */ sw $s1, 0x14($sp)
/* 0CA874 800C9C74 0C030722 */ jal func_800C1C88
/* 0CA878 800C9C78 02C03825 */ move $a3, $s6
/* 0CA87C 800C9C7C 1040000E */ beqz $v0, .L800C9CB8
/* 0CA880 800C9C80 02202025 */ move $a0, $s1
/* 0CA884 800C9C84 3C0B800F */ lui $t3, %hi(D_800EA06C) # $t3, 0x800f
/* 0CA888 800C9C88 E4540034 */ swc1 $f20, 0x34($v0)
/* 0CA88C 800C9C8C 256BA06C */ addiu $t3, %lo(D_800EA06C) # addiu $t3, $t3, -0x5f94
/* 0CA890 800C9C90 24450018 */ addiu $a1, $v0, 0x18
/* 0CA894 800C9C94 2447002C */ addiu $a3, $v0, 0x2c
/* 0CA898 800C9C98 00135100 */ sll $t2, $s3, 4
/* 0CA89C 800C9C9C 014B1021 */ addu $v0, $t2, $t3
/* 0CA8A0 800C9CA0 244C0008 */ addiu $t4, $v0, 8
/* 0CA8A4 800C9CA4 244D000C */ addiu $t5, $v0, 0xc
/* 0CA8A8 800C9CA8 AFAD0014 */ sw $t5, 0x14($sp)
/* 0CA8AC 800C9CAC AFAC0010 */ sw $t4, 0x10($sp)
/* 0CA8B0 800C9CB0 0C031052 */ jal play_sound
/* 0CA8B4 800C9CB4 320600FF */ andi $a2, $s0, 0xff
.L800C9CB8:
/* 0CA8B8 800C9CB8 92EF0000 */ lbu $t7, ($s7)
/* 0CA8BC 800C9CBC 26100001 */ addiu $s0, $s0, 1
/* 0CA8C0 800C9CC0 320E00FF */ andi $t6, $s0, 0xff
/* 0CA8C4 800C9CC4 25F80001 */ addiu $t8, $t7, 1
/* 0CA8C8 800C9CC8 01D8082A */ slt $at, $t6, $t8
/* 0CA8CC 800C9CCC 1420FFE1 */ bnez $at, .L800C9C54
/* 0CA8D0 800C9CD0 01C08025 */ move $s0, $t6
.L800C9CD4:
/* 0CA8D4 800C9CD4 8FDF005C */ lw $ra, 0x5c($fp)
.L800C9CD8:
/* 0CA8D8 800C9CD8 03C0E825 */ move $sp, $fp
/* 0CA8DC 800C9CDC D7D40030 */ ldc1 $f20, 0x30($fp)
/* 0CA8E0 800C9CE0 8FD00038 */ lw $s0, 0x38($fp)
/* 0CA8E4 800C9CE4 8FD1003C */ lw $s1, 0x3c($fp)
/* 0CA8E8 800C9CE8 8FD20040 */ lw $s2, 0x40($fp)
/* 0CA8EC 800C9CEC 8FD30044 */ lw $s3, 0x44($fp)
/* 0CA8F0 800C9CF0 8FD40048 */ lw $s4, 0x48($fp)
/* 0CA8F4 800C9CF4 8FD5004C */ lw $s5, 0x4c($fp)
/* 0CA8F8 800C9CF8 8FD60050 */ lw $s6, 0x50($fp)
/* 0CA8FC 800C9CFC 8FD70054 */ lw $s7, 0x54($fp)
/* 0CA900 800C9D00 8FDE0058 */ lw $fp, 0x58($fp)
/* 0CA904 800C9D04 03E00008 */ jr $ra
/* 0CA908 800C9D08 27BD0078 */ addiu $sp, $sp, 0x78
glabel func_800C9D0C
/* 0CA90C 800C9D0C 308600FF */ andi $a2, $a0, 0xff
/* 0CA910 800C9D10 000670C0 */ sll $t6, $a2, 3
/* 0CA914 800C9D14 01C67023 */ subu $t6, $t6, $a2
/* 0CA918 800C9D18 000E7100 */ sll $t6, $t6, 4
/* 0CA91C 800C9D1C 01C67023 */ subu $t6, $t6, $a2
/* 0CA920 800C9D20 000E7080 */ sll $t6, $t6, 2
/* 0CA924 800C9D24 01C67023 */ subu $t6, $t6, $a2
/* 0CA928 800C9D28 3C0F800F */ lui $t7, %hi(D_800F6990) # $t7, 0x800f
/* 0CA92C 800C9D2C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0CA930 800C9D30 25EF6990 */ addiu $t7, %lo(D_800F6990) # addiu $t7, $t7, 0x6990
/* 0CA934 800C9D34 000E70C0 */ sll $t6, $t6, 3
/* 0CA938 800C9D38 01CF1021 */ addu $v0, $t6, $t7
/* 0CA93C 800C9D3C 94450254 */ lhu $a1, 0x254($v0)
/* 0CA940 800C9D40 3C013102 */ lui $at, (0x31028000 >> 16) # lui $at, 0x3102
/* 0CA944 800C9D44 AFBF002C */ sw $ra, 0x2c($sp)
/* 0CA948 800C9D48 AFBE0028 */ sw $fp, 0x28($sp)
/* 0CA94C 800C9D4C AFA40030 */ sw $a0, 0x30($sp)
/* 0CA950 800C9D50 34218000 */ ori $at, (0x31028000 & 0xFFFF) # ori $at, $at, 0x8000
/* 0CA954 800C9D54 03A0F025 */ move $fp, $sp
/* 0CA958 800C9D58 24440014 */ addiu $a0, $v0, 0x14
/* 0CA95C 800C9D5C 0C03087A */ jal func_800C21E8
/* 0CA960 800C9D60 00A12821 */ addu $a1, $a1, $at
/* 0CA964 800C9D64 0C031543 */ jal func_800C550C
/* 0CA968 800C9D68 00402025 */ move $a0, $v0
/* 0CA96C 800C9D6C 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CA970 800C9D70 03C0E825 */ move $sp, $fp
/* 0CA974 800C9D74 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CA978 800C9D78 03E00008 */ jr $ra
/* 0CA97C 800C9D7C 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800C9D80
/* 0CA980 800C9D80 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 0CA984 800C9D84 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CA988 800C9D88 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CA98C 800C9D8C AFBE0058 */ sw $fp, 0x58($sp)
/* 0CA990 800C9D90 AFB1003C */ sw $s1, 0x3c($sp)
/* 0CA994 800C9D94 00C08825 */ move $s1, $a2
/* 0CA998 800C9D98 03A0F025 */ move $fp, $sp
/* 0CA99C 800C9D9C AFBF005C */ sw $ra, 0x5c($sp)
/* 0CA9A0 800C9DA0 AFB70054 */ sw $s7, 0x54($sp)
/* 0CA9A4 800C9DA4 AFB60050 */ sw $s6, 0x50($sp)
/* 0CA9A8 800C9DA8 AFB5004C */ sw $s5, 0x4c($sp)
/* 0CA9AC 800C9DAC AFB40048 */ sw $s4, 0x48($sp)
/* 0CA9B0 800C9DB0 AFB30044 */ sw $s3, 0x44($sp)
/* 0CA9B4 800C9DB4 AFB20040 */ sw $s2, 0x40($sp)
/* 0CA9B8 800C9DB8 AFB00038 */ sw $s0, 0x38($sp)
/* 0CA9BC 800C9DBC F7B40030 */ sdc1 $f20, 0x30($sp)
/* 0CA9C0 800C9DC0 AFA40060 */ sw $a0, 0x60($sp)
/* 0CA9C4 800C9DC4 15C0003D */ bnez $t6, .L800C9EBC
/* 0CA9C8 800C9DC8 AFA50064 */ sw $a1, 0x64($sp)
/* 0CA9CC 800C9DCC 3C0F800F */ lui $t7, %hi(D_800EA0F0) # $t7, 0x800f
/* 0CA9D0 800C9DD0 91EFA0F0 */ lbu $t7, %lo(D_800EA0F0)($t7)
/* 0CA9D4 800C9DD4 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f
/* 0CA9D8 800C9DD8 55E00039 */ bnel $t7, $zero, .L800C9EC0
/* 0CA9DC 800C9DDC 8FDF005C */ lw $ra, 0x5c($fp)
/* 0CA9E0 800C9DE0 9042A1C0 */ lbu $v0, %lo(D_800EA1C0)($v0)
/* 0CA9E4 800C9DE4 28410004 */ slti $at, $v0, 4
/* 0CA9E8 800C9DE8 50200035 */ beql $at, $zero, .L800C9EC0
/* 0CA9EC 800C9DEC 8FDF005C */ lw $ra, 0x5c($fp)
/* 0CA9F0 800C9DF0 04400032 */ bltz $v0, .L800C9EBC
/* 0CA9F4 800C9DF4 00008025 */ move $s0, $zero
/* 0CA9F8 800C9DF8 3C01432A */ li $at, 0x432A0000 # 170.000000
/* 0CA9FC 800C9DFC 3C17800F */ lui $s7, %hi(D_800EA1D4) # $s7, 0x800f
/* 0CAA00 800C9E00 3C16800F */ lui $s6, %hi(D_800EA17C) # $s6, 0x800f
/* 0CAA04 800C9E04 3C15800F */ lui $s5, %hi(D_800EA178) # $s5, 0x800f
/* 0CAA08 800C9E08 3C145103 */ lui $s4, (0x5103700B >> 16) # lui $s4, 0x5103
/* 0CAA0C 800C9E0C 3C13800F */ lui $s3, %hi(D_800EA1C8) # $s3, 0x800f
/* 0CAA10 800C9E10 3C12800F */ lui $s2, %hi(D_800EA1DC) # $s2, 0x800f
/* 0CAA14 800C9E14 4481A000 */ mtc1 $at, $f20
/* 0CAA18 800C9E18 2652A1DC */ addiu $s2, %lo(D_800EA1DC) # addiu $s2, $s2, -0x5e24
/* 0CAA1C 800C9E1C 2673A1C8 */ addiu $s3, %lo(D_800EA1C8) # addiu $s3, $s3, -0x5e38
/* 0CAA20 800C9E20 3694700B */ ori $s4, (0x5103700B & 0xFFFF) # ori $s4, $s4, 0x700b
/* 0CAA24 800C9E24 26B5A178 */ addiu $s5, %lo(D_800EA178) # addiu $s5, $s5, -0x5e88
/* 0CAA28 800C9E28 26D6A17C */ addiu $s6, %lo(D_800EA17C) # addiu $s6, $s6, -0x5e84
/* 0CAA2C 800C9E2C 26F7A1D4 */ addiu $s7, %lo(D_800EA1D4) # addiu $s7, $s7, -0x5e2c
.L800C9E30:
/* 0CAA30 800C9E30 8FC50060 */ lw $a1, 0x60($fp)
/* 0CAA34 800C9E34 8FC60064 */ lw $a2, 0x64($fp)
/* 0CAA38 800C9E38 AFB10014 */ sw $s1, 0x14($sp)
/* 0CAA3C 800C9E3C AFB00010 */ sw $s0, 0x10($sp)
/* 0CAA40 800C9E40 00002025 */ move $a0, $zero
/* 0CAA44 800C9E44 0C030722 */ jal func_800C1C88
/* 0CAA48 800C9E48 02603825 */ move $a3, $s3
/* 0CAA4C 800C9E4C 10400013 */ beqz $v0, .L800C9E9C
/* 0CAA50 800C9E50 00401825 */ move $v1, $v0
/* 0CAA54 800C9E54 1634000A */ bne $s1, $s4, .L800C9E80
/* 0CAA58 800C9E58 E4540034 */ swc1 $f20, 0x34($v0)
/* 0CAA5C 800C9E5C 02202025 */ move $a0, $s1
/* 0CAA60 800C9E60 24450018 */ addiu $a1, $v0, 0x18
/* 0CAA64 800C9E64 320600FF */ andi $a2, $s0, 0xff
/* 0CAA68 800C9E68 02A03825 */ move $a3, $s5
/* 0CAA6C 800C9E6C AFB60010 */ sw $s6, 0x10($sp)
/* 0CAA70 800C9E70 0C031052 */ jal play_sound
/* 0CAA74 800C9E74 AFB20014 */ sw $s2, 0x14($sp)
/* 0CAA78 800C9E78 10000008 */ b .L800C9E9C
/* 0CAA7C 800C9E7C 00000000 */ nop
.L800C9E80:
/* 0CAA80 800C9E80 02202025 */ move $a0, $s1
/* 0CAA84 800C9E84 24650018 */ addiu $a1, $v1, 0x18
/* 0CAA88 800C9E88 320600FF */ andi $a2, $s0, 0xff
/* 0CAA8C 800C9E8C 2467002C */ addiu $a3, $v1, 0x2c
/* 0CAA90 800C9E90 AFB70010 */ sw $s7, 0x10($sp)
/* 0CAA94 800C9E94 0C031052 */ jal play_sound
/* 0CAA98 800C9E98 AFB20014 */ sw $s2, 0x14($sp)
.L800C9E9C:
/* 0CAA9C 800C9E9C 3C19800F */ lui $t9, %hi(D_800EA1C0) # $t9, 0x800f
/* 0CAAA0 800C9EA0 9339A1C0 */ lbu $t9, %lo(D_800EA1C0)($t9)
/* 0CAAA4 800C9EA4 26100001 */ addiu $s0, $s0, 1
/* 0CAAA8 800C9EA8 321800FF */ andi $t8, $s0, 0xff
/* 0CAAAC 800C9EAC 27280001 */ addiu $t0, $t9, 1
/* 0CAAB0 800C9EB0 0308082A */ slt $at, $t8, $t0
/* 0CAAB4 800C9EB4 1420FFDE */ bnez $at, .L800C9E30
/* 0CAAB8 800C9EB8 03008025 */ move $s0, $t8
.L800C9EBC:
/* 0CAABC 800C9EBC 8FDF005C */ lw $ra, 0x5c($fp)
.L800C9EC0:
/* 0CAAC0 800C9EC0 03C0E825 */ move $sp, $fp
/* 0CAAC4 800C9EC4 D7D40030 */ ldc1 $f20, 0x30($fp)
/* 0CAAC8 800C9EC8 8FD00038 */ lw $s0, 0x38($fp)
/* 0CAACC 800C9ECC 8FD1003C */ lw $s1, 0x3c($fp)
/* 0CAAD0 800C9ED0 8FD20040 */ lw $s2, 0x40($fp)
/* 0CAAD4 800C9ED4 8FD30044 */ lw $s3, 0x44($fp)
/* 0CAAD8 800C9ED8 8FD40048 */ lw $s4, 0x48($fp)
/* 0CAADC 800C9EDC 8FD5004C */ lw $s5, 0x4c($fp)
/* 0CAAE0 800C9EE0 8FD60050 */ lw $s6, 0x50($fp)
/* 0CAAE4 800C9EE4 8FD70054 */ lw $s7, 0x54($fp)
/* 0CAAE8 800C9EE8 8FDE0058 */ lw $fp, 0x58($fp)
/* 0CAAEC 800C9EEC 03E00008 */ jr $ra
/* 0CAAF0 800C9EF0 27BD0060 */ addiu $sp, $sp, 0x60
glabel func_800C9EF4
/* 0CAAF4 800C9EF4 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 0CAAF8 800C9EF8 AFB30034 */ sw $s3, 0x34($sp)
/* 0CAAFC 800C9EFC 3C13800F */ lui $s3, %hi(D_800EA1C0) # $s3, 0x800f
/* 0CAB00 800C9F00 2673A1C0 */ addiu $s3, %lo(D_800EA1C0) # addiu $s3, $s3, -0x5e40
/* 0CAB04 800C9F04 926E0000 */ lbu $t6, ($s3)
/* 0CAB08 800C9F08 AFBE0038 */ sw $fp, 0x38($sp)
/* 0CAB0C 800C9F0C AFB20030 */ sw $s2, 0x30($sp)
/* 0CAB10 800C9F10 AFB1002C */ sw $s1, 0x2c($sp)
/* 0CAB14 800C9F14 AFB00028 */ sw $s0, 0x28($sp)
/* 0CAB18 800C9F18 25CF0001 */ addiu $t7, $t6, 1
/* 0CAB1C 800C9F1C 00A08825 */ move $s1, $a1
/* 0CAB20 800C9F20 00809025 */ move $s2, $a0
/* 0CAB24 800C9F24 03A0F025 */ move $fp, $sp
/* 0CAB28 800C9F28 AFBF003C */ sw $ra, 0x3c($sp)
/* 0CAB2C 800C9F2C 19E0000F */ blez $t7, .L800C9F6C
/* 0CAB30 800C9F30 00008025 */ move $s0, $zero
.L800C9F34:
/* 0CAB34 800C9F34 02402025 */ move $a0, $s2
/* 0CAB38 800C9F38 0C03087A */ jal func_800C21E8
/* 0CAB3C 800C9F3C 02202825 */ move $a1, $s1
/* 0CAB40 800C9F40 10400003 */ beqz $v0, .L800C9F50
/* 0CAB44 800C9F44 00402025 */ move $a0, $v0
/* 0CAB48 800C9F48 0C03155E */ jal func_800C5578
/* 0CAB4C 800C9F4C 02202825 */ move $a1, $s1
.L800C9F50:
/* 0CAB50 800C9F50 92790000 */ lbu $t9, ($s3)
/* 0CAB54 800C9F54 26100001 */ addiu $s0, $s0, 1
/* 0CAB58 800C9F58 321800FF */ andi $t8, $s0, 0xff
/* 0CAB5C 800C9F5C 27280001 */ addiu $t0, $t9, 1
/* 0CAB60 800C9F60 0308082A */ slt $at, $t8, $t0
/* 0CAB64 800C9F64 1420FFF3 */ bnez $at, .L800C9F34
/* 0CAB68 800C9F68 03008025 */ move $s0, $t8
.L800C9F6C:
/* 0CAB6C 800C9F6C 8FDF003C */ lw $ra, 0x3c($fp)
/* 0CAB70 800C9F70 03C0E825 */ move $sp, $fp
/* 0CAB74 800C9F74 8FD00028 */ lw $s0, 0x28($fp)
/* 0CAB78 800C9F78 8FD1002C */ lw $s1, 0x2c($fp)
/* 0CAB7C 800C9F7C 8FD20030 */ lw $s2, 0x30($fp)
/* 0CAB80 800C9F80 8FD30034 */ lw $s3, 0x34($fp)
/* 0CAB84 800C9F84 8FDE0038 */ lw $fp, 0x38($fp)
/* 0CAB88 800C9F88 03E00008 */ jr $ra
/* 0CAB8C 800C9F8C 27BD0040 */ addiu $sp, $sp, 0x40
glabel func_800C9F90
/* 0CAB90 800C9F90 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0CAB94 800C9F94 AFBE0028 */ sw $fp, 0x28($sp)
/* 0CAB98 800C9F98 308E00FF */ andi $t6, $a0, 0xff
/* 0CAB9C 800C9F9C 03A0F025 */ move $fp, $sp
/* 0CABA0 800C9FA0 AFBF002C */ sw $ra, 0x2c($sp)
/* 0CABA4 800C9FA4 11C0000B */ beqz $t6, .L800C9FD4
/* 0CABA8 800C9FA8 AFA40030 */ sw $a0, 0x30($sp)
/* 0CABAC 800C9FAC 3C044900 */ lui $a0, (0x49008005 >> 16) # lui $a0, 0x4900
/* 0CABB0 800C9FB0 0C032384 */ jal play_sound2
/* 0CABB4 800C9FB4 34848005 */ ori $a0, (0x49008005 & 0xFFFF) # ori $a0, $a0, 0x8005
/* 0CABB8 800C9FB8 3C04F100 */ lui $a0, 0xf100
/* 0CABBC 800C9FBC 0C032EEE */ jal func_800CBBB8
/* 0CABC0 800C9FC0 00002825 */ move $a1, $zero
/* 0CABC4 800C9FC4 240F0001 */ li $t7, 1
/* 0CABC8 800C9FC8 3C01800F */ lui $at, %hi(D_800EA16C) # $at, 0x800f
/* 0CABCC 800C9FCC 10000009 */ b .L800C9FF4
/* 0CABD0 800C9FD0 A02FA16C */ sb $t7, %lo(D_800EA16C)($at)
.L800C9FD4:
/* 0CABD4 800C9FD4 3C044900 */ lui $a0, (0x49008006 >> 16) # lui $a0, 0x4900
/* 0CABD8 800C9FD8 0C032384 */ jal play_sound2
/* 0CABDC 800C9FDC 34848006 */ ori $a0, (0x49008006 & 0xFFFF) # ori $a0, $a0, 0x8006
/* 0CABE0 800C9FE0 3C04F200 */ lui $a0, 0xf200
/* 0CABE4 800C9FE4 0C032EEE */ jal func_800CBBB8
/* 0CABE8 800C9FE8 00002825 */ move $a1, $zero
/* 0CABEC 800C9FEC 3C01800F */ lui $at, %hi(D_800EA16C) # $at, 0x800f
/* 0CABF0 800C9FF0 A020A16C */ sb $zero, %lo(D_800EA16C)($at)
.L800C9FF4:
/* 0CABF4 800C9FF4 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CABF8 800C9FF8 03C0E825 */ move $sp, $fp
/* 0CABFC 800C9FFC 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CAC00 800CA000 03E00008 */ jr $ra
/* 0CAC04 800CA004 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800CA008
/* 0CAC08 800CA008 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0CAC0C 800CA00C AFBF002C */ sw $ra, 0x2c($sp)
/* 0CAC10 800CA010 AFBE0028 */ sw $fp, 0x28($sp)
/* 0CAC14 800CA014 AFA40030 */ sw $a0, 0x30($sp)
/* 0CAC18 800CA018 AFA50034 */ sw $a1, 0x34($sp)
/* 0CAC1C 800CA01C 03A0F025 */ move $fp, $sp
/* 0CAC20 800CA020 00002825 */ move $a1, $zero
/* 0CAC24 800CA024 00002025 */ move $a0, $zero
/* 0CAC28 800CA028 2406007F */ li $a2, 127
/* 0CAC2C 800CA02C 0C030DB1 */ jal func_800C36C4
/* 0CAC30 800CA030 24070001 */ li $a3, 1
/* 0CAC34 800CA034 24040001 */ li $a0, 1
/* 0CAC38 800CA038 00002825 */ move $a1, $zero
/* 0CAC3C 800CA03C 2406007F */ li $a2, 127
/* 0CAC40 800CA040 0C030DB1 */ jal func_800C36C4
/* 0CAC44 800CA044 24070001 */ li $a3, 1
/* 0CAC48 800CA048 93C20037 */ lbu $v0, 0x37($fp)
/* 0CAC4C 800CA04C 28410004 */ slti $at, $v0, 4
/* 0CAC50 800CA050 14200008 */ bnez $at, .L800CA074
/* 0CAC54 800CA054 2401000C */ li $at, 12
/* 0CAC58 800CA058 10410003 */ beq $v0, $at, .L800CA068
/* 0CAC5C 800CA05C 24010004 */ li $at, 4
/* 0CAC60 800CA060 54410004 */ bnel $v0, $at, .L800CA074
/* 0CAC64 800CA064 24020004 */ li $v0, 4
.L800CA068:
/* 0CAC68 800CA068 10000002 */ b .L800CA074
/* 0CAC6C 800CA06C 24020005 */ li $v0, 5
/* 0CAC70 800CA070 24020004 */ li $v0, 4
.L800CA074:
/* 0CAC74 800CA074 93CE0033 */ lbu $t6, 0x33($fp)
/* 0CAC78 800CA078 3C01F000 */ lui $at, 0xf000
/* 0CAC7C 800CA07C 000E7A00 */ sll $t7, $t6, 8
/* 0CAC80 800CA080 01E1C025 */ or $t8, $t7, $at
/* 0CAC84 800CA084 0C030D12 */ jal func_800C3448
/* 0CAC88 800CA088 03022025 */ or $a0, $t8, $v0
/* 0CAC8C 800CA08C 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CAC90 800CA090 03C0E825 */ move $sp, $fp
/* 0CAC94 800CA094 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CAC98 800CA098 03E00008 */ jr $ra
/* 0CAC9C 800CA09C 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800CA0A0
/* 0CACA0 800CA0A0 27BDFFF8 */ addiu $sp, $sp, -8
/* 0CACA4 800CA0A4 240E0001 */ li $t6, 1
/* 0CACA8 800CA0A8 3C01800F */ lui $at, %hi(D_800EA108) # $at, 0x800f
/* 0CACAC 800CA0AC A02EA108 */ sb $t6, %lo(D_800EA108)($at)
/* 0CACB0 800CA0B0 03E00008 */ jr $ra
/* 0CACB4 800CA0B4 27BD0008 */ addiu $sp, $sp, 8
glabel func_800CA0B8
/* 0CACB8 800CA0B8 27BDFFF8 */ addiu $sp, $sp, -8
/* 0CACBC 800CA0BC 3C01800F */ lui $at, %hi(D_800EA108) # $at, 0x800f
/* 0CACC0 800CA0C0 A020A108 */ sb $zero, %lo(D_800EA108)($at)
/* 0CACC4 800CA0C4 03E00008 */ jr $ra
/* 0CACC8 800CA0C8 27BD0008 */ addiu $sp, $sp, 8
glabel func_800CA0CC
/* 0CACCC 800CA0CC 27BDFFF8 */ addiu $sp, $sp, -8
/* 0CACD0 800CA0D0 240E0001 */ li $t6, 1
/* 0CACD4 800CA0D4 3C01800F */ lui $at, %hi(D_800EA108) # $at, 0x800f
/* 0CACD8 800CA0D8 A02EA108 */ sb $t6, %lo(D_800EA108)($at)
/* 0CACDC 800CA0DC 03E00008 */ jr $ra
/* 0CACE0 800CA0E0 27BD0008 */ addiu $sp, $sp, 8
glabel func_800CA0E4
/* 0CACE4 800CA0E4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0CACE8 800CA0E8 AFBF002C */ sw $ra, 0x2c($sp)
/* 0CACEC 800CA0EC AFBE0028 */ sw $fp, 0x28($sp)
/* 0CACF0 800CA0F0 03A0F025 */ move $fp, $sp
/* 0CACF4 800CA0F4 0C03149E */ jal func_800C5278
/* 0CACF8 800CA0F8 24040003 */ li $a0, 3
/* 0CACFC 800CA0FC 0C03149E */ jal func_800C5278
/* 0CAD00 800CA100 24040005 */ li $a0, 5
/* 0CAD04 800CA104 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CAD08 800CA108 03C0E825 */ move $sp, $fp
/* 0CAD0C 800CA10C 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CAD10 800CA110 03E00008 */ jr $ra
/* 0CAD14 800CA114 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800CA118
/* 0CAD18 800CA118 3C05800F */ lui $a1, %hi(D_800EA0EC) # $a1, 0x800f
/* 0CAD1C 800CA11C 24A5A0EC */ addiu $a1, %lo(D_800EA0EC) # addiu $a1, $a1, -0x5f14
/* 0CAD20 800CA120 308E00FF */ andi $t6, $a0, 0xff
/* 0CAD24 800CA124 24060001 */ li $a2, 1
/* 0CAD28 800CA128 00AE7821 */ addu $t7, $a1, $t6
/* 0CAD2C 800CA12C A1E60000 */ sb $a2, ($t7)
/* 0CAD30 800CA130 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f
/* 0CAD34 800CA134 9042A1C0 */ lbu $v0, %lo(D_800EA1C0)($v0)
/* 0CAD38 800CA138 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0CAD3C 800CA13C 000EC080 */ sll $t8, $t6, 2
/* 0CAD40 800CA140 3C01800F */ lui $at, %hi(D_800E9EA4)
/* 0CAD44 800CA144 AFBE0028 */ sw $fp, 0x28($sp)
/* 0CAD48 800CA148 24030001 */ li $v1, 1
/* 0CAD4C 800CA14C 00380821 */ addu $at, $at, $t8
/* 0CAD50 800CA150 03A0F025 */ move $fp, $sp
/* 0CAD54 800CA154 AFBF002C */ sw $ra, 0x2c($sp)
/* 0CAD58 800CA158 AFA40030 */ sw $a0, 0x30($sp)
/* 0CAD5C 800CA15C 10400009 */ beqz $v0, .L800CA184
/* 0CAD60 800CA160 AC239EA4 */ sw $v1, %lo(D_800E9EA4)($at)
/* 0CAD64 800CA164 1043000C */ beq $v0, $v1, .L800CA198
/* 0CAD68 800CA168 24010002 */ li $at, 2
/* 0CAD6C 800CA16C 10410015 */ beq $v0, $at, .L800CA1C4
/* 0CAD70 800CA170 24010003 */ li $at, 3
/* 0CAD74 800CA174 50410022 */ beql $v0, $at, .L800CA200
/* 0CAD78 800CA178 90AC0000 */ lbu $t4, ($a1)
/* 0CAD7C 800CA17C 1000002F */ b .L800CA23C
/* 0CAD80 800CA180 8FDF002C */ lw $ra, 0x2c($fp)
.L800CA184:
/* 0CAD84 800CA184 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
/* 0CAD88 800CA188 0C032839 */ jal func_800CA0E4
/* 0CAD8C 800CA18C A026A0F0 */ sb $a2, %lo(D_800EA0F0)($at)
/* 0CAD90 800CA190 1000002A */ b .L800CA23C
/* 0CAD94 800CA194 8FDF002C */ lw $ra, 0x2c($fp)
.L800CA198:
/* 0CAD98 800CA198 90B90000 */ lbu $t9, ($a1)
/* 0CAD9C 800CA19C 54790027 */ bnel $v1, $t9, .L800CA23C
/* 0CADA0 800CA1A0 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CADA4 800CA1A4 90A80001 */ lbu $t0, 1($a1)
/* 0CADA8 800CA1A8 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
/* 0CADAC 800CA1AC 54680023 */ bnel $v1, $t0, .L800CA23C
/* 0CADB0 800CA1B0 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CADB4 800CA1B4 0C032839 */ jal func_800CA0E4
/* 0CADB8 800CA1B8 A026A0F0 */ sb $a2, %lo(D_800EA0F0)($at)
/* 0CADBC 800CA1BC 1000001F */ b .L800CA23C
/* 0CADC0 800CA1C0 8FDF002C */ lw $ra, 0x2c($fp)
.L800CA1C4:
/* 0CADC4 800CA1C4 90A90000 */ lbu $t1, ($a1)
/* 0CADC8 800CA1C8 5469001C */ bnel $v1, $t1, .L800CA23C
/* 0CADCC 800CA1CC 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CADD0 800CA1D0 90AA0001 */ lbu $t2, 1($a1)
/* 0CADD4 800CA1D4 546A0019 */ bnel $v1, $t2, .L800CA23C
/* 0CADD8 800CA1D8 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CADDC 800CA1DC 90AB0002 */ lbu $t3, 2($a1)
/* 0CADE0 800CA1E0 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
/* 0CADE4 800CA1E4 546B0015 */ bnel $v1, $t3, .L800CA23C
/* 0CADE8 800CA1E8 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CADEC 800CA1EC 0C032839 */ jal func_800CA0E4
/* 0CADF0 800CA1F0 A026A0F0 */ sb $a2, %lo(D_800EA0F0)($at)
/* 0CADF4 800CA1F4 10000011 */ b .L800CA23C
/* 0CADF8 800CA1F8 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CADFC 800CA1FC 90AC0000 */ lbu $t4, ($a1)
.L800CA200:
/* 0CAE00 800CA200 546C000E */ bnel $v1, $t4, .L800CA23C
/* 0CAE04 800CA204 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CAE08 800CA208 90AD0001 */ lbu $t5, 1($a1)
/* 0CAE0C 800CA20C 546D000B */ bnel $v1, $t5, .L800CA23C
/* 0CAE10 800CA210 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CAE14 800CA214 90AE0002 */ lbu $t6, 2($a1)
/* 0CAE18 800CA218 546E0008 */ bnel $v1, $t6, .L800CA23C
/* 0CAE1C 800CA21C 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CAE20 800CA220 90AF0003 */ lbu $t7, 3($a1)
/* 0CAE24 800CA224 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
/* 0CAE28 800CA228 546F0004 */ bnel $v1, $t7, .L800CA23C
/* 0CAE2C 800CA22C 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CAE30 800CA230 0C032839 */ jal func_800CA0E4
/* 0CAE34 800CA234 A026A0F0 */ sb $a2, %lo(D_800EA0F0)($at)
/* 0CAE38 800CA238 8FDF002C */ lw $ra, 0x2c($fp)
.L800CA23C:
/* 0CAE3C 800CA23C 03C0E825 */ move $sp, $fp
/* 0CAE40 800CA240 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CAE44 800CA244 03E00008 */ jr $ra
/* 0CAE48 800CA248 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800CA24C
/* 0CAE4C 800CA24C 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 0CAE50 800CA250 308E00FF */ andi $t6, $a0, 0xff
/* 0CAE54 800CA254 3C01800F */ lui $at, %hi(D_800EA0EC)
/* 0CAE58 800CA258 AFA40010 */ sw $a0, 0x10($sp)
/* 0CAE5C 800CA25C 002E0821 */ addu $at, $at, $t6
/* 0CAE60 800CA260 240F0002 */ li $t7, 2
/* 0CAE64 800CA264 A02FA0EC */ sb $t7, %lo(D_800EA0EC)($at)
/* 0CAE68 800CA268 03E00008 */ jr $ra
/* 0CAE6C 800CA26C 27BD0010 */ addiu $sp, $sp, 0x10
glabel func_800CA270
/* 0CAE70 800CA270 27BDFFF8 */ addiu $sp, $sp, -8
/* 0CAE74 800CA274 240E0001 */ li $t6, 1
/* 0CAE78 800CA278 3C01800F */ lui $at, %hi(D_800EA0F4) # $at, 0x800f
/* 0CAE7C 800CA27C A02EA0F4 */ sb $t6, %lo(D_800EA0F4)($at)
/* 0CAE80 800CA280 03E00008 */ jr $ra
/* 0CAE84 800CA284 27BD0008 */ addiu $sp, $sp, 8
glabel func_800CA288
/* 0CAE88 800CA288 308E00FF */ andi $t6, $a0, 0xff
/* 0CAE8C 800CA28C 000EC900 */ sll $t9, $t6, 4
/* 0CAE90 800CA290 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 0CAE94 800CA294 032EC823 */ subu $t9, $t9, $t6
/* 0CAE98 800CA298 0019C880 */ sll $t9, $t9, 2
/* 0CAE9C 800CA29C 3C01800F */ lui $at, %hi(D_800E9F90)
/* 0CAEA0 800CA2A0 AFA40010 */ sw $a0, 0x10($sp)
/* 0CAEA4 800CA2A4 AFA50014 */ sw $a1, 0x14($sp)
/* 0CAEA8 800CA2A8 00390821 */ addu $at, $at, $t9
/* 0CAEAC 800CA2AC A0259F90 */ sb $a1, %lo(D_800E9F90)($at)
/* 0CAEB0 800CA2B0 03E00008 */ jr $ra
/* 0CAEB4 800CA2B4 27BD0010 */ addiu $sp, $sp, 0x10
glabel func_800CA2B8
/* 0CAEB8 800CA2B8 308E00FF */ andi $t6, $a0, 0xff
/* 0CAEBC 800CA2BC 000E7900 */ sll $t7, $t6, 4
/* 0CAEC0 800CA2C0 01EE7823 */ subu $t7, $t7, $t6
/* 0CAEC4 800CA2C4 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 0CAEC8 800CA2C8 000F7880 */ sll $t7, $t7, 2
/* 0CAECC 800CA2CC 3C01800F */ lui $at, %hi(D_800E9F90)
/* 0CAED0 800CA2D0 AFA40010 */ sw $a0, 0x10($sp)
/* 0CAED4 800CA2D4 002F0821 */ addu $at, $at, $t7
/* 0CAED8 800CA2D8 A0209F90 */ sb $zero, %lo(D_800E9F90)($at)
/* 0CAEDC 800CA2DC 03E00008 */ jr $ra
/* 0CAEE0 800CA2E0 27BD0010 */ addiu $sp, $sp, 0x10
glabel func_800CA2E4
/* 0CAEE4 800CA2E4 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 0CAEE8 800CA2E8 308E00FF */ andi $t6, $a0, 0xff
/* 0CAEEC 800CA2EC 000EC900 */ sll $t9, $t6, 4
/* 0CAEF0 800CA2F0 3C01800F */ lui $at, %hi(D_800EA06C + 0xc)
/* 0CAEF4 800CA2F4 AFA40010 */ sw $a0, 0x10($sp)
/* 0CAEF8 800CA2F8 AFA50014 */ sw $a1, 0x14($sp)
/* 0CAEFC 800CA2FC 00390821 */ addu $at, $at, $t9
/* 0CAF00 800CA300 A025A078 */ sb $a1, %lo(D_800EA06C + 0xc)($at)
/* 0CAF04 800CA304 03E00008 */ jr $ra
/* 0CAF08 800CA308 27BD0010 */ addiu $sp, $sp, 0x10
glabel func_800CA30C
/* 0CAF0C 800CA30C 308E00FF */ andi $t6, $a0, 0xff
/* 0CAF10 800CA310 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 0CAF14 800CA314 000E7900 */ sll $t7, $t6, 4
/* 0CAF18 800CA318 3C01800F */ lui $at, %hi(D_800EA06C + 0xc)
/* 0CAF1C 800CA31C AFA40010 */ sw $a0, 0x10($sp)
/* 0CAF20 800CA320 002F0821 */ addu $at, $at, $t7
/* 0CAF24 800CA324 A020A078 */ sb $zero, %lo(D_800EA06C + 0xc)($at)
/* 0CAF28 800CA328 03E00008 */ jr $ra
/* 0CAF2C 800CA32C 27BD0010 */ addiu $sp, $sp, 0x10
glabel func_800CA330
/* 0CAF30 800CA330 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0CAF34 800CA334 308500FF */ andi $a1, $a0, 0xff
/* 0CAF38 800CA338 3C011000 */ lui $at, (0x100000FF >> 16) # lui $at, 0x1000
/* 0CAF3C 800CA33C AFBF002C */ sw $ra, 0x2c($sp)
/* 0CAF40 800CA340 AFBE0028 */ sw $fp, 0x28($sp)
/* 0CAF44 800CA344 AFA40038 */ sw $a0, 0x38($sp)
/* 0CAF48 800CA348 342100FF */ ori $at, (0x100000FF & 0xFFFF) # ori $at, $at, 0xff
/* 0CAF4C 800CA34C 00051400 */ sll $v0, $a1, 0x10
/* 0CAF50 800CA350 03A0F025 */ move $fp, $sp
/* 0CAF54 800CA354 00412025 */ or $a0, $v0, $at
/* 0CAF58 800CA358 0C030D12 */ jal func_800C3448
/* 0CAF5C 800CA35C AFA20034 */ sw $v0, 0x34($sp)
/* 0CAF60 800CA360 8FC20034 */ lw $v0, 0x34($fp)
/* 0CAF64 800CA364 3C011100 */ lui $at, (0x110000FF >> 16) # lui $at, 0x1100
/* 0CAF68 800CA368 342100FF */ ori $at, (0x110000FF & 0xFFFF) # ori $at, $at, 0xff
/* 0CAF6C 800CA36C 0C030D12 */ jal func_800C3448
/* 0CAF70 800CA370 00412025 */ or $a0, $v0, $at
/* 0CAF74 800CA374 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CAF78 800CA378 03C0E825 */ move $sp, $fp
/* 0CAF7C 800CA37C 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CAF80 800CA380 03E00008 */ jr $ra
/* 0CAF84 800CA384 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800CA388
/* 0CAF88 800CA388 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0CAF8C 800CA38C AFB00024 */ sw $s0, 0x24($sp)
/* 0CAF90 800CA390 00808025 */ move $s0, $a0
/* 0CAF94 800CA394 00107040 */ sll $t6, $s0, 1
/* 0CAF98 800CA398 AFBF002C */ sw $ra, 0x2c($sp)
/* 0CAF9C 800CA39C AFBE0028 */ sw $fp, 0x28($sp)
/* 0CAFA0 800CA3A0 AFA40030 */ sw $a0, 0x30($sp)
/* 0CAFA4 800CA3A4 31D000FF */ andi $s0, $t6, 0xff
/* 0CAFA8 800CA3A8 03A0F025 */ move $fp, $sp
/* 0CAFAC 800CA3AC 3206FFFF */ andi $a2, $s0, 0xffff
/* 0CAFB0 800CA3B0 00002025 */ move $a0, $zero
/* 0CAFB4 800CA3B4 0C03162E */ jal func_800C58B8
/* 0CAFB8 800CA3B8 00002825 */ move $a1, $zero
/* 0CAFBC 800CA3BC 24040001 */ li $a0, 1
/* 0CAFC0 800CA3C0 00002825 */ move $a1, $zero
/* 0CAFC4 800CA3C4 0C03162E */ jal func_800C58B8
/* 0CAFC8 800CA3C8 3206FFFF */ andi $a2, $s0, 0xffff
/* 0CAFCC 800CA3CC 24040002 */ li $a0, 2
/* 0CAFD0 800CA3D0 00002825 */ move $a1, $zero
/* 0CAFD4 800CA3D4 0C03162E */ jal func_800C58B8
/* 0CAFD8 800CA3D8 3206FFFF */ andi $a2, $s0, 0xffff
/* 0CAFDC 800CA3DC 24040003 */ li $a0, 3
/* 0CAFE0 800CA3E0 00002825 */ move $a1, $zero
/* 0CAFE4 800CA3E4 0C03162E */ jal func_800C58B8
/* 0CAFE8 800CA3E8 3206FFFF */ andi $a2, $s0, 0xffff
/* 0CAFEC 800CA3EC 24040005 */ li $a0, 5
/* 0CAFF0 800CA3F0 00002825 */ move $a1, $zero
/* 0CAFF4 800CA3F4 0C03162E */ jal func_800C58B8
/* 0CAFF8 800CA3F8 3206FFFF */ andi $a2, $s0, 0xffff
/* 0CAFFC 800CA3FC 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CB000 800CA400 03C0E825 */ move $sp, $fp
/* 0CB004 800CA404 8FD00024 */ lw $s0, 0x24($fp)
/* 0CB008 800CA408 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CB00C 800CA40C 03E00008 */ jr $ra
/* 0CB010 800CA410 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800CA414
/* 0CB014 800CA414 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0CB018 800CA418 3C0E800F */ lui $t6, %hi(D_800EA104) # $t6, 0x800f
/* 0CB01C 800CA41C 91CEA104 */ lbu $t6, %lo(D_800EA104)($t6)
/* 0CB020 800CA420 AFBE0028 */ sw $fp, 0x28($sp)
/* 0CB024 800CA424 03A0F025 */ move $fp, $sp
/* 0CB028 800CA428 AFBF002C */ sw $ra, 0x2c($sp)
/* 0CB02C 800CA42C AFA40030 */ sw $a0, 0x30($sp)
/* 0CB030 800CA430 15C00012 */ bnez $t6, .L800CA47C
/* 0CB034 800CA434 AFA50034 */ sw $a1, 0x34($sp)
/* 0CB038 800CA438 0C030D42 */ jal func_800C3508
/* 0CB03C 800CA43C 00002025 */ move $a0, $zero
/* 0CB040 800CA440 3C013000 */ lui $at, 0x3000
/* 0CB044 800CA444 0C030D12 */ jal func_800C3448
/* 0CB048 800CA448 00412025 */ or $a0, $v0, $at
/* 0CB04C 800CA44C 0C030D7A */ jal func_800C35E8
/* 0CB050 800CA450 00002025 */ move $a0, $zero
/* 0CB054 800CA454 97C40036 */ lhu $a0, 0x36($fp)
/* 0CB058 800CA458 3C01C151 */ lui $at, 0xc151
/* 0CB05C 800CA45C 00817825 */ or $t7, $a0, $at
/* 0CB060 800CA460 0C030D12 */ jal func_800C3448
/* 0CB064 800CA464 01E02025 */ move $a0, $t7
/* 0CB068 800CA468 97C40032 */ lhu $a0, 0x32($fp)
/* 0CB06C 800CA46C 3C010100 */ lui $at, 0x100
/* 0CB070 800CA470 0081C025 */ or $t8, $a0, $at
/* 0CB074 800CA474 0C030D12 */ jal func_800C3448
/* 0CB078 800CA478 03002025 */ move $a0, $t8
.L800CA47C:
/* 0CB07C 800CA47C 24190001 */ li $t9, 1
/* 0CB080 800CA480 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
/* 0CB084 800CA484 A039A104 */ sb $t9, %lo(D_800EA104)($at)
/* 0CB088 800CA488 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CB08C 800CA48C 03C0E825 */ move $sp, $fp
/* 0CB090 800CA490 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CB094 800CA494 03E00008 */ jr $ra
/* 0CB098 800CA498 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800CA49C
/* 0CB09C 800CA49C 3C0F800F */ lui $t7, %hi(D_800EA108) # $t7, 0x800f
/* 0CB0A0 800CA4A0 91EFA108 */ lbu $t7, %lo(D_800EA108)($t7)
/* 0CB0A4 800CA4A4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0CB0A8 800CA4A8 AFBE0028 */ sw $fp, 0x28($sp)
/* 0CB0AC 800CA4AC AFA40030 */ sw $a0, 0x30($sp)
/* 0CB0B0 800CA4B0 308E00FF */ andi $t6, $a0, 0xff
/* 0CB0B4 800CA4B4 01C02025 */ move $a0, $t6
/* 0CB0B8 800CA4B8 03A0F025 */ move $fp, $sp
/* 0CB0BC 800CA4BC 15E00032 */ bnez $t7, .L800CA588
/* 0CB0C0 800CA4C0 AFBF002C */ sw $ra, 0x2c($sp)
/* 0CB0C4 800CA4C4 3C18800F */ lui $t8, %hi(D_800EA1C0) # $t8, 0x800f
/* 0CB0C8 800CA4C8 9318A1C0 */ lbu $t8, %lo(D_800EA1C0)($t8)
/* 0CB0CC 800CA4CC 3C051900 */ lui $a1, (0x1900FF3A >> 16) # lui $a1, 0x1900
/* 0CB0D0 800CA4D0 3C19800F */ lui $t9, %hi(D_800EA164) # $t9, 0x800f
/* 0CB0D4 800CA4D4 2B010002 */ slti $at, $t8, 2
/* 0CB0D8 800CA4D8 14200005 */ bnez $at, .L800CA4F0
/* 0CB0DC 800CA4DC 00000000 */ nop
/* 0CB0E0 800CA4E0 0C032418 */ jal func_800C9060
/* 0CB0E4 800CA4E4 34A5FF3A */ ori $a1, (0x1900FF3A & 0xFFFF) # ori $a1, $a1, 0xff3a
/* 0CB0E8 800CA4E8 10000022 */ b .L800CA574
/* 0CB0EC 800CA4EC 00000000 */ nop
.L800CA4F0:
/* 0CB0F0 800CA4F0 9339A164 */ lbu $t9, %lo(D_800EA164)($t9)
/* 0CB0F4 800CA4F4 3C041001 */ lui $a0, 0x1001
/* 0CB0F8 800CA4F8 1320000E */ beqz $t9, .L800CA534
/* 0CB0FC 800CA4FC 00000000 */ nop
/* 0CB100 800CA500 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
/* 0CB104 800CA504 0C030D12 */ jal func_800C3448
/* 0CB108 800CA508 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0CB10C 800CA50C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
/* 0CB110 800CA510 0C030D12 */ jal func_800C3448
/* 0CB114 800CA514 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0CB118 800CA518 0C0323BE */ jal func_800C8EF8
/* 0CB11C 800CA51C 2404000C */ li $a0, 12
/* 0CB120 800CA520 3C04C151 */ lui $a0, (0xC15100FF >> 16) # lui $a0, 0xc151
/* 0CB124 800CA524 0C030D12 */ jal func_800C3448
/* 0CB128 800CA528 34840011 */ ori $a0, (0xC1510011 & 0xFFFF) # ori $a0, $a0, 0x11
/* 0CB12C 800CA52C 10000011 */ b .L800CA574
/* 0CB130 800CA530 00000000 */ nop
.L800CA534:
/* 0CB134 800CA534 0C030D12 */ jal func_800C3448
/* 0CB138 800CA538 348400FF */ ori $a0, (0xC15100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0CB13C 800CA53C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
/* 0CB140 800CA540 0C030D12 */ jal func_800C3448
/* 0CB144 800CA544 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0CB148 800CA548 0C0323BE */ jal func_800C8EF8
/* 0CB14C 800CA54C 2404000C */ li $a0, 12
/* 0CB150 800CA550 3C04800F */ lui $a0, %hi(D_800EA15C) # $a0, 0x800f
/* 0CB154 800CA554 9484A15C */ lhu $a0, %lo(D_800EA15C)($a0)
/* 0CB158 800CA558 3C01C150 */ lui $at, 0xc150
/* 0CB15C 800CA55C 00814025 */ or $t0, $a0, $at
/* 0CB160 800CA560 0C030D12 */ jal func_800C3448
/* 0CB164 800CA564 01002025 */ move $a0, $t0
/* 0CB168 800CA568 3C04C130 */ lui $a0, (0xC130017D >> 16) # lui $a0, 0xc130
/* 0CB16C 800CA56C 0C030D12 */ jal func_800C3448
/* 0CB170 800CA570 3484017D */ ori $a0, (0xC130017D & 0xFFFF) # ori $a0, $a0, 0x17d
.L800CA574:
/* 0CB174 800CA574 3C028019 */ lui $v0, %hi(D_8018FC08) # $v0, 0x8019
/* 0CB178 800CA578 2442FC08 */ addiu $v0, %lo(D_8018FC08) # addiu $v0, $v0, -0x3f8
/* 0CB17C 800CA57C 90490000 */ lbu $t1, ($v0)
/* 0CB180 800CA580 252A0001 */ addiu $t2, $t1, 1
/* 0CB184 800CA584 A04A0000 */ sb $t2, ($v0)
.L800CA588:
/* 0CB188 800CA588 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CB18C 800CA58C 03C0E825 */ move $sp, $fp
/* 0CB190 800CA590 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CB194 800CA594 03E00008 */ jr $ra
/* 0CB198 800CA598 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800CA59C
/* 0CB19C 800CA59C 308600FF */ andi $a2, $a0, 0xff
/* 0CB1A0 800CA5A0 3C0E800F */ lui $t6, %hi(D_800EA0EC)
/* 0CB1A4 800CA5A4 01C67021 */ addu $t6, $t6, $a2
/* 0CB1A8 800CA5A8 91CEA0EC */ lbu $t6, %lo(D_800EA0EC)($t6)
/* 0CB1AC 800CA5AC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0CB1B0 800CA5B0 AFBE0030 */ sw $fp, 0x30($sp)
/* 0CB1B4 800CA5B4 03A0F025 */ move $fp, $sp
/* 0CB1B8 800CA5B8 AFBF0034 */ sw $ra, 0x34($sp)
/* 0CB1BC 800CA5BC 15C00057 */ bnez $t6, .L800CA71C
/* 0CB1C0 800CA5C0 AFA40038 */ sw $a0, 0x38($sp)
/* 0CB1C4 800CA5C4 3C0F800F */ lui $t7, %hi(D_800EA108) # $t7, 0x800f
/* 0CB1C8 800CA5C8 91EFA108 */ lbu $t7, %lo(D_800EA108)($t7)
/* 0CB1CC 800CA5CC 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0CB1D0 800CA5D0 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0CB1D4 800CA5D4 15E00051 */ bnez $t7, .L800CA71C
/* 0CB1D8 800CA5D8 0006C0C0 */ sll $t8, $a2, 3
/* 0CB1DC 800CA5DC 0306C023 */ subu $t8, $t8, $a2
/* 0CB1E0 800CA5E0 0018C100 */ sll $t8, $t8, 4
/* 0CB1E4 800CA5E4 0306C023 */ subu $t8, $t8, $a2
/* 0CB1E8 800CA5E8 0018C080 */ sll $t8, $t8, 2
/* 0CB1EC 800CA5EC 0306C023 */ subu $t8, $t8, $a2
/* 0CB1F0 800CA5F0 0018C0C0 */ sll $t8, $t8, 3
/* 0CB1F4 800CA5F4 3C04800F */ lui $a0, %hi(D_800F6BE4)
/* 0CB1F8 800CA5F8 00982021 */ addu $a0, $a0, $t8
/* 0CB1FC 800CA5FC 00064100 */ sll $t0, $a2, 4
/* 0CB200 800CA600 94846BE4 */ lhu $a0, %lo(D_800F6BE4)($a0)
/* 0CB204 800CA604 01064023 */ subu $t0, $t0, $a2
/* 0CB208 800CA608 3C09800F */ lui $t1, %hi(D_800E9F7C) # $t1, 0x800f
/* 0CB20C 800CA60C 25299F7C */ addiu $t1, %lo(D_800E9F7C) # addiu $t1, $t1, -0x6084
/* 0CB210 800CA610 00084080 */ sll $t0, $t0, 2
/* 0CB214 800CA614 01092821 */ addu $a1, $t0, $t1
/* 0CB218 800CA618 3C012900 */ lui $at, (0x29008001 >> 16) # lui $at, 0x2900
/* 0CB21C 800CA61C 34218001 */ ori $at, (0x29008001 & 0xFFFF) # ori $at, $at, 0x8001
/* 0CB220 800CA620 24AA0014 */ addiu $t2, $a1, 0x14
/* 0CB224 800CA624 0004C900 */ sll $t9, $a0, 4
/* 0CB228 800CA628 03212021 */ addu $a0, $t9, $at
/* 0CB22C 800CA62C AFAA0014 */ sw $t2, 0x14($sp)
/* 0CB230 800CA630 AFA70010 */ sw $a3, 0x10($sp)
/* 0CB234 800CA634 0C031052 */ jal play_sound
/* 0CB238 800CA638 A3A6003B */ sb $a2, 0x3b($sp)
/* 0CB23C 800CA63C 3C0C800F */ lui $t4, %hi(D_800EA1C0) # $t4, 0x800f
/* 0CB240 800CA640 918CA1C0 */ lbu $t4, %lo(D_800EA1C0)($t4)
/* 0CB244 800CA644 240B0001 */ li $t3, 1
/* 0CB248 800CA648 3C01800F */ lui $at, %hi(D_800EA164) # $at, 0x800f
/* 0CB24C 800CA64C A02BA164 */ sb $t3, %lo(D_800EA164)($at)
/* 0CB250 800CA650 29810002 */ slti $at, $t4, 2
/* 0CB254 800CA654 14200007 */ bnez $at, .L800CA674
/* 0CB258 800CA658 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
/* 0CB25C 800CA65C 3C050100 */ lui $a1, (0x0100FF2C >> 16) # lui $a1, 0x100
/* 0CB260 800CA660 34A5FF2C */ ori $a1, (0x0100FF2C & 0xFFFF) # ori $a1, $a1, 0xff2c
/* 0CB264 800CA664 0C0323E0 */ jal func_800C8F80
/* 0CB268 800CA668 93C4003B */ lbu $a0, 0x3b($fp)
/* 0CB26C 800CA66C 10000027 */ b .L800CA70C
/* 0CB270 800CA670 93D8003B */ lbu $t8, 0x3b($fp)
.L800CA674:
/* 0CB274 800CA674 0C030D12 */ jal func_800C3448
/* 0CB278 800CA678 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0CB27C 800CA67C 3C0D800F */ lui $t5, %hi(D_800EA104) # $t5, 0x800f
/* 0CB280 800CA680 91ADA104 */ lbu $t5, %lo(D_800EA104)($t5)
/* 0CB284 800CA684 3C050100 */ lui $a1, (0x0100FF2C >> 16) # lui $a1, 0x100
/* 0CB288 800CA688 34A5FF2C */ ori $a1, (0x0100FF2C & 0xFFFF) # ori $a1, $a1, 0xff2c
/* 0CB28C 800CA68C 11A00005 */ beqz $t5, .L800CA6A4
/* 0CB290 800CA690 3C0E8019 */ lui $t6, %hi(D_8018FC08) # $t6, 0x8019
/* 0CB294 800CA694 0C0323E0 */ jal func_800C8F80
/* 0CB298 800CA698 93C4003B */ lbu $a0, 0x3b($fp)
/* 0CB29C 800CA69C 1000001B */ b .L800CA70C
/* 0CB2A0 800CA6A0 93D8003B */ lbu $t8, 0x3b($fp)
.L800CA6A4:
/* 0CB2A4 800CA6A4 91CEFC08 */ lbu $t6, %lo(D_8018FC08)($t6)
/* 0CB2A8 800CA6A8 11C00015 */ beqz $t6, .L800CA700
/* 0CB2AC 800CA6AC 00000000 */ nop
/* 0CB2B0 800CA6B0 0C030D42 */ jal func_800C3508
/* 0CB2B4 800CA6B4 24040001 */ li $a0, 1
/* 0CB2B8 800CA6B8 2401000C */ li $at, 12
/* 0CB2BC 800CA6BC 10410005 */ beq $v0, $at, .L800CA6D4
/* 0CB2C0 800CA6C0 3C040101 */ lui $a0, (0x0101000C >> 16) # lui $a0, 0x101
/* 0CB2C4 800CA6C4 0C030D5F */ jal func_800C357C
/* 0CB2C8 800CA6C8 3484000C */ ori $a0, (0x0101000C & 0xFFFF) # ori $a0, $a0, 0xc
/* 0CB2CC 800CA6CC 14400008 */ bnez $v0, .L800CA6F0
/* 0CB2D0 800CA6D0 00000000 */ nop
.L800CA6D4:
/* 0CB2D4 800CA6D4 0C030D12 */ jal func_800C3448
/* 0CB2D8 800CA6D8 3C04C1F0 */ lui $a0, 0xc1f0
/* 0CB2DC 800CA6DC 3C04C151 */ lui $a0, (0xC1510011 >> 16) # lui $a0, 0xc151
/* 0CB2E0 800CA6E0 0C030D12 */ jal func_800C3448
/* 0CB2E4 800CA6E4 34840011 */ ori $a0, (0xC1510011 & 0xFFFF) # ori $a0, $a0, 0x11
/* 0CB2E8 800CA6E8 10000008 */ b .L800CA70C
/* 0CB2EC 800CA6EC 93D8003B */ lbu $t8, 0x3b($fp)
.L800CA6F0:
/* 0CB2F0 800CA6F0 0C0323BE */ jal func_800C8EF8
/* 0CB2F4 800CA6F4 24040011 */ li $a0, 17
/* 0CB2F8 800CA6F8 10000004 */ b .L800CA70C
/* 0CB2FC 800CA6FC 93D8003B */ lbu $t8, 0x3b($fp)
.L800CA700:
/* 0CB300 800CA700 0C0323BE */ jal func_800C8EF8
/* 0CB304 800CA704 24040011 */ li $a0, 17
/* 0CB308 800CA708 93D8003B */ lbu $t8, 0x3b($fp)
.L800CA70C:
/* 0CB30C 800CA70C 3C01800F */ lui $at, %hi(D_800EA10C)
/* 0CB310 800CA710 240F0001 */ li $t7, 1
/* 0CB314 800CA714 00380821 */ addu $at, $at, $t8
/* 0CB318 800CA718 A02FA10C */ sb $t7, %lo(D_800EA10C)($at)
.L800CA71C:
/* 0CB31C 800CA71C 8FDF0034 */ lw $ra, 0x34($fp)
/* 0CB320 800CA720 03C0E825 */ move $sp, $fp
/* 0CB324 800CA724 8FDE0030 */ lw $fp, 0x30($fp)
/* 0CB328 800CA728 03E00008 */ jr $ra
/* 0CB32C 800CA72C 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800CA730
/* 0CB330 800CA730 308600FF */ andi $a2, $a0, 0xff
/* 0CB334 800CA734 3C0E800F */ lui $t6, %hi(D_800EA0EC)
/* 0CB338 800CA738 01C67021 */ addu $t6, $t6, $a2
/* 0CB33C 800CA73C 91CEA0EC */ lbu $t6, %lo(D_800EA0EC)($t6)
/* 0CB340 800CA740 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 0CB344 800CA744 AFBE0030 */ sw $fp, 0x30($sp)
/* 0CB348 800CA748 03A0F025 */ move $fp, $sp
/* 0CB34C 800CA74C AFBF0034 */ sw $ra, 0x34($sp)
/* 0CB350 800CA750 15C00087 */ bnez $t6, .L800CA970
/* 0CB354 800CA754 AFA40040 */ sw $a0, 0x40($sp)
/* 0CB358 800CA758 3C0F800F */ lui $t7, %hi(D_800EA108) # $t7, 0x800f
/* 0CB35C 800CA75C 91EFA108 */ lbu $t7, %lo(D_800EA108)($t7)
/* 0CB360 800CA760 3C02800F */ lui $v0, %hi(D_800EA10C) # $v0, 0x800f
/* 0CB364 800CA764 2442A10C */ addiu $v0, %lo(D_800EA10C) # addiu $v0, $v0, -0x5ef4
/* 0CB368 800CA768 15E00081 */ bnez $t7, .L800CA970
/* 0CB36C 800CA76C 00461821 */ addu $v1, $v0, $a2
/* 0CB370 800CA770 90780000 */ lbu $t8, ($v1)
/* 0CB374 800CA774 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0CB378 800CA778 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0CB37C 800CA77C 1300007C */ beqz $t8, .L800CA970
/* 0CB380 800CA780 0006C8C0 */ sll $t9, $a2, 3
/* 0CB384 800CA784 0326C823 */ subu $t9, $t9, $a2
/* 0CB388 800CA788 0019C900 */ sll $t9, $t9, 4
/* 0CB38C 800CA78C 0326C823 */ subu $t9, $t9, $a2
/* 0CB390 800CA790 0019C880 */ sll $t9, $t9, 2
/* 0CB394 800CA794 0326C823 */ subu $t9, $t9, $a2
/* 0CB398 800CA798 0019C8C0 */ sll $t9, $t9, 3
/* 0CB39C 800CA79C 3C04800F */ lui $a0, %hi(D_800F6BE4)
/* 0CB3A0 800CA7A0 00992021 */ addu $a0, $a0, $t9
/* 0CB3A4 800CA7A4 00064900 */ sll $t1, $a2, 4
/* 0CB3A8 800CA7A8 94846BE4 */ lhu $a0, %lo(D_800F6BE4)($a0)
/* 0CB3AC 800CA7AC 01264823 */ subu $t1, $t1, $a2
/* 0CB3B0 800CA7B0 3C0A800F */ lui $t2, %hi(D_800E9F7C) # $t2, 0x800f
/* 0CB3B4 800CA7B4 254A9F7C */ addiu $t2, %lo(D_800E9F7C) # addiu $t2, $t2, -0x6084
/* 0CB3B8 800CA7B8 00094880 */ sll $t1, $t1, 2
/* 0CB3BC 800CA7BC 012A2821 */ addu $a1, $t1, $t2
/* 0CB3C0 800CA7C0 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900
/* 0CB3C4 800CA7C4 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008
/* 0CB3C8 800CA7C8 24AB0014 */ addiu $t3, $a1, 0x14
/* 0CB3CC 800CA7CC 00044100 */ sll $t0, $a0, 4
/* 0CB3D0 800CA7D0 01012021 */ addu $a0, $t0, $at
/* 0CB3D4 800CA7D4 AFAB0014 */ sw $t3, 0x14($sp)
/* 0CB3D8 800CA7D8 AFA70010 */ sw $a3, 0x10($sp)
/* 0CB3DC 800CA7DC AFA3003C */ sw $v1, 0x3c($sp)
/* 0CB3E0 800CA7E0 0C031052 */ jal play_sound
/* 0CB3E4 800CA7E4 A3A60043 */ sb $a2, 0x43($sp)
/* 0CB3E8 800CA7E8 8FCC003C */ lw $t4, 0x3c($fp)
/* 0CB3EC 800CA7EC 3C02800F */ lui $v0, %hi(D_800EA10C) # $v0, 0x800f
/* 0CB3F0 800CA7F0 2442A10C */ addiu $v0, %lo(D_800EA10C) # addiu $v0, $v0, -0x5ef4
/* 0CB3F4 800CA7F4 918D0000 */ lbu $t5, ($t4)
/* 0CB3F8 800CA7F8 93C60043 */ lbu $a2, 0x43($fp)
/* 0CB3FC 800CA7FC 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f
/* 0CB400 800CA800 51A0005A */ beql $t5, $zero, .L800CA96C
/* 0CB404 800CA804 8FCD003C */ lw $t5, 0x3c($fp)
/* 0CB408 800CA808 91CEA1C0 */ lbu $t6, %lo(D_800EA1C0)($t6)
/* 0CB40C 800CA80C 30C400FF */ andi $a0, $a2, 0xff
/* 0CB410 800CA810 3C050100 */ lui $a1, (0x0100FF2C >> 16) # lui $a1, 0x100
/* 0CB414 800CA814 29C10002 */ slti $at, $t6, 2
/* 0CB418 800CA818 54200006 */ bnel $at, $zero, .L800CA834
/* 0CB41C 800CA81C 8FCF003C */ lw $t7, 0x3c($fp)
/* 0CB420 800CA820 0C032406 */ jal func_800C9018
/* 0CB424 800CA824 34A5FF2C */ ori $a1, (0x0100FF2C & 0xFFFF) # ori $a1, $a1, 0xff2c
/* 0CB428 800CA828 10000050 */ b .L800CA96C
/* 0CB42C 800CA82C 8FCD003C */ lw $t5, 0x3c($fp)
/* 0CB430 800CA830 8FCF003C */ lw $t7, 0x3c($fp)
.L800CA834:
/* 0CB434 800CA834 3C18800F */ lui $t8, %hi(D_800EA104) # $t8, 0x800f
/* 0CB438 800CA838 30C400FF */ andi $a0, $a2, 0xff
/* 0CB43C 800CA83C A1E00000 */ sb $zero, ($t7)
/* 0CB440 800CA840 9318A104 */ lbu $t8, %lo(D_800EA104)($t8)
/* 0CB444 800CA844 3C050100 */ lui $a1, (0x0100FF2C >> 16) # lui $a1, 0x100
/* 0CB448 800CA848 53000006 */ beql $t8, $zero, .L800CA864
/* 0CB44C 800CA84C 90590000 */ lbu $t9, ($v0)
/* 0CB450 800CA850 0C032406 */ jal func_800C9018
/* 0CB454 800CA854 34A5FF2C */ ori $a1, (0x0100FF2C & 0xFFFF) # ori $a1, $a1, 0xff2c
/* 0CB458 800CA858 10000041 */ b .L800CA960
/* 0CB45C 800CA85C 00000000 */ nop
/* 0CB460 800CA860 90590000 */ lbu $t9, ($v0)
.L800CA864:
/* 0CB464 800CA864 1720003E */ bnez $t9, .L800CA960
/* 0CB468 800CA868 00000000 */ nop
/* 0CB46C 800CA86C 90480001 */ lbu $t0, 1($v0)
/* 0CB470 800CA870 3C098019 */ lui $t1, %hi(D_8018FC08) # $t1, 0x8019
/* 0CB474 800CA874 1500003A */ bnez $t0, .L800CA960
/* 0CB478 800CA878 00000000 */ nop
/* 0CB47C 800CA87C 9129FC08 */ lbu $t1, %lo(D_8018FC08)($t1)
/* 0CB480 800CA880 3C0A803B */ lui $t2, %hi(D_803B1658) # $t2, 0x803b
/* 0CB484 800CA884 3C041101 */ lui $a0, 0x1101
/* 0CB488 800CA888 11200030 */ beqz $t1, .L800CA94C
/* 0CB48C 800CA88C 00000000 */ nop
/* 0CB490 800CA890 8D4A1658 */ lw $t2, %lo(D_803B1658)($t2)
/* 0CB494 800CA894 24040001 */ li $a0, 1
/* 0CB498 800CA898 000A5FC2 */ srl $t3, $t2, 0x1f
/* 0CB49C 800CA89C 1560000B */ bnez $t3, .L800CA8CC
/* 0CB4A0 800CA8A0 00000000 */ nop
/* 0CB4A4 800CA8A4 0C030D82 */ jal func_800C3608
/* 0CB4A8 800CA8A8 24050005 */ li $a1, 5
/* 0CB4AC 800CA8AC 3C04800F */ lui $a0, %hi(D_800EA15C) # $a0, 0x800f
/* 0CB4B0 800CA8B0 0C0323AB */ jal func_800C8EAC
/* 0CB4B4 800CA8B4 9484A15C */ lhu $a0, %lo(D_800EA15C)($a0)
/* 0CB4B8 800CA8B8 3C04B001 */ lui $a0, (0xB001307D >> 16) # lui $a0, 0xb001
/* 0CB4BC 800CA8BC 0C030D12 */ jal func_800C3448
/* 0CB4C0 800CA8C0 3484307D */ ori $a0, (0xB001307D & 0xFFFF) # ori $a0, $a0, 0x307d
/* 0CB4C4 800CA8C4 10000026 */ b .L800CA960
/* 0CB4C8 800CA8C8 00000000 */ nop
.L800CA8CC:
/* 0CB4CC 800CA8CC 0C030D42 */ jal func_800C3508
/* 0CB4D0 800CA8D0 24040001 */ li $a0, 1
/* 0CB4D4 800CA8D4 2401000C */ li $at, 12
/* 0CB4D8 800CA8D8 10410005 */ beq $v0, $at, .L800CA8F0
/* 0CB4DC 800CA8DC 3C040101 */ lui $a0, (0x0101000C >> 16) # lui $a0, 0x101
/* 0CB4E0 800CA8E0 0C030D5F */ jal func_800C357C
/* 0CB4E4 800CA8E4 3484000C */ ori $a0, (0x0101000C & 0xFFFF) # ori $a0, $a0, 0xc
/* 0CB4E8 800CA8E8 1440000E */ bnez $v0, .L800CA924
/* 0CB4EC 800CA8EC 3C041101 */ lui $a0, 0x1101
.L800CA8F0:
/* 0CB4F0 800CA8F0 0C030D12 */ jal func_800C3448
/* 0CB4F4 800CA8F4 3C04C1F0 */ lui $a0, 0xc1f0
/* 0CB4F8 800CA8F8 3C04800F */ lui $a0, %hi(D_800EA15C) # $a0, 0x800f
/* 0CB4FC 800CA8FC 9484A15C */ lhu $a0, %lo(D_800EA15C)($a0)
/* 0CB500 800CA900 3C01C150 */ lui $at, 0xc150
/* 0CB504 800CA904 00816025 */ or $t4, $a0, $at
/* 0CB508 800CA908 0C030D12 */ jal func_800C3448
/* 0CB50C 800CA90C 01802025 */ move $a0, $t4
/* 0CB510 800CA910 3C04C130 */ lui $a0, (0xC13000FF >> 16) # lui $a0, 0xc130
/* 0CB514 800CA914 0C030D12 */ jal func_800C3448
/* 0CB518 800CA918 3484017D */ ori $a0, (0xC130017D & 0xFFFF) # ori $a0, $a0, 0x17d
/* 0CB51C 800CA91C 10000010 */ b .L800CA960
/* 0CB520 800CA920 00000000 */ nop
.L800CA924:
/* 0CB524 800CA924 0C030D12 */ jal func_800C3448
/* 0CB528 800CA928 348400FF */ ori $a0, (0xC13000FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0CB52C 800CA92C 3C04800F */ lui $a0, %hi(D_800EA15C) # $a0, 0x800f
/* 0CB530 800CA930 0C0323AB */ jal func_800C8EAC
/* 0CB534 800CA934 9484A15C */ lhu $a0, %lo(D_800EA15C)($a0)
/* 0CB538 800CA938 3C04B001 */ lui $a0, (0xB00100FF >> 16) # lui $a0, 0xb001
/* 0CB53C 800CA93C 0C030D12 */ jal func_800C3448
/* 0CB540 800CA940 3484307D */ ori $a0, (0xB001307D & 0xFFFF) # ori $a0, $a0, 0x307d
/* 0CB544 800CA944 10000006 */ b .L800CA960
/* 0CB548 800CA948 00000000 */ nop
.L800CA94C:
/* 0CB54C 800CA94C 0C030D12 */ jal func_800C3448
/* 0CB550 800CA950 348400FF */ ori $a0, (0xB00100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0CB554 800CA954 3C04800F */ lui $a0, %hi(D_800EA15C) # $a0, 0x800f
/* 0CB558 800CA958 0C0323AB */ jal func_800C8EAC
/* 0CB55C 800CA95C 9484A15C */ lhu $a0, %lo(D_800EA15C)($a0)
.L800CA960:
/* 0CB560 800CA960 3C01800F */ lui $at, %hi(D_800EA164) # $at, 0x800f
/* 0CB564 800CA964 A020A164 */ sb $zero, %lo(D_800EA164)($at)
/* 0CB568 800CA968 8FCD003C */ lw $t5, 0x3c($fp)
.L800CA96C:
/* 0CB56C 800CA96C A1A00000 */ sb $zero, ($t5)
.L800CA970:
/* 0CB570 800CA970 8FDF0034 */ lw $ra, 0x34($fp)
/* 0CB574 800CA974 03C0E825 */ move $sp, $fp
/* 0CB578 800CA978 8FDE0030 */ lw $fp, 0x30($fp)
/* 0CB57C 800CA97C 03E00008 */ jr $ra
/* 0CB580 800CA980 27BD0040 */ addiu $sp, $sp, 0x40
glabel func_800CA984
/* 0CB584 800CA984 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 0CB588 800CA988 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CB58C 800CA98C 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CB590 800CA990 AFBE0050 */ sw $fp, 0x50($sp)
/* 0CB594 800CA994 AFB50044 */ sw $s5, 0x44($sp)
/* 0CB598 800CA998 309500FF */ andi $s5, $a0, 0xff
/* 0CB59C 800CA99C 03A0F025 */ move $fp, $sp
/* 0CB5A0 800CA9A0 AFBF0054 */ sw $ra, 0x54($sp)
/* 0CB5A4 800CA9A4 AFB7004C */ sw $s7, 0x4c($sp)
/* 0CB5A8 800CA9A8 AFB60048 */ sw $s6, 0x48($sp)
/* 0CB5AC 800CA9AC AFB40040 */ sw $s4, 0x40($sp)
/* 0CB5B0 800CA9B0 AFB3003C */ sw $s3, 0x3c($sp)
/* 0CB5B4 800CA9B4 AFB20038 */ sw $s2, 0x38($sp)
/* 0CB5B8 800CA9B8 AFB10034 */ sw $s1, 0x34($sp)
/* 0CB5BC 800CA9BC AFB00030 */ sw $s0, 0x30($sp)
/* 0CB5C0 800CA9C0 15C00035 */ bnez $t6, .L800CAA98
/* 0CB5C4 800CA9C4 AFA40058 */ sw $a0, 0x58($sp)
/* 0CB5C8 800CA9C8 3C0F800F */ lui $t7, %hi(D_800EA0F0) # $t7, 0x800f
/* 0CB5CC 800CA9CC 91EFA0F0 */ lbu $t7, %lo(D_800EA0F0)($t7)
/* 0CB5D0 800CA9D0 3C18800F */ lui $t8, %hi(D_800EA1C0) # $t8, 0x800f
/* 0CB5D4 800CA9D4 55E00031 */ bnel $t7, $zero, .L800CAA9C
/* 0CB5D8 800CA9D8 8FDF0054 */ lw $ra, 0x54($fp)
/* 0CB5DC 800CA9DC 9318A1C0 */ lbu $t8, %lo(D_800EA1C0)($t8)
/* 0CB5E0 800CA9E0 001540C0 */ sll $t0, $s5, 3
/* 0CB5E4 800CA9E4 01154023 */ subu $t0, $t0, $s5
/* 0CB5E8 800CA9E8 27190001 */ addiu $t9, $t8, 1
/* 0CB5EC 800CA9EC 1B20002A */ blez $t9, .L800CAA98
/* 0CB5F0 800CA9F0 00008025 */ move $s0, $zero
/* 0CB5F4 800CA9F4 00084100 */ sll $t0, $t0, 4
/* 0CB5F8 800CA9F8 01154023 */ subu $t0, $t0, $s5
/* 0CB5FC 800CA9FC 00084080 */ sll $t0, $t0, 2
/* 0CB600 800CAA00 01154023 */ subu $t0, $t0, $s5
/* 0CB604 800CAA04 3C09800F */ lui $t1, %hi(D_800F6990) # $t1, 0x800f
/* 0CB608 800CAA08 25296990 */ addiu $t1, %lo(D_800F6990) # addiu $t1, $t1, 0x6990
/* 0CB60C 800CAA0C 000840C0 */ sll $t0, $t0, 3
/* 0CB610 800CAA10 01091021 */ addu $v0, $t0, $t1
/* 0CB614 800CAA14 3C14800F */ lui $s4, %hi(D_800EA1DC) # $s4, 0x800f
/* 0CB618 800CAA18 3C13800F */ lui $s3, %hi(D_800EA1C8) # $s3, 0x800f
/* 0CB61C 800CAA1C 3C12800F */ lui $s2, %hi(D_800EA1D4) # $s2, 0x800f
/* 0CB620 800CAA20 3C113102 */ lui $s1, (0x31029008 >> 16) # lui $s1, 0x3102
/* 0CB624 800CAA24 36319008 */ ori $s1, (0x31029008 & 0xFFFF) # ori $s1, $s1, 0x9008
/* 0CB628 800CAA28 2652A1D4 */ addiu $s2, %lo(D_800EA1D4) # addiu $s2, $s2, -0x5e2c
/* 0CB62C 800CAA2C 2673A1C8 */ addiu $s3, %lo(D_800EA1C8) # addiu $s3, $s3, -0x5e38
/* 0CB630 800CAA30 2694A1DC */ addiu $s4, %lo(D_800EA1DC) # addiu $s4, $s4, -0x5e24
/* 0CB634 800CAA34 24560014 */ addiu $s6, $v0, 0x14
/* 0CB638 800CAA38 24570098 */ addiu $s7, $v0, 0x98
.L800CAA3C:
/* 0CB63C 800CAA3C 32A400FF */ andi $a0, $s5, 0xff
/* 0CB640 800CAA40 02C02825 */ move $a1, $s6
/* 0CB644 800CAA44 02603025 */ move $a2, $s3
/* 0CB648 800CAA48 02E03825 */ move $a3, $s7
/* 0CB64C 800CAA4C AFB00010 */ sw $s0, 0x10($sp)
/* 0CB650 800CAA50 0C030722 */ jal func_800C1C88
/* 0CB654 800CAA54 AFB10014 */ sw $s1, 0x14($sp)
/* 0CB658 800CAA58 10400007 */ beqz $v0, .L800CAA78
/* 0CB65C 800CAA5C 02202025 */ move $a0, $s1
/* 0CB660 800CAA60 24450018 */ addiu $a1, $v0, 0x18
/* 0CB664 800CAA64 320600FF */ andi $a2, $s0, 0xff
/* 0CB668 800CAA68 02403825 */ move $a3, $s2
/* 0CB66C 800CAA6C AFB20010 */ sw $s2, 0x10($sp)
/* 0CB670 800CAA70 0C031052 */ jal play_sound
/* 0CB674 800CAA74 AFB40014 */ sw $s4, 0x14($sp)
.L800CAA78:
/* 0CB678 800CAA78 3C0B800F */ lui $t3, %hi(D_800EA1C0) # $t3, 0x800f
/* 0CB67C 800CAA7C 916BA1C0 */ lbu $t3, %lo(D_800EA1C0)($t3)
/* 0CB680 800CAA80 26100001 */ addiu $s0, $s0, 1
/* 0CB684 800CAA84 320A00FF */ andi $t2, $s0, 0xff
/* 0CB688 800CAA88 256C0001 */ addiu $t4, $t3, 1
/* 0CB68C 800CAA8C 014C082A */ slt $at, $t2, $t4
/* 0CB690 800CAA90 1420FFEA */ bnez $at, .L800CAA3C
/* 0CB694 800CAA94 01408025 */ move $s0, $t2
.L800CAA98:
/* 0CB698 800CAA98 8FDF0054 */ lw $ra, 0x54($fp)
.L800CAA9C:
/* 0CB69C 800CAA9C 03C0E825 */ move $sp, $fp
/* 0CB6A0 800CAAA0 8FD00030 */ lw $s0, 0x30($fp)
/* 0CB6A4 800CAAA4 8FD10034 */ lw $s1, 0x34($fp)
/* 0CB6A8 800CAAA8 8FD20038 */ lw $s2, 0x38($fp)
/* 0CB6AC 800CAAAC 8FD3003C */ lw $s3, 0x3c($fp)
/* 0CB6B0 800CAAB0 8FD40040 */ lw $s4, 0x40($fp)
/* 0CB6B4 800CAAB4 8FD50044 */ lw $s5, 0x44($fp)
/* 0CB6B8 800CAAB8 8FD60048 */ lw $s6, 0x48($fp)
/* 0CB6BC 800CAABC 8FD7004C */ lw $s7, 0x4c($fp)
/* 0CB6C0 800CAAC0 8FDE0050 */ lw $fp, 0x50($fp)
/* 0CB6C4 800CAAC4 03E00008 */ jr $ra
/* 0CB6C8 800CAAC8 27BD0058 */ addiu $sp, $sp, 0x58
glabel func_800CAACC
/* 0CB6CC 800CAACC 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CB6D0 800CAAD0 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CB6D4 800CAAD4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0CB6D8 800CAAD8 AFBE0028 */ sw $fp, 0x28($sp)
/* 0CB6DC 800CAADC 03A0F025 */ move $fp, $sp
/* 0CB6E0 800CAAE0 AFBF002C */ sw $ra, 0x2c($sp)
/* 0CB6E4 800CAAE4 AFA40030 */ sw $a0, 0x30($sp)
/* 0CB6E8 800CAAE8 15C00013 */ bnez $t6, .L800CAB38
/* 0CB6EC 800CAAEC 308600FF */ andi $a2, $a0, 0xff
/* 0CB6F0 800CAAF0 000678C0 */ sll $t7, $a2, 3
/* 0CB6F4 800CAAF4 01E67823 */ subu $t7, $t7, $a2
/* 0CB6F8 800CAAF8 000F7900 */ sll $t7, $t7, 4
/* 0CB6FC 800CAAFC 01E67823 */ subu $t7, $t7, $a2
/* 0CB700 800CAB00 000F7880 */ sll $t7, $t7, 2
/* 0CB704 800CAB04 01E67823 */ subu $t7, $t7, $a2
/* 0CB708 800CAB08 000F78C0 */ sll $t7, $t7, 3
/* 0CB70C 800CAB0C 3C19800F */ lui $t9, %hi(D_800F6990) # $t9, 0x800f
/* 0CB710 800CAB10 27396990 */ addiu $t9, %lo(D_800F6990) # addiu $t9, $t9, 0x6990
/* 0CB714 800CAB14 25F80014 */ addiu $t8, $t7, 0x14
/* 0CB718 800CAB18 3C053102 */ lui $a1, (0x31029008 >> 16) # lui $a1, 0x3102
/* 0CB71C 800CAB1C 34A59008 */ ori $a1, (0x31029008 & 0xFFFF) # ori $a1, $a1, 0x9008
/* 0CB720 800CAB20 0C03087A */ jal func_800C21E8
/* 0CB724 800CAB24 03192021 */ addu $a0, $t8, $t9
/* 0CB728 800CAB28 3C053102 */ lui $a1, (0x31029008 >> 16) # lui $a1, 0x3102
/* 0CB72C 800CAB2C 34A59008 */ ori $a1, (0x31029008 & 0xFFFF) # ori $a1, $a1, 0x9008
/* 0CB730 800CAB30 0C03155E */ jal func_800C5578
/* 0CB734 800CAB34 00402025 */ move $a0, $v0
.L800CAB38:
/* 0CB738 800CAB38 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CB73C 800CAB3C 03C0E825 */ move $sp, $fp
/* 0CB740 800CAB40 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CB744 800CAB44 03E00008 */ jr $ra
/* 0CB748 800CAB48 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800CAB4C
/* 0CB74C 800CAB4C 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CB750 800CAB50 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CB754 800CAB54 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0CB758 800CAB58 AFBE0030 */ sw $fp, 0x30($sp)
/* 0CB75C 800CAB5C 03A0F025 */ move $fp, $sp
/* 0CB760 800CAB60 AFBF0034 */ sw $ra, 0x34($sp)
/* 0CB764 800CAB64 15C00023 */ bnez $t6, .L800CABF4
/* 0CB768 800CAB68 AFA40038 */ sw $a0, 0x38($sp)
/* 0CB76C 800CAB6C 93AF003B */ lbu $t7, 0x3b($sp)
/* 0CB770 800CAB70 3C18800F */ lui $t8, %hi(D_800EA0EC) # $t8, 0x800f
/* 0CB774 800CAB74 2718A0EC */ addiu $t8, %lo(D_800EA0EC) # addiu $t8, $t8, -0x5f14
/* 0CB778 800CAB78 01F81821 */ addu $v1, $t7, $t8
/* 0CB77C 800CAB7C 90620000 */ lbu $v0, ($v1)
/* 0CB780 800CAB80 24010002 */ li $at, 2
/* 0CB784 800CAB84 00002025 */ move $a0, $zero
/* 0CB788 800CAB88 10400004 */ beqz $v0, .L800CAB9C
/* 0CB78C 800CAB8C 24050001 */ li $a1, 1
/* 0CB790 800CAB90 14410015 */ bne $v0, $at, .L800CABE8
/* 0CB794 800CAB94 24190001 */ li $t9, 1
/* 0CB798 800CAB98 A0790000 */ sb $t9, ($v1)
.L800CAB9C:
/* 0CB79C 800CAB9C 24060055 */ li $a2, 85
/* 0CB7A0 800CABA0 0C030DB1 */ jal func_800C36C4
/* 0CB7A4 800CABA4 24070005 */ li $a3, 5
/* 0CB7A8 800CABA8 3C051900 */ lui $a1, (0x1900F013 >> 16) # lui $a1, 0x1900
/* 0CB7AC 800CABAC 34A5F013 */ ori $a1, (0x1900F013 & 0xFFFF) # ori $a1, $a1, 0xf013
/* 0CB7B0 800CABB0 0C032418 */ jal func_800C9060
/* 0CB7B4 800CABB4 93C4003B */ lbu $a0, 0x3b($fp)
/* 0CB7B8 800CABB8 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0CB7BC 800CABBC 3C08800F */ lui $t0, %hi(D_800EA1DC) # $t0, 0x800f
/* 0CB7C0 800CABC0 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0CB7C4 800CABC4 2508A1DC */ addiu $t0, %lo(D_800EA1DC) # addiu $t0, $t0, -0x5e24
/* 0CB7C8 800CABC8 3C045101 */ lui $a0, (0x5101C00C >> 16) # lui $a0, 0x5101
/* 0CB7CC 800CABCC 3C05800F */ lui $a1, %hi(D_800EA1C8) # $a1, 0x800f
/* 0CB7D0 800CABD0 24A5A1C8 */ addiu $a1, %lo(D_800EA1C8) # addiu $a1, $a1, -0x5e38
/* 0CB7D4 800CABD4 3484C00C */ ori $a0, (0x5101C00C & 0xFFFF) # ori $a0, $a0, 0xc00c
/* 0CB7D8 800CABD8 AFA80014 */ sw $t0, 0x14($sp)
/* 0CB7DC 800CABDC AFA70010 */ sw $a3, 0x10($sp)
/* 0CB7E0 800CABE0 0C031052 */ jal play_sound
/* 0CB7E4 800CABE4 00003025 */ move $a2, $zero
.L800CABE8:
/* 0CB7E8 800CABE8 24090001 */ li $t1, 1
/* 0CB7EC 800CABEC 3C01800F */ lui $at, %hi(D_800EA168) # $at, 0x800f
/* 0CB7F0 800CABF0 A029A168 */ sb $t1, %lo(D_800EA168)($at)
.L800CABF4:
/* 0CB7F4 800CABF4 8FDF0034 */ lw $ra, 0x34($fp)
/* 0CB7F8 800CABF8 03C0E825 */ move $sp, $fp
/* 0CB7FC 800CABFC 8FDE0030 */ lw $fp, 0x30($fp)
/* 0CB800 800CAC00 03E00008 */ jr $ra
/* 0CB804 800CAC04 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800CAC08
/* 0CB808 800CAC08 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CB80C 800CAC0C 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CB810 800CAC10 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0CB814 800CAC14 AFBE0020 */ sw $fp, 0x20($sp)
/* 0CB818 800CAC18 03A0F025 */ move $fp, $sp
/* 0CB81C 800CAC1C 15C0000B */ bnez $t6, .L800CAC4C
/* 0CB820 800CAC20 AFBF0024 */ sw $ra, 0x24($sp)
/* 0CB824 800CAC24 00002025 */ move $a0, $zero
/* 0CB828 800CAC28 24050001 */ li $a1, 1
/* 0CB82C 800CAC2C 2406007F */ li $a2, 127
/* 0CB830 800CAC30 0C030DB1 */ jal func_800C36C4
/* 0CB834 800CAC34 24070019 */ li $a3, 25
/* 0CB838 800CAC38 3C045101 */ lui $a0, (0x5101C00C >> 16) # lui $a0, 0x5101
/* 0CB83C 800CAC3C 0C0315BC */ jal func_800C56F0
/* 0CB840 800CAC40 3484C00C */ ori $a0, (0x5101C00C & 0xFFFF) # ori $a0, $a0, 0xc00c
/* 0CB844 800CAC44 3C01800F */ lui $at, %hi(D_800EA168) # $at, 0x800f
/* 0CB848 800CAC48 A020A168 */ sb $zero, %lo(D_800EA168)($at)
.L800CAC4C:
/* 0CB84C 800CAC4C 8FDF0024 */ lw $ra, 0x24($fp)
/* 0CB850 800CAC50 03C0E825 */ move $sp, $fp
/* 0CB854 800CAC54 8FDE0020 */ lw $fp, 0x20($fp)
/* 0CB858 800CAC58 03E00008 */ jr $ra
/* 0CB85C 800CAC5C 27BD0028 */ addiu $sp, $sp, 0x28
glabel func_800CAC60
/* 0CB860 800CAC60 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CB864 800CAC64 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CB868 800CAC68 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0CB86C 800CAC6C AFBE0030 */ sw $fp, 0x30($sp)
/* 0CB870 800CAC70 03A0F025 */ move $fp, $sp
/* 0CB874 800CAC74 AFBF0034 */ sw $ra, 0x34($sp)
/* 0CB878 800CAC78 15C0002C */ bnez $t6, .L800CAD2C
/* 0CB87C 800CAC7C AFA40038 */ sw $a0, 0x38($sp)
/* 0CB880 800CAC80 3C0F800F */ lui $t7, %hi(D_800EA0F0) # $t7, 0x800f
/* 0CB884 800CAC84 91EFA0F0 */ lbu $t7, %lo(D_800EA0F0)($t7)
/* 0CB888 800CAC88 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0CB88C 800CAC8C 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0CB890 800CAC90 15E00026 */ bnez $t7, .L800CAD2C
/* 0CB894 800CAC94 3C041900 */ lui $a0, (0x1900F00C >> 16) # lui $a0, 0x1900
/* 0CB898 800CAC98 3C18800F */ lui $t8, %hi(D_800EA1DC) # $t8, 0x800f
/* 0CB89C 800CAC9C 2718A1DC */ addiu $t8, %lo(D_800EA1DC) # addiu $t8, $t8, -0x5e24
/* 0CB8A0 800CACA0 3C05800F */ lui $a1, %hi(D_800EA1C8) # $a1, 0x800f
/* 0CB8A4 800CACA4 24A5A1C8 */ addiu $a1, %lo(D_800EA1C8) # addiu $a1, $a1, -0x5e38
/* 0CB8A8 800CACA8 AFB80014 */ sw $t8, 0x14($sp)
/* 0CB8AC 800CACAC 3484F00C */ ori $a0, (0x1900F00C & 0xFFFF) # ori $a0, $a0, 0xf00c
/* 0CB8B0 800CACB0 00003025 */ move $a2, $zero
/* 0CB8B4 800CACB4 0C031052 */ jal play_sound
/* 0CB8B8 800CACB8 AFA70010 */ sw $a3, 0x10($sp)
/* 0CB8BC 800CACBC 3C03800F */ lui $v1, %hi(D_800EA10C) # $v1, 0x800f
/* 0CB8C0 800CACC0 2463A10C */ addiu $v1, %lo(D_800EA10C) # addiu $v1, $v1, -0x5ef4
/* 0CB8C4 800CACC4 90790000 */ lbu $t9, ($v1)
/* 0CB8C8 800CACC8 24020001 */ li $v0, 1
/* 0CB8CC 800CACCC 50590018 */ beql $v0, $t9, .L800CAD30
/* 0CB8D0 800CACD0 8FDF0034 */ lw $ra, 0x34($fp)
/* 0CB8D4 800CACD4 90680001 */ lbu $t0, 1($v1)
/* 0CB8D8 800CACD8 00002025 */ move $a0, $zero
/* 0CB8DC 800CACDC 24050001 */ li $a1, 1
/* 0CB8E0 800CACE0 10480012 */ beq $v0, $t0, .L800CAD2C
/* 0CB8E4 800CACE4 24060037 */ li $a2, 55
/* 0CB8E8 800CACE8 0C030DB1 */ jal func_800C36C4
/* 0CB8EC 800CACEC 24070005 */ li $a3, 5
/* 0CB8F0 800CACF0 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0CB8F4 800CACF4 3C09800F */ lui $t1, %hi(D_800EA1DC) # $t1, 0x800f
/* 0CB8F8 800CACF8 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0CB8FC 800CACFC 2529A1DC */ addiu $t1, %lo(D_800EA1DC) # addiu $t1, $t1, -0x5e24
/* 0CB900 800CAD00 3C045101 */ lui $a0, (0x5101C00C >> 16) # lui $a0, 0x5101
/* 0CB904 800CAD04 3C05800F */ lui $a1, %hi(D_800EA1C8) # $a1, 0x800f
/* 0CB908 800CAD08 24A5A1C8 */ addiu $a1, %lo(D_800EA1C8) # addiu $a1, $a1, -0x5e38
/* 0CB90C 800CAD0C 3484C00C */ ori $a0, (0x5101C00C & 0xFFFF) # ori $a0, $a0, 0xc00c
/* 0CB910 800CAD10 AFA90014 */ sw $t1, 0x14($sp)
/* 0CB914 800CAD14 AFA70010 */ sw $a3, 0x10($sp)
/* 0CB918 800CAD18 0C031052 */ jal play_sound
/* 0CB91C 800CAD1C 00003025 */ move $a2, $zero
/* 0CB920 800CAD20 240A0001 */ li $t2, 1
/* 0CB924 800CAD24 3C01800F */ lui $at, %hi(D_800EA168) # $at, 0x800f
/* 0CB928 800CAD28 A02AA168 */ sb $t2, %lo(D_800EA168)($at)
.L800CAD2C:
/* 0CB92C 800CAD2C 8FDF0034 */ lw $ra, 0x34($fp)
.L800CAD30:
/* 0CB930 800CAD30 03C0E825 */ move $sp, $fp
/* 0CB934 800CAD34 8FDE0030 */ lw $fp, 0x30($fp)
/* 0CB938 800CAD38 03E00008 */ jr $ra
/* 0CB93C 800CAD3C 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800CAD40
/* 0CB940 800CAD40 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CB944 800CAD44 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CB948 800CAD48 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0CB94C 800CAD4C AFBE0028 */ sw $fp, 0x28($sp)
/* 0CB950 800CAD50 03A0F025 */ move $fp, $sp
/* 0CB954 800CAD54 AFBF002C */ sw $ra, 0x2c($sp)
/* 0CB958 800CAD58 15C00018 */ bnez $t6, .L800CADBC
/* 0CB95C 800CAD5C AFA40030 */ sw $a0, 0x30($sp)
/* 0CB960 800CAD60 3C02800F */ lui $v0, %hi(D_800EA170) # $v0, 0x800f
/* 0CB964 800CAD64 2442A170 */ addiu $v0, %lo(D_800EA170) # addiu $v0, $v0, -0x5e90
/* 0CB968 800CAD68 904F0000 */ lbu $t7, ($v0)
/* 0CB96C 800CAD6C 55E0000F */ bnel $t7, $zero, .L800CADAC
/* 0CB970 800CAD70 3C045101 */ lui $a0, 0x5101
/* 0CB974 800CAD74 90580001 */ lbu $t8, 1($v0)
/* 0CB978 800CAD78 5700000C */ bnel $t8, $zero, .L800CADAC
/* 0CB97C 800CAD7C 3C045101 */ lui $a0, 0x5101
/* 0CB980 800CAD80 90590002 */ lbu $t9, 2($v0)
/* 0CB984 800CAD84 57200009 */ bnel $t9, $zero, .L800CADAC
/* 0CB988 800CAD88 3C045101 */ lui $a0, 0x5101
/* 0CB98C 800CAD8C 90480003 */ lbu $t0, 3($v0)
/* 0CB990 800CAD90 00002025 */ move $a0, $zero
/* 0CB994 800CAD94 24050001 */ li $a1, 1
/* 0CB998 800CAD98 15000003 */ bnez $t0, .L800CADA8
/* 0CB99C 800CAD9C 2406007F */ li $a2, 127
/* 0CB9A0 800CADA0 0C030DB1 */ jal func_800C36C4
/* 0CB9A4 800CADA4 24070019 */ li $a3, 25
.L800CADA8:
/* 0CB9A8 800CADA8 3C045101 */ lui $a0, (0x5101C00C >> 16) # lui $a0, 0x5101
.L800CADAC:
/* 0CB9AC 800CADAC 0C0315BC */ jal func_800C56F0
/* 0CB9B0 800CADB0 3484C00C */ ori $a0, (0x5101C00C & 0xFFFF) # ori $a0, $a0, 0xc00c
/* 0CB9B4 800CADB4 3C01800F */ lui $at, %hi(D_800EA168) # $at, 0x800f
/* 0CB9B8 800CADB8 A020A168 */ sb $zero, %lo(D_800EA168)($at)
.L800CADBC:
/* 0CB9BC 800CADBC 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CB9C0 800CADC0 03C0E825 */ move $sp, $fp
/* 0CB9C4 800CADC4 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CB9C8 800CADC8 03E00008 */ jr $ra
/* 0CB9CC 800CADCC 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800CADD0
/* 0CB9D0 800CADD0 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CB9D4 800CADD4 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CB9D8 800CADD8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0CB9DC 800CADDC AFBE0030 */ sw $fp, 0x30($sp)
/* 0CB9E0 800CADE0 44856000 */ mtc1 $a1, $f12
/* 0CB9E4 800CADE4 03A0F025 */ move $fp, $sp
/* 0CB9E8 800CADE8 AFBF0034 */ sw $ra, 0x34($sp)
/* 0CB9EC 800CADEC AFA40038 */ sw $a0, 0x38($sp)
/* 0CB9F0 800CADF0 15C0002F */ bnez $t6, .L800CAEB0
/* 0CB9F4 800CADF4 308600FF */ andi $a2, $a0, 0xff
/* 0CB9F8 800CADF8 3C0F800F */ lui $t7, %hi(D_800EA0EC) # $t7, 0x800f
/* 0CB9FC 800CADFC 25EFA0EC */ addiu $t7, %lo(D_800EA0EC) # addiu $t7, $t7, -0x5f14
/* 0CBA00 800CAE00 00CF1821 */ addu $v1, $a2, $t7
/* 0CBA04 800CAE04 90620000 */ lbu $v0, ($v1)
/* 0CBA08 800CAE08 24010002 */ li $at, 2
/* 0CBA0C 800CAE0C 0006C880 */ sll $t9, $a2, 2
/* 0CBA10 800CAE10 10400004 */ beqz $v0, .L800CAE24
/* 0CBA14 800CAE14 3C08800F */ lui $t0, %hi(D_800EA110) # $t0, 0x800f
/* 0CBA18 800CAE18 14410025 */ bne $v0, $at, .L800CAEB0
/* 0CBA1C 800CAE1C 24180001 */ li $t8, 1
/* 0CBA20 800CAE20 A0780000 */ sb $t8, ($v1)
.L800CAE24:
/* 0CBA24 800CAE24 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0CBA28 800CAE28 44810000 */ mtc1 $at, $f0
/* 0CBA2C 800CAE2C 3C01800F */ lui $at, %hi(D_800F39A8) # $at, 0x800f
/* 0CBA30 800CAE30 C42439A8 */ lwc1 $f4, %lo(D_800F39A8)($at)
/* 0CBA34 800CAE34 3C01800F */ lui $at, %hi(D_800F39AC) # $at, 0x800f
/* 0CBA38 800CAE38 C42839AC */ lwc1 $f8, %lo(D_800F39AC)($at)
/* 0CBA3C 800CAE3C 46046182 */ mul.s $f6, $f12, $f4
/* 0CBA40 800CAE40 00064900 */ sll $t1, $a2, 4
/* 0CBA44 800CAE44 01264823 */ subu $t1, $t1, $a2
/* 0CBA48 800CAE48 3C0A800F */ lui $t2, %hi(D_800E9F7C) # $t2, 0x800f
/* 0CBA4C 800CAE4C 254A9F7C */ addiu $t2, %lo(D_800E9F7C) # addiu $t2, $t2, -0x6084
/* 0CBA50 800CAE50 00094880 */ sll $t1, $t1, 2
/* 0CBA54 800CAE54 2508A110 */ addiu $t0, %lo(D_800EA110) # addiu $t0, $t0, -0x5ef0
/* 0CBA58 800CAE58 46083300 */ add.s $f12, $f6, $f8
/* 0CBA5C 800CAE5C 012A2821 */ addu $a1, $t1, $t2
/* 0CBA60 800CAE60 3C041900 */ lui $a0, (0x1900A209 >> 16) # lui $a0, 0x1900
/* 0CBA64 800CAE64 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0CBA68 800CAE68 460C003C */ c.lt.s $f0, $f12
/* 0CBA6C 800CAE6C 03281021 */ addu $v0, $t9, $t0
/* 0CBA70 800CAE70 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0CBA74 800CAE74 3484A209 */ ori $a0, (0x1900A209 & 0xFFFF) # ori $a0, $a0, 0xa209
/* 0CBA78 800CAE78 45000002 */ bc1f .L800CAE84
/* 0CBA7C 800CAE7C 24AB0014 */ addiu $t3, $a1, 0x14
/* 0CBA80 800CAE80 46000306 */ mov.s $f12, $f0
.L800CAE84:
/* 0CBA84 800CAE84 44800000 */ mtc1 $zero, $f0
/* 0CBA88 800CAE88 00000000 */ nop
/* 0CBA8C 800CAE8C 4600603C */ c.lt.s $f12, $f0
/* 0CBA90 800CAE90 00000000 */ nop
/* 0CBA94 800CAE94 45020003 */ bc1fl .L800CAEA4
/* 0CBA98 800CAE98 E44C0000 */ swc1 $f12, ($v0)
/* 0CBA9C 800CAE9C 46000306 */ mov.s $f12, $f0
/* 0CBAA0 800CAEA0 E44C0000 */ swc1 $f12, ($v0)
.L800CAEA4:
/* 0CBAA4 800CAEA4 AFA20010 */ sw $v0, 0x10($sp)
/* 0CBAA8 800CAEA8 0C031052 */ jal play_sound
/* 0CBAAC 800CAEAC AFAB0014 */ sw $t3, 0x14($sp)
.L800CAEB0:
/* 0CBAB0 800CAEB0 8FDF0034 */ lw $ra, 0x34($fp)
/* 0CBAB4 800CAEB4 03C0E825 */ move $sp, $fp
/* 0CBAB8 800CAEB8 8FDE0030 */ lw $fp, 0x30($fp)
/* 0CBABC 800CAEBC 03E00008 */ jr $ra
/* 0CBAC0 800CAEC0 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800CAEC4
/* 0CBAC4 800CAEC4 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CBAC8 800CAEC8 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CBACC 800CAECC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0CBAD0 800CAED0 AFBE0030 */ sw $fp, 0x30($sp)
/* 0CBAD4 800CAED4 44856000 */ mtc1 $a1, $f12
/* 0CBAD8 800CAED8 03A0F025 */ move $fp, $sp
/* 0CBADC 800CAEDC AFBF0034 */ sw $ra, 0x34($sp)
/* 0CBAE0 800CAEE0 AFA40038 */ sw $a0, 0x38($sp)
/* 0CBAE4 800CAEE4 15C00031 */ bnez $t6, .L800CAFAC
/* 0CBAE8 800CAEE8 308600FF */ andi $a2, $a0, 0xff
/* 0CBAEC 800CAEEC 3C0F800F */ lui $t7, %hi(D_800EA0EC) # $t7, 0x800f
/* 0CBAF0 800CAEF0 25EFA0EC */ addiu $t7, %lo(D_800EA0EC) # addiu $t7, $t7, -0x5f14
/* 0CBAF4 800CAEF4 00CF1821 */ addu $v1, $a2, $t7
/* 0CBAF8 800CAEF8 90620000 */ lbu $v0, ($v1)
/* 0CBAFC 800CAEFC 24010002 */ li $at, 2
/* 0CBB00 800CAF00 0006C880 */ sll $t9, $a2, 2
/* 0CBB04 800CAF04 10400004 */ beqz $v0, .L800CAF18
/* 0CBB08 800CAF08 3C08800F */ lui $t0, %hi(D_800EA120) # $t0, 0x800f
/* 0CBB0C 800CAF0C 14410027 */ bne $v0, $at, .L800CAFAC
/* 0CBB10 800CAF10 24180001 */ li $t8, 1
/* 0CBB14 800CAF14 A0780000 */ sb $t8, ($v1)
.L800CAF18:
/* 0CBB18 800CAF18 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0CBB1C 800CAF1C 44810000 */ mtc1 $at, $f0
/* 0CBB20 800CAF20 3C01800F */ lui $at, %hi(D_800F39B0) # $at, 0x800f
/* 0CBB24 800CAF24 C42439B0 */ lwc1 $f4, %lo(D_800F39B0)($at)
/* 0CBB28 800CAF28 3C01800F */ lui $at, %hi(D_800F39B4) # $at, 0x800f
/* 0CBB2C 800CAF2C C42839B4 */ lwc1 $f8, %lo(D_800F39B4)($at)
/* 0CBB30 800CAF30 46046182 */ mul.s $f6, $f12, $f4
/* 0CBB34 800CAF34 00064900 */ sll $t1, $a2, 4
/* 0CBB38 800CAF38 01264823 */ subu $t1, $t1, $a2
/* 0CBB3C 800CAF3C 3C0A800F */ lui $t2, %hi(D_800E9F7C) # $t2, 0x800f
/* 0CBB40 800CAF40 2508A120 */ addiu $t0, %lo(D_800EA120) # addiu $t0, $t0, -0x5ee0
/* 0CBB44 800CAF44 254A9F7C */ addiu $t2, %lo(D_800E9F7C) # addiu $t2, $t2, -0x6084
/* 0CBB48 800CAF48 00094880 */ sll $t1, $t1, 2
/* 0CBB4C 800CAF4C 46083300 */ add.s $f12, $f6, $f8
/* 0CBB50 800CAF50 3C011900 */ lui $at, (0x19007020 >> 16) # lui $at, 0x1900
/* 0CBB54 800CAF54 3C07800F */ lui $a3, %hi(D_800EA1D4) # $a3, 0x800f
/* 0CBB58 800CAF58 03281021 */ addu $v0, $t9, $t0
/* 0CBB5C 800CAF5C 460C003C */ c.lt.s $f0, $f12
/* 0CBB60 800CAF60 24E7A1D4 */ addiu $a3, %lo(D_800EA1D4) # addiu $a3, $a3, -0x5e2c
/* 0CBB64 800CAF64 34217020 */ ori $at, (0x19007020 & 0xFFFF) # ori $at, $at, 0x7020
/* 0CBB68 800CAF68 012A2821 */ addu $a1, $t1, $t2
/* 0CBB6C 800CAF6C 45000002 */ bc1f .L800CAF78
/* 0CBB70 800CAF70 3C04800E */ lui $a0, %hi(gCurrentCourseId) # $a0, 0x800e
/* 0CBB74 800CAF74 46000306 */ mov.s $f12, $f0
.L800CAF78:
/* 0CBB78 800CAF78 44800000 */ mtc1 $zero, $f0
/* 0CBB7C 800CAF7C 24AB0014 */ addiu $t3, $a1, 0x14
/* 0CBB80 800CAF80 4600603C */ c.lt.s $f12, $f0
/* 0CBB84 800CAF84 00000000 */ nop
/* 0CBB88 800CAF88 45020003 */ bc1fl .L800CAF98
/* 0CBB8C 800CAF8C E44C0000 */ swc1 $f12, ($v0)
/* 0CBB90 800CAF90 46000306 */ mov.s $f12, $f0
/* 0CBB94 800CAF94 E44C0000 */ swc1 $f12, ($v0)
.L800CAF98:
/* 0CBB98 800CAF98 8484C5A0 */ lh $a0, %lo(gCurrentCourseId)($a0)
/* 0CBB9C 800CAF9C AFA20010 */ sw $v0, 0x10($sp)
/* 0CBBA0 800CAFA0 AFAB0014 */ sw $t3, 0x14($sp)
/* 0CBBA4 800CAFA4 0C031052 */ jal play_sound
/* 0CBBA8 800CAFA8 00812021 */ addu $a0, $a0, $at
.L800CAFAC:
/* 0CBBAC 800CAFAC 8FDF0034 */ lw $ra, 0x34($fp)
/* 0CBBB0 800CAFB0 03C0E825 */ move $sp, $fp
/* 0CBBB4 800CAFB4 8FDE0030 */ lw $fp, 0x30($fp)
/* 0CBBB8 800CAFB8 03E00008 */ jr $ra
/* 0CBBBC 800CAFBC 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800CAFC0
/* 0CBBC0 800CAFC0 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CBBC4 800CAFC4 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CBBC8 800CAFC8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0CBBCC 800CAFCC AFBE0028 */ sw $fp, 0x28($sp)
/* 0CBBD0 800CAFD0 03A0F025 */ move $fp, $sp
/* 0CBBD4 800CAFD4 AFBF002C */ sw $ra, 0x2c($sp)
/* 0CBBD8 800CAFD8 15C0001D */ bnez $t6, .L800CB050
/* 0CBBDC 800CAFDC AFA40030 */ sw $a0, 0x30($sp)
/* 0CBBE0 800CAFE0 93AF0033 */ lbu $t7, 0x33($sp)
/* 0CBBE4 800CAFE4 3C18800F */ lui $t8, %hi(D_800EA0EC) # $t8, 0x800f
/* 0CBBE8 800CAFE8 2718A0EC */ addiu $t8, %lo(D_800EA0EC) # addiu $t8, $t8, -0x5f14
/* 0CBBEC 800CAFEC 01F81821 */ addu $v1, $t7, $t8
/* 0CBBF0 800CAFF0 90620000 */ lbu $v0, ($v1)
/* 0CBBF4 800CAFF4 24010002 */ li $at, 2
/* 0CBBF8 800CAFF8 00002025 */ move $a0, $zero
/* 0CBBFC 800CAFFC 10400004 */ beqz $v0, .L800CB010
/* 0CBC00 800CB000 24050001 */ li $a1, 1
/* 0CBC04 800CB004 14410012 */ bne $v0, $at, .L800CB050
/* 0CBC08 800CB008 24190001 */ li $t9, 1
/* 0CBC0C 800CB00C A0790000 */ sb $t9, ($v1)
.L800CB010:
/* 0CBC10 800CB010 24060055 */ li $a2, 85
/* 0CBC14 800CB014 0C030DB1 */ jal func_800C36C4
/* 0CBC18 800CB018 24070005 */ li $a3, 5
/* 0CBC1C 800CB01C 3C051900 */ lui $a1, (0x19009E59 >> 16) # lui $a1, 0x1900
/* 0CBC20 800CB020 34A59E59 */ ori $a1, (0x19009E59 & 0xFFFF) # ori $a1, $a1, 0x9e59
/* 0CBC24 800CB024 0C032418 */ jal func_800C9060
/* 0CBC28 800CB028 93C40033 */ lbu $a0, 0x33($fp)
/* 0CBC2C 800CB02C 3C050100 */ lui $a1, (0x0100FA4C >> 16) # lui $a1, 0x100
/* 0CBC30 800CB030 34A5FA4C */ ori $a1, (0x0100FA4C & 0xFFFF) # ori $a1, $a1, 0xfa4c
/* 0CBC34 800CB034 0C0323E0 */ jal func_800C8F80
/* 0CBC38 800CB038 93C40033 */ lbu $a0, 0x33($fp)
/* 0CBC3C 800CB03C 93C90033 */ lbu $t1, 0x33($fp)
/* 0CBC40 800CB040 3C01800F */ lui $at, %hi(D_800EA170)
/* 0CBC44 800CB044 24080001 */ li $t0, 1
/* 0CBC48 800CB048 00290821 */ addu $at, $at, $t1
/* 0CBC4C 800CB04C A028A170 */ sb $t0, %lo(D_800EA170)($at)
.L800CB050:
/* 0CBC50 800CB050 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CBC54 800CB054 03C0E825 */ move $sp, $fp
/* 0CBC58 800CB058 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CBC5C 800CB05C 03E00008 */ jr $ra
/* 0CBC60 800CB060 27BD0030 */ addiu $sp, $sp, 0x30
glabel func_800CB064
/* 0CBC64 800CB064 3C0E800F */ lui $t6, %hi(D_800EA108) # $t6, 0x800f
/* 0CBC68 800CB068 91CEA108 */ lbu $t6, %lo(D_800EA108)($t6)
/* 0CBC6C 800CB06C 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0CBC70 800CB070 AFBE0028 */ sw $fp, 0x28($sp)
/* 0CBC74 800CB074 03A0F025 */ move $fp, $sp
/* 0CBC78 800CB078 AFBF002C */ sw $ra, 0x2c($sp)
/* 0CBC7C 800CB07C 15C00028 */ bnez $t6, .L800CB120
/* 0CBC80 800CB080 AFA40038 */ sw $a0, 0x38($sp)
/* 0CBC84 800CB084 93AF003B */ lbu $t7, 0x3b($sp)
/* 0CBC88 800CB088 3C18800F */ lui $t8, %hi(D_800EA170) # $t8, 0x800f
/* 0CBC8C 800CB08C 2718A170 */ addiu $t8, %lo(D_800EA170) # addiu $t8, $t8, -0x5e90
/* 0CBC90 800CB090 01F8C821 */ addu $t9, $t7, $t8
/* 0CBC94 800CB094 AFB90034 */ sw $t9, 0x34($sp)
/* 0CBC98 800CB098 93280000 */ lbu $t0, ($t9)
/* 0CBC9C 800CB09C 24010001 */ li $at, 1
/* 0CBCA0 800CB0A0 3C09800F */ lui $t1, %hi(D_800EA168) # $t1, 0x800f
/* 0CBCA4 800CB0A4 5501001F */ bnel $t0, $at, .L800CB124
/* 0CBCA8 800CB0A8 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CBCAC 800CB0AC 9129A168 */ lbu $t1, %lo(D_800EA168)($t1)
/* 0CBCB0 800CB0B0 00002025 */ move $a0, $zero
/* 0CBCB4 800CB0B4 24050001 */ li $a1, 1
/* 0CBCB8 800CB0B8 15200003 */ bnez $t1, .L800CB0C8
/* 0CBCBC 800CB0BC 2406007F */ li $a2, 127
/* 0CBCC0 800CB0C0 0C030DB1 */ jal func_800C36C4
/* 0CBCC4 800CB0C4 24070019 */ li $a3, 25
.L800CB0C8:
/* 0CBCC8 800CB0C8 93C4003B */ lbu $a0, 0x3b($fp)
/* 0CBCCC 800CB0CC 3C05800F */ lui $a1, %hi(D_800F6BE4)
/* 0CBCD0 800CB0D0 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900
/* 0CBCD4 800CB0D4 000458C0 */ sll $t3, $a0, 3
/* 0CBCD8 800CB0D8 01645823 */ subu $t3, $t3, $a0
/* 0CBCDC 800CB0DC 000B5900 */ sll $t3, $t3, 4
/* 0CBCE0 800CB0E0 01645823 */ subu $t3, $t3, $a0
/* 0CBCE4 800CB0E4 000B5880 */ sll $t3, $t3, 2
/* 0CBCE8 800CB0E8 01645823 */ subu $t3, $t3, $a0
/* 0CBCEC 800CB0EC 000B58C0 */ sll $t3, $t3, 3
/* 0CBCF0 800CB0F0 00AB2821 */ addu $a1, $a1, $t3
/* 0CBCF4 800CB0F4 94A56BE4 */ lhu $a1, %lo(D_800F6BE4)($a1)
/* 0CBCF8 800CB0F8 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008
/* 0CBCFC 800CB0FC 00056100 */ sll $t4, $a1, 4
/* 0CBD00 800CB100 0C03243D */ jal func_800C90F4
/* 0CBD04 800CB104 01812821 */ addu $a1, $t4, $at
/* 0CBD08 800CB108 3C050100 */ lui $a1, (0x0100FA4C >> 16) # lui $a1, 0x100
/* 0CBD0C 800CB10C 34A5FA4C */ ori $a1, (0x0100FA4C & 0xFFFF) # ori $a1, $a1, 0xfa4c
/* 0CBD10 800CB110 0C032406 */ jal func_800C9018
/* 0CBD14 800CB114 93C4003B */ lbu $a0, 0x3b($fp)
/* 0CBD18 800CB118 8FCD0034 */ lw $t5, 0x34($fp)
/* 0CBD1C 800CB11C A1A00000 */ sb $zero, ($t5)
.L800CB120:
/* 0CBD20 800CB120 8FDF002C */ lw $ra, 0x2c($fp)
.L800CB124:
/* 0CBD24 800CB124 03C0E825 */ move $sp, $fp
/* 0CBD28 800CB128 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CBD2C 800CB12C 03E00008 */ jr $ra
/* 0CBD30 800CB130 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800CB134
/* 0CBD34 800CB134 27BDFFF8 */ addiu $sp, $sp, -8
/* 0CBD38 800CB138 240E0001 */ li $t6, 1
/* 0CBD3C 800CB13C 3C01800F */ lui $at, %hi(D_800EA174) # $at, 0x800f
/* 0CBD40 800CB140 A42EA174 */ sh $t6, %lo(D_800EA174)($at)
/* 0CBD44 800CB144 03E00008 */ jr $ra
/* 0CBD48 800CB148 27BD0008 */ addiu $sp, $sp, 8
glabel func_800CB14C
/* 0CBD4C 800CB14C 3C04800F */ lui $a0, %hi(D_800EA174) # $a0, 0x800f
/* 0CBD50 800CB150 2484A174 */ addiu $a0, %lo(D_800EA174) # addiu $a0, $a0, -0x5e8c
/* 0CBD54 800CB154 94830000 */ lhu $v1, ($a0)
/* 0CBD58 800CB158 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0CBD5C 800CB15C AFBE0020 */ sw $fp, 0x20($sp)
/* 0CBD60 800CB160 03A0F025 */ move $fp, $sp
/* 0CBD64 800CB164 10600052 */ beqz $v1, .L800CB2B0
/* 0CBD68 800CB168 AFBF0024 */ sw $ra, 0x24($sp)
/* 0CBD6C 800CB16C 246E0001 */ addiu $t6, $v1, 1
/* 0CBD70 800CB170 31C2FFFF */ andi $v0, $t6, 0xffff
/* 0CBD74 800CB174 24010003 */ li $at, 3
/* 0CBD78 800CB178 14410008 */ bne $v0, $at, .L800CB19C
/* 0CBD7C 800CB17C A48E0000 */ sh $t6, ($a0)
/* 0CBD80 800CB180 0C0323AB */ jal func_800C8EAC
/* 0CBD84 800CB184 2404001A */ li $a0, 26
/* 0CBD88 800CB188 3C044000 */ lui $a0, (0x4000007F >> 16) # lui $a0, 0x4000
/* 0CBD8C 800CB18C 0C030D12 */ jal func_800C3448
/* 0CBD90 800CB190 3484007F */ ori $a0, (0x4000007F & 0xFFFF) # ori $a0, $a0, 0x7f
/* 0CBD94 800CB194 3C02800F */ lui $v0, %hi(D_800EA174) # $v0, 0x800f
/* 0CBD98 800CB198 9442A174 */ lhu $v0, %lo(D_800EA174)($v0)
.L800CB19C:
/* 0CBD9C 800CB19C 2401012C */ li $at, 300
/* 0CBDA0 800CB1A0 5441000D */ bnel $v0, $at, .L800CB1D8
/* 0CBDA4 800CB1A4 24010230 */ li $at, 560
/* 0CBDA8 800CB1A8 0C0323AB */ jal func_800C8EAC
/* 0CBDAC 800CB1AC 2404001B */ li $a0, 27
/* 0CBDB0 800CB1B0 3C044000 */ lui $a0, (0x4000007F >> 16) # lui $a0, 0x4000
/* 0CBDB4 800CB1B4 0C030D12 */ jal func_800C3448
/* 0CBDB8 800CB1B8 3484007F */ ori $a0, (0x4000007F & 0xFFFF) # ori $a0, $a0, 0x7f
/* 0CBDBC 800CB1BC 0C0323BE */ jal func_800C8EF8
/* 0CBDC0 800CB1C0 2404001D */ li $a0, 29
/* 0CBDC4 800CB1C4 0C030D12 */ jal func_800C3448
/* 0CBDC8 800CB1C8 3C044100 */ lui $a0, 0x4100
/* 0CBDCC 800CB1CC 3C02800F */ lui $v0, %hi(D_800EA174) # $v0, 0x800f
/* 0CBDD0 800CB1D0 9442A174 */ lhu $v0, %lo(D_800EA174)($v0)
/* 0CBDD4 800CB1D4 24010230 */ li $at, 560
.L800CB1D8:
/* 0CBDD8 800CB1D8 5441000F */ bnel $v0, $at, .L800CB218
/* 0CBDDC 800CB1DC 240102A8 */ li $at, 680
/* 0CBDE0 800CB1E0 0C030D12 */ jal func_800C3448
/* 0CBDE4 800CB1E4 3C044064 */ lui $a0, 0x4064
/* 0CBDE8 800CB1E8 3C04B064 */ lui $a0, (0xB0640073 >> 16) # lui $a0, 0xb064
/* 0CBDEC 800CB1EC 0C030D12 */ jal func_800C3448
/* 0CBDF0 800CB1F0 34840073 */ ori $a0, (0xB0640073 & 0xFFFF) # ori $a0, $a0, 0x73
/* 0CBDF4 800CB1F4 3C044150 */ lui $a0, (0x4150007F >> 16) # lui $a0, 0x4150
/* 0CBDF8 800CB1F8 0C030D12 */ jal func_800C3448
/* 0CBDFC 800CB1FC 3484007F */ ori $a0, (0x4150007F & 0xFFFF) # ori $a0, $a0, 0x7f
/* 0CBE00 800CB200 3C04B164 */ lui $a0, (0xB1640073 >> 16) # lui $a0, 0xb164
/* 0CBE04 800CB204 0C030D12 */ jal func_800C3448
/* 0CBE08 800CB208 34840073 */ ori $a0, (0xB1640073 & 0xFFFF) # ori $a0, $a0, 0x73
/* 0CBE0C 800CB20C 3C02800F */ lui $v0, %hi(D_800EA174) # $v0, 0x800f
/* 0CBE10 800CB210 9442A174 */ lhu $v0, %lo(D_800EA174)($v0)
/* 0CBE14 800CB214 240102A8 */ li $at, 680
.L800CB218:
/* 0CBE18 800CB218 14410005 */ bne $v0, $at, .L800CB230
/* 0CBE1C 800CB21C 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
/* 0CBE20 800CB220 0C030D12 */ jal func_800C3448
/* 0CBE24 800CB224 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0CBE28 800CB228 3C02800F */ lui $v0, %hi(D_800EA174) # $v0, 0x800f
/* 0CBE2C 800CB22C 9442A174 */ lhu $v0, %lo(D_800EA174)($v0)
.L800CB230:
/* 0CBE30 800CB230 2401041A */ li $at, 1050
/* 0CBE34 800CB234 14410008 */ bne $v0, $at, .L800CB258
/* 0CBE38 800CB238 3C04B150 */ lui $a0, (0xB1500001 >> 16) # lui $a0, 0xb150
/* 0CBE3C 800CB23C 0C030D12 */ jal func_800C3448
/* 0CBE40 800CB240 34840001 */ ori $a0, (0xB1500001 & 0xFFFF) # ori $a0, $a0, 1
/* 0CBE44 800CB244 3C045150 */ lui $a0, (0x51500001 >> 16) # lui $a0, 0x5150
/* 0CBE48 800CB248 0C030D12 */ jal func_800C3448
/* 0CBE4C 800CB24C 34840001 */ ori $a0, (0x51500001 & 0xFFFF) # ori $a0, $a0, 1
/* 0CBE50 800CB250 3C02800F */ lui $v0, %hi(D_800EA174) # $v0, 0x800f
/* 0CBE54 800CB254 9442A174 */ lhu $v0, %lo(D_800EA174)($v0)
.L800CB258:
/* 0CBE58 800CB258 2401046A */ li $at, 1130
/* 0CBE5C 800CB25C 54410006 */ bnel $v0, $at, .L800CB278
/* 0CBE60 800CB260 240104B0 */ li $at, 1200
/* 0CBE64 800CB264 0C030D12 */ jal func_800C3448
/* 0CBE68 800CB268 3C044132 */ lui $a0, 0x4132
/* 0CBE6C 800CB26C 3C02800F */ lui $v0, %hi(D_800EA174) # $v0, 0x800f
/* 0CBE70 800CB270 9442A174 */ lhu $v0, %lo(D_800EA174)($v0)
/* 0CBE74 800CB274 240104B0 */ li $at, 1200
.L800CB278:
/* 0CBE78 800CB278 14410005 */ bne $v0, $at, .L800CB290
/* 0CBE7C 800CB27C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
/* 0CBE80 800CB280 0C030D12 */ jal func_800C3448
/* 0CBE84 800CB284 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
/* 0CBE88 800CB288 3C02800F */ lui $v0, %hi(D_800EA174) # $v0, 0x800f
/* 0CBE8C 800CB28C 9442A174 */ lhu $v0, %lo(D_800EA174)($v0)
.L800CB290:
/* 0CBE90 800CB290 240104CE */ li $at, 1230
/* 0CBE94 800CB294 54410007 */ bnel $v0, $at, .L800CB2B4
/* 0CBE98 800CB298 8FDF0024 */ lw $ra, 0x24($fp)
/* 0CBE9C 800CB29C 0C0323AB */ jal func_800C8EAC
/* 0CBEA0 800CB2A0 24040014 */ li $a0, 20
/* 0CBEA4 800CB2A4 3C044000 */ lui $a0, (0x4000007F >> 16) # lui $a0, 0x4000
/* 0CBEA8 800CB2A8 0C030D12 */ jal func_800C3448
/* 0CBEAC 800CB2AC 3484007F */ ori $a0, (0x4000007F & 0xFFFF) # ori $a0, $a0, 0x7f
.L800CB2B0:
/* 0CBEB0 800CB2B0 8FDF0024 */ lw $ra, 0x24($fp)
.L800CB2B4:
/* 0CBEB4 800CB2B4 03C0E825 */ move $sp, $fp
/* 0CBEB8 800CB2B8 8FDE0020 */ lw $fp, 0x20($fp)
/* 0CBEBC 800CB2BC 03E00008 */ jr $ra
/* 0CBEC0 800CB2C0 27BD0028 */ addiu $sp, $sp, 0x28
glabel func_800CB2C4
/* 0CBEC4 800CB2C4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0CBEC8 800CB2C8 AFBF0024 */ sw $ra, 0x24($sp)
/* 0CBECC 800CB2CC AFBE0020 */ sw $fp, 0x20($sp)
/* 0CBED0 800CB2D0 0C0307E3 */ jal func_800C1F8C
/* 0CBED4 800CB2D4 03A0F025 */ move $fp, $sp
/* 0CBED8 800CB2D8 0C030DC9 */ jal func_800C3724
/* 0CBEDC 800CB2DC 00000000 */ nop
/* 0CBEE0 800CB2E0 0C030D1E */ jal func_800C3478
/* 0CBEE4 800CB2E4 00000000 */ nop
/* 0CBEE8 800CB2E8 0C031612 */ jal func_800C5848
/* 0CBEEC 800CB2EC 00000000 */ nop
/* 0CBEF0 800CB2F0 0C031671 */ jal func_800C59C4
/* 0CBEF4 800CB2F4 00000000 */ nop
/* 0CBEF8 800CB2F8 0C032333 */ jal func_800C8CCC
/* 0CBEFC 800CB2FC 00000000 */ nop
/* 0CBF00 800CB300 0C03089D */ jal func_800C2274
/* 0CBF04 800CB304 00002025 */ move $a0, $zero
/* 0CBF08 800CB308 0C032F09 */ jal func_800CBC24
/* 0CBF0C 800CB30C 00000000 */ nop
/* 0CBF10 800CB310 8FDF0024 */ lw $ra, 0x24($fp)
/* 0CBF14 800CB314 03C0E825 */ move $sp, $fp
/* 0CBF18 800CB318 8FDE0020 */ lw $fp, 0x20($fp)
/* 0CBF1C 800CB31C 03E00008 */ jr $ra
/* 0CBF20 800CB320 27BD0028 */ addiu $sp, $sp, 0x28
/* 0CBF24 800CB324 00000000 */ nop
/* 0CBF28 800CB328 00000000 */ nop
/* 0CBF2C 800CB32C 00000000 */ nop