[*] Binary protection state of libaudioProcess.so

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


[*] Function sprintf tear down of libaudioProcess.so

    ; assembly                                                                                   | /* r2dec pseudo code output */
                                                                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libaudioProcess.so @ 0x48e38 */
                                                                                                 | #include <stdint.h>
                                                                                                 |  
    ; (fcn) method.webrtc::TraceImpl.CreateFileName_char_const__char__unsigned_int__const ()     | void method_webrtc::TraceImpl_CreateFileName_char_const_char_unsigned_int_const () {
                                                                                                 |     /* webrtc::TraceImpl::CreateFileName(char const*, char*, unsigned int) const */
    0x00048e38 lui gp, 5                                                                         |     
    0x00048e3c addiu gp, gp, 0xbc8                                                               |     
    0x00048e40 addu gp, gp, t9                                                                   |     gp += t9;
    0x00048e44 lw t9, -0x7598(gp)                                                                |     t9 = sym.imp.strlen;
    0x00048e48 addiu sp, sp, -0x30                                                               |     
    0x00048e4c move a0, a1                                                                       |     a0 = a1;
    0x00048e50 sw gp, 0x10(sp)                                                                   |     *(var_10h) = gp;
    0x00048e54 sw s4, 0x28(sp)                                                                   |     *(var_28h) = s4;
    0x00048e58 sw s3, 0x24(sp)                                                                   |     *(var_24h) = s3;
    0x00048e5c sw s2, 0x20(sp)                                                                   |     *(var_20h) = s2;
    0x00048e60 sw ra, 0x2c(sp)                                                                   |     *(var_2ch) = ra;
    0x00048e64 sw s1, 0x1c(sp)                                                                   |     *(var_1ch) = s1;
    0x00048e68 sw s0, 0x18(sp)                                                                   |     *(var_18h) = s0;
    0x00048e6c move s2, a1                                                                       |     s2 = a1;
    0x00048e70 move s3, a2                                                                       |     s3 = a2;
    0x00048e74 move s4, a3                                                                       |     s4 = a3;
    0x00048e78 jalr t9                                                                           |     t9 ();
    0x00048e7c lw gp, 0x10(sp)                                                                   |     gp = *(var_10h);
                                                                                                 |     if (v0 < 0) {
    0x00048e80 bltz v0, 0x48f30                                                                  |         goto label_2;
                                                                                                 |     }
    0x00048e84 addiu t0, v0, -1                                                                  |     t0 = v0 + -1;
    0x00048e88 move s1, v0                                                                       |     s1 = v0;
                                                                                                 |     if (t0 <= 0) {
    0x00048e8c blez t0, 0x48f54                                                                  |         goto label_3;
                                                                                                 |     }
    0x00048e90 addu s0, s2, t0                                                                   |     s0 = s2 + t0;
    0x00048e94 lb v1, (s0)                                                                       |     v1 = *(s0);
    0x00048e98 addiu v0, zero, 0x2e                                                              |     v0 = 0x2e;
    0x00048e9c addiu v1, s1, -2                                                                  |     v1 = s1 + -2;
                                                                                                 |     if (v1 == v0) {
    0x00048ea0 beq v1, v0, 0x48f28                                                               |         goto label_4;
                                                                                                 |     }
    0x00048ea4 addu v1, s2, v1                                                                   |     v1 = s2 + v1;
    0x00048ea8 addiu t2, zero, 0x2e                                                              |     t2 = 0x2e;
    0x00048eac b 0x48ebc                                                                         |     
                                                                                                 |     while (t0 != 0) {
    0x00048eb0 lb t1, 1(v1)                                                                      |         t1 = *((v1 + 1));
                                                                                                 |         if (t1 == t2) {
    0x00048eb4 beq t1, t2, 0x48f28                                                               |             goto label_4;
                                                                                                 |         }
    0x00048eb8 nop                                                                               |         
    0x00048ebc addiu t0, t0, -1                                                                  |         t0 += -1;
    0x00048ec0 move s0, v1                                                                       |         s0 = v1;
    0x00048ec4 addiu v1, v1, -1                                                                  |         v1 += -1;
    0x00048ec8 bnez t0, 0x48eb0                                                                  |         
                                                                                                 |     }
                                                                                                 | label_0:
    0x00048ecc addu s0, s2, s1                                                                   |     s0 = s2 + s1;
                                                                                                 |     do {
                                                                                                 | label_1:
    0x00048ed0 lw t9, -0x7300(gp)                                                                |         t9 = sym.imp.memcpy;
    0x00048ed4 move a0, s3                                                                       |         a0 = s3;
    0x00048ed8 move a1, s2                                                                       |         a1 = s2;
    0x00048edc move a2, s1                                                                       |         a2 = s1;
    0x00048ee0 jalr t9                                                                           |         t9 ();
    0x00048ee4 lw gp, 0x10(sp)                                                                   |         gp = *(var_10h);
    0x00048ee8 addu a0, s3, s1                                                                   |         a0 = s3 + s1;
    0x00048eec move a2, s4                                                                       |         a2 = s4;
    0x00048ef0 lw a1, -0x7fcc(gp)                                                                |         a1 = *(gp);
    0x00048ef4 lw t9, -0x7b6c(gp)                                                                |         t9 = sym.imp.sprintf
    0x00048ef8 move a3, s0                                                                       |         a3 = s0;
                                                                                                 |         /* str.__lu_s */
    0x00048efc addiu a1, a1, 0x6404                                                              |         a1 += 0x6404;
    0x00048f00 jalr t9                                                                           |         t9 ();
    0x00048f04 lw ra, 0x2c(sp)                                                                   |         ra = *(var_2ch);
    0x00048f08 lw s4, 0x28(sp)                                                                   |         s4 = *(var_28h);
    0x00048f0c lw s3, 0x24(sp)                                                                   |         s3 = *(var_24h);
    0x00048f10 lw s2, 0x20(sp)                                                                   |         s2 = *(var_20h);
    0x00048f14 lw s1, 0x1c(sp)                                                                   |         s1 = *(var_1ch);
    0x00048f18 lw s0, 0x18(sp)                                                                   |         s0 = *(var_18h);
    0x00048f1c addiu v0, zero, 1                                                                 |         v0 = 1;
    0x00048f20 addiu sp, sp, 0x30                                                                |         
    0x00048f24 jr ra                                                                             |         return v0;
                                                                                                 | label_4:
    0x00048f28 move s1, t0                                                                       |         s1 = t0;
    0x00048f2c b 0x48ed0                                                                         |         
                                                                                                 |     } while (1);
                                                                                                 | label_2:
    0x00048f30 lw ra, 0x2c(sp)                                                                   |     ra = *(var_2ch);
    0x00048f34 lw s4, 0x28(sp)                                                                   |     s4 = *(var_28h);
    0x00048f38 lw s3, 0x24(sp)                                                                   |     s3 = *(var_24h);
    0x00048f3c lw s2, 0x20(sp)                                                                   |     s2 = *(var_20h);
    0x00048f40 lw s1, 0x1c(sp)                                                                   |     s1 = *(var_1ch);
    0x00048f44 lw s0, 0x18(sp)                                                                   |     s0 = *(var_18h);
    0x00048f48 move v0, zero                                                                     |     v0 = 0;
    0x00048f4c addiu sp, sp, 0x30                                                                |     
    0x00048f50 jr ra                                                                             |     return v0;
                                                                                                 | label_3:
    0x00048f54 addiu s0, s2, -1                                                                  |     s0 = s2 + -1;
                                                                                                 |     if (t0 == 0) {
    0x00048f58 beqz t0, 0x48ecc                                                                  |         goto label_0;
                                                                                                 |     }
    0x00048f5c addiu s1, zero, -1                                                                |     s1 = -1;
    0x00048f60 b 0x48ed0                                                                         |     goto label_1;
                                                                                                 | }
    ; assembly                                                                                       | /* r2dec pseudo code output */
                                                                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libaudioProcess.so @ 0x489f4 */
                                                                                                     | #include <stdint.h>
                                                                                                     |  
    ; (fcn) method.webrtc::TraceImpl.UpdateFileName_char_const__char__unsigned_int__const ()         | void method_webrtc::TraceImpl_UpdateFileName_char_const_char_unsigned_int_const () {
                                                                                                     |     /* webrtc::TraceImpl::UpdateFileName(char const*, char*, unsigned int) const */
    0x000489f4 lui gp, 5                                                                             |     
    0x000489f8 addiu gp, gp, 0x100c                                                                  |     
    0x000489fc addu gp, gp, t9                                                                       |     gp += t9;
    0x00048a00 lw t9, -0x7598(gp)                                                                    |     t9 = sym.imp.strlen;
    0x00048a04 addiu sp, sp, -0x30                                                                   |     
    0x00048a08 move a0, a1                                                                           |     a0 = a1;
    0x00048a0c sw gp, 0x10(sp)                                                                       |     *(var_10h) = gp;
    0x00048a10 sw s2, 0x20(sp)                                                                       |     *(var_20h) = s2;
    0x00048a14 sw s1, 0x1c(sp)                                                                       |     *(var_1ch) = s1;
    0x00048a18 sw s0, 0x18(sp)                                                                       |     *(var_18h) = s0;
    0x00048a1c sw ra, 0x2c(sp)                                                                       |     *(var_2ch) = ra;
    0x00048a20 sw s4, 0x28(sp)                                                                       |     *(var_28h) = s4;
    0x00048a24 sw s3, 0x24(sp)                                                                       |     *(var_24h) = s3;
    0x00048a28 move s0, a1                                                                           |     s0 = a1;
    0x00048a2c move s1, a2                                                                           |     s1 = a2;
    0x00048a30 move s2, a3                                                                           |     s2 = a3;
    0x00048a34 jalr t9                                                                               |     t9 ();
    0x00048a38 lw gp, 0x10(sp)                                                                       |     gp = *(var_10h);
                                                                                                     |     if (v0 < 0) {
    0x00048a3c bltz v0, 0x48b38                                                                      |         goto label_2;
                                                                                                     |     }
    0x00048a40 addiu a1, v0, -1                                                                      |     a1 = v0 + -1;
    0x00048a44 addu s3, s0, a1                                                                       |     s3 = s0 + a1;
                                                                                                     |     if (a1 <= 0) {
    0x00048a48 blez a1, 0x48b24                                                                      |         goto label_3;
                                                                                                     |     }
    0x00048a4c lb a0, (s3)                                                                           |     a0 = *(s3);
    0x00048a50 addiu v1, zero, 0x2e                                                                  |     v1 = 0x2e;
    0x00048a54 addiu v1, v0, -2                                                                      |     v1 = v0 + -2;
                                                                                                     |     if (a0 == v1) {
    0x00048a58 beq a0, v1, 0x48b5c                                                                   |         goto label_4;
                                                                                                     |     }
    0x00048a5c addu v1, s0, v1                                                                       |     v1 = s0 + v1;
    0x00048a60 move t0, a1                                                                           |     t0 = a1;
    0x00048a64 addiu a0, zero, 0x2e                                                                  |     a0 = 0x2e;
    0x00048a68 b 0x48a78                                                                             |     
                                                                                                     |     while (t0 != 0) {
    0x00048a6c lb t1, 1(v1)                                                                          |         t1 = *((v1 + 1));
                                                                                                     |         if (t1 == a0) {
    0x00048a70 beq t1, a0, 0x48b30                                                                   |             goto label_5;
                                                                                                     |         }
    0x00048a74 nop                                                                                   |         
    0x00048a78 addiu t0, t0, -1                                                                      |         t0 += -1;
    0x00048a7c move s3, v1                                                                           |         s3 = v1;
    0x00048a80 addiu v1, v1, -1                                                                      |         v1 += -1;
    0x00048a84 bnez t0, 0x48a6c                                                                      |         
                                                                                                     |     }
                                                                                                     | label_0:
    0x00048a88 addu s3, s0, v0                                                                       |     s3 = s0 + v0;
                                                                                                     | label_1:
    0x00048a8c move s4, a1                                                                           |     s4 = a1;
                                                                                                     |     if (a1 <= 0) {
    0x00048a90 blez a1, 0x48acc                                                                      |         goto label_6;
                                                                                                     |     }
    0x00048a94 addu v0, s0, a1                                                                       |     v0 = s0 + a1;
    0x00048a98 lb v1, (v0)                                                                           |     v1 = *(v0);
    0x00048a9c addiu v0, zero, 0x5f                                                                  |     v0 = 0x5f;
    0x00048aa0 move v0, a1                                                                           |     v0 = a1;
                                                                                                     |     if (v1 == v0) {
    0x00048aa4 beq v1, v0, 0x48acc                                                                   |         goto label_6;
                                                                                                     |     }
    0x00048aa8 addiu a0, zero, 0x5f                                                                  |     a0 = 0x5f;
    0x00048aac b 0x48abc                                                                             |     
                                                                                                     |     while (v0 != 0) {
    0x00048ab0 lb v1, (v1)                                                                           |         v1 = *(v1);
    0x00048ab4 move s4, v0                                                                           |         s4 = v0;
                                                                                                     |         if (v1 == a0) {
    0x00048ab8 beq v1, a0, 0x48acc                                                                   |             goto label_6;
                                                                                                     |         }
    0x00048abc addiu v0, v0, -1                                                                      |         v0 += -1;
    0x00048ac0 addu v1, s0, v0                                                                       |         v1 = s0 + v0;
    0x00048ac4 bnez v0, 0x48ab0                                                                      |         
                                                                                                     |     }
    0x00048ac8 move s4, zero                                                                         |     s4 = 0;
                                                                                                     | label_6:
    0x00048acc lw t9, -0x7300(gp)                                                                    |     t9 = sym.imp.memcpy;
    0x00048ad0 move a0, s1                                                                           |     a0 = s1;
    0x00048ad4 move a1, s0                                                                           |     a1 = s0;
    0x00048ad8 move a2, s4                                                                           |     a2 = s4;
    0x00048adc jalr t9                                                                               |     t9 ();
    0x00048ae0 lw gp, 0x10(sp)                                                                       |     gp = *(var_10h);
    0x00048ae4 addu a0, s1, s4                                                                       |     a0 = s1 + s4;
    0x00048ae8 move a2, s2                                                                           |     a2 = s2;
    0x00048aec lw a1, -0x7fcc(gp)                                                                    |     a1 = *(gp);
    0x00048af0 lw t9, -0x7b6c(gp)                                                                    |     t9 = sym.imp.sprintf
    0x00048af4 move a3, s3                                                                           |     a3 = s3;
                                                                                                     |     /* str.__lu_s */
    0x00048af8 addiu a1, a1, 0x6404                                                                  |     a1 += 0x6404;
    0x00048afc jalr t9                                                                               |     t9 ();
    0x00048b00 lw ra, 0x2c(sp)                                                                       |     ra = *(var_2ch);
    0x00048b04 lw s4, 0x28(sp)                                                                       |     s4 = *(var_28h);
    0x00048b08 lw s3, 0x24(sp)                                                                       |     s3 = *(var_24h);
    0x00048b0c lw s2, 0x20(sp)                                                                       |     s2 = *(var_20h);
    0x00048b10 lw s1, 0x1c(sp)                                                                       |     s1 = *(var_1ch);
    0x00048b14 lw s0, 0x18(sp)                                                                       |     s0 = *(var_18h);
    0x00048b18 addiu v0, zero, 1                                                                     |     v0 = 1;
    0x00048b1c addiu sp, sp, 0x30                                                                    |     
    0x00048b20 jr ra                                                                                 |     return v0;
                                                                                                     | label_3:
    0x00048b24 addiu s3, s0, -1                                                                      |     s3 = s0 + -1;
                                                                                                     |     if (a1 == 0) {
    0x00048b28 beqz a1, 0x48a88                                                                      |         goto label_0;
                                                                                                     |     }
    0x00048b2c addiu t0, zero, -1                                                                    |     t0 = -1;
                                                                                                     | label_5:
    0x00048b30 addiu a1, t0, -1                                                                      |     a1 = t0 + -1;
    0x00048b34 b 0x48a8c                                                                             |     goto label_1;
                                                                                                     | label_2:
    0x00048b38 lw ra, 0x2c(sp)                                                                       |     ra = *(var_2ch);
    0x00048b3c lw s4, 0x28(sp)                                                                       |     s4 = *(var_28h);
    0x00048b40 lw s3, 0x24(sp)                                                                       |     s3 = *(var_24h);
    0x00048b44 lw s2, 0x20(sp)                                                                       |     s2 = *(var_20h);
    0x00048b48 lw s1, 0x1c(sp)                                                                       |     s1 = *(var_1ch);
    0x00048b4c lw s0, 0x18(sp)                                                                       |     s0 = *(var_18h);
    0x00048b50 move v0, zero                                                                         |     v0 = 0;
    0x00048b54 addiu sp, sp, 0x30                                                                    |     
    0x00048b58 jr ra                                                                                 |     return v0;
                                                                                                     | label_4:
    0x00048b5c move t0, a1                                                                           |     t0 = a1;
    0x00048b60 addiu a1, t0, -1                                                                      |     a1 = t0 + -1;
    0x00048b64 b 0x48a8c                                                                             |     goto label_1;
                                                                                                     | }
    ; assembly                                                           | /* r2dec pseudo code output */
                                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libaudioProcess.so @ 0x49750 */
                                                                         | #include <stdint.h>
                                                                         |  
    ; (fcn) method.webrtc::TracePosix.AddDateTimeInfo_char__const ()     | void method_webrtc::TracePosix_AddDateTimeInfo_char_const () {
                                                                         |     /* webrtc::TracePosix::AddDateTimeInfo(char*) const */
    0x00049750 lui gp, 5                                                 |     
    0x00049754 addiu gp, gp, 0x2b0                                       |     
    0x00049758 addu gp, gp, t9                                           |     gp += t9;
    0x0004975c lw t9, -0x7810(gp)                                        |     t9 = *(gp);
    0x00049760 addiu sp, sp, -0x40                                       |     
    0x00049764 addiu a0, sp, 0x34                                        |     a0 = sp + 0x34;
    0x00049768 sw ra, 0x3c(sp)                                           |     *(var_3ch) = ra;
    0x0004976c sw gp, 0x10(sp)                                           |     *(var_10h) = gp;
    0x00049770 sw s0, 0x38(sp)                                           |     *(var_38h) = s0;
    0x00049774 move s0, a1                                               |     s0 = a1;
    0x00049778 jalr t9                                                   |     t9 ();
    0x0004977c lw gp, 0x10(sp)                                           |     gp = *(var_10h);
    0x00049780 addiu a0, sp, 0x34                                        |     a0 = sp + 0x34;
    0x00049784 lw t9, -0x72c0(gp)                                        |     t9 = sym.imp.ctime_r;
    0x00049788 addiu a1, sp, 0x18                                        |     a1 = sp + 0x18;
    0x0004978c jalr t9                                                   |     t9 ();
    0x00049790 lw gp, 0x10(sp)                                           |     gp = *(var_10h);
    0x00049794 move a0, s0                                               |     a0 = s0;
    0x00049798 move a2, v0                                               |     a2 = v0;
    0x0004979c lw a1, -0x7fcc(gp)                                        |     a1 = *(gp);
    0x000497a0 lw t9, -0x7b6c(gp)                                        |     t9 = sym.imp.sprintf
                                                                         |     /* str.Local_Date:__s */
    0x000497a4 addiu a1, a1, 0x640c                                      |     a1 += aav.0x0000640c;
    0x000497a8 jalr t9                                                   |     t9 ();
    0x000497ac lw gp, 0x10(sp)                                           |     gp = *(var_10h);
    0x000497b0 lw t9, -0x7598(gp)                                        |     t9 = sym.imp.strlen;
    0x000497b4 move a0, s0                                               |     a0 = s0;
    0x000497b8 jalr t9                                                   |     t9 ();
    0x000497bc addiu v1, v0, -1                                          |     v1 = v0 + -1;
    0x000497c0 addu s0, s0, v1                                           |     s0 += v1;
    0x000497c4 lb a1, (s0)                                               |     a1 = *(s0);
    0x000497c8 addiu a0, zero, 0xa                                       |     a0 = 0xa;
    0x000497cc lw ra, 0x3c(sp)                                           |     ra = *(var_3ch);
                                                                         |     if (a1 == a0) {
    0x000497d0 bne a1, a0, 0x497e0                                       |         
    0x000497d4 sb zero, (s0)                                             |         *(s0) = 0;
    0x000497d8 move v0, v1                                               |         v0 = v1;
    0x000497dc lw ra, 0x3c(sp)                                           |         ra = *(var_3ch);
                                                                         |     }
    0x000497e0 lw s0, 0x38(sp)                                           |     s0 = *(var_38h);
    0x000497e4 addiu v0, v0, 1                                           |     v0++;
    0x000497e8 addiu sp, sp, 0x40                                        |     
    0x000497ec jr ra                                                     |     return v0;
                                                                         | }
    ; assembly                                                                       | /* r2dec pseudo code output */
                                                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libaudioProcess.so @ 0x497f0 */
                                                                                     | #include <stdint.h>
                                                                                     |  
    ; (fcn) method.webrtc::TracePosix.AddTime_char__webrtc::TraceLevel__const ()     | void method_webrtc::TracePosix_AddTime_char_webrtc::TraceLevel_const () {
                                                                                     |     /* webrtc::TracePosix::AddTime(char*, webrtc::TraceLevel) const */
    0x000497f0 lui gp, 5                                                             |     
    0x000497f4 addiu gp, gp, 0x210                                                   |     
    0x000497f8 addu gp, gp, t9                                                       |     gp += t9;
    0x000497fc lw t9, -0x7420(gp)                                                    |     t9 = *(gp);
    0x00049800 addiu sp, sp, -0x80                                                   |     
    0x00049804 sw gp, 0x20(sp)                                                       |     *(var_20h) = gp;
    0x00049808 sw s5, 0x78(sp)                                                       |     *(var_78h) = s5;
    0x0004980c sw s4, 0x74(sp)                                                       |     *(var_74h) = s4;
    0x00049810 sw s1, 0x68(sp)                                                       |     *(var_68h) = s1;
    0x00049814 sw ra, 0x7c(sp)                                                       |     *(var_7ch) = ra;
    0x00049818 sw s3, 0x70(sp)                                                       |     *(var_70h) = s3;
    0x0004981c sw s2, 0x6c(sp)                                                       |     *(var_6ch) = s2;
    0x00049820 sw s0, 0x64(sp)                                                       |     *(var_64h) = s0;
    0x00049824 move s1, a0                                                           |     s1 = a0;
    0x00049828 move s5, a1                                                           |     s5 = a1;
    0x0004982c addiu a0, sp, 0x54                                                    |     a0 = sp + 0x54;
    0x00049830 move a1, zero                                                         |     a1 = 0;
    0x00049834 move s4, a2                                                           |     s4 = a2;
    0x00049838 jalr t9                                                               |     t9 ();
    0x0004983c addiu v1, zero, -1                                                    |     v1 = -1;
    0x00049840 lw gp, 0x20(sp)                                                       |     gp = *(var_20h);
                                                                                     |     if (v0 == v1) {
    0x00049844 beq v0, v1, 0x49940                                                   |         goto label_3;
                                                                                     |     }
    0x00049848 lw t9, -0x7678(gp)                                                    |     t9 = sym.imp.localtime_r;
    0x0004984c addiu a0, sp, 0x54                                                    |     a0 = sp + 0x54;
    0x00049850 addiu a1, sp, 0x28                                                    |     a1 = sp + 0x28;
    0x00049854 jalr t9                                                               |     t9 ();
    0x00049858 lw v1, 0x58(sp)                                                       |     v1 = *(var_58h);
    0x0004985c lui s3, 0x1062                                                        |     s3 = 0x10624dd3;
    0x00049860 addiu s3, s3, 0x4dd3                                                  |     
    0x00049864 mult v1, s3                                                           |     __asm ("mult v1, s3");
    0x00049868 lw s0, 0x34(s1)                                                       |     s0 = *((s1 + 13));
    0x0004986c move s2, v0                                                           |     s2 = v0;
    0x00049870 sra v1, v1, 0x1f                                                      |     v1 >>= 0x1f;
    0x00049874 lw v0, (s0)                                                           |     v0 = *(s0);
    0x00049878 move a0, s0                                                           |     a0 = s0;
    0x0004987c lw t9, 8(v0)                                                          |     t9 = *((v0 + 2));
    0x00049880 mfhi s3                                                               |     __asm ("mfhi s3");
    0x00049884 sra s3, s3, 6                                                         |     s3 >>= 6;
    0x00049888 subu s3, s3, v1                                                       |     __asm ("subu s3, s3, v1");
    0x0004988c jalr t9                                                               |     t9 ();
    0x00049890 addiu v0, zero, 0x10                                                  |     v0 = 0x10;
                                                                                     |     if (s4 == v0) {
    0x00049894 beq s4, v0, 0x49930                                                   |         goto label_4;
                                                                                     |     }
    0x00049898 nop                                                                   |     
    0x0004989c lw s4, 0x2c(s1)                                                       |     s4 = *((s1 + 11));
    0x000498a0 sw s3, 0x2c(s1)                                                       |     *((s1 + 11)) = s3;
    0x000498a4 lw v0, (s0)                                                           |     v0 = *(s0);
                                                                                     | label_0:
    0x000498a8 lw t9, 0xc(v0)                                                        |     t9 = *((v0 + 3));
    0x000498ac move a0, s0                                                           |     a0 = s0;
    0x000498b0 jalr t9                                                               |     t9 ();
    0x000498b4 lw gp, 0x20(sp)                                                       |     gp = *(var_20h);
    0x000498b8 move v0, zero                                                         |     v0 = 0;
    0x000498bc bnez s4, 0x49914                                                      |     
                                                                                     |     while (1) {
                                                                                     | label_2:
    0x000498c0 lw v1, (s2)                                                           |         v1 = *(s2);
    0x000498c4 lw a1, -0x7fcc(gp)                                                    |         a1 = *(gp);
    0x000498c8 lw a2, 8(s2)                                                          |         a2 = *((s2 + 2));
    0x000498cc lw a3, 4(s2)                                                          |         a3 = *((s2 + 1));
    0x000498d0 lw t9, -0x7b6c(gp)                                                    |         t9 = sym.imp.sprintf
    0x000498d4 sw v1, 0x10(sp)                                                       |         *(var_10h) = v1;
    0x000498d8 sw s3, 0x14(sp)                                                       |         *(var_14h) = s3;
    0x000498dc sw v0, 0x18(sp)                                                       |         *(var_18h) = v0;
    0x000498e0 move a0, s5                                                           |         a0 = s5;
                                                                                     |         /* str.__2u:_2u:_2u:_3u__5lu__ */
    0x000498e4 addiu a1, a1, 0x641c                                                  |         a1 += 0x641c;
    0x000498e8 jalr t9                                                               |         t9 ();
    0x000498ec addiu v0, zero, 0x16                                                  |         v0 = 0x16;
                                                                                     | label_1:
    0x000498f0 lw ra, 0x7c(sp)                                                       |         ra = *(var_7ch);
    0x000498f4 lw s5, 0x78(sp)                                                       |         s5 = *(var_78h);
    0x000498f8 lw s4, 0x74(sp)                                                       |         s4 = *(var_74h);
    0x000498fc lw s3, 0x70(sp)                                                       |         s3 = *(var_70h);
    0x00049900 lw s2, 0x6c(sp)                                                       |         s2 = *(var_6ch);
    0x00049904 lw s1, 0x68(sp)                                                       |         s1 = *(var_68h);
    0x00049908 lw s0, 0x64(sp)                                                       |         s0 = *(var_64h);
    0x0004990c addiu sp, sp, 0x80                                                    |         
    0x00049910 jr ra                                                                 |         return v0;
    0x00049914 subu v0, s3, s4                                                       |         __asm ("subu v0, s3, s4");
    0x00049918 lui v1, 0x1000                                                        |         v1 = .comment;
    0x0004991c sltu v1, v0, v1                                                       |         v1 = (v0 < v1) ? 1 : 0;
    0x00049920 lui v1, 1                                                             |         v1 = 0x10000;
                                                                                     |         if (v1 != 0) {
    0x00049924 bnez v1, 0x49948                                                      |             goto label_5;
                                                                                     |         }
    0x00049928 move v0, zero                                                         |         v0 = 0;
    0x0004992c b 0x498c0                                                             |         
                                                                                     |     }
                                                                                     | label_4:
    0x00049930 lw s4, 0x30(s1)                                                       |     s4 = *((s1 + 12));
    0x00049934 sw s3, 0x30(s1)                                                       |     *((s1 + 12)) = s3;
    0x00049938 lw v0, (s0)                                                           |     v0 = *(s0);
    0x0004993c b 0x498a8                                                             |     goto label_0;
                                                                                     | label_3:
    0x00049940 addiu v0, zero, -1                                                    |     v0 = -1;
    0x00049944 b 0x498f0                                                             |     goto label_1;
                                                                                     | label_5:
    0x00049948 ori v1, v1, 0x86a0                                                    |     v1 |= 0x86a0;
    0x0004994c sltu a0, v0, v1                                                       |     a0 = (v0 < v1) ? 1 : 0;
    0x00049950 addiu v1, v1, -1                                                      |     v1 += -1;
                                                                                     |     if (a0 != 0) {
    0x00049954 movz v0, v1, a0                                                       |         v0 = v1;
                                                                                     |     }
    0x00049958 b 0x498c0                                                             |     goto label_2;
                                                                                     | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libaudioProcess.so @ 0x23620 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.read_profile ()          | void read_profile () {
    0x00023620 lui gp, 7                 |     
    0x00023624 addiu gp, gp, 0x63e0      |     
    0x00023628 addu gp, gp, t9           |     gp += t9;
    0x0002362c lw v0, -0x7fcc(gp)        |     v0 = *(gp);
    0x00023630 lw t9, -0x7a54(gp)        |     t9 = sym.imp.memset;
    0x00023634 addiu sp, sp, -0xa8       |     
    0x00023638 lbu v0, -0x49c0(v0)       |     v0 = *((v0 - 18880));
    0x0002363c sw ra, 0xa4(sp)           |     *(var_a4h) = ra;
    0x00023640 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00023644 sw s6, 0x9c(sp)           |     *(var_9ch) = s6;
    0x00023648 sw s5, 0x98(sp)           |     *(var_98h) = s5;
    0x0002364c sw s4, 0x94(sp)           |     *(var_94h) = s4;
    0x00023650 sw s1, 0x88(sp)           |     *(var_88h) = s1;
    0x00023654 move s4, a0               |     s4 = a0;
    0x00023658 sw s7, 0xa0(sp)           |     *(var_a0h) = s7;
    0x0002365c addiu a0, sp, 0x19        |     a0 = sp + 0x19;
    0x00023660 sw s3, 0x90(sp)           |     *(var_90h) = s3;
    0x00023664 sw s2, 0x8c(sp)           |     *(var_8ch) = s2;
    0x00023668 sw s0, 0x84(sp)           |     *(var_84h) = s0;
    0x0002366c move s6, a1               |     s6 = a1;
    0x00023670 move s1, a2               |     s1 = a2;
    0x00023674 move a1, zero             |     a1 = 0;
    0x00023678 addiu a2, zero, 0x63      |     a2 = 0x63;
    0x0002367c sb v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00023680 move s5, a3               |     s5 = a3;
    0x00023684 jalr t9                   |     t9 ();
    0x00023688 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x0002368c lw t9, -0x7fd8(gp)        |     t9 = *(gp);
                                         |     /* sym.profile_lock */
    0x00023690 addiu t9, t9, 0x3440      |     t9 += 0x3440;
    0x00023694 bal 0x23440               |     sym_profile_lock ();
    0x00023698 nop                       |     
    0x0002369c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000236a0 move a0, s4               |     a0 = s4;
    0x000236a4 lw a1, -0x7fcc(gp)        |     a1 = *(gp);
    0x000236a8 lw t9, -0x77ac(gp)        |     t9 = *(gp);
                                         |     /* esilref: '' */
    0x000236ac addiu a1, a1, -0x4b60     |     a1 += -0x4b60;
    0x000236b0 jalr t9                   |     t9 ();
    0x000236b4 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 == 0) {
    0x000236b8 beqz v0, 0x23a84          |         goto label_5;
                                         |     }
    0x000236bc lw t9, -0x7bb8(gp)        |     t9 = sym.imp.fseek;
    0x000236c0 move a0, v0               |     a0 = v0;
    0x000236c4 move a1, zero             |     a1 = 0;
    0x000236c8 addiu a2, zero, 2         |     a2 = 2;
    0x000236cc move s0, v0               |     s0 = v0;
    0x000236d0 jalr t9                   |     t9 ();
    0x000236d4 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 != 0) {
    0x000236d8 bnez v0, 0x23a0c          |         goto label_6;
                                         |     }
    0x000236dc lw t9, -0x7da4(gp)        |     t9 = sym.imp.ftell;
    0x000236e0 move a0, s0               |     a0 = s0;
    0x000236e4 jalr t9                   |     t9 ();
    0x000236e8 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000236ec move a0, s0               |     a0 = s0;
    0x000236f0 move a1, zero             |     a1 = 0;
    0x000236f4 lw t9, -0x7bb8(gp)        |     t9 = sym.imp.fseek;
    0x000236f8 move a2, zero             |     a2 = 0;
    0x000236fc move s3, v0               |     s3 = v0;
    0x00023700 jalr t9                   |     t9 ();
    0x00023704 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 != 0) {
    0x00023708 bnez v0, 0x23a0c          |         goto label_6;
                                         |     }
    0x0002370c lw t9, -0x74d8(gp)        |     t9 = sym.imp.malloc;
    0x00023710 move a0, s3               |     a0 = s3;
    0x00023714 jalr t9                   |     t9 ();
    0x00023718 move s2, v0               |     s2 = v0;
    0x0002371c lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 == 0) {
    0x00023720 beqz v0, 0x23ac4          |         goto label_7;
                                         |     }
    0x00023724 lw t9, -0x7a54(gp)        |     t9 = sym.imp.memset;
    0x00023728 move a0, v0               |     a0 = v0;
    0x0002372c move a1, zero             |     a1 = 0;
    0x00023730 move a2, s3               |     a2 = s3;
    0x00023734 jalr t9                   |     t9 ();
    0x00023738 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x0002373c move a3, s0               |     a3 = s0;
    0x00023740 addiu a1, zero, 1         |     a1 = 1;
    0x00023744 lw t9, -0x7764(gp)        |     t9 = sym.imp.fread;
    0x00023748 move a2, s3               |     a2 = s3;
    0x0002374c move a0, s2               |     a0 = s2;
    0x00023750 jalr t9                   |     t9 ();
    0x00023754 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00023758 lw t9, -0x774c(gp)        |     t9 = sym.imp.fclose;
    0x0002375c move a0, s0               |     a0 = s0;
    0x00023760 jalr t9                   |     t9 ();
    0x00023764 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00023768 addiu a0, sp, 0x18        |     a0 = sp + 0x18;
    0x0002376c move a2, s6               |     a2 = s6;
    0x00023770 lw a1, -0x7fcc(gp)        |     a1 = *(gp);
    0x00023774 lw t9, -0x7b6c(gp)        |     t9 = sym.imp.sprintf
                                         |     /* esilref: '&s]' */
    0x00023778 addiu a1, a1, -0x4af0     |     a1 += -0x4af0;
    0x0002377c jalr t9                   |     t9 ();
    0x00023780 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00023784 move a0, s2               |     a0 = s2;
    0x00023788 lw t9, -0x7cdc(gp)        |     t9 = sym.imp.strstr;
    0x0002378c move a1, s6               |     a1 = s6;
    0x00023790 jalr t9                   |     t9 ();
    0x00023794 move s0, v0               |     s0 = v0;
    0x00023798 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 == 0) {
    0x0002379c beqz v0, 0x23a3c          |         goto label_8;
                                         |     }
    0x000237a0 lw t9, -0x7df8(gp)        |     t9 = sym.imp.strchr;
    0x000237a4 move a0, v0               |     a0 = v0;
    0x000237a8 addiu a1, zero, 0x5b      |     a1 = 0x5b;
    0x000237ac jalr t9                   |     t9 ();
    0x000237b0 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 == 0) {
    0x000237b4 beqz v0, 0x23968          |         goto label_9;
                                         |     }
    0x000237b8 lw t9, -0x74d8(gp)        |     t9 = sym.imp.malloc;
    0x000237bc subu s6, v0, s0           |     __asm ("subu s6, v0, s0");
    0x000237c0 addiu s7, s6, 1           |     s7 = s6 + 1;
    0x000237c4 move a0, s7               |     a0 = s7;
    0x000237c8 jalr t9                   |     t9 ();
    0x000237cc move s3, v0               |     s3 = v0;
    0x000237d0 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 == 0) {
    0x000237d4 beqz v0, 0x239c4          |         goto label_10;
                                         |     }
    0x000237d8 lw t9, -0x7a54(gp)        |     t9 = sym.imp.memset;
    0x000237dc move a0, v0               |     a0 = v0;
    0x000237e0 move a1, zero             |     a1 = 0;
    0x000237e4 move a2, s7               |     a2 = s7;
    0x000237e8 jalr t9                   |     t9 ();
    0x000237ec lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000237f0 move a0, s3               |     a0 = s3;
    0x000237f4 move a1, s0               |     a1 = s0;
    0x000237f8 lw t9, -0x7954(gp)        |     t9 = sym.imp.strncpy;
    0x000237fc move a2, s6               |     a2 = s6;
    0x00023800 jalr t9                   |     t9 ();
    0x00023804 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         | label_2:
    0x00023808 move s0, zero             |     s0 = 0;
    0x0002380c addiu s6, zero, 0x3d      |     s6 = 0x3d;
                                         |     do {
    0x00023810 lw t9, -0x7598(gp)        |         t9 = sym.imp.strlen;
    0x00023814 move a0, s1               |         a0 = s1;
                                         |         if (s0 == 0) {
    0x00023818 beqz s0, 0x23920          |             goto label_11;
                                         |         }
    0x0002381c jalr t9                   |         t9 ();
    0x00023820 nop                       |         
    0x00023824 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00023828 addu a0, s0, v0           |         a0 = s0 + v0;
    0x0002382c lw t9, -0x7cdc(gp)        |         t9 = sym.imp.strstr;
    0x00023830 move a1, s1               |         a1 = s1;
    0x00023834 jalr t9                   |         t9 ();
    0x00023838 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0002383c move s0, v0               |         s0 = v0;
    0x00023840 move a0, s1               |         a0 = s1;
    0x00023844 lw t9, -0x7598(gp)        |         t9 = sym.imp.strlen;
                                         |         if (s0 == 0) {
    0x00023848 beqz s0, 0x23944          |             goto label_12;
                                         |         }
                                         | label_0:
    0x0002384c jalr t9                   |         t9 ();
    0x00023850 nop                       |         
    0x00023854 addu v0, s0, v0           |         v0 = s0 + v0;
    0x00023858 lb v1, (v0)               |         v1 = *(v0);
    0x0002385c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00023860 bne v1, s6, 0x23810       |         
                                         |     } while (v1 != s6);
    0x00023864 lw t9, -0x7df8(gp)        |     t9 = sym.imp.strchr;
    0x00023868 move a0, s0               |     a0 = s0;
    0x0002386c addiu a1, zero, 0x3d      |     a1 = 0x3d;
    0x00023870 jalr t9                   |     t9 ();
    0x00023874 move s0, v0               |     s0 = v0;
    0x00023878 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 == 0) {
    0x0002387c beqz v0, 0x239ec          |         goto label_13;
                                         |     }
    0x00023880 lw a1, -0x7fcc(gp)        |     a1 = *(gp);
    0x00023884 lw t9, -0x7834(gp)        |     t9 = sym.imp.strtok;
    0x00023888 move a0, v0               |     a0 = v0;
    0x0002388c addiu a1, a1, 0x64a4      |     a1 += 0x64a4;
    0x00023890 jalr t9                   |     t9 ();
    0x00023894 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00023898 move a0, s5               |     a0 = s5;
    0x0002389c lw t9, -0x7f70(gp)        |     t9 = sym.imp.strcpy;
    0x000238a0 addiu a1, s0, 1           |     a1 = s0 + 1;
    0x000238a4 jalr t9                   |     t9 ();
    0x000238a8 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000238ac lw t9, -0x7598(gp)        |     t9 = sym.imp.strlen;
    0x000238b0 move a0, s5               |     a0 = s5;
    0x000238b4 jalr t9                   |     t9 ();
    0x000238b8 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000238bc move s1, v0               |     s1 = v0;
                                         | label_1:
    0x000238c0 lw t9, -0x7dbc(gp)        |     t9 = sym.imp.free;
    0x000238c4 move a0, s3               |     a0 = s3;
    0x000238c8 jalr t9                   |     t9 ();
    0x000238cc lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         | label_3:
    0x000238d0 lw t9, -0x7dbc(gp)        |     t9 = sym.imp.free;
    0x000238d4 move a0, s2               |     a0 = s2;
    0x000238d8 jalr t9                   |     t9 ();
    0x000238dc lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         | label_4:
    0x000238e0 lw a0, -0x7fe4(gp)        |     a0 = *((gp - 8185));
    0x000238e4 lw t9, -0x7c9c(gp)        |     t9 = sym.imp.pthread_mutex_unlock;
                                         |     /* obj.mutex */
    0x000238e8 addiu a0, a0, 0x32d4      |     a0 += aav.0x000032d4;
    0x000238ec jalr t9                   |     t9 ();
    0x000238f0 lw ra, 0xa4(sp)           |     ra = *(var_a4h);
    0x000238f4 move v0, s1               |     v0 = s1;
    0x000238f8 lw s7, 0xa0(sp)           |     s7 = *(var_a0h);
    0x000238fc lw s6, 0x9c(sp)           |     s6 = *(var_9ch);
    0x00023900 lw s5, 0x98(sp)           |     s5 = *(var_98h);
    0x00023904 lw s4, 0x94(sp)           |     s4 = *(var_94h);
    0x00023908 lw s3, 0x90(sp)           |     s3 = *(var_90h);
    0x0002390c lw s2, 0x8c(sp)           |     s2 = *(var_8ch);
    0x00023910 lw s1, 0x88(sp)           |     s1 = *(var_88h);
    0x00023914 lw s0, 0x84(sp)           |     s0 = *(var_84h);
    0x00023918 addiu sp, sp, 0xa8        |     
    0x0002391c jr ra                     |     return v0;
                                         | label_11:
    0x00023920 lw t9, -0x7cdc(gp)        |     t9 = sym.imp.strstr;
    0x00023924 move a0, s3               |     a0 = s3;
    0x00023928 move a1, s1               |     a1 = s1;
    0x0002392c jalr t9                   |     t9 ();
    0x00023930 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00023934 move s0, v0               |     s0 = v0;
    0x00023938 move a0, s1               |     a0 = s1;
    0x0002393c lw t9, -0x7598(gp)        |     t9 = sym.imp.strlen;
                                         |     if (s0 != 0) {
    0x00023940 bnez s0, 0x2384c          |         goto label_0;
                                         |     }
                                         | label_12:
    0x00023944 lw a0, -0x7fcc(gp)        |     a0 = *(gp);
    0x00023948 lw t9, -0x7e50(gp)        |     t9 = sym.imp.printf;
    0x0002394c move a1, s1               |     a1 = s1;
                                         |     /* str.ERROR:_no__s_this_parameter_in__s_file_n */
    0x00023950 addiu a0, a0, -0x4a9c     |     a0 += -0x4a9c;
    0x00023954 move a2, s4               |     a2 = s4;
    0x00023958 jalr t9                   |     t9 ();
    0x0002395c addiu s1, zero, -1        |     s1 = -1;
    0x00023960 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00023964 b 0x238c0                 |     goto label_1;
                                         | label_9:
    0x00023968 lw t9, -0x7598(gp)        |     t9 = sym.imp.strlen;
    0x0002396c move a0, s0               |     a0 = s0;
    0x00023970 jalr t9                   |     t9 ();
    0x00023974 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00023978 addiu s6, v0, 1           |     s6 = v0 + 1;
    0x0002397c lw t9, -0x74d8(gp)        |     t9 = sym.imp.malloc;
    0x00023980 move a0, s6               |     a0 = s6;
    0x00023984 jalr t9                   |     t9 ();
    0x00023988 move s3, v0               |     s3 = v0;
    0x0002398c lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 != 0) {
    0x00023990 beqz v0, 0x23a5c          |         
    0x00023994 lw t9, -0x7a54(gp)        |         t9 = sym.imp.memset;
    0x00023998 move a0, v0               |         a0 = v0;
    0x0002399c move a1, zero             |         a1 = 0;
    0x000239a0 move a2, s6               |         a2 = s6;
    0x000239a4 jalr t9                   |         t9 ();
    0x000239a8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000239ac move a0, s3               |         a0 = s3;
    0x000239b0 lw t9, -0x7f70(gp)        |         t9 = sym.imp.strcpy;
    0x000239b4 move a1, s0               |         a1 = s0;
    0x000239b8 jalr t9                   |         t9 ();
    0x000239bc lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000239c0 b 0x23808                 |         goto label_2;
                                         | label_10:
    0x000239c4 lw a0, -0x7fcc(gp)        |         a0 = *(gp);
    0x000239c8 lw a1, -0x7fcc(gp)        |         a1 = *(gp);
    0x000239cc lw t9, -0x7e50(gp)        |         t9 = sym.imp.printf;
                                         |         /* str.ERROR:_temp_buffer_malloc_failed__s___d_n */
    0x000239d0 addiu a0, a0, -0x4ac8     |         a0 += -0x4ac8;
                                         |         /* obj.__func__.3806 */
    0x000239d4 addiu a1, a1, -0x495c     |         a1 += -0x495c;
    0x000239d8 addiu a2, zero, 0x91      |         a2 = 0x91;
    0x000239dc jalr t9                   |         t9 ();
    0x000239e0 addiu s1, zero, -1        |         s1 = -1;
    0x000239e4 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000239e8 b 0x238d0                 |         goto label_3;
                                         | label_13:
    0x000239ec lw a0, -0x7fcc(gp)        |         a0 = *(gp);
    0x000239f0 lw t9, -0x7e50(gp)        |         t9 = sym.imp.printf;
    0x000239f4 move a1, s1               |         a1 = s1;
                                         |         /* str.ERROR:__s_parameter_no_value_n */
    0x000239f8 addiu a0, a0, -0x4a74     |         a0 += -0x4a74;
    0x000239fc jalr t9                   |         t9 ();
    0x00023a00 addiu s1, zero, -1        |         s1 = -1;
    0x00023a04 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00023a08 b 0x238c0                 |         goto label_1;
                                         | label_6:
    0x00023a0c lw a0, -0x7fcc(gp)        |         a0 = *(gp);
    0x00023a10 lw t9, -0x7e50(gp)        |         t9 = sym.imp.printf;
    0x00023a14 move a1, s4               |         a1 = s4;
                                         |         /* str.ERROR:Calculated_length_of_the__s_failed_n */
    0x00023a18 addiu a0, a0, -0x4b40     |         a0 += -0x4b40;
    0x00023a1c jalr t9                   |         t9 ();
    0x00023a20 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00023a24 move a0, s0               |         a0 = s0;
    0x00023a28 lw t9, -0x774c(gp)        |         t9 = sym.imp.fclose;
    0x00023a2c addiu s1, zero, -1        |         s1 = -1;
    0x00023a30 jalr t9                   |         t9 ();
    0x00023a34 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00023a38 b 0x238e0                 |         goto label_4;
                                         | label_8:
    0x00023a3c lw a0, -0x7fcc(gp)        |         a0 = *(gp);
    0x00023a40 lw t9, -0x7e50(gp)        |         t9 = sym.imp.printf;
    0x00023a44 move a1, s6               |         a1 = s6;
                                         |         /* str.ERROR:_serch_the__s_token_failed_n */
    0x00023a48 addiu a0, a0, -0x4aec     |         a0 += -0x4aec;
    0x00023a4c jalr t9                   |         t9 ();
    0x00023a50 addiu s1, zero, -1        |         s1 = -1;
    0x00023a54 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00023a58 b 0x238d0                 |         goto label_3;
                                         |     }
    0x00023a5c lw a0, -0x7fcc(gp)        |     a0 = *(gp);
    0x00023a60 lw a1, -0x7fcc(gp)        |     a1 = *(gp);
    0x00023a64 lw t9, -0x7e50(gp)        |     t9 = sym.imp.printf;
                                         |     /* str.ERROR:_temp_buffer_malloc_failed__s___d_n */
    0x00023a68 addiu a0, a0, -0x4ac8     |     a0 += -0x4ac8;
                                         |     /* obj.__func__.3806 */
    0x00023a6c addiu a1, a1, -0x495c     |     a1 += -0x495c;
    0x00023a70 addiu a2, zero, 0x88      |     a2 = 0x88;
    0x00023a74 jalr t9                   |     t9 ();
    0x00023a78 addiu s1, zero, -1        |     s1 = -1;
    0x00023a7c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00023a80 b 0x238d0                 |     goto label_3;
                                         | label_5:
    0x00023a84 lw t9, -0x723c(gp)        |     t9 = sym.imp.__errno_location;
    0x00023a88 addiu s1, zero, -1        |     s1 = -1;
    0x00023a8c jalr t9                   |     t9 ();
    0x00023a90 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00023a94 lw t9, -0x7e2c(gp)        |     t9 = sym.imp.strerror;
    0x00023a98 lw a0, (v0)               |     a0 = *(v0);
    0x00023a9c jalr t9                   |     t9 ();
    0x00023aa0 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00023aa4 move a1, s4               |     a1 = s4;
    0x00023aa8 move a2, v0               |     a2 = v0;
    0x00023aac lw a0, -0x7fcc(gp)        |     a0 = *(gp);
    0x00023ab0 lw t9, -0x7e50(gp)        |     t9 = sym.imp.printf;
                                         |     /* esilref: 'fopen error file &s: &s
' */
    0x00023ab4 addiu a0, a0, -0x4b5c     |     a0 += -0x4b5c;
    0x00023ab8 jalr t9                   |     t9 ();
    0x00023abc lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00023ac0 b 0x238e0                 |     goto label_4;
                                         | label_7:
    0x00023ac4 lw a0, -0x7fcc(gp)        |     a0 = *(gp);
    0x00023ac8 lw t9, -0x7e94(gp)        |     t9 = *(gp);
    0x00023acc addiu s1, zero, -1        |     s1 = -1;
                                         |     /* str.ERROR:_file_buffer_malloc_failed */
    0x00023ad0 addiu a0, a0, -0x4b14     |     a0 += -0x4b14;
    0x00023ad4 jalr t9                   |     t9 ();
    0x00023ad8 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00023adc lw t9, -0x774c(gp)        |     t9 = sym.imp.fclose;
    0x00023ae0 move a0, s0               |     a0 = s0;
    0x00023ae4 jalr t9                   |     t9 ();
    0x00023ae8 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00023aec b 0x238e0                 |     goto label_4;
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libaudioProcess.so @ 0x23af0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.write_profile ()         | void write_profile () {
    0x00023af0 lui gp, 7                 |     
    0x00023af4 addiu gp, gp, 0x5f10      |     
    0x00023af8 addu gp, gp, t9           |     gp += t9;
    0x00023afc lw v0, -0x7fcc(gp)        |     v0 = *(gp);
    0x00023b00 lw t9, -0x7a54(gp)        |     t9 = sym.imp.memset;
    0x00023b04 addiu sp, sp, -0xb8       |     
    0x00023b08 lbu v0, -0x49c0(v0)       |     v0 = *((v0 - 18880));
    0x00023b0c sw ra, 0xb4(sp)           |     *(var_b4h) = ra;
    0x00023b10 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00023b14 sw s6, 0xa8(sp)           |     *(var_a8h) = s6;
    0x00023b18 sw s4, 0xa0(sp)           |     *(var_a0h) = s4;
    0x00023b1c sw s2, 0x98(sp)           |     *(var_98h) = s2;
    0x00023b20 sw s1, 0x94(sp)           |     *(var_94h) = s1;
    0x00023b24 sw s0, 0x90(sp)           |     *(var_90h) = s0;
    0x00023b28 sw fp, 0xb0(sp)           |     *(var_b0h) = fp;
    0x00023b2c sw s7, 0xac(sp)           |     *(var_ach) = s7;
    0x00023b30 sw s5, 0xa4(sp)           |     *(var_a4h) = s5;
    0x00023b34 sw s3, 0x9c(sp)           |     *(var_9ch) = s3;
    0x00023b38 move s2, a0               |     s2 = a0;
    0x00023b3c move s6, a1               |     s6 = a1;
    0x00023b40 addiu a0, sp, 0x21        |     a0 = sp + 0x21;
    0x00023b44 move a1, zero             |     a1 = 0;
    0x00023b48 move s0, a2               |     s0 = a2;
    0x00023b4c sb v0, 0x20(sp)           |     *(var_20h) = v0;
    0x00023b50 addiu a2, zero, 0x63      |     a2 = 0x63;
    0x00023b54 move s4, a3               |     s4 = a3;
    0x00023b58 jalr t9                   |     t9 ();
    0x00023b5c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023b60 lw t9, -0x74d8(gp)        |     t9 = sym.imp.malloc;
    0x00023b64 addiu a0, zero, 0x100     |     a0 = aav.0x00000100;
    0x00023b68 jalr t9                   |     t9 ();
    0x00023b6c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023b70 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
                                         |     /* sym.profile_lock */
    0x00023b74 addiu t9, t9, 0x3440      |     t9 += 0x3440;
    0x00023b78 move s1, v0               |     s1 = v0;
    0x00023b7c bal 0x23440               |     sym_profile_lock ();
    0x00023b80 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (s1 == 0) {
    0x00023b84 beqz s1, 0x241c8          |         goto label_7;
                                         |     }
    0x00023b88 lw t9, -0x7a54(gp)        |     t9 = sym.imp.memset;
    0x00023b8c move a0, s1               |     a0 = s1;
    0x00023b90 move a1, zero             |     a1 = 0;
    0x00023b94 addiu a2, zero, 0x100     |     a2 = aav.0x00000100;
    0x00023b98 jalr t9                   |     t9 ();
    0x00023b9c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023ba0 move a0, s2               |     a0 = s2;
    0x00023ba4 lw a1, -0x7fcc(gp)        |     a1 = *(gp);
    0x00023ba8 lw t9, -0x77ac(gp)        |     t9 = *(gp);
                                         |     /* esilref: 'r+' */
    0x00023bac addiu a1, a1, -0x4a34     |     a1 += -0x4a34;
    0x00023bb0 jalr t9                   |     t9 ();
    0x00023bb4 move s5, v0               |     s5 = v0;
    0x00023bb8 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00023bbc beqz v0, 0x23f0c          |         goto label_8;
                                         |     }
    0x00023bc0 lw t9, -0x7bb8(gp)        |     t9 = sym.imp.fseek;
    0x00023bc4 move a0, v0               |     a0 = v0;
    0x00023bc8 move a1, zero             |     a1 = 0;
    0x00023bcc addiu a2, zero, 2         |     a2 = 2;
    0x00023bd0 jalr t9                   |     t9 ();
    0x00023bd4 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023bd8 beqz v0, 0x23c5c          |     
                                         |     while (v0 != 0) {
    0x00023bdc lw a0, -0x7fcc(gp)        |         a0 = *(gp);
    0x00023be0 lw t9, -0x7e50(gp)        |         t9 = sym.imp.printf;
    0x00023be4 move a1, s2               |         a1 = s2;
                                         |         /* str.ERROR:Calculated_length_of_the__s_failed_n */
    0x00023be8 addiu a0, a0, -0x4b40     |         a0 += -0x4b40;
    0x00023bec jalr t9                   |         t9 ();
    0x00023bf0 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00023bf4 move a0, s5               |         a0 = s5;
    0x00023bf8 lw t9, -0x774c(gp)        |         t9 = sym.imp.fclose;
    0x00023bfc addiu s0, zero, -1        |         s0 = -1;
    0x00023c00 jalr t9                   |         t9 ();
    0x00023c04 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         | label_1:
    0x00023c08 lw t9, -0x7dbc(gp)        |         t9 = sym.imp.free;
    0x00023c0c move a0, s1               |         a0 = s1;
    0x00023c10 jalr t9                   |         t9 ();
    0x00023c14 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         | label_5:
    0x00023c18 lw a0, -0x7fe4(gp)        |         a0 = *((gp - 8185));
    0x00023c1c lw t9, -0x7c9c(gp)        |         t9 = sym.imp.pthread_mutex_unlock;
                                         |         /* obj.mutex */
    0x00023c20 addiu a0, a0, 0x32d4      |         a0 += aav.0x000032d4;
    0x00023c24 jalr t9                   |         t9 ();
    0x00023c28 lw ra, 0xb4(sp)           |         ra = *(var_b4h);
    0x00023c2c move v0, s0               |         v0 = s0;
    0x00023c30 lw fp, 0xb0(sp)           |         fp = *(var_b0h);
    0x00023c34 lw s7, 0xac(sp)           |         s7 = *(var_ach);
    0x00023c38 lw s6, 0xa8(sp)           |         s6 = *(var_a8h);
    0x00023c3c lw s5, 0xa4(sp)           |         s5 = *(var_a4h);
    0x00023c40 lw s4, 0xa0(sp)           |         s4 = *(var_a0h);
    0x00023c44 lw s3, 0x9c(sp)           |         s3 = *(var_9ch);
    0x00023c48 lw s2, 0x98(sp)           |         s2 = *(var_98h);
    0x00023c4c lw s1, 0x94(sp)           |         s1 = *(var_94h);
    0x00023c50 lw s0, 0x90(sp)           |         s0 = *(var_90h);
    0x00023c54 addiu sp, sp, 0xb8        |         
    0x00023c58 jr ra                     |         return v0;
    0x00023c5c lw t9, -0x7da4(gp)        |         t9 = sym.imp.ftell;
    0x00023c60 move a0, s5               |         a0 = s5;
    0x00023c64 jalr t9                   |         t9 ();
    0x00023c68 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00023c6c move a0, s5               |         a0 = s5;
    0x00023c70 move a1, zero             |         a1 = 0;
    0x00023c74 lw t9, -0x7bb8(gp)        |         t9 = sym.imp.fseek;
    0x00023c78 move a2, zero             |         a2 = 0;
    0x00023c7c move s7, v0               |         s7 = v0;
    0x00023c80 jalr t9                   |         t9 ();
    0x00023c84 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00023c88 bnez v0, 0x23bdc          |         
                                         |     }
    0x00023c8c lw t9, -0x74d8(gp)        |     t9 = sym.imp.malloc;
    0x00023c90 addiu fp, s7, 1           |     fp = s7 + 1;
    0x00023c94 move a0, fp               |     a0 = fp;
    0x00023c98 jalr t9                   |     t9 ();
    0x00023c9c move s3, v0               |     s3 = v0;
    0x00023ca0 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00023ca4 beqz v0, 0x23fc0          |         goto label_9;
                                         |     }
    0x00023ca8 lw t9, -0x7a54(gp)        |     t9 = sym.imp.memset;
    0x00023cac move a0, v0               |     a0 = v0;
    0x00023cb0 move a1, zero             |     a1 = 0;
    0x00023cb4 move a2, fp               |     a2 = fp;
    0x00023cb8 jalr t9                   |     t9 ();
    0x00023cbc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023cc0 move a3, s5               |     a3 = s5;
    0x00023cc4 addiu a1, zero, 1         |     a1 = 1;
    0x00023cc8 lw t9, -0x7764(gp)        |     t9 = sym.imp.fread;
    0x00023ccc move a2, s7               |     a2 = s7;
    0x00023cd0 move a0, s3               |     a0 = s3;
    0x00023cd4 jalr t9                   |     t9 ();
    0x00023cd8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023cdc lw t9, -0x774c(gp)        |     t9 = sym.imp.fclose;
    0x00023ce0 move a0, s5               |     a0 = s5;
    0x00023ce4 jalr t9                   |     t9 ();
    0x00023ce8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023cec addiu a0, sp, 0x20        |     a0 = sp + 0x20;
    0x00023cf0 move a2, s6               |     a2 = s6;
    0x00023cf4 lw a1, -0x7fcc(gp)        |     a1 = *(gp);
    0x00023cf8 lw t9, -0x7b6c(gp)        |     t9 = sym.imp.sprintf
                                         |     /* esilref: '&s]' */
    0x00023cfc addiu a1, a1, -0x4af0     |     a1 += -0x4af0;
    0x00023d00 jalr t9                   |     t9 ();
    0x00023d04 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023d08 lw t9, -0x7598(gp)        |     t9 = sym.imp.strlen;
    0x00023d0c addiu a0, sp, 0x20        |     a0 = sp + 0x20;
    0x00023d10 jalr t9                   |     t9 ();
    0x00023d14 sltu v0, s7, v0           |     v0 = (s7 < v0) ? 1 : 0;
    0x00023d18 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 != 0) {
    0x00023d1c bnez v0, 0x23f28          |         goto label_10;
                                         |     }
    0x00023d20 lw t9, -0x7cdc(gp)        |     t9 = sym.imp.strstr;
    0x00023d24 move a0, s3               |     a0 = s3;
    0x00023d28 addiu a1, sp, 0x20        |     a1 = sp + 0x20;
    0x00023d2c jalr t9                   |     t9 ();
    0x00023d30 sw v0, 0x88(sp)           |     *(var_88h) = v0;
    0x00023d34 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00023d38 beqz v0, 0x23f28          |         goto label_10;
                                         |     }
    0x00023d3c lw t9, -0x7df8(gp)        |     t9 = sym.imp.strchr;
    0x00023d40 lw a0, 0x88(sp)           |     a0 = *(var_88h);
    0x00023d44 addiu a1, zero, 0x5b      |     a1 = 0x5b;
    0x00023d48 jalr t9                   |     t9 ();
    0x00023d4c move fp, v0               |     fp = v0;
    0x00023d50 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00023d54 beqz v0, 0x2410c          |         goto label_11;
                                         |     }
    0x00023d58 lw v0, 0x88(sp)           |     v0 = *(var_88h);
    0x00023d5c lw t9, -0x74d8(gp)        |     t9 = sym.imp.malloc;
    0x00023d60 subu s5, fp, v0           |     __asm ("subu s5, fp, v0");
    0x00023d64 addiu s7, s5, 1           |     s7 = s5 + 1;
    0x00023d68 move a0, s7               |     a0 = s7;
    0x00023d6c jalr t9                   |     t9 ();
    0x00023d70 move s6, v0               |     s6 = v0;
    0x00023d74 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00023d78 beqz v0, 0x24180          |         goto label_12;
                                         |     }
    0x00023d7c lw t9, -0x7a54(gp)        |     t9 = sym.imp.memset;
    0x00023d80 move a0, v0               |     a0 = v0;
    0x00023d84 move a1, zero             |     a1 = 0;
    0x00023d88 move a2, s7               |     a2 = s7;
    0x00023d8c jalr t9                   |     t9 ();
    0x00023d90 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023d94 lw a1, 0x88(sp)           |     a1 = *(var_88h);
    0x00023d98 move a0, s6               |     a0 = s6;
    0x00023d9c lw t9, -0x7954(gp)        |     t9 = sym.imp.strncpy;
    0x00023da0 move a2, s5               |     a2 = s5;
    0x00023da4 jalr t9                   |     t9 ();
    0x00023da8 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         | label_3:
    0x00023dac move s7, zero             |     s7 = 0;
    0x00023db0 addiu s5, zero, 0x3d      |     s5 = 0x3d;
    0x00023db4 b 0x23e00                 |     
                                         |     while (s7 != 0) {
    0x00023db8 jalr t9                   |         t9 ();
    0x00023dbc nop                       |         
    0x00023dc0 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00023dc4 addu a0, s7, v0           |         a0 = s7 + v0;
    0x00023dc8 lw t9, -0x7cdc(gp)        |         t9 = sym.imp.strstr;
    0x00023dcc move a1, s0               |         a1 = s0;
    0x00023dd0 jalr t9                   |         t9 ();
    0x00023dd4 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00023dd8 move s7, v0               |         s7 = v0;
    0x00023ddc move a0, s0               |         a0 = s0;
    0x00023de0 lw t9, -0x7598(gp)        |         t9 = sym.imp.strlen;
                                         |         if (s7 == 0) {
    0x00023de4 beqz s7, 0x23e30          |             goto label_13;
                                         |         }
                                         | label_0:
    0x00023de8 jalr t9                   |         t9 ();
    0x00023dec nop                       |         
    0x00023df0 addu v0, s7, v0           |         v0 = s7 + v0;
    0x00023df4 lb v0, (v0)               |         v0 = *(v0);
    0x00023df8 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == s5) {
    0x00023dfc beq v0, s5, 0x23fec       |             goto label_14;
                                         |         }
    0x00023e00 lw t9, -0x7598(gp)        |         t9 = sym.imp.strlen;
    0x00023e04 move a0, s0               |         a0 = s0;
    0x00023e08 bnez s7, 0x23db8          |         
                                         |     }
    0x00023e0c lw t9, -0x7cdc(gp)        |     t9 = sym.imp.strstr;
    0x00023e10 move a0, s6               |     a0 = s6;
    0x00023e14 move a1, s0               |     a1 = s0;
    0x00023e18 jalr t9                   |     t9 ();
    0x00023e1c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023e20 move s7, v0               |     s7 = v0;
    0x00023e24 move a0, s0               |     a0 = s0;
    0x00023e28 lw t9, -0x7598(gp)        |     t9 = sym.imp.strlen;
                                         |     if (s7 != 0) {
    0x00023e2c bnez s7, 0x23de8          |         goto label_0;
                                         |     }
                                         | label_13:
    0x00023e30 lw a1, -0x7fcc(gp)        |     a1 = *(gp);
    0x00023e34 lw t9, -0x77ac(gp)        |     t9 = *(gp);
    0x00023e38 move a0, s2               |     a0 = s2;
                                         |     /* esilref: 'w+' */
    0x00023e3c addiu a1, a1, -0x49dc     |     a1 += -0x49dc;
    0x00023e40 jalr t9                   |     t9 ();
    0x00023e44 move s5, v0               |     s5 = v0;
    0x00023e48 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00023e4c beqz v0, 0x241a8          |         goto label_15;
                                         |     }
    0x00023e50 lw t9, -0x7298(gp)        |     t9 = sym.imp.fwrite;
    0x00023e54 move a0, s3               |     a0 = s3;
    0x00023e58 addiu a1, zero, 1         |     a1 = 1;
    0x00023e5c subu a2, fp, s3           |     __asm ("subu a2, fp, s3");
    0x00023e60 move a3, v0               |     a3 = v0;
    0x00023e64 jalr t9                   |     t9 ();
    0x00023e68 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023e6c move a2, s0               |     a2 = s0;
    0x00023e70 move a3, s4               |     a3 = s4;
    0x00023e74 lw a1, -0x7fcc(gp)        |     a1 = *(gp);
    0x00023e78 lw t9, -0x7b6c(gp)        |     t9 = sym.imp.sprintf
    0x00023e7c move a0, s1               |     a0 = s1;
                                         |     /* str._s_s_n */
    0x00023e80 addiu a1, a1, -0x49d0     |     a1 += -0x49d0;
    0x00023e84 jalr t9                   |     t9 ();
    0x00023e88 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023e8c move a0, s1               |     a0 = s1;
    0x00023e90 lw t9, -0x7598(gp)        |     t9 = sym.imp.strlen;
    0x00023e94 move s0, zero             |     s0 = 0;
    0x00023e98 jalr t9                   |     t9 ();
    0x00023e9c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023ea0 addiu a1, zero, 1         |     a1 = 1;
    0x00023ea4 move a2, v0               |     a2 = v0;
    0x00023ea8 lw t9, -0x7298(gp)        |     t9 = sym.imp.fwrite;
    0x00023eac move a3, s5               |     a3 = s5;
    0x00023eb0 move a0, s1               |     a0 = s1;
    0x00023eb4 jalr t9                   |     t9 ();
    0x00023eb8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023ebc lw t9, -0x7598(gp)        |     t9 = sym.imp.strlen;
    0x00023ec0 move a0, fp               |     a0 = fp;
    0x00023ec4 jalr t9                   |     t9 ();
    0x00023ec8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023ecc move a0, fp               |     a0 = fp;
    0x00023ed0 addiu a1, zero, 1         |     a1 = 1;
    0x00023ed4 lw t9, -0x7298(gp)        |     t9 = sym.imp.fwrite;
    0x00023ed8 move a2, v0               |     a2 = v0;
    0x00023edc move a3, s5               |     a3 = s5;
    0x00023ee0 jalr t9                   |     t9 ();
    0x00023ee4 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00023ee8 lw t9, -0x774c(gp)        |     t9 = sym.imp.fclose;
    0x00023eec move a0, s5               |     a0 = s5;
    0x00023ef0 jalr t9                   |     t9 ();
    0x00023ef4 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     do {
                                         | label_4:
    0x00023ef8 lw t9, -0x7dbc(gp)        |         t9 = sym.imp.free;
    0x00023efc move a0, s6               |         a0 = s6;
    0x00023f00 jalr t9                   |         t9 ();
    0x00023f04 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00023f08 b 0x23fac                 |         goto label_2;
                                         | label_8:
    0x00023f0c lw a0, -0x7fcc(gp)        |         a0 = *(gp);
    0x00023f10 lw t9, -0x7e50(gp)        |         t9 = sym.imp.printf;
    0x00023f14 move a1, s2               |         a1 = s2;
                                         |         /* str.fopen_error_file:_s_n */
    0x00023f18 addiu a0, a0, -0x4a30     |         a0 += -aav.0x00004a30;
    0x00023f1c jalr t9                   |         t9 ();
    0x00023f20 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00023f24 move s3, zero             |         s3 = 0;
                                         | label_10:
    0x00023f28 lw a1, -0x7fcc(gp)        |         a1 = *(gp);
    0x00023f2c lw t9, -0x77ac(gp)        |         t9 = *(gp);
    0x00023f30 move a0, s2               |         a0 = s2;
                                         |         /* esilref: 'a+' */
    0x00023f34 addiu a1, a1, -0x4a18     |         a1 += -0x4a18;
    0x00023f38 jalr t9                   |         t9 ();
    0x00023f3c move s5, v0               |         s5 = v0;
    0x00023f40 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x00023f44 beqz v0, 0x240ec          |             goto label_16;
                                         |         }
    0x00023f48 lw a1, -0x7fcc(gp)        |         a1 = *(gp);
    0x00023f4c lw t9, -0x7b6c(gp)        |         t9 = sym.imp.sprintf
    0x00023f50 move a3, s0               |         a3 = s0;
    0x00023f54 move a2, s6               |         a2 = s6;
                                         |         /* str.__s__n_s_s_n */
    0x00023f58 addiu a1, a1, -0x4a00     |         a1 += -0x4a00;
    0x00023f5c move a0, s1               |         a0 = s1;
    0x00023f60 sw s4, 0x10(sp)           |         *(var_10h) = s4;
    0x00023f64 jalr t9                   |         t9 ();
    0x00023f68 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00023f6c move a0, s1               |         a0 = s1;
    0x00023f70 lw t9, -0x7598(gp)        |         t9 = sym.imp.strlen;
    0x00023f74 move s0, zero             |         s0 = 0;
    0x00023f78 jalr t9                   |         t9 ();
    0x00023f7c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00023f80 move a0, s1               |         a0 = s1;
    0x00023f84 addiu a1, zero, 1         |         a1 = 1;
    0x00023f88 lw t9, -0x7298(gp)        |         t9 = sym.imp.fwrite;
    0x00023f8c move a2, v0               |         a2 = v0;
    0x00023f90 move a3, s5               |         a3 = s5;
    0x00023f94 jalr t9                   |         t9 ();
    0x00023f98 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00023f9c lw t9, -0x774c(gp)        |         t9 = sym.imp.fclose;
    0x00023fa0 move a0, s5               |         a0 = s5;
    0x00023fa4 jalr t9                   |         t9 ();
    0x00023fa8 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         | label_2:
    0x00023fac lw t9, -0x7dbc(gp)        |         t9 = sym.imp.free;
    0x00023fb0 move a0, s3               |         a0 = s3;
    0x00023fb4 jalr t9                   |         t9 ();
    0x00023fb8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00023fbc b 0x23c08                 |         goto label_1;
                                         | label_9:
    0x00023fc0 lw a0, -0x7fcc(gp)        |         a0 = *(gp);
    0x00023fc4 lw t9, -0x7e94(gp)        |         t9 = *(gp);
    0x00023fc8 addiu s0, zero, -1        |         s0 = -1;
                                         |         /* str.ERROR:_file_buffer_malloc_failed */
    0x00023fcc addiu a0, a0, -0x4b14     |         a0 += -0x4b14;
    0x00023fd0 jalr t9                   |         t9 ();
    0x00023fd4 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00023fd8 lw t9, -0x774c(gp)        |         t9 = sym.imp.fclose;
    0x00023fdc move a0, s5               |         a0 = s5;
    0x00023fe0 jalr t9                   |         t9 ();
    0x00023fe4 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00023fe8 b 0x23c08                 |         goto label_1;
                                         | label_14:
    0x00023fec lw t9, -0x7df8(gp)        |         t9 = sym.imp.strchr;
    0x00023ff0 move a0, s7               |         a0 = s7;
    0x00023ff4 addiu a1, zero, 0xa       |         a1 = 0xa;
    0x00023ff8 jalr t9                   |         t9 ();
    0x00023ffc move s5, v0               |         s5 = v0;
    0x00024000 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x00024004 beqz v0, 0x2420c          |             goto label_17;
                                         |         }
                                         | label_6:
    0x00024008 lw a1, -0x7fcc(gp)        |         a1 = *(gp);
    0x0002400c lw t9, -0x77ac(gp)        |         t9 = *(gp);
    0x00024010 move a0, s2               |         a0 = s2;
                                         |         /* esilref: 'w+' */
    0x00024014 addiu a1, a1, -0x49dc     |         a1 += -0x49dc;
    0x00024018 jalr t9                   |         t9 ();
    0x0002401c move fp, v0               |         fp = v0;
    0x00024020 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x00024024 beqz v0, 0x241a8          |             goto label_15;
                                         |         }
    0x00024028 lw v0, 0x88(sp)           |         v0 = *(var_88h);
    0x0002402c subu v1, s7, s6           |         __asm ("subu v1, s7, s6");
    0x00024030 lw t9, -0x7298(gp)        |         t9 = sym.imp.fwrite;
    0x00024034 addu a2, v0, v1           |         a2 = v0 + v1;
    0x00024038 move a0, s3               |         a0 = s3;
    0x0002403c addiu a1, zero, 1         |         a1 = 1;
    0x00024040 subu a2, a2, s3           |         __asm ("subu a2, a2, s3");
    0x00024044 move a3, fp               |         a3 = fp;
    0x00024048 jalr t9                   |         t9 ();
    0x0002404c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00024050 move a2, s0               |         a2 = s0;
    0x00024054 move a3, s4               |         a3 = s4;
    0x00024058 lw a1, -0x7fcc(gp)        |         a1 = *(gp);
    0x0002405c lw t9, -0x7b6c(gp)        |         t9 = sym.imp.sprintf
    0x00024060 move a0, s1               |         a0 = s1;
                                         |         /* str._s_s */
    0x00024064 addiu a1, a1, -0x49d8     |         a1 += -0x49d8;
    0x00024068 jalr t9                   |         t9 ();
    0x0002406c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00024070 move a0, s1               |         a0 = s1;
    0x00024074 subu s5, s5, s6           |         __asm ("subu s5, s5, s6");
    0x00024078 lw t9, -0x7598(gp)        |         t9 = sym.imp.strlen;
    0x0002407c move s0, zero             |         s0 = 0;
    0x00024080 jalr t9                   |         t9 ();
    0x00024084 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00024088 addiu a1, zero, 1         |         a1 = 1;
    0x0002408c move a2, v0               |         a2 = v0;
    0x00024090 lw t9, -0x7298(gp)        |         t9 = sym.imp.fwrite;
    0x00024094 move a3, fp               |         a3 = fp;
    0x00024098 move a0, s1               |         a0 = s1;
    0x0002409c jalr t9                   |         t9 ();
    0x000240a0 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000240a4 lw v0, 0x88(sp)           |         v0 = *(var_88h);
    0x000240a8 lw t9, -0x7598(gp)        |         t9 = sym.imp.strlen;
    0x000240ac addu s7, v0, s5           |         s7 = v0 + s5;
    0x000240b0 move a0, s7               |         a0 = s7;
    0x000240b4 jalr t9                   |         t9 ();
    0x000240b8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000240bc move a0, s7               |         a0 = s7;
    0x000240c0 addiu a1, zero, 1         |         a1 = 1;
    0x000240c4 lw t9, -0x7298(gp)        |         t9 = sym.imp.fwrite;
    0x000240c8 move a2, v0               |         a2 = v0;
    0x000240cc move a3, fp               |         a3 = fp;
    0x000240d0 jalr t9                   |         t9 ();
    0x000240d4 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000240d8 lw t9, -0x774c(gp)        |         t9 = sym.imp.fclose;
    0x000240dc move a0, fp               |         a0 = fp;
    0x000240e0 jalr t9                   |         t9 ();
    0x000240e4 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000240e8 b 0x23ef8                 |         
                                         |     } while (1);
                                         | label_16:
    0x000240ec lw a0, -0x7fcc(gp)        |     a0 = *(gp);
    0x000240f0 lw t9, -0x7e50(gp)        |     t9 = sym.imp.printf;
    0x000240f4 move a1, s2               |     a1 = s2;
                                         |     /* str.fwopen__s_error_n */
    0x000240f8 addiu a0, a0, -0x4a14     |     a0 += -0x4a14;
    0x000240fc jalr t9                   |     t9 ();
    0x00024100 addiu s0, zero, -1        |     s0 = -1;
    0x00024104 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00024108 b 0x23fac                 |     goto label_2;
                                         | label_11:
    0x0002410c lw t9, -0x7598(gp)        |     t9 = sym.imp.strlen;
    0x00024110 move a0, s3               |     a0 = s3;
    0x00024114 jalr t9                   |     t9 ();
    0x00024118 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0002411c lw a0, 0x88(sp)           |     a0 = *(var_88h);
    0x00024120 lw t9, -0x7598(gp)        |     t9 = sym.imp.strlen;
    0x00024124 addu fp, s3, v0           |     fp = s3 + v0;
    0x00024128 jalr t9                   |     t9 ();
    0x0002412c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00024130 addiu s5, v0, 1           |     s5 = v0 + 1;
    0x00024134 lw t9, -0x74d8(gp)        |     t9 = sym.imp.malloc;
    0x00024138 move a0, s5               |     a0 = s5;
    0x0002413c jalr t9                   |     t9 ();
    0x00024140 move s6, v0               |     s6 = v0;
    0x00024144 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 != 0) {
    0x00024148 beqz v0, 0x241e4          |         
    0x0002414c lw t9, -0x7a54(gp)        |         t9 = sym.imp.memset;
    0x00024150 move a0, v0               |         a0 = v0;
    0x00024154 move a1, zero             |         a1 = 0;
    0x00024158 move a2, s5               |         a2 = s5;
    0x0002415c jalr t9                   |         t9 ();
    0x00024160 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00024164 lw a1, 0x88(sp)           |         a1 = *(var_88h);
    0x00024168 move a0, s6               |         a0 = s6;
    0x0002416c lw t9, -0x7300(gp)        |         t9 = sym.imp.memcpy;
    0x00024170 move a2, s5               |         a2 = s5;
    0x00024174 jalr t9                   |         t9 ();
    0x00024178 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0002417c b 0x23dac                 |         goto label_3;
                                         | label_12:
    0x00024180 lw a0, -0x7fcc(gp)        |         a0 = *(gp);
    0x00024184 lw a1, -0x7fcc(gp)        |         a1 = *(gp);
    0x00024188 lw t9, -0x7e50(gp)        |         t9 = sym.imp.printf;
                                         |         /* str.ERROR:_temp_buffer_malloc_failed__s___d_n */
    0x0002418c addiu a0, a0, -0x4ac8     |         a0 += -0x4ac8;
                                         |         /* obj.__func__.3832 */
    0x00024190 addiu a1, a1, -0x494c     |         a1 += -0x494c;
    0x00024194 addiu a2, zero, 0x12a     |         a2 = 0x12a;
    0x00024198 jalr t9                   |         t9 ();
    0x0002419c addiu s0, zero, -1        |         s0 = -1;
    0x000241a0 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000241a4 b 0x23fac                 |         goto label_2;
                                         | label_15:
    0x000241a8 lw a0, -0x7fcc(gp)        |         a0 = *(gp);
    0x000241ac lw t9, -0x7e50(gp)        |         t9 = sym.imp.printf;
    0x000241b0 move a1, s2               |         a1 = s2;
                                         |         /* str.fwopen__s_error_n */
    0x000241b4 addiu a0, a0, -0x4a14     |         a0 += -0x4a14;
    0x000241b8 jalr t9                   |         t9 ();
    0x000241bc addiu s0, zero, -1        |         s0 = -1;
    0x000241c0 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000241c4 b 0x23ef8                 |         goto label_4;
                                         | label_7:
    0x000241c8 lw a0, -0x7fcc(gp)        |         a0 = *(gp);
    0x000241cc lw t9, -0x7e94(gp)        |         t9 = *(gp);
    0x000241d0 addiu s0, zero, -1        |         s0 = -1;
                                         |         /* str.malloc_parameter_buffer_error_ */
    0x000241d4 addiu a0, a0, -0x4a54     |         a0 += -aav.0x00004a54;
    0x000241d8 jalr t9                   |         t9 ();
    0x000241dc lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000241e0 b 0x23c18                 |         goto label_5;
                                         |     }
    0x000241e4 lw a0, -0x7fcc(gp)        |     a0 = *(gp);
    0x000241e8 lw a1, -0x7fcc(gp)        |     a1 = *(gp);
    0x000241ec lw t9, -0x7e50(gp)        |     t9 = sym.imp.printf;
                                         |     /* str.ERROR:_temp_buffer_malloc_failed__s___d_n */
    0x000241f0 addiu a0, a0, -0x4ac8     |     a0 += -0x4ac8;
                                         |     /* obj.__func__.3832 */
    0x000241f4 addiu a1, a1, -0x494c     |     a1 += -0x494c;
    0x000241f8 addiu a2, zero, 0x121     |     a2 = 0x121;
    0x000241fc jalr t9                   |     t9 ();
    0x00024200 addiu s0, zero, -1        |     s0 = -1;
    0x00024204 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00024208 b 0x23fac                 |     goto label_2;
                                         | label_17:
    0x0002420c lw a0, -0x7fcc(gp)        |     a0 = *(gp);
    0x00024210 lw t9, -0x7e94(gp)        |     t9 = *(gp);
                                         |     /* str.parameter_end_p_is_NULL */
    0x00024214 addiu a0, a0, -0x49f4     |     a0 += -0x49f4;
    0x00024218 jalr t9                   |     t9 ();
    0x0002421c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00024220 b 0x24008                 |     goto label_6;
                                         | }

[*] Function sprintf used 10 times libaudioProcess.so