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