oot/asm/non_matchings/code/audio_heap/func_800E0964.s

107 lines
4.9 KiB
ArmAsm

glabel func_800E0964
/* B57B04 800E0964 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B57B08 800E0968 AFB5002C */ sw $s5, 0x2c($sp)
/* B57B0C 800E096C 3C158017 */ lui $s5, %hi(gAudioContext) # $s5, 0x8017
/* B57B10 800E0970 26B5F180 */ addiu $s5, %lo(gAudioContext) # addiu $s5, $s5, -0xe80
/* B57B14 800E0974 AFB30024 */ sw $s3, 0x24($sp)
/* B57B18 800E0978 8EAE2844 */ lw $t6, 0x2844($s5)
/* B57B1C 800E097C 00059880 */ sll $s3, $a1, 2
/* B57B20 800E0980 02659821 */ addu $s3, $s3, $a1
/* B57B24 800E0984 00139880 */ sll $s3, $s3, 2
/* B57B28 800E0988 AFBF0034 */ sw $ra, 0x34($sp)
/* B57B2C 800E098C AFB60030 */ sw $s6, 0x30($sp)
/* B57B30 800E0990 AFB40028 */ sw $s4, 0x28($sp)
/* B57B34 800E0994 AFB20020 */ sw $s2, 0x20($sp)
/* B57B38 800E0998 AFB1001C */ sw $s1, 0x1c($sp)
/* B57B3C 800E099C AFB00018 */ sw $s0, 0x18($sp)
/* B57B40 800E09A0 01D31021 */ addu $v0, $t6, $s3
/* B57B44 800E09A4 904F0000 */ lbu $t7, ($v0)
/* B57B48 800E09A8 00809025 */ move $s2, $a0
/* B57B4C 800E09AC 00A0A025 */ move $s4, $a1
/* B57B50 800E09B0 19E0001D */ blez $t7, .L800E0A28
/* B57B54 800E09B4 00008825 */ move $s1, $zero
/* B57B58 800E09B8 2416007F */ li $s6, 127
/* B57B5C 800E09BC 02802025 */ move $a0, $s4
.L800E09C0:
/* B57B60 800E09C0 0C039D26 */ jal Audio_GetInstrumentInner
/* B57B64 800E09C4 02202825 */ move $a1, $s1
/* B57B68 800E09C8 10400010 */ beqz $v0, .L800E0A0C
/* B57B6C 800E09CC 00408025 */ move $s0, $v0
/* B57B70 800E09D0 90580001 */ lbu $t8, 1($v0)
/* B57B74 800E09D4 02402025 */ move $a0, $s2
/* B57B78 800E09D8 53000004 */ beql $t8, $zero, .L800E09EC
/* B57B7C 800E09DC 92190002 */ lbu $t9, 2($s0)
/* B57B80 800E09E0 0C0382ED */ jal func_800E0BB4
/* B57B84 800E09E4 8C450008 */ lw $a1, 8($v0)
/* B57B88 800E09E8 92190002 */ lbu $t9, 2($s0)
.L800E09EC:
/* B57B8C 800E09EC 02402025 */ move $a0, $s2
/* B57B90 800E09F0 52D90004 */ beql $s6, $t9, .L800E0A04
/* B57B94 800E09F4 02402025 */ move $a0, $s2
/* B57B98 800E09F8 0C0382ED */ jal func_800E0BB4
/* B57B9C 800E09FC 8E050018 */ lw $a1, 0x18($s0)
/* B57BA0 800E0A00 02402025 */ move $a0, $s2
.L800E0A04:
/* B57BA4 800E0A04 0C0382ED */ jal func_800E0BB4
/* B57BA8 800E0A08 8E050010 */ lw $a1, 0x10($s0)
.L800E0A0C:
/* B57BAC 800E0A0C 8EA82844 */ lw $t0, 0x2844($s5)
/* B57BB0 800E0A10 26310001 */ addiu $s1, $s1, 1
/* B57BB4 800E0A14 01131021 */ addu $v0, $t0, $s3
/* B57BB8 800E0A18 90490000 */ lbu $t1, ($v0)
/* B57BBC 800E0A1C 0229082A */ slt $at, $s1, $t1
/* B57BC0 800E0A20 5420FFE7 */ bnezl $at, .L800E09C0
/* B57BC4 800E0A24 02802025 */ move $a0, $s4
.L800E0A28:
/* B57BC8 800E0A28 904A0001 */ lbu $t2, 1($v0)
/* B57BCC 800E0A2C 00008025 */ move $s0, $zero
/* B57BD0 800E0A30 1940000E */ blez $t2, .L800E0A6C
/* B57BD4 800E0A34 02802025 */ move $a0, $s4
.L800E0A38:
/* B57BD8 800E0A38 0C039D5B */ jal Audio_GetDrum
/* B57BDC 800E0A3C 02002825 */ move $a1, $s0
/* B57BE0 800E0A40 10400003 */ beqz $v0, .L800E0A50
/* B57BE4 800E0A44 02402025 */ move $a0, $s2
/* B57BE8 800E0A48 0C0382ED */ jal func_800E0BB4
/* B57BEC 800E0A4C 8C450004 */ lw $a1, 4($v0)
.L800E0A50:
/* B57BF0 800E0A50 8EAB2844 */ lw $t3, 0x2844($s5)
/* B57BF4 800E0A54 26100001 */ addiu $s0, $s0, 1
/* B57BF8 800E0A58 01731021 */ addu $v0, $t3, $s3
/* B57BFC 800E0A5C 904C0001 */ lbu $t4, 1($v0)
/* B57C00 800E0A60 020C082A */ slt $at, $s0, $t4
/* B57C04 800E0A64 5420FFF4 */ bnezl $at, .L800E0A38
/* B57C08 800E0A68 02802025 */ move $a0, $s4
.L800E0A6C:
/* B57C0C 800E0A6C 944D0004 */ lhu $t5, 4($v0)
/* B57C10 800E0A70 00008025 */ move $s0, $zero
/* B57C14 800E0A74 19A0000E */ blez $t5, .L800E0AB0
/* B57C18 800E0A78 02802025 */ move $a0, $s4
.L800E0A7C:
/* B57C1C 800E0A7C 0C039D94 */ jal Audio_GetUnkInstrument
/* B57C20 800E0A80 02002825 */ move $a1, $s0
/* B57C24 800E0A84 10400003 */ beqz $v0, .L800E0A94
/* B57C28 800E0A88 02402025 */ move $a0, $s2
/* B57C2C 800E0A8C 0C0382ED */ jal func_800E0BB4
/* B57C30 800E0A90 8C450000 */ lw $a1, ($v0)
.L800E0A94:
/* B57C34 800E0A94 8EAE2844 */ lw $t6, 0x2844($s5)
/* B57C38 800E0A98 26100001 */ addiu $s0, $s0, 1
/* B57C3C 800E0A9C 01D37821 */ addu $t7, $t6, $s3
/* B57C40 800E0AA0 95F80004 */ lhu $t8, 4($t7)
/* B57C44 800E0AA4 0218082A */ slt $at, $s0, $t8
/* B57C48 800E0AA8 5420FFF4 */ bnezl $at, .L800E0A7C
/* B57C4C 800E0AAC 02802025 */ move $a0, $s4
.L800E0AB0:
/* B57C50 800E0AB0 8FBF0034 */ lw $ra, 0x34($sp)
/* B57C54 800E0AB4 8FB00018 */ lw $s0, 0x18($sp)
/* B57C58 800E0AB8 8FB1001C */ lw $s1, 0x1c($sp)
/* B57C5C 800E0ABC 8FB20020 */ lw $s2, 0x20($sp)
/* B57C60 800E0AC0 8FB30024 */ lw $s3, 0x24($sp)
/* B57C64 800E0AC4 8FB40028 */ lw $s4, 0x28($sp)
/* B57C68 800E0AC8 8FB5002C */ lw $s5, 0x2c($sp)
/* B57C6C 800E0ACC 8FB60030 */ lw $s6, 0x30($sp)
/* B57C70 800E0AD0 03E00008 */ jr $ra
/* B57C74 800E0AD4 27BD0038 */ addiu $sp, $sp, 0x38