[*] Binary protection state of aplay
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function sprintf 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 @ 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 @ 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 @ 0xd654 */
| #include <stdint.h>
|
; (fcn) sym.mystrftime () | void mystrftime () {
0x0000d654 lui gp, 2 |
0x0000d658 addiu gp, gp, -0x614 |
0x0000d65c addu gp, gp, t9 | gp += t9;
0x0000d660 addiu sp, sp, -0x2058 |
0x0000d664 lw t9, -0x7d60(gp) | t9 = sym.imp.memset;
0x0000d668 sw s2, 0x2038(sp) | *(arg_2038h) = s2;
0x0000d66c lw s2, -0x7e4c(gp) | s2 = *((gp - 8083));
0x0000d670 sw gp, 0x18(sp) | *(arg_18h) = gp;
0x0000d674 sw ra, 0x2054(sp) | *(arg_2054h) = ra;
0x0000d678 lw v0, (s2) | v0 = *(s2);
0x0000d67c sw s6, 0x2048(sp) | *(arg_2048h) = s6;
0x0000d680 sw s5, 0x2044(sp) | *(arg_2044h) = s5;
0x0000d684 sw s4, 0x2040(sp) | *(arg_2040h) = s4;
0x0000d688 sw s0, 0x2030(sp) | *(arg_2030h) = s0;
0x0000d68c sw fp, 0x2050(sp) | *(arg_2050h) = fp;
0x0000d690 sw s7, 0x204c(sp) | *(arg_204ch) = s7;
0x0000d694 sw s3, 0x203c(sp) | *(arg_203ch) = s3;
0x0000d698 sw s1, 0x2034(sp) | *(arg_2034h) = s1;
0x0000d69c move s4, a0 | s4 = a0;
0x0000d6a0 move s5, a1 | s5 = a1;
0x0000d6a4 addiu a0, sp, 0x30 | a0 = sp + 0x30;
0x0000d6a8 move a1, zero | a1 = 0;
0x0000d6ac move s0, a2 | s0 = a2;
0x0000d6b0 sw v0, 0x202c(sp) | *(arg_202ch) = v0;
0x0000d6b4 addiu a2, zero, 0xffc | a2 = 0xffc;
0x0000d6b8 sw zero, 0x2c(sp) | *(arg_2ch) = 0;
0x0000d6bc move s6, a3 | s6 = a3;
0x0000d6c0 jalr t9 | t9 ();
0x0000d6c4 lw gp, 0x18(sp) | gp = *(arg_18h);
0x0000d6c8 addiu a2, zero, 0xffc | a2 = 0xffc;
0x0000d6cc move a1, zero | a1 = 0;
0x0000d6d0 lw t9, -0x7d60(gp) | t9 = sym.imp.memset;
0x0000d6d4 addiu a0, sp, 0x1030 | a0 = sp + 0x1030;
0x0000d6d8 sw zero, 0x102c(sp) | *(arg_102ch) = 0;
0x0000d6dc jalr t9 | t9 ();
0x0000d6e0 lw gp, 0x18(sp) | gp = *(arg_18h);
| if (s0 == 0) {
0x0000d6e4 beqz s0, 0xd834 | goto label_3;
| }
0x0000d6e8 lb v0, (s0) | v0 = *(s0);
0x0000d6ec addiu t1, sp, 0x2c | t1 = sp + 0x2c;
0x0000d6f0 move s1, t1 | s1 = t1;
| if (v0 == 0) {
0x0000d6f4 beqz v0, 0xd79c | goto label_4;
| }
0x0000d6f8 lw s3, -0x7fd8(gp) | s3 = *(gp);
0x0000d6fc addiu fp, zero, 0x25 | fp = 0x25;
0x0000d700 addiu t0, zero, 0x76 | t0 = 0x76;
0x0000d704 addiu t2, sp, 0x102c | t2 = sp + 0x102c;
| /* str._02d */
0x0000d708 addiu s3, s3, 0x3840 | s3 += 0x3840;
0x0000d70c b 0xd72c |
| while (v0 != fp) {
| label_0:
0x0000d710 lbu a0, (s0) | a0 = *(s0);
0x0000d714 move v0, v1 | v0 = v1;
0x0000d718 sb a0, (s1) | *(s1) = a0;
0x0000d71c move s0, s7 | s0 = s7;
0x0000d720 addiu s1, s1, 1 | s1++;
| label_1:
0x0000d724 lw t9, -0x7f24(gp) | t9 = sym.imp.strftime;
| if (v0 == 0) {
0x0000d728 beqz v0, 0xd7a0 | goto label_5;
| }
0x0000d72c lb v1, 1(s0) | v1 = *((s0 + 1));
0x0000d730 addiu s7, s0, 1 | s7 = s0 + 1;
0x0000d734 bne v0, fp, 0xd710 |
| }
0x0000d738 sb zero, 0x102c(sp) | *(arg_102ch) = 0;
| if (v1 != 0) {
0x0000d73c beqz v1, 0xd794 |
0x0000d740 sb v0, (s1) | *(s1) = v0;
| if (v1 == t0) {
0x0000d744 bnel v1, t0, 0xd7f8 | goto label_6;
| }
0x0000d748 lw v0, 0x2068(sp) | v0 = *(arg_2068h);
0x0000d74c lw t9, -0x7f0c(gp) | t9 = sym.imp.__sprintf_chk
0x0000d750 move a0, t2 | a0 = t2;
0x0000d754 sw t1, 0x24(sp) | *(arg_24h) = t1;
0x0000d758 sw t2, 0x20(sp) | *(arg_20h) = t2;
0x0000d75c sw v0, 0x10(sp) | *(arg_10h) = v0;
0x0000d760 move a3, s3 | a3 = s3;
0x0000d764 addiu a2, zero, 0x1000 | a2 = 0x1000;
0x0000d768 addiu a1, zero, 1 | a1 = 1;
0x0000d76c jalr t9 | t9 ();
0x0000d770 lb v0, 0x102c(sp) | v0 = *(arg_102ch);
0x0000d774 lw gp, 0x18(sp) | gp = *(arg_18h);
0x0000d778 addiu a0, s0, 2 | a0 = s0 + 2;
0x0000d77c lw t2, 0x20(sp) | t2 = *(arg_20h);
0x0000d780 lw t1, 0x24(sp) | t1 = *(arg_24h);
0x0000d784 addiu t0, zero, 0x76 | t0 = 0x76;
| if (v0 != 0) {
0x0000d788 bnez v0, 0xd80c | goto label_7;
| }
0x0000d78c move s0, s7 | s0 = s7;
0x0000d790 move s7, a0 | s7 = a0;
| }
0x0000d794 lb v1, 1(s0) | v1 = *((s0 + 1));
0x0000d798 b 0xd710 | goto label_0;
| label_4:
0x0000d79c lw t9, -0x7f24(gp) | t9 = sym.imp.strftime;
| label_5:
0x0000d7a0 sb zero, (s1) | *(s1) = 0;
0x0000d7a4 move a3, s6 | a3 = s6;
0x0000d7a8 move a2, t1 | a2 = t1;
0x0000d7ac move a1, s5 | a1 = s5;
0x0000d7b0 move a0, s4 | a0 = s4;
0x0000d7b4 jalr t9 | t9 ();
0x0000d7b8 lw gp, 0x18(sp) | gp = *(arg_18h);
| label_2:
0x0000d7bc lw a0, 0x202c(sp) | a0 = *(arg_202ch);
0x0000d7c0 lw v1, (s2) | v1 = *(s2);
0x0000d7c4 lw ra, 0x2054(sp) | ra = *(arg_2054h);
| if (a0 != v1) {
0x0000d7c8 bne a0, v1, 0xd840 | goto label_8;
| }
0x0000d7cc lw fp, 0x2050(sp) | fp = *(arg_2050h);
0x0000d7d0 lw s7, 0x204c(sp) | s7 = *(arg_204ch);
0x0000d7d4 lw s6, 0x2048(sp) | s6 = *(arg_2048h);
0x0000d7d8 lw s5, 0x2044(sp) | s5 = *(arg_2044h);
0x0000d7dc lw s4, 0x2040(sp) | s4 = *(arg_2040h);
0x0000d7e0 lw s3, 0x203c(sp) | s3 = *(arg_203ch);
0x0000d7e4 lw s2, 0x2038(sp) | s2 = *(arg_2038h);
0x0000d7e8 lw s1, 0x2034(sp) | s1 = *(arg_2034h);
0x0000d7ec lw s0, 0x2030(sp) | s0 = *(arg_2030h);
0x0000d7f0 addiu sp, sp, 0x2058 |
0x0000d7f4 jr ra | return v0;
| label_6:
0x0000d7f8 sb v1, 1(s1) | *((s1 + 1)) = v1;
0x0000d7fc lb v0, 2(s0) | v0 = *((s0 + 2));
0x0000d800 addiu s1, s1, 2 | s1 += 2;
0x0000d804 addiu s0, s0, 2 | s0 += 2;
0x0000d808 b 0xd724 | goto label_1;
| label_7:
0x0000d80c sb v0, (s1) | *(s1) = v0;
0x0000d810 addiu v0, sp, 0x102d | v0 = sp + 0x102d;
| do {
0x0000d814 addiu v0, v0, 1 | v0++;
0x0000d818 addiu s1, s1, 1 | s1++;
0x0000d81c lb v1, -1(v0) | v1 = *((v0 - 1));
0x0000d820 sb v1, (s1) | *(s1) = v1;
0x0000d824 bnez v1, 0xd814 |
| } while (v1 != 0);
0x0000d828 lb v0, 2(s0) | v0 = *((s0 + 2));
0x0000d82c move s0, a0 | s0 = a0;
0x0000d830 b 0xd724 | goto label_1;
| label_3:
0x0000d834 sb zero, (s4) | *(s4) = 0;
0x0000d838 move v0, zero | v0 = 0;
0x0000d83c b 0xd7bc | goto label_2;
| label_8:
0x0000d840 lw t9, -0x7e98(gp) | t9 = sym.imp.__stack_chk_fail;
0x0000d844 jalr t9 | t9 ();
0x0000d848 nop |
| }
[*] Function sprintf used 7 times aplay