glabel func_800E1618 /* B587B8 800E1618 27BDFFD0 */ addiu $sp, $sp, -0x30 /* B587BC 800E161C AFB20020 */ sw $s2, 0x20($sp) /* B587C0 800E1620 3C128017 */ lui $s2, %hi(gAudioContext) # $s2, 0x8017 /* B587C4 800E1624 2652F180 */ addiu $s2, %lo(gAudioContext) # addiu $s2, $s2, -0xe80 /* B587C8 800E1628 8E582894 */ lw $t8, 0x2894($s2) /* B587CC 800E162C 86482848 */ lh $t0, 0x2848($s2) /* B587D0 800E1630 AFB40028 */ sw $s4, 0x28($sp) /* B587D4 800E1634 0018C980 */ sll $t9, $t8, 6 /* B587D8 800E1638 03280019 */ multu $t9, $t0 /* B587DC 800E163C 8E4E2874 */ lw $t6, 0x2874($s2) /* B587E0 800E1640 3C148017 */ lui $s4, %hi(gAudioContext+0x29c0) # $s4, 0x8017 /* B587E4 800E1644 26941B40 */ addiu $s4, %lo(gAudioContext+0x29c0) # addiu $s4, $s4, 0x1b40 /* B587E8 800E1648 AFBF002C */ sw $ra, 0x2c($sp) /* B587EC 800E164C AFA40030 */ sw $a0, 0x30($sp) /* B587F0 800E1650 AFB30024 */ sw $s3, 0x24($sp) /* B587F4 800E1654 AFB1001C */ sw $s1, 0x1c($sp) /* B587F8 800E1658 AFB00018 */ sw $s0, 0x18($sp) /* B587FC 800E165C 02802025 */ move $a0, $s4 /* B58800 800E1660 00002812 */ mflo $a1 /* B58804 800E1664 AE4E288C */ sw $t6, 0x288c($s2) /* B58808 800E1668 0C0378F7 */ jal Audio_Alloc /* B5880C 800E166C 00000000 */ nop /* B58810 800E1670 8E492894 */ lw $t1, 0x2894($s2) /* B58814 800E1674 864B2848 */ lh $t3, 0x2848($s2) /* B58818 800E1678 AE42261C */ sw $v0, 0x261c($s2) /* B5881C 800E167C 00095080 */ sll $t2, $t1, 2 /* B58820 800E1680 01495023 */ subu $t2, $t2, $t1 /* B58824 800E1684 014B0019 */ multu $t2, $t3 /* B58828 800E1688 00008825 */ move $s1, $zero /* B5882C 800E168C 00009812 */ mflo $s3 /* B58830 800E1690 5A60001C */ blezl $s3, .L800E1704 /* B58834 800E1694 8E442620 */ lw $a0, 0x2620($s2) .L800E1698: /* B58838 800E1698 8E4C2620 */ lw $t4, 0x2620($s2) /* B5883C 800E169C 8E4E261C */ lw $t6, 0x261c($s2) /* B58840 800E16A0 02802025 */ move $a0, $s4 /* B58844 800E16A4 000C6900 */ sll $t5, $t4, 4 /* B58848 800E16A8 8E45288C */ lw $a1, 0x288c($s2) /* B5884C 800E16AC 0C0378AC */ jal func_800DE2B0 /* B58850 800E16B0 01AE8021 */ addu $s0, $t5, $t6 /* B58854 800E16B4 14400003 */ bnez $v0, .L800E16C4 /* B58858 800E16B8 AE020000 */ sw $v0, ($s0) /* B5885C 800E16BC 10000010 */ b .L800E1700 /* B58860 800E16C0 00008825 */ move $s1, $zero .L800E16C4: /* B58864 800E16C4 8E040000 */ lw $a0, ($s0) /* B58868 800E16C8 0C03788E */ jal func_800DE238 /* B5886C 800E16CC 8E45288C */ lw $a1, 0x288c($s2) /* B58870 800E16D0 8E4F288C */ lw $t7, 0x288c($s2) /* B58874 800E16D4 AE000004 */ sw $zero, 4($s0) /* B58878 800E16D8 A6000008 */ sh $zero, 8($s0) /* B5887C 800E16DC A200000C */ sb $zero, 0xc($s0) /* B58880 800E16E0 A200000E */ sb $zero, 0xe($s0) /* B58884 800E16E4 A60F000A */ sh $t7, 0xa($s0) /* B58888 800E16E8 8E582620 */ lw $t8, 0x2620($s2) /* B5888C 800E16EC 26310001 */ addiu $s1, $s1, 1 /* B58890 800E16F0 27190001 */ addiu $t9, $t8, 1 /* B58894 800E16F4 1633FFE8 */ bne $s1, $s3, .L800E1698 /* B58898 800E16F8 AE592620 */ sw $t9, 0x2620($s2) /* B5889C 800E16FC 00008825 */ move $s1, $zero .L800E1700: /* B588A0 800E1700 8E442620 */ lw $a0, 0x2620($s2) .L800E1704: /* B588A4 800E1704 3C028017 */ lui $v0, %hi(gAudioContext) # $v0, 0x8017 /* B588A8 800E1708 2442F180 */ addiu $v0, %lo(gAudioContext) # addiu $v0, $v0, -0xe80 /* B588AC 800E170C 1080000C */ beqz $a0, .L800E1740 /* B588B0 800E1710 00001825 */ move $v1, $zero /* B588B4 800E1714 A051262C */ sb $s1, 0x262c($v0) .L800E1718: /* B588B8 800E1718 8E48261C */ lw $t0, 0x261c($s2) /* B588BC 800E171C 24420001 */ addiu $v0, $v0, 1 /* B588C0 800E1720 01034821 */ addu $t1, $t0, $v1 /* B588C4 800E1724 A131000D */ sb $s1, 0xd($t1) /* B588C8 800E1728 8E442620 */ lw $a0, 0x2620($s2) /* B588CC 800E172C 26310001 */ addiu $s1, $s1, 1 /* B588D0 800E1730 24630010 */ addiu $v1, $v1, 0x10 /* B588D4 800E1734 0224082B */ sltu $at, $s1, $a0 /* B588D8 800E1738 5420FFF7 */ bnezl $at, .L800E1718 /* B588DC 800E173C A051262C */ sb $s1, 0x262c($v0) .L800E1740: /* B588E0 800E1740 28810100 */ slti $at, $a0, 0x100 /* B588E4 800E1744 10200009 */ beqz $at, .L800E176C /* B588E8 800E1748 00808825 */ move $s1, $a0 /* B588EC 800E174C 3C038017 */ lui $v1, %hi(gAudioContext+0x100) # $v1, 0x8017 /* B588F0 800E1750 2463F280 */ addiu $v1, %lo(gAudioContext+0x100) # addiu $v1, $v1, -0xd80 /* B588F4 800E1754 02511021 */ addu $v0, $s2, $s1 .L800E1758: /* B588F8 800E1758 24420001 */ addiu $v0, $v0, 1 /* B588FC 800E175C 0043082B */ sltu $at, $v0, $v1 /* B58900 800E1760 1420FFFD */ bnez $at, .L800E1758 /* B58904 800E1764 A040262B */ sb $zero, 0x262b($v0) /* B58908 800E1768 8E442620 */ lw $a0, 0x2620($s2) .L800E176C: /* B5890C 800E176C 8E4B2894 */ lw $t3, 0x2894($s2) /* B58910 800E1770 8E4A2878 */ lw $t2, 0x2878($s2) /* B58914 800E1774 A240282C */ sb $zero, 0x282c($s2) /* B58918 800E1778 A244282E */ sb $a0, 0x282e($s2) /* B5891C 800E177C AE442624 */ sw $a0, 0x2624($s2) /* B58920 800E1780 00008825 */ move $s1, $zero /* B58924 800E1784 1960001D */ blez $t3, .L800E17FC /* B58928 800E1788 AE4A288C */ sw $t2, 0x288c($s2) .L800E178C: /* B5892C 800E178C 8E4C2620 */ lw $t4, 0x2620($s2) /* B58930 800E1790 8E4E261C */ lw $t6, 0x261c($s2) /* B58934 800E1794 02802025 */ move $a0, $s4 /* B58938 800E1798 000C6900 */ sll $t5, $t4, 4 /* B5893C 800E179C 8E45288C */ lw $a1, 0x288c($s2) /* B58940 800E17A0 0C0378AC */ jal func_800DE2B0 /* B58944 800E17A4 01AE8021 */ addu $s0, $t5, $t6 /* B58948 800E17A8 14400003 */ bnez $v0, .L800E17B8 /* B5894C 800E17AC AE020000 */ sw $v0, ($s0) /* B58950 800E17B0 10000012 */ b .L800E17FC /* B58954 800E17B4 8E442620 */ lw $a0, 0x2620($s2) .L800E17B8: /* B58958 800E17B8 8E040000 */ lw $a0, ($s0) /* B5895C 800E17BC 0C03788E */ jal func_800DE238 /* B58960 800E17C0 8E45288C */ lw $a1, 0x288c($s2) /* B58964 800E17C4 8E4F288C */ lw $t7, 0x288c($s2) /* B58968 800E17C8 AE000004 */ sw $zero, 4($s0) /* B5896C 800E17CC A6000008 */ sh $zero, 8($s0) /* B58970 800E17D0 A200000C */ sb $zero, 0xc($s0) /* B58974 800E17D4 A200000E */ sb $zero, 0xe($s0) /* B58978 800E17D8 A60F000A */ sh $t7, 0xa($s0) /* B5897C 800E17DC 8E482894 */ lw $t0, 0x2894($s2) /* B58980 800E17E0 8E582620 */ lw $t8, 0x2620($s2) /* B58984 800E17E4 26310001 */ addiu $s1, $s1, 1 /* B58988 800E17E8 0228082A */ slt $at, $s1, $t0 /* B5898C 800E17EC 27190001 */ addiu $t9, $t8, 1 /* B58990 800E17F0 1420FFE6 */ bnez $at, .L800E178C /* B58994 800E17F4 AE592620 */ sw $t9, 0x2620($s2) /* B58998 800E17F8 03202025 */ move $a0, $t9 .L800E17FC: /* B5899C 800E17FC 8E512624 */ lw $s1, 0x2624($s2) /* B589A0 800E1800 0224082B */ sltu $at, $s1, $a0 /* B589A4 800E1804 10200012 */ beqz $at, .L800E1850 /* B589A8 800E1808 00111900 */ sll $v1, $s1, 4 /* B589AC 800E180C 02511021 */ addu $v0, $s2, $s1 /* B589B0 800E1810 8E492624 */ lw $t1, 0x2624($s2) .L800E1814: /* B589B4 800E1814 00095023 */ negu $t2, $t1 /* B589B8 800E1818 004A5821 */ addu $t3, $v0, $t2 /* B589BC 800E181C A171272C */ sb $s1, 0x272c($t3) /* B589C0 800E1820 8E4E261C */ lw $t6, 0x261c($s2) /* B589C4 800E1824 8E4C2624 */ lw $t4, 0x2624($s2) /* B589C8 800E1828 24420001 */ addiu $v0, $v0, 1 /* B589CC 800E182C 01C37821 */ addu $t7, $t6, $v1 /* B589D0 800E1830 022C6823 */ subu $t5, $s1, $t4 /* B589D4 800E1834 A1ED000D */ sb $t5, 0xd($t7) /* B589D8 800E1838 8E442620 */ lw $a0, 0x2620($s2) /* B589DC 800E183C 26310001 */ addiu $s1, $s1, 1 /* B589E0 800E1840 24630010 */ addiu $v1, $v1, 0x10 /* B589E4 800E1844 0224082B */ sltu $at, $s1, $a0 /* B589E8 800E1848 5420FFF2 */ bnezl $at, .L800E1814 /* B589EC 800E184C 8E492624 */ lw $t1, 0x2624($s2) .L800E1850: /* B589F0 800E1850 28810100 */ slti $at, $a0, 0x100 /* B589F4 800E1854 1020000A */ beqz $at, .L800E1880 /* B589F8 800E1858 00808825 */ move $s1, $a0 /* B589FC 800E185C 3C038017 */ lui $v1, %hi(gAudioContext+0x100) # $v1, 0x8017 /* B58A00 800E1860 2463F280 */ addiu $v1, %lo(gAudioContext+0x100) # addiu $v1, $v1, -0xd80 /* B58A04 800E1864 02511021 */ addu $v0, $s2, $s1 .L800E1868: /* B58A08 800E1868 8E582624 */ lw $t8, 0x2624($s2) /* B58A0C 800E186C 24420001 */ addiu $v0, $v0, 1 /* B58A10 800E1870 0043082B */ sltu $at, $v0, $v1 /* B58A14 800E1874 1420FFFC */ bnez $at, .L800E1868 /* B58A18 800E1878 A058272B */ sb $t8, 0x272b($v0) /* B58A1C 800E187C 8E442620 */ lw $a0, 0x2620($s2) .L800E1880: /* B58A20 800E1880 8E592624 */ lw $t9, 0x2624($s2) /* B58A24 800E1884 8FBF002C */ lw $ra, 0x2c($sp) /* B58A28 800E1888 A240282D */ sb $zero, 0x282d($s2) /* B58A2C 800E188C 00994023 */ subu $t0, $a0, $t9 /* B58A30 800E1890 A248282F */ sb $t0, 0x282f($s2) /* B58A34 800E1894 8FB20020 */ lw $s2, 0x20($sp) /* B58A38 800E1898 8FB00018 */ lw $s0, 0x18($sp) /* B58A3C 800E189C 8FB1001C */ lw $s1, 0x1c($sp) /* B58A40 800E18A0 8FB30024 */ lw $s3, 0x24($sp) /* B58A44 800E18A4 8FB40028 */ lw $s4, 0x28($sp) /* B58A48 800E18A8 03E00008 */ jr $ra /* B58A4C 800E18AC 27BD0030 */ addiu $sp, $sp, 0x30