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