sm64pc/asm/non_matchings/seq_channel_layer_process_s...

1041 lines
47 KiB
ArmAsm

.late_rodata
glabel jtbl_80337C90
.word L8031B2C0
.word L8031B27C
.word L8031B690
.word L8031B690
.word L8031B30C
.word L8031B220
.word L8031B690
.word L8031B690
.word L8031B1E4
glabel jtbl_80337CB4
.word L8031B350
.word L8031B3A8
.word L8031B444
.word L8031B3D4
.word L8031B3D4
.word L8031B494
.word L8031B5B8
.word L8031B688
.word L8031B3A8
.word L8031B350
glabel jtbl_80337CDC
.word L8031BBE8
.word L8031BBF4
.word L8031BBE8
.word L8031BBF4
.word L8031BBE8
glabel D_80337CF0
.double 32512.0
glabel D_80337CF8
.double 127.0
.text
glabel seq_channel_layer_process_script
/* 0D60A4 8031B0A4 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 0D60A8 8031B0A8 240E0001 */ li $t6, 1
/* 0D60AC 8031B0AC AFBF001C */ sw $ra, 0x1c($sp)
/* 0D60B0 8031B0B0 AFB00018 */ sw $s0, 0x18($sp)
/* 0D60B4 8031B0B4 A3AE003F */ sb $t6, 0x3f($sp)
/* 0D60B8 8031B0B8 8C820000 */ lw $v0, ($a0)
/* 0D60BC 8031B0BC 00808025 */ move $s0, $a0
/* 0D60C0 8031B0C0 00027FC2 */ srl $t7, $v0, 0x1f
/* 0D60C4 8031B0C4 51E00376 */ beql $t7, $zero, .L8031BEA0
/* 0D60C8 8031B0C8 8FBF001C */ lw $ra, 0x1c($sp)
/* 0D60CC 8031B0CC 8483003C */ lh $v1, 0x3c($a0)
/* 0D60D0 8031B0D0 00027080 */ sll $t6, $v0, 2
/* 0D60D4 8031B0D4 0002C8C0 */ sll $t9, $v0, 3
/* 0D60D8 8031B0D8 28610002 */ slti $at, $v1, 2
/* 0D60DC 8031B0DC 1420000E */ bnez $at, .L8031B118
/* 0D60E0 8031B0E0 2478FFFF */ addiu $t8, $v1, -1
/* 0D60E4 8031B0E4 05C0036D */ bltz $t6, .L8031BE9C
/* 0D60E8 8031B0E8 A498003C */ sh $t8, 0x3c($a0)
/* 0D60EC 8031B0EC 848F003E */ lh $t7, 0x3e($a0)
/* 0D60F0 8031B0F0 8498003C */ lh $t8, 0x3c($a0)
/* 0D60F4 8031B0F4 01F8082A */ slt $at, $t7, $t8
/* 0D60F8 8031B0F8 54200369 */ bnezl $at, .L8031BEA0
/* 0D60FC 8031B0FC 8FBF001C */ lw $ra, 0x1c($sp)
/* 0D6100 8031B100 0C0C63B1 */ jal seq_channel_layer_note_decay
/* 0D6104 8031B104 00000000 */ nop
/* 0D6108 8031B108 920E0000 */ lbu $t6, ($s0)
/* 0D610C 8031B10C 35CF0020 */ ori $t7, $t6, 0x20
/* 0D6110 8031B110 10000362 */ b .L8031BE9C
/* 0D6114 8031B114 A20F0000 */ sb $t7, ($s0)
.L8031B118:
/* 0D6118 8031B118 07220004 */ bltzl $t9, .L8031B12C
/* 0D611C 8031B11C 92020004 */ lbu $v0, 4($s0)
/* 0D6120 8031B120 0C0C63B1 */ jal seq_channel_layer_note_decay
/* 0D6124 8031B124 02002025 */ move $a0, $s0
/* 0D6128 8031B128 92020004 */ lbu $v0, 4($s0)
.L8031B12C:
/* 0D612C 8031B12C 2401FF7F */ li $at, -129
/* 0D6130 8031B130 44800000 */ mtc1 $zero, $f0
/* 0D6134 8031B134 00417024 */ and $t6, $v0, $at
/* 0D6138 8031B138 24010001 */ li $at, 1
/* 0D613C 8031B13C 11C10004 */ beq $t6, $at, .L8031B150
/* 0D6140 8031B140 3C1F8022 */ lui $ra, %hi(gCtlEntries) # $ra, 0x8022
/* 0D6144 8031B144 24010002 */ li $at, 2
/* 0D6148 8031B148 55C10003 */ bnel $t6, $at, .L8031B158
/* 0D614C 8031B14C 8E0D0050 */ lw $t5, 0x50($s0)
.L8031B150:
/* 0D6150 8031B150 A2000004 */ sb $zero, 4($s0)
/* 0D6154 8031B154 8E0D0050 */ lw $t5, 0x50($s0)
.L8031B158:
/* 0D6158 8031B158 3C013F80 */ lui $at, 0x3f80
/* 0D615C 8031B15C 3C0B8022 */ lui $t3, %hi(gBankLoadedPool)
/* 0D6160 8031B160 44810800 */ mtc1 $at, $f1
/* 0D6164 8031B164 256B14F8 */ addiu $t3, $t3, %lo(gBankLoadedPool)
/* 0D6168 8031B168 27FF6D60 */ addiu $ra, %lo(gCtlEntries) # addiu $ra, $ra, 0x6d60
/* 0D616C 8031B16C 97AA003A */ lhu $t2, 0x3a($sp)
/* 0D6170 8031B170 240900FF */ li $t1, 255
/* 0D6174 8031B174 8DAC0040 */ lw $t4, 0x40($t5)
.L8031B178:
/* 0D6178 8031B178 8E020054 */ lw $v0, 0x54($s0)
.L8031B17C:
/* 0D617C 8031B17C 244F0001 */ addiu $t7, $v0, 1
/* 0D6180 8031B180 AE0F0054 */ sw $t7, 0x54($s0)
/* 0D6184 8031B184 90440000 */ lbu $a0, ($v0)
/* 0D6188 8031B188 288100C1 */ slti $at, $a0, 0xc1
/* 0D618C 8031B18C 14200159 */ bnez $at, .L8031B6F4
/* 0D6190 8031B190 00802825 */ move $a1, $a0
/* 0D6194 8031B194 288100CB */ slti $at, $a0, 0xcb
/* 0D6198 8031B198 1420000A */ bnez $at, .L8031B1C4
/* 0D619C 8031B19C 24B9FF3F */ addiu $t9, $a1, -0xc1
/* 0D61A0 8031B1A0 2498FF09 */ addiu $t8, $a0, -0xf7
/* 0D61A4 8031B1A4 2F010009 */ sltiu $at, $t8, 9
/* 0D61A8 8031B1A8 10200139 */ beqz $at, .L8031B690
/* 0D61AC 8031B1AC 0018C080 */ sll $t8, $t8, 2
/* 0D61B0 8031B1B0 3C018033 */ lui $at, %hi(jtbl_80337C90)
/* 0D61B4 8031B1B4 00380821 */ addu $at, $at, $t8
/* 0D61B8 8031B1B8 8C387C90 */ lw $t8, %lo(jtbl_80337C90)($at)
/* 0D61BC 8031B1BC 03000008 */ jr $t8
/* 0D61C0 8031B1C0 00000000 */ nop
.L8031B1C4:
/* 0D61C4 8031B1C4 2F21000A */ sltiu $at, $t9, 0xa
/* 0D61C8 8031B1C8 10200131 */ beqz $at, .L8031B690
/* 0D61CC 8031B1CC 0019C880 */ sll $t9, $t9, 2
/* 0D61D0 8031B1D0 3C018033 */ lui $at, %hi(jtbl_80337CB4)
/* 0D61D4 8031B1D4 00390821 */ addu $at, $at, $t9
/* 0D61D8 8031B1D8 8C397CB4 */ lw $t9, %lo(jtbl_80337CB4)($at)
/* 0D61DC 8031B1DC 03200008 */ jr $t9
/* 0D61E0 8031B1E0 00000000 */ nop
glabel L8031B1E4
/* 0D61E4 8031B1E4 26020054 */ addiu $v0, $s0, 0x54
/* 0D61E8 8031B1E8 90430018 */ lbu $v1, 0x18($v0)
/* 0D61EC 8031B1EC 14600005 */ bnez $v1, .L8031B204
/* 0D61F0 8031B1F0 246EFFFF */ addiu $t6, $v1, -1
/* 0D61F4 8031B1F4 0C0C6A84 */ jal seq_channel_layer_disable
/* 0D61F8 8031B1F8 02002025 */ move $a0, $s0
/* 0D61FC 8031B1FC 10000328 */ b .L8031BEA0
/* 0D6200 8031B200 8FBF001C */ lw $ra, 0x1c($sp)
.L8031B204:
/* 0D6204 8031B204 31CF00FF */ andi $t7, $t6, 0xff
/* 0D6208 8031B208 000FC080 */ sll $t8, $t7, 2
/* 0D620C 8031B20C 0058C821 */ addu $t9, $v0, $t8
/* 0D6210 8031B210 A04E0018 */ sb $t6, 0x18($v0)
/* 0D6214 8031B214 8F2E0004 */ lw $t6, 4($t9)
/* 0D6218 8031B218 1000FFD7 */ b .L8031B178
/* 0D621C 8031B21C AC4E0000 */ sw $t6, ($v0)
glabel L8031B220
/* 0D6220 8031B220 26020054 */ addiu $v0, $s0, 0x54
/* 0D6224 8031B224 8C430000 */ lw $v1, ($v0)
/* 0D6228 8031B228 90640000 */ lbu $a0, ($v1)
/* 0D622C 8031B22C 246E0001 */ addiu $t6, $v1, 1
/* 0D6230 8031B230 AC4E0000 */ sw $t6, ($v0)
/* 0D6234 8031B234 91CF0000 */ lbu $t7, ($t6)
/* 0D6238 8031B238 0004CA00 */ sll $t9, $a0, 8
/* 0D623C 8031B23C 01F92825 */ or $a1, $t7, $t9
/* 0D6240 8031B240 904F0018 */ lbu $t7, 0x18($v0)
/* 0D6244 8031B244 25D90001 */ addiu $t9, $t6, 1
/* 0D6248 8031B248 AC590000 */ sw $t9, ($v0)
/* 0D624C 8031B24C 25F80001 */ addiu $t8, $t7, 1
/* 0D6250 8031B250 330E00FF */ andi $t6, $t8, 0xff
/* 0D6254 8031B254 000E7880 */ sll $t7, $t6, 2
/* 0D6258 8031B258 A0580018 */ sb $t8, 0x18($v0)
/* 0D625C 8031B25C 004FC021 */ addu $t8, $v0, $t7
/* 0D6260 8031B260 AF190000 */ sw $t9, ($t8)
/* 0D6264 8031B264 8D8E0014 */ lw $t6, 0x14($t4)
/* 0D6268 8031B268 30AFFFFF */ andi $t7, $a1, 0xffff
/* 0D626C 8031B26C 30AAFFFF */ andi $t2, $a1, 0xffff
/* 0D6270 8031B270 01CFC821 */ addu $t9, $t6, $t7
/* 0D6274 8031B274 1000FFC0 */ b .L8031B178
/* 0D6278 8031B278 AC590000 */ sw $t9, ($v0)
glabel L8031B27C
/* 0D627C 8031B27C 26020054 */ addiu $v0, $s0, 0x54
/* 0D6280 8031B280 8C430000 */ lw $v1, ($v0)
/* 0D6284 8031B284 904E0018 */ lbu $t6, 0x18($v0)
/* 0D6288 8031B288 24780001 */ addiu $t8, $v1, 1
/* 0D628C 8031B28C AC580000 */ sw $t8, ($v0)
/* 0D6290 8031B290 90650000 */ lbu $a1, ($v1)
/* 0D6294 8031B294 004E7821 */ addu $t7, $v0, $t6
/* 0D6298 8031B298 A1E50014 */ sb $a1, 0x14($t7)
/* 0D629C 8031B29C 90590018 */ lbu $t9, 0x18($v0)
/* 0D62A0 8031B2A0 8C4E0000 */ lw $t6, ($v0)
/* 0D62A4 8031B2A4 27380001 */ addiu $t8, $t9, 1
/* 0D62A8 8031B2A8 330F00FF */ andi $t7, $t8, 0xff
/* 0D62AC 8031B2AC 000FC880 */ sll $t9, $t7, 2
/* 0D62B0 8031B2B0 A0580018 */ sb $t8, 0x18($v0)
/* 0D62B4 8031B2B4 0059C021 */ addu $t8, $v0, $t9
/* 0D62B8 8031B2B8 1000FFAF */ b .L8031B178
/* 0D62BC 8031B2BC AF0E0000 */ sw $t6, ($t8)
glabel L8031B2C0
/* 0D62C0 8031B2C0 26020054 */ addiu $v0, $s0, 0x54
/* 0D62C4 8031B2C4 904F0018 */ lbu $t7, 0x18($v0)
/* 0D62C8 8031B2C8 004F2021 */ addu $a0, $v0, $t7
/* 0D62CC 8031B2CC 90990013 */ lbu $t9, 0x13($a0)
/* 0D62D0 8031B2D0 272EFFFF */ addiu $t6, $t9, -1
/* 0D62D4 8031B2D4 A08E0013 */ sb $t6, 0x13($a0)
/* 0D62D8 8031B2D8 90430018 */ lbu $v1, 0x18($v0)
/* 0D62DC 8031B2DC 0043C021 */ addu $t8, $v0, $v1
/* 0D62E0 8031B2E0 930F0013 */ lbu $t7, 0x13($t8)
/* 0D62E4 8031B2E4 00602825 */ move $a1, $v1
/* 0D62E8 8031B2E8 0005C880 */ sll $t9, $a1, 2
/* 0D62EC 8031B2EC 11E00004 */ beqz $t7, .L8031B300
/* 0D62F0 8031B2F0 00597021 */ addu $t6, $v0, $t9
/* 0D62F4 8031B2F4 8DD80000 */ lw $t8, ($t6)
/* 0D62F8 8031B2F8 1000FF9F */ b .L8031B178
/* 0D62FC 8031B2FC AC580000 */ sw $t8, ($v0)
.L8031B300:
/* 0D6300 8031B300 246FFFFF */ addiu $t7, $v1, -1
/* 0D6304 8031B304 1000FF9C */ b .L8031B178
/* 0D6308 8031B308 A04F0018 */ sb $t7, 0x18($v0)
glabel L8031B30C
/* 0D630C 8031B30C 26020054 */ addiu $v0, $s0, 0x54
/* 0D6310 8031B310 8C430000 */ lw $v1, ($v0)
/* 0D6314 8031B314 90640000 */ lbu $a0, ($v1)
/* 0D6318 8031B318 246F0001 */ addiu $t7, $v1, 1
/* 0D631C 8031B31C AC4F0000 */ sw $t7, ($v0)
/* 0D6320 8031B320 91F90000 */ lbu $t9, ($t7)
/* 0D6324 8031B324 0004C200 */ sll $t8, $a0, 8
/* 0D6328 8031B328 25EF0001 */ addiu $t7, $t7, 1
/* 0D632C 8031B32C 03387025 */ or $t6, $t9, $t8
/* 0D6330 8031B330 AC4F0000 */ sw $t7, ($v0)
/* 0D6334 8031B334 8D990014 */ lw $t9, 0x14($t4)
/* 0D6338 8031B338 01C0C025 */ move $t8, $t6
/* 0D633C 8031B33C 330AFFFF */ andi $t2, $t8, 0xffff
/* 0D6340 8031B340 330EFFFF */ andi $t6, $t8, 0xffff
/* 0D6344 8031B344 032EC021 */ addu $t8, $t9, $t6
/* 0D6348 8031B348 1000FF8B */ b .L8031B178
/* 0D634C 8031B34C AC580000 */ sw $t8, ($v0)
glabel L8031B350
/* 0D6350 8031B350 26020054 */ addiu $v0, $s0, 0x54
/* 0D6354 8031B354 8C430000 */ lw $v1, ($v0)
/* 0D6358 8031B358 240100C1 */ li $at, 193
/* 0D635C 8031B35C 90640000 */ lbu $a0, ($v1)
/* 0D6360 8031B360 246F0001 */ addiu $t7, $v1, 1
/* 0D6364 8031B364 14A10008 */ bne $a1, $at, .L8031B388
/* 0D6368 8031B368 AC4F0000 */ sw $t7, ($v0)
/* 0D636C 8031B36C 00840019 */ multu $a0, $a0
/* 0D6370 8031B370 0000C812 */ mflo $t9
/* 0D6374 8031B374 44992000 */ mtc1 $t9, $f4
/* 0D6378 8031B378 00000000 */ nop
/* 0D637C 8031B37C 468021A0 */ cvt.s.w $f6, $f4
/* 0D6380 8031B380 1000FF7D */ b .L8031B178
/* 0D6384 8031B384 E6060024 */ swc1 $f6, 0x24($s0)
.L8031B388:
/* 0D6388 8031B388 44844000 */ mtc1 $a0, $f8
/* 0D638C 8031B38C 00000000 */ nop
/* 0D6390 8031B390 468042A0 */ cvt.s.w $f10, $f8
/* 0D6394 8031B394 46005421 */ cvt.d.s $f16, $f10
/* 0D6398 8031B398 46208482 */ mul.d $f18, $f16, $f0
/* 0D639C 8031B39C 46209120 */ cvt.s.d $f4, $f18
/* 0D63A0 8031B3A0 1000FF75 */ b .L8031B178
/* 0D63A4 8031B3A4 E6040028 */ swc1 $f4, 0x28($s0)
glabel L8031B3A8
/* 0D63A8 8031B3A8 26020054 */ addiu $v0, $s0, 0x54
/* 0D63AC 8031B3AC 8C430000 */ lw $v1, ($v0)
/* 0D63B0 8031B3B0 240100C9 */ li $at, 201
/* 0D63B4 8031B3B4 90640000 */ lbu $a0, ($v1)
/* 0D63B8 8031B3B8 246E0001 */ addiu $t6, $v1, 1
/* 0D63BC 8031B3BC 14A10003 */ bne $a1, $at, .L8031B3CC
/* 0D63C0 8031B3C0 AC4E0000 */ sw $t6, ($v0)
/* 0D63C4 8031B3C4 1000FF6C */ b .L8031B178
/* 0D63C8 8031B3C8 A2040002 */ sb $a0, 2($s0)
.L8031B3CC:
/* 0D63CC 8031B3CC 1000FF6A */ b .L8031B178
/* 0D63D0 8031B3D0 A604001E */ sh $a0, 0x1e($s0)
glabel L8031B3D4
/* 0D63D4 8031B3D4 240100C4 */ li $at, 196
/* 0D63D8 8031B3D8 14A10003 */ bne $a1, $at, .L8031B3E8
/* 0D63DC 8031B3DC 02002025 */ move $a0, $s0
/* 0D63E0 8031B3E0 10000002 */ b .L8031B3EC
/* 0D63E4 8031B3E4 24020001 */ li $v0, 1
.L8031B3E8:
/* 0D63E8 8031B3E8 00001025 */ move $v0, $zero
.L8031B3EC:
/* 0D63EC 8031B3EC 920E0000 */ lbu $t6, ($s0)
/* 0D63F0 8031B3F0 00027900 */ sll $t7, $v0, 4
/* 0D63F4 8031B3F4 31F90010 */ andi $t9, $t7, 0x10
/* 0D63F8 8031B3F8 31D8FFEF */ andi $t8, $t6, 0xffef
/* 0D63FC 8031B3FC 03387825 */ or $t7, $t9, $t8
/* 0D6400 8031B400 A20F0000 */ sb $t7, ($s0)
/* 0D6404 8031B404 AFAD0058 */ sw $t5, 0x58($sp)
/* 0D6408 8031B408 AFAC005C */ sw $t4, 0x5c($sp)
/* 0D640C 8031B40C 0C0C63B1 */ jal seq_channel_layer_note_decay
/* 0D6410 8031B410 A7AA003A */ sh $t2, 0x3a($sp)
/* 0D6414 8031B414 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0D6418 8031B418 44810800 */ mtc1 $at, $f1
/* 0D641C 8031B41C 3C0B8022 */ lui $t3, %hi(gBankLoadedPool) # $t3, 0x8022
/* 0D6420 8031B420 3C1F8022 */ lui $ra, %hi(gCtlEntries)
/* 0D6424 8031B424 44800000 */ mtc1 $zero, $f0
/* 0D6428 8031B428 27FF6D60 */ addiu $ra, $ra, %lo(gCtlEntries)
/* 0D642C 8031B42C 256B14F8 */ addiu $t3, %lo(gBankLoadedPool) # addiu $t3, $t3, 0x14f8
/* 0D6430 8031B430 240900FF */ li $t1, 255
/* 0D6434 8031B434 97AA003A */ lhu $t2, 0x3a($sp)
/* 0D6438 8031B438 8FAC005C */ lw $t4, 0x5c($sp)
/* 0D643C 8031B43C 1000FF4E */ b .L8031B178
/* 0D6440 8031B440 8FAD0058 */ lw $t5, 0x58($sp)
glabel L8031B444
/* 0D6444 8031B444 26020054 */ addiu $v0, $s0, 0x54
/* 0D6448 8031B448 8C430000 */ lw $v1, ($v0)
/* 0D644C 8031B44C 90640000 */ lbu $a0, ($v1)
/* 0D6450 8031B450 246E0001 */ addiu $t6, $v1, 1
/* 0D6454 8031B454 AC4E0000 */ sw $t6, ($v0)
/* 0D6458 8031B458 30990080 */ andi $t9, $a0, 0x80
/* 0D645C 8031B45C 1320000A */ beqz $t9, .L8031B488
/* 0D6460 8031B460 00802825 */ move $a1, $a0
/* 0D6464 8031B464 01C01825 */ move $v1, $t6
/* 0D6468 8031B468 91CE0000 */ lbu $t6, ($t6)
/* 0D646C 8031B46C 00052200 */ sll $a0, $a1, 8
/* 0D6470 8031B470 308F7F00 */ andi $t7, $a0, 0x7f00
/* 0D6474 8031B474 01CF2025 */ or $a0, $t6, $t7
/* 0D6478 8031B478 3085FFFF */ andi $a1, $a0, 0xffff
/* 0D647C 8031B47C 24780001 */ addiu $t8, $v1, 1
/* 0D6480 8031B480 AC580000 */ sw $t8, ($v0)
/* 0D6484 8031B484 00A02025 */ move $a0, $a1
.L8031B488:
/* 0D6488 8031B488 308AFFFF */ andi $t2, $a0, 0xffff
/* 0D648C 8031B48C 1000FF3A */ b .L8031B178
/* 0D6490 8031B490 A6050038 */ sh $a1, 0x38($s0)
glabel L8031B494
/* 0D6494 8031B494 26020054 */ addiu $v0, $s0, 0x54
/* 0D6498 8031B498 8C430000 */ lw $v1, ($v0)
/* 0D649C 8031B49C 246F0001 */ addiu $t7, $v1, 1
/* 0D64A0 8031B4A0 AC4F0000 */ sw $t7, ($v0)
/* 0D64A4 8031B4A4 90650000 */ lbu $a1, ($v1)
/* 0D64A8 8031B4A8 28A1007F */ slti $at, $a1, 0x7f
/* 0D64AC 8031B4AC 5020FF33 */ beql $at, $zero, .L8031B17C
/* 0D64B0 8031B4B0 8E020054 */ lw $v0, 0x54($s0)
/* 0D64B4 8031B4B4 91B90005 */ lbu $t9, 5($t5)
/* 0D64B8 8031B4B8 8FEE0000 */ lw $t6, ($ra)
/* 0D64BC 8031B4BC 30A200FF */ andi $v0, $a1, 0xff
/* 0D64C0 8031B4C0 0019C080 */ sll $t8, $t9, 2
/* 0D64C4 8031B4C4 0319C023 */ subu $t8, $t8, $t9
/* 0D64C8 8031B4C8 0018C080 */ sll $t8, $t8, 2
/* 0D64CC 8031B4CC 01D83821 */ addu $a3, $t6, $t8
/* 0D64D0 8031B4D0 90E30001 */ lbu $v1, 1($a3)
/* 0D64D4 8031B4D4 00A3082A */ slt $at, $a1, $v1
/* 0D64D8 8031B4D8 54200008 */ bnezl $at, .L8031B4FC
/* 0D64DC 8031B4DC 8CE30004 */ lw $v1, 4($a3)
/* 0D64E0 8031B4E0 306200FF */ andi $v0, $v1, 0xff
/* 0D64E4 8031B4E4 5040FF25 */ beql $v0, $zero, .L8031B17C
/* 0D64E8 8031B4E8 8E020054 */ lw $v0, 0x54($s0)
/* 0D64EC 8031B4EC 2442FFFF */ addiu $v0, $v0, -1
/* 0D64F0 8031B4F0 304F00FF */ andi $t7, $v0, 0xff
/* 0D64F4 8031B4F4 01E01025 */ move $v0, $t7
/* 0D64F8 8031B4F8 8CE30004 */ lw $v1, 4($a3)
.L8031B4FC:
/* 0D64FC 8031B4FC 0002C880 */ sll $t9, $v0, 2
/* 0D6500 8031B500 26050048 */ addiu $a1, $s0, 0x48
/* 0D6504 8031B504 00797021 */ addu $t6, $v1, $t9
/* 0D6508 8031B508 8DC40000 */ lw $a0, ($t6)
/* 0D650C 8031B50C 5480000C */ bnezl $a0, .L8031B540
/* 0D6510 8031B510 8D630004 */ lw $v1, 4($t3)
/* 0D6514 8031B514 11220009 */ beq $t1, $v0, .L8031B53C
.L8031B518:
/* 0D6518 8031B518 0002C080 */ sll $t8, $v0, 2
/* 0D651C 8031B51C 00787821 */ addu $t7, $v1, $t8
/* 0D6520 8031B520 8DE40000 */ lw $a0, ($t7)
/* 0D6524 8031B524 54800006 */ bnezl $a0, .L8031B540
/* 0D6528 8031B528 8D630004 */ lw $v1, 4($t3)
/* 0D652C 8031B52C 2442FFFF */ addiu $v0, $v0, -1
/* 0D6530 8031B530 305900FF */ andi $t9, $v0, 0xff
/* 0D6534 8031B534 1539FFF8 */ bne $t1, $t9, .L8031B518
/* 0D6538 8031B538 03201025 */ move $v0, $t9
.L8031B53C:
/* 0D653C 8031B53C 8D630004 */ lw $v1, 4($t3)
.L8031B540:
/* 0D6540 8031B540 0083082B */ sltu $at, $a0, $v1
/* 0D6544 8031B544 54200007 */ bnezl $at, .L8031B564
/* 0D6548 8031B548 8D630198 */ lw $v1, 0x198($t3)
/* 0D654C 8031B54C 8D6E000C */ lw $t6, 0xc($t3)
/* 0D6550 8031B550 006EC021 */ addu $t8, $v1, $t6
/* 0D6554 8031B554 0304082B */ sltu $at, $t8, $a0
/* 0D6558 8031B558 5020000B */ beql $at, $zero, .L8031B588
/* 0D655C 8031B55C 8C8E0004 */ lw $t6, 4($a0)
/* 0D6560 8031B560 8D630198 */ lw $v1, 0x198($t3)
.L8031B564:
/* 0D6564 8031B564 0083082B */ sltu $at, $a0, $v1
/* 0D6568 8031B568 5420000E */ bnezl $at, .L8031B5A4
/* 0D656C 8031B56C 3C010002 */ lui $at, 2
/* 0D6570 8031B570 8D6F01A0 */ lw $t7, 0x1a0($t3)
/* 0D6574 8031B574 006FC821 */ addu $t9, $v1, $t7
/* 0D6578 8031B578 0324082B */ sltu $at, $t9, $a0
/* 0D657C 8031B57C 54200009 */ bnezl $at, .L8031B5A4
/* 0D6580 8031B580 3C010002 */ lui $at, 2
/* 0D6584 8031B584 8C8E0004 */ lw $t6, 4($a0)
.L8031B588:
/* 0D6588 8031B588 26020014 */ addiu $v0, $s0, 0x14
/* 0D658C 8031B58C AC4E0004 */ sw $t6, 4($v0)
/* 0D6590 8031B590 90980003 */ lbu $t8, 3($a0)
/* 0D6594 8031B594 A0580000 */ sb $t8, ($v0)
/* 0D6598 8031B598 1000FEF7 */ b .L8031B178
/* 0D659C 8031B59C ACA40000 */ sw $a0, ($a1)
/* 0D65A0 8031B5A0 3C010002 */ lui $at, 2
.L8031B5A4:
/* 0D65A4 8031B5A4 00417821 */ addu $t7, $v0, $at
/* 0D65A8 8031B5A8 3C018033 */ lui $at, %hi(gAudioErrorFlags) # $at, 0x8033
/* 0D65AC 8031B5AC AC2F1D40 */ sw $t7, %lo(gAudioErrorFlags)($at)
/* 0D65B0 8031B5B0 1000FEF1 */ b .L8031B178
/* 0D65B4 8031B5B4 ACA00000 */ sw $zero, ($a1)
glabel L8031B5B8
/* 0D65B8 8031B5B8 26020054 */ addiu $v0, $s0, 0x54
/* 0D65BC 8031B5BC 8C430000 */ lw $v1, ($v0)
/* 0D65C0 8031B5C0 24790001 */ addiu $t9, $v1, 1
/* 0D65C4 8031B5C4 AC590000 */ sw $t9, ($v0)
/* 0D65C8 8031B5C8 90650000 */ lbu $a1, ($v1)
/* 0D65CC 8031B5CC A2050004 */ sb $a1, 4($s0)
/* 0D65D0 8031B5D0 8C430000 */ lw $v1, ($v0)
/* 0D65D4 8031B5D4 246E0001 */ addiu $t6, $v1, 1
/* 0D65D8 8031B5D8 AC4E0000 */ sw $t6, ($v0)
/* 0D65DC 8031B5DC 85B8001A */ lh $t8, 0x1a($t5)
/* 0D65E0 8031B5E0 90670000 */ lbu $a3, ($v1)
/* 0D65E4 8031B5E4 8619001E */ lh $t9, 0x1e($s0)
/* 0D65E8 8031B5E8 03077821 */ addu $t7, $t8, $a3
/* 0D65EC 8031B5EC 85980010 */ lh $t8, 0x10($t4)
/* 0D65F0 8031B5F0 01F97021 */ addu $t6, $t7, $t9
/* 0D65F4 8031B5F4 01D84021 */ addu $t0, $t6, $t8
/* 0D65F8 8031B5F8 310F00FF */ andi $t7, $t0, 0xff
/* 0D65FC 8031B5FC 29E10080 */ slti $at, $t7, 0x80
/* 0D6600 8031B600 14200002 */ bnez $at, .L8031B60C
/* 0D6604 8031B604 01E04025 */ move $t0, $t7
/* 0D6608 8031B608 00004025 */ move $t0, $zero
.L8031B60C:
/* 0D660C 8031B60C 92190004 */ lbu $t9, 4($s0)
/* 0D6610 8031B610 A2080003 */ sb $t0, 3($s0)
/* 0D6614 8031B614 332E0080 */ andi $t6, $t9, 0x80
/* 0D6618 8031B618 51C00009 */ beql $t6, $zero, .L8031B640
/* 0D661C 8031B61C 8C430000 */ lw $v1, ($v0)
/* 0D6620 8031B620 8C580000 */ lw $t8, ($v0)
/* 0D6624 8031B624 930F0000 */ lbu $t7, ($t8)
/* 0D6628 8031B628 A60F001C */ sh $t7, 0x1c($s0)
/* 0D662C 8031B62C 8C590000 */ lw $t9, ($v0)
/* 0D6630 8031B630 272E0001 */ addiu $t6, $t9, 1
/* 0D6634 8031B634 1000FED0 */ b .L8031B178
/* 0D6638 8031B638 AC4E0000 */ sw $t6, ($v0)
/* 0D663C 8031B63C 8C430000 */ lw $v1, ($v0)
.L8031B640:
/* 0D6640 8031B640 90640000 */ lbu $a0, ($v1)
/* 0D6644 8031B644 24780001 */ addiu $t8, $v1, 1
/* 0D6648 8031B648 AC580000 */ sw $t8, ($v0)
/* 0D664C 8031B64C 308F0080 */ andi $t7, $a0, 0x80
/* 0D6650 8031B650 11E0000A */ beqz $t7, .L8031B67C
/* 0D6654 8031B654 00802825 */ move $a1, $a0
/* 0D6658 8031B658 03001825 */ move $v1, $t8
/* 0D665C 8031B65C 93180000 */ lbu $t8, ($t8)
/* 0D6660 8031B660 00052200 */ sll $a0, $a1, 8
/* 0D6664 8031B664 308E7F00 */ andi $t6, $a0, 0x7f00
/* 0D6668 8031B668 030E2025 */ or $a0, $t8, $t6
/* 0D666C 8031B66C 308FFFFF */ andi $t7, $a0, 0xffff
/* 0D6670 8031B670 24790001 */ addiu $t9, $v1, 1
/* 0D6674 8031B674 AC590000 */ sw $t9, ($v0)
/* 0D6678 8031B678 01E02025 */ move $a0, $t7
.L8031B67C:
/* 0D667C 8031B67C 308AFFFF */ andi $t2, $a0, 0xffff
/* 0D6680 8031B680 1000FEBD */ b .L8031B178
/* 0D6684 8031B684 A604001C */ sh $a0, 0x1c($s0)
glabel L8031B688
/* 0D6688 8031B688 1000FEBB */ b .L8031B178
/* 0D668C 8031B68C A2000004 */ sb $zero, 4($s0)
.L8031B690:
glabel L8031B690
/* 0D6690 8031B690 30A200F0 */ andi $v0, $a1, 0xf0
/* 0D6694 8031B694 240100D0 */ li $at, 208
/* 0D6698 8031B698 10410005 */ beq $v0, $at, .L8031B6B0
/* 0D669C 8031B69C 240100E0 */ li $at, 224
/* 0D66A0 8031B6A0 5041000F */ beql $v0, $at, .L8031B6E0
/* 0D66A4 8031B6A4 8D8E008C */ lw $t6, 0x8c($t4)
/* 0D66A8 8031B6A8 1000FEB4 */ b .L8031B17C
/* 0D66AC 8031B6AC 8E020054 */ lw $v0, 0x54($s0)
.L8031B6B0:
/* 0D66B0 8031B6B0 8D8E0088 */ lw $t6, 0x88($t4)
/* 0D66B4 8031B6B4 30B8000F */ andi $t8, $a1, 0xf
/* 0D66B8 8031B6B8 01D87821 */ addu $t7, $t6, $t8
/* 0D66BC 8031B6BC 91EA0000 */ lbu $t2, ($t7)
/* 0D66C0 8031B6C0 014A0019 */ multu $t2, $t2
/* 0D66C4 8031B6C4 0000C812 */ mflo $t9
/* 0D66C8 8031B6C8 44993000 */ mtc1 $t9, $f6
/* 0D66CC 8031B6CC 00000000 */ nop
/* 0D66D0 8031B6D0 46803220 */ cvt.s.w $f8, $f6
/* 0D66D4 8031B6D4 1000FEA8 */ b .L8031B178
/* 0D66D8 8031B6D8 E6080024 */ swc1 $f8, 0x24($s0)
/* 0D66DC 8031B6DC 8D8E008C */ lw $t6, 0x8c($t4)
.L8031B6E0:
/* 0D66E0 8031B6E0 30B8000F */ andi $t8, $a1, 0xf
/* 0D66E4 8031B6E4 01D87821 */ addu $t7, $t6, $t8
/* 0D66E8 8031B6E8 91F90000 */ lbu $t9, ($t7)
/* 0D66EC 8031B6EC 1000FEA2 */ b .L8031B178
/* 0D66F0 8031B6F0 A2190002 */ sb $t9, 2($s0)
.L8031B6F4:
/* 0D66F4 8031B6F4 240100C0 */ li $at, 192
/* 0D66F8 8031B6F8 14A10015 */ bne $a1, $at, .L8031B750
/* 0D66FC 8031B6FC 26020054 */ addiu $v0, $s0, 0x54
/* 0D6700 8031B700 8C430000 */ lw $v1, ($v0)
/* 0D6704 8031B704 90640000 */ lbu $a0, ($v1)
/* 0D6708 8031B708 246E0001 */ addiu $t6, $v1, 1
/* 0D670C 8031B70C AC4E0000 */ sw $t6, ($v0)
/* 0D6710 8031B710 30980080 */ andi $t8, $a0, 0x80
/* 0D6714 8031B714 13000009 */ beqz $t8, .L8031B73C
/* 0D6718 8031B718 00802825 */ move $a1, $a0
/* 0D671C 8031B71C 01C01825 */ move $v1, $t6
/* 0D6720 8031B720 91CE0000 */ lbu $t6, ($t6)
/* 0D6724 8031B724 00042200 */ sll $a0, $a0, 8
/* 0D6728 8031B728 30997F00 */ andi $t9, $a0, 0x7f00
/* 0D672C 8031B72C 246F0001 */ addiu $t7, $v1, 1
/* 0D6730 8031B730 01D92025 */ or $a0, $t6, $t9
/* 0D6734 8031B734 3085FFFF */ andi $a1, $a0, 0xffff
/* 0D6738 8031B738 AC4F0000 */ sw $t7, ($v0)
.L8031B73C:
/* 0D673C 8031B73C 920E0000 */ lbu $t6, ($s0)
/* 0D6740 8031B740 A605003C */ sh $a1, 0x3c($s0)
/* 0D6744 8031B744 35D80020 */ ori $t8, $t6, 0x20
/* 0D6748 8031B748 1000019C */ b .L8031BDBC
/* 0D674C 8031B74C A2180000 */ sb $t8, ($s0)
.L8031B750:
/* 0D6750 8031B750 920F0000 */ lbu $t7, ($s0)
/* 0D6754 8031B754 24010001 */ li $at, 1
/* 0D6758 8031B758 30A900C0 */ andi $t1, $a1, 0xc0
/* 0D675C 8031B75C 31F9FFDF */ andi $t9, $t7, 0xffdf
/* 0D6760 8031B760 A2190000 */ sb $t9, ($s0)
/* 0D6764 8031B764 8DAE0000 */ lw $t6, ($t5)
/* 0D6768 8031B768 000EC180 */ sll $t8, $t6, 6
/* 0D676C 8031B76C 00187FC2 */ srl $t7, $t8, 0x1f
/* 0D6770 8031B770 15E10057 */ bne $t7, $at, .L8031B8D0
/* 0D6774 8031B774 00000000 */ nop
/* 0D6778 8031B778 30A900C0 */ andi $t1, $a1, 0xc0
/* 0D677C 8031B77C 11200009 */ beqz $t1, .L8031B7A4
/* 0D6780 8031B780 26020054 */ addiu $v0, $s0, 0x54
/* 0D6784 8031B784 24010040 */ li $at, 64
/* 0D6788 8031B788 11210023 */ beq $t1, $at, .L8031B818
/* 0D678C 8031B78C 26020054 */ addiu $v0, $s0, 0x54
/* 0D6790 8031B790 24010080 */ li $at, 128
/* 0D6794 8031B794 11210039 */ beq $t1, $at, .L8031B87C
/* 0D6798 8031B798 26020054 */ addiu $v0, $s0, 0x54
/* 0D679C 8031B79C 10000043 */ b .L8031B8AC
/* 0D67A0 8031B7A0 01402025 */ move $a0, $t2
.L8031B7A4:
/* 0D67A4 8031B7A4 8C430000 */ lw $v1, ($v0)
/* 0D67A8 8031B7A8 90660000 */ lbu $a2, ($v1)
/* 0D67AC 8031B7AC 24790001 */ addiu $t9, $v1, 1
/* 0D67B0 8031B7B0 AC590000 */ sw $t9, ($v0)
/* 0D67B4 8031B7B4 30CE0080 */ andi $t6, $a2, 0x80
/* 0D67B8 8031B7B8 11C0000A */ beqz $t6, .L8031B7E4
/* 0D67BC 8031B7BC 00C03825 */ or $a3, $a2, $zero
/* 0D67C0 8031B7C0 03201825 */ move $v1, $t9
/* 0D67C4 8031B7C4 93390000 */ lbu $t9, ($t9)
/* 0D67C8 8031B7C8 00073200 */ sll $a2, $a3, 8
/* 0D67CC 8031B7CC 30CF7F00 */ andi $t7, $a2, 0x7f00
/* 0D67D0 8031B7D0 032F3025 */ or $a2, $t9, $t7
/* 0D67D4 8031B7D4 30C7FFFF */ andi $a3, $a2, 0xffff
/* 0D67D8 8031B7D8 24780001 */ addiu $t8, $v1, 1
/* 0D67DC 8031B7DC AC580000 */ sw $t8, ($v0)
/* 0D67E0 8031B7E0 00E03025 */ move $a2, $a3
.L8031B7E4:
/* 0D67E4 8031B7E4 8C430000 */ lw $v1, ($v0)
/* 0D67E8 8031B7E8 30CAFFFF */ andi $t2, $a2, 0xffff
/* 0D67EC 8031B7EC 01402025 */ move $a0, $t2
/* 0D67F0 8031B7F0 906B0000 */ lbu $t3, ($v1)
/* 0D67F4 8031B7F4 246F0001 */ addiu $t7, $v1, 1
/* 0D67F8 8031B7F8 AC4F0000 */ sw $t7, ($v0)
/* 0D67FC 8031B7FC 91EE0000 */ lbu $t6, ($t7)
/* 0D6800 8031B800 A20E0002 */ sb $t6, 2($s0)
/* 0D6804 8031B804 8C580000 */ lw $t8, ($v0)
/* 0D6808 8031B808 270F0001 */ addiu $t7, $t8, 1
/* 0D680C 8031B80C AC4F0000 */ sw $t7, ($v0)
/* 0D6810 8031B810 10000027 */ b .L8031B8B0
/* 0D6814 8031B814 A607003A */ sh $a3, 0x3a($s0)
.L8031B818:
/* 0D6818 8031B818 8C430000 */ lw $v1, ($v0)
/* 0D681C 8031B81C 90660000 */ lbu $a2, ($v1)
/* 0D6820 8031B820 24790001 */ addiu $t9, $v1, 1
/* 0D6824 8031B824 AC590000 */ sw $t9, ($v0)
/* 0D6828 8031B828 30CE0080 */ andi $t6, $a2, 0x80
/* 0D682C 8031B82C 11C0000A */ beqz $t6, .L8031B858
/* 0D6830 8031B830 00C03825 */ or $a3, $a2, $zero
/* 0D6834 8031B834 03201825 */ move $v1, $t9
/* 0D6838 8031B838 93390000 */ lbu $t9, ($t9)
/* 0D683C 8031B83C 00073200 */ sll $a2, $a3, 8
/* 0D6840 8031B840 30CF7F00 */ andi $t7, $a2, 0x7f00
/* 0D6844 8031B844 032F3025 */ or $a2, $t9, $t7
/* 0D6848 8031B848 30C7FFFF */ andi $a3, $a2, 0xffff
/* 0D684C 8031B84C 24780001 */ addiu $t8, $v1, 1
/* 0D6850 8031B850 AC580000 */ sw $t8, ($v0)
/* 0D6854 8031B854 00E03025 */ move $a2, $a3
.L8031B858:
/* 0D6858 8031B858 8C430000 */ lw $v1, ($v0)
/* 0D685C 8031B85C 30CAFFFF */ andi $t2, $a2, 0xffff
/* 0D6860 8031B860 01402025 */ move $a0, $t2
/* 0D6864 8031B864 906B0000 */ lbu $t3, ($v1)
/* 0D6868 8031B868 246F0001 */ addiu $t7, $v1, 1
/* 0D686C 8031B86C AC4F0000 */ sw $t7, ($v0)
/* 0D6870 8031B870 A2000002 */ sb $zero, 2($s0)
/* 0D6874 8031B874 1000000E */ b .L8031B8B0
/* 0D6878 8031B878 A607003A */ sh $a3, 0x3a($s0)
.L8031B87C:
/* 0D687C 8031B87C 8C430000 */ lw $v1, ($v0)
/* 0D6880 8031B880 960A003A */ lhu $t2, 0x3a($s0)
/* 0D6884 8031B884 906B0000 */ lbu $t3, ($v1)
/* 0D6888 8031B888 24790001 */ addiu $t9, $v1, 1
/* 0D688C 8031B88C AC590000 */ sw $t9, ($v0)
/* 0D6890 8031B890 93380000 */ lbu $t8, ($t9)
/* 0D6894 8031B894 01402025 */ move $a0, $t2
/* 0D6898 8031B898 A2180002 */ sb $t8, 2($s0)
/* 0D689C 8031B89C 8C4F0000 */ lw $t7, ($v0)
/* 0D68A0 8031B8A0 25F90001 */ addiu $t9, $t7, 1
/* 0D68A4 8031B8A4 10000002 */ b .L8031B8B0
/* 0D68A8 8031B8A8 AC590000 */ sw $t9, ($v0)
.L8031B8AC:
/* 0D68AC 8031B8AC 8FAB0030 */ lw $t3, 0x30($sp)
.L8031B8B0:
/* 0D68B0 8031B8B0 016B0019 */ multu $t3, $t3
/* 0D68B4 8031B8B4 00A91823 */ subu $v1, $a1, $t1
/* 0D68B8 8031B8B8 00007012 */ mflo $t6
/* 0D68BC 8031B8BC 448E5000 */ mtc1 $t6, $f10
/* 0D68C0 8031B8C0 00000000 */ nop
/* 0D68C4 8031B8C4 46805420 */ cvt.s.w $f16, $f10
/* 0D68C8 8031B8C8 10000024 */ b .L8031B95C
/* 0D68CC 8031B8CC E6100024 */ swc1 $f16, 0x24($s0)
.L8031B8D0:
/* 0D68D0 8031B8D0 11200008 */ beqz $t1, .L8031B8F4
/* 0D68D4 8031B8D4 26020054 */ addiu $v0, $s0, 0x54
/* 0D68D8 8031B8D8 24010040 */ li $at, 64
/* 0D68DC 8031B8DC 11210019 */ beq $t1, $at, .L8031B944
/* 0D68E0 8031B8E0 24010080 */ li $at, 128
/* 0D68E4 8031B8E4 5121001B */ beql $t1, $at, .L8031B954
/* 0D68E8 8031B8E8 960A003A */ lhu $t2, 0x3a($s0)
/* 0D68EC 8031B8EC 1000001A */ b .L8031B958
/* 0D68F0 8031B8F0 01402025 */ move $a0, $t2
.L8031B8F4:
/* 0D68F4 8031B8F4 8C430000 */ lw $v1, ($v0)
/* 0D68F8 8031B8F8 90660000 */ lbu $a2, ($v1)
/* 0D68FC 8031B8FC 24780001 */ addiu $t8, $v1, 1
/* 0D6900 8031B900 AC580000 */ sw $t8, ($v0)
/* 0D6904 8031B904 30CF0080 */ andi $t7, $a2, 0x80
/* 0D6908 8031B908 11E0000A */ beqz $t7, .L8031B934
/* 0D690C 8031B90C 00C03825 */ or $a3, $a2, $zero
/* 0D6910 8031B910 03001825 */ move $v1, $t8
/* 0D6914 8031B914 93180000 */ lbu $t8, ($t8)
/* 0D6918 8031B918 00073200 */ sll $a2, $a3, 8
/* 0D691C 8031B91C 30CE7F00 */ andi $t6, $a2, 0x7f00
/* 0D6920 8031B920 030E3025 */ or $a2, $t8, $t6
/* 0D6924 8031B924 30C7FFFF */ andi $a3, $a2, 0xffff
/* 0D6928 8031B928 24790001 */ addiu $t9, $v1, 1
/* 0D692C 8031B92C AC590000 */ sw $t9, ($v0)
/* 0D6930 8031B930 00E03025 */ move $a2, $a3
.L8031B934:
/* 0D6934 8031B934 30CAFFFF */ andi $t2, $a2, 0xffff
/* 0D6938 8031B938 A607003A */ sh $a3, 0x3a($s0)
/* 0D693C 8031B93C 10000006 */ b .L8031B958
/* 0D6940 8031B940 01402025 */ move $a0, $t2
.L8031B944:
/* 0D6944 8031B944 960A0038 */ lhu $t2, 0x38($s0)
/* 0D6948 8031B948 10000003 */ b .L8031B958
/* 0D694C 8031B94C 01402025 */ move $a0, $t2
/* 0D6950 8031B950 960A003A */ lhu $t2, 0x3a($s0)
.L8031B954:
/* 0D6954 8031B954 01402025 */ move $a0, $t2
.L8031B958:
/* 0D6958 8031B958 00A91823 */ subu $v1, $a1, $t1
.L8031B95C:
/* 0D695C 8031B95C 920E0002 */ lbu $t6, 2($s0)
/* 0D6960 8031B960 A604003C */ sh $a0, 0x3c($s0)
/* 0D6964 8031B964 01C40019 */ multu $t6, $a0
/* 0D6968 8031B968 0000C012 */ mflo $t8
/* 0D696C 8031B96C 07010003 */ bgez $t8, .L8031B97C
/* 0D6970 8031B970 00187A03 */ sra $t7, $t8, 8
/* 0D6974 8031B974 270100FF */ addiu $at, $t8, 0xff
/* 0D6978 8031B978 00017A03 */ sra $t7, $at, 8
.L8031B97C:
/* 0D697C 8031B97C A60F003E */ sh $t7, 0x3e($s0)
/* 0D6980 8031B980 8D990000 */ lw $t9, ($t4)
/* 0D6984 8031B984 0019C080 */ sll $t8, $t9, 2
/* 0D6988 8031B988 07030006 */ bgezl $t8, .L8031B9A4
/* 0D698C 8031B98C 8DA20000 */ lw $v0, ($t5)
/* 0D6990 8031B990 91AF0002 */ lbu $t7, 2($t5)
/* 0D6994 8031B994 31F90040 */ andi $t9, $t7, 0x40
/* 0D6998 8031B998 57200008 */ bnezl $t9, .L8031B9BC
/* 0D699C 8031B99C 92180000 */ lbu $t8, ($s0)
/* 0D69A0 8031B9A0 8DA20000 */ lw $v0, ($t5)
.L8031B9A4:
/* 0D69A4 8031B9A4 0002C0C0 */ sll $t8, $v0, 3
/* 0D69A8 8031B9A8 07000003 */ bltz $t8, .L8031B9B8
/* 0D69AC 8031B9AC 0002C900 */ sll $t9, $v0, 4
/* 0D69B0 8031B9B0 07220006 */ bltzl $t9, .L8031B9CC
/* 0D69B4 8031B9B4 85B90018 */ lh $t9, 0x18($t5)
.L8031B9B8:
/* 0D69B8 8031B9B8 92180000 */ lbu $t8, ($s0)
.L8031B9BC:
/* 0D69BC 8031B9BC 370F0020 */ ori $t7, $t8, 0x20
/* 0D69C0 8031B9C0 100000FE */ b .L8031BDBC
/* 0D69C4 8031B9C4 A20F0000 */ sb $t7, ($s0)
/* 0D69C8 8031B9C8 85B90018 */ lh $t9, 0x18($t5)
.L8031B9CC:
/* 0D69CC 8031B9CC 5720003B */ bnezl $t9, .L8031BABC
/* 0D69D0 8031B9D0 85980010 */ lh $t8, 0x10($t4)
/* 0D69D4 8031B9D4 85B8001A */ lh $t8, 0x1a($t5)
/* 0D69D8 8031B9D8 8619001E */ lh $t9, 0x1e($s0)
/* 0D69DC 8031B9DC 00787821 */ addu $t7, $v1, $t8
/* 0D69E0 8031B9E0 01F94021 */ addu $t0, $t7, $t9
/* 0D69E4 8031B9E4 91AF0005 */ lbu $t7, 5($t5)
/* 0D69E8 8031B9E8 8FF80000 */ lw $t8, ($ra)
/* 0D69EC 8031B9EC 310E00FF */ andi $t6, $t0, 0xff
/* 0D69F0 8031B9F0 000FC880 */ sll $t9, $t7, 2
/* 0D69F4 8031B9F4 032FC823 */ subu $t9, $t9, $t7
/* 0D69F8 8031B9F8 0019C880 */ sll $t9, $t9, 2
/* 0D69FC 8031B9FC 03193821 */ addu $a3, $t8, $t9
/* 0D6A00 8031BA00 90E20002 */ lbu $v0, 2($a3)
/* 0D6A04 8031BA04 01C04025 */ move $t0, $t6
/* 0D6A08 8031BA08 01C2082A */ slt $at, $t6, $v0
/* 0D6A0C 8031BA0C 5420000C */ bnezl $at, .L8031BA40
/* 0D6A10 8031BA10 8CEE0008 */ lw $t6, 8($a3)
/* 0D6A14 8031BA14 304800FF */ andi $t0, $v0, 0xff
/* 0D6A18 8031BA18 55000006 */ bnezl $t0, .L8031BA34
/* 0D6A1C 8031BA1C 2508FFFF */ addiu $t0, $t0, -1
/* 0D6A20 8031BA20 920F0000 */ lbu $t7, ($s0)
/* 0D6A24 8031BA24 35F80020 */ ori $t8, $t7, 0x20
/* 0D6A28 8031BA28 100000E2 */ b .L8031BDB4
/* 0D6A2C 8031BA2C A2180000 */ sb $t8, ($s0)
/* 0D6A30 8031BA30 2508FFFF */ addiu $t0, $t0, -1
.L8031BA34:
/* 0D6A34 8031BA34 311900FF */ andi $t9, $t0, 0xff
/* 0D6A38 8031BA38 03204025 */ move $t0, $t9
/* 0D6A3C 8031BA3C 8CEE0008 */ lw $t6, 8($a3)
.L8031BA40:
/* 0D6A40 8031BA40 00087880 */ sll $t7, $t0, 2
/* 0D6A44 8031BA44 01CFC021 */ addu $t8, $t6, $t7
/* 0D6A48 8031BA48 8F020000 */ lw $v0, ($t8)
/* 0D6A4C 8031BA4C 54400006 */ bnezl $v0, .L8031BA68
/* 0D6A50 8031BA50 8C58000C */ lw $t8, 0xc($v0)
/* 0D6A54 8031BA54 920E0000 */ lbu $t6, ($s0)
/* 0D6A58 8031BA58 35CF0020 */ ori $t7, $t6, 0x20
/* 0D6A5C 8031BA5C 100000D5 */ b .L8031BDB4
/* 0D6A60 8031BA60 A20F0000 */ sb $t7, ($s0)
/* 0D6A64 8031BA64 8C58000C */ lw $t8, 0xc($v0)
.L8031BA68:
/* 0D6A68 8031BA68 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0D6A6C 8031BA6C AE180018 */ sw $t8, 0x18($s0)
/* 0D6A70 8031BA70 90590000 */ lbu $t9, ($v0)
/* 0D6A74 8031BA74 A2190014 */ sb $t9, 0x14($s0)
/* 0D6A78 8031BA78 904E0001 */ lbu $t6, 1($v0)
/* 0D6A7C 8031BA7C 448E9000 */ mtc1 $t6, $f18
/* 0D6A80 8031BA80 05C10004 */ bgez $t6, .L8031BA94
/* 0D6A84 8031BA84 46809120 */ cvt.s.w $f4, $f18
/* 0D6A88 8031BA88 44813000 */ mtc1 $at, $f6
/* 0D6A8C 8031BA8C 00000000 */ nop
/* 0D6A90 8031BA90 46062100 */ add.s $f4, $f4, $f6
.L8031BA94:
/* 0D6A94 8031BA94 46002221 */ cvt.d.s $f8, $f4
/* 0D6A98 8031BA98 24430004 */ addiu $v1, $v0, 4
/* 0D6A9C 8031BA9C 46204282 */ mul.d $f10, $f8, $f0
/* 0D6AA0 8031BAA0 AE03004C */ sw $v1, 0x4c($s0)
/* 0D6AA4 8031BAA4 46205420 */ cvt.s.d $f16, $f10
/* 0D6AA8 8031BAA8 E6100028 */ swc1 $f16, 0x28($s0)
/* 0D6AAC 8031BAAC C4720004 */ lwc1 $f18, 4($v1)
/* 0D6AB0 8031BAB0 100000C0 */ b .L8031BDB4
/* 0D6AB4 8031BAB4 E6120020 */ swc1 $f18, 0x20($s0)
/* 0D6AB8 8031BAB8 85980010 */ lh $t8, 0x10($t4)
.L8031BABC:
/* 0D6ABC 8031BABC 85AE001A */ lh $t6, 0x1a($t5)
/* 0D6AC0 8031BAC0 0078C821 */ addu $t9, $v1, $t8
/* 0D6AC4 8031BAC4 8618001E */ lh $t8, 0x1e($s0)
/* 0D6AC8 8031BAC8 032E7821 */ addu $t7, $t9, $t6
/* 0D6ACC 8031BACC 01F84021 */ addu $t0, $t7, $t8
/* 0D6AD0 8031BAD0 310200FF */ andi $v0, $t0, 0xff
/* 0D6AD4 8031BAD4 28410080 */ slti $at, $v0, 0x80
/* 0D6AD8 8031BAD8 14200005 */ bnez $at, .L8031BAF0
/* 0D6ADC 8031BADC 00404025 */ move $t0, $v0
/* 0D6AE0 8031BAE0 920F0000 */ lbu $t7, ($s0)
/* 0D6AE4 8031BAE4 35F80020 */ ori $t8, $t7, 0x20
/* 0D6AE8 8031BAE8 100000B2 */ b .L8031BDB4
/* 0D6AEC 8031BAEC A2180000 */ sb $t8, ($s0)
.L8031BAF0:
/* 0D6AF0 8031BAF0 8E030048 */ lw $v1, 0x48($s0)
/* 0D6AF4 8031BAF4 54600003 */ bnezl $v1, .L8031BB04
/* 0D6AF8 8031BAF8 92190004 */ lbu $t9, 4($s0)
/* 0D6AFC 8031BAFC 8DA3003C */ lw $v1, 0x3c($t5)
/* 0D6B00 8031BB00 92190004 */ lbu $t9, 4($s0)
.L8031BB04:
/* 0D6B04 8031BB04 13200088 */ beqz $t9, .L8031BD28
/* 0D6B08 8031BB08 00000000 */ nop
/* 0D6B0C 8031BB0C 92040003 */ lbu $a0, 3($s0)
/* 0D6B10 8031BB10 0082082A */ slt $at, $a0, $v0
/* 0D6B14 8031BB14 10200003 */ beqz $at, .L8031BB24
/* 0D6B18 8031BB18 00802825 */ move $a1, $a0
/* 0D6B1C 8031BB1C 10000001 */ b .L8031BB24
/* 0D6B20 8031BB20 00402825 */ move $a1, $v0
.L8031BB24:
/* 0D6B24 8031BB24 10600017 */ beqz $v1, .L8031BB84
/* 0D6B28 8031BB28 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0D6B2C 8031BB2C 906E0001 */ lbu $t6, 1($v1)
/* 0D6B30 8031BB30 30A200FF */ andi $v0, $a1, 0xff
/* 0D6B34 8031BB34 004E082A */ slt $at, $v0, $t6
/* 0D6B38 8031BB38 50200004 */ beql $at, $zero, .L8031BB4C
/* 0D6B3C 8031BB3C 906F0002 */ lbu $t7, 2($v1)
/* 0D6B40 8031BB40 10000009 */ b .L8031BB68
/* 0D6B44 8031BB44 24620008 */ addiu $v0, $v1, 8
/* 0D6B48 8031BB48 906F0002 */ lbu $t7, 2($v1)
.L8031BB4C:
/* 0D6B4C 8031BB4C 24640018 */ addiu $a0, $v1, 0x18
/* 0D6B50 8031BB50 01E2082A */ slt $at, $t7, $v0
/* 0D6B54 8031BB54 14200003 */ bnez $at, .L8031BB64
/* 0D6B58 8031BB58 00000000 */ nop
/* 0D6B5C 8031BB5C 10000001 */ b .L8031BB64
/* 0D6B60 8031BB60 24640010 */ addiu $a0, $v1, 0x10
.L8031BB64:
/* 0D6B64 8031BB64 00801025 */ move $v0, $a0
.L8031BB68:
/* 0D6B68 8031BB68 8E18004C */ lw $t8, 0x4c($s0)
/* 0D6B6C 8031BB6C 0058C826 */ xor $t9, $v0, $t8
/* 0D6B70 8031BB70 2F390001 */ sltiu $t9, $t9, 1
/* 0D6B74 8031BB74 A3B9003F */ sb $t9, 0x3f($sp)
/* 0D6B78 8031BB78 AE02004C */ sw $v0, 0x4c($s0)
/* 0D6B7C 8031BB7C 10000003 */ b .L8031BB8C
/* 0D6B80 8031BB80 C4400004 */ lwc1 $f0, 4($v0)
.L8031BB84:
/* 0D6B84 8031BB84 44810000 */ mtc1 $at, $f0
/* 0D6B88 8031BB88 AE00004C */ sw $zero, 0x4c($s0)
.L8031BB8C:
/* 0D6B8C 8031BB8C 3C038033 */ lui $v1, %hi(gNoteFrequencies)
/* 0D6B90 8031BB90 24632884 */ addiu $v1, %lo(gNoteFrequencies) # addiu $v1, $v1, 0x2884
/* 0D6B94 8031BB94 00087080 */ sll $t6, $t0, 2
/* 0D6B98 8031BB98 92180003 */ lbu $t8, 3($s0)
/* 0D6B9C 8031BB9C 006E7821 */ addu $t7, $v1, $t6
/* 0D6BA0 8031BBA0 C5E60000 */ lwc1 $f6, ($t7)
/* 0D6BA4 8031BBA4 920F0004 */ lbu $t7, 4($s0)
/* 0D6BA8 8031BBA8 0018C880 */ sll $t9, $t8, 2
/* 0D6BAC 8031BBAC 00797021 */ addu $t6, $v1, $t9
/* 0D6BB0 8031BBB0 C5C40000 */ lwc1 $f4, ($t6)
/* 0D6BB4 8031BBB4 46003082 */ mul.s $f2, $f6, $f0
/* 0D6BB8 8031BBB8 2401FF7F */ li $at, -129
/* 0D6BBC 8031BBBC 01E1C024 */ and $t8, $t7, $at
/* 0D6BC0 8031BBC0 2719FFFF */ addiu $t9, $t8, -1
/* 0D6BC4 8031BBC4 2F210005 */ sltiu $at, $t9, 5
/* 0D6BC8 8031BBC8 46002302 */ mul.s $f12, $f4, $f0
/* 0D6BCC 8031BBCC 1020000C */ beqz $at, .L8031BC00
/* 0D6BD0 8031BBD0 0019C880 */ sll $t9, $t9, 2
/* 0D6BD4 8031BBD4 3C018033 */ lui $at, %hi(jtbl_80337CDC)
/* 0D6BD8 8031BBD8 00390821 */ addu $at, $at, $t9
/* 0D6BDC 8031BBDC 8C397CDC */ lw $t9, %lo(jtbl_80337CDC)($at)
/* 0D6BE0 8031BBE0 03200008 */ jr $t9
/* 0D6BE4 8031BBE4 00000000 */ nop
glabel L8031BBE8
/* 0D6BE8 8031BBE8 E7A20024 */ swc1 $f2, 0x24($sp)
/* 0D6BEC 8031BBEC 10000005 */ b .L8031BC04
/* 0D6BF0 8031BBF0 46006006 */ mov.s $f0, $f12
glabel L8031BBF4
/* 0D6BF4 8031BBF4 46001006 */ mov.s $f0, $f2
/* 0D6BF8 8031BBF8 10000002 */ b .L8031BC04
/* 0D6BFC 8031BBFC E7AC0024 */ swc1 $f12, 0x24($sp)
.L8031BC00:
/* 0D6C00 8031BC00 C7A00028 */ lwc1 $f0, 0x28($sp)
.L8031BC04:
/* 0D6C04 8031BC04 C7A80024 */ lwc1 $f8, 0x24($sp)
/* 0D6C08 8031BC08 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
/* 0D6C0C 8031BC0C 44819800 */ mtc1 $at, $f19
/* 0D6C10 8031BC10 46004283 */ div.s $f10, $f8, $f0
/* 0D6C14 8031BC14 44809000 */ mtc1 $zero, $f18
/* 0D6C18 8031BC18 26020004 */ addiu $v0, $s0, 4
/* 0D6C1C 8031BC1C 46005421 */ cvt.d.s $f16, $f10
/* 0D6C20 8031BC20 46328181 */ sub.d $f6, $f16, $f18
/* 0D6C24 8031BC24 46203120 */ cvt.s.d $f4, $f6
/* 0D6C28 8031BC28 E444000C */ swc1 $f4, 0xc($v0)
/* 0D6C2C 8031BC2C 920E0004 */ lbu $t6, 4($s0)
/* 0D6C30 8031BC30 31CF0080 */ andi $t7, $t6, 0x80
/* 0D6C34 8031BC34 11E00023 */ beqz $t7, .L8031BCC4
/* 0D6C38 8031BC38 3C0E8022 */ lui $t6, %hi(gTempoInternalToExternal)
/* 0D6C3C 8031BC3C 9598000A */ lhu $t8, 0xa($t4)
/* 0D6C40 8031BC40 3C018033 */ lui $at, %hi(D_80337CF0)
/* 0D6C44 8031BC44 D4287CF0 */ ldc1 $f8, %lo(D_80337CF0)($at)
/* 0D6C48 8031BC48 44985000 */ mtc1 $t8, $f10
/* 0D6C4C 8031BC4C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0D6C50 8031BC50 07010004 */ bgez $t8, .L8031BC64
/* 0D6C54 8031BC54 46805420 */ cvt.s.w $f16, $f10
/* 0D6C58 8031BC58 44819000 */ mtc1 $at, $f18
/* 0D6C5C 8031BC5C 00000000 */ nop
/* 0D6C60 8031BC60 46128400 */ add.s $f16, $f16, $f18
.L8031BC64:
/* 0D6C64 8031BC64 8619003C */ lh $t9, 0x3c($s0)
/* 0D6C68 8031BC68 85CE6D7C */ lh $t6, %lo(gTempoInternalToExternal)($t6)
/* 0D6C6C 8031BC6C 460081A1 */ cvt.d.s $f6, $f16
/* 0D6C70 8031BC70 44995000 */ mtc1 $t9, $f10
/* 0D6C74 8031BC74 448E8000 */ mtc1 $t6, $f16
/* 0D6C78 8031BC78 46264102 */ mul.d $f4, $f8, $f6
/* 0D6C7C 8031BC7C 960F001C */ lhu $t7, 0x1c($s0)
/* 0D6C80 8031BC80 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0D6C84 8031BC84 468054A0 */ cvt.s.w $f18, $f10
/* 0D6C88 8031BC88 448F5000 */ mtc1 $t7, $f10
/* 0D6C8C 8031BC8C 46808220 */ cvt.s.w $f8, $f16
/* 0D6C90 8031BC90 46805420 */ cvt.s.w $f16, $f10
/* 0D6C94 8031BC94 46089182 */ mul.s $f6, $f18, $f8
/* 0D6C98 8031BC98 05E10004 */ bgez $t7, .L8031BCAC
/* 0D6C9C 8031BC9C 00000000 */ nop
/* 0D6CA0 8031BCA0 44819000 */ mtc1 $at, $f18
/* 0D6CA4 8031BCA4 00000000 */ nop
/* 0D6CA8 8031BCA8 46128400 */ add.s $f16, $f16, $f18
.L8031BCAC:
/* 0D6CAC 8031BCAC 46068202 */ mul.s $f8, $f16, $f6
/* 0D6CB0 8031BCB0 460042A1 */ cvt.d.s $f10, $f8
/* 0D6CB4 8031BCB4 462A2483 */ div.d $f18, $f4, $f10
/* 0D6CB8 8031BCB8 46209420 */ cvt.s.d $f16, $f18
/* 0D6CBC 8031BCBC 1000000F */ b .L8031BCFC
/* 0D6CC0 8031BCC0 E4500008 */ swc1 $f16, 8($v0)
.L8031BCC4:
/* 0D6CC4 8031BCC4 9618001C */ lhu $t8, 0x1c($s0)
/* 0D6CC8 8031BCC8 3C018033 */ lui $at, %hi(D_80337CF8)
/* 0D6CCC 8031BCCC D4267CF8 */ ldc1 $f6, %lo(D_80337CF8)($at)
/* 0D6CD0 8031BCD0 44984000 */ mtc1 $t8, $f8
/* 0D6CD4 8031BCD4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0D6CD8 8031BCD8 07010004 */ bgez $t8, .L8031BCEC
/* 0D6CDC 8031BCDC 46804120 */ cvt.s.w $f4, $f8
/* 0D6CE0 8031BCE0 44815000 */ mtc1 $at, $f10
/* 0D6CE4 8031BCE4 00000000 */ nop
/* 0D6CE8 8031BCE8 460A2100 */ add.s $f4, $f4, $f10
.L8031BCEC:
/* 0D6CEC 8031BCEC 460024A1 */ cvt.d.s $f18, $f4
/* 0D6CF0 8031BCF0 46323403 */ div.d $f16, $f6, $f18
/* 0D6CF4 8031BCF4 46208220 */ cvt.s.d $f8, $f16
/* 0D6CF8 8031BCF8 E4480008 */ swc1 $f8, 8($v0)
.L8031BCFC:
/* 0D6CFC 8031BCFC 44805000 */ mtc1 $zero, $f10
/* 0D6D00 8031BD00 2401FF7F */ li $at, -129
/* 0D6D04 8031BD04 E44A0004 */ swc1 $f10, 4($v0)
/* 0D6D08 8031BD08 92190004 */ lbu $t9, 4($s0)
/* 0D6D0C 8031BD0C E6000020 */ swc1 $f0, 0x20($s0)
/* 0D6D10 8031BD10 03217024 */ and $t6, $t9, $at
/* 0D6D14 8031BD14 24010005 */ li $at, 5
/* 0D6D18 8031BD18 55C10027 */ bnel $t6, $at, .L8031BDB8
/* 0D6D1C 8031BD1C 860F003C */ lh $t7, 0x3c($s0)
/* 0D6D20 8031BD20 10000024 */ b .L8031BDB4
/* 0D6D24 8031BD24 A2080003 */ sb $t0, 3($s0)
.L8031BD28:
/* 0D6D28 8031BD28 1060001C */ beqz $v1, .L8031BD9C
/* 0D6D2C 8031BD2C 0008C880 */ sll $t9, $t0, 2
/* 0D6D30 8031BD30 906F0001 */ lbu $t7, 1($v1)
/* 0D6D34 8031BD34 004F082A */ slt $at, $v0, $t7
/* 0D6D38 8031BD38 10200003 */ beqz $at, .L8031BD48
/* 0D6D3C 8031BD3C 00087880 */ sll $t7, $t0, 2
/* 0D6D40 8031BD40 10000009 */ b .L8031BD68
/* 0D6D44 8031BD44 24620008 */ addiu $v0, $v1, 8
.L8031BD48:
/* 0D6D48 8031BD48 90780002 */ lbu $t8, 2($v1)
/* 0D6D4C 8031BD4C 24640018 */ addiu $a0, $v1, 0x18
/* 0D6D50 8031BD50 0302082A */ slt $at, $t8, $v0
/* 0D6D54 8031BD54 14200003 */ bnez $at, .L8031BD64
/* 0D6D58 8031BD58 00000000 */ nop
/* 0D6D5C 8031BD5C 10000001 */ b .L8031BD64
/* 0D6D60 8031BD60 24640010 */ addiu $a0, $v1, 0x10
.L8031BD64:
/* 0D6D64 8031BD64 00801025 */ move $v0, $a0
.L8031BD68:
/* 0D6D68 8031BD68 8E19004C */ lw $t9, 0x4c($s0)
/* 0D6D6C 8031BD6C 3C038033 */ lui $v1, %hi(gNoteFrequencies) # $v1, 0x8033
/* 0D6D70 8031BD70 24632884 */ addiu $v1, %lo(gNoteFrequencies) # addiu $v1, $v1, 0x2884
/* 0D6D74 8031BD74 00597026 */ xor $t6, $v0, $t9
/* 0D6D78 8031BD78 2DCE0001 */ sltiu $t6, $t6, 1
/* 0D6D7C 8031BD7C A3AE003F */ sb $t6, 0x3f($sp)
/* 0D6D80 8031BD80 AE02004C */ sw $v0, 0x4c($s0)
/* 0D6D84 8031BD84 006FC021 */ addu $t8, $v1, $t7
/* 0D6D88 8031BD88 C7060000 */ lwc1 $f6, ($t8)
/* 0D6D8C 8031BD8C C4440004 */ lwc1 $f4, 4($v0)
/* 0D6D90 8031BD90 46062482 */ mul.s $f18, $f4, $f6
/* 0D6D94 8031BD94 10000007 */ b .L8031BDB4
/* 0D6D98 8031BD98 E6120020 */ swc1 $f18, 0x20($s0)
.L8031BD9C:
/* 0D6D9C 8031BD9C 3C038033 */ lui $v1, %hi(gNoteFrequencies) # $v1, 0x8033
/* 0D6DA0 8031BDA0 24632884 */ addiu $v1, %lo(gNoteFrequencies) # addiu $v1, $v1, 0x2884
/* 0D6DA4 8031BDA4 AE00004C */ sw $zero, 0x4c($s0)
/* 0D6DA8 8031BDA8 00797021 */ addu $t6, $v1, $t9
/* 0D6DAC 8031BDAC C5D00000 */ lwc1 $f16, ($t6)
/* 0D6DB0 8031BDB0 E6100020 */ swc1 $f16, 0x20($s0)
.L8031BDB4:
/* 0D6DB4 8031BDB4 860F003C */ lh $t7, 0x3c($s0)
.L8031BDB8:
/* 0D6DB8 8031BDB8 A60F0040 */ sh $t7, 0x40($s0)
.L8031BDBC:
/* 0D6DBC 8031BDBC 8E020000 */ lw $v0, ($s0)
/* 0D6DC0 8031BDC0 24010001 */ li $at, 1
/* 0D6DC4 8031BDC4 0002C080 */ sll $t8, $v0, 2
/* 0D6DC8 8031BDC8 0018CFC2 */ srl $t9, $t8, 0x1f
/* 0D6DCC 8031BDCC 5721000C */ bnel $t9, $at, .L8031BE00
/* 0D6DD0 8031BDD0 000270C0 */ sll $t6, $v0, 3
/* 0D6DD4 8031BDD4 8E0E0044 */ lw $t6, 0x44($s0)
/* 0D6DD8 8031BDD8 0002C0C0 */ sll $t8, $v0, 3
/* 0D6DDC 8031BDDC 15C00003 */ bnez $t6, .L8031BDEC
/* 0D6DE0 8031BDE0 00000000 */ nop
/* 0D6DE4 8031BDE4 0703002E */ bgezl $t8, .L8031BEA0
/* 0D6DE8 8031BDE8 8FBF001C */ lw $ra, 0x1c($sp)
.L8031BDEC:
/* 0D6DEC 8031BDEC 0C0C63B1 */ jal seq_channel_layer_note_decay
/* 0D6DF0 8031BDF0 02002025 */ move $a0, $s0
/* 0D6DF4 8031BDF4 1000002A */ b .L8031BEA0
/* 0D6DF8 8031BDF8 8FBF001C */ lw $ra, 0x1c($sp)
/* 0D6DFC 8031BDFC 000270C0 */ sll $t6, $v0, 3
.L8031BE00:
/* 0D6E00 8031BE00 05C00003 */ bltz $t6, .L8031BE10
/* 0D6E04 8031BE04 00004025 */ move $t0, $zero
/* 0D6E08 8031BE08 10000017 */ b .L8031BE68
/* 0D6E0C 8031BE0C 24080001 */ li $t0, 1
.L8031BE10:
/* 0D6E10 8031BE10 8E040044 */ lw $a0, 0x44($s0)
/* 0D6E14 8031BE14 10800005 */ beqz $a0, .L8031BE2C
/* 0D6E18 8031BE18 00000000 */ nop
/* 0D6E1C 8031BE1C 920F0001 */ lbu $t7, 1($s0)
/* 0D6E20 8031BE20 93B8003F */ lbu $t8, 0x3f($sp)
/* 0D6E24 8031BE24 15E00003 */ bnez $t7, .L8031BE34
/* 0D6E28 8031BE28 00000000 */ nop
.L8031BE2C:
/* 0D6E2C 8031BE2C 1000000E */ b .L8031BE68
/* 0D6E30 8031BE30 24080001 */ li $t0, 1
.L8031BE34:
/* 0D6E34 8031BE34 57000006 */ bnezl $t8, .L8031BE50
/* 0D6E38 8031BE38 8E19004C */ lw $t9, 0x4c($s0)
/* 0D6E3C 8031BE3C 0C0C63B1 */ jal seq_channel_layer_note_decay
/* 0D6E40 8031BE40 02002025 */ move $a0, $s0
/* 0D6E44 8031BE44 10000008 */ b .L8031BE68
/* 0D6E48 8031BE48 24080001 */ li $t0, 1
/* 0D6E4C 8031BE4C 8E19004C */ lw $t9, 0x4c($s0)
.L8031BE50:
/* 0D6E50 8031BE50 02002825 */ move $a1, $s0
/* 0D6E54 8031BE54 17200004 */ bnez $t9, .L8031BE68
/* 0D6E58 8031BE58 00000000 */ nop
/* 0D6E5C 8031BE5C 0C0C6459 */ jal init_synthetic_wave
/* 0D6E60 8031BE60 A3A8003D */ sb $t0, 0x3d($sp)
/* 0D6E64 8031BE64 93A8003D */ lbu $t0, 0x3d($sp)
.L8031BE68:
/* 0D6E68 8031BE68 51000005 */ beql $t0, $zero, .L8031BE80
/* 0D6E6C 8031BE6C 8E040044 */ lw $a0, 0x44($s0)
/* 0D6E70 8031BE70 0C0C6638 */ jal alloc_note
/* 0D6E74 8031BE74 02002025 */ move $a0, $s0
/* 0D6E78 8031BE78 AE020044 */ sw $v0, 0x44($s0)
/* 0D6E7C 8031BE7C 8E040044 */ lw $a0, 0x44($s0)
.L8031BE80:
/* 0D6E80 8031BE80 50800007 */ beql $a0, $zero, .L8031BEA0
/* 0D6E84 8031BE84 8FBF001C */ lw $ra, 0x1c($sp)
/* 0D6E88 8031BE88 8C8E002C */ lw $t6, 0x2c($a0)
/* 0D6E8C 8031BE8C 560E0004 */ bnel $s0, $t6, .L8031BEA0
/* 0D6E90 8031BE90 8FBF001C */ lw $ra, 0x1c($sp)
/* 0D6E94 8031BE94 0C0C691E */ jal note_vibrato_init
/* 0D6E98 8031BE98 00000000 */ nop
.L8031BE9C:
/* 0D6E9C 8031BE9C 8FBF001C */ lw $ra, 0x1c($sp)
.L8031BEA0:
/* 0D6EA0 8031BEA0 8FB00018 */ lw $s0, 0x18($sp)
/* 0D6EA4 8031BEA4 27BD0060 */ addiu $sp, $sp, 0x60
/* 0D6EA8 8031BEA8 03E00008 */ jr $ra
/* 0D6EAC 8031BEAC 00000000 */ nop