[*] Binary protection state of libcproducer.so
No RELRO No Canary found NX disabled DSO RPATH No RUNPATH Symbols
[*] Function strcat tear down of libcproducer.so
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/13893632-15421440.squashfs_v4_le_extract/thirdlib/libcproducer.so @ 0x21da4 */
| #include <stdint.h>
|
; (fcn) sym.curlCompleteSync () | void curlCompleteSync () {
0x00021da4 lui gp, 7 |
0x00021da8 addiu gp, gp, -0xcd4 |
0x00021dac addu gp, gp, t9 | gp += t9;
0x00021db0 addiu sp, sp, -0x7ff0 |
0x00021db4 sw ra, 0x7fec(sp) | *(arg_7fech) = ra;
0x00021db8 sw fp, 0x7fe8(sp) | *(arg_7fe8h) = fp;
0x00021dbc sw s1, 0x7fe4(sp) | *(arg_7fe4h) = s1;
0x00021dc0 sw s0, 0x7fe0(sp) | *(arg_7fe0h) = s0;
0x00021dc4 lui v1, 6 | v1 = 0x62ac0;
0x00021dc8 ori v1, v1, 0x2ac0 |
0x00021dcc subu sp, sp, v1 |
0x00021dd0 move fp, sp | fp = sp;
0x00021dd4 sw gp, 0x20(sp) | *(arg_20h) = gp;
0x00021dd8 lui v0, 6 | v0 = 0x6aab0;
0x00021ddc ori v0, v0, 0xaab0 |
0x00021de0 addu v0, v0, fp | v0 += fp;
0x00021de4 sw a0, (v0) | *(v0) = a0;
0x00021de8 sw zero, 0x28(fp) | *(arg_28h) = 0;
0x00021dec sw zero, 0x30(fp) | *(arg_30h) = 0;
0x00021df0 lui v1, 6 | v1 = 0x6aab0;
0x00021df4 ori v1, v1, 0xaab0 |
0x00021df8 addu v1, v1, fp | v1 += fp;
0x00021dfc lw v0, (v1) | v0 = *(v1);
| if (v0 != 0) {
0x00021e00 beqz v0, 0x21e44 |
0x00021e04 nop |
0x00021e08 lui a0, 6 | a0 = 0x6aab0;
0x00021e0c ori a0, a0, 0xaab0 |
0x00021e10 addu a0, a0, fp | a0 += fp;
0x00021e14 lw v0, (a0) | v0 = *(a0);
0x00021e18 lw v0, (v0) | v0 = *(v0);
| if (v0 == 0) {
0x00021e1c beqz v0, 0x21e44 | goto label_0;
| }
0x00021e20 nop |
0x00021e24 lui a1, 6 | a1 = 0x6aab0;
0x00021e28 ori a1, a1, 0xaab0 |
0x00021e2c addu a1, a1, fp | a1 += fp;
0x00021e30 lw v0, (a1) | v0 = *(a1);
0x00021e34 lw v0, (v0) | v0 = *(v0);
0x00021e38 lw v0, 0x5900(v0) | v0 = *((v0 + 5696));
| if (v0 != 0) {
0x00021e3c bnez v0, 0x21e54 | goto label_1;
| }
0x00021e40 nop |
| }
| label_0:
0x00021e44 addiu v0, zero, 1 | v0 = 1;
0x00021e48 sw v0, 0x28(fp) | *(arg_28h) = v0;
0x00021e4c b 0x223c0 | goto label_2;
0x00021e50 nop |
| label_1:
0x00021e54 lui t9, 6 | t9 = 0x6aab0;
0x00021e58 ori t9, t9, 0xaab0 |
0x00021e5c addu t9, t9, fp | t9 += fp;
0x00021e60 lw v0, (t9) | v0 = *(t9);
0x00021e64 lw v0, (v0) | v0 = *(v0);
0x00021e68 sw v0, 0x34(fp) | *(arg_34h) = v0;
0x00021e6c lw v0, 0x34(fp) | v0 = *(arg_34h);
0x00021e70 lw v0, 0x5900(v0) | v0 = *((v0 + 5696));
0x00021e74 sw v0, 0x38(fp) | *(arg_38h) = v0;
0x00021e78 lw v0, 0x34(fp) | v0 = *(arg_34h);
0x00021e7c addiu v1, v0, 8 | v1 = v0 + 8;
0x00021e80 lui a0, 6 | a0 = 0x6aab0;
0x00021e84 ori a0, a0, 0xaab0 |
0x00021e88 addu a0, a0, fp | a0 += fp;
0x00021e8c lw v0, (a0) | v0 = *(a0);
0x00021e90 addiu v0, v0, 8 | v0 += 8;
0x00021e94 move a0, v1 | a0 = v1;
0x00021e98 move a1, v0 | a1 = v0;
0x00021e9c lw v0, -0x7a3c(gp) | v0 = sym.createCurlHeaderList;
0x00021ea0 move t9, v0 | t9 = v0;
0x00021ea4 jalr t9 | t9 ();
0x00021ea8 nop |
0x00021eac lw gp, 0x20(fp) | gp = *(arg_20h);
0x00021eb0 sw v0, 0x3c(fp) | *(arg_3ch) = v0;
0x00021eb4 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
| if (v0 != 0) {
0x00021eb8 beqz v0, 0x21ed0 |
0x00021ebc nop |
0x00021ec0 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x00021ec4 sw v0, 0x28(fp) | *(arg_28h) = v0;
0x00021ec8 b 0x223c0 | goto label_2;
0x00021ecc nop |
| }
0x00021ed0 addiu v0, zero, 0x2727 | v0 = 0x2727;
0x00021ed4 sw v0, 0x40(fp) | *(arg_40h) = v0;
0x00021ed8 lui v1, 6 | v1 = 0x6aab0;
0x00021edc ori v1, v1, 0xaab0 |
0x00021ee0 addu v1, v1, fp | v1 += fp;
0x00021ee4 lw v0, (v1) | v0 = *(v1);
0x00021ee8 lw a0, 4(v0) | a0 = *((v0 + 1));
0x00021eec lw v1, 0x40(fp) | v1 = *(arg_40h);
0x00021ef0 lui a1, 6 | a1 = 0x6aab0;
0x00021ef4 ori a1, a1, 0xaab0 |
0x00021ef8 addu a1, a1, fp | a1 += fp;
0x00021efc lw v0, (a1) | v0 = *(a1);
0x00021f00 lw v0, 8(v0) | v0 = *((v0 + 2));
0x00021f04 move a1, v1 | a1 = v1;
0x00021f08 move a2, v0 | a2 = v0;
0x00021f0c lw v0, -0x7dd8(gp) | v0 = sym.imp.curl_easy_setopt;
0x00021f10 move t9, v0 | t9 = v0;
0x00021f14 jalr t9 | t9 ();
0x00021f18 nop |
0x00021f1c lw gp, 0x20(fp) | gp = *(arg_20h);
0x00021f20 lw v0, 0x38(fp) | v0 = *(arg_38h);
0x00021f24 lw v0, 0x3998(v0) | v0 = *((v0 + 3686));
| if (v0 != 0) {
0x00021f28 beqz v0, 0x21f78 |
0x00021f2c nop |
0x00021f30 lw v0, 0x38(fp) | v0 = *(arg_38h);
0x00021f34 lw v0, 0x3998(v0) | v0 = *((v0 + 3686));
0x00021f38 lui v1, 6 | v1 = 0x6aab0;
0x00021f3c ori v1, v1, 0xaab0 |
0x00021f40 addu v1, v1, fp | v1 += fp;
0x00021f44 lw a0, (v1) | a0 = *(v1);
0x00021f48 move t9, v0 | t9 = v0;
0x00021f4c jalr t9 | t9 ();
0x00021f50 nop |
0x00021f54 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00021f58 sw v0, 0x44(fp) | *(arg_44h) = v0;
0x00021f5c lw v0, 0x44(fp) | v0 = *(arg_44h);
| if (v0 == 0) {
0x00021f60 beqz v0, 0x21f78 | goto label_3;
| }
0x00021f64 nop |
0x00021f68 lw v0, 0x44(fp) | v0 = *(arg_44h);
0x00021f6c sw v0, 0x28(fp) | *(arg_28h) = v0;
0x00021f70 b 0x223c0 | goto label_2;
0x00021f74 nop |
| }
| label_3:
0x00021f78 lw v0, -0x7eb4(gp) | v0 = *(gp);
0x00021f7c lw v0, (v0) | v0 = *(v0);
0x00021f80 lw v1, 0x34(fp) | v1 = *(arg_34h);
0x00021f84 addiu v1, v1, 8 | v1 += 8;
0x00021f88 move a0, v1 | a0 = v1;
0x00021f8c move t9, v0 | t9 = v0;
0x00021f90 jalr t9 | t9 ();
0x00021f94 nop |
0x00021f98 lw gp, 0x20(fp) | gp = *(arg_20h);
| if (v0 != 0) {
0x00021f9c bnez v0, 0x223c0 | goto label_2;
| }
0x00021fa0 nop |
0x00021fa4 lw v0, -0x7b94(gp) | v0 = *(gp);
0x00021fa8 lw v0, (v0) | v0 = *(v0);
0x00021fac lw v1, 0x34(fp) | v1 = *(arg_34h);
0x00021fb0 move a0, v1 | a0 = v1;
0x00021fb4 addiu a1, zero, 1 | a1 = 1;
0x00021fb8 move t9, v0 | t9 = v0;
0x00021fbc jalr t9 | t9 ();
0x00021fc0 nop |
0x00021fc4 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00021fc8 lui v1, 6 | v1 = 0x6aab0;
0x00021fcc ori v1, v1, 0xaab0 |
0x00021fd0 addu v1, v1, fp | v1 += fp;
0x00021fd4 lw v0, (v1) | v0 = *(v1);
0x00021fd8 lw v0, 4(v0) | v0 = *((v0 + 1));
0x00021fdc move a0, v0 | a0 = v0;
0x00021fe0 lw v0, -0x743c(gp) | v0 = sym.imp.curl_easy_perform;
0x00021fe4 move t9, v0 | t9 = v0;
0x00021fe8 jalr t9 | t9 ();
0x00021fec nop |
0x00021ff0 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00021ff4 sw v0, 0x48(fp) | *(arg_48h) = v0;
0x00021ff8 lw v0, -0x7b94(gp) | v0 = *(gp);
0x00021ffc lw v0, (v0) | v0 = *(v0);
0x00022000 lw v1, 0x34(fp) | v1 = *(arg_34h);
0x00022004 move a0, v1 | a0 = v1;
0x00022008 addiu a1, zero, 1 | a1 = 1;
0x0002200c move t9, v0 | t9 = v0;
0x00022010 jalr t9 | t9 ();
0x00022014 nop |
0x00022018 lw gp, 0x20(fp) | gp = *(arg_20h);
0x0002201c lw v0, -0x7eb4(gp) | v0 = *(gp);
0x00022020 lw v0, (v0) | v0 = *(v0);
0x00022024 lw v1, 0x34(fp) | v1 = *(arg_34h);
0x00022028 addiu v1, v1, 8 | v1 += 8;
0x0002202c move a0, v1 | a0 = v1;
0x00022030 move t9, v0 | t9 = v0;
0x00022034 jalr t9 | t9 ();
0x00022038 nop |
0x0002203c lw gp, 0x20(fp) | gp = *(arg_20h);
| if (v0 != 0) {
0x00022040 bnez v0, 0x223c0 | goto label_2;
| }
0x00022044 nop |
0x00022048 lw v0, 0x48(fp) | v0 = *(arg_48h);
| if (v0 != 0) {
0x0002204c beqz v0, 0x220a8 |
0x00022050 nop |
0x00022054 lui v1, 6 | v1 = 0x6aab0;
0x00022058 ori v1, v1, 0xaab0 |
0x0002205c addu v1, v1, fp | v1 += fp;
0x00022060 lw v0, (v1) | v0 = *(v1);
0x00022064 lw v0, 0x12c(v0) | v0 = *(v0);
| if (v0 == 0) {
0x00022068 beqz v0, 0x220a8 | goto label_4;
| }
0x0002206c nop |
0x00022070 lui a0, 6 | a0 = 0x6aab0;
0x00022074 ori a0, a0, 0xaab0 |
0x00022078 addu a0, a0, fp | a0 += fp;
0x0002207c lw v0, (a0) | v0 = *(a0);
0x00022080 addiu v1, zero, 0x198 | v1 = aav.0x00000198;
0x00022084 sw v1, 0x10(v0) | *((v0 + 4)) = v1;
0x00022088 lui a1, 6 | a1 = 0x6aab0;
0x0002208c ori a1, a1, 0xaab0 |
0x00022090 addu a1, a1, fp | a1 += fp;
0x00022094 lw v0, (a1) | v0 = *(a1);
0x00022098 addiu v1, zero, 0x198 | v1 = aav.0x00000198;
0x0002209c sw v1, 0x14(v0) | *((v0 + 5)) = v1;
0x000220a0 b 0x2223c | goto label_5;
0x000220a4 nop |
| }
| label_4:
0x000220a8 lw v0, 0x48(fp) | v0 = *(arg_48h);
| if (v0 != 0) {
0x000220ac beqz v0, 0x221a4 |
0x000220b0 nop |
0x000220b4 lui v0, 0x10 | v0 = 0x100001;
0x000220b8 ori v0, v0, 1 |
0x000220bc sw v0, 0x4c(fp) | *(arg_4ch) = v0;
0x000220c0 lui t9, 6 | t9 = 0x6aab0;
0x000220c4 ori t9, t9, 0xaab0 |
0x000220c8 addu t9, t9, fp | t9 += fp;
0x000220cc lw v0, (t9) | v0 = *(t9);
0x000220d0 lw a0, 4(v0) | a0 = *((v0 + 1));
0x000220d4 lw v1, 0x4c(fp) | v1 = *(arg_4ch);
0x000220d8 addiu v0, fp, 0x5c | v0 = fp + 0x5c;
0x000220dc move a1, v1 | a1 = v1;
0x000220e0 move a2, v0 | a2 = v0;
0x000220e4 lw v0, -0x73a8(gp) | v0 = sym.imp.curl_easy_getinfo;
0x000220e8 move t9, v0 | t9 = v0;
0x000220ec jalr t9 | t9 ();
0x000220f0 nop |
0x000220f4 lw gp, 0x20(fp) | gp = *(arg_20h);
0x000220f8 lw v0, -0x7f44(gp) | v0 = *(gp);
0x000220fc lw s0, (v0) | s0 = *(v0);
0x00022100 lw s1, 0x5c(fp) | s1 = *(arg_5ch);
0x00022104 lw a0, 0x48(fp) | a0 = *(arg_48h);
0x00022108 lw v0, -0x7b10(gp) | v0 = sym.imp.curl_easy_strerror;
0x0002210c move t9, v0 | t9 = v0;
0x00022110 jalr t9 | t9 ();
0x00022114 nop |
0x00022118 lw gp, 0x20(fp) | gp = *(arg_20h);
0x0002211c move v1, v0 | v1 = v0;
0x00022120 lui a0, 6 | a0 = 0x6aab0;
0x00022124 ori a0, a0, 0xaab0 |
0x00022128 addu a0, a0, fp | a0 += fp;
0x0002212c lw v0, (a0) | v0 = *(a0);
0x00022130 addiu v0, v0, 0x18 | v0 += 0x18;
0x00022134 sw s1, 0x10(sp) | *(arg_10h) = s1;
0x00022138 sw v1, 0x14(sp) | *(arg_14h) = v1;
0x0002213c sw v0, 0x18(sp) | *(arg_18h) = v0;
0x00022140 addiu a0, zero, 4 | a0 = 4;
0x00022144 lw v0, -0x7fcc(gp) | v0 = *((gp - 8179));
| /* str.Response */
0x00022148 addiu a1, v0, 0x3de8 | a1 = v0 + 0x3de8;
0x0002214c lw v0, -0x7fcc(gp) | v0 = *((gp - 8179));
| /* str._s__:_curl_perform_failed_for_url__s_with_result__s:__s */
0x00022150 addiu a2, v0, 0x407c | a2 = v0 + 0x407c;
0x00022154 lw v0, -0x7fcc(gp) | v0 = *((gp - 8179));
| /* obj.__FUNCTION__.9064 */
0x00022158 addiu a3, v0, 0x4618 | a3 = v0 + 0x4618;
0x0002215c move t9, s0 | t9 = s0;
0x00022160 jalr t9 | t9 ();
0x00022164 nop |
0x00022168 lw gp, 0x20(fp) | gp = *(arg_20h);
0x0002216c lw a0, 0x48(fp) | a0 = *(arg_48h);
0x00022170 lw v0, -0x7ae0(gp) | v0 = sym.getServiceCallResultFromCurlStatus;
0x00022174 move t9, v0 | t9 = v0;
0x00022178 jalr t9 | t9 ();
0x0002217c nop |
0x00022180 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00022184 move v1, v0 | v1 = v0;
0x00022188 lui a0, 6 | a0 = 0x6aab0;
0x0002218c ori a0, a0, 0xaab0 |
0x00022190 addu a0, a0, fp | a0 += fp;
0x00022194 lw v0, (a0) | v0 = *(a0);
0x00022198 sw v1, 0x14(v0) | *((v0 + 5)) = v1;
0x0002219c b 0x2223c | goto label_5;
0x000221a0 nop |
| }
0x000221a4 lui v0, 0x20 | v0 = 0x200002;
0x000221a8 ori v0, v0, 2 |
0x000221ac sw v0, 0x50(fp) | *(arg_50h) = v0;
0x000221b0 lui a1, 6 | a1 = 0x6aab0;
0x000221b4 ori a1, a1, 0xaab0 |
0x000221b8 addu a1, a1, fp | a1 += fp;
0x000221bc lw v0, (a1) | v0 = *(a1);
0x000221c0 lw a0, 4(v0) | a0 = *((v0 + 1));
0x000221c4 lw v1, 0x50(fp) | v1 = *(arg_50h);
0x000221c8 lui t9, 6 | t9 = 0x6aab0;
0x000221cc ori t9, t9, 0xaab0 |
0x000221d0 addu t9, t9, fp | t9 += fp;
0x000221d4 lw v0, (t9) | v0 = *(t9);
0x000221d8 addiu v0, v0, 0x10 | v0 += 0x10;
0x000221dc move a1, v1 | a1 = v1;
0x000221e0 move a2, v0 | a2 = v0;
0x000221e4 lw v0, -0x73a8(gp) | v0 = sym.imp.curl_easy_getinfo;
0x000221e8 move t9, v0 | t9 = v0;
0x000221ec jalr t9 | t9 ();
0x000221f0 nop |
0x000221f4 lw gp, 0x20(fp) | gp = *(arg_20h);
0x000221f8 lui v1, 6 | v1 = 0x6aab0;
0x000221fc ori v1, v1, 0xaab0 |
0x00022200 addu v1, v1, fp | v1 += fp;
0x00022204 lw v0, (v1) | v0 = *(v1);
0x00022208 lw v0, 0x10(v0) | v0 = *((v0 + 4));
0x0002220c move a0, v0 | a0 = v0;
0x00022210 lw v0, -0x73bc(gp) | v0 = sym.getServiceCallResultFromHttpStatus;
0x00022214 move t9, v0 | t9 = v0;
0x00022218 jalr t9 | t9 ();
0x0002221c nop |
0x00022220 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00022224 move v1, v0 | v1 = v0;
0x00022228 lui a0, 6 | a0 = 0x6aab0;
0x0002222c ori a0, a0, 0xaab0 |
0x00022230 addu a0, a0, fp | a0 += fp;
0x00022234 lw v0, (a0) | v0 = *(a0);
0x00022238 sw v1, 0x14(v0) | *((v0 + 5)) = v1;
| label_5:
0x0002223c lui a1, 6 | a1 = 0x6aab0;
0x00022240 ori a1, a1, 0xaab0 |
0x00022244 addu a1, a1, fp | a1 += fp;
0x00022248 lw v0, (a1) | v0 = *(a1);
0x0002224c lw v1, 0x10(v0) | v1 = *((v0 + 4));
0x00022250 addiu v0, zero, 0xc8 | v0 = 0xc8;
| if (v1 == v0) {
0x00022254 beq v1, v0, 0x223c0 | goto label_2;
| }
0x00022258 nop |
0x0002225c lui v0, 0x10 | v0 = 0x100001;
0x00022260 ori v0, v0, 1 |
0x00022264 sw v0, 0x54(fp) | *(arg_54h) = v0;
0x00022268 lui t9, 6 | t9 = 0x6aab0;
0x0002226c ori t9, t9, 0xaab0 |
0x00022270 addu t9, t9, fp | t9 += fp;
0x00022274 lw v0, (t9) | v0 = *(t9);
0x00022278 lw a0, 4(v0) | a0 = *((v0 + 1));
0x0002227c lw v1, 0x54(fp) | v1 = *(arg_54h);
0x00022280 addiu v0, fp, 0x5c | v0 = fp + 0x5c;
0x00022284 move a1, v1 | a1 = v1;
0x00022288 move a2, v0 | a2 = v0;
0x0002228c lw v0, -0x73a8(gp) | v0 = sym.imp.curl_easy_getinfo;
0x00022290 move t9, v0 | t9 = v0;
0x00022294 jalr t9 | t9 ();
0x00022298 nop |
0x0002229c lw gp, 0x20(fp) | gp = *(arg_20h);
0x000222a0 sb zero, 0x60(fp) | *(arg_60h) = 0;
0x000222a4 lui v1, 6 | v1 = 0x6aab0;
0x000222a8 ori v1, v1, 0xaab0 |
0x000222ac addu v1, v1, fp | v1 += fp;
0x000222b0 lw v0, (v1) | v0 = *(v1);
0x000222b4 lw v0, 8(v0) | v0 = *((v0 + 2));
0x000222b8 sw v0, 0x2c(fp) | *(arg_2ch) = v0;
0x000222bc b 0x22340 | goto label_6;
0x000222c0 nop |
| do {
0x000222c4 addiu v0, fp, 0x60 | v0 = fp + 0x60;
0x000222c8 move a0, v0 | a0 = v0;
0x000222cc lw v0, -0x7dfc(gp) | v0 = sym.imp.strlen;
0x000222d0 move t9, v0 | t9 = v0;
0x000222d4 jalr t9 | t9 ();
0x000222d8 nop |
0x000222dc lw gp, 0x20(fp) | gp = *(arg_20h);
0x000222e0 addiu v1, fp, 0x60 | v1 = fp + 0x60;
0x000222e4 addu v0, v1, v0 | v0 = v1 + v0;
0x000222e8 lw v1, -0x7fcc(gp) | v1 = *((gp - 8179));
0x000222ec lw a0, 0x40b4(v1) | a0 = *((v1 + 4141));
0x000222f0 swl a0, 3(v0) | __asm ("swl a0, 3(v0)");
0x000222f4 swr a0, (v0) | __asm ("swr a0, (v0)");
| /* str._n____ */
0x000222f8 addiu v1, v1, 0x40b4 | v1 += 0x40b4;
0x000222fc lbu a0, 4(v1) | a0 = *((v1 + 4));
0x00022300 sb a0, 4(v0) | *((v0 + 4)) = a0;
0x00022304 lbu v1, 5(v1) | v1 = *((v1 + 5));
0x00022308 sb v1, 5(v0) | *((v0 + 5)) = v1;
0x0002230c lw v0, 0x2c(fp) | v0 = *(arg_2ch);
0x00022310 lw v0, (v0) | v0 = *(v0);
0x00022314 addiu v1, fp, 0x60 | v1 = fp + 0x60;
0x00022318 move a0, v1 | a0 = v1;
0x0002231c move a1, v0 | a1 = v0;
0x00022320 lw v0, -0x79b4(gp) | v0 = sym.imp.strcat
0x00022324 move t9, v0 | t9 = v0;
0x00022328 jalr t9 | t9 ();
0x0002232c nop |
0x00022330 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00022334 lw v0, 0x2c(fp) | v0 = *(arg_2ch);
0x00022338 lw v0, 4(v0) | v0 = *((v0 + 1));
0x0002233c sw v0, 0x2c(fp) | *(arg_2ch) = v0;
| label_6:
0x00022340 lw v0, 0x2c(fp) | v0 = *(arg_2ch);
0x00022344 bnez v0, 0x222c4 |
| } while (v0 != 0);
0x00022348 nop |
0x0002234c lw v0, -0x7f44(gp) | v0 = *(gp);
0x00022350 lw v0, (v0) | v0 = *(v0);
0x00022354 lui a0, 6 | a0 = 0x6aab0;
0x00022358 ori a0, a0, 0xaab0 |
0x0002235c addu a0, a0, fp | a0 += fp;
0x00022360 lw v1, (a0) | v1 = *(a0);
0x00022364 lw a1, 0x10(v1) | a1 = *((v1 + 4));
0x00022368 lui t9, 6 | t9 = 0x6aab0;
0x0002236c ori t9, t9, 0xaab0 |
0x00022370 addu t9, t9, fp | t9 += fp;
0x00022374 lw v1, (t9) | v1 = *(t9);
0x00022378 lw a0, 0x124(v1) | a0 = *(v1);
0x0002237c lw v1, 0x5c(fp) | v1 = *(arg_5ch);
0x00022380 sw a1, 0x10(sp) | *(arg_10h) = a1;
0x00022384 sw a0, 0x14(sp) | *(arg_14h) = a0;
0x00022388 sw v1, 0x18(sp) | *(arg_18h) = v1;
0x0002238c addiu v1, fp, 0x60 | v1 = fp + 0x60;
0x00022390 sw v1, 0x1c(sp) | *(arg_1ch) = v1;
0x00022394 addiu a0, zero, 4 | a0 = 4;
0x00022398 lw v1, -0x7fcc(gp) | v1 = *((gp - 8179));
| /* str.Response */
0x0002239c addiu a1, v1, 0x3de8 | a1 = v1 + 0x3de8;
0x000223a0 lw v1, -0x7fcc(gp) | v1 = *((gp - 8179));
| /* str._s__:_HTTP_Error__lu_:_Response:__s_nRequest_URL:__s_nRequest_Headers:_s */
0x000223a4 addiu a2, v1, 0x40bc | a2 = v1 + 0x40bc;
0x000223a8 lw v1, -0x7fcc(gp) | v1 = *((gp - 8179));
| /* obj.__FUNCTION__.9064 */
0x000223ac addiu a3, v1, 0x4618 | a3 = v1 + 0x4618;
0x000223b0 move t9, v0 | t9 = v0;
0x000223b4 jalr t9 | t9 ();
0x000223b8 nop |
0x000223bc lw gp, 0x20(fp) | gp = *(arg_20h);
| label_2:
0x000223c0 lw v0, 0x28(fp) | v0 = *(arg_28h);
0x000223c4 sw v0, 0x58(fp) | *(arg_58h) = v0;
0x000223c8 lw v0, 0x58(fp) | v0 = *(arg_58h);
| if (v0 != 0) {
0x000223cc beqz v0, 0x22410 |
0x000223d0 nop |
0x000223d4 lw v0, -0x7f44(gp) | v0 = *(gp);
0x000223d8 lw v0, (v0) | v0 = *(v0);
0x000223dc lw v1, 0x58(fp) | v1 = *(arg_58h);
0x000223e0 sw v1, 0x10(sp) | *(arg_10h) = v1;
0x000223e4 addiu a0, zero, 5 | a0 = 5;
0x000223e8 lw v1, -0x7fcc(gp) | v1 = *((gp - 8179));
| /* str.Response */
0x000223ec addiu a1, v1, 0x3de8 | a1 = v1 + 0x3de8;
0x000223f0 lw v1, -0x7fcc(gp) | v1 = *((gp - 8179));
| /* esilref: '&s(): operation returned status code: 0x&x' */
0x000223f4 addiu a2, v1, 0x4104 | a2 = v1 + 0x4104;
0x000223f8 lw v1, -0x7fcc(gp) | v1 = *((gp - 8179));
| /* obj.__FUNCTION__.9064 */
0x000223fc addiu a3, v1, 0x4618 | a3 = v1 + 0x4618;
0x00022400 move t9, v0 | t9 = v0;
0x00022404 jalr t9 | t9 ();
0x00022408 nop |
0x0002240c lw gp, 0x20(fp) | gp = *(arg_20h);
| }
0x00022410 lw v0, 0x28(fp) | v0 = *(arg_28h);
| if (v0 != 0) {
0x00022414 beqz v0, 0x22428 |
0x00022418 nop |
0x0002241c lw v0, 0x28(fp) | v0 = *(arg_28h);
0x00022420 b 0x2242c | goto label_7;
0x00022424 nop |
| }
0x00022428 lw v0, 0x30(fp) | v0 = *(arg_30h);
| label_7:
0x0002242c lui t0, 6 | t0 = 0x62ac0;
0x00022430 ori t0, t0, 0x2ac0 |
0x00022434 addu sp, fp, t0 |
0x00022438 lw ra, 0x7fec(sp) | ra = *(arg_7fech_2);
0x0002243c lw fp, 0x7fe8(sp) | fp = *(arg_7fe8h_2);
0x00022440 lw s1, 0x7fe4(sp) | s1 = *(arg_7fe4h_2);
0x00022444 lw s0, 0x7fe0(sp) | s0 = *(arg_7fe0h_2);
0x00022448 addiu sp, sp, 0x7ff0 |
0x0002244c jr ra | return v0;
0x00022450 nop |
| }
[*] Function strcat used 2 times libcproducer.so