[*] Binary protection state of curl

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function strcpy tear down of curl

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/curl @ 0xb358 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000b358 ()                  | void fcn_0000b358 () {
    0x0000b358 lui gp, 3                     |     
    0x0000b35c addiu gp, gp, 0x6ce8          |     
    0x0000b360 addu gp, gp, t9               |     gp += t9;
    0x0000b364 addiu sp, sp, -0x60           |     
    0x0000b368 lw t9, -0x7bcc(gp)            |     t9 = sym.imp.strchr;
    0x0000b36c sw s2, 0x40(sp)               |     *(var_40h) = s2;
    0x0000b370 lw s2, -0x7cb0(gp)            |     s2 = *((gp - 7980));
    0x0000b374 sw s1, 0x3c(sp)               |     *(var_3ch) = s1;
    0x0000b378 move s1, a1                   |     s1 = a1;
    0x0000b37c lw v0, (s2)                   |     v0 = *(s2);
    0x0000b380 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0000b384 sw s6, 0x50(sp)               |     *(var_50h) = s6;
    0x0000b388 sw s5, 0x4c(sp)               |     *(var_4ch) = s5;
    0x0000b38c sw s4, 0x48(sp)               |     *(var_48h) = s4;
    0x0000b390 sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x0000b394 sw fp, 0x58(sp)               |     *(var_58h) = fp;
    0x0000b398 sw s7, 0x54(sp)               |     *(var_54h) = s7;
    0x0000b39c sw s3, 0x44(sp)               |     *(var_44h) = s3;
    0x0000b3a0 sw s0, 0x38(sp)               |     *(var_38h) = s0;
    0x0000b3a4 move s6, a0                   |     s6 = a0;
    0x0000b3a8 addiu a1, zero, 0x3d          |     a1 = 0x3d;
    0x0000b3ac move a0, s1                   |     a0 = s1;
    0x0000b3b0 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x0000b3b4 move s4, a2                   |     s4 = a2;
    0x0000b3b8 move s5, a3                   |     s5 = a3;
    0x0000b3bc jalr t9                       |     t9 ();
    0x0000b3c0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b3c4 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x0000b3c8 sw zero, 0x30(sp)             |     *(var_30h) = 0;
    0x0000b3cc beqz v0, 0xb4d0               |     
                                             |     while (v0 != 0) {
    0x0000b3d0 lb a0, (v0)                   |         a0 = *(v0);
    0x0000b3d4 addiu v1, zero, 0x40          |         v1 = 0x40;
    0x0000b3d8 subu s3, v0, s1               |         __asm ("subu s3, v0, s1");
    0x0000b3dc addiu s0, v0, 1               |         s0 = v0 + 1;
                                             |         if (a0 == v1) {
    0x0000b3e0 bne a0, v1, 0xb45c            |             
    0x0000b3e4 lw a0, -0x7fd4(gp)            |             a0 = *(gp);
    0x0000b3e8 lw t9, -0x7d80(gp)            |             t9 = sym.imp.strcmp;
    0x0000b3ec move a1, s0                   |             a1 = s0;
    0x0000b3f0 addiu a0, a0, -0x34c          |             a0 += -0x34c;
    0x0000b3f4 jalr t9                       |             t9 ();
    0x0000b3f8 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 != 0) {
    0x0000b3fc bnez v0, 0xb674               |                 goto label_8;
                                             |             }
    0x0000b400 lw s6, -0x7d10(gp)            |             s6 = *((gp - 8004));
    0x0000b404 lw t9, -0x7f64(gp)            |             t9 = sym.file2memory;
    0x0000b408 addiu a1, sp, 0x30            |             a1 = sp + 0x30;
    0x0000b40c lw s7, (s6)                   |             s7 = *(s6);
    0x0000b410 addiu a0, sp, 0x2c            |             a0 = sp + 0x2c;
    0x0000b414 move a2, s7                   |             a2 = s7;
    0x0000b418 bal 0x171b0                   |             sym_file2memory ();
    0x0000b41c move s0, v0                   |             s0 = v0;
    0x0000b420 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (s7 != 0) {
    0x0000b424 beqz s7, 0xb440               |                 
                                             | label_5:
    0x0000b428 lw v0, (s6)                   |                 v0 = *(s6);
    0x0000b42c lw t9, -0x7c6c(gp)            |                 t9 = sym.imp.fclose;
                                             |                 if (v0 == s7) {
    0x0000b430 beq v0, s7, 0xb440            |                     goto label_7;
                                             |                 }
    0x0000b434 move a0, s7                   |                 a0 = s7;
    0x0000b438 jalr t9                       |                 t9 ();
    0x0000b43c lw gp, 0x18(sp)               |                 gp = *(var_18h);
                                             |             }
                                             |             if (s0 != 0) {
                                             | label_7:
    0x0000b440 bnez s0, 0xb490               |                 goto label_4;
                                             |             }
    0x0000b444 nop                           |             
    0x0000b448 lw s0, 0x2c(sp)               |             s0 = *(var_2ch);
    0x0000b44c lw a2, 0x30(sp)               |             a2 = *(var_30h);
                                             |             if (s0 == 0) {
    0x0000b450 beqz s0, 0xb464               |                 goto label_9;
                                             |             }
    0x0000b454 lw t9, -0x7bbc(gp)            |             t9 = sym.imp.curl_easy_escape;
    0x0000b458 b 0xb528                      |             goto label_10;
                                             |         }
    0x0000b45c lw t9, -0x7d70(gp)            |         t9 = sym.imp.strdup;
                                             |         if (s0 != 0) {
    0x0000b460 bnez s0, 0xb4f4               |             goto label_11;
                                             |         }
                                             | label_9:
    0x0000b464 lw a0, -0x7fd4(gp)            |         a0 = *(gp);
    0x0000b468 lw t9, -0x7d70(gp)            |         t9 = sym.imp.strdup;
    0x0000b46c addiu a0, a0, 0x6c00          |         a0 += 0x6c00;
    0x0000b470 jalr t9                       |         t9 ();
    0x0000b474 move s7, v0                   |         s7 = v0;
    0x0000b478 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0000b47c beqz v0, 0xb66c               |             goto label_12;
                                             |         }
    0x0000b480 move v0, zero                 |         v0 = 0;
                                             | label_0:
    0x0000b484 sw s7, (s4)                   |         *(s4) = s7;
    0x0000b488 move s0, zero                 |         s0 = 0;
    0x0000b48c sw v0, (s5)                   |         *(s5) = v0;
                                             | label_4:
    0x0000b490 lw a0, 0x34(sp)               |         a0 = *(var_34h);
    0x0000b494 lw v1, (s2)                   |         v1 = *(s2);
    0x0000b498 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x0000b49c bne a0, v1, 0xb71c            |             goto label_13;
                                             |         }
    0x0000b4a0 lw ra, 0x5c(sp)               |         ra = *(var_5ch);
    0x0000b4a4 lw fp, 0x58(sp)               |         fp = *(var_58h);
    0x0000b4a8 lw s7, 0x54(sp)               |         s7 = *(var_54h);
    0x0000b4ac lw s6, 0x50(sp)               |         s6 = *(var_50h);
    0x0000b4b0 lw s5, 0x4c(sp)               |         s5 = *(var_4ch);
    0x0000b4b4 lw s4, 0x48(sp)               |         s4 = *(var_48h);
    0x0000b4b8 lw s3, 0x44(sp)               |         s3 = *(var_44h);
    0x0000b4bc lw s2, 0x40(sp)               |         s2 = *(var_40h);
    0x0000b4c0 lw s1, 0x3c(sp)               |         s1 = *(var_3ch);
    0x0000b4c4 lw s0, 0x38(sp)               |         s0 = *(var_38h);
    0x0000b4c8 addiu sp, sp, 0x60            |         
    0x0000b4cc jr ra                         |         return v0;
    0x0000b4d0 lw t9, -0x7bcc(gp)            |         t9 = sym.imp.strchr;
    0x0000b4d4 addiu a1, zero, 0x40          |         a1 = 0x40;
    0x0000b4d8 move a0, s1                   |         a0 = s1;
    0x0000b4dc jalr t9                       |         t9 ();
    0x0000b4e0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000b4e4 bnez v0, 0xb3d0               |         
                                             |     }
    0x0000b4e8 move s0, s1                   |     s0 = s1;
    0x0000b4ec move s3, zero                 |     s3 = 0;
    0x0000b4f0 lw t9, -0x7d70(gp)            |     t9 = sym.imp.strdup;
                                             | label_11:
    0x0000b4f4 move a0, s0                   |     a0 = s0;
    0x0000b4f8 jalr t9                       |     t9 ();
    0x0000b4fc move s0, v0                   |     s0 = v0;
    0x0000b500 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b504 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
                                             |     if (v0 == 0) {
    0x0000b508 beqz v0, 0xb66c               |         goto label_12;
                                             |     }
    0x0000b50c lw t9, -0x7c88(gp)            |     t9 = sym.imp.strlen;
    0x0000b510 move a0, v0                   |     a0 = v0;
    0x0000b514 jalr t9                       |     t9 ();
    0x0000b518 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b51c move a2, v0                   |     a2 = v0;
    0x0000b520 sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x0000b524 lw t9, -0x7bbc(gp)            |     t9 = sym.imp.curl_easy_escape;
                                             | label_10:
    0x0000b528 move a1, s0                   |     a1 = s0;
    0x0000b52c move a0, zero                 |     a0 = 0;
    0x0000b530 jalr t9                       |     t9 ();
    0x0000b534 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b538 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x0000b53c lw t9, -0x7c38(gp)            |     t9 = sym.imp.free;
    0x0000b540 move s0, v0                   |     s0 = v0;
    0x0000b544 jalr t9                       |     t9 ();
    0x0000b548 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b54c sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
                                             |     if (s0 == 0) {
    0x0000b550 beqz s0, 0xb66c               |         goto label_12;
                                             |     }
    0x0000b554 lw t9, -0x7c88(gp)            |     t9 = sym.imp.strlen;
    0x0000b558 move a0, s0                   |     a0 = s0;
    0x0000b55c jalr t9                       |     t9 ();
    0x0000b560 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0000b564 beqz v0, 0xb6b8               |         goto label_14;
                                             |     }
    0x0000b568 move s6, zero                 |     s6 = 0;
    0x0000b56c move v1, zero                 |     v1 = 0;
    0x0000b570 addiu t1, zero, 0x25          |     t1 = 0x25;
    0x0000b574 addiu t0, zero, 0x32          |     t0 = 0x32;
    0x0000b578 addiu t2, zero, 0x30          |     t2 = 0x30;
    0x0000b57c addiu t3, zero, 0x2b          |     t3 = 0x2b;
                                             |     do {
    0x0000b580 addu a2, s0, v1               |         a2 = s0 + v1;
    0x0000b584 lb a1, (a2)                   |         a1 = *(a2);
    0x0000b588 addiu a0, v1, 1               |         a0 = v1 + 1;
                                             |         if (a1 == t1) {
    0x0000b58c beq a1, t1, 0xb628            |             goto label_15;
                                             |         }
                                             | label_1:
    0x0000b590 addu v1, s0, s6               |         v1 = s0 + s6;
                                             |         if (v1 != s6) {
    0x0000b594 beq v1, s6, 0xb59c            |             
    0x0000b598 sb a1, (v1)                   |             *(v1) = a1;
                                             |         }
    0x0000b59c move v1, a0                   |         v1 = a0;
                                             | label_2:
    0x0000b5a0 sltu a0, v1, v0               |         a0 = (v1 < v0) ? 1 : 0;
    0x0000b5a4 addiu s6, s6, 1               |         s6++;
    0x0000b5a8 bnez a0, 0xb580               |         
                                             |     } while (a0 != 0);
    0x0000b5ac addu fp, s6, s3               |     fp = s6 + s3;
    0x0000b5b0 addu v0, s0, s6               |     v0 = s0 + s6;
                                             | label_6:
    0x0000b5b4 addiu a1, fp, 2               |     a1 = fp + 2;
    0x0000b5b8 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.malloc;
    0x0000b5bc move a0, a1                   |     a0 = a1;
    0x0000b5c0 sw a1, 0x24(sp)               |     *(var_24h_2) = a1;
    0x0000b5c4 sb zero, (v0)                 |     *(v0) = 0;
    0x0000b5c8 jalr t9                       |     t9 ();
    0x0000b5cc move s7, v0                   |     s7 = v0;
    0x0000b5d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b5d4 lw a1, 0x24(sp)               |     a1 = *(var_24h_2);
                                             |     if (v0 == 0) {
    0x0000b5d8 beqz v0, 0xb6c8               |         goto label_16;
                                             |     }
    0x0000b5dc lw t9, -0x7ca8(gp)            |     t9 = sym.imp.strcpy
                                             |     if (s3 == 0) {
    0x0000b5e0 beqz s3, 0xb654               |         goto label_17;
                                             |     }
    0x0000b5e4 lw a2, -0x7fd4(gp)            |     a2 = *(gp);
    0x0000b5e8 lw t9, -0x7cec(gp)            |     t9 = sym.imp.curl_msnprintf;
    0x0000b5ec sw s0, 0x14(sp)               |     *(var_14h) = s0;
    0x0000b5f0 sw s1, 0x10(sp)               |     *(var_10h_2) = s1;
    0x0000b5f4 move a3, s3                   |     a3 = s3;
                                             |     /* str._.s_s */
    0x0000b5f8 addiu a2, a2, 0x5e0           |     a2 += aav.0x000005e0;
    0x0000b5fc move a0, v0                   |     a0 = v0;
    0x0000b600 jalr t9                       |     t9 ();
    0x0000b604 addiu fp, fp, 1               |     fp++;
    0x0000b608 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b60c sw fp, 0x30(sp)               |     *(var_30h) = fp;
                                             | label_3:
    0x0000b610 lw t9, -0x7c3c(gp)            |     t9 = sym.imp.curl_free;
    0x0000b614 move a0, s0                   |     a0 = s0;
    0x0000b618 jalr t9                       |     t9 ();
    0x0000b61c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b620 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x0000b624 b 0xb484                      |     goto label_0;
                                             | label_15:
    0x0000b628 addu a3, s0, a0               |     a3 = s0 + a0;
    0x0000b62c lb a3, (a3)                   |     a3 = *(a3);
                                             |     if (a3 != t0) {
    0x0000b630 bne a3, t0, 0xb590            |         goto label_1;
                                             |     }
    0x0000b634 nop                           |     
    0x0000b638 lb a2, 2(a2)                  |     a2 = *((a2 + 2));
                                             |     if (a2 != t2) {
    0x0000b63c bne a2, t2, 0xb590            |         goto label_1;
                                             |     }
    0x0000b640 nop                           |     
    0x0000b644 addu a0, s0, s6               |     a0 = s0 + s6;
    0x0000b648 addiu v1, v1, 3               |     v1 += 3;
    0x0000b64c sb t3, (a0)                   |     *(a0) = t3;
    0x0000b650 b 0xb5a0                      |     goto label_2;
                                             | label_17:
    0x0000b654 move a1, s0                   |     a1 = s0;
    0x0000b658 move a0, v0                   |     a0 = v0;
    0x0000b65c jalr t9                       |     t9 ();
    0x0000b660 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b664 sw s6, 0x30(sp)               |     *(var_30h) = s6;
    0x0000b668 b 0xb610                      |     goto label_3;
                                             | label_12:
    0x0000b66c addiu s0, zero, 0xe           |     s0 = 0xe;
    0x0000b670 b 0xb490                      |     goto label_4;
                                             | label_8:
    0x0000b674 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x0000b678 lw t9, -0x7d94(gp)            |     t9 = sym.imp.fopen64;
                                             |     /* esilref: 'rb' */
    0x0000b67c addiu a1, a1, 0x59c           |     a1 += 0x59c;
    0x0000b680 move a0, s0                   |     a0 = s0;
    0x0000b684 jalr t9                       |     t9 ();
    0x0000b688 move s7, v0                   |     s7 = v0;
    0x0000b68c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0000b690 beqz v0, 0xb6e0               |         
    0x0000b694 lw t9, -0x7f64(gp)            |         t9 = sym.file2memory;
    0x0000b698 move a2, v0                   |         a2 = v0;
    0x0000b69c addiu a1, sp, 0x30            |         a1 = sp + 0x30;
    0x0000b6a0 addiu a0, sp, 0x2c            |         a0 = sp + 0x2c;
    0x0000b6a4 bal 0x171b0                   |         sym_file2memory ();
    0x0000b6a8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000b6ac move s0, v0                   |         s0 = v0;
    0x0000b6b0 lw s6, -0x7d10(gp)            |         s6 = *((gp - 8004));
    0x0000b6b4 b 0xb428                      |         goto label_5;
                                             | label_14:
    0x0000b6b8 move v0, s0                   |         v0 = s0;
    0x0000b6bc move fp, s3                   |         fp = s3;
    0x0000b6c0 move s6, zero                 |         s6 = 0;
    0x0000b6c4 b 0xb5b4                      |         goto label_6;
                                             | label_16:
    0x0000b6c8 lw t9, -0x7c3c(gp)            |         t9 = sym.imp.curl_free;
    0x0000b6cc move a0, s0                   |         a0 = s0;
    0x0000b6d0 jalr t9                       |         t9 ();
    0x0000b6d4 addiu s0, zero, 0xe           |         s0 = 0xe;
    0x0000b6d8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0000b6dc b 0xb490                      |         goto label_4;
                                             |     }
    0x0000b6e0 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x0000b6e4 lw t9, -0x7fa8(gp)            |     t9 = sym.warnf;
    0x0000b6e8 move a2, s1                   |     a2 = s1;
                                             |     /* str.Couldnt_read_data_from_file___s___this_makes_an_empty_POST._n */
    0x0000b6ec addiu a1, a1, 0x5a0           |     a1 += 0x5a0;
    0x0000b6f0 move a0, s6                   |     a0 = s6;
    0x0000b6f4 bal 0x11260                   |     sym_warnf ();
    0x0000b6f8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b6fc move a2, zero                 |     a2 = 0;
    0x0000b700 addiu a1, sp, 0x30            |     a1 = sp + 0x30;
    0x0000b704 lw t9, -0x7f64(gp)            |     t9 = sym.file2memory;
    0x0000b708 addiu a0, sp, 0x2c            |     a0 = sp + 0x2c;
    0x0000b70c bal 0x171b0                   |     sym_file2memory ();
    0x0000b710 move s0, v0                   |     s0 = v0;
    0x0000b714 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0000b718 b 0xb440                      |     goto label_7;
                                             | label_13:
    0x0000b71c lw t9, -0x7ce8(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000b720 jalr t9                       |     t9 ();
    0x0000b724 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/curl @ 0x8790 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.create_dir_hierarchy ()      | void create_dir_hierarchy () {
    0x00008790 lui gp, 4                     |     
    0x00008794 addiu gp, gp, -0x6750         |     
    0x00008798 addu gp, gp, t9               |     gp += t9;
    0x0000879c addiu sp, sp, -0x48           |     
    0x000087a0 lw t9, -0x7c88(gp)            |     t9 = sym.imp.strlen;
    0x000087a4 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x000087a8 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x000087ac sw s7, 0x3c(sp)               |     *(var_3ch) = s7;
    0x000087b0 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x000087b4 sw a1, 0x4c(sp)               |     *(arg_4ch) = a1;
    0x000087b8 sw fp, 0x40(sp)               |     *(var_40h) = fp;
    0x000087bc sw s6, 0x38(sp)               |     *(var_38h) = s6;
    0x000087c0 sw s5, 0x34(sp)               |     *(var_34h) = s5;
    0x000087c4 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x000087c8 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x000087cc sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x000087d0 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x000087d4 move s0, a0                   |     s0 = a0;
    0x000087d8 jalr t9                       |     t9 ();
    0x000087dc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000087e0 move a0, s0                   |     a0 = s0;
    0x000087e4 lw t9, -0x7d70(gp)            |     t9 = sym.imp.strdup;
    0x000087e8 move s7, v0                   |     s7 = v0;
    0x000087ec jalr t9                       |     t9 ();
    0x000087f0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000087f4 beqz v0, 0x89ec               |         goto label_5;
                                             |     }
    0x000087f8 lw t9, -0x7ce0(gp)            |     t9 = sym.imp.malloc;
    0x000087fc addiu a0, s7, 1               |     a0 = s7 + 1;
    0x00008800 move s4, v0                   |     s4 = v0;
    0x00008804 jalr t9                       |     t9 ();
    0x00008808 move s2, v0                   |     s2 = v0;
    0x0000880c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00008810 beqz v0, 0x8a24               |         goto label_6;
                                             |     }
    0x00008814 lw s3, -0x7fd4(gp)            |     s3 = *(gp);
    0x00008818 lw t9, -0x7d0c(gp)            |     t9 = sym.imp.strtok;
    0x0000881c addiu a1, s3, 0x12c           |     a1 = s3 + aav.0x0000012c;
    0x00008820 sb zero, (v0)                 |     *(v0) = 0;
    0x00008824 move a0, s4                   |     a0 = s4;
    0x00008828 jalr t9                       |     t9 ();
    0x0000882c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00008830 move s1, v0                   |     s1 = v0;
    0x00008834 addiu s3, s3, 0x12c           |     s3 += aav.0x0000012c;
    0x00008838 lw s6, -0x7fd4(gp)            |     s6 = *(gp);
    0x0000883c addiu s5, zero, -1            |     s5 = -1;
                                             |     /* esilref: '&s&s' */
    0x00008840 addiu s6, s6, 0x130           |     s6 += 0x130;
    0x00008844 addiu fp, zero, 0xd           |     fp = 0xd;
                                             |     if (s1 == 0) {
    0x00008848 beqz s1, 0x88c4               |         goto label_7;
                                             |     }
    0x0000884c lw t9, -0x7d0c(gp)            |     t9 = sym.imp.strtok;
                                             |     do {
    0x00008850 move a1, s3                   |         a1 = s3;
    0x00008854 move a0, zero                 |         a0 = 0;
    0x00008858 jalr t9                       |         t9 ();
    0x0000885c move s0, v0                   |         s0 = v0;
    0x00008860 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00008864 beqz v0, 0x88c4               |             goto label_7;
                                             |         }
    0x00008868 lw t9, -0x7c88(gp)            |         t9 = sym.imp.strlen;
    0x0000886c move a0, s2                   |         a0 = s2;
    0x00008870 jalr t9                       |         t9 ();
    0x00008874 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x00008878 bnez v0, 0x8980               |             goto label_8;
                                             |         }
    0x0000887c lw t9, -0x7cec(gp)            |         t9 = sym.imp.curl_msnprintf;
                                             |         if (s4 == s1) {
    0x00008880 beq s4, s1, 0x89a4            |             goto label_9;
                                             |         }
    0x00008884 sw s1, 0x10(sp)               |         *(var_10h) = s1;
    0x00008888 move a3, s3                   |         a3 = s3;
    0x0000888c move a2, s6                   |         a2 = s6;
    0x00008890 move a1, s7                   |         a1 = s7;
    0x00008894 move a0, s2                   |         a0 = s2;
    0x00008898 jalr t9                       |         t9 ();
    0x0000889c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_3:
    0x000088a0 lw t9, -0x7b70(gp)            |         t9 = sym.imp.mkdir;
    0x000088a4 addiu a1, zero, 0x1e8         |         a1 = 0x1e8;
    0x000088a8 move a0, s2                   |         a0 = s2;
    0x000088ac jalr t9                       |         t9 ();
    0x000088b0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == s5) {
    0x000088b4 beq v0, s5, 0x8918            |             goto label_10;
                                             |         }
                                             | label_0:
    0x000088b8 move s1, s0                   |         s1 = s0;
                                             | label_1:
    0x000088bc lw t9, -0x7d0c(gp)            |         t9 = sym.imp.strtok;
    0x000088c0 bnez s1, 0x8850               |         
                                             |     } while (s1 != 0);
                                             | label_7:
    0x000088c4 move s0, zero                 |     s0 = 0;
                                             | label_2:
    0x000088c8 lw t9, -0x7c38(gp)            |     t9 = sym.imp.free;
    0x000088cc move a0, s2                   |     a0 = s2;
    0x000088d0 jalr t9                       |     t9 ();
    0x000088d4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000088d8 lw t9, -0x7c38(gp)            |     t9 = sym.imp.free;
    0x000088dc move a0, s4                   |     a0 = s4;
    0x000088e0 jalr t9                       |     t9 ();
                                             | label_4:
    0x000088e4 lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x000088e8 move v0, s0                   |     v0 = s0;
    0x000088ec lw fp, 0x40(sp)               |     fp = *(var_40h);
    0x000088f0 lw s7, 0x3c(sp)               |     s7 = *(var_3ch);
    0x000088f4 lw s6, 0x38(sp)               |     s6 = *(var_38h);
    0x000088f8 lw s5, 0x34(sp)               |     s5 = *(var_34h);
    0x000088fc lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x00008900 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x00008904 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x00008908 lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x0000890c lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x00008910 addiu sp, sp, 0x48            |     
    0x00008914 jr ra                         |     return v0;
                                             | label_10:
    0x00008918 lw t9, -0x7b6c(gp)            |     t9 = sym.imp.__errno_location;
    0x0000891c jalr t9                       |     t9 ();
    0x00008920 nop                           |     
    0x00008924 lw v0, (v0)                   |     v0 = *(v0);
    0x00008928 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == fp) {
    0x0000892c beq v0, fp, 0x88b8            |         goto label_0;
                                             |     }
    0x00008930 addiu v1, zero, 0x11          |     v1 = 0x11;
    0x00008934 move s1, s0                   |     s1 = s0;
                                             |     if (v0 == v1) {
    0x00008938 beq v0, v1, 0x88bc            |         goto label_1;
                                             |     }
    0x0000893c addiu v1, zero, 0x1e          |     v1 = 0x1e;
    0x00008940 slti v1, v0, 0x1f             |     v1 = (v0 < 0x1f) ? 1 : 0;
                                             |     if (v0 != v1) {
    0x00008944 beq v0, v1, 0x8a38            |         
    0x00008948 addiu v1, zero, 0x4e          |         v1 = 0x4e;
                                             |         if (v1 == 0) {
    0x0000894c bnez v1, 0x89bc               |             
    0x00008950 addiu v1, zero, 0x46d         |             v1 = 0x46d;
                                             |             if (v0 == v1) {
    0x00008954 beq v0, v1, 0x8aa4            |                 goto label_11;
                                             |             }
    0x00008958 lw t9, -0x7d90(gp)            |             t9 = sym.imp.curl_mfprintf;
                                             |             if (v0 != v1) {
    0x0000895c bne v0, v1, 0x8a80            |                 goto label_12;
                                             |             }
    0x00008960 lw a1, -0x7fd4(gp)            |             a1 = *(gp);
    0x00008964 lw a0, 0x4c(sp)               |             a0 = *(arg_4ch);
    0x00008968 move a2, s2                   |             a2 = s2;
                                             |             /* str.Cannot_create_directory__s_because_you_exceeded_your_quota._n */
    0x0000896c addiu a1, a1, 0x1f8           |             a1 += segment.DYNAMIC;
    0x00008970 jalr t9                       |             t9 ();
    0x00008974 addiu s0, zero, 0x17          |             s0 = 0x17;
    0x00008978 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x0000897c b 0x88c8                      |             goto label_2;
                                             | label_8:
    0x00008980 lw t9, -0x7cec(gp)            |             t9 = sym.imp.curl_msnprintf;
    0x00008984 sw s1, 0x10(sp)               |             *(var_10h) = s1;
    0x00008988 move a3, s3                   |             a3 = s3;
    0x0000898c move a2, s6                   |             a2 = s6;
    0x00008990 subu a1, s7, v0               |             __asm ("subu a1, s7, v0");
    0x00008994 addu a0, s2, v0               |             a0 = s2 + v0;
    0x00008998 jalr t9                       |             t9 ();
    0x0000899c lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000089a0 b 0x88a0                      |             goto label_3;
                                             | label_9:
    0x000089a4 lw t9, -0x7ca8(gp)            |             t9 = sym.imp.strcpy
    0x000089a8 move a1, s4                   |             a1 = s4;
    0x000089ac move a0, s2                   |             a0 = s2;
    0x000089b0 jalr t9                       |             t9 ();
    0x000089b4 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x000089b8 b 0x88a0                      |             goto label_3;
                                             |         }
    0x000089bc addiu v1, zero, 0x1c          |         v1 = 0x1c;
                                             |         if (v0 == fp) {
    0x000089c0 beq v0, fp, 0x8a5c            |             goto label_13;
                                             |         }
    0x000089c4 lw t9, -0x7d90(gp)            |         t9 = sym.imp.curl_mfprintf;
                                             |         if (v0 != v1) {
    0x000089c8 bne v0, v1, 0x8a80            |             goto label_12;
                                             |         }
    0x000089cc lw a1, -0x7fd4(gp)            |         a1 = *(gp);
    0x000089d0 lw a0, 0x4c(sp)               |         a0 = *(arg_4ch);
    0x000089d4 move a2, s2                   |         a2 = s2;
                                             |         /* str.No_space_left_on_the_file_system_that_will_contain_the_directory__s._n */
    0x000089d8 addiu a1, a1, 0x1b0           |         a1 += 0x1b0;
    0x000089dc jalr t9                       |         t9 ();
    0x000089e0 addiu s0, zero, 0x17          |         s0 = 0x17;
    0x000089e4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000089e8 b 0x88c8                      |         goto label_2;
                                             | label_5:
    0x000089ec lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x000089f0 addiu s0, zero, 0x1b          |         s0 = 0x1b;
    0x000089f4 move v0, s0                   |         v0 = s0;
    0x000089f8 lw fp, 0x40(sp)               |         fp = *(var_40h);
    0x000089fc lw s7, 0x3c(sp)               |         s7 = *(var_3ch);
    0x00008a00 lw s6, 0x38(sp)               |         s6 = *(var_38h);
    0x00008a04 lw s5, 0x34(sp)               |         s5 = *(var_34h);
    0x00008a08 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x00008a0c lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x00008a10 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x00008a14 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x00008a18 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x00008a1c addiu sp, sp, 0x48            |         
    0x00008a20 jr ra                         |         return v0;
                                             | label_6:
    0x00008a24 lw t9, -0x7c38(gp)            |         t9 = sym.imp.free;
    0x00008a28 move a0, s4                   |         a0 = s4;
    0x00008a2c jalr t9                       |         t9 ();
    0x00008a30 addiu s0, zero, 0x1b          |         s0 = 0x1b;
    0x00008a34 b 0x88e4                      |         goto label_4;
                                             |     }
    0x00008a38 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00008a3c lw t9, -0x7d90(gp)            |     t9 = sym.imp.curl_mfprintf;
    0x00008a40 lw a0, 0x4c(sp)               |     a0 = *(arg_4ch);
    0x00008a44 move a2, s2                   |     a2 = s2;
                                             |     /* str._s_resides_on_a_read_only_file_system._n */
    0x00008a48 addiu a1, a1, 0x188           |     a1 += 0x188;
    0x00008a4c jalr t9                       |     t9 ();
    0x00008a50 addiu s0, zero, 0x17          |     s0 = 0x17;
    0x00008a54 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00008a58 b 0x88c8                      |     goto label_2;
                                             | label_13:
    0x00008a5c lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00008a60 lw t9, -0x7d90(gp)            |     t9 = sym.imp.curl_mfprintf;
    0x00008a64 lw a0, 0x4c(sp)               |     a0 = *(arg_4ch);
    0x00008a68 move a2, s2                   |     a2 = s2;
                                             |     /* str.You_dont_have_permission_to_create__s._n */
    0x00008a6c addiu a1, a1, 0x138           |     a1 += aav.0x00000138;
    0x00008a70 jalr t9                       |     t9 ();
    0x00008a74 addiu s0, zero, 0x17          |     s0 = 0x17;
    0x00008a78 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00008a7c b 0x88c8                      |     goto label_2;
                                             | label_12:
    0x00008a80 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00008a84 lw t9, -0x7d90(gp)            |     t9 = sym.imp.curl_mfprintf;
    0x00008a88 lw a0, 0x4c(sp)               |     a0 = *(arg_4ch);
    0x00008a8c move a2, s2                   |     a2 = s2;
                                             |     /* str.Error_creating_directory__s._n */
    0x00008a90 addiu a1, a1, 0x238           |     a1 += aav.0x00000238;
    0x00008a94 jalr t9                       |     t9 ();
    0x00008a98 addiu s0, zero, 0x17          |     s0 = 0x17;
    0x00008a9c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00008aa0 b 0x88c8                      |     goto label_2;
                                             | label_11:
    0x00008aa4 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00008aa8 lw t9, -0x7d90(gp)            |     t9 = sym.imp.curl_mfprintf;
    0x00008aac lw a0, 0x4c(sp)               |     a0 = *(arg_4ch);
    0x00008ab0 move a2, s2                   |     a2 = s2;
                                             |     /* str.The_directory_name__s_is_too_long._n */
    0x00008ab4 addiu a1, a1, 0x164           |     a1 += aav.0x00000164;
    0x00008ab8 jalr t9                       |     t9 ();
    0x00008abc addiu s0, zero, 0x17          |     s0 = 0x17;
    0x00008ac0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00008ac4 b 0x88c8                      |     goto label_2;
                                             | }

[*] Function strcpy used 3 times curl