[*] Binary protection state of aplay

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


[*] Function mmap tear down of aplay

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/aplay @ 0x408a64 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) main ()                          | int32_t main () {
    0x00408a64 addiu sp, sp, -0x68           |     
    0x00408a68 sw ra, 0x64(sp)               |     *(var_64h) = ra;
    0x00408a6c sw fp, 0x60(sp)               |     *(var_60h) = fp;
    0x00408a70 sw s7, 0x5c(sp)               |     *(var_5ch) = s7;
    0x00408a74 sw s6, 0x58(sp)               |     *(var_58h) = s6;
    0x00408a78 sw s5, 0x54(sp)               |     *(var_54h) = s5;
    0x00408a7c sw s4, 0x50(sp)               |     *(var_50h) = s4;
    0x00408a80 sw s3, 0x4c(sp)               |     *(var_4ch) = s3;
    0x00408a84 sw s2, 0x48(sp)               |     *(var_48h) = s2;
    0x00408a88 sw s1, 0x44(sp)               |     *(var_44h) = s1;
    0x00408a8c sw s0, 0x40(sp)               |     *(var_40h) = s0;
    0x00408a90 move fp, sp                   |     fp = sp;
    0x00408a94 move s4, a0                   |     s4 = a0;
    0x00408a98 lui s2, 0x42                  |     s2 = 0x420000;
    0x00408a9c move s5, a1                   |     s5 = a1;
    0x00408aa0 jal 0x40dba0                  |     fcn_0040dba0 ();
    0x00408aa4 addiu v0, v0, 0xe             |     v0 += 0xe;
    0x00408aa8 lui s1, 0x42                  |     s1 = 0x420000;
    0x00408aac srl t8, v0, 3                 |     t8 = v0 >> 3;
    0x00408ab0 sll t8, t8, 3                 |     t8 <<= 3;
    0x00408ab4 subu sp, sp, t8               |     
    0x00408ab8 addiu v1, sp, 0x18            |     v1 = sp + 0x18;
    0x00408abc sw v1, 0x34(fp)               |     *(arg_34h) = v1;
    0x00408ac0 jal 0x40dba0                  |     fcn_0040dba0 ();
    0x00408ac4 move a1, zero                 |     a1 = 0;
    0x00408ac8 lw a0, 0x34(fp)               |     a0 = *(arg_34h);
    0x00408acc move a2, v0                   |     a2 = v0;
    0x00408ad0 jal 0x40d510                  |     fcn_0040d510 ();
    0x00408ad4 addiu a0, s1, -0x1c48         |     a0 = s1 + -0x1c48;
    0x00408ad8 lw a1, -0x1d00(s2)            |     a1 = *((s2 - 1856));
    0x00408adc move a2, zero                 |     a2 = 0;
    0x00408ae0 jal 0x40d780                  |     fcn_0040d780 ();
    0x00408ae4 lui s7, 0x41                  |     s7 = 0x410000;
                                             |     if (v0 < 0) {
    0x00408ae8 bgez v0, 0x408b0c             |         
    0x00408aec lui a0, 0x41                  |         a0 = 0x410000;
    0x00408af0 lui a1, 0x41                  |         a1 = 0x410000;
    0x00408af4 lui a3, 0x41                  |         a3 = 0x410000;
                                             |         /* str.err___0 */
    0x00408af8 addiu a0, a0, -0x42a8         |         a0 += -0x42a8;
                                             |         /* str..._.._.._aplay_aplay.c */
    0x00408afc addiu a1, a1, -0x429c         |         a1 += -0x429c;
    0x00408b00 addiu a2, zero, 0x1f1         |         a2 = 0x1f1;
                                             |         /* str.main */
    0x00408b04 addiu a3, a3, -0x2e94         |         a3 += -0x2e94;
    0x00408b08 jal 0x40da70                  |         fcn_0040da70 ();
                                             |     }
    0x00408b0c lw s6, (s5)                   |     s6 = *(s5);
    0x00408b10 addiu t8, zero, -1            |     t8 = -1;
    0x00408b14 lui s1, 0x42                  |     s1 = 0x420000;
    0x00408b18 lui s3, 0x42                  |     s3 = 0x420000;
    0x00408b1c move a0, s6                   |     a0 = s6;
                                             |     /* str.arecord */
    0x00408b20 addiu a1, s7, -0x387c         |     a1 = s7 + -0x387c;
    0x00408b24 move s0, s2                   |     s0 = s2;
    0x00408b28 sw s6, -0x1bbc(s1)            |     *((s1 - 1775)) = s6;
    0x00408b2c sw t8, -0x1d3c(s3)            |     *((s3 - 1871)) = t8;
    0x00408b30 jal 0x40d6f0                  |     fcn_0040d6f0 ();
    0x00408b34 addiu t8, zero, 1             |     t8 = 1;
                                             |     if (v0 != 0) {
    0x00408b38 beqz v0, 0x408b68             |         
    0x00408b3c lui v0, 0x42                  |         v0 = 0x420000;
    0x00408b40 sw t8, -0x1be8(v0)            |         *((v0 - 1786)) = t8;
    0x00408b44 addiu v0, zero, 2             |         v0 = 2;
    0x00408b48 sw v0, -0x1d3c(s3)            |         *((s3 - 1871)) = v0;
                                             |         /* str.arecord */
    0x00408b4c addiu v0, s7, -0x387c         |         v0 = s7 + -0x387c;
    0x00408b50 sw v0, -0x1bbc(s1)            |         *((s1 - 1775)) = v0;
    0x00408b54 lui v0, 0x42                  |         v0 = 0x420000;
    0x00408b58 sw t8, -0x1c10(v0)            |         *((v0 - 1796)) = t8;
    0x00408b5c lui t8, 0x42                  |         t8 = 0x420000;
    0x00408b60 j 0x408bd4                    |         goto label_2;
    0x00408b64 lw a0, -0x1cf0(t8)            |         a0 = *((t8 - 1852));
                                             |     }
    0x00408b68 lui s7, 0x41                  |     s7 = 0x410000;
    0x00408b6c move a0, s6                   |     a0 = s6;
                                             |     /* str.aplay */
    0x00408b70 addiu a1, s7, -0x3874         |     a1 = s7 + -0x3874;
    0x00408b74 jal 0x40d6f0                  |     fcn_0040d6f0 ();
    0x00408b78 lui t8, 0x42                  |     t8 = 0x420000;
                                             |     if (v0 != 0) {
    0x00408b7c beqz v0, 0x408b98             |         
                                             |         /* str.aplay */
    0x00408b80 addiu s7, s7, -0x3874         |         s7 += -0x3874;
    0x00408b84 sw zero, -0x1be8(t8)          |         *((t8 - 7144)) = 0;
    0x00408b88 lui t8, 0x42                  |         t8 = 0x420000;
    0x00408b8c sw s7, -0x1bbc(s1)            |         *((s1 - 1775)) = s7;
    0x00408b90 j 0x408bd4                    |         goto label_2;
    0x00408b94 lw a0, -0x1ce8(t8)            |         a0 = *((t8 - 1850));
                                             |     }
    0x00408b98 addiu t8, zero, 0x200         |     t8 = 0x200;
    0x00408b9c lui a1, 0x41                  |     a1 = 0x410000;
    0x00408ba0 lw a0, -0x1d00(s2)            |     a0 = *((s2 - 1856));
    0x00408ba4 lui a3, 0x41                  |     a3 = 0x410000;
    0x00408ba8 sw t8, 0x10(sp)               |     *(var_10h) = t8;
                                             |     /* str._s:__s:_d:_ */
    0x00408bac addiu a1, a1, -0x45e0         |     a1 += -0x45e0;
    0x00408bb0 move a2, s6                   |     a2 = s6;
                                             |     /* esilref: 'main' */
    0x00408bb4 addiu a3, a3, -0x2e9c         |     a3 += -0x2e9c;
    0x00408bb8 jal 0x40d880                  |     fcn_0040d880 ();
    0x00408bbc lui a0, 0x41                  |     a0 = 0x410000;
    0x00408bc0 lw a1, -0x1d00(s2)            |     a1 = *((s2 - 1856));
                                             |     /* str.command_should_be_named_either_arecord_or_aplay */
    0x00408bc4 addiu a0, a0, -0x386c         |     a0 += -0x386c;
    0x00408bc8 jal 0x40da60                  |     fcn_0040da60 ();
    0x00408bcc j 0x409678                    |     goto label_3;
    0x00408bd0 lw a1, -0x1d00(s2)            |     a1 = *((s2 - 1856));
                                             | label_2:
    0x00408bd4 jal 0x40dc00                  |     fcn_0040dc00 ();
    0x00408bd8 nop                           |     
    0x00408bdc move a0, v0                   |     a0 = v0;
    0x00408be0 jal 0x40db70                  |     fcn_0040db70 ();
    0x00408be4 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (v0 == 0) {
    0x00408be8 beqz v0, 0x408c08             |         goto label_4;
                                             |     }
    0x00408bec addiu t8, zero, 1             |     t8 = 1;
    0x00408bf0 lui s6, 0x42                  |     s6 = 0x420000;
                                             |     if (s4 != t8) {
    0x00408bf4 bne s4, t8, 0x408c0c          |         goto label_5;
                                             |     }
    0x00408bf8 lw a0, -0x1bbc(s1)            |     a0 = *((s1 - 1775));
    0x00408bfc jal 0x409a94                  |     fcn_00409a94 ();
                                             |     do {
                                             | label_0:
    0x00408c00 j 0x40986c                    |         goto label_6;
    0x00408c04 addiu v0, zero, 1             |         v0 = 1;
                                             | label_4:
    0x00408c08 lui s6, 0x42                  |         s6 = 0x420000;
                                             | label_5:
    0x00408c0c lui t8, 0x42                  |         t8 = 0x420000;
    0x00408c10 addiu s2, s6, -0x1bd8         |         s2 = s6 + -0x1bd8;
    0x00408c14 sw v0, -0x1bfc(t8)            |         *((t8 - 7164)) = v0;
    0x00408c18 addiu v0, zero, 1             |         v0 = 1;
    0x00408c1c sw v0, -0x1bd8(s6)            |         *((s6 - 1782)) = v0;
    0x00408c20 addiu v1, zero, 0x1f40        |         v1 = 0x1f40;
    0x00408c24 sw v0, 4(s2)                  |         *((s2 + 1)) = v0;
    0x00408c28 lui v0, 0x41                  |         v0 = "default";
                                             |         /* str.default */
    0x00408c2c addiu v0, v0, -0x3884         |         
    0x00408c30 sw v1, 8(s2)                  |         *((s2 + 2)) = v1;
    0x00408c34 sw zero, 0x28(fp)             |         *(argv) = 0;
    0x00408c38 sw zero, 0x30(fp)             |         *(arg_30h) = 0;
    0x00408c3c sw v0, 0x2c(fp)               |         *(envp) = v0;
    0x00408c40 addiu t8, fp, 0x20            |         t8 = fp + 0x20;
    0x00408c44 lui a2, 0x41                  |         a2 = 0x410000;
    0x00408c48 lui a3, 0x41                  |         a3 = 0x410000;
    0x00408c4c move a0, s4                   |         a0 = s4;
    0x00408c50 sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x00408c54 move a1, s5                   |         a1 = s5;
                                             |         /* str.hnlLD:qt:c:f:r:d:MNF:A:R:T:B:vV:IPCim: */
    0x00408c58 addiu a2, a2, -0x2ec4         |         a2 += -0x2ec4;
                                             |         /* esilref: 'help' */
    0x00408c5c addiu a3, a3, -0x3154         |         a3 += -0x3154;
    0x00408c60 jal 0x40dce0                  |         fcn_0040dce0 ();
    0x00408c64 addiu t8, zero, -1            |         t8 = -1;
    0x00408c68 addiu v0, v0, -1              |         v0 += -1;
                                             |         if (v0 == t8) {
    0x00408c6c beq v0, t8, 0x409338          |             goto label_7;
                                             |         }
    0x00408c70 sltiu t8, v0, 0x76            |         t8 = (v0 < 0x76) ? 1 : 0;
    0x00408c74 lui t8, 0x41                  |         t8 = 0x410000;
                                             |         if (t8 != 0) {
    0x00408c78 beqz t8, 0x409300             |             
    0x00408c7c sll v0, v0, 2                 |             v0 <<= 2;
    0x00408c80 addiu t8, t8, -0x346c         |             t8 += -0x346c;
    0x00408c84 addu v0, t8, v0               |             v0 = t8 + v0;
    0x00408c88 lw t8, (v0)                   |             t8 = *(v0);
    0x00408c8c jr t8                         |             t8 ();
    0x00408c90 nop                           |             
                                             |         }
    0x00409300 lui a1, 0x41                  |         a1 = 0x410000;
    0x00409304 lw a0, -0x1d00(s0)            |         a0 = *((s0 - 1856));
                                             |         /* str.Try___s___help_for_more_information._n */
    0x00409308 addiu a1, a1, -0x3748         |         a1 += -0x3748;
    0x0040930c lw a2, -0x1bbc(s1)            |         a2 = *((s1 - 1775));
    0x00409310 jal 0x40d880                  |         fcn_0040d880 ();
    0x00409314 nop                           |         
    0x00409318 j 0x408c00                    |         
                                             |     } while (1);
    0x0040931c nop                           |     
                                             | label_7:
    0x00409338 lw t8, 0x30(fp)               |     t8 = *(arg_30h);
    0x0040933c lw t8, 0x28(fp)               |     t8 = *(argv);
                                             |     if (t8 != 0) {
    0x00409340 beqz t8, 0x409368             |         
    0x00409344 lw v1, 0x28(fp)               |         v1 = *(argv);
                                             |         if (v1 != 0) {
    0x00409348 beqz v1, 0x409358             |             
    0x0040934c nop                           |             
    0x00409350 jal 0x402ab8                  |             fcn_00402ab8 ();
    0x00409354 nop                           |             
                                             |         }
    0x00409358 jal 0x40240c                  |         fcn_0040240c ();
    0x0040935c nop                           |         
    0x00409360 j 0x409850                    |         goto label_8;
    0x00409364 lui v1, 0x42                  |         v1 = 0x420000;
                                             |     }
    0x00409368 lui v0, 0x42                  |     v0 = 0x420000;
                                             |     if (t8 != 0) {
    0x0040936c beqz t8, 0x409380             |         
    0x00409370 jal 0x402ab8                  |         fcn_00402ab8 ();
    0x00409374 nop                           |         
    0x00409378 j 0x409850                    |         goto label_8;
    0x0040937c lui v1, 0x42                  |         v1 = 0x420000;
                                             |     }
    0x00409380 lui s3, 0x42                  |     s3 = 0x420000;
    0x00409384 lui s7, 0x42                  |     s7 = 0x420000;
    0x00409388 lw a1, 0x2c(fp)               |     a1 = *(envp);
    0x0040938c addiu a0, s7, -0x1bc0         |     a0 = s7 + -0x1bc0;
    0x00409390 lw a2, -0x1be8(s3)            |     a2 = *((s3 - 1786));
    0x00409394 lw a3, -0x1be4(v0)            |     a3 = *((v0 - 1785));
    0x00409398 jal 0x40d590                  |     fcn_0040d590 ();
    0x0040939c lw a2, -0x1bbc(s1)            |     a2 = *((s1 - 1775));
                                             |     if (v0 < 0) {
    0x004093a0 bgez v0, 0x4093e8             |         
    0x004093a4 addiu t8, zero, 0x2d2         |         t8 = 0x2d2;
    0x004093a8 lw a0, -0x1d00(s0)            |         a0 = *((s0 - 1856));
    0x004093ac lui a1, 0x41                  |         a1 = 0x410000;
    0x004093b0 lui a3, 0x41                  |         a3 = 0x410000;
                                             |         /* str._s:__s:_d:_ */
    0x004093b4 addiu a1, a1, -0x45e0         |         a1 += -0x45e0;
    0x004093b8 sw t8, 0x10(sp)               |         *(var_10h) = t8;
                                             |         /* esilref: 'main' */
    0x004093bc addiu a3, a3, -0x2e9c         |         a3 += -0x2e9c;
    0x004093c0 sw v0, 0x38(fp)               |         *(arg_38h) = v0;
    0x004093c4 jal 0x40d880                  |         fcn_0040d880 ();
    0x004093c8 lw v1, 0x38(fp)               |         v1 = *(arg_38h);
    0x004093cc lw s1, -0x1d00(s0)            |         s1 = *((s0 - 1856));
    0x004093d0 move a0, v1                   |         a0 = v1;
    0x004093d4 jal 0x40d580                  |         fcn_0040d580 ();
    0x004093d8 lui a1, 0x41                  |         a1 = 0x410000;
    0x004093dc move a0, s1                   |         a0 = s1;
    0x004093e0 j 0x4094a8                    |         goto label_9;
                                             |         /* str.audio_open_error:__s */
    0x004093e4 addiu a1, a1, -0x3720         |         a1 += -0x3720;
                                             |     }
    0x004093e8 lw a0, -0x1bc0(s7)            |     a0 = *((s7 - 1776));
    0x004093ec lw a1, 0x34(fp)               |     a1 = *(arg_34h);
    0x004093f0 jal 0x40d380                  |     fcn_0040d380 ();
    0x004093f4 lw a2, -0x1bbc(s1)            |     a2 = *((s1 - 1775));
                                             |     if (v0 < 0) {
    0x004093f8 bgez v0, 0x409440             |         
    0x004093fc addiu t8, zero, 0x2d7         |         t8 = 0x2d7;
    0x00409400 lw a0, -0x1d00(s0)            |         a0 = *((s0 - 1856));
    0x00409404 lui a1, 0x41                  |         a1 = 0x410000;
    0x00409408 lui a3, 0x41                  |         a3 = 0x410000;
                                             |         /* str._s:__s:_d:_ */
    0x0040940c addiu a1, a1, -0x45e0         |         a1 += -0x45e0;
    0x00409410 sw t8, 0x10(sp)               |         *(var_10h) = t8;
                                             |         /* esilref: 'main' */
    0x00409414 addiu a3, a3, -0x2e9c         |         a3 += -0x2e9c;
    0x00409418 sw v0, 0x38(fp)               |         *(arg_38h) = v0;
    0x0040941c jal 0x40d880                  |         fcn_0040d880 ();
    0x00409420 lw v1, 0x38(fp)               |         v1 = *(arg_38h);
    0x00409424 lw s1, -0x1d00(s0)            |         s1 = *((s0 - 1856));
    0x00409428 move a0, v1                   |         a0 = v1;
    0x0040942c jal 0x40d580                  |         fcn_0040d580 ();
    0x00409430 lui a1, 0x41                  |         a1 = 0x410000;
    0x00409434 move a0, s1                   |         a0 = s1;
    0x00409438 j 0x4094a8                    |         goto label_9;
                                             |         /* str.info_error:__s */
    0x0040943c addiu a1, a1, -0x3708         |         a1 += -0x3708;
                                             |     }
    0x00409440 lui v0, 0x42                  |     v0 = 0x420000;
    0x00409444 lw v0, -0x1bf0(v0)            |     v0 = *((v0 - 1788));
    0x00409448 addiu t8, zero, 0x400         |     t8 = 0x400;
                                             |     if (v0 != 0) {
    0x0040944c beqz v0, 0x4094c0             |         
    0x00409450 lw a0, -0x1bc0(s7)            |         a0 = *((s7 - 1776));
    0x00409454 addiu a1, zero, 1             |         a1 = 1;
    0x00409458 jal 0x40d5c0                  |         fcn_0040d5c0 ();
    0x0040945c move t8, v0                   |         t8 = v0;
                                             |         if (v0 < 0) {
    0x00409460 bgez v0, 0x4094bc             |             
    0x00409464 lw a2, -0x1bbc(s1)            |             a2 = *((s1 - 1775));
    0x00409468 addiu v0, zero, 0x2de         |             v0 = 0x2de;
    0x0040946c lw a0, -0x1d00(s0)            |             a0 = *((s0 - 1856));
    0x00409470 lui a1, 0x41                  |             a1 = 0x410000;
    0x00409474 lui a3, 0x41                  |             a3 = 0x410000;
                                             |             /* str._s:__s:_d:_ */
    0x00409478 addiu a1, a1, -0x45e0         |             a1 += -0x45e0;
                                             |             /* esilref: 'main' */
    0x0040947c addiu a3, a3, -0x2e9c         |             a3 += -0x2e9c;
    0x00409480 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x00409484 sw t8, 0x3c(fp)               |             *(arg_3ch) = t8;
    0x00409488 jal 0x40d880                  |             fcn_0040d880 ();
    0x0040948c lw t8, 0x3c(fp)               |             t8 = *(arg_3ch);
    0x00409490 lw s1, -0x1d00(s0)            |             s1 = *((s0 - 1856));
    0x00409494 move a0, t8                   |             a0 = t8;
    0x00409498 jal 0x40d580                  |             fcn_0040d580 ();
    0x0040949c lui a1, 0x41                  |             a1 = 0x410000;
    0x004094a0 move a0, s1                   |             a0 = s1;
                                             |             /* str.nonblock_setting_error:__s */
    0x004094a4 addiu a1, a1, -0x36f8         |             a1 += -0x36f8;
                                             | label_9:
    0x004094a8 move a2, v0                   |             a2 = v0;
    0x004094ac jal 0x40d880                  |             fcn_0040d880 ();
    0x004094b0 nop                           |             
    0x004094b4 j 0x409678                    |             goto label_3;
    0x004094b8 lw a1, -0x1d00(s0)            |             a1 = *((s0 - 1856));
                                             |         }
    0x004094bc addiu t8, zero, 0x400         |         t8 = 0x400;
                                             |     }
    0x004094c0 lui v0, 0x42                  |     v0 = 0x420000;
    0x004094c4 sw t8, -0x1bfc(v0)            |     *((v0 - 1791)) = t8;
    0x004094c8 lui t8, 0x42                  |     t8 = 0x420000;
    0x004094cc lw v0, -0x1bd8(s6)            |     v0 = *((s6 - 1782));
    0x004094d0 addiu a0, zero, 0x400         |     a0 = 0x400;
    0x004094d4 sw v0, -0x1bcc(t8)            |     *((t8 - 7116)) = v0;
    0x004094d8 addiu t8, t8, -0x1bcc         |     t8 += -0x1bcc;
    0x004094dc lw v0, 4(s2)                  |     v0 = *((s2 + 1));
    0x004094e0 sw v0, 4(t8)                  |     *((t8 + 4)) = v0;
    0x004094e4 lw v0, 8(s2)                  |     v0 = *((s2 + 2));
    0x004094e8 sw v0, 8(t8)                  |     *((t8 + 8)) = v0;
    0x004094ec jal 0x40d560                  |     fcn_0040d560 ();
    0x004094f0 lui t8, 0x42                  |     t8 = 0x420000;
    0x004094f4 sw v0, -0x1bf8(t8)            |     *((t8 - 7160)) = v0;
                                             |     if (v0 == 0) {
    0x004094f8 bnez v0, 0x409538             |         
    0x004094fc lw a0, -0x1d00(s0)            |         a0 = *((s0 - 1856));
    0x00409500 addiu t8, zero, 0x2e8         |         t8 = 0x2e8;
    0x00409504 lw a2, -0x1bbc(s1)            |         a2 = *((s1 - 1775));
    0x00409508 lui a1, 0x41                  |         a1 = 0x410000;
    0x0040950c lui a3, 0x41                  |         a3 = 0x410000;
                                             |         /* str._s:__s:_d:_ */
    0x00409510 addiu a1, a1, -0x45e0         |         a1 += -0x45e0;
    0x00409514 sw t8, 0x10(sp)               |         *(var_10h) = t8;
                                             |         /* esilref: 'main' */
    0x00409518 addiu a3, a3, -0x2e9c         |         a3 += -0x2e9c;
    0x0040951c jal 0x40d880                  |         fcn_0040d880 ();
    0x00409520 lui a0, 0x41                  |         a0 = 0x410000;
    0x00409524 lw a1, -0x1d00(s0)            |         a1 = *((s0 - 1856));
                                             |         /* str.not_enough_memory */
    0x00409528 addiu a0, a0, -0x4134         |         a0 += -0x4134;
    0x0040952c jal 0x40da60                  |         fcn_0040da60 ();
    0x00409530 j 0x409678                    |         goto label_3;
    0x00409534 lw a1, -0x1d00(s0)            |         a1 = *((s0 - 1856));
                                             |     }
    0x00409538 lui t8, 0x42                  |     t8 = 0x420000;
    0x0040953c lui a0, 0x42                  |     a0 = 0x420000;
    0x00409540 lw a1, -0x1bec(t8)            |     a1 = *((t8 - 1787));
    0x00409544 lui v1, 0x42                  |     v1 = 0x420000;
    0x00409548 lui v0, 0x42                  |     v0 = 0x420000;
    0x0040954c lui t8, 0x42                  |     t8 = 0x420000;
                                             |     if (a1 != 0) {
    0x00409550 beqz a1, 0x409584             |         
    0x00409554 lui a1, 0x41                  |         a1 = imp.snd_pcm_mmap_writei
                                             |         /* sym.imp.snd_pcm_mmap_writei */
    0x00409558 addiu a1, a1, -0x2970         |         
    0x0040955c sw a1, -0x1bb0(a0)            |         *((a0 - 1772)) = a1;
    0x00409560 lui a0, 0x41                  |         a0 = imp.snd_pcm_mmap_readi
                                             |         /* sym.imp.snd_pcm_mmap_readi */
    0x00409564 addiu a0, a0, -0x2360         |         
    0x00409568 sw a0, -0x1bac(v1)            |         *((v1 - 1771)) = a0;
    0x0040956c lui v1, 0x41                  |         v1 = imp.snd_pcm_mmap_writen
                                             |         /* sym.imp.snd_pcm_mmap_writen */
    0x00409570 addiu v1, v1, -0x2b00         |         
    0x00409574 sw v1, -0x1bb8(v0)            |         *((v0 - 1774)) = v1;
    0x00409578 lui v0, 0x41                  |         v0 = 0x410000;
    0x0040957c j 0x4095b0                    |         goto label_10;
                                             |         /* sym.imp.snd_pcm_mmap_readn */
    0x00409580 addiu v0, v0, -0x2380         |         v0 += -0x2380;
                                             |     }
    0x00409584 lui a1, 0x41                  |     a1 = imp.snd_pcm_writei;
                                             |     /* sym.imp.snd_pcm_writei */
    0x00409588 addiu a1, a1, -0x2510         |     
    0x0040958c sw a1, -0x1bb0(a0)            |     *((a0 - 1772)) = a1;
    0x00409590 lui a0, 0x41                  |     a0 = imp.snd_pcm_readi;
                                             |     /* sym.imp.snd_pcm_readi */
    0x00409594 addiu a0, a0, -0x2690         |     
    0x00409598 sw a0, -0x1bac(v1)            |     *((v1 - 1771)) = a0;
    0x0040959c lui v1, 0x41                  |     v1 = imp.snd_pcm_writen;
                                             |     /* sym.imp.snd_pcm_writen */
    0x004095a0 addiu v1, v1, -0x2530         |     
    0x004095a4 sw v1, -0x1bb8(v0)            |     *((v0 - 1774)) = v1;
    0x004095a8 lui v0, 0x41                  |     v0 = imp.snd_pcm_readn;
                                             |     /* sym.imp.snd_pcm_readn */
    0x004095ac addiu v0, v0, -0x25f0         |     
                                             | label_10:
    0x004095b0 lui s6, 0x42                  |     s6 = 0x420000;
    0x004095b4 lw a0, -0x1c74(s6)            |     a0 = *((s6 - 1821));
    0x004095b8 sw v0, -0x1bb4(t8)            |     *((t8 - 7092)) = v0;
                                             |     if (a0 != 0) {
    0x004095bc beqz a0, 0x4096cc             |         
    0x004095c0 sw a0, 0x38(fp)               |         *(arg_38h) = a0;
    0x004095c4 jal 0x40da00                  |         fcn_0040da00 ();
    0x004095c8 lui a1, 0x41                  |         a1 = 0x410000;
    0x004095cc lw a0, 0x38(fp)               |         a0 = *(arg_38h);
    0x004095d0 addiu a1, a1, -0x36dc         |         a1 += -0x36dc;
    0x004095d4 sw zero, (v0)                 |         *(v0) = 0;
    0x004095d8 move s2, v0                   |         s2 = v0;
    0x004095dc jal 0x40dbc0                  |         fcn_0040dbc0 ();
    0x004095e0 lui t8, 0x42                  |         t8 = 0x420000;
    0x004095e4 sw v0, -0x1cd0(t8)            |         *((t8 - 7376)) = v0;
                                             |         if (v0 != 0) {
    0x004095e8 beqz v0, 0x409628             |             
    0x004095ec sw t8, 0x3c(fp)               |             *(arg_3ch) = t8;
    0x004095f0 sw v0, 0x38(fp)               |             *(arg_38h) = v0;
    0x004095f4 jal 0x40d4d0                  |             fcn_0040d4d0 ();
    0x004095f8 lui a1, 0x41                  |             a1 = 0x410000;
    0x004095fc lw a0, 0x38(fp)               |             a0 = *(arg_38h);
                                             |             /* esilref: '&d
' */
    0x00409600 addiu a1, a1, -0x36d8         |             a1 += -0x36d8;
    0x00409604 move a2, v0                   |             a2 = v0;
    0x00409608 jal 0x40d880                  |             fcn_0040d880 ();
    0x0040960c lw t8, 0x3c(fp)               |             t8 = *(arg_3ch);
    0x00409610 lw a0, -0x1cd0(t8)            |             a0 = *((t8 - 1844));
    0x00409614 jal 0x40d650                  |             fcn_0040d650 ();
    0x00409618 addiu v0, zero, 1             |             v0 = 1;
    0x0040961c lui t8, 0x42                  |             t8 = 0x420000;
    0x00409620 j 0x4096cc                    |             goto label_11;
    0x00409624 sw v0, -0x1c78(t8)            |             *((t8 - 7288)) = v0;
                                             |         }
    0x00409628 lw a2, -0x1bbc(s1)            |         a2 = *((s1 - 1775));
    0x0040962c addiu t8, zero, 0x301         |         t8 = 0x301;
    0x00409630 lw a0, -0x1d00(s0)            |         a0 = *((s0 - 1856));
    0x00409634 lui a1, 0x41                  |         a1 = 0x410000;
    0x00409638 lui a3, 0x41                  |         a3 = 0x410000;
                                             |         /* str._s:__s:_d:_ */
    0x0040963c addiu a1, a1, -0x45e0         |         a1 += -0x45e0;
                                             |         /* esilref: 'main' */
    0x00409640 addiu a3, a3, -0x2e9c         |         a3 += -0x2e9c;
    0x00409644 sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x00409648 jal 0x40d880                  |         fcn_0040d880 ();
    0x0040964c lw a0, (s2)                   |         a0 = *(s2);
    0x00409650 lw s3, -0x1d00(s0)            |         s3 = *((s0 - 1856));
    0x00409654 lw s1, -0x1c74(s6)            |         s1 = *((s6 - 1821));
    0x00409658 jal 0x40dbb0                  |         fcn_0040dbb0 ();
    0x0040965c lui a1, 0x41                  |         a1 = 0x410000;
    0x00409660 move a0, s3                   |         a0 = s3;
                                             |         /* str.Cannot_create_process_ID_file__s:__s */
    0x00409664 addiu a1, a1, -0x36d4         |         a1 += -0x36d4;
    0x00409668 move a2, s1                   |         a2 = s1;
    0x0040966c move a3, v0                   |         a3 = v0;
    0x00409670 jal 0x40d880                  |         fcn_0040d880 ();
    0x00409674 lw a1, -0x1d00(s0)            |         a1 = *((s0 - 1856));
                                             | label_3:
    0x00409678 lw t8, 0x48(a1)               |         t8 = *((a1 + 18));
                                             |         if (t8 == 0) {
    0x0040967c bnez t8, 0x409694             |             
    0x00409680 nop                           |             
    0x00409684 addiu a0, zero, 0xa           |             a0 = 0xa;
    0x00409688 jal 0x40d9d0                  |             fcn_0040d9d0 ();
    0x0040968c j 0x408c00                    |             goto label_0;
    0x00409690 nop                           |             
                                             |         }
    0x00409694 lw t8, 0x10(a1)               |         t8 = *((a1 + 4));
    0x00409698 lw v0, 0x1c(a1)               |         v0 = *((a1 + 7));
    0x0040969c sltu v0, t8, v0               |         v0 = (t8 < v0) ? 1 : 0;
                                             |         if (v0 != 0) {
    0x004096a0 beqz v0, 0x4096bc             |             
    0x004096a4 nop                           |             
    0x004096a8 addiu v0, t8, 1               |             v0 = t8 + 1;
    0x004096ac sw v0, 0x10(a1)               |             *((a1 + 4)) = v0;
    0x004096b0 addiu v0, zero, 0xa           |             v0 = 0xa;
    0x004096b4 j 0x408c00                    |             goto label_0;
    0x004096b8 sb v0, (t8)                   |             *(t8) = v0;
                                             |         }
    0x004096bc addiu a0, zero, 0xa           |         a0 = 0xa;
    0x004096c0 jal 0x40d860                  |         fcn_0040d860 ();
    0x004096c4 j 0x408c00                    |         goto label_0;
    0x004096c8 nop                           |         
                                             |     }
                                             | label_11:
    0x004096cc lui s0, 0x41                  |     s0 = 0x410000;
    0x004096d0 addiu a0, zero, 2             |     a0 = 2;
    0x004096d4 addiu a1, s0, -0x5a40         |     a1 = s0 + -0x5a40;
    0x004096d8 jal 0x40d4c0                  |     fcn_0040d4c0 ();
    0x004096dc addiu a1, s0, -0x5a40         |     a1 = s0 + -0x5a40;
    0x004096e0 addiu a0, zero, 0xf           |     a0 = 0xf;
    0x004096e4 jal 0x40d4c0                  |     fcn_0040d4c0 ();
    0x004096e8 addiu a1, s0, -0x5a40         |     a1 = s0 + -0x5a40;
    0x004096ec addiu a0, zero, 6             |     a0 = 6;
    0x004096f0 lui s0, 0x42                  |     s0 = 0x420000;
    0x004096f4 jal 0x40d4c0                  |     fcn_0040d4c0 ();
    0x004096f8 lui a1, 0x41                  |     a1 = 0x410000;
    0x004096fc addiu a0, zero, 0x10          |     a0 = 0x10;
    0x00409700 addiu a1, a1, -0x6580         |     a1 += -0x6580;
    0x00409704 jal 0x40d4c0                  |     fcn_0040d4c0 ();
    0x00409708 lui t8, 0x42                  |     t8 = 0x420000;
    0x0040970c lw t8, -0x1d40(t8)            |     t8 = *((t8 - 1872));
    0x00409710 lw t8, -0x1be8(s3)            |     t8 = *((s3 - 1786));
                                             |     if (t8 == 0) {
    0x00409714 beqz t8, 0x40979c             |         goto label_12;
                                             |     }
    0x00409718 lw t8, -0x1cf8(s0)            |     t8 = *((s0 - 1854));
    0x0040971c slt t8, t8, s4                |     t8 = (t8 < s4) ? 1 : 0;
    0x00409720 move s1, s0                   |     s1 = s0;
                                             |     if (t8 != 0) {
    0x00409724 bnez t8, 0x409774             |         goto label_1;
                                             |     }
    0x00409728 lw t8, -0x1be8(s3)            |     t8 = *((s3 - 1786));
    0x0040972c move a0, zero                 |     a0 = 0;
                                             |     if (t8 == 0) {
    0x00409730 bnez t8, 0x409744             |         
    0x00409734 jal 0x405da4                  |         fcn_00405da4 ();
    0x00409738 nop                           |         
    0x0040973c j 0x4097c8                    |         goto label_13;
    0x00409740 nop                           |         
                                             |     }
    0x00409744 jal 0x40820c                  |     fcn_0040820c ();
    0x00409748 nop                           |     
    0x0040974c j 0x4097c8                    |     goto label_13;
    0x00409750 nop                           |     
                                             |     do {
    0x00409754 sll t8, t8, 2                 |         t8 <<= 2;
    0x00409758 lw v1, -0x1be8(s3)            |         v1 = *((s3 - 1786));
    0x0040975c addu t8, s5, t8               |         t8 = s5 + t8;
    0x00409760 sw v0, -0x1cf8(s1)            |         *((s1 - 1854)) = v0;
    0x00409764 lw a0, (t8)                   |         a0 = *(t8);
                                             |         if (v1 != 0) {
    0x00409768 bnez v1, 0x40978c             |             goto label_14;
                                             |         }
    0x0040976c jal 0x405da4                  |         fcn_00405da4 ();
    0x00409770 nop                           |         
                                             | label_1:
    0x00409774 lw t8, -0x1cf8(s0)            |         t8 = *((s0 - 1854));
    0x00409778 slt v0, t8, s4                |         v0 = (t8 < s4) ? 1 : 0;
    0x0040977c addiu v0, t8, 1               |         v0 = t8 + 1;
    0x00409780 bnez v0, 0x409754             |         
                                             |     } while (v0 != 0);
    0x00409784 j 0x4097cc                    |     goto label_15;
    0x00409788 lui t8, 0x42                  |     t8 = 0x420000;
                                             | label_14:
    0x0040978c jal 0x40820c                  |     fcn_0040820c ();
    0x00409790 nop                           |     
    0x00409794 j 0x409774                    |     goto label_1;
    0x00409798 nop                           |     
                                             | label_12:
    0x0040979c lw a1, -0x1cf8(s0)            |     a1 = *((s0 - 1854));
    0x004097a0 sll a0, a1, 2                 |     a0 = a1 << 2;
    0x004097a4 subu a1, s4, a1               |     __asm ("subu a1, s4, a1");
    0x004097a8 addu a0, s5, a0               |     a0 = s5 + a0;
                                             |     if (t8 == 0) {
    0x004097ac bnez t8, 0x4097c0             |         
    0x004097b0 jal 0x4073dc                  |         fcn_004073dc ();
    0x004097b4 nop                           |         
    0x004097b8 j 0x4097c8                    |         goto label_13;
    0x004097bc nop                           |         
                                             |     }
    0x004097c0 jal 0x407bf4                  |     fcn_00407bf4 ();
    0x004097c4 nop                           |     
                                             | label_13:
    0x004097c8 lui t8, 0x42                  |     t8 = 0x420000;
                                             | label_15:
    0x004097cc lw v0, -0x1c28(t8)            |     v0 = *((t8 - 1802));
    0x004097d0 addiu t8, zero, 2             |     t8 = 2;
    0x004097d4 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     if (v0 == t8) {
    0x004097d8 bne v0, t8, 0x409830          |         
    0x004097dc lui t8, 0x42                  |         t8 = 0x420000;
    0x004097e0 lw a1, -0x1cec(t8)            |         a1 = *((t8 - 1851));
    0x004097e4 lw t8, 0x48(a1)               |         t8 = *((a1 + 18));
                                             |         if (t8 != 0) {
    0x004097e8 beqz t8, 0x409824             |             
    0x004097ec nop                           |             
    0x004097f0 lw t8, 0x10(a1)               |             t8 = *((a1 + 4));
    0x004097f4 lw v0, 0x1c(a1)               |             v0 = *((a1 + 7));
    0x004097f8 sltu v0, t8, v0               |             v0 = (t8 < v0) ? 1 : 0;
    0x004097fc addiu v0, t8, 1               |             v0 = t8 + 1;
                                             |             if (v0 != 0) {
    0x00409800 beqz v0, 0x409814             |                 
    0x00409804 sw v0, 0x10(a1)               |                 *((a1 + 4)) = v0;
    0x00409808 addiu v0, zero, 0xa           |                 v0 = 0xa;
    0x0040980c j 0x409830                    |                 goto label_16;
    0x00409810 sb v0, (t8)                   |                 *(t8) = v0;
                                             |             }
    0x00409814 addiu a0, zero, 0xa           |             a0 = 0xa;
    0x00409818 jal 0x40d860                  |             fcn_0040d860 ();
    0x0040981c j 0x40982c                    |             goto label_17;
    0x00409820 nop                           |             
                                             |         }
    0x00409824 addiu a0, zero, 0xa           |         a0 = 0xa;
    0x00409828 jal 0x40d9d0                  |         fcn_0040d9d0 ();
                                             | label_17:
    0x0040982c lui v1, 0x42                  |         v1 = 0x420000;
                                             |     }
                                             | label_16:
    0x00409830 lw a0, -0x1bc0(v1)            |     a0 = *((v1 - 1776));
    0x00409834 jal 0x40d790                  |     fcn_0040d790 ();
    0x00409838 lui v0, 0x42                  |     v0 = 0x420000;
    0x0040983c lw a0, -0x1bf8(v0)            |     a0 = *((v0 - 1790));
    0x00409840 lui t8, 0x42                  |     t8 = 0x420000;
    0x00409844 sw zero, -0x1bc0(t8)          |     *((t8 - 7104)) = 0;
    0x00409848 jal 0x40db30                  |     fcn_0040db30 ();
    0x0040984c lui v1, 0x42                  |     v1 = 0x420000;
                                             | label_8:
    0x00409850 lw a0, -0x1c48(v1)            |     a0 = *((v1 - 1810));
    0x00409854 jal 0x40d7d0                  |     fcn_0040d7d0 ();
    0x00409858 jal 0x40d470                  |     fcn_0040d470 ();
    0x0040985c nop                           |     
    0x00409860 move a0, zero                 |     a0 = 0;
    0x00409864 jal 0x409cdc                  |     fcn_00409cdc ();
    0x00409868 nop                           |     
                                             | label_6:
    0x0040986c move sp, fp                   |     
    0x00409870 lw ra, 0x64(sp)               |     ra = *(var_64h);
    0x00409874 lw fp, 0x60(sp)               |     fp = *(var_60h);
    0x00409878 lw s7, 0x5c(sp)               |     s7 = *(var_5ch);
    0x0040987c lw s6, 0x58(sp)               |     s6 = *(var_58h);
    0x00409880 lw s5, 0x54(sp)               |     s5 = *(var_54h);
    0x00409884 lw s4, 0x50(sp)               |     s4 = *(var_50h);
    0x00409888 lw s3, 0x4c(sp)               |     s3 = *(var_4ch);
    0x0040988c lw s2, 0x48(sp)               |     s2 = *(var_48h);
    0x00409890 lw s1, 0x44(sp)               |     s1 = *(var_44h);
    0x00409894 lw s0, 0x40(sp)               |     s0 = *(var_40h);
    0x00409898 addiu sp, sp, 0x68            |     
    0x0040989c jr ra                         |     return v1;
                                             | }

[*] Function mmap used 8 times aplay