sm64pc/asm/non_matchings/eu/audio/sequence_channel_process_sc...

930 lines
41 KiB
ArmAsm

.late_rodata
.late_rodata_alignment 4
glabel jtbl_EU_80306714
.word L802E8650
.word L802E85A0, L802E866C
.word L802E867C, L802E85BC
.word L802E8888, L802E88E4
.word L802E891C, L802E891C
.word L802E8968, L802E8978
.word L802E891C, L802E8368
.word L802E8368, L802E8368
.word L802E8998, L802E89BC
.word L802E89CC, L802E8714
.word L802E8878, L802E8368
.word L802E8368, L802E87E0
.word L802E87C4, L802E87B4
.word L802E8798, L802E8780
.word L802E8764, L802E8748
.word L802E86E0, L802E868C
.word L802E86B0, L802E8830
.word L802E87FC, L802E8864
.word L802E89EC, L802E89DC
.word L802E8A48, L802E8A58
.word L802E8AC0, L802E8B60
.word L802E83EC, L802E85F8
.word L802E8B38, L802E8368
.word L802E8368, L802E8368
.word L802E8590, L802E8568
.word L802E8520, L802E8520
.word L802E8520, L802E84C8
.word L802E84B8, L802E8470
.word L802E8438, L802E84C8
.word L802E84C8, L802E84C8
.word L802E83FC, L802E83DC
.word L802E8D98, L802E83A4
glabel jtbl_EU_80306810
.word L802E8B9C, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8CFC, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8D2C, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8D48, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8D70, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8C04, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8C20, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8BD4, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8BE4, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8C2C, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8C78, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8368, L802E8368
.word L802E8C94
.text
glabel sequence_channel_process_script
/* 0A7AB8 802E82B8 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 0A7ABC 802E82BC AFBF002C */ sw $ra, 0x2c($sp)
/* 0A7AC0 802E82C0 AFB40028 */ sw $s4, 0x28($sp)
/* 0A7AC4 802E82C4 AFB30024 */ sw $s3, 0x24($sp)
/* 0A7AC8 802E82C8 AFB20020 */ sw $s2, 0x20($sp)
/* 0A7ACC 802E82CC AFB1001C */ sw $s1, 0x1c($sp)
/* 0A7AD0 802E82D0 AFB00018 */ sw $s0, 0x18($sp)
/* 0A7AD4 802E82D4 8C820000 */ lw $v0, ($a0)
/* 0A7AD8 802E82D8 00809025 */ move $s2, $a0
/* 0A7ADC 802E82DC 000277C2 */ srl $t6, $v0, 0x1f
/* 0A7AE0 802E82E0 11C002B8 */ beqz $t6, .L80200BC4
/* 0A7AE4 802E82E4 0002C080 */ sll $t8, $v0, 2
/* 0A7AE8 802E82E8 0701000D */ bgez $t8, .L80200120
/* 0A7AEC 802E82EC 00008025 */ move $s0, $zero
/* 0A7AF0 802E82F0 00808825 */ move $s1, $a0
/* 0A7AF4 802E82F4 24120010 */ li $s2, 16
.L802000F8:
/* 0A7AF8 802E82F8 8E240048 */ lw $a0, 0x48($s1)
/* 0A7AFC 802E82FC 50800004 */ beql $a0, $zero, .L80200110
/* 0A7B00 802E8300 26100004 */ addiu $s0, $s0, 4
/* 0A7B04 802E8304 0C0B9DC2 */ jal seq_channel_layer_process_script
/* 0A7B08 802E8308 00000000 */ nop
/* 0A7B0C 802E830C 26100004 */ addiu $s0, $s0, 4
.L80200110:
/* 0A7B10 802E8310 1612FFF9 */ bne $s0, $s2, .L802000F8
/* 0A7B14 802E8314 26310004 */ addiu $s1, $s1, 4
/* 0A7B18 802E8318 100002AB */ b .L80200BC8
/* 0A7B1C 802E831C 8FBF002C */ lw $ra, 0x2c($sp)
.L80200120:
/* 0A7B20 802E8320 8E540044 */ lw $s4, 0x44($s2)
/* 0A7B24 802E8324 8E990000 */ lw $t9, ($s4)
/* 0A7B28 802E8328 00195080 */ sll $t2, $t9, 2
/* 0A7B2C 802E832C 05430006 */ bgezl $t2, .L80200148
/* 0A7B30 802E8330 9643001A */ lhu $v1, 0x1a($s2)
/* 0A7B34 802E8334 924B0003 */ lbu $t3, 3($s2)
/* 0A7B38 802E8338 316C0080 */ andi $t4, $t3, 0x80
/* 0A7B3C 802E833C 558002A2 */ bnezl $t4, .L80200BC8
/* 0A7B40 802E8340 8FBF002C */ lw $ra, 0x2c($sp)
/* 0A7B44 802E8344 9643001A */ lhu $v1, 0x1a($s2)
.L80200148:
/* 0A7B48 802E8348 26510060 */ addiu $s1, $s2, 0x60
/* 0A7B4C 802E834C 10600004 */ beqz $v1, .L80200160
/* 0A7B50 802E8350 00601025 */ move $v0, $v1
/* 0A7B54 802E8354 246DFFFF */ addiu $t5, $v1, -1
/* 0A7B58 802E8358 A64D001A */ sh $t5, 0x1a($s2)
/* 0A7B5C 802E835C 31A2FFFF */ andi $v0, $t5, 0xffff
.L80200160:
/* 0A7B60 802E8360 1440028D */ bnez $v0, .L802E8D98
/* 0A7B64 802E8364 83B3004B */ lb $s3, 0x4b($sp)
glabel L802E8368
.L802E8368:
/* 0A7B68 802E8368 0C0B9DA0 */ jal m64_read_u8
/* 0A7B6C 802E836C 02202025 */ move $a0, $s1
/* 0A7B70 802E8370 284100C1 */ slti $at, $v0, 0xc1
/* 0A7B74 802E8374 305000FF */ andi $s0, $v0, 0xff
/* 0A7B78 802E8378 142001FD */ bnez $at, .L80200970
/* 0A7B7C 802E837C 00401825 */ move $v1, $v0
/* 0A7B80 802E8380 244EFF3F */ addiu $t6, $v0, -0xc1
/* 0A7B84 802E8384 2DC1003F */ sltiu $at, $t6, 0x3f
/* 0A7B88 802E8388 1020FFF7 */ beqz $at, .L802E8368
/* 0A7B8C 802E838C 000E7080 */ sll $t6, $t6, 2
/* 0A7B90 802E8390 3C018030 */ lui $at, %hi(jtbl_EU_80306714)
/* 0A7B94 802E8394 002E0821 */ addu $at, $at, $t6
/* 0A7B98 802E8398 8C2E6714 */ lw $t6, %lo(jtbl_EU_80306714)($at)
/* 0A7B9C 802E839C 01C00008 */ jr $t6
/* 0A7BA0 802E83A0 00000000 */ nop
glabel L802E83A4
/* 0A7BA4 802E83A4 92240018 */ lbu $a0, 0x18($s1)
/* 0A7BA8 802E83A8 14800005 */ bnez $a0, .L802001C0
/* 0A7BAC 802E83AC 2482FFFF */ addiu $v0, $a0, -1
/* 0A7BB0 802E83B0 0C0B9C41 */ jal sequence_channel_disable
/* 0A7BB4 802E83B4 02402025 */ move $a0, $s2
/* 0A7BB8 802E83B8 10000278 */ b .L80200B9C
/* 0A7BBC 802E83BC 02408825 */ move $s1, $s2
.L802001C0:
/* 0A7BC0 802E83C0 304F00FF */ andi $t7, $v0, 0xff
/* 0A7BC4 802E83C4 000FC080 */ sll $t8, $t7, 2
/* 0A7BC8 802E83C8 0238C821 */ addu $t9, $s1, $t8
/* 0A7BCC 802E83CC A22F0018 */ sb $t7, 0x18($s1)
/* 0A7BD0 802E83D0 8F290004 */ lw $t1, 4($t9)
/* 0A7BD4 802E83D4 1000FFE4 */ b .L802E8368
/* 0A7BD8 802E83D8 AE290000 */ sw $t1, ($s1)
glabel L802E83DC
/* 0A7BDC 802E83DC 0C0B9DB1 */ jal m64_read_compressed_u16
/* 0A7BE0 802E83E0 02202025 */ move $a0, $s1
/* 0A7BE4 802E83E4 1000026C */ b .L802E8D98
/* 0A7BE8 802E83E8 A642001A */ sh $v0, 0x1a($s2)
glabel L802E83EC
/* 0A7BEC 802E83EC 924B0000 */ lbu $t3, ($s2)
/* 0A7BF0 802E83F0 356C0020 */ ori $t4, $t3, 0x20
/* 0A7BF4 802E83F4 10000268 */ b .L802E8D98
/* 0A7BF8 802E83F8 A24C0000 */ sb $t4, ($s2)
glabel L802E83FC
/* 0A7BFC 802E83FC 0C0B9DA5 */ jal m64_read_s16
/* 0A7C00 802E8400 02202025 */ move $a0, $s1
/* 0A7C04 802E8404 922E0018 */ lbu $t6, 0x18($s1)
/* 0A7C08 802E8408 8E2D0000 */ lw $t5, ($s1)
/* 0A7C0C 802E840C 304BFFFF */ andi $t3, $v0, 0xffff
/* 0A7C10 802E8410 000E7880 */ sll $t7, $t6, 2
/* 0A7C14 802E8414 022FC021 */ addu $t8, $s1, $t7
/* 0A7C18 802E8418 AF0D0004 */ sw $t5, 4($t8)
/* 0A7C1C 802E841C 92390018 */ lbu $t9, 0x18($s1)
/* 0A7C20 802E8420 27290001 */ addiu $t1, $t9, 1
/* 0A7C24 802E8424 A2290018 */ sb $t1, 0x18($s1)
/* 0A7C28 802E8428 8E8A0014 */ lw $t2, 0x14($s4)
/* 0A7C2C 802E842C 014B6021 */ addu $t4, $t2, $t3
/* 0A7C30 802E8430 1000FFCD */ b .L802E8368
/* 0A7C34 802E8434 AE2C0000 */ sw $t4, ($s1)
glabel L802E8438
/* 0A7C38 802E8438 0C0B9DA0 */ jal m64_read_u8
/* 0A7C3C 802E843C 02202025 */ move $a0, $s1
/* 0A7C40 802E8440 922E0018 */ lbu $t6, 0x18($s1)
/* 0A7C44 802E8444 022E7821 */ addu $t7, $s1, $t6
/* 0A7C48 802E8448 A1E20014 */ sb $v0, 0x14($t7)
/* 0A7C4C 802E844C 92380018 */ lbu $t8, 0x18($s1)
/* 0A7C50 802E8450 8E2D0000 */ lw $t5, ($s1)
/* 0A7C54 802E8454 0018C880 */ sll $t9, $t8, 2
/* 0A7C58 802E8458 02394821 */ addu $t1, $s1, $t9
/* 0A7C5C 802E845C AD2D0004 */ sw $t5, 4($t1)
/* 0A7C60 802E8460 922A0018 */ lbu $t2, 0x18($s1)
/* 0A7C64 802E8464 254B0001 */ addiu $t3, $t2, 1
/* 0A7C68 802E8468 1000FFBF */ b .L802E8368
/* 0A7C6C 802E846C A22B0018 */ sb $t3, 0x18($s1)
glabel L802E8470
/* 0A7C70 802E8470 922C0018 */ lbu $t4, 0x18($s1)
/* 0A7C74 802E8474 022C1021 */ addu $v0, $s1, $t4
/* 0A7C78 802E8478 904E0013 */ lbu $t6, 0x13($v0)
/* 0A7C7C 802E847C 25CFFFFF */ addiu $t7, $t6, -1
/* 0A7C80 802E8480 A04F0013 */ sb $t7, 0x13($v0)
/* 0A7C84 802E8484 92240018 */ lbu $a0, 0x18($s1)
/* 0A7C88 802E8488 0224C021 */ addu $t8, $s1, $a0
/* 0A7C8C 802E848C 93190013 */ lbu $t9, 0x13($t8)
/* 0A7C90 802E8490 00801825 */ move $v1, $a0
/* 0A7C94 802E8494 00036880 */ sll $t5, $v1, 2
/* 0A7C98 802E8498 13200005 */ beqz $t9, .L802002B0
/* 0A7C9C 802E849C 248BFFFF */ addiu $t3, $a0, -1
/* 0A7CA0 802E84A0 022D4821 */ addu $t1, $s1, $t5
/* 0A7CA4 802E84A4 8D2A0000 */ lw $t2, ($t1)
/* 0A7CA8 802E84A8 1000FFAF */ b .L802E8368
/* 0A7CAC 802E84AC AE2A0000 */ sw $t2, ($s1)
.L802002B0:
/* 0A7CB0 802E84B0 1000FFAD */ b .L802E8368
/* 0A7CB4 802E84B4 A22B0018 */ sb $t3, 0x18($s1)
glabel L802E84B8
/* 0A7CB8 802E84B8 922C0018 */ lbu $t4, 0x18($s1)
/* 0A7CBC 802E84BC 258EFFFF */ addiu $t6, $t4, -1
/* 0A7CC0 802E84C0 1000FFA9 */ b .L802E8368
/* 0A7CC4 802E84C4 A22E0018 */ sb $t6, 0x18($s1)
glabel L802E84C8
/* 0A7CC8 802E84C8 0C0B9DA5 */ jal m64_read_s16
/* 0A7CCC 802E84CC 02202025 */ move $a0, $s1
/* 0A7CD0 802E84D0 240100FA */ li $at, 250
/* 0A7CD4 802E84D4 16010003 */ bne $s0, $at, .L802002E4
/* 0A7CD8 802E84D8 02001825 */ move $v1, $s0
/* 0A7CDC 802E84DC 1660FFA2 */ bnez $s3, .L802E8368
/* 0A7CE0 802E84E0 00000000 */ nop
.L802002E4:
/* 0A7CE4 802E84E4 240100F9 */ li $at, 249
/* 0A7CE8 802E84E8 54610004 */ bnel $v1, $at, .L802002FC
/* 0A7CEC 802E84EC 240100F5 */ li $at, 245
/* 0A7CF0 802E84F0 0661FF9D */ bgez $s3, .L802E8368
/* 0A7CF4 802E84F4 00000000 */ nop
/* 0A7CF8 802E84F8 240100F5 */ li $at, 245
.L802002FC:
/* 0A7CFC 802E84FC 54610004 */ bnel $v1, $at, .L80200310
/* 0A7D00 802E8500 8E8F0014 */ lw $t7, 0x14($s4)
/* 0A7D04 802E8504 0660FF98 */ bltz $s3, .L802E8368
/* 0A7D08 802E8508 00000000 */ nop
/* 0A7D0C 802E850C 8E8F0014 */ lw $t7, 0x14($s4)
.L80200310:
/* 0A7D10 802E8510 3058FFFF */ andi $t8, $v0, 0xffff
/* 0A7D14 802E8514 01F8C821 */ addu $t9, $t7, $t8
/* 0A7D18 802E8518 1000FF93 */ b .L802E8368
/* 0A7D1C 802E851C AE390000 */ sw $t9, ($s1)
glabel L802E8520
/* 0A7D20 802E8520 0C0B9DA0 */ jal m64_read_u8
/* 0A7D24 802E8524 02202025 */ move $a0, $s1
/* 0A7D28 802E8528 240100F3 */ li $at, 243
/* 0A7D2C 802E852C 16010003 */ bne $s0, $at, .L8020033C
/* 0A7D30 802E8530 02001825 */ move $v1, $s0
/* 0A7D34 802E8534 1660FF8C */ bnez $s3, .L802E8368
/* 0A7D38 802E8538 00000000 */ nop
.L8020033C:
/* 0A7D3C 802E853C 240100F2 */ li $at, 242
/* 0A7D40 802E8540 54610004 */ bnel $v1, $at, .L80200354
/* 0A7D44 802E8544 8E2D0000 */ lw $t5, ($s1)
/* 0A7D48 802E8548 0661FF87 */ bgez $s3, .L802E8368
/* 0A7D4C 802E854C 00000000 */ nop
/* 0A7D50 802E8550 8E2D0000 */ lw $t5, ($s1)
.L80200354:
/* 0A7D54 802E8554 00024E00 */ sll $t1, $v0, 0x18
/* 0A7D58 802E8558 00095603 */ sra $t2, $t1, 0x18
/* 0A7D5C 802E855C 01AA5821 */ addu $t3, $t5, $t2
/* 0A7D60 802E8560 1000FF81 */ b .L802E8368
/* 0A7D64 802E8564 AE2B0000 */ sw $t3, ($s1)
glabel L802E8568
/* 0A7D68 802E8568 26500084 */ addiu $s0, $s2, 0x84
/* 0A7D6C 802E856C 0C0B9671 */ jal note_pool_clear
/* 0A7D70 802E8570 02002025 */ move $a0, $s0
/* 0A7D74 802E8574 0C0B9DA0 */ jal m64_read_u8
/* 0A7D78 802E8578 02202025 */ move $a0, $s1
/* 0A7D7C 802E857C 02002025 */ move $a0, $s0
/* 0A7D80 802E8580 0C0B96C9 */ jal note_pool_fill
/* 0A7D84 802E8584 00402825 */ move $a1, $v0
/* 0A7D88 802E8588 1000FF77 */ b .L802E8368
/* 0A7D8C 802E858C 00000000 */ nop
glabel L802E8590
/* 0A7D90 802E8590 0C0B9671 */ jal note_pool_clear
/* 0A7D94 802E8594 26440084 */ addiu $a0, $s2, 0x84
/* 0A7D98 802E8598 1000FF73 */ b .L802E8368
/* 0A7D9C 802E859C 00000000 */ nop
glabel L802E85A0
/* 0A7DA0 802E85A0 0C0B9DA5 */ jal m64_read_s16
/* 0A7DA4 802E85A4 02202025 */ move $a0, $s1
/* 0A7DA8 802E85A8 8E8C0014 */ lw $t4, 0x14($s4)
/* 0A7DAC 802E85AC 304EFFFF */ andi $t6, $v0, 0xffff
/* 0A7DB0 802E85B0 018E7821 */ addu $t7, $t4, $t6
/* 0A7DB4 802E85B4 1000FF6C */ b .L802E8368
/* 0A7DB8 802E85B8 AE4F0034 */ sw $t7, 0x34($s2)
glabel L802E85BC
/* 0A7DBC 802E85BC 2401FFFF */ li $at, -1
/* 0A7DC0 802E85C0 1261FF69 */ beq $s3, $at, .L802E8368
/* 0A7DC4 802E85C4 00000000 */ nop
/* 0A7DC8 802E85C8 8E580034 */ lw $t8, 0x34($s2)
/* 0A7DCC 802E85CC 0013C840 */ sll $t9, $s3, 1
/* 0A7DD0 802E85D0 8E8C0014 */ lw $t4, 0x14($s4)
/* 0A7DD4 802E85D4 03191821 */ addu $v1, $t8, $t9
/* 0A7DD8 802E85D8 906D0000 */ lbu $t5, ($v1)
/* 0A7DDC 802E85DC 90690001 */ lbu $t1, 1($v1)
/* 0A7DE0 802E85E0 000D5200 */ sll $t2, $t5, 8
/* 0A7DE4 802E85E4 012A3821 */ addu $a3, $t1, $t2
/* 0A7DE8 802E85E8 30EBFFFF */ andi $t3, $a3, 0xffff
/* 0A7DEC 802E85EC 018B7021 */ addu $t6, $t4, $t3
/* 0A7DF0 802E85F0 1000FF5D */ b .L802E8368
/* 0A7DF4 802E85F4 AE4E0034 */ sw $t6, 0x34($s2)
glabel L802E85F8
/* 0A7DF8 802E85F8 0C0B9DA0 */ jal m64_read_u8
/* 0A7DFC 802E85FC 02202025 */ move $a0, $s1
/* 0A7E00 802E8600 928F0004 */ lbu $t7, 4($s4)
/* 0A7E04 802E8604 3C038023 */ lui $v1, %hi(gAlBankSets) # $v1, 0x8023
/* 0A7E08 802E8608 8C6397D0 */ lw $v1, %lo(gAlBankSets)($v1)
/* 0A7E0C 802E860C 000FC040 */ sll $t8, $t7, 1
/* 0A7E10 802E8610 3C048022 */ lui $a0, %hi(gBankLoadedPool) # $a0, 0x8022
/* 0A7E14 802E8614 0078C821 */ addu $t9, $v1, $t8
/* 0A7E18 802E8618 97270000 */ lhu $a3, ($t9)
/* 0A7E1C 802E861C 24842840 */ addiu $a0, %lo(gBankLoadedPool) # addiu $a0, $a0, 0x2840
/* 0A7E20 802E8620 24050002 */ li $a1, 2
/* 0A7E24 802E8624 00E36821 */ addu $t5, $a3, $v1
/* 0A7E28 802E8628 91A80000 */ lbu $t0, ($t5)
/* 0A7E2C 802E862C 00E84821 */ addu $t1, $a3, $t0
/* 0A7E30 802E8630 01225023 */ subu $t2, $t1, $v0
/* 0A7E34 802E8634 01435821 */ addu $t3, $t2, $v1
/* 0A7E38 802E8638 91700000 */ lbu $s0, ($t3)
/* 0A7E3C 802E863C 0C0B89CF */ jal get_bank_or_seq
/* 0A7E40 802E8640 02003025 */ move $a2, $s0
/* 0A7E44 802E8644 10400002 */ beqz $v0, .L802E8650
/* 0A7E48 802E8648 00000000 */ nop
/* 0A7E4C 802E864C A2500006 */ sb $s0, 6($s2)
glabel L802E8650
.L802E8650:
/* 0A7E50 802E8650 0C0B9DA0 */ jal m64_read_u8
/* 0A7E54 802E8654 02202025 */ move $a0, $s1
/* 0A7E58 802E8658 02402025 */ move $a0, $s2
/* 0A7E5C 802E865C 0C0BA080 */ jal set_instrument
/* 0A7E60 802E8660 304500FF */ andi $a1, $v0, 0xff
/* 0A7E64 802E8664 1000FF40 */ b .L802E8368
/* 0A7E68 802E8668 00000000 */ nop
glabel L802E866C
/* 0A7E6C 802E866C 924C0000 */ lbu $t4, ($s2)
/* 0A7E70 802E8670 318EFFFD */ andi $t6, $t4, 0xfffd
/* 0A7E74 802E8674 1000FF3C */ b .L802E8368
/* 0A7E78 802E8678 A24E0000 */ sb $t6, ($s2)
glabel L802E867C
/* 0A7E7C 802E867C 92580000 */ lbu $t8, ($s2)
/* 0A7E80 802E8680 37190002 */ ori $t9, $t8, 2
/* 0A7E84 802E8684 1000FF38 */ b .L802E8368
/* 0A7E88 802E8688 A2590000 */ sb $t9, ($s2)
glabel L802E868C
/* 0A7E8C 802E868C 0C0B9DA0 */ jal m64_read_u8
/* 0A7E90 802E8690 02202025 */ move $a0, $s1
/* 0A7E94 802E8694 02402025 */ move $a0, $s2
/* 0A7E98 802E8698 0C0BA0A5 */ jal sequence_channel_set_volume
/* 0A7E9C 802E869C 304500FF */ andi $a1, $v0, 0xff
/* 0A7EA0 802E86A0 92490001 */ lbu $t1, 1($s2)
/* 0A7EA4 802E86A4 352A0040 */ ori $t2, $t1, 0x40
/* 0A7EA8 802E86A8 1000FF2F */ b .L802E8368
/* 0A7EAC 802E86AC A24A0001 */ sb $t2, 1($s2)
glabel L802E86B0
/* 0A7EB0 802E86B0 0C0B9DA0 */ jal m64_read_u8
/* 0A7EB4 802E86B4 02202025 */ move $a0, $s1
/* 0A7EB8 802E86B8 44822000 */ mtc1 $v0, $f4
/* 0A7EBC 802E86BC 3C013C00 */ li $at, 0x3C000000 # 0.007812
/* 0A7EC0 802E86C0 44814000 */ mtc1 $at, $f8
/* 0A7EC4 802E86C4 468021A0 */ cvt.s.w $f6, $f4
/* 0A7EC8 802E86C8 924C0001 */ lbu $t4, 1($s2)
/* 0A7ECC 802E86CC 358E0040 */ ori $t6, $t4, 0x40
/* 0A7ED0 802E86D0 A24E0001 */ sb $t6, 1($s2)
/* 0A7ED4 802E86D4 46083282 */ mul.s $f10, $f6, $f8
/* 0A7ED8 802E86D8 1000FF23 */ b .L802E8368
/* 0A7EDC 802E86DC E64A0020 */ swc1 $f10, 0x20($s2)
glabel L802E86E0
/* 0A7EE0 802E86E0 0C0B9DA5 */ jal m64_read_s16
/* 0A7EE4 802E86E4 02202025 */ move $a0, $s1
/* 0A7EE8 802E86E8 304FFFFF */ andi $t7, $v0, 0xffff
/* 0A7EEC 802E86EC 448F8000 */ mtc1 $t7, $f16
/* 0A7EF0 802E86F0 3C014700 */ li $at, 0x47000000 # 32768.000000
/* 0A7EF4 802E86F4 44812000 */ mtc1 $at, $f4
/* 0A7EF8 802E86F8 468084A0 */ cvt.s.w $f18, $f16
/* 0A7EFC 802E86FC 92590001 */ lbu $t9, 1($s2)
/* 0A7F00 802E8700 372D0080 */ ori $t5, $t9, 0x80
/* 0A7F04 802E8704 A24D0001 */ sb $t5, 1($s2)
/* 0A7F08 802E8708 46049183 */ div.s $f6, $f18, $f4
/* 0A7F0C 802E870C 1000FF16 */ b .L802E8368
/* 0A7F10 802E8710 E6460030 */ swc1 $f6, 0x30($s2)
glabel L802E8714
/* 0A7F14 802E8714 0C0B9DA0 */ jal m64_read_u8
/* 0A7F18 802E8718 02202025 */ move $a0, $s1
/* 0A7F1C 802E871C 2449007F */ addiu $t1, $v0, 0x7f
/* 0A7F20 802E8720 312A00FF */ andi $t2, $t1, 0xff
/* 0A7F24 802E8724 924E0001 */ lbu $t6, 1($s2)
/* 0A7F28 802E8728 000A5880 */ sll $t3, $t2, 2
/* 0A7F2C 802E872C 3C018030 */ lui $at, %hi(gPitchBendFrequencyScale)
/* 0A7F30 802E8730 002B0821 */ addu $at, $at, $t3
/* 0A7F34 802E8734 C42806E8 */ lwc1 $f8, %lo(gPitchBendFrequencyScale)($at)
/* 0A7F38 802E8738 35CF0080 */ ori $t7, $t6, 0x80
/* 0A7F3C 802E873C A24F0001 */ sb $t7, 1($s2)
/* 0A7F40 802E8740 1000FF09 */ b .L802E8368
/* 0A7F44 802E8744 E6480030 */ swc1 $f8, 0x30($s2)
glabel L802E8748
/* 0A7F48 802E8748 0C0B9DA0 */ jal m64_read_u8
/* 0A7F4C 802E874C 02202025 */ move $a0, $s1
/* 0A7F50 802E8750 92590001 */ lbu $t9, 1($s2)
/* 0A7F54 802E8754 A2420009 */ sb $v0, 9($s2)
/* 0A7F58 802E8758 372D0020 */ ori $t5, $t9, 0x20
/* 0A7F5C 802E875C 1000FF02 */ b .L802E8368
/* 0A7F60 802E8760 A24D0001 */ sb $t5, 1($s2)
glabel L802E8764
/* 0A7F64 802E8764 0C0B9DA0 */ jal m64_read_u8
/* 0A7F68 802E8768 02202025 */ move $a0, $s1
/* 0A7F6C 802E876C 924A0001 */ lbu $t2, 1($s2)
/* 0A7F70 802E8770 A242000A */ sb $v0, 0xa($s2)
/* 0A7F74 802E8774 354B0020 */ ori $t3, $t2, 0x20
/* 0A7F78 802E8778 1000FEFB */ b .L802E8368
/* 0A7F7C 802E877C A24B0001 */ sb $t3, 1($s2)
glabel L802E8780
/* 0A7F80 802E8780 8E220000 */ lw $v0, ($s1)
/* 0A7F84 802E8784 80430000 */ lb $v1, ($v0)
/* 0A7F88 802E8788 244C0001 */ addiu $t4, $v0, 1
/* 0A7F8C 802E878C AE2C0000 */ sw $t4, ($s1)
/* 0A7F90 802E8790 1000FEF5 */ b .L802E8368
/* 0A7F94 802E8794 A643001E */ sh $v1, 0x1e($s2)
glabel L802E8798
/* 0A7F98 802E8798 0C0B9DA5 */ jal m64_read_s16
/* 0A7F9C 802E879C 02202025 */ move $a0, $s1
/* 0A7FA0 802E87A0 8E8E0014 */ lw $t6, 0x14($s4)
/* 0A7FA4 802E87A4 304FFFFF */ andi $t7, $v0, 0xffff
/* 0A7FA8 802E87A8 01CFC021 */ addu $t8, $t6, $t7
/* 0A7FAC 802E87AC 1000FEEE */ b .L802E8368
/* 0A7FB0 802E87B0 AE580080 */ sw $t8, 0x80($s2)
glabel L802E87B4
/* 0A7FB4 802E87B4 0C0B9DA0 */ jal m64_read_u8
/* 0A7FB8 802E87B8 02202025 */ move $a0, $s1
/* 0A7FBC 802E87BC 1000FEEA */ b .L802E8368
/* 0A7FC0 802E87C0 A242007C */ sb $v0, 0x7c($s2)
glabel L802E87C4
/* 0A7FC4 802E87C4 0C0B9DA0 */ jal m64_read_u8
/* 0A7FC8 802E87C8 02202025 */ move $a0, $s1
/* 0A7FCC 802E87CC 0002C8C0 */ sll $t9, $v0, 3
/* 0A7FD0 802E87D0 A6590012 */ sh $t9, 0x12($s2)
/* 0A7FD4 802E87D4 A640000E */ sh $zero, 0xe($s2)
/* 0A7FD8 802E87D8 1000FEE3 */ b .L802E8368
/* 0A7FDC 802E87DC A6400016 */ sh $zero, 0x16($s2)
glabel L802E87E0
/* 0A7FE0 802E87E0 0C0B9DA0 */ jal m64_read_u8
/* 0A7FE4 802E87E4 02202025 */ move $a0, $s1
/* 0A7FE8 802E87E8 00021940 */ sll $v1, $v0, 5
/* 0A7FEC 802E87EC A6430010 */ sh $v1, 0x10($s2)
/* 0A7FF0 802E87F0 A643000C */ sh $v1, 0xc($s2)
/* 0A7FF4 802E87F4 1000FEDC */ b .L802E8368
/* 0A7FF8 802E87F8 A6400014 */ sh $zero, 0x14($s2)
glabel L802E87FC
/* 0A7FFC 802E87FC 0C0B9DA0 */ jal m64_read_u8
/* 0A8000 802E8800 02202025 */ move $a0, $s1
/* 0A8004 802E8804 000268C0 */ sll $t5, $v0, 3
/* 0A8008 802E8808 A64D000E */ sh $t5, 0xe($s2)
/* 0A800C 802E880C 0C0B9DA0 */ jal m64_read_u8
/* 0A8010 802E8810 02202025 */ move $a0, $s1
/* 0A8014 802E8814 000248C0 */ sll $t1, $v0, 3
/* 0A8018 802E8818 A6490012 */ sh $t1, 0x12($s2)
/* 0A801C 802E881C 0C0B9DA0 */ jal m64_read_u8
/* 0A8020 802E8820 02202025 */ move $a0, $s1
/* 0A8024 802E8824 00025100 */ sll $t2, $v0, 4
/* 0A8028 802E8828 1000FECF */ b .L802E8368
/* 0A802C 802E882C A64A0016 */ sh $t2, 0x16($s2)
glabel L802E8830
/* 0A8030 802E8830 0C0B9DA0 */ jal m64_read_u8
/* 0A8034 802E8834 02202025 */ move $a0, $s1
/* 0A8038 802E8838 00025940 */ sll $t3, $v0, 5
/* 0A803C 802E883C A64B000C */ sh $t3, 0xc($s2)
/* 0A8040 802E8840 0C0B9DA0 */ jal m64_read_u8
/* 0A8044 802E8844 02202025 */ move $a0, $s1
/* 0A8048 802E8848 00026140 */ sll $t4, $v0, 5
/* 0A804C 802E884C A64C0010 */ sh $t4, 0x10($s2)
/* 0A8050 802E8850 0C0B9DA0 */ jal m64_read_u8
/* 0A8054 802E8854 02202025 */ move $a0, $s1
/* 0A8058 802E8858 00027100 */ sll $t6, $v0, 4
/* 0A805C 802E885C 1000FEC2 */ b .L802E8368
/* 0A8060 802E8860 A64E0014 */ sh $t6, 0x14($s2)
glabel L802E8864
/* 0A8064 802E8864 0C0B9DA0 */ jal m64_read_u8
/* 0A8068 802E8868 02202025 */ move $a0, $s1
/* 0A806C 802E886C 00027900 */ sll $t7, $v0, 4
/* 0A8070 802E8870 1000FEBD */ b .L802E8368
/* 0A8074 802E8874 A64F0018 */ sh $t7, 0x18($s2)
glabel L802E8878
/* 0A8078 802E8878 0C0B9DA0 */ jal m64_read_u8
/* 0A807C 802E887C 02202025 */ move $a0, $s1
/* 0A8080 802E8880 1000FEB9 */ b .L802E8368
/* 0A8084 802E8884 A2420004 */ sb $v0, 4($s2)
glabel L802E8888
/* 0A8088 802E8888 0C0B9DA0 */ jal m64_read_u8
/* 0A808C 802E888C 02202025 */ move $a0, $s1
/* 0A8090 802E8890 92980004 */ lbu $t8, 4($s4)
/* 0A8094 802E8894 3C038023 */ lui $v1, %hi(gAlBankSets) # $v1, 0x8023
/* 0A8098 802E8898 8C6397D0 */ lw $v1, %lo(gAlBankSets)($v1)
/* 0A809C 802E889C 0018C840 */ sll $t9, $t8, 1
/* 0A80A0 802E88A0 3C048022 */ lui $a0, %hi(gBankLoadedPool) # $a0, 0x8022
/* 0A80A4 802E88A4 00796821 */ addu $t5, $v1, $t9
/* 0A80A8 802E88A8 95A70000 */ lhu $a3, ($t5)
/* 0A80AC 802E88AC 24842840 */ addiu $a0, %lo(gBankLoadedPool) # addiu $a0, $a0, 0x2840
/* 0A80B0 802E88B0 24050002 */ li $a1, 2
/* 0A80B4 802E88B4 00E34821 */ addu $t1, $a3, $v1
/* 0A80B8 802E88B8 91280000 */ lbu $t0, ($t1)
/* 0A80BC 802E88BC 00E85021 */ addu $t2, $a3, $t0
/* 0A80C0 802E88C0 01425823 */ subu $t3, $t2, $v0
/* 0A80C4 802E88C4 01636021 */ addu $t4, $t3, $v1
/* 0A80C8 802E88C8 91900000 */ lbu $s0, ($t4)
/* 0A80CC 802E88CC 0C0B89CF */ jal get_bank_or_seq
/* 0A80D0 802E88D0 02003025 */ move $a2, $s0
/* 0A80D4 802E88D4 1040FEA4 */ beqz $v0, .L802E8368
/* 0A80D8 802E88D8 00000000 */ nop
/* 0A80DC 802E88DC 1000FEA2 */ b .L802E8368
/* 0A80E0 802E88E0 A2500006 */ sb $s0, 6($s2)
glabel L802E88E4
/* 0A80E4 802E88E4 326E00FF */ andi $t6, $s3, 0xff
/* 0A80E8 802E88E8 AFAE0034 */ sw $t6, 0x34($sp)
/* 0A80EC 802E88EC 0C0B9DA0 */ jal m64_read_u8
/* 0A80F0 802E88F0 02202025 */ move $a0, $s1
/* 0A80F4 802E88F4 305000FF */ andi $s0, $v0, 0xff
/* 0A80F8 802E88F8 0C0B9DA5 */ jal m64_read_s16
/* 0A80FC 802E88FC 02202025 */ move $a0, $s1
/* 0A8100 802E8900 8E8F0014 */ lw $t7, 0x14($s4)
/* 0A8104 802E8904 8FB90034 */ lw $t9, 0x34($sp)
/* 0A8108 802E8908 3058FFFF */ andi $t8, $v0, 0xffff
/* 0A810C 802E890C 01F81821 */ addu $v1, $t7, $t8
/* 0A8110 802E8910 03306821 */ addu $t5, $t9, $s0
/* 0A8114 802E8914 1000FE94 */ b .L802E8368
/* 0A8118 802E8918 A06D0000 */ sb $t5, ($v1)
glabel L802E891C
/* 0A811C 802E891C 0C0B9DA0 */ jal m64_read_u8
/* 0A8120 802E8920 02202025 */ move $a0, $s1
/* 0A8124 802E8924 240100C8 */ li $at, 200
/* 0A8128 802E8928 16010005 */ bne $s0, $at, .L80200740
/* 0A812C 802E892C 02001825 */ move $v1, $s0
/* 0A8130 802E8930 02629823 */ subu $s3, $s3, $v0
/* 0A8134 802E8934 00135E00 */ sll $t3, $s3, 0x18
/* 0A8138 802E8938 1000FE8B */ b .L802E8368
/* 0A813C 802E893C 000B9E03 */ sra $s3, $t3, 0x18
.L80200740:
/* 0A8140 802E8940 240100CC */ li $at, 204
/* 0A8144 802E8944 14610005 */ bne $v1, $at, .L8020075C
/* 0A8148 802E8948 02629824 */ and $s3, $s3, $v0
/* 0A814C 802E894C 00029E00 */ sll $s3, $v0, 0x18
/* 0A8150 802E8950 00137603 */ sra $t6, $s3, 0x18
/* 0A8154 802E8954 1000FE84 */ b .L802E8368
/* 0A8158 802E8958 01C09825 */ move $s3, $t6
.L8020075C:
/* 0A815C 802E895C 0013CE00 */ sll $t9, $s3, 0x18
/* 0A8160 802E8960 1000FE81 */ b .L802E8368
/* 0A8164 802E8964 00199E03 */ sra $s3, $t9, 0x18
glabel L802E8968
/* 0A8168 802E8968 0C0B9DA0 */ jal m64_read_u8
/* 0A816C 802E896C 02202025 */ move $a0, $s1
/* 0A8170 802E8970 1000FE7D */ b .L802E8368
/* 0A8174 802E8974 A2420003 */ sb $v0, 3($s2)
glabel L802E8978
/* 0A8178 802E8978 0C0B9DA5 */ jal m64_read_s16
/* 0A817C 802E897C 02202025 */ move $a0, $s1
/* 0A8180 802E8980 8E890014 */ lw $t1, 0x14($s4)
/* 0A8184 802E8984 304AFFFF */ andi $t2, $v0, 0xffff
/* 0A8188 802E8988 01535821 */ addu $t3, $t2, $s3
/* 0A818C 802E898C 012B6021 */ addu $t4, $t1, $t3
/* 0A8190 802E8990 1000FE75 */ b .L802E8368
/* 0A8194 802E8994 81930000 */ lb $s3, ($t4)
glabel L802E8998
/* 0A8198 802E8998 0C0B9DA0 */ jal m64_read_u8
/* 0A819C 802E899C 02202025 */ move $a0, $s1
/* 0A81A0 802E89A0 92590000 */ lbu $t9, ($s2)
/* 0A81A4 802E89A4 00027880 */ sll $t7, $v0, 2
/* 0A81A8 802E89A8 31F80004 */ andi $t8, $t7, 4
/* 0A81AC 802E89AC 332DFFFB */ andi $t5, $t9, 0xfffb
/* 0A81B0 802E89B0 030D5025 */ or $t2, $t8, $t5
/* 0A81B4 802E89B4 1000FE6C */ b .L802E8368
/* 0A81B8 802E89B8 A24A0000 */ sb $t2, ($s2)
glabel L802E89BC
/* 0A81BC 802E89BC 0C0B9DA0 */ jal m64_read_u8
/* 0A81C0 802E89C0 02202025 */ move $a0, $s1
/* 0A81C4 802E89C4 1000FE68 */ b .L802E8368
/* 0A81C8 802E89C8 A2420002 */ sb $v0, 2($s2)
glabel L802E89CC
/* 0A81CC 802E89CC 0C0B9DA0 */ jal m64_read_u8
/* 0A81D0 802E89D0 02202025 */ move $a0, $s1
/* 0A81D4 802E89D4 1000FE64 */ b .L802E8368
/* 0A81D8 802E89D8 A242007D */ sb $v0, 0x7d($s2)
glabel L802E89DC
/* 0A81DC 802E89DC 0C0B9DA0 */ jal m64_read_u8
/* 0A81E0 802E89E0 02202025 */ move $a0, $s1
/* 0A81E4 802E89E4 1000FE60 */ b .L802E8368
/* 0A81E8 802E89E8 A2420007 */ sb $v0, 7($s2)
glabel L802E89EC
/* 0A81EC 802E89EC 2401FFFF */ li $at, -1
/* 0A81F0 802E89F0 1261FE5D */ beq $s3, $at, .L802E8368
/* 0A81F4 802E89F4 00000000 */ nop
/* 0A81F8 802E89F8 92240018 */ lbu $a0, 0x18($s1)
/* 0A81FC 802E89FC 8E2B0000 */ lw $t3, ($s1)
/* 0A8200 802E8A00 8E490034 */ lw $t1, 0x34($s2)
/* 0A8204 802E8A04 00046080 */ sll $t4, $a0, 2
/* 0A8208 802E8A08 022C7021 */ addu $t6, $s1, $t4
/* 0A820C 802E8A0C ADCB0004 */ sw $t3, 4($t6)
/* 0A8210 802E8A10 922F0018 */ lbu $t7, 0x18($s1)
/* 0A8214 802E8A14 00131040 */ sll $v0, $s3, 1
/* 0A8218 802E8A18 01221821 */ addu $v1, $t1, $v0
/* 0A821C 802E8A1C 25F90001 */ addiu $t9, $t7, 1
/* 0A8220 802E8A20 A2390018 */ sb $t9, 0x18($s1)
/* 0A8224 802E8A24 906D0000 */ lbu $t5, ($v1)
/* 0A8228 802E8A28 90780001 */ lbu $t8, 1($v1)
/* 0A822C 802E8A2C 8E8C0014 */ lw $t4, 0x14($s4)
/* 0A8230 802E8A30 000D5200 */ sll $t2, $t5, 8
/* 0A8234 802E8A34 030A3821 */ addu $a3, $t8, $t2
/* 0A8238 802E8A38 30E9FFFF */ andi $t1, $a3, 0xffff
/* 0A823C 802E8A3C 01895821 */ addu $t3, $t4, $t1
/* 0A8240 802E8A40 1000FE49 */ b .L802E8368
/* 0A8244 802E8A44 AE2B0000 */ sw $t3, ($s1)
glabel L802E8A48
/* 0A8248 802E8A48 0C0B9DA0 */ jal m64_read_u8
/* 0A824C 802E8A4C 02202025 */ move $a0, $s1
/* 0A8250 802E8A50 1000FE45 */ b .L802E8368
/* 0A8254 802E8A54 A2420008 */ sb $v0, 8($s2)
glabel L802E8A58
/* 0A8258 802E8A58 0C0B9DA5 */ jal m64_read_s16
/* 0A825C 802E8A5C 02202025 */ move $a0, $s1
/* 0A8260 802E8A60 8E8E0014 */ lw $t6, 0x14($s4)
/* 0A8264 802E8A64 304FFFFF */ andi $t7, $v0, 0xffff
/* 0A8268 802E8A68 01CF1821 */ addu $v1, $t6, $t7
/* 0A826C 802E8A6C 90790000 */ lbu $t9, ($v1)
/* 0A8270 802E8A70 24630007 */ addiu $v1, $v1, 7
/* 0A8274 802E8A74 A2590003 */ sb $t9, 3($s2)
/* 0A8278 802E8A78 906DFFFA */ lbu $t5, -6($v1)
/* 0A827C 802E8A7C 92590001 */ lbu $t9, 1($s2)
/* 0A8280 802E8A80 A24D0002 */ sb $t5, 2($s2)
/* 0A8284 802E8A84 9078FFFB */ lbu $t8, -5($v1)
/* 0A8288 802E8A88 372D0020 */ ori $t5, $t9, 0x20
/* 0A828C 802E8A8C A2580005 */ sb $t8, 5($s2)
/* 0A8290 802E8A90 806AFFFC */ lb $t2, -4($v1)
/* 0A8294 802E8A94 A64A001E */ sh $t2, 0x1e($s2)
/* 0A8298 802E8A98 9069FFFD */ lbu $t1, -3($v1)
/* 0A829C 802E8A9C A2490009 */ sb $t1, 9($s2)
/* 0A82A0 802E8AA0 906CFFFE */ lbu $t4, -2($v1)
/* 0A82A4 802E8AA4 A24C000A */ sb $t4, 0xa($s2)
/* 0A82A8 802E8AA8 906BFFFF */ lbu $t3, -1($v1)
/* 0A82AC 802E8AAC A24B0004 */ sb $t3, 4($s2)
/* 0A82B0 802E8AB0 906E0000 */ lbu $t6, ($v1)
/* 0A82B4 802E8AB4 A24D0001 */ sb $t5, 1($s2)
/* 0A82B8 802E8AB8 1000FE2B */ b .L802E8368
/* 0A82BC 802E8ABC A24E0007 */ sb $t6, 7($s2)
glabel L802E8AC0
/* 0A82C0 802E8AC0 0C0B9DA0 */ jal m64_read_u8
/* 0A82C4 802E8AC4 02202025 */ move $a0, $s1
/* 0A82C8 802E8AC8 A2420003 */ sb $v0, 3($s2)
/* 0A82CC 802E8ACC 0C0B9DA0 */ jal m64_read_u8
/* 0A82D0 802E8AD0 02202025 */ move $a0, $s1
/* 0A82D4 802E8AD4 A2420002 */ sb $v0, 2($s2)
/* 0A82D8 802E8AD8 0C0B9DA0 */ jal m64_read_u8
/* 0A82DC 802E8ADC 02202025 */ move $a0, $s1
/* 0A82E0 802E8AE0 A2420005 */ sb $v0, 5($s2)
/* 0A82E4 802E8AE4 0C0B9DA0 */ jal m64_read_u8
/* 0A82E8 802E8AE8 02202025 */ move $a0, $s1
/* 0A82EC 802E8AEC 0002C600 */ sll $t8, $v0, 0x18
/* 0A82F0 802E8AF0 00185603 */ sra $t2, $t8, 0x18
/* 0A82F4 802E8AF4 A64A001E */ sh $t2, 0x1e($s2)
/* 0A82F8 802E8AF8 0C0B9DA0 */ jal m64_read_u8
/* 0A82FC 802E8AFC 02202025 */ move $a0, $s1
/* 0A8300 802E8B00 A2420009 */ sb $v0, 9($s2)
/* 0A8304 802E8B04 0C0B9DA0 */ jal m64_read_u8
/* 0A8308 802E8B08 02202025 */ move $a0, $s1
/* 0A830C 802E8B0C A242000A */ sb $v0, 0xa($s2)
/* 0A8310 802E8B10 0C0B9DA0 */ jal m64_read_u8
/* 0A8314 802E8B14 02202025 */ move $a0, $s1
/* 0A8318 802E8B18 A2420004 */ sb $v0, 4($s2)
/* 0A831C 802E8B1C 0C0B9DA0 */ jal m64_read_u8
/* 0A8320 802E8B20 02202025 */ move $a0, $s1
/* 0A8324 802E8B24 924C0001 */ lbu $t4, 1($s2)
/* 0A8328 802E8B28 A2420007 */ sb $v0, 7($s2)
/* 0A832C 802E8B2C 358B0020 */ ori $t3, $t4, 0x20
/* 0A8330 802E8B30 1000FE0D */ b .L802E8368
/* 0A8334 802E8B34 A24B0001 */ sb $t3, 1($s2)
glabel L802E8B38
/* 0A8338 802E8B38 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0A833C 802E8B3C 44815000 */ mtc1 $at, $f10
/* 0A8340 802E8B40 A6400012 */ sh $zero, 0x12($s2)
/* 0A8344 802E8B44 A640000E */ sh $zero, 0xe($s2)
/* 0A8348 802E8B48 A6400016 */ sh $zero, 0x16($s2)
/* 0A834C 802E8B4C A6400010 */ sh $zero, 0x10($s2)
/* 0A8350 802E8B50 A640000C */ sh $zero, 0xc($s2)
/* 0A8354 802E8B54 A6400014 */ sh $zero, 0x14($s2)
/* 0A8358 802E8B58 1000FE03 */ b .L802E8368
/* 0A835C 802E8B5C E64A0030 */ swc1 $f10, 0x30($s2)
glabel L802E8B60
/* 0A8360 802E8B60 0C0B9DA0 */ jal m64_read_u8
/* 0A8364 802E8B64 02202025 */ move $a0, $s1
/* 0A8368 802E8B68 1000FDFF */ b .L802E8368
/* 0A836C 802E8B6C A2420005 */ sb $v0, 5($s2)
.L80200970:
/* 0A8370 802E8B70 306E00F0 */ andi $t6, $v1, 0xf0
/* 0A8374 802E8B74 3064000F */ andi $a0, $v1, 0xf
/* 0A8378 802E8B78 2DC100B1 */ sltiu $at, $t6, 0xb1
/* 0A837C 802E8B7C 1020FDFA */ beqz $at, .L802E8368
/* 0A8380 802E8B80 308800FF */ andi $t0, $a0, 0xff
/* 0A8384 802E8B84 000E7080 */ sll $t6, $t6, 2
/* 0A8388 802E8B88 3C018030 */ lui $at, %hi(jtbl_EU_80306810)
/* 0A838C 802E8B8C 002E0821 */ addu $at, $at, $t6
/* 0A8390 802E8B90 8C2E6810 */ lw $t6, %lo(jtbl_EU_80306810)($at)
/* 0A8394 802E8B94 01C00008 */ jr $t6
/* 0A8398 802E8B98 00000000 */ nop
glabel L802E8B9C
/* 0A839C 802E8B9C 308F00FF */ andi $t7, $a0, 0xff
/* 0A83A0 802E8BA0 000FC880 */ sll $t9, $t7, 2
/* 0A83A4 802E8BA4 02596821 */ addu $t5, $s2, $t9
/* 0A83A8 802E8BA8 8DA30048 */ lw $v1, 0x48($t5)
/* 0A83AC 802E8BAC 10600007 */ beqz $v1, .L802009CC
/* 0A83B0 802E8BB0 00000000 */ nop
/* 0A83B4 802E8BB4 8C730000 */ lw $s3, ($v1)
/* 0A83B8 802E8BB8 0013C040 */ sll $t8, $s3, 1
/* 0A83BC 802E8BBC 001857C2 */ srl $t2, $t8, 0x1f
/* 0A83C0 802E8BC0 000A4E00 */ sll $t1, $t2, 0x18
/* 0A83C4 802E8BC4 1000FDE8 */ b .L802E8368
/* 0A83C8 802E8BC8 00099E03 */ sra $s3, $t1, 0x18
.L802009CC:
/* 0A83CC 802E8BCC 1000FDE6 */ b .L802E8368
/* 0A83D0 802E8BD0 2413FFFF */ li $s3, -1
glabel L802E8BD4
/* 0A83D4 802E8BD4 308B00FF */ andi $t3, $a0, 0xff
/* 0A83D8 802E8BD8 024B7021 */ addu $t6, $s2, $t3
/* 0A83DC 802E8BDC 1000FDE2 */ b .L802E8368
/* 0A83E0 802E8BE0 A1D30058 */ sb $s3, 0x58($t6)
glabel L802E8BE4
/* 0A83E4 802E8BE4 308300FF */ andi $v1, $a0, 0xff
/* 0A83E8 802E8BE8 02432821 */ addu $a1, $s2, $v1
/* 0A83EC 802E8BEC 28610004 */ slti $at, $v1, 4
/* 0A83F0 802E8BF0 1020FDDD */ beqz $at, .L802E8368
/* 0A83F4 802E8BF4 80B30058 */ lb $s3, 0x58($a1)
/* 0A83F8 802E8BF8 240FFFFF */ li $t7, -1
/* 0A83FC 802E8BFC 1000FDDA */ b .L802E8368
/* 0A8400 802E8C00 A0AF0058 */ sb $t7, 0x58($a1)
glabel L802E8C04
/* 0A8404 802E8C04 309900FF */ andi $t9, $a0, 0xff
/* 0A8408 802E8C08 02596821 */ addu $t5, $s2, $t9
/* 0A840C 802E8C0C 81B80058 */ lb $t8, 0x58($t5)
/* 0A8410 802E8C10 02789823 */ subu $s3, $s3, $t8
/* 0A8414 802E8C14 00135600 */ sll $t2, $s3, 0x18
/* 0A8418 802E8C18 1000FDD3 */ b .L802E8368
/* 0A841C 802E8C1C 000A9E03 */ sra $s3, $t2, 0x18
glabel L802E8C20
/* 0A8420 802E8C20 308C00FF */ andi $t4, $a0, 0xff
/* 0A8424 802E8C24 1000005C */ b .L802E8D98
/* 0A8428 802E8C28 A64C001A */ sh $t4, 0x1a($s2)
glabel L802E8C2C
/* 0A842C 802E8C2C 0C0B9DA5 */ jal m64_read_s16
/* 0A8430 802E8C30 02202025 */ move $a0, $s1
/* 0A8434 802E8C34 02003025 */ move $a2, $s0
/* 0A8438 802E8C38 30C5000F */ andi $a1, $a2, 0xf
/* 0A843C 802E8C3C 00A03025 */ move $a2, $a1
/* 0A8440 802E8C40 AFA50034 */ sw $a1, 0x34($sp)
/* 0A8444 802E8C44 02402025 */ move $a0, $s2
/* 0A8448 802E8C48 0C0B9BDC */ jal seq_channel_set_layer
/* 0A844C 802E8C4C A7A20052 */ sh $v0, 0x52($sp)
/* 0A8450 802E8C50 8FA60034 */ lw $a2, 0x34($sp)
/* 0A8454 802E8C54 1440FDC4 */ bnez $v0, .L802E8368
/* 0A8458 802E8C58 97A70052 */ lhu $a3, 0x52($sp)
/* 0A845C 802E8C5C 8E8E0014 */ lw $t6, 0x14($s4)
/* 0A8460 802E8C60 0006C880 */ sll $t9, $a2, 2
/* 0A8464 802E8C64 02596821 */ addu $t5, $s2, $t9
/* 0A8468 802E8C68 8DB80048 */ lw $t8, 0x48($t5)
/* 0A846C 802E8C6C 01C77821 */ addu $t7, $t6, $a3
/* 0A8470 802E8C70 1000FDBD */ b .L802E8368
/* 0A8474 802E8C74 AF0F0050 */ sw $t7, 0x50($t8)
glabel L802E8C78
/* 0A8478 802E8C78 02002825 */ move $a1, $s0
/* 0A847C 802E8C7C 30AA000F */ andi $t2, $a1, 0xf
/* 0A8480 802E8C80 01402825 */ move $a1, $t2
/* 0A8484 802E8C84 0C0B9C2D */ jal seq_channel_layer_free
/* 0A8488 802E8C88 02402025 */ move $a0, $s2
/* 0A848C 802E8C8C 1000FDB6 */ b .L802E8368
/* 0A8490 802E8C90 00000000 */ nop
glabel L802E8C94
/* 0A8494 802E8C94 2401FFFF */ li $at, -1
/* 0A8498 802E8C98 1261FDB3 */ beq $s3, $at, .L802E8368
/* 0A849C 802E8C9C 02402025 */ move $a0, $s2
/* 0A84A0 802E8CA0 02003025 */ move $a2, $s0
/* 0A84A4 802E8CA4 30C5000F */ andi $a1, $a2, 0xf
/* 0A84A8 802E8CA8 00A03025 */ move $a2, $a1
/* 0A84AC 802E8CAC 0C0B9BDC */ jal seq_channel_set_layer
/* 0A84B0 802E8CB0 AFA50034 */ sw $a1, 0x34($sp)
/* 0A84B4 802E8CB4 2401FFFF */ li $at, -1
/* 0A84B8 802E8CB8 1041FDAB */ beq $v0, $at, .L802E8368
/* 0A84BC 802E8CBC 8FA60034 */ lw $a2, 0x34($sp)
/* 0A84C0 802E8CC0 8E4C0034 */ lw $t4, 0x34($s2)
/* 0A84C4 802E8CC4 00135840 */ sll $t3, $s3, 1
/* 0A84C8 802E8CC8 8E980014 */ lw $t8, 0x14($s4)
/* 0A84CC 802E8CCC 018B1821 */ addu $v1, $t4, $t3
/* 0A84D0 802E8CD0 90790000 */ lbu $t9, ($v1)
/* 0A84D4 802E8CD4 906E0001 */ lbu $t6, 1($v1)
/* 0A84D8 802E8CD8 00064880 */ sll $t1, $a2, 2
/* 0A84DC 802E8CDC 00196A00 */ sll $t5, $t9, 8
/* 0A84E0 802E8CE0 02496021 */ addu $t4, $s2, $t1
/* 0A84E4 802E8CE4 01CD3821 */ addu $a3, $t6, $t5
/* 0A84E8 802E8CE8 8D8B0048 */ lw $t3, 0x48($t4)
/* 0A84EC 802E8CEC 30EFFFFF */ andi $t7, $a3, 0xffff
/* 0A84F0 802E8CF0 030F5021 */ addu $t2, $t8, $t7
/* 0A84F4 802E8CF4 1000FD9C */ b .L802E8368
/* 0A84F8 802E8CF8 AD6A0050 */ sw $t2, 0x50($t3)
glabel L802E8CFC
/* 0A84FC 802E8CFC 0C0B9DA5 */ jal m64_read_s16
/* 0A8500 802E8D00 02202025 */ move $a0, $s1
/* 0A8504 802E8D04 8E8E0014 */ lw $t6, 0x14($s4)
/* 0A8508 802E8D08 02002825 */ move $a1, $s0
/* 0A850C 802E8D0C 30B9000F */ andi $t9, $a1, 0xf
/* 0A8510 802E8D10 304DFFFF */ andi $t5, $v0, 0xffff
/* 0A8514 802E8D14 03202825 */ move $a1, $t9
/* 0A8518 802E8D18 02802025 */ move $a0, $s4
/* 0A851C 802E8D1C 0C0B9CFA */ jal sequence_channel_enable
/* 0A8520 802E8D20 01CD3021 */ addu $a2, $t6, $t5
/* 0A8524 802E8D24 1000FD90 */ b .L802E8368
/* 0A8528 802E8D28 00000000 */ nop
glabel L802E8D2C
/* 0A852C 802E8D2C 3218000F */ andi $t8, $s0, 0xf
/* 0A8530 802E8D30 00184880 */ sll $t1, $t8, 2
/* 0A8534 802E8D34 02896021 */ addu $t4, $s4, $t1
/* 0A8538 802E8D38 0C0B9C41 */ jal sequence_channel_disable
/* 0A853C 802E8D3C 8D840030 */ lw $a0, 0x30($t4)
/* 0A8540 802E8D40 1000FD89 */ b .L802E8368
/* 0A8544 802E8D44 00000000 */ nop
glabel L802E8D48
/* 0A8548 802E8D48 02202025 */ move $a0, $s1
/* 0A854C 802E8D4C 0C0B9DA0 */ jal m64_read_u8
/* 0A8550 802E8D50 A3A80055 */ sb $t0, 0x55($sp)
/* 0A8554 802E8D54 93A80055 */ lbu $t0, 0x55($sp)
/* 0A8558 802E8D58 00085080 */ sll $t2, $t0, 2
/* 0A855C 802E8D5C 028A5821 */ addu $t3, $s4, $t2
/* 0A8560 802E8D60 8D790030 */ lw $t9, 0x30($t3)
/* 0A8564 802E8D64 03227021 */ addu $t6, $t9, $v0
/* 0A8568 802E8D68 1000FD7F */ b .L802E8368
/* 0A856C 802E8D6C A1D30058 */ sb $s3, 0x58($t6)
glabel L802E8D70
/* 0A8570 802E8D70 02202025 */ move $a0, $s1
/* 0A8574 802E8D74 0C0B9DA0 */ jal m64_read_u8
/* 0A8578 802E8D78 A3A80055 */ sb $t0, 0x55($sp)
/* 0A857C 802E8D7C 93A80055 */ lbu $t0, 0x55($sp)
/* 0A8580 802E8D80 00086880 */ sll $t5, $t0, 2
/* 0A8584 802E8D84 028D7821 */ addu $t7, $s4, $t5
/* 0A8588 802E8D88 8DF80030 */ lw $t8, 0x30($t7)
/* 0A858C 802E8D8C 03024821 */ addu $t1, $t8, $v0
/* 0A8590 802E8D90 1000FD75 */ b .L802E8368
/* 0A8594 802E8D94 81330058 */ lb $s3, 0x58($t1)
glabel L802E8D98
.L802E8D98:
/* 0A8598 802E8D98 02408825 */ move $s1, $s2
.L80200B9C:
/* 0A859C 802E8D9C 24120010 */ li $s2, 16
/* 0A85A0 802E8DA0 00008025 */ move $s0, $zero
.L80200BA4:
/* 0A85A4 802E8DA4 8E240048 */ lw $a0, 0x48($s1)
/* 0A85A8 802E8DA8 50800004 */ beql $a0, $zero, .L80200BBC
/* 0A85AC 802E8DAC 26100004 */ addiu $s0, $s0, 4
/* 0A85B0 802E8DB0 0C0B9DC2 */ jal seq_channel_layer_process_script
/* 0A85B4 802E8DB4 00000000 */ nop
/* 0A85B8 802E8DB8 26100004 */ addiu $s0, $s0, 4
.L80200BBC:
/* 0A85BC 802E8DBC 1612FFF9 */ bne $s0, $s2, .L80200BA4
/* 0A85C0 802E8DC0 26310004 */ addiu $s1, $s1, 4
.L80200BC4:
/* 0A85C4 802E8DC4 8FBF002C */ lw $ra, 0x2c($sp)
.L80200BC8:
/* 0A85C8 802E8DC8 8FB00018 */ lw $s0, 0x18($sp)
/* 0A85CC 802E8DCC 8FB1001C */ lw $s1, 0x1c($sp)
/* 0A85D0 802E8DD0 8FB20020 */ lw $s2, 0x20($sp)
/* 0A85D4 802E8DD4 8FB30024 */ lw $s3, 0x24($sp)
/* 0A85D8 802E8DD8 8FB40028 */ lw $s4, 0x28($sp)
/* 0A85DC 802E8DDC 03E00008 */ jr $ra
/* 0A85E0 802E8DE0 27BD0060 */ addiu $sp, $sp, 0x60