[*] 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