[*] Binary protection state of aplay

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function fprintf tear down of aplay

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0x4710 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00004710 ()              | void fcn_00004710 () {
    0x00004710 lui gp, 3                 |     
    0x00004714 addiu gp, gp, -0x76d0     |     
    0x00004718 addu gp, gp, t9           |     gp += t9;
    0x0000471c addiu sp, sp, -0xb8       |     
    0x00004720 lw v0, -0x7e4c(gp)        |     v0 = *((gp - 8083));
    0x00004724 sw fp, 0xb0(sp)           |     *(var_b0h) = fp;
    0x00004728 move fp, sp               |     fp = sp;
    0x0000472c lw t9, -0x7ef0(gp)        |     t9 = sym.imp.snd_ctl_card_info_sizeof;
    0x00004730 sw v0, 0x2c(fp)           |     *(arg_2ch) = v0;
    0x00004734 lw v0, (v0)               |     v0 = *(v0);
    0x00004738 sw s0, 0x90(sp)           |     *(var_90h) = s0;
    0x0000473c addiu s0, fp, 0x64        |     s0 = fp + 0x64;
    0x00004740 sw ra, 0xb4(sp)           |     *(var_b4h) = ra;
    0x00004744 sw s1, 0x94(sp)           |     *(var_94h) = s1;
    0x00004748 sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x0000474c sw s7, 0xac(sp)           |     *(var_ach) = s7;
    0x00004750 sw s6, 0xa8(sp)           |     *(var_a8h) = s6;
    0x00004754 sw s5, 0xa4(sp)           |     *(var_a4h) = s5;
    0x00004758 sw s4, 0xa0(sp)           |     *(var_a0h) = s4;
    0x0000475c sw s3, 0x9c(sp)           |     *(var_9ch) = s3;
    0x00004760 sw s2, 0x98(sp)           |     *(var_98h) = s2;
    0x00004764 sw s0, 0x34(fp)           |     *(arg_34h) = s0;
    0x00004768 sw v0, 0x8c(fp)           |     *(arg_8ch) = v0;
    0x0000476c jalr t9                   |     t9 ();
    0x00004770 nop                       |     
    0x00004774 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004778 addiu v0, v0, 7           |     v0 += 7;
    0x0000477c srl v0, v0, 3             |     v0 >>= 3;
    0x00004780 sll v0, v0, 3             |     v0 <<= 3;
    0x00004784 lw t9, -0x7ef0(gp)        |     t9 = sym.imp.snd_ctl_card_info_sizeof;
    0x00004788 subu sp, sp, v0           |     
    0x0000478c jalr t9                   |     t9 ();
    0x00004790 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004794 addiu v1, sp, 0x20        |     v1 = sp + 0x20;
    0x00004798 move a0, v1               |     a0 = v1;
    0x0000479c lw t9, -0x7d60(gp)        |     t9 = sym.imp.memset;
    0x000047a0 sw v1, 0x3c(fp)           |     *(arg_3ch) = v1;
    0x000047a4 move a2, v0               |     a2 = v0;
    0x000047a8 move a1, zero             |     a1 = 0;
    0x000047ac jalr t9                   |     t9 ();
    0x000047b0 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x000047b4 lw t9, -0x7e94(gp)        |     t9 = sym.imp.snd_pcm_info_sizeof;
    0x000047b8 jalr t9                   |     t9 ();
    0x000047bc nop                       |     
    0x000047c0 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x000047c4 addiu v0, v0, 7           |     v0 += 7;
    0x000047c8 srl v0, v0, 3             |     v0 >>= 3;
    0x000047cc sll v0, v0, 3             |     v0 <<= 3;
    0x000047d0 lw t9, -0x7e94(gp)        |     t9 = sym.imp.snd_pcm_info_sizeof;
    0x000047d4 subu sp, sp, v0           |     
    0x000047d8 jalr t9                   |     t9 ();
    0x000047dc lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x000047e0 addiu s1, sp, 0x20        |     s1 = sp + 0x20;
    0x000047e4 move a2, v0               |     a2 = v0;
    0x000047e8 lw t9, -0x7d60(gp)        |     t9 = sym.imp.memset;
    0x000047ec move a1, zero             |     a1 = 0;
    0x000047f0 move a0, s1               |     a0 = s1;
    0x000047f4 jalr t9                   |     t9 ();
    0x000047f8 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x000047fc addiu v0, zero, -1        |     v0 = -1;
    0x00004800 move a0, s0               |     a0 = s0;
    0x00004804 lw t9, -0x7ef8(gp)        |     t9 = sym.imp.snd_card_next;
    0x00004808 sw v0, 0x64(fp)           |     *(arg_64h) = v0;
    0x0000480c jalr t9                   |     t9 ();
    0x00004810 lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x00004814 bltz v0, 0x4ad8           |         goto label_10;
                                         |     }
    0x00004818 lw v0, 0x64(fp)           |     v0 = *(arg_64h);
    0x0000481c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v0 < 0) {
    0x00004820 bltz v0, 0x4ad8           |         goto label_10;
                                         |     }
    0x00004824 lw t9, -0x7e84(gp)        |     t9 = sym.imp.snd_pcm_stream_name;
    0x00004828 sw v0, 0x40(fp)           |     *(arg_40h) = v0;
    0x0000482c lw a0, 0x5484(v0)         |     a0 = *((v0 + 5409));
    0x00004830 jalr t9                   |     t9 ();
    0x00004834 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004838 move a2, v0               |     a2 = v0;
    0x0000483c addiu a0, zero, 1         |     a0 = 1;
    0x00004840 lw a1, -0x7fd8(gp)        |     a1 = *(gp);
    0x00004844 lw t9, -0x7d2c(gp)        |     t9 = sym.imp.__printf_chk;
                                         |     /* str._List_of__s_Hardware_Devices__n */
    0x00004848 addiu a1, a1, 0x2b90      |     a1 += 0x2b90;
    0x0000484c jalr t9                   |     t9 ();
    0x00004850 lw v0, 0x64(fp)           |     v0 = *(arg_64h);
    0x00004854 lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x00004858 bltz v0, 0x4b4c           |         goto label_11;
                                         |     }
    0x0000485c lw v1, -0x7fd8(gp)        |     v1 = *(gp);
    0x00004860 lw s4, -0x7fd8(gp)        |     s4 = *(gp);
    0x00004864 sw v1, 0x30(fp)           |     *(arg_30h) = v1;
                                         |     /* str.device_list */
    0x00004868 addiu v1, s4, 0x42a8      |     v1 = s4 + 0x42a8;
    0x0000486c sw v1, 0x54(fp)           |     *(arg_54h) = v1;
    0x00004870 lw v1, -0x7fd8(gp)        |     v1 = *(gp);
    0x00004874 addiu s3, fp, 0x6c        |     s3 = fp + 0x6c;
                                         |     /* str._s:__s:_d:_ */
    0x00004878 addiu v1, v1, 0x2b6c      |     v1 += 0x2b6c;
    0x0000487c sw v1, 0x50(fp)           |     *(arg_50h) = v1;
    0x00004880 lw v1, -0x7fd8(gp)        |     v1 = *(gp);
    0x00004884 addiu s6, fp, 0x60        |     s6 = fp + 0x60;
                                         |     /* str.__Subdevice__i:__s_n */
    0x00004888 addiu v1, v1, 0x2ca4      |     v1 += 0x2ca4;
    0x0000488c sw v1, 0x48(fp)           |     *(arg_48h) = v1;
    0x00004890 lw v1, 0x30(fp)           |     v1 = *(arg_30h);
                                         | label_2:
    0x00004894 lw t9, -0x7f0c(gp)        |     t9 = sym.imp.__sprintf_chk;
    0x00004898 addiu a3, v1, 0x2bb8      |     a3 = v1 + 0x2bb8;
    0x0000489c addiu a2, zero, 0x20      |     a2 = 0x20;
    0x000048a0 addiu a1, zero, 1         |     a1 = 1;
    0x000048a4 move a0, s3               |     a0 = s3;
    0x000048a8 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x000048ac jalr t9                   |     t9 ();
    0x000048b0 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x000048b4 move a2, zero             |     a2 = 0;
    0x000048b8 move a1, s3               |     a1 = s3;
    0x000048bc lw t9, -0x7d58(gp)        |     t9 = sym.imp.snd_ctl_open;
    0x000048c0 move a0, s6               |     a0 = s6;
    0x000048c4 jalr t9                   |     t9 ();
    0x000048c8 move s0, v0               |     s0 = v0;
    0x000048cc lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x000048d0 bltz v0, 0x4d6c           |         goto label_12;
                                         |     }
    0x000048d4 lw t9, -0x7eb0(gp)        |     t9 = sym.imp.snd_ctl_card_info;
    0x000048d8 lw a0, 0x60(fp)           |     a0 = *(arg_60h);
    0x000048dc lw a1, 0x3c(fp)           |     a1 = *(arg_3ch);
    0x000048e0 jalr t9                   |     t9 ();
    0x000048e4 move s0, v0               |     s0 = v0;
    0x000048e8 lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x000048ec bltz v0, 0x4e5c           |         goto label_13;
                                         |     }
    0x000048f0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000048f4 addiu s5, fp, 0x68        |     s5 = fp + 0x68;
    0x000048f8 sw v0, 0x4c(fp)           |     *(arg_4ch) = v0;
    0x000048fc lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00004900 sw v0, 0x38(fp)           |     *(arg_38h) = v0;
    0x00004904 addiu v0, zero, -1        |     v0 = -1;
    0x00004908 sw v0, 0x68(fp)           |     *(arg_68h) = v0;
                                         | label_3:
    0x0000490c lw t9, -0x7d88(gp)        |     t9 = sym.imp.snd_ctl_pcm_next_device;
                                         |     do {
                                         | label_4:
    0x00004910 lw a0, 0x60(fp)           |         a0 = *(arg_60h);
    0x00004914 move a1, s5               |         a1 = s5;
    0x00004918 jalr t9                   |         t9 ();
    0x0000491c lw gp, 0x20(fp)           |         gp = *(var_20h);
                                         |         if (v0 < 0) {
    0x00004920 bltz v0, 0x4a30           |             goto label_14;
                                         |         }
                                         | label_0:
    0x00004924 lw a1, 0x68(fp)           |         a1 = *(arg_68h);
    0x00004928 lw t9, -0x7dec(gp)        |         t9 = sym.imp.snd_ctl_close;
                                         |         if (a1 < 0) {
    0x0000492c bltz a1, 0x4aa4           |             goto label_15;
                                         |         }
                                         | label_1:
    0x00004930 lw t9, -0x7e08(gp)        |         t9 = sym.imp.snd_pcm_info_set_device;
    0x00004934 move a0, s1               |         a0 = s1;
    0x00004938 jalr t9                   |         t9 ();
    0x0000493c lw gp, 0x20(fp)           |         gp = *(var_20h);
    0x00004940 move a1, zero             |         a1 = 0;
    0x00004944 lw t9, -0x7f30(gp)        |         t9 = sym.imp.snd_pcm_info_set_subdevice;
    0x00004948 move a0, s1               |         a0 = s1;
    0x0000494c jalr t9                   |         t9 ();
    0x00004950 lw gp, 0x20(fp)           |         gp = *(var_20h);
    0x00004954 lw v0, 0x40(fp)           |         v0 = *(arg_40h);
    0x00004958 move a0, s1               |         a0 = s1;
    0x0000495c lw t9, -0x7f08(gp)        |         t9 = sym.imp.snd_pcm_info_set_stream;
    0x00004960 lw a1, 0x5484(v0)         |         a1 = *((v0 + 5409));
    0x00004964 jalr t9                   |         t9 ();
    0x00004968 lw gp, 0x20(fp)           |         gp = *(var_20h);
    0x0000496c lw a0, 0x60(fp)           |         a0 = *(arg_60h);
    0x00004970 lw t9, -0x7cf8(gp)        |         t9 = sym.imp.snd_ctl_pcm_info;
    0x00004974 move a1, s1               |         a1 = s1;
    0x00004978 jalr t9                   |         t9 ();
    0x0000497c move s0, v0               |         s0 = v0;
    0x00004980 lw gp, 0x20(fp)           |         gp = *(var_20h);
                                         |         if (v0 >= 0) {
    0x00004984 bgez v0, 0x4b90           |             goto label_16;
                                         |         }
    0x00004988 addiu v0, zero, -2        |         v0 = -2;
    0x0000498c lw t9, -0x7d88(gp)        |         t9 = sym.imp.snd_ctl_pcm_next_device;
    0x00004990 beq s0, v0, 0x4910        |         
                                         |     } while (s0 == v0);
    0x00004994 lw v0, 0x4c(fp)           |     v0 = *(arg_4ch);
    0x00004998 lw s2, -0x7e24(gp)        |     s2 = *((gp - 8073));
    0x0000499c lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x000049a0 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x000049a4 addiu v0, zero, 0x12d     |     v0 = 0x12d;
    0x000049a8 lw a0, (s2)               |     a0 = *(s2);
    0x000049ac sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000049b0 lw v0, 0x54(fp)           |     v0 = *(arg_54h);
    0x000049b4 lw a2, 0x50(fp)           |     a2 = *(arg_50h);
    0x000049b8 addiu a1, zero, 1         |     a1 = 1;
    0x000049bc sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x000049c0 jalr t9                   |     t9 ();
    0x000049c4 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x000049c8 move a0, s0               |     a0 = s0;
    0x000049cc lw s7, 0x64(fp)           |     s7 = *(arg_64h);
    0x000049d0 lw t9, -0x7e3c(gp)        |     t9 = sym.imp.snd_strerror;
    0x000049d4 lw s0, (s2)               |     s0 = *(s2);
    0x000049d8 jalr t9                   |     t9 ();
    0x000049dc lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x000049e0 move a3, s7               |     a3 = s7;
    0x000049e4 addiu a1, zero, 1         |     a1 = 1;
    0x000049e8 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x000049ec lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.control_digital_audio_info___i_:__s */
    0x000049f0 addiu a2, a2, 0x2c10      |     a2 += 0x2c10;
    0x000049f4 move a0, s0               |     a0 = s0;
    0x000049f8 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x000049fc jalr t9                   |     t9 ();
    0x00004a00 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004a04 lw a1, (s2)               |     a1 = *(s2);
    0x00004a08 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x00004a0c addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00004a10 jalr t9                   |     t9 ();
    0x00004a14 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004a18 lw a0, 0x60(fp)           |     a0 = *(arg_60h);
    0x00004a1c lw t9, -0x7d88(gp)        |     t9 = sym.imp.snd_ctl_pcm_next_device;
    0x00004a20 move a1, s5               |     a1 = s5;
    0x00004a24 jalr t9                   |     t9 ();
    0x00004a28 lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (v0 >= 0) {
    0x00004a2c bgez v0, 0x4924           |         goto label_0;
                                         |     }
                                         | label_14:
    0x00004a30 lw v0, 0x4c(fp)           |     v0 = *(arg_4ch);
    0x00004a34 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x00004a38 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00004a3c lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00004a40 addiu v0, zero, 0x125     |     v0 = 0x125;
    0x00004a44 lw a0, (s0)               |     a0 = *(s0);
    0x00004a48 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00004a4c lw v0, 0x54(fp)           |     v0 = *(arg_54h);
    0x00004a50 lw a2, 0x50(fp)           |     a2 = *(arg_50h);
    0x00004a54 addiu a1, zero, 1         |     a1 = 1;
    0x00004a58 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00004a5c jalr t9                   |     t9 ();
    0x00004a60 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004a64 lw v0, 0x38(fp)           |     v0 = *(arg_38h);
    0x00004a68 lw a3, (s0)               |     a3 = *(s0);
    0x00004a6c lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00004a70 addiu a2, zero, 0x17      |     a2 = 0x17;
    0x00004a74 addiu a1, zero, 1         |     a1 = 1;
    0x00004a78 addiu a0, v0, 0x2bf8      |     a0 = v0 + 0x2bf8;
    0x00004a7c jalr t9                   |     t9 ();
    0x00004a80 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004a84 lw a1, (s0)               |     a1 = *(s0);
    0x00004a88 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x00004a8c addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00004a90 jalr t9                   |     t9 ();
    0x00004a94 lw a1, 0x68(fp)           |     a1 = *(arg_68h);
    0x00004a98 lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (a1 >= 0) {
    0x00004a9c bgez a1, 0x4930           |         goto label_1;
                                         |     }
    0x00004aa0 lw t9, -0x7dec(gp)        |     t9 = sym.imp.snd_ctl_close;
                                         | label_15:
    0x00004aa4 lw a0, 0x60(fp)           |     a0 = *(arg_60h);
    0x00004aa8 jalr t9                   |     t9 ();
    0x00004aac lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         | label_9:
    0x00004ab0 lw t9, -0x7ef8(gp)        |     t9 = sym.imp.snd_card_next;
    0x00004ab4 lw a0, 0x34(fp)           |     a0 = *(arg_34h);
    0x00004ab8 jalr t9                   |     t9 ();
    0x00004abc lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x00004ac0 bltz v0, 0x4e04           |         goto label_17;
                                         |     }
                                         | label_7:
    0x00004ac4 lw v0, 0x64(fp)           |     v0 = *(arg_64h);
    0x00004ac8 lw v1, 0x30(fp)           |     v1 = *(arg_30h);
                                         |     if (v0 >= 0) {
    0x00004acc bgez v0, 0x4894           |         goto label_2;
                                         |     }
    0x00004ad0 lw v0, 0x2c(fp)           |     v0 = *(arg_2ch);
    0x00004ad4 b 0x4b50                  |     goto label_18;
                                         | label_10:
    0x00004ad8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00004adc lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x00004ae0 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00004ae4 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00004ae8 addiu v0, zero, 0x110     |     v0 = 0x110;
    0x00004aec lw a0, (s0)               |     a0 = *(s0);
    0x00004af0 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00004af4 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00004af8 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.device_list */
    0x00004afc addiu v0, v0, 0x42a8      |     v0 += 0x42a8;
                                         |     /* str._s:__s:_d:_ */
    0x00004b00 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00004b04 addiu a1, zero, 1         |     a1 = 1;
    0x00004b08 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00004b0c jalr t9                   |     t9 ();
    0x00004b10 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004b14 lw a3, (s0)               |     a3 = *(s0);
    0x00004b18 addiu a2, zero, 0x16      |     a2 = 0x16;
    0x00004b1c lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00004b20 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00004b24 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.no_soundcards_found... */
    0x00004b28 addiu a0, a0, 0x2b78      |     a0 += 0x2b78;
                                         | label_8:
    0x00004b2c jalr t9                   |     t9 ();
    0x00004b30 nop                       |     
    0x00004b34 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004b38 lw a1, (s0)               |     a1 = *(s0);
    0x00004b3c lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x00004b40 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00004b44 jalr t9                   |     t9 ();
    0x00004b48 lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         | label_11:
    0x00004b4c lw v0, 0x2c(fp)           |     v0 = *(arg_2ch);
                                         | label_18:
    0x00004b50 lw v1, 0x8c(fp)           |     v1 = *(arg_8ch);
    0x00004b54 lw v0, (v0)               |     v0 = *(v0);
    0x00004b58 lw ra, 0xb4(fp)           |     ra = *(var_b4h);
                                         |     if (v1 != v0) {
    0x00004b5c bne v1, v0, 0x4ef4        |         goto label_19;
                                         |     }
    0x00004b60 move sp, fp               |     
    0x00004b64 lw fp, 0xb0(sp)           |     fp = *(var_b0h);
    0x00004b68 lw s7, 0xac(sp)           |     s7 = *(var_ach);
    0x00004b6c lw s6, 0xa8(sp)           |     s6 = *(var_a8h);
    0x00004b70 lw s5, 0xa4(sp)           |     s5 = *(var_a4h);
    0x00004b74 lw s4, 0xa0(sp)           |     s4 = *(var_a0h);
    0x00004b78 lw s3, 0x9c(sp)           |     s3 = *(var_9ch);
    0x00004b7c lw s2, 0x98(sp)           |     s2 = *(var_98h);
    0x00004b80 lw s1, 0x94(sp)           |     s1 = *(var_94h);
    0x00004b84 lw s0, 0x90(sp)           |     s0 = *(var_90h);
    0x00004b88 addiu sp, sp, 0xb8        |     
    0x00004b8c jr ra                     |     return v0;
                                         | label_16:
    0x00004b90 lw a2, 0x64(fp)           |     a2 = *(arg_64h);
    0x00004b94 lw s0, 0x3c(fp)           |     s0 = *(arg_3ch);
    0x00004b98 lw t9, -0x7de8(gp)        |     t9 = sym.imp.snd_ctl_card_info_get_id;
    0x00004b9c sw a2, 0x58(fp)           |     *(arg_58h) = a2;
    0x00004ba0 move a0, s0               |     a0 = s0;
    0x00004ba4 jalr t9                   |     t9 ();
    0x00004ba8 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004bac move a0, s0               |     a0 = s0;
    0x00004bb0 lw t9, -0x7d78(gp)        |     t9 = sym.imp.snd_ctl_card_info_get_name;
    0x00004bb4 sw v0, 0x5c(fp)           |     *(arg_5ch) = v0;
    0x00004bb8 jalr t9                   |     t9 ();
    0x00004bbc lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004bc0 move a0, s1               |     a0 = s1;
    0x00004bc4 lw s2, 0x68(fp)           |     s2 = *(arg_68h);
    0x00004bc8 lw t9, -0x7cf0(gp)        |     t9 = sym.imp.snd_pcm_info_get_id;
    0x00004bcc move s0, v0               |     s0 = v0;
    0x00004bd0 jalr t9                   |     t9 ();
    0x00004bd4 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004bd8 move a0, s1               |     a0 = s1;
    0x00004bdc lw t9, -0x7ccc(gp)        |     t9 = sym.imp.snd_pcm_info_get_name;
    0x00004be0 move s7, v0               |     s7 = v0;
    0x00004be4 jalr t9                   |     t9 ();
    0x00004be8 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004bec lw a3, 0x5c(fp)           |     a3 = *(arg_5ch);
    0x00004bf0 lw a2, 0x58(fp)           |     a2 = *(arg_58h);
    0x00004bf4 lw a1, -0x7fd8(gp)        |     a1 = *(gp);
    0x00004bf8 lw t9, -0x7d2c(gp)        |     t9 = sym.imp.__printf_chk;
                                         |     /* str.card__i:__s___s___device__i:__s___s__n */
    0x00004bfc addiu a1, a1, 0x2c34      |     a1 += 0x2c34;
    0x00004c00 addiu a0, zero, 1         |     a0 = 1;
    0x00004c04 sw s2, 0x14(sp)           |     *(var_14h) = s2;
    0x00004c08 sw v0, 0x1c(sp)           |     *(var_1ch_2) = v0;
    0x00004c0c sw s7, 0x18(sp)           |     *(var_18h_3) = s7;
    0x00004c10 sw s0, 0x10(sp)           |     *(var_10h_2) = s0;
    0x00004c14 jalr t9                   |     t9 ();
    0x00004c18 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004c1c lw t9, -0x7ec0(gp)        |     t9 = sym.imp.snd_pcm_info_get_subdevices_count;
    0x00004c20 move a0, s1               |     a0 = s1;
    0x00004c24 jalr t9                   |     t9 ();
    0x00004c28 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004c2c move a0, s1               |     a0 = s1;
    0x00004c30 lw t9, -0x7ecc(gp)        |     t9 = sym.imp.snd_pcm_info_get_subdevices_avail;
    0x00004c34 move s2, v0               |     s2 = v0;
    0x00004c38 jalr t9                   |     t9 ();
    0x00004c3c lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004c40 move a3, s2               |     a3 = s2;
    0x00004c44 move a2, v0               |     a2 = v0;
    0x00004c48 lw a1, -0x7fd8(gp)        |     a1 = *(gp);
    0x00004c4c lw t9, -0x7d2c(gp)        |     t9 = sym.imp.__printf_chk;
                                         |     /* str.__Subdevices:__i__i_n */
    0x00004c50 addiu a1, a1, 0x2c5c      |     a1 += 0x2c5c;
    0x00004c54 addiu a0, zero, 1         |     a0 = 1;
    0x00004c58 jalr t9                   |     t9 ();
    0x00004c5c lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (s2 <= 0) {
    0x00004c60 blez s2, 0x490c           |         goto label_3;
                                         |     }
    0x00004c64 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00004c68 move s0, zero             |     s0 = 0;
    0x00004c6c sw v0, 0x44(fp)           |     *(arg_44h) = v0;
    0x00004c70 b 0x4cac                  |     goto label_20;
                                         | label_5:
    0x00004c74 lw t9, -0x7e48(gp)        |     t9 = sym.imp.snd_pcm_info_get_subdevice_name;
    0x00004c78 move a0, s1               |     a0 = s1;
    0x00004c7c jalr t9                   |     t9 ();
    0x00004c80 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004c84 lw a1, 0x48(fp)           |     a1 = *(arg_48h);
    0x00004c88 move a3, v0               |     a3 = v0;
    0x00004c8c lw t9, -0x7d2c(gp)        |     t9 = sym.imp.__printf_chk;
    0x00004c90 move a2, s0               |     a2 = s0;
    0x00004c94 addiu a0, zero, 1         |     a0 = 1;
    0x00004c98 jalr t9                   |     t9 ();
    0x00004c9c lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         | label_6:
    0x00004ca0 addiu s0, s0, 1           |     s0++;
    0x00004ca4 lw t9, -0x7d88(gp)        |     t9 = sym.imp.snd_ctl_pcm_next_device;
                                         |     if (s0 == s2) {
    0x00004ca8 beq s0, s2, 0x4910        |         goto label_4;
                                         |     }
                                         | label_20:
    0x00004cac lw t9, -0x7f30(gp)        |     t9 = sym.imp.snd_pcm_info_set_subdevice;
    0x00004cb0 move a1, s0               |     a1 = s0;
    0x00004cb4 move a0, s1               |     a0 = s1;
    0x00004cb8 jalr t9                   |     t9 ();
    0x00004cbc lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004cc0 lw a0, 0x60(fp)           |     a0 = *(arg_60h);
    0x00004cc4 lw t9, -0x7cf8(gp)        |     t9 = sym.imp.snd_ctl_pcm_info;
    0x00004cc8 move a1, s1               |     a1 = s1;
    0x00004ccc jalr t9                   |     t9 ();
    0x00004cd0 sw v0, 0x5c(fp)           |     *(arg_5ch) = v0;
    0x00004cd4 lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (v0 >= 0) {
    0x00004cd8 bgez v0, 0x4c74           |         goto label_5;
                                         |     }
    0x00004cdc lw v0, 0x4c(fp)           |     v0 = *(arg_4ch);
    0x00004ce0 lw s7, -0x7e24(gp)        |     s7 = *((gp - 8073));
    0x00004ce4 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00004ce8 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00004cec addiu v0, zero, 0x13b     |     v0 = 0x13b;
    0x00004cf0 lw a0, (s7)               |     a0 = *(s7);
    0x00004cf4 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00004cf8 lw v0, 0x54(fp)           |     v0 = *(arg_54h);
    0x00004cfc lw a2, 0x50(fp)           |     a2 = *(arg_50h);
    0x00004d00 addiu a1, zero, 1         |     a1 = 1;
    0x00004d04 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00004d08 jalr t9                   |     t9 ();
    0x00004d0c lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004d10 lw a3, 0x64(fp)           |     a3 = *(arg_64h);
    0x00004d14 lw v1, 0x5c(fp)           |     v1 = *(arg_5ch);
    0x00004d18 lw t9, -0x7e3c(gp)        |     t9 = sym.imp.snd_strerror;
    0x00004d1c move a0, v1               |     a0 = v1;
    0x00004d20 sw a3, 0x58(fp)           |     *(arg_58h) = a3;
    0x00004d24 lw s4, (s7)               |     s4 = *(s7);
    0x00004d28 jalr t9                   |     t9 ();
    0x00004d2c lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004d30 lw v1, 0x44(fp)           |     v1 = *(arg_44h);
    0x00004d34 lw a3, 0x58(fp)           |     a3 = *(arg_58h);
    0x00004d38 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00004d3c addiu a2, v1, 0x2c74      |     a2 = v1 + 0x2c74;
    0x00004d40 addiu a1, zero, 1         |     a1 = 1;
    0x00004d44 move a0, s4               |     a0 = s4;
    0x00004d48 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00004d4c jalr t9                   |     t9 ();
    0x00004d50 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004d54 lw a1, (s7)               |     a1 = *(s7);
    0x00004d58 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x00004d5c addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00004d60 jalr t9                   |     t9 ();
    0x00004d64 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004d68 b 0x4ca0                  |     goto label_6;
                                         | label_12:
    0x00004d6c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00004d70 lw s2, -0x7e24(gp)        |     s2 = *((gp - 8073));
    0x00004d74 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00004d78 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00004d7c addiu v0, zero, 0x119     |     v0 = 0x119;
    0x00004d80 lw a0, (s2)               |     a0 = *(s2);
    0x00004d84 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00004d88 lw v0, 0x54(fp)           |     v0 = *(arg_54h);
    0x00004d8c lw a2, 0x50(fp)           |     a2 = *(arg_50h);
    0x00004d90 addiu a1, zero, 1         |     a1 = 1;
    0x00004d94 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00004d98 jalr t9                   |     t9 ();
    0x00004d9c lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004da0 move a0, s0               |     a0 = s0;
    0x00004da4 lw s5, 0x64(fp)           |     s5 = *(arg_64h);
    0x00004da8 lw t9, -0x7e3c(gp)        |     t9 = sym.imp.snd_strerror;
    0x00004dac lw s0, (s2)               |     s0 = *(s2);
    0x00004db0 jalr t9                   |     t9 ();
    0x00004db4 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004db8 move a3, s5               |     a3 = s5;
    0x00004dbc addiu a1, zero, 1         |     a1 = 1;
    0x00004dc0 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00004dc4 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.control_open___i_:__s */
    0x00004dc8 addiu a2, a2, 0x2bc0      |     a2 += 0x2bc0;
    0x00004dcc move a0, s0               |     a0 = s0;
    0x00004dd0 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00004dd4 jalr t9                   |     t9 ();
    0x00004dd8 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004ddc lw a1, (s2)               |     a1 = *(s2);
    0x00004de0 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x00004de4 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00004de8 jalr t9                   |     t9 ();
    0x00004dec lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004df0 lw t9, -0x7ef8(gp)        |     t9 = sym.imp.snd_card_next;
    0x00004df4 lw a0, 0x34(fp)           |     a0 = *(arg_34h);
    0x00004df8 jalr t9                   |     t9 ();
    0x00004dfc lw gp, 0x20(fp)           |     gp = *(var_20h);
                                         |     if (v0 >= 0) {
    0x00004e00 bgez v0, 0x4ac4           |         goto label_7;
                                         |     }
                                         | label_17:
    0x00004e04 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00004e08 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x00004e0c lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00004e10 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00004e14 addiu v0, zero, 0x145     |     v0 = 0x145;
    0x00004e18 lw a0, (s0)               |     a0 = *(s0);
    0x00004e1c sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00004e20 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00004e24 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.device_list */
    0x00004e28 addiu v0, v0, 0x42a8      |     v0 += 0x42a8;
                                         |     /* str._s:__s:_d:_ */
    0x00004e2c addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00004e30 addiu a1, zero, 1         |     a1 = 1;
    0x00004e34 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00004e38 jalr t9                   |     t9 ();
    0x00004e3c lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004e40 lw a3, (s0)               |     a3 = *(s0);
    0x00004e44 addiu a2, zero, 0xd       |     a2 = 0xd;
    0x00004e48 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00004e4c lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00004e50 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.snd_card_next */
    0x00004e54 addiu a0, a0, 0x2cbc      |     a0 += 0x2cbc;
    0x00004e58 b 0x4b2c                  |     goto label_8;
                                         | label_13:
    0x00004e5c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00004e60 lw s2, -0x7e24(gp)        |     s2 = *((gp - 8073));
    0x00004e64 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00004e68 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00004e6c addiu v0, zero, 0x11d     |     v0 = 0x11d;
    0x00004e70 lw a0, (s2)               |     a0 = *(s2);
    0x00004e74 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00004e78 lw v0, 0x54(fp)           |     v0 = *(arg_54h);
    0x00004e7c lw a2, 0x50(fp)           |     a2 = *(arg_50h);
    0x00004e80 addiu a1, zero, 1         |     a1 = 1;
    0x00004e84 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00004e88 jalr t9                   |     t9 ();
    0x00004e8c lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004e90 move a0, s0               |     a0 = s0;
    0x00004e94 lw s5, 0x64(fp)           |     s5 = *(arg_64h);
    0x00004e98 lw t9, -0x7e3c(gp)        |     t9 = sym.imp.snd_strerror;
    0x00004e9c lw s0, (s2)               |     s0 = *(s2);
    0x00004ea0 jalr t9                   |     t9 ();
    0x00004ea4 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004ea8 move a3, s5               |     a3 = s5;
    0x00004eac addiu a1, zero, 1         |     a1 = 1;
    0x00004eb0 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00004eb4 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.control_hardware_info___i_:__s */
    0x00004eb8 addiu a2, a2, 0x2bd8      |     a2 += 0x2bd8;
    0x00004ebc move a0, s0               |     a0 = s0;
    0x00004ec0 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00004ec4 jalr t9                   |     t9 ();
    0x00004ec8 lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004ecc lw a1, (s2)               |     a1 = *(s2);
    0x00004ed0 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x00004ed4 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00004ed8 jalr t9                   |     t9 ();
    0x00004edc lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004ee0 lw t9, -0x7dec(gp)        |     t9 = sym.imp.snd_ctl_close;
    0x00004ee4 lw a0, 0x60(fp)           |     a0 = *(arg_60h);
    0x00004ee8 jalr t9                   |     t9 ();
    0x00004eec lw gp, 0x20(fp)           |     gp = *(var_20h);
    0x00004ef0 b 0x4ab0                  |     goto label_9;
                                         | label_19:
    0x00004ef4 lw t9, -0x7e98(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00004ef8 jalr t9                   |     t9 ();
    0x00004efc nop                       |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0x5ad4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00005ad4 ()                  | void fcn_00005ad4 () {
    0x00005ad4 lui gp, 2                     |     
    0x00005ad8 addiu gp, gp, 0x756c          |     
    0x00005adc addu gp, gp, t9               |     gp += t9;
    0x00005ae0 addiu sp, sp, -0xe0           |     
    0x00005ae4 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00005ae8 sw s1, 0xd0(sp)               |     *(var_d0h) = s1;
    0x00005aec lw s1, -0x7e4c(gp)            |     s1 = *((gp - 8083));
    0x00005af0 sw s3, 0xd8(sp)               |     *(var_d8h) = s3;
    0x00005af4 lw s3, 0x5020(v0)             |     s3 = *((v0 + 5128));
    0x00005af8 lw v0, (s1)                   |     v0 = *(s1);
    0x00005afc lw t9, -0x7eec(gp)            |     t9 = sym.imp.__fxstat64;
    0x00005b00 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00005b04 sw s2, 0xd4(sp)               |     *(var_d4h) = s2;
    0x00005b08 sw s0, 0xcc(sp)               |     *(var_cch) = s0;
    0x00005b0c sw ra, 0xdc(sp)               |     *(var_dch) = ra;
    0x00005b10 move s2, a0                   |     s2 = a0;
    0x00005b14 move s0, a1                   |     s0 = a1;
    0x00005b18 addiu a2, sp, 0x20            |     a2 = sp + 0x20;
    0x00005b1c move a1, s3                   |     a1 = s3;
    0x00005b20 addiu a0, zero, 3             |     a0 = 3;
    0x00005b24 sw v0, 0xc4(sp)               |     *(var_c4h) = v0;
    0x00005b28 jalr t9                       |     t9 ();
    0x00005b2c nop                           |     
    0x00005b30 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x00005b34 bltz v0, 0x5c00               |         goto label_2;
                                             |     }
    0x00005b38 lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x00005b3c ori v1, zero, 0x8000          |     v1 = 0x8000;
    0x00005b40 andi v0, v0, 0xf000           |     v0 &= 0xf000;
    0x00005b44 lw v1, 0x5c(sp)               |     v1 = *(var_5ch);
                                             |     if (v0 == v1) {
    0x00005b48 beq v0, v1, 0x5b88            |         goto label_3;
                                             |     }
    0x00005b4c lw v0, (s2)                   |     v0 = *(s2);
                                             | label_0:
    0x00005b50 slt v1, v0, s0                |     v1 = (v0 < s0) ? 1 : 0;
    0x00005b54 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
                                             |     if (v1 != 0) {
    0x00005b58 bnez v1, 0x5bb8               |         goto label_4;
                                             |     }
    0x00005b5c move v0, zero                 |     v0 = 0;
                                             |     do {
                                             | label_1:
    0x00005b60 lw a0, 0xc4(sp)               |         a0 = *(var_c4h);
    0x00005b64 lw v1, (s1)                   |         v1 = *(s1);
    0x00005b68 lw ra, 0xdc(sp)               |         ra = *(var_dch);
                                             |         if (a0 != v1) {
    0x00005b6c bne a0, v1, 0x5bf4            |             goto label_5;
                                             |         }
    0x00005b70 lw s3, 0xd8(sp)               |         s3 = *(var_d8h);
    0x00005b74 lw s2, 0xd4(sp)               |         s2 = *(var_d4h);
    0x00005b78 lw s1, 0xd0(sp)               |         s1 = *(var_d0h);
    0x00005b7c lw s0, 0xcc(sp)               |         s0 = *(var_cch);
    0x00005b80 addiu sp, sp, 0xe0            |         
    0x00005b84 jr ra                         |         return v0;
                                             | label_3:
    0x00005b88 sra v0, s0, 0x1f              |         v0 = s0 >> 0x1f;
    0x00005b8c slt a0, v1, v0                |         a0 = (v1 < v0) ? 1 : 0;
    0x00005b90 addiu v0, zero, -1            |         v0 = -1;
    0x00005b94 bnel a0, zero, 0x5b60         |         
                                             |     } while (a0 == 0);
    0x00005b98 lw v0, (s2)                   |     v0 = *(s2);
                                             |     if (v1 == v0) {
    0x00005b9c bnel v1, v0, 0x5b50           |         goto label_0;
                                             |     }
    0x00005ba0 lw v0, 0x58(sp)               |     v0 = *(var_58h);
    0x00005ba4 sltu v0, v0, s0               |     v0 = (v0 < s0) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00005ba8 beql v0, zero, 0x5b50         |         goto label_0;
                                             |     }
    0x00005bac lw v0, (s2)                   |     v0 = *(s2);
    0x00005bb0 addiu v0, zero, -1            |     v0 = -1;
    0x00005bb4 b 0x5b60                      |     goto label_1;
                                             | label_4:
    0x00005bb8 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x00005bbc subu s0, s0, v0               |     __asm ("subu s0, s0, v0");
    0x00005bc0 lw a1, 0x5474(v1)             |     a1 = *((v1 + 5405));
    0x00005bc4 move a2, s0                   |     a2 = s0;
    0x00005bc8 addu a1, a1, v0               |     a1 += v0;
    0x00005bcc addiu t9, t9, 0x50b0          |     t9 += fcn.000050b0;
    0x00005bd0 move a0, s3                   |     a0 = s3;
    0x00005bd4 bal 0x50b0                    |     fcn_000050b0 ();
    0x00005bd8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s0 != v0) {
    0x00005bdc bne s0, v0, 0x5c24            |         goto label_6;
                                             |     }
    0x00005be0 lw v1, (s2)                   |     v1 = *(s2);
    0x00005be4 move v0, zero                 |     v0 = 0;
    0x00005be8 addu s0, v1, s0               |     s0 = v1 + s0;
    0x00005bec sw s0, (s2)                   |     *(s2) = s0;
    0x00005bf0 b 0x5b60                      |     goto label_1;
                                             | label_5:
    0x00005bf4 lw t9, -0x7e98(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00005bf8 jalr t9                       |     t9 ();
    0x00005bfc nop                           |     
                                             | label_2:
    0x00005c00 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x00005c04 lw t9, -0x7db0(gp)            |     t9 = sym.imp.perror;
                                             |     /* str.fstat */
    0x00005c08 addiu a0, a0, 0x2d80          |     a0 += 0x2d80;
    0x00005c0c jalr t9                       |     t9 ();
    0x00005c10 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     do {
    0x00005c14 lw t9, -0x7fd4(gp)            |         t9 = *((gp - 8181));
    0x00005c18 addiu t9, t9, 0x59bc          |         t9 += fcn.000059bc;
    0x00005c1c addiu a0, zero, 1             |         a0 = 1;
    0x00005c20 bal 0x59bc                    |         fcn_000059bc ();
                                             | label_6:
    0x00005c24 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
    0x00005c28 lw s0, -0x7e24(gp)            |         s0 = *((gp - 8073));
    0x00005c2c lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x00005c30 lw a3, 0x54b4(v0)             |         a3 = *((v0 + 5421));
    0x00005c34 addiu v0, zero, 0xb10         |         v0 = aav.0x00000b10;
    0x00005c38 lw a0, (s0)                   |         a0 = *(s0);
    0x00005c3c sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00005c40 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x00005c44 lw t9, -0x7d04(gp)            |         t9 = sym.imp.__fprintf_chk
                                             |         /* str.read_header */
    0x00005c48 addiu v0, v0, 0x429c          |         v0 += 0x429c;
                                             |         /* str._s:__s:_d:_ */
    0x00005c4c addiu a2, a2, 0x2b6c          |         a2 += 0x2b6c;
    0x00005c50 addiu a1, zero, 1             |         a1 = 1;
    0x00005c54 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00005c58 jalr t9                       |         t9 ();
    0x00005c5c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00005c60 lw a3, (s0)                   |         a3 = *(s0);
    0x00005c64 addiu a2, zero, 0xa           |         a2 = 0xa;
    0x00005c68 lw a0, -0x7fd8(gp)            |         a0 = *(gp);
    0x00005c6c lw t9, -0x7e6c(gp)            |         t9 = sym.imp.fwrite;
    0x00005c70 addiu a1, zero, 1             |         a1 = 1;
                                             |         /* str.read_error */
    0x00005c74 addiu a0, a0, 0x2d88          |         a0 += 0x2d88;
    0x00005c78 jalr t9                       |         t9 ();
    0x00005c7c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00005c80 lw a1, (s0)                   |         a1 = *(s0);
    0x00005c84 lw t9, -0x7f18(gp)            |         t9 = sym.imp._IO_putc;
    0x00005c88 addiu a0, zero, 0xa           |         a0 = 0xa;
    0x00005c8c jalr t9                       |         t9 ();
    0x00005c90 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00005c94 b 0x5c14                      |         
                                             |     } while (1);
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0x67b4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.000067b4 ()              | void fcn_000067b4 () {
    0x000067b4 lui gp, 2                 |     
    0x000067b8 addiu gp, gp, 0x688c      |     
    0x000067bc addu gp, gp, t9           |     gp += t9;
    0x000067c0 addiu sp, sp, -0x180      |     
    0x000067c4 lw v0, -0x7e4c(gp)        |     v0 = *((gp - 8083));
    0x000067c8 sw fp, 0x178(sp)          |     *(var_178h) = fp;
    0x000067cc move fp, sp               |     fp = sp;
    0x000067d0 sw ra, 0x17c(sp)          |     *(var_17ch) = ra;
    0x000067d4 sw s3, 0x164(sp)          |     *(var_164h) = s3;
    0x000067d8 sw s1, 0x15c(sp)          |     *(var_15ch) = s1;
    0x000067dc sw s0, 0x158(sp)          |     *(var_158h) = s0;
    0x000067e0 sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x000067e4 sw s7, 0x174(sp)          |     *(var_174h) = s7;
    0x000067e8 sw s6, 0x170(sp)          |     *(var_170h) = s6;
    0x000067ec sw s5, 0x16c(sp)          |     *(var_16ch) = s5;
    0x000067f0 sw s4, 0x168(sp)          |     *(var_168h) = s4;
    0x000067f4 sw s2, 0x160(sp)          |     *(var_160h) = s2;
    0x000067f8 sw v0, 0x2c(fp)           |     *(arg_2ch) = v0;
    0x000067fc lw v0, (v0)               |     v0 = *(v0);
    0x00006800 lw t9, -0x7d90(gp)        |     t9 = sym.imp.snd_pcm_hw_params_sizeof;
    0x00006804 sw v0, 0x154(fp)          |     *(arg_154h) = v0;
    0x00006808 lw s0, -0x7fdc(gp)        |     s0 = *((gp - 8183));
    0x0000680c jalr t9                   |     t9 ();
    0x00006810 nop                       |     
    0x00006814 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006818 addiu v0, v0, 7           |     v0 += 7;
    0x0000681c srl v0, v0, 3             |     v0 >>= 3;
    0x00006820 sll v0, v0, 3             |     v0 <<= 3;
    0x00006824 lw t9, -0x7d90(gp)        |     t9 = sym.imp.snd_pcm_hw_params_sizeof;
    0x00006828 subu sp, sp, v0           |     
    0x0000682c jalr t9                   |     t9 ();
    0x00006830 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006834 addiu s1, sp, 0x20        |     s1 = sp + 0x20;
    0x00006838 move a2, v0               |     a2 = v0;
    0x0000683c lw t9, -0x7d60(gp)        |     t9 = sym.imp.memset;
    0x00006840 move a1, zero             |     a1 = 0;
    0x00006844 move a0, s1               |     a0 = s1;
    0x00006848 jalr t9                   |     t9 ();
    0x0000684c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006850 lw t9, -0x7d34(gp)        |     t9 = sym.imp.snd_pcm_sw_params_sizeof;
    0x00006854 jalr t9                   |     t9 ();
    0x00006858 nop                       |     
    0x0000685c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006860 addiu v0, v0, 7           |     v0 += 7;
    0x00006864 srl v0, v0, 3             |     v0 >>= 3;
    0x00006868 sll v0, v0, 3             |     v0 <<= 3;
    0x0000686c lw t9, -0x7d34(gp)        |     t9 = sym.imp.snd_pcm_sw_params_sizeof;
    0x00006870 subu sp, sp, v0           |     
    0x00006874 jalr t9                   |     t9 ();
    0x00006878 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x0000687c addiu s3, sp, 0x20        |     s3 = sp + 0x20;
    0x00006880 move a2, v0               |     a2 = v0;
    0x00006884 lw t9, -0x7d60(gp)        |     t9 = sym.imp.memset;
    0x00006888 move a1, zero             |     a1 = 0;
    0x0000688c move a0, s3               |     a0 = s3;
    0x00006890 jalr t9                   |     t9 ();
    0x00006894 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006898 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x0000689c lw t9, -0x7cd8(gp)        |     t9 = sym.imp.snd_pcm_hw_params_any;
    0x000068a0 move a1, s1               |     a1 = s1;
    0x000068a4 jalr t9                   |     t9 ();
    0x000068a8 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 < 0) {
    0x000068ac bltz v0, 0x79bc           |         goto label_26;
                                         |     }
    0x000068b0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000068b4 lw v0, 0x5408(v0)         |     v0 = *((v0 + 5378));
    0x000068b8 lw s7, -0x7e24(gp)        |     s7 = *((gp - 8073));
                                         |     if (v0 != 0) {
    0x000068bc bnez v0, 0x730c           |         goto label_27;
                                         |     }
                                         | label_10:
    0x000068c0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000068c4 sw v0, 0x28(fp)           |     *(arg_28h) = v0;
    0x000068c8 lw v0, 0x5480(v0)         |     v0 = *((v0 + 5408));
    0x000068cc lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
                                         |     if (v0 != 0) {
    0x000068d0 bnez v0, 0x7280           |         goto label_28;
                                         |     }
    0x000068d4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000068d8 lw v0, 0x5030(v0)         |     v0 = *((v0 + 5132));
    0x000068dc lw t9, -0x7eb8(gp)        |     t9 = sym.imp.snd_pcm_hw_params_set_access;
                                         |     if (v0 != 0) {
    0x000068e0 bnez v0, 0x7014           |         goto label_29;
                                         |     }
    0x000068e4 addiu a2, zero, 4         |     a2 = 4;
    0x000068e8 move a1, s1               |     a1 = s1;
    0x000068ec jalr t9                   |     t9 ();
    0x000068f0 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         | label_1:
    0x000068f4 lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
                                         |     if (v0 < 0) {
    0x000068f8 bltz v0, 0x7a14           |         goto label_30;
                                         |     }
    0x000068fc lw t9, -0x7f50(gp)        |     t9 = sym.imp.snd_pcm_hw_params_set_format;
    0x00006900 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00006904 lw a2, 0x54a4(s6)         |     a2 = *((s6 + 5417));
    0x00006908 move a1, s1               |     a1 = s1;
    0x0000690c jalr t9                   |     t9 ();
    0x00006910 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 < 0) {
    0x00006914 bltz v0, 0x7a6c           |         goto label_31;
                                         |     }
    0x00006918 addiu s2, s6, 0x54a4      |     s2 = s6 + 0x54a4;
    0x0000691c lw t9, -0x7ed0(gp)        |     t9 = sym.imp.snd_pcm_hw_params_set_channels;
    0x00006920 lw a2, 4(s2)              |     a2 = *((s2 + 1));
    0x00006924 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00006928 move a1, s1               |     a1 = s1;
    0x0000692c jalr t9                   |     t9 ();
    0x00006930 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 < 0) {
    0x00006934 bltz v0, 0x7b6c           |         goto label_32;
                                         |     }
    0x00006938 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x0000693c lw v0, 8(s2)              |     v0 = *((s2 + 2));
    0x00006940 lw t9, -0x7ea8(gp)        |     t9 = sym.imp.snd_pcm_hw_params_set_rate_near;
    0x00006944 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00006948 move a3, zero             |     a3 = 0;
    0x0000694c addiu a2, a2, 0x54ac      |     a2 += 0x54ac;
    0x00006950 move a1, s1               |     a1 = s1;
    0x00006954 sw v0, 0x34(fp)           |     *(arg_34h) = v0;
    0x00006958 jalr t9                   |     t9 ();
    0x0000695c lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 < 0) {
    0x00006960 bltz v0, 0x7774           |         goto label_33;
                                         |     }
    0x00006964 lw t9, -0x7fc0(gp)        |     t9 = *(gp);
    0x00006968 lw a0, 0x34(fp)           |     a0 = *(arg_34h);
    0x0000696c bal 0xf9f0                |     fcn_0000f9f0 ();
    0x00006970 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006974 lw t9, -0x7fbc(gp)        |     t9 = *(gp);
    0x00006978 move a0, v0               |     a0 = v0;
    0x0000697c bal 0x11500               |     fcn_00011500 ();
    0x00006980 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006984 lw s7, 8(s2)              |     s7 = *((s2 + 2));
    0x00006988 move s4, v0               |     s4 = v0;
    0x0000698c lw t9, -0x7fb8(gp)        |     t9 = *(gp);
    0x00006990 move a0, s7               |     a0 = s7;
    0x00006994 move s5, v1               |     s5 = v1;
    0x00006998 bal 0x11460               |     fcn_00011460 ();
    0x0000699c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000069a0 move a0, s4               |     a0 = s4;
    0x000069a4 move a1, s5               |     a1 = s5;
    0x000069a8 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x000069ac lw t9, -0x7fb4(gp)        |     t9 = *(gp);
    0x000069b0 sw v0, 0x38(fp)           |     *(arg_38h) = v0;
    0x000069b4 lw a3, 0x42fc(a2)         |     a3 = *((a2 + 4287));
    0x000069b8 lw a2, 0x42f8(a2)         |     a2 = *((a2 + 4286));
    0x000069bc sw v1, 0x3c(fp)           |     *(arg_3ch) = v1;
    0x000069c0 bal 0x10d70               |     fcn_00010d70 ();
    0x000069c4 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000069c8 lw a2, 0x38(fp)           |     a2 = *(arg_38h);
    0x000069cc lw a3, 0x3c(fp)           |     a3 = *(arg_3ch);
    0x000069d0 lw t9, -0x7fb0(gp)        |     t9 = *(gp);
    0x000069d4 move a0, v0               |     a0 = v0;
    0x000069d8 move a1, v1               |     a1 = v1;
    0x000069dc bal 0x10c20               |     fcn_00010c20 ();
    0x000069e0 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 >= 0) {
    0x000069e4 bltz v0, 0x6a28           |         
    0x000069e8 lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x000069ec lw t9, -0x7fb4(gp)        |         t9 = *(gp);
    0x000069f0 move a0, s4               |         a0 = s4;
    0x000069f4 lw a2, 0x4300(v0)         |         a2 = *((v0 + 4288));
    0x000069f8 lw a3, 0x4304(v0)         |         a3 = *((v0 + 4289));
    0x000069fc move a1, s5               |         a1 = s5;
    0x00006a00 bal 0x10d70               |         fcn_00010d70 ();
    0x00006a04 lw gp, 0x20(fp)           |         gp = *(arg_20h);
    0x00006a08 lw a0, 0x38(fp)           |         a0 = *(arg_38h);
    0x00006a0c lw a1, 0x3c(fp)           |         a1 = *(arg_3ch);
    0x00006a10 lw t9, -0x7fb0(gp)        |         t9 = *(gp);
    0x00006a14 move a2, v0               |         a2 = v0;
    0x00006a18 move a3, v1               |         a3 = v1;
    0x00006a1c bal 0x10c20               |         fcn_00010c20 ();
    0x00006a20 lw gp, 0x20(fp)           |         gp = *(arg_20h);
                                         |         if (v0 >= 0) {
    0x00006a24 bgez v0, 0x6a38           |             goto label_34;
                                         |         }
                                         |     }
    0x00006a28 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00006a2c lw v0, 0x548c(v0)         |     v0 = *((v0 + 5411));
    0x00006a30 lw t9, -0x7da0(gp)        |     t9 = sym.imp.snd_pcm_name;
                                         |     if (v0 == 0) {
    0x00006a34 beqz v0, 0x7398           |         goto label_35;
                                         |     }
                                         | label_34:
    0x00006a38 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00006a3c lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
    0x00006a40 move v1, v0               |     v1 = v0;
    0x00006a44 sw v0, 0x30(fp)           |     *(arg_30h) = v0;
    0x00006a48 lw v1, 0x5460(v1)         |     v1 = *((v1 + 5400));
    0x00006a4c lw v0, 0x5468(s4)         |     v0 = *((s4 + 5402));
    0x00006a50 or v0, v0, v1             |     v0 |= v1;
    0x00006a54 lw t9, -0x7e74(gp)        |     t9 = sym.imp.snd_pcm_hw_params_get_buffer_time_max;
                                         |     if (v0 == 0) {
    0x00006a58 beqz v0, 0x7454           |         goto label_36;
                                         |     }
                                         | label_12:
    0x00006a5c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         | label_11:
    0x00006a60 lw v1, 0x546c(v0)         |     v1 = *((v0 + 5403));
    0x00006a64 lw t9, -0x7d24(gp)        |     t9 = sym.imp.snd_pcm_hw_params_set_period_time_near;
                                         |     if (v1 != 0) {
    0x00006a68 bnez v1, 0x7138           |         goto label_37;
                                         |     }
    0x00006a6c lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00006a70 lw v1, 0x5464(a2)         |     v1 = *((a2 + 5401));
    0x00006a74 lw t9, -0x7d38(gp)        |     t9 = sym.imp.snd_pcm_hw_params_set_period_size_near;
                                         |     if (v1 == 0) {
    0x00006a78 bnez v1, 0x6a98           |         
    0x00006a7c lw v1, 0x5468(s4)         |         v1 = *((s4 + 5402));
                                         |         if (v1 == 0) {
    0x00006a80 beql v1, zero, 0x7490     |             goto label_38;
                                         |         }
    0x00006a84 lw v0, 0x30(fp)           |         v0 = *(arg_30h);
    0x00006a88 srl v1, v1, 2             |         v1 >>= 2;
    0x00006a8c sw v1, 0x546c(v0)         |         *((v0 + 5403)) = v1;
                                         |         if (v1 != 0) {
    0x00006a90 bnez v1, 0x7134           |             goto label_39;
                                         |         }
                                         | label_13:
    0x00006a94 lw t9, -0x7d38(gp)        |         t9 = sym.imp.snd_pcm_hw_params_set_period_size_near;
                                         |     }
    0x00006a98 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00006a9c move a3, zero             |     a3 = 0;
    0x00006aa0 addiu a2, a2, 0x5464      |     a2 += 0x5464;
    0x00006aa4 move a1, s1               |     a1 = s1;
    0x00006aa8 jalr t9                   |     t9 ();
    0x00006aac lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         | label_4:
    0x00006ab0 lw v0, 0x5468(s4)         |     v0 = *((s4 + 5402));
                                         |     if (v0 < 0) {
    0x00006ab4 bltz v0, 0x7798           |         goto label_40;
                                         |     }
    0x00006ab8 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
                                         |     if (v0 == 0) {
    0x00006abc beqz v0, 0x7154           |         goto label_41;
                                         |     }
    0x00006ac0 lw t9, -0x7f04(gp)        |     t9 = sym.imp.snd_pcm_hw_params_set_buffer_time_near;
    0x00006ac4 move a3, zero             |     a3 = 0;
    0x00006ac8 addiu a2, s4, 0x5468      |     a2 = s4 + 0x5468;
    0x00006acc move a1, s1               |     a1 = s1;
    0x00006ad0 jalr t9                   |     t9 ();
    0x00006ad4 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         | label_5:
    0x00006ad8 lw t9, -0x7dc8(gp)        |     t9 = sym.imp.snd_pcm_hw_params_is_monotonic;
                                         |     if (v0 < 0) {
    0x00006adc bltz v0, 0x77ac           |         goto label_42;
                                         |     }
    0x00006ae0 move a0, s1               |     a0 = s1;
    0x00006ae4 jalr t9                   |     t9 ();
    0x00006ae8 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006aec move a0, s1               |     a0 = s1;
    0x00006af0 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00006af4 lw t9, -0x7d10(gp)        |     t9 = sym.imp.snd_pcm_hw_params_can_pause;
    0x00006af8 sw v0, 0x5454(v1)         |     *((v1 + 5397)) = v0;
    0x00006afc jalr t9                   |     t9 ();
    0x00006b00 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006b04 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00006b08 move a1, s1               |     a1 = s1;
    0x00006b0c lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00006b10 lw t9, -0x7d80(gp)        |     t9 = sym.imp.snd_pcm_hw_params;
    0x00006b14 sw v0, 0x544c(v1)         |     *((v1 + 5395)) = v0;
    0x00006b18 jalr t9                   |     t9 ();
    0x00006b1c lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 < 0) {
    0x00006b20 bltz v0, 0x77c0           |         goto label_43;
                                         |     }
    0x00006b24 lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
    0x00006b28 lw t9, -0x7d6c(gp)        |     t9 = sym.imp.snd_pcm_hw_params_get_period_size;
    0x00006b2c move a2, zero             |     a2 = 0;
    0x00006b30 addiu a1, s4, 0x5470      |     a1 = s4 + 0x5470;
    0x00006b34 move a0, s1               |     a0 = s1;
    0x00006b38 jalr t9                   |     t9 ();
    0x00006b3c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006b40 addiu a1, fp, 0x44        |     a1 = fp + 0x44;
    0x00006b44 lw t9, -0x7e90(gp)        |     t9 = sym.imp.snd_pcm_hw_params_get_buffer_size;
    0x00006b48 move a0, s1               |     a0 = s1;
    0x00006b4c jalr t9                   |     t9 ();
    0x00006b50 lw v1, 0x5470(s4)         |     v1 = *((s4 + 5404));
    0x00006b54 lw v0, 0x44(fp)           |     v0 = *(arg_44h);
    0x00006b58 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v1 == v0) {
    0x00006b5c beq v1, v0, 0x7844        |         goto label_44;
                                         |     }
    0x00006b60 lw t9, -0x7f58(gp)        |     t9 = sym.imp.snd_pcm_sw_params_current;
    0x00006b64 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00006b68 move a1, s3               |     a1 = s3;
    0x00006b6c jalr t9                   |     t9 ();
    0x00006b70 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 < 0) {
    0x00006b74 bltz v0, 0x78ac           |         goto label_45;
                                         |     }
    0x00006b78 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00006b7c lw s1, 0x502c(v0)         |     s1 = *((v0 + 5131));
    0x00006b80 lw t9, -0x7fb8(gp)        |     t9 = *(gp);
                                         |     if (s1 < 0) {
    0x00006b84 bltz s1, 0x7170           |         goto label_46;
                                         |     }
    0x00006b88 move a0, s7               |     a0 = s7;
    0x00006b8c bal 0x11460               |     fcn_00011460 ();
    0x00006b90 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006b94 move a0, s1               |     a0 = s1;
    0x00006b98 sw v0, 0x38(fp)           |     *(arg_38h) = v0;
    0x00006b9c lw t9, -0x7fac(gp)        |     t9 = *(gp);
    0x00006ba0 lw s1, -0x7fd8(gp)        |     s1 = *(gp);
    0x00006ba4 sw v1, 0x3c(fp)           |     *(arg_3ch) = v1;
    0x00006ba8 bal 0x11380               |     fcn_00011380 ();
    0x00006bac lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006bb0 lw t0, 0x38(fp)           |     t0 = *(arg_38h);
    0x00006bb4 lw t1, 0x3c(fp)           |     t1 = *(arg_3ch);
    0x00006bb8 lw t9, -0x7fb4(gp)        |     t9 = *(gp);
    0x00006bbc move a0, t0               |     a0 = t0;
    0x00006bc0 move a1, t1               |     a1 = t1;
    0x00006bc4 move a2, v0               |     a2 = v0;
    0x00006bc8 move a3, v1               |     a3 = v1;
    0x00006bcc bal 0x10d70               |     fcn_00010d70 ();
    0x00006bd0 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006bd4 lw a2, 0x4308(s1)         |     a2 = *((s1 + 4290));
    0x00006bd8 lw a3, 0x430c(s1)         |     a3 = *((s1 + 4291));
    0x00006bdc lw t9, -0x7fa8(gp)        |     t9 = *(gp);
    0x00006be0 move a0, v0               |     a0 = v0;
    0x00006be4 move a1, v1               |     a1 = v1;
    0x00006be8 bal 0x10460               |     fcn_00010460 ();
    0x00006bec lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006bf0 move a0, v0               |     a0 = v0;
    0x00006bf4 lw t9, -0x7fa4(gp)        |     t9 = *(gp);
    0x00006bf8 move a1, v1               |     a1 = v1;
    0x00006bfc bal 0x11310               |     fcn_00011310 ();
    0x00006c00 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006c04 move a2, v0               |     a2 = v0;
                                         | label_6:
    0x00006c08 lw t9, -0x7d84(gp)        |     t9 = sym.imp.snd_pcm_sw_params_set_avail_min;
    0x00006c0c lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00006c10 move a1, s3               |     a1 = s3;
    0x00006c14 jalr t9                   |     t9 ();
    0x00006c18 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006c1c lw s5, 0x44(fp)           |     s5 = *(arg_44h);
    0x00006c20 move a0, s7               |     a0 = s7;
    0x00006c24 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00006c28 lw t9, -0x7fb8(gp)        |     t9 = *(gp);
    0x00006c2c lw a1, 0x545c(v0)         |     a1 = *((v0 + 5399));
    0x00006c30 sw a1, 0x38(fp)           |     *(arg_38h) = a1;
                                         |     if (a1 <= 0) {
    0x00006c34 blez a1, 0x717c           |         goto label_47;
                                         |     }
    0x00006c38 bal 0x11460               |     fcn_00011460 ();
    0x00006c3c nop                       |     
    0x00006c40 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006c44 lw a1, 0x38(fp)           |     a1 = *(arg_38h);
    0x00006c48 sw v0, 0x38(fp)           |     *(arg_38h) = v0;
    0x00006c4c lw t9, -0x7fac(gp)        |     t9 = *(gp);
    0x00006c50 move a0, a1               |     a0 = a1;
    0x00006c54 sw v1, 0x3c(fp)           |     *(arg_3ch) = v1;
    0x00006c58 bal 0x11380               |     fcn_00011380 ();
    0x00006c5c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006c60 lw t2, 0x38(fp)           |     t2 = *(arg_38h);
    0x00006c64 lw t3, 0x3c(fp)           |     t3 = *(arg_3ch);
    0x00006c68 lw t9, -0x7fb4(gp)        |     t9 = *(gp);
    0x00006c6c move a2, v0               |     a2 = v0;
    0x00006c70 move a3, v1               |     a3 = v1;
    0x00006c74 move a0, t2               |     a0 = t2;
    0x00006c78 move a1, t3               |     a1 = t3;
    0x00006c7c bal 0x10d70               |     fcn_00010d70 ();
    0x00006c80 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006c84 lw a2, 0x4308(s1)         |     a2 = *((s1 + 4290));
    0x00006c88 lw a3, 0x430c(s1)         |     a3 = *((s1 + 4291));
    0x00006c8c lw t9, -0x7fa8(gp)        |     t9 = *(gp);
    0x00006c90 move a0, v0               |     a0 = v0;
    0x00006c94 move a1, v1               |     a1 = v1;
                                         | label_7:
    0x00006c98 jalr t9                   |     t9 ();
    0x00006c9c nop                       |     
    0x00006ca0 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006ca4 move a0, v0               |     a0 = v0;
    0x00006ca8 lw t9, -0x7fa4(gp)        |     t9 = *(gp);
    0x00006cac move a1, v1               |     a1 = v1;
    0x00006cb0 bal 0x11310               |     fcn_00011310 ();
    0x00006cb4 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 == 0) {
    0x00006cb8 bnez v0, 0x6cc0           |         
    0x00006cbc addiu v0, zero, 1         |         v0 = 1;
                                         |     }
    0x00006cc0 sltu a2, s5, v0           |     a2 = (s5 < v0) ? 1 : 0;
    0x00006cc4 lw t9, -0x7f64(gp)        |     t9 = sym.imp.snd_pcm_sw_params_set_start_threshold;
                                         |     if (a2 != 0) {
    0x00006cc8 movz s5, v0, a2           |         s5 = v0;
                                         |     }
    0x00006ccc lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00006cd0 move a2, s5               |     a2 = s5;
    0x00006cd4 move a1, s3               |     a1 = s3;
    0x00006cd8 jalr t9                   |     t9 ();
    0x00006cdc lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 < 0) {
    0x00006ce0 bltz v0, 0x7904           |         goto label_48;
                                         |     }
    0x00006ce4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00006ce8 lw t9, -0x7fb8(gp)        |     t9 = *(gp);
    0x00006cec move a0, s7               |     a0 = s7;
    0x00006cf0 lw s7, 0x5458(v0)         |     s7 = *((v0 + 5398));
    0x00006cf4 bal 0x11460               |     fcn_00011460 ();
    0x00006cf8 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006cfc move a0, s7               |     a0 = s7;
    0x00006d00 sw v0, 0x38(fp)           |     *(arg_38h) = v0;
    0x00006d04 lw t9, -0x7fac(gp)        |     t9 = *(gp);
    0x00006d08 sw v1, 0x3c(fp)           |     *(arg_3ch) = v1;
    0x00006d0c bal 0x11380               |     fcn_00011380 ();
    0x00006d10 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006d14 lw t0, 0x38(fp)           |     t0 = *(arg_38h);
    0x00006d18 lw t1, 0x3c(fp)           |     t1 = *(arg_3ch);
    0x00006d1c lw t9, -0x7fb4(gp)        |     t9 = *(gp);
    0x00006d20 move a0, t0               |     a0 = t0;
    0x00006d24 move a1, t1               |     a1 = t1;
    0x00006d28 move a2, v0               |     a2 = v0;
    0x00006d2c move a3, v1               |     a3 = v1;
    0x00006d30 bal 0x10d70               |     fcn_00010d70 ();
    0x00006d34 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006d38 lw a2, 0x4308(s1)         |     a2 = *((s1 + 4290));
    0x00006d3c lw a3, 0x430c(s1)         |     a3 = *((s1 + 4291));
    0x00006d40 lw t9, -0x7fa8(gp)        |     t9 = *(gp);
    0x00006d44 move a0, v0               |     a0 = v0;
    0x00006d48 move a1, v1               |     a1 = v1;
    0x00006d4c bal 0x10460               |     fcn_00010460 ();
    0x00006d50 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (s7 <= 0) {
    0x00006d54 blez s7, 0x721c           |         goto label_49;
                                         |     }
    0x00006d58 lw t9, -0x7fa4(gp)        |     t9 = *(gp);
    0x00006d5c move a0, v0               |     a0 = v0;
    0x00006d60 move a1, v1               |     a1 = v1;
    0x00006d64 bal 0x11310               |     fcn_00011310 ();
    0x00006d68 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006d6c move a2, v0               |     a2 = v0;
                                         | label_8:
    0x00006d70 lw t9, -0x7e40(gp)        |     t9 = sym.imp.snd_pcm_sw_params_set_stop_threshold;
    0x00006d74 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00006d78 move a1, s3               |     a1 = s3;
    0x00006d7c jalr t9                   |     t9 ();
    0x00006d80 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 < 0) {
    0x00006d84 bltz v0, 0x7918           |         goto label_50;
                                         |     }
    0x00006d88 lw t9, -0x7df0(gp)        |     t9 = sym.imp.snd_pcm_sw_params;
    0x00006d8c lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00006d90 move a1, s3               |     a1 = s3;
    0x00006d94 jalr t9                   |     t9 ();
    0x00006d98 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 < 0) {
    0x00006d9c bltz v0, 0x792c           |         goto label_51;
                                         |     }
    0x00006da0 lw s1, 4(s2)              |     s1 = *((s2 + 1));
    0x00006da4 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00006da8 addiu v0, s1, 7           |     v0 = s1 + 7;
    0x00006dac srl v0, v0, 3             |     v0 >>= 3;
    0x00006db0 sll v0, v0, 3             |     v0 <<= 3;
    0x00006db4 lw s3, 0x53f4(v1)         |     s3 = *((v1 + 5373));
    0x00006db8 sw sp, 0x38(fp)           |     
    0x00006dbc subu sp, sp, v0           |     
    0x00006dc0 addiu s5, sp, 0x20        |     s5 = sp + 0x20;
                                         |     if (s3 == 0) {
    0x00006dc4 beqz s3, 0x7108           |         goto label_52;
                                         |     }
    0x00006dc8 lw v0, (s3)               |     v0 = *(s3);
    0x00006dcc lw t9, -0x7eac(gp)        |     t9 = sym.imp.snd_pcm_set_chmap;
                                         |     if (s1 != v0) {
    0x00006dd0 bne s1, v0, 0x7618        |         goto label_53;
                                         |     }
    0x00006dd4 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00006dd8 move a1, s3               |     a1 = s3;
    0x00006ddc jalr t9                   |     t9 ();
    0x00006de0 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 == 0) {
    0x00006de4 beqz v0, 0x7108           |         goto label_52;
                                         |     }
    0x00006de8 lw t9, -0x7cd0(gp)        |     t9 = sym.imp.snd_pcm_get_chmap;
    0x00006dec lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00006df0 jalr t9                   |     t9 ();
    0x00006df4 move s7, v0               |     s7 = v0;
    0x00006df8 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 == 0) {
    0x00006dfc beqz v0, 0x75ec           |         goto label_54;
                                         |     }
    0x00006e00 lw v0, (s3)               |     v0 = *(s3);
    0x00006e04 lw a2, (s7)               |     a2 = *(s7);
    0x00006e08 lw t9, -0x7cf4(gp)        |     t9 = sym.imp.memcmp;
                                         |     if (a2 == v0) {
    0x00006e0c bne a2, v0, 0x6e2c        |         
    0x00006e10 addiu a2, a2, 1           |         a2++;
    0x00006e14 sll a2, a2, 2             |         a2 <<= 2;
    0x00006e18 move a1, s3               |         a1 = s3;
    0x00006e1c move a0, s7               |         a0 = s7;
    0x00006e20 jalr t9                   |         t9 ();
    0x00006e24 lw gp, 0x20(fp)           |         gp = *(arg_20h);
                                         |         if (v0 == 0) {
    0x00006e28 beqz v0, 0x6ef8           |             goto label_55;
                                         |         }
                                         |     }
    0x00006e2c lw t9, -0x7d40(gp)        |     t9 = sym.imp.calloc;
    0x00006e30 lw a0, 4(s2)              |     a0 = *((s2 + 1));
    0x00006e34 addiu a1, zero, 4         |     a1 = 4;
    0x00006e38 jalr t9                   |     t9 ();
    0x00006e3c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006e40 move t0, v0               |     t0 = v0;
    0x00006e44 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00006e48 sw t0, 0x53f0(v0)         |     *((v0 + 5372)) = t0;
                                         |     if (t0 == 0) {
    0x00006e4c beqz t0, 0x7694           |         goto label_56;
                                         |     }
    0x00006e50 lw t9, -0x7d60(gp)        |     t9 = sym.imp.memset;
    0x00006e54 sw t0, 0x34(fp)           |     *(arg_34h) = t0;
    0x00006e58 move a0, s5               |     a0 = s5;
    0x00006e5c move a2, s1               |     a2 = s1;
    0x00006e60 move a1, zero             |     a1 = 0;
    0x00006e64 jalr t9                   |     t9 ();
    0x00006e68 lw a0, (s7)               |     a0 = *(s7);
    0x00006e6c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006e70 lw t0, 0x34(fp)           |     t0 = *(arg_34h);
                                         |     if (a0 == 0) {
    0x00006e74 beqz a0, 0x6ef8           |         goto label_55;
                                         |     }
    0x00006e78 addiu t3, s7, 4           |     t3 = s7 + 4;
    0x00006e7c move v0, t0               |     v0 = t0;
    0x00006e80 addiu a1, s3, 4           |     a1 = s3 + 4;
    0x00006e84 move t0, t3               |     t0 = t3;
    0x00006e88 move s1, zero             |     s1 = 0;
    0x00006e8c addiu t4, zero, 1         |     t4 = 1;
                                         | label_0:
    0x00006e90 lw t1, (a1)               |     t1 = *(a1);
    0x00006e94 lw v1, (t0)               |     v1 = *(t0);
    0x00006e98 addu v1, s5, s1           |     v1 = s5 + s1;
                                         |     if (t1 == v1) {
    0x00006e9c beq t1, v1, 0x7028        |         goto label_57;
                                         |     }
    0x00006ea0 move a2, t3               |     a2 = t3;
                                         |     if (a0 == 0) {
    0x00006ea4 beqz a0, 0x7048           |         goto label_58;
                                         |     }
    0x00006ea8 move v1, zero             |     v1 = 0;
                                         |     do {
    0x00006eac addu t2, s5, v1           |         t2 = s5 + v1;
    0x00006eb0 lb t5, (t2)               |         t5 = *(t2);
    0x00006eb4 addiu v1, v1, 1           |         v1++;
                                         |         if (t5 != 0) {
    0x00006eb8 bnel t5, zero, 0x6ecc     |             
    0x00006ebc lw t5, (a2)               |             t5 = *(a2);
                                         |             if (t1 == t5) {
    0x00006ec0 beql t1, t5, 0x7038       |                 goto label_59;
                                         |             }
    0x00006ec4 sw v1, (v0)               |             *(v0) = v1;
    0x00006ec8 addiu v1, v1, 1           |             v1++;
                                         |         }
    0x00006ecc addiu a2, a2, 4           |         a2 += 4;
    0x00006ed0 bne a0, v1, 0x6eac        |         
                                         |     } while (a0 != v1);
    0x00006ed4 sltu v1, v1, a0           |     v1 = (v1 < a0) ? 1 : 0;
                                         |     if (v1 == 0) {
    0x00006ed8 beql v1, zero, 0x704c     |         goto label_60;
                                         |     }
    0x00006edc lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         | label_2:
    0x00006ee0 addiu s1, s1, 1           |     s1++;
    0x00006ee4 sltu v1, s1, a0           |     v1 = (s1 < a0) ? 1 : 0;
    0x00006ee8 addiu a1, a1, 4           |     a1 += 4;
    0x00006eec addiu t0, t0, 4           |     t0 += 4;
    0x00006ef0 addiu v0, v0, 4           |     v0 += 4;
                                         |     if (v1 != 0) {
    0x00006ef4 bnez v1, 0x6e90           |         goto label_0;
                                         |     }
                                         | label_55:
    0x00006ef8 lw t9, -0x7dd4(gp)        |     t9 = sym.imp.free;
    0x00006efc move a0, s7               |     a0 = s7;
    0x00006f00 jalr t9                   |     t9 ();
    0x00006f04 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006f08 lw sp, 0x38(fp)           |     
                                         | label_18:
    0x00006f0c lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00006f10 lw v0, 0x5444(s3)         |     v0 = *((s3 + 5393));
    0x00006f14 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v0 != 0) {
    0x00006f18 bnez v0, 0x711c           |         goto label_61;
                                         |     }
                                         | label_3:
    0x00006f1c lw t9, -0x7e70(gp)        |     t9 = sym.imp.snd_pcm_format_physical_width;
    0x00006f20 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00006f24 lw a0, 0x54a4(s6)         |     a0 = *((s6 + 5417));
    0x00006f28 jalr t9                   |     t9 ();
    0x00006f2c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006f30 lw a0, 0x54a4(s6)         |     a0 = *((s6 + 5417));
    0x00006f34 lw t9, -0x7df8(gp)        |     t9 = sym.imp.snd_pcm_format_width;
    0x00006f38 sw v0, 0x5434(s1)         |     *((s1 + 5389)) = v0;
    0x00006f3c jalr t9                   |     t9 ();
    0x00006f40 lw a0, 0x5434(s1)         |     a0 = *((s1 + 5389));
    0x00006f44 lw a1, 4(s2)              |     a1 = *((s2 + 1));
    0x00006f48 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00006f4c mul a1, a1, a0            |     __asm ("mul a1, a1, a0");
    0x00006f50 lw v1, 0x5470(s4)         |     v1 = *((s4 + 5404));
    0x00006f54 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00006f58 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00006f5c lw t9, -0x7d20(gp)        |     t9 = sym.imp.realloc;
    0x00006f60 mul v1, a1, v1            |     __asm ("mul v1, a1, v1");
    0x00006f64 sw v0, 0x5438(a2)         |     *((a2 + 5390)) = v0;
    0x00006f68 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00006f6c lw a0, 0x5474(s1)         |     a0 = *((s1 + 5405));
    0x00006f70 sw a1, 0x5430(v0)         |     *((v0 + 5388)) = a1;
    0x00006f74 srl v0, v1, 3             |     v0 = v1 >> 3;
    0x00006f78 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00006f7c move a1, v0               |     a1 = v0;
    0x00006f80 sw v0, 0x542c(v1)         |     *((v1 + 5387)) = v0;
    0x00006f84 jalr t9                   |     t9 ();
    0x00006f88 sw v0, 0x5474(s1)         |     *((s1 + 5405)) = v0;
    0x00006f8c lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 == 0) {
    0x00006f90 beqz v0, 0x76ec           |         goto label_62;
                                         |     }
    0x00006f94 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00006f98 addiu a0, zero, 2         |     a0 = 2;
    0x00006f9c lw v0, 0x5440(v1)         |     v0 = *((v1 + 5392));
                                         |     if (v0 == a0) {
    0x00006fa0 beql v0, a0, 0x726c       |         goto label_63;
                                         |     }
    0x00006fa4 lw a0, 4(s2)              |     a0 = *((s2 + 1));
                                         | label_9:
    0x00006fa8 lw v0, 0x28(fp)           |     v0 = *(arg_28h);
                                         | label_15:
    0x00006fac lw v0, 0x5480(v0)         |     v0 = *((v0 + 5408));
    0x00006fb0 lw v0, 0x2c(fp)           |     v0 = *(arg_2ch);
                                         |     if (v0 != 0) {
    0x00006fb4 beqz v0, 0x6fc8           |         
    0x00006fb8 lw v0, 0x5444(s3)         |         v0 = *((s3 + 5393));
    0x00006fbc lw v0, 0x5470(s4)         |         v0 = *((s4 + 5404));
                                         |         if (v0 != 0) {
    0x00006fc0 bnez v0, 0x74c8           |             goto label_64;
                                         |         }
                                         | label_16:
    0x00006fc4 lw v0, 0x2c(fp)           |         v0 = *(arg_2ch);
                                         |     }
    0x00006fc8 lw a1, 0x30(fp)           |     a1 = *(arg_30h);
    0x00006fcc lw v1, 0x154(fp)          |     v1 = *(arg_154h);
    0x00006fd0 lw a0, 0x44(fp)           |     a0 = *(arg_44h);
    0x00006fd4 lw v0, (v0)               |     v0 = *(v0);
    0x00006fd8 sw a0, 0x5460(a1)         |     *((a1 + 5400)) = a0;
                                         |     if (v1 != v0) {
    0x00006fdc bne v1, v0, 0x79b0        |         goto label_65;
                                         |     }
    0x00006fe0 move sp, fp               |     
    0x00006fe4 lw ra, 0x17c(sp)          |     ra = *(var_17ch);
    0x00006fe8 lw fp, 0x178(sp)          |     fp = *(var_178h);
    0x00006fec lw s7, 0x174(sp)          |     s7 = *(var_174h);
    0x00006ff0 lw s6, 0x170(sp)          |     s6 = *(var_170h);
    0x00006ff4 lw s5, 0x16c(sp)          |     s5 = *(var_16ch);
    0x00006ff8 lw s4, 0x168(sp)          |     s4 = *(var_168h);
    0x00006ffc lw s3, 0x164(sp)          |     s3 = *(var_164h);
    0x00007000 lw s2, 0x160(sp)          |     s2 = *(var_160h);
    0x00007004 lw s1, 0x15c(sp)          |     s1 = *(var_15ch);
    0x00007008 lw s0, 0x158(sp)          |     s0 = *(var_158h);
    0x0000700c addiu sp, sp, 0x180       |     
    0x00007010 jr ra                     |     return v0;
                                         | label_29:
    0x00007014 addiu a2, zero, 3         |     a2 = 3;
    0x00007018 move a1, s1               |     a1 = s1;
    0x0000701c jalr t9                   |     t9 ();
    0x00007020 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007024 b 0x68f4                  |     goto label_1;
                                         | label_57:
    0x00007028 sw s1, (v0)               |     *(v0) = s1;
    0x0000702c sb t4, (v1)               |     *(v1) = t4;
    0x00007030 lw a0, (s7)               |     a0 = *(s7);
    0x00007034 b 0x6ee0                  |     goto label_2;
                                         | label_59:
    0x00007038 lw a0, (s7)               |     a0 = *(s7);
    0x0000703c sltu v1, v1, a0           |     v1 = (v1 < a0) ? 1 : 0;
    0x00007040 sb t4, (t2)               |     *(t2) = t4;
                                         |     if (v1 != 0) {
    0x00007044 bnez v1, 0x6ee0           |         goto label_2;
                                         |     }
                                         | label_58:
    0x00007048 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         | label_60:
    0x0000704c lw s2, -0x7e24(gp)        |     s2 = *((gp - 8073));
    0x00007050 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00007054 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00007058 addiu v0, zero, 0x504     |     v0 = 0x504;
    0x0000705c lw a0, (s2)               |     a0 = *(s2);
    0x00007060 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00007064 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00007068 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.setup_chmap */
    0x0000706c addiu v0, v0, 0x4244      |     v0 += 0x4244;
    0x00007070 sw v0, 0x10(sp)           |     *(var_10h) = v0;
                                         |     /* str._s:__s:_d:_ */
    0x00007074 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00007078 addiu a1, zero, 1         |     a1 = 1;
    0x0000707c jalr t9                   |     t9 ();
    0x00007080 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007084 lw a0, (s2)               |     a0 = *(s2);
    0x00007088 move a3, s1               |     a3 = s1;
    0x0000708c lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00007090 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.Channel__d_doesnt_match_with_hw_parmas */
    0x00007094 addiu a2, a2, 0x30ac      |     a2 += 0x30ac;
    0x00007098 addiu a1, zero, 1         |     a1 = 1;
    0x0000709c jalr t9                   |     t9 ();
    0x000070a0 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000070a4 lw a1, (s2)               |     a1 = *(s2);
    0x000070a8 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x000070ac lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x000070b0 addiu s0, fp, 0x54        |     s0 = fp + 0x54;
    0x000070b4 jalr t9                   |     t9 ();
    0x000070b8 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000070bc move a2, s0               |     a2 = s0;
    0x000070c0 addiu a1, zero, 0x100     |     a1 = 0x100;
    0x000070c4 lw t9, -0x7e14(gp)        |     t9 = sym.imp.snd_pcm_chmap_print;
    0x000070c8 move a0, s7               |     a0 = s7;
    0x000070cc jalr t9                   |     t9 ();
    0x000070d0 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000070d4 lw a0, (s2)               |     a0 = *(s2);
    0x000070d8 move a3, s0               |     a3 = s0;
    0x000070dc lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x000070e0 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.hardware_chmap___s_n */
    0x000070e4 addiu a2, a2, 0x30d4      |     a2 += 0x30d4;
    0x000070e8 addiu a1, zero, 1         |     a1 = 1;
    0x000070ec jalr t9                   |     t9 ();
    0x000070f0 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000070f4 lw sp, 0x38(fp)           |     
                                         | label_19:
    0x000070f8 lw t9, -0x7fd4(gp)        |     t9 = *((gp - 8181));
                                         | label_24:
    0x000070fc addiu t9, t9, 0x59bc      |     t9 += fcn.000059bc;
    0x00007100 addiu a0, zero, 1         |     a0 = 1;
    0x00007104 bal 0x59bc                |     fcn_000059bc ();
                                         | label_52:
    0x00007108 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x0000710c lw v0, 0x5444(s3)         |     v0 = *((s3 + 5393));
    0x00007110 lw sp, 0x38(fp)           |     
                                         |     if (v0 == 0) {
    0x00007114 beqz v0, 0x6f1c           |         goto label_3;
                                         |     }
    0x00007118 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         | label_61:
    0x0000711c lw t9, -0x7d1c(gp)        |     t9 = sym.imp.snd_pcm_dump;
    0x00007120 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00007124 lw a1, 0x5420(v0)         |     a1 = *((v0 + 5384));
    0x00007128 jalr t9                   |     t9 ();
    0x0000712c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007130 b 0x6f1c                  |     goto label_3;
                                         | label_39:
    0x00007134 lw t9, -0x7d24(gp)        |     t9 = sym.imp.snd_pcm_hw_params_set_period_time_near;
                                         | label_37:
    0x00007138 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x0000713c move a3, zero             |     a3 = 0;
    0x00007140 addiu a2, v0, 0x546c      |     a2 = v0 + 0x546c;
    0x00007144 move a1, s1               |     a1 = s1;
    0x00007148 jalr t9                   |     t9 ();
    0x0000714c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007150 b 0x6ab0                  |     goto label_4;
                                         | label_41:
    0x00007154 lw v0, 0x30(fp)           |     v0 = *(arg_30h);
    0x00007158 lw t9, -0x7f28(gp)        |     t9 = sym.imp.snd_pcm_hw_params_set_buffer_size_near;
    0x0000715c addiu a2, v0, 0x5460      |     a2 = v0 + 0x5460;
    0x00007160 move a1, s1               |     a1 = s1;
    0x00007164 jalr t9                   |     t9 ();
    0x00007168 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x0000716c b 0x6ad8                  |     goto label_5;
                                         | label_46:
    0x00007170 lw a2, 0x5470(s4)         |     a2 = *((s4 + 5404));
    0x00007174 lw s1, -0x7fd8(gp)        |     s1 = *(gp);
    0x00007178 b 0x6c08                  |     goto label_6;
                                         | label_47:
    0x0000717c bal 0x11460               |     fcn_00011460 ();
    0x00007180 nop                       |     
    0x00007184 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007188 lw a1, 0x38(fp)           |     a1 = *(arg_38h);
    0x0000718c sw v0, 0x38(fp)           |     *(arg_38h) = v0;
    0x00007190 lw t9, -0x7fac(gp)        |     t9 = *(gp);
    0x00007194 move a0, a1               |     a0 = a1;
    0x00007198 sw v1, 0x3c(fp)           |     *(arg_3ch) = v1;
    0x0000719c bal 0x11380               |     fcn_00011380 ();
    0x000071a0 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000071a4 lw t2, 0x38(fp)           |     t2 = *(arg_38h);
    0x000071a8 lw t3, 0x3c(fp)           |     t3 = *(arg_3ch);
    0x000071ac lw t9, -0x7fb4(gp)        |     t9 = *(gp);
    0x000071b0 move a0, t2               |     a0 = t2;
    0x000071b4 move a1, t3               |     a1 = t3;
    0x000071b8 move a2, v0               |     a2 = v0;
    0x000071bc move a3, v1               |     a3 = v1;
    0x000071c0 bal 0x10d70               |     fcn_00010d70 ();
    0x000071c4 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000071c8 lw a2, 0x4308(s1)         |     a2 = *((s1 + 4290));
    0x000071cc lw a3, 0x430c(s1)         |     a3 = *((s1 + 4291));
    0x000071d0 lw t9, -0x7fa8(gp)        |     t9 = *(gp);
    0x000071d4 move a1, v1               |     a1 = v1;
    0x000071d8 move a0, v0               |     a0 = v0;
    0x000071dc bal 0x10460               |     fcn_00010460 ();
    0x000071e0 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000071e4 move a0, s5               |     a0 = s5;
    0x000071e8 sw v0, 0x38(fp)           |     *(arg_38h) = v0;
    0x000071ec lw t9, -0x7fb8(gp)        |     t9 = *(gp);
    0x000071f0 sw v1, 0x3c(fp)           |     *(arg_3ch) = v1;
    0x000071f4 bal 0x11460               |     fcn_00011460 ();
    0x000071f8 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000071fc lw t2, 0x38(fp)           |     t2 = *(arg_38h);
    0x00007200 lw t3, 0x3c(fp)           |     t3 = *(arg_3ch);
    0x00007204 move a2, v0               |     a2 = v0;
    0x00007208 lw t9, -0x7fa0(gp)        |     t9 = *(gp);
    0x0000720c move a3, v1               |     a3 = v1;
    0x00007210 move a0, t2               |     a0 = t2;
    0x00007214 move a1, t3               |     a1 = t3;
    0x00007218 b 0x6c98                  |     goto label_7;
                                         | label_49:
    0x0000721c lw t9, -0x7fb8(gp)        |     t9 = *(gp);
    0x00007220 lw a0, 0x44(fp)           |     a0 = *(arg_44h);
    0x00007224 sw v0, 0x38(fp)           |     *(arg_38h) = v0;
    0x00007228 sw v1, 0x3c(fp)           |     *(arg_3ch) = v1;
    0x0000722c bal 0x11460               |     fcn_00011460 ();
    0x00007230 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007234 lw a2, 0x38(fp)           |     a2 = *(arg_38h);
    0x00007238 lw a3, 0x3c(fp)           |     a3 = *(arg_3ch);
    0x0000723c lw t9, -0x7fa0(gp)        |     t9 = *(gp);
    0x00007240 move a0, v0               |     a0 = v0;
    0x00007244 move a1, v1               |     a1 = v1;
    0x00007248 bal 0xfaf0                |     fcn_0000faf0 ();
    0x0000724c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007250 move a0, v0               |     a0 = v0;
    0x00007254 lw t9, -0x7fa4(gp)        |     t9 = *(gp);
    0x00007258 move a1, v1               |     a1 = v1;
    0x0000725c bal 0x11310               |     fcn_00011310 ();
    0x00007260 move a2, v0               |     a2 = v0;
    0x00007264 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007268 b 0x6d70                  |     goto label_8;
                                         | label_63:
    0x0000726c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (a0 == v0) {
    0x00007270 beq a0, v0, 0x74a0        |         goto label_66;
                                         |     }
    0x00007274 addiu v0, zero, 1         |     v0 = 1;
                                         | label_14:
    0x00007278 sw v0, 0x5440(v1)         |     *((v1 + 5392)) = v0;
    0x0000727c b 0x6fa8                  |     goto label_9;
                                         | label_28:
    0x00007280 lw t9, -0x7f00(gp)        |     t9 = sym.imp.snd_pcm_access_mask_sizeof;
    0x00007284 jalr t9                   |     t9 ();
    0x00007288 nop                       |     
    0x0000728c addiu v0, v0, 7           |     v0 += 7;
    0x00007290 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007294 srl v0, v0, 3             |     v0 >>= 3;
    0x00007298 sll v0, v0, 3             |     v0 <<= 3;
    0x0000729c subu sp, sp, v0           |     
    0x000072a0 addiu s2, sp, 0x20        |     s2 = sp + 0x20;
    0x000072a4 lw t9, -0x7da8(gp)        |     t9 = sym.imp.snd_pcm_access_mask_none;
    0x000072a8 move a0, s2               |     a0 = s2;
    0x000072ac jalr t9                   |     t9 ();
    0x000072b0 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000072b4 move a1, zero             |     a1 = 0;
    0x000072b8 lw t9, -0x7dc0(gp)        |     t9 = sym.imp.snd_pcm_access_mask_set;
    0x000072bc move a0, s2               |     a0 = s2;
    0x000072c0 jalr t9                   |     t9 ();
    0x000072c4 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000072c8 addiu a1, zero, 1         |     a1 = 1;
    0x000072cc lw t9, -0x7dc0(gp)        |     t9 = sym.imp.snd_pcm_access_mask_set;
    0x000072d0 move a0, s2               |     a0 = s2;
    0x000072d4 jalr t9                   |     t9 ();
    0x000072d8 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000072dc addiu a1, zero, 2         |     a1 = 2;
    0x000072e0 lw t9, -0x7dc0(gp)        |     t9 = sym.imp.snd_pcm_access_mask_set;
    0x000072e4 move a0, s2               |     a0 = s2;
    0x000072e8 jalr t9                   |     t9 ();
    0x000072ec lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000072f0 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x000072f4 move a2, s2               |     a2 = s2;
    0x000072f8 lw t9, -0x7e00(gp)        |     t9 = sym.imp.snd_pcm_hw_params_set_access_mask;
    0x000072fc move a1, s1               |     a1 = s1;
    0x00007300 jalr t9                   |     t9 ();
    0x00007304 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007308 b 0x68f4                  |     goto label_1;
                                         | label_27:
    0x0000730c lw t9, -0x7da0(gp)        |     t9 = sym.imp.snd_pcm_name;
    0x00007310 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00007314 lw s2, (s7)               |     s2 = *(s7);
    0x00007318 jalr t9                   |     t9 ();
    0x0000731c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007320 move a0, s2               |     a0 = s2;
    0x00007324 move a3, v0               |     a3 = v0;
    0x00007328 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x0000732c lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.HW_Params_of_device___s_:_n */
    0x00007330 addiu a2, a2, 0x2e48      |     a2 += 0x2e48;
    0x00007334 lw s2, -0x7fd8(gp)        |     s2 = *(gp);
    0x00007338 addiu a1, zero, 1         |     a1 = 1;
    0x0000733c jalr t9                   |     t9 ();
    0x00007340 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007344 lw a3, (s7)               |     a3 = *(s7);
    0x00007348 addiu a2, zero, 0x15      |     a2 = 0x15;
    0x0000734c lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00007350 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str._____________________n */
    0x00007354 addiu a0, s2, 0x2e64      |     a0 = s2 + 0x2e64;
    0x00007358 jalr t9                   |     t9 ();
    0x0000735c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007360 move a0, s1               |     a0 = s1;
    0x00007364 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00007368 lw t9, -0x7d4c(gp)        |     t9 = sym.imp.snd_pcm_hw_params_dump;
    0x0000736c lw a1, 0x5420(v0)         |     a1 = *((v0 + 5384));
    0x00007370 jalr t9                   |     t9 ();
    0x00007374 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007378 lw a3, (s7)               |     a3 = *(s7);
    0x0000737c addiu a2, zero, 0x15      |     a2 = 0x15;
    0x00007380 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00007384 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str._____________________n */
    0x00007388 addiu a0, s2, 0x2e64      |     a0 = s2 + 0x2e64;
    0x0000738c jalr t9                   |     t9 ();
    0x00007390 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007394 b 0x68c0                  |     goto label_10;
                                         | label_35:
    0x00007398 lw s7, -0x7e24(gp)        |     s7 = *((gp - 8073));
    0x0000739c lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x000073a0 jalr t9                   |     t9 ();
    0x000073a4 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000073a8 lw v1, 8(s2)              |     v1 = *((s2 + 2));
    0x000073ac lw a0, (s7)               |     a0 = *(s7);
    0x000073b0 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x000073b4 sw v1, 0x10(sp)           |     *(var_10h) = v1;
    0x000073b8 lw a3, 0x34(fp)           |     a3 = *(arg_34h);
    0x000073bc lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x000073c0 move s4, v0               |     s4 = v0;
                                         |     /* str.Warning:_rate_is_not_accurate__requested___iHz__got___iHz__n */
    0x000073c4 addiu a2, a2, 0x2f24      |     a2 += 0x2f24;
    0x000073c8 addiu a1, zero, 1         |     a1 = 1;
    0x000073cc jalr t9                   |     t9 ();
    0x000073d0 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (s4 != 0) {
    0x000073d4 beqz s4, 0x7400           |         
    0x000073d8 lw t9, -0x7da0(gp)        |         t9 = sym.imp.snd_pcm_name;
    0x000073dc lw a0, 0x54b0(s0)         |         a0 = *((s0 + 5420));
    0x000073e0 jalr t9                   |         t9 ();
    0x000073e4 lw gp, 0x20(fp)           |         gp = *(arg_20h);
    0x000073e8 addiu a1, zero, 0x3a      |         a1 = 0x3a;
    0x000073ec lw t9, -0x7d3c(gp)        |         t9 = sym.imp.strchr;
    0x000073f0 move a0, v0               |         a0 = v0;
    0x000073f4 jalr t9                   |         t9 ();
    0x000073f8 lw gp, 0x20(fp)           |         gp = *(arg_20h);
                                         |         if (v0 == 0) {
    0x000073fc beqz v0, 0x75a8           |             goto label_67;
                                         |         }
                                         |     }
    0x00007400 sb zero, 0x54(fp)         |     *(arg_54h) = 0;
    0x00007404 addiu s4, fp, 0x54        |     s4 = fp + 0x54;
                                         | label_17:
    0x00007408 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x0000740c lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00007410 lw a0, (s7)               |     a0 = *(s7);
    0x00007414 move a3, s4               |     a3 = s4;
                                         |     /* str._________please__try_the_plug_plugin__s_n */
    0x00007418 addiu a2, a2, 0x2f70      |     a2 += 0x2f70;
    0x0000741c addiu a1, zero, 1         |     a1 = 1;
    0x00007420 jalr t9                   |     t9 ();
    0x00007424 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007428 lw s7, 8(s2)              |     s7 = *((s2 + 2));
    0x0000742c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00007430 lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
    0x00007434 move v1, v0               |     v1 = v0;
    0x00007438 sw v0, 0x30(fp)           |     *(arg_30h) = v0;
    0x0000743c lw v1, 0x5460(v1)         |     v1 = *((v1 + 5400));
    0x00007440 lw v0, 0x5468(s4)         |     v0 = *((s4 + 5402));
    0x00007444 or v0, v0, v1             |     v0 |= v1;
    0x00007448 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v0 != 0) {
    0x0000744c bnez v0, 0x6a60           |         goto label_11;
                                         |     }
    0x00007450 lw t9, -0x7e74(gp)        |     t9 = sym.imp.snd_pcm_hw_params_get_buffer_time_max;
                                         | label_36:
    0x00007454 move a2, zero             |     a2 = 0;
    0x00007458 addiu a1, s4, 0x5468      |     a1 = s4 + 0x5468;
    0x0000745c move a0, s1               |     a0 = s1;
    0x00007460 jalr t9                   |     t9 ();
    0x00007464 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 < 0) {
    0x00007468 bltz v0, 0x7c30           |         goto label_68;
                                         |     }
    0x0000746c lw v1, 0x5468(s4)         |     v1 = *((s4 + 5402));
    0x00007470 lui v0, 7                 |     v0 = 0x7a121;
    0x00007474 ori v0, v0, 0xa121        |     
    0x00007478 sltu v1, v1, v0           |     v1 = (v1 < v0) ? 1 : 0;
    0x0000747c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v1 == 0) {
    0x00007480 bnel v1, zero, 0x6a60     |         goto label_11;
                                         |     }
    0x00007484 addiu v0, v0, -1          |     v0 += -1;
    0x00007488 sw v0, 0x5468(s4)         |     *((s4 + 5402)) = v0;
    0x0000748c b 0x6a5c                  |     goto label_12;
                                         | label_38:
    0x00007490 lw v0, 0x5460(v0)         |     v0 = *((v0 + 5400));
    0x00007494 srl v0, v0, 2             |     v0 >>= 2;
    0x00007498 sw v0, 0x5464(a2)         |     *((a2 + 5401)) = v0;
    0x0000749c b 0x6a94                  |     goto label_13;
                                         | label_66:
    0x000074a0 lw v0, 0x5030(v0)         |     v0 = *((v0 + 5132));
    0x000074a4 addiu v0, zero, 1         |     v0 = 1;
                                         |     if (v0 == 0) {
    0x000074a8 beqz v0, 0x7278           |         goto label_14;
                                         |     }
    0x000074ac lw v0, 0x5444(s3)         |     v0 = *((s3 + 5393));
    0x000074b0 slti v0, v0, 3            |     v0 = (v0 < 3) ? 1 : 0;
    0x000074b4 lw v0, 0x28(fp)           |     v0 = *(arg_28h);
                                         |     if (v0 != 0) {
    0x000074b8 bnez v0, 0x6fac           |         goto label_15;
                                         |     }
    0x000074bc addiu v0, zero, 1         |     v0 = 1;
    0x000074c0 sw v0, 0x5440(v1)         |     *((v1 + 5392)) = v0;
    0x000074c4 b 0x6fa8                  |     goto label_9;
                                         | label_64:
    0x000074c8 lw t9, -0x7edc(gp)        |     t9 = sym.imp.snd_pcm_mmap_begin;
    0x000074cc lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x000074d0 addiu a3, fp, 0x50        |     a3 = fp + 0x50;
    0x000074d4 addiu a2, fp, 0x4c        |     a2 = fp + 0x4c;
    0x000074d8 addiu a1, fp, 0x48        |     a1 = fp + 0x48;
    0x000074dc sw v0, 0x50(fp)           |     *(arg_50h) = v0;
    0x000074e0 jalr t9                   |     t9 ();
    0x000074e4 move s1, v0               |     s1 = v0;
    0x000074e8 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 < 0) {
    0x000074ec bltz v0, 0x7bc4           |         goto label_69;
                                         |     }
    0x000074f0 lw v0, 4(s2)              |     v0 = *((s2 + 1));
    0x000074f4 lw t9, -0x7d64(gp)        |     t9 = sym.imp.snd_pcm_mmap_commit;
                                         |     if (v0 == 0) {
    0x000074f8 beqz v0, 0x7590           |         goto label_70;
                                         |     }
    0x000074fc lw s1, -0x7fd8(gp)        |     s1 = *(gp);
    0x00007500 lw s7, -0x7e24(gp)        |     s7 = *((gp - 8073));
                                         |     /* str.mmap_area__i____p__u__u___u__n */
    0x00007504 addiu v0, s1, 0x310c      |     v0 = s1 + 0x310c;
    0x00007508 move s4, zero             |     s4 = 0;
    0x0000750c move s3, zero             |     s3 = 0;
    0x00007510 sw v0, 0x28(fp)           |     *(arg_28h) = v0;
                                         |     do {
    0x00007514 lw v0, 0x48(fp)           |         v0 = *(arg_48h);
    0x00007518 lw t9, -0x7e70(gp)        |         t9 = sym.imp.snd_pcm_format_physical_width;
    0x0000751c addu v0, v0, s4           |         v0 += s4;
    0x00007520 lw a0, 0x54a4(s6)         |         a0 = *((s6 + 5417));
    0x00007524 lw a2, 4(v0)              |         a2 = *((v0 + 1));
    0x00007528 lw t0, 8(v0)              |         t0 = *((v0 + 2));
    0x0000752c sw a2, 0x34(fp)           |         *(arg_34h) = a2;
    0x00007530 sw t0, 0x38(fp)           |         *(arg_38h) = t0;
    0x00007534 lw s5, (s7)               |         s5 = *(s7);
    0x00007538 lw s1, (v0)               |         s1 = *(v0);
    0x0000753c jalr t9                   |         t9 ();
    0x00007540 lw gp, 0x20(fp)           |         gp = *(arg_20h);
    0x00007544 sw v0, 0x1c(sp)           |         *(var_1ch) = v0;
    0x00007548 lw t0, 0x38(fp)           |         t0 = *(arg_38h);
    0x0000754c lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00007550 sw t0, 0x18(sp)           |         *(var_18h) = t0;
    0x00007554 lw a2, 0x34(fp)           |         a2 = *(arg_34h);
    0x00007558 sw s1, 0x10(sp)           |         *(var_10h) = s1;
    0x0000755c sw a2, 0x14(sp)           |         *(var_14h) = a2;
    0x00007560 lw a2, 0x28(fp)           |         a2 = *(arg_28h);
    0x00007564 move a3, s3               |         a3 = s3;
    0x00007568 addiu a1, zero, 1         |         a1 = 1;
    0x0000756c move a0, s5               |         a0 = s5;
    0x00007570 jalr t9                   |         t9 ();
    0x00007574 lw v0, 4(s2)              |         v0 = *((s2 + 1));
    0x00007578 addiu s3, s3, 1           |         s3++;
    0x0000757c sltu v0, s3, v0           |         v0 = (s3 < v0) ? 1 : 0;
    0x00007580 lw gp, 0x20(fp)           |         gp = *(arg_20h);
    0x00007584 addiu s4, s4, 0xc         |         s4 += 0xc;
    0x00007588 bnez v0, 0x7514           |         
                                         |     } while (v0 != 0);
    0x0000758c lw t9, -0x7d64(gp)        |     t9 = sym.imp.snd_pcm_mmap_commit;
                                         | label_70:
    0x00007590 lw a1, 0x4c(fp)           |     a1 = *(arg_4ch);
    0x00007594 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00007598 move a2, zero             |     a2 = 0;
    0x0000759c jalr t9                   |     t9 ();
    0x000075a0 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000075a4 b 0x6fc4                  |     goto label_16;
                                         | label_67:
    0x000075a8 lw t9, -0x7da0(gp)        |     t9 = sym.imp.snd_pcm_name;
    0x000075ac lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x000075b0 addiu s4, fp, 0x54        |     s4 = fp + 0x54;
    0x000075b4 jalr t9                   |     t9 ();
    0x000075b8 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000075bc sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000075c0 addiu a3, zero, 0x40      |     a3 = 0x40;
    0x000075c4 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x000075c8 lw t9, -0x7f14(gp)        |     t9 = sym.imp.__snprintf_chk;
                                         |     /* str.__Dplug:_s_ */
    0x000075cc addiu v0, v0, 0x2f64      |     v0 += 0x2f64;
    0x000075d0 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000075d4 addiu a2, zero, 1         |     a2 = 1;
    0x000075d8 addiu a1, zero, 0x40      |     a1 = 0x40;
    0x000075dc move a0, s4               |     a0 = s4;
    0x000075e0 jalr t9                   |     t9 ();
    0x000075e4 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000075e8 b 0x7408                  |     goto label_17;
                                         | label_54:
    0x000075ec lw s7, -0x7e24(gp)        |     s7 = *((gp - 8073));
    0x000075f0 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x000075f4 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x000075f8 lw a3, (s7)               |     a3 = *(s7);
    0x000075fc addiu a2, zero, 0x23      |     a2 = 0x23;
    0x00007600 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Warning:_unable_to_get_channel_map_n */
    0x00007604 addiu a0, a0, 0x3074      |     a0 += 0x3074;
    0x00007608 jalr t9                   |     t9 ();
    0x0000760c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007610 lw sp, 0x38(fp)           |     
    0x00007614 b 0x6f0c                  |     goto label_18;
                                         | label_53:
    0x00007618 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000761c lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x00007620 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00007624 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00007628 addiu v0, zero, 0x4da     |     v0 = 0x4da;
    0x0000762c lw a0, (s0)               |     a0 = *(s0);
    0x00007630 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00007634 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00007638 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.setup_chmap */
    0x0000763c addiu v0, v0, 0x4244      |     v0 += 0x4244;
                                         |     /* str._s:__s:_d:_ */
    0x00007640 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00007644 addiu a1, zero, 1         |     a1 = 1;
    0x00007648 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000764c jalr t9                   |     t9 ();
    0x00007650 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007654 lw a3, (s0)               |     a3 = *(s0);
    0x00007658 addiu a2, zero, 0x3d      |     a2 = 0x3d;
    0x0000765c lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00007660 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00007664 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Channel_numbers_dont_match_between_hw_params_and_channel_map */
    0x00007668 addiu a0, a0, 0x3034      |     a0 += 0x3034;
                                         |     do {
    0x0000766c jalr t9                   |         t9 ();
    0x00007670 nop                       |         
    0x00007674 lw gp, 0x20(fp)           |         gp = *(arg_20h);
    0x00007678 lw a1, (s0)               |         a1 = *(s0);
    0x0000767c lw t9, -0x7f18(gp)        |         t9 = sym.imp._IO_putc;
    0x00007680 addiu a0, zero, 0xa       |         a0 = 0xa;
    0x00007684 jalr t9                   |         t9 ();
    0x00007688 lw gp, 0x20(fp)           |         gp = *(arg_20h);
    0x0000768c lw sp, 0x38(fp)           |         
    0x00007690 b 0x70f8                  |         goto label_19;
                                         | label_56:
    0x00007694 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00007698 lw s0, -0x7e24(gp)        |         s0 = *((gp - 8073));
    0x0000769c lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x000076a0 lw a3, 0x54b4(v0)         |         a3 = *((v0 + 5421));
    0x000076a4 addiu v0, zero, 0x4f0     |         v0 = 0x4f0;
    0x000076a8 lw a0, (s0)               |         a0 = *(s0);
    0x000076ac sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x000076b0 lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x000076b4 lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str.setup_chmap */
    0x000076b8 addiu v0, v0, 0x4244      |         v0 += 0x4244;
                                         |         /* str._s:__s:_d:_ */
    0x000076bc addiu a2, a2, 0x2b6c      |         a2 += 0x2b6c;
    0x000076c0 addiu a1, zero, 1         |         a1 = 1;
    0x000076c4 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000076c8 jalr t9                   |         t9 ();
    0x000076cc lw gp, 0x20(fp)           |         gp = *(arg_20h);
    0x000076d0 lw a3, (s0)               |         a3 = *(s0);
    0x000076d4 addiu a2, zero, 0x11      |         a2 = 0x11;
    0x000076d8 lw a0, -0x7fd8(gp)        |         a0 = *(gp);
    0x000076dc lw t9, -0x7e6c(gp)        |         t9 = sym.imp.fwrite;
    0x000076e0 addiu a1, zero, 1         |         a1 = 1;
                                         |         /* str.not_enough_memory */
    0x000076e4 addiu a0, a0, 0x3098      |         a0 += 0x3098;
    0x000076e8 b 0x766c                  |         
                                         |     } while (1);
                                         | label_62:
    0x000076ec lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000076f0 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x000076f4 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x000076f8 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x000076fc addiu v0, zero, 0x5b6     |     v0 = 0x5b6;
    0x00007700 lw a0, (s0)               |     a0 = *(s0);
    0x00007704 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00007708 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x0000770c lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.set_params */
    0x00007710 addiu v0, v0, 0x425c      |     v0 += 0x425c;
                                         |     /* str._s:__s:_d:_ */
    0x00007714 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00007718 addiu a1, zero, 1         |     a1 = 1;
    0x0000771c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00007720 jalr t9                   |     t9 ();
    0x00007724 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007728 lw a3, (s0)               |     a3 = *(s0);
    0x0000772c addiu a2, zero, 0x11      |     a2 = 0x11;
    0x00007730 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00007734 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00007738 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.not_enough_memory */
    0x0000773c addiu a0, a0, 0x3098      |     a0 += 0x3098;
                                         | label_23:
    0x00007740 jalr t9                   |     t9 ();
    0x00007744 nop                       |     
    0x00007748 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         | label_22:
    0x0000774c lw a1, (s0)               |     a1 = *(s0);
    0x00007750 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x00007754 addiu a0, zero, 0xa       |     a0 = 0xa;
                                         | label_21:
    0x00007758 jalr t9                   |     t9 ();
    0x0000775c nop                       |     
    0x00007760 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007764 lw t9, -0x7fd4(gp)        |     t9 = *((gp - 8181));
    0x00007768 addiu t9, t9, 0x59bc      |     t9 += fcn.000059bc;
    0x0000776c addiu a0, zero, 1         |     a0 = 1;
    0x00007770 bal 0x59bc                |     fcn_000059bc ();
                                         | label_33:
    0x00007774 lw a3, -0x7fd8(gp)        |     a3 = *(gp);
    0x00007778 lw t9, -0x7d98(gp)        |     t9 = sym.imp.__assert_fail;
                                         |     /* esilref: 'set_params' */
    0x0000777c addiu a3, a3, 0x4250      |     a3 += 0x4250;
    0x00007780 addiu a2, zero, 0x54b     |     a2 = 0x54b;
                                         |     do {
                                         | label_20:
    0x00007784 lw a1, -0x7fd8(gp)        |         a1 = *(gp);
    0x00007788 lw a0, -0x7fd8(gp)        |         a0 = *(gp);
                                         |         /* str..._.._alsa_utils_1.1.9_aplay_aplay.c */
    0x0000778c addiu a1, a1, 0x2ef0      |         a1 += 0x2ef0;
                                         |         /* str.err___0 */
    0x00007790 addiu a0, a0, 0x2f18      |         a0 += 0x2f18;
    0x00007794 jalr t9                   |         t9 ();
                                         | label_40:
    0x00007798 lw a3, -0x7fd8(gp)        |         a3 = *(gp);
    0x0000779c lw t9, -0x7d98(gp)        |         t9 = sym.imp.__assert_fail;
                                         |         /* esilref: 'set_params' */
    0x000077a0 addiu a3, a3, 0x4250      |         a3 += 0x4250;
    0x000077a4 addiu a2, zero, 0x56e     |         a2 = 0x56e;
    0x000077a8 b 0x7784                  |         
                                         |     } while (1);
                                         | label_42:
    0x000077ac lw a3, -0x7fd8(gp)        |     a3 = *(gp);
    0x000077b0 lw t9, -0x7d98(gp)        |     t9 = sym.imp.__assert_fail;
                                         |     /* esilref: 'set_params' */
    0x000077b4 addiu a3, a3, 0x4250      |     a3 += 0x4250;
    0x000077b8 addiu a2, zero, 0x576     |     a2 = 0x576;
    0x000077bc b 0x7784                  |     goto label_20;
                                         | label_43:
    0x000077c0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000077c4 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x000077c8 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x000077cc lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x000077d0 addiu v0, zero, 0x57b     |     v0 = 0x57b;
    0x000077d4 lw a0, (s0)               |     a0 = *(s0);
    0x000077d8 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000077dc lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x000077e0 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.set_params */
    0x000077e4 addiu v0, v0, 0x425c      |     v0 += 0x425c;
                                         |     /* str._s:__s:_d:_ */
    0x000077e8 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x000077ec addiu a1, zero, 1         |     a1 = 1;
    0x000077f0 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000077f4 jalr t9                   |     t9 ();
    0x000077f8 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000077fc lw a3, (s0)               |     a3 = *(s0);
    0x00007800 addiu a2, zero, 0x1c      |     a2 = 0x1c;
    0x00007804 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00007808 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x0000780c addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Unable_to_install_hw_params: */
    0x00007810 addiu a0, a0, 0x2f9c      |     a0 += 0x2f9c;
    0x00007814 jalr t9                   |     t9 ();
    0x00007818 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x0000781c lw a1, (s0)               |     a1 = *(s0);
    0x00007820 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x00007824 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00007828 jalr t9                   |     t9 ();
    0x0000782c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007830 move a0, s1               |     a0 = s1;
    0x00007834 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00007838 lw t9, -0x7d4c(gp)        |     t9 = sym.imp.snd_pcm_hw_params_dump;
    0x0000783c lw a1, 0x5420(v0)         |     a1 = *((v0 + 5384));
    0x00007840 b 0x7758                  |     goto label_21;
                                         | label_44:
    0x00007844 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00007848 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x0000784c lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00007850 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00007854 addiu v0, zero, 0x583     |     v0 = 0x583;
    0x00007858 lw a0, (s0)               |     a0 = *(s0);
    0x0000785c sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00007860 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00007864 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.set_params */
    0x00007868 addiu v0, v0, 0x425c      |     v0 += 0x425c;
                                         |     /* str._s:__s:_d:_ */
    0x0000786c addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00007870 addiu a1, zero, 1         |     a1 = 1;
    0x00007874 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00007878 jalr t9                   |     t9 ();
    0x0000787c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007880 lw v0, 0x44(fp)           |     v0 = *(arg_44h);
    0x00007884 lw a3, 0x5470(s4)         |     a3 = *((s4 + 5404));
    0x00007888 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x0000788c lw a0, (s0)               |     a0 = *(s0);
    0x00007890 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.Cant_use_period_equal_to_buffer_size___lu___lu_ */
    0x00007894 addiu a2, a2, 0x2fbc      |     a2 += 0x2fbc;
    0x00007898 addiu a1, zero, 1         |     a1 = 1;
    0x0000789c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000078a0 jalr t9                   |     t9 ();
    0x000078a4 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000078a8 b 0x774c                  |     goto label_22;
                                         | label_45:
    0x000078ac lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000078b0 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x000078b4 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x000078b8 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x000078bc addiu v0, zero, 0x588     |     v0 = 0x588;
    0x000078c0 lw a0, (s0)               |     a0 = *(s0);
    0x000078c4 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000078c8 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x000078cc lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.set_params */
    0x000078d0 addiu v0, v0, 0x425c      |     v0 += 0x425c;
                                         |     /* str._s:__s:_d:_ */
    0x000078d4 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x000078d8 addiu a1, zero, 1         |     a1 = 1;
    0x000078dc sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000078e0 jalr t9                   |     t9 ();
    0x000078e4 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000078e8 lw a3, (s0)               |     a3 = *(s0);
    0x000078ec addiu a2, zero, 0x20      |     a2 = 0x20;
    0x000078f0 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x000078f4 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x000078f8 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Unable_to_get_current_sw_params. */
    0x000078fc addiu a0, a0, 0x2ff0      |     a0 += 0x2ff0;
    0x00007900 b 0x7740                  |     goto label_23;
                                         | label_48:
    0x00007904 lw a3, -0x7fd8(gp)        |     a3 = *(gp);
    0x00007908 lw t9, -0x7d98(gp)        |     t9 = sym.imp.__assert_fail;
                                         |     /* esilref: 'set_params' */
    0x0000790c addiu a3, a3, 0x4250      |     a3 += 0x4250;
    0x00007910 addiu a2, zero, 0x59c     |     a2 = 0x59c;
    0x00007914 b 0x7784                  |     goto label_20;
                                         | label_50:
    0x00007918 lw a3, -0x7fd8(gp)        |     a3 = *(gp);
    0x0000791c lw t9, -0x7d98(gp)        |     t9 = sym.imp.__assert_fail;
                                         |     /* esilref: 'set_params' */
    0x00007920 addiu a3, a3, 0x4250      |     a3 += 0x4250;
    0x00007924 addiu a2, zero, 0x5a2     |     a2 = 0x5a2;
    0x00007928 b 0x7784                  |     goto label_20;
                                         | label_51:
    0x0000792c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00007930 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x00007934 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00007938 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x0000793c addiu v0, zero, 0x5a5     |     v0 = 0x5a5;
    0x00007940 lw a0, (s0)               |     a0 = *(s0);
    0x00007944 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00007948 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x0000794c lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.set_params */
    0x00007950 addiu v0, v0, 0x425c      |     v0 += 0x425c;
                                         |     /* str._s:__s:_d:_ */
    0x00007954 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00007958 addiu a1, zero, 1         |     a1 = 1;
    0x0000795c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00007960 jalr t9                   |     t9 ();
    0x00007964 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007968 lw a3, (s0)               |     a3 = *(s0);
    0x0000796c addiu a2, zero, 0x1c      |     a2 = 0x1c;
    0x00007970 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00007974 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00007978 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.unable_to_install_sw_params: */
    0x0000797c addiu a0, a0, 0x3014      |     a0 += 0x3014;
    0x00007980 jalr t9                   |     t9 ();
    0x00007984 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007988 lw a1, (s0)               |     a1 = *(s0);
    0x0000798c lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x00007990 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00007994 jalr t9                   |     t9 ();
    0x00007998 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x0000799c move a0, s3               |     a0 = s3;
    0x000079a0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000079a4 lw t9, -0x7e58(gp)        |     t9 = sym.imp.snd_pcm_sw_params_dump;
    0x000079a8 lw a1, 0x5420(v0)         |     a1 = *((v0 + 5384));
    0x000079ac b 0x7758                  |     goto label_21;
                                         | label_65:
    0x000079b0 lw t9, -0x7e98(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000079b4 jalr t9                   |     t9 ();
    0x000079b8 nop                       |     
                                         | label_26:
    0x000079bc lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000079c0 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x000079c4 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x000079c8 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x000079cc addiu v0, zero, 0x51e     |     v0 = 0x51e;
    0x000079d0 lw a0, (s0)               |     a0 = *(s0);
    0x000079d4 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000079d8 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x000079dc lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.set_params */
    0x000079e0 addiu v0, v0, 0x425c      |     v0 += 0x425c;
                                         |     /* str._s:__s:_d:_ */
    0x000079e4 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x000079e8 addiu a1, zero, 1         |     a1 = 1;
    0x000079ec sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000079f0 jalr t9                   |     t9 ();
    0x000079f4 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x000079f8 lw a3, (s0)               |     a3 = *(s0);
    0x000079fc addiu a2, zero, 0x3e      |     a2 = 0x3e;
    0x00007a00 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00007a04 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00007a08 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Broken_configuration_for_this_PCM:_no_configurations_available */
    0x00007a0c addiu a0, a0, 0x2e08      |     a0 += 0x2e08;
    0x00007a10 b 0x7740                  |     goto label_23;
                                         | label_30:
    0x00007a14 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00007a18 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x00007a1c lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00007a20 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00007a24 addiu v0, zero, 0x536     |     v0 = 0x536;
    0x00007a28 lw a0, (s0)               |     a0 = *(s0);
    0x00007a2c sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00007a30 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00007a34 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.set_params */
    0x00007a38 addiu v0, v0, 0x425c      |     v0 += 0x425c;
                                         |     /* str._s:__s:_d:_ */
    0x00007a3c addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00007a40 addiu a1, zero, 1         |     a1 = 1;
    0x00007a44 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00007a48 jalr t9                   |     t9 ();
    0x00007a4c lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007a50 lw a3, (s0)               |     a3 = *(s0);
    0x00007a54 addiu a2, zero, 0x19      |     a2 = 0x19;
    0x00007a58 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00007a5c lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00007a60 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Access_type_not_available */
    0x00007a64 addiu a0, a0, 0x2e7c      |     a0 += 0x2e7c;
    0x00007a68 b 0x7740                  |     goto label_23;
                                         | label_31:
    0x00007a6c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00007a70 lw s7, -0x7e24(gp)        |     s7 = *((gp - 8073));
    0x00007a74 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00007a78 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00007a7c addiu v0, zero, 0x53b     |     v0 = 0x53b;
    0x00007a80 lw a0, (s7)               |     a0 = *(s7);
    0x00007a84 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00007a88 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00007a8c lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.set_params */
    0x00007a90 addiu v0, v0, 0x425c      |     v0 += 0x425c;
                                         |     /* str._s:__s:_d:_ */
    0x00007a94 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00007a98 addiu a1, zero, 1         |     a1 = 1;
    0x00007a9c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00007aa0 jalr t9                   |     t9 ();
    0x00007aa4 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007aa8 lw a3, (s7)               |     a3 = *(s7);
    0x00007aac addiu a2, zero, 0x1b      |     a2 = 0x1b;
    0x00007ab0 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00007ab4 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00007ab8 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Sample_format_non_available */
    0x00007abc addiu a0, a0, 0x2e98      |     a0 += 0x2e98;
    0x00007ac0 jalr t9                   |     t9 ();
    0x00007ac4 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007ac8 lw a1, (s7)               |     a1 = *(s7);
    0x00007acc addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00007ad0 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x00007ad4 move s2, zero             |     s2 = 0;
    0x00007ad8 jalr t9                   |     t9 ();
    0x00007adc lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007ae0 lw a3, (s7)               |     a3 = *(s7);
    0x00007ae4 addiu a2, zero, 0x13      |     a2 = 0x13;
    0x00007ae8 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00007aec lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00007af0 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Available_formats:_n */
    0x00007af4 addiu a0, a0, 0x2eb4      |     a0 += 0x2eb4;
    0x00007af8 jalr t9                   |     t9 ();
    0x00007afc lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007b00 addiu s3, zero, 0x35      |     s3 = 0x35;
    0x00007b04 lw s4, -0x7fd8(gp)        |     s4 = *(gp);
                                         |     /* str.___s_n */
    0x00007b08 addiu s4, s4, 0x2ec8      |     s4 += 0x2ec8;
    0x00007b0c b 0x7b1c                  |     goto label_71;
                                         | label_25:
    0x00007b10 addiu s2, s2, 1           |     s2++;
    0x00007b14 lw t9, -0x7fd4(gp)        |     t9 = *((gp - 8181));
                                         |     if (s2 == s3) {
    0x00007b18 beq s2, s3, 0x70fc        |         goto label_24;
                                         |     }
                                         | label_71:
    0x00007b1c lw t9, -0x7e44(gp)        |     t9 = sym.imp.snd_pcm_hw_params_test_format;
    0x00007b20 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00007b24 move a2, s2               |     a2 = s2;
    0x00007b28 move a1, s1               |     a1 = s1;
    0x00007b2c jalr t9                   |     t9 ();
    0x00007b30 lw gp, 0x20(fp)           |     gp = *(arg_20h);
                                         |     if (v0 != 0) {
    0x00007b34 bnez v0, 0x7b10           |         goto label_25;
                                         |     }
    0x00007b38 lw t9, -0x7ec4(gp)        |     t9 = sym.imp.snd_pcm_format_name;
    0x00007b3c move a0, s2               |     a0 = s2;
    0x00007b40 lw s5, (s7)               |     s5 = *(s7);
    0x00007b44 jalr t9                   |     t9 ();
    0x00007b48 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007b4c move a3, v0               |     a3 = v0;
    0x00007b50 move a2, s4               |     a2 = s4;
    0x00007b54 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00007b58 addiu a1, zero, 1         |     a1 = 1;
    0x00007b5c move a0, s5               |     a0 = s5;
    0x00007b60 jalr t9                   |     t9 ();
    0x00007b64 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007b68 b 0x7b10                  |     goto label_25;
                                         | label_32:
    0x00007b6c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00007b70 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x00007b74 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00007b78 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00007b7c addiu v0, zero, 0x541     |     v0 = 0x541;
    0x00007b80 lw a0, (s0)               |     a0 = *(s0);
    0x00007b84 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00007b88 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00007b8c lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.set_params */
    0x00007b90 addiu v0, v0, 0x425c      |     v0 += 0x425c;
                                         |     /* str._s:__s:_d:_ */
    0x00007b94 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00007b98 addiu a1, zero, 1         |     a1 = 1;
    0x00007b9c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00007ba0 jalr t9                   |     t9 ();
    0x00007ba4 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007ba8 lw a3, (s0)               |     a3 = *(s0);
    0x00007bac addiu a2, zero, 0x1c      |     a2 = 0x1c;
    0x00007bb0 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00007bb4 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00007bb8 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Channels_count_non_available */
    0x00007bbc addiu a0, a0, 0x2ed0      |     a0 += 0x2ed0;
    0x00007bc0 b 0x7740                  |     goto label_23;
                                         | label_69:
    0x00007bc4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00007bc8 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x00007bcc lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00007bd0 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00007bd4 addiu v0, zero, 0x5c8     |     v0 = 0x5c8;
    0x00007bd8 lw a0, (s0)               |     a0 = *(s0);
    0x00007bdc sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00007be0 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00007be4 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.set_params */
    0x00007be8 addiu v0, v0, 0x425c      |     v0 += 0x425c;
                                         |     /* str._s:__s:_d:_ */
    0x00007bec addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00007bf0 addiu a1, zero, 1         |     a1 = 1;
    0x00007bf4 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00007bf8 jalr t9                   |     t9 ();
    0x00007bfc lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007c00 move a0, s1               |     a0 = s1;
    0x00007c04 lw t9, -0x7e3c(gp)        |     t9 = sym.imp.snd_strerror;
    0x00007c08 lw s1, (s0)               |     s1 = *(s0);
    0x00007c0c jalr t9                   |     t9 ();
    0x00007c10 lw gp, 0x20(fp)           |     gp = *(arg_20h);
    0x00007c14 move a3, v0               |     a3 = v0;
    0x00007c18 addiu a1, zero, 1         |     a1 = 1;
    0x00007c1c lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00007c20 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.snd_pcm_mmap_begin_problem:__s */
    0x00007c24 addiu a2, a2, 0x30ec      |     a2 += 0x30ec;
    0x00007c28 move a0, s1               |     a0 = s1;
    0x00007c2c b 0x7740                  |     goto label_23;
                                         | label_68:
    0x00007c30 lw a3, -0x7fd8(gp)        |     a3 = *(gp);
    0x00007c34 lw t9, -0x7d98(gp)        |     t9 = sym.imp.__assert_fail;
                                         |     /* esilref: 'set_params' */
    0x00007c38 addiu a3, a3, 0x4250      |     a3 += 0x4250;
    0x00007c3c addiu a2, zero, 0x55e     |     a2 = 0x55e;
    0x00007c40 b 0x7784                  |     goto label_20;
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0x7c44 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00007c44 ()              | void fcn_00007c44 () {
    0x00007c44 lui gp, 2                 |     
    0x00007c48 addiu gp, gp, 0x53fc      |     
    0x00007c4c addu gp, gp, t9           |     gp += t9;
    0x00007c50 addiu sp, sp, -0x68       |     
    0x00007c54 lw t9, -0x7dfc(gp)        |     t9 = sym.imp.snd_pcm_status_sizeof;
    0x00007c58 sw s1, 0x48(sp)           |     *(var_48h) = s1;
    0x00007c5c lw s1, -0x7e4c(gp)        |     s1 = *((gp - 8083));
    0x00007c60 sw fp, 0x60(sp)           |     *(var_60h) = fp;
    0x00007c64 move fp, sp               |     fp = sp;
    0x00007c68 lw v0, (s1)               |     v0 = *(s1);
    0x00007c6c sw ra, 0x64(sp)           |     *(var_64h) = ra;
    0x00007c70 sw s4, 0x54(sp)           |     *(var_54h) = s4;
    0x00007c74 sw s2, 0x4c(sp)           |     *(var_4ch) = s2;
    0x00007c78 sw s0, 0x44(sp)           |     *(var_44h) = s0;
    0x00007c7c sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00007c80 sw s6, 0x5c(sp)           |     *(var_5ch) = s6;
    0x00007c84 sw s5, 0x58(sp)           |     *(var_58h) = s5;
    0x00007c88 sw s3, 0x50(sp)           |     *(var_50h) = s3;
    0x00007c8c sw v0, 0x3c(fp)           |     *(arg_3ch) = v0;
    0x00007c90 lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x00007c94 jalr t9                   |     t9 ();
    0x00007c98 nop                       |     
    0x00007c9c lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00007ca0 addiu v0, v0, 7           |     v0 += 7;
    0x00007ca4 srl v0, v0, 3             |     v0 >>= 3;
    0x00007ca8 sll v0, v0, 3             |     v0 <<= 3;
    0x00007cac lw t9, -0x7dfc(gp)        |     t9 = sym.imp.snd_pcm_status_sizeof;
    0x00007cb0 subu sp, sp, v0           |     
    0x00007cb4 jalr t9                   |     t9 ();
    0x00007cb8 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00007cbc addiu s0, sp, 0x18        |     s0 = sp + 0x18;
    0x00007cc0 move a2, v0               |     a2 = v0;
    0x00007cc4 lw t9, -0x7d60(gp)        |     t9 = sym.imp.memset;
    0x00007cc8 move a1, zero             |     a1 = 0;
    0x00007ccc move a0, s0               |     a0 = s0;
    0x00007cd0 jalr t9                   |     t9 ();
    0x00007cd4 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00007cd8 lw a0, 0x54b0(s2)         |     a0 = *((s2 + 5420));
    0x00007cdc lw t9, -0x7f60(gp)        |     t9 = sym.imp.snd_pcm_status;
    0x00007ce0 move a1, s0               |     a1 = s0;
    0x00007ce4 jalr t9                   |     t9 ();
    0x00007ce8 move s4, v0               |     s4 = v0;
    0x00007cec lw gp, 0x18(fp)           |     gp = *(arg_18h);
                                         |     if (v0 < 0) {
    0x00007cf0 bltz v0, 0x8200           |         goto label_9;
                                         |     }
    0x00007cf4 lw t9, -0x7cfc(gp)        |     t9 = sym.imp.snd_pcm_status_get_state;
    0x00007cf8 move a0, s0               |     a0 = s0;
    0x00007cfc jalr t9                   |     t9 ();
    0x00007d00 addiu v1, zero, 4         |     v1 = 4;
    0x00007d04 lw gp, 0x18(fp)           |     gp = *(arg_18h);
                                         |     if (v0 != v1) {
    0x00007d08 bne v0, v1, 0x7f80        |         goto label_10;
                                         |     }
    0x00007d0c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00007d10 lw v0, 0x5448(v0)         |     v0 = *((v0 + 5394));
    0x00007d14 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v0 != 0) {
    0x00007d18 bnez v0, 0x8278           |         goto label_11;
                                         |     }
    0x00007d1c lw v0, 0x5454(v0)         |     v0 = *((v0 + 5397));
    0x00007d20 lw t9, -0x7dcc(gp)        |     t9 = sym.imp.gettimeofday;
                                         |     if (v0 != 0) {
    0x00007d24 beqz v0, 0x7dd0           |         
    0x00007d28 lw t9, -0x7e64(gp)        |         t9 = sym.imp.clock_gettime;
    0x00007d2c addiu a1, fp, 0x2c        |         a1 = fp + 0x2c;
    0x00007d30 addiu a0, zero, 1         |         a0 = 1;
    0x00007d34 jalr t9                   |         t9 ();
    0x00007d38 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00007d3c move a0, s0               |         a0 = s0;
    0x00007d40 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.snd_pcm_status_get_trigger_htstamp;
    0x00007d44 addiu a1, fp, 0x34        |         a1 = fp + 0x34;
    0x00007d48 jalr t9                   |         t9 ();
    0x00007d4c lw v0, 0x38(fp)           |         v0 = *(arg_38h);
    0x00007d50 lw s4, 0x30(fp)           |         s4 = *(arg_30h);
    0x00007d54 lw a0, 0x34(fp)           |         a0 = *(arg_34h);
    0x00007d58 subu s4, s4, v0           |         __asm ("subu s4, s4, v0");
    0x00007d5c lw v0, 0x2c(fp)           |         v0 = *(arg_2ch);
    0x00007d60 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00007d64 subu v0, v0, a0           |         __asm ("subu v0, v0, a0");
                                         |         if (s4 < 0) {
    0x00007d68 bltz s4, 0x8048           |             goto label_12;
                                         |         }
    0x00007d6c lw v1, -0x7fdc(gp)        |         v1 = *((gp - 8183));
    0x00007d70 lw s3, -0x7e24(gp)        |         s3 = *((gp - 8073));
    0x00007d74 lw v1, 0x5484(v1)         |         v1 = *((v1 + 5409));
    0x00007d78 lw s6, (s3)               |         s6 = *(s3);
                                         |         if (v1 != 0) {
    0x00007d7c bnez v1, 0x803c           |             goto label_13;
                                         |         }
                                         | label_1:
    0x00007d80 lw s5, -0x7fd8(gp)        |         s5 = *(gp);
                                         |         /* str.underrun */
    0x00007d84 addiu s5, s5, 0x312c      |         s5 += 0x312c;
                                         | label_0:
    0x00007d88 addiu a0, zero, 0x3e8     |         a0 = 0x3e8;
    0x00007d8c lw t9, -0x7fac(gp)        |         t9 = *(gp);
    0x00007d90 mul a0, v0, a0            |         __asm ("mul a0, v0, a0");
    0x00007d94 bal 0x11380               |         fcn_00011380 ();
    0x00007d98 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00007d9c move a0, s4               |         a0 = s4;
    0x00007da0 sw v0, 0x20(fp)           |         *(arg_20h) = v0;
    0x00007da4 lw t9, -0x7fac(gp)        |         t9 = *(gp);
    0x00007da8 sw v1, 0x24(fp)           |         *(arg_24h) = v1;
    0x00007dac bal 0x11380               |         fcn_00011380 ();
    0x00007db0 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00007db4 move a0, v0               |         a0 = v0;
    0x00007db8 move a1, v1               |         a1 = v1;
    0x00007dbc lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x00007dc0 lw t9, -0x7fa8(gp)        |         t9 = *(gp);
    0x00007dc4 lw a2, 0x4308(v0)         |         a2 = *((v0 + 4290));
    0x00007dc8 lw a3, 0x430c(v0)         |         a3 = *((v0 + 4291));
    0x00007dcc b 0x7e70                  |         goto label_14;
                                         |     }
    0x00007dd0 move a1, zero             |     a1 = 0;
    0x00007dd4 addiu a0, fp, 0x2c        |     a0 = fp + 0x2c;
    0x00007dd8 jalr t9                   |     t9 ();
    0x00007ddc lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00007de0 move a0, s0               |     a0 = s0;
    0x00007de4 lw t9, -0x7d68(gp)        |     t9 = sym.imp.snd_pcm_status_get_trigger_tstamp;
    0x00007de8 addiu a1, fp, 0x34        |     a1 = fp + 0x34;
    0x00007dec jalr t9                   |     t9 ();
    0x00007df0 lw v0, 0x38(fp)           |     v0 = *(arg_38h);
    0x00007df4 lw s4, 0x30(fp)           |     s4 = *(arg_30h);
    0x00007df8 lw a0, 0x34(fp)           |     a0 = *(arg_34h);
    0x00007dfc subu s4, s4, v0           |     __asm ("subu s4, s4, v0");
    0x00007e00 lw v0, 0x2c(fp)           |     v0 = *(arg_2ch);
    0x00007e04 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00007e08 subu v0, v0, a0           |     __asm ("subu v0, v0, a0");
                                         |     if (s4 < 0) {
    0x00007e0c bltz s4, 0x8074           |         goto label_15;
                                         |     }
    0x00007e10 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00007e14 lw s3, -0x7e24(gp)        |     s3 = *((gp - 8073));
    0x00007e18 lw v1, 0x5484(v1)         |     v1 = *((v1 + 5409));
    0x00007e1c lw s6, (s3)               |     s6 = *(s3);
                                         |     if (v1 == 0) {
    0x00007e20 beqz v1, 0x8030           |         goto label_3;
                                         |     }
    0x00007e24 lw s5, -0x7fd8(gp)        |     s5 = *(gp);
                                         |     /* str.overrun */
                                         | label_4:
    0x00007e28 addiu s5, s5, 0x3138      |     s5 += 0x3138;
                                         |     do {
    0x00007e2c addiu a0, zero, 0x3e8     |         a0 = 0x3e8;
    0x00007e30 lw t9, -0x7fac(gp)        |         t9 = *(gp);
    0x00007e34 mul a0, v0, a0            |         __asm ("mul a0, v0, a0");
    0x00007e38 bal 0x11380               |         fcn_00011380 ();
    0x00007e3c lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00007e40 move a0, s4               |         a0 = s4;
    0x00007e44 sw v0, 0x20(fp)           |         *(arg_20h) = v0;
    0x00007e48 lw t9, -0x7fac(gp)        |         t9 = *(gp);
    0x00007e4c sw v1, 0x24(fp)           |         *(arg_24h) = v1;
    0x00007e50 bal 0x11380               |         fcn_00011380 ();
    0x00007e54 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00007e58 move a0, v0               |         a0 = v0;
    0x00007e5c move a1, v1               |         a1 = v1;
    0x00007e60 lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x00007e64 lw t9, -0x7fa8(gp)        |         t9 = *(gp);
    0x00007e68 lw a2, 0x4310(v0)         |         a2 = *((v0 + 4292));
    0x00007e6c lw a3, 0x4314(v0)         |         a3 = *((v0 + 4293));
                                         | label_14:
    0x00007e70 bal 0x10460               |         fcn_00010460 ();
    0x00007e74 nop                       |         
    0x00007e78 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00007e7c lw t0, 0x20(fp)           |         t0 = *(arg_20h);
    0x00007e80 lw t1, 0x24(fp)           |         t1 = *(arg_24h);
    0x00007e84 lw t9, -0x7fa0(gp)        |         t9 = *(gp);
    0x00007e88 move a0, t0               |         a0 = t0;
    0x00007e8c move a1, t1               |         a1 = t1;
    0x00007e90 move a2, v0               |         a2 = v0;
    0x00007e94 move a3, v1               |         a3 = v1;
    0x00007e98 bal 0xfaf0                |         fcn_0000faf0 ();
    0x00007e9c lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00007ea0 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00007ea4 sw v1, 0x14(sp)           |         *(var_14h) = v1;
    0x00007ea8 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x00007eac lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00007eb0 move a3, s5               |         a3 = s5;
                                         |         /* str._s_____at_least__.3f_ms_long__n */
    0x00007eb4 addiu a2, a2, 0x3164      |         a2 += 0x3164;
    0x00007eb8 addiu a1, zero, 1         |         a1 = 1;
    0x00007ebc move a0, s6               |         a0 = s6;
    0x00007ec0 jalr t9                   |         t9 ();
    0x00007ec4 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00007ec8 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00007ecc lw v0, 0x5444(v0)         |         v0 = *((v0 + 5393));
    0x00007ed0 lw a0, -0x7fd8(gp)        |         a0 = *(gp);
                                         |         if (v0 != 0) {
    0x00007ed4 bnez v0, 0x80a0           |             goto label_16;
                                         |         }
                                         | label_5:
    0x00007ed8 lw t9, -0x7d30(gp)        |         t9 = sym.imp.snd_pcm_prepare;
    0x00007edc lw a0, 0x54b0(s2)         |         a0 = *((s2 + 5420));
    0x00007ee0 jalr t9                   |         t9 ();
    0x00007ee4 move s0, v0               |         s0 = v0;
    0x00007ee8 lw gp, 0x18(fp)           |         gp = *(arg_18h);
                                         |         if (v0 < 0) {
    0x00007eec bgez v0, 0x7ff4           |             
    0x00007ef0 lw v0, -0x7fdc(gp)        |             v0 = *((gp - 8183));
    0x00007ef4 lw a0, (s3)               |             a0 = *(s3);
    0x00007ef8 lw a2, -0x7fd8(gp)        |             a2 = *(gp);
    0x00007efc lw a3, 0x54b4(v0)         |             a3 = *((v0 + 5421));
    0x00007f00 addiu v0, zero, 0x66e     |             v0 = 0x66e;
    0x00007f04 sw v0, 0x14(sp)           |             *(var_14h) = v0;
    0x00007f08 lw v0, -0x7fd8(gp)        |             v0 = *(gp);
    0x00007f0c lw t9, -0x7d04(gp)        |             t9 = sym.imp.__fprintf_chk
                                         |             /* str.xrun */
    0x00007f10 addiu v0, v0, 0x4218      |             v0 += 0x4218;
                                         |             /* str._s:__s:_d:_ */
    0x00007f14 addiu a2, a2, 0x2b6c      |             a2 += 0x2b6c;
    0x00007f18 addiu a1, zero, 1         |             a1 = 1;
    0x00007f1c sw v0, 0x10(sp)           |             *(var_10h) = v0;
    0x00007f20 jalr t9                   |             t9 ();
    0x00007f24 lw gp, 0x18(fp)           |             gp = *(arg_18h);
    0x00007f28 move a0, s0               |             a0 = s0;
    0x00007f2c lw t9, -0x7e3c(gp)        |             t9 = sym.imp.snd_strerror;
    0x00007f30 lw s0, (s3)               |             s0 = *(s3);
    0x00007f34 jalr t9                   |             t9 ();
    0x00007f38 lw gp, 0x18(fp)           |             gp = *(arg_18h);
    0x00007f3c move a3, v0               |             a3 = v0;
    0x00007f40 addiu a1, zero, 1         |             a1 = 1;
    0x00007f44 lw a2, -0x7fd8(gp)        |             a2 = *(gp);
    0x00007f48 lw t9, -0x7d04(gp)        |             t9 = sym.imp.__fprintf_chk
                                         |             /* str.xrun:_prepare_error:__s */
    0x00007f4c addiu a2, a2, 0x3190      |             a2 += 0x3190;
    0x00007f50 move a0, s0               |             a0 = s0;
    0x00007f54 jalr t9                   |             t9 ();
    0x00007f58 lw gp, 0x18(fp)           |             gp = *(arg_18h);
                                         | label_7:
    0x00007f5c lw a1, (s3)               |             a1 = *(s3);
                                         | label_8:
    0x00007f60 lw t9, -0x7f18(gp)        |             t9 = sym.imp._IO_putc;
    0x00007f64 addiu a0, zero, 0xa       |             a0 = 0xa;
    0x00007f68 jalr t9                   |             t9 ();
    0x00007f6c lw gp, 0x18(fp)           |             gp = *(arg_18h);
    0x00007f70 lw t9, -0x7fd4(gp)        |             t9 = *((gp - 8181));
    0x00007f74 addiu t9, t9, 0x59bc      |             t9 += fcn.000059bc;
    0x00007f78 addiu a0, zero, 1         |             a0 = 1;
    0x00007f7c bal 0x59bc                |             fcn_000059bc ();
                                         | label_10:
    0x00007f80 lw t9, -0x7cfc(gp)        |             t9 = sym.imp.snd_pcm_status_get_state;
    0x00007f84 move a0, s0               |             a0 = s0;
    0x00007f88 jalr t9                   |             t9 ();
    0x00007f8c addiu v1, zero, 5         |             v1 = 5;
    0x00007f90 lw gp, 0x18(fp)           |             gp = *(arg_18h);
                                         |             if (v0 != v1) {
    0x00007f94 bne v0, v1, 0x8128        |                 goto label_17;
                                         |             }
    0x00007f98 lw s4, -0x7fdc(gp)        |             s4 = *((gp - 8183));
    0x00007f9c lw s3, -0x7e24(gp)        |             s3 = *((gp - 8073));
    0x00007fa0 lw v0, 0x5444(s4)         |             v0 = *((s4 + 5393));
    0x00007fa4 lw a3, (s3)               |             a3 = *(s3);
                                         |             if (v0 != 0) {
    0x00007fa8 bnez v0, 0x80d8           |                 goto label_18;
                                         |             }
    0x00007fac lw v1, -0x7fdc(gp)        |             v1 = *((gp - 8183));
    0x00007fb0 addiu v0, zero, 1         |             v0 = 1;
    0x00007fb4 lw v1, 0x5484(v1)         |             v1 = *((v1 + 5409));
    0x00007fb8 lw v0, -0x7fdc(gp)        |             v0 = *((gp - 8183));
                                         |             if (v1 != v0) {
    0x00007fbc bne v1, v0, 0x8178        |                 goto label_19;
                                         |             }
                                         | label_6:
    0x00007fc0 lw a0, -0x7fd8(gp)        |             a0 = *(gp);
    0x00007fc4 lw t9, -0x7e6c(gp)        |             t9 = sym.imp.fwrite;
    0x00007fc8 addiu a2, zero, 0x34      |             a2 = 0x34;
    0x00007fcc addiu a1, zero, 1         |             a1 = 1;
                                         |             /* str.capture_stream_format_change__attempting_recover..._n */
    0x00007fd0 addiu a0, a0, 0x31bc      |             a0 += 0x31bc;
    0x00007fd4 jalr t9                   |             t9 ();
    0x00007fd8 lw gp, 0x18(fp)           |             gp = *(arg_18h);
    0x00007fdc lw t9, -0x7d30(gp)        |             t9 = sym.imp.snd_pcm_prepare;
    0x00007fe0 lw a0, 0x54b0(s2)         |             a0 = *((s2 + 5420));
    0x00007fe4 jalr t9                   |             t9 ();
    0x00007fe8 move s0, v0               |             s0 = v0;
    0x00007fec lw gp, 0x18(fp)           |             gp = *(arg_18h);
                                         |             if (v0 < 0) {
    0x00007ff0 bltz v0, 0x8304           |                 goto label_20;
                                         |             }
                                         |         }
    0x00007ff4 lw v1, 0x3c(fp)           |         v1 = *(arg_3ch);
    0x00007ff8 lw v0, (s1)               |         v0 = *(s1);
    0x00007ffc lw ra, 0x64(fp)           |         ra = *(arg_64h);
                                         |         if (v1 != v0) {
    0x00008000 bne v1, v0, 0x81f4        |             goto label_21;
                                         |         }
    0x00008004 move sp, fp               |         
    0x00008008 lw fp, 0x60(sp)           |         fp = *(var_60h);
    0x0000800c lw s6, 0x5c(sp)           |         s6 = *(var_5ch);
    0x00008010 lw s5, 0x58(sp)           |         s5 = *(var_58h);
    0x00008014 lw s4, 0x54(sp)           |         s4 = *(var_54h);
    0x00008018 lw s3, 0x50(sp)           |         s3 = *(var_50h);
    0x0000801c lw s2, 0x4c(sp)           |         s2 = *(var_4ch);
    0x00008020 lw s1, 0x48(sp)           |         s1 = *(var_48h);
    0x00008024 lw s0, 0x44(sp)           |         s0 = *(var_44h);
    0x00008028 addiu sp, sp, 0x68        |         
    0x0000802c jr ra                     |         return v0;
                                         | label_3:
    0x00008030 lw s5, -0x7fd8(gp)        |         s5 = *(gp);
                                         |         /* str.underrun */
    0x00008034 addiu s5, s5, 0x312c      |         s5 += 0x312c;
    0x00008038 b 0x7e2c                  |         
                                         |     } while (1);
                                         | label_13:
    0x0000803c lw s5, -0x7fd8(gp)        |     s5 = *(gp);
                                         |     /* str.overrun */
                                         | label_2:
    0x00008040 addiu s5, s5, 0x3138      |     s5 += 0x3138;
    0x00008044 b 0x7d88                  |     goto label_0;
                                         | label_12:
    0x00008048 lui v1, 0x3b9a            |     v1 = 0x3b9aca00;
    0x0000804c ori v1, v1, 0xca00        |     
    0x00008050 addu s4, s4, v1           |     s4 += v1;
    0x00008054 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00008058 lw s3, -0x7e24(gp)        |     s3 = *((gp - 8073));
    0x0000805c addiu v0, v0, -1          |     v0 += -1;
    0x00008060 lw v1, 0x5484(v1)         |     v1 = *((v1 + 5409));
    0x00008064 lw s6, (s3)               |     s6 = *(s3);
                                         |     if (v1 == 0) {
    0x00008068 beqz v1, 0x7d80           |         goto label_1;
                                         |     }
    0x0000806c lw s5, -0x7fd8(gp)        |     s5 = *(gp);
    0x00008070 b 0x8040                  |     goto label_2;
                                         | label_15:
    0x00008074 lui v1, 0xf               |     v1 = 0xf0000;
    0x00008078 addiu v1, v1, 0x4240      |     
    0x0000807c addu s4, s4, v1           |     s4 += v1;
    0x00008080 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00008084 lw s3, -0x7e24(gp)        |     s3 = *((gp - 8073));
    0x00008088 addiu v0, v0, -1          |     v0 += -1;
    0x0000808c lw v1, 0x5484(v1)         |     v1 = *((v1 + 5409));
    0x00008090 lw s6, (s3)               |     s6 = *(s3);
                                         |     if (v1 == 0) {
    0x00008094 beqz v1, 0x8030           |         goto label_3;
                                         |     }
    0x00008098 lw s5, -0x7fd8(gp)        |     s5 = *(gp);
    0x0000809c b 0x7e28                  |     goto label_4;
                                         | label_16:
    0x000080a0 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x000080a4 lw a3, (s3)               |     a3 = *(s3);
    0x000080a8 addiu a2, zero, 8         |     a2 = 8;
    0x000080ac addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Status:_n */
    0x000080b0 addiu a0, a0, 0x3184      |     a0 += 0x3184;
    0x000080b4 jalr t9                   |     t9 ();
    0x000080b8 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000080bc move a0, s0               |     a0 = s0;
    0x000080c0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000080c4 lw t9, -0x7f6c(gp)        |     t9 = sym.imp.snd_pcm_status_dump;
    0x000080c8 lw a1, 0x5420(v0)         |     a1 = *((v0 + 5384));
    0x000080cc jalr t9                   |     t9 ();
    0x000080d0 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000080d4 b 0x7ed8                  |     goto label_5;
                                         | label_18:
    0x000080d8 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x000080dc lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x000080e0 addiu a2, zero, 0x12      |     a2 = 0x12;
    0x000080e4 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Status_DRAINING_:_n */
    0x000080e8 addiu a0, a0, 0x31a8      |     a0 += 0x31a8;
    0x000080ec jalr t9                   |     t9 ();
    0x000080f0 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000080f4 move a0, s0               |     a0 = s0;
    0x000080f8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000080fc lw t9, -0x7f6c(gp)        |     t9 = sym.imp.snd_pcm_status_dump;
    0x00008100 lw a1, 0x5420(v0)         |     a1 = *((v0 + 5384));
    0x00008104 jalr t9                   |     t9 ();
    0x00008108 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x0000810c addiu v0, zero, 1         |     v0 = 1;
    0x00008110 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00008114 lw v1, 0x5484(v1)         |     v1 = *((v1 + 5409));
    0x00008118 lw v0, 0x5444(s4)         |     v0 = *((s4 + 5393));
                                         |     if (v1 == v0) {
    0x0000811c bne v1, v0, 0x8134        |         
    0x00008120 lw a3, (s3)               |         a3 = *(s3);
    0x00008124 b 0x7fc0                  |         goto label_6;
                                         | label_17:
    0x00008128 lw s3, -0x7e24(gp)        |         s3 = *((gp - 8073));
    0x0000812c lw s4, -0x7fdc(gp)        |         s4 = *((gp - 8183));
    0x00008130 lw v0, 0x5444(s4)         |         v0 = *((s4 + 5393));
                                         |     }
    0x00008134 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v0 != 0) {
    0x00008138 beqz v0, 0x8178           |         
    0x0000813c lw a0, -0x7fd8(gp)        |         a0 = *(gp);
    0x00008140 lw t9, -0x7e6c(gp)        |         t9 = sym.imp.fwrite;
    0x00008144 lw a3, (s3)               |         a3 = *(s3);
    0x00008148 addiu a2, zero, 0xd       |         a2 = 0xd;
    0x0000814c addiu a1, zero, 1         |         a1 = 1;
                                         |         /* str.Status_R_W_:_n */
    0x00008150 addiu a0, a0, 0x3218      |         a0 += 0x3218;
    0x00008154 jalr t9                   |         t9 ();
    0x00008158 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x0000815c move a0, s0               |         a0 = s0;
    0x00008160 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00008164 lw t9, -0x7f6c(gp)        |         t9 = sym.imp.snd_pcm_status_dump;
    0x00008168 lw a1, 0x5420(v0)         |         a1 = *((v0 + 5384));
    0x0000816c jalr t9                   |         t9 ();
    0x00008170 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00008174 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
                                         |     }
                                         | label_19:
    0x00008178 lw a0, (s3)               |     a0 = *(s3);
    0x0000817c lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00008180 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00008184 addiu v0, zero, 0x684     |     v0 = 0x684;
    0x00008188 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000818c lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00008190 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.xrun */
    0x00008194 addiu v0, v0, 0x4218      |     v0 += 0x4218;
                                         |     /* str._s:__s:_d:_ */
    0x00008198 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x0000819c addiu a1, zero, 1         |     a1 = 1;
    0x000081a0 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000081a4 jalr t9                   |     t9 ();
    0x000081a8 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000081ac move a0, s0               |     a0 = s0;
    0x000081b0 lw t9, -0x7cfc(gp)        |     t9 = sym.imp.snd_pcm_status_get_state;
    0x000081b4 lw s0, (s3)               |     s0 = *(s3);
    0x000081b8 jalr t9                   |     t9 ();
    0x000081bc lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000081c0 lw t9, -0x7e8c(gp)        |     t9 = sym.imp.snd_pcm_state_name;
    0x000081c4 move a0, v0               |     a0 = v0;
    0x000081c8 jalr t9                   |     t9 ();
    0x000081cc lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000081d0 move a3, v0               |     a3 = v0;
    0x000081d4 addiu a1, zero, 1         |     a1 = 1;
    0x000081d8 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x000081dc lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.read_write_error__state___s */
    0x000081e0 addiu a2, a2, 0x3228      |     a2 += 0x3228;
    0x000081e4 move a0, s0               |     a0 = s0;
    0x000081e8 jalr t9                   |     t9 ();
    0x000081ec lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000081f0 b 0x7f5c                  |     goto label_7;
                                         | label_21:
    0x000081f4 lw t9, -0x7e98(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000081f8 jalr t9                   |     t9 ();
    0x000081fc nop                       |     
                                         | label_9:
    0x00008200 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00008204 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x00008208 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x0000820c lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00008210 addiu v0, zero, 0x64a     |     v0 = 0x64a;
    0x00008214 lw a0, (s0)               |     a0 = *(s0);
    0x00008218 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000821c lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00008220 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.xrun */
    0x00008224 addiu v0, v0, 0x4218      |     v0 += 0x4218;
                                         |     /* str._s:__s:_d:_ */
    0x00008228 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x0000822c addiu a1, zero, 1         |     a1 = 1;
    0x00008230 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00008234 jalr t9                   |     t9 ();
    0x00008238 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x0000823c move a0, s4               |     a0 = s4;
    0x00008240 lw t9, -0x7e3c(gp)        |     t9 = sym.imp.snd_strerror;
    0x00008244 lw s1, (s0)               |     s1 = *(s0);
    0x00008248 jalr t9                   |     t9 ();
    0x0000824c lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00008250 addiu a1, zero, 1         |     a1 = 1;
    0x00008254 move a3, v0               |     a3 = v0;
    0x00008258 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x0000825c lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.status_error:__s */
    0x00008260 addiu a2, a2, 0x3140      |     a2 += 0x3140;
    0x00008264 move a0, s1               |     a0 = s1;
    0x00008268 jalr t9                   |     t9 ();
    0x0000826c lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00008270 lw a1, (s0)               |     a1 = *(s0);
    0x00008274 b 0x7f60                  |     goto label_8;
                                         | label_11:
    0x00008278 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000827c lw s3, -0x7e24(gp)        |     s3 = *((gp - 8073));
    0x00008280 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00008284 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00008288 addiu v0, zero, 0x651     |     v0 = 0x651;
    0x0000828c lw a0, (s3)               |     a0 = *(s3);
    0x00008290 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00008294 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00008298 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.xrun */
    0x0000829c addiu v0, v0, 0x4218      |     v0 += 0x4218;
    0x000082a0 sw v0, 0x10(sp)           |     *(var_10h) = v0;
                                         |     /* str._s:__s:_d:_ */
    0x000082a4 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x000082a8 addiu a1, zero, 1         |     a1 = 1;
    0x000082ac jalr t9                   |     t9 ();
    0x000082b0 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000082b4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000082b8 lw v0, 0x5484(v0)         |     v0 = *((v0 + 5409));
    0x000082bc lw s1, (s3)               |     s1 = *(s3);
                                         |     if (v0 == 0) {
    0x000082c0 beqz v0, 0x8374           |         goto label_22;
                                         |     }
    0x000082c4 lw s0, -0x7fd8(gp)        |     s0 = *(gp);
                                         |     /* str.overrun */
    0x000082c8 addiu s0, s0, 0x3138      |     s0 += 0x3138;
                                         |     do {
    0x000082cc lw t9, -0x7e3c(gp)        |         t9 = sym.imp.snd_strerror;
    0x000082d0 move a0, s4               |         a0 = s4;
    0x000082d4 jalr t9                   |         t9 ();
    0x000082d8 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x000082dc move a3, s0               |         a3 = s0;
    0x000082e0 addiu a1, zero, 1         |         a1 = 1;
    0x000082e4 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x000082e8 lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str.fatal__s:__s */
    0x000082ec addiu a2, a2, 0x3154      |         a2 += 0x3154;
    0x000082f0 move a0, s1               |         a0 = s1;
    0x000082f4 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000082f8 jalr t9                   |         t9 ();
    0x000082fc lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00008300 b 0x7f5c                  |         goto label_7;
                                         | label_20:
    0x00008304 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00008308 lw a0, (s3)               |         a0 = *(s3);
    0x0000830c lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x00008310 lw a3, 0x54b4(v0)         |         a3 = *((v0 + 5421));
    0x00008314 addiu v0, zero, 0x67a     |         v0 = 0x67a;
    0x00008318 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x0000831c lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x00008320 lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str.xrun */
    0x00008324 addiu v0, v0, 0x4218      |         v0 += 0x4218;
                                         |         /* str._s:__s:_d:_ */
    0x00008328 addiu a2, a2, 0x2b6c      |         a2 += 0x2b6c;
    0x0000832c addiu a1, zero, 1         |         a1 = 1;
    0x00008330 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00008334 jalr t9                   |         t9 ();
    0x00008338 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x0000833c move a0, s0               |         a0 = s0;
    0x00008340 lw t9, -0x7e3c(gp)        |         t9 = sym.imp.snd_strerror;
    0x00008344 lw s0, (s3)               |         s0 = *(s3);
    0x00008348 jalr t9                   |         t9 ();
    0x0000834c lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00008350 move a3, v0               |         a3 = v0;
    0x00008354 addiu a1, zero, 1         |         a1 = 1;
    0x00008358 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x0000835c lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str.xrun_DRAINING_:_prepare_error:__s */
    0x00008360 addiu a2, a2, 0x31f4      |         a2 += 0x31f4;
    0x00008364 move a0, s0               |         a0 = s0;
    0x00008368 jalr t9                   |         t9 ();
    0x0000836c lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00008370 b 0x7f5c                  |         goto label_7;
                                         | label_22:
    0x00008374 lw s0, -0x7fd8(gp)        |         s0 = *(gp);
                                         |         /* str.underrun */
    0x00008378 addiu s0, s0, 0x312c      |         s0 += 0x312c;
    0x0000837c b 0x82cc                  |         
                                         |     } while (1);
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0x8380 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00008380 ()              | void fcn_00008380 () {
    0x00008380 lui gp, 2                 |     
    0x00008384 addiu gp, gp, 0x4cc0      |     
    0x00008388 addu gp, gp, t9           |     gp += t9;
    0x0000838c addiu sp, sp, -0x30       |     
    0x00008390 sw s2, 0x28(sp)           |     *(var_28h) = s2;
    0x00008394 lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x00008398 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x0000839c sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x000083a0 lw v0, 0x548c(s2)         |     v0 = *((s2 + 5411));
    0x000083a4 sw s1, 0x24(sp)           |     *(var_24h) = s1;
    0x000083a8 sw s0, 0x20(sp)           |     *(var_20h) = s0;
                                         |     if (v0 == 0) {
    0x000083ac beql v0, zero, 0x840c     |         goto label_2;
                                         |     }
    0x000083b0 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
                                         | label_0:
    0x000083b4 lw s0, -0x7fdc(gp)        |     s0 = *((gp - 8183));
    0x000083b8 addiu s1, zero, -0xb      |     s1 = -0xb;
    0x000083bc b 0x83d0                  |     
                                         |     while (v0 == s1) {
    0x000083c0 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.sleep;
    0x000083c4 addiu a0, zero, 1         |         a0 = 1;
    0x000083c8 jalr t9                   |         t9 ();
    0x000083cc lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000083d0 lw t9, -0x7e38(gp)        |         t9 = sym.imp.snd_pcm_resume;
    0x000083d4 lw a0, 0x54b0(s0)         |         a0 = *((s0 + 5420));
    0x000083d8 jalr t9                   |         t9 ();
    0x000083dc lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000083e0 beq v0, s1, 0x83c0        |         
                                         |     }
    0x000083e4 lw v1, 0x548c(s2)         |     v1 = *((s2 + 5411));
                                         |     if (v0 < 0) {
    0x000083e8 bltz v0, 0x8440           |         goto label_3;
                                         |     }
    0x000083ec lw v0, -0x7e24(gp)        |     v0 = *((gp - 8073));
                                         |     if (v1 == 0) {
    0x000083f0 beqz v1, 0x8470           |         goto label_4;
                                         |     }
    0x000083f4 lw ra, 0x2c(sp)           |     ra = *(var_2ch);
                                         |     do {
    0x000083f8 lw s2, 0x28(sp)           |         s2 = *(var_28h);
    0x000083fc lw s1, 0x24(sp)           |         s1 = *(var_24h);
    0x00008400 lw s0, 0x20(sp)           |         s0 = *(var_20h);
    0x00008404 addiu sp, sp, 0x30        |         
    0x00008408 jr ra                     |         return v0;
                                         | label_2:
    0x0000840c lw a0, -0x7fd8(gp)        |         a0 = *(gp);
    0x00008410 lw t9, -0x7e6c(gp)        |         t9 = sym.imp.fwrite;
    0x00008414 lw a3, (s0)               |         a3 = *(s0);
    0x00008418 addiu a2, zero, 0x1a      |         a2 = 0x1a;
    0x0000841c addiu a1, zero, 1         |         a1 = 1;
                                         |         /* str.Suspended._Trying_resume._ */
    0x00008420 addiu a0, a0, 0x3248      |         a0 += 0x3248;
    0x00008424 jalr t9                   |         t9 ();
    0x00008428 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000842c lw t9, -0x7de4(gp)        |         t9 = sym.imp.fflush;
    0x00008430 lw a0, (s0)               |         a0 = *(s0);
    0x00008434 jalr t9                   |         t9 ();
    0x00008438 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000843c b 0x83b4                  |         goto label_0;
                                         | label_3:
    0x00008440 lw s1, -0x7e24(gp)        |         s1 = *((gp - 8073));
                                         |         if (v1 == 0) {
    0x00008444 beqz v1, 0x84a0           |             goto label_5;
                                         |         }
                                         | label_1:
    0x00008448 lw t9, -0x7d30(gp)        |         t9 = sym.imp.snd_pcm_prepare;
    0x0000844c lw a0, 0x54b0(s0)         |         a0 = *((s0 + 5420));
    0x00008450 jalr t9                   |         t9 ();
    0x00008454 move s0, v0               |         s0 = v0;
    0x00008458 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x0000845c bltz v0, 0x84d4           |             goto label_6;
                                         |         }
    0x00008460 lw v1, 0x548c(s2)         |         v1 = *((s2 + 5411));
    0x00008464 lw ra, 0x2c(sp)           |         ra = *(var_2ch);
    0x00008468 bnez v1, 0x83f8           |         
                                         |     } while (v1 != 0);
    0x0000846c lw v0, -0x7e24(gp)        |     v0 = *((gp - 8073));
                                         | label_4:
    0x00008470 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00008474 lw ra, 0x2c(sp)           |     ra = *(var_2ch);
    0x00008478 lw s2, 0x28(sp)           |     s2 = *(var_28h);
    0x0000847c lw s1, 0x24(sp)           |     s1 = *(var_24h);
    0x00008480 lw s0, 0x20(sp)           |     s0 = *(var_20h);
    0x00008484 lw a3, (v0)               |     a3 = *(v0);
    0x00008488 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x0000848c addiu a2, zero, 6         |     a2 = 6;
    0x00008490 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Done._n */
    0x00008494 addiu a0, a0, 0x329c      |     a0 += 0x329c;
    0x00008498 addiu sp, sp, 0x30        |     
    0x0000849c jr t9                     |     t9 ();
                                         | label_5:
    0x000084a0 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x000084a4 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x000084a8 lw a3, (s1)               |     a3 = *(s1);
    0x000084ac addiu a2, zero, 0x1b      |     a2 = 0x1b;
    0x000084b0 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Failed._Restarting_stream._ */
    0x000084b4 addiu a0, a0, 0x3264      |     a0 += 0x3264;
    0x000084b8 jalr t9                   |     t9 ();
    0x000084bc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000084c0 lw t9, -0x7de4(gp)        |     t9 = sym.imp.fflush;
    0x000084c4 lw a0, (s1)               |     a0 = *(s1);
    0x000084c8 jalr t9                   |     t9 ();
    0x000084cc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000084d0 b 0x8448                  |     goto label_1;
                                         | label_6:
    0x000084d4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000084d8 lw s1, -0x7e24(gp)        |     s1 = *((gp - 8073));
    0x000084dc lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x000084e0 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x000084e4 addiu v0, zero, 0x697     |     v0 = 0x697;
    0x000084e8 lw a0, (s1)               |     a0 = *(s1);
    0x000084ec sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000084f0 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x000084f4 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.suspend */
    0x000084f8 addiu v0, v0, 0x4210      |     v0 += 0x4210;
                                         |     /* str._s:__s:_d:_ */
    0x000084fc addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00008500 addiu a1, zero, 1         |     a1 = 1;
    0x00008504 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00008508 jalr t9                   |     t9 ();
    0x0000850c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00008510 move a0, s0               |     a0 = s0;
    0x00008514 lw t9, -0x7e3c(gp)        |     t9 = sym.imp.snd_strerror;
    0x00008518 lw s0, (s1)               |     s0 = *(s1);
    0x0000851c jalr t9                   |     t9 ();
    0x00008520 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00008524 move a3, v0               |     a3 = v0;
    0x00008528 addiu a1, zero, 1         |     a1 = 1;
    0x0000852c lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00008530 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.suspend:_prepare_error:__s */
    0x00008534 addiu a2, a2, 0x3280      |     a2 += 0x3280;
    0x00008538 move a0, s0               |     a0 = s0;
    0x0000853c jalr t9                   |     t9 ();
    0x00008540 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00008544 lw a1, (s1)               |     a1 = *(s1);
    0x00008548 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x0000854c addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00008550 jalr t9                   |     t9 ();
    0x00008554 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00008558 lw t9, -0x7fd4(gp)        |     t9 = *((gp - 8181));
    0x0000855c addiu t9, t9, 0x59bc      |     t9 += fcn.000059bc;
    0x00008560 addiu a0, zero, 1         |     a0 = 1;
    0x00008564 bal 0x59bc                |     return fcn_000059bc ();
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0x8568 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00008568 ()              | void fcn_00008568 () {
    0x00008568 lui gp, 2                 |     
    0x0000856c addiu gp, gp, 0x4ad8      |     
    0x00008570 addu gp, gp, t9           |     gp += t9;
    0x00008574 addiu sp, sp, -0x30       |     
    0x00008578 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000857c sw s1, 0x24(sp)           |     *(var_24h) = s1;
    0x00008580 lw s1, -0x7e24(gp)        |     s1 = *((gp - 8073));
    0x00008584 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00008588 sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x0000858c sw s2, 0x28(sp)           |     *(var_28h) = s2;
    0x00008590 sw s0, 0x20(sp)           |     *(var_20h) = s0;
    0x00008594 lw t1, (s1)               |     t1 = *(s1);
    0x00008598 lw v0, 0x5484(v0)         |     v0 = *((v0 + 5409));
                                         |     if (a1 == 0) {
    0x0000859c beqz a1, 0x86ac           |         goto label_1;
                                         |     }
    0x000085a0 move t0, a1               |     t0 = a1;
                                         |     if (v0 == 0) {
    0x000085a4 beqz v0, 0x86a0           |         goto label_2;
                                         |     }
    0x000085a8 lw a3, -0x7fd8(gp)        |     a3 = *(gp);
                                         |     /* str.Recording */
    0x000085ac addiu a3, a3, 0x32bc      |     a3 += 0x32bc;
                                         |     do {
                                         | label_0:
    0x000085b0 lw v1, -0x7fdc(gp)        |         v1 = *((gp - 8183));
    0x000085b4 sll v0, a0, 1             |         v0 = a0 << 1;
    0x000085b8 addu v0, v0, a0           |         v0 += a0;
    0x000085bc addiu v1, v1, 0x4fa0      |         v1 += 0x4fa0;
    0x000085c0 sll v0, v0, 3             |         v0 <<= 3;
    0x000085c4 addu v0, v0, v1           |         v0 += v1;
    0x000085c8 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x000085cc lw v0, 8(v0)              |         v0 = *((v0 + 2));
    0x000085d0 lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
    0x000085d4 move a0, t1               |         a0 = t1;
    0x000085d8 sw t0, 0x14(sp)           |         *(var_14h) = t0;
                                         |         /* str._s__s__s_:_ */
    0x000085dc addiu a2, a2, 0x32c8      |         a2 += 0x32c8;
    0x000085e0 addiu a1, zero, 1         |         a1 = 1;
    0x000085e4 lw s0, -0x7fdc(gp)        |         s0 = *((gp - 8183));
    0x000085e8 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000085ec jalr t9                   |         t9 ();
    0x000085f0 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000085f4 lw a0, 0x54a4(s0)         |         a0 = *((s0 + 5417));
    0x000085f8 lw s2, (s1)               |         s2 = *(s1);
    0x000085fc lw t9, -0x7d08(gp)        |         t9 = sym.imp.snd_pcm_format_description;
    0x00008600 addiu s0, s0, 0x54a4      |         s0 += 0x54a4;
    0x00008604 jalr t9                   |         t9 ();
    0x00008608 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000860c move a3, v0               |         a3 = v0;
    0x00008610 addiu a1, zero, 1         |         a1 = 1;
    0x00008614 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x00008618 lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str._s__ */
    0x0000861c addiu a2, a2, 0x32d8      |         a2 += 0x32d8;
    0x00008620 move a0, s2               |         a0 = s2;
    0x00008624 jalr t9                   |         t9 ();
    0x00008628 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000862c lw a3, 8(s0)              |         a3 = *((s0 + 2));
    0x00008630 lw a0, (s1)               |         a0 = *(s1);
    0x00008634 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x00008638 lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str.Rate__d_Hz__ */
    0x0000863c addiu a2, a2, 0x32e0      |         a2 += 0x32e0;
    0x00008640 addiu a1, zero, 1         |         a1 = 1;
    0x00008644 jalr t9                   |         t9 ();
    0x00008648 lw a3, 4(s0)              |         a3 = *((s0 + 1));
    0x0000864c addiu v0, zero, 1         |         v0 = 1;
    0x00008650 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (a3 == v0) {
    0x00008654 beq a3, v0, 0x870c        |             goto label_3;
                                         |         }
    0x00008658 addiu v0, zero, 2         |         v0 = 2;
    0x0000865c lw a0, (s1)               |         a0 = *(s1);
                                         |         if (a3 == v0) {
    0x00008660 beq a3, v0, 0x86c8        |             goto label_4;
                                         |         }
    0x00008664 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x00008668 lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
    0x0000866c addiu a1, zero, 1         |         a1 = 1;
                                         |         /* str.Channels__i */
    0x00008670 addiu a2, a2, 0x3300      |         a2 += 0x3300;
    0x00008674 jalr t9                   |         t9 ();
    0x00008678 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000867c lw a1, (s1)               |         a1 = *(s1);
    0x00008680 lw ra, 0x2c(sp)           |         ra = *(var_2ch);
    0x00008684 lw s2, 0x28(sp)           |         s2 = *(var_28h);
    0x00008688 lw s1, 0x24(sp)           |         s1 = *(var_24h);
    0x0000868c lw s0, 0x20(sp)           |         s0 = *(var_20h);
    0x00008690 lw t9, -0x7ea4(gp)        |         t9 = sym.imp.fputc;
    0x00008694 addiu a0, zero, 0xa       |         a0 = 0xa;
    0x00008698 addiu sp, sp, 0x30        |         
    0x0000869c jr t9                     |         t9 ();
                                         | label_2:
    0x000086a0 lw a3, -0x7fd8(gp)        |         a3 = *(gp);
                                         |         /* str.Playing */
    0x000086a4 addiu a3, a3, 0x32ac      |         a3 += 0x32ac;
    0x000086a8 b 0x85b0                  |         
                                         |     } while (1);
                                         | label_1:
    0x000086ac lw t0, -0x7fd8(gp)        |     t0 = *(gp);
                                         |     if (v0 != 0) {
    0x000086b0 bnel v0, zero, 0x8750     |         
    0x000086b4 lw t0, -0x7fd8(gp)        |         t0 = *(gp);
    0x000086b8 lw a3, -0x7fd8(gp)        |         a3 = *(gp);
                                         |         /* str.stdout */
    0x000086bc addiu t0, t0, 0x32a4      |         t0 += 0x32a4;
                                         |         /* str.Playing */
    0x000086c0 addiu a3, a3, 0x32ac      |         a3 += 0x32ac;
    0x000086c4 b 0x85b0                  |         goto label_0;
                                         | label_4:
    0x000086c8 move a3, a0               |         a3 = a0;
    0x000086cc lw a0, -0x7fd8(gp)        |         a0 = *(gp);
    0x000086d0 lw t9, -0x7e6c(gp)        |         t9 = sym.imp.fwrite;
    0x000086d4 addiu a1, zero, 1         |         a1 = 1;
                                         |         /* str.Stereo */
    0x000086d8 addiu a0, a0, 0x32f8      |         a0 += 0x32f8;
    0x000086dc addiu a2, zero, 6         |         a2 = 6;
    0x000086e0 jalr t9                   |         t9 ();
    0x000086e4 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000086e8 lw a1, (s1)               |         a1 = *(s1);
    0x000086ec lw ra, 0x2c(sp)           |         ra = *(var_2ch);
    0x000086f0 lw s2, 0x28(sp)           |         s2 = *(var_28h);
    0x000086f4 lw s1, 0x24(sp)           |         s1 = *(var_24h);
    0x000086f8 lw s0, 0x20(sp)           |         s0 = *(var_20h);
    0x000086fc lw t9, -0x7ea4(gp)        |         t9 = sym.imp.fputc;
    0x00008700 addiu a0, zero, 0xa       |         a0 = 0xa;
    0x00008704 addiu sp, sp, 0x30        |         
    0x00008708 jr t9                     |         t9 ();
                                         | label_3:
    0x0000870c lw a0, -0x7fd8(gp)        |         a0 = *(gp);
    0x00008710 lw t9, -0x7e6c(gp)        |         t9 = sym.imp.fwrite;
    0x00008714 lw a3, (s1)               |         a3 = *(s1);
    0x00008718 addiu a1, zero, 1         |         a1 = 1;
                                         |         /* str.Mono */
    0x0000871c addiu a0, a0, 0x32f0      |         a0 += 0x32f0;
    0x00008720 addiu a2, zero, 4         |         a2 = 4;
    0x00008724 jalr t9                   |         t9 ();
    0x00008728 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000872c lw a1, (s1)               |         a1 = *(s1);
    0x00008730 lw ra, 0x2c(sp)           |         ra = *(var_2ch);
    0x00008734 lw s2, 0x28(sp)           |         s2 = *(var_28h);
    0x00008738 lw s1, 0x24(sp)           |         s1 = *(var_24h);
    0x0000873c lw s0, 0x20(sp)           |         s0 = *(var_20h);
    0x00008740 lw t9, -0x7ea4(gp)        |         t9 = sym.imp.fputc;
    0x00008744 addiu a0, zero, 0xa       |         a0 = 0xa;
    0x00008748 addiu sp, sp, 0x30        |         
    0x0000874c jr t9                     |         t9 ();
                                         |     }
    0x00008750 lw a3, -0x7fd8(gp)        |     a3 = *(gp);
                                         |     /* str.stdin */
    0x00008754 addiu t0, t0, 0x32b4      |     t0 += 0x32b4;
                                         |     /* str.Recording */
    0x00008758 addiu a3, a3, 0x32bc      |     a3 += 0x32bc;
    0x0000875c b 0x85b0                  |     goto label_0;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0x8c74 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00008c74 ()                  | void fcn_00008c74 () {
    0x00008c74 lui gp, 2                     |     
    0x00008c78 addiu gp, gp, 0x43cc          |     
    0x00008c7c addu gp, gp, t9               |     gp += t9;
    0x00008c80 lw v0, (a2)                   |     v0 = *(a2);
    0x00008c84 sltu v1, v0, a3               |     v1 = (v0 < a3) ? 1 : 0;
    0x00008c88 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
                                             |     if (v1 != 0) {
    0x00008c8c bnel v1, zero, 0x8c98         |         
    0x00008c90 jr ra                         |         return v0;
    0x00008c94 nop                           |         
                                             |     }
    0x00008c98 addiu sp, sp, -0x30           |     
    0x00008c9c sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00008ca0 move s1, a2                   |     s1 = a2;
    0x00008ca4 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00008ca8 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x00008cac sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x00008cb0 subu a2, a3, v0               |     __asm ("subu a2, a3, v0");
    0x00008cb4 addu a1, a1, v0               |     a1 += v0;
    0x00008cb8 addiu t9, t9, 0x50b0          |     t9 += fcn.000050b0;
    0x00008cbc move s0, a3                   |     s0 = a3;
    0x00008cc0 bal 0x50b0                    |     fcn_000050b0 ();
    0x00008cc4 lw v1, (s1)                   |     v1 = *(s1);
    0x00008cc8 subu v1, s0, v1               |     __asm ("subu v1, s0, v1");
    0x00008ccc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == v1) {
    0x00008cd0 bne v0, v1, 0x8cf0            |         
    0x00008cd4 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x00008cd8 sw s0, (s1)                   |         *(s1) = s0;
    0x00008cdc move v0, s0                   |         v0 = s0;
    0x00008ce0 lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x00008ce4 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00008ce8 addiu sp, sp, 0x30            |         
    0x00008cec jr ra                         |         return v0;
                                             |     }
    0x00008cf0 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00008cf4 lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x00008cf8 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x00008cfc lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x00008d00 addiu v0, zero, 0x3c4         |     v0 = 0x3c4;
    0x00008d04 lw a0, (s0)                   |     a0 = *(s0);
    0x00008d08 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00008d0c lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x00008d10 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.test_wavefile_read */
    0x00008d14 addiu v0, v0, 0x41bc          |     v0 += 0x41bc;
                                             |     /* str._s:__s:_d:_ */
    0x00008d18 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x00008d1c addiu a1, zero, 1             |     a1 = 1;
    0x00008d20 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00008d24 jalr t9                       |     t9 ();
    0x00008d28 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00008d2c lw a0, (s0)                   |     a0 = *(s0);
    0x00008d30 lw a3, 0x40(sp)               |     a3 = *(arg_40h);
    0x00008d34 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x00008d38 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.read_error__called_from_line__i_ */
    0x00008d3c addiu a2, a2, 0x3418          |     a2 += 0x3418;
    0x00008d40 addiu a1, zero, 1             |     a1 = 1;
    0x00008d44 jalr t9                       |     t9 ();
    0x00008d48 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00008d4c lw a1, (s0)                   |     a1 = *(s0);
    0x00008d50 lw t9, -0x7f18(gp)            |     t9 = sym.imp._IO_putc;
    0x00008d54 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00008d58 jalr t9                       |     t9 ();
    0x00008d5c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00008d60 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x00008d64 addiu t9, t9, 0x59bc          |     t9 += fcn.000059bc;
    0x00008d68 addiu a0, zero, 1             |     a0 = 1;
    0x00008d6c bal 0x59bc                    |     return fcn_000059bc ();
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0x8d70 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00008d70 ()              | void fcn_00008d70 () {
    0x00008d70 lui gp, 2                 |     
    0x00008d74 addiu gp, gp, 0x42d0      |     
    0x00008d78 addu gp, gp, t9           |     gp += t9;
    0x00008d7c addiu sp, sp, -0xc0       |     
    0x00008d80 lw t9, -0x7f2c(gp)        |     t9 = sym.imp.snd_pcm_format_little_endian;
    0x00008d84 sw s1, 0x9c(sp)           |     *(var_9ch) = s1;
    0x00008d88 lw s1, -0x7e4c(gp)        |     s1 = *((gp - 8083));
    0x00008d8c sw s7, 0xb4(sp)           |     *(var_b4h) = s7;
    0x00008d90 lw s7, -0x7fdc(gp)        |     s7 = *((gp - 8183));
    0x00008d94 sw s2, 0xa0(sp)           |     *(var_a0h) = s2;
    0x00008d98 lw v0, (s1)               |     v0 = *(s1);
    0x00008d9c lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x00008da0 sw s0, 0x98(sp)           |     *(var_98h) = s0;
    0x00008da4 move s0, a0               |     s0 = a0;
    0x00008da8 lw a0, 0x54a4(s7)         |     a0 = *((s7 + 5417));
    0x00008dac sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00008db0 sw s5, 0xac(sp)           |     *(var_ach) = s5;
    0x00008db4 sw s4, 0xa8(sp)           |     *(var_a8h) = s4;
    0x00008db8 sw s3, 0xa4(sp)           |     *(var_a4h) = s3;
    0x00008dbc sw ra, 0xbc(sp)           |     *(var_bch) = ra;
    0x00008dc0 sw fp, 0xb8(sp)           |     *(var_b8h) = fp;
    0x00008dc4 sw s6, 0xb0(sp)           |     *(var_b0h) = s6;
    0x00008dc8 sw v0, 0x94(sp)           |     *(var_94h) = v0;
    0x00008dcc move s3, a1               |     s3 = a1;
    0x00008dd0 jalr t9                   |     t9 ();
    0x00008dd4 lw s4, 0x5440(s2)         |     s4 = *((s2 + 5392));
    0x00008dd8 addiu v1, zero, 2         |     v1 = 2;
    0x00008ddc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00008de0 move s5, v0               |     s5 = v0;
                                         |     if (s4 != v1) {
    0x00008de4 beq s4, v1, 0x8dec        |         
    0x00008de8 addiu s4, zero, 1         |         s4 = 1;
                                         |     }
    0x00008dec lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
    0x00008df0 addiu v0, zero, 0x10      |     v0 = 0x10;
    0x00008df4 sw zero, 0x38(sp)         |     *(var_38h) = 0;
    0x00008df8 lw a3, 0x5434(s6)         |     a3 = *((s6 + 5389));
    0x00008dfc sw zero, 0x3c(sp)         |     *(var_3ch) = 0;
                                         |     if (a3 == v0) {
    0x00008e00 beq a3, v0, 0x913c        |         goto label_20;
                                         |     }
    0x00008e04 sltiu v0, a3, 0x11        |     v0 = (a3 < 0x11) ? 1 : 0;
    0x00008e08 addiu v0, zero, 0x18      |     v0 = 0x18;
                                         |     if (v0 != 0) {
    0x00008e0c bnez v0, 0x8f78           |         goto label_21;
                                         |     }
    0x00008e10 addiu v0, zero, 0x20      |     v0 = 0x20;
                                         |     if (a3 == v0) {
    0x00008e14 beq a3, v0, 0x9070        |         goto label_22;
                                         |     }
    0x00008e18 lw t9, -0x7ee8(gp)        |     t9 = sym.imp.snd_pcm_format_silence_32;
                                         |     if (a3 != v0) {
    0x00008e1c bne a3, v0, 0x9038        |         goto label_23;
                                         |     }
    0x00008e20 lw a0, 0x54a4(s7)         |     a0 = *((s7 + 5417));
    0x00008e24 jalr t9                   |     t9 ();
    0x00008e28 srl a3, s3, 2             |     a3 = s3 >> 2;
    0x00008e2c sll a3, a3, 2             |     a3 <<= 2;
    0x00008e30 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00008e34 lw t1, 0x5440(s2)         |     t1 = *((s2 + 5392));
    0x00008e38 addu a3, s0, a3           |     a3 = s0 + a3;
    0x00008e3c move a2, zero             |     a2 = 0;
    0x00008e40 addiu t0, zero, 2         |     t0 = 2;
                                         |     do {
    0x00008e44 lw a1, 0x5434(s6)         |         a1 = *((s6 + 5389));
                                         |         if (a3 == s0) {
    0x00008e48 beq a3, s0, 0x8e98        |             goto label_9;
                                         |         }
                                         | label_0:
    0x00008e4c lw v1, (s0)               |         v1 = *(s0);
                                         |         if (s5 == 0) {
    0x00008e50 bnez s5, 0x8e5c           |             
    0x00008e54 wsbh v1, v1               |             __asm ("wsbh v1, v1");
    0x00008e58 rotr v1, v1, 0x10         |             __asm ("rotr v1, v1, 0x10");
                                         |         }
                                         |         if (v1 >= 0) {
    0x00008e5c bltzl v1, 0x8e64          |             
    0x00008e60 negu v1, v1               |             __asm ("negu v1, v1");
                                         |         }
    0x00008e64 addiu a1, sp, 0x98        |         a1 = sp + 0x98;
    0x00008e68 sll a0, a2, 2             |         a0 = a2 << 2;
    0x00008e6c addu a0, a1, a0           |         a0 = a1 + a0;
    0x00008e70 xor v1, v1, v0            |         v1 ^= v0;
    0x00008e74 lw a1, -0x60(a0)          |         a1 = *((a0 - 24));
    0x00008e78 slt a1, a1, v1            |         a1 = (a1 < v1) ? 1 : 0;
    0x00008e7c sw v1, -0x60(a0)          |         *((a0 - 24)) = v1;
                                         |         if (a1 != 0) {
    0x00008e80 bnel a1, zero, 0x8e84     |             
                                         |         }
    0x00008e84 addiu s0, s0, 4           |         s0 += 4;
    0x00008e88 bne t1, t0, 0x8e44        |         
                                         |     } while (t1 != t0);
    0x00008e8c xori a2, a2, 1            |     a2 ^= 1;
                                         |     if (a3 != s0) {
    0x00008e90 bne a3, s0, 0x8e4c        |         goto label_0;
                                         |     }
    0x00008e94 lw a1, 0x5434(s6)         |     a1 = *((s6 + 5389));
                                         |     do {
                                         | label_9:
    0x00008e98 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
                                         | label_6:
    0x00008e9c lw v1, 0x5438(v0)         |         v1 = *((v0 + 5390));
    0x00008ea0 addiu v0, v1, -1          |         v0 = v1 + -1;
    0x00008ea4 addiu v1, zero, 1         |         v1 = 1;
    0x00008ea8 sllv v1, v1, v0           |         v1 <<= v0;
    0x00008eac lui v0, 0x51eb            |         v0 = 0x51eb0000;
                                         |         if (v1 <= 0) {
    0x00008eb0 blez v1, 0x8ff0           |             goto label_24;
                                         |         }
    0x00008eb4 ori v0, v0, 0x851f        |         v0 |= 0x851f;
    0x00008eb8 mult v1, v0               |         __asm ("mult v1, v0");
    0x00008ebc mfhi v0                   |         __asm ("mfhi v0");
    0x00008ec0 sra a0, v1, 0x1f          |         a0 = v1 >> 0x1f;
    0x00008ec4 sltiu a1, a1, 0x11        |         a1 = (a1 < 0x11) ? 1 : 0;
    0x00008ec8 lw a2, 0x38(sp)           |         a2 = *(var_38h);
    0x00008ecc sra v0, v0, 5             |         v0 >>= 5;
    0x00008ed0 subu v0, v0, a0           |         __asm ("subu v0, v0, a0");
                                         |         if (a1 == 0) {
    0x00008ed4 beqz a1, 0x900c           |             goto label_25;
                                         |         }
                                         | label_2:
    0x00008ed8 addiu a1, zero, 0x64      |         a1 = 0x64;
    0x00008edc mul a0, a2, a1            |         __asm ("mul a0, a2, a1");
    0x00008ee0 addiu v0, zero, 2         |         v0 = 2;
    0x00008ee4 div zero, a0, v1          |         __asm ("div zero, a0, v1");
    0x00008ee8 teq v1, zero, 7           |         __asm ("teq v1, zero, 7");
    0x00008eec mflo a0                   |         __asm ("mflo a0");
    0x00008ef0 sw a0, 0x30(sp)           |         *(var_30h) = a0;
                                         |         if (s4 == v0) {
    0x00008ef4 bne s4, v0, 0x8f10        |             
    0x00008ef8 lw v0, 0x3c(sp)           |             v0 = *(var_3ch);
    0x00008efc mul v0, v0, a1            |             __asm ("mul v0, v0, a1");
    0x00008f00 div zero, v0, v1          |             __asm ("div zero, v0, v1");
    0x00008f04 teq v1, zero, 7           |             __asm ("teq v1, zero, 7");
    0x00008f08 mflo v0                   |             __asm ("mflo v0");
                                         | label_4:
    0x00008f0c sw v0, 0x34(sp)           |             *(var_34h) = v0;
                                         |         }
                                         | label_3:
    0x00008f10 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00008f14 lw v1, 0x5030(v0)         |         v1 = *((v0 + 5132));
    0x00008f18 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00008f1c lw v0, 0x5444(v0)         |         v0 = *((v0 + 5393));
                                         |         if (v1 != 0) {
    0x00008f20 beqz v1, 0x8f30           |             
    0x00008f24 slti v1, v0, 3            |             v1 = (v0 < 3) ? 1 : 0;
    0x00008f28 lw t9, -0x7e7c(gp)        |             t9 = sym.imp.time;
                                         |             if (v1 != 0) {
    0x00008f2c bnez v1, 0x9278           |                 goto label_26;
                                         |             }
                                         |         }
    0x00008f30 addiu v1, zero, 3         |         v1 = 3;
                                         |         if (v0 == v1) {
    0x00008f34 beql v0, v1, 0x91bc       |             goto label_27;
                                         |         }
    0x00008f38 lw s0, -0x7e24(gp)        |         s0 = *((gp - 8073));
                                         | label_5:
    0x00008f3c lw v1, 0x94(sp)           |         v1 = *(var_94h);
    0x00008f40 lw v0, (s1)               |         v0 = *(s1);
    0x00008f44 lw ra, 0xbc(sp)           |         ra = *(var_bch);
                                         |         if (v1 != v0) {
    0x00008f48 bne v1, v0, 0x96b4        |             goto label_28;
                                         |         }
    0x00008f4c lw fp, 0xb8(sp)           |         fp = *(var_b8h);
    0x00008f50 lw s7, 0xb4(sp)           |         s7 = *(var_b4h);
    0x00008f54 lw s6, 0xb0(sp)           |         s6 = *(var_b0h);
    0x00008f58 lw s5, 0xac(sp)           |         s5 = *(var_ach);
    0x00008f5c lw s4, 0xa8(sp)           |         s4 = *(var_a8h);
    0x00008f60 lw s3, 0xa4(sp)           |         s3 = *(var_a4h);
    0x00008f64 lw s2, 0xa0(sp)           |         s2 = *(var_a0h);
    0x00008f68 lw s1, 0x9c(sp)           |         s1 = *(var_9ch);
    0x00008f6c lw s0, 0x98(sp)           |         s0 = *(var_98h);
    0x00008f70 addiu sp, sp, 0xc0        |         
    0x00008f74 jr ra                     |         return v0;
                                         | label_21:
    0x00008f78 addiu v0, zero, 8         |         v0 = 8;
    0x00008f7c lw t9, -0x7e54(gp)        |         t9 = sym.imp.snd_pcm_format_silence;
                                         |         if (a3 != v0) {
    0x00008f80 bne a3, v0, 0x9038        |             goto label_23;
                                         |         }
    0x00008f84 lw a0, 0x54a4(s7)         |         a0 = *((s7 + 5417));
    0x00008f88 jalr t9                   |         t9 ();
    0x00008f8c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00008f90 lw t1, 0x5440(s2)         |         t1 = *((s2 + 5392));
    0x00008f94 seb v0, v0                |         __asm ("seb v0, v0");
    0x00008f98 addu a3, s0, s3           |         a3 = s0 + s3;
    0x00008f9c move a2, zero             |         a2 = 0;
    0x00008fa0 addiu t0, zero, 2         |         t0 = 2;
                                         | label_1:
    0x00008fa4 lw a1, 0x5434(s6)         |         a1 = *((s6 + 5389));
    0x00008fa8 beq s0, a3, 0x8e98        |         
                                         |     } while (s0 == a3);
    0x00008fac addiu s0, s0, 1           |     s0++;
    0x00008fb0 lbu v1, -1(s0)            |     v1 = *((s0 - 1));
    0x00008fb4 xor v1, v0, v1            |     v1 = v0 ^ v1;
    0x00008fb8 seb v1, v1                |     __asm ("seb v1, v1");
                                         |     if (v1 >= 0) {
    0x00008fbc bltzl v1, 0x8fc4          |         
    0x00008fc0 negu v1, v1               |         __asm ("negu v1, v1");
                                         |     }
    0x00008fc4 addiu a1, sp, 0x98        |     a1 = sp + 0x98;
    0x00008fc8 sll a0, a2, 2             |     a0 = a2 << 2;
    0x00008fcc addu a0, a1, a0           |     a0 = a1 + a0;
    0x00008fd0 lw a1, -0x60(a0)          |     a1 = *((a0 - 24));
    0x00008fd4 slt a1, a1, v1            |     a1 = (a1 < v1) ? 1 : 0;
    0x00008fd8 sw v1, -0x60(a0)          |     *((a0 - 24)) = v1;
                                         |     if (a1 == 0) {
    0x00008fdc bnel a1, zero, 0x8fe0     |         goto label_29;
                                         |     }
                                         |     if (t1 == t0) {
                                         | label_29:
    0x00008fe0 beql t1, t0, 0x8fa4       |         goto label_1;
                                         |     }
    0x00008fe4 xori a2, a2, 1            |     a2 ^= 1;
    0x00008fe8 b 0x8fa4                  |     goto label_1;
    0x00008fec nop                       |     
                                         | label_24:
    0x00008ff0 lui v0, 0x147             |     v0 = 0x1470000;
    0x00008ff4 lui v1, 0x7fff            |     v1 = 0x7fff0000;
    0x00008ff8 sltiu a1, a1, 0x11        |     a1 = (a1 < 0x11) ? 1 : 0;
    0x00008ffc ori v0, v0, 0xae14        |     v0 |= 0xae14;
    0x00009000 ori v1, v1, 0xffff        |     v1 |= 0xffff;
    0x00009004 lw a2, 0x38(sp)           |     a2 = *(var_38h);
                                         |     if (a1 != 0) {
    0x00009008 bnez a1, 0x8ed8           |         goto label_2;
                                         |     }
                                         | label_25:
    0x0000900c div zero, a2, v0          |     __asm ("div zero, a2, v0");
    0x00009010 teq v0, zero, 7           |     __asm ("teq v0, zero, 7");
    0x00009014 addiu v1, zero, 2         |     v1 = 2;
    0x00009018 mflo a0                   |     __asm ("mflo a0");
    0x0000901c sw a0, 0x30(sp)           |     *(var_30h) = a0;
                                         |     if (s4 != v1) {
    0x00009020 bne s4, v1, 0x8f10        |         goto label_3;
                                         |     }
    0x00009024 lw v1, 0x3c(sp)           |     v1 = *(var_3ch);
    0x00009028 div zero, v1, v0          |     __asm ("div zero, v1, v0");
    0x0000902c teq v0, zero, 7           |     __asm ("teq v0, zero, 7");
    0x00009030 mflo v0                   |     __asm ("mflo v0");
    0x00009034 b 0x8f0c                  |     goto label_4;
                                         | label_23:
    0x00009038 lw s0, -0x7fdc(gp)        |     s0 = *((gp - 8183));
    0x0000903c lw v0, 0x53b4(s0)         |     v0 = *((s0 + 5357));
    0x00009040 lw v0, -0x7e24(gp)        |     v0 = *((gp - 8073));
                                         |     if (v0 != 0) {
    0x00009044 bnez v0, 0x8f3c           |         goto label_5;
                                         |     }
    0x00009048 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x0000904c lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00009050 lw a0, (v0)               |     a0 = *(v0);
                                         |     /* str.Unsupported_bit_size__d._n */
    0x00009054 addiu a2, a2, 0x343c      |     a2 += 0x343c;
    0x00009058 addiu a1, zero, 1         |     a1 = 1;
    0x0000905c jalr t9                   |     t9 ();
    0x00009060 addiu v0, zero, 1         |     v0 = 1;
    0x00009064 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009068 sw v0, 0x53b4(s0)         |     *((s0 + 5357)) = v0;
    0x0000906c b 0x8f3c                  |     goto label_5;
                                         | label_22:
    0x00009070 lw t9, -0x7ee8(gp)        |     t9 = sym.imp.snd_pcm_format_silence_32;
    0x00009074 lw a0, 0x54a4(s7)         |     a0 = *((s7 + 5417));
    0x00009078 jalr t9                   |     t9 ();
    0x0000907c lui v1, 0xaaaa            |     v1 = 0xaaaaaaab;
    0x00009080 ori v1, v1, 0xaaab        |     
    0x00009084 multu s3, v1              |     __asm ("multu s3, v1");
    0x00009088 mfhi v1                   |     __asm ("mfhi v1");
    0x0000908c lw a1, 0x5434(s6)         |     a1 = *((s6 + 5389));
    0x00009090 addiu t1, zero, 1         |     t1 = 1;
    0x00009094 addiu a0, a1, -1          |     a0 = a1 + -1;
    0x00009098 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000909c srl v1, v1, 1             |     v1 >>= 1;
    0x000090a0 sll t0, v1, 1             |     t0 = v1 << 1;
    0x000090a4 addu t0, t0, v1           |     t0 += v1;
    0x000090a8 lw t3, 0x5440(s2)         |     t3 = *((s2 + 5392));
    0x000090ac sllv t1, t1, a0           |     t1 <<= a0;
    0x000090b0 addu t0, s0, t0           |     t0 = s0 + t0;
    0x000090b4 move a3, zero             |     a3 = 0;
    0x000090b8 lui t4, 0xff00            |     t4 = 0xff000000;
    0x000090bc addiu t2, zero, 2         |     t2 = 2;
                                         |     if (t0 == s0) {
                                         | label_7:
    0x000090c0 beql t0, s0, 0x8e9c       |         goto label_6;
                                         |     }
    0x000090c4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000090c8 lbu v1, 1(s0)             |     v1 = *((s0 + 1));
    0x000090cc lbu a0, (s0)              |     a0 = *(s0);
    0x000090d0 sll a2, v1, 8             |     a2 = v1 << 8;
    0x000090d4 lbu t5, 2(s0)             |     t5 = *((s0 + 2));
                                         |     if (s5 == 0) {
    0x000090d8 beqz s5, 0x912c           |         goto label_30;
                                         |     }
    0x000090dc sll v1, t5, 0x10          |     v1 = t5 << 0x10;
    0x000090e0 or v1, v1, a2             |     v1 |= a2;
    0x000090e4 or v1, v1, a0             |     v1 |= a0;
                                         | label_8:
    0x000090e8 and a0, t1, v1            |     a0 = t1 & v1;
    0x000090ec or v1, v1, t4             |     v1 |= t4;
                                         |     if (a0 != 0) {
    0x000090f0 bnel a0, zero, 0x90f4     |         
                                         |     }
                                         |     if (v1 >= 0) {
    0x000090f4 bltzl v1, 0x90fc          |         
    0x000090f8 negu v1, v1               |         __asm ("negu v1, v1");
                                         |     }
    0x000090fc addiu a2, sp, 0x98        |     a2 = sp + 0x98;
    0x00009100 sll a0, a3, 2             |     a0 = a3 << 2;
    0x00009104 addu a0, a2, a0           |     a0 = a2 + a0;
    0x00009108 xor v1, v1, v0            |     v1 ^= v0;
    0x0000910c lw a2, -0x60(a0)          |     a2 = *((a0 - 24));
    0x00009110 slt a2, a2, v1            |     a2 = (a2 < v1) ? 1 : 0;
    0x00009114 sw v1, -0x60(a0)          |     *((a0 - 24)) = v1;
                                         |     if (a2 != 0) {
    0x00009118 bnel a2, zero, 0x911c     |         
                                         |     }
    0x0000911c addiu s0, s0, 3           |     s0 += 3;
                                         |     if (t3 != t2) {
    0x00009120 bne t3, t2, 0x90c0        |         goto label_7;
                                         |     }
    0x00009124 xori a3, a3, 1            |     a3 ^= 1;
    0x00009128 b 0x90c0                  |     goto label_7;
                                         | label_30:
    0x0000912c sll v1, a0, 0x10          |     v1 = a0 << 0x10;
    0x00009130 or v1, v1, a2             |     v1 |= a2;
    0x00009134 or v1, v1, t5             |     v1 |= t5;
    0x00009138 b 0x90e8                  |     goto label_8;
                                         | label_20:
    0x0000913c lw t9, -0x7dac(gp)        |     t9 = sym.imp.snd_pcm_format_silence_16;
    0x00009140 lw a0, 0x54a4(s7)         |     a0 = *((s7 + 5417));
    0x00009144 jalr t9                   |     t9 ();
    0x00009148 srl a3, s3, 1             |     a3 = s3 >> 1;
    0x0000914c sll a3, a3, 1             |     a3 <<= 1;
    0x00009150 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009154 lw t1, 0x5440(s2)         |     t1 = *((s2 + 5392));
    0x00009158 seh v0, v0                |     __asm ("seh v0, v0");
    0x0000915c addu a3, s0, a3           |     a3 = s0 + a3;
    0x00009160 move a2, zero             |     a2 = 0;
    0x00009164 addiu t0, zero, 2         |     t0 = 2;
                                         | label_10:
    0x00009168 lw a1, 0x5434(s6)         |     a1 = *((s6 + 5389));
                                         |     if (a3 == s0) {
    0x0000916c beq a3, s0, 0x8e98        |         goto label_9;
                                         |     }
    0x00009170 lh v1, (s0)               |     v1 = *(s0);
                                         |     if (s5 == 0) {
    0x00009174 bnez s5, 0x9180           |         
    0x00009178 wsbh v1, v1               |         __asm ("wsbh v1, v1");
    0x0000917c seh v1, v1                |         __asm ("seh v1, v1");
                                         |     }
                                         |     if (v1 >= 0) {
    0x00009180 bltzl v1, 0x9188          |         
    0x00009184 negu v1, v1               |         __asm ("negu v1, v1");
                                         |     }
    0x00009188 addiu a1, sp, 0x98        |     a1 = sp + 0x98;
    0x0000918c sll a0, a2, 2             |     a0 = a2 << 2;
    0x00009190 addu a0, a1, a0           |     a0 = a1 + a0;
    0x00009194 seh v1, v1                |     __asm ("seh v1, v1");
    0x00009198 lw a1, -0x60(a0)          |     a1 = *((a0 - 24));
    0x0000919c xor v1, v1, v0            |     v1 ^= v0;
    0x000091a0 slt a1, a1, v1            |     a1 = (a1 < v1) ? 1 : 0;
    0x000091a4 sw v1, -0x60(a0)          |     *((a0 - 24)) = v1;
                                         |     if (a1 != 0) {
    0x000091a8 bnel a1, zero, 0x91ac     |         
                                         |     }
    0x000091ac addiu s0, s0, 2           |     s0 += 2;
                                         |     if (t1 != t0) {
    0x000091b0 bne t1, t0, 0x9168        |         goto label_10;
                                         |     }
    0x000091b4 xori a2, a2, 1            |     a2 ^= 1;
    0x000091b8 b 0x9168                  |     goto label_10;
                                         | label_27:
    0x000091bc lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x000091c0 move a3, s3               |     a3 = s3;
    0x000091c4 lw a0, (s0)               |     a0 = *(s0);
    0x000091c8 sw a2, 0x10(sp)           |     *(var_10h) = a2;
    0x000091cc lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x000091d0 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.Max_peak___li_samples_:_0x_08x_ */
    0x000091d4 addiu a2, a2, 0x3480      |     a2 += 0x3480;
    0x000091d8 lui s2, 0x6666            |     s2 = 0x66660000;
    0x000091dc jalr t9                   |     t9 ();
    0x000091e0 move s4, zero             |     s4 = 0;
    0x000091e4 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000091e8 addiu s2, s2, 0x6667      |     s2 += 0x6667;
    0x000091ec addiu s3, zero, 0x14      |     s3 = 0x14;
    0x000091f0 b 0x9208                  |     
                                         |     while (v0 == 0) {
    0x000091f4 addiu a0, zero, 0x23      |         a0 = 0x23;
    0x000091f8 addiu s4, s4, 1           |         s4++;
    0x000091fc jalr t9                   |         t9 ();
    0x00009200 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (s4 == s3) {
    0x00009204 beq s4, s3, 0x9244        |             goto label_31;
                                         |         }
                                         | label_11:
    0x00009208 lw v1, 0x30(sp)           |         v1 = *(var_30h);
    0x0000920c lw a1, (s0)               |         a1 = *(s0);
    0x00009210 mult v1, s2               |         __asm ("mult v1, s2");
    0x00009214 mfhi v0                   |         __asm ("mfhi v0");
    0x00009218 sra v1, v1, 0x1f          |         v1 >>= 0x1f;
    0x0000921c sra v0, v0, 1             |         v0 >>= 1;
    0x00009220 subu v0, v0, v1           |         __asm ("subu v0, v0, v1");
    0x00009224 slt v0, v0, s4            |         v0 = (v0 < s4) ? 1 : 0;
    0x00009228 lw t9, -0x7f18(gp)        |         t9 = sym.imp._IO_putc;
    0x0000922c beqz v0, 0x91f4           |         
                                         |     }
    0x00009230 addiu a0, zero, 0x20      |     a0 = 0x20;
    0x00009234 addiu s4, s4, 1           |     s4++;
    0x00009238 jalr t9                   |     t9 ();
    0x0000923c lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (s4 != s3) {
    0x00009240 bne s4, s3, 0x9208        |         goto label_11;
                                         |     }
                                         | label_31:
    0x00009244 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00009248 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x0000924c lw a3, 0x30(sp)           |     a3 = *(var_30h);
    0x00009250 lw a0, (s0)               |     a0 = *(s0);
                                         |     /* str.__i___n */
    0x00009254 addiu a2, a2, 0x34a0      |     a2 += 0x34a0;
    0x00009258 addiu a1, zero, 1         |     a1 = 1;
    0x0000925c jalr t9                   |     t9 ();
    0x00009260 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009264 lw t9, -0x7de4(gp)        |     t9 = sym.imp.fflush;
    0x00009268 lw a0, (s0)               |     a0 = *(s0);
    0x0000926c jalr t9                   |     t9 ();
    0x00009270 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009274 b 0x8f3c                  |     goto label_5;
                                         | label_26:
    0x00009278 move a0, zero             |     a0 = 0;
    0x0000927c jalr t9                   |     t9 ();
    0x00009280 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009284 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00009288 lw v1, 0x53b0(a0)         |     v1 = *((a0 + 5356));
    0x0000928c slt v1, v1, v0            |     v1 = (v1 < v0) ? 1 : 0;
    0x00009290 lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
                                         |     if (v1 != 0) {
    0x00009294 bnez v1, 0x9428           |         goto label_32;
                                         |     }
    0x00009298 lw v0, 0x53a8(s5)         |     v0 = *((s5 + 5354));
                                         | label_12:
    0x0000929c lw v1, 0x30(sp)           |     v1 = *(var_30h);
    0x000092a0 slt v0, v0, v1            |     v0 = (v0 < v1) ? 1 : 0;
    0x000092a4 sw v1, 0x53a8(s5)         |     *((s5 + 5354)) = v1;
                                         |     if (v0 != 0) {
    0x000092a8 bnel v0, zero, 0x92ac     |         
                                         |     }
    0x000092ac addiu v0, zero, 2         |     v0 = 2;
    0x000092b0 addiu v1, s5, 0x53a8      |     v1 = s5 + 0x53a8;
                                         |     if (s4 == v0) {
    0x000092b4 bne s4, v0, 0x92cc        |         
    0x000092b8 lw a0, 0x34(sp)           |         a0 = *(var_34h);
    0x000092bc lw v0, 4(v1)              |         v0 = *((v1 + 1));
    0x000092c0 slt v0, v0, a0            |         v0 = (v0 < a0) ? 1 : 0;
    0x000092c4 sw a0, 4(v1)              |         *((v1 + 1)) = a0;
                                         |         if (v0 == 0) {
    0x000092c8 bnel v0, zero, 0x92cc     |             goto label_33;
                                         |         }
                                         |     }
                                         | label_33:
    0x000092cc lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x000092d0 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x000092d4 addiu a0, zero, 0xd       |     a0 = 0xd;
    0x000092d8 lw a1, (s0)               |     a1 = *(s0);
    0x000092dc jalr t9                   |     t9 ();
    0x000092e0 lw v1, 0x5440(s2)         |     v1 = *((s2 + 5392));
    0x000092e4 addiu v0, zero, 2         |     v0 = 2;
    0x000092e8 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v1 == v0) {
    0x000092ec beq v1, v0, 0x9468        |         goto label_34;
                                         |     }
    0x000092f0 lw s2, 0x30(sp)           |     s2 = *(var_30h);
    0x000092f4 lw t1, 0x53a8(s5)         |     t1 = *((s5 + 5354));
    0x000092f8 srl a2, s2, 0x1f          |     a2 = s2 >> 0x1f;
    0x000092fc addu a2, a2, s2           |     a2 += s2;
    0x00009300 slti v0, s2, -1           |     v0 = (s2 < -1) ? 1 : 0;
    0x00009304 sra a2, a2, 1             |     a2 >>= 1;
                                         |     if (v0 != 0) {
    0x00009308 bnez v0, 0x9694           |         goto label_35;
                                         |     }
    0x0000930c addiu s3, sp, 0x44        |     s3 = sp + 0x44;
    0x00009310 move a0, s3               |     a0 = s3;
    0x00009314 move v0, zero             |     v0 = 0;
    0x00009318 addiu a3, zero, 0x23      |     a3 = 0x23;
    0x0000931c addiu t0, zero, 0x32      |     t0 = 0x32;
    0x00009320 b 0x9330                  |     
                                         |     while (a1 == 0) {
    0x00009324 move v0, v1               |         v0 = v1;
    0x00009328 addiu a0, a0, 1           |         a0++;
                                         |         if (v1 == t0) {
    0x0000932c beq v1, t0, 0x9688        |             goto label_36;
                                         |         }
    0x00009330 addiu v1, v0, 1           |         v1 = v0 + 1;
    0x00009334 slt a1, a2, v1            |         a1 = (a2 < v1) ? 1 : 0;
    0x00009338 sb a3, (a0)               |         *(a0) = a3;
    0x0000933c beqz a1, 0x9324           |         
                                         |     }
    0x00009340 srl a3, t1, 0x1f          |     a3 = t1 >> 0x1f;
    0x00009344 addu a3, a3, t1           |     a3 += t1;
    0x00009348 sra a3, a3, 1             |     a3 >>= 1;
    0x0000934c slt a0, a3, v1            |     a0 = (a3 < v1) ? 1 : 0;
    0x00009350 addiu v0, v0, 2           |     v0 += 2;
                                         |     if (a0 != 0) {
    0x00009354 bnez a0, 0x96d4           |         goto label_37;
                                         |     }
    0x00009358 addiu a0, zero, 0x32      |     a0 = 0x32;
                                         |     if (v1 == a0) {
    0x0000935c beql v1, a0, 0x9398       |         goto label_38;
                                         |     }
    0x00009360 addiu v1, sp, 0x98        |     v1 = sp + 0x98;
                                         | label_17:
    0x00009364 addu a1, s3, v1           |     a1 = s3 + v1;
    0x00009368 addiu t0, zero, 0x20      |     t0 = 0x20;
    0x0000936c addiu t2, zero, 0x32      |     t2 = 0x32;
    0x00009370 b 0x9380                  |     
                                         |     while (a2 == 0) {
    0x00009374 move v1, a0               |         v1 = a0;
    0x00009378 addiu a1, a1, 1           |         a1++;
                                         |         if (a0 == t2) {
    0x0000937c beq a0, t2, 0x9394        |             goto label_19;
                                         |         }
    0x00009380 addiu a0, v1, 1           |         a0 = v1 + 1;
    0x00009384 slt a2, a3, a0            |         a2 = (a3 < a0) ? 1 : 0;
    0x00009388 sb t0, (a1)               |         *(a1) = t0;
    0x0000938c addiu v0, v1, 2           |         v0 = v1 + 2;
    0x00009390 beqz a2, 0x9374           |         
                                         |     }
                                         | label_19:
    0x00009394 addiu v1, sp, 0x98        |     v1 = sp + 0x98;
                                         | label_38:
    0x00009398 addu a0, v1, a0           |     a0 = v1 + a0;
    0x0000939c addiu a1, zero, 0x2b      |     a1 = 0x2b;
    0x000093a0 addiu v1, zero, 0x33      |     v1 = 0x33;
    0x000093a4 sb a1, -0x54(a0)          |     *((a0 - 84)) = a1;
                                         |     if (v0 == v1) {
    0x000093a8 beq v0, v1, 0x93c8        |         goto label_16;
                                         |     }
                                         | label_18:
    0x000093ac addu v1, s3, v0           |     v1 = s3 + v0;
    0x000093b0 addiu a1, zero, 0x20      |     a1 = 0x20;
    0x000093b4 addiu a0, zero, 0x33      |     a0 = 0x33;
                                         |     do {
    0x000093b8 addiu v0, v0, 1           |         v0++;
    0x000093bc sb a1, (v1)               |         *(v1) = a1;
    0x000093c0 addiu v1, v1, 1           |         v1++;
    0x000093c4 bne v0, a0, 0x93b8        |         
                                         |     } while (v0 != a0);
                                         | label_16:
    0x000093c8 slti v0, t1, 0x64         |     v0 = (t1 < 0x64) ? 1 : 0;
    0x000093cc lw v1, -0x7fd8(gp)        |     v1 = *(gp);
                                         |     if (v0 == 0) {
    0x000093d0 beqz v0, 0x9440           |         goto label_39;
                                         |     }
    0x000093d4 lw a3, -0x7fd8(gp)        |     a3 = *(gp);
    0x000093d8 lw t9, -0x7f0c(gp)        |     t9 = sym.imp.__sprintf_chk;
    0x000093dc sw t1, 0x10(sp)           |     *(var_10h) = t1;
                                         |     /* str.__02i__ */
    0x000093e0 addiu a3, a3, 0x3468      |     a3 += 0x3468;
    0x000093e4 addiu a2, zero, -1        |     a2 = -1;
    0x000093e8 addiu a1, zero, 1         |     a1 = 1;
    0x000093ec addiu a0, sp, 0x77        |     a0 = sp + 0x77;
    0x000093f0 jalr t9                   |     t9 ();
    0x000093f4 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     do {
    0x000093f8 lw t9, -0x7cc4(gp)        |         t9 = sym.imp.fputs;
    0x000093fc lw a1, (s0)               |         a1 = *(s0);
    0x00009400 move a0, s3               |         a0 = s3;
    0x00009404 slti s2, s2, 0x65         |         s2 = (s2 < 0x65) ? 1 : 0;
    0x00009408 jalr t9                   |         t9 ();
    0x0000940c lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (s2 == 0) {
    0x00009410 beqz s2, 0x965c           |             goto label_40;
                                         |         }
                                         | label_13:
    0x00009414 lw t9, -0x7de4(gp)        |         t9 = sym.imp.fflush;
    0x00009418 lw a0, (s0)               |         a0 = *(s0);
    0x0000941c jalr t9                   |         t9 ();
    0x00009420 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00009424 b 0x8f3c                  |         goto label_5;
                                         | label_32:
    0x00009428 sw v0, 0x53b0(a0)         |         *((a0 + 5356)) = v0;
    0x0000942c addiu v0, s5, 0x53a8      |         v0 = s5 + 0x53a8;
    0x00009430 sw zero, 0x53a8(s5)       |         *((s5 + 5354)) = 0;
    0x00009434 sw zero, 4(v0)            |         *((v0 + 1)) = 0;
    0x00009438 move v0, zero             |         v0 = 0;
    0x0000943c b 0x929c                  |         goto label_12;
                                         |         /* str._MAX */
                                         | label_39:
    0x00009440 addiu v0, v1, 0x3460      |         v0 = v1 + 0x3460;
    0x00009444 lw v1, 0x3460(v1)         |         v1 = *((v1 + 3352));
    0x00009448 lbu a1, 4(v0)             |         a1 = *((v0 + 4));
    0x0000944c lbu a0, 5(v0)             |         a0 = *((v0 + 5));
    0x00009450 addiu v0, sp, 0x77        |         v0 = sp + 0x77;
    0x00009454 swl v1, 0x7a(sp)          |         __asm ("swl v1, (var_7ah)");
    0x00009458 swr v1, (v0)              |         __asm ("swr v1, (v0)");
    0x0000945c sb a1, 4(v0)              |         *((v0 + 4)) = a1;
    0x00009460 sb a0, 5(v0)              |         *((v0 + 5)) = a0;
    0x00009464 b 0x93f8                  |         
                                         |     } while (1);
                                         | label_34:
    0x00009468 lw t9, -0x7d60(gp)        |     t9 = sym.imp.memset;
    0x0000946c addiu s3, sp, 0x44        |     s3 = sp + 0x44;
    0x00009470 addiu a2, zero, 0x4f      |     a2 = 0x4f;
    0x00009474 addiu a1, zero, 0x20      |     a1 = 0x20;
    0x00009478 move a0, s3               |     a0 = s3;
    0x0000947c jalr t9                   |     t9 ();
    0x00009480 addiu v0, zero, 0x7c      |     v0 = 0x7c;
    0x00009484 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009488 sb v0, 0x6a(sp)           |     *(var_6ah) = v0;
    0x0000948c addiu s4, s5, 0x53a8      |     s4 = s5 + 0x53a8;
    0x00009490 addiu v0, sp, 0x6b        |     v0 = sp + 0x6b;
    0x00009494 lui s5, 0x51eb            |     s5 = 0x51eb0000;
    0x00009498 sw v0, 0x28(sp)           |     *(var_28h) = v0;
    0x0000949c ori v0, s5, 0x851f        |     v0 = s5 | 0x851f;
    0x000094a0 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x000094a4 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x000094a8 addiu s6, sp, 0x30        |     s6 = sp + 0x30;
                                         |     /* str._02d__ */
    0x000094ac addiu v0, v0, 0x3458      |     v0 += 0x3458;
    0x000094b0 move fp, zero             |     fp = 0;
    0x000094b4 addiu s7, sp, 0x40        |     s7 = sp + 0x40;
    0x000094b8 addiu s5, sp, 0x6e        |     s5 = sp + 0x6e;
    0x000094bc sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
                                         |     do {
    0x000094c0 lw a0, (s6)               |         a0 = *(s6);
    0x000094c4 sll v0, a0, 3             |         v0 = a0 << 3;
    0x000094c8 addu v0, v0, a0           |         v0 += a0;
    0x000094cc sll v0, v0, 2             |         v0 <<= 2;
    0x000094d0 subu v0, v0, a0           |         __asm ("subu v0, v0, a0");
    0x000094d4 slti a0, v0, 0xe10        |         a0 = (v0 < 0xe10) ? 1 : 0;
    0x000094d8 addiu a2, zero, 0x23      |         a2 = 0x23;
                                         |         if (a0 != 0) {
    0x000094dc beqz a0, 0x94f8           |             
    0x000094e0 lw v1, 0x20(sp)           |             v1 = *(var_20h);
    0x000094e4 mult v0, v1               |             __asm ("mult v0, v1");
    0x000094e8 mfhi a2                   |             __asm ("mfhi a2");
    0x000094ec sra v0, v0, 0x1f          |             v0 >>= 0x1f;
    0x000094f0 sra a2, a2, 5             |             a2 >>= 5;
    0x000094f4 subu a2, a2, v0           |             __asm ("subu a2, a2, v0");
                                         |         }
    0x000094f8 lw t2, (s4)               |         t2 = *(s4);
    0x000094fc sll s2, t2, 3             |         s2 = t2 << 3;
    0x00009500 addu s2, s2, t2           |         s2 += t2;
    0x00009504 sll s2, s2, 2             |         s2 <<= 2;
    0x00009508 subu s2, s2, t2           |         __asm ("subu s2, s2, t2");
    0x0000950c sw t2, 0x24(sp)           |         *(var_24h) = t2;
                                         |         if (fp == 0) {
    0x00009510 beqz fp, 0x95f0           |             goto label_41;
                                         |         }
    0x00009514 lw t9, -0x7ea0(gp)        |         t9 = sym.imp.__memset_chk;
    0x00009518 addiu a3, zero, 0x26      |         a3 = 0x26;
    0x0000951c addiu a1, zero, 0x23      |         a1 = 0x23;
    0x00009520 move a0, s5               |         a0 = s5;
    0x00009524 jalr t9                   |         t9 ();
    0x00009528 slti v0, s2, 0xe10        |         v0 = (s2 < 0xe10) ? 1 : 0;
    0x0000952c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00009530 lw t2, 0x24(sp)           |         t2 = *(var_24h);
                                         |         if (v0 != 0) {
    0x00009534 bnez v0, 0x963c           |             goto label_42;
                                         |         }
    0x00009538 addiu v0, zero, 0x4d      |         v0 = 0x4d;
                                         | label_15:
    0x0000953c addiu v1, sp, 0x98        |         v1 = sp + 0x98;
    0x00009540 addu v0, v1, v0           |         v0 = v1 + v0;
    0x00009544 addiu a0, zero, 0x2b      |         a0 = 0x2b;
    0x00009548 sb a0, -0x54(v0)          |         *((v0 - 84)) = a0;
    0x0000954c slti v0, t2, 0x64         |         v0 = (t2 < 0x64) ? 1 : 0;
    0x00009550 lw t9, -0x7f0c(gp)        |         t9 = sym.imp.__sprintf_chk;
                                         |         if (v0 == 0) {
    0x00009554 bnel v0, zero, 0x95d0     |             goto label_43;
                                         |         }
    0x00009558 lui v0, 0x58              |         v0 = 0x58414d;
    0x0000955c addiu v0, v0, 0x414d      |         
    0x00009560 sw v0, 0x40(sp)           |         *(var_40h) = v0;
                                         | label_14:
    0x00009564 addiu v0, zero, 1         |         v0 = 1;
                                         |         if (fp != 0) {
    0x00009568 beqz fp, 0x95a8           |             
    0x0000956c lw v1, 0x28(sp)           |             v1 = *(var_28h);
    0x00009570 lbu a2, (s7)              |             a2 = *(s7);
    0x00009574 lbu a1, 1(s7)             |             a1 = *((s7 + 1));
    0x00009578 lbu a0, 2(s7)             |             a0 = *((s7 + 2));
    0x0000957c sb a2, (v1)               |             *(v1) = a2;
    0x00009580 sb a1, 1(v1)              |             *((v1 + 1)) = a1;
    0x00009584 sb a0, 2(v1)              |             *((v1 + 2)) = a0;
                                         |             if (fp != v0) {
    0x00009588 bne fp, v0, 0x95c0        |                 goto label_44;
                                         |             }
    0x0000958c lw t9, -0x7cc4(gp)        |             t9 = sym.imp.fputs;
    0x00009590 lw a1, (s0)               |             a1 = *(s0);
    0x00009594 move a0, s3               |             a0 = s3;
    0x00009598 sb zero, 0x92(sp)         |             *(var_92h) = 0;
    0x0000959c jalr t9                   |             t9 ();
    0x000095a0 lw gp, 0x18(sp)           |             gp = *(var_18h);
    0x000095a4 b 0x9414                  |             goto label_13;
                                         |         }
    0x000095a8 lbu v0, (s7)              |         v0 = *(s7);
    0x000095ac lbu a1, 1(s7)             |         a1 = *((s7 + 1));
    0x000095b0 lbu a0, 2(s7)             |         a0 = *((s7 + 2));
    0x000095b4 sb v0, 0x67(sp)           |         *(var_67h) = v0;
    0x000095b8 sb a1, 0x68(sp)           |         *(var_68h) = a1;
    0x000095bc sb a0, 0x69(sp)           |         *(var_69h) = a0;
                                         | label_44:
    0x000095c0 addiu fp, fp, 1           |         fp++;
    0x000095c4 addiu s6, s6, 4           |         s6 += 4;
    0x000095c8 addiu s4, s4, 4           |         s4 += 4;
    0x000095cc b 0x94c0                  |         
                                         |     } while (1);
                                         | label_43:
    0x000095d0 lw a3, 0x2c(sp)           |     a3 = *(var_2ch);
    0x000095d4 sw t2, 0x10(sp)           |     *(var_10h) = t2;
    0x000095d8 addiu a2, zero, 4         |     a2 = 4;
    0x000095dc addiu a1, zero, 1         |     a1 = 1;
    0x000095e0 move a0, s7               |     a0 = s7;
    0x000095e4 jalr t9                   |     t9 ();
    0x000095e8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000095ec b 0x9564                  |     goto label_14;
                                         | label_41:
    0x000095f0 addiu a3, zero, 0x22      |     a3 = 0x22;
    0x000095f4 lw t9, -0x7d60(gp)        |     t9 = sym.imp.memset;
    0x000095f8 subu a0, a3, a2           |     __asm ("subu a0, a3, a2");
    0x000095fc addiu a1, zero, 0x23      |     a1 = 0x23;
    0x00009600 addu a0, s3, a0           |     a0 = s3 + a0;
    0x00009604 jalr t9                   |     t9 ();
    0x00009608 slti v0, s2, 0xe10        |     v0 = (s2 < 0xe10) ? 1 : 0;
    0x0000960c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009610 lw t2, 0x24(sp)           |     t2 = *(var_24h);
                                         |     if (v0 != 0) {
    0x00009614 beqz v0, 0x9680           |         
    0x00009618 lw v0, 0x20(sp)           |         v0 = *(var_20h);
    0x0000961c addiu a3, zero, 0x22      |         a3 = 0x22;
    0x00009620 mult s2, v0               |         __asm ("mult s2, v0");
    0x00009624 mfhi v0                   |         __asm ("mfhi v0");
    0x00009628 sra s2, s2, 0x1f          |         s2 >>= 0x1f;
    0x0000962c sra v0, v0, 5             |         v0 >>= 5;
    0x00009630 subu v0, v0, s2           |         __asm ("subu v0, v0, s2");
    0x00009634 subu v0, a3, v0           |         __asm ("subu v0, a3, v0");
    0x00009638 b 0x953c                  |         goto label_15;
                                         | label_42:
    0x0000963c lw v0, 0x20(sp)           |         v0 = *(var_20h);
    0x00009640 mult s2, v0               |         __asm ("mult s2, v0");
    0x00009644 mfhi v0                   |         __asm ("mfhi v0");
    0x00009648 sra s2, s2, 0x1f          |         s2 >>= 0x1f;
    0x0000964c sra v0, v0, 5             |         v0 >>= 5;
    0x00009650 subu v0, v0, s2           |         __asm ("subu v0, v0, s2");
    0x00009654 addiu v0, v0, 0x2a        |         v0 += 0x2a;
    0x00009658 b 0x953c                  |         goto label_15;
                                         | label_40:
    0x0000965c lw a0, -0x7fd8(gp)        |         a0 = *(gp);
    0x00009660 lw t9, -0x7e6c(gp)        |         t9 = sym.imp.fwrite;
    0x00009664 lw a3, (s0)               |         a3 = *(s0);
    0x00009668 addiu a2, zero, 8         |         a2 = 8;
    0x0000966c addiu a1, zero, 1         |         a1 = 1;
                                         |         /* str.__clip__ */
    0x00009670 addiu a0, a0, 0x3474      |         a0 += 0x3474;
    0x00009674 jalr t9                   |         t9 ();
    0x00009678 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000967c b 0x9414                  |         goto label_13;
                                         |     }
    0x00009680 addiu v0, zero, -1        |     v0 = -1;
    0x00009684 b 0x953c                  |     goto label_15;
                                         | label_36:
    0x00009688 addiu v0, zero, 0x2b      |     v0 = 0x2b;
    0x0000968c sb v0, 0x76(sp)           |     *(var_76h) = v0;
    0x00009690 b 0x93c8                  |     goto label_16;
                                         | label_35:
    0x00009694 srl a3, t1, 0x1f          |     a3 = t1 >> 0x1f;
    0x00009698 addu a3, a3, t1           |     a3 += t1;
    0x0000969c slti v0, t1, -1           |     v0 = (t1 < -1) ? 1 : 0;
    0x000096a0 sra a3, a3, 1             |     a3 >>= 1;
                                         |     if (v0 == 0) {
    0x000096a4 bnez v0, 0x96c0           |         
    0x000096a8 move v1, zero             |         v1 = 0;
    0x000096ac addiu s3, sp, 0x44        |         s3 = sp + 0x44;
    0x000096b0 b 0x9364                  |         goto label_17;
                                         | label_28:
    0x000096b4 lw t9, -0x7e98(gp)        |         t9 = sym.imp.__stack_chk_fail;
    0x000096b8 jalr t9                   |         t9 ();
    0x000096bc nop                       |         
                                         |     }
    0x000096c0 addiu v0, zero, 0x2b      |     v0 = 0x2b;
    0x000096c4 sb v0, 0x44(sp)           |     *(var_44h) = v0;
    0x000096c8 addiu s3, sp, 0x44        |     s3 = sp + 0x44;
    0x000096cc addiu v0, zero, 1         |     v0 = 1;
    0x000096d0 b 0x93ac                  |     goto label_18;
                                         | label_37:
    0x000096d4 move a0, v1               |     a0 = v1;
    0x000096d8 b 0x9394                  |     goto label_19;
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0x96dc */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.000096dc ()              | void fcn_000096dc () {
    0x000096dc lui gp, 2                 |     
    0x000096e0 addiu gp, gp, 0x3964      |     
    0x000096e4 addu gp, gp, t9           |     gp += t9;
    0x000096e8 addiu sp, sp, -0x60       |     
    0x000096ec lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000096f0 sw s1, 0x3c(sp)           |     *(var_3ch) = s1;
    0x000096f4 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x000096f8 move v1, v0               |     v1 = v0;
    0x000096fc sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00009700 lw a2, 0x5470(s1)         |     a2 = *((s1 + 5404));
    0x00009704 sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x00009708 sltu v0, a1, a2           |     v0 = (a1 < a2) ? 1 : 0;
    0x0000970c sw s6, 0x50(sp)           |     *(var_50h) = s6;
    0x00009710 sw s4, 0x48(sp)           |     *(var_48h) = s4;
    0x00009714 sw s0, 0x38(sp)           |     *(var_38h) = s0;
    0x00009718 sw ra, 0x5c(sp)           |     *(var_5ch) = ra;
    0x0000971c sw fp, 0x58(sp)           |     *(var_58h) = fp;
    0x00009720 sw s7, 0x54(sp)           |     *(var_54h) = s7;
    0x00009724 sw s5, 0x4c(sp)           |     *(var_4ch) = s5;
    0x00009728 sw s3, 0x44(sp)           |     *(var_44h) = s3;
    0x0000972c sw s2, 0x40(sp)           |     *(var_40h) = s2;
    0x00009730 move s0, a1               |     s0 = a1;
    0x00009734 move s6, a0               |     s6 = a0;
    0x00009738 lw s4, 0x5430(v1)         |     s4 = *((v1 + 5388));
                                         |     if (v0 != 0) {
    0x0000973c bnez v0, 0x9a70           |         goto label_11;
                                         |     }
    0x00009740 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00009744 lw v0, 0x53f0(v0)         |     v0 = *((v0 + 5372));
    0x00009748 sw v0, 0x28(sp)           |     *(var_28h) = v0;
                                         |     if (v0 == 0) {
    0x0000974c beqz v0, 0x9abc           |         goto label_12;
                                         |     }
                                         | label_6:
    0x00009750 mul s1, s0, s4            |     __asm ("mul s1, s0, s4");
    0x00009754 lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x00009758 lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
    0x0000975c lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00009760 lw v0, 0x53ec(s2)         |     v0 = *((s2 + 5371));
    0x00009764 srl s1, s1, 3             |     s1 >>= 3;
    0x00009768 sltu v0, v0, s1           |     v0 = (v0 < s1) ? 1 : 0;
    0x0000976c lw s7, 0x5434(v1)         |     s7 = *((v1 + 5389));
    0x00009770 lw s3, 0x53e8(s5)         |     s3 = *((s5 + 5370));
                                         |     if (v0 != 0) {
    0x00009774 bnez v0, 0x9ac4           |         goto label_13;
                                         |     }
                                         | label_8:
    0x00009778 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000977c lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00009780 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x00009784 sw s6, 0x53e4(v0)         |     *((v0 + 5369)) = s6;
    0x00009788 sw s3, 0x53e0(s1)         |     *((s1 + 5368)) = s3;
                                         |     if (s0 == 0) {
    0x0000978c beqz s0, 0x9b18           |         goto label_14;
                                         |     }
    0x00009790 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00009794 srl v1, s4, 3             |     v1 = s4 >> 3;
    0x00009798 srl s5, s7, 3             |     s5 = s7 >> 3;
    0x0000979c invalid                   |     
    0x000097a0 invalid                   |     
    0x000097a4 addiu s4, v0, 0x54a4      |     s4 = v0 + 0x54a4;
                                         | label_0:
    0x000097a8 lw v0, 4(s4)              |     v0 = *((s4 + 1));
    0x000097ac lw v0, 0x24(sp)           |     v0 = *(var_24h_2);
                                         |     if (v0 == 0) {
    0x000097b0 beqz v0, 0x9804           |         goto label_15;
                                         |     }
    0x000097b4 lw v1, 0x53e0(s1)         |     v1 = *((s1 + 5368));
    0x000097b8 lw fp, 0x28(sp)           |     fp = *(var_28h);
    0x000097bc move s7, zero             |     s7 = 0;
                                         |     do {
    0x000097c0 lw a1, (fp)               |         a1 = *(fp);
    0x000097c4 lw t9, -0x7e28(gp)        |         t9 = sym.imp.memcpy;
    0x000097c8 mul v0, s5, a1            |         __asm ("mul v0, s5, a1");
    0x000097cc move a0, v1               |         a0 = v1;
    0x000097d0 move a2, s5               |         a2 = s5;
    0x000097d4 addiu s7, s7, 1           |         s7++;
    0x000097d8 addiu fp, fp, 4           |         fp += 4;
    0x000097dc addu a1, v0, s6           |         a1 = v0 + s6;
    0x000097e0 jalr t9                   |         t9 ();
    0x000097e4 move v1, v0               |         v1 = v0;
    0x000097e8 lw v0, 4(s4)              |         v0 = *((s4 + 1));
    0x000097ec addu v1, v1, s5           |         v1 += s5;
    0x000097f0 sltu v0, s7, v0           |         v0 = (s7 < v0) ? 1 : 0;
    0x000097f4 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000097f8 sw v1, 0x53e0(s1)         |         *((s1 + 5368)) = v1;
    0x000097fc bnez v0, 0x97c0           |         
                                         |     } while (v0 != 0);
    0x00009800 lw v0, 0x24(sp)           |     v0 = *(var_24h_2);
                                         | label_15:
    0x00009804 addiu s2, s2, 1           |     s2++;
    0x00009808 addu s6, s6, v0           |     s6 += v0;
    0x0000980c lw v0, 0x20(sp)           |     v0 = *(var_20h);
    0x00009810 sw s6, 0x53e4(v0)         |     *((v0 + 5369)) = s6;
                                         |     if (s0 != s2) {
    0x00009814 bne s0, s2, 0x97a8        |         goto label_0;
                                         |     }
                                         | label_7:
    0x00009818 lw s7, -0x7fd4(gp)        |     s7 = *((gp - 8181));
    0x0000981c sw zero, 0x2c(sp)         |     *(var_2ch_2) = 0;
    0x00009820 addiu v0, s7, 0x558c      |     v0 = s7 + 0x558c;
    0x00009824 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x00009828 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x0000982c addiu v0, v0, -0x7770     |     v0 += -0x7770;
    0x00009830 sw v0, 0x24(sp)           |     *(var_24h_2) = v0;
    0x00009834 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00009838 addiu v0, v0, -0x7c80     |     v0 += -0x7c80;
    0x0000983c sw v0, 0x30(sp)           |     *(var_30h_2) = v0;
                                         | label_2:
    0x00009840 lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
                                         |     if (s0 == 0) {
    0x00009844 beqz s0, 0x9a28           |         goto label_10;
                                         |     }
    0x00009848 lw v0, 0x5478(s4)         |     v0 = *((s4 + 5406));
    0x0000984c lw v0, -0x7fd4(gp)        |     v0 = *((gp - 8181));
                                         |     if (v0 != 0) {
    0x00009850 bnez v0, 0x9a28           |         goto label_10;
                                         |     }
    0x00009854 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00009858 lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
    0x0000985c lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x00009860 lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
    0x00009864 lw fp, -0x7fdc(gp)        |     fp = *((gp - 8183));
    0x00009868 sw v0, 0x28(sp)           |     *(var_28h) = v0;
    0x0000986c b 0x989c                  |     
                                         |     while (s7 != v0) {
    0x00009870 sltu v0, s7, s0           |         v0 = (s7 < s0) ? 1 : 0;
                                         |         if (s7 < 0) {
    0x00009874 bltz s7, 0x9968           |             goto label_16;
                                         |         }
    0x00009878 lw v0, 0x5424(fp)         |         v0 = *(arg_5424h);
                                         |         if (v0 != 0) {
    0x0000987c beqz v0, 0x9888           |             
    0x00009880 lw t9, -0x7e30(gp)        |             t9 = sym.imp.snd_pcm_wait;
                                         |             if (v0 == 0) {
    0x00009884 beqz v0, 0x98f8           |                 goto label_17;
                                         |             }
                                         |         }
    0x00009888 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
                                         |         if (s7 > 0) {
    0x0000988c bgtz s7, 0x9910           |             goto label_18;
                                         |         }
                                         | label_1:
    0x00009890 lw v0, 0x5478(s4)         |         v0 = *((s4 + 5406));
    0x00009894 lw ra, 0x5c(sp)           |         ra = *(var_5ch);
                                         |         if (v0 != 0) {
    0x00009898 bnez v0, 0x9a2c           |             goto label_19;
                                         |         }
    0x0000989c lw v0, 0x5428(s1)         |         v0 = *((s1 + 5386));
                                         | label_5:
    0x000098a0 lw t9, 0x20(sp)           |         t9 = *(var_20h);
                                         |         if (v0 != 0) {
    0x000098a4 bnez v0, 0x9958           |             goto label_20;
                                         |         }
    0x000098a8 lw v0, 0x5450(s6)         |         v0 = *((s6 + 5396));
                                         | label_4:
    0x000098ac lw a0, 0x54b0(s2)         |         a0 = *((s2 + 5420));
                                         |         if (v0 != 0) {
    0x000098b0 beqz v0, 0x98c4           |             
    0x000098b4 lw t9, 0x24(sp)           |             t9 = *(var_24h_2);
    0x000098b8 jalr t9                   |             t9 ();
    0x000098bc nop                       |             
    0x000098c0 lw a0, 0x54b0(s2)         |             a0 = *((s2 + 5420));
                                         |         }
    0x000098c4 lw t9, 0x54c0(s5)         |         t9 = *((s5 + 5424));
    0x000098c8 move a2, s0               |         a2 = s0;
    0x000098cc move a1, s3               |         a1 = s3;
    0x000098d0 jalr t9                   |         t9 ();
    0x000098d4 lw a0, 0x5428(s1)         |         a0 = *((s1 + 5386));
    0x000098d8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000098dc move s7, v0               |         s7 = v0;
                                         |         if (a0 != 0) {
    0x000098e0 bnez a0, 0x9944           |             goto label_21;
                                         |         }
                                         | label_3:
    0x000098e4 addiu v0, zero, -0xb      |         v0 = -0xb;
    0x000098e8 lw v0, 0x5424(fp)         |         v0 = *(arg_5424h);
    0x000098ec bne s7, v0, 0x9870        |         
                                         |     }
    0x000098f0 lw t9, -0x7e30(gp)        |     t9 = sym.imp.snd_pcm_wait;
                                         |     if (v0 != 0) {
    0x000098f4 bnez v0, 0x9890           |         goto label_1;
                                         |     }
                                         | label_17:
    0x000098f8 lw a0, 0x54b0(s2)         |     a0 = *((s2 + 5420));
    0x000098fc addiu a1, zero, 0x64      |     a1 = 0x64;
    0x00009900 jalr t9                   |     t9 ();
    0x00009904 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (s7 <= 0) {
    0x00009908 blez s7, 0x9890           |         goto label_1;
                                         |     }
    0x0000990c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         | label_18:
    0x00009910 lw v0, 0x5440(v0)         |     v0 = *((v0 + 5392));
    0x00009914 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v0 != 0) {
    0x00009918 bnez v0, 0x9af8           |         goto label_22;
                                         |     }
                                         | label_9:
    0x0000991c lw v0, 0x34(sp)           |     v0 = *(var_34h);
    0x00009920 lw v1, 0x2c(sp)           |     v1 = *(var_2ch_2);
    0x00009924 subu s0, s0, s7           |     __asm ("subu s0, s0, s7");
    0x00009928 lw v0, 0x5430(v0)         |     v0 = *((v0 + 5388));
    0x0000992c addu v1, v1, s7           |     v1 += s7;
    0x00009930 mul v0, s7, v0            |     __asm ("mul v0, s7, v0");
    0x00009934 sw v1, 0x2c(sp)           |     *(var_2ch_2) = v1;
    0x00009938 srl v0, v0, 3             |     v0 >>= 3;
    0x0000993c addu s3, s3, v0           |     s3 += v0;
    0x00009940 b 0x9840                  |     goto label_2;
                                         | label_21:
    0x00009944 lw t9, 0x20(sp)           |     t9 = *(var_20h);
    0x00009948 jalr t9                   |     t9 ();
    0x0000994c nop                       |     
    0x00009950 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009954 b 0x98e4                  |     goto label_3;
                                         | label_20:
    0x00009958 jalr t9                   |     t9 ();
    0x0000995c nop                       |     
    0x00009960 lw v0, 0x5450(s6)         |     v0 = *((s6 + 5396));
    0x00009964 b 0x98ac                  |     goto label_4;
                                         | label_16:
    0x00009968 addiu v0, zero, -0x20     |     v0 = -0x20;
    0x0000996c addiu v0, zero, -0x5c     |     v0 = -0x5c;
                                         |     if (s7 != v0) {
    0x00009970 beq s7, v0, 0x9a0c        |         
    0x00009974 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
                                         |         if (s7 == v0) {
    0x00009978 beq s7, v0, 0x9a5c        |             goto label_23;
                                         |         }
    0x0000997c lw s0, -0x7e24(gp)        |         s0 = *((gp - 8073));
    0x00009980 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x00009984 lw a3, 0x54b4(v0)         |         a3 = *((v0 + 5421));
    0x00009988 addiu v0, zero, 0x809     |         v0 = 0x809;
    0x0000998c lw a0, (s0)               |         a0 = *(s0);
    0x00009990 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00009994 lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x00009998 lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str.pcm_write */
    0x0000999c addiu v0, v0, 0x4238      |         v0 += 0x4238;
                                         |         /* str._s:__s:_d:_ */
    0x000099a0 addiu a2, a2, 0x2b6c      |         a2 += 0x2b6c;
    0x000099a4 addiu a1, zero, 1         |         a1 = 1;
    0x000099a8 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000099ac jalr t9                   |         t9 ();
    0x000099b0 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000099b4 move a0, s7               |         a0 = s7;
    0x000099b8 lw t9, -0x7e3c(gp)        |         t9 = sym.imp.snd_strerror;
    0x000099bc lw s1, (s0)               |         s1 = *(s0);
    0x000099c0 jalr t9                   |         t9 ();
    0x000099c4 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000099c8 move a3, v0               |         a3 = v0;
    0x000099cc addiu a1, zero, 1         |         a1 = 1;
    0x000099d0 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x000099d4 lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str.write_error:__s */
    0x000099d8 addiu a2, a2, 0x34a8      |         a2 += 0x34a8;
    0x000099dc move a0, s1               |         a0 = s1;
    0x000099e0 jalr t9                   |         t9 ();
    0x000099e4 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000099e8 lw a1, (s0)               |         a1 = *(s0);
    0x000099ec lw t9, -0x7f18(gp)        |         t9 = sym.imp._IO_putc;
    0x000099f0 addiu a0, zero, 0xa       |         a0 = 0xa;
    0x000099f4 jalr t9                   |         t9 ();
    0x000099f8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000099fc lw t9, -0x7fd4(gp)        |         t9 = *((gp - 8181));
    0x00009a00 addiu t9, t9, 0x59bc      |         t9 += fcn.000059bc;
    0x00009a04 addiu a0, zero, 1         |         a0 = 1;
    0x00009a08 bal 0x59bc                |         fcn_000059bc ();
                                         |     }
    0x00009a0c lw v0, 0x28(sp)           |     v0 = *(var_28h);
    0x00009a10 addiu t9, v0, 0x7c44      |     t9 = v0 + fcn.00007c44;
    0x00009a14 bal 0x7c44                |     fcn_00007c44 ();
    0x00009a18 nop                       |     
    0x00009a1c lw v0, 0x5478(s4)         |     v0 = *((s4 + 5406));
    0x00009a20 lw v0, 0x5428(s1)         |     v0 = *((s1 + 5386));
                                         |     if (v0 == 0) {
    0x00009a24 beqz v0, 0x98a0           |         goto label_5;
                                         |     }
                                         | label_10:
    0x00009a28 lw ra, 0x5c(sp)           |     ra = *(var_5ch);
                                         | label_19:
    0x00009a2c lw v0, 0x2c(sp)           |     v0 = *(var_2ch_2);
    0x00009a30 lw fp, 0x58(sp)           |     fp = *(var_58h);
    0x00009a34 lw s7, 0x54(sp)           |     s7 = *(var_54h);
    0x00009a38 lw s6, 0x50(sp)           |     s6 = *(var_50h);
    0x00009a3c lw s5, 0x4c(sp)           |     s5 = *(var_4ch);
    0x00009a40 lw s4, 0x48(sp)           |     s4 = *(var_48h);
    0x00009a44 lw s3, 0x44(sp)           |     s3 = *(var_44h);
    0x00009a48 lw s2, 0x40(sp)           |     s2 = *(var_40h);
    0x00009a4c lw s1, 0x3c(sp)           |     s1 = *(var_3ch);
    0x00009a50 lw s0, 0x38(sp)           |     s0 = *(var_38h);
    0x00009a54 addiu sp, sp, 0x60        |     
    0x00009a58 jr ra                     |     return v0;
                                         | label_23:
    0x00009a5c lw t9, 0x30(sp)           |     t9 = *(var_30h_2);
    0x00009a60 jalr t9                   |     t9 ();
    0x00009a64 nop                       |     
    0x00009a68 b 0x9890                  |     goto label_1;
    0x00009a6c nop                       |     
                                         | label_11:
    0x00009a70 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00009a74 mul a0, a1, s4            |     __asm ("mul a0, a1, s4");
    0x00009a78 addiu s4, v0, 0x54a4      |     s4 = v0 + 0x54a4;
    0x00009a7c subu a2, a2, a1           |     __asm ("subu a2, a2, a1");
    0x00009a80 lw v1, 4(s4)              |     v1 = *((s4 + 1));
    0x00009a84 lw t9, -0x7ed4(gp)        |     t9 = sym.imp.snd_pcm_format_set_silence;
    0x00009a88 mul a2, a2, v1            |     __asm ("mul a2, a2, v1");
    0x00009a8c srl a1, a0, 3             |     a1 = a0 >> 3;
    0x00009a90 lw a0, 0x54a4(v0)         |     a0 = *((v0 + 5417));
    0x00009a94 addu a1, s6, a1           |     a1 = s6 + a1;
    0x00009a98 jalr t9                   |     t9 ();
    0x00009a9c lw v0, 0x34(sp)           |     v0 = *(var_34h);
    0x00009aa0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009aa4 lw s0, 0x5470(s1)         |     s0 = *((s1 + 5404));
    0x00009aa8 lw s4, 0x5430(v0)         |     s4 = *((v0 + 5388));
    0x00009aac lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00009ab0 lw v0, 0x53f0(v0)         |     v0 = *((v0 + 5372));
    0x00009ab4 sw v0, 0x28(sp)           |     *(var_28h) = v0;
                                         |     if (v0 != 0) {
    0x00009ab8 bnez v0, 0x9750           |         goto label_6;
                                         |     }
                                         | label_12:
    0x00009abc move s3, s6               |     s3 = s6;
    0x00009ac0 b 0x9818                  |     goto label_7;
                                         | label_13:
    0x00009ac4 lw t9, -0x7dd4(gp)        |     t9 = sym.imp.free;
    0x00009ac8 move a0, s3               |     a0 = s3;
    0x00009acc jalr t9                   |     t9 ();
    0x00009ad0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009ad4 lw t9, -0x7e88(gp)        |     t9 = sym.imp.malloc;
    0x00009ad8 move a0, s1               |     a0 = s1;
    0x00009adc jalr t9                   |     t9 ();
    0x00009ae0 move s3, v0               |     s3 = v0;
    0x00009ae4 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009ae8 sw v0, 0x53e8(s5)         |     *((s5 + 5370)) = v0;
                                         |     if (v0 != 0) {
    0x00009aec beqz v0, 0x9b20           |         
    0x00009af0 sw s0, 0x53ec(s2)         |         *((s2 + 5371)) = s0;
    0x00009af4 b 0x9778                  |         goto label_8;
                                         | label_22:
    0x00009af8 lw t9, -0x7fd8(gp)        |         t9 = *(gp);
    0x00009afc move a0, s3               |         a0 = s3;
    0x00009b00 lw a1, 0x54a8(v0)         |         a1 = *((v0 + 5418));
    0x00009b04 addiu t9, t9, -0x7290     |         t9 += -0x7290;
    0x00009b08 mul a1, s7, a1            |         __asm ("mul a1, s7, a1");
    0x00009b0c bal 0x8d70                |         fcn_00008d70 ();
    0x00009b10 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00009b14 b 0x991c                  |         goto label_9;
                                         | label_14:
    0x00009b18 sw zero, 0x2c(sp)         |         *(var_2ch_2) = 0;
    0x00009b1c b 0x9a28                  |         goto label_10;
                                         |     }
    0x00009b20 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00009b24 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x00009b28 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00009b2c lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00009b30 addiu v0, zero, 0x7c1     |     v0 = 0x7c1;
    0x00009b34 lw a0, (s0)               |     a0 = *(s0);
    0x00009b38 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00009b3c lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00009b40 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.remap_data */
    0x00009b44 addiu v0, v0, 0x422c      |     v0 += 0x422c;
                                         |     /* str._s:__s:_d:_ */
    0x00009b48 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00009b4c addiu a1, zero, 1         |     a1 = 1;
    0x00009b50 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00009b54 jalr t9                   |     t9 ();
    0x00009b58 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009b5c lw a3, (s0)               |     a3 = *(s0);
    0x00009b60 addiu a2, zero, 0x11      |     a2 = 0x11;
    0x00009b64 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00009b68 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00009b6c addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.not_enough_memory */
    0x00009b70 addiu a0, a0, 0x3098      |     a0 += 0x3098;
    0x00009b74 jalr t9                   |     t9 ();
    0x00009b78 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009b7c lw a1, (s0)               |     a1 = *(s0);
    0x00009b80 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x00009b84 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00009b88 jalr t9                   |     t9 ();
    0x00009b8c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009b90 lw t9, -0x7f48(gp)        |     t9 = sym.imp.exit;
    0x00009b94 addiu a0, zero, 1         |     a0 = 1;
    0x00009b98 jalr t9                   |     return t9 ();
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0x9ce0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00009ce0 ()              | void fcn_00009ce0 () {
    0x00009ce0 lui gp, 2                 |     
    0x00009ce4 addiu gp, gp, 0x3360      |     
    0x00009ce8 addu gp, gp, t9           |     gp += t9;
    0x00009cec addiu sp, sp, -0x98       |     
    0x00009cf0 lw t9, -0x7fd4(gp)        |     t9 = *((gp - 8181));
    0x00009cf4 move v0, a1               |     v0 = a1;
    0x00009cf8 addiu a1, zero, 0x1a      |     a1 = 0x1a;
    0x00009cfc sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00009d00 sw a0, 0x98(sp)           |     *(arg_98h) = a0;
    0x00009d04 sw ra, 0x94(sp)           |     *(var_94h) = ra;
    0x00009d08 sw fp, 0x90(sp)           |     *(var_90h) = fp;
    0x00009d0c sw s7, 0x8c(sp)           |     *(var_8ch) = s7;
    0x00009d10 sw s6, 0x88(sp)           |     *(var_88h) = s6;
    0x00009d14 sw s5, 0x84(sp)           |     *(var_84h) = s5;
    0x00009d18 sw s4, 0x80(sp)           |     *(var_80h) = s4;
    0x00009d1c sw s3, 0x7c(sp)           |     *(var_7ch) = s3;
    0x00009d20 sw s2, 0x78(sp)           |     *(var_78h) = s2;
    0x00009d24 sw s1, 0x74(sp)           |     *(var_74h) = s1;
    0x00009d28 sw s0, 0x70(sp)           |     *(var_70h) = s0;
    0x00009d2c addiu t9, t9, 0x5ad4      |     t9 += fcn.00005ad4;
    0x00009d30 move a0, v0               |     a0 = v0;
    0x00009d34 bal 0x5ad4                |     fcn_00005ad4 ();
    0x00009d38 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x00009d3c bltz v0, 0xa54c           |         goto label_18;
                                         |     }
    0x00009d40 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00009d44 lw a1, -0x7fd8(gp)        |     a1 = *(gp);
    0x00009d48 lw t9, -0x7cf4(gp)        |     t9 = sym.imp.memcmp;
    0x00009d4c lw s0, 0x5474(v0)         |     s0 = *((v0 + 5405));
    0x00009d50 sw v0, 0x5c(sp)           |     *(var_5ch) = v0;
    0x00009d54 addiu a2, zero, 0x14      |     a2 = 0x14;
                                         |     /* str.Creative_Voice_File */
    0x00009d58 addiu a1, a1, 0x2df0      |     a1 += 0x2df0;
    0x00009d5c move a0, s0               |     a0 = s0;
    0x00009d60 jalr t9                   |     t9 ();
    0x00009d64 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x00009d68 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 != 0) {
    0x00009d6c bnez v0, 0xa54c           |         goto label_18;
                                         |     }
    0x00009d70 lhu a0, 0x18(s0)          |     a0 = *((s0 + 12));
    0x00009d74 addiu v0, zero, 0x1233    |     v0 = 0x1233;
    0x00009d78 lhu v1, 0x16(s0)          |     v1 = *((s0 + 11));
    0x00009d7c subu v0, v0, a0           |     __asm ("subu v0, v0, a0");
    0x00009d80 addiu v0, zero, -1        |     v0 = -1;
                                         |     if (v1 != v0) {
    0x00009d84 bne v1, v0, 0xa550        |         goto label_19;
                                         |     }
    0x00009d88 lhu s1, 0x14(s0)          |     s1 = *((s0 + 10));
    0x00009d8c addiu s1, s1, -0x1a       |     s1 += -0x1a;
    0x00009d90 lw s0, -0x7fdc(gp)        |     s0 = *((gp - 8183));
                                         |     if (s1 < 0) {
    0x00009d94 bltz s1, 0xa550           |         goto label_19;
                                         |     }
    0x00009d98 lw t9, -0x7fd4(gp)        |     t9 = *((gp - 8181));
    0x00009d9c addiu t9, t9, 0x5190      |     t9 += fcn.00005190;
    0x00009da0 sw s0, 0x58(sp)           |     *(var_58h) = s0;
    0x00009da4 bal 0x5190                |     fcn_00005190 ();
    0x00009da8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009dac lui a0, 1                 |     a0 = 0x10000;
    0x00009db0 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00009db4 lw t9, -0x7e88(gp)        |     t9 = sym.imp.malloc;
    0x00009db8 sw v0, 0x5018(a1)         |     *((a1 + 5126)) = v0;
    0x00009dbc lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00009dc0 sw v1, 0x501c(a1)         |     *((a1 + 5127)) = v1;
    0x00009dc4 lw v0, 0x5020(v0)         |     v0 = *((v0 + 5128));
    0x00009dc8 sw v0, 0x24(sp)           |     *(var_24h) = v0;
    0x00009dcc jalr t9                   |     t9 ();
    0x00009dd0 move fp, v0               |     fp = v0;
    0x00009dd4 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009dd8 sw zero, 0x543c(s0)       |     *((s0 + 5391)) = 0;
                                         |     if (v0 == 0) {
    0x00009ddc beqz v0, 0xa8c4           |         goto label_20;
                                         |     }
    0x00009de0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00009de4 sw v0, 0x30(sp)           |     *(var_30h) = v0;
    0x00009de8 lw v0, 0x548c(v0)         |     v0 = *((v0 + 5411));
    0x00009dec lw v0, -0x7e24(gp)        |     v0 = *((gp - 8073));
                                         |     if (v0 == 0) {
    0x00009df0 beqz v0, 0xa3dc           |         goto label_21;
                                         |     }
                                         | label_4:
    0x00009df4 lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
    0x00009df8 lw a2, 0x542c(s6)         |     a2 = *((s6 + 5387));
    0x00009dfc slt v0, a2, s1            |     v0 = (a2 < s1) ? 1 : 0;
    0x00009e00 lw a0, 0x24(sp)           |     a0 = *(var_24h);
                                         |     if (v0 == 0) {
    0x00009e04 beqz v0, 0x9e38           |         goto label_22;
                                         |     }
    0x00009e08 lw s0, -0x7fd4(gp)        |     s0 = *((gp - 8181));
    0x00009e0c addiu s0, s0, 0x50b0      |     s0 += fcn.000050b0;
                                         |     do {
    0x00009e10 move t9, s0               |         t9 = s0;
    0x00009e14 move a1, fp               |         a1 = fp;
    0x00009e18 bal 0x50b0                |         fcn_000050b0 ();
    0x00009e1c lw a2, 0x542c(s6)         |         a2 = *((s6 + 5387));
    0x00009e20 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 != a2) {
    0x00009e24 bne v0, a2, 0xa838        |             goto label_23;
                                         |         }
    0x00009e28 subu s1, s1, a2           |         __asm ("subu s1, s1, a2");
    0x00009e2c slt v0, a2, s1            |         v0 = (a2 < s1) ? 1 : 0;
    0x00009e30 lw a0, 0x24(sp)           |         a0 = *(var_24h);
    0x00009e34 bnez v0, 0x9e10           |         
                                         |     } while (v0 != 0);
                                         | label_22:
    0x00009e38 lw t9, -0x7fd4(gp)        |     t9 = *((gp - 8181));
                                         |     if (s1 != 0) {
    0x00009e3c bnez s1, 0xa134           |         goto label_24;
                                         |     }
                                         | label_1:
    0x00009e40 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00009e44 lw v1, -0x7fd4(gp)        |     v1 = *((gp - 8181));
    0x00009e48 addiu s7, a0, 0x54a4      |     s7 = a0 + 0x54a4;
    0x00009e4c addiu v0, zero, 1         |     v0 = 1;
    0x00009e50 addiu t9, v1, 0x67b4      |     t9 = v1 + fcn.000067b4;
    0x00009e54 sw v0, 0x54a4(a0)         |     *((a0 + 5417)) = v0;
    0x00009e58 sw v0, 4(s7)              |     *((s7 + 1)) = v0;
    0x00009e5c addiu v0, zero, 0x1f40    |     v0 = 0x1f40;
    0x00009e60 sw v0, 8(s7)              |     *((s7 + 2)) = v0;
    0x00009e64 sw a0, 0x54(sp)           |     *(var_54h) = a0;
    0x00009e68 sw t9, 0x48(sp)           |     *(var_48h) = t9;
    0x00009e6c bal 0x67b4                |     fcn_000067b4 ();
    0x00009e70 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00009e74 move s4, fp               |     s4 = fp;
    0x00009e78 sw zero, 0x50(sp)         |     *(var_50h) = 0;
    0x00009e7c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00009e80 sw zero, 0x44(sp)         |     *(var_44h) = 0;
    0x00009e84 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x00009e88 lw v0, -0x7fd4(gp)        |     v0 = *((gp - 8181));
    0x00009e8c sw zero, 0x40(sp)         |     *(var_40h) = 0;
    0x00009e90 sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x00009e94 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00009e98 move v1, zero             |     v1 = 0;
    0x00009e9c addiu v0, v0, 0x3f64      |     v0 += 0x3f64;
    0x00009ea0 sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x00009ea4 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00009ea8 sw zero, 0x28(sp)         |     *(var_28h) = 0;
                                         |     /* str.voc_play */
    0x00009eac addiu v0, v0, 0x4204      |     v0 += 0x4204;
    0x00009eb0 move s5, zero             |     s5 = 0;
    0x00009eb4 move s0, zero             |     s0 = 0;
    0x00009eb8 sw v0, 0x68(sp)           |     *(var_68h) = v0;
                                         | label_8:
    0x00009ebc lw v0, 0x20(sp)           |     v0 = *(var_20h);
    0x00009ec0 lw v0, 0x5478(v0)         |     v0 = *((v0 + 5406));
    0x00009ec4 lw a0, 0x34(sp)           |     a0 = *(var_34h);
                                         |     if (v0 != 0) {
    0x00009ec8 bnez v0, 0x9fe0           |         goto label_16;
                                         |     }
    0x00009ecc sltiu v0, s5, 0x20        |     v0 = (s5 < 0x20) ? 1 : 0;
    0x00009ed0 addiu a0, a0, 0x50b0      |     a0 += fcn.000050b0;
    0x00009ed4 sw a0, 0x4c(sp)           |     *(var_4ch) = a0;
                                         |     if (v0 != 0) {
    0x00009ed8 beqz v0, 0x9f18           |         
                                         | label_3:
    0x00009edc lw s1, 0x542c(s6)         |         s1 = *((s6 + 5387));
    0x00009ee0 addu s2, fp, s5           |         s2 = fp + s5;
    0x00009ee4 subu s1, s1, s5           |         __asm ("subu s1, s1, s5");
    0x00009ee8 sw v1, 0x3c(sp)           |         *(var_3ch) = v1;
                                         |         if (s5 != 0) {
    0x00009eec bnez s5, 0xa420           |             goto label_25;
                                         |         }
    0x00009ef0 lw a0, 0x24(sp)           |         a0 = *(var_24h);
    0x00009ef4 lw t9, 0x4c(sp)           |         t9 = *(var_4ch);
    0x00009ef8 move a2, s1               |         a2 = s1;
    0x00009efc move a1, s2               |         a1 = s2;
    0x00009f00 jalr t9                   |         t9 ();
    0x00009f04 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00009f08 lw v1, 0x3c(sp)           |         v1 = *(var_3ch);
                                         |         if (v0 <= 0) {
    0x00009f0c blez v0, 0x9fd4           |             goto label_26;
                                         |         }
                                         | label_5:
    0x00009f10 addu s5, s5, v0           |         s5 += v0;
    0x00009f14 move s4, fp               |         s4 = fp;
                                         |     }
                                         | label_6:
    0x00009f18 sltiu v0, s5, 4           |     v0 = (s5 < 4) ? 1 : 0;
                                         |     if (s0 != 0) {
    0x00009f1c bnez s0, 0xa714           |         goto label_27;
                                         |     }
    0x00009f20 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v0 != 0) {
    0x00009f24 bnez v0, 0x9fe0           |         goto label_16;
                                         |     }
    0x00009f28 lw s3, -0x7fd8(gp)        |     s3 = *(gp);
    0x00009f2c sw v0, 0x60(sp)           |     *(var_60h) = v0;
    0x00009f30 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00009f34 sw fp, 0x6c(sp)           |     *(var_6ch) = fp;
    0x00009f38 sw v0, 0x64(sp)           |     *(var_64h) = v0;
    0x00009f3c addiu v0, s3, -0x6464     |     v0 = s3 + -0x6464;
    0x00009f40 sw v0, 0x3c(sp)           |     *(var_3ch) = v0;
                                         |     do {
    0x00009f44 lbu s0, 2(s4)             |         s0 = *((s4 + 2));
    0x00009f48 lbu v0, 3(s4)             |         v0 = *((s4 + 3));
    0x00009f4c sll s0, s0, 8             |         s0 <<= 8;
    0x00009f50 sll v0, v0, 0x10          |         v0 <<= 0x10;
    0x00009f54 lbu a0, 1(s4)             |         a0 = *((s4 + 1));
    0x00009f58 or s0, s0, v0             |         s0 |= v0;
    0x00009f5c addiu s1, s5, -4          |         s1 = s5 + -4;
    0x00009f60 addiu s2, s4, 4           |         s2 = s4 + 4;
    0x00009f64 or s0, s0, a0             |         s0 |= a0;
                                         |         if (v1 != 0) {
    0x00009f68 beqz v1, 0x9f7c           |             
    0x00009f6c lw v0, 0x30(sp)           |             v0 = *(var_30h);
    0x00009f70 lw v0, 0x548c(v0)         |             v0 = *((v0 + 5411));
    0x00009f74 lw v0, -0x7e24(gp)        |             v0 = *((gp - 8073));
                                         |             if (v0 == 0) {
    0x00009f78 beqz v0, 0xa070           |                 goto label_28;
                                         |             }
                                         |         }
    0x00009f7c lbu v0, (s4)              |         v0 = *(s4);
    0x00009f80 sltiu v1, v0, 9           |         v1 = (v0 < 9) ? 1 : 0;
                                         |         if (v1 == 0) {
    0x00009f84 beql v1, zero, 0xa094     |             goto label_29;
                                         |         }
    0x00009f88 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
                                         | label_0:
    0x00009f8c lw v1, 0x38(sp)           |         v1 = *(var_38h);
    0x00009f90 sll v0, v0, 2             |         v0 <<= 2;
    0x00009f94 lwx v0, v0(v1)            |         __asm ("lwx v0, v0(v1)");
    0x00009f98 addu v0, v0, gp           |         v0 += gp;
    0x00009f9c jr v0                     |         v0 ();
    0x00009fa0 nop                       |         
                                         | label_2:
    0x00009fbc sltiu v0, s1, 4           |         v0 = (s1 < 4) ? 1 : 0;
                                         |         if (s0 != 0) {
    0x00009fc0 bnez s0, 0xa558           |             goto label_30;
                                         |         }
    0x00009fc4 move s4, s2               |         s4 = s2;
                                         |         if (v0 != 0) {
    0x00009fc8 bnez v0, 0xa91c           |             goto label_31;
                                         |         }
    0x00009fcc move s5, s1               |         s5 = s1;
    0x00009fd0 b 0x9f44                  |         
                                         |     } while (1);
                                         | label_26:
    0x00009fd4 addiu v1, zero, -1        |     v1 = -1;
    0x00009fd8 sb zero, (s2)             |     *(s2) = 0;
                                         |     if (v0 == v1) {
    0x00009fdc beq v0, v1, 0xa924        |         goto label_32;
                                         |     }
                                         | label_16:
    0x00009fe0 lw v0, 0x58(sp)           |     v0 = *(var_58h);
    0x00009fe4 lw v0, 0x543c(v0)         |     v0 = *((v0 + 5391));
                                         |     if (v0 > 0) {
    0x00009fe8 bgtzl v0, 0xa638          |         goto label_33;
                                         |     }
    0x00009fec lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         | label_9:
    0x00009ff0 lw s0, -0x7fdc(gp)        |     s0 = *((gp - 8183));
    0x00009ff4 lw t9, -0x7ee0(gp)        |     t9 = sym.imp.snd_pcm_nonblock;
    0x00009ff8 move a1, zero             |     a1 = 0;
    0x00009ffc lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x0000a000 jalr t9                   |     t9 ();
    0x0000a004 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000a008 lw t9, -0x7d70(gp)        |     t9 = sym.imp.snd_pcm_drain;
    0x0000a00c lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x0000a010 jalr t9                   |     t9 ();
    0x0000a014 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000a018 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x0000a01c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000a020 lw t9, -0x7ee0(gp)        |     t9 = sym.imp.snd_pcm_nonblock;
    0x0000a024 lw a1, 0x547c(v0)         |     a1 = *((v0 + 5407));
    0x0000a028 jalr t9                   |     t9 ();
    0x0000a02c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000a030 lw t9, -0x7dd4(gp)        |     t9 = sym.imp.free;
    0x0000a034 move a0, fp               |     a0 = fp;
    0x0000a038 jalr t9                   |     t9 ();
                                         | label_7:
    0x0000a03c lw ra, 0x94(sp)           |     ra = *(var_94h);
    0x0000a040 lw v0, 0x2c(sp)           |     v0 = *(var_2ch);
    0x0000a044 lw fp, 0x90(sp)           |     fp = *(var_90h);
    0x0000a048 lw s7, 0x8c(sp)           |     s7 = *(var_8ch);
    0x0000a04c lw s6, 0x88(sp)           |     s6 = *(var_88h);
    0x0000a050 lw s5, 0x84(sp)           |     s5 = *(var_84h);
    0x0000a054 lw s4, 0x80(sp)           |     s4 = *(var_80h);
    0x0000a058 lw s3, 0x7c(sp)           |     s3 = *(var_7ch);
    0x0000a05c lw s2, 0x78(sp)           |     s2 = *(var_78h);
    0x0000a060 lw s1, 0x74(sp)           |     s1 = *(var_74h);
    0x0000a064 lw s0, 0x70(sp)           |     s0 = *(var_70h);
    0x0000a068 addiu sp, sp, 0x98        |     
    0x0000a06c jr ra                     |     return v0;
                                         | label_28:
    0x0000a070 lw t9, -0x7ea4(gp)        |     t9 = sym.imp.fputc;
    0x0000a074 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x0000a078 lw a1, (v0)               |     a1 = *(v0);
    0x0000a07c jalr t9                   |     t9 ();
    0x0000a080 lbu v0, (s4)              |     v0 = *(s4);
    0x0000a084 sltiu v1, v0, 9           |     v1 = (v0 < 9) ? 1 : 0;
    0x0000a088 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v1 != 0) {
    0x0000a08c bnez v1, 0x9f8c           |         goto label_0;
                                         |     }
    0x0000a090 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         | label_29:
    0x0000a094 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x0000a098 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x0000a09c lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x0000a0a0 addiu v0, zero, 0x9a3     |     v0 = 0x9a3;
    0x0000a0a4 lw a0, (s0)               |     a0 = *(s0);
    0x0000a0a8 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000a0ac lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x0000a0b0 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.voc_play */
    0x0000a0b4 addiu v0, v0, 0x4204      |     v0 += 0x4204;
                                         |     /* str._s:__s:_d:_ */
    0x0000a0b8 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x0000a0bc addiu a1, zero, 1         |     a1 = 1;
    0x0000a0c0 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000a0c4 jalr t9                   |     t9 ();
    0x0000a0c8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000a0cc lbu a3, (s4)              |     a3 = *(s4);
    0x0000a0d0 lw a0, (s0)               |     a0 = *(s0);
    0x0000a0d4 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x0000a0d8 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.unknown_blocktype__d._terminate. */
    0x0000a0dc addiu a2, a2, 0x3560      |     a2 += 0x3560;
    0x0000a0e0 addiu a1, zero, 1         |     a1 = 1;
    0x0000a0e4 jalr t9                   |     t9 ();
    0x0000a0e8 nop                       |     
    0x0000a0ec lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000a0f0 lw a1, (s0)               |     a1 = *(s0);
    0x0000a0f4 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x0000a0f8 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x0000a0fc jalr t9                   |     t9 ();
    0x0000a100 lw ra, 0x94(sp)           |     ra = *(var_94h);
    0x0000a104 lw v0, 0x2c(sp)           |     v0 = *(var_2ch);
    0x0000a108 lw fp, 0x90(sp)           |     fp = *(var_90h);
    0x0000a10c lw s7, 0x8c(sp)           |     s7 = *(var_8ch);
    0x0000a110 lw s6, 0x88(sp)           |     s6 = *(var_88h);
    0x0000a114 lw s5, 0x84(sp)           |     s5 = *(var_84h);
    0x0000a118 lw s4, 0x80(sp)           |     s4 = *(var_80h);
    0x0000a11c lw s3, 0x7c(sp)           |     s3 = *(var_7ch);
    0x0000a120 lw s2, 0x78(sp)           |     s2 = *(var_78h);
    0x0000a124 lw s1, 0x74(sp)           |     s1 = *(var_74h);
    0x0000a128 lw s0, 0x70(sp)           |     s0 = *(var_70h);
    0x0000a12c addiu sp, sp, 0x98        |     
    0x0000a130 jr ra                     |     return v0;
                                         | label_24:
    0x0000a134 lw a0, 0x24(sp)           |     a0 = *(var_24h);
    0x0000a138 move a2, s1               |     a2 = s1;
    0x0000a13c addiu t9, t9, 0x50b0      |     t9 += fcn.000050b0;
    0x0000a140 move a1, fp               |     a1 = fp;
    0x0000a144 bal 0x50b0                |     fcn_000050b0 ();
    0x0000a148 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == s1) {
    0x0000a14c beq v0, s1, 0x9e40        |         goto label_1;
                                         |     }
    0x0000a150 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x0000a154 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000a158 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x0000a15c lw a0, (s0)               |     a0 = *(s0);
    0x0000a160 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x0000a164 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
                                         |     /* str._s:__s:_d:_ */
    0x0000a168 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x0000a16c addiu a1, zero, 1         |     a1 = 1;
    0x0000a170 addiu v0, zero, 0x903     |     v0 = 0x903;
                                         | label_14:
    0x0000a174 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000a178 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
                                         |     /* str.voc_play */
    0x0000a17c addiu v0, v0, 0x4204      |     v0 += 0x4204;
    0x0000a180 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000a184 jalr t9                   |     t9 ();
    0x0000a188 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000a18c lw a3, (s0)               |     a3 = *(s0);
    0x0000a190 addiu a2, zero, 0xa       |     a2 = 0xa;
    0x0000a194 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x0000a198 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x0000a19c addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.read_error */
    0x0000a1a0 addiu a0, a0, 0x2d88      |     a0 += 0x2d88;
                                         | label_13:
    0x0000a1a4 jalr t9                   |     t9 ();
    0x0000a1a8 nop                       |     
    0x0000a1ac lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000a1b0 lw a1, (s0)               |     a1 = *(s0);
    0x0000a1b4 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x0000a1b8 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x0000a1bc jalr t9                   |     t9 ();
    0x0000a1c0 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         | label_17:
    0x0000a1c4 lw t9, -0x7fd4(gp)        |     t9 = *((gp - 8181));
    0x0000a1c8 addiu t9, t9, 0x59bc      |     t9 += fcn.000059bc;
    0x0000a1cc addiu a0, zero, 1         |     a0 = 1;
    0x0000a1d0 bal 0x59bc                |     fcn_000059bc ();
    0x0000a1d4 lw v0, 0x40(sp)           |     v0 = *(var_40h);
    0x0000a1d8 move v1, zero             |     v1 = 0;
                                         |     if (v0 == 0) {
    0x0000a1dc beqz v0, 0x9fbc           |         goto label_2;
                                         |     }
    0x0000a1e0 lw v1, 0x40(sp)           |     v1 = *(var_40h);
    0x0000a1e4 ori v0, zero, 0xffff      |     v0 = 0xffff;
    0x0000a1e8 lw fp, 0x6c(sp)           |     fp = *(var_6ch);
                                         |     if (v1 != v0) {
    0x0000a1ec beq v1, v0, 0xa1fc        |         
    0x0000a1f0 addiu v0, v1, -1          |         v0 = v1 + -1;
    0x0000a1f4 andi v0, v0, 0xffff       |         v0 &= 0xffff;
    0x0000a1f8 sw v0, 0x40(sp)           |         *(var_40h) = v0;
                                         |     }
    0x0000a1fc lw t9, -0x7d54(gp)        |     t9 = sym.imp.lseek64;
    0x0000a200 lw a2, 0x50(sp)           |     a2 = *(var_50h);
    0x0000a204 lw a3, 0x44(sp)           |     a3 = *(var_44h);
    0x0000a208 lw a0, 0x24(sp)           |     a0 = *(var_24h);
    0x0000a20c sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x0000a210 jalr t9                   |     t9 ();
    0x0000a214 move s5, zero             |     s5 = 0;
    0x0000a218 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000a21c move v1, zero             |     v1 = 0;
    0x0000a220 move s4, s2               |     s4 = s2;
    0x0000a224 b 0x9edc                  |     goto label_3;
                                         | label_21:
    0x0000a3dc lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x0000a3e0 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x0000a3e4 lw a0, (v0)               |     a0 = *(v0);
    0x0000a3e8 lw a3, 0x98(sp)           |     a3 = *(arg_98h);
                                         |     /* str.Playing_Creative_Labs_Channel_file__s..._n */
    0x0000a3ec addiu a2, a2, 0x34c8      |     a2 += 0x34c8;
    0x0000a3f0 addiu a1, zero, 1         |     a1 = 1;
    0x0000a3f4 jalr t9                   |     t9 ();
    0x0000a3f8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000a3fc b 0x9df4                  |     goto label_4;
                                         | label_25:
    0x0000a420 lw t9, -0x7d7c(gp)        |     t9 = sym.imp.__memcpy_chk;
    0x0000a424 lui a3, 1                 |     a3 = 0x10000;
    0x0000a428 move a2, s5               |     a2 = s5;
    0x0000a42c move a1, s4               |     a1 = s4;
    0x0000a430 move a0, fp               |     a0 = fp;
    0x0000a434 jalr t9                   |     t9 ();
    0x0000a438 lw a0, 0x24(sp)           |     a0 = *(var_24h);
    0x0000a43c lw t9, 0x4c(sp)           |     t9 = *(var_4ch);
    0x0000a440 move a2, s1               |     a2 = s1;
    0x0000a444 move a1, s2               |     a1 = s2;
    0x0000a448 jalr t9                   |     t9 ();
    0x0000a44c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000a450 lw v1, 0x3c(sp)           |     v1 = *(var_3ch);
                                         |     if (v0 > 0) {
    0x0000a454 bgtz v0, 0x9f10           |         goto label_5;
                                         |     }
    0x0000a458 move s4, fp               |     s4 = fp;
    0x0000a45c b 0x9f18                  |     goto label_6;
                                         | label_18:
    0x0000a54c addiu v0, zero, -1        |     v0 = -1;
                                         | label_19:
    0x0000a550 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x0000a554 b 0xa03c                  |     goto label_7;
                                         | label_30:
    0x0000a558 lw fp, 0x6c(sp)           |     fp = *(var_6ch);
                                         | label_10:
    0x0000a55c sltu s3, s1, s0           |     s3 = (s1 < s0) ? 1 : 0;
    0x0000a560 move v0, s1               |     v0 = s1;
                                         |     if (s3 != 0) {
    0x0000a564 movz v0, s0, s3           |         v0 = s0;
                                         |     }
    0x0000a568 move s3, v0               |     s3 = v0;
                                         |     if (v0 != 0) {
    0x0000a56c beqz v0, 0xa5b4           |         
    0x0000a570 lw v0, 0x30(sp)           |         v0 = *(var_30h);
                                         |         if (v1 != 0) {
    0x0000a574 beqz v1, 0xa584           |             
    0x0000a578 lw v0, 0x548c(v0)         |             v0 = *((v0 + 5411));
    0x0000a57c move s4, zero             |             s4 = 0;
                                         |             if (v0 == 0) {
    0x0000a580 beqz v0, 0xa7a0           |                 goto label_34;
                                         |             }
                                         |         }
    0x0000a584 lw t9, -0x7fd8(gp)        |         t9 = *(gp);
    0x0000a588 sw v1, 0x3c(sp)           |         *(var_3ch) = v1;
    0x0000a58c move a1, s3               |         a1 = s3;
    0x0000a590 addiu t9, t9, -0x6464     |         t9 += -0x6464;
    0x0000a594 move a0, s2               |         a0 = s2;
    0x0000a598 bal 0x9b9c                |         fcn_00009b9c ();
    0x0000a59c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000a5a0 lw v1, 0x3c(sp)           |         v1 = *(var_3ch);
                                         |         if (s3 != v0) {
    0x0000a5a4 bne s3, v0, 0xa938        |             goto label_35;
                                         |         }
    0x0000a5a8 subu s0, s0, s3           |         __asm ("subu s0, s0, s3");
                                         | label_12:
    0x0000a5ac subu s1, s1, s3           |         __asm ("subu s1, s1, s3");
    0x0000a5b0 addu s2, s2, s3           |         s2 += s3;
                                         |     }
    0x0000a5b4 move s4, s2               |     s4 = s2;
    0x0000a5b8 move s5, s1               |     s5 = s1;
    0x0000a5bc b 0x9ebc                  |     goto label_8;
                                         | label_33:
    0x0000a638 sll v1, v0, 3             |     v1 = v0 << 3;
    0x0000a63c lw a1, 0x5c(sp)           |     a1 = *(var_5ch);
    0x0000a640 lw a0, 0x5434(a0)         |     a0 = *((a0 + 5389));
    0x0000a644 lw a2, 0x542c(s6)         |     a2 = *((s6 + 5387));
    0x0000a648 divu zero, v1, a0         |     __asm ("divu zero, v1, a0");
    0x0000a64c teq a0, zero, 7           |     __asm ("teq a0, zero, 7");
    0x0000a650 lw a0, 0x54(sp)           |     a0 = *(var_54h);
    0x0000a654 lw a1, 0x5474(a1)         |     a1 = *((a1 + 5405));
    0x0000a658 lw t9, -0x7ed4(gp)        |     t9 = sym.imp.snd_pcm_format_set_silence;
    0x0000a65c lw a0, 0x54a4(a0)         |     a0 = *((a0 + 5417));
    0x0000a660 addu a1, a1, v0           |     a1 += v0;
    0x0000a664 mflo v1                   |     __asm ("mflo v1");
    0x0000a668 subu a2, a2, v1           |     __asm ("subu a2, a2, v1");
    0x0000a66c jalr t9                   |     t9 ();
    0x0000a670 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x0000a674 bltz v0, 0xa720           |         goto label_36;
                                         |     }
                                         | label_11:
    0x0000a678 lw v0, 0x5c(sp)           |     v0 = *(var_5ch);
    0x0000a67c lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x0000a680 lw a0, 0x5474(v0)         |     a0 = *((v0 + 5405));
    0x0000a684 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000a688 addiu t9, t9, -0x6924     |     t9 += -0x6924;
    0x0000a68c lw s0, 0x5470(v0)         |     s0 = *((v0 + 5404));
    0x0000a690 move a1, s0               |     a1 = s0;
    0x0000a694 bal 0x96dc                |     fcn_000096dc ();
    0x0000a698 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == s0) {
    0x0000a69c beq v0, s0, 0x9ff0        |         goto label_9;
                                         |     }
    0x0000a6a0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000a6a4 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x0000a6a8 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x0000a6ac lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x0000a6b0 addiu v0, zero, 0x8da     |     v0 = 0x8da;
    0x0000a6b4 lw a0, (s0)               |     a0 = *(s0);
    0x0000a6b8 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000a6bc lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x0000a6c0 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.voc_pcm_flush */
    0x0000a6c4 addiu v0, v0, 0x41e0      |     v0 += 0x41e0;
                                         |     /* str._s:__s:_d:_ */
    0x0000a6c8 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x0000a6cc addiu a1, zero, 1         |     a1 = 1;
    0x0000a6d0 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000a6d4 jalr t9                   |     t9 ();
    0x0000a6d8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000a6dc lw a3, (s0)               |     a3 = *(s0);
    0x0000a6e0 addiu a2, zero, 0x13      |     a2 = 0x13;
    0x0000a6e4 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x0000a6e8 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x0000a6ec addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.voc_pcm_flush_error */
    0x0000a6f0 addiu a0, a0, 0x35a4      |     a0 += 0x35a4;
    0x0000a6f4 jalr t9                   |     t9 ();
    0x0000a6f8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000a6fc lw a1, (s0)               |     a1 = *(s0);
    0x0000a700 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x0000a704 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x0000a708 jalr t9                   |     t9 ();
    0x0000a70c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000a710 b 0x9ff0                  |     goto label_9;
                                         | label_27:
    0x0000a714 move s2, s4               |     s2 = s4;
    0x0000a718 move s1, s5               |     s1 = s5;
    0x0000a71c b 0xa55c                  |     goto label_10;
                                         | label_36:
    0x0000a720 lw v0, -0x7e24(gp)        |     v0 = *((gp - 8073));
    0x0000a724 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x0000a728 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x0000a72c lw a3, (v0)               |     a3 = *(v0);
    0x0000a730 addiu a2, zero, 0x1d      |     a2 = 0x1d;
    0x0000a734 addiu a1, zero, 1         |     a1 = 1;
                                         |     /* str.voc_pcm_flush___silence_error */
    0x0000a738 addiu a0, a0, 0x3584      |     a0 += 0x3584;
    0x0000a73c jalr t9                   |     t9 ();
    0x0000a740 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000a744 b 0xa678                  |     goto label_11;
                                         | label_34:
    0x0000a7a0 move s5, v1               |     s5 = v1;
    0x0000a7a4 lw t9, -0x7d50(gp)        |     t9 = sym.imp.write;
                                         |     do {
    0x0000a7a8 subu a2, s3, s4           |         __asm ("subu a2, s3, s4");
    0x0000a7ac addu a1, s2, s4           |         a1 = s2 + s4;
    0x0000a7b0 addiu a0, zero, 2         |         a0 = 2;
    0x0000a7b4 jalr t9                   |         t9 ();
    0x0000a7b8 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 <= 0) {
    0x0000a7bc blez v0, 0xa888           |             goto label_37;
                                         |         }
    0x0000a7c0 addu s4, s4, v0           |         s4 += v0;
    0x0000a7c4 sltu v0, s4, s3           |         v0 = (s4 < s3) ? 1 : 0;
    0x0000a7c8 lw t9, -0x7d50(gp)        |         t9 = sym.imp.write;
    0x0000a7cc bnez v0, 0xa7a8           |         
                                         |     } while (v0 != 0);
    0x0000a7d0 move v1, s5               |     v1 = s5;
    0x0000a7d4 move v0, s4               |     v0 = s4;
                                         |     if (s3 == v0) {
                                         | label_15:
    0x0000a7d8 beql s3, v0, 0xa5ac       |         goto label_12;
                                         |     }
    0x0000a7dc subu s0, s0, s3           |     __asm ("subu s0, s0, s3");
    0x0000a7e0 lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x0000a7e4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000a7e8 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x0000a7ec lw a0, (s0)               |     a0 = *(s0);
    0x0000a7f0 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
    0x0000a7f4 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
                                         |     /* str._s:__s:_d:_ */
    0x0000a7f8 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x0000a7fc addiu a1, zero, 1         |     a1 = 1;
    0x0000a800 addiu v0, zero, 0x9ae     |     v0 = 0x9ae;
                                         |     do {
    0x0000a804 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x0000a808 lw v0, -0x7fd8(gp)        |         v0 = *(gp);
                                         |         /* str.voc_play */
    0x0000a80c addiu v0, v0, 0x4204      |         v0 += 0x4204;
    0x0000a810 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000a814 jalr t9                   |         t9 ();
    0x0000a818 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000a81c lw a3, (s0)               |         a3 = *(s0);
    0x0000a820 addiu a2, zero, 0xb       |         a2 = 0xb;
    0x0000a824 lw a0, -0x7fd8(gp)        |         a0 = *(gp);
    0x0000a828 lw t9, -0x7e6c(gp)        |         t9 = sym.imp.fwrite;
    0x0000a82c addiu a1, zero, 1         |         a1 = 1;
                                         |         /* str.write_error */
    0x0000a830 addiu a0, a0, 0x2dc0      |         a0 += 0x2dc0;
    0x0000a834 b 0xa1a4                  |         goto label_13;
                                         | label_23:
    0x0000a838 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x0000a83c lw s0, -0x7e24(gp)        |         s0 = *((gp - 8073));
    0x0000a840 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x0000a844 lw a3, 0x54b4(v0)         |         a3 = *((v0 + 5421));
    0x0000a848 lw a0, (s0)               |         a0 = *(s0);
    0x0000a84c lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str._s:__s:_d:_ */
    0x0000a850 addiu a2, a2, 0x2b6c      |         a2 += 0x2b6c;
    0x0000a854 addiu a1, zero, 1         |         a1 = 1;
    0x0000a858 addiu v0, zero, 0x8fc     |         v0 = 0x8fc;
    0x0000a85c b 0xa174                  |         goto label_14;
                                         | label_37:
    0x0000a888 move v1, s5               |         v1 = s5;
    0x0000a88c b 0xa7d8                  |         goto label_15;
                                         | label_20:
    0x0000a8c4 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x0000a8c8 lw s0, -0x7e24(gp)        |         s0 = *((gp - 8073));
    0x0000a8cc lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x0000a8d0 lw a3, 0x54b4(v0)         |         a3 = *((v0 + 5421));
    0x0000a8d4 addiu v0, zero, 0x8f3     |         v0 = 0x8f3;
    0x0000a8d8 lw a0, (s0)               |         a0 = *(s0);
    0x0000a8dc sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x0000a8e0 lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x0000a8e4 lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str.voc_play */
    0x0000a8e8 addiu v0, v0, 0x4204      |         v0 += 0x4204;
                                         |         /* str._s:__s:_d:_ */
    0x0000a8ec addiu a2, a2, 0x2b6c      |         a2 += 0x2b6c;
    0x0000a8f0 addiu a1, zero, 1         |         a1 = 1;
    0x0000a8f4 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000a8f8 jalr t9                   |         t9 ();
    0x0000a8fc lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000a900 lw a3, (s0)               |         a3 = *(s0);
    0x0000a904 addiu a2, zero, 0xc       |         a2 = 0xc;
    0x0000a908 lw a0, -0x7fd8(gp)        |         a0 = *(gp);
    0x0000a90c lw t9, -0x7e6c(gp)        |         t9 = sym.imp.fwrite;
    0x0000a910 addiu a1, zero, 1         |         a1 = 1;
    0x0000a914 negu zero, a0             |         __asm ("negu zero, a0");
                                         |         /* str.malloc_error */
    0x0000a918 addiu a0, a0, 0x3400      |         a0 += 0x3400;
                                         | label_31:
    0x0000a91c lw fp, 0x6c(sp)           |         fp = *(var_6ch);
    0x0000a920 b 0x9fe0                  |         goto label_16;
                                         | label_32:
    0x0000a924 lw t9, -0x7db0(gp)        |         t9 = sym.imp.perror;
    0x0000a928 lw a0, 0x98(sp)           |         a0 = *(arg_98h);
    0x0000a92c jalr t9                   |         t9 ();
    0x0000a930 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000a934 b 0xa1c4                  |         goto label_17;
                                         | label_35:
    0x0000a938 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x0000a93c lw s0, -0x7e24(gp)        |         s0 = *((gp - 8073));
    0x0000a940 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x0000a944 lw a3, 0x54b4(v0)         |         a3 = *((v0 + 5421));
    0x0000a948 lw a0, (s0)               |         a0 = *(s0);
    0x0000a94c lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str._s:__s:_d:_ */
    0x0000a950 addiu a2, a2, 0x2b6c      |         a2 += 0x2b6c;
    0x0000a954 addiu a1, zero, 1         |         a1 = 1;
    0x0000a958 addiu v0, zero, 0x9b3     |         v0 = 0x9b3;
    0x0000a95c b 0xa804                  |         
                                         |     } while (1);
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0xadf4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000adf4 ()                  | void fcn_0000adf4 () {
    0x0000adf4 lui gp, 2                     |     
    0x0000adf8 addiu gp, gp, 0x224c          |     
    0x0000adfc addu gp, gp, t9               |     gp += t9;
    0x0000ae00 addiu sp, sp, -0x40           |     
    0x0000ae04 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000ae08 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x0000ae0c move s1, a1                   |     s1 = a1;
    0x0000ae10 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0000ae14 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x0000ae18 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x0000ae1c sw s6, 0x38(sp)               |     *(var_38h) = s6;
    0x0000ae20 sw s5, 0x34(sp)               |     *(var_34h) = s5;
    0x0000ae24 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x0000ae28 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0000ae2c sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x0000ae30 move s3, a0                   |     s3 = a0;
    0x0000ae34 addiu a1, zero, 0x18          |     a1 = 0x18;
    0x0000ae38 addiu t9, t9, 0x5ad4          |     t9 += fcn.00005ad4;
    0x0000ae3c move a0, s1                   |     a0 = s1;
    0x0000ae40 bal 0x5ad4                    |     fcn_00005ad4 ();
    0x0000ae44 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x0000ae48 bltz v0, 0xaec4               |         goto label_0;
                                             |     }
    0x0000ae4c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000ae50 lw s2, -0x7fdc(gp)            |     s2 = *((gp - 8183));
    0x0000ae54 lw s0, 0x5474(v0)             |     s0 = *((v0 + 5405));
    0x0000ae58 lui v0, 0x646e                |     v0 = 0x646e732e;
    0x0000ae5c addiu v0, v0, 0x732e          |     
    0x0000ae60 lw v1, (s0)                   |     v1 = *(s0);
    0x0000ae64 lw s5, 0x5020(s2)             |     s5 = *((s2 + 5128));
                                             |     if (v1 != v0) {
    0x0000ae68 bne v1, v0, 0xaec4            |         goto label_0;
                                             |     }
    0x0000ae6c lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x0000ae70 wsbh v0, v0                   |     __asm ("wsbh v0, v0");
    0x0000ae74 rotr v0, v0, 0x10             |     __asm ("rotr v0, v0, 0x10");
    0x0000ae78 addiu v0, v0, -0x18           |     v0 += -0x18;
    0x0000ae7c sltiu v0, v0, 0x69            |     v0 = (v0 < 0x69) ? 1 : 0;
    0x0000ae80 lw s4, -0x7fdc(gp)            |     s4 = *((gp - 8183));
                                             |     if (v0 == 0) {
    0x0000ae84 beqz v0, 0xaec4               |         goto label_0;
                                             |     }
    0x0000ae88 lw v1, 8(s0)                  |     v1 = *((s0 + 2));
    0x0000ae8c lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x0000ae90 wsbh v1, v1                   |     __asm ("wsbh v1, v1");
    0x0000ae94 wsbh v0, v0                   |     __asm ("wsbh v0, v0");
    0x0000ae98 rotr v1, v1, 0x10             |     __asm ("rotr v1, v1, 0x10");
    0x0000ae9c rotr v0, v0, 0x10             |     __asm ("rotr v0, v0, 0x10");
    0x0000aea0 addiu a0, zero, 2             |     a0 = 2;
    0x0000aea4 sw v1, 0x5018(s4)             |     *((s4 + 5126)) = v1;
    0x0000aea8 sw zero, 0x501c(s4)           |     *((s4 + 5127)) = 0;
                                             |     if (v0 == a0) {
    0x0000aeac beq v0, a0, 0xb070            |         goto label_2;
                                             |     }
    0x0000aeb0 addiu v1, zero, 3             |     v1 = 3;
    0x0000aeb4 addiu v1, zero, 1             |     v1 = 1;
                                             |     if (v0 == v1) {
    0x0000aeb8 beq v0, v1, 0xb02c            |         goto label_3;
                                             |     }
    0x0000aebc lw s6, -0x7fdc(gp)            |     s6 = *((gp - 8183));
    0x0000aec0 beq v0, v1, 0xaef0            |     
                                             |     while (v1 == 0) {
                                             | label_0:
    0x0000aec4 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x0000aec8 lw s6, 0x38(sp)               |         s6 = *(var_38h);
    0x0000aecc lw s5, 0x34(sp)               |         s5 = *(var_34h);
    0x0000aed0 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x0000aed4 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x0000aed8 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x0000aedc lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x0000aee0 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x0000aee4 addiu v0, zero, -1            |         v0 = -1;
    0x0000aee8 addiu sp, sp, 0x40            |         
    0x0000aeec jr ra                         |         return v0;
    0x0000aef0 lw v1, 0x54a4(s6)             |         v1 = *((s6 + 5417));
    0x0000aef4 addiu v0, zero, 0x14          |         v0 = 0x14;
                                             |         if (v1 != v0) {
    0x0000aef8 beq v1, v0, 0xaf28            |             
                                             |             if (v1 == v0) {
    0x0000aefc beql v1, v0, 0xaf30           |                 goto label_1;
                                             |             }
    0x0000af00 sw v0, 0x54a4(s6)             |             *((s6 + 5417)) = v0;
    0x0000af04 lw v0, -0x7e24(gp)            |             v0 = *((gp - 8073));
    0x0000af08 lw a0, -0x7fd8(gp)            |             a0 = *(gp);
    0x0000af0c lw t9, -0x7e6c(gp)            |             t9 = sym.imp.fwrite;
    0x0000af10 lw a3, (v0)                   |             a3 = *(v0);
    0x0000af14 addiu a2, zero, 0x25          |             a2 = 0x25;
    0x0000af18 addiu a1, zero, 1             |             a1 = 1;
                                             |             /* str.Warning:_format_is_changed_to_MU_LAW_n */
    0x0000af1c addiu a0, a0, 0x35b8          |             a0 += 0x35b8;
    0x0000af20 jalr t9                       |             t9 ();
    0x0000af24 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x0000af28 addiu v0, zero, 0x14          |         v0 = 0x14;
    0x0000af2c sw v0, 0x54a4(s6)             |         *((s6 + 5417)) = v0;
                                             | label_1:
    0x0000af30 lw v0, 0x10(s0)               |         v0 = *((s0 + 4));
    0x0000af34 lui a0, 3                     |         a0 = 0x30000;
    0x0000af38 wsbh v0, v0                   |         __asm ("wsbh v0, v0");
    0x0000af3c rotr v0, v0, 0x10             |         __asm ("rotr v0, v0, 0x10");
    0x0000af40 addiu a1, s6, 0x54a4          |         a1 = s6 + 0x54a4;
    0x0000af44 addiu v1, v0, -0x7d0          |         v1 = v0 + -0x7d0;
    0x0000af48 ori a0, a0, 0xe031            |         a0 |= 0xe031;
    0x0000af4c sltu v1, v1, a0               |         v1 = (v1 < a0) ? 1 : 0;
    0x0000af50 sw v0, 8(a1)                  |         *((a1 + 2)) = v0;
    0x0000af54 beqz v1, 0xaec4               |         
                                             |     }
    0x0000af58 lw v0, 0x14(s0)               |     v0 = *((s0 + 5));
    0x0000af5c wsbh v0, v0                   |     __asm ("wsbh v0, v0");
    0x0000af60 rotr v0, v0, 0x10             |     __asm ("rotr v0, v0, 0x10");
    0x0000af64 addiu v1, v0, -1              |     v1 = v0 + -1;
    0x0000af68 sltiu v1, v1, 0x100           |     v1 = (v1 < 0x100) ? 1 : 0;
    0x0000af6c sw v0, 4(a1)                  |     *((a1 + 1)) = v0;
                                             |     if (v1 == 0) {
    0x0000af70 beqz v1, 0xaec4               |         goto label_0;
                                             |     }
    0x0000af74 lw a2, 4(s0)                  |     a2 = *((s0 + 1));
    0x0000af78 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000af7c wsbh a2, a2                   |     __asm ("wsbh a2, a2");
    0x0000af80 rotr a2, a2, 0x10             |     __asm ("rotr a2, a2, 0x10");
    0x0000af84 addiu a2, a2, -0x18           |     a2 += -0x18;
    0x0000af88 addiu a1, s0, 0x18            |     a1 = s0 + 0x18;
    0x0000af8c addiu t9, t9, 0x50b0          |     t9 += fcn.000050b0;
    0x0000af90 move a0, s5                   |     a0 = s5;
    0x0000af94 bal 0x50b0                    |     fcn_000050b0 ();
    0x0000af98 lw v1, 4(s0)                  |     v1 = *((s0 + 1));
    0x0000af9c wsbh v1, v1                   |     __asm ("wsbh v1, v1");
    0x0000afa0 rotr v1, v1, 0x10             |     __asm ("rotr v1, v1, 0x10");
    0x0000afa4 addiu v1, v1, -0x18           |     v1 += -0x18;
    0x0000afa8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == v1) {
    0x0000afac bne v0, v1, 0xb0b8            |         
    0x0000afb0 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
    0x0000afb4 lw v1, 0x54a4(s6)             |         v1 = *((s6 + 5417));
    0x0000afb8 lw t9, -0x7fd4(gp)            |         t9 = *((gp - 8181));
    0x0000afbc addiu t9, t9, 0x5190          |         t9 += fcn.00005190;
    0x0000afc0 sw v1, 0x5498(v0)             |         *((v0 + 5414)) = v1;
    0x0000afc4 bal 0x5190                    |         fcn_00005190 ();
    0x0000afc8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000afcc lw a1, (s1)                   |         a1 = *(s1);
    0x0000afd0 lw a0, 0x5020(s2)             |         a0 = *((s2 + 5128));
    0x0000afd4 lw t9, -0x7fd8(gp)            |         t9 = *(gp);
    0x0000afd8 addiu a2, zero, 3             |         a2 = 3;
    0x0000afdc sw s3, 0x14(sp)               |         *(var_14h) = s3;
    0x0000afe0 sw a2, 0x10(sp)               |         *(var_10h) = a2;
    0x0000afe4 sw v0, 0x5018(s4)             |         *((s4 + 5126)) = v0;
    0x0000afe8 move a2, v0                   |         a2 = v0;
    0x0000afec sw v1, 0x501c(s4)             |         *((s4 + 5127)) = v1;
    0x0000aff0 move a3, v1                   |         a3 = v1;
    0x0000aff4 addiu t9, t9, -0x56a0         |         t9 += -0x56a0;
    0x0000aff8 addiu a1, a1, -0x18           |         a1 += -0x18;
    0x0000affc bal 0xa960                    |         fcn_0000a960 ();
    0x0000b000 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x0000b004 lw s6, 0x38(sp)               |         s6 = *(var_38h);
    0x0000b008 lw s5, 0x34(sp)               |         s5 = *(var_34h);
    0x0000b00c lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x0000b010 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x0000b014 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x0000b018 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x0000b01c lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x0000b020 move v0, zero                 |         v0 = 0;
    0x0000b024 addiu sp, sp, 0x40            |         
    0x0000b028 jr ra                         |         return v0;
                                             | label_3:
    0x0000b02c lw s6, -0x7fdc(gp)            |         s6 = *((gp - 8183));
    0x0000b030 addiu a0, zero, -3            |         a0 = -3;
    0x0000b034 lw v0, 0x54a4(s6)             |         v0 = *((s6 + 5417));
    0x0000b038 and v0, v0, a0                |         v0 &= a0;
    0x0000b03c lw v0, -0x7e24(gp)            |         v0 = *((gp - 8073));
                                             |         if (v0 != v1) {
    0x0000b040 beq v0, v1, 0xb064            |             
    0x0000b044 lw a0, -0x7fd8(gp)            |             a0 = *(gp);
    0x0000b048 lw t9, -0x7e6c(gp)            |             t9 = sym.imp.fwrite;
    0x0000b04c lw a3, (v0)                   |             a3 = *(v0);
    0x0000b050 addiu a2, zero, 0x25          |             a2 = 0x25;
    0x0000b054 addiu a1, zero, 1             |             a1 = 1;
                                             |             /* str.Warning:_format_is_changed_to_S16_BE_n */
    0x0000b058 addiu a0, a0, 0x3604          |             a0 += 0x3604;
    0x0000b05c jalr t9                       |             t9 ();
    0x0000b060 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x0000b064 addiu v0, zero, 3             |         v0 = 3;
    0x0000b068 sw v0, 0x54a4(s6)             |         *((s6 + 5417)) = v0;
    0x0000b06c b 0xaf30                      |         goto label_1;
                                             | label_2:
    0x0000b070 lw s6, -0x7fdc(gp)            |         s6 = *((gp - 8183));
    0x0000b074 addiu v0, zero, 1             |         v0 = 1;
    0x0000b078 lw v1, 0x54a4(s6)             |         v1 = *((s6 + 5417));
    0x0000b07c lw v0, -0x7e24(gp)            |         v0 = *((gp - 8073));
                                             |         if (v1 != v0) {
    0x0000b080 bnel v1, v0, 0xb08c           |             
    0x0000b084 sw v0, 0x54a4(s6)             |             *((s6 + 5417)) = v0;
    0x0000b088 b 0xaf30                      |             goto label_1;
                                             |         }
    0x0000b08c lw a0, -0x7fd8(gp)            |         a0 = *(gp);
    0x0000b090 lw t9, -0x7e6c(gp)            |         t9 = sym.imp.fwrite;
    0x0000b094 lw a3, (v0)                   |         a3 = *(v0);
    0x0000b098 addiu a2, zero, 0x21          |         a2 = 0x21;
    0x0000b09c addiu a1, zero, 1             |         a1 = 1;
                                             |         /* str.Warning:_format_is_changed_to_U8_n */
    0x0000b0a0 addiu a0, a0, 0x35e0          |         a0 += 0x35e0;
    0x0000b0a4 jalr t9                       |         t9 ();
    0x0000b0a8 addiu v0, zero, 1             |         v0 = 1;
    0x0000b0ac lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000b0b0 sw v0, 0x54a4(s6)             |         *((s6 + 5417)) = v0;
    0x0000b0b4 b 0xaf30                      |         goto label_1;
                                             |     }
    0x0000b0b8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000b0bc lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000b0c0 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000b0c4 lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x0000b0c8 addiu v0, zero, 0x4bc         |     v0 = 0x4bc;
    0x0000b0cc lw a0, (s0)                   |     a0 = *(s0);
    0x0000b0d0 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0000b0d4 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000b0d8 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.test_au */
    0x0000b0dc addiu v0, v0, 0x4294          |     v0 += 0x4294;
                                             |     /* str._s:__s:_d:_ */
    0x0000b0e0 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000b0e4 addiu a1, zero, 1             |     a1 = 1;
    0x0000b0e8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000b0ec jalr t9                       |     t9 ();
    0x0000b0f0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b0f4 lw a3, (s0)                   |     a3 = *(s0);
    0x0000b0f8 addiu a2, zero, 0xa           |     a2 = 0xa;
    0x0000b0fc lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x0000b100 lw t9, -0x7e6c(gp)            |     t9 = sym.imp.fwrite;
    0x0000b104 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str.read_error */
    0x0000b108 addiu a0, a0, 0x2d88          |     a0 += 0x2d88;
    0x0000b10c jalr t9                       |     t9 ();
    0x0000b110 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b114 lw a1, (s0)                   |     a1 = *(s0);
    0x0000b118 lw t9, -0x7f18(gp)            |     t9 = sym.imp._IO_putc;
    0x0000b11c addiu a0, zero, 0xa           |     a0 = 0xa;
    0x0000b120 jalr t9                       |     t9 ();
    0x0000b124 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b128 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000b12c addiu t9, t9, 0x59bc          |     t9 += fcn.000059bc;
    0x0000b130 addiu a0, zero, 1             |     a0 = 1;
    0x0000b134 bal 0x59bc                    |     return fcn_000059bc ();
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0xb1e4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000b1e4 ()                  | void fcn_0000b1e4 () {
    0x0000b1e4 lui gp, 2                     |     
    0x0000b1e8 addiu gp, gp, 0x1e5c          |     
    0x0000b1ec addu gp, gp, t9               |     gp += t9;
    0x0000b1f0 lw v0, -0x7e4c(gp)            |     v0 = *((gp - 8083));
    0x0000b1f4 addiu sp, sp, -0x68           |     
    0x0000b1f8 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000b1fc sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x0000b200 lw v0, (v0)                   |     v0 = *(v0);
    0x0000b204 sw s0, 0x40(sp)               |     *(var_40h) = s0;
    0x0000b208 move s0, a1                   |     s0 = a1;
    0x0000b20c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0000b210 sw a0, 0x2c(sp)               |     *(var_2ch) = a0;
    0x0000b214 sw ra, 0x64(sp)               |     *(var_64h) = ra;
    0x0000b218 sw fp, 0x60(sp)               |     *(var_60h) = fp;
    0x0000b21c sw s7, 0x5c(sp)               |     *(var_5ch) = s7;
    0x0000b220 sw s6, 0x58(sp)               |     *(var_58h) = s6;
    0x0000b224 sw s5, 0x54(sp)               |     *(var_54h) = s5;
    0x0000b228 sw s4, 0x50(sp)               |     *(var_50h) = s4;
    0x0000b22c sw s3, 0x4c(sp)               |     *(var_4ch) = s3;
    0x0000b230 sw s2, 0x48(sp)               |     *(var_48h) = s2;
    0x0000b234 sw s1, 0x44(sp)               |     *(var_44h) = s1;
    0x0000b238 addiu a1, zero, 0xc           |     a1 = 0xc;
    0x0000b23c move a0, s0                   |     a0 = s0;
    0x0000b240 sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x0000b244 addiu t9, t9, 0x5ad4          |     t9 += fcn.00005ad4;
    0x0000b248 bal 0x5ad4                    |     fcn_00005ad4 ();
    0x0000b24c nop                           |     
    0x0000b250 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x0000b254 bltz v0, 0xb948               |         goto label_22;
                                             |     }
    0x0000b258 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
    0x0000b25c lw v0, (s0)                   |     v0 = *(s0);
    0x0000b260 move a0, v1                   |     a0 = v1;
    0x0000b264 sw v1, 0x30(sp)               |     *(var_30h) = v1;
    0x0000b268 lw s4, 0x5020(a0)             |     s4 = *((a0 + 5128));
    0x0000b26c lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x0000b270 sltiu v1, v0, 0xc             |     v1 = (v0 < 0xc) ? 1 : 0;
    0x0000b274 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x0000b278 lw s6, 0x5474(a0)             |     s6 = *((a0 + 5405));
                                             |     if (v1 != 0) {
    0x0000b27c bnez v1, 0xb948               |         goto label_22;
                                             |     }
    0x0000b280 lui v1, 0x4646                |     v1 = 0x46460000;
    0x0000b284 lw a0, (s6)                   |     a0 = *(s6);
    0x0000b288 addiu v1, v1, 0x4952          |     v1 += 0x4952;
    0x0000b28c lui v1, 0x5846                |     v1 = 0x58460000;
                                             |     if (a0 == v1) {
    0x0000b290 beq a0, v1, 0xb9e0            |         goto label_23;
                                             |     }
    0x0000b294 addiu v1, v1, 0x4952          |     v1 += 0x4952;
    0x0000b298 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (a0 == v1) {
    0x0000b29c bnel a0, v1, 0xb8b8           |         goto label_10;
                                             |     }
    0x0000b2a0 addiu s3, zero, 1             |     s3 = 1;
                                             | label_12:
    0x0000b2a4 lui v1, 0x4556                |     v1 = 0x45560000;
    0x0000b2a8 lw a0, 8(s6)                  |     a0 = *((s6 + 2));
    0x0000b2ac addiu v1, v1, 0x4157          |     v1 += 0x4157;
    0x0000b2b0 addiu v1, zero, 0xc           |     v1 = 0xc;
                                             |     if (a0 != v1) {
    0x0000b2b4 bne a0, v1, 0xb948            |         goto label_22;
                                             |     }
    0x0000b2b8 addiu s0, v0, -0xc            |     s0 = v0 + -0xc;
                                             |     if (v0 != v1) {
    0x0000b2bc bne v0, v1, 0xb9e8            |         goto label_24;
                                             |     }
    0x0000b2c0 move s1, zero                 |     s1 = 0;
    0x0000b2c4 move fp, zero                 |     fp = 0;
                                             | label_13:
    0x0000b2c8 lw s2, -0x7fd8(gp)            |     s2 = *(gp);
    0x0000b2cc sw s0, 0x38(sp)               |     *(var_38h) = s0;
    0x0000b2d0 lui s0, 0x2074                |     s0 = 0x20740000;
    0x0000b2d4 addiu s5, sp, 0x38            |     s5 = sp + 0x38;
    0x0000b2d8 addiu s2, s2, -0x738c         |     s2 += -0x738c;
    0x0000b2dc addiu s0, s0, 0x6d66          |     s0 += 0x6d66;
                                             |     do {
                                             | label_0:
    0x0000b2e0 sltiu v0, s1, 8               |         v0 = (s1 < 8) ? 1 : 0;
    0x0000b2e4 addiu v0, zero, 0x3f5         |         v0 = 0x3f5;
                                             |         if (v0 != 0) {
    0x0000b2e8 beqz v0, 0xb310               |             
    0x0000b2ec lw t9, -0x7d20(gp)            |             t9 = sym.imp.realloc;
    0x0000b2f0 move a0, fp                   |             a0 = fp;
    0x0000b2f4 addiu a1, zero, 8             |             a1 = 8;
    0x0000b2f8 jalr t9                       |             t9 ();
    0x0000b2fc move fp, v0                   |             fp = v0;
    0x0000b300 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 == 0) {
    0x0000b304 beqz v0, 0xbc60               |                 goto label_25;
                                             |             }
    0x0000b308 addiu s1, zero, 8             |             s1 = 8;
    0x0000b30c addiu v0, zero, 0x3f5         |             v0 = 0x3f5;
                                             |         }
    0x0000b310 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000b314 addiu a3, zero, 8             |         a3 = 8;
    0x0000b318 move a2, s5                   |         a2 = s5;
    0x0000b31c move a1, fp                   |         a1 = fp;
    0x0000b320 move t9, s2                   |         t9 = s2;
    0x0000b324 move a0, s4                   |         a0 = s4;
    0x0000b328 bal 0x8c74                    |         fcn_00008c74 ();
    0x0000b32c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000b330 lw t1, (fp)                   |         t1 = *(fp);
    0x0000b334 lw t0, 4(fp)                  |         t0 = *(arg_4h);
                                             |         if (s3 != 0) {
    0x0000b338 beqz s3, 0xb344               |             
    0x0000b33c wsbh t0, t0                   |             __asm ("wsbh t0, t0");
    0x0000b340 rotr t0, t0, 0x10             |             __asm ("rotr t0, t0, 0x10");
                                             |         }
    0x0000b344 lw a3, 0x38(sp)               |         a3 = *(var_38h);
    0x0000b348 addiu t0, t0, 1               |         t0++;
    0x0000b34c sltiu v0, a3, 9               |         v0 = (a3 < 9) ? 1 : 0;
    0x0000b350 addiu a0, zero, -2            |         a0 = -2;
    0x0000b354 and s7, t0, a0                |         s7 = t0 & a0;
    0x0000b358 addiu a3, a3, -8              |         a3 += -8;
                                             |         if (v0 == 0) {
    0x0000b35c beqz v0, 0xb3f8               |             goto label_26;
                                             |         }
    0x0000b360 sw a3, 0x38(sp)               |         *(var_38h) = a3;
                                             |         if (t1 == s0) {
    0x0000b364 beq t1, s0, 0xb428            |             goto label_27;
                                             |         }
                                             | label_1:
    0x0000b368 sltu v0, s1, s7               |         v0 = (s1 < s7) ? 1 : 0;
    0x0000b36c addiu v0, zero, 0x400         |         v0 = 0x400;
                                             |         if (v0 != 0) {
    0x0000b370 beqz v0, 0xb398               |             
    0x0000b374 lw t9, -0x7d20(gp)            |             t9 = sym.imp.realloc;
    0x0000b378 move a0, fp                   |             a0 = fp;
    0x0000b37c move a1, s7                   |             a1 = s7;
    0x0000b380 jalr t9                       |             t9 ();
    0x0000b384 move fp, v0                   |             fp = v0;
    0x0000b388 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 == 0) {
    0x0000b38c beqz v0, 0xbc88               |                 goto label_28;
                                             |             }
    0x0000b390 move s1, s7                   |             s1 = s7;
    0x0000b394 addiu v0, zero, 0x400         |             v0 = 0x400;
                                             |         }
    0x0000b398 move a3, s7                   |         a3 = s7;
    0x0000b39c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000b3a0 move a2, s5                   |         a2 = s5;
    0x0000b3a4 move a1, fp                   |         a1 = fp;
    0x0000b3a8 move t9, s2                   |         t9 = s2;
    0x0000b3ac move a0, s4                   |         a0 = s4;
    0x0000b3b0 bal 0x8c74                    |         fcn_00008c74 ();
    0x0000b3b4 lw a3, 0x38(sp)               |         a3 = *(var_38h);
    0x0000b3b8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000b3bc sltu v0, s7, a3               |         v0 = (s7 < a3) ? 1 : 0;
    0x0000b3c0 subu a3, a3, s7               |         __asm ("subu a3, a3, s7");
                                             |         if (v0 != 0) {
    0x0000b3c4 bnez v0, 0xb3d0               |             goto label_29;
                                             |         }
    0x0000b3c8 sw a3, 0x38(sp)               |         *(var_38h) = a3;
    0x0000b3cc b 0xb2e0                      |         
                                             |     } while (1);
                                             | label_29:
    0x0000b3d0 lw t9, -0x7ec8(gp)            |     t9 = sym.imp.memmove;
    0x0000b3d4 move a2, a3                   |     a2 = a3;
    0x0000b3d8 sw a3, 0x20(sp)               |     *(var_20h) = a3;
    0x0000b3dc addu a1, fp, s7               |     a1 = fp + s7;
    0x0000b3e0 move a0, fp                   |     a0 = fp;
    0x0000b3e4 jalr t9                       |     t9 ();
    0x0000b3e8 lw a3, 0x20(sp)               |     a3 = *(var_20h);
    0x0000b3ec lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b3f0 sw a3, 0x38(sp)               |     *(var_38h) = a3;
    0x0000b3f4 b 0xb2e0                      |     goto label_0;
                                             | label_26:
    0x0000b3f8 lw t9, -0x7ec8(gp)            |     t9 = sym.imp.memmove;
    0x0000b3fc sw t1, 0x24(sp)               |     *(var_24h) = t1;
    0x0000b400 move a2, a3                   |     a2 = a3;
    0x0000b404 sw a3, 0x20(sp)               |     *(var_20h) = a3;
    0x0000b408 addiu a1, fp, 8               |     a1 = fp + 8;
    0x0000b40c move a0, fp                   |     a0 = fp;
    0x0000b410 jalr t9                       |     t9 ();
    0x0000b414 lw a3, 0x20(sp)               |     a3 = *(var_20h);
    0x0000b418 lw t1, 0x24(sp)               |     t1 = *(var_24h);
    0x0000b41c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b420 sw a3, 0x38(sp)               |     *(var_38h) = a3;
                                             |     if (t1 != s0) {
    0x0000b424 bne t1, s0, 0xb368            |         goto label_1;
                                             |     }
                                             | label_27:
    0x0000b428 sltiu v0, s7, 0x10            |     v0 = (s7 < 0x10) ? 1 : 0;
    0x0000b42c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (v0 != 0) {
    0x0000b430 bnez v0, 0xbd30               |         goto label_30;
                                             |     }
    0x0000b434 sltu v0, s1, s7               |     v0 = (s1 < s7) ? 1 : 0;
    0x0000b438 addiu v0, zero, 0x40c         |     v0 = 0x40c;
                                             |     if (v0 != 0) {
    0x0000b43c beqz v0, 0xb464               |         
    0x0000b440 lw t9, -0x7d20(gp)            |         t9 = sym.imp.realloc;
    0x0000b444 move a0, fp                   |         a0 = fp;
    0x0000b448 move a1, s7                   |         a1 = s7;
    0x0000b44c jalr t9                       |         t9 ();
    0x0000b450 move fp, v0                   |         fp = v0;
    0x0000b454 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000b458 move s1, s7                   |         s1 = s7;
                                             |         if (v0 == 0) {
    0x0000b45c beqz v0, 0xbc08               |             goto label_31;
                                             |         }
    0x0000b460 addiu v0, zero, 0x40c         |         v0 = 0x40c;
                                             |     }
    0x0000b464 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000b468 move a3, s7                   |     a3 = s7;
    0x0000b46c move a2, s5                   |     a2 = s5;
    0x0000b470 move a1, fp                   |     a1 = fp;
    0x0000b474 move t9, s2                   |     t9 = s2;
    0x0000b478 move a0, s4                   |     a0 = s4;
    0x0000b47c bal 0x8c74                    |     fcn_00008c74 ();
    0x0000b480 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b484 lhu s0, (fp)                  |     s0 = *(fp);
                                             |     if (s3 != 0) {
    0x0000b488 bnez s3, 0xb528               |         goto label_32;
                                             |     }
    0x0000b48c ori v0, zero, 0xfffe          |     v0 = 0xfffe;
    0x0000b490 sltiu v0, s7, 0x28            |     v0 = (s7 < 0x28) ? 1 : 0;
                                             |     if (s0 == v0) {
    0x0000b494 beq s0, v0, 0xb540            |         goto label_33;
                                             |     }
    0x0000b498 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
    0x0000b49c addiu v0, zero, 3             |         v0 = 3;
                                             |         if (s0 != v0) {
    0x0000b4a0 beq s0, v0, 0xb4ac            |             
    0x0000b4a4 lw v0, -0x7fdc(gp)            |             v0 = *((gp - 8183));
                                             |             if (s0 != v0) {
    0x0000b4a8 bne s0, v0, 0xb58c            |                 goto label_34;
                                             |             }
                                             |         }
                                             |         if (s3 == 0) {
    0x0000b4ac beql s3, zero, 0xb604         |             goto label_35;
                                             |         }
    0x0000b4b0 lhu v0, 2(fp)                 |         v0 = *(arg_2h);
                                             | label_2:
    0x0000b4b4 lhu v0, 2(fp)                 |         v0 = *(arg_2h);
                                             | label_3:
    0x0000b4b8 wsbh v0, v0                   |         __asm ("wsbh v0, v0");
    0x0000b4bc andi v0, v0, 0xffff           |         v0 &= 0xffff;
    0x0000b4c0 lw t2, -0x7fdc(gp)            |         t2 = *((gp - 8183));
                                             |         if (v0 == 0) {
    0x0000b4c4 beqz v0, 0xbcd8               |             goto label_36;
                                             |         }
    0x0000b4c8 lhu a0, 0xe(fp)               |         a0 = *(arg_eh);
    0x0000b4cc addiu t1, t2, 0x54a4          |         t1 = t2 + 0x54a4;
    0x0000b4d0 wsbh a0, a0                   |         __asm ("wsbh a0, a0");
    0x0000b4d4 andi a0, a0, 0xffff           |         a0 &= 0xffff;
    0x0000b4d8 addiu a1, zero, 0x10          |         a1 = 0x10;
    0x0000b4dc sw v0, 4(t1)                  |         *((t1 + 1)) = v0;
                                             |         if (a0 == a1) {
    0x0000b4e0 beq a0, a1, 0xba3c            |             goto label_37;
                                             |         }
    0x0000b4e4 sltiu a1, a0, 0x11            |         a1 = (a0 < 0x11) ? 1 : 0;
    0x0000b4e8 addiu a1, zero, 0x18          |         a1 = 0x18;
                                             |         if (a1 != 0) {
    0x0000b4ec bnez a1, 0xb6c0               |             goto label_38;
                                             |         }
    0x0000b4f0 addiu v0, zero, 0x20          |         v0 = 0x20;
                                             |         if (a0 == a1) {
    0x0000b4f4 bnel a0, a1, 0xb668           |             goto label_39;
                                             |         }
                                             | label_4:
    0x0000b4f8 lhu a0, 0xc(fp)               |         a0 = *(arg_ch);
                                             |         if (s3 == 0) {
    0x0000b4fc beqz s3, 0xbab8               |             goto label_40;
                                             |         }
    0x0000b500 wsbh a0, a0                   |         __asm ("wsbh a0, a0");
    0x0000b504 andi a0, a0, 0xffff           |         a0 &= 0xffff;
    0x0000b508 divu zero, a0, v0             |         __asm ("divu zero, a0, v0");
    0x0000b50c teq v0, zero, 7               |         __asm ("teq v0, zero, 7");
    0x0000b510 addiu v0, zero, 3             |         v0 = 3;
    0x0000b514 mflo a0                       |         __asm ("mflo a0");
    0x0000b518 addiu v0, zero, 4             |         v0 = 4;
                                             |         if (a0 != v0) {
    0x0000b51c bne a0, v0, 0xbb1c            |             goto label_41;
                                             |         }
    0x0000b520 addiu s0, zero, 0x21          |         s0 = 0x21;
    0x0000b524 b 0xba48                      |         goto label_16;
                                             | label_32:
    0x0000b528 wsbh s0, s0                   |         __asm ("wsbh s0, s0");
    0x0000b52c andi s0, s0, 0xffff           |         s0 &= 0xffff;
    0x0000b530 ori v0, zero, 0xfffe          |         v0 = 0xfffe;
    0x0000b534 addiu v0, zero, 1             |         v0 = 1;
    0x0000b538 bne s0, v0, 0xb49c            |         
                                             |     } while (s0 != v0);
    0x0000b53c sltiu v0, s7, 0x28            |     v0 = (s7 < 0x28) ? 1 : 0;
                                             | label_33:
    0x0000b540 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
                                             |     if (v0 != 0) {
    0x0000b544 bnez v0, 0xbe20               |         goto label_42;
                                             |     }
    0x0000b548 lw t9, -0x7cf4(gp)            |     t9 = sym.imp.memcmp;
    0x0000b54c addiu a2, zero, 0xe           |     a2 = 0xe;
    0x0000b550 addiu a1, a1, 0x3f88          |     a1 += 0x3f88;
    0x0000b554 addiu a0, fp, 0x1a            |     a0 = fp + 0x1a;
    0x0000b558 jalr t9                       |     t9 ();
    0x0000b55c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0000b560 bnez v0, 0xbda0               |         goto label_43;
                                             |     }
    0x0000b564 lhu s0, 0x18(fp)              |     s0 = *(arg_18h);
                                             |     if (s3 == 0) {
    0x0000b568 beqz s3, 0xb5ec               |         goto label_44;
                                             |     }
    0x0000b56c wsbh s0, s0                   |     __asm ("wsbh s0, s0");
    0x0000b570 andi s0, s0, 0xffff           |     s0 &= 0xffff;
    0x0000b574 addiu v0, zero, 1             |     v0 = 1;
    0x0000b578 addiu v0, zero, 3             |     v0 = 3;
                                             |     if (s0 == v0) {
    0x0000b57c beq s0, v0, 0xb4b4            |         goto label_2;
                                             |     }
                                             |     if (s0 == v0) {
    0x0000b580 beql s0, v0, 0xb4b8           |         goto label_3;
                                             |     }
    0x0000b584 lhu v0, 2(fp)                 |     v0 = *(arg_2h);
    0x0000b588 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     do {
                                             | label_34:
    0x0000b58c lw s1, -0x7e24(gp)            |         s1 = *((gp - 8073));
    0x0000b590 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x0000b594 lw a3, 0x54b4(v0)             |         a3 = *((v0 + 5421));
    0x0000b598 addiu v0, zero, 0x41e         |         v0 = 0x41e;
    0x0000b59c lw a0, (s1)                   |         a0 = *(s1);
    0x0000b5a0 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0000b5a4 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x0000b5a8 lw t9, -0x7d04(gp)            |         t9 = sym.imp.__fprintf_chk
                                             |         /* str.test_wavefile */
    0x0000b5ac addiu v0, v0, 0x41d0          |         v0 += 0x41d0;
                                             |         /* str._s:__s:_d:_ */
    0x0000b5b0 addiu a2, a2, 0x2b6c          |         a2 += 0x2b6c;
    0x0000b5b4 addiu a1, zero, 1             |         a1 = 1;
    0x0000b5b8 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000b5bc jalr t9                       |         t9 ();
    0x0000b5c0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000b5c4 lw a0, (s1)                   |         a0 = *(s1);
    0x0000b5c8 addiu a1, zero, 1             |         a1 = 1;
    0x0000b5cc lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x0000b5d0 lw t9, -0x7d04(gp)            |         t9 = sym.imp.__fprintf_chk
    0x0000b5d4 move a3, s0                   |         a3 = s0;
                                             |         /* str.cant_play_WAVE_file_format_0x_04x_which_is_not_PCM_or_FLOAT_encoded */
    0x0000b5d8 addiu a2, a2, 0x36e4          |         a2 += 0x36e4;
    0x0000b5dc jalr t9                       |         t9 ();
    0x0000b5e0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000b5e4 lw a1, (s1)                   |         a1 = *(s1);
    0x0000b5e8 b 0xb9c0                      |         goto label_45;
                                             | label_44:
    0x0000b5ec addiu v0, zero, 1             |         v0 = 1;
    0x0000b5f0 addiu v0, zero, 3             |         v0 = 3;
                                             |         if (s0 == v0) {
    0x0000b5f4 beq s0, v0, 0xb600            |             goto label_46;
                                             |         }
    0x0000b5f8 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
    0x0000b5fc bne s0, v0, 0xb58c            |         
                                             |     } while (s0 != v0);
                                             | label_46:
    0x0000b600 lhu v0, 2(fp)                 |     v0 = *(arg_2h);
                                             | label_35:
    0x0000b604 lw t2, -0x7fdc(gp)            |     t2 = *((gp - 8183));
                                             |     if (v0 == 0) {
    0x0000b608 beqz v0, 0xbcd8               |         goto label_36;
                                             |     }
    0x0000b60c lhu a0, 0xe(fp)               |     a0 = *(arg_eh);
    0x0000b610 addiu t1, t2, 0x54a4          |     t1 = t2 + 0x54a4;
    0x0000b614 addiu a1, zero, 0x10          |     a1 = 0x10;
    0x0000b618 sw v0, 4(t1)                  |     *((t1 + 1)) = v0;
                                             |     if (a0 == a1) {
    0x0000b61c beq a0, a1, 0xba44            |         goto label_47;
                                             |     }
    0x0000b620 sltiu a1, a0, 0x11            |     a1 = (a0 < 0x11) ? 1 : 0;
    0x0000b624 addiu a1, zero, 0x18          |     a1 = 0x18;
                                             |     if (a1 != 0) {
    0x0000b628 bnez a1, 0xb950               |         goto label_48;
                                             |     }
                                             |     if (a0 == a1) {
    0x0000b62c beq a0, a1, 0xb4f8            |         goto label_4;
                                             |     }
    0x0000b630 nop                           |     
    0x0000b634 addiu v0, zero, 0x20          |     v0 = 0x20;
    0x0000b638 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (a0 != v0) {
    0x0000b63c bne a0, v0, 0xb960            |         goto label_49;
                                             |     }
    0x0000b640 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
    0x0000b644 addiu v0, zero, 0xb           |         v0 = 0xb;
                                             |         if (s0 == v0) {
    0x0000b648 beq s0, v0, 0xbb0c            |             goto label_50;
                                             |         }
    0x0000b64c addiu v0, zero, 3             |         v0 = 3;
    0x0000b650 addiu a0, zero, 0xe           |         a0 = 0xe;
                                             |         if (s0 != v0) {
    0x0000b654 bne s0, v0, 0xb6e4            |             goto label_15;
                                             |         }
    0x0000b658 addiu v0, zero, 0xf           |         v0 = 0xf;
                                             |         if (s3 != 0) {
    0x0000b65c movz v0, a0, s3               |             v0 = a0;
                                             |         }
    0x0000b660 sw v0, 0x54a4(t2)             |         *((t2 + 5417)) = v0;
    0x0000b664 b 0xb6e4                      |         goto label_15;
                                             | label_39:
    0x0000b668 beql a0, v0, 0xb644           |         
                                             |     } while (a0 == v0);
    0x0000b66c addiu v0, zero, 1             |     v0 = 1;
    0x0000b670 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     do {
    0x0000b674 lw s0, -0x7e24(gp)            |         s0 = *((gp - 8073));
    0x0000b678 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x0000b67c lw a3, 0x54b4(v0)             |         a3 = *((v0 + 5421));
    0x0000b680 addiu v0, zero, 0x46a         |         v0 = 0x46a;
    0x0000b684 lw a0, (s0)                   |         a0 = *(s0);
    0x0000b688 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0000b68c lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x0000b690 lw t9, -0x7d04(gp)            |         t9 = sym.imp.__fprintf_chk
                                             |         /* str.test_wavefile */
    0x0000b694 addiu v0, v0, 0x41d0          |         v0 += 0x41d0;
    0x0000b698 sw v0, 0x10(sp)               |         *(var_10h) = v0;
                                             |         /* str._s:__s:_d:_ */
    0x0000b69c addiu a2, a2, 0x2b6c          |         a2 += 0x2b6c;
    0x0000b6a0 addiu a1, zero, 1             |         a1 = 1;
    0x0000b6a4 jalr t9                       |         t9 ();
    0x0000b6a8 lhu a3, 0xe(fp)               |         a3 = *(arg_eh);
    0x0000b6ac lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000b6b0 wsbh a3, a3                   |         __asm ("wsbh a3, a3");
    0x0000b6b4 lw a0, (s0)                   |         a0 = *(s0);
    0x0000b6b8 andi a3, a3, 0xffff           |         a3 &= 0xffff;
    0x0000b6bc b 0xb9a0                      |         goto label_51;
                                             | label_38:
    0x0000b6c0 addiu v0, zero, 8             |         v0 = 8;
    0x0000b6c4 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
    0x0000b6c8 bne a0, v0, 0xb674            |         
                                             |     } while (a0 != v0);
    0x0000b6cc lw a0, 0x54a4(t2)             |     a0 = *((t2 + 5417));
                                             | label_11:
    0x0000b6d0 addiu v0, zero, 1             |     v0 = 1;
    0x0000b6d4 lw v0, -0x7e24(gp)            |     v0 = *((gp - 8073));
                                             |     if (a0 == v0) {
    0x0000b6d8 bnel a0, v0, 0xbad8           |         goto label_52;
                                             |     }
                                             | label_17:
    0x0000b6dc addiu v0, zero, 1             |     v0 = 1;
    0x0000b6e0 sw v0, 0x54a4(t2)             |     *((t2 + 5417)) = v0;
                                             | label_15:
    0x0000b6e4 lw v0, 4(fp)                  |     v0 = *(arg_4h);
                                             |     if (s3 != 0) {
    0x0000b6e8 beqz s3, 0xb6f4               |         
    0x0000b6ec wsbh v0, v0                   |         __asm ("wsbh v0, v0");
    0x0000b6f0 rotr v0, v0, 0x10             |         __asm ("rotr v0, v0, 0x10");
                                             |     }
    0x0000b6f4 lw a2, 0x38(sp)               |     a2 = *(var_38h);
    0x0000b6f8 sw v0, 8(t1)                  |     *((t1 + 2)) = v0;
    0x0000b6fc sltu v0, s7, a2               |     v0 = (s7 < a2) ? 1 : 0;
    0x0000b700 subu s0, a2, s7               |     __asm ("subu s0, a2, s7");
                                             |     if (v0 != 0) {
    0x0000b704 bnez v0, 0xba20               |         goto label_53;
                                             |     }
    0x0000b708 lui v0, 0x6174                |     v0 = 0x6164;
                                             | label_14:
    0x0000b70c addiu v0, v0, 0x6164          |     
    0x0000b710 sw s0, 0x38(sp)               |     *(var_38h) = s0;
    0x0000b714 sw v0, 0x24(sp)               |     *(var_24h) = v0;
                                             |     do {
                                             | label_5:
    0x0000b718 addiu v0, zero, 0x477         |         v0 = 0x477;
    0x0000b71c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000b720 addiu a3, zero, 8             |         a3 = 8;
    0x0000b724 move a2, s5                   |         a2 = s5;
    0x0000b728 move a1, fp                   |         a1 = fp;
    0x0000b72c move t9, s2                   |         t9 = s2;
    0x0000b730 move a0, s4                   |         a0 = s4;
    0x0000b734 bal 0x8c74                    |         fcn_00008c74 ();
    0x0000b738 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000b73c lw t0, (fp)                   |         t0 = *(fp);
                                             |         if (s3 == 0) {
    0x0000b740 beqz s3, 0xb8f8               |             goto label_54;
                                             |         }
    0x0000b744 lw a3, 4(fp)                  |         a3 = *(arg_4h);
    0x0000b748 wsbh s7, a3                   |         __asm ("wsbh s7, a3");
    0x0000b74c rotr s7, s7, 0x10             |         __asm ("rotr s7, s7, 0x10");
                                             | label_7:
    0x0000b750 lw s0, 0x38(sp)               |         s0 = *(var_38h);
    0x0000b754 sltiu v0, s0, 9               |         v0 = (s0 < 9) ? 1 : 0;
    0x0000b758 addiu s0, s0, -8              |         s0 += -8;
                                             |         if (v0 == 0) {
    0x0000b75c beqz v0, 0xb7fc               |             goto label_55;
                                             |         }
    0x0000b760 lw v0, 0x24(sp)               |         v0 = *(var_24h);
    0x0000b764 sw s0, 0x38(sp)               |         *(var_38h) = s0;
                                             |         if (t0 == v0) {
    0x0000b768 beq t0, v0, 0xb828            |             goto label_56;
                                             |         }
                                             | label_6:
    0x0000b76c addiu v0, zero, -2            |         v0 = -2;
    0x0000b770 addiu s0, s7, 1               |         s0 = s7 + 1;
    0x0000b774 and s0, s0, v0                |         s0 &= v0;
    0x0000b778 sltu v0, s1, s0               |         v0 = (s1 < s0) ? 1 : 0;
    0x0000b77c addiu v0, zero, 0x488         |         v0 = 0x488;
                                             |         if (v0 != 0) {
    0x0000b780 beqz v0, 0xb7a8               |             
    0x0000b784 lw t9, -0x7d20(gp)            |             t9 = sym.imp.realloc;
    0x0000b788 move a0, fp                   |             a0 = fp;
    0x0000b78c move a1, s0                   |             a1 = s0;
    0x0000b790 jalr t9                       |             t9 ();
    0x0000b794 move fp, v0                   |             fp = v0;
    0x0000b798 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 == 0) {
    0x0000b79c beqz v0, 0xbcb0               |                 goto label_57;
                                             |             }
    0x0000b7a0 move s1, s0                   |             s1 = s0;
    0x0000b7a4 addiu v0, zero, 0x488         |             v0 = 0x488;
                                             |         }
    0x0000b7a8 move a3, s0                   |         a3 = s0;
    0x0000b7ac sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000b7b0 move a2, s5                   |         a2 = s5;
    0x0000b7b4 move a1, fp                   |         a1 = fp;
    0x0000b7b8 move t9, s2                   |         t9 = s2;
    0x0000b7bc move a0, s4                   |         a0 = s4;
    0x0000b7c0 bal 0x8c74                    |         fcn_00008c74 ();
    0x0000b7c4 lw a3, 0x38(sp)               |         a3 = *(var_38h);
    0x0000b7c8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000b7cc sltu v0, s0, a3               |         v0 = (s0 < a3) ? 1 : 0;
    0x0000b7d0 subu s7, a3, s0               |         __asm ("subu s7, a3, s0");
                                             |         if (v0 != 0) {
    0x0000b7d4 bnez v0, 0xb7e0               |             goto label_58;
                                             |         }
    0x0000b7d8 sw s7, 0x38(sp)               |         *(var_38h) = s7;
    0x0000b7dc b 0xb718                      |         
                                             |     } while (1);
                                             | label_58:
    0x0000b7e0 lw t9, -0x7ec8(gp)            |     t9 = sym.imp.memmove;
    0x0000b7e4 move a2, s7                   |     a2 = s7;
    0x0000b7e8 addu a1, fp, s0               |     a1 = fp + s0;
    0x0000b7ec move a0, fp                   |     a0 = fp;
    0x0000b7f0 jalr t9                       |     t9 ();
    0x0000b7f4 sw s7, 0x38(sp)               |     *(var_38h) = s7;
    0x0000b7f8 b 0xb718                      |     goto label_5;
                                             | label_55:
    0x0000b7fc lw t9, -0x7ec8(gp)            |     t9 = sym.imp.memmove;
    0x0000b800 sw t0, 0x20(sp)               |     *(var_20h) = t0;
    0x0000b804 move a2, s0                   |     a2 = s0;
    0x0000b808 addiu a1, fp, 8               |     a1 = fp + 8;
    0x0000b80c move a0, fp                   |     a0 = fp;
    0x0000b810 jalr t9                       |     t9 ();
    0x0000b814 lw t0, 0x20(sp)               |     t0 = *(var_20h);
    0x0000b818 lw v0, 0x24(sp)               |     v0 = *(var_24h);
    0x0000b81c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b820 sw s0, 0x38(sp)               |     *(var_38h) = s0;
                                             |     if (t0 != v0) {
    0x0000b824 bne t0, v0, 0xb76c            |         goto label_6;
                                             |     }
                                             | label_56:
    0x0000b828 lw s1, -0x7fdc(gp)            |     s1 = *((gp - 8183));
    0x0000b82c lw v0, 0x501c(s1)             |     v0 = *((s1 + 5127));
                                             |     if (v0 > 0) {
    0x0000b830 bgtzl v0, 0xb900              |         goto label_59;
                                             |     }
    0x0000b834 lui v0, 0x7fff                |     v0 = 0x7fff0000;
    0x0000b838 lw v0, 0x5018(s1)             |     v0 = *((s1 + 5126));
                                             |     if (v0 != 0) {
    0x0000b83c bnez v0, 0xb84c               |         goto label_60;
                                             |     }
    0x0000b840 sltu v0, s7, v0               |     v0 = (s7 < v0) ? 1 : 0;
    0x0000b844 lui v0, 0x7fff                |     v0 = 0x7fff0000;
    0x0000b848 bnez v0, 0xb900               |     
                                             |     while (v0 == 0) {
                                             | label_60:
    0x0000b84c lw t9, -0x7e28(gp)            |         t9 = sym.imp.memcpy;
                                             |         if (s0 != 0) {
    0x0000b850 bnez s0, 0xb920               |             goto label_61;
                                             |         }
                                             | label_8:
    0x0000b854 lw t9, -0x7dd4(gp)            |         t9 = sym.imp.free;
    0x0000b858 move a0, fp                   |         a0 = fp;
    0x0000b85c jalr t9                       |         t9 ();
    0x0000b860 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_9:
    0x0000b864 lw t9, -0x7fd4(gp)            |         t9 = *((gp - 8181));
    0x0000b868 addiu t9, t9, 0x5190          |         t9 += fcn.00005190;
    0x0000b86c bal 0x5190                    |         fcn_00005190 ();
    0x0000b870 nop                           |         
    0x0000b874 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000b878 lw a0, 0x30(sp)               |         a0 = *(var_30h);
    0x0000b87c lw a1, 0x2c(sp)               |         a1 = *(var_2ch);
    0x0000b880 lw t9, -0x7fd8(gp)            |         t9 = *(gp);
    0x0000b884 sw a1, 0x14(sp)               |         *(var_14h) = a1;
    0x0000b888 lw a0, 0x5020(a0)             |         a0 = *((a0 + 5128));
    0x0000b88c addiu a1, zero, 2             |         a1 = 2;
    0x0000b890 sw a1, 0x10(sp)               |         *(var_10h) = a1;
    0x0000b894 move a2, v0                   |         a2 = v0;
    0x0000b898 sw v0, 0x5018(s1)             |         *((s1 + 5126)) = v0;
    0x0000b89c move a3, v1                   |         a3 = v1;
    0x0000b8a0 move a1, s0                   |         a1 = s0;
    0x0000b8a4 addiu t9, t9, -0x56a0         |         t9 += -0x56a0;
    0x0000b8a8 sw v1, 0x501c(s1)             |         *((s1 + 5127)) = v1;
    0x0000b8ac bal 0xa960                    |         fcn_0000a960 ();
    0x0000b8b0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000b8b4 move v0, zero                 |         v0 = 0;
                                             | label_10:
    0x0000b8b8 lw v1, 0x28(sp)               |         v1 = *(var_28h);
    0x0000b8bc lw a0, 0x3c(sp)               |         a0 = *(var_3ch);
    0x0000b8c0 lw v1, (v1)                   |         v1 = *(v1);
    0x0000b8c4 lw ra, 0x64(sp)               |         ra = *(var_64h);
                                             |         if (a0 != v1) {
    0x0000b8c8 bne a0, v1, 0xbd94            |             goto label_62;
                                             |         }
    0x0000b8cc lw fp, 0x60(sp)               |         fp = *(var_60h);
    0x0000b8d0 lw s7, 0x5c(sp)               |         s7 = *(var_5ch);
    0x0000b8d4 lw s6, 0x58(sp)               |         s6 = *(var_58h);
    0x0000b8d8 lw s5, 0x54(sp)               |         s5 = *(var_54h);
    0x0000b8dc lw s4, 0x50(sp)               |         s4 = *(var_50h);
    0x0000b8e0 lw s3, 0x4c(sp)               |         s3 = *(var_4ch);
    0x0000b8e4 lw s2, 0x48(sp)               |         s2 = *(var_48h);
    0x0000b8e8 lw s1, 0x44(sp)               |         s1 = *(var_44h);
    0x0000b8ec lw s0, 0x40(sp)               |         s0 = *(var_40h);
    0x0000b8f0 addiu sp, sp, 0x68            |         
    0x0000b8f4 jr ra                         |         return v0;
                                             | label_54:
    0x0000b8f8 lw s7, 4(fp)                  |         s7 = *(arg_4h);
    0x0000b8fc b 0xb750                      |         goto label_7;
                                             | label_59:
    0x0000b900 ori v0, v0, 0xfffe            |         v0 |= 0xfffe;
    0x0000b904 sltu v0, s7, v0               |         v0 = (s7 < v0) ? 1 : 0;
    0x0000b908 beqz v0, 0xb84c               |         
                                             |     }
    0x0000b90c nop                           |     
    0x0000b910 sw s7, 0x5018(s1)             |     *((s1 + 5126)) = s7;
    0x0000b914 sw zero, 0x501c(s1)           |     *((s1 + 5127)) = 0;
                                             |     if (s0 == 0) {
    0x0000b918 beqz s0, 0xb854               |         goto label_8;
                                             |     }
    0x0000b91c lw t9, -0x7e28(gp)            |     t9 = sym.imp.memcpy;
                                             | label_61:
    0x0000b920 move a2, s0                   |     a2 = s0;
    0x0000b924 move a1, fp                   |     a1 = fp;
    0x0000b928 move a0, s6                   |     a0 = s6;
    0x0000b92c jalr t9                       |     t9 ();
    0x0000b930 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b934 lw t9, -0x7dd4(gp)            |     t9 = sym.imp.free;
    0x0000b938 move a0, fp                   |     a0 = fp;
    0x0000b93c jalr t9                       |     t9 ();
    0x0000b940 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s0 >= 0) {
    0x0000b944 bgez s0, 0xb864               |         goto label_9;
                                             |     }
                                             | label_22:
    0x0000b948 addiu v0, zero, -1            |     v0 = -1;
    0x0000b94c b 0xb8b8                      |     goto label_10;
                                             | label_48:
    0x0000b950 addiu v0, zero, 8             |     v0 = 8;
                                             |     if (a0 == v0) {
    0x0000b954 beql a0, v0, 0xb6d0           |         goto label_11;
                                             |     }
    0x0000b958 lw a0, 0x54a4(t2)             |     a0 = *((t2 + 5417));
    0x0000b95c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             | label_49:
    0x0000b960 lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000b964 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000b968 lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x0000b96c addiu v0, zero, 0x46a         |     v0 = 0x46a;
    0x0000b970 lw a0, (s0)                   |     a0 = *(s0);
    0x0000b974 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0000b978 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000b97c lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.test_wavefile */
    0x0000b980 addiu v0, v0, 0x41d0          |     v0 += 0x41d0;
    0x0000b984 sw v0, 0x10(sp)               |     *(var_10h) = v0;
                                             |     /* str._s:__s:_d:_ */
    0x0000b988 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000b98c addiu a1, zero, 1             |     a1 = 1;
    0x0000b990 jalr t9                       |     t9 ();
    0x0000b994 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b998 lw a0, (s0)                   |     a0 = *(s0);
    0x0000b99c lhu a3, 0xe(fp)               |     a3 = *(arg_eh);
                                             | label_51:
    0x0000b9a0 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000b9a4 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str._cant_play_WAVE_files_with_sample__d_bits_wide */
    0x0000b9a8 addiu a2, a2, 0x37c4          |     a2 += 0x37c4;
    0x0000b9ac addiu a1, zero, 1             |     a1 = 1;
                                             | label_20:
    0x0000b9b0 jalr t9                       |     t9 ();
    0x0000b9b4 nop                           |     
    0x0000b9b8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_18:
    0x0000b9bc lw a1, (s0)                   |     a1 = *(s0);
                                             | label_45:
    0x0000b9c0 lw t9, -0x7f18(gp)            |     t9 = sym.imp._IO_putc;
    0x0000b9c4 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x0000b9c8 jalr t9                       |     t9 ();
    0x0000b9cc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b9d0 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000b9d4 addiu t9, t9, 0x59bc          |     t9 += fcn.000059bc;
    0x0000b9d8 addiu a0, zero, 1             |     a0 = 1;
    0x0000b9dc bal 0x59bc                    |     fcn_000059bc ();
                                             | label_23:
    0x0000b9e0 move s3, zero                 |     s3 = 0;
    0x0000b9e4 b 0xb2a4                      |     goto label_12;
                                             | label_24:
    0x0000b9e8 lw t9, -0x7e88(gp)            |     t9 = sym.imp.malloc;
    0x0000b9ec move a0, s0                   |     a0 = s0;
    0x0000b9f0 jalr t9                       |     t9 ();
    0x0000b9f4 move fp, v0                   |     fp = v0;
    0x0000b9f8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0000b9fc beqz v0, 0xbdf8               |         goto label_63;
                                             |     }
    0x0000ba00 lw t9, -0x7e28(gp)            |     t9 = sym.imp.memcpy;
    0x0000ba04 move a2, s0                   |     a2 = s0;
    0x0000ba08 addiu a1, s6, 0xc             |     a1 = s6 + 0xc;
    0x0000ba0c move a0, v0                   |     a0 = v0;
    0x0000ba10 jalr t9                       |     t9 ();
    0x0000ba14 move s1, s0                   |     s1 = s0;
    0x0000ba18 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000ba1c b 0xb2c8                      |     goto label_13;
                                             | label_53:
    0x0000ba20 lw t9, -0x7ec8(gp)            |     t9 = sym.imp.memmove;
    0x0000ba24 move a2, s0                   |     a2 = s0;
    0x0000ba28 addu a1, fp, s7               |     a1 = fp + s7;
    0x0000ba2c move a0, fp                   |     a0 = fp;
    0x0000ba30 jalr t9                       |     t9 ();
    0x0000ba34 lui v0, 0x6174                |     v0 = imp.snd_pcm_mmap_readi;
    0x0000ba38 b 0xb70c                      |     goto label_14;
                                             | label_37:
    0x0000ba3c addiu s0, zero, 3             |     s0 = 3;
                                             |     if (s3 == 0) {
    0x0000ba40 bnez s3, 0xba48               |         
                                             | label_47:
    0x0000ba44 addiu s0, zero, 2             |         s0 = 2;
                                             |     }
                                             | label_16:
    0x0000ba48 lw v0, 0x54a4(t2)             |     v0 = *((t2 + 5417));
    0x0000ba4c addiu a0, zero, 1             |     a0 = 1;
                                             |     if (v0 == a0) {
    0x0000ba50 beql v0, a0, 0xb6e4           |         goto label_15;
                                             |     }
    0x0000ba54 sw s0, 0x54a4(t2)             |     *((t2 + 5417)) = s0;
                                             |     if (v0 == s0) {
    0x0000ba58 beql v0, s0, 0xb6e4           |         goto label_15;
                                             |     }
    0x0000ba5c sw s0, 0x54a4(t2)             |     *((t2 + 5417)) = s0;
    0x0000ba60 lw v0, -0x7e24(gp)            |     v0 = *((gp - 8073));
    0x0000ba64 lw t9, -0x7ec4(gp)            |     t9 = sym.imp.snd_pcm_format_name;
    0x0000ba68 sw t1, 0x34(sp)               |     *(var_34h) = t1;
    0x0000ba6c lw t3, (v0)                   |     t3 = *(v0);
    0x0000ba70 sw t2, 0x24(sp)               |     *(var_24h) = t2;
    0x0000ba74 move a0, s0                   |     a0 = s0;
    0x0000ba78 sw t3, 0x20(sp)               |     *(var_20h) = t3;
    0x0000ba7c jalr t9                       |     t9 ();
    0x0000ba80 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000ba84 lw t3, 0x20(sp)               |     t3 = *(var_20h);
    0x0000ba88 move a3, v0                   |     a3 = v0;
    0x0000ba8c lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000ba90 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.Warning:_format_is_changed_to__s_n */
    0x0000ba94 addiu a2, a2, 0x3754          |     a2 += 0x3754;
    0x0000ba98 addiu a1, zero, 1             |     a1 = 1;
    0x0000ba9c move a0, t3                   |     a0 = t3;
    0x0000baa0 jalr t9                       |     t9 ();
    0x0000baa4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000baa8 lw t1, 0x34(sp)               |     t1 = *(var_34h);
    0x0000baac lw t2, 0x24(sp)               |     t2 = *(var_24h);
    0x0000bab0 sw s0, 0x54a4(t2)             |     *((t2 + 5417)) = s0;
    0x0000bab4 b 0xb6e4                      |     goto label_15;
                                             | label_40:
    0x0000bab8 divu zero, a0, v0             |     __asm ("divu zero, a0, v0");
    0x0000babc teq v0, zero, 7               |     __asm ("teq v0, zero, 7");
    0x0000bac0 addiu v0, zero, 3             |     v0 = 3;
    0x0000bac4 mflo a0                       |     __asm ("mflo a0");
    0x0000bac8 addiu v0, zero, 4             |     v0 = 4;
                                             |     if (a0 != v0) {
    0x0000bacc bne a0, v0, 0xbbac            |         goto label_64;
                                             |     }
    0x0000bad0 addiu s0, zero, 0x20          |     s0 = 0x20;
    0x0000bad4 b 0xba48                      |     goto label_16;
                                             | label_52:
    0x0000bad8 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x0000badc lw t9, -0x7e6c(gp)            |     t9 = sym.imp.fwrite;
    0x0000bae0 lw a3, (v0)                   |     a3 = *(v0);
    0x0000bae4 sw t1, 0x24(sp)               |     *(var_24h) = t1;
    0x0000bae8 sw t2, 0x20(sp)               |     *(var_20h) = t2;
    0x0000baec addiu a2, zero, 0x21          |     a2 = 0x21;
    0x0000baf0 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str.Warning:_format_is_changed_to_U8_n */
    0x0000baf4 addiu a0, a0, 0x35e0          |     a0 += 0x35e0;
    0x0000baf8 jalr t9                       |     t9 ();
    0x0000bafc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000bb00 lw t1, 0x24(sp)               |     t1 = *(var_24h);
    0x0000bb04 lw t2, 0x20(sp)               |     t2 = *(var_20h);
    0x0000bb08 b 0xb6dc                      |     goto label_17;
                                             | label_50:
    0x0000bb0c addiu a0, zero, 0xa           |     a0 = 0xa;
                                             |     if (s3 != 0) {
    0x0000bb10 movz v0, a0, s3               |         v0 = a0;
                                             |     }
    0x0000bb14 sw v0, 0x54a4(t2)             |     *((t2 + 5417)) = v0;
    0x0000bb18 b 0xb6e4                      |     goto label_15;
                                             | label_41:
    0x0000bb1c addiu s0, zero, 7             |     s0 = 7;
                                             |     if (a0 == v0) {
    0x0000bb20 beq a0, v0, 0xba48            |         goto label_16;
                                             |     }
    0x0000bb24 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000bb28 lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000bb2c lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000bb30 lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x0000bb34 addiu v0, zero, 0x455         |     v0 = 0x455;
    0x0000bb38 lw a0, (s0)                   |     a0 = *(s0);
    0x0000bb3c sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0000bb40 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000bb44 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.test_wavefile */
    0x0000bb48 addiu v0, v0, 0x41d0          |     v0 += 0x41d0;
    0x0000bb4c sw t1, 0x20(sp)               |     *(var_20h) = t1;
    0x0000bb50 sw v0, 0x10(sp)               |     *(var_10h) = v0;
                                             |     /* str._s:__s:_d:_ */
    0x0000bb54 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000bb58 addiu a1, zero, 1             |     a1 = 1;
    0x0000bb5c jalr t9                       |     t9 ();
    0x0000bb60 lhu a3, 0xe(fp)               |     a3 = *(arg_eh);
    0x0000bb64 lhu v0, 0xc(fp)               |     v0 = *(arg_ch);
    0x0000bb68 wsbh a3, a3                   |     __asm ("wsbh a3, a3");
    0x0000bb6c wsbh v0, v0                   |     __asm ("wsbh v0, v0");
    0x0000bb70 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000bb74 lw a0, (s0)                   |     a0 = *(s0);
    0x0000bb78 lw t1, 0x20(sp)               |     t1 = *(var_20h);
    0x0000bb7c andi a3, a3, 0xffff           |     a3 &= 0xffff;
    0x0000bb80 andi v0, v0, 0xffff           |     v0 &= 0xffff;
                                             | label_19:
    0x0000bb84 lw v1, 4(t1)                  |     v1 = *((t1 + 1));
    0x0000bb88 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000bb8c lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str._cant_play_WAVE_files_with_sample__d_bits_in__d_bytes_wide___d_channels_ */
    0x0000bb90 addiu a2, a2, 0x3778          |     a2 += 0x3778;
    0x0000bb94 addiu a1, zero, 1             |     a1 = 1;
    0x0000bb98 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x0000bb9c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000bba0 jalr t9                       |     t9 ();
    0x0000bba4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000bba8 b 0xb9bc                      |     goto label_18;
                                             | label_64:
    0x0000bbac addiu s0, zero, 6             |     s0 = 6;
                                             |     if (a0 == v0) {
    0x0000bbb0 beq a0, v0, 0xba48            |         goto label_16;
                                             |     }
    0x0000bbb4 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000bbb8 lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000bbbc lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000bbc0 lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x0000bbc4 addiu v0, zero, 0x455         |     v0 = 0x455;
    0x0000bbc8 lw a0, (s0)                   |     a0 = *(s0);
    0x0000bbcc sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0000bbd0 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000bbd4 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.test_wavefile */
    0x0000bbd8 addiu v0, v0, 0x41d0          |     v0 += 0x41d0;
    0x0000bbdc sw t1, 0x20(sp)               |     *(var_20h) = t1;
    0x0000bbe0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
                                             |     /* str._s:__s:_d:_ */
    0x0000bbe4 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000bbe8 addiu a1, zero, 1             |     a1 = 1;
    0x0000bbec jalr t9                       |     t9 ();
    0x0000bbf0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000bbf4 lw a0, (s0)                   |     a0 = *(s0);
    0x0000bbf8 lhu a3, 0xe(fp)               |     a3 = *(arg_eh);
    0x0000bbfc lhu v0, 0xc(fp)               |     v0 = *(arg_ch);
    0x0000bc00 lw t1, 0x20(sp)               |     t1 = *(var_20h);
    0x0000bc04 b 0xbb84                      |     goto label_19;
                                             | label_31:
    0x0000bc08 lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000bc0c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000bc10 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000bc14 lw a0, (s0)                   |     a0 = *(s0);
    0x0000bc18 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
    0x0000bc1c lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
                                             |     /* str._s:__s:_d:_ */
    0x0000bc20 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000bc24 addiu a1, zero, 1             |     a1 = 1;
    0x0000bc28 addiu v0, zero, 0x40b         |     v0 = 0x40b;
                                             |     do {
                                             | label_21:
    0x0000bc2c sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0000bc30 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
                                             |         /* str.test_wavefile */
    0x0000bc34 addiu v0, v0, 0x41d0          |         v0 += 0x41d0;
    0x0000bc38 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000bc3c jalr t9                       |         t9 ();
    0x0000bc40 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000bc44 lw a3, (s0)                   |         a3 = *(s0);
    0x0000bc48 addiu a2, zero, 0x11          |         a2 = 0x11;
    0x0000bc4c lw a0, -0x7fd8(gp)            |         a0 = *(gp);
    0x0000bc50 lw t9, -0x7e6c(gp)            |         t9 = sym.imp.fwrite;
    0x0000bc54 addiu a1, zero, 1             |         a1 = 1;
                                             |         /* str.not_enough_memory */
    0x0000bc58 addiu a0, a0, 0x3098          |         a0 += 0x3098;
    0x0000bc5c b 0xb9b0                      |         goto label_20;
                                             | label_25:
    0x0000bc60 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
    0x0000bc64 lw s0, -0x7e24(gp)            |         s0 = *((gp - 8073));
    0x0000bc68 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x0000bc6c lw a3, 0x54b4(v0)             |         a3 = *((v0 + 5421));
    0x0000bc70 lw a0, (s0)                   |         a0 = *(s0);
    0x0000bc74 lw t9, -0x7d04(gp)            |         t9 = sym.imp.__fprintf_chk
                                             |         /* str._s:__s:_d:_ */
    0x0000bc78 addiu a2, a2, 0x2b6c          |         a2 += 0x2b6c;
    0x0000bc7c addiu a1, zero, 1             |         a1 = 1;
    0x0000bc80 addiu v0, zero, 0x3f4         |         v0 = 0x3f4;
    0x0000bc84 b 0xbc2c                      |         
                                             |     } while (1);
                                             | label_28:
    0x0000bc88 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000bc8c lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000bc90 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000bc94 lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x0000bc98 lw a0, (s0)                   |     a0 = *(s0);
    0x0000bc9c lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str._s:__s:_d:_ */
    0x0000bca0 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000bca4 addiu a1, zero, 1             |     a1 = 1;
    0x0000bca8 addiu v0, zero, 0x3ff         |     v0 = 0x3ff;
    0x0000bcac b 0xbc2c                      |     goto label_21;
                                             | label_57:
    0x0000bcb0 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000bcb4 lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000bcb8 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000bcbc lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x0000bcc0 lw a0, (s0)                   |     a0 = *(s0);
    0x0000bcc4 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str._s:__s:_d:_ */
    0x0000bcc8 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000bccc addiu a1, zero, 1             |     a1 = 1;
    0x0000bcd0 addiu v0, zero, 0x487         |     v0 = 0x487;
    0x0000bcd4 b 0xbc2c                      |     goto label_21;
                                             | label_36:
    0x0000bcd8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000bcdc lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000bce0 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000bce4 lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x0000bce8 addiu v0, zero, 0x423         |     v0 = 0x423;
    0x0000bcec lw a0, (s0)                   |     a0 = *(s0);
    0x0000bcf0 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0000bcf4 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000bcf8 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.test_wavefile */
    0x0000bcfc addiu v0, v0, 0x41d0          |     v0 += 0x41d0;
                                             |     /* str._s:__s:_d:_ */
    0x0000bd00 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000bd04 addiu a1, zero, 1             |     a1 = 1;
    0x0000bd08 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000bd0c jalr t9                       |     t9 ();
    0x0000bd10 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000bd14 lw a0, (s0)                   |     a0 = *(s0);
    0x0000bd18 move a3, zero                 |     a3 = 0;
    0x0000bd1c lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000bd20 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.cant_play_WAVE_files_with__d_tracks */
    0x0000bd24 addiu a2, a2, 0x372c          |     a2 += 0x372c;
    0x0000bd28 addiu a1, zero, 1             |     a1 = 1;
    0x0000bd2c b 0xb9b0                      |     goto label_20;
                                             | label_30:
    0x0000bd30 lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000bd34 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000bd38 lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x0000bd3c addiu v0, zero, 0x408         |     v0 = 0x408;
    0x0000bd40 lw a0, (s0)                   |     a0 = *(s0);
    0x0000bd44 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0000bd48 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000bd4c lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.test_wavefile */
    0x0000bd50 addiu v0, v0, 0x41d0          |     v0 += 0x41d0;
                                             |     /* str._s:__s:_d:_ */
    0x0000bd54 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000bd58 addiu a1, zero, 1             |     a1 = 1;
    0x0000bd5c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000bd60 jalr t9                       |     t9 ();
    0x0000bd64 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000bd68 lw a0, (s0)                   |     a0 = *(s0);
    0x0000bd6c addiu v0, zero, 0x10          |     v0 = 0x10;
    0x0000bd70 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000bd74 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
    0x0000bd78 move a3, s7                   |     a3 = s7;
                                             |     /* str.unknown_length_of_fmt__chunk__read__u__should_be__u_at_least_ */
    0x0000bd7c addiu a2, a2, 0x362c          |     a2 += 0x362c;
    0x0000bd80 addiu a1, zero, 1             |     a1 = 1;
    0x0000bd84 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000bd88 jalr t9                       |     t9 ();
    0x0000bd8c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000bd90 b 0xb9bc                      |     goto label_18;
                                             | label_62:
    0x0000bd94 lw t9, -0x7e98(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000bd98 jalr t9                       |     t9 ();
    0x0000bd9c nop                           |     
                                             | label_43:
    0x0000bda0 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000bda4 lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000bda8 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000bdac lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x0000bdb0 addiu v0, zero, 0x417         |     v0 = 0x417;
    0x0000bdb4 lw a0, (s0)                   |     a0 = *(s0);
    0x0000bdb8 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0000bdbc lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000bdc0 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.test_wavefile */
    0x0000bdc4 addiu v0, v0, 0x41d0          |     v0 += 0x41d0;
                                             |     /* str._s:__s:_d:_ */
    0x0000bdc8 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000bdcc addiu a1, zero, 1             |     a1 = 1;
    0x0000bdd0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000bdd4 jalr t9                       |     t9 ();
    0x0000bdd8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000bddc lw a3, (s0)                   |     a3 = *(s0);
    0x0000bde0 addiu a2, zero, 0x2b          |     a2 = 0x2b;
    0x0000bde4 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x0000bde8 lw t9, -0x7e6c(gp)            |     t9 = sym.imp.fwrite;
    0x0000bdec addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str.wrong_format_tag_in_extensible_fmt__chunk */
    0x0000bdf0 addiu a0, a0, 0x36b8          |     a0 += 0x36b8;
    0x0000bdf4 b 0xb9b0                      |     goto label_20;
                                             | label_63:
    0x0000bdf8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000bdfc lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000be00 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000be04 lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x0000be08 lw a0, (s0)                   |     a0 = *(s0);
    0x0000be0c lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str._s:__s:_d:_ */
    0x0000be10 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000be14 addiu a1, zero, 1             |     a1 = 1;
    0x0000be18 addiu v0, zero, 0x3ef         |     v0 = 0x3ef;
    0x0000be1c b 0xbc2c                      |     goto label_21;
                                             | label_42:
    0x0000be20 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000be24 lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000be28 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000be2c lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x0000be30 addiu v0, zero, 0x413         |     v0 = 0x413;
    0x0000be34 lw a0, (s0)                   |     a0 = *(s0);
    0x0000be38 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0000be3c lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000be40 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.test_wavefile */
    0x0000be44 addiu v0, v0, 0x41d0          |     v0 += 0x41d0;
                                             |     /* str._s:__s:_d:_ */
    0x0000be48 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000be4c addiu a1, zero, 1             |     a1 = 1;
    0x0000be50 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000be54 jalr t9                       |     t9 ();
    0x0000be58 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000be5c lw a0, (s0)                   |     a0 = *(s0);
    0x0000be60 addiu v0, zero, 0x28          |     v0 = 0x28;
    0x0000be64 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000be68 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
    0x0000be6c move a3, s7                   |     a3 = s7;
                                             |     /* str.unknown_length_of_extensible_fmt__chunk__read__u__should_be__u_at_least_ */
    0x0000be70 addiu a2, a2, 0x366c          |     a2 += 0x366c;
    0x0000be74 addiu a1, zero, 1             |     a1 = 1;
    0x0000be78 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000be7c jalr t9                       |     t9 ();
    0x0000be80 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000be84 b 0xb9bc                      |     goto label_18;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0xc0ec */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000c0ec ()                  | void fcn_0000c0ec () {
    0x0000c0ec lui gp, 2                     |     
    0x0000c0f0 addiu gp, gp, 0xf54           |     
    0x0000c0f4 addu gp, gp, t9               |     gp += t9;
    0x0000c0f8 addiu sp, sp, -0x4c0          |     
    0x0000c0fc lw v0, -0x7e4c(gp)            |     v0 = *((gp - 8083));
    0x0000c100 sw s1, 0x49c(sp)              |     *(var_49ch) = s1;
    0x0000c104 lw s1, -0x7fdc(gp)            |     s1 = *((gp - 8183));
    0x0000c108 sw s0, 0x498(sp)              |     *(var_498h) = s0;
    0x0000c10c addiu s0, s1, 0x5498          |     s0 = s1 + 0x5498;
    0x0000c110 sw fp, 0x4b8(sp)              |     *(var_4b8h) = fp;
    0x0000c114 sw s7, 0x4b4(sp)              |     *(var_4b4h) = s7;
    0x0000c118 move fp, sp                   |     fp = sp;
    0x0000c11c lw s7, 4(s0)                  |     s7 = *((s0 + 1));
    0x0000c120 sw s6, 0x4b0(sp)              |     *(var_4b0h) = s6;
    0x0000c124 sw ra, 0x4bc(sp)              |     *(var_4bch) = ra;
    0x0000c128 sw s5, 0x4ac(sp)              |     *(var_4ach) = s5;
    0x0000c12c sw s4, 0x4a8(sp)              |     *(var_4a8h) = s4;
    0x0000c130 sw s3, 0x4a4(sp)              |     *(var_4a4h) = s3;
    0x0000c134 sw s2, 0x4a0(sp)              |     *(var_4a0h) = s2;
    0x0000c138 sw gp, 0x18(sp)               |     *(var_18h_2) = gp;
    0x0000c13c lw v1, (v0)                   |     v1 = *(v0);
    0x0000c140 sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
    0x0000c144 sll v0, s7, 2                 |     v0 = s7 << 2;
    0x0000c148 sw v0, 0x44(fp)               |     *(arg_44h) = v0;
    0x0000c14c addiu v0, v0, 7               |     v0 += 7;
    0x0000c150 sw v0, 0x5c(fp)               |     *(arg_5ch) = v0;
    0x0000c154 srl v0, v0, 3                 |     v0 >>= 3;
    0x0000c158 sll v0, v0, 3                 |     v0 <<= 3;
    0x0000c15c subu sp, sp, v0               |     
    0x0000c160 addiu v0, sp, 0x18            |     v0 = sp + 0x18;
    0x0000c164 sw a0, 0x3c(fp)               |     *(arg_3ch) = a0;
    0x0000c168 move s6, a1                   |     s6 = a1;
    0x0000c16c sw v1, 0x494(fp)              |     *(arg_494h) = v1;
    0x0000c170 sw v0, 0x70(fp)               |     *(arg_70h) = v0;
                                             |     if (s7 == 0) {
    0x0000c174 beqz s7, 0xcb20               |         goto label_27;
                                             |     }
    0x0000c178 lw v1, 0x70(fp)               |     v1 = *(arg_70h);
    0x0000c17c move v0, zero                 |     v0 = 0;
    0x0000c180 addiu a0, zero, -1            |     a0 = -1;
                                             |     do {
    0x0000c184 addiu v0, v0, 1               |         v0++;
    0x0000c188 sw a0, (v1)                   |         *(v1) = a0;
    0x0000c18c addiu v1, v1, 4               |         v1 += 4;
    0x0000c190 bne s7, v0, 0xc184            |         
                                             |     } while (s7 != v0);
    0x0000c194 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (s6 == v0) {
    0x0000c198 beq s6, v0, 0xc930            |         goto label_28;
                                             |     }
    0x0000c19c nop                           |     
                                             | label_19:
    0x0000c1a0 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (s7 != s6) {
    0x0000c1a4 bne s7, s6, 0xcb2c            |         goto label_29;
                                             |     }
    0x0000c1a8 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
                                             |     if (s7 == 0) {
    0x0000c1ac beqz s7, 0xca70               |         goto label_30;
                                             |     }
    0x0000c1b0 sw zero, 0x38(fp)             |     *(arg_38h) = 0;
                                             | label_13:
    0x0000c1b4 lw s2, 0x3c(fp)               |     s2 = *(arg_3ch);
    0x0000c1b8 lw s3, 0x70(fp)               |     s3 = *(arg_70h);
    0x0000c1bc move s4, zero                 |     s4 = 0;
    0x0000c1c0 b 0xc1d8                      |     
                                             |     while (v0 >= 0) {
    0x0000c1c4 addiu s4, s4, 1               |         s4++;
    0x0000c1c8 sltu v0, s4, s7               |         v0 = (s4 < s7) ? 1 : 0;
    0x0000c1cc addiu s2, s2, 4               |         s2 += 4;
    0x0000c1d0 addiu s3, s3, 4               |         s3 += 4;
                                             |         if (v0 == 0) {
    0x0000c1d4 beqz v0, 0xc2c8               |             goto label_31;
                                             |         }
    0x0000c1d8 lw t9, -0x7f10(gp)            |         t9 = sym.imp.open64;
    0x0000c1dc lw a0, (s2)                   |         a0 = *(s2);
    0x0000c1e0 move a2, zero                 |         a2 = 0;
    0x0000c1e4 move a1, zero                 |         a1 = 0;
    0x0000c1e8 jalr t9                       |         t9 ();
    0x0000c1ec lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x0000c1f0 sw v0, (s3)                   |         *(s3) = v0;
    0x0000c1f4 bgez v0, 0xc1c4               |         
                                             |     }
    0x0000c1f8 lw t9, -0x7db0(gp)            |     t9 = sym.imp.perror;
    0x0000c1fc lw a0, (s2)                   |     a0 = *(s2);
    0x0000c200 addiu s2, zero, 1             |     s2 = 1;
    0x0000c204 jalr t9                       |     t9 ();
    0x0000c208 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             | label_4:
    0x0000c20c lw s1, 0x70(fp)               |     s1 = *(arg_70h);
    0x0000c210 move s0, zero                 |     s0 = 0;
    0x0000c214 lw s3, 0x38(fp)               |     s3 = *(arg_38h);
    0x0000c218 lw s4, 0x3c(fp)               |     s4 = *(arg_3ch);
    0x0000c21c b 0xc22c                      |     
                                             |     while (s3 == 0) {
    0x0000c220 sltu v0, s0, s7               |         v0 = (s0 < s7) ? 1 : 0;
    0x0000c224 addiu s1, s1, 4               |         s1 += 4;
                                             |         if (v0 == 0) {
    0x0000c228 beqz v0, 0xc270               |             goto label_32;
                                             |         }
                                             | label_0:
    0x0000c22c lw a0, (s1)                   |         a0 = *(s1);
    0x0000c230 lw t9, -0x7e68(gp)            |         t9 = sym.imp.close;
                                             |         if (a0 >= 0) {
    0x0000c234 bltz a0, 0xc244               |             
    0x0000c238 jalr t9                       |             t9 ();
    0x0000c23c nop                           |             
    0x0000c240 lw gp, 0x18(fp)               |             gp = *(var_18h_2);
                                             |         }
    0x0000c244 beql s3, zero, 0xc220         |         
                                             |     }
    0x0000c248 addiu s0, s0, 1               |     s0++;
    0x0000c24c sll a0, s0, 2                 |     a0 = s0 << 2;
    0x0000c250 lw t9, -0x7dd4(gp)            |     t9 = sym.imp.free;
    0x0000c254 lwx a0, a0(s4)                |     __asm ("lwx a0, a0(s4)");
    0x0000c258 addiu s0, s0, 1               |     s0++;
    0x0000c25c jalr t9                       |     t9 ();
    0x0000c260 sltu v0, s0, s7               |     v0 = (s0 < s7) ? 1 : 0;
    0x0000c264 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000c268 addiu s1, s1, 4               |     s1 += 4;
                                             |     if (v0 != 0) {
    0x0000c26c bnez v0, 0xc22c               |         goto label_0;
                                             |     }
                                             | label_32:
    0x0000c270 lw v0, 0x38(fp)               |     v0 = *(arg_38h);
    0x0000c274 lw t9, -0x7dd4(gp)            |     t9 = sym.imp.free;
                                             |     if (v0 != 0) {
    0x0000c278 bnez v0, 0xca60               |         goto label_33;
                                             |     }
                                             | label_16:
    0x0000c27c lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
                                             |     if (s2 != 0) {
    0x0000c280 bnez s2, 0xcbec               |         goto label_34;
                                             |     }
    0x0000c284 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
                                             | label_15:
    0x0000c288 lw v1, 0x494(fp)              |     v1 = *(arg_494h);
    0x0000c28c lw v0, (v0)                   |     v0 = *(v0);
    0x0000c290 lw ra, 0x4bc(fp)              |     ra = *(var_4bch);
                                             |     if (v1 != v0) {
    0x0000c294 bne v1, v0, 0xcc74            |         goto label_35;
                                             |     }
    0x0000c298 move sp, fp                   |     
    0x0000c29c lw fp, 0x4b8(sp)              |     fp = *(var_4b8h);
    0x0000c2a0 lw s7, 0x4b4(sp)              |     s7 = *(var_4b4h);
    0x0000c2a4 lw s6, 0x4b0(sp)              |     s6 = *(var_4b0h);
    0x0000c2a8 lw s5, 0x4ac(sp)              |     s5 = *(var_4ach);
    0x0000c2ac lw s4, 0x4a8(sp)              |     s4 = *(var_4a8h);
    0x0000c2b0 lw s3, 0x4a4(sp)              |     s3 = *(var_4a4h);
    0x0000c2b4 lw s2, 0x4a0(sp)              |     s2 = *(var_4a0h);
    0x0000c2b8 lw s1, 0x49c(sp)              |     s1 = *(var_49ch);
    0x0000c2bc lw s0, 0x498(sp)              |     s0 = *(var_498h);
    0x0000c2c0 addiu sp, sp, 0x4c0           |     
    0x0000c2c4 jr ra                         |     return v0;
                                             | label_31:
    0x0000c2c8 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x0000c2cc lw a0, 0x5498(s1)             |     a0 = *((s1 + 5414));
    0x0000c2d0 addiu a2, a1, 0x54a4          |     a2 = a1 + 0x54a4;
    0x0000c2d4 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000c2d8 lw v1, 4(s0)                  |     v1 = *((s0 + 1));
    0x0000c2dc lw v0, 8(s0)                  |     v0 = *((s0 + 2));
    0x0000c2e0 sw a0, 0x54a4(a1)             |     *((a1 + 5417)) = a0;
    0x0000c2e4 sw a1, 0x34(fp)               |     *(arg_34h) = a1;
    0x0000c2e8 sw a2, 0x28(fp)               |     *(arg_28h) = a2;
    0x0000c2ec sw v1, 4(a2)                  |     *((a2 + 1)) = v1;
    0x0000c2f0 addiu t9, t9, 0x5190          |     t9 += fcn.00005190;
    0x0000c2f4 sw v0, 8(a2)                  |     *((a2 + 2)) = v0;
    0x0000c2f8 bal 0x5190                    |     fcn_00005190 ();
    0x0000c2fc lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000c300 lw a0, 0x5c(fp)               |     a0 = *(arg_5ch);
    0x0000c304 sw sp, 0x24(fp)               |     
    0x0000c308 lw a2, -0x7fdc(gp)            |     a2 = *((gp - 8183));
    0x0000c30c lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x0000c310 srl a0, a0, 3                 |     a0 >>= 3;
    0x0000c314 sll a0, a0, 3                 |     a0 <<= 3;
    0x0000c318 subu sp, sp, a0               |     
    0x0000c31c lw a2, 0x548c(a2)             |     a2 = *((a2 + 5411));
    0x0000c320 sw v0, 0x4c(fp)               |     *(arg_4ch) = v0;
    0x0000c324 sw v0, 0x5018(a1)             |     *((a1 + 5126)) = v0;
    0x0000c328 addiu v0, sp, 0x18            |     v0 = sp + 0x18;
    0x0000c32c sw v1, 0x50(fp)               |     *(arg_50h) = v1;
    0x0000c330 sw v1, 0x501c(a1)             |     *((a1 + 5127)) = v1;
    0x0000c334 sw v0, 0x74(fp)               |     *(arg_74h) = v0;
                                             |     if (a2 != 0) {
    0x0000c338 bnez a2, 0xca1c               |         goto label_36;
                                             |     }
    0x0000c33c lw v0, 0x3c(fp)               |     v0 = *(arg_3ch);
    0x0000c340 lw t9, -0x7fd8(gp)            |     t9 = *(gp);
    0x0000c344 move a0, zero                 |     a0 = 0;
    0x0000c348 addiu t9, t9, -0x7a98         |     t9 += -0x7a98;
    0x0000c34c lw a1, (v0)                   |     a1 = *(v0);
    0x0000c350 bal 0x8568                    |     fcn_00008568 ();
    0x0000c354 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000c358 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000c35c addiu t9, t9, 0x67b4          |     t9 += fcn.000067b4;
    0x0000c360 bal 0x67b4                    |     fcn_000067b4 ();
    0x0000c364 nop                           |     
    0x0000c368 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000c36c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000c370 lw v0, 0x542c(v0)             |     v0 = *((v0 + 5387));
    0x0000c374 divu zero, v0, s7             |     __asm ("divu zero, v0, s7");
    0x0000c378 teq s7, zero, 7               |     __asm ("teq s7, zero, 7");
    0x0000c37c mflo v0                       |     __asm ("mflo v0");
    0x0000c380 sw v0, 0x40(fp)               |     *(arg_40h) = v0;
                                             |     if (s7 == 0) {
    0x0000c384 beqz s7, 0xcbe4               |         goto label_37;
                                             |     }
                                             | label_14:
    0x0000c388 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000c38c lw v1, 0x74(fp)               |     v1 = *(arg_74h);
    0x0000c390 lw a1, 0x40(fp)               |     a1 = *(arg_40h);
    0x0000c394 lw v0, 0x5474(v0)             |     v0 = *((v0 + 5405));
    0x0000c398 move s6, zero                 |     s6 = 0;
                                             |     do {
    0x0000c39c addiu s6, s6, 1               |         s6++;
    0x0000c3a0 sltu a0, s6, s7               |         a0 = (s6 < s7) ? 1 : 0;
    0x0000c3a4 sw v0, (v1)                   |         *(v1) = v0;
    0x0000c3a8 addu v0, v0, a1               |         v0 += a1;
    0x0000c3ac addiu v1, v1, 4               |         v1 += 4;
    0x0000c3b0 bnez a0, 0xc39c               |         
                                             |     } while (a0 != 0);
                                             | label_17:
    0x0000c3b4 lw v0, 0x50(fp)               |     v0 = *(arg_50h);
                                             |     if (v0 <= 0) {
    0x0000c3b8 blez v0, 0xcbcc               |         goto label_38;
                                             |     }
    0x0000c3bc nop                           |     
    0x0000c3c0 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             | label_26:
    0x0000c3c4 sw v0, 0x6c(fp)               |     *(arg_6ch) = v0;
    0x0000c3c8 lw v0, 0x5478(v0)             |     v0 = *((v0 + 5406));
    0x0000c3cc lw v0, 0x74(fp)               |     v0 = *(arg_74h);
                                             |     if (v0 != 0) {
    0x0000c3d0 bnez v0, 0xc728               |         goto label_21;
                                             |     }
    0x0000c3d4 lw v1, 0x44(fp)               |     v1 = *(arg_44h);
    0x0000c3d8 sw s6, 0x4c4(fp)              |     *(arg_4c4h) = s6;
    0x0000c3dc addu v0, v0, v1               |     v0 += v1;
    0x0000c3e0 sw v0, 0x30(fp)               |     *(arg_30h) = v0;
    0x0000c3e4 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000c3e8 addiu v0, v0, 0x50b0          |     v0 += fcn.000050b0;
    0x0000c3ec sw v0, 0x88(fp)               |     *(arg_88h) = v0;
    0x0000c3f0 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000c3f4 addiu v0, v0, 0x558c          |     v0 += 0x558c;
    0x0000c3f8 sw v0, 0x84(fp)               |     *(arg_84h) = v0;
    0x0000c3fc lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000c400 addiu v0, v0, -0x7770         |     v0 += -0x7770;
    0x0000c404 sw v0, 0x58(fp)               |     *(arg_58h) = v0;
    0x0000c408 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000c40c addiu v0, v0, -0x7290         |     v0 += -0x7290;
    0x0000c410 sw v0, 0x54(fp)               |     *(arg_54h) = v0;
    0x0000c414 lw t9, -0x7f9c(gp)            |     t9 = *(gp);
                                             | label_3:
    0x0000c418 lw a0, 0x4c(fp)               |     a0 = *(arg_4ch);
    0x0000c41c lw a1, 0x50(fp)               |     a1 = *(arg_50h);
    0x0000c420 move a2, s7                   |     a2 = s7;
    0x0000c424 move a3, zero                 |     a3 = 0;
    0x0000c428 bal 0xe650                    |     fcn_0000e650 ();
    0x0000c42c lw a0, 0x70(fp)               |     a0 = *(arg_70h);
    0x0000c430 lw v1, 0x40(fp)               |     v1 = *(arg_40h);
    0x0000c434 lw s3, 0x4c4(fp)              |     s3 = *(arg_4c4h);
    0x0000c438 lw a0, (a0)                   |     a0 = *(a0);
    0x0000c43c sltu s2, v1, v0               |     s2 = (v1 < v0) ? 1 : 0;
    0x0000c440 sw a0, 0x8c(fp)               |     *(arg_8ch) = a0;
    0x0000c444 lw a0, 0x74(fp)               |     a0 = *(arg_74h);
                                             |     if (s2 != 0) {
    0x0000c448 movz v1, v0, s2               |         v1 = v0;
                                             |     }
    0x0000c44c sltiu v0, s7, 2               |     v0 = (s7 < 2) ? 1 : 0;
    0x0000c450 lw s1, (a0)                   |     s1 = *(a0);
    0x0000c454 move s2, v1                   |     s2 = v1;
    0x0000c458 move s0, zero                 |     s0 = 0;
    0x0000c45c sw v0, 0x80(fp)               |     *(arg_80h) = v0;
    0x0000c460 lw a0, 0x8c(fp)               |     a0 = *(arg_8ch);
                                             | label_1:
    0x0000c464 lw t9, 0x88(fp)               |     t9 = *(arg_88h);
    0x0000c468 move a2, s2                   |     a2 = s2;
    0x0000c46c move a1, s1                   |     a1 = s1;
    0x0000c470 jalr t9                       |     t9 ();
    0x0000c474 move s5, v0                   |     s5 = v0;
    0x0000c478 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             |     if (v0 < 0) {
    0x0000c47c bltz v0, 0xcbb8               |         goto label_39;
                                             |     }
    0x0000c480 lw v0, 0x80(fp)               |     v0 = *(arg_80h);
    0x0000c484 addiu s3, zero, 1             |     s3 = 1;
                                             |     if (v0 != 0) {
    0x0000c488 bnez v0, 0xc4d4               |         goto label_40;
                                             |     }
    0x0000c48c lw v0, 0x70(fp)               |     v0 = *(arg_70h);
    0x0000c490 addiu s3, zero, 1             |     s3 = 1;
    0x0000c494 addiu s6, v0, 4               |     s6 = v0 + 4;
    0x0000c498 lw v0, 0x74(fp)               |     v0 = *(arg_74h);
    0x0000c49c addiu s4, v0, 4               |     s4 = v0 + 4;
                                             |     do {
    0x0000c4a0 lw a0, (s6)                   |         a0 = *(s6);
    0x0000c4a4 lw a1, (s4)                   |         a1 = *(s4);
    0x0000c4a8 lw t9, 0x88(fp)               |         t9 = *(arg_88h);
    0x0000c4ac move a2, s5                   |         a2 = s5;
    0x0000c4b0 jalr t9                       |         t9 ();
    0x0000c4b4 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x0000c4b8 sll a0, s3, 2                 |         a0 = s3 << 2;
                                             |         if (s5 != v0) {
    0x0000c4bc bne s5, v0, 0xc9f4            |             goto label_41;
                                             |         }
    0x0000c4c0 addiu s3, s3, 1               |         s3++;
    0x0000c4c4 addiu s6, s6, 4               |         s6 += 4;
    0x0000c4c8 addiu s4, s4, 4               |         s4 += 4;
    0x0000c4cc bne s7, s3, 0xc4a0            |         
                                             |     } while (s7 != s3);
    0x0000c4d0 move s3, s7                   |     s3 = s7;
                                             |     if (s5 == 0) {
                                             | label_40:
    0x0000c4d4 beql s5, zero, 0xc4f0         |         goto label_42;
                                             |     }
    0x0000c4d8 lw s4, -0x7fdc(gp)            |     s4 = *((gp - 8183));
    0x0000c4dc addu s0, s0, s5               |     s0 += s5;
    0x0000c4e0 sltu v0, s0, s2               |     v0 = (s0 < s2) ? 1 : 0;
    0x0000c4e4 lw a0, 0x8c(fp)               |     a0 = *(arg_8ch);
                                             |     if (v0 == 0) {
    0x0000c4e8 bnel v0, zero, 0xc464         |         goto label_1;
                                             |     }
    0x0000c4ec lw s4, -0x7fdc(gp)            |     s4 = *((gp - 8183));
                                             | label_42:
    0x0000c4f0 sll s0, s0, 3                 |     s0 <<= 3;
    0x0000c4f4 lw s2, -0x7fdc(gp)            |     s2 = *((gp - 8183));
    0x0000c4f8 lw a1, 0x5434(s4)             |     a1 = *((s4 + 5389));
    0x0000c4fc sw s3, 0x4c4(fp)              |     *(arg_4c4h) = s3;
    0x0000c500 divu zero, s0, a1             |     __asm ("divu zero, s0, a1");
    0x0000c504 teq a1, zero, 7               |     __asm ("teq a1, zero, 7");
    0x0000c508 lw s0, 0x5470(s2)             |     s0 = *((s2 + 5404));
    0x0000c50c mflo s6                       |     __asm ("mflo s6");
    0x0000c510 sw s6, 0x48(fp)               |     *(arg_48h) = s6;
                                             |     if (s6 == s0) {
    0x0000c514 beq s6, s0, 0xc570            |         goto label_43;
                                             |     }
    0x0000c518 subu s0, s0, s6               |     __asm ("subu s0, s0, s6");
                                             |     if (s7 == 0) {
    0x0000c51c beqz s7, 0xc56c               |         goto label_44;
                                             |     }
    0x0000c520 lw v0, 0x74(fp)               |     v0 = *(arg_74h);
    0x0000c524 lw s5, 0x30(fp)               |     s5 = *(arg_30h);
    0x0000c528 addiu s3, v0, 4               |     s3 = v0 + 4;
    0x0000c52c move v0, a1                   |     v0 = a1;
    0x0000c530 move a1, s1                   |     a1 = s1;
    0x0000c534 lw s1, 0x34(fp)               |     s1 = *(arg_34h);
    0x0000c538 b 0xc548                      |     
                                             |     while (s5 != s3) {
    0x0000c53c lw v0, 0x5434(s4)             |         v0 = *((s4 + 5389));
    0x0000c540 lw a1, (s3)                   |         a1 = *(s3);
    0x0000c544 addiu s3, s3, 4               |         s3 += 4;
    0x0000c548 mul v0, s6, v0                |         __asm ("mul v0, s6, v0");
    0x0000c54c lw t9, -0x7ed4(gp)            |         t9 = sym.imp.snd_pcm_format_set_silence;
    0x0000c550 lw a0, 0x54a4(s1)             |         a0 = *((s1 + 5417));
    0x0000c554 move a2, s0                   |         a2 = s0;
    0x0000c558 srl v0, v0, 3                 |         v0 >>= 3;
    0x0000c55c addu a1, a1, v0               |         a1 += v0;
    0x0000c560 jalr t9                       |         t9 ();
    0x0000c564 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x0000c568 bne s5, s3, 0xc53c            |         
                                             |     }
                                             | label_44:
    0x0000c56c lw s0, 0x5470(s2)             |     s0 = *((s2 + 5404));
                                             | label_43:
    0x0000c570 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000c574 lw s1, 0x53f0(v0)             |     s1 = *((v0 + 5372));
    0x0000c578 lw s5, 0x74(fp)               |     s5 = *(arg_74h);
                                             |     if (s1 != 0) {
    0x0000c57c beqz s1, 0xc590               |         
    0x0000c580 lw s2, -0x7fdc(gp)            |         s2 = *((gp - 8183));
    0x0000c584 lw s5, 0x53a4(s2)             |         s5 = *((s2 + 5353));
    0x0000c588 lw v0, 0x28(fp)               |         v0 = *(arg_28h);
                                             |         if (s5 == 0) {
    0x0000c58c beqz s5, 0xc8d4               |             goto label_45;
                                             |         }
                                             |     }
                                             | label_12:
    0x0000c590 lw v0, 0x6c(fp)               |     v0 = *(arg_6ch);
                                             |     if (s0 == 0) {
    0x0000c594 beqz s0, 0xcb18               |         goto label_46;
                                             |     }
    0x0000c598 lw v0, 0x5478(v0)             |     v0 = *((v0 + 5406));
    0x0000c59c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (v0 != 0) {
    0x0000c5a0 bnez v0, 0xcb18               |         goto label_46;
                                             |     }
    0x0000c5a4 move s2, zero                 |     s2 = 0;
    0x0000c5a8 sw v0, 0x7c(fp)               |     *(arg_7ch) = v0;
    0x0000c5ac lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000c5b0 sw s5, 0x78(fp)               |     *(arg_78h) = s5;
    0x0000c5b4 sw v0, 0x8c(fp)               |     *(arg_8ch) = v0;
    0x0000c5b8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000c5bc sw v0, 0x68(fp)               |     *(arg_68h) = v0;
    0x0000c5c0 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000c5c4 sw v0, 0x64(fp)               |     *(arg_64h) = v0;
    0x0000c5c8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000c5cc sw v0, 0x80(fp)               |     *(arg_80h) = v0;
    0x0000c5d0 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000c5d4 sw v0, 0x60(fp)               |     *(arg_60h) = v0;
    0x0000c5d8 lw v0, 0x44(fp)               |     v0 = *(arg_44h);
    0x0000c5dc addu s6, s5, v0               |     s6 = s5 + v0;
    0x0000c5e0 lw v0, 0x5c(fp)               |     v0 = *(arg_5ch);
                                             | label_2:
    0x0000c5e4 move s3, sp                   |     s3 = sp;
    0x0000c5e8 srl v0, v0, 3                 |     v0 >>= 3;
    0x0000c5ec sll v0, v0, 3                 |     v0 <<= 3;
    0x0000c5f0 subu sp, sp, v0               |     
    0x0000c5f4 addiu s1, sp, 0x18            |     s1 = sp + 0x18;
                                             |     if (s7 == 0) {
    0x0000c5f8 beqz s7, 0xc628               |         goto label_47;
                                             |     }
    0x0000c5fc lw v0, 0x5434(s4)             |     v0 = *((s4 + 5389));
    0x0000c600 lw v1, 0x78(fp)               |     v1 = *(arg_78h);
    0x0000c604 mul v0, s2, v0                |     __asm ("mul v0, s2, v0");
    0x0000c608 move a0, s1                   |     a0 = s1;
    0x0000c60c srl v0, v0, 3                 |     v0 >>= 3;
                                             |     do {
    0x0000c610 lw a1, (v1)                   |         a1 = *(v1);
    0x0000c614 addiu v1, v1, 4               |         v1 += 4;
    0x0000c618 addu a1, a1, v0               |         a1 += v0;
    0x0000c61c sw a1, (a0)                   |         *(a0) = a1;
    0x0000c620 addiu a0, a0, 4               |         a0 += 4;
    0x0000c624 bne s6, v1, 0xc610            |         
                                             |     } while (s6 != v1);
                                             | label_47:
    0x0000c628 lw v0, 0x8c(fp)               |     v0 = *(arg_8ch);
    0x0000c62c lw v0, 0x5428(v0)             |     v0 = *((v0 + 5386));
    0x0000c630 lw t9, 0x84(fp)               |     t9 = *(arg_84h);
                                             |     if (v0 != 0) {
    0x0000c634 bnez v0, 0xc80c               |         goto label_48;
                                             |     }
    0x0000c638 lw v0, 0x68(fp)               |     v0 = *(arg_68h);
                                             | label_10:
    0x0000c63c lw v0, 0x5450(v0)             |     v0 = *((v0 + 5396));
    0x0000c640 lw v0, 0x64(fp)               |     v0 = *(arg_64h);
                                             |     if (v0 != 0) {
    0x0000c644 beqz v0, 0xc658               |         
    0x0000c648 lw t9, 0x58(fp)               |         t9 = *(arg_58h);
    0x0000c64c jalr t9                       |         t9 ();
    0x0000c650 nop                           |         
    0x0000c654 lw v0, 0x64(fp)               |         v0 = *(arg_64h);
                                             |     }
    0x0000c658 move a1, s1                   |     a1 = s1;
    0x0000c65c move a2, s0                   |     a2 = s0;
    0x0000c660 lw t9, 0x54b8(v0)             |     t9 = *((v0 + 5422));
    0x0000c664 lw v0, 0x7c(fp)               |     v0 = *(arg_7ch);
    0x0000c668 lw a0, 0x54b0(v0)             |     a0 = *((v0 + 5420));
    0x0000c66c jalr t9                       |     t9 ();
    0x0000c670 lw v1, 0x8c(fp)               |     v1 = *(arg_8ch);
    0x0000c674 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000c678 lw a0, 0x5428(v1)             |     a0 = *((v1 + 5386));
    0x0000c67c move s1, v0                   |     s1 = v0;
                                             |     if (a0 != 0) {
    0x0000c680 bnez a0, 0xc7f8               |         goto label_49;
                                             |     }
                                             | label_9:
    0x0000c684 addiu v0, zero, -0xb          |     v0 = -0xb;
    0x0000c688 lw v0, 0x80(fp)               |     v0 = *(arg_80h);
                                             |     if (s1 == v0) {
    0x0000c68c beq s1, v0, 0xc794            |         goto label_50;
                                             |     }
    0x0000c690 sltu v0, s1, s0               |     v0 = (s1 < s0) ? 1 : 0;
                                             |     if (s1 < 0) {
    0x0000c694 bltz s1, 0xc81c               |         goto label_51;
                                             |     }
    0x0000c698 lw v0, 0x80(fp)               |     v0 = *(arg_80h);
                                             |     if (v0 == 0) {
    0x0000c69c beqz v0, 0xc7b8               |         goto label_52;
                                             |     }
    0x0000c6a0 lw v0, 0x5424(v0)             |     v0 = *((v0 + 5385));
    0x0000c6a4 lw v0, 0x7c(fp)               |     v0 = *(arg_7ch);
                                             |     if (v0 == 0) {
    0x0000c6a8 beqz v0, 0xc7a4               |         goto label_53;
                                             |     }
    0x0000c6ac lw v0, 0x60(fp)               |     v0 = *(arg_60h);
                                             |     if (s1 == 0) {
    0x0000c6b0 beqz s1, 0xc78c               |         goto label_6;
                                             |     }
    0x0000c6b4 lw v0, 0x5440(v0)             |     v0 = *((v0 + 5392));
                                             |     if (v0 != 0) {
    0x0000c6b8 bnez v0, 0xc7cc               |         goto label_54;
                                             |     }
    0x0000c6bc nop                           |     
                                             | label_8:
    0x0000c6c0 subu s0, s0, s1               |     __asm ("subu s0, s0, s1");
                                             | label_7:
    0x0000c6c4 addu s2, s2, s1               |     s2 += s1;
    0x0000c6c8 move sp, s3                   |     
                                             |     if (s0 == 0) {
    0x0000c6cc beqz s0, 0xc6e0               |         goto label_18;
                                             |     }
                                             | label_5:
    0x0000c6d0 lw v0, 0x6c(fp)               |     v0 = *(arg_6ch);
    0x0000c6d4 lw v0, 0x5478(v0)             |     v0 = *((v0 + 5406));
    0x0000c6d8 lw v0, 0x5c(fp)               |     v0 = *(arg_5ch);
                                             |     if (v0 == 0) {
    0x0000c6dc beqz v0, 0xc5e4               |         goto label_2;
                                             |     }
                                             | label_18:
    0x0000c6e0 lw v1, 0x48(fp)               |     v1 = *(arg_48h);
    0x0000c6e4 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (v1 != s2) {
    0x0000c6e8 bne v1, s2, 0xc728            |         goto label_21;
                                             |     }
    0x0000c6ec lw a0, 0x50(fp)               |     a0 = *(arg_50h);
    0x0000c6f0 lw v0, 0x5430(v0)             |     v0 = *((v0 + 5388));
    0x0000c6f4 mul v0, v1, v0                |     __asm ("mul v0, v1, v0");
    0x0000c6f8 lw v1, 0x4c(fp)               |     v1 = *(arg_4ch);
    0x0000c6fc srl v0, v0, 3                 |     v0 >>= 3;
    0x0000c700 subu v0, v1, v0               |     __asm ("subu v0, v1, v0");
    0x0000c704 sltu v1, v1, v0               |     v1 = (v1 < v0) ? 1 : 0;
    0x0000c708 subu v1, a0, v1               |     __asm ("subu v1, a0, v1");
    0x0000c70c sw v1, 0x50(fp)               |     *(arg_50h) = v1;
    0x0000c710 sw v0, 0x4c(fp)               |     *(arg_4ch) = v0;
                                             |     if (v1 <= 0) {
    0x0000c714 blez v1, 0xcb80               |         goto label_55;
                                             |     }
    0x0000c718 lw v0, 0x6c(fp)               |     v0 = *(arg_6ch);
                                             | label_22:
    0x0000c71c lw v0, 0x5478(v0)             |     v0 = *((v0 + 5406));
    0x0000c720 lw t9, -0x7f9c(gp)            |     t9 = *(gp);
                                             |     if (v0 == 0) {
    0x0000c724 beqz v0, 0xc418               |         goto label_3;
                                             |     }
                                             | label_21:
    0x0000c728 lw s0, -0x7fdc(gp)            |     s0 = *((gp - 8183));
                                             | label_23:
    0x0000c72c lw t9, -0x7ee0(gp)            |     t9 = sym.imp.snd_pcm_nonblock;
    0x0000c730 move a1, zero                 |     a1 = 0;
    0x0000c734 lw a0, 0x54b0(s0)             |     a0 = *((s0 + 5420));
    0x0000c738 jalr t9                       |     t9 ();
    0x0000c73c lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000c740 lw t9, -0x7d70(gp)            |     t9 = sym.imp.snd_pcm_drain;
    0x0000c744 lw a0, 0x54b0(s0)             |     a0 = *((s0 + 5420));
    0x0000c748 jalr t9                       |     t9 ();
    0x0000c74c lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000c750 lw a0, 0x54b0(s0)             |     a0 = *((s0 + 5420));
    0x0000c754 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000c758 lw t9, -0x7ee0(gp)            |     t9 = sym.imp.snd_pcm_nonblock;
    0x0000c75c lw a1, 0x547c(v0)             |     a1 = *((v0 + 5407));
    0x0000c760 jalr t9                       |     t9 ();
    0x0000c764 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000c768 lw sp, 0x24(fp)               |     
                                             |     if (s7 == 0) {
    0x0000c76c beqz s7, 0xca4c               |         goto label_56;
                                             |     }
    0x0000c770 move s2, zero                 |     s2 = 0;
    0x0000c774 b 0xc20c                      |     goto label_4;
                                             | label_11:
    0x0000c778 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000c77c addiu t9, t9, 0x7c44          |     t9 += fcn.00007c44;
    0x0000c780 bal 0x7c44                    |     fcn_00007c44 ();
    0x0000c784 nop                           |     
    0x0000c788 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             | label_6:
    0x0000c78c move sp, s3                   |     
    0x0000c790 b 0xc6d0                      |     goto label_5;
                                             | label_50:
    0x0000c794 lw v0, 0x5424(v0)             |     v0 = *((v0 + 5385));
    0x0000c798 move sp, s3                   |     
                                             |     if (v0 == 0) {
    0x0000c79c bnel v0, zero, 0xc6d0         |         goto label_5;
                                             |     }
    0x0000c7a0 lw v0, 0x7c(fp)               |     v0 = *(arg_7ch);
                                             | label_53:
    0x0000c7a4 lw t9, -0x7e30(gp)            |     t9 = sym.imp.snd_pcm_wait;
    0x0000c7a8 addiu a1, zero, 0x64          |     a1 = 0x64;
    0x0000c7ac lw a0, 0x54b0(v0)             |     a0 = *((v0 + 5420));
    0x0000c7b0 jalr t9                       |     t9 ();
    0x0000c7b4 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             | label_52:
    0x0000c7b8 lw v0, 0x60(fp)               |     v0 = *(arg_60h);
                                             |     if (s1 <= 0) {
    0x0000c7bc blez s1, 0xc78c               |         goto label_6;
                                             |     }
    0x0000c7c0 lw v0, 0x5440(v0)             |     v0 = *((v0 + 5392));
                                             |     if (v0 == 0) {
    0x0000c7c4 beql v0, zero, 0xc6c4         |         goto label_7;
                                             |     }
    0x0000c7c8 subu s0, s0, s1               |     __asm ("subu s0, s0, s1");
                                             | label_54:
    0x0000c7cc lw s5, 0x78(fp)               |     s5 = *(arg_78h);
                                             |     if (s7 == 0) {
    0x0000c7d0 beqz s7, 0xc6c0               |         goto label_8;
                                             |     }
                                             |     do {
    0x0000c7d4 lw a0, (s5)                   |         a0 = *(s5);
    0x0000c7d8 lw t9, 0x54(fp)               |         t9 = *(arg_54h);
    0x0000c7dc move a1, s1                   |         a1 = s1;
    0x0000c7e0 addiu s5, s5, 4               |         s5 += 4;
    0x0000c7e4 jalr t9                       |         t9 ();
    0x0000c7e8 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x0000c7ec bne s6, s5, 0xc7d4            |         
                                             |     } while (s6 != s5);
    0x0000c7f0 subu s0, s0, s1               |     __asm ("subu s0, s0, s1");
    0x0000c7f4 b 0xc6c4                      |     goto label_7;
                                             | label_49:
    0x0000c7f8 lw t9, 0x84(fp)               |     t9 = *(arg_84h);
    0x0000c7fc jalr t9                       |     t9 ();
    0x0000c800 nop                           |     
    0x0000c804 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000c808 b 0xc684                      |     goto label_9;
                                             | label_48:
    0x0000c80c jalr t9                       |     t9 ();
    0x0000c810 nop                           |     
    0x0000c814 lw v0, 0x68(fp)               |     v0 = *(arg_68h);
    0x0000c818 b 0xc63c                      |     goto label_10;
                                             | label_51:
    0x0000c81c addiu v0, zero, -0x20         |     v0 = -0x20;
    0x0000c820 addiu v0, zero, -0x5c         |     v0 = -0x5c;
                                             |     if (s1 == v0) {
    0x0000c824 beq s1, v0, 0xc778            |         goto label_11;
                                             |     }
    0x0000c828 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (s1 != v0) {
    0x0000c82c beq s1, v0, 0xc8b8            |         
    0x0000c830 lw s0, -0x7e24(gp)            |         s0 = *((gp - 8073));
    0x0000c834 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x0000c838 lw a3, 0x54b4(v0)             |         a3 = *((v0 + 5421));
    0x0000c83c addiu v0, zero, 0x839         |         v0 = 0x839;
    0x0000c840 lw a0, (s0)                   |         a0 = *(s0);
    0x0000c844 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0000c848 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x0000c84c lw t9, -0x7d04(gp)            |         t9 = sym.imp.__fprintf_chk
                                             |         /* str.pcm_writev */
    0x0000c850 addiu v0, v0, 0x4198          |         v0 += 0x4198;
                                             |         /* str._s:__s:_d:_ */
    0x0000c854 addiu a2, a2, 0x2b6c          |         a2 += 0x2b6c;
    0x0000c858 addiu a1, zero, 1             |         a1 = 1;
    0x0000c85c sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x0000c860 jalr t9                       |         t9 ();
    0x0000c864 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x0000c868 move a0, s1                   |         a0 = s1;
    0x0000c86c lw t9, -0x7e3c(gp)            |         t9 = sym.imp.snd_strerror;
    0x0000c870 lw s1, (s0)                   |         s1 = *(s0);
    0x0000c874 jalr t9                       |         t9 ();
    0x0000c878 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x0000c87c move a3, v0                   |         a3 = v0;
    0x0000c880 addiu a1, zero, 1             |         a1 = 1;
    0x0000c884 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x0000c888 lw t9, -0x7d04(gp)            |         t9 = sym.imp.__fprintf_chk
                                             |         /* str.writev_error:__s */
    0x0000c88c addiu a2, a2, 0x381c          |         a2 += 0x381c;
    0x0000c890 move a0, s1                   |         a0 = s1;
                                             | label_20:
    0x0000c894 jalr t9                       |         t9 ();
    0x0000c898 nop                           |         
    0x0000c89c lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x0000c8a0 lw a1, (s0)                   |         a1 = *(s0);
    0x0000c8a4 lw t9, -0x7f18(gp)            |         t9 = sym.imp._IO_putc;
    0x0000c8a8 addiu a0, zero, 0xa           |         a0 = 0xa;
    0x0000c8ac jalr t9                       |         t9 ();
    0x0000c8b0 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x0000c8b4 b 0xca0c                      |         goto label_57;
                                             |     }
    0x0000c8b8 lw t9, -0x7fd8(gp)            |     t9 = *(gp);
    0x0000c8bc addiu t9, t9, -0x7c80         |     t9 += -0x7c80;
    0x0000c8c0 bal 0x8380                    |     fcn_00008380 ();
    0x0000c8c4 nop                           |     
    0x0000c8c8 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000c8cc move sp, s3                   |     
    0x0000c8d0 b 0xc6d0                      |     goto label_5;
                                             | label_45:
    0x0000c8d4 lw t9, -0x7e88(gp)            |     t9 = sym.imp.malloc;
    0x0000c8d8 lw s6, 4(v0)                  |     s6 = *((v0 + 1));
    0x0000c8dc sll s3, s6, 2                 |     s3 = s6 << 2;
    0x0000c8e0 move a0, s3                   |     a0 = s3;
    0x0000c8e4 jalr t9                       |     t9 ();
    0x0000c8e8 move s5, v0                   |     s5 = v0;
    0x0000c8ec lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000c8f0 sw v0, 0x53a4(s2)             |     *((s2 + 5353)) = v0;
                                             |     if (v0 == 0) {
    0x0000c8f4 beqz v0, 0xcbf8               |         goto label_58;
                                             |     }
    0x0000c8f8 lw a2, 0x74(fp)               |     a2 = *(arg_74h);
                                             |     if (s6 == 0) {
    0x0000c8fc beqz s6, 0xc590               |         goto label_12;
                                             |     }
    0x0000c900 move v0, s1                   |     v0 = s1;
    0x0000c904 move a0, s5                   |     a0 = s5;
    0x0000c908 addu a1, s1, s3               |     a1 = s1 + s3;
                                             |     do {
    0x0000c90c lw v1, (v0)                   |         v1 = *(v0);
    0x0000c910 addiu a0, a0, 4               |         a0 += 4;
    0x0000c914 sll v1, v1, 2                 |         v1 <<= 2;
    0x0000c918 addiu v0, v0, 4               |         v0 += 4;
    0x0000c91c lwx v1, v1(a2)                |         __asm ("lwx v1, v1(a2)");
    0x0000c920 sw v1, -4(a0)                 |         *((a0 - 1)) = v1;
    0x0000c924 bne v0, a1, 0xc90c            |         
                                             |     } while (v0 != a1);
    0x0000c928 b 0xc590                      |     goto label_12;
    0x0000c92c nop                           |     
                                             |     if (s7 == s6) {
                                             | label_28:
    0x0000c930 beql s7, s6, 0xc1b4           |         goto label_13;
                                             |     }
    0x0000c934 sw zero, 0x38(fp)             |     *(arg_38h) = 0;
    0x0000c938 lw v0, 0x3c(fp)               |     v0 = *(arg_3ch);
    0x0000c93c lw t9, -0x7e2c(gp)            |     t9 = sym.imp.strlen;
    0x0000c940 addiu s4, fp, 0x94            |     s4 = fp + 0x94;
    0x0000c944 lw s2, (v0)                   |     s2 = *(v0);
    0x0000c948 move s5, zero                 |     s5 = 0;
    0x0000c94c move a0, s2                   |     a0 = s2;
    0x0000c950 jalr t9                       |     t9 ();
    0x0000c954 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000c958 move a1, s2                   |     a1 = s2;
    0x0000c95c addiu a3, zero, 0x400         |     a3 = 0x400;
    0x0000c960 lw t9, -0x7d7c(gp)            |     t9 = sym.imp.__memcpy_chk;
    0x0000c964 move a2, v0                   |     a2 = v0;
    0x0000c968 move a0, s4                   |     a0 = s4;
    0x0000c96c move s3, v0                   |     s3 = v0;
    0x0000c970 jalr t9                       |     t9 ();
    0x0000c974 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000c978 addu v0, s4, s3               |     v0 = s4 + s3;
    0x0000c97c lw a0, 0x44(fp)               |     a0 = *(arg_44h);
    0x0000c980 lw v1, -0x7fd8(gp)            |     v1 = *(gp);
    0x0000c984 lw t9, -0x7e88(gp)            |     t9 = sym.imp.malloc;
    0x0000c988 addiu s3, s3, 4               |     s3 += 4;
    0x0000c98c lw v1, 0x37f8(v1)             |     v1 = *((v1 + 3582));
    0x0000c990 swl v1, 3(v0)                 |     __asm ("swl v1, 3(v0)");
    0x0000c994 swr v1, (v0)                  |     __asm ("swr v1, (v0)");
    0x0000c998 jalr t9                       |     t9 ();
    0x0000c99c lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000c9a0 sw v0, 0x3c(fp)               |     *(arg_3ch) = v0;
    0x0000c9a4 move s2, v0                   |     s2 = v0;
                                             |     do {
    0x0000c9a8 lw t9, -0x7e88(gp)            |         t9 = sym.imp.malloc;
    0x0000c9ac move a0, s3                   |         a0 = s3;
    0x0000c9b0 jalr t9                       |         t9 ();
    0x0000c9b4 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x0000c9b8 sw v0, (s2)                   |         *(s2) = v0;
    0x0000c9bc move a3, s4                   |         a3 = s4;
    0x0000c9c0 lw t9, -0x7f0c(gp)            |         t9 = sym.imp.__sprintf_chk;
    0x0000c9c4 sw s5, 0x10(sp)               |         *(var_10h_2) = s5;
    0x0000c9c8 addiu a2, zero, -1            |         a2 = -1;
    0x0000c9cc addiu a1, zero, 1             |         a1 = 1;
    0x0000c9d0 move a0, v0                   |         a0 = v0;
    0x0000c9d4 addiu s5, s5, 1               |         s5++;
    0x0000c9d8 jalr t9                       |         t9 ();
    0x0000c9dc addiu s2, s2, 4               |         s2 += 4;
    0x0000c9e0 lw gp, 0x18(fp)               |         gp = *(var_18h_2);
    0x0000c9e4 bne s7, s5, 0xc9a8            |         
                                             |     } while (s7 != s5);
    0x0000c9e8 addiu v0, zero, 1             |     v0 = 1;
    0x0000c9ec sw v0, 0x38(fp)               |     *(arg_38h) = v0;
    0x0000c9f0 b 0xc1b4                      |     goto label_13;
                                             | label_41:
    0x0000c9f4 lw v0, 0x3c(fp)               |     v0 = *(arg_3ch);
    0x0000c9f8 lw t9, -0x7db0(gp)            |     t9 = sym.imp.perror;
    0x0000c9fc lwx a0, a0(v0)                |     __asm ("lwx a0, a0(v0)");
                                             | label_25:
    0x0000ca00 jalr t9                       |     t9 ();
    0x0000ca04 nop                           |     
    0x0000ca08 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
                                             | label_57:
    0x0000ca0c lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000ca10 addiu t9, t9, 0x59bc          |     t9 += fcn.000059bc;
    0x0000ca14 addiu a0, zero, 1             |     a0 = 1;
    0x0000ca18 bal 0x59bc                    |     fcn_000059bc ();
                                             | label_36:
    0x0000ca1c lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000ca20 addiu t9, t9, 0x67b4          |     t9 += fcn.000067b4;
    0x0000ca24 bal 0x67b4                    |     fcn_000067b4 ();
    0x0000ca28 nop                           |     
    0x0000ca2c lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000ca30 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000ca34 lw v0, 0x542c(v0)             |     v0 = *((v0 + 5387));
    0x0000ca38 divu zero, v0, s7             |     __asm ("divu zero, v0, s7");
    0x0000ca3c teq s7, zero, 7               |     __asm ("teq s7, zero, 7");
    0x0000ca40 mflo v0                       |     __asm ("mflo v0");
    0x0000ca44 sw v0, 0x40(fp)               |     *(arg_40h) = v0;
    0x0000ca48 b 0xc388                      |     goto label_14;
                                             | label_56:
    0x0000ca4c lw v0, 0x38(fp)               |     v0 = *(arg_38h);
    0x0000ca50 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
                                             |     if (v0 == 0) {
    0x0000ca54 beqz v0, 0xc288               |         goto label_15;
                                             |     }
    0x0000ca58 move s2, zero                 |     s2 = 0;
    0x0000ca5c lw t9, -0x7dd4(gp)            |     t9 = sym.imp.free;
                                             | label_33:
    0x0000ca60 lw a0, 0x3c(fp)               |     a0 = *(arg_3ch);
    0x0000ca64 jalr t9                       |     t9 ();
    0x0000ca68 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000ca6c b 0xc27c                      |     goto label_16;
                                             | label_30:
    0x0000ca70 lw a0, 0x5498(s1)             |     a0 = *((s1 + 5414));
    0x0000ca74 addiu a2, a1, 0x54a4          |     a2 = a1 + 0x54a4;
    0x0000ca78 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000ca7c lw v1, 4(s0)                  |     v1 = *((s0 + 1));
    0x0000ca80 lw v0, 8(s0)                  |     v0 = *((s0 + 2));
    0x0000ca84 sw a0, 0x54a4(a1)             |     *((a1 + 5417)) = a0;
    0x0000ca88 sw a1, 0x34(fp)               |     *(arg_34h) = a1;
    0x0000ca8c sw a2, 0x28(fp)               |     *(arg_28h) = a2;
    0x0000ca90 sw v1, 4(a2)                  |     *((a2 + 1)) = v1;
    0x0000ca94 addiu t9, t9, 0x5190          |     t9 += fcn.00005190;
    0x0000ca98 sw v0, 8(a2)                  |     *((a2 + 2)) = v0;
    0x0000ca9c bal 0x5190                    |     fcn_00005190 ();
    0x0000caa0 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000caa4 lw a0, 0x5c(fp)               |     a0 = *(arg_5ch);
    0x0000caa8 sw sp, 0x24(fp)               |     
    0x0000caac lw a2, -0x7fdc(gp)            |     a2 = *((gp - 8183));
    0x0000cab0 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x0000cab4 srl a0, a0, 3                 |     a0 >>= 3;
    0x0000cab8 sll a0, a0, 3                 |     a0 <<= 3;
    0x0000cabc lw a2, 0x548c(a2)             |     a2 = *((a2 + 5411));
    0x0000cac0 subu sp, sp, a0               |     
    0x0000cac4 sw v0, 0x4c(fp)               |     *(arg_4ch) = v0;
    0x0000cac8 sw v0, 0x5018(a1)             |     *((a1 + 5126)) = v0;
    0x0000cacc addiu v0, sp, 0x18            |     v0 = sp + 0x18;
    0x0000cad0 sw a2, 0x38(fp)               |     *(arg_38h) = a2;
    0x0000cad4 sw v1, 0x50(fp)               |     *(arg_50h) = v1;
    0x0000cad8 sw v1, 0x501c(a1)             |     *((a1 + 5127)) = v1;
    0x0000cadc sw v0, 0x74(fp)               |     *(arg_74h) = v0;
                                             |     if (a2 == 0) {
    0x0000cae0 beqz a2, 0xcb98               |         goto label_59;
                                             |     }
    0x0000cae4 sw zero, 0x38(fp)             |     *(arg_38h) = 0;
                                             | label_24:
    0x0000cae8 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000caec addiu t9, t9, 0x67b4          |     t9 += fcn.000067b4;
    0x0000caf0 bal 0x67b4                    |     fcn_000067b4 ();
    0x0000caf4 nop                           |     
    0x0000caf8 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000cafc lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000cb00 lw v0, 0x542c(v0)             |     v0 = *((v0 + 5387));
    0x0000cb04 divu zero, v0, s7             |     __asm ("divu zero, v0, s7");
    0x0000cb08 teq s7, zero, 7               |     __asm ("teq s7, zero, 7");
    0x0000cb0c mflo v0                       |     __asm ("mflo v0");
    0x0000cb10 sw v0, 0x40(fp)               |     *(arg_40h) = v0;
    0x0000cb14 b 0xc3b4                      |     goto label_17;
                                             | label_46:
    0x0000cb18 move s2, zero                 |     s2 = 0;
    0x0000cb1c b 0xc6e0                      |     goto label_18;
                                             | label_27:
    0x0000cb20 addiu v0, zero, 1             |     v0 = 1;
    0x0000cb24 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (a1 != v0) {
    0x0000cb28 bne a1, v0, 0xc1a0            |         goto label_19;
                                             |     }
                                             | label_29:
    0x0000cb2c lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000cb30 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000cb34 lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x0000cb38 addiu v0, zero, 0xd13         |     v0 = 0xd13;
    0x0000cb3c lw a0, (s0)                   |     a0 = *(s0);
    0x0000cb40 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0000cb44 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000cb48 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.playbackv */
    0x0000cb4c addiu v0, v0, 0x41a4          |     v0 += 0x41a4;
                                             |     /* str._s:__s:_d:_ */
    0x0000cb50 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000cb54 addiu a1, zero, 1             |     a1 = 1;
    0x0000cb58 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0000cb5c jalr t9                       |     t9 ();
    0x0000cb60 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000cb64 lw a0, (s0)                   |     a0 = *(s0);
    0x0000cb68 move a3, s7                   |     a3 = s7;
    0x0000cb6c lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000cb70 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.You_need_to_specify__d_files */
    0x0000cb74 addiu a2, a2, 0x37fc          |     a2 += 0x37fc;
    0x0000cb78 addiu a1, zero, 1             |     a1 = 1;
    0x0000cb7c b 0xc894                      |     goto label_20;
                                             | label_55:
    0x0000cb80 lw v0, 0x4c(fp)               |     v0 = *(arg_4ch);
                                             |     if (v1 != 0) {
    0x0000cb84 bnez v1, 0xc728               |         goto label_21;
                                             |     }
    0x0000cb88 lw v0, 0x6c(fp)               |     v0 = *(arg_6ch);
                                             |     if (v0 != 0) {
    0x0000cb8c bnez v0, 0xc71c               |         goto label_22;
                                             |     }
    0x0000cb90 lw s0, -0x7fdc(gp)            |     s0 = *((gp - 8183));
    0x0000cb94 b 0xc72c                      |     goto label_23;
                                             | label_59:
    0x0000cb98 lw v0, 0x3c(fp)               |     v0 = *(arg_3ch);
    0x0000cb9c lw t9, -0x7fd8(gp)            |     t9 = *(gp);
    0x0000cba0 move a0, zero                 |     a0 = 0;
    0x0000cba4 addiu t9, t9, -0x7a98         |     t9 += -0x7a98;
    0x0000cba8 lw a1, (v0)                   |     a1 = *(v0);
    0x0000cbac bal 0x8568                    |     fcn_00008568 ();
    0x0000cbb0 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000cbb4 b 0xcae8                      |     goto label_24;
                                             | label_39:
    0x0000cbb8 lw v0, 0x3c(fp)               |     v0 = *(arg_3ch);
    0x0000cbbc sll a0, s3, 2                 |     a0 = s3 << 2;
    0x0000cbc0 lw t9, -0x7db0(gp)            |     t9 = sym.imp.perror;
    0x0000cbc4 lwx a0, a0(v0)                |     __asm ("lwx a0, a0(v0)");
    0x0000cbc8 b 0xca00                      |     goto label_25;
                                             | label_38:
    0x0000cbcc lw v0, 0x4c(fp)               |     v0 = *(arg_4ch);
                                             |     if (v0 != 0) {
    0x0000cbd0 bnez v0, 0xc728               |         goto label_21;
                                             |     }
    0x0000cbd4 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (v0 != 0) {
    0x0000cbd8 bnez v0, 0xc3c4               |         goto label_26;
                                             |     }
    0x0000cbdc lw s0, -0x7fdc(gp)            |     s0 = *((gp - 8183));
    0x0000cbe0 b 0xc72c                      |     goto label_23;
                                             | label_37:
    0x0000cbe4 move s6, zero                 |     s6 = 0;
    0x0000cbe8 b 0xc3b4                      |     goto label_17;
                                             | label_34:
    0x0000cbec addiu t9, t9, 0x59bc          |     t9 += fcn.000059bc;
    0x0000cbf0 addiu a0, zero, 1             |     a0 = 1;
    0x0000cbf4 bal 0x59bc                    |     fcn_000059bc ();
                                             | label_58:
    0x0000cbf8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000cbfc lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000cc00 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000cc04 lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x0000cc08 addiu v0, zero, 0x7df         |     v0 = 0x7df;
    0x0000cc0c lw a0, (s0)                   |     a0 = *(s0);
    0x0000cc10 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0000cc14 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000cc18 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.remap_datav */
    0x0000cc1c addiu v0, v0, 0x418c          |     v0 += 0x418c;
                                             |     /* str._s:__s:_d:_ */
    0x0000cc20 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000cc24 addiu a1, zero, 1             |     a1 = 1;
    0x0000cc28 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0000cc2c jalr t9                       |     t9 ();
    0x0000cc30 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000cc34 lw a3, (s0)                   |     a3 = *(s0);
    0x0000cc38 addiu a2, zero, 0x11          |     a2 = 0x11;
    0x0000cc3c lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x0000cc40 lw t9, -0x7e6c(gp)            |     t9 = sym.imp.fwrite;
    0x0000cc44 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str.not_enough_memory */
    0x0000cc48 addiu a0, a0, 0x3098          |     a0 += 0x3098;
    0x0000cc4c jalr t9                       |     t9 ();
    0x0000cc50 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000cc54 lw a1, (s0)                   |     a1 = *(s0);
    0x0000cc58 lw t9, -0x7f18(gp)            |     t9 = sym.imp._IO_putc;
    0x0000cc5c addiu a0, zero, 0xa           |     a0 = 0xa;
    0x0000cc60 jalr t9                       |     t9 ();
    0x0000cc64 lw gp, 0x18(fp)               |     gp = *(var_18h_2);
    0x0000cc68 lw t9, -0x7f48(gp)            |     t9 = sym.imp.exit;
    0x0000cc6c addiu a0, zero, 1             |     a0 = 1;
    0x0000cc70 jalr t9                       |     t9 ();
                                             | label_35:
    0x0000cc74 lw t9, -0x7e98(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000cc78 jalr t9                       |     t9 ();
    0x0000cc7c nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0xcc80 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000cc80 ()                  | void fcn_0000cc80 () {
    0x0000cc80 lui gp, 2                     |     
    0x0000cc84 addiu gp, gp, 0x3c0           |     
    0x0000cc88 addu gp, gp, t9               |     gp += t9;
    0x0000cc8c addiu sp, sp, -0x4a8          |     
    0x0000cc90 lw v0, -0x7e4c(gp)            |     v0 = *((gp - 8083));
    0x0000cc94 sw s4, 0x490(sp)              |     *(var_490h) = s4;
    0x0000cc98 lw s4, -0x7fdc(gp)            |     s4 = *((gp - 8183));
    0x0000cc9c sw s2, 0x488(sp)              |     *(var_488h) = s2;
    0x0000cca0 addiu s2, s4, 0x5498          |     s2 = s4 + 0x5498;
    0x0000cca4 sw s7, 0x49c(sp)              |     *(var_49ch_2) = s7;
    0x0000cca8 lw s7, 4(s2)                  |     s7 = *((s2 + 1));
    0x0000ccac sw fp, 0x4a0(sp)              |     *(var_4a0h_2) = fp;
    0x0000ccb0 move fp, sp                   |     fp = sp;
    0x0000ccb4 sw s1, 0x484(sp)              |     *(var_484h) = s1;
    0x0000ccb8 sll s1, s7, 2                 |     s1 = s7 << 2;
    0x0000ccbc sw ra, 0x4a4(sp)              |     *(var_4a4h_2) = ra;
    0x0000ccc0 sw s6, 0x498(sp)              |     *(var_498h_2) = s6;
    0x0000ccc4 sw s5, 0x494(sp)              |     *(var_494h) = s5;
    0x0000ccc8 sw s3, 0x48c(sp)              |     *(var_48ch) = s3;
    0x0000cccc sw s0, 0x480(sp)              |     *(var_480h) = s0;
    0x0000ccd0 sw gp, 0x18(sp)               |     *(var_18h_3) = gp;
    0x0000ccd4 lw v1, (v0)                   |     v1 = *(v0);
    0x0000ccd8 sw v0, 0x24(fp)               |     *(arg_24h) = v0;
    0x0000ccdc addiu v0, s1, 7               |     v0 = s1 + 7;
    0x0000cce0 sw v0, 0x4c(fp)               |     *(arg_4ch) = v0;
    0x0000cce4 srl v0, v0, 3                 |     v0 >>= 3;
    0x0000cce8 sll v0, v0, 3                 |     v0 <<= 3;
    0x0000ccec subu sp, sp, v0               |     
    0x0000ccf0 addiu v0, sp, 0x18            |     v0 = sp + 0x18;
    0x0000ccf4 sw a0, 0x2c(fp)               |     *(arg_2ch) = a0;
    0x0000ccf8 sw v1, 0x47c(fp)              |     *(arg_47ch) = v1;
    0x0000ccfc sw v0, 0x3c(fp)               |     *(arg_3ch) = v0;
                                             |     if (s7 == 0) {
    0x0000cd00 beqz s7, 0xd468               |         goto label_25;
                                             |     }
    0x0000cd04 move v1, v0                   |     v1 = v0;
    0x0000cd08 addiu a0, zero, -1            |     a0 = -1;
    0x0000cd0c move v0, zero                 |     v0 = 0;
                                             |     do {
    0x0000cd10 addiu v0, v0, 1               |         v0++;
    0x0000cd14 sw a0, (v1)                   |         *(v1) = a0;
    0x0000cd18 addiu v1, v1, 4               |         v1 += 4;
    0x0000cd1c bne s7, v0, 0xcd10            |         
                                             |     } while (s7 != v0);
    0x0000cd20 addiu v0, zero, 1             |     v0 = 1;
    0x0000cd24 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
                                             |     if (a1 == v0) {
    0x0000cd28 beq a1, v0, 0xd38c            |         goto label_26;
                                             |     }
    0x0000cd2c sw zero, 0x28(fp)             |     *(arg_28h) = 0;
                                             |     if (s7 != a1) {
    0x0000cd30 bne s7, a1, 0xd5d8            |         goto label_27;
                                             |     }
                                             | label_16:
    0x0000cd34 lw s0, 0x2c(fp)               |     s0 = *(arg_2ch);
    0x0000cd38 lw s3, 0x3c(fp)               |     s3 = *(arg_3ch);
    0x0000cd3c move s5, zero                 |     s5 = 0;
    0x0000cd40 b 0xcd54                      |     
                                             |     while (v0 >= 0) {
    0x0000cd44 addiu s5, s5, 1               |         s5++;
    0x0000cd48 addiu s0, s0, 4               |         s0 += 4;
    0x0000cd4c addiu s3, s3, 4               |         s3 += 4;
                                             |         if (s7 == s5) {
    0x0000cd50 beq s7, s5, 0xce44            |             goto label_28;
                                             |         }
    0x0000cd54 lw t9, -0x7f10(gp)            |         t9 = sym.imp.open64;
    0x0000cd58 lw a0, (s0)                   |         a0 = *(s0);
    0x0000cd5c addiu a2, zero, 0x1a4         |         a2 = segment.NOTE;
    0x0000cd60 addiu a1, zero, 0x101         |         a1 = 0x101;
    0x0000cd64 jalr t9                       |         t9 ();
    0x0000cd68 lw gp, 0x18(fp)               |         gp = *(var_18h_3);
    0x0000cd6c sw v0, (s3)                   |         *(s3) = v0;
    0x0000cd70 bgez v0, 0xcd44               |         
                                             |     }
    0x0000cd74 lw t9, -0x7db0(gp)            |     t9 = sym.imp.perror;
    0x0000cd78 lw a0, (s0)                   |     a0 = *(s0);
    0x0000cd7c addiu s1, zero, 1             |     s1 = 1;
    0x0000cd80 jalr t9                       |     t9 ();
    0x0000cd84 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
                                             | label_7:
    0x0000cd88 lw s2, 0x3c(fp)               |     s2 = *(arg_3ch);
    0x0000cd8c move s0, zero                 |     s0 = 0;
    0x0000cd90 lw s3, 0x28(fp)               |     s3 = *(arg_28h);
    0x0000cd94 lw s4, 0x2c(fp)               |     s4 = *(arg_2ch);
    0x0000cd98 b 0xcda8                      |     
                                             |     while (s3 == 0) {
    0x0000cd9c sltu v0, s0, s7               |         v0 = (s0 < s7) ? 1 : 0;
    0x0000cda0 addiu s2, s2, 4               |         s2 += 4;
                                             |         if (v0 == 0) {
    0x0000cda4 beqz v0, 0xcdec               |             goto label_29;
                                             |         }
                                             | label_0:
    0x0000cda8 lw a0, (s2)                   |         a0 = *(s2);
    0x0000cdac lw t9, -0x7e68(gp)            |         t9 = sym.imp.close;
                                             |         if (a0 >= 0) {
    0x0000cdb0 bltz a0, 0xcdc0               |             
    0x0000cdb4 jalr t9                       |             t9 ();
    0x0000cdb8 nop                           |             
    0x0000cdbc lw gp, 0x18(fp)               |             gp = *(var_18h_3);
                                             |         }
    0x0000cdc0 beql s3, zero, 0xcd9c         |         
                                             |     }
    0x0000cdc4 addiu s0, s0, 1               |     s0++;
    0x0000cdc8 sll a0, s0, 2                 |     a0 = s0 << 2;
    0x0000cdcc lw t9, -0x7dd4(gp)            |     t9 = sym.imp.free;
    0x0000cdd0 lwx a0, a0(s4)                |     __asm ("lwx a0, a0(s4)");
    0x0000cdd4 addiu s0, s0, 1               |     s0++;
    0x0000cdd8 jalr t9                       |     t9 ();
    0x0000cddc sltu v0, s0, s7               |     v0 = (s0 < s7) ? 1 : 0;
    0x0000cde0 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000cde4 addiu s2, s2, 4               |     s2 += 4;
                                             |     if (v0 != 0) {
    0x0000cde8 bnez v0, 0xcda8               |         goto label_0;
                                             |     }
                                             | label_29:
    0x0000cdec lw v0, 0x28(fp)               |     v0 = *(arg_28h);
    0x0000cdf0 lw t9, -0x7dd4(gp)            |     t9 = sym.imp.free;
                                             |     if (v0 != 0) {
    0x0000cdf4 bnez v0, 0xd374               |         goto label_30;
                                             |     }
                                             | label_14:
    0x0000cdf8 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
                                             |     if (s1 != 0) {
    0x0000cdfc bnez s1, 0xd63c               |         goto label_31;
                                             |     }
                                             | label_22:
    0x0000ce00 lw v0, 0x24(fp)               |     v0 = *(arg_24h);
                                             | label_21:
    0x0000ce04 lw v1, 0x47c(fp)              |     v1 = *(arg_47ch);
    0x0000ce08 lw v0, (v0)                   |     v0 = *(v0);
    0x0000ce0c lw ra, 0x4a4(fp)              |     ra = *(var_4a4h_2);
                                             |     if (v1 != v0) {
    0x0000ce10 bne v1, v0, 0xd648            |         goto label_32;
                                             |     }
    0x0000ce14 move sp, fp                   |     
    0x0000ce18 lw fp, 0x4a0(sp)              |     fp = *(var_4a0h_2);
    0x0000ce1c lw s7, 0x49c(sp)              |     s7 = *(var_49ch_2);
    0x0000ce20 lw s6, 0x498(sp)              |     s6 = *(var_498h_2);
    0x0000ce24 lw s5, 0x494(sp)              |     s5 = *(var_494h);
    0x0000ce28 lw s4, 0x490(sp)              |     s4 = *(var_490h);
    0x0000ce2c lw s3, 0x48c(sp)              |     s3 = *(var_48ch);
    0x0000ce30 lw s2, 0x488(sp)              |     s2 = *(var_488h);
    0x0000ce34 lw s1, 0x484(sp)              |     s1 = *(var_484h);
    0x0000ce38 lw s0, 0x480(sp)              |     s0 = *(var_480h);
    0x0000ce3c addiu sp, sp, 0x4a8           |     
    0x0000ce40 jr ra                         |     return v0;
                                             | label_28:
    0x0000ce44 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
    0x0000ce48 lw a1, 4(s2)                  |     a1 = *((s2 + 1));
    0x0000ce4c lw a0, 8(s2)                  |     a0 = *((s2 + 2));
    0x0000ce50 addiu v0, v1, 0x54a4          |     v0 = v1 + 0x54a4;
    0x0000ce54 lw a2, 0x5498(s4)             |     a2 = *((s4 + 5414));
    0x0000ce58 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000ce5c sw a2, 0x54a4(v1)             |     *((v1 + 5417)) = a2;
    0x0000ce60 sw a1, 4(v0)                  |     *((v0 + 1)) = a1;
    0x0000ce64 addiu t9, t9, 0x5190          |     t9 += fcn.00005190;
    0x0000ce68 sw a0, 8(v0)                  |     *((v0 + 2)) = a0;
    0x0000ce6c bal 0x5190                    |     fcn_00005190 ();
    0x0000ce70 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000ce74 lw a0, 0x4c(fp)               |     a0 = *(arg_4ch);
    0x0000ce78 sw sp, 0x20(fp)               |     
    0x0000ce7c lw a2, -0x7fdc(gp)            |     a2 = *((gp - 8183));
    0x0000ce80 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x0000ce84 srl a0, a0, 3                 |     a0 >>= 3;
    0x0000ce88 sll a0, a0, 3                 |     a0 <<= 3;
    0x0000ce8c subu sp, sp, a0               |     
    0x0000ce90 lw a2, 0x548c(a2)             |     a2 = *((a2 + 5411));
    0x0000ce94 move s2, v0                   |     s2 = v0;
    0x0000ce98 sw v0, 0x5018(a1)             |     *((a1 + 5126)) = v0;
    0x0000ce9c addiu v0, sp, 0x18            |     v0 = sp + 0x18;
    0x0000cea0 sw v1, 0x50(fp)               |     *(arg_50h) = v1;
    0x0000cea4 sw v1, 0x501c(a1)             |     *((a1 + 5127)) = v1;
    0x0000cea8 sw v0, 0x74(fp)               |     *(arg_74h) = v0;
                                             |     if (a2 != 0) {
    0x0000ceac bnez a2, 0xd384               |         goto label_33;
                                             |     }
    0x0000ceb0 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x0000ceb4 lw t9, -0x7fd8(gp)            |     t9 = *(gp);
    0x0000ceb8 move a0, zero                 |     a0 = 0;
    0x0000cebc addiu t9, t9, -0x7a98         |     t9 += -0x7a98;
    0x0000cec0 lw a1, (v0)                   |     a1 = *(v0);
    0x0000cec4 bal 0x8568                    |     fcn_00008568 ();
    0x0000cec8 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000cecc lw s0, -0x7fdc(gp)            |     s0 = *((gp - 8183));
                                             | label_15:
    0x0000ced0 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000ced4 addiu t9, t9, 0x67b4          |     t9 += fcn.000067b4;
    0x0000ced8 bal 0x67b4                    |     fcn_000067b4 ();
    0x0000cedc nop                           |     
    0x0000cee0 lw a2, 0x542c(s0)             |     a2 = *((s0 + 5387));
    0x0000cee4 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000cee8 divu zero, a2, s7             |     __asm ("divu zero, a2, s7");
    0x0000ceec teq s7, zero, 7               |     __asm ("teq s7, zero, 7");
    0x0000cef0 lw a0, 0x74(fp)               |     a0 = *(arg_74h);
    0x0000cef4 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000cef8 move v1, zero                 |     v1 = 0;
    0x0000cefc lw v0, 0x5474(v0)             |     v0 = *((v0 + 5405));
    0x0000cf00 mflo a2                       |     __asm ("mflo a2");
                                             |     do {
    0x0000cf04 addiu v1, v1, 1               |         v1++;
    0x0000cf08 sltu a1, v1, s7               |         a1 = (v1 < s7) ? 1 : 0;
    0x0000cf0c sw v0, (a0)                   |         *(a0) = v0;
    0x0000cf10 addu v0, v0, a2               |         v0 += a2;
    0x0000cf14 addiu a0, a0, 4               |         a0 += 4;
    0x0000cf18 bnez a1, 0xcf04               |         
                                             |     } while (a1 != 0);
    0x0000cf1c lw v0, 0x50(fp)               |     v0 = *(arg_50h);
                                             |     if (v0 <= 0) {
    0x0000cf20 blez v0, 0xd5bc               |         goto label_34;
                                             |     }
    0x0000cf24 nop                           |     
                                             | label_19:
    0x0000cf28 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             | label_20:
    0x0000cf2c sw v0, 0x6c(fp)               |     *(arg_6ch) = v0;
    0x0000cf30 lw v0, 0x5478(v0)             |     v0 = *((v0 + 5406));
    0x0000cf34 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
                                             |     if (v0 != 0) {
    0x0000cf38 bnez v0, 0xd244               |         goto label_17;
                                             |     }
    0x0000cf3c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000cf40 sw v1, 0x34(fp)               |     *(arg_34h) = v1;
    0x0000cf44 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
    0x0000cf48 sw v0, 0x30(fp)               |     *(arg_30h) = v0;
    0x0000cf4c sw v1, 0x38(fp)               |     *(arg_38h) = v1;
    0x0000cf50 lw v1, 0x74(fp)               |     v1 = *(arg_74h);
    0x0000cf54 lw v0, 0x5430(v0)             |     v0 = *((v0 + 5388));
    0x0000cf58 addu v1, v1, s1               |     v1 += s1;
    0x0000cf5c sw v1, 0x68(fp)               |     *(arg_68h) = v1;
    0x0000cf60 lw v1, -0x7fd4(gp)            |     v1 = *((gp - 8181));
    0x0000cf64 addiu v1, v1, 0x558c          |     v1 += 0x558c;
    0x0000cf68 sw v1, 0x64(fp)               |     *(arg_64h) = v1;
    0x0000cf6c lw v1, -0x7fd8(gp)            |     v1 = *(gp);
    0x0000cf70 addiu v1, v1, -0x7770         |     v1 += -0x7770;
    0x0000cf74 sw v1, 0x44(fp)               |     *(arg_44h) = v1;
    0x0000cf78 lw v1, -0x7fd8(gp)            |     v1 = *(gp);
    0x0000cf7c addiu v1, v1, -0x7290         |     v1 += -0x7290;
    0x0000cf80 sw v1, 0x40(fp)               |     *(arg_40h) = v1;
    0x0000cf84 lw v1, 0x34(fp)               |     v1 = *(arg_34h);
                                             | label_6:
    0x0000cf88 lw a0, 0x542c(v1)             |     a0 = *((v1 + 5387));
    0x0000cf8c lw v1, 0x38(fp)               |     v1 = *(arg_38h);
    0x0000cf90 lw s1, 0x5470(v1)             |     s1 = *((v1 + 5404));
    0x0000cf94 sltu v1, s2, a0               |     v1 = (s2 < a0) ? 1 : 0;
                                             |     if (v1 == 0) {
    0x0000cf98 movn a0, s2, v1               |         a0 = s2;
                                             |     }
    0x0000cf9c sll v1, a0, 3                 |     v1 = a0 << 3;
    0x0000cfa0 divu zero, v1, v0             |     __asm ("divu zero, v1, v0");
    0x0000cfa4 teq v0, zero, 7               |     __asm ("teq v0, zero, 7");
    0x0000cfa8 mflo v0                       |     __asm ("mflo v0");
    0x0000cfac sw v0, 0x60(fp)               |     *(arg_60h) = v0;
                                             |     if (s1 == 0) {
    0x0000cfb0 beqz s1, 0xd0f8               |         goto label_35;
                                             |     }
    0x0000cfb4 lw v0, 0x6c(fp)               |     v0 = *(arg_6ch);
    0x0000cfb8 lw v0, 0x5478(v0)             |     v0 = *((v0 + 5406));
    0x0000cfbc lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (v0 != 0) {
    0x0000cfc0 bnez v0, 0xd0f8               |         goto label_35;
                                             |     }
    0x0000cfc4 lw s6, -0x7fdc(gp)            |     s6 = *((gp - 8183));
    0x0000cfc8 sw v0, 0x70(fp)               |     *(arg_70h) = v0;
    0x0000cfcc lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000cfd0 lw s5, -0x7fdc(gp)            |     s5 = *((gp - 8183));
    0x0000cfd4 sw v0, 0x58(fp)               |     *(arg_58h) = v0;
    0x0000cfd8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000cfdc move s3, zero                 |     s3 = 0;
    0x0000cfe0 sw v0, 0x5c(fp)               |     *(arg_5ch) = v0;
    0x0000cfe4 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000cfe8 sw s2, 0x48(fp)               |     *(arg_48h) = s2;
    0x0000cfec sw v0, 0x54(fp)               |     *(arg_54h) = v0;
    0x0000cff0 lw v0, 0x4c(fp)               |     v0 = *(arg_4ch);
                                             | label_1:
    0x0000cff4 move s4, sp                   |     s4 = sp;
    0x0000cff8 srl v0, v0, 3                 |     v0 >>= 3;
    0x0000cffc sll v0, v0, 3                 |     v0 <<= 3;
    0x0000d000 subu sp, sp, v0               |     
    0x0000d004 addiu s0, sp, 0x18            |     s0 = sp + 0x18;
                                             |     if (s7 == 0) {
    0x0000d008 beqz s7, 0xd040               |         goto label_36;
                                             |     }
    0x0000d00c lw v0, 0x54(fp)               |     v0 = *(arg_54h);
    0x0000d010 lw v1, 0x74(fp)               |     v1 = *(arg_74h);
    0x0000d014 move a0, s0                   |     a0 = s0;
    0x0000d018 lw v0, 0x5434(v0)             |     v0 = *((v0 + 5389));
    0x0000d01c mul v0, s3, v0                |     __asm ("mul v0, s3, v0");
    0x0000d020 srl v0, v0, 3                 |     v0 >>= 3;
                                             |     do {
    0x0000d024 lw a1, (v1)                   |         a1 = *(v1);
    0x0000d028 addiu v1, v1, 4               |         v1 += 4;
    0x0000d02c addu a1, a1, v0               |         a1 += v0;
    0x0000d030 sw a1, (a0)                   |         *(a0) = a1;
    0x0000d034 lw a1, 0x68(fp)               |         a1 = *(arg_68h);
    0x0000d038 addiu a0, a0, 4               |         a0 += 4;
    0x0000d03c bne a1, v1, 0xd024            |         
                                             |     } while (a1 != v1);
                                             | label_36:
    0x0000d040 lw v0, 0x70(fp)               |     v0 = *(arg_70h);
    0x0000d044 lw v0, 0x5428(v0)             |     v0 = *((v0 + 5386));
    0x0000d048 lw t9, 0x64(fp)               |     t9 = *(arg_64h);
                                             |     if (v0 != 0) {
    0x0000d04c bnez v0, 0xd29c               |         goto label_37;
                                             |     }
    0x0000d050 lw v0, 0x58(fp)               |     v0 = *(arg_58h);
                                             | label_10:
    0x0000d054 lw v0, 0x5450(v0)             |     v0 = *((v0 + 5396));
    0x0000d058 lw v0, 0x5c(fp)               |     v0 = *(arg_5ch);
                                             |     if (v0 != 0) {
    0x0000d05c beqz v0, 0xd070               |         
    0x0000d060 lw t9, 0x44(fp)               |         t9 = *(arg_44h);
    0x0000d064 jalr t9                       |         t9 ();
    0x0000d068 nop                           |         
    0x0000d06c lw v0, 0x5c(fp)               |         v0 = *(arg_5ch);
                                             |     }
    0x0000d070 lw a0, 0x54b0(s6)             |     a0 = *((s6 + 5420));
    0x0000d074 move a1, s0                   |     a1 = s0;
    0x0000d078 lw t9, 0x54bc(v0)             |     t9 = *((v0 + 5423));
    0x0000d07c move a2, s1                   |     a2 = s1;
    0x0000d080 jalr t9                       |     t9 ();
    0x0000d084 lw v1, 0x70(fp)               |     v1 = *(arg_70h);
    0x0000d088 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000d08c lw a0, 0x5428(v1)             |     a0 = *((v1 + 5386));
    0x0000d090 move s0, v0                   |     s0 = v0;
                                             |     if (a0 != 0) {
    0x0000d094 bnez a0, 0xd344               |         goto label_38;
                                             |     }
                                             | label_13:
    0x0000d098 addiu v0, zero, -0xb          |     v0 = -0xb;
    0x0000d09c lw v0, 0x5424(s5)             |     v0 = *((s5 + 5385));
                                             |     if (s0 == v0) {
    0x0000d0a0 beq s0, v0, 0xd270            |         goto label_39;
                                             |     }
    0x0000d0a4 sltu v0, s0, s1               |     v0 = (s0 < s1) ? 1 : 0;
                                             |     if (s0 < 0) {
    0x0000d0a8 bltz s0, 0xd2ac               |         goto label_40;
                                             |     }
    0x0000d0ac lw v0, 0x5424(s5)             |     v0 = *((s5 + 5385));
                                             |     if (v0 == 0) {
    0x0000d0b0 beqz v0, 0xd28c               |         goto label_41;
                                             |     }
    0x0000d0b4 lw t9, -0x7e30(gp)            |     t9 = sym.imp.snd_pcm_wait;
                                             |     if (v0 == 0) {
    0x0000d0b8 beqz v0, 0xd27c               |         goto label_42;
                                             |     }
                                             |     if (s0 != 0) {
    0x0000d0bc beql s0, zero, 0xd0e4         |         
    0x0000d0c0 move sp, s4                   |         
    0x0000d0c4 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
                                             | label_9:
    0x0000d0c8 lw v0, 0x5440(v0)             |         v0 = *((v0 + 5392));
                                             |         if (v0 != 0) {
    0x0000d0cc bnez v0, 0xd194               |             goto label_43;
                                             |         }
    0x0000d0d0 nop                           |         
                                             | label_2:
    0x0000d0d4 subu s1, s1, s0               |         __asm ("subu s1, s1, s0");
                                             | label_3:
    0x0000d0d8 addu s3, s3, s0               |         s3 += s0;
    0x0000d0dc move sp, s4                   |         
                                             |         if (s1 == 0) {
    0x0000d0e0 beqz s1, 0xd0f4               |             goto label_44;
                                             |         }
                                             |     }
                                             | label_8:
    0x0000d0e4 lw v0, 0x6c(fp)               |     v0 = *(arg_6ch);
    0x0000d0e8 lw v0, 0x5478(v0)             |     v0 = *((v0 + 5406));
    0x0000d0ec lw v0, 0x4c(fp)               |     v0 = *(arg_4ch);
                                             |     if (v0 == 0) {
    0x0000d0f0 beqz v0, 0xcff4               |         goto label_1;
                                             |     }
                                             | label_44:
    0x0000d0f4 lw s2, 0x48(fp)               |     s2 = *(arg_48h);
                                             | label_35:
    0x0000d0f8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000d0fc lw s1, 0x5434(v0)             |     s1 = *((v0 + 5389));
    0x0000d100 lw v0, 0x60(fp)               |     v0 = *(arg_60h);
    0x0000d104 mul s1, v0, s1                |     __asm ("mul s1, v0, s1");
    0x0000d108 srl s1, s1, 3                 |     s1 >>= 3;
                                             |     if (s7 == 0) {
    0x0000d10c beqz s7, 0xd1e4               |         goto label_45;
                                             |     }
    0x0000d110 lw s5, 0x3c(fp)               |     s5 = *(arg_3ch);
    0x0000d114 lw s4, 0x74(fp)               |     s4 = *(arg_74h);
    0x0000d118 sw s2, 0x70(fp)               |     *(arg_70h) = s2;
    0x0000d11c move s3, zero                 |     s3 = 0;
    0x0000d120 move s2, s7                   |     s2 = s7;
                                             | label_5:
    0x0000d124 sll v0, s3, 2                 |     v0 = s3 << 2;
    0x0000d128 sw v0, 0x5c(fp)               |     *(arg_5ch) = v0;
    0x0000d12c lw s6, (s5)                   |     s6 = *(s5);
    0x0000d130 lw s7, (s4)                   |     s7 = *(s4);
                                             |     if (s1 == 0) {
    0x0000d134 beqz s1, 0xd1cc               |         goto label_46;
                                             |     }
    0x0000d138 move s0, zero                 |     s0 = 0;
    0x0000d13c b 0xd150                      |     
                                             |     while (v0 > 0) {
    0x0000d140 addu s0, s0, v0               |         s0 += v0;
    0x0000d144 sltu v0, s0, s1               |         v0 = (s0 < s1) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x0000d148 beqz v0, 0xd1c4               |             goto label_47;
                                             |         }
    0x0000d14c nop                           |         
    0x0000d150 lw t9, -0x7d50(gp)            |         t9 = sym.imp.write;
    0x0000d154 subu a2, s1, s0               |         __asm ("subu a2, s1, s0");
    0x0000d158 addu a1, s7, s0               |         a1 = s7 + s0;
    0x0000d15c move a0, s6                   |         a0 = s6;
    0x0000d160 jalr t9                       |         t9 ();
    0x0000d164 lw gp, 0x18(fp)               |         gp = *(var_18h_3);
    0x0000d168 bgtz v0, 0xd140               |         
                                             |     }
    0x0000d16c lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
                                             | label_4:
    0x0000d170 lw v1, 0x5c(fp)               |     v1 = *(arg_5ch);
    0x0000d174 lw t9, -0x7db0(gp)            |     t9 = sym.imp.perror;
    0x0000d178 lwx a0, v1(v0)                |     __asm ("lwx a0, v1(v0)");
    0x0000d17c jalr t9                       |     t9 ();
    0x0000d180 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
                                             | label_12:
    0x0000d184 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000d188 addiu t9, t9, 0x59bc          |     t9 += fcn.000059bc;
    0x0000d18c addiu a0, zero, 1             |     a0 = 1;
    0x0000d190 bal 0x59bc                    |     fcn_000059bc ();
                                             | label_43:
    0x0000d194 lw s2, 0x74(fp)               |     s2 = *(arg_74h);
                                             |     if (s7 == 0) {
    0x0000d198 beqz s7, 0xd0d4               |         goto label_2;
                                             |     }
                                             |     do {
    0x0000d19c lw a0, (s2)                   |         a0 = *(s2);
    0x0000d1a0 lw t9, 0x40(fp)               |         t9 = *(arg_40h);
    0x0000d1a4 move a1, s0                   |         a1 = s0;
    0x0000d1a8 jalr t9                       |         t9 ();
    0x0000d1ac lw v0, 0x68(fp)               |         v0 = *(arg_68h);
    0x0000d1b0 addiu s2, s2, 4               |         s2 += 4;
    0x0000d1b4 lw gp, 0x18(fp)               |         gp = *(var_18h_3);
    0x0000d1b8 bne v0, s2, 0xd19c            |         
                                             |     } while (v0 != s2);
    0x0000d1bc subu s1, s1, s0               |     __asm ("subu s1, s1, s0");
    0x0000d1c0 b 0xd0d8                      |     goto label_3;
                                             | label_47:
    0x0000d1c4 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
                                             |     if (s1 != s0) {
    0x0000d1c8 bne s1, s0, 0xd170            |         goto label_4;
                                             |     }
                                             | label_46:
    0x0000d1cc addiu s3, s3, 1               |     s3++;
    0x0000d1d0 addiu s5, s5, 4               |     s5 += 4;
    0x0000d1d4 addiu s4, s4, 4               |     s4 += 4;
                                             |     if (s2 != s3) {
    0x0000d1d8 bne s2, s3, 0xd124            |         goto label_5;
                                             |     }
    0x0000d1dc move s7, s2                   |     s7 = s2;
    0x0000d1e0 lw s2, 0x70(fp)               |     s2 = *(arg_70h);
                                             | label_45:
    0x0000d1e4 lw v0, 0x30(fp)               |     v0 = *(arg_30h);
    0x0000d1e8 lw v1, 0x60(fp)               |     v1 = *(arg_60h);
    0x0000d1ec lw a2, -0x7fdc(gp)            |     a2 = *((gp - 8183));
    0x0000d1f0 lw v0, 0x5430(v0)             |     v0 = *((v0 + 5388));
    0x0000d1f4 mul a0, v1, v0                |     __asm ("mul a0, v1, v0");
    0x0000d1f8 lw a1, 0x5400(a2)             |     a1 = *((a2 + 5376));
    0x0000d1fc lw a3, 0x5404(a2)             |     a3 = *((a2 + 5377));
    0x0000d200 srl a0, a0, 3                 |     a0 >>= 3;
    0x0000d204 subu v1, s2, a0               |     __asm ("subu v1, s2, a0");
    0x0000d208 addu a0, a1, a0               |     a0 = a1 + a0;
    0x0000d20c sltu a1, a0, a1               |     a1 = (a0 < a1) ? 1 : 0;
    0x0000d210 addu a1, a1, a3               |     a1 += a3;
    0x0000d214 lw a3, 0x50(fp)               |     a3 = *(arg_50h);
    0x0000d218 sltu s2, s2, v1               |     s2 = (s2 < v1) ? 1 : 0;
    0x0000d21c subu a3, a3, s2               |     __asm ("subu a3, a3, s2");
    0x0000d220 sw a3, 0x50(fp)               |     *(arg_50h) = a3;
    0x0000d224 move s2, v1                   |     s2 = v1;
    0x0000d228 sw a0, 0x5400(a2)             |     *((a2 + 5376)) = a0;
    0x0000d22c sw a1, 0x5404(a2)             |     *((a2 + 5377)) = a1;
                                             |     if (a3 <= 0) {
    0x0000d230 blez a3, 0xd450               |         goto label_48;
                                             |     }
    0x0000d234 lw v1, 0x6c(fp)               |     v1 = *(arg_6ch);
                                             | label_18:
    0x0000d238 lw v1, 0x5478(v1)             |     v1 = *((v1 + 5406));
    0x0000d23c lw v1, 0x34(fp)               |     v1 = *(arg_34h);
                                             |     if (v1 == 0) {
    0x0000d240 beqz v1, 0xcf88               |         goto label_6;
                                             |     }
                                             | label_17:
    0x0000d244 lw sp, 0x20(fp)               |     
                                             |     if (s7 == 0) {
    0x0000d248 beqz s7, 0xd530               |         goto label_49;
                                             |     }
    0x0000d24c move s1, zero                 |     s1 = 0;
    0x0000d250 b 0xcd88                      |     goto label_7;
                                             | label_11:
    0x0000d254 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000d258 addiu t9, t9, 0x7c44          |     t9 += fcn.00007c44;
    0x0000d25c bal 0x7c44                    |     fcn_00007c44 ();
    0x0000d260 nop                           |     
    0x0000d264 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000d268 move sp, s4                   |     
    0x0000d26c b 0xd0e4                      |     goto label_8;
                                             | label_39:
    0x0000d270 move sp, s4                   |     
                                             |     if (v0 == 0) {
    0x0000d274 bnel v0, zero, 0xd0e4         |         goto label_8;
                                             |     }
    0x0000d278 lw t9, -0x7e30(gp)            |     t9 = sym.imp.snd_pcm_wait;
                                             | label_42:
    0x0000d27c lw a0, 0x54b0(s6)             |     a0 = *((s6 + 5420));
    0x0000d280 addiu a1, zero, 0x64          |     a1 = 0x64;
    0x0000d284 jalr t9                       |     t9 ();
    0x0000d288 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
                                             | label_41:
    0x0000d28c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (s0 > 0) {
    0x0000d290 bgtz s0, 0xd0c8               |         goto label_9;
                                             |     }
    0x0000d294 move sp, s4                   |     
    0x0000d298 b 0xd0e4                      |     goto label_8;
                                             | label_37:
    0x0000d29c jalr t9                       |     t9 ();
    0x0000d2a0 nop                           |     
    0x0000d2a4 lw v0, 0x58(fp)               |     v0 = *(arg_58h);
    0x0000d2a8 b 0xd054                      |     goto label_10;
                                             | label_40:
    0x0000d2ac addiu v0, zero, -0x20         |     v0 = -0x20;
    0x0000d2b0 addiu v0, zero, -0x5c         |     v0 = -0x5c;
                                             |     if (s0 == v0) {
    0x0000d2b4 beq s0, v0, 0xd254            |         goto label_11;
                                             |     }
    0x0000d2b8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (s0 != v0) {
    0x0000d2bc beq s0, v0, 0xd358            |         
    0x0000d2c0 lw s2, -0x7e24(gp)            |         s2 = *((gp - 8073));
    0x0000d2c4 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x0000d2c8 lw a3, 0x54b4(v0)             |         a3 = *((v0 + 5421));
    0x0000d2cc addiu v0, zero, 0x891         |         v0 = 0x891;
    0x0000d2d0 lw a0, (s2)                   |         a0 = *(s2);
    0x0000d2d4 sw v0, 0x14(sp)               |         *(var_14h_2) = v0;
    0x0000d2d8 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x0000d2dc lw t9, -0x7d04(gp)            |         t9 = sym.imp.__fprintf_chk
                                             |         /* str.pcm_readv */
    0x0000d2e0 addiu v0, v0, 0x4174          |         v0 += 0x4174;
                                             |         /* str._s:__s:_d:_ */
    0x0000d2e4 addiu a2, a2, 0x2b6c          |         a2 += 0x2b6c;
    0x0000d2e8 addiu a1, zero, 1             |         a1 = 1;
    0x0000d2ec sw v0, 0x10(sp)               |         *(var_10h_3) = v0;
    0x0000d2f0 jalr t9                       |         t9 ();
    0x0000d2f4 lw gp, 0x18(fp)               |         gp = *(var_18h_3);
    0x0000d2f8 move a0, s0                   |         a0 = s0;
    0x0000d2fc lw t9, -0x7e3c(gp)            |         t9 = sym.imp.snd_strerror;
    0x0000d300 lw s1, (s2)                   |         s1 = *(s2);
    0x0000d304 jalr t9                       |         t9 ();
    0x0000d308 lw gp, 0x18(fp)               |         gp = *(var_18h_3);
    0x0000d30c addiu a1, zero, 1             |         a1 = 1;
    0x0000d310 move a3, v0                   |         a3 = v0;
    0x0000d314 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x0000d318 lw t9, -0x7d04(gp)            |         t9 = sym.imp.__fprintf_chk
                                             |         /* str.readv_error:__s */
    0x0000d31c addiu a2, a2, 0x3830          |         a2 += 0x3830;
    0x0000d320 move a0, s1                   |         a0 = s1;
    0x0000d324 jalr t9                       |         t9 ();
    0x0000d328 lw gp, 0x18(fp)               |         gp = *(var_18h_3);
    0x0000d32c lw a1, (s2)                   |         a1 = *(s2);
                                             | label_24:
    0x0000d330 lw t9, -0x7f18(gp)            |         t9 = sym.imp._IO_putc;
    0x0000d334 addiu a0, zero, 0xa           |         a0 = 0xa;
    0x0000d338 jalr t9                       |         t9 ();
    0x0000d33c lw gp, 0x18(fp)               |         gp = *(var_18h_3);
    0x0000d340 b 0xd184                      |         goto label_12;
                                             | label_38:
    0x0000d344 lw t9, 0x64(fp)               |         t9 = *(arg_64h);
    0x0000d348 jalr t9                       |         t9 ();
    0x0000d34c nop                           |         
    0x0000d350 lw gp, 0x18(fp)               |         gp = *(var_18h_3);
    0x0000d354 b 0xd098                      |         goto label_13;
                                             |     }
    0x0000d358 lw t9, -0x7fd8(gp)            |     t9 = *(gp);
    0x0000d35c addiu t9, t9, -0x7c80         |     t9 += -0x7c80;
    0x0000d360 bal 0x8380                    |     fcn_00008380 ();
    0x0000d364 nop                           |     
    0x0000d368 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000d36c move sp, s4                   |     
    0x0000d370 b 0xd0e4                      |     goto label_8;
                                             | label_30:
    0x0000d374 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x0000d378 jalr t9                       |     t9 ();
    0x0000d37c lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000d380 b 0xcdf8                      |     goto label_14;
                                             | label_33:
    0x0000d384 lw s0, -0x7fdc(gp)            |     s0 = *((gp - 8183));
    0x0000d388 b 0xced0                      |     goto label_15;
                                             | label_26:
    0x0000d38c lw t9, -0x7e2c(gp)            |     t9 = sym.imp.strlen;
    0x0000d390 addiu s5, fp, 0x7c            |     s5 = fp + 0x7c;
    0x0000d394 lw s0, (v0)                   |     s0 = *(v0);
    0x0000d398 move s6, zero                 |     s6 = 0;
    0x0000d39c move a0, s0                   |     a0 = s0;
    0x0000d3a0 jalr t9                       |     t9 ();
    0x0000d3a4 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000d3a8 move a1, s0                   |     a1 = s0;
    0x0000d3ac addiu a3, zero, 0x400         |     a3 = 0x400;
    0x0000d3b0 lw t9, -0x7d7c(gp)            |     t9 = sym.imp.__memcpy_chk;
    0x0000d3b4 move a2, v0                   |     a2 = v0;
    0x0000d3b8 move a0, s5                   |     a0 = s5;
    0x0000d3bc move s3, v0                   |     s3 = v0;
    0x0000d3c0 jalr t9                       |     t9 ();
    0x0000d3c4 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000d3c8 addu v0, s5, s3               |     v0 = s5 + s3;
    0x0000d3cc move a0, s1                   |     a0 = s1;
    0x0000d3d0 lw v1, -0x7fd8(gp)            |     v1 = *(gp);
    0x0000d3d4 lw t9, -0x7e88(gp)            |     t9 = sym.imp.malloc;
    0x0000d3d8 addiu s3, s3, 4               |     s3 += 4;
    0x0000d3dc lw v1, 0x37f8(v1)             |     v1 = *((v1 + 3582));
    0x0000d3e0 swl v1, 3(v0)                 |     __asm ("swl v1, 3(v0)");
    0x0000d3e4 swr v1, (v0)                  |     __asm ("swr v1, (v0)");
    0x0000d3e8 jalr t9                       |     t9 ();
    0x0000d3ec lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000d3f0 sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
    0x0000d3f4 move s0, v0                   |     s0 = v0;
                                             |     do {
    0x0000d3f8 lw t9, -0x7e88(gp)            |         t9 = sym.imp.malloc;
    0x0000d3fc move a0, s3                   |         a0 = s3;
    0x0000d400 jalr t9                       |         t9 ();
    0x0000d404 lw gp, 0x18(fp)               |         gp = *(var_18h_3);
    0x0000d408 sw v0, (s0)                   |         *(s0) = v0;
    0x0000d40c move a3, s5                   |         a3 = s5;
    0x0000d410 lw t9, -0x7f0c(gp)            |         t9 = sym.imp.__sprintf_chk;
    0x0000d414 sw s6, 0x10(sp)               |         *(var_10h_3) = s6;
    0x0000d418 addiu a2, zero, -1            |         a2 = -1;
    0x0000d41c addiu a1, zero, 1             |         a1 = 1;
    0x0000d420 move a0, v0                   |         a0 = v0;
    0x0000d424 addiu s6, s6, 1               |         s6++;
    0x0000d428 jalr t9                       |         t9 ();
    0x0000d42c addiu s0, s0, 4               |         s0 += 4;
    0x0000d430 lw gp, 0x18(fp)               |         gp = *(var_18h_3);
    0x0000d434 bne s7, s6, 0xd3f8            |         
                                             |     } while (s7 != s6);
    0x0000d438 addiu v0, zero, 1             |     v0 = 1;
    0x0000d43c sw v0, 0x28(fp)               |     *(arg_28h) = v0;
                                             |     if (s7 != 0) {
    0x0000d440 bnez s7, 0xcd34               |         goto label_16;
                                             |     }
    0x0000d444 addiu v0, zero, 1             |     v0 = 1;
    0x0000d448 sw v0, 0x28(fp)               |     *(arg_28h) = v0;
    0x0000d44c b 0xd480                      |     goto label_23;
                                             |     if (a3 != 0) {
                                             | label_48:
    0x0000d450 bnez a3, 0xd244               |         goto label_17;
                                             |     }
    0x0000d454 nop                           |     
    0x0000d458 lw v1, 0x6c(fp)               |     v1 = *(arg_6ch);
                                             |     if (s2 != 0) {
    0x0000d45c bnez s2, 0xd238               |         goto label_18;
                                             |     }
    0x0000d460 b 0xd244                      |     goto label_17;
    0x0000d464 nop                           |     
                                             | label_25:
    0x0000d468 addiu v0, zero, 1             |     v0 = 1;
    0x0000d46c lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
                                             |     if (a1 == v0) {
    0x0000d470 beq a1, v0, 0xd550            |         goto label_50;
                                             |     }
    0x0000d474 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (a1 != 0) {
    0x0000d478 bnez a1, 0xd5dc               |         goto label_51;
                                             |     }
    0x0000d47c sw zero, 0x28(fp)             |     *(arg_28h) = 0;
                                             | label_23:
    0x0000d480 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
    0x0000d484 lw a1, 4(s2)                  |     a1 = *((s2 + 1));
    0x0000d488 lw a0, 8(s2)                  |     a0 = *((s2 + 2));
    0x0000d48c addiu v0, v1, 0x54a4          |     v0 = v1 + 0x54a4;
    0x0000d490 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000d494 lw a2, 0x5498(s4)             |     a2 = *((s4 + 5414));
    0x0000d498 sw a1, 4(v0)                  |     *((v0 + 1)) = a1;
    0x0000d49c sw a0, 8(v0)                  |     *((v0 + 2)) = a0;
    0x0000d4a0 addiu t9, t9, 0x5190          |     t9 += fcn.00005190;
    0x0000d4a4 sw a2, 0x54a4(v1)             |     *((v1 + 5417)) = a2;
    0x0000d4a8 bal 0x5190                    |     fcn_00005190 ();
    0x0000d4ac lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000d4b0 move a1, v0                   |     a1 = v0;
    0x0000d4b4 move s2, v0                   |     s2 = v0;
    0x0000d4b8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000d4bc lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x0000d4c0 sw v1, 0x50(fp)               |     *(arg_50h) = v1;
    0x0000d4c4 lw v0, 0x548c(v0)             |     v0 = *((v0 + 5411));
    0x0000d4c8 sw v1, 0x501c(a0)             |     *((a0 + 5127)) = v1;
    0x0000d4cc addiu v1, sp, 0x18            |     v1 = sp + 0x18;
    0x0000d4d0 sw a1, 0x5018(a0)             |     *((a0 + 5126)) = a1;
    0x0000d4d4 sw sp, 0x20(fp)               |     
    0x0000d4d8 sw v1, 0x74(fp)               |     *(arg_74h) = v1;
                                             |     if (v0 == 0) {
    0x0000d4dc bnez v0, 0xd4fc               |         
    0x0000d4e0 lw v0, 0x2c(fp)               |         v0 = *(arg_2ch);
    0x0000d4e4 lw t9, -0x7fd8(gp)            |         t9 = *(gp);
    0x0000d4e8 move a0, zero                 |         a0 = 0;
    0x0000d4ec addiu t9, t9, -0x7a98         |         t9 += -0x7a98;
    0x0000d4f0 lw a1, (v0)                   |         a1 = *(v0);
    0x0000d4f4 bal 0x8568                    |         fcn_00008568 ();
    0x0000d4f8 lw gp, 0x18(fp)               |         gp = *(var_18h_3);
                                             |     }
    0x0000d4fc lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000d500 addiu t9, t9, 0x67b4          |     t9 += fcn.000067b4;
    0x0000d504 bal 0x67b4                    |     fcn_000067b4 ();
    0x0000d508 nop                           |     
    0x0000d50c lw v0, 0x50(fp)               |     v0 = *(arg_50h);
    0x0000d510 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
                                             |     if (v0 > 0) {
    0x0000d514 bgtz v0, 0xcf28               |         goto label_19;
                                             |     }
                                             |     if (v0 != 0) {
    0x0000d518 bnez v0, 0xd244               |         goto label_17;
                                             |     }
    0x0000d51c nop                           |     
    0x0000d520 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (s2 == 0) {
    0x0000d524 bnel s2, zero, 0xcf2c         |         goto label_20;
                                             |     }
    0x0000d528 b 0xd244                      |     goto label_17;
    0x0000d52c nop                           |     
                                             | label_49:
    0x0000d530 lw v0, 0x28(fp)               |     v0 = *(arg_28h);
    0x0000d534 lw v0, 0x24(fp)               |     v0 = *(arg_24h);
                                             |     if (v0 == 0) {
    0x0000d538 beqz v0, 0xce04               |         goto label_21;
                                             |     }
    0x0000d53c lw t9, -0x7dd4(gp)            |     t9 = sym.imp.free;
    0x0000d540 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x0000d544 jalr t9                       |     t9 ();
    0x0000d548 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000d54c b 0xce00                      |     goto label_22;
                                             | label_50:
    0x0000d550 lw t9, -0x7e2c(gp)            |     t9 = sym.imp.strlen;
    0x0000d554 lw s3, (v0)                   |     s3 = *(v0);
    0x0000d558 move a0, s3                   |     a0 = s3;
    0x0000d55c jalr t9                       |     t9 ();
    0x0000d560 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000d564 addiu v1, fp, 0x7c            |     v1 = fp + 0x7c;
    0x0000d568 move a0, v1                   |     a0 = v1;
    0x0000d56c lw t9, -0x7d7c(gp)            |     t9 = sym.imp.__memcpy_chk;
    0x0000d570 addiu a3, zero, 0x400         |     a3 = 0x400;
    0x0000d574 move a2, v0                   |     a2 = v0;
    0x0000d578 move a1, s3                   |     a1 = s3;
    0x0000d57c move s0, v0                   |     s0 = v0;
    0x0000d580 jalr t9                       |     t9 ();
    0x0000d584 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000d588 addu v0, v0, s0               |     v0 += s0;
    0x0000d58c move a0, zero                 |     a0 = 0;
    0x0000d590 lw v1, -0x7fd8(gp)            |     v1 = *(gp);
    0x0000d594 lw t9, -0x7e88(gp)            |     t9 = sym.imp.malloc;
    0x0000d598 lw v1, 0x37f8(v1)             |     v1 = *((v1 + 3582));
    0x0000d59c swl v1, 3(v0)                 |     __asm ("swl v1, 3(v0)");
    0x0000d5a0 swr v1, (v0)                  |     __asm ("swr v1, (v0)");
    0x0000d5a4 jalr t9                       |     t9 ();
    0x0000d5a8 sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
    0x0000d5ac addiu v0, zero, 1             |     v0 = 1;
    0x0000d5b0 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000d5b4 sw v0, 0x28(fp)               |     *(arg_28h) = v0;
    0x0000d5b8 b 0xd480                      |     goto label_23;
                                             | label_34:
    0x0000d5bc move s1, zero                 |     s1 = 0;
                                             |     if (v0 == 0) {
    0x0000d5c0 bnel v0, zero, 0xd5d0         |         goto label_52;
                                             |     }
    0x0000d5c4 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (s2 != 0) {
    0x0000d5c8 bnez s2, 0xcf2c               |         goto label_20;
                                             |     }
    0x0000d5cc move s1, zero                 |     s1 = 0;
                                             | label_52:
    0x0000d5d0 lw sp, 0x20(fp)               |     
    0x0000d5d4 b 0xcd88                      |     goto label_7;
                                             | label_27:
    0x0000d5d8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             | label_51:
    0x0000d5dc lw s0, -0x7e24(gp)            |     s0 = *((gp - 8073));
    0x0000d5e0 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000d5e4 lw a3, 0x54b4(v0)             |     a3 = *((v0 + 5421));
    0x0000d5e8 addiu v0, zero, 0xd48         |     v0 = 0xd48;
    0x0000d5ec lw a0, (s0)                   |     a0 = *(s0);
    0x0000d5f0 sw v0, 0x14(sp)               |     *(var_14h_2) = v0;
    0x0000d5f4 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000d5f8 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
                                             |     /* str.capturev */
    0x0000d5fc addiu v0, v0, 0x4180          |     v0 += 0x4180;
                                             |     /* str._s:__s:_d:_ */
    0x0000d600 addiu a2, a2, 0x2b6c          |     a2 += 0x2b6c;
    0x0000d604 addiu a1, zero, 1             |     a1 = 1;
    0x0000d608 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x0000d60c jalr t9                       |     t9 ();
    0x0000d610 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000d614 lw a0, (s0)                   |     a0 = *(s0);
    0x0000d618 addiu a1, zero, 1             |     a1 = 1;
    0x0000d61c lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000d620 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
    0x0000d624 move a3, s7                   |     a3 = s7;
                                             |     /* str.You_need_to_specify__d_files */
    0x0000d628 addiu a2, a2, 0x37fc          |     a2 += 0x37fc;
    0x0000d62c jalr t9                       |     t9 ();
    0x0000d630 lw gp, 0x18(fp)               |     gp = *(var_18h_3);
    0x0000d634 lw a1, (s0)                   |     a1 = *(s0);
    0x0000d638 b 0xd330                      |     goto label_24;
                                             | label_31:
    0x0000d63c addiu t9, t9, 0x59bc          |     t9 += fcn.000059bc;
    0x0000d640 addiu a0, zero, 1             |     a0 = 1;
    0x0000d644 bal 0x59bc                    |     fcn_000059bc ();
                                             | label_32:
    0x0000d648 lw t9, -0x7e98(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000d64c jalr t9                       |     t9 ();
    0x0000d650 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0xd9dc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000d9dc ()                  | void fcn_0000d9dc () {
    0x0000d9dc lui gp, 2                     |     
    0x0000d9e0 addiu gp, gp, -0x99c          |     
    0x0000d9e4 addu gp, gp, t9               |     gp += t9;
    0x0000d9e8 lw v0, -0x7e4c(gp)            |     v0 = *((gp - 8083));
    0x0000d9ec addiu sp, sp, -0x2168         |     
    0x0000d9f0 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000d9f4 sw v0, 0x84(sp)               |     *(arg_84h) = v0;
    0x0000d9f8 lw v0, (v0)                   |     v0 = *(v0);
    0x0000d9fc sw gp, 0x20(sp)               |     *(arg_20h) = gp;
    0x0000da00 sw s0, 0x2140(sp)             |     *(arg_2140h) = s0;
    0x0000da04 sw ra, 0x2164(sp)             |     *(arg_2164h) = ra;
    0x0000da08 sw fp, 0x2160(sp)             |     *(arg_2160h) = fp;
    0x0000da0c sw s7, 0x215c(sp)             |     *(arg_215ch) = s7;
    0x0000da10 sw s6, 0x2158(sp)             |     *(arg_2158h) = s6;
    0x0000da14 sw s5, 0x2154(sp)             |     *(arg_2154h) = s5;
    0x0000da18 sw s4, 0x2150(sp)             |     *(arg_2150h) = s4;
    0x0000da1c sw s3, 0x214c(sp)             |     *(arg_214ch) = s3;
    0x0000da20 sw s2, 0x2148(sp)             |     *(arg_2148h) = s2;
    0x0000da24 sw s1, 0x2144(sp)             |     *(arg_2144h) = s1;
    0x0000da28 sw a0, 0x80(sp)               |     *(arg_80h) = a0;
    0x0000da2c sw v0, 0x213c(sp)             |     *(arg_213ch) = v0;
    0x0000da30 addiu t9, t9, 0x5190          |     t9 += fcn.00005190;
    0x0000da34 bal 0x5190                    |     fcn_00005190 ();
    0x0000da38 nop                           |     
    0x0000da3c move s0, v0                   |     s0 = v0;
    0x0000da40 or v0, v0, v1                 |     v0 |= v1;
    0x0000da44 lw gp, 0x20(sp)               |     gp = *(arg_20h);
                                             |     if (v0 != 0) {
    0x0000da48 bnez v0, 0xe058               |         goto label_27;
                                             |     }
    0x0000da4c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000da50 lw s1, -0x7fdc(gp)            |     s1 = *((gp - 8183));
    0x0000da54 addiu v1, v0, 0x54a4          |     v1 = v0 + 0x54a4;
    0x0000da58 sw v1, 0x78(sp)               |     *(arg_78h) = v1;
    0x0000da5c lw a1, 8(v1)                  |     a1 = *((v1 + 2));
    0x0000da60 lw v1, 4(v1)                  |     v1 = *((v1 + 1));
    0x0000da64 lw a0, 0x54a4(v0)             |     a0 = *((v0 + 5417));
    0x0000da68 mul a1, a1, v1                |     __asm ("mul a1, a1, v1");
    0x0000da6c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000da70 lw t9, -0x7d18(gp)            |     t9 = sym.imp.snd_pcm_format_size;
    0x0000da74 sw s1, 0x7c(sp)               |     *(arg_7ch) = s1;
    0x0000da78 lw s0, 0x5414(v0)             |     s0 = *((v0 + 5381));
    0x0000da7c addiu v0, zero, -2            |     v0 = -2;
    0x0000da80 sw v0, 0x48(sp)               |     *(arg_48h) = v0;
    0x0000da84 jalr t9                       |     t9 ();
    0x0000da88 mult s0, v0                   |     __asm ("mult s0, v0");
    0x0000da8c mflo v0                       |     __asm ("mflo v0");
    0x0000da90 mfhi v1                       |     __asm ("mfhi v1");
    0x0000da94 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000da98 sw v0, 0x5418(s1)             |     *((s1 + 5382)) = v0;
    0x0000da9c lui v0, 0x7fff                |     v0 = 0x7fffffff;
    0x0000daa0 ori v0, v0, 0xffff            |     
    0x0000daa4 sw v1, 0x541c(s1)             |     *((s1 + 5383)) = v1;
    0x0000daa8 sw v0, 0x40(sp)               |     *(arg_40h) = v0;
                                             | label_5:
    0x0000daac lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000dab0 lw v0, 0x548c(v0)             |     v0 = *((v0 + 5411));
    0x0000dab4 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
                                             |     if (v0 == 0) {
    0x0000dab8 bnez v0, 0xdadc               |         
    0x0000dabc lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
    0x0000dac0 lw t9, -0x7fd8(gp)            |         t9 = *(gp);
    0x0000dac4 lw a1, 0x80(sp)               |         a1 = *(arg_80h);
    0x0000dac8 addiu t9, t9, -0x7a98         |         t9 += -0x7a98;
    0x0000dacc lw a0, 0x5034(v0)             |         a0 = *((v0 + 5133));
    0x0000dad0 bal 0x8568                    |         fcn_00008568 ();
    0x0000dad4 lw gp, 0x20(sp)               |         gp = *(arg_20h);
    0x0000dad8 lw t9, -0x7fd4(gp)            |         t9 = *((gp - 8181));
                                             |     }
    0x0000dadc addiu t9, t9, 0x67b4          |     t9 += fcn.000067b4;
    0x0000dae0 bal 0x67b4                    |     fcn_000067b4 ();
    0x0000dae4 nop                           |     
    0x0000dae8 lw a0, 0x80(sp)               |     a0 = *(arg_80h);
    0x0000daec lw gp, 0x20(sp)               |     gp = *(arg_20h);
                                             |     if (a0 == 0) {
    0x0000daf0 beqz a0, 0xdfe8               |         goto label_28;
                                             |     }
    0x0000daf4 lw a1, -0x7fd8(gp)            |     a1 = *(gp);
    0x0000daf8 lw t9, -0x7f40(gp)            |     t9 = sym.imp.strcmp;
    0x0000dafc addiu a1, a1, 0x37f4          |     a1 += 0x37f4;
    0x0000db00 jalr t9                       |     t9 ();
    0x0000db04 lw gp, 0x20(sp)               |     gp = *(arg_20h);
                                             |     if (v0 == 0) {
    0x0000db08 beqz v0, 0xdfe8               |         goto label_28;
                                             |     }
    0x0000db0c lw v0, 0x80(sp)               |     v0 = *(arg_80h);
    0x0000db10 sw zero, 0x70(sp)             |     *(arg_70h) = 0;
    0x0000db14 sw v0, 0x74(sp)               |     *(arg_74h) = v0;
                                             | label_4:
    0x0000db18 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000db1c addiu t9, t9, 0x4f00          |     t9 += fcn.00004f00;
    0x0000db20 sw zero, 0x64(sp)             |     *(arg_64h) = 0;
    0x0000db24 bal 0x4f00                    |     fcn_00004f00 ();
    0x0000db28 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000db2c lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000db30 addiu v0, v0, -0x7770         |     v0 += -0x7770;
    0x0000db34 sw v0, 0x30(sp)               |     *(arg_30h) = v0;
    0x0000db38 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
    0x0000db3c addiu v0, v0, -0x7c80         |     v0 += -0x7c80;
    0x0000db40 sw v0, 0x50(sp)               |     *(arg_50h) = v0;
    0x0000db44 lw v1, 0x70(sp)               |     v1 = *(arg_70h);
                                             | label_3:
    0x0000db48 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (v1 != 0) {
    0x0000db4c bnel v1, zero, 0xdbd8         |         
    0x0000db50 lw s0, -0x7fdc(gp)            |         s0 = *((gp - 8183));
    0x0000db54 lw a0, 0x64(sp)               |         a0 = *(arg_64h);
    0x0000db58 lw v0, 0x5410(s0)             |         v0 = *((s0 + 5380));
                                             |         if (a0 != 0) {
    0x0000db5c bnez a0, 0xe398               |             goto label_29;
                                             |         }
    0x0000db60 lw t9, -0x7e7c(gp)            |         t9 = sym.imp.time;
                                             |         if (v0 != 0) {
    0x0000db64 bnez v0, 0xe33c               |             goto label_30;
                                             |         }
    0x0000db68 sw v1, 0x64(sp)               |         *(arg_64h) = v1;
                                             | label_19:
    0x0000db6c lw t9, -0x7ddc(gp)            |         t9 = sym.imp.__lxstat64;
    0x0000db70 lw a1, 0x74(sp)               |         a1 = *(arg_74h);
    0x0000db74 addiu a2, sp, 0x90            |         a2 = sp + 0x90;
    0x0000db78 addiu a0, zero, 3             |         a0 = 3;
    0x0000db7c jalr t9                       |         t9 ();
    0x0000db80 lw gp, 0x20(sp)               |         gp = *(arg_20h);
                                             |         if (v0 == 0) {
    0x0000db84 bnez v0, 0xdb9c               |             
    0x0000db88 lw v0, 0xa8(sp)               |             v0 = *(arg_a8h);
    0x0000db8c ori v1, zero, 0x8000          |             v1 = 0x8000;
    0x0000db90 andi v0, v0, 0xf000           |             v0 &= 0xf000;
    0x0000db94 lw t9, -0x7e80(gp)            |             t9 = sym.imp.remove;
                                             |             if (v0 == v1) {
    0x0000db98 beq v0, v1, 0xe544            |                 goto label_31;
                                             |             }
                                             |         }
                                             | label_21:
    0x0000db9c lw t9, -0x7f10(gp)            |         t9 = sym.imp.open64;
    0x0000dba0 lw a0, 0x74(sp)               |         a0 = *(arg_74h);
    0x0000dba4 addiu a2, zero, 0x1a4         |         a2 = segment.NOTE;
    0x0000dba8 addiu a1, zero, 0x101         |         a1 = 0x101;
    0x0000dbac jalr t9                       |         t9 ();
    0x0000dbb0 addiu v1, zero, -1            |         v1 = -1;
    0x0000dbb4 lw gp, 0x20(sp)               |         gp = *(arg_20h);
                                             |         if (v0 == v1) {
    0x0000dbb8 beq v0, v1, 0xe2e0            |             goto label_32;
                                             |         }
                                             | label_18:
    0x0000dbbc lw v1, -0x7fdc(gp)            |         v1 = *((gp - 8183));
    0x0000dbc0 sw v0, 0x5020(v1)             |         *((v1 + 5128)) = v0;
                                             |         if (v0 < 0) {
    0x0000dbc4 bltz v0, 0xe5b4               |             goto label_33;
                                             |         }
    0x0000dbc8 lw v0, 0x64(sp)               |         v0 = *(arg_64h);
    0x0000dbcc addiu v0, v0, 1               |         v0++;
    0x0000dbd0 sw v0, 0x64(sp)               |         *(arg_64h) = v0;
    0x0000dbd4 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
                                             |     }
    0x0000dbd8 lw a1, 0x40(sp)               |     a1 = *(arg_40h);
    0x0000dbdc sw v0, 0x6c(sp)               |     *(arg_6ch) = v0;
    0x0000dbe0 lw t9, 0x5034(v0)             |     t9 = *((v0 + 5133));
    0x0000dbe4 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000dbe8 addiu a0, v0, 0x4fa0          |     a0 = v0 + 0x4fa0;
    0x0000dbec sll v0, t9, 1                 |     v0 = t9 << 1;
    0x0000dbf0 addu v1, v0, t9               |     v1 = v0 + t9;
    0x0000dbf4 sll v1, v1, 3                 |     v1 <<= 3;
    0x0000dbf8 addu v1, a0, v1               |     v1 = a0 + v1;
    0x0000dbfc sw a0, 0x68(sp)               |     *(arg_68h) = a0;
    0x0000dc00 lw a0, 0x14(v1)               |     a0 = *((v1 + 5));
    0x0000dc04 lw v1, 0x10(v1)               |     v1 = *((v1 + 4));
    0x0000dc08 sw a0, 0x34(sp)               |     *(arg_34h) = a0;
    0x0000dc0c sw v1, 0x3c(sp)               |     *(arg_3ch) = v1;
    0x0000dc10 slt v1, a1, a0                |     v1 = (a1 < a0) ? 1 : 0;
    0x0000dc14 lw v1, 0x48(sp)               |     v1 = *(arg_48h);
                                             |     if (v1 != 0) {
    0x0000dc18 bnez v1, 0xe260               |         goto label_34;
                                             |     }
    0x0000dc1c lw v1, 0x3c(sp)               |     v1 = *(arg_3ch);
                                             |     if (a0 == a1) {
    0x0000dc20 beq a0, a1, 0xe24c            |         goto label_35;
                                             |     }
                                             | label_12:
    0x0000dc24 lw v1, 0x7c(sp)               |     v1 = *(arg_7ch);
                                             | label_11:
    0x0000dc28 lw a0, 0x5418(v1)             |     a0 = *((v1 + 5382));
    0x0000dc2c lw v1, 0x541c(v1)             |     v1 = *((v1 + 5383));
    0x0000dc30 or a1, a0, v1                 |     a1 = a0 | v1;
                                             |     if (a1 != 0) {
    0x0000dc34 beql a1, zero, 0xdc58         |         
    0x0000dc38 addu t9, v0, t9               |         t9 = v0 + t9;
    0x0000dc3c lw a2, 0x34(sp)               |         a2 = *(arg_34h);
    0x0000dc40 slt a1, v1, a2                |         a1 = (v1 < a2) ? 1 : 0;
    0x0000dc44 sw a0, 0x3c(sp)               |         *(arg_3ch) = a0;
                                             |         if (a1 == 0) {
    0x0000dc48 bnel a1, zero, 0xe2a4         |             goto label_36;
                                             |         }
    0x0000dc4c lw a1, 0x3c(sp)               |         a1 = *(arg_3ch);
                                             |         if (a2 == v1) {
    0x0000dc50 beq a2, v1, 0xe294            |             goto label_37;
                                             |         }
                                             | label_15:
    0x0000dc54 addu t9, v0, t9               |         t9 = v0 + t9;
                                             |     }
                                             | label_14:
    0x0000dc58 lw v0, 0x68(sp)               |     v0 = *(arg_68h);
    0x0000dc5c sll t9, t9, 3                 |     t9 <<= 3;
    0x0000dc60 lwx t9, t9(v0)                |     __asm ("lwx t9, t9(v0)");
    0x0000dc64 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (t9 != 0) {
    0x0000dc68 beqz t9, 0xdc7c               |         
    0x0000dc6c lw a1, 0x3c(sp)               |         a1 = *(arg_3ch);
    0x0000dc70 lw a0, 0x5020(v0)             |         a0 = *((v0 + 5128));
    0x0000dc74 jalr t9                       |         t9 ();
    0x0000dc78 lw gp, 0x20(sp)               |         gp = *(arg_20h);
                                             |     }
    0x0000dc7c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000dc80 move v1, zero                 |     v1 = 0;
    0x0000dc84 move a0, v0                   |     a0 = v0;
    0x0000dc88 sw v0, 0x60(sp)               |     *(arg_60h) = v0;
    0x0000dc8c move v0, zero                 |     v0 = 0;
    0x0000dc90 sw v0, 0x5400(a0)             |     *((a0 + 5376)) = v0;
    0x0000dc94 lw v0, 0x34(sp)               |     v0 = *(arg_34h);
    0x0000dc98 sw v1, 0x5404(a0)             |     *((a0 + 5377)) = v1;
                                             |     if (v0 <= 0) {
    0x0000dc9c blez v0, 0xe554               |         goto label_38;
                                             |     }
    0x0000dca0 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             | label_22:
    0x0000dca4 lw s7, -0x7fdc(gp)            |     s7 = *((gp - 8183));
    0x0000dca8 sw v0, 0x54(sp)               |     *(arg_54h) = v0;
    0x0000dcac lw v0, 0x540c(v0)             |     v0 = *((v0 + 5379));
    0x0000dcb0 lw v0, 0x54(sp)               |     v0 = *(arg_54h);
                                             |     if (v0 != 0) {
    0x0000dcb4 bnez v0, 0xdef4               |         goto label_16;
                                             |     }
    0x0000dcb8 lw v0, 0x5478(s7)             |     v0 = *((s7 + 5406));
    0x0000dcbc lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (v0 != 0) {
    0x0000dcc0 bnez v0, 0xdef0               |         goto label_23;
                                             |     }
    0x0000dcc4 sw v0, 0x58(sp)               |     *(arg_58h) = v0;
    0x0000dcc8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000dccc sw v0, 0x44(sp)               |     *(arg_44h) = v0;
    0x0000dcd0 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000dcd4 sw v0, 0x5c(sp)               |     *(arg_5ch) = v0;
    0x0000dcd8 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000dcdc addiu v0, v0, 0x558c          |     v0 += 0x558c;
    0x0000dce0 sw v0, 0x2c(sp)               |     *(arg_2ch) = v0;
    0x0000dce4 lw v0, 0x58(sp)               |     v0 = *(arg_58h);
                                             | label_2:
    0x0000dce8 lw s1, 0x542c(v0)             |     s1 = *((v0 + 5387));
    0x0000dcec lw v0, 0x34(sp)               |     v0 = *(arg_34h);
                                             |     if (v0 <= 0) {
    0x0000dcf0 bgtzl v0, 0xdd14              |         
    0x0000dcf4 lw v0, 0x44(sp)               |         v0 = *(arg_44h);
    0x0000dcf8 lw s1, 0x3c(sp)               |         s1 = *(arg_3ch);
                                             |         if (v0 != 0) {
    0x0000dcfc bnel v0, zero, 0xdd10         |             
    0x0000dd00 lw v0, 0x3c(sp)               |             v0 = *(arg_3ch);
    0x0000dd04 sltu v0, s1, v0               |             v0 = (s1 < v0) ? 1 : 0;
                                             |             if (v0 == 0) {
    0x0000dd08 beql v0, zero, 0xdd10         |                 goto label_39;
                                             |             }
    0x0000dd0c lw s1, 0x3c(sp)               |             s1 = *(arg_3ch);
                                             |         }
                                             | label_39:
    0x0000dd10 lw v0, 0x44(sp)               |         v0 = *(arg_44h);
                                             |     }
    0x0000dd14 sw s1, 0x4c(sp)               |     *(arg_4ch) = s1;
    0x0000dd18 lw s6, 0x5474(v0)             |     s6 = *((v0 + 5405));
    0x0000dd1c lw v0, 0x5c(sp)               |     v0 = *(arg_5ch);
    0x0000dd20 lw s2, 0x5470(v0)             |     s2 = *((v0 + 5404));
    0x0000dd24 lw v0, 0x44(sp)               |     v0 = *(arg_44h);
                                             |     if (s2 == 0) {
    0x0000dd28 beqz s2, 0xde20               |         goto label_40;
                                             |     }
                                             | label_1:
    0x0000dd2c lw v0, 0x5478(s7)             |     v0 = *((s7 + 5406));
    0x0000dd30 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
                                             |     if (v0 != 0) {
    0x0000dd34 bnez v0, 0xde1c               |         goto label_41;
                                             |     }
    0x0000dd38 lw s0, -0x7fdc(gp)            |     s0 = *((gp - 8183));
    0x0000dd3c lw s5, -0x7fdc(gp)            |     s5 = *((gp - 8183));
    0x0000dd40 lw s3, -0x7fdc(gp)            |     s3 = *((gp - 8183));
    0x0000dd44 lw s4, -0x7fdc(gp)            |     s4 = *((gp - 8183));
    0x0000dd48 lw s1, -0x7fdc(gp)            |     s1 = *((gp - 8183));
    0x0000dd4c sw v0, 0x38(sp)               |     *(arg_38h) = v0;
    0x0000dd50 b 0xdd80                      |     
                                             |     while (fp != v0) {
    0x0000dd54 sltu v0, fp, s2               |         v0 = (fp < s2) ? 1 : 0;
                                             |         if (fp < 0) {
    0x0000dd58 bltz fp, 0xe15c               |             goto label_42;
                                             |         }
    0x0000dd5c lw v0, 0x5424(s1)             |         v0 = *((s1 + 5385));
                                             |         if (v0 != 0) {
    0x0000dd60 beqz v0, 0xdd6c               |             
    0x0000dd64 lw t9, -0x7e30(gp)            |             t9 = sym.imp.snd_pcm_wait;
                                             |             if (v0 == 0) {
    0x0000dd68 beqz v0, 0xdddc               |                 goto label_43;
                                             |             }
                                             |         }
    0x0000dd6c lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
                                             |         if (fp > 0) {
    0x0000dd70 bgtz fp, 0xddf4               |             goto label_44;
                                             |         }
                                             | label_0:
    0x0000dd74 lw v0, 0x5478(s7)             |         v0 = *((s7 + 5406));
    0x0000dd78 lw v0, 0x44(sp)               |         v0 = *(arg_44h);
                                             |         if (v0 != 0) {
    0x0000dd7c bnez v0, 0xde20               |             goto label_40;
                                             |         }
    0x0000dd80 lw v0, 0x5428(s0)             |         v0 = *((s0 + 5386));
    0x0000dd84 lw t9, 0x2c(sp)               |         t9 = *(arg_2ch);
                                             |         if (v0 != 0) {
    0x0000dd88 bnez v0, 0xe138               |             goto label_45;
                                             |         }
    0x0000dd8c lw v0, 0x5450(s5)             |         v0 = *((s5 + 5396));
                                             | label_8:
    0x0000dd90 lw t9, 0x54c4(s4)             |         t9 = *((s4 + 5425));
                                             |         if (v0 != 0) {
    0x0000dd94 beqz v0, 0xdda8               |             
    0x0000dd98 lw t9, 0x30(sp)               |             t9 = *(arg_30h);
    0x0000dd9c jalr t9                       |             t9 ();
    0x0000dda0 nop                           |             
    0x0000dda4 lw t9, 0x54c4(s4)             |             t9 = *((s4 + 5425));
                                             |         }
    0x0000dda8 lw a0, 0x54b0(s3)             |         a0 = *((s3 + 5420));
    0x0000ddac move a2, s2                   |         a2 = s2;
    0x0000ddb0 move a1, s6                   |         a1 = s6;
    0x0000ddb4 jalr t9                       |         t9 ();
    0x0000ddb8 lw v1, 0x5428(s0)             |         v1 = *((s0 + 5386));
    0x0000ddbc lw gp, 0x20(sp)               |         gp = *(arg_20h);
    0x0000ddc0 move fp, v0                   |         fp = v0;
                                             |         if (v1 != 0) {
    0x0000ddc4 bnez v1, 0xe148               |             goto label_46;
                                             |         }
                                             | label_9:
    0x0000ddc8 addiu v0, zero, -0xb          |         v0 = -0xb;
    0x0000ddcc lw v0, 0x5424(s1)             |         v0 = *((s1 + 5385));
    0x0000ddd0 bne fp, v0, 0xdd54            |         
                                             |     }
    0x0000ddd4 lw t9, -0x7e30(gp)            |     t9 = sym.imp.snd_pcm_wait;
                                             |     if (v0 != 0) {
    0x0000ddd8 bnez v0, 0xdd74               |         goto label_0;
                                             |     }
                                             | label_43:
    0x0000dddc lw a0, 0x54b0(s3)             |     a0 = *((s3 + 5420));
    0x0000dde0 addiu a1, zero, 0x64          |     a1 = 0x64;
    0x0000dde4 jalr t9                       |     t9 ();
    0x0000dde8 lw gp, 0x20(sp)               |     gp = *(arg_20h);
                                             |     if (fp <= 0) {
    0x0000ddec blez fp, 0xdd74               |         goto label_0;
                                             |     }
    0x0000ddf0 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             | label_44:
    0x0000ddf4 lw v0, 0x5440(v0)             |     v0 = *((v0 + 5392));
    0x0000ddf8 lw v0, 0x78(sp)               |     v0 = *(arg_78h);
                                             |     if (v0 != 0) {
    0x0000ddfc bnez v0, 0xe22c               |         goto label_47;
                                             |     }
                                             | label_10:
    0x0000de00 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000de04 subu s2, s2, fp               |     __asm ("subu s2, s2, fp");
    0x0000de08 lw v0, 0x5430(v0)             |     v0 = *((v0 + 5388));
    0x0000de0c mul v1, fp, v0                |     __asm ("mul v1, fp, v0");
    0x0000de10 srl v1, v1, 3                 |     v1 >>= 3;
    0x0000de14 addu s6, s6, v1               |     s6 += v1;
                                             |     if (s2 != 0) {
    0x0000de18 bnez s2, 0xdd2c               |         goto label_1;
                                             |     }
                                             | label_41:
    0x0000de1c lw v0, 0x44(sp)               |     v0 = *(arg_44h);
                                             | label_40:
    0x0000de20 lw s1, 0x4c(sp)               |     s1 = *(arg_4ch);
    0x0000de24 move s3, zero                 |     s3 = 0;
    0x0000de28 lw s2, 0x5474(v0)             |     s2 = *((v0 + 5405));
    0x0000de2c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000de30 lw s0, 0x5020(v0)             |     s0 = *((v0 + 5128));
                                             |     if (s1 != 0) {
    0x0000de34 bnez s1, 0xde50               |         goto label_48;
                                             |     }
    0x0000de38 lw t0, 0x60(sp)               |     t0 = *(arg_60h);
    0x0000de3c b 0xde7c                      |     goto label_49;
                                             |     do {
    0x0000de40 addu s3, s3, v0               |         s3 += v0;
    0x0000de44 sltu v0, s3, s1               |         v0 = (s3 < s1) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x0000de48 beqz v0, 0xde70               |             goto label_50;
                                             |         }
    0x0000de4c nop                           |         
                                             | label_48:
    0x0000de50 lw t9, -0x7d50(gp)            |         t9 = sym.imp.write;
    0x0000de54 subu a2, s1, s3               |         __asm ("subu a2, s1, s3");
    0x0000de58 addu a1, s2, s3               |         a1 = s2 + s3;
    0x0000de5c move a0, s0                   |         a0 = s0;
    0x0000de60 jalr t9                       |         t9 ();
    0x0000de64 lw gp, 0x20(sp)               |         gp = *(arg_20h);
    0x0000de68 bgtz v0, 0xde40               |         
                                             |     } while (v0 > 0);
    0x0000de6c move s3, v0                   |     s3 = v0;
                                             | label_50:
    0x0000de70 lw t9, -0x7db0(gp)            |     t9 = sym.imp.perror;
                                             |     if (s1 != s3) {
    0x0000de74 bne s1, s3, 0xe2c4            |         goto label_51;
                                             |     }
    0x0000de78 lw t0, 0x60(sp)               |     t0 = *(arg_60h);
                                             | label_49:
    0x0000de7c lw a1, 0x3c(sp)               |     a1 = *(arg_3ch);
    0x0000de80 lw t1, 0x48(sp)               |     t1 = *(arg_48h);
    0x0000de84 lw v0, 0x5400(t0)             |     v0 = *((t0 + 5376));
    0x0000de88 lw a3, 0x5404(t0)             |     a3 = *((t0 + 5377));
    0x0000de8c addu v1, v0, s1               |     v1 = v0 + s1;
    0x0000de90 sltu v0, v1, v0               |     v0 = (v1 < v0) ? 1 : 0;
    0x0000de94 subu a0, a1, s1               |     __asm ("subu a0, a1, s1");
    0x0000de98 addu v0, v0, a3               |     v0 += a3;
    0x0000de9c lw a3, 0x34(sp)               |     a3 = *(arg_34h);
    0x0000dea0 sltu a2, a1, a0               |     a2 = (a1 < a0) ? 1 : 0;
    0x0000dea4 subu s1, t1, s1               |     __asm ("subu s1, t1, s1");
    0x0000dea8 subu a2, a3, a2               |     __asm ("subu a2, a3, a2");
    0x0000deac lw a3, 0x40(sp)               |     a3 = *(arg_40h);
    0x0000deb0 sltu a1, t1, s1               |     a1 = (t1 < s1) ? 1 : 0;
    0x0000deb4 subu a1, a3, a1               |     __asm ("subu a1, a3, a1");
    0x0000deb8 sw a2, 0x34(sp)               |     *(arg_34h) = a2;
    0x0000debc sw s1, 0x48(sp)               |     *(arg_48h) = s1;
    0x0000dec0 sw a1, 0x40(sp)               |     *(arg_40h) = a1;
    0x0000dec4 sw a0, 0x3c(sp)               |     *(arg_3ch) = a0;
    0x0000dec8 sw v1, 0x5400(t0)             |     *((t0 + 5376)) = v1;
    0x0000decc sw v0, 0x5404(t0)             |     *((t0 + 5377)) = v0;
                                             |     if (a2 <= 0) {
    0x0000ded0 blez a2, 0xe2ac               |         goto label_52;
                                             |     }
    0x0000ded4 lw v0, 0x54(sp)               |     v0 = *(arg_54h);
                                             | label_17:
    0x0000ded8 lw v0, 0x540c(v0)             |     v0 = *((v0 + 5379));
    0x0000dedc lw v0, 0x54(sp)               |     v0 = *(arg_54h);
                                             |     if (v0 != 0) {
    0x0000dee0 bnez v0, 0xdef4               |         goto label_16;
                                             |     }
    0x0000dee4 lw v0, 0x5478(s7)             |     v0 = *((s7 + 5406));
    0x0000dee8 lw v0, 0x58(sp)               |     v0 = *(arg_58h);
                                             |     if (v0 == 0) {
    0x0000deec beqz v0, 0xdce8               |         goto label_2;
                                             |     }
                                             | label_23:
    0x0000def0 lw v0, 0x54(sp)               |     v0 = *(arg_54h);
                                             | label_16:
    0x0000def4 lw v0, 0x540c(v0)             |     v0 = *((v0 + 5379));
    0x0000def8 lw v0, 0x54(sp)               |     v0 = *(arg_54h);
                                             |     if (v0 != 0) {
    0x0000defc bnez v0, 0xe270               |         goto label_53;
                                             |     }
                                             | label_13:
    0x0000df00 lw v0, 0x70(sp)               |     v0 = *(arg_70h);
    0x0000df04 lw v0, 0x6c(sp)               |     v0 = *(arg_6ch);
                                             |     if (v0 == 0) {
    0x0000df08 bnez v0, 0xdf5c               |         
    0x0000df0c lw s0, -0x7fdc(gp)            |         s0 = *((gp - 8183));
    0x0000df10 lw v1, 0x5034(v0)             |         v1 = *((v0 + 5133));
    0x0000df14 sll v0, v1, 1                 |         v0 = v1 << 1;
    0x0000df18 addu v0, v0, v1               |         v0 += v1;
    0x0000df1c lw v1, 0x68(sp)               |         v1 = *(arg_68h);
    0x0000df20 sll v0, v0, 3                 |         v0 <<= 3;
    0x0000df24 addu v0, v1, v0               |         v0 = v1 + v0;
    0x0000df28 lw t9, 4(v0)                  |         t9 = *((v0 + 1));
    0x0000df2c lw a0, 0x5020(s0)             |         a0 = *((s0 + 5128));
                                             |         if (t9 != 0) {
    0x0000df30 beqz t9, 0xdf44               |             
    0x0000df34 jalr t9                       |             t9 ();
    0x0000df38 nop                           |             
    0x0000df3c lw gp, 0x20(sp)               |             gp = *(arg_20h);
    0x0000df40 lw a0, 0x5020(s0)             |             a0 = *((s0 + 5128));
                                             |         }
    0x0000df44 lw t9, -0x7e68(gp)            |         t9 = sym.imp.close;
    0x0000df48 jalr t9                       |         t9 ();
    0x0000df4c nop                           |         
    0x0000df50 addiu v0, zero, -1            |         v0 = -1;
    0x0000df54 lw gp, 0x20(sp)               |         gp = *(arg_20h);
    0x0000df58 sw v0, 0x5020(s0)             |         *((s0 + 5128)) = v0;
                                             |     }
    0x0000df5c lw v0, 0x5478(s7)             |     v0 = *((s7 + 5406));
    0x0000df60 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
                                             |     if (v0 != 0) {
    0x0000df64 bnez v0, 0xe5c8               |         goto label_54;
                                             |     }
    0x0000df68 lw v0, 0x6c(sp)               |     v0 = *(arg_6ch);
    0x0000df6c lw a0, 0x5494(v1)             |     a0 = *((v1 + 5413));
    0x0000df70 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
    0x0000df74 lw v0, 0x5034(v0)             |     v0 = *((v0 + 5133));
    0x0000df78 lw v1, 0x5490(v1)             |     v1 = *((v1 + 5412));
    0x0000df7c or v0, v0, a0                 |     v0 |= a0;
    0x0000df80 or v0, v0, v1                 |     v0 |= v1;
                                             |     if (v0 == 0) {
    0x0000df84 beql v0, zero, 0xdb48         |         goto label_3;
                                             |     }
    0x0000df88 lw v1, 0x70(sp)               |     v1 = *(arg_70h);
    0x0000df8c lw v0, 0x40(sp)               |     v0 = *(arg_40h);
                                             |     if (v0 > 0) {
    0x0000df90 bgtzl v0, 0xdb48              |         goto label_3;
                                             |     }
    0x0000df94 lw v1, 0x70(sp)               |     v1 = *(arg_70h);
    0x0000df98 lw v0, 0x48(sp)               |     v0 = *(arg_48h);
                                             |     if (v0 != 0) {
    0x0000df9c bnez v0, 0xdfa8               |         goto label_55;
                                             |     }
    0x0000dfa0 lw v1, 0x70(sp)               |     v1 = *(arg_70h);
                                             |     if (v0 != 0) {
    0x0000dfa4 bnez v0, 0xdb48               |         goto label_3;
                                             |     }
                                             | label_55:
    0x0000dfa8 lw v0, 0x84(sp)               |     v0 = *(arg_84h);
    0x0000dfac lw v1, 0x213c(sp)             |     v1 = *(arg_213ch);
    0x0000dfb0 lw v0, (v0)                   |     v0 = *(v0);
    0x0000dfb4 lw ra, 0x2164(sp)             |     ra = *(arg_2164h);
                                             |     if (v1 != v0) {
    0x0000dfb8 bne v1, v0, 0xe618            |         goto label_56;
                                             |     }
    0x0000dfbc lw fp, 0x2160(sp)             |     fp = *(arg_2160h);
    0x0000dfc0 lw s7, 0x215c(sp)             |     s7 = *(arg_215ch);
    0x0000dfc4 lw s6, 0x2158(sp)             |     s6 = *(arg_2158h);
    0x0000dfc8 lw s5, 0x2154(sp)             |     s5 = *(arg_2154h);
    0x0000dfcc lw s4, 0x2150(sp)             |     s4 = *(arg_2150h);
    0x0000dfd0 lw s3, 0x214c(sp)             |     s3 = *(arg_214ch);
    0x0000dfd4 lw s2, 0x2148(sp)             |     s2 = *(arg_2148h);
    0x0000dfd8 lw s1, 0x2144(sp)             |     s1 = *(arg_2144h);
    0x0000dfdc lw s0, 0x2140(sp)             |     s0 = *(arg_2140h);
    0x0000dfe0 addiu sp, sp, 0x2168          |     
    0x0000dfe4 jr ra                         |     return v0;
                                             | label_28:
    0x0000dfe8 lw v0, -0x7ed8(gp)            |     v0 = *((gp - 8118));
    0x0000dfec lw t9, -0x7cc0(gp)            |     t9 = sym.imp.fileno;
    0x0000dff0 lw a0, (v0)                   |     a0 = *(v0);
    0x0000dff4 jalr t9                       |     t9 ();
    0x0000dff8 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000dffc lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
    0x0000e000 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x0000e004 lw a1, 0x5034(v1)             |     a1 = *((v1 + 5133));
    0x0000e008 addiu a0, a0, 0x4fa0          |     a0 += 0x4fa0;
    0x0000e00c sll v1, a1, 1                 |     v1 = a1 << 1;
    0x0000e010 addu v1, v1, a1               |     v1 += a1;
    0x0000e014 sll v1, v1, 3                 |     v1 <<= 3;
    0x0000e018 addu v1, v1, a0               |     v1 += a0;
    0x0000e01c lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x0000e020 lw a1, 0x40(sp)               |     a1 = *(arg_40h);
    0x0000e024 sw v0, 0x5020(a0)             |     *((a0 + 5128)) = v0;
    0x0000e028 lw v0, 0x14(v1)               |     v0 = *((v1 + 5));
    0x0000e02c slt a0, v0, a1                |     a0 = (v0 < a1) ? 1 : 0;
    0x0000e030 lw v1, 0x10(v1)               |     v1 = *((v1 + 4));
                                             |     if (a0 == 0) {
    0x0000e034 beqz a0, 0xe114               |         goto label_57;
                                             |     }
    0x0000e038 sw v1, 0x48(sp)               |     *(arg_48h) = v1;
    0x0000e03c sw v0, 0x40(sp)               |     *(arg_40h) = v0;
                                             | label_7:
    0x0000e040 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
                                             | label_6:
    0x0000e044 sw v0, 0x70(sp)               |         *(arg_70h) = v0;
    0x0000e048 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
                                             |         /* str.stdout */
    0x0000e04c addiu v0, v0, 0x32a4          |         v0 += 0x32a4;
    0x0000e050 sw v0, 0x74(sp)               |         *(arg_74h) = v0;
    0x0000e054 b 0xdb18                      |         goto label_4;
                                             | label_27:
    0x0000e058 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
    0x0000e05c move s1, v1                   |         s1 = v1;
    0x0000e060 addiu v1, v0, 0x54a4          |         v1 = v0 + 0x54a4;
    0x0000e064 sw v1, 0x78(sp)               |         *(arg_78h) = v1;
    0x0000e068 lw a1, 8(v1)                  |         a1 = *((v1 + 2));
    0x0000e06c lw v1, 4(v1)                  |         v1 = *((v1 + 1));
    0x0000e070 lw a0, 0x54a4(v0)             |         a0 = *((v0 + 5417));
    0x0000e074 mul a1, a1, v1                |         __asm ("mul a1, a1, v1");
    0x0000e078 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
    0x0000e07c lw s3, -0x7fdc(gp)            |         s3 = *((gp - 8183));
    0x0000e080 lw t9, -0x7d18(gp)            |         t9 = sym.imp.snd_pcm_format_size;
    0x0000e084 lw s2, 0x5414(v0)             |         s2 = *((v0 + 5381));
    0x0000e088 sw s3, 0x7c(sp)               |         *(arg_7ch) = s3;
    0x0000e08c jalr t9                       |         t9 ();
    0x0000e090 mult s2, v0                   |         __asm ("mult s2, v0");
    0x0000e094 mflo v0                       |         __asm ("mflo v0");
    0x0000e098 mfhi v1                       |         __asm ("mfhi v1");
    0x0000e09c addiu a0, zero, -1            |         a0 = -1;
    0x0000e0a0 lw gp, 0x20(sp)               |         gp = *(arg_20h);
    0x0000e0a4 sw v0, 0x5418(s3)             |         *((s3 + 5382)) = v0;
    0x0000e0a8 sw v1, 0x541c(s3)             |         *((s3 + 5383)) = v1;
                                             |         if (s0 == a0) {
    0x0000e0ac beq s0, a0, 0xe624            |             goto label_58;
                                             |         }
    0x0000e0b0 lui a0, 0x8000                |         a0 = 0x80000000;
                                             | label_26:
    0x0000e0b4 and a0, s1, a0                |         a0 = s1 & a0;
    0x0000e0b8 andi v0, s0, 1                |         v0 = s0 & 1;
                                             |         if (a0 >= 0) {
    0x0000e0bc bltz a0, 0xe0dc               |             
    0x0000e0c0 addu s0, v0, s0               |             s0 = v0 + s0;
    0x0000e0c4 sltu v0, s0, v0               |             v0 = (s0 < v0) ? 1 : 0;
    0x0000e0c8 addu a0, a0, s1               |             a0 += s1;
    0x0000e0cc addu v0, v0, a0               |             v0 += a0;
    0x0000e0d0 sw s0, 0x48(sp)               |             *(arg_48h) = s0;
    0x0000e0d4 sw v0, 0x40(sp)               |             *(arg_40h) = v0;
    0x0000e0d8 b 0xdaac                      |             goto label_5;
                                             |         }
    0x0000e0dc addiu v1, zero, -2            |         v1 = -2;
    0x0000e0e0 addiu v0, v0, -1              |         v0 += -1;
    0x0000e0e4 or v0, v0, v1                 |         v0 |= v1;
    0x0000e0e8 addiu v1, v0, 1               |         v1 = v0 + 1;
    0x0000e0ec sltu a0, v1, v0               |         a0 = (v1 < v0) ? 1 : 0;
    0x0000e0f0 move v0, v1                   |         v0 = v1;
    0x0000e0f4 addu s0, v0, s0               |         s0 = v0 + s0;
    0x0000e0f8 addiu a0, a0, -1              |         a0 += -1;
    0x0000e0fc sltu v0, s0, v0               |         v0 = (s0 < v0) ? 1 : 0;
    0x0000e100 addu a0, a0, s1               |         a0 += s1;
    0x0000e104 addu v0, v0, a0               |         v0 += a0;
    0x0000e108 sw s0, 0x48(sp)               |         *(arg_48h) = s0;
    0x0000e10c sw v0, 0x40(sp)               |         *(arg_40h) = v0;
    0x0000e110 b 0xdaac                      |         goto label_5;
                                             | label_57:
    0x0000e114 addiu v0, zero, 1             |         v0 = 1;
    0x0000e118 bnel a1, v0, 0xe044           |         
                                             |     } while (a1 == v0);
    0x0000e11c lw a0, 0x48(sp)               |     a0 = *(arg_48h);
    0x0000e120 sltu a0, v1, a0               |     a0 = (v1 < a0) ? 1 : 0;
                                             |     if (a0 == 0) {
    0x0000e124 beql a0, zero, 0xe044         |         goto label_6;
                                             |     }
    0x0000e128 addiu v0, zero, 1             |     v0 = 1;
    0x0000e12c sw v1, 0x48(sp)               |     *(arg_48h) = v1;
    0x0000e130 sw v0, 0x40(sp)               |     *(arg_40h) = v0;
    0x0000e134 b 0xe040                      |     goto label_7;
                                             | label_45:
    0x0000e138 jalr t9                       |     t9 ();
    0x0000e13c nop                           |     
    0x0000e140 lw v0, 0x5450(s5)             |     v0 = *((s5 + 5396));
    0x0000e144 b 0xdd90                      |     goto label_8;
                                             | label_46:
    0x0000e148 lw t9, 0x2c(sp)               |     t9 = *(arg_2ch);
    0x0000e14c jalr t9                       |     t9 ();
    0x0000e150 nop                           |     
    0x0000e154 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e158 b 0xddc8                      |     goto label_9;
                                             | label_42:
    0x0000e15c addiu v0, zero, -0x20         |     v0 = -0x20;
    0x0000e160 addiu v0, zero, -0x5c         |     v0 = -0x5c;
                                             |     if (fp != v0) {
    0x0000e164 beq fp, v0, 0xe200            |         
    0x0000e168 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
                                             |         if (fp == v0) {
    0x0000e16c beq fp, v0, 0xe218            |             goto label_59;
                                             |         }
    0x0000e170 lw s0, -0x7e24(gp)            |         s0 = *((gp - 8073));
    0x0000e174 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x0000e178 lw a3, 0x54b4(v0)             |         a3 = *((v0 + 5421));
    0x0000e17c addiu v0, zero, 0x865         |         v0 = 0x865;
    0x0000e180 lw a0, (s0)                   |         a0 = *(s0);
    0x0000e184 sw v0, 0x14(sp)               |         *(arg_14h) = v0;
    0x0000e188 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x0000e18c lw t9, -0x7d04(gp)            |         t9 = sym.imp.__fprintf_chk
                                             |         /* str.pcm_read */
    0x0000e190 addiu v0, v0, 0x41b0          |         v0 += 0x41b0;
                                             |         /* str._s:__s:_d:_ */
    0x0000e194 addiu a2, a2, 0x2b6c          |         a2 += 0x2b6c;
    0x0000e198 addiu a1, zero, 1             |         a1 = 1;
    0x0000e19c sw v0, 0x10(sp)               |         *(arg_10h) = v0;
    0x0000e1a0 jalr t9                       |         t9 ();
    0x0000e1a4 lw gp, 0x20(sp)               |         gp = *(arg_20h);
    0x0000e1a8 move a0, fp                   |         a0 = fp;
    0x0000e1ac lw t9, -0x7e3c(gp)            |         t9 = sym.imp.snd_strerror;
    0x0000e1b0 lw s1, (s0)                   |         s1 = *(s0);
    0x0000e1b4 jalr t9                       |         t9 ();
    0x0000e1b8 lw gp, 0x20(sp)               |         gp = *(arg_20h);
    0x0000e1bc move a3, v0                   |         a3 = v0;
    0x0000e1c0 addiu a1, zero, 1             |         a1 = 1;
    0x0000e1c4 lw a2, -0x7fd8(gp)            |         a2 = *(gp);
    0x0000e1c8 lw t9, -0x7d04(gp)            |         t9 = sym.imp.__fprintf_chk
                                             |         /* str.read_error:__s */
    0x0000e1cc addiu a2, a2, 0x38b4          |         a2 += 0x38b4;
    0x0000e1d0 move a0, s1                   |         a0 = s1;
    0x0000e1d4 jalr t9                       |         t9 ();
    0x0000e1d8 lw gp, 0x20(sp)               |         gp = *(arg_20h);
    0x0000e1dc lw a1, (s0)                   |         a1 = *(s0);
    0x0000e1e0 lw t9, -0x7f18(gp)            |         t9 = sym.imp._IO_putc;
    0x0000e1e4 addiu a0, zero, 0xa           |         a0 = 0xa;
    0x0000e1e8 jalr t9                       |         t9 ();
    0x0000e1ec lw gp, 0x20(sp)               |         gp = *(arg_20h);
                                             | label_25:
    0x0000e1f0 lw t9, -0x7fd4(gp)            |         t9 = *((gp - 8181));
    0x0000e1f4 addiu t9, t9, 0x59bc          |         t9 += fcn.000059bc;
    0x0000e1f8 addiu a0, zero, 1             |         a0 = 1;
    0x0000e1fc bal 0x59bc                    |         fcn_000059bc ();
                                             |     }
    0x0000e200 lw v0, 0x38(sp)               |     v0 = *(arg_38h);
    0x0000e204 addiu t9, v0, 0x7c44          |     t9 = v0 + fcn.00007c44;
    0x0000e208 bal 0x7c44                    |     fcn_00007c44 ();
    0x0000e20c nop                           |     
    0x0000e210 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e214 b 0xdd74                      |     goto label_0;
                                             | label_59:
    0x0000e218 lw t9, 0x50(sp)               |     t9 = *(arg_50h);
    0x0000e21c jalr t9                       |     t9 ();
    0x0000e220 nop                           |     
    0x0000e224 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e228 b 0xdd74                      |     goto label_0;
                                             | label_47:
    0x0000e22c lw t9, -0x7fd8(gp)            |     t9 = *(gp);
    0x0000e230 move a0, s6                   |     a0 = s6;
    0x0000e234 lw a1, 4(v0)                  |     a1 = *((v0 + 1));
    0x0000e238 addiu t9, t9, -0x7290         |     t9 += -0x7290;
    0x0000e23c mul a1, fp, a1                |     __asm ("mul a1, fp, a1");
    0x0000e240 bal 0x8d70                    |     fcn_00008d70 ();
    0x0000e244 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e248 b 0xde00                      |     goto label_10;
                                             | label_35:
    0x0000e24c lw a0, 0x48(sp)               |     a0 = *(arg_48h);
    0x0000e250 sltu v1, a0, v1               |     v1 = (a0 < v1) ? 1 : 0;
    0x0000e254 lw v1, 0x7c(sp)               |     v1 = *(arg_7ch);
                                             |     if (v1 == 0) {
    0x0000e258 beqz v1, 0xdc28               |         goto label_11;
                                             |     }
    0x0000e25c lw v1, 0x48(sp)               |     v1 = *(arg_48h);
                                             | label_34:
    0x0000e260 sw v1, 0x3c(sp)               |     *(arg_3ch) = v1;
    0x0000e264 lw v1, 0x40(sp)               |     v1 = *(arg_40h);
    0x0000e268 sw v1, 0x34(sp)               |     *(arg_34h) = v1;
    0x0000e26c b 0xdc24                      |     goto label_12;
                                             | label_53:
    0x0000e270 lw a1, -0x7fd4(gp)            |     a1 = *((gp - 8181));
    0x0000e274 lw t9, -0x7d0c(gp)            |     t9 = sym.imp.signal;
    0x0000e278 addiu a1, a1, 0x4260          |     a1 += 0x4260;
    0x0000e27c addiu a0, zero, 0x10          |     a0 = 0x10;
    0x0000e280 sw zero, 0x540c(v0)           |     *((v0 + 5379)) = 0;
    0x0000e284 jalr t9                       |     t9 ();
    0x0000e288 nop                           |     
    0x0000e28c lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e290 b 0xdf00                      |     goto label_13;
                                             | label_37:
    0x0000e294 sltu a1, a0, a1               |     a1 = (a0 < a1) ? 1 : 0;
                                             |     if (a1 == 0) {
    0x0000e298 beql a1, zero, 0xdc58         |         goto label_14;
                                             |     }
    0x0000e29c addu t9, v0, t9               |     t9 = v0 + t9;
    0x0000e2a0 sw a0, 0x3c(sp)               |     *(arg_3ch) = a0;
                                             | label_36:
    0x0000e2a4 sw v1, 0x34(sp)               |     *(arg_34h) = v1;
    0x0000e2a8 b 0xdc54                      |     goto label_15;
                                             | label_52:
    0x0000e2ac lw v0, 0x54(sp)               |     v0 = *(arg_54h);
                                             |     if (a2 != 0) {
    0x0000e2b0 bnez a2, 0xdef4               |         goto label_16;
                                             |     }
                                             |     if (a0 != 0) {
    0x0000e2b4 bnez a0, 0xded8               |         goto label_17;
                                             |     }
    0x0000e2b8 nop                           |     
    0x0000e2bc b 0xdef4                      |     goto label_16;
    0x0000e2c0 nop                           |     
                                             | label_51:
    0x0000e2c4 lw a0, 0x74(sp)               |     a0 = *(arg_74h);
    0x0000e2c8 jalr t9                       |     t9 ();
    0x0000e2cc addiu v0, zero, 1             |     v0 = 1;
    0x0000e2d0 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e2d4 sw v0, 0x5478(s7)             |     *((s7 + 5406)) = v0;
    0x0000e2d8 lw v0, 0x54(sp)               |     v0 = *(arg_54h);
    0x0000e2dc b 0xdef4                      |     goto label_16;
                                             | label_32:
    0x0000e2e0 lw t9, -0x7cc8(gp)            |     t9 = sym.imp.__errno_location;
    0x0000e2e4 jalr t9                       |     t9 ();
    0x0000e2e8 nop                           |     
    0x0000e2ec lw v1, (v0)                   |     v1 = *(v0);
    0x0000e2f0 addiu v0, zero, 2             |     v0 = 2;
    0x0000e2f4 lw gp, 0x20(sp)               |     gp = *(arg_20h);
                                             |     if (v1 != v0) {
    0x0000e2f8 bne v1, v0, 0xe5a8            |         goto label_60;
                                             |     }
    0x0000e2fc lw v0, 0x5410(s0)             |     v0 = *((s0 + 5380));
    0x0000e300 lw t9, -0x7f98(gp)            |     t9 = sym.create_path;
                                             |     if (v0 == 0) {
    0x0000e304 beqz v0, 0xe5a8               |         goto label_60;
                                             |     }
    0x0000e308 lw s0, 0x74(sp)               |     s0 = *(arg_74h);
    0x0000e30c move a0, s0                   |     a0 = s0;
    0x0000e310 bal 0xd84c                    |     sym_create_path ();
    0x0000e314 lw gp, 0x20(sp)               |     gp = *(arg_20h);
                                             |     if (v0 != 0) {
    0x0000e318 bnez v0, 0xe5a8               |         goto label_60;
                                             |     }
    0x0000e31c lw t9, -0x7f10(gp)            |     t9 = sym.imp.open64;
    0x0000e320 addiu a2, zero, 0x1a4         |     a2 = segment.NOTE;
    0x0000e324 addiu a1, zero, 0x101         |     a1 = 0x101;
    0x0000e328 move a0, s0                   |     a0 = s0;
    0x0000e32c jalr t9                       |     t9 ();
    0x0000e330 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e334 b 0xdbbc                      |     goto label_18;
                                             |     do {
    0x0000e338 lw t9, -0x7e7c(gp)            |         t9 = sym.imp.time;
                                             | label_30:
    0x0000e33c move a0, zero                 |         a0 = 0;
    0x0000e340 jalr t9                       |         t9 ();
    0x0000e344 lw gp, 0x20(sp)               |         gp = *(arg_20h);
    0x0000e348 addiu a0, sp, 0x8c            |         a0 = sp + 0x8c;
    0x0000e34c lw t9, -0x7d28(gp)            |         t9 = sym.imp.localtime;
    0x0000e350 sw v0, 0x8c(sp)               |         *(arg_8ch) = v0;
    0x0000e354 jalr t9                       |         t9 ();
    0x0000e358 lw gp, 0x20(sp)               |         gp = *(arg_20h);
                                             |         if (v0 == 0) {
    0x0000e35c beqz v0, 0xe5d8               |             goto label_61;
                                             |         }
    0x0000e360 lw v1, 0x64(sp)               |         v1 = *(arg_64h);
    0x0000e364 lw t9, -0x7f94(gp)            |         t9 = sym.mystrftime;
    0x0000e368 addiu v1, v1, 1               |         v1++;
    0x0000e36c addiu s2, sp, 0x134           |         s2 = sp + 0x134;
    0x0000e370 lw a2, 0x80(sp)               |         a2 = *(arg_80h);
    0x0000e374 sw v1, 0x10(sp)               |         *(arg_10h) = v1;
    0x0000e378 move a3, v0                   |         a3 = v0;
    0x0000e37c addiu a1, zero, 0x1001        |         a1 = 0x1001;
    0x0000e380 move a0, s2                   |         a0 = s2;
    0x0000e384 bal 0xd654                    |         sym_mystrftime ();
    0x0000e388 lw gp, 0x20(sp)               |         gp = *(arg_20h);
                                             |         if (v0 == 0) {
    0x0000e38c beqz v0, 0xe5f0               |             goto label_62;
                                             |         }
    0x0000e390 sw s2, 0x74(sp)               |         *(arg_74h) = s2;
    0x0000e394 b 0xdb6c                      |         goto label_19;
                                             | label_29:
    0x0000e398 addiu s1, sp, 0x1138          |         s1 = sp + 0x1138;
    0x0000e39c bnez v0, 0xe338               |         
                                             |     } while (v0 != 0);
    0x0000e3a0 lw t9, -0x7d44(gp)            |     t9 = sym.imp.strncpy;
    0x0000e3a4 lw a1, 0x80(sp)               |     a1 = *(arg_80h);
    0x0000e3a8 addiu a2, zero, 0x1001        |     a2 = 0x1001;
    0x0000e3ac move a0, s1                   |     a0 = s1;
    0x0000e3b0 jalr t9                       |     t9 ();
    0x0000e3b4 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e3b8 lw t9, -0x7e2c(gp)            |     t9 = sym.imp.strlen;
    0x0000e3bc move a0, s1                   |     a0 = s1;
    0x0000e3c0 jalr t9                       |     t9 ();
    0x0000e3c4 addu s3, s1, v0               |     s3 = s1 + v0;
    0x0000e3c8 sltu v0, s1, s3               |     v0 = (s1 < s3) ? 1 : 0;
    0x0000e3cc lw gp, 0x20(sp)               |     gp = *(arg_20h);
                                             |     if (v0 == 0) {
    0x0000e3d0 beqz v0, 0xe468               |         goto label_63;
                                             |     }
    0x0000e3d4 move v1, s3                   |     v1 = s3;
    0x0000e3d8 addiu a2, zero, 0x2e          |     a2 = 0x2e;
    0x0000e3dc addiu a1, zero, 0x2f          |     a1 = 0x2f;
    0x0000e3e0 b 0xe3f4                      |     
                                             |     while (a0 != s1) {
                                             |         if (v0 == a2) {
    0x0000e3e4 beql v0, a2, 0xe4c0           |             goto label_64;
                                             |         }
    0x0000e3e8 sb zero, (a0)                 |         *(a0) = 0;
    0x0000e3ec move v1, a0                   |         v1 = a0;
                                             |         if (v0 == a1) {
    0x0000e3f0 beq v0, a1, 0xe468            |             goto label_63;
                                             |         }
    0x0000e3f4 addiu a0, v1, -1              |         a0 = v1 + -1;
    0x0000e3f8 lb v0, -1(v1)                 |         v0 = *((v1 - 1));
    0x0000e3fc bne a0, s1, 0xe3e4            |         
                                             |     }
    0x0000e400 addiu v1, zero, 0x2e          |     v1 = 0x2e;
    0x0000e404 addiu v1, zero, 0x2f          |     v1 = 0x2f;
                                             |     if (v0 == v1) {
    0x0000e408 beq v0, v1, 0xe4b8            |         goto label_65;
                                             |     }
    0x0000e40c lw a0, 0x64(sp)               |     a0 = *(arg_64h);
                                             |     if (v0 == v1) {
    0x0000e410 beq v0, v1, 0xe468            |         goto label_63;
                                             |     }
    0x0000e414 addiu v1, zero, 1             |     v1 = 1;
    0x0000e418 move s3, s1                   |     s3 = s1;
                                             |     if (a0 == v1) {
    0x0000e41c beq a0, v1, 0xe4d8            |         goto label_66;
                                             |     }
    0x0000e420 addiu s2, sp, 0x134           |     s2 = sp + 0x134;
                                             |     do {
                                             | label_20:
    0x0000e424 lw v0, 0x64(sp)               |         v0 = *(arg_64h);
                                             |         if (v0 != 0) {
    0x0000e428 beqz v0, 0xe480               |             
    0x0000e42c lw t9, -0x7f14(gp)            |             t9 = sym.imp.__snprintf_chk;
    0x0000e430 sw v0, 0x18(sp)               |             *(arg_18h) = v0;
    0x0000e434 lw v0, -0x7fd8(gp)            |             v0 = *(gp);
    0x0000e438 sw s3, 0x1c(sp)               |             *(arg_1ch) = s3;
                                             |             /* str._s__02i._s */
    0x0000e43c addiu v0, v0, 0x38a0          |             v0 += 0x38a0;
    0x0000e440 sw s1, 0x14(sp)               |             *(arg_14h) = s1;
    0x0000e444 sw v0, 0x10(sp)               |             *(arg_10h) = v0;
    0x0000e448 addiu a3, zero, 0x1001        |             a3 = 0x1001;
    0x0000e44c addiu a2, zero, 1             |             a2 = 1;
    0x0000e450 addiu a1, zero, 0x1001        |             a1 = 0x1001;
    0x0000e454 move a0, s2                   |             a0 = s2;
    0x0000e458 jalr t9                       |             t9 ();
    0x0000e45c lw gp, 0x20(sp)               |             gp = *(arg_20h);
    0x0000e460 sw s2, 0x74(sp)               |             *(arg_74h) = s2;
    0x0000e464 b 0xdb6c                      |             goto label_19;
                                             | label_63:
    0x0000e468 lw v1, 0x64(sp)               |             v1 = *(arg_64h);
    0x0000e46c addiu v0, zero, 1             |             v0 = 1;
    0x0000e470 lw v0, -0x7fd8(gp)            |             v0 = *(gp);
                                             |             if (v1 == v0) {
    0x0000e474 beq v1, v0, 0xe578            |                 goto label_67;
                                             |             }
    0x0000e478 addiu s2, sp, 0x134           |             s2 = sp + 0x134;
    0x0000e47c lw v0, 0x64(sp)               |             v0 = *(arg_64h);
                                             |         }
    0x0000e480 lw t9, -0x7f14(gp)            |         t9 = sym.imp.__snprintf_chk;
    0x0000e484 sw v0, 0x18(sp)               |         *(arg_18h) = v0;
    0x0000e488 lw v0, -0x7fd8(gp)            |         v0 = *(gp);
    0x0000e48c sw s1, 0x14(sp)               |         *(arg_14h) = s1;
                                             |         /* str._s__02i */
    0x0000e490 addiu v0, v0, 0x38ac          |         v0 += 0x38ac;
    0x0000e494 sw v0, 0x10(sp)               |         *(arg_10h) = v0;
    0x0000e498 addiu a3, zero, 0x1001        |         a3 = 0x1001;
    0x0000e49c addiu a2, zero, 1             |         a2 = 1;
    0x0000e4a0 addiu a1, zero, 0x1001        |         a1 = 0x1001;
    0x0000e4a4 move a0, s2                   |         a0 = s2;
    0x0000e4a8 jalr t9                       |         t9 ();
    0x0000e4ac lw gp, 0x20(sp)               |         gp = *(arg_20h);
    0x0000e4b0 sw s2, 0x74(sp)               |         *(arg_74h) = s2;
    0x0000e4b4 b 0xdb6c                      |         goto label_19;
                                             | label_65:
    0x0000e4b8 addiu v1, sp, 0x1139          |         v1 = sp + 0x1139;
    0x0000e4bc sb zero, (a0)                 |         *(a0) = 0;
                                             | label_64:
    0x0000e4c0 lb v0, 1(a0)                  |         v0 = *((a0 + 1));
    0x0000e4c4 lw a0, 0x64(sp)               |         a0 = *(arg_64h);
    0x0000e4c8 move s3, v1                   |         s3 = v1;
    0x0000e4cc addiu v1, zero, 1             |         v1 = 1;
    0x0000e4d0 addiu s2, sp, 0x134           |         s2 = sp + 0x134;
    0x0000e4d4 bne a0, v1, 0xe424            |         
                                             |     } while (a0 != v1);
                                             | label_66:
    0x0000e4d8 lw t9, -0x7f14(gp)            |     t9 = sym.imp.__snprintf_chk;
                                             |     if (v0 == 0) {
    0x0000e4dc beqz v0, 0xe574               |         goto label_68;
                                             |     }
    0x0000e4e0 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
                                             |     /* str._s_01._s */
    0x0000e4e4 addiu v0, v0, 0x388c          |     v0 += 0x388c;
    0x0000e4e8 addiu s2, sp, 0x134           |     s2 = sp + 0x134;
    0x0000e4ec sw s3, 0x18(sp)               |     *(arg_18h) = s3;
    0x0000e4f0 sw s1, 0x14(sp)               |     *(arg_14h) = s1;
    0x0000e4f4 sw v0, 0x10(sp)               |     *(arg_10h) = v0;
    0x0000e4f8 addiu a3, zero, 0x1001        |     a3 = 0x1001;
    0x0000e4fc addiu a2, zero, 1             |     a2 = 1;
    0x0000e500 addiu a1, zero, 0x1001        |     a1 = 0x1001;
    0x0000e504 move a0, s2                   |     a0 = s2;
    0x0000e508 jalr t9                       |     t9 ();
    0x0000e50c lw gp, 0x20(sp)               |     gp = *(arg_20h);
                                             | label_24:
    0x0000e510 lw t9, -0x7e80(gp)            |     t9 = sym.imp.remove;
    0x0000e514 move a0, s2                   |     a0 = s2;
    0x0000e518 jalr t9                       |     t9 ();
    0x0000e51c lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e520 lw a0, 0x80(sp)               |     a0 = *(arg_80h);
    0x0000e524 lw t9, -0x7d5c(gp)            |     t9 = sym.imp.rename;
    0x0000e528 move a1, s2                   |     a1 = s2;
    0x0000e52c jalr t9                       |     t9 ();
    0x0000e530 addiu v1, zero, 2             |     v1 = 2;
    0x0000e534 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e538 lb v0, (s3)                   |     v0 = *(s3);
    0x0000e53c sw v1, 0x64(sp)               |     *(arg_64h) = v1;
    0x0000e540 b 0xe424                      |     goto label_20;
                                             | label_31:
    0x0000e544 lw a0, 0x74(sp)               |     a0 = *(arg_74h);
    0x0000e548 jalr t9                       |     t9 ();
    0x0000e54c lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e550 b 0xdb9c                      |     goto label_21;
                                             | label_38:
    0x0000e554 lw v0, 0x3c(sp)               |     v0 = *(arg_3ch);
                                             |     if (v0 != 0) {
    0x0000e558 bnez v0, 0xe564               |         goto label_69;
                                             |     }
    0x0000e55c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (v0 != 0) {
    0x0000e560 bnez v0, 0xdca4               |         goto label_22;
                                             |     }
                                             | label_69:
    0x0000e564 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000e568 lw s7, -0x7fdc(gp)            |     s7 = *((gp - 8183));
    0x0000e56c sw v0, 0x54(sp)               |     *(arg_54h) = v0;
    0x0000e570 b 0xdef0                      |     goto label_23;
                                             | label_68:
    0x0000e574 lw v0, -0x7fd8(gp)            |     v0 = *(gp);
                                             | label_67:
    0x0000e578 lw t9, -0x7f14(gp)            |     t9 = sym.imp.__snprintf_chk;
                                             |     /* str._s_01 */
    0x0000e57c addiu v0, v0, 0x3898          |     v0 += 0x3898;
    0x0000e580 addiu s2, sp, 0x134           |     s2 = sp + 0x134;
    0x0000e584 sw s1, 0x14(sp)               |     *(arg_14h) = s1;
    0x0000e588 sw v0, 0x10(sp)               |     *(arg_10h) = v0;
    0x0000e58c addiu a3, zero, 0x1001        |     a3 = 0x1001;
    0x0000e590 addiu a2, zero, 1             |     a2 = 1;
    0x0000e594 addiu a1, zero, 0x1001        |     a1 = 0x1001;
    0x0000e598 move a0, s2                   |     a0 = s2;
    0x0000e59c jalr t9                       |     t9 ();
    0x0000e5a0 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e5a4 b 0xe510                      |     goto label_24;
                                             | label_60:
    0x0000e5a8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000e5ac addiu v1, zero, -1            |     v1 = -1;
    0x0000e5b0 sw v1, 0x5020(v0)             |     *((v0 + 5128)) = v1;
                                             | label_33:
    0x0000e5b4 lw t9, -0x7db0(gp)            |     t9 = sym.imp.perror;
    0x0000e5b8 lw a0, 0x74(sp)               |     a0 = *(arg_74h);
    0x0000e5bc jalr t9                       |     t9 ();
    0x0000e5c0 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e5c4 b 0xe1f0                      |     goto label_25;
                                             | label_54:
    0x0000e5c8 lw t9, -0x7fd4(gp)            |     t9 = *((gp - 8181));
    0x0000e5cc addiu t9, t9, 0x59bc          |     t9 += fcn.000059bc;
    0x0000e5d0 addiu a0, zero, 1             |     a0 = 1;
    0x0000e5d4 bal 0x59bc                    |     fcn_000059bc ();
                                             | label_61:
    0x0000e5d8 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x0000e5dc lw t9, -0x7db0(gp)            |     t9 = sym.imp.perror;
                                             |     /* str.localtime */
    0x0000e5e0 addiu a0, a0, 0x3868          |     a0 += 0x3868;
    0x0000e5e4 jalr t9                       |     t9 ();
    0x0000e5e8 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e5ec b 0xe1f0                      |     goto label_25;
                                             | label_62:
    0x0000e5f0 lw v0, -0x7e24(gp)            |     v0 = *((gp - 8073));
    0x0000e5f4 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x0000e5f8 lw t9, -0x7e6c(gp)            |     t9 = sym.imp.fwrite;
    0x0000e5fc lw a3, (v0)                   |     a3 = *(v0);
                                             |     /* str.mystrftime_returned_0 */
    0x0000e600 addiu a0, a0, 0x3874          |     a0 += 0x3874;
    0x0000e604 addiu a2, zero, 0x15          |     a2 = 0x15;
    0x0000e608 addiu a1, zero, 1             |     a1 = 1;
    0x0000e60c jalr t9                       |     t9 ();
    0x0000e610 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0000e614 b 0xe1f0                      |     goto label_25;
                                             | label_56:
    0x0000e618 lw t9, -0x7e98(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000e61c jalr t9                       |     t9 ();
    0x0000e620 nop                           |     
                                             | label_58:
    0x0000e624 lui v0, 0x7fff                |     v0 = 0x7fffffff;
    0x0000e628 ori v0, v0, 0xffff            |     
    0x0000e62c lui a0, 0x8000                |     a0 = 0x80000000;
                                             |     if (s1 != v0) {
    0x0000e630 bne s1, v0, 0xe0b4            |         goto label_26;
                                             |     }
    0x0000e634 addiu v0, zero, -2            |     v0 = -2;
    0x0000e638 sw v0, 0x48(sp)               |     *(arg_48h) = v0;
    0x0000e63c sw s1, 0x40(sp)               |     *(arg_40h) = s1;
    0x0000e640 b 0xdaac                      |     goto label_5;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0x2860 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) main ()                      | int32_t main () {
                                         |     /* [13] -r-x section size 61072 named .text */
    0x00002860 lui gp, 3                 |     
    0x00002864 addiu gp, gp, -0x5820     |     
    0x00002868 addu gp, gp, t9           |     gp += t9;
    0x0000286c addiu sp, sp, -0xa8       |     
    0x00002870 lw v0, -0x7e4c(gp)        |     v0 = *((gp - 8083));
    0x00002874 sw fp, 0xa0(sp)           |     *(var_a0h) = fp;
    0x00002878 move fp, sp               |     fp = sp;
    0x0000287c lw t9, -0x7e94(gp)        |     t9 = sym.imp.snd_pcm_info_sizeof;
    0x00002880 sw v0, 0x64(fp)           |     *(arg_64h) = v0;
    0x00002884 lw v0, (v0)               |     v0 = *(v0);
    0x00002888 sw ra, 0xa4(sp)           |     *(var_a4h) = ra;
    0x0000288c sw s3, 0x8c(sp)           |     *(var_8ch) = s3;
    0x00002890 sw s2, 0x88(sp)           |     *(var_88h) = s2;
    0x00002894 sw s1, 0x84(sp)           |     *(var_84h) = s1;
    0x00002898 sw s0, 0x80(sp)           |     *(var_80h) = s0;
    0x0000289c sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x000028a0 sw s7, 0x9c(sp)           |     *(var_9ch) = s7;
    0x000028a4 sw s6, 0x98(sp)           |     *(var_98h) = s6;
    0x000028a8 sw s5, 0x94(sp)           |     *(var_94h) = s5;
    0x000028ac sw s4, 0x90(sp)           |     *(var_90h) = s4;
    0x000028b0 sw v0, 0x7c(fp)           |     *(arg_7ch) = v0;
    0x000028b4 move s2, a0               |     s2 = a0;
    0x000028b8 move s1, a1               |     s1 = a1;
    0x000028bc jalr t9                   |     t9 ();
    0x000028c0 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000028c4 addiu v0, v0, 7           |     v0 += 7;
    0x000028c8 srl v0, v0, 3             |     v0 >>= 3;
    0x000028cc lw s0, -0x7e24(gp)        |     s0 = *((gp - 8073));
    0x000028d0 sll v0, v0, 3             |     v0 <<= 3;
    0x000028d4 lw t9, -0x7e94(gp)        |     t9 = sym.imp.snd_pcm_info_sizeof;
    0x000028d8 subu sp, sp, v0           |     
    0x000028dc sw s0, 0x58(fp)           |     *(arg_58h) = s0;
    0x000028e0 jalr t9                   |     t9 ();
    0x000028e4 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000028e8 addiu v1, sp, 0x18        |     v1 = sp + 0x18;
    0x000028ec move a0, v1               |     a0 = v1;
    0x000028f0 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x000028f4 lw t9, -0x7d60(gp)        |     t9 = sym.imp.memset;
    0x000028f8 sw v1, 0x3c(fp)           |     *(arg_3ch) = v1;
    0x000028fc move a2, v0               |     a2 = v0;
    0x00002900 move a1, zero             |     a1 = 0;
    0x00002904 sw s3, 0x2c(fp)           |     *(arg_2ch) = s3;
    0x00002908 jalr t9                   |     t9 ();
    0x0000290c lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00002910 lw a1, (s0)               |     a1 = *(s0);
    0x00002914 move a2, zero             |     a2 = 0;
    0x00002918 lw t9, -0x7f34(gp)        |     t9 = sym.imp.snd_output_stdio_attach;
    0x0000291c addiu a0, s3, 0x5420      |     a0 = s3 + 0x5420;
    0x00002920 jalr t9                   |     t9 ();
    0x00002924 sw v0, 0x78(fp)           |     *(arg_78h) = v0;
    0x00002928 lw gp, 0x18(fp)           |     gp = *(arg_18h);
                                         |     if (v0 < 0) {
    0x0000292c bltz v0, 0x3eb4           |         goto label_8;
                                         |     }
    0x00002930 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00002934 lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
    0x00002938 lw s5, -0x7fd8(gp)        |     s5 = *(gp);
    0x0000293c lw s0, (s1)               |     s0 = *(s1);
    0x00002940 lw t9, -0x7e78(gp)        |     t9 = sym.imp.strstr;
    0x00002944 addiu v0, zero, -1        |     v0 = -1;
    0x00002948 sw s3, 0x68(fp)           |     *(arg_68h) = s3;
    0x0000294c sw s4, 0x5c(fp)           |     *(arg_5ch) = s4;
    0x00002950 sw s5, 0x40(fp)           |     *(arg_40h) = s5;
                                         |     /* str.arecord */
    0x00002954 addiu a1, s5, 0x38cc      |     a1 = s5 + 0x38cc;
    0x00002958 move a0, s0               |     a0 = s0;
    0x0000295c sw s0, 0x54b4(s3)         |     *((s3 + 5421)) = s0;
    0x00002960 sw v0, 0x5034(s4)         |     *((s4 + 5133)) = v0;
    0x00002964 jalr t9                   |     t9 ();
    0x00002968 lw gp, 0x18(fp)           |     gp = *(arg_18h);
                                         |     if (v0 == 0) {
    0x0000296c beqz v0, 0x3564           |         goto label_9;
                                         |     }
                                         |     /* str.arecord */
    0x00002970 addiu v1, s5, 0x38cc      |     v1 = s5 + 0x38cc;
    0x00002974 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002978 sw v1, 0x54b4(s3)         |     *((s3 + 5421)) = v1;
    0x0000297c lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00002980 addiu v0, zero, 1         |     v0 = 1;
    0x00002984 sw v0, 0x5484(a0)         |     *((a0 + 5409)) = v0;
    0x00002988 sw v0, 0x545c(v1)         |     *((v1 + 5399)) = v0;
    0x0000298c lw v0, -0x7ed8(gp)        |     v0 = *((gp - 8118));
    0x00002990 sw a0, 0x54(fp)           |     *(arg_54h) = a0;
    0x00002994 addiu a0, zero, 2         |     a0 = 2;
    0x00002998 sw a0, 0x5034(s4)         |     *((s4 + 5133)) = a0;
    0x0000299c lw a0, (v0)               |     a0 = *(v0);
                                         | label_0:
    0x000029a0 lw t9, -0x7cc0(gp)        |     t9 = sym.imp.fileno;
    0x000029a4 jalr t9                   |     t9 ();
    0x000029a8 nop                       |     
    0x000029ac lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000029b0 lw t9, -0x7e04(gp)        |     t9 = sym.imp.isatty;
    0x000029b4 move a0, v0               |     a0 = v0;
    0x000029b8 jalr t9                   |     t9 ();
    0x000029bc lw gp, 0x18(fp)           |     gp = *(arg_18h);
                                         |     if (v0 != 0) {
    0x000029c0 bnez v0, 0x2a94           |         goto label_10;
                                         |     }
    0x000029c4 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000029c8 addiu v0, zero, 1         |     v0 = 1;
                                         |     do {
    0x000029cc addiu a1, a0, 0x5498      |         a1 = a0 + 0x5498;
    0x000029d0 sw v0, 0x5498(a0)         |         *((a0 + 5414)) = v0;
    0x000029d4 sw v0, 4(a1)              |         *((a1 + 1)) = v0;
    0x000029d8 lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x000029dc lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
                                         |         /* str.default */
    0x000029e0 addiu v0, v0, 0x38c4      |         v0 += 0x38c4;
    0x000029e4 sw v0, 0x48(fp)           |         *(arg_48h) = v0;
    0x000029e8 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x000029ec addiu v1, zero, -1        |         v1 = -1;
    0x000029f0 sw v0, 0x38(fp)           |         *(arg_38h) = v0;
    0x000029f4 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x000029f8 lw s0, -0x7fd8(gp)        |         s0 = *(gp);
    0x000029fc sw v0, 0x34(fp)           |         *(arg_34h) = v0;
    0x00002a00 lw v0, -0x7fd4(gp)        |         v0 = *((gp - 8181));
    0x00002a04 sw v1, 0x5470(a2)         |         *((a2 + 5404)) = v1;
    0x00002a08 addiu v0, v0, 0x4394      |         v0 += 0x4394;
    0x00002a0c sw v0, 0x6c(fp)           |         *(arg_6ch) = v0;
    0x00002a10 lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x00002a14 addiu v1, zero, 0x1f40    |         v1 = 0x1f40;
                                         |         /* str.aplay */
    0x00002a18 addiu v0, v0, 0x38d4      |         v0 += 0x38d4;
    0x00002a1c lw s4, -0x7fdc(gp)        |         s4 = *((gp - 8183));
    0x00002a20 lw s3, -0x7fd8(gp)        |         s3 = *(gp);
    0x00002a24 sw a0, 0x44(fp)           |         *(arg_44h) = a0;
    0x00002a28 sw a2, 0x28(fp)           |         *(arg_28h) = a2;
    0x00002a2c sw a1, 0x60(fp)           |         *(arg_60h) = a1;
    0x00002a30 sw v1, 8(a1)              |         *((a1 + 2)) = v1;
    0x00002a34 sw zero, 0x50(fp)         |         *(arg_50h) = 0;
    0x00002a38 sw zero, 0x4c(fp)         |         *(arg_4ch) = 0;
    0x00002a3c move s6, zero             |         s6 = 0;
    0x00002a40 addiu s5, fp, 0x74        |         s5 = fp + 0x74;
    0x00002a44 addiu s0, s0, 0x3f98      |         s0 += 0x3f98;
    0x00002a48 sw v0, 0x30(fp)           |         *(arg_30h) = v0;
    0x00002a4c lw t9, -0x7df4(gp)        |         t9 = sym.imp.getopt_long;
    0x00002a50 sw s5, 0x10(sp)           |         *(var_10h) = s5;
                                         |         /* section..data.rel.ro */
    0x00002a54 addiu a3, s4, 0x4d00      |         a3 = s4 + 0x4d00;
                                         |         /* str.hnlLD:qt:c:f:r:d:s:MNF:A:R:T:B:vV:IPCim: */
    0x00002a58 addiu a2, s3, 0x42b4      |         a2 = s3 + 0x42b4;
    0x00002a5c move a1, s1               |         a1 = s1;
    0x00002a60 move a0, s2               |         a0 = s2;
    0x00002a64 jalr t9                   |         t9 ();
    0x00002a68 addiu v1, zero, -1        |         v1 = -1;
    0x00002a6c lw gp, 0x18(fp)           |         gp = *(arg_18h);
                                         |         if (v0 == v1) {
    0x00002a70 beq v0, v1, 0x361c        |             goto label_11;
                                         |         }
    0x00002a74 sltiu v1, v0, 0x77        |         v1 = (v0 < 0x77) ? 1 : 0;
                                         |         if (v1 == 0) {
    0x00002a78 beql v1, zero, 0x3538     |             goto label_12;
                                         |         }
    0x00002a7c lw v0, 0x68(fp)           |         v0 = *(arg_68h);
    0x00002a80 sll v0, v0, 2             |         v0 <<= 2;
    0x00002a84 lwx v0, v0(s0)            |         __asm ("lwx v0, v0(s0)");
    0x00002a88 addu v0, v0, gp           |         v0 += gp;
    0x00002a8c jr v0                     |         v0 ();
    0x00002a90 nop                       |         
                                         | label_10:
    0x00002a94 addiu v0, zero, 1         |         v0 = 1;
    0x00002a98 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00002a9c bne s2, v0, 0x29cc        |         
                                         |     } while (s2 != v0);
    0x00002aa0 lw v0, 0x68(fp)           |     v0 = *(arg_68h);
    0x00002aa4 lw t9, -0x7fd4(gp)        |     t9 = *((gp - 8181));
    0x00002aa8 addiu s6, zero, 1         |     s6 = 1;
    0x00002aac addiu t9, t9, 0x4280      |     t9 += fcn.00004280;
    0x00002ab0 lw a0, 0x54b4(v0)         |     a0 = *((v0 + 5421));
    0x00002ab4 bal 0x4280                |     fcn_00004280 ();
    0x00002ab8 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00002abc b 0x2af8                  |     
                                         |     while (1) {
                                         | label_1:
    0x00002af8 lw v0, 0x64(fp)           |         v0 = *(arg_64h);
    0x00002afc lw a0, 0x7c(fp)           |         a0 = *(arg_7ch);
    0x00002b00 lw v1, (v0)               |         v1 = *(v0);
    0x00002b04 move v0, s6               |         v0 = s6;
                                         |         if (a0 != v1) {
    0x00002b08 bne a0, v1, 0x3dd8        |             goto label_13;
                                         |         }
    0x00002b0c move sp, fp               |         
    0x00002b10 lw ra, 0xa4(sp)           |         ra = *(var_a4h);
    0x00002b14 lw fp, 0xa0(sp)           |         fp = *(var_a0h);
    0x00002b18 lw s7, 0x9c(sp)           |         s7 = *(var_9ch);
    0x00002b1c lw s6, 0x98(sp)           |         s6 = *(var_98h);
    0x00002b20 lw s5, 0x94(sp)           |         s5 = *(var_94h);
    0x00002b24 lw s4, 0x90(sp)           |         s4 = *(var_90h);
    0x00002b28 lw s3, 0x8c(sp)           |         s3 = *(var_8ch);
    0x00002b2c lw s2, 0x88(sp)           |         s2 = *(var_88h);
    0x00002b30 lw s1, 0x84(sp)           |         s1 = *(var_84h);
    0x00002b34 lw s0, 0x80(sp)           |         s0 = *(var_80h);
    0x00002b38 addiu sp, sp, 0xa8        |         
    0x00002b3c jr ra                     |         return v1;
                                         | label_12:
    0x00003538 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x0000353c lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00003540 lw a3, 0x54b4(v0)         |         a3 = *((v0 + 5421));
    0x00003544 lw v0, 0x58(fp)           |         v0 = *(arg_58h);
                                         |         /* str.Try___s___help_for_more_information._n */
    0x00003548 addiu a2, a2, 0x3c34      |         a2 += 0x3c34;
    0x0000354c addiu a1, zero, 1         |         a1 = 1;
    0x00003550 lw a0, (v0)               |         a0 = *(v0);
    0x00003554 addiu s6, zero, 1         |         s6 = 1;
    0x00003558 jalr t9                   |         t9 ();
    0x0000355c lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00003560 b 0x2af8                  |         
                                         |     }
                                         | label_9:
    0x00003564 lw s3, -0x7fd8(gp)        |     s3 = *(gp);
    0x00003568 lw t9, -0x7e78(gp)        |     t9 = sym.imp.strstr;
                                         |     /* str.aplay */
    0x0000356c addiu a1, s3, 0x38d4      |     a1 = s3 + 0x38d4;
    0x00003570 move a0, s0               |     a0 = s0;
    0x00003574 jalr t9                   |     t9 ();
    0x00003578 lw gp, 0x18(fp)           |     gp = *(arg_18h);
                                         |     if (v0 == 0) {
    0x0000357c beqz v0, 0x3ab8           |         goto label_14;
                                         |     }
    0x00003580 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     /* str.aplay */
    0x00003584 addiu s3, s3, 0x38d4      |     s3 += 0x38d4;
    0x00003588 sw v0, 0x54(fp)           |     *(arg_54h) = v0;
    0x0000358c sw zero, 0x5484(v0)       |     *((v0 + 5409)) = 0;
    0x00003590 lw v0, 0x68(fp)           |     v0 = *(arg_68h);
    0x00003594 sw s3, 0x54b4(v0)         |     *((v0 + 5421)) = s3;
    0x00003598 lw v0, -0x7eb4(gp)        |     v0 = *((gp - 8109));
    0x0000359c lw a0, (v0)               |     a0 = *(v0);
    0x000035a0 b 0x29a0                  |     goto label_0;
                                         | label_11:
    0x0000361c lw v0, 0x4c(fp)           |     v0 = *(arg_4ch);
    0x00003620 lw v0, 0x50(fp)           |     v0 = *(arg_50h);
                                         |     if (v0 != 0) {
    0x00003624 bnez v0, 0x3e94           |         goto label_15;
                                         |     }
    0x00003628 lw s0, -0x7fdc(gp)        |     s0 = *((gp - 8183));
                                         |     if (v0 != 0) {
    0x0000362c bnez v0, 0x3de4           |         goto label_16;
                                         |     }
    0x00003630 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003634 lw t9, -0x7dc4(gp)        |     t9 = sym.imp.snd_pcm_open;
    0x00003638 lw a3, 0x5488(v0)         |     a3 = *((v0 + 5410));
    0x0000363c lw v0, 0x54(fp)           |     v0 = *(arg_54h);
    0x00003640 lw a1, 0x48(fp)           |     a1 = *(arg_48h);
    0x00003644 addiu a0, s0, 0x54b0      |     a0 = s0 + 0x54b0;
    0x00003648 lw a2, 0x5484(v0)         |     a2 = *((v0 + 5409));
    0x0000364c jalr t9                   |     t9 ();
    0x00003650 sw v0, 0x78(fp)           |     *(arg_78h) = v0;
    0x00003654 lw gp, 0x18(fp)           |     gp = *(arg_18h);
                                         |     if (v0 < 0) {
    0x00003658 bltz v0, 0x3a40           |         goto label_17;
                                         |     }
    0x0000365c lw t9, -0x7f1c(gp)        |     t9 = sym.imp.snd_pcm_info;
    0x00003660 lw a0, 0x54b0(s0)         |     a0 = *((s0 + 5420));
    0x00003664 lw a1, 0x3c(fp)           |     a1 = *(arg_3ch);
    0x00003668 jalr t9                   |     t9 ();
    0x0000366c sw v0, 0x78(fp)           |     *(arg_78h) = v0;
    0x00003670 lw gp, 0x18(fp)           |     gp = *(arg_18h);
                                         |     if (v0 < 0) {
    0x00003674 bltz v0, 0x3b18           |         goto label_18;
                                         |     }
    0x00003678 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000367c lw v0, 0x547c(v0)         |     v0 = *((v0 + 5407));
    0x00003680 lw a0, 0x60(fp)           |     a0 = *(arg_60h);
                                         |     if (v0 != 0) {
    0x00003684 beqz v0, 0x36a8           |         
    0x00003688 lw t9, -0x7ee0(gp)        |         t9 = sym.imp.snd_pcm_nonblock;
    0x0000368c lw a0, 0x54b0(s0)         |         a0 = *((s0 + 5420));
    0x00003690 addiu a1, zero, 1         |         a1 = 1;
    0x00003694 jalr t9                   |         t9 ();
    0x00003698 sw v0, 0x78(fp)           |         *(arg_78h) = v0;
    0x0000369c lw gp, 0x18(fp)           |         gp = *(arg_18h);
                                         |         if (v0 < 0) {
    0x000036a0 bltz v0, 0x3958           |             goto label_19;
                                         |         }
    0x000036a4 lw a0, 0x60(fp)           |         a0 = *(arg_60h);
                                         |     }
    0x000036a8 lw v0, 0x44(fp)           |     v0 = *(arg_44h);
    0x000036ac lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x000036b0 lw t1, 0x28(fp)           |     t1 = *(arg_28h);
    0x000036b4 lw a3, 0x5498(v0)         |     a3 = *((v0 + 5414));
    0x000036b8 lw a2, 4(a0)              |     a2 = *((a0 + 1));
    0x000036bc addiu v0, v1, 0x54a4      |     v0 = v1 + 0x54a4;
    0x000036c0 lw a1, 8(a0)              |     a1 = *((a0 + 2));
    0x000036c4 lw t9, -0x7e88(gp)        |     t9 = sym.imp.malloc;
    0x000036c8 lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
    0x000036cc addiu t0, zero, 0x400     |     t0 = 0x400;
    0x000036d0 addiu a0, zero, 0x400     |     a0 = 0x400;
    0x000036d4 sw t0, 0x5470(t1)         |     *((t1 + 5404)) = t0;
    0x000036d8 sw a3, 0x54a4(v1)         |     *((v1 + 5417)) = a3;
    0x000036dc sw a2, 4(v0)              |     *((v0 + 1)) = a2;
    0x000036e0 sw a1, 8(v0)              |     *((v0 + 2)) = a1;
    0x000036e4 jalr t9                   |     t9 ();
    0x000036e8 sw v0, 0x5474(s5)         |     *((s5 + 5405)) = v0;
    0x000036ec lw gp, 0x18(fp)           |     gp = *(arg_18h);
                                         |     if (v0 == 0) {
    0x000036f0 beqz v0, 0x3b7c           |         goto label_20;
                                         |     }
    0x000036f4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000036f8 lw v0, 0x5480(v0)         |     v0 = *((v0 + 5408));
    0x000036fc lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v0 != 0) {
    0x00003700 bnez v0, 0x3884           |         goto label_21;
                                         |     }
    0x00003704 lw v1, -0x7e10(gp)        |     v1 = *((gp - 8068));
    0x00003708 sw v1, 0x54c0(v0)         |     *((v0 + 5424)) = v1;
    0x0000370c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003710 lw v1, -0x7e34(gp)        |     v1 = *((gp - 8077));
    0x00003714 sw v1, 0x54c4(v0)         |     *((v0 + 5425)) = v1;
    0x00003718 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000371c lw v1, -0x7f3c(gp)        |     v1 = *((gp - 8143));
    0x00003720 sw v1, 0x54b8(v0)         |     *((v0 + 5422)) = v1;
    0x00003724 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003728 lw v1, -0x7d94(gp)        |     v1 = *((gp - 8037));
    0x0000372c sw v1, 0x54bc(v0)         |     *((v0 + 5423)) = v1;
                                         |     do {
    0x00003730 lw s3, -0x7fdc(gp)        |         s3 = *((gp - 8183));
    0x00003734 lw s7, 0x53fc(s3)         |         s7 = *((s3 + 5375));
    0x00003738 lw t9, -0x7cc8(gp)        |         t9 = sym.imp.__errno_location;
                                         |         if (s7 == 0) {
    0x0000373c beqz s7, 0x3f38           |             goto label_22;
                                         |         }
    0x00003740 lw s6, -0x7f90(gp)        |         s6 = *(gp);
    0x00003744 jalr t9                   |         t9 ();
    0x00003748 nop                       |         
    0x0000374c lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00003750 move a0, s7               |         a0 = s7;
    0x00003754 sw zero, (v0)             |         *(v0) = 0;
    0x00003758 lw a1, -0x7fd8(gp)        |         a1 = *(gp);
    0x0000375c lw t9, -0x7f54(gp)        |         t9 = sym.imp.fopen64;
    0x00003760 addiu a1, a1, 0x3ca0      |         a1 += 0x3ca0;
    0x00003764 move s4, v0               |         s4 = v0;
    0x00003768 jalr t9                   |         t9 ();
    0x0000376c move s7, v0               |         s7 = v0;
    0x00003770 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00003774 sw v0, (s6)               |         *(s6) = v0;
                                         |         if (v0 != 0) {
    0x00003778 bnez v0, 0x3eec           |             goto label_23;
                                         |         }
    0x0000377c lw v0, 0x68(fp)           |         v0 = *(arg_68h);
    0x00003780 lw s2, 0x58(fp)           |         s2 = *(arg_58h);
    0x00003784 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x00003788 lw a3, 0x54b4(v0)         |         a3 = *((v0 + 5421));
    0x0000378c addiu v0, zero, 0x36b     |         v0 = 0x36b;
    0x00003790 lw a0, (s2)               |         a0 = *(s2);
    0x00003794 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00003798 lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x0000379c lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* esilref: 'main' */
    0x000037a0 addiu v0, v0, 0x42e0      |         v0 += 0x42e0;
                                         |         /* str._s:__s:_d:_ */
    0x000037a4 addiu a2, a2, 0x2b6c      |         a2 += 0x2b6c;
    0x000037a8 addiu a1, zero, 1         |         a1 = 1;
    0x000037ac sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000037b0 jalr t9                   |         t9 ();
    0x000037b4 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x000037b8 lw a0, (s4)               |         a0 = *(s4);
    0x000037bc lw s0, (s2)               |         s0 = *(s2);
    0x000037c0 lw t9, -0x7ce8(gp)        |         t9 = sym.imp.strerror;
    0x000037c4 lw s1, 0x53fc(s3)         |         s1 = *((s3 + 5375));
    0x000037c8 jalr t9                   |         t9 ();
    0x000037cc lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x000037d0 addiu a1, zero, 1         |         a1 = 1;
    0x000037d4 move a3, s1               |         a3 = s1;
    0x000037d8 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x000037dc lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str.Cannot_create_process_ID_file__s:__s */
    0x000037e0 addiu a2, a2, 0x3ca8      |         a2 += 0x3ca8;
    0x000037e4 move a0, s0               |         a0 = s0;
    0x000037e8 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000037ec jalr t9                   |         t9 ();
    0x000037f0 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x000037f4 lw a1, (s2)               |         a1 = *(s2);
                                         | label_2:
    0x000037f8 lw t9, -0x7f18(gp)        |         t9 = sym.imp._IO_putc;
    0x000037fc addiu a0, zero, 0xa       |         a0 = 0xa;
    0x00003800 jalr t9                   |         t9 ();
    0x00003804 addiu s6, zero, 1         |         s6 = 1;
    0x00003808 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x0000380c b 0x2af8                  |         goto label_1;
                                         | label_21:
    0x00003884 lw v1, -0x7d48(gp)        |         v1 = *((gp - 8018));
    0x00003888 sw v1, 0x54c0(v0)         |         *((v0 + 5424)) = v1;
    0x0000388c lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00003890 lw v1, -0x7f68(gp)        |         v1 = *((gp - 8154));
    0x00003894 sw v1, 0x54c4(v0)         |         *((v0 + 5425)) = v1;
    0x00003898 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x0000389c lw v1, -0x7d9c(gp)        |         v1 = *((gp - 8039));
    0x000038a0 sw v1, 0x54b8(v0)         |         *((v0 + 5422)) = v1;
    0x000038a4 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x000038a8 lw v1, -0x7e5c(gp)        |         v1 = *((gp - 8087));
    0x000038ac sw v1, 0x54bc(v0)         |         *((v0 + 5423)) = v1;
    0x000038b0 b 0x3730                  |         
                                         |     } while (1);
                                         | label_19:
    0x00003958 lw v0, 0x68(fp)           |     v0 = *(arg_68h);
    0x0000395c lw s1, 0x58(fp)           |     s1 = *(arg_58h);
    0x00003960 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00003964 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00003968 addiu v0, zero, 0x348     |     v0 = 0x348;
    0x0000396c lw a0, (s1)               |     a0 = *(s1);
    0x00003970 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00003974 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00003978 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* esilref: 'main' */
    0x0000397c addiu v0, v0, 0x42e0      |     v0 += 0x42e0;
                                         |     /* str._s:__s:_d:_ */
    0x00003980 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00003984 addiu a1, zero, 1         |     a1 = 1;
    0x00003988 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000398c jalr t9                   |     t9 ();
    0x00003990 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00003994 lw a0, 0x78(fp)           |     a0 = *(arg_78h);
    0x00003998 lw t9, -0x7e3c(gp)        |     t9 = sym.imp.snd_strerror;
    0x0000399c lw s0, (s1)               |     s0 = *(s1);
    0x000039a0 jalr t9                   |     t9 ();
    0x000039a4 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000039a8 addiu a1, zero, 1         |     a1 = 1;
    0x000039ac move a3, v0               |     a3 = v0;
    0x000039b0 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x000039b4 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.nonblock_setting_error:__s */
    0x000039b8 addiu a2, a2, 0x3c84      |     a2 += 0x3c84;
    0x000039bc move a0, s0               |     a0 = s0;
    0x000039c0 jalr t9                   |     t9 ();
    0x000039c4 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000039c8 lw a1, (s1)               |     a1 = *(s1);
    0x000039cc b 0x37f8                  |     goto label_2;
                                         | label_17:
    0x00003a40 lw v0, 0x68(fp)           |     v0 = *(arg_68h);
    0x00003a44 lw s1, 0x58(fp)           |     s1 = *(arg_58h);
    0x00003a48 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00003a4c lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00003a50 addiu v0, zero, 0x33c     |     v0 = 0x33c;
    0x00003a54 lw a0, (s1)               |     a0 = *(s1);
    0x00003a58 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00003a5c lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00003a60 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* esilref: 'main' */
    0x00003a64 addiu v0, v0, 0x42e0      |     v0 += 0x42e0;
                                         |     /* str._s:__s:_d:_ */
    0x00003a68 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00003a6c addiu a1, zero, 1         |     a1 = 1;
    0x00003a70 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00003a74 jalr t9                   |     t9 ();
    0x00003a78 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00003a7c lw a0, 0x78(fp)           |     a0 = *(arg_78h);
    0x00003a80 lw t9, -0x7e3c(gp)        |     t9 = sym.imp.snd_strerror;
    0x00003a84 lw s0, (s1)               |     s0 = *(s1);
    0x00003a88 jalr t9                   |     t9 ();
    0x00003a8c lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00003a90 move a3, v0               |     a3 = v0;
    0x00003a94 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00003a98 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* str.audio_open_error:__s */
    0x00003a9c addiu a2, a2, 0x3c5c      |     a2 += 0x3c5c;
                                         |     do {
    0x00003aa0 addiu a1, zero, 1         |         a1 = 1;
    0x00003aa4 move a0, s0               |         a0 = s0;
    0x00003aa8 jalr t9                   |         t9 ();
    0x00003aac lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00003ab0 lw a1, (s1)               |         a1 = *(s1);
    0x00003ab4 b 0x37f8                  |         goto label_2;
                                         | label_14:
    0x00003ab8 lw s1, 0x58(fp)           |         s1 = *(arg_58h);
    0x00003abc addiu v0, zero, 0x229     |         v0 = 0x229;
    0x00003ac0 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x00003ac4 lw a0, (s1)               |         a0 = *(s1);
    0x00003ac8 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00003acc lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x00003ad0 lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* esilref: 'main' */
    0x00003ad4 addiu v0, v0, 0x42e0      |         v0 += 0x42e0;
    0x00003ad8 move a3, s0               |         a3 = s0;
                                         |         /* str._s:__s:_d:_ */
    0x00003adc addiu a2, a2, 0x2b6c      |         a2 += 0x2b6c;
    0x00003ae0 addiu a1, zero, 1         |         a1 = 1;
    0x00003ae4 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00003ae8 jalr t9                   |         t9 ();
    0x00003aec lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00003af0 lw a3, (s1)               |         a3 = *(s1);
    0x00003af4 addiu a1, zero, 1         |         a1 = 1;
    0x00003af8 lw a0, -0x7fd8(gp)        |         a0 = *(gp);
    0x00003afc lw t9, -0x7e6c(gp)        |         t9 = sym.imp.fwrite;
    0x00003b00 addiu a2, zero, 0x2f      |         a2 = 0x2f;
                                         |         /* str.command_should_be_named_either_arecord_or_aplay */
    0x00003b04 addiu a0, a0, 0x38dc      |         a0 += 0x38dc;
    0x00003b08 jalr t9                   |         t9 ();
    0x00003b0c lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00003b10 lw a1, (s1)               |         a1 = *(s1);
    0x00003b14 b 0x37f8                  |         goto label_2;
                                         | label_18:
    0x00003b18 lw v0, 0x68(fp)           |         v0 = *(arg_68h);
    0x00003b1c lw s1, 0x58(fp)           |         s1 = *(arg_58h);
    0x00003b20 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x00003b24 lw a3, 0x54b4(v0)         |         a3 = *((v0 + 5421));
    0x00003b28 addiu v0, zero, 0x341     |         v0 = 0x341;
    0x00003b2c lw a0, (s1)               |         a0 = *(s1);
    0x00003b30 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00003b34 lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x00003b38 lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* esilref: 'main' */
    0x00003b3c addiu v0, v0, 0x42e0      |         v0 += 0x42e0;
                                         |         /* str._s:__s:_d:_ */
    0x00003b40 addiu a2, a2, 0x2b6c      |         a2 += 0x2b6c;
    0x00003b44 addiu a1, zero, 1         |         a1 = 1;
    0x00003b48 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00003b4c jalr t9                   |         t9 ();
    0x00003b50 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00003b54 lw a0, 0x78(fp)           |         a0 = *(arg_78h);
    0x00003b58 lw t9, -0x7e3c(gp)        |         t9 = sym.imp.snd_strerror;
    0x00003b5c lw s0, (s1)               |         s0 = *(s1);
    0x00003b60 jalr t9                   |         t9 ();
    0x00003b64 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00003b68 move a3, v0               |         a3 = v0;
    0x00003b6c lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x00003b70 lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* str.info_error:__s */
    0x00003b74 addiu a2, a2, 0x3c74      |         a2 += 0x3c74;
    0x00003b78 b 0x3aa0                  |         
                                         |     } while (1);
                                         | label_20:
    0x00003b7c lw v0, 0x68(fp)           |     v0 = *(arg_68h);
    0x00003b80 lw s0, 0x58(fp)           |     s0 = *(arg_58h);
    0x00003b84 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00003b88 lw a3, 0x54b4(v0)         |     a3 = *((v0 + 5421));
    0x00003b8c addiu v0, zero, 0x352     |     v0 = 0x352;
    0x00003b90 lw a0, (s0)               |     a0 = *(s0);
    0x00003b94 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00003b98 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00003b9c lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* esilref: 'main' */
    0x00003ba0 addiu v0, v0, 0x42e0      |     v0 += 0x42e0;
                                         |     /* str._s:__s:_d:_ */
    0x00003ba4 addiu a2, a2, 0x2b6c      |     a2 += 0x2b6c;
    0x00003ba8 addiu a1, zero, 1         |     a1 = 1;
    0x00003bac sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00003bb0 jalr t9                   |     t9 ();
    0x00003bb4 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00003bb8 lw a3, (s0)               |     a3 = *(s0);
    0x00003bbc addiu a1, zero, 1         |     a1 = 1;
    0x00003bc0 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00003bc4 lw t9, -0x7e6c(gp)        |     t9 = sym.imp.fwrite;
    0x00003bc8 addiu a2, zero, 0x11      |     a2 = 0x11;
                                         |     /* str.not_enough_memory */
    0x00003bcc addiu a0, a0, 0x3098      |     a0 += 0x3098;
    0x00003bd0 jalr t9                   |     t9 ();
    0x00003bd4 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00003bd8 lw a1, (s0)               |     a1 = *(s0);
    0x00003bdc b 0x37f8                  |     goto label_2;
                                         | label_13:
    0x00003dd8 lw t9, -0x7e98(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00003ddc jalr t9                   |     t9 ();
    0x00003de0 nop                       |     
                                         | label_16:
    0x00003de4 lw t9, -0x7fd4(gp)        |     t9 = *((gp - 8181));
    0x00003de8 addiu t9, t9, 0x444c      |     t9 += fcn.0000444c;
    0x00003dec bal 0x444c                |     fcn_0000444c ();
    0x00003df0 nop                       |     
    0x00003df4 lw gp, 0x18(fp)           |     gp = *(arg_18h);
                                         |     do {
                                         | label_5:
    0x00003df8 lw v0, 0x2c(fp)           |         v0 = *(arg_2ch);
    0x00003dfc lw t9, -0x7ce0(gp)        |         t9 = sym.imp.snd_output_close;
    0x00003e00 lw a0, 0x5420(v0)         |         a0 = *((v0 + 5384));
    0x00003e04 jalr t9                   |         t9 ();
    0x00003e08 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00003e0c lw t9, -0x7e50(gp)        |         t9 = sym.imp.snd_config_update_free_global;
    0x00003e10 jalr t9                   |         t9 ();
    0x00003e14 nop                       |         
    0x00003e18 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00003e1c lw t9, -0x7fd4(gp)        |         t9 = *((gp - 8181));
    0x00003e20 addiu t9, t9, 0x59bc      |         t9 += fcn.000059bc;
    0x00003e24 move a0, zero             |         a0 = 0;
    0x00003e28 bal 0x59bc                |         fcn_000059bc ();
    0x00003e2c lw v0, 0x68(fp)           |         v0 = *(arg_68h);
    0x00003e30 lw s0, 0x58(fp)           |         s0 = *(arg_58h);
    0x00003e34 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x00003e38 lw a3, 0x54b4(v0)         |         a3 = *((v0 + 5421));
    0x00003e3c addiu v0, zero, 0x255     |         v0 = 0x255;
    0x00003e40 lw a0, (s0)               |         a0 = *(s0);
    0x00003e44 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00003e48 lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x00003e4c lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         /* esilref: 'main' */
    0x00003e50 addiu v0, v0, 0x42e0      |         v0 += 0x42e0;
                                         |         /* str._s:__s:_d:_ */
    0x00003e54 addiu a2, a2, 0x2b6c      |         a2 += 0x2b6c;
    0x00003e58 addiu a1, zero, 1         |         a1 = 1;
    0x00003e5c sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00003e60 jalr t9                   |         t9 ();
    0x00003e64 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00003e68 lw v0, 0x24(fp)           |         v0 = *(arg_24h);
    0x00003e6c lw a0, (s0)               |         a0 = *(s0);
    0x00003e70 lw a2, -0x7fd8(gp)        |         a2 = *(gp);
    0x00003e74 lw t9, -0x7d04(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00003e78 lw a3, (v0)               |         a3 = *(v0);
    0x00003e7c addiu a1, zero, 1         |         a1 = 1;
                                         |         /* str.unrecognized_file_format__s */
    0x00003e80 addiu a2, a2, 0x395c      |         a2 += 0x395c;
    0x00003e84 jalr t9                   |         t9 ();
    0x00003e88 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00003e8c lw a1, (s0)               |         a1 = *(s0);
    0x00003e90 b 0x37f8                  |         goto label_2;
                                         | label_15:
    0x00003e94 lw t9, -0x7fd4(gp)        |         t9 = *((gp - 8181));
                                         |         if (v0 != 0) {
    0x00003e98 bnez v0, 0x3ed8           |             goto label_24;
                                         |         }
                                         | label_3:
    0x00003e9c lw t9, -0x7fd4(gp)        |         t9 = *((gp - 8181));
    0x00003ea0 addiu t9, t9, 0x4710      |         t9 += fcn.00004710;
    0x00003ea4 bal 0x4710                |         fcn_00004710 ();
    0x00003ea8 nop                       |         
    0x00003eac lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00003eb0 b 0x3df8                  |         
                                         |     } while (1);
                                         | label_8:
    0x00003eb4 lw a3, -0x7fd8(gp)        |     a3 = *(gp);
    0x00003eb8 lw a1, -0x7fd8(gp)        |     a1 = *(gp);
    0x00003ebc lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x00003ec0 lw t9, -0x7d98(gp)        |     t9 = sym.imp.__assert_fail;
                                         |     /* str.main */
    0x00003ec4 addiu a3, a3, 0x42e8      |     a3 += 0x42e8;
    0x00003ec8 addiu a2, zero, 0x21a     |     a2 = 0x21a;
                                         |     /* str..._.._alsa_utils_1.1.9_aplay_aplay.c */
    0x00003ecc addiu a1, a1, 0x2ef0      |     a1 += 0x2ef0;
                                         |     /* str.err___0 */
    0x00003ed0 addiu a0, a0, 0x2f18      |     a0 += 0x2f18;
    0x00003ed4 jalr t9                   |     t9 ();
                                         | label_24:
    0x00003ed8 addiu t9, t9, 0x444c      |     t9 += fcn.0000444c;
    0x00003edc bal 0x444c                |     fcn_0000444c ();
    0x00003ee0 nop                       |     
    0x00003ee4 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00003ee8 b 0x3e9c                  |     goto label_3;
                                         | label_23:
    0x00003eec lw t9, -0x7cdc(gp)        |     t9 = sym.imp.getpid;
    0x00003ef0 jalr t9                   |     t9 ();
    0x00003ef4 nop                       |     
    0x00003ef8 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00003efc move a3, v0               |     a3 = v0;
    0x00003f00 addiu a1, zero, 1         |     a1 = 1;
    0x00003f04 lw a2, -0x7fd8(gp)        |     a2 = *(gp);
    0x00003f08 lw t9, -0x7d04(gp)        |     t9 = sym.imp.__fprintf_chk
                                         |     /* esilref: '&d
' */
    0x00003f0c addiu a2, a2, 0x3ca4      |     a2 += 0x3ca4;
    0x00003f10 move a0, s7               |     a0 = s7;
    0x00003f14 jalr t9                   |     t9 ();
    0x00003f18 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00003f1c lw t9, -0x7e1c(gp)        |     t9 = sym.imp.fclose;
    0x00003f20 lw a0, (s6)               |     a0 = *(s6);
    0x00003f24 jalr t9                   |     t9 ();
    0x00003f28 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00003f2c addiu v1, zero, 1         |     v1 = 1;
    0x00003f30 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003f34 sw v1, 0x53f8(v0)         |     *((v0 + 5374)) = v1;
                                         | label_22:
    0x00003f38 lw s3, -0x7fd8(gp)        |     s3 = *(gp);
    0x00003f3c lw t9, -0x7d0c(gp)        |     t9 = sym.imp.signal;
    0x00003f40 addiu a1, s3, -0x78a0     |     a1 = s3 + -0x78a0;
    0x00003f44 addiu a0, zero, 2         |     a0 = 2;
    0x00003f48 jalr t9                   |     t9 ();
    0x00003f4c lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00003f50 addiu a1, s3, -0x78a0     |     a1 = s3 + -0x78a0;
    0x00003f54 lw t9, -0x7d0c(gp)        |     t9 = sym.imp.signal;
    0x00003f58 addiu a0, zero, 0xf       |     a0 = 0xf;
    0x00003f5c jalr t9                   |     t9 ();
    0x00003f60 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00003f64 addiu a1, s3, -0x78a0     |     a1 = s3 + -0x78a0;
    0x00003f68 lw t9, -0x7d0c(gp)        |     t9 = sym.imp.signal;
    0x00003f6c addiu a0, zero, 6         |     a0 = 6;
    0x00003f70 jalr t9                   |     t9 ();
    0x00003f74 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00003f78 addiu a0, zero, 0x10      |     a0 = 0x10;
    0x00003f7c lw a1, -0x7fd4(gp)        |     a1 = *((gp - 8181));
    0x00003f80 lw t9, -0x7d0c(gp)        |     t9 = sym.imp.signal;
    0x00003f84 addiu a1, a1, 0x4260      |     a1 += 0x4260;
    0x00003f88 jalr t9                   |     t9 ();
    0x00003f8c lw v0, 0x54(fp)           |     v0 = *(arg_54h);
    0x00003f90 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00003f94 lw v1, 0x5484(v0)         |     v1 = *((v0 + 5409));
    0x00003f98 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003f9c lw v0, 0x5030(v0)         |     v0 = *((v0 + 5132));
    0x00003fa0 lw v0, -0x7dd8(gp)        |     v0 = *((gp - 8054));
                                         |     if (v0 == 0) {
    0x00003fa4 beqz v0, 0x401c           |         goto label_25;
                                         |     }
    0x00003fa8 lw s6, -0x7dd8(gp)        |     s6 = *((gp - 8054));
    0x00003fac lw v0, (s6)               |     v0 = *(s6);
    0x00003fb0 slt a0, v0, s2            |     a0 = (v0 < s2) ? 1 : 0;
    0x00003fb4 lw s4, -0x7fd8(gp)        |     s4 = *(gp);
                                         |     if (a0 == 0) {
    0x00003fb8 beqz a0, 0x40b0           |         goto label_26;
                                         |     }
    0x00003fbc lw s3, -0x7fd8(gp)        |     s3 = *(gp);
    0x00003fc0 addiu s4, s4, -0x2624     |     s4 += -0x2624;
    0x00003fc4 addiu s3, s3, -0x4178     |     s3 += -0x4178;
    0x00003fc8 b 0x3fec                  |     
                                         |     while (v1 == 0) {
    0x00003fcc move t9, s3               |         t9 = s3;
    0x00003fd0 bal 0xbe88                |         fcn_0000be88 ();
    0x00003fd4 nop                       |         
    0x00003fd8 lw gp, 0x18(fp)           |         gp = *(arg_18h);
                                         | label_4:
    0x00003fdc lw v0, (s6)               |         v0 = *(s6);
    0x00003fe0 slt v1, v0, s2            |         v1 = (v0 < s2) ? 1 : 0;
    0x00003fe4 lw v1, -0x7fdc(gp)        |         v1 = *((gp - 8183));
                                         |         if (v1 == 0) {
    0x00003fe8 beqz v1, 0x4048           |             goto label_27;
                                         |         }
    0x00003fec lw v1, 0x54(fp)           |         v1 = *(arg_54h);
    0x00003ff0 sll a0, v0, 2             |         a0 = v0 << 2;
    0x00003ff4 addiu v0, v0, 1           |         v0++;
    0x00003ff8 lw v1, 0x5484(v1)         |         v1 = *((v1 + 5409));
    0x00003ffc lwx a0, a0(s1)            |         __asm ("lwx a0, a0(s1)");
    0x00004000 sw v0, (s6)               |         *(s6) = v0;
    0x00004004 beqz v1, 0x3fcc           |         
                                         |     }
    0x00004008 move t9, s4               |     t9 = s4;
    0x0000400c bal 0xd9dc                |     fcn_0000d9dc ();
    0x00004010 nop                       |     
    0x00004014 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x00004018 b 0x3fdc                  |     goto label_4;
                                         | label_25:
    0x0000401c lw a1, (v0)               |     a1 = *(v0);
    0x00004020 sll a0, a1, 2             |     a0 = a1 << 2;
    0x00004024 addu a0, s1, a0           |     a0 = s1 + a0;
    0x00004028 subu a1, s2, a1           |     __asm ("subu a1, s2, a1");
                                         |     if (v1 != 0) {
    0x0000402c bnez v1, 0x4080           |         goto label_28;
                                         |     }
    0x00004030 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00004034 addiu t9, t9, -0x3f14     |     t9 += -0x3f14;
    0x00004038 bal 0xc0ec                |     fcn_0000c0ec ();
    0x0000403c nop                       |     
    0x00004040 lw gp, 0x18(fp)           |     gp = *(arg_18h);
                                         |     do {
                                         | label_7:
    0x00004044 lw v1, -0x7fdc(gp)        |         v1 = *((gp - 8183));
                                         | label_27:
    0x00004048 addiu v0, zero, 2         |         v0 = 2;
    0x0000404c lw v1, 0x5444(v1)         |         v1 = *((v1 + 5393));
                                         |         if (v1 == v0) {
    0x00004050 beql v1, v0, 0x4098       |             goto label_29;
                                         |         }
    0x00004054 lw v0, -0x7ed8(gp)        |         v0 = *((gp - 8118));
                                         | label_6:
    0x00004058 lw t9, -0x7cec(gp)        |         t9 = sym.imp.snd_pcm_close;
    0x0000405c lw a0, 0x54b0(s0)         |         a0 = *((s0 + 5420));
    0x00004060 jalr t9                   |         t9 ();
    0x00004064 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00004068 lw a0, 0x5474(s5)         |         a0 = *((s5 + 5405));
    0x0000406c lw t9, -0x7dd4(gp)        |         t9 = sym.imp.free;
    0x00004070 sw zero, 0x54b0(s0)       |         *((s0 + 5420)) = 0;
    0x00004074 jalr t9                   |         t9 ();
    0x00004078 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x0000407c b 0x3df8                  |         goto label_5;
                                         | label_28:
    0x00004080 lw t9, -0x7fd8(gp)        |         t9 = *(gp);
    0x00004084 addiu t9, t9, -0x3380     |         t9 += -0x3380;
    0x00004088 bal 0xcc80                |         fcn_0000cc80 ();
    0x0000408c nop                       |         
    0x00004090 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x00004094 b 0x4044                  |         
                                         |     } while (1);
                                         | label_29:
    0x00004098 lw t9, -0x7f18(gp)        |     t9 = sym.imp._IO_putc;
    0x0000409c addiu a0, zero, 0xa       |     a0 = 0xa;
    0x000040a0 lw a1, (v0)               |     a1 = *(v0);
    0x000040a4 jalr t9                   |     t9 ();
    0x000040a8 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000040ac b 0x4058                  |     goto label_6;
                                         | label_26:
    0x000040b0 move a0, zero             |     a0 = 0;
                                         |     if (v1 == 0) {
    0x000040b4 bnez v1, 0x40d0           |         
    0x000040b8 lw t9, -0x7fd8(gp)        |         t9 = *(gp);
    0x000040bc addiu t9, t9, -0x4178     |         t9 += -0x4178;
    0x000040c0 bal 0xbe88                |         fcn_0000be88 ();
    0x000040c4 nop                       |         
    0x000040c8 lw gp, 0x18(fp)           |         gp = *(arg_18h);
    0x000040cc b 0x4044                  |         goto label_7;
                                         |     }
    0x000040d0 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x000040d4 addiu t9, t9, -0x2624     |     t9 += -0x2624;
    0x000040d8 bal 0xd9dc                |     fcn_0000d9dc ();
    0x000040dc nop                       |     
    0x000040e0 lw gp, 0x18(fp)           |     gp = *(arg_18h);
    0x000040e4 b 0x4044                  |     goto label_7;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/aplay @ 0xd84c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.create_path ()               | void create_path () {
    0x0000d84c lui gp, 2                     |     
    0x0000d850 addiu gp, gp, -0x80c          |     
    0x0000d854 addu gp, gp, t9               |     gp += t9;
    0x0000d858 addiu sp, sp, -0x38           |     
    0x0000d85c addiu v0, zero, 0x2f          |     v0 = 0x2f;
    0x0000d860 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0000d864 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0000d868 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0000d86c sw s5, 0x30(sp)               |     *(var_30h) = s5;
    0x0000d870 sw s4, 0x2c(sp)               |     *(var_2ch) = s4;
    0x0000d874 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0000d878 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0000d87c sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0000d880 lb v1, (a0)                   |     v1 = *(a0);
    0x0000d884 move s2, a0                   |     s2 = a0;
    0x0000d888 lw t9, -0x7d3c(gp)            |     t9 = sym.imp.strchr;
    0x0000d88c addiu a1, zero, 0x2f          |     a1 = 0x2f;
                                             |     if (v1 == v0) {
    0x0000d890 beq v1, v0, 0xd95c            |         goto label_1;
                                             |     }
    0x0000d894 jalr t9                       |     t9 ();
    0x0000d898 nop                           |     
    0x0000d89c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0000d8a0 move s0, v0                   |     s0 = v0;
                                             | label_0:
    0x0000d8a4 addiu s4, zero, -1            |     s4 = -1;
                                             |     if (s0 == 0) {
    0x0000d8a8 beqz s0, 0xd930               |         goto label_2;
                                             |     }
    0x0000d8ac addiu s5, zero, 0x11          |     s5 = 0x11;
                                             |     do {
    0x0000d8b0 lw t9, -0x7f38(gp)            |         t9 = sym.imp.strdup;
    0x0000d8b4 move a0, s2                   |         a0 = s2;
    0x0000d8b8 jalr t9                       |         t9 ();
    0x0000d8bc lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0000d8c0 move s1, v0                   |         s1 = v0;
    0x0000d8c4 subu v0, s0, s2               |         __asm ("subu v0, s0, s2");
    0x0000d8c8 addu v0, s1, v0               |         v0 = s1 + v0;
    0x0000d8cc lw t9, -0x7ce4(gp)            |         t9 = sym.imp.mkdir;
    0x0000d8d0 addiu a1, zero, 0x1ed         |         a1 = 0x1ed;
    0x0000d8d4 move a0, s1                   |         a0 = s1;
    0x0000d8d8 sb zero, (v0)                 |         *(v0) = 0;
    0x0000d8dc jalr t9                       |         t9 ();
    0x0000d8e0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0000d8e4 move s3, v0                   |         s3 = v0;
    0x0000d8e8 lw t9, -0x7cc8(gp)            |         t9 = sym.imp.__errno_location;
                                             |         if (v0 == s4) {
    0x0000d8ec bne v0, s4, 0xd904            |             
    0x0000d8f0 jalr t9                       |             t9 ();
    0x0000d8f4 nop                           |             
    0x0000d8f8 lw v0, (v0)                   |             v0 = *(v0);
    0x0000d8fc lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |             if (v0 != s5) {
    0x0000d900 bne v0, s5, 0xd970            |                 goto label_3;
                                             |             }
                                             |         }
    0x0000d904 lw t9, -0x7dd4(gp)            |         t9 = sym.imp.free;
    0x0000d908 move a0, s1                   |         a0 = s1;
    0x0000d90c jalr t9                       |         t9 ();
    0x0000d910 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0000d914 addiu a0, s0, 1               |         a0 = s0 + 1;
    0x0000d918 lw t9, -0x7d3c(gp)            |         t9 = sym.imp.strchr;
    0x0000d91c addiu a1, zero, 0x2f          |         a1 = 0x2f;
    0x0000d920 jalr t9                       |         t9 ();
    0x0000d924 move s0, v0                   |         s0 = v0;
    0x0000d928 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0000d92c bnez v0, 0xd8b0               |         
                                             |     } while (v0 != 0);
                                             | label_2:
    0x0000d930 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x0000d934 move s3, zero                 |     s3 = 0;
    0x0000d938 move v0, s3                   |     v0 = s3;
    0x0000d93c lw s5, 0x30(sp)               |     s5 = *(var_30h);
    0x0000d940 lw s4, 0x2c(sp)               |     s4 = *(var_2ch);
    0x0000d944 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0000d948 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0000d94c lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0000d950 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0000d954 addiu sp, sp, 0x38            |     
    0x0000d958 jr ra                         |     return v0;
                                             | label_1:
    0x0000d95c addiu a0, a0, 1               |     a0++;
    0x0000d960 jalr t9                       |     t9 ();
    0x0000d964 move s0, v0                   |     s0 = v0;
    0x0000d968 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0000d96c b 0xd8a4                      |     goto label_0;
                                             | label_3:
    0x0000d970 lw v0, -0x7e24(gp)            |     v0 = *((gp - 8073));
    0x0000d974 lw a2, -0x7fd8(gp)            |     a2 = *(gp);
    0x0000d978 lw t9, -0x7d04(gp)            |     t9 = sym.imp.__fprintf_chk
    0x0000d97c lw a0, (v0)                   |     a0 = *(v0);
    0x0000d980 move a3, s1                   |     a3 = s1;
                                             |     /* str.Problem_creating_directory__s */
    0x0000d984 addiu a2, a2, 0x3848          |     a2 += 0x3848;
    0x0000d988 addiu a1, zero, 1             |     a1 = 1;
    0x0000d98c jalr t9                       |     t9 ();
    0x0000d990 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0000d994 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x0000d998 lw t9, -0x7db0(gp)            |     t9 = sym.imp.perror;
    0x0000d99c addiu a0, a0, 0x2b68          |     a0 += 0x2b68;
    0x0000d9a0 jalr t9                       |     t9 ();
    0x0000d9a4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0000d9a8 lw t9, -0x7dd4(gp)            |     t9 = sym.imp.free;
    0x0000d9ac move a0, s1                   |     a0 = s1;
    0x0000d9b0 jalr t9                       |     t9 ();
    0x0000d9b4 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x0000d9b8 move v0, s3                   |     v0 = s3;
    0x0000d9bc lw s5, 0x30(sp)               |     s5 = *(var_30h);
    0x0000d9c0 lw s4, 0x2c(sp)               |     s4 = *(var_2ch);
    0x0000d9c4 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0000d9c8 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0000d9cc lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0000d9d0 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0000d9d4 addiu sp, sp, 0x38            |     
    0x0000d9d8 jr ra                         |     return v0;
                                             | }

[*] Function fprintf used 117 times aplay