mk64/asm/audio/load.s

1916 lines
96 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"
glabel func_800BAA80
/* 0BB680 800BAA80 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0BB684 800BAA84 AFA40028 */ sw $a0, 0x28($sp)
/* 0BB688 800BAA88 AFBF0024 */ sw $ra, 0x24($sp)
/* 0BB68C 800BAA8C AFA5002C */ sw $a1, 0x2c($sp)
/* 0BB690 800BAA90 00A02025 */ move $a0, $a1
/* 0BB694 800BAA94 AFA60030 */ sw $a2, 0x30($sp)
/* 0BB698 800BAA98 0C0336E0 */ jal osInvalDCache
/* 0BB69C 800BAA9C 00C02825 */ move $a1, $a2
/* 0BB6A0 800BAAA0 8FAE002C */ lw $t6, 0x2c($sp)
/* 0BB6A4 800BAAA4 8FAF0030 */ lw $t7, 0x30($sp)
/* 0BB6A8 800BAAA8 3C18803B */ lui $t8, %hi(D_803B6720) # $t8, 0x803b
/* 0BB6AC 800BAAAC 27186720 */ addiu $t8, %lo(D_803B6720) # addiu $t8, $t8, 0x6720
/* 0BB6B0 800BAAB0 3C04803B */ lui $a0, %hi(D_803B6740) # $a0, 0x803b
/* 0BB6B4 800BAAB4 24846740 */ addiu $a0, %lo(D_803B6740) # addiu $a0, $a0, 0x6740
/* 0BB6B8 800BAAB8 AFB80018 */ sw $t8, 0x18($sp)
/* 0BB6BC 800BAABC 24050001 */ li $a1, 1
/* 0BB6C0 800BAAC0 00003025 */ move $a2, $zero
/* 0BB6C4 800BAAC4 8FA70028 */ lw $a3, 0x28($sp)
/* 0BB6C8 800BAAC8 AFAE0010 */ sw $t6, 0x10($sp)
/* 0BB6CC 800BAACC 0C03370C */ jal osPiStartDma
/* 0BB6D0 800BAAD0 AFAF0014 */ sw $t7, 0x14($sp)
/* 0BB6D4 800BAAD4 3C04803B */ lui $a0, %hi(D_803B6720) # $a0, 0x803b
/* 0BB6D8 800BAAD8 24846720 */ addiu $a0, %lo(D_803B6720) # addiu $a0, $a0, 0x6720
/* 0BB6DC 800BAADC 00002825 */ move $a1, $zero
/* 0BB6E0 800BAAE0 0C0335D4 */ jal osRecvMesg
/* 0BB6E4 800BAAE4 24060001 */ li $a2, 1
/* 0BB6E8 800BAAE8 8FBF0024 */ lw $ra, 0x24($sp)
/* 0BB6EC 800BAAEC 27BD0028 */ addiu $sp, $sp, 0x28
/* 0BB6F0 800BAAF0 03E00008 */ jr $ra
/* 0BB6F4 800BAAF4 00000000 */ nop
glabel func_800BAAF8
/* 0BB6F8 800BAAF8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0BB6FC 800BAAFC AFA40028 */ sw $a0, 0x28($sp)
/* 0BB700 800BAB00 AFBF0024 */ sw $ra, 0x24($sp)
/* 0BB704 800BAB04 AFA5002C */ sw $a1, 0x2c($sp)
/* 0BB708 800BAB08 00A02025 */ move $a0, $a1
/* 0BB70C 800BAB0C AFA60030 */ sw $a2, 0x30($sp)
/* 0BB710 800BAB10 AFA70034 */ sw $a3, 0x34($sp)
/* 0BB714 800BAB14 0C0336E0 */ jal osInvalDCache
/* 0BB718 800BAB18 00C02825 */ move $a1, $a2
/* 0BB71C 800BAB1C 8FAE002C */ lw $t6, 0x2c($sp)
/* 0BB720 800BAB20 8FAF0030 */ lw $t7, 0x30($sp)
/* 0BB724 800BAB24 8FB80034 */ lw $t8, 0x34($sp)
/* 0BB728 800BAB28 8FA40038 */ lw $a0, 0x38($sp)
/* 0BB72C 800BAB2C 00002825 */ move $a1, $zero
/* 0BB730 800BAB30 00003025 */ move $a2, $zero
/* 0BB734 800BAB34 8FA70028 */ lw $a3, 0x28($sp)
/* 0BB738 800BAB38 AFAE0010 */ sw $t6, 0x10($sp)
/* 0BB73C 800BAB3C AFAF0014 */ sw $t7, 0x14($sp)
/* 0BB740 800BAB40 0C03370C */ jal osPiStartDma
/* 0BB744 800BAB44 AFB80018 */ sw $t8, 0x18($sp)
/* 0BB748 800BAB48 8FBF0024 */ lw $ra, 0x24($sp)
/* 0BB74C 800BAB4C 27BD0028 */ addiu $sp, $sp, 0x28
/* 0BB750 800BAB50 03E00008 */ jr $ra
/* 0BB754 800BAB54 00000000 */ nop
glabel func_800BAB58
/* 0BB758 800BAB58 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0BB75C 800BAB5C AFBF002C */ sw $ra, 0x2c($sp)
/* 0BB760 800BAB60 AFB00028 */ sw $s0, 0x28($sp)
/* 0BB764 800BAB64 AFA40030 */ sw $a0, 0x30($sp)
/* 0BB768 800BAB68 AFA50034 */ sw $a1, 0x34($sp)
/* 0BB76C 800BAB6C AFA7003C */ sw $a3, 0x3c($sp)
/* 0BB770 800BAB70 8CC20000 */ lw $v0, ($a2)
/* 0BB774 800BAB74 28411000 */ slti $at, $v0, 0x1000
/* 0BB778 800BAB78 14200003 */ bnez $at, .L800BAB88
/* 0BB77C 800BAB7C 00408025 */ move $s0, $v0
/* 0BB780 800BAB80 10000001 */ b .L800BAB88
/* 0BB784 800BAB84 24101000 */ li $s0, 4096
.L800BAB88:
/* 0BB788 800BAB88 00507023 */ subu $t6, $v0, $s0
/* 0BB78C 800BAB8C ACCE0000 */ sw $t6, ($a2)
/* 0BB790 800BAB90 8FAF0034 */ lw $t7, 0x34($sp)
/* 0BB794 800BAB94 02002825 */ move $a1, $s0
/* 0BB798 800BAB98 0C0336E0 */ jal osInvalDCache
/* 0BB79C 800BAB9C 8DE40000 */ lw $a0, ($t7)
/* 0BB7A0 800BABA0 8FB80030 */ lw $t8, 0x30($sp)
/* 0BB7A4 800BABA4 8FB90034 */ lw $t9, 0x34($sp)
/* 0BB7A8 800BABA8 8FA9003C */ lw $t1, 0x3c($sp)
/* 0BB7AC 800BABAC 8F070000 */ lw $a3, ($t8)
/* 0BB7B0 800BABB0 8F280000 */ lw $t0, ($t9)
/* 0BB7B4 800BABB4 AFB00014 */ sw $s0, 0x14($sp)
/* 0BB7B8 800BABB8 8FA40040 */ lw $a0, 0x40($sp)
/* 0BB7BC 800BABBC 00002825 */ move $a1, $zero
/* 0BB7C0 800BABC0 00003025 */ move $a2, $zero
/* 0BB7C4 800BABC4 AFA90018 */ sw $t1, 0x18($sp)
/* 0BB7C8 800BABC8 0C03370C */ jal osPiStartDma
/* 0BB7CC 800BABCC AFA80010 */ sw $t0, 0x10($sp)
/* 0BB7D0 800BABD0 8FA30030 */ lw $v1, 0x30($sp)
/* 0BB7D4 800BABD4 8FA20034 */ lw $v0, 0x34($sp)
/* 0BB7D8 800BABD8 8C6A0000 */ lw $t2, ($v1)
/* 0BB7DC 800BABDC 01505821 */ addu $t3, $t2, $s0
/* 0BB7E0 800BABE0 AC6B0000 */ sw $t3, ($v1)
/* 0BB7E4 800BABE4 8C4C0000 */ lw $t4, ($v0)
/* 0BB7E8 800BABE8 01906821 */ addu $t5, $t4, $s0
/* 0BB7EC 800BABEC AC4D0000 */ sw $t5, ($v0)
/* 0BB7F0 800BABF0 8FBF002C */ lw $ra, 0x2c($sp)
/* 0BB7F4 800BABF4 8FB00028 */ lw $s0, 0x28($sp)
/* 0BB7F8 800BABF8 27BD0030 */ addiu $sp, $sp, 0x30
/* 0BB7FC 800BABFC 03E00008 */ jr $ra
/* 0BB800 800BAC00 00000000 */ nop
glabel func_800BAC04
/* 0BB804 800BAC04 3C05803B */ lui $a1, %hi(D_803B6E5C) # $a1, 0x803b
/* 0BB808 800BAC08 24A56E5C */ addiu $a1, %lo(D_803B6E5C) # addiu $a1, $a1, 0x6e5c
/* 0BB80C 800BAC0C 8CA30000 */ lw $v1, ($a1)
/* 0BB810 800BAC10 3C04803B */ lui $a0, %hi(D_803B6758) # $a0, 0x803b
/* 0BB814 800BAC14 24846758 */ addiu $a0, %lo(D_803B6758) # addiu $a0, $a0, 0x6758
/* 0BB818 800BAC18 10600018 */ beqz $v1, .L800BAC7C
/* 0BB81C 800BAC1C 00001025 */ move $v0, $zero
/* 0BB820 800BAC20 3C07803B */ lui $a3, %hi(D_803B6E68) # $a3, 0x803b
/* 0BB824 800BAC24 3C06803B */ lui $a2, %hi(D_803B706A) # $a2, 0x803b
/* 0BB828 800BAC28 24C6706A */ addiu $a2, %lo(D_803B706A) # addiu $a2, $a2, 0x706a
/* 0BB82C 800BAC2C 24E76E68 */ addiu $a3, %lo(D_803B6E68) # addiu $a3, $a3, 0x6e68
/* 0BB830 800BAC30 9083000E */ lbu $v1, 0xe($a0)
.L800BAC34:
/* 0BB834 800BAC34 1060000B */ beqz $v1, .L800BAC64
/* 0BB838 800BAC38 246EFFFF */ addiu $t6, $v1, -1
/* 0BB83C 800BAC3C 31CF00FF */ andi $t7, $t6, 0xff
/* 0BB840 800BAC40 15E00008 */ bnez $t7, .L800BAC64
/* 0BB844 800BAC44 A08E000E */ sb $t6, 0xe($a0)
/* 0BB848 800BAC48 90C30000 */ lbu $v1, ($a2)
/* 0BB84C 800BAC4C 90D80000 */ lbu $t8, ($a2)
/* 0BB850 800BAC50 00E3C821 */ addu $t9, $a3, $v1
/* 0BB854 800BAC54 A3220000 */ sb $v0, ($t9)
/* 0BB858 800BAC58 24680001 */ addiu $t0, $v1, 1
/* 0BB85C 800BAC5C A0C80000 */ sb $t0, ($a2)
/* 0BB860 800BAC60 A098000D */ sb $t8, 0xd($a0)
.L800BAC64:
/* 0BB864 800BAC64 8CA30000 */ lw $v1, ($a1)
/* 0BB868 800BAC68 24420001 */ addiu $v0, $v0, 1
/* 0BB86C 800BAC6C 24840010 */ addiu $a0, $a0, 0x10
/* 0BB870 800BAC70 0043082B */ sltu $at, $v0, $v1
/* 0BB874 800BAC74 5420FFEF */ bnel $at, $zero, .L800BAC34
/* 0BB878 800BAC78 9083000E */ lbu $v1, 0xe($a0)
.L800BAC7C:
/* 0BB87C 800BAC7C 3C05803B */ lui $a1, %hi(D_803B6E58) # $a1, 0x803b
/* 0BB880 800BAC80 24A56E58 */ addiu $a1, %lo(D_803B6E58) # addiu $a1, $a1, 0x6e58
/* 0BB884 800BAC84 8CA90000 */ lw $t1, ($a1)
/* 0BB888 800BAC88 00601025 */ move $v0, $v1
/* 0BB88C 800BAC8C 00035100 */ sll $t2, $v1, 4
/* 0BB890 800BAC90 0069082B */ sltu $at, $v1, $t1
/* 0BB894 800BAC94 1020001A */ beqz $at, .L800BAD00
/* 0BB898 800BAC98 3C0B803B */ lui $t3, %hi(D_803B6758) # $t3, 0x803b
/* 0BB89C 800BAC9C 256B6758 */ addiu $t3, %lo(D_803B6758) # addiu $t3, $t3, 0x6758
/* 0BB8A0 800BACA0 3C07803B */ lui $a3, %hi(D_803B6F68) # $a3, 0x803b
/* 0BB8A4 800BACA4 3C06803B */ lui $a2, %hi(D_803B706B) # $a2, 0x803b
/* 0BB8A8 800BACA8 24C6706B */ addiu $a2, %lo(D_803B706B) # addiu $a2, $a2, 0x706b
/* 0BB8AC 800BACAC 24E76F68 */ addiu $a3, %lo(D_803B6F68) # addiu $a3, $a3, 0x6f68
/* 0BB8B0 800BACB0 014B2021 */ addu $a0, $t2, $t3
/* 0BB8B4 800BACB4 9083000E */ lbu $v1, 0xe($a0)
.L800BACB8:
/* 0BB8B8 800BACB8 1060000B */ beqz $v1, .L800BACE8
/* 0BB8BC 800BACBC 246CFFFF */ addiu $t4, $v1, -1
/* 0BB8C0 800BACC0 318D00FF */ andi $t5, $t4, 0xff
/* 0BB8C4 800BACC4 15A00008 */ bnez $t5, .L800BACE8
/* 0BB8C8 800BACC8 A08C000E */ sb $t4, 0xe($a0)
/* 0BB8CC 800BACCC 90C30000 */ lbu $v1, ($a2)
/* 0BB8D0 800BACD0 90CE0000 */ lbu $t6, ($a2)
/* 0BB8D4 800BACD4 00E37821 */ addu $t7, $a3, $v1
/* 0BB8D8 800BACD8 A1E20000 */ sb $v0, ($t7)
/* 0BB8DC 800BACDC 24780001 */ addiu $t8, $v1, 1
/* 0BB8E0 800BACE0 A0D80000 */ sb $t8, ($a2)
/* 0BB8E4 800BACE4 A08E000D */ sb $t6, 0xd($a0)
.L800BACE8:
/* 0BB8E8 800BACE8 8CB90000 */ lw $t9, ($a1)
/* 0BB8EC 800BACEC 24420001 */ addiu $v0, $v0, 1
/* 0BB8F0 800BACF0 24840010 */ addiu $a0, $a0, 0x10
/* 0BB8F4 800BACF4 0059082B */ sltu $at, $v0, $t9
/* 0BB8F8 800BACF8 5420FFEF */ bnel $at, $zero, .L800BACB8
/* 0BB8FC 800BACFC 9083000E */ lbu $v1, 0xe($a0)
.L800BAD00:
/* 0BB900 800BAD00 3C01803B */ lui $at, %hi(D_803B6E60)
/* 0BB904 800BAD04 03E00008 */ jr $ra
/* 0BB908 800BAD08 AC206E60 */ sw $zero, %lo(D_803B6E60)($at)
glabel func_800BAD0C
/* 0BB90C 800BAD0C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 0BB910 800BAD10 AFB10028 */ sw $s1, 0x28($sp)
/* 0BB914 800BAD14 AFB00024 */ sw $s0, 0x24($sp)
/* 0BB918 800BAD18 00A08025 */ move $s0, $a1
/* 0BB91C 800BAD1C 00808825 */ move $s1, $a0
/* 0BB920 800BAD20 AFBF002C */ sw $ra, 0x2c($sp)
/* 0BB924 800BAD24 AFA70054 */ sw $a3, 0x54($sp)
/* 0BB928 800BAD28 14C00008 */ bnez $a2, .L800BAD4C
/* 0BB92C 800BAD2C 00005825 */ move $t3, $zero
/* 0BB930 800BAD30 3C05803B */ lui $a1, %hi(D_803B6E5C) # $a1, 0x803b
/* 0BB934 800BAD34 8CA56E5C */ lw $a1, %lo(D_803B6E5C)($a1)
/* 0BB938 800BAD38 90E20000 */ lbu $v0, ($a3)
/* 0BB93C 800BAD3C 00001825 */ move $v1, $zero
/* 0BB940 800BAD40 0045082B */ sltu $at, $v0, $a1
/* 0BB944 800BAD44 14200055 */ bnez $at, .L800BAE9C
/* 0BB948 800BAD48 00026900 */ sll $t5, $v0, 4
.L800BAD4C:
/* 0BB94C 800BAD4C 3C03803B */ lui $v1, %hi(D_803B6E5C) # $v1, 0x803b
/* 0BB950 800BAD50 3C05803B */ lui $a1, %hi(D_803B6E58) # $a1, 0x803b
/* 0BB954 800BAD54 8CA56E58 */ lw $a1, %lo(D_803B6E58)($a1)
/* 0BB958 800BAD58 8C636E5C */ lw $v1, %lo(D_803B6E5C)($v1)
/* 0BB95C 800BAD5C 3C18803B */ lui $t8, %hi(D_803B6758) # $t8, 0x803b
/* 0BB960 800BAD60 27186758 */ addiu $t8, %lo(D_803B6758) # addiu $t8, $t8, 0x6758
/* 0BB964 800BAD64 0065082B */ sltu $at, $v1, $a1
/* 0BB968 800BAD68 10200034 */ beqz $at, .L800BAE3C
/* 0BB96C 800BAD6C 00037900 */ sll $t7, $v1, 4
/* 0BB970 800BAD70 01F82021 */ addu $a0, $t7, $t8
.L800BAD74:
/* 0BB974 800BAD74 8C990004 */ lw $t9, 4($a0)
/* 0BB978 800BAD78 00804025 */ move $t0, $a0
/* 0BB97C 800BAD7C 02391023 */ subu $v0, $s1, $t9
/* 0BB980 800BAD80 0442002A */ bltzl $v0, .L800BAE2C
/* 0BB984 800BAD84 24630001 */ addiu $v1, $v1, 1
/* 0BB988 800BAD88 948D000A */ lhu $t5, 0xa($a0)
/* 0BB98C 800BAD8C 01B07023 */ subu $t6, $t5, $s0
/* 0BB990 800BAD90 01C2082B */ sltu $at, $t6, $v0
/* 0BB994 800BAD94 54200025 */ bnel $at, $zero, .L800BAE2C
/* 0BB998 800BAD98 24630001 */ addiu $v1, $v1, 1
/* 0BB99C 800BAD9C 908F000E */ lbu $t7, 0xe($a0)
/* 0BB9A0 800BADA0 3C09803B */ lui $t1, %hi(D_803B7069) # $t1, 0x803b
/* 0BB9A4 800BADA4 25297069 */ addiu $t1, %lo(D_803B7069) # addiu $t1, $t1, 0x7069
/* 0BB9A8 800BADA8 15E00016 */ bnez $t7, .L800BAE04
/* 0BB9AC 800BADAC 3C18803B */ lui $t8, %hi(D_803B706B) # $t8, 0x803b
/* 0BB9B0 800BADB0 91250000 */ lbu $a1, ($t1)
/* 0BB9B4 800BADB4 9318706B */ lbu $t8, %lo(D_803B706B)($t8)
/* 0BB9B8 800BADB8 53050013 */ beql $t8, $a1, .L800BAE08
/* 0BB9BC 800BADBC 8FB80054 */ lw $t8, 0x54($sp)
/* 0BB9C0 800BADC0 9087000D */ lbu $a3, 0xd($a0)
/* 0BB9C4 800BADC4 3C0C803B */ lui $t4, %hi(D_803B6F68) # $t4, 0x803b
/* 0BB9C8 800BADC8 258C6F68 */ addiu $t4, %lo(D_803B6F68) # addiu $t4, $t4, 0x6f68
/* 0BB9CC 800BADCC 10A7000B */ beq $a1, $a3, .L800BADFC
/* 0BB9D0 800BADD0 01851021 */ addu $v0, $t4, $a1
/* 0BB9D4 800BADD4 90590000 */ lbu $t9, ($v0)
/* 0BB9D8 800BADD8 01876821 */ addu $t5, $t4, $a3
/* 0BB9DC 800BADDC 3C06803B */ lui $a2, %hi(D_803B6758) # $a2, 0x803b
/* 0BB9E0 800BADE0 A1B90000 */ sb $t9, ($t5)
/* 0BB9E4 800BADE4 904F0000 */ lbu $t7, ($v0)
/* 0BB9E8 800BADE8 908E000D */ lbu $t6, 0xd($a0)
/* 0BB9EC 800BADEC 24C66758 */ addiu $a2, %lo(D_803B6758) # addiu $a2, $a2, 0x6758
/* 0BB9F0 800BADF0 000FC100 */ sll $t8, $t7, 4
/* 0BB9F4 800BADF4 00D8C821 */ addu $t9, $a2, $t8
/* 0BB9F8 800BADF8 A32E000D */ sb $t6, 0xd($t9)
.L800BADFC:
/* 0BB9FC 800BADFC 24AD0001 */ addiu $t5, $a1, 1
/* 0BBA00 800BAE00 A12D0000 */ sb $t5, ($t1)
.L800BAE04:
/* 0BBA04 800BAE04 8FB80054 */ lw $t8, 0x54($sp)
.L800BAE08:
/* 0BBA08 800BAE08 240F003C */ li $t7, 60
/* 0BBA0C 800BAE0C A08F000E */ sb $t7, 0xe($a0)
/* 0BBA10 800BAE10 A3030000 */ sb $v1, ($t8)
/* 0BBA14 800BAE14 8C8E0000 */ lw $t6, ($a0)
/* 0BBA18 800BAE18 8C8D0004 */ lw $t5, 4($a0)
/* 0BBA1C 800BAE1C 01D1C821 */ addu $t9, $t6, $s1
/* 0BBA20 800BAE20 1000007E */ b .L800BB01C
/* 0BBA24 800BAE24 032D1023 */ subu $v0, $t9, $t5
/* 0BBA28 800BAE28 24630001 */ addiu $v1, $v1, 1
.L800BAE2C:
/* 0BBA2C 800BAE2C 0065082B */ sltu $at, $v1, $a1
/* 0BBA30 800BAE30 1420FFD0 */ bnez $at, .L800BAD74
/* 0BBA34 800BAE34 24840010 */ addiu $a0, $a0, 0x10
/* 0BBA38 800BAE38 AFA80040 */ sw $t0, 0x40($sp)
.L800BAE3C:
/* 0BBA3C 800BAE3C 3C09803B */ lui $t1, %hi(D_803B7069) # $t1, 0x803b
/* 0BBA40 800BAE40 25297069 */ addiu $t1, %lo(D_803B7069) # addiu $t1, $t1, 0x7069
/* 0BBA44 800BAE44 3C0F803B */ lui $t7, %hi(D_803B706B) # $t7, 0x803b
/* 0BBA48 800BAE48 91EF706B */ lbu $t7, %lo(D_803B706B)($t7)
/* 0BBA4C 800BAE4C 91250000 */ lbu $a1, ($t1)
/* 0BBA50 800BAE50 8FA80040 */ lw $t0, 0x40($sp)
/* 0BBA54 800BAE54 11E5000E */ beq $t7, $a1, .L800BAE90
/* 0BBA58 800BAE58 00000000 */ nop
/* 0BBA5C 800BAE5C 10C0000C */ beqz $a2, .L800BAE90
/* 0BBA60 800BAE60 3C0C803B */ lui $t4, %hi(D_803B6F68) # $t4, 0x803b
/* 0BBA64 800BAE64 258C6F68 */ addiu $t4, %lo(D_803B6F68) # addiu $t4, $t4, 0x6f68
/* 0BBA68 800BAE68 0185C021 */ addu $t8, $t4, $a1
/* 0BBA6C 800BAE6C 930A0000 */ lbu $t2, ($t8)
/* 0BBA70 800BAE70 3C06803B */ lui $a2, %hi(D_803B6758) # $a2, 0x803b
/* 0BBA74 800BAE74 24C66758 */ addiu $a2, %lo(D_803B6758) # addiu $a2, $a2, 0x6758
/* 0BBA78 800BAE78 24AE0001 */ addiu $t6, $a1, 1
/* 0BBA7C 800BAE7C 000AC900 */ sll $t9, $t2, 4
/* 0BBA80 800BAE80 A12E0000 */ sb $t6, ($t1)
/* 0BBA84 800BAE84 00D94021 */ addu $t0, $a2, $t9
/* 0BBA88 800BAE88 240B0001 */ li $t3, 1
/* 0BBA8C 800BAE8C AFAA0030 */ sw $t2, 0x30($sp)
.L800BAE90:
/* 0BBA90 800BAE90 3C06803B */ lui $a2, %hi(D_803B6758) # $a2, 0x803b
/* 0BBA94 800BAE94 1000002F */ b .L800BAF54
/* 0BBA98 800BAE98 24C66758 */ addiu $a2, %lo(D_803B6758) # addiu $a2, $a2, 0x6758
.L800BAE9C:
/* 0BBA9C 800BAE9C 3C06803B */ lui $a2, %hi(D_803B6758) # $a2, 0x803b
/* 0BBAA0 800BAEA0 24C66758 */ addiu $a2, %lo(D_803B6758) # addiu $a2, $a2, 0x6758
/* 0BBAA4 800BAEA4 10A0002B */ beqz $a1, .L800BAF54
/* 0BBAA8 800BAEA8 00CD4021 */ addu $t0, $a2, $t5
.L800BAEAC:
/* 0BBAAC 800BAEAC 8D040004 */ lw $a0, 4($t0)
/* 0BBAB0 800BAEB0 0003C900 */ sll $t9, $v1, 4
/* 0BBAB4 800BAEB4 24630001 */ addiu $v1, $v1, 1
/* 0BBAB8 800BAEB8 02241023 */ subu $v0, $s1, $a0
/* 0BBABC 800BAEBC 04420023 */ bltzl $v0, .L800BAF4C
/* 0BBAC0 800BAEC0 0065082B */ sltu $at, $v1, $a1
/* 0BBAC4 800BAEC4 950F000A */ lhu $t7, 0xa($t0)
/* 0BBAC8 800BAEC8 01F0C023 */ subu $t8, $t7, $s0
/* 0BBACC 800BAECC 0302082B */ sltu $at, $t8, $v0
/* 0BBAD0 800BAED0 5420001E */ bnel $at, $zero, .L800BAF4C
/* 0BBAD4 800BAED4 0065082B */ sltu $at, $v1, $a1
/* 0BBAD8 800BAED8 910E000E */ lbu $t6, 0xe($t0)
/* 0BBADC 800BAEDC 3C05803B */ lui $a1, %hi(D_803B7068) # $a1, 0x803b
/* 0BBAE0 800BAEE0 24A57068 */ addiu $a1, %lo(D_803B7068) # addiu $a1, $a1, 0x7068
/* 0BBAE4 800BAEE4 55C00013 */ bnel $t6, $zero, .L800BAF34
/* 0BBAE8 800BAEE8 8D0E0000 */ lw $t6, ($t0)
/* 0BBAEC 800BAEEC 90A30000 */ lbu $v1, ($a1)
/* 0BBAF0 800BAEF0 9104000D */ lbu $a0, 0xd($t0)
/* 0BBAF4 800BAEF4 3C07803B */ lui $a3, %hi(D_803B6E68) # $a3, 0x803b
/* 0BBAF8 800BAEF8 24E76E68 */ addiu $a3, %lo(D_803B6E68) # addiu $a3, $a3, 0x6e68
/* 0BBAFC 800BAEFC 10640009 */ beq $v1, $a0, .L800BAF24
/* 0BBB00 800BAF00 00E31021 */ addu $v0, $a3, $v1
/* 0BBB04 800BAF04 90590000 */ lbu $t9, ($v0)
/* 0BBB08 800BAF08 00E46821 */ addu $t5, $a3, $a0
/* 0BBB0C 800BAF0C A1B90000 */ sb $t9, ($t5)
/* 0BBB10 800BAF10 90580000 */ lbu $t8, ($v0)
/* 0BBB14 800BAF14 910F000D */ lbu $t7, 0xd($t0)
/* 0BBB18 800BAF18 00187100 */ sll $t6, $t8, 4
/* 0BBB1C 800BAF1C 00CEC821 */ addu $t9, $a2, $t6
/* 0BBB20 800BAF20 A32F000D */ sb $t7, 0xd($t9)
.L800BAF24:
/* 0BBB24 800BAF24 246D0001 */ addiu $t5, $v1, 1
/* 0BBB28 800BAF28 A0AD0000 */ sb $t5, ($a1)
/* 0BBB2C 800BAF2C 8D040004 */ lw $a0, 4($t0)
/* 0BBB30 800BAF30 8D0E0000 */ lw $t6, ($t0)
.L800BAF34:
/* 0BBB34 800BAF34 24180002 */ li $t8, 2
/* 0BBB38 800BAF38 A118000E */ sb $t8, 0xe($t0)
/* 0BBB3C 800BAF3C 01D17821 */ addu $t7, $t6, $s1
/* 0BBB40 800BAF40 10000036 */ b .L800BB01C
/* 0BBB44 800BAF44 01E41023 */ subu $v0, $t7, $a0
/* 0BBB48 800BAF48 0065082B */ sltu $at, $v1, $a1
.L800BAF4C:
/* 0BBB4C 800BAF4C 1420FFD7 */ bnez $at, .L800BAEAC
/* 0BBB50 800BAF50 00D94021 */ addu $t0, $a2, $t9
.L800BAF54:
/* 0BBB54 800BAF54 1560000C */ bnez $t3, .L800BAF88
/* 0BBB58 800BAF58 8FAA0030 */ lw $t2, 0x30($sp)
/* 0BBB5C 800BAF5C 3C05803B */ lui $a1, %hi(D_803B7068) # $a1, 0x803b
/* 0BBB60 800BAF60 24A57068 */ addiu $a1, %lo(D_803B7068) # addiu $a1, $a1, 0x7068
/* 0BBB64 800BAF64 90A30000 */ lbu $v1, ($a1)
/* 0BBB68 800BAF68 3C07803B */ lui $a3, %hi(D_803B6E68) # $a3, 0x803b
/* 0BBB6C 800BAF6C 24E76E68 */ addiu $a3, %lo(D_803B6E68) # addiu $a3, $a3, 0x6e68
/* 0BBB70 800BAF70 00E36821 */ addu $t5, $a3, $v1
/* 0BBB74 800BAF74 91AA0000 */ lbu $t2, ($t5)
/* 0BBB78 800BAF78 24780001 */ addiu $t8, $v1, 1
/* 0BBB7C 800BAF7C A0B80000 */ sb $t8, ($a1)
/* 0BBB80 800BAF80 000A7100 */ sll $t6, $t2, 4
/* 0BBB84 800BAF84 00CE4021 */ addu $t0, $a2, $t6
.L800BAF88:
/* 0BBB88 800BAF88 9502000A */ lhu $v0, 0xa($t0)
/* 0BBB8C 800BAF8C 2401FFF0 */ li $at, -16
/* 0BBB90 800BAF90 3C09803B */ lui $t1, %hi(D_803B70BC) # $t1, 0x803b
/* 0BBB94 800BAF94 240F0002 */ li $t7, 2
/* 0BBB98 800BAF98 02218024 */ and $s0, $s1, $at
/* 0BBB9C 800BAF9C 252970BC */ addiu $t1, %lo(D_803B70BC) # addiu $t1, $t1, 0x70bc
/* 0BBBA0 800BAFA0 A10F000E */ sb $t7, 0xe($t0)
/* 0BBBA4 800BAFA4 AD100004 */ sw $s0, 4($t0)
/* 0BBBA8 800BAFA8 A5020008 */ sh $v0, 8($t0)
/* 0BBBAC 800BAFAC 8D230000 */ lw $v1, ($t1)
/* 0BBBB0 800BAFB0 8D180000 */ lw $t8, ($t0)
/* 0BBBB4 800BAFB4 3C0D803B */ lui $t5, %hi(D_803B6120) # $t5, 0x803b
/* 0BBBB8 800BAFB8 0003C880 */ sll $t9, $v1, 2
/* 0BBBBC 800BAFBC 3C0E803B */ lui $t6, %hi(D_803B6008) # $t6, 0x803b
/* 0BBBC0 800BAFC0 0323C823 */ subu $t9, $t9, $v1
/* 0BBBC4 800BAFC4 0019C8C0 */ sll $t9, $t9, 3
/* 0BBBC8 800BAFC8 25CE6008 */ addiu $t6, %lo(D_803B6008) # addiu $t6, $t6, 0x6008
/* 0BBBCC 800BAFCC 25AD6120 */ addiu $t5, %lo(D_803B6120) # addiu $t5, $t5, 0x6120
/* 0BBBD0 800BAFD0 246F0001 */ addiu $t7, $v1, 1
/* 0BBBD4 800BAFD4 AD2F0000 */ sw $t7, ($t1)
/* 0BBBD8 800BAFD8 032D2021 */ addu $a0, $t9, $t5
/* 0BBBDC 800BAFDC AFAE0018 */ sw $t6, 0x18($sp)
/* 0BBBE0 800BAFE0 AFAA0030 */ sw $t2, 0x30($sp)
/* 0BBBE4 800BAFE4 AFA80040 */ sw $t0, 0x40($sp)
/* 0BBBE8 800BAFE8 02003825 */ move $a3, $s0
/* 0BBBEC 800BAFEC 00002825 */ move $a1, $zero
/* 0BBBF0 800BAFF0 00003025 */ move $a2, $zero
/* 0BBBF4 800BAFF4 AFA20014 */ sw $v0, 0x14($sp)
/* 0BBBF8 800BAFF8 0C03370C */ jal osPiStartDma
/* 0BBBFC 800BAFFC AFB80010 */ sw $t8, 0x10($sp)
/* 0BBC00 800BB000 8FAA0030 */ lw $t2, 0x30($sp)
/* 0BBC04 800BB004 8FB90054 */ lw $t9, 0x54($sp)
/* 0BBC08 800BB008 8FA80040 */ lw $t0, 0x40($sp)
/* 0BBC0C 800BB00C 02306823 */ subu $t5, $s1, $s0
/* 0BBC10 800BB010 A32A0000 */ sb $t2, ($t9)
/* 0BBC14 800BB014 8D180000 */ lw $t8, ($t0)
/* 0BBC18 800BB018 01B81021 */ addu $v0, $t5, $t8
.L800BB01C:
/* 0BBC1C 800BB01C 8FBF002C */ lw $ra, 0x2c($sp)
/* 0BBC20 800BB020 8FB00024 */ lw $s0, 0x24($sp)
/* 0BBC24 800BB024 8FB10028 */ lw $s1, 0x28($sp)
/* 0BBC28 800BB028 03E00008 */ jr $ra
/* 0BBC2C 800BB02C 27BD0048 */ addiu $sp, $sp, 0x48
glabel func_800BB030
/* 0BBC30 800BB030 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0BBC34 800BB034 AFB50028 */ sw $s5, 0x28($sp)
/* 0BBC38 800BB038 3C15803B */ lui $s5, %hi(D_803B70B0) # $s5, 0x803b
/* 0BBC3C 800BB03C 26B570B0 */ addiu $s5, %lo(D_803B70B0) # addiu $s5, $s5, 0x70b0
/* 0BBC40 800BB040 AFA40038 */ sw $a0, 0x38($sp)
/* 0BBC44 800BB044 8EA40000 */ lw $a0, ($s5)
/* 0BBC48 800BB048 AFB2001C */ sw $s2, 0x1c($sp)
/* 0BBC4C 800BB04C 24120003 */ li $s2, 3
/* 0BBC50 800BB050 00920019 */ multu $a0, $s2
/* 0BBC54 800BB054 AFB30020 */ sw $s3, 0x20($sp)
/* 0BBC58 800BB058 3C13803B */ lui $s3, %hi(D_803B7088) # $s3, 0x803b
/* 0BBC5C 800BB05C 26737088 */ addiu $s3, %lo(D_803B7088) # addiu $s3, $s3, 0x7088
/* 0BBC60 800BB060 86780000 */ lh $t8, ($s3)
/* 0BBC64 800BB064 AFB40024 */ sw $s4, 0x24($sp)
/* 0BBC68 800BB068 3C14803B */ lui $s4, %hi(D_803B70A8) # $s4, 0x803b
/* 0BBC6C 800BB06C AFB70030 */ sw $s7, 0x30($sp)
/* 0BBC70 800BB070 AFB6002C */ sw $s6, 0x2c($sp)
/* 0BBC74 800BB074 AFB10018 */ sw $s1, 0x18($sp)
/* 0BBC78 800BB078 00007812 */ mflo $t7
/* 0BBC7C 800BB07C 269470A8 */ addiu $s4, %lo(D_803B70A8) # addiu $s4, $s4, 0x70a8
/* 0BBC80 800BB080 AFB00014 */ sw $s0, 0x14($sp)
/* 0BBC84 800BB084 01F80019 */ multu $t7, $t8
/* 0BBC88 800BB088 240E05A0 */ li $t6, 1440
/* 0BBC8C 800BB08C 3C11803B */ lui $s1, %hi(D_803B6E58) # $s1, 0x803b
/* 0BBC90 800BB090 3C16803B */ lui $s6, %hi(D_803AFBE8) # $s6, 0x803b
/* 0BBC94 800BB094 3C17803B */ lui $s7, %hi(D_803B6758) # $s7, 0x803b
/* 0BBC98 800BB098 AFBF0034 */ sw $ra, 0x34($sp)
/* 0BBC9C 800BB09C AE8E0000 */ sw $t6, ($s4)
/* 0BBCA0 800BB0A0 26F76758 */ addiu $s7, %lo(D_803B6758) # addiu $s7, $s7, 0x6758
/* 0BBCA4 800BB0A4 26D6FBE8 */ addiu $s6, %lo(D_803AFBE8) # addiu $s6, $s6, -0x418
/* 0BBCA8 800BB0A8 26316E58 */ addiu $s1, %lo(D_803B6E58) # addiu $s1, $s1, 0x6e58
/* 0BBCAC 800BB0AC 0000C812 */ mflo $t9
/* 0BBCB0 800BB0B0 01C02825 */ move $a1, $t6
/* 0BBCB4 800BB0B4 1B200020 */ blez $t9, .L800BB138
/* 0BBCB8 800BB0B8 00008025 */ move $s0, $zero
.L800BB0BC:
/* 0BBCBC 800BB0BC 0C02E3FF */ jal func_800B8FFC
/* 0BBCC0 800BB0C0 02C02025 */ move $a0, $s6
/* 0BBCC4 800BB0C4 8E260000 */ lw $a2, ($s1)
/* 0BBCC8 800BB0C8 00064100 */ sll $t0, $a2, 4
/* 0BBCCC 800BB0CC 02E81821 */ addu $v1, $s7, $t0
/* 0BBCD0 800BB0D0 14400004 */ bnez $v0, .L800BB0E4
/* 0BBCD4 800BB0D4 AC620000 */ sw $v0, ($v1)
/* 0BBCD8 800BB0D8 00008025 */ move $s0, $zero
/* 0BBCDC 800BB0DC 10000016 */ b .L800BB138
/* 0BBCE0 800BB0E0 8EA40000 */ lw $a0, ($s5)
.L800BB0E4:
/* 0BBCE4 800BB0E4 8EA40000 */ lw $a0, ($s5)
/* 0BBCE8 800BB0E8 866B0000 */ lh $t3, ($s3)
/* 0BBCEC 800BB0EC 8E850000 */ lw $a1, ($s4)
/* 0BBCF0 800BB0F0 00920019 */ multu $a0, $s2
/* 0BBCF4 800BB0F4 26100001 */ addiu $s0, $s0, 1
/* 0BBCF8 800BB0F8 24C90001 */ addiu $t1, $a2, 1
/* 0BBCFC 800BB0FC AC600004 */ sw $zero, 4($v1)
/* 0BBD00 800BB100 A4600008 */ sh $zero, 8($v1)
/* 0BBD04 800BB104 A060000C */ sb $zero, 0xc($v1)
/* 0BBD08 800BB108 A060000E */ sb $zero, 0xe($v1)
/* 0BBD0C 800BB10C AE290000 */ sw $t1, ($s1)
/* 0BBD10 800BB110 A465000A */ sh $a1, 0xa($v1)
/* 0BBD14 800BB114 00005012 */ mflo $t2
/* 0BBD18 800BB118 00000000 */ nop
/* 0BBD1C 800BB11C 00000000 */ nop
/* 0BBD20 800BB120 014B0019 */ multu $t2, $t3
/* 0BBD24 800BB124 00006012 */ mflo $t4
/* 0BBD28 800BB128 020C082A */ slt $at, $s0, $t4
/* 0BBD2C 800BB12C 1420FFE3 */ bnez $at, .L800BB0BC
/* 0BBD30 800BB130 00000000 */ nop
/* 0BBD34 800BB134 00008025 */ move $s0, $zero
.L800BB138:
/* 0BBD38 800BB138 3C11803B */ lui $s1, %hi(D_803B6E58) # $s1, 0x803b
/* 0BBD3C 800BB13C 26316E58 */ addiu $s1, %lo(D_803B6E58) # addiu $s1, $s1, 0x6e58
/* 0BBD40 800BB140 8E260000 */ lw $a2, ($s1)
/* 0BBD44 800BB144 3C16803B */ lui $s6, %hi(D_803AFBE8) # $s6, 0x803b
/* 0BBD48 800BB148 3C17803B */ lui $s7, %hi(D_803B6758) # $s7, 0x803b
/* 0BBD4C 800BB14C 26F76758 */ addiu $s7, %lo(D_803B6758) # addiu $s7, $s7, 0x6758
/* 0BBD50 800BB150 10C0000C */ beqz $a2, .L800BB184
/* 0BBD54 800BB154 26D6FBE8 */ addiu $s6, %lo(D_803AFBE8) # addiu $s6, $s6, -0x418
/* 0BBD58 800BB158 3C02803B */ lui $v0, %hi(D_803B6E68) # $v0, 0x803b
/* 0BBD5C 800BB15C 3C03803B */ lui $v1, %hi(D_803B6758) # $v1, 0x803b
/* 0BBD60 800BB160 24636758 */ addiu $v1, %lo(D_803B6758) # addiu $v1, $v1, 0x6758
/* 0BBD64 800BB164 24426E68 */ addiu $v0, %lo(D_803B6E68) # addiu $v0, $v0, 0x6e68
.L800BB168:
/* 0BBD68 800BB168 A0500000 */ sb $s0, ($v0)
/* 0BBD6C 800BB16C A070000D */ sb $s0, 0xd($v1)
/* 0BBD70 800BB170 26100001 */ addiu $s0, $s0, 1
/* 0BBD74 800BB174 0206082B */ sltu $at, $s0, $a2
/* 0BBD78 800BB178 24420001 */ addiu $v0, $v0, 1
/* 0BBD7C 800BB17C 1420FFFA */ bnez $at, .L800BB168
/* 0BBD80 800BB180 24630010 */ addiu $v1, $v1, 0x10
.L800BB184:
/* 0BBD84 800BB184 28C10100 */ slti $at, $a2, 0x100
/* 0BBD88 800BB188 00C03825 */ move $a3, $a2
/* 0BBD8C 800BB18C 1020000A */ beqz $at, .L800BB1B8
/* 0BBD90 800BB190 00C08025 */ move $s0, $a2
/* 0BBD94 800BB194 3C0D803B */ lui $t5, %hi(D_803B6E68) # $t5, 0x803b
/* 0BBD98 800BB198 25AD6E68 */ addiu $t5, %lo(D_803B6E68) # addiu $t5, $t5, 0x6e68
/* 0BBD9C 800BB19C 3C03803B */ lui $v1, %hi(D_803B6F68) # $v1, 0x803b
/* 0BBDA0 800BB1A0 24636F68 */ addiu $v1, %lo(D_803B6F68) # addiu $v1, $v1, 0x6f68
/* 0BBDA4 800BB1A4 020D1021 */ addu $v0, $s0, $t5
.L800BB1A8:
/* 0BBDA8 800BB1A8 24420001 */ addiu $v0, $v0, 1
/* 0BBDAC 800BB1AC 0043082B */ sltu $at, $v0, $v1
/* 0BBDB0 800BB1B0 1420FFFD */ bnez $at, .L800BB1A8
/* 0BBDB4 800BB1B4 A040FFFF */ sb $zero, -1($v0)
.L800BB1B8:
/* 0BBDB8 800BB1B8 3C01803B */ lui $at, %hi(D_803B7068) # $at, 0x803b
/* 0BBDBC 800BB1BC A0207068 */ sb $zero, %lo(D_803B7068)($at)
/* 0BBDC0 800BB1C0 3C12803B */ lui $s2, %hi(D_803B6E5C) # $s2, 0x803b
/* 0BBDC4 800BB1C4 3C01803B */ lui $at, %hi(D_803B706A) # $at, 0x803b
/* 0BBDC8 800BB1C8 26526E5C */ addiu $s2, %lo(D_803B6E5C) # addiu $s2, $s2, 0x6e5c
/* 0BBDCC 800BB1CC A026706A */ sb $a2, %lo(D_803B706A)($at)
/* 0BBDD0 800BB1D0 240E0180 */ li $t6, 384
/* 0BBDD4 800BB1D4 AE460000 */ sw $a2, ($s2)
/* 0BBDD8 800BB1D8 AE8E0000 */ sw $t6, ($s4)
/* 0BBDDC 800BB1DC 1880001A */ blez $a0, .L800BB248
/* 0BBDE0 800BB1E0 00008025 */ move $s0, $zero
/* 0BBDE4 800BB1E4 01C02825 */ move $a1, $t6
.L800BB1E8:
/* 0BBDE8 800BB1E8 0C02E3FF */ jal func_800B8FFC
/* 0BBDEC 800BB1EC 02C02025 */ move $a0, $s6
/* 0BBDF0 800BB1F0 8E260000 */ lw $a2, ($s1)
/* 0BBDF4 800BB1F4 26100001 */ addiu $s0, $s0, 1
/* 0BBDF8 800BB1F8 00067900 */ sll $t7, $a2, 4
/* 0BBDFC 800BB1FC 02EF1821 */ addu $v1, $s7, $t7
/* 0BBE00 800BB200 14400003 */ bnez $v0, .L800BB210
/* 0BBE04 800BB204 AC620000 */ sw $v0, ($v1)
/* 0BBE08 800BB208 1000000F */ b .L800BB248
/* 0BBE0C 800BB20C 00C03825 */ move $a3, $a2
.L800BB210:
/* 0BBE10 800BB210 8EB90000 */ lw $t9, ($s5)
/* 0BBE14 800BB214 8E850000 */ lw $a1, ($s4)
/* 0BBE18 800BB218 24D80001 */ addiu $t8, $a2, 1
/* 0BBE1C 800BB21C 0219082A */ slt $at, $s0, $t9
/* 0BBE20 800BB220 AC600004 */ sw $zero, 4($v1)
/* 0BBE24 800BB224 A4600008 */ sh $zero, 8($v1)
/* 0BBE28 800BB228 A060000C */ sb $zero, 0xc($v1)
/* 0BBE2C 800BB22C A060000E */ sb $zero, 0xe($v1)
/* 0BBE30 800BB230 AE380000 */ sw $t8, ($s1)
/* 0BBE34 800BB234 1420FFEC */ bnez $at, .L800BB1E8
/* 0BBE38 800BB238 A465000A */ sh $a1, 0xa($v1)
/* 0BBE3C 800BB23C 3C06803B */ lui $a2, %hi(D_803B6E58) # $a2, 0x803b
/* 0BBE40 800BB240 8CC66E58 */ lw $a2, %lo(D_803B6E58)($a2)
/* 0BBE44 800BB244 00C03825 */ move $a3, $a2
.L800BB248:
/* 0BBE48 800BB248 8E450000 */ lw $a1, ($s2)
/* 0BBE4C 800BB24C 3C09803B */ lui $t1, %hi(D_803B6758) # $t1, 0x803b
/* 0BBE50 800BB250 25296758 */ addiu $t1, %lo(D_803B6758) # addiu $t1, $t1, 0x6758
/* 0BBE54 800BB254 00A6082B */ sltu $at, $a1, $a2
/* 0BBE58 800BB258 1020000F */ beqz $at, .L800BB298
/* 0BBE5C 800BB25C 00A08025 */ move $s0, $a1
/* 0BBE60 800BB260 3C0A803B */ lui $t2, %hi(D_803B6F68) # $t2, 0x803b
/* 0BBE64 800BB264 254A6F68 */ addiu $t2, %lo(D_803B6F68) # addiu $t2, $t2, 0x6f68
/* 0BBE68 800BB268 00104100 */ sll $t0, $s0, 4
/* 0BBE6C 800BB26C 02051023 */ subu $v0, $s0, $a1
/* 0BBE70 800BB270 004A2021 */ addu $a0, $v0, $t2
/* 0BBE74 800BB274 01091821 */ addu $v1, $t0, $t1
.L800BB278:
/* 0BBE78 800BB278 A0900000 */ sb $s0, ($a0)
/* 0BBE7C 800BB27C 26100001 */ addiu $s0, $s0, 1
/* 0BBE80 800BB280 0206082B */ sltu $at, $s0, $a2
/* 0BBE84 800BB284 A062000D */ sb $v0, 0xd($v1)
/* 0BBE88 800BB288 24420001 */ addiu $v0, $v0, 1
/* 0BBE8C 800BB28C 24630010 */ addiu $v1, $v1, 0x10
/* 0BBE90 800BB290 1420FFF9 */ bnez $at, .L800BB278
/* 0BBE94 800BB294 24840001 */ addiu $a0, $a0, 1
.L800BB298:
/* 0BBE98 800BB298 28E10100 */ slti $at, $a3, 0x100
/* 0BBE9C 800BB29C 1020000A */ beqz $at, .L800BB2C8
/* 0BBEA0 800BB2A0 00C56023 */ subu $t4, $a2, $a1
/* 0BBEA4 800BB2A4 3C0B803B */ lui $t3, %hi(D_803B6F68) # $t3, 0x803b
/* 0BBEA8 800BB2A8 256B6F68 */ addiu $t3, %lo(D_803B6F68) # addiu $t3, $t3, 0x6f68
/* 0BBEAC 800BB2AC 3C03803B */ lui $v1, %hi(D_803B7068) # $v1, 0x803b
/* 0BBEB0 800BB2B0 24637068 */ addiu $v1, %lo(D_803B7068) # addiu $v1, $v1, 0x7068
/* 0BBEB4 800BB2B4 00EB1021 */ addu $v0, $a3, $t3
.L800BB2B8:
/* 0BBEB8 800BB2B8 24420001 */ addiu $v0, $v0, 1
/* 0BBEBC 800BB2BC 0043082B */ sltu $at, $v0, $v1
/* 0BBEC0 800BB2C0 1420FFFD */ bnez $at, .L800BB2B8
/* 0BBEC4 800BB2C4 A045FFFF */ sb $a1, -1($v0)
.L800BB2C8:
/* 0BBEC8 800BB2C8 8FBF0034 */ lw $ra, 0x34($sp)
/* 0BBECC 800BB2CC 3C01803B */ lui $at, %hi(D_803B7069) # $at, 0x803b
/* 0BBED0 800BB2D0 A0207069 */ sb $zero, %lo(D_803B7069)($at)
/* 0BBED4 800BB2D4 3C01803B */ lui $at, %hi(D_803B706B) # $at, 0x803b
/* 0BBED8 800BB2D8 8FB00014 */ lw $s0, 0x14($sp)
/* 0BBEDC 800BB2DC 8FB10018 */ lw $s1, 0x18($sp)
/* 0BBEE0 800BB2E0 8FB2001C */ lw $s2, 0x1c($sp)
/* 0BBEE4 800BB2E4 8FB30020 */ lw $s3, 0x20($sp)
/* 0BBEE8 800BB2E8 8FB40024 */ lw $s4, 0x24($sp)
/* 0BBEEC 800BB2EC 8FB50028 */ lw $s5, 0x28($sp)
/* 0BBEF0 800BB2F0 8FB6002C */ lw $s6, 0x2c($sp)
/* 0BBEF4 800BB2F4 8FB70030 */ lw $s7, 0x30($sp)
/* 0BBEF8 800BB2F8 A02C706B */ sb $t4, %lo(D_803B706B)($at)
/* 0BBEFC 800BB2FC 03E00008 */ jr $ra
/* 0BBF00 800BB300 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800BB304
/* 0BBF04 800BB304 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0BBF08 800BB308 AFBF0014 */ sw $ra, 0x14($sp)
/* 0BBF0C 800BB30C 14800003 */ bnez $a0, .L800BB31C
/* 0BBF10 800BB310 00803825 */ move $a3, $a0
/* 0BBF14 800BB314 10000018 */ b .L800BB378
/* 0BBF18 800BB318 2402FFFF */ li $v0, -1
.L800BB31C:
/* 0BBF1C 800BB31C 90EE0001 */ lbu $t6, 1($a3)
/* 0BBF20 800BB320 24010001 */ li $at, 1
/* 0BBF24 800BB324 3C04803B */ lui $a0, %hi(D_803AFBE8) # $a0, 0x803b
/* 0BBF28 800BB328 15C10013 */ bne $t6, $at, .L800BB378
/* 0BBF2C 800BB32C 2484FBE8 */ addiu $a0, %lo(D_803AFBE8) # addiu $a0, $a0, -0x418
/* 0BBF30 800BB330 8CE50010 */ lw $a1, 0x10($a3)
/* 0BBF34 800BB334 0C02E3FF */ jal func_800B8FFC
/* 0BBF38 800BB338 AFA70020 */ sw $a3, 0x20($sp)
/* 0BBF3C 800BB33C 8FA70020 */ lw $a3, 0x20($sp)
/* 0BBF40 800BB340 14400003 */ bnez $v0, .L800BB350
/* 0BBF44 800BB344 00402825 */ move $a1, $v0
/* 0BBF48 800BB348 1000000B */ b .L800BB378
/* 0BBF4C 800BB34C 2402FFFF */ li $v0, -1
.L800BB350:
/* 0BBF50 800BB350 8CE40004 */ lw $a0, 4($a3)
/* 0BBF54 800BB354 8CE60010 */ lw $a2, 0x10($a3)
/* 0BBF58 800BB358 AFA70020 */ sw $a3, 0x20($sp)
/* 0BBF5C 800BB35C 0C02EAA0 */ jal func_800BAA80
/* 0BBF60 800BB360 AFA5001C */ sw $a1, 0x1c($sp)
/* 0BBF64 800BB364 8FA70020 */ lw $a3, 0x20($sp)
/* 0BBF68 800BB368 8FA5001C */ lw $a1, 0x1c($sp)
/* 0BBF6C 800BB36C 240F0081 */ li $t7, 129
/* 0BBF70 800BB370 A0EF0001 */ sb $t7, 1($a3)
/* 0BBF74 800BB374 ACE50004 */ sw $a1, 4($a3)
.L800BB378:
/* 0BBF78 800BB378 8FBF0014 */ lw $ra, 0x14($sp)
/* 0BBF7C 800BB37C 27BD0020 */ addiu $sp, $sp, 0x20
/* 0BBF80 800BB380 03E00008 */ jr $ra
/* 0BBF84 800BB384 00000000 */ nop
glabel func_800BB388
/* 0BBF88 800BB388 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0BBF8C 800BB38C 28A1007F */ slti $at, $a1, 0x7f
/* 0BBF90 800BB390 1020001A */ beqz $at, .L800BB3FC
/* 0BBF94 800BB394 AFBF0014 */ sw $ra, 0x14($sp)
/* 0BBF98 800BB398 0C02F252 */ jal func_800BC948
/* 0BBF9C 800BB39C 00000000 */ nop
/* 0BBFA0 800BB3A0 14400003 */ bnez $v0, .L800BB3B0
/* 0BBFA4 800BB3A4 00401825 */ move $v1, $v0
/* 0BBFA8 800BB3A8 10000020 */ b .L800BB42C
/* 0BBFAC 800BB3AC 2402FFFF */ li $v0, -1
.L800BB3B0:
/* 0BBFB0 800BB3B0 904E0001 */ lbu $t6, 1($v0)
/* 0BBFB4 800BB3B4 51C00006 */ beql $t6, $zero, .L800BB3D0
/* 0BBFB8 800BB3B8 8C640010 */ lw $a0, 0x10($v1)
/* 0BBFBC 800BB3BC 8C640008 */ lw $a0, 8($v1)
/* 0BBFC0 800BB3C0 0C02ECC1 */ jal func_800BB304
/* 0BBFC4 800BB3C4 AFA3001C */ sw $v1, 0x1c($sp)
/* 0BBFC8 800BB3C8 8FA3001C */ lw $v1, 0x1c($sp)
/* 0BBFCC 800BB3CC 8C640010 */ lw $a0, 0x10($v1)
.L800BB3D0:
/* 0BBFD0 800BB3D0 0C02ECC1 */ jal func_800BB304
/* 0BBFD4 800BB3D4 AFA3001C */ sw $v1, 0x1c($sp)
/* 0BBFD8 800BB3D8 8FA3001C */ lw $v1, 0x1c($sp)
/* 0BBFDC 800BB3DC 2401007F */ li $at, 127
/* 0BBFE0 800BB3E0 906F0002 */ lbu $t7, 2($v1)
/* 0BBFE4 800BB3E4 51E10012 */ beql $t7, $at, .L800BB430
/* 0BBFE8 800BB3E8 8FBF0014 */ lw $ra, 0x14($sp)
/* 0BBFEC 800BB3EC 0C02ECC1 */ jal func_800BB304
/* 0BBFF0 800BB3F0 8C640018 */ lw $a0, 0x18($v1)
/* 0BBFF4 800BB3F4 1000000E */ b .L800BB430
/* 0BBFF8 800BB3F8 8FBF0014 */ lw $ra, 0x14($sp)
.L800BB3FC:
/* 0BBFFC 800BB3FC 2401007F */ li $at, 127
/* 0BC000 800BB400 54A1000B */ bnel $a1, $at, .L800BB430
/* 0BC004 800BB404 8FBF0014 */ lw $ra, 0x14($sp)
/* 0BC008 800BB408 0C02F27E */ jal func_800BC9F8
/* 0BC00C 800BB40C 00C02825 */ move $a1, $a2
/* 0BC010 800BB410 14400003 */ bnez $v0, .L800BB420
/* 0BC014 800BB414 00401825 */ move $v1, $v0
/* 0BC018 800BB418 10000004 */ b .L800BB42C
/* 0BC01C 800BB41C 2402FFFF */ li $v0, -1
.L800BB420:
/* 0BC020 800BB420 0C02ECC1 */ jal func_800BB304
/* 0BC024 800BB424 8C640004 */ lw $a0, 4($v1)
/* 0BC028 800BB428 00001025 */ move $v0, $zero
.L800BB42C:
/* 0BC02C 800BB42C 8FBF0014 */ lw $ra, 0x14($sp)
.L800BB430:
/* 0BC030 800BB430 27BD0020 */ addiu $sp, $sp, 0x20
/* 0BC034 800BB434 03E00008 */ jr $ra
/* 0BC038 800BB438 00000000 */ nop
glabel func_800BB43C
/* 0BC03C 800BB43C 84830002 */ lh $v1, 2($a0)
/* 0BC040 800BB440 00001025 */ move $v0, $zero
/* 0BC044 800BB444 00803025 */ move $a2, $a0
/* 0BC048 800BB448 1860000C */ blez $v1, .L800BB47C
/* 0BC04C 800BB44C 00000000 */ nop
.L800BB450:
/* 0BC050 800BB450 8CCE0008 */ lw $t6, 8($a2)
/* 0BC054 800BB454 24420001 */ addiu $v0, $v0, 1
/* 0BC058 800BB458 51C00006 */ beql $t6, $zero, .L800BB474
/* 0BC05C 800BB45C 0043082A */ slt $at, $v0, $v1
/* 0BC060 800BB460 8CCF0004 */ lw $t7, 4($a2)
/* 0BC064 800BB464 01E5C021 */ addu $t8, $t7, $a1
/* 0BC068 800BB468 ACD80004 */ sw $t8, 4($a2)
/* 0BC06C 800BB46C 84830002 */ lh $v1, 2($a0)
/* 0BC070 800BB470 0043082A */ slt $at, $v0, $v1
.L800BB474:
/* 0BC074 800BB474 1420FFF6 */ bnez $at, .L800BB450
/* 0BC078 800BB478 24C60008 */ addiu $a2, $a2, 8
.L800BB47C:
/* 0BC07C 800BB47C 03E00008 */ jr $ra
/* 0BC080 800BB480 00000000 */ nop
glabel func_800BB484
/* 0BC084 800BB484 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0BC088 800BB488 AFBF001C */ sw $ra, 0x1c($sp)
/* 0BC08C 800BB48C AFB00018 */ sw $s0, 0x18($sp)
/* 0BC090 800BB490 AFA40030 */ sw $a0, 0x30($sp)
/* 0BC094 800BB494 8C820000 */ lw $v0, ($a0)
/* 0BC098 800BB498 00A08025 */ move $s0, $a1
/* 0BC09C 800BB49C 10400034 */ beqz $v0, .L800BB570
/* 0BC0A0 800BB4A0 00453821 */ addu $a3, $v0, $a1
/* 0BC0A4 800BB4A4 AC870000 */ sw $a3, ($a0)
/* 0BC0A8 800BB4A8 90E40001 */ lbu $a0, 1($a3)
/* 0BC0AC 800BB4AC 00E01825 */ move $v1, $a3
/* 0BC0B0 800BB4B0 24080001 */ li $t0, 1
/* 0BC0B4 800BB4B4 1480000C */ bnez $a0, .L800BB4E8
/* 0BC0B8 800BB4B8 24010080 */ li $at, 128
/* 0BC0BC 800BB4BC 8CEF0004 */ lw $t7, 4($a3)
/* 0BC0C0 800BB4C0 8C780008 */ lw $t8, 8($v1)
/* 0BC0C4 800BB4C4 8C79000C */ lw $t9, 0xc($v1)
/* 0BC0C8 800BB4C8 01E63821 */ addu $a3, $t7, $a2
/* 0BC0CC 800BB4CC AC670004 */ sw $a3, 4($v1)
/* 0BC0D0 800BB4D0 03053821 */ addu $a3, $t8, $a1
/* 0BC0D4 800BB4D4 AC670008 */ sw $a3, 8($v1)
/* 0BC0D8 800BB4D8 03253821 */ addu $a3, $t9, $a1
/* 0BC0DC 800BB4DC AC67000C */ sw $a3, 0xc($v1)
/* 0BC0E0 800BB4E0 10000023 */ b .L800BB570
/* 0BC0E4 800BB4E4 A0680001 */ sb $t0, 1($v1)
.L800BB4E8:
/* 0BC0E8 800BB4E8 54810022 */ bnel $a0, $at, .L800BB574
/* 0BC0EC 800BB4EC 8FBF001C */ lw $ra, 0x1c($sp)
/* 0BC0F0 800BB4F0 8C690004 */ lw $t1, 4($v1)
/* 0BC0F4 800BB4F4 3C04803B */ lui $a0, %hi(D_803AFBE8) # $a0, 0x803b
/* 0BC0F8 800BB4F8 8C650010 */ lw $a1, 0x10($v1)
/* 0BC0FC 800BB4FC 01263821 */ addu $a3, $t1, $a2
/* 0BC100 800BB500 AFA70028 */ sw $a3, 0x28($sp)
/* 0BC104 800BB504 AFA3002C */ sw $v1, 0x2c($sp)
/* 0BC108 800BB508 0C02E3FF */ jal func_800B8FFC
/* 0BC10C 800BB50C 2484FBE8 */ addiu $a0, %lo(D_803AFBE8) # addiu $a0, $a0, -0x418
/* 0BC110 800BB510 8FA3002C */ lw $v1, 0x2c($sp)
/* 0BC114 800BB514 8FA70028 */ lw $a3, 0x28($sp)
/* 0BC118 800BB518 14400005 */ bnez $v0, .L800BB530
/* 0BC11C 800BB51C 00402825 */ move $a1, $v0
/* 0BC120 800BB520 240A0001 */ li $t2, 1
/* 0BC124 800BB524 AC670004 */ sw $a3, 4($v1)
/* 0BC128 800BB528 1000000B */ b .L800BB558
/* 0BC12C 800BB52C A06A0001 */ sb $t2, 1($v1)
.L800BB530:
/* 0BC130 800BB530 8C660010 */ lw $a2, 0x10($v1)
/* 0BC134 800BB534 AFA50024 */ sw $a1, 0x24($sp)
/* 0BC138 800BB538 AFA3002C */ sw $v1, 0x2c($sp)
/* 0BC13C 800BB53C 0C02EAA0 */ jal func_800BAA80
/* 0BC140 800BB540 00E02025 */ move $a0, $a3
/* 0BC144 800BB544 8FA3002C */ lw $v1, 0x2c($sp)
/* 0BC148 800BB548 8FA50024 */ lw $a1, 0x24($sp)
/* 0BC14C 800BB54C 240B0081 */ li $t3, 129
/* 0BC150 800BB550 A06B0001 */ sb $t3, 1($v1)
/* 0BC154 800BB554 AC650004 */ sw $a1, 4($v1)
.L800BB558:
/* 0BC158 800BB558 8C6C0008 */ lw $t4, 8($v1)
/* 0BC15C 800BB55C 8C6D000C */ lw $t5, 0xc($v1)
/* 0BC160 800BB560 01903821 */ addu $a3, $t4, $s0
/* 0BC164 800BB564 AC670008 */ sw $a3, 8($v1)
/* 0BC168 800BB568 01B03821 */ addu $a3, $t5, $s0
/* 0BC16C 800BB56C AC67000C */ sw $a3, 0xc($v1)
.L800BB570:
/* 0BC170 800BB570 8FBF001C */ lw $ra, 0x1c($sp)
.L800BB574:
/* 0BC174 800BB574 8FB00018 */ lw $s0, 0x18($sp)
/* 0BC178 800BB578 27BD0030 */ addiu $sp, $sp, 0x30
/* 0BC17C 800BB57C 03E00008 */ jr $ra
/* 0BC180 800BB580 00000000 */ nop
glabel func_800BB584
/* 0BC184 800BB584 3C03803B */ lui $v1, %hi(D_803B7074) # $v1, 0x803b
/* 0BC188 800BB588 8C637074 */ lw $v1, %lo(D_803B7074)($v1)
/* 0BC18C 800BB58C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0BC190 800BB590 000478C0 */ sll $t7, $a0, 3
/* 0BC194 800BB594 AFBF0014 */ sw $ra, 0x14($sp)
/* 0BC198 800BB598 AFA40020 */ sw $a0, 0x20($sp)
/* 0BC19C 800BB59C 006F1021 */ addu $v0, $v1, $t7
/* 0BC1A0 800BB5A0 8C580008 */ lw $t8, 8($v0)
/* 0BC1A4 800BB5A4 57000007 */ bnel $t8, $zero, .L800BB5C4
/* 0BC1A8 800BB5A8 8C450004 */ lw $a1, 4($v0)
/* 0BC1AC 800BB5AC 8C590004 */ lw $t9, 4($v0)
/* 0BC1B0 800BB5B0 001940C0 */ sll $t0, $t9, 3
/* 0BC1B4 800BB5B4 00684821 */ addu $t1, $v1, $t0
/* 0BC1B8 800BB5B8 10000002 */ b .L800BB5C4
/* 0BC1BC 800BB5BC 8D250004 */ lw $a1, 4($t1)
/* 0BC1C0 800BB5C0 8C450004 */ lw $a1, 4($v0)
.L800BB5C4:
/* 0BC1C4 800BB5C4 8FA30020 */ lw $v1, 0x20($sp)
/* 0BC1C8 800BB5C8 3C0B803B */ lui $t3, %hi(D_803B7080) # $t3, 0x803b
/* 0BC1CC 800BB5CC 8D6B7080 */ lw $t3, %lo(D_803B7080)($t3)
/* 0BC1D0 800BB5D0 00035080 */ sll $t2, $v1, 2
/* 0BC1D4 800BB5D4 01435023 */ subu $t2, $t2, $v1
/* 0BC1D8 800BB5D8 000A1880 */ sll $v1, $t2, 2
/* 0BC1DC 800BB5DC 01631021 */ addu $v0, $t3, $v1
/* 0BC1E0 800BB5E0 8C440004 */ lw $a0, 4($v0)
/* 0BC1E4 800BB5E4 90460001 */ lbu $a2, 1($v0)
/* 0BC1E8 800BB5E8 90470002 */ lbu $a3, 2($v0)
/* 0BC1EC 800BB5EC AFA30018 */ sw $v1, 0x18($sp)
/* 0BC1F0 800BB5F0 0C02ED89 */ jal func_800BB624
/* 0BC1F4 800BB5F4 2484FFFC */ addiu $a0, $a0, -4
/* 0BC1F8 800BB5F8 3C0C803B */ lui $t4, %hi(D_803B7080) # $t4, 0x803b
/* 0BC1FC 800BB5FC 8FA30018 */ lw $v1, 0x18($sp)
/* 0BC200 800BB600 8D8C7080 */ lw $t4, %lo(D_803B7080)($t4)
/* 0BC204 800BB604 01831021 */ addu $v0, $t4, $v1
/* 0BC208 800BB608 8C4D0004 */ lw $t5, 4($v0)
/* 0BC20C 800BB60C 8DAEFFFC */ lw $t6, -4($t5)
/* 0BC210 800BB610 AC4E0008 */ sw $t6, 8($v0)
/* 0BC214 800BB614 8FBF0014 */ lw $ra, 0x14($sp)
/* 0BC218 800BB618 27BD0020 */ addiu $sp, $sp, 0x20
/* 0BC21C 800BB61C 03E00008 */ jr $ra
/* 0BC220 800BB620 00000000 */ nop
glabel func_800BB624
/* 0BC224 800BB624 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0BC228 800BB628 AFBF0034 */ sw $ra, 0x34($sp)
/* 0BC22C 800BB62C AFB70030 */ sw $s7, 0x30($sp)
/* 0BC230 800BB630 AFB6002C */ sw $s6, 0x2c($sp)
/* 0BC234 800BB634 AFB50028 */ sw $s5, 0x28($sp)
/* 0BC238 800BB638 AFB40024 */ sw $s4, 0x24($sp)
/* 0BC23C 800BB63C AFB30020 */ sw $s3, 0x20($sp)
/* 0BC240 800BB640 AFB2001C */ sw $s2, 0x1c($sp)
/* 0BC244 800BB644 AFB10018 */ sw $s1, 0x18($sp)
/* 0BC248 800BB648 AFB00014 */ sw $s0, 0x14($sp)
/* 0BC24C 800BB64C AFA60040 */ sw $a2, 0x40($sp)
/* 0BC250 800BB650 8C820000 */ lw $v0, ($a0)
/* 0BC254 800BB654 00809825 */ move $s3, $a0
/* 0BC258 800BB658 00A0A825 */ move $s5, $a1
/* 0BC25C 800BB65C 1040001C */ beqz $v0, .L800BB6D0
/* 0BC260 800BB660 00E0B825 */ move $s7, $a3
/* 0BC264 800BB664 10E0001A */ beqz $a3, .L800BB6D0
/* 0BC268 800BB668 00447021 */ addu $t6, $v0, $a0
/* 0BC26C 800BB66C AC8E0000 */ sw $t6, ($a0)
/* 0BC270 800BB670 10E00017 */ beqz $a3, .L800BB6D0
/* 0BC274 800BB674 00009025 */ move $s2, $zero
/* 0BC278 800BB678 0000A025 */ move $s4, $zero
/* 0BC27C 800BB67C 24160001 */ li $s6, 1
.L800BB680:
/* 0BC280 800BB680 8E6F0000 */ lw $t7, ($s3)
/* 0BC284 800BB684 01F41021 */ addu $v0, $t7, $s4
/* 0BC288 800BB688 8C500000 */ lw $s0, ($v0)
/* 0BC28C 800BB68C 1200000D */ beqz $s0, .L800BB6C4
/* 0BC290 800BB690 02138021 */ addu $s0, $s0, $s3
/* 0BC294 800BB694 AC500000 */ sw $s0, ($v0)
/* 0BC298 800BB698 92180002 */ lbu $t8, 2($s0)
/* 0BC29C 800BB69C 02008825 */ move $s1, $s0
/* 0BC2A0 800BB6A0 26040004 */ addiu $a0, $s0, 4
/* 0BC2A4 800BB6A4 17000007 */ bnez $t8, .L800BB6C4
/* 0BC2A8 800BB6A8 02602825 */ move $a1, $s3
/* 0BC2AC 800BB6AC 0C02ED21 */ jal func_800BB484
/* 0BC2B0 800BB6B0 02A03025 */ move $a2, $s5
/* 0BC2B4 800BB6B4 8E30000C */ lw $s0, 0xc($s1)
/* 0BC2B8 800BB6B8 A2360002 */ sb $s6, 2($s1)
/* 0BC2BC 800BB6BC 0213C821 */ addu $t9, $s0, $s3
/* 0BC2C0 800BB6C0 AE39000C */ sw $t9, 0xc($s1)
.L800BB6C4:
/* 0BC2C4 800BB6C4 26520001 */ addiu $s2, $s2, 1
/* 0BC2C8 800BB6C8 1657FFED */ bne $s2, $s7, .L800BB680
/* 0BC2CC 800BB6CC 26940004 */ addiu $s4, $s4, 4
.L800BB6D0:
/* 0BC2D0 800BB6D0 8FA80040 */ lw $t0, 0x40($sp)
/* 0BC2D4 800BB6D4 24160001 */ li $s6, 1
/* 0BC2D8 800BB6D8 26720004 */ addiu $s2, $s3, 4
/* 0BC2DC 800BB6DC 1100001D */ beqz $t0, .L800BB754
/* 0BC2E0 800BB6E0 00084880 */ sll $t1, $t0, 2
/* 0BC2E4 800BB6E4 0133A021 */ addu $s4, $t1, $s3
/* 0BC2E8 800BB6E8 26940004 */ addiu $s4, $s4, 4
/* 0BC2EC 800BB6EC 8E420000 */ lw $v0, ($s2)
.L800BB6F0:
/* 0BC2F0 800BB6F0 10400015 */ beqz $v0, .L800BB748
/* 0BC2F4 800BB6F4 00535021 */ addu $t2, $v0, $s3
/* 0BC2F8 800BB6F8 AE4A0000 */ sw $t2, ($s2)
/* 0BC2FC 800BB6FC 914B0000 */ lbu $t3, ($t2)
/* 0BC300 800BB700 01408825 */ move $s1, $t2
/* 0BC304 800BB704 25440008 */ addiu $a0, $t2, 8
/* 0BC308 800BB708 1560000F */ bnez $t3, .L800BB748
/* 0BC30C 800BB70C 02602825 */ move $a1, $s3
/* 0BC310 800BB710 0C02ED21 */ jal func_800BB484
/* 0BC314 800BB714 02A03025 */ move $a2, $s5
/* 0BC318 800BB718 26240010 */ addiu $a0, $s1, 0x10
/* 0BC31C 800BB71C 02602825 */ move $a1, $s3
/* 0BC320 800BB720 0C02ED21 */ jal func_800BB484
/* 0BC324 800BB724 02A03025 */ move $a2, $s5
/* 0BC328 800BB728 26240018 */ addiu $a0, $s1, 0x18
/* 0BC32C 800BB72C 02602825 */ move $a1, $s3
/* 0BC330 800BB730 0C02ED21 */ jal func_800BB484
/* 0BC334 800BB734 02A03025 */ move $a2, $s5
/* 0BC338 800BB738 8E300004 */ lw $s0, 4($s1)
/* 0BC33C 800BB73C A2360000 */ sb $s6, ($s1)
/* 0BC340 800BB740 02136021 */ addu $t4, $s0, $s3
/* 0BC344 800BB744 AE2C0004 */ sw $t4, 4($s1)
.L800BB748:
/* 0BC348 800BB748 26520004 */ addiu $s2, $s2, 4
/* 0BC34C 800BB74C 5692FFE8 */ bnel $s4, $s2, .L800BB6F0
/* 0BC350 800BB750 8E420000 */ lw $v0, ($s2)
.L800BB754:
/* 0BC354 800BB754 8FBF0034 */ lw $ra, 0x34($sp)
/* 0BC358 800BB758 8FB00014 */ lw $s0, 0x14($sp)
/* 0BC35C 800BB75C 8FB10018 */ lw $s1, 0x18($sp)
/* 0BC360 800BB760 8FB2001C */ lw $s2, 0x1c($sp)
/* 0BC364 800BB764 8FB30020 */ lw $s3, 0x20($sp)
/* 0BC368 800BB768 8FB40024 */ lw $s4, 0x24($sp)
/* 0BC36C 800BB76C 8FB50028 */ lw $s5, 0x28($sp)
/* 0BC370 800BB770 8FB6002C */ lw $s6, 0x2c($sp)
/* 0BC374 800BB774 8FB70030 */ lw $s7, 0x30($sp)
/* 0BC378 800BB778 03E00008 */ jr $ra
/* 0BC37C 800BB77C 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800BB780
/* 0BC380 800BB780 3C0E803B */ lui $t6, %hi(D_803B7070) # $t6, 0x803b
/* 0BC384 800BB784 8DCE7070 */ lw $t6, %lo(D_803B7070)($t6)
/* 0BC388 800BB788 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 0BC38C 800BB78C 000478C0 */ sll $t7, $a0, 3
/* 0BC390 800BB790 AFBF0024 */ sw $ra, 0x24($sp)
/* 0BC394 800BB794 AFB00020 */ sw $s0, 0x20($sp)
/* 0BC398 800BB798 01CF1021 */ addu $v0, $t6, $t7
/* 0BC39C 800BB79C 8C460008 */ lw $a2, 8($v0)
/* 0BC3A0 800BB7A0 2401FFF0 */ li $at, -16
/* 0BC3A4 800BB7A4 8C590004 */ lw $t9, 4($v0)
/* 0BC3A8 800BB7A8 24C6001E */ addiu $a2, $a2, 0x1e
/* 0BC3AC 800BB7AC 00808025 */ move $s0, $a0
/* 0BC3B0 800BB7B0 00C1C024 */ and $t8, $a2, $at
/* 0BC3B4 800BB7B4 00A03825 */ move $a3, $a1
/* 0BC3B8 800BB7B8 2706FFF0 */ addiu $a2, $t8, -0x10
/* 0BC3BC 800BB7BC 3C04803B */ lui $a0, %hi(D_803AFE18) # $a0, 0x803b
/* 0BC3C0 800BB7C0 2484FE18 */ addiu $a0, %lo(D_803AFE18) # addiu $a0, $a0, -0x1e8
/* 0BC3C4 800BB7C4 AFA60054 */ sw $a2, 0x54($sp)
/* 0BC3C8 800BB7C8 24050001 */ li $a1, 1
/* 0BC3CC 800BB7CC AFB00010 */ sw $s0, 0x10($sp)
/* 0BC3D0 800BB7D0 0C02E4EF */ jal func_800B93BC
/* 0BC3D4 800BB7D4 AFB90028 */ sw $t9, 0x28($sp)
/* 0BC3D8 800BB7D8 8FA60054 */ lw $a2, 0x54($sp)
/* 0BC3DC 800BB7DC 14400003 */ bnez $v0, .L800BB7EC
/* 0BC3E0 800BB7E0 00402825 */ move $a1, $v0
/* 0BC3E4 800BB7E4 1000001A */ b .L800BB850
/* 0BC3E8 800BB7E8 00001025 */ move $v0, $zero
.L800BB7EC:
/* 0BC3EC 800BB7EC 8FA40028 */ lw $a0, 0x28($sp)
/* 0BC3F0 800BB7F0 AFA5002C */ sw $a1, 0x2c($sp)
/* 0BC3F4 800BB7F4 0C02EAA0 */ jal func_800BAA80
/* 0BC3F8 800BB7F8 24840010 */ addiu $a0, $a0, 0x10
/* 0BC3FC 800BB7FC 3C0A803B */ lui $t2, %hi(D_803B7080) # $t2, 0x803b
/* 0BC400 800BB800 8D4A7080 */ lw $t2, %lo(D_803B7080)($t2)
/* 0BC404 800BB804 8FA8002C */ lw $t0, 0x2c($sp)
/* 0BC408 800BB808 00105880 */ sll $t3, $s0, 2
/* 0BC40C 800BB80C 01705823 */ subu $t3, $t3, $s0
/* 0BC410 800BB810 000B5880 */ sll $t3, $t3, 2
/* 0BC414 800BB814 014B6021 */ addu $t4, $t2, $t3
/* 0BC418 800BB818 25090004 */ addiu $t1, $t0, 4
/* 0BC41C 800BB81C AD890004 */ sw $t1, 4($t4)
/* 0BC420 800BB820 0C02ED61 */ jal func_800BB584
/* 0BC424 800BB824 02002025 */ move $a0, $s0
/* 0BC428 800BB828 3C0D803B */ lui $t5, %hi(D_803B03C0) # $t5, 0x803b
/* 0BC42C 800BB82C 25AD03C0 */ addiu $t5, %lo(D_803B03C0) # addiu $t5, $t5, 0x3c0
/* 0BC430 800BB830 020D1021 */ addu $v0, $s0, $t5
/* 0BC434 800BB834 904E0000 */ lbu $t6, ($v0)
/* 0BC438 800BB838 24010005 */ li $at, 5
/* 0BC43C 800BB83C 240F0002 */ li $t7, 2
/* 0BC440 800BB840 51C10003 */ beql $t6, $at, .L800BB850
/* 0BC444 800BB844 8FA2002C */ lw $v0, 0x2c($sp)
/* 0BC448 800BB848 A04F0000 */ sb $t7, ($v0)
/* 0BC44C 800BB84C 8FA2002C */ lw $v0, 0x2c($sp)
.L800BB850:
/* 0BC450 800BB850 8FBF0024 */ lw $ra, 0x24($sp)
/* 0BC454 800BB854 8FB00020 */ lw $s0, 0x20($sp)
/* 0BC458 800BB858 27BD0058 */ addiu $sp, $sp, 0x58
/* 0BC45C 800BB85C 03E00008 */ jr $ra
/* 0BC460 800BB860 00000000 */ nop
glabel func_800BB864
/* 0BC464 800BB864 3C0E803B */ lui $t6, %hi(D_803B7070) # $t6, 0x803b
/* 0BC468 800BB868 8DCE7070 */ lw $t6, %lo(D_803B7070)($t6)
/* 0BC46C 800BB86C 27BDFF98 */ addiu $sp, $sp, -0x68
/* 0BC470 800BB870 AFB0001C */ sw $s0, 0x1c($sp)
/* 0BC474 800BB874 000478C0 */ sll $t7, $a0, 3
/* 0BC478 800BB878 00C08025 */ move $s0, $a2
/* 0BC47C 800BB87C AFBF0024 */ sw $ra, 0x24($sp)
/* 0BC480 800BB880 AFB10020 */ sw $s1, 0x20($sp)
/* 0BC484 800BB884 01CF1021 */ addu $v0, $t6, $t7
/* 0BC488 800BB888 8C460008 */ lw $a2, 8($v0)
/* 0BC48C 800BB88C 2401FFF0 */ li $at, -16
/* 0BC490 800BB890 8C590004 */ lw $t9, 4($v0)
/* 0BC494 800BB894 24C6001E */ addiu $a2, $a2, 0x1e
/* 0BC498 800BB898 00808825 */ move $s1, $a0
/* 0BC49C 800BB89C 00C1C024 */ and $t8, $a2, $at
/* 0BC4A0 800BB8A0 00A03825 */ move $a3, $a1
/* 0BC4A4 800BB8A4 2706FFF0 */ addiu $a2, $t8, -0x10
/* 0BC4A8 800BB8A8 3C04803B */ lui $a0, %hi(D_803AFE18) # $a0, 0x803b
/* 0BC4AC 800BB8AC 2484FE18 */ addiu $a0, %lo(D_803AFE18) # addiu $a0, $a0, -0x1e8
/* 0BC4B0 800BB8B0 AFA60064 */ sw $a2, 0x64($sp)
/* 0BC4B4 800BB8B4 24050001 */ li $a1, 1
/* 0BC4B8 800BB8B8 AFB10010 */ sw $s1, 0x10($sp)
/* 0BC4BC 800BB8BC 0C02E4EF */ jal func_800B93BC
/* 0BC4C0 800BB8C0 AFB90038 */ sw $t9, 0x38($sp)
/* 0BC4C4 800BB8C4 8FA60064 */ lw $a2, 0x64($sp)
/* 0BC4C8 800BB8C8 14400003 */ bnez $v0, .L800BB8D8
/* 0BC4CC 800BB8CC AFA2003C */ sw $v0, 0x3c($sp)
/* 0BC4D0 800BB8D0 1000002D */ b .L800BB988
/* 0BC4D4 800BB8D4 00001025 */ move $v0, $zero
.L800BB8D8:
/* 0BC4D8 800BB8D8 3C04803B */ lui $a0, %hi(D_803B7080) # $a0, 0x803b
/* 0BC4DC 800BB8DC 24847080 */ addiu $a0, %lo(D_803B7080) # addiu $a0, $a0, 0x7080
/* 0BC4E0 800BB8E0 A2110006 */ sb $s1, 6($s0)
/* 0BC4E4 800BB8E4 8C890000 */ lw $t1, ($a0)
/* 0BC4E8 800BB8E8 00111880 */ sll $v1, $s1, 2
/* 0BC4EC 800BB8EC 00711823 */ subu $v1, $v1, $s1
/* 0BC4F0 800BB8F0 00031880 */ sll $v1, $v1, 2
/* 0BC4F4 800BB8F4 24480004 */ addiu $t0, $v0, 4
/* 0BC4F8 800BB8F8 01235021 */ addu $t2, $t1, $v1
/* 0BC4FC 800BB8FC AD480004 */ sw $t0, 4($t2)
/* 0BC500 800BB900 8C8B0000 */ lw $t3, ($a0)
/* 0BC504 800BB904 26070108 */ addiu $a3, $s0, 0x108
/* 0BC508 800BB908 00E02025 */ move $a0, $a3
/* 0BC50C 800BB90C 01636021 */ addu $t4, $t3, $v1
/* 0BC510 800BB910 AD800008 */ sw $zero, 8($t4)
/* 0BC514 800BB914 AE02013C */ sw $v0, 0x13c($s0)
/* 0BC518 800BB918 8FAD0038 */ lw $t5, 0x38($sp)
/* 0BC51C 800BB91C AE060144 */ sw $a2, 0x144($s0)
/* 0BC520 800BB920 24060001 */ li $a2, 1
/* 0BC524 800BB924 25AE0010 */ addiu $t6, $t5, 0x10
/* 0BC528 800BB928 AE0E0140 */ sw $t6, 0x140($s0)
/* 0BC52C 800BB92C AFA7002C */ sw $a3, 0x2c($sp)
/* 0BC530 800BB930 0C033358 */ jal osCreateMesgQueue
/* 0BC534 800BB934 26050120 */ addiu $a1, $s0, 0x120
/* 0BC538 800BB938 92180000 */ lbu $t8, ($s0)
/* 0BC53C 800BB93C 8FA7002C */ lw $a3, 0x2c($sp)
/* 0BC540 800BB940 26090124 */ addiu $t1, $s0, 0x124
/* 0BC544 800BB944 37190008 */ ori $t9, $t8, 8
/* 0BC548 800BB948 A2190000 */ sb $t9, ($s0)
/* 0BC54C 800BB94C AFA90010 */ sw $t1, 0x10($sp)
/* 0BC550 800BB950 26040140 */ addiu $a0, $s0, 0x140
/* 0BC554 800BB954 2605013C */ addiu $a1, $s0, 0x13c
/* 0BC558 800BB958 0C02EAD6 */ jal func_800BAB58
/* 0BC55C 800BB95C 26060144 */ addiu $a2, $s0, 0x144
/* 0BC560 800BB960 3C08803B */ lui $t0, %hi(D_803B03C0) # $t0, 0x803b
/* 0BC564 800BB964 250803C0 */ addiu $t0, %lo(D_803B03C0) # addiu $t0, $t0, 0x3c0
/* 0BC568 800BB968 02281021 */ addu $v0, $s1, $t0
/* 0BC56C 800BB96C 904A0000 */ lbu $t2, ($v0)
/* 0BC570 800BB970 24010005 */ li $at, 5
/* 0BC574 800BB974 240B0001 */ li $t3, 1
/* 0BC578 800BB978 51410003 */ beql $t2, $at, .L800BB988
/* 0BC57C 800BB97C 8FA2003C */ lw $v0, 0x3c($sp)
/* 0BC580 800BB980 A04B0000 */ sb $t3, ($v0)
/* 0BC584 800BB984 8FA2003C */ lw $v0, 0x3c($sp)
.L800BB988:
/* 0BC588 800BB988 8FBF0024 */ lw $ra, 0x24($sp)
/* 0BC58C 800BB98C 8FB0001C */ lw $s0, 0x1c($sp)
/* 0BC590 800BB990 8FB10020 */ lw $s1, 0x20($sp)
/* 0BC594 800BB994 03E00008 */ jr $ra
/* 0BC598 800BB998 27BD0068 */ addiu $sp, $sp, 0x68
glabel func_800BB99C
/* 0BC59C 800BB99C 3C0E803B */ lui $t6, %hi(D_803B706C) # $t6, 0x803b
/* 0BC5A0 800BB9A0 8DCE706C */ lw $t6, %lo(D_803B706C)($t6)
/* 0BC5A4 800BB9A4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0BC5A8 800BB9A8 0004C0C0 */ sll $t8, $a0, 3
/* 0BC5AC 800BB9AC AFBF001C */ sw $ra, 0x1c($sp)
/* 0BC5B0 800BB9B0 AFA40030 */ sw $a0, 0x30($sp)
/* 0BC5B4 800BB9B4 01D81021 */ addu $v0, $t6, $t8
/* 0BC5B8 800BB9B8 8C460008 */ lw $a2, 8($v0)
/* 0BC5BC 800BB9BC 8C480004 */ lw $t0, 4($v0)
/* 0BC5C0 800BB9C0 00807825 */ move $t7, $a0
/* 0BC5C4 800BB9C4 2401FFF0 */ li $at, -16
/* 0BC5C8 800BB9C8 24C6000F */ addiu $a2, $a2, 0xf
/* 0BC5CC 800BB9CC 00A03825 */ move $a3, $a1
/* 0BC5D0 800BB9D0 00C1C824 */ and $t9, $a2, $at
/* 0BC5D4 800BB9D4 3C04803B */ lui $a0, %hi(D_803AFC48) # $a0, 0x803b
/* 0BC5D8 800BB9D8 03203025 */ move $a2, $t9
/* 0BC5DC 800BB9DC 2484FC48 */ addiu $a0, %lo(D_803AFC48) # addiu $a0, $a0, -0x3b8
/* 0BC5E0 800BB9E0 AFB9002C */ sw $t9, 0x2c($sp)
/* 0BC5E4 800BB9E4 24050001 */ li $a1, 1
/* 0BC5E8 800BB9E8 AFAF0010 */ sw $t7, 0x10($sp)
/* 0BC5EC 800BB9EC 0C02E4EF */ jal func_800B93BC
/* 0BC5F0 800BB9F0 AFA80024 */ sw $t0, 0x24($sp)
/* 0BC5F4 800BB9F4 8FA6002C */ lw $a2, 0x2c($sp)
/* 0BC5F8 800BB9F8 14400003 */ bnez $v0, .L800BBA08
/* 0BC5FC 800BB9FC 00402825 */ move $a1, $v0
/* 0BC600 800BBA00 1000000F */ b .L800BBA40
/* 0BC604 800BBA04 00001025 */ move $v0, $zero
.L800BBA08:
/* 0BC608 800BBA08 8FA40024 */ lw $a0, 0x24($sp)
/* 0BC60C 800BBA0C 0C02EAA0 */ jal func_800BAA80
/* 0BC610 800BBA10 AFA50028 */ sw $a1, 0x28($sp)
/* 0BC614 800BBA14 8FA90030 */ lw $t1, 0x30($sp)
/* 0BC618 800BBA18 3C0A803B */ lui $t2, %hi(D_803B0400) # $t2, 0x803b
/* 0BC61C 800BBA1C 254A0400 */ addiu $t2, %lo(D_803B0400) # addiu $t2, $t2, 0x400
/* 0BC620 800BBA20 012A1021 */ addu $v0, $t1, $t2
/* 0BC624 800BBA24 904B0000 */ lbu $t3, ($v0)
/* 0BC628 800BBA28 24010005 */ li $at, 5
/* 0BC62C 800BBA2C 8FA50028 */ lw $a1, 0x28($sp)
/* 0BC630 800BBA30 11610002 */ beq $t3, $at, .L800BBA3C
/* 0BC634 800BBA34 240C0002 */ li $t4, 2
/* 0BC638 800BBA38 A04C0000 */ sb $t4, ($v0)
.L800BBA3C:
/* 0BC63C 800BBA3C 00A01025 */ move $v0, $a1
.L800BBA40:
/* 0BC640 800BBA40 8FBF001C */ lw $ra, 0x1c($sp)
/* 0BC644 800BBA44 27BD0030 */ addiu $sp, $sp, 0x30
/* 0BC648 800BBA48 03E00008 */ jr $ra
/* 0BC64C 800BBA4C 00000000 */ nop
glabel func_800BBA50
/* 0BC650 800BBA50 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 0BC654 800BBA54 3C0E803B */ lui $t6, %hi(D_803B706C) # $t6, 0x803b
/* 0BC658 800BBA58 8DCE706C */ lw $t6, %lo(D_803B706C)($t6)
/* 0BC65C 800BBA5C 0004C0C0 */ sll $t8, $a0, 3
/* 0BC660 800BBA60 AFBF002C */ sw $ra, 0x2c($sp)
/* 0BC664 800BBA64 AFB20028 */ sw $s2, 0x28($sp)
/* 0BC668 800BBA68 AFB10024 */ sw $s1, 0x24($sp)
/* 0BC66C 800BBA6C AFB00020 */ sw $s0, 0x20($sp)
/* 0BC670 800BBA70 AFA40048 */ sw $a0, 0x48($sp)
/* 0BC674 800BBA74 01D81021 */ addu $v0, $t6, $t8
/* 0BC678 800BBA78 8C500008 */ lw $s0, 8($v0)
/* 0BC67C 800BBA7C 8C480004 */ lw $t0, 4($v0)
/* 0BC680 800BBA80 00C08825 */ move $s1, $a2
/* 0BC684 800BBA84 00807825 */ move $t7, $a0
/* 0BC688 800BBA88 2401FFF0 */ li $at, -16
/* 0BC68C 800BBA8C 2610000F */ addiu $s0, $s0, 0xf
/* 0BC690 800BBA90 00A03825 */ move $a3, $a1
/* 0BC694 800BBA94 02013024 */ and $a2, $s0, $at
/* 0BC698 800BBA98 3C04803B */ lui $a0, %hi(D_803AFC48) # $a0, 0x803b
/* 0BC69C 800BBA9C 00C08025 */ move $s0, $a2
/* 0BC6A0 800BBAA0 2484FC48 */ addiu $a0, %lo(D_803AFC48) # addiu $a0, $a0, -0x3b8
/* 0BC6A4 800BBAA4 24050001 */ li $a1, 1
/* 0BC6A8 800BBAA8 AFAF0010 */ sw $t7, 0x10($sp)
/* 0BC6AC 800BBAAC 0C02E4EF */ jal func_800B93BC
/* 0BC6B0 800BBAB0 AFA8003C */ sw $t0, 0x3c($sp)
/* 0BC6B4 800BBAB4 14400003 */ bnez $v0, .L800BBAC4
/* 0BC6B8 800BBAB8 00409025 */ move $s2, $v0
/* 0BC6BC 800BBABC 10000032 */ b .L800BBB88
/* 0BC6C0 800BBAC0 00001025 */ move $v0, $zero
.L800BBAC4:
/* 0BC6C4 800BBAC4 2A010041 */ slti $at, $s0, 0x41
/* 0BC6C8 800BBAC8 10200010 */ beqz $at, .L800BBB0C
/* 0BC6CC 800BBACC 8FA4003C */ lw $a0, 0x3c($sp)
/* 0BC6D0 800BBAD0 8FA4003C */ lw $a0, 0x3c($sp)
/* 0BC6D4 800BBAD4 02402825 */ move $a1, $s2
/* 0BC6D8 800BBAD8 0C02EAA0 */ jal func_800BAA80
/* 0BC6DC 800BBADC 02003025 */ move $a2, $s0
/* 0BC6E0 800BBAE0 8FA90048 */ lw $t1, 0x48($sp)
/* 0BC6E4 800BBAE4 3C0A803B */ lui $t2, %hi(D_803B0400) # $t2, 0x803b
/* 0BC6E8 800BBAE8 254A0400 */ addiu $t2, %lo(D_803B0400) # addiu $t2, $t2, 0x400
/* 0BC6EC 800BBAEC 012A1021 */ addu $v0, $t1, $t2
/* 0BC6F0 800BBAF0 904B0000 */ lbu $t3, ($v0)
/* 0BC6F4 800BBAF4 24010005 */ li $at, 5
/* 0BC6F8 800BBAF8 240C0002 */ li $t4, 2
/* 0BC6FC 800BBAFC 51610022 */ beql $t3, $at, .L800BBB88
/* 0BC700 800BBB00 02401025 */ move $v0, $s2
/* 0BC704 800BBB04 1000001F */ b .L800BBB84
/* 0BC708 800BBB08 A04C0000 */ sb $t4, ($v0)
.L800BBB0C:
/* 0BC70C 800BBB0C 02402825 */ move $a1, $s2
/* 0BC710 800BBB10 0C02EAA0 */ jal func_800BAA80
/* 0BC714 800BBB14 24060040 */ li $a2, 64
/* 0BC718 800BBB18 262700D4 */ addiu $a3, $s1, 0xd4
/* 0BC71C 800BBB1C 00E02025 */ move $a0, $a3
/* 0BC720 800BBB20 AFA70034 */ sw $a3, 0x34($sp)
/* 0BC724 800BBB24 262500EC */ addiu $a1, $s1, 0xec
/* 0BC728 800BBB28 0C033358 */ jal osCreateMesgQueue
/* 0BC72C 800BBB2C 24060001 */ li $a2, 1
/* 0BC730 800BBB30 922E0000 */ lbu $t6, ($s1)
/* 0BC734 800BBB34 8FA70034 */ lw $a3, 0x34($sp)
/* 0BC738 800BBB38 263900F0 */ addiu $t9, $s1, 0xf0
/* 0BC73C 800BBB3C 35D80010 */ ori $t8, $t6, 0x10
/* 0BC740 800BBB40 A2380000 */ sb $t8, ($s1)
/* 0BC744 800BBB44 8FA4003C */ lw $a0, 0x3c($sp)
/* 0BC748 800BBB48 AFB90010 */ sw $t9, 0x10($sp)
/* 0BC74C 800BBB4C 26450040 */ addiu $a1, $s2, 0x40
/* 0BC750 800BBB50 2606FFC0 */ addiu $a2, $s0, -0x40
/* 0BC754 800BBB54 0C02EABE */ jal func_800BAAF8
/* 0BC758 800BBB58 24840040 */ addiu $a0, $a0, 0x40
/* 0BC75C 800BBB5C 8FA80048 */ lw $t0, 0x48($sp)
/* 0BC760 800BBB60 3C0F803B */ lui $t7, %hi(D_803B0400) # $t7, 0x803b
/* 0BC764 800BBB64 25EF0400 */ addiu $t7, %lo(D_803B0400) # addiu $t7, $t7, 0x400
/* 0BC768 800BBB68 010F1021 */ addu $v0, $t0, $t7
/* 0BC76C 800BBB6C 90490000 */ lbu $t1, ($v0)
/* 0BC770 800BBB70 24010005 */ li $at, 5
/* 0BC774 800BBB74 240A0001 */ li $t2, 1
/* 0BC778 800BBB78 51210003 */ beql $t1, $at, .L800BBB88
/* 0BC77C 800BBB7C 02401025 */ move $v0, $s2
/* 0BC780 800BBB80 A04A0000 */ sb $t2, ($v0)
.L800BBB84:
/* 0BC784 800BBB84 02401025 */ move $v0, $s2
.L800BBB88:
/* 0BC788 800BBB88 8FBF002C */ lw $ra, 0x2c($sp)
/* 0BC78C 800BBB8C 8FB00020 */ lw $s0, 0x20($sp)
/* 0BC790 800BBB90 8FB10024 */ lw $s1, 0x24($sp)
/* 0BC794 800BBB94 8FB20028 */ lw $s2, 0x28($sp)
/* 0BC798 800BBB98 03E00008 */ jr $ra
/* 0BC79C 800BBB9C 27BD0048 */ addiu $sp, $sp, 0x48
glabel func_800BBBA0
/* 0BC7A0 800BBBA0 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 0BC7A4 800BBBA4 AFBE0038 */ sw $fp, 0x38($sp)
/* 0BC7A8 800BBBA8 AFBF003C */ sw $ra, 0x3c($sp)
/* 0BC7AC 800BBBAC AFB70034 */ sw $s7, 0x34($sp)
/* 0BC7B0 800BBBB0 AFB60030 */ sw $s6, 0x30($sp)
/* 0BC7B4 800BBBB4 AFB5002C */ sw $s5, 0x2c($sp)
/* 0BC7B8 800BBBB8 AFB40028 */ sw $s4, 0x28($sp)
/* 0BC7BC 800BBBBC AFB30024 */ sw $s3, 0x24($sp)
/* 0BC7C0 800BBBC0 AFB20020 */ sw $s2, 0x20($sp)
/* 0BC7C4 800BBBC4 AFB1001C */ sw $s1, 0x1c($sp)
/* 0BC7C8 800BBBC8 AFB00018 */ sw $s0, 0x18($sp)
/* 0BC7CC 800BBBCC 3C1E803B */ lui $fp, %hi(D_803B7078) # $fp, 0x803b
/* 0BC7D0 800BBBD0 ACC00000 */ sw $zero, ($a2)
/* 0BC7D4 800BBBD4 27DE7078 */ addiu $fp, %lo(D_803B7078) # addiu $fp, $fp, 0x7078
/* 0BC7D8 800BBBD8 ACA00000 */ sw $zero, ($a1)
/* 0BC7DC 800BBBDC 8FC20000 */ lw $v0, ($fp)
/* 0BC7E0 800BBBE0 00047040 */ sll $t6, $a0, 1
/* 0BC7E4 800BBBE4 00C09825 */ move $s3, $a2
/* 0BC7E8 800BBBE8 004E7821 */ addu $t7, $v0, $t6
/* 0BC7EC 800BBBEC 95F10000 */ lhu $s1, ($t7)
/* 0BC7F0 800BBBF0 00A0A025 */ move $s4, $a1
/* 0BC7F4 800BBBF4 0000B825 */ move $s7, $zero
/* 0BC7F8 800BBBF8 0222C021 */ addu $t8, $s1, $v0
/* 0BC7FC 800BBBFC 93120000 */ lbu $s2, ($t8)
/* 0BC800 800BBC00 26310001 */ addiu $s1, $s1, 1
/* 0BC804 800BBC04 3239FFFF */ andi $t9, $s1, 0xffff
/* 0BC808 800BBC08 12400024 */ beqz $s2, .L800BBC9C
/* 0BC80C 800BBC0C 03208825 */ move $s1, $t9
/* 0BC810 800BBC10 3C16803B */ lui $s6, %hi(D_803B03C0) # $s6, 0x803b
/* 0BC814 800BBC14 26D603C0 */ addiu $s6, %lo(D_803B03C0) # addiu $s6, $s6, 0x3c0
/* 0BC818 800BBC18 24150001 */ li $s5, 1
.L800BBC1C:
/* 0BC81C 800BBC1C 8FC80000 */ lw $t0, ($fp)
/* 0BC820 800BBC20 02A02025 */ move $a0, $s5
/* 0BC824 800BBC24 24050002 */ li $a1, 2
/* 0BC828 800BBC28 02284821 */ addu $t1, $s1, $t0
/* 0BC82C 800BBC2C 91300000 */ lbu $s0, ($t1)
/* 0BC830 800BBC30 26310001 */ addiu $s1, $s1, 1
/* 0BC834 800BBC34 322AFFFF */ andi $t2, $s1, 0xffff
/* 0BC838 800BBC38 02D05821 */ addu $t3, $s6, $s0
/* 0BC83C 800BBC3C 916C0000 */ lbu $t4, ($t3)
/* 0BC840 800BBC40 01408825 */ move $s1, $t2
/* 0BC844 800BBC44 00001825 */ move $v1, $zero
/* 0BC848 800BBC48 298D0002 */ slti $t5, $t4, 2
/* 0BC84C 800BBC4C 39AD0001 */ xori $t5, $t5, 1
/* 0BC850 800BBC50 16AD0005 */ bne $s5, $t5, .L800BBC68
/* 0BC854 800BBC54 00000000 */ nop
/* 0BC858 800BBC58 0C02E6A4 */ jal func_800B9A90
/* 0BC85C 800BBC5C 02003025 */ move $a2, $s0
/* 0BC860 800BBC60 10000001 */ b .L800BBC68
/* 0BC864 800BBC64 00401825 */ move $v1, $v0
.L800BBC68:
/* 0BC868 800BBC68 14600006 */ bnez $v1, .L800BBC84
/* 0BC86C 800BBC6C 2652FFFF */ addiu $s2, $s2, -1
/* 0BC870 800BBC70 8E6E0000 */ lw $t6, ($s3)
/* 0BC874 800BBC74 321700FF */ andi $s7, $s0, 0xff
/* 0BC878 800BBC78 25CF0001 */ addiu $t7, $t6, 1
/* 0BC87C 800BBC7C 10000004 */ b .L800BBC90
/* 0BC880 800BBC80 AE6F0000 */ sw $t7, ($s3)
.L800BBC84:
/* 0BC884 800BBC84 8E980000 */ lw $t8, ($s4)
/* 0BC888 800BBC88 27190001 */ addiu $t9, $t8, 1
/* 0BC88C 800BBC8C AE990000 */ sw $t9, ($s4)
.L800BBC90:
/* 0BC890 800BBC90 324800FF */ andi $t0, $s2, 0xff
/* 0BC894 800BBC94 1500FFE1 */ bnez $t0, .L800BBC1C
/* 0BC898 800BBC98 01009025 */ move $s2, $t0
.L800BBC9C:
/* 0BC89C 800BBC9C 8FBF003C */ lw $ra, 0x3c($sp)
/* 0BC8A0 800BBCA0 02E01025 */ move $v0, $s7
/* 0BC8A4 800BBCA4 8FB70034 */ lw $s7, 0x34($sp)
/* 0BC8A8 800BBCA8 8FB00018 */ lw $s0, 0x18($sp)
/* 0BC8AC 800BBCAC 8FB1001C */ lw $s1, 0x1c($sp)
/* 0BC8B0 800BBCB0 8FB20020 */ lw $s2, 0x20($sp)
/* 0BC8B4 800BBCB4 8FB30024 */ lw $s3, 0x24($sp)
/* 0BC8B8 800BBCB8 8FB40028 */ lw $s4, 0x28($sp)
/* 0BC8BC 800BBCBC 8FB5002C */ lw $s5, 0x2c($sp)
/* 0BC8C0 800BBCC0 8FB60030 */ lw $s6, 0x30($sp)
/* 0BC8C4 800BBCC4 8FBE0038 */ lw $fp, 0x38($sp)
/* 0BC8C8 800BBCC8 03E00008 */ jr $ra
/* 0BC8CC 800BBCCC 27BD0040 */ addiu $sp, $sp, 0x40
glabel func_800BBCD0
/* 0BC8D0 800BBCD0 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0BC8D4 800BBCD4 AFB50028 */ sw $s5, 0x28($sp)
/* 0BC8D8 800BBCD8 3C15803B */ lui $s5, %hi(D_803B7078) # $s5, 0x803b
/* 0BC8DC 800BBCDC 26B57078 */ addiu $s5, %lo(D_803B7078) # addiu $s5, $s5, 0x7078
/* 0BC8E0 800BBCE0 8EA20000 */ lw $v0, ($s5)
/* 0BC8E4 800BBCE4 00047040 */ sll $t6, $a0, 1
/* 0BC8E8 800BBCE8 AFBF002C */ sw $ra, 0x2c($sp)
/* 0BC8EC 800BBCEC AFB40024 */ sw $s4, 0x24($sp)
/* 0BC8F0 800BBCF0 AFB30020 */ sw $s3, 0x20($sp)
/* 0BC8F4 800BBCF4 AFB2001C */ sw $s2, 0x1c($sp)
/* 0BC8F8 800BBCF8 AFB10018 */ sw $s1, 0x18($sp)
/* 0BC8FC 800BBCFC AFB00014 */ sw $s0, 0x14($sp)
/* 0BC900 800BBD00 AFA5003C */ sw $a1, 0x3c($sp)
/* 0BC904 800BBD04 004E7821 */ addu $t7, $v0, $t6
/* 0BC908 800BBD08 95F10000 */ lhu $s1, ($t7)
/* 0BC90C 800BBD0C 3C14803B */ lui $s4, %hi(D_803B03C0) # $s4, 0x803b
/* 0BC910 800BBD10 269403C0 */ addiu $s4, %lo(D_803B03C0) # addiu $s4, $s4, 0x3c0
/* 0BC914 800BBD14 0222C021 */ addu $t8, $s1, $v0
/* 0BC918 800BBD18 93120000 */ lbu $s2, ($t8)
/* 0BC91C 800BBD1C 26310001 */ addiu $s1, $s1, 1
/* 0BC920 800BBD20 3239FFFF */ andi $t9, $s1, 0xffff
/* 0BC924 800BBD24 12400020 */ beqz $s2, .L800BBDA8
/* 0BC928 800BBD28 03208825 */ move $s1, $t9
/* 0BC92C 800BBD2C 24130001 */ li $s3, 1
.L800BBD30:
/* 0BC930 800BBD30 8EA80000 */ lw $t0, ($s5)
/* 0BC934 800BBD34 02602025 */ move $a0, $s3
/* 0BC938 800BBD38 24050002 */ li $a1, 2
/* 0BC93C 800BBD3C 02284821 */ addu $t1, $s1, $t0
/* 0BC940 800BBD40 91300000 */ lbu $s0, ($t1)
/* 0BC944 800BBD44 26310001 */ addiu $s1, $s1, 1
/* 0BC948 800BBD48 322AFFFF */ andi $t2, $s1, 0xffff
/* 0BC94C 800BBD4C 02905821 */ addu $t3, $s4, $s0
/* 0BC950 800BBD50 916C0000 */ lbu $t4, ($t3)
/* 0BC954 800BBD54 01408825 */ move $s1, $t2
/* 0BC958 800BBD58 00001825 */ move $v1, $zero
/* 0BC95C 800BBD5C 298D0002 */ slti $t5, $t4, 2
/* 0BC960 800BBD60 39AD0001 */ xori $t5, $t5, 1
/* 0BC964 800BBD64 166D0005 */ bne $s3, $t5, .L800BBD7C
/* 0BC968 800BBD68 00000000 */ nop
/* 0BC96C 800BBD6C 0C02E6A4 */ jal func_800B9A90
/* 0BC970 800BBD70 02003025 */ move $a2, $s0
/* 0BC974 800BBD74 10000001 */ b .L800BBD7C
/* 0BC978 800BBD78 00401825 */ move $v1, $v0
.L800BBD7C:
/* 0BC97C 800BBD7C 14600004 */ bnez $v1, .L800BBD90
/* 0BC980 800BBD80 02002025 */ move $a0, $s0
/* 0BC984 800BBD84 0C02EDE0 */ jal func_800BB780
/* 0BC988 800BBD88 24050002 */ li $a1, 2
/* 0BC98C 800BBD8C 00401825 */ move $v1, $v0
.L800BBD90:
/* 0BC990 800BBD90 2652FFFF */ addiu $s2, $s2, -1
/* 0BC994 800BBD94 324E00FF */ andi $t6, $s2, 0xff
/* 0BC998 800BBD98 15C0FFE5 */ bnez $t6, .L800BBD30
/* 0BC99C 800BBD9C 01C09025 */ move $s2, $t6
/* 0BC9A0 800BBDA0 AFA30034 */ sw $v1, 0x34($sp)
/* 0BC9A4 800BBDA4 AFB00030 */ sw $s0, 0x30($sp)
.L800BBDA8:
/* 0BC9A8 800BBDA8 8FB00030 */ lw $s0, 0x30($sp)
/* 0BC9AC 800BBDAC 8FAF003C */ lw $t7, 0x3c($sp)
/* 0BC9B0 800BBDB0 8FA20034 */ lw $v0, 0x34($sp)
/* 0BC9B4 800BBDB4 A1F00000 */ sb $s0, ($t7)
/* 0BC9B8 800BBDB8 8FBF002C */ lw $ra, 0x2c($sp)
/* 0BC9BC 800BBDBC 8FB50028 */ lw $s5, 0x28($sp)
/* 0BC9C0 800BBDC0 8FB40024 */ lw $s4, 0x24($sp)
/* 0BC9C4 800BBDC4 8FB30020 */ lw $s3, 0x20($sp)
/* 0BC9C8 800BBDC8 8FB2001C */ lw $s2, 0x1c($sp)
/* 0BC9CC 800BBDCC 8FB10018 */ lw $s1, 0x18($sp)
/* 0BC9D0 800BBDD0 8FB00014 */ lw $s0, 0x14($sp)
/* 0BC9D4 800BBDD4 03E00008 */ jr $ra
/* 0BC9D8 800BBDD8 27BD0038 */ addiu $sp, $sp, 0x38
glabel func_800BBDDC
/* 0BC9DC 800BBDDC 3C0F803B */ lui $t7, %hi(D_803B707C) # $t7, 0x803b
/* 0BC9E0 800BBDE0 95EF707C */ lhu $t7, %lo(D_803B707C)($t7)
/* 0BC9E4 800BBDE4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0BC9E8 800BBDE8 AFA5002C */ sw $a1, 0x2c($sp)
/* 0BC9EC 800BBDEC 30AE00FF */ andi $t6, $a1, 0xff
/* 0BC9F0 800BBDF0 008F082B */ sltu $at, $a0, $t7
/* 0BC9F4 800BBDF4 01C02825 */ move $a1, $t6
/* 0BC9F8 800BBDF8 AFBF0014 */ sw $ra, 0x14($sp)
/* 0BC9FC 800BBDFC 10200038 */ beqz $at, .L800BBEE0
/* 0BCA00 800BBE00 00803025 */ move $a2, $a0
/* 0BCA04 800BBE04 3C18803B */ lui $t8, %hi(D_803B706C) # $t8, 0x803b
/* 0BCA08 800BBE08 8F18706C */ lw $t8, %lo(D_803B706C)($t8)
/* 0BCA0C 800BBE0C 0004C8C0 */ sll $t9, $a0, 3
/* 0BCA10 800BBE10 3C091971 */ lui $t1, (0x19710515 >> 16) # lui $t1, 0x1971
/* 0BCA14 800BBE14 03191021 */ addu $v0, $t8, $t9
/* 0BCA18 800BBE18 8C480008 */ lw $t0, 8($v0)
/* 0BCA1C 800BBE1C 3C0A800F */ lui $t2, %hi(D_800EA5DC) # $t2, 0x800f
/* 0BCA20 800BBE20 254AA5DC */ addiu $t2, %lo(D_800EA5DC) # addiu $t2, $t2, -0x5a24
/* 0BCA24 800BBE24 15000002 */ bnez $t0, .L800BBE30
/* 0BCA28 800BBE28 35290515 */ ori $t1, (0x19710515 & 0xFFFF) # ori $t1, $t1, 0x515
/* 0BCA2C 800BBE2C 8C460004 */ lw $a2, 4($v0)
.L800BBE30:
/* 0BCA30 800BBE30 30AB0002 */ andi $t3, $a1, 2
/* 0BCA34 800BBE34 AD490000 */ sw $t1, ($t2)
/* 0BCA38 800BBE38 11600008 */ beqz $t3, .L800BBE5C
/* 0BCA3C 800BBE3C 00A01825 */ move $v1, $a1
/* 0BCA40 800BBE40 00C02025 */ move $a0, $a2
/* 0BCA44 800BBE44 27A50023 */ addiu $a1, $sp, 0x23
/* 0BCA48 800BBE48 AFA3001C */ sw $v1, 0x1c($sp)
/* 0BCA4C 800BBE4C 0C02EF34 */ jal func_800BBCD0
/* 0BCA50 800BBE50 AFA60028 */ sw $a2, 0x28($sp)
/* 0BCA54 800BBE54 8FA3001C */ lw $v1, 0x1c($sp)
/* 0BCA58 800BBE58 8FA60028 */ lw $a2, 0x28($sp)
.L800BBE5C:
/* 0BCA5C 800BBE5C 306C0001 */ andi $t4, $v1, 1
/* 0BCA60 800BBE60 1180001A */ beqz $t4, .L800BBECC
/* 0BCA64 800BBE64 3C0D803B */ lui $t5, %hi(D_803B03C0) # 0x803b
/* 0BCA68 800BBE68 01A66821 */ addu $t5, $t5, $a2
/* 0BCA6C 800BBE6C 91AD03C0 */ lbu $t5, %lo(D_803B03C0)($t5) # 0x3c0($t5)
/* 0BCA70 800BBE70 24010001 */ li $at, 1
/* 0BCA74 800BBE74 00002025 */ move $a0, $zero
/* 0BCA78 800BBE78 29AE0002 */ slti $t6, $t5, 2
/* 0BCA7C 800BBE7C 39CE0001 */ xori $t6, $t6, 1
/* 0BCA80 800BBE80 15C10007 */ bne $t6, $at, .L800BBEA0
/* 0BCA84 800BBE84 00001825 */ move $v1, $zero
/* 0BCA88 800BBE88 24050002 */ li $a1, 2
/* 0BCA8C 800BBE8C 0C02E6A4 */ jal func_800B9A90
/* 0BCA90 800BBE90 AFA60028 */ sw $a2, 0x28($sp)
/* 0BCA94 800BBE94 8FA60028 */ lw $a2, 0x28($sp)
/* 0BCA98 800BBE98 10000001 */ b .L800BBEA0
/* 0BCA9C 800BBE9C 00401825 */ move $v1, $v0
.L800BBEA0:
/* 0BCAA0 800BBEA0 1460000A */ bnez $v1, .L800BBECC
/* 0BCAA4 800BBEA4 00C02025 */ move $a0, $a2
/* 0BCAA8 800BBEA8 0C02EE67 */ jal func_800BB99C
/* 0BCAAC 800BBEAC 24050002 */ li $a1, 2
/* 0BCAB0 800BBEB0 14400006 */ bnez $v0, .L800BBECC
/* 0BCAB4 800BBEB4 3C0F7655 */ lui $t7, (0x76557364 >> 16) # lui $t7, 0x7655
/* 0BCAB8 800BBEB8 3C18800F */ lui $t8, %hi(D_800EA5DC) # $t8, 0x800f
/* 0BCABC 800BBEBC 2718A5DC */ addiu $t8, %lo(D_800EA5DC) # addiu $t8, $t8, -0x5a24
/* 0BCAC0 800BBEC0 35EF7364 */ ori $t7, (0x76557364 & 0xFFFF) # ori $t7, $t7, 0x7364
/* 0BCAC4 800BBEC4 10000006 */ b .L800BBEE0
/* 0BCAC8 800BBEC8 AF0F0000 */ sw $t7, ($t8)
.L800BBECC:
/* 0BCACC 800BBECC 3C197655 */ lui $t9, (0x76557364 >> 16) # lui $t9, 0x7655
/* 0BCAD0 800BBED0 3C08800F */ lui $t0, %hi(D_800EA5DC) # $t0, 0x800f
/* 0BCAD4 800BBED4 2508A5DC */ addiu $t0, %lo(D_800EA5DC) # addiu $t0, $t0, -0x5a24
/* 0BCAD8 800BBED8 37397364 */ ori $t9, (0x76557364 & 0xFFFF) # ori $t9, $t9, 0x7364
/* 0BCADC 800BBEDC AD190000 */ sw $t9, ($t0)
.L800BBEE0:
/* 0BCAE0 800BBEE0 8FBF0014 */ lw $ra, 0x14($sp)
/* 0BCAE4 800BBEE4 27BD0028 */ addiu $sp, $sp, 0x28
/* 0BCAE8 800BBEE8 03E00008 */ jr $ra
/* 0BCAEC 800BBEEC 00000000 */ nop
glabel func_800BBEF0
/* 0BCAF0 800BBEF0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0BCAF4 800BBEF4 14C00006 */ bnez $a2, .L800BBF10
/* 0BCAF8 800BBEF8 AFBF0014 */ sw $ra, 0x14($sp)
/* 0BCAFC 800BBEFC 3C0E1971 */ lui $t6, (0x19710515 >> 16) # lui $t6, 0x1971
/* 0BCB00 800BBF00 3C0F800F */ lui $t7, %hi(D_800EA5DC) # $t7, 0x800f
/* 0BCB04 800BBF04 25EFA5DC */ addiu $t7, %lo(D_800EA5DC) # addiu $t7, $t7, -0x5a24
/* 0BCB08 800BBF08 35CE0515 */ ori $t6, (0x19710515 & 0xFFFF) # ori $t6, $t6, 0x515
/* 0BCB0C 800BBF0C ADEE0000 */ sw $t6, ($t7)
.L800BBF10:
/* 0BCB10 800BBF10 0C02EFD1 */ jal func_800BBF44
/* 0BCB14 800BBF14 AFA60020 */ sw $a2, 0x20($sp)
/* 0BCB18 800BBF18 8FA60020 */ lw $a2, 0x20($sp)
/* 0BCB1C 800BBF1C 3C187655 */ lui $t8, (0x76557364 >> 16) # lui $t8, 0x7655
/* 0BCB20 800BBF20 37187364 */ ori $t8, (0x76557364 & 0xFFFF) # ori $t8, $t8, 0x7364
/* 0BCB24 800BBF24 14C00003 */ bnez $a2, .L800BBF34
/* 0BCB28 800BBF28 3C19800F */ lui $t9, %hi(D_800EA5DC) # $t9, 0x800f
/* 0BCB2C 800BBF2C 2739A5DC */ addiu $t9, %lo(D_800EA5DC) # addiu $t9, $t9, -0x5a24
/* 0BCB30 800BBF30 AF380000 */ sw $t8, ($t9)
.L800BBF34:
/* 0BCB34 800BBF34 8FBF0014 */ lw $ra, 0x14($sp)
/* 0BCB38 800BBF38 27BD0018 */ addiu $sp, $sp, 0x18
/* 0BCB3C 800BBF3C 03E00008 */ jr $ra
/* 0BCB40 800BBF40 00000000 */ nop
glabel func_800BBF44
/* 0BCB44 800BBF44 3C0E803B */ lui $t6, %hi(D_803B707C) # $t6, 0x803b
/* 0BCB48 800BBF48 95CE707C */ lhu $t6, %lo(D_803B707C)($t6)
/* 0BCB4C 800BBF4C 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 0BCB50 800BBF50 AFB10018 */ sw $s1, 0x18($sp)
/* 0BCB54 800BBF54 00AE082B */ sltu $at, $a1, $t6
/* 0BCB58 800BBF58 00A08825 */ move $s1, $a1
/* 0BCB5C 800BBF5C AFBF001C */ sw $ra, 0x1c($sp)
/* 0BCB60 800BBF60 AFB00014 */ sw $s0, 0x14($sp)
/* 0BCB64 800BBF64 AFA40040 */ sw $a0, 0x40($sp)
/* 0BCB68 800BBF68 10200057 */ beqz $at, .L800BC0C8
/* 0BCB6C 800BBF6C AFA60048 */ sw $a2, 0x48($sp)
/* 0BCB70 800BBF70 3C0F803B */ lui $t7, %hi(D_803B706C) # $t7, 0x803b
/* 0BCB74 800BBF74 8DEF706C */ lw $t7, %lo(D_803B706C)($t7)
/* 0BCB78 800BBF78 8FA80040 */ lw $t0, 0x40($sp)
/* 0BCB7C 800BBF7C 0005C0C0 */ sll $t8, $a1, 3
/* 0BCB80 800BBF80 01F81021 */ addu $v0, $t7, $t8
/* 0BCB84 800BBF84 8C590008 */ lw $t9, 8($v0)
/* 0BCB88 800BBF88 00084880 */ sll $t1, $t0, 2
/* 0BCB8C 800BBF8C 01284821 */ addu $t1, $t1, $t0
/* 0BCB90 800BBF90 17200002 */ bnez $t9, .L800BBF9C
/* 0BCB94 800BBF94 000948C0 */ sll $t1, $t1, 3
/* 0BCB98 800BBF98 8C510004 */ lw $s1, 4($v0)
.L800BBF9C:
/* 0BCB9C 800BBF9C 01284821 */ addu $t1, $t1, $t0
/* 0BCBA0 800BBFA0 3C0A803B */ lui $t2, %hi(D_803B1510) # $t2, 0x803b
/* 0BCBA4 800BBFA4 254A1510 */ addiu $t2, %lo(D_803B1510) # addiu $t2, $t2, 0x1510
/* 0BCBA8 800BBFA8 000948C0 */ sll $t1, $t1, 3
/* 0BCBAC 800BBFAC 012A8021 */ addu $s0, $t1, $t2
/* 0BCBB0 800BBFB0 0C02FBCB */ jal func_800BEF2C
/* 0BCBB4 800BBFB4 02002025 */ move $a0, $s0
/* 0BCBB8 800BBFB8 8FAB0048 */ lw $t3, 0x48($sp)
/* 0BCBBC 800BBFBC 27A50028 */ addiu $a1, $sp, 0x28
/* 0BCBC0 800BBFC0 27A6002C */ addiu $a2, $sp, 0x2c
/* 0BCBC4 800BBFC4 11600018 */ beqz $t3, .L800BC028
/* 0BCBC8 800BBFC8 02202025 */ move $a0, $s1
/* 0BCBCC 800BBFCC AFA0002C */ sw $zero, 0x2c($sp)
/* 0BCBD0 800BBFD0 AFA00028 */ sw $zero, 0x28($sp)
/* 0BCBD4 800BBFD4 0C02EEE8 */ jal func_800BBBA0
/* 0BCBD8 800BBFD8 02202025 */ move $a0, $s1
/* 0BCBDC 800BBFDC 8FAC002C */ lw $t4, 0x2c($sp)
/* 0BCBE0 800BBFE0 24010001 */ li $at, 1
/* 0BCBE4 800BBFE4 00402025 */ move $a0, $v0
/* 0BCBE8 800BBFE8 15810009 */ bne $t4, $at, .L800BC010
/* 0BCBEC 800BBFEC 26050005 */ addiu $a1, $s0, 5
/* 0BCBF0 800BBFF0 24050002 */ li $a1, 2
/* 0BCBF4 800BBFF4 02003025 */ move $a2, $s0
/* 0BCBF8 800BBFF8 0C02EE19 */ jal func_800BB864
/* 0BCBFC 800BBFFC AFA20024 */ sw $v0, 0x24($sp)
/* 0BCC00 800BC000 10400031 */ beqz $v0, .L800BC0C8
/* 0BCC04 800BC004 8FA40024 */ lw $a0, 0x24($sp)
/* 0BCC08 800BC008 1000000B */ b .L800BC038
/* 0BCC0C 800BC00C A2040005 */ sb $a0, 5($s0)
.L800BC010:
/* 0BCC10 800BC010 0C02EF34 */ jal func_800BBCD0
/* 0BCC14 800BC014 02202025 */ move $a0, $s1
/* 0BCC18 800BC018 54400008 */ bnel $v0, $zero, .L800BC03C
/* 0BCC1C 800BC01C A2110004 */ sb $s1, 4($s0)
/* 0BCC20 800BC020 1000002A */ b .L800BC0CC
/* 0BCC24 800BC024 8FBF001C */ lw $ra, 0x1c($sp)
.L800BC028:
/* 0BCC28 800BC028 0C02EF34 */ jal func_800BBCD0
/* 0BCC2C 800BC02C 26050005 */ addiu $a1, $s0, 5
/* 0BCC30 800BC030 50400026 */ beql $v0, $zero, .L800BC0CC
/* 0BCC34 800BC034 8FBF001C */ lw $ra, 0x1c($sp)
.L800BC038:
/* 0BCC38 800BC038 A2110004 */ sb $s1, 4($s0)
.L800BC03C:
/* 0BCC3C 800BC03C 00002025 */ move $a0, $zero
/* 0BCC40 800BC040 24050002 */ li $a1, 2
/* 0BCC44 800BC044 0C02E6A4 */ jal func_800B9A90
/* 0BCC48 800BC048 02203025 */ move $a2, $s1
/* 0BCC4C 800BC04C 14400013 */ bnez $v0, .L800BC09C
/* 0BCC50 800BC050 00401825 */ move $v1, $v0
/* 0BCC54 800BC054 8E0D0000 */ lw $t5, ($s0)
/* 0BCC58 800BC058 8FB80048 */ lw $t8, 0x48($sp)
/* 0BCC5C 800BC05C 000D78C0 */ sll $t7, $t5, 3
/* 0BCC60 800BC060 05E2001A */ bltzl $t7, .L800BC0CC
/* 0BCC64 800BC064 8FBF001C */ lw $ra, 0x1c($sp)
/* 0BCC68 800BC068 13000007 */ beqz $t8, .L800BC088
/* 0BCC6C 800BC06C 02202025 */ move $a0, $s1
/* 0BCC70 800BC070 02202025 */ move $a0, $s1
/* 0BCC74 800BC074 24050002 */ li $a1, 2
/* 0BCC78 800BC078 0C02EE94 */ jal func_800BBA50
/* 0BCC7C 800BC07C 02003025 */ move $a2, $s0
/* 0BCC80 800BC080 10000004 */ b .L800BC094
/* 0BCC84 800BC084 00401825 */ move $v1, $v0
.L800BC088:
/* 0BCC88 800BC088 0C02EE67 */ jal func_800BB99C
/* 0BCC8C 800BC08C 24050002 */ li $a1, 2
/* 0BCC90 800BC090 00401825 */ move $v1, $v0
.L800BC094:
/* 0BCC94 800BC094 5040000D */ beql $v0, $zero, .L800BC0CC
/* 0BCC98 800BC098 8FBF001C */ lw $ra, 0x1c($sp)
.L800BC09C:
/* 0BCC9C 800BC09C 8FA40040 */ lw $a0, 0x40($sp)
/* 0BCCA0 800BC0A0 0C03046C */ jal func_800C11B0
/* 0BCCA4 800BC0A4 AFA3003C */ sw $v1, 0x3c($sp)
/* 0BCCA8 800BC0A8 8FA3003C */ lw $v1, 0x3c($sp)
/* 0BCCAC 800BC0AC 92080000 */ lbu $t0, ($s0)
/* 0BCCB0 800BC0B0 A2000088 */ sb $zero, 0x88($s0)
/* 0BCCB4 800BC0B4 A600000E */ sh $zero, 0xe($s0)
/* 0BCCB8 800BC0B8 35090080 */ ori $t1, $t0, 0x80
/* 0BCCBC 800BC0BC A2090000 */ sb $t1, ($s0)
/* 0BCCC0 800BC0C0 AE030014 */ sw $v1, 0x14($s0)
/* 0BCCC4 800BC0C4 AE030070 */ sw $v1, 0x70($s0)
.L800BC0C8:
/* 0BCCC8 800BC0C8 8FBF001C */ lw $ra, 0x1c($sp)
.L800BC0CC:
/* 0BCCCC 800BC0CC 8FB00014 */ lw $s0, 0x14($sp)
/* 0BCCD0 800BC0D0 8FB10018 */ lw $s1, 0x18($sp)
/* 0BCCD4 800BC0D4 03E00008 */ jr $ra
/* 0BCCD8 800BC0D8 27BD0040 */ addiu $sp, $sp, 0x40
glabel audio_init
/* 0BCCDC 800BC0DC 27BDFF70 */ addiu $sp, $sp, -0x90
/* 0BCCE0 800BC0E0 3C0E800F */ lui $t6, %hi(D_800EA5DC) # $t6, 0x800f
/* 0BCCE4 800BC0E4 AFBF002C */ sw $ra, 0x2c($sp)
/* 0BCCE8 800BC0E8 AFB50028 */ sw $s5, 0x28($sp)
/* 0BCCEC 800BC0EC AFB40024 */ sw $s4, 0x24($sp)
/* 0BCCF0 800BC0F0 AFB30020 */ sw $s3, 0x20($sp)
/* 0BCCF4 800BC0F4 AFB2001C */ sw $s2, 0x1c($sp)
/* 0BCCF8 800BC0F8 AFB10018 */ sw $s1, 0x18($sp)
/* 0BCCFC 800BC0FC AFB00014 */ sw $s0, 0x14($sp)
/* 0BCD00 800BC100 25CEA5DC */ addiu $t6, %lo(D_800EA5DC) # addiu $t6, $t6, -0x5a24
/* 0BCD04 800BC104 ADC00000 */ sw $zero, ($t6)
/* 0BCD08 800BC108 3C04800F */ lui $a0, %hi(D_800EA5D0) # $a0, 0x800f
/* 0BCD0C 800BC10C 8C84A5D0 */ lw $a0, %lo(D_800EA5D0)($a0)
/* 0BCD10 800BC110 00001825 */ move $v1, $zero
/* 0BCD14 800BC114 3C0A803B */ lui $t2, %hi(D_803B71A0) # $t2, 0x803b
/* 0BCD18 800BC118 04810003 */ bgez $a0, .L800BC128
/* 0BCD1C 800BC11C 000478C3 */ sra $t7, $a0, 3
/* 0BCD20 800BC120 24810007 */ addiu $at, $a0, 7
/* 0BCD24 800BC124 000178C3 */ sra $t7, $at, 3
.L800BC128:
/* 0BCD28 800BC128 19E0000C */ blez $t7, .L800BC15C
/* 0BCD2C 800BC12C 3C04803B */ lui $a0, %hi(gGfxSPTaskOutputBufferSize) # 0x803b
/* 0BCD30 800BC130 3C18803B */ lui $t8, %hi(D_803B71B0) # 0x803b
/* 0BCD34 800BC134 270271B0 */ addiu $v0, $t8, %lo(D_803B71B0) # 0x71b0
/* 0BCD38 800BC138 000FC8C0 */ sll $t9, $t7, 3
/* 0BCD3C 800BC13C 03221821 */ addu $v1, $t9, $v0
.L800BC140:
/* 0BCD40 800BC140 24420008 */ addiu $v0, $v0, 8
/* 0BCD44 800BC144 0043082B */ sltu $at, $v0, $v1
/* 0BCD48 800BC148 24080000 */ li $t0, 0
/* 0BCD4C 800BC14C 24090000 */ li $t1, 0
/* 0BCD50 800BC150 AC49FFFC */ sw $t1, -4($v0)
/* 0BCD54 800BC154 1420FFFA */ bnez $at, .L800BC140
/* 0BCD58 800BC158 AC48FFF8 */ sw $t0, -8($v0)
.L800BC15C:
/* 0BCD5C 800BC15C 2482F780 */ addiu $v0, $a0, %lo(gGfxSPTaskOutputBufferSize) # -0x880
/* 0BCD60 800BC160 254A71A0 */ addiu $t2, %lo(D_803B71A0) # addiu $t2, $t2, 0x71a0
/* 0BCD64 800BC164 01421823 */ subu $v1, $t2, $v0
/* 0BCD68 800BC168 000380C2 */ srl $s0, $v1, 3
/* 0BCD6C 800BC16C 06000007 */ bltz $s0, .L800BC18C
.L800BC170:
/* 0BCD70 800BC170 2610FFFF */ addiu $s0, $s0, -1
/* 0BCD74 800BC174 240C0000 */ li $t4, 0
/* 0BCD78 800BC178 240D0000 */ li $t5, 0
/* 0BCD7C 800BC17C AC4D0004 */ sw $t5, 4($v0)
/* 0BCD80 800BC180 AC4C0000 */ sw $t4, ($v0)
/* 0BCD84 800BC184 0601FFFA */ bgez $s0, .L800BC170
/* 0BCD88 800BC188 24420008 */ addiu $v0, $v0, 8
.L800BC18C:
/* 0BCD8C 800BC18C 3C028000 */ lui $v0, %hi(osTvType) # $v0, 0x8000
/* 0BCD90 800BC190 8C420300 */ lw $v0, %lo(osTvType)($v0)
/* 0BCD94 800BC194 10400007 */ beqz $v0, .L800BC1B4
/* 0BCD98 800BC198 24010001 */ li $at, 1
/* 0BCD9C 800BC19C 10410015 */ beq $v0, $at, .L800BC1F4
/* 0BCDA0 800BC1A0 24010002 */ li $at, 2
/* 0BCDA4 800BC1A4 1041000B */ beq $v0, $at, .L800BC1D4
/* 0BCDA8 800BC1A8 00000000 */ nop
/* 0BCDAC 800BC1AC 10000011 */ b .L800BC1F4
/* 0BCDB0 800BC1B0 00000000 */ nop
.L800BC1B4:
/* 0BCDB4 800BC1B4 3C01800F */ lui $at, %hi(D_800F2EA0) # $at, 0x800f
/* 0BCDB8 800BC1B8 C4242EA0 */ lwc1 $f4, %lo(D_800F2EA0)($at)
/* 0BCDBC 800BC1BC 3C01803B */ lui $at, %hi(D_803B7178) # $at, 0x803b
/* 0BCDC0 800BC1C0 240E0032 */ li $t6, 50
/* 0BCDC4 800BC1C4 E4247178 */ swc1 $f4, %lo(D_803B7178)($at)
/* 0BCDC8 800BC1C8 3C01803B */ lui $at, %hi(D_803B717C) # $at, 0x803b
/* 0BCDCC 800BC1CC 10000010 */ b .L800BC210
/* 0BCDD0 800BC1D0 AC2E717C */ sw $t6, %lo(D_803B717C)($at)
.L800BC1D4:
/* 0BCDD4 800BC1D4 3C01800F */ lui $at, %hi(D_800F2EA4) # $at, 0x800f
/* 0BCDD8 800BC1D8 C4262EA4 */ lwc1 $f6, %lo(D_800F2EA4)($at)
/* 0BCDDC 800BC1DC 3C01803B */ lui $at, %hi(D_803B7178) # $at, 0x803b
/* 0BCDE0 800BC1E0 240F003C */ li $t7, 60
/* 0BCDE4 800BC1E4 E4267178 */ swc1 $f6, %lo(D_803B7178)($at)
/* 0BCDE8 800BC1E8 3C01803B */ lui $at, %hi(D_803B717C) # $at, 0x803b
/* 0BCDEC 800BC1EC 10000008 */ b .L800BC210
/* 0BCDF0 800BC1F0 AC2F717C */ sw $t7, %lo(D_803B717C)($at)
.L800BC1F4:
/* 0BCDF4 800BC1F4 3C01800F */ lui $at, %hi(D_800F2EA8) # $at, 0x800f
/* 0BCDF8 800BC1F8 C4282EA8 */ lwc1 $f8, %lo(D_800F2EA8)($at)
/* 0BCDFC 800BC1FC 3C01803B */ lui $at, %hi(D_803B7178) # $at, 0x803b
/* 0BCE00 800BC200 2419003C */ li $t9, 60
/* 0BCE04 800BC204 E4287178 */ swc1 $f8, %lo(D_803B7178)($at)
/* 0BCE08 800BC208 3C01803B */ lui $at, %hi(D_803B717C) # $at, 0x803b
/* 0BCE0C 800BC20C AC39717C */ sw $t9, %lo(D_803B717C)($at)
.L800BC210:
/* 0BCE10 800BC210 0C032FD2 */ jal func_800CBF48
/* 0BCE14 800BC214 00000000 */ nop
/* 0BCE18 800BC218 3C02803B */ lui $v0, %hi(D_803B718C) # $v0, 0x803b
/* 0BCE1C 800BC21C 3C04803B */ lui $a0, %hi(D_803B7192) # $a0, 0x803b
/* 0BCE20 800BC220 24847192 */ addiu $a0, %lo(D_803B7192) # addiu $a0, $a0, 0x7192
/* 0BCE24 800BC224 2442718C */ addiu $v0, %lo(D_803B718C) # addiu $v0, $v0, 0x718c
/* 0BCE28 800BC228 240300A0 */ li $v1, 160
.L800BC22C:
/* 0BCE2C 800BC22C 24420002 */ addiu $v0, $v0, 2
/* 0BCE30 800BC230 0044082B */ sltu $at, $v0, $a0
/* 0BCE34 800BC234 1420FFFD */ bnez $at, .L800BC22C
/* 0BCE38 800BC238 A443FFFE */ sh $v1, -2($v0)
/* 0BCE3C 800BC23C 3C18803B */ lui $t8, %hi(D_803B70B8) # $t8, 0x803b
/* 0BCE40 800BC240 271870B8 */ addiu $t8, %lo(D_803B70B8) # addiu $t8, $t8, 0x70b8
/* 0BCE44 800BC244 AF000000 */ sw $zero, ($t8)
/* 0BCE48 800BC248 3C01803B */ lui $at, %hi(D_803B70C0) # $at, 0x803b
/* 0BCE4C 800BC24C AC2070C0 */ sw $zero, %lo(D_803B70C0)($at)
/* 0BCE50 800BC250 3C01803B */ lui $at, %hi(D_803B70C4) # $at, 0x803b
/* 0BCE54 800BC254 AC2070C4 */ sw $zero, %lo(D_803B70C4)($at)
/* 0BCE58 800BC258 3C01803B */ lui $at, %hi(D_803B70B6) # $at, 0x803b
/* 0BCE5C 800BC25C A02070B6 */ sb $zero, %lo(D_803B70B6)($at)
/* 0BCE60 800BC260 3C02803B */ lui $v0, %hi(D_803B70D8) # $v0, 0x803b
/* 0BCE64 800BC264 3C01803B */ lui $at, %hi(D_803B70D4) # $at, 0x803b
/* 0BCE68 800BC268 244270D8 */ addiu $v0, %lo(D_803B70D8) # addiu $v0, $v0, 0x70d8
/* 0BCE6C 800BC26C AC2070D4 */ sw $zero, %lo(D_803B70D4)($at)
/* 0BCE70 800BC270 3C04803B */ lui $a0, %hi(D_803B6720) # $a0, 0x803b
/* 0BCE74 800BC274 3C05803B */ lui $a1, %hi(D_803B6738) # $a1, 0x803b
/* 0BCE78 800BC278 AC400034 */ sw $zero, 0x34($v0)
/* 0BCE7C 800BC27C AC400084 */ sw $zero, 0x84($v0)
/* 0BCE80 800BC280 24A56738 */ addiu $a1, %lo(D_803B6738) # addiu $a1, $a1, 0x6738
/* 0BCE84 800BC284 24846720 */ addiu $a0, %lo(D_803B6720) # addiu $a0, $a0, 0x6720
/* 0BCE88 800BC288 0C033358 */ jal osCreateMesgQueue
/* 0BCE8C 800BC28C 24060001 */ li $a2, 1
/* 0BCE90 800BC290 3C04803B */ lui $a0, %hi(D_803B6008) # $a0, 0x803b
/* 0BCE94 800BC294 3C05803B */ lui $a1, %hi(D_803B6020) # $a1, 0x803b
/* 0BCE98 800BC298 24A56020 */ addiu $a1, %lo(D_803B6020) # addiu $a1, $a1, 0x6020
/* 0BCE9C 800BC29C 24846008 */ addiu $a0, %lo(D_803B6008) # addiu $a0, $a0, 0x6008
/* 0BCEA0 800BC2A0 0C033358 */ jal osCreateMesgQueue
/* 0BCEA4 800BC2A4 24060040 */ li $a2, 64
/* 0BCEA8 800BC2A8 3C01803B */ lui $at, %hi(D_803B70BC) # $at, 0x803b
/* 0BCEAC 800BC2AC AC2070BC */ sw $zero, %lo(D_803B70BC)($at)
/* 0BCEB0 800BC2B0 3C01803B */ lui $at, %hi(D_803B6E58) # $at, 0x803b
/* 0BCEB4 800BC2B4 3C04800F */ lui $a0, %hi(D_800EA5D4) # $a0, 0x800f
/* 0BCEB8 800BC2B8 AC206E58 */ sw $zero, %lo(D_803B6E58)($at)
/* 0BCEBC 800BC2BC 0C02E43C */ jal func_800B90F0
/* 0BCEC0 800BC2C0 8C84A5D4 */ lw $a0, %lo(D_800EA5D4)($a0)
/* 0BCEC4 800BC2C4 3C06803B */ lui $a2, %hi(D_803B7180) # $a2, 0x803b
/* 0BCEC8 800BC2C8 3C14803B */ lui $s4, %hi(D_803AFBD8) # $s4, 0x803b
/* 0BCECC 800BC2CC 3C11803B */ lui $s1, %hi(D_803B718C) # $s1, 0x803b
/* 0BCED0 800BC2D0 2631718C */ addiu $s1, %lo(D_803B718C) # addiu $s1, $s1, 0x718c
/* 0BCED4 800BC2D4 2694FBD8 */ addiu $s4, %lo(D_803AFBD8) # addiu $s4, $s4, -0x428
/* 0BCED8 800BC2D8 24C67180 */ addiu $a2, %lo(D_803B7180) # addiu $a2, $a2, 0x7180
/* 0BCEDC 800BC2DC 24100A00 */ li $s0, 2560
/* 0BCEE0 800BC2E0 02802025 */ move $a0, $s4
.L800BC2E4:
/* 0BCEE4 800BC2E4 24050A00 */ li $a1, 2560
/* 0BCEE8 800BC2E8 0C02E3FF */ jal func_800B8FFC
/* 0BCEEC 800BC2EC AFA6003C */ sw $a2, 0x3c($sp)
/* 0BCEF0 800BC2F0 8FA6003C */ lw $a2, 0x3c($sp)
/* 0BCEF4 800BC2F4 00001825 */ move $v1, $zero
/* 0BCEF8 800BC2F8 ACC20000 */ sw $v0, ($a2)
.L800BC2FC:
/* 0BCEFC 800BC2FC 8CC80000 */ lw $t0, ($a2)
/* 0BCF00 800BC300 01034821 */ addu $t1, $t0, $v1
/* 0BCF04 800BC304 A5200000 */ sh $zero, ($t1)
/* 0BCF08 800BC308 8CCA0000 */ lw $t2, ($a2)
/* 0BCF0C 800BC30C 01435821 */ addu $t3, $t2, $v1
/* 0BCF10 800BC310 A5600002 */ sh $zero, 2($t3)
/* 0BCF14 800BC314 8CCC0000 */ lw $t4, ($a2)
/* 0BCF18 800BC318 01836821 */ addu $t5, $t4, $v1
/* 0BCF1C 800BC31C A5A00004 */ sh $zero, 4($t5)
/* 0BCF20 800BC320 8CCE0000 */ lw $t6, ($a2)
/* 0BCF24 800BC324 01C37821 */ addu $t7, $t6, $v1
/* 0BCF28 800BC328 24630008 */ addiu $v1, $v1, 8
/* 0BCF2C 800BC32C 1470FFF3 */ bne $v1, $s0, .L800BC2FC
/* 0BCF30 800BC330 A5E00006 */ sh $zero, 6($t7)
/* 0BCF34 800BC334 24C60004 */ addiu $a2, $a2, 4
/* 0BCF38 800BC338 00D1082B */ sltu $at, $a2, $s1
/* 0BCF3C 800BC33C 5420FFE9 */ bnel $at, $zero, .L800BC2E4
/* 0BCF40 800BC340 02802025 */ move $a0, $s4
/* 0BCF44 800BC344 3C01803B */ lui $at, %hi(D_803B0501) # $at, 0x803b
/* 0BCF48 800BC348 3C18803B */ lui $t8, %hi(D_803B0500) # $t8, 0x803b
/* 0BCF4C 800BC34C A0200501 */ sb $zero, %lo(D_803B0501)($at)
/* 0BCF50 800BC350 27180500 */ addiu $t8, %lo(D_803B0500) # addiu $t8, $t8, 0x500
/* 0BCF54 800BC354 24190001 */ li $t9, 1
/* 0BCF58 800BC358 0C02E803 */ jal func_800BA00C
/* 0BCF5C 800BC35C A3190000 */ sb $t9, ($t8)
/* 0BCF60 800BC360 3C11803B */ lui $s1, %hi(D_803B706C) # $s1, 0x803b
/* 0BCF64 800BC364 3C1200BC */ lui $s2, %hi(_sequencesSegmentRomStart) # $s2, 0xbc
/* 0BCF68 800BC368 26525F60 */ addiu $s2, %lo(_sequencesSegmentRomStart) # addiu $s2, $s2, 0x5f60
/* 0BCF6C 800BC36C 2631706C */ addiu $s1, %lo(D_803B706C) # addiu $s1, $s1, 0x706c
/* 0BCF70 800BC370 27B50060 */ addiu $s5, $sp, 0x60
/* 0BCF74 800BC374 AE350000 */ sw $s5, ($s1)
/* 0BCF78 800BC378 02A02825 */ move $a1, $s5
/* 0BCF7C 800BC37C 02402025 */ move $a0, $s2
/* 0BCF80 800BC380 0C02EAA0 */ jal func_800BAA80
/* 0BCF84 800BC384 24060010 */ li $a2, 16
/* 0BCF88 800BC388 8E280000 */ lw $t0, ($s1)
/* 0BCF8C 800BC38C 3C02803B */ lui $v0, %hi(D_803B707C) # $v0, 0x803b
/* 0BCF90 800BC390 2401FFF0 */ li $at, -16
/* 0BCF94 800BC394 85090002 */ lh $t1, 2($t0)
/* 0BCF98 800BC398 2442707C */ addiu $v0, %lo(D_803B707C) # addiu $v0, $v0, 0x707c
/* 0BCF9C 800BC39C 02802025 */ move $a0, $s4
/* 0BCFA0 800BC3A0 3130FFFF */ andi $s0, $t1, 0xffff
/* 0BCFA4 800BC3A4 001050C0 */ sll $t2, $s0, 3
/* 0BCFA8 800BC3A8 01408025 */ move $s0, $t2
/* 0BCFAC 800BC3AC 26100013 */ addiu $s0, $s0, 0x13
/* 0BCFB0 800BC3B0 02012824 */ and $a1, $s0, $at
/* 0BCFB4 800BC3B4 00A08025 */ move $s0, $a1
/* 0BCFB8 800BC3B8 0C02E3FF */ jal func_800B8FFC
/* 0BCFBC 800BC3BC A4490000 */ sh $t1, ($v0)
/* 0BCFC0 800BC3C0 AE220000 */ sw $v0, ($s1)
/* 0BCFC4 800BC3C4 02402025 */ move $a0, $s2
/* 0BCFC8 800BC3C8 00402825 */ move $a1, $v0
/* 0BCFCC 800BC3CC 0C02EAA0 */ jal func_800BAA80
/* 0BCFD0 800BC3D0 02003025 */ move $a2, $s0
/* 0BCFD4 800BC3D4 8E240000 */ lw $a0, ($s1)
/* 0BCFD8 800BC3D8 0C02ED0F */ jal func_800BB43C
/* 0BCFDC 800BC3DC 02402825 */ move $a1, $s2
/* 0BCFE0 800BC3E0 3C110096 */ lui $s1, %hi(_audio_banksSegmentRomStart) # $s1, 0x96
/* 0BCFE4 800BC3E4 3C12803B */ lui $s2, %hi(D_803B7070) # $s2, 0x803b
/* 0BCFE8 800BC3E8 26527070 */ addiu $s2, %lo(D_803B7070) # addiu $s2, $s2, 0x7070
/* 0BCFEC 800BC3EC 26316260 */ addiu $s1, %lo(_audio_banksSegmentRomStart) # addiu $s1, $s1, 0x6260
/* 0BCFF0 800BC3F0 AE550000 */ sw $s5, ($s2)
/* 0BCFF4 800BC3F4 02202025 */ move $a0, $s1
/* 0BCFF8 800BC3F8 02A02825 */ move $a1, $s5
/* 0BCFFC 800BC3FC 0C02EAA0 */ jal func_800BAA80
/* 0BD000 800BC400 24060010 */ li $a2, 16
/* 0BD004 800BC404 8E4C0000 */ lw $t4, ($s2)
/* 0BD008 800BC408 2401FFF0 */ li $at, -16
/* 0BD00C 800BC40C 02802025 */ move $a0, $s4
/* 0BD010 800BC410 85930002 */ lh $s3, 2($t4)
/* 0BD014 800BC414 001380C0 */ sll $s0, $s3, 3
/* 0BD018 800BC418 26100013 */ addiu $s0, $s0, 0x13
/* 0BD01C 800BC41C 02012824 */ and $a1, $s0, $at
/* 0BD020 800BC420 0C02E3FF */ jal func_800B8FFC
/* 0BD024 800BC424 00A08025 */ move $s0, $a1
/* 0BD028 800BC428 AE420000 */ sw $v0, ($s2)
/* 0BD02C 800BC42C 02202025 */ move $a0, $s1
/* 0BD030 800BC430 00402825 */ move $a1, $v0
/* 0BD034 800BC434 0C02EAA0 */ jal func_800BAA80
/* 0BD038 800BC438 02003025 */ move $a2, $s0
/* 0BD03C 800BC43C 8E440000 */ lw $a0, ($s2)
/* 0BD040 800BC440 0C02ED0F */ jal func_800BB43C
/* 0BD044 800BC444 02202825 */ move $a1, $s1
/* 0BD048 800BC448 00132880 */ sll $a1, $s3, 2
/* 0BD04C 800BC44C 00B32823 */ subu $a1, $a1, $s3
/* 0BD050 800BC450 00052880 */ sll $a1, $a1, 2
/* 0BD054 800BC454 0C02E3FF */ jal func_800B8FFC
/* 0BD058 800BC458 02802025 */ move $a0, $s4
/* 0BD05C 800BC45C 3C07803B */ lui $a3, %hi(D_803B7080) # $a3, 0x803b
/* 0BD060 800BC460 24E77080 */ addiu $a3, %lo(D_803B7080) # addiu $a3, $a3, 0x7080
/* 0BD064 800BC464 ACE20000 */ sw $v0, ($a3)
/* 0BD068 800BC468 1A600019 */ blez $s3, .L800BC4D0
/* 0BD06C 800BC46C 00001825 */ move $v1, $zero
/* 0BD070 800BC470 00008825 */ move $s1, $zero
/* 0BD074 800BC474 00008025 */ move $s0, $zero
.L800BC478:
/* 0BD078 800BC478 8E4E0000 */ lw $t6, ($s2)
/* 0BD07C 800BC47C 02A02825 */ move $a1, $s5
/* 0BD080 800BC480 24060010 */ li $a2, 16
/* 0BD084 800BC484 01D17821 */ addu $t7, $t6, $s1
/* 0BD088 800BC488 8DE40004 */ lw $a0, 4($t7)
/* 0BD08C 800BC48C 0C02EAA0 */ jal func_800BAA80
/* 0BD090 800BC490 AFA3008C */ sw $v1, 0x8c($sp)
/* 0BD094 800BC494 3C07803B */ lui $a3, %hi(D_803B7080) # $a3, 0x803b
/* 0BD098 800BC498 24E77080 */ addiu $a3, %lo(D_803B7080) # addiu $a3, $a3, 0x7080
/* 0BD09C 800BC49C 8CF80000 */ lw $t8, ($a3)
/* 0BD0A0 800BC4A0 8FB90060 */ lw $t9, 0x60($sp)
/* 0BD0A4 800BC4A4 8FA3008C */ lw $v1, 0x8c($sp)
/* 0BD0A8 800BC4A8 03104021 */ addu $t0, $t8, $s0
/* 0BD0AC 800BC4AC A1190001 */ sb $t9, 1($t0)
/* 0BD0B0 800BC4B0 8CEA0000 */ lw $t2, ($a3)
/* 0BD0B4 800BC4B4 8FA90064 */ lw $t1, 0x64($sp)
/* 0BD0B8 800BC4B8 24630001 */ addiu $v1, $v1, 1
/* 0BD0BC 800BC4BC 01505821 */ addu $t3, $t2, $s0
/* 0BD0C0 800BC4C0 2610000C */ addiu $s0, $s0, 0xc
/* 0BD0C4 800BC4C4 26310008 */ addiu $s1, $s1, 8
/* 0BD0C8 800BC4C8 1473FFEB */ bne $v1, $s3, .L800BC478
/* 0BD0CC 800BC4CC A1690002 */ sb $t1, 2($t3)
.L800BC4D0:
/* 0BD0D0 800BC4D0 3C11803B */ lui $s1, %hi(D_803B7074) # $s1, 0x803b
/* 0BD0D4 800BC4D4 3C120098 */ lui $s2, %hi(_audio_tablesSegmentRomStart) # $s2, 0x98
/* 0BD0D8 800BC4D8 26529AA0 */ addiu $s2, %lo(_audio_tablesSegmentRomStart) # addiu $s2, $s2, -0x6560
/* 0BD0DC 800BC4DC 26317074 */ addiu $s1, %lo(D_803B7074) # addiu $s1, $s1, 0x7074
/* 0BD0E0 800BC4E0 AE350000 */ sw $s5, ($s1)
/* 0BD0E4 800BC4E4 02402025 */ move $a0, $s2
/* 0BD0E8 800BC4E8 02A02825 */ move $a1, $s5
/* 0BD0EC 800BC4EC 0C02EAA0 */ jal func_800BAA80
/* 0BD0F0 800BC4F0 24060010 */ li $a2, 16
/* 0BD0F4 800BC4F4 8E2C0000 */ lw $t4, ($s1)
/* 0BD0F8 800BC4F8 2401FFF0 */ li $at, -16
/* 0BD0FC 800BC4FC 02802025 */ move $a0, $s4
/* 0BD100 800BC500 85900002 */ lh $s0, 2($t4)
/* 0BD104 800BC504 001068C0 */ sll $t5, $s0, 3
/* 0BD108 800BC508 01A08025 */ move $s0, $t5
/* 0BD10C 800BC50C 26100013 */ addiu $s0, $s0, 0x13
/* 0BD110 800BC510 02012824 */ and $a1, $s0, $at
/* 0BD114 800BC514 0C02E3FF */ jal func_800B8FFC
/* 0BD118 800BC518 00A08025 */ move $s0, $a1
/* 0BD11C 800BC51C AE220000 */ sw $v0, ($s1)
/* 0BD120 800BC520 02402025 */ move $a0, $s2
/* 0BD124 800BC524 00402825 */ move $a1, $v0
/* 0BD128 800BC528 0C02EAA0 */ jal func_800BAA80
/* 0BD12C 800BC52C 02003025 */ move $a2, $s0
/* 0BD130 800BC530 8E240000 */ lw $a0, ($s1)
/* 0BD134 800BC534 0C02ED0F */ jal func_800BB43C
/* 0BD138 800BC538 02402825 */ move $a1, $s2
/* 0BD13C 800BC53C 02802025 */ move $a0, $s4
/* 0BD140 800BC540 0C02E3FF */ jal func_800B8FFC
/* 0BD144 800BC544 24050100 */ li $a1, 256
/* 0BD148 800BC548 3C03803B */ lui $v1, %hi(D_803B7078) # $v1, 0x803b
/* 0BD14C 800BC54C 24637078 */ addiu $v1, %lo(D_803B7078) # addiu $v1, $v1, 0x7078
/* 0BD150 800BC550 3C0400BF */ lui $a0, %hi(_instrument_setsSegmentRomStart) # $a0, 0xbf
/* 0BD154 800BC554 AC620000 */ sw $v0, ($v1)
/* 0BD158 800BC558 248490E0 */ addiu $a0, %lo(_instrument_setsSegmentRomStart) # addiu $a0, $a0, -0x6f20
/* 0BD15C 800BC55C 00402825 */ move $a1, $v0
/* 0BD160 800BC560 0C02EAA0 */ jal func_800BAA80
/* 0BD164 800BC564 24060100 */ li $a2, 256
/* 0BD168 800BC568 3C10800F */ lui $s0, %hi(D_800EA5D8) # $s0, 0x800f
/* 0BD16C 800BC56C 2610A5D8 */ addiu $s0, %lo(D_800EA5D8) # addiu $s0, $s0, -0x5a28
/* 0BD170 800BC570 8E050000 */ lw $a1, ($s0)
/* 0BD174 800BC574 0C02E3FF */ jal func_800B8FFC
/* 0BD178 800BC578 02802025 */ move $a0, $s4
/* 0BD17C 800BC57C 3C04803B */ lui $a0, %hi(D_803B01B8) # $a0, 0x803b
/* 0BD180 800BC580 248401B8 */ addiu $a0, %lo(D_803B01B8) # addiu $a0, $a0, 0x1b8
/* 0BD184 800BC584 00402825 */ move $a1, $v0
/* 0BD188 800BC588 0C02E41F */ jal func_800B907C
/* 0BD18C 800BC58C 8E060000 */ lw $a2, ($s0)
/* 0BD190 800BC590 0C030497 */ jal func_800C125C
/* 0BD194 800BC594 00000000 */ nop
/* 0BD198 800BC598 3C0F7655 */ lui $t7, (0x76557364 >> 16) # lui $t7, 0x7655
/* 0BD19C 800BC59C 3C18800F */ lui $t8, %hi(D_800EA5DC) # $t8, 0x800f
/* 0BD1A0 800BC5A0 2718A5DC */ addiu $t8, %lo(D_800EA5DC) # addiu $t8, $t8, -0x5a24
/* 0BD1A4 800BC5A4 35EF7364 */ ori $t7, (0x76557364 & 0xFFFF) # ori $t7, $t7, 0x7364
/* 0BD1A8 800BC5A8 AF0F0000 */ sw $t7, ($t8)
/* 0BD1AC 800BC5AC 8FBF002C */ lw $ra, 0x2c($sp)
/* 0BD1B0 800BC5B0 8FB50028 */ lw $s5, 0x28($sp)
/* 0BD1B4 800BC5B4 8FB40024 */ lw $s4, 0x24($sp)
/* 0BD1B8 800BC5B8 8FB30020 */ lw $s3, 0x20($sp)
/* 0BD1BC 800BC5BC 8FB2001C */ lw $s2, 0x1c($sp)
/* 0BD1C0 800BC5C0 8FB10018 */ lw $s1, 0x18($sp)
/* 0BD1C4 800BC5C4 8FB00014 */ lw $s0, 0x14($sp)
/* 0BD1C8 800BC5C8 03E00008 */ jr $ra
/* 0BD1CC 800BC5CC 27BD0090 */ addiu $sp, $sp, 0x90