[*] Binary protection state of libxml2.so.2.9.9

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


[*] Function printf tear down of libxml2.so.2.9.9

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x6cf0c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0006cf0c ()                  | void fcn_0006cf0c () {
    0x0006cf0c lui gp, 0x12                  |     
    0x0006cf10 addiu gp, gp, 0x4764          |     
    0x0006cf14 addu gp, gp, t9               |     gp += t9;
    0x0006cf18 addiu sp, sp, -0x2780         |     
    0x0006cf1c sw s4, 0x2768(sp)             |     *(arg_2768h) = s4;
    0x0006cf20 lw s4, -0x7000(gp)            |     s4 = *((gp - 7168));
    0x0006cf24 sw gp, 0x20(sp)               |     *(arg_20h) = gp;
    0x0006cf28 sw ra, 0x277c(sp)             |     *(arg_277ch) = ra;
    0x0006cf2c lw v0, (s4)                   |     v0 = *(s4);
    0x0006cf30 sw fp, 0x2778(sp)             |     *(arg_2778h) = fp;
    0x0006cf34 sw s7, 0x2774(sp)             |     *(arg_2774h) = s7;
    0x0006cf38 sw s6, 0x2770(sp)             |     *(arg_2770h) = s6;
    0x0006cf3c sw s5, 0x276c(sp)             |     *(arg_276ch) = s5;
    0x0006cf40 sw s3, 0x2764(sp)             |     *(arg_2764h) = s3;
    0x0006cf44 sw s2, 0x2760(sp)             |     *(arg_2760h) = s2;
    0x0006cf48 sw s1, 0x275c(sp)             |     *(arg_275ch) = s1;
    0x0006cf4c sw s0, 0x2758(sp)             |     *(arg_2758h) = s0;
    0x0006cf50 sw v0, 0x2754(sp)             |     *(arg_2754h) = v0;
                                             |     if (a2 == 0) {
    0x0006cf54 beql a2, zero, 0x6d1ac        |         goto label_7;
                                             |     }
    0x0006cf58 addiu s2, zero, -1            |     s2 = -1;
    0x0006cf5c move s5, a3                   |     s5 = a3;
                                             |     if (a3 == 0) {
    0x0006cf60 beqz a3, 0x6d480              |         goto label_12;
                                             |     }
    0x0006cf64 move s0, a0                   |     s0 = a0;
                                             |     if (a0 == 0) {
    0x0006cf68 beqz a0, 0x6d480              |         goto label_12;
                                             |     }
    0x0006cf6c lw v0, 8(a2)                  |     v0 = *((a2 + 2));
    0x0006cf70 lw v1, 0x34(a2)               |     v1 = *((a2 + 13));
    0x0006cf74 move s3, a2                   |     s3 = a2;
    0x0006cf78 move s1, a1                   |     s1 = a1;
    0x0006cf7c lw s7, 0x28(a2)               |     s7 = *((a2 + 10));
    0x0006cf80 sw v0, 0x34(sp)               |     *(arg_34h) = v0;
                                             |     if (v1 == 0) {
    0x0006cf84 beqz v1, 0x6d464              |         goto label_13;
                                             |     }
    0x0006cf88 addiu s2, zero, 1             |     s2 = 1;
                                             | label_6:
    0x0006cf8c lw t9, -0x7a08(gp)            |     t9 = *((gp - 7810));
    0x0006cf90 move a0, v1                   |     a0 = v1;
    0x0006cf94 jalr t9                       |     t9 ();
    0x0006cf98 lw gp, 0x20(sp)               |     gp = *(arg_20h);
                                             |     if (v0 == 0) {
    0x0006cf9c beqz v0, 0x6d480              |         goto label_12;
                                             |     }
    0x0006cfa0 lw a0, 0x34(s3)               |     a0 = *((s3 + 13));
    0x0006cfa4 lw t9, -0x7a00(gp)            |     t9 = *((gp - 7808));
    0x0006cfa8 sw zero, 0x14(s0)             |     *((s0 + 5)) = 0;
    0x0006cfac sw zero, 0x10(s0)             |     *((s0 + 4)) = 0;
    0x0006cfb0 sw zero, 0x18(s0)             |     *((s0 + 6)) = 0;
    0x0006cfb4 move a2, zero                 |     a2 = 0;
    0x0006cfb8 move a1, zero                 |     a1 = 0;
    0x0006cfbc jalr t9                       |     t9 ();
    0x0006cfc0 move s6, v0                   |     s6 = v0;
    0x0006cfc4 lw gp, 0x20(sp)               |     gp = *(arg_20h);
                                             |     if (v0 == 0) {
    0x0006cfc8 beqz v0, 0x6d170              |         goto label_14;
                                             |     }
    0x0006cfcc move fp, s1                   |     fp = s1;
                                             |     if (s1 == 0) {
    0x0006cfd0 beqz s1, 0x6d1f0              |         goto label_15;
                                             |     }
    0x0006cfd4 lw v0, -0x79fc(gp)            |     v0 = *(gp);
    0x0006cfd8 lw s3, -0x7a48(gp)            |     s3 = *(gp);
    0x0006cfdc sw v0, 0x28(sp)               |     *(arg_28h) = v0;
    0x0006cfe0 addiu s3, s3, -0x6d88         |     s3 += -aav.0x00006d88;
                                             | label_0:
    0x0006cfe4 lw v0, 4(fp)                  |     v0 = *(arg_4h);
    0x0006cfe8 addiu v1, zero, 3             |     v1 = 3;
    0x0006cfec lw t9, 0x28(sp)               |     t9 = *(arg_28h);
                                             |     if (v0 == v1) {
    0x0006cff0 beq v0, v1, 0x6d058           |         goto label_16;
                                             |     }
    0x0006cff4 sltiu v1, v0, 4               |     v1 = (v0 < 4) ? 1 : 0;
                                             |     do {
    0x0006cff8 addiu v1, zero, 4             |         v1 = 4;
                                             |         if (v1 != 0) {
    0x0006cffc bnez v1, 0x6d0dc              |             goto label_17;
                                             |         }
    0x0006d000 addiu v1, zero, 5             |         v1 = 5;
                                             |         if (v0 == v1) {
    0x0006d004 beq v0, v1, 0x6d15c           |             goto label_18;
                                             |         }
    0x0006d008 lw t0, 0x18(fp)               |         t0 = *(arg_18h);
                                             |         if (v0 == v1) {
    0x0006d00c bnel v0, v1, 0x6d070          |             goto label_3;
                                             |         }
    0x0006d010 lw v0, 0xc(fp)                |         v0 = *(arg_ch);
                                             |         if (v0 == 0) {
    0x0006d014 beql v0, zero, 0x6d070        |             goto label_3;
                                             |         }
    0x0006d018 lw t0, 0x18(fp)               |         t0 = *(arg_18h);
    0x0006d01c lw v0, 0xc(v0)                |         v0 = *((v0 + 3));
    0x0006d020 move a1, fp                   |         a1 = fp;
                                             |         if (v0 == 0) {
    0x0006d024 beqz v0, 0x6d06c              |             goto label_4;
                                             |         }
    0x0006d028 move t9, s3                   |         t9 = s3;
    0x0006d02c move a0, s0                   |         a0 = s0;
    0x0006d030 bal 0x69278                   |         fcn_00069278 ();
    0x0006d034 lw v0, 0xc(fp)                |         v0 = *(arg_ch);
    0x0006d038 lw fp, 0xc(v0)                |         fp = *((v0 + 3));
    0x0006d03c lw gp, 0x20(sp)               |         gp = *(arg_20h);
                                             |         if (fp == 0) {
    0x0006d040 beqz fp, 0x6d1f0              |             goto label_15;
                                             |         }
    0x0006d044 lw v0, 4(fp)                  |         v0 = *(arg_4h);
    0x0006d048 addiu v1, zero, 3             |         v1 = 3;
    0x0006d04c sltiu v1, v0, 4               |         v1 = (v0 < 4) ? 1 : 0;
    0x0006d050 bne v0, v1, 0x6cff8           |         
                                             |     } while (v0 != v1);
    0x0006d054 lw t9, 0x28(sp)               |     t9 = *(arg_28h);
                                             | label_16:
    0x0006d058 move a0, fp                   |     a0 = fp;
    0x0006d05c jalr t9                       |     t9 ();
    0x0006d060 move s2, v0                   |     s2 = v0;
    0x0006d064 lw gp, 0x20(sp)               |     gp = *(arg_20h);
                                             |     if (v0 == 0) {
    0x0006d068 beqz v0, 0x6d160              |         goto label_19;
                                             |     }
                                             | label_4:
    0x0006d06c lw t0, 0x18(fp)               |     t0 = *(arg_18h);
                                             | label_3:
    0x0006d070 move fp, t0                   |     fp = t0;
                                             |     if (t0 != 0) {
    0x0006d074 bnez t0, 0x6cfe4              |         goto label_0;
                                             |     }
    0x0006d078 lw v1, 0x10(s0)               |     v1 = *((s0 + 4));
    0x0006d07c sll a0, v1, 2                 |     a0 = v1 << 2;
                                             |     if (v1 <= 0) {
    0x0006d080 blez v1, 0x6d1f0              |         goto label_15;
                                             |     }
    0x0006d084 lw v0, 0x18(s0)               |     v0 = *((s0 + 6));
    0x0006d088 addu v0, v0, a0               |     v0 += a0;
    0x0006d08c b 0x6d0b4                     |     goto label_20;
                                             | label_1:
    0x0006d090 sw a0, 0xc(s0)                |     *((s0 + 3)) = a0;
    0x0006d094 lw a0, -4(v0)                 |     a0 = *((v0 - 1));
    0x0006d098 sw zero, -4(v0)               |     *((v0 - 1)) = 0;
                                             |     if (a0 == 0) {
    0x0006d09c beqz a0, 0x6d0d4              |         goto label_21;
                                             |     }
                                             | label_2:
    0x0006d0a0 lw fp, 0x18(a0)               |     fp = *((a0 + 6));
    0x0006d0a4 sw v1, 0x10(s0)               |     *((s0 + 4)) = v1;
                                             |     if (fp == 0) {
    0x0006d0a8 bnel fp, zero, 0x6cfe4        |         goto label_0;
                                             |     }
    0x0006d0ac addiu v0, v0, -4              |     v0 += -4;
                                             |     if (v1 == 0) {
    0x0006d0b0 beqz v1, 0x6d1ec              |         goto label_22;
                                             |     }
                                             | label_20:
    0x0006d0b4 addiu v1, v1, -1              |     v1 += -1;
    0x0006d0b8 lw a0, -8(v0)                 |     a0 = *((v0 - 2));
                                             |     if (v1 == 0) {
    0x0006d0bc bnel v1, zero, 0x6d090        |         goto label_1;
                                             |     }
    0x0006d0c0 move a0, zero                 |     a0 = 0;
    0x0006d0c4 sw a0, 0xc(s0)                |     *((s0 + 3)) = a0;
    0x0006d0c8 lw a0, -4(v0)                 |     a0 = *((v0 - 1));
    0x0006d0cc sw zero, -4(v0)               |     *((v0 - 1)) = 0;
                                             |     if (a0 != 0) {
    0x0006d0d0 bnez a0, 0x6d0a0              |         goto label_2;
                                             |     }
                                             | label_21:
    0x0006d0d4 sw v1, 0x10(s0)               |     *((s0 + 4)) = v1;
    0x0006d0d8 b 0x6d1f0                     |     goto label_15;
                                             | label_17:
    0x0006d0dc addiu v1, zero, 1             |     v1 = 1;
    0x0006d0e0 lw t0, 0x18(fp)               |     t0 = *(arg_18h);
                                             |     if (v0 == v1) {
    0x0006d0e4 bnel v0, v1, 0x6d070          |         goto label_3;
                                             |     }
    0x0006d0e8 lw v0, 0x24(fp)               |     v0 = *(arg_24h);
    0x0006d0ec lw a0, 8(fp)                  |     a0 = *(arg_8h);
                                             |     if (v0 == 0) {
    0x0006d0f0 beqz v0, 0x6d43c              |         goto label_23;
                                             |     }
    0x0006d0f4 lw a1, 0xc(v0)                |     a1 = *((v0 + 3));
    0x0006d0f8 lw t9, -0x7e0c(gp)            |     t9 = *((gp - 8067));
                                             |     if (a1 == 0) {
    0x0006d0fc beqz a1, 0x6d43c              |         goto label_23;
                                             |     }
    0x0006d100 addiu s2, sp, 0x13cc          |     s2 = sp + 0x13cc;
    0x0006d104 addiu a3, zero, 0x32          |     a3 = 0x32;
    0x0006d108 move a2, s2                   |     a2 = s2;
    0x0006d10c jalr t9                       |     t9 ();
    0x0006d110 lw gp, 0x20(sp)               |     gp = *(arg_20h);
                                             |     if (v0 == 0) {
    0x0006d114 beqz v0, 0x6d4e8              |         goto label_24;
                                             |     }
    0x0006d118 lw t9, -0x79f8(gp)            |     t9 = *(gp);
    0x0006d11c move a2, zero                 |     a2 = 0;
    0x0006d120 move a1, v0                   |     a1 = v0;
    0x0006d124 sw v0, 0x2c(sp)               |     *(arg_2ch) = v0;
    0x0006d128 move a0, s6                   |     a0 = s6;
    0x0006d12c jalr t9                       |     t9 ();
    0x0006d130 lw v1, 0x2c(sp)               |     v1 = *(arg_2ch);
    0x0006d134 lw gp, 0x20(sp)               |     gp = *(arg_20h);
                                             |     if (v1 == s2) {
    0x0006d138 beq v1, s2, 0x6d06c           |         goto label_4;
                                             |     }
    0x0006d13c lw v0, 8(fp)                  |     v0 = *(arg_8h);
    0x0006d140 lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             |     if (v1 == v0) {
    0x0006d144 beq v1, v0, 0x6d06c           |         goto label_4;
                                             |     }
    0x0006d148 lw t9, (v0)                   |     t9 = *(v0);
    0x0006d14c move a0, v1                   |     a0 = v1;
    0x0006d150 jalr t9                       |     t9 ();
    0x0006d154 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0006d158 b 0x6d06c                     |     goto label_4;
                                             | label_18:
    0x0006d15c move s2, zero                 |     s2 = 0;
                                             |     do {
                                             | label_19:
    0x0006d160 lw t9, -0x79f4(gp)            |         t9 = *((gp - 7805));
    0x0006d164 move a0, s6                   |         a0 = s6;
    0x0006d168 jalr t9                       |         t9 ();
    0x0006d16c lw gp, 0x20(sp)               |         gp = *(arg_20h);
                                             | label_14:
    0x0006d170 addiu v0, zero, 1             |         v0 = 1;
    0x0006d174 addiu v0, zero, -3            |         v0 = -3;
                                             |         if (s2 != v0) {
    0x0006d178 beq s2, v0, 0x6d184           |             
    0x0006d17c addiu s2, zero, 1             |             s2 = 1;
                                             |             if (s2 != v0) {
    0x0006d180 bne s2, v0, 0x6d210           |                 goto label_25;
                                             |             }
                                             |         }
                                             | label_5:
    0x0006d184 lw a0, 0x18(s0)               |         a0 = *((s0 + 6));
    0x0006d188 sw zero, 0x14(s0)             |         *((s0 + 5)) = 0;
    0x0006d18c sw zero, 0x10(s0)             |         *((s0 + 4)) = 0;
                                             |         if (a0 != 0) {
    0x0006d190 beqz a0, 0x6d1ac              |             
    0x0006d194 lw v0, -0x7158(gp)            |             v0 = *(gp);
    0x0006d198 lw t9, (v0)                   |             t9 = *(v0);
    0x0006d19c jalr t9                       |             t9 ();
    0x0006d1a0 nop                           |             
    0x0006d1a4 lw gp, 0x20(sp)               |             gp = *(arg_20h);
    0x0006d1a8 sw zero, 0x18(s0)             |             *((s0 + 6)) = 0;
                                             |         }
                                             | label_7:
    0x0006d1ac lw a0, 0x2754(sp)             |         a0 = *(arg_2754h);
    0x0006d1b0 lw v1, (s4)                   |         v1 = *(s4);
    0x0006d1b4 move v0, s2                   |         v0 = s2;
                                             |         if (a0 != v1) {
    0x0006d1b8 bne a0, v1, 0x6d528           |             goto label_26;
                                             |         }
    0x0006d1bc lw ra, 0x277c(sp)             |         ra = *(arg_277ch);
    0x0006d1c0 lw fp, 0x2778(sp)             |         fp = *(arg_2778h);
    0x0006d1c4 lw s7, 0x2774(sp)             |         s7 = *(arg_2774h);
    0x0006d1c8 lw s6, 0x2770(sp)             |         s6 = *(arg_2770h);
    0x0006d1cc lw s5, 0x276c(sp)             |         s5 = *(arg_276ch);
    0x0006d1d0 lw s4, 0x2768(sp)             |         s4 = *(arg_2768h);
    0x0006d1d4 lw s3, 0x2764(sp)             |         s3 = *(arg_2764h);
    0x0006d1d8 lw s2, 0x2760(sp)             |         s2 = *(arg_2760h);
    0x0006d1dc lw s1, 0x275c(sp)             |         s1 = *(arg_275ch);
    0x0006d1e0 lw s0, 0x2758(sp)             |         s0 = *(arg_2758h);
    0x0006d1e4 addiu sp, sp, 0x2780          |         
    0x0006d1e8 jr ra                         |         return v0;
                                             | label_22:
    0x0006d1ec sw zero, 0x10(s0)             |         *((s0 + 4)) = 0;
                                             | label_15:
    0x0006d1f0 lw t9, -0x79f8(gp)            |         t9 = *(gp);
    0x0006d1f4 move a2, zero                 |         a2 = 0;
    0x0006d1f8 move a1, zero                 |         a1 = 0;
    0x0006d1fc move a0, s6                   |         a0 = s6;
    0x0006d200 jalr t9                       |         t9 ();
    0x0006d204 move s2, v0                   |         s2 = v0;
    0x0006d208 lw gp, 0x20(sp)               |         gp = *(arg_20h);
    0x0006d20c b 0x6d160                     |         
                                             |     } while (1);
                                             | label_25:
    0x0006d210 addiu v0, sp, 0x44            |     v0 = sp + 0x44;
    0x0006d214 lw t9, -0x7a1c(gp)            |     t9 = *((gp - 7815));
    0x0006d218 sw v0, 0x3c(sp)               |     *(arg_3ch) = v0;
    0x0006d21c addiu a3, zero, 1             |     a3 = 1;
    0x0006d220 move a2, s7                   |     a2 = s7;
    0x0006d224 addiu a1, zero, 0x1388        |     a1 = 0x1388;
    0x0006d228 move a0, v0                   |     a0 = v0;
    0x0006d22c sb zero, 0x44(sp)             |     *(arg_44h) = 0;
    0x0006d230 bal 0x6c870                   |     sym_xmlSnprintfElementContent ()
    0x0006d234 addiu s2, sp, 0x13cc          |     s2 = sp + 0x13cc;
    0x0006d238 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0006d23c sb zero, 0x13cc(sp)           |     *(arg_13cch) = 0;
                                             |     if (s1 == 0) {
    0x0006d240 beqz s1, 0x6d368              |         goto label_9;
                                             |     }
                                             | label_11:
    0x0006d244 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x0006d248 lw t9, -0x6ef4(gp)            |     t9 = *((gp - 7101));
    0x0006d24c addiu a2, zero, 0x1388        |     a2 = 0x1388;
    0x0006d250 addiu a1, a1, -0x5750         |     a1 += -0x5750;
    0x0006d254 move a0, s2                   |     a0 = s2;
    0x0006d258 jalr t9                       |     t9 ();
    0x0006d25c lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0006d260 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x0006d264 lw s6, -0x7f94(gp)            |     s6 = *((gp - 8165));
    0x0006d268 lw s3, -0x7f94(gp)            |     s3 = *((gp - 8165));
    0x0006d26c lw s7, -0x539c(v0)            |     s7 = *((v0 - 5351));
    0x0006d270 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x0006d274 addiu s3, s3, -0x40b8         |     s3 += -0x40b8;
    0x0006d278 sw v0, 0x30(sp)               |     *(arg_30h) = v0;
    0x0006d27c lw v0, -0x79fc(gp)            |     v0 = *(gp);
    0x0006d280 sw v0, 0x38(sp)               |     *(arg_38h) = v0;
    0x0006d284 addiu v0, s6, 0x578c          |     v0 = s6 + 0x578c;
    0x0006d288 sw v0, 0x28(sp)               |     *(arg_28h) = v0;
    0x0006d28c lw t9, -0x6fc0(gp)            |     t9 = *(gp);
                                             |     do {
    0x0006d290 move a0, s2                   |         a0 = s2;
    0x0006d294 jalr t9                       |         t9 ();
    0x0006d298 addiu v1, zero, 0x1388        |         v1 = 0x1388;
    0x0006d29c subu s6, v1, v0               |         __asm ("subu s6, v1, v0");
    0x0006d2a0 move fp, v0                   |         fp = v0;
    0x0006d2a4 slti v0, s6, 0x32             |         v0 = (s6 < 0x32) ? 1 : 0;
    0x0006d2a8 lw gp, 0x20(sp)               |         gp = *(arg_20h);
                                             |         if (v0 != 0) {
    0x0006d2ac bnez v0, 0x6d488              |             goto label_27;
                                             |         }
    0x0006d2b0 lw v0, 4(s1)                  |         v0 = *((s1 + 1));
    0x0006d2b4 sltiu a0, v0, 0x13            |         a0 = (v0 < 0x13) ? 1 : 0;
    0x0006d2b8 sll v0, v0, 2                 |         v0 <<= 2;
                                             |         if (a0 != 0) {
    0x0006d2bc beqz a0, 0x6d320              |             
    0x0006d2c0 lwx v0, v0(s3)                |             __asm ("lwx v0, v0(s3)");
    0x0006d2c4 addu v0, v0, gp               |             v0 += gp;
    0x0006d2c8 jr v0                         |             v0 ();
    0x0006d2cc nop                           |             
                                             |         }
    0x0006d320 lw s1, 0x18(s1)               |         s1 = *((s1 + 6));
    0x0006d324 lw t9, -0x6fc0(gp)            |         t9 = *(gp);
    0x0006d328 bnez s1, 0x6d290              |         
                                             |     } while (s1 != 0);
    0x0006d32c lw a1, -0x7fb0(gp)            |     a1 = *((gp - 8172));
    0x0006d330 b 0x6d350                     |     
    0x0006d350 lw t9, -0x6ef4(gp)            |     t9 = *((gp - 7101));
    0x0006d354 addiu a2, zero, 0x1388        |     a2 = 0x1388;
    0x0006d358 addiu a1, a1, -0x6724         |     a1 += -aav.0x00006724;
    0x0006d35c move a0, s2                   |     a0 = s2;
    0x0006d360 jalr t9                       |     t9 ();
    0x0006d364 lw gp, 0x20(sp)               |     gp = *(arg_20h);
                                             | label_9:
    0x0006d368 lw v0, 0x34(sp)               |     v0 = *(arg_34h);
                                             | label_8:
    0x0006d36c lw v1, 0x3c(sp)               |     v1 = *(arg_3ch);
                                             |     if (v0 == 0) {
    0x0006d370 beqz v0, 0x6d4cc              |         goto label_28;
                                             |     }
    0x0006d374 lw a3, -0x7f94(gp)            |     a3 = *((gp - 8165));
    0x0006d378 sw s2, 0x18(sp)               |     *(arg_18h) = s2;
    0x0006d37c sw v1, 0x14(sp)               |     *(arg_14h) = v1;
    0x0006d380 sw v0, 0x10(sp)               |     *(arg_70h) = v0;
    0x0006d384 addiu a3, a3, -0x5398         |     a3 += -aav.0x00005398;
                                             | label_10:
    0x0006d388 lw t9, -0x7a48(gp)            |     t9 = *(gp);
    0x0006d38c addiu a2, zero, 0x1f8         |     a2 = aav.0x000001f8;
    0x0006d390 move a1, s5                   |     a1 = s5;
    0x0006d394 addiu t9, t9, -0x6b78         |     t9 += -0x6b78;
    0x0006d398 move a0, s0                   |     a0 = s0;
    0x0006d39c bal 0x69488                   |     fcn_00069488 ();
    0x0006d3a0 move s2, zero                 |     s2 = 0;
    0x0006d3a4 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0006d3a8 b 0x6d184                     |     goto label_5;
                                             | label_23:
    0x0006d43c lw t9, -0x79f8(gp)            |     t9 = *(gp);
    0x0006d440 move a1, a0                   |     a1 = a0;
    0x0006d444 move a2, zero                 |     a2 = 0;
    0x0006d448 move a0, s6                   |     a0 = s6;
    0x0006d44c jalr t9                       |     t9 ();
    0x0006d450 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0006d454 b 0x6d06c                     |     goto label_4;
                                             | label_13:
    0x0006d464 lw t9, -0x79f0(gp)            |     t9 = *(gp);
    0x0006d468 move a1, a2                   |     a1 = a2;
    0x0006d46c bal 0x6ce5c                   |     sym_xmlValidBuildContentModel ();
    0x0006d470 lw v1, 0x34(s3)               |     v1 = *((s3 + 13));
    0x0006d474 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0006d478 move s2, v0                   |     s2 = v0;
                                             |     if (v1 != 0) {
    0x0006d47c bnez v1, 0x6cf8c              |         goto label_6;
                                             |     }
                                             | label_12:
    0x0006d480 addiu s2, zero, -1            |     s2 = -1;
    0x0006d484 b 0x6d1ac                     |     goto label_7;
                                             | label_27:
    0x0006d488 slti v1, s6, 5                |     v1 = (s6 < 5) ? 1 : 0;
    0x0006d48c lw v0, 0x34(sp)               |     v0 = *(arg_34h);
                                             |     if (v1 != 0) {
    0x0006d490 bnez v1, 0x6d36c              |         goto label_8;
                                             |     }
    0x0006d494 addiu v0, sp, 0x2758          |     v0 = sp + aav.0x00002758;
    0x0006d498 addu v0, v0, fp               |     v0 += fp;
    0x0006d49c addiu v1, zero, 0x2e          |     v1 = 0x2e;
    0x0006d4a0 lb v0, -0x138d(v0)            |     v0 = *((v0 - 5005));
    0x0006d4a4 lw v0, 0x34(sp)               |     v0 = *(arg_34h);
                                             |     if (v0 == v1) {
    0x0006d4a8 beq v0, v1, 0x6d36c           |         goto label_8;
                                             |     }
    0x0006d4ac lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x0006d4b0 lw t9, -0x6ef4(gp)            |     t9 = *((gp - 7101));
    0x0006d4b4 addiu a2, zero, 0x1388        |     a2 = 0x1388;
    0x0006d4b8 addiu a1, a1, -0x5400         |     a1 += -0x5400;
    0x0006d4bc move a0, s2                   |     a0 = s2;
    0x0006d4c0 jalr t9                       |     t9 ();
    0x0006d4c4 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0006d4c8 b 0x6d368                     |     goto label_9;
                                             | label_28:
    0x0006d4cc lw v0, 0x3c(sp)               |     v0 = *(arg_3ch);
    0x0006d4d0 lw a3, -0x7f94(gp)            |     a3 = *((gp - 8165));
    0x0006d4d4 sw zero, 0x18(sp)             |     *(arg_18h) = 0;
    0x0006d4d8 sw s2, 0x14(sp)               |     *(arg_14h) = s2;
    0x0006d4dc sw v0, 0x10(sp)               |     *(arg_70h) = v0;
    0x0006d4e0 addiu a3, a3, -0x5354         |     a3 += -aav.0x00005354;
    0x0006d4e4 b 0x6d388                     |     goto label_10;
                                             | label_24:
    0x0006d4e8 lw t9, -0x79f4(gp)            |     t9 = *((gp - 7805));
    0x0006d4ec move a0, s6                   |     a0 = s6;
    0x0006d4f0 jalr t9                       |     t9 ();
    0x0006d4f4 lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0006d4f8 addiu v0, sp, 0x44            |     v0 = sp + 0x44;
    0x0006d4fc sw v0, 0x3c(sp)               |     *(arg_3ch) = v0;
    0x0006d500 lw t9, -0x7a1c(gp)            |     t9 = *((gp - 7815));
    0x0006d504 addiu a3, zero, 1             |     a3 = 1;
    0x0006d508 move a2, s7                   |     a2 = s7;
    0x0006d50c addiu a1, zero, 0x1388        |     a1 = 0x1388;
    0x0006d510 move a0, v0                   |     a0 = v0;
    0x0006d514 sb zero, 0x44(sp)             |     *(arg_44h) = 0;
    0x0006d518 bal 0x6c870                   |     sym_xmlSnprintfElementContent ()
    0x0006d51c lw gp, 0x20(sp)               |     gp = *(arg_20h);
    0x0006d520 sb zero, 0x13cc(sp)           |     *(arg_13cch) = 0;
    0x0006d524 b 0x6d244                     |     goto label_11;
                                             | label_26:
    0x0006d528 lw t9, -0x7074(gp)            |     t9 = *((gp - 7197));
    0x0006d52c jalr t9                       |     t9 ();
    0x0006d530 nop                           |     
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x6c870 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlSnprintfElementContent ()         | void xmlSnprintfElementContent () {
                                                     |     do {
                                                     | label_0:
    0x0006c870 lui gp, 0x12                          |         
    0x0006c874 addiu gp, gp, 0x4e00                  |         
    0x0006c878 addu gp, gp, t9                       |         gp += t9;
                                                     |         if (a2 == 0) {
    0x0006c87c beqz a2, 0x6cbf0                      |             goto label_12;
                                                     |         }
    0x0006c880 nop                                   |         
    0x0006c884 addiu sp, sp, -0x38                   |         
    0x0006c888 lw t9, -0x6fc0(gp)                    |         t9 = *(gp);
    0x0006c88c sw gp, 0x10(sp)                       |         *(var_10h) = gp;
    0x0006c890 sw s4, 0x28(sp)                       |         *(var_28h) = s4;
    0x0006c894 sw s3, 0x24(sp)                       |         *(var_24h) = s3;
    0x0006c898 sw s2, 0x20(sp)                       |         *(var_20h) = s2;
    0x0006c89c sw s1, 0x1c(sp)                       |         *(var_1ch) = s1;
    0x0006c8a0 sw s0, 0x18(sp)                       |         *(var_18h) = s0;
    0x0006c8a4 sw ra, 0x34(sp)                       |         *(var_34h) = ra;
    0x0006c8a8 sw s6, 0x30(sp)                       |         *(var_30h) = s6;
    0x0006c8ac sw s5, 0x2c(sp)                       |         *(var_2ch) = s5;
    0x0006c8b0 move s0, a1                           |         s0 = a1;
    0x0006c8b4 move s1, a0                           |         s1 = a0;
    0x0006c8b8 move s3, a3                           |         s3 = a3;
    0x0006c8bc move s2, a2                           |         s2 = a2;
    0x0006c8c0 jalr t9                               |         t9 ();
    0x0006c8c4 subu s4, s0, v0                       |         __asm ("subu s4, s0, v0");
    0x0006c8c8 slti v1, s4, 0x32                     |         v1 = (s4 < 0x32) ? 1 : 0;
    0x0006c8cc lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v1 != 0) {
    0x0006c8d0 bnez v1, 0x6ca50                      |             goto label_13;
                                                     |         }
    0x0006c8d4 addiu v1, zero, 2                     |         v1 = 2;
                                                     |         if (s3 != 0) {
    0x0006c8d8 bnez s3, 0x6caf0                      |             goto label_14;
                                                     |         }
    0x0006c8dc lw v0, (s2)                           |         v0 = *(s2);
    0x0006c8e0 lw s6, -0x7fcc(gp)                    |         s6 = *((gp - 8179));
                                                     |         if (v0 == v1) {
    0x0006c8e4 beq v0, v1, 0x6cb14                   |             goto label_15;
                                                     |         }
    0x0006c8e8 sltiu v1, v0, 3                       |         v1 = (v0 < 3) ? 1 : 0;
                                                     | label_5:
    0x0006c8ec addiu v1, zero, 3                     |         v1 = 3;
                                                     |         if (v1 != 0) {
    0x0006c8f0 bnez v1, 0x6ca10                      |             goto label_16;
                                                     |         }
    0x0006c8f4 addiu v1, zero, 4                     |         v1 = 4;
                                                     |         if (v0 == v1) {
    0x0006c8f8 beq v0, v1, 0x6ca90                   |             goto label_17;
                                                     |         }
    0x0006c8fc lw t9, -0x6fc0(gp)                    |         t9 = *(gp);
                                                     |         if (v0 != v1) {
    0x0006c900 bne v0, v1, 0x6c9a8                   |             goto label_18;
                                                     |         }
    0x0006c904 lw a2, 0xc(s2)                        |         a2 = *((s2 + 3));
    0x0006c908 lw v0, (a2)                           |         v0 = *(a2);
    0x0006c90c addiu v0, v0, -3                      |         v0 += -3;
    0x0006c910 sltiu v0, v0, 2                       |         v0 = (v0 < 2) ? 1 : 0;
    0x0006c914 lw s4, -0x7a1c(gp)                    |         s4 = *((gp - 7815));
                                                     |         if (v0 != 0) {
    0x0006c918 bnez v0, 0x6cc78                      |             goto label_19;
                                                     |         }
    0x0006c91c move a3, zero                         |         a3 = 0;
                                                     | label_10:
    0x0006c920 move a1, s0                           |         a1 = s0;
    0x0006c924 move t9, s4                           |         t9 = s4;
    0x0006c928 move a0, s1                           |         a0 = s1;
    0x0006c92c bal 0x6c870                           |         sym_xmlSnprintfElementContent ()
                                                     |     } while (1);
    0x0006c930 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x0006c934 lw t9, -0x6fc0(gp)                    |     t9 = *(gp);
    0x0006c938 move a0, s1                           |     a0 = s1;
    0x0006c93c jalr t9                               |     t9 ();
    0x0006c940 subu v1, s0, v0                       |     __asm ("subu v1, s0, v0");
    0x0006c944 slti a0, v1, 0x32                     |     a0 = (v1 < 0x32) ? 1 : 0;
    0x0006c948 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (a0 != 0) {
    0x0006c94c bnez a0, 0x6cbf8                      |         goto label_20;
                                                     |     }
    0x0006c950 lw v1, -0x7f94(gp)                    |     v1 = *((gp - 8165));
    0x0006c954 addu v0, s1, v0                       |     v0 = s1 + v0;
    0x0006c958 addiu a0, zero, 3                     |     a0 = 3;
    0x0006c95c lw v1, -0x5740(v1)                    |     v1 = *((v1 - 5584));
                                                     | label_4:
    0x0006c960 swl v1, 3(v0)                         |     __asm ("swl v1, 3(v0)");
    0x0006c964 swr v1, (v0)                          |     __asm ("swr v1, (v0)");
    0x0006c968 lw a2, 0x10(s2)                       |     a2 = *((s2 + 4));
    0x0006c96c lw v0, (a2)                           |     v0 = *(a2);
    0x0006c970 addiu v1, zero, 1                     |     v1 = 1;
                                                     |     if (v0 == a0) {
    0x0006c974 beq v0, a0, 0x6cc70                   |         goto label_21;
                                                     |     }
    0x0006c978 lw a0, 4(a2)                          |     a0 = *((a2 + 1));
    0x0006c97c addiu v1, zero, 2                     |     v1 = 2;
                                                     |     if (a0 != v1) {
    0x0006c980 beq a0, v1, 0x6c98c                   |         
    0x0006c984 addiu a3, zero, 1                     |         a3 = 1;
                                                     |         if (v0 != v1) {
    0x0006c988 bne v0, v1, 0x6c990                   |             goto label_9;
                                                     |         }
                                                     |     }
    0x0006c98c move a3, zero                         |     a3 = 0;
                                                     | label_9:
    0x0006c990 move a1, s0                           |     a1 = s0;
    0x0006c994 move t9, s4                           |     t9 = s4;
    0x0006c998 move a0, s1                           |     a0 = s1;
    0x0006c99c bal 0x6c870                           |     sym_xmlSnprintfElementContent ()
                                                     |     goto label_0;
    0x0006c9a0 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     do {
                                                     | label_1:
    0x0006c9a4 lw t9, -0x6fc0(gp)                    |         t9 = *(gp);
                                                     | label_18:
    0x0006c9a8 move a0, s1                           |         a0 = s1;
    0x0006c9ac jalr t9                               |         t9 ();
    0x0006c9b0 subu s0, s0, v0                       |         __asm ("subu s0, s0, v0");
    0x0006c9b4 sltiu s0, s0, 3                       |         s0 = (s0 < 3) ? 1 : 0;
    0x0006c9b8 lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (s0 == 0) {
    0x0006c9bc bnez s0, 0x6c9e8                      |             
    0x0006c9c0 addu v0, s1, v0                       |             v0 = s1 + v0;
                                                     |             if (s3 != 0) {
    0x0006c9c4 bnez s3, 0x6cbe0                      |                 goto label_22;
                                                     |             }
                                                     | label_6:
    0x0006c9c8 lw v0, 4(s2)                          |             v0 = *((s2 + 1));
    0x0006c9cc addiu v1, zero, 3                     |             v1 = 3;
    0x0006c9d0 addiu v1, zero, 4                     |             v1 = 4;
                                                     |             if (v0 == v1) {
    0x0006c9d4 beq v0, v1, 0x6cc0c                   |                 goto label_23;
                                                     |             }
    0x0006c9d8 addiu v1, zero, 2                     |             v1 = 2;
                                                     |             if (v0 == v1) {
    0x0006c9dc beq v0, v1, 0x6cbc0                   |                 goto label_24;
                                                     |             }
    0x0006c9e0 lw t9, -0x6fc0(gp)                    |             t9 = *(gp);
                                                     |             if (v0 == v1) {
    0x0006c9e4 beq v0, v1, 0x6cba4                   |                 goto label_25;
                                                     |             }
                                                     |         }
                                                     | label_3:
    0x0006c9e8 lw ra, 0x34(sp)                       |         ra = *(var_34h);
                                                     | label_2:
    0x0006c9ec lw s6, 0x30(sp)                       |         s6 = *(var_30h);
    0x0006c9f0 lw s5, 0x2c(sp)                       |         s5 = *(var_2ch);
    0x0006c9f4 lw s4, 0x28(sp)                       |         s4 = *(var_28h);
    0x0006c9f8 lw s3, 0x24(sp)                       |         s3 = *(var_24h);
    0x0006c9fc lw s2, 0x20(sp)                       |         s2 = *(var_20h);
    0x0006ca00 lw s1, 0x1c(sp)                       |         s1 = *(var_1ch);
    0x0006ca04 lw s0, 0x18(sp)                       |         s0 = *(var_18h);
    0x0006ca08 addiu sp, sp, 0x38                    |         
    0x0006ca0c jr ra                                 |         return v1;
                                                     | label_16:
    0x0006ca10 addiu v1, zero, 1                     |         v1 = 1;
    0x0006ca14 lw t9, -0x6fc0(gp)                    |         t9 = *(gp);
    0x0006ca18 bne v0, v1, 0x6c9a4                   |         
                                                     |     } while (v0 != v1);
    0x0006ca1c move a0, s1                           |     a0 = s1;
    0x0006ca20 jalr t9                               |     t9 ();
    0x0006ca24 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x0006ca28 addu v0, s1, v0                       |     v0 = s1 + v0;
    0x0006ca2c lw v1, -0x7f94(gp)                    |     v1 = *((gp - 8165));
    0x0006ca30 addiu a1, v1, -0x574c                 |     a1 = v1 + -0x574c;
    0x0006ca34 lw a0, -0x574c(v1)                    |     a0 = *((v1 - 5587));
    0x0006ca38 lw v1, 4(a1)                          |     v1 = *((a1 + 1));
    0x0006ca3c swl a0, 3(v0)                         |     __asm ("swl a0, 3(v0)");
    0x0006ca40 swr a0, (v0)                          |     __asm ("swr a0, (v0)");
    0x0006ca44 swl v1, 7(v0)                         |     __asm ("swl v1, 7(v0)");
    0x0006ca48 swr v1, 4(v0)                         |     __asm ("swr v1, 4(v0)");
    0x0006ca4c b 0x6c9a4                             |     goto label_1;
                                                     | label_13:
    0x0006ca50 slti s4, s4, 5                        |     s4 = (s4 < 5) ? 1 : 0;
    0x0006ca54 lw ra, 0x34(sp)                       |     ra = *(var_34h);
                                                     |     if (s4 != 0) {
    0x0006ca58 bnez s4, 0x6c9ec                      |         goto label_2;
                                                     |     }
    0x0006ca5c addu v0, s1, v0                       |     v0 = s1 + v0;
                                                     | label_7:
    0x0006ca60 addiu v1, zero, 0x2e                  |     v1 = 0x2e;
    0x0006ca64 lb a0, -1(v0)                         |     a0 = *((v0 - 1));
    0x0006ca68 lw ra, 0x34(sp)                       |     ra = *(var_34h);
                                                     |     if (a0 == v1) {
    0x0006ca6c beq a0, v1, 0x6c9ec                   |         goto label_2;
                                                     |     }
    0x0006ca70 lw v1, -0x7f94(gp)                    |     v1 = *((gp - 8165));
    0x0006ca74 addiu a0, v1, -0x5400                 |     a0 = v1 + -0x5400;
    0x0006ca78 lw v1, -0x5400(v1)                    |     v1 = *((v1 - 5376));
    0x0006ca7c lbu a0, 4(a0)                         |     a0 = *((a0 + 4));
    0x0006ca80 swl v1, 3(v0)                         |     __asm ("swl v1, 3(v0)");
    0x0006ca84 swr v1, (v0)                          |     __asm ("swr v1, (v0)");
    0x0006ca88 sb a0, 4(v0)                          |     *((v0 + 4)) = a0;
    0x0006ca8c b 0x6c9e8                             |     goto label_3;
                                                     | label_17:
    0x0006ca90 lw a2, 0xc(s2)                        |     a2 = *((s2 + 3));
    0x0006ca94 lw v0, (a2)                           |     v0 = *(a2);
    0x0006ca98 addiu v0, v0, -3                      |     v0 += -3;
    0x0006ca9c sltiu v0, v0, 2                       |     v0 = (v0 < 2) ? 1 : 0;
    0x0006caa0 lw s4, -0x7a1c(gp)                    |     s4 = *((gp - 7815));
                                                     |     if (v0 != 0) {
    0x0006caa4 bnez v0, 0x6cc80                      |         goto label_26;
                                                     |     }
    0x0006caa8 move a3, zero                         |     a3 = 0;
                                                     | label_11:
    0x0006caac move a1, s0                           |     a1 = s0;
    0x0006cab0 move t9, s4                           |     t9 = s4;
    0x0006cab4 move a0, s1                           |     a0 = s1;
    0x0006cab8 bal 0x6c870                           |     sym_xmlSnprintfElementContent ()
                                                     |     goto label_0;
    0x0006cabc lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x0006cac0 lw t9, -0x6fc0(gp)                    |     t9 = *(gp);
    0x0006cac4 move a0, s1                           |     a0 = s1;
    0x0006cac8 jalr t9                               |     t9 ();
    0x0006cacc subu v1, s0, v0                       |     __asm ("subu v1, s0, v0");
    0x0006cad0 slti a0, v1, 0x32                     |     a0 = (v1 < 0x32) ? 1 : 0;
    0x0006cad4 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (a0 != 0) {
    0x0006cad8 bnez a0, 0x6cbf8                      |         goto label_20;
                                                     |     }
    0x0006cadc lw v1, -0x7f94(gp)                    |     v1 = *((gp - 8165));
    0x0006cae0 addu v0, s1, v0                       |     v0 = s1 + v0;
    0x0006cae4 addiu a0, zero, 4                     |     a0 = 4;
    0x0006cae8 lw v1, -0x5744(v1)                    |     v1 = *((v1 - 5585));
    0x0006caec b 0x6c960                             |     goto label_4;
                                                     | label_14:
    0x0006caf0 addu v0, s1, v0                       |     v0 = s1 + v0;
    0x0006caf4 addiu v1, zero, 0x28                  |     v1 = 0x28;
    0x0006caf8 sb v1, (v0)                           |     *(v0) = v1;
    0x0006cafc sb zero, 1(v0)                        |     *((v0 + 1)) = 0;
    0x0006cb00 lw v0, (s2)                           |     v0 = *(s2);
    0x0006cb04 addiu v1, zero, 2                     |     v1 = 2;
    0x0006cb08 sltiu v1, v0, 3                       |     v1 = (v0 < 3) ? 1 : 0;
                                                     |     if (v0 != v1) {
    0x0006cb0c bne v0, v1, 0x6c8ec                   |         goto label_5;
                                                     |     }
    0x0006cb10 lw s6, -0x7fcc(gp)                    |     s6 = *((gp - 8179));
                                                     | label_15:
    0x0006cb14 move t9, s6                           |     t9 = s6;
    0x0006cb18 lw a0, 8(s2)                          |     a0 = *((s2 + 2));
    0x0006cb1c jalr t9                               |     t9 ();
    0x0006cb20 lw a0, 0x18(s2)                       |     a0 = *((s2 + 6));
    0x0006cb24 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x0006cb28 move s5, v0                           |     s5 = v0;
                                                     |     if (a0 == 0) {
    0x0006cb2c beqz a0, 0x6cc2c                      |         goto label_27;
                                                     |     }
    0x0006cb30 move t9, s6                           |     t9 = s6;
    0x0006cb34 jalr t9                               |     t9 ();
    0x0006cb38 nop                                   |     
    0x0006cb3c addu v0, v0, s5                       |     v0 += s5;
    0x0006cb40 addiu v0, v0, 0xa                     |     v0 += 0xa;
    0x0006cb44 slt s4, v0, s4                        |     s4 = (v0 < s4) ? 1 : 0;
    0x0006cb48 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (s4 == 0) {
    0x0006cb4c beqz s4, 0x6cc3c                      |         goto label_28;
                                                     |     }
    0x0006cb50 lw s4, 0x18(s2)                       |     s4 = *((s2 + 6));
    0x0006cb54 lw t9, -0x6fc0(gp)                    |     t9 = *(gp);
                                                     |     if (s4 != 0) {
    0x0006cb58 beqz s4, 0x6cb88                      |         
    0x0006cb5c move a0, s1                           |         a0 = s1;
    0x0006cb60 jalr t9                               |         t9 ();
    0x0006cb64 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x0006cb68 move a1, s4                           |         a1 = s4;
    0x0006cb6c lw t9, -0x6ec4(gp)                    |         t9 = *((gp - 7089));
    0x0006cb70 addu a0, s1, v0                       |         a0 = s1 + v0;
    0x0006cb74 jalr t9                               |         t9 ();
    0x0006cb78 addiu v1, zero, 0x3a                  |         v1 = 0x3a;
    0x0006cb7c lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x0006cb80 sb v1, (v0)                           |         *(v0) = v1;
    0x0006cb84 sb zero, 1(v0)                        |         *((v0 + 1)) = 0;
                                                     |     }
    0x0006cb88 lw a1, 8(s2)                          |     a1 = *((s2 + 2));
                                                     | label_8:
    0x0006cb8c lw t9, -0x70bc(gp)                    |     t9 = *((gp - 7215));
                                                     |     if (a1 == 0) {
    0x0006cb90 beqz a1, 0x6c9a4                      |         goto label_1;
                                                     |     }
    0x0006cb94 move a0, s1                           |     a0 = s1;
    0x0006cb98 jalr t9                               |     t9 ();
    0x0006cb9c lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x0006cba0 b 0x6c9a4                             |     goto label_1;
                                                     | label_25:
    0x0006cba4 move a0, s1                           |     a0 = s1;
    0x0006cba8 jalr t9                               |     t9 ();
    0x0006cbac addu v0, s1, v0                       |     v0 = s1 + v0;
    0x0006cbb0 addiu v1, zero, 0x3f                  |     v1 = 0x3f;
    0x0006cbb4 sb v1, (v0)                           |     *(v0) = v1;
    0x0006cbb8 sb zero, 1(v0)                        |     *((v0 + 1)) = 0;
    0x0006cbbc b 0x6c9e8                             |     goto label_3;
                                                     | label_24:
    0x0006cbc0 lw t9, -0x6fc0(gp)                    |     t9 = *(gp);
    0x0006cbc4 move a0, s1                           |     a0 = s1;
    0x0006cbc8 jalr t9                               |     t9 ();
    0x0006cbcc addu v0, s1, v0                       |     v0 = s1 + v0;
    0x0006cbd0 addiu v1, zero, 0x2b                  |     v1 = 0x2b;
    0x0006cbd4 sb v1, (v0)                           |     *(v0) = v1;
    0x0006cbd8 sb zero, 1(v0)                        |     *((v0 + 1)) = 0;
    0x0006cbdc b 0x6c9e8                             |     goto label_3;
                                                     | label_22:
    0x0006cbe0 addiu v1, zero, 0x29                  |     v1 = 0x29;
    0x0006cbe4 sb v1, (v0)                           |     *(v0) = v1;
    0x0006cbe8 sb zero, 1(v0)                        |     *((v0 + 1)) = 0;
    0x0006cbec b 0x6c9c8                             |     goto label_6;
                                                     | label_12:
    0x0006cbf0 jr ra                                 |     return v1;
    0x0006cbf4 nop                                   |     
                                                     | label_20:
    0x0006cbf8 slti v1, v1, 5                        |     v1 = (v1 < 5) ? 1 : 0;
    0x0006cbfc lw ra, 0x34(sp)                       |     ra = *(var_34h);
                                                     |     if (v1 != 0) {
    0x0006cc00 bnez v1, 0x6c9ec                      |         goto label_2;
                                                     |     }
    0x0006cc04 addu v0, s1, v0                       |     v0 = s1 + v0;
    0x0006cc08 b 0x6ca60                             |     goto label_7;
                                                     | label_23:
    0x0006cc0c lw t9, -0x6fc0(gp)                    |     t9 = *(gp);
    0x0006cc10 move a0, s1                           |     a0 = s1;
    0x0006cc14 jalr t9                               |     t9 ();
    0x0006cc18 addu v0, s1, v0                       |     v0 = s1 + v0;
    0x0006cc1c addiu v1, zero, 0x2a                  |     v1 = 0x2a;
    0x0006cc20 sb v1, (v0)                           |     *(v0) = v1;
    0x0006cc24 sb zero, 1(v0)                        |     *((v0 + 1)) = 0;
    0x0006cc28 b 0x6c9e8                             |     goto label_3;
                                                     | label_27:
    0x0006cc2c addiu s5, v0, 9                       |     s5 = v0 + 9;
    0x0006cc30 slt s4, s5, s4                        |     s4 = (s5 < s4) ? 1 : 0;
    0x0006cc34 lw a1, 8(s2)                          |     a1 = *((s2 + 2));
                                                     |     if (s4 == 0) {
    0x0006cc38 bnel s4, zero, 0x6cb8c                |         goto label_8;
                                                     |     }
                                                     | label_28:
    0x0006cc3c lw t9, -0x6fc0(gp)                    |     t9 = *(gp);
    0x0006cc40 move a0, s1                           |     a0 = s1;
    0x0006cc44 jalr t9                               |     t9 ();
    0x0006cc48 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x0006cc4c addu v0, s1, v0                       |     v0 = s1 + v0;
    0x0006cc50 lw v1, -0x7f94(gp)                    |     v1 = *((gp - 8165));
    0x0006cc54 addiu a0, v1, -0x5400                 |     a0 = v1 + -0x5400;
    0x0006cc58 lw v1, -0x5400(v1)                    |     v1 = *((v1 - 5376));
    0x0006cc5c lbu a0, 4(a0)                         |     a0 = *((a0 + 4));
    0x0006cc60 swl v1, 3(v0)                         |     __asm ("swl v1, 3(v0)");
    0x0006cc64 swr v1, (v0)                          |     __asm ("swr v1, (v0)");
    0x0006cc68 sb a0, 4(v0)                          |     *((v0 + 4)) = a0;
    0x0006cc6c b 0x6c9e8                             |     goto label_3;
                                                     | label_21:
    0x0006cc70 addiu a3, zero, 1                     |     a3 = 1;
    0x0006cc74 b 0x6c990                             |     goto label_9;
                                                     | label_19:
    0x0006cc78 addiu a3, zero, 1                     |     a3 = 1;
    0x0006cc7c b 0x6c920                             |     goto label_10;
                                                     | label_26:
    0x0006cc80 addiu a3, zero, 1                     |     a3 = 1;
    0x0006cc84 b 0x6caac                             |     goto label_11;
                                                     | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x6ce5c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlValidBuildContentModel ()         | void xmlValidBuildContentModel () {
                                                     | label_1:
    0x0006cc88 lui gp, 0x12                          |     
    0x0006cc8c addiu gp, gp, 0x49e8                  |     
    0x0006cc90 addu gp, gp, t9                       |     gp += t9;
    0x0006cc94 addiu sp, sp, -0x13d8                 |     
    0x0006cc98 lw t9, -0x7a18(gp)                    |     t9 = *(gp);
    0x0006cc9c sw s2, 0x13cc(sp)                     |     *(var_13cch) = s2;
    0x0006cca0 lw s2, -0x7000(gp)                    |     s2 = *((gp - 7168));
    0x0006cca4 sw gp, 0x20(sp)                       |     *(var_20h) = gp;
    0x0006cca8 sw s1, 0x13c8(sp)                     |     *(var_10h) = s1;
    0x0006ccac lw v0, (s2)                           |     v0 = *(s2);
    0x0006ccb0 sw s0, 0x13c4(sp)                     |     *(var_13c4h) = s0;
    0x0006ccb4 sw ra, 0x13d4(sp)                     |     *(var_1ch) = ra;
    0x0006ccb8 move s0, a0                           |     s0 = a0;
    0x0006ccbc sw s3, 0x13d0(sp)                     |     *(var_18h) = s3;
    0x0006ccc0 sw v0, 0x13bc(sp)                     |     *(var_13bch) = v0;
    0x0006ccc4 move s1, a1                           |     s1 = a1;
    0x0006ccc8 jalr t9                               |     t9 ();
    0x0006cccc lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0006ccd0 sw v0, 0x38(s0)                       |     *((s0 + 14)) = v0;
                                                     |     if (v0 == 0) {
    0x0006ccd4 beqz v0, 0x6ce14                      |         goto label_2;
                                                     |     }
    0x0006ccd8 lw t9, -0x7a14(gp)                    |     t9 = *((gp - 7813));
    0x0006ccdc move a0, v0                           |     a0 = v0;
    0x0006cce0 jalr t9                               |     t9 ();
    0x0006cce4 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0006cce8 lw a2, 8(s1)                          |     a2 = *((s1 + 2));
    0x0006ccec lw a0, 0x28(s1)                       |     a0 = *((s1 + 10));
    0x0006ccf0 lw t9, -0x7a48(gp)                    |     t9 = *(gp);
    0x0006ccf4 move a1, s0                           |     a1 = s0;
    0x0006ccf8 addiu t9, t9, -0x6a98                 |     t9 += -0x6a98;
    0x0006ccfc sw v0, 0x3c(s0)                       |     *((s0 + 15)) = v0;
    0x0006cd00 bal 0x69568                           |     fcn_00069568 ();
    0x0006cd04 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0006cd08 lw a1, 0x3c(s0)                       |     a1 = *((s0 + 15));
    0x0006cd0c lw t9, -0x7a10(gp)                    |     t9 = *((gp - 7812));
    0x0006cd10 lw a0, 0x38(s0)                       |     a0 = *((s0 + 14));
    0x0006cd14 jalr t9                               |     t9 ();
    0x0006cd18 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0006cd1c lw t9, -0x7a0c(gp)                    |     t9 = *((gp - 7811));
    0x0006cd20 lw a0, 0x38(s0)                       |     a0 = *((s0 + 14));
    0x0006cd24 jalr t9                               |     t9 ();
    0x0006cd28 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0006cd2c move a0, v0                           |     a0 = v0;
    0x0006cd30 lw t9, -0x7a08(gp)                    |     t9 = *((gp - 7810));
    0x0006cd34 sw v0, 0x34(s1)                       |     *((s1 + 13)) = v0;
    0x0006cd38 jalr t9                               |     t9 ();
    0x0006cd3c addiu v1, zero, 1                     |     v1 = 1;
    0x0006cd40 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 != v1) {
    0x0006cd44 bne v0, v1, 0x6cd90                   |         goto label_3;
                                                     |     }
    0x0006cd48 lw t9, -0x7a04(gp)                    |     t9 = *(gp);
    0x0006cd4c lw a0, 0x38(s0)                       |     a0 = *((s0 + 14));
    0x0006cd50 sw v0, 0x2c(sp)                       |     *(var_2ch) = v0;
    0x0006cd54 sw zero, 0x3c(s0)                     |     *((s0 + 15)) = 0;
    0x0006cd58 jalr t9                               |     t9 ();
    0x0006cd5c lw v0, 0x2c(sp)                       |     v0 = *(var_2ch);
    0x0006cd60 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0006cd64 sw zero, 0x38(s0)                     |     *((s0 + 14)) = 0;
                                                     |     do {
                                                     | label_0:
    0x0006cd68 lw a0, 0x13bc(sp)                     |         a0 = *(var_13bch);
    0x0006cd6c lw v1, (s2)                           |         v1 = *(s2);
    0x0006cd70 lw ra, 0x13d4(sp)                     |         ra = *(var_1ch);
                                                     |         if (a0 != v1) {
    0x0006cd74 bne a0, v1, 0x6ce50                   |             goto label_4;
                                                     |         }
    0x0006cd78 lw s3, 0x13d0(sp)                     |         s3 = *(var_18h);
    0x0006cd7c lw s2, 0x13cc(sp)                     |         s2 = *(var_13cch);
    0x0006cd80 lw s1, 0x13c8(sp)                     |         s1 = *(var_10h);
    0x0006cd84 lw s0, 0x13c4(sp)                     |         s0 = *(var_13c4h);
    0x0006cd88 addiu sp, sp, 0x13d8                  |         
    0x0006cd8c jr ra                                 |         return v0;
                                                     | label_3:
    0x0006cd90 lw t9, -0x7a1c(gp)                    |         t9 = *((gp - 7815));
    0x0006cd94 lw a2, 0x28(s1)                       |         a2 = *((s1 + 10));
    0x0006cd98 addiu s3, sp, 0x34                    |         s3 = sp + 0x34;
    0x0006cd9c addiu a3, zero, 1                     |         a3 = 1;
    0x0006cda0 addiu a1, zero, 0x1388                |         a1 = 0x1388;
    0x0006cda4 move a0, s3                           |         a0 = s3;
    0x0006cda8 sb zero, 0x34(sp)                     |         *(var_34h) = 0;
    0x0006cdac bal 0x6c870                           |         sym_xmlSnprintfElementContent ()
    0x0006cdb0 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0006cdb4 lw v0, 8(s1)                          |         v0 = *((s1 + 2));
    0x0006cdb8 addiu a2, zero, 0x1f9                 |         a2 = 0x1f9;
    0x0006cdbc lw a3, -0x7f94(gp)                    |         a3 = *((gp - 8165));
    0x0006cdc0 lw t9, -0x7a48(gp)                    |         t9 = *(gp);
    0x0006cdc4 addiu a3, a3, -0x53d0                 |         a3 += -aav.0x000053d0;
    0x0006cdc8 move a1, s1                           |         a1 = s1;
    0x0006cdcc move a0, s0                           |         a0 = s0;
    0x0006cdd0 sw v0, 0x10(sp)                       |         *(var_10h_2) = v0;
    0x0006cdd4 addiu t9, t9, -0x6b78                 |         t9 += -0x6b78;
    0x0006cdd8 sw zero, 0x18(sp)                     |         *(var_18h_2) = 0;
    0x0006cddc sw s3, 0x14(sp)                       |         *(var_14h) = s3;
    0x0006cde0 bal 0x69488                           |         fcn_00069488 ();
    0x0006cde4 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0006cde8 move v0, zero                         |         v0 = 0;
    0x0006cdec lw a0, 0x38(s0)                       |         a0 = *((s0 + 14));
    0x0006cdf0 lw t9, -0x7a04(gp)                    |         t9 = *(gp);
    0x0006cdf4 sw v0, 0x2c(sp)                       |         *(var_2ch) = v0;
    0x0006cdf8 sw zero, 0x24(s0)                     |         *((s0 + 9)) = 0;
    0x0006cdfc sw zero, 0x3c(s0)                     |         *((s0 + 15)) = 0;
    0x0006ce00 jalr t9                               |         t9 ();
    0x0006ce04 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0006ce08 sw zero, 0x38(s0)                     |         *((s0 + 14)) = 0;
    0x0006ce0c lw v0, 0x2c(sp)                       |         v0 = *(var_2ch);
    0x0006ce10 b 0x6cd68                             |         
                                                     |     } while (1);
                                                     | label_2:
    0x0006ce14 lw v0, 8(s1)                          |     v0 = *((s1 + 2));
    0x0006ce18 lw a3, -0x7f94(gp)                    |     a3 = *((gp - 8165));
    0x0006ce1c lw t9, -0x7a48(gp)                    |     t9 = *(gp);
    0x0006ce20 sw v0, 0x10(sp)                       |     *(var_10h_2) = v0;
    0x0006ce24 sw zero, 0x18(sp)                     |     *(var_18h_2) = 0;
    0x0006ce28 sw zero, 0x14(sp)                     |     *(var_14h) = 0;
    0x0006ce2c addiu a3, a3, -0x53f8                 |     a3 += -0x53f8;
    0x0006ce30 addiu a2, zero, 1                     |     a2 = 1;
    0x0006ce34 move a1, s1                           |     a1 = s1;
    0x0006ce38 addiu t9, t9, -0x6b78                 |     t9 += -0x6b78;
    0x0006ce3c move a0, s0                           |     a0 = s0;
    0x0006ce40 bal 0x69488                           |     fcn_00069488 ();
    0x0006ce44 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0006ce48 move v0, zero                         |     v0 = 0;
    0x0006ce4c b 0x6cd68                             |     goto label_0;
                                                     | label_4:
    0x0006ce50 lw t9, -0x7074(gp)                    |     t9 = *((gp - 7197));
    0x0006ce54 jalr t9                               |     t9 ();
    0x0006ce58 nop                                   |     
    0x0006ce5c lui gp, 0x12                          |     
    0x0006ce60 addiu gp, gp, 0x4814                  |     
    0x0006ce64 addu gp, gp, t9                       |     gp += t9;
                                                     |     if (a0 != 0) {
    0x0006ce68 beqz a0, 0x6ce88                      |         
    0x0006ce6c nop                                   |         
                                                     |         if (a1 == 0) {
    0x0006ce70 beqz a1, 0x6ce88                      |             goto label_5;
                                                     |         }
    0x0006ce74 nop                                   |         
    0x0006ce78 lw a3, 4(a1)                          |         a3 = *((a1 + 1));
    0x0006ce7c addiu a2, zero, 0xf                   |         a2 = 0xf;
                                                     |         if (a3 == a2) {
    0x0006ce80 beql a3, a2, 0x6ce90                  |             goto label_6;
                                                     |         }
    0x0006ce84 lw a3, 0x24(a1)                       |         a3 = *((a1 + 9));
                                                     |     }
                                                     | label_5:
    0x0006ce88 move v0, zero                         |     v0 = 0;
    0x0006ce8c jr ra                                 |     return v0;
                                                     | label_6:
    0x0006ce90 addiu a2, zero, 4                     |     a2 = 4;
                                                     |     if (a3 == a2) {
    0x0006ce94 bne a3, a2, 0x6cedc                   |         
    0x0006ce98 nop                                   |         
    0x0006ce9c addiu sp, sp, -0x20                   |         
    0x0006cea0 lw v0, 0x34(a1)                       |         v0 = *((a1 + 13));
    0x0006cea4 sw gp, 0x10(sp)                       |         *(var_10h) = gp;
    0x0006cea8 sw ra, 0x1c(sp)                       |         *(var_1ch) = ra;
    0x0006ceac sw s0, 0x18(sp)                       |         *(var_18h) = s0;
    0x0006ceb0 lw t9, -0x7a08(gp)                    |         t9 = *((gp - 7810));
                                                     |         if (v0 == 0) {
    0x0006ceb4 beqz v0, 0x6cef4                      |             goto label_7;
                                                     |         }
    0x0006ceb8 move s0, a0                           |         s0 = a0;
    0x0006cebc move a0, v0                           |         a0 = v0;
    0x0006cec0 jalr t9                               |         t9 ();
    0x0006cec4 lw ra, 0x1c(sp)                       |         ra = *(var_1ch);
                                                     |         if (v0 != 0) {
    0x0006cec8 bnez v0, 0x6cee4                      |             goto label_8;
                                                     |         }
    0x0006cecc sw zero, 0x24(s0)                     |         *((s0 + 9)) = 0;
    0x0006ced0 lw s0, 0x18(sp)                       |         s0 = *(var_18h);
    0x0006ced4 addiu sp, sp, 0x20                    |         
    0x0006ced8 jr ra                                 |         return v0;
                                                     |     }
    0x0006cedc addiu v0, zero, 1                     |     v0 = 1;
    0x0006cee0 jr ra                                 |     return v0;
                                                     | label_8:
    0x0006cee4 lw s0, 0x18(sp)                       |     s0 = *(var_18h);
    0x0006cee8 addiu v0, zero, 1                     |     v0 = 1;
    0x0006ceec addiu sp, sp, 0x20                    |     
    0x0006cef0 jr ra                                 |     return v0;
                                                     | label_7:
    0x0006cef4 lw t9, -0x7a48(gp)                    |     t9 = *(gp);
    0x0006cef8 lw ra, 0x1c(sp)                       |     ra = *(var_1ch);
    0x0006cefc lw s0, 0x18(sp)                       |     s0 = *(var_18h);
    0x0006cf00 addiu t9, t9, -0x3378                 |     t9 += -0x3378;
    0x0006cf04 addiu sp, sp, 0x20                    |     
    0x0006cf08 b 0x6cc88                             |     goto label_1;
                                                     | }

[*] Function printf used 8 times libxml2.so.2.9.9