glabel func_800DB0C4 /* B52264 800DB0C4 27BDFFC0 */ addiu $sp, $sp, -0x40 /* B52268 800DB0C8 AFB5002C */ sw $s5, 0x2c($sp) /* B5226C 800DB0CC 3C158017 */ lui $s5, %hi(gAudioContext) # $s5, 0x8017 /* B52270 800DB0D0 26B5F180 */ addiu $s5, %lo(gAudioContext) # addiu $s5, $s5, -0xe80 /* B52274 800DB0D4 AFB40028 */ sw $s4, 0x28($sp) /* B52278 800DB0D8 86B42854 */ lh $s4, 0x2854($s5) /* B5227C 800DB0DC AFBE0038 */ sw $fp, 0x38($sp) /* B52280 800DB0E0 AFB60030 */ sw $s6, 0x30($sp) /* B52284 800DB0E4 AFB1001C */ sw $s1, 0x1c($sp) /* B52288 800DB0E8 00C08825 */ move $s1, $a2 /* B5228C 800DB0EC 00E0B025 */ move $s6, $a3 /* B52290 800DB0F0 AFBF003C */ sw $ra, 0x3c($sp) /* B52294 800DB0F4 AFB70034 */ sw $s7, 0x34($sp) /* B52298 800DB0F8 AFB30024 */ sw $s3, 0x24($sp) /* B5229C 800DB0FC AFB20020 */ sw $s2, 0x20($sp) /* B522A0 800DB100 AFB00018 */ sw $s0, 0x18($sp) /* B522A4 800DB104 AFA40040 */ sw $a0, 0x40($sp) /* B522A8 800DB108 AFA50044 */ sw $a1, 0x44($sp) /* B522AC 800DB10C 1A80000A */ blez $s4, .L800DB138 /* B522B0 800DB110 0080F025 */ move $fp, $a0 .L800DB114: /* B522B4 800DB114 2690FFFF */ addiu $s0, $s4, -1 /* B522B8 800DB118 0C03B159 */ jal func_800EC564 /* B522BC 800DB11C 02002025 */ move $a0, $s0 /* B522C0 800DB120 86AE2854 */ lh $t6, 0x2854($s5) /* B522C4 800DB124 0C036C0F */ jal func_800DB03C /* B522C8 800DB128 01D42023 */ subu $a0, $t6, $s4 /* B522CC 800DB12C 1E00FFF9 */ bgtz $s0, .L800DB114 /* B522D0 800DB130 0200A025 */ move $s4, $s0 /* B522D4 800DB134 86B42854 */ lh $s4, 0x2854($s5) .L800DB138: /* B522D8 800DB138 0220B825 */ move $s7, $s1 /* B522DC 800DB13C 1A80003C */ blez $s4, .L800DB230 /* B522E0 800DB140 AEA00010 */ sw $zero, 0x10($s5) .L800DB144: /* B522E4 800DB144 24010001 */ li $at, 1 /* B522E8 800DB148 86B22854 */ lh $s2, 0x2854($s5) /* B522EC 800DB14C 16810003 */ bne $s4, $at, .L800DB15C /* B522F0 800DB150 00008825 */ move $s1, $zero /* B522F4 800DB154 10000019 */ b .L800DB1BC /* B522F8 800DB158 02C09825 */ move $s3, $s6 .L800DB15C: /* B522FC 800DB15C 02D4001A */ div $zero, $s6, $s4 /* B52300 800DB160 16800002 */ bnez $s4, .L800DB16C /* B52304 800DB164 00000000 */ nop /* B52308 800DB168 0007000D */ break 7 .L800DB16C: /* B5230C 800DB16C 2401FFFF */ li $at, -1 /* B52310 800DB170 16810004 */ bne $s4, $at, .L800DB184 /* B52314 800DB174 3C018000 */ lui $at, 0x8000 /* B52318 800DB178 16C10002 */ bne $s6, $at, .L800DB184 /* B5231C 800DB17C 00000000 */ nop /* B52320 800DB180 0006000D */ break 6 .L800DB184: /* B52324 800DB184 86A32858 */ lh $v1, 0x2858($s5) /* B52328 800DB188 00001012 */ mflo $v0 /* B5232C 800DB18C 0043082A */ slt $at, $v0, $v1 /* B52330 800DB190 54200004 */ bnezl $at, .L800DB1A4 /* B52334 800DB194 86A3285A */ lh $v1, 0x285a($s5) /* B52338 800DB198 10000008 */ b .L800DB1BC /* B5233C 800DB19C 00609825 */ move $s3, $v1 /* B52340 800DB1A0 86A3285A */ lh $v1, 0x285a($s5) .L800DB1A4: /* B52344 800DB1A4 0062082A */ slt $at, $v1, $v0 /* B52348 800DB1A8 54200004 */ bnezl $at, .L800DB1BC /* B5234C 800DB1AC 86B32856 */ lh $s3, 0x2856($s5) /* B52350 800DB1B0 10000002 */ b .L800DB1BC /* B52354 800DB1B4 00609825 */ move $s3, $v1 /* B52358 800DB1B8 86B32856 */ lh $s3, 0x2856($s5) .L800DB1BC: /* B5235C 800DB1BC 82A20001 */ lb $v0, 1($s5) /* B52360 800DB1C0 58400011 */ blezl $v0, .L800DB208 /* B52364 800DB1C4 02E02025 */ move $a0, $s7 /* B52368 800DB1C8 3C108017 */ lui $s0, %hi(gAudioContext) # $s0, 0x8017 /* B5236C 800DB1CC 2610F180 */ addiu $s0, %lo(gAudioContext) # addiu $s0, $s0, -0xe80 .L800DB1D0: /* B52370 800DB1D0 920F0019 */ lbu $t7, 0x19($s0) /* B52374 800DB1D4 02602025 */ move $a0, $s3 /* B52378 800DB1D8 02542823 */ subu $a1, $s2, $s4 /* B5237C 800DB1DC 51E00006 */ beql $t7, $zero, .L800DB1F8 /* B52380 800DB1E0 26310001 */ addiu $s1, $s1, 1 /* B52384 800DB1E4 0C036B30 */ jal func_800DACC0 /* B52388 800DB1E8 02203025 */ move $a2, $s1 /* B5238C 800DB1EC 86B22854 */ lh $s2, 0x2854($s5) /* B52390 800DB1F0 82A20001 */ lb $v0, 1($s5) /* B52394 800DB1F4 26310001 */ addiu $s1, $s1, 1 .L800DB1F8: /* B52398 800DB1F8 0222082A */ slt $at, $s1, $v0 /* B5239C 800DB1FC 1420FFF4 */ bnez $at, .L800DB1D0 /* B523A0 800DB200 261002C8 */ addiu $s0, $s0, 0x2c8 /* B523A4 800DB204 02E02025 */ move $a0, $s7 .L800DB208: /* B523A8 800DB208 02602825 */ move $a1, $s3 /* B523AC 800DB20C 03C03025 */ move $a2, $fp /* B523B0 800DB210 0C0370E1 */ jal func_800DC384 /* B523B4 800DB214 02543823 */ subu $a3, $s2, $s4 /* B523B8 800DB218 2694FFFF */ addiu $s4, $s4, -1 /* B523BC 800DB21C 0013C080 */ sll $t8, $s3, 2 /* B523C0 800DB220 0040F025 */ move $fp, $v0 /* B523C4 800DB224 02D3B023 */ subu $s6, $s6, $s3 /* B523C8 800DB228 1E80FFC6 */ bgtz $s4, .L800DB144 /* B523CC 800DB22C 02F8B821 */ addu $s7, $s7, $t8 .L800DB230: /* B523D0 800DB230 82B90001 */ lb $t9, 1($s5) /* B523D4 800DB234 3C108017 */ lui $s0, %hi(gAudioContext) # $s0, 0x8017 /* B523D8 800DB238 2610F180 */ addiu $s0, %lo(gAudioContext) # addiu $s0, $s0, -0xe80 /* B523DC 800DB23C 1B20000E */ blez $t9, .L800DB278 /* B523E0 800DB240 00008825 */ move $s1, $zero /* B523E4 800DB244 9202001A */ lbu $v0, 0x1a($s0) .L800DB248: /* B523E8 800DB248 10400002 */ beqz $v0, .L800DB254 /* B523EC 800DB24C 2448FFFF */ addiu $t0, $v0, -1 /* B523F0 800DB250 A208001A */ sb $t0, 0x1a($s0) .L800DB254: /* B523F4 800DB254 9209001B */ lbu $t1, 0x1b($s0) /* B523F8 800DB258 26310001 */ addiu $s1, $s1, 1 /* B523FC 800DB25C 261002C8 */ addiu $s0, $s0, 0x2c8 /* B52400 800DB260 392A0001 */ xori $t2, $t1, 1 /* B52404 800DB264 A20AFD53 */ sb $t2, -0x2ad($s0) /* B52408 800DB268 82AB0001 */ lb $t3, 1($s5) /* B5240C 800DB26C 022B082A */ slt $at, $s1, $t3 /* B52410 800DB270 5420FFF5 */ bnezl $at, .L800DB248 /* B52414 800DB274 9202001A */ lbu $v0, 0x1a($s0) .L800DB278: /* B52418 800DB278 8FAC0040 */ lw $t4, 0x40($sp) /* B5241C 800DB27C 8FAF0044 */ lw $t7, 0x44($sp) /* B52420 800DB280 03C01025 */ move $v0, $fp /* B52424 800DB284 03CC6823 */ subu $t5, $fp, $t4 /* B52428 800DB288 000D70C3 */ sra $t6, $t5, 3 /* B5242C 800DB28C ADEE0000 */ sw $t6, ($t7) /* B52430 800DB290 8FBF003C */ lw $ra, 0x3c($sp) /* B52434 800DB294 8FBE0038 */ lw $fp, 0x38($sp) /* B52438 800DB298 8FB70034 */ lw $s7, 0x34($sp) /* B5243C 800DB29C 8FB60030 */ lw $s6, 0x30($sp) /* B52440 800DB2A0 8FB5002C */ lw $s5, 0x2c($sp) /* B52444 800DB2A4 8FB40028 */ lw $s4, 0x28($sp) /* B52448 800DB2A8 8FB30024 */ lw $s3, 0x24($sp) /* B5244C 800DB2AC 8FB20020 */ lw $s2, 0x20($sp) /* B52450 800DB2B0 8FB1001C */ lw $s1, 0x1c($sp) /* B52454 800DB2B4 8FB00018 */ lw $s0, 0x18($sp) /* B52458 800DB2B8 03E00008 */ jr $ra /* B5245C 800DB2BC 27BD0040 */ addiu $sp, $sp, 0x40