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

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


[*] Function popen 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 @ 0x1f4c4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) entry.fini0 ()                   | void entry_fini0 () {
    0x0001f4c4 lui gp, 0x17                  |     
    0x0001f4c8 addiu gp, gp, 0x21ac          |     
    0x0001f4cc addu gp, gp, t9               |     gp += t9;
    0x0001f4d0 addiu sp, sp, -0x20           |     
    0x0001f4d4 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x0001f4d8 lw s0, -0x7fe4(gp)            |     s0 = *((gp - 8185));
    0x0001f4dc sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0001f4e0 sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
    0x0001f4e4 lbu v0, -0x5710(s0)           |     v0 = *((s0 - 22288));
    0x0001f4e8 lw v0, -0x6fb4(gp)            |     v0 = *(gp);
                                             |     if (v0 == 0) {
    0x0001f4ec bnez v0, 0x1f520              |         
    0x0001f4f0 lw v0, -0x7fe0(gp)            |         v0 = *((gp - 8184));
                                             |         if (v0 != 0) {
    0x0001f4f4 beqz v0, 0x1f508              |             
    0x0001f4f8 lw t9, -0x6fb4(gp)            |             t9 = *(gp);
    0x0001f4fc lw a0, (v0)                   |             a0 = *(v0);
    0x0001f500 jalr t9                       |             t9 ();
    0x0001f504 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x0001f508 lw t9, -0x7fdc(gp)            |         t9 = *((gp - 8183));
    0x0001f50c addiu t9, t9, -0xbc0          |         t9 += -aav.0x00000bc0;
    0x0001f510 bal 0x1f440                   |         entry0 ();
    0x0001f514 nop                           |         
    0x0001f518 addiu v0, zero, 1             |         v0 = 1;
    0x0001f51c sb v0, -0x5710(s0)            |         *((s0 - 22288)) = v0;
                                             |     }
    0x0001f520 lw ra, 0x1c(sp)               |     ra = *(var_1ch);
    0x0001f524 lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x0001f528 addiu sp, sp, 0x20            |     
    0x0001f52c jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x27a80 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00027a80 ()                  | void fcn_00027a80 () {
    0x00027a80 lui gp, 0x17                  |     
    0x00027a84 addiu gp, gp, -0x6410         |     
    0x00027a88 addu gp, gp, t9               |     gp += t9;
    0x00027a8c addiu sp, sp, -0x38           |     
    0x00027a90 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00027a94 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00027a98 sw s6, 0x30(sp)               |     *(var_30h) = s6;
    0x00027a9c sw s5, 0x2c(sp)               |     *(var_2ch) = s5;
    0x00027aa0 sw s4, 0x28(sp)               |     *(var_28h) = s4;
    0x00027aa4 sw s3, 0x24(sp)               |     *(var_24h) = s3;
    0x00027aa8 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x00027aac sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x00027ab0 sw s0, 0x18(sp)               |     *(var_18h) = s0;
                                             |     if (a2 != 0) {
    0x00027ab4 beql a2, zero, 0x27afc        |         
    0x00027ab8 addiu s2, zero, -1            |         s2 = -1;
    0x00027abc move s4, a3                   |         s4 = a3;
                                             |         if (a1 == 0) {
    0x00027ac0 beqz a1, 0x27d98              |             goto label_6;
                                             |         }
    0x00027ac4 lw v0, (a1)                   |         v0 = *(a1);
    0x00027ac8 move s0, a1                   |         s0 = a1;
    0x00027acc move s1, a2                   |         s1 = a2;
                                             |         if (v0 == 0) {
    0x00027ad0 beqz v0, 0x27b58              |             goto label_7;
                                             |         }
    0x00027ad4 move s3, a0                   |         s3 = a0;
    0x00027ad8 lw a0, 0xc(v0)                |         a0 = *((v0 + 3));
    0x00027adc lw t9, -0x70f0(gp)            |         t9 = *(gp);
                                             |         if (a0 == 0) {
    0x00027ae0 beqz a0, 0x27b9c              |             goto label_8;
                                             |         }
    0x00027ae4 lw t9, -0x7f0c(gp)            |         t9 = *((gp - 8131));
                                             |         if (a0 == a2) {
    0x00027ae8 beq a0, a2, 0x27b28           |             goto label_9;
                                             |         }
    0x00027aec move s2, zero                 |         s2 = 0;
    0x00027af0 bal 0x250e8                   |         sym_xmlCharEncCloseFunc ();
    0x00027af4 lw v0, (s0)                   |         v0 = *(s0);
    0x00027af8 sw s1, 0xc(v0)                |         *((v0 + 3)) = s1;
                                             |     }
                                             | label_0:
    0x00027afc lw ra, 0x34(sp)               |     ra = *(var_34h);
                                             | label_5:
    0x00027b00 move v0, s2                   |     v0 = s2;
    0x00027b04 lw s6, 0x30(sp)               |     s6 = *(var_30h);
    0x00027b08 lw s5, 0x2c(sp)               |     s5 = *(var_2ch);
    0x00027b0c lw s4, 0x28(sp)               |     s4 = *(var_28h);
    0x00027b10 lw s3, 0x24(sp)               |     s3 = *(var_24h);
    0x00027b14 lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x00027b18 lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x00027b1c lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x00027b20 addiu sp, sp, 0x38            |     
    0x00027b24 jr ra                         |     return v1;
                                             |     do {
                                             | label_9:
    0x00027b28 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00027b2c move s2, zero                 |         s2 = 0;
    0x00027b30 move v0, s2                   |         v0 = s2;
    0x00027b34 lw s6, 0x30(sp)               |         s6 = *(var_30h);
    0x00027b38 lw s5, 0x2c(sp)               |         s5 = *(var_2ch);
    0x00027b3c lw s4, 0x28(sp)               |         s4 = *(var_28h);
    0x00027b40 lw s3, 0x24(sp)               |         s3 = *(var_24h);
    0x00027b44 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x00027b48 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x00027b4c lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x00027b50 addiu sp, sp, 0x38            |         
    0x00027b54 jr ra                         |         return v1;
                                             | label_7:
    0x00027b58 lw v0, 0x18(a1)               |         v0 = *((a1 + 6));
    0x00027b5c lw t9, -0x7f0c(gp)            |         t9 = *((gp - 8131));
                                             |         if (v0 == 0) {
    0x00027b60 beqz v0, 0x27da0              |             goto label_10;
                                             |         }
    0x00027b64 move a0, a2                   |         a0 = a2;
    0x00027b68 bal 0x250e8                   |         sym_xmlCharEncCloseFunc ();
    0x00027b6c lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00027b70 move s2, zero                 |         s2 = 0;
    0x00027b74 move v0, s2                   |         v0 = s2;
    0x00027b78 lw s6, 0x30(sp)               |         s6 = *(var_30h);
    0x00027b7c lw s5, 0x2c(sp)               |         s5 = *(var_2ch);
    0x00027b80 lw s4, 0x28(sp)               |         s4 = *(var_28h);
    0x00027b84 lw s3, 0x24(sp)               |         s3 = *(var_24h);
    0x00027b88 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x00027b8c lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x00027b90 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x00027b94 addiu sp, sp, 0x38            |         
    0x00027b98 jr ra                         |         return v1;
                                             | label_8:
    0x00027b9c lw a0, 0x10(v0)               |         a0 = *((v0 + 4));
    0x00027ba0 sw a2, 0xc(v0)                |         *((v0 + 3)) = a2;
    0x00027ba4 jalr t9                       |         t9 ();
    0x00027ba8 move s2, v0                   |         s2 = v0;
    0x00027bac lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00027bb0 bnez v0, 0x27b28              |         
                                             |     } while (v0 != 0);
    0x00027bb4 lw s1, (s1)                   |     s1 = *(s1);
    0x00027bb8 lw s5, 0x10(s0)               |     s5 = *((s0 + 4));
                                             |     if (s1 != 0) {
    0x00027bbc beqz s1, 0x27c6c              |         
    0x00027bc0 lw a1, -0x7fd4(gp)            |         a1 = *(gp);
    0x00027bc4 lw t9, -0x7140(gp)            |         t9 = *(gp);
    0x00027bc8 addiu a1, a1, 0x638c          |         a1 += aav.0x0000638c;
    0x00027bcc move a0, s1                   |         a0 = s1;
    0x00027bd0 jalr t9                       |         t9 ();
    0x00027bd4 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x00027bd8 bnez v0, 0x27d44              |             goto label_11;
                                             |         }
    0x00027bdc lbu v1, (s5)                  |         v1 = *(s5);
                                             | label_2:
    0x00027be0 addiu v0, zero, 0xff          |         v0 = 0xff;
                                             |         if (v1 == v0) {
    0x00027be4 beql v1, v0, 0x27d68          |             goto label_12;
                                             |         }
    0x00027be8 lbu v1, 1(s5)                 |         v1 = *((s5 + 1));
                                             | label_1:
    0x00027bec lw a1, -0x7fd4(gp)            |         a1 = *(gp);
    0x00027bf0 lw t9, -0x7140(gp)            |         t9 = *(gp);
    0x00027bf4 addiu a1, a1, 0x6398          |         a1 += 0x6398;
    0x00027bf8 move a0, s1                   |         a0 = s1;
    0x00027bfc jalr t9                       |         t9 ();
    0x00027c00 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00027c04 bnez v0, 0x27c18              |             
    0x00027c08 lbu v1, (s5)                  |             v1 = *(s5);
    0x00027c0c addiu v0, zero, 0xfe          |             v0 = 0xfe;
                                             |             if (v1 == v0) {
    0x00027c10 beql v1, v0, 0x27d80          |                 goto label_13;
                                             |             }
    0x00027c14 lbu v1, 1(s5)                 |             v1 = *((s5 + 1));
                                             |         }
                                             | label_4:
    0x00027c18 lw a1, -0x7fd4(gp)            |         a1 = *(gp);
    0x00027c1c lw t9, -0x7140(gp)            |         t9 = *(gp);
    0x00027c20 addiu a1, a1, 0x6150          |         a1 += 0x6150;
    0x00027c24 move a0, s1                   |         a0 = s1;
    0x00027c28 jalr t9                       |         t9 ();
    0x00027c2c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x00027c30 bnez v0, 0x27c6c              |             goto label_14;
                                             |         }
    0x00027c34 lbu v1, (s5)                  |         v1 = *(s5);
    0x00027c38 addiu v0, zero, 0xef          |         v0 = 0xef;
    0x00027c3c lw v0, (s0)                   |         v0 = *(s0);
                                             |         if (v1 == v0) {
    0x00027c40 bnel v1, v0, 0x27c70          |             goto label_3;
                                             |         }
    0x00027c44 lbu v1, 1(s5)                 |         v1 = *((s5 + 1));
    0x00027c48 addiu v0, zero, 0xbb          |         v0 = 0xbb;
    0x00027c4c lw v0, (s0)                   |         v0 = *(s0);
                                             |         if (v1 == v0) {
    0x00027c50 bnel v1, v0, 0x27c70          |             goto label_3;
                                             |         }
    0x00027c54 lbu v1, 2(s5)                 |         v1 = *((s5 + 2));
    0x00027c58 addiu v0, zero, 0xbf          |         v0 = 0xbf;
    0x00027c5c lw v0, (s0)                   |         v0 = *(s0);
                                             |         if (v1 == v0) {
    0x00027c60 bnel v1, v0, 0x27c70          |             goto label_3;
                                             |         }
    0x00027c64 addiu s5, s5, 3               |         s5 += 3;
    0x00027c68 sw s5, 0x10(s0)               |         *((s0 + 4)) = s5;
                                             |     }
                                             | label_14:
    0x00027c6c lw v0, (s0)                   |     v0 = *(s0);
                                             | label_3:
    0x00027c70 lw s1, 0xc(s0)                |     s1 = *((s0 + 3));
    0x00027c74 lw t9, -0x7f40(gp)            |     t9 = *(gp);
    0x00027c78 subu s1, s5, s1               |     __asm ("subu s1, s5, s1");
    0x00027c7c lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x00027c80 move a1, s1                   |     a1 = s1;
    0x00027c84 jalr t9                       |     t9 ();
    0x00027c88 lw s5, (s0)                   |     s5 = *(s0);
    0x00027c8c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00027c90 lw v0, 0x10(s5)               |     v0 = *((s5 + 4));
    0x00027c94 lw t9, -0x6f44(gp)            |     t9 = *((gp - 7121));
    0x00027c98 lw s6, -0x7f4c(gp)            |     s6 = *((gp - 8147));
    0x00027c9c sw v0, 0x14(s5)               |     *((s5 + 5)) = v0;
    0x00027ca0 jalr t9                       |     t9 ();
    0x00027ca4 lw v1, (s0)                   |     v1 = *(s0);
    0x00027ca8 move t9, s6                   |     t9 = s6;
    0x00027cac sw v0, 0x10(s5)               |     *((s5 + 4)) = v0;
    0x00027cb0 lw a0, 0x14(v1)               |     a0 = *((v1 + 5));
    0x00027cb4 sw s1, 0x20(v1)               |     *((v1 + 8)) = s1;
    0x00027cb8 jalr t9                       |     t9 ();
    0x00027cbc lw v1, 0x20(s3)               |     v1 = *((s3 + 8));
    0x00027cc0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00027cc4 move s1, v0                   |     s1 = v0;
                                             |     if (v1 != 0) {
    0x00027cc8 bnez v1, 0x27d28              |         goto label_15;
                                             |     }
    0x00027ccc lw t9, -0x7008(gp)            |     t9 = *((gp - 7170));
    0x00027cd0 lw a0, (s0)                   |     a0 = *(s0);
    0x00027cd4 move a1, s4                   |     a1 = s4;
    0x00027cd8 jalr t9                       |     t9 ();
    0x00027cdc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00027ce0 move s4, v0                   |     s4 = v0;
                                             |     do {
    0x00027ce4 lw v0, (s0)                   |         v0 = *(s0);
    0x00027ce8 lw t9, -0x6ecc(gp)            |         t9 = *((gp - 7091));
    0x00027cec move a1, s0                   |         a1 = s0;
    0x00027cf0 lw a0, 0x10(v0)               |         a0 = *((v0 + 4));
    0x00027cf4 jalr t9                       |         t9 ();
    0x00027cf8 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (s4 < 0) {
    0x00027cfc bltz s4, 0x27dd4              |             goto label_16;
                                             |         }
    0x00027d00 lw v0, (s0)                   |         v0 = *(s0);
    0x00027d04 move t9, s6                   |         t9 = s6;
    0x00027d08 lw a0, 0x14(v0)               |         a0 = *((v0 + 5));
    0x00027d0c jalr t9                       |         t9 ();
    0x00027d10 lw v1, (s0)                   |         v1 = *(s0);
    0x00027d14 lw a0, 0x20(v1)               |         a0 = *((v1 + 8));
    0x00027d18 addu s1, s1, a0               |         s1 += a0;
    0x00027d1c subu s1, s1, v0               |         __asm ("subu s1, s1, v0");
    0x00027d20 sw s1, 0x20(v1)               |         *((v1 + 8)) = s1;
    0x00027d24 b 0x27afc                     |         goto label_0;
                                             | label_15:
    0x00027d28 lw t9, -0x6fec(gp)            |         t9 = *((gp - 7163));
    0x00027d2c lw a0, (s0)                   |         a0 = *(s0);
    0x00027d30 addiu a1, zero, 1             |         a1 = 1;
    0x00027d34 jalr t9                       |         t9 ();
    0x00027d38 move s4, v0                   |         s4 = v0;
    0x00027d3c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00027d40 b 0x27ce4                     |         
                                             |     } while (1);
                                             | label_11:
    0x00027d44 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00027d48 lw t9, -0x7140(gp)            |     t9 = *(gp);
    0x00027d4c addiu a1, a1, 0x6160          |     a1 += 0x6160;
    0x00027d50 move a0, s1                   |     a0 = s1;
    0x00027d54 jalr t9                       |     t9 ();
    0x00027d58 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00027d5c bnez v0, 0x27bec              |         goto label_1;
                                             |     }
    0x00027d60 lbu v1, (s5)                  |     v1 = *(s5);
    0x00027d64 b 0x27be0                     |     goto label_2;
                                             | label_12:
    0x00027d68 addiu v0, zero, 0xfe          |     v0 = 0xfe;
    0x00027d6c lw v0, (s0)                   |     v0 = *(s0);
                                             |     if (v1 == v0) {
    0x00027d70 bnel v1, v0, 0x27c70          |         goto label_3;
                                             |     }
    0x00027d74 addiu s5, s5, 2               |     s5 += 2;
    0x00027d78 sw s5, 0x10(s0)               |     *((s0 + 4)) = s5;
    0x00027d7c b 0x27bec                     |     goto label_1;
                                             | label_13:
    0x00027d80 addiu v0, zero, 0xff          |     v0 = 0xff;
    0x00027d84 lw v0, (s0)                   |     v0 = *(s0);
                                             |     if (v1 == v0) {
    0x00027d88 bnel v1, v0, 0x27c70          |         goto label_3;
                                             |     }
    0x00027d8c addiu s5, s5, 2               |     s5 += 2;
    0x00027d90 sw s5, 0x10(s0)               |     *((s0 + 4)) = s5;
    0x00027d94 b 0x27c18                     |     goto label_4;
                                             | label_6:
    0x00027d98 addiu s2, zero, -1            |     s2 = -1;
    0x00027d9c b 0x27afc                     |     goto label_0;
                                             | label_10:
    0x00027da0 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00027da4 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00027da8 move a2, zero                 |     a2 = 0;
    0x00027dac addiu t9, t9, 0x7960          |     t9 += aav.0x00007960;
    0x00027db0 addiu a1, a1, 0x6844          |     a1 += 0x6844;
    0x00027db4 bal 0x27960                   |     fcn_00027960 ();
    0x00027db8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00027dbc move a0, s1                   |     a0 = s1;
    0x00027dc0 lw t9, -0x7f0c(gp)            |     t9 = *((gp - 8131));
    0x00027dc4 addiu s2, zero, -1            |     s2 = -1;
    0x00027dc8 bal 0x250e8                   |     sym_xmlCharEncCloseFunc ();
    0x00027dcc lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x00027dd0 b 0x27b00                     |     goto label_5;
                                             | label_16:
    0x00027dd4 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00027dd8 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00027ddc move a2, zero                 |     a2 = 0;
    0x00027de0 addiu a1, a1, 0x6820          |     a1 += 0x6820;
    0x00027de4 addiu t9, t9, 0x7960          |     t9 += aav.0x00007960;
    0x00027de8 move a0, s3                   |     a0 = s3;
    0x00027dec bal 0x27960                   |     fcn_00027960 ();
    0x00027df0 addiu s2, zero, -1            |     s2 = -1;
    0x00027df4 b 0x27afc                     |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x4acc0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0004acc0 ()                  | void fcn_0004acc0 () {
    0x0004acc0 lui gp, 0x14                  |     
    0x0004acc4 addiu gp, gp, 0x69b0          |     
    0x0004acc8 addu gp, gp, t9               |     gp += t9;
    0x0004accc addiu sp, sp, -0x38           |     
    0x0004acd0 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x0004acd4 lw s1, (a0)                   |     s1 = *(a0);
    0x0004acd8 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0004acdc sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x0004ace0 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x0004ace4 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0004ace8 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0004acec sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x0004acf0 move s4, a1                   |     s4 = a1;
    0x0004acf4 move s3, a2                   |     s3 = a2;
    0x0004acf8 move s2, a3                   |     s2 = a3;
                                             |     if (s1 == 0) {
    0x0004acfc beqz s1, 0x4adcc              |         goto label_4;
                                             |     }
                                             | label_1:
    0x0004ad00 lw s0, 8(s1)                  |     s0 = *((s1 + 2));
    0x0004ad04 lw t9, -0x6ea4(gp)            |     t9 = *((gp - 7081));
                                             |     if (s0 == 0) {
    0x0004ad08 beqz s0, 0x4ad84              |         goto label_5;
                                             |     }
    0x0004ad0c lw v0, (s0)                   |     v0 = *(s0);
    0x0004ad10 sw v0, 8(s1)                  |     *((s1 + 2)) = v0;
    0x0004ad14 addiu a2, zero, 0x18          |     a2 = 0x18;
    0x0004ad18 move a1, zero                 |     a1 = 0;
    0x0004ad1c move a0, s0                   |     a0 = s0;
    0x0004ad20 jalr t9                       |     t9 ();
    0x0004ad24 lw v0, (s1)                   |     v0 = *(s1);
                                             |     if (v0 == 0) {
    0x0004ad28 beql v0, zero, 0x4adc4        |         goto label_6;
                                             |     }
    0x0004ad2c sw s0, (s1)                   |     *(s1) = s0;
    0x0004ad30 addiu v1, zero, -1            |     v1 = -1;
                                             |     if (s4 == v1) {
                                             |         do {
    0x0004ad34 beql s4, v1, 0x4ae24          |             goto label_7;
                                             |         }
    0x0004ad38 lw v0, 4(s1)                  |         v0 = *((s1 + 1));
    0x0004ad3c sw s0, 4(v0)                  |         *((v0 + 1)) = s0;
    0x0004ad40 sw v0, (s0)                   |         *(s0) = v0;
    0x0004ad44 sw s0, (s1)                   |         *(s1) = s0;
                                             | label_0:
    0x0004ad48 addiu v0, zero, -1            |         v0 = -1;
    0x0004ad4c sw v0, 0x10(s0)               |         *((s0 + 4)) = v0;
    0x0004ad50 lw v0, 0x48(sp)               |         v0 = *(arg_48h);
    0x0004ad54 sw s3, 8(s0)                  |         *((s0 + 2)) = s3;
    0x0004ad58 sw s2, 0xc(s0)                |         *((s0 + 3)) = s2;
    0x0004ad5c sw v0, 0x14(s0)               |         *((s0 + 5)) = v0;
                                             | label_2:
    0x0004ad60 lw ra, 0x34(sp)               |         ra = *(var_34h);
                                             | label_3:
    0x0004ad64 move v0, s0                   |         v0 = s0;
    0x0004ad68 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x0004ad6c lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x0004ad70 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x0004ad74 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x0004ad78 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x0004ad7c addiu sp, sp, 0x38            |         
    0x0004ad80 jr ra                         |         return v0;
                                             | label_5:
    0x0004ad84 lw v0, -0x716c(gp)            |         v0 = *(gp);
    0x0004ad88 lw t9, (v0)                   |         t9 = *(v0);
    0x0004ad8c addiu a0, zero, 0x18          |         a0 = 0x18;
    0x0004ad90 jalr t9                       |         t9 ();
    0x0004ad94 move s0, v0                   |         s0 = v0;
    0x0004ad98 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0004ad9c beqz v0, 0x4ae60              |             goto label_8;
                                             |         }
    0x0004ada0 lw t9, -0x6ea4(gp)            |         t9 = *((gp - 7081));
    0x0004ada4 addiu a2, zero, 0x18          |         a2 = 0x18;
    0x0004ada8 move a1, zero                 |         a1 = 0;
    0x0004adac move a0, s0                   |         a0 = s0;
    0x0004adb0 jalr t9                       |         t9 ();
    0x0004adb4 lw v0, (s1)                   |         v0 = *(s1);
    0x0004adb8 addiu v1, zero, -1            |         v1 = -1;
    0x0004adbc bnez v0, 0x4ad34              |         
                                             |     } while (v0 != 0);
    0x0004adc0 sw s0, (s1)                   |     *(s1) = s0;
                                             | label_6:
    0x0004adc4 sw s0, 4(s1)                  |     *((s1 + 1)) = s0;
    0x0004adc8 b 0x4ad48                     |     goto label_0;
                                             | label_4:
    0x0004adcc lw v0, -0x716c(gp)            |     v0 = *(gp);
    0x0004add0 move s0, a0                   |     s0 = a0;
    0x0004add4 lw t9, (v0)                   |     t9 = *(v0);
    0x0004add8 addiu a0, zero, 0xc           |     a0 = 0xc;
    0x0004addc jalr t9                       |     t9 ();
    0x0004ade0 move s1, v0                   |     s1 = v0;
    0x0004ade4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0004ade8 beqz v0, 0x4ae34              |         
    0x0004adec sb zero, (v0)                 |         *(v0) = 0;
    0x0004adf0 sb zero, 1(v0)                |         *((v0 + 1)) = 0;
    0x0004adf4 sb zero, 2(v0)                |         *((v0 + 2)) = 0;
    0x0004adf8 sb zero, 3(v0)                |         *((v0 + 3)) = 0;
    0x0004adfc sb zero, 4(v0)                |         *((v0 + 4)) = 0;
    0x0004ae00 sb zero, 5(v0)                |         *((v0 + 5)) = 0;
    0x0004ae04 sb zero, 6(v0)                |         *((v0 + 6)) = 0;
    0x0004ae08 sb zero, 7(v0)                |         *((v0 + 7)) = 0;
    0x0004ae0c sb zero, 8(v0)                |         *((v0 + 8)) = 0;
    0x0004ae10 sb zero, 9(v0)                |         *((v0 + 9)) = 0;
    0x0004ae14 sb zero, 0xa(v0)              |         *((v0 + 10)) = 0;
    0x0004ae18 sb zero, 0xb(v0)              |         *((v0 + 11)) = 0;
    0x0004ae1c sw v0, (s0)                   |         *(s0) = v0;
    0x0004ae20 b 0x4ad00                     |         goto label_1;
                                             | label_7:
    0x0004ae24 sw v0, 4(s0)                  |         *((s0 + 1)) = v0;
    0x0004ae28 sw s0, (v0)                   |         *(v0) = s0;
    0x0004ae2c sw s0, 4(s1)                  |         *((s1 + 1)) = s0;
    0x0004ae30 b 0x4ad48                     |         goto label_0;
                                             |     }
    0x0004ae34 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x0004ae38 lw t9, -0x6db8(gp)            |     t9 = *((gp - 7022));
    0x0004ae3c addiu v0, v0, -0x6a28         |     v0 += -0x6a28;
    0x0004ae40 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0004ae44 move a3, zero                 |     a3 = 0;
    0x0004ae48 move a2, zero                 |     a2 = 0;
    0x0004ae4c addiu a1, zero, 2             |     a1 = 2;
    0x0004ae50 addiu a0, zero, 2             |     a0 = 2;
    0x0004ae54 jalr t9                       |     t9 ();
    0x0004ae58 move s0, zero                 |     s0 = 0;
    0x0004ae5c b 0x4ad60                     |     goto label_2;
                                             | label_8:
    0x0004ae60 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x0004ae64 lw t9, -0x6db8(gp)            |     t9 = *((gp - 7022));
    0x0004ae68 addiu v0, v0, -0x6a0c         |     v0 += -aav.0x00006a0c;
    0x0004ae6c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0004ae70 move a3, zero                 |     a3 = 0;
    0x0004ae74 move a2, zero                 |     a2 = 0;
    0x0004ae78 addiu a1, zero, 2             |     a1 = 2;
    0x0004ae7c addiu a0, zero, 2             |     a0 = 2;
    0x0004ae80 jalr t9                       |     t9 ();
    0x0004ae84 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x0004ae88 b 0x4ad64                     |     goto label_3;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x5d9a8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0005d9a8 ()                  | void fcn_0005d9a8 () {
    0x0005d9a8 lui gp, 0x13                  |     
    0x0005d9ac addiu gp, gp, 0x3cc8          |     
    0x0005d9b0 addu gp, gp, t9               |     gp += t9;
    0x0005d9b4 addiu sp, sp, -0x28           |     
    0x0005d9b8 lw t9, -0x7b18(gp)            |     t9 = *(gp);
    0x0005d9bc sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0005d9c0 lw s1, -0x7158(gp)            |     s1 = *(gp);
    0x0005d9c4 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0005d9c8 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x0005d9cc sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0005d9d0 move s0, a0                   |     s0 = a0;
    0x0005d9d4 bal 0x5d904                   |     sym_xmlListClear ();
    0x0005d9d8 lw t9, (s1)                   |     t9 = *(s1);
    0x0005d9dc lw a0, (s0)                   |     a0 = *(s0);
    0x0005d9e0 jalr t9                       |     t9 ();
    0x0005d9e4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0005d9e8 lw t9, (s1)                   |     t9 = *(s1);
    0x0005d9ec lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x0005d9f0 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0005d9f4 move a0, s0                   |     a0 = s0;
    0x0005d9f8 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0005d9fc addiu sp, sp, 0x28            |     
    0x0005da00 jr t9                         |     t9 ();
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x5da2c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0005da2c ()                  | void fcn_0005da2c () {
    0x0005da2c lui gp, 0x13                  |     
    0x0005da30 addiu gp, gp, 0x3c44          |     
    0x0005da34 addu gp, gp, t9               |     gp += t9;
    0x0005da38 lw v0, (a1)                   |     v0 = *(a1);
    0x0005da3c addiu sp, sp, -0x30           |     
    0x0005da40 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0005da44 lw s0, (v0)                   |     s0 = *(v0);
    0x0005da48 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0005da4c sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0005da50 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0005da54 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0005da58 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0005da5c move s2, a0                   |     s2 = a0;
                                             |     if (v0 == s0) {
    0x0005da60 beq v0, s0, 0x5dac8           |         goto label_0;
                                             |     }
    0x0005da64 move s1, a1                   |     s1 = a1;
    0x0005da68 lw s3, -0x7b14(gp)            |     s3 = *(gp);
    0x0005da6c b 0x5da80                     |     
                                             |     while (v0 == 0) {
    0x0005da70 lw s0, (s0)                   |         s0 = *(s0);
    0x0005da74 lw v0, (s1)                   |         v0 = *(s1);
    0x0005da78 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
                                             |         if (s0 == v0) {
    0x0005da7c beq s0, v0, 0x5dacc           |             goto label_1;
                                             |         }
    0x0005da80 lw a1, 8(s0)                  |         a1 = *((s0 + 2));
    0x0005da84 move t9, s3                   |         t9 = s3;
    0x0005da88 move a0, s2                   |         a0 = s2;
    0x0005da8c bal 0x5d5bc                   |         sym_xmlListInsert ();
    0x0005da90 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0005da94 beqz v0, 0x5da70              |         
                                             |     }
    0x0005da98 lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
    0x0005da9c addiu t9, t9, -0x2658         |     t9 += -0x2658;
    0x0005daa0 move a0, s2                   |     a0 = s2;
    0x0005daa4 bal 0x5d9a8                   |     fcn_0005d9a8 ();
    0x0005daa8 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0005daac lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0005dab0 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0005dab4 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0005dab8 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0005dabc addiu v0, zero, 1             |     v0 = 1;
    0x0005dac0 addiu sp, sp, 0x30            |     
    0x0005dac4 jr ra                         |     return v0;
                                             | label_0:
    0x0005dac8 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             | label_1:
    0x0005dacc lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0005dad0 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0005dad4 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0005dad8 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0005dadc move v0, zero                 |     v0 = 0;
    0x0005dae0 addiu sp, sp, 0x30            |     
    0x0005dae4 jr ra                         |     return v0;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x6938c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.0006938c ()              | void fcn_0006938c () {
    0x0006938c lui gp, 0x13              |     
    0x00069390 addiu gp, gp, -0x7d1c     |     
    0x00069394 addu gp, gp, t9           |     gp += t9;
    0x00069398 addiu sp, sp, -0x58       |     
    0x0006939c sw gp, 0x48(sp)           |     *(var_28h) = gp;
    0x000693a0 sw ra, 0x54(sp)           |     *(var_34h) = ra;
    0x000693a4 move t0, a1               |     t0 = a1;
                                         |     if (a0 == 0) {
    0x000693a8 beqz a0, 0x69478          |         goto label_2;
                                         |     }
    0x000693ac lw v0, 0x1c(a0)           |     v0 = *((a0 + 7));
    0x000693b0 lui v1, 0x5432            |     v1 = 0x5432edcc;
    0x000693b4 ori v1, v1, 0xedcc        |     
    0x000693b8 addu v0, v0, v1           |     v0 += v1;
    0x000693bc sltiu v0, v0, 2           |     v0 = (v0 < 2) ? 1 : 0;
    0x000693c0 lw a1, 4(a0)              |     a1 = *((a0 + 1));
    0x000693c4 lw v1, (a0)               |     v1 = *(a0);
                                         |     if (v0 != 0) {
    0x000693c8 bnez v0, 0x69430          |         goto label_3;
                                         |     }
    0x000693cc move a0, zero             |     a0 = 0;
                                         | label_1:
    0x000693d0 lw t9, -0x6f3c(gp)        |     t9 = *(gp);
                                         |     if (a3 == 0) {
    0x000693d4 beqz a3, 0x69450          |         goto label_4;
                                         |     }
                                         |     do {
    0x000693d8 sw a3, 0x40(sp)           |         *(var_20h) = a3;
    0x000693dc sw a2, 0x3c(sp)           |         *(var_1ch) = a2;
    0x000693e0 sw zero, 0x38(sp)         |         *(var_18h) = 0;
    0x000693e4 sw zero, 0x34(sp)         |         *(var_34h_2) = 0;
    0x000693e8 sw zero, 0x30(sp)         |         *(var_10h) = 0;
    0x000693ec sw zero, 0x2c(sp)         |         *(var_2ch_2) = 0;
    0x000693f0 sw a3, 0x28(sp)           |         *(var_28h_2) = a3;
                                         | label_0:
    0x000693f4 addiu v0, zero, 2         |         v0 = 2;
    0x000693f8 sw v0, 0x1c(sp)           |         *(var_1ch_2) = v0;
    0x000693fc addiu v0, zero, 0x17      |         v0 = 0x17;
    0x00069400 sw t0, 0x18(sp)           |         *(var_18h_2) = t0;
    0x00069404 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00069408 move a3, a0               |         a3 = a0;
    0x0006940c sw zero, 0x24(sp)         |         *(var_24h_2) = 0;
    0x00069410 sw zero, 0x20(sp)         |         *(var_20h_2) = 0;
    0x00069414 sw zero, 0x10(sp)         |         *(var_10h_2) = 0;
    0x00069418 move a2, v1               |         a2 = v1;
    0x0006941c move a0, zero             |         a0 = 0;
    0x00069420 jalr t9                   |         t9 ();
    0x00069424 lw ra, 0x54(sp)           |         ra = *(var_34h);
    0x00069428 addiu sp, sp, 0x58        |         
    0x0006942c jr ra                     |         return v1;
                                         | label_3:
    0x00069430 subu a0, a0, v1           |         __asm ("subu a0, a0, v1");
    0x00069434 addiu a0, a0, -1          |         a0 += -1;
    0x00069438 sltiu a0, a0, 0xf9        |         a0 = (a0 < 0xf9) ? 1 : 0;
    0x0006943c move v0, v1               |         v0 = v1;
                                         |         if (a0 != 0) {
    0x00069440 movz v0, zero, a0         |             v0 = 0;
                                         |         }
    0x00069444 move a0, v0               |         a0 = v0;
    0x00069448 lw t9, -0x6f3c(gp)        |         t9 = *(gp);
    0x0006944c bnez a3, 0x693d8          |         
                                         |     } while (a3 != 0);
                                         | label_4:
    0x00069450 lw v0, -0x7fb0(gp)        |     v0 = *((gp - 8172));
    0x00069454 sw a2, 0x40(sp)           |     *(var_20h) = a2;
    0x00069458 addiu v0, v0, 0x47f4      |     v0 += 0x47f4;
    0x0006945c sw v0, 0x3c(sp)           |     *(var_1ch) = v0;
    0x00069460 sw zero, 0x38(sp)         |     *(var_18h) = 0;
    0x00069464 sw zero, 0x34(sp)         |     *(var_34h_2) = 0;
    0x00069468 sw zero, 0x30(sp)         |     *(var_10h) = 0;
    0x0006946c sw zero, 0x2c(sp)         |     *(var_2ch_2) = 0;
    0x00069470 sw zero, 0x28(sp)         |     *(var_28h_2) = 0;
    0x00069474 b 0x693f4                 |     goto label_0;
                                         | label_2:
    0x00069478 move v1, zero             |     v1 = 0;
    0x0006947c move a0, zero             |     a0 = 0;
    0x00069480 move a1, zero             |     a1 = 0;
    0x00069484 b 0x693d0                 |     goto label_1;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x85614 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00085614 ()                  | void fcn_00085614 () {
    0x00085614 lui gp, 0x11                  |     
    0x00085618 addiu gp, gp, -0x3fa4         |     
    0x0008561c addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x00085620 beqz a0, 0x859a0              |         goto label_10;
                                             |     }
    0x00085624 nop                           |     
    0x00085628 addiu sp, sp, -0x68           |     
    0x0008562c lw v0, (a0)                   |     v0 = *(a0);
    0x00085630 addiu v1, zero, -9            |     v1 = -9;
    0x00085634 and v0, v0, v1                |     v0 &= v1;
    0x00085638 sw s0, 0x40(sp)               |     *(var_40h) = s0;
    0x0008563c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00085640 move s0, a2                   |     s0 = a2;
    0x00085644 addiu a2, zero, 1             |     a2 = 1;
    0x00085648 sw ra, 0x64(sp)               |     *(var_64h) = ra;
    0x0008564c sw fp, 0x60(sp)               |     *(var_60h) = fp;
    0x00085650 sw s7, 0x5c(sp)               |     *(var_5ch) = s7;
    0x00085654 sw s6, 0x58(sp)               |     *(var_58h) = s6;
    0x00085658 sw s5, 0x54(sp)               |     *(var_54h) = s5;
    0x0008565c sw s4, 0x50(sp)               |     *(var_50h) = s4;
    0x00085660 sw s3, 0x4c(sp)               |     *(var_4ch) = s3;
    0x00085664 sw s2, 0x48(sp)               |     *(var_48h) = s2;
    0x00085668 sw s1, 0x44(sp)               |     *(var_44h) = s1;
                                             |     if (v0 == a2) {
    0x0008566c beq v0, a2, 0x856a8           |         goto label_11;
                                             |     }
    0x00085670 nop                           |     
                                             | label_1:
    0x00085674 move v0, zero                 |     v0 = 0;
                                             |     do {
                                             | label_0:
    0x00085678 lw ra, 0x64(sp)               |         ra = *(var_64h);
    0x0008567c lw fp, 0x60(sp)               |         fp = *(var_60h);
    0x00085680 lw s7, 0x5c(sp)               |         s7 = *(var_5ch);
    0x00085684 lw s6, 0x58(sp)               |         s6 = *(var_58h);
    0x00085688 lw s5, 0x54(sp)               |         s5 = *(var_54h);
    0x0008568c lw s4, 0x50(sp)               |         s4 = *(var_50h);
    0x00085690 lw s3, 0x4c(sp)               |         s3 = *(var_4ch);
    0x00085694 lw s2, 0x48(sp)               |         s2 = *(var_48h);
    0x00085698 lw s1, 0x44(sp)               |         s1 = *(var_44h);
    0x0008569c lw s0, 0x40(sp)               |         s0 = *(var_40h);
    0x000856a0 addiu sp, sp, 0x68            |         
    0x000856a4 jr ra                         |         return v0;
                                             | label_11:
    0x000856a8 beql a1, zero, 0x85678        |         
                                             |     } while (a1 == 0);
    0x000856ac move v0, zero                 |     v0 = 0;
    0x000856b0 lw a2, (a1)                   |     a2 = *(a1);
    0x000856b4 and v1, a2, v1                |     v1 = a2 & v1;
    0x000856b8 move v0, zero                 |     v0 = 0;
                                             |     if (v1 != v0) {
    0x000856bc bne v1, v0, 0x85678           |         goto label_0;
                                             |     }
    0x000856c0 lw v0, 4(a0)                  |     v0 = *((a0 + 1));
    0x000856c4 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
                                             |     if (v0 == 0) {
    0x000856c8 beqz v0, 0x85674              |         goto label_1;
                                             |     }
    0x000856cc lw a0, (v0)                   |     a0 = *(v0);
                                             |     if (a0 <= 0) {
    0x000856d0 blezl a0, 0x85678             |         goto label_0;
                                             |     }
    0x000856d4 move v0, zero                 |     v0 = 0;
    0x000856d8 lw fp, 4(a1)                  |     fp = *((a1 + 1));
                                             |     if (fp == 0) {
    0x000856dc beql fp, zero, 0x85678        |         goto label_0;
                                             |     }
    0x000856e0 move v0, zero                 |     v0 = 0;
    0x000856e4 lw a2, (fp)                   |     a2 = *(fp);
                                             |     if (a2 <= 0) {
    0x000856e8 blezl a2, 0x85678             |         goto label_0;
                                             |     }
    0x000856ec move v0, zero                 |     v0 = 0;
    0x000856f0 lw s1, -0x716c(gp)            |     s1 = *(gp);
                                             |     if (s0 != 0) {
    0x000856f4 bnez s0, 0x85734              |         goto label_12;
                                             |     }
    0x000856f8 lw t3, 8(fp)                  |     t3 = *(arg_8h);
    0x000856fc lw t1, 8(v0)                  |     t1 = *((v0 + 2));
    0x00085700 move t2, zero                 |     t2 = 0;
                                             | label_2:
    0x00085704 lw a3, (t1)                   |     a3 = *(t1);
    0x00085708 move v1, t3                   |     v1 = t3;
    0x0008570c move v0, zero                 |     v0 = 0;
                                             |     do {
    0x00085710 lw a1, (v1)                   |         a1 = *(v1);
    0x00085714 addiu v0, v0, 1               |         v0++;
                                             |         if (a3 == a1) {
    0x00085718 beq a3, a1, 0x85a30           |             goto label_13;
                                             |         }
    0x0008571c addiu v1, v1, 4               |         v1 += 4;
    0x00085720 bne a2, v0, 0x85710           |         
                                             |     } while (a2 != v0);
    0x00085724 addiu t2, t2, 1               |     t2++;
    0x00085728 addiu t1, t1, 4               |     t1 += 4;
                                             |     if (a0 != t2) {
    0x0008572c bne a0, t2, 0x85704           |         goto label_2;
                                             |     }
    0x00085730 lw s1, -0x716c(gp)            |     s1 = *(gp);
                                             | label_12:
    0x00085734 lw t9, (s1)                   |     t9 = *(s1);
    0x00085738 sll a0, a0, 2                 |     a0 <<= 2;
    0x0008573c jalr t9                       |     t9 ();
    0x00085740 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x00085744 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00085748 beqz v0, 0x85a7c              |         goto label_14;
                                             |     }
    0x0008574c lw v0, 0x1c(sp)               |     v0 = *(var_1ch);
    0x00085750 lw t9, (s1)                   |     t9 = *(s1);
    0x00085754 lw a0, (v0)                   |     a0 = *(v0);
    0x00085758 sll a0, a0, 2                 |     a0 <<= 2;
    0x0008575c jalr t9                       |     t9 ();
    0x00085760 sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x00085764 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00085768 beqz v0, 0x859a8              |         goto label_15;
                                             |     }
    0x0008576c lw v0, 0x1c(sp)               |     v0 = *(var_1ch);
    0x00085770 lw t9, -0x6ea4(gp)            |     t9 = *((gp - 7081));
    0x00085774 lw a0, 0x38(sp)               |     a0 = *(var_38h);
    0x00085778 lw a2, (v0)                   |     a2 = *(v0);
    0x0008577c move a1, zero                 |     a1 = 0;
    0x00085780 sll a2, a2, 2                 |     a2 <<= 2;
    0x00085784 jalr t9                       |     t9 ();
    0x00085788 lw a0, (fp)                   |     a0 = *(fp);
    0x0008578c lw t9, (s1)                   |     t9 = *(s1);
    0x00085790 sll a0, a0, 2                 |     a0 <<= 2;
    0x00085794 jalr t9                       |     t9 ();
    0x00085798 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0008579c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000857a0 beqz v0, 0x85a98              |         goto label_16;
                                             |     }
    0x000857a4 lw a0, (fp)                   |     a0 = *(fp);
    0x000857a8 lw t9, (s1)                   |     t9 = *(s1);
    0x000857ac sll a0, a0, 2                 |     a0 <<= 2;
    0x000857b0 jalr t9                       |     t9 ();
    0x000857b4 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x000857b8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000857bc beqz v0, 0x85a38              |         goto label_17;
                                             |     }
    0x000857c0 lw a2, (fp)                   |     a2 = *(fp);
    0x000857c4 lw t9, -0x6ea4(gp)            |     t9 = *((gp - 7081));
    0x000857c8 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x000857cc sll a2, a2, 2                 |     a2 <<= 2;
    0x000857d0 move a1, zero                 |     a1 = 0;
    0x000857d4 jalr t9                       |     t9 ();
    0x000857d8 lw v0, 0x1c(sp)               |     v0 = *(var_1ch);
    0x000857dc lw v0, (v0)                   |     v0 = *(v0);
    0x000857e0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 <= 0) {
    0x000857e4 blez v0, 0x85ad0              |         goto label_18;
                                             |     }
    0x000857e8 lw v0, -0x7f90(gp)            |     v0 = *((gp - 8164));
    0x000857ec lw s2, 0x38(sp)               |     s2 = *(var_38h);
    0x000857f0 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x000857f4 lw v0, -0x7928(gp)            |     v0 = *(gp);
    0x000857f8 lw s5, 0x3c(sp)               |     s5 = *(var_3ch);
    0x000857fc sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x00085800 lw v0, -0x7994(gp)            |     v0 = *(gp);
    0x00085804 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x00085808 addiu v0, v0, 0x42b8          |     v0 += 0x42b8;
    0x0008580c move s1, zero                 |     s1 = 0;
    0x00085810 sw v0, 0x18(sp)               |     *(var_18h) = v0;
                                             | label_4:
    0x00085814 lw v0, 0x1c(sp)               |     v0 = *(var_1ch);
    0x00085818 lw t9, 0x18(sp)               |     t9 = *(var_18h);
    0x0008581c lw a0, 8(v0)                  |     a0 = *((v0 + 2));
    0x00085820 sll v0, s1, 2                 |     v0 = s1 << 2;
    0x00085824 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x00085828 lwx a0, v0(a0)                |     __asm ("lwx a0, v0(a0)");
    0x0008582c jalr t9                       |     t9 ();
    0x00085830 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00085834 sw v0, (s5)                   |     *(s5) = v0;
    0x00085838 lw v0, (fp)                   |     v0 = *(fp);
    0x0008583c lw v0, 0x1c(sp)               |     v0 = *(var_1ch);
                                             |     if (v0 <= 0) {
    0x00085840 blez v0, 0x858c8              |         goto label_19;
                                             |     }
    0x00085844 lw s6, 0x34(sp)               |     s6 = *(var_34h);
    0x00085848 move s4, zero                 |     s4 = 0;
    0x0008584c move s7, zero                 |     s7 = 0;
    0x00085850 b 0x85870                     |     
                                             |     while (a0 != v0) {
    0x00085854 lw v0, 0x1c(sp)               |         v0 = *(var_1ch);
                                             |         if (s0 != 0) {
    0x00085858 bnez s0, 0x85a28              |             goto label_20;
                                             |         }
                                             | label_3:
    0x0008585c lw v0, (fp)                   |         v0 = *(fp);
    0x00085860 addiu s7, s7, 1               |         s7++;
    0x00085864 slt v0, s7, v0                |         v0 = (s7 < v0) ? 1 : 0;
    0x00085868 addiu s6, s6, 4               |         s6 += 4;
                                             |         if (v0 == 0) {
    0x0008586c beqz v0, 0x858c0              |             goto label_21;
                                             |         }
    0x00085870 sll s3, s7, 2                 |         s3 = s7 << 2;
                                             |         if (s1 == 0) {
    0x00085874 beqz s1, 0x859d8              |             goto label_22;
                                             |         }
    0x00085878 lw v0, (s6)                   |         v0 = *(s6);
                                             | label_5:
    0x0008587c lw a0, (s5)                   |         a0 = *(s5);
    0x00085880 bne a0, v0, 0x85854           |         
                                             |     }
    0x00085884 nop                           |     
    0x00085888 lw v0, (s2)                   |     v0 = *(s2);
    0x0008588c lw v0, 0x1c(sp)               |     v0 = *(var_1ch);
                                             |     if (v0 == 0) {
    0x00085890 beqz v0, 0x85a0c              |         goto label_23;
                                             |     }
                                             | label_7:
    0x00085894 lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x00085898 addu s4, v0, s3               |     s4 = v0 + s3;
    0x0008589c lw a1, (s4)                   |     a1 = *(s4);
                                             |     if (a1 == 0) {
    0x000858a0 beql a1, zero, 0x859f4        |         goto label_24;
                                             |     }
    0x000858a4 lw a0, 8(fp)                  |     a0 = *(arg_8h);
                                             | label_6:
    0x000858a8 lw t9, 0x24(sp)               |     t9 = *(var_24h);
    0x000858ac lw a0, (s2)                   |     a0 = *(s2);
    0x000858b0 jalr t9                       |     t9 ();
    0x000858b4 xor s4, s0, v0                |     s4 = s0 ^ v0;
    0x000858b8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s0 == v0) {
    0x000858bc beq s0, v0, 0x8585c           |         goto label_3;
                                             |     }
                                             | label_21:
    0x000858c0 lw v0, 0x1c(sp)               |     v0 = *(var_1ch);
                                             |     if (s4 != 0) {
    0x000858c4 bnez s4, 0x85ae0              |         goto label_25;
                                             |     }
                                             | label_19:
    0x000858c8 addiu s1, s1, 1               |     s1++;
    0x000858cc addiu s5, s5, 4               |     s5 += 4;
    0x000858d0 lw v0, (v0)                   |     v0 = *(v0);
    0x000858d4 slt v1, s1, v0                |     v1 = (s1 < v0) ? 1 : 0;
    0x000858d8 addiu s2, s2, 4               |     s2 += 4;
                                             |     if (v1 != 0) {
    0x000858dc bnez v1, 0x85814              |         goto label_4;
                                             |     }
    0x000858e0 move s0, zero                 |     s0 = 0;
                                             | label_8:
    0x000858e4 lw s1, -0x7158(gp)            |     s1 = *(gp);
    0x000858e8 lw t9, (s1)                   |     t9 = *(s1);
                                             |     if (v0 <= 0) {
    0x000858ec blez v0, 0x85930              |         goto label_9;
                                             |     }
    0x000858f0 move s2, zero                 |     s2 = 0;
                                             |     do {
    0x000858f4 lw v1, 0x28(sp)               |         v1 = *(var_28h);
    0x000858f8 addiu s2, s2, 1               |         s2++;
    0x000858fc lw v1, (v1)                   |         v1 = *(v1);
    0x00085900 move a0, v1                   |         a0 = v1;
                                             |         if (v1 != 0) {
    0x00085904 beqz v1, 0x8591c              |             
    0x00085908 jalr t9                       |             t9 ();
    0x0008590c nop                           |             
    0x00085910 lw v0, 0x1c(sp)               |             v0 = *(var_1ch);
    0x00085914 lw t9, (s1)                   |             t9 = *(s1);
    0x00085918 lw v0, (v0)                   |             v0 = *(v0);
                                             |         }
    0x0008591c lw a0, 0x28(sp)               |         a0 = *(var_28h);
    0x00085920 slt v1, s2, v0                |         v1 = (s2 < v0) ? 1 : 0;
    0x00085924 addiu a0, a0, 4               |         a0 += 4;
    0x00085928 sw a0, 0x28(sp)               |         *(var_28h) = a0;
    0x0008592c bnez v1, 0x858f4              |         
                                             |     } while (v1 != 0);
                                             | label_9:
    0x00085930 lw v1, (fp)                   |     v1 = *(fp);
    0x00085934 lw s3, 0x20(sp)               |     s3 = *(var_20h);
                                             |     if (v1 <= 0) {
    0x00085938 blez v1, 0x8596c              |         goto label_26;
                                             |     }
    0x0008593c move s2, zero                 |     s2 = 0;
                                             |     do {
    0x00085940 lw v0, (s3)                   |         v0 = *(s3);
    0x00085944 addiu s2, s2, 1               |         s2++;
    0x00085948 move a0, v0                   |         a0 = v0;
                                             |         if (v0 != 0) {
    0x0008594c beqz v0, 0x85960              |             
    0x00085950 jalr t9                       |             t9 ();
    0x00085954 nop                           |             
    0x00085958 lw v1, (fp)                   |             v1 = *(fp);
    0x0008595c lw t9, (s1)                   |             t9 = *(s1);
                                             |         }
    0x00085960 slt v0, s2, v1                |         v0 = (s2 < v1) ? 1 : 0;
    0x00085964 addiu s3, s3, 4               |         s3 += 4;
    0x00085968 bnez v0, 0x85940              |         
                                             |     } while (v0 != 0);
                                             | label_26:
    0x0008596c lw a0, 0x38(sp)               |     a0 = *(var_38h);
    0x00085970 jalr t9                       |     t9 ();
    0x00085974 lw t9, (s1)                   |     t9 = *(s1);
    0x00085978 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x0008597c jalr t9                       |     t9 ();
    0x00085980 lw t9, (s1)                   |     t9 = *(s1);
    0x00085984 lw a0, 0x3c(sp)               |     a0 = *(var_3ch);
    0x00085988 jalr t9                       |     t9 ();
    0x0008598c lw t9, (s1)                   |     t9 = *(s1);
    0x00085990 lw a0, 0x34(sp)               |     a0 = *(var_34h);
    0x00085994 jalr t9                       |     t9 ();
    0x00085998 move v0, s0                   |     v0 = s0;
    0x0008599c b 0x85678                     |     goto label_0;
                                             | label_10:
    0x000859a0 move v0, zero                 |     v0 = 0;
    0x000859a4 jr ra                         |     return v0;
                                             | label_15:
    0x000859a8 lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x000859ac lw t9, -0x7994(gp)            |     t9 = *(gp);
    0x000859b0 addiu t9, t9, 0x4de8          |     t9 += 0x4de8;
    0x000859b4 addiu a0, a0, 0x1050          |     a0 += 0x1050;
    0x000859b8 bal 0x84de8                   |     fcn_00084de8 ();
    0x000859bc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000859c0 lw v0, -0x7158(gp)            |     v0 = *(gp);
    0x000859c4 lw t9, (v0)                   |     t9 = *(v0);
    0x000859c8 lw a0, 0x38(sp)               |     a0 = *(var_38h);
    0x000859cc jalr t9                       |     t9 ();
    0x000859d0 move v0, zero                 |     v0 = 0;
    0x000859d4 b 0x85678                     |     goto label_0;
                                             | label_22:
    0x000859d8 lw a0, 8(fp)                  |     a0 = *(arg_8h);
    0x000859dc lw t9, 0x18(sp)               |     t9 = *(var_18h);
    0x000859e0 lwx a0, s3(a0)                |     __asm ("lwx a0, s3(a0)");
    0x000859e4 jalr t9                       |     t9 ();
    0x000859e8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000859ec sw v0, (s6)                   |     *(s6) = v0;
    0x000859f0 b 0x8587c                     |     goto label_5;
                                             | label_24:
    0x000859f4 lw t9, 0x30(sp)               |     t9 = *(var_30h);
    0x000859f8 lwx a0, s3(a0)                |     __asm ("lwx a0, s3(a0)");
    0x000859fc jalr t9                       |     t9 ();
    0x00085a00 move a1, v0                   |     a1 = v0;
    0x00085a04 sw v0, (s4)                   |     *(s4) = v0;
    0x00085a08 b 0x858a8                     |     goto label_6;
                                             | label_23:
    0x00085a0c lw t9, 0x30(sp)               |     t9 = *(var_30h);
    0x00085a10 lw a0, 8(v0)                  |     a0 = *((v0 + 2));
    0x00085a14 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00085a18 lwx a0, v0(a0)                |     __asm ("lwx a0, v0(a0)");
    0x00085a1c jalr t9                       |     t9 ();
    0x00085a20 sw v0, (s2)                   |     *(s2) = v0;
    0x00085a24 b 0x85894                     |     goto label_7;
                                             | label_20:
    0x00085a28 lw v0, (v0)                   |     v0 = *(v0);
    0x00085a2c b 0x858e4                     |     goto label_8;
                                             | label_13:
    0x00085a30 addiu v0, zero, 1             |     v0 = 1;
    0x00085a34 b 0x85678                     |     goto label_0;
                                             | label_17:
    0x00085a38 lw s0, -0x7158(gp)            |     s0 = *(gp);
    0x00085a3c lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x00085a40 lw t9, -0x7994(gp)            |     t9 = *(gp);
    0x00085a44 addiu t9, t9, 0x4de8          |     t9 += 0x4de8;
    0x00085a48 addiu a0, a0, 0x1050          |     a0 += 0x1050;
    0x00085a4c bal 0x84de8                   |     fcn_00084de8 ();
    0x00085a50 lw t9, (s0)                   |     t9 = *(s0);
    0x00085a54 lw a0, 0x3c(sp)               |     a0 = *(var_3ch);
    0x00085a58 jalr t9                       |     t9 ();
    0x00085a5c lw t9, (s0)                   |     t9 = *(s0);
    0x00085a60 lw a0, 0x38(sp)               |     a0 = *(var_38h);
    0x00085a64 jalr t9                       |     t9 ();
    0x00085a68 lw t9, (s0)                   |     t9 = *(s0);
    0x00085a6c lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x00085a70 jalr t9                       |     t9 ();
    0x00085a74 move v0, zero                 |     v0 = 0;
    0x00085a78 b 0x85678                     |     goto label_0;
                                             | label_14:
    0x00085a7c lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x00085a80 lw t9, -0x7994(gp)            |     t9 = *(gp);
    0x00085a84 addiu t9, t9, 0x4de8          |     t9 += 0x4de8;
    0x00085a88 addiu a0, a0, 0x1050          |     a0 += 0x1050;
    0x00085a8c bal 0x84de8                   |     fcn_00084de8 ();
    0x00085a90 move v0, zero                 |     v0 = 0;
    0x00085a94 b 0x85678                     |     goto label_0;
                                             | label_16:
    0x00085a98 lw s0, -0x7158(gp)            |     s0 = *(gp);
    0x00085a9c lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x00085aa0 lw t9, -0x7994(gp)            |     t9 = *(gp);
    0x00085aa4 addiu t9, t9, 0x4de8          |     t9 += 0x4de8;
    0x00085aa8 addiu a0, a0, 0x1050          |     a0 += 0x1050;
    0x00085aac bal 0x84de8                   |     fcn_00084de8 ();
    0x00085ab0 lw t9, (s0)                   |     t9 = *(s0);
    0x00085ab4 lw a0, 0x3c(sp)               |     a0 = *(var_3ch);
    0x00085ab8 jalr t9                       |     t9 ();
    0x00085abc lw t9, (s0)                   |     t9 = *(s0);
    0x00085ac0 lw a0, 0x38(sp)               |     a0 = *(var_38h);
    0x00085ac4 jalr t9                       |     t9 ();
    0x00085ac8 move v0, zero                 |     v0 = 0;
    0x00085acc b 0x85678                     |     goto label_0;
                                             | label_18:
    0x00085ad0 lw s1, -0x7158(gp)            |     s1 = *(gp);
    0x00085ad4 move s0, zero                 |     s0 = 0;
    0x00085ad8 lw t9, (s1)                   |     t9 = *(s1);
    0x00085adc b 0x85930                     |     goto label_9;
                                             | label_25:
    0x00085ae0 move s0, s4                   |     s0 = s4;
    0x00085ae4 lw v0, (v0)                   |     v0 = *(v0);
    0x00085ae8 b 0x858e4                     |     goto label_8;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x90834 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00090834 ()              | void fcn_00090834 () {
    0x00090834 lui gp, 0x10              |     
    0x00090838 addiu gp, gp, 0xe3c       |     
    0x0009083c addu gp, gp, t9           |     gp += t9;
    0x00090840 addiu sp, sp, -0x48       |     
    0x00090844 lw v0, (a1)               |     v0 = *(a1);
    0x00090848 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x0009084c sltiu v1, v0, 9           |     v1 = (v0 < 9) ? 1 : 0;
    0x00090850 sw s2, 0x28(sp)           |     *(var_18h) = s2;
    0x00090854 sw s1, 0x24(sp)           |     *(var_24h_2) = s1;
    0x00090858 sw s0, 0x20(sp)           |     *(var_20h_2) = s0;
    0x0009085c sw ra, 0x44(sp)           |     *(var_34h) = ra;
    0x00090860 sw fp, 0x40(sp)           |     *(var_30h) = fp;
    0x00090864 sw s7, 0x3c(sp)           |     *(var_2ch) = s7;
    0x00090868 sw s6, 0x38(sp)           |     *(var_28h) = s6;
    0x0009086c sw s5, 0x34(sp)           |     *(var_24h) = s5;
    0x00090870 sw s4, 0x30(sp)           |     *(var_20h) = s4;
    0x00090874 sw s3, 0x2c(sp)           |     *(var_2ch_2) = s3;
    0x00090878 move s0, a1               |     s0 = a1;
    0x0009087c move s1, a0               |     s1 = a0;
    0x00090880 move s2, a2               |     s2 = a2;
                                         |     if (v1 == 0) {
    0x00090884 beqz v1, 0x90ae4          |         goto label_0;
                                         |     }
    0x00090888 sll v1, v0, 2             |     v1 = v0 << 2;
    0x0009088c lw v0, -0x7f94(gp)        |     v0 = *((gp - 8165));
    0x00090890 addiu v0, v0, 0xc68       |     v0 += 0xc68;
    0x00090894 lwx v0, v1(v0)            |     __asm ("lwx v0, v1(v0)");
    0x00090898 addu v0, v0, gp           |     v0 += gp;
    0x0009089c jr v0                     |     v0 ();
    0x000908a0 nop                       |     
                                         |     do {
    0x00090960 move a1, s0               |         a1 = s0;
    0x00090964 lw s0, -0x78d0(gp)        |         s0 = *(gp);
    0x00090968 addiu s0, s0, -0x39f0     |         s0 += -0x39f0;
    0x0009096c move t9, s0               |         t9 = s0;
    0x00090970 lw a0, 0xc(s1)            |         a0 = *((s1 + 3));
    0x00090974 bal 0x8c610               |         fcn_0008c610 ();
    0x00090978 lw a0, 0xc(s1)            |         a0 = *((s1 + 3));
    0x0009097c move t9, s0               |         t9 = s0;
    0x00090980 move a1, s2               |         a1 = s2;
    0x00090984 bal 0x8c610               |         fcn_0008c610 ();
    0x00090988 lw ra, 0x44(sp)           |         ra = *(var_34h);
    0x0009098c move v0, s3               |         v0 = s3;
    0x00090990 lw fp, 0x40(sp)           |         fp = *(var_30h);
    0x00090994 lw s7, 0x3c(sp)           |         s7 = *(var_2ch);
    0x00090998 lw s6, 0x38(sp)           |         s6 = *(var_28h);
    0x0009099c lw s5, 0x34(sp)           |         s5 = *(var_24h);
    0x000909a0 lw s4, 0x30(sp)           |         s4 = *(var_20h);
    0x000909a4 lw s3, 0x2c(sp)           |         s3 = *(var_2ch_2);
    0x000909a8 lw s2, 0x28(sp)           |         s2 = *(var_18h);
    0x000909ac lw s1, 0x24(sp)           |         s1 = *(var_24h_2);
    0x000909b0 lw s0, 0x20(sp)           |         s0 = *(var_20h_2);
    0x000909b4 addiu sp, sp, 0x48        |         
    0x000909b8 jr ra                     |         return v0;
                                         | label_0:
    0x00090ae4 move s3, zero             |         s3 = 0;
    0x00090ae8 b 0x90960                 |         
                                         |     } while (1);
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xa8140 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000a8140 ()                  | void fcn_000a8140 () {
    0x000a8140 lui gp, 0xf                   |     
    0x000a8144 addiu gp, gp, -0x6ad0         |     
    0x000a8148 addu gp, gp, t9               |     gp += t9;
    0x000a814c addiu sp, sp, -0x30           |     
    0x000a8150 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x000a8154 move s0, a0                   |     s0 = a0;
    0x000a8158 lw a0, (a0)                   |     a0 = *(a0);
    0x000a815c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000a8160 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x000a8164 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x000a8168 sw s4, 0x28(sp)               |     *(var_28h) = s4;
    0x000a816c sw s3, 0x24(sp)               |     *(var_24h) = s3;
    0x000a8170 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x000a8174 move s1, a1                   |     s1 = a1;
                                             |     if (a0 != 0) {
    0x000a8178 beqz a0, 0xa8194              |         
    0x000a817c lw v0, -0x7158(gp)            |         v0 = *(gp);
    0x000a8180 lw t9, (v0)                   |         t9 = *(v0);
    0x000a8184 jalr t9                       |         t9 ();
    0x000a8188 nop                           |         
    0x000a818c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000a8190 sw zero, (s0)                 |         *(s0) = 0;
                                             |     }
    0x000a8194 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x000a8198 lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             |     if (a0 != 0) {
    0x000a819c beqz a0, 0xa81b4              |         
    0x000a81a0 lw t9, (v0)                   |         t9 = *(v0);
    0x000a81a4 jalr t9                       |         t9 ();
    0x000a81a8 nop                           |         
    0x000a81ac lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000a81b0 sw zero, 4(s0)                |         *((s0 + 1)) = 0;
                                             |     }
    0x000a81b4 lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
    0x000a81b8 lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             |     if (a0 != 0) {
    0x000a81bc beqz a0, 0xa81d4              |         
    0x000a81c0 lw t9, (v0)                   |         t9 = *(v0);
    0x000a81c4 jalr t9                       |         t9 ();
    0x000a81c8 nop                           |         
    0x000a81cc lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000a81d0 sw zero, 0xc(s0)              |         *((s0 + 3)) = 0;
                                             |     }
    0x000a81d4 lw t9, -0x76d0(gp)            |     t9 = *((gp - 7604));
                                             |     if (s1 == 0) {
    0x000a81d8 beqz s1, 0xa82cc              |         goto label_0;
                                             |     }
    0x000a81dc move a0, s1                   |     a0 = s1;
    0x000a81e0 addiu a1, zero, 1             |     a1 = 1;
    0x000a81e4 jalr t9                       |     t9 ();
    0x000a81e8 move s1, v0                   |     s1 = v0;
    0x000a81ec lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000a81f0 beqz v0, 0xa82cc              |         goto label_0;
                                             |     }
    0x000a81f4 lw a0, (v0)                   |     a0 = *(v0);
    0x000a81f8 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             |     if (a0 == 0) {
    0x000a81fc beqz a0, 0xa82a8              |         goto label_1;
                                             |     }
    0x000a8200 lw v0, 0xc(v0)                |     v0 = *((v0 + 3));
    0x000a8204 lw s2, -0x6e34(gp)            |     s2 = *(gp);
                                             |     if (v0 == 0) {
    0x000a8208 beqz v0, 0xa82a8              |         goto label_1;
                                             |     }
    0x000a820c lw t9, (s2)                   |     t9 = *(s2);
    0x000a8210 jalr t9                       |     t9 ();
    0x000a8214 nop                           |     
    0x000a8218 lw t9, (s2)                   |     t9 = *(s2);
    0x000a821c lw a0, 0xc(s1)                |     a0 = *((s1 + 3));
    0x000a8220 sw v0, (s0)                   |     *(s0) = v0;
    0x000a8224 jalr t9                       |     t9 ();
    0x000a8228 lw a0, 0x18(s1)               |     a0 = *((s1 + 6));
    0x000a822c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000a8230 sw v0, 4(s0)                  |     *((s0 + 1)) = v0;
    0x000a8234 lw t9, (s2)                   |     t9 = *(s2);
    0x000a8238 beqz a0, 0xa8328              |     
                                             |     while (1) {
    0x000a823c jalr t9                       |         t9 ();
    0x000a8240 nop                           |         
    0x000a8244 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000a8248 sw v0, 0xc(s0)                |         *((s0 + 3)) = v0;
    0x000a824c lw v0, 0x14(s1)               |         v0 = *((s1 + 5));
    0x000a8250 sw v0, 8(s0)                  |         *((s0 + 2)) = v0;
                                             |         if (v0 != 0) {
    0x000a8254 bnel v0, zero, 0xa8258        |             
                                             |         }
    0x000a8258 lw s3, 0x10(s1)               |         s3 = *((s1 + 4));
    0x000a825c lw t9, -0x6e68(gp)            |         t9 = *((gp - 7066));
                                             |         if (s3 != 0) {
    0x000a8260 beqz s3, 0xa82a4              |             
    0x000a8264 addiu a1, zero, 0x3a          |             a1 = 0x3a;
    0x000a8268 move a0, s3                   |             a0 = s3;
    0x000a826c jalr t9                       |             t9 ();
    0x000a8270 move s4, v0                   |             s4 = v0;
    0x000a8274 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |             if (v0 == 0) {
    0x000a8278 beqz v0, 0xa82ec              |                 goto label_2;
                                             |             }
    0x000a827c lw t9, -0x7fc8(gp)            |             t9 = *(gp);
    0x000a8280 subu a1, v0, s3               |             __asm ("subu a1, v0, s3");
    0x000a8284 move a0, s3                   |             a0 = s3;
    0x000a8288 bal 0xb7bb8                   |             sym_xmlStrndup ();
    0x000a828c lw t9, (s2)                   |             t9 = *(s2);
    0x000a8290 sw v0, 0x10(s0)               |             *((s0 + 4)) = v0;
    0x000a8294 addiu a0, s4, 1               |             a0 = s4 + 1;
    0x000a8298 jalr t9                       |             t9 ();
    0x000a829c lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x000a82a0 sw v0, 0x14(s0)               |             *((s0 + 5)) = v0;
                                             |         }
    0x000a82a4 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
                                             | label_1:
    0x000a82a8 lw s4, 0x28(sp)               |         s4 = *(var_28h);
    0x000a82ac lw s3, 0x24(sp)               |         s3 = *(var_24h);
    0x000a82b0 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x000a82b4 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x000a82b8 move a0, s1                   |         a0 = s1;
    0x000a82bc lw t9, -0x7da8(gp)            |         t9 = *(gp);
    0x000a82c0 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x000a82c4 addiu sp, sp, 0x30            |         
    0x000a82c8 jr t9                         |         t9 ();
                                             | label_0:
    0x000a82cc lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x000a82d0 lw s4, 0x28(sp)               |         s4 = *(var_28h);
    0x000a82d4 lw s3, 0x24(sp)               |         s3 = *(var_24h);
    0x000a82d8 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x000a82dc lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x000a82e0 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x000a82e4 addiu sp, sp, 0x30            |         
    0x000a82e8 jr ra                         |         return v0;
                                             | label_2:
    0x000a82ec lw t9, (s2)                   |         t9 = *(s2);
    0x000a82f0 move a0, s3                   |         a0 = s3;
    0x000a82f4 jalr t9                       |         t9 ();
    0x000a82f8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000a82fc lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x000a8300 sw v0, 0x10(s0)               |         *((s0 + 4)) = v0;
    0x000a8304 lw s4, 0x28(sp)               |         s4 = *(var_28h);
    0x000a8308 lw s3, 0x24(sp)               |         s3 = *(var_24h);
    0x000a830c lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x000a8310 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x000a8314 move a0, s1                   |         a0 = s1;
    0x000a8318 lw t9, -0x7da8(gp)            |         t9 = *(gp);
    0x000a831c lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x000a8320 addiu sp, sp, 0x30            |         
    0x000a8324 jr t9                         |         t9 ();
    0x000a8328 lw a0, -0x7f94(gp)            |         a0 = *((gp - 8165));
    0x000a832c addiu a0, a0, 0x2384          |         a0 += aav.0x00002384;
    0x000a8330 b 0xa823c                     |         
                                             |     }
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb9240 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000b9240 ()                  | void fcn_000b9240 () {
    0x000b9240 lui gp, 0xe                   |     
    0x000b9244 addiu gp, gp, -0x7bd0         |     
    0x000b9248 addu gp, gp, t9               |     gp += t9;
    0x000b924c lw v1, 8(a0)                  |     v1 = *((a0 + 2));
    0x000b9250 lw v0, 0x18(a0)               |     v0 = *((a0 + 6));
    0x000b9254 lui v0, 0x7fff                |     v0 = 0x7fff0000;
                                             |     if (v0 != v1) {
    0x000b9258 beq v0, v1, 0xb926c           |         
    0x000b925c ori v0, v0, 0xffff            |         v0 |= 0xffff;
    0x000b9260 sltu v0, v1, v0               |         v0 = (v1 < v0) ? 1 : 0;
    0x000b9264 sw v1, 0x18(a0)               |         *((a0 + 6)) = v1;
                                             |         if (v0 == 0) {
    0x000b9268 bnel v0, zero, 0xb926c        |             goto label_3;
                                             |         }
                                             |     }
                                             | label_3:
    0x000b926c lw v1, 4(a0)                  |     v1 = *((a0 + 1));
    0x000b9270 lw v0, 0x14(a0)               |     v0 = *((a0 + 5));
    0x000b9274 lui v0, 0x7fff                |     v0 = 0x7fff0000;
                                             |     if (v0 != v1) {
    0x000b9278 beq v0, v1, 0xb928c           |         
    0x000b927c ori v0, v0, 0xffff            |         v0 |= 0xffff;
    0x000b9280 sltu v0, v1, v0               |         v0 = (v1 < v0) ? 1 : 0;
    0x000b9284 lw a2, 0xc(a0)                |         a2 = *((a0 + 3));
                                             |         if (v0 == 0) {
    0x000b9288 bnel v0, zero, 0xb9354        |             goto label_4;
                                             |         }
                                             |     }
    0x000b928c lw a2, 0xc(a0)                |     a2 = *((a0 + 3));
    0x000b9290 addiu v0, zero, 2             |     v0 = 2;
                                             |     if (a2 == v0) {
    0x000b9294 beq a2, v0, 0xb9360           |         goto label_5;
                                             |     }
    0x000b9298 nop                           |     
                                             |     do {
    0x000b929c lw v0, 0x14(a0)               |         v0 = *((a0 + 5));
    0x000b92a0 lw v1, 0x18(a0)               |         v1 = *((a0 + 6));
    0x000b92a4 addu a3, v0, a1               |         a3 = v0 + a1;
    0x000b92a8 sltu t0, a3, v1               |         t0 = (a3 < v1) ? 1 : 0;
                                             |         if (t0 != 0) {
    0x000b92ac bnez t0, 0xb93a8              |             goto label_6;
                                             |         }
    0x000b92b0 nop                           |         
    0x000b92b4 addiu sp, sp, -0x28           |         
    0x000b92b8 sltu a1, a1, v1               |         a1 = (a1 < v1) ? 1 : 0;
    0x000b92bc sw gp, 0x10(sp)               |         *(var_10h) = gp;
    0x000b92c0 sw ra, 0x24(sp)               |         *(var_24h) = ra;
    0x000b92c4 sw s2, 0x20(sp)               |         *(var_20h) = s2;
    0x000b92c8 sw s1, 0x1c(sp)               |         *(var_1ch) = s1;
    0x000b92cc sw s0, 0x18(sp)               |         *(var_18h) = s0;
    0x000b92d0 addiu v0, zero, 5             |         v0 = 5;
                                             |         if (a1 != 0) {
    0x000b92d4 bnez a1, 0xb9368              |             goto label_7;
                                             |         }
    0x000b92d8 addiu s1, a3, 0x64            |         s1 = a3 + 0x64;
    0x000b92dc move s0, a0                   |         s0 = a0;
                                             |         if (a2 == v0) {
    0x000b92e0 beq a2, v0, 0xb9374           |             goto label_8;
                                             |         }
                                             | label_0:
    0x000b92e4 lw v1, -0x6e24(gp)            |         v1 = *(gp);
    0x000b92e8 addiu v0, zero, 3             |         v0 = 3;
    0x000b92ec lw a0, (a0)                   |         a0 = *(a0);
    0x000b92f0 lw t9, (v1)                   |         t9 = *(v1);
                                             |         if (a2 == v0) {
    0x000b92f4 beq a2, v0, 0xb93b0           |             goto label_9;
                                             |         }
                                             | label_1:
    0x000b92f8 move a1, s1                   |         a1 = s1;
    0x000b92fc jalr t9                       |         t9 ();
    0x000b9300 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x000b9304 beqz v0, 0xb9414              |             goto label_10;
                                             |         }
    0x000b9308 sw v0, (s0)                   |         *(s0) = v0;
                                             | label_2:
    0x000b930c lw v0, 0x14(s0)               |         v0 = *((s0 + 5));
    0x000b9310 lui v1, 0x7fff                |         v1 = 0x7fffffff;
    0x000b9314 ori v1, v1, 0xffff            |         
    0x000b9318 sltu a1, s1, v1               |         a1 = (s1 < v1) ? 1 : 0;
    0x000b931c sltu a0, v0, v1               |         a0 = (v0 < v1) ? 1 : 0;
    0x000b9320 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x000b9324 move a2, s1                   |         a2 = s1;
                                             |         if (a1 != 0) {
    0x000b9328 movz a2, v1, a1               |             a2 = v1;
                                             |         }
                                             |         if (a0 == 0) {
    0x000b932c movn v1, v0, a0               |             v1 = v0;
                                             |         }
    0x000b9330 sw s1, 0x18(s0)               |         *((s0 + 6)) = s1;
    0x000b9334 sw a2, 8(s0)                  |         *((s0 + 2)) = a2;
    0x000b9338 sw v1, 4(s0)                  |         *((s0 + 1)) = v1;
    0x000b933c subu v0, s1, v0               |         __asm ("subu v0, s1, v0");
    0x000b9340 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x000b9344 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x000b9348 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x000b934c addiu sp, sp, 0x28            |         
    0x000b9350 jr ra                         |         return v0;
                                             | label_4:
    0x000b9354 addiu v0, zero, 2             |         v0 = 2;
    0x000b9358 sw v1, 0x14(a0)               |         *((a0 + 5)) = v1;
    0x000b935c bne a2, v0, 0xb929c           |         
                                             |     } while (a2 != v0);
                                             | label_5:
    0x000b9360 move v0, zero                 |     v0 = 0;
    0x000b9364 jr ra                         |     return v0;
                                             | label_7:
    0x000b9368 sll s1, v1, 1                 |     s1 = v1 << 1;
    0x000b936c move s0, a0                   |     s0 = a0;
                                             |     if (a2 != v0) {
    0x000b9370 bne a2, v0, 0xb92e4           |         goto label_0;
                                             |     }
                                             | label_8:
    0x000b9374 lui a0, 0x98                  |     a0 = 0x980000;
    0x000b9378 ori a0, a0, 0x9680            |     
    0x000b937c sltu a3, a3, a0               |     a3 = (a3 < a0) ? 1 : 0;
    0x000b9380 sltu v0, v1, a0               |     v0 = (v1 < a0) ? 1 : 0;
                                             |     if (a3 == 0) {
    0x000b9384 beqz a3, 0xb93e0              |         goto label_11;
                                             |     }
    0x000b9388 addiu v0, a0, 1               |     v0 = a0 + 1;
                                             |     if (v0 == 0) {
    0x000b938c beqz v0, 0xb93e0              |         goto label_11;
                                             |     }
    0x000b9390 sltu v0, s1, v0               |     v0 = (s1 < v0) ? 1 : 0;
                                             |     if (v0 != 0) {
    0x000b9394 movz s1, a0, v0               |         s1 = a0;
                                             |     }
    0x000b9398 lw v0, -0x6e24(gp)            |     v0 = *(gp);
    0x000b939c lw a0, (s0)                   |     a0 = *(s0);
    0x000b93a0 lw t9, (v0)                   |     t9 = *(v0);
    0x000b93a4 b 0xb92f8                     |     goto label_1;
                                             | label_6:
    0x000b93a8 subu v0, v1, v0               |     __asm ("subu v0, v1, v0");
    0x000b93ac jr ra                         |     return v0;
                                             | label_9:
    0x000b93b0 lw v0, 0x10(s0)               |     v0 = *((s0 + 4));
    0x000b93b4 subu s2, a0, v0               |     __asm ("subu s2, a0, v0");
                                             |     if (v0 == 0) {
    0x000b93b8 beqz v0, 0xb92f8              |         goto label_1;
                                             |     }
    0x000b93bc addu a1, s1, s2               |     a1 = s1 + s2;
    0x000b93c0 move a0, v0                   |     a0 = v0;
    0x000b93c4 jalr t9                       |     t9 ();
    0x000b93c8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000b93cc beqz v0, 0xb9414              |         goto label_10;
                                             |     }
    0x000b93d0 addu a0, v0, s2               |     a0 = v0 + s2;
    0x000b93d4 sw v0, 0x10(s0)               |     *((s0 + 4)) = v0;
    0x000b93d8 sw a0, (s0)                   |     *(s0) = a0;
    0x000b93dc b 0xb930c                     |     goto label_2;
                                             | label_11:
    0x000b93e0 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x000b93e4 addiu a1, a1, 0x3920          |     a1 += 0x3920;
                                             |     do {
    0x000b93e8 lw t9, -0x7614(gp)            |         t9 = *((gp - 7557));
    0x000b93ec addiu t9, t9, -0x6e90         |         t9 += -0x6e90;
    0x000b93f0 move a0, s0                   |         a0 = s0;
    0x000b93f4 bal 0xb9170                   |         fcn_000b9170 ();
    0x000b93f8 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x000b93fc lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x000b9400 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x000b9404 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x000b9408 move v0, zero                 |         v0 = 0;
    0x000b940c addiu sp, sp, 0x28            |         
    0x000b9410 jr ra                         |         return v0;
                                             | label_10:
    0x000b9414 lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b9418 addiu a1, a1, -0x670c         |         a1 += -0x670c;
    0x000b941c b 0xb93e8                     |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xbd9a4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000bd9a4 ()                  | void fcn_000bd9a4 () {
    0x000bd9a4 lui gp, 0xd                   |     
    0x000bd9a8 addiu gp, gp, 0x3ccc          |     
    0x000bd9ac addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x000bd9b0 beqz a0, 0xbdaec              |         goto label_0;
                                             |     }
    0x000bd9b4 nop                           |     
    0x000bd9b8 addiu sp, sp, -0x30           |     
    0x000bd9bc sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000bd9c0 move s0, a0                   |     s0 = a0;
    0x000bd9c4 lw a0, (a0)                   |     a0 = *(a0);
    0x000bd9c8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000bd9cc sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x000bd9d0 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x000bd9d4 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x000bd9d8 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x000bd9dc lw s2, -0x7158(gp)            |     s2 = *(gp);
                                             |     if (a0 != 0) {
    0x000bd9e0 beqz a0, 0xbd9f4              |         
    0x000bd9e4 lw t9, (s2)                   |         t9 = *(s2);
    0x000bd9e8 jalr t9                       |         t9 ();
    0x000bd9ec nop                           |         
    0x000bd9f0 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |     }
    0x000bd9f4 lw a0, 0x34(s0)               |     a0 = *((s0 + 13));
                                             |     if (a0 == 0) {
    0x000bd9f8 beql a0, zero, 0xbda50        |         goto label_1;
                                             |     }
    0x000bd9fc lw v1, 0x28(s0)               |     v1 = *((s0 + 10));
    0x000bda00 lw v0, 0x30(s0)               |     v0 = *((s0 + 12));
                                             |     if (v0 <= 0) {
    0x000bda04 blezl v0, 0xbda40             |         goto label_2;
                                             |     }
    0x000bda08 lw t9, (s2)                   |     t9 = *(s2);
    0x000bda0c lw s3, -0x7614(gp)            |     s3 = *((gp - 7557));
    0x000bda10 move s1, zero                 |     s1 = 0;
    0x000bda14 addiu s3, s3, -0x4c00         |     s3 += -0x4c00;
                                             |     do {
    0x000bda18 sll v0, s1, 2                 |         v0 = s1 << 2;
    0x000bda1c move t9, s3                   |         t9 = s3;
    0x000bda20 lwx a0, v0(a0)                |         __asm ("lwx a0, v0(a0)");
    0x000bda24 addiu s1, s1, 1               |         s1++;
    0x000bda28 bal 0xbb400                   |         fcn_000bb400 ();
    0x000bda2c lw v0, 0x30(s0)               |         v0 = *((s0 + 12));
    0x000bda30 slt v0, s1, v0                |         v0 = (s1 < v0) ? 1 : 0;
    0x000bda34 lw a0, 0x34(s0)               |         a0 = *((s0 + 13));
    0x000bda38 bnez v0, 0xbda18              |         
                                             |     } while (v0 != 0);
    0x000bda3c lw t9, (s2)                   |     t9 = *(s2);
                                             | label_2:
    0x000bda40 jalr t9                       |     t9 ();
    0x000bda44 nop                           |     
    0x000bda48 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000bda4c lw v1, 0x28(s0)               |     v1 = *((s0 + 10));
                                             |     if (v1 == 0) {
                                             | label_1:
    0x000bda50 beql v1, zero, 0xbdab4        |         goto label_3;
                                             |     }
    0x000bda54 lw a0, 0x40(s0)               |     a0 = *((s0 + 16));
    0x000bda58 lw a1, 0x24(s0)               |     a1 = *((s0 + 9));
    0x000bda5c lw s3, -0x7614(gp)            |     s3 = *((gp - 7557));
                                             |     if (a1 <= 0) {
    0x000bda60 blez a1, 0xbdaa0              |         goto label_4;
                                             |     }
    0x000bda64 move s1, zero                 |     s1 = 0;
    0x000bda68 addiu s3, s3, -0x27c4         |     s3 += -0x27c4;
    0x000bda6c sll v0, s1, 2                 |     v0 = s1 << 2;
                                             |     do {
    0x000bda70 addiu s1, s1, 1               |         s1++;
    0x000bda74 lwx v0, v0(v1)                |         __asm ("lwx v0, v0(v1)");
    0x000bda78 move a0, v0                   |         a0 = v0;
                                             |         if (v0 != 0) {
    0x000bda7c beqz v0, 0xbda94              |             
    0x000bda80 move t9, s3                   |             t9 = s3;
    0x000bda84 bal 0xbd83c                   |             fcn_000bd83c ();
    0x000bda88 nop                           |             
    0x000bda8c lw a1, 0x24(s0)               |             a1 = *((s0 + 9));
    0x000bda90 lw v1, 0x28(s0)               |             v1 = *((s0 + 10));
                                             |         }
    0x000bda94 slt v0, s1, a1                |         v0 = (s1 < a1) ? 1 : 0;
    0x000bda98 sll v0, s1, 2                 |         v0 = s1 << 2;
    0x000bda9c bnez v0, 0xbda70              |         
                                             |     } while (v0 != 0);
                                             | label_4:
    0x000bdaa0 lw t9, (s2)                   |     t9 = *(s2);
    0x000bdaa4 move a0, v1                   |     a0 = v1;
    0x000bdaa8 jalr t9                       |     t9 ();
    0x000bdaac lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000bdab0 lw a0, 0x40(s0)               |     a0 = *((s0 + 16));
                                             | label_3:
    0x000bdab4 lw t9, (s2)                   |     t9 = *(s2);
                                             |     if (a0 != 0) {
    0x000bdab8 beqz a0, 0xbdacc              |         
    0x000bdabc jalr t9                       |         t9 ();
    0x000bdac0 nop                           |         
    0x000bdac4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000bdac8 lw t9, (s2)                   |         t9 = *(s2);
                                             |     }
    0x000bdacc lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x000bdad0 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x000bdad4 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x000bdad8 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x000bdadc move a0, s0                   |     a0 = s0;
    0x000bdae0 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x000bdae4 addiu sp, sp, 0x30            |     
    0x000bdae8 jr t9                         |     t9 ();
                                             | label_0:
    0x000bdaec jr ra                         |     return v0;
    0x000bdaf0 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 @ 0xc125c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000c125c ()                  | void fcn_000c125c () {
    0x000c125c lui gp, 0xd                   |     
    0x000c1260 addiu gp, gp, 0x414           |     
    0x000c1264 addu gp, gp, t9               |     gp += t9;
    0x000c1268 addiu sp, sp, -0x40           |     
    0x000c126c lw v1, -0x7f94(gp)            |     v1 = *((gp - 8165));
    0x000c1270 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x000c1274 move s1, a1                   |     s1 = a1;
    0x000c1278 sw s5, 0x34(sp)               |     *(var_34h) = s5;
    0x000c127c sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x000c1280 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x000c1284 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x000c1288 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x000c128c sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x000c1290 sw s6, 0x38(sp)               |     *(var_38h) = s6;
    0x000c1294 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x000c1298 lbu v0, (s1)                  |     v0 = *(s1);
    0x000c129c move s5, a0                   |     s5 = a0;
    0x000c12a0 sltiu a0, v0, 6               |     a0 = (v0 < 6) ? 1 : 0;
    0x000c12a4 lw s0, 0x50(sp)               |     s0 = *(arg_50h);
    0x000c12a8 move s3, a2                   |     s3 = a2;
    0x000c12ac move s4, a3                   |     s4 = a3;
    0x000c12b0 addiu v1, v1, 0x4560          |     v1 += aav.0x00004560;
                                             |     if (a0 != 0) {
    0x000c12b4 beqz a0, 0xc1310              |         
    0x000c12b8 sll v0, v0, 2                 |         v0 <<= 2;
    0x000c12bc lwx v0, v0(v1)                |         __asm ("lwx v0, v0(v1)");
    0x000c12c0 addu v0, v0, gp               |         v0 += gp;
    0x000c12c4 jr v0                         |         v0 ();
    0x000c12c8 nop                           |         
                                             |     }
    0x000c1310 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x000c1314 addiu s2, zero, -1            |     s2 = -1;
    0x000c1318 move v0, s2                   |     v0 = s2;
    0x000c131c lw s6, 0x38(sp)               |     s6 = *(var_38h);
    0x000c1320 lw s5, 0x34(sp)               |     s5 = *(var_34h);
    0x000c1324 lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x000c1328 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x000c132c lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x000c1330 lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x000c1334 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x000c1338 addiu sp, sp, 0x40            |     
    0x000c133c jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x11439c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0011439c ()                  | void fcn_0011439c () {
    0x0011439c lui gp, 8                     |     
    0x001143a0 addiu gp, gp, -0x2d2c         |     
    0x001143a4 addu gp, gp, t9               |     gp += t9;
    0x001143a8 addiu sp, sp, -0x60           |     
    0x001143ac lw v0, 0x3c(a0)               |     v0 = *((a0 + 15));
    0x001143b0 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x001143b4 sw fp, 0x58(sp)               |     *(var_58h) = fp;
    0x001143b8 sw s7, 0x54(sp)               |     *(var_54h) = s7;
    0x001143bc sw s1, 0x3c(sp)               |     *(var_3ch) = s1;
    0x001143c0 sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x001143c4 sw s6, 0x50(sp)               |     *(var_50h) = s6;
    0x001143c8 sw s5, 0x4c(sp)               |     *(var_4ch) = s5;
    0x001143cc sw s4, 0x48(sp)               |     *(var_48h) = s4;
    0x001143d0 sw s3, 0x44(sp)               |     *(var_44h) = s3;
    0x001143d4 sw s2, 0x40(sp)               |     *(var_40h) = s2;
    0x001143d8 sw s0, 0x38(sp)               |     *(var_38h) = s0;
    0x001143dc move fp, a0                   |     fp = a0;
    0x001143e0 move s7, a1                   |     s7 = a1;
    0x001143e4 lw s1, 0x40(a0)               |     s1 = *((a0 + 16));
                                             |     if (v0 != 0) {
    0x001143e8 beqz v0, 0x114454             |         
    0x001143ec lw t9, -0x7f34(gp)            |         t9 = *(gp);
                                             |         if (s1 == 0) {
    0x001143f0 beqz s1, 0x114760             |             goto label_8;
                                             |         }
    0x001143f4 jalr t9                       |         t9 ();
    0x001143f8 nop                           |         
    0x001143fc lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00114400 lw t9, -0x7f38(gp)            |         t9 = *((gp - 8142));
    0x00114404 lw s0, (v0)                   |         s0 = *(v0);
    0x00114408 jalr t9                       |         t9 ();
    0x0011440c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00114410 lw a0, (v0)                   |         a0 = *(v0);
    0x00114414 addiu a3, zero, 0x2990        |         a3 = aav.0x00002990;
    0x00114418 lw a2, -0x7fb0(gp)            |         a2 = *((gp - 8172));
    0x0011441c lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x00114420 addiu a2, a2, 0x800           |         a2 += 0x800;
    0x00114424 move t9, s0                   |         t9 = s0;
    0x00114428 addiu a1, a1, 0x12a4          |         a1 += 0x12a4;
    0x0011442c jalr t9                       |         t9 ();
    0x00114430 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00114434 lw a1, 0x3c(fp)               |         a1 = *(arg_3ch);
    0x00114438 lw t9, -0x73ac(gp)            |         t9 = *(gp);
    0x0011443c addiu t9, t9, -0x5b5c         |         t9 += -0x5b5c;
    0x00114440 move a0, fp                   |         a0 = fp;
    0x00114444 bal 0x10a4a4                  |         fcn_0010a4a4 ();
    0x00114448 lw s1, 0x40(fp)               |         s1 = *(arg_40h);
    0x0011444c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00114450 sw zero, 0x3c(fp)             |         *(arg_3ch) = 0;
                                             |     }
    0x00114454 addiu a0, zero, 1             |     a0 = 1;
                                             |     if (s1 == 0) {
    0x00114458 beqz s1, 0x114760             |         goto label_8;
                                             |     }
    0x0011445c lw v0, (s1)                   |     v0 = *(s1);
                                             |     if (v0 == a0) {
    0x00114460 beql v0, a0, 0x11473c         |         goto label_9;
                                             |     }
    0x00114464 lw v0, 8(s1)                  |     v0 = *((s1 + 2));
    0x00114468 lw v1, 0x1c(fp)               |     v1 = *(arg_1ch);
    0x0011446c sw zero, 0x40(fp)             |     *(arg_40h) = 0;
    0x00114470 ori a0, v1, 1                 |     a0 = v1 | 1;
    0x00114474 sw v1, 0x34(sp)               |     *(var_34h) = v1;
    0x00114478 sw a0, 0x1c(fp)               |     *(arg_1ch) = a0;
                                             |     if (v0 <= 0) {
    0x0011447c blez v0, 0x11490c             |         goto label_10;
                                             |     }
    0x00114480 lw v0, -0x73ac(gp)            |     v0 = *(gp);
    0x00114484 lw s6, -0x73ac(gp)            |     s6 = *(gp);
    0x00114488 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x0011448c lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x00114490 lw s4, -0x73ac(gp)            |     s4 = *(gp);
    0x00114494 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x00114498 addiu v0, s6, 0x2170          |     v0 = s6 + 0x2170;
    0x0011449c sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x001144a0 lw v0, -0x7470(gp)            |     v0 = *(gp);
    0x001144a4 move s5, zero                 |     s5 = 0;
    0x001144a8 addiu v0, v0, 0x77b4          |     v0 += 0x77b4;
    0x001144ac sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x001144b0 addiu v0, s4, -0x5b5c         |     v0 = s4 + -0x5b5c;
    0x001144b4 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x001144b8 lw v0, -0x7fb0(gp)            |     v0 = *((gp - 8172));
    0x001144bc move s0, zero                 |     s0 = 0;
    0x001144c0 addiu v0, v0, 0x800           |     v0 += 0x800;
    0x001144c4 move s3, zero                 |     s3 = 0;
    0x001144c8 sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x001144cc lw a0, 8(s1)                  |     a0 = *((s1 + 2));
                                             | label_0:
    0x001144d0 sll v0, s0, 2                 |     v0 = s0 << 2;
    0x001144d4 lw t9, 0x20(sp)               |     t9 = *(var_20h);
    0x001144d8 lwx v0, v0(a0)                |     __asm ("lwx v0, v0(a0)");
    0x001144dc move a1, s7                   |     a1 = s7;
    0x001144e0 move a0, fp                   |     a0 = fp;
    0x001144e4 sw v0, 0x3c(fp)               |     *(arg_3ch) = v0;
    0x001144e8 sw zero, 0x40(fp)             |     *(arg_40h) = 0;
    0x001144ec jalr t9                       |     t9 ();
    0x001144f0 lw a1, 0x3c(fp)               |     a1 = *(arg_3ch);
    0x001144f4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x001144f8 move s6, v0                   |     s6 = v0;
                                             |     if (a1 != 0) {
    0x001144fc beqz a1, 0x114558             |         
    0x00114500 lw v0, 0x40(fp)               |         v0 = *(arg_40h);
    0x00114504 lw t9, -0x7f34(gp)            |         t9 = *(gp);
                                             |         if (v0 == 0) {
    0x00114508 beqz v0, 0x114648             |             goto label_11;
                                             |         }
    0x0011450c jalr t9                       |         t9 ();
    0x00114510 nop                           |         
    0x00114514 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00114518 lw t9, -0x7f38(gp)            |         t9 = *((gp - 8142));
    0x0011451c lw s2, (v0)                   |         s2 = *(v0);
    0x00114520 jalr t9                       |         t9 ();
    0x00114524 lw a0, (v0)                   |         a0 = *(v0);
    0x00114528 lw v0, 0x2c(sp)               |         v0 = *(var_2ch);
    0x0011452c lw a2, 0x28(sp)               |         a2 = *(var_28h);
    0x00114530 addiu a1, v0, 0x12a4          |         a1 = v0 + 0x12a4;
    0x00114534 move t9, s2                   |         t9 = s2;
    0x00114538 addiu a3, zero, 0x29b5        |         a3 = 0x29b5;
    0x0011453c jalr t9                       |         t9 ();
    0x00114540 lw a1, 0x3c(fp)               |         a1 = *(arg_3ch);
    0x00114544 lw t9, 0x1c(sp)               |         t9 = *(var_1ch);
    0x00114548 move a0, fp                   |         a0 = fp;
    0x0011454c jalr t9                       |         t9 ();
    0x00114550 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00114554 sw zero, 0x3c(fp)             |         *(arg_3ch) = 0;
                                             |     }
    0x00114558 lw s4, 0x40(fp)               |     s4 = *(arg_40h);
                                             |     if (s6 != 0) {
    0x0011455c bnez s6, 0x114664             |         goto label_12;
                                             |     }
                                             |     if (s4 == 0) {
    0x00114560 beql s4, zero, 0x1146b4       |         goto label_13;
                                             |     }
    0x00114564 lw a1, 0x3c(fp)               |     a1 = *(arg_3ch);
    0x00114568 lw v1, 0x24(sp)               |     v1 = *(var_24h);
                                             |     if (s3 == 0) {
    0x0011456c beqz s3, 0x1146e0             |         goto label_14;
                                             |     }
    0x00114570 lw v0, (s4)                   |     v0 = *(s4);
    0x00114574 addiu s2, v1, -0x5a28         |     s2 = v1 + -0x5a28;
                                             |     if (v0 <= 0) {
    0x00114578 blez v0, 0x1145b0             |         goto label_15;
                                             |     }
    0x0011457c lw a2, 8(s4)                  |     a2 = *((s4 + 2));
                                             |     do {
    0x00114580 sll v0, s6, 2                 |         v0 = s6 << 2;
    0x00114584 move a1, s3                   |         a1 = s3;
    0x00114588 lwx a2, v0(a2)                |         __asm ("lwx a2, v0(a2)");
    0x0011458c move t9, s2                   |         t9 = s2;
    0x00114590 move a0, fp                   |         a0 = fp;
    0x00114594 jalr t9                       |         t9 ();
    0x00114598 lw s4, 0x40(fp)               |         s4 = *(arg_40h);
    0x0011459c addiu s6, s6, 1               |         s6++;
    0x001145a0 lw v0, (s4)                   |         v0 = *(s4);
    0x001145a4 slt v0, s6, v0                |         v0 = (s6 < v0) ? 1 : 0;
    0x001145a8 lw a2, 8(s4)                  |         a2 = *((s4 + 2));
    0x001145ac bnel v0, zero, 0x114580       |         
                                             |     } while (v0 == 0);
                                             | label_15:
    0x001145b0 lw t9, 0x30(sp)               |     t9 = *(var_30h);
                                             | label_3:
    0x001145b4 move a1, s4                   |     a1 = s4;
    0x001145b8 move a0, fp                   |     a0 = fp;
    0x001145bc jalr t9                       |     t9 ();
    0x001145c0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x001145c4 sw zero, 0x40(fp)             |     *(arg_40h) = 0;
                                             | label_1:
    0x001145c8 lw v0, (s1)                   |     v0 = *(s1);
                                             | label_2:
    0x001145cc addiu s0, s0, 1               |     s0++;
    0x001145d0 slt v0, s0, v0                |     v0 = (s0 < v0) ? 1 : 0;
    0x001145d4 lw a0, 8(s1)                  |     a0 = *((s1 + 2));
                                             |     if (v0 == 0) {
    0x001145d8 bnel v0, zero, 0x1144d0       |         goto label_0;
                                             |     }
    0x001145dc lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x001145e0 sw v0, 0x1c(fp)               |     *(arg_1ch) = v0;
                                             |     if (s3 == 0) {
    0x001145e4 beqz s3, 0x114828             |         goto label_16;
                                             |     }
    0x001145e8 lw t9, -0x7470(gp)            |     t9 = *(gp);
    0x001145ec move a1, s1                   |     a1 = s1;
    0x001145f0 addiu t9, t9, 0x77b4          |     t9 += 0x77b4;
    0x001145f4 move a0, fp                   |     a0 = fp;
    0x001145f8 bal 0x1077b4                  |     fcn_001077b4 ();
    0x001145fc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00114600 sw s3, 0x40(fp)               |     *(arg_40h) = s3;
                                             | label_7:
    0x00114604 lw v0, 0x3c(fp)               |     v0 = *(arg_3ch);
    0x00114608 lw t9, -0x7f34(gp)            |     t9 = *(gp);
                                             |     if (v0 != 0) {
    0x0011460c bnez v0, 0x114878             |         goto label_17;
                                             |     }
                                             | label_6:
    0x00114610 move s0, zero                 |     s0 = 0;
                                             | label_4:
    0x00114614 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
                                             | label_5:
    0x00114618 move v0, s0                   |     v0 = s0;
    0x0011461c lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x00114620 lw s7, 0x54(sp)               |     s7 = *(var_54h);
    0x00114624 lw s6, 0x50(sp)               |     s6 = *(var_50h);
    0x00114628 lw s5, 0x4c(sp)               |     s5 = *(var_4ch);
    0x0011462c lw s4, 0x48(sp)               |     s4 = *(var_48h);
    0x00114630 lw s3, 0x44(sp)               |     s3 = *(var_44h);
    0x00114634 lw s2, 0x40(sp)               |     s2 = *(var_40h);
    0x00114638 lw s1, 0x3c(sp)               |     s1 = *(var_3ch);
    0x0011463c lw s0, 0x38(sp)               |     s0 = *(var_38h);
    0x00114640 addiu sp, sp, 0x60            |     
    0x00114644 jr ra                         |     return v0;
                                             | label_11:
    0x00114648 lw t9, 0x1c(sp)               |     t9 = *(var_1ch);
                                             |     if (s6 == 0) {
    0x0011464c beqz s6, 0x1146b4             |         goto label_13;
                                             |     }
    0x00114650 move a0, fp                   |     a0 = fp;
    0x00114654 jalr t9                       |     t9 ();
    0x00114658 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0011465c sw zero, 0x3c(fp)             |     *(arg_3ch) = 0;
    0x00114660 b 0x1145c8                    |     goto label_1;
                                             |     if (s4 == 0) {
                                             | label_12:
    0x00114664 beql s4, zero, 0x1145cc       |         goto label_2;
                                             |     }
    0x00114668 lw v0, (s1)                   |     v0 = *(s1);
    0x0011466c lw v0, (s4)                   |     v0 = *(s4);
    0x00114670 lw t9, 0x30(sp)               |     t9 = *(var_30h);
                                             |     if (v0 <= 0) {
    0x00114674 blez v0, 0x1145b4             |         goto label_3;
                                             |     }
    0x00114678 move s2, zero                 |     s2 = 0;
    0x0011467c lw a1, 8(s4)                  |     a1 = *((s4 + 2));
                                             |     do {
    0x00114680 sll v0, s2, 2                 |         v0 = s2 << 2;
    0x00114684 lw t9, 0x1c(sp)               |         t9 = *(var_1ch);
    0x00114688 lwx a1, v0(a1)                |         __asm ("lwx a1, v0(a1)");
    0x0011468c move a0, fp                   |         a0 = fp;
    0x00114690 jalr t9                       |         t9 ();
    0x00114694 lw s4, 0x40(fp)               |         s4 = *(arg_40h);
    0x00114698 addiu s2, s2, 1               |         s2++;
    0x0011469c lw v0, (s4)                   |         v0 = *(s4);
    0x001146a0 slt v0, s2, v0                |         v0 = (s2 < v0) ? 1 : 0;
    0x001146a4 lw a1, 8(s4)                  |         a1 = *((s4 + 2));
    0x001146a8 bnel v0, zero, 0x114680       |         
                                             |     } while (v0 == 0);
    0x001146ac lw t9, 0x30(sp)               |     t9 = *(var_30h);
    0x001146b0 b 0x1145b4                    |     goto label_3;
                                             | label_13:
    0x001146b4 lw v0, 0x24(sp)               |     v0 = *(var_24h);
                                             |     if (s3 == 0) {
    0x001146b8 beqz s3, 0x114720             |         goto label_18;
                                             |     }
    0x001146bc move a2, a1                   |     a2 = a1;
    0x001146c0 addiu s2, v0, -0x5a28         |     s2 = v0 + -0x5a28;
    0x001146c4 move a1, s3                   |     a1 = s3;
    0x001146c8 move t9, s2                   |     t9 = s2;
    0x001146cc move a0, fp                   |     a0 = fp;
    0x001146d0 bal 0x10a5d8                  |     fcn_0010a5d8 ();
    0x001146d4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x001146d8 sw zero, 0x3c(fp)             |     *(arg_3ch) = 0;
    0x001146dc b 0x1145c8                    |     goto label_1;
                                             | label_14:
    0x001146e0 sw zero, 0x40(fp)             |     *(arg_40h) = 0;
                                             |     if (s5 == 0) {
    0x001146e4 beqz s5, 0x114718             |         goto label_19;
                                             |     }
    0x001146e8 lw v0, 0x24(sp)               |     v0 = *(var_24h);
    0x001146ec addiu s2, v0, -0x5a28         |     s2 = v0 + -0x5a28;
                                             |     do {
    0x001146f0 lw a2, 8(s1)                  |         a2 = *((s1 + 2));
    0x001146f4 sll v0, s6, 2                 |         v0 = s6 << 2;
    0x001146f8 move a1, s4                   |         a1 = s4;
    0x001146fc lwx a2, v0(a2)                |         __asm ("lwx a2, v0(a2)");
    0x00114700 move a0, fp                   |         a0 = fp;
    0x00114704 move t9, s2                   |         t9 = s2;
    0x00114708 addiu s6, s6, 1               |         s6++;
    0x0011470c bal 0x10a5d8                  |         fcn_0010a5d8 ();
    0x00114710 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00114714 bne s6, s5, 0x1146f0          |         
                                             |     } while (s6 != s5);
                                             | label_19:
    0x00114718 move s3, s4                   |     s3 = s4;
    0x0011471c b 0x1145c8                    |     goto label_1;
                                             | label_18:
    0x00114720 lw v0, 8(s1)                  |     v0 = *((s1 + 2));
    0x00114724 sll a0, s5, 2                 |     a0 = s5 << 2;
    0x00114728 addu v0, v0, a0               |     v0 += a0;
    0x0011472c addiu s5, s5, 1               |     s5++;
    0x00114730 sw a1, (v0)                   |     *(v0) = a1;
    0x00114734 sw zero, 0x3c(fp)             |     *(arg_3ch) = 0;
    0x00114738 b 0x1145c8                    |     goto label_1;
                                             | label_9:
    0x0011473c lw t9, -0x7470(gp)            |     t9 = *(gp);
    0x00114740 move a1, s1                   |     a1 = s1;
    0x00114744 lw v0, (v0)                   |     v0 = *(v0);
    0x00114748 move a0, fp                   |     a0 = fp;
    0x0011474c addiu t9, t9, 0x77b4          |     t9 += 0x77b4;
    0x00114750 sw v0, 0x3c(fp)               |     *(arg_3ch) = v0;
    0x00114754 bal 0x1077b4                  |     fcn_001077b4 ();
    0x00114758 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0011475c sw zero, 0x40(fp)             |     *(arg_40h) = 0;
                                             | label_8:
    0x00114760 lw t9, -0x73ac(gp)            |     t9 = *(gp);
    0x00114764 move a0, fp                   |     a0 = fp;
    0x00114768 addiu t9, t9, 0x2170          |     t9 += 0x2170;
    0x0011476c move a1, s7                   |     a1 = s7;
    0x00114770 bal 0x112170                  |     fcn_00112170 ();
    0x00114774 lw a0, 0x3c(fp)               |     a0 = *(arg_3ch);
    0x00114778 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0011477c move s0, v0                   |     s0 = v0;
                                             |     if (a0 == 0) {
    0x00114780 beqz a0, 0x1147ec             |         goto label_20;
                                             |     }
    0x00114784 lw v0, 0x40(fp)               |     v0 = *(arg_40h);
    0x00114788 lw t9, -0x7f34(gp)            |     t9 = *(gp);
                                             |     if (v0 == 0) {
    0x0011478c beqz v0, 0x114614             |         goto label_4;
                                             |     }
    0x00114790 jalr t9                       |     t9 ();
    0x00114794 nop                           |     
    0x00114798 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0011479c lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x001147a0 lw s1, (v0)                   |     s1 = *(v0);
    0x001147a4 jalr t9                       |     t9 ();
    0x001147a8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x001147ac lw a0, (v0)                   |     a0 = *(v0);
    0x001147b0 addiu a3, zero, 0x299c        |     a3 = 0x299c;
    0x001147b4 lw a2, -0x7fb0(gp)            |     a2 = *((gp - 8172));
    0x001147b8 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x001147bc addiu a2, a2, 0x800           |     a2 += 0x800;
    0x001147c0 move t9, s1                   |     t9 = s1;
    0x001147c4 addiu a1, a1, 0x12a4          |     a1 += 0x12a4;
    0x001147c8 jalr t9                       |     t9 ();
    0x001147cc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x001147d0 lw a1, 0x3c(fp)               |     a1 = *(arg_3ch);
    0x001147d4 lw t9, -0x73ac(gp)            |     t9 = *(gp);
    0x001147d8 addiu t9, t9, -0x5b5c         |     t9 += -0x5b5c;
    0x001147dc move a0, fp                   |     a0 = fp;
    0x001147e0 bal 0x10a4a4                  |     fcn_0010a4a4 ();
    0x001147e4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x001147e8 sw zero, 0x3c(fp)             |     *(arg_3ch) = 0;
                                             | label_20:
    0x001147ec lw a1, 0x40(fp)               |     a1 = *(arg_40h);
    0x001147f0 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (a1 == 0) {
    0x001147f4 beqz a1, 0x114614             |         goto label_4;
                                             |     }
    0x001147f8 lw a0, (a1)                   |     a0 = *(a1);
    0x001147fc lw ra, 0x5c(sp)               |     ra = *(var_5ch);
                                             |     if (a0 != v0) {
    0x00114800 bne a0, v0, 0x114618          |         goto label_5;
                                             |     }
    0x00114804 lw v0, 8(a1)                  |     v0 = *((a1 + 2));
    0x00114808 lw t9, -0x7470(gp)            |     t9 = *(gp);
    0x0011480c move a0, fp                   |     a0 = fp;
    0x00114810 lw v0, (v0)                   |     v0 = *(v0);
    0x00114814 addiu t9, t9, 0x77b4          |     t9 += 0x77b4;
    0x00114818 sw v0, 0x3c(fp)               |     *(arg_3ch) = v0;
    0x0011481c bal 0x1077b4                  |     fcn_001077b4 ();
    0x00114820 sw zero, 0x40(fp)             |     *(arg_40h) = 0;
    0x00114824 b 0x114614                    |     goto label_4;
                                             | label_16:
    0x00114828 slti v0, s5, 2                |     v0 = (s5 < 2) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x0011482c beql v0, zero, 0x114904       |         goto label_21;
                                             |     }
    0x00114830 sw s5, (s1)                   |     *(s1) = s5;
    0x00114834 addiu v0, zero, 1             |     v0 = 1;
    0x00114838 lw t9, -0x7470(gp)            |     t9 = *(gp);
                                             |     if (s5 != v0) {
    0x0011483c bne s5, v0, 0x114914          |         goto label_22;
                                             |     }
    0x00114840 lw v0, 8(s1)                  |     v0 = *((s1 + 2));
    0x00114844 move a1, s1                   |     a1 = s1;
    0x00114848 lw v0, (v0)                   |     v0 = *(v0);
    0x0011484c move a0, fp                   |     a0 = fp;
    0x00114850 addiu t9, t9, 0x77b4          |     t9 += 0x77b4;
    0x00114854 sw v0, 0x3c(fp)               |     *(arg_3ch) = v0;
    0x00114858 bal 0x1077b4                  |     fcn_001077b4 ();
    0x0011485c lw v0, 0x3c(fp)               |     v0 = *(arg_3ch);
    0x00114860 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00114864 beqz v0, 0x114610             |         goto label_6;
                                             |     }
    0x00114868 lw v0, 0x40(fp)               |     v0 = *(arg_40h);
                                             |     if (v0 == 0) {
    0x0011486c beql v0, zero, 0x114614       |         goto label_4;
                                             |     }
    0x00114870 move s0, zero                 |     s0 = 0;
    0x00114874 lw t9, -0x7f34(gp)            |     t9 = *(gp);
                                             | label_17:
    0x00114878 move s0, zero                 |     s0 = 0;
    0x0011487c jalr t9                       |     t9 ();
    0x00114880 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00114884 lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x00114888 lw s1, (v0)                   |     s1 = *(v0);
    0x0011488c jalr t9                       |     t9 ();
    0x00114890 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00114894 lw a0, (v0)                   |     a0 = *(v0);
    0x00114898 addiu a3, zero, 0x29f7        |     a3 = 0x29f7;
    0x0011489c lw a2, -0x7fb0(gp)            |     a2 = *((gp - 8172));
    0x001148a0 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x001148a4 addiu a2, a2, 0x800           |     a2 += 0x800;
    0x001148a8 move t9, s1                   |     t9 = s1;
    0x001148ac addiu a1, a1, 0x12a4          |     a1 += 0x12a4;
    0x001148b0 jalr t9                       |     t9 ();
    0x001148b4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x001148b8 lw a1, 0x3c(fp)               |     a1 = *(arg_3ch);
    0x001148bc lw t9, -0x73ac(gp)            |     t9 = *(gp);
    0x001148c0 addiu t9, t9, -0x5b5c         |     t9 += -0x5b5c;
    0x001148c4 move a0, fp                   |     a0 = fp;
    0x001148c8 bal 0x10a4a4                  |     fcn_0010a4a4 ();
    0x001148cc lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x001148d0 sw zero, 0x3c(fp)             |     *(arg_3ch) = 0;
    0x001148d4 move v0, s0                   |     v0 = s0;
    0x001148d8 lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x001148dc lw s7, 0x54(sp)               |     s7 = *(var_54h);
    0x001148e0 lw s6, 0x50(sp)               |     s6 = *(var_50h);
    0x001148e4 lw s5, 0x4c(sp)               |     s5 = *(var_4ch);
    0x001148e8 lw s4, 0x48(sp)               |     s4 = *(var_48h);
    0x001148ec lw s3, 0x44(sp)               |     s3 = *(var_44h);
    0x001148f0 lw s2, 0x40(sp)               |     s2 = *(var_40h);
    0x001148f4 lw s1, 0x3c(sp)               |     s1 = *(var_3ch);
    0x001148f8 lw s0, 0x38(sp)               |     s0 = *(var_38h);
    0x001148fc addiu sp, sp, 0x60            |     
    0x00114900 jr ra                         |     return v0;
                                             | label_21:
    0x00114904 sw s1, 0x40(fp)               |     *(arg_40h) = s1;
    0x00114908 b 0x114604                    |     goto label_7;
                                             | label_10:
    0x0011490c lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x00114910 sw v0, 0x1c(fp)               |     *(arg_1ch) = v0;
                                             | label_22:
    0x00114914 lw s0, -0x7470(gp)            |     s0 = *(gp);
    0x00114918 move a1, s1                   |     a1 = s1;
    0x0011491c addiu s0, s0, 0x77b4          |     s0 += 0x77b4;
    0x00114920 move t9, s0                   |     t9 = s0;
    0x00114924 move a0, fp                   |     a0 = fp;
    0x00114928 bal 0x1077b4                  |     fcn_001077b4 ();
    0x0011492c lw a1, 0x40(fp)               |     a1 = *(arg_40h);
    0x00114930 move t9, s0                   |     t9 = s0;
                                             |     if (a1 != 0) {
    0x00114934 beqz a1, 0x114944             |         
    0x00114938 move a0, fp                   |         a0 = fp;
    0x0011493c bal 0x1077b4                  |         fcn_001077b4 ();
    0x00114940 sw zero, 0x40(fp)             |         *(arg_40h) = 0;
                                             |     }
    0x00114944 addiu s0, zero, -1            |     s0 = -1;
    0x00114948 b 0x114614                    |     goto label_4;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x7fdb4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.htmlAttrAllowed ()           | void htmlAttrAllowed () {
    0x0007fdb4 lui gp, 0x11                  |     
    0x0007fdb8 addiu gp, gp, 0x18bc          |     
    0x0007fdbc addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x0007fdc0 beqz a0, 0x7ff34              |         goto label_1;
                                             |     }
    0x0007fdc4 nop                           |     
                                             |     if (a1 == 0) {
    0x0007fdc8 beqz a1, 0x7ff34              |         goto label_1;
                                             |     }
    0x0007fdcc nop                           |     
    0x0007fdd0 addiu sp, sp, -0x30           |     
    0x0007fdd4 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x0007fdd8 lw s0, 0x20(a0)               |     s0 = *((a0 + 8));
    0x0007fddc sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0007fde0 sw s4, 0x28(sp)               |     *(var_28h) = s4;
    0x0007fde4 sw s3, 0x24(sp)               |     *(var_24h) = s3;
    0x0007fde8 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x0007fdec sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0007fdf0 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x0007fdf4 move s4, a2                   |     s4 = a2;
    0x0007fdf8 move s1, a1                   |     s1 = a1;
    0x0007fdfc move s3, a0                   |     s3 = a0;
                                             |     if (s0 == 0) {
    0x0007fe00 beqz s0, 0x7fe60              |         goto label_2;
                                             |     }
    0x0007fe04 lw a0, (s0)                   |     a0 = *(s0);
    0x0007fe08 lw s2, -0x7a4c(gp)            |     s2 = *((gp - 7827));
                                             |     if (a0 == 0) {
    0x0007fe0c beqz a0, 0x7fe60              |         goto label_2;
                                             |     }
    0x0007fe10 move t9, s2                   |     t9 = s2;
    0x0007fe14 b 0x7fe28                     |     
                                             |     while (v0 != 0) {
    0x0007fe18 lw a0, (s0)                   |         a0 = *(s0);
                                             |         if (a0 == 0) {
    0x0007fe1c beql a0, zero, 0x7fe64        |             goto label_3;
                                             |         }
    0x0007fe20 lw s0, 0x18(s3)               |         s0 = *((s3 + 6));
    0x0007fe24 move t9, s2                   |         t9 = s2;
    0x0007fe28 move a1, s1                   |         a1 = s1;
    0x0007fe2c jalr t9                       |         t9 ();
    0x0007fe30 addiu s0, s0, 4               |         s0 += 4;
    0x0007fe34 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0007fe38 bnez v0, 0x7fe18              |         
                                             |     }
    0x0007fe3c addiu v0, zero, 0xc           |     v0 = 0xc;
                                             | label_0:
    0x0007fe40 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0007fe44 lw s4, 0x28(sp)               |     s4 = *(var_28h);
    0x0007fe48 lw s3, 0x24(sp)               |     s3 = *(var_24h);
    0x0007fe4c lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x0007fe50 lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x0007fe54 lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x0007fe58 addiu sp, sp, 0x30            |     
    0x0007fe5c jr ra                         |     return v0;
                                             | label_2:
    0x0007fe60 lw s0, 0x18(s3)               |     s0 = *((s3 + 6));
                                             |     if (s0 == 0) {
                                             | label_3:
    0x0007fe64 beqz s0, 0x7fec4              |         goto label_4;
                                             |     }
    0x0007fe68 nop                           |     
    0x0007fe6c lw a0, (s0)                   |     a0 = *(s0);
    0x0007fe70 lw s2, -0x7a4c(gp)            |     s2 = *((gp - 7827));
                                             |     if (a0 == 0) {
    0x0007fe74 beqz a0, 0x7fec4              |         goto label_4;
                                             |     }
    0x0007fe78 move t9, s2                   |     t9 = s2;
    0x0007fe7c b 0x7fe8c                     |     
                                             |     while (v0 != 0) {
    0x0007fe80 lw a0, (s0)                   |         a0 = *(s0);
    0x0007fe84 move t9, s2                   |         t9 = s2;
                                             |         if (a0 == 0) {
    0x0007fe88 beqz a0, 0x7fec4              |             goto label_4;
                                             |         }
    0x0007fe8c move a1, s1                   |         a1 = s1;
    0x0007fe90 jalr t9                       |         t9 ();
    0x0007fe94 addiu s0, s0, 4               |         s0 += 4;
    0x0007fe98 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0007fe9c bnez v0, 0x7fe80              |         
                                             |     }
    0x0007fea0 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0007fea4 lw s4, 0x28(sp)               |     s4 = *(var_28h);
    0x0007fea8 lw s3, 0x24(sp)               |     s3 = *(var_24h);
    0x0007feac lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x0007feb0 lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x0007feb4 lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x0007feb8 addiu v0, zero, 4             |     v0 = 4;
    0x0007febc addiu sp, sp, 0x30            |     
    0x0007fec0 jr ra                         |     return v0;
                                             | label_4:
    0x0007fec4 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             |     if (s4 == 0) {
    0x0007fec8 beqz s4, 0x7ff14              |         goto label_5;
                                             |     }
    0x0007fecc lw s0, 0x1c(s3)               |     s0 = *((s3 + 7));
                                             |     if (s0 == 0) {
    0x0007fed0 beql s0, zero, 0x7ff18        |         goto label_6;
                                             |     }
    0x0007fed4 lw s4, 0x28(sp)               |     s4 = *(var_28h);
    0x0007fed8 lw a0, (s0)                   |     a0 = *(s0);
    0x0007fedc lw s2, -0x7a4c(gp)            |     s2 = *((gp - 7827));
                                             |     if (a0 == 0) {
    0x0007fee0 beqz a0, 0x7ff14              |         goto label_5;
                                             |     }
    0x0007fee4 move t9, s2                   |     t9 = s2;
    0x0007fee8 b 0x7fefc                     |     
                                             |     while (v0 != 0) {
    0x0007feec lw a0, (s0)                   |         a0 = *(s0);
    0x0007fef0 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
                                             |         if (a0 == 0) {
    0x0007fef4 beqz a0, 0x7ff14              |             goto label_5;
                                             |         }
    0x0007fef8 move t9, s2                   |         t9 = s2;
    0x0007fefc move a1, s1                   |         a1 = s1;
    0x0007ff00 jalr t9                       |         t9 ();
    0x0007ff04 addiu s0, s0, 4               |         s0 += 4;
    0x0007ff08 bnez v0, 0x7feec              |         
                                             |     }
    0x0007ff0c addiu v0, zero, 2             |     v0 = 2;
    0x0007ff10 b 0x7fe40                     |     goto label_0;
                                             | label_5:
    0x0007ff14 lw s4, 0x28(sp)               |     s4 = *(var_28h);
                                             | label_6:
    0x0007ff18 lw s3, 0x24(sp)               |     s3 = *(var_24h);
    0x0007ff1c lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x0007ff20 lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x0007ff24 lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x0007ff28 addiu v0, zero, 1             |     v0 = 1;
    0x0007ff2c addiu sp, sp, 0x30            |     
    0x0007ff30 jr ra                         |     return v0;
                                             | label_1:
    0x0007ff34 addiu v0, zero, 1             |     v0 = 1;
    0x0007ff38 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x80234 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.htmlCtxtUseOptions ()        | void htmlCtxtUseOptions () {
    0x00080234 lui gp, 0x11                  |     
    0x00080238 addiu gp, gp, 0x143c          |     
    0x0008023c addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x00080240 beqz a0, 0x803ac              |         goto label_1;
                                             |     }
    0x00080244 nop                           |     
    0x00080248 andi v0, a1, 0x40             |     v0 = a1 & 0x40;
    0x0008024c andi v0, a1, 0x20             |     v0 = a1 & 0x20;
                                             |     if (v0 != 0) {
    0x00080250 beqz v0, 0x80274              |         
    0x00080254 lw v0, 0x168(a0)              |         v0 = *(a0);
    0x00080258 lw v1, (a0)                   |         v1 = *(a0);
    0x0008025c ori v0, v0, 0x40              |         v0 |= 0x40;
    0x00080260 addiu a1, a1, -0x40           |         a1 += -0x40;
    0x00080264 sw zero, 0x54(v1)             |         *((v1 + 21)) = 0;
    0x00080268 sw zero, 0x74(a0)             |         *((a0 + 29)) = 0;
    0x0008026c sw v0, 0x168(a0)              |         *(a0) = v0;
    0x00080270 andi v0, a1, 0x20             |         v0 = a1 & 0x20;
                                             |     }
    0x00080274 andi v0, a1, 0x80             |     v0 = a1 & 0x80;
                                             |     if (v0 != 0) {
    0x00080278 beqz v0, 0x802a0              |         
    0x0008027c lw v0, 0x168(a0)              |         v0 = *(a0);
    0x00080280 lw v1, (a0)                   |         v1 = *(a0);
    0x00080284 ori v0, v0, 0x20              |         v0 |= 0x20;
    0x00080288 addiu a1, a1, -0x20           |         a1 += -0x20;
    0x0008028c sw zero, 0x58(v1)             |         *((v1 + 22)) = 0;
    0x00080290 sw zero, 0x70(a0)             |         *((a0 + 28)) = 0;
    0x00080294 sw zero, 0x5c(v1)             |         *((v1 + 23)) = 0;
    0x00080298 sw v0, 0x168(a0)              |         *(a0) = v0;
    0x0008029c andi v0, a1, 0x80             |         v0 = a1 & 0x80;
                                             |     }
    0x000802a0 lw v0, 0x168(a0)              |     v0 = *(a0);
                                             |     if (v0 == 0) {
    0x000802a4 bnel v0, zero, 0x80380        |         goto label_2;
                                             |     }
    0x000802a8 andi v0, a1, 0x100            |     v0 = a1 & aav.0x00000100;
    0x000802ac sw zero, 0x10c(a0)            |     *(a0) = 0;
                                             |     if (v0 == 0) {
    0x000802b0 beqz v0, 0x8039c              |         goto label_3;
                                             |     }
                                             |     do {
    0x000802b4 lw v1, 0x168(a0)              |         v1 = *(a0);
    0x000802b8 lw a2, (a0)                   |         a2 = *(a0);
    0x000802bc addiu v0, a1, -0x100          |         v0 = a1 + -aav.0x00000100;
    0x000802c0 lw a1, -0x7ea8(gp)            |         a1 = *((gp - 8106));
    0x000802c4 ori v1, v1, 0x100             |         v1 |= aav.0x00000100;
    0x000802c8 sw zero, 0xd0(a0)             |         *((a0 + 52)) = 0;
    0x000802cc sw a1, 0x48(a2)               |         *((a2 + 18)) = a1;
    0x000802d0 sw v1, 0x168(a0)              |         *(a0) = v1;
                                             | label_0:
    0x000802d4 andi v1, v0, 1                |         v1 = v0 & 1;
    0x000802d8 addiu v0, v0, -1              |         v0 += -1;
                                             |         if (v1 != 0) {
    0x000802dc bnel v1, zero, 0x802e0        |             
                                             |         }
    0x000802e0 lui a1, 1                     |         a1 = 0x10000;
    0x000802e4 and a2, v0, a1                |         a2 = v0 & a1;
    0x000802e8 sw v1, 0x120(a0)              |         *(a0) = v1;
                                             |         if (a2 != 0) {
    0x000802ec beqz a2, 0x80300              |             
    0x000802f0 lw v1, 0x168(a0)              |             v1 = *(a0);
    0x000802f4 subu v0, v0, a1               |             __asm ("subu v0, v0, a1");
    0x000802f8 or a1, v1, a1                 |             a1 = v1 | a1;
    0x000802fc sw a1, 0x168(a0)              |             *(a0) = a1;
                                             |         }
    0x00080300 lui v1, 8                     |         v1 = 0x80000;
    0x00080304 and a1, v0, v1                |         a1 = v0 & v1;
                                             |         if (a1 != 0) {
    0x00080308 beql a1, zero, 0x80324        |             
    0x0008030c andi v1, v0, 4                |             v1 = v0 & 4;
    0x00080310 lw a1, 0x168(a0)              |             a1 = *(a0);
    0x00080314 subu v0, v0, v1               |             __asm ("subu v0, v0, v1");
    0x00080318 or v1, a1, v1                 |             v1 = a1 | v1;
    0x0008031c sw v1, 0x168(a0)              |             *(a0) = v1;
    0x00080320 andi v1, v0, 4                |             v1 = v0 & 4;
                                             |         }
    0x00080324 lui v1, 0x20                  |         v1 = 0x200000;
                                             |         if (v1 != 0) {
    0x00080328 beqz v1, 0x80340              |             
    0x0008032c lw v1, 0x168(a0)              |             v1 = *(a0);
    0x00080330 addiu v0, v0, -4              |             v0 += -4;
    0x00080334 ori v1, v1, 4                 |             v1 |= 4;
    0x00080338 sw v1, 0x168(a0)              |             *(a0) = v1;
    0x0008033c lui v1, 0x20                  |             v1 = 0x200000;
                                             |         }
    0x00080340 and a1, v0, v1                |         a1 = v0 & v1;
                                             |         if (a1 != 0) {
    0x00080344 beql a1, zero, 0x80360        |             
    0x00080348 andi v1, v0, 0x2000           |             v1 = v0 & 0x2000;
    0x0008034c lw a1, 0x168(a0)              |             a1 = *(a0);
    0x00080350 subu v0, v0, v1               |             __asm ("subu v0, v0, v1");
    0x00080354 or v1, a1, v1                 |             v1 = a1 | v1;
    0x00080358 sw v1, 0x168(a0)              |             *(a0) = v1;
    0x0008035c andi v1, v0, 0x2000           |             v1 = v0 & 0x2000;
                                             |         }
                                             |         if (v1 != 0) {
    0x00080360 beqz v1, 0x80378              |             
    0x00080364 nop                           |             
    0x00080368 lw v1, 0x168(a0)              |             v1 = *(a0);
    0x0008036c addiu v0, v0, -0x2000         |             v0 += -0x2000;
    0x00080370 ori v1, v1, 0x2000            |             v1 |= 0x2000;
    0x00080374 sw v1, 0x168(a0)              |             *(a0) = v1;
                                             |         }
    0x00080378 sw zero, 0x16c(a0)            |         *(a0) = 0;
    0x0008037c jr ra                         |         return v0;
                                             | label_2:
    0x00080380 addiu a1, a1, -0x80           |         a1 += -0x80;
    0x00080384 ori v0, v0, 0x80              |         v0 |= 0x80;
    0x00080388 addiu v1, zero, 1             |         v1 = 1;
    0x0008038c sw v0, 0x168(a0)              |         *(a0) = v0;
    0x00080390 andi v0, a1, 0x100            |         v0 = a1 & aav.0x00000100;
    0x00080394 sw v1, 0x10c(a0)              |         *(a0) = v1;
    0x00080398 bnez v0, 0x802b4              |         
                                             |     } while (v0 != 0);
                                             | label_3:
    0x0008039c addiu v0, zero, 1             |     v0 = 1;
    0x000803a0 sw v0, 0xd0(a0)               |     *((a0 + 52)) = v0;
    0x000803a4 move v0, a1                   |     v0 = a1;
    0x000803a8 b 0x802d4                     |     goto label_0;
                                             | label_1:
    0x000803ac addiu v0, zero, -1            |     v0 = -1;
    0x000803b0 jr ra                         |     return v0;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x7fd38 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.htmlElementStatusHere ()         | void htmlElementStatusHere () {
    0x0007fd38 lui gp, 0x11                      |     
    0x0007fd3c addiu gp, gp, 0x1938              |     
    0x0007fd40 addu gp, gp, t9                   |     gp += t9;
                                                 |     if (a0 != 0) {
    0x0007fd44 beqz a0, 0x7fdac                  |         
    0x0007fd48 nop                               |         
    0x0007fd4c lw t9, -0x7978(gp)                |         t9 = *(gp);
                                                 |         if (a1 == 0) {
    0x0007fd50 beqz a1, 0x7fdac                  |             goto label_0;
                                                 |         }
    0x0007fd54 addiu sp, sp, -0x20               |         
    0x0007fd58 sw s0, 0x18(sp)                   |         *(var_18h) = s0;
    0x0007fd5c move s0, a1                       |         s0 = a1;
    0x0007fd60 lw a1, (a1)                       |         a1 = *(a1);
    0x0007fd64 sw gp, 0x10(sp)                   |         *(var_10h) = gp;
    0x0007fd68 sw ra, 0x1c(sp)                   |         *(var_1ch) = ra;
    0x0007fd6c bal 0x7fc88                       |         sym_htmlElementAllowedHere ();
    0x0007fd70 nop                               |         
    0x0007fd74 lw ra, 0x1c(sp)                   |         ra = *(var_1ch);
                                                 |         if (v0 != 0) {
    0x0007fd78 beqz v0, 0x7fd9c                  |             
    0x0007fd7c lb v0, 9(s0)                      |             v0 = *((s0 + 9));
    0x0007fd80 addiu a0, zero, 4                 |             a0 = 4;
    0x0007fd84 addiu v1, zero, 2                 |             v1 = 2;
                                                 |             if (v0 != 0) {
    0x0007fd88 movz v1, a0, v0                   |                 v1 = a0;
                                                 |             }
    0x0007fd8c lw s0, 0x18(sp)                   |             s0 = *(var_18h);
    0x0007fd90 move v0, v1                       |             v0 = v1;
    0x0007fd94 addiu sp, sp, 0x20                |             
    0x0007fd98 jr ra                             |             return v0;
                                                 |         }
    0x0007fd9c lw s0, 0x18(sp)                   |         s0 = *(var_18h);
    0x0007fda0 addiu v0, zero, 1                 |         v0 = 1;
    0x0007fda4 addiu sp, sp, 0x20                |         
    0x0007fda8 jr ra                             |         return v0;
                                                 |     }
                                                 | label_0:
    0x0007fdac addiu v0, zero, 1                 |     v0 = 1;
    0x0007fdb0 jr ra                             |     return v0;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x7a0e0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.htmlEncodeEntities ()        | void htmlEncodeEntities () {
    0x0007a0e0 lui gp, 0x11                  |     
    0x0007a0e4 addiu gp, gp, 0x7590          |     
    0x0007a0e8 addu gp, gp, t9               |     gp += t9;
    0x0007a0ec addiu sp, sp, -0x78           |     
    0x0007a0f0 sw s4, 0x60(sp)               |     *(var_60h) = s4;
    0x0007a0f4 lw s4, -0x7000(gp)            |     s4 = *((gp - 7168));
    0x0007a0f8 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0007a0fc sw ra, 0x74(sp)               |     *(var_74h) = ra;
    0x0007a100 lw v0, (s4)                   |     v0 = *(s4);
    0x0007a104 sw fp, 0x70(sp)               |     *(var_70h) = fp;
    0x0007a108 sw s7, 0x6c(sp)               |     *(var_6ch) = s7;
    0x0007a10c sw s6, 0x68(sp)               |     *(var_68h) = s6;
    0x0007a110 sw s5, 0x64(sp)               |     *(var_64h) = s5;
    0x0007a114 sw s3, 0x5c(sp)               |     *(var_5ch) = s3;
    0x0007a118 sw s2, 0x58(sp)               |     *(var_58h) = s2;
    0x0007a11c sw s1, 0x54(sp)               |     *(var_54h) = s1;
    0x0007a120 sw s0, 0x50(sp)               |     *(var_50h) = s0;
    0x0007a124 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
                                             |     if (a0 == 0) {
    0x0007a128 beql a0, zero, 0x7a388        |         goto label_5;
                                             |     }
    0x0007a12c addiu v0, zero, -1            |     v0 = -1;
    0x0007a130 move s1, a1                   |     s1 = a1;
                                             |     if (a1 == 0) {
    0x0007a134 beqz a1, 0x7a454              |         goto label_7;
                                             |     }
    0x0007a138 move fp, a3                   |     fp = a3;
                                             |     if (a3 == 0) {
    0x0007a13c beqz a3, 0x7a454              |         goto label_7;
                                             |     }
    0x0007a140 move s6, a2                   |     s6 = a2;
                                             |     if (a2 == 0) {
    0x0007a144 beqz a2, 0x7a454              |         goto label_7;
                                             |     }
    0x0007a148 lw t0, (a3)                   |     t0 = *(a3);
    0x0007a14c lw v1, (a1)                   |     v1 = *(a1);
    0x0007a150 addu t0, a2, t0               |     t0 = a2 + t0;
    0x0007a154 addu v1, a0, v1               |     v1 = a0 + v1;
    0x0007a158 sltu v0, a2, t0               |     v0 = (a2 < t0) ? 1 : 0;
    0x0007a15c move s7, a0                   |     s7 = a0;
    0x0007a160 sw v1, 0x24(sp)               |     *(var_24h_2) = v1;
                                             |     if (v0 == 0) {
    0x0007a164 beqz v0, 0x7a448              |         goto label_8;
                                             |     }
    0x0007a168 lw v0, -0x7e04(gp)            |     v0 = *((gp - 8065));
    0x0007a16c lw s3, -0x7e04(gp)            |     s3 = *((gp - 8065));
    0x0007a170 lw s2, -0x7f94(gp)            |     s2 = *((gp - 8165));
    0x0007a174 sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x0007a178 addiu v0, s3, 0x562c          |     v0 = s3 + 0x562c;
    0x0007a17c move s5, a2                   |     s5 = a2;
    0x0007a180 move t1, a0                   |     t1 = a0;
    0x0007a184 addiu s2, s2, -0x3c04         |     s2 += -0x3c04;
    0x0007a188 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x0007a18c lbu v0, (s5)                  |     v0 = *(s5);
                                             | label_0:
    0x0007a190 sltiu v1, v0, 0x80            |     v1 = (v0 < 0x80) ? 1 : 0;
    0x0007a194 addiu s0, s5, 1               |     s0 = s5 + 1;
                                             |     if (v1 != 0) {
    0x0007a198 bnez v1, 0x7a310              |         goto label_9;
                                             |     }
    0x0007a19c sltiu v1, v0, 0xc0            |     v1 = (v0 < 0xc0) ? 1 : 0;
    0x0007a1a0 sltiu v1, v0, 0xe0            |     v1 = (v0 < 0xe0) ? 1 : 0;
                                             |     if (v1 != 0) {
    0x0007a1a4 bnez v1, 0x7a430              |         goto label_10;
                                             |     }
    0x0007a1a8 subu s0, t0, s0               |     __asm ("subu s0, t0, s0");
                                             |     if (v1 == 0) {
    0x0007a1ac bnel v1, zero, 0x7a364        |         goto label_11;
                                             |     }
    0x0007a1b0 sltiu v1, v0, 0xf0            |     v1 = (v0 < 0xf0) ? 1 : 0;
    0x0007a1b4 sltiu v1, v0, 0xf8            |     v1 = (v0 < 0xf8) ? 1 : 0;
                                             |     if (v1 == 0) {
    0x0007a1b8 beqz v1, 0x7a3fc              |         goto label_12;
                                             |     }
    0x0007a1bc subu v1, t0, s0               |     __asm ("subu v1, t0, s0");
    0x0007a1c0 slti v1, v1, 2                |     v1 = (v1 < 2) ? 1 : 0;
    0x0007a1c4 andi v0, v0, 0xf              |     v0 &= 0xf;
                                             |     if (v1 != 0) {
    0x0007a1c8 bnez v1, 0x7a418              |         goto label_13;
                                             |     }
    0x0007a1cc addiu a1, zero, 1             |     a1 = 1;
                                             | label_3:
    0x0007a1d0 lbu v1, 1(s5)                 |     v1 = *((s5 + 1));
    0x0007a1d4 addiu a0, zero, 0x80          |     a0 = 0x80;
    0x0007a1d8 andi a2, v1, 0xc0             |     a2 = v1 & 0xc0;
    0x0007a1dc addiu s0, s5, 2               |     s0 = s5 + 2;
                                             |     if (a2 != a0) {
    0x0007a1e0 bne a2, a0, 0x7a374           |         goto label_14;
                                             |     }
    0x0007a1e4 addiu a1, a1, 2               |     a1 += 2;
    0x0007a1e8 addu a1, s5, a1               |     a1 = s5 + a1;
    0x0007a1ec addiu a3, zero, -0x40         |     a3 = -0x40;
    0x0007a1f0 addiu a2, zero, 0x80          |     a2 = 0x80;
    0x0007a1f4 b 0x7a20c                     |     
                                             |     while (a1 != s0) {
    0x0007a1f8 addiu s0, s0, 1               |         s0++;
    0x0007a1fc lbu v1, -1(s0)                |         v1 = *((s0 - 1));
    0x0007a200 and a0, v1, a3                |         a0 = v1 & a3;
    0x0007a204 subu s7, t1, s7               |         __asm ("subu s7, t1, s7");
                                             |         if (a0 == a2) {
    0x0007a208 bnel a0, a2, 0x7a378          |             goto label_15;
                                             |         }
    0x0007a20c sll v0, v0, 6                 |         v0 <<= 6;
    0x0007a210 andi v1, v1, 0x3f             |         v1 &= 0x3f;
    0x0007a214 or v0, v1, v0                 |         v0 = v1 | v0;
    0x0007a218 bne a1, s0, 0x7a1f8           |         
                                             |     }
    0x0007a21c sltiu v1, v0, 0x80            |     v1 = (v0 < 0x80) ? 1 : 0;
    0x0007a220 lw v1, 0x88(sp)               |     v1 = *(arg_88h);
                                             |     if (v1 == 0) {
    0x0007a224 bnel v1, zero, 0x7a31c        |         goto label_16;
                                             |     }
    0x0007a228 lw v1, 0x28(sp)               |     v1 = *(var_28h);
                                             | label_1:
    0x0007a22c addiu a1, zero, 0x22          |     a1 = 0x22;
    0x0007a230 addiu a0, v1, 0x5638          |     a0 = v1 + 0x5638;
    0x0007a234 addiu a3, zero, 0xfd          |     a3 = 0xfd;
    0x0007a238 move v1, zero                 |     v1 = 0;
    0x0007a23c b 0x7a250                     |     
                                             |     while (a2 == 0) {
    0x0007a240 lw t9, -0x7108(gp)            |         t9 = *(gp);
                                             |         if (v1 == a3) {
    0x0007a244 beq v1, a3, 0x7a3c4           |             goto label_17;
                                             |         }
    0x0007a248 lw a1, (a0)                   |         a1 = *(a0);
    0x0007a24c addiu a0, a0, 0xc             |         a0 += 0xc;
    0x0007a250 sltu a2, a1, v0               |         a2 = (a1 < v0) ? 1 : 0;
    0x0007a254 addiu v1, v1, 1               |         v1++;
    0x0007a258 bnel a2, zero, 0x7a240        |         
                                             |     }
    0x0007a25c sltu a1, v0, a1               |     a1 = (v0 < a1) ? 1 : 0;
    0x0007a260 lw t9, -0x7108(gp)            |     t9 = *(gp);
                                             |     if (a1 != 0) {
    0x0007a264 bnez a1, 0x7a3c4              |         goto label_17;
                                             |     }
    0x0007a268 sll v0, v1, 1                 |     v0 = v1 << 1;
    0x0007a26c addu v0, v0, v1               |     v0 += v1;
    0x0007a270 lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x0007a274 sll v0, v0, 2                 |     v0 <<= 2;
    0x0007a278 addu v0, v1, v0               |     v0 = v1 + v0;
    0x0007a27c lw s3, 4(v0)                  |     s3 = *((v0 + 1));
                                             | label_4:
    0x0007a280 lw t9, -0x6fc0(gp)            |     t9 = *(gp);
    0x0007a284 sw t1, 0x30(sp)               |     *(var_30h) = t1;
    0x0007a288 sw t0, 0x34(sp)               |     *(var_34h) = t0;
    0x0007a28c move a0, s3                   |     a0 = s3;
    0x0007a290 jalr t9                       |     t9 ();
    0x0007a294 lw t1, 0x30(sp)               |     t1 = *(var_30h);
    0x0007a298 move a3, v0                   |     a3 = v0;
    0x0007a29c lw v1, 0x24(sp)               |     v1 = *(var_24h_2);
    0x0007a2a0 addiu v0, v0, 2               |     v0 += 2;
    0x0007a2a4 addu v0, t1, v0               |     v0 = t1 + v0;
    0x0007a2a8 sltu v0, v1, v0               |     v0 = (v1 < v0) ? 1 : 0;
    0x0007a2ac lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0007a2b0 bnez v0, 0x7a418              |         goto label_13;
                                             |     }
    0x0007a2b4 addiu v1, t1, 1               |     v1 = t1 + 1;
    0x0007a2b8 lw t9, -0x6fbc(gp)            |     t9 = *(gp);
    0x0007a2bc addiu v0, zero, 0x26          |     v0 = 0x26;
    0x0007a2c0 sb v0, (t1)                   |     *(t1) = v0;
    0x0007a2c4 move a2, a3                   |     a2 = a3;
    0x0007a2c8 sw a3, 0x30(sp)               |     *(var_30h) = a3;
    0x0007a2cc move a0, v1                   |     a0 = v1;
    0x0007a2d0 move a1, s3                   |     a1 = s3;
    0x0007a2d4 jalr t9                       |     t9 ();
    0x0007a2d8 lw a3, 0x30(sp)               |     a3 = *(var_30h);
    0x0007a2dc lw t0, 0x34(sp)               |     t0 = *(var_34h);
    0x0007a2e0 addu v1, v0, a3               |     v1 = v0 + a3;
    0x0007a2e4 addiu v0, zero, 0x3b          |     v0 = 0x3b;
    0x0007a2e8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0007a2ec addiu t1, v1, 1               |     t1 = v1 + 1;
    0x0007a2f0 sb v0, (v1)                   |     *(v1) = v0;
    0x0007a2f4 move s5, s0                   |     s5 = s0;
                                             | label_2:
    0x0007a2f8 sltu v0, s0, t0               |     v0 = (s0 < t0) ? 1 : 0;
    0x0007a2fc lbu v0, (s5)                  |     v0 = *(s5);
                                             |     if (v0 == 0) {
    0x0007a300 bnel v0, zero, 0x7a190        |         goto label_0;
                                             |     }
    0x0007a304 subu s7, t1, s7               |     __asm ("subu s7, t1, s7");
    0x0007a308 subu s5, s0, s6               |     __asm ("subu s5, s0, s6");
    0x0007a30c b 0x7a420                     |     goto label_6;
                                             | label_9:
    0x0007a310 subu v1, t0, s0               |     __asm ("subu v1, t0, s0");
    0x0007a314 lw v1, 0x88(sp)               |     v1 = *(arg_88h);
                                             |     if (v1 < 0) {
    0x0007a318 bltz v1, 0x7a418              |         goto label_13;
                                             |     }
                                             | label_16:
    0x0007a31c lw v1, 0x28(sp)               |     v1 = *(var_28h);
                                             |     if (v1 == v0) {
    0x0007a320 beq v1, v0, 0x7a22c           |         goto label_1;
                                             |     }
    0x0007a324 addiu v1, zero, 0x26          |     v1 = 0x26;
    0x0007a328 lw v1, 0x28(sp)               |     v1 = *(var_28h);
                                             |     if (v0 == v1) {
    0x0007a32c beq v0, v1, 0x7a22c           |         goto label_1;
                                             |     }
    0x0007a330 addiu v1, zero, -3            |     v1 = -3;
    0x0007a334 and v1, v0, v1                |     v1 = v0 & v1;
    0x0007a338 addiu a0, zero, 0x3c          |     a0 = 0x3c;
    0x0007a33c lw v1, 0x28(sp)               |     v1 = *(var_28h);
                                             |     if (v1 == a0) {
    0x0007a340 beq v1, a0, 0x7a22c           |         goto label_1;
                                             |     }
    0x0007a344 lw v1, 0x24(sp)               |     v1 = *(var_24h_2);
    0x0007a348 sltu v1, t1, v1               |     v1 = (t1 < v1) ? 1 : 0;
                                             |     if (v1 == 0) {
    0x0007a34c beql v1, zero, 0x7a41c        |         goto label_18;
                                             |     }
    0x0007a350 subu s7, t1, s7               |     __asm ("subu s7, t1, s7");
    0x0007a354 sb v0, (t1)                   |     *(t1) = v0;
    0x0007a358 move s5, s0                   |     s5 = s0;
    0x0007a35c addiu t1, t1, 1               |     t1++;
    0x0007a360 b 0x7a2f8                     |     goto label_2;
                                             | label_11:
    0x0007a364 andi v0, v0, 0x1f             |     v0 &= 0x1f;
                                             |     if (s0 <= 0) {
    0x0007a368 blez s0, 0x7a418              |         goto label_13;
                                             |     }
    0x0007a36c move a1, zero                 |     a1 = 0;
    0x0007a370 b 0x7a1d0                     |     goto label_3;
                                             | label_14:
    0x0007a374 subu s7, t1, s7               |     __asm ("subu s7, t1, s7");
                                             | label_15:
    0x0007a378 subu s5, s5, s6               |     __asm ("subu s5, s5, s6");
    0x0007a37c sw s7, (s1)                   |     *(s1) = s7;
    0x0007a380 addiu v0, zero, -2            |     v0 = -2;
    0x0007a384 sw s5, (fp)                   |     *(fp) = s5;
                                             |     do {
                                             | label_5:
    0x0007a388 lw a0, 0x4c(sp)               |         a0 = *(var_4ch);
    0x0007a38c lw v1, (s4)                   |         v1 = *(s4);
    0x0007a390 lw ra, 0x74(sp)               |         ra = *(var_74h);
                                             |         if (a0 != v1) {
    0x0007a394 bne a0, v1, 0x7a45c           |             goto label_19;
                                             |         }
    0x0007a398 lw fp, 0x70(sp)               |         fp = *(var_70h);
    0x0007a39c lw s7, 0x6c(sp)               |         s7 = *(var_6ch);
    0x0007a3a0 lw s6, 0x68(sp)               |         s6 = *(var_68h);
    0x0007a3a4 lw s5, 0x64(sp)               |         s5 = *(var_64h);
    0x0007a3a8 lw s4, 0x60(sp)               |         s4 = *(var_60h);
    0x0007a3ac lw s3, 0x5c(sp)               |         s3 = *(var_5ch);
    0x0007a3b0 lw s2, 0x58(sp)               |         s2 = *(var_58h);
    0x0007a3b4 lw s1, 0x54(sp)               |         s1 = *(var_54h);
    0x0007a3b8 lw s0, 0x50(sp)               |         s0 = *(var_50h);
    0x0007a3bc addiu sp, sp, 0x78            |         
    0x0007a3c0 jr ra                         |         return v0;
                                             | label_17:
    0x0007a3c4 sw t0, 0x34(sp)               |         *(var_34h) = t0;
    0x0007a3c8 sw t1, 0x30(sp)               |         *(var_30h) = t1;
    0x0007a3cc addiu a0, sp, 0x3c            |         a0 = sp + 0x3c;
    0x0007a3d0 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0007a3d4 sw s2, 0x10(sp)               |         *(var_10h_2) = s2;
    0x0007a3d8 addiu a3, zero, 0x10          |         a3 = 0x10;
    0x0007a3dc addiu a2, zero, 1             |         a2 = 1;
    0x0007a3e0 addiu a1, zero, 0x10          |         a1 = 0x10;
    0x0007a3e4 move s3, a0                   |         s3 = a0;
    0x0007a3e8 jalr t9                       |         t9 ();
    0x0007a3ec lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0007a3f0 lw t0, 0x34(sp)               |         t0 = *(var_34h);
    0x0007a3f4 lw t1, 0x30(sp)               |         t1 = *(var_30h);
    0x0007a3f8 b 0x7a280                     |         goto label_4;
                                             | label_12:
    0x0007a3fc subu v1, t0, s0               |         __asm ("subu v1, t0, s0");
                                             |         if (v1 == 0) {
    0x0007a400 beqz v1, 0x7a430              |             goto label_10;
                                             |         }
    0x0007a404 slti v1, v1, 3                |         v1 = (v1 < 3) ? 1 : 0;
    0x0007a408 andi v0, v0, 7                |         v0 &= 7;
                                             |         if (v1 == 0) {
    0x0007a40c bnez v1, 0x7a418              |             
    0x0007a410 addiu a1, zero, 2             |             a1 = 2;
    0x0007a414 b 0x7a1d0                     |             goto label_3;
                                             |         }
                                             | label_13:
    0x0007a418 subu s7, t1, s7               |         __asm ("subu s7, t1, s7");
                                             | label_18:
    0x0007a41c subu s5, s5, s6               |         __asm ("subu s5, s5, s6");
                                             | label_6:
    0x0007a420 sw s7, (s1)                   |         *(s1) = s7;
    0x0007a424 move v0, zero                 |         v0 = 0;
    0x0007a428 sw s5, (fp)                   |         *(fp) = s5;
    0x0007a42c b 0x7a388                     |         
                                             |     } while (1);
                                             | label_10:
    0x0007a430 subu t1, t1, s7               |     __asm ("subu t1, t1, s7");
    0x0007a434 subu s5, s5, s6               |     __asm ("subu s5, s5, s6");
    0x0007a438 sw t1, (s1)                   |     *(s1) = t1;
    0x0007a43c addiu v0, zero, -2            |     v0 = -2;
    0x0007a440 sw s5, (fp)                   |     *(fp) = s5;
    0x0007a444 b 0x7a388                     |     goto label_5;
                                             | label_8:
    0x0007a448 move s5, zero                 |     s5 = 0;
    0x0007a44c move s7, zero                 |     s7 = 0;
    0x0007a450 b 0x7a420                     |     goto label_6;
                                             | label_7:
    0x0007a454 addiu v0, zero, -1            |     v0 = -1;
    0x0007a458 b 0x7a388                     |     goto label_5;
                                             | label_19:
    0x0007a45c lw t9, -0x7074(gp)            |     t9 = *((gp - 7197));
    0x0007a460 jalr t9                       |     t9 ();
    0x0007a464 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 @ 0x7dcac */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.htmlParseChunk ()            | void htmlParseChunk () {
    0x0007dcac lui gp, 0x11                  |     
    0x0007dcb0 addiu gp, gp, 0x39c4          |     
    0x0007dcb4 addu gp, gp, t9               |     gp += t9;
    0x0007dcb8 addiu sp, sp, -0x88           |     
    0x0007dcbc sw s4, 0x70(sp)               |     *(var_70h) = s4;
    0x0007dcc0 lw s4, -0x7000(gp)            |     s4 = *((gp - 7168));
    0x0007dcc4 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0007dcc8 sw s6, 0x78(sp)               |     *(var_78h) = s6;
    0x0007dccc lw v0, (s4)                   |     v0 = *(s4);
    0x0007dcd0 sw ra, 0x84(sp)               |     *(var_84h) = ra;
    0x0007dcd4 sw fp, 0x80(sp)               |     *(var_80h) = fp;
    0x0007dcd8 sw s7, 0x7c(sp)               |     *(var_7ch) = s7;
    0x0007dcdc sw s5, 0x74(sp)               |     *(var_74h) = s5;
    0x0007dce0 sw s3, 0x6c(sp)               |     *(var_6ch) = s3;
    0x0007dce4 sw s2, 0x68(sp)               |     *(var_68h) = s2;
    0x0007dce8 sw s1, 0x64(sp)               |     *(var_64h) = s1;
    0x0007dcec sw s0, 0x60(sp)               |     *(var_60h) = s0;
    0x0007dcf0 move s6, a0                   |     s6 = a0;
    0x0007dcf4 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
                                             |     if (a0 == 0) {
    0x0007dcf8 beql a0, zero, 0x7e5b4        |         goto label_16;
                                             |     }
    0x0007dcfc lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
    0x0007dd00 lw s7, 0x24(a0)               |     s7 = *((a0 + 9));
                                             |     if (s7 == 0) {
    0x0007dd04 beql s7, zero, 0x7e5b4        |         goto label_16;
                                             |     }
    0x0007dd08 lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
    0x0007dd0c move s0, a2                   |     s0 = a2;
    0x0007dd10 move s2, a3                   |     s2 = a3;
    0x0007dd14 lw v0, 0xac(a0)               |     v0 = *((a0 + 43));
                                             |     if (a2 <= 0) {
    0x0007dd18 blez a2, 0x7de18              |         goto label_17;
                                             |     }
    0x0007dd1c move s1, a1                   |     s1 = a1;
                                             |     if (a1 == 0) {
    0x0007dd20 beqz a1, 0x7de18              |         goto label_17;
                                             |     }
    0x0007dd24 lw a0, (s7)                   |     a0 = *(s7);
    0x0007dd28 addiu s3, zero, -1            |     s3 = -1;
                                             |     if (a0 == 0) {
    0x0007dd2c beqz a0, 0x7de18              |         goto label_17;
                                             |     }
    0x0007dd30 lw t9, -0x6f30(gp)            |     t9 = *(gp);
                                             |     if (v0 != s3) {
    0x0007dd34 bne v0, s3, 0x7e6b4           |         goto label_18;
                                             |     }
                                             | label_2:
    0x0007dd38 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
                                             |     do {
    0x0007dd3c lw s3, -0x7f94(gp)            |         s3 = *((gp - 8165));
                                             | label_0:
    0x0007dd40 sw v0, 0x28(sp)               |         *(var_28h_2) = v0;
                                             | label_1:
    0x0007dd44 lw s1, -0x7a48(gp)            |         s1 = *(gp);
    0x0007dd48 lw v0, -0x7f94(gp)            |         v0 = *((gp - 8165));
    0x0007dd4c lw s5, -0x7a48(gp)            |         s5 = *(gp);
    0x0007dd50 move s0, zero                 |         s0 = 0;
    0x0007dd54 addiu s3, s3, 0x8f0           |         s3 += 0x8f0;
    0x0007dd58 addiu s1, s1, 0x4770          |         s1 += 0x4770;
    0x0007dd5c sw v0, 0x2c(sp)               |         *(var_2ch_2) = v0;
    0x0007dd60 addiu s5, s5, 0x6348          |         s5 += 0x6348;
                                             |         if (s7 == 0) {
                                             | label_12:
    0x0007dd64 beqz s7, 0x7e020              |             goto label_19;
                                             |         }
    0x0007dd68 nop                           |         
                                             | label_6:
    0x0007dd6c lw v0, (s7)                   |         v0 = *(s7);
    0x0007dd70 lw t9, -0x7f4c(gp)            |         t9 = *((gp - 8147));
                                             |         if (v0 == 0) {
    0x0007dd74 beqz v0, 0x7deb0              |             goto label_20;
                                             |         }
    0x0007dd78 lw a0, 0x10(v0)               |         a0 = *((v0 + 4));
    0x0007dd7c jalr t9                       |         t9 ();
    0x0007dd80 lw a0, 0x10(s7)               |         a0 = *((s7 + 4));
    0x0007dd84 lw a1, 0xc(s7)                |         a1 = *((s7 + 3));
    0x0007dd88 subu s0, a0, a1               |         __asm ("subu s0, a0, a1");
    0x0007dd8c subu s0, v0, s0               |         __asm ("subu s0, v0, s0");
    0x0007dd90 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (s0 != 0) {
    0x0007dd94 bnez s0, 0x7decc              |             goto label_21;
                                             |         }
                                             | label_3:
    0x0007dd98 lw s0, -0x7a48(gp)            |         s0 = *(gp);
                                             |         if (s2 == 0) {
    0x0007dd9c bnel s2, zero, 0x7df04        |             goto label_22;
                                             |         }
    0x0007dda0 lw v0, 0x168(s6)              |         v0 = *(s6);
                                             | label_7:
    0x0007dda4 andi v0, v0, 4                |         v0 &= 4;
    0x0007dda8 lw v0, 0x54(s6)               |         v0 = *((s6 + 21));
                                             |         if (v0 != 0) {
    0x0007ddac bnel v0, zero, 0x7dddc        |             
    0x0007ddb0 lw a0, 8(s6)                  |             a0 = *((s6 + 2));
                                             |             if (a0 == 0) {
                                             | label_11:
    0x0007ddb4 beqz a0, 0x7df98              |                 goto label_10;
                                             |             }
    0x0007ddb8 nop                           |             
    0x0007ddbc addiu a1, zero, -1            |             a1 = -1;
                                             |             if (s2 != 0) {
    0x0007ddc0 bnez s2, 0x7df54              |                 goto label_23;
                                             |             }
    0x0007ddc4 lw v0, 0xac(s6)               |             v0 = *((s6 + 43));
    0x0007ddc8 addiu a1, zero, 0xe           |             a1 = 0xe;
                                             |             if (v0 == a1) {
    0x0007ddcc beq v0, a1, 0x7ea48           |                 goto label_24;
                                             |             }
    0x0007ddd0 lw t9, -0x79a8(gp)            |             t9 = *((gp - 7786));
                                             |             if (v0 == a1) {
    0x0007ddd4 beq v0, a1, 0x7ea4c           |                 goto label_25;
                                             |             }
                                             | label_5:
    0x0007ddd8 lw v0, 0x54(s6)               |             v0 = *((s6 + 21));
                                             |         }
                                             | label_4:
    0x0007dddc lw a0, 0x5c(sp)               |         a0 = *(var_5ch);
    0x0007dde0 lw v1, (s4)                   |         v1 = *(s4);
    0x0007dde4 lw ra, 0x84(sp)               |         ra = *(var_84h);
                                             |         if (a0 != v1) {
    0x0007dde8 bne a0, v1, 0x7f3b0           |             goto label_26;
                                             |         }
    0x0007ddec lw fp, 0x80(sp)               |         fp = *(var_80h);
    0x0007ddf0 lw s7, 0x7c(sp)               |         s7 = *(var_7ch);
    0x0007ddf4 lw s6, 0x78(sp)               |         s6 = *(var_78h);
    0x0007ddf8 lw s5, 0x74(sp)               |         s5 = *(var_74h);
    0x0007ddfc lw s4, 0x70(sp)               |         s4 = *(var_70h);
    0x0007de00 lw s3, 0x6c(sp)               |         s3 = *(var_6ch);
    0x0007de04 lw s2, 0x68(sp)               |         s2 = *(var_68h);
    0x0007de08 lw s1, 0x64(sp)               |         s1 = *(var_64h);
    0x0007de0c lw s0, 0x60(sp)               |         s0 = *(var_60h);
    0x0007de10 addiu sp, sp, 0x88            |         
    0x0007de14 jr ra                         |         return v0;
                                             | label_17:
    0x0007de18 addiu a0, zero, -1            |         a0 = -1;
    0x0007de1c lw v0, -0x7f94(gp)            |         v0 = *((gp - 8165));
    0x0007de20 beq v0, a0, 0x7dd3c           |         
                                             |     } while (v0 == a0);
    0x0007de24 lw s0, (s7)                   |     s0 = *(s7);
    0x0007de28 lw s3, -0x7f94(gp)            |     s3 = *((gp - 8165));
                                             |     if (s0 == 0) {
    0x0007de2c beqz s0, 0x7dd40              |         goto label_0;
                                             |     }
    0x0007de30 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x0007de34 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
                                             |     if (v0 == 0) {
    0x0007de38 beqz v0, 0x7dd40              |         goto label_0;
                                             |     }
    0x0007de3c lw a0, 0x10(s0)               |     a0 = *((s0 + 4));
                                             |     if (a0 == 0) {
    0x0007de40 beql a0, zero, 0x7dd44        |         goto label_1;
                                             |     }
    0x0007de44 sw v0, 0x28(sp)               |     *(var_28h_2) = v0;
    0x0007de48 lw v0, 0x14(s0)               |     v0 = *((s0 + 5));
    0x0007de4c lw t9, -0x6f30(gp)            |     t9 = *(gp);
                                             |     if (v0 == 0) {
    0x0007de50 beqz v0, 0x7dd38              |         goto label_2;
                                             |     }
    0x0007de54 move a1, s7                   |     a1 = s7;
    0x0007de58 jalr t9                       |     t9 ();
    0x0007de5c lw a0, 0x24(s6)               |     a0 = *((s6 + 9));
    0x0007de60 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0007de64 move a1, s2                   |     a1 = s2;
    0x0007de68 lw a3, 0x10(a0)               |     a3 = *((a0 + 4));
    0x0007de6c lw t9, -0x6fec(gp)            |     t9 = *((gp - 7163));
    0x0007de70 lw s1, 0xc(a0)                |     s1 = *((a0 + 3));
    0x0007de74 move a0, s0                   |     a0 = s0;
    0x0007de78 move s3, v0                   |     s3 = v0;
    0x0007de7c subu s1, a3, s1               |     __asm ("subu s1, a3, s1");
    0x0007de80 jalr t9                       |     t9 ();
    0x0007de84 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 < 0) {
    0x0007de88 bltz v0, 0x7edc0              |         goto label_27;
                                             |     }
    0x0007de8c lw t9, -0x6e14(gp)            |     t9 = *((gp - 7045));
    0x0007de90 lw a1, 0x24(s6)               |     a1 = *((s6 + 9));
    0x0007de94 lw a0, 0x10(s0)               |     a0 = *((s0 + 4));
    0x0007de98 move a3, s1                   |     a3 = s1;
    0x0007de9c move a2, s3                   |     a2 = s3;
    0x0007dea0 jalr t9                       |     t9 ();
    0x0007dea4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0007dea8 lw s7, 0x24(s6)               |     s7 = *((s6 + 9));
    0x0007deac b 0x7dd38                     |     goto label_2;
                                             | label_20:
    0x0007deb0 lw a0, 0x10(s7)               |     a0 = *((s7 + 4));
    0x0007deb4 lw a1, 0xc(s7)                |     a1 = *((s7 + 3));
    0x0007deb8 lw s0, 0x18(s7)               |     s0 = *((s7 + 6));
    0x0007debc subu v0, a0, a1               |     __asm ("subu v0, a0, a1");
    0x0007dec0 subu s0, s0, v0               |     __asm ("subu s0, s0, v0");
                                             |     if (s0 == 0) {
    0x0007dec4 beqz s0, 0x7dd98              |         goto label_3;
                                             |     }
    0x0007dec8 nop                           |     
                                             |     if (s0 <= 0) {
                                             | label_21:
    0x0007decc blezl s0, 0x7e118             |         goto label_28;
                                             |     }
    0x0007ded0 lw v0, 0x168(s6)              |     v0 = *(s6);
    0x0007ded4 lbu a2, (a0)                  |     a2 = *(a0);
                                             |     if (a2 == 0) {
    0x0007ded8 beql a2, zero, 0x7dff8        |         goto label_29;
                                             |     }
    0x0007dedc lw s7, 0x24(s6)               |     s7 = *((s6 + 9));
    0x0007dee0 lw v0, 0xac(s6)               |     v0 = *((s6 + 43));
    0x0007dee4 addiu v0, v0, 1               |     v0++;
    0x0007dee8 sltiu a3, v0, 0x12            |     a3 = (v0 < 0x12) ? 1 : 0;
    0x0007deec sll v0, v0, 2                 |     v0 <<= 2;
                                             |     if (a3 == 0) {
    0x0007def0 beqz a3, 0x7e338              |         goto label_30;
                                             |     }
    0x0007def4 lwx v0, v0(s3)                |     __asm ("lwx v0, v0(s3)");
    0x0007def8 addu v0, v0, gp               |     v0 += gp;
    0x0007defc jr v0                         |     v0 ();
    0x0007df00 nop                           |     
                                             | label_22:
    0x0007df04 addiu s0, s0, 0x4610          |     s0 += 0x4610;
    0x0007df08 move t9, s0                   |     t9 = s0;
    0x0007df0c move a0, s6                   |     a0 = s6;
    0x0007df10 bal 0x74610                   |     fcn_00074610 ();
    0x0007df14 lw v0, 0xbc(s6)               |     v0 = *((s6 + 47));
                                             |     if (v0 == 0) {
    0x0007df18 beql v0, zero, 0x7e03c        |         goto label_31;
                                             |     }
    0x0007df1c lw a0, 0xac(s6)               |     a0 = *((s6 + 43));
                                             | label_8:
    0x0007df20 move t9, s0                   |     t9 = s0;
                                             | label_9:
    0x0007df24 move a0, s6                   |     a0 = s6;
    0x0007df28 bal 0x74610                   |     fcn_00074610 ();
    0x0007df2c lw v0, 0xbc(s6)               |     v0 = *((s6 + 47));
    0x0007df30 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0007df34 beqz v0, 0x7ea10              |         goto label_32;
                                             |     }
                                             | label_14:
    0x0007df38 lw v0, 0x168(s6)              |     v0 = *(s6);
                                             | label_13:
    0x0007df3c andi v0, v0, 4                |     v0 &= 4;
    0x0007df40 lw v0, 0xac(s6)               |     v0 = *((s6 + 43));
                                             |     if (v0 == 0) {
    0x0007df44 bnel v0, zero, 0x7dfa4        |         goto label_33;
                                             |     }
    0x0007df48 lw a0, 8(s6)                  |     a0 = *((s6 + 2));
                                             |     if (a0 == 0) {
    0x0007df4c beqz a0, 0x7df98              |         goto label_10;
                                             |     }
    0x0007df50 nop                           |     
                                             | label_23:
    0x0007df54 lw t9, -0x79a8(gp)            |     t9 = *((gp - 7786));
    0x0007df58 jalr t9                       |     t9 ();
    0x0007df5c nop                           |     
    0x0007df60 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0007df64 bnez v0, 0x7dfa0              |         goto label_34;
                                             |     }
    0x0007df68 lw s0, 8(s6)                  |     s0 = *((s6 + 2));
                                             | label_15:
    0x0007df6c lw a3, -0x7f94(gp)            |     a3 = *((gp - 8165));
    0x0007df70 lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
    0x0007df74 lw a1, -0x7fb0(gp)            |     a1 = *((gp - 8172));
    0x0007df78 lw t9, -0x7d28(gp)            |     t9 = *(gp);
    0x0007df7c addiu a3, a3, -0x3bb8         |     a3 += -0x3bb8;
    0x0007df80 addiu a2, a2, -0x3be0         |     a2 += -0x3be0;
    0x0007df84 addiu a1, a1, 0x436c          |     a1 += 0x436c;
    0x0007df88 move a0, s0                   |     a0 = s0;
    0x0007df8c jalr t9                       |     t9 ();
    0x0007df90 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0007df94 sw v0, 0x2c(s0)               |     *((s0 + 11)) = v0;
                                             |     if (s2 == 0) {
                                             | label_10:
    0x0007df98 beql s2, zero, 0x7dddc        |         goto label_4;
                                             |     }
    0x0007df9c lw v0, 0x54(s6)               |     v0 = *((s6 + 21));
                                             | label_34:
    0x0007dfa0 lw v0, 0xac(s6)               |     v0 = *((s6 + 43));
                                             | label_33:
    0x0007dfa4 addiu a0, zero, -1            |     a0 = -1;
    0x0007dfa8 addiu a0, zero, 0xe           |     a0 = 0xe;
                                             |     if (v0 != a0) {
    0x0007dfac beq v0, a0, 0x7dfec           |         
    0x0007dfb0 addiu a0, zero, 1             |         a0 = 1;
                                             |         if (v0 != a0) {
    0x0007dfb4 beq v0, a0, 0x7dfc8           |             
    0x0007dfb8 addiu v0, zero, 5             |             v0 = 5;
                                             |             if (v0 == a0) {
    0x0007dfbc beq v0, a0, 0x7dfc8           |                 goto label_35;
                                             |             }
    0x0007dfc0 sw v0, 0x54(s6)               |             *((s6 + 21)) = v0;
    0x0007dfc4 sw zero, 0xc(s6)              |             *((s6 + 3)) = 0;
                                             |         }
                                             | label_35:
    0x0007dfc8 lw v0, (s6)                   |         v0 = *(s6);
                                             |         if (v0 == 0) {
    0x0007dfcc beql v0, zero, 0x7dff0        |             goto label_36;
                                             |         }
    0x0007dfd0 addiu v0, zero, -1            |         v0 = -1;
    0x0007dfd4 lw t9, 0x34(v0)               |         t9 = *((v0 + 13));
    0x0007dfd8 addiu v0, zero, -1            |         v0 = -1;
                                             |         if (t9 == 0) {
    0x0007dfdc beqz t9, 0x7dff0              |             goto label_36;
                                             |         }
    0x0007dfe0 lw a0, 4(s6)                  |         a0 = *((s6 + 1));
    0x0007dfe4 jalr t9                       |         t9 ();
    0x0007dfe8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |     }
    0x0007dfec addiu v0, zero, -1            |     v0 = -1;
                                             | label_36:
    0x0007dff0 sw v0, 0xac(s6)               |     *((s6 + 43)) = v0;
    0x0007dff4 b 0x7ddd8                     |     goto label_5;
                                             | label_29:
    0x0007dff8 lw a1, 0xc8(s6)               |     a1 = *((s6 + 50));
    0x0007dffc lw a0, 0x10(s7)               |     a0 = *((s7 + 4));
    0x0007e000 lw v0, 0x20(s7)               |     v0 = *((s7 + 8));
    0x0007e004 addiu a1, a1, 1               |     a1++;
    0x0007e008 addiu a0, a0, 1               |     a0++;
    0x0007e00c addiu v0, v0, 1               |     v0++;
    0x0007e010 sw a1, 0xc8(s6)               |     *((s6 + 50)) = a1;
    0x0007e014 sw a0, 0x10(s7)               |     *((s7 + 4)) = a0;
    0x0007e018 sw v0, 0x20(s7)               |     *((s7 + 8)) = v0;
                                             |     if (s7 != 0) {
    0x0007e01c bnez s7, 0x7dd6c              |         goto label_6;
                                             |     }
                                             | label_19:
    0x0007e020 lw v0, 0x168(s6)              |     v0 = *(s6);
                                             |     if (s0 == 0) {
    0x0007e024 bnel s0, zero, 0x7e118        |         goto label_28;
                                             |     }
                                             |     if (s2 == 0) {
    0x0007e028 beql s2, zero, 0x7dda4        |         goto label_7;
                                             |     }
    0x0007e02c lw v0, 0x168(s6)              |     v0 = *(s6);
    0x0007e030 lw s0, -0x7a48(gp)            |     s0 = *(gp);
    0x0007e034 addiu s0, s0, 0x4610          |     s0 += 0x4610;
    0x0007e038 b 0x7df20                     |     goto label_8;
                                             | label_31:
    0x0007e03c addiu v0, zero, -1            |     v0 = -1;
    0x0007e040 move t9, s0                   |     t9 = s0;
                                             |     if (a0 == v0) {
    0x0007e044 beq a0, v0, 0x7df24           |         goto label_9;
                                             |     }
    0x0007e048 lw a0, (s6)                   |     a0 = *(s6);
    0x0007e04c sw v0, 0xac(s6)               |     *((s6 + 43)) = v0;
                                             |     if (a0 == 0) {
    0x0007e050 beqz a0, 0x7df20              |         goto label_8;
                                             |     }
    0x0007e054 lw t9, 0x34(a0)               |     t9 = *((a0 + 13));
                                             |     if (t9 == 0) {
    0x0007e058 beql t9, zero, 0x7df24        |         goto label_9;
                                             |     }
    0x0007e05c move t9, s0                   |     t9 = s0;
    0x0007e060 lw a0, 4(s6)                  |     a0 = *((s6 + 1));
    0x0007e064 jalr t9                       |     t9 ();
    0x0007e068 move t9, s0                   |     t9 = s0;
    0x0007e06c b 0x7df24                     |     goto label_9;
                                             | label_28:
    0x0007e118 andi v0, v0, 4                |     v0 &= 4;
                                             |     if (v0 != 0) {
    0x0007e11c bnez v0, 0x7df98              |         goto label_10;
                                             |     }
    0x0007e120 nop                           |     
    0x0007e124 lw a0, 8(s6)                  |     a0 = *((s6 + 2));
    0x0007e128 b 0x7ddb4                     |     goto label_11;
                                             | label_30:
    0x0007e338 lw s7, 0x24(s6)               |     s7 = *((s6 + 9));
    0x0007e33c b 0x7dd64                     |     goto label_12;
                                             | label_16:
    0x0007e5b4 lw t9, -0x7a48(gp)            |     t9 = *(gp);
    0x0007e5b8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0007e5bc move a3, zero                 |     a3 = 0;
    0x0007e5c0 addiu a2, a2, -0x3868         |     a2 += -0x3868;
    0x0007e5c4 addiu a1, zero, 1             |     a1 = 1;
    0x0007e5c8 addiu t9, t9, 0x4770          |     t9 += 0x4770;
    0x0007e5cc move a0, s6                   |     a0 = s6;
    0x0007e5d0 bal 0x74770                   |     fcn_00074770 ();
    0x0007e5d4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0007e5d8 addiu v0, zero, 1             |     v0 = 1;
    0x0007e5dc b 0x7dddc                     |     goto label_4;
                                             | label_18:
    0x0007e6b4 lw a0, 0x10(a0)               |     a0 = *((a0 + 4));
    0x0007e6b8 move a1, s7                   |     a1 = s7;
    0x0007e6bc jalr t9                       |     t9 ();
    0x0007e6c0 lw a0, 0x24(s6)               |     a0 = *((s6 + 9));
    0x0007e6c4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0007e6c8 move a2, s1                   |     a2 = s1;
    0x0007e6cc lw a3, 0x10(a0)               |     a3 = *((a0 + 4));
    0x0007e6d0 lw t0, 0xc(a0)                |     t0 = *((a0 + 3));
    0x0007e6d4 lw t9, -0x7d1c(gp)            |     t9 = *((gp - 8007));
    0x0007e6d8 lw a0, (a0)                   |     a0 = *(a0);
    0x0007e6dc move a1, s0                   |     a1 = s0;
    0x0007e6e0 move s1, v0                   |     s1 = v0;
    0x0007e6e4 subu s0, a3, t0               |     __asm ("subu s0, a3, t0");
    0x0007e6e8 bal 0x6165c                   |     sym_xmlParserInputBufferPush ();
    0x0007e6ec lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 < 0) {
    0x0007e6f0 bltz v0, 0x7f394              |         goto label_37;
                                             |     }
    0x0007e6f4 lw a1, 0x24(s6)               |     a1 = *((s6 + 9));
    0x0007e6f8 lw t9, -0x6e14(gp)            |     t9 = *((gp - 7045));
    0x0007e6fc move a3, s0                   |     a3 = s0;
    0x0007e700 lw v0, (a1)                   |     v0 = *(a1);
    0x0007e704 move a2, s1                   |     a2 = s1;
    0x0007e708 lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x0007e70c jalr t9                       |     t9 ();
    0x0007e710 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0007e714 lw s7, 0x24(s6)               |     s7 = *((s6 + 9));
    0x0007e718 b 0x7dd38                     |     goto label_2;
                                             | label_32:
    0x0007ea10 lw a0, 0xac(s6)               |     a0 = *((s6 + 43));
    0x0007ea14 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (a0 == v0) {
    0x0007ea18 beql a0, v0, 0x7df3c          |         goto label_13;
                                             |     }
    0x0007ea1c lw v0, 0x168(s6)              |     v0 = *(s6);
    0x0007ea20 lw a0, (s6)                   |     a0 = *(s6);
    0x0007ea24 sw v0, 0xac(s6)               |     *((s6 + 43)) = v0;
                                             |     if (a0 == 0) {
    0x0007ea28 beqz a0, 0x7df38              |         goto label_14;
                                             |     }
    0x0007ea2c lw t9, 0x34(a0)               |     t9 = *((a0 + 13));
                                             |     if (t9 == 0) {
    0x0007ea30 beql t9, zero, 0x7df3c        |         goto label_13;
                                             |     }
    0x0007ea34 lw v0, 0x168(s6)              |     v0 = *(s6);
    0x0007ea38 lw a0, 4(s6)                  |     a0 = *((s6 + 1));
    0x0007ea3c jalr t9                       |     t9 ();
    0x0007ea40 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0007ea44 b 0x7df38                     |     goto label_14;
                                             | label_24:
    0x0007ea48 lw t9, -0x79a8(gp)            |     t9 = *((gp - 7786));
                                             | label_25:
    0x0007ea4c jalr t9                       |     t9 ();
    0x0007ea50 nop                           |     
    0x0007ea54 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0007ea58 bnez v0, 0x7ddd8              |         goto label_5;
                                             |     }
    0x0007ea5c lw s0, 8(s6)                  |     s0 = *((s6 + 2));
    0x0007ea60 b 0x7df6c                     |     goto label_15;
                                             | label_27:
    0x0007edc0 lw a2, -0x7fd4(gp)            |     a2 = *(gp);
    0x0007edc4 lw t9, -0x7a48(gp)            |     t9 = *(gp);
    0x0007edc8 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0007edcc move a3, zero                 |     a3 = 0;
    0x0007edd0 addiu a2, a2, 0x6834          |     a2 += 0x6834;
    0x0007edd4 addiu a1, zero, 0x51          |     a1 = 0x51;
    0x0007edd8 addiu t9, t9, 0x4770          |     t9 += 0x4770;
    0x0007eddc move a0, s6                   |     a0 = s6;
    0x0007ede0 bal 0x74770                   |     fcn_00074770 ();
    0x0007ede4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0007ede8 addiu v0, zero, 0x51          |     v0 = 0x51;
    0x0007edec b 0x7dddc                     |     goto label_4;
                                             | label_37:
    0x0007f394 addiu v0, zero, 1             |     v0 = 1;
    0x0007f398 sw v0, 0xd4(s6)               |     *((s6 + 53)) = v0;
    0x0007f39c sw s3, 0x54(s6)               |     *((s6 + 21)) = s3;
    0x0007f3a0 addiu v0, zero, -1            |     v0 = -1;
    0x0007f3a4 b 0x7dddc                     |     goto label_4;
                                             | label_26:
    0x0007f3b0 lw t9, -0x7074(gp)            |     t9 = *((gp - 7197));
    0x0007f3b4 jalr t9                       |     t9 ();
    0x0007f3b8 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 @ 0x7c8e8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.htmlParseElement ()          | void htmlParseElement () {
                                             | label_1:
    0x0007c8e8 lui gp, 0x11                  |     
    0x0007c8ec addiu gp, gp, 0x4d88          |     
    0x0007c8f0 addu gp, gp, t9               |     gp += t9;
    0x0007c8f4 lw v0, -0x7000(gp)            |     v0 = *((gp - 7168));
    0x0007c8f8 addiu sp, sp, -0x80           |     
    0x0007c8fc sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x0007c900 lw v0, (v0)                   |     v0 = *(v0);
    0x0007c904 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0007c908 sw fp, 0x78(sp)               |     *(var_78h) = fp;
    0x0007c90c sw ra, 0x7c(sp)               |     *(var_7ch) = ra;
    0x0007c910 sw s7, 0x74(sp)               |     *(var_74h) = s7;
    0x0007c914 sw s6, 0x70(sp)               |     *(var_70h) = s6;
    0x0007c918 sw s5, 0x6c(sp)               |     *(var_6ch) = s5;
    0x0007c91c sw s4, 0x68(sp)               |     *(var_68h) = s4;
    0x0007c920 sw s3, 0x64(sp)               |     *(var_64h) = s3;
    0x0007c924 sw s2, 0x60(sp)               |     *(var_60h) = s2;
    0x0007c928 sw s1, 0x5c(sp)               |     *(var_5ch) = s1;
    0x0007c92c sw s0, 0x58(sp)               |     *(var_58h) = s0;
    0x0007c930 move fp, a0                   |     fp = a0;
    0x0007c934 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x0007c938 lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
                                             |     if (a0 == 0) {
    0x0007c93c beqz a0, 0x7cd90              |         goto label_29;
                                             |     }
    0x0007c940 lw v0, 0x24(a0)               |     v0 = *((a0 + 9));
    0x0007c944 lw t9, -0x7a48(gp)            |     t9 = *(gp);
                                             |     if (v0 == 0) {
    0x0007c948 beqz v0, 0x7cd94              |         goto label_30;
                                             |     }
    0x0007c94c lw a1, 0xac(a0)               |     a1 = *((a0 + 43));
    0x0007c950 addiu a0, zero, -1            |     a0 = -1;
                                             |     if (a1 == a0) {
    0x0007c954 beql a1, a0, 0x7cd28          |         goto label_6;
                                             |     }
    0x0007c958 lw v0, 0x28(sp)               |     v0 = *(var_28h_3);
    0x0007c95c lw a0, 0x44(fp)               |     a0 = *(arg_44h);
    0x0007c960 lw t9, -0x7994(gp)            |     t9 = *(gp);
                                             |     if (a0 != 0) {
    0x0007c964 beqz a0, 0x7c988              |         
    0x0007c968 lw a1, 0xc(v0)                |         a1 = *((v0 + 3));
    0x0007c96c lw a0, 0x10(v0)               |         a0 = *((v0 + 4));
    0x0007c970 lw a2, 0x24(v0)               |         a2 = *((v0 + 9));
    0x0007c974 subu a0, a0, a1               |         __asm ("subu a0, a0, a1");
    0x0007c978 lw a1, 0x1c(v0)               |         a1 = *((v0 + 7));
    0x0007c97c addu v0, a0, a2               |         v0 = a0 + a2;
    0x0007c980 sw v0, 0x44(sp)               |         *(var_44h) = v0;
    0x0007c984 sw a1, 0x48(sp)               |         *(var_48h) = a1;
                                             |     }
    0x0007c988 addiu t9, t9, -0x4e7c         |     t9 += -aav.0x00004e7c;
    0x0007c98c move a0, fp                   |     a0 = fp;
    0x0007c990 bal 0x7b184                   |     fcn_0007b184 ();
    0x0007c994 addiu a0, zero, -1            |     a0 = -1;
    0x0007c998 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (v0 == a0) {
    0x0007c99c beq v0, a0, 0x7cd64           |         goto label_31;
                                             |     }
    0x0007c9a0 lw s2, 0xb8(fp)               |     s2 = *(arg_b8h);
    0x0007c9a4 lw s1, -0x7e04(gp)            |     s1 = *((gp - 8065));
                                             |     if (s2 == 0) {
    0x0007c9a8 beqz s2, 0x7cd64              |         goto label_31;
                                             |     }
    0x0007c9ac lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x0007c9b0 addiu s1, s1, 0x6908          |     s1 += 0x6908;
    0x0007c9b4 addiu a1, a1, -0x1878         |     a1 += -0x1878;
    0x0007c9b8 move s0, zero                 |     s0 = 0;
    0x0007c9bc lw s3, -0x7de8(gp)            |     s3 = *(gp);
    0x0007c9c0 addiu s4, zero, 0x5c          |     s4 = 0x5c;
    0x0007c9c4 b 0x7c9dc                     |     
                                             |     while (v0 != 0) {
    0x0007c9c8 addiu s0, s0, 1               |         s0++;
    0x0007c9cc lw a2, -0x7f94(gp)            |         a2 = *((gp - 8165));
                                             |         if (s0 == s4) {
    0x0007c9d0 beq s0, s4, 0x7d200           |             goto label_32;
                                             |         }
    0x0007c9d4 lw a1, (s1)                   |         a1 = *(s1);
    0x0007c9d8 addiu s1, s1, 0x24            |         s1 += 0x24;
    0x0007c9dc move t9, s3                   |         t9 = s3;
    0x0007c9e0 move a0, s2                   |         a0 = s2;
    0x0007c9e4 jalr t9                       |         t9 ();
    0x0007c9e8 lw gp, 0x18(sp)               |         gp = *(var_18h_3);
    0x0007c9ec bnez v0, 0x7c9c8              |         
                                             |     }
    0x0007c9f0 sll v0, s0, 3                 |     v0 = s0 << 3;
    0x0007c9f4 addu s0, v0, s0               |     s0 = v0 + s0;
    0x0007c9f8 sll v0, s0, 2                 |     v0 = s0 << 2;
    0x0007c9fc lw s0, -0x7e04(gp)            |     s0 = *((gp - 8065));
    0x0007ca00 addiu s0, s0, 0x68e4          |     s0 += 0x68e4;
    0x0007ca04 addu s0, s0, v0               |     s0 += v0;
                                             | label_23:
    0x0007ca08 lw a1, 0x24(fp)               |     a1 = *(arg_24h);
    0x0007ca0c addiu a2, zero, 0x2f          |     a2 = 0x2f;
    0x0007ca10 lw a0, 0x10(a1)               |     a0 = *((a1 + 4));
    0x0007ca14 lbu v0, (a0)                  |     v0 = *(a0);
                                             |     if (v0 == a2) {
    0x0007ca18 beql v0, a2, 0x7cca0          |         goto label_33;
                                             |     }
    0x0007ca1c lbu a2, 1(a0)                 |     a2 = *((a0 + 1));
    0x0007ca20 addiu a0, zero, 0x3e          |     a0 = 0x3e;
    0x0007ca24 lw t9, -0x7e30(gp)            |     t9 = *((gp - 8076));
                                             |     if (v0 != a0) {
    0x0007ca28 bne v0, a0, 0x7cdb8           |         goto label_34;
                                             |     }
    0x0007ca2c move a0, fp                   |     a0 = fp;
    0x0007ca30 sw t9, 0x34(sp)               |     *(var_34h_2) = t9;
    0x0007ca34 jalr t9                       |     t9 ();
    0x0007ca38 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (s0 != 0) {
    0x0007ca3c beqz s0, 0x7ca4c              |         
    0x0007ca40 lb v0, 7(s0)                  |         v0 = *((s0 + 7));
    0x0007ca44 lw v0, (fp)                   |         v0 = *(fp);
                                             |         if (v0 == 0) {
    0x0007ca48 bnel v0, zero, 0x7d27c        |             goto label_35;
                                             |         }
                                             |     }
    0x0007ca4c lw t9, -0x7fd8(gp)            |     t9 = *((gp - 8182));
    0x0007ca50 lw a0, 0xb8(fp)               |     a0 = *(arg_b8h);
    0x0007ca54 sw t9, 0x2c(sp)               |     *(var_2ch_2) = t9;
    0x0007ca58 jalr t9                       |     t9 ();
    0x0007ca5c lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007ca60 sw v0, 0x3c(sp)               |     *(var_3ch_2) = v0;
    0x0007ca64 lw v0, 0xbc(fp)               |     v0 = *(arg_bch);
    0x0007ca68 lw a0, 0x24(fp)               |     a0 = *(arg_24h);
    0x0007ca6c sw v0, 0x30(sp)               |     *(var_30h_2) = v0;
    0x0007ca70 lw v0, -0x7994(gp)            |     v0 = *(gp);
    0x0007ca74 lw s4, -0x7994(gp)            |     s4 = *(gp);
    0x0007ca78 addiu v0, v0, -0x4370         |     v0 += -0x4370;
    0x0007ca7c sw v0, 0x24(sp)               |     *(var_24h_2) = v0;
    0x0007ca80 lw v0, -0x7994(gp)            |     v0 = *(gp);
    0x0007ca84 lw s5, 0x10(a0)               |     s5 = *((a0 + 4));
    0x0007ca88 addiu v0, v0, -0x77a4         |     v0 += -0x77a4;
    0x0007ca8c addiu s4, s4, -0x6d4c         |     s4 += -aav.0x00006d4c;
    0x0007ca90 sw v0, 0x38(sp)               |     *(var_38h_2) = v0;
    0x0007ca94 b 0x7cb10                     |     goto label_36;
                                             | label_12:
    0x0007ca98 lw v0, 0xbc(fp)               |     v0 = *(arg_bch);
                                             | label_0:
    0x0007ca9c slt v0, s2, v0                |     v0 = (s2 < v0) ? 1 : 0;
                                             |     if (v0 > 0) {
    0x0007caa0 blez v0, 0x7caac              |         
    0x0007caa4 lw t9, -0x7f90(gp)            |         t9 = *((gp - 8164));
                                             |         if (v0 == 0) {
    0x0007caa8 beqz v0, 0x7cf38              |             goto label_37;
                                             |         }
                                             |     }
                                             | label_14:
    0x0007caac lw v0, 0x24(fp)               |     v0 = *(arg_24h);
    0x0007cab0 lw v0, 0x10(v0)               |     v0 = *((v0 + 4));
    0x0007cab4 lbu v0, (v0)                  |     v0 = *(v0);
    0x0007cab8 lw s7, -0x7f90(gp)            |     s7 = *((gp - 8164));
                                             |     if (v0 != 0) {
    0x0007cabc bnez v0, 0x7cbcc              |         goto label_38;
                                             |     }
                                             | label_7:
    0x0007cac0 lw t9, -0x7a48(gp)            |     t9 = *(gp);
    0x0007cac4 addiu t9, t9, 0x4610          |     t9 += 0x4610;
    0x0007cac8 move a0, fp                   |     a0 = fp;
    0x0007cacc bal 0x74610                   |     fcn_00074610 ();
    0x0007cad0 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (s1 == 0) {
                                             |         do {
                                             | label_9:
    0x0007cad4 beql s1, zero, 0x7ceac        |             goto label_18;
                                             |         }
    0x0007cad8 lw a0, 0x24(fp)               |         a0 = *(arg_24h);
                                             | label_10:
    0x0007cadc lw v0, -0x7158(gp)            |         v0 = *(gp);
                                             | label_17:
    0x0007cae0 lw t9, (v0)                   |         t9 = *(v0);
    0x0007cae4 move a0, s1                   |         a0 = s1;
    0x0007cae8 jalr t9                       |         t9 ();
    0x0007caec lw a0, 0x24(fp)               |         a0 = *(arg_24h);
    0x0007caf0 lw gp, 0x18(sp)               |         gp = *(var_18h_3);
    0x0007caf4 lw v0, 0x10(a0)               |         v0 = *((a0 + 4));
                                             | label_11:
    0x0007caf8 lw v1, 0x30(sp)               |         v1 = *(var_30h_2);
                                             |         if (v0 == s5) {
    0x0007cafc beq v0, s5, 0x7d114           |             goto label_39;
                                             |         }
    0x0007cb00 lw a1, 0xbc(fp)               |         a1 = *(arg_bch);
    0x0007cb04 slt a1, a1, v1                |         a1 = (a1 < v1) ? 1 : 0;
    0x0007cb08 move s5, v0                   |         s5 = v0;
                                             |         if (a1 != 0) {
    0x0007cb0c bnez a1, 0x7d114              |             goto label_39;
                                             |         }
                                             | label_36:
    0x0007cb10 lbu v0, (s5)                  |         v0 = *(s5);
    0x0007cb14 addiu a1, v0, -9              |         a1 = v0 + -9;
    0x0007cb18 sltiu a1, a1, 2               |         a1 = (a1 < 2) ? 1 : 0;
    0x0007cb1c addiu a1, zero, 0xd           |         a1 = 0xd;
                                             |         if (a1 == 0) {
    0x0007cb20 bnez a1, 0x7cb34              |             
    0x0007cb24 sltiu v0, v0, 0x20            |             v0 = (v0 < 0x20) ? 1 : 0;
                                             |             if (v0 == a1) {
    0x0007cb28 beq v0, a1, 0x7cb34           |                 goto label_40;
                                             |             }
    0x0007cb2c lw v0, 0x3c(sp)               |             v0 = *(var_3ch_2);
                                             |             if (v0 != 0) {
    0x0007cb30 bnez v0, 0x7d118              |                 goto label_41;
                                             |             }
                                             |         }
                                             | label_40:
    0x0007cb34 lw t9, 0x2c(sp)               |         t9 = *(var_2ch_2);
    0x0007cb38 lw s3, -0x7f94(gp)            |         s3 = *((gp - 8165));
    0x0007cb3c lw a0, 0xb8(fp)               |         a0 = *(arg_b8h);
    0x0007cb40 jalr t9                       |         t9 ();
    0x0007cb44 lw gp, 0x18(sp)               |         gp = *(var_18h_3);
    0x0007cb48 move s1, v0                   |         s1 = v0;
    0x0007cb4c lw s2, 0xbc(fp)               |         s2 = *(arg_bch);
    0x0007cb50 lw v0, 0x124(fp)              |         v0 = *(arg_124h);
    0x0007cb54 lw s6, -0x7f94(gp)            |         s6 = *((gp - 8165));
                                             | label_2:
    0x0007cb58 lw s0, 0xc8(fp)               |         s0 = *(arg_c8h);
                                             |         if (v0 == 0) {
    0x0007cb5c beqz v0, 0x7cf18              |             goto label_42;
                                             |         }
                                             | label_4:
    0x0007cb60 lw a0, 0xac(fp)               |         a0 = *(arg_ach);
                                             | label_3:
    0x0007cb64 addiu v0, zero, -1            |         v0 = -1;
    0x0007cb68 addiu a1, zero, 0x3c          |         a1 = 0x3c;
    0x0007cb6c beq a0, v0, 0x7cad4           |         
                                             |     } while (a0 == v0);
    0x0007cb70 lw a0, 0x24(fp)               |     a0 = *(arg_24h);
    0x0007cb74 lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
    0x0007cb78 lbu a2, (v0)                  |     a2 = *(v0);
    0x0007cb7c lw v0, 0xbc(fp)               |     v0 = *(arg_bch);
                                             |     if (a2 == a1) {
    0x0007cb80 bnel a2, a1, 0x7ca9c          |         goto label_0;
                                             |     }
    0x0007cb84 lbu a1, 1(v0)                 |     a1 = *((v0 + 1));
    0x0007cb88 addiu v0, zero, 0x2f          |     v0 = 0x2f;
    0x0007cb8c andi v0, a1, 0xdf             |     v0 = a1 & 0xdf;
                                             |     if (a1 == v0) {
    0x0007cb90 beq a1, v0, 0x7cfd4           |         goto label_43;
                                             |     }
    0x0007cb94 addiu v0, v0, -0x41           |     v0 += -0x41;
    0x0007cb98 sltiu v0, v0, 0x1a            |     v0 = (v0 < 0x1a) ? 1 : 0;
    0x0007cb9c addiu v0, zero, 0x5f          |     v0 = 0x5f;
                                             |     if (v0 != 0) {
    0x0007cba0 bnez v0, 0x7ceb4              |         goto label_44;
                                             |     }
    0x0007cba4 addiu v0, zero, 0x3a          |     v0 = 0x3a;
                                             |     if (a1 == v0) {
    0x0007cba8 beq a1, v0, 0x7ceb4           |         goto label_44;
                                             |     }
    0x0007cbac lw t9, -0x7a48(gp)            |     t9 = *(gp);
                                             |     if (a1 == v0) {
    0x0007cbb0 beq a1, v0, 0x7ceb8           |         goto label_45;
                                             |     }
    0x0007cbb4 lw v0, 0xbc(fp)               |     v0 = *(arg_bch);
    0x0007cbb8 slt v0, s2, v0                |     v0 = (s2 < v0) ? 1 : 0;
                                             |     if (v0 > 0) {
    0x0007cbbc blez v0, 0x7cbc8              |         
    0x0007cbc0 lw t9, -0x7f90(gp)            |         t9 = *((gp - 8164));
                                             |         if (v0 == 0) {
    0x0007cbc4 beqz v0, 0x7cf38              |             goto label_37;
                                             |         }
                                             |     }
    0x0007cbc8 lw s7, -0x7f90(gp)            |     s7 = *((gp - 8164));
                                             | label_38:
    0x0007cbcc addiu a1, s3, -0x3eb4         |     a1 = s3 + -0x3eb4;
    0x0007cbd0 move t9, s7                   |     t9 = s7;
    0x0007cbd4 move a0, s1                   |     a0 = s1;
    0x0007cbd8 jalr t9                       |     t9 ();
    0x0007cbdc lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (v0 != 0) {
    0x0007cbe0 bnez v0, 0x7cf20              |         goto label_46;
                                             |     }
    0x0007cbe4 addiu a1, s6, 0x1ac           |     a1 = s6 + aav.0x000001ac;
    0x0007cbe8 move t9, s7                   |     t9 = s7;
    0x0007cbec move a0, s1                   |     a0 = s1;
    0x0007cbf0 jalr t9                       |     t9 ();
    0x0007cbf4 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (v0 != 0) {
    0x0007cbf8 bnez v0, 0x7cf20              |         goto label_46;
                                             |     }
    0x0007cbfc lw v0, 0x24(fp)               |     v0 = *(arg_24h);
    0x0007cc00 addiu a1, zero, 0x3c          |     a1 = 0x3c;
    0x0007cc04 lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x0007cc08 lbu v0, (a0)                  |     v0 = *(a0);
    0x0007cc0c addiu a1, zero, 0x21          |     a1 = 0x21;
                                             |     if (v0 != a1) {
    0x0007cc10 bne v0, a1, 0x7ce48           |         goto label_20;
                                             |     }
    0x0007cc14 lbu v0, 1(a0)                 |     v0 = *((a0 + 1));
    0x0007cc18 lw t9, -0x6f14(gp)            |     t9 = *((gp - 7109));
                                             |     if (v0 == a1) {
    0x0007cc1c beq v0, a1, 0x7cf78           |         goto label_47;
                                             |     }
    0x0007cc20 addiu a0, zero, 0x3f          |     a0 = 0x3f;
                                             | label_21:
    0x0007cc24 lw t9, 0x38(sp)               |     t9 = *(var_38h_2);
                                             |     if (v0 == a0) {
    0x0007cc28 beq v0, a0, 0x7d008           |         goto label_48;
                                             |     }
    0x0007cc2c lw t9, -0x7990(gp)            |     t9 = *((gp - 7780));
                                             | label_16:
    0x0007cc30 move a0, fp                   |     a0 = fp;
    0x0007cc34 bal 0x7c8e8                   |     sym_htmlParseElement ();
                                             |     goto label_1;
    0x0007cc38 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             | label_15:
    0x0007cc3c lw v0, 0xc8(fp)               |     v0 = *(arg_c8h);
                                             |     if (s0 == v0) {
    0x0007cc40 beql s0, v0, 0x7ce78          |         goto label_49;
                                             |     }
    0x0007cc44 lw v0, 0x34(fp)               |     v0 = *(arg_34h);
                                             | label_8:
    0x0007cc48 lw v0, 0x124(fp)              |     v0 = *(arg_124h);
                                             |     if (v0 != 0) {
    0x0007cc4c bnez v0, 0x7cb58              |         goto label_2;
                                             |     }
    0x0007cc50 nop                           |     
    0x0007cc54 lw a0, 0x24(fp)               |     a0 = *(arg_24h);
    0x0007cc58 lw v0, 0x14(a0)               |     v0 = *((a0 + 5));
    0x0007cc5c lw a1, 0x10(a0)               |     a1 = *((a0 + 4));
    0x0007cc60 subu v0, v0, a1               |     __asm ("subu v0, v0, a1");
    0x0007cc64 slti v0, v0, 0xfa             |     v0 = (v0 < 0xfa) ? 1 : 0;
    0x0007cc68 lw t9, -0x7ef8(gp)            |     t9 = *((gp - 8126));
                                             |     if (v0 != 0) {
    0x0007cc6c bnez v0, 0x7cf54              |         goto label_50;
                                             |     }
    0x0007cc70 lw s0, 0xc8(fp)               |     s0 = *(arg_c8h);
                                             | label_13:
    0x0007cc74 lw v0, 0x14(a0)               |     v0 = *((a0 + 5));
    0x0007cc78 lw a1, 0x10(a0)               |     a1 = *((a0 + 4));
    0x0007cc7c subu v0, v0, a1               |     __asm ("subu v0, v0, a1");
    0x0007cc80 slti v0, v0, 0xfa             |     v0 = (v0 < 0xfa) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x0007cc84 beql v0, zero, 0x7cb64        |         goto label_3;
                                             |     }
    0x0007cc88 lw a0, 0xac(fp)               |     a0 = *(arg_ach);
    0x0007cc8c lw t9, -0x7ef8(gp)            |     t9 = *((gp - 8126));
    0x0007cc90 addiu a1, zero, 0xfa          |     a1 = 0xfa;
    0x0007cc94 jalr t9                       |     t9 ();
    0x0007cc98 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007cc9c b 0x7cb60                     |     goto label_4;
                                             | label_33:
    0x0007cca0 addiu v0, zero, 0x3e          |     v0 = 0x3e;
    0x0007cca4 lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
                                             |     if (a2 != v0) {
    0x0007cca8 bne a2, v0, 0x7cdbc           |         goto label_51;
                                             |     }
    0x0007ccac lw a2, 0xc8(fp)               |     a2 = *(arg_c8h);
    0x0007ccb0 lw v0, 0x20(a1)               |     v0 = *((a1 + 8));
    0x0007ccb4 lw a3, (fp)                   |     a3 = *(fp);
    0x0007ccb8 addiu a2, a2, 2               |     a2 += 2;
    0x0007ccbc addiu a0, a0, 2               |     a0 += 2;
    0x0007ccc0 addiu v0, v0, 2               |     v0 += 2;
    0x0007ccc4 sw a2, 0xc8(fp)               |     *(arg_c8h) = a2;
    0x0007ccc8 sw a0, 0x10(a1)               |     *((a1 + 4)) = a0;
    0x0007cccc sw v0, 0x20(a1)               |     *((a1 + 8)) = v0;
                                             |     if (a3 != 0) {
    0x0007ccd0 beqz a3, 0x7ccf0              |         
    0x0007ccd4 lw t9, 0x3c(a3)               |         t9 = *((a3 + 15));
                                             |         if (t9 == 0) {
    0x0007ccd8 beql t9, zero, 0x7ccf4        |             goto label_25;
                                             |         }
    0x0007ccdc lw v0, 0xbc(fp)               |         v0 = *(arg_bch);
    0x0007cce0 lw a0, 4(fp)                  |         a0 = *(arg_4h);
                                             | label_26:
    0x0007cce4 move a1, s2                   |         a1 = s2;
    0x0007cce8 jalr t9                       |         t9 ();
    0x0007ccec lw gp, 0x18(sp)               |         gp = *(var_18h_3);
                                             |     }
    0x0007ccf0 lw v0, 0xbc(fp)               |     v0 = *(arg_bch);
                                             | label_25:
    0x0007ccf4 addiu a0, v0, -1              |     a0 = v0 + -1;
                                             |     if (v0 > 0) {
    0x0007ccf8 blez v0, 0x7cd24              |         
    0x0007ccfc sw a0, 0xbc(fp)               |         *(arg_bch) = a0;
    0x0007cd00 lw a1, 0xc4(fp)               |         a1 = *(arg_c4h);
                                             |         if (a0 == 0) {
    0x0007cd04 beqz a0, 0x7d310              |             goto label_52;
                                             |         }
    0x0007cd08 sll v0, v0, 2                 |         v0 <<= 2;
    0x0007cd0c addiu v0, v0, -8              |         v0 += -8;
    0x0007cd10 lwx v0, v0(a1)                |         __asm ("lwx v0, v0(a1)");
                                             | label_28:
    0x0007cd14 sll a0, a0, 2                 |         a0 <<= 2;
    0x0007cd18 addu a0, a1, a0               |         a0 = a1 + a0;
    0x0007cd1c sw v0, 0xb8(fp)               |         *(arg_b8h) = v0;
    0x0007cd20 sw zero, (a0)                 |         *(a0) = 0;
                                             |     }
                                             | label_5:
    0x0007cd24 lw v0, 0x28(sp)               |     v0 = *(var_28h);
                                             |     do {
                                             | label_6:
    0x0007cd28 lw v1, 0x54(sp)               |         v1 = *(var_54h);
    0x0007cd2c lw v0, (v0)                   |         v0 = *(v0);
    0x0007cd30 lw ra, 0x7c(sp)               |         ra = *(var_7ch);
                                             |         if (v1 != v0) {
    0x0007cd34 bne v1, v0, 0x7d318           |             goto label_53;
                                             |         }
    0x0007cd38 lw fp, 0x78(sp)               |         fp = *(var_78h_3);
    0x0007cd3c lw s7, 0x74(sp)               |         s7 = *(var_74h_3);
    0x0007cd40 lw s6, 0x70(sp)               |         s6 = *(var_70h_3);
    0x0007cd44 lw s5, 0x6c(sp)               |         s5 = *(var_6ch_3);
    0x0007cd48 lw s4, 0x68(sp)               |         s4 = *(var_68h_3);
    0x0007cd4c lw s3, 0x64(sp)               |         s3 = *(var_64h_3);
    0x0007cd50 lw s2, 0x60(sp)               |         s2 = *(var_60h_3);
    0x0007cd54 lw s1, 0x5c(sp)               |         s1 = *(var_5ch_3);
    0x0007cd58 lw s0, 0x58(sp)               |         s0 = *(var_58h_3);
    0x0007cd5c addiu sp, sp, 0x80            |         
    0x0007cd60 jr ra                         |         return v0;
                                             | label_31:
    0x0007cd64 lw a0, 0x24(fp)               |         a0 = *(arg_24h);
    0x0007cd68 addiu v0, zero, 0x3e          |         v0 = 0x3e;
    0x0007cd6c lw a0, 0x10(a0)               |         a0 = *((a0 + 4));
    0x0007cd70 lbu a0, (a0)                  |         a0 = *(a0);
    0x0007cd74 lw v0, 0x28(sp)               |         v0 = *(var_28h_3);
    0x0007cd78 bne a0, v0, 0x7cd28           |         
                                             |     } while (a0 != v0);
    0x0007cd7c lw t9, -0x7e30(gp)            |     t9 = *((gp - 8076));
    0x0007cd80 move a0, fp                   |     a0 = fp;
    0x0007cd84 jalr t9                       |     t9 ();
    0x0007cd88 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007cd8c b 0x7cd24                     |     goto label_5;
                                             | label_29:
    0x0007cd90 lw t9, -0x7a48(gp)            |     t9 = *(gp);
                                             | label_30:
    0x0007cd94 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0007cd98 move a3, zero                 |     a3 = 0;
    0x0007cd9c addiu a2, a2, -0x3908         |     a2 += -aav.0x00003908;
    0x0007cda0 addiu a1, zero, 1             |     a1 = 1;
    0x0007cda4 addiu t9, t9, 0x4770          |     t9 += 0x4770;
    0x0007cda8 move a0, fp                   |     a0 = fp;
    0x0007cdac bal 0x74770                   |     fcn_00074770 ();
    0x0007cdb0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0007cdb4 b 0x7cd24                     |     goto label_5;
                                             | label_34:
    0x0007cdb8 lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
                                             | label_51:
    0x0007cdbc lw t9, -0x7a48(gp)            |     t9 = *(gp);
    0x0007cdc0 move a3, s2                   |     a3 = s2;
    0x0007cdc4 addiu a2, a2, -0x7138         |     a2 += -aav.0x00007138;
    0x0007cdc8 addiu a1, zero, 0x49          |     a1 = 0x49;
    0x0007cdcc move a0, fp                   |     a0 = fp;
    0x0007cdd0 addiu t9, t9, 0x4770          |     t9 += 0x4770;
    0x0007cdd4 sw zero, 0x10(sp)             |     *(var_10h_2) = 0;
    0x0007cdd8 bal 0x74770                   |     fcn_00074770 ();
    0x0007cddc lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007cde0 lw a1, 0xb8(fp)               |     a1 = *(arg_b8h);
    0x0007cde4 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x0007cde8 move a0, s2                   |     a0 = s2;
    0x0007cdec jalr t9                       |     t9 ();
    0x0007cdf0 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (v0 != 0) {
    0x0007cdf4 bnez v0, 0x7d22c              |         goto label_54;
                                             |     }
                                             | label_24:
    0x0007cdf8 lw v0, 0x44(fp)               |     v0 = *(arg_44h);
    0x0007cdfc lw v0, 0x28(sp)               |     v0 = *(var_28h_3);
                                             |     if (v0 == 0) {
    0x0007ce00 beqz v0, 0x7cd28              |         goto label_6;
                                             |     }
    0x0007ce04 lw a0, 0x24(fp)               |     a0 = *(arg_24h);
    0x0007ce08 lw a2, 0x34(fp)               |     a2 = *(arg_34h);
    0x0007ce0c lw t9, -0x7cb4(gp)            |     t9 = *((gp - 7981));
    0x0007ce10 lw a3, 0xc(a0)                |     a3 = *((a0 + 3));
    0x0007ce14 lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
    0x0007ce18 lw a1, 0x24(a0)               |     a1 = *((a0 + 9));
    0x0007ce1c subu v0, v0, a3               |     __asm ("subu v0, v0, a3");
    0x0007ce20 lw a3, 0x1c(a0)               |     a3 = *((a0 + 7));
    0x0007ce24 addu v0, v0, a1               |     v0 += a1;
    0x0007ce28 move a0, fp                   |     a0 = fp;
    0x0007ce2c addiu a1, sp, 0x40            |     a1 = sp + 0x40;
    0x0007ce30 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x0007ce34 sw a3, 0x50(sp)               |     *(var_50h) = a3;
    0x0007ce38 sw a2, 0x40(sp)               |     *(var_40h) = a2;
    0x0007ce3c jalr t9                       |     t9 ();
    0x0007ce40 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007ce44 b 0x7cd24                     |     goto label_5;
                                             | label_20:
    0x0007ce48 addiu a0, zero, 0x26          |     a0 = 0x26;
    0x0007ce4c lw t9, 0x24(sp)               |     t9 = *(var_24h_2);
                                             |     if (v0 == a0) {
    0x0007ce50 beq v0, a0, 0x7cf68           |         goto label_55;
                                             |     }
    0x0007ce54 move a1, zero                 |     a1 = 0;
                                             |     if (v0 == 0) {
    0x0007ce58 beqz v0, 0x7cac0              |         goto label_7;
                                             |     }
    0x0007ce5c move t9, s4                   |     t9 = s4;
    0x0007ce60 move a0, fp                   |     a0 = fp;
    0x0007ce64 bal 0x792b4                   |     fcn_000792b4 ();
    0x0007ce68 lw v0, 0xc8(fp)               |     v0 = *(arg_c8h);
    0x0007ce6c lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (s0 != v0) {
    0x0007ce70 bne s0, v0, 0x7cc48           |         goto label_8;
                                             |     }
    0x0007ce74 lw v0, 0x34(fp)               |     v0 = *(arg_34h);
                                             | label_49:
    0x0007ce78 lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
                                             |     if (v0 == 0) {
    0x0007ce7c beqz v0, 0x7cad4              |         goto label_9;
                                             |     }
    0x0007ce80 lw t9, -0x7a48(gp)            |     t9 = *(gp);
    0x0007ce84 sw zero, 0x10(sp)             |     *(var_10h_2) = 0;
    0x0007ce88 move a3, zero                 |     a3 = 0;
    0x0007ce8c addiu a2, a2, -0x720c         |     a2 += -0x720c;
    0x0007ce90 addiu a1, zero, 1             |     a1 = 1;
    0x0007ce94 addiu t9, t9, 0x4770          |     t9 += 0x4770;
    0x0007ce98 move a0, fp                   |     a0 = fp;
    0x0007ce9c bal 0x74770                   |     fcn_00074770 ();
    0x0007cea0 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (s1 != 0) {
    0x0007cea4 bnez s1, 0x7cadc              |         goto label_10;
                                             |     }
    0x0007cea8 lw a0, 0x24(fp)               |     a0 = *(arg_24h);
                                             | label_18:
    0x0007ceac lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
    0x0007ceb0 b 0x7caf8                     |     goto label_11;
                                             | label_44:
    0x0007ceb4 lw t9, -0x7a48(gp)            |     t9 = *(gp);
                                             | label_45:
    0x0007ceb8 addiu t9, t9, 0x5a54          |     t9 += 0x5a54;
    0x0007cebc addiu a1, fp, 0x128           |     a1 = fp + aav.0x00000128;
    0x0007cec0 bal 0x75a54                   |     fcn_00075a54 ();
    0x0007cec4 move s7, v0                   |     s7 = v0;
    0x0007cec8 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (v0 == 0) {
    0x0007cecc beqz v0, 0x7d17c              |         goto label_56;
                                             |     }
    0x0007ced0 lw a1, 0xb8(fp)               |     a1 = *(arg_b8h);
    0x0007ced4 lw t9, -0x7a48(gp)            |     t9 = *(gp);
                                             |     if (a1 == 0) {
    0x0007ced8 beqz a1, 0x7ca98              |         goto label_12;
                                             |     }
    0x0007cedc addiu t9, t9, 0x66cc          |     t9 += aav.0x000066cc;
    0x0007cee0 move a0, v0                   |     a0 = v0;
    0x0007cee4 bal 0x766cc                   |     fcn_000766cc ();
    0x0007cee8 addiu a0, zero, 1             |     a0 = 1;
    0x0007ceec lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (v0 != a0) {
    0x0007cef0 bne v0, a0, 0x7ca98           |         goto label_12;
                                             |     }
    0x0007cef4 lw t9, -0x7a48(gp)            |     t9 = *(gp);
    0x0007cef8 move a1, s7                   |     a1 = s7;
    0x0007cefc addiu t9, t9, 0x6824          |     t9 += aav.0x00006824;
    0x0007cf00 move a0, fp                   |     a0 = fp;
    0x0007cf04 bal 0x76824                   |     fcn_00076824 ();
    0x0007cf08 lw v0, 0x124(fp)              |     v0 = *(arg_124h);
    0x0007cf0c lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007cf10 lw s0, 0xc8(fp)               |     s0 = *(arg_c8h);
                                             |     if (v0 != 0) {
    0x0007cf14 bnez v0, 0x7cb60              |         goto label_4;
                                             |     }
                                             | label_42:
    0x0007cf18 lw a0, 0x24(fp)               |     a0 = *(arg_24h);
    0x0007cf1c b 0x7cc74                     |     goto label_13;
                                             | label_46:
    0x0007cf20 lw t9, -0x7994(gp)            |     t9 = *(gp);
    0x0007cf24 addiu t9, t9, -0x7154         |     t9 += -0x7154;
    0x0007cf28 move a0, fp                   |     a0 = fp;
    0x0007cf2c bal 0x78eac                   |     fcn_00078eac ();
    0x0007cf30 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007cf34 b 0x7cc48                     |     goto label_8;
                                             | label_37:
    0x0007cf38 lw a1, 0xb8(fp)               |     a1 = *(arg_b8h);
    0x0007cf3c move a0, s1                   |     a0 = s1;
    0x0007cf40 jalr t9                       |     t9 ();
    0x0007cf44 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (v0 != 0) {
    0x0007cf48 bnez v0, 0x7caac              |         goto label_14;
                                             |     }
    0x0007cf4c b 0x7cad4                     |     goto label_9;
    0x0007cf50 nop                           |     
                                             | label_50:
    0x0007cf54 addiu a1, zero, 0xfa          |     a1 = 0xfa;
    0x0007cf58 jalr t9                       |     t9 ();
    0x0007cf5c lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007cf60 lw v0, 0x124(fp)              |     v0 = *(arg_124h);
    0x0007cf64 b 0x7cb58                     |     goto label_2;
                                             | label_55:
    0x0007cf68 move a0, fp                   |     a0 = fp;
    0x0007cf6c jalr t9                       |     t9 ();
    0x0007cf70 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007cf74 b 0x7cc3c                     |     goto label_15;
                                             | label_47:
    0x0007cf78 sw a0, 0x20(sp)               |     *(var_20h) = a0;
    0x0007cf7c jalr t9                       |     t9 ();
    0x0007cf80 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x0007cf84 lw v0, (v0)                   |     v0 = *(v0);
    0x0007cf88 addiu a2, zero, 0x44          |     a2 = 0x44;
    0x0007cf8c lbu a1, 2(a0)                 |     a1 = *((a0 + 2));
    0x0007cf90 sll a1, a1, 2                 |     a1 <<= 2;
    0x0007cf94 lwx a1, a1(v0)                |     __asm ("lwx a1, a1(v0)");
    0x0007cf98 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (a1 == a2) {
    0x0007cf9c beq a1, a2, 0x7d018           |         goto label_57;
                                             |     }
    0x0007cfa0 lbu v0, 2(a0)                 |     v0 = *((a0 + 2));
                                             | label_19:
    0x0007cfa4 addiu a1, zero, 0x2d          |     a1 = 0x2d;
    0x0007cfa8 lw t9, -0x7990(gp)            |     t9 = *((gp - 7780));
                                             |     if (v0 != a1) {
    0x0007cfac bne v0, a1, 0x7cc30           |         goto label_16;
                                             |     }
    0x0007cfb0 lbu a0, 3(a0)                 |     a0 = *((a0 + 3));
                                             |     if (a0 != v0) {
    0x0007cfb4 bne a0, v0, 0x7cc30           |         goto label_16;
                                             |     }
    0x0007cfb8 nop                           |     
    0x0007cfbc lw t9, -0x7994(gp)            |     t9 = *(gp);
    0x0007cfc0 addiu t9, t9, -0x7e84         |     t9 += -0x7e84;
    0x0007cfc4 move a0, fp                   |     a0 = fp;
    0x0007cfc8 bal 0x7817c                   |     fcn_0007817c ();
    0x0007cfcc lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007cfd0 b 0x7cc3c                     |     goto label_15;
                                             | label_43:
    0x0007cfd4 lw t9, -0x7a48(gp)            |     t9 = *(gp);
    0x0007cfd8 addiu t9, t9, 0x4e4c          |     t9 += 0x4e4c;
    0x0007cfdc move a0, fp                   |     a0 = fp;
    0x0007cfe0 bal 0x74e4c                   |     fcn_00074e4c ();
    0x0007cfe4 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (v0 == 0) {
    0x0007cfe8 beqz v0, 0x7d000              |         goto label_58;
                                             |     }
    0x0007cfec lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             |     if (s1 != 0) {
    0x0007cff0 bnez s1, 0x7cae0              |         goto label_17;
                                             |     }
    0x0007cff4 lw v0, 0xbc(fp)               |     v0 = *(arg_bch);
                                             |     if (v0 == 0) {
    0x0007cff8 beql v0, zero, 0x7ceac        |         goto label_18;
                                             |     }
    0x0007cffc lw a0, 0x24(fp)               |     a0 = *(arg_24h);
                                             | label_58:
    0x0007d000 lw v0, 0x124(fp)              |     v0 = *(arg_124h);
    0x0007d004 b 0x7cb58                     |     goto label_2;
                                             | label_48:
    0x0007d008 move a0, fp                   |     a0 = fp;
    0x0007d00c jalr t9                       |     t9 ();
    0x0007d010 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007d014 b 0x7cc3c                     |     goto label_15;
                                             | label_57:
    0x0007d018 lbu a1, 3(a0)                 |     a1 = *((a0 + 3));
    0x0007d01c addiu a2, zero, 0x4f          |     a2 = 0x4f;
    0x0007d020 sll a1, a1, 2                 |     a1 <<= 2;
    0x0007d024 lwx a1, a1(v0)                |     __asm ("lwx a1, a1(v0)");
    0x0007d028 lbu v0, 2(a0)                 |     v0 = *((a0 + 2));
                                             |     if (a1 == a2) {
    0x0007d02c bnel a1, a2, 0x7cfa4          |         goto label_19;
                                             |     }
    0x0007d030 lbu a1, 4(a0)                 |     a1 = *((a0 + 4));
    0x0007d034 addiu a2, zero, 0x43          |     a2 = 0x43;
    0x0007d038 sll a1, a1, 2                 |     a1 <<= 2;
    0x0007d03c lwx a1, a1(v0)                |     __asm ("lwx a1, a1(v0)");
    0x0007d040 lbu v0, 2(a0)                 |     v0 = *((a0 + 2));
                                             |     if (a1 == a2) {
    0x0007d044 bnel a1, a2, 0x7cfa4          |         goto label_19;
                                             |     }
    0x0007d048 lbu a1, 5(a0)                 |     a1 = *((a0 + 5));
    0x0007d04c addiu a2, zero, 0x54          |     a2 = 0x54;
    0x0007d050 sll a1, a1, 2                 |     a1 <<= 2;
    0x0007d054 lwx a1, a1(v0)                |     __asm ("lwx a1, a1(v0)");
    0x0007d058 lbu v0, 2(a0)                 |     v0 = *((a0 + 2));
                                             |     if (a1 == a2) {
    0x0007d05c bnel a1, a2, 0x7cfa4          |         goto label_19;
                                             |     }
    0x0007d060 lbu a1, 6(a0)                 |     a1 = *((a0 + 6));
    0x0007d064 addiu a2, zero, 0x59          |     a2 = 0x59;
    0x0007d068 sll a1, a1, 2                 |     a1 <<= 2;
    0x0007d06c lwx a1, a1(v0)                |     __asm ("lwx a1, a1(v0)");
    0x0007d070 lbu v0, 2(a0)                 |     v0 = *((a0 + 2));
                                             |     if (a1 == a2) {
    0x0007d074 bnel a1, a2, 0x7cfa4          |         goto label_19;
                                             |     }
    0x0007d078 lbu a1, 7(a0)                 |     a1 = *((a0 + 7));
    0x0007d07c addiu a2, zero, 0x50          |     a2 = 0x50;
    0x0007d080 sll a1, a1, 2                 |     a1 <<= 2;
    0x0007d084 lwx a1, a1(v0)                |     __asm ("lwx a1, a1(v0)");
    0x0007d088 lbu v0, 2(a0)                 |     v0 = *((a0 + 2));
                                             |     if (a1 == a2) {
    0x0007d08c bnel a1, a2, 0x7cfa4          |         goto label_19;
                                             |     }
    0x0007d090 lbu a1, 8(a0)                 |     a1 = *((a0 + 8));
    0x0007d094 addiu a2, zero, 0x45          |     a2 = 0x45;
    0x0007d098 sll a1, a1, 2                 |     a1 <<= 2;
    0x0007d09c lwx v0, a1(v0)                |     __asm ("lwx v0, a1(v0)");
    0x0007d0a0 lbu v0, 2(a0)                 |     v0 = *((a0 + 2));
                                             |     if (v0 == a2) {
    0x0007d0a4 bnel v0, a2, 0x7cfa4          |         goto label_19;
                                             |     }
    0x0007d0a8 lw a3, -0x7f94(gp)            |     a3 = *((gp - 8165));
    0x0007d0ac lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
    0x0007d0b0 lw t9, -0x7a48(gp)            |     t9 = *(gp);
    0x0007d0b4 addiu a1, zero, 0x320         |     a1 = aav.0x00000320;
    0x0007d0b8 addiu a3, a3, -0x3940         |     a3 += -0x3940;
    0x0007d0bc addiu a2, a2, -0x3938         |     a2 += -0x3938;
    0x0007d0c0 move a0, fp                   |     a0 = fp;
    0x0007d0c4 addiu t9, t9, 0x4770          |     t9 += 0x4770;
    0x0007d0c8 sw zero, 0x10(sp)             |     *(var_10h_2) = 0;
    0x0007d0cc bal 0x74770                   |     fcn_00074770 ();
    0x0007d0d0 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007d0d4 lw t9, -0x7a48(gp)            |     t9 = *(gp);
    0x0007d0d8 addiu t9, t9, 0x7adc          |     t9 += 0x7adc;
    0x0007d0dc move a0, fp                   |     a0 = fp;
    0x0007d0e0 bal 0x77adc                   |     fcn_00077adc ();
    0x0007d0e4 lw v0, 0x24(fp)               |     v0 = *(arg_24h);
    0x0007d0e8 addiu a1, zero, 0x3c          |     a1 = 0x3c;
    0x0007d0ec lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x0007d0f0 lbu v0, (a0)                  |     v0 = *(a0);
    0x0007d0f4 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (v0 != a1) {
    0x0007d0f8 bne v0, a1, 0x7ce48           |         goto label_20;
                                             |     }
    0x0007d0fc lbu v0, 1(a0)                 |     v0 = *((a0 + 1));
    0x0007d100 addiu a1, zero, 0x21          |     a1 = 0x21;
                                             |     if (v0 == a1) {
    0x0007d104 beql v0, a1, 0x7cfa4          |         goto label_19;
                                             |     }
    0x0007d108 lbu v0, 2(a0)                 |     v0 = *((a0 + 2));
    0x0007d10c addiu a0, zero, 0x3f          |     a0 = 0x3f;
    0x0007d110 b 0x7cc24                     |     goto label_21;
                                             | label_39:
    0x0007d114 lw v0, 0x3c(sp)               |     v0 = *(var_3ch_2);
                                             |     if (v0 == 0) {
                                             | label_41:
    0x0007d118 beql v0, zero, 0x7d298        |         goto label_59;
                                             |     }
    0x0007d11c lbu a0, (s5)                  |     a0 = *(s5);
    0x0007d120 lw v0, 0x44(fp)               |     v0 = *(arg_44h);
    0x0007d124 lw v0, 0xc(a0)                |     v0 = *((a0 + 3));
                                             |     if (v0 == 0) {
    0x0007d128 bnel v0, zero, 0x7d2d0        |         goto label_60;
                                             |     }
                                             | label_27:
    0x0007d12c lbu a0, (s5)                  |     a0 = *(s5);
    0x0007d130 addiu v0, a0, -9              |     v0 = a0 + -9;
    0x0007d134 sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x0007d138 addiu v0, zero, 0xd           |     v0 = 0xd;
                                             |     if (v0 == 0) {
    0x0007d13c bnez v0, 0x7d164              |         
    0x0007d140 sltiu a0, a0, 0x20            |         a0 = (a0 < 0x20) ? 1 : 0;
                                             |         if (a0 == v0) {
    0x0007d144 beq a0, v0, 0x7d164           |             goto label_61;
                                             |         }
    0x0007d148 lw v0, -0x7158(gp)            |         v0 = *(gp);
                                             |         if (a0 == 0) {
    0x0007d14c beqz a0, 0x7d168              |             goto label_62;
                                             |         }
    0x0007d150 lw t9, -0x7a48(gp)            |         t9 = *(gp);
    0x0007d154 addiu t9, t9, 0x4610          |         t9 += 0x4610;
    0x0007d158 move a0, fp                   |         a0 = fp;
    0x0007d15c bal 0x74610                   |         fcn_00074610 ();
    0x0007d160 lw gp, 0x18(sp)               |         gp = *(var_18h_3);
                                             |     }
                                             | label_61:
    0x0007d164 lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             | label_62:
    0x0007d168 lw t9, (v0)                   |     t9 = *(v0);
    0x0007d16c lw a0, 0x3c(sp)               |     a0 = *(var_3ch_2);
    0x0007d170 jalr t9                       |     t9 ();
    0x0007d174 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007d178 b 0x7cd24                     |     goto label_5;
                                             | label_56:
    0x0007d17c lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
    0x0007d180 lw t9, -0x7a48(gp)            |     t9 = *(gp);
    0x0007d184 sw zero, 0x10(sp)             |     *(var_10h_2) = 0;
    0x0007d188 move a3, zero                 |     a3 = 0;
    0x0007d18c addiu a2, a2, -0x3a78         |     a2 += -0x3a78;
    0x0007d190 addiu a1, zero, 0x44          |     a1 = 0x44;
    0x0007d194 addiu t9, t9, 0x4770          |     t9 += 0x4770;
    0x0007d198 move a0, fp                   |     a0 = fp;
    0x0007d19c bal 0x74770                   |     fcn_00074770 ();
    0x0007d1a0 addiu s0, zero, 0xd           |     s0 = 0xd;
    0x0007d1a4 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007d1a8 addiu s2, zero, 0x3e          |     s2 = 0x3e;
    0x0007d1ac b 0x7d1bc                     |     
                                             |     while (a1 != 0) {
                                             | label_22:
    0x0007d1b0 move a0, fp                   |         a0 = fp;
    0x0007d1b4 jalr t9                       |         t9 ();
    0x0007d1b8 lw gp, 0x18(sp)               |         gp = *(var_18h_3);
    0x0007d1bc lw a0, 0x24(fp)               |         a0 = *(arg_24h);
    0x0007d1c0 lw v0, 0x10(a0)               |         v0 = *((a0 + 4));
    0x0007d1c4 lbu a2, (v0)                  |         a2 = *(v0);
    0x0007d1c8 addiu a1, a2, -9              |         a1 = a2 + -9;
    0x0007d1cc sltiu a1, a1, 2               |         a1 = (a1 < 2) ? 1 : 0;
    0x0007d1d0 lw t9, 0x34(sp)               |         t9 = *(var_34h_2);
    0x0007d1d4 bnez a1, 0x7d1b0              |         
                                             |     }
    0x0007d1d8 sltiu a1, a2, 0x20            |     a1 = (a2 < 0x20) ? 1 : 0;
                                             |     if (a2 == s0) {
    0x0007d1dc beq a2, s0, 0x7d1b0           |         goto label_22;
                                             |     }
                                             |     if (a1 != 0) {
    0x0007d1e0 bnez a1, 0x7d1f0              |         goto label_63;
                                             |     }
    0x0007d1e4 nop                           |     
                                             |     if (a2 != s2) {
    0x0007d1e8 bne a2, s2, 0x7d1b0           |         goto label_22;
                                             |     }
    0x0007d1ec nop                           |     
                                             | label_63:
    0x0007d1f0 lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             |     if (s1 == 0) {
    0x0007d1f4 bnel s1, zero, 0x7cae0        |         goto label_17;
                                             |     }
    0x0007d1f8 b 0x7caf8                     |     goto label_11;
    0x0007d1fc nop                           |     
                                             | label_32:
    0x0007d200 lw t9, -0x7a48(gp)            |     t9 = *(gp);
    0x0007d204 sw zero, 0x10(sp)             |     *(var_10h_2) = 0;
    0x0007d208 move a3, s2                   |     a3 = s2;
    0x0007d20c addiu a2, a2, -0x3918         |     a2 += -0x3918;
    0x0007d210 addiu a1, zero, 0x321         |     a1 = 0x321;
    0x0007d214 addiu t9, t9, 0x4770          |     t9 += 0x4770;
    0x0007d218 move a0, fp                   |     a0 = fp;
    0x0007d21c bal 0x74770                   |     fcn_00074770 ();
    0x0007d220 move s0, zero                 |     s0 = 0;
    0x0007d224 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007d228 b 0x7ca08                     |     goto label_23;
                                             | label_54:
    0x0007d22c lw t9, -0x7cac(gp)            |     t9 = *(gp);
    0x0007d230 move a0, fp                   |     a0 = fp;
    0x0007d234 jalr t9                       |     t9 ();
    0x0007d238 lw v0, 0xbc(fp)               |     v0 = *(arg_bch);
    0x0007d23c lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (v0 <= 0) {
    0x0007d240 blez v0, 0x7cdf8              |         goto label_24;
                                             |     }
    0x0007d244 addiu a0, v0, -1              |     a0 = v0 + -1;
    0x0007d248 sw a0, 0xbc(fp)               |     *(arg_bch) = a0;
    0x0007d24c lw a1, 0xc4(fp)               |     a1 = *(arg_c4h);
                                             |     if (a0 == 0) {
    0x0007d250 beqz a0, 0x7d274              |         goto label_64;
                                             |     }
    0x0007d254 sll v0, v0, 2                 |     v0 <<= 2;
    0x0007d258 addiu v0, v0, -8              |     v0 += -8;
    0x0007d25c lwx v0, v0(a1)                |     __asm ("lwx v0, v0(a1)");
                                             |     do {
    0x0007d260 sll a0, a0, 2                 |         a0 <<= 2;
    0x0007d264 addu a0, a1, a0               |         a0 = a1 + a0;
    0x0007d268 sw v0, 0xb8(fp)               |         *(arg_b8h) = v0;
    0x0007d26c sw zero, (a0)                 |         *(a0) = 0;
    0x0007d270 b 0x7cdf8                     |         goto label_24;
                                             | label_64:
    0x0007d274 move v0, zero                 |         v0 = 0;
    0x0007d278 b 0x7d260                     |         
                                             |     } while (1);
                                             |     if (v0 == 0) {
                                             | label_35:
    0x0007d27c beql v0, zero, 0x7ccf4        |         goto label_25;
                                             |     }
    0x0007d280 lw v0, 0xbc(fp)               |     v0 = *(arg_bch);
    0x0007d284 lw t9, 0x3c(v0)               |     t9 = *((v0 + 15));
    0x0007d288 lw a0, 4(fp)                  |     a0 = *(arg_4h);
                                             |     if (t9 == 0) {
    0x0007d28c bnel t9, zero, 0x7cce4        |         goto label_26;
                                             |     }
    0x0007d290 lw v0, 0xbc(fp)               |     v0 = *(arg_bch);
    0x0007d294 b 0x7ccf4                     |     goto label_25;
                                             | label_59:
    0x0007d298 addiu v0, a0, -9              |     v0 = a0 + -9;
    0x0007d29c sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x0007d2a0 addiu v0, zero, 0xd           |     v0 = 0xd;
                                             |     if (v0 != 0) {
    0x0007d2a4 bnez v0, 0x7cd24              |         goto label_5;
                                             |     }
    0x0007d2a8 sltiu a0, a0, 0x20            |     a0 = (a0 < 0x20) ? 1 : 0;
                                             |     if (a0 == v0) {
    0x0007d2ac beq a0, v0, 0x7cd24           |         goto label_5;
                                             |     }
    0x0007d2b0 lw v0, 0x28(sp)               |     v0 = *(var_28h_3);
                                             |     if (a0 == 0) {
    0x0007d2b4 beqz a0, 0x7cd28              |         goto label_6;
                                             |     }
    0x0007d2b8 lw t9, -0x7a48(gp)            |     t9 = *(gp);
    0x0007d2bc addiu t9, t9, 0x4610          |     t9 += 0x4610;
    0x0007d2c0 move a0, fp                   |     a0 = fp;
    0x0007d2c4 bal 0x74610                   |     fcn_00074610 ();
    0x0007d2c8 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007d2cc b 0x7cd24                     |     goto label_5;
                                             | label_60:
    0x0007d2d0 lw a1, 0x24(a0)               |     a1 = *((a0 + 9));
    0x0007d2d4 lw a3, 0x1c(a0)               |     a3 = *((a0 + 7));
    0x0007d2d8 subu v0, s5, v0               |     __asm ("subu v0, s5, v0");
    0x0007d2dc lw a2, 0x34(fp)               |     a2 = *(arg_34h);
    0x0007d2e0 addu v0, v0, a1               |     v0 += a1;
    0x0007d2e4 lw t9, -0x7cb4(gp)            |     t9 = *((gp - 7981));
    0x0007d2e8 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x0007d2ec addiu a1, sp, 0x40            |     a1 = sp + 0x40;
    0x0007d2f0 move a0, fp                   |     a0 = fp;
    0x0007d2f4 sw a3, 0x50(sp)               |     *(var_50h) = a3;
    0x0007d2f8 sw a2, 0x40(sp)               |     *(var_40h) = a2;
    0x0007d2fc jalr t9                       |     t9 ();
    0x0007d300 lw v0, 0x24(fp)               |     v0 = *(arg_24h);
    0x0007d304 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0007d308 lw s5, 0x10(v0)               |     s5 = *((v0 + 4));
    0x0007d30c b 0x7d12c                     |     goto label_27;
                                             | label_52:
    0x0007d310 move v0, zero                 |     v0 = 0;
    0x0007d314 b 0x7cd14                     |     goto label_28;
                                             | label_53:
    0x0007d318 lw t9, -0x7074(gp)            |     t9 = *((gp - 7197));
    0x0007d31c jalr t9                       |     t9 ();
    0x0007d320 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 @ 0xb0f70 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlACatalogAdd ()            | void xmlACatalogAdd () {
    0x000b0f70 lui gp, 0xe                   |     
    0x000b0f74 addiu gp, gp, 0x700           |     
    0x000b0f78 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x000b0f7c beqz a0, 0xb1630              |         goto label_8;
                                             |     }
    0x000b0f80 nop                           |     
    0x000b0f84 addiu sp, sp, -0x50           |     
    0x000b0f88 lw v1, (a0)                   |     v1 = *(a0);
    0x000b0f8c addiu v0, zero, 1             |     v0 = 1;
    0x000b0f90 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x000b0f94 sw s3, 0x38(sp)               |     *(var_38h) = s3;
    0x000b0f98 sw s2, 0x34(sp)               |     *(var_34h) = s2;
    0x000b0f9c sw s1, 0x30(sp)               |     *(var_30h) = s1;
    0x000b0fa0 sw s0, 0x2c(sp)               |     *(var_2ch) = s0;
    0x000b0fa4 sw ra, 0x4c(sp)               |     *(var_4ch) = ra;
    0x000b0fa8 sw s7, 0x48(sp)               |     *(var_48h) = s7;
    0x000b0fac sw s6, 0x44(sp)               |     *(var_44h) = s6;
    0x000b0fb0 sw s5, 0x40(sp)               |     *(var_40h) = s5;
    0x000b0fb4 sw s4, 0x3c(sp)               |     *(var_3ch) = s4;
    0x000b0fb8 move s3, a3                   |     s3 = a3;
    0x000b0fbc move s1, a2                   |     s1 = a2;
    0x000b0fc0 move s2, a1                   |     s2 = a1;
    0x000b0fc4 move s0, a0                   |     s0 = a0;
                                             |     if (v1 == v0) {
    0x000b0fc8 beq v1, v0, 0xb1078           |         goto label_9;
                                             |     }
    0x000b0fcc lw s4, -0x7f90(gp)            |     s4 = *((gp - 8164));
    0x000b0fd0 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x000b0fd4 move a0, s2                   |     a0 = s2;
    0x000b0fd8 move t9, s4                   |     t9 = s4;
    0x000b0fdc addiu a1, a1, 0x29e0          |     a1 += 0x29e0;
    0x000b0fe0 bal 0xb7e60                   |     sym_xmlStrEqual ();
    0x000b0fe4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000b0fe8 beqz v0, 0xb1054              |         goto label_10;
                                             |     }
    0x000b0fec addiu a0, zero, 0xd           |     a0 = 0xd;
                                             |     do {
                                             | label_3:
    0x000b0ff0 lw t9, -0x76bc(gp)            |         t9 = *((gp - 7599));
    0x000b0ff4 move a2, s3                   |         a2 = s3;
    0x000b0ff8 sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x000b0ffc sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x000b1000 move a3, zero                 |         a3 = 0;
    0x000b1004 addiu t9, t9, -0x2f88         |         t9 += -0x2f88;
    0x000b1008 move a1, s1                   |         a1 = s1;
    0x000b100c bal 0xad078                   |         fcn_000ad078 ();
    0x000b1010 lw a0, 0x34(s0)               |         a0 = *((s0 + 13));
    0x000b1014 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000b1018 move a2, v0                   |         a2 = v0;
                                             |         if (a0 == 0) {
    0x000b101c beqz a0, 0xb1284              |             goto label_11;
                                             |         }
    0x000b1020 lw ra, 0x4c(sp)               |         ra = *(var_4ch);
    0x000b1024 lw s7, 0x48(sp)               |         s7 = *(var_48h);
    0x000b1028 lw s6, 0x44(sp)               |         s6 = *(var_44h);
    0x000b102c lw s5, 0x40(sp)               |         s5 = *(var_40h);
    0x000b1030 lw s4, 0x3c(sp)               |         s4 = *(var_3ch);
    0x000b1034 lw s3, 0x38(sp)               |         s3 = *(var_38h);
    0x000b1038 lw s2, 0x34(sp)               |         s2 = *(var_34h);
    0x000b103c lw s0, 0x2c(sp)               |         s0 = *(var_2ch);
    0x000b1040 move a1, s1                   |         a1 = s1;
    0x000b1044 lw t9, -0x7fb8(gp)            |         t9 = *(gp);
    0x000b1048 lw s1, 0x30(sp)               |         s1 = *(var_30h);
    0x000b104c addiu sp, sp, 0x50            |         
    0x000b1050 jr t9                         |         t9 ();
                                             | label_10:
    0x000b1054 lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b1058 move a0, s2                   |         a0 = s2;
    0x000b105c move t9, s4                   |         t9 = s4;
    0x000b1060 addiu a1, a1, 0x29e8          |         a1 += 0x29e8;
    0x000b1064 bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b1068 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x000b106c beqz v0, 0xb11d0              |             goto label_12;
                                             |         }
    0x000b1070 addiu a0, zero, 0xe           |         a0 = 0xe;
    0x000b1074 b 0xb0ff0                     |         
                                             |     } while (1);
                                             | label_9:
    0x000b1078 lw s5, 0x3c(a0)               |     s5 = *((a0 + 15));
    0x000b107c addiu v0, zero, -1            |     v0 = -1;
                                             |     if (s5 == 0) {
    0x000b1080 beqz s5, 0xb1320              |         goto label_4;
                                             |     }
    0x000b1084 lw v0, 0xc(s5)                |     v0 = *((s5 + 3));
    0x000b1088 addiu v0, v0, -1              |     v0 += -1;
    0x000b108c sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x000b1090 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (v0 == 0) {
    0x000b1094 beqz v0, 0xb1320              |         goto label_4;
                                             |     }
    0x000b1098 lw s6, 8(s5)                  |     s6 = *((s5 + 2));
    0x000b109c lw t9, -0x76bc(gp)            |     t9 = *((gp - 7599));
                                             |     if (s6 == 0) {
    0x000b10a0 beqz s6, 0xb138c              |         goto label_13;
                                             |     }
                                             | label_5:
    0x000b10a4 lw s4, -0x7f90(gp)            |     s4 = *((gp - 8164));
    0x000b10a8 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x000b10ac move a0, s2                   |     a0 = s2;
    0x000b10b0 move t9, s4                   |     t9 = s4;
    0x000b10b4 addiu a1, a1, 0x27b8          |     a1 += 0x27b8;
    0x000b10b8 bal 0xb7e60                   |     sym_xmlStrEqual ();
    0x000b10bc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000b10c0 beqz v0, 0xb1190              |         goto label_14;
                                             |     }
    0x000b10c4 addiu s7, zero, 6             |     s7 = 6;
                                             | label_2:
    0x000b10c8 lw s0, 8(s5)                  |     s0 = *((s5 + 2));
    0x000b10cc lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
                                             |     if (s0 != 0) {
    0x000b10d0 bnez s0, 0xb10ec              |         goto label_15;
                                             |     }
    0x000b10d4 lw v0, -0x4ad8(v0)            |     v0 = *(v0);
    0x000b10d8 b 0xb1210                     |     goto label_16;
                                             | label_1:
    0x000b10dc lw v0, (s0)                   |     v0 = *(s0);
                                             |     do {
                                             |         if (v0 == 0) {
                                             | label_0:
    0x000b10e0 beql v0, zero, 0xb12d8        |             goto label_17;
                                             |         }
    0x000b10e4 lw v0, -0x7fe4(gp)            |         v0 = *((gp - 8185));
    0x000b10e8 move s0, v0                   |         s0 = v0;
                                             | label_15:
    0x000b10ec beql s1, zero, 0xb10e0        |         
                                             |     } while (s1 == 0);
    0x000b10f0 lw v0, (s0)                   |     v0 = *(s0);
    0x000b10f4 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x000b10f8 lw v0, (s0)                   |     v0 = *(s0);
                                             |     if (v0 == s7) {
    0x000b10fc bnel v0, s7, 0xb10e0          |         goto label_0;
                                             |     }
    0x000b1100 lw a1, 0x10(s0)               |     a1 = *((s0 + 4));
    0x000b1104 move t9, s4                   |     t9 = s4;
    0x000b1108 move a0, s1                   |     a0 = s1;
    0x000b110c bal 0xb7e60                   |     sym_xmlStrEqual ();
    0x000b1110 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000b1114 beqz v0, 0xb10dc              |         goto label_1;
                                             |     }
    0x000b1118 lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
    0x000b111c lw v0, -0x4ad8(v0)            |     v0 = *(v0);
    0x000b1120 lw t9, -0x7f34(gp)            |     t9 = *(gp);
                                             |     if (v0 != 0) {
    0x000b1124 bnez v0, 0xb1564              |         goto label_18;
                                             |     }
                                             | label_6:
    0x000b1128 lw a0, 0x14(s0)               |     a0 = *((s0 + 5));
    0x000b112c lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             |     if (a0 != 0) {
    0x000b1130 beqz a0, 0xb1144              |         
    0x000b1134 lw t9, (v0)                   |         t9 = *(v0);
    0x000b1138 jalr t9                       |         t9 ();
    0x000b113c nop                           |         
    0x000b1140 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x000b1144 lw a0, 0x18(s0)               |     a0 = *((s0 + 6));
    0x000b1148 lw s1, -0x7fd8(gp)            |     s1 = *((gp - 8182));
                                             |     if (a0 != 0) {
    0x000b114c beqz a0, 0xb1168              |         
    0x000b1150 lw v0, -0x7158(gp)            |         v0 = *(gp);
    0x000b1154 lw t9, (v0)                   |         t9 = *(v0);
    0x000b1158 jalr t9                       |         t9 ();
    0x000b115c nop                           |         
    0x000b1160 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000b1164 lw s1, -0x7fd8(gp)            |         s1 = *((gp - 8182));
                                             |     }
    0x000b1168 move t9, s1                   |     t9 = s1;
    0x000b116c move a0, s3                   |     a0 = s3;
    0x000b1170 bal 0xb7cb8                   |     sym_xmlStrdup ();
    0x000b1174 sw v0, 0x14(s0)               |     *((s0 + 5)) = v0;
    0x000b1178 move t9, s1                   |     t9 = s1;
    0x000b117c move a0, s3                   |     a0 = s3;
    0x000b1180 bal 0xb7cb8                   |     sym_xmlStrdup ();
    0x000b1184 sw v0, 0x18(s0)               |     *((s0 + 6)) = v0;
    0x000b1188 move v0, zero                 |     v0 = 0;
    0x000b118c b 0xb1320                     |     goto label_4;
                                             | label_14:
    0x000b1190 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x000b1194 move a0, s2                   |     a0 = s2;
    0x000b1198 move t9, s4                   |     t9 = s4;
    0x000b119c addiu a1, a1, 0x27a8          |     a1 += 0x27a8;
    0x000b11a0 bal 0xb7e60                   |     sym_xmlStrEqual ();
    0x000b11a4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000b11a8 bnez v0, 0xb137c              |         goto label_19;
                                             |     }
    0x000b11ac lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x000b11b0 move a0, s2                   |     a0 = s2;
    0x000b11b4 move t9, s4                   |     t9 = s4;
    0x000b11b8 addiu a1, a1, 0x27d8          |     a1 += 0x27d8;
    0x000b11bc bal 0xb7e60                   |     sym_xmlStrEqual ();
    0x000b11c0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000b11c4 beqz v0, 0xb13a4              |         goto label_20;
                                             |     }
    0x000b11c8 addiu s7, zero, 7             |     s7 = 7;
    0x000b11cc b 0xb10c8                     |     goto label_2;
                                             | label_12:
    0x000b11d0 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x000b11d4 move a0, s2                   |     a0 = s2;
    0x000b11d8 move t9, s4                   |     t9 = s4;
    0x000b11dc addiu a1, a1, 0x29f0          |     a1 += 0x29f0;
    0x000b11e0 bal 0xb7e60                   |     sym_xmlStrEqual ();
    0x000b11e4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000b11e8 bnez v0, 0xb1384              |         goto label_21;
                                             |     }
    0x000b11ec lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x000b11f0 move a0, s2                   |     a0 = s2;
    0x000b11f4 move t9, s4                   |     t9 = s4;
    0x000b11f8 addiu a1, a1, 0x29fc          |     a1 += 0x29fc;
    0x000b11fc bal 0xb7e60                   |     sym_xmlStrEqual ();
    0x000b1200 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000b1204 beqz v0, 0xb1470              |         goto label_22;
                                             |     }
    0x000b1208 addiu a0, zero, 0xf           |     a0 = 0xf;
    0x000b120c b 0xb0ff0                     |     goto label_3;
                                             | label_16:
    0x000b1210 lw t9, -0x7f34(gp)            |     t9 = *(gp);
                                             |     if (v0 != 0) {
    0x000b1214 beqz v0, 0xb1250              |         
    0x000b1218 bal 0xb35ac                   |         sym_xmlGenericError ();
    0x000b121c nop                           |         
    0x000b1220 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000b1224 lw t9, -0x7f38(gp)            |         t9 = *((gp - 8142));
    0x000b1228 lw s0, (v0)                   |         s0 = *(v0);
    0x000b122c bal 0xb365c                   |         sym_xmlGenericErrorContext ();
    0x000b1230 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000b1234 lw a0, (v0)                   |         a0 = *(v0);
    0x000b1238 move a2, s2                   |         a2 = s2;
    0x000b123c lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b1240 move t9, s0                   |         t9 = s0;
    0x000b1244 addiu a1, a1, 0x2e34          |         a1 += 0x2e34;
    0x000b1248 jalr t9                       |         t9 ();
    0x000b124c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x000b1250 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x000b1254 lw t9, -0x76bc(gp)            |     t9 = *((gp - 7599));
    0x000b1258 lw v0, 0x1c(s5)               |     v0 = *((s5 + 7));
    0x000b125c move a3, zero                 |     a3 = 0;
    0x000b1260 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000b1264 move a2, s3                   |     a2 = s3;
    0x000b1268 move a1, s1                   |     a1 = s1;
    0x000b126c addiu t9, t9, -0x2f88         |     t9 += -0x2f88;
    0x000b1270 move a0, s7                   |     a0 = s7;
    0x000b1274 bal 0xad078                   |     fcn_000ad078 ();
    0x000b1278 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000b127c sw v0, 8(s5)                  |     *((s5 + 2)) = v0;
    0x000b1280 b 0xb1314                     |     goto label_23;
                                             | label_11:
    0x000b1284 lw t9, -0x7f80(gp)            |     t9 = *(gp);
    0x000b1288 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x000b128c addiu a0, zero, 0xa           |     a0 = 0xa;
    0x000b1290 jalr t9                       |     t9 ();
    0x000b1294 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000b1298 lw a2, 0x24(sp)               |     a2 = *(var_24h);
    0x000b129c sw v0, 0x34(s0)               |     *((s0 + 13)) = v0;
    0x000b12a0 lw ra, 0x4c(sp)               |     ra = *(var_4ch);
    0x000b12a4 lw s7, 0x48(sp)               |     s7 = *(var_48h);
    0x000b12a8 lw s6, 0x44(sp)               |     s6 = *(var_44h);
    0x000b12ac lw s5, 0x40(sp)               |     s5 = *(var_40h);
    0x000b12b0 lw s4, 0x3c(sp)               |     s4 = *(var_3ch);
    0x000b12b4 lw s3, 0x38(sp)               |     s3 = *(var_38h);
    0x000b12b8 lw s2, 0x34(sp)               |     s2 = *(var_34h);
    0x000b12bc lw s0, 0x2c(sp)               |     s0 = *(var_2ch);
    0x000b12c0 move a1, s1                   |     a1 = s1;
    0x000b12c4 lw t9, -0x7fb8(gp)            |     t9 = *(gp);
    0x000b12c8 lw s1, 0x30(sp)               |     s1 = *(var_30h);
    0x000b12cc move a0, v0                   |     a0 = v0;
    0x000b12d0 addiu sp, sp, 0x50            |     
    0x000b12d4 jr t9                         |     t9 ();
                                             | label_17:
    0x000b12d8 lw v0, -0x4ad8(v0)            |     v0 = *(v0);
    0x000b12dc lw t9, -0x7f34(gp)            |     t9 = *(gp);
                                             |     if (v0 != 0) {
    0x000b12e0 bnez v0, 0xb1638              |         goto label_24;
                                             |     }
                                             | label_7:
    0x000b12e4 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x000b12e8 lw t9, -0x76bc(gp)            |     t9 = *((gp - 7599));
    0x000b12ec lw v0, 0x1c(s5)               |     v0 = *((s5 + 7));
    0x000b12f0 move a3, zero                 |     a3 = 0;
    0x000b12f4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000b12f8 move a2, s3                   |     a2 = s3;
    0x000b12fc move a1, s1                   |     a1 = s1;
    0x000b1300 addiu t9, t9, -0x2f88         |     t9 += -0x2f88;
    0x000b1304 move a0, s7                   |     a0 = s7;
    0x000b1308 bal 0xad078                   |     fcn_000ad078 ();
    0x000b130c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000b1310 sw v0, (s0)                   |     *(s0) = v0;
                                             | label_23:
    0x000b1314 lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
    0x000b1318 beqz s6, 0xb134c              |     
                                             |     while (v0 == 0) {
    0x000b131c move v0, zero                 |         v0 = 0;
                                             | label_4:
    0x000b1320 lw ra, 0x4c(sp)               |         ra = *(var_4ch);
    0x000b1324 lw s7, 0x48(sp)               |         s7 = *(var_48h);
    0x000b1328 lw s6, 0x44(sp)               |         s6 = *(var_44h);
    0x000b132c lw s5, 0x40(sp)               |         s5 = *(var_40h);
    0x000b1330 lw s4, 0x3c(sp)               |         s4 = *(var_3ch);
    0x000b1334 lw s3, 0x38(sp)               |         s3 = *(var_38h);
    0x000b1338 lw s2, 0x34(sp)               |         s2 = *(var_34h);
    0x000b133c lw s1, 0x30(sp)               |         s1 = *(var_30h);
    0x000b1340 lw s0, 0x2c(sp)               |         s0 = *(var_2ch);
    0x000b1344 addiu sp, sp, 0x50            |         
    0x000b1348 jr ra                         |         return v0;
    0x000b134c lw a1, 0x18(s5)               |         a1 = *((s5 + 6));
    0x000b1350 lw t9, -0x7f88(gp)            |         t9 = *(gp);
    0x000b1354 lw a0, -0x4adc(v0)            |         a0 = *((v0 - 4791));
    0x000b1358 addiu v0, zero, 1             |         v0 = 1;
    0x000b135c sw v0, 0xc(s5)                |         *((s5 + 3)) = v0;
    0x000b1360 jalr t9                       |         t9 ();
    0x000b1364 move v1, v0                   |         v1 = v0;
    0x000b1368 beqz v0, 0xb131c              |         
                                             |     }
    0x000b136c lw a0, 8(s5)                  |     a0 = *((s5 + 2));
    0x000b1370 move v0, zero                 |     v0 = 0;
    0x000b1374 sw a0, 8(v1)                  |     *((v1 + 2)) = a0;
    0x000b1378 b 0xb1320                     |     goto label_4;
                                             | label_19:
    0x000b137c addiu s7, zero, 5             |     s7 = 5;
    0x000b1380 b 0xb10c8                     |     goto label_2;
                                             | label_21:
    0x000b1384 addiu a0, zero, 0x14          |     a0 = 0x14;
    0x000b1388 b 0xb0ff0                     |     goto label_3;
                                             | label_13:
    0x000b138c addiu t9, t9, -0x12e8         |     t9 += -0x12e8;
    0x000b1390 move a0, s5                   |     a0 = s5;
    0x000b1394 bal 0xaed18                   |     fcn_000aed18 ();
    0x000b1398 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000b139c lw s6, 8(s5)                  |     s6 = *((s5 + 2));
    0x000b13a0 b 0xb10a4                     |     goto label_5;
                                             | label_20:
    0x000b13a4 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x000b13a8 move a0, s2                   |     a0 = s2;
    0x000b13ac move t9, s4                   |     t9 = s4;
    0x000b13b0 addiu a1, a1, 0x280c          |     a1 += 0x280c;
    0x000b13b4 bal 0xb7e60                   |     sym_xmlStrEqual ();
    0x000b13b8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000b13bc bnez v0, 0xb1544              |         
    0x000b13c0 lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b13c4 move a0, s2                   |         a0 = s2;
    0x000b13c8 move t9, s4                   |         t9 = s4;
    0x000b13cc addiu a1, a1, 0x2830          |         a1 += 0x2830;
    0x000b13d0 bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b13d4 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x000b13d8 bnez v0, 0xb1554              |             goto label_25;
                                             |         }
    0x000b13dc lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b13e0 move a0, s2                   |         a0 = s2;
    0x000b13e4 move t9, s4                   |         t9 = s4;
    0x000b13e8 addiu a1, a1, 0x33f8          |         a1 += 0x33f8;
    0x000b13ec bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b13f0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x000b13f4 bnez v0, 0xb15a0              |             goto label_26;
                                             |         }
    0x000b13f8 lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b13fc move a0, s2                   |         a0 = s2;
    0x000b1400 move t9, s4                   |         t9 = s4;
    0x000b1404 addiu a1, a1, 0x2840          |         a1 += 0x2840;
    0x000b1408 bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b140c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x000b1410 bnez v0, 0xb1600              |             goto label_27;
                                             |         }
    0x000b1414 lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b1418 move a0, s2                   |         a0 = s2;
    0x000b141c move t9, s4                   |         t9 = s4;
    0x000b1420 addiu a1, a1, 0x285c          |         a1 += 0x285c;
    0x000b1424 bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b1428 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x000b142c bnez v0, 0xb1610              |             goto label_28;
                                             |         }
    0x000b1430 lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b1434 move a0, s2                   |         a0 = s2;
    0x000b1438 move t9, s4                   |         t9 = s4;
    0x000b143c addiu a1, a1, 0x2794          |         a1 += 0x2794;
    0x000b1440 bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b1444 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x000b1448 bnez v0, 0xb1620              |             goto label_29;
                                             |         }
    0x000b144c lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b1450 move a0, s2                   |         a0 = s2;
    0x000b1454 move t9, s4                   |         t9 = s4;
    0x000b1458 addiu a1, a1, 0x2a74          |         a1 += aav.0x00002a74;
    0x000b145c bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b1460 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x000b1464 beqz v0, 0xb15b0              |             goto label_30;
                                             |         }
    0x000b1468 addiu s7, zero, 1             |         s7 = 1;
    0x000b146c b 0xb10c8                     |         goto label_2;
                                             | label_22:
    0x000b1470 lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b1474 move a0, s2                   |         a0 = s2;
    0x000b1478 move t9, s4                   |         t9 = s4;
    0x000b147c addiu a1, a1, -0x3940         |         a1 += -0x3940;
    0x000b1480 bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b1484 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x000b1488 bnez v0, 0xb154c              |             goto label_31;
                                             |         }
    0x000b148c lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b1490 move a0, s2                   |         a0 = s2;
    0x000b1494 move t9, s4                   |         t9 = s4;
    0x000b1498 addiu a1, a1, 0x2a04          |         a1 += 0x2a04;
    0x000b149c bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b14a0 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x000b14a4 bnez v0, 0xb155c              |             goto label_32;
                                             |         }
    0x000b14a8 lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b14ac move a0, s2                   |         a0 = s2;
    0x000b14b0 move t9, s4                   |         t9 = s4;
    0x000b14b4 addiu a1, a1, 0x2a10          |         a1 += 0x2a10;
    0x000b14b8 bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b14bc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x000b14c0 bnez v0, 0xb15a8              |             goto label_33;
                                             |         }
    0x000b14c4 lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b14c8 move a0, s2                   |         a0 = s2;
    0x000b14cc move t9, s4                   |         t9 = s4;
    0x000b14d0 addiu a1, a1, 0x2a1c          |         a1 += 0x2a1c;
    0x000b14d4 bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b14d8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x000b14dc bnez v0, 0xb1608              |             goto label_34;
                                             |         }
    0x000b14e0 lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b14e4 move a0, s2                   |         a0 = s2;
    0x000b14e8 move t9, s4                   |         t9 = s4;
    0x000b14ec addiu a1, a1, 0x2a28          |         a1 += 0x2a28;
    0x000b14f0 bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b14f4 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x000b14f8 bnez v0, 0xb1618              |             goto label_35;
                                             |         }
    0x000b14fc lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b1500 move a0, s2                   |         a0 = s2;
    0x000b1504 move t9, s4                   |         t9 = s4;
    0x000b1508 addiu a1, a1, 0x2a34          |         a1 += 0x2a34;
    0x000b150c bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b1510 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x000b1514 bnez v0, 0xb1628              |             goto label_36;
                                             |         }
    0x000b1518 lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b151c move a0, s2                   |         a0 = s2;
    0x000b1520 move t9, s4                   |         t9 = s4;
    0x000b1524 addiu a1, a1, 0x2a3c          |         a1 += 0x2a3c;
    0x000b1528 bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b152c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x000b1530 bnez v0, 0xb153c              |             
    0x000b1534 addiu v0, zero, -1            |             v0 = -1;
    0x000b1538 b 0xb1320                     |             goto label_4;
                                             |         }
    0x000b153c addiu a0, zero, 0x15          |         a0 = 0x15;
    0x000b1540 b 0xb0ff0                     |         goto label_3;
                                             |     }
    0x000b1544 addiu s7, zero, 8             |     s7 = 8;
    0x000b1548 b 0xb10c8                     |     goto label_2;
                                             | label_31:
    0x000b154c addiu a0, zero, 0x11          |     a0 = 0x11;
    0x000b1550 b 0xb0ff0                     |     goto label_3;
                                             | label_25:
    0x000b1554 addiu s7, zero, 9             |     s7 = 9;
    0x000b1558 b 0xb10c8                     |     goto label_2;
                                             | label_32:
    0x000b155c addiu a0, zero, 0x12          |     a0 = 0x12;
    0x000b1560 b 0xb0ff0                     |     goto label_3;
                                             | label_18:
    0x000b1564 bal 0xb35ac                   |     sym_xmlGenericError ();
    0x000b1568 nop                           |     
    0x000b156c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000b1570 lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x000b1574 lw s1, (v0)                   |     s1 = *(v0);
    0x000b1578 bal 0xb365c                   |     sym_xmlGenericErrorContext ();
    0x000b157c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000b1580 lw a0, (v0)                   |     a0 = *(v0);
    0x000b1584 move a2, s2                   |     a2 = s2;
    0x000b1588 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x000b158c move t9, s1                   |     t9 = s1;
    0x000b1590 addiu a1, a1, 0x2e14          |     a1 += 0x2e14;
    0x000b1594 jalr t9                       |     t9 ();
    0x000b1598 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000b159c b 0xb1128                     |     goto label_6;
                                             | label_26:
    0x000b15a0 addiu s7, zero, 0xa           |     s7 = 0xa;
    0x000b15a4 b 0xb10c8                     |     goto label_2;
                                             | label_33:
    0x000b15a8 addiu a0, zero, 0x13          |     a0 = 0x13;
    0x000b15ac b 0xb0ff0                     |     goto label_3;
                                             | label_30:
    0x000b15b0 lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
    0x000b15b4 lw v0, -0x4ad8(v0)            |     v0 = *(v0);
                                             |     if (v0 == 0) {
    0x000b15b8 beql v0, zero, 0xb1320        |         goto label_4;
                                             |     }
    0x000b15bc addiu v0, zero, -1            |     v0 = -1;
    0x000b15c0 lw t9, -0x7f34(gp)            |     t9 = *(gp);
    0x000b15c4 bal 0xb35ac                   |     sym_xmlGenericError ();
    0x000b15c8 nop                           |     
    0x000b15cc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000b15d0 lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x000b15d4 lw s0, (v0)                   |     s0 = *(v0);
    0x000b15d8 bal 0xb365c                   |     sym_xmlGenericErrorContext ();
    0x000b15dc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000b15e0 lw a0, (v0)                   |     a0 = *(v0);
    0x000b15e4 move a2, s2                   |     a2 = s2;
    0x000b15e8 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x000b15ec move t9, s0                   |     t9 = s0;
    0x000b15f0 addiu a1, a1, 0x2de4          |     a1 += 0x2de4;
    0x000b15f4 jalr t9                       |     t9 ();
    0x000b15f8 addiu v0, zero, -1            |     v0 = -1;
    0x000b15fc b 0xb1320                     |     goto label_4;
                                             | label_27:
    0x000b1600 addiu s7, zero, 0xb           |     s7 = 0xb;
    0x000b1604 b 0xb10c8                     |     goto label_2;
                                             | label_34:
    0x000b1608 addiu a0, zero, 0x18          |     a0 = 0x18;
    0x000b160c b 0xb0ff0                     |     goto label_3;
                                             | label_28:
    0x000b1610 addiu s7, zero, 0xc           |     s7 = 0xc;
    0x000b1614 b 0xb10c8                     |     goto label_2;
                                             | label_35:
    0x000b1618 addiu a0, zero, 0x17          |     a0 = 0x17;
    0x000b161c b 0xb0ff0                     |     goto label_3;
                                             | label_29:
    0x000b1620 addiu s7, zero, 3             |     s7 = 3;
    0x000b1624 b 0xb10c8                     |     goto label_2;
                                             | label_36:
    0x000b1628 addiu a0, zero, 0x16          |     a0 = 0x16;
    0x000b162c b 0xb0ff0                     |     goto label_3;
                                             | label_8:
    0x000b1630 addiu v0, zero, -1            |     v0 = -1;
    0x000b1634 jr ra                         |     return v0;
                                             | label_24:
    0x000b1638 bal 0xb35ac                   |     sym_xmlGenericError ();
    0x000b163c nop                           |     
    0x000b1640 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000b1644 lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x000b1648 lw s4, (v0)                   |     s4 = *(v0);
    0x000b164c bal 0xb365c                   |     sym_xmlGenericErrorContext ();
    0x000b1650 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000b1654 lw a0, (v0)                   |     a0 = *(v0);
    0x000b1658 move a2, s2                   |     a2 = s2;
    0x000b165c lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x000b1660 move t9, s4                   |     t9 = s4;
    0x000b1664 addiu a1, a1, 0x2e34          |     a1 += 0x2e34;
    0x000b1668 jalr t9                       |     t9 ();
    0x000b166c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000b1670 b 0xb12e4                     |     goto label_7;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb1674 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlACatalogRemove ()         | void xmlACatalogRemove () {
    0x000b1674 lui gp, 0xe                   |     
    0x000b1678 addiu gp, gp, -4              |     
    0x000b167c addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x000b1680 beqz a0, 0xb1864              |         goto label_6;
                                             |     }
    0x000b1684 nop                           |     
    0x000b1688 addiu sp, sp, -0x40           |     
    0x000b168c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000b1690 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x000b1694 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x000b1698 sw s7, 0x38(sp)               |     *(var_38h) = s7;
    0x000b169c sw s6, 0x34(sp)               |     *(var_34h) = s6;
    0x000b16a0 sw s5, 0x30(sp)               |     *(var_30h) = s5;
    0x000b16a4 sw s4, 0x2c(sp)               |     *(var_2ch) = s4;
    0x000b16a8 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x000b16ac sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x000b16b0 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000b16b4 move s1, a1                   |     s1 = a1;
                                             |     if (a1 == 0) {
    0x000b16b8 beqz a1, 0xb185c              |         goto label_7;
                                             |     }
    0x000b16bc lw v1, (a0)                   |     v1 = *(a0);
    0x000b16c0 addiu v0, zero, 1             |     v0 = 1;
    0x000b16c4 lw a2, -0x76bc(gp)            |     a2 = *((gp - 7599));
                                             |     if (v1 == v0) {
    0x000b16c8 beq v1, v0, 0xb1710           |         goto label_8;
                                             |     }
    0x000b16cc lw a0, 0x34(a0)               |     a0 = *((a0 + 13));
    0x000b16d0 lw t9, -0x7be4(gp)            |     t9 = *(gp);
    0x000b16d4 addiu a2, a2, -0x317c         |     a2 += -0x317c;
    0x000b16d8 jalr t9                       |     t9 ();
                                             |     if (v0 == 0) {
    0x000b16dc beql v0, zero, 0xb16e4        |         goto label_0;
                                             |     }
    0x000b16e0 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
                                             | label_0:
    0x000b16e4 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x000b16e8 lw s7, 0x38(sp)               |         s7 = *(var_38h);
    0x000b16ec lw s6, 0x34(sp)               |         s6 = *(var_34h);
    0x000b16f0 lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x000b16f4 lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x000b16f8 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x000b16fc lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x000b1700 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x000b1704 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x000b1708 addiu sp, sp, 0x40            |         
    0x000b170c jr ra                         |         return v0;
                                             | label_8:
    0x000b1710 lw s2, 0x3c(a0)               |         s2 = *((a0 + 15));
    0x000b1714 addiu v0, zero, -1            |         v0 = -1;
    0x000b1718 beqz s2, 0xb16e4              |         
                                             |     } while (s2 == 0);
    0x000b171c lw v0, 0xc(s2)                |     v0 = *((s2 + 3));
    0x000b1720 addiu v0, v0, -1              |     v0 += -1;
    0x000b1724 sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x000b1728 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (v0 == 0) {
    0x000b172c beqz v0, 0xb16e4              |         goto label_0;
                                             |     }
    0x000b1730 lw s0, 8(s2)                  |     s0 = *((s2 + 2));
    0x000b1734 lw t9, -0x76bc(gp)            |     t9 = *((gp - 7599));
                                             |     if (s0 == 0) {
    0x000b1738 beqz s0, 0xb183c              |         goto label_9;
                                             |     }
                                             | label_4:
    0x000b173c lw s3, -0x7f94(gp)            |     s3 = *((gp - 8165));
    0x000b1740 lw s2, -0x7f90(gp)            |     s2 = *((gp - 8164));
    0x000b1744 lw s4, -0x7fe4(gp)            |     s4 = *((gp - 8185));
    0x000b1748 lw s6, -0x7f34(gp)            |     s6 = *(gp);
    0x000b174c lw s5, -0x7f38(gp)            |     s5 = *((gp - 8142));
    0x000b1750 addiu s3, s3, 0x2e54          |     s3 += 0x2e54;
    0x000b1754 lw v0, 0x10(s0)               |     v0 = *((s0 + 4));
                                             |     do {
    0x000b1758 move a0, s1                   |         a0 = s1;
    0x000b175c move a1, v0                   |         a1 = v0;
                                             |         if (v0 == 0) {
    0x000b1760 beqz v0, 0xb17fc              |             goto label_10;
                                             |         }
    0x000b1764 move t9, s2                   |         t9 = s2;
    0x000b1768 bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x000b176c nop                           |         
                                             |         if (v0 == 0) {
    0x000b1770 beql v0, zero, 0xb1800        |             goto label_11;
                                             |         }
    0x000b1774 lw a1, 0x14(s0)               |         a1 = *((s0 + 5));
    0x000b1778 lw v0, -0x4ad8(s4)            |         v0 = *(s4);
                                             | label_1:
    0x000b177c addiu v0, zero, -1            |         v0 = -1;
                                             |         if (v0 != 0) {
    0x000b1780 beqz v0, 0xb17bc              |             
    0x000b1784 lw v0, 0x10(s0)               |             v0 = *((s0 + 4));
    0x000b1788 move t9, s6                   |             t9 = s6;
                                             |             if (v0 == 0) {
    0x000b178c beqz v0, 0xb181c              |                 goto label_12;
                                             |             }
    0x000b1790 bal 0xb35ac                   |             sym_xmlGenericError ();
    0x000b1794 nop                           |             
    0x000b1798 move t9, s5                   |             t9 = s5;
    0x000b179c lw s7, (v0)                   |             s7 = *(v0);
    0x000b17a0 bal 0xb365c                   |             sym_xmlGenericErrorContext ();
    0x000b17a4 lw a0, (v0)                   |             a0 = *(v0);
    0x000b17a8 lw a2, 0x10(s0)               |             a2 = *((s0 + 4));
                                             | label_3:
    0x000b17ac move t9, s7                   |             t9 = s7;
    0x000b17b0 move a1, s3                   |             a1 = s3;
    0x000b17b4 jalr t9                       |             t9 ();
    0x000b17b8 addiu v0, zero, -1            |             v0 = -1;
                                             |         }
    0x000b17bc sw v0, 0xc(s0)                |         *((s0 + 3)) = v0;
    0x000b17c0 lw s0, (s0)                   |         s0 = *(s0);
                                             | label_2:
    0x000b17c4 lw v0, 0x10(s0)               |         v0 = *((s0 + 4));
    0x000b17c8 bnel s0, zero, 0xb1758        |         
                                             |     } while (s0 == 0);
    0x000b17cc move v0, zero                 |     v0 = 0;
                                             | label_5:
    0x000b17d0 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x000b17d4 lw s7, 0x38(sp)               |     s7 = *(var_38h);
    0x000b17d8 lw s6, 0x34(sp)               |     s6 = *(var_34h);
    0x000b17dc lw s5, 0x30(sp)               |     s5 = *(var_30h);
    0x000b17e0 lw s4, 0x2c(sp)               |     s4 = *(var_2ch);
    0x000b17e4 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x000b17e8 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x000b17ec lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x000b17f0 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x000b17f4 addiu sp, sp, 0x40            |     
    0x000b17f8 jr ra                         |     return v0;
                                             | label_10:
    0x000b17fc lw a1, 0x14(s0)               |     a1 = *((s0 + 5));
                                             | label_11:
    0x000b1800 move t9, s2                   |     t9 = s2;
    0x000b1804 move a0, s1                   |     a0 = s1;
    0x000b1808 bal 0xb7e60                   |     sym_xmlStrEqual ();
    0x000b180c lw v0, -0x4ad8(s4)            |     v0 = *(s4);
                                             |     if (v0 != 0) {
    0x000b1810 bnez v0, 0xb177c              |         goto label_1;
                                             |     }
    0x000b1814 lw s0, (s0)                   |     s0 = *(s0);
    0x000b1818 b 0xb17c4                     |     goto label_2;
                                             | label_12:
    0x000b181c bal 0xb35ac                   |     sym_xmlGenericError ();
    0x000b1820 nop                           |     
    0x000b1824 move t9, s5                   |     t9 = s5;
    0x000b1828 lw s7, (v0)                   |     s7 = *(v0);
    0x000b182c bal 0xb365c                   |     sym_xmlGenericErrorContext ();
    0x000b1830 lw a0, (v0)                   |     a0 = *(v0);
    0x000b1834 lw a2, 0x14(s0)               |     a2 = *((s0 + 5));
    0x000b1838 b 0xb17ac                     |     goto label_3;
                                             | label_9:
    0x000b183c addiu t9, t9, -0x12e8         |     t9 += -0x12e8;
    0x000b1840 move a0, s2                   |     a0 = s2;
    0x000b1844 bal 0xaed18                   |     fcn_000aed18 ();
    0x000b1848 lw s0, 8(s2)                  |     s0 = *((s2 + 2));
    0x000b184c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s0 != 0) {
    0x000b1850 bnez s0, 0xb173c              |         goto label_4;
                                             |     }
    0x000b1854 move v0, zero                 |     v0 = 0;
    0x000b1858 b 0xb17d0                     |     goto label_5;
                                             | label_7:
    0x000b185c addiu v0, zero, -1            |     v0 = -1;
    0x000b1860 b 0xb16e4                     |     goto label_0;
                                             | label_6:
    0x000b1864 addiu v0, zero, -1            |     v0 = -1;
    0x000b1868 jr ra                         |     return v0;
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb07f4 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlACatalogResolveSystem ()          | void xmlACatalogResolveSystem () {
    0x000b07f4 lui gp, 0xe                           |     
    0x000b07f8 addiu gp, gp, 0xe7c                   |     
    0x000b07fc addu gp, gp, t9                       |     gp += t9;
                                                     |     if (a1 == 0) {
    0x000b0800 beqz a1, 0xb0904                      |         goto label_0;
                                                     |     }
    0x000b0804 nop                                   |     
                                                     |     if (a0 == 0) {
    0x000b0808 beqz a0, 0xb0904                      |         goto label_0;
                                                     |     }
    0x000b080c nop                                   |     
    0x000b0810 lw v0, -0x7fe4(gp)                    |     v0 = *((gp - 8185));
    0x000b0814 addiu sp, sp, -0x28                   |     
    0x000b0818 lw v0, -0x4ad8(v0)                    |     v0 = *(v0);
    0x000b081c sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x000b0820 sw s1, 0x1c(sp)                       |     *(var_1ch) = s1;
    0x000b0824 sw s0, 0x18(sp)                       |     *(var_18h) = s0;
    0x000b0828 sw ra, 0x24(sp)                       |     *(var_24h) = ra;
    0x000b082c sw s2, 0x20(sp)                       |     *(var_20h) = s2;
    0x000b0830 move s0, a0                           |     s0 = a0;
    0x000b0834 move s1, a1                           |     s1 = a1;
    0x000b0838 bnez v0, 0xb08c4                      |     
                                                     |     while (1) {
    0x000b083c lw v1, (s0)                           |         v1 = *(s0);
    0x000b0840 addiu v0, zero, 1                     |         v0 = 1;
    0x000b0844 lw t9, -0x76bc(gp)                    |         t9 = *((gp - 7599));
                                                     |         if (v1 != v0) {
    0x000b0848 beq v1, v0, 0xb0884                   |             
    0x000b084c lw a0, 0x34(s0)                       |             a0 = *((s0 + 13));
    0x000b0850 addiu t9, t9, -0x3ab0                 |             t9 += -aav.0x00003ab0;
    0x000b0854 move a1, s1                           |             a1 = s1;
    0x000b0858 bal 0xac550                           |             fcn_000ac550 ();
    0x000b085c lw gp, 0x10(sp)                       |             gp = *(var_10h);
                                                     |             if (v0 == 0) {
    0x000b0860 beqz v0, 0xb08a8                      |                 goto label_1;
                                                     |             }
    0x000b0864 lw ra, 0x24(sp)                       |             ra = *(var_24h);
    0x000b0868 lw s2, 0x20(sp)                       |             s2 = *(var_20h);
    0x000b086c lw s1, 0x1c(sp)                       |             s1 = *(var_1ch);
    0x000b0870 lw s0, 0x18(sp)                       |             s0 = *(var_18h);
    0x000b0874 lw t9, -0x7fd8(gp)                    |             t9 = *((gp - 8182));
    0x000b0878 move a0, v0                           |             a0 = v0;
    0x000b087c addiu sp, sp, 0x28                    |             
    0x000b0880 b 0xb7cb8                             |             void (*0xb7cb8)() ();
                                                     |         }
    0x000b0884 lw t9, -0x76bc(gp)                    |         t9 = *((gp - 7599));
    0x000b0888 lw a0, 0x3c(s0)                       |         a0 = *((s0 + 15));
    0x000b088c move a2, s1                           |         a2 = s1;
    0x000b0890 addiu t9, t9, -0x568                  |         t9 += -aav.0x00000568;
    0x000b0894 move a1, zero                         |         a1 = 0;
    0x000b0898 bal 0xafa98                           |         fcn_000afa98 ();
    0x000b089c addiu v1, zero, -1                    |         v1 = -1;
    0x000b08a0 lw ra, 0x24(sp)                       |         ra = *(var_24h);
                                                     |         if (v0 == v1) {
    0x000b08a4 bne v0, v1, 0xb08b0                   |             
                                                     | label_1:
    0x000b08a8 move v0, zero                         |             v0 = 0;
    0x000b08ac lw ra, 0x24(sp)                       |             ra = *(var_24h);
                                                     |         }
    0x000b08b0 lw s2, 0x20(sp)                       |         s2 = *(var_20h);
    0x000b08b4 lw s1, 0x1c(sp)                       |         s1 = *(var_1ch);
    0x000b08b8 lw s0, 0x18(sp)                       |         s0 = *(var_18h);
    0x000b08bc addiu sp, sp, 0x28                    |         
    0x000b08c0 jr ra                                 |         return v0;
    0x000b08c4 lw t9, -0x7f34(gp)                    |         t9 = *(gp);
    0x000b08c8 bal 0xb35ac                           |         sym_xmlGenericError ();
    0x000b08cc nop                                   |         
    0x000b08d0 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x000b08d4 lw t9, -0x7f38(gp)                    |         t9 = *((gp - 8142));
    0x000b08d8 lw s2, (v0)                           |         s2 = *(v0);
    0x000b08dc bal 0xb365c                           |         sym_xmlGenericErrorContext ();
    0x000b08e0 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x000b08e4 lw a0, (v0)                           |         a0 = *(v0);
    0x000b08e8 move a2, s1                           |         a2 = s1;
    0x000b08ec lw a1, -0x7f94(gp)                    |         a1 = *((gp - 8165));
    0x000b08f0 move t9, s2                           |         t9 = s2;
    0x000b08f4 addiu a1, a1, 0x2cec                  |         a1 += aav.0x00002cec;
    0x000b08f8 jalr t9                               |         t9 ();
    0x000b08fc lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x000b0900 b 0xb083c                             |         
                                                     |     }
                                                     | label_0:
    0x000b0904 move v0, zero                         |     v0 = 0;
    0x000b0908 jr ra                                 |     return v0;
                                                     | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb090c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlACatalogResolvePublic ()          | void xmlACatalogResolvePublic () {
    0x000b090c lui gp, 0xe                           |     
    0x000b0910 addiu gp, gp, 0xd64                   |     
    0x000b0914 addu gp, gp, t9                       |     gp += t9;
                                                     |     if (a1 == 0) {
    0x000b0918 beqz a1, 0xb0a1c                      |         goto label_0;
                                                     |     }
    0x000b091c nop                                   |     
                                                     |     if (a0 == 0) {
    0x000b0920 beqz a0, 0xb0a1c                      |         goto label_0;
                                                     |     }
    0x000b0924 nop                                   |     
    0x000b0928 lw v0, -0x7fe4(gp)                    |     v0 = *((gp - 8185));
    0x000b092c addiu sp, sp, -0x28                   |     
    0x000b0930 lw v0, -0x4ad8(v0)                    |     v0 = *(v0);
    0x000b0934 sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x000b0938 sw s1, 0x1c(sp)                       |     *(var_1ch) = s1;
    0x000b093c sw s0, 0x18(sp)                       |     *(var_18h) = s0;
    0x000b0940 sw ra, 0x24(sp)                       |     *(var_24h) = ra;
    0x000b0944 sw s2, 0x20(sp)                       |     *(var_20h) = s2;
    0x000b0948 move s0, a0                           |     s0 = a0;
    0x000b094c move s1, a1                           |     s1 = a1;
    0x000b0950 bnez v0, 0xb09dc                      |     
                                                     |     while (1) {
    0x000b0954 lw v1, (s0)                           |         v1 = *(s0);
    0x000b0958 addiu v0, zero, 1                     |         v0 = 1;
    0x000b095c lw t9, -0x76bc(gp)                    |         t9 = *((gp - 7599));
                                                     |         if (v1 != v0) {
    0x000b0960 beq v1, v0, 0xb099c                   |             
    0x000b0964 lw a0, 0x34(s0)                       |             a0 = *((s0 + 13));
    0x000b0968 addiu t9, t9, -0x24a4                 |             t9 += -0x24a4;
    0x000b096c move a1, s1                           |             a1 = s1;
    0x000b0970 bal 0xadb5c                           |             fcn_000adb5c ();
    0x000b0974 lw gp, 0x10(sp)                       |             gp = *(var_10h);
                                                     |             if (v0 == 0) {
    0x000b0978 beqz v0, 0xb09c0                      |                 goto label_1;
                                                     |             }
    0x000b097c lw ra, 0x24(sp)                       |             ra = *(var_24h);
    0x000b0980 lw s2, 0x20(sp)                       |             s2 = *(var_20h);
    0x000b0984 lw s1, 0x1c(sp)                       |             s1 = *(var_1ch);
    0x000b0988 lw s0, 0x18(sp)                       |             s0 = *(var_18h);
    0x000b098c lw t9, -0x7fd8(gp)                    |             t9 = *((gp - 8182));
    0x000b0990 move a0, v0                           |             a0 = v0;
    0x000b0994 addiu sp, sp, 0x28                    |             
    0x000b0998 b 0xb7cb8                             |             void (*0xb7cb8)() ();
                                                     |         }
    0x000b099c lw t9, -0x76bc(gp)                    |         t9 = *((gp - 7599));
    0x000b09a0 lw a0, 0x3c(s0)                       |         a0 = *((s0 + 15));
    0x000b09a4 move a2, zero                         |         a2 = 0;
    0x000b09a8 addiu t9, t9, -0x568                  |         t9 += -aav.0x00000568;
    0x000b09ac move a1, s1                           |         a1 = s1;
    0x000b09b0 bal 0xafa98                           |         fcn_000afa98 ();
    0x000b09b4 addiu v1, zero, -1                    |         v1 = -1;
    0x000b09b8 lw ra, 0x24(sp)                       |         ra = *(var_24h);
                                                     |         if (v0 == v1) {
    0x000b09bc bne v0, v1, 0xb09c8                   |             
                                                     | label_1:
    0x000b09c0 move v0, zero                         |             v0 = 0;
    0x000b09c4 lw ra, 0x24(sp)                       |             ra = *(var_24h);
                                                     |         }
    0x000b09c8 lw s2, 0x20(sp)                       |         s2 = *(var_20h);
    0x000b09cc lw s1, 0x1c(sp)                       |         s1 = *(var_1ch);
    0x000b09d0 lw s0, 0x18(sp)                       |         s0 = *(var_18h);
    0x000b09d4 addiu sp, sp, 0x28                    |         
    0x000b09d8 jr ra                                 |         return v0;
    0x000b09dc lw t9, -0x7f34(gp)                    |         t9 = *(gp);
    0x000b09e0 bal 0xb35ac                           |         sym_xmlGenericError ();
    0x000b09e4 nop                                   |         
    0x000b09e8 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x000b09ec lw t9, -0x7f38(gp)                    |         t9 = *((gp - 8142));
    0x000b09f0 lw s2, (v0)                           |         s2 = *(v0);
    0x000b09f4 bal 0xb365c                           |         sym_xmlGenericErrorContext ();
    0x000b09f8 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x000b09fc lw a0, (v0)                           |         a0 = *(v0);
    0x000b0a00 move a2, s1                           |         a2 = s1;
    0x000b0a04 lw a1, -0x7f94(gp)                    |         a1 = *((gp - 8165));
    0x000b0a08 move t9, s2                           |         t9 = s2;
    0x000b0a0c addiu a1, a1, 0x2d00                  |         a1 += 0x2d00;
    0x000b0a10 jalr t9                               |         t9 ();
    0x000b0a14 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x000b0a18 b 0xb0954                             |         
                                                     |     }
                                                     | label_0:
    0x000b0a1c move v0, zero                         |     v0 = 0;
    0x000b0a20 jr ra                                 |     return v0;
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb0a24 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlACatalogResolve ()        | void xmlACatalogResolve () {
    0x000b0a24 lui gp, 0xe                   |     
    0x000b0a28 addiu gp, gp, 0xc4c           |     
    0x000b0a2c addu gp, gp, t9               |     gp += t9;
                                             |     if (a1 == 0) {
    0x000b0a30 beqz a1, 0xb0bb0              |         goto label_5;
                                             |     }
    0x000b0a34 nop                           |     
                                             |     if (a0 == 0) {
                                             | label_1:
    0x000b0a38 beqz a0, 0xb0bb8              |         goto label_6;
                                             |     }
    0x000b0a3c nop                           |     
    0x000b0a40 lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
    0x000b0a44 addiu sp, sp, -0x30           |     
    0x000b0a48 lw v0, -0x4ad8(v0)            |     v0 = *(v0);
    0x000b0a4c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000b0a50 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x000b0a54 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x000b0a58 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000b0a5c sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x000b0a60 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x000b0a64 move s2, a2                   |     s2 = a2;
    0x000b0a68 move s1, a0                   |     s1 = a0;
    0x000b0a6c move s0, a1                   |     s0 = a1;
                                             |     if (v0 != 0) {
    0x000b0a70 bnez v0, 0xb0ad0              |         goto label_7;
                                             |     }
                                             | label_2:
    0x000b0a74 lw v1, (s1)                   |     v1 = *(s1);
    0x000b0a78 addiu v0, zero, 1             |     v0 = 1;
    0x000b0a7c lw t9, -0x76bc(gp)            |     t9 = *((gp - 7599));
                                             |     if (v1 == v0) {
    0x000b0a80 beq v1, v0, 0xb0b2c           |         goto label_8;
                                             |     }
                                             |     do {
    0x000b0a84 lw a0, 0x34(s1)               |         a0 = *((s1 + 13));
    0x000b0a88 move v0, zero                 |         v0 = 0;
                                             |         if (a0 == 0) {
    0x000b0a8c beqz a0, 0xb0b50              |             goto label_3;
                                             |         }
    0x000b0a90 lw t9, -0x76bc(gp)            |         t9 = *((gp - 7599));
                                             |         if (s0 == 0) {
    0x000b0a94 beqz s0, 0xb0b6c              |             goto label_9;
                                             |         }
    0x000b0a98 addiu t9, t9, -0x24a4         |         t9 += -0x24a4;
    0x000b0a9c move a1, s0                   |         a1 = s0;
    0x000b0aa0 bal 0xadb5c                   |         fcn_000adb5c ();
    0x000b0aa4 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x000b0aa8 beqz v0, 0xb0bfc              |             goto label_10;
                                             |         }
    0x000b0aac lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x000b0ab0 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x000b0ab4 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x000b0ab8 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x000b0abc lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x000b0ac0 lw t9, -0x7fd8(gp)            |         t9 = *((gp - 8182));
    0x000b0ac4 move a0, v0                   |         a0 = v0;
    0x000b0ac8 addiu sp, sp, 0x30            |         
    0x000b0acc b 0xb7cb8                     |         void (*0xb7cb8)() ();
                                             | label_7:
    0x000b0ad0 lw t9, -0x7f34(gp)            |         t9 = *(gp);
                                             |         if (a1 == 0) {
    0x000b0ad4 beqz a1, 0xb0c0c              |             goto label_11;
                                             |         }
                                             |         if (a2 == 0) {
    0x000b0ad8 beqz a2, 0xb0bc0              |             goto label_12;
                                             |         }
    0x000b0adc nop                           |         
    0x000b0ae0 bal 0xb35ac                   |         sym_xmlGenericError ();
    0x000b0ae4 nop                           |         
    0x000b0ae8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000b0aec lw t9, -0x7f38(gp)            |         t9 = *((gp - 8142));
    0x000b0af0 lw s3, (v0)                   |         s3 = *(v0);
    0x000b0af4 bal 0xb365c                   |         sym_xmlGenericErrorContext ();
    0x000b0af8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000b0afc lw a0, (v0)                   |         a0 = *(v0);
    0x000b0b00 move a3, s2                   |         a3 = s2;
    0x000b0b04 lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000b0b08 move a2, s0                   |         a2 = s0;
    0x000b0b0c move t9, s3                   |         t9 = s3;
    0x000b0b10 addiu a1, a1, 0x2d14          |         a1 += 0x2d14;
    0x000b0b14 jalr t9                       |         t9 ();
    0x000b0b18 lw v1, (s1)                   |         v1 = *(s1);
    0x000b0b1c addiu v0, zero, 1             |         v0 = 1;
    0x000b0b20 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000b0b24 bne v1, v0, 0xb0a84           |         
                                             |     } while (v1 != v0);
    0x000b0b28 lw t9, -0x76bc(gp)            |     t9 = *((gp - 7599));
                                             | label_8:
    0x000b0b2c lw a0, 0x3c(s1)               |     a0 = *((s1 + 15));
    0x000b0b30 move a2, s2                   |     a2 = s2;
    0x000b0b34 addiu t9, t9, -0x568          |     t9 += -aav.0x00000568;
    0x000b0b38 move a1, s0                   |     a1 = s0;
    0x000b0b3c bal 0xafa98                   |     fcn_000afa98 ();
    0x000b0b40 addiu v1, zero, -1            |     v1 = -1;
    0x000b0b44 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             |     if (v0 != v1) {
    0x000b0b48 bne v0, v1, 0xb0b54           |         goto label_13;
                                             |     }
                                             | label_0:
    0x000b0b4c move v0, zero                 |     v0 = 0;
                                             |     do {
                                             | label_3:
    0x000b0b50 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
                                             | label_13:
    0x000b0b54 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x000b0b58 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x000b0b5c lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x000b0b60 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x000b0b64 addiu sp, sp, 0x30            |         
    0x000b0b68 jr ra                         |         return v0;
                                             | label_9:
    0x000b0b6c move v0, zero                 |         v0 = 0;
    0x000b0b70 beqz s2, 0xb0b50              |         
                                             |     } while (s2 == 0);
                                             | label_4:
    0x000b0b74 lw t9, -0x76bc(gp)            |     t9 = *((gp - 7599));
    0x000b0b78 addiu t9, t9, -0x3ab0         |     t9 += -aav.0x00003ab0;
    0x000b0b7c move a1, s2                   |     a1 = s2;
    0x000b0b80 bal 0xac550                   |     fcn_000ac550 ();
    0x000b0b84 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000b0b88 beqz v0, 0xb0b4c              |         goto label_0;
                                             |     }
    0x000b0b8c lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x000b0b90 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x000b0b94 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x000b0b98 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x000b0b9c lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x000b0ba0 lw t9, -0x7fd8(gp)            |     t9 = *((gp - 8182));
    0x000b0ba4 move a0, v0                   |     a0 = v0;
    0x000b0ba8 addiu sp, sp, 0x30            |     
    0x000b0bac b 0xb7cb8                     |     void (*0xb7cb8)() ();
                                             |     if (a2 != 0) {
                                             | label_5:
    0x000b0bb0 bnez a2, 0xb0a38              |         goto label_1;
                                             |     }
    0x000b0bb4 nop                           |     
                                             | label_6:
    0x000b0bb8 move v0, zero                 |     v0 = 0;
    0x000b0bbc jr ra                         |     return v0;
                                             | label_12:
    0x000b0bc0 bal 0xb35ac                   |     sym_xmlGenericError ();
    0x000b0bc4 nop                           |     
    0x000b0bc8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000b0bcc lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x000b0bd0 lw s3, (v0)                   |     s3 = *(v0);
    0x000b0bd4 bal 0xb365c                   |     sym_xmlGenericErrorContext ();
    0x000b0bd8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000b0bdc lw a0, (v0)                   |     a0 = *(v0);
    0x000b0be0 move a2, s0                   |     a2 = s0;
    0x000b0be4 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x000b0be8 move t9, s3                   |     t9 = s3;
    0x000b0bec addiu a1, a1, 0x2d30          |     a1 += 0x2d30;
    0x000b0bf0 jalr t9                       |     t9 ();
    0x000b0bf4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000b0bf8 b 0xb0a74                     |     goto label_2;
                                             | label_10:
    0x000b0bfc move v0, zero                 |     v0 = 0;
                                             |     if (s2 == 0) {
    0x000b0c00 beqz s2, 0xb0b50              |         goto label_3;
                                             |     }
    0x000b0c04 lw a0, 0x34(s1)               |     a0 = *((s1 + 13));
    0x000b0c08 b 0xb0b74                     |     goto label_4;
                                             | label_11:
    0x000b0c0c bal 0xb35ac                   |     sym_xmlGenericError ();
    0x000b0c10 nop                           |     
    0x000b0c14 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000b0c18 lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x000b0c1c lw s3, (v0)                   |     s3 = *(v0);
    0x000b0c20 bal 0xb365c                   |     sym_xmlGenericErrorContext ();
    0x000b0c24 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000b0c28 lw a0, (v0)                   |     a0 = *(v0);
    0x000b0c2c move a2, s2                   |     a2 = s2;
    0x000b0c30 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x000b0c34 move t9, s3                   |     t9 = s3;
    0x000b0c38 addiu a1, a1, 0x2d44          |     a1 += 0x2d44;
    0x000b0c3c jalr t9                       |     t9 ();
    0x000b0c40 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000b0c44 b 0xb0a74                     |     goto label_2;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb0c48 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlACatalogResolveURI ()         | void xmlACatalogResolveURI () {
    0x000b0c48 lui gp, 0xe                       |     
    0x000b0c4c addiu gp, gp, 0xa28               |     
    0x000b0c50 addu gp, gp, t9                   |     gp += t9;
                                                 |     if (a1 == 0) {
    0x000b0c54 beqz a1, 0xb0d58                  |         goto label_0;
                                                 |     }
    0x000b0c58 nop                               |     
                                                 |     if (a0 == 0) {
    0x000b0c5c beqz a0, 0xb0d58                  |         goto label_0;
                                                 |     }
    0x000b0c60 nop                               |     
    0x000b0c64 lw v0, -0x7fe4(gp)                |     v0 = *((gp - 8185));
    0x000b0c68 addiu sp, sp, -0x28               |     
    0x000b0c6c lw v0, -0x4ad8(v0)                |     v0 = *(v0);
    0x000b0c70 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x000b0c74 sw s1, 0x1c(sp)                   |     *(var_1ch) = s1;
    0x000b0c78 sw s0, 0x18(sp)                   |     *(var_18h) = s0;
    0x000b0c7c sw ra, 0x24(sp)                   |     *(var_24h) = ra;
    0x000b0c80 sw s2, 0x20(sp)                   |     *(var_20h) = s2;
    0x000b0c84 move s0, a0                       |     s0 = a0;
    0x000b0c88 move s1, a1                       |     s1 = a1;
    0x000b0c8c bnez v0, 0xb0d18                  |     
                                                 |     while (1) {
    0x000b0c90 lw v1, (s0)                       |         v1 = *(s0);
    0x000b0c94 addiu v0, zero, 1                 |         v0 = 1;
    0x000b0c98 lw t9, -0x76bc(gp)                |         t9 = *((gp - 7599));
                                                 |         if (v1 != v0) {
    0x000b0c9c beq v1, v0, 0xb0ce0               |             
    0x000b0ca0 lw a0, 0x34(s0)                   |             a0 = *((s0 + 13));
    0x000b0ca4 lw t9, -0x76bc(gp)                |             t9 = *((gp - 7599));
                                                 |             if (a0 == 0) {
    0x000b0ca8 beqz a0, 0xb0cfc                  |                 goto label_1;
                                                 |             }
    0x000b0cac addiu t9, t9, -0x3ab0             |             t9 += -aav.0x00003ab0;
    0x000b0cb0 move a1, s1                       |             a1 = s1;
    0x000b0cb4 bal 0xac550                       |             fcn_000ac550 ();
    0x000b0cb8 lw gp, 0x10(sp)                   |             gp = *(var_10h);
                                                 |             if (v0 == 0) {
    0x000b0cbc beqz v0, 0xb0cfc                  |                 goto label_1;
                                                 |             }
    0x000b0cc0 lw ra, 0x24(sp)                   |             ra = *(var_24h);
    0x000b0cc4 lw s2, 0x20(sp)                   |             s2 = *(var_20h);
    0x000b0cc8 lw s1, 0x1c(sp)                   |             s1 = *(var_1ch);
    0x000b0ccc lw s0, 0x18(sp)                   |             s0 = *(var_18h);
    0x000b0cd0 lw t9, -0x7fd8(gp)                |             t9 = *((gp - 8182));
    0x000b0cd4 move a0, v0                       |             a0 = v0;
    0x000b0cd8 addiu sp, sp, 0x28                |             
    0x000b0cdc b 0xb7cb8                         |             void (*0xb7cb8)() ();
                                                 |         }
    0x000b0ce0 lw a0, 0x3c(s0)                   |         a0 = *((s0 + 15));
    0x000b0ce4 addiu t9, t9, -0x1c0              |         t9 += -aav.0x000001c0;
    0x000b0ce8 move a1, s1                       |         a1 = s1;
    0x000b0cec bal 0xafe40                       |         fcn_000afe40 ();
    0x000b0cf0 addiu v1, zero, -1                |         v1 = -1;
    0x000b0cf4 lw ra, 0x24(sp)                   |         ra = *(var_24h);
                                                 |         if (v0 == v1) {
    0x000b0cf8 bne v0, v1, 0xb0d04               |             
                                                 | label_1:
    0x000b0cfc move v0, zero                     |             v0 = 0;
    0x000b0d00 lw ra, 0x24(sp)                   |             ra = *(var_24h);
                                                 |         }
    0x000b0d04 lw s2, 0x20(sp)                   |         s2 = *(var_20h);
    0x000b0d08 lw s1, 0x1c(sp)                   |         s1 = *(var_1ch);
    0x000b0d0c lw s0, 0x18(sp)                   |         s0 = *(var_18h);
    0x000b0d10 addiu sp, sp, 0x28                |         
    0x000b0d14 jr ra                             |         return v0;
    0x000b0d18 lw t9, -0x7f34(gp)                |         t9 = *(gp);
    0x000b0d1c bal 0xb35ac                       |         sym_xmlGenericError ();
    0x000b0d20 nop                               |         
    0x000b0d24 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x000b0d28 lw t9, -0x7f38(gp)                |         t9 = *((gp - 8142));
    0x000b0d2c lw s2, (v0)                       |         s2 = *(v0);
    0x000b0d30 bal 0xb365c                       |         sym_xmlGenericErrorContext ();
    0x000b0d34 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x000b0d38 lw a0, (v0)                       |         a0 = *(v0);
    0x000b0d3c move a2, s1                       |         a2 = s1;
    0x000b0d40 lw a1, -0x7f94(gp)                |         a1 = *((gp - 8165));
    0x000b0d44 move t9, s2                       |         t9 = s2;
    0x000b0d48 addiu a1, a1, 0x2d58              |         a1 += 0x2d58;
    0x000b0d4c jalr t9                           |         t9 ();
    0x000b0d50 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x000b0d54 b 0xb0c90                         |         
                                                 |     }
                                                 | label_0:
    0x000b0d58 move v0, zero                     |     v0 = 0;
    0x000b0d5c jr ra                             |     return v0;
                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb090c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlACatalogResolvePublic ()          | void xmlACatalogResolvePublic () {
    0x000b090c lui gp, 0xe                           |     
    0x000b0910 addiu gp, gp, 0xd64                   |     
    0x000b0914 addu gp, gp, t9                       |     gp += t9;
                                                     |     if (a1 == 0) {
    0x000b0918 beqz a1, 0xb0a1c                      |         goto label_0;
                                                     |     }
    0x000b091c nop                                   |     
                                                     |     if (a0 == 0) {
    0x000b0920 beqz a0, 0xb0a1c                      |         goto label_0;
                                                     |     }
    0x000b0924 nop                                   |     
    0x000b0928 lw v0, -0x7fe4(gp)                    |     v0 = *((gp - 8185));
    0x000b092c addiu sp, sp, -0x28                   |     
    0x000b0930 lw v0, -0x4ad8(v0)                    |     v0 = *(v0);
    0x000b0934 sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x000b0938 sw s1, 0x1c(sp)                       |     *(var_1ch) = s1;
    0x000b093c sw s0, 0x18(sp)                       |     *(var_18h) = s0;
    0x000b0940 sw ra, 0x24(sp)                       |     *(var_24h) = ra;
    0x000b0944 sw s2, 0x20(sp)                       |     *(var_20h) = s2;
    0x000b0948 move s0, a0                           |     s0 = a0;
    0x000b094c move s1, a1                           |     s1 = a1;
    0x000b0950 bnez v0, 0xb09dc                      |     
                                                     |     while (1) {
    0x000b0954 lw v1, (s0)                           |         v1 = *(s0);
    0x000b0958 addiu v0, zero, 1                     |         v0 = 1;
    0x000b095c lw t9, -0x76bc(gp)                    |         t9 = *((gp - 7599));
                                                     |         if (v1 != v0) {
    0x000b0960 beq v1, v0, 0xb099c                   |             
    0x000b0964 lw a0, 0x34(s0)                       |             a0 = *((s0 + 13));
    0x000b0968 addiu t9, t9, -0x24a4                 |             t9 += -0x24a4;
    0x000b096c move a1, s1                           |             a1 = s1;
    0x000b0970 bal 0xadb5c                           |             fcn_000adb5c ();
    0x000b0974 lw gp, 0x10(sp)                       |             gp = *(var_10h);
                                                     |             if (v0 == 0) {
    0x000b0978 beqz v0, 0xb09c0                      |                 goto label_1;
                                                     |             }
    0x000b097c lw ra, 0x24(sp)                       |             ra = *(var_24h);
    0x000b0980 lw s2, 0x20(sp)                       |             s2 = *(var_20h);
    0x000b0984 lw s1, 0x1c(sp)                       |             s1 = *(var_1ch);
    0x000b0988 lw s0, 0x18(sp)                       |             s0 = *(var_18h);
    0x000b098c lw t9, -0x7fd8(gp)                    |             t9 = *((gp - 8182));
    0x000b0990 move a0, v0                           |             a0 = v0;
    0x000b0994 addiu sp, sp, 0x28                    |             
    0x000b0998 b 0xb7cb8                             |             void (*0xb7cb8)() ();
                                                     |         }
    0x000b099c lw t9, -0x76bc(gp)                    |         t9 = *((gp - 7599));
    0x000b09a0 lw a0, 0x3c(s0)                       |         a0 = *((s0 + 15));
    0x000b09a4 move a2, zero                         |         a2 = 0;
    0x000b09a8 addiu t9, t9, -0x568                  |         t9 += -aav.0x00000568;
    0x000b09ac move a1, s1                           |         a1 = s1;
    0x000b09b0 bal 0xafa98                           |         fcn_000afa98 ();
    0x000b09b4 addiu v1, zero, -1                    |         v1 = -1;
    0x000b09b8 lw ra, 0x24(sp)                       |         ra = *(var_24h);
                                                     |         if (v0 == v1) {
    0x000b09bc bne v0, v1, 0xb09c8                   |             
                                                     | label_1:
    0x000b09c0 move v0, zero                         |             v0 = 0;
    0x000b09c4 lw ra, 0x24(sp)                       |             ra = *(var_24h);
                                                     |         }
    0x000b09c8 lw s2, 0x20(sp)                       |         s2 = *(var_20h);
    0x000b09cc lw s1, 0x1c(sp)                       |         s1 = *(var_1ch);
    0x000b09d0 lw s0, 0x18(sp)                       |         s0 = *(var_18h);
    0x000b09d4 addiu sp, sp, 0x28                    |         
    0x000b09d8 jr ra                                 |         return v0;
    0x000b09dc lw t9, -0x7f34(gp)                    |         t9 = *(gp);
    0x000b09e0 bal 0xb35ac                           |         sym_xmlGenericError ();
    0x000b09e4 nop                                   |         
    0x000b09e8 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x000b09ec lw t9, -0x7f38(gp)                    |         t9 = *((gp - 8142));
    0x000b09f0 lw s2, (v0)                           |         s2 = *(v0);
    0x000b09f4 bal 0xb365c                           |         sym_xmlGenericErrorContext ();
    0x000b09f8 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x000b09fc lw a0, (v0)                           |         a0 = *(v0);
    0x000b0a00 move a2, s1                           |         a2 = s1;
    0x000b0a04 lw a1, -0x7f94(gp)                    |         a1 = *((gp - 8165));
    0x000b0a08 move t9, s2                           |         t9 = s2;
    0x000b0a0c addiu a1, a1, 0x2d00                  |         a1 += 0x2d00;
    0x000b0a10 jalr t9                               |         t9 ();
    0x000b0a14 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x000b0a18 b 0xb0954                             |         
                                                     |     }
                                                     | label_0:
    0x000b0a1c move v0, zero                         |     v0 = 0;
    0x000b0a20 jr ra                                 |     return v0;
                                                     | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb0c48 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlACatalogResolveURI ()         | void xmlACatalogResolveURI () {
    0x000b0c48 lui gp, 0xe                       |     
    0x000b0c4c addiu gp, gp, 0xa28               |     
    0x000b0c50 addu gp, gp, t9                   |     gp += t9;
                                                 |     if (a1 == 0) {
    0x000b0c54 beqz a1, 0xb0d58                  |         goto label_0;
                                                 |     }
    0x000b0c58 nop                               |     
                                                 |     if (a0 == 0) {
    0x000b0c5c beqz a0, 0xb0d58                  |         goto label_0;
                                                 |     }
    0x000b0c60 nop                               |     
    0x000b0c64 lw v0, -0x7fe4(gp)                |     v0 = *((gp - 8185));
    0x000b0c68 addiu sp, sp, -0x28               |     
    0x000b0c6c lw v0, -0x4ad8(v0)                |     v0 = *(v0);
    0x000b0c70 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x000b0c74 sw s1, 0x1c(sp)                   |     *(var_1ch) = s1;
    0x000b0c78 sw s0, 0x18(sp)                   |     *(var_18h) = s0;
    0x000b0c7c sw ra, 0x24(sp)                   |     *(var_24h) = ra;
    0x000b0c80 sw s2, 0x20(sp)                   |     *(var_20h) = s2;
    0x000b0c84 move s0, a0                       |     s0 = a0;
    0x000b0c88 move s1, a1                       |     s1 = a1;
    0x000b0c8c bnez v0, 0xb0d18                  |     
                                                 |     while (1) {
    0x000b0c90 lw v1, (s0)                       |         v1 = *(s0);
    0x000b0c94 addiu v0, zero, 1                 |         v0 = 1;
    0x000b0c98 lw t9, -0x76bc(gp)                |         t9 = *((gp - 7599));
                                                 |         if (v1 != v0) {
    0x000b0c9c beq v1, v0, 0xb0ce0               |             
    0x000b0ca0 lw a0, 0x34(s0)                   |             a0 = *((s0 + 13));
    0x000b0ca4 lw t9, -0x76bc(gp)                |             t9 = *((gp - 7599));
                                                 |             if (a0 == 0) {
    0x000b0ca8 beqz a0, 0xb0cfc                  |                 goto label_1;
                                                 |             }
    0x000b0cac addiu t9, t9, -0x3ab0             |             t9 += -aav.0x00003ab0;
    0x000b0cb0 move a1, s1                       |             a1 = s1;
    0x000b0cb4 bal 0xac550                       |             fcn_000ac550 ();
    0x000b0cb8 lw gp, 0x10(sp)                   |             gp = *(var_10h);
                                                 |             if (v0 == 0) {
    0x000b0cbc beqz v0, 0xb0cfc                  |                 goto label_1;
                                                 |             }
    0x000b0cc0 lw ra, 0x24(sp)                   |             ra = *(var_24h);
    0x000b0cc4 lw s2, 0x20(sp)                   |             s2 = *(var_20h);
    0x000b0cc8 lw s1, 0x1c(sp)                   |             s1 = *(var_1ch);
    0x000b0ccc lw s0, 0x18(sp)                   |             s0 = *(var_18h);
    0x000b0cd0 lw t9, -0x7fd8(gp)                |             t9 = *((gp - 8182));
    0x000b0cd4 move a0, v0                       |             a0 = v0;
    0x000b0cd8 addiu sp, sp, 0x28                |             
    0x000b0cdc b 0xb7cb8                         |             void (*0xb7cb8)() ();
                                                 |         }
    0x000b0ce0 lw a0, 0x3c(s0)                   |         a0 = *((s0 + 15));
    0x000b0ce4 addiu t9, t9, -0x1c0              |         t9 += -aav.0x000001c0;
    0x000b0ce8 move a1, s1                       |         a1 = s1;
    0x000b0cec bal 0xafe40                       |         fcn_000afe40 ();
    0x000b0cf0 addiu v1, zero, -1                |         v1 = -1;
    0x000b0cf4 lw ra, 0x24(sp)                   |         ra = *(var_24h);
                                                 |         if (v0 == v1) {
    0x000b0cf8 bne v0, v1, 0xb0d04               |             
                                                 | label_1:
    0x000b0cfc move v0, zero                     |             v0 = 0;
    0x000b0d00 lw ra, 0x24(sp)                   |             ra = *(var_24h);
                                                 |         }
    0x000b0d04 lw s2, 0x20(sp)                   |         s2 = *(var_20h);
    0x000b0d08 lw s1, 0x1c(sp)                   |         s1 = *(var_1ch);
    0x000b0d0c lw s0, 0x18(sp)                   |         s0 = *(var_18h);
    0x000b0d10 addiu sp, sp, 0x28                |         
    0x000b0d14 jr ra                             |         return v0;
    0x000b0d18 lw t9, -0x7f34(gp)                |         t9 = *(gp);
    0x000b0d1c bal 0xb35ac                       |         sym_xmlGenericError ();
    0x000b0d20 nop                               |         
    0x000b0d24 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x000b0d28 lw t9, -0x7f38(gp)                |         t9 = *((gp - 8142));
    0x000b0d2c lw s2, (v0)                       |         s2 = *(v0);
    0x000b0d30 bal 0xb365c                       |         sym_xmlGenericErrorContext ();
    0x000b0d34 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x000b0d38 lw a0, (v0)                       |         a0 = *(v0);
    0x000b0d3c move a2, s1                       |         a2 = s1;
    0x000b0d40 lw a1, -0x7f94(gp)                |         a1 = *((gp - 8165));
    0x000b0d44 move t9, s2                       |         t9 = s2;
    0x000b0d48 addiu a1, a1, 0x2d58              |         a1 += 0x2d58;
    0x000b0d4c jalr t9                           |         t9 ();
    0x000b0d50 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x000b0d54 b 0xb0c90                         |         
                                                 |     }
                                                 | label_0:
    0x000b0d58 move v0, zero                     |     v0 = 0;
    0x000b0d5c jr ra                             |     return v0;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x22ba8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlAddEncodingAlias ()       | void xmlAddEncodingAlias () {
    0x00022ba8 lui gp, 0x17                  |     
    0x00022bac addiu gp, gp, -0x1538         |     
    0x00022bb0 addu gp, gp, t9               |     gp += t9;
    0x00022bb4 addiu sp, sp, -0xb0           |     
    0x00022bb8 sw s1, 0x8c(sp)               |     *(var_8ch_2) = s1;
    0x00022bbc lw s1, -0x7000(gp)            |     s1 = *((gp - 7168));
    0x00022bc0 sw gp, 0x10(sp)               |     *(var_10h_2) = gp;
    0x00022bc4 sw ra, 0xac(sp)               |     *(var_ach) = ra;
    0x00022bc8 lw v0, (s1)                   |     v0 = *(s1);
    0x00022bcc sw fp, 0xa8(sp)               |     *(var_a8h) = fp;
    0x00022bd0 sw s7, 0xa4(sp)               |     *(var_a4h) = s7;
    0x00022bd4 sw s6, 0xa0(sp)               |     *(var_a0h) = s6;
    0x00022bd8 sw s5, 0x9c(sp)               |     *(var_9ch) = s5;
    0x00022bdc sw s4, 0x98(sp)               |     *(var_98h) = s4;
    0x00022be0 sw s3, 0x94(sp)               |     *(var_94h_2) = s3;
    0x00022be4 sw s2, 0x90(sp)               |     *(var_90h_2) = s2;
    0x00022be8 sw s0, 0x88(sp)               |     *(var_88h_2) = s0;
    0x00022bec sw v0, 0x84(sp)               |     *(var_84h_2) = v0;
    0x00022bf0 addiu v1, zero, -1            |     v1 = -1;
                                             |     if (a0 == 0) {
    0x00022bf4 beqz a0, 0x22d58              |         goto label_1;
                                             |     }
    0x00022bf8 move s3, a1                   |     s3 = a1;
                                             |     if (a1 == 0) {
    0x00022bfc beqz a1, 0x22dfc              |         goto label_2;
                                             |     }
    0x00022c00 lw t9, -0x6f14(gp)            |     t9 = *((gp - 7109));
    0x00022c04 move s2, a0                   |     s2 = a0;
    0x00022c08 addiu s0, sp, 0x20            |     s0 = sp + 0x20;
    0x00022c0c jalr t9                       |     t9 ();
    0x00022c10 lw a1, (v0)                   |     a1 = *(v0);
    0x00022c14 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x00022c18 move a0, s0                   |     a0 = s0;
    0x00022c1c move v1, zero                 |     v1 = 0;
    0x00022c20 addiu a2, zero, 0x63          |     a2 = 0x63;
    0x00022c24 b 0x22c34                     |     
                                             |     while (v0 != 0) {
    0x00022c28 addiu v1, v1, 1               |         v1++;
    0x00022c2c addiu a0, a0, 1               |         a0++;
                                             |         if (v1 == a2) {
    0x00022c30 beq v1, a2, 0x22c50           |             goto label_3;
                                             |         }
    0x00022c34 addu v0, s3, v1               |         v0 = s3 + v1;
    0x00022c38 lb v0, (v0)                   |         v0 = *(v0);
    0x00022c3c sll v0, v0, 2                 |         v0 <<= 2;
    0x00022c40 lwx v0, v0(a1)                |         __asm ("lwx v0, v0(a1)");
    0x00022c44 seb v0, v0                    |         __asm ("seb v0, v0");
    0x00022c48 sb v0, (a0)                   |         *(a0) = v0;
    0x00022c4c bnez v0, 0x22c28              |         
                                             |     }
                                             | label_3:
    0x00022c50 lw s6, -0x7fe4(gp)            |     s6 = *((gp - 8185));
    0x00022c54 addiu v0, sp, 0x88            |     v0 = sp + 0x88;
    0x00022c58 addu v1, v0, v1               |     v1 = v0 + v1;
    0x00022c5c lw s7, -0x56ec(s6)            |     s7 = *((s6 - 5563));
    0x00022c60 sb zero, -0x68(v1)            |     *((v1 - 104)) = 0;
    0x00022c64 lw fp, -0x7fe4(gp)            |     fp = *((gp - 8185));
                                             |     if (s7 == 0) {
    0x00022c68 beqz s7, 0x22dc4              |         goto label_4;
                                             |     }
    0x00022c6c lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
    0x00022c70 lw s5, -0x56f0(fp)            |     s5 = *(var_56f0h);
    0x00022c74 lw a1, -0x56f4(v0)            |     a1 = *((v0 - 5565));
    0x00022c78 slt v1, s5, a1                |     v1 = (s5 < a1) ? 1 : 0;
    0x00022c7c lw a2, -0x6e24(gp)            |     a2 = *(gp);
                                             |     if (v1 == 0) {
    0x00022c80 beqz v1, 0x22d98              |         goto label_5;
                                             |     }
                                             | label_0:
    0x00022c84 move s4, s7                   |     s4 = s7;
                                             |     if (s5 <= 0) {
    0x00022c88 blez s5, 0x22d08              |         goto label_6;
                                             |     }
    0x00022c8c move s3, zero                 |     s3 = 0;
    0x00022c90 b 0x22ca0                     |     
                                             |     while (v1 != 0) {
    0x00022c94 addiu s3, s3, 1               |         s3++;
    0x00022c98 addiu s4, s4, 8               |         s4 += 8;
                                             |         if (s3 == s5) {
    0x00022c9c beq s3, s5, 0x22d08           |             goto label_6;
                                             |         }
    0x00022ca0 lw t9, -0x7140(gp)            |         t9 = *(gp);
    0x00022ca4 lw a0, 4(s4)                  |         a0 = *((s4 + 1));
    0x00022ca8 move a1, s0                   |         a1 = s0;
    0x00022cac jalr t9                       |         t9 ();
    0x00022cb0 move v1, v0                   |         v1 = v0;
    0x00022cb4 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
    0x00022cb8 sll v0, s3, 3                 |         v0 = s3 << 3;
    0x00022cbc bnez v1, 0x22c94              |         
                                             |     }
    0x00022cc0 lw a1, -0x7158(gp)            |     a1 = *(gp);
    0x00022cc4 lw a0, (s4)                   |     a0 = *(s4);
    0x00022cc8 sw v1, 0x1c(sp)               |     *(var_1ch_2) = v1;
    0x00022ccc lw t9, (a1)                   |     t9 = *(a1);
    0x00022cd0 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00022cd4 jalr t9                       |     t9 ();
    0x00022cd8 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x00022cdc lw s0, -0x56ec(s6)            |     s0 = *((s6 - 5563));
    0x00022ce0 lw v0, 0x18(sp)               |     v0 = *(var_18h);
    0x00022ce4 lw a1, -0x6e34(gp)            |     a1 = *(gp);
    0x00022ce8 addu s0, s0, v0               |     s0 += v0;
    0x00022cec lw t9, (a1)                   |     t9 = *(a1);
    0x00022cf0 move a0, s2                   |     a0 = s2;
    0x00022cf4 jalr t9                       |     t9 ();
    0x00022cf8 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x00022cfc sw v0, (s0)                   |     *(s0) = v0;
    0x00022d00 lw v1, 0x1c(sp)               |     v1 = *(var_1ch_2);
    0x00022d04 b 0x22d58                     |     goto label_1;
                                             | label_6:
    0x00022d08 lw s3, -0x6e34(gp)            |     s3 = *(gp);
    0x00022d0c move a0, s2                   |     a0 = s2;
    0x00022d10 sll s5, s5, 3                 |     s5 <<= 3;
    0x00022d14 lw t9, (s3)                   |     t9 = *(s3);
    0x00022d18 addu s5, s7, s5               |     s5 = s7 + s5;
    0x00022d1c jalr t9                       |     t9 ();
    0x00022d20 lw a1, -0x56f0(fp)            |     a1 = *(var_56f0h);
    0x00022d24 lw v1, -0x56ec(s6)            |     v1 = *((s6 - 5563));
    0x00022d28 lw t9, (s3)                   |     t9 = *(s3);
    0x00022d2c sll a1, a1, 3                 |     a1 <<= 3;
    0x00022d30 move a0, s0                   |     a0 = s0;
    0x00022d34 sw v0, (s5)                   |     *(s5) = v0;
    0x00022d38 addu s0, v1, a1               |     s0 = v1 + a1;
    0x00022d3c jalr t9                       |     t9 ();
    0x00022d40 lw v1, -0x56f0(fp)            |     v1 = *(var_56f0h);
    0x00022d44 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x00022d48 addiu v1, v1, 1               |     v1++;
    0x00022d4c sw v1, -0x56f0(fp)            |     *(fp) = v1;
    0x00022d50 sw v0, 4(s0)                  |     *((s0 + 1)) = v0;
    0x00022d54 move v1, zero                 |     v1 = 0;
                                             |     do {
                                             | label_1:
    0x00022d58 lw a1, 0x84(sp)               |         a1 = *(var_84h_2);
    0x00022d5c lw a0, (s1)                   |         a0 = *(s1);
    0x00022d60 move v0, v1                   |         v0 = v1;
                                             |         if (a1 != a0) {
    0x00022d64 bne a1, a0, 0x22e04           |             goto label_7;
                                             |         }
    0x00022d68 lw ra, 0xac(sp)               |         ra = *(var_ach);
    0x00022d6c lw fp, 0xa8(sp)               |         fp = *(var_a8h);
    0x00022d70 lw s7, 0xa4(sp)               |         s7 = *(var_a4h);
    0x00022d74 lw s6, 0xa0(sp)               |         s6 = *(var_a0h);
    0x00022d78 lw s5, 0x9c(sp)               |         s5 = *(var_9ch);
    0x00022d7c lw s4, 0x98(sp)               |         s4 = *(var_98h);
    0x00022d80 lw s3, 0x94(sp)               |         s3 = *(var_94h_2);
    0x00022d84 lw s2, 0x90(sp)               |         s2 = *(var_90h_2);
    0x00022d88 lw s1, 0x8c(sp)               |         s1 = *(var_8ch_2);
    0x00022d8c lw s0, 0x88(sp)               |         s0 = *(var_88h_2);
    0x00022d90 addiu sp, sp, 0xb0            |         
    0x00022d94 jr ra                         |         return v1;
                                             | label_5:
    0x00022d98 sll v1, a1, 1                 |         v1 = a1 << 1;
    0x00022d9c move a0, s7                   |         a0 = s7;
    0x00022da0 lw t9, (a2)                   |         t9 = *(a2);
    0x00022da4 sll a1, a1, 4                 |         a1 <<= 4;
    0x00022da8 sw v1, -0x56f4(v0)            |         *((v0 - 5565)) = v1;
    0x00022dac jalr t9                       |         t9 ();
    0x00022db0 move s7, v0                   |         s7 = v0;
    0x00022db4 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
    0x00022db8 lw s5, -0x56f0(fp)            |         s5 = *(var_56f0h);
    0x00022dbc sw v0, -0x56ec(s6)            |         *((s6 - 5563)) = v0;
    0x00022dc0 b 0x22c84                     |         goto label_0;
                                             | label_4:
    0x00022dc4 lw v0, -0x716c(gp)            |         v0 = *(gp);
    0x00022dc8 addiu v1, zero, 0x14          |         v1 = 0x14;
    0x00022dcc addiu a0, zero, 0xa0          |         a0 = 0xa0;
    0x00022dd0 lw t9, (v0)                   |         t9 = *(v0);
    0x00022dd4 lw v0, -0x7fe4(gp)            |         v0 = *((gp - 8185));
    0x00022dd8 sw zero, -0x56f0(fp)          |         *(fp) = 0;
    0x00022ddc sw v1, -0x56f4(v0)            |         *((v0 - 5565)) = v1;
    0x00022de0 jalr t9                       |         t9 ();
    0x00022de4 move s7, v0                   |         s7 = v0;
    0x00022de8 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
    0x00022dec sw v0, -0x56ec(s6)            |         *((s6 - 5563)) = v0;
                                             |         if (v0 != 0) {
    0x00022df0 beqz v0, 0x22dfc              |             
    0x00022df4 lw s5, -0x56f0(fp)            |             s5 = *(var_56f0h);
    0x00022df8 b 0x22c84                     |             goto label_0;
                                             |         }
                                             | label_2:
    0x00022dfc addiu v1, zero, -1            |         v1 = -1;
    0x00022e00 b 0x22d58                     |         
                                             |     } while (1);
                                             | label_7:
    0x00022e04 lw t9, -0x7074(gp)            |     t9 = *((gp - 7197));
    0x00022e08 jalr t9                       |     t9 ();
    0x00022e0c 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 @ 0xba684 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlBufAddHead ()             | void xmlBufAddHead () {
    0x000ba684 lui gp, 0xd                   |     
    0x000ba688 addiu gp, gp, 0x6fec          |     
    0x000ba68c addu gp, gp, t9               |     gp += t9;
    0x000ba690 addiu sp, sp, -0x30           |     
    0x000ba694 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000ba698 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x000ba69c sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x000ba6a0 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x000ba6a4 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x000ba6a8 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000ba6ac addiu s2, zero, -1            |     s2 = -1;
                                             |     if (a0 == 0) {
    0x000ba6b0 beqz a0, 0xba800              |         goto label_2;
                                             |     }
    0x000ba6b4 lw s2, 0x20(a0)               |     s2 = *((a0 + 8));
    0x000ba6b8 move s0, a0                   |     s0 = a0;
                                             |     if (s2 != 0) {
    0x000ba6bc bnez s2, 0xba8e4              |         goto label_3;
                                             |     }
    0x000ba6c0 lw v1, 8(a0)                  |     v1 = *((a0 + 2));
    0x000ba6c4 lw v0, 0x18(a0)               |     v0 = *((a0 + 6));
    0x000ba6c8 move s3, a1                   |     s3 = a1;
    0x000ba6cc move s1, a2                   |     s1 = a2;
                                             |     if (v0 != v1) {
    0x000ba6d0 beq v0, v1, 0xba6e8           |         
    0x000ba6d4 lui v0, 0x7fff                |         v0 = 0x7fffffff;
    0x000ba6d8 ori v0, v0, 0xffff            |         
    0x000ba6dc sltu v0, v1, v0               |         v0 = (v1 < v0) ? 1 : 0;
    0x000ba6e0 sw v1, 0x18(a0)               |         *((a0 + 6)) = v1;
                                             |         if (v0 == 0) {
    0x000ba6e4 bnel v0, zero, 0xba6e8        |             goto label_4;
                                             |         }
                                             |     }
                                             | label_4:
    0x000ba6e8 lw v1, 4(s0)                  |     v1 = *((s0 + 1));
    0x000ba6ec lw v0, 0x14(s0)               |     v0 = *((s0 + 5));
    0x000ba6f0 lui v0, 0x7fff                |     v0 = 0x7fff0000;
                                             |     if (v0 != v1) {
    0x000ba6f4 beq v0, v1, 0xba708           |         
    0x000ba6f8 ori v0, v0, 0xffff            |         v0 |= 0xffff;
    0x000ba6fc sltu v0, v1, v0               |         v0 = (v1 < v0) ? 1 : 0;
    0x000ba700 sw v1, 0x14(s0)               |         *((s0 + 5)) = v1;
                                             |         if (v0 == 0) {
    0x000ba704 bnel v0, zero, 0xba708        |             goto label_5;
                                             |         }
                                             |     }
                                             | label_5:
    0x000ba708 lw v1, 0xc(s0)                |     v1 = *((s0 + 3));
    0x000ba70c addiu v0, zero, 2             |     v0 = 2;
                                             |     if (v1 == v0) {
    0x000ba710 beql v1, v0, 0xba800          |         goto label_2;
                                             |     }
    0x000ba714 addiu s2, zero, -1            |     s2 = -1;
    0x000ba718 slti v0, s1, -1               |     v0 = (s1 < -1) ? 1 : 0;
                                             |     if (s3 == 0) {
    0x000ba71c beqz s3, 0xba8e4              |         goto label_3;
                                             |     }
    0x000ba720 addiu s2, zero, -1            |     s2 = -1;
                                             |     if (v0 == 0) {
    0x000ba724 bnel v0, zero, 0xba800        |         goto label_2;
                                             |     }
    0x000ba728 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (s1 == 0) {
    0x000ba72c beqz s1, 0xba860              |         goto label_6;
                                             |     }
    0x000ba730 lw t9, -0x7fcc(gp)            |     t9 = *((gp - 8179));
                                             |     if (s1 == v0) {
    0x000ba734 beq s1, v0, 0xba8b0           |         goto label_7;
                                             |     }
                                             | label_1:
    0x000ba738 addiu v0, zero, 3             |     v0 = 3;
                                             |     if (s1 <= 0) {
    0x000ba73c blez s1, 0xba8e4              |         goto label_3;
                                             |     }
    0x000ba740 lw v1, 0xc(s0)                |     v1 = *((s0 + 3));
                                             |     if (v1 == v0) {
    0x000ba744 beql v1, v0, 0xba820          |         goto label_8;
                                             |     }
    0x000ba748 lw v0, 0x10(s0)               |     v0 = *((s0 + 4));
    0x000ba74c lw a2, 0x14(s0)               |     a2 = *((s0 + 5));
    0x000ba750 lw v0, 0x18(s0)               |     v0 = *((s0 + 6));
    0x000ba754 addiu a1, a2, 2               |     a1 = a2 + 2;
    0x000ba758 addu a1, a1, s1               |     a1 += s1;
    0x000ba75c sltu v0, v0, a1               |     v0 = (v0 < a1) ? 1 : 0;
    0x000ba760 addiu v0, zero, 5             |     v0 = 5;
                                             |     if (v0 == 0) {
    0x000ba764 beqz v0, 0xba798              |         goto label_9;
                                             |     }
    0x000ba768 lui v0, 0x98                  |     v0 = 0x980000;
                                             |     if (v1 == v0) {
    0x000ba76c bne v1, v0, 0xba780           |         
    0x000ba770 ori v0, v0, 0x9680            |         v0 |= aav.0x00009680;
    0x000ba774 sltu v0, a1, v0               |         v0 = (a1 < v0) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x000ba778 beql v0, zero, 0xba93c        |             goto label_10;
                                             |         }
    0x000ba77c lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
                                             |     }
    0x000ba780 lw t9, -0x6e4c(gp)            |     t9 = *(gp);
                                             |     do {
    0x000ba784 move a0, s0                   |         a0 = s0;
    0x000ba788 jalr t9                       |         t9 ();
    0x000ba78c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x000ba790 beqz v0, 0xba8c4              |             goto label_11;
                                             |         }
    0x000ba794 lw a2, 0x14(s0)               |         a2 = *((s0 + 5));
                                             | label_9:
    0x000ba798 lw a1, (s0)                   |         a1 = *(s0);
                                             | label_0:
    0x000ba79c lw t9, -0x70b0(gp)            |         t9 = *((gp - 7212));
    0x000ba7a0 addu a0, a1, s1               |         a0 = a1 + s1;
    0x000ba7a4 jalr t9                       |         t9 ();
    0x000ba7a8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000ba7ac lw a0, (s0)                   |         a0 = *(s0);
    0x000ba7b0 move a2, s1                   |         a2 = s1;
    0x000ba7b4 lw t9, -0x70b0(gp)            |         t9 = *((gp - 7212));
    0x000ba7b8 move a1, s3                   |         a1 = s3;
    0x000ba7bc jalr t9                       |         t9 ();
    0x000ba7c0 lw v0, 0x14(s0)               |         v0 = *((s0 + 5));
    0x000ba7c4 lw v1, (s0)                   |         v1 = *(s0);
    0x000ba7c8 addu s1, s1, v0               |         s1 += v0;
    0x000ba7cc addu v0, v1, s1               |         v0 = v1 + s1;
    0x000ba7d0 sw s1, 0x14(s0)               |         *((s0 + 5)) = s1;
    0x000ba7d4 sb zero, (v0)                 |         *(v0) = 0;
    0x000ba7d8 lw v1, 0x18(s0)               |         v1 = *((s0 + 6));
    0x000ba7dc lui v0, 0x7fff                |         v0 = 0x7fffffff;
    0x000ba7e0 ori v0, v0, 0xffff            |         
    0x000ba7e4 lw a0, 0x14(s0)               |         a0 = *((s0 + 5));
    0x000ba7e8 sltu a1, v1, v0               |         a1 = (v1 < v0) ? 1 : 0;
                                             |         if (a1 != 0) {
    0x000ba7ec movz v1, v0, a1               |             v1 = v0;
                                             |         }
    0x000ba7f0 sltu v0, a0, v0               |         v0 = (a0 < v0) ? 1 : 0;
    0x000ba7f4 sw v1, 8(s0)                  |         *((s0 + 2)) = v1;
                                             |         if (v0 == 0) {
    0x000ba7f8 beqz v0, 0xba884              |             goto label_12;
                                             |         }
    0x000ba7fc sw a0, 4(s0)                  |         *((s0 + 1)) = a0;
                                             | label_2:
    0x000ba800 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x000ba804 move v0, s2                   |         v0 = s2;
    0x000ba808 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x000ba80c lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x000ba810 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x000ba814 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x000ba818 addiu sp, sp, 0x30            |         
    0x000ba81c jr ra                         |         return v0;
                                             |         if (v0 != 0) {
                                             | label_8:
    0x000ba820 beql v0, zero, 0xba840        |             
    0x000ba824 lw a2, 0x14(s0)               |             a2 = *((s0 + 5));
    0x000ba828 lw a0, (s0)                   |             a0 = *(s0);
    0x000ba82c subu v0, a0, v0               |             __asm ("subu v0, a0, v0");
    0x000ba830 sltu v0, s1, v0               |             v0 = (s1 < v0) ? 1 : 0;
    0x000ba834 subu a0, a0, s1               |             __asm ("subu a0, a0, s1");
                                             |             if (v0 != 0) {
    0x000ba838 bnez v0, 0xba8ec              |                 goto label_13;
                                             |             }
    0x000ba83c lw a2, 0x14(s0)               |             a2 = *((s0 + 5));
                                             |         }
    0x000ba840 lw v0, 0x18(s0)               |         v0 = *((s0 + 6));
    0x000ba844 addiu a1, a2, 2               |         a1 = a2 + 2;
    0x000ba848 addu a1, a1, s1               |         a1 += s1;
    0x000ba84c sltu v0, v0, a1               |         v0 = (v0 < a1) ? 1 : 0;
    0x000ba850 lw t9, -0x6e4c(gp)            |         t9 = *(gp);
    0x000ba854 bnez v0, 0xba784              |         
                                             |     } while (v0 != 0);
    0x000ba858 lw a1, (s0)                   |     a1 = *(s0);
    0x000ba85c b 0xba79c                     |     goto label_0;
                                             | label_6:
    0x000ba860 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x000ba864 move s2, zero                 |     s2 = 0;
    0x000ba868 move v0, s2                   |     v0 = s2;
    0x000ba86c lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x000ba870 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x000ba874 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x000ba878 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x000ba87c addiu sp, sp, 0x30            |     
    0x000ba880 jr ra                         |     return v0;
                                             |     do {
                                             | label_12:
    0x000ba884 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x000ba888 lui v0, 0x7fff                |         v0 = 0x7fffffff;
    0x000ba88c ori v0, v0, 0xffff            |         
    0x000ba890 sw v0, 4(s0)                  |         *((s0 + 1)) = v0;
    0x000ba894 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x000ba898 move v0, s2                   |         v0 = s2;
    0x000ba89c lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x000ba8a0 lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x000ba8a4 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x000ba8a8 addiu sp, sp, 0x30            |         
    0x000ba8ac jr ra                         |         return v0;
                                             | label_7:
    0x000ba8b0 move a0, s3                   |         a0 = s3;
    0x000ba8b4 bal 0xb8358                   |         sym_xmlStrlen ();
    0x000ba8b8 move s1, v0                   |         s1 = v0;
    0x000ba8bc lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000ba8c0 b 0xba738                     |         goto label_1;
                                             | label_11:
    0x000ba8c4 lw a1, -0x7f94(gp)            |         a1 = *((gp - 8165));
    0x000ba8c8 lw t9, -0x7614(gp)            |         t9 = *((gp - 7557));
    0x000ba8cc addiu a1, a1, -0x670c         |         a1 += -0x670c;
    0x000ba8d0 addiu t9, t9, -0x6e90         |         t9 += -0x6e90;
    0x000ba8d4 move a0, s0                   |         a0 = s0;
    0x000ba8d8 bal 0xb9170                   |         fcn_000b9170 ();
    0x000ba8dc addiu s2, zero, 2             |         s2 = 2;
    0x000ba8e0 b 0xba800                     |         goto label_2;
                                             | label_3:
    0x000ba8e4 addiu s2, zero, -1            |         s2 = -1;
    0x000ba8e8 b 0xba800                     |         goto label_2;
                                             | label_13:
    0x000ba8ec lw t9, -0x70b0(gp)            |         t9 = *((gp - 7212));
    0x000ba8f0 sw a0, (s0)                   |         *(s0) = a0;
    0x000ba8f4 move a2, s1                   |         a2 = s1;
    0x000ba8f8 move a1, s3                   |         a1 = s3;
    0x000ba8fc jalr t9                       |         t9 ();
    0x000ba900 lw v0, 0x18(s0)               |         v0 = *((s0 + 6));
    0x000ba904 lw a0, 0x14(s0)               |         a0 = *((s0 + 5));
    0x000ba908 lui v1, 0x7fff                |         v1 = 0x7fff0000;
    0x000ba90c addu v0, s1, v0               |         v0 = s1 + v0;
    0x000ba910 ori v1, v1, 0xffff            |         v1 |= 0xffff;
    0x000ba914 addu s1, s1, a0               |         s1 += a0;
    0x000ba918 sltu a1, v0, v1               |         a1 = (v0 < v1) ? 1 : 0;
    0x000ba91c sw v0, 0x18(s0)               |         *((s0 + 6)) = v0;
    0x000ba920 sltu a0, s1, v1               |         a0 = (s1 < v1) ? 1 : 0;
                                             |         if (a1 != 0) {
    0x000ba924 movz v0, v1, a1               |             v0 = v1;
                                             |         }
    0x000ba928 sw s1, 0x14(s0)               |         *((s0 + 5)) = s1;
    0x000ba92c sw v0, 8(s0)                  |         *((s0 + 2)) = v0;
    0x000ba930 beqz a0, 0xba884              |         
                                             |     } while (a0 == 0);
    0x000ba934 sw s1, 4(s0)                  |     *((s0 + 1)) = s1;
    0x000ba938 b 0xba800                     |     goto label_2;
                                             | label_10:
    0x000ba93c lw t9, -0x7614(gp)            |     t9 = *((gp - 7557));
    0x000ba940 addiu a1, a1, 0x3920          |     a1 += 0x3920;
    0x000ba944 addiu t9, t9, -0x6e90         |     t9 += -0x6e90;
    0x000ba948 move a0, s0                   |     a0 = s0;
    0x000ba94c bal 0xb9170                   |     fcn_000b9170 ();
    0x000ba950 addiu s2, zero, -1            |     s2 = -1;
    0x000ba954 b 0xba800                     |     goto label_2;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb9d88 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlBufEnd ()                 | void xmlBufEnd () {
                                             |     if (a0 != 0) {
    0x000b9d88 beqz a0, 0xb9e04              |         
    0x000b9d8c nop                           |         
    0x000b9d90 lw v0, 0x20(a0)               |         v0 = *((a0 + 8));
                                             |         if (v0 == 0) {
    0x000b9d94 bnez v0, 0xb9dfc              |             
    0x000b9d98 nop                           |             
    0x000b9d9c lw v1, 8(a0)                  |             v1 = *((a0 + 2));
    0x000b9da0 lw v0, 0x18(a0)               |             v0 = *((a0 + 6));
    0x000b9da4 lui v0, 0x7fff                |             v0 = 0x7fff0000;
                                             |             if (v0 != v1) {
    0x000b9da8 beq v0, v1, 0xb9dbc           |                 
    0x000b9dac ori v0, v0, 0xffff            |                 v0 |= 0xffff;
    0x000b9db0 sltu v0, v1, v0               |                 v0 = (v1 < v0) ? 1 : 0;
    0x000b9db4 sw v1, 0x18(a0)               |                 *((a0 + 6)) = v1;
                                             |                 if (v0 == 0) {
    0x000b9db8 bnel v0, zero, 0xb9dbc        |                     goto label_0;
                                             |                 }
                                             |             }
                                             | label_0:
    0x000b9dbc lw a1, 0x14(a0)               |             a1 = *((a0 + 5));
    0x000b9dc0 lw v1, 4(a0)                  |             v1 = *((a0 + 1));
                                             |             if (a1 != v1) {
    0x000b9dc4 beql a1, v1, 0xb9de8          |                 
    0x000b9dc8 lw v0, (a0)                   |                 v0 = *(a0);
    0x000b9dcc lui v0, 0x7fff                |                 v0 = 0x7fffffff;
    0x000b9dd0 ori v0, v0, 0xffff            |                 
    0x000b9dd4 sltu v0, v1, v0               |                 v0 = (v1 < v0) ? 1 : 0;
                                             |                 if (v0 == 0) {
    0x000b9dd8 beql v0, zero, 0xb9df0        |                     goto label_1;
                                             |                 }
    0x000b9ddc lw v0, (a0)                   |                 v0 = *(a0);
    0x000b9de0 sw v1, 0x14(a0)               |                 *((a0 + 5)) = v1;
    0x000b9de4 lw v0, (a0)                   |                 v0 = *(a0);
                                             |             }
    0x000b9de8 addu v0, v0, v1               |             v0 += v1;
    0x000b9dec jr ra                         |             return v0;
                                             | label_1:
    0x000b9df0 move v1, a1                   |             v1 = a1;
    0x000b9df4 addu v0, v0, v1               |             v0 += v1;
    0x000b9df8 jr ra                         |             return v0;
                                             |         }
    0x000b9dfc move v0, zero                 |         v0 = 0;
    0x000b9e00 jr ra                         |         return v0;
                                             |     }
    0x000b9e04 move v0, zero                 |     v0 = 0;
    0x000b9e08 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb9ec0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlBufErase ()               | void xmlBufErase () {
                                             |     if (a0 != 0) {
    0x000b9ec0 beqz a0, 0xb9f60              |         
    0x000b9ec4 nop                           |         
    0x000b9ec8 lw v0, 0x20(a0)               |         v0 = *((a0 + 8));
                                             |         if (v0 != 0) {
    0x000b9ecc bnez v0, 0xb9f60              |             goto label_0;
                                             |         }
    0x000b9ed0 nop                           |         
    0x000b9ed4 lw v1, 8(a0)                  |         v1 = *((a0 + 2));
    0x000b9ed8 lw a2, 0x18(a0)               |         a2 = *((a0 + 6));
    0x000b9edc lui a2, 0x7fff                |         a2 = 0x7fff0000;
                                             |         if (a2 != v1) {
    0x000b9ee0 beq a2, v1, 0xb9ef4           |             
    0x000b9ee4 ori a2, a2, 0xffff            |             a2 |= 0xffff;
    0x000b9ee8 sltu a2, v1, a2               |             a2 = (v1 < a2) ? 1 : 0;
    0x000b9eec sw v1, 0x18(a0)               |             *((a0 + 6)) = v1;
                                             |             if (a2 == 0) {
    0x000b9ef0 bnel a2, zero, 0xb9ef4        |                 goto label_1;
                                             |             }
                                             |         }
                                             | label_1:
    0x000b9ef4 lw a3, 0x14(a0)               |         a3 = *((a0 + 5));
    0x000b9ef8 lw v1, 4(a0)                  |         v1 = *((a0 + 1));
    0x000b9efc lui a2, 0x7fff                |         a2 = 0x7fff0000;
                                             |         if (a3 != v1) {
    0x000b9f00 beq a3, v1, 0xb9f18           |             
    0x000b9f04 ori a2, a2, 0xffff            |             a2 |= 0xffff;
    0x000b9f08 sltu a2, v1, a2               |             a2 = (v1 < a2) ? 1 : 0;
                                             |             if (a2 == 0) {
    0x000b9f0c beql a2, zero, 0xb9f18        |                 goto label_2;
                                             |             }
    0x000b9f10 move v1, a3                   |             v1 = a3;
    0x000b9f14 sw v1, 0x14(a0)               |             *((a0 + 5)) = v1;
                                             |         }
                                             | label_2:
    0x000b9f18 sltu a2, v1, a1               |         a2 = (v1 < a1) ? 1 : 0;
    0x000b9f1c subu v1, v1, a1               |         __asm ("subu v1, v1, a1");
                                             |         if (a2 != 0) {
    0x000b9f20 bnez a2, 0xb9f60              |             goto label_0;
                                             |         }
    0x000b9f24 lw a2, (a0)                   |         a2 = *(a0);
    0x000b9f28 addu a2, a2, v1               |         a2 += v1;
    0x000b9f2c sw v1, 0x14(a0)               |         *((a0 + 5)) = v1;
    0x000b9f30 sb zero, (a2)                 |         *(a2) = 0;
    0x000b9f34 lw a1, 0x18(a0)               |         a1 = *((a0 + 6));
    0x000b9f38 lw a3, 0x14(a0)               |         a3 = *((a0 + 5));
    0x000b9f3c lui v1, 0x7fff                |         v1 = 0x7fffffff;
    0x000b9f40 ori v1, v1, 0xffff            |         
    0x000b9f44 sltu t0, a1, v1               |         t0 = (a1 < v1) ? 1 : 0;
    0x000b9f48 sltu a2, a3, v1               |         a2 = (a3 < v1) ? 1 : 0;
                                             |         if (t0 != 0) {
    0x000b9f4c movz a1, v1, t0               |             a1 = v1;
                                             |         }
                                             |         if (a2 == 0) {
    0x000b9f50 movn v1, a3, a2               |             v1 = a3;
                                             |         }
    0x000b9f54 sw a1, 8(a0)                  |         *((a0 + 2)) = a1;
    0x000b9f58 sw v1, 4(a0)                  |         *((a0 + 1)) = v1;
    0x000b9f5c jr ra                         |         return v0;
                                             |     }
                                             | label_0:
    0x000b9f60 addiu v0, zero, -1            |     v0 = -1;
    0x000b9f64 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x58758 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlBufferCCat ()             | void xmlBufferCCat () {
    0x00058758 lui gp, 0x14                  |     
    0x0005875c addiu gp, gp, -0x70e8         |     
    0x00058760 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x00058764 beqz a0, 0x588a0              |         goto label_1;
                                             |     }
    0x00058768 nop                           |     
    0x0005876c addiu sp, sp, -0x30           |     
    0x00058770 lw v1, 0xc(a0)                |     v1 = *((a0 + 3));
    0x00058774 addiu v0, zero, 2             |     v0 = 2;
    0x00058778 sw gp, 0x18(sp)               |     *(var_28h) = gp;
    0x0005877c sw s0, 0x20(sp)               |     *(var_30h) = s0;
    0x00058780 sw ra, 0x2c(sp)               |     *(var_3ch) = ra;
    0x00058784 sw s2, 0x28(sp)               |     *(var_38h) = s2;
    0x00058788 sw s1, 0x24(sp)               |     *(var_34h) = s1;
    0x0005878c move s0, a0                   |     s0 = a0;
                                             |     if (v1 == v0) {
    0x00058790 beq v1, v0, 0x58898           |         goto label_2;
                                             |     }
    0x00058794 move s1, a1                   |     s1 = a1;
                                             |     if (a1 == 0) {
    0x00058798 beqz a1, 0x58898              |         goto label_2;
                                             |     }
    0x0005879c lb v0, (a1)                   |     v0 = *(a1);
    0x000587a0 lw s2, -0x7b3c(gp)            |     s2 = *((gp - 7887));
                                             |     if (v0 != 0) {
    0x000587a4 bnez v0, 0x587d4              |         goto label_3;
                                             |     }
    0x000587a8 lw v1, (s0)                   |     v1 = *(s0);
    0x000587ac b 0x58830                     |     goto label_4;
                                             |     do {
    0x000587b0 lb a0, (s1)                   |         a0 = *(s1);
    0x000587b4 addu v1, v1, v0               |         v1 += v0;
    0x000587b8 addiu s1, s1, 1               |         s1++;
    0x000587bc addiu v0, v0, 1               |         v0++;
    0x000587c0 sw v0, 4(s0)                  |         *((s0 + 1)) = v0;
    0x000587c4 sb a0, (v1)                   |         *(v1) = a0;
    0x000587c8 lb v0, (s1)                   |         v0 = *(s1);
                                             |         if (v0 == 0) {
    0x000587cc beql v0, zero, 0x58830        |             goto label_4;
                                             |         }
    0x000587d0 lw v1, (s0)                   |         v1 = *(s0);
                                             | label_3:
    0x000587d4 lw v0, 4(s0)                  |         v0 = *((s0 + 1));
                                             | label_0:
    0x000587d8 lw v1, 8(s0)                  |         v1 = *((s0 + 2));
    0x000587dc addiu a1, v0, 0xa             |         a1 = v0 + 0xa;
    0x000587e0 sltu v1, a1, v1               |         v1 = (a1 < v1) ? 1 : 0;
    0x000587e4 lw v1, (s0)                   |         v1 = *(s0);
    0x000587e8 bnel v1, zero, 0x587b0        |         
                                             |     } while (v1 == 0);
    0x000587ec move t9, s2                   |     t9 = s2;
    0x000587f0 move a0, s0                   |     a0 = s0;
    0x000587f4 bal 0x58118                   |     sym_xmlBufferResize ();
    0x000587f8 lw gp, 0x18(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x000587fc beqz v0, 0x58858              |         goto label_5;
                                             |     }
    0x00058800 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x00058804 lw v1, (s0)                   |     v1 = *(s0);
    0x00058808 lb a0, (s1)                   |     a0 = *(s1);
    0x0005880c addu v1, v1, v0               |     v1 += v0;
    0x00058810 addiu s1, s1, 1               |     s1++;
    0x00058814 addiu v0, v0, 1               |     v0++;
    0x00058818 sw v0, 4(s0)                  |     *((s0 + 1)) = v0;
    0x0005881c sb a0, (v1)                   |     *(v1) = a0;
    0x00058820 lb v0, (s1)                   |     v0 = *(s1);
    0x00058824 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
                                             |     if (v0 == 0) {
    0x00058828 bnel v0, zero, 0x587d8        |         goto label_0;
                                             |     }
    0x0005882c lw v1, (s0)                   |     v1 = *(s0);
                                             | label_4:
    0x00058830 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x00058834 move v0, zero                 |     v0 = 0;
    0x00058838 addu v1, v1, a0               |     v1 += a0;
    0x0005883c sb zero, (v1)                 |     *(v1) = 0;
                                             |     do {
    0x00058840 lw ra, 0x2c(sp)               |         ra = *(var_3ch);
    0x00058844 lw s2, 0x28(sp)               |         s2 = *(var_38h);
    0x00058848 lw s1, 0x24(sp)               |         s1 = *(var_34h);
    0x0005884c lw s0, 0x20(sp)               |         s0 = *(var_30h);
    0x00058850 addiu sp, sp, 0x30            |         
    0x00058854 jr ra                         |         return v0;
                                             | label_5:
    0x00058858 lw v0, -0x7f94(gp)            |         v0 = *((gp - 8165));
    0x0005885c lw t9, -0x6db8(gp)            |         t9 = *((gp - 7022));
    0x00058860 addiu v0, v0, -0x670c         |         v0 += -0x670c;
    0x00058864 sw v0, 0x10(sp)               |         *(var_20h) = v0;
    0x00058868 move a3, zero                 |         a3 = 0;
    0x0005886c move a2, zero                 |         a2 = 0;
    0x00058870 addiu a1, zero, 2             |         a1 = 2;
    0x00058874 addiu a0, zero, 2             |         a0 = 2;
    0x00058878 jalr t9                       |         t9 ();
    0x0005887c lw ra, 0x2c(sp)               |         ra = *(var_3ch);
    0x00058880 lw s2, 0x28(sp)               |         s2 = *(var_38h);
    0x00058884 lw s1, 0x24(sp)               |         s1 = *(var_34h);
    0x00058888 lw s0, 0x20(sp)               |         s0 = *(var_30h);
    0x0005888c addiu v0, zero, 2             |         v0 = 2;
    0x00058890 addiu sp, sp, 0x30            |         
    0x00058894 jr ra                         |         return v0;
                                             | label_2:
    0x00058898 addiu v0, zero, -1            |         v0 = -1;
    0x0005889c b 0x58840                     |         
                                             |     } while (1);
                                             | label_1:
    0x000588a0 addiu v0, zero, -1            |     v0 = -1;
    0x000588a4 jr ra                         |     return v0;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x580e8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.xmlBufferContent ()      | void xmlBufferContent () {
                                         |     if (a0 != 0) {
    0x000580e8 beqz a0, 0x580f8          |         
    0x000580ec nop                       |         
    0x000580f0 lw v0, (a0)               |         v0 = *(a0);
    0x000580f4 jr ra                     |         return v0;
                                         |     }
    0x000580f8 move v0, zero             |     v0 = 0;
    0x000580fc jr ra                     |     return v0;
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x58098 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.xmlBufferDump ()         | void xmlBufferDump () {
    0x00058098 lui gp, 0x14              |     
    0x0005809c addiu gp, gp, -0x6a28     |     
    0x000580a0 addu gp, gp, t9           |     gp += t9;
    0x000580a4 move a3, a0               |     a3 = a0;
                                         |     if (a1 != 0) {
    0x000580a8 beqz a1, 0x580e0          |         
    0x000580ac lw a0, (a1)               |         a0 = *(a1);
                                         |         if (a0 == 0) {
    0x000580b0 beqz a0, 0x580e0          |             goto label_0;
                                         |         }
    0x000580b4 nop                       |         
    0x000580b8 lw t9, -0x7048(gp)        |         t9 = *(gp);
                                         |         if (a3 != 0) {
    0x000580bc beqz a3, 0x580cc          |             
    0x000580c0 lw a2, 4(a1)              |             a2 = *((a1 + 1));
    0x000580c4 addiu a1, zero, 1         |             a1 = 1;
    0x000580c8 jr t9                     |             t9 ();
                                         |         }
    0x000580cc lw v0, -0x70d0(gp)        |         v0 = *((gp - 7220));
    0x000580d0 lw a2, 4(a1)              |         a2 = *((a1 + 1));
    0x000580d4 lw a3, (v0)               |         a3 = *(v0);
    0x000580d8 addiu a1, zero, 1         |         a1 = 1;
    0x000580dc jr t9                     |         t9 ();
                                         |     }
                                         | label_0:
    0x000580e0 move v0, zero             |     v0 = 0;
    0x000580e4 jr ra                     |     return v0;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x57d98 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlBufferEmpty ()            | void xmlBufferEmpty () {
    0x00057d98 lui gp, 0x14                  |     
    0x00057d9c addiu gp, gp, -0x6728         |     
    0x00057da0 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x00057da4 beqz a0, 0x57dd4              |         goto label_0;
                                             |     }
    0x00057da8 nop                           |     
    0x00057dac lw v0, (a0)                   |     v0 = *(a0);
    0x00057db0 addiu a1, zero, 2             |     a1 = 2;
                                             |     if (v0 == 0) {
    0x00057db4 beqz v0, 0x57dd4              |         goto label_0;
                                             |     }
    0x00057db8 lw v1, 0xc(a0)                |     v1 = *((a0 + 3));
    0x00057dbc sw zero, 4(a0)                |     *((a0 + 1)) = 0;
                                             |     if (v1 == a1) {
    0x00057dc0 beq v1, a1, 0x57ddc           |         goto label_1;
                                             |     }
    0x00057dc4 addiu a1, zero, 3             |     a1 = 3;
                                             |     if (v1 == a1) {
    0x00057dc8 beql v1, a1, 0x57dec          |         goto label_2;
                                             |     }
    0x00057dcc lw v1, 0x10(a0)               |     v1 = *((a0 + 4));
    0x00057dd0 sb zero, (v0)                 |     *(v0) = 0;
                                             |     do {
                                             | label_0:
    0x00057dd4 jr ra                         |         return v1;
    0x00057dd8 nop                           |         
                                             | label_1:
    0x00057ddc lw v0, -0x7f94(gp)            |         v0 = *((gp - 8165));
    0x00057de0 addiu v0, v0, 0x2694          |         v0 += 0x2694;
    0x00057de4 sw v0, (a0)                   |         *(a0) = v0;
    0x00057de8 jr ra                         |         return v1;
                                             | label_2:
    0x00057dec beql v1, zero, 0x57dd4        |         
                                             |     } while (v1 == 0);
    0x00057df0 sb zero, (v0)                 |     *(v0) = 0;
    0x00057df4 lw a1, 8(a0)                  |     a1 = *((a0 + 2));
    0x00057df8 subu v0, v0, v1               |     __asm ("subu v0, v0, v1");
    0x00057dfc addu v0, a1, v0               |     v0 = a1 + v0;
    0x00057e00 sw v0, 8(a0)                  |     *((a0 + 2)) = v0;
    0x00057e04 sw v1, (a0)                   |     *(a0) = v1;
    0x00057e08 sb zero, (v1)                 |     *(v1) = 0;
    0x00057e0c jr ra                         |     return v1;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x57f4c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.xmlBufferGrow ()         | void xmlBufferGrow () {
    0x00057f4c lui gp, 0x14              |     
    0x00057f50 addiu gp, gp, -0x68dc     |     
    0x00057f54 addu gp, gp, t9           |     gp += t9;
                                         |     if (a0 == 0) {
    0x00057f58 beqz a0, 0x58064          |         goto label_3;
                                         |     }
    0x00057f5c nop                       |     
    0x00057f60 lw v1, 0xc(a0)            |     v1 = *((a0 + 3));
    0x00057f64 addiu v0, zero, 2         |     v0 = 2;
                                         |     if (v1 == v0) {
    0x00057f68 beq v1, v0, 0x5805c       |         goto label_4;
                                         |     }
    0x00057f6c nop                       |     
    0x00057f70 addiu sp, sp, -0x30       |     
    0x00057f74 lw v0, 8(a0)              |     v0 = *((a0 + 2));
    0x00057f78 sw s1, 0x24(sp)           |     *(var_24h) = s1;
    0x00057f7c lw s1, 4(a0)              |     s1 = *((a0 + 1));
    0x00057f80 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00057f84 addu s1, a1, s1           |     s1 = a1 + s1;
    0x00057f88 sltu a2, s1, v0           |     a2 = (s1 < v0) ? 1 : 0;
    0x00057f8c sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x00057f90 sw s2, 0x28(sp)           |     *(var_28h) = s2;
    0x00057f94 sw s0, 0x20(sp)           |     *(var_20h) = s0;
    0x00057f98 sltu a1, a1, v0           |     a1 = (a1 < v0) ? 1 : 0;
                                         |     if (a2 != 0) {
    0x00057f9c bnez a2, 0x58040          |         goto label_5;
                                         |     }
    0x00057fa0 lw a1, -0x6e24(gp)        |     a1 = *(gp);
                                         |     if (a1 != 0) {
    0x00057fa4 bnez a1, 0x57ff8          |         goto label_6;
                                         |     }
    0x00057fa8 addiu v0, zero, 3         |     v0 = 3;
    0x00057fac move s0, a0               |     s0 = a0;
    0x00057fb0 addiu s1, s1, 0x64        |     s1 += 0x64;
    0x00057fb4 lw a0, (a0)               |     a0 = *(a0);
    0x00057fb8 lw t9, (a1)               |     t9 = *(a1);
                                         |     if (v1 == v0) {
    0x00057fbc beq v1, v0, 0x58010       |         goto label_7;
                                         |     }
                                         |     do {
                                         | label_0:
    0x00057fc0 move a1, s1               |         a1 = s1;
    0x00057fc4 jalr t9                   |         t9 ();
    0x00057fc8 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x00057fcc beqz v0, 0x5806c          |             goto label_8;
                                         |         }
    0x00057fd0 sw v0, (s0)               |         *(s0) = v0;
                                         | label_1:
    0x00057fd4 lw v0, 4(s0)              |         v0 = *((s0 + 1));
    0x00057fd8 sw s1, 8(s0)              |         *((s0 + 2)) = s1;
    0x00057fdc subu v0, s1, v0           |         __asm ("subu v0, s1, v0");
                                         | label_2:
    0x00057fe0 lw ra, 0x2c(sp)           |         ra = *(var_2ch);
    0x00057fe4 lw s2, 0x28(sp)           |         s2 = *(var_28h);
    0x00057fe8 lw s1, 0x24(sp)           |         s1 = *(var_24h);
    0x00057fec lw s0, 0x20(sp)           |         s0 = *(var_20h);
    0x00057ff0 addiu sp, sp, 0x30        |         
    0x00057ff4 jr ra                     |         return v0;
                                         | label_6:
    0x00057ff8 sll s1, v0, 1             |         s1 = v0 << 1;
    0x00057ffc addiu v0, zero, 3         |         v0 = 3;
    0x00058000 move s0, a0               |         s0 = a0;
    0x00058004 lw t9, (a1)               |         t9 = *(a1);
    0x00058008 lw a0, (a0)               |         a0 = *(a0);
    0x0005800c bne v1, v0, 0x57fc0       |         
                                         |     } while (v1 != v0);
                                         | label_7:
    0x00058010 lw v0, 0x10(s0)           |     v0 = *((s0 + 4));
    0x00058014 subu s2, a0, v0           |     __asm ("subu s2, a0, v0");
                                         |     if (v0 == 0) {
    0x00058018 beqz v0, 0x57fc0          |         goto label_0;
                                         |     }
    0x0005801c addu a1, s2, s1           |     a1 = s2 + s1;
    0x00058020 move a0, v0               |     a0 = v0;
    0x00058024 jalr t9                   |     t9 ();
    0x00058028 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 != 0) {
    0x0005802c beqz v0, 0x5806c          |         
    0x00058030 addu a0, v0, s2           |         a0 = v0 + s2;
    0x00058034 sw v0, 0x10(s0)           |         *((s0 + 4)) = v0;
    0x00058038 sw a0, (s0)               |         *(s0) = a0;
    0x0005803c b 0x57fd4                 |         goto label_1;
                                         | label_5:
    0x00058040 lw ra, 0x2c(sp)           |         ra = *(var_2ch);
    0x00058044 lw s2, 0x28(sp)           |         s2 = *(var_28h);
    0x00058048 lw s1, 0x24(sp)           |         s1 = *(var_24h);
    0x0005804c lw s0, 0x20(sp)           |         s0 = *(var_20h);
    0x00058050 move v0, zero             |         v0 = 0;
    0x00058054 addiu sp, sp, 0x30        |         
    0x00058058 jr ra                     |         return v0;
                                         | label_4:
    0x0005805c move v0, zero             |         v0 = 0;
    0x00058060 jr ra                     |         return v0;
                                         | label_3:
    0x00058064 addiu v0, zero, -1        |         v0 = -1;
    0x00058068 jr ra                     |         return v0;
                                         |     }
                                         | label_8:
    0x0005806c lw v0, -0x7f94(gp)        |     v0 = *((gp - 8165));
    0x00058070 lw t9, -0x6db8(gp)        |     t9 = *((gp - 7022));
    0x00058074 addiu v0, v0, -0x670c     |     v0 += -0x670c;
    0x00058078 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0005807c move a3, zero             |     a3 = 0;
    0x00058080 move a2, zero             |     a2 = 0;
    0x00058084 addiu a1, zero, 2         |     a1 = 2;
    0x00058088 addiu a0, zero, 2         |     a0 = 2;
    0x0005808c jalr t9                   |     t9 ();
    0x00058090 addiu v0, zero, -1        |     v0 = -1;
    0x00058094 b 0x57fe0                 |     goto label_2;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x68804 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlBuildRelativeURI ()       | void xmlBuildRelativeURI () {
    0x00068804 lui gp, 0x13                  |     
    0x00068808 addiu gp, gp, -0x7194         |     
    0x0006880c addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x00068810 beqz a0, 0x68a14              |         goto label_13;
                                             |     }
    0x00068814 nop                           |     
    0x00068818 lbu v0, (a0)                  |     v0 = *(a0);
                                             |     if (v0 == 0) {
    0x0006881c beqz v0, 0x68a14              |         goto label_13;
                                             |     }
    0x00068820 nop                           |     
    0x00068824 addiu sp, sp, -0x48           |     
    0x00068828 sw s3, 0x30(sp)               |     *(var_30h) = s3;
    0x0006882c lw s3, -0x7a54(gp)            |     s3 = *(gp);
    0x00068830 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00068834 sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x00068838 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x0006883c sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x00068840 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x00068844 sw s7, 0x40(sp)               |     *(var_40h) = s7;
    0x00068848 sw s6, 0x3c(sp)               |     *(var_3ch) = s6;
    0x0006884c sw s5, 0x38(sp)               |     *(var_38h) = s5;
    0x00068850 sw s4, 0x34(sp)               |     *(var_34h) = s4;
    0x00068854 move t9, s3                   |     t9 = s3;
    0x00068858 move s1, a1                   |     s1 = a1;
    0x0006885c move s0, a0                   |     s0 = a0;
    0x00068860 bal 0x65080                   |     sym_xmlCreateURI ();
    0x00068864 move s2, v0                   |     s2 = v0;
    0x00068868 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0006886c beqz v0, 0x68990              |         goto label_14;
                                             |     }
    0x00068870 lbu v1, (s0)                  |     v1 = *(s0);
    0x00068874 addiu v0, zero, 0x2e          |     v0 = 0x2e;
    0x00068878 lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
                                             |     if (v1 == v0) {
    0x0006887c beq v1, v0, 0x68978           |         goto label_15;
                                             |     }
    0x00068880 move a1, s0                   |     a1 = s0;
    0x00068884 addiu t9, t9, 0x6f28          |     t9 += aav.0x00006f28;
    0x00068888 move a0, s2                   |     a0 = s2;
    0x0006888c bal 0x66f28                   |     fcn_00066f28 ();
    0x00068890 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00068894 bnez v0, 0x68a0c              |         goto label_16;
                                             |     }
                                             |     do {
    0x00068898 lw t9, -0x7fd8(gp)            |         t9 = *((gp - 8182));
                                             |         if (s1 == 0) {
    0x0006889c beqz s1, 0x689c0              |             goto label_17;
                                             |         }
    0x000688a0 lbu v0, (s1)                  |         v0 = *(s1);
                                             |         if (v0 == 0) {
    0x000688a4 beqz v0, 0x689c0              |             goto label_17;
                                             |         }
    0x000688a8 nop                           |         
    0x000688ac move t9, s3                   |         t9 = s3;
    0x000688b0 bal 0x65080                   |         sym_xmlCreateURI ();
    0x000688b4 nop                           |         
    0x000688b8 move s3, v0                   |         s3 = v0;
    0x000688bc lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x000688c0 beqz v0, 0x68a0c              |             goto label_16;
                                             |         }
    0x000688c4 lbu v1, (s1)                  |         v1 = *(s1);
    0x000688c8 addiu v0, zero, 0x2e          |         v0 = 0x2e;
    0x000688cc lw t9, -0x7b38(gp)            |         t9 = *((gp - 7886));
                                             |         if (v1 == v0) {
    0x000688d0 beq v1, v0, 0x68a1c           |             goto label_18;
                                             |         }
    0x000688d4 move a1, s1                   |         a1 = s1;
    0x000688d8 addiu t9, t9, 0x6f28          |         t9 += aav.0x00006f28;
    0x000688dc move a0, s3                   |         a0 = s3;
    0x000688e0 bal 0x66f28                   |         fcn_00066f28 ();
    0x000688e4 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x000688e8 bnez v0, 0x68bc4              |             goto label_19;
                                             |         }
                                             | label_0:
    0x000688ec lw a1, (s2)                   |         a1 = *(s2);
    0x000688f0 lw t9, -0x7f90(gp)            |         t9 = *((gp - 8164));
                                             |         if (a1 == 0) {
    0x000688f4 beqz a1, 0x68a50              |             goto label_20;
                                             |         }
    0x000688f8 lw a0, (s3)                   |         a0 = *(s3);
    0x000688fc lw s1, -0x7a4c(gp)            |         s1 = *((gp - 7827));
                                             |         if (a0 != 0) {
    0x00068900 beqz a0, 0x68918              |             
    0x00068904 move t9, s1                   |             t9 = s1;
    0x00068908 jalr t9                       |             t9 ();
    0x0006890c nop                           |             
    0x00068910 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |             if (v0 == 0) {
    0x00068914 beqz v0, 0x68a34              |                 goto label_21;
                                             |             }
                                             |         }
                                             | label_1:
    0x00068918 lw t9, -0x7fd8(gp)            |         t9 = *((gp - 8182));
    0x0006891c move a0, s0                   |         a0 = s0;
    0x00068920 jalr t9                       |         t9 ();
    0x00068924 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_2:
    0x00068928 lw s0, -0x7da8(gp)            |         s0 = *(gp);
                                             | label_3:
    0x0006892c sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x00068930 move t9, s0                   |         t9 = s0;
    0x00068934 move a0, s2                   |         a0 = s2;
    0x00068938 bal 0x65ec4                   |         sym_xmlFreeURI ();
    0x0006893c move t9, s0                   |         t9 = s0;
    0x00068940 move a0, s3                   |         a0 = s3;
    0x00068944 bal 0x65ec4                   |         sym_xmlFreeURI ();
    0x00068948 lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x0006894c lw v0, 0x1c(sp)               |         v0 = *(var_1ch);
    0x00068950 lw s7, 0x40(sp)               |         s7 = *(var_40h);
    0x00068954 lw s6, 0x3c(sp)               |         s6 = *(var_3ch);
    0x00068958 lw s5, 0x38(sp)               |         s5 = *(var_38h);
    0x0006895c lw s4, 0x34(sp)               |         s4 = *(var_34h);
    0x00068960 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x00068964 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x00068968 lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x0006896c lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00068970 addiu sp, sp, 0x48            |         
    0x00068974 jr ra                         |         return v1;
                                             | label_15:
    0x00068978 lw t9, -0x7fd8(gp)            |         t9 = *((gp - 8182));
    0x0006897c move a0, s0                   |         a0 = s0;
    0x00068980 jalr t9                       |         t9 ();
    0x00068984 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00068988 sw v0, 0x18(s2)               |         *((s2 + 6)) = v0;
    0x0006898c b 0x68898                     |         
                                             |     } while (1);
                                             | label_14:
    0x00068990 lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x00068994 lw s7, 0x40(sp)               |     s7 = *(var_40h);
    0x00068998 lw s6, 0x3c(sp)               |     s6 = *(var_3ch);
    0x0006899c lw s5, 0x38(sp)               |     s5 = *(var_38h);
    0x000689a0 lw s4, 0x34(sp)               |     s4 = *(var_34h);
    0x000689a4 lw s3, 0x30(sp)               |     s3 = *(var_30h);
    0x000689a8 lw s2, 0x2c(sp)               |     s2 = *(var_2ch);
    0x000689ac lw s1, 0x28(sp)               |     s1 = *(var_28h);
    0x000689b0 lw s0, 0x24(sp)               |     s0 = *(var_24h);
    0x000689b4 move v0, zero                 |     v0 = 0;
    0x000689b8 addiu sp, sp, 0x48            |     
    0x000689bc jr ra                         |     return v1;
                                             | label_17:
    0x000689c0 move a0, s0                   |     a0 = s0;
    0x000689c4 jalr t9                       |     t9 ();
    0x000689c8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     do {
    0x000689cc lw t9, -0x7da8(gp)            |         t9 = *(gp);
    0x000689d0 sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x000689d4 move a0, s2                   |         a0 = s2;
    0x000689d8 bal 0x65ec4                   |         sym_xmlFreeURI ();
    0x000689dc lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x000689e0 lw v0, 0x1c(sp)               |         v0 = *(var_1ch);
    0x000689e4 lw s7, 0x40(sp)               |         s7 = *(var_40h);
    0x000689e8 lw s6, 0x3c(sp)               |         s6 = *(var_3ch);
    0x000689ec lw s5, 0x38(sp)               |         s5 = *(var_38h);
    0x000689f0 lw s4, 0x34(sp)               |         s4 = *(var_34h);
    0x000689f4 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x000689f8 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x000689fc lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x00068a00 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00068a04 addiu sp, sp, 0x48            |         
    0x00068a08 jr ra                         |         return v1;
                                             | label_16:
    0x00068a0c move v0, zero                 |         v0 = 0;
    0x00068a10 b 0x689cc                     |         
                                             |     } while (1);
                                             | label_13:
    0x00068a14 move v0, zero                 |     v0 = 0;
    0x00068a18 jr ra                         |     return v1;
                                             | label_18:
    0x00068a1c lw t9, -0x7fd8(gp)            |     t9 = *((gp - 8182));
    0x00068a20 move a0, s1                   |     a0 = s1;
    0x00068a24 jalr t9                       |     t9 ();
    0x00068a28 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068a2c sw v0, 0x18(s3)               |     *((s3 + 6)) = v0;
    0x00068a30 b 0x688ec                     |     goto label_0;
                                             | label_21:
    0x00068a34 lw a1, 0xc(s2)                |     a1 = *((s2 + 3));
    0x00068a38 move t9, s1                   |     t9 = s1;
    0x00068a3c lw a0, 0xc(s3)                |     a0 = *((s3 + 3));
    0x00068a40 jalr t9                       |     t9 ();
    0x00068a44 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00068a48 bnez v0, 0x68918              |         goto label_1;
                                             |     }
    0x00068a4c lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
                                             | label_20:
    0x00068a50 lw a1, 0x18(s2)               |     a1 = *((s2 + 6));
    0x00068a54 lw a0, 0x18(s3)               |     a0 = *((s3 + 6));
    0x00068a58 jalr t9                       |     t9 ();
    0x00068a5c move s4, v0                   |     s4 = v0;
    0x00068a60 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00068a64 bnez v0, 0x68ba0              |         goto label_22;
                                             |     }
    0x00068a68 lw t2, 0x18(s3)               |     t2 = *((s3 + 6));
    0x00068a6c lw s1, 0x18(s2)               |     s1 = *((s2 + 6));
                                             |     if (t2 == 0) {
    0x00068a70 beqz t2, 0x68d54              |         goto label_23;
                                             |     }
    0x00068a74 addiu v1, zero, 0x2e          |     v1 = 0x2e;
                                             |     if (s1 == 0) {
    0x00068a78 beqz s1, 0x68cf8              |         goto label_24;
                                             |     }
    0x00068a7c lbu v0, (s1)                  |     v0 = *(s1);
    0x00068a80 move s0, zero                 |     s0 = 0;
                                             |     if (v0 == v1) {
    0x00068a84 bne v0, v1, 0x68a98           |         
    0x00068a88 lbu a0, 1(s1)                 |         a0 = *((s1 + 1));
    0x00068a8c addiu v1, zero, 0x2f          |         v1 = 0x2f;
                                             |         if (a0 == v1) {
    0x00068a90 beql a0, v1, 0x68bb8          |             goto label_25;
                                             |         }
    0x00068a94 lbu v0, 2(s1)                 |         v0 = *((s1 + 2));
                                             |     }
                                             | label_4:
    0x00068a98 lbu v1, (t2)                  |     v1 = *(t2);
    0x00068a9c addiu a0, zero, 0x2e          |     a0 = 0x2e;
    0x00068aa0 addiu a0, zero, 0x2f          |     a0 = 0x2f;
                                             |     if (v1 == a0) {
    0x00068aa4 beq v1, a0, 0x68cc4           |         goto label_26;
                                             |     }
                                             |     if (v1 == a0) {
    0x00068aa8 beq v1, a0, 0x68ce4           |         goto label_27;
                                             |     }
    0x00068aac nop                           |     
                                             | label_11:
    0x00068ab0 move a1, s1                   |     a1 = s1;
                                             |     if (v0 != v1) {
    0x00068ab4 bne v0, v1, 0x68ca8           |         goto label_28;
                                             |     }
                                             |     if (v0 == 0) {
    0x00068ab8 beql v0, zero, 0x68d38        |         goto label_29;
                                             |     }
    0x00068abc lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x00068ac0 lbu a2, 1(t2)                 |     a2 = *((t2 + 1));
                                             | label_10:
    0x00068ac4 addiu a0, s1, 1               |     a0 = s1 + 1;
                                             | label_8:
    0x00068ac8 move v1, a2                   |     v1 = a2;
    0x00068acc move a3, zero                 |     a3 = 0;
    0x00068ad0 b 0x68ae4                     |     
                                             |     while (t0 == v1) {
    0x00068ad4 addiu a0, a0, 1               |         a0++;
                                             |         if (v1 == 0) {
    0x00068ad8 beqz v1, 0x68d34              |             goto label_30;
                                             |         }
    0x00068adc lbu v1, 1(t1)                 |         v1 = *((t1 + 1));
    0x00068ae0 move a3, v0                   |         a3 = v0;
    0x00068ae4 lbu t0, (a0)                  |         t0 = *(a0);
    0x00068ae8 addiu v0, a3, 1               |         v0 = a3 + 1;
    0x00068aec addu t1, t2, v0               |         t1 = t2 + v0;
    0x00068af0 move a1, a0                   |         a1 = a0;
    0x00068af4 beq t0, v1, 0x68ad4           |         
                                             |     }
    0x00068af8 lbux a3, a3(s1)               |     __asm ("lbux a3, a3(s1)");
    0x00068afc addiu a0, zero, 0x2f          |     a0 = 0x2f;
    0x00068b00 addiu v0, v0, -1              |     v0 += -1;
                                             |     if (a3 == a0) {
    0x00068b04 bnel a3, a0, 0x68b20          |         goto label_31;
                                             |     }
    0x00068b08 b 0x68cac                     |     goto label_32;
    0x00068b0c nop                           |     
                                             |     do {
    0x00068b10 lbu v1, -1(a1)                |         v1 = *((a1 - 1));
                                             |         if (v1 == a0) {
    0x00068b14 beql v1, a0, 0x68cac          |             goto label_32;
                                             |         }
    0x00068b18 lbux v1, v0(t2)               |         __asm ("lbux v1, v0(t2)");
    0x00068b1c addiu v0, v0, -1              |         v0 += -1;
                                             | label_31:
    0x00068b20 addu a1, s1, v0               |         a1 = s1 + v0;
    0x00068b24 bnez v0, 0x68b10              |         
                                             |     } while (v0 != 0);
    0x00068b28 lbu v1, (t2)                  |     v1 = *(t2);
                                             | label_7:
    0x00068b2c addiu v0, v0, 2               |     v0 += 2;
    0x00068b30 addu v0, t2, v0               |     v0 = t2 + v0;
    0x00068b34 addiu a1, zero, 0x2f          |     a1 = 0x2f;
    0x00068b38 b 0x68b48                     |     
                                             |     while (a2 == 0) {
    0x00068b3c move v1, a2                   |         v1 = a2;
    0x00068b40 addiu v0, v0, 1               |         v0++;
    0x00068b44 move a2, a0                   |         a2 = a0;
                                             |         if (v1 != a1) {
    0x00068b48 beql v1, a1, 0x68b50          |             
    0x00068b4c addiu s4, s4, 1               |             s4++;
                                             |         }
    0x00068b50 lbu a0, (v0)                  |         a0 = *(v0);
    0x00068b54 bnel a2, zero, 0x68b3c        |         
                                             |     }
    0x00068b58 lw t9, -0x7fcc(gp)            |     t9 = *((gp - 8179));
                                             |     if (s4 != 0) {
    0x00068b5c bnez s4, 0x68bcc              |         goto label_33;
                                             |     }
                                             | label_6:
    0x00068b60 lbu v0, (s1)                  |     v0 = *(s1);
    0x00068b64 lw t9, -0x7fcc(gp)            |     t9 = *((gp - 8179));
                                             |     if (v0 == 0) {
    0x00068b68 beqz v0, 0x68d1c              |         goto label_34;
                                             |     }
    0x00068b6c move a0, s1                   |     a0 = s1;
    0x00068b70 jalr t9                       |     t9 ();
    0x00068b74 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068b78 move a0, s1                   |     a0 = s1;
    0x00068b7c lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x00068b80 lw t9, -0x7a50(gp)            |     t9 = *(gp);
    0x00068b84 addiu a1, a1, -0x5804         |     a1 += -0x5804;
    0x00068b88 bal 0x6783c                   |     sym_xmlURIEscapeStr ();
    0x00068b8c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             | label_5:
    0x00068b90 sw zero, 0x18(s2)             |     *((s2 + 6)) = 0;
                                             |     if (s0 == 0) {
    0x00068b94 bnel s0, zero, 0x68928        |         goto label_2;
                                             |     }
    0x00068b98 lw s0, -0x7da8(gp)            |     s0 = *(gp);
    0x00068b9c b 0x6892c                     |     goto label_3;
                                             | label_22:
    0x00068ba0 lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x00068ba4 lw t9, -0x7fd8(gp)            |     t9 = *((gp - 8182));
    0x00068ba8 addiu a0, a0, 0x2694          |     a0 += 0x2694;
    0x00068bac jalr t9                       |     t9 ();
    0x00068bb0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068bb4 b 0x68928                     |     goto label_2;
                                             | label_25:
    0x00068bb8 move s0, zero                 |     s0 = 0;
    0x00068bbc addiu s1, s1, 2               |     s1 += 2;
    0x00068bc0 b 0x68a98                     |     goto label_4;
                                             | label_19:
    0x00068bc4 move v0, zero                 |     v0 = 0;
    0x00068bc8 b 0x68928                     |     goto label_2;
                                             | label_33:
    0x00068bcc move a0, s1                   |     a0 = s1;
    0x00068bd0 jalr t9                       |     t9 ();
    0x00068bd4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068bd8 move s5, v0                   |     s5 = v0;
    0x00068bdc sll v0, s4, 1                 |     v0 = s4 << 1;
    0x00068be0 addu s4, v0, s4               |     s4 = v0 + s4;
    0x00068be4 lw v0, -0x716c(gp)            |     v0 = *(gp);
    0x00068be8 addiu s7, s5, 1               |     s7 = s5 + 1;
    0x00068bec lw t9, (v0)                   |     t9 = *(v0);
    0x00068bf0 addu a0, s4, s7               |     a0 = s4 + s7;
    0x00068bf4 jalr t9                       |     t9 ();
    0x00068bf8 move s6, v0                   |     s6 = v0;
    0x00068bfc lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00068c00 beqz v0, 0x68d68              |         goto label_35;
                                             |     }
    0x00068c04 addu s4, s6, s4               |     s4 = s6 + s4;
    0x00068c08 move v1, s6                   |     v1 = s6;
    0x00068c0c addiu v0, zero, 0x2e          |     v0 = 0x2e;
    0x00068c10 addiu a0, zero, 0x2f          |     a0 = 0x2f;
                                             |     do {
    0x00068c14 sb v0, (v1)                   |         *(v1) = v0;
    0x00068c18 sb v0, 1(v1)                  |         *((v1 + 1)) = v0;
    0x00068c1c addiu v1, v1, 3               |         v1 += 3;
    0x00068c20 sb a0, -1(v1)                 |         *((v1 - 1)) = a0;
    0x00068c24 bne v1, s4, 0x68c14           |         
                                             |     } while (v1 != s4);
                                             |     if (s1 == 0) {
    0x00068c28 beql s1, zero, 0x68d14        |         goto label_36;
                                             |     }
    0x00068c2c addu v1, v1, s5               |     v1 += s5;
    0x00068c30 sltu v0, s6, v1               |     v0 = (s6 < v1) ? 1 : 0;
    0x00068c34 lw t9, -0x6fbc(gp)            |     t9 = *(gp);
                                             |     if (v0 != 0) {
    0x00068c38 beqz v0, 0x68c54              |         
    0x00068c3c move a2, s7                   |         a2 = s7;
                                             |         if (s7 <= 0) {
    0x00068c40 blez s7, 0x68c58              |             goto label_37;
                                             |         }
    0x00068c44 lbu a0, (s1)                  |         a0 = *(s1);
    0x00068c48 addiu v0, zero, 0x2f          |         v0 = 0x2f;
    0x00068c4c move a0, v1                   |         a0 = v1;
                                             |         if (a0 == v0) {
    0x00068c50 beq a0, v0, 0x68d88           |             goto label_38;
                                             |         }
                                             |     }
    0x00068c54 move a2, s7                   |     a2 = s7;
                                             | label_37:
    0x00068c58 move a1, s1                   |     a1 = s1;
    0x00068c5c move a0, s4                   |     a0 = s4;
    0x00068c60 jalr t9                       |     t9 ();
    0x00068c64 addu v1, s4, s5               |     v1 = s4 + s5;
    0x00068c68 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068c6c sb zero, (v1)                 |     *(v1) = 0;
                                             | label_12:
    0x00068c70 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x00068c74 lw t9, -0x7a50(gp)            |     t9 = *(gp);
    0x00068c78 addiu a1, a1, -0x5804         |     a1 += -0x5804;
    0x00068c7c move a0, s6                   |     a0 = s6;
    0x00068c80 bal 0x6783c                   |     sym_xmlURIEscapeStr ();
    0x00068c84 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068c88 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x00068c8c lw v1, -0x7158(gp)            |     v1 = *(gp);
    0x00068c90 lw t9, (v1)                   |     t9 = *(v1);
    0x00068c94 move a0, s6                   |     a0 = s6;
    0x00068c98 jalr t9                       |     t9 ();
    0x00068c9c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068ca0 lw v0, 0x1c(sp)               |     v0 = *(var_1ch);
    0x00068ca4 b 0x68b90                     |     goto label_5;
                                             | label_28:
    0x00068ca8 move v0, zero                 |     v0 = 0;
                                             |     if (v1 == 0) {
                                             | label_32:
    0x00068cac beql v1, zero, 0x68b60        |         goto label_6;
                                             |     }
    0x00068cb0 move s1, a1                   |     s1 = a1;
                                             | label_9:
    0x00068cb4 addu a0, t2, v0               |     a0 = t2 + v0;
    0x00068cb8 move s1, a1                   |     s1 = a1;
    0x00068cbc lbu a2, 1(a0)                 |     a2 = *((a0 + 1));
    0x00068cc0 b 0x68b2c                     |     goto label_7;
                                             | label_26:
    0x00068cc4 lbu a2, 1(t2)                 |     a2 = *((t2 + 1));
                                             |     if (a2 == a0) {
    0x00068cc8 beql a2, a0, 0x68d4c          |         goto label_39;
                                             |     }
    0x00068ccc lbu v1, 2(t2)                 |     v1 = *((t2 + 2));
                                             |     if (v0 == v1) {
    0x00068cd0 beql v0, v1, 0x68ac8          |         goto label_8;
                                             |     }
    0x00068cd4 addiu a0, s1, 1               |     a0 = s1 + 1;
    0x00068cd8 move a1, s1                   |     a1 = s1;
    0x00068cdc move v0, zero                 |     v0 = 0;
    0x00068ce0 b 0x68cb4                     |     goto label_9;
                                             | label_27:
    0x00068ce4 lbu a2, 1(t2)                 |     a2 = *((t2 + 1));
                                             |     if (v0 == v1) {
    0x00068ce8 beq v0, v1, 0x68ac4           |         goto label_10;
                                             |     }
    0x00068cec addiu t2, t2, 1               |     t2++;
    0x00068cf0 move v1, a2                   |     v1 = a2;
    0x00068cf4 b 0x68ab0                     |     goto label_11;
                                             | label_24:
    0x00068cf8 lw s1, -0x7f94(gp)            |     s1 = *((gp - 8165));
    0x00068cfc addiu v0, zero, 0x2f          |     v0 = 0x2f;
    0x00068d00 addiu s1, s1, 0x2384          |     s1 += aav.0x00002384;
    0x00068d04 sw s1, 0x18(s2)               |     *((s2 + 6)) = s1;
    0x00068d08 lw t2, 0x18(s3)               |     t2 = *((s3 + 6));
    0x00068d0c addiu s0, zero, 1             |     s0 = 1;
    0x00068d10 b 0x68a98                     |     goto label_4;
                                             | label_36:
    0x00068d14 sb zero, (v1)                 |     *(v1) = 0;
    0x00068d18 b 0x68c70                     |     goto label_12;
                                             | label_34:
    0x00068d1c lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x00068d20 lw t9, -0x7fd8(gp)            |     t9 = *((gp - 8182));
    0x00068d24 addiu a0, a0, -0x5820         |     a0 += -0x5820;
    0x00068d28 jalr t9                       |     t9 ();
    0x00068d2c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068d30 b 0x68b90                     |     goto label_5;
                                             | label_30:
    0x00068d34 lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
                                             | label_29:
    0x00068d38 lw t9, -0x7fd8(gp)            |     t9 = *((gp - 8182));
    0x00068d3c addiu a0, a0, 0x2694          |     a0 += 0x2694;
    0x00068d40 jalr t9                       |     t9 ();
    0x00068d44 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068d48 b 0x68b90                     |     goto label_5;
                                             | label_39:
    0x00068d4c addiu t2, t2, 2               |     t2 += 2;
    0x00068d50 b 0x68ab0                     |     goto label_11;
                                             | label_23:
    0x00068d54 lw t9, -0x7fd8(gp)            |     t9 = *((gp - 8182));
    0x00068d58 move a0, s1                   |     a0 = s1;
    0x00068d5c jalr t9                       |     t9 ();
    0x00068d60 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068d64 b 0x68928                     |     goto label_2;
                                             | label_35:
    0x00068d68 lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x00068d6c lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
    0x00068d70 addiu t9, t9, 0x4c70          |     t9 += 0x4c70;
    0x00068d74 addiu a0, a0, -0x581c         |     a0 += -0x581c;
    0x00068d78 bal 0x64c70                   |     fcn_00064c70 ();
    0x00068d7c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068d80 move v0, zero                 |     v0 = 0;
    0x00068d84 b 0x68b90                     |     goto label_5;
                                             | label_38:
    0x00068d88 move a2, s5                   |     a2 = s5;
    0x00068d8c addiu a1, s1, 1               |     a1 = s1 + 1;
    0x00068d90 jalr t9                       |     t9 ();
    0x00068d94 addu v1, v0, s5               |     v1 = v0 + s5;
    0x00068d98 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068d9c sb zero, -1(v1)               |     *((v1 - 1)) = 0;
    0x00068da0 b 0x68c70                     |     goto label_12;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x68058 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlBuildURI ()               | void xmlBuildURI () {
    0x00068058 lui gp, 0x13                  |     
    0x0006805c addiu gp, gp, -0x69e8         |     
    0x00068060 addu gp, gp, t9               |     gp += t9;
    0x00068064 addiu sp, sp, -0x30           |     
    0x00068068 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0006806c sw ra, 0x2c(sp)               |     *(var_2ch_2) = ra;
    0x00068070 sw s4, 0x28(sp)               |     *(var_28h) = s4;
    0x00068074 sw s3, 0x24(sp)               |     *(var_24h) = s3;
    0x00068078 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x0006807c sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x00068080 sw s0, 0x18(sp)               |     *(var_18h_2) = s0;
    0x00068084 move s2, a1                   |     s2 = a1;
                                             |     if (a0 == 0) {
    0x00068088 beqz a0, 0x68118              |         goto label_24;
                                             |     }
    0x0006808c lbu v0, (a0)                  |     v0 = *(a0);
    0x00068090 move s0, a0                   |     s0 = a0;
                                             |     if (v0 != 0) {
    0x00068094 bnez v0, 0x68140              |         goto label_25;
                                             |     }
    0x00068098 lw t9, -0x7a54(gp)            |     t9 = *(gp);
                                             |     if (a1 == 0) {
    0x0006809c beqz a1, 0x68118              |         goto label_24;
                                             |     }
    0x000680a0 bal 0x65080                   |     sym_xmlCreateURI ();
    0x000680a4 nop                           |     
    0x000680a8 move s0, v0                   |     s0 = v0;
    0x000680ac lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000680b0 beqz v0, 0x68118              |         goto label_24;
                                             |     }
    0x000680b4 lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
    0x000680b8 move a1, s2                   |     a1 = s2;
    0x000680bc addiu t9, t9, 0x6f28          |     t9 += aav.0x00006f28;
    0x000680c0 move a0, v0                   |     a0 = v0;
    0x000680c4 bal 0x66f28                   |     fcn_00066f28 ();
    0x000680c8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x000680cc bnez v0, 0x682c0              |         goto label_26;
                                             |     }
    0x000680d0 lw a0, 0x20(s0)               |     a0 = *((s0 + 8));
    0x000680d4 lw t9, -0x7a58(gp)            |     t9 = *((gp - 7830));
                                             |     if (a0 != 0) {
    0x000680d8 beqz a0, 0x680f8              |         
    0x000680dc lw v0, -0x7158(gp)            |         v0 = *(gp);
    0x000680e0 lw t9, (v0)                   |         t9 = *(v0);
    0x000680e4 jalr t9                       |         t9 ();
    0x000680e8 nop                           |         
    0x000680ec lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000680f0 sw zero, 0x20(s0)             |         *((s0 + 8)) = 0;
    0x000680f4 lw t9, -0x7a58(gp)            |         t9 = *((gp - 7830));
                                             |     }
    0x000680f8 move a0, s0                   |     a0 = s0;
    0x000680fc bal 0x650fc                   |     sym_xmlSaveUri ();
    0x00068100 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068104 move a0, s0                   |     a0 = s0;
    0x00068108 b 0x68254                     |     goto label_27;
                                             | label_0:
    0x0006810c lw t9, -0x7da8(gp)            |     t9 = *(gp);
    0x00068110 move a0, s1                   |     a0 = s1;
    0x00068114 bal 0x65ec4                   |     sym_xmlFreeURI ();
                                             |     do {
                                             | label_24:
    0x00068118 move s2, zero                 |         s2 = 0;
                                             | label_2:
    0x0006811c lw ra, 0x2c(sp)               |         ra = *(var_2ch_2);
                                             | label_1:
    0x00068120 move v0, s2                   |         v0 = s2;
    0x00068124 lw s4, 0x28(sp)               |         s4 = *(var_28h);
    0x00068128 lw s3, 0x24(sp)               |         s3 = *(var_24h);
    0x0006812c lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x00068130 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x00068134 lw s0, 0x18(sp)               |         s0 = *(var_18h_2);
    0x00068138 addiu sp, sp, 0x30            |         
    0x0006813c jr ra                         |         return v0;
                                             | label_25:
    0x00068140 lw s4, -0x7a54(gp)            |         s4 = *(gp);
    0x00068144 move t9, s4                   |         t9 = s4;
    0x00068148 bal 0x65080                   |         sym_xmlCreateURI ();
    0x0006814c nop                           |         
    0x00068150 move s1, v0                   |         s1 = v0;
    0x00068154 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00068158 beqz v0, 0x68118              |         
                                             |     } while (v0 == 0);
    0x0006815c lw s3, -0x7b38(gp)            |     s3 = *((gp - 7886));
    0x00068160 move a1, s0                   |     a1 = s0;
    0x00068164 addiu s3, s3, 0x6f28          |     s3 += aav.0x00006f28;
    0x00068168 move t9, s3                   |     t9 = s3;
    0x0006816c move a0, v0                   |     a0 = v0;
    0x00068170 bal 0x66f28                   |     fcn_00066f28 ();
    0x00068174 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00068178 bnez v0, 0x683ac              |         goto label_28;
                                             |     }
    0x0006817c lw v0, (s1)                   |     v0 = *(s1);
    0x00068180 lw t9, -0x7fd8(gp)            |     t9 = *((gp - 8182));
                                             |     if (v0 != 0) {
    0x00068184 bnez v0, 0x68240              |         goto label_29;
                                             |     }
    0x00068188 move a0, s1                   |     a0 = s1;
                                             |     if (s2 == 0) {
    0x0006818c beqz s2, 0x682b8              |         goto label_30;
                                             |     }
    0x00068190 move t9, s4                   |     t9 = s4;
    0x00068194 bal 0x65080                   |     sym_xmlCreateURI ();
    0x00068198 nop                           |     
    0x0006819c move s0, v0                   |     s0 = v0;
    0x000681a0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000681a4 beqz v0, 0x6810c              |         goto label_0;
                                             |     }
    0x000681a8 move a1, s2                   |     a1 = s2;
    0x000681ac move t9, s3                   |     t9 = s3;
    0x000681b0 move a0, v0                   |     a0 = v0;
    0x000681b4 bal 0x66f28                   |     fcn_00066f28 ();
    0x000681b8 move s2, v0                   |     s2 = v0;
    0x000681bc lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x000681c0 bnez v0, 0x68284              |         goto label_31;
                                             |     }
    0x000681c4 move t9, s4                   |     t9 = s4;
    0x000681c8 bal 0x65080                   |     sym_xmlCreateURI ();
    0x000681cc nop                           |     
    0x000681d0 move s3, v0                   |     s3 = v0;
    0x000681d4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000681d8 beqz v0, 0x6868c              |         goto label_32;
                                             |     }
    0x000681dc lw v0, (s1)                   |     v0 = *(s1);
    0x000681e0 lw s4, -0x7da8(gp)            |     s4 = *(gp);
                                             |     if (v0 == 0) {
    0x000681e4 beqz v0, 0x682d4              |         goto label_33;
                                             |     }
    0x000681e8 lw t9, -0x7a58(gp)            |     t9 = *((gp - 7830));
    0x000681ec move a0, s1                   |     a0 = s1;
    0x000681f0 bal 0x650fc                   |     sym_xmlSaveUri ();
    0x000681f4 move a0, s1                   |     a0 = s1;
    0x000681f8 move t9, s4                   |     t9 = s4;
    0x000681fc move s2, v0                   |     s2 = v0;
    0x00068200 bal 0x65ec4                   |     sym_xmlFreeURI ();
    0x00068204 move t9, s4                   |     t9 = s4;
                                             | label_3:
    0x00068208 move a0, s0                   |     a0 = s0;
    0x0006820c bal 0x65ec4                   |     sym_xmlFreeURI ();
    0x00068210 move t9, s4                   |     t9 = s4;
    0x00068214 move a0, s3                   |     a0 = s3;
    0x00068218 bal 0x65ec4                   |     sym_xmlFreeURI ();
    0x0006821c lw ra, 0x2c(sp)               |     ra = *(var_2ch_2);
    0x00068220 move v0, s2                   |     v0 = s2;
    0x00068224 lw s4, 0x28(sp)               |     s4 = *(var_28h);
    0x00068228 lw s3, 0x24(sp)               |     s3 = *(var_24h);
    0x0006822c lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x00068230 lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x00068234 lw s0, 0x18(sp)               |     s0 = *(var_18h_2);
    0x00068238 addiu sp, sp, 0x30            |     
    0x0006823c jr ra                         |     return v0;
                                             | label_29:
    0x00068240 move a0, s0                   |     a0 = s0;
                                             |     do {
    0x00068244 jalr t9                       |         t9 ();
    0x00068248 nop                           |         
    0x0006824c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00068250 move a0, s1                   |         a0 = s1;
                                             | label_27:
    0x00068254 lw t9, -0x7da8(gp)            |         t9 = *(gp);
    0x00068258 move s2, v0                   |         s2 = v0;
    0x0006825c bal 0x65ec4                   |         sym_xmlFreeURI ();
    0x00068260 lw ra, 0x2c(sp)               |         ra = *(var_2ch_2);
    0x00068264 move v0, s2                   |         v0 = s2;
    0x00068268 lw s4, 0x28(sp)               |         s4 = *(var_28h);
    0x0006826c lw s3, 0x24(sp)               |         s3 = *(var_24h);
    0x00068270 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x00068274 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x00068278 lw s0, 0x18(sp)               |         s0 = *(var_18h_2);
    0x0006827c addiu sp, sp, 0x30            |         
    0x00068280 jr ra                         |         return v0;
                                             | label_31:
    0x00068284 lw s3, -0x7da8(gp)            |         s3 = *(gp);
    0x00068288 lw t9, -0x7a58(gp)            |         t9 = *((gp - 7830));
    0x0006828c move a0, s1                   |         a0 = s1;
    0x00068290 bal 0x650fc                   |         sym_xmlSaveUri ();
    0x00068294 move a0, s1                   |         a0 = s1;
    0x00068298 move t9, s3                   |         t9 = s3;
    0x0006829c move s2, v0                   |         s2 = v0;
    0x000682a0 bal 0x65ec4                   |         sym_xmlFreeURI ();
    0x000682a4 move t9, s3                   |         t9 = s3;
    0x000682a8 move a0, s0                   |         a0 = s0;
    0x000682ac bal 0x65ec4                   |         sym_xmlFreeURI ();
    0x000682b0 lw ra, 0x2c(sp)               |         ra = *(var_2ch_2);
    0x000682b4 b 0x68120                     |         goto label_1;
                                             | label_30:
    0x000682b8 lw t9, -0x7a58(gp)            |         t9 = *((gp - 7830));
    0x000682bc b 0x68244                     |         
                                             |     } while (1);
                                             | label_26:
    0x000682c0 lw t9, -0x7da8(gp)            |     t9 = *(gp);
    0x000682c4 move a0, s0                   |     a0 = s0;
    0x000682c8 bal 0x65ec4                   |     sym_xmlFreeURI ();
    0x000682cc move s2, zero                 |     s2 = 0;
    0x000682d0 b 0x6811c                     |     goto label_2;
                                             | label_33:
    0x000682d4 lw v0, 0x18(s1)               |     v0 = *((s1 + 6));
    0x000682d8 lw a0, (s0)                   |     a0 = *(s0);
                                             |     if (v0 == 0) {
    0x000682dc beqz v0, 0x685d0              |         goto label_34;
                                             |     }
                                             | label_9:
    0x000682e0 lw v0, -0x6e34(gp)            |     v0 = *(gp);
                                             |     if (a0 != 0) {
    0x000682e4 beqz a0, 0x682fc              |         
    0x000682e8 lw t9, (v0)                   |         t9 = *(v0);
    0x000682ec jalr t9                       |         t9 ();
    0x000682f0 nop                           |         
    0x000682f4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000682f8 sw v0, (s3)                   |         *(s3) = v0;
                                             |     }
    0x000682fc lw a0, 0x28(s1)               |     a0 = *((s1 + 10));
    0x00068300 lw v0, -0x6e34(gp)            |     v0 = *(gp);
                                             |     if (a0 == 0) {
    0x00068304 beqz a0, 0x68408              |         goto label_35;
                                             |     }
    0x00068308 lw t9, (v0)                   |     t9 = *(v0);
    0x0006830c jalr t9                       |     t9 ();
    0x00068310 nop                           |     
    0x00068314 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068318 sw v0, 0x28(s3)               |     *((s3 + 10)) = v0;
                                             | label_5:
    0x0006831c lw a0, 0x20(s1)               |     a0 = *((s1 + 8));
                                             | label_4:
    0x00068320 lw v0, -0x6e34(gp)            |     v0 = *(gp);
                                             |     if (a0 != 0) {
    0x00068324 beqz a0, 0x6833c              |         
    0x00068328 lw t9, (v0)                   |         t9 = *(v0);
    0x0006832c jalr t9                       |         t9 ();
    0x00068330 nop                           |         
    0x00068334 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00068338 sw v0, 0x20(s3)               |         *((s3 + 8)) = v0;
                                             |     }
    0x0006833c lw a0, 8(s1)                  |     a0 = *((s1 + 2));
                                             |     if (a0 == 0) {
    0x00068340 beql a0, zero, 0x683c0        |         goto label_36;
                                             |     }
    0x00068344 lw a0, 0xc(s1)                |     a0 = *((s1 + 3));
    0x00068348 lw s2, -0x6e34(gp)            |     s2 = *(gp);
    0x0006834c lw t9, (s2)                   |     t9 = *(s2);
    0x00068350 jalr t9                       |     t9 ();
    0x00068354 nop                           |     
    0x00068358 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0006835c sw v0, 8(s3)                  |     *((s3 + 2)) = v0;
                                             |     do {
    0x00068360 lw a0, 0x18(s1)               |         a0 = *((s1 + 6));
                                             |         if (a0 != 0) {
    0x00068364 beql a0, zero, 0x68384        |             
    0x00068368 lw t9, -0x7a58(gp)            |             t9 = *((gp - 7830));
    0x0006836c lw t9, (s2)                   |             t9 = *(s2);
    0x00068370 jalr t9                       |             t9 ();
    0x00068374 nop                           |             
    0x00068378 lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x0006837c sw v0, 0x18(s3)               |             *((s3 + 6)) = v0;
                                             | label_8:
    0x00068380 lw t9, -0x7a58(gp)            |             t9 = *((gp - 7830));
                                             |         }
                                             | label_7:
    0x00068384 move a0, s3                   |         a0 = s3;
    0x00068388 bal 0x650fc                   |         sym_xmlSaveUri ();
    0x0006838c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00068390 move s2, v0                   |         s2 = v0;
                                             | label_15:
    0x00068394 lw s4, -0x7da8(gp)            |         s4 = *(gp);
    0x00068398 move t9, s4                   |         t9 = s4;
    0x0006839c move a0, s1                   |         a0 = s1;
    0x000683a0 bal 0x65ec4                   |         sym_xmlFreeURI ();
    0x000683a4 move t9, s4                   |         t9 = s4;
    0x000683a8 b 0x68208                     |         goto label_3;
                                             | label_28:
    0x000683ac lw t9, -0x7da8(gp)            |         t9 = *(gp);
    0x000683b0 move a0, s1                   |         a0 = s1;
    0x000683b4 bal 0x65ec4                   |         sym_xmlFreeURI ();
    0x000683b8 move s2, zero                 |         s2 = 0;
    0x000683bc b 0x6811c                     |         goto label_2;
                                             |         if (a0 == 0) {
                                             | label_36:
    0x000683c0 beql a0, zero, 0x6842c        |             goto label_37;
                                             |         }
    0x000683c4 lw a0, 8(s0)                  |         a0 = *((s0 + 2));
    0x000683c8 lw s2, -0x6e34(gp)            |         s2 = *(gp);
    0x000683cc lw t9, (s2)                   |         t9 = *(s2);
    0x000683d0 jalr t9                       |         t9 ();
    0x000683d4 nop                           |         
    0x000683d8 lw a0, 0x10(s1)               |         a0 = *((s1 + 4));
    0x000683dc lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000683e0 sw v0, 0xc(s3)                |         *((s3 + 3)) = v0;
                                             |         if (a0 != 0) {
    0x000683e4 beqz a0, 0x683fc              |             
    0x000683e8 lw t9, (s2)                   |             t9 = *(s2);
    0x000683ec jalr t9                       |             t9 ();
    0x000683f0 nop                           |             
    0x000683f4 lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x000683f8 sw v0, 0x10(s3)               |             *((s3 + 4)) = v0;
                                             |         }
    0x000683fc lw v0, 0x14(s1)               |         v0 = *((s1 + 5));
    0x00068400 sw v0, 0x14(s3)               |         *((s3 + 5)) = v0;
    0x00068404 b 0x68360                     |         
                                             |     } while (1);
                                             | label_35:
    0x00068408 lw a0, 0x1c(s1)               |     a0 = *((s1 + 7));
                                             |     if (a0 == 0) {
    0x0006840c beql a0, zero, 0x68320        |         goto label_4;
                                             |     }
    0x00068410 lw a0, 0x20(s1)               |     a0 = *((s1 + 8));
    0x00068414 lw t9, (v0)                   |     t9 = *(v0);
    0x00068418 jalr t9                       |     t9 ();
    0x0006841c nop                           |     
    0x00068420 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068424 sw v0, 0x1c(s3)               |     *((s3 + 7)) = v0;
    0x00068428 b 0x6831c                     |     goto label_5;
                                             | label_37:
    0x0006842c lw v0, -0x6e34(gp)            |     v0 = *(gp);
                                             |     if (a0 == 0) {
    0x00068430 beqz a0, 0x686b4              |         goto label_38;
                                             |     }
    0x00068434 lw t9, (v0)                   |     t9 = *(v0);
    0x00068438 jalr t9                       |     t9 ();
    0x0006843c nop                           |     
    0x00068440 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068444 sw v0, 8(s3)                  |     *((s3 + 2)) = v0;
                                             | label_10:
    0x00068448 lw a0, 0x18(s1)               |     a0 = *((s1 + 6));
                                             | label_13:
    0x0006844c addiu v0, zero, 0x2f          |     v0 = 0x2f;
                                             |     if (a0 == 0) {
    0x00068450 beqz a0, 0x68700              |         goto label_39;
                                             |     }
    0x00068454 lb v1, (a0)                   |     v1 = *(a0);
    0x00068458 lw v0, -0x6e34(gp)            |     v0 = *(gp);
                                             |     if (v1 == v0) {
    0x0006845c beq v1, v0, 0x68710           |         goto label_40;
                                             |     }
    0x00068460 lw t9, -0x6fc0(gp)            |     t9 = *(gp);
    0x00068464 jalr t9                       |     t9 ();
    0x00068468 nop                           |     
    0x0006846c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068470 addiu s4, v0, 2               |     s4 = v0 + 2;
                                             | label_11:
    0x00068474 lw a0, 0x18(s0)               |     a0 = *((s0 + 6));
    0x00068478 lw t9, -0x6fc0(gp)            |     t9 = *(gp);
                                             |     if (a0 != 0) {
    0x0006847c beqz a0, 0x68490              |         
    0x00068480 jalr t9                       |         t9 ();
    0x00068484 nop                           |         
    0x00068488 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0006848c addu s4, s4, v0               |         s4 += v0;
                                             |     }
    0x00068490 lw v0, -0x6ddc(gp)            |     v0 = *((gp - 7031));
    0x00068494 lw t9, (v0)                   |     t9 = *(v0);
    0x00068498 move a0, s4                   |     a0 = s4;
    0x0006849c jalr t9                       |     t9 ();
    0x000684a0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000684a4 sw v0, 0x18(s3)               |     *((s3 + 6)) = v0;
                                             |     if (v0 == 0) {
    0x000684a8 beqz v0, 0x6873c              |         goto label_41;
                                             |     }
    0x000684ac sb zero, (v0)                 |     *(v0) = 0;
    0x000684b0 lw v0, 0x18(s0)               |     v0 = *((s0 + 6));
    0x000684b4 move v1, zero                 |     v1 = 0;
                                             |     if (v0 == 0) {
    0x000684b8 beqz v0, 0x68708              |         goto label_42;
                                             |     }
    0x000684bc move a0, zero                 |     a0 = 0;
    0x000684c0 addiu a3, zero, 0x2f          |     a3 = 0x2f;
    0x000684c4 addu a1, v0, a0               |     a1 = v0 + a0;
                                             | label_6:
    0x000684c8 lb a1, (a1)                   |     a1 = *(a1);
                                             |     if (a1 != 0) {
    0x000684cc bnez a1, 0x684ec              |         goto label_43;
                                             |     }
    0x000684d0 nop                           |     
    0x000684d4 move a1, v1                   |     a1 = v1;
    0x000684d8 b 0x68528                     |     goto label_12;
                                             |     do {
    0x000684dc addu a1, v0, a0               |         a1 = v0 + a0;
    0x000684e0 lb a1, (a1)                   |         a1 = *(a1);
                                             |         if (a1 == 0) {
    0x000684e4 beql a1, zero, 0x68528        |             goto label_12;
                                             |         }
    0x000684e8 move a1, v1                   |         a1 = v1;
                                             | label_43:
    0x000684ec addiu a0, a0, 1               |         a0++;
    0x000684f0 bne a1, a3, 0x684dc           |         
                                             |     } while (a1 != a3);
    0x000684f4 slt a1, v1, a0                |     a1 = (v1 < a0) ? 1 : 0;
    0x000684f8 addu a1, v0, a0               |     a1 = v0 + a0;
                                             |     if (a1 == 0) {
    0x000684fc beqz a1, 0x684c8              |         goto label_6;
                                             |     }
                                             |     do {
    0x00068500 addu v0, v0, v1               |         v0 += v1;
    0x00068504 lw a1, 0x18(s3)               |         a1 = *((s3 + 6));
    0x00068508 lb a2, (v0)                   |         a2 = *(v0);
    0x0006850c addu v0, a1, v1               |         v0 = a1 + v1;
    0x00068510 addiu v1, v1, 1               |         v1++;
    0x00068514 sb a2, (v0)                   |         *(v0) = a2;
    0x00068518 lw v0, 0x18(s0)               |         v0 = *((s0 + 6));
    0x0006851c bne v1, a0, 0x68500           |         
                                             |     } while (v1 != a0);
    0x00068520 addu a1, v0, a0               |     a1 = v0 + a0;
    0x00068524 b 0x684c8                     |     goto label_6;
                                             | label_12:
    0x00068528 lw v0, 0x18(s3)               |     v0 = *((s3 + 6));
    0x0006852c addu v0, v0, a1               |     v0 += a1;
    0x00068530 sb zero, (v0)                 |     *(v0) = 0;
    0x00068534 lw v0, 0x18(s1)               |     v0 = *((s1 + 6));
                                             |     if (v0 == 0) {
    0x00068538 beql v0, zero, 0x685a4        |         goto label_16;
                                             |     }
    0x0006853c lw v0, 0x18(s3)               |     v0 = *((s3 + 6));
    0x00068540 lb a0, (v0)                   |     a0 = *(v0);
    0x00068544 lw v0, 0x18(s3)               |     v0 = *((s3 + 6));
                                             |     if (a0 == 0) {
    0x00068548 beqz a0, 0x685a4              |         goto label_16;
                                             |     }
    0x0006854c addu v0, v0, s2               |     v0 += s2;
                                             |     if (v1 == 0) {
    0x00068550 bnel v1, zero, 0x68580        |         goto label_44;
                                             |     }
    0x00068554 lw a1, 0xc(s0)                |     a1 = *((s0 + 3));
                                             |     if (a1 == 0) {
    0x00068558 beql a1, zero, 0x68580        |         goto label_44;
                                             |     }
    0x0006855c addu v0, v0, s2               |     v0 += s2;
    0x00068560 addiu v1, zero, 0x2f          |     v1 = 0x2f;
    0x00068564 sb v1, (v0)                   |     *(v0) = v1;
    0x00068568 lw v0, 0x18(s1)               |     v0 = *((s1 + 6));
    0x0006856c lb a0, (v0)                   |     a0 = *(v0);
    0x00068570 lw v0, 0x18(s3)               |     v0 = *((s3 + 6));
                                             |     if (a0 == 0) {
    0x00068574 beqz a0, 0x6875c              |         goto label_45;
                                             |     }
    0x00068578 addiu v1, zero, 1             |     v1 = 1;
                                             |     do {
    0x0006857c addu v0, v0, s2               |         v0 += s2;
                                             | label_44:
    0x00068580 addu v0, v0, v1               |         v0 += v1;
    0x00068584 addiu s2, s2, 1               |         s2++;
    0x00068588 sb a0, (v0)                   |         *(v0) = a0;
    0x0006858c lw v0, 0x18(s1)               |         v0 = *((s1 + 6));
    0x00068590 addu a1, s2, v1               |         a1 = s2 + v1;
    0x00068594 addu v0, v0, s2               |         v0 += s2;
    0x00068598 lb a0, (v0)                   |         a0 = *(v0);
    0x0006859c lw v0, 0x18(s3)               |         v0 = *((s3 + 6));
    0x000685a0 bnez a0, 0x6857c              |         
                                             |     } while (a0 != 0);
                                             | label_16:
    0x000685a4 addu v0, v0, a1               |     v0 += a1;
    0x000685a8 sb zero, (v0)                 |     *(v0) = 0;
    0x000685ac lw a0, 0x18(s3)               |     a0 = *((s3 + 6));
                                             |     if (a0 == 0) {
    0x000685b0 beql a0, zero, 0x68384        |         goto label_7;
                                             |     }
    0x000685b4 lw t9, -0x7a58(gp)            |     t9 = *((gp - 7830));
    0x000685b8 lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
    0x000685bc addiu t9, t9, 0x4d9c          |     t9 += 0x4d9c;
    0x000685c0 bal 0x64d9c                   |     fcn_00064d9c ();
    0x000685c4 nop                           |     
    0x000685c8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000685cc b 0x68380                     |     goto label_8;
                                             | label_34:
    0x000685d0 lw v0, 8(s1)                  |     v0 = *((s1 + 2));
                                             |     if (v0 != 0) {
    0x000685d4 bnez v0, 0x682e0              |         goto label_9;
                                             |     }
    0x000685d8 nop                           |     
    0x000685dc lw v0, 0xc(s1)                |     v0 = *((s1 + 3));
                                             |     if (v0 != 0) {
    0x000685e0 bnez v0, 0x682e0              |         goto label_9;
                                             |     }
    0x000685e4 nop                           |     
    0x000685e8 lw v0, -0x6e34(gp)            |     v0 = *(gp);
                                             |     if (a0 != 0) {
    0x000685ec beqz a0, 0x68604              |         
    0x000685f0 lw t9, (v0)                   |         t9 = *(v0);
    0x000685f4 jalr t9                       |         t9 ();
    0x000685f8 nop                           |         
    0x000685fc lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00068600 sw v0, (s3)                   |         *(s3) = v0;
                                             |     }
    0x00068604 lw a0, 8(s0)                  |     a0 = *((s0 + 2));
    0x00068608 lw v0, -0x6e34(gp)            |     v0 = *(gp);
                                             |     if (a0 == 0) {
    0x0006860c beqz a0, 0x68764              |         goto label_46;
                                             |     }
    0x00068610 lw t9, (v0)                   |     t9 = *(v0);
    0x00068614 jalr t9                       |     t9 ();
    0x00068618 nop                           |     
    0x0006861c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068620 sw v0, 8(s3)                  |     *((s3 + 2)) = v0;
                                             | label_17:
    0x00068624 lw a0, 0x18(s0)               |     a0 = *((s0 + 6));
                                             | label_19:
    0x00068628 lw v0, -0x6e34(gp)            |     v0 = *(gp);
                                             |     if (a0 != 0) {
    0x0006862c beqz a0, 0x68644              |         
    0x00068630 lw t9, (v0)                   |         t9 = *(v0);
    0x00068634 jalr t9                       |         t9 ();
    0x00068638 nop                           |         
    0x0006863c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00068640 sw v0, 0x18(s3)               |         *((s3 + 6)) = v0;
                                             |     }
    0x00068644 lw a0, 0x28(s1)               |     a0 = *((s1 + 10));
                                             |     if (a0 == 0) {
    0x00068648 beql a0, zero, 0x687b0        |         goto label_47;
                                             |     }
    0x0006864c lw a0, 0x1c(s1)               |     a0 = *((s1 + 7));
    0x00068650 lw v0, -0x6e34(gp)            |     v0 = *(gp);
                                             | label_21:
    0x00068654 lw t9, (v0)                   |     t9 = *(v0);
    0x00068658 jalr t9                       |     t9 ();
    0x0006865c nop                           |     
    0x00068660 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068664 sw v0, 0x28(s3)               |     *((s3 + 10)) = v0;
                                             | label_18:
    0x00068668 lw a0, 0x20(s1)               |     a0 = *((s1 + 8));
                                             | label_23:
    0x0006866c lw v0, -0x6e34(gp)            |     v0 = *(gp);
                                             |     if (a0 == 0) {
    0x00068670 beqz a0, 0x68380              |         goto label_8;
                                             |     }
    0x00068674 lw t9, (v0)                   |     t9 = *(v0);
    0x00068678 jalr t9                       |     t9 ();
    0x0006867c nop                           |     
    0x00068680 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068684 sw v0, 0x20(s3)               |     *((s3 + 8)) = v0;
    0x00068688 b 0x68380                     |     goto label_8;
                                             | label_32:
    0x0006868c lw s3, -0x7da8(gp)            |     s3 = *(gp);
    0x00068690 move t9, s3                   |     t9 = s3;
    0x00068694 move a0, s1                   |     a0 = s1;
    0x00068698 bal 0x65ec4                   |     sym_xmlFreeURI ();
    0x0006869c move a0, s0                   |     a0 = s0;
    0x000686a0 move t9, s3                   |     t9 = s3;
    0x000686a4 move s2, zero                 |     s2 = 0;
    0x000686a8 bal 0x65ec4                   |     sym_xmlFreeURI ();
    0x000686ac lw ra, 0x2c(sp)               |     ra = *(var_2ch_2);
    0x000686b0 b 0x68120                     |     goto label_1;
                                             | label_38:
    0x000686b4 lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
                                             |     if (a0 != 0) {
    0x000686b8 beql a0, zero, 0x68728        |         
    0x000686bc lw v1, 0x14(s0)               |         v1 = *((s0 + 5));
    0x000686c0 lw t9, (v0)                   |         t9 = *(v0);
    0x000686c4 jalr t9                       |         t9 ();
    0x000686c8 nop                           |         
    0x000686cc lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000686d0 sw v0, 0xc(s3)                |         *((s3 + 3)) = v0;
    0x000686d4 lw a0, 0x10(s0)               |         a0 = *((s0 + 4));
                                             | label_14:
    0x000686d8 lw v0, -0x6e34(gp)            |         v0 = *(gp);
                                             |         if (a0 != 0) {
    0x000686dc beqz a0, 0x686f4              |             
    0x000686e0 lw t9, (v0)                   |             t9 = *(v0);
    0x000686e4 jalr t9                       |             t9 ();
    0x000686e8 nop                           |             
    0x000686ec lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x000686f0 sw v0, 0x10(s3)               |             *((s3 + 4)) = v0;
                                             |         }
    0x000686f4 lw v0, 0x14(s0)               |         v0 = *((s0 + 5));
    0x000686f8 sw v0, 0x14(s3)               |         *((s3 + 5)) = v0;
    0x000686fc b 0x68448                     |         goto label_10;
                                             | label_39:
    0x00068700 addiu s4, zero, 2             |         s4 = 2;
    0x00068704 b 0x68474                     |         goto label_11;
                                             | label_42:
    0x00068708 move a1, zero                 |         a1 = 0;
    0x0006870c b 0x68528                     |         goto label_12;
                                             | label_40:
    0x00068710 lw t9, (v0)                   |         t9 = *(v0);
    0x00068714 jalr t9                       |         t9 ();
    0x00068718 nop                           |         
    0x0006871c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00068720 sw v0, 0x18(s3)               |         *((s3 + 6)) = v0;
    0x00068724 b 0x68380                     |         goto label_8;
                                             |     }
    0x00068728 addiu v0, zero, -1            |     v0 = -1;
    0x0006872c lw a0, 0x18(s1)               |     a0 = *((s1 + 6));
                                             |     if (v1 == v0) {
    0x00068730 bnel v1, v0, 0x6844c          |         goto label_13;
                                             |     }
    0x00068734 lw a0, 0x10(s0)               |     a0 = *((s0 + 4));
    0x00068738 b 0x686d8                     |     goto label_14;
                                             | label_41:
    0x0006873c lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x00068740 lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
    0x00068744 addiu t9, t9, 0x4c70          |     t9 += 0x4c70;
    0x00068748 addiu a0, a0, -0x583c         |     a0 += -0x583c;
    0x0006874c bal 0x64c70                   |     fcn_00064c70 ();
    0x00068750 move s2, zero                 |     s2 = 0;
    0x00068754 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00068758 b 0x68394                     |     goto label_15;
                                             | label_45:
    0x0006875c addiu a1, zero, 1             |     a1 = 1;
    0x00068760 b 0x685a4                     |     goto label_16;
                                             | label_46:
    0x00068764 lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
                                             |     if (a0 != 0) {
    0x00068768 beql a0, zero, 0x687d4        |         
    0x0006876c lw v1, 0x14(s0)               |         v1 = *((s0 + 5));
    0x00068770 lw t9, (v0)                   |         t9 = *(v0);
    0x00068774 jalr t9                       |         t9 ();
    0x00068778 nop                           |         
    0x0006877c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00068780 sw v0, 0xc(s3)                |         *((s3 + 3)) = v0;
    0x00068784 lw a0, 0x10(s0)               |         a0 = *((s0 + 4));
                                             | label_20:
    0x00068788 lw v0, -0x6e34(gp)            |         v0 = *(gp);
                                             |         if (a0 != 0) {
    0x0006878c beqz a0, 0x687a4              |             
    0x00068790 lw t9, (v0)                   |             t9 = *(v0);
    0x00068794 jalr t9                       |             t9 ();
    0x00068798 nop                           |             
    0x0006879c lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x000687a0 sw v0, 0x10(s3)               |             *((s3 + 4)) = v0;
                                             |         }
    0x000687a4 lw v0, 0x14(s0)               |         v0 = *((s0 + 5));
    0x000687a8 sw v0, 0x14(s3)               |         *((s3 + 5)) = v0;
    0x000687ac b 0x68624                     |         goto label_17;
                                             |         if (a0 == 0) {
                                             | label_47:
    0x000687b0 beql a0, zero, 0x687e8        |             goto label_48;
                                             |         }
    0x000687b4 lw a0, 0x28(s0)               |         a0 = *((s0 + 10));
    0x000687b8 lw v0, -0x6e34(gp)            |         v0 = *(gp);
    0x000687bc lw t9, (v0)                   |         t9 = *(v0);
                                             | label_22:
    0x000687c0 jalr t9                       |         t9 ();
    0x000687c4 nop                           |         
    0x000687c8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000687cc sw v0, 0x1c(s3)               |         *((s3 + 7)) = v0;
    0x000687d0 b 0x68668                     |         goto label_18;
                                             |     }
    0x000687d4 addiu v0, zero, -1            |     v0 = -1;
    0x000687d8 lw a0, 0x18(s0)               |     a0 = *((s0 + 6));
                                             |     if (v1 == v0) {
    0x000687dc bnel v1, v0, 0x68628          |         goto label_19;
                                             |     }
    0x000687e0 lw a0, 0x10(s0)               |     a0 = *((s0 + 4));
    0x000687e4 b 0x68788                     |     goto label_20;
                                             | label_48:
    0x000687e8 lw v0, -0x6e34(gp)            |     v0 = *(gp);
                                             |     if (a0 != 0) {
    0x000687ec bnez a0, 0x68654              |         goto label_21;
                                             |     }
    0x000687f0 lw a0, 0x1c(s0)               |     a0 = *((s0 + 7));
    0x000687f4 lw t9, (v0)                   |     t9 = *(v0);
                                             |     if (a0 == 0) {
    0x000687f8 bnel a0, zero, 0x687c0        |         goto label_22;
                                             |     }
    0x000687fc lw a0, 0x20(s1)               |     a0 = *((s1 + 8));
    0x00068800 b 0x6866c                     |     goto label_23;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x68da4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.xmlCanonicPath ()        | void xmlCanonicPath () {
    0x00068da4 lui gp, 0x13              |     
    0x00068da8 addiu gp, gp, -0x7734     |     
    0x00068dac addu gp, gp, t9           |     gp += t9;
    0x00068db0 addiu sp, sp, -0x28       |     
    0x00068db4 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00068db8 sw ra, 0x24(sp)           |     *(var_24h) = ra;
    0x00068dbc sw s2, 0x20(sp)           |     *(var_20h) = s2;
    0x00068dc0 sw s1, 0x1c(sp)           |     *(var_1ch) = s1;
    0x00068dc4 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00068dc8 addiu v1, zero, 0x2f      |     v1 = 0x2f;
                                         |     if (a0 == 0) {
    0x00068dcc beqz a0, 0x68f04          |         goto label_2;
                                         |     }
    0x00068dd0 lbu v0, (a0)              |     v0 = *(a0);
    0x00068dd4 move s0, a0               |     s0 = a0;
                                         |     if (v0 == v1) {
    0x00068dd8 beq v0, v1, 0x68ee4       |         goto label_3;
                                         |     }
    0x00068ddc lw s1, -0x7dac(gp)        |     s1 = *((gp - 8043));
                                         | label_0:
    0x00068de0 move t9, s1               |     t9 = s1;
                                         | label_1:
    0x00068de4 move a0, s0               |     a0 = s0;
    0x00068de8 bal 0x676d4               |     sym_xmlParseURI ();
    0x00068dec lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 != 0) {
    0x00068df0 beqz v0, 0x68e24          |         
    0x00068df4 lw t9, -0x7da8(gp)        |         t9 = *(gp);
    0x00068df8 move a0, v0               |         a0 = v0;
    0x00068dfc bal 0x65ec4               |         sym_xmlFreeURI ();
    0x00068e00 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00068e04 lw ra, 0x24(sp)           |         ra = *(var_24h);
    0x00068e08 lw s2, 0x20(sp)           |         s2 = *(var_20h);
    0x00068e0c lw s1, 0x1c(sp)           |         s1 = *(var_1ch);
    0x00068e10 move a0, s0               |         a0 = s0;
    0x00068e14 lw t9, -0x7fd8(gp)        |         t9 = *((gp - 8182));
    0x00068e18 lw s0, 0x18(sp)           |         s0 = *(var_18h);
    0x00068e1c addiu sp, sp, 0x28        |         
    0x00068e20 jr t9                     |         t9 ();
                                         |     }
    0x00068e24 lw a1, -0x7f94(gp)        |     a1 = *((gp - 8165));
    0x00068e28 lw t9, -0x7fb4(gp)        |     t9 = *((gp - 8173));
    0x00068e2c addiu a1, a1, -0x6730     |     a1 += -0x6730;
    0x00068e30 move a0, s0               |     a0 = s0;
    0x00068e34 jalr t9                   |     t9 ();
    0x00068e38 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 == 0) {
    0x00068e3c beqz v0, 0x68ec4          |         goto label_4;
                                         |     }
    0x00068e40 subu v0, v0, s0           |     __asm ("subu v0, v0, s0");
    0x00068e44 addiu v1, v0, -1          |     v1 = v0 + -1;
    0x00068e48 sltiu v1, v1, 0x14        |     v1 = (v1 < 0x14) ? 1 : 0;
    0x00068e4c move v1, s0               |     v1 = s0;
                                         |     if (v1 == 0) {
    0x00068e50 beqz v1, 0x68ec4          |         goto label_4;
                                         |     }
    0x00068e54 addu a0, v0, s0           |     a0 = v0 + s0;
    0x00068e58 addiu a1, zero, -0x21     |     a1 = -0x21;
    0x00068e5c lbu v0, (v1)              |     v0 = *(v1);
                                         |     do {
    0x00068e60 and v0, v0, a1            |         v0 &= a1;
    0x00068e64 addiu v0, v0, -0x41       |         v0 += -0x41;
    0x00068e68 sltiu v0, v0, 0x1a        |         v0 = (v0 < 0x1a) ? 1 : 0;
    0x00068e6c addiu v1, v1, 1           |         v1++;
                                         |         if (v0 == 0) {
    0x00068e70 beqz v0, 0x68ec4          |             goto label_4;
                                         |         }
    0x00068e74 lbu v0, (v1)              |         v0 = *(v1);
    0x00068e78 bnel a0, v1, 0x68e60      |         
                                         |     } while (a0 == v1);
    0x00068e7c lw a1, -0x7f94(gp)        |     a1 = *((gp - 8165));
    0x00068e80 lw t9, -0x7a50(gp)        |     t9 = *(gp);
    0x00068e84 addiu a1, a1, -0x57fc     |     a1 += -0x57fc;
    0x00068e88 move a0, s0               |     a0 = s0;
    0x00068e8c bal 0x6783c               |     sym_xmlURIEscapeStr ();
    0x00068e90 move s2, v0               |     s2 = v0;
    0x00068e94 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 != 0) {
    0x00068e98 beqz v0, 0x68ec4          |         
    0x00068e9c move t9, s1               |         t9 = s1;
    0x00068ea0 move a0, v0               |         a0 = v0;
    0x00068ea4 bal 0x676d4               |         sym_xmlParseURI ();
    0x00068ea8 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 != 0) {
    0x00068eac bnez v0, 0x68f24          |             goto label_5;
                                         |         }
    0x00068eb0 lw v0, -0x7158(gp)        |         v0 = *(gp);
    0x00068eb4 lw t9, (v0)               |         t9 = *(v0);
    0x00068eb8 move a0, s2               |         a0 = s2;
    0x00068ebc jalr t9                   |         t9 ();
    0x00068ec0 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |     }
                                         | label_4:
    0x00068ec4 lw ra, 0x24(sp)           |     ra = *(var_24h);
    0x00068ec8 lw s2, 0x20(sp)           |     s2 = *(var_20h);
    0x00068ecc lw s1, 0x1c(sp)           |     s1 = *(var_1ch);
    0x00068ed0 move a0, s0               |     a0 = s0;
    0x00068ed4 lw t9, -0x7fd8(gp)        |     t9 = *((gp - 8182));
    0x00068ed8 lw s0, 0x18(sp)           |     s0 = *(var_18h);
    0x00068edc addiu sp, sp, 0x28        |     
    0x00068ee0 jr t9                     |     t9 ();
                                         | label_3:
    0x00068ee4 lbu v1, 1(a0)             |     v1 = *((a0 + 1));
    0x00068ee8 lw s1, -0x7dac(gp)        |     s1 = *((gp - 8043));
                                         |     if (v1 != v0) {
    0x00068eec bne v1, v0, 0x68de0       |         goto label_0;
                                         |     }
    0x00068ef0 lbu v0, 2(a0)             |     v0 = *((a0 + 2));
    0x00068ef4 addiu s0, a0, 1           |     s0 = a0 + 1;
                                         |     if (v0 == v1) {
    0x00068ef8 bnel v0, v1, 0x68de0      |         goto label_0;
                                         |     }
    0x00068efc move t9, s1               |     t9 = s1;
    0x00068f00 b 0x68de4                 |     goto label_1;
                                         | label_2:
    0x00068f04 move s2, zero             |     s2 = 0;
    0x00068f08 lw ra, 0x24(sp)           |     ra = *(var_24h);
                                         |     do {
    0x00068f0c move v0, s2               |         v0 = s2;
    0x00068f10 lw s1, 0x1c(sp)           |         s1 = *(var_1ch);
    0x00068f14 lw s2, 0x20(sp)           |         s2 = *(var_20h);
    0x00068f18 lw s0, 0x18(sp)           |         s0 = *(var_18h);
    0x00068f1c addiu sp, sp, 0x28        |         
    0x00068f20 jr ra                     |         return v0;
                                         | label_5:
    0x00068f24 lw t9, -0x7da8(gp)        |         t9 = *(gp);
    0x00068f28 move a0, v0               |         a0 = v0;
    0x00068f2c bal 0x65ec4               |         sym_xmlFreeURI ();
    0x00068f30 lw ra, 0x24(sp)           |         ra = *(var_24h);
    0x00068f34 b 0x68f0c                 |         
                                         |     } while (1);
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x250e8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlCharEncCloseFunc ()       | void xmlCharEncCloseFunc () {
    0x000250e8 lui gp, 0x17                  |     
    0x000250ec addiu gp, gp, -0x3a78         |     
    0x000250f0 addu gp, gp, t9               |     gp += t9;
    0x000250f4 addiu sp, sp, -0x28           |     
    0x000250f8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000250fc sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x00025100 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x00025104 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x00025108 sw s0, 0x18(sp)               |     *(var_18h) = s0;
                                             |     if (a0 == 0) {
    0x0002510c beql a0, zero, 0x251c0        |         goto label_1;
                                             |     }
    0x00025110 addiu s1, zero, -1            |     s1 = -1;
    0x00025114 lw v0, (a0)                   |     v0 = *(a0);
    0x00025118 lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
                                             |     if (v0 == 0) {
    0x0002511c beqz v0, 0x25228              |         goto label_2;
                                             |     }
    0x00025120 lw v0, -0x56f8(v0)            |     v0 = *((v0 - 5566));
                                             |     if (v0 == 0) {
    0x00025124 beql v0, zero, 0x2516c        |         goto label_3;
                                             |     }
    0x00025128 move s0, a0                   |     s0 = a0;
    0x0002512c lw v1, -0x7fe4(gp)            |     v1 = *((gp - 8185));
    0x00025130 lw a2, -0x56fc(v1)            |     a2 = *((v1 - 5567));
                                             |     if (a2 <= 0) {
    0x00025134 blezl a2, 0x2516c             |         goto label_3;
                                             |     }
    0x00025138 move s0, a0                   |     s0 = a0;
    0x0002513c lw v1, (v0)                   |     v1 = *(v0);
    0x00025140 addiu v0, v0, 4               |     v0 += 4;
                                             |     if (a0 == v1) {
    0x00025144 beq a0, v1, 0x251dc           |         goto label_4;
                                             |     }
    0x00025148 move v1, zero                 |     v1 = 0;
    0x0002514c b 0x2515c                     |     
                                             |     while (v1 != a2) {
    0x00025150 lw a1, -4(v0)                 |         a1 = *((v0 - 1));
    0x00025154 lw ra, 0x24(sp)               |         ra = *(var_24h);
                                             |         if (a1 == a0) {
    0x00025158 beq a1, a0, 0x251e0           |             goto label_5;
                                             |         }
    0x0002515c addiu v1, v1, 1               |         v1++;
    0x00025160 addiu v0, v0, 4               |         v0 += 4;
    0x00025164 bne v1, a2, 0x25150           |         
                                             |     }
    0x00025168 move s0, a0                   |     s0 = a0;
                                             | label_3:
    0x0002516c lw a0, 0x10(a0)               |     a0 = *((a0 + 4));
    0x00025170 lw t9, -0x7144(gp)            |     t9 = *(gp);
                                             |     if (a0 == 0) {
    0x00025174 beqz a0, 0x251fc              |         goto label_6;
                                             |     }
    0x00025178 jalr t9                       |     t9 ();
    0x0002517c nop                           |     
    0x00025180 lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
    0x00025184 sltu v0, zero, v0             |     v0 = (0 < v0) ? 1 : 0;
    0x00025188 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0002518c negu s1, v0                   |     __asm ("negu s1, v0");
    0x00025190 sw zero, 0x10(s0)             |     *((s0 + 4)) = 0;
                                             |     if (a0 != 0) {
    0x00025194 bnez a0, 0x25208              |         goto label_7;
                                             |     }
                                             | label_0:
    0x00025198 lw s2, -0x7158(gp)            |     s2 = *(gp);
    0x0002519c lw a0, (s0)                   |     a0 = *(s0);
    0x000251a0 lw t9, (s2)                   |     t9 = *(s2);
                                             |     if (a0 != 0) {
    0x000251a4 beqz a0, 0x251b4              |         
    0x000251a8 jalr t9                       |         t9 ();
    0x000251ac nop                           |         
    0x000251b0 lw t9, (s2)                   |         t9 = *(s2);
                                             |     }
    0x000251b4 sw zero, (s0)                 |     *(s0) = 0;
    0x000251b8 move a0, s0                   |     a0 = s0;
    0x000251bc jalr t9                       |     t9 ();
                                             |     do {
                                             | label_1:
    0x000251c0 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x000251c4 move v0, s1                   |         v0 = s1;
    0x000251c8 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x000251cc lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x000251d0 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x000251d4 addiu sp, sp, 0x28            |         
    0x000251d8 jr ra                         |         return v1;
                                             | label_4:
    0x000251dc lw ra, 0x24(sp)               |         ra = *(var_24h);
                                             | label_5:
    0x000251e0 move s1, zero                 |         s1 = 0;
    0x000251e4 move v0, s1                   |         v0 = s1;
    0x000251e8 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x000251ec lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x000251f0 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x000251f4 addiu sp, sp, 0x28            |         
    0x000251f8 jr ra                         |         return v1;
                                             | label_6:
    0x000251fc lw a0, 0xc(s0)                |         a0 = *((s0 + 3));
    0x00025200 move s1, zero                 |         s1 = 0;
    0x00025204 beqz a0, 0x251c0              |         
                                             |     } while (a0 == 0);
                                             | label_7:
    0x00025208 lw t9, -0x7144(gp)            |     t9 = *(gp);
    0x0002520c jalr t9                       |     t9 ();
    0x00025210 nop                           |     
    0x00025214 addiu v1, zero, -1            |     v1 = -1;
    0x00025218 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0002521c movn s1, v1, v0               |         s1 = v1;
                                             |     }
    0x00025220 sw zero, 0xc(s0)              |     *((s0 + 3)) = 0;
    0x00025224 b 0x25198                     |     goto label_0;
                                             | label_2:
    0x00025228 addiu s1, zero, -1            |     s1 = -1;
    0x0002522c b 0x251c0                     |     goto label_1;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x246c4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlCharEncInFunc ()          | void xmlCharEncInFunc () {
    0x000246c4 lui gp, 0x17                  |     
    0x000246c8 addiu gp, gp, -0x3054         |     
    0x000246cc addu gp, gp, t9               |     gp += t9;
    0x000246d0 addiu sp, sp, -0x88           |     
    0x000246d4 sw s4, 0x80(sp)               |     *(var_80h) = s4;
    0x000246d8 lw s4, -0x7000(gp)            |     s4 = *((gp - 7168));
    0x000246dc sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x000246e0 sw ra, 0x84(sp)               |     *(var_84h) = ra;
    0x000246e4 lw v0, (s4)                   |     v0 = *(s4);
    0x000246e8 sw s3, 0x7c(sp)               |     *(var_7ch) = s3;
    0x000246ec sw s2, 0x78(sp)               |     *(var_78h) = s2;
    0x000246f0 sw s1, 0x74(sp)               |     *(var_74h) = s1;
    0x000246f4 sw s0, 0x70(sp)               |     *(var_70h) = s0;
    0x000246f8 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
                                             |     if (a0 == 0) {
    0x000246fc beql a0, zero, 0x247d0        |         goto label_1;
                                             |     }
    0x00024700 addiu s0, zero, -1            |     s0 = -1;
    0x00024704 move s2, a1                   |     s2 = a1;
                                             |     if (a1 == 0) {
    0x00024708 beqz a1, 0x248b8              |         goto label_2;
                                             |     }
    0x0002470c move s3, a2                   |     s3 = a2;
                                             |     if (a2 == 0) {
    0x00024710 beqz a2, 0x248b8              |         goto label_2;
                                             |     }
    0x00024714 lw s0, 4(a2)                  |     s0 = *((a2 + 1));
    0x00024718 sw s0, 0x34(sp)               |     *(var_34h_3) = s0;
                                             |     if (s0 == 0) {
    0x0002471c beqz s0, 0x247d0              |         goto label_1;
                                             |     }
    0x00024720 move s1, a0                   |     s1 = a0;
    0x00024724 lw a0, 8(a1)                  |     a0 = *((a1 + 2));
    0x00024728 lw v1, 4(a1)                  |     v1 = *((a1 + 1));
    0x0002472c addiu v0, a0, -1              |     v0 = a0 + -1;
    0x00024730 subu v0, v0, v1               |     __asm ("subu v0, v0, v1");
    0x00024734 sll s0, s0, 1                 |     s0 <<= 1;
    0x00024738 slt a1, s0, v0                |     a1 = (s0 < v0) ? 1 : 0;
    0x0002473c sw v0, 0x30(sp)               |     *(var_30h_3) = v0;
                                             |     if (a1 == 0) {
    0x00024740 beqz a1, 0x24810              |         goto label_3;
                                             |     }
                                             | label_0:
    0x00024744 lw a2, (s2)                   |     a2 = *(s2);
    0x00024748 lw v0, (s3)                   |     v0 = *(s3);
    0x0002474c lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00024750 lw a0, 4(s1)                  |     a0 = *((s1 + 1));
    0x00024754 addu a2, a2, v1               |     a2 += v1;
    0x00024758 addiu v1, sp, 0x34            |     v1 = sp + 0x34;
    0x0002475c sw v1, 0x14(sp)               |     *(var_14h_3) = v1;
    0x00024760 addiu a3, sp, 0x30            |     a3 = sp + 0x30;
    0x00024764 addiu a1, s1, 0xc             |     a1 = s1 + 0xc;
    0x00024768 addiu t9, t9, 0x26cc          |     t9 += aav.0x000026cc;
    0x0002476c sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00024770 bal 0x226cc                   |     fcn_000226cc ();
    0x00024774 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00024778 lw a1, 0x34(sp)               |     a1 = *(var_34h_3);
    0x0002477c move a0, s3                   |     a0 = s3;
    0x00024780 lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
    0x00024784 move s0, v0                   |     s0 = v0;
    0x00024788 jalr t9                       |     t9 ();
    0x0002478c lw v0, 4(s2)                  |     v0 = *((s2 + 1));
    0x00024790 lw a0, 0x30(sp)               |     a0 = *(var_30h_3);
    0x00024794 lw v1, (s2)                   |     v1 = *(s2);
    0x00024798 addu v0, v0, a0               |     v0 += a0;
    0x0002479c addu v1, v1, v0               |     v1 += v0;
    0x000247a0 addiu a0, zero, -1            |     a0 = -1;
    0x000247a4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000247a8 sw v0, 4(s2)                  |     *((s2 + 1)) = v0;
    0x000247ac sb zero, (v1)                 |     *(v1) = 0;
                                             |     if (s0 == a0) {
    0x000247b0 beq s0, a0, 0x24800           |         goto label_4;
                                             |     }
    0x000247b4 addiu v0, zero, -2            |     v0 = -2;
                                             |     if (s0 == v0) {
    0x000247b8 beql s0, v0, 0x2483c          |         goto label_5;
                                             |     }
    0x000247bc lw v0, (s3)                   |     v0 = *(s3);
    0x000247c0 addiu v0, zero, -3            |     v0 = -3;
    0x000247c4 lw v0, 0x30(sp)               |     v0 = *(var_30h_3);
                                             |     if (s0 == v0) {
    0x000247c8 beq s0, v0, 0x24804           |         goto label_6;
                                             |     }
    0x000247cc movn s0, v0, v0               |     s0 = v0;
                                             |     while (1) {
                                             | label_1:
    0x000247d0 lw a0, 0x6c(sp)               |         a0 = *(var_6ch);
    0x000247d4 lw v1, (s4)                   |         v1 = *(s4);
    0x000247d8 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x000247dc bne a0, v1, 0x248c0           |             goto label_7;
                                             |         }
    0x000247e0 lw ra, 0x84(sp)               |         ra = *(var_84h);
    0x000247e4 lw s4, 0x80(sp)               |         s4 = *(var_80h);
    0x000247e8 lw s3, 0x7c(sp)               |         s3 = *(var_7ch);
    0x000247ec lw s2, 0x78(sp)               |         s2 = *(var_78h);
    0x000247f0 lw s1, 0x74(sp)               |         s1 = *(var_74h);
    0x000247f4 lw s0, 0x70(sp)               |         s0 = *(var_70h);
    0x000247f8 addiu sp, sp, 0x88            |         
    0x000247fc jr ra                         |         return v0;
                                             | label_4:
    0x00024800 lw v0, 0x30(sp)               |         v0 = *(var_30h_3);
                                             | label_6:
    0x00024804 move s0, zero                 |         s0 = 0;
                                             |         if (v0 == 0) {
    0x00024808 movn s0, v0, v0               |             s0 = v0;
                                             |         }
    0x0002480c b 0x247d0                     |         
                                             |     }
                                             | label_3:
    0x00024810 lw t9, -0x7f54(gp)            |     t9 = *((gp - 8149));
    0x00024814 addu a1, s0, a0               |     a1 = s0 + a0;
    0x00024818 move a0, s2                   |     a0 = s2;
    0x0002481c jalr t9                       |     t9 ();
    0x00024820 lw v0, 8(s2)                  |     v0 = *((s2 + 2));
    0x00024824 lw v1, 4(s2)                  |     v1 = *((s2 + 1));
    0x00024828 addiu v0, v0, -1              |     v0 += -1;
    0x0002482c subu v0, v0, v1               |     __asm ("subu v0, v0, v1");
    0x00024830 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00024834 sw v0, 0x30(sp)               |     *(var_30h_3) = v0;
    0x00024838 b 0x24744                     |     goto label_0;
                                             | label_5:
    0x0002483c lw t9, -0x7108(gp)            |     t9 = *(gp);
    0x00024840 addiu s1, sp, 0x38            |     s1 = sp + 0x38;
    0x00024844 lbu v1, 3(v0)                 |     v1 = *((v0 + 3));
    0x00024848 addiu a3, zero, 0x32          |     a3 = 0x32;
    0x0002484c sw v1, 0x20(sp)               |     *(var_20h_4) = v1;
    0x00024850 lbu v1, 2(v0)                 |     v1 = *((v0 + 2));
    0x00024854 addiu a2, zero, 1             |     a2 = 1;
    0x00024858 sw v1, 0x1c(sp)               |     *(var_1ch_4) = v1;
    0x0002485c lbu v1, 1(v0)                 |     v1 = *((v0 + 1));
    0x00024860 addiu a1, zero, 0x31          |     a1 = 0x31;
    0x00024864 sw v1, 0x18(sp)               |     *(var_18h_4) = v1;
    0x00024868 lbu v0, (v0)                  |     v0 = *(v0);
    0x0002486c move a0, s1                   |     a0 = s1;
    0x00024870 sw v0, 0x14(sp)               |     *(var_14h_3) = v0;
    0x00024874 lw v0, -0x7fd4(gp)            |     v0 = *(gp);
    0x00024878 addiu v0, v0, 0x641c          |     v0 += 0x641c;
    0x0002487c sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00024880 jalr t9                       |     t9 ();
    0x00024884 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00024888 move a2, s1                   |     a2 = s1;
    0x0002488c addiu a0, zero, 0x1773        |     a0 = 0x1773;
    0x00024890 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00024894 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00024898 addiu a1, a1, 0x6438          |     a1 += aav.0x00006438;
    0x0002489c addiu t9, t9, 0x2408          |     t9 += 0x2408;
    0x000248a0 sb zero, 0x69(sp)             |     *(var_69h) = 0;
    0x000248a4 bal 0x22408                   |     fcn_00022408 ();
    0x000248a8 lw v0, 0x30(sp)               |     v0 = *(var_30h_3);
    0x000248ac lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x000248b0 movn s0, v0, v0               |         s0 = v0;
                                             |     }
    0x000248b4 b 0x247d0                     |     goto label_1;
                                             | label_2:
    0x000248b8 addiu s0, zero, -1            |     s0 = -1;
    0x000248bc b 0x247d0                     |     goto label_1;
                                             | label_7:
    0x000248c0 lw t9, -0x7074(gp)            |     t9 = *((gp - 7197));
    0x000248c4 jalr t9                       |     t9 ();
    0x000248c8 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 @ 0xb7db4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlCharStrdup ()             | void xmlCharStrdup () {
    0x000b7db4 lui gp, 0xe                   |     
    0x000b7db8 addiu gp, gp, -0x6744         |     
    0x000b7dbc addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x000b7dc0 beqz a0, 0xb7dfc              |         goto label_0;
                                             |     }
    0x000b7dc4 nop                           |     
    0x000b7dc8 lb v0, (a0)                   |     v0 = *(a0);
    0x000b7dcc move a1, a0                   |     a1 = a0;
                                             |     if (v0 == 0) {
    0x000b7dd0 beqz v0, 0xb7df0              |         goto label_1;
                                             |     }
    0x000b7dd4 addiu a1, a1, 1               |     a1++;
                                             |     do {
    0x000b7dd8 lb v0, (a1)                   |         v0 = *(a1);
    0x000b7ddc addiu a1, a1, 1               |         a1++;
    0x000b7de0 bnel v0, zero, 0xb7dd8        |         
                                             |     } while (v0 == 0);
    0x000b7de4 lw t9, -0x76cc(gp)            |     t9 = *(gp);
    0x000b7de8 subu a1, a1, a0               |     __asm ("subu a1, a1, a0");
    0x000b7dec b 0xb7ce0                     |     void (*0xb7ce0)() ();
                                             | label_1:
    0x000b7df0 lw t9, -0x76cc(gp)            |     t9 = *(gp);
    0x000b7df4 move a1, zero                 |     a1 = 0;
    0x000b7df8 b 0xb7ce0                     |     void (*0xb7ce0)() ();
                                             | label_0:
    0x000b7dfc move v0, zero                 |     v0 = 0;
    0x000b7e00 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb7ce0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlCharStrndup ()            | void xmlCharStrndup () {
    0x000b7ce0 lui gp, 0xe                   |     
    0x000b7ce4 addiu gp, gp, -0x6670         |     
    0x000b7ce8 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x000b7cec beqz a0, 0xb7d90              |         goto label_0;
                                             |     }
    0x000b7cf0 nop                           |     
                                             |     if (a1 < 0) {
    0x000b7cf4 bltz a1, 0xb7d88              |         goto label_1;
                                             |     }
    0x000b7cf8 nop                           |     
    0x000b7cfc lw v0, -0x6ddc(gp)            |     v0 = *((gp - 7031));
    0x000b7d00 addiu sp, sp, -0x30           |     
    0x000b7d04 lw t9, (v0)                   |     t9 = *(v0);
    0x000b7d08 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000b7d0c sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x000b7d10 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x000b7d14 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x000b7d18 move s0, a0                   |     s0 = a0;
    0x000b7d1c addiu a0, a1, 1               |     a0 = a1 + 1;
    0x000b7d20 move s1, a1                   |     s1 = a1;
    0x000b7d24 jalr t9                       |     t9 ();
    0x000b7d28 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000b7d2c beqz v0, 0xb7d98              |         goto label_2;
                                             |     }
                                             |     if (s1 == 0) {
    0x000b7d30 beql s1, zero, 0xb7d70        |         goto label_3;
                                             |     }
    0x000b7d34 addu s1, v0, s1               |     s1 = v0 + s1;
    0x000b7d38 lbu v1, (s0)                  |     v1 = *(s0);
    0x000b7d3c sb v1, (v0)                   |     *(v0) = v1;
                                             |     if (v1 == 0) {
    0x000b7d40 beqz v1, 0xb7d74              |         goto label_4;
                                             |     }
    0x000b7d44 addiu v1, s0, 1               |     v1 = s0 + 1;
    0x000b7d48 addiu a2, v0, 1               |     a2 = v0 + 1;
    0x000b7d4c addu a3, s0, s1               |     a3 = s0 + s1;
    0x000b7d50 b 0xb7d64                     |     
                                             |     while (v1 == a3) {
    0x000b7d54 addiu a2, a2, 1               |         a2++;
    0x000b7d58 addiu v1, v1, 1               |         v1++;
    0x000b7d5c sb a0, -1(a2)                 |         *((a2 - 1)) = a0;
                                             |         if (a0 == 0) {
    0x000b7d60 beqz a0, 0xb7d74              |             goto label_4;
                                             |         }
    0x000b7d64 lbu a0, (v1)                  |         a0 = *(v1);
    0x000b7d68 bnel v1, a3, 0xb7d54          |         
                                             |     }
    0x000b7d6c addu s1, v0, s1               |     s1 = v0 + s1;
                                             | label_3:
    0x000b7d70 sb zero, (s1)                 |     *(s1) = 0;
                                             |     do {
                                             | label_4:
    0x000b7d74 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x000b7d78 lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x000b7d7c lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x000b7d80 addiu sp, sp, 0x30            |         
    0x000b7d84 jr ra                         |         return v0;
                                             | label_1:
    0x000b7d88 move v0, zero                 |         v0 = 0;
    0x000b7d8c jr ra                         |         return v0;
                                             | label_0:
    0x000b7d90 move v0, zero                 |         v0 = 0;
    0x000b7d94 jr ra                         |         return v0;
                                             | label_2:
    0x000b7d98 lw t9, -0x7ed4(gp)            |         t9 = *((gp - 8117));
    0x000b7d9c sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x000b7da0 move a1, zero                 |         a1 = 0;
    0x000b7da4 move a0, zero                 |         a0 = 0;
    0x000b7da8 jalr t9                       |         t9 ();
    0x000b7dac lw v0, 0x1c(sp)               |         v0 = *(var_1ch);
    0x000b7db0 b 0xb7d74                     |         
                                             |     } while (1);
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x26e60 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.xmlCopyError ()          | void xmlCopyError () {
    0x00026e60 lui gp, 0x17              |     
    0x00026e64 addiu gp, gp, -0x57f0     |     
    0x00026e68 addu gp, gp, t9           |     gp += t9;
                                         |     if (a0 != 0) {
    0x00026e6c beqz a0, 0x2701c          |         
    0x00026e70 nop                       |         
                                         |         if (a1 != 0) {
    0x00026e74 beqz a1, 0x27014          |             
    0x00026e78 nop                       |             
    0x00026e7c addiu sp, sp, -0x38       |             
    0x00026e80 sw s2, 0x20(sp)           |             *(var_20h) = s2;
    0x00026e84 lw s2, -0x7fd8(gp)        |             s2 = *((gp - 8182));
    0x00026e88 sw s1, 0x1c(sp)           |             *(var_1ch) = s1;
    0x00026e8c move s1, a0               |             s1 = a0;
    0x00026e90 lw a0, 8(a0)              |             a0 = *((a0 + 2));
    0x00026e94 sw gp, 0x10(sp)           |             *(var_10h) = gp;
    0x00026e98 sw ra, 0x34(sp)           |             *(var_34h) = ra;
    0x00026e9c move t9, s2               |             t9 = s2;
    0x00026ea0 sw s6, 0x30(sp)           |             *(var_30h) = s6;
    0x00026ea4 sw s5, 0x2c(sp)           |             *(var_2ch) = s5;
    0x00026ea8 sw s4, 0x28(sp)           |             *(var_28h) = s4;
    0x00026eac sw s3, 0x24(sp)           |             *(var_24h) = s3;
    0x00026eb0 sw s0, 0x18(sp)           |             *(var_18h) = s0;
    0x00026eb4 move s0, a1               |             s0 = a1;
    0x00026eb8 jalr t9                   |             t9 ();
    0x00026ebc lw a0, 0x10(s1)           |             a0 = *((s1 + 4));
    0x00026ec0 move t9, s2               |             t9 = s2;
    0x00026ec4 move s6, v0               |             s6 = v0;
    0x00026ec8 jalr t9                   |             t9 ();
    0x00026ecc lw a0, 0x18(s1)           |             a0 = *((s1 + 6));
    0x00026ed0 move t9, s2               |             t9 = s2;
    0x00026ed4 move s5, v0               |             s5 = v0;
    0x00026ed8 jalr t9                   |             t9 ();
    0x00026edc lw a0, 0x1c(s1)           |             a0 = *((s1 + 7));
    0x00026ee0 move t9, s2               |             t9 = s2;
    0x00026ee4 move s4, v0               |             s4 = v0;
    0x00026ee8 jalr t9                   |             t9 ();
    0x00026eec lw a0, 0x20(s1)           |             a0 = *((s1 + 8));
    0x00026ef0 move t9, s2               |             t9 = s2;
    0x00026ef4 move s3, v0               |             s3 = v0;
    0x00026ef8 jalr t9                   |             t9 ();
    0x00026efc lw a0, 8(s0)              |             a0 = *((s0 + 2));
    0x00026f00 lw gp, 0x10(sp)           |             gp = *(var_10h);
    0x00026f04 move s2, v0               |             s2 = v0;
                                         |             if (a0 != 0) {
    0x00026f08 beqz a0, 0x26f20          |                 
    0x00026f0c lw v0, -0x7158(gp)        |                 v0 = *(gp);
    0x00026f10 lw t9, (v0)               |                 t9 = *(v0);
    0x00026f14 jalr t9                   |                 t9 ();
    0x00026f18 nop                       |                 
    0x00026f1c lw gp, 0x10(sp)           |                 gp = *(var_10h);
                                         |             }
    0x00026f20 lw a0, 0x10(s0)           |             a0 = *((s0 + 4));
    0x00026f24 lw v0, -0x7158(gp)        |             v0 = *(gp);
                                         |             if (a0 != 0) {
    0x00026f28 beqz a0, 0x26f3c          |                 
    0x00026f2c lw t9, (v0)               |                 t9 = *(v0);
    0x00026f30 jalr t9                   |                 t9 ();
    0x00026f34 nop                       |                 
    0x00026f38 lw gp, 0x10(sp)           |                 gp = *(var_10h);
                                         |             }
    0x00026f3c lw a0, 0x18(s0)           |             a0 = *((s0 + 6));
    0x00026f40 lw v0, -0x7158(gp)        |             v0 = *(gp);
                                         |             if (a0 != 0) {
    0x00026f44 beqz a0, 0x26f58          |                 
    0x00026f48 lw t9, (v0)               |                 t9 = *(v0);
    0x00026f4c jalr t9                   |                 t9 ();
    0x00026f50 nop                       |                 
    0x00026f54 lw gp, 0x10(sp)           |                 gp = *(var_10h);
                                         |             }
    0x00026f58 lw a0, 0x1c(s0)           |             a0 = *((s0 + 7));
    0x00026f5c lw v0, -0x7158(gp)        |             v0 = *(gp);
                                         |             if (a0 != 0) {
    0x00026f60 beqz a0, 0x26f74          |                 
    0x00026f64 lw t9, (v0)               |                 t9 = *(v0);
    0x00026f68 jalr t9                   |                 t9 ();
    0x00026f6c nop                       |                 
    0x00026f70 lw gp, 0x10(sp)           |                 gp = *(var_10h);
                                         |             }
    0x00026f74 lw a0, 0x20(s0)           |             a0 = *((s0 + 8));
    0x00026f78 lw v0, -0x7158(gp)        |             v0 = *(gp);
                                         |             if (a0 != 0) {
    0x00026f7c beqz a0, 0x26f8c          |                 
    0x00026f80 lw t9, (v0)               |                 t9 = *(v0);
    0x00026f84 jalr t9                   |                 t9 ();
    0x00026f88 nop                       |                 
                                         |             }
    0x00026f8c lw v0, 0x30(s1)           |             v0 = *((s1 + 12));
    0x00026f90 lw t1, (s1)               |             t1 = *(s1);
    0x00026f94 lw t0, 4(s1)              |             t0 = *((s1 + 1));
    0x00026f98 lw a3, 0xc(s1)            |             a3 = *((s1 + 3));
    0x00026f9c lw a2, 0x14(s1)           |             a2 = *((s1 + 5));
    0x00026fa0 sw v0, 0x30(s0)           |             *((s0 + 12)) = v0;
    0x00026fa4 lw a1, 0x24(s1)           |             a1 = *((s1 + 9));
    0x00026fa8 lw v0, 0x2c(s1)           |             v0 = *((s1 + 11));
    0x00026fac lw a0, 0x28(s1)           |             a0 = *((s1 + 10));
    0x00026fb0 lw v1, 0x30(s1)           |             v1 = *((s1 + 12));
    0x00026fb4 lw ra, 0x34(sp)           |             ra = *(var_34h);
    0x00026fb8 sw v0, 0x2c(s0)           |             *((s0 + 11)) = v0;
    0x00026fbc sw s6, 8(s0)              |             *((s0 + 2)) = s6;
    0x00026fc0 sw s5, 0x10(s0)           |             *((s0 + 4)) = s5;
    0x00026fc4 sw s4, 0x18(s0)           |             *((s0 + 6)) = s4;
    0x00026fc8 sw s3, 0x1c(s0)           |             *((s0 + 7)) = s3;
    0x00026fcc sw s2, 0x20(s0)           |             *((s0 + 8)) = s2;
    0x00026fd0 sw t1, (s0)               |             *(s0) = t1;
    0x00026fd4 sw t0, 4(s0)              |             *((s0 + 1)) = t0;
    0x00026fd8 sw a3, 0xc(s0)            |             *((s0 + 3)) = a3;
    0x00026fdc sw a2, 0x14(s0)           |             *((s0 + 5)) = a2;
    0x00026fe0 sw a1, 0x24(s0)           |             *((s0 + 9)) = a1;
    0x00026fe4 sw a0, 0x28(s0)           |             *((s0 + 10)) = a0;
    0x00026fe8 sw v1, 0x30(s0)           |             *((s0 + 12)) = v1;
    0x00026fec lw s6, 0x30(sp)           |             s6 = *(var_30h);
    0x00026ff0 lw s5, 0x2c(sp)           |             s5 = *(var_2ch);
    0x00026ff4 lw s4, 0x28(sp)           |             s4 = *(var_28h);
    0x00026ff8 lw s3, 0x24(sp)           |             s3 = *(var_24h);
    0x00026ffc lw s2, 0x20(sp)           |             s2 = *(var_20h);
    0x00027000 lw s1, 0x1c(sp)           |             s1 = *(var_1ch);
    0x00027004 lw s0, 0x18(sp)           |             s0 = *(var_18h);
    0x00027008 move v0, zero             |             v0 = 0;
    0x0002700c addiu sp, sp, 0x38        |             
    0x00027010 jr ra                     |             return v0;
                                         |         }
    0x00027014 addiu v0, zero, -1        |         v0 = -1;
    0x00027018 jr ra                     |         return v0;
                                         |     }
    0x0002701c addiu v0, zero, -1        |     v0 = -1;
    0x00027020 jr ra                     |     return v0;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x41d20 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlCreateIOParserCtxt ()     | void xmlCreateIOParserCtxt () {
    0x00041d20 lui gp, 0x15                  |     
    0x00041d24 addiu gp, gp, -0x6b0          |     
    0x00041d28 addu gp, gp, t9               |     gp += t9;
    0x00041d2c addiu sp, sp, -0x30           |     
    0x00041d30 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00041d34 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x00041d38 sw s4, 0x28(sp)               |     *(var_28h) = s4;
    0x00041d3c sw s3, 0x24(sp)               |     *(var_24h) = s3;
    0x00041d40 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x00041d44 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x00041d48 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x00041d4c move s1, a3                   |     s1 = a3;
                                             |     if (a2 == 0) {
    0x00041d50 beqz a2, 0x41eb8              |         goto label_1;
                                             |     }
    0x00041d54 lw t9, -0x7d18(gp)            |     t9 = *((gp - 8006));
    0x00041d58 move s0, a0                   |     s0 = a0;
    0x00041d5c lw a3, 0x44(sp)               |     a3 = *(arg_44h);
    0x00041d60 move a0, a2                   |     a0 = a2;
    0x00041d64 lw a2, 0x40(sp)               |     a2 = *(arg_40h);
    0x00041d68 move s2, a1                   |     s2 = a1;
    0x00041d6c move a1, s1                   |     a1 = s1;
    0x00041d70 bal 0x614a4                   |     sym_xmlParserInputBufferCreateIO ();
    0x00041d74 move s3, v0                   |     s3 = v0;
    0x00041d78 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00041d7c beqz v0, 0x41f3c              |         goto label_4;
                                             |     }
    0x00041d80 lw t9, -0x7e44(gp)            |     t9 = *((gp - 8081));
    0x00041d84 bal 0x2a8b8                   |     sym_xmlNewParserCtxt ();
    0x00041d88 nop                           |     
    0x00041d8c move s1, v0                   |     s1 = v0;
    0x00041d90 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00041d94 beqz v0, 0x41f94              |         goto label_5;
                                             |     }
    0x00041d98 lw t9, -0x70ec(gp)            |     t9 = *((gp - 7227));
                                             |     if (s0 == 0) {
    0x00041d9c beqz s0, 0x41e68              |         goto label_6;
                                             |     }
    0x00041da0 lw s4, (v0)                   |     s4 = *(v0);
    0x00041da4 jalr t9                       |     t9 ();
    0x00041da8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s4 != v0) {
    0x00041dac beq s4, v0, 0x41dc4           |         
    0x00041db0 lw v0, -0x7158(gp)            |         v0 = *(gp);
    0x00041db4 lw t9, (v0)                   |         t9 = *(v0);
    0x00041db8 lw a0, (s1)                   |         a0 = *(s1);
    0x00041dbc jalr t9                       |         t9 ();
    0x00041dc0 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |     }
    0x00041dc4 lw v0, -0x716c(gp)            |     v0 = *(gp);
    0x00041dc8 lw t9, (v0)                   |     t9 = *(v0);
    0x00041dcc addiu a0, zero, 0x80          |     a0 = 0x80;
    0x00041dd0 jalr t9                       |     t9 ();
    0x00041dd4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00041dd8 sw v0, (s1)                   |     *(s1) = v0;
                                             |     if (v0 == 0) {
    0x00041ddc beqz v0, 0x41f68              |         goto label_7;
                                             |     }
    0x00041de0 lw t9, -0x6ea4(gp)            |     t9 = *((gp - 7081));
    0x00041de4 move a0, v0                   |     a0 = v0;
    0x00041de8 addiu a2, zero, 0x80          |     a2 = 0x80;
    0x00041dec move a1, zero                 |     a1 = 0;
    0x00041df0 jalr t9                       |     t9 ();
    0x00041df4 lui v0, 0xdeed                |     v0 = 0xdeed0000;
    0x00041df8 lw v1, 0x6c(s0)               |     v1 = *((s0 + 27));
    0x00041dfc ori v0, v0, 0xbeaf            |     v0 |= 0xbeaf;
    0x00041e00 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00041e04 move a0, s0                   |     a0 = s0;
                                             |     if (v1 == v0) {
    0x00041e08 beq v1, v0, 0x41ee0           |         goto label_8;
                                             |     }
    0x00041e0c lw v0, (s1)                   |     v0 = *(s1);
    0x00041e10 addiu t0, s0, 0x70            |     t0 = s0 + 0x70;
                                             |     do {
    0x00041e14 lwl a3, 3(a0)                 |         __asm ("lwl a3, 3(a0)");
    0x00041e18 lwl a2, 7(a0)                 |         __asm ("lwl a2, 7(a0)");
    0x00041e1c lwl a1, 0xb(a0)               |         __asm ("lwl a1, 0xb(a0)");
    0x00041e20 lwl v1, 0xf(a0)               |         __asm ("lwl v1, 0xf(a0)");
    0x00041e24 lwr a3, (a0)                  |         __asm ("lwr a3, (a0)");
    0x00041e28 lwr a2, 4(a0)                 |         __asm ("lwr a2, 4(a0)");
    0x00041e2c lwr v1, 0xc(a0)               |         __asm ("lwr v1, 0xc(a0)");
    0x00041e30 lwr a1, 8(a0)                 |         __asm ("lwr a1, 8(a0)");
    0x00041e34 swl a3, 3(v0)                 |         __asm ("swl a3, 3(v0)");
    0x00041e38 swr a3, (v0)                  |         __asm ("swr a3, (v0)");
    0x00041e3c swl a2, 7(v0)                 |         __asm ("swl a2, 7(v0)");
    0x00041e40 swr a2, 4(v0)                 |         __asm ("swr a2, 4(v0)");
    0x00041e44 swl a1, 0xb(v0)               |         __asm ("swl a1, 0xb(v0)");
    0x00041e48 swr a1, 8(v0)                 |         __asm ("swr a1, 8(v0)");
    0x00041e4c addiu a0, a0, 0x10            |         a0 += 0x10;
    0x00041e50 swl v1, 0xf(v0)               |         __asm ("swl v1, 0xf(v0)");
    0x00041e54 swr v1, 0xc(v0)               |         __asm ("swr v1, 0xc(v0)");
    0x00041e58 addiu v0, v0, 0x10            |         v0 += 0x10;
    0x00041e5c bne a0, t0, 0x41e14           |         
                                             |     } while (a0 != t0);
                                             | label_0:
    0x00041e60 sw s2, 4(s1)                  |     *((s1 + 1)) = s2;
                                             |     if (s2 != 0) {
    0x00041e64 bnel s2, zero, 0x41e68        |         
                                             |     }
                                             | label_6:
    0x00041e68 lw t9, -0x7d14(gp)            |     t9 = *(gp);
    0x00041e6c lw a2, 0x44(sp)               |     a2 = *(arg_44h);
    0x00041e70 move a1, s3                   |     a1 = s3;
    0x00041e74 move a0, s1                   |     a0 = s1;
    0x00041e78 bal 0x29d48                   |     sym_xmlNewIOInputStream ();
    0x00041e7c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00041e80 beqz v0, 0x41f54              |         goto label_9;
                                             |     }
    0x00041e84 lw t9, -0x7e3c(gp)            |     t9 = *((gp - 8079));
    0x00041e88 move a1, v0                   |     a1 = v0;
    0x00041e8c move a0, s1                   |     a0 = s1;
    0x00041e90 bal 0x2e410                   |     sym_inputPush ();
                                             | label_2:
    0x00041e94 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             | label_3:
    0x00041e98 move v0, s1                   |     v0 = s1;
    0x00041e9c lw s4, 0x28(sp)               |     s4 = *(var_28h);
    0x00041ea0 lw s3, 0x24(sp)               |     s3 = *(var_24h);
    0x00041ea4 lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x00041ea8 lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x00041eac lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x00041eb0 addiu sp, sp, 0x30            |     
    0x00041eb4 jr ra                         |     return v0;
                                             | label_1:
    0x00041eb8 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x00041ebc move s1, zero                 |     s1 = 0;
    0x00041ec0 move v0, s1                   |     v0 = s1;
    0x00041ec4 lw s4, 0x28(sp)               |     s4 = *(var_28h);
    0x00041ec8 lw s3, 0x24(sp)               |     s3 = *(var_24h);
    0x00041ecc lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x00041ed0 lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x00041ed4 lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x00041ed8 addiu sp, sp, 0x30            |     
    0x00041edc jr ra                         |     return v0;
                                             | label_8:
    0x00041ee0 lw v0, (s1)                   |     v0 = *(s1);
    0x00041ee4 addiu t0, s0, 0x80            |     t0 = s0 + 0x80;
                                             |     do {
    0x00041ee8 lwl a3, 3(a0)                 |         __asm ("lwl a3, 3(a0)");
    0x00041eec lwl a2, 7(a0)                 |         __asm ("lwl a2, 7(a0)");
    0x00041ef0 lwl a1, 0xb(a0)               |         __asm ("lwl a1, 0xb(a0)");
    0x00041ef4 lwl v1, 0xf(a0)               |         __asm ("lwl v1, 0xf(a0)");
    0x00041ef8 lwr a3, (a0)                  |         __asm ("lwr a3, (a0)");
    0x00041efc lwr a2, 4(a0)                 |         __asm ("lwr a2, 4(a0)");
    0x00041f00 lwr v1, 0xc(a0)               |         __asm ("lwr v1, 0xc(a0)");
    0x00041f04 lwr a1, 8(a0)                 |         __asm ("lwr a1, 8(a0)");
    0x00041f08 swl a3, 3(v0)                 |         __asm ("swl a3, 3(v0)");
    0x00041f0c swr a3, (v0)                  |         __asm ("swr a3, (v0)");
    0x00041f10 swl a2, 7(v0)                 |         __asm ("swl a2, 7(v0)");
    0x00041f14 swr a2, 4(v0)                 |         __asm ("swr a2, 4(v0)");
    0x00041f18 swl a1, 0xb(v0)               |         __asm ("swl a1, 0xb(v0)");
    0x00041f1c swr a1, 8(v0)                 |         __asm ("swr a1, 8(v0)");
    0x00041f20 addiu a0, a0, 0x10            |         a0 += 0x10;
    0x00041f24 swl v1, 0xf(v0)               |         __asm ("swl v1, 0xf(v0)");
    0x00041f28 swr v1, 0xc(v0)               |         __asm ("swr v1, 0xc(v0)");
    0x00041f2c addiu v0, v0, 0x10            |         v0 += 0x10;
    0x00041f30 bne a0, t0, 0x41ee8           |         
                                             |     } while (a0 != t0);
    0x00041f34 b 0x41e60                     |     goto label_0;
    0x00041f38 nop                           |     
                                             | label_4:
    0x00041f3c move t9, s1                   |     t9 = s1;
                                             |     if (s1 == 0) {
    0x00041f40 beqz s1, 0x41eb8              |         goto label_1;
                                             |     }
    0x00041f44 lw a0, 0x40(sp)               |     a0 = *(arg_40h);
    0x00041f48 jalr t9                       |     t9 ();
    0x00041f4c move s1, zero                 |     s1 = 0;
    0x00041f50 b 0x41e94                     |     goto label_2;
                                             | label_9:
    0x00041f54 lw t9, -0x7e38(gp)            |     t9 = *((gp - 8078));
    0x00041f58 move a0, s1                   |     a0 = s1;
    0x00041f5c bal 0x2a890                   |     sym_xmlFreeParserCtxt ();
    0x00041f60 move s1, zero                 |     s1 = 0;
    0x00041f64 b 0x41e94                     |     goto label_2;
                                             | label_7:
    0x00041f68 lw t9, -0x7ed4(gp)            |     t9 = *((gp - 8117));
    0x00041f6c move a0, s1                   |     a0 = s1;
    0x00041f70 move a1, zero                 |     a1 = 0;
    0x00041f74 bal 0x2807c                   |     sym_xmlErrMemory ();
    0x00041f78 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00041f7c move a0, s1                   |     a0 = s1;
    0x00041f80 lw t9, -0x7e38(gp)            |     t9 = *((gp - 8078));
    0x00041f84 move s1, zero                 |     s1 = 0;
    0x00041f88 bal 0x2a890                   |     sym_xmlFreeParserCtxt ();
    0x00041f8c lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x00041f90 b 0x41e98                     |     goto label_3;
                                             | label_5:
    0x00041f94 lw t9, -0x7ee8(gp)            |     t9 = *(gp);
    0x00041f98 move a0, s3                   |     a0 = s3;
    0x00041f9c bal 0x60e48                   |     sym_xmlFreeParserInputBuffer ();
    0x00041fa0 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x00041fa4 b 0x41e98                     |     goto label_3;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x22878 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlDetectCharEncoding ()     | void xmlDetectCharEncoding () {
                                             |     if (a0 == 0) {
    0x00022878 beqz a0, 0x228c4              |         goto label_0;
                                             |     }
    0x0002287c nop                           |     
    0x00022880 slti v0, a1, 4                |     v0 = (a1 < 4) ? 1 : 0;
    0x00022884 addiu v0, zero, 3             |     v0 = 3;
                                             |     if (v0 != 0) {
    0x00022888 bnez v0, 0x228cc              |         goto label_2;
                                             |     }
    0x0002288c lbu v0, (a0)                  |     v0 = *(a0);
    0x00022890 addiu v1, zero, 0x3c          |     v1 = 0x3c;
                                             |     if (v0 != 0) {
    0x00022894 bnez v0, 0x228fc              |         goto label_3;
                                             |     }
    0x00022898 lbu v0, 1(a0)                 |     v0 = *((a0 + 1));
                                             |     if (v0 != 0) {
    0x0002289c bnez v0, 0x22930              |         goto label_4;
                                             |     }
    0x000228a0 nop                           |     
    0x000228a4 lbu v0, 2(a0)                 |     v0 = *((a0 + 2));
                                             |     if (v0 == 0) {
    0x000228a8 bnez v0, 0x228bc              |         
    0x000228ac nop                           |         
    0x000228b0 lbu a1, 3(a0)                 |         a1 = *((a0 + 3));
                                             |         if (a1 == v1) {
    0x000228b4 beq a1, v1, 0x22a44           |             goto label_5;
                                             |         }
    0x000228b8 nop                           |         
                                             |     }
                                             |     if (v0 == v1) {
    0x000228bc beql v0, v1, 0x22a2c          |         goto label_6;
                                             |     }
    0x000228c0 lbu v0, 3(a0)                 |     v0 = *((a0 + 3));
                                             |     do {
                                             | label_0:
    0x000228c4 move v0, zero                 |         v0 = 0;
    0x000228c8 jr ra                         |         return v0;
                                             | label_2:
    0x000228cc addiu v0, zero, 2             |         v0 = 2;
                                             |         if (a1 == v0) {
    0x000228d0 beq a1, v0, 0x229d4           |             goto label_7;
                                             |         }
    0x000228d4 addiu v1, zero, 0xfe          |         v1 = 0xfe;
    0x000228d8 bne a1, v0, 0x228c4           |         
                                             |     } while (a1 != v0);
    0x000228dc lbu v0, (a0)                  |     v0 = *(a0);
                                             | label_1:
    0x000228e0 addiu v1, zero, 3             |     v1 = 3;
                                             |     if (v0 != v1) {
    0x000228e4 bne v0, v1, 0x229b4           |         goto label_8;
                                             |     }
    0x000228e8 lbu v0, 1(a0)                 |     v0 = *((a0 + 1));
    0x000228ec xori v0, v0, 0xff             |     v0 ^= 0xff;
                                             |     if (v0 == 0) {
    0x000228f0 movn v1, zero, v0             |         v1 = 0;
                                             |     }
    0x000228f4 move v0, v1                   |     v0 = v1;
    0x000228f8 jr ra                         |     return v0;
                                             | label_3:
    0x000228fc addiu v1, zero, 0x4c          |     v1 = 0x4c;
                                             |     if (v0 == v1) {
    0x00022900 bnel v0, v1, 0x22960          |         goto label_9;
                                             |     }
    0x00022904 lbu v0, 1(a0)                 |     v0 = *((a0 + 1));
    0x00022908 addiu v1, zero, 0x3f          |     v1 = 0x3f;
                                             |     if (v0 != 0) {
    0x0002290c bnez v0, 0x22a04              |         goto label_10;
                                             |     }
    0x00022910 lbu v0, 2(a0)                 |     v0 = *((a0 + 2));
                                             |     if (v0 != 0) {
    0x00022914 bnez v0, 0x2299c              |         goto label_11;
                                             |     }
    0x00022918 nop                           |     
    0x0002291c lbu v1, 3(a0)                 |     v1 = *((a0 + 3));
    0x00022920 addiu v1, zero, 0x3f          |     v1 = 0x3f;
                                             |     if (v1 != 0) {
    0x00022924 bnez v1, 0x2299c              |         goto label_11;
                                             |     }
    0x00022928 addiu v0, zero, 4             |     v0 = 4;
    0x0002292c jr ra                         |     return v0;
                                             |     if (v0 != v1) {
                                             | label_4:
    0x00022930 bne v0, v1, 0x228c4           |         goto label_0;
                                             |     }
    0x00022934 nop                           |     
    0x00022938 lbu v0, 2(a0)                 |     v0 = *((a0 + 2));
                                             |     if (v0 != 0) {
    0x0002293c bnez v0, 0x22a3c              |         goto label_12;
                                             |     }
    0x00022940 nop                           |     
    0x00022944 lbu v0, 3(a0)                 |     v0 = *((a0 + 3));
    0x00022948 addiu v1, zero, 3             |     v1 = 3;
                                             |     if (v0 == 0) {
    0x0002294c beqz v0, 0x22a4c              |         goto label_13;
                                             |     }
    0x00022950 xori v0, v0, 0x3f             |     v0 ^= 0x3f;
                                             |     if (v0 == 0) {
    0x00022954 movn v1, zero, v0             |         v1 = 0;
                                             |     }
    0x00022958 move v0, v1                   |     v0 = v1;
    0x0002295c jr ra                         |     return v0;
                                             | label_9:
    0x00022960 addiu v1, zero, 0xef          |     v1 = 0xef;
                                             |     if (v0 != v1) {
    0x00022964 bne v0, v1, 0x229dc           |         goto label_14;
                                             |     }
    0x00022968 lbu v1, 1(a0)                 |     v1 = *((a0 + 1));
    0x0002296c addiu v0, zero, 0x6f          |     v0 = 0x6f;
                                             |     if (v1 != v0) {
    0x00022970 bne v1, v0, 0x228c4           |         goto label_0;
                                             |     }
    0x00022974 nop                           |     
    0x00022978 lbu v1, 2(a0)                 |     v1 = *((a0 + 2));
    0x0002297c addiu v0, zero, 0xa7          |     v0 = 0xa7;
    0x00022980 addiu v1, zero, 6             |     v1 = 6;
                                             |     if (v1 != v0) {
    0x00022984 bne v1, v0, 0x228c4           |         goto label_0;
                                             |     }
    0x00022988 lbu v0, 3(a0)                 |     v0 = *((a0 + 3));
    0x0002298c xori v0, v0, 0x94             |     v0 ^= 0x94;
                                             |     if (v0 == 0) {
    0x00022990 movn v1, zero, v0             |         v1 = 0;
                                             |     }
    0x00022994 move v0, v1                   |     v0 = v1;
    0x00022998 jr ra                         |     return v0;
                                             | label_11:
    0x0002299c addiu v1, zero, 2             |     v1 = 2;
                                             |     if (v0 != v1) {
    0x000229a0 bne v0, v1, 0x228c4           |         goto label_0;
                                             |     }
    0x000229a4 lbu v0, 3(a0)                 |     v0 = *((a0 + 3));
                                             |     if (v0 == 0) {
    0x000229a8 movn v1, zero, v0             |         v1 = 0;
                                             |     }
    0x000229ac move v0, v1                   |     v0 = v1;
    0x000229b0 jr ra                         |     return v0;
                                             | label_8:
    0x000229b4 addiu v1, zero, 0xff          |     v1 = 0xff;
    0x000229b8 addiu v1, zero, 2             |     v1 = 2;
                                             |     if (v0 != v1) {
    0x000229bc bne v0, v1, 0x228c4           |         goto label_0;
                                             |     }
    0x000229c0 lbu v0, 1(a0)                 |     v0 = *((a0 + 1));
    0x000229c4 xori v0, v0, 0xfe             |     v0 ^= 0xfe;
                                             |     if (v0 == 0) {
    0x000229c8 movn v1, zero, v0             |         v1 = 0;
                                             |     }
    0x000229cc move v0, v1                   |     v0 = v1;
    0x000229d0 jr ra                         |     return v0;
                                             | label_7:
    0x000229d4 lbu v0, (a0)                  |     v0 = *(a0);
    0x000229d8 addiu v1, zero, 0xef          |     v1 = 0xef;
                                             | label_14:
    0x000229dc addiu v1, zero, 0xfe          |     v1 = 0xfe;
                                             |     if (v0 != v1) {
    0x000229e0 bne v0, v1, 0x228e0           |         goto label_1;
                                             |     }
    0x000229e4 lbu v1, 1(a0)                 |     v1 = *((a0 + 1));
    0x000229e8 addiu v0, zero, 0xbb          |     v0 = 0xbb;
                                             |     if (v1 != v0) {
    0x000229ec bne v1, v0, 0x228c4           |         goto label_0;
                                             |     }
    0x000229f0 nop                           |     
    0x000229f4 lbu v0, 2(a0)                 |     v0 = *((a0 + 2));
    0x000229f8 xori v0, v0, 0xbf             |     v0 ^= 0xbf;
    0x000229fc sltiu v0, v0, 1               |     v0 = (v0 < 1) ? 1 : 0;
    0x00022a00 jr ra                         |     return v0;
                                             |     if (v0 != v1) {
                                             | label_10:
    0x00022a04 bne v0, v1, 0x228c4           |         goto label_0;
                                             |     }
    0x00022a08 nop                           |     
    0x00022a0c lbu v1, 2(a0)                 |     v1 = *((a0 + 2));
    0x00022a10 addiu v0, zero, 0x78          |     v0 = 0x78;
                                             |     if (v1 != v0) {
    0x00022a14 bne v1, v0, 0x228c4           |         goto label_0;
                                             |     }
    0x00022a18 nop                           |     
    0x00022a1c lbu v0, 3(a0)                 |     v0 = *((a0 + 3));
    0x00022a20 xori v0, v0, 0x6d             |     v0 ^= 0x6d;
    0x00022a24 sltiu v0, v0, 1               |     v0 = (v0 < 1) ? 1 : 0;
    0x00022a28 jr ra                         |     return v0;
                                             | label_6:
    0x00022a2c addiu v1, zero, 7             |     v1 = 7;
                                             |     if (v0 == 0) {
    0x00022a30 movn v1, zero, v0             |         v1 = 0;
                                             |     }
    0x00022a34 move v0, v1                   |     v0 = v1;
    0x00022a38 jr ra                         |     return v0;
                                             | label_12:
    0x00022a3c move v0, zero                 |     v0 = 0;
    0x00022a40 jr ra                         |     return v0;
                                             | label_5:
    0x00022a44 addiu v0, zero, 5             |     v0 = 5;
    0x00022a48 jr ra                         |     return v0;
                                             | label_13:
    0x00022a4c addiu v0, zero, 8             |     v0 = 8;
    0x00022a50 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xc86c8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlExpStringDerive ()        | void xmlExpStringDerive () {
    0x000c86c8 lui gp, 0xd                   |     
    0x000c86cc addiu gp, gp, -0x7058         |     
    0x000c86d0 addu gp, gp, t9               |     gp += t9;
                                             |     if (a1 != 0) {
    0x000c86d4 beqz a1, 0xc8768              |         
    0x000c86d8 nop                           |         
                                             |         if (a0 == 0) {
    0x000c86dc beqz a0, 0xc8768              |             goto label_0;
                                             |         }
    0x000c86e0 nop                           |         
    0x000c86e4 lw t9, -0x757c(gp)            |         t9 = *((gp - 7519));
                                             |         if (a2 == 0) {
    0x000c86e8 beqz a2, 0xc8770              |             goto label_1;
                                             |         }
    0x000c86ec addiu sp, sp, -0x28           |         
    0x000c86f0 move v0, a2                   |         v0 = a2;
    0x000c86f4 sw s0, 0x1c(sp)               |         *(var_1ch) = s0;
    0x000c86f8 move s0, a0                   |         s0 = a0;
    0x000c86fc lw a0, (a0)                   |         a0 = *(a0);
    0x000c8700 sw gp, 0x10(sp)               |         *(var_10h) = gp;
    0x000c8704 sw s1, 0x20(sp)               |         *(var_20h) = s1;
    0x000c8708 sw ra, 0x24(sp)               |         *(var_24h) = ra;
    0x000c870c move s1, a1                   |         s1 = a1;
    0x000c8710 move a2, a3                   |         a2 = a3;
    0x000c8714 move a1, v0                   |         a1 = v0;
    0x000c8718 jalr t9                       |         t9 ();
    0x000c871c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x000c8720 beqz v0, 0xc874c              |             
    0x000c8724 lw t9, -0x7614(gp)            |             t9 = *((gp - 7557));
    0x000c8728 lw ra, 0x24(sp)               |             ra = *(var_24h);
    0x000c872c move a1, s1                   |             a1 = s1;
    0x000c8730 move a0, s0                   |             a0 = s0;
    0x000c8734 lw s1, 0x20(sp)               |             s1 = *(var_20h);
    0x000c8738 lw s0, 0x1c(sp)               |             s0 = *(var_1ch);
    0x000c873c move a2, v0                   |             a2 = v0;
    0x000c8740 addiu t9, t9, 0x6ba8          |             t9 += 0x6ba8;
    0x000c8744 addiu sp, sp, 0x28            |             
    0x000c8748 b 0xc6ba8                     |             void (*0xc6ba8)() ();
                                             |         }
    0x000c874c lw v0, -0x6f6c(gp)            |         v0 = *(gp);
    0x000c8750 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x000c8754 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x000c8758 lw v0, (v0)                   |         v0 = *(v0);
    0x000c875c lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x000c8760 addiu sp, sp, 0x28            |         
    0x000c8764 jr ra                         |         return v0;
                                             |     }
                                             | label_0:
    0x000c8768 move v0, zero                 |     v0 = 0;
    0x000c876c jr ra                         |     return v0;
                                             | label_1:
    0x000c8770 move v0, zero                 |     v0 = 0;
    0x000c8774 jr ra                         |     return v0;
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x23a30 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlFindCharEncodingHandler ()        | void xmlFindCharEncodingHandler () {
                                                     | label_3:
    0x00023a30 lui gp, 0x17                          |     
    0x00023a34 addiu gp, gp, -0x23c0                 |     
    0x00023a38 addu gp, gp, t9                       |     gp += t9;
    0x00023a3c addiu sp, sp, -0xa8                   |     
    0x00023a40 sw s5, 0x94(sp)                       |     *(var_94h) = s5;
    0x00023a44 sw s4, 0x90(sp)                       |     *(var_90h) = s4;
    0x00023a48 lw s5, -0x7fe4(gp)                    |     s5 = *((gp - 8185));
    0x00023a4c lw s4, -0x7000(gp)                    |     s4 = *((gp - 7168));
    0x00023a50 sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x00023a54 lw v0, -0x56f8(s5)                    |     v0 = *((s5 - 5566));
    0x00023a58 lw v1, (s4)                           |     v1 = *(s4);
    0x00023a5c sw s3, 0x8c(sp)                       |     *(var_8ch) = s3;
    0x00023a60 sw ra, 0xa4(sp)                       |     *(var_a4h) = ra;
    0x00023a64 sw fp, 0xa0(sp)                       |     *(var_a0h) = fp;
    0x00023a68 sw s7, 0x9c(sp)                       |     *(var_9ch) = s7;
    0x00023a6c sw s6, 0x98(sp)                       |     *(var_98h) = s6;
    0x00023a70 sw s2, 0x88(sp)                       |     *(var_88h) = s2;
    0x00023a74 sw s1, 0x84(sp)                       |     *(var_84h) = s1;
    0x00023a78 sw s0, 0x80(sp)                       |     *(var_80h) = s0;
    0x00023a7c move s3, a0                           |     s3 = a0;
    0x00023a80 sw v1, 0x7c(sp)                       |     *(var_7ch) = v1;
    0x00023a84 lw t9, -0x7f6c(gp)                    |     t9 = *((gp - 8155));
                                                     |     if (v0 == 0) {
    0x00023a88 beqz v0, 0x23c4c                      |         goto label_8;
                                                     |     }
                                                     | label_2:
    0x00023a8c lw v0, -0x7fe4(gp)                    |     v0 = *((gp - 8185));
                                                     |     if (s3 == 0) {
    0x00023a90 beqz s3, 0x23b98                      |         goto label_9;
                                                     |     }
    0x00023a94 lb s0, (s3)                           |     s0 = *(s3);
    0x00023a98 lw t9, -0x7f70(gp)                    |     t9 = *(gp);
                                                     |     if (s0 == 0) {
    0x00023a9c beqz s0, 0x23b98                      |         goto label_9;
                                                     |     }
    0x00023aa0 move a0, s3                           |     a0 = s3;
    0x00023aa4 bal 0x22a84                           |     sym_xmlGetEncodingAlias ();
    0x00023aa8 move s1, v0                           |     s1 = v0;
    0x00023aac lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 == 0) {
    0x00023ab0 beqz v0, 0x23c44                      |         goto label_10;
                                                     |     }
    0x00023ab4 lb s0, (v0)                           |     s0 = *(v0);
                                                     | label_1:
    0x00023ab8 lw t9, -0x6f14(gp)                    |     t9 = *((gp - 7109));
    0x00023abc addiu s2, sp, 0x18                    |     s2 = sp + 0x18;
    0x00023ac0 jalr t9                               |     t9 ();
    0x00023ac4 lw a1, (v0)                           |     a1 = *(v0);
    0x00023ac8 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00023acc move a0, s2                           |     a0 = s2;
    0x00023ad0 move v1, zero                         |     v1 = 0;
    0x00023ad4 addiu a2, zero, 0x63                  |     a2 = 0x63;
    0x00023ad8 b 0x23af0                             |     
                                                     |     while (v0 != 0) {
    0x00023adc addiu v1, v1, 1                       |         v1++;
    0x00023ae0 addiu a0, a0, 1                       |         a0++;
                                                     |         if (v1 == a2) {
    0x00023ae4 beq v1, a2, 0x23b04                   |             goto label_11;
                                                     |         }
    0x00023ae8 addu v0, s1, v1                       |         v0 = s1 + v1;
    0x00023aec lb s0, (v0)                           |         s0 = *(v0);
    0x00023af0 sll v0, s0, 2                         |         v0 = s0 << 2;
    0x00023af4 lwx v0, v0(a1)                        |         __asm ("lwx v0, v0(a1)");
    0x00023af8 seb v0, v0                            |         __asm ("seb v0, v0");
    0x00023afc sb v0, (a0)                           |         *(a0) = v0;
    0x00023b00 bnez v0, 0x23adc                      |         
                                                     |     }
                                                     | label_11:
    0x00023b04 addiu v0, sp, 0x80                    |     v0 = sp + 0x80;
    0x00023b08 addu v1, v0, v1                       |     v1 = v0 + v1;
    0x00023b0c lw s0, -0x56f8(s5)                    |     s0 = *((s5 - 5566));
    0x00023b10 sb zero, -0x68(v1)                    |     *((v1 - 104)) = 0;
                                                     |     if (s0 == 0) {
    0x00023b14 beqz s0, 0x23ba0                      |         goto label_12;
                                                     |     }
    0x00023b18 lw v0, -0x7fe4(gp)                    |     v0 = *((gp - 8185));
    0x00023b1c lw s7, -0x56fc(v0)                    |     s7 = *((v0 - 5567));
                                                     |     if (s7 <= 0) {
    0x00023b20 blezl s7, 0x23ba4                     |         goto label_13;
                                                     |     }
    0x00023b24 lw s0, -0x7fd4(gp)                    |     s0 = *(gp);
    0x00023b28 move s5, zero                         |     s5 = 0;
    0x00023b2c b 0x23b3c                             |     
                                                     |     while (v0 != 0) {
    0x00023b30 addiu s5, s5, 1                       |         s5++;
    0x00023b34 addiu s0, s0, 4                       |         s0 += 4;
                                                     |         if (s5 == s7) {
    0x00023b38 beq s5, s7, 0x23ba0                   |             goto label_12;
                                                     |         }
    0x00023b3c lw s6, (s0)                           |         s6 = *(s0);
    0x00023b40 lw t9, -0x7140(gp)                    |         t9 = *(gp);
    0x00023b44 move a0, s2                           |         a0 = s2;
    0x00023b48 lw a1, (s6)                           |         a1 = *(s6);
    0x00023b4c jalr t9                               |         t9 ();
    0x00023b50 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00023b54 bnez v0, 0x23b30                      |         
                                                     |     }
                                                     |     do {
                                                     | label_0:
    0x00023b58 lw a0, 0x7c(sp)                       |         a0 = *(var_7ch);
    0x00023b5c lw v1, (s4)                           |         v1 = *(s4);
    0x00023b60 move v0, s6                           |         v0 = s6;
                                                     |         if (a0 != v1) {
    0x00023b64 bne a0, v1, 0x23d88                   |             goto label_14;
                                                     |         }
    0x00023b68 lw ra, 0xa4(sp)                       |         ra = *(var_a4h);
    0x00023b6c lw fp, 0xa0(sp)                       |         fp = *(var_a0h);
    0x00023b70 lw s7, 0x9c(sp)                       |         s7 = *(var_9ch);
    0x00023b74 lw s6, 0x98(sp)                       |         s6 = *(var_98h);
    0x00023b78 lw s5, 0x94(sp)                       |         s5 = *(var_94h);
    0x00023b7c lw s4, 0x90(sp)                       |         s4 = *(var_90h);
    0x00023b80 lw s3, 0x8c(sp)                       |         s3 = *(var_8ch);
    0x00023b84 lw s2, 0x88(sp)                       |         s2 = *(var_88h);
    0x00023b88 lw s1, 0x84(sp)                       |         s1 = *(var_84h);
    0x00023b8c lw s0, 0x80(sp)                       |         s0 = *(var_80h);
    0x00023b90 addiu sp, sp, 0xa8                    |         
    0x00023b94 jr ra                                 |         return v0;
                                                     | label_9:
    0x00023b98 lw s6, -0x5700(v0)                    |         s6 = *((v0 - 5568));
    0x00023b9c b 0x23b58                             |         
                                                     |     } while (1);
                                                     | label_12:
    0x00023ba0 lw s0, -0x7fd4(gp)                    |     s0 = *(gp);
                                                     | label_13:
    0x00023ba4 lw t9, -0x6f7c(gp)                    |     t9 = *(gp);
    0x00023ba8 move a1, s1                           |     a1 = s1;
    0x00023bac addiu a0, s0, 0x6150                  |     a0 = s0 + 0x6150;
    0x00023bb0 jalr t9                               |     t9 ();
    0x00023bb4 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00023bb8 addiu a1, s0, 0x6150                  |     a1 = s0 + 0x6150;
    0x00023bbc move a0, s1                           |     a0 = s1;
    0x00023bc0 lw t9, -0x6f7c(gp)                    |     t9 = *(gp);
    0x00023bc4 move s7, v0                           |     s7 = v0;
    0x00023bc8 addiu s5, zero, -1                    |     s5 = -1;
    0x00023bcc jalr t9                               |     t9 ();
    0x00023bd0 move fp, v0                           |     fp = v0;
    0x00023bd4 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (s7 == s5) {
    0x00023bd8 beq s7, s5, 0x23c5c                   |         goto label_15;
                                                     |     }
    0x00023bdc lw t9, -0x6f7c(gp)                    |     t9 = *(gp);
                                                     |     if (v0 == s5) {
    0x00023be0 beq v0, s5, 0x23d60                   |         goto label_16;
                                                     |     }
    0x00023be4 lw v0, -0x716c(gp)                    |     v0 = *(gp);
                                                     |     do {
                                                     | label_4:
    0x00023be8 lw t9, (v0)                           |         t9 = *(v0);
    0x00023bec addiu a0, zero, 0x14                  |         a0 = 0x14;
    0x00023bf0 jalr t9                               |         t9 ();
    0x00023bf4 move s6, v0                           |         s6 = v0;
    0x00023bf8 lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v0 == 0) {
    0x00023bfc beqz v0, 0x23d0c                      |             goto label_17;
                                                     |         }
    0x00023c00 lw t9, -0x6ea4(gp)                    |         t9 = *((gp - 7081));
    0x00023c04 addiu a2, zero, 0x14                  |         a2 = 0x14;
    0x00023c08 move a1, zero                         |         a1 = 0;
    0x00023c0c move a0, v0                           |         a0 = v0;
    0x00023c10 jalr t9                               |         t9 ();
    0x00023c14 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00023c18 lw v0, -0x6e34(gp)                    |         v0 = *(gp);
    0x00023c1c lw t9, (v0)                           |         t9 = *(v0);
    0x00023c20 move a0, s1                           |         a0 = s1;
    0x00023c24 jalr t9                               |         t9 ();
    0x00023c28 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00023c2c sw v0, (s6)                           |         *(s6) = v0;
    0x00023c30 sw zero, 4(s6)                        |         *((s6 + 1)) = 0;
    0x00023c34 sw zero, 8(s6)                        |         *((s6 + 2)) = 0;
    0x00023c38 sw s7, 0xc(s6)                        |         *((s6 + 3)) = s7;
    0x00023c3c sw fp, 0x10(s6)                       |         *((s6 + 4)) = fp;
    0x00023c40 b 0x23b58                             |         goto label_0;
                                                     | label_10:
    0x00023c44 move s1, s3                           |         s1 = s3;
    0x00023c48 b 0x23ab8                             |         goto label_1;
                                                     | label_8:
    0x00023c4c bal 0x23870                           |         sym_xmlInitCharEncodingHandlers ();
    0x00023c50 nop                                   |         
    0x00023c54 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00023c58 b 0x23a8c                             |         goto label_2;
                                                     | label_15:
    0x00023c5c lw t9, -0x6f7c(gp)                    |         t9 = *(gp);
    0x00023c60 move a1, s2                           |         a1 = s2;
    0x00023c64 addiu a0, s0, 0x6150                  |         a0 = s0 + 0x6150;
    0x00023c68 jalr t9                               |         t9 ();
    0x00023c6c move s7, v0                           |         s7 = v0;
    0x00023c70 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00023c74 addiu s6, zero, -1                    |         s6 = -1;
                                                     |         if (fp == s5) {
    0x00023c78 beq fp, s5, 0x23d30                   |             goto label_18;
                                                     |         }
    0x00023c7c lw v0, -0x716c(gp)                    |         v0 = *(gp);
    0x00023c80 bne v0, s5, 0x23be8                   |         
                                                     |     } while (v0 != s5);
    0x00023c84 lw a1, -0x7fd4(gp)                    |     a1 = *(gp);
                                                     |     do {
                                                     | label_7:
    0x00023c88 lw t9, -0x7fdc(gp)                    |         t9 = *((gp - 8183));
    0x00023c8c move a2, s1                           |         a2 = s1;
    0x00023c90 addiu a1, a1, 0x63c0                  |         a1 += 0x63c0;
    0x00023c94 addiu t9, t9, 0x2408                  |         t9 += 0x2408;
    0x00023c98 addiu a0, zero, 1                     |         a0 = 1;
    0x00023c9c bal 0x22408                           |         fcn_00022408 ();
    0x00023ca0 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00023ca4 lw t9, -0x7f60(gp)                    |         t9 = *((gp - 8152));
                                                     | label_6:
    0x00023ca8 move a0, s3                           |         a0 = s3;
    0x00023cac bal 0x22f58                           |         sym_xmlParseCharEncoding ();
    0x00023cb0 addiu v1, zero, -1                    |         v1 = -1;
    0x00023cb4 lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v0 != v1) {
    0x00023cb8 beq v0, v1, 0x23cec                   |             
    0x00023cbc lw t9, -0x7f5c(gp)                    |             t9 = *(gp);
    0x00023cc0 move a0, v0                           |             a0 = v0;
    0x00023cc4 bal 0x23394                           |             sym_xmlGetCharEncodingName ();
    0x00023cc8 move s0, v0                           |             s0 = v0;
    0x00023ccc lw gp, 0x10(sp)                       |             gp = *(var_10h);
                                                     |             if (v0 == 0) {
    0x00023cd0 beqz v0, 0x23cec                      |                 goto label_19;
                                                     |             }
    0x00023cd4 lw t9, -0x7140(gp)                    |             t9 = *(gp);
    0x00023cd8 move a1, v0                           |             a1 = v0;
    0x00023cdc move a0, s1                           |             a0 = s1;
    0x00023ce0 jalr t9                               |             t9 ();
    0x00023ce4 lw gp, 0x10(sp)                       |             gp = *(var_10h);
                                                     |             if (v0 != 0) {
    0x00023ce8 bnez v0, 0x23cf4                      |                 goto label_20;
                                                     |             }
                                                     |         }
                                                     | label_19:
    0x00023cec move s6, zero                         |         s6 = 0;
    0x00023cf0 b 0x23b58                             |         goto label_0;
                                                     | label_20:
    0x00023cf4 lw t9, -0x7f58(gp)                    |         t9 = *((gp - 8150));
    0x00023cf8 move a0, s0                           |         a0 = s0;
    0x00023cfc bal 0x23a30                           |         sym_xmlFindCharEncodingHandler ();
                                                     |         goto label_3;
    0x00023d00 move s6, v0                           |         s6 = v0;
    0x00023d04 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00023d08 b 0x23b58                             |         goto label_0;
                                                     | label_17:
    0x00023d0c lw t9, -0x7144(gp)                    |         t9 = *(gp);
    0x00023d10 move a0, s7                           |         a0 = s7;
    0x00023d14 jalr t9                               |         t9 ();
    0x00023d18 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00023d1c lw t9, -0x7144(gp)                    |         t9 = *(gp);
    0x00023d20 move a0, fp                           |         a0 = fp;
    0x00023d24 jalr t9                               |         t9 ();
    0x00023d28 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00023d2c b 0x23b58                             |         goto label_0;
                                                     | label_18:
    0x00023d30 lw t9, -0x6f7c(gp)                    |         t9 = *(gp);
    0x00023d34 addiu a1, s0, 0x6150                  |         a1 = s0 + 0x6150;
    0x00023d38 move a0, s2                           |         a0 = s2;
    0x00023d3c jalr t9                               |         t9 ();
    0x00023d40 move fp, v0                           |         fp = v0;
    0x00023d44 lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (s7 == s6) {
    0x00023d48 beq s7, s6, 0x23d78                   |             goto label_21;
                                                     |         }
                                                     | label_5:
    0x00023d4c addiu v0, zero, -1                    |         v0 = -1;
    0x00023d50 lw a1, -0x7fd4(gp)                    |         a1 = *(gp);
    0x00023d54 beq fp, v0, 0x23c88                   |         
                                                     |     } while (fp == v0);
    0x00023d58 lw v0, -0x716c(gp)                    |     v0 = *(gp);
    0x00023d5c b 0x23be8                             |     goto label_4;
                                                     | label_16:
    0x00023d60 addiu a1, s0, 0x6150                  |     a1 = s0 + 0x6150;
    0x00023d64 move a0, s2                           |     a0 = s2;
    0x00023d68 jalr t9                               |     t9 ();
    0x00023d6c move fp, v0                           |     fp = v0;
    0x00023d70 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00023d74 b 0x23d4c                             |     goto label_5;
                                                     | label_21:
    0x00023d78 lw t9, -0x7f60(gp)                    |     t9 = *((gp - 8152));
                                                     |     if (v0 == s7) {
    0x00023d7c beq v0, s7, 0x23ca8                   |         goto label_6;
                                                     |     }
    0x00023d80 lw a1, -0x7fd4(gp)                    |     a1 = *(gp);
    0x00023d84 b 0x23c88                             |     goto label_7;
                                                     | label_14:
    0x00023d88 lw t9, -0x7074(gp)                    |     t9 = *((gp - 7197));
    0x00023d8c jalr t9                               |     t9 ();
    0x00023d90 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 @ 0x6c5b8 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlFreeDocElementContent ()          | void xmlFreeDocElementContent () {
                                                     |     do {
    0x0006c5b8 lui gp, 0x12                          |         
    0x0006c5bc addiu gp, gp, 0x50b8                  |         
    0x0006c5c0 addu gp, gp, t9                       |         gp += t9;
    0x0006c5c4 addiu sp, sp, -0x38                   |         
    0x0006c5c8 sw gp, 0x10(sp)                       |         *(var_10h) = gp;
    0x0006c5cc sw s4, 0x28(sp)                       |         *(var_28h) = s4;
    0x0006c5d0 sw s0, 0x18(sp)                       |         *(var_18h) = s0;
    0x0006c5d4 sw ra, 0x34(sp)                       |         *(var_34h) = ra;
    0x0006c5d8 sw s6, 0x30(sp)                       |         *(var_30h) = s6;
    0x0006c5dc sw s5, 0x2c(sp)                       |         *(var_2ch) = s5;
    0x0006c5e0 sw s3, 0x24(sp)                       |         *(var_24h) = s3;
    0x0006c5e4 sw s2, 0x20(sp)                       |         *(var_20h) = s2;
    0x0006c5e8 sw s1, 0x1c(sp)                       |         *(var_1ch) = s1;
    0x0006c5ec move s4, a0                           |         s4 = a0;
    0x0006c5f0 move s0, a1                           |         s0 = a1;
                                                     |         if (a0 == 0) {
    0x0006c5f4 beqz a0, 0x6c764                      |             goto label_3;
                                                     |         }
    0x0006c5f8 lw s3, 0x50(a0)                       |         s3 = *((a0 + 20));
                                                     | label_2:
    0x0006c5fc lw ra, 0x34(sp)                       |         ra = *(var_34h);
                                                     |         if (s0 == 0) {
    0x0006c600 beqz s0, 0x6c6fc                      |             goto label_4;
                                                     |         }
    0x0006c604 lw v0, (s0)                           |         v0 = *(s0);
    0x0006c608 lw s1, 0x10(s0)                       |         s1 = *((s0 + 4));
    0x0006c60c addiu v0, v0, -1                      |         v0 += -1;
    0x0006c610 sltiu v0, v0, 4                       |         v0 = (v0 < 4) ? 1 : 0;
    0x0006c614 lw s2, -0x7158(gp)                    |         s2 = *(gp);
                                                     |         if (v0 == 0) {
    0x0006c618 beqz v0, 0x6c720                      |             goto label_5;
                                                     |         }
    0x0006c61c lw s6, -0x7d68(gp)                    |         s6 = *(gp);
    0x0006c620 lw s5, -0x7fc4(gp)                    |         s5 = *((gp - 8177));
                                                     | label_0:
    0x0006c624 lw a1, 0xc(s0)                        |         a1 = *((s0 + 3));
    0x0006c628 move t9, s6                           |         t9 = s6;
                                                     |         if (a1 == 0) {
    0x0006c62c beqz a1, 0x6c638                      |             goto label_6;
                                                     |         }
    0x0006c630 move a0, s4                           |         a0 = s4;
    0x0006c634 bal 0x6c5b8                           |         sym_xmlFreeDocElementContent ();
                                                     |     } while (1);
                                                     | label_6:
    0x0006c638 lw a1, 8(s0)                          |     a1 = *((s0 + 2));
                                                     |     if (s3 == 0) {
    0x0006c63c beqz s3, 0x6c6bc                      |         goto label_7;
                                                     |     }
    0x0006c640 move t9, s5                           |     t9 = s5;
                                                     |     if (a1 != 0) {
    0x0006c644 beqz a1, 0x6c664                      |         
    0x0006c648 move a0, s3                           |         a0 = s3;
    0x0006c64c jalr t9                               |         t9 ();
    0x0006c650 lw a1, 0x18(s0)                       |         a1 = *((s0 + 6));
                                                     |         if (v0 == 0) {
    0x0006c654 bnel v0, zero, 0x6c668                |             goto label_8;
                                                     |         }
    0x0006c658 lw t9, (s2)                           |         t9 = *(s2);
    0x0006c65c lw a0, 8(s0)                          |         a0 = *((s0 + 2));
    0x0006c660 jalr t9                               |         t9 ();
                                                     |     }
    0x0006c664 lw a1, 0x18(s0)                       |     a1 = *((s0 + 6));
                                                     | label_8:
    0x0006c668 move t9, s5                           |     t9 = s5;
                                                     |     if (a1 != 0) {
    0x0006c66c beqz a1, 0x6c688                      |         
    0x0006c670 move a0, s3                           |         a0 = s3;
    0x0006c674 jalr t9                               |         t9 ();
    0x0006c678 lw t9, (s2)                           |         t9 = *(s2);
                                                     |         if (v0 != 0) {
    0x0006c67c bnez v0, 0x6c68c                      |             goto label_9;
                                                     |         }
    0x0006c680 lw a0, 0x18(s0)                       |         a0 = *((s0 + 6));
    0x0006c684 jalr t9                               |         t9 ();
                                                     |     }
    0x0006c688 lw t9, (s2)                           |     t9 = *(s2);
                                                     |     do {
                                                     | label_9:
    0x0006c68c move a0, s0                           |         a0 = s0;
    0x0006c690 jalr t9                               |         t9 ();
    0x0006c694 lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (s1 == 0) {
    0x0006c698 beqz s1, 0x6c6f8                      |             goto label_10;
                                                     |         }
                                                     | label_1:
    0x0006c69c lw v0, (s1)                           |         v0 = *(s1);
    0x0006c6a0 lw v1, 0x10(s1)                       |         v1 = *((s1 + 4));
    0x0006c6a4 addiu v0, v0, -1                      |         v0 += -1;
    0x0006c6a8 sltiu v0, v0, 4                       |         v0 = (v0 < 4) ? 1 : 0;
    0x0006c6ac move s0, s1                           |         s0 = s1;
                                                     |         if (v0 == 0) {
    0x0006c6b0 beqz v0, 0x6c720                      |             goto label_5;
                                                     |         }
    0x0006c6b4 move s1, v1                           |         s1 = v1;
    0x0006c6b8 b 0x6c624                             |         goto label_0;
                                                     | label_7:
    0x0006c6bc lw t9, (s2)                           |         t9 = *(s2);
                                                     |         if (a1 != 0) {
    0x0006c6c0 beqz a1, 0x6c6d0                      |             
    0x0006c6c4 move a0, a1                           |             a0 = a1;
    0x0006c6c8 jalr t9                               |             t9 ();
    0x0006c6cc lw t9, (s2)                           |             t9 = *(s2);
                                                     |         }
    0x0006c6d0 lw a0, 0x18(s0)                       |         a0 = *((s0 + 6));
    0x0006c6d4 beqz a0, 0x6c68c                      |         
                                                     |     } while (a0 == 0);
    0x0006c6d8 nop                                   |     
    0x0006c6dc jalr t9                               |     t9 ();
    0x0006c6e0 nop                                   |     
    0x0006c6e4 lw t9, (s2)                           |     t9 = *(s2);
    0x0006c6e8 move a0, s0                           |     a0 = s0;
    0x0006c6ec jalr t9                               |     t9 ();
    0x0006c6f0 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (s1 != 0) {
    0x0006c6f4 bnez s1, 0x6c69c                      |         goto label_1;
                                                     |     }
                                                     | label_10:
    0x0006c6f8 lw ra, 0x34(sp)                       |     ra = *(var_34h);
                                                     | label_4:
    0x0006c6fc lw s6, 0x30(sp)                       |     s6 = *(var_30h);
    0x0006c700 lw s5, 0x2c(sp)                       |     s5 = *(var_2ch);
    0x0006c704 lw s4, 0x28(sp)                       |     s4 = *(var_28h);
    0x0006c708 lw s3, 0x24(sp)                       |     s3 = *(var_24h);
    0x0006c70c lw s2, 0x20(sp)                       |     s2 = *(var_20h);
    0x0006c710 lw s1, 0x1c(sp)                       |     s1 = *(var_1ch);
    0x0006c714 lw s0, 0x18(sp)                       |     s0 = *(var_18h);
    0x0006c718 addiu sp, sp, 0x38                    |     
    0x0006c71c jr ra                                 |     return v0;
                                                     | label_5:
    0x0006c720 lw a2, -0x7f94(gp)                    |     a2 = *((gp - 8165));
    0x0006c724 lw t9, -0x7a48(gp)                    |     t9 = *(gp);
    0x0006c728 lw ra, 0x34(sp)                       |     ra = *(var_34h);
    0x0006c72c lw s6, 0x30(sp)                       |     s6 = *(var_30h);
    0x0006c730 lw s5, 0x2c(sp)                       |     s5 = *(var_2ch);
    0x0006c734 lw s4, 0x28(sp)                       |     s4 = *(var_28h);
    0x0006c738 lw s3, 0x24(sp)                       |     s3 = *(var_24h);
    0x0006c73c lw s2, 0x20(sp)                       |     s2 = *(var_20h);
    0x0006c740 lw s1, 0x1c(sp)                       |     s1 = *(var_1ch);
    0x0006c744 lw s0, 0x18(sp)                       |     s0 = *(var_18h);
    0x0006c748 move a3, zero                         |     a3 = 0;
    0x0006c74c addiu a2, a2, -0x573c                 |     a2 += -0x573c;
    0x0006c750 addiu a1, zero, 1                     |     a1 = 1;
    0x0006c754 move a0, zero                         |     a0 = 0;
    0x0006c758 addiu t9, t9, -0x6c74                 |     t9 += -0x6c74;
    0x0006c75c addiu sp, sp, 0x38                    |     
    0x0006c760 b 0x6938c                             |     void (*0x6938c)() ();
                                                     | label_3:
    0x0006c764 move s3, zero                         |     s3 = 0;
    0x0006c768 b 0x6c5fc                             |     goto label_2;
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x6dbec */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlFreeEnumeration ()        | void xmlFreeEnumeration () {
                                             |     do {
    0x0006dbec lui gp, 0x12                  |         
    0x0006dbf0 addiu gp, gp, 0x3a84          |         
    0x0006dbf4 addu gp, gp, t9               |         gp += t9;
                                             |         if (a0 == 0) {
    0x0006dbf8 beqz a0, 0x6dc6c              |             goto label_0;
                                             |         }
    0x0006dbfc nop                           |         
    0x0006dc00 addiu sp, sp, -0x28           |         
    0x0006dc04 sw s0, 0x1c(sp)               |         *(var_1ch) = s0;
    0x0006dc08 move s0, a0                   |         s0 = a0;
    0x0006dc0c lw a0, (a0)                   |         a0 = *(a0);
    0x0006dc10 sw gp, 0x10(sp)               |         *(var_10h) = gp;
    0x0006dc14 sw ra, 0x24(sp)               |         *(var_24h) = ra;
    0x0006dc18 sw s1, 0x20(sp)               |         *(var_20h) = s1;
    0x0006dc1c lw s1, -0x7158(gp)            |         s1 = *(gp);
                                             |         if (a0 == 0) {
    0x0006dc20 beqz a0, 0x6dc38              |             goto label_1;
                                             |         }
    0x0006dc24 lw t9, -0x7d90(gp)            |         t9 = *(gp);
    0x0006dc28 bal 0x6dbec                   |         sym_xmlFreeEnumeration ();
                                             |     } while (1);
    0x0006dc2c nop                           |     
    0x0006dc30 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0006dc34 lw s1, -0x7158(gp)            |     s1 = *(gp);
                                             | label_1:
    0x0006dc38 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x0006dc3c lw t9, (s1)                   |     t9 = *(s1);
                                             |     if (a0 != 0) {
    0x0006dc40 beqz a0, 0x6dc54              |         
    0x0006dc44 jalr t9                       |         t9 ();
    0x0006dc48 nop                           |         
    0x0006dc4c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0006dc50 lw t9, (s1)                   |         t9 = *(s1);
                                             |     }
    0x0006dc54 lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x0006dc58 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0006dc5c move a0, s0                   |     a0 = s0;
    0x0006dc60 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0006dc64 addiu sp, sp, 0x28            |     
    0x0006dc68 jr t9                         |     t9 ();
                                             | label_0:
    0x0006dc6c jr ra                         |     return;
    0x0006dc70 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 @ 0x60e48 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlFreeParserInputBuffer ()      | void xmlFreeParserInputBuffer () {
    0x00060e48 lui gp, 0x13                      |     
    0x00060e4c addiu gp, gp, 0x828               |     
    0x00060e50 addu gp, gp, t9                   |     gp += t9;
                                                 |     if (a0 != 0) {
    0x00060e54 beqz a0, 0x60ef8                  |         
    0x00060e58 nop                               |         
    0x00060e5c addiu sp, sp, -0x20               |         
    0x00060e60 sw s0, 0x18(sp)                   |         *(var_18h) = s0;
    0x00060e64 move s0, a0                       |         s0 = a0;
    0x00060e68 lw a0, 0x14(a0)                   |         a0 = *((a0 + 5));
    0x00060e6c sw gp, 0x10(sp)                   |         *(var_10h) = gp;
    0x00060e70 sw ra, 0x1c(sp)                   |         *(var_1ch) = ra;
    0x00060e74 lw t9, -0x70e8(gp)                |         t9 = *(gp);
                                                 |         if (a0 != 0) {
    0x00060e78 beqz a0, 0x60e8c                  |             
    0x00060e7c jalr t9                           |             t9 ();
    0x00060e80 nop                               |             
    0x00060e84 lw gp, 0x10(sp)                   |             gp = *(var_10h);
    0x00060e88 sw zero, 0x14(s0)                 |             *((s0 + 5)) = 0;
                                                 |         }
    0x00060e8c lw a0, 0xc(s0)                    |         a0 = *((s0 + 3));
    0x00060e90 lw t9, -0x7f0c(gp)                |         t9 = *((gp - 8131));
                                                 |         if (a0 != 0) {
    0x00060e94 beqz a0, 0x60ea4                  |             
    0x00060e98 jalr t9                           |             t9 ();
    0x00060e9c nop                               |             
    0x00060ea0 lw gp, 0x10(sp)                   |             gp = *(var_10h);
                                                 |         }
    0x00060ea4 lw t9, 8(s0)                      |         t9 = *((s0 + 2));
                                                 |         if (t9 != 0) {
    0x00060ea8 beql t9, zero, 0x60ec0            |             
    0x00060eac lw a0, 0x10(s0)                   |             a0 = *((s0 + 4));
    0x00060eb0 lw a0, (s0)                       |             a0 = *(s0);
    0x00060eb4 jalr t9                           |             t9 ();
    0x00060eb8 lw gp, 0x10(sp)                   |             gp = *(var_10h);
    0x00060ebc lw a0, 0x10(s0)                   |             a0 = *((s0 + 4));
                                                 |         }
                                                 |         if (a0 != 0) {
    0x00060ec0 beql a0, zero, 0x60ee0            |             
    0x00060ec4 lw v0, -0x7158(gp)                |             v0 = *(gp);
    0x00060ec8 lw t9, -0x70e8(gp)                |             t9 = *(gp);
    0x00060ecc jalr t9                           |             t9 ();
    0x00060ed0 nop                               |             
    0x00060ed4 lw gp, 0x10(sp)                   |             gp = *(var_10h);
    0x00060ed8 sw zero, 0x10(s0)                 |             *((s0 + 4)) = 0;
    0x00060edc lw v0, -0x7158(gp)                |             v0 = *(gp);
                                                 |         }
    0x00060ee0 lw ra, 0x1c(sp)                   |         ra = *(var_1ch);
    0x00060ee4 move a0, s0                       |         a0 = s0;
    0x00060ee8 lw t9, (v0)                       |         t9 = *(v0);
    0x00060eec lw s0, 0x18(sp)                   |         s0 = *(var_18h);
    0x00060ef0 addiu sp, sp, 0x20                |         
    0x00060ef4 jr t9                             |         t9 ();
                                                 |     }
    0x00060ef8 jr ra                             |     return v0;
    0x00060efc 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 @ 0x121a90 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlFreeTextWriter ()             | void xmlFreeTextWriter () {
    0x00121a90 lui gp, 7                         |     
    0x00121a94 addiu gp, gp, -0x420              |     
    0x00121a98 addu gp, gp, t9                   |     gp += t9;
                                                 |     if (a0 == 0) {
    0x00121a9c beqz a0, 0x121ba4                 |         goto label_0;
                                                 |     }
    0x00121aa0 nop                               |     
    0x00121aa4 addiu sp, sp, -0x28               |     
    0x00121aa8 sw s0, 0x1c(sp)                   |     *(var_1ch) = s0;
    0x00121aac move s0, a0                       |     s0 = a0;
    0x00121ab0 lw a0, (a0)                       |     a0 = *(a0);
    0x00121ab4 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x00121ab8 sw ra, 0x24(sp)                   |     *(var_24h) = ra;
    0x00121abc sw s1, 0x20(sp)                   |     *(var_20h) = s1;
    0x00121ac0 lw t9, -0x7a9c(gp)                |     t9 = *((gp - 7847));
                                                 |     if (a0 != 0) {
    0x00121ac4 beqz a0, 0x121ad4                 |         
    0x00121ac8 jalr t9                           |         t9 ();
    0x00121acc nop                               |         
    0x00121ad0 lw gp, 0x10(sp)                   |         gp = *(var_10h);
                                                 |     }
    0x00121ad4 lw a0, 4(s0)                      |     a0 = *((s0 + 1));
    0x00121ad8 lw t9, -0x7a38(gp)                |     t9 = *((gp - 7822));
                                                 |     if (a0 != 0) {
    0x00121adc beqz a0, 0x121aec                 |         
    0x00121ae0 jalr t9                           |         t9 ();
    0x00121ae4 nop                               |         
    0x00121ae8 lw gp, 0x10(sp)                   |         gp = *(var_10h);
                                                 |     }
    0x00121aec lw a0, 8(s0)                      |     a0 = *((s0 + 2));
    0x00121af0 lw t9, -0x7a38(gp)                |     t9 = *((gp - 7822));
                                                 |     if (a0 != 0) {
    0x00121af4 beqz a0, 0x121b04                 |         
    0x00121af8 jalr t9                           |         t9 ();
    0x00121afc nop                               |         
    0x00121b00 lw gp, 0x10(sp)                   |         gp = *(var_10h);
                                                 |     }
    0x00121b04 lw a0, 0x20(s0)                   |     a0 = *((s0 + 8));
                                                 |     if (a0 == 0) {
    0x00121b08 beql a0, zero, 0x121b3c           |         goto label_1;
                                                 |     }
    0x00121b0c lw a0, 0x28(s0)                   |     a0 = *((s0 + 10));
    0x00121b10 lw v0, 8(a0)                      |     v0 = *((a0 + 2));
    0x00121b14 lw t9, -0x7e38(gp)                |     t9 = *((gp - 8078));
                                                 |     if (v0 == 0) {
    0x00121b18 beqz v0, 0x121b2c                 |         goto label_2;
                                                 |     }
    0x00121b1c lw v1, 0x24(s0)                   |     v1 = *((s0 + 9));
    0x00121b20 lw t9, -0x7d0c(gp)                |     t9 = *(gp);
    0x00121b24 beqz v1, 0x121b8c                 |     
                                                 |     while (1) {
    0x00121b28 lw t9, -0x7e38(gp)                |         t9 = *((gp - 8078));
                                                 | label_2:
    0x00121b2c jalr t9                           |         t9 ();
    0x00121b30 nop                               |         
    0x00121b34 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00121b38 lw a0, 0x28(s0)                   |         a0 = *((s0 + 10));
                                                 | label_1:
    0x00121b3c lw s1, -0x7158(gp)                |         s1 = *(gp);
                                                 |         if (a0 != 0) {
    0x00121b40 beqz a0, 0x121b58                 |             
    0x00121b44 lw t9, -0x7d0c(gp)                |             t9 = *(gp);
    0x00121b48 jalr t9                           |             t9 ();
    0x00121b4c nop                               |             
    0x00121b50 lw gp, 0x10(sp)                   |             gp = *(var_10h);
    0x00121b54 lw s1, -0x7158(gp)                |             s1 = *(gp);
                                                 |         }
    0x00121b58 lw a0, 0x18(s0)                   |         a0 = *((s0 + 6));
    0x00121b5c lw t9, (s1)                       |         t9 = *(s1);
                                                 |         if (a0 != 0) {
    0x00121b60 beqz a0, 0x121b74                 |             
    0x00121b64 jalr t9                           |             t9 ();
    0x00121b68 nop                               |             
    0x00121b6c lw gp, 0x10(sp)                   |             gp = *(var_10h);
    0x00121b70 lw t9, (s1)                       |             t9 = *(s1);
                                                 |         }
    0x00121b74 lw ra, 0x24(sp)                   |         ra = *(var_24h);
    0x00121b78 lw s1, 0x20(sp)                   |         s1 = *(var_20h);
    0x00121b7c move a0, s0                       |         a0 = s0;
    0x00121b80 lw s0, 0x1c(sp)                   |         s0 = *(var_1ch);
    0x00121b84 addiu sp, sp, 0x28                |         
    0x00121b88 jr t9                             |         t9 ();
    0x00121b8c move a0, v0                       |         a0 = v0;
    0x00121b90 jalr t9                           |         t9 ();
    0x00121b94 lw a0, 0x20(s0)                   |         a0 = *((s0 + 8));
    0x00121b98 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00121b9c sw zero, 8(a0)                    |         *((a0 + 2)) = 0;
    0x00121ba0 b 0x121b28                        |         
                                                 |     }
                                                 | label_0:
    0x00121ba4 jr ra                             |     return v1;
    0x00121ba8 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 @ 0x22a84 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlGetEncodingAlias ()           | void xmlGetEncodingAlias () {
    0x00022a84 lui gp, 0x17                      |     
    0x00022a88 addiu gp, gp, -0x1414             |     
    0x00022a8c addu gp, gp, t9                   |     gp += t9;
    0x00022a90 addiu sp, sp, -0x98               |     
    0x00022a94 sw s0, 0x80(sp)                   |     *(var_80h) = s0;
    0x00022a98 lw s0, -0x7000(gp)                |     s0 = *((gp - 7168));
    0x00022a9c sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x00022aa0 sw ra, 0x94(sp)                   |     *(var_94h) = ra;
    0x00022aa4 lw v0, (s0)                       |     v0 = *(s0);
    0x00022aa8 sw s4, 0x90(sp)                   |     *(var_90h) = s4;
    0x00022aac sw s3, 0x8c(sp)                   |     *(var_8ch) = s3;
    0x00022ab0 sw s2, 0x88(sp)                   |     *(var_88h) = s2;
    0x00022ab4 sw s1, 0x84(sp)                   |     *(var_84h) = s1;
    0x00022ab8 sw v0, 0x7c(sp)                   |     *(var_7ch) = v0;
    0x00022abc lw v0, -0x7fe4(gp)                |     v0 = *((gp - 8185));
                                                 |     if (a0 == 0) {
    0x00022ac0 beqz a0, 0x22b6c                  |         goto label_0;
                                                 |     }
    0x00022ac4 lw s1, -0x56ec(v0)                |     s1 = *((v0 - 5563));
    0x00022ac8 lw t9, -0x6f14(gp)                |     t9 = *((gp - 7109));
                                                 |     if (s1 == 0) {
    0x00022acc beqz s1, 0x22b6c                  |         goto label_0;
                                                 |     }
    0x00022ad0 move s2, a0                       |     s2 = a0;
    0x00022ad4 addiu s3, sp, 0x18                |     s3 = sp + 0x18;
    0x00022ad8 jalr t9                           |     t9 ();
    0x00022adc lw a0, (v0)                       |     a0 = *(v0);
    0x00022ae0 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x00022ae4 move a1, s3                       |     a1 = s3;
    0x00022ae8 move v1, zero                     |     v1 = 0;
    0x00022aec addiu a2, zero, 0x63              |     a2 = 0x63;
    0x00022af0 b 0x22b00                         |     
                                                 |     while (v0 != 0) {
    0x00022af4 addiu v1, v1, 1                   |         v1++;
    0x00022af8 addiu a1, a1, 1                   |         a1++;
                                                 |         if (v1 == a2) {
    0x00022afc beq v1, a2, 0x22b1c               |             goto label_1;
                                                 |         }
    0x00022b00 addu v0, s2, v1                   |         v0 = s2 + v1;
    0x00022b04 lb v0, (v0)                       |         v0 = *(v0);
    0x00022b08 sll v0, v0, 2                     |         v0 <<= 2;
    0x00022b0c lwx v0, v0(a0)                    |         __asm ("lwx v0, v0(a0)");
    0x00022b10 seb v0, v0                        |         __asm ("seb v0, v0");
    0x00022b14 sb v0, (a1)                       |         *(a1) = v0;
    0x00022b18 bnez v0, 0x22af4                  |         
                                                 |     }
                                                 | label_1:
    0x00022b1c addiu v0, sp, 0x80                |     v0 = sp + 0x80;
    0x00022b20 addu v1, v0, v1                   |     v1 = v0 + v1;
    0x00022b24 lw v0, -0x7fe4(gp)                |     v0 = *((gp - 8185));
    0x00022b28 sb zero, -0x68(v1)                |     *((v1 - 104)) = 0;
    0x00022b2c lw s4, -0x56f0(v0)                |     s4 = *(v0);
    0x00022b30 move s2, zero                     |     s2 = 0;
                                                 |     if (s4 <= 0) {
    0x00022b34 blez s4, 0x22b6c                  |         goto label_0;
                                                 |     }
    0x00022b38 lw t9, -0x7140(gp)                |     t9 = *(gp);
    0x00022b3c b 0x22b50                         |     
                                                 |     while (v0 != 0) {
    0x00022b40 addiu s2, s2, 1                   |         s2++;
    0x00022b44 addiu s1, s1, 8                   |         s1 += 8;
                                                 |         if (s2 == s4) {
    0x00022b48 beq s2, s4, 0x22b6c               |             goto label_0;
                                                 |         }
    0x00022b4c lw t9, -0x7140(gp)                |         t9 = *(gp);
    0x00022b50 lw a0, 4(s1)                      |         a0 = *((s1 + 1));
    0x00022b54 move a1, s3                       |         a1 = s3;
    0x00022b58 jalr t9                           |         t9 ();
    0x00022b5c lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00022b60 bnez v0, 0x22b40                  |         
                                                 |     }
    0x00022b64 lw v0, (s1)                       |     v0 = *(s1);
    0x00022b68 b 0x22b70                         |     goto label_2;
                                                 | label_0:
    0x00022b6c move v0, zero                     |     v0 = 0;
                                                 | label_2:
    0x00022b70 lw a0, 0x7c(sp)                   |     a0 = *(var_7ch);
    0x00022b74 lw v1, (s0)                       |     v1 = *(s0);
    0x00022b78 lw ra, 0x94(sp)                   |     ra = *(var_94h);
                                                 |     if (a0 == v1) {
    0x00022b7c bne a0, v1, 0x22b9c               |         
    0x00022b80 lw s4, 0x90(sp)                   |         s4 = *(var_90h);
    0x00022b84 lw s3, 0x8c(sp)                   |         s3 = *(var_8ch);
    0x00022b88 lw s2, 0x88(sp)                   |         s2 = *(var_88h);
    0x00022b8c lw s1, 0x84(sp)                   |         s1 = *(var_84h);
    0x00022b90 lw s0, 0x80(sp)                   |         s0 = *(var_80h);
    0x00022b94 addiu sp, sp, 0x98                |         
    0x00022b98 jr ra                             |         return v1;
                                                 |     }
    0x00022b9c lw t9, -0x7074(gp)                |     t9 = *((gp - 7197));
    0x00022ba0 jalr t9                           |     t9 ();
    0x00022ba4 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 @ 0xb89b4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlGetUTF8Char ()            | void xmlGetUTF8Char () {
                                             |     if (a0 != 0) {
    0x000b89b4 beqz a0, 0xb89ec              |         
    0x000b89b8 nop                           |         
                                             |         if (a1 == 0) {
    0x000b89bc beqz a1, 0xb8a50              |             goto label_2;
                                             |         }
    0x000b89c0 nop                           |         
    0x000b89c4 lw v1, (a1)                   |         v1 = *(a1);
                                             |         if (v1 <= 0) {
    0x000b89c8 blezl v1, 0xb89f8             |             goto label_0;
                                             |         }
    0x000b89cc sw zero, (a1)                 |         *(a1) = 0;
    0x000b89d0 lbu v0, (a0)                  |         v0 = *(a0);
    0x000b89d4 seb a2, v0                    |         __asm ("seb a2, v0");
                                             |         if (a2 < 0) {
    0x000b89d8 bltzl a2, 0xb8a00             |             goto label_3;
                                             |         }
    0x000b89dc addiu a2, zero, 1             |         a2 = 1;
    0x000b89e0 addiu v1, zero, 1             |         v1 = 1;
    0x000b89e4 sw v1, (a1)                   |         *(a1) = v1;
    0x000b89e8 jr ra                         |         return v0;
                                             |     }
                                             |     if (a1 == 0) {
    0x000b89ec beqz a1, 0xb8a58              |         goto label_4;
                                             |     }
    0x000b89f0 nop                           |     
                                             |     do {
                                             | label_1:
    0x000b89f4 sw zero, (a1)                 |         *(a1) = 0;
                                             | label_0:
    0x000b89f8 addiu v0, zero, -1            |         v0 = -1;
    0x000b89fc jr ra                         |         return v0;
                                             | label_3:
    0x000b8a00 addiu a3, zero, -0x40         |         a3 = -0x40;
    0x000b8a04 beq v1, a2, 0xb89f4           |         
                                             |     } while (v1 == a2);
    0x000b8a08 lbu a2, 1(a0)                 |     a2 = *((a0 + 1));
    0x000b8a0c and a2, a3, a2                |     a2 = a3 & a2;
    0x000b8a10 addiu t0, zero, 0x80          |     t0 = 0x80;
    0x000b8a14 sw zero, (a1)                 |     *(a1) = 0;
                                             |     if (a2 == t0) {
    0x000b8a18 bnel a2, t0, 0xb89f8          |         goto label_0;
                                             |     }
    0x000b8a1c andi t0, v0, 0xe0             |     t0 = v0 & 0xe0;
    0x000b8a20 addiu t1, zero, 0xe0          |     t1 = 0xe0;
                                             |     if (t0 == t1) {
    0x000b8a24 beql t0, t1, 0xb8a60          |         goto label_5;
                                             |     }
    0x000b8a28 addiu t0, zero, 2             |     t0 = 2;
    0x000b8a2c addiu v0, zero, 2             |     v0 = 2;
    0x000b8a30 sw v0, (a1)                   |     *(a1) = v0;
    0x000b8a34 lbu v1, (a0)                  |     v1 = *(a0);
    0x000b8a38 lbu v0, 1(a0)                 |     v0 = *((a0 + 1));
    0x000b8a3c sll v1, v1, 6                 |     v1 <<= 6;
    0x000b8a40 andi v1, v1, 0x7c0            |     v1 &= 0x7c0;
    0x000b8a44 andi v0, v0, 0x3f             |     v0 &= 0x3f;
    0x000b8a48 or v0, v0, v1                 |     v0 |= v1;
    0x000b8a4c jr ra                         |     return v0;
                                             | label_2:
    0x000b8a50 addiu v0, zero, -1            |     v0 = -1;
    0x000b8a54 jr ra                         |     return v0;
                                             | label_4:
    0x000b8a58 addiu v0, zero, -1            |     v0 = -1;
    0x000b8a5c jr ra                         |     return v0;
                                             |     if (v1 == t0) {
                                             | label_5:
    0x000b8a60 beql v1, t0, 0xb89f8          |         goto label_0;
                                             |     }
    0x000b8a64 sw zero, (a1)                 |     *(a1) = 0;
    0x000b8a68 lbu t0, 2(a0)                 |     t0 = *((a0 + 2));
    0x000b8a6c and a3, a3, t0                |     a3 &= t0;
    0x000b8a70 sw zero, (a1)                 |     *(a1) = 0;
                                             |     if (a3 == a2) {
    0x000b8a74 bnel a3, a2, 0xb89f8          |         goto label_0;
                                             |     }
    0x000b8a78 andi a2, v0, 0xf0             |     a2 = v0 & 0xf0;
    0x000b8a7c addiu a3, zero, 0xf0          |     a3 = 0xf0;
                                             |     if (a2 != a3) {
    0x000b8a80 beql a2, a3, 0xb8abc          |         
    0x000b8a84 addiu a2, zero, 3             |         a2 = 3;
    0x000b8a88 addiu v0, zero, 3             |         v0 = 3;
    0x000b8a8c sw v0, (a1)                   |         *(a1) = v0;
    0x000b8a90 lbu a1, (a0)                  |         a1 = *(a0);
    0x000b8a94 lbu v1, 1(a0)                 |         v1 = *((a0 + 1));
    0x000b8a98 lbu v0, 2(a0)                 |         v0 = *((a0 + 2));
    0x000b8a9c sll a1, a1, 0xc               |         a1 <<= 0xc;
    0x000b8aa0 sll v1, v1, 6                 |         v1 <<= 6;
    0x000b8aa4 andi a1, a1, 0xffff           |         a1 &= 0xffff;
    0x000b8aa8 andi v1, v1, 0xfc0            |         v1 &= 0xfc0;
    0x000b8aac or v1, v1, a1                 |         v1 |= a1;
    0x000b8ab0 andi v0, v0, 0x3f             |         v0 &= 0x3f;
    0x000b8ab4 or v0, v0, v1                 |         v0 |= v1;
    0x000b8ab8 jr ra                         |         return v0;
                                             |     }
    0x000b8abc addiu v1, zero, 0xf0          |     v1 = 0xf0;
                                             |     if (v1 == a2) {
    0x000b8ac0 beq v1, a2, 0xb89f4           |         goto label_1;
                                             |     }
    0x000b8ac4 andi v0, v0, 0xf8             |     v0 &= 0xf8;
    0x000b8ac8 sw zero, (a1)                 |     *(a1) = 0;
                                             |     if (v0 == v1) {
    0x000b8acc bnel v0, v1, 0xb89f8          |         goto label_0;
                                             |     }
    0x000b8ad0 lbu v0, 3(a0)                 |     v0 = *((a0 + 3));
    0x000b8ad4 addiu v1, zero, 0x80          |     v1 = 0x80;
    0x000b8ad8 andi v0, v0, 0xc0             |     v0 &= 0xc0;
    0x000b8adc sw zero, (a1)                 |     *(a1) = 0;
                                             |     if (v0 == v1) {
    0x000b8ae0 bnel v0, v1, 0xb89f8          |         goto label_0;
                                             |     }
    0x000b8ae4 addiu v0, zero, 4             |     v0 = 4;
    0x000b8ae8 sw v0, (a1)                   |     *(a1) = v0;
    0x000b8aec lbu v1, 1(a0)                 |     v1 = *((a0 + 1));
    0x000b8af0 lbu a1, (a0)                  |     a1 = *(a0);
    0x000b8af4 lbu a2, 3(a0)                 |     a2 = *((a0 + 3));
    0x000b8af8 lbu v0, 2(a0)                 |     v0 = *((a0 + 2));
    0x000b8afc lui a0, 3                     |     a0 = 0x3f000;
    0x000b8b00 ori a0, a0, 0xf000            |     
    0x000b8b04 sll v1, v1, 0xc               |     v1 <<= 0xc;
    0x000b8b08 and v1, v1, a0                |     v1 &= a0;
    0x000b8b0c sll a1, a1, 0x12              |     a1 <<= 0x12;
    0x000b8b10 lui a0, 0x1c                  |     a0 = 0x1c0000;
    0x000b8b14 and a1, a1, a0                |     a1 &= a0;
    0x000b8b18 or v1, v1, a1                 |     v1 |= a1;
    0x000b8b1c andi a2, a2, 0x3f             |     a2 &= 0x3f;
    0x000b8b20 sll v0, v0, 6                 |     v0 <<= 6;
    0x000b8b24 or v1, v1, a2                 |     v1 |= a2;
    0x000b8b28 andi v0, v0, 0xfc0            |     v0 &= 0xfc0;
    0x000b8b2c or v0, v0, v1                 |     v0 |= v1;
    0x000b8b30 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x5ba1c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlHashAddEntry3 ()          | void xmlHashAddEntry3 () {
    0x0005ba1c lui gp, 0x13                  |     
    0x0005ba20 addiu gp, gp, 0x5c54          |     
    0x0005ba24 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x0005ba28 beqz a0, 0x5c0a0              |         goto label_18;
                                             |     }
    0x0005ba2c nop                           |     
    0x0005ba30 addiu sp, sp, -0x48           |     
    0x0005ba34 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0005ba38 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x0005ba3c sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x0005ba40 sw fp, 0x40(sp)               |     *(var_40h) = fp;
    0x0005ba44 sw s7, 0x3c(sp)               |     *(var_3ch) = s7;
    0x0005ba48 sw s6, 0x38(sp)               |     *(var_38h) = s6;
    0x0005ba4c sw s5, 0x34(sp)               |     *(var_34h) = s5;
    0x0005ba50 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x0005ba54 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0005ba58 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x0005ba5c sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x0005ba60 move s3, a1                   |     s3 = a1;
                                             |     if (a1 == 0) {
    0x0005ba64 beqz a1, 0x5bbe8              |         goto label_5;
                                             |     }
    0x0005ba68 move s6, a0                   |     s6 = a0;
    0x0005ba6c lw a0, 0xc(a0)                |     a0 = *((a0 + 3));
    0x0005ba70 move s4, a2                   |     s4 = a2;
    0x0005ba74 move s5, a3                   |     s5 = a3;
                                             |     if (a0 == 0) {
    0x0005ba78 beqz a0, 0x5bec8              |         goto label_19;
                                             |     }
    0x0005ba7c lw s0, -0x7fc4(gp)            |     s0 = *((gp - 8177));
    0x0005ba80 move t9, s0                   |     t9 = s0;
    0x0005ba84 jalr t9                       |     t9 ();
    0x0005ba88 nop                           |     
    0x0005ba8c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0005ba90 beqz v0, 0x5be64              |         goto label_20;
                                             |     }
    0x0005ba94 lw t2, 0xc(s6)                |     t2 = *((s6 + 3));
                                             |     if (s4 != 0) {
    0x0005ba98 beqz s4, 0x5bab8              |         
                                             | label_6:
    0x0005ba9c move a1, s4                   |         a1 = s4;
    0x0005baa0 move t9, s0                   |         t9 = s0;
    0x0005baa4 move a0, t2                   |         a0 = t2;
    0x0005baa8 jalr t9                       |         t9 ();
    0x0005baac lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0005bab0 beqz v0, 0x5c044              |             goto label_21;
                                             |         }
    0x0005bab4 lw t2, 0xc(s6)                |         t2 = *((s6 + 3));
                                             |     }
                                             | label_7:
    0x0005bab8 move a1, s5                   |     a1 = s5;
                                             |     if (s5 != 0) {
    0x0005babc beqz s5, 0x5bad8              |         
    0x0005bac0 move t9, s0                   |         t9 = s0;
    0x0005bac4 move a0, t2                   |         a0 = t2;
    0x0005bac8 jalr t9                       |         t9 ();
    0x0005bacc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0005bad0 beqz v0, 0x5c01c              |             goto label_22;
                                             |         }
    0x0005bad4 lw t2, 0xc(s6)                |         t2 = *((s6 + 3));
                                             |     }
                                             | label_13:
    0x0005bad8 lw s1, -0x7b38(gp)            |     s1 = *((gp - 7886));
    0x0005badc lw a1, 0x10(s6)               |     a1 = *((s6 + 4));
    0x0005bae0 lw a0, 4(s6)                  |     a0 = *((s6 + 1));
    0x0005bae4 addiu s1, s1, -0x4ca4         |     s1 += -0x4ca4;
    0x0005bae8 sw s5, 0x10(sp)               |     *(var_10h) = s5;
    0x0005baec move a3, s4                   |     a3 = s4;
    0x0005baf0 move t9, s1                   |     t9 = s1;
    0x0005baf4 move a2, s3                   |     a2 = s3;
    0x0005baf8 bal 0x5b35c                   |     fcn_0005b35c ();
    0x0005bafc sll s2, v0, 1                 |     s2 = v0 << 1;
    0x0005bb00 addu v0, s2, v0               |     v0 = s2 + v0;
    0x0005bb04 lw s2, (s6)                   |     s2 = *(s6);
    0x0005bb08 sll v0, v0, 3                 |     v0 <<= 3;
    0x0005bb0c addu s2, s2, v0               |     s2 += v0;
    0x0005bb10 lw v0, 0x14(s2)               |     v0 = *((s2 + 5));
    0x0005bb14 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0005bb18 bnez v0, 0x5bb9c              |         
    0x0005bb1c move s0, zero                 |         s0 = 0;
    0x0005bb20 move s7, zero                 |         s7 = 0;
                                             | label_8:
    0x0005bb24 lw fp, -0x7fd8(gp)            |         fp = *((gp - 8182));
                                             |         if (t2 == 0) {
    0x0005bb28 beqz t2, 0x5bf18              |             goto label_23;
                                             |         }
    0x0005bb2c sw s3, 4(s2)                  |         *((s2 + 1)) = s3;
    0x0005bb30 sw s4, 8(s2)                  |         *((s2 + 2)) = s4;
    0x0005bb34 sw s5, 0xc(s2)                |         *((s2 + 3)) = s5;
                                             | label_9:
    0x0005bb38 lw v0, 0x58(sp)               |         v0 = *(arg_58h);
    0x0005bb3c sw zero, (s2)                 |         *(s2) = 0;
    0x0005bb40 sw v0, 0x10(s2)               |         *((s2 + 4)) = v0;
    0x0005bb44 addiu v0, zero, 1             |         v0 = 1;
    0x0005bb48 sw v0, 0x14(s2)               |         *((s2 + 5)) = v0;
                                             |         if (s0 != 0) {
    0x0005bb4c beqz s0, 0x5bb54              |             
    0x0005bb50 sw s2, (s0)                   |             *(s0) = s2;
                                             |         }
    0x0005bb54 lw v0, 8(s6)                  |         v0 = *((s6 + 2));
    0x0005bb58 sltiu s7, s7, 9               |         s7 = (s7 < 9) ? 1 : 0;
    0x0005bb5c addiu v0, v0, 1               |         v0++;
    0x0005bb60 sw v0, 8(s6)                  |         *((s6 + 2)) = v0;
                                             |         if (s7 == 0) {
    0x0005bb64 beqz s7, 0x5bbf0              |             goto label_24;
                                             |         }
                                             | label_2:
    0x0005bb68 move v0, zero                 |         v0 = 0;
                                             | label_1:
    0x0005bb6c lw ra, 0x44(sp)               |         ra = *(var_44h);
    0x0005bb70 lw fp, 0x40(sp)               |         fp = *(var_40h);
    0x0005bb74 lw s7, 0x3c(sp)               |         s7 = *(var_3ch);
    0x0005bb78 lw s6, 0x38(sp)               |         s6 = *(var_38h);
    0x0005bb7c lw s5, 0x34(sp)               |         s5 = *(var_34h);
    0x0005bb80 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x0005bb84 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x0005bb88 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x0005bb8c lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x0005bb90 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x0005bb94 addiu sp, sp, 0x48            |         
    0x0005bb98 jr ra                         |         return v0;
                                             |     }
    0x0005bb9c lw s0, (s2)                   |     s0 = *(s2);
                                             |     if (t2 == 0) {
    0x0005bba0 beqz t2, 0x5c0a8              |         goto label_25;
                                             |     }
    0x0005bba4 move s7, zero                 |     s7 = 0;
                                             |     if (s0 == 0) {
    0x0005bba8 beqz s0, 0x5be94              |         goto label_26;
                                             |     }
    0x0005bbac lw v0, 4(s2)                  |     v0 = *((s2 + 1));
    0x0005bbb0 b 0x5bbc8                     |     
                                             |     while (v0 != s3) {
    0x0005bbb4 lw v0, (s0)                   |         v0 = *(s0);
                                             | label_0:
    0x0005bbb8 move s2, s0                   |         s2 = s0;
                                             |         if (v0 == 0) {
    0x0005bbbc beqz v0, 0x5be98              |             goto label_27;
                                             |         }
    0x0005bbc0 move s0, v0                   |         s0 = v0;
    0x0005bbc4 lw v0, 4(s2)                  |         v0 = *((s2 + 1));
    0x0005bbc8 addiu s7, s7, 1               |         s7++;
    0x0005bbcc bne v0, s3, 0x5bbb4           |         
                                             |     }
    0x0005bbd0 lw v0, 8(s2)                  |     v0 = *((s2 + 2));
    0x0005bbd4 lw v0, (s0)                   |     v0 = *(s0);
                                             |     if (v0 == s4) {
    0x0005bbd8 bnel v0, s4, 0x5bbb8          |         goto label_0;
                                             |     }
    0x0005bbdc lw v0, 0xc(s2)                |     v0 = *((s2 + 3));
    0x0005bbe0 lw v0, (s0)                   |     v0 = *(s0);
                                             |     if (v0 == s5) {
    0x0005bbe4 bnel v0, s5, 0x5bbb8          |         goto label_0;
                                             |     }
                                             | label_5:
    0x0005bbe8 addiu v0, zero, -1            |     v0 = -1;
    0x0005bbec b 0x5bb6c                     |     goto label_1;
                                             | label_24:
    0x0005bbf0 lw s2, 4(s6)                  |     s2 = *((s6 + 1));
    0x0005bbf4 sll s3, s2, 3                 |     s3 = s2 << 3;
    0x0005bbf8 addiu v0, s3, -8              |     v0 = s3 + -8;
    0x0005bbfc sltiu v0, v0, 0x3ff9          |     v0 = (v0 < 0x3ff9) ? 1 : 0;
    0x0005bc00 move v0, zero                 |     v0 = 0;
                                             |     if (v0 == 0) {
    0x0005bc04 beqz v0, 0x5bb6c              |         goto label_1;
                                             |     }
    0x0005bc08 lw s4, (s6)                   |     s4 = *(s6);
    0x0005bc0c lw v0, -0x716c(gp)            |     v0 = *(gp);
                                             |     if (s4 == 0) {
    0x0005bc10 beqz s4, 0x5bb68              |         goto label_2;
                                             |     }
    0x0005bc14 sll s0, s2, 4                 |     s0 = s2 << 4;
    0x0005bc18 addu s0, s0, s3               |     s0 += s3;
    0x0005bc1c sll s0, s0, 3                 |     s0 <<= 3;
    0x0005bc20 lw t9, (v0)                   |     t9 = *(v0);
    0x0005bc24 move a0, s0                   |     a0 = s0;
    0x0005bc28 jalr t9                       |     t9 ();
    0x0005bc2c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0005bc30 sw v0, (s6)                   |     *(s6) = v0;
                                             |     if (v0 == 0) {
    0x0005bc34 beqz v0, 0x5c098              |         goto label_28;
                                             |     }
    0x0005bc38 lw t9, -0x6ea4(gp)            |     t9 = *((gp - 7081));
    0x0005bc3c move a2, s0                   |     a2 = s0;
    0x0005bc40 move a1, zero                 |     a1 = 0;
    0x0005bc44 move a0, v0                   |     a0 = v0;
    0x0005bc48 jalr t9                       |     t9 ();
    0x0005bc4c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0005bc50 sw s3, 4(s6)                  |     *((s6 + 1)) = s3;
                                             |     if (s2 <= 0) {
    0x0005bc54 blez s2, 0x5c088              |         goto label_29;
                                             |     }
    0x0005bc58 sll s3, s2, 1                 |     s3 = s2 << 1;
    0x0005bc5c addu s3, s3, s2               |     s3 += s2;
    0x0005bc60 sll s3, s3, 3                 |     s3 <<= 3;
    0x0005bc64 move s2, s4                   |     s2 = s4;
    0x0005bc68 addu s3, s3, s4               |     s3 += s4;
    0x0005bc6c move t2, s4                   |     t2 = s4;
    0x0005bc70 lw v0, 0x14(t2)               |     v0 = *((t2 + 5));
                                             |     do {
                                             |         if (v0 != 0) {
    0x0005bc74 beql v0, zero, 0x5bd24        |             
    0x0005bc78 addiu t2, t2, 0x18            |             t2 += 0x18;
    0x0005bc7c lw v0, 0xc(t2)                |             v0 = *((t2 + 3));
    0x0005bc80 lw a3, 8(t2)                  |             a3 = *((t2 + 2));
    0x0005bc84 lw a2, 4(t2)                  |             a2 = *((t2 + 1));
    0x0005bc88 lw a1, 0x10(s6)               |             a1 = *((s6 + 4));
    0x0005bc8c lw a0, 4(s6)                  |             a0 = *((s6 + 1));
    0x0005bc90 move t9, s1                   |             t9 = s1;
    0x0005bc94 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x0005bc98 bal 0x5b35c                   |             fcn_0005b35c ();
    0x0005bc9c lwl t1, 3(t2)                 |             __asm ("lwl t1, 3(t2)");
    0x0005bca0 sll a0, v0, 1                 |             a0 = v0 << 1;
    0x0005bca4 lw v1, (s6)                   |             v1 = *(s6);
    0x0005bca8 addu v0, a0, v0               |             v0 = a0 + v0;
    0x0005bcac lwl t0, 7(t2)                 |             __asm ("lwl t0, 7(t2)");
    0x0005bcb0 lwl a3, 0xb(t2)               |             __asm ("lwl a3, 0xb(t2)");
    0x0005bcb4 lwl a2, 0xf(t2)               |             __asm ("lwl a2, 0xf(t2)");
    0x0005bcb8 lwl a1, 0x13(t2)              |             __asm ("lwl a1, 0x13(t2)");
    0x0005bcbc lwl a0, 0x17(t2)              |             __asm ("lwl a0, 0x17(t2)");
    0x0005bcc0 sll v0, v0, 3                 |             v0 <<= 3;
    0x0005bcc4 addu v1, v1, v0               |             v1 += v0;
    0x0005bcc8 lwr t1, (t2)                  |             __asm ("lwr t1, (t2)");
    0x0005bccc lwr a3, 8(t2)                 |             __asm ("lwr a3, 8(t2)");
    0x0005bcd0 lwr a2, 0xc(t2)               |             __asm ("lwr a2, 0xc(t2)");
    0x0005bcd4 lwr a1, 0x10(t2)              |             __asm ("lwr a1, 0x10(t2)");
    0x0005bcd8 lwr a0, 0x14(t2)              |             __asm ("lwr a0, 0x14(t2)");
    0x0005bcdc lwr t0, 4(t2)                 |             __asm ("lwr t0, 4(t2)");
    0x0005bce0 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x0005bce4 swl t1, 3(v1)                 |             __asm ("swl t1, 3(v1)");
    0x0005bce8 swr t1, (v1)                  |             __asm ("swr t1, (v1)");
    0x0005bcec swl t0, 7(v1)                 |             __asm ("swl t0, 7(v1)");
    0x0005bcf0 swr t0, 4(v1)                 |             __asm ("swr t0, 4(v1)");
    0x0005bcf4 swl a3, 0xb(v1)               |             __asm ("swl a3, 0xb(v1)");
    0x0005bcf8 swr a3, 8(v1)                 |             __asm ("swr a3, 8(v1)");
    0x0005bcfc swl a2, 0xf(v1)               |             __asm ("swl a2, 0xf(v1)");
    0x0005bd00 swr a2, 0xc(v1)               |             __asm ("swr a2, 0xc(v1)");
    0x0005bd04 swl a1, 0x13(v1)              |             __asm ("swl a1, 0x13(v1)");
    0x0005bd08 swr a1, 0x10(v1)              |             __asm ("swr a1, 0x10(v1)");
    0x0005bd0c swl a0, 0x17(v1)              |             __asm ("swl a0, 0x17(v1)");
    0x0005bd10 swr a0, 0x14(v1)              |             __asm ("swr a0, 0x14(v1)");
    0x0005bd14 lw v1, (s6)                   |             v1 = *(s6);
    0x0005bd18 addu v0, v1, v0               |             v0 = v1 + v0;
    0x0005bd1c sw zero, (v0)                 |             *(v0) = 0;
    0x0005bd20 addiu t2, t2, 0x18            |             t2 += 0x18;
                                             |         }
    0x0005bd24 lw v0, 0x14(t2)               |         v0 = *((t2 + 5));
    0x0005bd28 bnel t2, s3, 0x5bc74          |         
                                             |     } while (t2 == s3);
    0x0005bd2c lw s5, -0x7158(gp)            |     s5 = *(gp);
    0x0005bd30 lw t2, (s2)                   |     t2 = *(s2);
                                             | label_4:
    0x0005bd34 lw v0, 0xc(t2)                |     v0 = *((t2 + 3));
                                             |     if (t2 == 0) {
    0x0005bd38 bnel t2, zero, 0x5bd58        |         goto label_30;
                                             |     }
    0x0005bd3c addiu s2, s2, 0x18            |     s2 += 0x18;
    0x0005bd40 b 0x5be1c                     |     goto label_31;
                                             |     do {
    0x0005bd44 sw v0, (t2)                   |         *(t2) = v0;
    0x0005bd48 sw t2, (v1)                   |         *(v1) = t2;
    0x0005bd4c move t2, s0                   |         t2 = s0;
                                             |         if (s0 == 0) {
    0x0005bd50 beqz s0, 0x5be18              |             goto label_32;
                                             |         }
                                             | label_3:
    0x0005bd54 lw v0, 0xc(t2)                |         v0 = *((t2 + 3));
                                             | label_30:
    0x0005bd58 lw a0, 4(s6)                  |         a0 = *((s6 + 1));
    0x0005bd5c lw a1, 0x10(s6)               |         a1 = *((s6 + 4));
    0x0005bd60 lw a3, 8(t2)                  |         a3 = *((t2 + 2));
    0x0005bd64 lw a2, 4(t2)                  |         a2 = *((t2 + 1));
    0x0005bd68 lw s0, (t2)                   |         s0 = *(t2);
    0x0005bd6c move t9, s1                   |         t9 = s1;
    0x0005bd70 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0005bd74 bal 0x5b35c                   |         fcn_0005b35c ();
    0x0005bd78 sll a0, v0, 1                 |         a0 = v0 << 1;
    0x0005bd7c addu v0, a0, v0               |         v0 = a0 + v0;
    0x0005bd80 lw v1, (s6)                   |         v1 = *(s6);
    0x0005bd84 sll v0, v0, 3                 |         v0 <<= 3;
    0x0005bd88 addu v1, v1, v0               |         v1 += v0;
    0x0005bd8c lw a0, 0x14(v1)               |         a0 = *((v1 + 5));
    0x0005bd90 lw v0, (v1)                   |         v0 = *(v1);
    0x0005bd94 bnel a0, zero, 0x5bd44        |         
                                             |     } while (a0 == 0);
    0x0005bd98 lwl t1, 3(t2)                 |     __asm ("lwl t1, 3(t2)");
    0x0005bd9c lwl t0, 7(t2)                 |     __asm ("lwl t0, 7(t2)");
    0x0005bda0 lwl a3, 0xb(t2)               |     __asm ("lwl a3, 0xb(t2)");
    0x0005bda4 lwl a2, 0xf(t2)               |     __asm ("lwl a2, 0xf(t2)");
    0x0005bda8 lwl a1, 0x13(t2)              |     __asm ("lwl a1, 0x13(t2)");
    0x0005bdac lwl a0, 0x17(t2)              |     __asm ("lwl a0, 0x17(t2)");
    0x0005bdb0 lwr t1, (t2)                  |     __asm ("lwr t1, (t2)");
    0x0005bdb4 lwr a3, 8(t2)                 |     __asm ("lwr a3, 8(t2)");
    0x0005bdb8 lwr a0, 0x14(t2)              |     __asm ("lwr a0, 0x14(t2)");
    0x0005bdbc lwr a2, 0xc(t2)               |     __asm ("lwr a2, 0xc(t2)");
    0x0005bdc0 lwr a1, 0x10(t2)              |     __asm ("lwr a1, 0x10(t2)");
    0x0005bdc4 lwr t0, 4(t2)                 |     __asm ("lwr t0, 4(t2)");
    0x0005bdc8 swl t1, 3(v1)                 |     __asm ("swl t1, 3(v1)");
    0x0005bdcc swr t1, (v1)                  |     __asm ("swr t1, (v1)");
    0x0005bdd0 swl t0, 7(v1)                 |     __asm ("swl t0, 7(v1)");
    0x0005bdd4 swr t0, 4(v1)                 |     __asm ("swr t0, 4(v1)");
    0x0005bdd8 swl a3, 0xb(v1)               |     __asm ("swl a3, 0xb(v1)");
    0x0005bddc swr a3, 8(v1)                 |     __asm ("swr a3, 8(v1)");
    0x0005bde0 swl a2, 0xf(v1)               |     __asm ("swl a2, 0xf(v1)");
    0x0005bde4 swr a2, 0xc(v1)               |     __asm ("swr a2, 0xc(v1)");
    0x0005bde8 swl a1, 0x13(v1)              |     __asm ("swl a1, 0x13(v1)");
    0x0005bdec swr a1, 0x10(v1)              |     __asm ("swr a1, 0x10(v1)");
    0x0005bdf0 swl a0, 0x17(v1)              |     __asm ("swl a0, 0x17(v1)");
    0x0005bdf4 swr a0, 0x14(v1)              |     __asm ("swr a0, 0x14(v1)");
    0x0005bdf8 lw v1, (s6)                   |     v1 = *(s6);
    0x0005bdfc lw t9, (s5)                   |     t9 = *(s5);
    0x0005be00 addu v0, v1, v0               |     v0 = v1 + v0;
    0x0005be04 move a0, t2                   |     a0 = t2;
    0x0005be08 sw zero, (v0)                 |     *(v0) = 0;
    0x0005be0c jalr t9                       |     t9 ();
    0x0005be10 move t2, s0                   |     t2 = s0;
                                             |     if (s0 != 0) {
    0x0005be14 bnez s0, 0x5bd54              |         goto label_3;
                                             |     }
                                             | label_32:
    0x0005be18 addiu s2, s2, 0x18            |     s2 += 0x18;
                                             | label_31:
    0x0005be1c lw t2, (s2)                   |     t2 = *(s2);
                                             |     if (s2 == s3) {
    0x0005be20 bnel s2, s3, 0x5bd34          |         goto label_4;
                                             |     }
                                             | label_15:
    0x0005be24 lw t9, (s5)                   |     t9 = *(s5);
    0x0005be28 move a0, s4                   |     a0 = s4;
    0x0005be2c jalr t9                       |     t9 ();
    0x0005be30 lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x0005be34 lw fp, 0x40(sp)               |     fp = *(var_40h);
    0x0005be38 lw s7, 0x3c(sp)               |     s7 = *(var_3ch);
    0x0005be3c lw s6, 0x38(sp)               |     s6 = *(var_38h);
    0x0005be40 lw s5, 0x34(sp)               |     s5 = *(var_34h);
    0x0005be44 lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x0005be48 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x0005be4c lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x0005be50 lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x0005be54 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x0005be58 move v0, zero                 |     v0 = 0;
    0x0005be5c addiu sp, sp, 0x48            |     
    0x0005be60 jr ra                         |     return v0;
                                             | label_20:
    0x0005be64 lw t9, -0x7fd0(gp)            |     t9 = *(gp);
    0x0005be68 lw a0, 0xc(s6)                |     a0 = *((s6 + 3));
    0x0005be6c move a1, s3                   |     a1 = s3;
    0x0005be70 addiu a2, zero, -1            |     a2 = -1;
    0x0005be74 jalr t9                       |     t9 ();
    0x0005be78 move s3, v0                   |     s3 = v0;
    0x0005be7c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0005be80 beqz v0, 0x5bbe8              |         goto label_5;
                                             |     }
    0x0005be84 lw t2, 0xc(s6)                |     t2 = *((s6 + 3));
                                             |     if (s4 != 0) {
    0x0005be88 bnez s4, 0x5ba9c              |         goto label_6;
                                             |     }
    0x0005be8c b 0x5bab8                     |     goto label_7;
    0x0005be90 nop                           |     
                                             | label_26:
    0x0005be94 move s0, s2                   |     s0 = s2;
                                             | label_27:
    0x0005be98 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
                                             |     if (v0 == s3) {
    0x0005be9c beql v0, s3, 0x5c06c          |         goto label_33;
                                             |     }
    0x0005bea0 lw v0, 8(s0)                  |     v0 = *((s0 + 2));
                                             | label_12:
    0x0005bea4 lw v0, -0x716c(gp)            |     v0 = *(gp);
                                             | label_14:
    0x0005bea8 lw t9, (v0)                   |     t9 = *(v0);
    0x0005beac addiu a0, zero, 0x18          |     a0 = 0x18;
    0x0005beb0 jalr t9                       |     t9 ();
    0x0005beb4 move s2, v0                   |     s2 = v0;
    0x0005beb8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0005bebc beqz v0, 0x5bbe8              |         goto label_5;
                                             |     }
    0x0005bec0 lw t2, 0xc(s6)                |     t2 = *((s6 + 3));
    0x0005bec4 b 0x5bb24                     |     goto label_8;
                                             | label_19:
    0x0005bec8 lw s1, -0x7b38(gp)            |     s1 = *((gp - 7886));
    0x0005becc lw a1, 0x10(s6)               |     a1 = *((s6 + 4));
    0x0005bed0 lw a0, 4(s6)                  |     a0 = *((s6 + 1));
    0x0005bed4 addiu s1, s1, -0x4ca4         |     s1 += -0x4ca4;
    0x0005bed8 sw a3, 0x10(sp)               |     *(var_10h) = a3;
    0x0005bedc move t9, s1                   |     t9 = s1;
    0x0005bee0 move a3, a2                   |     a3 = a2;
    0x0005bee4 move a2, s3                   |     a2 = s3;
    0x0005bee8 bal 0x5b35c                   |     fcn_0005b35c ();
    0x0005beec sll v1, v0, 1                 |     v1 = v0 << 1;
    0x0005bef0 addu v0, v1, v0               |     v0 = v1 + v0;
    0x0005bef4 lw s2, (s6)                   |     s2 = *(s6);
    0x0005bef8 sll v0, v0, 3                 |     v0 <<= 3;
    0x0005befc addu s2, s2, v0               |     s2 += v0;
    0x0005bf00 lw v0, 0x14(s2)               |     v0 = *((s2 + 5));
    0x0005bf04 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0005bf08 bnez v0, 0x5bf50              |         
    0x0005bf0c move s0, zero                 |         s0 = 0;
    0x0005bf10 move s7, zero                 |         s7 = 0;
    0x0005bf14 lw fp, -0x7fd8(gp)            |         fp = *((gp - 8182));
                                             | label_23:
    0x0005bf18 move t9, fp                   |         t9 = fp;
    0x0005bf1c move a0, s3                   |         a0 = s3;
    0x0005bf20 jalr t9                       |         t9 ();
    0x0005bf24 sw v0, 4(s2)                  |         *((s2 + 1)) = v0;
    0x0005bf28 move t9, fp                   |         t9 = fp;
    0x0005bf2c move a0, s4                   |         a0 = s4;
    0x0005bf30 jalr t9                       |         t9 ();
    0x0005bf34 sw v0, 8(s2)                  |         *((s2 + 2)) = v0;
    0x0005bf38 move t9, fp                   |         t9 = fp;
    0x0005bf3c move a0, s5                   |         a0 = s5;
    0x0005bf40 jalr t9                       |         t9 ();
    0x0005bf44 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0005bf48 sw v0, 0xc(s2)                |         *((s2 + 3)) = v0;
    0x0005bf4c b 0x5bb38                     |         goto label_9;
                                             |     }
    0x0005bf50 lw v0, (s2)                   |     v0 = *(s2);
    0x0005bf54 move s0, s2                   |     s0 = s2;
                                             | label_17:
    0x0005bf58 move s7, zero                 |     s7 = 0;
                                             |     if (v0 == 0) {
    0x0005bf5c beqz v0, 0x5c090              |         goto label_34;
                                             |     }
    0x0005bf60 lw s2, -0x7f90(gp)            |     s2 = *((gp - 8164));
    0x0005bf64 b 0x5bf74                     |     
                                             |     while (v0 == 0) {
                                             | label_10:
    0x0005bf68 lw v0, (s0)                   |         v0 = *(s0);
    0x0005bf6c addiu s7, s7, 1               |         s7++;
                                             |         if (v0 == 0) {
    0x0005bf70 beqz v0, 0x5bfcc              |             goto label_16;
                                             |         }
                                             | label_11:
    0x0005bf74 lw a0, 4(s0)                  |         a0 = *((s0 + 1));
    0x0005bf78 move t9, s2                   |         t9 = s2;
    0x0005bf7c move a1, s3                   |         a1 = s3;
    0x0005bf80 jalr t9                       |         t9 ();
    0x0005bf84 beql v0, zero, 0x5bf68        |         
                                             |     }
    0x0005bf88 lw s0, (s0)                   |     s0 = *(s0);
    0x0005bf8c lw a0, 8(s0)                  |     a0 = *((s0 + 2));
    0x0005bf90 move t9, s2                   |     t9 = s2;
    0x0005bf94 move a1, s4                   |     a1 = s4;
    0x0005bf98 jalr t9                       |     t9 ();
                                             |     if (v0 == 0) {
    0x0005bf9c beql v0, zero, 0x5bf68        |         goto label_10;
                                             |     }
    0x0005bfa0 lw s0, (s0)                   |     s0 = *(s0);
    0x0005bfa4 lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
    0x0005bfa8 move t9, s2                   |     t9 = s2;
    0x0005bfac move a1, s5                   |     a1 = s5;
    0x0005bfb0 jalr t9                       |     t9 ();
    0x0005bfb4 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (v0 != 0) {
    0x0005bfb8 bnez v0, 0x5bb6c              |         goto label_1;
                                             |     }
    0x0005bfbc lw s0, (s0)                   |     s0 = *(s0);
    0x0005bfc0 lw v0, (s0)                   |     v0 = *(s0);
    0x0005bfc4 addiu s7, s7, 1               |     s7++;
                                             |     if (v0 != 0) {
    0x0005bfc8 bnez v0, 0x5bf74              |         goto label_11;
                                             |     }
                                             | label_16:
    0x0005bfcc lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x0005bfd0 move t9, s2                   |     t9 = s2;
    0x0005bfd4 move a1, s3                   |     a1 = s3;
    0x0005bfd8 jalr t9                       |     t9 ();
    0x0005bfdc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0005bfe0 beqz v0, 0x5bea4              |         goto label_12;
                                             |     }
    0x0005bfe4 lw a0, 8(s0)                  |     a0 = *((s0 + 2));
    0x0005bfe8 move t9, s2                   |     t9 = s2;
    0x0005bfec move a1, s4                   |     a1 = s4;
    0x0005bff0 jalr t9                       |     t9 ();
    0x0005bff4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0005bff8 beqz v0, 0x5bea4              |         goto label_12;
                                             |     }
    0x0005bffc lw a0, 0xc(s0)                |     a0 = *((s0 + 3));
    0x0005c000 move t9, s2                   |     t9 = s2;
    0x0005c004 move a1, s5                   |     a1 = s5;
    0x0005c008 jalr t9                       |     t9 ();
    0x0005c00c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0005c010 beqz v0, 0x5bea4              |         goto label_12;
                                             |     }
    0x0005c014 addiu v0, zero, -1            |     v0 = -1;
    0x0005c018 b 0x5bb6c                     |     goto label_1;
                                             | label_22:
    0x0005c01c lw t9, -0x7fd0(gp)            |     t9 = *(gp);
    0x0005c020 lw a0, 0xc(s6)                |     a0 = *((s6 + 3));
    0x0005c024 move a1, s5                   |     a1 = s5;
    0x0005c028 addiu a2, zero, -1            |     a2 = -1;
    0x0005c02c jalr t9                       |     t9 ();
    0x0005c030 move s5, v0                   |     s5 = v0;
    0x0005c034 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0005c038 beqz v0, 0x5bbe8              |         goto label_5;
                                             |     }
    0x0005c03c lw t2, 0xc(s6)                |     t2 = *((s6 + 3));
    0x0005c040 b 0x5bad8                     |     goto label_13;
                                             | label_21:
    0x0005c044 lw t9, -0x7fd0(gp)            |     t9 = *(gp);
    0x0005c048 lw a0, 0xc(s6)                |     a0 = *((s6 + 3));
    0x0005c04c move a1, s4                   |     a1 = s4;
    0x0005c050 addiu a2, zero, -1            |     a2 = -1;
    0x0005c054 jalr t9                       |     t9 ();
    0x0005c058 move s4, v0                   |     s4 = v0;
    0x0005c05c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0005c060 beqz v0, 0x5bbe8              |         goto label_5;
                                             |     }
    0x0005c064 lw t2, 0xc(s6)                |     t2 = *((s6 + 3));
    0x0005c068 b 0x5bab8                     |     goto label_7;
                                             | label_33:
    0x0005c06c lw v0, -0x716c(gp)            |     v0 = *(gp);
                                             |     if (v0 != s4) {
    0x0005c070 bne v0, s4, 0x5bea8           |         goto label_14;
                                             |     }
    0x0005c074 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x0005c078 lw v0, -0x716c(gp)            |     v0 = *(gp);
                                             |     if (v0 == s5) {
    0x0005c07c bnel v0, s5, 0x5bea8          |         goto label_14;
                                             |     }
    0x0005c080 addiu v0, zero, -1            |     v0 = -1;
    0x0005c084 b 0x5bb6c                     |     goto label_1;
                                             | label_29:
    0x0005c088 lw s5, -0x7158(gp)            |     s5 = *(gp);
    0x0005c08c b 0x5be24                     |     goto label_15;
                                             | label_34:
    0x0005c090 lw s2, -0x7f90(gp)            |     s2 = *((gp - 8164));
    0x0005c094 b 0x5bfcc                     |     goto label_16;
                                             | label_28:
    0x0005c098 sw s4, (s6)                   |     *(s6) = s4;
    0x0005c09c b 0x5bb6c                     |     goto label_1;
                                             | label_18:
    0x0005c0a0 addiu v0, zero, -1            |     v0 = -1;
    0x0005c0a4 jr ra                         |     return v0;
                                             | label_25:
    0x0005c0a8 move v0, s0                   |     v0 = s0;
    0x0005c0ac move s0, s2                   |     s0 = s2;
    0x0005c0b0 b 0x5bf58                     |     goto label_17;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x5d904 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlListClear ()              | void xmlListClear () {
    0x0005d904 lui gp, 0x13                  |     
    0x0005d908 addiu gp, gp, 0x3d6c          |     
    0x0005d90c addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x0005d910 beqz a0, 0x5d9a0              |         goto label_0;
                                             |     }
    0x0005d914 nop                           |     
    0x0005d918 lw v0, (a0)                   |     v0 = *(a0);
    0x0005d91c addiu sp, sp, -0x30           |     
    0x0005d920 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0005d924 lw s0, (v0)                   |     s0 = *(v0);
    0x0005d928 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0005d92c sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0005d930 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0005d934 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0005d938 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0005d93c lw s3, -0x7158(gp)            |     s3 = *(gp);
                                             |     if (v0 == s0) {
    0x0005d940 beq v0, s0, 0x5d984           |         goto label_1;
                                             |     }
    0x0005d944 move s2, a0                   |     s2 = a0;
                                             |     do {
    0x0005d948 lw s1, (s0)                   |         s1 = *(s0);
    0x0005d94c lw v0, 4(s0)                  |         v0 = *((s0 + 1));
    0x0005d950 lw t9, 4(s2)                  |         t9 = *((s2 + 1));
    0x0005d954 move a0, s0                   |         a0 = s0;
    0x0005d958 sw s1, (v0)                   |         *(v0) = s1;
    0x0005d95c sw v0, 4(s1)                  |         *((s1 + 1)) = v0;
                                             |         if (t9 != 0) {
    0x0005d960 beqz t9, 0x5d96c              |             
    0x0005d964 jalr t9                       |             t9 ();
    0x0005d968 nop                           |             
                                             |         }
    0x0005d96c lw t9, (s3)                   |         t9 = *(s3);
    0x0005d970 move a0, s0                   |         a0 = s0;
    0x0005d974 jalr t9                       |         t9 ();
    0x0005d978 lw v0, (s2)                   |         v0 = *(s2);
    0x0005d97c move s0, s1                   |         s0 = s1;
    0x0005d980 bne v0, s1, 0x5d948           |         
                                             |     } while (v0 != s1);
                                             | label_1:
    0x0005d984 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0005d988 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0005d98c lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0005d990 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0005d994 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0005d998 addiu sp, sp, 0x30            |     
    0x0005d99c jr ra                         |     return v0;
                                             | label_0:
    0x0005d9a0 jr ra                         |     return v0;
    0x0005d9a4 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 @ 0x5dae8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.xmlListEmpty ()          | void xmlListEmpty () {
                                         |     if (a0 != 0) {
    0x0005dae8 beqz a0, 0x5db04          |         
    0x0005daec nop                       |         
    0x0005daf0 lw v0, (a0)               |         v0 = *(a0);
    0x0005daf4 lw v1, (v0)               |         v1 = *(v0);
    0x0005daf8 xor v0, v0, v1            |         v0 ^= v1;
    0x0005dafc sltiu v0, v0, 1           |         v0 = (v0 < 1) ? 1 : 0;
    0x0005db00 jr ra                     |         return v0;
                                         |     }
    0x0005db04 addiu v0, zero, -1        |     v0 = -1;
    0x0005db08 jr ra                     |     return v0;
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x5db0c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.xmlListFront ()          | void xmlListFront () {
                                         |     if (a0 != 0) {
    0x0005db0c beqz a0, 0x5db20          |         
    0x0005db10 nop                       |         
    0x0005db14 lw v0, (a0)               |         v0 = *(a0);
    0x0005db18 lw v0, (v0)               |         v0 = *(v0);
    0x0005db1c jr ra                     |         return v0;
                                         |     }
    0x0005db20 move v0, zero             |     v0 = 0;
    0x0005db24 jr ra                     |     return v0;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x5d5bc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlListInsert ()             | void xmlListInsert () {
    0x0005d5bc lui gp, 0x13                  |     
    0x0005d5c0 addiu gp, gp, 0x40b4          |     
    0x0005d5c4 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x0005d5c8 beqz a0, 0x5d684              |         goto label_0;
                                             |     }
    0x0005d5cc nop                           |     
    0x0005d5d0 lw v0, (a0)                   |     v0 = *(a0);
    0x0005d5d4 addiu sp, sp, -0x28           |     
    0x0005d5d8 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x0005d5dc lw s0, (v0)                   |     s0 = *(v0);
    0x0005d5e0 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0005d5e4 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x0005d5e8 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x0005d5ec sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x0005d5f0 move s2, a1                   |     s2 = a1;
    0x0005d5f4 move s1, a0                   |     s1 = a0;
                                             |     if (v0 != s0) {
    0x0005d5f8 bne v0, s0, 0x5d614           |         goto label_1;
                                             |     }
    0x0005d5fc lw v0, -0x716c(gp)            |     v0 = *(gp);
    0x0005d600 b 0x5d630                     |     goto label_2;
                                             |     do {
    0x0005d604 lw s0, (s0)                   |         s0 = *(s0);
    0x0005d608 lw v0, (s1)                   |         v0 = *(s1);
    0x0005d60c lw v0, -0x716c(gp)            |         v0 = *(gp);
                                             |         if (s0 == v0) {
    0x0005d610 beq s0, v0, 0x5d630           |             goto label_2;
                                             |         }
                                             | label_1:
    0x0005d614 lw a0, 8(s0)                  |         a0 = *((s0 + 2));
    0x0005d618 lw t9, 8(s1)                  |         t9 = *((s1 + 2));
    0x0005d61c move a1, s2                   |         a1 = s2;
    0x0005d620 jalr t9                       |         t9 ();
    0x0005d624 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0005d628 bltz v0, 0x5d604              |         
                                             |     } while (v0 < 0);
    0x0005d62c lw v0, -0x716c(gp)            |     v0 = *(gp);
                                             | label_2:
    0x0005d630 lw t9, (v0)                   |     t9 = *(v0);
    0x0005d634 addiu a0, zero, 0xc           |     a0 = 0xc;
    0x0005d638 jalr t9                       |     t9 ();
    0x0005d63c move v1, v0                   |     v1 = v0;
    0x0005d640 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0005d644 beqz v0, 0x5d68c              |         
    0x0005d648 lw a0, 4(s0)                  |         a0 = *((s0 + 1));
    0x0005d64c sw s2, 8(v0)                  |         *((v0 + 2)) = s2;
    0x0005d650 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x0005d654 lw a1, (a0)                   |         a1 = *(a0);
    0x0005d658 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x0005d65c sw a1, (v1)                   |         *(v1) = a1;
    0x0005d660 lw a1, (a0)                   |         a1 = *(a0);
    0x0005d664 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x0005d668 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x0005d66c sw v1, 4(a1)                  |         *((a1 + 1)) = v1;
    0x0005d670 move v0, zero                 |         v0 = 0;
    0x0005d674 sw v1, (a0)                   |         *(a0) = v1;
    0x0005d678 sw a0, 4(v1)                  |         *((v1 + 1)) = a0;
    0x0005d67c addiu sp, sp, 0x28            |         
    0x0005d680 jr ra                         |         return v0;
                                             | label_0:
    0x0005d684 addiu v0, zero, 1             |         v0 = 1;
    0x0005d688 jr ra                         |         return v0;
                                             |     }
    0x0005d68c lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
    0x0005d690 lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x0005d694 lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x0005d698 lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x0005d69c lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x0005d6a0 addiu t9, t9, -0x2ddc         |     t9 += -0x2ddc;
    0x0005d6a4 addiu sp, sp, 0x28            |     
    0x0005d6a8 b 0x5d224                     |     return void (*0x5d224)() ();
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x5db78 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlListPopFront ()           | void xmlListPopFront () {
    0x0005db78 lui gp, 0x13                  |     
    0x0005db7c addiu gp, gp, 0x3af8          |     
    0x0005db80 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 != 0) {
    0x0005db84 beqz a0, 0x5dbf8              |         
    0x0005db88 nop                           |         
    0x0005db8c lw v0, (a0)                   |         v0 = *(a0);
    0x0005db90 addiu sp, sp, -0x20           |         
    0x0005db94 sw s0, 0x18(sp)               |         *(var_18h) = s0;
    0x0005db98 lw s0, (v0)                   |         s0 = *(v0);
    0x0005db9c sw gp, 0x10(sp)               |         *(var_10h) = gp;
    0x0005dba0 sw ra, 0x1c(sp)               |         *(var_1ch) = ra;
    0x0005dba4 lw ra, 0x1c(sp)               |         ra = *(var_1ch);
                                             |         if (v0 != s0) {
    0x0005dba8 beq v0, s0, 0x5dbec           |             
    0x0005dbac lw v1, 4(s0)                  |             v1 = *((s0 + 1));
    0x0005dbb0 lw v0, (s0)                   |             v0 = *(s0);
    0x0005dbb4 lw t9, 4(a0)                  |             t9 = *((a0 + 1));
    0x0005dbb8 sw v0, (v1)                   |             *(v1) = v0;
    0x0005dbbc sw v1, 4(v0)                  |             *((v0 + 1)) = v1;
                                             |             if (t9 != 0) {
    0x0005dbc0 beqz t9, 0x5dbd0              |                 
    0x0005dbc4 move a0, s0                   |                 a0 = s0;
    0x0005dbc8 jalr t9                       |                 t9 ();
    0x0005dbcc lw gp, 0x10(sp)               |                 gp = *(var_10h);
                                             |             }
    0x0005dbd0 lw v0, -0x7158(gp)            |             v0 = *(gp);
    0x0005dbd4 lw ra, 0x1c(sp)               |             ra = *(var_1ch);
    0x0005dbd8 move a0, s0                   |             a0 = s0;
    0x0005dbdc lw t9, (v0)                   |             t9 = *(v0);
    0x0005dbe0 lw s0, 0x18(sp)               |             s0 = *(var_18h);
    0x0005dbe4 addiu sp, sp, 0x20            |             
    0x0005dbe8 jr t9                         |             t9 ();
                                             |         }
    0x0005dbec lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x0005dbf0 addiu sp, sp, 0x20            |         
    0x0005dbf4 jr ra                         |         return v0;
                                             |     }
    0x0005dbf8 jr ra                         |     return v0;
    0x0005dbfc 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 @ 0x5dd28 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlListPushBack ()           | void xmlListPushBack () {
    0x0005dd28 lui gp, 0x13                  |     
    0x0005dd2c addiu gp, gp, 0x3948          |     
    0x0005dd30 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 != 0) {
    0x0005dd34 beqz a0, 0x5ddac              |         
    0x0005dd38 nop                           |         
    0x0005dd3c lw v1, -0x716c(gp)            |         v1 = *(gp);
    0x0005dd40 addiu sp, sp, -0x28           |         
    0x0005dd44 lw v0, (a0)                   |         v0 = *(a0);
    0x0005dd48 lw t9, (v1)                   |         t9 = *(v1);
    0x0005dd4c addiu a0, zero, 0xc           |         a0 = 0xc;
    0x0005dd50 sw gp, 0x10(sp)               |         *(var_10h) = gp;
    0x0005dd54 sw s1, 0x20(sp)               |         *(var_20h) = s1;
    0x0005dd58 sw s0, 0x1c(sp)               |         *(var_1ch) = s0;
    0x0005dd5c sw ra, 0x24(sp)               |         *(var_24h) = ra;
    0x0005dd60 move s1, a1                   |         s1 = a1;
    0x0005dd64 lw s0, 4(v0)                  |         s0 = *((v0 + 1));
    0x0005dd68 jalr t9                       |         t9 ();
    0x0005dd6c move v1, v0                   |         v1 = v0;
    0x0005dd70 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x0005dd74 beqz v0, 0x5ddb4              |             goto label_0;
                                             |         }
    0x0005dd78 lw v0, (s0)                   |         v0 = *(s0);
    0x0005dd7c lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x0005dd80 sw v0, (v1)                   |         *(v1) = v0;
    0x0005dd84 lw a0, (s0)                   |         a0 = *(s0);
    0x0005dd88 sw s1, 8(v1)                  |         *((v1 + 2)) = s1;
    0x0005dd8c addiu v0, zero, 1             |         v0 = 1;
    0x0005dd90 sw v1, 4(a0)                  |         *((a0 + 1)) = v1;
    0x0005dd94 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x0005dd98 sw v1, (s0)                   |         *(s0) = v1;
    0x0005dd9c sw s0, 4(v1)                  |         *((v1 + 1)) = s0;
    0x0005dda0 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x0005dda4 addiu sp, sp, 0x28            |         
    0x0005dda8 jr ra                         |         return v0;
                                             |     }
    0x0005ddac move v0, zero                 |     v0 = 0;
    0x0005ddb0 jr ra                         |     return v0;
                                             | label_0:
    0x0005ddb4 lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
    0x0005ddb8 lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x0005ddbc lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0005ddc0 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0005ddc4 addiu t9, t9, -0x2cdc         |     t9 += -0x2cdc;
    0x0005ddc8 addiu sp, sp, 0x28            |     
    0x0005ddcc b 0x5d324                     |     return void (*0x5d324)() ();
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x5d568 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlListReverseSearch ()          | void xmlListReverseSearch () {
    0x0005d568 lui gp, 0x13                      |     
    0x0005d56c addiu gp, gp, 0x4108              |     
    0x0005d570 addu gp, gp, t9                   |     gp += t9;
    0x0005d574 lw t9, -0x7b38(gp)                |     t9 = *((gp - 7886));
                                                 |     if (a0 != 0) {
    0x0005d578 beqz a0, 0x5d5b4                  |         
    0x0005d57c addiu sp, sp, -0x20               |         
    0x0005d580 sw gp, 0x10(sp)                   |         *(var_10h) = gp;
    0x0005d584 sw ra, 0x1c(sp)                   |         *(var_1ch) = ra;
    0x0005d588 addiu t9, t9, -0x2e90             |         t9 += -0x2e90;
    0x0005d58c bal 0x5d170                       |         fcn_0005d170 ();
    0x0005d590 nop                               |         
    0x0005d594 lw ra, 0x1c(sp)                   |         ra = *(var_1ch);
                                                 |         if (v0 != 0) {
    0x0005d598 beqz v0, 0x5d5a8                  |             
    0x0005d59c lw v0, 8(v0)                      |             v0 = *((v0 + 2));
    0x0005d5a0 addiu sp, sp, 0x20                |             
    0x0005d5a4 jr ra                             |             return v0;
                                                 |         }
    0x0005d5a8 move v0, zero                     |         v0 = 0;
    0x0005d5ac addiu sp, sp, 0x20                |         
    0x0005d5b0 jr ra                             |         return v0;
                                                 |     }
    0x0005d5b4 move v0, zero                     |     v0 = 0;
    0x0005d5b8 jr ra                             |     return v0;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x5dde8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlListReverse ()            | void xmlListReverse () {
                                             |     if (a0 == 0) {
    0x0005dde8 beqz a0, 0x5de30              |         goto label_0;
                                             |     }
    0x0005ddec nop                           |     
    0x0005ddf0 lw a1, (a0)                   |     a1 = *(a0);
    0x0005ddf4 lw v0, (a1)                   |     v0 = *(a1);
    0x0005ddf8 move v1, a1                   |     v1 = a1;
                                             |     if (a1 == v0) {
    0x0005ddfc beq a1, v0, 0x5de38           |         goto label_1;
                                             |     }
    0x0005de00 lw a0, 4(v1)                  |     a0 = *((v1 + 1));
    0x0005de04 b 0x5de10                     |     
                                             |     while (a1 != a0) {
    0x0005de08 move v0, a0                   |         v0 = a0;
    0x0005de0c lw a0, 4(v1)                  |         a0 = *((v1 + 1));
    0x0005de10 sw v0, 4(v1)                  |         *((v1 + 1)) = v0;
    0x0005de14 sw a0, (v1)                   |         *(v1) = a0;
    0x0005de18 lw a0, (v0)                   |         a0 = *(v0);
    0x0005de1c move v1, v0                   |         v1 = v0;
    0x0005de20 bne a1, a0, 0x5de08           |         
                                             |     }
                                             |     do {
    0x0005de24 lw v1, 4(v0)                  |         v1 = *((v0 + 1));
    0x0005de28 sw a0, 4(v0)                  |         *((v0 + 1)) = a0;
    0x0005de2c sw v1, (v0)                   |         *(v0) = v1;
                                             | label_0:
    0x0005de30 jr ra                         |         return v1;
    0x0005de34 nop                           |         
                                             | label_1:
    0x0005de38 move a0, v0                   |         a0 = v0;
    0x0005de3c b 0x5de24                     |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x5ded0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlListReverseWalk ()        | void xmlListReverseWalk () {
                                             |     if (a0 == 0) {
    0x0005ded0 beqz a0, 0x5df58              |         goto label_0;
                                             |     }
    0x0005ded4 nop                           |     
                                             |     if (a1 == 0) {
    0x0005ded8 beqz a1, 0x5df58              |         goto label_0;
                                             |     }
    0x0005dedc nop                           |     
    0x0005dee0 lw v0, (a0)                   |     v0 = *(a0);
    0x0005dee4 addiu sp, sp, -0x30           |     
    0x0005dee8 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0005deec lw s0, 4(v0)                  |     s0 = *((v0 + 1));
    0x0005def0 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0005def4 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0005def8 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0005defc sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0005df00 move s3, a2                   |     s3 = a2;
    0x0005df04 move s2, a1                   |     s2 = a1;
    0x0005df08 move s1, a0                   |     s1 = a0;
                                             |     if (v0 != s0) {
    0x0005df0c bne v0, s0, 0x5df24           |         goto label_1;
                                             |     }
    0x0005df10 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0005df14 b 0x5df40                     |     goto label_2;
                                             |     do {
    0x0005df18 lw v0, (s1)                   |         v0 = *(s1);
    0x0005df1c lw ra, 0x2c(sp)               |         ra = *(var_2ch);
                                             |         if (s0 == v0) {
    0x0005df20 beq s0, v0, 0x5df40           |             goto label_2;
                                             |         }
                                             | label_1:
    0x0005df24 lw a0, 8(s0)                  |         a0 = *((s0 + 2));
    0x0005df28 move t9, s2                   |         t9 = s2;
    0x0005df2c move a1, s3                   |         a1 = s3;
    0x0005df30 jalr t9                       |         t9 ();
    0x0005df34 lw s0, 4(s0)                  |         s0 = *((s0 + 1));
    0x0005df38 bnel v0, zero, 0x5df18        |         
                                             |     } while (v0 == 0);
    0x0005df3c lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             | label_2:
    0x0005df40 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0005df44 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0005df48 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0005df4c lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0005df50 addiu sp, sp, 0x30            |     
    0x0005df54 jr ra                         |     return v0;
                                             | label_0:
    0x0005df58 jr ra                         |     return v0;
    0x0005df5c 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 @ 0x5ded0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlListReverseWalk ()        | void xmlListReverseWalk () {
                                             |     if (a0 == 0) {
    0x0005ded0 beqz a0, 0x5df58              |         goto label_0;
                                             |     }
    0x0005ded4 nop                           |     
                                             |     if (a1 == 0) {
    0x0005ded8 beqz a1, 0x5df58              |         goto label_0;
                                             |     }
    0x0005dedc nop                           |     
    0x0005dee0 lw v0, (a0)                   |     v0 = *(a0);
    0x0005dee4 addiu sp, sp, -0x30           |     
    0x0005dee8 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0005deec lw s0, 4(v0)                  |     s0 = *((v0 + 1));
    0x0005def0 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0005def4 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0005def8 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0005defc sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0005df00 move s3, a2                   |     s3 = a2;
    0x0005df04 move s2, a1                   |     s2 = a1;
    0x0005df08 move s1, a0                   |     s1 = a0;
                                             |     if (v0 != s0) {
    0x0005df0c bne v0, s0, 0x5df24           |         goto label_1;
                                             |     }
    0x0005df10 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0005df14 b 0x5df40                     |     goto label_2;
                                             |     do {
    0x0005df18 lw v0, (s1)                   |         v0 = *(s1);
    0x0005df1c lw ra, 0x2c(sp)               |         ra = *(var_2ch);
                                             |         if (s0 == v0) {
    0x0005df20 beq s0, v0, 0x5df40           |             goto label_2;
                                             |         }
                                             | label_1:
    0x0005df24 lw a0, 8(s0)                  |         a0 = *((s0 + 2));
    0x0005df28 move t9, s2                   |         t9 = s2;
    0x0005df2c move a1, s3                   |         a1 = s3;
    0x0005df30 jalr t9                       |         t9 ();
    0x0005df34 lw s0, 4(s0)                  |         s0 = *((s0 + 1));
    0x0005df38 bnel v0, zero, 0x5df18        |         
                                             |     } while (v0 == 0);
    0x0005df3c lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             | label_2:
    0x0005df40 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0005df44 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0005df48 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0005df4c lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0005df50 addiu sp, sp, 0x30            |     
    0x0005df54 jr ra                         |     return v0;
                                             | label_0:
    0x0005df58 jr ra                         |     return v0;
    0x0005df5c 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 @ 0x5e044 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.xmlListSort ()           | void xmlListSort () {
    0x0005e044 lui gp, 0x13              |     
    0x0005e048 addiu gp, gp, 0x362c      |     
    0x0005e04c addu gp, gp, t9           |     gp += t9;
                                         |     if (a0 == 0) {
    0x0005e050 beqz a0, 0x5e0ec          |         goto label_0;
                                         |     }
    0x0005e054 nop                       |     
    0x0005e058 lw v1, (a0)               |     v1 = *(a0);
    0x0005e05c addiu sp, sp, -0x28       |     
    0x0005e060 lw a1, (v1)               |     a1 = *(v1);
    0x0005e064 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x0005e068 sw s0, 0x1c(sp)           |     *(var_1ch) = s0;
    0x0005e06c sw ra, 0x24(sp)           |     *(var_24h) = ra;
    0x0005e070 sw s1, 0x20(sp)           |     *(var_20h) = s1;
    0x0005e074 move s0, a0               |     s0 = a0;
    0x0005e078 bne v1, a1, 0x5e090       |     
                                         |     while (v0 == 0) {
    0x0005e07c lw ra, 0x24(sp)           |         ra = *(var_24h);
    0x0005e080 lw s1, 0x20(sp)           |         s1 = *(var_20h);
    0x0005e084 lw s0, 0x1c(sp)           |         s0 = *(var_1ch);
    0x0005e088 addiu sp, sp, 0x28        |         
    0x0005e08c jr ra                     |         return v0;
    0x0005e090 lw t9, -0x7b0c(gp)        |         t9 = *(gp);
    0x0005e094 bal 0x5dfb4               |         sym_xmlListDup ();
    0x0005e098 nop                       |         
    0x0005e09c move s1, v0               |         s1 = v0;
    0x0005e0a0 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0005e0a4 beqz v0, 0x5e07c          |         
                                         |     }
    0x0005e0a8 lw t9, -0x7b18(gp)        |     t9 = *(gp);
    0x0005e0ac move a0, s0               |     a0 = s0;
    0x0005e0b0 bal 0x5d904               |     sym_xmlListClear ();
    0x0005e0b4 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x0005e0b8 move a0, s0               |     a0 = s0;
    0x0005e0bc lw t9, -0x7b08(gp)        |     t9 = *((gp - 7874));
    0x0005e0c0 move a1, s1               |     a1 = s1;
    0x0005e0c4 bal 0x5df60               |     sym_xmlListMerge ();
    0x0005e0c8 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x0005e0cc lw ra, 0x24(sp)           |     ra = *(var_24h);
    0x0005e0d0 lw s0, 0x1c(sp)           |     s0 = *(var_1ch);
    0x0005e0d4 lw t9, -0x7b38(gp)        |     t9 = *((gp - 7886));
    0x0005e0d8 move a0, s1               |     a0 = s1;
    0x0005e0dc lw s1, 0x20(sp)           |     s1 = *(var_20h);
    0x0005e0e0 addiu t9, t9, -0x2658     |     t9 += -0x2658;
    0x0005e0e4 addiu sp, sp, 0x28        |     
    0x0005e0e8 b 0x5d9a8                 |     void (*0x5d9a8)() ();
                                         | label_0:
    0x0005e0ec jr ra                     |     return v0;
    0x0005e0f0 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 @ 0x23674 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlNewCharEncodingHandler ()     | void xmlNewCharEncodingHandler () {
    0x00023674 lui gp, 0x17                      |     
    0x00023678 addiu gp, gp, -0x2004             |     
    0x0002367c addu gp, gp, t9                   |     gp += t9;
    0x00023680 addiu sp, sp, -0x238              |     
    0x00023684 lw t9, -0x7f70(gp)                |     t9 = *(gp);
    0x00023688 sw s0, 0x220(sp)                  |     *(var_18h) = s0;
    0x0002368c lw s0, -0x7000(gp)                |     s0 = *((gp - 7168));
    0x00023690 sw gp, 0x18(sp)                   |     *(var_18h_2) = gp;
    0x00023694 sw s4, 0x230(sp)                  |     *(var_28h) = s4;
    0x00023698 lw v0, (s0)                       |     v0 = *(s0);
    0x0002369c sw s2, 0x228(sp)                  |     *(var_20h) = s2;
    0x000236a0 sw s1, 0x224(sp)                  |     *(var_224h) = s1;
    0x000236a4 sw ra, 0x234(sp)                  |     *(var_2ch) = ra;
    0x000236a8 sw s3, 0x22c(sp)                  |     *(var_24h) = s3;
    0x000236ac sw v0, 0x21c(sp)                  |     *(var_21ch) = v0;
    0x000236b0 move s4, a0                       |     s4 = a0;
    0x000236b4 move s1, a1                       |     s1 = a1;
    0x000236b8 move s2, a2                       |     s2 = a2;
    0x000236bc bal 0x22a84                       |     sym_xmlGetEncodingAlias ();
    0x000236c0 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
                                                 |     if (v0 == 0) {
    0x000236c4 beqz v0, 0x237b4                  |         goto label_2;
                                                 |     }
    0x000236c8 move s3, v0                       |     s3 = v0;
    0x000236cc lw t9, -0x6f14(gp)                |     t9 = *((gp - 7109));
                                                 | label_0:
    0x000236d0 jalr t9                           |     t9 ();
    0x000236d4 nop                               |     
    0x000236d8 addiu a0, sp, 0x28                |     a0 = sp + 0x28;
    0x000236dc lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x000236e0 lw a2, (v0)                       |     a2 = *(v0);
    0x000236e4 move a1, a0                       |     a1 = a0;
    0x000236e8 move v1, zero                     |     v1 = 0;
    0x000236ec addiu a3, zero, 0x1f3             |     a3 = 0x1f3;
    0x000236f0 b 0x23700                         |     
                                                 |     while (v0 != 0) {
    0x000236f4 addiu v1, v1, 1                   |         v1++;
    0x000236f8 addiu a1, a1, 1                   |         a1++;
                                                 |         if (v1 == a3) {
    0x000236fc beq v1, a3, 0x2371c               |             goto label_3;
                                                 |         }
    0x00023700 addu v0, s3, v1                   |         v0 = s3 + v1;
    0x00023704 lb v0, (v0)                       |         v0 = *(v0);
    0x00023708 sll v0, v0, 2                     |         v0 <<= 2;
    0x0002370c lwx v0, v0(a2)                    |         __asm ("lwx v0, v0(a2)");
    0x00023710 seb v0, v0                        |         __asm ("seb v0, v0");
    0x00023714 sb v0, (a1)                       |         *(a1) = v0;
    0x00023718 bnez v0, 0x236f4                  |         
                                                 |     }
                                                 | label_3:
    0x0002371c addiu v0, sp, 0x220               |     v0 = sp + aav.0x00000220;
    0x00023720 addu v1, v0, v1                   |     v1 = v0 + v1;
    0x00023724 lw v0, -0x6e34(gp)                |     v0 = *(gp);
    0x00023728 sb zero, -0x1f8(v1)               |     *(v1) = 0;
    0x0002372c lw t9, (v0)                       |     t9 = *(v0);
    0x00023730 jalr t9                           |     t9 ();
    0x00023734 nop                               |     
    0x00023738 move s3, v0                       |     s3 = v0;
    0x0002373c lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
                                                 |     if (v0 == 0) {
    0x00023740 beqz v0, 0x23834                  |         goto label_4;
                                                 |     }
    0x00023744 lw v0, -0x716c(gp)                |     v0 = *(gp);
    0x00023748 lw t9, (v0)                       |     t9 = *(v0);
    0x0002374c addiu a0, zero, 0x14              |     a0 = 0x14;
    0x00023750 jalr t9                           |     t9 ();
    0x00023754 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
                                                 |     if (v0 == 0) {
    0x00023758 beqz v0, 0x237c4                  |         goto label_5;
                                                 |     }
    0x0002375c lw t9, -0x7f68(gp)                |     t9 = *((gp - 8154));
    0x00023760 sw s1, 4(v0)                      |     *((v0 + 1)) = s1;
    0x00023764 sw s2, 8(v0)                      |     *((v0 + 2)) = s2;
    0x00023768 sw s3, (v0)                       |     *(v0) = s3;
    0x0002376c sw zero, 0xc(v0)                  |     *((v0 + 3)) = 0;
    0x00023770 sw zero, 0x10(v0)                 |     *((v0 + 4)) = 0;
    0x00023774 move a0, v0                       |     a0 = v0;
    0x00023778 sw v0, 0x24(sp)                   |     *(var_24h_3) = v0;
    0x0002377c bal 0x23598                       |     sym_xmlRegisterCharEncodingHandler ();
    0x00023780 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x00023784 lw v0, 0x24(sp)                   |     v0 = *(var_24h_3);
                                                 |     do {
                                                 | label_1:
    0x00023788 lw a0, 0x21c(sp)                  |         a0 = *(var_21ch);
    0x0002378c lw v1, (s0)                       |         v1 = *(s0);
    0x00023790 lw ra, 0x234(sp)                  |         ra = *(var_2ch);
                                                 |         if (a0 != v1) {
    0x00023794 bne a0, v1, 0x23864               |             goto label_6;
                                                 |         }
    0x00023798 lw s4, 0x230(sp)                  |         s4 = *(var_28h);
    0x0002379c lw s3, 0x22c(sp)                  |         s3 = *(var_24h);
    0x000237a0 lw s2, 0x228(sp)                  |         s2 = *(var_20h);
    0x000237a4 lw s1, 0x224(sp)                  |         s1 = *(var_224h);
    0x000237a8 lw s0, 0x220(sp)                  |         s0 = *(var_18h);
    0x000237ac addiu sp, sp, 0x238               |         
    0x000237b0 jr ra                             |         return v0;
                                                 | label_2:
    0x000237b4 move s3, s4                       |         s3 = s4;
                                                 |         if (s4 == 0) {
    0x000237b8 beqz s4, 0x2380c                  |             goto label_7;
                                                 |         }
    0x000237bc lw t9, -0x6f14(gp)                |         t9 = *((gp - 7109));
    0x000237c0 b 0x236d0                         |         goto label_0;
                                                 | label_5:
    0x000237c4 lw v1, -0x7158(gp)                |         v1 = *(gp);
    0x000237c8 sw v0, 0x24(sp)                   |         *(var_24h_3) = v0;
    0x000237cc lw t9, (v1)                       |         t9 = *(v1);
    0x000237d0 move a0, s3                       |         a0 = s3;
    0x000237d4 jalr t9                           |         t9 ();
    0x000237d8 lw gp, 0x18(sp)                   |         gp = *(var_18h_2);
    0x000237dc move a3, zero                     |         a3 = 0;
    0x000237e0 move a2, zero                     |         a2 = 0;
    0x000237e4 lw v1, -0x7fd4(gp)                |         v1 = *(gp);
    0x000237e8 lw t9, -0x6db8(gp)                |         t9 = *((gp - 7022));
    0x000237ec addiu v1, v1, 0x632c              |         v1 += 0x632c;
    0x000237f0 sw v1, 0x10(sp)                   |         *(var_10h_2) = v1;
    0x000237f4 addiu a1, zero, 2                 |         a1 = 2;
    0x000237f8 addiu a0, zero, 0x1b              |         a0 = 0x1b;
    0x000237fc jalr t9                           |         t9 ();
    0x00023800 lw gp, 0x18(sp)                   |         gp = *(var_18h_2);
    0x00023804 lw v0, 0x24(sp)                   |         v0 = *(var_24h_3);
    0x00023808 b 0x23788                         |         
                                                 |     } while (1);
                                                 | label_7:
    0x0002380c lw a1, -0x7fd4(gp)                |     a1 = *(gp);
    0x00023810 lw t9, -0x7fdc(gp)                |     t9 = *((gp - 8183));
    0x00023814 move a2, zero                     |     a2 = 0;
    0x00023818 addiu a1, a1, 0x6304              |     a1 += 0x6304;
    0x0002381c addiu t9, t9, 0x2408              |     t9 += 0x2408;
    0x00023820 addiu a0, zero, 0x1770            |     a0 = aav.0x00001770;
    0x00023824 bal 0x22408                       |     fcn_00022408 ();
    0x00023828 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x0002382c move v0, zero                     |     v0 = 0;
    0x00023830 b 0x23788                         |     goto label_1;
                                                 | label_4:
    0x00023834 lw v0, -0x7fd4(gp)                |     v0 = *(gp);
    0x00023838 lw t9, -0x6db8(gp)                |     t9 = *((gp - 7022));
    0x0002383c addiu v0, v0, 0x632c              |     v0 += 0x632c;
    0x00023840 sw v0, 0x10(sp)                   |     *(var_10h_2) = v0;
    0x00023844 move a3, zero                     |     a3 = 0;
    0x00023848 move a2, zero                     |     a2 = 0;
    0x0002384c addiu a1, zero, 2                 |     a1 = 2;
    0x00023850 addiu a0, zero, 0x1b              |     a0 = 0x1b;
    0x00023854 jalr t9                           |     t9 ();
    0x00023858 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x0002385c move v0, zero                     |     v0 = 0;
    0x00023860 b 0x23788                         |     goto label_1;
                                                 | label_6:
    0x00023864 lw t9, -0x7074(gp)                |     t9 = *((gp - 7197));
    0x00023868 jalr t9                           |     t9 ();
    0x0002386c 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 @ 0x61f7c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlOutputBufferFlush ()      | void xmlOutputBufferFlush () {
    0x00061f7c lui gp, 0x13                  |     
    0x00061f80 addiu gp, gp, -0x90c          |     
    0x00061f84 addu gp, gp, t9               |     gp += t9;
    0x00061f88 addiu sp, sp, -0x30           |     
    0x00061f8c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00061f90 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x00061f94 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x00061f98 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x00061f9c sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x00061fa0 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x00061fa4 addiu s1, zero, -1            |     s1 = -1;
                                             |     if (a0 != 0) {
    0x00061fa8 beqz a0, 0x62038              |         
    0x00061fac lw s1, 0x1c(a0)               |         s1 = *((a0 + 7));
    0x00061fb0 addiu s1, zero, -1            |         s1 = -1;
                                             |         if (s1 == 0) {
    0x00061fb4 bnel s1, zero, 0x62038        |             goto label_2;
                                             |         }
    0x00061fb8 lw v0, 0x14(a0)               |         v0 = *((a0 + 5));
    0x00061fbc move s0, a0                   |         s0 = a0;
                                             |         if (v0 != 0) {
    0x00061fc0 beqz v0, 0x61fd0              |             
    0x00061fc4 lw v0, 0xc(a0)                |             v0 = *((a0 + 3));
    0x00061fc8 lw t9, -0x6e20(gp)            |             t9 = *((gp - 7048));
                                             |             if (v0 != 0) {
    0x00061fcc bnez v0, 0x62060              |                 goto label_4;
                                             |             }
                                             |         }
    0x00061fd0 lw s2, 4(s0)                  |         s2 = *((s0 + 1));
                                             | label_0:
    0x00061fd4 lw t9, -0x7f48(gp)            |         t9 = *(gp);
                                             |         if (s2 != 0) {
    0x00061fd8 beqz s2, 0x6202c              |             
    0x00061fdc lw a0, 0x10(s0)               |             a0 = *((s0 + 4));
    0x00061fe0 lw s1, (s0)                   |             s1 = *(s0);
    0x00061fe4 jalr t9                       |             t9 ();
    0x00061fe8 lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x00061fec lw a0, 0x10(s0)               |             a0 = *((s0 + 4));
    0x00061ff0 lw t9, -0x7f4c(gp)            |             t9 = *((gp - 8147));
    0x00061ff4 move s3, v0                   |             s3 = v0;
    0x00061ff8 jalr t9                       |             t9 ();
    0x00061ffc move a2, v0                   |             a2 = v0;
    0x00062000 move a0, s1                   |             a0 = s1;
    0x00062004 move t9, s2                   |             t9 = s2;
    0x00062008 move a1, s3                   |             a1 = s3;
    0x0006200c jalr t9                       |             t9 ();
    0x00062010 move s1, v0                   |             s1 = v0;
    0x00062014 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |             if (v0 < 0) {
    0x00062018 bltz v0, 0x62110              |                 goto label_5;
                                             |             }
    0x0006201c lw a0, 0x10(s0)               |             a0 = *((s0 + 4));
    0x00062020 lw t9, -0x7f40(gp)            |             t9 = *(gp);
    0x00062024 move a1, v0                   |             a1 = v0;
    0x00062028 jalr t9                       |             t9 ();
                                             |         }
                                             | label_1:
    0x0006202c lw v0, 0x18(s0)               |         v0 = *((s0 + 6));
                                             | label_3:
    0x00062030 addu v0, v0, s1               |         v0 += s1;
    0x00062034 sw v0, 0x18(s0)               |         *((s0 + 6)) = v0;
                                             |     }
                                             | label_2:
    0x00062038 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0006203c move v0, s1                   |     v0 = s1;
    0x00062040 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x00062044 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x00062048 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0006204c lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x00062050 addiu sp, sp, 0x30            |     
    0x00062054 jr ra                         |     return v0;
                                             |     do {
    0x00062058 lw t9, -0x6e20(gp)            |         t9 = *((gp - 7048));
                                             |         if (v0 == 0) {
    0x0006205c beqz v0, 0x620b4              |             goto label_6;
                                             |         }
                                             | label_4:
    0x00062060 move a1, zero                 |         a1 = 0;
    0x00062064 move a0, s0                   |         a0 = s0;
    0x00062068 jalr t9                       |         t9 ();
    0x0006206c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00062070 bgez v0, 0x62058              |         
                                             |     } while (v0 >= 0);
    0x00062074 lw t9, -0x7100(gp)            |     t9 = *((gp - 7232));
    0x00062078 move a2, zero                 |     a2 = 0;
    0x0006207c addiu a1, zero, 0x608         |     a1 = aav.0x00000608;
    0x00062080 addiu a0, zero, 8             |     a0 = 8;
    0x00062084 jalr t9                       |     t9 ();
    0x00062088 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0006208c addiu v0, zero, 0x608         |     v0 = aav.0x00000608;
    0x00062090 addiu s1, zero, -1            |     s1 = -1;
    0x00062094 sw v0, 0x1c(s0)               |     *((s0 + 7)) = v0;
    0x00062098 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0006209c move v0, s1                   |     v0 = s1;
    0x000620a0 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x000620a4 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x000620a8 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x000620ac addiu sp, sp, 0x30            |     
    0x000620b0 jr ra                         |     return v0;
                                             | label_6:
    0x000620b4 lw a0, 0x14(s0)               |     a0 = *((s0 + 5));
    0x000620b8 lw s2, 4(s0)                  |     s2 = *((s0 + 1));
                                             |     if (a0 == 0) {
    0x000620bc beqz a0, 0x61fd4              |         goto label_0;
                                             |     }
    0x000620c0 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
                                             |     if (v0 == 0) {
    0x000620c4 beqz v0, 0x61fd4              |         goto label_0;
                                             |     }
    0x000620c8 nop                           |     
    0x000620cc lw t9, -0x7f48(gp)            |     t9 = *(gp);
                                             |     if (s2 == 0) {
    0x000620d0 beqz s2, 0x6202c              |         goto label_1;
                                             |     }
    0x000620d4 lw s1, (s0)                   |     s1 = *(s0);
    0x000620d8 jalr t9                       |     t9 ();
    0x000620dc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000620e0 lw a0, 0x14(s0)               |     a0 = *((s0 + 5));
    0x000620e4 lw t9, -0x7f4c(gp)            |     t9 = *((gp - 8147));
    0x000620e8 move s3, v0                   |     s3 = v0;
    0x000620ec jalr t9                       |     t9 ();
    0x000620f0 move a2, v0                   |     a2 = v0;
    0x000620f4 move a0, s1                   |     a0 = s1;
    0x000620f8 move t9, s2                   |     t9 = s2;
    0x000620fc move a1, s3                   |     a1 = s3;
    0x00062100 jalr t9                       |     t9 ();
    0x00062104 move s1, v0                   |     s1 = v0;
    0x00062108 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 < 0) {
    0x0006210c bgez v0, 0x62130              |         
                                             | label_5:
    0x00062110 lw t9, -0x7100(gp)            |         t9 = *((gp - 7232));
    0x00062114 move a2, zero                 |         a2 = 0;
    0x00062118 addiu a1, zero, 0x609         |         a1 = 0x609;
    0x0006211c addiu a0, zero, 8             |         a0 = 8;
    0x00062120 jalr t9                       |         t9 ();
    0x00062124 addiu v0, zero, 0x609         |         v0 = 0x609;
    0x00062128 sw v0, 0x1c(s0)               |         *((s0 + 7)) = v0;
    0x0006212c b 0x62038                     |         goto label_2;
                                             |     }
    0x00062130 lw a0, 0x14(s0)               |     a0 = *((s0 + 5));
    0x00062134 lw t9, -0x7f40(gp)            |     t9 = *(gp);
    0x00062138 move a1, v0                   |     a1 = v0;
    0x0006213c jalr t9                       |     t9 ();
    0x00062140 lw v0, 0x18(s0)               |     v0 = *((s0 + 6));
    0x00062144 b 0x62030                     |     goto label_3;
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x3b228 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlParseAttributeListDecl ()         | void xmlParseAttributeListDecl () {
    0x0003b228 lui gp, 0x15                          |     
    0x0003b22c addiu gp, gp, 0x6448                  |     
    0x0003b230 addu gp, gp, t9                       |     gp += t9;
    0x0003b234 addiu sp, sp, -0x88                   |     
    0x0003b238 addiu a1, zero, 0x3c                  |     a1 = 0x3c;
    0x0003b23c sw s4, 0x70(sp)                       |     *(var_70h) = s4;
    0x0003b240 move s4, a0                           |     s4 = a0;
    0x0003b244 lw a0, 0x24(a0)                       |     a0 = *((a0 + 9));
    0x0003b248 sw fp, 0x80(sp)                       |     *(var_80h) = fp;
    0x0003b24c lw fp, -0x7000(gp)                    |     fp = *((gp - 7168));
    0x0003b250 lw v0, 0x10(a0)                       |     v0 = *((a0 + 4));
    0x0003b254 sw gp, 0x20(sp)                       |     *(var_20h) = gp;
    0x0003b258 lw a2, (fp)                           |     a2 = *(fp);
    0x0003b25c sw ra, 0x84(sp)                       |     *(var_84h) = ra;
    0x0003b260 sw s7, 0x7c(sp)                       |     *(var_7ch) = s7;
    0x0003b264 sw s6, 0x78(sp)                       |     *(var_78h) = s6;
    0x0003b268 sw s5, 0x74(sp)                       |     *(var_74h) = s5;
    0x0003b26c sw s3, 0x6c(sp)                       |     *(var_6ch) = s3;
    0x0003b270 sw s2, 0x68(sp)                       |     *(var_68h) = s2;
    0x0003b274 sw s1, 0x64(sp)                       |     *(var_64h) = s1;
    0x0003b278 sw s0, 0x60(sp)                       |     *(var_60h) = s0;
    0x0003b27c sw a2, 0x5c(sp)                       |     *(var_5ch) = a2;
    0x0003b280 lbu a2, (v0)                          |     a2 = *(v0);
                                                     |     if (a2 == a1) {
    0x0003b284 beql a2, a1, 0x3b2c8                  |         goto label_24;
                                                     |     }
    0x0003b288 lbu a2, 1(v0)                         |     a2 = *((v0 + 1));
                                                     |     do {
                                                     | label_0:
    0x0003b28c lw a0, 0x5c(sp)                       |         a0 = *(var_5ch);
    0x0003b290 lw v0, (fp)                           |         v0 = *(fp);
    0x0003b294 lw ra, 0x84(sp)                       |         ra = *(var_84h);
                                                     |         if (a0 != v0) {
    0x0003b298 bne a0, v0, 0x3b610                   |             goto label_25;
                                                     |         }
    0x0003b29c lw fp, 0x80(sp)                       |         fp = *(var_80h);
    0x0003b2a0 lw s7, 0x7c(sp)                       |         s7 = *(var_7ch);
    0x0003b2a4 lw s6, 0x78(sp)                       |         s6 = *(var_78h);
    0x0003b2a8 lw s5, 0x74(sp)                       |         s5 = *(var_74h);
    0x0003b2ac lw s4, 0x70(sp)                       |         s4 = *(var_70h);
    0x0003b2b0 lw s3, 0x6c(sp)                       |         s3 = *(var_6ch);
    0x0003b2b4 lw s2, 0x68(sp)                       |         s2 = *(var_68h);
    0x0003b2b8 lw s1, 0x64(sp)                       |         s1 = *(var_64h);
    0x0003b2bc lw s0, 0x60(sp)                       |         s0 = *(var_60h);
    0x0003b2c0 addiu sp, sp, 0x88                    |         
    0x0003b2c4 jr ra                                 |         return v0;
                                                     | label_24:
    0x0003b2c8 addiu a1, zero, 0x21                  |         a1 = 0x21;
    0x0003b2cc addiu a1, zero, 0x41                  |         a1 = 0x41;
    0x0003b2d0 bne a2, a1, 0x3b28c                   |         
                                                     |     } while (a2 != a1);
    0x0003b2d4 lbu a2, 2(v0)                         |     a2 = *((v0 + 2));
    0x0003b2d8 addiu a2, zero, 0x54                  |     a2 = 0x54;
                                                     |     if (a2 != a1) {
    0x0003b2dc bne a2, a1, 0x3b28c                   |         goto label_0;
                                                     |     }
    0x0003b2e0 lbu a1, 3(v0)                         |     a1 = *((v0 + 3));
                                                     |     if (a1 != a2) {
    0x0003b2e4 bne a1, a2, 0x3b28c                   |         goto label_0;
                                                     |     }
    0x0003b2e8 nop                                   |     
    0x0003b2ec lbu a2, 4(v0)                         |     a2 = *((v0 + 4));
    0x0003b2f0 addiu a1, zero, 0x4c                  |     a1 = 0x4c;
                                                     |     if (a2 != a1) {
    0x0003b2f4 bne a2, a1, 0x3b28c                   |         goto label_0;
                                                     |     }
    0x0003b2f8 lbu a3, 5(v0)                         |     a3 = *((v0 + 5));
    0x0003b2fc addiu a1, zero, 0x49                  |     a1 = 0x49;
                                                     |     if (a3 != a1) {
    0x0003b300 bne a3, a1, 0x3b28c                   |         goto label_0;
                                                     |     }
    0x0003b304 lbu a3, 6(v0)                         |     a3 = *((v0 + 6));
    0x0003b308 addiu a1, zero, 0x53                  |     a1 = 0x53;
                                                     |     if (a3 != a1) {
    0x0003b30c bne a3, a1, 0x3b28c                   |         goto label_0;
                                                     |     }
    0x0003b310 lbu a3, 7(v0)                         |     a3 = *((v0 + 7));
                                                     |     if (a3 != a1) {
    0x0003b314 bne a3, a1, 0x3b28c                   |         goto label_0;
                                                     |     }
    0x0003b318 nop                                   |     
    0x0003b31c lbu a1, 8(v0)                         |     a1 = *((v0 + 8));
    0x0003b320 addiu a3, v0, 9                       |     a3 = v0 + 9;
                                                     |     if (a1 != a2) {
    0x0003b324 bne a1, a2, 0x3b28c                   |         goto label_0;
                                                     |     }
    0x0003b328 lw a2, 0xc8(s4)                       |     a2 = *((s4 + 50));
    0x0003b32c lw a1, 0x20(a0)                       |     a1 = *((a0 + 8));
    0x0003b330 addiu a2, a2, 9                       |     a2 += 9;
    0x0003b334 addiu a1, a1, 9                       |     a1 += 9;
    0x0003b338 lw v1, 0x38(a0)                       |     v1 = *((a0 + 14));
    0x0003b33c sw a2, 0xc8(s4)                       |     *((s4 + 50)) = a2;
    0x0003b340 sw a3, 0x10(a0)                       |     *((a0 + 4)) = a3;
    0x0003b344 sw a1, 0x20(a0)                       |     *((a0 + 8)) = a1;
    0x0003b348 lbu v0, 9(v0)                         |     v0 = *((v0 + 9));
    0x0003b34c sw v1, 0x38(sp)                       |     *(var_38h) = v1;
                                                     |     if (v0 == 0) {
    0x0003b350 beqz v0, 0x3bb44                      |         goto label_26;
                                                     |     }
                                                     | label_23:
    0x0003b354 lw t9, -0x7df4(gp)                    |     t9 = *((gp - 8061));
    0x0003b358 move a0, s4                           |     a0 = s4;
    0x0003b35c sw t9, 0x30(sp)                       |     *(var_30h) = t9;
    0x0003b360 bal 0x38628                           |     sym_xmlSkipBlankChars ();
    0x0003b364 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 == 0) {
    0x0003b368 beqz v0, 0x3bb20                      |         goto label_27;
                                                     |     }
                                                     | label_22:
    0x0003b36c lw t9, -0x7e10(gp)                    |     t9 = *(gp);
    0x0003b370 move a0, s4                           |     a0 = s4;
    0x0003b374 sw t9, 0x3c(sp)                       |     *(var_3ch) = t9;
    0x0003b378 bal 0x31e4c                           |     sym_xmlParseName ();
    0x0003b37c move s0, v0                           |     s0 = v0;
    0x0003b380 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 == 0) {
    0x0003b384 beqz v0, 0x3bafc                      |         goto label_28;
                                                     |     }
    0x0003b388 lw t9, 0x30(sp)                       |     t9 = *(var_30h);
    0x0003b38c move a0, s4                           |     a0 = s4;
    0x0003b390 jalr t9                               |     t9 ();
    0x0003b394 lw v0, 0x124(s4)                      |     v0 = *(s4);
    0x0003b398 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 == 0) {
    0x0003b39c beqz v0, 0x3bac4                      |         goto label_29;
                                                     |     }
    0x0003b3a0 lw v0, 0x24(s4)                       |     v0 = *((s4 + 9));
                                                     | label_21:
    0x0003b3a4 lw a0, -0x7ea0(gp)                    |     a0 = *((gp - 8104));
                                                     | label_20:
    0x0003b3a8 addiu v1, a0, -0x17dc                 |     v1 = a0 + -0x17dc;
    0x0003b3ac lw a0, -0x7ea0(gp)                    |     a0 = *((gp - 8104));
    0x0003b3b0 sw v1, 0x2c(sp)                       |     *(var_2ch) = v1;
    0x0003b3b4 addiu v1, a0, -0x3aec                 |     v1 = a0 + -0x3aec;
    0x0003b3b8 sw v1, 0x48(sp)                       |     *(var_48h) = v1;
    0x0003b3bc lw v1, -0x7f94(gp)                    |     v1 = *((gp - 8165));
    0x0003b3c0 sw v1, 0x4c(sp)                       |     *(var_4ch) = v1;
                                                     | label_1:
    0x0003b3c4 lw a1, 0x10(v0)                       |     a1 = *((v0 + 4));
    0x0003b3c8 addiu a2, zero, 0x3e                  |     a2 = 0x3e;
                                                     | label_2:
    0x0003b3cc lbu a3, (a1)                          |     a3 = *(a1);
    0x0003b3d0 move a0, v0                           |     a0 = v0;
                                                     |     if (a3 == a2) {
    0x0003b3d4 beq a3, a2, 0x3b9d4                   |         goto label_30;
                                                     |     }
    0x0003b3d8 lw a2, 0xac(s4)                       |     a2 = *((s4 + 43));
    0x0003b3dc addiu a0, zero, -1                    |     a0 = -1;
                                                     |     if (a2 == a0) {
    0x0003b3e0 beq a2, a0, 0x3b28c                   |         goto label_0;
                                                     |     }
    0x0003b3e4 nop                                   |     
    0x0003b3e8 lw a0, 0x124(s4)                      |     a0 = *(s4);
    0x0003b3ec sw zero, 0x54(sp)                     |     *(var_54h) = 0;
                                                     |     if (a0 == 0) {
    0x0003b3f0 bnez a0, 0x3b408                      |         
    0x0003b3f4 lw v0, 0x14(v0)                       |         v0 = *((v0 + 5));
    0x0003b3f8 subu v0, v0, a1                       |         __asm ("subu v0, v0, a1");
    0x0003b3fc slti v0, v0, 0xfa                     |         v0 = (v0 < 0xfa) ? 1 : 0;
    0x0003b400 lw t9, 0x2c(sp)                       |         t9 = *(var_2ch);
                                                     |         if (v0 != 0) {
    0x0003b404 bnez v0, 0x3b664                      |             goto label_31;
                                                     |         }
                                                     |     }
    0x0003b408 lw t9, 0x3c(sp)                       |     t9 = *(var_3ch);
                                                     | label_6:
    0x0003b40c move a0, s4                           |     a0 = s4;
    0x0003b410 sw zero, 0x50(sp)                     |     *(var_50h) = 0;
    0x0003b414 jalr t9                               |     t9 ();
    0x0003b418 move s1, v0                           |     s1 = v0;
    0x0003b41c lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 == 0) {
    0x0003b420 beqz v0, 0x3ba4c                      |         goto label_32;
                                                     |     }
    0x0003b424 lw v0, 0x124(s4)                      |     v0 = *(s4);
    0x0003b428 lw t9, 0x30(sp)                       |     t9 = *(var_30h);
                                                     |     if (v0 == 0) {
    0x0003b42c bnez v0, 0x3b44c                      |         
    0x0003b430 lw a0, 0x24(s4)                       |         a0 = *((s4 + 9));
    0x0003b434 lw v0, 0x14(a0)                       |         v0 = *((a0 + 5));
    0x0003b438 lw a0, 0x10(a0)                       |         a0 = *((a0 + 4));
    0x0003b43c subu v0, v0, a0                       |         __asm ("subu v0, v0, a0");
    0x0003b440 slti v0, v0, 0xfa                     |         v0 = (v0 < 0xfa) ? 1 : 0;
    0x0003b444 lw t9, 0x2c(sp)                       |         t9 = *(var_2ch);
                                                     |         if (v0 == 0) {
    0x0003b448 bnel v0, zero, 0x3b6c8                |             goto label_33;
                                                     |         }
                                                     |     }
                                                     | label_9:
    0x0003b44c move a0, s4                           |     a0 = s4;
    0x0003b450 jalr t9                               |     t9 ();
    0x0003b454 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 == 0) {
    0x0003b458 beqz v0, 0x3ba70                      |         goto label_34;
                                                     |     }
    0x0003b45c lw t9, -0x7d80(gp)                    |     t9 = *((gp - 8032));
    0x0003b460 addiu a1, sp, 0x50                    |     a1 = sp + 0x50;
    0x0003b464 move a0, s4                           |     a0 = s4;
    0x0003b468 bal 0x3ad8c                           |     sym_xmlParseAttributeType ();
    0x0003b46c move s5, v0                           |     s5 = v0;
    0x0003b470 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 <= 0) {
    0x0003b474 blez v0, 0x3b9bc                      |         goto label_15;
                                                     |     }
    0x0003b478 lw v0, 0x124(s4)                      |     v0 = *(s4);
    0x0003b47c lw t9, 0x30(sp)                       |     t9 = *(var_30h);
                                                     |     if (v0 == 0) {
    0x0003b480 bnez v0, 0x3b4a0                      |         
    0x0003b484 lw a0, 0x24(s4)                       |         a0 = *((s4 + 9));
    0x0003b488 lw v0, 0x14(a0)                       |         v0 = *((a0 + 5));
    0x0003b48c lw a0, 0x10(a0)                       |         a0 = *((a0 + 4));
    0x0003b490 subu v0, v0, a0                       |         __asm ("subu v0, v0, a0");
    0x0003b494 slti v0, v0, 0xfa                     |         v0 = (v0 < 0xfa) ? 1 : 0;
    0x0003b498 lw t9, 0x2c(sp)                       |         t9 = *(var_2ch);
                                                     |         if (v0 == 0) {
    0x0003b49c bnel v0, zero, 0x3b674                |             goto label_35;
                                                     |         }
                                                     |     }
                                                     | label_7:
    0x0003b4a0 move a0, s4                           |     a0 = s4;
    0x0003b4a4 jalr t9                               |     t9 ();
    0x0003b4a8 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 == 0) {
    0x0003b4ac beqz v0, 0x3ba94                      |         goto label_36;
                                                     |     }
    0x0003b4b0 lw t9, -0x7d7c(gp)                    |     t9 = *(gp);
    0x0003b4b4 addiu a1, sp, 0x54                    |     a1 = sp + 0x54;
    0x0003b4b8 move a0, s4                           |     a0 = s4;
    0x0003b4bc bal 0x3a310                           |     sym_xmlParseDefaultDecl ();
    0x0003b4c0 move s2, v0                           |     s2 = v0;
    0x0003b4c4 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 <= 0) {
    0x0003b4c8 blez v0, 0x3ba80                      |         goto label_37;
                                                     |     }
    0x0003b4cc addiu v0, zero, 1                     |     v0 = 1;
    0x0003b4d0 lw a1, 0x54(sp)                       |     a1 = *(var_54h);
                                                     |     if (s5 != v0) {
    0x0003b4d4 beq s5, v0, 0x3b4ec                   |         
    0x0003b4d8 lw t9, 0x48(sp)                       |         t9 = *(var_48h);
                                                     |         if (a1 == 0) {
    0x0003b4dc beqz a1, 0x3b4ec                      |             goto label_38;
                                                     |         }
    0x0003b4e0 move a0, a1                           |         a0 = a1;
    0x0003b4e4 jalr t9                               |         t9 ();
    0x0003b4e8 lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     |     }
                                                     | label_38:
    0x0003b4ec lw v0, 0x124(s4)                      |     v0 = *(s4);
    0x0003b4f0 lw v0, 0x24(s4)                       |     v0 = *((s4 + 9));
                                                     |     if (v0 == 0) {
    0x0003b4f4 beqz v0, 0x3b634                      |         goto label_39;
                                                     |     }
                                                     | label_5:
    0x0003b4f8 lw a0, 0x10(v0)                       |     a0 = *((v0 + 4));
                                                     | label_4:
    0x0003b4fc addiu v0, zero, 0x3e                  |     v0 = 0x3e;
    0x0003b500 lbu a0, (a0)                          |     a0 = *(a0);
                                                     |     if (a0 != v0) {
    0x0003b504 beql a0, v0, 0x3b524                  |         
    0x0003b508 lw a0, (s4)                           |         a0 = *(s4);
    0x0003b50c lw t9, 0x30(sp)                       |         t9 = *(var_30h);
    0x0003b510 move a0, s4                           |         a0 = s4;
    0x0003b514 jalr t9                               |         t9 ();
    0x0003b518 lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     |         if (v0 == 0) {
    0x0003b51c beqz v0, 0x3b964                      |             goto label_40;
                                                     |         }
    0x0003b520 lw a0, (s4)                           |         a0 = *(s4);
                                                     |     }
    0x0003b524 lw v0, 0x50(sp)                       |     v0 = *(var_50h);
                                                     |     if (a0 == 0) {
    0x0003b528 beqz a0, 0x3b61c                      |         goto label_41;
                                                     |     }
    0x0003b52c lw a1, 0xd4(s4)                       |     a1 = *((s4 + 53));
                                                     |     if (a1 != 0) {
    0x0003b530 bnez a1, 0x3b61c                      |         goto label_41;
                                                     |     }
    0x0003b534 nop                                   |     
    0x0003b538 lw t9, 0x20(a0)                       |     t9 = *((a0 + 8));
    0x0003b53c move a3, s5                           |     a3 = s5;
                                                     |     if (t9 == 0) {
    0x0003b540 beqz t9, 0x3b61c                      |         goto label_41;
                                                     |     }
    0x0003b544 lw a0, 4(s4)                          |     a0 = *((s4 + 1));
    0x0003b548 sw v0, 0x18(sp)                       |     *(var_18h) = v0;
    0x0003b54c lw v0, 0x54(sp)                       |     v0 = *(var_54h);
    0x0003b550 sw s2, 0x10(sp)                       |     *(var_10h) = s2;
    0x0003b554 sw v0, 0x14(sp)                       |     *(var_14h) = v0;
    0x0003b558 move a2, s1                           |     a2 = s1;
    0x0003b55c move a1, s0                           |     a1 = s0;
    0x0003b560 jalr t9                               |     t9 ();
    0x0003b564 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     | label_3:
    0x0003b568 lw v0, 0x144(s4)                      |     v0 = *(s4);
    0x0003b56c lw a0, 0x54(sp)                       |     a0 = *(var_54h);
                                                     |     if (v0 != 0) {
    0x0003b570 beqz v0, 0x3b5bc                      |         
    0x0003b574 lw v0, 0x54(sp)                       |         v0 = *(var_54h);
    0x0003b578 sw v0, 0x34(sp)                       |         *(var_34h) = v0;
                                                     |         if (v0 == 0) {
    0x0003b57c beqz v0, 0x3b684                      |             goto label_42;
                                                     |         }
    0x0003b580 addiu v0, s2, -2                      |         v0 = s2 + -2;
    0x0003b584 sltiu v0, v0, 2                       |         v0 = (v0 < 2) ? 1 : 0;
    0x0003b588 lw a0, 0x160(s4)                      |         a0 = *(s4);
                                                     |         if (v0 != 0) {
    0x0003b58c bnez v0, 0x3b688                      |             goto label_43;
                                                     |         }
    0x0003b590 lw t9, -0x7d78(gp)                    |         t9 = *((gp - 8030));
                                                     |         if (a0 == 0) {
    0x0003b594 beqz a0, 0x3b6d8                      |             goto label_44;
                                                     |         }
    0x0003b598 move a2, s1                           |         a2 = s1;
    0x0003b59c move a1, s0                           |         a1 = s0;
    0x0003b5a0 jalr t9                               |         t9 ();
    0x0003b5a4 lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     |         if (v0 == 0) {
    0x0003b5a8 beqz v0, 0x3b6d8                      |             goto label_44;
                                                     |         }
                                                     | label_10:
    0x0003b5ac lw v0, 0x144(s4)                      |         v0 = *(s4);
    0x0003b5b0 lw a0, 0x160(s4)                      |         a0 = *(s4);
                                                     |         if (v0 == 0) {
    0x0003b5b4 bnel v0, zero, 0x3b688                |             goto label_43;
                                                     |         }
                                                     | label_8:
    0x0003b5b8 lw a0, 0x54(sp)                       |         a0 = *(var_54h);
                                                     |     }
    0x0003b5bc lw v0, -0x7158(gp)                    |     v0 = *(gp);
                                                     |     if (a0 != 0) {
    0x0003b5c0 beqz a0, 0x3b5d4                      |         
    0x0003b5c4 lw t9, (v0)                           |         t9 = *(v0);
    0x0003b5c8 jalr t9                               |         t9 ();
    0x0003b5cc nop                                   |         
    0x0003b5d0 lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     |     }
    0x0003b5d4 lw v0, 0x124(s4)                      |     v0 = *(s4);
    0x0003b5d8 lw v0, 0x24(s4)                       |     v0 = *((s4 + 9));
                                                     |     if (v0 != 0) {
    0x0003b5dc bnez v0, 0x3b3c4                      |         goto label_1;
                                                     |     }
    0x0003b5e0 lw a0, 0x14(v0)                       |     a0 = *((v0 + 5));
    0x0003b5e4 lw a1, 0x10(v0)                       |     a1 = *((v0 + 4));
    0x0003b5e8 subu a0, a0, a1                       |     __asm ("subu a0, a0, a1");
    0x0003b5ec slti a0, a0, 0xfa                     |     a0 = (a0 < 0xfa) ? 1 : 0;
    0x0003b5f0 addiu a2, zero, 0x3e                  |     a2 = 0x3e;
                                                     |     if (a0 == 0) {
    0x0003b5f4 beqz a0, 0x3b3cc                      |         goto label_2;
                                                     |     }
    0x0003b5f8 lw t9, 0x2c(sp)                       |     t9 = *(var_2ch);
    0x0003b5fc move a0, s4                           |     a0 = s4;
    0x0003b600 jalr t9                               |     t9 ();
    0x0003b604 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003b608 lw v0, 0x24(s4)                       |     v0 = *((s4 + 9));
    0x0003b60c b 0x3b3c4                             |     goto label_1;
                                                     | label_25:
    0x0003b610 lw t9, -0x7074(gp)                    |     t9 = *((gp - 7197));
    0x0003b614 jalr t9                               |     t9 ();
    0x0003b618 nop                                   |     
                                                     | label_41:
    0x0003b61c lw t9, -0x7d90(gp)                    |     t9 = *(gp);
                                                     |     if (v0 == 0) {
    0x0003b620 beqz v0, 0x3b568                      |         goto label_3;
                                                     |     }
    0x0003b624 move a0, v0                           |     a0 = v0;
    0x0003b628 jalr t9                               |     t9 ();
    0x0003b62c lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003b630 b 0x3b568                             |     goto label_3;
                                                     | label_39:
    0x0003b634 lw a0, 0x14(v0)                       |     a0 = *((v0 + 5));
    0x0003b638 lw a1, 0x10(v0)                       |     a1 = *((v0 + 4));
    0x0003b63c subu a0, a0, a1                       |     __asm ("subu a0, a0, a1");
    0x0003b640 slti a0, a0, 0xfa                     |     a0 = (a0 < 0xfa) ? 1 : 0;
                                                     |     if (a0 == 0) {
    0x0003b644 beql a0, zero, 0x3b4fc                |         goto label_4;
                                                     |     }
    0x0003b648 lw a0, 0x10(v0)                       |     a0 = *((v0 + 4));
    0x0003b64c lw t9, 0x2c(sp)                       |     t9 = *(var_2ch);
    0x0003b650 move a0, s4                           |     a0 = s4;
    0x0003b654 jalr t9                               |     t9 ();
    0x0003b658 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003b65c lw v0, 0x24(s4)                       |     v0 = *((s4 + 9));
    0x0003b660 b 0x3b4f8                             |     goto label_5;
                                                     | label_31:
    0x0003b664 move a0, s4                           |     a0 = s4;
    0x0003b668 jalr t9                               |     t9 ();
    0x0003b66c lw t9, 0x3c(sp)                       |     t9 = *(var_3ch);
    0x0003b670 b 0x3b40c                             |     goto label_6;
                                                     | label_35:
    0x0003b674 move a0, s4                           |     a0 = s4;
    0x0003b678 jalr t9                               |     t9 ();
    0x0003b67c lw t9, 0x30(sp)                       |     t9 = *(var_30h);
    0x0003b680 b 0x3b4a0                             |     goto label_7;
                                                     | label_42:
    0x0003b684 lw a0, 0x160(s4)                      |     a0 = *(s4);
                                                     | label_43:
    0x0003b688 lw t9, -0x7fbc(gp)                    |     t9 = *((gp - 8175));
                                                     |     if (a0 == 0) {
    0x0003b68c beqz a0, 0x3ba18                      |         goto label_45;
                                                     |     }
                                                     | label_14:
    0x0003b690 lw t9, -0x7d78(gp)                    |     t9 = *((gp - 8030));
    0x0003b694 move a2, s1                           |     a2 = s1;
    0x0003b698 move a1, s0                           |     a1 = s0;
    0x0003b69c jalr t9                               |     t9 ();
    0x0003b6a0 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 != 0) {
    0x0003b6a4 bnez v0, 0x3b5b8                      |         goto label_8;
                                                     |     }
    0x0003b6a8 lw t9, -0x7d74(gp)                    |     t9 = *(gp);
    0x0003b6ac lw a0, 0x160(s4)                      |     a0 = *(s4);
    0x0003b6b0 move a3, s5                           |     a3 = s5;
    0x0003b6b4 move a2, s1                           |     a2 = s1;
    0x0003b6b8 move a1, s0                           |     a1 = s0;
    0x0003b6bc jalr t9                               |     t9 ();
    0x0003b6c0 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003b6c4 b 0x3b5b8                             |     goto label_8;
                                                     | label_33:
    0x0003b6c8 move a0, s4                           |     a0 = s4;
    0x0003b6cc jalr t9                               |     t9 ();
    0x0003b6d0 lw t9, 0x30(sp)                       |     t9 = *(var_30h);
    0x0003b6d4 b 0x3b44c                             |     goto label_9;
                                                     | label_44:
    0x0003b6d8 lw v0, 0x15c(s4)                      |     v0 = *(s4);
    0x0003b6dc lw t9, -0x7fbc(gp)                    |     t9 = *((gp - 8175));
                                                     |     if (v0 == 0) {
    0x0003b6e0 beqz v0, 0x3b91c                      |         goto label_46;
                                                     |     }
                                                     | label_13:
    0x0003b6e4 lw t9, -0x7d70(gp)                    |     t9 = *(gp);
    0x0003b6e8 addiu a1, sp, 0x58                    |     a1 = sp + 0x58;
    0x0003b6ec sw a1, 0x40(sp)                       |     *(var_40h) = a1;
    0x0003b6f0 sw t9, 0x44(sp)                       |     *(var_44h) = t9;
    0x0003b6f4 move a0, s0                           |     a0 = s0;
    0x0003b6f8 bal 0x4be3c                           |     sym_xmlSplitQName3 ();
    0x0003b6fc move s3, v0                           |     s3 = v0;
    0x0003b700 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 == 0) {
    0x0003b704 beqz v0, 0x3b8f8                      |         goto label_47;
                                                     |     }
    0x0003b708 lw s2, -0x7fd0(gp)                    |     s2 = *(gp);
    0x0003b70c lw a0, 0x128(s4)                      |     a0 = *(s4);
    0x0003b710 move a1, v0                           |     a1 = v0;
    0x0003b714 move t9, s2                           |     t9 = s2;
    0x0003b718 addiu a2, zero, -1                    |     a2 = -1;
    0x0003b71c jalr t9                               |     t9 ();
    0x0003b720 lw a2, 0x58(sp)                       |     a2 = *(var_58h);
    0x0003b724 lw a0, 0x128(s4)                      |     a0 = *(s4);
    0x0003b728 move a1, s0                           |     a1 = s0;
    0x0003b72c move t9, s2                           |     t9 = s2;
    0x0003b730 move s6, v0                           |     s6 = v0;
    0x0003b734 jalr t9                               |     t9 ();
    0x0003b738 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003b73c move s3, v0                           |     s3 = v0;
                                                     | label_12:
    0x0003b740 lw t9, -0x7d78(gp)                    |     t9 = *((gp - 8030));
    0x0003b744 lw a0, 0x15c(s4)                      |     a0 = *(s4);
    0x0003b748 move a2, s3                           |     a2 = s3;
    0x0003b74c move a1, s6                           |     a1 = s6;
    0x0003b750 jalr t9                               |     t9 ();
    0x0003b754 move s7, v0                           |     s7 = v0;
    0x0003b758 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 == 0) {
    0x0003b75c beqz v0, 0x3b8a0                      |         goto label_48;
                                                     |     }
    0x0003b760 lw v0, 4(v0)                          |     v0 = *((v0 + 1));
    0x0003b764 lw a0, (s7)                           |     a0 = *(s7);
    0x0003b768 slt a0, a0, v0                        |     a0 = (a0 < v0) ? 1 : 0;
    0x0003b76c lw a1, 0x40(sp)                       |     a1 = *(var_40h);
                                                     |     if (a0 == 0) {
    0x0003b770 bnel a0, zero, 0x3b7d0                |         goto label_49;
                                                     |     }
    0x0003b774 addiu a0, zero, 0x28                  |     a0 = 0x28;
    0x0003b778 mul v0, v0, a0                        |     __asm ("mul v0, v0, a0");
    0x0003b77c lw a1, -0x6e24(gp)                    |     a1 = *(gp);
    0x0003b780 move a0, s7                           |     a0 = s7;
    0x0003b784 lw t9, (a1)                           |     t9 = *(a1);
    0x0003b788 addiu a1, v0, 8                       |     a1 = v0 + 8;
    0x0003b78c jalr t9                               |     t9 ();
    0x0003b790 move s7, v0                           |     s7 = v0;
    0x0003b794 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 == 0) {
    0x0003b798 beqz v0, 0x3b934                      |         goto label_50;
                                                     |     }
    0x0003b79c lw v0, 4(v0)                          |     v0 = *((v0 + 1));
    0x0003b7a0 lw a0, 0x15c(s4)                      |     a0 = *(s4);
    0x0003b7a4 sll v0, v0, 1                         |     v0 <<= 1;
                                                     |     do {
    0x0003b7a8 lw t9, -0x7d6c(gp)                    |         t9 = *((gp - 8027));
    0x0003b7ac sw v0, 4(s7)                          |         *((s7 + 1)) = v0;
    0x0003b7b0 move a3, s7                           |         a3 = s7;
    0x0003b7b4 sw zero, 0x10(sp)                     |         *(var_10h) = 0;
    0x0003b7b8 move a2, s3                           |         a2 = s3;
    0x0003b7bc move a1, s6                           |         a1 = s6;
    0x0003b7c0 jalr t9                               |         t9 ();
    0x0003b7c4 lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     |         if (v0 < 0) {
    0x0003b7c8 bltz v0, 0x3b94c                      |             goto label_51;
                                                     |         }
    0x0003b7cc lw a1, 0x40(sp)                       |         a1 = *(var_40h);
                                                     | label_49:
    0x0003b7d0 lw t9, 0x44(sp)                       |         t9 = *(var_44h);
    0x0003b7d4 move a0, s1                           |         a0 = s1;
    0x0003b7d8 jalr t9                               |         t9 ();
    0x0003b7dc move s3, v0                           |         s3 = v0;
    0x0003b7e0 lw a0, 0x128(s4)                      |         a0 = *(s4);
                                                     |         if (v0 == 0) {
    0x0003b7e4 beqz v0, 0x3b8dc                      |             goto label_52;
                                                     |         }
    0x0003b7e8 move a1, v0                           |         a1 = v0;
    0x0003b7ec move t9, s2                           |         t9 = s2;
    0x0003b7f0 addiu a2, zero, -1                    |         a2 = -1;
    0x0003b7f4 jalr t9                               |         t9 ();
    0x0003b7f8 lw a2, 0x58(sp)                       |         a2 = *(var_58h);
    0x0003b7fc lw a0, 0x128(s4)                      |         a0 = *(s4);
    0x0003b800 move a1, s1                           |         a1 = s1;
    0x0003b804 move t9, s2                           |         t9 = s2;
    0x0003b808 move s6, v0                           |         s6 = v0;
    0x0003b80c jalr t9                               |         t9 ();
    0x0003b810 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0003b814 move s3, v0                           |         s3 = v0;
                                                     | label_11:
    0x0003b818 lw a0, (s7)                           |         a0 = *(s7);
    0x0003b81c lw t9, -0x7fcc(gp)                    |         t9 = *((gp - 8179));
    0x0003b820 sll v0, a0, 2                         |         v0 = a0 << 2;
    0x0003b824 addu v0, v0, a0                       |         v0 += a0;
    0x0003b828 sll v0, v0, 2                         |         v0 <<= 2;
    0x0003b82c addu v0, s7, v0                       |         v0 = s7 + v0;
    0x0003b830 lw a0, 0x34(sp)                       |         a0 = *(var_34h);
    0x0003b834 sw s6, 8(v0)                          |         *((v0 + 2)) = s6;
    0x0003b838 sw s3, 0xc(v0)                        |         *((v0 + 3)) = s3;
    0x0003b83c jalr t9                               |         t9 ();
    0x0003b840 lw a0, 0x128(s4)                      |         a0 = *(s4);
    0x0003b844 lw a1, 0x34(sp)                       |         a1 = *(var_34h);
    0x0003b848 move a2, v0                           |         a2 = v0;
    0x0003b84c move t9, s2                           |         t9 = s2;
    0x0003b850 sw v0, 0x58(sp)                       |         *(var_58h) = v0;
    0x0003b854 jalr t9                               |         t9 ();
    0x0003b858 lw a1, (s7)                           |         a1 = *(s7);
    0x0003b85c lw a2, 0x58(sp)                       |         a2 = *(var_58h);
    0x0003b860 sll a0, a1, 2                         |         a0 = a1 << 2;
    0x0003b864 addu a0, a0, a1                       |         a0 += a1;
    0x0003b868 sll a0, a0, 2                         |         a0 <<= 2;
    0x0003b86c addu a0, s7, a0                       |         a0 = s7 + a0;
    0x0003b870 lw a3, 0x60(s4)                       |         a3 = *((s4 + 24));
    0x0003b874 addu a2, v0, a2                       |         a2 = v0 + a2;
    0x0003b878 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0003b87c sw v0, 0x10(a0)                       |         *((a0 + 4)) = v0;
    0x0003b880 sw a2, 0x14(a0)                       |         *((a0 + 5)) = a2;
                                                     |         if (a3 == 0) {
    0x0003b884 beqz a3, 0x3b8cc                      |             goto label_53;
                                                     |         }
    0x0003b888 lw v0, 0x4c(sp)                       |         v0 = *(var_4ch);
    0x0003b88c addiu a1, a1, 1                       |         a1++;
    0x0003b890 addiu v0, v0, -0x7ba0                 |         v0 += -0x7ba0;
    0x0003b894 sw v0, 0x18(a0)                       |         *((a0 + 6)) = v0;
    0x0003b898 sw a1, (s7)                           |         *(s7) = a1;
    0x0003b89c b 0x3b5ac                             |         goto label_10;
                                                     | label_48:
    0x0003b8a0 lw v0, -0x716c(gp)                    |         v0 = *(gp);
    0x0003b8a4 lw t9, (v0)                           |         t9 = *(v0);
    0x0003b8a8 addiu a0, zero, 0x58                  |         a0 = 0x58;
    0x0003b8ac jalr t9                               |         t9 ();
    0x0003b8b0 move s7, v0                           |         s7 = v0;
    0x0003b8b4 lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     |         if (v0 == 0) {
    0x0003b8b8 beqz v0, 0x3b934                      |             goto label_50;
                                                     |         }
    0x0003b8bc lw a0, 0x15c(s4)                      |         a0 = *(s4);
    0x0003b8c0 sw zero, (v0)                         |         *(v0) = 0;
    0x0003b8c4 addiu v0, zero, 4                     |         v0 = 4;
    0x0003b8c8 b 0x3b7a8                             |         
                                                     |     } while (1);
                                                     | label_53:
    0x0003b8cc addiu a1, a1, 1                       |     a1++;
    0x0003b8d0 sw zero, 0x18(a0)                     |     *((a0 + 6)) = 0;
    0x0003b8d4 sw a1, (s7)                           |     *(s7) = a1;
    0x0003b8d8 b 0x3b5ac                             |     goto label_10;
                                                     | label_52:
    0x0003b8dc addiu a2, zero, -1                    |     a2 = -1;
    0x0003b8e0 move t9, s2                           |     t9 = s2;
    0x0003b8e4 move a1, s1                           |     a1 = s1;
    0x0003b8e8 jalr t9                               |     t9 ();
    0x0003b8ec move s6, v0                           |     s6 = v0;
    0x0003b8f0 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003b8f4 b 0x3b818                             |     goto label_11;
                                                     | label_47:
    0x0003b8f8 lw s2, -0x7fd0(gp)                    |     s2 = *(gp);
    0x0003b8fc lw a0, 0x128(s4)                      |     a0 = *(s4);
    0x0003b900 addiu a2, zero, -1                    |     a2 = -1;
    0x0003b904 move t9, s2                           |     t9 = s2;
    0x0003b908 move a1, s0                           |     a1 = s0;
    0x0003b90c jalr t9                               |     t9 ();
    0x0003b910 move s6, v0                           |     s6 = v0;
    0x0003b914 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003b918 b 0x3b740                             |     goto label_12;
                                                     | label_46:
    0x0003b91c lw a1, 0x128(s4)                      |     a1 = *(s4);
    0x0003b920 addiu a0, zero, 0xa                   |     a0 = 0xa;
    0x0003b924 bal 0x5b7d0                           |     sym_xmlHashCreateDict ();
    0x0003b928 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003b92c sw v0, 0x15c(s4)                      |     *(s4) = v0;
                                                     |     if (v0 != 0) {
    0x0003b930 bnez v0, 0x3b6e4                      |         goto label_13;
                                                     |     }
                                                     |     do {
                                                     | label_50:
    0x0003b934 lw t9, -0x7ed4(gp)                    |         t9 = *((gp - 8117));
    0x0003b938 move a1, zero                         |         a1 = 0;
    0x0003b93c move a0, s4                           |         a0 = s4;
    0x0003b940 bal 0x2807c                           |         sym_xmlErrMemory ();
    0x0003b944 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0003b948 b 0x3b5ac                             |         goto label_10;
                                                     | label_51:
    0x0003b94c lw v0, -0x7158(gp)                    |         v0 = *(gp);
    0x0003b950 lw t9, (v0)                           |         t9 = *(v0);
    0x0003b954 move a0, s7                           |         a0 = s7;
    0x0003b958 jalr t9                               |         t9 ();
    0x0003b95c lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0003b960 b 0x3b934                             |         
                                                     |     } while (1);
                                                     | label_40:
    0x0003b964 lw a2, -0x7f94(gp)                    |     a2 = *((gp - 8165));
    0x0003b968 lw t9, -0x7ea0(gp)                    |     t9 = *((gp - 8104));
    0x0003b96c move a0, s4                           |     a0 = s4;
    0x0003b970 addiu a2, a2, -0x7bd4                 |     a2 += -0x7bd4;
    0x0003b974 addiu t9, t9, -0x345c                 |     t9 += -0x345c;
    0x0003b978 addiu a1, zero, 0x41                  |     a1 = 0x41;
    0x0003b97c bal 0x2cba4                           |     fcn_0002cba4 ();
    0x0003b980 lw a0, 0x54(sp)                       |     a0 = *(var_54h);
    0x0003b984 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (a0 != 0) {
    0x0003b988 beqz a0, 0x3b9a0                      |         
    0x0003b98c lw v0, -0x7158(gp)                    |         v0 = *(gp);
                                                     | label_16:
    0x0003b990 lw t9, (v0)                           |         t9 = *(v0);
    0x0003b994 jalr t9                               |         t9 ();
    0x0003b998 nop                                   |         
    0x0003b99c lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     |     }
    0x0003b9a0 lw a0, 0x50(sp)                       |     a0 = *(var_50h);
                                                     |     if (a0 != 0) {
                                                     | label_17:
    0x0003b9a4 beql a0, zero, 0x3b9c0                |         
    0x0003b9a8 lw a0, 0x24(s4)                       |         a0 = *((s4 + 9));
                                                     | label_18:
    0x0003b9ac lw t9, -0x7d90(gp)                    |         t9 = *(gp);
    0x0003b9b0 jalr t9                               |         t9 ();
    0x0003b9b4 nop                                   |         
    0x0003b9b8 lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     | label_15:
    0x0003b9bc lw a0, 0x24(s4)                       |         a0 = *((s4 + 9));
                                                     |     }
                                                     | label_19:
    0x0003b9c0 addiu v0, zero, 0x3e                  |     v0 = 0x3e;
    0x0003b9c4 lw a1, 0x10(a0)                       |     a1 = *((a0 + 4));
    0x0003b9c8 lbu a1, (a1)                          |     a1 = *(a1);
                                                     |     if (a1 != v0) {
    0x0003b9cc bne a1, v0, 0x3b28c                   |         goto label_0;
                                                     |     }
    0x0003b9d0 nop                                   |     
                                                     | label_30:
    0x0003b9d4 lw v0, 0x38(a0)                       |     v0 = *((a0 + 14));
    0x0003b9d8 lw v1, 0x38(sp)                       |     v1 = *(var_38h);
    0x0003b9dc lw t9, -0x7e30(gp)                    |     t9 = *((gp - 8076));
                                                     |     if (v0 != v1) {
    0x0003b9e0 beq v0, v1, 0x3ba08                   |         
    0x0003b9e4 lw a2, -0x7f94(gp)                    |         a2 = *((gp - 8165));
    0x0003b9e8 lw t9, -0x7ea0(gp)                    |         t9 = *((gp - 8104));
    0x0003b9ec addiu a2, a2, -0x7b94                 |         a2 += -0x7b94;
    0x0003b9f0 addiu a1, zero, 0x5a                  |         a1 = 0x5a;
    0x0003b9f4 addiu t9, t9, -0x345c                 |         t9 += -0x345c;
    0x0003b9f8 move a0, s4                           |         a0 = s4;
    0x0003b9fc bal 0x2cba4                           |         fcn_0002cba4 ();
    0x0003ba00 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0003ba04 lw t9, -0x7e30(gp)                    |         t9 = *((gp - 8076));
                                                     |     }
    0x0003ba08 move a0, s4                           |     a0 = s4;
    0x0003ba0c bal 0x28648                           |     sym_xmlNextChar ();
    0x0003ba10 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003ba14 b 0x3b28c                             |     goto label_0;
                                                     | label_45:
    0x0003ba18 lw a1, 0x128(s4)                      |     a1 = *(s4);
    0x0003ba1c addiu a0, zero, 0xa                   |     a0 = 0xa;
    0x0003ba20 bal 0x5b7d0                           |     sym_xmlHashCreateDict ();
    0x0003ba24 move a0, v0                           |     a0 = v0;
    0x0003ba28 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003ba2c sw v0, 0x160(s4)                      |     *(s4) = v0;
                                                     |     if (v0 != 0) {
    0x0003ba30 bnez v0, 0x3b690                      |         goto label_14;
                                                     |     }
    0x0003ba34 lw t9, -0x7ed4(gp)                    |     t9 = *((gp - 8117));
    0x0003ba38 move a1, zero                         |     a1 = 0;
    0x0003ba3c move a0, s4                           |     a0 = s4;
    0x0003ba40 bal 0x2807c                           |     sym_xmlErrMemory ();
    0x0003ba44 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003ba48 b 0x3b5b8                             |     goto label_8;
                                                     | label_32:
    0x0003ba4c lw a2, -0x7f94(gp)                    |     a2 = *((gp - 8165));
    0x0003ba50 addiu a1, zero, 0x44                  |     a1 = 0x44;
    0x0003ba54 addiu a2, a2, -0x7c4c                 |     a2 += -aav.0x00007c4c;
                                                     |     do {
    0x0003ba58 lw t9, -0x7ea0(gp)                    |         t9 = *((gp - 8104));
    0x0003ba5c addiu t9, t9, -0x345c                 |         t9 += -0x345c;
    0x0003ba60 move a0, s4                           |         a0 = s4;
    0x0003ba64 bal 0x2cba4                           |         fcn_0002cba4 ();
    0x0003ba68 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0003ba6c b 0x3b9bc                             |         goto label_15;
                                                     | label_34:
    0x0003ba70 lw a2, -0x7f94(gp)                    |         a2 = *((gp - 8165));
    0x0003ba74 addiu a1, zero, 0x41                  |         a1 = 0x41;
    0x0003ba78 addiu a2, a2, -0x7c2c                 |         a2 += -aav.0x00007c2c;
    0x0003ba7c b 0x3ba58                             |         
                                                     |     } while (1);
                                                     | label_37:
    0x0003ba80 lw a0, 0x54(sp)                       |     a0 = *(var_54h);
    0x0003ba84 lw v0, -0x7158(gp)                    |     v0 = *(gp);
                                                     |     if (a0 != 0) {
    0x0003ba88 bnez a0, 0x3b990                      |         goto label_16;
                                                     |     }
    0x0003ba8c lw a0, 0x50(sp)                       |     a0 = *(var_50h);
    0x0003ba90 b 0x3b9a4                             |     goto label_17;
                                                     | label_36:
    0x0003ba94 lw a2, -0x7f94(gp)                    |     a2 = *((gp - 8165));
    0x0003ba98 lw t9, -0x7ea0(gp)                    |     t9 = *((gp - 8104));
    0x0003ba9c move a0, s4                           |     a0 = s4;
    0x0003baa0 addiu a2, a2, -0x7c00                 |     a2 += -0x7c00;
    0x0003baa4 addiu t9, t9, -0x345c                 |     t9 += -0x345c;
    0x0003baa8 addiu a1, zero, 0x41                  |     a1 = 0x41;
    0x0003baac bal 0x2cba4                           |     fcn_0002cba4 ();
    0x0003bab0 lw a0, 0x50(sp)                       |     a0 = *(var_50h);
    0x0003bab4 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (a0 != 0) {
    0x0003bab8 bnez a0, 0x3b9ac                      |         goto label_18;
                                                     |     }
    0x0003babc lw a0, 0x24(s4)                       |     a0 = *((s4 + 9));
    0x0003bac0 b 0x3b9c0                             |     goto label_19;
                                                     | label_29:
    0x0003bac4 lw v0, 0x24(s4)                       |     v0 = *((s4 + 9));
    0x0003bac8 lw a0, 0x14(v0)                       |     a0 = *((v0 + 5));
    0x0003bacc lw a1, 0x10(v0)                       |     a1 = *((v0 + 4));
    0x0003bad0 subu a0, a0, a1                       |     __asm ("subu a0, a0, a1");
    0x0003bad4 slti a0, a0, 0xfa                     |     a0 = (a0 < 0xfa) ? 1 : 0;
                                                     |     if (a0 == 0) {
    0x0003bad8 beql a0, zero, 0x3b3a8                |         goto label_20;
                                                     |     }
    0x0003badc lw a0, -0x7ea0(gp)                    |     a0 = *((gp - 8104));
    0x0003bae0 lw t9, -0x7ea0(gp)                    |     t9 = *((gp - 8104));
    0x0003bae4 addiu t9, t9, -0x17dc                 |     t9 += -0x17dc;
    0x0003bae8 move a0, s4                           |     a0 = s4;
    0x0003baec bal 0x2e824                           |     fcn_0002e824 ();
    0x0003baf0 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003baf4 lw v0, 0x24(s4)                       |     v0 = *((s4 + 9));
    0x0003baf8 b 0x3b3a4                             |     goto label_21;
                                                     | label_28:
    0x0003bafc lw a2, -0x7f94(gp)                    |     a2 = *((gp - 8165));
    0x0003bb00 lw t9, -0x7ea0(gp)                    |     t9 = *((gp - 8104));
    0x0003bb04 addiu a2, a2, -0x7c6c                 |     a2 += -aav.0x00007c6c;
    0x0003bb08 addiu a1, zero, 0x44                  |     a1 = 0x44;
    0x0003bb0c addiu t9, t9, -0x345c                 |     t9 += -0x345c;
    0x0003bb10 move a0, s4                           |     a0 = s4;
    0x0003bb14 bal 0x2cba4                           |     fcn_0002cba4 ();
    0x0003bb18 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003bb1c b 0x3b28c                             |     goto label_0;
                                                     | label_27:
    0x0003bb20 lw a2, -0x7f94(gp)                    |     a2 = *((gp - 8165));
    0x0003bb24 lw t9, -0x7ea0(gp)                    |     t9 = *((gp - 8104));
    0x0003bb28 addiu a2, a2, -0x7c90                 |     a2 += -0x7c90;
    0x0003bb2c addiu a1, zero, 0x41                  |     a1 = 0x41;
    0x0003bb30 addiu t9, t9, -0x345c                 |     t9 += -0x345c;
    0x0003bb34 move a0, s4                           |     a0 = s4;
    0x0003bb38 bal 0x2cba4                           |     fcn_0002cba4 ();
    0x0003bb3c lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003bb40 b 0x3b36c                             |     goto label_22;
                                                     | label_26:
    0x0003bb44 lw t9, -0x7ef8(gp)                    |     t9 = *((gp - 8126));
    0x0003bb48 addiu a1, zero, 0xfa                  |     a1 = 0xfa;
    0x0003bb4c bal 0x28398                           |     sym_xmlParserInputGrow ();
    0x0003bb50 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003bb54 b 0x3b354                             |     goto label_23;
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x47d6c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlParseChunk ()             | void xmlParseChunk () {
    0x00047d6c lui gp, 0x15                  |     
    0x00047d70 addiu gp, gp, -0x66fc         |     
    0x00047d74 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x00047d78 beqz a0, 0x4835c              |         goto label_28;
                                             |     }
    0x00047d7c nop                           |     
    0x00047d80 addiu sp, sp, -0x60           |     
    0x00047d84 lw v0, 0x54(a0)               |     v0 = *((a0 + 21));
    0x00047d88 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00047d8c sw fp, 0x58(sp)               |     *(var_58h) = fp;
    0x00047d90 sw s7, 0x54(sp)               |     *(var_54h) = s7;
    0x00047d94 sw s1, 0x3c(sp)               |     *(var_3ch) = s1;
    0x00047d98 sw s0, 0x38(sp)               |     *(var_38h) = s0;
    0x00047d9c sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x00047da0 sw s6, 0x50(sp)               |     *(var_50h) = s6;
    0x00047da4 sw s5, 0x4c(sp)               |     *(var_4ch) = s5;
    0x00047da8 sw s4, 0x48(sp)               |     *(var_48h) = s4;
    0x00047dac sw s3, 0x44(sp)               |     *(var_44h) = s3;
    0x00047db0 sw s2, 0x40(sp)               |     *(var_40h) = s2;
    0x00047db4 move s7, a0                   |     s7 = a0;
    0x00047db8 move s0, a1                   |     s0 = a1;
    0x00047dbc move fp, a2                   |     fp = a2;
    0x00047dc0 move s1, a3                   |     s1 = a3;
                                             |     if (v0 != 0) {
    0x00047dc4 bnez v0, 0x480e8              |         goto label_29;
                                             |     }
    0x00047dc8 lw v0, 0xac(s7)               |     v0 = *((s7 + 43));
                                             | label_4:
    0x00047dcc addiu a0, zero, -1            |     a0 = -1;
                                             |     if (v0 != a0) {
    0x00047dd0 beql v0, a0, 0x47ee0          |         
    0x00047dd4 addiu v0, zero, -1            |         v0 = -1;
    0x00047dd8 lw t9, -0x7ea0(gp)            |         t9 = *((gp - 8104));
                                             |         if (v0 == 0) {
    0x00047ddc beqz v0, 0x482f4              |             goto label_30;
                                             |         }
                                             |         if (fp > 0) {
    0x00047de0 blezl fp, 0x47dfc             |             
    0x00047de4 sw zero, 0x2c(sp)             |             *(var_2ch) = 0;
                                             |             if (s0 == 0) {
                                             | label_12:
    0x00047de8 beql s0, zero, 0x47dfc        |                 goto label_13;
                                             |             }
    0x00047dec sw zero, 0x2c(sp)             |             *(var_2ch) = 0;
    0x00047df0 addu a0, s0, fp               |             a0 = s0 + fp;
                                             |             if (s1 == 0) {
    0x00047df4 beqz s1, 0x48314              |                 goto label_31;
                                             |             }
    0x00047df8 sw zero, 0x2c(sp)             |             *(var_2ch) = 0;
                                             |         }
                                             | label_13:
    0x00047dfc lw v1, -0x7fd4(gp)            |         v1 = *(gp);
    0x00047e00 lw a0, -0x7ea0(gp)            |         a0 = *((gp - 8104));
    0x00047e04 sw v1, 0x1c(sp)               |         *(var_1ch) = v1;
    0x00047e08 lw v1, -0x7fd4(gp)            |         v1 = *(gp);
    0x00047e0c lw s3, -0x7dd0(gp)            |         s3 = *((gp - 8052));
    0x00047e10 sw v1, 0x30(sp)               |         *(var_30h) = v1;
    0x00047e14 addiu v1, a0, -0x4cc8         |         v1 = a0 + -aav.0x00004cc8;
    0x00047e18 lw a0, -0x7ea0(gp)            |         a0 = *((gp - 8104));
    0x00047e1c sw v1, 0x20(sp)               |         *(var_20h) = v1;
    0x00047e20 addiu v1, a0, -0x18d8         |         v1 = a0 + -0x18d8;
    0x00047e24 move s5, zero                 |         s5 = 0;
    0x00047e28 move s4, zero                 |         s4 = 0;
    0x00047e2c sw v1, 0x24(sp)               |         *(var_24h) = v1;
    0x00047e30 addiu s3, s3, 0x6084          |         s3 += 0x6084;
                                             | label_0:
    0x00047e34 lw a1, 0x24(s7)               |         a1 = *((s7 + 9));
                                             |         if (fp <= 0) {
    0x00047e38 blez fp, 0x47f10              |             goto label_32;
                                             |         }
    0x00047e3c addiu a0, zero, -1            |         a0 = -1;
                                             |         if (s0 == 0) {
    0x00047e40 beqz s0, 0x47f14              |             goto label_33;
                                             |         }
                                             |         if (a1 == 0) {
    0x00047e44 beqz a1, 0x47fd8              |             goto label_2;
                                             |         }
    0x00047e48 nop                           |         
    0x00047e4c lw a0, (a1)                   |         a0 = *(a1);
    0x00047e50 addiu a2, zero, -1            |         a2 = -1;
                                             |         if (a0 == 0) {
    0x00047e54 beqz a0, 0x480c8              |             goto label_34;
                                             |         }
                                             |         if (v0 == a2) {
    0x00047e58 beql v0, a2, 0x47fbc          |             goto label_35;
                                             |         }
    0x00047e5c lw s2, (a1)                   |         s2 = *(a1);
    0x00047e60 lw t9, -0x6f30(gp)            |         t9 = *(gp);
    0x00047e64 lw a0, 0x10(a0)               |         a0 = *((a0 + 4));
    0x00047e68 jalr t9                       |         t9 ();
    0x00047e6c lw a0, 0x24(s7)               |         a0 = *((s7 + 9));
    0x00047e70 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00047e74 sw v0, 0x28(sp)               |         *(var_28h) = v0;
    0x00047e78 lw a1, (a0)                   |         a1 = *(a0);
    0x00047e7c lw s6, 0x10(a0)               |         s6 = *((a0 + 4));
    0x00047e80 lw v0, 0xc(a0)                |         v0 = *((a0 + 3));
    0x00047e84 lw t9, -0x7f4c(gp)            |         t9 = *((gp - 8147));
    0x00047e88 lw a0, 0x10(a1)               |         a0 = *((a1 + 4));
    0x00047e8c subu s6, s6, v0               |         __asm ("subu s6, s6, v0");
    0x00047e90 jalr t9                       |         t9 ();
    0x00047e94 lw a0, 0xac(s7)               |         a0 = *((s7 + 43));
    0x00047e98 move s4, v0                   |         s4 = v0;
    0x00047e9c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00047ea0 lw v0, 0x24(s7)               |         v0 = *((s7 + 9));
                                             |         if (a0 == 0) {
    0x00047ea4 beqz a0, 0x481f4              |             goto label_36;
                                             |         }
    0x00047ea8 lw a0, (v0)                   |         a0 = *(v0);
    0x00047eac lw t9, -0x7d1c(gp)            |         t9 = *((gp - 8007));
                                             | label_9:
    0x00047eb0 move a2, s0                   |         a2 = s0;
    0x00047eb4 move a1, fp                   |         a1 = fp;
    0x00047eb8 bal 0x6165c                   |         sym_xmlParserInputBufferPush ();
    0x00047ebc lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 >= 0) {
    0x00047ec0 bgez v0, 0x48594              |             goto label_37;
                                             |         }
                                             | label_10:
    0x00047ec4 lw t9, -0x7ea0(gp)            |         t9 = *((gp - 8104));
    0x00047ec8 addiu v0, zero, -1            |         v0 = -1;
    0x00047ecc sw v0, 0x54(s7)               |         *((s7 + 21)) = v0;
    0x00047ed0 addiu t9, t9, -0x18d8         |         t9 += -0x18d8;
    0x00047ed4 move a0, s7                   |         a0 = s7;
    0x00047ed8 bal 0x2e728                   |         fcn_0002e728 ();
    0x00047edc addiu v0, zero, -1            |         v0 = -1;
                                             |     }
    0x00047ee0 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
                                             |     do {
                                             | label_5:
    0x00047ee4 lw fp, 0x58(sp)               |         fp = *(var_58h);
    0x00047ee8 lw s7, 0x54(sp)               |         s7 = *(var_54h);
    0x00047eec lw s6, 0x50(sp)               |         s6 = *(var_50h);
    0x00047ef0 lw s5, 0x4c(sp)               |         s5 = *(var_4ch);
    0x00047ef4 lw s4, 0x48(sp)               |         s4 = *(var_48h);
    0x00047ef8 lw s3, 0x44(sp)               |         s3 = *(var_44h);
    0x00047efc lw s2, 0x40(sp)               |         s2 = *(var_40h);
    0x00047f00 lw s1, 0x3c(sp)               |         s1 = *(var_3ch);
    0x00047f04 lw s0, 0x38(sp)               |         s0 = *(var_38h);
    0x00047f08 addiu sp, sp, 0x60            |         
    0x00047f0c jr ra                         |         return v0;
                                             | label_32:
    0x00047f10 addiu a0, zero, -1            |         a0 = -1;
                                             |         if (v0 != a0) {
                                             | label_33:
    0x00047f14 beq v0, a0, 0x47fb0           |             
    0x00047f18 nop                           |             
                                             |             if (a1 == 0) {
    0x00047f1c beqz a1, 0x47fd8              |                 goto label_2;
                                             |             }
    0x00047f20 nop                           |             
    0x00047f24 lw s2, (a1)                   |             s2 = *(a1);
                                             |             if (s2 == 0) {
    0x00047f28 beqz s2, 0x47fd8              |                 goto label_2;
                                             |             }
    0x00047f2c nop                           |             
    0x00047f30 lw v0, 0xc(s2)                |             v0 = *((s2 + 3));
    0x00047f34 lw t9, -0x7f4c(gp)            |             t9 = *((gp - 8147));
                                             |             if (v0 == 0) {
    0x00047f38 beqz v0, 0x47fc8              |                 goto label_3;
                                             |             }
    0x00047f3c lw a0, 0x10(s2)               |             a0 = *((s2 + 4));
                                             |             if (a0 == 0) {
    0x00047f40 beqz a0, 0x47fc8              |                 goto label_3;
                                             |             }
    0x00047f44 nop                           |             
    0x00047f48 lw v0, 0x14(s2)               |             v0 = *((s2 + 5));
    0x00047f4c lw t9, -0x6f30(gp)            |             t9 = *(gp);
                                             |             if (v0 == 0) {
    0x00047f50 beqz v0, 0x47fc4              |                 goto label_38;
                                             |             }
    0x00047f54 jalr t9                       |             t9 ();
    0x00047f58 nop                           |             
    0x00047f5c lw a3, 0x24(s7)               |             a3 = *((s7 + 9));
    0x00047f60 lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x00047f64 sw v0, 0x34(sp)               |             *(var_34h) = v0;
    0x00047f68 lw v0, 0xc(a3)                |             v0 = *((a3 + 3));
    0x00047f6c lw t9, -0x6fec(gp)            |             t9 = *((gp - 7163));
    0x00047f70 move a1, s1                   |             a1 = s1;
    0x00047f74 move a0, s2                   |             a0 = s2;
    0x00047f78 sw v0, 0x28(sp)               |             *(var_28h) = v0;
    0x00047f7c lw s6, 0x10(a3)               |             s6 = *((a3 + 4));
    0x00047f80 jalr t9                       |             t9 ();
    0x00047f84 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |             if (v0 < 0) {
    0x00047f88 bltz v0, 0x48100              |                 goto label_39;
                                             |             }
    0x00047f8c lw v0, 0x28(sp)               |             v0 = *(var_28h);
    0x00047f90 lw t9, -0x6e14(gp)            |             t9 = *((gp - 7045));
    0x00047f94 lw a1, 0x24(s7)               |             a1 = *((s7 + 9));
    0x00047f98 lw a0, 0x10(s2)               |             a0 = *((s2 + 4));
    0x00047f9c lw a2, 0x34(sp)               |             a2 = *(var_34h);
    0x00047fa0 subu a3, s6, v0               |             __asm ("subu a3, s6, v0");
    0x00047fa4 jalr t9                       |             t9 ();
    0x00047fa8 lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x00047fac lw a1, 0x24(s7)               |             a1 = *((s7 + 9));
                                             |         }
                                             |         if (a1 != 0) {
                                             | label_27:
    0x00047fb0 beqz a1, 0x47fd8              |             
    0x00047fb4 nop                           |             
    0x00047fb8 lw s2, (a1)                   |             s2 = *(a1);
                                             |             if (s2 == 0) {
                                             | label_35:
    0x00047fbc beqz s2, 0x47fd8              |                 goto label_2;
                                             |             }
    0x00047fc0 nop                           |             
                                             | label_38:
    0x00047fc4 lw t9, -0x7f4c(gp)            |             t9 = *((gp - 8147));
                                             | label_3:
    0x00047fc8 lw a0, 0x10(s2)               |             a0 = *((s2 + 4));
    0x00047fcc jalr t9                       |             t9 ();
    0x00047fd0 lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x00047fd4 move s5, v0                   |             s5 = v0;
                                             |         }
                                             | label_2:
    0x00047fd8 move a0, s7                   |         a0 = s7;
                                             |         if (s1 == 0) {
    0x00047fdc bnez s1, 0x48004              |             
    0x00047fe0 move t9, s3                   |             t9 = s3;
                                             |             if (s4 == 0) {
    0x00047fe4 beqz s4, 0x48008              |                 goto label_40;
                                             |             }
    0x00047fe8 lui a0, 0x98                  |             a0 = 0x980000;
    0x00047fec addiu v0, s5, -1              |             v0 = s5 + -1;
    0x00047ff0 ori a0, a0, 0x9680            |             a0 |= aav.0x00009680;
    0x00047ff4 sltu v0, v0, a0               |             v0 = (v0 < a0) ? 1 : 0;
    0x00047ff8 lw s6, 0x24(s7)               |             s6 = *((s7 + 9));
                                             |             if (v0 == 0) {
    0x00047ffc bnel v0, zero, 0x4817c        |                 goto label_41;
                                             |             }
                                             | label_6:
    0x00048000 nop                           |             
                                             |         }
                                             | label_7:
    0x00048004 nop                           |         
                                             | label_40:
    0x00048008 move a1, s1                   |         a1 = s1;
    0x0004800c bal 0x46084                   |         fcn_00046084 ();
    0x00048010 lw a0, 0xac(s7)               |         a0 = *((s7 + 43));
    0x00048014 addiu v0, zero, -1            |         v0 = -1;
    0x00048018 move s2, fp                   |         s2 = fp;
    0x0004801c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00048020 move fp, zero                 |         fp = 0;
                                             |         if (a0 == v0) {
    0x00048024 beq a0, v0, 0x482c0           |             goto label_14;
                                             |         }
                                             | label_11:
    0x00048028 lw s6, 0x24(s7)               |         s6 = *((s7 + 9));
                                             |         if (s6 != 0) {
    0x0004802c beql s6, zero, 0x4807c        |             
    0x00048030 lw v0, 0x54(s7)               |             v0 = *((s7 + 21));
                                             | label_8:
    0x00048034 lw a1, 0x10(s6)               |             a1 = *((s6 + 4));
    0x00048038 lw v0, 0x14(s6)               |             v0 = *((s6 + 5));
    0x0004803c lui a0, 0x98                  |             a0 = 0x980000;
    0x00048040 subu v0, v0, a1               |             __asm ("subu v0, v0, a1");
    0x00048044 ori a0, a0, 0x9681            |             a0 |= 0x9681;
    0x00048048 slt v0, v0, a0                |             v0 = (v0 < a0) ? 1 : 0;
                                             |             if (v0 != 0) {
    0x0004804c beql v0, zero, 0x4806c        |                 
    0x00048050 lw v0, 0x168(s7)              |                 v0 = *(s7);
    0x00048054 lw v0, 0xc(s6)                |                 v0 = *((s6 + 3));
    0x00048058 subu a1, a1, v0               |                 __asm ("subu a1, a1, v0");
    0x0004805c slt a0, a1, a0                |                 a0 = (a1 < a0) ? 1 : 0;
    0x00048060 lw v0, 0x54(s7)               |                 v0 = *((s7 + 21));
                                             |                 if (a0 == 0) {
    0x00048064 bnel a0, zero, 0x4807c        |                     goto label_42;
                                             |                 }
    0x00048068 lw v0, 0x168(s7)              |                 v0 = *(s7);
                                             |             }
    0x0004806c ext v0, v0, 0x13, 1           |             __asm ("ext v0, v0, 0x13, 1");
    0x00048070 lw v0, 0x1c(sp)               |             v0 = *(var_1ch);
                                             |             if (v0 == 0) {
    0x00048074 beqz v0, 0x480a0              |                 goto label_43;
                                             |             }
                                             | label_1:
    0x00048078 lw v0, 0x54(s7)               |             v0 = *((s7 + 21));
                                             |         }
                                             | label_42:
    0x0004807c addiu a0, zero, 1             |         a0 = 1;
                                             |         if (v0 == 0) {
    0x00048080 beqz v0, 0x48090              |             goto label_44;
                                             |         }
    0x00048084 lw a1, 0xd4(s7)               |         a1 = *((s7 + 53));
    0x00048088 lw ra, 0x5c(sp)               |         ra = *(var_5ch);
    0x0004808c beq a1, a0, 0x47ee4           |         
                                             |     } while (a1 == a0);
                                             | label_44:
    0x00048090 addu s0, s0, s2               |     s0 += s2;
                                             |     if (fp == 0) {
    0x00048094 beqz fp, 0x48364              |         goto label_45;
                                             |     }
    0x00048098 lw v0, 0xac(s7)               |     v0 = *((s7 + 43));
    0x0004809c b 0x47e34                     |     goto label_0;
                                             | label_43:
    0x000480a0 lw t9, 0x20(sp)               |     t9 = *(var_20h);
    0x000480a4 addiu a2, v0, 0x761c          |     a2 = v0 + aav.0x0000761c;
    0x000480a8 addiu a1, zero, 1             |     a1 = 1;
    0x000480ac move a0, s7                   |     a0 = s7;
    0x000480b0 jalr t9                       |     t9 ();
    0x000480b4 lw t9, 0x24(sp)               |     t9 = *(var_24h);
    0x000480b8 move a0, s7                   |     a0 = s7;
    0x000480bc jalr t9                       |     t9 ();
    0x000480c0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000480c4 b 0x48078                     |     goto label_1;
                                             | label_34:
    0x000480c8 addiu a0, zero, -1            |     a0 = -1;
                                             |     if (v0 != a0) {
    0x000480cc bne v0, a0, 0x47fd8           |         goto label_2;
                                             |     }
    0x000480d0 nop                           |     
    0x000480d4 lw s2, (a1)                   |     s2 = *(a1);
    0x000480d8 lw t9, -0x7f4c(gp)            |     t9 = *((gp - 8147));
                                             |     if (s2 == 0) {
    0x000480dc beqz s2, 0x47fd8              |         goto label_2;
                                             |     }
    0x000480e0 b 0x47fc8                     |     goto label_3;
    0x000480e4 nop                           |     
                                             | label_29:
    0x000480e8 lw a1, 0xd4(a0)               |     a1 = *((a0 + 53));
    0x000480ec addiu a0, zero, 1             |     a0 = 1;
    0x000480f0 lw v0, 0xac(s7)               |     v0 = *((s7 + 43));
                                             |     if (a1 == a0) {
    0x000480f4 bnel a1, a0, 0x47dcc          |         goto label_4;
                                             |     }
    0x000480f8 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x000480fc b 0x47ee4                     |     goto label_5;
                                             | label_39:
    0x00048100 lw t9, -0x7f34(gp)            |     t9 = *(gp);
    0x00048104 jalr t9                       |     t9 ();
    0x00048108 nop                           |     
    0x0004810c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00048110 lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x00048114 lw s0, (v0)                   |     s0 = *(v0);
    0x00048118 jalr t9                       |     t9 ();
    0x0004811c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00048120 lw a0, (v0)                   |     a0 = *(v0);
    0x00048124 move t9, s0                   |     t9 = s0;
    0x00048128 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x0004812c addiu a1, a1, -0x6fb0         |     a1 += -0x6fb0;
    0x00048130 jalr t9                       |     t9 ();
    0x00048134 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00048138 lw t9, -0x7ea0(gp)            |     t9 = *((gp - 8104));
    0x0004813c addiu t9, t9, -0x18d8         |     t9 += -0x18d8;
    0x00048140 move a0, s7                   |     a0 = s7;
    0x00048144 bal 0x2e728                   |     fcn_0002e728 ();
    0x00048148 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x0004814c lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x00048150 lw s7, 0x54(sp)               |     s7 = *(var_54h);
    0x00048154 lw s6, 0x50(sp)               |     s6 = *(var_50h);
    0x00048158 lw s5, 0x4c(sp)               |     s5 = *(var_4ch);
    0x0004815c lw s4, 0x48(sp)               |     s4 = *(var_48h);
    0x00048160 lw s3, 0x44(sp)               |     s3 = *(var_44h);
    0x00048164 lw s2, 0x40(sp)               |     s2 = *(var_40h);
    0x00048168 lw s1, 0x3c(sp)               |     s1 = *(var_3ch);
    0x0004816c lw s0, 0x38(sp)               |     s0 = *(var_38h);
    0x00048170 addiu v0, zero, 0x51          |     v0 = 0x51;
    0x00048174 addiu sp, sp, 0x60            |     
    0x00048178 jr ra                         |     return v0;
                                             | label_41:
    0x0004817c lw a0, 0xc(s6)                |     a0 = *((s6 + 3));
    0x00048180 addu a0, a0, s4               |     a0 += s4;
    0x00048184 subu a2, s5, s4               |     __asm ("subu a2, s5, s4");
                                             |     if (a0 == 0) {
    0x00048188 beqz a0, 0x48000              |         goto label_6;
                                             |     }
    0x0004818c addiu v0, zero, 6             |     v0 = 6;
                                             |     if (a2 < 0) {
    0x00048190 bltz a2, 0x48000              |         goto label_6;
                                             |     }
    0x00048194 lw s2, 0xac(s7)               |     s2 = *((s7 + 43));
    0x00048198 addiu a1, zero, 5             |     a1 = 5;
                                             |     if (s2 == v0) {
    0x0004819c beq s2, v0, 0x481d4           |         goto label_46;
                                             |     }
    0x000481a0 lw v0, 0x124(s7)              |     v0 = *(s7);
    0x000481a4 addiu a1, zero, 8             |     a1 = 8;
                                             |     if (v0 == a1) {
    0x000481a8 beq v0, a1, 0x48334           |         goto label_47;
                                             |     }
    0x000481ac addiu a1, zero, 2             |     a1 = 2;
                                             |     if (s2 == a1) {
    0x000481b0 beq s2, a1, 0x481d4           |         goto label_46;
                                             |     }
    0x000481b4 addiu a1, zero, 9             |     a1 = 9;
                                             |     if (v0 == a1) {
    0x000481b8 beq v0, a1, 0x48334           |         goto label_47;
                                             |     }
    0x000481bc addiu a1, zero, 3             |     a1 = 3;
                                             |     if (s2 == a1) {
    0x000481c0 beq s2, a1, 0x481d4           |         goto label_46;
                                             |     }
    0x000481c4 lw t9, -0x70f4(gp)            |     t9 = *(gp);
                                             |     if (v0 == a1) {
    0x000481c8 beq v0, a1, 0x48338           |         goto label_48;
                                             |     }
    0x000481cc move a0, s7                   |     a0 = s7;
                                             |     if (s2 == a1) {
    0x000481d0 bnel s2, a1, 0x48004          |         goto label_7;
                                             |     }
                                             | label_46:
    0x000481d4 lw t9, -0x70f4(gp)            |     t9 = *(gp);
    0x000481d8 addiu a1, zero, 0x3e          |     a1 = 0x3e;
    0x000481dc jalr t9                       |     t9 ();
    0x000481e0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x000481e4 bnez v0, 0x48000              |         goto label_6;
                                             |     }
    0x000481e8 move s2, fp                   |     s2 = fp;
    0x000481ec move fp, zero                 |     fp = 0;
    0x000481f0 b 0x48034                     |     goto label_8;
                                             | label_36:
    0x000481f4 lw a0, (v0)                   |     a0 = *(v0);
    0x000481f8 lw t9, -0x7d1c(gp)            |     t9 = *((gp - 8007));
                                             |     if (a0 == 0) {
    0x000481fc beqz a0, 0x47eb0              |         goto label_9;
                                             |     }
    0x00048200 lw v0, 0xc(a0)                |     v0 = *((a0 + 3));
    0x00048204 lw s2, -0x7c8c(gp)            |     s2 = *(gp);
                                             |     if (v0 == 0) {
    0x00048208 beqz v0, 0x47eb0              |         goto label_9;
                                             |     }
    0x0004820c lw a0, (v0)                   |     a0 = *(v0);
    0x00048210 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00048214 move t9, s2                   |     t9 = s2;
    0x00048218 addiu a1, v0, 0x6160          |     a1 = v0 + 0x6160;
    0x0004821c jalr t9                       |     t9 ();
    0x00048220 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00048224 beqz v0, 0x4840c              |         goto label_49;
                                             |     }
                                             | label_16:
    0x00048228 addiu v0, zero, 0x5a          |     v0 = 0x5a;
    0x0004822c sw v0, 0x34(sp)               |     *(var_34h) = v0;
                                             | label_17:
    0x00048230 lw v0, 0x24(s7)               |     v0 = *((s7 + 9));
    0x00048234 lw v1, 0x34(sp)               |     v1 = *(var_34h);
    0x00048238 lw a0, (v0)                   |     a0 = *(v0);
    0x0004823c lw v0, 0x20(a0)               |     v0 = *((a0 + 8));
    0x00048240 sltu a1, v0, v1               |     a1 = (v0 < v1) ? 1 : 0;
    0x00048244 lw s2, 0x34(sp)               |     s2 = *(var_34h);
                                             |     if (a1 != 0) {
    0x00048248 beqz a1, 0x48258              |         
    0x0004824c subu v0, v1, v0               |         __asm ("subu v0, v1, v0");
    0x00048250 sw v0, 0x34(sp)               |         *(var_34h) = v0;
    0x00048254 lw s2, 0x34(sp)               |         s2 = *(var_34h);
                                             |     }
    0x00048258 sltu v0, s2, fp               |     v0 = (s2 < fp) ? 1 : 0;
    0x0004825c lw t9, -0x7d1c(gp)            |     t9 = *((gp - 8007));
                                             |     if (v0 == 0) {
    0x00048260 beqz v0, 0x47eb0              |         goto label_9;
                                             |     }
    0x00048264 move a2, s0                   |     a2 = s0;
    0x00048268 move a1, s2                   |     a1 = s2;
    0x0004826c bal 0x6165c                   |     sym_xmlParserInputBufferPush ();
    0x00048270 subu fp, fp, s2               |     __asm ("subu fp, fp, s2");
    0x00048274 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 < 0) {
    0x00048278 bltz v0, 0x47ec4              |         goto label_10;
                                             |     }
    0x0004827c lw a1, 0x24(s7)               |     a1 = *((s7 + 9));
    0x00048280 lw t9, -0x6e14(gp)            |     t9 = *((gp - 7045));
    0x00048284 lw a2, 0x28(sp)               |     a2 = *(var_28h);
    0x00048288 lw v0, (a1)                   |     v0 = *(a1);
    0x0004828c move a3, s6                   |     a3 = s6;
    0x00048290 lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x00048294 jalr t9                       |     t9 ();
    0x00048298 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (fp == 0) {
    0x0004829c beqz fp, 0x485bc              |         goto label_50;
                                             |     }
    0x000482a0 move a0, s7                   |     a0 = s7;
    0x000482a4 move t9, s3                   |     t9 = s3;
    0x000482a8 move a1, zero                 |     a1 = 0;
    0x000482ac bal 0x46084                   |     fcn_00046084 ();
    0x000482b0 lw a0, 0xac(s7)               |     a0 = *((s7 + 43));
    0x000482b4 addiu v0, zero, -1            |     v0 = -1;
    0x000482b8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (a0 != v0) {
    0x000482bc bne a0, v0, 0x48028           |         goto label_11;
                                             |     }
                                             | label_14:
    0x000482c0 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
                                             | label_15:
    0x000482c4 lw v0, 0x54(s7)               |     v0 = *((s7 + 21));
    0x000482c8 lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x000482cc lw s7, 0x54(sp)               |     s7 = *(var_54h);
    0x000482d0 lw s6, 0x50(sp)               |     s6 = *(var_50h);
    0x000482d4 lw s5, 0x4c(sp)               |     s5 = *(var_4ch);
    0x000482d8 lw s4, 0x48(sp)               |     s4 = *(var_48h);
    0x000482dc lw s3, 0x44(sp)               |     s3 = *(var_44h);
    0x000482e0 lw s2, 0x40(sp)               |     s2 = *(var_40h);
    0x000482e4 lw s1, 0x3c(sp)               |     s1 = *(var_3ch);
    0x000482e8 lw s0, 0x38(sp)               |     s0 = *(var_38h);
    0x000482ec addiu sp, sp, 0x60            |     
    0x000482f0 jr ra                         |     return v0;
                                             | label_30:
    0x000482f4 addiu t9, t9, -0x3fc4         |     t9 += -0x3fc4;
    0x000482f8 move a0, s7                   |     a0 = s7;
    0x000482fc bal 0x2c03c                   |     fcn_0002c03c ();
    0x00048300 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00048304 lw v0, 0xac(s7)               |     v0 = *((s7 + 43));
                                             |     if (fp > 0) {
    0x00048308 bgtz fp, 0x47de8              |         goto label_12;
                                             |     }
    0x0004830c sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x00048310 b 0x47dfc                     |     goto label_13;
                                             | label_31:
    0x00048314 addiu a1, zero, 0xd           |     a1 = 0xd;
    0x00048318 lb a0, -1(a0)                 |     a0 = *((a0 - 1));
    0x0004831c sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
                                             |     if (a0 == a1) {
    0x00048320 bnel a0, a1, 0x47dfc          |         goto label_13;
                                             |     }
    0x00048324 addiu v1, zero, 1             |     v1 = 1;
    0x00048328 addiu fp, fp, -1              |     fp += -1;
    0x0004832c sw v1, 0x2c(sp)               |     *(var_2ch) = v1;
    0x00048330 b 0x47dfc                     |     goto label_13;
                                             | label_47:
    0x00048334 lw t9, -0x70f4(gp)            |     t9 = *(gp);
                                             | label_48:
    0x00048338 addiu a1, zero, 0x3e          |     a1 = 0x3e;
    0x0004833c jalr t9                       |     t9 ();
    0x00048340 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00048344 bnez v0, 0x48000              |         goto label_6;
                                             |     }
    0x00048348 addiu v0, zero, -1            |     v0 = -1;
    0x0004834c move s2, fp                   |     s2 = fp;
                                             |     if (s2 == v0) {
    0x00048350 beq s2, v0, 0x482c0           |         goto label_14;
                                             |     }
    0x00048354 move fp, zero                 |     fp = 0;
    0x00048358 b 0x48034                     |     goto label_8;
                                             | label_28:
    0x0004835c addiu v0, zero, 1             |     v0 = 1;
    0x00048360 jr ra                         |     return v0;
                                             | label_45:
    0x00048364 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00048368 lw a1, 0x24(s7)               |     a1 = *((s7 + 9));
                                             |     if (v0 == 0) {
    0x0004836c bnel v0, zero, 0x484ac        |         goto label_51;
                                             |     }
                                             |     if (s1 != 0) {
                                             | label_22:
    0x00048370 beql s1, zero, 0x483fc        |         
    0x00048374 lw v0, 0xc(s7)                |         v0 = *((s7 + 3));
    0x00048378 lw a1, 0x24(s7)               |         a1 = *((s7 + 9));
    0x0004837c move s0, zero                 |         s0 = 0;
                                             |         if (a1 != 0) {
    0x00048380 beqz a1, 0x483b0              |             
    0x00048384 lw v0, (a1)                   |             v0 = *(a1);
    0x00048388 lw t9, -0x7f4c(gp)            |             t9 = *((gp - 8147));
                                             |             if (v0 == 0) {
    0x0004838c beqz v0, 0x48528              |                 goto label_52;
                                             |             }
    0x00048390 lw a0, 0x10(v0)               |             a0 = *((v0 + 4));
    0x00048394 jalr t9                       |             t9 ();
    0x00048398 lw a0, 0x24(s7)               |             a0 = *((s7 + 9));
    0x0004839c lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x000483a0 lw s0, 0x10(a0)               |             s0 = *((a0 + 4));
    0x000483a4 lw a0, 0xc(a0)                |             a0 = *((a0 + 3));
    0x000483a8 subu s0, s0, a0               |             __asm ("subu s0, s0, a0");
    0x000483ac subu s0, v0, s0               |             __asm ("subu s0, v0, s0");
                                             |         }
                                             | label_19:
    0x000483b0 lw v0, 0xac(s7)               |         v0 = *((s7 + 43));
    0x000483b4 addiu a0, zero, -1            |         a0 = -1;
    0x000483b8 addiu s1, zero, 0xe           |         s1 = 0xe;
                                             |         if (v0 != a0) {
    0x000483bc beq v0, a0, 0x483f0           |             
    0x000483c0 lw t9, -0x7ea0(gp)            |             t9 = *((gp - 8104));
                                             |             if (v0 != s1) {
    0x000483c4 bne v0, s1, 0x48540           |                 goto label_53;
                                             |             }
                                             | label_23:
    0x000483c8 lw t9, -0x7ea0(gp)            |             t9 = *((gp - 8104));
                                             |             if (s0 > 0) {
    0x000483cc bgtz s0, 0x48578              |                 goto label_54;
                                             |             }
    0x000483d0 lw v0, (s7)                   |             v0 = *(s7);
                                             |             if (v0 == 0) {
                                             | label_24:
    0x000483d4 beql v0, zero, 0x483f4        |                 goto label_55;
                                             |             }
    0x000483d8 addiu v0, zero, -1            |             v0 = -1;
    0x000483dc lw t9, 0x34(v0)               |             t9 = *((v0 + 13));
    0x000483e0 addiu v0, zero, -1            |             v0 = -1;
                                             |             if (t9 == 0) {
    0x000483e4 beqz t9, 0x483f4              |                 goto label_55;
                                             |             }
    0x000483e8 lw a0, 4(s7)                  |             a0 = *((s7 + 1));
    0x000483ec jalr t9                       |             t9 ();
                                             |         }
    0x000483f0 addiu v0, zero, -1            |         v0 = -1;
                                             | label_55:
    0x000483f4 sw v0, 0xac(s7)               |         *((s7 + 43)) = v0;
                                             | label_25:
    0x000483f8 lw v0, 0xc(s7)                |         v0 = *((s7 + 3));
                                             |     }
                                             | label_18:
    0x000483fc lw ra, 0x5c(sp)               |     ra = *(var_5ch);
                                             |     if (v0 == 0) {
    0x00048400 beqz v0, 0x482c4              |         goto label_15;
                                             |     }
    0x00048404 move v0, zero                 |     v0 = 0;
    0x00048408 b 0x47ee4                     |     goto label_5;
                                             | label_49:
    0x0004840c lw v0, 0x24(s7)               |     v0 = *((s7 + 9));
    0x00048410 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00048414 move t9, s2                   |     t9 = s2;
    0x00048418 lw v0, (v0)                   |     v0 = *(v0);
    0x0004841c addiu a1, a1, 0x6168          |     a1 += 0x6168;
    0x00048420 lw v0, 0xc(v0)                |     v0 = *((v0 + 3));
    0x00048424 lw a0, (v0)                   |     a0 = *(v0);
    0x00048428 jalr t9                       |     t9 ();
    0x0004842c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00048430 bnez v0, 0x48228              |         goto label_16;
                                             |     }
    0x00048434 lw v0, 0x24(s7)               |     v0 = *((s7 + 9));
    0x00048438 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x0004843c move t9, s2                   |     t9 = s2;
    0x00048440 lw v0, (v0)                   |     v0 = *(v0);
    0x00048444 addiu a1, a1, 0x61a0          |     a1 += 0x61a0;
    0x00048448 lw v0, 0xc(v0)                |     v0 = *((v0 + 3));
    0x0004844c lw a0, (v0)                   |     a0 = *(v0);
    0x00048450 jalr t9                       |     t9 ();
    0x00048454 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00048458 beqz v0, 0x48478              |         goto label_56;
                                             |     }
                                             | label_20:
    0x0004845c addiu v0, zero, 0xb4          |     v0 = 0xb4;
    0x00048460 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x00048464 b 0x48230                     |     goto label_17;
                                             |     if (s1 == 0) {
                                             | label_21:
    0x00048468 beql s1, zero, 0x483fc        |         goto label_18;
                                             |     }
    0x0004846c lw v0, 0xc(s7)                |     v0 = *((s7 + 3));
    0x00048470 move s0, zero                 |     s0 = 0;
    0x00048474 b 0x483b0                     |     goto label_19;
                                             | label_56:
    0x00048478 lw v0, 0x24(s7)               |     v0 = *((s7 + 9));
    0x0004847c lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00048480 move t9, s2                   |     t9 = s2;
    0x00048484 lw v0, (v0)                   |     v0 = *(v0);
    0x00048488 addiu a1, a1, 0x61a8          |     a1 += 0x61a8;
    0x0004848c lw v0, 0xc(v0)                |     v0 = *((v0 + 3));
    0x00048490 lw a0, (v0)                   |     a0 = *(v0);
    0x00048494 jalr t9                       |     t9 ();
    0x00048498 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0004849c bnez v0, 0x4845c              |         goto label_20;
                                             |     }
    0x000484a0 addiu v0, zero, 0x2d          |     v0 = 0x2d;
    0x000484a4 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x000484a8 b 0x48230                     |     goto label_17;
                                             |     if (a1 == 0) {
                                             | label_51:
    0x000484ac beqz a1, 0x48468              |         goto label_21;
                                             |     }
    0x000484b0 nop                           |     
    0x000484b4 lw v0, (a1)                   |     v0 = *(a1);
    0x000484b8 lw t9, -0x6f30(gp)            |     t9 = *(gp);
                                             |     if (v0 == 0) {
    0x000484bc beqz v0, 0x48520              |         goto label_57;
                                             |     }
    0x000484c0 lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x000484c4 jalr t9                       |     t9 ();
    0x000484c8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000484cc lw a0, 0x24(s7)               |     a0 = *((s7 + 9));
    0x000484d0 addiu a1, zero, 1             |     a1 = 1;
    0x000484d4 lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
    0x000484d8 lw a3, 0xc(a0)                |     a3 = *((a0 + 3));
    0x000484dc lw s0, 0x10(a0)               |     s0 = *((a0 + 4));
    0x000484e0 lw t9, -0x7d1c(gp)            |     t9 = *((gp - 8007));
    0x000484e4 lw a0, (a0)                   |     a0 = *(a0);
    0x000484e8 addiu a2, a2, -0x6f90         |     a2 += -0x6f90;
    0x000484ec move s2, v0                   |     s2 = v0;
    0x000484f0 subu s0, s0, a3               |     __asm ("subu s0, s0, a3");
    0x000484f4 bal 0x6165c                   |     sym_xmlParserInputBufferPush ();
    0x000484f8 lw a1, 0x24(s7)               |     a1 = *((s7 + 9));
    0x000484fc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00048500 move a3, s0                   |     a3 = s0;
    0x00048504 lw v0, (a1)                   |     v0 = *(a1);
    0x00048508 lw t9, -0x6e14(gp)            |     t9 = *((gp - 7045));
    0x0004850c move a2, s2                   |     a2 = s2;
    0x00048510 lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x00048514 jalr t9                       |     t9 ();
    0x00048518 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0004851c b 0x48370                     |     goto label_22;
                                             |     if (s1 == 0) {
                                             | label_57:
    0x00048520 beql s1, zero, 0x483fc        |         goto label_18;
                                             |     }
    0x00048524 lw v0, 0xc(s7)                |     v0 = *((s7 + 3));
                                             | label_52:
    0x00048528 lw v0, 0x10(a1)               |     v0 = *((a1 + 4));
    0x0004852c lw a0, 0xc(a1)                |     a0 = *((a1 + 3));
    0x00048530 lw s0, 0x18(a1)               |     s0 = *((a1 + 6));
    0x00048534 subu v0, v0, a0               |     __asm ("subu v0, v0, a0");
    0x00048538 subu s0, s0, v0               |     __asm ("subu s0, s0, v0");
    0x0004853c b 0x483b0                     |     goto label_19;
                                             | label_53:
    0x00048540 move a2, zero                 |     a2 = 0;
    0x00048544 addiu a1, zero, 5             |     a1 = 5;
    0x00048548 addiu t9, t9, -0x4cc8         |     t9 += -aav.0x00004cc8;
    0x0004854c move a0, s7                   |     a0 = s7;
    0x00048550 bal 0x2b338                   |     fcn_0002b338 ();
    0x00048554 lw v0, 0xac(s7)               |     v0 = *((s7 + 43));
    0x00048558 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == s1) {
    0x0004855c beq v0, s1, 0x483c8           |         goto label_23;
                                             |     }
                                             | label_26:
    0x00048560 addiu a0, zero, -1            |     a0 = -1;
    0x00048564 lw v0, (s7)                   |     v0 = *(s7);
                                             |     if (v0 == a0) {
    0x00048568 bnel v0, a0, 0x483d4          |         goto label_24;
                                             |     }
    0x0004856c addiu v0, zero, -1            |     v0 = -1;
    0x00048570 sw v0, 0xac(s7)               |     *((s7 + 43)) = v0;
    0x00048574 b 0x483f8                     |     goto label_25;
                                             | label_54:
    0x00048578 move a2, zero                 |     a2 = 0;
    0x0004857c addiu a1, zero, 5             |     a1 = 5;
    0x00048580 addiu t9, t9, -0x4cc8         |     t9 += -aav.0x00004cc8;
    0x00048584 move a0, s7                   |     a0 = s7;
    0x00048588 bal 0x2b338                   |     fcn_0002b338 ();
    0x0004858c lw v0, 0xac(s7)               |     v0 = *((s7 + 43));
    0x00048590 b 0x48560                     |     goto label_26;
                                             | label_37:
    0x00048594 lw a1, 0x24(s7)               |     a1 = *((s7 + 9));
    0x00048598 lw t9, -0x6e14(gp)            |     t9 = *((gp - 7045));
    0x0004859c lw a2, 0x28(sp)               |     a2 = *(var_28h);
    0x000485a0 lw v0, (a1)                   |     v0 = *(a1);
    0x000485a4 move a3, s6                   |     a3 = s6;
    0x000485a8 lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x000485ac jalr t9                       |     t9 ();
    0x000485b0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000485b4 lw a1, 0x24(s7)               |     a1 = *((s7 + 9));
    0x000485b8 b 0x47fb0                     |     goto label_27;
                                             | label_50:
    0x000485bc lw a1, 0x24(s7)               |     a1 = *((s7 + 9));
    0x000485c0 lw fp, 0x34(sp)               |     fp = *(var_34h);
    0x000485c4 b 0x47fb0                     |     goto label_27;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x347a0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlParseComment ()           | void xmlParseComment () {
    0x000347a0 lui gp, 0x16                  |     
    0x000347a4 addiu gp, gp, -0x3130         |     
    0x000347a8 addu gp, gp, t9               |     gp += t9;
    0x000347ac addiu sp, sp, -0x70           |     
    0x000347b0 addiu v1, zero, 0x3c          |     v1 = 0x3c;
    0x000347b4 sw s6, 0x60(sp)               |     *(var_60h) = s6;
    0x000347b8 move s6, a0                   |     s6 = a0;
    0x000347bc lw a0, 0x24(a0)               |     a0 = *((a0 + 9));
    0x000347c0 sw s2, 0x50(sp)               |     *(var_50h) = s2;
    0x000347c4 lw s2, -0x7000(gp)            |     s2 = *((gp - 7168));
    0x000347c8 lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
    0x000347cc sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000347d0 lw a1, (s2)                   |     a1 = *(s2);
    0x000347d4 sw ra, 0x6c(sp)               |     *(var_6ch) = ra;
    0x000347d8 sw fp, 0x68(sp)               |     *(var_68h) = fp;
    0x000347dc sw s7, 0x64(sp)               |     *(var_64h) = s7;
    0x000347e0 sw s5, 0x5c(sp)               |     *(var_5ch) = s5;
    0x000347e4 sw s4, 0x58(sp)               |     *(var_58h) = s4;
    0x000347e8 sw s3, 0x54(sp)               |     *(var_54h) = s3;
    0x000347ec sw s1, 0x4c(sp)               |     *(var_4ch) = s1;
    0x000347f0 sw s0, 0x48(sp)               |     *(var_48h) = s0;
    0x000347f4 sw a1, 0x44(sp)               |     *(var_44h) = a1;
    0x000347f8 lbu a1, (v0)                  |     a1 = *(v0);
    0x000347fc addiu v1, zero, 0x21          |     v1 = 0x21;
                                             |     if (a1 != v1) {
    0x00034800 bne a1, v1, 0x34810           |         goto label_0;
                                             |     }
    0x00034804 lbu a1, 1(v0)                 |     a1 = *((v0 + 1));
                                             |     if (a1 == v1) {
    0x00034808 beql a1, v1, 0x3484c          |         goto label_34;
                                             |     }
    0x0003480c lbu v1, 2(v0)                 |     v1 = *((v0 + 2));
                                             |     do {
                                             | label_0:
    0x00034810 lw v1, 0x44(sp)               |         v1 = *(var_44h);
    0x00034814 lw v0, (s2)                   |         v0 = *(s2);
    0x00034818 lw ra, 0x6c(sp)               |         ra = *(var_6ch);
                                             |         if (v1 != v0) {
    0x0003481c bne v1, v0, 0x350e4           |             goto label_35;
                                             |         }
    0x00034820 lw fp, 0x68(sp)               |         fp = *(var_68h);
    0x00034824 lw s7, 0x64(sp)               |         s7 = *(var_64h);
    0x00034828 lw s6, 0x60(sp)               |         s6 = *(var_60h);
    0x0003482c lw s5, 0x5c(sp)               |         s5 = *(var_5ch);
    0x00034830 lw s4, 0x58(sp)               |         s4 = *(var_58h);
    0x00034834 lw s3, 0x54(sp)               |         s3 = *(var_54h);
    0x00034838 lw s2, 0x50(sp)               |         s2 = *(var_50h);
    0x0003483c lw s1, 0x4c(sp)               |         s1 = *(var_4ch);
    0x00034840 lw s0, 0x48(sp)               |         s0 = *(var_48h);
    0x00034844 addiu sp, sp, 0x70            |         
    0x00034848 jr ra                         |         return v0;
                                             | label_34:
    0x0003484c addiu a1, zero, 0x2d          |         a1 = 0x2d;
    0x00034850 bne v1, a1, 0x34810           |         
                                             |     } while (v1 != a1);
    0x00034854 nop                           |     
    0x00034858 lbu a1, 3(v0)                 |     a1 = *((v0 + 3));
    0x0003485c addiu v1, v0, 4               |     v1 = v0 + 4;
                                             |     if (a1 != v1) {
    0x00034860 bne a1, v1, 0x34810           |         goto label_0;
                                             |     }
    0x00034864 lw a3, 0xac(s6)               |     a3 = *((s6 + 43));
    0x00034868 lw a2, 0xc8(s6)               |     a2 = *((s6 + 50));
    0x0003486c lw a1, 0x20(a0)               |     a1 = *((a0 + 8));
    0x00034870 sw a3, 0x1c(sp)               |     *(var_1ch) = a3;
    0x00034874 lw a3, 0x38(a0)               |     a3 = *((a0 + 14));
    0x00034878 addiu a2, a2, 4               |     a2 += 4;
    0x0003487c addiu a1, a1, 4               |     a1 += 4;
    0x00034880 sw a3, 0x2c(sp)               |     *(var_2ch) = a3;
    0x00034884 addiu a3, zero, 5             |     a3 = 5;
    0x00034888 sw a3, 0xac(s6)               |     *((s6 + 43)) = a3;
    0x0003488c sw a2, 0xc8(s6)               |     *((s6 + 50)) = a2;
    0x00034890 sw v1, 0x10(a0)               |     *((a0 + 4)) = v1;
    0x00034894 sw a1, 0x20(a0)               |     *((a0 + 8)) = a1;
    0x00034898 lbu v0, 4(v0)                 |     v0 = *((v0 + 4));
    0x0003489c lw t9, -0x7ef8(gp)            |     t9 = *((gp - 8126));
                                             |     if (v0 == 0) {
    0x000348a0 beqz v0, 0x34cc8              |         goto label_36;
                                             |     }
                                             | label_10:
    0x000348a4 lw v0, 0x124(s6)              |     v0 = *(s6);
    0x000348a8 lw s7, -0x7ea0(gp)            |     s7 = *((gp - 8104));
                                             |     if (v0 == 0) {
    0x000348ac bnez v0, 0x3492c              |         
    0x000348b0 lw a1, 0xc(a0)                |         a1 = *((a0 + 3));
    0x000348b4 lw v0, 0x14(a0)               |         v0 = *((a0 + 5));
    0x000348b8 subu a1, v1, a1               |         __asm ("subu a1, v1, a1");
    0x000348bc slti a1, a1, 0x1f5            |         a1 = (a1 < 0x1f5) ? 1 : 0;
    0x000348c0 subu v0, v0, v1               |         __asm ("subu v0, v0, v1");
                                             |         if (a1 == 0) {
    0x000348c4 bnez a1, 0x34900              |             
    0x000348c8 slti v0, v0, 0x1f4            |             v0 = (v0 < aav.0x000001f4) ? 1 : 0;
    0x000348cc lw s4, -0x7ea0(gp)            |             s4 = *((gp - 8104));
                                             |             if (v0 == 0) {
    0x000348d0 beqz v0, 0x34930              |                 goto label_37;
                                             |             }
    0x000348d4 lw t9, -0x7ea0(gp)            |             t9 = *((gp - 8104));
    0x000348d8 addiu t9, t9, -0x267c         |             t9 += -0x267c;
    0x000348dc addiu a0, s6, 0x24            |             a0 = s6 + 0x24;
    0x000348e0 bal 0x2d984                   |             fcn_0002d984 ();
    0x000348e4 lw a0, 0x24(s6)               |             a0 = *((s6 + 9));
    0x000348e8 lw v0, 0x124(s6)              |             v0 = *(s6);
    0x000348ec lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x000348f0 lw v1, 0x10(a0)               |             v1 = *((a0 + 4));
                                             |             if (v0 != 0) {
    0x000348f4 bnez v0, 0x34928              |                 goto label_38;
                                             |             }
    0x000348f8 lw v0, 0x14(a0)               |             v0 = *((a0 + 5));
    0x000348fc subu v0, v0, v1               |             __asm ("subu v0, v0, v1");
                                             |         }
    0x00034900 slti v0, v0, 0xfa             |         v0 = (v0 < 0xfa) ? 1 : 0;
    0x00034904 lw s7, -0x7ea0(gp)            |         s7 = *((gp - 8104));
                                             |         if (v0 == 0) {
    0x00034908 beqz v0, 0x3492c              |             goto label_39;
                                             |         }
    0x0003490c lw t9, -0x7ea0(gp)            |         t9 = *((gp - 8104));
    0x00034910 addiu t9, t9, -0x17dc         |         t9 += -0x17dc;
    0x00034914 move a0, s6                   |         a0 = s6;
    0x00034918 bal 0x2e824                   |         fcn_0002e824 ();
    0x0003491c lw a0, 0x24(s6)               |         a0 = *((s6 + 9));
    0x00034920 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00034924 lw v1, 0x10(a0)               |         v1 = *((a0 + 4));
                                             | label_38:
    0x00034928 lw s7, -0x7ea0(gp)            |         s7 = *((gp - 8104));
                                             |     }
                                             | label_39:
    0x0003492c lw s4, -0x7ea0(gp)            |     s4 = *((gp - 8104));
                                             | label_37:
    0x00034930 addiu v0, s7, -0x17dc         |     v0 = s7 + -0x17dc;
    0x00034934 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x00034938 lw v0, -0x7ea0(gp)            |     v0 = *((gp - 8104));
    0x0003493c lbu a2, (v1)                  |     a2 = *(v1);
    0x00034940 addiu v0, v0, -0x267c         |     v0 += -0x267c;
    0x00034944 move a1, v1                   |     a1 = v1;
    0x00034948 move s1, zero                 |     s1 = 0;
    0x0003494c addiu s3, zero, 0x64          |     s3 = 0x64;
    0x00034950 move s0, zero                 |     s0 = 0;
    0x00034954 addiu s4, s4, -0x357c         |     s4 += -0x357c;
    0x00034958 sw v0, 0x30(sp)               |     *(var_30h) = v0;
                                             | label_3:
    0x0003495c addiu v0, zero, 0xa           |     v0 = 0xa;
                                             |     if (a2 == v0) {
    0x00034960 beql a2, v0, 0x34cf8          |         goto label_40;
                                             |     }
    0x00034964 lw v0, 0x1c(a0)               |     v0 = *((a0 + 7));
    0x00034968 lw a3, 0x20(a0)               |     a3 = *((a0 + 8));
                                             | label_11:
    0x0003496c lw fp, -0x7fd4(gp)            |     fp = *(gp);
    0x00034970 lw s5, -0x7fd4(gp)            |     s5 = *(gp);
                                             | label_1:
    0x00034974 move s7, v1                   |     s7 = v1;
    0x00034978 subu a3, a3, v1               |     __asm ("subu a3, a3, v1");
    0x0003497c addiu t2, zero, 9             |     t2 = 9;
                                             |     do {
    0x00034980 addiu v0, a2, -0x2e           |         v0 = a2 + -0x2e;
    0x00034984 sltiu v0, v0, 0x52            |         v0 = (v0 < 0x52) ? 1 : 0;
    0x00034988 addu t1, s7, a3               |         t1 = s7 + a3;
                                             |         if (v0 == 0) {
    0x0003498c bnez v0, 0x349a8              |             
    0x00034990 addiu v0, a2, -0x20           |             v0 = a2 + -0x20;
    0x00034994 sltiu v0, v0, 0xd             |             v0 = (v0 < 0xd) ? 1 : 0;
    0x00034998 addiu s7, s7, 1               |             s7++;
                                             |             if (v0 == 0) {
    0x0003499c bnel v0, zero, 0x349ac        |                 goto label_41;
                                             |             }
    0x000349a0 sw t1, 0x20(a0)               |             *((a0 + 8)) = t1;
                                             |             if (a2 == t2) {
    0x000349a4 bnel a2, t2, 0x349b4          |                 goto label_42;
                                             |             }
                                             |         }
    0x000349a8 addiu s7, s7, 1               |         s7++;
                                             | label_41:
    0x000349ac lbu a2, (s7)                  |         a2 = *(s7);
    0x000349b0 b 0x34980                     |         
                                             |     } while (1);
                                             | label_42:
    0x000349b4 lbu v0, (s7)                  |     v0 = *(s7);
    0x000349b8 addiu a2, zero, 0xa           |     a2 = 0xa;
    0x000349bc subu a2, s7, a1               |     __asm ("subu a2, s7, a1");
                                             |     if (v0 == a2) {
    0x000349c0 beq v0, a2, 0x34bec           |         goto label_43;
                                             |     }
                                             |     if (a2 != 0) {
    0x000349c4 beql a2, zero, 0x34a20        |         
    0x000349c8 lui v0, 0x98                  |         v0 = 0x980000;
    0x000349cc lw a0, (s6)                   |         a0 = *(s6);
                                             |         if (a0 == 0) {
    0x000349d0 beql a0, zero, 0x34a20        |             goto label_44;
                                             |         }
    0x000349d4 lui v0, 0x98                  |         v0 = 0x980000;
    0x000349d8 lw a0, 0x50(a0)               |         a0 = *((a0 + 20));
                                             |         if (a0 == 0) {
    0x000349dc beql a0, zero, 0x34a20        |             goto label_44;
                                             |         }
    0x000349e0 lui v0, 0x98                  |         v0 = 0x980000;
    0x000349e4 addu a3, s1, a2               |         a3 = s1 + a2;
                                             |         if (s0 == 0) {
    0x000349e8 beqz s0, 0x34c70              |             goto label_45;
                                             |         }
    0x000349ec addiu v0, a3, 1               |         v0 = a3 + 1;
    0x000349f0 sltu v0, v0, s3               |         v0 = (v0 < s3) ? 1 : 0;
    0x000349f4 lw v0, -0x6e24(gp)            |         v0 = *(gp);
                                             |         if (v0 == 0) {
    0x000349f8 beqz v0, 0x34c28              |             goto label_46;
                                             |         }
    0x000349fc addu a0, s0, s1               |         a0 = s0 + s1;
    0x00034a00 move s1, a3                   |         s1 = a3;
                                             | label_8:
    0x00034a04 lw t9, -0x6fbc(gp)            |         t9 = *(gp);
    0x00034a08 jalr t9                       |         t9 ();
    0x00034a0c nop                           |         
    0x00034a10 addu v0, s0, s1               |         v0 = s0 + s1;
    0x00034a14 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00034a18 sb zero, (v0)                 |         *(v0) = 0;
    0x00034a1c lui v0, 0x98                  |         v0 = 0x989681;
                                             |     }
                                             | label_44:
    0x00034a20 ori v0, v0, 0x9681            |     
    0x00034a24 sltu v0, s1, v0               |     v0 = (s1 < v0) ? 1 : 0;
    0x00034a28 lw a0, 0x24(s6)               |     a0 = *((s6 + 9));
                                             |     if (v0 != 0) {
    0x00034a2c bnel v0, zero, 0x34a44        |         
    0x00034a30 lw v0, 0x168(s6)              |         v0 = *(s6);
    0x00034a34 ext v0, v0, 0x13, 1           |         __asm ("ext v0, v0, 0x13, 1");
    0x00034a38 lw a2, -0x7fd4(gp)            |         a2 = *(gp);
                                             |         if (v0 == 0) {
    0x00034a3c beqz v0, 0x34d2c              |             goto label_47;
                                             |         }
    0x00034a40 lw a0, 0x24(s6)               |         a0 = *((s6 + 9));
                                             |     }
    0x00034a44 addiu a1, zero, 0xa           |     a1 = 0xa;
    0x00034a48 sw s7, 0x10(a0)               |     *((a0 + 4)) = s7;
    0x00034a4c lbu v0, (s7)                  |     v0 = *(s7);
                                             |     if (v0 == a1) {
    0x00034a50 beql v0, a1, 0x34b84          |         goto label_48;
                                             |     }
    0x00034a54 lw v0, 0x1c(a0)               |     v0 = *((a0 + 7));
    0x00034a58 move a2, s7                   |     a2 = s7;
                                             | label_4:
    0x00034a5c addiu a1, zero, 0xd           |     a1 = 0xd;
                                             |     if (v0 == a1) {
    0x00034a60 beql v0, a1, 0x34b30          |         goto label_49;
                                             |     }
    0x00034a64 lbu a1, 1(a2)                 |     a1 = *((a2 + 1));
    0x00034a68 lw v0, 0x124(s6)              |     v0 = *(s6);
                                             | label_2:
    0x00034a6c lw v1, 0xac(s6)               |     v1 = *((s6 + 43));
                                             |     if (v0 != 0) {
    0x00034a70 bnel v0, zero, 0x34a9c        |         
    0x00034a74 lw a1, 0xc(a0)                |         a1 = *((a0 + 3));
    0x00034a78 lw v0, 0x14(a0)               |         v0 = *((a0 + 5));
    0x00034a7c subu a0, s7, a1               |         __asm ("subu a0, s7, a1");
    0x00034a80 slti a0, a0, 0x1f5            |         a0 = (a0 < 0x1f5) ? 1 : 0;
    0x00034a84 subu v1, v0, s7               |         __asm ("subu v1, v0, s7");
                                             |         if (a0 != 0) {
    0x00034a88 bnez a0, 0x34bc4              |             goto label_50;
                                             |         }
    0x00034a8c slti v1, v1, 0x1f4            |         v1 = (v1 < aav.0x000001f4) ? 1 : 0;
    0x00034a90 lw t9, 0x30(sp)               |         t9 = *(var_30h);
                                             |         if (v1 != 0) {
    0x00034a94 bnez v1, 0x34ba0              |             goto label_51;
                                             |         }
                                             | label_5:
    0x00034a98 lw v1, 0xac(s6)               |         v1 = *((s6 + 43));
                                             |     }
                                             | label_6:
    0x00034a9c addiu v0, zero, -1            |     v0 = -1;
    0x00034aa0 addiu v1, zero, 0x2d          |     v1 = 0x2d;
                                             |     if (v1 == v0) {
    0x00034aa4 beq v1, v0, 0x34ce0           |         goto label_52;
                                             |     }
    0x00034aa8 lw a0, 0x24(s6)               |     a0 = *((s6 + 9));
    0x00034aac lw s7, 0x10(a0)               |     s7 = *((a0 + 4));
    0x00034ab0 lbu a2, (s7)                  |     a2 = *(s7);
    0x00034ab4 move v1, s7                   |     v1 = s7;
                                             |     if (a2 != v1) {
    0x00034ab8 bne a2, v1, 0x34b60           |         goto label_53;
                                             |     }
    0x00034abc lbu v1, 1(s7)                 |     v1 = *((s7 + 1));
                                             |     if (v1 == a2) {
    0x00034ac0 beql v1, a2, 0x34ae4          |         goto label_54;
                                             |     }
    0x00034ac4 lbu a1, 2(s7)                 |     a1 = *((s7 + 2));
    0x00034ac8 lw a3, 0x20(a0)               |     a3 = *((a0 + 8));
    0x00034acc move a1, s7                   |     a1 = s7;
                                             |     do {
    0x00034ad0 addiu a3, a3, 1               |         a3++;
    0x00034ad4 sw a3, 0x20(a0)               |         *((a0 + 8)) = a3;
    0x00034ad8 addiu v1, s7, 1               |         v1 = s7 + 1;
    0x00034adc lbu a2, 1(s7)                 |         a2 = *((s7 + 1));
    0x00034ae0 b 0x34974                     |         goto label_1;
                                             | label_54:
    0x00034ae4 addiu v1, zero, 0x3e          |         v1 = 0x3e;
                                             |         if (a1 == v1) {
    0x00034ae8 beql a1, v1, 0x34d64          |             goto label_55;
                                             |         }
    0x00034aec lw v1, 0x38(a0)               |         v1 = *((a0 + 14));
                                             |         if (s0 == 0) {
    0x00034af0 beql s0, zero, 0x34be4        |             goto label_56;
                                             |         }
    0x00034af4 move a3, zero                 |         a3 = 0;
    0x00034af8 move a3, s0                   |         a3 = s0;
    0x00034afc addiu a2, s5, 0x7b74          |         a2 = s5 + 0x7b74;
                                             | label_7:
    0x00034b00 addiu a1, zero, 0x50          |         a1 = 0x50;
    0x00034b04 move t9, s4                   |         t9 = s4;
    0x00034b08 move a0, s6                   |         a0 = s6;
    0x00034b0c bal 0x2ca84                   |         fcn_0002ca84 ();
    0x00034b10 lw a0, 0x24(s6)               |         a0 = *((s6 + 9));
    0x00034b14 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00034b18 addiu s7, s7, 1               |         s7++;
    0x00034b1c lw a3, 0x20(a0)               |         a3 = *((a0 + 8));
    0x00034b20 lw a1, 0x10(a0)               |         a1 = *((a0 + 4));
    0x00034b24 addiu a3, a3, 1               |         a3++;
    0x00034b28 sw a3, 0x20(a0)               |         *((a0 + 8)) = a3;
    0x00034b2c b 0x34ad0                     |         
                                             |     } while (1);
                                             | label_49:
    0x00034b30 addiu v0, zero, 0xa           |     v0 = 0xa;
    0x00034b34 lw v0, 0x124(s6)              |     v0 = *(s6);
                                             |     if (a1 == v0) {
    0x00034b38 bnel a1, v0, 0x34a6c          |         goto label_2;
                                             |     }
    0x00034b3c lw v0, 0x1c(a0)               |     v0 = *((a0 + 7));
    0x00034b40 addiu v1, a2, 1               |     v1 = a2 + 1;
    0x00034b44 addiu v0, v0, 1               |     v0++;
    0x00034b48 sw v0, 0x1c(a0)               |     *((a0 + 7)) = v0;
    0x00034b4c addiu v0, zero, 1             |     v0 = 1;
    0x00034b50 sw v1, 0x10(a0)               |     *((a0 + 4)) = v1;
    0x00034b54 sw v0, 0x20(a0)               |     *((a0 + 8)) = v0;
    0x00034b58 addiu v1, a2, 2               |     v1 = a2 + 2;
    0x00034b5c lbu a2, 2(a2)                 |     a2 = *((a2 + 2));
                                             | label_53:
    0x00034b60 addiu v0, a2, -0x20           |     v0 = a2 + -0x20;
    0x00034b64 sltiu v0, v0, 0x60            |     v0 = (v0 < 0x60) ? 1 : 0;
    0x00034b68 lw a1, 0x10(a0)               |     a1 = *((a0 + 4));
                                             |     if (v0 == 0) {
    0x00034b6c bnel v0, zero, 0x3495c        |         goto label_3;
                                             |     }
    0x00034b70 addiu v0, zero, 9             |     v0 = 9;
    0x00034b74 lw v0, 0x38(a0)               |     v0 = *((a0 + 14));
                                             |     if (a2 == v0) {
    0x00034b78 bnel a2, v0, 0x34e94          |         goto label_57;
                                             |     }
    0x00034b7c lw a1, 0x10(a0)               |     a1 = *((a0 + 4));
    0x00034b80 b 0x3495c                     |     goto label_3;
                                             | label_48:
    0x00034b84 addiu a2, s7, 1               |     a2 = s7 + 1;
    0x00034b88 addiu v0, v0, 1               |     v0++;
    0x00034b8c sw v0, 0x1c(a0)               |     *((a0 + 7)) = v0;
    0x00034b90 addiu v0, zero, 1             |     v0 = 1;
    0x00034b94 sw v0, 0x20(a0)               |     *((a0 + 8)) = v0;
    0x00034b98 lbu v0, 1(s7)                 |     v0 = *((s7 + 1));
    0x00034b9c b 0x34a5c                     |     goto label_4;
                                             | label_51:
    0x00034ba0 addiu a0, s6, 0x24            |     a0 = s6 + 0x24;
    0x00034ba4 jalr t9                       |     t9 ();
    0x00034ba8 lw v0, 0x124(s6)              |     v0 = *(s6);
    0x00034bac lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00034bb0 bnez v0, 0x34a98              |         goto label_5;
                                             |     }
    0x00034bb4 lw v0, 0x24(s6)               |     v0 = *((s6 + 9));
    0x00034bb8 lw v1, 0x14(v0)               |     v1 = *((v0 + 5));
    0x00034bbc lw v0, 0x10(v0)               |     v0 = *((v0 + 4));
    0x00034bc0 subu v1, v1, v0               |     __asm ("subu v1, v1, v0");
                                             | label_50:
    0x00034bc4 slti v1, v1, 0xfa             |     v1 = (v1 < 0xfa) ? 1 : 0;
                                             |     if (v1 == 0) {
    0x00034bc8 beql v1, zero, 0x34a9c        |         goto label_6;
                                             |     }
    0x00034bcc lw v1, 0xac(s6)               |     v1 = *((s6 + 43));
    0x00034bd0 lw t9, 0x20(sp)               |     t9 = *(var_20h);
    0x00034bd4 move a0, s6                   |     a0 = s6;
    0x00034bd8 jalr t9                       |     t9 ();
    0x00034bdc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00034be0 b 0x34a98                     |     goto label_5;
                                             | label_56:
    0x00034be4 addiu a2, fp, 0x7ba0          |     a2 = fp + 0x7ba0;
    0x00034be8 b 0x34b00                     |     goto label_7;
                                             | label_43:
    0x00034bec lw a3, 0x1c(a0)               |     a3 = *((a0 + 7));
    0x00034bf0 move v1, s7                   |     v1 = s7;
    0x00034bf4 addiu a3, a3, 1               |     a3++;
    0x00034bf8 subu a3, a3, s7               |     __asm ("subu a3, a3, s7");
    0x00034bfc addiu t2, zero, 1             |     t2 = 1;
    0x00034c00 addiu t1, zero, 0xa           |     t1 = 0xa;
    0x00034c04 addu v0, v1, a3               |     v0 = v1 + a3;
                                             |     do {
    0x00034c08 addiu v1, v1, 1               |         v1++;
    0x00034c0c sw v0, 0x1c(a0)               |         *((a0 + 7)) = v0;
    0x00034c10 sw t2, 0x20(a0)               |         *((a0 + 8)) = t2;
    0x00034c14 lbu a2, (v1)                  |         a2 = *(v1);
    0x00034c18 addu v0, v1, a3               |         v0 = v1 + a3;
    0x00034c1c beq a2, t1, 0x34c08           |         
                                             |     } while (a2 == t1);
    0x00034c20 addiu a3, zero, 1             |     a3 = 1;
    0x00034c24 b 0x34974                     |     goto label_1;
                                             | label_46:
    0x00034c28 addiu s3, s3, 0x64            |     s3 += 0x64;
    0x00034c2c addu s3, a3, s3               |     s3 = a3 + s3;
    0x00034c30 lw t9, (v0)                   |     t9 = *(v0);
    0x00034c34 sw a2, 0x28(sp)               |     *(var_28h) = a2;
    0x00034c38 sw a3, 0x24(sp)               |     *(var_24h) = a3;
    0x00034c3c move a1, s3                   |     a1 = s3;
    0x00034c40 move a0, s0                   |     a0 = s0;
    0x00034c44 jalr t9                       |     t9 ();
    0x00034c48 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00034c4c beqz v0, 0x34e5c              |         goto label_58;
                                             |     }
    0x00034c50 lw a1, 0x24(s6)               |     a1 = *((s6 + 9));
    0x00034c54 lw a3, 0x24(sp)               |     a3 = *(var_24h);
    0x00034c58 addu a0, v0, s1               |     a0 = v0 + s1;
    0x00034c5c move s0, v0                   |     s0 = v0;
    0x00034c60 lw a1, 0x10(a1)               |     a1 = *((a1 + 4));
    0x00034c64 move s1, a3                   |     s1 = a3;
    0x00034c68 lw a2, 0x28(sp)               |     a2 = *(var_28h);
    0x00034c6c b 0x34a04                     |     goto label_8;
                                             | label_45:
    0x00034c70 addiu a0, zero, 0x2d          |     a0 = 0x2d;
                                             |     if (v0 == a0) {
    0x00034c74 beql v0, a0, 0x34cb8          |         goto label_59;
                                             |     }
    0x00034c78 lbu a0, 1(s7)                 |     a0 = *((s7 + 1));
    0x00034c7c addiu s3, a2, 0x64            |     s3 = a2 + 0x64;
                                             |     do {
                                             | label_9:
    0x00034c80 lw v0, -0x6ddc(gp)            |         v0 = *((gp - 7031));
    0x00034c84 sw a2, 0x24(sp)               |         *(var_24h) = a2;
    0x00034c88 lw t9, (v0)                   |         t9 = *(v0);
    0x00034c8c move a0, s3                   |         a0 = s3;
    0x00034c90 jalr t9                       |         t9 ();
    0x00034c94 move s0, v0                   |         s0 = v0;
    0x00034c98 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00034c9c lw a2, 0x24(sp)               |         a2 = *(var_24h);
                                             |         if (v0 == 0) {
    0x00034ca0 beqz v0, 0x350f0              |             goto label_60;
                                             |         }
    0x00034ca4 lw v0, 0x24(s6)               |         v0 = *((s6 + 9));
    0x00034ca8 move s1, a2                   |         s1 = a2;
    0x00034cac move a0, s0                   |         a0 = s0;
    0x00034cb0 lw a1, 0x10(v0)               |         a1 = *((v0 + 4));
    0x00034cb4 b 0x34a04                     |         goto label_8;
                                             | label_59:
    0x00034cb8 addiu s3, a2, 0x64            |         s3 = a2 + 0x64;
    0x00034cbc bnel a0, v0, 0x34c80          |         
                                             |     } while (a0 == v0);
    0x00034cc0 addiu s3, a2, 1               |     s3 = a2 + 1;
    0x00034cc4 b 0x34c80                     |     goto label_9;
                                             | label_36:
    0x00034cc8 addiu a1, zero, 0xfa          |     a1 = 0xfa;
    0x00034ccc bal 0x28398                   |     sym_xmlParserInputGrow ();
    0x00034cd0 lw a0, 0x24(s6)               |     a0 = *((s6 + 9));
    0x00034cd4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00034cd8 lw v1, 0x10(a0)               |     v1 = *((a0 + 4));
    0x00034cdc b 0x348a4                     |     goto label_10;
                                             | label_52:
    0x00034ce0 lw v0, -0x7158(gp)            |     v0 = *(gp);
    0x00034ce4 lw t9, (v0)                   |     t9 = *(v0);
    0x00034ce8 move a0, s0                   |     a0 = s0;
    0x00034cec jalr t9                       |     t9 ();
    0x00034cf0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00034cf4 b 0x34810                     |     goto label_0;
                                             | label_40:
    0x00034cf8 addiu t1, zero, 1             |     t1 = 1;
    0x00034cfc subu v0, v0, v1               |     __asm ("subu v0, v0, v1");
    0x00034d00 addiu v0, v0, 1               |     v0++;
    0x00034d04 addiu a3, zero, 0xa           |     a3 = 0xa;
    0x00034d08 addu a2, v1, v0               |     a2 = v1 + v0;
                                             |     do {
    0x00034d0c addiu v1, v1, 1               |         v1++;
    0x00034d10 sw a2, 0x1c(a0)               |         *((a0 + 7)) = a2;
    0x00034d14 sw t1, 0x20(a0)               |         *((a0 + 8)) = t1;
    0x00034d18 lbu a2, (v1)                  |         a2 = *(v1);
    0x00034d1c beql a2, a3, 0x34d0c          |         
                                             |     } while (a2 == a3);
    0x00034d20 addu a2, v1, v0               |     a2 = v1 + v0;
    0x00034d24 addiu a3, zero, 1             |     a3 = 1;
    0x00034d28 b 0x3496c                     |     goto label_11;
                                             | label_47:
    0x00034d2c lw t9, -0x7ea0(gp)            |     t9 = *((gp - 8104));
    0x00034d30 move a3, zero                 |     a3 = 0;
    0x00034d34 addiu a2, a2, 0x7b28          |     a2 += 0x7b28;
    0x00034d38 addiu a1, zero, 0x2d          |     a1 = 0x2d;
    0x00034d3c addiu t9, t9, -0x357c         |     t9 += -0x357c;
    0x00034d40 move a0, s6                   |     a0 = s6;
    0x00034d44 bal 0x2ca84                   |     fcn_0002ca84 ();
    0x00034d48 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00034d4c lw v0, -0x7158(gp)            |     v0 = *(gp);
    0x00034d50 lw t9, (v0)                   |     t9 = *(v0);
    0x00034d54 move a0, s0                   |     a0 = s0;
    0x00034d58 jalr t9                       |     t9 ();
    0x00034d5c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00034d60 b 0x34810                     |     goto label_0;
                                             | label_55:
    0x00034d64 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
                                             |     if (v1 != v0) {
    0x00034d68 beql v1, v0, 0x34d9c          |         
    0x00034d6c lw a1, 0xc8(s6)               |         a1 = *((s6 + 50));
    0x00034d70 lw a2, -0x7fd4(gp)            |         a2 = *(gp);
    0x00034d74 lw t9, -0x7ea0(gp)            |         t9 = *((gp - 8104));
    0x00034d78 move a0, s6                   |         a0 = s6;
    0x00034d7c addiu a2, a2, 0x7b40          |         a2 += 0x7b40;
    0x00034d80 addiu t9, t9, -0x345c         |         t9 += -0x345c;
    0x00034d84 addiu a1, zero, 0x5a          |         a1 = 0x5a;
    0x00034d88 bal 0x2cba4                   |         fcn_0002cba4 ();
    0x00034d8c lw a0, 0x24(s6)               |         a0 = *((s6 + 9));
    0x00034d90 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00034d94 lw s7, 0x10(a0)               |         s7 = *((a0 + 4));
    0x00034d98 lw a1, 0xc8(s6)               |         a1 = *((s6 + 50));
                                             |     }
    0x00034d9c lw v1, 0x20(a0)               |     v1 = *((a0 + 8));
    0x00034da0 addiu a1, a1, 3               |     a1 += 3;
    0x00034da4 addiu a2, s7, 3               |     a2 = s7 + 3;
    0x00034da8 addiu v1, v1, 3               |     v1 += 3;
    0x00034dac sw a1, 0xc8(s6)               |     *((s6 + 50)) = a1;
    0x00034db0 sw a2, 0x10(a0)               |     *((a0 + 4)) = a2;
    0x00034db4 sw v1, 0x20(a0)               |     *((a0 + 8)) = v1;
    0x00034db8 lbu v0, 3(s7)                 |     v0 = *((s7 + 3));
    0x00034dbc lw t9, -0x7ef8(gp)            |     t9 = *((gp - 8126));
                                             |     if (v0 == 0) {
    0x00034dc0 beqz v0, 0x34e38              |         goto label_61;
                                             |     }
                                             | label_14:
    0x00034dc4 lw v0, (s6)                   |     v0 = *(s6);
                                             |     if (v0 == 0) {
    0x00034dc8 beqz v0, 0x34e28              |         goto label_62;
                                             |     }
    0x00034dcc nop                           |     
    0x00034dd0 lw t9, 0x50(v0)               |     t9 = *((v0 + 20));
                                             |     if (t9 == 0) {
    0x00034dd4 beqz t9, 0x34e28              |         goto label_62;
                                             |     }
    0x00034dd8 nop                           |     
    0x00034ddc lw v0, 0xd4(s6)               |     v0 = *((s6 + 53));
                                             |     if (v0 != 0) {
    0x00034de0 bnez v0, 0x34e28              |         goto label_62;
                                             |     }
    0x00034de4 nop                           |     
    0x00034de8 lw a0, 4(s6)                  |     a0 = *((s6 + 1));
                                             |     if (s0 == 0) {
    0x00034dec beqz s0, 0x34e48              |         goto label_63;
                                             |     }
    0x00034df0 move a1, s0                   |     a1 = s0;
    0x00034df4 jalr t9                       |     t9 ();
    0x00034df8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00034dfc lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             | label_12:
    0x00034e00 lw t9, (v0)                   |     t9 = *(v0);
    0x00034e04 move a0, s0                   |     a0 = s0;
    0x00034e08 jalr t9                       |     t9 ();
    0x00034e0c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             | label_15:
    0x00034e10 lw v1, 0xac(s6)               |     v1 = *((s6 + 43));
                                             | label_13:
    0x00034e14 addiu v0, zero, -1            |     v0 = -1;
    0x00034e18 lw v0, 0x1c(sp)               |     v0 = *(var_1ch);
                                             |     if (v1 == v0) {
    0x00034e1c beq v1, v0, 0x34810           |         goto label_0;
                                             |     }
    0x00034e20 sw v0, 0xac(s6)               |     *((s6 + 43)) = v0;
    0x00034e24 b 0x34810                     |     goto label_0;
                                             | label_62:
    0x00034e28 lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             |     if (s0 != 0) {
    0x00034e2c bnez s0, 0x34e00              |         goto label_12;
                                             |     }
    0x00034e30 lw v1, 0xac(s6)               |     v1 = *((s6 + 43));
    0x00034e34 b 0x34e14                     |     goto label_13;
                                             | label_61:
    0x00034e38 addiu a1, zero, 0xfa          |     a1 = 0xfa;
    0x00034e3c bal 0x28398                   |     sym_xmlParserInputGrow ();
    0x00034e40 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00034e44 b 0x34dc4                     |     goto label_14;
                                             | label_63:
    0x00034e48 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x00034e4c addiu a1, a1, 0x2694          |     a1 += 0x2694;
    0x00034e50 jalr t9                       |     t9 ();
    0x00034e54 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00034e58 b 0x34e10                     |     goto label_15;
                                             | label_58:
    0x00034e5c lw v0, -0x7158(gp)            |     v0 = *(gp);
    0x00034e60 lw t9, (v0)                   |     t9 = *(v0);
    0x00034e64 move a0, s0                   |     a0 = s0;
    0x00034e68 jalr t9                       |     t9 ();
    0x00034e6c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00034e70 move a1, zero                 |     a1 = 0;
    0x00034e74 move a0, s6                   |     a0 = s6;
                                             | label_17:
    0x00034e78 lw t9, -0x7ed4(gp)            |     t9 = *((gp - 8117));
    0x00034e7c bal 0x2807c                   |     sym_xmlErrMemory ();
    0x00034e80 nop                           |     
    0x00034e84 lw v0, 0x1c(sp)               |     v0 = *(var_1ch);
    0x00034e88 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00034e8c sw v0, 0xac(s6)               |     *((s6 + 43)) = v0;
    0x00034e90 b 0x34810                     |     goto label_0;
                                             | label_57:
    0x00034e94 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x00034e98 beqz s0, 0x35088              |     
                                             |     while (1) {
    0x00034e9c lw v0, 0x124(s6)              |         v0 = *(s6);
    0x00034ea0 lw t9, -0x7e34(gp)            |         t9 = *((gp - 8077));
                                             |         if (v0 == 0) {
    0x00034ea4 bnez v0, 0x34ec8              |             
    0x00034ea8 lw v1, 0x24(s6)               |             v1 = *((s6 + 9));
    0x00034eac lw v0, 0x14(v1)               |             v0 = *((v1 + 5));
    0x00034eb0 lw v1, 0x10(v1)               |             v1 = *((v1 + 4));
    0x00034eb4 subu v0, v0, v1               |             __asm ("subu v0, v0, v1");
    0x00034eb8 slti v0, v0, 0xfa             |             v0 = (v0 < 0xfa) ? 1 : 0;
    0x00034ebc lw t9, -0x7ea0(gp)            |             t9 = *((gp - 8104));
                                             |             if (v0 != 0) {
    0x00034ec0 bnez v0, 0x350b0              |                 goto label_64;
                                             |             }
                                             | label_16:
    0x00034ec4 lw t9, -0x7e34(gp)            |             t9 = *((gp - 8077));
                                             |         }
    0x00034ec8 addiu a1, sp, 0x38            |         a1 = sp + 0x38;
    0x00034ecc sw t9, 0x20(sp)               |         *(var_20h) = t9;
    0x00034ed0 move a0, s6                   |         a0 = s6;
    0x00034ed4 bal 0x28af0                   |         sym_xmlCurrentChar ();
    0x00034ed8 move fp, v0                   |         fp = v0;
    0x00034edc lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00034ee0 beqz v0, 0x354a0              |             goto label_65;
                                             |         }
    0x00034ee4 slti v0, v0, 0x100            |         v0 = (v0 < aav.0x00000100) ? 1 : 0;
    0x00034ee8 addiu v0, fp, -0x100          |         v0 = fp + -aav.0x00000100;
                                             |         if (v0 == 0) {
    0x00034eec beqz v0, 0x35464              |             goto label_66;
                                             |         }
    0x00034ef0 addiu v0, fp, -9              |         v0 = fp + -9;
    0x00034ef4 sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
    0x00034ef8 move v0, zero                 |         v0 = 0;
                                             |         if (v0 == 0) {
    0x00034efc bnez v0, 0x34f10              |             
    0x00034f00 addiu v0, zero, 0xd           |             v0 = 0xd;
    0x00034f04 move v0, zero                 |             v0 = 0;
                                             |             if (fp == v0) {
    0x00034f08 beq fp, v0, 0x34f10           |                 goto label_25;
                                             |             }
    0x00034f0c slti v0, fp, 0x20             |             v0 = (fp < 0x20) ? 1 : 0;
                                             |         }
                                             | label_25:
    0x00034f10 lw a2, -0x7fd4(gp)            |         a2 = *(gp);
                                             |         if (v0 != 0) {
    0x00034f14 bnez v0, 0x35420              |             goto label_67;
                                             |         }
    0x00034f18 lw v0, 0x24(s6)               |         v0 = *((s6 + 9));
    0x00034f1c addiu a0, zero, 0xa           |         a0 = 0xa;
    0x00034f20 lw v1, 0x10(v0)               |         v1 = *((v0 + 4));
    0x00034f24 lbu a1, (v1)                  |         a1 = *(v1);
                                             |         if (a1 == a0) {
    0x00034f28 beql a1, a0, 0x3540c          |             goto label_68;
                                             |         }
    0x00034f2c lw a0, 0x1c(v0)               |         a0 = *((v0 + 7));
    0x00034f30 lw a0, 0x20(v0)               |         a0 = *((v0 + 8));
    0x00034f34 addiu a0, a0, 1               |         a0++;
    0x00034f38 sw a0, 0x20(v0)               |         *((v0 + 8)) = a0;
                                             | label_24:
    0x00034f3c lw a0, 0x38(sp)               |         a0 = *(var_38h);
    0x00034f40 lw t9, 0x20(sp)               |         t9 = *(var_20h);
    0x00034f44 addu v1, v1, a0               |         v1 += a0;
    0x00034f48 addiu a1, sp, 0x3c            |         a1 = sp + 0x3c;
    0x00034f4c sw v1, 0x10(v0)               |         *((v0 + 4)) = v1;
    0x00034f50 move a0, s6                   |         a0 = s6;
    0x00034f54 jalr t9                       |         t9 ();
    0x00034f58 move s4, v0                   |         s4 = v0;
    0x00034f5c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00034f60 beqz v0, 0x354a0              |             goto label_65;
                                             |         }
    0x00034f64 slti v0, v0, 0x100            |         v0 = (v0 < aav.0x00000100) ? 1 : 0;
    0x00034f68 addiu v0, s4, -0x100          |         v0 = s4 + -aav.0x00000100;
                                             |         if (v0 == 0) {
    0x00034f6c beqz v0, 0x353d0              |             goto label_69;
                                             |         }
    0x00034f70 addiu v0, s4, -9              |         v0 = s4 + -9;
    0x00034f74 sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
    0x00034f78 move v0, zero                 |         v0 = 0;
                                             |         if (v0 == 0) {
    0x00034f7c bnez v0, 0x34f90              |             
    0x00034f80 addiu v0, zero, 0xd           |             v0 = 0xd;
    0x00034f84 move v0, zero                 |             v0 = 0;
                                             |             if (s4 == v0) {
    0x00034f88 beq s4, v0, 0x34f90           |                 goto label_23;
                                             |             }
    0x00034f8c slti v0, s4, 0x20             |             v0 = (s4 < 0x20) ? 1 : 0;
                                             |         }
                                             | label_23:
    0x00034f90 lw a2, -0x7fd4(gp)            |         a2 = *(gp);
                                             |         if (v0 != 0) {
    0x00034f94 bnez v0, 0x35420              |             goto label_67;
                                             |         }
    0x00034f98 lw v0, 0x24(s6)               |         v0 = *((s6 + 9));
    0x00034f9c addiu a0, zero, 0xa           |         a0 = 0xa;
    0x00034fa0 lw v1, 0x10(v0)               |         v1 = *((v0 + 4));
    0x00034fa4 lbu a1, (v1)                  |         a1 = *(v1);
                                             |         if (a1 == a0) {
    0x00034fa8 beql a1, a0, 0x353bc          |             goto label_70;
                                             |         }
    0x00034fac lw a0, 0x1c(v0)               |         a0 = *((v0 + 7));
    0x00034fb0 lw a0, 0x20(v0)               |         a0 = *((v0 + 8));
    0x00034fb4 addiu a0, a0, 1               |         a0++;
    0x00034fb8 sw a0, 0x20(v0)               |         *((v0 + 8)) = a0;
                                             | label_22:
    0x00034fbc lw a0, 0x3c(sp)               |         a0 = *(var_3ch);
    0x00034fc0 addiu a1, sp, 0x40            |         a1 = sp + 0x40;
    0x00034fc4 addu v1, v1, a0               |         v1 += a0;
    0x00034fc8 lw t9, 0x20(sp)               |         t9 = *(var_20h);
    0x00034fcc sw a1, 0x24(sp)               |         *(var_24h) = a1;
    0x00034fd0 sw v1, 0x10(v0)               |         *((v0 + 4)) = v1;
    0x00034fd4 move a0, s6                   |         a0 = s6;
    0x00034fd8 jalr t9                       |         t9 ();
    0x00034fdc move s5, v0                   |         s5 = v0;
    0x00034fe0 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00034fe4 beqz v0, 0x354a0              |             goto label_65;
                                             |         }
    0x00034fe8 lw v0, -0x7ea0(gp)            |         v0 = *((gp - 8104));
    0x00034fec move s7, zero                 |         s7 = 0;
    0x00034ff0 addiu v0, v0, -0x4cc8         |         v0 += -aav.0x00004cc8;
    0x00034ff4 sw v0, 0x30(sp)               |         *(var_30h) = v0;
    0x00034ff8 lw v0, -0x7ea0(gp)            |         v0 = *((gp - 8104));
    0x00034ffc addiu v0, v0, -0x17dc         |         v0 += -0x17dc;
    0x00035000 sw v0, 0x28(sp)               |         *(var_28h) = v0;
    0x00035004 lw v0, -0x7ea0(gp)            |         v0 = *((gp - 8104));
    0x00035008 sw v0, 0x34(sp)               |         *(var_34h) = v0;
                                             | label_20:
    0x0003500c slti v0, s5, 0x100            |         v0 = (s5 < aav.0x00000100) ? 1 : 0;
    0x00035010 addiu v0, s5, -0x100          |         v0 = s5 + -aav.0x00000100;
                                             |         if (v0 == 0) {
    0x00035014 beqz v0, 0x351a0              |             goto label_71;
                                             |         }
    0x00035018 addiu v0, s5, -9              |         v0 = s5 + -9;
    0x0003501c sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
    0x00035020 addiu v0, zero, 0xd           |         v0 = 0xd;
                                             |         if (v0 != 0) {
    0x00035024 bnez v0, 0x350fc              |             goto label_72;
                                             |         }
    0x00035028 slti v0, s5, 0x20             |         v0 = (s5 < 0x20) ? 1 : 0;
                                             |         if (s5 == v0) {
    0x0003502c beq s5, v0, 0x3520c           |             goto label_73;
                                             |         }
                                             |         if (v0 == 0) {
    0x00035030 beql v0, zero, 0x35100        |             goto label_74;
                                             |         }
    0x00035034 addiu v0, zero, 0x3e          |         v0 = 0x3e;
    0x00035038 addu s1, s0, s1               |         s1 = s0 + s1;
    0x0003503c sb zero, (s1)                 |         *(s1) = 0;
                                             |         if (s5 != 0) {
    0x00035040 bnez s5, 0x35124              |             goto label_75;
                                             |         }
    0x00035044 lw a2, -0x7fd4(gp)            |         a2 = *(gp);
    0x00035048 lw t9, -0x7ea0(gp)            |         t9 = *((gp - 8104));
    0x0003504c move a3, s0                   |         a3 = s0;
    0x00035050 addiu a2, a2, 0x7bec          |         a2 += 0x7bec;
    0x00035054 addiu a1, zero, 0x2d          |         a1 = 0x2d;
    0x00035058 addiu t9, t9, -0x357c         |         t9 += -0x357c;
    0x0003505c move a0, s6                   |         a0 = s6;
    0x00035060 bal 0x2ca84                   |         fcn_0002ca84 ();
    0x00035064 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_18:
    0x00035068 lw v0, -0x7158(gp)            |         v0 = *(gp);
                                             | label_19:
    0x0003506c lw t9, (v0)                   |         t9 = *(v0);
    0x00035070 move a0, s0                   |         a0 = s0;
    0x00035074 jalr t9                       |         t9 ();
    0x00035078 lw v0, 0x1c(sp)               |         v0 = *(var_1ch);
    0x0003507c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00035080 sw v0, 0xac(s6)               |         *((s6 + 43)) = v0;
    0x00035084 b 0x34810                     |         goto label_0;
    0x00035088 lw v0, -0x6ddc(gp)            |         v0 = *((gp - 7031));
    0x0003508c lw t9, (v0)                   |         t9 = *(v0);
    0x00035090 addiu a0, zero, 0x64          |         a0 = 0x64;
    0x00035094 jalr t9                       |         t9 ();
    0x00035098 move s0, v0                   |         s0 = v0;
    0x0003509c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x000350a0 beqz v0, 0x350c4              |             goto label_76;
                                             |         }
    0x000350a4 addiu s3, zero, 0x64          |         s3 = 0x64;
    0x000350a8 move s1, zero                 |         s1 = 0;
    0x000350ac b 0x34e9c                     |         
                                             |     }
                                             | label_64:
    0x000350b0 addiu t9, t9, -0x17dc         |     t9 += -0x17dc;
    0x000350b4 move a0, s6                   |     a0 = s6;
    0x000350b8 bal 0x2e824                   |     fcn_0002e824 ();
    0x000350bc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000350c0 b 0x34ec4                     |     goto label_16;
                                             | label_76:
    0x000350c4 lw t9, -0x7ed4(gp)            |     t9 = *((gp - 8117));
    0x000350c8 move a1, zero                 |     a1 = 0;
    0x000350cc move a0, s6                   |     a0 = s6;
    0x000350d0 bal 0x2807c                   |     sym_xmlErrMemory ();
    0x000350d4 lw v0, 0x1c(sp)               |     v0 = *(var_1ch);
    0x000350d8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000350dc sw v0, 0xac(s6)               |     *((s6 + 43)) = v0;
    0x000350e0 b 0x34810                     |     goto label_0;
                                             | label_35:
    0x000350e4 lw t9, -0x7074(gp)            |     t9 = *((gp - 7197));
    0x000350e8 jalr t9                       |     t9 ();
    0x000350ec nop                           |     
                                             | label_60:
    0x000350f0 move a1, zero                 |     a1 = 0;
    0x000350f4 move a0, s6                   |     a0 = s6;
    0x000350f8 b 0x34e78                     |     goto label_17;
                                             | label_72:
    0x000350fc addiu v0, zero, 0x3e          |     v0 = 0x3e;
                                             | label_74:
    0x00035100 addiu v0, zero, 0x2d          |     v0 = 0x2d;
                                             |     if (s5 != v0) {
    0x00035104 bne s5, v0, 0x3520c           |         goto label_73;
                                             |     }
    0x00035108 lui v0, 0x98                  |     v0 = 0x980000;
                                             |     if (s4 != v0) {
    0x0003510c bne s4, v0, 0x3521c           |         goto label_27;
                                             |     }
    0x00035110 ori v0, v0, 0x9681            |     v0 |= 0x9681;
                                             |     if (fp != s4) {
    0x00035114 bne fp, s4, 0x35220           |         goto label_77;
                                             |     }
    0x00035118 addu s1, s0, s1               |     s1 = s0 + s1;
    0x0003511c move v0, zero                 |     v0 = 0;
    0x00035120 sb zero, (s1)                 |     *(s1) = 0;
                                             | label_75:
    0x00035124 lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
                                             |     if (v0 != 0) {
    0x00035128 bnez v0, 0x351e4              |         goto label_78;
                                             |     }
    0x0003512c lw v0, 0x24(s6)               |     v0 = *((s6 + 9));
    0x00035130 lw v0, 0x38(v0)               |     v0 = *((v0 + 14));
    0x00035134 lw t9, -0x7e30(gp)            |     t9 = *((gp - 8076));
                                             |     if (v1 != v0) {
    0x00035138 beq v1, v0, 0x35160           |         
    0x0003513c lw a2, -0x7fd4(gp)            |         a2 = *(gp);
    0x00035140 lw t9, -0x7ea0(gp)            |         t9 = *((gp - 8104));
    0x00035144 addiu a2, a2, 0x7c10          |         a2 += 0x7c10;
    0x00035148 addiu a1, zero, 0x5a          |         a1 = 0x5a;
    0x0003514c addiu t9, t9, -0x345c         |         t9 += -0x345c;
    0x00035150 move a0, s6                   |         a0 = s6;
    0x00035154 bal 0x2cba4                   |         fcn_0002cba4 ();
    0x00035158 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0003515c lw t9, -0x7e30(gp)            |         t9 = *((gp - 8076));
                                             |     }
    0x00035160 move a0, s6                   |     a0 = s6;
    0x00035164 bal 0x28648                   |     sym_xmlNextChar ();
    0x00035168 lw v0, (s6)                   |     v0 = *(s6);
    0x0003516c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00035170 beqz v0, 0x35068              |         goto label_18;
                                             |     }
    0x00035174 lw t9, 0x50(v0)               |     t9 = *((v0 + 20));
    0x00035178 lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             |     if (t9 == 0) {
    0x0003517c beqz t9, 0x3506c              |         goto label_19;
                                             |     }
    0x00035180 lw v0, 0xd4(s6)               |     v0 = *((s6 + 53));
    0x00035184 lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             |     if (v0 != 0) {
    0x00035188 bnez v0, 0x3506c              |         goto label_19;
                                             |     }
    0x0003518c lw a0, 4(s6)                  |     a0 = *((s6 + 1));
    0x00035190 move a1, s0                   |     a1 = s0;
    0x00035194 jalr t9                       |     t9 ();
    0x00035198 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0003519c b 0x35068                     |     goto label_18;
                                             | label_71:
    0x000351a0 ori v1, zero, 0xd700          |     v1 = 0xd700;
    0x000351a4 sltu v0, v0, v1               |     v0 = (v0 < v1) ? 1 : 0;
    0x000351a8 addiu v0, zero, 0x2d          |     v0 = 0x2d;
                                             |     if (v0 == 0) {
    0x000351ac bnez v0, 0x35210              |         
    0x000351b0 lui v0, 0xffff                |         v0 = 0xffff0000;
    0x000351b4 addiu v1, v0, 0x2000          |         v1 = v0 + 0x2000;
    0x000351b8 addu v1, s5, v1               |         v1 = s5 + v1;
    0x000351bc sltiu v1, v1, 0x1ffe          |         v1 = (v1 < 0x1ffe) ? 1 : 0;
    0x000351c0 addiu v0, zero, 0x2d          |         v0 = 0x2d;
                                             |         if (v1 == 0) {
    0x000351c4 bnel v1, zero, 0x35210        |             goto label_79;
                                             |         }
    0x000351c8 addu v0, s5, v0               |         v0 = s5 + v0;
    0x000351cc lui v1, 0x10                  |         v1 = 0x100000;
    0x000351d0 sltu v0, v0, v1               |         v0 = (v0 < v1) ? 1 : 0;
    0x000351d4 addiu v0, zero, 0x2d          |         v0 = 0x2d;
                                             |         if (v0 != 0) {
    0x000351d8 bnez v0, 0x35210              |             goto label_79;
                                             |         }
    0x000351dc addu s1, s0, s1               |         s1 = s0 + s1;
    0x000351e0 sb zero, (s1)                 |         *(s1) = 0;
                                             | label_78:
    0x000351e4 lw a2, -0x7fd4(gp)            |         a2 = *(gp);
    0x000351e8 lw t9, -0x7ea0(gp)            |         t9 = *((gp - 8104));
    0x000351ec move a3, s5                   |         a3 = s5;
    0x000351f0 addiu a2, a2, 0x7bc0          |         a2 += aav.0x00007bc0;
    0x000351f4 addiu a1, zero, 9             |         a1 = 9;
    0x000351f8 addiu t9, t9, -0x369c         |         t9 += -0x369c;
    0x000351fc move a0, s6                   |         a0 = s6;
    0x00035200 bal 0x2c964                   |         fcn_0002c964 ();
    0x00035204 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00035208 b 0x35068                     |         goto label_18;
                                             | label_73:
    0x0003520c addiu v0, zero, 0x2d          |         v0 = 0x2d;
                                             |     }
                                             |     if (s4 == v0) {
                                             | label_79:
    0x00035210 beq s4, v0, 0x354c0           |         goto label_80;
                                             |     }
    0x00035214 nop                           |     
                                             | label_28:
    0x00035218 lui v0, 0x98                  |     v0 = 0x989681;
                                             | label_27:
    0x0003521c ori v0, v0, 0x9681            |     
                                             | label_77:
    0x00035220 sltu v0, s1, v0               |     v0 = (s1 < v0) ? 1 : 0;
    0x00035224 addiu v0, s1, 5               |     v0 = s1 + 5;
                                             |     if (v0 == 0) {
    0x00035228 bnez v0, 0x3523c              |         
    0x0003522c lw v0, 0x168(s6)              |         v0 = *(s6);
    0x00035230 ext v0, v0, 0x13, 1           |         __asm ("ext v0, v0, 0x13, 1");
    0x00035234 addiu v0, s1, 5               |         v0 = s1 + 5;
                                             |         if (v0 == 0) {
    0x00035238 beqz v0, 0x354e4              |             goto label_81;
                                             |         }
                                             |     }
    0x0003523c sltu v0, v0, s3               |     v0 = (v0 < s3) ? 1 : 0;
    0x00035240 lw v1, 0x38(sp)               |     v1 = *(var_38h);
                                             |     if (v0 == 0) {
    0x00035244 bnez v0, 0x35270              |         
    0x00035248 lw v0, -0x6e24(gp)            |         v0 = *(gp);
    0x0003524c sll s3, s3, 1                 |         s3 <<= 1;
    0x00035250 move a1, s3                   |         a1 = s3;
    0x00035254 lw t9, (v0)                   |         t9 = *(v0);
    0x00035258 move a0, s0                   |         a0 = s0;
    0x0003525c jalr t9                       |         t9 ();
    0x00035260 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00035264 beqz v0, 0x354f4              |             goto label_82;
                                             |         }
    0x00035268 move s0, v0                   |         s0 = v0;
    0x0003526c lw v1, 0x38(sp)               |         v1 = *(var_38h);
                                             |     }
    0x00035270 addiu v0, zero, 1             |     v0 = 1;
    0x00035274 addu a0, s0, s1               |     a0 = s0 + s1;
                                             |     if (v1 != v0) {
    0x00035278 bne v1, v0, 0x35538           |         goto label_83;
                                             |     }
    0x0003527c addiu s1, s1, 1               |     s1++;
    0x00035280 sb fp, (a0)                   |     *(a0) = fp;
                                             | label_31:
    0x00035284 lw v1, 0x3c(sp)               |     v1 = *(var_3ch);
    0x00035288 lw a0, 0x40(sp)               |     a0 = *(var_40h);
    0x0003528c addiu s7, s7, 1               |     s7++;
    0x00035290 sltiu v0, s7, 0x33            |     v0 = (s7 < 0x33) ? 1 : 0;
    0x00035294 sw v1, 0x38(sp)               |     *(var_38h) = v1;
    0x00035298 sw a0, 0x3c(sp)               |     *(var_3ch) = a0;
                                             |     if (v0 != 0) {
    0x0003529c bnez v0, 0x352e0              |         goto label_84;
                                             |     }
    0x000352a0 lw v0, 0x124(s6)              |     v0 = *(s6);
    0x000352a4 lw v1, 0xac(s6)               |     v1 = *((s6 + 43));
                                             |     if (v0 != 0) {
    0x000352a8 bnel v0, zero, 0x352cc        |         
    0x000352ac lw v1, 0x24(s6)               |         v1 = *((s6 + 9));
    0x000352b0 lw v0, 0x14(v1)               |         v0 = *((v1 + 5));
    0x000352b4 lw v1, 0x10(v1)               |         v1 = *((v1 + 4));
    0x000352b8 subu v0, v0, v1               |         __asm ("subu v0, v0, v1");
    0x000352bc slti v0, v0, 0xfa             |         v0 = (v0 < 0xfa) ? 1 : 0;
    0x000352c0 lw t9, 0x28(sp)               |         t9 = *(var_28h);
                                             |         if (v0 != 0) {
    0x000352c4 bnez v0, 0x35528              |             goto label_85;
                                             |         }
                                             | label_30:
    0x000352c8 lw v1, 0xac(s6)               |         v1 = *((s6 + 43));
                                             |     }
    0x000352cc addiu v0, zero, -1            |     v0 = -1;
    0x000352d0 lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             |     if (v1 == v0) {
    0x000352d4 beq v1, v0, 0x3506c           |         goto label_19;
                                             |     }
    0x000352d8 lw a0, 0x40(sp)               |     a0 = *(var_40h);
    0x000352dc move s7, zero                 |     s7 = 0;
                                             | label_84:
    0x000352e0 lw v0, 0x24(s6)               |     v0 = *((s6 + 9));
    0x000352e4 addiu a1, zero, 0xa           |     a1 = 0xa;
    0x000352e8 lw v1, 0x10(v0)               |     v1 = *((v0 + 4));
    0x000352ec lbu a2, (v1)                  |     a2 = *(v1);
                                             |     if (a2 == a1) {
    0x000352f0 beql a2, a1, 0x353a8          |         goto label_86;
                                             |     }
    0x000352f4 lw a1, 0x1c(v0)               |     a1 = *((v0 + 7));
    0x000352f8 lw a1, 0x20(v0)               |     a1 = *((v0 + 8));
    0x000352fc addiu a1, a1, 1               |     a1++;
    0x00035300 sw a1, 0x20(v0)               |     *((v0 + 8)) = a1;
                                             | label_21:
    0x00035304 addu v1, v1, a0               |     v1 += a0;
    0x00035308 lw a1, 0x24(sp)               |     a1 = *(var_24h);
    0x0003530c lw t9, 0x20(sp)               |     t9 = *(var_20h);
    0x00035310 sw v1, 0x10(v0)               |     *((v0 + 4)) = v1;
    0x00035314 move a0, s6                   |     a0 = s6;
    0x00035318 jalr t9                       |     t9 ();
    0x0003531c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00035320 bnez v0, 0x35388              |         goto label_87;
                                             |     }
    0x00035324 lw v0, 0x124(s6)              |     v0 = *(s6);
    0x00035328 lw a1, 0x24(sp)               |     a1 = *(var_24h);
                                             |     if (v0 != 0) {
    0x0003532c bnez v0, 0x35378              |         goto label_32;
                                             |     }
    0x00035330 lw v0, 0x24(s6)               |     v0 = *((s6 + 9));
    0x00035334 lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x00035338 lw v1, 0xc(v0)                |     v1 = *((v0 + 3));
    0x0003533c subu v1, a0, v1               |     __asm ("subu v1, a0, v1");
    0x00035340 slti v1, v1, 0x1f5            |     v1 = (v1 < 0x1f5) ? 1 : 0;
    0x00035344 lw v1, 0x14(v0)               |     v1 = *((v0 + 5));
                                             |     if (v1 == 0) {
    0x00035348 bnez v1, 0x35360              |         
    0x0003534c subu v1, v1, a0               |         __asm ("subu v1, v1, a0");
    0x00035350 slti v1, v1, 0x1f4            |         v1 = (v1 < aav.0x000001f4) ? 1 : 0;
    0x00035354 lw v0, 0x34(sp)               |         v0 = *(var_34h);
                                             |         if (v1 == 0) {
    0x00035358 bnel v1, zero, 0x35550        |             goto label_88;
                                             |         }
                                             | label_33:
    0x0003535c lw v1, 0x14(v0)               |         v1 = *((v0 + 5));
                                             |     }
    0x00035360 lw v0, 0x10(v0)               |     v0 = *((v0 + 4));
    0x00035364 subu v0, v1, v0               |     __asm ("subu v0, v1, v0");
    0x00035368 slti v0, v0, 0xfa             |     v0 = (v0 < 0xfa) ? 1 : 0;
    0x0003536c lw t9, 0x28(sp)               |     t9 = *(var_28h);
                                             |     if (v0 != 0) {
    0x00035370 bnez v0, 0x35398              |         goto label_89;
                                             |     }
    0x00035374 lw a1, 0x24(sp)               |     a1 = *(var_24h);
                                             |     do {
                                             | label_32:
    0x00035378 lw t9, 0x20(sp)               |         t9 = *(var_20h);
    0x0003537c move a0, s6                   |         a0 = s6;
    0x00035380 jalr t9                       |         t9 ();
    0x00035384 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_87:
    0x00035388 move fp, s4                   |         fp = s4;
    0x0003538c move s4, s5                   |         s4 = s5;
    0x00035390 move s5, v0                   |         s5 = v0;
    0x00035394 b 0x3500c                     |         goto label_20;
                                             | label_89:
    0x00035398 move a0, s6                   |         a0 = s6;
    0x0003539c jalr t9                       |         t9 ();
    0x000353a0 lw a1, 0x24(sp)               |         a1 = *(var_24h);
    0x000353a4 b 0x35378                     |         
                                             |     } while (1);
                                             | label_86:
    0x000353a8 addiu a1, a1, 1               |     a1++;
    0x000353ac sw a1, 0x1c(v0)               |     *((v0 + 7)) = a1;
    0x000353b0 addiu a1, zero, 1             |     a1 = 1;
    0x000353b4 sw a1, 0x20(v0)               |     *((v0 + 8)) = a1;
    0x000353b8 b 0x35304                     |     goto label_21;
                                             | label_70:
    0x000353bc addiu a0, a0, 1               |     a0++;
    0x000353c0 sw a0, 0x1c(v0)               |     *((v0 + 7)) = a0;
    0x000353c4 addiu a0, zero, 1             |     a0 = 1;
    0x000353c8 sw a0, 0x20(v0)               |     *((v0 + 8)) = a0;
    0x000353cc b 0x34fbc                     |     goto label_22;
                                             | label_69:
    0x000353d0 ori v1, zero, 0xd700          |     v1 = 0xd700;
    0x000353d4 sltu v0, v0, v1               |     v0 = (v0 < v1) ? 1 : 0;
    0x000353d8 move v0, zero                 |     v0 = 0;
                                             |     if (v0 != 0) {
    0x000353dc bnez v0, 0x34f90              |         goto label_23;
                                             |     }
    0x000353e0 lui v0, 0xffff                |     v0 = 0xffff0000;
    0x000353e4 addiu v1, v0, 0x2000          |     v1 = v0 + 0x2000;
    0x000353e8 addu v1, s4, v1               |     v1 = s4 + v1;
    0x000353ec sltiu v1, v1, 0x1ffe          |     v1 = (v1 < 0x1ffe) ? 1 : 0;
    0x000353f0 move v0, zero                 |     v0 = 0;
                                             |     if (v1 == 0) {
    0x000353f4 bnel v1, zero, 0x34f90        |         goto label_23;
                                             |     }
    0x000353f8 addu v0, s4, v0               |     v0 = s4 + v0;
    0x000353fc lui v1, 0x10                  |     v1 = 0x100000;
    0x00035400 sltu v0, v0, v1               |     v0 = (v0 < v1) ? 1 : 0;
    0x00035404 xori v0, v0, 1                |     v0 ^= 1;
    0x00035408 b 0x34f90                     |     goto label_23;
                                             | label_68:
    0x0003540c addiu a0, a0, 1               |     a0++;
    0x00035410 sw a0, 0x1c(v0)               |     *((v0 + 7)) = a0;
    0x00035414 addiu a0, zero, 1             |     a0 = 1;
    0x00035418 sw a0, 0x20(v0)               |     *((v0 + 8)) = a0;
    0x0003541c b 0x34f3c                     |     goto label_24;
                                             | label_67:
    0x00035420 lw t9, -0x7ea0(gp)            |     t9 = *((gp - 8104));
    0x00035424 move a3, fp                   |     a3 = fp;
    0x00035428 addiu a2, a2, 0x7bc0          |     a2 += aav.0x00007bc0;
    0x0003542c addiu a1, zero, 9             |     a1 = 9;
    0x00035430 move a0, s6                   |     a0 = s6;
    0x00035434 addiu t9, t9, -0x369c         |     t9 += -0x369c;
                                             | label_26:
    0x00035438 jalr t9                       |     t9 ();
    0x0003543c nop                           |     
    0x00035440 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00035444 lw v0, -0x7158(gp)            |     v0 = *(gp);
    0x00035448 lw t9, (v0)                   |     t9 = *(v0);
    0x0003544c move a0, s0                   |     a0 = s0;
    0x00035450 jalr t9                       |     t9 ();
    0x00035454 lw v0, 0x1c(sp)               |     v0 = *(var_1ch);
    0x00035458 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0003545c sw v0, 0xac(s6)               |     *((s6 + 43)) = v0;
    0x00035460 b 0x34810                     |     goto label_0;
                                             | label_66:
    0x00035464 ori v1, zero, 0xd700          |     v1 = 0xd700;
    0x00035468 sltu v0, v0, v1               |     v0 = (v0 < v1) ? 1 : 0;
    0x0003546c move v0, zero                 |     v0 = 0;
                                             |     if (v0 != 0) {
    0x00035470 bnez v0, 0x34f10              |         goto label_25;
                                             |     }
    0x00035474 lui v0, 0xffff                |     v0 = 0xffff0000;
    0x00035478 addiu v1, v0, 0x2000          |     v1 = v0 + 0x2000;
    0x0003547c addu v1, fp, v1               |     v1 = fp + v1;
    0x00035480 sltiu v1, v1, 0x1ffe          |     v1 = (v1 < 0x1ffe) ? 1 : 0;
    0x00035484 move v0, zero                 |     v0 = 0;
                                             |     if (v1 == 0) {
    0x00035488 bnel v1, zero, 0x34f10        |         goto label_25;
                                             |     }
    0x0003548c addu v0, fp, v0               |     v0 = fp + v0;
    0x00035490 lui v1, 0x10                  |     v1 = 0x100000;
    0x00035494 sltu v0, v0, v1               |     v0 = (v0 < v1) ? 1 : 0;
    0x00035498 xori v0, v0, 1                |     v0 ^= 1;
    0x0003549c b 0x34f10                     |     goto label_25;
                                             | label_65:
    0x000354a0 lw a2, -0x7fd4(gp)            |     a2 = *(gp);
    0x000354a4 move a3, zero                 |     a3 = 0;
    0x000354a8 addiu a2, a2, 0x7c44          |     a2 += aav.0x00007c44;
                                             | label_29:
    0x000354ac lw t9, -0x7ea0(gp)            |     t9 = *((gp - 8104));
    0x000354b0 addiu a1, zero, 0x2d          |     a1 = 0x2d;
    0x000354b4 move a0, s6                   |     a0 = s6;
    0x000354b8 addiu t9, t9, -0x357c         |     t9 += -0x357c;
    0x000354bc b 0x35438                     |     goto label_26;
                                             | label_80:
    0x000354c0 lui v0, 0x98                  |     v0 = 0x980000;
                                             |     if (fp != s4) {
    0x000354c4 bne fp, s4, 0x3521c           |         goto label_27;
                                             |     }
    0x000354c8 lw t9, 0x30(sp)               |     t9 = *(var_30h);
    0x000354cc move a2, zero                 |     a2 = 0;
    0x000354d0 addiu a1, zero, 0x50          |     a1 = 0x50;
    0x000354d4 move a0, s6                   |     a0 = s6;
    0x000354d8 jalr t9                       |     t9 ();
    0x000354dc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000354e0 b 0x35218                     |     goto label_28;
                                             | label_81:
    0x000354e4 lw a2, -0x7fd4(gp)            |     a2 = *(gp);
    0x000354e8 move a3, zero                 |     a3 = 0;
    0x000354ec addiu a2, a2, 0x7b28          |     a2 += 0x7b28;
    0x000354f0 b 0x354ac                     |     goto label_29;
                                             | label_82:
    0x000354f4 lw v0, -0x7158(gp)            |     v0 = *(gp);
    0x000354f8 lw t9, (v0)                   |     t9 = *(v0);
    0x000354fc move a0, s0                   |     a0 = s0;
    0x00035500 jalr t9                       |     t9 ();
    0x00035504 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00035508 move a1, zero                 |     a1 = 0;
    0x0003550c lw t9, -0x7ed4(gp)            |     t9 = *((gp - 8117));
    0x00035510 move a0, s6                   |     a0 = s6;
    0x00035514 bal 0x2807c                   |     sym_xmlErrMemory ();
    0x00035518 lw v0, 0x1c(sp)               |     v0 = *(var_1ch);
    0x0003551c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00035520 sw v0, 0xac(s6)               |     *((s6 + 43)) = v0;
    0x00035524 b 0x34810                     |     goto label_0;
                                             | label_85:
    0x00035528 move a0, s6                   |     a0 = s6;
    0x0003552c jalr t9                       |     t9 ();
    0x00035530 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00035534 b 0x352c8                     |     goto label_30;
                                             | label_83:
    0x00035538 lw t9, -0x7ef0(gp)            |     t9 = *(gp);
    0x0003553c move a1, fp                   |     a1 = fp;
    0x00035540 bal 0x29264                   |     sym_xmlCopyCharMultiByte ();
    0x00035544 addu s1, s1, v0               |     s1 += v0;
    0x00035548 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0003554c b 0x35284                     |     goto label_31;
                                             | label_88:
    0x00035550 addiu t9, v0, -0x267c         |     t9 = v0 + -0x267c;
    0x00035554 addiu a0, s6, 0x24            |     a0 = s6 + 0x24;
    0x00035558 bal 0x2d984                   |     fcn_0002d984 ();
    0x0003555c lw v0, 0x124(s6)              |     v0 = *(s6);
    0x00035560 lw a1, 0x24(sp)               |     a1 = *(var_24h);
                                             |     if (v0 != 0) {
    0x00035564 bnez v0, 0x35378              |         goto label_32;
                                             |     }
    0x00035568 lw v0, 0x24(s6)               |     v0 = *((s6 + 9));
    0x0003556c b 0x3535c                     |     goto label_33;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x3cc0c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlParseElementDecl ()           | void xmlParseElementDecl () {
    0x0003cc0c lui gp, 0x15                      |     
    0x0003cc10 addiu gp, gp, 0x4a64              |     
    0x0003cc14 addu gp, gp, t9                   |     gp += t9;
    0x0003cc18 addiu sp, sp, -0x40               |     
    0x0003cc1c addiu v1, zero, 0x3c              |     v1 = 0x3c;
    0x0003cc20 sw s0, 0x24(sp)                   |     *(var_24h) = s0;
    0x0003cc24 move s0, a0                       |     s0 = a0;
    0x0003cc28 lw a0, 0x24(a0)                   |     a0 = *((a0 + 9));
    0x0003cc2c sw s1, 0x28(sp)                   |     *(var_28h) = s1;
    0x0003cc30 lw s1, -0x7000(gp)                |     s1 = *((gp - 7168));
    0x0003cc34 lw v0, 0x10(a0)                   |     v0 = *((a0 + 4));
    0x0003cc38 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0003cc3c lw a1, (s1)                       |     a1 = *(s1);
    0x0003cc40 sw ra, 0x3c(sp)                   |     *(var_3ch) = ra;
    0x0003cc44 sw s5, 0x38(sp)                   |     *(var_38h) = s5;
    0x0003cc48 sw s4, 0x34(sp)                   |     *(var_34h) = s4;
    0x0003cc4c sw s3, 0x30(sp)                   |     *(var_30h) = s3;
    0x0003cc50 sw s2, 0x2c(sp)                   |     *(var_2ch) = s2;
    0x0003cc54 sw zero, 0x18(sp)                 |     *(var_18h) = 0;
    0x0003cc58 sw a1, 0x1c(sp)                   |     *(var_1ch) = a1;
    0x0003cc5c lbu a1, (v0)                      |     a1 = *(v0);
    0x0003cc60 addiu v1, zero, 0x21              |     v1 = 0x21;
                                                 |     if (a1 != v1) {
    0x0003cc64 bne a1, v1, 0x3cf74               |         goto label_9;
                                                 |     }
    0x0003cc68 lbu a1, 1(v0)                     |     a1 = *((v0 + 1));
    0x0003cc6c addiu a1, zero, 0x45              |     a1 = 0x45;
                                                 |     if (a1 != v1) {
    0x0003cc70 bne a1, v1, 0x3cf74               |         goto label_9;
                                                 |     }
    0x0003cc74 lbu v1, 2(v0)                     |     v1 = *((v0 + 2));
    0x0003cc78 addiu a1, zero, 0x4c              |     a1 = 0x4c;
                                                 |     if (v1 != a1) {
    0x0003cc7c bne v1, a1, 0x3cf74               |         goto label_9;
                                                 |     }
    0x0003cc80 lbu a2, 3(v0)                     |     a2 = *((v0 + 3));
    0x0003cc84 addiu s5, zero, -1                |     s5 = -1;
                                                 |     if (a2 == a1) {
    0x0003cc88 bnel a2, a1, 0x3ceb4              |         goto label_2;
                                                 |     }
    0x0003cc8c lbu a1, 4(v0)                     |     a1 = *((v0 + 4));
    0x0003cc90 addiu v1, zero, 0x4d              |     v1 = 0x4d;
                                                 |     if (a1 != v1) {
    0x0003cc94 bne a1, v1, 0x3cf74               |         goto label_9;
                                                 |     }
    0x0003cc98 lbu a2, 5(v0)                     |     a2 = *((v0 + 5));
    0x0003cc9c addiu s5, zero, -1                |     s5 = -1;
                                                 |     if (a2 == v1) {
    0x0003cca0 bnel a2, v1, 0x3ceb4              |         goto label_2;
                                                 |     }
    0x0003cca4 lbu v1, 6(v0)                     |     v1 = *((v0 + 6));
    0x0003cca8 addiu v1, zero, 0x4e              |     v1 = 0x4e;
                                                 |     if (v1 != a1) {
    0x0003ccac bne v1, a1, 0x3cf74               |         goto label_9;
                                                 |     }
    0x0003ccb0 lbu a1, 7(v0)                     |     a1 = *((v0 + 7));
    0x0003ccb4 addiu v1, zero, 0x54              |     v1 = 0x54;
                                                 |     if (a1 != v1) {
    0x0003ccb8 bne a1, v1, 0x3cf74               |         goto label_9;
                                                 |     }
    0x0003ccbc lbu a1, 8(v0)                     |     a1 = *((v0 + 8));
    0x0003ccc0 addiu a2, v0, 9                   |     a2 = v0 + 9;
                                                 |     if (a1 != v1) {
    0x0003ccc4 bne a1, v1, 0x3cf74               |         goto label_9;
                                                 |     }
    0x0003ccc8 lw a1, 0xc8(s0)                   |     a1 = *((s0 + 50));
    0x0003cccc lw v1, 0x20(a0)                   |     v1 = *((a0 + 8));
    0x0003ccd0 addiu a1, a1, 9                   |     a1 += 9;
    0x0003ccd4 addiu v1, v1, 9                   |     v1 += 9;
    0x0003ccd8 lw s3, 0x38(a0)                   |     s3 = *((a0 + 14));
    0x0003ccdc sw a1, 0xc8(s0)                   |     *((s0 + 50)) = a1;
    0x0003cce0 sw a2, 0x10(a0)                   |     *((a0 + 4)) = a2;
    0x0003cce4 sw v1, 0x20(a0)                   |     *((a0 + 8)) = v1;
    0x0003cce8 lbu v0, 9(v0)                     |     v0 = *((v0 + 9));
    0x0003ccec lw t9, -0x7ef8(gp)                |     t9 = *((gp - 8126));
    0x0003ccf0 beqz v0, 0x3cdf4                  |     
                                                 |     while (1) {
    0x0003ccf4 lw s2, -0x7df4(gp)                |         s2 = *((gp - 8061));
    0x0003ccf8 move t9, s2                       |         t9 = s2;
    0x0003ccfc move a0, s0                       |         a0 = s0;
    0x0003cd00 bal 0x38628                       |         sym_xmlSkipBlankChars ();
    0x0003cd04 lw gp, 0x10(sp)                   |         gp = *(var_10h);
                                                 |         if (v0 == 0) {
    0x0003cd08 beqz v0, 0x3d034                  |             goto label_10;
                                                 |         }
    0x0003cd0c lw t9, -0x7e10(gp)                |         t9 = *(gp);
    0x0003cd10 move a0, s0                       |         a0 = s0;
    0x0003cd14 bal 0x31e4c                       |         sym_xmlParseName ();
    0x0003cd18 move s4, v0                       |         s4 = v0;
    0x0003cd1c lw gp, 0x10(sp)                   |         gp = *(var_10h);
                                                 |         if (v0 == 0) {
    0x0003cd20 beqz v0, 0x3d044                  |             goto label_11;
                                                 |         }
    0x0003cd24 move t9, s2                       |         t9 = s2;
    0x0003cd28 move a0, s0                       |         a0 = s0;
    0x0003cd2c bal 0x38628                       |         sym_xmlSkipBlankChars ();
    0x0003cd30 lw gp, 0x10(sp)                   |         gp = *(var_10h);
                                                 |         if (v0 == 0) {
    0x0003cd34 beqz v0, 0x3ce04                  |             goto label_12;
                                                 |         }
    0x0003cd38 lw a0, 0x24(s0)                   |         a0 = *((s0 + 9));
    0x0003cd3c addiu a1, zero, 0x45              |         a1 = 0x45;
    0x0003cd40 lw v1, 0x10(a0)                   |         v1 = *((a0 + 4));
    0x0003cd44 lbu v0, (v1)                      |         v0 = *(v1);
                                                 |         if (v0 != a1) {
    0x0003cd48 beql v0, a1, 0x3cdb0              |             
    0x0003cd4c lbu a1, 1(v1)                     |             a1 = *((v1 + 1));
                                                 | label_0:
    0x0003cd50 addiu a1, zero, 0x41              |             a1 = 0x41;
    0x0003cd54 addiu v1, zero, 0x28              |             v1 = 0x28;
                                                 |             if (v0 == a1) {
    0x0003cd58 bnel v0, a1, 0x3ce40              |                 goto label_13;
                                                 |             }
    0x0003cd5c lbu a1, 1(v1)                     |             a1 = *((v1 + 1));
    0x0003cd60 addiu v0, zero, 0x4e              |             v0 = 0x4e;
    0x0003cd64 lw a2, -0x7f94(gp)                |             a2 = *((gp - 8165));
                                                 |             if (a1 != v0) {
    0x0003cd68 bne a1, v0, 0x3cdd0               |                 goto label_5;
                                                 |             }
    0x0003cd6c lbu a1, 2(v1)                     |             a1 = *((v1 + 2));
    0x0003cd70 addiu v0, zero, 0x59              |             v0 = 0x59;
    0x0003cd74 addiu a1, zero, 0x36              |             a1 = 0x36;
                                                 |             if (a1 != v0) {
    0x0003cd78 bne a1, v0, 0x3cdd4               |                 goto label_6;
                                                 |             }
    0x0003cd7c lw a1, 0xc8(s0)                   |             a1 = *((s0 + 50));
    0x0003cd80 lw v0, 0x20(a0)                   |             v0 = *((a0 + 8));
    0x0003cd84 addiu a1, a1, 3                   |             a1 += 3;
    0x0003cd88 addiu v0, v0, 3                   |             v0 += 3;
    0x0003cd8c addiu a2, v1, 3                   |             a2 = v1 + 3;
    0x0003cd90 sw a1, 0xc8(s0)                   |             *((s0 + 50)) = a1;
    0x0003cd94 sw a2, 0x10(a0)                   |             *((a0 + 4)) = a2;
    0x0003cd98 sw v0, 0x20(a0)                   |             *((a0 + 8)) = v0;
    0x0003cd9c lbu v0, 3(v1)                     |             v0 = *((v1 + 3));
    0x0003cda0 lw t9, -0x7ef8(gp)                |             t9 = *((gp - 8126));
                                                 |             if (v0 == 0) {
    0x0003cda4 beqz v0, 0x3d024                  |                 goto label_14;
                                                 |             }
    0x0003cda8 addiu s5, zero, 2                 |             s5 = 2;
    0x0003cdac b 0x3ce5c                         |             goto label_7;
                                                 |         }
                                                 | label_1:
    0x0003cdb0 addiu v0, zero, 0x4d              |         v0 = 0x4d;
    0x0003cdb4 lw a2, -0x7f94(gp)                |         a2 = *((gp - 8165));
                                                 |         if (a1 == v0) {
    0x0003cdb8 bne a1, v0, 0x3cdd0               |             
    0x0003cdbc lbu a1, 2(v1)                     |             a1 = *((v1 + 2));
    0x0003cdc0 addiu v0, zero, 0x50              |             v0 = 0x50;
                                                 |             if (a1 == v0) {
    0x0003cdc4 beql a1, v0, 0x3cf9c              |                 goto label_15;
                                                 |             }
    0x0003cdc8 lbu a1, 3(v1)                     |             a1 = *((v1 + 3));
    0x0003cdcc lw a2, -0x7f94(gp)                |             a2 = *((gp - 8165));
                                                 |         }
                                                 | label_5:
    0x0003cdd0 addiu a1, zero, 0x36              |         a1 = 0x36;
                                                 | label_6:
    0x0003cdd4 addiu a2, a2, -0x796c             |         a2 += -0x796c;
                                                 | label_8:
    0x0003cdd8 lw t9, -0x7ea0(gp)                |         t9 = *((gp - 8104));
    0x0003cddc addiu t9, t9, -0x345c             |         t9 += -0x345c;
    0x0003cde0 move a0, s0                       |         a0 = s0;
    0x0003cde4 bal 0x2cba4                       |         fcn_0002cba4 ();
    0x0003cde8 addiu s5, zero, -1                |         s5 = -1;
    0x0003cdec lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x0003cdf0 b 0x3ceb4                         |         goto label_2;
    0x0003cdf4 addiu a1, zero, 0xfa              |         a1 = 0xfa;
    0x0003cdf8 bal 0x28398                       |         sym_xmlParserInputGrow ();
    0x0003cdfc lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x0003ce00 b 0x3ccf4                         |         
                                                 |     }
                                                 | label_12:
    0x0003ce04 lw a2, -0x7f94(gp)                |     a2 = *((gp - 8165));
    0x0003ce08 lw t9, -0x7ea0(gp)                |     t9 = *((gp - 8104));
    0x0003ce0c addiu a1, zero, 0x41              |     a1 = 0x41;
    0x0003ce10 move a0, s0                       |     a0 = s0;
    0x0003ce14 addiu t9, t9, -0x345c             |     t9 += -0x345c;
    0x0003ce18 addiu a2, a2, -0x79d4             |     a2 += -0x79d4;
    0x0003ce1c bal 0x2cba4                       |     fcn_0002cba4 ();
    0x0003ce20 lw a0, 0x24(s0)                   |     a0 = *((s0 + 9));
    0x0003ce24 addiu a1, zero, 0x45              |     a1 = 0x45;
    0x0003ce28 lw v1, 0x10(a0)                   |     v1 = *((a0 + 4));
    0x0003ce2c lbu v0, (v1)                      |     v0 = *(v1);
    0x0003ce30 lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 != a1) {
    0x0003ce34 bne v0, a1, 0x3cd50               |         goto label_0;
                                                 |     }
    0x0003ce38 lbu a1, 1(v1)                     |     a1 = *((v1 + 1));
    0x0003ce3c b 0x3cdb0                         |     goto label_1;
                                                 | label_13:
    0x0003ce40 lw t9, -0x7d5c(gp)                |     t9 = *((gp - 8023));
                                                 |     if (v0 != v1) {
    0x0003ce44 bne v0, v1, 0x3cfec               |         goto label_16;
                                                 |     }
    0x0003ce48 addiu a2, sp, 0x18                |     a2 = sp + 0x18;
    0x0003ce4c move a1, s4                       |     a1 = s4;
    0x0003ce50 move a0, s0                       |     a0 = s0;
    0x0003ce54 bal 0x3ca4c                       |     sym_xmlParseElementContentDecl ();
    0x0003ce58 move s5, v0                       |     s5 = v0;
                                                 | label_7:
    0x0003ce5c move t9, s2                       |     t9 = s2;
    0x0003ce60 move a0, s0                       |     a0 = s0;
    0x0003ce64 bal 0x38628                       |     sym_xmlSkipBlankChars ();
    0x0003ce68 lw v0, 0x24(s0)                   |     v0 = *((s0 + 9));
    0x0003ce6c addiu v1, zero, 0x3e              |     v1 = 0x3e;
    0x0003ce70 lw a0, 0x10(v0)                   |     a0 = *((v0 + 4));
    0x0003ce74 lbu a0, (a0)                      |     a0 = *(a0);
    0x0003ce78 lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (a0 == v1) {
    0x0003ce7c beq a0, v1, 0x3cee8               |         goto label_17;
                                                 |     }
    0x0003ce80 lw t9, -0x7ea0(gp)                |     t9 = *((gp - 8104));
    0x0003ce84 addiu a1, zero, 0x49              |     a1 = 0x49;
    0x0003ce88 move a2, zero                     |     a2 = 0;
    0x0003ce8c addiu t9, t9, -0x4cc8             |     t9 += -aav.0x00004cc8;
    0x0003ce90 move a0, s0                       |     a0 = s0;
    0x0003ce94 bal 0x2b338                       |     fcn_0002b338 ();
    0x0003ce98 lw a1, 0x18(sp)                   |     a1 = *(var_18h);
    0x0003ce9c lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (a1 == 0) {
    0x0003cea0 beqz a1, 0x3ceb4                  |         goto label_2;
                                                 |     }
    0x0003cea4 lw t9, -0x7d68(gp)                |     t9 = *(gp);
                                                 | label_3:
    0x0003cea8 lw a0, 8(s0)                      |     a0 = *((s0 + 2));
    0x0003ceac jalr t9                           |     t9 ();
    0x0003ceb0 lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     do {
                                                 | label_2:
    0x0003ceb4 lw a0, 0x1c(sp)                   |         a0 = *(var_1ch);
    0x0003ceb8 lw v1, (s1)                       |         v1 = *(s1);
    0x0003cebc move v0, s5                       |         v0 = s5;
                                                 |         if (a0 != v1) {
    0x0003cec0 bne a0, v1, 0x3d064               |             goto label_18;
                                                 |         }
    0x0003cec4 lw ra, 0x3c(sp)                   |         ra = *(var_3ch);
    0x0003cec8 lw s5, 0x38(sp)                   |         s5 = *(var_38h);
    0x0003cecc lw s4, 0x34(sp)                   |         s4 = *(var_34h);
    0x0003ced0 lw s3, 0x30(sp)                   |         s3 = *(var_30h);
    0x0003ced4 lw s2, 0x2c(sp)                   |         s2 = *(var_2ch);
    0x0003ced8 lw s1, 0x28(sp)                   |         s1 = *(var_28h);
    0x0003cedc lw s0, 0x24(sp)                   |         s0 = *(var_24h);
    0x0003cee0 addiu sp, sp, 0x40                |         
    0x0003cee4 jr ra                             |         return v1;
                                                 | label_17:
    0x0003cee8 lw v0, 0x38(v0)                   |         v0 = *((v0 + 14));
    0x0003ceec lw a2, -0x7f94(gp)                |         a2 = *((gp - 8165));
                                                 |         if (v0 != s3) {
    0x0003cef0 bne v0, s3, 0x3cf7c               |             goto label_19;
                                                 |         }
                                                 | label_4:
    0x0003cef4 lw t9, -0x7e30(gp)                |         t9 = *((gp - 8076));
    0x0003cef8 move a0, s0                       |         a0 = s0;
    0x0003cefc bal 0x28648                       |         sym_xmlNextChar ();
    0x0003cf00 lw v0, (s0)                       |         v0 = *(s0);
    0x0003cf04 lw gp, 0x10(sp)                   |         gp = *(var_10h);
                                                 |         if (v0 == 0) {
    0x0003cf08 beqz v0, 0x3cf60                  |             goto label_20;
                                                 |         }
    0x0003cf0c lw v1, 0xd4(s0)                   |         v1 = *((s0 + 53));
    0x0003cf10 lw a1, 0x18(sp)                   |         a1 = *(var_18h);
                                                 |         if (v1 != 0) {
    0x0003cf14 bnez v1, 0x3cf64                  |             goto label_21;
                                                 |         }
    0x0003cf18 lw t9, 0x24(v0)                   |         t9 = *((v0 + 9));
                                                 |         if (t9 == 0) {
    0x0003cf1c beqz t9, 0x3cf64                  |             goto label_21;
                                                 |         }
    0x0003cf20 nop                               |         
    0x0003cf24 sw zero, 0x14(a1)                 |         *((a1 + 5)) = 0;
                                                 |         if (a1 != 0) {
    0x0003cf28 bnel a1, zero, 0x3cf2c            |             
                                                 |         }
    0x0003cf2c lw a0, 4(s0)                      |         a0 = *((s0 + 1));
    0x0003cf30 move a3, a1                       |         a3 = a1;
    0x0003cf34 move a2, s5                       |         a2 = s5;
    0x0003cf38 move a1, s4                       |         a1 = s4;
    0x0003cf3c jalr t9                           |         t9 ();
    0x0003cf40 lw a1, 0x18(sp)                   |         a1 = *(var_18h);
    0x0003cf44 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x0003cf48 beqz a1, 0x3ceb4                  |         
                                                 |     } while (a1 == 0);
    0x0003cf4c lw v0, 0x14(a1)                   |     v0 = *((a1 + 5));
    0x0003cf50 lw t9, -0x7d68(gp)                |     t9 = *(gp);
                                                 |     if (v0 != 0) {
    0x0003cf54 bnez v0, 0x3ceb4                  |         goto label_2;
                                                 |     }
    0x0003cf58 b 0x3cea8                         |     goto label_3;
    0x0003cf5c nop                               |     
                                                 | label_20:
    0x0003cf60 lw a1, 0x18(sp)                   |     a1 = *(var_18h);
                                                 | label_21:
    0x0003cf64 lw t9, -0x7d68(gp)                |     t9 = *(gp);
                                                 |     if (a1 != 0) {
    0x0003cf68 bnez a1, 0x3cea8                  |         goto label_3;
                                                 |     }
    0x0003cf6c b 0x3ceb4                         |     goto label_2;
    0x0003cf70 nop                               |     
                                                 | label_9:
    0x0003cf74 addiu s5, zero, -1                |     s5 = -1;
    0x0003cf78 b 0x3ceb4                         |     goto label_2;
                                                 | label_19:
    0x0003cf7c lw t9, -0x7ea0(gp)                |     t9 = *((gp - 8104));
    0x0003cf80 addiu a2, a2, -0x7934             |     a2 += -0x7934;
    0x0003cf84 addiu a1, zero, 0x5a              |     a1 = 0x5a;
    0x0003cf88 addiu t9, t9, -0x345c             |     t9 += -0x345c;
    0x0003cf8c move a0, s0                       |     a0 = s0;
    0x0003cf90 bal 0x2cba4                       |     fcn_0002cba4 ();
    0x0003cf94 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x0003cf98 b 0x3cef4                         |     goto label_4;
                                                 | label_15:
    0x0003cf9c addiu v0, zero, 0x54              |     v0 = 0x54;
    0x0003cfa0 lw a2, -0x7f94(gp)                |     a2 = *((gp - 8165));
                                                 |     if (a1 != v0) {
    0x0003cfa4 bne a1, v0, 0x3cdd0               |         goto label_5;
                                                 |     }
    0x0003cfa8 lbu a1, 4(v1)                     |     a1 = *((v1 + 4));
    0x0003cfac addiu v0, zero, 0x59              |     v0 = 0x59;
    0x0003cfb0 addiu a1, zero, 0x36              |     a1 = 0x36;
                                                 |     if (a1 != v0) {
    0x0003cfb4 bne a1, v0, 0x3cdd4               |         goto label_6;
                                                 |     }
    0x0003cfb8 lw a1, 0xc8(s0)                   |     a1 = *((s0 + 50));
    0x0003cfbc lw v0, 0x20(a0)                   |     v0 = *((a0 + 8));
    0x0003cfc0 addiu a1, a1, 5                   |     a1 += 5;
    0x0003cfc4 addiu v0, v0, 5                   |     v0 += 5;
    0x0003cfc8 addiu a2, v1, 5                   |     a2 = v1 + 5;
    0x0003cfcc sw a1, 0xc8(s0)                   |     *((s0 + 50)) = a1;
    0x0003cfd0 sw a2, 0x10(a0)                   |     *((a0 + 4)) = a2;
    0x0003cfd4 sw v0, 0x20(a0)                   |     *((a0 + 8)) = v0;
    0x0003cfd8 lbu v0, 5(v1)                     |     v0 = *((v1 + 5));
    0x0003cfdc lw t9, -0x7ef8(gp)                |     t9 = *((gp - 8126));
                                                 |     if (v0 == 0) {
    0x0003cfe0 beqz v0, 0x3d054                  |         goto label_22;
                                                 |     }
    0x0003cfe4 addiu s5, zero, 1                 |     s5 = 1;
    0x0003cfe8 b 0x3ce5c                         |     goto label_7;
                                                 | label_16:
    0x0003cfec addiu v1, zero, 0x25              |     v1 = 0x25;
    0x0003cff0 lw a2, -0x7f94(gp)                |     a2 = *((gp - 8165));
                                                 |     if (v0 != v1) {
    0x0003cff4 bne v0, v1, 0x3cdd0               |         goto label_5;
                                                 |     }
    0x0003cff8 lw v0, 0x60(s0)                   |     v0 = *((s0 + 24));
    0x0003cffc addiu a1, zero, 0x36              |     a1 = 0x36;
                                                 |     if (v0 != 0) {
    0x0003d000 bnez v0, 0x3cdd4                  |         goto label_6;
                                                 |     }
    0x0003d004 lw v1, 0x28(s0)                   |     v1 = *((s0 + 10));
    0x0003d008 addiu v0, zero, 1                 |     v0 = 1;
    0x0003d00c addiu a2, a2, -0x796c             |     a2 += -0x796c;
                                                 |     if (v1 == v0) {
    0x0003d010 bnel v1, v0, 0x3cdd8              |         goto label_8;
                                                 |     }
    0x0003d014 lw a2, -0x7f94(gp)                |     a2 = *((gp - 8165));
    0x0003d018 addiu a1, zero, 0x15              |     a1 = 0x15;
    0x0003d01c addiu a2, a2, -0x79ac             |     a2 += -0x79ac;
    0x0003d020 b 0x3cdd8                         |     goto label_8;
                                                 | label_14:
    0x0003d024 addiu a1, zero, 0xfa              |     a1 = 0xfa;
    0x0003d028 bal 0x28398                       |     sym_xmlParserInputGrow ();
    0x0003d02c addiu s5, zero, 2                 |     s5 = 2;
    0x0003d030 b 0x3ce5c                         |     goto label_7;
                                                 | label_10:
    0x0003d034 lw a2, -0x7f94(gp)                |     a2 = *((gp - 8165));
    0x0003d038 addiu a1, zero, 0x41              |     a1 = 0x41;
    0x0003d03c addiu a2, a2, -0x7a20             |     a2 += -0x7a20;
    0x0003d040 b 0x3cdd8                         |     goto label_8;
                                                 | label_11:
    0x0003d044 lw a2, -0x7f94(gp)                |     a2 = *((gp - 8165));
    0x0003d048 addiu a1, zero, 0x44              |     a1 = 0x44;
    0x0003d04c addiu a2, a2, -0x7a00             |     a2 += -0x7a00;
    0x0003d050 b 0x3cdd8                         |     goto label_8;
                                                 | label_22:
    0x0003d054 addiu a1, zero, 0xfa              |     a1 = 0xfa;
    0x0003d058 bal 0x28398                       |     sym_xmlParserInputGrow ();
    0x0003d05c addiu s5, zero, 1                 |     s5 = 1;
    0x0003d060 b 0x3ce5c                         |     goto label_7;
                                                 | label_18:
    0x0003d064 lw t9, -0x7074(gp)                |     t9 = *((gp - 7197));
    0x0003d068 jalr t9                           |     t9 ();
    0x0003d06c 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 @ 0x394c4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlParseNotationDecl ()      | void xmlParseNotationDecl () {
    0x000394c4 lui gp, 0x16                  |     
    0x000394c8 addiu gp, gp, -0x7e54         |     
    0x000394cc addu gp, gp, t9               |     gp += t9;
    0x000394d0 addiu sp, sp, -0x48           |     
    0x000394d4 addiu v1, zero, 0x3c          |     v1 = 0x3c;
    0x000394d8 sw s1, 0x30(sp)               |     *(var_30h) = s1;
    0x000394dc move s1, a0                   |     s1 = a0;
    0x000394e0 lw a0, 0x24(a0)               |     a0 = *((a0 + 9));
    0x000394e4 sw s0, 0x2c(sp)               |     *(var_2ch) = s0;
    0x000394e8 lw s0, -0x7000(gp)            |     s0 = *((gp - 7168));
    0x000394ec lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
    0x000394f0 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x000394f4 lw a1, (s0)                   |     a1 = *(s0);
    0x000394f8 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x000394fc sw s5, 0x40(sp)               |     *(var_40h) = s5;
    0x00039500 sw s4, 0x3c(sp)               |     *(var_3ch) = s4;
    0x00039504 sw s3, 0x38(sp)               |     *(var_38h) = s3;
    0x00039508 sw s2, 0x34(sp)               |     *(var_34h) = s2;
    0x0003950c sw a1, 0x24(sp)               |     *(var_24h) = a1;
    0x00039510 lbu a1, (v0)                  |     a1 = *(v0);
                                             |     if (a1 == v1) {
    0x00039514 beql a1, v1, 0x3954c          |         goto label_4;
                                             |     }
    0x00039518 lbu a1, 1(v0)                 |     a1 = *((v0 + 1));
                                             |     do {
                                             | label_0:
    0x0003951c lw v1, 0x24(sp)               |         v1 = *(var_24h);
    0x00039520 lw v0, (s0)                   |         v0 = *(s0);
    0x00039524 lw ra, 0x44(sp)               |         ra = *(var_44h);
                                             |         if (v1 != v0) {
    0x00039528 bne v1, v0, 0x39784           |             goto label_5;
                                             |         }
    0x0003952c lw s5, 0x40(sp)               |         s5 = *(var_40h);
    0x00039530 lw s4, 0x3c(sp)               |         s4 = *(var_3ch);
    0x00039534 lw s3, 0x38(sp)               |         s3 = *(var_38h);
    0x00039538 lw s2, 0x34(sp)               |         s2 = *(var_34h);
    0x0003953c lw s1, 0x30(sp)               |         s1 = *(var_30h);
    0x00039540 lw s0, 0x2c(sp)               |         s0 = *(var_2ch);
    0x00039544 addiu sp, sp, 0x48            |         
    0x00039548 jr ra                         |         return v0;
                                             | label_4:
    0x0003954c addiu v1, zero, 0x21          |         v1 = 0x21;
    0x00039550 addiu a1, zero, 0x4e          |         a1 = 0x4e;
    0x00039554 bne a1, v1, 0x3951c           |         
                                             |     } while (a1 != v1);
    0x00039558 lbu v1, 2(v0)                 |     v1 = *((v0 + 2));
    0x0003955c addiu a2, zero, 0x4f          |     a2 = 0x4f;
                                             |     if (v1 != a1) {
    0x00039560 bne v1, a1, 0x3951c           |         goto label_0;
                                             |     }
    0x00039564 lbu a1, 3(v0)                 |     a1 = *((v0 + 3));
    0x00039568 addiu a3, zero, 0x54          |     a3 = 0x54;
                                             |     if (a1 != a2) {
    0x0003956c bne a1, a2, 0x3951c           |         goto label_0;
                                             |     }
    0x00039570 lbu a2, 4(v0)                 |     a2 = *((v0 + 4));
    0x00039574 addiu a3, zero, 0x41          |     a3 = 0x41;
                                             |     if (a2 != a3) {
    0x00039578 bne a2, a3, 0x3951c           |         goto label_0;
                                             |     }
    0x0003957c lbu t0, 5(v0)                 |     t0 = *((v0 + 5));
                                             |     if (t0 != a3) {
    0x00039580 bne t0, a3, 0x3951c           |         goto label_0;
                                             |     }
    0x00039584 nop                           |     
    0x00039588 lbu a3, 6(v0)                 |     a3 = *((v0 + 6));
    0x0003958c addiu a2, zero, 0x49          |     a2 = 0x49;
                                             |     if (a3 != a2) {
    0x00039590 bne a3, a2, 0x3951c           |         goto label_0;
                                             |     }
    0x00039594 lbu a3, 7(v0)                 |     a3 = *((v0 + 7));
                                             |     if (a3 != a2) {
    0x00039598 bne a3, a2, 0x3951c           |         goto label_0;
                                             |     }
    0x0003959c nop                           |     
    0x000395a0 lbu a2, 8(v0)                 |     a2 = *((v0 + 8));
                                             |     if (a2 != a1) {
    0x000395a4 bne a2, a1, 0x3951c           |         goto label_0;
                                             |     }
    0x000395a8 nop                           |     
    0x000395ac lbu a1, 9(v0)                 |     a1 = *((v0 + 9));
                                             |     if (a1 != v1) {
    0x000395b0 bne a1, v1, 0x3951c           |         goto label_0;
                                             |     }
    0x000395b4 nop                           |     
    0x000395b8 lw v1, 0x124(s1)              |     v1 = *(s1);
    0x000395bc lw s2, 0x38(a0)               |     s2 = *((a0 + 14));
                                             |     if (v1 == 0) {
    0x000395c0 bnez v1, 0x395ec              |         
    0x000395c4 lw v1, 0xc(a0)                |         v1 = *((a0 + 3));
    0x000395c8 subu v1, v0, v1               |         __asm ("subu v1, v0, v1");
    0x000395cc slti v1, v1, 0x1f5            |         v1 = (v1 < 0x1f5) ? 1 : 0;
    0x000395d0 lw v1, 0xc8(s1)               |         v1 = *((s1 + 50));
                                             |         if (v1 == 0) {
    0x000395d4 bnel v1, zero, 0x395f0        |             goto label_6;
                                             |         }
    0x000395d8 lw v1, 0x14(a0)               |         v1 = *((a0 + 5));
    0x000395dc subu v0, v1, v0               |         __asm ("subu v0, v1, v0");
    0x000395e0 slti v0, v0, 0x1f4            |         v0 = (v0 < aav.0x000001f4) ? 1 : 0;
    0x000395e4 lw t9, -0x7ea0(gp)            |         t9 = *((gp - 8104));
                                             |         if (v0 != 0) {
    0x000395e8 bnez v0, 0x397f4              |             goto label_7;
                                             |         }
                                             |     }
                                             | label_2:
    0x000395ec lw v1, 0xc8(s1)               |     v1 = *((s1 + 50));
                                             | label_6:
    0x000395f0 lw a1, 0x10(a0)               |     a1 = *((a0 + 4));
    0x000395f4 lw v0, 0x20(a0)               |     v0 = *((a0 + 8));
    0x000395f8 addiu v1, v1, 0xa             |     v1 += 0xa;
    0x000395fc addiu v0, v0, 0xa             |     v0 += 0xa;
    0x00039600 addiu a2, a1, 0xa             |     a2 = a1 + 0xa;
    0x00039604 sw v1, 0xc8(s1)               |     *((s1 + 50)) = v1;
    0x00039608 sw a2, 0x10(a0)               |     *((a0 + 4)) = a2;
    0x0003960c sw v0, 0x20(a0)               |     *((a0 + 8)) = v0;
    0x00039610 lbu v0, 0xa(a1)               |     v0 = *((a1 + 10));
    0x00039614 lw t9, -0x7ef8(gp)            |     t9 = *((gp - 8126));
                                             |     if (v0 == 0) {
    0x00039618 beqz v0, 0x39818              |         goto label_8;
                                             |     }
                                             | label_3:
    0x0003961c lw s5, -0x7df4(gp)            |     s5 = *((gp - 8061));
    0x00039620 move t9, s5                   |     t9 = s5;
    0x00039624 move a0, s1                   |     a0 = s1;
    0x00039628 bal 0x38628                   |     sym_xmlSkipBlankChars ();
    0x0003962c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00039630 beqz v0, 0x3980c              |         goto label_9;
                                             |     }
    0x00039634 lw t9, -0x7e10(gp)            |     t9 = *(gp);
    0x00039638 move a0, s1                   |     a0 = s1;
    0x0003963c bal 0x31e4c                   |     sym_xmlParseName ();
    0x00039640 move s3, v0                   |     s3 = v0;
    0x00039644 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00039648 beqz v0, 0x397b4              |         goto label_10;
                                             |     }
    0x0003964c lw t9, -0x7fac(gp)            |     t9 = *((gp - 8171));
    0x00039650 addiu a1, zero, 0x3a          |     a1 = 0x3a;
    0x00039654 move a0, v0                   |     a0 = v0;
    0x00039658 jalr t9                       |     t9 ();
    0x0003965c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00039660 beqz v0, 0x3968c              |         
    0x00039664 lw a2, -0x7f94(gp)            |         a2 = *((gp - 8165));
    0x00039668 lw t9, -0x7ea0(gp)            |         t9 = *((gp - 8104));
    0x0003966c sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x00039670 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x00039674 move a3, s3                   |         a3 = s3;
    0x00039678 addiu a2, a2, -0x7ff4         |         a2 += -aav.0x00007ff4;
    0x0003967c addiu a1, zero, 0xcd          |         a1 = 0xcd;
    0x00039680 addiu t9, t9, -0x436c         |         t9 += -0x436c;
    0x00039684 move a0, s1                   |         a0 = s1;
    0x00039688 bal 0x2bc94                   |         fcn_0002bc94 ();
                                             |     }
    0x0003968c move t9, s5                   |     t9 = s5;
    0x00039690 move a0, s1                   |     a0 = s1;
    0x00039694 bal 0x38628                   |     sym_xmlSkipBlankChars ();
    0x00039698 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0003969c beqz v0, 0x39790              |         goto label_11;
                                             |     }
    0x000396a0 lw t9, -0x7db4(gp)            |     t9 = *((gp - 8045));
    0x000396a4 move a2, zero                 |     a2 = 0;
    0x000396a8 addiu a1, sp, 0x20            |     a1 = sp + 0x20;
    0x000396ac move a0, s1                   |     a0 = s1;
    0x000396b0 bal 0x38818                   |     sym_xmlParseExternalID ();
    0x000396b4 move a0, s1                   |     a0 = s1;
    0x000396b8 move t9, s5                   |     t9 = s5;
    0x000396bc move s4, v0                   |     s4 = v0;
    0x000396c0 bal 0x38628                   |     sym_xmlSkipBlankChars ();
    0x000396c4 lw v0, 0x24(s1)               |     v0 = *((s1 + 9));
    0x000396c8 addiu v1, zero, 0x3e          |     v1 = 0x3e;
    0x000396cc lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x000396d0 lbu a0, (a0)                  |     a0 = *(a0);
    0x000396d4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 != v1) {
    0x000396d8 bne a0, v1, 0x397d4           |         goto label_12;
                                             |     }
    0x000396dc lw v0, 0x38(v0)               |     v0 = *((v0 + 14));
    0x000396e0 lw t9, -0x7e30(gp)            |     t9 = *((gp - 8076));
                                             |     if (v0 != s2) {
    0x000396e4 beq v0, s2, 0x3970c           |         
    0x000396e8 lw a2, -0x7f94(gp)            |         a2 = *((gp - 8165));
    0x000396ec lw t9, -0x7ea0(gp)            |         t9 = *((gp - 8104));
    0x000396f0 addiu a2, a2, -0x7f98         |         a2 += -0x7f98;
    0x000396f4 addiu a1, zero, 0x5a          |         a1 = 0x5a;
    0x000396f8 addiu t9, t9, -0x345c         |         t9 += -0x345c;
    0x000396fc move a0, s1                   |         a0 = s1;
    0x00039700 bal 0x2cba4                   |         fcn_0002cba4 ();
    0x00039704 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00039708 lw t9, -0x7e30(gp)            |         t9 = *((gp - 8076));
                                             |     }
    0x0003970c move a0, s1                   |     a0 = s1;
    0x00039710 bal 0x28648                   |     sym_xmlNextChar ();
    0x00039714 lw v0, (s1)                   |     v0 = *(s1);
    0x00039718 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0003971c beqz v0, 0x3974c              |         
    0x00039720 lw v1, 0xd4(s1)               |         v1 = *((s1 + 53));
                                             |         if (v1 != 0) {
    0x00039724 bnez v1, 0x3974c              |             goto label_1;
                                             |         }
    0x00039728 nop                           |         
    0x0003972c lw t9, 0x1c(v0)               |         t9 = *((v0 + 7));
    0x00039730 lw a2, 0x20(sp)               |         a2 = *(var_20h);
                                             |         if (t9 == 0) {
    0x00039734 beqz t9, 0x3974c              |             goto label_1;
                                             |         }
    0x00039738 lw a0, 4(s1)                  |         a0 = *((s1 + 1));
    0x0003973c move a3, s4                   |         a3 = s4;
    0x00039740 move a1, s3                   |         a1 = s3;
    0x00039744 jalr t9                       |         t9 ();
    0x00039748 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
                                             | label_1:
    0x0003974c lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             |     if (s4 != 0) {
    0x00039750 beqz s4, 0x39764              |         
    0x00039754 lw t9, (v0)                   |         t9 = *(v0);
    0x00039758 move a0, s4                   |         a0 = s4;
    0x0003975c jalr t9                       |         t9 ();
    0x00039760 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x00039764 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x00039768 lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             |     if (a0 == 0) {
    0x0003976c beqz a0, 0x3951c              |         goto label_0;
                                             |     }
    0x00039770 lw t9, (v0)                   |     t9 = *(v0);
    0x00039774 jalr t9                       |     t9 ();
    0x00039778 nop                           |     
    0x0003977c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00039780 b 0x3951c                     |     goto label_0;
                                             | label_5:
    0x00039784 lw t9, -0x7074(gp)            |     t9 = *((gp - 7197));
    0x00039788 jalr t9                       |     t9 ();
    0x0003978c nop                           |     
                                             | label_11:
    0x00039790 lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
    0x00039794 addiu a2, a2, -0x7fc4         |     a2 += -0x7fc4;
                                             |     do {
    0x00039798 lw t9, -0x7ea0(gp)            |         t9 = *((gp - 8104));
    0x0003979c addiu a1, zero, 0x41          |         a1 = 0x41;
    0x000397a0 addiu t9, t9, -0x345c         |         t9 += -0x345c;
    0x000397a4 move a0, s1                   |         a0 = s1;
    0x000397a8 bal 0x2cba4                   |         fcn_0002cba4 ();
    0x000397ac lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000397b0 b 0x3951c                     |         goto label_0;
                                             | label_10:
    0x000397b4 lw t9, -0x7ea0(gp)            |         t9 = *((gp - 8104));
    0x000397b8 move a2, zero                 |         a2 = 0;
    0x000397bc addiu a1, zero, 0x30          |         a1 = 0x30;
    0x000397c0 addiu t9, t9, -0x4cc8         |         t9 += -aav.0x00004cc8;
    0x000397c4 move a0, s1                   |         a0 = s1;
    0x000397c8 bal 0x2b338                   |         fcn_0002b338 ();
    0x000397cc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000397d0 b 0x3951c                     |         goto label_0;
                                             | label_12:
    0x000397d4 lw t9, -0x7ea0(gp)            |         t9 = *((gp - 8104));
    0x000397d8 move a2, zero                 |         a2 = 0;
    0x000397dc addiu a1, zero, 0x31          |         a1 = 0x31;
    0x000397e0 addiu t9, t9, -0x4cc8         |         t9 += -aav.0x00004cc8;
    0x000397e4 move a0, s1                   |         a0 = s1;
    0x000397e8 bal 0x2b338                   |         fcn_0002b338 ();
    0x000397ec lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000397f0 b 0x3974c                     |         goto label_1;
                                             | label_7:
    0x000397f4 addiu t9, t9, -0x267c         |         t9 += -0x267c;
    0x000397f8 addiu a0, s1, 0x24            |         a0 = s1 + 0x24;
    0x000397fc bal 0x2d984                   |         fcn_0002d984 ();
    0x00039800 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00039804 lw a0, 0x24(s1)               |         a0 = *((s1 + 9));
    0x00039808 b 0x395ec                     |         goto label_2;
                                             | label_9:
    0x0003980c lw a2, -0x7fd4(gp)            |         a2 = *(gp);
    0x00039810 addiu a2, a2, 0x7fe8          |         a2 += 0x7fe8;
    0x00039814 b 0x39798                     |         
                                             |     } while (1);
                                             | label_8:
    0x00039818 addiu a1, zero, 0xfa          |     a1 = 0xfa;
    0x0003981c bal 0x28398                   |     sym_xmlParserInputGrow ();
    0x00039820 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00039824 b 0x3961c                     |     goto label_3;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x2abbc */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlParserAddNodeInfo ()          | void xmlParserAddNodeInfo () {
    0x0002abbc lui gp, 0x16                      |     
    0x0002abc0 addiu gp, gp, 0x6ab4              |     
    0x0002abc4 addu gp, gp, t9                   |     gp += t9;
                                                 |     if (a0 == 0) {
    0x0002abc8 beqz a0, 0x2ad98                  |         goto label_7;
                                                 |     }
    0x0002abcc nop                               |     
                                                 |     if (a1 == 0) {
    0x0002abd0 beqz a1, 0x2ad98                  |         goto label_7;
                                                 |     }
    0x0002abd4 nop                               |     
    0x0002abd8 addiu sp, sp, -0x28               |     
    0x0002abdc lw t1, (a1)                       |     t1 = *(a1);
    0x0002abe0 lw t9, -0x7e94(gp)                |     t9 = *(gp);
    0x0002abe4 sw s0, 0x18(sp)                   |     *(var_18h) = s0;
    0x0002abe8 move s0, a0                       |     s0 = a0;
    0x0002abec sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0002abf0 sw s2, 0x20(sp)                   |     *(var_20h) = s2;
    0x0002abf4 sw s1, 0x1c(sp)                   |     *(var_1ch) = s1;
    0x0002abf8 sw ra, 0x24(sp)                   |     *(var_24h) = ra;
    0x0002abfc move s1, a1                       |     s1 = a1;
    0x0002ac00 addiu a0, a0, 0x48                |     a0 += 0x48;
    0x0002ac04 move a1, t1                       |     a1 = t1;
    0x0002ac08 bal 0x2aa58                       |     sym_xmlParserFindNodeInfoIndex ();
    0x0002ac0c lw t0, 0x4c(s0)                   |     t0 = *((s0 + 19));
    0x0002ac10 move s2, v0                       |     s2 = v0;
    0x0002ac14 sltu v1, v0, t0                   |     v1 = (v0 < t0) ? 1 : 0;
    0x0002ac18 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x0002ac1c lw v0, 0x50(s0)                   |     v0 = *((s0 + 20));
                                                 |     if (v1 == 0) {
    0x0002ac20 beqz v1, 0x2ace4                  |         goto label_8;
                                                 |     }
    0x0002ac24 sll a3, s2, 2                     |     a3 = s2 << 2;
                                                 |     if (v0 == 0) {
    0x0002ac28 beqz v0, 0x2ad10                  |         goto label_9;
                                                 |     }
    0x0002ac2c addu a2, a3, s2                   |     a2 = a3 + s2;
    0x0002ac30 sll a2, a2, 2                     |     a2 <<= 2;
    0x0002ac34 addu a2, v0, a2                   |     a2 = v0 + a2;
    0x0002ac38 lw v1, (a2)                       |     v1 = *(a2);
    0x0002ac3c addiu t3, t0, 1                   |     t3 = t0 + 1;
                                                 |     if (t1 == v1) {
    0x0002ac40 beq t1, v1, 0x2add8               |         goto label_10;
                                                 |     }
    0x0002ac44 lw a1, 0x48(s0)                   |     a1 = *((s0 + 18));
    0x0002ac48 sltu v1, a1, t3                   |     v1 = (a1 < t3) ? 1 : 0;
    0x0002ac4c sll v1, t0, 2                     |     v1 = t0 << 2;
                                                 |     if (v1 != 0) {
    0x0002ac50 bnez v1, 0x2ad24                  |         goto label_11;
                                                 |     }
                                                 | label_1:
    0x0002ac54 addu v1, v1, t0                   |     v1 += t0;
    0x0002ac58 addu a3, a3, s2                   |     a3 += s2;
    0x0002ac5c sll v1, v1, 2                     |     v1 <<= 2;
    0x0002ac60 sll a3, a3, 2                     |     a3 <<= 2;
    0x0002ac64 addu v1, v0, v1                   |     v1 = v0 + v1;
    0x0002ac68 addu v0, v0, a3                   |     v0 += a3;
    0x0002ac6c lw t2, -0x14(v1)                  |     t2 = *((v1 - 5));
                                                 |     do {
    0x0002ac70 lw t1, -0x10(v1)                  |         t1 = *((v1 - 4));
    0x0002ac74 lw t0, -0xc(v1)                   |         t0 = *((v1 - 3));
    0x0002ac78 lw a3, -8(v1)                     |         a3 = *((v1 - 2));
    0x0002ac7c lw a0, -4(v1)                     |         a0 = *((v1 - 1));
    0x0002ac80 sw t2, (v1)                       |         *(v1) = t2;
    0x0002ac84 sw t1, 4(v1)                      |         *((v1 + 1)) = t1;
    0x0002ac88 sw t0, 8(v1)                      |         *((v1 + 2)) = t0;
    0x0002ac8c sw a3, 0xc(v1)                    |         *((v1 + 3)) = a3;
    0x0002ac90 sw a0, 0x10(v1)                   |         *((v1 + 4)) = a0;
    0x0002ac94 addiu v1, v1, -0x14               |         v1 += -0x14;
    0x0002ac98 lw t2, -0x14(v1)                  |         t2 = *((v1 - 5));
    0x0002ac9c bnel v0, v1, 0x2ac70              |         
                                                 |     } while (v0 == v1);
                                                 |     do {
                                                 | label_0:
    0x0002aca0 lw a3, (s1)                       |         a3 = *(s1);
                                                 | label_2:
    0x0002aca4 lw a1, 4(s1)                      |         a1 = *((s1 + 1));
    0x0002aca8 lw a0, 8(s1)                      |         a0 = *((s1 + 2));
    0x0002acac lw v1, 0xc(s1)                    |         v1 = *((s1 + 3));
    0x0002acb0 lw v0, 0x10(s1)                   |         v0 = *((s1 + 4));
    0x0002acb4 sw a3, (a2)                       |         *(a2) = a3;
    0x0002acb8 sw a1, 4(a2)                      |         *((a2 + 1)) = a1;
    0x0002acbc sw a0, 8(a2)                      |         *((a2 + 2)) = a0;
    0x0002acc0 sw v1, 0xc(a2)                    |         *((a2 + 3)) = v1;
    0x0002acc4 sw v0, 0x10(a2)                   |         *((a2 + 4)) = v0;
    0x0002acc8 sw t3, 0x4c(s0)                   |         *((s0 + 19)) = t3;
                                                 | label_6:
    0x0002accc lw ra, 0x24(sp)                   |         ra = *(var_24h);
    0x0002acd0 lw s2, 0x20(sp)                   |         s2 = *(var_20h);
    0x0002acd4 lw s1, 0x1c(sp)                   |         s1 = *(var_1ch);
    0x0002acd8 lw s0, 0x18(sp)                   |         s0 = *(var_18h);
    0x0002acdc addiu sp, sp, 0x28                |         
    0x0002ace0 jr ra                             |         return v0;
                                                 | label_8:
    0x0002ace4 lw a1, 0x48(s0)                   |         a1 = *((s0 + 18));
    0x0002ace8 addiu t3, t0, 1                   |         t3 = t0 + 1;
    0x0002acec sltu v1, a1, t3                   |         v1 = (a1 < t3) ? 1 : 0;
                                                 |         if (v1 != 0) {
    0x0002acf0 bnez v1, 0x2ad24                  |             goto label_11;
                                                 |         }
    0x0002acf4 nop                               |         
    0x0002acf8 sll a2, s2, 2                     |         a2 = s2 << 2;
                                                 |         if (v0 == 0) {
    0x0002acfc beqz v0, 0x2adac                  |             goto label_12;
                                                 |         }
    0x0002ad00 addu a2, a2, s2                   |         a2 += s2;
    0x0002ad04 sll a2, a2, 2                     |         a2 <<= 2;
    0x0002ad08 addu a2, v0, a2                   |         a2 = v0 + a2;
    0x0002ad0c b 0x2aca0                         |         
                                                 |     } while (1);
                                                 | label_9:
    0x0002ad10 lw a1, 0x48(s0)                   |     a1 = *((s0 + 18));
    0x0002ad14 addiu v1, t0, 1                   |     v1 = t0 + 1;
    0x0002ad18 sltu v1, a1, v1                   |     v1 = (a1 < v1) ? 1 : 0;
                                                 |     if (v1 == 0) {
    0x0002ad1c beqz v1, 0x2adac                  |         goto label_12;
                                                 |     }
    0x0002ad20 nop                               |     
                                                 | label_11:
    0x0002ad24 sll v1, a1, 2                     |     v1 = a1 << 2;
                                                 |     if (a1 != 0) {
    0x0002ad28 bnez a1, 0x2ada0                  |         goto label_13;
                                                 |     }
    0x0002ad2c addiu v1, zero, 2                 |     v1 = 2;
                                                 | label_4:
    0x0002ad30 sw v1, 0x48(s0)                   |     *((s0 + 18)) = v1;
    0x0002ad34 addiu a1, zero, 0x50              |     a1 = 0x50;
                                                 | label_3:
    0x0002ad38 move a0, v0                       |     a0 = v0;
                                                 |     if (v0 == 0) {
    0x0002ad3c beqz v0, 0x2adc0                  |         goto label_14;
                                                 |     }
    0x0002ad40 lw v0, -0x6e24(gp)                |     v0 = *(gp);
    0x0002ad44 lw t9, (v0)                       |     t9 = *(v0);
    0x0002ad48 jalr t9                           |     t9 ();
    0x0002ad4c nop                               |     
    0x0002ad50 lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 | label_5:
    0x0002ad54 sll a3, s2, 2                     |     a3 = s2 << 2;
                                                 |     if (v0 == 0) {
    0x0002ad58 beqz v0, 0x2adfc                  |         goto label_15;
                                                 |     }
    0x0002ad5c lw v1, 0x48(s0)                   |     v1 = *((s0 + 18));
    0x0002ad60 lw t0, 0x4c(s0)                   |     t0 = *((s0 + 19));
    0x0002ad64 addu a2, a3, s2                   |     a2 = a3 + s2;
    0x0002ad68 sll v1, v1, 1                     |     v1 <<= 1;
    0x0002ad6c sll a2, a2, 2                     |     a2 <<= 2;
    0x0002ad70 sw v0, 0x50(s0)                   |     *((s0 + 20)) = v0;
    0x0002ad74 sw v1, 0x48(s0)                   |     *((s0 + 18)) = v1;
    0x0002ad78 addu a2, v0, a2                   |     a2 = v0 + a2;
    0x0002ad7c addiu t3, t0, 1                   |     t3 = t0 + 1;
                                                 |     if (s2 == t0) {
    0x0002ad80 beq s2, t0, 0x2aca0               |         goto label_0;
                                                 |     }
    0x0002ad84 sltu v1, s2, t0                   |     v1 = (s2 < t0) ? 1 : 0;
    0x0002ad88 sll v1, t0, 2                     |     v1 = t0 << 2;
                                                 |     if (v1 != 0) {
    0x0002ad8c bnez v1, 0x2ac54                  |         goto label_1;
                                                 |     }
    0x0002ad90 lw a3, (s1)                       |     a3 = *(s1);
    0x0002ad94 b 0x2aca4                         |     goto label_2;
                                                 | label_7:
    0x0002ad98 jr ra                             |     return v0;
    0x0002ad9c nop                               |     
                                                 | label_13:
    0x0002ada0 addu a1, v1, a1                   |     a1 = v1 + a1;
    0x0002ada4 sll a1, a1, 3                     |     a1 <<= 3;
    0x0002ada8 b 0x2ad38                         |     goto label_3;
                                                 | label_12:
    0x0002adac addiu v1, zero, 2                 |     v1 = 2;
                                                 |     if (a1 == 0) {
    0x0002adb0 beqz a1, 0x2ad30                  |         goto label_4;
                                                 |     }
    0x0002adb4 sll v0, a1, 2                     |     v0 = a1 << 2;
    0x0002adb8 addu a1, v0, a1                   |     a1 = v0 + a1;
    0x0002adbc sll a1, a1, 3                     |     a1 <<= 3;
                                                 | label_14:
    0x0002adc0 lw v0, -0x716c(gp)                |     v0 = *(gp);
    0x0002adc4 lw t9, (v0)                       |     t9 = *(v0);
    0x0002adc8 move a0, a1                       |     a0 = a1;
    0x0002adcc jalr t9                           |     t9 ();
    0x0002add0 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x0002add4 b 0x2ad54                         |     goto label_5;
                                                 | label_10:
    0x0002add8 lw a1, 4(s1)                      |     a1 = *((s1 + 1));
    0x0002addc lw a0, 8(s1)                      |     a0 = *((s1 + 2));
    0x0002ade0 lw v1, 0xc(s1)                    |     v1 = *((s1 + 3));
    0x0002ade4 lw v0, 0x10(s1)                   |     v0 = *((s1 + 4));
    0x0002ade8 sw a1, 4(a2)                      |     *((a2 + 1)) = a1;
    0x0002adec sw a0, 8(a2)                      |     *((a2 + 2)) = a0;
    0x0002adf0 sw v1, 0xc(a2)                    |     *((a2 + 3)) = v1;
    0x0002adf4 sw v0, 0x10(a2)                   |     *((a2 + 4)) = v0;
    0x0002adf8 b 0x2accc                         |     goto label_6;
                                                 | label_15:
    0x0002adfc lw a1, -0x7fd4(gp)                |     a1 = *(gp);
    0x0002ae00 lw ra, 0x24(sp)                   |     ra = *(var_24h);
    0x0002ae04 lw s2, 0x20(sp)                   |     s2 = *(var_20h);
    0x0002ae08 lw s1, 0x1c(sp)                   |     s1 = *(var_1ch);
    0x0002ae0c move a0, s0                       |     a0 = s0;
    0x0002ae10 lw t9, -0x7ed4(gp)                |     t9 = *((gp - 8117));
    0x0002ae14 lw s0, 0x18(sp)                   |     s0 = *(var_18h);
    0x0002ae18 addiu a1, a1, 0x6cb4              |     a1 += aav.0x00006cb4;
    0x0002ae1c addiu sp, sp, 0x28                |     
    0x0002ae20 b 0x2807c                         |     return void (*0x2807c)() ();
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x284d4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlParserInputShrink ()      | void xmlParserInputShrink () {
    0x000284d4 lui gp, 0x17                  |     
    0x000284d8 addiu gp, gp, -0x6e64         |     
    0x000284dc addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x000284e0 beqz a0, 0x285f0              |         goto label_0;
                                             |     }
    0x000284e4 nop                           |     
    0x000284e8 lw v0, (a0)                   |     v0 = *(a0);
                                             |     if (v0 == 0) {
    0x000284ec beqz v0, 0x285f0              |         goto label_0;
                                             |     }
    0x000284f0 nop                           |     
    0x000284f4 lw v1, 0xc(a0)                |     v1 = *((a0 + 3));
                                             |     if (v1 == 0) {
    0x000284f8 beqz v1, 0x285f0              |         goto label_0;
                                             |     }
    0x000284fc nop                           |     
    0x00028500 addiu sp, sp, -0x28           |     
    0x00028504 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x00028508 lw s1, 0x10(a0)               |     s1 = *((a0 + 4));
    0x0002850c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00028510 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x00028514 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x00028518 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x0002851c lw ra, 0x24(sp)               |     ra = *(var_24h);
                                             |     if (s1 == 0) {
    0x00028520 beqz s1, 0x28570              |         goto label_1;
                                             |     }
    0x00028524 lw v0, 0x10(v0)               |     v0 = *((v0 + 4));
    0x00028528 lw s2, -0x7f48(gp)            |     s2 = *(gp);
                                             |     if (v0 == 0) {
    0x0002852c beqz v0, 0x28570              |         goto label_1;
                                             |     }
    0x00028530 move s0, a0                   |     s0 = a0;
    0x00028534 move t9, s2                   |     t9 = s2;
    0x00028538 move a0, v0                   |     a0 = v0;
    0x0002853c jalr t9                       |     t9 ();
    0x00028540 subu v0, s1, v0               |     __asm ("subu v0, s1, v0");
    0x00028544 sltiu v1, v0, 0xfb            |     v1 = (v0 < 0xfb) ? 1 : 0;
    0x00028548 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0002854c beqz v1, 0x285f8              |     
                                             |     while (1) {
    0x00028550 lw v0, (s0)                   |         v0 = *(s0);
    0x00028554 lw t9, -0x7f4c(gp)            |         t9 = *((gp - 8147));
    0x00028558 lw a0, 0x10(v0)               |         a0 = *((v0 + 4));
    0x0002855c jalr t9                       |         t9 ();
    0x00028560 sltiu v0, v0, 0xfb            |         v0 = (v0 < 0xfb) ? 1 : 0;
    0x00028564 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00028568 bnez v0, 0x28584              |             
    0x0002856c lw ra, 0x24(sp)               |             ra = *(var_24h);
                                             | label_1:
    0x00028570 lw s2, 0x20(sp)               |             s2 = *(var_20h);
    0x00028574 lw s1, 0x1c(sp)               |             s1 = *(var_1ch);
    0x00028578 lw s0, 0x18(sp)               |             s0 = *(var_18h);
    0x0002857c addiu sp, sp, 0x28            |             
    0x00028580 jr ra                         |             return v0;
                                             |         }
    0x00028584 lw t9, -0x7efc(gp)            |         t9 = *((gp - 8127));
    0x00028588 lw a0, (s0)                   |         a0 = *(s0);
    0x0002858c addiu a1, zero, 0x1f4         |         a1 = aav.0x000001f4;
    0x00028590 jalr t9                       |         t9 ();
    0x00028594 lw v0, (s0)                   |         v0 = *(s0);
    0x00028598 move t9, s2                   |         t9 = s2;
    0x0002859c lw a0, 0x10(v0)               |         a0 = *((v0 + 4));
    0x000285a0 jalr t9                       |         t9 ();
    0x000285a4 lw a0, 0xc(s0)                |         a0 = *((s0 + 3));
    0x000285a8 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (a0 != v0) {
    0x000285ac beq a0, v0, 0x285c4           |             
    0x000285b0 lw v1, 0x10(s0)               |             v1 = *((s0 + 4));
    0x000285b4 sw v0, 0xc(s0)                |             *((s0 + 3)) = v0;
    0x000285b8 subu v1, v1, a0               |             __asm ("subu v1, v1, a0");
    0x000285bc addu v0, v0, v1               |             v0 += v1;
    0x000285c0 sw v0, 0x10(s0)               |             *((s0 + 4)) = v0;
                                             |         }
    0x000285c4 lw v0, (s0)                   |         v0 = *(s0);
    0x000285c8 lw t9, -0x7f44(gp)            |         t9 = *((gp - 8145));
    0x000285cc lw a0, 0x10(v0)               |         a0 = *((v0 + 4));
    0x000285d0 jalr t9                       |         t9 ();
    0x000285d4 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x000285d8 sw v0, 0x14(s0)               |         *((s0 + 5)) = v0;
    0x000285dc lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x000285e0 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x000285e4 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x000285e8 addiu sp, sp, 0x28            |         
    0x000285ec jr ra                         |         return v0;
                                             | label_0:
    0x000285f0 jr ra                         |         return v0;
    0x000285f4 nop                           |         
    0x000285f8 lw v1, (s0)                   |         v1 = *(s0);
    0x000285fc lw t9, -0x7f40(gp)            |         t9 = *(gp);
    0x00028600 addiu a1, v0, -0x50           |         a1 = v0 + -0x50;
    0x00028604 lw a0, 0x10(v1)               |         a0 = *((v1 + 4));
    0x00028608 jalr t9                       |         t9 ();
    0x0002860c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x00028610 beqz v0, 0x2862c              |             
    0x00028614 lw a0, 0x10(s0)               |             a0 = *((s0 + 4));
    0x00028618 lw v1, 0x24(s0)               |             v1 = *((s0 + 9));
    0x0002861c subu a0, a0, v0               |             __asm ("subu a0, a0, v0");
    0x00028620 addu v0, v1, v0               |             v0 = v1 + v0;
    0x00028624 sw a0, 0x10(s0)               |             *((s0 + 4)) = a0;
    0x00028628 sw v0, 0x24(s0)               |             *((s0 + 9)) = v0;
                                             |         }
    0x0002862c lw v0, (s0)                   |         v0 = *(s0);
    0x00028630 lw t9, -0x7f44(gp)            |         t9 = *((gp - 8145));
    0x00028634 lw a0, 0x10(v0)               |         a0 = *((v0 + 4));
    0x00028638 jalr t9                       |         t9 ();
    0x0002863c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00028640 sw v0, 0x14(s0)               |         *((s0 + 5)) = v0;
    0x00028644 b 0x28550                     |         
                                             |     }
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x12969c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlPatterncompile ()         | void xmlPatterncompile () {
    0x0012969c lui gp, 6                     |     
    0x001296a0 addiu gp, gp, 0x7fd4          |     
    0x001296a4 addu gp, gp, t9               |     gp += t9;
    0x001296a8 addiu sp, sp, -0x60           |     
    0x001296ac sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x001296b0 sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x001296b4 sw fp, 0x58(sp)               |     *(var_58h) = fp;
    0x001296b8 sw s7, 0x54(sp)               |     *(var_54h) = s7;
    0x001296bc sw s6, 0x50(sp)               |     *(var_50h) = s6;
    0x001296c0 sw s5, 0x4c(sp)               |     *(var_4ch) = s5;
    0x001296c4 sw s4, 0x48(sp)               |     *(var_48h) = s4;
    0x001296c8 sw s3, 0x44(sp)               |     *(var_44h) = s3;
    0x001296cc sw s2, 0x40(sp)               |     *(var_40h) = s2;
    0x001296d0 sw s1, 0x3c(sp)               |     *(var_3ch) = s1;
    0x001296d4 sw s0, 0x38(sp)               |     *(var_38h) = s0;
    0x001296d8 sw a1, 0x64(sp)               |     *(arg_64h) = a1;
    0x001296dc sw a2, 0x68(sp)               |     *(arg_68h) = a2;
    0x001296e0 sw a3, 0x6c(sp)               |     *(arg_6ch) = a3;
                                             |     if (a0 == 0) {
    0x001296e4 beqz a0, 0x12a404             |         goto label_39;
                                             |     }
    0x001296e8 lw v0, -0x7398(gp)            |     v0 = *((gp - 7398));
    0x001296ec lw s1, -0x7fb0(gp)            |     s1 = *((gp - 8172));
    0x001296f0 addiu v0, v0, 0x74e8          |     v0 += 0x74e8;
    0x001296f4 sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x001296f8 lw v0, -0x7398(gp)            |     v0 = *((gp - 7398));
    0x001296fc move s4, a0                   |     s4 = a0;
    0x00129700 addiu v0, v0, 0x76e4          |     v0 += 0x76e4;
    0x00129704 addiu s5, zero, 1             |     s5 = 1;
    0x00129708 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x0012970c move s7, zero                 |     s7 = 0;
    0x00129710 sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x00129714 addiu s1, s1, 0x4070          |     s1 += 0x4070;
                                             | label_3:
    0x00129718 lbu v0, (s4)                  |     v0 = *(s4);
                                             |     if (v0 == 0) {
    0x0012971c beqz v0, 0x129dc4             |         goto label_40;
                                             |     }
    0x00129720 nop                           |     
                                             | label_4:
    0x00129724 addiu a0, zero, 0x7c          |     a0 = 0x7c;
    0x00129728 move s0, s4                   |     s0 = s4;
    0x0012972c addiu v1, zero, 0x7c          |     v1 = 0x7c;
    0x00129730 move a1, zero                 |     a1 = 0;
                                             |     if (v0 != a0) {
    0x00129734 bne v0, a0, 0x129748          |         goto label_41;
                                             |     }
    0x00129738 lw t9, -0x7fc8(gp)            |     t9 = *(gp);
    0x0012973c b 0x129ef4                    |     goto label_42;
                                             |     do {
    0x00129740 subu a1, s0, s4               |         __asm ("subu a1, s0, s4");
                                             |         if (v0 == v1) {
    0x00129744 beq v0, v1, 0x129ef0          |             goto label_43;
                                             |         }
                                             | label_41:
    0x00129748 addiu s0, s0, 1               |         s0++;
    0x0012974c lbu v0, (s0)                  |         v0 = *(s0);
    0x00129750 lw a2, 0x6c(sp)               |         a2 = *(arg_6ch);
    0x00129754 bnez v0, 0x129740             |         
                                             |     } while (v0 != 0);
    0x00129758 lw a1, 0x64(sp)               |     a1 = *(arg_64h);
    0x0012975c lw t9, 0x30(sp)               |     t9 = *(var_30h);
    0x00129760 move a0, s4                   |     a0 = s4;
    0x00129764 jalr t9                       |     t9 ();
    0x00129768 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0012976c move fp, v0                   |     fp = v0;
    0x00129770 move s4, s0                   |     s4 = s0;
    0x00129774 move s6, zero                 |     s6 = 0;
                                             |     if (fp == 0) {
                                             | label_6:
    0x00129778 beqz fp, 0x129a24             |         goto label_44;
                                             |     }
    0x0012977c nop                           |     
    0x00129780 lw s2, -0x716c(gp)            |     s2 = *(gp);
    0x00129784 lw t9, (s2)                   |     t9 = *(s2);
    0x00129788 addiu a0, zero, 0x24          |     a0 = 0x24;
    0x0012978c jalr t9                       |     t9 ();
    0x00129790 move s0, v0                   |     s0 = v0;
    0x00129794 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00129798 beqz v0, 0x129a10             |         goto label_9;
                                             |     }
    0x0012979c lw t9, -0x6ea4(gp)            |     t9 = *((gp - 7081));
    0x001297a0 addiu a2, zero, 0x24          |     a2 = 0x24;
    0x001297a4 move a1, zero                 |     a1 = 0;
    0x001297a8 move a0, v0                   |     a0 = v0;
    0x001297ac jalr t9                       |     t9 ();
    0x001297b0 addiu v0, zero, 0xa           |     v0 = 0xa;
    0x001297b4 lw t9, (s2)                   |     t9 = *(s2);
    0x001297b8 sw v0, 0x18(s0)               |     *((s0 + 6)) = v0;
    0x001297bc addiu a0, zero, 0x78          |     a0 = 0x78;
    0x001297c0 jalr t9                       |     t9 ();
    0x001297c4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x001297c8 sw v0, 0x1c(s0)               |     *((s0 + 7)) = v0;
                                             |     if (v0 == 0) {
    0x001297cc beqz v0, 0x12a49c             |         goto label_45;
                                             |     }
    0x001297d0 lw v0, 0x64(sp)               |     v0 = *(arg_64h);
    0x001297d4 lw t9, -0x7cdc(gp)            |     t9 = *((gp - 7991));
                                             |     if (v0 != 0) {
    0x001297d8 beqz v0, 0x1297ec             |         
    0x001297dc sw v0, 4(s0)                  |         *((s0 + 1)) = v0;
    0x001297e0 move a0, v0                   |         a0 = v0;
    0x001297e4 bal 0x11a9e8                  |         sym_xmlDictReference ();
    0x001297e8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
                                             |     if (s7 != 0) {
    0x001297ec beql s7, zero, 0x129800       |         
    0x001297f0 move s7, s0                   |         s7 = s0;
    0x001297f4 lw v0, 8(s7)                  |         v0 = *((s7 + 2));
    0x001297f8 sw v0, 8(s0)                  |         *((s0 + 2)) = v0;
    0x001297fc sw s0, 8(s7)                  |         *((s7 + 2)) = s0;
                                             |     }
    0x00129800 lw v0, 0x68(sp)               |     v0 = *(arg_68h);
    0x00129804 lw v1, 0x68(sp)               |     v1 = *(arg_68h);
    0x00129808 andi v0, v0, 6                |     v0 &= 6;
    0x0012980c sw v1, 0x10(s0)               |     *((s0 + 4)) = v1;
    0x00129810 lw a0, (fp)                   |     a0 = *(fp);
    0x00129814 sw s0, 0x10(fp)               |     *(arg_10h) = s0;
    0x00129818 addiu a3, zero, 0x20          |     a3 = 0x20;
    0x0012981c addiu a2, zero, 0xd           |     a2 = 0xd;
                                             |     if (v0 == 0) {
    0x00129820 beqz v0, 0x12985c             |         goto label_46;
                                             |     }
                                             |     do {
    0x00129824 lbu a1, (a0)                  |         a1 = *(a0);
    0x00129828 addiu v0, a1, -9              |         v0 = a1 + -9;
    0x0012982c andi v0, v0, 0xff             |         v0 &= 0xff;
                                             |         if (a1 != a3) {
    0x00129830 beq a1, a3, 0x129848          |             
    0x00129834 sltiu v0, v0, 2               |             v0 = (v0 < 2) ? 1 : 0;
    0x00129838 addiu a0, a0, 1               |             a0++;
                                             |             if (v0 == 0) {
    0x0012983c bnel v0, zero, 0x12984c       |                 goto label_47;
                                             |             }
    0x00129840 addiu v0, zero, 0x2f          |             v0 = 0x2f;
                                             |             if (a1 == a2) {
    0x00129844 bnel a1, a2, 0x129904         |                 goto label_48;
                                             |             }
                                             |         }
    0x00129848 addiu a0, a0, 1               |         a0++;
                                             | label_47:
    0x0012984c sw a0, (fp)                   |         *(fp) = a0;
    0x00129850 b 0x129824                    |         
                                             |     } while (1);
                                             |     do {
    0x00129854 addiu a0, a0, 1               |         a0++;
                                             | label_0:
    0x00129858 sw a0, (fp)                   |         *(fp) = a0;
                                             | label_46:
    0x0012985c lbu a1, (a0)                  |         a1 = *(a0);
    0x00129860 addiu v0, a1, -9              |         v0 = a1 + -9;
    0x00129864 andi v0, v0, 0xff             |         v0 &= 0xff;
    0x00129868 beq a1, a3, 0x129854          |         
                                             |     } while (a1 == a3);
    0x0012986c sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x00129870 addiu a0, a0, 1               |     a0++;
                                             |     if (v0 == 0) {
    0x00129874 bnel v0, zero, 0x129858       |         goto label_0;
                                             |     }
                                             |     if (a1 == a2) {
    0x00129878 beql a1, a2, 0x129858         |         goto label_0;
                                             |     }
    0x0012987c addiu a0, a0, 1               |     a0++;
    0x00129880 addiu v0, zero, 0x2f          |     v0 = 0x2f;
    0x00129884 addiu v0, zero, 0x2e          |     v0 = 0x2e;
                                             |     if (a1 == v0) {
    0x00129888 beq a1, v0, 0x12a2c4          |         goto label_49;
                                             |     }
    0x0012988c lw v0, 0x68(sp)               |     v0 = *(arg_68h);
                                             |     if (a1 == v0) {
    0x00129890 beq a1, v0, 0x12a188          |         goto label_50;
                                             |     }
    0x00129894 andi v0, v0, 7                |     v0 &= 7;
    0x00129898 lw v0, 0x68(sp)               |     v0 = *(arg_68h);
                                             |     if (v0 != 0) {
    0x0012989c bnez v0, 0x12a188             |         goto label_50;
                                             |     }
                                             | label_26:
    0x001298a0 addiu v0, zero, 0x40          |     v0 = 0x40;
    0x001298a4 lw v0, -0x7fd4(gp)            |     v0 = *(gp);
                                             |     if (a1 == v0) {
    0x001298a8 bnel a1, v0, 0x129f90         |         goto label_19;
                                             |     }
    0x001298ac lw t9, -0x7fd4(gp)            |     t9 = *(gp);
                                             | label_8:
    0x001298b0 addiu a0, a0, 1               |     a0++;
    0x001298b4 sw a0, (fp)                   |     *(fp) = a0;
    0x001298b8 addiu t9, t9, -0x7984         |     t9 += -0x7984;
    0x001298bc move a0, fp                   |     a0 = fp;
    0x001298c0 bal 0x12867c                  |     fcn_0012867c ();
    0x001298c4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x001298c8 lw a2, (fp)                   |     a2 = *(fp);
    0x001298cc addiu a3, zero, 0x20          |     a3 = 0x20;
    0x001298d0 addiu a1, zero, 0xd           |     a1 = 0xd;
                                             |     do {
    0x001298d4 lbu a0, (a2)                  |         a0 = *(a2);
    0x001298d8 addiu v0, a0, -9              |         v0 = a0 + -9;
    0x001298dc andi v0, v0, 0xff             |         v0 &= 0xff;
                                             |         if (a0 != a3) {
    0x001298e0 beq a0, a3, 0x1298f8          |             
    0x001298e4 sltiu v0, v0, 2               |             v0 = (v0 < 2) ? 1 : 0;
    0x001298e8 addiu a2, a2, 1               |             a2++;
                                             |             if (v0 == 0) {
    0x001298ec bnel v0, zero, 0x1298fc       |                 goto label_51;
                                             |             }
                                             |             if (a0 != a1) {
    0x001298f0 bne a0, a1, 0x129a88          |                 goto label_52;
                                             |             }
    0x001298f4 nop                           |             
                                             |         }
    0x001298f8 addiu a2, a2, 1               |         a2++;
                                             | label_51:
    0x001298fc sw a2, (fp)                   |         *(fp) = a2;
    0x00129900 b 0x1298d4                    |         
                                             |     } while (1);
                                             | label_48:
    0x00129904 lw v0, 0x68(sp)               |     v0 = *(arg_68h);
                                             |     if (a1 == v0) {
    0x00129908 beq a1, v0, 0x129a08          |         goto label_30;
                                             |     }
    0x0012990c ori v0, v0, 0x200             |     v0 |= aav.0x00000200;
    0x00129910 sw v0, 0x10(s0)               |     *((s0 + 4)) = v0;
    0x00129914 lbu a1, (a0)                  |     a1 = *(a0);
    0x00129918 addiu v0, zero, 0x2e          |     v0 = 0x2e;
    0x0012991c addiu a0, a0, 1               |     a0++;
                                             |     if (a1 == v0) {
    0x00129920 beq a1, v0, 0x12a368          |         goto label_53;
                                             |     }
    0x00129924 lw v0, -0x7fd4(gp)            |     v0 = *(gp);
                                             | label_27:
    0x00129928 addiu s2, zero, 0x20          |     s2 = 0x20;
    0x0012992c addiu v0, v0, -0x752c         |     v0 += -aav.0x0000752c;
    0x00129930 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x00129934 addiu s3, zero, 0xd           |     s3 = 0xd;
    0x00129938 lw t9, 0x24(sp)               |     t9 = *(var_24h);
                                             | label_1:
    0x0012993c move a0, fp                   |     a0 = fp;
    0x00129940 jalr t9                       |     t9 ();
    0x00129944 lw v0, 8(fp)                  |     v0 = *(arg_68h);
    0x00129948 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0012994c bnez v0, 0x129a08             |         goto label_30;
                                             |     }
    0x00129950 lw a1, (fp)                   |     a1 = *(fp);
                                             |     do {
    0x00129954 lbu a0, (a1)                  |         a0 = *(a1);
    0x00129958 addiu v0, a0, -9              |         v0 = a0 + -9;
    0x0012995c andi v0, v0, 0xff             |         v0 &= 0xff;
                                             |         if (a0 != s2) {
    0x00129960 beq a0, s2, 0x129978          |             
    0x00129964 sltiu v0, v0, 2               |             v0 = (v0 < 2) ? 1 : 0;
    0x00129968 addiu a1, a1, 1               |             a1++;
                                             |             if (v0 == 0) {
    0x0012996c bnel v0, zero, 0x12997c       |                 goto label_54;
                                             |             }
    0x00129970 addiu v0, zero, 0x2f          |             v0 = 0x2f;
                                             |             if (a0 == s3) {
    0x00129974 bnel a0, s3, 0x129984         |                 goto label_55;
                                             |             }
                                             |         }
    0x00129978 addiu a1, a1, 1               |         a1++;
                                             | label_54:
    0x0012997c sw a1, (fp)                   |         *(fp) = a1;
    0x00129980 b 0x129954                    |         
                                             |     } while (1);
                                             | label_55:
    0x00129984 lw t9, 0x28(sp)               |     t9 = *(var_28h);
                                             |     if (a0 != v0) {
    0x00129988 bne a0, v0, 0x12a0b0          |         goto label_56;
                                             |     }
    0x0012998c lw a0, 0x10(fp)               |     a0 = *(arg_10h);
    0x00129990 move a3, zero                 |     a3 = 0;
    0x00129994 move a2, zero                 |     a2 = 0;
    0x00129998 addiu a1, zero, 5             |     a1 = 5;
    0x0012999c jalr t9                       |     t9 ();
    0x001299a0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x001299a4 bnez v0, 0x129a08             |         goto label_30;
                                             |     }
    0x001299a8 lw a1, (fp)                   |     a1 = *(fp);
    0x001299ac lbu a0, (a1)                  |     a0 = *(a1);
                                             |     if (a0 == 0) {
    0x001299b0 beql a0, zero, 0x1299cc       |         goto label_57;
                                             |     }
    0x001299b4 addiu v0, a0, -9              |     v0 = a0 + -9;
    0x001299b8 addiu v0, a1, 1               |     v0 = a1 + 1;
    0x001299bc sw v0, (fp)                   |     *(fp) = v0;
    0x001299c0 lbu a0, 1(a1)                 |     a0 = *((a1 + 1));
    0x001299c4 move a1, v0                   |     a1 = v0;
                                             |     do {
    0x001299c8 addiu v0, a0, -9              |         v0 = a0 + -9;
                                             | label_57:
    0x001299cc addiu a1, a1, 1               |         a1++;
    0x001299d0 andi v0, v0, 0xff             |         v0 &= 0xff;
                                             |         if (a0 != s2) {
    0x001299d4 beq a0, s2, 0x1299ec          |             
    0x001299d8 sltiu v0, v0, 2               |             v0 = (v0 < 2) ? 1 : 0;
    0x001299dc sw a1, (fp)                   |             *(fp) = a1;
                                             |             if (v0 == 0) {
    0x001299e0 bnel v0, zero, 0x1299f0       |                 goto label_58;
                                             |             }
    0x001299e4 addiu v0, zero, 0x2f          |             v0 = 0x2f;
                                             |             if (a0 == s3) {
    0x001299e8 bnel a0, s3, 0x1299f8         |                 goto label_59;
                                             |             }
                                             |         }
    0x001299ec sw a1, (fp)                   |         *(fp) = a1;
                                             | label_58:
    0x001299f0 lbu a0, (a1)                  |         a0 = *(a1);
    0x001299f4 b 0x1299c8                    |         
                                             |     } while (1);
                                             | label_59:
    0x001299f8 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (a0 == v0) {
    0x001299fc beq a0, v0, 0x129a0c          |         goto label_11;
                                             |     }
    0x00129a00 lw t9, 0x24(sp)               |     t9 = *(var_24h);
                                             |     if (a0 != 0) {
    0x00129a04 bnez a0, 0x12993c             |         goto label_1;
                                             |     }
                                             | label_30:
    0x00129a08 addiu v0, zero, 1             |     v0 = 1;
                                             | label_11:
    0x00129a0c sw v0, 8(fp)                  |     *(arg_68h) = v0;
                                             |     do {
                                             | label_9:
    0x00129a10 lw t9, -0x7398(gp)            |         t9 = *((gp - 7398));
    0x00129a14 addiu t9, t9, 0x76a0          |         t9 += 0x76a0;
    0x00129a18 move a0, fp                   |         a0 = fp;
    0x00129a1c bal 0x1276a0                  |         fcn_001276a0 ();
    0x00129a20 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (s7 != 0) {
                                             | label_44:
    0x00129a24 beqz s7, 0x129a3c             |             
    0x00129a28 nop                           |             
                                             | label_2:
    0x00129a2c lw t9, -0x791c(gp)            |             t9 = *((gp - 7751));
    0x00129a30 move a0, s7                   |             a0 = s7;
    0x00129a34 bal 0x1292d8                  |             sym_xmlFreePattern ();
    0x00129a38 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |         }
    0x00129a3c lw v0, -0x7158(gp)            |         v0 = *(gp);
                                             |         if (s6 == 0) {
    0x00129a40 beqz s6, 0x12a404             |             goto label_39;
                                             |         }
    0x00129a44 move a0, s6                   |         a0 = s6;
    0x00129a48 lw t9, (v0)                   |         t9 = *(v0);
    0x00129a4c move s7, zero                 |         s7 = 0;
    0x00129a50 jalr t9                       |         t9 ();
    0x00129a54 lw ra, 0x5c(sp)               |         ra = *(var_5ch);
    0x00129a58 move v0, s7                   |         v0 = s7;
    0x00129a5c lw fp, 0x58(sp)               |         fp = *(var_58h);
    0x00129a60 lw s7, 0x54(sp)               |         s7 = *(var_54h);
    0x00129a64 lw s6, 0x50(sp)               |         s6 = *(var_50h);
    0x00129a68 lw s5, 0x4c(sp)               |         s5 = *(var_4ch);
    0x00129a6c lw s4, 0x48(sp)               |         s4 = *(var_48h);
    0x00129a70 lw s3, 0x44(sp)               |         s3 = *(var_44h);
    0x00129a74 lw s2, 0x40(sp)               |         s2 = *(var_40h);
    0x00129a78 lw s1, 0x3c(sp)               |         s1 = *(var_3ch);
    0x00129a7c lw s0, 0x38(sp)               |         s0 = *(var_38h);
    0x00129a80 addiu sp, sp, 0x60            |         
    0x00129a84 jr ra                         |         return v0;
                                             | label_52:
    0x00129a88 lw v0, -0x7fd4(gp)            |         v0 = *(gp);
                                             |         if (a0 != 0) {
    0x00129a8c bnez a0, 0x12a558             |             goto label_60;
                                             |         }
                                             | label_7:
    0x00129a90 lw v0, 8(fp)                  |         v0 = *(arg_68h);
                                             | label_31:
    0x00129a94 lw t9, -0x7398(gp)            |         t9 = *((gp - 7398));
    0x00129a98 bnez v0, 0x129a10             |         
                                             |     } while (v0 != 0);
                                             | label_13:
    0x00129a9c addiu t9, t9, 0x76a0          |     t9 += 0x76a0;
    0x00129aa0 move a0, fp                   |     a0 = fp;
    0x00129aa4 bal 0x1276a0                  |     fcn_001276a0 ();
    0x00129aa8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s5 == 0) {
    0x00129aac beqz s5, 0x129cbc             |         goto label_61;
                                             |     }
    0x00129ab0 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00129ab4 lw a0, 0x1c(s0)               |     a0 = *((s0 + 7));
    0x00129ab8 lw t3, 0x14(s0)               |     t3 = *((s0 + 5));
                                             |     if (v0 != 0) {
    0x00129abc bnez v0, 0x12a158             |         goto label_62;
                                             |     }
    0x00129ac0 lw v0, 0x10(s0)               |     v0 = *((s0 + 4));
    0x00129ac4 andi v0, v0, 0x300            |     v0 &= aav.0x00000300;
    0x00129ac8 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
                                             | label_17:
    0x00129acc addiu v0, zero, 1             |     v0 = 1;
                                             |     if (a0 == 0) {
    0x00129ad0 beqz a0, 0x129cc4             |         goto label_18;
                                             |     }
    0x00129ad4 addiu v0, zero, 2             |     v0 = 2;
                                             |     if (t3 == v0) {
    0x00129ad8 bne t3, v0, 0x129ae8          |         
    0x00129adc lw v1, (a0)                   |         v1 = *(a0);
                                             |         if (v1 == v0) {
    0x00129ae0 beql v1, v0, 0x12a4e4         |             goto label_63;
                                             |         }
    0x00129ae4 lw v0, 4(a0)                  |         v0 = *((a0 + 1));
                                             |     }
    0x00129ae8 srl a0, t3, 0x1f              |     a0 = t3 >> 0x1f;
                                             | label_29:
    0x00129aec lw t9, -0x7398(gp)            |     t9 = *((gp - 7398));
    0x00129af0 addu a0, a0, t3               |     a0 += t3;
    0x00129af4 sra a0, a0, 1                 |     a0 >>= 1;
    0x00129af8 addiu t9, t9, 0x75e0          |     t9 += aav.0x000075e0;
    0x00129afc addiu a0, a0, 1               |     a0++;
    0x00129b00 bal 0x1275e0                  |     fcn_001275e0 ();
    0x00129b04 move s2, v0                   |     s2 = v0;
    0x00129b08 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00129b0c beqz v0, 0x129cbc             |         goto label_61;
                                             |     }
    0x00129b10 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x00129b14 lw t9, -0x7cdc(gp)            |     t9 = *((gp - 7991));
                                             |     if (a0 != 0) {
    0x00129b18 beqz a0, 0x129b28             |         
    0x00129b1c sw a0, (v0)                   |         *(v0) = a0;
    0x00129b20 bal 0x11a9e8                  |         sym_xmlDictReference ();
    0x00129b24 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
    0x00129b28 lw v1, 0x10(s0)               |     v1 = *((s0 + 4));
    0x00129b2c andi v0, v1, 0x100            |     v0 = v1 & aav.0x00000100;
                                             |     if (v0 != 0) {
    0x00129b30 beql v0, zero, 0x129b48       |         
    0x00129b34 lw a3, 0x14(s0)               |         a3 = *((s0 + 5));
    0x00129b38 lw v0, 0x10(s2)               |         v0 = *((s2 + 4));
    0x00129b3c ori v0, v0, 0x8000            |         v0 |= 0x8000;
    0x00129b40 sw v0, 0x10(s2)               |         *((s2 + 4)) = v0;
    0x00129b44 lw a3, 0x14(s0)               |         a3 = *((s0 + 5));
                                             |     }
                                             |     if (a3 <= 0) {
    0x00129b48 blezl a3, 0x12a664            |         goto label_64;
                                             |     }
    0x00129b4c lw a0, 4(s2)                  |     a0 = *((s2 + 1));
    0x00129b50 lw s3, -0x7398(gp)            |     s3 = *((gp - 7398));
    0x00129b54 sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x00129b58 move v0, zero                 |     v0 = 0;
    0x00129b5c addiu t1, zero, -1            |     t1 = -1;
    0x00129b60 move t2, zero                 |     t2 = 0;
    0x00129b64 move fp, zero                 |     fp = 0;
    0x00129b68 addiu s3, s3, 0x7430          |     s3 += 0x7430;
                                             |     do {
    0x00129b6c sll v1, fp, 1                 |         v1 = fp << 1;
    0x00129b70 addu v1, v1, fp               |         v1 += fp;
    0x00129b74 lw a0, 0x1c(s0)               |         a0 = *((s0 + 7));
    0x00129b78 sll v1, v1, 2                 |         v1 <<= 2;
    0x00129b7c addu a0, a0, v1               |         a0 += v1;
    0x00129b80 lw v1, (a0)                   |         v1 = *(a0);
    0x00129b84 lw a1, 4(a0)                  |         a1 = *((a0 + 1));
    0x00129b88 sltiu t3, v1, 9               |         t3 = (v1 < 9) ? 1 : 0;
    0x00129b8c lw a2, 8(a0)                  |         a2 = *((a0 + 2));
                                             |         if (t3 == 0) {
    0x00129b90 beqz t3, 0x129e78             |             goto label_65;
                                             |         }
    0x00129b94 sll v1, v1, 2                 |         v1 <<= 2;
    0x00129b98 lwx v1, v1(s1)                |         __asm ("lwx v1, v1(s1)");
    0x00129b9c addu v1, v1, gp               |         v1 += gp;
    0x00129ba0 jr v1                         |         v1 ();
    0x00129ba4 nop                           |         
                                             | label_5:
    0x00129be4 slt v1, fp, a3                |         v1 = (fp < a3) ? 1 : 0;
    0x00129be8 move t3, a3                   |         t3 = a3;
    0x00129bec bnez v1, 0x129b6c             |         
                                             |     } while (v1 != 0);
    0x00129bf0 lw v1, 0x24(sp)               |     v1 = *(var_24h);
    0x00129bf4 lw a0, 4(s2)                  |     a0 = *((s2 + 1));
                                             |     if (v1 != 0) {
    0x00129bf8 bnez v1, 0x12a44c             |         goto label_66;
                                             |     }
    0x00129bfc lw v1, 0x10(s0)               |     v1 = *((s0 + 4));
                                             | label_38:
    0x00129c00 andi v1, v1, 7                |     v1 &= 7;
    0x00129c04 slt a0, v0, a0                |     a0 = (v0 < a0) ? 1 : 0;
                                             |     if (v1 != 0) {
    0x00129c08 bnel v1, zero, 0x129c44       |         
    0x00129c0c lw v1, 0x10(s2)               |         v1 = *((s2 + 4));
    0x00129c10 lui a1, 1                     |         a1 = 0x10000;
    0x00129c14 and a2, v1, a1                |         a2 = v1 & a1;
                                             |         if (a2 == 0) {
    0x00129c18 beql a2, zero, 0x12a588       |             goto label_67;
                                             |         }
    0x00129c1c or v1, v1, a1                 |         v1 |= a1;
                                             | label_32:
    0x00129c20 slt a0, v0, a0                |         a0 = (v0 < a0) ? 1 : 0;
                                             |         if (a0 <= 0) {
    0x00129c24 blez a0, 0x129c44             |             goto label_68;
                                             |         }
    0x00129c28 lw a1, 0xc(s2)                |         a1 = *((s2 + 3));
    0x00129c2c lw v1, (a1)                   |         v1 = *(a1);
    0x00129c30 andi a2, v1, 1                |         a2 = v1 & 1;
                                             |         if (a2 != 0) {
    0x00129c34 bnez a2, 0x129c44             |             goto label_68;
                                             |         }
    0x00129c38 nop                           |         
    0x00129c3c ori v1, v1, 1                 |         v1 |= 1;
    0x00129c40 sw v1, (a1)                   |         *(a1) = v1;
                                             |     }
                                             | label_68:
    0x00129c44 sll v0, v0, 4                 |     v0 <<= 4;
                                             |     if (a0 != 0) {
    0x00129c48 beqz a0, 0x129ca8             |         
    0x00129c4c lw v1, 0xc(s2)                |         v1 = *((s2 + 3));
                                             |         /* aav.0x00030000 */
    0x00129c50 addu v0, v1, v0               |         v0 = v1 + v0;
    0x00129c54 move t3, a3                   |         t3 = a3;
    0x00129c58 lw v1, (v0)                   |         v1 = *(v0);
    0x00129c5c lw a0, 0x1c(s0)               |         a0 = *((s0 + 7));
    0x00129c60 ori v1, v1, 2                 |         v1 |= 2;
    0x00129c64 sw v1, (v0)                   |         *(v0) = v1;
    0x00129c68 sw s2, 0x20(s0)               |         *((s0 + 8)) = s2;
    0x00129c6c b 0x129cc4                    |         
                                             |     } else {
                                             | label_25:
    0x00129ca8 lw t9, -0x7398(gp)            |         t9 = *((gp - 7398));
    0x00129cac addiu t9, t9, 0x78c0          |         t9 += 0x78c0;
    0x00129cb0 move a0, s2                   |         a0 = s2;
    0x00129cb4 bal 0x1278c0                  |         fcn_001278c0 ();
    0x00129cb8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_61:
    0x00129cbc lw a0, 0x1c(s0)               |         a0 = *((s0 + 7));
    0x00129cc0 lw t3, 0x14(s0)               |         t3 = *((s0 + 5));
                                             |     }
                                             | label_18:
    0x00129cc4 addiu v0, zero, 6             |     v0 = 6;
                                             |     if (t3 > 0) {
    0x00129cc8 blez t3, 0x129cd8             |         
    0x00129ccc lw v1, (a0)                   |         v1 = *(a0);
    0x00129cd0 addiu v0, zero, 1             |         v0 = 1;
                                             |         if (v1 == v0) {
    0x00129cd4 beq v1, v0, 0x12a274          |             goto label_69;
                                             |         }
                                             |     }
                                             | label_21:
    0x00129cd8 lw a1, 0x18(s0)               |     a1 = *((s0 + 6));
    0x00129cdc slt v0, t3, a1                |     v0 = (t3 < a1) ? 1 : 0;
    0x00129ce0 addiu a2, t3, -1              |     a2 = t3 + -1;
                                             |     if (v0 != 0) {
    0x00129ce4 bnez v0, 0x129d24             |         goto label_70;
                                             |     }
    0x00129ce8 sll v0, a1, 1                 |     v0 = a1 << 1;
    0x00129cec addu a1, v0, a1               |     a1 = v0 + a1;
    0x00129cf0 lw v0, -0x6e24(gp)            |     v0 = *(gp);
    0x00129cf4 lw t9, (v0)                   |     t9 = *(v0);
    0x00129cf8 sll a1, a1, 3                 |     a1 <<= 3;
    0x00129cfc jalr t9                       |     t9 ();
    0x00129d00 move a0, v0                   |     a0 = v0;
    0x00129d04 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00129d08 beqz v0, 0x129a2c             |         goto label_2;
                                             |     }
    0x00129d0c lw v0, 0x18(s0)               |     v0 = *((s0 + 6));
    0x00129d10 lw t3, 0x14(s0)               |     t3 = *((s0 + 5));
    0x00129d14 sll v0, v0, 1                 |     v0 <<= 1;
    0x00129d18 sw a0, 0x1c(s0)               |     *((s0 + 7)) = a0;
    0x00129d1c sw v0, 0x18(s0)               |     *((s0 + 6)) = v0;
    0x00129d20 addiu a2, t3, -1              |     a2 = t3 + -1;
                                             | label_70:
    0x00129d24 sll v0, t3, 1                 |     v0 = t3 << 1;
                                             |     if (a2 <= 0) {
    0x00129d28 blez a2, 0x129d84             |         goto label_71;
                                             |     }
    0x00129d2c addu v1, v0, t3               |     v1 = v0 + t3;
    0x00129d30 sll v1, v1, 2                 |     v1 <<= 2;
    0x00129d34 move a1, a0                   |     a1 = a0;
    0x00129d38 addu v1, a0, v1               |     v1 = a0 + v1;
                                             |     do {
    0x00129d3c lw t1, -8(v1)                 |         t1 = *((v1 - 2));
    0x00129d40 lw a3, 4(a1)                  |         a3 = *((a1 + 1));
    0x00129d44 sw t1, 4(a1)                  |         *((a1 + 1)) = t1;
    0x00129d48 lw t4, -4(v1)                 |         t4 = *((v1 - 1));
    0x00129d4c lw t0, (a1)                   |         t0 = *(a1);
    0x00129d50 sw a3, -8(v1)                 |         *((v1 - 2)) = a3;
    0x00129d54 lw t2, 8(a1)                  |         t2 = *((a1 + 2));
    0x00129d58 lw t1, -0xc(v1)               |         t1 = *((v1 - 3));
    0x00129d5c subu a3, t3, a2               |         __asm ("subu a3, t3, a2");
    0x00129d60 sw t4, 8(a1)                  |         *((a1 + 2)) = t4;
    0x00129d64 addiu v1, v1, -0xc            |         v1 += -0xc;
    0x00129d68 addiu a2, a2, -1              |         a2 += -1;
    0x00129d6c addiu a1, a1, 0xc             |         a1 += 0xc;
    0x00129d70 slt a3, a3, a2                |         a3 = (a3 < a2) ? 1 : 0;
    0x00129d74 sw t2, 8(v1)                  |         *((v1 + 2)) = t2;
    0x00129d78 sw t1, -0xc(a1)               |         *((a1 - 3)) = t1;
    0x00129d7c sw t0, (v1)                   |         *(v1) = t0;
    0x00129d80 bnez a3, 0x129d3c             |         
                                             |     } while (a3 != 0);
                                             | label_71:
    0x00129d84 addu v0, v0, t3               |     v0 += t3;
    0x00129d88 sll v0, v0, 2                 |     v0 <<= 2;
    0x00129d8c addu v0, a0, v0               |     v0 = a0 + v0;
    0x00129d90 addiu t3, t3, 1               |     t3++;
    0x00129d94 sw zero, 4(v0)                |     *((v0 + 1)) = 0;
    0x00129d98 sw zero, 8(v0)                |     *((v0 + 2)) = 0;
    0x00129d9c sw t3, 0x14(s0)               |     *((s0 + 5)) = t3;
    0x00129da0 sw zero, (v0)                 |     *(v0) = 0;
                                             |     if (s6 == 0) {
    0x00129da4 beqz s6, 0x129718             |         goto label_3;
                                             |     }
    0x00129da8 lw v0, -0x7158(gp)            |     v0 = *(gp);
    0x00129dac lw t9, (v0)                   |     t9 = *(v0);
    0x00129db0 move a0, s6                   |     a0 = s6;
    0x00129db4 jalr t9                       |     t9 ();
    0x00129db8 lbu v0, (s4)                  |     v0 = *(s4);
    0x00129dbc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00129dc0 bnez v0, 0x129724             |         goto label_4;
                                             |     }
                                             | label_40:
    0x00129dc4 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
                                             |     if (s5 != 0) {
    0x00129dc8 bnez s5, 0x12a40c             |         goto label_72;
                                             |     }
    0x00129dcc lw s1, -0x7398(gp)            |     s1 = *((gp - 7398));
                                             |     if (s7 == 0) {
    0x00129dd0 beqz s7, 0x12a404             |         goto label_39;
                                             |     }
    0x00129dd4 move s0, s7                   |     s0 = s7;
    0x00129dd8 addiu s1, s1, 0x78c0          |     s1 += 0x78c0;
    0x00129ddc lw a0, 0x20(s0)               |     a0 = *((s0 + 8));
                                             |     do {
    0x00129de0 move t9, s1                   |         t9 = s1;
                                             |         if (a0 != 0) {
    0x00129de4 beqz a0, 0x129df4             |             
    0x00129de8 bal 0x1278c0                  |             fcn_001278c0 ();
    0x00129dec nop                           |             
    0x00129df0 sw zero, 0x20(s0)             |             *((s0 + 8)) = 0;
                                             |         }
    0x00129df4 lw s0, 8(s0)                  |         s0 = *((s0 + 2));
    0x00129df8 lw a0, 0x20(s0)               |         a0 = *((s0 + 8));
    0x00129dfc bnel s0, zero, 0x129de0       |         
                                             |     } while (s0 == 0);
    0x00129e00 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x00129e04 b 0x12a40c                    |     goto label_72;
                                             | label_65:
    0x00129e78 addiu fp, fp, 1               |     fp++;
    0x00129e7c b 0x129be4                    |     goto label_5;
                                             | label_43:
    0x00129ef0 lw t9, -0x7fc8(gp)            |     t9 = *(gp);
                                             | label_42:
    0x00129ef4 move a0, s4                   |     a0 = s4;
    0x00129ef8 jalr t9                       |     t9 ();
    0x00129efc move s6, v0                   |     s6 = v0;
    0x00129f00 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00129f04 beqz v0, 0x12a3f4             |         goto label_73;
                                             |     }
    0x00129f08 lw a2, 0x6c(sp)               |     a2 = *(arg_6ch);
    0x00129f0c lw a1, 0x64(sp)               |     a1 = *(arg_64h);
    0x00129f10 lw t9, 0x30(sp)               |     t9 = *(var_30h);
    0x00129f14 move a0, s6                   |     a0 = s6;
    0x00129f18 jalr t9                       |     t9 ();
    0x00129f1c move fp, v0                   |     fp = v0;
    0x00129f20 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00129f24 addiu s4, s0, 1               |     s4 = s0 + 1;
    0x00129f28 b 0x129778                    |     goto label_6;
                                             | label_23:
    0x00129f2c move a3, zero                 |     a3 = 0;
    0x00129f30 move a2, zero                 |     a2 = 0;
    0x00129f34 addiu a1, zero, 6             |     a1 = 6;
    0x00129f38 move a0, s0                   |     a0 = s0;
    0x00129f3c jalr t9                       |     t9 ();
    0x00129f40 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00129f44 bnez v0, 0x129a90             |         goto label_7;
                                             |     }
    0x00129f48 lw v0, (fp)                   |     v0 = *(fp);
    0x00129f4c lbu a0, (v0)                  |     a0 = *(v0);
                                             |     if (a0 == 0) {
    0x00129f50 beql a0, zero, 0x129f90       |         goto label_19;
                                             |     }
    0x00129f54 lw v0, -0x7fd4(gp)            |     v0 = *(gp);
    0x00129f58 addiu a0, v0, 1               |     a0 = v0 + 1;
    0x00129f5c sw a0, (fp)                   |     *(fp) = a0;
    0x00129f60 lbu a0, 1(v0)                 |     a0 = *((v0 + 1));
    0x00129f64 addiu a0, v0, 2               |     a0 = v0 + 2;
                                             |     if (a0 == 0) {
    0x00129f68 beqz a0, 0x129f8c             |         goto label_74;
                                             |     }
    0x00129f6c sw a0, (fp)                   |     *(fp) = a0;
    0x00129f70 lbu a1, 2(v0)                 |     a1 = *((v0 + 2));
    0x00129f74 addiu v0, zero, 0x40          |     v0 = 0x40;
                                             | label_37:
    0x00129f78 lw t9, -0x7fd4(gp)            |     t9 = *(gp);
                                             |     if (a1 == v0) {
    0x00129f7c beq a1, v0, 0x1298b0          |         goto label_8;
                                             |     }
    0x00129f80 addiu v0, zero, 0x2f          |     v0 = 0x2f;
                                             |     if (a1 == v0) {
    0x00129f84 beql a1, v0, 0x12a2f0         |         goto label_75;
                                             |     }
    0x00129f88 lw a0, 0x10(fp)               |     a0 = *(arg_10h);
                                             | label_74:
    0x00129f8c lw v0, -0x7fd4(gp)            |     v0 = *(gp);
                                             | label_19:
    0x00129f90 move a0, fp                   |     a0 = fp;
    0x00129f94 addiu t9, v0, -0x752c         |     t9 = v0 + -aav.0x0000752c;
    0x00129f98 sw t9, 0x24(sp)               |     *(var_24h) = t9;
    0x00129f9c bal 0x128ad4                  |     fcn_00128ad4 ();
    0x00129fa0 lw v0, 8(fp)                  |     v0 = *(arg_68h);
    0x00129fa4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00129fa8 bnez v0, 0x129a10             |         goto label_9;
                                             |     }
    0x00129fac lw a1, (fp)                   |     a1 = *(fp);
    0x00129fb0 addiu a3, zero, 0x20          |     a3 = 0x20;
    0x00129fb4 addiu a2, zero, 0xd           |     a2 = 0xd;
                                             |     do {
    0x00129fb8 lbu a0, (a1)                  |         a0 = *(a1);
    0x00129fbc addiu v0, a0, -9              |         v0 = a0 + -9;
    0x00129fc0 andi v0, v0, 0xff             |         v0 &= 0xff;
                                             |         if (a0 != a3) {
    0x00129fc4 beq a0, a3, 0x129fdc          |             
    0x00129fc8 sltiu v0, v0, 2               |             v0 = (v0 < 2) ? 1 : 0;
    0x00129fcc addiu a1, a1, 1               |             a1++;
                                             |             if (v0 == 0) {
    0x00129fd0 bnel v0, zero, 0x129fe0       |                 goto label_76;
                                             |             }
    0x00129fd4 addiu s3, zero, 0x2f          |             s3 = 0x2f;
                                             |             if (a0 != a2) {
    0x00129fd8 bne a0, a2, 0x129fe8          |                 goto label_77;
                                             |             }
                                             |         }
    0x00129fdc addiu a1, a1, 1               |         a1++;
                                             | label_76:
    0x00129fe0 sw a1, (fp)                   |         *(fp) = a1;
    0x00129fe4 b 0x129fb8                    |         
                                             |     } while (1);
                                             | label_77:
    0x00129fe8 addiu s2, zero, 0xd           |     s2 = 0xd;
                                             |     if (a0 != s3) {
    0x00129fec bne a0, s3, 0x12a0b0          |         goto label_56;
                                             |     }
    0x00129ff0 lbu v0, 1(a1)                 |     v0 = *((a1 + 1));
                                             | label_12:
    0x00129ff4 lw a0, 0x10(fp)               |     a0 = *(arg_10h);
    0x00129ff8 move a3, zero                 |     a3 = 0;
    0x00129ffc move a2, zero                 |     a2 = 0;
                                             |     if (v0 == s3) {
    0x0012a000 beq v0, s3, 0x12a0c0          |         goto label_78;
                                             |     }
    0x0012a004 lw t9, 0x28(sp)               |     t9 = *(var_28h);
    0x0012a008 addiu a1, zero, 5             |     a1 = 5;
    0x0012a00c jalr t9                       |     t9 ();
    0x0012a010 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0012a014 bnez v0, 0x129a90             |         goto label_7;
                                             |     }
    0x0012a018 lw a1, (fp)                   |     a1 = *(fp);
    0x0012a01c lbu a0, (a1)                  |     a0 = *(a1);
                                             |     if (a0 != 0) {
    0x0012a020 beql a0, zero, 0x12a03c       |         
    0x0012a024 addiu v0, a0, -9              |         v0 = a0 + -9;
    0x0012a028 addiu v0, a1, 1               |         v0 = a1 + 1;
    0x0012a02c sw v0, (fp)                   |         *(fp) = v0;
    0x0012a030 lbu a0, 1(a1)                 |         a0 = *((a1 + 1));
    0x0012a034 move a1, v0                   |         a1 = v0;
    0x0012a038 addiu v0, a0, -9              |         v0 = a0 + -9;
                                             |     }
    0x0012a03c addiu a2, zero, 0x20          |     a2 = 0x20;
    0x0012a040 addiu a1, a1, 1               |     a1++;
    0x0012a044 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x0012a048 beq a0, a2, 0x12a060          |     
                                             |     while (a0 != a2) {
    0x0012a04c sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
    0x0012a050 sw a1, (fp)                   |         *(fp) = a1;
                                             |         if (v0 != 0) {
    0x0012a054 bnel v0, zero, 0x12a064       |             
                                             |             if (a0 != s2) {
    0x0012a058 bne a0, s2, 0x12a080          |                 goto label_79;
                                             |             }
    0x0012a05c nop                           |             
    0x0012a060 sw a1, (fp)                   |             *(fp) = a1;
                                             |         }
                                             | label_10:
    0x0012a064 lbu a0, (a1)                  |         a0 = *(a1);
    0x0012a068 addiu a1, a1, 1               |         a1++;
    0x0012a06c addiu v0, a0, -9              |         v0 = a0 + -9;
    0x0012a070 andi v0, v0, 0xff             |         v0 &= 0xff;
    0x0012a074 bne a0, a2, 0x12a04c          |         
                                             |     }
    0x0012a078 sw a1, (fp)                   |     *(fp) = a1;
    0x0012a07c b 0x12a064                    |     goto label_10;
                                             | label_79:
    0x0012a080 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (a0 == 0) {
    0x0012a084 beqz a0, 0x129a0c             |         goto label_11;
                                             |     }
    0x0012a088 lw t9, 0x24(sp)               |     t9 = *(var_24h);
                                             | label_14:
    0x0012a08c move a0, fp                   |     a0 = fp;
    0x0012a090 jalr t9                       |     t9 ();
    0x0012a094 lw v0, 8(fp)                  |     v0 = *(arg_68h);
    0x0012a098 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0012a09c bnez v0, 0x129a10             |         goto label_9;
                                             |     }
    0x0012a0a0 lw a1, (fp)                   |     a1 = *(fp);
    0x0012a0a4 lbu a0, (a1)                  |     a0 = *(a1);
                                             |     if (a0 == s3) {
    0x0012a0a8 beql a0, s3, 0x129ff4         |         goto label_12;
                                             |     }
    0x0012a0ac lbu v0, 1(a1)                 |     v0 = *((a1 + 1));
                                             | label_56:
    0x0012a0b0 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (a0 != 0) {
    0x0012a0b4 bnez a0, 0x129a0c             |         goto label_11;
                                             |     }
    0x0012a0b8 lw t9, -0x7398(gp)            |     t9 = *((gp - 7398));
    0x0012a0bc b 0x129a9c                    |     goto label_13;
                                             | label_78:
    0x0012a0c0 lw t9, 0x28(sp)               |     t9 = *(var_28h);
    0x0012a0c4 addiu a1, zero, 6             |     a1 = 6;
    0x0012a0c8 jalr t9                       |     t9 ();
    0x0012a0cc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0012a0d0 bnez v0, 0x129a90             |         goto label_7;
                                             |     }
    0x0012a0d4 lw a1, (fp)                   |     a1 = *(fp);
    0x0012a0d8 lbu a0, (a1)                  |     a0 = *(a1);
    0x0012a0dc addiu v0, a0, -9              |     v0 = a0 + -9;
                                             |     if (a0 != 0) {
    0x0012a0e0 beqz a0, 0x12a10c             |         
    0x0012a0e4 addiu v0, a1, 1               |         v0 = a1 + 1;
    0x0012a0e8 sw v0, (fp)                   |         *(fp) = v0;
    0x0012a0ec lbu a0, 1(a1)                 |         a0 = *((a1 + 1));
                                             |         if (a0 != 0) {
    0x0012a0f0 beql a0, zero, 0x12a108       |             
    0x0012a0f4 move a1, v0                   |             a1 = v0;
    0x0012a0f8 addiu v0, a1, 2               |             v0 = a1 + 2;
    0x0012a0fc sw v0, (fp)                   |             *(fp) = v0;
    0x0012a100 lbu a0, 2(a1)                 |             a0 = *((a1 + 2));
    0x0012a104 move a1, v0                   |             a1 = v0;
                                             |         }
    0x0012a108 addiu v0, a0, -9              |         v0 = a0 + -9;
                                             |     }
    0x0012a10c addiu a2, zero, 0x20          |     a2 = 0x20;
    0x0012a110 addiu a1, a1, 1               |     a1++;
    0x0012a114 andi v0, v0, 0xff             |     v0 &= 0xff;
                                             |     if (a0 == a2) {
    0x0012a118 beq a0, a2, 0x12a130          |         goto label_80;
                                             |     }
                                             | label_15:
    0x0012a11c sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x0012a120 sw a1, (fp)                   |     *(fp) = a1;
                                             |     if (v0 == 0) {
    0x0012a124 bnel v0, zero, 0x12a134       |         goto label_16;
                                             |     }
    0x0012a128 lw t9, 0x24(sp)               |     t9 = *(var_24h);
                                             |     if (a0 != s2) {
    0x0012a12c bne a0, s2, 0x12a08c          |         goto label_14;
                                             |     }
                                             | label_80:
    0x0012a130 sw a1, (fp)                   |     *(fp) = a1;
                                             | label_16:
    0x0012a134 lbu a0, (a1)                  |     a0 = *(a1);
    0x0012a138 addiu a1, a1, 1               |     a1++;
    0x0012a13c addiu v0, a0, -9              |     v0 = a0 + -9;
    0x0012a140 andi v0, v0, 0xff             |     v0 &= 0xff;
                                             |     if (a0 != a2) {
    0x0012a144 bne a0, a2, 0x12a11c          |         goto label_15;
                                             |     }
    0x0012a148 sw a1, (fp)                   |     *(fp) = a1;
    0x0012a14c b 0x12a134                    |     goto label_16;
                                             | label_62:
    0x0012a158 lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x0012a15c addiu v0, zero, 0x100         |     v0 = aav.0x00000100;
    0x0012a160 addiu v0, zero, 0x200         |     v0 = aav.0x00000200;
                                             |     if (v1 == v0) {
    0x0012a164 beq v1, v0, 0x12a484          |         goto label_81;
                                             |     }
                                             |     if (v1 != v0) {
    0x0012a168 bne v1, v0, 0x129acc          |         goto label_17;
                                             |     }
    0x0012a16c nop                           |     
    0x0012a170 lw v0, 0x10(s0)               |     v0 = *((s0 + 4));
    0x0012a174 andi v0, v0, 0x100            |     v0 &= aav.0x00000100;
                                             |     if (v0 == 0) {
    0x0012a178 beqz v0, 0x129acc             |         goto label_17;
                                             |     }
    0x0012a17c nop                           |     
    0x0012a180 move s5, zero                 |     s5 = 0;
    0x0012a184 b 0x129cc4                    |     goto label_18;
                                             | label_50:
    0x0012a188 addiu a1, zero, 0x2f          |     a1 = 0x2f;
    0x0012a18c ori v0, v0, 0x200             |     v0 |= aav.0x00000200;
    0x0012a190 sw v0, 0x10(s0)               |     *((s0 + 4)) = v0;
    0x0012a194 lbu v0, (a0)                  |     v0 = *(a0);
                                             |     if (v0 == a1) {
    0x0012a198 beql v0, a1, 0x12a2e4         |         goto label_82;
                                             |     }
    0x0012a19c lbu a0, 1(a0)                 |     a0 = *((a0 + 1));
    0x0012a1a0 addiu a2, zero, 0x2e          |     a2 = 0x2e;
                                             | label_22:
    0x0012a1a4 lw a0, (fp)                   |     a0 = *(fp);
                                             |     if (v0 == a2) {
    0x0012a1a8 bnel v0, a2, 0x12a4b4         |         goto label_83;
                                             |     }
    0x0012a1ac lbu v0, 1(a0)                 |     v0 = *((a0 + 1));
    0x0012a1b0 lw v0, -0x7fd4(gp)            |     v0 = *(gp);
                                             |     if (v0 == a1) {
    0x0012a1b4 bnel v0, a1, 0x129f90         |         goto label_19;
                                             |     }
    0x0012a1b8 lbu a0, 2(a0)                 |     a0 = *((a0 + 2));
    0x0012a1bc lw v0, -0x7fd4(gp)            |     v0 = *(gp);
                                             |     if (a0 != v0) {
    0x0012a1c0 bne a0, v0, 0x129f90          |         goto label_19;
                                             |     }
    0x0012a1c4 lw t9, 0x28(sp)               |     t9 = *(var_28h);
    0x0012a1c8 move a3, zero                 |     a3 = 0;
    0x0012a1cc move a2, zero                 |     a2 = 0;
    0x0012a1d0 addiu a1, zero, 6             |     a1 = 6;
    0x0012a1d4 move a0, s0                   |     a0 = s0;
    0x0012a1d8 jalr t9                       |     t9 ();
    0x0012a1dc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0012a1e0 bnez v0, 0x129a90             |         goto label_7;
                                             |     }
    0x0012a1e4 lw a0, (fp)                   |     a0 = *(fp);
    0x0012a1e8 lbu v0, (a0)                  |     v0 = *(a0);
    0x0012a1ec move a1, zero                 |     a1 = 0;
                                             |     if (v0 != 0) {
    0x0012a1f0 beqz v0, 0x12a22c             |         
    0x0012a1f4 addiu v0, a0, 1               |         v0 = a0 + 1;
    0x0012a1f8 sw v0, (fp)                   |         *(fp) = v0;
    0x0012a1fc lbu a1, 1(a0)                 |         a1 = *((a0 + 1));
                                             |         if (a1 == 0) {
    0x0012a200 beql a1, zero, 0x12a64c       |             goto label_84;
                                             |         }
    0x0012a204 move a0, v0                   |         a0 = v0;
    0x0012a208 addiu v0, a0, 2               |         v0 = a0 + 2;
    0x0012a20c sw v0, (fp)                   |         *(fp) = v0;
    0x0012a210 lbu a1, 2(a0)                 |         a1 = *((a0 + 2));
                                             |         if (a1 == 0) {
    0x0012a214 beql a1, zero, 0x12a22c       |             goto label_36;
                                             |         }
    0x0012a218 move a0, v0                   |         a0 = v0;
    0x0012a21c addiu v0, a0, 3               |         v0 = a0 + 3;
    0x0012a220 sw v0, (fp)                   |         *(fp) = v0;
    0x0012a224 lbu a1, 3(a0)                 |         a1 = *((a0 + 3));
    0x0012a228 move a0, v0                   |         a0 = v0;
                                             |     }
                                             | label_36:
    0x0012a22c addiu v0, a1, -9              |     v0 = a1 + -9;
    0x0012a230 addiu a3, zero, 0x20          |     a3 = 0x20;
    0x0012a234 addiu a2, zero, 0xd           |     a2 = 0xd;
    0x0012a238 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x0012a23c beq a1, a3, 0x12a254          |     
                                             |     while (a1 != a3) {
    0x0012a240 sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
    0x0012a244 addiu a0, a0, 1               |         a0++;
                                             |         if (v0 != 0) {
    0x0012a248 bnel v0, zero, 0x12a258       |             
                                             |             if (a1 != a2) {
    0x0012a24c bne a1, a2, 0x12a654          |                 goto label_85;
                                             |             }
    0x0012a250 nop                           |             
    0x0012a254 addiu a0, a0, 1               |             a0++;
                                             |         }
                                             | label_20:
    0x0012a258 sw a0, (fp)                   |         *(fp) = a0;
    0x0012a25c lbu a1, (a0)                  |         a1 = *(a0);
    0x0012a260 addiu v0, a1, -9              |         v0 = a1 + -9;
    0x0012a264 andi v0, v0, 0xff             |         v0 &= 0xff;
    0x0012a268 bne a1, a3, 0x12a240          |         
                                             |     }
    0x0012a26c addiu a0, a0, 1               |     a0++;
    0x0012a270 b 0x12a258                    |     goto label_20;
                                             |     if (t3 == v0) {
                                             | label_69:
    0x0012a274 beql t3, v0, 0x12a2bc         |         goto label_86;
                                             |     }
    0x0012a278 addiu t3, t3, -1              |     t3 += -1;
    0x0012a27c sll a3, t3, 1                 |     a3 = t3 << 1;
    0x0012a280 addu a3, a3, t3               |     a3 += t3;
    0x0012a284 sll v0, a3, 2                 |     v0 = a3 << 2;
    0x0012a288 addiu a3, a0, -0xc            |     a3 = a0 + -0xc;
    0x0012a28c move v1, a0                   |     v1 = a0;
    0x0012a290 addu a3, v0, a3               |     a3 = v0 + a3;
    0x0012a294 lw a2, 0x10(v1)               |     a2 = *((v1 + 4));
                                             |     do {
    0x0012a298 lw a1, 0x14(v1)               |         a1 = *((v1 + 5));
    0x0012a29c lw v0, 0xc(v1)                |         v0 = *((v1 + 3));
    0x0012a2a0 sw a2, 4(v1)                  |         *((v1 + 1)) = a2;
    0x0012a2a4 sw a1, 8(v1)                  |         *((v1 + 2)) = a1;
    0x0012a2a8 sw v0, (v1)                   |         *(v1) = v0;
    0x0012a2ac addiu v1, v1, 0xc             |         v1 += 0xc;
    0x0012a2b0 lw a2, 0x10(v1)               |         a2 = *((v1 + 4));
    0x0012a2b4 bnel v1, a3, 0x12a298         |         
                                             |     } while (v1 == a3);
    0x0012a2b8 addiu t3, t3, -1              |     t3 += -1;
                                             | label_86:
    0x0012a2bc sw t3, 0x14(s0)               |     *((s0 + 5)) = t3;
    0x0012a2c0 b 0x129cd8                    |     goto label_21;
                                             | label_49:
    0x0012a2c4 lw v0, 0x68(sp)               |     v0 = *(arg_68h);
    0x0012a2c8 addiu a1, zero, 0x2f          |     a1 = 0x2f;
    0x0012a2cc ori v0, v0, 0x100             |     v0 |= aav.0x00000100;
    0x0012a2d0 sw v0, 0x10(s0)               |     *((s0 + 4)) = v0;
    0x0012a2d4 lbu v0, (a0)                  |     v0 = *(a0);
    0x0012a2d8 addiu a2, zero, 0x2e          |     a2 = 0x2e;
                                             |     if (v0 != a1) {
    0x0012a2dc bne v0, a1, 0x12a1a4          |         goto label_22;
                                             |     }
    0x0012a2e0 lbu a0, 1(a0)                 |     a0 = *((a0 + 1));
                                             | label_82:
    0x0012a2e4 lw t9, 0x28(sp)               |     t9 = *(var_28h);
                                             |     if (a0 == v0) {
    0x0012a2e8 beq a0, v0, 0x129f2c          |         goto label_23;
                                             |     }
    0x0012a2ec lw a0, 0x10(fp)               |     a0 = *(arg_10h);
                                             | label_75:
    0x0012a2f0 lw t9, 0x28(sp)               |     t9 = *(var_28h);
    0x0012a2f4 move a3, zero                 |     a3 = 0;
    0x0012a2f8 move a2, zero                 |     a2 = 0;
    0x0012a2fc addiu a1, zero, 1             |     a1 = 1;
    0x0012a300 jalr t9                       |     t9 ();
    0x0012a304 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0012a308 bnez v0, 0x129a90             |         goto label_7;
                                             |     }
    0x0012a30c lw a2, (fp)                   |     a2 = *(fp);
    0x0012a310 lbu a0, (a2)                  |     a0 = *(a2);
    0x0012a314 addiu v0, a2, 1               |     v0 = a2 + 1;
                                             |     if (a0 == 0) {
    0x0012a318 bnel a0, zero, 0x12a4d4       |         goto label_87;
                                             |     }
                                             | label_28:
    0x0012a31c addiu v0, a0, -9              |     v0 = a0 + -9;
    0x0012a320 addiu a3, zero, 0x20          |     a3 = 0x20;
    0x0012a324 addiu a2, a2, 1               |     a2++;
    0x0012a328 addiu a1, zero, 0xd           |     a1 = 0xd;
    0x0012a32c andi v0, v0, 0xff             |     v0 &= 0xff;
    0x0012a330 beq a0, a3, 0x12a348          |     
                                             |     while (a0 != a3) {
    0x0012a334 sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
    0x0012a338 sw a2, (fp)                   |         *(fp) = a2;
                                             |         if (v0 != 0) {
    0x0012a33c bnel v0, zero, 0x12a34c       |             
                                             |             if (a0 != a1) {
    0x0012a340 bne a0, a1, 0x12a43c          |                 goto label_88;
                                             |             }
    0x0012a344 nop                           |             
    0x0012a348 sw a2, (fp)                   |             *(fp) = a2;
                                             |         }
                                             | label_24:
    0x0012a34c lbu a0, (a2)                  |         a0 = *(a2);
    0x0012a350 addiu a2, a2, 1               |         a2++;
    0x0012a354 addiu v0, a0, -9              |         v0 = a0 + -9;
    0x0012a358 andi v0, v0, 0xff             |         v0 &= 0xff;
    0x0012a35c bne a0, a3, 0x12a334          |         
                                             |     }
    0x0012a360 sw a2, (fp)                   |     *(fp) = a2;
    0x0012a364 b 0x12a34c                    |     goto label_24;
                                             | label_53:
    0x0012a368 sw a0, (fp)                   |     *(fp) = a0;
    0x0012a36c addiu a3, zero, 0x20          |     a3 = 0x20;
    0x0012a370 addiu a2, zero, 0xd           |     a2 = 0xd;
                                             |     do {
    0x0012a374 lbu a1, (a0)                  |         a1 = *(a0);
    0x0012a378 addiu v0, a1, -9              |         v0 = a1 + -9;
    0x0012a37c andi v0, v0, 0xff             |         v0 &= 0xff;
                                             |         if (a1 != a3) {
    0x0012a380 beq a1, a3, 0x12a398          |             
    0x0012a384 sltiu v0, v0, 2               |             v0 = (v0 < 2) ? 1 : 0;
    0x0012a388 addiu a0, a0, 1               |             a0++;
                                             |             if (v0 == 0) {
    0x0012a38c bnel v0, zero, 0x12a39c       |                 goto label_89;
                                             |             }
                                             |             if (a1 != a2) {
    0x0012a390 bne a1, a2, 0x12a3a4          |                 goto label_90;
                                             |             }
    0x0012a394 nop                           |             
                                             |         }
    0x0012a398 addiu a0, a0, 1               |         a0++;
                                             | label_89:
    0x0012a39c sw a0, (fp)                   |         *(fp) = a0;
    0x0012a3a0 b 0x12a374                    |         
                                             |     } while (1);
                                             | label_90:
    0x0012a3a4 addiu v0, zero, 0x2f          |     v0 = 0x2f;
                                             |     if (a1 == 0) {
    0x0012a3a8 beqz a1, 0x12a530             |         goto label_91;
                                             |     }
    0x0012a3ac addiu v0, zero, 1             |     v0 = 1;
                                             |     if (a1 == v0) {
    0x0012a3b0 bnel a1, v0, 0x129a0c         |         goto label_11;
                                             |     }
    0x0012a3b4 addiu a0, a0, 1               |     a0++;
    0x0012a3b8 sw a0, (fp)                   |     *(fp) = a0;
    0x0012a3bc addiu a3, zero, 0x20          |     a3 = 0x20;
    0x0012a3c0 addiu a2, zero, 0xd           |     a2 = 0xd;
                                             |     do {
    0x0012a3c4 lbu a1, (a0)                  |         a1 = *(a0);
    0x0012a3c8 addiu v0, a1, -9              |         v0 = a1 + -9;
    0x0012a3cc andi v0, v0, 0xff             |         v0 &= 0xff;
                                             |         if (a1 != a3) {
    0x0012a3d0 beq a1, a3, 0x12a3e8          |             
    0x0012a3d4 sltiu v0, v0, 2               |             v0 = (v0 < 2) ? 1 : 0;
    0x0012a3d8 addiu a0, a0, 1               |             a0++;
                                             |             if (v0 == 0) {
    0x0012a3dc bnel v0, zero, 0x12a3ec       |                 goto label_92;
                                             |             }
    0x0012a3e0 addiu v0, zero, 0x2f          |             v0 = 0x2f;
                                             |             if (a1 == a2) {
    0x0012a3e4 bnel a1, a2, 0x12a4bc         |                 goto label_93;
                                             |             }
                                             |         }
    0x0012a3e8 addiu a0, a0, 1               |         a0++;
                                             | label_92:
    0x0012a3ec sw a0, (fp)                   |         *(fp) = a0;
    0x0012a3f0 b 0x12a3c4                    |         
                                             |     } while (1);
                                             | label_73:
    0x0012a3f4 lw t9, -0x791c(gp)            |     t9 = *((gp - 7751));
                                             |     if (s7 != 0) {
    0x0012a3f8 beqz s7, 0x12a404             |         
    0x0012a3fc move a0, s7                   |         a0 = s7;
    0x0012a400 bal 0x1292d8                  |         sym_xmlFreePattern ();
                                             |     }
                                             | label_39:
    0x0012a404 move s7, zero                 |     s7 = 0;
    0x0012a408 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
                                             | label_72:
    0x0012a40c move v0, s7                   |     v0 = s7;
    0x0012a410 lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x0012a414 lw s7, 0x54(sp)               |     s7 = *(var_54h);
    0x0012a418 lw s6, 0x50(sp)               |     s6 = *(var_50h);
    0x0012a41c lw s5, 0x4c(sp)               |     s5 = *(var_4ch);
    0x0012a420 lw s4, 0x48(sp)               |     s4 = *(var_48h);
    0x0012a424 lw s3, 0x44(sp)               |     s3 = *(var_44h);
    0x0012a428 lw s2, 0x40(sp)               |     s2 = *(var_40h);
    0x0012a42c lw s1, 0x3c(sp)               |     s1 = *(var_3ch);
    0x0012a430 lw s0, 0x38(sp)               |     s0 = *(var_38h);
    0x0012a434 addiu sp, sp, 0x60            |     
    0x0012a438 jr ra                         |     return v0;
                                             | label_88:
    0x0012a43c lw v0, -0x7fd4(gp)            |     v0 = *(gp);
                                             |     if (a0 == 0) {
    0x0012a440 bnel a0, zero, 0x129f90       |         goto label_19;
                                             |     }
    0x0012a444 addiu v0, zero, 1             |     v0 = 1;
    0x0012a448 b 0x129a0c                    |     goto label_11;
                                             | label_66:
    0x0012a44c slt a0, v0, a0                |     a0 = (v0 < a0) ? 1 : 0;
    0x0012a450 sll v0, v0, 4                 |     v0 <<= 4;
                                             |     if (a0 == 0) {
    0x0012a454 beqz a0, 0x129ca8             |         goto label_25;
                                             |     }
    0x0012a458 lw v1, 0xc(s2)                |     v1 = *((s2 + 3));
                                             |     /* aav.0x00030000 */
    0x0012a45c addu v0, v1, v0               |     v0 = v1 + v0;
    0x0012a460 lw a0, (v0)                   |     a0 = *(v0);
    0x0012a464 ori a0, a0, 2                 |     a0 |= 2;
    0x0012a468 sw a0, (v0)                   |     *(v0) = a0;
    0x0012a46c lw v0, (v1)                   |     v0 = *(v1);
    0x0012a470 lw a0, 0x1c(s0)               |     a0 = *((s0 + 7));
    0x0012a474 ori v0, v0, 4                 |     v0 |= 4;
    0x0012a478 sw v0, (v1)                   |     *(v1) = v0;
    0x0012a47c sw s2, 0x20(s0)               |     *((s0 + 8)) = s2;
    0x0012a480 b 0x129cc4                    |     goto label_18;
                                             | label_81:
    0x0012a484 lw v0, 0x10(s0)               |     v0 = *((s0 + 4));
    0x0012a488 andi v0, v0, 0x200            |     v0 &= aav.0x00000200;
                                             |     if (v0 == 0) {
    0x0012a48c beqz v0, 0x129acc             |         goto label_17;
                                             |     }
    0x0012a490 nop                           |     
    0x0012a494 move s5, zero                 |     s5 = 0;
    0x0012a498 b 0x129cc4                    |     goto label_18;
                                             | label_45:
    0x0012a49c lw v0, -0x7158(gp)            |     v0 = *(gp);
    0x0012a4a0 lw t9, (v0)                   |     t9 = *(v0);
    0x0012a4a4 move a0, s0                   |     a0 = s0;
    0x0012a4a8 jalr t9                       |     t9 ();
    0x0012a4ac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0012a4b0 b 0x129a10                    |     goto label_9;
                                             | label_83:
    0x0012a4b4 lbu a1, (a0)                  |     a1 = *(a0);
    0x0012a4b8 b 0x1298a0                    |     goto label_26;
                                             |     if (a1 == v0) {
                                             | label_93:
    0x0012a4bc beql a1, v0, 0x12a598         |         goto label_94;
                                             |     }
    0x0012a4c0 lbu v0, -1(a0)                |     v0 = *((a0 - 1));
                                             | label_33:
    0x0012a4c4 lw v0, -0x7fd4(gp)            |     v0 = *(gp);
                                             |     if (a1 == 0) {
    0x0012a4c8 bnel a1, zero, 0x129928       |         goto label_27;
                                             |     }
    0x0012a4cc addiu v0, zero, 1             |     v0 = 1;
    0x0012a4d0 b 0x129a0c                    |     goto label_11;
                                             | label_87:
    0x0012a4d4 sw v0, (fp)                   |     *(fp) = v0;
    0x0012a4d8 lbu a0, 1(a2)                 |     a0 = *((a2 + 1));
    0x0012a4dc move a2, v0                   |     a2 = v0;
    0x0012a4e0 b 0x12a31c                    |     goto label_28;
                                             | label_63:
    0x0012a4e4 srl a0, t3, 0x1f              |     a0 = t3 >> 0x1f;
                                             |     if (v0 == 0) {
    0x0012a4e8 bnel v0, zero, 0x129aec       |         goto label_29;
                                             |     }
    0x0012a4ec lw v0, 8(a0)                  |     v0 = *((a0 + 2));
    0x0012a4f0 srl a0, t3, 0x1f              |     a0 = t3 >> 0x1f;
                                             |     if (v0 != 0) {
    0x0012a4f4 bnez v0, 0x129aec             |         goto label_29;
                                             |     }
    0x0012a4f8 lw t9, -0x7398(gp)            |     t9 = *((gp - 7398));
    0x0012a4fc addiu t9, t9, 0x75e0          |     t9 += aav.0x000075e0;
    0x0012a500 move a0, zero                 |     a0 = 0;
    0x0012a504 bal 0x1275e0                  |     fcn_001275e0 ();
    0x0012a508 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0012a50c beqz v0, 0x12a66c             |         goto label_95;
                                             |     }
    0x0012a510 lw v1, 0x10(v0)               |     v1 = *((v0 + 4));
    0x0012a514 lw a0, 0x1c(s0)               |     a0 = *((s0 + 7));
    0x0012a518 ori v1, v1, 0x4000            |     v1 |= aav.0x00004000;
    0x0012a51c sw v1, 0x10(v0)               |     *((v0 + 4)) = v1;
    0x0012a520 addiu s5, zero, 1             |     s5 = 1;
    0x0012a524 sw v0, 0x20(s0)               |     *((s0 + 8)) = v0;
    0x0012a528 lw t3, 0x14(s0)               |     t3 = *((s0 + 5));
    0x0012a52c b 0x129cc4                    |     goto label_18;
                                             | label_91:
    0x0012a530 lw t9, 0x28(sp)               |     t9 = *(var_28h);
    0x0012a534 move a3, zero                 |     a3 = 0;
    0x0012a538 move a2, zero                 |     a2 = 0;
    0x0012a53c addiu a1, zero, 2             |     a1 = 2;
    0x0012a540 move a0, s0                   |     a0 = s0;
    0x0012a544 jalr t9                       |     t9 ();
    0x0012a548 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0012a54c bnez v0, 0x129a08             |         goto label_30;
                                             |     }
    0x0012a550 lw v0, 8(fp)                  |     v0 = *(arg_68h);
    0x0012a554 b 0x129a94                    |     goto label_31;
                                             | label_60:
    0x0012a558 addiu t9, v0, -0x752c         |     t9 = v0 + -aav.0x0000752c;
    0x0012a55c move a0, fp                   |     a0 = fp;
    0x0012a560 bal 0x128ad4                  |     fcn_00128ad4 ();
    0x0012a564 lw v0, 8(fp)                  |     v0 = *(arg_68h);
    0x0012a568 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0012a56c bnez v0, 0x129a10             |         goto label_9;
                                             |     }
    0x0012a570 lw v0, (fp)                   |     v0 = *(fp);
    0x0012a574 lbu v0, (v0)                  |     v0 = *(v0);
    0x0012a578 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v0 != 0) {
    0x0012a57c bnez v0, 0x129a0c             |         goto label_11;
                                             |     }
    0x0012a580 lw t9, -0x7398(gp)            |     t9 = *((gp - 7398));
    0x0012a584 b 0x129a9c                    |     goto label_13;
                                             | label_67:
    0x0012a588 sw v1, 0x10(s2)               |     *((s2 + 4)) = v1;
    0x0012a58c b 0x129c20                    |     goto label_32;
                                             | label_94:
    0x0012a598 addiu v0, v0, -9              |     v0 += -9;
    0x0012a59c andi a0, v0, 0xff             |     a0 = v0 & 0xff;
    0x0012a5a0 sltiu v0, a0, 0x18            |     v0 = (a0 < 0x18) ? 1 : 0;
    0x0012a5a4 lw t9, 0x28(sp)               |     t9 = *(var_28h);
                                             |     if (v0 == 0) {
    0x0012a5a8 beqz v0, 0x12a5c8             |         goto label_96;
                                             |     }
    0x0012a5ac lui v0, 0x80                  |     v0 = 0x800013;
    0x0012a5b0 addiu v0, v0, 0x13            |     
    0x0012a5b4 srlv v0, v0, a0               |     v0 >>= a0;
    0x0012a5b8 ext v0, v0, 0, 1              |     __asm ("ext v0, v0, 0, 1");
    0x0012a5bc addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v0 != 0) {
    0x0012a5c0 bnez v0, 0x129a0c             |         goto label_11;
                                             |     }
    0x0012a5c4 lw t9, 0x28(sp)               |     t9 = *(var_28h);
                                             | label_96:
    0x0012a5c8 move a3, zero                 |     a3 = 0;
    0x0012a5cc move a2, zero                 |     a2 = 0;
    0x0012a5d0 addiu a1, zero, 6             |     a1 = 6;
    0x0012a5d4 move a0, s0                   |     a0 = s0;
    0x0012a5d8 jalr t9                       |     t9 ();
    0x0012a5dc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0012a5e0 bnez v0, 0x129a08             |         goto label_30;
                                             |     }
    0x0012a5e4 lw v0, (fp)                   |     v0 = *(fp);
    0x0012a5e8 lbu a1, (v0)                  |     a1 = *(v0);
    0x0012a5ec addiu a0, v0, 1               |     a0 = v0 + 1;
                                             |     if (a1 != 0) {
    0x0012a5f0 beqz a1, 0x12a604             |         
    0x0012a5f4 sw a0, (fp)                   |         *(fp) = a0;
    0x0012a5f8 lbu a1, 1(v0)                 |         a1 = *((v0 + 1));
    0x0012a5fc move v0, a0                   |         v0 = a0;
    0x0012a600 addiu a0, v0, 1               |         a0 = v0 + 1;
                                             |     }
    0x0012a604 addiu a3, zero, 0x20          |     a3 = 0x20;
    0x0012a608 addiu v0, a1, -9              |     v0 = a1 + -9;
    0x0012a60c addiu a2, zero, 0xd           |     a2 = 0xd;
    0x0012a610 andi v0, v0, 0xff             |     v0 &= 0xff;
                                             |     if (a1 == a3) {
    0x0012a614 beq a1, a3, 0x12a62c          |         goto label_97;
                                             |     }
                                             | label_34:
    0x0012a618 sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x0012a61c sw a0, (fp)                   |     *(fp) = a0;
                                             |     if (v0 == 0) {
    0x0012a620 bnel v0, zero, 0x12a630       |         goto label_35;
                                             |     }
                                             |     if (a1 != a2) {
    0x0012a624 bne a1, a2, 0x12a4c4          |         goto label_33;
                                             |     }
    0x0012a628 nop                           |     
                                             | label_97:
    0x0012a62c sw a0, (fp)                   |     *(fp) = a0;
                                             | label_35:
    0x0012a630 lbu a1, (a0)                  |     a1 = *(a0);
    0x0012a634 addiu a0, a0, 1               |     a0++;
    0x0012a638 addiu v0, a1, -9              |     v0 = a1 + -9;
    0x0012a63c andi v0, v0, 0xff             |     v0 &= 0xff;
                                             |     if (a1 != a3) {
    0x0012a640 bne a1, a3, 0x12a618          |         goto label_34;
                                             |     }
    0x0012a644 sw a0, (fp)                   |     *(fp) = a0;
    0x0012a648 b 0x12a630                    |     goto label_35;
                                             | label_84:
    0x0012a64c move a1, zero                 |     a1 = 0;
    0x0012a650 b 0x12a22c                    |     goto label_36;
                                             | label_85:
    0x0012a654 addiu v0, zero, 0x40          |     v0 = 0x40;
                                             |     if (a1 == 0) {
    0x0012a658 bnel a1, zero, 0x129f78       |         goto label_37;
                                             |     }
    0x0012a65c addiu v0, zero, 1             |     v0 = 1;
    0x0012a660 b 0x129a0c                    |     goto label_11;
                                             | label_64:
    0x0012a664 move v0, zero                 |     v0 = 0;
    0x0012a668 b 0x129c00                    |     goto label_38;
                                             | label_95:
    0x0012a66c lw a0, 0x1c(s0)               |     a0 = *((s0 + 7));
    0x0012a670 addiu s5, zero, 1             |     s5 = 1;
    0x0012a674 lw t3, 0x14(s0)               |     t3 = *((s0 + 5));
    0x0012a678 b 0x129cc4                    |     goto label_18;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x1063ec */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlReaderForIO ()            | void xmlReaderForIO () {
    0x001063ec lui gp, 9                     |     
    0x001063f0 addiu gp, gp, -0x4d7c         |     
    0x001063f4 addu gp, gp, t9               |     gp += t9;
    0x001063f8 addiu sp, sp, -0x38           |     
    0x001063fc sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00106400 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00106404 sw s3, 0x30(sp)               |     *(var_30h) = s3;
    0x00106408 sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x0010640c sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00106410 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x00106414 lw t9, -0x7d18(gp)            |     t9 = *((gp - 8006));
                                             |     if (a0 == 0) {
    0x00106418 beqz a0, 0x1064a4             |         goto label_2;
                                             |     }
    0x0010641c move s1, a3                   |     s1 = a3;
    0x00106420 move a3, zero                 |     a3 = 0;
    0x00106424 move s0, a1                   |     s0 = a1;
    0x00106428 move s2, a2                   |     s2 = a2;
    0x0010642c jalr t9                       |     t9 ();
    0x00106430 move s3, v0                   |     s3 = v0;
    0x00106434 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00106438 beqz v0, 0x1064c8             |         goto label_3;
                                             |     }
    0x0010643c lw t9, -0x73f8(gp)            |     t9 = *(gp);
    0x00106440 move a1, s1                   |     a1 = s1;
    0x00106444 move a0, v0                   |     a0 = v0;
    0x00106448 bal 0x1016c4                  |     sym_xmlNewTextReader ();
    0x0010644c move s0, v0                   |     s0 = v0;
    0x00106450 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00106454 beqz v0, 0x1064e0             |         goto label_4;
                                             |     }
    0x00106458 lw v0, 0xc(v0)                |     v0 = *((v0 + 3));
    0x0010645c lw a3, 0x48(sp)               |     a3 = *(arg_48h);
    0x00106460 ori v0, v0, 1                 |     v0 |= 1;
    0x00106464 sw v0, 0xc(s0)                |     *((s0 + 3)) = v0;
    0x00106468 lw v0, 0x4c(sp)               |     v0 = *(arg_4ch);
    0x0010646c lw t9, -0x73c0(gp)            |     t9 = *((gp - 7408));
    0x00106470 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00106474 move a2, s1                   |     a2 = s1;
    0x00106478 move a1, zero                 |     a1 = 0;
    0x0010647c move a0, s0                   |     a0 = s0;
    0x00106480 bal 0x105a2c                  |     sym_xmlTextReaderSetup ();
                                             | label_0:
    0x00106484 lw ra, 0x34(sp)               |     ra = *(var_34h);
                                             | label_1:
    0x00106488 move v0, s0                   |     v0 = s0;
    0x0010648c lw s3, 0x30(sp)               |     s3 = *(var_30h);
    0x00106490 lw s2, 0x2c(sp)               |     s2 = *(var_2ch);
    0x00106494 lw s1, 0x28(sp)               |     s1 = *(var_28h);
    0x00106498 lw s0, 0x24(sp)               |     s0 = *(var_24h);
    0x0010649c addiu sp, sp, 0x38            |     
    0x001064a0 jr ra                         |     return v0;
                                             |     do {
                                             | label_2:
    0x001064a4 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x001064a8 move s0, zero                 |         s0 = 0;
    0x001064ac move v0, s0                   |         v0 = s0;
    0x001064b0 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x001064b4 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x001064b8 lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x001064bc lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x001064c0 addiu sp, sp, 0x38            |         
    0x001064c4 jr ra                         |         return v0;
                                             | label_3:
    0x001064c8 move t9, s0                   |         t9 = s0;
    0x001064cc beqz s0, 0x1064a4             |         
                                             |     } while (s0 == 0);
    0x001064d0 move a0, s2                   |     a0 = s2;
    0x001064d4 jalr t9                       |     t9 ();
    0x001064d8 move s0, zero                 |     s0 = 0;
    0x001064dc b 0x106484                    |     goto label_0;
                                             | label_4:
    0x001064e0 lw t9, -0x7ee8(gp)            |     t9 = *(gp);
    0x001064e4 move a0, s3                   |     a0 = s3;
    0x001064e8 jalr t9                       |     t9 ();
    0x001064ec lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x001064f0 b 0x106488                    |     goto label_1;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xc3ec0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlRegFreeRegexp ()          | void xmlRegFreeRegexp () {
    0x000c3ec0 lui gp, 0xd                   |     
    0x000c3ec4 addiu gp, gp, -0x2850         |     
    0x000c3ec8 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x000c3ecc beqz a0, 0xc4094              |         goto label_0;
                                             |     }
    0x000c3ed0 nop                           |     
    0x000c3ed4 addiu sp, sp, -0x30           |     
    0x000c3ed8 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000c3edc move s0, a0                   |     s0 = a0;
    0x000c3ee0 lw a0, (a0)                   |     a0 = *(a0);
    0x000c3ee4 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000c3ee8 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x000c3eec sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x000c3ef0 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x000c3ef4 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x000c3ef8 lw s2, -0x7158(gp)            |     s2 = *(gp);
                                             |     if (a0 != 0) {
    0x000c3efc beqz a0, 0xc3f10              |         
    0x000c3f00 lw t9, (s2)                   |         t9 = *(s2);
    0x000c3f04 jalr t9                       |         t9 ();
    0x000c3f08 nop                           |         
    0x000c3f0c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |     }
    0x000c3f10 lw a0, 8(s0)                  |     a0 = *((s0 + 2));
                                             |     if (a0 == 0) {
    0x000c3f14 beql a0, zero, 0xc3f6c        |         goto label_1;
                                             |     }
    0x000c3f18 lw v1, 0x10(s0)               |     v1 = *((s0 + 4));
    0x000c3f1c lw v0, 4(s0)                  |     v0 = *((s0 + 1));
                                             |     if (v0 <= 0) {
    0x000c3f20 blezl v0, 0xc3f5c             |         goto label_2;
                                             |     }
    0x000c3f24 lw t9, (s2)                   |     t9 = *(s2);
    0x000c3f28 lw s3, -0x7614(gp)            |     s3 = *((gp - 7557));
    0x000c3f2c move s1, zero                 |     s1 = 0;
    0x000c3f30 addiu s3, s3, -0x4c00         |     s3 += -0x4c00;
                                             |     do {
    0x000c3f34 sll v0, s1, 2                 |         v0 = s1 << 2;
    0x000c3f38 move t9, s3                   |         t9 = s3;
    0x000c3f3c lwx a0, v0(a0)                |         __asm ("lwx a0, v0(a0)");
    0x000c3f40 addiu s1, s1, 1               |         s1++;
    0x000c3f44 bal 0xbb400                   |         fcn_000bb400 ();
    0x000c3f48 lw v0, 4(s0)                  |         v0 = *((s0 + 1));
    0x000c3f4c slt v0, s1, v0                |         v0 = (s1 < v0) ? 1 : 0;
    0x000c3f50 lw a0, 8(s0)                  |         a0 = *((s0 + 2));
    0x000c3f54 bnez v0, 0xc3f34              |         
                                             |     } while (v0 != 0);
    0x000c3f58 lw t9, (s2)                   |     t9 = *(s2);
                                             | label_2:
    0x000c3f5c jalr t9                       |     t9 ();
    0x000c3f60 nop                           |     
    0x000c3f64 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000c3f68 lw v1, 0x10(s0)               |     v1 = *((s0 + 4));
                                             |     if (v1 == 0) {
                                             | label_1:
    0x000c3f6c beql v1, zero, 0xc3fd4        |         goto label_3;
                                             |     }
    0x000c3f70 lw a0, 0x18(s0)               |     a0 = *((s0 + 6));
    0x000c3f74 lw a1, 0xc(s0)                |     a1 = *((s0 + 3));
                                             |     if (a1 <= 0) {
    0x000c3f78 blezl a1, 0xc3fc4             |         goto label_4;
                                             |     }
    0x000c3f7c lw t9, (s2)                   |     t9 = *(s2);
    0x000c3f80 lw s3, -0x7614(gp)            |     s3 = *((gp - 7557));
    0x000c3f84 move s1, zero                 |     s1 = 0;
    0x000c3f88 addiu s3, s3, -0x27c4         |     s3 += -0x27c4;
    0x000c3f8c sll v0, s1, 2                 |     v0 = s1 << 2;
                                             |     do {
    0x000c3f90 addiu s1, s1, 1               |         s1++;
    0x000c3f94 lwx v0, v0(v1)                |         __asm ("lwx v0, v0(v1)");
    0x000c3f98 move a0, v0                   |         a0 = v0;
                                             |         if (v0 != 0) {
    0x000c3f9c beqz v0, 0xc3fb4              |             
    0x000c3fa0 move t9, s3                   |             t9 = s3;
    0x000c3fa4 bal 0xbd83c                   |             fcn_000bd83c ();
    0x000c3fa8 nop                           |             
    0x000c3fac lw a1, 0xc(s0)                |             a1 = *((s0 + 3));
    0x000c3fb0 lw v1, 0x10(s0)               |             v1 = *((s0 + 4));
                                             |         }
    0x000c3fb4 slt v0, s1, a1                |         v0 = (s1 < a1) ? 1 : 0;
    0x000c3fb8 sll v0, s1, 2                 |         v0 = s1 << 2;
    0x000c3fbc bnez v0, 0xc3f90              |         
                                             |     } while (v0 != 0);
    0x000c3fc0 lw t9, (s2)                   |     t9 = *(s2);
                                             | label_4:
    0x000c3fc4 move a0, v1                   |     a0 = v1;
    0x000c3fc8 jalr t9                       |     t9 ();
    0x000c3fcc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000c3fd0 lw a0, 0x18(s0)               |     a0 = *((s0 + 6));
                                             | label_3:
    0x000c3fd4 lw t9, (s2)                   |     t9 = *(s2);
                                             |     if (a0 != 0) {
    0x000c3fd8 beqz a0, 0xc3fec              |         
    0x000c3fdc jalr t9                       |         t9 ();
    0x000c3fe0 nop                           |         
    0x000c3fe4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000c3fe8 lw t9, (s2)                   |         t9 = *(s2);
                                             |     }
    0x000c3fec lw a0, 0x28(s0)               |     a0 = *((s0 + 10));
                                             |     if (a0 != 0) {
    0x000c3ff0 beql a0, zero, 0xc400c        |         
    0x000c3ff4 lw a0, 0x2c(s0)               |         a0 = *((s0 + 11));
    0x000c3ff8 jalr t9                       |         t9 ();
    0x000c3ffc nop                           |         
    0x000c4000 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000c4004 lw t9, (s2)                   |         t9 = *(s2);
    0x000c4008 lw a0, 0x2c(s0)               |         a0 = *((s0 + 11));
                                             |     }
                                             |     if (a0 != 0) {
    0x000c400c beql a0, zero, 0xc4028        |         
    0x000c4010 lw a0, 0x34(s0)               |         a0 = *((s0 + 13));
    0x000c4014 jalr t9                       |         t9 ();
    0x000c4018 nop                           |         
    0x000c401c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000c4020 lw t9, (s2)                   |         t9 = *(s2);
    0x000c4024 lw a0, 0x34(s0)               |         a0 = *((s0 + 13));
                                             |     }
    0x000c4028 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             |     if (a0 == 0) {
    0x000c402c beqz a0, 0xc4078              |         goto label_5;
                                             |     }
    0x000c4030 lw v0, 0x30(s0)               |     v0 = *((s0 + 12));
                                             |     if (v0 <= 0) {
    0x000c4034 blez v0, 0xc4064              |         goto label_6;
                                             |     }
    0x000c4038 nop                           |     
    0x000c403c move s1, zero                 |     s1 = 0;
                                             |     do {
    0x000c4040 sll v0, s1, 2                 |         v0 = s1 << 2;
    0x000c4044 addiu s1, s1, 1               |         s1++;
    0x000c4048 lwx a0, v0(a0)                |         __asm ("lwx a0, v0(a0)");
    0x000c404c jalr t9                       |         t9 ();
    0x000c4050 lw v0, 0x30(s0)               |         v0 = *((s0 + 12));
    0x000c4054 lw t9, (s2)                   |         t9 = *(s2);
    0x000c4058 slt v0, s1, v0                |         v0 = (s1 < v0) ? 1 : 0;
    0x000c405c lw a0, 0x34(s0)               |         a0 = *((s0 + 13));
    0x000c4060 bnez v0, 0xc4040              |         
                                             |     } while (v0 != 0);
                                             | label_6:
    0x000c4064 jalr t9                       |     t9 ();
    0x000c4068 nop                           |     
    0x000c406c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000c4070 lw t9, (s2)                   |     t9 = *(s2);
    0x000c4074 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             | label_5:
    0x000c4078 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x000c407c lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x000c4080 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x000c4084 move a0, s0                   |     a0 = s0;
    0x000c4088 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x000c408c addiu sp, sp, 0x30            |     
    0x000c4090 jr t9                         |     t9 ();
                                             | label_0:
    0x000c4094 jr ra                         |     return v0;
    0x000c4098 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 @ 0xc2ca4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlRegexpPrint ()            | void xmlRegexpPrint () {
    0x000c2ca4 lui gp, 0xd                   |     
    0x000c2ca8 addiu gp, gp, -0x1634         |     
    0x000c2cac addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x000c2cb0 beqz a0, 0xc35e0              |         goto label_5;
                                             |     }
    0x000c2cb4 nop                           |     
    0x000c2cb8 addiu sp, sp, -0x60           |     
    0x000c2cbc move a3, a0                   |     a3 = a0;
    0x000c2cc0 sw s0, 0x38(sp)               |     *(var_38h) = s0;
    0x000c2cc4 move s0, a0                   |     s0 = a0;
    0x000c2cc8 lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x000c2ccc lw t9, -0x7048(gp)            |     t9 = *(gp);
    0x000c2cd0 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x000c2cd4 sw s3, 0x44(sp)               |     *(var_44h) = s3;
    0x000c2cd8 sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x000c2cdc sw fp, 0x58(sp)               |     *(var_58h) = fp;
    0x000c2ce0 sw s7, 0x54(sp)               |     *(var_54h) = s7;
    0x000c2ce4 sw s6, 0x50(sp)               |     *(var_50h) = s6;
    0x000c2ce8 sw s5, 0x4c(sp)               |     *(var_4ch) = s5;
    0x000c2cec sw s4, 0x48(sp)               |     *(var_48h) = s4;
    0x000c2cf0 sw s2, 0x40(sp)               |     *(var_40h) = s2;
    0x000c2cf4 sw s1, 0x3c(sp)               |     *(var_3ch) = s1;
    0x000c2cf8 move s3, a1                   |     s3 = a1;
    0x000c2cfc addiu a2, zero, 9             |     a2 = 9;
    0x000c2d00 addiu a1, zero, 1             |     a1 = 1;
    0x000c2d04 addiu a0, a0, 0x4d3c          |     a0 += 0x4d3c;
    0x000c2d08 jalr t9                       |     t9 ();
    0x000c2d0c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s3 == 0) {
    0x000c2d10 beqz s3, 0xc35e8              |         goto label_6;
                                             |     }
    0x000c2d14 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x000c2d18 lw t9, -0x6e30(gp)            |     t9 = *((gp - 7052));
    0x000c2d1c lw a3, (s3)                   |     a3 = *(s3);
    0x000c2d20 addiu a2, v0, 0x5788          |     a2 = v0 + 0x5788;
    0x000c2d24 addiu a1, zero, 1             |     a1 = 1;
    0x000c2d28 move a0, s0                   |     a0 = s0;
    0x000c2d2c sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x000c2d30 jalr t9                       |     t9 ();
    0x000c2d34 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000c2d38 move a1, s0                   |     a1 = s0;
    0x000c2d3c lw t9, -0x7088(gp)            |     t9 = *(gp);
    0x000c2d40 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x000c2d44 jalr t9                       |     t9 ();
    0x000c2d48 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000c2d4c lw a3, 0xc(s3)                |     a3 = *((s3 + 3));
    0x000c2d50 addiu a1, zero, 1             |     a1 = 1;
    0x000c2d54 lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
    0x000c2d58 lw t9, -0x6e30(gp)            |     t9 = *((gp - 7052));
    0x000c2d5c addiu a2, a2, 0x4d50          |     a2 += 0x4d50;
    0x000c2d60 move a0, s0                   |     a0 = s0;
    0x000c2d64 jalr t9                       |     t9 ();
    0x000c2d68 lw v0, 0xc(s3)                |     v0 = *((s3 + 3));
    0x000c2d6c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 <= 0) {
    0x000c2d70 blez v0, 0xc2ef4              |         goto label_7;
                                             |     }
    0x000c2d74 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x000c2d78 lw s4, -0x7614(gp)            |     s4 = *((gp - 7557));
    0x000c2d7c sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x000c2d80 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x000c2d84 lw s6, -0x7f94(gp)            |     s6 = *((gp - 8165));
    0x000c2d88 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x000c2d8c lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x000c2d90 move s1, zero                 |     s1 = 0;
    0x000c2d94 sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x000c2d98 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x000c2d9c addiu s4, s4, -0x38a8         |     s4 += -aav.0x000038a8;
    0x000c2da0 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x000c2da4 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x000c2da8 addiu s6, s6, 0x4dd0          |     s6 += aav.0x00004dd0;
    0x000c2dac addiu v0, v0, 0x4ddc          |     v0 += 0x4ddc;
    0x000c2db0 sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x000c2db4 lw v0, 0x20(sp)               |     v0 = *(var_20h);
                                             |     do {
    0x000c2db8 lw t9, -0x6e30(gp)            |         t9 = *((gp - 7052));
    0x000c2dbc move a3, s1                   |         a3 = s1;
    0x000c2dc0 addiu a2, v0, 0x4d68          |         a2 = v0 + 0x4d68;
    0x000c2dc4 addiu a1, zero, 1             |         a1 = 1;
    0x000c2dc8 move a0, s0                   |         a0 = s0;
    0x000c2dcc jalr t9                       |         t9 ();
    0x000c2dd0 lw v0, 0x10(s3)               |         v0 = *((s3 + 4));
    0x000c2dd4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000c2dd8 sll v1, s1, 2                 |         v1 = s1 << 2;
    0x000c2ddc move a3, s0                   |         a3 = s0;
    0x000c2de0 lwx s7, v1(v0)                |         __asm ("lwx s7, v1(v0)");
    0x000c2de4 lw v0, 0x24(sp)               |         v0 = *(var_24h);
    0x000c2de8 lw t9, -0x7048(gp)            |         t9 = *(gp);
    0x000c2dec addiu a2, zero, 7             |         a2 = 7;
    0x000c2df0 addiu a1, zero, 1             |         a1 = 1;
    0x000c2df4 addiu a0, v0, 0x4d70          |         a0 = v0 + 0x4d70;
    0x000c2df8 jalr t9                       |         t9 ();
    0x000c2dfc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (s7 == 0) {
    0x000c2e00 beqz s7, 0xc3584              |             goto label_8;
                                             |         }
    0x000c2e04 lw v0, 0x1c(s7)               |         v0 = *((s7 + 7));
    0x000c2e08 lw a0, -0x7f94(gp)            |         a0 = *((gp - 8165));
                                             |         if (v0 != 0) {
    0x000c2e0c bnez v0, 0xc32a8              |             goto label_9;
                                             |         }
    0x000c2e10 lw a1, 4(s7)                  |         a1 = *((s7 + 1));
                                             | label_0:
    0x000c2e14 move t9, s4                   |         t9 = s4;
    0x000c2e18 move a0, s0                   |         a0 = s0;
    0x000c2e1c bal 0xbc758                   |         fcn_000bc758 ();
    0x000c2e20 lw v0, 8(s7)                  |         v0 = *((s7 + 2));
    0x000c2e24 sltiu a0, v0, 9               |         a0 = (v0 < 9) ? 1 : 0;
    0x000c2e28 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (a0 != 0) {
    0x000c2e2c beqz a0, 0xc2ea4              |             
    0x000c2e30 sll a0, v0, 2                 |             a0 = v0 << 2;
    0x000c2e34 lw v0, -0x7f94(gp)            |             v0 = *((gp - 8165));
    0x000c2e38 addiu v0, v0, 0x4578          |             v0 += aav.0x00004578;
    0x000c2e3c lwx v0, a0(v0)                |             __asm ("lwx v0, a0(v0)");
    0x000c2e40 addu v0, v0, gp               |             v0 += gp;
    0x000c2e44 jr v0                         |             v0 ();
    0x000c2e48 nop                           |             
                                             |         }
    0x000c2ea4 lw v0, 4(s7)                  |         v0 = *((s7 + 1));
    0x000c2ea8 addiu a0, zero, 5             |         a0 = 5;
    0x000c2eac addiu a0, zero, 2             |         a0 = 2;
                                             |         if (v0 == a0) {
    0x000c2eb0 beq v0, a0, 0xc334c           |             goto label_10;
                                             |         }
    0x000c2eb4 lw a2, -0x7f94(gp)            |         a2 = *((gp - 8165));
                                             |         if (v0 == a0) {
    0x000c2eb8 beq v0, a0, 0xc337c           |             goto label_11;
                                             |         }
                                             | label_2:
    0x000c2ebc addiu a0, zero, 3             |         a0 = 3;
    0x000c2ec0 addiu a0, zero, 4             |         a0 = 4;
                                             |         if (v0 == a0) {
    0x000c2ec4 beq v0, a0, 0xc339c           |             goto label_12;
                                             |         }
    0x000c2ec8 lw t9, -0x7088(gp)            |         t9 = *(gp);
                                             |         if (v0 == a0) {
    0x000c2ecc beq v0, a0, 0xc32c8           |             goto label_13;
                                             |         }
    0x000c2ed0 move a1, s0                   |         a1 = s0;
    0x000c2ed4 addiu a0, zero, 0xa           |         a0 = 0xa;
    0x000c2ed8 jalr t9                       |         t9 ();
    0x000c2edc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_1:
    0x000c2ee0 lw v0, 0xc(s3)                |         v0 = *((s3 + 3));
    0x000c2ee4 addiu s1, s1, 1               |         s1++;
    0x000c2ee8 slt v0, s1, v0                |         v0 = (s1 < v0) ? 1 : 0;
    0x000c2eec lw v0, 0x20(sp)               |         v0 = *(var_20h);
    0x000c2ef0 bnez v0, 0xc2db8              |         
                                             |     } while (v0 != 0);
                                             | label_7:
    0x000c2ef4 lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
    0x000c2ef8 lw t9, -0x6e30(gp)            |     t9 = *((gp - 7052));
    0x000c2efc lw a3, 4(s3)                  |     a3 = *((s3 + 1));
    0x000c2f00 addiu a2, a2, 0x4d5c          |     a2 += 0x4d5c;
    0x000c2f04 addiu a1, zero, 1             |     a1 = 1;
    0x000c2f08 move a0, s0                   |     a0 = s0;
    0x000c2f0c jalr t9                       |     t9 ();
    0x000c2f10 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000c2f14 move a1, s0                   |     a1 = s0;
    0x000c2f18 lw t9, -0x7088(gp)            |     t9 = *(gp);
    0x000c2f1c addiu a0, zero, 0xa           |     a0 = 0xa;
    0x000c2f20 jalr t9                       |     t9 ();
    0x000c2f24 lw v0, 4(s3)                  |     v0 = *((s3 + 1));
    0x000c2f28 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 <= 0) {
    0x000c2f2c blez v0, 0xc317c              |         void (*0xc317c)() ();
                                             |     }
    0x000c2f30 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x000c2f34 move s6, zero                 |     s6 = 0;
    0x000c2f38 sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x000c2f3c lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x000c2f40 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x000c2f44 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x000c2f48 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x000c2f4c lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x000c2f50 addiu v0, v0, 0x4ee4          |     v0 += 0x4ee4;
    0x000c2f54 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x000c2f58 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x000c2f5c addiu v0, v0, 0x4ed8          |     v0 += 0x4ed8;
    0x000c2f60 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x000c2f64 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x000c2f68 addiu v0, v0, 0x4eb4          |     v0 += 0x4eb4;
    0x000c2f6c sw v0, 0x28(sp)               |     *(var_28h) = v0;
                                             | label_9:
    0x000c32a8 lw t9, -0x7048(gp)            |     t9 = *(gp);
    0x000c32ac move a3, s0                   |     a3 = s0;
    0x000c32b0 addiu a2, zero, 4             |     a2 = 4;
    0x000c32b4 addiu a1, zero, 1             |     a1 = 1;
    0x000c32b8 addiu a0, a0, 0x4d78          |     a0 += 0x4d78;
    0x000c32bc jalr t9                       |     t9 ();
    0x000c32c0 lw a1, 4(s7)                  |     a1 = *((s7 + 1));
    0x000c32c4 b 0xc2e14                     |     goto label_0;
                                             | label_13:
    0x000c32c8 lw v0, 0x2c(s7)               |     v0 = *((s7 + 11));
    0x000c32cc lw a0, 0x24(s7)               |     a0 = *((s7 + 9));
    0x000c32d0 lw t9, -0x6e30(gp)            |     t9 = *((gp - 7052));
    0x000c32d4 lw v0, 0x10(v0)               |     v0 = *((v0 + 4));
    0x000c32d8 lw a3, 0x10(a0)               |     a3 = *((a0 + 4));
    0x000c32dc sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000c32e0 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x000c32e4 addiu a1, zero, 1             |     a1 = 1;
    0x000c32e8 addiu a2, v0, 0x4df4          |     a2 = v0 + aav.0x00004df4;
    0x000c32ec move a0, s0                   |     a0 = s0;
    0x000c32f0 jalr t9                       |     t9 ();
    0x000c32f4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000c32f8 b 0xc2ee0                     |     goto label_1;
                                             | label_10:
    0x000c334c lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x000c3350 lw t9, -0x6e30(gp)            |     t9 = *((gp - 7052));
    0x000c3354 lw a3, 0x14(s7)               |     a3 = *((s7 + 5));
    0x000c3358 move a0, s0                   |     a0 = s0;
    0x000c335c addiu a2, v0, 0x5788          |     a2 = v0 + 0x5788;
    0x000c3360 addiu a1, zero, 1             |     a1 = 1;
    0x000c3364 jalr t9                       |     t9 ();
    0x000c3368 lw v0, 4(s7)                  |     v0 = *((s7 + 1));
    0x000c336c addiu a0, zero, 2             |     a0 = 2;
    0x000c3370 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != a0) {
    0x000c3374 bne v0, a0, 0xc2ebc           |         goto label_2;
                                             |     }
    0x000c3378 lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
                                             | label_11:
    0x000c337c lw t9, -0x6e30(gp)            |     t9 = *((gp - 7052));
    0x000c3380 lw a3, 0x20(s7)               |     a3 = *((s7 + 8));
    0x000c3384 addiu a2, a2, 0x4db8          |     a2 += 0x4db8;
    0x000c3388 addiu a1, zero, 1             |     a1 = 1;
    0x000c338c move a0, s0                   |     a0 = s0;
    0x000c3390 jalr t9                       |     t9 ();
    0x000c3394 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000c3398 b 0xc2ee0                     |     goto label_1;
                                             | label_12:
    0x000c339c lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x000c33a0 lw t9, -0x6e30(gp)            |     t9 = *((gp - 7052));
    0x000c33a4 lw a3, 0x34(s7)               |     a3 = *((s7 + 13));
    0x000c33a8 addiu a2, v0, 0x4dc4          |     a2 = v0 + 0x4dc4;
    0x000c33ac addiu a1, zero, 1             |     a1 = 1;
    0x000c33b0 move a0, s0                   |     a0 = s0;
    0x000c33b4 jalr t9                       |     t9 ();
    0x000c33b8 lw v0, 0x34(s7)               |     v0 = *((s7 + 13));
    0x000c33bc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 <= 0) {
    0x000c33c0 blez v0, 0xc2ee0              |         goto label_1;
                                             |     }
    0x000c33c4 lw s5, -0x7f94(gp)            |     s5 = *((gp - 8165));
    0x000c33c8 move s2, zero                 |     s2 = 0;
    0x000c33cc addiu s5, s5, 0x4de8          |     s5 += 0x4de8;
    0x000c33d0 b 0xc341c                     |     goto label_14;
                                             | label_3:
    0x000c33d4 lw a1, 4(fp)                  |     a1 = *(arg_4h);
                                             | label_4:
    0x000c33d8 move t9, s4                   |     t9 = s4;
    0x000c33dc move a0, s0                   |     a0 = s0;
    0x000c33e0 bal 0xbc758                   |     fcn_000bc758 ();
    0x000c33e4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000c33e8 lw v0, 0xc(fp)                |     v0 = *(arg_ch);
    0x000c33ec lw a3, 8(fp)                  |     a3 = *(arg_8h);
    0x000c33f0 lw t9, -0x6e30(gp)            |     t9 = *((gp - 7052));
    0x000c33f4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000c33f8 move a2, s5                   |     a2 = s5;
    0x000c33fc addiu a1, zero, 1             |     a1 = 1;
    0x000c3400 move a0, s0                   |     a0 = s0;
    0x000c3404 jalr t9                       |     t9 ();
    0x000c3408 lw v0, 0x34(s7)               |     v0 = *((s7 + 13));
    0x000c340c addiu s2, s2, 1               |     s2++;
    0x000c3410 slt v0, s2, v0                |     v0 = (s2 < v0) ? 1 : 0;
    0x000c3414 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000c3418 beqz v0, 0xc2ee0              |         goto label_1;
                                             |     }
                                             | label_14:
    0x000c341c lw v0, 0x38(s7)               |     v0 = *((s7 + 14));
    0x000c3420 sll t0, s2, 2                 |     t0 = s2 << 2;
    0x000c3424 lw t9, -0x7048(gp)            |     t9 = *(gp);
    0x000c3428 lwx fp, t0(v0)                |     __asm ("lwx fp, t0(v0)");
    0x000c342c move a3, s0                   |     a3 = s0;
    0x000c3430 addiu a2, zero, 9             |     a2 = 9;
    0x000c3434 addiu a1, zero, 1             |     a1 = 1;
    0x000c3438 move a0, s6                   |     a0 = s6;
    0x000c343c jalr t9                       |     t9 ();
    0x000c3440 lw v0, (fp)                   |     v0 = *(fp);
    0x000c3444 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000c3448 beqz v0, 0xc33d4              |         goto label_3;
                                             |     }
    0x000c344c lw t9, -0x7048(gp)            |     t9 = *(gp);
    0x000c3450 lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x000c3454 move a3, s0                   |     a3 = s0;
    0x000c3458 addiu a2, zero, 9             |     a2 = 9;
    0x000c345c addiu a1, zero, 1             |     a1 = 1;
    0x000c3460 jalr t9                       |     t9 ();
    0x000c3464 lw a1, 4(fp)                  |     a1 = *(arg_4h);
    0x000c3468 b 0xc33d8                     |     goto label_4;
                                             | label_8:
    0x000c3584 lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x000c3588 lw t9, -0x7048(gp)            |     t9 = *(gp);
    0x000c358c move a3, s0                   |     a3 = s0;
    0x000c3590 addiu a2, zero, 5             |     a2 = 5;
    0x000c3594 addiu a1, zero, 1             |     a1 = 1;
    0x000c3598 addiu a0, a0, 0x4d48          |     a0 += 0x4d48;
    0x000c359c jalr t9                       |     t9 ();
    0x000c35a0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000c35a4 b 0xc2ee0                     |     goto label_1;
                                             | label_5:
    0x000c35e0 jr ra                         |     return v0;
    0x000c35e4 nop                           |     
                                             | label_6:
    0x000c35e8 lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x000c35ec lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x000c35f0 lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x000c35f4 lw s7, 0x54(sp)               |     s7 = *(var_54h);
    0x000c35f8 lw s6, 0x50(sp)               |     s6 = *(var_50h);
    0x000c35fc lw s5, 0x4c(sp)               |     s5 = *(var_4ch);
    0x000c3600 lw s4, 0x48(sp)               |     s4 = *(var_48h);
    0x000c3604 lw s3, 0x44(sp)               |     s3 = *(var_44h);
    0x000c3608 lw s2, 0x40(sp)               |     s2 = *(var_40h);
    0x000c360c lw s1, 0x3c(sp)               |     s1 = *(var_3ch);
    0x000c3610 move a3, s0                   |     a3 = s0;
    0x000c3614 lw t9, -0x7048(gp)            |     t9 = *(gp);
    0x000c3618 lw s0, 0x38(sp)               |     s0 = *(var_38h);
    0x000c361c addiu a2, zero, 5             |     a2 = 5;
    0x000c3620 addiu a1, zero, 1             |     a1 = 1;
    0x000c3624 addiu a0, a0, 0x4d48          |     a0 += 0x4d48;
    0x000c3628 addiu sp, sp, 0x60            |     
    0x000c362c jr t9                         |     return t9 ();
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x118d20 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlRelaxNGGetParserErrors ()         | void xmlRelaxNGGetParserErrors () {
                                                     |     if (a0 != 0) {
    0x00118d20 beqz a0, 0x118d68                     |         
    0x00118d24 nop                                   |         
                                                     |         if (a1 != 0) {
    0x00118d28 beqz a1, 0x118d38                     |             
    0x00118d2c nop                                   |             
    0x00118d30 lw v0, 4(a0)                          |             v0 = *((a0 + 1));
    0x00118d34 sw v0, (a1)                           |             *(a1) = v0;
                                                     |         }
                                                     |         if (a2 != 0) {
    0x00118d38 beqz a2, 0x118d48                     |             
    0x00118d3c nop                                   |             
    0x00118d40 lw v0, 8(a0)                          |             v0 = *((a0 + 2));
    0x00118d44 sw v0, (a2)                           |             *(a2) = v0;
                                                     |         }
                                                     |         if (a3 != 0) {
    0x00118d48 beqz a3, 0x118d60                     |             
    0x00118d4c nop                                   |             
    0x00118d50 lw v1, (a0)                           |             v1 = *(a0);
    0x00118d54 move v0, zero                         |             v0 = 0;
    0x00118d58 sw v1, (a3)                           |             *(a3) = v1;
    0x00118d5c jr ra                                 |             return v0;
                                                     |         }
    0x00118d60 move v0, zero                         |         v0 = 0;
    0x00118d64 jr ra                                 |         return v0;
                                                     |     }
    0x00118d68 addiu v0, zero, -1                    |     v0 = -1;
    0x00118d6c jr ra                                 |     return v0;
                                                     | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x119870 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlRelaxNGGetValidErrors ()      | void xmlRelaxNGGetValidErrors () {
                                                 |     if (a0 != 0) {
    0x00119870 beqz a0, 0x1198b8                 |         
    0x00119874 nop                               |         
                                                 |         if (a1 != 0) {
    0x00119878 beqz a1, 0x119888                 |             
    0x0011987c nop                               |             
    0x00119880 lw v0, 4(a0)                      |             v0 = *((a0 + 1));
    0x00119884 sw v0, (a1)                       |             *(a1) = v0;
                                                 |         }
                                                 |         if (a2 != 0) {
    0x00119888 beqz a2, 0x119898                 |             
    0x0011988c nop                               |             
    0x00119890 lw v0, 8(a0)                      |             v0 = *((a0 + 2));
    0x00119894 sw v0, (a2)                       |             *(a2) = v0;
                                                 |         }
                                                 |         if (a3 != 0) {
    0x00119898 beqz a3, 0x1198b0                 |             
    0x0011989c nop                               |             
    0x001198a0 lw v1, (a0)                       |             v1 = *(a0);
    0x001198a4 move v0, zero                     |             v0 = 0;
    0x001198a8 sw v1, (a3)                       |             *(a3) = v1;
    0x001198ac jr ra                             |             return v0;
                                                 |         }
    0x001198b0 move v0, zero                     |         v0 = 0;
    0x001198b4 jr ra                             |         return v0;
                                                 |     }
    0x001198b8 addiu v0, zero, -1                |     v0 = -1;
    0x001198bc jr ra                             |     return v0;
                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x119240 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlRelaxNGValidatePushCData ()       | void xmlRelaxNGValidatePushCData () {
    0x00119240 lui gp, 8                             |     
    0x00119244 addiu gp, gp, -0x7bd0                 |     
    0x00119248 addu gp, gp, t9                       |     gp += t9;
                                                     |     if (a0 == 0) {
    0x0011924c beqz a0, 0x119300                     |         goto label_2;
                                                     |     }
    0x00119250 nop                                   |     
    0x00119254 addiu sp, sp, -0x28                   |     
    0x00119258 sw s0, 0x20(sp)                       |     *(var_20h) = s0;
    0x0011925c move s0, a0                           |     s0 = a0;
    0x00119260 lw a0, 0x54(a0)                       |     a0 = *((a0 + 21));
    0x00119264 sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x00119268 sw ra, 0x24(sp)                       |     *(var_24h) = ra;
                                                     |     if (a0 == 0) {
    0x0011926c beql a0, zero, 0x1192f0               |         goto label_3;
                                                     |     }
    0x00119270 lw ra, 0x24(sp)                       |     ra = *(var_24h);
                                                     |     if (a1 == 0) {
    0x00119274 beql a1, zero, 0x1192f0               |         goto label_3;
                                                     |     }
    0x00119278 lw ra, 0x24(sp)                       |     ra = *(var_24h);
    0x0011927c lbu v0, (a1)                          |     v0 = *(a1);
    0x00119280 lui a2, 0x80                          |     a2 = 0x800000;
                                                     |     if (v0 == 0) {
    0x00119284 beqz v0, 0x1192c0                     |         goto label_4;
                                                     |     }
    0x00119288 addiu a2, a2, 0x13                    |     a2 += 0x13;
    0x0011928c addiu v0, v0, -9                      |     v0 += -9;
                                                     | label_0:
    0x00119290 andi v0, v0, 0xff                     |     v0 &= 0xff;
    0x00119294 srlv v1, a2, v0                       |     v1 = a2 >> v0;
    0x00119298 sltiu v0, v0, 0x18                    |     v0 = (v0 < 0x18) ? 1 : 0;
    0x0011929c ext v1, v1, 0, 1                      |     __asm ("ext v1, v1, 0, 1");
    0x001192a0 bnez v0, 0x1192d4                     |     
                                                     |     while (v1 == 0) {
    0x001192a4 lw a1, -0x7fb0(gp)                    |         a1 = *((gp - 8172));
    0x001192a8 lw t9, -0x79f8(gp)                    |         t9 = *(gp);
    0x001192ac move a2, s0                           |         a2 = s0;
    0x001192b0 addiu a1, a1, 0x2f4                   |         a1 += aav.0x000002f4;
    0x001192b4 jalr t9                               |         t9 ();
    0x001192b8 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |         if (v0 < 0) {
    0x001192bc bltz v0, 0x119308                     |             goto label_5;
                                                     |         }
                                                     | label_4:
    0x001192c0 addiu v0, zero, 1                     |         v0 = 1;
                                                     | label_1:
    0x001192c4 lw ra, 0x24(sp)                       |         ra = *(var_24h);
    0x001192c8 lw s0, 0x20(sp)                       |         s0 = *(var_20h);
    0x001192cc addiu sp, sp, 0x28                    |         
    0x001192d0 jr ra                                 |         return v0;
    0x001192d4 addiu a1, a1, 1                       |         a1++;
    0x001192d8 beqz v1, 0x1192a4                     |         
                                                     |     }
    0x001192dc lbu v0, (a1)                          |     v0 = *(a1);
    0x001192e0 addiu v0, v0, -9                      |     v0 += -9;
                                                     |     if (v0 == 0) {
    0x001192e4 bnel v0, zero, 0x119290               |         goto label_0;
                                                     |     }
    0x001192e8 addiu v0, zero, 1                     |     v0 = 1;
    0x001192ec b 0x1192c4                            |     goto label_1;
                                                     | label_3:
    0x001192f0 lw s0, 0x20(sp)                       |     s0 = *(var_20h);
    0x001192f4 addiu v0, zero, -1                    |     v0 = -1;
    0x001192f8 addiu sp, sp, 0x28                    |     
    0x001192fc jr ra                                 |     return v0;
                                                     | label_2:
    0x00119300 addiu v0, zero, -1                    |     v0 = -1;
    0x00119304 jr ra                                 |     return v0;
                                                     | label_5:
    0x00119308 lw a2, -0x7fb0(gp)                    |     a2 = *((gp - 8172));
    0x0011930c lw t9, -0x73ac(gp)                    |     t9 = *(gp);
    0x00119310 sw zero, 0x10(sp)                     |     *(var_10h) = 0;
    0x00119314 move a3, zero                         |     a3 = 0;
    0x00119318 addiu a2, a2, 0x2a38                  |     a2 += 0x2a38;
    0x0011931c addiu a1, zero, 0x27                  |     a1 = 0x27;
    0x00119320 addiu t9, t9, -0x5038                 |     t9 += -0x5038;
    0x00119324 move a0, s0                           |     a0 = s0;
    0x00119328 bal 0x10afc8                          |     fcn_0010afc8 ();
    0x0011932c addiu v0, zero, -1                    |     v0 = -1;
    0x00119330 b 0x1192c4                            |     goto label_1;
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x120104 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlSAX2EntityDecl ()         | void xmlSAX2EntityDecl () {
    0x00120104 lui gp, 7                     |     
    0x00120108 addiu gp, gp, 0x156c          |     
    0x0012010c addu gp, gp, t9               |     gp += t9;
    0x00120110 addiu sp, sp, -0x68           |     
    0x00120114 sw gp, 0x48(sp)               |     *(var_48h) = gp;
    0x00120118 sw s2, 0x5c(sp)               |     *(var_5ch) = s2;
    0x0012011c sw ra, 0x64(sp)               |     *(var_64h) = ra;
    0x00120120 sw s3, 0x60(sp)               |     *(var_60h) = s3;
    0x00120124 sw s1, 0x58(sp)               |     *(var_58h) = s1;
    0x00120128 sw s0, 0x54(sp)               |     *(var_54h) = s0;
    0x0012012c lw s2, 0x78(sp)               |     s2 = *(arg_78h);
    0x00120130 lw t0, 0x7c(sp)               |     t0 = *(arg_7ch);
                                             |     if (a0 != 0) {
    0x00120134 beqz a0, 0x120230             |         
    0x00120138 lw v0, 0xd8(a0)               |         v0 = *((a0 + 54));
    0x0012013c addiu v1, zero, 1             |         v1 = 1;
    0x00120140 move s0, a0                   |         s0 = a0;
    0x00120144 move s1, a1                   |         s1 = a1;
                                             |         if (v0 != v1) {
    0x00120148 beq v0, v1, 0x12018c          |             
    0x0012014c addiu v1, zero, 2             |             v1 = 2;
    0x00120150 lw t9, -0x7398(gp)            |             t9 = *((gp - 7398));
                                             |             if (v0 == v1) {
    0x00120154 beq v0, v1, 0x12024c          |                 goto label_3;
                                             |             }
    0x00120158 lw a2, -0x7fb0(gp)            |             a2 = *((gp - 8172));
    0x0012015c lw ra, 0x64(sp)               |             ra = *(var_64h);
    0x00120160 lw s3, 0x60(sp)               |             s3 = *(var_60h);
    0x00120164 lw s2, 0x5c(sp)               |             s2 = *(var_5ch);
    0x00120168 lw s1, 0x58(sp)               |             s1 = *(var_58h);
    0x0012016c lw s0, 0x54(sp)               |             s0 = *(var_54h);
    0x00120170 sw zero, 0x78(sp)             |             *(arg_78h) = 0;
    0x00120174 move a3, a1                   |             a3 = a1;
    0x00120178 addiu a2, a2, 0x2f8c          |             a2 += 0x2f8c;
    0x0012017c addiu a1, zero, 0x68          |             a1 = 0x68;
    0x00120180 addiu t9, t9, -0x6c8          |             t9 += -aav.0x000006c8;
    0x00120184 addiu sp, sp, 0x68            |             
    0x00120188 b 0x11f938                    |             void (*0x11f938)() ();
                                             |         }
    0x0012018c lw a0, 8(a0)                  |         a0 = *((a0 + 2));
    0x00120190 lw t9, -0x7f8c(gp)            |         t9 = *(gp);
    0x00120194 sw t0, 0x14(sp)               |         *(var_14h) = t0;
    0x00120198 sw s2, 0x10(sp)               |         *(var_10h) = s2;
    0x0012019c jalr t9                       |         t9 ();
    0x001201a0 move s3, v0                   |         s3 = v0;
    0x001201a4 lw gp, 0x48(sp)               |         gp = *(var_48h);
                                             |         if (v0 != 0) {
    0x001201a8 bnez v0, 0x12026c             |             goto label_4;
                                             |         }
    0x001201ac lw v0, 0x10c(s0)              |         v0 = *(s0);
    0x001201b0 lw ra, 0x64(sp)               |         ra = *(var_64h);
                                             |         if (v0 == 0) {
    0x001201b4 beqz v0, 0x120234             |             goto label_2;
                                             |         }
    0x001201b8 lw v0, 0xd4(s0)               |         v0 = *((s0 + 53));
    0x001201bc lw v0, -0x7fb0(gp)            |         v0 = *((gp - 8172));
                                             |         if (v0 != 0) {
    0x001201c0 beqz v0, 0x1201d4             |             
    0x001201c4 lw v1, 0xac(s0)               |             v1 = *((s0 + 43));
    0x001201c8 addiu v0, zero, -1            |             v0 = -1;
    0x001201cc lw v0, -0x7fb0(gp)            |             v0 = *((gp - 8172));
                                             |             if (v1 == v0) {
    0x001201d0 beq v1, v0, 0x120234          |                 goto label_2;
                                             |             }
                                             |         }
    0x001201d4 addiu a0, zero, 0x6b          |         a0 = 0x6b;
    0x001201d8 addiu v1, zero, 1             |         v1 = 1;
    0x001201dc lw t9, -0x6f3c(gp)            |         t9 = *(gp);
    0x001201e0 addiu v0, v0, 0x2ee4          |         v0 += 0x2ee4;
    0x001201e4 sw a0, 0x54(s0)               |         *((s0 + 21)) = a0;
    0x001201e8 move a3, s0                   |         a3 = s0;
    0x001201ec sw a0, 0x18(sp)               |         *(var_18h) = a0;
    0x001201f0 sw s1, 0x40(sp)               |         *(var_40h) = s1;
    0x001201f4 sw v0, 0x3c(sp)               |         *(var_3ch) = v0;
    0x001201f8 sw zero, 0x38(sp)             |         *(var_38h) = 0;
    0x001201fc sw zero, 0x34(sp)             |         *(var_34h) = 0;
    0x00120200 sw zero, 0x30(sp)             |         *(var_30h) = 0;
    0x00120204 sw zero, 0x2c(sp)             |         *(var_2ch) = 0;
    0x00120208 sw s1, 0x28(sp)               |         *(var_28h) = s1;
    0x0012020c sw zero, 0x24(sp)             |         *(var_24h) = 0;
    0x00120210 sw zero, 0x20(sp)             |         *(var_20h) = 0;
    0x00120214 sw v1, 0x1c(sp)               |         *(var_1ch) = v1;
    0x00120218 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x0012021c sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x00120220 move a2, zero                 |         a2 = 0;
    0x00120224 move a1, zero                 |         a1 = 0;
    0x00120228 move a0, zero                 |         a0 = 0;
    0x0012022c jalr t9                       |         t9 ();
                                             |     }
                                             | label_1:
    0x00120230 lw ra, 0x64(sp)               |     ra = *(var_64h);
                                             |     do {
                                             | label_2:
    0x00120234 lw s3, 0x60(sp)               |         s3 = *(var_60h);
                                             | label_0:
    0x00120238 lw s2, 0x5c(sp)               |         s2 = *(var_5ch);
    0x0012023c lw s1, 0x58(sp)               |         s1 = *(var_58h);
    0x00120240 lw s0, 0x54(sp)               |         s0 = *(var_54h);
    0x00120244 addiu sp, sp, 0x68            |         
    0x00120248 jr ra                         |         return v0;
                                             | label_3:
    0x0012024c lw a0, 8(a0)                  |         a0 = *((a0 + 2));
    0x00120250 lw t9, -0x7338(gp)            |         t9 = *((gp - 7374));
    0x00120254 sw t0, 0x14(sp)               |         *(var_14h) = t0;
    0x00120258 sw s2, 0x10(sp)               |         *(var_10h) = s2;
    0x0012025c jalr t9                       |         t9 ();
    0x00120260 move s3, v0                   |         s3 = v0;
    0x00120264 lw gp, 0x48(sp)               |         gp = *(var_48h);
                                             |         if (v0 == 0) {
    0x00120268 beqz v0, 0x1202ac             |             goto label_5;
                                             |         }
                                             | label_4:
    0x0012026c lw v0, 0x40(s3)               |         v0 = *((s3 + 16));
    0x00120270 lw ra, 0x64(sp)               |         ra = *(var_64h);
    0x00120274 bnez v0, 0x120234             |         
                                             |     } while (v0 != 0);
                                             |     if (s2 == 0) {
    0x00120278 beql s2, zero, 0x120238       |         goto label_0;
                                             |     }
    0x0012027c lw s3, 0x60(sp)               |     s3 = *(var_60h);
    0x00120280 lw v0, 0x24(s0)               |     v0 = *((s0 + 9));
                                             |     if (v0 != 0) {
    0x00120284 beql v0, zero, 0x120298       |         
    0x00120288 lw a1, 0xb4(s0)               |         a1 = *((s0 + 45));
    0x0012028c lw a1, 4(v0)                  |         a1 = *((v0 + 1));
                                             |         if (a1 == 0) {
    0x00120290 beql a1, zero, 0x120298       |             goto label_6;
                                             |         }
    0x00120294 lw a1, 0xb4(s0)               |         a1 = *((s0 + 45));
                                             |     }
                                             | label_6:
    0x00120298 lw t9, -0x7e40(gp)            |     t9 = *((gp - 8080));
    0x0012029c move a0, s2                   |     a0 = s2;
    0x001202a0 jalr t9                       |     t9 ();
    0x001202a4 sw v0, 0x40(s3)               |     *((s3 + 16)) = v0;
    0x001202a8 b 0x120230                    |     goto label_1;
                                             | label_5:
    0x001202ac lw v0, 0x10c(s0)              |     v0 = *(s0);
    0x001202b0 lw ra, 0x64(sp)               |     ra = *(var_64h);
                                             |     if (v0 == 0) {
    0x001202b4 beqz v0, 0x120234             |         goto label_2;
                                             |     }
    0x001202b8 lw v0, (s0)                   |     v0 = *(s0);
    0x001202bc lw s3, 0x60(sp)               |     s3 = *(var_60h);
                                             |     if (v0 == 0) {
    0x001202c0 beqz v0, 0x120238             |         goto label_0;
                                             |     }
    0x001202c4 lw t9, 0x54(v0)               |     t9 = *((v0 + 21));
    0x001202c8 lw a1, -0x7fb0(gp)            |     a1 = *((gp - 8172));
                                             |     if (t9 == 0) {
    0x001202cc beqz t9, 0x120234             |         goto label_2;
                                             |     }
    0x001202d0 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x001202d4 lw ra, 0x64(sp)               |     ra = *(var_64h);
    0x001202d8 lw s3, 0x60(sp)               |     s3 = *(var_60h);
    0x001202dc lw s2, 0x5c(sp)               |     s2 = *(var_5ch);
    0x001202e0 lw s0, 0x54(sp)               |     s0 = *(var_54h);
    0x001202e4 move a2, s1                   |     a2 = s1;
    0x001202e8 lw s1, 0x58(sp)               |     s1 = *(var_58h);
    0x001202ec addiu a1, a1, 0x2f18          |     a1 += 0x2f18;
    0x001202f0 addiu sp, sp, 0x68            |     
    0x001202f4 jr t9                         |     t9 ();
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x11f304 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlSAX2ExternalSubset ()         | void xmlSAX2ExternalSubset () {
    0x0011f304 lui gp, 7                         |     
    0x0011f308 addiu gp, gp, 0x236c              |     
    0x0011f30c addu gp, gp, t9                   |     gp += t9;
                                                 |     if (a0 == 0) {
    0x0011f310 beqz a0, 0x11f56c                 |         goto label_5;
                                                 |     }
    0x0011f314 nop                               |     
                                                 |     if (a2 == 0) {
    0x0011f318 beqz a2, 0x11f564                 |         goto label_6;
                                                 |     }
    0x0011f31c nop                               |     
    0x0011f320 lw v0, 0x68(a0)                   |     v0 = *((a0 + 26));
                                                 |     if (v0 == 0) {
                                                 | label_1:
    0x0011f324 beql v0, zero, 0x11f554           |         goto label_7;
                                                 |     }
    0x0011f328 lw v0, 0x114(a0)                  |     v0 = *(a0);
    0x0011f32c lw v0, 0xc(a0)                    |     v0 = *((a0 + 3));
                                                 |     if (v0 == 0) {
                                                 | label_0:
    0x0011f330 beqz v0, 0x11f56c                 |         goto label_5;
                                                 |     }
    0x0011f334 nop                               |     
    0x0011f338 lw v0, 8(a0)                      |     v0 = *((a0 + 2));
                                                 |     if (v0 == 0) {
    0x0011f33c beqz v0, 0x11f56c                 |         goto label_5;
                                                 |     }
    0x0011f340 nop                               |     
    0x0011f344 lw v0, (a0)                       |     v0 = *(a0);
                                                 |     if (v0 == 0) {
    0x0011f348 beqz v0, 0x11f56c                 |         goto label_5;
                                                 |     }
    0x0011f34c nop                               |     
    0x0011f350 lw t9, 0x10(v0)                   |     t9 = *((v0 + 4));
                                                 |     if (t9 == 0) {
    0x0011f354 beqz t9, 0x11f56c                 |         goto label_5;
                                                 |     }
    0x0011f358 nop                               |     
    0x0011f35c addiu sp, sp, -0x48               |     
    0x0011f360 sw s1, 0x24(sp)                   |     *(var_24h) = s1;
    0x0011f364 sw s0, 0x20(sp)                   |     *(var_20h) = s0;
    0x0011f368 move s1, a2                       |     s1 = a2;
    0x0011f36c move s0, a0                       |     s0 = a0;
    0x0011f370 lw a0, 4(a0)                      |     a0 = *((a0 + 1));
    0x0011f374 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0011f378 sw s4, 0x30(sp)                   |     *(var_30h) = s4;
    0x0011f37c sw s3, 0x2c(sp)                   |     *(var_2ch) = s3;
    0x0011f380 sw s2, 0x28(sp)                   |     *(var_28h) = s2;
    0x0011f384 sw ra, 0x44(sp)                   |     *(var_44h) = ra;
    0x0011f388 sw fp, 0x40(sp)                   |     *(var_40h) = fp;
    0x0011f38c sw s7, 0x3c(sp)                   |     *(var_3ch) = s7;
    0x0011f390 sw s6, 0x38(sp)                   |     *(var_38h) = s6;
    0x0011f394 sw s5, 0x34(sp)                   |     *(var_34h) = s5;
    0x0011f398 move s3, a1                       |     s3 = a1;
    0x0011f39c move a2, a3                       |     a2 = a3;
    0x0011f3a0 move a1, s1                       |     a1 = s1;
    0x0011f3a4 move s2, a3                       |     s2 = a3;
    0x0011f3a8 jalr t9                           |     t9 ();
    0x0011f3ac move s4, v0                       |     s4 = v0;
    0x0011f3b0 lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 == 0) {
    0x0011f3b4 beqz v0, 0x11f524                 |         goto label_3;
                                                 |     }
    0x0011f3b8 lw t9, -0x7d9c(gp)                |     t9 = *(gp);
    0x0011f3bc lw a0, 8(s0)                      |     a0 = *((s0 + 2));
    0x0011f3c0 move a1, s3                       |     a1 = s3;
    0x0011f3c4 move a3, s2                       |     a3 = s2;
    0x0011f3c8 move a2, s1                       |     a2 = s1;
    0x0011f3cc jalr t9                           |     t9 ();
    0x0011f3d0 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x0011f3d4 lw s3, 0x18(s0)                   |     s3 = *((s0 + 6));
    0x0011f3d8 addiu a0, zero, 0x14              |     a0 = 0x14;
    0x0011f3dc lw v0, -0x716c(gp)                |     v0 = *(gp);
    0x0011f3e0 sw zero, 0x18(s0)                 |     *((s0 + 6)) = 0;
    0x0011f3e4 lw s5, 0x28(s0)                   |     s5 = *((s0 + 10));
    0x0011f3e8 lw t9, (v0)                       |     t9 = *(v0);
    0x0011f3ec lw v0, 0x24(s0)                   |     v0 = *((s0 + 9));
    0x0011f3f0 lw s6, 0x2c(s0)                   |     s6 = *((s0 + 11));
    0x0011f3f4 sw v0, 0x1c(sp)                   |     *(var_1ch) = v0;
    0x0011f3f8 lw s7, 0x30(s0)                   |     s7 = *((s0 + 12));
    0x0011f3fc lw fp, 0x100(s0)                  |     fp = *(s0);
    0x0011f400 jalr t9                           |     t9 ();
    0x0011f404 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x0011f408 sw v0, 0x30(s0)                   |     *((s0 + 12)) = v0;
                                                 |     if (v0 == 0) {
    0x0011f40c beqz v0, 0x11f5a0                 |         goto label_8;
                                                 |     }
    0x0011f410 addiu v0, zero, 5                 |     v0 = 5;
    0x0011f414 lw t9, -0x7e1c(gp)                |     t9 = *(gp);
    0x0011f418 move a0, s0                       |     a0 = s0;
    0x0011f41c sw zero, 0x28(s0)                 |     *((s0 + 10)) = 0;
    0x0011f420 sw v0, 0x2c(s0)                   |     *((s0 + 11)) = v0;
    0x0011f424 sw zero, 0x24(s0)                 |     *((s0 + 9)) = 0;
    0x0011f428 move a1, s4                       |     a1 = s4;
    0x0011f42c jalr t9                           |     t9 ();
    0x0011f430 lw a0, 0x24(s0)                   |     a0 = *((s0 + 9));
    0x0011f434 lw v0, 0x18(a0)                   |     v0 = *((a0 + 6));
    0x0011f438 slti v0, v0, 4                    |     v0 = (v0 < 4) ? 1 : 0;
    0x0011f43c lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 == 0) {
    0x0011f440 beqz v0, 0x11f574                 |         goto label_9;
                                                 |     }
                                                 | label_2:
    0x0011f444 lw v0, 4(s4)                      |     v0 = *((s4 + 1));
    0x0011f448 lw t9, -0x7eb8(gp)                |     t9 = *((gp - 8110));
                                                 |     if (v0 == 0) {
    0x0011f44c beqz v0, 0x11f5d8                 |         goto label_10;
                                                 |     }
                                                 | label_4:
    0x0011f450 lw v0, 0x24(s0)                   |     v0 = *((s0 + 9));
    0x0011f454 addiu a0, zero, 1                 |     a0 = 1;
    0x0011f458 lw t9, -0x7d10(gp)                |     t9 = *((gp - 8004));
    0x0011f45c lw v0, 0x10(v0)                   |     v0 = *((v0 + 4));
    0x0011f460 move a1, s1                       |     a1 = s1;
    0x0011f464 sw a0, 0x1c(s4)                   |     *((s4 + 7)) = a0;
    0x0011f468 sw a0, 0x20(s4)                   |     *((s4 + 8)) = a0;
    0x0011f46c sw v0, 0xc(s4)                    |     *((s4 + 3)) = v0;
    0x0011f470 sw v0, 0x10(s4)                   |     *((s4 + 4)) = v0;
    0x0011f474 sw zero, 0x28(s4)                 |     *((s4 + 10)) = 0;
    0x0011f478 move a2, s2                       |     a2 = s2;
    0x0011f47c move a0, s0                       |     a0 = s0;
    0x0011f480 jalr t9                           |     t9 ();
    0x0011f484 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x0011f488 lw v0, 0x28(s0)                   |     v0 = *((s0 + 10));
    0x0011f48c slti v0, v0, 2                    |     v0 = (v0 < 2) ? 1 : 0;
    0x0011f490 lw s1, -0x735c(gp)                |     s1 = *(gp);
                                                 |     if (v0 != 0) {
    0x0011f494 bnez v0, 0x11f4b4                 |         goto label_11;
                                                 |     }
                                                 |     do {
    0x0011f498 move t9, s1                       |         t9 = s1;
    0x0011f49c move a0, s0                       |         a0 = s0;
    0x0011f4a0 jalr t9                           |         t9 ();
    0x0011f4a4 lw v0, 0x28(s0)                   |         v0 = *((s0 + 10));
    0x0011f4a8 slti v0, v0, 2                    |         v0 = (v0 < 2) ? 1 : 0;
    0x0011f4ac lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x0011f4b0 beqz v0, 0x11f498                 |         
                                                 |     } while (v0 == 0);
                                                 | label_11:
    0x0011f4b4 lw s1, -0x7158(gp)                |     s1 = *(gp);
    0x0011f4b8 lw t9, -0x7ee0(gp)                |     t9 = *((gp - 8120));
    0x0011f4bc lw a0, 0x24(s0)                   |     a0 = *((s0 + 9));
    0x0011f4c0 jalr t9                           |     t9 ();
    0x0011f4c4 lw t9, (s1)                       |     t9 = *(s1);
    0x0011f4c8 lw a0, 0x30(s0)                   |     a0 = *((s0 + 12));
    0x0011f4cc jalr t9                           |     t9 ();
    0x0011f4d0 lw v0, 0x1c(sp)                   |     v0 = *(var_1ch);
    0x0011f4d4 lw a1, 0x18(s0)                   |     a1 = *((s0 + 6));
    0x0011f4d8 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x0011f4dc sw v0, 0x24(s0)                   |     *((s0 + 9)) = v0;
    0x0011f4e0 sw s5, 0x28(s0)                   |     *((s0 + 10)) = s5;
    0x0011f4e4 sw s6, 0x2c(s0)                   |     *((s0 + 11)) = s6;
    0x0011f4e8 sw s7, 0x30(s0)                   |     *((s0 + 12)) = s7;
    0x0011f4ec sw fp, 0x100(s0)                  |     *(s0) = fp;
                                                 |     if (a1 != 0) {
    0x0011f4f0 beqz a1, 0x11f520                 |         
    0x0011f4f4 lw a0, 0x128(s0)                  |         a0 = *(s0);
    0x0011f4f8 lw t9, -0x7fc4(gp)                |         t9 = *((gp - 8177));
                                                 |         if (a0 != 0) {
    0x0011f4fc beqz a0, 0x11f514                 |             
    0x0011f500 bal 0x11bab4                      |             sym_xmlDictOwns ();
    0x0011f504 nop                               |             
    0x0011f508 sw s3, 0x18(s0)                   |             *((s0 + 6)) = s3;
                                                 |             if (v0 == 0) {
    0x0011f50c bnel v0, zero, 0x11f524           |                 goto label_3;
                                                 |             }
    0x0011f510 lw a1, 0x18(s0)                   |             a1 = *((s0 + 6));
                                                 |         }
    0x0011f514 lw t9, (s1)                       |         t9 = *(s1);
    0x0011f518 move a0, a1                       |         a0 = a1;
    0x0011f51c jalr t9                           |         t9 ();
                                                 |     }
    0x0011f520 sw s3, 0x18(s0)                   |     *((s0 + 6)) = s3;
                                                 | label_3:
    0x0011f524 lw ra, 0x44(sp)                   |     ra = *(var_44h);
    0x0011f528 lw fp, 0x40(sp)                   |     fp = *(var_40h);
    0x0011f52c lw s7, 0x3c(sp)                   |     s7 = *(var_3ch);
    0x0011f530 lw s6, 0x38(sp)                   |     s6 = *(var_38h);
    0x0011f534 lw s5, 0x34(sp)                   |     s5 = *(var_34h);
    0x0011f538 lw s4, 0x30(sp)                   |     s4 = *(var_30h);
    0x0011f53c lw s3, 0x2c(sp)                   |     s3 = *(var_2ch);
    0x0011f540 lw s2, 0x28(sp)                   |     s2 = *(var_28h);
    0x0011f544 lw s1, 0x24(sp)                   |     s1 = *(var_24h);
    0x0011f548 lw s0, 0x20(sp)                   |     s0 = *(var_20h);
    0x0011f54c addiu sp, sp, 0x48                |     
    0x0011f550 jr ra                             |     return v0;
                                                 | label_7:
    0x0011f554 lw v0, 0xc(a0)                    |     v0 = *((a0 + 3));
                                                 |     if (v0 == 0) {
    0x0011f558 bnel v0, zero, 0x11f330           |         goto label_0;
                                                 |     }
    0x0011f55c jr ra                             |     return v0;
    0x0011f560 nop                               |     
                                                 | label_6:
    0x0011f564 lw v0, 0x68(a0)                   |     v0 = *((a0 + 26));
                                                 |     if (a3 == 0) {
    0x0011f568 bnel a3, zero, 0x11f324           |         goto label_1;
                                                 |     }
                                                 | label_5:
    0x0011f56c jr ra                             |     return v0;
    0x0011f570 nop                               |     
                                                 | label_9:
    0x0011f574 lw t9, -0x7dd4(gp)                |     t9 = *((gp - 8053));
    0x0011f578 lw a0, 0x10(a0)                   |     a0 = *((a0 + 4));
    0x0011f57c addiu a1, zero, 4                 |     a1 = 4;
    0x0011f580 jalr t9                           |     t9 ();
    0x0011f584 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x0011f588 move a1, v0                       |     a1 = v0;
    0x0011f58c lw t9, -0x7ecc(gp)                |     t9 = *((gp - 8115));
    0x0011f590 move a0, s0                       |     a0 = s0;
    0x0011f594 jalr t9                           |     t9 ();
    0x0011f598 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x0011f59c b 0x11f444                        |     goto label_2;
                                                 | label_8:
    0x0011f5a0 lw a1, -0x7fb0(gp)                |     a1 = *((gp - 8172));
    0x0011f5a4 lw t9, -0x7398(gp)                |     t9 = *((gp - 7398));
    0x0011f5a8 addiu a1, a1, 0x2dbc              |     a1 += 0x2dbc;
    0x0011f5ac addiu t9, t9, -0x3c0c             |     t9 += -0x3c0c;
    0x0011f5b0 move a0, s0                       |     a0 = s0;
    0x0011f5b4 bal 0x11c3f4                      |     fcn_0011c3f4 ();
    0x0011f5b8 lw v0, 0x1c(sp)                   |     v0 = *(var_1ch);
    0x0011f5bc sw s5, 0x28(s0)                   |     *((s0 + 10)) = s5;
    0x0011f5c0 sw v0, 0x24(s0)                   |     *((s0 + 9)) = v0;
    0x0011f5c4 sw s6, 0x2c(s0)                   |     *((s0 + 11)) = s6;
    0x0011f5c8 sw s7, 0x30(s0)                   |     *((s0 + 12)) = s7;
    0x0011f5cc sw fp, 0x100(s0)                  |     *(s0) = fp;
    0x0011f5d0 sw s3, 0x18(s0)                   |     *((s0 + 6)) = s3;
    0x0011f5d4 b 0x11f524                        |     goto label_3;
                                                 | label_10:
    0x0011f5d8 move a0, s2                       |     a0 = s2;
    0x0011f5dc jalr t9                           |     t9 ();
    0x0011f5e0 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x0011f5e4 sw v0, 4(s4)                      |     *((s4 + 1)) = v0;
    0x0011f5e8 b 0x11f450                        |     goto label_4;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x4594c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlSAXParseEntity ()         | void xmlSAXParseEntity () {
    0x0004594c lui gp, 0x15                  |     
    0x00045950 addiu gp, gp, -0x42dc         |     
    0x00045954 addu gp, gp, t9               |     gp += t9;
    0x00045958 addiu sp, sp, -0x28           |     
    0x0004595c move v0, a1                   |     v0 = a1;
    0x00045960 lw t9, -0x7d04(gp)            |     t9 = *((gp - 8001));
    0x00045964 move a1, zero                 |     a1 = 0;
    0x00045968 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0004596c sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x00045970 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x00045974 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x00045978 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x0004597c move s1, a0                   |     s1 = a0;
    0x00045980 move a0, v0                   |     a0 = v0;
    0x00045984 bal 0x426ac                   |     sym_xmlCreateURLParserCtxt ();
    0x00045988 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0004598c beqz v0, 0x45a24              |         goto label_1;
                                             |     }
    0x00045990 move s0, v0                   |     s0 = v0;
                                             |     if (s1 != 0) {
    0x00045994 beqz s1, 0x459bc              |         
    0x00045998 lw a0, (v0)                   |         a0 = *(v0);
    0x0004599c lw v0, -0x7158(gp)            |         v0 = *(gp);
                                             |         if (a0 != 0) {
    0x000459a0 beqz a0, 0x459b4              |             
    0x000459a4 lw t9, (v0)                   |             t9 = *(v0);
    0x000459a8 jalr t9                       |             t9 ();
    0x000459ac nop                           |             
    0x000459b0 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x000459b4 sw s1, (s0)                   |         *(s0) = s1;
    0x000459b8 sw zero, 4(s0)                |         *((s0 + 1)) = 0;
                                             |     }
    0x000459bc lw t9, -0x7c94(gp)            |     t9 = *(gp);
    0x000459c0 move a0, s0                   |     a0 = s0;
    0x000459c4 bal 0x4559c                   |     sym_xmlParseExtParsedEnt ();
    0x000459c8 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x000459cc lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000459d0 beqz v0, 0x45a08              |         goto label_2;
                                             |     }
    0x000459d4 lw s2, 8(s0)                  |     s2 = *((s0 + 2));
                                             |     do {
    0x000459d8 sw zero, (s0)                 |         *(s0) = 0;
                                             |         if (s1 != 0) {
    0x000459dc bnel s1, zero, 0x459e0        |             
                                             |         }
    0x000459e0 lw t9, -0x7e38(gp)            |         t9 = *((gp - 8078));
    0x000459e4 move a0, s0                   |         a0 = s0;
    0x000459e8 bal 0x2a890                   |         sym_xmlFreeParserCtxt ();
                                             | label_0:
    0x000459ec lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x000459f0 move v0, s2                   |         v0 = s2;
    0x000459f4 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x000459f8 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x000459fc lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x00045a00 addiu sp, sp, 0x28            |         
    0x00045a04 jr ra                         |         return v0;
                                             | label_2:
    0x00045a08 lw t9, -0x7d0c(gp)            |         t9 = *(gp);
    0x00045a0c lw a0, 8(s0)                  |         a0 = *((s0 + 2));
    0x00045a10 move s2, zero                 |         s2 = 0;
    0x00045a14 bal 0x50640                   |         sym_xmlFreeDoc ();
    0x00045a18 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00045a1c sw zero, 8(s0)                |         *((s0 + 2)) = 0;
    0x00045a20 b 0x459d8                     |         
                                             |     } while (1);
                                             | label_1:
    0x00045a24 move s2, zero                 |     s2 = 0;
    0x00045a28 b 0x459ec                     |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x650fc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlSaveUri ()                | void xmlSaveUri () {
    0x000650fc lui gp, 0x13                  |     
    0x00065100 addiu gp, gp, -0x3a8c         |     
    0x00065104 addu gp, gp, t9               |     gp += t9;
    0x00065108 addiu sp, sp, -0x50           |     
    0x0006510c sw s3, 0x34(sp)               |     *(var_34h) = s3;
    0x00065110 lw s3, -0x7000(gp)            |     s3 = *((gp - 7168));
    0x00065114 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00065118 sw ra, 0x4c(sp)               |     *(var_4ch) = ra;
    0x0006511c lw v0, (s3)                   |     v0 = *(s3);
    0x00065120 sw fp, 0x48(sp)               |     *(var_48h) = fp;
    0x00065124 sw s7, 0x44(sp)               |     *(var_44h) = s7;
    0x00065128 sw s6, 0x40(sp)               |     *(var_40h) = s6;
    0x0006512c sw s5, 0x3c(sp)               |     *(var_3ch) = s5;
    0x00065130 sw s4, 0x38(sp)               |     *(var_38h) = s4;
    0x00065134 sw s2, 0x30(sp)               |     *(var_30h) = s2;
    0x00065138 sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x0006513c sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x00065140 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x00065144 move s2, a0                   |     s2 = a0;
                                             |     if (a0 == 0) {
    0x00065148 beqz a0, 0x65a44              |         goto label_42;
                                             |     }
    0x0006514c addiu v0, zero, 0x50          |     v0 = 0x50;
    0x00065150 sw v0, 0x20(sp)               |     *(var_20h_2) = v0;
    0x00065154 lw v0, -0x6ddc(gp)            |     v0 = *((gp - 7031));
    0x00065158 lw t9, (v0)                   |     t9 = *(v0);
    0x0006515c addiu a0, zero, 0x51          |     a0 = 0x51;
    0x00065160 jalr t9                       |     t9 ();
    0x00065164 move s7, v0                   |     s7 = v0;
    0x00065168 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0006516c beqz v0, 0x65b70              |         goto label_43;
                                             |     }
    0x00065170 lw s1, (s2)                   |     s1 = *(s2);
                                             |     if (s1 == 0) {
    0x00065174 beql s1, zero, 0x65494        |         goto label_44;
                                             |     }
    0x00065178 lw s6, 4(s2)                  |     s6 = *((s2 + 1));
    0x0006517c lb v0, (s1)                   |     v0 = *(s1);
    0x00065180 move s0, zero                 |     s0 = 0;
                                             |     if (v0 == 0) {
    0x00065184 beqz v0, 0x651f8              |         goto label_45;
                                             |     }
    0x00065188 lw s4, -0x7b38(gp)            |     s4 = *((gp - 7886));
    0x0006518c addiu s5, sp, 0x20            |     s5 = sp + 0x20;
    0x00065190 addiu s4, s4, 0x4cf4          |     s4 += 0x4cf4;
    0x00065194 b 0x651b0                     |     
                                             |     while (v0 == 0) {
    0x00065198 addu v0, s7, s0               |         v0 = s7 + s0;
    0x0006519c lbu v1, -1(s1)                |         v1 = *((s1 - 1));
    0x000651a0 sb v1, (v0)                   |         *(v0) = v1;
    0x000651a4 lb v0, (s1)                   |         v0 = *(s1);
    0x000651a8 addiu s0, s0, 1               |         s0++;
                                             |         if (v0 == 0) {
    0x000651ac beqz v0, 0x651f8              |             goto label_45;
                                             |         }
                                             | label_0:
    0x000651b0 lw v0, 0x20(sp)               |         v0 = *(var_20h_2);
    0x000651b4 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x000651b8 addiu s1, s1, 1               |         s1++;
    0x000651bc bnel v0, zero, 0x65198        |         
                                             |     }
    0x000651c0 move a1, s5                   |     a1 = s5;
    0x000651c4 move t9, s4                   |     t9 = s4;
    0x000651c8 move a0, s7                   |     a0 = s7;
    0x000651cc bal 0x64cf4                   |     fcn_00064cf4 ();
    0x000651d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000651d4 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x000651d8 addiu s1, s1, 1               |     s1++;
    0x000651dc move s7, v0                   |     s7 = v0;
    0x000651e0 addu v0, s7, s0               |     v0 = s7 + s0;
    0x000651e4 lbu v1, -1(s1)                |     v1 = *((s1 - 1));
    0x000651e8 sb v1, (v0)                   |     *(v0) = v1;
    0x000651ec lb v0, (s1)                   |     v0 = *(s1);
    0x000651f0 addiu s0, s0, 1               |     s0++;
                                             |     if (v0 != 0) {
    0x000651f4 bnez v0, 0x651b0              |         goto label_0;
                                             |     }
                                             | label_45:
    0x000651f8 lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
    0x000651fc slt v0, s0, v0                |     v0 = (s0 < v0) ? 1 : 0;
    0x00065200 lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
                                             |     if (v0 == 0) {
    0x00065204 beqz v0, 0x656b4              |         goto label_46;
                                             |     }
                                             | label_11:
    0x00065208 addu v0, s7, s0               |     v0 = s7 + s0;
    0x0006520c addiu v1, zero, 0x3a          |     v1 = 0x3a;
    0x00065210 sb v1, (v0)                   |     *(v0) = v1;
    0x00065214 lw s6, 4(s2)                  |     s6 = *((s2 + 1));
    0x00065218 addiu s0, s0, 1               |     s0++;
    0x0006521c lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
                                             |     if (s6 == 0) {
    0x00065220 beqz s6, 0x654a0              |         goto label_47;
                                             |     }
                                             | label_6:
    0x00065224 addiu s6, s6, 1               |     s6++;
    0x00065228 lw s4, -0x7b38(gp)            |     s4 = *((gp - 7886));
    0x0006522c lb v1, -1(s6)                 |     v1 = *((s6 - 1));
    0x00065230 lui s5, 0x1ff                 |     s5 = 0x1ff0000;
    0x00065234 addiu fp, sp, 0x20            |     fp = sp + 0x20;
    0x00065238 addiu s4, s4, 0x4cf4          |     s4 += 0x4cf4;
    0x0006523c ori s5, s5, 0xb3c1            |     s5 |= 0xb3c1;
                                             |     if (v1 == 0) {
    0x00065240 beqz v1, 0x6538c              |         goto label_22;
                                             |     }
                                             | label_1:
    0x00065244 addiu s1, s0, 3               |     s1 = s0 + 3;
    0x00065248 slt v0, s1, v0                |     v0 = (s1 < v0) ? 1 : 0;
    0x0006524c move a1, fp                   |     a1 = fp;
                                             |     if (v0 == 0) {
    0x00065250 beqz v0, 0x65454              |         goto label_48;
                                             |     }
                                             | label_4:
    0x00065254 andi a0, v1, 0xff             |     a0 = v1 & 0xff;
    0x00065258 addiu v0, a0, -0x24           |     v0 = a0 + -0x24;
    0x0006525c andi v0, v0, 0xff             |     v0 &= 0xff;
    0x00065260 sltiu a1, v0, 0x1d            |     a1 = (v0 < 0x1d) ? 1 : 0;
                                             |     if (a1 == 0) {
    0x00065264 beql a1, zero, 0x65354        |         goto label_49;
                                             |     }
    0x00065268 addiu v0, zero, -5            |     v0 = -5;
    0x0006526c lui a1, 0x1ac0                |     a1 = 0x1ac00985;
    0x00065270 addiu a1, a1, 0x985           |     
    0x00065274 srlv v0, a1, v0               |     v0 = a1 >> v0;
    0x00065278 ext v0, v0, 0, 1              |     __asm ("ext v0, v0, 0, 1");
    0x0006527c addu v0, s7, s0               |     v0 = s7 + s0;
                                             |     if (v0 != 0) {
    0x00065280 bnez v0, 0x65370              |         goto label_39;
                                             |     }
    0x00065284 andi v0, a0, 0xdf             |     v0 = a0 & 0xdf;
                                             |     do {
    0x00065288 addiu v0, v0, -0x41           |         v0 += -0x41;
    0x0006528c sltiu v0, v0, 0x1a            |         v0 = (v0 < 0x1a) ? 1 : 0;
    0x00065290 addu v0, s7, s0               |         v0 = s7 + s0;
                                             |         if (v0 != 0) {
    0x00065294 bnez v0, 0x65370              |             goto label_39;
                                             |         }
    0x00065298 addiu v0, a0, -0x21           |         v0 = a0 + -0x21;
    0x0006529c andi v0, v0, 0xff             |         v0 &= 0xff;
    0x000652a0 sltiu a1, v0, 0x19            |         a1 = (v0 < 0x19) ? 1 : 0;
    0x000652a4 srlv v0, s5, v0               |         v0 = s5 >> v0;
                                             |         if (a1 != 0) {
    0x000652a8 bnez a1, 0x65df4              |             goto label_50;
                                             |         }
    0x000652ac addiu v0, zero, 0x7e          |         v0 = 0x7e;
    0x000652b0 addu v1, s7, s0               |         v1 = s7 + s0;
                                             |         if (v1 == v0) {
    0x000652b4 beq v1, v0, 0x6536c           |             goto label_51;
                                             |         }
    0x000652b8 addiu a1, zero, 0x25          |         a1 = 0x25;
    0x000652bc sltiu v0, a0, 0xa0            |         v0 = (a0 < 0xa0) ? 1 : 0;
    0x000652c0 sb a1, (v1)                   |         *(v1) = a1;
    0x000652c4 addiu a1, zero, 0x37          |         a1 = 0x37;
                                             |         if (v0 != 0) {
    0x000652c8 bnez v0, 0x65e0c              |             goto label_52;
                                             |         }
                                             | label_40:
    0x000652cc andi a2, a0, 0xf              |         a2 = a0 & 0xf;
    0x000652d0 sltiu v0, a2, 0xa             |         v0 = (a2 < 0xa) ? 1 : 0;
    0x000652d4 addiu t0, zero, 0x37          |         t0 = 0x37;
    0x000652d8 addiu a3, zero, 0x30          |         a3 = 0x30;
    0x000652dc sra a0, a0, 4                 |         a0 >>= 4;
                                             |         if (v0 != 0) {
    0x000652e0 movz a3, t0, v0               |             a3 = t0;
                                             |         }
    0x000652e4 addu s0, s7, s0               |         s0 = s7 + s0;
    0x000652e8 addu a1, a1, a0               |         a1 += a0;
    0x000652ec addu v0, a3, a2               |         v0 = a3 + a2;
    0x000652f0 sb a1, 1(v1)                  |         *((v1 + 1)) = a1;
    0x000652f4 sb v0, 2(s0)                  |         *((s0 + 2)) = v0;
    0x000652f8 b 0x65378                     |         goto label_53;
                                             | label_3:
    0x000652fc lw v0, -0x7158(gp)            |         v0 = *(gp);
    0x00065300 move a0, s7                   |         a0 = s7;
    0x00065304 lw t9, (v0)                   |         t9 = *(v0);
    0x00065308 move s7, zero                 |         s7 = 0;
    0x0006530c jalr t9                       |         t9 ();
    0x00065310 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_2:
    0x00065314 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x00065318 lw v1, (s3)                   |         v1 = *(s3);
    0x0006531c move v0, s7                   |         v0 = s7;
                                             |         if (a0 != v1) {
    0x00065320 bne a0, v1, 0x65e34           |             goto label_54;
                                             |         }
    0x00065324 lw ra, 0x4c(sp)               |         ra = *(var_4ch);
    0x00065328 lw fp, 0x48(sp)               |         fp = *(var_48h);
    0x0006532c lw s7, 0x44(sp)               |         s7 = *(var_44h);
    0x00065330 lw s6, 0x40(sp)               |         s6 = *(var_40h);
    0x00065334 lw s5, 0x3c(sp)               |         s5 = *(var_3ch);
    0x00065338 lw s4, 0x38(sp)               |         s4 = *(var_38h);
    0x0006533c lw s3, 0x34(sp)               |         s3 = *(var_34h);
    0x00065340 lw s2, 0x30(sp)               |         s2 = *(var_30h);
    0x00065344 lw s1, 0x2c(sp)               |         s1 = *(var_2ch);
    0x00065348 lw s0, 0x28(sp)               |         s0 = *(var_28h);
    0x0006534c addiu sp, sp, 0x50            |         
    0x00065350 jr ra                         |         return v0;
                                             | label_49:
    0x00065354 and v0, v1, v0                |         v0 = v1 & v0;
    0x00065358 addiu a1, zero, 0x5b          |         a1 = 0x5b;
    0x0006535c addiu v0, zero, 0x5d          |         v0 = 0x5d;
                                             |         if (v0 == a1) {
    0x00065360 beq v0, a1, 0x6536c           |             goto label_51;
                                             |         }
    0x00065364 andi v0, a0, 0xdf             |         v0 = a0 & 0xdf;
    0x00065368 bne v1, v0, 0x65288           |         
                                             |     } while (v1 != v0);
                                             | label_51:
    0x0006536c addu v0, s7, s0               |     v0 = s7 + s0;
                                             | label_39:
    0x00065370 addiu s1, s0, 1               |     s1 = s0 + 1;
    0x00065374 sb a0, (v0)                   |     *(v0) = a0;
                                             | label_53:
    0x00065378 addiu s6, s6, 1               |     s6++;
    0x0006537c lb v1, -1(s6)                 |     v1 = *((s6 - 1));
    0x00065380 lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
    0x00065384 move s0, s1                   |     s0 = s1;
                                             |     if (v1 != 0) {
    0x00065388 bnez v1, 0x65244              |         goto label_1;
                                             |     }
                                             | label_22:
    0x0006538c lw v1, 0x20(s2)               |     v1 = *((s2 + 8));
    0x00065390 addiu v1, s0, 3               |     v1 = s0 + 3;
                                             |     if (v1 == 0) {
    0x00065394 beqz v1, 0x6543c              |         goto label_55;
                                             |     }
    0x00065398 slt v0, v1, v0                |     v0 = (v1 < v0) ? 1 : 0;
    0x0006539c lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
                                             |     if (v0 == 0) {
    0x000653a0 beqz v0, 0x65a24              |         goto label_56;
                                             |     }
                                             | label_21:
    0x000653a4 addu v0, s7, s0               |     v0 = s7 + s0;
    0x000653a8 addiu v1, zero, 0x23          |     v1 = 0x23;
    0x000653ac sb v1, (v0)                   |     *(v0) = v1;
    0x000653b0 lw s4, 0x20(s2)               |     s4 = *((s2 + 8));
    0x000653b4 lw s1, -0x7b38(gp)            |     s1 = *((gp - 7886));
    0x000653b8 lui s2, 0x17ff                |     s2 = 0x17ff0000;
    0x000653bc lb a0, (s4)                   |     a0 = *(s4);
    0x000653c0 addiu s0, s0, 1               |     s0++;
    0x000653c4 addiu s6, sp, 0x20            |     s6 = sp + 0x20;
    0x000653c8 addiu s1, s1, 0x4cf4          |     s1 += 0x4cf4;
    0x000653cc ori s2, s2, 0xffe9            |     s2 |= 0xffe9;
    0x000653d0 lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
                                             |     if (a0 == 0) {
    0x000653d4 beqz a0, 0x6543c              |         goto label_55;
                                             |     }
                                             |     do {
    0x000653d8 addiu s5, s0, 3               |         s5 = s0 + 3;
    0x000653dc slt v0, s5, v0                |         v0 = (s5 < v0) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x000653e0 beql v0, zero, 0x65474        |             goto label_57;
                                             |         }
    0x000653e4 move a1, s6                   |         a1 = s6;
                                             | label_5:
    0x000653e8 andi v1, a0, 0xff             |         v1 = a0 & 0xff;
    0x000653ec addiu v0, v1, -0x61           |         v0 = v1 + -0x61;
    0x000653f0 sltiu v0, v0, 0x1a            |         v0 = (v0 < 0x1a) ? 1 : 0;
    0x000653f4 addu a2, s7, s0               |         a2 = s7 + s0;
    0x000653f8 addiu s4, s4, 1               |         s4++;
    0x000653fc addiu a1, s0, 1               |         a1 = s0 + 1;
                                             |         if (v0 == 0) {
    0x00065400 bnez v0, 0x65428              |             
    0x00065404 addiu v0, v1, -0x21           |             v0 = v1 + -0x21;
    0x00065408 andi v0, v0, 0xff             |             v0 &= 0xff;
    0x0006540c sltiu a3, v0, 0x1d            |             a3 = (v0 < 0x1d) ? 1 : 0;
                                             |             if (a3 == 0) {
    0x00065410 beql a3, zero, 0x656d4        |                 goto label_58;
                                             |             }
    0x00065414 addiu v0, zero, 0x7e          |             v0 = 0x7e;
    0x00065418 srlv v0, s2, v0               |             v0 = s2 >> v0;
    0x0006541c ext v0, v0, 0, 1              |             __asm ("ext v0, v0, 0, 1");
                                             |             if (v0 == 0) {
    0x00065420 beql v0, zero, 0x656e0        |                 goto label_59;
                                             |             }
    0x00065424 addiu v0, v1, -0x3f           |             v0 = v1 + -0x3f;
                                             |         }
                                             | label_13:
    0x00065428 sb v1, (a2)                   |         *(a2) = v1;
                                             | label_12:
    0x0006542c move s0, a1                   |         s0 = a1;
                                             | label_14:
    0x00065430 lb a0, (s4)                   |         a0 = *(s4);
    0x00065434 lw v0, 0x20(sp)               |         v0 = *(var_20h_2);
    0x00065438 bnez a0, 0x653d8              |         
                                             |     } while (a0 != 0);
                                             | label_55:
    0x0006543c slt v0, s0, v0                |     v0 = (s0 < v0) ? 1 : 0;
    0x00065440 lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
                                             |     if (v0 == 0) {
    0x00065444 beqz v0, 0x655a0              |         goto label_60;
                                             |     }
    0x00065448 addu s0, s7, s0               |     s0 = s7 + s0;
    0x0006544c sb zero, (s0)                 |     *(s0) = 0;
    0x00065450 b 0x65314                     |     goto label_2;
                                             | label_48:
    0x00065454 move t9, s4                   |     t9 = s4;
    0x00065458 move a0, s7                   |     a0 = s7;
    0x0006545c bal 0x64cf4                   |     fcn_00064cf4 ();
    0x00065460 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065464 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x00065468 lb v1, -1(s6)                 |     v1 = *((s6 - 1));
    0x0006546c move s7, v0                   |     s7 = v0;
    0x00065470 b 0x65254                     |     goto label_4;
                                             | label_57:
    0x00065474 move t9, s1                   |     t9 = s1;
    0x00065478 move a0, s7                   |     a0 = s7;
    0x0006547c bal 0x64cf4                   |     fcn_00064cf4 ();
    0x00065480 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065484 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x00065488 lb a0, (s4)                   |     a0 = *(s4);
    0x0006548c move s7, v0                   |     s7 = v0;
    0x00065490 b 0x653e8                     |     goto label_5;
                                             | label_44:
    0x00065494 move s0, zero                 |     s0 = 0;
    0x00065498 lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
                                             |     if (s6 != 0) {
    0x0006549c bnez s6, 0x65224              |         goto label_6;
                                             |     }
                                             | label_47:
    0x000654a0 lw v1, 0xc(s2)                |     v1 = *((s2 + 3));
                                             |     if (v1 == 0) {
    0x000654a4 beql v1, zero, 0x655c8        |         goto label_61;
                                             |     }
    0x000654a8 lw a0, 0x14(s2)               |     a0 = *((s2 + 5));
    0x000654ac addiu v1, s0, 3               |     v1 = s0 + 3;
                                             | label_7:
    0x000654b0 slt v0, v1, v0                |     v0 = (v1 < v0) ? 1 : 0;
    0x000654b4 lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
                                             |     if (v0 == 0) {
    0x000654b8 beqz v0, 0x65a54              |         goto label_62;
                                             |     }
                                             | label_23:
    0x000654bc addu v0, s7, s0               |     v0 = s7 + s0;
    0x000654c0 addiu v1, zero, 0x2f          |     v1 = 0x2f;
    0x000654c4 sb v1, (v0)                   |     *(v0) = v1;
    0x000654c8 sb v1, 1(v0)                  |     *((v0 + 1)) = v1;
    0x000654cc lw s5, 0x10(s2)               |     s5 = *((s2 + 4));
    0x000654d0 addiu s0, s0, 2               |     s0 += 2;
                                             |     if (s5 == 0) {
    0x000654d4 beqz s5, 0x65764              |         goto label_63;
                                             |     }
    0x000654d8 lw s1, -0x7b38(gp)            |     s1 = *((gp - 7886));
    0x000654dc lui s4, 0x17ff                |     s4 = 0x17ff0000;
    0x000654e0 addiu fp, sp, 0x20            |     fp = sp + 0x20;
    0x000654e4 addiu s1, s1, 0x4cf4          |     s1 += 0x4cf4;
    0x000654e8 ori s4, s4, 0xbfe9            |     s4 |= 0xbfe9;
                                             |     do {
                                             | label_9:
    0x000654ec lw v0, 0x20(sp)               |         v0 = *(var_20h_2);
    0x000654f0 lb v1, (s5)                   |         v1 = *(s5);
    0x000654f4 addiu s6, s0, 3               |         s6 = s0 + 3;
    0x000654f8 slt v0, s6, v0                |         v0 = (s6 < v0) ? 1 : 0;
                                             |         if (v1 == 0) {
    0x000654fc beqz v1, 0x6574c              |             goto label_64;
                                             |         }
                                             |         if (v0 == 0) {
    0x00065500 beql v0, zero, 0x65694        |             goto label_65;
                                             |         }
    0x00065504 move a1, fp                   |         a1 = fp;
                                             | label_10:
    0x00065508 andi a0, v1, 0xff             |         a0 = v1 & 0xff;
    0x0006550c andi v0, a0, 0xdf             |         v0 = a0 & 0xdf;
    0x00065510 addiu v0, v0, -0x41           |         v0 += -0x41;
    0x00065514 sltiu v0, v0, 0x1a            |         v0 = (v0 < 0x1a) ? 1 : 0;
    0x00065518 addu a2, s7, s0               |         a2 = s7 + s0;
    0x0006551c addiu s5, s5, 1               |         s5++;
    0x00065520 addiu a1, s0, 1               |         a1 = s0 + 1;
                                             |         if (v0 != 0) {
    0x00065524 bnez v0, 0x65688              |             goto label_66;
                                             |         }
    0x00065528 addiu v0, zero, 0x5f          |         v0 = 0x5f;
                                             |         if (v1 == v0) {
    0x0006552c beql v1, v0, 0x6568c          |             goto label_67;
                                             |         }
    0x00065530 sb a0, (a2)                   |         *(a2) = a0;
    0x00065534 addiu v0, a0, -0x21           |         v0 = a0 + -0x21;
    0x00065538 andi v0, v0, 0xff             |         v0 &= 0xff;
    0x0006553c sltiu a3, v0, 0x1d            |         a3 = (v0 < 0x1d) ? 1 : 0;
    0x00065540 srlv v0, s4, v0               |         v0 = s4 >> v0;
                                             |         if (a3 != 0) {
    0x00065544 bnez a3, 0x6567c              |             goto label_68;
                                             |         }
    0x00065548 addiu v0, zero, 0x7e          |         v0 = 0x7e;
                                             |         if (v1 == v0) {
    0x0006554c beql v1, v0, 0x6568c          |             goto label_67;
                                             |         }
    0x00065550 sb a0, (a2)                   |         *(a2) = a0;
    0x00065554 andi a3, a0, 0xf              |         a3 = a0 & 0xf;
                                             | label_8:
    0x00065558 addiu t1, zero, 0x37          |         t1 = 0x37;
    0x0006555c sltiu v1, a0, 0xa0            |         v1 = (a0 < 0xa0) ? 1 : 0;
    0x00065560 addiu t0, zero, 0x30          |         t0 = 0x30;
    0x00065564 sltiu v0, a3, 0xa             |         v0 = (a3 < 0xa) ? 1 : 0;
    0x00065568 move t3, t1                   |         t3 = t1;
    0x0006556c addu t2, s7, s0               |         t2 = s7 + s0;
                                             |         if (v1 == 0) {
    0x00065570 movn t3, t0, v1               |             t3 = t0;
                                             |         }
    0x00065574 sra a0, a0, 4                 |         a0 >>= 4;
    0x00065578 addu a1, s7, a1               |         a1 = s7 + a1;
                                             |         if (v0 != 0) {
    0x0006557c movz t0, t1, v0               |             t0 = t1;
                                             |         }
    0x00065580 addu v1, t3, a0               |         v1 = t3 + a0;
    0x00065584 addu v0, t0, a3               |         v0 = t0 + a3;
    0x00065588 addiu a0, zero, 0x25          |         a0 = 0x25;
    0x0006558c sb a0, (a2)                   |         *(a2) = a0;
    0x00065590 move s0, s6                   |         s0 = s6;
    0x00065594 sb v1, (a1)                   |         *(a1) = v1;
    0x00065598 sb v0, 2(t2)                  |         *((t2 + 2)) = v0;
    0x0006559c b 0x654ec                     |         
                                             |     } while (1);
                                             | label_60:
    0x000655a0 addiu a1, sp, 0x20            |     a1 = sp + 0x20;
    0x000655a4 addiu t9, t9, 0x4cf4          |     t9 += 0x4cf4;
    0x000655a8 move a0, s7                   |     a0 = s7;
    0x000655ac bal 0x64cf4                   |     fcn_00064cf4 ();
    0x000655b0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000655b4 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x000655b8 move s7, v0                   |     s7 = v0;
    0x000655bc addu s0, s7, s0               |     s0 = s7 + s0;
    0x000655c0 sb zero, (s0)                 |     *(s0) = 0;
    0x000655c4 b 0x65314                     |     goto label_2;
                                             | label_61:
    0x000655c8 addiu v1, zero, -1            |     v1 = -1;
    0x000655cc addiu v1, s0, 3               |     v1 = s0 + 3;
                                             |     if (a0 == v1) {
    0x000655d0 beq a0, v1, 0x654b0           |         goto label_7;
                                             |     }
    0x000655d4 lw v1, 8(s2)                  |     v1 = *((s2 + 2));
    0x000655d8 addiu v1, s0, 3               |     v1 = s0 + 3;
                                             |     if (v1 == 0) {
    0x000655dc beqz v1, 0x65d0c              |         goto label_69;
                                             |     }
    0x000655e0 slt v0, v1, v0                |     v0 = (v1 < v0) ? 1 : 0;
    0x000655e4 lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
                                             |     if (v0 == 0) {
    0x000655e8 beqz v0, 0x65d34              |         goto label_70;
                                             |     }
                                             | label_36:
    0x000655ec addu v0, s7, s0               |     v0 = s7 + s0;
    0x000655f0 addiu v1, zero, 0x2f          |     v1 = 0x2f;
    0x000655f4 sb v1, (v0)                   |     *(v0) = v1;
    0x000655f8 sb v1, 1(v0)                  |     *((v0 + 1)) = v1;
    0x000655fc lw s1, -0x7b38(gp)            |     s1 = *((gp - 7886));
    0x00065600 lui s4, 0x8fff                |     s4 = 0x8fff0000;
    0x00065604 lw s6, 8(s2)                  |     s6 = *((s2 + 2));
    0x00065608 addiu s0, s0, 2               |     s0 += 2;
    0x0006560c addiu fp, sp, 0x20            |     fp = sp + 0x20;
    0x00065610 addiu s1, s1, 0x4cf4          |     s1 += 0x4cf4;
    0x00065614 ori s4, s4, 0xfffd            |     s4 |= 0xfffd;
                                             |     do {
                                             | label_29:
    0x00065618 lb v1, (s6)                   |         v1 = *(s6);
    0x0006561c lw v0, 0x20(sp)               |         v0 = *(var_20h_2);
                                             |         if (v1 == 0) {
    0x00065620 beqz v1, 0x65848              |             goto label_38;
                                             |         }
    0x00065624 addiu s5, s0, 3               |         s5 = s0 + 3;
    0x00065628 slt v0, s5, v0                |         v0 = (s5 < v0) ? 1 : 0;
    0x0006562c andi v1, v1, 0xff             |         v1 &= 0xff;
                                             |         if (v0 == 0) {
    0x00065630 beqz v0, 0x65ab8              |             goto label_71;
                                             |         }
    0x00065634 addiu v0, v1, -0x5f           |         v0 = v1 + -0x5f;
    0x00065638 andi v0, v0, 0xff             |         v0 &= 0xff;
    0x0006563c sltiu a0, v0, 0x20            |         a0 = (v0 < 0x20) ? 1 : 0;
                                             |         if (a0 == 0) {
    0x00065640 beql a0, zero, 0x65af4        |             goto label_72;
                                             |         }
    0x00065644 addiu v0, v1, -0x21           |         v0 = v1 + -0x21;
    0x00065648 srlv v0, s4, v0               |         v0 = s4 >> v0;
                                             | label_26:
    0x0006564c ext v0, v0, 0, 1              |         __asm ("ext v0, v0, 0, 1");
    0x00065650 addu a0, s7, s0               |         a0 = s7 + s0;
    0x00065654 addiu s6, s6, 1               |         s6++;
    0x00065658 addiu a1, s0, 1               |         a1 = s0 + 1;
                                             |         if (v0 == 0) {
    0x0006565c bnez v0, 0x65670              |             
                                             | label_27:
    0x00065660 addiu v0, v1, -0x40           |             v0 = v1 + -0x40;
    0x00065664 sltiu v0, v0, 0x1b            |             v0 = (v0 < 0x1b) ? 1 : 0;
    0x00065668 andi a3, v1, 0xf              |             a3 = v1 & 0xf;
                                             |             if (v0 == 0) {
    0x0006566c beqz v0, 0x65b28              |                 goto label_73;
                                             |             }
                                             |         }
    0x00065670 move s0, a1                   |         s0 = a1;
                                             | label_28:
    0x00065674 sb v1, (a0)                   |         *(a0) = v1;
    0x00065678 b 0x65618                     |         
                                             |     } while (1);
                                             | label_68:
    0x0006567c ext v0, v0, 0, 1              |     __asm ("ext v0, v0, 0, 1");
    0x00065680 andi a3, a0, 0xf              |     a3 = a0 & 0xf;
                                             |     if (v0 == 0) {
    0x00065684 beqz v0, 0x65558              |         goto label_8;
                                             |     }
                                             | label_66:
    0x00065688 sb a0, (a2)                   |     *(a2) = a0;
                                             | label_67:
    0x0006568c move s0, a1                   |     s0 = a1;
    0x00065690 b 0x654ec                     |     goto label_9;
                                             | label_65:
    0x00065694 move t9, s1                   |     t9 = s1;
    0x00065698 move a0, s7                   |     a0 = s7;
    0x0006569c bal 0x64cf4                   |     fcn_00064cf4 ();
    0x000656a0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000656a4 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x000656a8 lb v1, (s5)                   |     v1 = *(s5);
    0x000656ac move s7, v0                   |     s7 = v0;
    0x000656b0 b 0x65508                     |     goto label_10;
                                             | label_46:
    0x000656b4 addiu a1, sp, 0x20            |     a1 = sp + 0x20;
    0x000656b8 addiu t9, t9, 0x4cf4          |     t9 += 0x4cf4;
    0x000656bc move a0, s7                   |     a0 = s7;
    0x000656c0 bal 0x64cf4                   |     fcn_00064cf4 ();
    0x000656c4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000656c8 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x000656cc move s7, v0                   |     s7 = v0;
    0x000656d0 b 0x65208                     |     goto label_11;
                                             |     if (a0 == v0) {
                                             | label_58:
    0x000656d4 beql a0, v0, 0x6542c          |         goto label_12;
                                             |     }
    0x000656d8 sb v1, (a2)                   |     *(a2) = v1;
    0x000656dc addiu v0, v1, -0x3f           |     v0 = v1 + -0x3f;
                                             | label_59:
    0x000656e0 sltiu v0, v0, 0x1d            |     v0 = (v0 < 0x1d) ? 1 : 0;
    0x000656e4 sb v1, (a2)                   |     *(a2) = v1;
                                             |     if (v0 == 0) {
    0x000656e8 bnel v0, zero, 0x6542c        |         goto label_12;
                                             |     }
    0x000656ec addiu v0, zero, -3            |     v0 = -3;
    0x000656f0 and a0, a0, v0                |     a0 &= v0;
    0x000656f4 addiu v0, zero, 0x5d          |     v0 = 0x5d;
    0x000656f8 andi a3, v1, 0xf              |     a3 = v1 & 0xf;
                                             |     if (a0 == v0) {
    0x000656fc beq a0, v0, 0x65428           |         goto label_13;
                                             |     }
    0x00065700 addiu t0, zero, 0x30          |     t0 = 0x30;
    0x00065704 sltiu a0, v1, 0xa0            |     a0 = (v1 < 0xa0) ? 1 : 0;
    0x00065708 addiu t1, zero, 0x37          |     t1 = 0x37;
    0x0006570c sltiu v0, a3, 0xa             |     v0 = (a3 < 0xa) ? 1 : 0;
    0x00065710 addu t2, s7, a1               |     t2 = s7 + a1;
    0x00065714 move a1, t0                   |     a1 = t0;
                                             |     if (a0 != 0) {
    0x00065718 movz a1, t1, a0               |         a1 = t1;
                                             |     }
    0x0006571c addu s0, s7, s0               |     s0 = s7 + s0;
    0x00065720 sra v1, v1, 4                 |     v1 >>= 4;
                                             |     if (v0 != 0) {
    0x00065724 movz t0, t1, v0               |         t0 = t1;
                                             |     }
    0x00065728 addu v1, a1, v1               |     v1 = a1 + v1;
    0x0006572c addu v0, t0, a3               |     v0 = t0 + a3;
    0x00065730 addiu a0, zero, 0x25          |     a0 = 0x25;
    0x00065734 move a1, s5                   |     a1 = s5;
    0x00065738 sb a0, (a2)                   |     *(a2) = a0;
    0x0006573c sb v1, (t2)                   |     *(t2) = v1;
    0x00065740 sb v0, 2(s0)                  |     *((s0 + 2)) = v0;
    0x00065744 move s0, a1                   |     s0 = a1;
    0x00065748 b 0x65430                     |     goto label_14;
                                             | label_64:
    0x0006574c lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
                                             |     if (v0 == 0) {
    0x00065750 beqz v0, 0x65ccc              |         goto label_74;
                                             |     }
                                             | label_32:
    0x00065754 addu v0, s7, s0               |     v0 = s7 + s0;
    0x00065758 addiu v1, zero, 0x40          |     v1 = 0x40;
    0x0006575c sb v1, (v0)                   |     *(v0) = v1;
    0x00065760 addiu s0, s0, 1               |     s0++;
                                             | label_63:
    0x00065764 lw s1, 0xc(s2)                |     s1 = *((s2 + 3));
                                             |     if (s1 == 0) {
    0x00065768 beql s1, zero, 0x6584c        |         goto label_75;
                                             |     }
    0x0006576c lw s6, 0x18(s2)               |     s6 = *((s2 + 6));
    0x00065770 lb v0, (s1)                   |     v0 = *(s1);
    0x00065774 lw s4, -0x7b38(gp)            |     s4 = *((gp - 7886));
                                             |     if (v0 == 0) {
    0x00065778 beqz v0, 0x657d4              |         goto label_76;
                                             |     }
    0x0006577c addiu s5, sp, 0x20            |     s5 = sp + 0x20;
    0x00065780 addiu s4, s4, 0x4cf4          |     s4 += 0x4cf4;
    0x00065784 b 0x657a4                     |     goto label_77;
                                             | label_15:
    0x00065788 addiu s1, s1, 1               |     s1++;
                                             |     do {
    0x0006578c addu v0, s7, s0               |         v0 = s7 + s0;
    0x00065790 lbu v1, -1(s1)                |         v1 = *((s1 - 1));
    0x00065794 sb v1, (v0)                   |         *(v0) = v1;
    0x00065798 lb v0, (s1)                   |         v0 = *(s1);
    0x0006579c addiu s0, s0, 1               |         s0++;
                                             |         if (v0 == 0) {
    0x000657a0 beqz v0, 0x657d4              |             goto label_76;
                                             |         }
                                             | label_77:
    0x000657a4 lw v0, 0x20(sp)               |         v0 = *(var_20h_2);
    0x000657a8 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x000657ac addiu s1, s1, 1               |         s1++;
    0x000657b0 bnel v0, zero, 0x6578c        |         
                                             |     } while (v0 == 0);
    0x000657b4 move a1, s5                   |     a1 = s5;
    0x000657b8 move t9, s4                   |     t9 = s4;
    0x000657bc move a0, s7                   |     a0 = s7;
    0x000657c0 bal 0x64cf4                   |     fcn_00064cf4 ();
    0x000657c4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000657c8 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x000657cc move s7, v0                   |     s7 = v0;
    0x000657d0 b 0x65788                     |     goto label_15;
                                             | label_76:
    0x000657d4 lw v1, 0x14(s2)               |     v1 = *((s2 + 5));
    0x000657d8 lw a1, 0x20(sp)               |     a1 = *(var_20h_2);
                                             |     if (v1 <= 0) {
    0x000657dc blez v1, 0x65848              |         goto label_38;
                                             |     }
    0x000657e0 addiu v0, s0, 0xa             |     v0 = s0 + 0xa;
    0x000657e4 slt v0, v0, a1                |     v0 = (v0 < a1) ? 1 : 0;
    0x000657e8 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
                                             |     if (v0 != 0) {
    0x000657ec bnez v0, 0x6581c              |         goto label_78;
                                             |     }
    0x000657f0 lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
    0x000657f4 addiu a1, sp, 0x20            |     a1 = sp + 0x20;
    0x000657f8 addiu t9, t9, 0x4cf4          |     t9 += 0x4cf4;
    0x000657fc move a0, s7                   |     a0 = s7;
    0x00065800 bal 0x64cf4                   |     fcn_00064cf4 ();
    0x00065804 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065808 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x0006580c lw a1, 0x20(sp)               |     a1 = *(var_20h_2);
    0x00065810 lw v1, 0x14(s2)               |     v1 = *((s2 + 5));
    0x00065814 move s7, v0                   |     s7 = v0;
    0x00065818 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
                                             | label_78:
    0x0006581c lw t9, -0x7108(gp)            |     t9 = *(gp);
    0x00065820 addiu v0, v0, -0x58a0         |     v0 += -0x58a0;
    0x00065824 subu a1, a1, s0               |     __asm ("subu a1, a1, s0");
    0x00065828 addu a0, s7, s0               |     a0 = s7 + s0;
    0x0006582c sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00065830 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00065834 addiu a3, zero, -1            |     a3 = -1;
    0x00065838 addiu a2, zero, 1             |     a2 = 1;
    0x0006583c jalr t9                       |     t9 ();
    0x00065840 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00065844 addu s0, v0, s0               |     s0 = v0 + s0;
                                             | label_38:
    0x00065848 lw s6, 0x18(s2)               |     s6 = *((s2 + 6));
                                             | label_75:
    0x0006584c lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
                                             |     if (s6 == 0) {
    0x00065850 beqz s6, 0x65990              |         goto label_79;
                                             |     }
    0x00065854 lw a0, (s2)                   |     a0 = *(s2);
    0x00065858 lb v1, (s6)                   |     v1 = *(s6);
                                             |     if (a0 != 0) {
    0x0006585c beqz a0, 0x65870              |         
                                             | label_35:
    0x00065860 addiu v0, zero, 0x2f          |         v0 = 0x2f;
                                             |         if (v1 == v0) {
    0x00065864 beql v1, v0, 0x65a74          |             goto label_80;
                                             |         }
    0x00065868 lbu v0, 1(s6)                 |         v0 = *((s6 + 1));
                                             | label_25:
    0x0006586c lw v0, 0x20(sp)               |         v0 = *(var_20h_2);
                                             |     }
                                             | label_24:
    0x00065870 lw s1, -0x7b38(gp)            |     s1 = *((gp - 7886));
    0x00065874 lui s4, 0x8fff                |     s4 = 0x8fff0000;
    0x00065878 addiu fp, sp, 0x20            |     fp = sp + 0x20;
    0x0006587c addiu s1, s1, 0x4cf4          |     s1 += 0x4cf4;
    0x00065880 ori s4, s4, 0xfffd            |     s4 |= 0xfffd;
                                             |     do {
                                             | label_18:
    0x00065884 addiu s5, s0, 3               |         s5 = s0 + 3;
                                             |         if (v1 == 0) {
    0x00065888 beqz v1, 0x65990              |             goto label_79;
                                             |         }
    0x0006588c slt v0, s5, v0                |         v0 = (s5 < v0) ? 1 : 0;
    0x00065890 move a1, fp                   |         a1 = fp;
                                             |         if (v0 == 0) {
    0x00065894 beqz v0, 0x65970              |             goto label_81;
                                             |         }
                                             | label_19:
    0x00065898 andi v1, v1, 0xff             |         v1 &= 0xff;
    0x0006589c addiu v0, v1, -0x5f           |         v0 = v1 + -0x5f;
    0x000658a0 andi v0, v0, 0xff             |         v0 &= 0xff;
    0x000658a4 sltiu a0, v0, 0x20            |         a0 = (v0 < 0x20) ? 1 : 0;
                                             |         if (a0 == 0) {
    0x000658a8 beql a0, zero, 0x6592c        |             goto label_82;
                                             |         }
    0x000658ac addiu v0, v1, -0x21           |         v0 = v1 + -0x21;
    0x000658b0 srlv v0, s4, v0               |         v0 = s4 >> v0;
    0x000658b4 ext v0, v0, 0, 1              |         __asm ("ext v0, v0, 0, 1");
    0x000658b8 addu a0, s7, s0               |         a0 = s7 + s0;
    0x000658bc addiu s6, s6, 1               |         s6++;
    0x000658c0 addiu a1, s0, 1               |         a1 = s0 + 1;
                                             |         if (v0 != 0) {
    0x000658c4 bnez v0, 0x6595c              |             goto label_83;
                                             |         }
                                             | label_16:
    0x000658c8 addiu v0, v1, -0x40           |         v0 = v1 + -0x40;
    0x000658cc sltiu v0, v0, 0x1b            |         v0 = (v0 < 0x1b) ? 1 : 0;
    0x000658d0 sb v1, (a0)                   |         *(a0) = v1;
                                             |         if (v0 == 0) {
    0x000658d4 bnel v0, zero, 0x65960        |             goto label_84;
                                             |         }
    0x000658d8 andi a3, v1, 0xf              |         a3 = v1 & 0xf;
                                             | label_17:
    0x000658dc addiu t1, zero, 0x37          |         t1 = 0x37;
    0x000658e0 sltiu a2, v1, 0xa0            |         a2 = (v1 < 0xa0) ? 1 : 0;
    0x000658e4 addiu t0, zero, 0x30          |         t0 = 0x30;
    0x000658e8 sltiu v0, a3, 0xa             |         v0 = (a3 < 0xa) ? 1 : 0;
    0x000658ec move t3, t1                   |         t3 = t1;
                                             |         if (a2 == 0) {
    0x000658f0 movn t3, t0, a2               |             t3 = t0;
                                             |         }
    0x000658f4 addu t2, s7, s0               |         t2 = s7 + s0;
    0x000658f8 addu a1, s7, a1               |         a1 = s7 + a1;
    0x000658fc sra v1, v1, 4                 |         v1 >>= 4;
                                             |         if (v0 != 0) {
    0x00065900 movz t0, t1, v0               |             t0 = t1;
                                             |         }
    0x00065904 addu v1, t3, v1               |         v1 = t3 + v1;
    0x00065908 addu v0, t0, a3               |         v0 = t0 + a3;
    0x0006590c addiu a2, zero, 0x25          |         a2 = 0x25;
    0x00065910 sb a2, (a0)                   |         *(a0) = a2;
    0x00065914 sb v1, (a1)                   |         *(a1) = v1;
    0x00065918 sb v0, 2(t2)                  |         *((t2 + 2)) = v0;
    0x0006591c move s0, s5                   |         s0 = s5;
    0x00065920 lb v1, (s6)                   |         v1 = *(s6);
    0x00065924 lw v0, 0x20(sp)               |         v0 = *(var_20h_2);
    0x00065928 b 0x65884                     |         
                                             |     } while (1);
                                             | label_82:
    0x0006592c andi v0, v0, 0xff             |     v0 &= 0xff;
    0x00065930 sltiu a2, v0, 0x1d            |     a2 = (v0 < 0x1d) ? 1 : 0;
    0x00065934 addu a0, s7, s0               |     a0 = s7 + s0;
    0x00065938 addiu s6, s6, 1               |     s6++;
    0x0006593c addiu a1, s0, 1               |     a1 = s0 + 1;
                                             |     if (a2 == 0) {
    0x00065940 beqz a2, 0x658c8              |         goto label_16;
                                             |     }
    0x00065944 lui a2, 0x15ff                |     a2 = 0x15ffffe9;
    0x00065948 ori a2, a2, 0xffe9            |     
    0x0006594c srlv v0, a2, v0               |     v0 = a2 >> v0;
    0x00065950 ext v0, v0, 0, 1              |     __asm ("ext v0, v0, 0, 1");
    0x00065954 andi a3, v1, 0xf              |     a3 = v1 & 0xf;
                                             |     if (v0 == 0) {
    0x00065958 beqz v0, 0x658dc              |         goto label_17;
                                             |     }
                                             | label_83:
    0x0006595c sb v1, (a0)                   |     *(a0) = v1;
                                             | label_84:
    0x00065960 move s0, a1                   |     s0 = a1;
    0x00065964 lb v1, (s6)                   |     v1 = *(s6);
    0x00065968 lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
    0x0006596c b 0x65884                     |     goto label_18;
                                             | label_81:
    0x00065970 move t9, s1                   |     t9 = s1;
    0x00065974 move a0, s7                   |     a0 = s7;
    0x00065978 bal 0x64cf4                   |     fcn_00064cf4 ();
    0x0006597c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065980 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x00065984 lb v1, (s6)                   |     v1 = *(s6);
    0x00065988 move s7, v0                   |     s7 = v0;
    0x0006598c b 0x65898                     |     goto label_19;
                                             | label_79:
    0x00065990 lw v1, 0x28(s2)               |     v1 = *((s2 + 10));
                                             | label_34:
    0x00065994 addiu s4, s0, 1               |     s4 = s0 + 1;
                                             |     if (v1 == 0) {
    0x00065998 beqz v1, 0x65b8c              |         goto label_85;
                                             |     }
    0x0006599c slt v0, s4, v0                |     v0 = (s4 < v0) ? 1 : 0;
    0x000659a0 lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
                                             |     if (v0 == 0) {
    0x000659a4 beqz v0, 0x65cec              |         goto label_86;
                                             |     }
                                             | label_33:
    0x000659a8 addu s0, s7, s0               |     s0 = s7 + s0;
    0x000659ac addiu v0, zero, 0x3f          |     v0 = 0x3f;
    0x000659b0 sb v0, (s0)                   |     *(s0) = v0;
    0x000659b4 lw s1, 0x28(s2)               |     s1 = *((s2 + 10));
    0x000659b8 lb v0, (s1)                   |     v0 = *(s1);
    0x000659bc lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
                                             |     if (v0 == 0) {
    0x000659c0 beqz v0, 0x65d74              |         goto label_87;
                                             |     }
    0x000659c4 lw s5, -0x7b38(gp)            |     s5 = *((gp - 7886));
    0x000659c8 addiu s6, sp, 0x20            |     s6 = sp + 0x20;
    0x000659cc addiu s5, s5, 0x4cf4          |     s5 += 0x4cf4;
    0x000659d0 b 0x659f4                     |     goto label_88;
                                             | label_20:
    0x000659d4 addiu s1, s1, 1               |     s1++;
                                             |     do {
    0x000659d8 addu v0, s7, s4               |         v0 = s7 + s4;
    0x000659dc lbu v1, -1(s1)                |         v1 = *((s1 - 1));
    0x000659e0 sb v1, (v0)                   |         *(v0) = v1;
    0x000659e4 lb v0, (s1)                   |         v0 = *(s1);
    0x000659e8 move s4, s0                   |         s4 = s0;
                                             |         if (v0 == 0) {
    0x000659ec beqz v0, 0x65a4c              |             goto label_89;
                                             |         }
    0x000659f0 lw v0, 0x20(sp)               |         v0 = *(var_20h_2);
                                             | label_88:
    0x000659f4 addiu s0, s4, 1               |         s0 = s4 + 1;
    0x000659f8 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x000659fc addiu s1, s1, 1               |         s1++;
    0x00065a00 bnel v0, zero, 0x659d8        |         
                                             |     } while (v0 == 0);
    0x00065a04 move a1, s6                   |     a1 = s6;
    0x00065a08 move t9, s5                   |     t9 = s5;
    0x00065a0c move a0, s7                   |     a0 = s7;
    0x00065a10 bal 0x64cf4                   |     fcn_00064cf4 ();
    0x00065a14 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065a18 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x00065a1c move s7, v0                   |     s7 = v0;
    0x00065a20 b 0x659d4                     |     goto label_20;
                                             | label_56:
    0x00065a24 addiu a1, sp, 0x20            |     a1 = sp + 0x20;
    0x00065a28 addiu t9, t9, 0x4cf4          |     t9 += 0x4cf4;
    0x00065a2c move a0, s7                   |     a0 = s7;
    0x00065a30 bal 0x64cf4                   |     fcn_00064cf4 ();
    0x00065a34 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065a38 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x00065a3c move s7, v0                   |     s7 = v0;
    0x00065a40 b 0x653a4                     |     goto label_21;
                                             | label_42:
    0x00065a44 move s7, zero                 |     s7 = 0;
    0x00065a48 b 0x65314                     |     goto label_2;
                                             | label_89:
    0x00065a4c lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
    0x00065a50 b 0x6538c                     |     goto label_22;
                                             | label_62:
    0x00065a54 addiu a1, sp, 0x20            |     a1 = sp + 0x20;
    0x00065a58 addiu t9, t9, 0x4cf4          |     t9 += 0x4cf4;
    0x00065a5c move a0, s7                   |     a0 = s7;
    0x00065a60 bal 0x64cf4                   |     fcn_00064cf4 ();
    0x00065a64 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065a68 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x00065a6c move s7, v0                   |     s7 = v0;
    0x00065a70 b 0x654bc                     |     goto label_23;
                                             | label_80:
    0x00065a74 andi v0, v0, 0xdf             |     v0 &= 0xdf;
    0x00065a78 addiu v0, v0, -0x41           |     v0 += -0x41;
    0x00065a7c sltiu v0, v0, 0x1a            |     v0 = (v0 < 0x1a) ? 1 : 0;
    0x00065a80 lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
                                             |     if (v0 == 0) {
    0x00065a84 beqz v0, 0x65870              |         goto label_24;
                                             |     }
    0x00065a88 lb a1, 2(s6)                  |     a1 = *((s6 + 2));
    0x00065a8c addiu v0, zero, 0x3a          |     v0 = 0x3a;
    0x00065a90 lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
                                             |     if (a1 != v0) {
    0x00065a94 bne a1, v0, 0x65870           |         goto label_24;
                                             |     }
    0x00065a98 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x00065a9c lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00065aa0 addiu a1, a1, -0x5d64         |     a1 += -aav.0x00005d64;
    0x00065aa4 jalr t9                       |     t9 ();
    0x00065aa8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00065aac bnez v0, 0x65db0              |         goto label_90;
                                             |     }
    0x00065ab0 lb v1, (s6)                   |     v1 = *(s6);
    0x00065ab4 b 0x6586c                     |     goto label_25;
                                             | label_71:
    0x00065ab8 move a1, fp                   |     a1 = fp;
    0x00065abc move t9, s1                   |     t9 = s1;
    0x00065ac0 move a0, s7                   |     a0 = s7;
    0x00065ac4 bal 0x64cf4                   |     fcn_00064cf4 ();
    0x00065ac8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065acc beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x00065ad0 lb v1, (s6)                   |     v1 = *(s6);
    0x00065ad4 move s7, v0                   |     s7 = v0;
    0x00065ad8 andi v1, v1, 0xff             |     v1 &= 0xff;
    0x00065adc addiu v0, v1, -0x5f           |     v0 = v1 + -0x5f;
    0x00065ae0 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x00065ae4 sltiu a0, v0, 0x20            |     a0 = (v0 < 0x20) ? 1 : 0;
    0x00065ae8 srlv v0, s4, v0               |     v0 = s4 >> v0;
                                             |     if (a0 != 0) {
    0x00065aec bnez a0, 0x6564c              |         goto label_26;
                                             |     }
    0x00065af0 addiu v0, v1, -0x21           |     v0 = v1 + -0x21;
                                             | label_72:
    0x00065af4 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x00065af8 sltiu a2, v0, 0x1d            |     a2 = (v0 < 0x1d) ? 1 : 0;
    0x00065afc addu a0, s7, s0               |     a0 = s7 + s0;
    0x00065b00 addiu s6, s6, 1               |     s6++;
    0x00065b04 addiu a1, s0, 1               |     a1 = s0 + 1;
                                             |     if (a2 == 0) {
    0x00065b08 beqz a2, 0x65660              |         goto label_27;
                                             |     }
    0x00065b0c lui a2, 0x17ff                |     a2 = 0x17ffbfe9;
    0x00065b10 ori a2, a2, 0xbfe9            |     
    0x00065b14 srlv v0, a2, v0               |     v0 = a2 >> v0;
    0x00065b18 ext v0, v0, 0, 1              |     __asm ("ext v0, v0, 0, 1");
    0x00065b1c move s0, a1                   |     s0 = a1;
                                             |     if (v0 == 0) {
    0x00065b20 bnel v0, zero, 0x65674        |         goto label_28;
                                             |     }
    0x00065b24 andi a3, v1, 0xf              |     a3 = v1 & 0xf;
                                             | label_73:
    0x00065b28 addiu t1, zero, 0x37          |     t1 = 0x37;
    0x00065b2c sltiu a2, v1, 0xa0            |     a2 = (v1 < 0xa0) ? 1 : 0;
    0x00065b30 addiu t0, zero, 0x30          |     t0 = 0x30;
    0x00065b34 sltiu v0, a3, 0xa             |     v0 = (a3 < 0xa) ? 1 : 0;
    0x00065b38 move t3, t1                   |     t3 = t1;
                                             |     if (a2 == 0) {
    0x00065b3c movn t3, t0, a2               |         t3 = t0;
                                             |     }
    0x00065b40 addu t2, s7, s0               |     t2 = s7 + s0;
    0x00065b44 addu a1, s7, a1               |     a1 = s7 + a1;
    0x00065b48 sra v1, v1, 4                 |     v1 >>= 4;
                                             |     if (v0 != 0) {
    0x00065b4c movz t0, t1, v0               |         t0 = t1;
                                             |     }
    0x00065b50 addu v1, t3, v1               |     v1 = t3 + v1;
    0x00065b54 addu v0, t0, a3               |     v0 = t0 + a3;
    0x00065b58 addiu a2, zero, 0x25          |     a2 = 0x25;
    0x00065b5c sb a2, (a0)                   |     *(a0) = a2;
    0x00065b60 move s0, s5                   |     s0 = s5;
    0x00065b64 sb v1, (a1)                   |     *(a1) = v1;
    0x00065b68 sb v0, 2(t2)                  |     *((t2 + 2)) = v0;
    0x00065b6c b 0x65618                     |     goto label_29;
                                             | label_43:
    0x00065b70 lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x00065b74 lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
    0x00065b78 addiu t9, t9, 0x4c70          |     t9 += 0x4c70;
    0x00065b7c addiu a0, a0, -0x58c4         |     a0 += -0x58c4;
    0x00065b80 bal 0x64c70                   |     fcn_00064c70 ();
    0x00065b84 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00065b88 b 0x65314                     |     goto label_2;
                                             | label_85:
    0x00065b8c lw v1, 0x1c(s2)               |     v1 = *((s2 + 7));
    0x00065b90 addiu v1, s0, 3               |     v1 = s0 + 3;
                                             |     if (v1 == 0) {
    0x00065b94 beqz v1, 0x6538c              |         goto label_22;
                                             |     }
    0x00065b98 slt v0, v1, v0                |     v0 = (v1 < v0) ? 1 : 0;
    0x00065b9c lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
                                             |     if (v0 == 0) {
    0x00065ba0 beqz v0, 0x65d54              |         goto label_91;
                                             |     }
                                             | label_37:
    0x00065ba4 addu v0, s7, s0               |     v0 = s7 + s0;
    0x00065ba8 addiu v1, zero, 0x3f          |     v1 = 0x3f;
    0x00065bac sb v1, (v0)                   |     *(v0) = v1;
    0x00065bb0 lw s1, -0x7b38(gp)            |     s1 = *((gp - 7886));
    0x00065bb4 lui s4, 0x17ff                |     s4 = 0x17ff0000;
    0x00065bb8 lw s5, 0x1c(s2)               |     s5 = *((s2 + 7));
    0x00065bbc addiu s0, s0, 1               |     s0++;
    0x00065bc0 addiu fp, sp, 0x20            |     fp = sp + 0x20;
    0x00065bc4 addiu s1, s1, 0x4cf4          |     s1 += 0x4cf4;
    0x00065bc8 ori s4, s4, 0xffe9            |     s4 |= 0xffe9;
                                             | label_30:
    0x00065bcc lb a0, (s5)                   |     a0 = *(s5);
    0x00065bd0 lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
                                             |     if (a0 == 0) {
    0x00065bd4 beqz a0, 0x6538c              |         goto label_22;
                                             |     }
    0x00065bd8 addiu s6, s0, 3               |     s6 = s0 + 3;
    0x00065bdc slt v0, s6, v0                |     v0 = (s6 < v0) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00065be0 beql v0, zero, 0x65cac        |         goto label_92;
                                             |     }
    0x00065be4 move a1, fp                   |     a1 = fp;
                                             | label_31:
    0x00065be8 andi v1, a0, 0xff             |     v1 = a0 & 0xff;
    0x00065bec addiu v0, v1, -0x61           |     v0 = v1 + -0x61;
    0x00065bf0 sltiu v0, v0, 0x1a            |     v0 = (v0 < 0x1a) ? 1 : 0;
    0x00065bf4 addu a2, s7, s0               |     a2 = s7 + s0;
    0x00065bf8 addiu s5, s5, 1               |     s5++;
    0x00065bfc addiu a1, s0, 1               |     a1 = s0 + 1;
                                             |     if (v0 != 0) {
    0x00065c00 bnez v0, 0x65ca0              |         goto label_93;
                                             |     }
    0x00065c04 addiu v0, v1, -0x21           |     v0 = v1 + -0x21;
    0x00065c08 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x00065c0c sltiu a3, v0, 0x1d            |     a3 = (v0 < 0x1d) ? 1 : 0;
                                             |     if (a3 == 0) {
    0x00065c10 beql a3, zero, 0x65c98        |         goto label_94;
                                             |     }
    0x00065c14 addiu v0, zero, 0x7e          |     v0 = 0x7e;
    0x00065c18 srlv v0, s4, v0               |     v0 = s4 >> v0;
    0x00065c1c ext v0, v0, 0, 1              |     __asm ("ext v0, v0, 0, 1");
    0x00065c20 sb v1, (a2)                   |     *(a2) = v1;
                                             |     if (v0 == 0) {
    0x00065c24 bnel v0, zero, 0x65ca4        |         goto label_95;
                                             |     }
    0x00065c28 addiu v0, v1, -0x3f           |     v0 = v1 + -0x3f;
                                             |     do {
    0x00065c2c sltiu v0, v0, 0x1d            |         v0 = (v0 < 0x1d) ? 1 : 0;
    0x00065c30 sb v1, (a2)                   |         *(a2) = v1;
                                             |         if (v0 == 0) {
    0x00065c34 bnel v0, zero, 0x65ca4        |             goto label_95;
                                             |         }
    0x00065c38 addiu v0, zero, -3            |         v0 = -3;
    0x00065c3c and a0, a0, v0                |         a0 &= v0;
    0x00065c40 addiu v0, zero, 0x5d          |         v0 = 0x5d;
    0x00065c44 andi a3, v1, 0xf              |         a3 = v1 & 0xf;
                                             |         if (a0 == v0) {
    0x00065c48 beq a0, v0, 0x65ca0           |             goto label_93;
                                             |         }
    0x00065c4c addiu t0, zero, 0x30          |         t0 = 0x30;
    0x00065c50 sltiu a0, v1, 0xa0            |         a0 = (v1 < 0xa0) ? 1 : 0;
    0x00065c54 addiu t1, zero, 0x37          |         t1 = 0x37;
    0x00065c58 sltiu v0, a3, 0xa             |         v0 = (a3 < 0xa) ? 1 : 0;
    0x00065c5c addu t2, s7, a1               |         t2 = s7 + a1;
    0x00065c60 move a1, t0                   |         a1 = t0;
                                             |         if (a0 != 0) {
    0x00065c64 movz a1, t1, a0               |             a1 = t1;
                                             |         }
    0x00065c68 addu s0, s7, s0               |         s0 = s7 + s0;
    0x00065c6c sra v1, v1, 4                 |         v1 >>= 4;
                                             |         if (v0 != 0) {
    0x00065c70 movz t0, t1, v0               |             t0 = t1;
                                             |         }
    0x00065c74 addu v1, a1, v1               |         v1 = a1 + v1;
    0x00065c78 addu v0, t0, a3               |         v0 = t0 + a3;
    0x00065c7c addiu a0, zero, 0x25          |         a0 = 0x25;
    0x00065c80 move a1, s6                   |         a1 = s6;
    0x00065c84 sb a0, (a2)                   |         *(a2) = a0;
    0x00065c88 sb v1, (t2)                   |         *(t2) = v1;
    0x00065c8c sb v0, 2(s0)                  |         *((s0 + 2)) = v0;
    0x00065c90 move s0, a1                   |         s0 = a1;
    0x00065c94 b 0x65bcc                     |         goto label_30;
                                             | label_94:
    0x00065c98 addiu v0, v1, -0x3f           |         v0 = v1 + -0x3f;
    0x00065c9c bnel a0, v0, 0x65c2c          |         
                                             |     } while (a0 == v0);
                                             | label_93:
    0x00065ca0 sb v1, (a2)                   |     *(a2) = v1;
                                             | label_95:
    0x00065ca4 move s0, a1                   |     s0 = a1;
    0x00065ca8 b 0x65bcc                     |     goto label_30;
                                             | label_92:
    0x00065cac move t9, s1                   |     t9 = s1;
    0x00065cb0 move a0, s7                   |     a0 = s7;
    0x00065cb4 bal 0x64cf4                   |     fcn_00064cf4 ();
    0x00065cb8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065cbc beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x00065cc0 lb a0, (s5)                   |     a0 = *(s5);
    0x00065cc4 move s7, v0                   |     s7 = v0;
    0x00065cc8 b 0x65be8                     |     goto label_31;
                                             | label_74:
    0x00065ccc addiu a1, sp, 0x20            |     a1 = sp + 0x20;
    0x00065cd0 addiu t9, t9, 0x4cf4          |     t9 += 0x4cf4;
    0x00065cd4 move a0, s7                   |     a0 = s7;
    0x00065cd8 bal 0x64cf4                   |     fcn_00064cf4 ();
    0x00065cdc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065ce0 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x00065ce4 move s7, v0                   |     s7 = v0;
    0x00065ce8 b 0x65754                     |     goto label_32;
                                             | label_86:
    0x00065cec addiu a1, sp, 0x20            |     a1 = sp + 0x20;
    0x00065cf0 addiu t9, t9, 0x4cf4          |     t9 += 0x4cf4;
    0x00065cf4 move a0, s7                   |     a0 = s7;
    0x00065cf8 bal 0x64cf4                   |     fcn_00064cf4 ();
    0x00065cfc lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065d00 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x00065d04 move s7, v0                   |     s7 = v0;
    0x00065d08 b 0x659a8                     |     goto label_33;
                                             | label_69:
    0x00065d0c lw a0, (s2)                   |     a0 = *(s2);
    0x00065d10 slt v1, v1, v0                |     v1 = (v1 < v0) ? 1 : 0;
                                             |     if (a0 == 0) {
    0x00065d14 beqz a0, 0x65d7c              |         goto label_96;
                                             |     }
    0x00065d18 lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
                                             |     if (v1 == 0) {
    0x00065d1c beqz v1, 0x65d90              |         goto label_97;
                                             |     }
    0x00065d20 lw s6, 0x18(s2)               |     s6 = *((s2 + 6));
                                             |     if (s6 == 0) {
    0x00065d24 beql s6, zero, 0x65994        |         goto label_34;
                                             |     }
    0x00065d28 lw v1, 0x28(s2)               |     v1 = *((s2 + 10));
    0x00065d2c lb v1, (s6)                   |     v1 = *(s6);
    0x00065d30 b 0x65860                     |     goto label_35;
                                             | label_70:
    0x00065d34 addiu a1, sp, 0x20            |     a1 = sp + 0x20;
    0x00065d38 addiu t9, t9, 0x4cf4          |     t9 += 0x4cf4;
    0x00065d3c move a0, s7                   |     a0 = s7;
    0x00065d40 bal 0x64cf4                   |     fcn_00064cf4 ();
    0x00065d44 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065d48 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x00065d4c move s7, v0                   |     s7 = v0;
    0x00065d50 b 0x655ec                     |     goto label_36;
                                             | label_91:
    0x00065d54 addiu a1, sp, 0x20            |     a1 = sp + 0x20;
    0x00065d58 addiu t9, t9, 0x4cf4          |     t9 += 0x4cf4;
    0x00065d5c move a0, s7                   |     a0 = s7;
    0x00065d60 bal 0x64cf4                   |     fcn_00064cf4 ();
    0x00065d64 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065d68 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x00065d6c move s7, v0                   |     s7 = v0;
    0x00065d70 b 0x65ba4                     |     goto label_37;
                                             | label_87:
    0x00065d74 move s0, s4                   |     s0 = s4;
    0x00065d78 b 0x6538c                     |     goto label_22;
                                             | label_96:
    0x00065d7c lw s6, 0x18(s2)               |     s6 = *((s2 + 6));
                                             |     if (s6 == 0) {
    0x00065d80 beql s6, zero, 0x65994        |         goto label_34;
                                             |     }
    0x00065d84 lw v1, 0x28(s2)               |     v1 = *((s2 + 10));
    0x00065d88 lb v1, (s6)                   |     v1 = *(s6);
    0x00065d8c b 0x65870                     |     goto label_24;
                                             | label_97:
    0x00065d90 addiu a1, sp, 0x20            |     a1 = sp + 0x20;
    0x00065d94 addiu t9, t9, 0x4cf4          |     t9 += 0x4cf4;
    0x00065d98 move a0, s7                   |     a0 = s7;
    0x00065d9c bal 0x64cf4                   |     fcn_00064cf4 ();
    0x00065da0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065da4 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x00065da8 move s7, v0                   |     s7 = v0;
    0x00065dac b 0x65848                     |     goto label_38;
                                             | label_90:
    0x00065db0 lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
    0x00065db4 addiu s1, s0, 3               |     s1 = s0 + 3;
    0x00065db8 slt v0, s1, v0                |     v0 = (s1 < v0) ? 1 : 0;
    0x00065dbc lw t9, -0x7b38(gp)            |     t9 = *((gp - 7886));
                                             |     if (v0 == 0) {
    0x00065dc0 beqz v0, 0x65e14              |         goto label_98;
                                             |     }
                                             | label_41:
    0x00065dc4 lbu v1, (s6)                  |     v1 = *(s6);
    0x00065dc8 addu v0, s7, s0               |     v0 = s7 + s0;
    0x00065dcc addiu s6, s6, 3               |     s6 += 3;
    0x00065dd0 sb v1, (v0)                   |     *(v0) = v1;
    0x00065dd4 lbu v1, -2(s6)                |     v1 = *((s6 - 2));
    0x00065dd8 move s0, s1                   |     s0 = s1;
    0x00065ddc sb v1, 1(v0)                  |     *((v0 + 1)) = v1;
    0x00065de0 lbu v1, -1(s6)                |     v1 = *((s6 - 1));
    0x00065de4 sb v1, 2(v0)                  |     *((v0 + 2)) = v1;
    0x00065de8 lw v0, 0x20(sp)               |     v0 = *(var_20h_2);
    0x00065dec lb v1, (s6)                   |     v1 = *(s6);
    0x00065df0 b 0x65870                     |     goto label_24;
                                             | label_50:
    0x00065df4 ext v0, v0, 0, 1              |     __asm ("ext v0, v0, 0, 1");
    0x00065df8 addu v0, s7, s0               |     v0 = s7 + s0;
                                             |     if (v0 != 0) {
    0x00065dfc bnez v0, 0x65370              |         goto label_39;
                                             |     }
    0x00065e00 addu v1, s7, s0               |     v1 = s7 + s0;
    0x00065e04 addiu v0, zero, 0x25          |     v0 = 0x25;
    0x00065e08 sb v0, (v1)                   |     *(v1) = v0;
                                             | label_52:
    0x00065e0c addiu a1, zero, 0x30          |     a1 = 0x30;
    0x00065e10 b 0x652cc                     |     goto label_40;
                                             | label_98:
    0x00065e14 addiu a1, sp, 0x20            |     a1 = sp + 0x20;
    0x00065e18 addiu t9, t9, 0x4cf4          |     t9 += 0x4cf4;
    0x00065e1c move a0, s7                   |     a0 = s7;
    0x00065e20 bal 0x64cf4                   |     fcn_00064cf4 ();
    0x00065e24 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00065e28 beqz v0, 0x652fc              |         goto label_3;
                                             |     }
    0x00065e2c move s7, v0                   |     s7 = v0;
    0x00065e30 b 0x65dc4                     |     goto label_41;
                                             | label_54:
    0x00065e34 lw t9, -0x7074(gp)            |     t9 = *((gp - 7197));
    0x00065e38 jalr t9                       |     t9 ();
    0x00065e3c 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 @ 0xfd164 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlSchemaCopyValue ()        | void xmlSchemaCopyValue () {
    0x000fd164 lui gp, 9                     |     
    0x000fd168 addiu gp, gp, 0x450c          |     
    0x000fd16c addu gp, gp, t9               |     gp += t9;
    0x000fd170 addiu sp, sp, -0x38           |     
    0x000fd174 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000fd178 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x000fd17c sw s6, 0x30(sp)               |     *(var_30h) = s6;
    0x000fd180 sw s5, 0x2c(sp)               |     *(var_2ch) = s5;
    0x000fd184 sw s4, 0x28(sp)               |     *(var_28h) = s4;
    0x000fd188 sw s3, 0x24(sp)               |     *(var_24h) = s3;
    0x000fd18c sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x000fd190 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x000fd194 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x000fd198 move s5, a0                   |     s5 = a0;
                                             |     if (a0 == 0) {
    0x000fd19c beqz a0, 0xfd2e0              |         goto label_2;
                                             |     }
    0x000fd1a0 lw s3, -0x74b0(gp)            |     s3 = *((gp - 7468));
    0x000fd1a4 lw v0, (s5)                   |     v0 = *(s5);
    0x000fd1a8 lw s2, -0x7fb0(gp)            |     s2 = *((gp - 8172));
    0x000fd1ac sltiu v1, v0, 0x2f            |     v1 = (v0 < 0x2f) ? 1 : 0;
    0x000fd1b0 lw s4, -0x7fd8(gp)            |     s4 = *((gp - 8182));
    0x000fd1b4 move s1, zero                 |     s1 = 0;
    0x000fd1b8 move s0, zero                 |     s0 = 0;
    0x000fd1bc addiu s3, s3, 0x50cc          |     s3 += aav.0x000050cc;
    0x000fd1c0 addiu s2, s2, -0x33d4         |     s2 += -0x33d4;
                                             |     if (v1 == 0) {
    0x000fd1c4 beqz v1, 0xfd234              |         goto label_3;
                                             |     }
    0x000fd1c8 sll v0, v0, 2                 |     v0 <<= 2;
                                             |     do {
    0x000fd1cc lwx v0, v0(s2)                |         __asm ("lwx v0, v0(s2)");
    0x000fd1d0 addu v0, v0, gp               |         v0 += gp;
    0x000fd1d4 jr v0                         |         v0 ();
    0x000fd1d8 nop                           |         
                                             | label_0:
    0x000fd214 sw s6, 4(s1)                  |         *((s1 + 1)) = s6;
                                             | label_1:
    0x000fd218 lw s5, 4(s5)                  |         s5 = *((s5 + 1));
    0x000fd21c move s1, s6                   |         s1 = s6;
                                             |         if (s5 == 0) {
    0x000fd220 beqz s5, 0xfd2b4              |             goto label_4;
                                             |         }
    0x000fd224 lw v0, (s5)                   |         v0 = *(s5);
    0x000fd228 sltiu v1, v0, 0x2f            |         v1 = (v0 < 0x2f) ? 1 : 0;
    0x000fd22c sll v0, v0, 2                 |         v0 <<= 2;
    0x000fd230 bnez v1, 0xfd1cc              |         
                                             |     } while (v1 != 0);
                                             | label_3:
    0x000fd234 move t9, s3                   |     t9 = s3;
    0x000fd238 move a0, s5                   |     a0 = s5;
    0x000fd23c bal 0xf50cc                   |     fcn_000f50cc ();
    0x000fd240 move s6, v0                   |     s6 = v0;
    0x000fd244 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s0 != 0) {
    0x000fd248 bnez s0, 0xfd214              |         goto label_0;
                                             |     }
    0x000fd24c move s0, s6                   |     s0 = s6;
    0x000fd250 b 0xfd218                     |     goto label_1;
                                             |     do {
                                             | label_4:
    0x000fd2b4 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x000fd2b8 move v0, s0                   |         v0 = s0;
    0x000fd2bc lw s6, 0x30(sp)               |         s6 = *(var_30h);
    0x000fd2c0 lw s5, 0x2c(sp)               |         s5 = *(var_2ch);
    0x000fd2c4 lw s4, 0x28(sp)               |         s4 = *(var_28h);
    0x000fd2c8 lw s3, 0x24(sp)               |         s3 = *(var_24h);
    0x000fd2cc lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x000fd2d0 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x000fd2d4 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x000fd2d8 addiu sp, sp, 0x38            |         
    0x000fd2dc jr ra                         |         return v0;
                                             | label_2:
    0x000fd2e0 move s0, zero                 |         s0 = 0;
    0x000fd2e4 b 0xfd2b4                     |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xe5ed8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlSchemaDump ()             | void xmlSchemaDump () {
    0x000e5ed8 lui gp, 0xb                   |     
    0x000e5edc addiu gp, gp, -0x4868         |     
    0x000e5ee0 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x000e5ee4 beqz a0, 0xe6028              |         goto label_1;
                                             |     }
    0x000e5ee8 nop                           |     
    0x000e5eec addiu sp, sp, -0x28           |     
    0x000e5ef0 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000e5ef4 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x000e5ef8 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x000e5efc sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000e5f00 move a3, a0                   |     a3 = a0;
                                             |     if (a1 == 0) {
    0x000e5f04 beqz a1, 0xe6030              |         goto label_2;
                                             |     }
    0x000e5f08 move s0, a0                   |     s0 = a0;
    0x000e5f0c lw a0, -0x7fb0(gp)            |     a0 = *((gp - 8172));
    0x000e5f10 lw t9, -0x7048(gp)            |     t9 = *(gp);
    0x000e5f14 move s1, a1                   |     s1 = a1;
    0x000e5f18 addiu a2, zero, 9             |     a2 = 9;
    0x000e5f1c addiu a1, zero, 1             |     a1 = 1;
    0x000e5f20 addiu a0, a0, -0x74f8         |     a0 += -0x74f8;
    0x000e5f24 jalr t9                       |     t9 ();
    0x000e5f28 lw a3, (s1)                   |     a3 = *(s1);
    0x000e5f2c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (a3 == 0) {
    0x000e5f30 beqz a3, 0xe5fdc              |         goto label_3;
                                             |     }
    0x000e5f34 lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
    0x000e5f38 lw t9, -0x6e30(gp)            |     t9 = *((gp - 7052));
    0x000e5f3c move a0, s0                   |     a0 = s0;
    0x000e5f40 addiu a2, a2, 0x603c          |     a2 += aav.0x0000603c;
    0x000e5f44 addiu a1, zero, 1             |     a1 = 1;
    0x000e5f48 jalr t9                       |     t9 ();
    0x000e5f4c lw a0, 4(s1)                  |     a0 = *((s1 + 1));
    0x000e5f50 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (a0 == 0) {
    0x000e5f54 beqz a0, 0xe6004              |         goto label_4;
                                             |     }
                                             |     do {
    0x000e5f58 lw t9, -0x6da4(gp)            |         t9 = *((gp - 7017));
    0x000e5f5c move a1, s0                   |         a1 = s0;
    0x000e5f60 jalr t9                       |         t9 ();
    0x000e5f64 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_0:
    0x000e5f68 lw t9, -0x7088(gp)            |         t9 = *(gp);
    0x000e5f6c move a1, s0                   |         a1 = s0;
    0x000e5f70 addiu a0, zero, 0xa           |         a0 = 0xa;
    0x000e5f74 jalr t9                       |         t9 ();
    0x000e5f78 lw a1, 0x14(s1)               |         a1 = *((s1 + 5));
    0x000e5f7c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (a1 != 0) {
    0x000e5f80 beqz a1, 0xe5f98              |             
    0x000e5f84 lw t9, -0x7578(gp)            |             t9 = *((gp - 7518));
    0x000e5f88 addiu t9, t9, -0x25e8         |             t9 += -0x25e8;
    0x000e5f8c move a0, s0                   |             a0 = s0;
    0x000e5f90 bal 0xcda18                   |             fcn_000cda18 ();
    0x000e5f94 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x000e5f98 lw a1, -0x7578(gp)            |         a1 = *((gp - 7518));
    0x000e5f9c lw a0, 0x1c(s1)               |         a0 = *((s1 + 7));
    0x000e5fa0 lw t9, -0x7f74(gp)            |         t9 = *((gp - 8157));
    0x000e5fa4 move a2, s0                   |         a2 = s0;
    0x000e5fa8 addiu a1, a1, -0x1efc         |         a1 += -0x1efc;
    0x000e5fac jalr t9                       |         t9 ();
    0x000e5fb0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000e5fb4 lw a0, 0x28(s1)               |         a0 = *((s1 + 10));
    0x000e5fb8 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x000e5fbc lw a1, -0x7578(gp)            |         a1 = *((gp - 7518));
    0x000e5fc0 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x000e5fc4 move a2, s0                   |         a2 = s0;
    0x000e5fc8 lw t9, -0x7e74(gp)            |         t9 = *(gp);
    0x000e5fcc lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x000e5fd0 addiu a1, a1, -0x1ee0         |         a1 += -0x1ee0;
    0x000e5fd4 addiu sp, sp, 0x28            |         
    0x000e5fd8 jr t9                         |         t9 ();
                                             | label_3:
    0x000e5fdc lw a0, -0x7fb0(gp)            |         a0 = *((gp - 8172));
    0x000e5fe0 lw t9, -0x7048(gp)            |         t9 = *(gp);
    0x000e5fe4 addiu a0, a0, -0x74ec         |         a0 += -0x74ec;
    0x000e5fe8 move a3, s0                   |         a3 = s0;
    0x000e5fec addiu a2, zero, 9             |         a2 = 9;
    0x000e5ff0 addiu a1, zero, 1             |         a1 = 1;
    0x000e5ff4 jalr t9                       |         t9 ();
    0x000e5ff8 lw a0, 4(s1)                  |         a0 = *((s1 + 1));
    0x000e5ffc lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000e6000 bnez a0, 0xe5f58              |         
                                             |     } while (a0 != 0);
                                             | label_4:
    0x000e6004 lw a0, -0x7fb0(gp)            |     a0 = *((gp - 8172));
    0x000e6008 lw t9, -0x7048(gp)            |     t9 = *(gp);
    0x000e600c move a3, s0                   |     a3 = s0;
    0x000e6010 addiu a2, zero, 0x13          |     a2 = 0x13;
    0x000e6014 addiu a1, zero, 1             |     a1 = 1;
    0x000e6018 addiu a0, a0, -0x74e0         |     a0 += -0x74e0;
    0x000e601c jalr t9                       |     t9 ();
    0x000e6020 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000e6024 b 0xe5f68                     |     goto label_0;
                                             | label_1:
    0x000e6028 jr ra                         |     return;
    0x000e602c nop                           |     
                                             | label_2:
    0x000e6030 lw a0, -0x7fb0(gp)            |     a0 = *((gp - 8172));
    0x000e6034 lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x000e6038 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x000e603c lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x000e6040 lw t9, -0x7048(gp)            |     t9 = *(gp);
    0x000e6044 addiu a2, zero, 0xe           |     a2 = 0xe;
    0x000e6048 addiu a1, zero, 1             |     a1 = 1;
    0x000e604c addiu a0, a0, -0x7508         |     a0 += -0x7508;
    0x000e6050 addiu sp, sp, 0x28            |     
    0x000e6054 jr t9                         |     return t9 ();
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xf6ba8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlSchemaFreeValue ()        | void xmlSchemaFreeValue () {
    0x000f6ba8 lui gp, 0xa                   |     
    0x000f6bac addiu gp, gp, -0x5538         |     
    0x000f6bb0 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x000f6bb4 beqz a0, 0xf6ca0              |         goto label_0;
                                             |     }
    0x000f6bb8 nop                           |     
    0x000f6bbc addiu sp, sp, -0x30           |     
    0x000f6bc0 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x000f6bc4 lw s3, -0x7fb0(gp)            |     s3 = *((gp - 8172));
    0x000f6bc8 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x000f6bcc lw s2, -0x7158(gp)            |     s2 = *(gp);
    0x000f6bd0 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000f6bd4 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000f6bd8 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x000f6bdc sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x000f6be0 move s0, a0                   |     s0 = a0;
    0x000f6be4 addiu s3, s3, -0x3870         |     s3 += -0x3870;
                                             |     do {
    0x000f6be8 lw v0, (s0)                   |         v0 = *(s0);
    0x000f6bec sltiu v1, v0, 0x2f            |         v1 = (v0 < 0x2f) ? 1 : 0;
    0x000f6bf0 lw t9, (s2)                   |         t9 = *(s2);
                                             |         if (v1 != 0) {
    0x000f6bf4 beqz v1, 0xf6c3c              |             
    0x000f6bf8 sll v0, v0, 2                 |             v0 <<= 2;
    0x000f6bfc lwx v0, v0(s3)                |             __asm ("lwx v0, v0(s3)");
    0x000f6c00 addu v0, v0, gp               |             v0 += gp;
    0x000f6c04 jr v0                         |             v0 ();
    0x000f6c08 nop                           |             
                                             |         }
    0x000f6c3c lw s1, 4(s0)                  |         s1 = *((s0 + 1));
    0x000f6c40 move a0, s0                   |         a0 = s0;
    0x000f6c44 jalr t9                       |         t9 ();
    0x000f6c48 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (s1 == 0) {
    0x000f6c4c beqz s1, 0xf6c84              |             goto label_1;
                                             |         }
    0x000f6c50 move s0, s1                   |         s0 = s1;
    0x000f6c54 b 0xf6be8                     |         
                                             |     } while (1);
                                             | label_1:
    0x000f6c84 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x000f6c88 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x000f6c8c lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x000f6c90 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x000f6c94 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x000f6c98 addiu sp, sp, 0x30            |     
    0x000f6c9c jr ra                         |     return v0;
                                             | label_0:
    0x000f6ca0 jr ra                         |     return v0;
    0x000f6ca4 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 @ 0xfdc18 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlSchemaGetValType ()           | void xmlSchemaGetValType () {
                                                 |     if (a0 != 0) {
    0x000fdc18 beqz a0, 0xfdc28                  |         
    0x000fdc1c nop                               |         
    0x000fdc20 lw v0, (a0)                       |         v0 = *(a0);
    0x000fdc24 jr ra                             |         return v0;
                                                 |     }
    0x000fdc28 move v0, zero                     |     v0 = 0;
    0x000fdc2c jr ra                             |     return v0;
                                                 | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xf6624 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.xmlSchemaIsBuiltInTypeFacet ()           | void xmlSchemaIsBuiltInTypeFacet () {
    0x000f6624 lui gp, 0xa                               |     
    0x000f6628 addiu gp, gp, -0x4fb4                     |     
    0x000f662c addu gp, gp, t9                           |     gp += t9;
                                                         |     if (a0 != 0) {
    0x000f6630 beqz a0, 0xf6670                          |         
    0x000f6634 nop                                       |         
    0x000f6638 lw v1, (a0)                               |         v1 = *(a0);
    0x000f663c addiu v0, zero, 1                         |         v0 = 1;
                                                         |         if (v1 != v0) {
    0x000f6640 bne v1, v0, 0xf6670                       |             goto label_0;
                                                         |         }
    0x000f6644 nop                                       |         
    0x000f6648 lw v0, 0x58(a0)                           |         v0 = *((a0 + 22));
    0x000f664c sltiu v1, v0, 0x2d                        |         v1 = (v0 < 0x2d) ? 1 : 0;
    0x000f6650 sll v1, v0, 2                             |         v1 = v0 << 2;
                                                         |         if (v1 == 0) {
    0x000f6654 beqz v1, 0xf66c4                          |             goto label_1;
                                                         |         }
    0x000f6658 lw v0, -0x7fb0(gp)                        |         v0 = *((gp - 8172));
    0x000f665c addiu v0, v0, -0x3a9c                     |         v0 += -0x3a9c;
    0x000f6660 lwx v0, v1(v0)                            |         __asm ("lwx v0, v1(v0)");
    0x000f6664 addu v0, v0, gp                           |         v0 += gp;
    0x000f6668 jr v0                                     |         v0 ();
    0x000f666c nop                                       |         
                                                         |     }
                                                         | label_0:
    0x000f6670 addiu v0, zero, -1                        |     v0 = -1;
    0x000f6674 jr ra                                     |     return v0;
                                                         | label_1:
    0x000f66c4 move v0, zero                             |     v0 = 0;
    0x000f66c8 jr ra                                     |     return v0;
                                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xf39c8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlSchemaSAXPlug ()          | void xmlSchemaSAXPlug () {
    0x000f39c8 lui gp, 0xa                   |     
    0x000f39cc addiu gp, gp, -0x2358         |     
    0x000f39d0 addu gp, gp, t9               |     gp += t9;
    0x000f39d4 addiu sp, sp, -0x30           |     
    0x000f39d8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000f39dc sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x000f39e0 sw s4, 0x28(sp)               |     *(var_28h) = s4;
    0x000f39e4 sw s3, 0x24(sp)               |     *(var_24h) = s3;
    0x000f39e8 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x000f39ec sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x000f39f0 sw s0, 0x18(sp)               |     *(var_18h) = s0;
                                             |     if (a0 == 0) {
    0x000f39f4 beql a0, zero, 0xf3d14        |         goto label_2;
                                             |     }
    0x000f39f8 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             |     if (a1 == 0) {
    0x000f39fc beql a1, zero, 0xf3d14        |         goto label_2;
                                             |     }
    0x000f3a00 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x000f3a04 move s4, a2                   |     s4 = a2;
                                             |     if (a2 == 0) {
    0x000f3a08 beqz a2, 0xf3d10              |         goto label_3;
                                             |     }
    0x000f3a0c lw s1, (a1)                   |     s1 = *(a1);
    0x000f3a10 move s3, a1                   |     s3 = a1;
    0x000f3a14 move s2, a0                   |     s2 = a0;
                                             |     if (s1 == 0) {
    0x000f3a18 beqz s1, 0xf3d38              |         goto label_4;
                                             |     }
    0x000f3a1c lui v0, 0xdeed                |     v0 = 0xdeed0000;
    0x000f3a20 lw v1, 0x6c(s1)               |     v1 = *((s1 + 27));
    0x000f3a24 ori v0, v0, 0xbeaf            |     v0 |= 0xbeaf;
    0x000f3a28 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             |     if (v1 != v0) {
    0x000f3a2c bne v1, v0, 0xf3d14           |         goto label_2;
                                             |     }
    0x000f3a30 lw v0, 0x74(s1)               |     v0 = *((s1 + 29));
                                             |     if (v0 == 0) {
    0x000f3a34 beql v0, zero, 0xf3cf0        |         goto label_5;
                                             |     }
    0x000f3a38 lw v0, 0x78(s1)               |     v0 = *((s1 + 30));
    0x000f3a3c lw v0, -0x716c(gp)            |     v0 = *(gp);
                                             |     do {
                                             | label_0:
    0x000f3a40 lw t9, (v0)                   |         t9 = *(v0);
    0x000f3a44 addiu a0, zero, 0x98          |         a0 = 0x98;
    0x000f3a48 jalr t9                       |         t9 ();
    0x000f3a4c move s0, v0                   |         s0 = v0;
    0x000f3a50 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x000f3a54 beqz v0, 0xf3d10              |             goto label_3;
                                             |         }
    0x000f3a58 lw t9, -0x6ea4(gp)            |         t9 = *((gp - 7081));
    0x000f3a5c addiu a2, zero, 0x88          |         a2 = 0x88;
    0x000f3a60 move a1, zero                 |         a1 = 0;
    0x000f3a64 addiu a0, s0, 0xc             |         a0 = s0 + 0xc;
    0x000f3a68 jalr t9                       |         t9 ();
    0x000f3a6c lui v0, 0xdc43                |         v0 = 0xdc43ba21;
    0x000f3a70 ori v0, v0, 0xba21            |         
    0x000f3a74 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000f3a78 lw v1, (s1)                   |         v1 = *(s1);
    0x000f3a7c sw v0, (s0)                   |         *(s0) = v0;
    0x000f3a80 lui v0, 0xdeed                |         v0 = 0xdeedbeaf;
    0x000f3a84 ori v0, v0, 0xbeaf            |         
    0x000f3a88 sw v0, 0x80(s0)               |         *((s0 + 32)) = v0;
    0x000f3a8c sw s2, 0x94(s0)               |         *((s0 + 37)) = s2;
    0x000f3a90 sw s3, 4(s0)                  |         *((s0 + 1)) = s3;
    0x000f3a94 sw s1, 8(s0)                  |         *((s0 + 2)) = s1;
                                             |         if (v1 != 0) {
    0x000f3a98 beqz v1, 0xf3aa8              |             
    0x000f3a9c lw v0, -0x7578(gp)            |             v0 = *((gp - 7518));
    0x000f3aa0 addiu v0, v0, -0x6d4c         |             v0 += -aav.0x00006d4c;
    0x000f3aa4 sw v0, 0x14(s0)               |             *((s0 + 5)) = v0;
                                             |         }
    0x000f3aa8 lw v0, 4(s1)                  |         v0 = *((s1 + 1));
    0x000f3aac lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3ab0 beqz v0, 0xf3abc              |             
    0x000f3ab4 addiu v0, v0, -0x6d1c         |             v0 += -0x6d1c;
    0x000f3ab8 sw v0, 0x18(s0)               |             *((s0 + 6)) = v0;
                                             |         }
    0x000f3abc lw v0, 8(s1)                  |         v0 = *((s1 + 2));
    0x000f3ac0 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3ac4 beqz v0, 0xf3ad0              |             
    0x000f3ac8 addiu v0, v0, -0x6cec         |             v0 += -0x6cec;
    0x000f3acc sw v0, 0x1c(s0)               |             *((s0 + 7)) = v0;
                                             |         }
    0x000f3ad0 lw v0, 0xc(s1)                |         v0 = *((s1 + 3));
    0x000f3ad4 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3ad8 beqz v0, 0xf3ae4              |             
    0x000f3adc addiu v0, v0, -0x6cbc         |             v0 += -0x6cbc;
    0x000f3ae0 sw v0, 0x20(s0)               |             *((s0 + 8)) = v0;
                                             |         }
    0x000f3ae4 lw v0, 0x10(s1)               |         v0 = *((s1 + 4));
    0x000f3ae8 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3aec beqz v0, 0xf3af8              |             
    0x000f3af0 addiu v0, v0, -0x6c5c         |             v0 += -aav.0x00006c5c;
    0x000f3af4 sw v0, 0x24(s0)               |             *((s0 + 9)) = v0;
                                             |         }
    0x000f3af8 lw v0, 0x14(s1)               |         v0 = *((s1 + 5));
    0x000f3afc lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3b00 beqz v0, 0xf3b0c              |             
    0x000f3b04 addiu v0, v0, -0x6c2c         |             v0 += -aav.0x00006c2c;
    0x000f3b08 sw v0, 0x28(s0)               |             *((s0 + 10)) = v0;
                                             |         }
    0x000f3b0c lw v0, 0x18(s1)               |         v0 = *((s1 + 6));
    0x000f3b10 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3b14 beqz v0, 0xf3b20              |             
    0x000f3b18 addiu v0, v0, -0x6bcc         |             v0 += -0x6bcc;
    0x000f3b1c sw v0, 0x2c(s0)               |             *((s0 + 11)) = v0;
                                             |         }
    0x000f3b20 lw v0, 0x1c(s1)               |         v0 = *((s1 + 7));
    0x000f3b24 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3b28 beqz v0, 0xf3b34              |             
    0x000f3b2c addiu v0, v0, -0x6b6c         |             v0 += -0x6b6c;
    0x000f3b30 sw v0, 0x30(s0)               |             *((s0 + 12)) = v0;
                                             |         }
    0x000f3b34 lw v0, 0x20(s1)               |         v0 = *((s1 + 8));
    0x000f3b38 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3b3c beqz v0, 0xf3b48              |             
    0x000f3b40 addiu v0, v0, -0x450c         |             v0 += -0x450c;
    0x000f3b44 sw v0, 0x34(s0)               |             *((s0 + 13)) = v0;
                                             |         }
    0x000f3b48 lw v0, 0x24(s1)               |         v0 = *((s1 + 9));
    0x000f3b4c lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3b50 beqz v0, 0xf3b5c              |             
    0x000f3b54 addiu v0, v0, -0x6b9c         |             v0 += -0x6b9c;
    0x000f3b58 sw v0, 0x38(s0)               |             *((s0 + 14)) = v0;
                                             |         }
    0x000f3b5c lw v0, 0x28(s1)               |         v0 = *((s1 + 10));
    0x000f3b60 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3b64 beqz v0, 0xf3b70              |             
    0x000f3b68 addiu v0, v0, -0x6b3c         |             v0 += -0x6b3c;
    0x000f3b6c sw v0, 0x3c(s0)               |             *((s0 + 15)) = v0;
                                             |         }
    0x000f3b70 lw v0, 0x2c(s1)               |         v0 = *((s1 + 11));
    0x000f3b74 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3b78 beqz v0, 0xf3b84              |             
    0x000f3b7c addiu v0, v0, -0x6b0c         |             v0 += -0x6b0c;
    0x000f3b80 sw v0, 0x40(s0)               |             *((s0 + 16)) = v0;
                                             |         }
    0x000f3b84 lw v0, 0x30(s1)               |         v0 = *((s1 + 12));
    0x000f3b88 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3b8c beqz v0, 0xf3b98              |             
    0x000f3b90 addiu v0, v0, -0x6adc         |             v0 += -0x6adc;
    0x000f3b94 sw v0, 0x44(s0)               |             *((s0 + 17)) = v0;
                                             |         }
    0x000f3b98 lw v0, 0x34(s1)               |         v0 = *((s1 + 13));
    0x000f3b9c lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3ba0 beqz v0, 0xf3bac              |             
    0x000f3ba4 addiu v0, v0, -0x6aac         |             v0 += -aav.0x00006aac;
    0x000f3ba8 sw v0, 0x48(s0)               |             *((s0 + 18)) = v0;
                                             |         }
    0x000f3bac lw v0, 0x4c(s1)               |         v0 = *((s1 + 19));
    0x000f3bb0 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3bb4 beqz v0, 0xf3bc0              |             
    0x000f3bb8 addiu v0, v0, -0x6a7c         |             v0 += -0x6a7c;
    0x000f3bbc sw v0, 0x60(s0)               |             *((s0 + 24)) = v0;
                                             |         }
    0x000f3bc0 lw v0, 0x50(s1)               |         v0 = *((s1 + 20));
    0x000f3bc4 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3bc8 beqz v0, 0xf3bd4              |             
    0x000f3bcc addiu v0, v0, -0x6a4c         |             v0 += -0x6a4c;
    0x000f3bd0 sw v0, 0x64(s0)               |             *((s0 + 25)) = v0;
                                             |         }
    0x000f3bd4 lw v0, 0x54(s1)               |         v0 = *((s1 + 21));
    0x000f3bd8 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3bdc beqz v0, 0xf3be8              |             
    0x000f3be0 addiu v0, v0, -0x3a3c         |             v0 += -0x3a3c;
    0x000f3be4 sw v0, 0x68(s0)               |             *((s0 + 26)) = v0;
                                             |         }
    0x000f3be8 lw v0, 0x58(s1)               |         v0 = *((s1 + 22));
    0x000f3bec lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3bf0 beqz v0, 0xf3bfc              |             
    0x000f3bf4 addiu v0, v0, -0x3ac8         |             v0 += -0x3ac8;
    0x000f3bf8 sw v0, 0x6c(s0)               |             *((s0 + 27)) = v0;
                                             |         }
    0x000f3bfc lw v0, 0x5c(s1)               |         v0 = *((s1 + 23));
    0x000f3c00 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3c04 beqz v0, 0xf3c10              |             
    0x000f3c08 addiu v0, v0, -0x3b54         |             v0 += -0x3b54;
    0x000f3c0c sw v0, 0x70(s0)               |             *((s0 + 28)) = v0;
                                             |         }
    0x000f3c10 lw v0, 0x60(s1)               |         v0 = *((s1 + 24));
    0x000f3c14 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3c18 beqz v0, 0xf3c24              |             
    0x000f3c1c addiu v0, v0, -0x6bfc         |             v0 += -0x6bfc;
    0x000f3c20 sw v0, 0x74(s0)               |             *((s0 + 29)) = v0;
                                             |         }
    0x000f3c24 lw v0, 0x68(s1)               |         v0 = *((s1 + 26));
    0x000f3c28 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
                                             |         if (v0 != 0) {
    0x000f3c2c beqz v0, 0xf3c38              |             
    0x000f3c30 addiu v0, v0, -0x6c8c         |             v0 += -0x6c8c;
    0x000f3c34 sw v0, 0x7c(s0)               |             *((s0 + 31)) = v0;
                                             |         }
    0x000f3c38 lw v0, -0x74f4(gp)            |         v0 = *(gp);
    0x000f3c3c lw v1, 0x48(s1)               |         v1 = *((s1 + 18));
    0x000f3c40 addiu v0, v0, -0x3544         |         v0 += -aav.0x00003544;
    0x000f3c44 sw v0, 0x58(s0)               |         *((s0 + 22)) = v0;
                                             |         if (v1 != 0) {
    0x000f3c48 beqz v1, 0xf3c60              |             
    0x000f3c4c lw a0, 0x44(s1)               |             a0 = *((s1 + 17));
                                             |             if (v1 == a0) {
    0x000f3c50 beql v1, a0, 0xf3c64          |                 goto label_6;
                                             |             }
    0x000f3c54 sw v0, 0x5c(s0)               |             *((s0 + 23)) = v0;
    0x000f3c58 lw v0, -0x74f4(gp)            |             v0 = *(gp);
    0x000f3c5c addiu v0, v0, -0x35ec         |             v0 += -0x35ec;
                                             |         }
    0x000f3c60 sw v0, 0x5c(s0)               |         *((s0 + 23)) = v0;
                                             | label_6:
    0x000f3c64 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
    0x000f3c68 sw s4, 0xc(s0)                |         *((s0 + 3)) = s4;
    0x000f3c6c addiu v0, v0, 0x7b24          |         v0 += 0x7b24;
    0x000f3c70 sw v0, 0x78(s0)               |         *((s0 + 30)) = v0;
    0x000f3c74 lw v0, -0x7578(gp)            |         v0 = *((gp - 7518));
    0x000f3c78 addiu v0, v0, -0x3900         |         v0 += -0x3900;
    0x000f3c7c sw v0, 0x54(s0)               |         *((s0 + 21)) = v0;
    0x000f3c80 lw v0, -0x74b0(gp)            |         v0 = *((gp - 7468));
    0x000f3c84 addiu v0, v0, 0x3620          |         v0 += 0x3620;
    0x000f3c88 sw v0, 0x88(s0)               |         *((s0 + 34)) = v0;
    0x000f3c8c lw v0, -0x74f4(gp)            |         v0 = *(gp);
    0x000f3c90 addiu v0, v0, -0x5728         |         v0 += -0x5728;
    0x000f3c94 sw v0, 0x8c(s0)               |         *((s0 + 35)) = v0;
    0x000f3c98 lw v0, (s4)                   |         v0 = *(s4);
    0x000f3c9c sw v0, 0x10(s0)               |         *((s0 + 4)) = v0;
    0x000f3ca0 sw s0, (s4)                   |         *(s4) = s0;
                                             | label_1:
    0x000f3ca4 lw v1, 0x98(s2)               |         v1 = *((s2 + 38));
    0x000f3ca8 lw t9, -0x74f4(gp)            |         t9 = *(gp);
    0x000f3cac addiu v0, s0, 0x14            |         v0 = s0 + 0x14;
    0x000f3cb0 ori v1, v1, 1                 |         v1 |= 1;
    0x000f3cb4 sw v0, (s3)                   |         *(s3) = v0;
    0x000f3cb8 move a0, s2                   |         a0 = s2;
    0x000f3cbc sw v1, 0x98(s2)               |         *((s2 + 38)) = v1;
    0x000f3cc0 addiu t9, t9, 0x60f8          |         t9 += aav.0x000060f8;
    0x000f3cc4 sw v0, 0x24(s2)               |         *((s2 + 9)) = v0;
    0x000f3cc8 bal 0xe60f8                   |         fcn_000e60f8 ();
    0x000f3ccc lw ra, 0x2c(sp)               |         ra = *(var_2ch);
    0x000f3cd0 move v0, s0                   |         v0 = s0;
    0x000f3cd4 lw s4, 0x28(sp)               |         s4 = *(var_28h);
    0x000f3cd8 lw s3, 0x24(sp)               |         s3 = *(var_24h);
    0x000f3cdc lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x000f3ce0 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x000f3ce4 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x000f3ce8 addiu sp, sp, 0x30            |         
    0x000f3cec jr ra                         |         return v0;
                                             | label_5:
    0x000f3cf0 lw v0, -0x716c(gp)            |         v0 = *(gp);
    0x000f3cf4 bnez v0, 0xf3a40              |         
                                             |     } while (v0 != 0);
    0x000f3cf8 lw v0, 0x38(s1)               |     v0 = *((s1 + 14));
    0x000f3cfc lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             |     if (v0 != 0) {
    0x000f3d00 bnez v0, 0xf3d14              |         goto label_2;
                                             |     }
    0x000f3d04 lw v0, 0x3c(s1)               |     v0 = *((s1 + 15));
    0x000f3d08 lw v0, -0x716c(gp)            |     v0 = *(gp);
                                             |     if (v0 == 0) {
    0x000f3d0c beqz v0, 0xf3a40              |         goto label_0;
                                             |     }
                                             |     do {
                                             | label_3:
    0x000f3d10 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
                                             | label_2:
    0x000f3d14 move s0, zero                 |         s0 = 0;
    0x000f3d18 move v0, s0                   |         v0 = s0;
    0x000f3d1c lw s4, 0x28(sp)               |         s4 = *(var_28h);
    0x000f3d20 lw s3, 0x24(sp)               |         s3 = *(var_24h);
    0x000f3d24 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x000f3d28 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x000f3d2c lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x000f3d30 addiu sp, sp, 0x30            |         
    0x000f3d34 jr ra                         |         return v0;
                                             | label_4:
    0x000f3d38 lw v0, -0x716c(gp)            |         v0 = *(gp);
    0x000f3d3c lw t9, (v0)                   |         t9 = *(v0);
    0x000f3d40 addiu a0, zero, 0x98          |         a0 = 0x98;
    0x000f3d44 jalr t9                       |         t9 ();
    0x000f3d48 move s0, v0                   |         s0 = v0;
    0x000f3d4c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000f3d50 beqz v0, 0xf3d10              |         
                                             |     } while (v0 == 0);
    0x000f3d54 lw t9, -0x6ea4(gp)            |     t9 = *((gp - 7081));
    0x000f3d58 addiu a2, zero, 0x88          |     a2 = 0x88;
    0x000f3d5c move a1, zero                 |     a1 = 0;
    0x000f3d60 addiu a0, s0, 0xc             |     a0 = s0 + 0xc;
    0x000f3d64 jalr t9                       |     t9 ();
    0x000f3d68 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000f3d6c lui v1, 0xdc43                |     v1 = 0xdc43ba21;
    0x000f3d70 ori v1, v1, 0xba21            |     
    0x000f3d74 lw v0, -0x74f4(gp)            |     v0 = *(gp);
    0x000f3d78 sw v1, (s0)                   |     *(s0) = v1;
    0x000f3d7c lui v1, 0xdeed                |     v1 = 0xdeed0000;
    0x000f3d80 addiu v0, v0, -0x36d4         |     v0 += -0x36d4;
    0x000f3d84 ori v1, v1, 0xbeaf            |     v1 |= 0xbeaf;
    0x000f3d88 sw v1, 0x80(s0)               |     *((s0 + 32)) = v1;
    0x000f3d8c sw v0, 0x5c(s0)               |     *((s0 + 23)) = v0;
    0x000f3d90 sw v0, 0x58(s0)               |     *((s0 + 22)) = v0;
    0x000f3d94 lw v1, -0x74b0(gp)            |     v1 = *((gp - 7468));
    0x000f3d98 lw v0, -0x7578(gp)            |     v0 = *((gp - 7518));
    0x000f3d9c addiu v1, v1, 0x31a8          |     v1 += aav.0x000031a8;
    0x000f3da0 addiu v0, v0, 0x7a3c          |     v0 += 0x7a3c;
    0x000f3da4 sw v1, 0x88(s0)               |     *((s0 + 34)) = v1;
    0x000f3da8 sw v0, 0x78(s0)               |     *((s0 + 30)) = v0;
    0x000f3dac lw v1, -0x74f4(gp)            |     v1 = *(gp);
    0x000f3db0 lw v0, -0x7578(gp)            |     v0 = *((gp - 7518));
    0x000f3db4 addiu v1, v1, -0x5860         |     v1 += -0x5860;
    0x000f3db8 addiu v0, v0, -0x3948         |     v0 += -0x3948;
    0x000f3dbc sw s2, 0x94(s0)               |     *((s0 + 37)) = s2;
    0x000f3dc0 sw s3, 4(s0)                  |     *((s0 + 1)) = s3;
    0x000f3dc4 sw zero, 8(s0)                |     *((s0 + 2)) = 0;
    0x000f3dc8 sw v1, 0x8c(s0)               |     *((s0 + 35)) = v1;
    0x000f3dcc sw v0, 0x54(s0)               |     *((s0 + 21)) = v0;
    0x000f3dd0 sw s2, 0x10(s0)               |     *((s0 + 4)) = s2;
    0x000f3dd4 sw s2, (s4)                   |     *(s4) = s2;
    0x000f3dd8 b 0xf3ca4                     |     goto label_1;
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xf69c0 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlSchemaValueGetAsString ()         | void xmlSchemaValueGetAsString () {
    0x000f69c0 lui gp, 0xa                           |     
    0x000f69c4 addiu gp, gp, -0x5350                 |     
    0x000f69c8 addu gp, gp, t9                       |     gp += t9;
                                                     |     if (a0 != 0) {
    0x000f69cc beqz a0, 0xf6a0c                      |         
    0x000f69d0 nop                                   |         
    0x000f69d4 lw v0, (a0)                           |         v0 = *(a0);
    0x000f69d8 sltiu v1, v0, 0x2f                    |         v1 = (v0 < 0x2f) ? 1 : 0;
    0x000f69dc sll v1, v0, 2                         |         v1 = v0 << 2;
                                                     |         if (v1 != 0) {
    0x000f69e0 beqz v1, 0xf6a04                      |             
    0x000f69e4 lw v0, -0x7fb0(gp)                    |             v0 = *((gp - 8172));
    0x000f69e8 addiu v0, v0, -0x392c                 |             v0 += -0x392c;
    0x000f69ec lwx v0, v1(v0)                        |             __asm ("lwx v0, v1(v0)");
    0x000f69f0 addu v0, v0, gp                       |             v0 += gp;
    0x000f69f4 jr v0                                 |             v0 ();
    0x000f69f8 nop                                   |             
                                                     |         }
    0x000f6a04 move v0, zero                         |         v0 = 0;
    0x000f6a08 jr ra                                 |         return v0;
                                                     |     }
    0x000f6a0c move v0, zero                         |     v0 = 0;
    0x000f6a10 jr ra                                 |     return v0;
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x57668 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlSetProp ()                | void xmlSetProp () {
    0x00057668 lui gp, 0x14                  |     
    0x0005766c addiu gp, gp, -0x5ff8         |     
    0x00057670 addu gp, gp, t9               |     gp += t9;
    0x00057674 addiu sp, sp, -0x40           |     
    0x00057678 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0005767c lw s2, -0x7000(gp)            |     s2 = *((gp - 7168));
    0x00057680 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00057684 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x00057688 lw v0, (s2)                   |     v0 = *(s2);
    0x0005768c sw s6, 0x38(sp)               |     *(var_38h) = s6;
    0x00057690 sw s5, 0x34(sp)               |     *(var_34h) = s5;
    0x00057694 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x00057698 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x0005769c sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x000576a0 sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x000576a4 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
                                             |     if (a0 == 0) {
    0x000576a8 beql a0, zero, 0x57764        |         goto label_0;
                                             |     }
    0x000576ac move v0, zero                 |     v0 = 0;
    0x000576b0 move s1, a1                   |     s1 = a1;
                                             |     if (a1 == 0) {
    0x000576b4 beqz a1, 0x57798              |         goto label_1;
                                             |     }
    0x000576b8 lw v1, 4(a0)                  |     v1 = *((a0 + 1));
    0x000576bc addiu v0, zero, 1             |     v0 = 1;
    0x000576c0 move s0, a0                   |     s0 = a0;
                                             |     if (v1 != v0) {
    0x000576c4 bne v1, v0, 0x57798           |         goto label_1;
                                             |     }
    0x000576c8 lbu v1, (a1)                  |     v1 = *(a1);
    0x000576cc addiu v0, zero, 0x3a          |     v0 = 0x3a;
    0x000576d0 move s3, a2                   |     s3 = a2;
                                             |     if (v1 != v0) {
    0x000576d4 beq v1, v0, 0x57748           |         
    0x000576d8 lw t9, -0x7c2c(gp)            |         t9 = *(gp);
    0x000576dc addiu a1, sp, 0x18            |         a1 = sp + 0x18;
    0x000576e0 addiu t9, t9, -0x4d48         |         t9 += -0x4d48;
    0x000576e4 move a0, s1                   |         a0 = s1;
    0x000576e8 bal 0x4b2b8                   |         fcn_0004b2b8 ();
    0x000576ec move s4, v0                   |         s4 = v0;
    0x000576f0 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x000576f4 beqz v0, 0x57748              |             goto label_2;
                                             |         }
    0x000576f8 lw t9, -0x7fc8(gp)            |         t9 = *(gp);
    0x000576fc lw a1, 0x18(sp)               |         a1 = *(var_18h);
    0x00057700 jalr t9                       |         t9 ();
    0x00057704 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00057708 lw a0, 0x20(s0)               |         a0 = *((s0 + 8));
    0x0005770c move a2, v0                   |         a2 = v0;
    0x00057710 lw t9, -0x7bb8(gp)            |         t9 = *(gp);
    0x00057714 move a1, s0                   |         a1 = s0;
    0x00057718 move s5, v0                   |         s5 = v0;
    0x0005771c bal 0x5278c                   |         sym_xmlSearchNs ();
    0x00057720 move s6, v0                   |         s6 = v0;
    0x00057724 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (s5 != 0) {
    0x00057728 beqz s5, 0x57740              |             
    0x0005772c lw v0, -0x7158(gp)            |             v0 = *(gp);
    0x00057730 lw t9, (v0)                   |             t9 = *(v0);
    0x00057734 move a0, s5                   |             a0 = s5;
    0x00057738 jalr t9                       |             t9 ();
    0x0005773c lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x00057740 lw t9, -0x7b44(gp)            |         t9 = *((gp - 7889));
                                             |         if (s6 != 0) {
    0x00057744 bnez s6, 0x577a0              |             goto label_3;
                                             |         }
                                             |     }
                                             | label_2:
    0x00057748 lw t9, -0x7b44(gp)            |     t9 = *((gp - 7889));
    0x0005774c move a3, s3                   |     a3 = s3;
    0x00057750 move a2, s1                   |     a2 = s1;
    0x00057754 move a1, zero                 |     a1 = 0;
    0x00057758 move a0, s0                   |     a0 = s0;
    0x0005775c bal 0x57158                   |     sym_xmlSetNsProp ();
    0x00057760 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     do {
                                             | label_0:
    0x00057764 lw a0, 0x1c(sp)               |         a0 = *(var_1ch);
    0x00057768 lw v1, (s2)                   |         v1 = *(s2);
    0x0005776c lw ra, 0x3c(sp)               |         ra = *(var_3ch);
                                             |         if (a0 != v1) {
    0x00057770 bne a0, v1, 0x577bc           |             goto label_4;
                                             |         }
    0x00057774 lw s6, 0x38(sp)               |         s6 = *(var_38h);
    0x00057778 lw s5, 0x34(sp)               |         s5 = *(var_34h);
    0x0005777c lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x00057780 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x00057784 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x00057788 lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x0005778c lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x00057790 addiu sp, sp, 0x40            |         
    0x00057794 jr ra                         |         return v0;
                                             | label_1:
    0x00057798 move v0, zero                 |         v0 = 0;
    0x0005779c b 0x57764                     |         
                                             |     } while (1);
                                             | label_3:
    0x000577a0 move a3, s3                   |     a3 = s3;
    0x000577a4 move a2, s4                   |     a2 = s4;
    0x000577a8 move a1, s6                   |     a1 = s6;
    0x000577ac move a0, s0                   |     a0 = s0;
    0x000577b0 bal 0x57158                   |     sym_xmlSetNsProp ();
    0x000577b4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000577b8 b 0x57764                     |     goto label_0;
                                             | label_4:
    0x000577bc lw t9, -0x7074(gp)            |     t9 = *((gp - 7197));
    0x000577c0 jalr t9                       |     t9 ();
    0x000577c4 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 @ 0x31780 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlSplitQName ()             | void xmlSplitQName () {
    0x00031780 lui gp, 0x16                  |     
    0x00031784 addiu gp, gp, -0x110          |     
    0x00031788 addu gp, gp, t9               |     gp += t9;
    0x0003178c lw v0, -0x7000(gp)            |     v0 = *((gp - 7168));
    0x00031790 addiu sp, sp, -0xc8           |     
    0x00031794 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x00031798 lw v0, (v0)                   |     v0 = *(v0);
    0x0003179c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000317a0 sw ra, 0xc4(sp)               |     *(var_c4h) = ra;
    0x000317a4 sw fp, 0xc0(sp)               |     *(var_c0h) = fp;
    0x000317a8 sw s7, 0xbc(sp)               |     *(var_bch) = s7;
    0x000317ac sw s6, 0xb8(sp)               |     *(var_b8h) = s6;
    0x000317b0 sw s5, 0xb4(sp)               |     *(var_b4h) = s5;
    0x000317b4 sw s4, 0xb0(sp)               |     *(var_b0h) = s4;
    0x000317b8 sw s3, 0xac(sp)               |     *(var_ach) = s3;
    0x000317bc sw s2, 0xa8(sp)               |     *(var_a8h) = s2;
    0x000317c0 sw s1, 0xa4(sp)               |     *(var_a4h) = s1;
    0x000317c4 sw s0, 0xa0(sp)               |     *(var_a0h) = s0;
    0x000317c8 sw a2, 0x18(sp)               |     *(var_18h) = a2;
    0x000317cc sw a0, 0x20(sp)               |     *(var_20h) = a0;
    0x000317d0 sw v0, 0x9c(sp)               |     *(var_9ch) = v0;
                                             |     if (a2 == 0) {
    0x000317d4 beql a2, zero, 0x31868        |         goto label_1;
                                             |     }
    0x000317d8 move fp, zero                 |     fp = 0;
    0x000317dc lw v0, 0x18(sp)               |     v0 = *(var_18h);
    0x000317e0 move s0, a1                   |     s0 = a1;
    0x000317e4 sw zero, (v0)                 |     *(v0) = 0;
                                             |     if (a1 == 0) {
    0x000317e8 beqz a1, 0x31adc              |         goto label_11;
                                             |     }
    0x000317ec lbu v0, (a1)                  |     v0 = *(a1);
    0x000317f0 addiu v1, zero, 0x3a          |     v1 = 0x3a;
    0x000317f4 lw t9, -0x7fd8(gp)            |     t9 = *((gp - 8182));
                                             |     if (v0 == v1) {
    0x000317f8 beq v0, v1, 0x31ac8           |         goto label_12;
                                             |     }
    0x000317fc addiu s6, a1, 1               |     s6 = a1 + 1;
    0x00031800 move s5, v0                   |     s5 = v0;
                                             |     if (v0 == 0) {
    0x00031804 beqz v0, 0x31d40              |         goto label_13;
                                             |     }
    0x00031808 addiu s7, sp, 0x30            |     s7 = sp + 0x30;
                                             |     if (v0 == v1) {
    0x0003180c beq v0, v1, 0x31d5c           |         goto label_14;
                                             |     }
    0x00031810 move a1, zero                 |     a1 = 0;
    0x00031814 addiu v1, zero, 0x3a          |     v1 = 0x3a;
    0x00031818 addiu a0, zero, 0x64          |     a0 = 0x64;
    0x0003181c b 0x31830                     |     
                                             |     while (s5 != 0) {
                                             |         if (s5 == v1) {
    0x00031820 beq s5, v1, 0x318ac           |             goto label_15;
                                             |         }
    0x00031824 nop                           |         
    0x00031828 lw v0, -0x6ddc(gp)            |         v0 = *((gp - 7031));
                                             |         if (a1 == a0) {
    0x0003182c beq a1, a0, 0x31ae4           |             goto label_16;
                                             |         }
    0x00031830 addiu a1, a1, 1               |         a1++;
    0x00031834 addu v0, s7, a1               |         v0 = s7 + a1;
    0x00031838 addiu s6, s6, 1               |         s6++;
    0x0003183c sb s5, -1(v0)                 |         *((v0 - 1)) = s5;
    0x00031840 lbu s5, -1(s6)                |         s5 = *((s6 - 1));
    0x00031844 addiu v0, zero, 0x64          |         v0 = 0x64;
    0x00031848 bnez s5, 0x31820              |         
                                             |     }
                                             |     if (a1 == v0) {
    0x0003184c beql a1, v0, 0x319f8          |         goto label_17;
                                             |     }
    0x00031850 lw v0, -0x6ddc(gp)            |     v0 = *((gp - 7031));
                                             | label_0:
    0x00031854 lw t9, -0x7fc8(gp)            |     t9 = *(gp);
    0x00031858 move a0, s7                   |     a0 = s7;
    0x0003185c jalr t9                       |     t9 ();
    0x00031860 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00031864 move fp, v0                   |     fp = v0;
                                             | label_1:
    0x00031868 lw v0, 0x1c(sp)               |     v0 = *(var_1ch);
    0x0003186c lw a0, 0x9c(sp)               |     a0 = *(var_9ch);
    0x00031870 lw v1, (v0)                   |     v1 = *(v0);
    0x00031874 move v0, fp                   |     v0 = fp;
                                             |     if (a0 != v1) {
    0x00031878 bne a0, v1, 0x31e40           |         goto label_18;
                                             |     }
    0x0003187c lw ra, 0xc4(sp)               |     ra = *(var_c4h);
    0x00031880 lw fp, 0xc0(sp)               |     fp = *(var_c0h);
    0x00031884 lw s7, 0xbc(sp)               |     s7 = *(var_bch);
    0x00031888 lw s6, 0xb8(sp)               |     s6 = *(var_b8h);
    0x0003188c lw s5, 0xb4(sp)               |     s5 = *(var_b4h);
    0x00031890 lw s4, 0xb0(sp)               |     s4 = *(var_b0h);
    0x00031894 lw s3, 0xac(sp)               |     s3 = *(var_ach);
    0x00031898 lw s2, 0xa8(sp)               |     s2 = *(var_a8h);
    0x0003189c lw s1, 0xa4(sp)               |     s1 = *(var_a4h);
    0x000318a0 lw s0, 0xa0(sp)               |     s0 = *(var_a0h);
    0x000318a4 addiu sp, sp, 0xc8            |     
    0x000318a8 jr ra                         |     return v0;
                                             | label_15:
    0x000318ac lw v0, -0x6ddc(gp)            |     v0 = *((gp - 7031));
                                             |     if (a1 == v0) {
    0x000318b0 beq a1, v0, 0x31a2c           |         goto label_19;
                                             |     }
    0x000318b4 lbu v0, (s6)                  |     v0 = *(s6);
    0x000318b8 lw v0, 0x18(sp)               |     v0 = *(var_18h);
                                             |     if (v0 == 0) {
    0x000318bc beqz v0, 0x31ac0              |         goto label_20;
                                             |     }
                                             | label_7:
    0x000318c0 lw t9, -0x7fc8(gp)            |     t9 = *(gp);
    0x000318c4 move a0, s7                   |     a0 = s7;
    0x000318c8 jalr t9                       |     t9 ();
    0x000318cc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000318d0 move fp, v0                   |     fp = v0;
    0x000318d4 lw v0, 0x18(sp)               |     v0 = *(var_18h);
                                             | label_2:
    0x000318d8 lbu s5, (s6)                  |     s5 = *(s6);
    0x000318dc sw fp, (v0)                   |     *(v0) = fp;
                                             |     if (s5 == 0) {
    0x000318e0 beqz s5, 0x31d20              |         goto label_21;
                                             |     }
    0x000318e4 addiu s1, zero, -0x21         |     s1 = -0x21;
    0x000318e8 and v0, s5, s1                |     v0 = s5 & s1;
    0x000318ec addiu v0, v0, -0x41           |     v0 += -0x41;
    0x000318f0 sltiu v0, v0, 0x1a            |     v0 = (v0 < 0x1a) ? 1 : 0;
    0x000318f4 lbu s1, 1(s6)                 |     s1 = *((s6 + 1));
                                             |     if (v0 != 0) {
    0x000318f8 bnel v0, zero, 0x319a4        |         
    0x000318fc addiu fp, zero, 0x5f          |         fp = 0x5f;
    0x00031900 addiu v0, zero, 0x3a          |         v0 = 0x3a;
                                             |         if (s5 != fp) {
    0x00031904 beq s5, fp, 0x319a0           |             
                                             |             if (s5 == v0) {
    0x00031908 beql s5, v0, 0x319a4          |                 goto label_9;
                                             |             }
    0x0003190c lbu s1, 1(s6)                 |             s1 = *((s6 + 1));
    0x00031910 lw t9, -0x7e88(gp)            |             t9 = *(gp);
    0x00031914 lw a0, 0x20(sp)               |             a0 = *(var_20h);
    0x00031918 addiu a2, sp, 0x2c            |             a2 = sp + 0x2c;
    0x0003191c move a1, s6                   |             a1 = s6;
    0x00031920 bal 0x28f68                   |             sym_xmlStringCurrentChar ();
    0x00031924 move s4, v0                   |             s4 = v0;
    0x00031928 slti v0, v0, 0x100            |             v0 = (v0 < aav.0x00000100) ? 1 : 0;
    0x0003192c lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |             if (v0 == 0) {
    0x00031930 beqz v0, 0x31df8              |                 goto label_22;
                                             |             }
    0x00031934 and v0, s4, s1                |             v0 = s4 & s1;
    0x00031938 addiu v0, v0, -0x41           |             v0 += -0x41;
    0x0003193c sltiu v0, v0, 0x1a            |             v0 = (v0 < 0x1a) ? 1 : 0;
    0x00031940 lbu s1, 1(s6)                 |             s1 = *((s6 + 1));
                                             |             if (v0 == 0) {
    0x00031944 bnel v0, zero, 0x319a4        |                 goto label_9;
                                             |             }
    0x00031948 addiu v0, s4, -0xc0           |             v0 = s4 + -0xc0;
    0x0003194c sltiu v0, v0, 0x17            |             v0 = (v0 < 0x17) ? 1 : 0;
    0x00031950 lbu s1, 1(s6)                 |             s1 = *((s6 + 1));
                                             |             if (v0 == 0) {
    0x00031954 bnel v0, zero, 0x319a4        |                 goto label_9;
                                             |             }
    0x00031958 addiu v0, s4, -0xd8           |             v0 = s4 + -0xd8;
    0x0003195c sltiu v0, v0, 0x1f            |             v0 = (v0 < 0x1f) ? 1 : 0;
    0x00031960 lbu s1, 1(s6)                 |             s1 = *((s6 + 1));
                                             |             if (v0 == 0) {
    0x00031964 bnel v0, zero, 0x319a4        |                 goto label_9;
                                             |             }
    0x00031968 slti v0, s4, 0xf8             |             v0 = (s4 < 0xf8) ? 1 : 0;
                                             |             if (v0 == 0) {
    0x0003196c beql v0, zero, 0x319a4        |                 goto label_9;
                                             |             }
    0x00031970 lbu s1, 1(s6)                 |             s1 = *((s6 + 1));
                                             |             if (s4 == fp) {
    0x00031974 beql s4, fp, 0x319a4          |                 goto label_9;
                                             |             }
    0x00031978 lbu s1, 1(s6)                 |             s1 = *((s6 + 1));
    0x0003197c lw a2, -0x7fd4(gp)            |             a2 = *(gp);
                                             | label_10:
    0x00031980 lw t9, -0x7ea0(gp)            |             t9 = *((gp - 8104));
    0x00031984 lw a0, 0x20(sp)               |             a0 = *(var_20h);
    0x00031988 move a3, s0                   |             a3 = s0;
    0x0003198c addiu a2, a2, 0x7a18          |             a2 += aav.0x00007a18;
    0x00031990 addiu t9, t9, -0x357c         |             t9 += -0x357c;
    0x00031994 addiu a1, zero, 0xca          |             a1 = 0xca;
    0x00031998 bal 0x2ca84                   |             fcn_0002ca84 ();
    0x0003199c lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
                                             | label_8:
    0x000319a0 lbu s1, 1(s6)                 |         s1 = *((s6 + 1));
                                             |     }
                                             | label_9:
    0x000319a4 sb s5, 0x30(sp)               |     *(var_30h_2) = s5;
    0x000319a8 addiu s6, s6, 2               |     s6 += 2;
    0x000319ac addiu s0, zero, 1             |     s0 = 1;
                                             |     if (s1 == 0) {
    0x000319b0 beqz s1, 0x319f0              |         goto label_23;
                                             |     }
    0x000319b4 addiu a0, zero, 0x64          |     a0 = 0x64;
    0x000319b8 b 0x319c8                     |     
                                             |     if (s0 == a0) {
                                             |         while (s1 != 0) {
    0x000319bc beql s0, a0, 0x31bd8          |             goto label_24;
                                             |         }
    0x000319c0 lw v0, -0x6ddc(gp)            |         v0 = *((gp - 7031));
    0x000319c4 move s6, v0                   |         s6 = v0;
    0x000319c8 addiu s0, s0, 1               |         s0++;
    0x000319cc addu v1, s7, s0               |         v1 = s7 + s0;
    0x000319d0 addiu v0, s6, 1               |         v0 = s6 + 1;
    0x000319d4 sb s1, -1(v1)                 |         *((v1 - 1)) = s1;
    0x000319d8 lbu s1, -1(v0)                |         s1 = *((v0 - 1));
    0x000319dc move s5, s0                   |         s5 = s0;
    0x000319e0 bnez s1, 0x319bc              |         
                                             |     }
    0x000319e4 slti v0, s0, 0x64             |     v0 = (s0 < 0x64) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x000319e8 beql v0, zero, 0x31cc8        |         goto label_25;
                                             |     }
    0x000319ec lw v0, -0x6ddc(gp)            |     v0 = *((gp - 7031));
                                             | label_23:
    0x000319f0 move a1, s0                   |     a1 = s0;
    0x000319f4 b 0x31854                     |     goto label_0;
                                             | label_17:
    0x000319f8 lw t9, (v0)                   |     t9 = *(v0);
    0x000319fc addiu a0, zero, 0xc8          |     a0 = 0xc8;
    0x00031a00 jalr t9                       |     t9 ();
    0x00031a04 move fp, v0                   |     fp = v0;
    0x00031a08 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00031a0c bnez v0, 0x31da0              |         goto label_26;
                                             |     }
                                             |     do {
                                             | label_3:
    0x00031a10 lw t9, -0x7ed4(gp)            |         t9 = *((gp - 8117));
    0x00031a14 lw a0, 0x20(sp)               |         a0 = *(var_20h);
    0x00031a18 move a1, zero                 |         a1 = 0;
    0x00031a1c bal 0x2807c                   |         sym_xmlErrMemory ();
    0x00031a20 move fp, zero                 |         fp = 0;
    0x00031a24 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00031a28 b 0x31868                     |         goto label_1;
                                             | label_19:
    0x00031a2c lw t9, (v0)                   |         t9 = *(v0);
    0x00031a30 addiu a0, zero, 0xc8          |         a0 = 0xc8;
    0x00031a34 jalr t9                       |         t9 ();
    0x00031a38 move fp, v0                   |         fp = v0;
    0x00031a3c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00031a40 beqz v0, 0x31a10              |         
                                             |     } while (v0 == 0);
    0x00031a44 move v1, s7                   |     v1 = s7;
    0x00031a48 move v0, fp                   |     v0 = fp;
    0x00031a4c addiu t0, sp, 0x90            |     t0 = sp + 0x90;
                                             |     do {
    0x00031a50 lw a3, (v1)                   |         a3 = *(v1);
    0x00031a54 lw a2, 4(v1)                  |         a2 = *((v1 + 1));
    0x00031a58 lw a1, 8(v1)                  |         a1 = *((v1 + 2));
    0x00031a5c lw a0, 0xc(v1)                |         a0 = *((v1 + 3));
    0x00031a60 swl a3, 3(v0)                 |         __asm ("swl a3, 3(v0)");
    0x00031a64 swr a3, (v0)                  |         __asm ("swr a3, (v0)");
    0x00031a68 swl a2, 7(v0)                 |         __asm ("swl a2, 7(v0)");
    0x00031a6c swr a2, 4(v0)                 |         __asm ("swr a2, 4(v0)");
    0x00031a70 swl a1, 0xb(v0)               |         __asm ("swl a1, 0xb(v0)");
    0x00031a74 swr a1, 8(v0)                 |         __asm ("swr a1, 8(v0)");
    0x00031a78 swl a0, 0xf(v0)               |         __asm ("swl a0, 0xf(v0)");
    0x00031a7c addiu v1, v1, 0x10            |         v1 += 0x10;
    0x00031a80 swr a0, 0xc(v0)               |         __asm ("swr a0, 0xc(v0)");
    0x00031a84 addiu v0, v0, 0x10            |         v0 += 0x10;
    0x00031a88 bne v1, t0, 0x31a50           |         
                                             |     } while (v1 != t0);
    0x00031a8c lw v1, (v1)                   |     v1 = *(v1);
    0x00031a90 swl v1, 3(v0)                 |     __asm ("swl v1, 3(v0)");
    0x00031a94 swr v1, (v0)                  |     __asm ("swr v1, (v0)");
    0x00031a98 sb zero, 0x64(fp)             |     *(arg_64h) = 0;
    0x00031a9c lbu v0, (s6)                  |     v0 = *(s6);
    0x00031aa0 lw v0, 0x18(sp)               |     v0 = *(var_18h);
                                             |     if (v0 == 0) {
    0x00031aa4 bnel v0, zero, 0x318d8        |         goto label_2;
                                             |     }
    0x00031aa8 lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             | label_5:
    0x00031aac lw t9, (v0)                   |     t9 = *(v0);
    0x00031ab0 move a0, fp                   |     a0 = fp;
    0x00031ab4 jalr t9                       |     t9 ();
    0x00031ab8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             | label_6:
    0x00031abc lw v0, 0x18(sp)               |     v0 = *(var_18h);
                                             | label_20:
    0x00031ac0 sw zero, (v0)                 |     *(v0) = 0;
    0x00031ac4 lw t9, -0x7fd8(gp)            |     t9 = *((gp - 8182));
                                             | label_12:
    0x00031ac8 move a0, s0                   |     a0 = s0;
    0x00031acc jalr t9                       |     t9 ();
    0x00031ad0 move fp, v0                   |     fp = v0;
    0x00031ad4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00031ad8 b 0x31868                     |     goto label_1;
                                             | label_11:
    0x00031adc move fp, zero                 |     fp = 0;
    0x00031ae0 b 0x31868                     |     goto label_1;
                                             | label_16:
    0x00031ae4 sw a1, 0x24(sp)               |     *(var_24h_2) = a1;
    0x00031ae8 lw t9, (v0)                   |     t9 = *(v0);
    0x00031aec addiu a0, zero, 0xc8          |     a0 = 0xc8;
    0x00031af0 jalr t9                       |     t9 ();
    0x00031af4 move fp, v0                   |     fp = v0;
    0x00031af8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00031afc lw a1, 0x24(sp)               |     a1 = *(var_24h_2);
                                             |     if (v0 == 0) {
    0x00031b00 beqz v0, 0x31a10              |         goto label_3;
                                             |     }
    0x00031b04 move v1, s7                   |     v1 = s7;
    0x00031b08 move v0, fp                   |     v0 = fp;
    0x00031b0c addiu t1, sp, 0x90            |     t1 = sp + 0x90;
                                             |     do {
    0x00031b10 lw t0, (v1)                   |         t0 = *(v1);
    0x00031b14 lw a3, 4(v1)                  |         a3 = *((v1 + 1));
    0x00031b18 lw a2, 8(v1)                  |         a2 = *((v1 + 2));
    0x00031b1c lw a0, 0xc(v1)                |         a0 = *((v1 + 3));
    0x00031b20 swl t0, 3(v0)                 |         __asm ("swl t0, 3(v0)");
    0x00031b24 swr t0, (v0)                  |         __asm ("swr t0, (v0)");
    0x00031b28 swl a3, 7(v0)                 |         __asm ("swl a3, 7(v0)");
    0x00031b2c swr a3, 4(v0)                 |         __asm ("swr a3, 4(v0)");
    0x00031b30 swl a2, 0xb(v0)               |         __asm ("swl a2, 0xb(v0)");
    0x00031b34 swr a2, 8(v0)                 |         __asm ("swr a2, 8(v0)");
    0x00031b38 swl a0, 0xf(v0)               |         __asm ("swl a0, 0xf(v0)");
    0x00031b3c addiu v1, v1, 0x10            |         v1 += 0x10;
    0x00031b40 swr a0, 0xc(v0)               |         __asm ("swr a0, 0xc(v0)");
    0x00031b44 addiu v0, v0, 0x10            |         v0 += 0x10;
    0x00031b48 bne v1, t1, 0x31b10           |         
                                             |     } while (v1 != t1);
    0x00031b4c lw a0, (v1)                   |     a0 = *(v1);
    0x00031b50 addiu s6, s6, 1               |     s6++;
    0x00031b54 swl a0, 3(v0)                 |     __asm ("swl a0, 3(v0)");
    0x00031b58 swr a0, (v0)                  |     __asm ("swr a0, (v0)");
    0x00031b5c addu v0, fp, a1               |     v0 = fp + a1;
    0x00031b60 addiu s4, zero, 0xc8          |     s4 = 0xc8;
    0x00031b64 sb s5, (v0)                   |     *(v0) = s5;
    0x00031b68 lbu s5, -1(s6)                |     s5 = *((s6 - 1));
    0x00031b6c addiu s1, zero, 0x3a          |     s1 = 0x3a;
    0x00031b70 lw s2, -0x6e24(gp)            |     s2 = *(gp);
    0x00031b74 addiu s3, a1, 1               |     s3 = a1 + 1;
                                             |     if (s5 == 0) {
    0x00031b78 beqz s5, 0x31bcc              |         goto label_27;
                                             |     }
                                             |     do {
    0x00031b7c addiu a1, a1, 0xa             |         a1 += 0xa;
                                             |         if (s5 == s1) {
    0x00031b80 beq s5, s1, 0x31d04           |             goto label_28;
                                             |         }
    0x00031b84 slt a1, a1, s4                |         a1 = (a1 < s4) ? 1 : 0;
    0x00031b88 move a1, s3                   |         a1 = s3;
                                             |         if (a1 == 0) {
    0x00031b8c bnez a1, 0x31bb4              |             
    0x00031b90 sll s4, s4, 1                 |             s4 <<= 1;
    0x00031b94 lw t9, (s2)                   |             t9 = *(s2);
    0x00031b98 move a1, s4                   |             a1 = s4;
    0x00031b9c move a0, fp                   |             a0 = fp;
    0x00031ba0 jalr t9                       |             t9 ();
    0x00031ba4 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |             if (v0 == 0) {
    0x00031ba8 beqz v0, 0x31c98              |                 goto label_29;
                                             |             }
    0x00031bac move fp, v0                   |             fp = v0;
    0x00031bb0 move a1, s3                   |             a1 = s3;
                                             |         }
    0x00031bb4 addu v0, fp, a1               |         v0 = fp + a1;
    0x00031bb8 addiu s6, s6, 1               |         s6++;
    0x00031bbc sb s5, (v0)                   |         *(v0) = s5;
    0x00031bc0 lbu s5, -1(s6)                |         s5 = *((s6 - 1));
    0x00031bc4 addiu s3, a1, 1               |         s3 = a1 + 1;
    0x00031bc8 bnez s5, 0x31b7c              |         
                                             |     } while (s5 != 0);
                                             | label_27:
    0x00031bcc addu a2, fp, s3               |     a2 = fp + s3;
    0x00031bd0 sb zero, (a2)                 |     *(a2) = 0;
    0x00031bd4 b 0x31868                     |     goto label_1;
                                             | label_24:
    0x00031bd8 lw t9, (v0)                   |     t9 = *(v0);
    0x00031bdc addiu a0, zero, 0xc8          |     a0 = 0xc8;
    0x00031be0 jalr t9                       |     t9 ();
    0x00031be4 move fp, v0                   |     fp = v0;
    0x00031be8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00031bec beqz v0, 0x31a10              |         goto label_3;
                                             |     }
    0x00031bf0 addiu a3, sp, 0x90            |     a3 = sp + 0x90;
                                             |     do {
    0x00031bf4 lw a2, (s7)                   |         a2 = *(s7);
    0x00031bf8 lw a1, 4(s7)                  |         a1 = *((s7 + 1));
    0x00031bfc lw a0, 8(s7)                  |         a0 = *((s7 + 2));
    0x00031c00 lw v1, 0xc(s7)                |         v1 = *((s7 + 3));
    0x00031c04 swl a2, 3(v0)                 |         __asm ("swl a2, 3(v0)");
    0x00031c08 swr a2, (v0)                  |         __asm ("swr a2, (v0)");
    0x00031c0c swl a1, 7(v0)                 |         __asm ("swl a1, 7(v0)");
    0x00031c10 swr a1, 4(v0)                 |         __asm ("swr a1, 4(v0)");
    0x00031c14 swl a0, 0xb(v0)               |         __asm ("swl a0, 0xb(v0)");
    0x00031c18 swr a0, 8(v0)                 |         __asm ("swr a0, 8(v0)");
    0x00031c1c swl v1, 0xf(v0)               |         __asm ("swl v1, 0xf(v0)");
    0x00031c20 addiu s7, s7, 0x10            |         s7 += 0x10;
    0x00031c24 swr v1, 0xc(v0)               |         __asm ("swr v1, 0xc(v0)");
    0x00031c28 addiu v0, v0, 0x10            |         v0 += 0x10;
    0x00031c2c bne s7, a3, 0x31bf4           |         
                                             |     } while (s7 != a3);
    0x00031c30 lw v1, (s7)                   |     v1 = *(s7);
    0x00031c34 lw s2, -0x6e24(gp)            |     s2 = *(gp);
    0x00031c38 swl v1, 3(v0)                 |     __asm ("swl v1, 3(v0)");
    0x00031c3c addiu s7, zero, 0xc8          |     s7 = 0xc8;
    0x00031c40 swr v1, (v0)                  |     __asm ("swr v1, (v0)");
                                             |     do {
                                             | label_4:
    0x00031c44 addu v1, fp, s0               |         v1 = fp + s0;
    0x00031c48 addu v0, s6, s0               |         v0 = s6 + s0;
    0x00031c4c sb s1, (v1)                   |         *(v1) = s1;
    0x00031c50 lbu s1, -0x63(v0)             |         s1 = *((v0 - 99));
    0x00031c54 addiu s4, s0, 1               |         s4 = s0 + 1;
    0x00031c58 move s5, s4                   |         s5 = s4;
                                             |         if (s1 == 0) {
    0x00031c5c beqz s1, 0x31cf8              |             goto label_30;
                                             |         }
    0x00031c60 addiu s0, s0, 0xa             |         s0 += 0xa;
    0x00031c64 slt s0, s0, s7                |         s0 = (s0 < s7) ? 1 : 0;
    0x00031c68 move s0, s4                   |         s0 = s4;
    0x00031c6c bnel s0, zero, 0x31c44        |         
                                             |     } while (s0 == 0);
    0x00031c70 sll s7, s7, 1                 |     s7 <<= 1;
    0x00031c74 lw t9, (s2)                   |     t9 = *(s2);
    0x00031c78 move a1, s7                   |     a1 = s7;
    0x00031c7c move a0, fp                   |     a0 = fp;
    0x00031c80 jalr t9                       |     t9 ();
    0x00031c84 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00031c88 beqz v0, 0x31d70              |         goto label_31;
                                             |     }
    0x00031c8c move fp, v0                   |     fp = v0;
    0x00031c90 move s0, s4                   |     s0 = s4;
    0x00031c94 b 0x31c44                     |     goto label_4;
                                             | label_29:
    0x00031c98 lw v0, -0x7158(gp)            |     v0 = *(gp);
    0x00031c9c move a0, fp                   |     a0 = fp;
    0x00031ca0 lw t9, (v0)                   |     t9 = *(v0);
    0x00031ca4 move fp, zero                 |     fp = 0;
    0x00031ca8 jalr t9                       |     t9 ();
    0x00031cac lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00031cb0 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x00031cb4 lw t9, -0x7ed4(gp)            |     t9 = *((gp - 8117));
    0x00031cb8 move a1, zero                 |     a1 = 0;
    0x00031cbc bal 0x2807c                   |     sym_xmlErrMemory ();
    0x00031cc0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00031cc4 b 0x31868                     |     goto label_1;
                                             | label_25:
    0x00031cc8 lw t9, (v0)                   |     t9 = *(v0);
    0x00031ccc sll a0, s0, 1                 |     a0 = s0 << 1;
    0x00031cd0 jalr t9                       |     t9 ();
    0x00031cd4 move fp, v0                   |     fp = v0;
    0x00031cd8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00031cdc beqz v0, 0x31a10              |         goto label_3;
                                             |     }
    0x00031ce0 lw t9, -0x6fbc(gp)            |     t9 = *(gp);
    0x00031ce4 move a2, s5                   |     a2 = s5;
    0x00031ce8 move a1, s7                   |     a1 = s7;
    0x00031cec move a0, fp                   |     a0 = fp;
    0x00031cf0 jalr t9                       |     t9 ();
    0x00031cf4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             | label_30:
    0x00031cf8 addu s5, fp, s5               |     s5 = fp + s5;
    0x00031cfc sb zero, (s5)                 |     *(s5) = 0;
    0x00031d00 b 0x31868                     |     goto label_1;
                                             | label_28:
    0x00031d04 addu a2, fp, s3               |     a2 = fp + s3;
    0x00031d08 sb zero, (a2)                 |     *(a2) = 0;
    0x00031d0c lbu v0, (s6)                  |     v0 = *(s6);
    0x00031d10 lw v0, 0x18(sp)               |     v0 = *(var_18h);
                                             |     if (v0 == 0) {
    0x00031d14 bnel v0, zero, 0x318d8        |         goto label_2;
                                             |     }
    0x00031d18 lw v0, -0x7158(gp)            |     v0 = *(gp);
    0x00031d1c b 0x31aac                     |     goto label_5;
                                             | label_21:
    0x00031d20 lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x00031d24 lw t9, -0x7fc8(gp)            |     t9 = *(gp);
    0x00031d28 move a1, zero                 |     a1 = 0;
    0x00031d2c addiu a0, a0, 0x2694          |     a0 += 0x2694;
    0x00031d30 jalr t9                       |     t9 ();
    0x00031d34 move fp, v0                   |     fp = v0;
    0x00031d38 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00031d3c b 0x31868                     |     goto label_1;
                                             | label_13:
    0x00031d40 lw t9, -0x7fc8(gp)            |     t9 = *(gp);
    0x00031d44 move a1, zero                 |     a1 = 0;
    0x00031d48 addiu a0, sp, 0x30            |     a0 = sp + 0x30;
    0x00031d4c jalr t9                       |     t9 ();
    0x00031d50 move fp, v0                   |     fp = v0;
    0x00031d54 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00031d58 b 0x31868                     |     goto label_1;
                                             | label_14:
    0x00031d5c lbu v0, 1(a1)                 |     v0 = *((a1 + 1));
    0x00031d60 move a1, zero                 |     a1 = 0;
                                             |     if (v0 == 0) {
    0x00031d64 beqz v0, 0x31abc              |         goto label_6;
                                             |     }
    0x00031d68 addiu s7, sp, 0x30            |     s7 = sp + 0x30;
    0x00031d6c b 0x318c0                     |     goto label_7;
                                             | label_31:
    0x00031d70 lw t9, -0x7ed4(gp)            |     t9 = *((gp - 8117));
    0x00031d74 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x00031d78 move a1, zero                 |     a1 = 0;
    0x00031d7c bal 0x2807c                   |     sym_xmlErrMemory ();
    0x00031d80 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00031d84 move a0, fp                   |     a0 = fp;
    0x00031d88 lw v0, -0x7158(gp)            |     v0 = *(gp);
    0x00031d8c lw t9, (v0)                   |     t9 = *(v0);
    0x00031d90 move fp, zero                 |     fp = 0;
    0x00031d94 jalr t9                       |     t9 ();
    0x00031d98 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00031d9c b 0x31868                     |     goto label_1;
                                             | label_26:
    0x00031da0 move v0, fp                   |     v0 = fp;
    0x00031da4 addiu a3, sp, 0x90            |     a3 = sp + 0x90;
                                             |     do {
    0x00031da8 lw a2, (s7)                   |         a2 = *(s7);
    0x00031dac lw a1, 4(s7)                  |         a1 = *((s7 + 1));
    0x00031db0 lw a0, 8(s7)                  |         a0 = *((s7 + 2));
    0x00031db4 lw v1, 0xc(s7)                |         v1 = *((s7 + 3));
    0x00031db8 swl a2, 3(v0)                 |         __asm ("swl a2, 3(v0)");
    0x00031dbc swr a2, (v0)                  |         __asm ("swr a2, (v0)");
    0x00031dc0 swl a1, 7(v0)                 |         __asm ("swl a1, 7(v0)");
    0x00031dc4 swr a1, 4(v0)                 |         __asm ("swr a1, 4(v0)");
    0x00031dc8 swl a0, 0xb(v0)               |         __asm ("swl a0, 0xb(v0)");
    0x00031dcc swr a0, 8(v0)                 |         __asm ("swr a0, 8(v0)");
    0x00031dd0 swl v1, 0xf(v0)               |         __asm ("swl v1, 0xf(v0)");
    0x00031dd4 addiu s7, s7, 0x10            |         s7 += 0x10;
    0x00031dd8 swr v1, 0xc(v0)               |         __asm ("swr v1, 0xc(v0)");
    0x00031ddc addiu v0, v0, 0x10            |         v0 += 0x10;
    0x00031de0 bne s7, a3, 0x31da8           |         
                                             |     } while (s7 != a3);
    0x00031de4 lw v1, (s7)                   |     v1 = *(s7);
    0x00031de8 swl v1, 3(v0)                 |     __asm ("swl v1, 3(v0)");
    0x00031dec swr v1, (v0)                  |     __asm ("swr v1, (v0)");
    0x00031df0 sb zero, 0x64(fp)             |     *(arg_64h) = 0;
    0x00031df4 b 0x31868                     |     goto label_1;
                                             | label_22:
    0x00031df8 lw a1, -0x6ee8(gp)            |     a1 = *((gp - 7098));
    0x00031dfc lw t9, -0x7f04(gp)            |     t9 = *((gp - 8129));
    0x00031e00 move a0, s4                   |     a0 = s4;
    0x00031e04 jalr t9                       |     t9 ();
    0x00031e08 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00031e0c bnez v0, 0x319a0              |         goto label_8;
                                             |     }
    0x00031e10 addiu v0, s4, -0x4e00         |     v0 = s4 + -0x4e00;
    0x00031e14 sltiu v0, v0, 0x51a6          |     v0 = (v0 < 0x51a6) ? 1 : 0;
    0x00031e18 lbu s1, 1(s6)                 |     s1 = *((s6 + 1));
                                             |     if (v0 == 0) {
    0x00031e1c bnel v0, zero, 0x319a4        |         goto label_9;
                                             |     }
    0x00031e20 addiu v0, zero, 0x3007        |     v0 = 0x3007;
    0x00031e24 addiu v0, s4, -0x3021         |     v0 = s4 + -0x3021;
                                             |     if (s4 == v0) {
    0x00031e28 beq s4, v0, 0x319a0           |         goto label_8;
                                             |     }
    0x00031e2c sltiu v0, v0, 9               |     v0 = (v0 < 9) ? 1 : 0;
    0x00031e30 lbu s1, 1(s6)                 |     s1 = *((s6 + 1));
                                             |     if (v0 == 0) {
    0x00031e34 bnel v0, zero, 0x319a4        |         goto label_9;
                                             |     }
    0x00031e38 lw a2, -0x7fd4(gp)            |     a2 = *(gp);
    0x00031e3c b 0x31980                     |     goto label_10;
                                             | label_18:
    0x00031e40 lw t9, -0x7074(gp)            |     t9 = *((gp - 7197));
    0x00031e44 jalr t9                       |     t9 ();
    0x00031e48 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 @ 0x4bcf0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlSplitQName2 ()            | void xmlSplitQName2 () {
    0x0004bcf0 lui gp, 0x14                  |     
    0x0004bcf4 addiu gp, gp, 0x5980          |     
    0x0004bcf8 addu gp, gp, t9               |     gp += t9;
                                             |     if (a1 == 0) {
    0x0004bcfc beqz a1, 0x4be34              |         goto label_2;
                                             |     }
    0x0004bd00 nop                           |     
    0x0004bd04 sw zero, (a1)                 |     *(a1) = 0;
                                             |     if (a0 == 0) {
    0x0004bd08 beqz a0, 0x4be34              |         goto label_2;
                                             |     }
    0x0004bd0c lbu v0, (a0)                  |     v0 = *(a0);
    0x0004bd10 addiu v1, zero, 0x3a          |     v1 = 0x3a;
                                             |     if (v0 == v1) {
    0x0004bd14 beq v0, v1, 0x4be34           |         goto label_2;
                                             |     }
    0x0004bd18 nop                           |     
                                             |     if (v0 == 0) {
    0x0004bd1c beqz v0, 0x4be34              |         goto label_2;
                                             |     }
    0x0004bd20 nop                           |     
    0x0004bd24 addiu sp, sp, -0x38           |     
    0x0004bd28 addiu a2, zero, 0x3a          |     a2 = 0x3a;
    0x0004bd2c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0004bd30 sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x0004bd34 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0004bd38 sw s2, 0x30(sp)               |     *(var_30h) = s2;
    0x0004bd3c sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x0004bd40 move s0, zero                 |     s0 = 0;
    0x0004bd44 b 0x4bd54                     |     
                                             |     while (v1 != 0) {
    0x0004bd48 lw t9, -0x7fc8(gp)            |         t9 = *(gp);
                                             |         if (v1 == a2) {
    0x0004bd4c beq v1, a2, 0x4bd80           |             goto label_3;
                                             |         }
    0x0004bd50 move s0, v0                   |         s0 = v0;
    0x0004bd54 addiu v0, s0, 1               |         v0 = s0 + 1;
    0x0004bd58 lbux v1, v0(a0)               |         __asm ("lbux v1, v0(a0)");
    0x0004bd5c bnez v1, 0x4bd48              |         
                                             |     }
    0x0004bd60 nop                           |     
                                             | label_0:
    0x0004bd64 move v0, zero                 |     v0 = 0;
                                             |     do {
                                             | label_1:
    0x0004bd68 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x0004bd6c lw s2, 0x30(sp)               |         s2 = *(var_30h);
    0x0004bd70 lw s1, 0x2c(sp)               |         s1 = *(var_2ch);
    0x0004bd74 lw s0, 0x28(sp)               |         s0 = *(var_28h);
    0x0004bd78 addiu sp, sp, 0x38            |         
    0x0004bd7c jr ra                         |         return v0;
                                             | label_3:
    0x0004bd80 move s2, a1                   |         s2 = a1;
    0x0004bd84 move a1, v0                   |         a1 = v0;
    0x0004bd88 move s1, a0                   |         s1 = a0;
    0x0004bd8c jalr t9                       |         t9 ();
    0x0004bd90 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0004bd94 sw v0, (s2)                   |         *(s2) = v0;
                                             |         if (v0 == 0) {
    0x0004bd98 beqz v0, 0x4be04              |             goto label_4;
                                             |         }
    0x0004bd9c lw t9, -0x7fd8(gp)            |         t9 = *((gp - 8182));
    0x0004bda0 addiu s0, s0, 2               |         s0 += 2;
    0x0004bda4 addu a0, s1, s0               |         a0 = s1 + s0;
    0x0004bda8 jalr t9                       |         t9 ();
    0x0004bdac lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0004bdb0 bnez v0, 0x4bd68              |         
                                             |     } while (v0 != 0);
    0x0004bdb4 lw v1, -0x7f94(gp)            |     v1 = *((gp - 8165));
    0x0004bdb8 lw t9, -0x6db8(gp)            |     t9 = *((gp - 7022));
    0x0004bdbc addiu v1, v1, -0x6990         |     v1 += -0x6990;
    0x0004bdc0 addiu a0, zero, 2             |     a0 = 2;
    0x0004bdc4 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x0004bdc8 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x0004bdcc move a3, zero                 |     a3 = 0;
    0x0004bdd0 move a2, zero                 |     a2 = 0;
    0x0004bdd4 addiu a1, zero, 2             |     a1 = 2;
    0x0004bdd8 jalr t9                       |     t9 ();
    0x0004bddc lw a0, (s2)                   |     a0 = *(s2);
    0x0004bde0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 == 0) {
    0x0004bde4 beqz a0, 0x4bd64              |         goto label_0;
                                             |     }
    0x0004bde8 lw v1, -0x7158(gp)            |     v1 = *(gp);
    0x0004bdec lw t9, (v1)                   |     t9 = *(v1);
    0x0004bdf0 jalr t9                       |     t9 ();
    0x0004bdf4 nop                           |     
    0x0004bdf8 sw zero, (s2)                 |     *(s2) = 0;
    0x0004bdfc lw v0, 0x24(sp)               |     v0 = *(var_24h);
    0x0004be00 b 0x4bd68                     |     goto label_1;
                                             | label_4:
    0x0004be04 lw v1, -0x7f94(gp)            |     v1 = *((gp - 8165));
    0x0004be08 lw t9, -0x6db8(gp)            |     t9 = *((gp - 7022));
    0x0004be0c addiu v1, v1, -0x6990         |     v1 += -0x6990;
    0x0004be10 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x0004be14 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x0004be18 move a3, zero                 |     a3 = 0;
    0x0004be1c move a2, zero                 |     a2 = 0;
    0x0004be20 addiu a1, zero, 2             |     a1 = 2;
    0x0004be24 addiu a0, zero, 2             |     a0 = 2;
    0x0004be28 jalr t9                       |     t9 ();
    0x0004be2c lw v0, 0x24(sp)               |     v0 = *(var_24h);
    0x0004be30 b 0x4bd68                     |     goto label_1;
                                             | label_2:
    0x0004be34 move v0, zero                 |     v0 = 0;
    0x0004be38 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x4be3c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlSplitQName3 ()            | void xmlSplitQName3 () {
    0x0004be3c lui gp, 0x14                  |     
    0x0004be40 addiu gp, gp, 0x5834          |     
    0x0004be44 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 != 0) {
    0x0004be48 beqz a0, 0x4be74              |         
    0x0004be4c nop                           |         
                                             |         if (a1 == 0) {
    0x0004be50 beqz a1, 0x4be74              |             goto label_0;
                                             |         }
    0x0004be54 nop                           |         
    0x0004be58 lbu v1, (a0)                  |         v1 = *(a0);
    0x0004be5c addiu v0, zero, 0x3a          |         v0 = 0x3a;
    0x0004be60 lw t9, -0x7c2c(gp)            |         t9 = *(gp);
                                             |         if (v1 == v0) {
    0x0004be64 beq v1, v0, 0x4be74           |             goto label_0;
                                             |         }
    0x0004be68 addiu t9, t9, -0x4d48         |         t9 += -0x4d48;
    0x0004be6c b 0x4b2b8                     |         void (*0x4b2b8)() ();
    0x0004be70 nop                           |         
                                             |     }
                                             | label_0:
    0x0004be74 move v0, zero                 |     v0 = 0;
    0x0004be78 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x4be3c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlSplitQName3 ()            | void xmlSplitQName3 () {
    0x0004be3c lui gp, 0x14                  |     
    0x0004be40 addiu gp, gp, 0x5834          |     
    0x0004be44 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 != 0) {
    0x0004be48 beqz a0, 0x4be74              |         
    0x0004be4c nop                           |         
                                             |         if (a1 == 0) {
    0x0004be50 beqz a1, 0x4be74              |             goto label_0;
                                             |         }
    0x0004be54 nop                           |         
    0x0004be58 lbu v1, (a0)                  |         v1 = *(a0);
    0x0004be5c addiu v0, zero, 0x3a          |         v0 = 0x3a;
    0x0004be60 lw t9, -0x7c2c(gp)            |         t9 = *(gp);
                                             |         if (v1 == v0) {
    0x0004be64 beq v1, v0, 0x4be74           |             goto label_0;
                                             |         }
    0x0004be68 addiu t9, t9, -0x4d48         |         t9 += -0x4d48;
    0x0004be6c b 0x4b2b8                     |         void (*0x4b2b8)() ();
    0x0004be70 nop                           |         
                                             |     }
                                             | label_0:
    0x0004be74 move v0, zero                 |     v0 = 0;
    0x0004be78 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb7e60 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlStrEqual ()               | void xmlStrEqual () {
                                             |     if (a0 == a1) {
    0x000b7e60 beq a0, a1, 0xb7ea0           |         goto label_0;
                                             |     }
    0x000b7e64 nop                           |     
    0x000b7e68 move v0, zero                 |     v0 = 0;
                                             |     if (a0 == 0) {
    0x000b7e6c beqz a0, 0xb7ea8              |         goto label_1;
                                             |     }
    0x000b7e70 addiu a0, a0, 1               |     a0++;
                                             |     if (a1 == 0) {
    0x000b7e74 bnel a1, zero, 0xb7e88        |         goto label_2;
                                             |     }
    0x000b7e78 b 0xb7ea8                     |     goto label_1;
    0x000b7e7c nop                           |     
                                             |     do {
    0x000b7e80 addiu a0, a0, 1               |         a0++;
                                             |         if (v0 == 0) {
    0x000b7e84 beqz v0, 0xb7ea0              |             goto label_0;
                                             |         }
                                             | label_2:
    0x000b7e88 lbu v1, (a1)                  |         v1 = *(a1);
    0x000b7e8c lbu v0, -1(a0)                |         v0 = *((a0 - 1));
    0x000b7e90 addiu a1, a1, 1               |         a1++;
    0x000b7e94 beq v0, v1, 0xb7e80           |         
                                             |     } while (v0 == v1);
    0x000b7e98 move v0, zero                 |     v0 = 0;
    0x000b7e9c jr ra                         |     return v0;
                                             | label_0:
    0x000b7ea0 addiu v0, zero, 1             |     v0 = 1;
    0x000b7ea4 jr ra                         |     return v0;
                                             | label_1:
    0x000b7ea8 jr ra                         |     return v0;
    0x000b7eac 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 @ 0xb7eb0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlStrQEqual ()              | void xmlStrQEqual () {
                                             |     if (a0 == 0) {
    0x000b7eb0 beqz a0, 0xb7f34              |         goto label_1;
                                             |     }
    0x000b7eb4 nop                           |     
                                             |     if (a1 == 0) {
    0x000b7eb8 beqz a1, 0xb7ef4              |         goto label_0;
                                             |     }
    0x000b7ebc nop                           |     
                                             |     if (a2 == 0) {
    0x000b7ec0 beqz a2, 0xb7ef4              |         goto label_0;
                                             |     }
    0x000b7ec4 nop                           |     
    0x000b7ec8 lbu v0, (a0)                  |     v0 = *(a0);
    0x000b7ecc b 0xb7ee8                     |     
                                             |     while (v1 == v0) {
    0x000b7ed0 addiu v1, a2, 1               |         v1 = a2 + 1;
                                             |         if (v0 == 0) {
    0x000b7ed4 beqz v0, 0xb7efc              |             goto label_2;
                                             |         }
    0x000b7ed8 lbu v0, (a0)                  |         v0 = *(a0);
                                             |         if (v0 == 0) {
    0x000b7edc beql v0, zero, 0xb7f00        |             goto label_3;
                                             |         }
    0x000b7ee0 lbu v1, (v1)                  |         v1 = *(v1);
    0x000b7ee4 move a2, v1                   |         a2 = v1;
    0x000b7ee8 lbu v1, (a2)                  |         v1 = *(a2);
    0x000b7eec addiu a0, a0, 1               |         a0++;
    0x000b7ef0 beq v1, v0, 0xb7ed0           |         
                                             |     }
                                             |     do {
                                             | label_0:
    0x000b7ef4 move v0, zero                 |         v0 = 0;
    0x000b7ef8 jr ra                         |         return v0;
                                             | label_2:
    0x000b7efc lbu v1, (v1)                  |         v1 = *(v1);
                                             | label_3:
    0x000b7f00 addiu v0, zero, 0x3a          |         v0 = 0x3a;
    0x000b7f04 addiu a2, a2, 2               |         a2 += 2;
    0x000b7f08 bne v1, v0, 0xb7ef4           |         
                                             |     } while (v1 != v0);
    0x000b7f0c addiu a1, a1, 1               |     a1++;
    0x000b7f10 b 0xb7f1c                     |     
                                             |     while (v0 == v1) {
    0x000b7f14 addiu a1, a1, 1               |         a1++;
                                             |         if (v0 == 0) {
    0x000b7f18 beqz v0, 0xb7f74              |             goto label_4;
                                             |         }
    0x000b7f1c lbu v1, (a2)                  |         v1 = *(a2);
    0x000b7f20 lbu v0, -1(a1)                |         v0 = *((a1 - 1));
    0x000b7f24 addiu a2, a2, 1               |         a2++;
    0x000b7f28 beq v0, v1, 0xb7f14           |         
                                             |     }
    0x000b7f2c move v0, zero                 |     v0 = 0;
    0x000b7f30 jr ra                         |     return v0;
                                             |     if (a1 == a2) {
                                             | label_1:
    0x000b7f34 beq a1, a2, 0xb7f74           |         goto label_4;
                                             |     }
    0x000b7f38 nop                           |     
                                             |     if (a1 == 0) {
    0x000b7f3c beqz a1, 0xb7ef4              |         goto label_0;
                                             |     }
    0x000b7f40 nop                           |     
    0x000b7f44 addiu a1, a1, 1               |     a1++;
                                             |     if (a2 == 0) {
    0x000b7f48 bnel a2, zero, 0xb7f5c        |         goto label_5;
                                             |     }
    0x000b7f4c b 0xb7ef4                     |     goto label_0;
    0x000b7f50 nop                           |     
                                             |     do {
    0x000b7f54 addiu a1, a1, 1               |         a1++;
                                             |         if (v0 == 0) {
    0x000b7f58 beqz v0, 0xb7f74              |             goto label_4;
                                             |         }
                                             | label_5:
    0x000b7f5c lbu v1, (a2)                  |         v1 = *(a2);
    0x000b7f60 lbu v0, -1(a1)                |         v0 = *((a1 - 1));
    0x000b7f64 addiu a2, a2, 1               |         a2++;
    0x000b7f68 beq v0, v1, 0xb7f54           |         
                                             |     } while (v0 == v1);
    0x000b7f6c b 0xb7ef4                     |     goto label_0;
    0x000b7f70 nop                           |     
                                             | label_4:
    0x000b7f74 addiu v0, zero, 1             |     v0 = 1;
    0x000b7f78 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb8220 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlStrcasestr ()             | void xmlStrcasestr () {
    0x000b8220 lui gp, 0xe                   |     
    0x000b8224 addiu gp, gp, -0x6bb0         |     
    0x000b8228 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x000b822c beqz a0, 0xb82d8              |         goto label_1;
                                             |     }
    0x000b8230 nop                           |     
    0x000b8234 move t4, a1                   |     t4 = a1;
                                             |     if (a1 == 0) {
    0x000b8238 beqz a1, 0xb82e0              |         goto label_2;
                                             |     }
    0x000b823c addiu sp, sp, -0x20           |     
    0x000b8240 lw t9, -0x76bc(gp)            |     t9 = *((gp - 7599));
    0x000b8244 move t1, a0                   |     t1 = a0;
    0x000b8248 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000b824c sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
    0x000b8250 addiu t9, t9, 0x7b00          |     t9 += 0x7b00;
    0x000b8254 move a0, a1                   |     a0 = a1;
    0x000b8258 bal 0xb7b00                   |     fcn_000b7b00 ();
    0x000b825c move t5, v0                   |     t5 = v0;
    0x000b8260 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000b8264 beqz v0, 0xb82b8              |         goto label_3;
                                             |     }
    0x000b8268 lbu v1, (t1)                  |     v1 = *(t1);
    0x000b826c lw t2, -0x7f94(gp)            |     t2 = *((gp - 8165));
                                             |     if (v1 == 0) {
    0x000b8270 beqz v1, 0xb82c8              |         goto label_4;
                                             |     }
    0x000b8274 lbu t3, (a1)                  |     t3 = *(a1);
    0x000b8278 addiu t2, t2, 0x3820          |     t2 += 0x3820;
    0x000b827c lw t9, -0x7b04(gp)            |     t9 = *((gp - 7873));
    0x000b8280 lbux t3, t3(t2)               |     __asm ("lbux t3, t3(t2)");
    0x000b8284 b 0xb8294                     |     
                                             |     while (v1 == t3) {
                                             | label_0:
    0x000b8288 lbu v1, (t1)                  |         v1 = *(t1);
    0x000b828c lw ra, 0x1c(sp)               |         ra = *(var_1ch);
                                             |         if (v1 == 0) {
    0x000b8290 beqz v1, 0xb82cc              |             goto label_5;
                                             |         }
    0x000b8294 lbux v1, v1(t2)               |         __asm ("lbux v1, v1(t2)");
    0x000b8298 addiu t1, t1, 1               |         t1++;
    0x000b829c bnel v1, t3, 0xb8288          |         
                                             |     }
    0x000b82a0 move a0, t1                   |     a0 = t1;
    0x000b82a4 move a2, t5                   |     a2 = t5;
    0x000b82a8 move a1, t4                   |     a1 = t4;
    0x000b82ac bal 0xb8044                   |     sym_xmlStrncasecmp ();
    0x000b82b0 addiu t1, t1, 1               |     t1++;
                                             |     if (v0 == 0) {
    0x000b82b4 bnel v0, zero, 0xb8288        |         goto label_0;
                                             |     }
                                             | label_3:
    0x000b82b8 lw ra, 0x1c(sp)               |     ra = *(var_1ch);
    0x000b82bc move v0, t1                   |     v0 = t1;
    0x000b82c0 addiu sp, sp, 0x20            |     
    0x000b82c4 jr ra                         |     return v0;
                                             | label_4:
    0x000b82c8 lw ra, 0x1c(sp)               |     ra = *(var_1ch);
                                             | label_5:
    0x000b82cc move v0, zero                 |     v0 = 0;
    0x000b82d0 addiu sp, sp, 0x20            |     
    0x000b82d4 jr ra                         |     return v0;
                                             | label_1:
    0x000b82d8 move v0, zero                 |     v0 = 0;
    0x000b82dc jr ra                         |     return v0;
                                             | label_2:
    0x000b82e0 move v0, zero                 |     v0 = 0;
    0x000b82e4 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x1295c4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlStreamPop ()              | void xmlStreamPop () {
    0x001295c4 addiu a3, zero, -1            |     a3 = -1;
                                             |     if (a0 == 0) {
    0x001295c8 beqz a0, 0x129654             |         goto label_1;
                                             |     }
    0x001295cc lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
                                             | label_0:
    0x001295d0 lw v1, 0x1c(a0)               |     v1 = *((a0 + 7));
                                             |     if (v1 != v0) {
    0x001295d4 beql v1, v0, 0x1295dc         |         
    0x001295d8 sw a3, 0x1c(a0)               |         *((a0 + 7)) = a3;
                                             |     }
                                             |     if (v0 != 0) {
    0x001295dc beql v0, zero, 0x1295f0       |         
    0x001295e0 lw v0, 8(a0)                  |         v0 = *((a0 + 2));
    0x001295e4 addiu v0, v0, -1              |         v0 += -1;
    0x001295e8 sw v0, 0x10(a0)               |         *((a0 + 4)) = v0;
    0x001295ec lw v0, 8(a0)                  |         v0 = *((a0 + 2));
                                             |     }
    0x001295f0 addiu v0, v0, -1              |     v0 += -1;
    0x001295f4 sll t0, v0, 3                 |     t0 = v0 << 3;
                                             |     if (v0 < 0) {
    0x001295f8 bltz v0, 0x129640             |         goto label_2;
                                             |     }
    0x001295fc lw a1, 0x14(a0)               |     a1 = *((a0 + 5));
    0x00129600 addu v1, a1, t0               |     v1 = a1 + t0;
    0x00129604 lw a2, 0x10(a0)               |     a2 = *((a0 + 4));
    0x00129608 lw v1, 4(v1)                  |     v1 = *((v1 + 1));
    0x0012960c slt v1, a2, v1                |     v1 = (a2 < v1) ? 1 : 0;
                                             |     if (v1 == 0) {
    0x00129610 beql v1, zero, 0x129644       |         goto label_3;
                                             |     }
    0x00129614 lw a0, (a0)                   |     a0 = *(a0);
    0x00129618 addiu t0, t0, 8               |     t0 += 8;
    0x0012961c addu a1, a1, t0               |     a1 += t0;
    0x00129620 sw v0, 8(a0)                  |     *((a0 + 2)) = v0;
                                             |     do {
    0x00129624 addiu v0, v0, -1              |         v0 += -1;
    0x00129628 addiu a1, a1, -8              |         a1 += -8;
                                             |         if (v0 == a3) {
    0x0012962c beq v0, a3, 0x129640          |             goto label_2;
                                             |         }
    0x00129630 lw v1, -4(a1)                 |         v1 = *((a1 - 1));
    0x00129634 slt v1, a2, v1                |         v1 = (a2 < v1) ? 1 : 0;
    0x00129638 sw v0, 8(a0)                  |         *((a0 + 2)) = v0;
    0x0012963c bnel v1, zero, 0x129624       |         
                                             |     } while (v1 == 0);
                                             | label_2:
    0x00129640 lw a0, (a0)                   |     a0 = *(a0);
                                             | label_3:
    0x00129644 lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
                                             |     if (a0 == 0) {
    0x00129648 bnel a0, zero, 0x1295d0       |         goto label_0;
                                             |     }
    0x0012964c move v0, zero                 |     v0 = 0;
    0x00129650 jr ra                         |     return v0;
                                             | label_1:
    0x00129654 addiu v0, zero, -1            |     v0 = -1;
    0x00129658 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x53c08 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlStringGetNodeList ()      | void xmlStringGetNodeList () {
                                             | label_10:
    0x00053c08 lui gp, 0x14                  |     
    0x00053c0c addiu gp, gp, -0x2598         |     
    0x00053c10 addu gp, gp, t9               |     gp += t9;
    0x00053c14 addiu sp, sp, -0x68           |     
    0x00053c18 sw s4, 0x50(sp)               |     *(var_50h) = s4;
    0x00053c1c lw s4, -0x7000(gp)            |     s4 = *((gp - 7168));
    0x00053c20 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00053c24 sw ra, 0x64(sp)               |     *(var_64h) = ra;
    0x00053c28 lw v0, (s4)                   |     v0 = *(s4);
    0x00053c2c sw fp, 0x60(sp)               |     *(var_60h) = fp;
    0x00053c30 sw s7, 0x5c(sp)               |     *(var_5ch) = s7;
    0x00053c34 sw s6, 0x58(sp)               |     *(var_58h) = s6;
    0x00053c38 sw s5, 0x54(sp)               |     *(var_54h) = s5;
    0x00053c3c sw s3, 0x4c(sp)               |     *(var_4ch) = s3;
    0x00053c40 sw s2, 0x48(sp)               |     *(var_48h) = s2;
    0x00053c44 sw s1, 0x44(sp)               |     *(var_44h) = s1;
    0x00053c48 sw s0, 0x40(sp)               |     *(var_40h) = s0;
    0x00053c4c sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x00053c50 lw t9, -0x6f2c(gp)            |     t9 = *((gp - 7115));
                                             |     if (a1 == 0) {
    0x00053c54 beqz a1, 0x53fe4              |         goto label_12;
                                             |     }
    0x00053c58 move s3, a0                   |     s3 = a0;
    0x00053c5c move a0, zero                 |     a0 = 0;
    0x00053c60 move fp, a1                   |     fp = a1;
    0x00053c64 jalr t9                       |     t9 ();
    0x00053c68 move s1, v0                   |     s1 = v0;
    0x00053c6c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00053c70 beqz v0, 0x53fe4              |         goto label_12;
                                             |     }
    0x00053c74 lw t9, -0x7078(gp)            |     t9 = *(gp);
    0x00053c78 addiu a1, zero, 4             |     a1 = 4;
    0x00053c7c move a0, v0                   |     a0 = v0;
    0x00053c80 jalr t9                       |     t9 ();
    0x00053c84 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00053c88 move s0, fp                   |     s0 = fp;
    0x00053c8c move s2, zero                 |     s2 = 0;
    0x00053c90 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x00053c94 lw s7, -0x7f94(gp)            |     s7 = *((gp - 8165));
    0x00053c98 lw s6, -0x7f94(gp)            |     s6 = *((gp - 8165));
    0x00053c9c sw v0, 0x24(sp)               |     *(var_24h_2) = v0;
    0x00053ca0 addiu v0, s7, -0x67bc         |     v0 = s7 + -aav.0x000067bc;
    0x00053ca4 move s5, zero                 |     s5 = 0;
    0x00053ca8 addiu s6, s6, -0x6794         |     s6 += -0x6794;
    0x00053cac sw v0, 0x28(sp)               |     *(var_28h_2) = v0;
                                             | label_1:
    0x00053cb0 lbu v0, (s0)                  |     v0 = *(s0);
                                             |     if (v0 == 0) {
    0x00053cb4 beqz v0, 0x53cd8              |         goto label_13;
                                             |     }
    0x00053cb8 nop                           |     
    0x00053cbc addiu a0, zero, 0x26          |     a0 = 0x26;
                                             |     if (v0 == a0) {
                                             |         do {
    0x00053cc0 beq v0, a0, 0x53d5c           |             goto label_14;
                                             |         }
    0x00053cc4 nop                           |         
    0x00053cc8 addiu s0, s0, 1               |         s0++;
    0x00053ccc lbu v0, (s0)                  |         v0 = *(s0);
    0x00053cd0 bnez v0, 0x53cc0              |         
                                             |     } while (v0 != 0);
    0x00053cd4 nop                           |     
                                             |     if (s0 == fp) {
                                             | label_13:
    0x00053cd8 beq s0, fp, 0x54098           |         goto label_15;
                                             |     }
    0x00053cdc nop                           |     
                                             | label_9:
    0x00053ce0 lw t9, -0x6fe4(gp)            |     t9 = *((gp - 7161));
    0x00053ce4 subu a2, s0, fp               |     __asm ("subu a2, s0, fp");
    0x00053ce8 move a1, fp                   |     a1 = fp;
    0x00053cec move a0, s1                   |     a0 = s1;
    0x00053cf0 jalr t9                       |     t9 ();
    0x00053cf4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00053cf8 lw t9, -0x70f0(gp)            |     t9 = *(gp);
    0x00053cfc move a0, s1                   |     a0 = s1;
    0x00053d00 jalr t9                       |     t9 ();
    0x00053d04 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00053d08 beqz v0, 0x540b0              |         goto label_16;
                                             |     }
                                             |     do {
                                             | label_0:
    0x00053d0c lw t9, -0x70e8(gp)            |         t9 = *(gp);
                                             | label_8:
    0x00053d10 move a0, s1                   |         a0 = s1;
    0x00053d14 jalr t9                       |         t9 ();
    0x00053d18 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_4:
    0x00053d1c lw a0, 0x3c(sp)               |         a0 = *(var_3ch);
    0x00053d20 lw v1, (s4)                   |         v1 = *(s4);
    0x00053d24 move v0, s5                   |         v0 = s5;
                                             |         if (a0 != v1) {
    0x00053d28 bne a0, v1, 0x541bc           |             goto label_17;
                                             |         }
    0x00053d2c lw ra, 0x64(sp)               |         ra = *(var_64h);
    0x00053d30 lw fp, 0x60(sp)               |         fp = *(var_60h);
    0x00053d34 lw s7, 0x5c(sp)               |         s7 = *(var_5ch);
    0x00053d38 lw s6, 0x58(sp)               |         s6 = *(var_58h);
    0x00053d3c lw s5, 0x54(sp)               |         s5 = *(var_54h);
    0x00053d40 lw s4, 0x50(sp)               |         s4 = *(var_50h);
    0x00053d44 lw s3, 0x4c(sp)               |         s3 = *(var_4ch);
    0x00053d48 lw s2, 0x48(sp)               |         s2 = *(var_48h);
    0x00053d4c lw s1, 0x44(sp)               |         s1 = *(var_44h);
    0x00053d50 lw s0, 0x40(sp)               |         s0 = *(var_40h);
    0x00053d54 addiu sp, sp, 0x68            |         
    0x00053d58 jr ra                         |         return v0;
                                             | label_14:
    0x00053d5c lw t9, -0x6fe4(gp)            |         t9 = *((gp - 7161));
                                             |         if (s0 == fp) {
    0x00053d60 beq s0, fp, 0x53d7c           |             goto label_18;
                                             |         }
    0x00053d64 subu a2, s0, fp               |         __asm ("subu a2, s0, fp");
    0x00053d68 move a1, fp                   |         a1 = fp;
    0x00053d6c move a0, s1                   |         a0 = s1;
    0x00053d70 jalr t9                       |         t9 ();
    0x00053d74 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00053d78 bnez v0, 0x53d0c              |         
                                             |     } while (v0 != 0);
                                             | label_18:
    0x00053d7c lbu v0, 1(s0)                 |     v0 = *((s0 + 1));
    0x00053d80 addiu v1, zero, 0x23          |     v1 = 0x23;
                                             |     if (v0 == v1) {
    0x00053d84 beql v0, v1, 0x53eac          |         goto label_19;
                                             |     }
    0x00053d88 lbu v0, 2(s0)                 |     v0 = *((s0 + 2));
    0x00053d8c addiu a0, s0, 1               |     a0 = s0 + 1;
                                             |     if (v0 == 0) {
    0x00053d90 beqz v0, 0x53dc0              |         goto label_20;
                                             |     }
    0x00053d94 addiu v1, zero, 0x3b          |     v1 = 0x3b;
    0x00053d98 move fp, a0                   |     fp = a0;
                                             |     if (v0 == v1) {
    0x00053d9c beq v0, v1, 0x53ea0           |         goto label_21;
                                             |     }
    0x00053da0 addiu a1, zero, 0x3b          |     a1 = 0x3b;
    0x00053da4 b 0x53db0                     |     
                                             |     while (v0 != 0) {
                                             |         if (v0 == a1) {
    0x00053da8 beq v0, a1, 0x53de8           |             goto label_22;
                                             |         }
    0x00053dac nop                           |         
    0x00053db0 addiu fp, fp, 1               |         fp++;
    0x00053db4 lbu v0, (fp)                  |         v0 = *(fp);
    0x00053db8 bnez v0, 0x53da8              |         
                                             |     }
    0x00053dbc nop                           |     
                                             | label_20:
    0x00053dc0 lw a3, -0x7f94(gp)            |     a3 = *((gp - 8165));
    0x00053dc4 lw t9, -0x6db8(gp)            |     t9 = *((gp - 7022));
    0x00053dc8 sw a0, 0x10(sp)               |     *(var_10h) = a0;
    0x00053dcc addiu a3, a3, -0x6770         |     a3 += -0x6770;
    0x00053dd0 move a2, s3                   |     a2 = s3;
    0x00053dd4 addiu a1, zero, 0x516         |     a1 = 0x516;
    0x00053dd8 addiu a0, zero, 2             |     a0 = 2;
    0x00053ddc jalr t9                       |     t9 ();
    0x00053de0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00053de4 b 0x53d0c                     |     goto label_0;
                                             | label_22:
    0x00053de8 lw t9, 0x24(sp)               |     t9 = *(var_24h_2);
                                             |     if (a0 != fp) {
    0x00053dec beq a0, fp, 0x53ea0           |         
    0x00053df0 subu a1, fp, a0               |         __asm ("subu a1, fp, a0");
    0x00053df4 jalr t9                       |         t9 ();
    0x00053df8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00053dfc move a1, v0                   |         a1 = v0;
    0x00053e00 move a0, s3                   |         a0 = s3;
    0x00053e04 lw t9, -0x7c18(gp)            |         t9 = *(gp);
    0x00053e08 move s0, v0                   |         s0 = v0;
    0x00053e0c jalr t9                       |         t9 ();
    0x00053e10 move s7, v0                   |         s7 = v0;
    0x00053e14 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x00053e18 beqz v0, 0x53e2c              |             
    0x00053e1c lw a0, 0x30(v0)               |             a0 = *((v0 + 12));
    0x00053e20 addiu v0, zero, 6             |             v0 = 6;
    0x00053e24 lw t9, -0x6e48(gp)            |             t9 = *(gp);
                                             |             if (a0 == v0) {
    0x00053e28 beq a0, v0, 0x5407c           |                 goto label_23;
                                             |             }
                                             |         }
    0x00053e2c lw t9, -0x70f0(gp)            |         t9 = *(gp);
    0x00053e30 move a0, s1                   |         a0 = s1;
    0x00053e34 jalr t9                       |         t9 ();
    0x00053e38 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00053e3c beqz v0, 0x53f90              |             goto label_24;
                                             |         }
                                             | label_3:
    0x00053e40 lw t9, -0x7b98(gp)            |         t9 = *(gp);
    0x00053e44 move a1, s0                   |         a1 = s0;
    0x00053e48 move a0, s3                   |         a0 = s3;
    0x00053e4c bal 0x4f9bc                   |         sym_xmlNewReference ();
    0x00053e50 move a3, v0                   |         a3 = v0;
    0x00053e54 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00053e58 beqz v0, 0x54194              |             goto label_25;
                                             |         }
                                             |         if (s7 != 0) {
    0x00053e5c beqz s7, 0x53e70              |             
    0x00053e60 nop                           |             
    0x00053e64 lw v0, 0xc(s7)                |             v0 = *((s7 + 3));
                                             |             if (v0 == 0) {
    0x00053e68 beql v0, zero, 0x5411c        |                 goto label_26;
                                             |             }
    0x00053e6c lw a1, 0x28(a3)               |             a1 = *((a3 + 10));
                                             |         }
                                             | label_11:
    0x00053e70 lw t9, -0x7b94(gp)            |         t9 = *((gp - 7909));
                                             |         if (s2 == 0) {
    0x00053e74 beqz s2, 0x53f84              |             goto label_27;
                                             |         }
    0x00053e78 move a0, s2                   |         a0 = s2;
    0x00053e7c move a1, a3                   |         a1 = a3;
    0x00053e80 bal 0x539fc                   |         sym_xmlAddNextSibling ();
    0x00053e84 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00053e88 move s2, v0                   |         s2 = v0;
                                             | label_2:
    0x00053e8c lw v0, -0x7158(gp)            |         v0 = *(gp);
    0x00053e90 lw t9, (v0)                   |         t9 = *(v0);
    0x00053e94 move a0, s0                   |         a0 = s0;
    0x00053e98 jalr t9                       |         t9 ();
    0x00053e9c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
                                             | label_21:
    0x00053ea0 addiu s0, fp, 1               |     s0 = fp + 1;
    0x00053ea4 move fp, s0                   |     fp = s0;
    0x00053ea8 b 0x53cb0                     |     goto label_1;
                                             | label_19:
    0x00053eac addiu v1, zero, 0x78          |     v1 = 0x78;
    0x00053eb0 addiu a0, zero, 0x3b          |     a0 = 0x3b;
                                             |     if (v0 == v1) {
    0x00053eb4 beq v0, v1, 0x53fec           |         goto label_28;
                                             |     }
    0x00053eb8 addiu v1, s0, 2               |     v1 = s0 + 2;
                                             |     if (v0 == a0) {
    0x00053ebc beq v0, a0, 0x54108           |         goto label_29;
                                             |     }
    0x00053ec0 addiu a0, v0, -0x30           |     a0 = v0 + -0x30;
    0x00053ec4 andi v0, a0, 0xff             |     v0 = a0 & 0xff;
    0x00053ec8 sltiu v0, v0, 0xa             |     v0 = (v0 < 0xa) ? 1 : 0;
    0x00053ecc move a1, zero                 |     a1 = 0;
    0x00053ed0 addiu a2, zero, 0x3b          |     a2 = 0x3b;
    0x00053ed4 move s0, v1                   |     s0 = v1;
                                             |     if (v0 != 0) {
    0x00053ed8 bnez v0, 0x53ef8              |         goto label_30;
                                             |     }
    0x00053edc lw t9, -0x6db8(gp)            |     t9 = *((gp - 7022));
    0x00053ee0 b 0x53f60                     |     goto label_31;
                                             |     do {
    0x00053ee4 addiu a0, v0, -0x30           |         a0 = v0 + -0x30;
    0x00053ee8 andi v0, a0, 0xff             |         v0 = a0 & 0xff;
    0x00053eec sltiu v0, v0, 0xa             |         v0 = (v0 < 0xa) ? 1 : 0;
    0x00053ef0 move v1, s0                   |         v1 = s0;
                                             |         if (v0 == 0) {
    0x00053ef4 beqz v0, 0x53f5c              |             goto label_32;
                                             |         }
                                             | label_30:
    0x00053ef8 sll v0, a1, 2                 |         v0 = a1 << 2;
    0x00053efc addu a1, v0, a1               |         a1 = v0 + a1;
    0x00053f00 lbu v0, 1(v1)                 |         v0 = *((v1 + 1));
    0x00053f04 sll a1, a1, 1                 |         a1 <<= 1;
    0x00053f08 addu a1, a0, a1               |         a1 = a0 + a1;
    0x00053f0c addiu s0, v1, 1               |         s0 = v1 + 1;
    0x00053f10 bne v0, a2, 0x53ee4           |         
                                             |     } while (v0 != a2);
    0x00053f14 addiu s0, v1, 2               |     s0 = v1 + 2;
                                             | label_6:
    0x00053f18 lw t9, -0x7ef0(gp)            |     t9 = *(gp);
                                             |     if (a1 == 0) {
    0x00053f1c beqz a1, 0x53f54              |         goto label_33;
                                             |     }
    0x00053f20 addiu fp, sp, 0x30            |     fp = sp + 0x30;
    0x00053f24 move a0, fp                   |     a0 = fp;
    0x00053f28 jalr t9                       |     t9 ();
    0x00053f2c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00053f30 addiu v1, sp, 0x40            |     v1 = sp + 0x40;
    0x00053f34 addu v0, v1, v0               |     v0 = v1 + v0;
    0x00053f38 lw t9, -0x6e48(gp)            |     t9 = *(gp);
    0x00053f3c move a1, fp                   |     a1 = fp;
    0x00053f40 move a0, s1                   |     a0 = s1;
    0x00053f44 sb zero, -0x10(v0)            |     *((v0 - 16)) = 0;
    0x00053f48 jalr t9                       |     t9 ();
    0x00053f4c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00053f50 bnez v0, 0x53d0c              |         goto label_0;
                                             |     }
                                             | label_33:
    0x00053f54 move fp, s0                   |     fp = s0;
    0x00053f58 b 0x53cb0                     |     goto label_1;
                                             | label_32:
    0x00053f5c lw t9, -0x6db8(gp)            |     t9 = *((gp - 7022));
                                             | label_31:
    0x00053f60 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00053f64 move a3, s6                   |     a3 = s6;
    0x00053f68 move a2, s3                   |     a2 = s3;
    0x00053f6c addiu a1, zero, 0x515         |     a1 = 0x515;
    0x00053f70 addiu a0, zero, 2             |     a0 = 2;
    0x00053f74 jalr t9                       |     t9 ();
    0x00053f78 move fp, s0                   |     fp = s0;
    0x00053f7c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00053f80 b 0x53cb0                     |     goto label_1;
                                             | label_27:
    0x00053f84 move s2, a3                   |     s2 = a3;
    0x00053f88 move s5, a3                   |     s5 = a3;
    0x00053f8c b 0x53e8c                     |     goto label_2;
                                             | label_24:
    0x00053f90 lw t9, -0x7bf8(gp)            |     t9 = *((gp - 7934));
    0x00053f94 move a0, zero                 |     a0 = 0;
    0x00053f98 bal 0x4f210                   |     sym_xmlNewText ();
    0x00053f9c move a1, v0                   |     a1 = v0;
    0x00053fa0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00053fa4 beqz v0, 0x53fac              |         
    0x00053fa8 sw s3, 0x20(v0)               |         *((v0 + 8)) = s3;
                                             |     }
    0x00053fac lw t9, -0x7080(gp)            |     t9 = *((gp - 7200));
    0x00053fb0 sw a1, 0x2c(sp)               |     *(var_2ch_2) = a1;
    0x00053fb4 move a0, s1                   |     a0 = s1;
    0x00053fb8 jalr t9                       |     t9 ();
    0x00053fbc lw a1, 0x2c(sp)               |     a1 = *(var_2ch_2);
    0x00053fc0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00053fc4 sw v0, 0x28(a1)               |     *((a1 + 10)) = v0;
                                             |     if (s2 == 0) {
    0x00053fc8 beqz s2, 0x540fc              |         goto label_34;
                                             |     }
    0x00053fcc lw t9, -0x7b94(gp)            |     t9 = *((gp - 7909));
    0x00053fd0 move a0, s2                   |     a0 = s2;
    0x00053fd4 bal 0x539fc                   |     sym_xmlAddNextSibling ();
    0x00053fd8 move s2, v0                   |     s2 = v0;
    0x00053fdc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00053fe0 b 0x53e40                     |     goto label_3;
                                             | label_12:
    0x00053fe4 move s5, zero                 |     s5 = 0;
    0x00053fe8 b 0x53d1c                     |     goto label_4;
                                             | label_28:
    0x00053fec lbu v0, 3(s0)                 |     v0 = *((s0 + 3));
    0x00053ff0 addiu fp, s0, 3               |     fp = s0 + 3;
                                             |     if (v0 == a0) {
    0x00053ff4 beq v0, a0, 0x541b0           |         goto label_35;
                                             |     }
    0x00053ff8 move a1, zero                 |     a1 = 0;
    0x00053ffc addiu a3, zero, 0x3b          |     a3 = 0x3b;
    0x00054000 b 0x54018                     |     
                                             |     while (a0 == 0) {
    0x00054004 addu a1, a2, a1               |         a1 = a2 + a1;
                                             | label_7:
    0x00054008 lbu v0, 1(fp)                 |         v0 = *(arg_1h);
    0x0005400c addiu a0, fp, 1               |         a0 = fp + 1;
                                             |         if (v0 == a3) {
    0x00054010 beq v0, a3, 0x54058           |             goto label_36;
                                             |         }
                                             | label_5:
    0x00054014 move fp, a0                   |         fp = a0;
    0x00054018 addiu a2, v0, -0x30           |         a2 = v0 + -0x30;
    0x0005401c andi a0, a2, 0xff             |         a0 = a2 & 0xff;
    0x00054020 sltiu a0, a0, 0xa             |         a0 = (a0 < 0xa) ? 1 : 0;
    0x00054024 sll a1, a1, 4                 |         a1 <<= 4;
    0x00054028 bnel a0, zero, 0x54004        |         
                                             |     }
    0x0005402c addiu a2, v0, -0x61           |     a2 = v0 + -0x61;
    0x00054030 andi a0, a2, 0xff             |     a0 = a2 & 0xff;
    0x00054034 sltiu a0, a0, 6               |     a0 = (a0 < 6) ? 1 : 0;
    0x00054038 addiu v0, v0, -0x41           |     v0 += -0x41;
                                             |     if (a0 == 0) {
    0x0005403c beqz a0, 0x54060              |         goto label_37;
                                             |     }
    0x00054040 sll a1, a1, 4                 |     a1 <<= 4;
    0x00054044 lbu v0, 1(fp)                 |     v0 = *(arg_1h);
    0x00054048 addu a1, a1, a2               |     a1 += a2;
    0x0005404c addiu a1, a1, 0xa             |     a1 += 0xa;
    0x00054050 addiu a0, fp, 1               |     a0 = fp + 1;
                                             |     if (v0 != a3) {
    0x00054054 bne v0, a3, 0x54014           |         goto label_5;
                                             |     }
                                             | label_36:
    0x00054058 addiu s0, fp, 2               |     s0 = fp + 2;
    0x0005405c b 0x53f18                     |     goto label_6;
                                             | label_37:
    0x00054060 andi a0, v0, 0xff             |     a0 = v0 & 0xff;
    0x00054064 sltiu a0, a0, 6               |     a0 = (a0 < 6) ? 1 : 0;
    0x00054068 sll a1, a1, 4                 |     a1 <<= 4;
                                             |     if (a0 == 0) {
    0x0005406c beqz a0, 0x5416c              |         goto label_38;
                                             |     }
    0x00054070 addu a1, a1, v0               |     a1 += v0;
    0x00054074 addiu a1, a1, 0xa             |     a1 += 0xa;
    0x00054078 b 0x54008                     |     goto label_7;
                                             | label_23:
    0x0005407c lw a1, 0x28(s7)               |     a1 = *((s7 + 10));
    0x00054080 move a0, s1                   |     a0 = s1;
    0x00054084 jalr t9                       |     t9 ();
    0x00054088 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0005408c beqz v0, 0x53e8c              |         goto label_2;
                                             |     }
    0x00054090 lw t9, -0x70e8(gp)            |     t9 = *(gp);
    0x00054094 b 0x53d10                     |     goto label_8;
                                             | label_15:
    0x00054098 lw t9, -0x70f0(gp)            |     t9 = *(gp);
                                             |     if (s5 == 0) {
    0x0005409c beqz s5, 0x53ce0              |         goto label_9;
                                             |     }
    0x000540a0 move a0, s1                   |     a0 = s1;
    0x000540a4 jalr t9                       |     t9 ();
    0x000540a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000540ac bnez v0, 0x53d0c              |         goto label_0;
                                             |     }
                                             | label_16:
    0x000540b0 lw t9, -0x7bf8(gp)            |     t9 = *((gp - 7934));
    0x000540b4 move a0, zero                 |     a0 = 0;
    0x000540b8 bal 0x4f210                   |     sym_xmlNewText ();
    0x000540bc move s0, v0                   |     s0 = v0;
    0x000540c0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000540c4 beqz v0, 0x540cc              |         
    0x000540c8 sw s3, 0x20(v0)               |         *((v0 + 8)) = s3;
                                             |     }
    0x000540cc lw t9, -0x7080(gp)            |     t9 = *((gp - 7200));
    0x000540d0 move a0, s1                   |     a0 = s1;
    0x000540d4 jalr t9                       |     t9 ();
    0x000540d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000540dc sw v0, 0x28(s0)               |     *((s0 + 10)) = v0;
                                             |     if (s2 != 0) {
    0x000540e0 beqz s2, 0x54114              |         
    0x000540e4 lw t9, -0x7b94(gp)            |         t9 = *((gp - 7909));
    0x000540e8 move a1, s0                   |         a1 = s0;
    0x000540ec move a0, s2                   |         a0 = s2;
    0x000540f0 bal 0x539fc                   |         sym_xmlAddNextSibling ();
    0x000540f4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000540f8 b 0x53d0c                     |         goto label_0;
                                             | label_34:
    0x000540fc move s2, a1                   |         s2 = a1;
    0x00054100 move s5, a1                   |         s5 = a1;
    0x00054104 b 0x53e40                     |         goto label_3;
                                             | label_29:
    0x00054108 addiu s0, s0, 3               |         s0 += 3;
    0x0005410c move fp, s0                   |         fp = s0;
    0x00054110 b 0x53cb0                     |         goto label_1;
                                             |     }
    0x00054114 move s5, s0                   |     s5 = s0;
    0x00054118 b 0x53d0c                     |     goto label_0;
                                             | label_26:
    0x0005411c addiu v0, zero, -1            |     v0 = -1;
    0x00054120 lw t9, -0x7b90(gp)            |     t9 = *(gp);
    0x00054124 sw a3, 0x2c(sp)               |     *(var_2ch_2) = a3;
    0x00054128 move a0, s3                   |     a0 = s3;
    0x0005412c sw v0, 0xc(s7)                |     *((s7 + 3)) = v0;
    0x00054130 bal 0x53c08                   |     sym_xmlStringGetNodeList ();
                                             |     goto label_10;
    0x00054134 addiu a0, zero, 1             |     a0 = 1;
    0x00054138 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0005413c sw v0, 0xc(s7)                |     *((s7 + 3)) = v0;
    0x00054140 sw a0, 0x44(s7)               |     *((s7 + 17)) = a0;
    0x00054144 lw a3, 0x2c(sp)               |     a3 = *(var_2ch_2);
                                             |     if (v0 != 0) {
    0x00054148 bnez v0, 0x54158              |         goto label_39;
                                             |     }
    0x0005414c b 0x53e70                     |     goto label_11;
    0x00054150 nop                           |     
                                             |     do {
    0x00054154 move v0, a0                   |         v0 = a0;
                                             | label_39:
    0x00054158 lw a0, 0x18(v0)               |         a0 = *((v0 + 6));
    0x0005415c sw s7, 0x14(v0)               |         *((v0 + 5)) = s7;
    0x00054160 bnez a0, 0x54154              |         
                                             |     } while (a0 != 0);
    0x00054164 sw v0, 0x10(s7)               |     *((s7 + 4)) = v0;
    0x00054168 b 0x53e70                     |     goto label_11;
                                             | label_38:
    0x0005416c lw t9, -0x6db8(gp)            |     t9 = *((gp - 7022));
    0x00054170 lw a3, 0x28(sp)               |     a3 = *(var_28h_2);
    0x00054174 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00054178 move a2, s3                   |     a2 = s3;
    0x0005417c addiu a1, zero, 0x514         |     a1 = aav.0x00000514;
    0x00054180 addiu a0, zero, 2             |     a0 = 2;
    0x00054184 jalr t9                       |     t9 ();
    0x00054188 move s0, fp                   |     s0 = fp;
    0x0005418c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00054190 b 0x53cb0                     |     goto label_1;
                                             | label_25:
    0x00054194 lw v0, -0x7158(gp)            |     v0 = *(gp);
                                             |     if (s0 == 0) {
    0x00054198 beqz s0, 0x53d0c              |         goto label_0;
                                             |     }
    0x0005419c lw t9, (v0)                   |     t9 = *(v0);
    0x000541a0 move a0, s0                   |     a0 = s0;
    0x000541a4 jalr t9                       |     t9 ();
    0x000541a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000541ac b 0x53d0c                     |     goto label_0;
                                             | label_35:
    0x000541b0 addiu s0, s0, 4               |     s0 += 4;
    0x000541b4 move fp, s0                   |     fp = s0;
    0x000541b8 b 0x53cb0                     |     goto label_1;
                                             | label_17:
    0x000541bc lw t9, -0x7074(gp)            |     t9 = *((gp - 7197));
    0x000541c0 jalr t9                       |     t9 ();
    0x000541c4 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 @ 0xb8130 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlStrstr ()                 | void xmlStrstr () {
    0x000b8130 lui gp, 0xe                   |     
    0x000b8134 addiu gp, gp, -0x6ac0         |     
    0x000b8138 addu gp, gp, t9               |     gp += t9;
    0x000b813c addiu sp, sp, -0x30           |     
    0x000b8140 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000b8144 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x000b8148 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x000b814c sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x000b8150 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x000b8154 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000b8158 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             |     if (a0 == 0) {
    0x000b815c beqz a0, 0xb8200              |         goto label_1;
                                             |     }
    0x000b8160 lw t9, -0x76bc(gp)            |     t9 = *((gp - 7599));
                                             |     if (a1 == 0) {
    0x000b8164 beqz a1, 0xb8200              |         goto label_1;
                                             |     }
    0x000b8168 move s0, a0                   |     s0 = a0;
    0x000b816c addiu t9, t9, 0x7b00          |     t9 += 0x7b00;
    0x000b8170 move a0, a1                   |     a0 = a1;
    0x000b8174 move s1, a1                   |     s1 = a1;
    0x000b8178 bal 0xb7b00                   |     fcn_000b7b00 ();
    0x000b817c move s2, v0                   |     s2 = v0;
    0x000b8180 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000b8184 beqz v0, 0xb81e0              |         goto label_2;
                                             |     }
    0x000b8188 lbu v0, (s0)                  |     v0 = *(s0);
    0x000b818c lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             |     if (v0 == 0) {
    0x000b8190 beqz v0, 0xb8200              |         goto label_1;
                                             |     }
    0x000b8194 lbu s3, (a1)                  |     s3 = *(a1);
    0x000b8198 b 0xb81ac                     |     goto label_3;
                                             | label_0:
    0x000b819c addiu s0, s0, 1               |     s0++;
                                             |     do {
    0x000b81a0 lbu v0, (s0)                  |         v0 = *(s0);
    0x000b81a4 lw ra, 0x2c(sp)               |         ra = *(var_2ch);
                                             |         if (v0 == 0) {
    0x000b81a8 beqz v0, 0xb8200              |             goto label_1;
                                             |         }
                                             | label_3:
    0x000b81ac addiu s0, s0, 1               |         s0++;
    0x000b81b0 bnel s3, v0, 0xb81a0          |         
                                             |     } while (s3 == v0);
    0x000b81b4 lw t9, -0x70f8(gp)            |     t9 = *((gp - 7230));
    0x000b81b8 move a0, s0                   |     a0 = s0;
    0x000b81bc move a2, s2                   |     a2 = s2;
    0x000b81c0 move a1, s1                   |     a1 = s1;
                                             |     if (s2 <= 0) {
    0x000b81c4 blez s2, 0xb81e0              |         goto label_2;
                                             |     }
    0x000b81c8 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             |     if (s1 == s0) {
    0x000b81cc beq s1, s0, 0xb81e4           |         goto label_4;
                                             |     }
    0x000b81d0 jalr t9                       |     t9 ();
    0x000b81d4 nop                           |     
    0x000b81d8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x000b81dc bnez v0, 0xb819c              |         goto label_0;
                                             |     }
                                             | label_2:
    0x000b81e0 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
                                             | label_4:
    0x000b81e4 move v0, s0                   |     v0 = s0;
    0x000b81e8 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x000b81ec lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x000b81f0 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x000b81f4 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x000b81f8 addiu sp, sp, 0x30            |     
    0x000b81fc jr ra                         |     return v0;
                                             | label_1:
    0x000b8200 move s0, zero                 |     s0 = 0;
    0x000b8204 move v0, s0                   |     v0 = s0;
    0x000b8208 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x000b820c lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x000b8210 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x000b8214 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x000b8218 addiu sp, sp, 0x30            |     
    0x000b821c jr ra                         |     return v0;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x100fe8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlTextReaderReadState ()        | void xmlTextReaderReadState () {
                                                 |     if (a0 != 0) {
    0x00100fe8 beqz a0, 0x100ff8                 |         
    0x00100fec nop                               |         
    0x00100ff0 lw v0, (a0)                       |         v0 = *(a0);
    0x00100ff4 jr ra                             |         return v0;
                                                 |     }
    0x00100ff8 addiu v0, zero, -1                |     v0 = -1;
    0x00100ffc jr ra                             |     return v0;
                                                 | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x1050a4 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.xmlTextReaderRelaxNGSetSchema ()         | void xmlTextReaderRelaxNGSetSchema () {
    0x001050a4 lui gp, 9                                 |     
    0x001050a8 addiu gp, gp, -0x3a34                     |     
    0x001050ac addu gp, gp, t9                           |     gp += t9;
    0x001050b0 addiu sp, sp, -0x28                       |     
    0x001050b4 sw gp, 0x10(sp)                           |     *(var_10h) = gp;
    0x001050b8 sw ra, 0x24(sp)                           |     *(var_24h) = ra;
    0x001050bc sw s2, 0x20(sp)                           |     *(var_20h) = s2;
    0x001050c0 sw s1, 0x1c(sp)                           |     *(var_1ch) = s1;
    0x001050c4 sw s0, 0x18(sp)                           |     *(var_18h) = s0;
    0x001050c8 move s1, a1                               |     s1 = a1;
                                                         |     if (a0 == 0) {
    0x001050cc beqz a0, 0x10522c                         |         goto label_1;
                                                         |     }
    0x001050d0 move s0, a0                               |     s0 = a0;
                                                         |     if (a1 == 0) {
    0x001050d4 beqz a1, 0x1051c0                         |         goto label_2;
                                                         |     }
    0x001050d8 lw s2, (a0)                               |     s2 = *(a0);
    0x001050dc addiu s2, zero, -1                        |     s2 = -1;
                                                         |     if (s2 == 0) {
    0x001050e0 bnel s2, zero, 0x105194                   |         goto label_0;
                                                         |     }
    0x001050e4 lw a0, 0x74(a0)                           |     a0 = *((a0 + 29));
    0x001050e8 lw t9, -0x7430(gp)                        |     t9 = *((gp - 7436));
                                                         |     if (a0 != 0) {
    0x001050ec beqz a0, 0x105100                         |         
    0x001050f0 bal 0x11512c                              |         sym_xmlRelaxNGFree ();
    0x001050f4 nop                                       |         
    0x001050f8 lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x001050fc sw zero, 0x74(s0)                         |         *((s0 + 29)) = 0;
                                                         |     }
    0x00105100 lw a0, 0x78(s0)                           |     a0 = *((s0 + 30));
    0x00105104 lw t9, -0x7418(gp)                        |     t9 = *(gp);
                                                         |     if (a0 == 0) {
    0x00105108 beqz a0, 0x105120                         |         goto label_3;
                                                         |     }
    0x0010510c lw v0, 0x7c(s0)                           |     v0 = *((s0 + 31));
    0x00105110 lw t9, -0x7434(gp)                        |     t9 = *(gp);
    0x00105114 beqz v0, 0x1051b0                         |     
                                                         |     while (1) {
    0x00105118 sw zero, 0x78(s0)                         |         *((s0 + 30)) = 0;
    0x0010511c lw t9, -0x7418(gp)                        |         t9 = *(gp);
                                                         | label_3:
    0x00105120 sw zero, 0x7c(s0)                         |         *((s0 + 31)) = 0;
    0x00105124 move a0, s1                               |         a0 = s1;
    0x00105128 bal 0x119538                              |         sym_xmlRelaxNGNewValidCtxt ();
    0x0010512c lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x00105130 sw v0, 0x78(s0)                           |         *((s0 + 30)) = v0;
                                                         |         if (v0 == 0) {
    0x00105134 beqz v0, 0x10522c                         |             goto label_1;
                                                         |         }
    0x00105138 lw v1, 0x6c(s0)                           |         v1 = *((s0 + 27));
    0x0010513c lw a2, -0x7470(gp)                        |         a2 = *(gp);
                                                         |         if (v1 != 0) {
    0x00105140 beqz v1, 0x105164                         |             
    0x00105144 lw a1, -0x7470(gp)                        |             a1 = *(gp);
    0x00105148 lw t9, -0x7414(gp)                        |             t9 = *(gp);
    0x0010514c move a3, s0                               |             a3 = s0;
    0x00105150 addiu a2, a2, 0x3f4                       |             a2 += aav.0x000003f4;
    0x00105154 addiu a1, a1, 0x5bc                       |             a1 += aav.0x000005bc;
    0x00105158 move a0, v0                               |             a0 = v0;
    0x0010515c bal 0x119830                              |             sym_xmlRelaxNGSetValidErrors ();
    0x00105160 lw gp, 0x10(sp)                           |             gp = *(var_10h);
                                                         |         }
    0x00105164 lw v0, 0xc0(s0)                           |         v0 = *((s0 + 48));
    0x00105168 lw t9, -0x7424(gp)                        |         t9 = *(gp);
                                                         |         if (v0 != 0) {
    0x0010516c beqz v0, 0x105184                         |             
    0x00105170 lw a1, -0x7470(gp)                        |             a1 = *(gp);
    0x00105174 lw a0, 0x78(s0)                           |             a0 = *((s0 + 30));
    0x00105178 move a2, s0                               |             a2 = s0;
    0x0010517c addiu a1, a1, 0x7f4                       |             a1 += 0x7f4;
    0x00105180 bal 0x119850                              |             sym_xmlRelaxNGSetValidStructuredErrors ();
                                                         |         }
    0x00105184 addiu v0, zero, 2                         |         v0 = 2;
    0x00105188 sw zero, 0x80(s0)                         |         *((s0 + 32)) = 0;
    0x0010518c sw zero, 0x84(s0)                         |         *((s0 + 33)) = 0;
    0x00105190 sw v0, 8(s0)                              |         *((s0 + 2)) = v0;
                                                         | label_0:
    0x00105194 lw ra, 0x24(sp)                           |         ra = *(var_24h);
    0x00105198 move v0, s2                               |         v0 = s2;
    0x0010519c lw s1, 0x1c(sp)                           |         s1 = *(var_1ch);
    0x001051a0 lw s2, 0x20(sp)                           |         s2 = *(var_20h);
    0x001051a4 lw s0, 0x18(sp)                           |         s0 = *(var_18h);
    0x001051a8 addiu sp, sp, 0x28                        |         
    0x001051ac jr ra                                     |         return v0;
    0x001051b0 bal 0x11961c                              |         sym_xmlRelaxNGFreeValidCtxt ();
    0x001051b4 nop                                       |         
    0x001051b8 lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x001051bc b 0x105118                                |         
                                                         |     }
                                                         | label_2:
    0x001051c0 lw a0, 0x74(a0)                           |     a0 = *((a0 + 29));
    0x001051c4 lw t9, -0x7430(gp)                        |     t9 = *((gp - 7436));
                                                         |     if (a0 != 0) {
    0x001051c8 beqz a0, 0x1051dc                         |         
    0x001051cc bal 0x11512c                              |         sym_xmlRelaxNGFree ();
    0x001051d0 nop                                       |         
    0x001051d4 lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x001051d8 sw zero, 0x74(s0)                         |         *((s0 + 29)) = 0;
                                                         |     }
    0x001051dc lw a0, 0x78(s0)                           |     a0 = *((s0 + 30));
    0x001051e0 lw ra, 0x24(sp)                           |     ra = *(var_24h);
                                                         |     if (a0 == 0) {
    0x001051e4 beqz a0, 0x1051fc                         |         goto label_4;
                                                         |     }
    0x001051e8 lw v0, 0x7c(s0)                           |     v0 = *((s0 + 31));
    0x001051ec lw t9, -0x7434(gp)                        |     t9 = *(gp);
                                                         |     if (v0 == 0) {
    0x001051f0 beqz v0, 0x10521c                         |         goto label_5;
                                                         |     }
    0x001051f4 sw zero, 0x78(s0)                         |     *((s0 + 30)) = 0;
                                                         |     do {
    0x001051f8 lw ra, 0x24(sp)                           |         ra = *(var_24h);
                                                         | label_4:
    0x001051fc move s2, zero                             |         s2 = 0;
    0x00105200 sw zero, 0x7c(s0)                         |         *((s0 + 31)) = 0;
    0x00105204 move v0, s2                               |         v0 = s2;
    0x00105208 lw s1, 0x1c(sp)                           |         s1 = *(var_1ch);
    0x0010520c lw s2, 0x20(sp)                           |         s2 = *(var_20h);
    0x00105210 lw s0, 0x18(sp)                           |         s0 = *(var_18h);
    0x00105214 addiu sp, sp, 0x28                        |         
    0x00105218 jr ra                                     |         return v0;
                                                         | label_5:
    0x0010521c bal 0x11961c                              |         sym_xmlRelaxNGFreeValidCtxt ();
    0x00105220 nop                                       |         
    0x00105224 sw zero, 0x78(s0)                         |         *((s0 + 30)) = 0;
    0x00105228 b 0x1051f8                                |         
                                                         |     } while (1);
                                                         | label_1:
    0x0010522c addiu s2, zero, -1                        |     s2 = -1;
    0x00105230 b 0x105194                                |     goto label_0;
                                                         | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x103b20 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlTextReaderSetParserProp ()        | void xmlTextReaderSetParserProp () {
                                                     |     if (a0 != 0) {
    0x00103b20 beqz a0, 0x103ba0                     |         
    0x00103b24 nop                                   |         
    0x00103b28 lw v1, 0x14(a0)                       |         v1 = *((a0 + 5));
    0x00103b2c addiu a3, zero, 2                     |         a3 = 2;
                                                     |         if (v1 == 0) {
    0x00103b30 beqz v1, 0x103ba0                     |             goto label_0;
                                                     |         }
    0x00103b34 slti v0, a1, 3                        |         v0 = (a1 < 3) ? 1 : 0;
                                                     |         if (a1 == a3) {
    0x00103b38 beq a1, a3, 0x103bb8                  |             goto label_1;
                                                     |         }
    0x00103b3c addiu v0, zero, 3                     |         v0 = 3;
                                                     |         if (v0 == 0) {
    0x00103b40 bnez v0, 0x103b6c                     |             
    0x00103b44 addiu v0, zero, 4                     |             v0 = 4;
                                                     |             if (a1 == v0) {
    0x00103b48 beq a1, v0, 0x103bd0                  |                 goto label_2;
                                                     |             }
                                                     |             if (a1 != v0) {
    0x00103b4c bne a1, v0, 0x103ba0                  |                 goto label_0;
                                                     |             }
    0x00103b50 nop                                   |             
                                                     |             if (a2 == 0) {
    0x00103b54 beql a2, zero, 0x103bb0               |                 goto label_3;
                                                     |             }
    0x00103b58 sw zero, 0x10(v1)                     |             *((v1 + 4)) = 0;
    0x00103b5c addiu v0, zero, 1                     |             v0 = 1;
    0x00103b60 sw v0, 0x10(v1)                       |             *((v1 + 4)) = v0;
    0x00103b64 move v0, zero                         |             v0 = 0;
    0x00103b68 jr ra                                 |             return v0;
                                                     |         }
    0x00103b6c addiu v0, zero, 1                     |         v0 = 1;
                                                     |         if (a1 != v0) {
    0x00103b70 bne a1, v0, 0x103ba0                  |             goto label_0;
                                                     |         }
    0x00103b74 nop                                   |         
                                                     |         if (a2 == 0) {
    0x00103b78 beql a2, zero, 0x103ba8               |             goto label_4;
                                                     |         }
    0x00103b7c sw zero, 0x114(v1)                    |         *(v1) = 0;
    0x00103b80 lw v0, 0x114(v1)                      |         v0 = *(v1);
                                                     |         if (v0 != 0) {
    0x00103b84 bnez v0, 0x103c14                     |             goto label_5;
                                                     |         }
    0x00103b88 nop                                   |         
    0x00103b8c lw v0, (a0)                           |         v0 = *(a0);
    0x00103b90 addiu v0, zero, -1                    |         v0 = -1;
                                                     |         if (v0 == 0) {
    0x00103b94 bnel v0, zero, 0x103c04               |             goto label_6;
                                                     |         }
    0x00103b98 sw a3, 0x114(v1)                      |         *(v1) = a3;
    0x00103b9c jr ra                                 |         return v0;
                                                     |     }
                                                     | label_0:
    0x00103ba0 addiu v0, zero, -1                    |     v0 = -1;
    0x00103ba4 jr ra                                 |     return v0;
                                                     | label_4:
    0x00103ba8 move v0, zero                         |     v0 = 0;
    0x00103bac jr ra                                 |     return v0;
                                                     | label_3:
    0x00103bb0 move v0, zero                         |     v0 = 0;
    0x00103bb4 jr ra                                 |     return v0;
                                                     | label_1:
    0x00103bb8 lw a0, 0x114(v1)                      |     a0 = *(v1);
                                                     |     if (a2 != 0) {
    0x00103bbc beqz a2, 0x103bec                     |         
    0x00103bc0 ori a0, a0, 4                         |         a0 |= 4;
    0x00103bc4 sw a0, 0x114(v1)                      |         *(v1) = a0;
    0x00103bc8 move v0, zero                         |         v0 = 0;
    0x00103bcc jr ra                                 |         return v0;
                                                     |         if (a2 == 0) {
                                                     | label_2:
    0x00103bd0 beql a2, zero, 0x103c0c               |             goto label_7;
                                                     |         }
    0x00103bd4 sw zero, 0x68(v1)                     |         *((v1 + 26)) = 0;
    0x00103bd8 addiu a1, zero, 1                     |         a1 = 1;
    0x00103bdc sw a1, 0x68(v1)                       |         *((v1 + 26)) = a1;
    0x00103be0 move v0, zero                         |         v0 = 0;
    0x00103be4 sw a1, 8(a0)                          |         *((a0 + 2)) = a1;
    0x00103be8 jr ra                                 |         return v0;
                                                     |     }
    0x00103bec andi v0, a0, 4                        |     v0 = a0 & 4;
    0x00103bf0 addiu a0, a0, -4                      |     a0 += -4;
                                                     |     if (v0 != 0) {
    0x00103bf4 beqz v0, 0x103c04                     |         
    0x00103bf8 sw a0, 0x114(v1)                      |         *(v1) = a0;
    0x00103bfc move v0, zero                         |         v0 = 0;
    0x00103c00 jr ra                                 |         return v0;
                                                     |     }
                                                     | label_6:
    0x00103c04 jr ra                                 |     return v0;
    0x00103c08 nop                                   |     
                                                     | label_7:
    0x00103c0c move v0, zero                         |     v0 = 0;
    0x00103c10 jr ra                                 |     return v0;
                                                     | label_5:
    0x00103c14 move v0, zero                         |     v0 = 0;
    0x00103c18 jr ra                                 |     return v0;
                                                     | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x125edc */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlTextWriterEndDTDEntity ()         | void xmlTextWriterEndDTDEntity () {
    0x00125edc lui gp, 7                             |     
    0x00125ee0 addiu gp, gp, -0x486c                 |     
    0x00125ee4 addu gp, gp, t9                       |     gp += t9;
    0x00125ee8 addiu sp, sp, -0x28                   |     
    0x00125eec sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x00125ef0 sw ra, 0x24(sp)                       |     *(var_24h) = ra;
    0x00125ef4 sw s2, 0x20(sp)                       |     *(var_20h) = s2;
    0x00125ef8 sw s1, 0x1c(sp)                       |     *(var_1ch) = s1;
    0x00125efc sw s0, 0x18(sp)                       |     *(var_18h) = s0;
    0x00125f00 lw t9, -0x72c0(gp)                    |     t9 = *(gp);
                                                     |     if (a0 == 0) {
    0x00125f04 beqz a0, 0x125f50                     |         goto label_0;
                                                     |     }
    0x00125f08 move s0, a0                           |     s0 = a0;
    0x00125f0c lw a0, 4(a0)                          |     a0 = *((a0 + 1));
    0x00125f10 jalr t9                               |     t9 ();
    0x00125f14 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 == 0) {
    0x00125f18 beqz v0, 0x125f50                     |         goto label_0;
                                                     |     }
    0x00125f1c lw t9, -0x7a34(gp)                    |     t9 = *((gp - 7821));
    0x00125f20 move a0, v0                           |     a0 = v0;
    0x00125f24 jalr t9                               |     t9 ();
    0x00125f28 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 == 0) {
    0x00125f2c beqz v0, 0x125f50                     |         goto label_0;
                                                     |     }
    0x00125f30 lw v0, 4(v0)                          |     v0 = *((v0 + 1));
    0x00125f34 addiu v1, zero, 0xe                   |     v1 = 0xe;
    0x00125f38 addiu v1, zero, 0xf                   |     v1 = 0xf;
                                                     |     if (v0 == v1) {
    0x00125f3c beq v0, v1, 0x125fe8                  |         goto label_3;
                                                     |     }
    0x00125f40 addiu v1, zero, 0xd                   |     v1 = 0xd;
                                                     |     if (v0 == v1) {
    0x00125f44 beq v0, v1, 0x125f70                  |         goto label_4;
                                                     |     }
    0x00125f48 move s1, zero                         |     s1 = 0;
    0x00125f4c beq v0, v1, 0x125f74                  |     
                                                     |     while (v0 < 0) {
                                                     | label_0:
    0x00125f50 lw ra, 0x24(sp)                       |         ra = *(var_24h);
                                                     | label_2:
    0x00125f54 addiu s1, zero, -1                    |         s1 = -1;
    0x00125f58 move v0, s1                           |         v0 = s1;
    0x00125f5c lw s2, 0x20(sp)                       |         s2 = *(var_20h);
    0x00125f60 lw s1, 0x1c(sp)                       |         s1 = *(var_1ch);
    0x00125f64 lw s0, 0x18(sp)                       |         s0 = *(var_18h);
    0x00125f68 addiu sp, sp, 0x28                    |         
    0x00125f6c jr ra                                 |         return v0;
                                                     | label_4:
    0x00125f70 move s1, zero                         |         s1 = 0;
                                                     | label_1:
    0x00125f74 lw s2, -0x796c(gp)                    |         s2 = *((gp - 7771));
    0x00125f78 lw a1, -0x7f94(gp)                    |         a1 = *((gp - 8165));
    0x00125f7c lw a0, (s0)                           |         a0 = *(s0);
    0x00125f80 move t9, s2                           |         t9 = s2;
    0x00125f84 addiu a1, a1, -0x411c                 |         a1 += -0x411c;
    0x00125f88 jalr t9                               |         t9 ();
    0x00125f8c lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00125f90 bltz v0, 0x125f50                     |         
                                                     |     }
    0x00125f94 lw v1, 0x10(s0)                       |     v1 = *((s0 + 4));
    0x00125f98 addu s1, s1, v0                       |     s1 += v0;
                                                     |     if (v1 == 0) {
    0x00125f9c beqz v1, 0x125fc0                     |         goto label_5;
                                                     |     }
    0x00125fa0 lw a1, -0x7f94(gp)                    |     a1 = *((gp - 8165));
    0x00125fa4 lw a0, (s0)                           |     a0 = *(s0);
    0x00125fa8 move t9, s2                           |     t9 = s2;
    0x00125fac addiu a1, a1, 0x251c                  |     a1 += 0x251c;
    0x00125fb0 jalr t9                               |     t9 ();
    0x00125fb4 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 < 0) {
    0x00125fb8 bltz v0, 0x125f50                     |         goto label_0;
                                                     |     }
    0x00125fbc addu s1, s1, v0                       |     s1 += v0;
                                                     | label_5:
    0x00125fc0 lw t9, -0x72b8(gp)                    |     t9 = *((gp - 7342));
    0x00125fc4 lw a0, 4(s0)                          |     a0 = *((s0 + 1));
    0x00125fc8 jalr t9                               |     t9 ();
    0x00125fcc lw ra, 0x24(sp)                       |     ra = *(var_24h);
    0x00125fd0 move v0, s1                           |     v0 = s1;
    0x00125fd4 lw s2, 0x20(sp)                       |     s2 = *(var_20h);
    0x00125fd8 lw s1, 0x1c(sp)                       |     s1 = *(var_1ch);
    0x00125fdc lw s0, 0x18(sp)                       |     s0 = *(var_18h);
    0x00125fe0 addiu sp, sp, 0x28                    |     
    0x00125fe4 jr ra                                 |     return v0;
                                                     | label_3:
    0x00125fe8 lw t9, -0x72bc(gp)                    |     t9 = *(gp);
    0x00125fec lw a0, (s0)                           |     a0 = *(s0);
    0x00125ff0 addiu a2, s0, 0x1c                    |     a2 = s0 + 0x1c;
    0x00125ff4 addiu a1, zero, 1                     |     a1 = 1;
    0x00125ff8 jalr t9                               |     t9 ();
    0x00125ffc move s1, v0                           |     s1 = v0;
    0x00126000 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 >= 0) {
    0x00126004 bgez v0, 0x125f74                     |         goto label_1;
                                                     |     }
    0x00126008 lw ra, 0x24(sp)                       |     ra = *(var_24h);
    0x0012600c b 0x125f54                            |     goto label_2;
                                                     | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x122db8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlTextWriterEndElement ()       | void xmlTextWriterEndElement () {
    0x00122db8 lui gp, 7                         |     
    0x00122dbc addiu gp, gp, -0x1748             |     
    0x00122dc0 addu gp, gp, t9                   |     gp += t9;
    0x00122dc4 addiu sp, sp, -0x30               |     
    0x00122dc8 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x00122dcc sw ra, 0x2c(sp)                   |     *(var_2ch) = ra;
    0x00122dd0 sw s3, 0x28(sp)                   |     *(var_28h) = s3;
    0x00122dd4 sw s2, 0x24(sp)                   |     *(var_24h) = s2;
    0x00122dd8 sw s1, 0x20(sp)                   |     *(var_20h) = s1;
    0x00122ddc sw s0, 0x1c(sp)                   |     *(var_1ch) = s0;
    0x00122de0 lw t9, -0x72c0(gp)                |     t9 = *(gp);
                                                 |     if (a0 == 0) {
    0x00122de4 beqz a0, 0x122e34                 |         goto label_0;
                                                 |     }
    0x00122de8 move s0, a0                       |     s0 = a0;
    0x00122dec lw a0, 4(a0)                      |     a0 = *((a0 + 1));
    0x00122df0 jalr t9                           |     t9 ();
    0x00122df4 lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 == 0) {
    0x00122df8 beqz v0, 0x122f98                 |         goto label_7;
                                                 |     }
    0x00122dfc lw t9, -0x7a34(gp)                |     t9 = *((gp - 7821));
    0x00122e00 move a0, v0                       |     a0 = v0;
    0x00122e04 jalr t9                           |     t9 ();
    0x00122e08 move s2, v0                       |     s2 = v0;
    0x00122e0c lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 == 0) {
    0x00122e10 beqz v0, 0x122f98                 |         goto label_7;
                                                 |     }
    0x00122e14 lw v0, 4(v0)                      |     v0 = *((v0 + 1));
    0x00122e18 addiu v1, zero, 2                 |     v1 = 2;
    0x00122e1c addiu v1, zero, 3                 |     v1 = 3;
                                                 |     if (v0 == v1) {
    0x00122e20 beq v0, v1, 0x122f80              |         goto label_8;
                                                 |     }
    0x00122e24 addiu v1, zero, 1                 |     v1 = 1;
                                                 |     if (v0 == v1) {
    0x00122e28 beq v0, v1, 0x122ee0              |         goto label_9;
                                                 |     }
    0x00122e2c move s1, zero                     |     s1 = 0;
    0x00122e30 beq v0, v1, 0x122e58              |     
                                                 |     while (v0 < 0) {
                                                 | label_0:
    0x00122e34 addiu s1, zero, -1                |         s1 = -1;
                                                 | label_4:
    0x00122e38 lw ra, 0x2c(sp)                   |         ra = *(var_2ch);
    0x00122e3c move v0, s1                       |         v0 = s1;
    0x00122e40 lw s3, 0x28(sp)                   |         s3 = *(var_28h);
    0x00122e44 lw s2, 0x24(sp)                   |         s2 = *(var_24h);
    0x00122e48 lw s1, 0x20(sp)                   |         s1 = *(var_20h);
    0x00122e4c lw s0, 0x1c(sp)                   |         s0 = *(var_1ch);
    0x00122e50 addiu sp, sp, 0x30                |         
    0x00122e54 jr ra                             |         return v0;
                                                 | label_3:
    0x00122e58 lw t9, -0x7398(gp)                |         t9 = *((gp - 7398));
    0x00122e5c addiu t9, t9, 0x25ac              |         t9 += 0x25ac;
    0x00122e60 move a0, s0                       |         a0 = s0;
    0x00122e64 bal 0x1225ac                      |         fcn_001225ac ();
    0x00122e68 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00122e6c bltz v0, 0x122e34                 |         
                                                 |     }
    0x00122e70 lw v1, 0x10(s0)                   |     v1 = *((s0 + 4));
    0x00122e74 addu s1, s1, v0                   |     s1 += v0;
                                                 |     if (v1 != 0) {
    0x00122e78 beqz v1, 0x122e84                 |         
    0x00122e7c addiu v0, zero, 1                 |         v0 = 1;
    0x00122e80 sw v0, 0x14(s0)                   |         *((s0 + 5)) = v0;
                                                 |     }
    0x00122e84 lw s3, -0x796c(gp)                |     s3 = *((gp - 7771));
    0x00122e88 lw a1, -0x7fb0(gp)                |     a1 = *((gp - 8172));
    0x00122e8c lw a0, (s0)                       |     a0 = *(s0);
    0x00122e90 move t9, s3                       |     t9 = s3;
    0x00122e94 addiu a1, a1, 0x34e4              |     a1 += 0x34e4;
    0x00122e98 jalr t9                           |     t9 ();
    0x00122e9c lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 < 0) {
    0x00122ea0 bltz v0, 0x122e34                 |         goto label_0;
                                                 |     }
    0x00122ea4 addu s1, s1, v0                   |     s1 += v0;
    0x00122ea8 lw v0, 0x10(s0)                   |     v0 = *((s0 + 4));
    0x00122eac lw a1, -0x7f94(gp)                |     a1 = *((gp - 8165));
                                                 |     if (v0 != 0) {
    0x00122eb0 bnez v0, 0x122f64                 |         goto label_10;
                                                 |     }
                                                 | label_2:
    0x00122eb4 lw t9, -0x72b8(gp)                |     t9 = *((gp - 7342));
                                                 | label_1:
    0x00122eb8 lw a0, 4(s0)                      |     a0 = *((s0 + 1));
    0x00122ebc jalr t9                           |     t9 ();
    0x00122ec0 lw ra, 0x2c(sp)                   |     ra = *(var_2ch);
    0x00122ec4 move v0, s1                       |     v0 = s1;
    0x00122ec8 lw s3, 0x28(sp)                   |     s3 = *(var_28h);
    0x00122ecc lw s2, 0x24(sp)                   |     s2 = *(var_24h);
    0x00122ed0 lw s1, 0x20(sp)                   |     s1 = *(var_20h);
    0x00122ed4 lw s0, 0x1c(sp)                   |     s0 = *(var_1ch);
    0x00122ed8 addiu sp, sp, 0x30                |     
    0x00122edc jr ra                             |     return v0;
                                                 | label_9:
    0x00122ee0 lw v0, 0x10(s0)                   |     v0 = *((s0 + 4));
    0x00122ee4 lw v0, 0x14(s0)                   |     v0 = *((s0 + 5));
                                                 |     if (v0 == 0) {
    0x00122ee8 bnel v0, zero, 0x122fb0           |         goto label_11;
                                                 |     }
    0x00122eec addiu v0, zero, 1                 |     v0 = 1;
                                                 | label_5:
    0x00122ef0 sw v0, 0x14(s0)                   |     *((s0 + 5)) = v0;
    0x00122ef4 move s1, zero                     |     s1 = 0;
                                                 | label_6:
    0x00122ef8 lw s3, -0x796c(gp)                |     s3 = *((gp - 7771));
    0x00122efc lw a1, -0x7f94(gp)                |     a1 = *((gp - 8165));
    0x00122f00 lw a0, (s0)                       |     a0 = *(s0);
    0x00122f04 move t9, s3                       |     t9 = s3;
    0x00122f08 addiu a1, a1, 0x9c8               |     a1 += 0x9c8;
    0x00122f0c jalr t9                           |     t9 ();
    0x00122f10 move t9, s3                       |     t9 = s3;
                                                 |     if (v0 < 0) {
    0x00122f14 bltz v0, 0x122e34                 |         goto label_0;
                                                 |     }
    0x00122f18 lw a1, (s2)                       |     a1 = *(s2);
    0x00122f1c lw a0, (s0)                       |     a0 = *(s0);
    0x00122f20 addu s1, s1, v0                   |     s1 += v0;
    0x00122f24 jalr t9                           |     t9 ();
    0x00122f28 lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 < 0) {
    0x00122f2c bltz v0, 0x122e34                 |         goto label_0;
                                                 |     }
    0x00122f30 lw a1, -0x7f94(gp)                |     a1 = *((gp - 8165));
    0x00122f34 lw a0, (s0)                       |     a0 = *(s0);
    0x00122f38 addiu a1, a1, -0x411c             |     a1 += -0x411c;
    0x00122f3c move t9, s3                       |     t9 = s3;
    0x00122f40 addu s1, s1, v0                   |     s1 += v0;
    0x00122f44 jalr t9                           |     t9 ();
    0x00122f48 lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 < 0) {
    0x00122f4c bltz v0, 0x122e34                 |         goto label_0;
                                                 |     }
    0x00122f50 addu s1, s1, v0                   |     s1 += v0;
    0x00122f54 lw v0, 0x10(s0)                   |     v0 = *((s0 + 4));
    0x00122f58 lw t9, -0x72b8(gp)                |     t9 = *((gp - 7342));
                                                 |     if (v0 == 0) {
    0x00122f5c beqz v0, 0x122eb8                 |         goto label_1;
                                                 |     }
    0x00122f60 lw a1, -0x7f94(gp)                |     a1 = *((gp - 8165));
                                                 | label_10:
    0x00122f64 lw a0, (s0)                       |     a0 = *(s0);
    0x00122f68 move t9, s3                       |     t9 = s3;
    0x00122f6c addiu a1, a1, 0x251c              |     a1 += 0x251c;
    0x00122f70 jalr t9                           |     t9 ();
    0x00122f74 addu s1, s1, v0                   |     s1 += v0;
    0x00122f78 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x00122f7c b 0x122eb4                        |     goto label_2;
                                                 | label_8:
    0x00122f80 lw t9, -0x72b4(gp)                |     t9 = *(gp);
    0x00122f84 move a0, s0                       |     a0 = s0;
    0x00122f88 bal 0x122028                      |     sym_xmlTextWriterEndAttribute ();
    0x00122f8c move s1, v0                       |     s1 = v0;
    0x00122f90 lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 >= 0) {
    0x00122f94 bgez v0, 0x122e58                 |         goto label_3;
                                                 |     }
                                                 | label_7:
    0x00122f98 lw a0, 8(s0)                      |     a0 = *((s0 + 2));
    0x00122f9c lw t9, -0x7a38(gp)                |     t9 = *((gp - 7822));
    0x00122fa0 addiu s1, zero, -1                |     s1 = -1;
    0x00122fa4 jalr t9                           |     t9 ();
    0x00122fa8 sw zero, 8(s0)                    |     *((s0 + 2)) = 0;
    0x00122fac b 0x122e38                        |     goto label_4;
                                                 | label_11:
    0x00122fb0 addiu v0, zero, 1                 |     v0 = 1;
                                                 |     if (v0 == 0) {
    0x00122fb4 beqz v0, 0x122ef0                 |         goto label_5;
                                                 |     }
    0x00122fb8 lw t9, -0x7398(gp)                |     t9 = *((gp - 7398));
    0x00122fbc addiu t9, t9, 0xd88               |     t9 += 0xd88;
    0x00122fc0 move a0, s0                       |     a0 = s0;
    0x00122fc4 bal 0x120d88                      |     fcn_00120d88 ();
    0x00122fc8 move s1, v0                       |     s1 = v0;
    0x00122fcc addiu v0, zero, 1                 |     v0 = 1;
    0x00122fd0 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x00122fd4 sw v0, 0x14(s0)                   |     *((s0 + 5)) = v0;
    0x00122fd8 b 0x122ef8                        |     goto label_6;
                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x1220cc */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlTextWriterStartAttribute ()       | void xmlTextWriterStartAttribute () {
    0x001220cc lui gp, 7                             |     
    0x001220d0 addiu gp, gp, -0xa5c                  |     
    0x001220d4 addu gp, gp, t9                       |     gp += t9;
                                                     |     if (a0 == 0) {
    0x001220d8 beqz a0, 0x122240                     |         goto label_0;
                                                     |     }
    0x001220dc nop                                   |     
                                                     |     if (a1 == 0) {
    0x001220e0 beqz a1, 0x122240                     |         goto label_0;
                                                     |     }
    0x001220e4 nop                                   |     
    0x001220e8 lbu v0, (a1)                          |     v0 = *(a1);
    0x001220ec lw t9, -0x72c0(gp)                    |     t9 = *(gp);
                                                     |     if (v0 == 0) {
    0x001220f0 beqz v0, 0x122240                     |         goto label_0;
                                                     |     }
    0x001220f4 addiu sp, sp, -0x30                   |     
    0x001220f8 sw s0, 0x18(sp)                       |     *(var_18h) = s0;
    0x001220fc move s0, a0                           |     s0 = a0;
    0x00122100 lw a0, 4(a0)                          |     a0 = *((a0 + 1));
    0x00122104 sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x00122108 sw s2, 0x20(sp)                       |     *(var_20h) = s2;
    0x0012210c sw ra, 0x2c(sp)                       |     *(var_2ch) = ra;
    0x00122110 sw s4, 0x28(sp)                       |     *(var_28h) = s4;
    0x00122114 sw s3, 0x24(sp)                       |     *(var_24h) = s3;
    0x00122118 sw s1, 0x1c(sp)                       |     *(var_1ch) = s1;
    0x0012211c move s2, a1                           |     s2 = a1;
    0x00122120 jalr t9                               |     t9 ();
    0x00122124 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 == 0) {
    0x00122128 beqz v0, 0x122214                     |         goto label_1;
                                                     |     }
    0x0012212c lw t9, -0x7a34(gp)                    |     t9 = *((gp - 7821));
    0x00122130 move a0, v0                           |     a0 = v0;
    0x00122134 jalr t9                               |     t9 ();
    0x00122138 move s3, v0                           |     s3 = v0;
    0x0012213c lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 == 0) {
    0x00122140 beqz v0, 0x122214                     |         goto label_1;
                                                     |     }
    0x00122144 lw v0, 4(v0)                          |     v0 = *((v0 + 1));
    0x00122148 addiu v1, zero, 1                     |     v1 = 1;
    0x0012214c addiu v1, zero, 2                     |     v1 = 2;
                                                     |     if (v0 == v1) {
    0x00122150 beq v0, v1, 0x122238                  |         goto label_2;
                                                     |     }
    0x00122154 lw ra, 0x2c(sp)                       |     ra = *(var_2ch);
                                                     |     if (v0 != v1) {
    0x00122158 bne v0, v1, 0x122218                  |         goto label_3;
                                                     |     }
    0x0012215c lw t9, -0x72b4(gp)                    |     t9 = *(gp);
    0x00122160 move a0, s0                           |     a0 = s0;
    0x00122164 bal 0x122028                          |     sym_xmlTextWriterEndAttribute ();
    0x00122168 move s1, v0                           |     s1 = v0;
    0x0012216c lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00122170 bltz v0, 0x122214                     |     
                                                     |     while (1) {
    0x00122174 lw s4, -0x796c(gp)                    |         s4 = *((gp - 7771));
    0x00122178 lw a1, -0x7f94(gp)                    |         a1 = *((gp - 8165));
    0x0012217c lw a0, (s0)                           |         a0 = *(s0);
    0x00122180 move t9, s4                           |         t9 = s4;
    0x00122184 addiu a1, a1, 0x578c                  |         a1 += 0x578c;
    0x00122188 jalr t9                               |         t9 ();
    0x0012218c move a1, s2                           |         a1 = s2;
                                                     |         if (v0 >= 0) {
    0x00122190 bltz v0, 0x122214                     |             
    0x00122194 lw a0, (s0)                           |             a0 = *(s0);
    0x00122198 move t9, s4                           |             t9 = s4;
    0x0012219c addu s1, s1, v0                       |             s1 += v0;
    0x001221a0 jalr t9                               |             t9 ();
    0x001221a4 lw gp, 0x10(sp)                       |             gp = *(var_10h);
                                                     |             if (v0 < 0) {
    0x001221a8 bltz v0, 0x122214                     |                 goto label_1;
                                                     |             }
    0x001221ac lw a1, -0x7f94(gp)                    |             a1 = *((gp - 8165));
    0x001221b0 lw a0, (s0)                           |             a0 = *(s0);
    0x001221b4 addiu a1, a1, 0x984                   |             a1 += 0x984;
    0x001221b8 move t9, s4                           |             t9 = s4;
    0x001221bc addu s1, s1, v0                       |             s1 += v0;
    0x001221c0 jalr t9                               |             t9 ();
    0x001221c4 lw gp, 0x10(sp)                       |             gp = *(var_10h);
                                                     |             if (v0 < 0) {
    0x001221c8 bltz v0, 0x122214                     |                 goto label_1;
                                                     |             }
    0x001221cc lw a0, (s0)                           |             a0 = *(s0);
    0x001221d0 lw t9, -0x72bc(gp)                    |             t9 = *(gp);
    0x001221d4 addiu a2, s0, 0x1c                    |             a2 = s0 + 0x1c;
    0x001221d8 addiu a1, zero, 1                     |             a1 = 1;
    0x001221dc addu s1, s1, v0                       |             s1 += v0;
    0x001221e0 jalr t9                               |             t9 ();
    0x001221e4 lw ra, 0x2c(sp)                       |             ra = *(var_2ch);
                                                     |             if (v0 < 0) {
    0x001221e8 bltz v0, 0x122214                     |                 goto label_1;
                                                     |             }
    0x001221ec addiu v1, zero, 2                     |             v1 = 2;
    0x001221f0 addu v0, s1, v0                       |             v0 = s1 + v0;
    0x001221f4 sw v1, 4(s3)                          |             *((s3 + 1)) = v1;
    0x001221f8 lw s4, 0x28(sp)                       |             s4 = *(var_28h);
    0x001221fc lw s3, 0x24(sp)                       |             s3 = *(var_24h);
    0x00122200 lw s2, 0x20(sp)                       |             s2 = *(var_20h);
    0x00122204 lw s1, 0x1c(sp)                       |             s1 = *(var_1ch);
    0x00122208 lw s0, 0x18(sp)                       |             s0 = *(var_18h);
    0x0012220c addiu sp, sp, 0x30                    |             
    0x00122210 jr ra                                 |             return v0;
                                                     |         }
                                                     | label_1:
    0x00122214 lw ra, 0x2c(sp)                       |         ra = *(var_2ch);
                                                     | label_3:
    0x00122218 lw s4, 0x28(sp)                       |         s4 = *(var_28h);
    0x0012221c lw s3, 0x24(sp)                       |         s3 = *(var_24h);
    0x00122220 lw s2, 0x20(sp)                       |         s2 = *(var_20h);
    0x00122224 lw s1, 0x1c(sp)                       |         s1 = *(var_1ch);
    0x00122228 lw s0, 0x18(sp)                       |         s0 = *(var_18h);
    0x0012222c addiu v0, zero, -1                    |         v0 = -1;
    0x00122230 addiu sp, sp, 0x30                    |         
    0x00122234 jr ra                                 |         return v0;
                                                     | label_2:
    0x00122238 move s1, zero                         |         s1 = 0;
    0x0012223c b 0x122174                            |         
                                                     |     }
                                                     | label_0:
    0x00122240 addiu v0, zero, -1                    |     v0 = -1;
    0x00122244 jr ra                                 |     return v0;
                                                     | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x122248 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.xmlTextWriterStartAttributeNS ()         | void xmlTextWriterStartAttributeNS () {
    0x00122248 lui gp, 7                                 |     
    0x0012224c addiu gp, gp, -0xbd8                      |     
    0x00122250 addu gp, gp, t9                           |     gp += t9;
    0x00122254 addiu sp, sp, -0x50                       |     
    0x00122258 sw s4, 0x38(sp)                           |     *(var_38h) = s4;
    0x0012225c lw s4, -0x7000(gp)                        |     s4 = *((gp - 7168));
    0x00122260 sw gp, 0x10(sp)                           |     *(var_10h) = gp;
    0x00122264 sw ra, 0x4c(sp)                           |     *(var_4ch) = ra;
    0x00122268 lw v0, (s4)                               |     v0 = *(s4);
    0x0012226c sw fp, 0x48(sp)                           |     *(var_48h) = fp;
    0x00122270 sw s7, 0x44(sp)                           |     *(var_44h) = s7;
    0x00122274 sw s6, 0x40(sp)                           |     *(var_40h) = s6;
    0x00122278 sw s5, 0x3c(sp)                           |     *(var_3ch) = s5;
    0x0012227c sw s3, 0x34(sp)                           |     *(var_34h) = s3;
    0x00122280 sw s2, 0x30(sp)                           |     *(var_30h) = s2;
    0x00122284 sw s1, 0x2c(sp)                           |     *(var_2ch) = s1;
    0x00122288 sw s0, 0x28(sp)                           |     *(var_28h) = s0;
    0x0012228c sw v0, 0x24(sp)                           |     *(var_24h) = v0;
                                                         |     if (a0 == 0) {
    0x00122290 beql a0, zero, 0x1223f4                   |         goto label_2;
                                                         |     }
    0x00122294 addiu v0, zero, -1                        |     v0 = -1;
    0x00122298 move s1, a2                               |     s1 = a2;
                                                         |     if (a2 != 0) {
    0x0012229c beqz a2, 0x122374                         |         
    0x001222a0 lbu v0, (a2)                              |         v0 = *(a2);
    0x001222a4 addiu v0, zero, -1                        |         v0 = -1;
                                                         |         if (v0 == 0) {
    0x001222a8 beqz v0, 0x1223f4                         |             goto label_2;
                                                         |         }
    0x001222ac move s0, a0                               |         s0 = a0;
    0x001222b0 move s3, a1                               |         s3 = a1;
    0x001222b4 move s5, a3                               |         s5 = a3;
                                                         |         if (a3 == 0) {
    0x001222b8 beqz a3, 0x12237c                         |             goto label_0;
                                                         |         }
    0x001222bc lw s6, -0x7fd8(gp)                        |         s6 = *((gp - 8182));
    0x001222c0 lw a0, -0x7fd4(gp)                        |         a0 = *(gp);
    0x001222c4 move t9, s6                               |         t9 = s6;
    0x001222c8 addiu a0, a0, 0x75ac                      |         a0 += 0x75ac;
    0x001222cc jalr t9                                   |         t9 ();
    0x001222d0 move s7, v0                               |         s7 = v0;
    0x001222d4 lw gp, 0x10(sp)                           |         gp = *(var_10h);
                                                         |         if (s3 != 0) {
    0x001222d8 beqz s3, 0x12230c                         |             
    0x001222dc lw s2, -0x7c28(gp)                        |             s2 = *((gp - 7946));
    0x001222e0 lw a1, -0x7f94(gp)                        |             a1 = *((gp - 8165));
    0x001222e4 move a0, v0                               |             a0 = v0;
    0x001222e8 move t9, s2                               |             t9 = s2;
    0x001222ec addiu a1, a1, 0x2790                      |             a1 += aav.0x00002790;
    0x001222f0 jalr t9                                   |             t9 ();
    0x001222f4 move a0, v0                               |             a0 = v0;
    0x001222f8 move t9, s2                               |             t9 = s2;
    0x001222fc move a1, s3                               |             a1 = s3;
    0x00122300 jalr t9                                   |             t9 ();
    0x00122304 lw gp, 0x10(sp)                           |             gp = *(var_10h);
    0x00122308 move s7, v0                               |             s7 = v0;
                                                         |         }
    0x0012230c lw s2, -0x72c0(gp)                        |         s2 = *(gp);
    0x00122310 lw a0, 4(s0)                              |         a0 = *((s0 + 1));
    0x00122314 move t9, s2                               |         t9 = s2;
    0x00122318 sw s7, 0x18(sp)                           |         *(var_18h_2) = s7;
    0x0012231c sw s5, 0x1c(sp)                           |         *(var_1ch_2) = s5;
    0x00122320 jalr t9                                   |         t9 ();
    0x00122324 lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x00122328 lw a0, 8(s0)                              |         a0 = *((s0 + 2));
    0x0012232c addiu a1, sp, 0x18                        |         a1 = sp + 0x18;
    0x00122330 lw t9, -0x762c(gp)                        |         t9 = *((gp - 7563));
    0x00122334 sw v0, 0x20(sp)                           |         *(var_20h_2) = v0;
    0x00122338 jalr t9                                   |         t9 ();
    0x0012233c move fp, v0                               |         fp = v0;
    0x00122340 lw gp, 0x10(sp)                           |         gp = *(var_10h);
                                                         |         if (v0 == 0) {
    0x00122344 beqz v0, 0x12243c                         |             goto label_3;
                                                         |         }
    0x00122348 lw s6, -0x7158(gp)                        |         s6 = *(gp);
    0x0012234c lw t9, (s6)                               |         t9 = *(s6);
    0x00122350 move a0, s7                               |         a0 = s7;
    0x00122354 jalr t9                                   |         t9 ();
    0x00122358 lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x0012235c lw a0, 4(fp)                              |         a0 = *(arg_4h);
    0x00122360 lw t9, -0x7a4c(gp)                        |         t9 = *((gp - 7827));
    0x00122364 move a1, s5                               |         a1 = s5;
    0x00122368 jalr t9                                   |         t9 ();
    0x0012236c lw gp, 0x10(sp)                           |         gp = *(var_10h);
                                                         |         if (v0 == 0) {
    0x00122370 beqz v0, 0x122380                         |             goto label_1;
                                                         |         }
                                                         |     }
    0x00122374 addiu v0, zero, -1                        |     v0 = -1;
    0x00122378 b 0x1223f4                                |     goto label_2;
                                                         | label_0:
    0x0012237c lw s6, -0x7158(gp)                        |     s6 = *(gp);
                                                         | label_1:
    0x00122380 lw t9, -0x7fd8(gp)                        |     t9 = *((gp - 8182));
                                                         |     if (s3 == 0) {
    0x00122384 beqz s3, 0x122430                         |         goto label_4;
                                                         |     }
    0x00122388 move a0, s3                               |     a0 = s3;
    0x0012238c jalr t9                                   |     t9 ();
    0x00122390 lw gp, 0x10(sp)                           |     gp = *(var_10h);
    0x00122394 move a0, v0                               |     a0 = v0;
    0x00122398 lw s2, -0x7c28(gp)                        |     s2 = *((gp - 7946));
    0x0012239c lw a1, -0x7f94(gp)                        |     a1 = *((gp - 8165));
    0x001223a0 move t9, s2                               |     t9 = s2;
    0x001223a4 addiu a1, a1, 0x2790                      |     a1 += aav.0x00002790;
    0x001223a8 jalr t9                                   |     t9 ();
    0x001223ac move a0, v0                               |     a0 = v0;
                                                         |     do {
    0x001223b0 move t9, s2                               |         t9 = s2;
    0x001223b4 move a1, s1                               |         a1 = s1;
    0x001223b8 jalr t9                                   |         t9 ();
    0x001223bc lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x001223c0 move a0, s0                               |         a0 = s0;
    0x001223c4 move a1, v0                               |         a1 = v0;
    0x001223c8 lw t9, -0x72b0(gp)                        |         t9 = *((gp - 7340));
    0x001223cc move s1, v0                               |         s1 = v0;
    0x001223d0 bal 0x1220cc                              |         sym_xmlTextWriterStartAttribute ();
    0x001223d4 lw t9, (s6)                               |         t9 = *(s6);
    0x001223d8 move s0, v0                               |         s0 = v0;
    0x001223dc move a0, s1                               |         a0 = s1;
    0x001223e0 jalr t9                                   |         t9 ();
    0x001223e4 slti v1, s0, 0                            |         v1 = (s0 < 0) ? 1 : 0;
    0x001223e8 addiu v0, zero, -1                        |         v0 = -1;
    0x001223ec lw gp, 0x10(sp)                           |         gp = *(var_10h);
                                                         |         if (v1 != 0) {
    0x001223f0 movz v0, s0, v1                           |             v0 = s0;
                                                         |         }
                                                         | label_2:
    0x001223f4 lw a0, 0x24(sp)                           |         a0 = *(var_24h);
    0x001223f8 lw v1, (s4)                               |         v1 = *(s4);
    0x001223fc lw ra, 0x4c(sp)                           |         ra = *(var_4ch);
                                                         |         if (a0 != v1) {
    0x00122400 bne a0, v1, 0x12250c                      |             goto label_5;
                                                         |         }
    0x00122404 lw fp, 0x48(sp)                           |         fp = *(var_48h);
    0x00122408 lw s7, 0x44(sp)                           |         s7 = *(var_44h);
    0x0012240c lw s6, 0x40(sp)                           |         s6 = *(var_40h);
    0x00122410 lw s5, 0x3c(sp)                           |         s5 = *(var_3ch);
    0x00122414 lw s4, 0x38(sp)                           |         s4 = *(var_38h);
    0x00122418 lw s3, 0x34(sp)                           |         s3 = *(var_34h);
    0x0012241c lw s2, 0x30(sp)                           |         s2 = *(var_30h);
    0x00122420 lw s1, 0x2c(sp)                           |         s1 = *(var_2ch);
    0x00122424 lw s0, 0x28(sp)                           |         s0 = *(var_28h);
    0x00122428 addiu sp, sp, 0x50                        |         
    0x0012242c jr ra                                     |         return v0;
                                                         | label_4:
    0x00122430 lw s2, -0x7c28(gp)                        |         s2 = *((gp - 7946));
    0x00122434 move a0, zero                             |         a0 = 0;
    0x00122438 b 0x1223b0                                |         
                                                         |     } while (1);
                                                         | label_3:
    0x0012243c lw v0, -0x716c(gp)                        |     v0 = *(gp);
                                                         |     if (s7 == 0) {
    0x00122440 beqz s7, 0x12237c                         |         goto label_0;
                                                         |     }
    0x00122444 lw t9, (v0)                               |     t9 = *(v0);
    0x00122448 addiu a0, zero, 0xc                       |     a0 = 0xc;
    0x0012244c jalr t9                                   |     t9 ();
    0x00122450 move fp, v0                               |     fp = v0;
    0x00122454 lw gp, 0x10(sp)                           |     gp = *(var_10h);
                                                         |     if (v0 != 0) {
    0x00122458 beqz v0, 0x1224e4                         |         
    0x0012245c sw s7, (v0)                               |         *(v0) = s7;
    0x00122460 move t9, s6                               |         t9 = s6;
    0x00122464 move a0, s5                               |         a0 = s5;
    0x00122468 jalr t9                                   |         t9 ();
    0x0012246c lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x00122470 sw v0, 4(fp)                              |         *(arg_4h) = v0;
                                                         |         if (v0 != 0) {
    0x00122474 beqz v0, 0x1224a8                         |             
    0x00122478 move t9, s2                               |             t9 = s2;
    0x0012247c lw s6, -0x7158(gp)                        |             s6 = *(gp);
    0x00122480 lw a0, 4(s0)                              |             a0 = *((s0 + 1));
    0x00122484 jalr t9                                   |             t9 ();
    0x00122488 lw gp, 0x10(sp)                           |             gp = *(var_10h);
    0x0012248c lw a0, 8(s0)                              |             a0 = *((s0 + 2));
    0x00122490 move a1, fp                               |             a1 = fp;
    0x00122494 lw t9, -0x72ac(gp)                        |             t9 = *(gp);
    0x00122498 sw v0, 8(fp)                              |             *(arg_8h) = v0;
    0x0012249c jalr t9                                   |             t9 ();
    0x001224a0 lw gp, 0x10(sp)                           |             gp = *(var_10h);
    0x001224a4 b 0x122380                                |             goto label_1;
                                                         |         }
    0x001224a8 lw a2, -0x7fb0(gp)                        |         a2 = *((gp - 8172));
    0x001224ac lw t9, -0x7398(gp)                        |         t9 = *((gp - 7398));
    0x001224b0 addiu a2, a2, 0x3428                      |         a2 += 0x3428;
    0x001224b4 addiu a1, zero, 2                         |         a1 = 2;
    0x001224b8 addiu t9, t9, 0xf9c                       |         t9 += aav.0x00000f9c;
    0x001224bc move a0, s0                               |         a0 = s0;
    0x001224c0 bal 0x120f9c                              |         fcn_00120f9c ();
    0x001224c4 lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x001224c8 lw v0, -0x7158(gp)                        |         v0 = *(gp);
    0x001224cc lw t9, (v0)                               |         t9 = *(v0);
    0x001224d0 move a0, fp                               |         a0 = fp;
    0x001224d4 jalr t9                                   |         t9 ();
    0x001224d8 lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x001224dc addiu v0, zero, -1                        |         v0 = -1;
    0x001224e0 b 0x1223f4                                |         goto label_2;
                                                         |     }
    0x001224e4 lw a2, -0x7fb0(gp)                        |     a2 = *((gp - 8172));
    0x001224e8 lw t9, -0x7398(gp)                        |     t9 = *((gp - 7398));
    0x001224ec addiu a2, a2, 0x3428                      |     a2 += 0x3428;
    0x001224f0 addiu a1, zero, 2                         |     a1 = 2;
    0x001224f4 addiu t9, t9, 0xf9c                       |     t9 += aav.0x00000f9c;
    0x001224f8 move a0, s0                               |     a0 = s0;
    0x001224fc bal 0x120f9c                              |     fcn_00120f9c ();
    0x00122500 lw gp, 0x10(sp)                           |     gp = *(var_10h);
    0x00122504 addiu v0, zero, -1                        |     v0 = -1;
    0x00122508 b 0x1223f4                                |     goto label_2;
                                                         | label_5:
    0x0012250c lw t9, -0x7074(gp)                        |     t9 = *((gp - 7197));
    0x00122510 jalr t9                                   |     t9 ();
    0x00122514 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 @ 0x125c44 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlTextWriterStartDTDEntity ()       | void xmlTextWriterStartDTDEntity () {
    0x00125c44 lui gp, 7                             |     
    0x00125c48 addiu gp, gp, -0x45d4                 |     
    0x00125c4c addu gp, gp, t9                       |     gp += t9;
                                                     |     if (a0 == 0) {
    0x00125c50 beqz a0, 0x125ed4                     |         goto label_5;
                                                     |     }
    0x00125c54 nop                                   |     
                                                     |     if (a2 == 0) {
    0x00125c58 beqz a2, 0x125ed4                     |         goto label_5;
                                                     |     }
    0x00125c5c nop                                   |     
    0x00125c60 lbu v0, (a2)                          |     v0 = *(a2);
                                                     |     if (v0 == 0) {
    0x00125c64 beqz v0, 0x125ed4                     |         goto label_5;
                                                     |     }
    0x00125c68 nop                                   |     
    0x00125c6c addiu sp, sp, -0x38                   |     
    0x00125c70 lw t9, -0x72c0(gp)                    |     t9 = *(gp);
    0x00125c74 sw s0, 0x1c(sp)                       |     *(var_1ch_2) = s0;
    0x00125c78 move s0, a0                           |     s0 = a0;
    0x00125c7c lw a0, 4(a0)                          |     a0 = *((a0 + 1));
    0x00125c80 sw gp, 0x10(sp)                       |     *(var_10h_2) = gp;
    0x00125c84 sw s4, 0x2c(sp)                       |     *(var_2ch) = s4;
    0x00125c88 sw s3, 0x28(sp)                       |     *(var_28h) = s3;
    0x00125c8c sw ra, 0x34(sp)                       |     *(var_34h) = ra;
    0x00125c90 sw s5, 0x30(sp)                       |     *(var_30h) = s5;
    0x00125c94 sw s2, 0x24(sp)                       |     *(var_24h_2) = s2;
    0x00125c98 sw s1, 0x20(sp)                       |     *(var_20h_2) = s1;
    0x00125c9c move s3, a2                           |     s3 = a2;
    0x00125ca0 move s4, a1                           |     s4 = a1;
    0x00125ca4 jalr t9                               |     t9 ();
    0x00125ca8 lw gp, 0x10(sp)                       |     gp = *(var_10h_2);
                                                     |     if (v0 == 0) {
    0x00125cac beqz v0, 0x125d10                     |         goto label_6;
                                                     |     }
    0x00125cb0 lw t9, -0x7a34(gp)                    |     t9 = *((gp - 7821));
    0x00125cb4 move a0, v0                           |     a0 = v0;
    0x00125cb8 jalr t9                               |     t9 ();
    0x00125cbc move s2, v0                           |     s2 = v0;
    0x00125cc0 lw gp, 0x10(sp)                       |     gp = *(var_10h_2);
                                                     |     if (v0 == 0) {
    0x00125cc4 beqz v0, 0x125d10                     |         goto label_6;
                                                     |     }
    0x00125cc8 lw v0, 4(v0)                          |     v0 = *((v0 + 1));
    0x00125ccc addiu v1, zero, 7                     |     v1 = 7;
    0x00125cd0 addiu v1, zero, 8                     |     v1 = 8;
                                                     |     if (v0 == v1) {
    0x00125cd4 beq v0, v1, 0x125e14                  |         goto label_7;
                                                     |     }
    0x00125cd8 move s1, zero                         |     s1 = 0;
                                                     |     if (v0 == v1) {
    0x00125cdc beq v0, v1, 0x125d14                  |         goto label_2;
                                                     |     }
    0x00125ce0 lw v0, -0x716c(gp)                    |     v0 = *(gp);
    0x00125ce4 beqz v0, 0x125d18                     |     
                                                     |     while (v0 < 0) {
                                                     | label_0:
    0x00125ce8 addiu v0, zero, -1                    |         v0 = -1;
                                                     | label_3:
    0x00125cec lw ra, 0x34(sp)                       |         ra = *(var_34h);
    0x00125cf0 lw s5, 0x30(sp)                       |         s5 = *(var_30h);
    0x00125cf4 lw s4, 0x2c(sp)                       |         s4 = *(var_2ch);
    0x00125cf8 lw s3, 0x28(sp)                       |         s3 = *(var_28h);
    0x00125cfc lw s2, 0x24(sp)                       |         s2 = *(var_24h_2);
    0x00125d00 lw s1, 0x20(sp)                       |         s1 = *(var_20h_2);
    0x00125d04 lw s0, 0x1c(sp)                       |         s0 = *(var_1ch_2);
    0x00125d08 addiu sp, sp, 0x38                    |         
    0x00125d0c jr ra                                 |         return v0;
                                                     | label_6:
    0x00125d10 move s1, zero                         |         s1 = 0;
                                                     | label_2:
    0x00125d14 lw v0, -0x716c(gp)                    |         v0 = *(gp);
    0x00125d18 lw t9, (v0)                           |         t9 = *(v0);
    0x00125d1c addiu a0, zero, 8                     |         a0 = 8;
    0x00125d20 jalr t9                               |         t9 ();
    0x00125d24 move s2, v0                           |         s2 = v0;
    0x00125d28 lw gp, 0x10(sp)                       |         gp = *(var_10h_2);
                                                     |         if (v0 == 0) {
    0x00125d2c beqz v0, 0x125e78                     |             goto label_8;
                                                     |         }
    0x00125d30 lw t9, -0x7fd8(gp)                    |         t9 = *((gp - 8182));
    0x00125d34 move a0, s3                           |         a0 = s3;
    0x00125d38 jalr t9                               |         t9 ();
    0x00125d3c lw gp, 0x10(sp)                       |         gp = *(var_10h_2);
    0x00125d40 sw v0, (s2)                           |         *(s2) = v0;
                                                     |         if (v0 == 0) {
    0x00125d44 beqz v0, 0x125e9c                     |             goto label_9;
                                                     |         }
    0x00125d48 addiu v1, zero, 0xf                   |         v1 = 0xf;
    0x00125d4c addiu v0, zero, 0xd                   |         v0 = 0xd;
                                                     |         if (s4 == 0) {
    0x00125d50 movn v0, v1, s4                       |             v0 = v1;
                                                     |         }
    0x00125d54 lw a0, 4(s0)                          |         a0 = *((s0 + 1));
    0x00125d58 lw t9, -0x72ac(gp)                    |         t9 = *(gp);
    0x00125d5c sw v0, 4(s2)                          |         *((s2 + 1)) = v0;
    0x00125d60 move a1, s2                           |         a1 = s2;
    0x00125d64 jalr t9                               |         t9 ();
    0x00125d68 lw v0, 0x10(s0)                       |         v0 = *((s0 + 4));
    0x00125d6c lw gp, 0x10(sp)                       |         gp = *(var_10h_2);
                                                     |         if (v0 == 0) {
    0x00125d70 beqz v0, 0x125d90                     |             goto label_10;
                                                     |         }
    0x00125d74 lw t9, -0x7398(gp)                    |         t9 = *((gp - 7398));
    0x00125d78 addiu t9, t9, 0xd88                   |         t9 += 0xd88;
    0x00125d7c move a0, s0                           |         a0 = s0;
    0x00125d80 bal 0x120d88                          |         fcn_00120d88 ();
    0x00125d84 lw gp, 0x10(sp)                       |         gp = *(var_10h_2);
    0x00125d88 bltz v0, 0x125ce8                     |         
                                                     |     }
    0x00125d8c addu s1, s1, v0                       |     s1 += v0;
                                                     | label_10:
    0x00125d90 lw s2, -0x796c(gp)                    |     s2 = *((gp - 7771));
    0x00125d94 lw a1, -0x7fd4(gp)                    |     a1 = *(gp);
    0x00125d98 lw a0, (s0)                           |     a0 = *(s0);
    0x00125d9c move t9, s2                           |     t9 = s2;
    0x00125da0 addiu a1, a1, 0x5fa0                  |     a1 += 0x5fa0;
    0x00125da4 jalr t9                               |     t9 ();
    0x00125da8 lw gp, 0x10(sp)                       |     gp = *(var_10h_2);
                                                     |     if (v0 < 0) {
    0x00125dac bltz v0, 0x125ce8                     |         goto label_0;
                                                     |     }
    0x00125db0 addu s1, s1, v0                       |     s1 += v0;
    0x00125db4 lw a0, (s0)                           |     a0 = *(s0);
                                                     |     if (s4 != 0) {
    0x00125db8 bnez s4, 0x125df4                     |         goto label_11;
                                                     |     }
                                                     | label_1:
    0x00125dbc move t9, s2                           |     t9 = s2;
    0x00125dc0 move a1, s3                           |     a1 = s3;
    0x00125dc4 jalr t9                               |     t9 ();
    0x00125dc8 addu v0, s1, v0                       |     v0 = s1 + v0;
                                                     |     if (v0 < 0) {
    0x00125dcc bltz v0, 0x125ce8                     |         goto label_0;
                                                     |     }
                                                     | label_4:
    0x00125dd0 lw ra, 0x34(sp)                       |     ra = *(var_34h);
    0x00125dd4 lw s5, 0x30(sp)                       |     s5 = *(var_30h);
    0x00125dd8 lw s4, 0x2c(sp)                       |     s4 = *(var_2ch);
    0x00125ddc lw s3, 0x28(sp)                       |     s3 = *(var_28h);
    0x00125de0 lw s2, 0x24(sp)                       |     s2 = *(var_24h_2);
    0x00125de4 lw s1, 0x20(sp)                       |     s1 = *(var_20h_2);
    0x00125de8 lw s0, 0x1c(sp)                       |     s0 = *(var_1ch_2);
    0x00125dec addiu sp, sp, 0x38                    |     
    0x00125df0 jr ra                                 |     return v0;
                                                     | label_11:
    0x00125df4 lw a1, -0x7fb0(gp)                    |     a1 = *((gp - 8172));
    0x00125df8 move t9, s2                           |     t9 = s2;
    0x00125dfc addiu a1, a1, 0x3790                  |     a1 += 0x3790;
    0x00125e00 jalr t9                               |     t9 ();
    0x00125e04 addu s1, s1, v0                       |     s1 += v0;
                                                     |     if (v0 < 0) {
    0x00125e08 bltz v0, 0x125ce8                     |         goto label_0;
                                                     |     }
    0x00125e0c lw a0, (s0)                           |     a0 = *(s0);
    0x00125e10 b 0x125dbc                            |     goto label_1;
                                                     | label_7:
    0x00125e14 lw s5, -0x796c(gp)                    |     s5 = *((gp - 7771));
    0x00125e18 lw a1, -0x7fb0(gp)                    |     a1 = *((gp - 8172));
    0x00125e1c lw a0, (s0)                           |     a0 = *(s0);
    0x00125e20 move t9, s5                           |     t9 = s5;
    0x00125e24 addiu a1, a1, 0x372c                  |     a1 += 0x372c;
    0x00125e28 jalr t9                               |     t9 ();
    0x00125e2c move s1, v0                           |     s1 = v0;
    0x00125e30 lw gp, 0x10(sp)                       |     gp = *(var_10h_2);
                                                     |     if (v0 < 0) {
    0x00125e34 bltz v0, 0x125ce8                     |         goto label_0;
                                                     |     }
    0x00125e38 lw v0, 0x10(s0)                       |     v0 = *((s0 + 4));
    0x00125e3c addiu v0, zero, 8                     |     v0 = 8;
                                                     |     if (v0 == 0) {
    0x00125e40 bnez v0, 0x125e4c                     |         
    0x00125e44 sw v0, 4(s2)                          |         *((s2 + 1)) = v0;
    0x00125e48 b 0x125d14                            |         goto label_2;
                                                     |     }
    0x00125e4c lw a1, -0x7f94(gp)                    |     a1 = *((gp - 8165));
    0x00125e50 lw a0, (s0)                           |     a0 = *(s0);
    0x00125e54 move t9, s5                           |     t9 = s5;
    0x00125e58 addiu a1, a1, 0x251c                  |     a1 += 0x251c;
    0x00125e5c jalr t9                               |     t9 ();
    0x00125e60 lw gp, 0x10(sp)                       |     gp = *(var_10h_2);
                                                     |     if (v0 < 0) {
    0x00125e64 bltz v0, 0x125ce8                     |         goto label_0;
                                                     |     }
    0x00125e68 addu s1, s1, v0                       |     s1 += v0;
    0x00125e6c addiu v0, zero, 8                     |     v0 = 8;
    0x00125e70 sw v0, 4(s2)                          |     *((s2 + 1)) = v0;
    0x00125e74 b 0x125d14                            |     goto label_2;
                                                     | label_8:
    0x00125e78 lw a2, -0x7fb0(gp)                    |     a2 = *((gp - 8172));
    0x00125e7c lw t9, -0x7398(gp)                    |     t9 = *((gp - 7398));
    0x00125e80 addiu a2, a2, 0x3730                  |     a2 += 0x3730;
    0x00125e84 addiu a1, zero, 2                     |     a1 = 2;
    0x00125e88 addiu t9, t9, 0xf9c                   |     t9 += aav.0x00000f9c;
    0x00125e8c move a0, s0                           |     a0 = s0;
    0x00125e90 bal 0x120f9c                          |     fcn_00120f9c ();
    0x00125e94 addiu v0, zero, -1                    |     v0 = -1;
    0x00125e98 b 0x125cec                            |     goto label_3;
                                                     | label_9:
    0x00125e9c lw a2, -0x7fb0(gp)                    |     a2 = *((gp - 8172));
    0x00125ea0 lw t9, -0x7398(gp)                    |     t9 = *((gp - 7398));
    0x00125ea4 addiu a2, a2, 0x3730                  |     a2 += 0x3730;
    0x00125ea8 addiu a1, zero, 2                     |     a1 = 2;
    0x00125eac addiu t9, t9, 0xf9c                   |     t9 += aav.0x00000f9c;
    0x00125eb0 move a0, s0                           |     a0 = s0;
    0x00125eb4 bal 0x120f9c                          |     fcn_00120f9c ();
    0x00125eb8 lw gp, 0x10(sp)                       |     gp = *(var_10h_2);
    0x00125ebc lw v0, -0x7158(gp)                    |     v0 = *(gp);
    0x00125ec0 lw t9, (v0)                           |     t9 = *(v0);
    0x00125ec4 move a0, s2                           |     a0 = s2;
    0x00125ec8 jalr t9                               |     t9 ();
    0x00125ecc addiu v0, zero, -1                    |     v0 = -1;
    0x00125ed0 b 0x125dd0                            |     goto label_4;
                                                     | label_5:
    0x00125ed4 addiu v0, zero, -1                    |     v0 = -1;
    0x00125ed8 jr ra                                 |     return v0;
                                                     | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x121bac */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlTextWriterStartDocument ()        | void xmlTextWriterStartDocument () {
    0x00121bac lui gp, 7                             |     
    0x00121bb0 addiu gp, gp, -0x53c                  |     
    0x00121bb4 addu gp, gp, t9                       |     gp += t9;
    0x00121bb8 addiu sp, sp, -0x38                   |     
    0x00121bbc sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x00121bc0 sw s0, 0x18(sp)                       |     *(var_18h) = s0;
    0x00121bc4 sw ra, 0x34(sp)                       |     *(var_34h) = ra;
    0x00121bc8 sw s6, 0x30(sp)                       |     *(var_30h) = s6;
    0x00121bcc sw s5, 0x2c(sp)                       |     *(var_2ch) = s5;
    0x00121bd0 sw s4, 0x28(sp)                       |     *(var_28h) = s4;
    0x00121bd4 sw s3, 0x24(sp)                       |     *(var_24h) = s3;
    0x00121bd8 sw s2, 0x20(sp)                       |     *(var_20h) = s2;
    0x00121bdc sw s1, 0x1c(sp)                       |     *(var_1ch) = s1;
    0x00121be0 move s0, a0                           |     s0 = a0;
                                                     |     if (a0 == 0) {
    0x00121be4 beqz a0, 0x121e60                     |         goto label_4;
                                                     |     }
    0x00121be8 lw v0, (a0)                           |     v0 = *(a0);
    0x00121bec lw t9, -0x72c0(gp)                    |     t9 = *(gp);
                                                     |     if (v0 == 0) {
    0x00121bf0 beqz v0, 0x121e60                     |         goto label_4;
                                                     |     }
    0x00121bf4 lw a0, 4(a0)                          |     a0 = *((a0 + 1));
    0x00121bf8 move s6, a1                           |     s6 = a1;
    0x00121bfc move s1, a2                           |     s1 = a2;
    0x00121c00 move s5, a3                           |     s5 = a3;
    0x00121c04 jalr t9                               |     t9 ();
    0x00121c08 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 != 0) {
    0x00121c0c beqz v0, 0x121c24                     |         
    0x00121c10 lw t9, -0x7a34(gp)                    |         t9 = *((gp - 7821));
    0x00121c14 move a0, v0                           |         a0 = v0;
    0x00121c18 jalr t9                               |         t9 ();
    0x00121c1c lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v0 != 0) {
    0x00121c20 bnez v0, 0x121ee4                     |             goto label_5;
                                                     |         }
                                                     |     }
    0x00121c24 lw t9, -0x7f58(gp)                    |     t9 = *((gp - 8150));
                                                     |     if (s1 == 0) {
    0x00121c28 beqz s1, 0x121e38                     |         goto label_6;
                                                     |     }
    0x00121c2c move a0, s1                           |     a0 = s1;
    0x00121c30 jalr t9                               |     t9 ();
    0x00121c34 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 == 0) {
    0x00121c38 beqz v0, 0x121ef4                     |         goto label_7;
                                                     |     }
    0x00121c3c lw s1, (s0)                           |     s1 = *(s0);
    0x00121c40 lw v1, 0x14(s1)                       |     v1 = *((s1 + 5));
    0x00121c44 sw v0, 0xc(s1)                        |     *((s1 + 3)) = v0;
                                                     |     if (v1 == 0) {
    0x00121c48 beqz v1, 0x121ea8                     |         goto label_8;
                                                     |     }
                                                     | label_2:
    0x00121c4c lw t9, -0x6e20(gp)                    |     t9 = *((gp - 7048));
    0x00121c50 move a0, s1                           |     a0 = s1;
    0x00121c54 addiu a1, zero, 1                     |     a1 = 1;
    0x00121c58 jalr t9                               |     t9 ();
    0x00121c5c lw s1, 0x28(s0)                       |     s1 = *((s0 + 10));
    0x00121c60 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (s1 == 0) {
    0x00121c64 beqz s1, 0x121e30                     |         goto label_9;
                                                     |     }
    0x00121c68 lw v0, 0x3c(s1)                       |     v0 = *((s1 + 15));
    0x00121c6c lw a0, (s0)                           |     a0 = *(s0);
                                                     |     if (v0 == 0) {
    0x00121c70 beqz v0, 0x121ec4                     |         goto label_10;
                                                     |     }
                                                     |     do {
                                                     | label_0:
    0x00121c74 lw s2, -0x796c(gp)                    |         s2 = *((gp - 7771));
    0x00121c78 lw a1, -0x7fb0(gp)                    |         a1 = *((gp - 8172));
    0x00121c7c move t9, s2                           |         t9 = s2;
    0x00121c80 addiu a1, a1, 0x3398                  |         a1 += aav.0x00003398;
    0x00121c84 jalr t9                               |         t9 ();
    0x00121c88 move s1, v0                           |         s1 = v0;
    0x00121c8c lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v0 < 0) {
    0x00121c90 bltz v0, 0x121e7c                     |             goto label_11;
                                                     |         }
    0x00121c94 lw s3, -0x72bc(gp)                    |         s3 = *(gp);
    0x00121c98 addiu s4, s0, 0x1c                    |         s4 = s0 + 0x1c;
    0x00121c9c lw a0, (s0)                           |         a0 = *(s0);
    0x00121ca0 move a2, s4                           |         a2 = s4;
    0x00121ca4 move t9, s3                           |         t9 = s3;
    0x00121ca8 addiu a1, zero, 1                     |         a1 = 1;
    0x00121cac jalr t9                               |         t9 ();
    0x00121cb0 lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v0 < 0) {
    0x00121cb4 bltz v0, 0x121e7c                     |             goto label_11;
                                                     |         }
    0x00121cb8 addu s1, s1, v0                       |         s1 += v0;
    0x00121cbc lw a0, (s0)                           |         a0 = *(s0);
                                                     |         if (s6 == 0) {
    0x00121cc0 beqz s6, 0x121e48                     |             goto label_12;
                                                     |         }
    0x00121cc4 move t9, s2                           |         t9 = s2;
    0x00121cc8 move a1, s6                           |         a1 = s6;
    0x00121ccc jalr t9                               |         t9 ();
                                                     | label_1:
    0x00121cd0 move a2, s4                           |         a2 = s4;
                                                     |         if (v0 < 0) {
    0x00121cd4 bltz v0, 0x121e7c                     |             goto label_11;
                                                     |         }
    0x00121cd8 lw a0, (s0)                           |         a0 = *(s0);
    0x00121cdc addiu a1, zero, 1                     |         a1 = 1;
    0x00121ce0 move t9, s3                           |         t9 = s3;
    0x00121ce4 addu s1, v0, s1                       |         s1 = v0 + s1;
    0x00121ce8 jalr t9                               |         t9 ();
    0x00121cec lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v0 < 0) {
    0x00121cf0 bltz v0, 0x121e7c                     |             goto label_11;
                                                     |         }
    0x00121cf4 lw a0, (s0)                           |         a0 = *(s0);
    0x00121cf8 addu s1, s1, v0                       |         s1 += v0;
    0x00121cfc lw v0, 0xc(a0)                        |         v0 = *((a0 + 3));
    0x00121d00 lw a1, -0x7fb0(gp)                    |         a1 = *((gp - 8172));
                                                     |         if (v0 != 0) {
    0x00121d04 beqz v0, 0x121d7c                     |             
    0x00121d08 move t9, s2                           |             t9 = s2;
    0x00121d0c addiu a1, a1, 0x33a8                  |             a1 += 0x33a8;
    0x00121d10 jalr t9                               |             t9 ();
    0x00121d14 move a2, s4                           |             a2 = s4;
                                                     |             if (v0 < 0) {
    0x00121d18 bltz v0, 0x121e7c                     |                 goto label_11;
                                                     |             }
    0x00121d1c lw a0, (s0)                           |             a0 = *(s0);
    0x00121d20 addiu a1, zero, 1                     |             a1 = 1;
    0x00121d24 move t9, s3                           |             t9 = s3;
    0x00121d28 addu s1, s1, v0                       |             s1 += v0;
    0x00121d2c jalr t9                               |             t9 ();
    0x00121d30 addu s1, s1, v0                       |             s1 += v0;
                                                     |             if (v0 < 0) {
    0x00121d34 bltz v0, 0x121e7c                     |                 goto label_11;
                                                     |             }
    0x00121d38 lw v1, (s0)                           |             v1 = *(s0);
    0x00121d3c move a0, v1                           |             a0 = v1;
    0x00121d40 lw v0, 0xc(v1)                        |             v0 = *((v1 + 3));
    0x00121d44 move t9, s2                           |             t9 = s2;
    0x00121d48 lw a1, (v0)                           |             a1 = *(v0);
    0x00121d4c jalr t9                               |             t9 ();
    0x00121d50 move a2, s4                           |             a2 = s4;
                                                     |             if (v0 < 0) {
    0x00121d54 bltz v0, 0x121e7c                     |                 goto label_11;
                                                     |             }
    0x00121d58 lw a0, (s0)                           |             a0 = *(s0);
    0x00121d5c addiu a1, zero, 1                     |             a1 = 1;
    0x00121d60 move t9, s3                           |             t9 = s3;
    0x00121d64 addu s1, s1, v0                       |             s1 += v0;
    0x00121d68 jalr t9                               |             t9 ();
    0x00121d6c lw gp, 0x10(sp)                       |             gp = *(var_10h);
                                                     |             if (v0 < 0) {
    0x00121d70 bltz v0, 0x121e7c                     |                 goto label_11;
                                                     |             }
    0x00121d74 lw a0, (s0)                           |             a0 = *(s0);
    0x00121d78 addu s1, s1, v0                       |             s1 += v0;
                                                     |         }
    0x00121d7c move t9, s2                           |         t9 = s2;
                                                     |         if (s5 != 0) {
    0x00121d80 beqz s5, 0x121df0                     |             
    0x00121d84 lw a1, -0x7fb0(gp)                    |             a1 = *((gp - 8172));
    0x00121d88 addiu a1, a1, 0x33b4                  |             a1 += 0x33b4;
    0x00121d8c jalr t9                               |             t9 ();
    0x00121d90 move a2, s4                           |             a2 = s4;
                                                     |             if (v0 < 0) {
    0x00121d94 bltz v0, 0x121e7c                     |                 goto label_11;
                                                     |             }
    0x00121d98 lw a0, (s0)                           |             a0 = *(s0);
    0x00121d9c addiu a1, zero, 1                     |             a1 = 1;
    0x00121da0 move t9, s3                           |             t9 = s3;
    0x00121da4 addu s1, s1, v0                       |             s1 += v0;
    0x00121da8 jalr t9                               |             t9 ();
    0x00121dac move a1, s5                           |             a1 = s5;
                                                     |             if (v0 < 0) {
    0x00121db0 bltz v0, 0x121e7c                     |                 goto label_11;
                                                     |             }
    0x00121db4 lw a0, (s0)                           |             a0 = *(s0);
    0x00121db8 move t9, s2                           |             t9 = s2;
    0x00121dbc addu s1, s1, v0                       |             s1 += v0;
    0x00121dc0 jalr t9                               |             t9 ();
    0x00121dc4 move a2, s4                           |             a2 = s4;
                                                     |             if (v0 < 0) {
    0x00121dc8 bltz v0, 0x121e7c                     |                 goto label_11;
                                                     |             }
    0x00121dcc lw a0, (s0)                           |             a0 = *(s0);
    0x00121dd0 addiu a1, zero, 1                     |             a1 = 1;
    0x00121dd4 move t9, s3                           |             t9 = s3;
    0x00121dd8 addu s1, s1, v0                       |             s1 += v0;
    0x00121ddc jalr t9                               |             t9 ();
    0x00121de0 lw gp, 0x10(sp)                       |             gp = *(var_10h);
                                                     |             if (v0 < 0) {
    0x00121de4 bltz v0, 0x121e7c                     |                 goto label_11;
                                                     |             }
    0x00121de8 lw a0, (s0)                           |             a0 = *(s0);
    0x00121dec addu s1, s1, v0                       |             s1 += v0;
                                                     |         }
    0x00121df0 lw a1, -0x7f94(gp)                    |         a1 = *((gp - 8165));
    0x00121df4 move t9, s2                           |         t9 = s2;
    0x00121df8 addiu a1, a1, 0x34a0                  |         a1 += 0x34a0;
    0x00121dfc jalr t9                               |         t9 ();
    0x00121e00 lw ra, 0x34(sp)                       |         ra = *(var_34h);
                                                     |         if (v0 < 0) {
    0x00121e04 bltz v0, 0x121e7c                     |             goto label_11;
                                                     |         }
    0x00121e08 addu v0, s1, v0                       |         v0 = s1 + v0;
    0x00121e0c lw s6, 0x30(sp)                       |         s6 = *(var_30h);
    0x00121e10 lw s5, 0x2c(sp)                       |         s5 = *(var_2ch);
    0x00121e14 lw s4, 0x28(sp)                       |         s4 = *(var_28h);
    0x00121e18 lw s3, 0x24(sp)                       |         s3 = *(var_24h);
    0x00121e1c lw s2, 0x20(sp)                       |         s2 = *(var_20h);
    0x00121e20 lw s1, 0x1c(sp)                       |         s1 = *(var_1ch);
    0x00121e24 lw s0, 0x18(sp)                       |         s0 = *(var_18h);
    0x00121e28 addiu sp, sp, 0x38                    |         
    0x00121e2c jr ra                                 |         return v0;
                                                     | label_9:
    0x00121e30 lw a0, (s0)                           |         a0 = *(s0);
    0x00121e34 b 0x121c74                            |         
                                                     |     } while (1);
                                                     | label_6:
    0x00121e38 lw a0, (s0)                           |     a0 = *(s0);
    0x00121e3c sw zero, 0xc(a0)                      |     *((a0 + 3)) = 0;
    0x00121e40 sw zero, 0x14(a0)                     |     *((a0 + 5)) = 0;
    0x00121e44 b 0x121c74                            |     goto label_0;
                                                     | label_12:
    0x00121e48 lw a1, -0x7fb0(gp)                    |     a1 = *((gp - 8172));
    0x00121e4c move t9, s2                           |     t9 = s2;
    0x00121e50 addiu a1, a1, 0xed8                   |     a1 += 0xed8;
    0x00121e54 jalr t9                               |     t9 ();
    0x00121e58 b 0x121cd0                            |     goto label_1;
    0x00121e5c nop                                   |     
                                                     | label_4:
    0x00121e60 lw a2, -0x7fb0(gp)                    |     a2 = *((gp - 8172));
    0x00121e64 addiu a1, zero, 1                     |     a1 = 1;
    0x00121e68 addiu a2, a2, 0x32fc                  |     a2 += aav.0x000032fc;
                                                     |     do {
                                                     | label_3:
    0x00121e6c lw t9, -0x7398(gp)                    |         t9 = *((gp - 7398));
    0x00121e70 addiu t9, t9, 0xf9c                   |         t9 += aav.0x00000f9c;
    0x00121e74 move a0, s0                           |         a0 = s0;
    0x00121e78 bal 0x120f9c                          |         fcn_00120f9c ();
                                                     | label_11:
    0x00121e7c lw ra, 0x34(sp)                       |         ra = *(var_34h);
    0x00121e80 lw s6, 0x30(sp)                       |         s6 = *(var_30h);
    0x00121e84 lw s5, 0x2c(sp)                       |         s5 = *(var_2ch);
    0x00121e88 lw s4, 0x28(sp)                       |         s4 = *(var_28h);
    0x00121e8c lw s3, 0x24(sp)                       |         s3 = *(var_24h);
    0x00121e90 lw s2, 0x20(sp)                       |         s2 = *(var_20h);
    0x00121e94 lw s1, 0x1c(sp)                       |         s1 = *(var_1ch);
    0x00121e98 lw s0, 0x18(sp)                       |         s0 = *(var_18h);
    0x00121e9c addiu v0, zero, -1                    |         v0 = -1;
    0x00121ea0 addiu sp, sp, 0x38                    |         
    0x00121ea4 jr ra                                 |         return v0;
                                                     | label_8:
    0x00121ea8 lw t9, -0x6f2c(gp)                    |         t9 = *((gp - 7115));
    0x00121eac addiu a0, zero, 0xfa0                 |         a0 = 0xfa0;
    0x00121eb0 jalr t9                               |         t9 ();
    0x00121eb4 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00121eb8 sw v0, 0x14(s1)                       |         *((s1 + 5)) = v0;
    0x00121ebc lw s1, (s0)                           |         s1 = *(s0);
    0x00121ec0 b 0x121c4c                            |         goto label_2;
                                                     | label_10:
    0x00121ec4 lw v0, 0xc(a0)                        |         v0 = *((a0 + 3));
    0x00121ec8 lw t9, -0x7fd8(gp)                    |         t9 = *((gp - 8182));
    0x00121ecc lw a0, (v0)                           |         a0 = *(v0);
    0x00121ed0 jalr t9                               |         t9 ();
    0x00121ed4 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00121ed8 lw a0, (s0)                           |         a0 = *(s0);
    0x00121edc sw v0, 0x3c(s1)                       |         *((s1 + 15)) = v0;
    0x00121ee0 b 0x121c74                            |         goto label_0;
                                                     | label_5:
    0x00121ee4 lw a2, -0x7fb0(gp)                    |         a2 = *((gp - 8172));
    0x00121ee8 addiu a1, zero, 1                     |         a1 = 1;
    0x00121eec addiu a2, a2, 0x332c                  |         a2 += aav.0x0000332c;
    0x00121ef0 b 0x121e6c                            |         
                                                     |     } while (1);
                                                     | label_7:
    0x00121ef4 lw a2, -0x7fb0(gp)                    |     a2 = *((gp - 8172));
    0x00121ef8 addiu a1, zero, 2                     |     a1 = 2;
    0x00121efc addiu a2, a2, 0x3368                  |     a2 += aav.0x00003368;
    0x00121f00 b 0x121e6c                            |     goto label_3;
                                                     | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x122918 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlTextWriterStartElement ()         | void xmlTextWriterStartElement () {
    0x00122918 lui gp, 7                             |     
    0x0012291c addiu gp, gp, -0x12a8                 |     
    0x00122920 addu gp, gp, t9                       |     gp += t9;
                                                     |     if (a0 == 0) {
    0x00122924 beqz a0, 0x122ba4                     |         goto label_4;
                                                     |     }
    0x00122928 nop                                   |     
                                                     |     if (a1 == 0) {
    0x0012292c beqz a1, 0x122ba4                     |         goto label_4;
                                                     |     }
    0x00122930 nop                                   |     
    0x00122934 lbu v0, (a1)                          |     v0 = *(a1);
                                                     |     if (v0 == 0) {
    0x00122938 beqz v0, 0x122ba4                     |         goto label_4;
                                                     |     }
    0x0012293c nop                                   |     
    0x00122940 addiu sp, sp, -0x30                   |     
    0x00122944 lw t9, -0x72c0(gp)                    |     t9 = *(gp);
    0x00122948 sw s0, 0x18(sp)                       |     *(var_18h) = s0;
    0x0012294c move s0, a0                           |     s0 = a0;
    0x00122950 lw a0, 4(a0)                          |     a0 = *((a0 + 1));
    0x00122954 sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x00122958 sw s3, 0x24(sp)                       |     *(var_24h) = s3;
    0x0012295c sw ra, 0x2c(sp)                       |     *(var_2ch) = ra;
    0x00122960 sw s4, 0x28(sp)                       |     *(var_28h) = s4;
    0x00122964 sw s2, 0x20(sp)                       |     *(var_20h) = s2;
    0x00122968 sw s1, 0x1c(sp)                       |     *(var_1ch) = s1;
    0x0012296c move s3, a1                           |     s3 = a1;
    0x00122970 jalr t9                               |     t9 ();
    0x00122974 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 != 0) {
    0x00122978 beqz v0, 0x122a18                     |         
    0x0012297c lw t9, -0x7a34(gp)                    |         t9 = *((gp - 7821));
    0x00122980 move a0, v0                           |         a0 = v0;
    0x00122984 jalr t9                               |         t9 ();
    0x00122988 move s2, v0                           |         s2 = v0;
    0x0012298c lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v0 == 0) {
    0x00122990 beqz v0, 0x122a18                     |             goto label_5;
                                                     |         }
    0x00122994 lw v0, 4(v0)                          |         v0 = *((v0 + 1));
    0x00122998 addiu v1, zero, 2                     |         v1 = 2;
    0x0012299c sltiu v1, v0, 3                       |         v1 = (v0 < 3) ? 1 : 0;
                                                     |         if (v0 == v1) {
    0x001229a0 beq v0, v1, 0x122b4c                  |             goto label_6;
                                                     |         }
                                                     |         if (v1 != 0) {
    0x001229a4 beql v1, zero, 0x122a0c               |             
    0x001229a8 addiu v0, v0, -4                      |             v0 += -4;
    0x001229ac addiu v1, zero, 1                     |             v1 = 1;
    0x001229b0 move s1, zero                         |             s1 = 0;
                                                     |             if (v0 != v1) {
    0x001229b4 bne v0, v1, 0x122a1c                  |                 goto label_0;
                                                     |             }
                                                     | label_1:
    0x001229b8 lw t9, -0x7398(gp)                    |             t9 = *((gp - 7398));
    0x001229bc addiu t9, t9, 0x25ac                  |             t9 += 0x25ac;
    0x001229c0 move a0, s0                           |             a0 = s0;
    0x001229c4 bal 0x1225ac                          |             fcn_001225ac ();
    0x001229c8 lw gp, 0x10(sp)                       |             gp = *(var_10h);
                                                     |             if (v0 < 0) {
    0x001229cc bltz v0, 0x122ae8                     |                 goto label_7;
                                                     |             }
    0x001229d0 lw s4, -0x796c(gp)                    |             s4 = *((gp - 7771));
    0x001229d4 lw a1, -0x7f94(gp)                    |             a1 = *((gp - 8165));
    0x001229d8 lw a0, (s0)                           |             a0 = *(s0);
    0x001229dc addiu a1, a1, -0x411c                 |             a1 += -0x411c;
    0x001229e0 move t9, s4                           |             t9 = s4;
    0x001229e4 addu s1, s1, v0                       |             s1 += v0;
    0x001229e8 jalr t9                               |             t9 ();
    0x001229ec lw gp, 0x10(sp)                       |             gp = *(var_10h);
                                                     |             if (v0 < 0) {
    0x001229f0 bltz v0, 0x122ae8                     |                 goto label_7;
                                                     |             }
    0x001229f4 lw v1, 0x10(s0)                       |             v1 = *((s0 + 4));
    0x001229f8 addu s1, s1, v0                       |             s1 += v0;
                                                     |             if (v1 != 0) {
    0x001229fc bnez v1, 0x122b28                     |                 goto label_8;
                                                     |             }
    0x00122a00 addiu v0, zero, 3                     |             v0 = 3;
    0x00122a04 sw v0, 4(s2)                          |             *((s2 + 1)) = v0;
    0x00122a08 b 0x122a1c                            |             goto label_0;
                                                     |         }
    0x00122a0c sltiu v0, v0, 2                       |         v0 = (v0 < 2) ? 1 : 0;
    0x00122a10 addiu v0, zero, -1                    |         v0 = -1;
                                                     |         if (v0 != 0) {
    0x00122a14 bnez v0, 0x122aec                     |             goto label_2;
                                                     |         }
                                                     |     }
                                                     | label_5:
    0x00122a18 move s1, zero                         |     s1 = 0;
                                                     | label_0:
    0x00122a1c lw v0, -0x716c(gp)                    |     v0 = *(gp);
    0x00122a20 lw t9, (v0)                           |     t9 = *(v0);
    0x00122a24 addiu a0, zero, 8                     |     a0 = 8;
    0x00122a28 jalr t9                               |     t9 ();
    0x00122a2c move s2, v0                           |     s2 = v0;
    0x00122a30 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 == 0) {
    0x00122a34 beqz v0, 0x122acc                     |         goto label_9;
                                                     |     }
    0x00122a38 lw t9, -0x7fd8(gp)                    |     t9 = *((gp - 8182));
    0x00122a3c move a0, s3                           |     a0 = s3;
    0x00122a40 jalr t9                               |     t9 ();
    0x00122a44 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00122a48 sw v0, (s2)                           |     *(s2) = v0;
                                                     |     if (v0 == 0) {
    0x00122a4c beqz v0, 0x122b6c                     |         goto label_10;
                                                     |     }
    0x00122a50 lw a0, 4(s0)                          |     a0 = *((s0 + 1));
    0x00122a54 addiu v0, zero, 1                     |     v0 = 1;
    0x00122a58 lw t9, -0x72ac(gp)                    |     t9 = *(gp);
    0x00122a5c sw v0, 4(s2)                          |     *((s2 + 1)) = v0;
    0x00122a60 move a1, s2                           |     a1 = s2;
    0x00122a64 jalr t9                               |     t9 ();
    0x00122a68 lw v0, 0x10(s0)                       |     v0 = *((s0 + 4));
    0x00122a6c lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00122a70 bnez v0, 0x122b0c                     |     
                                                     |     while (1) {
    0x00122a74 lw s3, -0x796c(gp)                    |         s3 = *((gp - 7771));
    0x00122a78 lw a1, -0x7fd4(gp)                    |         a1 = *(gp);
    0x00122a7c lw a0, (s0)                           |         a0 = *(s0);
    0x00122a80 move t9, s3                           |         t9 = s3;
    0x00122a84 addiu a1, a1, 0x612c                  |         a1 += 0x612c;
    0x00122a88 jalr t9                               |         t9 ();
    0x00122a8c move t9, s3                           |         t9 = s3;
                                                     |         if (v0 >= 0) {
    0x00122a90 bltz v0, 0x122ae8                     |             
    0x00122a94 lw a1, (s2)                           |             a1 = *(s2);
    0x00122a98 lw a0, (s0)                           |             a0 = *(s0);
    0x00122a9c addu s1, s1, v0                       |             s1 += v0;
    0x00122aa0 jalr t9                               |             t9 ();
    0x00122aa4 addu v0, s1, v0                       |             v0 = s1 + v0;
                                                     |             if (v0 < 0) {
    0x00122aa8 bltz v0, 0x122ae8                     |                 goto label_7;
                                                     |             }
                                                     | label_3:
    0x00122aac lw ra, 0x2c(sp)                       |             ra = *(var_2ch);
    0x00122ab0 lw s4, 0x28(sp)                       |             s4 = *(var_28h);
    0x00122ab4 lw s3, 0x24(sp)                       |             s3 = *(var_24h);
    0x00122ab8 lw s2, 0x20(sp)                       |             s2 = *(var_20h);
    0x00122abc lw s1, 0x1c(sp)                       |             s1 = *(var_1ch);
    0x00122ac0 lw s0, 0x18(sp)                       |             s0 = *(var_18h);
    0x00122ac4 addiu sp, sp, 0x30                    |             
    0x00122ac8 jr ra                                 |             return v0;
                                                     | label_9:
    0x00122acc lw a2, -0x7fb0(gp)                    |             a2 = *((gp - 8172));
    0x00122ad0 lw t9, -0x7398(gp)                    |             t9 = *((gp - 7398));
    0x00122ad4 addiu a2, a2, 0x3488                  |             a2 += aav.0x00003488;
    0x00122ad8 addiu a1, zero, 2                     |             a1 = 2;
    0x00122adc addiu t9, t9, 0xf9c                   |             t9 += aav.0x00000f9c;
    0x00122ae0 move a0, s0                           |             a0 = s0;
    0x00122ae4 bal 0x120f9c                          |             fcn_00120f9c ();
                                                     |         }
                                                     | label_7:
    0x00122ae8 addiu v0, zero, -1                    |         v0 = -1;
                                                     | label_2:
    0x00122aec lw ra, 0x2c(sp)                       |         ra = *(var_2ch);
    0x00122af0 lw s4, 0x28(sp)                       |         s4 = *(var_28h);
    0x00122af4 lw s3, 0x24(sp)                       |         s3 = *(var_24h);
    0x00122af8 lw s2, 0x20(sp)                       |         s2 = *(var_20h);
    0x00122afc lw s1, 0x1c(sp)                       |         s1 = *(var_1ch);
    0x00122b00 lw s0, 0x18(sp)                       |         s0 = *(var_18h);
    0x00122b04 addiu sp, sp, 0x30                    |         
    0x00122b08 jr ra                                 |         return v0;
    0x00122b0c lw t9, -0x7398(gp)                    |         t9 = *((gp - 7398));
    0x00122b10 addiu t9, t9, 0xd88                   |         t9 += 0xd88;
    0x00122b14 move a0, s0                           |         a0 = s0;
    0x00122b18 bal 0x120d88                          |         fcn_00120d88 ();
    0x00122b1c addu s1, s1, v0                       |         s1 += v0;
    0x00122b20 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00122b24 b 0x122a74                            |         
                                                     |     }
                                                     | label_8:
    0x00122b28 lw a1, -0x7f94(gp)                    |     a1 = *((gp - 8165));
    0x00122b2c lw a0, (s0)                           |     a0 = *(s0);
    0x00122b30 move t9, s4                           |     t9 = s4;
    0x00122b34 addiu a1, a1, 0x251c                  |     a1 += 0x251c;
    0x00122b38 jalr t9                               |     t9 ();
    0x00122b3c addiu v0, zero, 3                     |     v0 = 3;
    0x00122b40 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00122b44 sw v0, 4(s2)                          |     *((s2 + 1)) = v0;
    0x00122b48 b 0x122a1c                            |     goto label_0;
                                                     | label_6:
    0x00122b4c lw t9, -0x72b4(gp)                    |     t9 = *(gp);
    0x00122b50 move a0, s0                           |     a0 = s0;
    0x00122b54 bal 0x122028                          |     sym_xmlTextWriterEndAttribute ();
    0x00122b58 move s1, v0                           |     s1 = v0;
    0x00122b5c lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 >= 0) {
    0x00122b60 bgez v0, 0x1229b8                     |         goto label_1;
                                                     |     }
    0x00122b64 addiu v0, zero, -1                    |     v0 = -1;
    0x00122b68 b 0x122aec                            |     goto label_2;
                                                     | label_10:
    0x00122b6c lw a2, -0x7fb0(gp)                    |     a2 = *((gp - 8172));
    0x00122b70 lw t9, -0x7398(gp)                    |     t9 = *((gp - 7398));
    0x00122b74 addiu a2, a2, 0x3488                  |     a2 += aav.0x00003488;
    0x00122b78 addiu a1, zero, 2                     |     a1 = 2;
    0x00122b7c addiu t9, t9, 0xf9c                   |     t9 += aav.0x00000f9c;
    0x00122b80 move a0, s0                           |     a0 = s0;
    0x00122b84 bal 0x120f9c                          |     fcn_00120f9c ();
    0x00122b88 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x00122b8c lw v0, -0x7158(gp)                    |     v0 = *(gp);
    0x00122b90 lw t9, (v0)                           |     t9 = *(v0);
    0x00122b94 move a0, s2                           |     a0 = s2;
    0x00122b98 jalr t9                               |     t9 ();
    0x00122b9c addiu v0, zero, -1                    |     v0 = -1;
    0x00122ba0 b 0x122aac                            |     goto label_3;
                                                     | label_4:
    0x00122ba4 addiu v0, zero, -1                    |     v0 = -1;
    0x00122ba8 jr ra                                 |     return v0;
                                                     | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x122bac */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.xmlTextWriterStartElementNS ()           | void xmlTextWriterStartElementNS () {
    0x00122bac lui gp, 7                                 |     
    0x00122bb0 addiu gp, gp, -0x153c                     |     
    0x00122bb4 addu gp, gp, t9                           |     gp += t9;
    0x00122bb8 addiu sp, sp, -0x40                       |     
    0x00122bbc sw gp, 0x10(sp)                           |     *(var_10h) = gp;
    0x00122bc0 sw ra, 0x3c(sp)                           |     *(var_3ch) = ra;
    0x00122bc4 sw s7, 0x38(sp)                           |     *(var_38h) = s7;
    0x00122bc8 sw s6, 0x34(sp)                           |     *(var_34h) = s6;
    0x00122bcc sw s5, 0x30(sp)                           |     *(var_30h) = s5;
    0x00122bd0 sw s4, 0x2c(sp)                           |     *(var_2ch) = s4;
    0x00122bd4 sw s3, 0x28(sp)                           |     *(var_28h) = s3;
    0x00122bd8 sw s2, 0x24(sp)                           |     *(var_24h) = s2;
    0x00122bdc sw s1, 0x20(sp)                           |     *(var_20h) = s1;
    0x00122be0 sw s0, 0x1c(sp)                           |     *(var_1ch) = s0;
                                                         |     if (a0 == 0) {
    0x00122be4 beql a0, zero, 0x122d1c                   |         goto label_0;
                                                         |     }
    0x00122be8 addiu s2, zero, -1                        |     s2 = -1;
                                                         |     if (a2 == 0) {
    0x00122bec beql a2, zero, 0x122d1c                   |         goto label_0;
                                                         |     }
    0x00122bf0 addiu s2, zero, -1                        |     s2 = -1;
    0x00122bf4 lbu v0, (a2)                              |     v0 = *(a2);
    0x00122bf8 move s4, a3                               |     s4 = a3;
                                                         |     if (v0 == 0) {
    0x00122bfc beqz v0, 0x122d58                         |         goto label_2;
                                                         |     }
    0x00122c00 move s1, a2                               |     s1 = a2;
    0x00122c04 move s3, a1                               |     s3 = a1;
    0x00122c08 move s0, a0                               |     s0 = a0;
                                                         |     if (a1 == 0) {
    0x00122c0c beqz a1, 0x122d4c                         |         goto label_3;
                                                         |     }
    0x00122c10 lw t9, -0x7fd8(gp)                        |     t9 = *((gp - 8182));
    0x00122c14 move a0, a1                               |     a0 = a1;
    0x00122c18 jalr t9                                   |     t9 ();
    0x00122c1c lw gp, 0x10(sp)                           |     gp = *(var_10h);
    0x00122c20 move a0, v0                               |     a0 = v0;
    0x00122c24 lw s5, -0x7c28(gp)                        |     s5 = *((gp - 7946));
    0x00122c28 lw a1, -0x7f94(gp)                        |     a1 = *((gp - 8165));
    0x00122c2c move t9, s5                               |     t9 = s5;
    0x00122c30 addiu a1, a1, 0x2790                      |     a1 += aav.0x00002790;
    0x00122c34 jalr t9                                   |     t9 ();
    0x00122c38 move a0, v0                               |     a0 = v0;
                                                         |     do {
    0x00122c3c move t9, s5                               |         t9 = s5;
    0x00122c40 move a1, s1                               |         a1 = s1;
    0x00122c44 jalr t9                                   |         t9 ();
    0x00122c48 lw gp, 0x10(sp)                           |         gp = *(var_10h);
    0x00122c4c move a1, v0                               |         a1 = v0;
    0x00122c50 move a0, s0                               |         a0 = s0;
    0x00122c54 lw s6, -0x7158(gp)                        |         s6 = *(gp);
    0x00122c58 lw t9, -0x72a0(gp)                        |         t9 = *(gp);
    0x00122c5c move s1, v0                               |         s1 = v0;
    0x00122c60 bal 0x122918                              |         sym_xmlTextWriterStartElement ();
    0x00122c64 lw t9, (s6)                               |         t9 = *(s6);
    0x00122c68 move s2, v0                               |         s2 = v0;
    0x00122c6c move a0, s1                               |         a0 = s1;
    0x00122c70 jalr t9                                   |         t9 ();
    0x00122c74 lw gp, 0x10(sp)                           |         gp = *(var_10h);
                                                         |         if (s2 < 0) {
    0x00122c78 bltz s2, 0x122d58                         |             goto label_2;
                                                         |         }
    0x00122c7c lw v0, -0x716c(gp)                        |         v0 = *(gp);
                                                         |         if (s4 != 0) {
    0x00122c80 beqz s4, 0x122d1c                         |             
    0x00122c84 lw t9, (v0)                               |             t9 = *(v0);
    0x00122c88 addiu a0, zero, 0xc                       |             a0 = 0xc;
    0x00122c8c jalr t9                                   |             t9 ();
    0x00122c90 move s1, v0                               |             s1 = v0;
    0x00122c94 lw gp, 0x10(sp)                           |             gp = *(var_10h);
                                                         |             if (v0 == 0) {
    0x00122c98 beqz v0, 0x122d60                         |                 goto label_4;
                                                         |             }
    0x00122c9c lw s7, -0x7fd8(gp)                        |             s7 = *((gp - 8182));
    0x00122ca0 lw a0, -0x7fd4(gp)                        |             a0 = *(gp);
    0x00122ca4 move t9, s7                               |             t9 = s7;
    0x00122ca8 addiu a0, a0, 0x75ac                      |             a0 += 0x75ac;
    0x00122cac jalr t9                                   |             t9 ();
    0x00122cb0 lw gp, 0x10(sp)                           |             gp = *(var_10h);
                                                         |             if (s3 != 0) {
    0x00122cb4 beqz s3, 0x122cdc                         |                 
    0x00122cb8 lw a1, -0x7f94(gp)                        |                 a1 = *((gp - 8165));
    0x00122cbc move a0, v0                               |                 a0 = v0;
    0x00122cc0 move t9, s5                               |                 t9 = s5;
    0x00122cc4 addiu a1, a1, 0x2790                      |                 a1 += aav.0x00002790;
    0x00122cc8 jalr t9                                   |                 t9 ();
    0x00122ccc move a0, v0                               |                 a0 = v0;
    0x00122cd0 move t9, s5                               |                 t9 = s5;
    0x00122cd4 move a1, s3                               |                 a1 = s3;
    0x00122cd8 jalr t9                                   |                 t9 ();
                                                         |             }
    0x00122cdc sw v0, (s1)                               |             *(s1) = v0;
    0x00122ce0 move t9, s7                               |             t9 = s7;
    0x00122ce4 move a0, s4                               |             a0 = s4;
    0x00122ce8 jalr t9                                   |             t9 ();
    0x00122cec lw gp, 0x10(sp)                           |             gp = *(var_10h);
    0x00122cf0 sw v0, 4(s1)                              |             *((s1 + 1)) = v0;
                                                         |             if (v0 == 0) {
    0x00122cf4 beqz v0, 0x122d84                         |                 goto label_5;
                                                         |             }
    0x00122cf8 lw t9, -0x72c0(gp)                        |             t9 = *(gp);
    0x00122cfc lw a0, 4(s0)                              |             a0 = *((s0 + 1));
    0x00122d00 jalr t9                                   |             t9 ();
    0x00122d04 lw gp, 0x10(sp)                           |             gp = *(var_10h);
    0x00122d08 lw a0, 8(s0)                              |             a0 = *((s0 + 2));
    0x00122d0c move a1, s1                               |             a1 = s1;
    0x00122d10 lw t9, -0x72ac(gp)                        |             t9 = *(gp);
    0x00122d14 sw v0, 8(s1)                              |             *((s1 + 2)) = v0;
    0x00122d18 jalr t9                                   |             t9 ();
                                                         |         }
                                                         | label_0:
    0x00122d1c lw ra, 0x3c(sp)                           |         ra = *(var_3ch);
                                                         | label_1:
    0x00122d20 move v0, s2                               |         v0 = s2;
    0x00122d24 lw s7, 0x38(sp)                           |         s7 = *(var_38h);
    0x00122d28 lw s6, 0x34(sp)                           |         s6 = *(var_34h);
    0x00122d2c lw s5, 0x30(sp)                           |         s5 = *(var_30h);
    0x00122d30 lw s4, 0x2c(sp)                           |         s4 = *(var_2ch);
    0x00122d34 lw s3, 0x28(sp)                           |         s3 = *(var_28h);
    0x00122d38 lw s2, 0x24(sp)                           |         s2 = *(var_24h);
    0x00122d3c lw s1, 0x20(sp)                           |         s1 = *(var_20h);
    0x00122d40 lw s0, 0x1c(sp)                           |         s0 = *(var_1ch);
    0x00122d44 addiu sp, sp, 0x40                        |         
    0x00122d48 jr ra                                     |         return v0;
                                                         | label_3:
    0x00122d4c lw s5, -0x7c28(gp)                        |         s5 = *((gp - 7946));
    0x00122d50 move a0, zero                             |         a0 = 0;
    0x00122d54 b 0x122c3c                                |         
                                                         |     } while (1);
                                                         | label_2:
    0x00122d58 addiu s2, zero, -1                        |     s2 = -1;
    0x00122d5c b 0x122d1c                                |     goto label_0;
                                                         | label_4:
    0x00122d60 lw a2, -0x7fb0(gp)                        |     a2 = *((gp - 8172));
    0x00122d64 lw t9, -0x7398(gp)                        |     t9 = *((gp - 7398));
    0x00122d68 addiu a2, a2, 0x34b4                      |     a2 += 0x34b4;
    0x00122d6c addiu a1, zero, 2                         |     a1 = 2;
    0x00122d70 addiu t9, t9, 0xf9c                       |     t9 += aav.0x00000f9c;
    0x00122d74 move a0, s0                               |     a0 = s0;
    0x00122d78 bal 0x120f9c                              |     fcn_00120f9c ();
    0x00122d7c addiu s2, zero, -1                        |     s2 = -1;
    0x00122d80 b 0x122d1c                                |     goto label_0;
                                                         | label_5:
    0x00122d84 lw a2, -0x7fb0(gp)                        |     a2 = *((gp - 8172));
    0x00122d88 lw t9, -0x7398(gp)                        |     t9 = *((gp - 7398));
    0x00122d8c addiu a2, a2, 0x34b4                      |     a2 += 0x34b4;
    0x00122d90 addiu a1, zero, 2                         |     a1 = 2;
    0x00122d94 addiu t9, t9, 0xf9c                       |     t9 += aav.0x00000f9c;
    0x00122d98 move a0, s0                               |     a0 = s0;
    0x00122d9c bal 0x120f9c                              |     fcn_00120f9c ();
    0x00122da0 lw t9, (s6)                               |     t9 = *(s6);
    0x00122da4 move a0, s1                               |     a0 = s1;
    0x00122da8 addiu s2, zero, -1                        |     s2 = -1;
    0x00122dac jalr t9                                   |     t9 ();
    0x00122db0 lw ra, 0x3c(sp)                           |     ra = *(var_3ch);
    0x00122db4 b 0x122d20                                |     goto label_1;
                                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x124548 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlTextWriterStartPI ()      | void xmlTextWriterStartPI () {
    0x00124548 lui gp, 7                     |     
    0x0012454c addiu gp, gp, -0x2ed8         |     
    0x00124550 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x00124554 beqz a0, 0x124794             |         void (*0x124794)() ();
                                             |     }
    0x00124558 nop                           |     
                                             |     if (a1 == 0) {
    0x0012455c beqz a1, 0x124794             |         void (*0x124794)() ();
                                             |     }
    0x00124560 nop                           |     
    0x00124564 lbu v0, (a1)                  |     v0 = *(a1);
                                             |     if (v0 == 0) {
    0x00124568 beqz v0, 0x124794             |         void (*0x124794)() ();
                                             |     }
    0x0012456c nop                           |     
    0x00124570 addiu sp, sp, -0x30           |     
    0x00124574 lw t9, -0x7de8(gp)            |     t9 = *(gp);
    0x00124578 sw s3, 0x28(sp)               |     *(var_28h_2) = s3;
    0x0012457c move s3, a1                   |     s3 = a1;
    0x00124580 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x00124584 sw gp, 0x10(sp)               |     *(var_10h_2) = gp;
    0x00124588 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0012458c sw ra, 0x2c(sp)               |     *(var_2ch_2) = ra;
    0x00124590 sw s2, 0x24(sp)               |     *(var_24h_2) = s2;
    0x00124594 sw s1, 0x20(sp)               |     *(var_20h_2) = s1;
    0x00124598 move s0, a0                   |     s0 = a0;
    0x0012459c addiu a1, a1, 0x75a8          |     a1 += 0x75a8;
    0x001245a0 move a0, s3                   |     a0 = s3;
    0x001245a4 jalr t9                       |     t9 ();
    0x001245a8 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
                                             |     if (v0 == 0) {
    0x001245ac beqz v0, 0x124740             |         void (*0x124740)() ();
                                             |     }
    0x001245b0 lw t9, -0x72c0(gp)            |     t9 = *(gp);
    0x001245b4 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x001245b8 jalr t9                       |     t9 ();
    0x001245bc lw gp, 0x10(sp)               |     gp = *(var_10h_2);
                                             |     if (v0 == 0) {
    0x001245c0 beqz v0, 0x124604             |         goto label_0;
                                             |     }
    0x001245c4 lw t9, -0x7a34(gp)            |     t9 = *((gp - 7821));
    0x001245c8 move a0, v0                   |     a0 = v0;
    0x001245cc jalr t9                       |     t9 ();
    0x001245d0 move s2, v0                   |     s2 = v0;
    0x001245d4 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
                                             |     if (v0 == 0) {
    0x001245d8 beqz v0, 0x124604             |         goto label_0;
                                             |     }
    0x001245dc lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x001245e0 sltiu v1, v0, 8               |     v1 = (v0 < 8) ? 1 : 0;
    0x001245e4 sll v1, v0, 2                 |     v1 = v0 << 2;
                                             |     if (v1 == 0) {
    0x001245e8 beqz v1, 0x124738             |         void (*0x124738)() ();
                                             |     }
    0x001245ec lw v0, -0x7fb0(gp)            |     v0 = *((gp - 8172));
    0x001245f0 addiu v0, v0, 0x3970          |     v0 += 0x3970;
    0x001245f4 lwx v0, v1(v0)                |     __asm ("lwx v0, v1(v0)");
    0x001245f8 addu v0, v0, gp               |     v0 += gp;
    0x001245fc jr v0                         |     v0 ();
    0x00124600 nop                           |     
                                             | label_0:
    0x00124604 move s1, zero                 |     s1 = 0;
    0x00124608 lw v0, -0x716c(gp)            |     v0 = *(gp);
    0x0012460c lw t9, (v0)                   |     t9 = *(v0);
    0x00124610 addiu a0, zero, 8             |     a0 = 8;
    0x00124614 jalr t9                       |     t9 ();
    0x00124618 move s2, v0                   |     s2 = v0;
    0x0012461c lw gp, 0x10(sp)               |     gp = *(var_10h_2);
                                             |     if (v0 == 0) {
    0x00124620 beqz v0, 0x12474c             |         void (*0x12474c)() ();
                                             |     }
    0x00124624 lw t9, -0x7fd8(gp)            |     t9 = *((gp - 8182));
    0x00124628 move a0, s3                   |     a0 = s3;
    0x0012462c jalr t9                       |     t9 ();
    0x00124630 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x00124634 sw v0, (s2)                   |     *(s2) = v0;
                                             |     if (v0 == 0) {
    0x00124638 beqz v0, 0x12475c             |         void (*0x12475c)() ();
                                             |     }
    0x0012463c lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x00124640 lw t9, -0x72ac(gp)            |     t9 = *(gp);
    0x00124644 addiu v0, zero, 4             |     v0 = 4;
    0x00124648 move a1, s2                   |     a1 = s2;
    0x0012464c sw v0, 4(s2)                  |     *((s2 + 1)) = v0;
    0x00124650 jalr t9                       |     t9 ();
    0x00124654 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x00124658 lw a0, (s0)                   |     a0 = *(s0);
    0x0012465c lw s3, -0x796c(gp)            |     s3 = *((gp - 7771));
    0x00124660 lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x00124664 move t9, s3                   |     t9 = s3;
    0x00124668 addiu a1, a1, 0x9c0           |     a1 += 0x9c0;
    0x0012466c jalr t9                       |     t9 ();
    0x00124670 move t9, s3                   |     t9 = s3;
                                             |     if (v0 < 0) {
    0x00124674 bltz v0, 0x124738             |         void (*0x124738)() ();
                                             |     }
    0x00124678 lw a1, (s2)                   |     a1 = *(s2);
    0x0012467c lw a0, (s0)                   |     a0 = *(s0);
    0x00124680 addu s1, s1, v0               |     s1 += v0;
    0x00124684 jalr t9                       |     t9 ();
                                             |     if (v0 >= 0) {
    0x00124688 bltzl v0, 0x124694            |         
    0x0012468c addiu v0, zero, -1            |         v0 = -1;
    0x00124690 addu v0, s1, v0               |         v0 = s1 + v0;
                                             |     }
    0x00124694 lw ra, 0x2c(sp)               |     ra = *(var_2ch_2);
    0x00124698 lw s3, 0x28(sp)               |     s3 = *(var_28h_2);
    0x0012469c lw s2, 0x24(sp)               |     s2 = *(var_24h_2);
    0x001246a0 lw s1, 0x20(sp)               |     s1 = *(var_20h_2);
    0x001246a4 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x001246a8 addiu sp, sp, 0x30            |     
    0x001246ac jr ra                         |     return v0;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x123350 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlTextWriterWriteRawLen ()      | void xmlTextWriterWriteRawLen () {
    0x00123350 lui gp, 7                         |     
    0x00123354 addiu gp, gp, -0x1ce0             |     
    0x00123358 addu gp, gp, t9                   |     gp += t9;
    0x0012335c addiu sp, sp, -0x30               |     
    0x00123360 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x00123364 sw ra, 0x2c(sp)                   |     *(var_2ch) = ra;
    0x00123368 sw s3, 0x28(sp)                   |     *(var_28h) = s3;
    0x0012336c sw s2, 0x24(sp)                   |     *(var_24h) = s2;
    0x00123370 sw s1, 0x20(sp)                   |     *(var_20h) = s1;
    0x00123374 sw s0, 0x1c(sp)                   |     *(var_1ch) = s0;
    0x00123378 move s0, a0                       |     s0 = a0;
                                                 |     if (a0 == 0) {
    0x0012337c beqz a0, 0x123450                 |         goto label_1;
                                                 |     }
    0x00123380 move s2, a1                       |     s2 = a1;
                                                 |     if (a1 == 0) {
    0x00123384 beqz a1, 0x123424                 |         goto label_2;
                                                 |     }
    0x00123388 move s3, a2                       |     s3 = a2;
                                                 |     if (a2 < 0) {
    0x0012338c bltz a2, 0x123424                 |         goto label_2;
                                                 |     }
    0x00123390 lw t9, -0x72c0(gp)                |     t9 = *(gp);
    0x00123394 lw a0, 4(a0)                      |     a0 = *((a0 + 1));
    0x00123398 jalr t9                           |     t9 ();
    0x0012339c lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 == 0) {
    0x001233a0 beqz v0, 0x12341c                 |         goto label_3;
                                                 |     }
    0x001233a4 lw t9, -0x7a34(gp)                |     t9 = *((gp - 7821));
    0x001233a8 move a0, v0                       |     a0 = v0;
    0x001233ac jalr t9                           |     t9 ();
    0x001233b0 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x001233b4 move a1, v0                       |     a1 = v0;
    0x001233b8 lw t9, -0x7398(gp)                |     t9 = *((gp - 7398));
    0x001233bc addiu t9, t9, 0x31d4              |     t9 += 0x31d4;
    0x001233c0 move a0, s0                       |     a0 = s0;
    0x001233c4 bal 0x1231d4                      |     fcn_001231d4 ();
    0x001233c8 move s1, v0                       |     s1 = v0;
    0x001233cc lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 < 0) {
    0x001233d0 bltz v0, 0x123448                 |         goto label_4;
                                                 |     }
                                                 |     do {
    0x001233d4 lw v0, 0x10(s0)                   |         v0 = *((s0 + 4));
    0x001233d8 sw zero, 0x14(s0)                 |         *((s0 + 5)) = 0;
                                                 |         if (v0 != 0) {
    0x001233dc bnel v0, zero, 0x1233e0           |             
                                                 |         }
    0x001233e0 lw a0, (s0)                       |         a0 = *(s0);
    0x001233e4 lw t9, -0x72bc(gp)                |         t9 = *(gp);
    0x001233e8 move a2, s2                       |         a2 = s2;
    0x001233ec move a1, s3                       |         a1 = s3;
    0x001233f0 jalr t9                           |         t9 ();
                                                 |         if (v0 >= 0) {
    0x001233f4 bltzl v0, 0x123400                |             
    0x001233f8 addiu v0, zero, -1                |             v0 = -1;
    0x001233fc addu v0, s1, v0                   |             v0 = s1 + v0;
                                                 |         }
                                                 | label_0:
    0x00123400 lw ra, 0x2c(sp)                   |         ra = *(var_2ch);
    0x00123404 lw s3, 0x28(sp)                   |         s3 = *(var_28h);
    0x00123408 lw s2, 0x24(sp)                   |         s2 = *(var_24h);
    0x0012340c lw s1, 0x20(sp)                   |         s1 = *(var_20h);
    0x00123410 lw s0, 0x1c(sp)                   |         s0 = *(var_1ch);
    0x00123414 addiu sp, sp, 0x30                |         
    0x00123418 jr ra                             |         return v0;
                                                 | label_3:
    0x0012341c move s1, zero                     |         s1 = 0;
    0x00123420 b 0x1233d4                        |         
                                                 |     } while (1);
                                                 | label_2:
    0x00123424 lw a2, -0x7fb0(gp)                |     a2 = *((gp - 8172));
    0x00123428 lw t9, -0x7398(gp)                |     t9 = *((gp - 7398));
    0x0012342c addiu a2, a2, 0x3514              |     a2 += 0x3514;
    0x00123430 addiu a1, zero, 1                 |     a1 = 1;
    0x00123434 addiu t9, t9, 0xf9c               |     t9 += aav.0x00000f9c;
    0x00123438 move a0, s0                       |     a0 = s0;
    0x0012343c bal 0x120f9c                      |     fcn_00120f9c ();
    0x00123440 addiu v0, zero, -1                |     v0 = -1;
    0x00123444 b 0x123400                        |     goto label_0;
                                                 | label_4:
    0x00123448 addiu v0, zero, -1                |     v0 = -1;
    0x0012344c b 0x123400                        |     goto label_0;
                                                 | label_1:
    0x00123450 lw a1, -0x7fb0(gp)                |     a1 = *((gp - 8172));
    0x00123454 lw t9, -0x7398(gp)                |     t9 = *((gp - 7398));
    0x00123458 addiu a1, a1, 0x34e8              |     a1 += 0x34e8;
    0x0012345c addiu t9, t9, 0xf1c               |     t9 += 0xf1c;
    0x00123460 addiu a0, zero, 1                 |     a0 = 1;
    0x00123464 bal 0x120f1c                      |     fcn_00120f1c ();
    0x00123468 addiu v0, zero, -1                |     v0 = -1;
    0x0012346c b 0x123400                        |     goto label_0;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb8804 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlUTF8Size ()               | void xmlUTF8Size () {
                                             |     if (a0 == 0) {
    0x000b8804 beqz a0, 0xb8848              |         goto label_0;
                                             |     }
    0x000b8808 nop                           |     
    0x000b880c lbu a0, (a0)                  |     a0 = *(a0);
    0x000b8810 seb v0, a0                    |     __asm ("seb v0, a0");
                                             |     if (v0 >= 0) {
    0x000b8814 bgez v0, 0xb885c              |         goto label_1;
                                             |     }
    0x000b8818 nop                           |     
    0x000b881c andi v0, a0, 0x40             |     v0 = a0 & 0x40;
    0x000b8820 addiu v1, zero, 0x20          |     v1 = 0x20;
                                             |     if (v0 == 0) {
    0x000b8824 beqz v0, 0xb8850              |         goto label_2;
                                             |     }
    0x000b8828 addiu v0, zero, 2             |     v0 = 2;
    0x000b882c addiu a2, zero, 8             |     a2 = 8;
                                             |     do {
    0x000b8830 and a1, a0, v1                |         a1 = a0 & v1;
                                             |         if (a1 == 0) {
    0x000b8834 beqz a1, 0xb8854              |             goto label_3;
                                             |         }
    0x000b8838 nop                           |         
    0x000b883c addiu v0, v0, 1               |         v0++;
    0x000b8840 srl v1, v1, 1                 |         v1 >>= 1;
    0x000b8844 bne v0, a2, 0xb8830           |         
                                             |     } while (v0 != a2);
                                             | label_0:
    0x000b8848 addiu v0, zero, -1            |     v0 = -1;
    0x000b884c jr ra                         |     return v0;
                                             | label_2:
    0x000b8850 addiu v0, zero, -1            |     v0 = -1;
                                             | label_3:
    0x000b8854 jr ra                         |     return v0;
    0x000b8858 nop                           |     
                                             | label_1:
    0x000b885c addiu v0, zero, 1             |     v0 = 1;
    0x000b8860 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb8e0c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlUTF8Strloc ()             | void xmlUTF8Strloc () {
    0x000b8e0c lui gp, 0xe                   |     
    0x000b8e10 addiu gp, gp, -0x779c         |     
    0x000b8e14 addu gp, gp, t9               |     gp += t9;
    0x000b8e18 addiu sp, sp, -0x40           |     
    0x000b8e1c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000b8e20 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x000b8e24 sw s7, 0x38(sp)               |     *(var_38h) = s7;
    0x000b8e28 sw s6, 0x34(sp)               |     *(var_34h) = s6;
    0x000b8e2c sw s5, 0x30(sp)               |     *(var_30h) = s5;
    0x000b8e30 sw s4, 0x2c(sp)               |     *(var_2ch) = s4;
    0x000b8e34 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x000b8e38 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x000b8e3c sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x000b8e40 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000b8e44 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
                                             |     if (a0 == 0) {
    0x000b8e48 beqz a0, 0xb8f3c              |         goto label_2;
                                             |     }
    0x000b8e4c move s2, a1                   |     s2 = a1;
                                             |     if (a1 == 0) {
    0x000b8e50 beqz a1, 0xb8f3c              |         goto label_2;
                                             |     }
    0x000b8e54 lw t9, -0x76bc(gp)            |     t9 = *((gp - 7599));
    0x000b8e58 move s1, a0                   |     s1 = a0;
    0x000b8e5c addiu a1, zero, 1             |     a1 = 1;
    0x000b8e60 addiu t9, t9, 0x7b30          |     t9 += 0x7b30;
    0x000b8e64 move a0, s2                   |     a0 = s2;
    0x000b8e68 bal 0xb7b30                   |     fcn_000b7b30 ();
    0x000b8e6c lbu s0, (s1)                  |     s0 = *(s1);
    0x000b8e70 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000b8e74 move s5, v0                   |     s5 = v0;
                                             |     if (s0 == 0) {
    0x000b8e78 beqz s0, 0xb8f38              |         goto label_3;
                                             |     }
    0x000b8e7c move s4, zero                 |     s4 = 0;
                                             |     if (v0 <= 0) {
    0x000b8e80 blez v0, 0xb8ed0              |         goto label_4;
                                             |     }
    0x000b8e84 addiu s6, zero, -0x40         |     s6 = -0x40;
                                             |     if (s1 == s2) {
    0x000b8e88 beq s1, s2, 0xb8ed0           |         goto label_4;
                                             |     }
    0x000b8e8c addiu s3, zero, 0xc0          |     s3 = 0xc0;
    0x000b8e90 addiu s7, zero, 0x80          |     s7 = 0x80;
                                             |     do {
    0x000b8e94 lw t9, -0x70f8(gp)            |         t9 = *((gp - 7230));
    0x000b8e98 move a2, s5                   |         a2 = s5;
    0x000b8e9c move a1, s2                   |         a1 = s2;
    0x000b8ea0 move a0, s1                   |         a0 = s1;
    0x000b8ea4 jalr t9                       |         t9 ();
    0x000b8ea8 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x000b8eac beqz v0, 0xb8ed0              |             goto label_4;
                                             |         }
    0x000b8eb0 seb v0, s0                    |         __asm ("seb v0, s0");
    0x000b8eb4 addiu s1, s1, 1               |         s1++;
                                             |         if (v0 < 0) {
    0x000b8eb8 bltz v0, 0xb8f00              |             goto label_5;
                                             |         }
    0x000b8ebc lbu s0, (s1)                  |         s0 = *(s1);
                                             | label_0:
    0x000b8ec0 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
                                             |         if (s0 == 0) {
    0x000b8ec4 beqz s0, 0xb8f3c              |             goto label_2;
                                             |         }
    0x000b8ec8 addiu s4, s4, 1               |         s4++;
    0x000b8ecc bne s1, s2, 0xb8e94           |         
                                             |     } while (s1 != s2);
                                             | label_4:
    0x000b8ed0 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x000b8ed4 move v0, s4                   |     v0 = s4;
    0x000b8ed8 lw s7, 0x38(sp)               |     s7 = *(var_38h);
    0x000b8edc lw s6, 0x34(sp)               |     s6 = *(var_34h);
    0x000b8ee0 lw s5, 0x30(sp)               |     s5 = *(var_30h);
    0x000b8ee4 lw s4, 0x2c(sp)               |     s4 = *(var_2ch);
    0x000b8ee8 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x000b8eec lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x000b8ef0 lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x000b8ef4 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x000b8ef8 addiu sp, sp, 0x40            |     
    0x000b8efc jr ra                         |     return v0;
                                             | label_5:
    0x000b8f00 and v0, s0, s6                |     v0 = s0 & s6;
    0x000b8f04 sll v0, s0, 1                 |     v0 = s0 << 1;
                                             |     if (v0 != s3) {
    0x000b8f08 bne v0, s3, 0xb8f38           |         goto label_3;
                                             |     }
    0x000b8f0c andi v0, v0, 0xff             |     v0 &= 0xff;
    0x000b8f10 b 0xb8f1c                     |     goto label_6;
                                             |     if (a0 >= 0) {
                                             | label_1:
    0x000b8f14 bgezl a0, 0xb8ec0             |         goto label_0;
                                             |     }
    0x000b8f18 lbu s0, (s1)                  |     s0 = *(s1);
                                             | label_6:
    0x000b8f1c addiu s1, s1, 1               |     s1++;
    0x000b8f20 lbu v1, -1(s1)                |     v1 = *((s1 - 1));
    0x000b8f24 sll v0, v0, 1                 |     v0 <<= 1;
    0x000b8f28 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x000b8f2c and v1, s6, v1                |     v1 = s6 & v1;
    0x000b8f30 seb a0, v0                    |     __asm ("seb a0, v0");
                                             |     if (v1 == s7) {
    0x000b8f34 beq v1, s7, 0xb8f14           |         goto label_1;
                                             |     }
                                             | label_3:
    0x000b8f38 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
                                             | label_2:
    0x000b8f3c addiu s4, zero, -1            |     s4 = -1;
    0x000b8f40 move v0, s4                   |     v0 = s4;
    0x000b8f44 lw s7, 0x38(sp)               |     s7 = *(var_38h);
    0x000b8f48 lw s6, 0x34(sp)               |     s6 = *(var_34h);
    0x000b8f4c lw s5, 0x30(sp)               |     s5 = *(var_30h);
    0x000b8f50 lw s4, 0x2c(sp)               |     s4 = *(var_2ch);
    0x000b8f54 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x000b8f58 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x000b8f5c lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x000b8f60 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x000b8f64 addiu sp, sp, 0x40            |     
    0x000b8f68 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xb8f6c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlUTF8Strsub ()             | void xmlUTF8Strsub () {
    0x000b8f6c lui gp, 0xe                   |     
    0x000b8f70 addiu gp, gp, -0x78fc         |     
    0x000b8f74 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x000b8f78 beqz a0, 0xb9014              |         goto label_2;
                                             |     }
    0x000b8f7c nop                           |     
                                             |     if (a1 < 0) {
    0x000b8f80 bltz a1, 0xb9014              |         goto label_2;
                                             |     }
    0x000b8f84 nop                           |     
                                             |     if (a2 < 0) {
    0x000b8f88 bltz a2, 0xb9014              |         goto label_2;
                                             |     }
    0x000b8f8c nop                           |     
    0x000b8f90 lw t9, -0x7618(gp)            |     t9 = *((gp - 7558));
                                             |     if (a1 == 0) {
    0x000b8f94 beqz a1, 0xb901c              |         goto label_3;
                                             |     }
    0x000b8f98 lbu v0, (a0)                  |     v0 = *(a0);
    0x000b8f9c addiu a0, a0, 1               |     a0++;
                                             |     if (v0 == 0) {
    0x000b8fa0 beqz v0, 0xb9014              |         goto label_2;
                                             |     }
    0x000b8fa4 move t0, zero                 |     t0 = 0;
    0x000b8fa8 addiu t1, zero, -0x40         |     t1 = -0x40;
    0x000b8fac addiu t3, zero, 0xc0          |     t3 = 0xc0;
    0x000b8fb0 addiu t2, zero, 0x80          |     t2 = 0x80;
    0x000b8fb4 b 0xb8fcc                     |     
                                             |     while (v1 >= 0) {
                                             | label_0:
    0x000b8fb8 lw t9, -0x7618(gp)            |         t9 = *((gp - 7558));
                                             |         if (a1 == t0) {
    0x000b8fbc beq a1, t0, 0xb901c           |             goto label_3;
                                             |         }
    0x000b8fc0 lbu v0, (a0)                  |         v0 = *(a0);
    0x000b8fc4 addiu a0, a0, 1               |         a0++;
                                             |         if (v0 == 0) {
    0x000b8fc8 beqz v0, 0xb9014              |             goto label_2;
                                             |         }
    0x000b8fcc seb v1, v0                    |         __asm ("seb v1, v0");
    0x000b8fd0 bgezl v1, 0xb8fb8             |         
                                             |     }
    0x000b8fd4 addiu t0, t0, 1               |     t0++;
    0x000b8fd8 and v1, v0, t1                |     v1 = v0 & t1;
                                             |     if (v1 != t3) {
    0x000b8fdc bne v1, t3, 0xb9014           |         goto label_2;
                                             |     }
    0x000b8fe0 nop                           |     
    0x000b8fe4 sll v0, v0, 1                 |     v0 <<= 1;
    0x000b8fe8 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x000b8fec b 0xb8ff8                     |     goto label_4;
                                             |     if (a3 >= 0) {
                                             | label_1:
    0x000b8ff0 bgezl a3, 0xb8fb8             |         goto label_0;
                                             |     }
    0x000b8ff4 addiu t0, t0, 1               |     t0++;
                                             | label_4:
    0x000b8ff8 addiu a0, a0, 1               |     a0++;
    0x000b8ffc lbu v1, -1(a0)                |     v1 = *((a0 - 1));
    0x000b9000 sll v0, v0, 1                 |     v0 <<= 1;
    0x000b9004 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x000b9008 and v1, t1, v1                |     v1 = t1 & v1;
    0x000b900c seb a3, v0                    |     __asm ("seb a3, v0");
                                             |     if (v1 == t2) {
    0x000b9010 beq v1, t2, 0xb8ff0           |         goto label_1;
                                             |     }
                                             | label_2:
    0x000b9014 move v0, zero                 |     v0 = 0;
    0x000b9018 jr ra                         |     return v0;
                                             | label_3:
    0x000b901c move a1, a2                   |     a1 = a2;
    0x000b9020 b 0xb8c58                     |     return void (*0xb8c58)() ();
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x8a85c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlXPathDistinctSorted ()        | void xmlXPathDistinctSorted () {
    0x0008a85c lui gp, 0x10                      |     
    0x0008a860 addiu gp, gp, 0x6e14              |     
    0x0008a864 addu gp, gp, t9                   |     gp += t9;
    0x0008a868 move v0, a0                       |     v0 = a0;
                                                 |     if (a0 != 0) {
    0x0008a86c beqz a0, 0x8a894                  |         
    0x0008a870 lw v1, (a0)                       |         v1 = *(a0);
                                                 |         if (v1 == 0) {
    0x0008a874 beqz v1, 0x8a894                  |             goto label_0;
                                                 |         }
    0x0008a878 nop                               |         
    0x0008a87c lw v1, 8(a0)                      |         v1 = *((a0 + 2));
    0x0008a880 lw t9, -0x78d0(gp)                |         t9 = *(gp);
                                                 |         if (v1 == 0) {
    0x0008a884 beqz v1, 0x8a894                  |             goto label_0;
                                                 |         }
    0x0008a888 addiu t9, t9, -0x6acc             |         t9 += -0x6acc;
    0x0008a88c b 0x89534                         |         void (*0x89534)() ();
    0x0008a890 nop                               |         
                                                 |     }
                                                 | label_0:
    0x0008a894 jr ra                             |     return v1;
    0x0008a898 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 @ 0x8a89c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlXPathDistinct ()          | void xmlXPathDistinct () {
                                             | label_3:
    0x00089534 lui gp, 0x11                  |     
    0x00089538 addiu gp, gp, -0x7ec4         |     
    0x0008953c addu gp, gp, t9               |     gp += t9;
    0x00089540 addiu sp, sp, -0x50           |     
    0x00089544 lw t9, -0x78ec(gp)            |     t9 = *((gp - 7739));
    0x00089548 sw gp, 0x10(sp)               |     *(var_10h_2) = gp;
    0x0008954c sw s3, 0x34(sp)               |     *(var_34h) = s3;
    0x00089550 sw ra, 0x4c(sp)               |     *(var_24h) = ra;
    0x00089554 sw fp, 0x48(sp)               |     *(var_48h) = fp;
    0x00089558 sw s7, 0x44(sp)               |     *(var_1ch) = s7;
    0x0008955c sw s6, 0x40(sp)               |     *(var_40h) = s6;
    0x00089560 sw s5, 0x3c(sp)               |     *(var_3ch) = s5;
    0x00089564 sw s4, 0x38(sp)               |     *(var_10h) = s4;
    0x00089568 sw s2, 0x30(sp)               |     *(var_30h) = s2;
    0x0008956c sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x00089570 sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x00089574 move s3, a0                   |     s3 = a0;
    0x00089578 move a0, zero                 |     a0 = 0;
    0x0008957c bal 0x884d0                   |     sym_xmlXPathNodeSetCreate ();
    0x00089580 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00089584 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
                                             |     if (v0 == 0) {
    0x00089588 beqz v0, 0x896b8              |         goto label_4;
                                             |     }
    0x0008958c lw s4, (s3)                   |     s4 = *(s3);
    0x00089590 lw t9, -0x7f80(gp)            |     t9 = *(gp);
    0x00089594 move a0, s4                   |     a0 = s4;
    0x00089598 jalr t9                       |     t9 ();
    0x0008959c move s2, v0                   |     s2 = v0;
    0x000895a0 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
                                             |     if (s4 <= 0) {
    0x000895a4 blez s4, 0x896a8              |         goto label_5;
                                             |     }
    0x000895a8 lw v0, -0x7fb8(gp)            |     v0 = *(gp);
    0x000895ac lw s6, -0x7928(gp)            |     s6 = *(gp);
    0x000895b0 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x000895b4 lw v0, -0x78e4(gp)            |     v0 = *(gp);
    0x000895b8 lw s5, -0x7f88(gp)            |     s5 = *(gp);
    0x000895bc sw v0, 0x24(sp)               |     *(var_24h_2) = v0;
    0x000895c0 lw v0, -0x7994(gp)            |     v0 = *(gp);
    0x000895c4 lw s7, -0x7158(gp)            |     s7 = *(gp);
    0x000895c8 addiu v0, v0, 0x6138          |     v0 += 0x6138;
    0x000895cc move s0, zero                 |     s0 = 0;
    0x000895d0 sw v0, 0x1c(sp)               |     *(var_1ch_2) = v0;
    0x000895d4 b 0x89628                     |     
                                             |     while (v0 != 0) {
    0x000895d8 lw s1, 8(s3)                  |         s1 = *((s3 + 2));
    0x000895dc move t9, s6                   |         t9 = s6;
    0x000895e0 addiu s0, s0, 1               |         s0++;
    0x000895e4 lwx s1, v1(s1)                |         __asm ("lwx s1, v1(s1)");
    0x000895e8 move a0, s1                   |         a0 = s1;
    0x000895ec jalr t9                       |         t9 ();
    0x000895f0 move fp, v0                   |         fp = v0;
                                             |         if (v0 == 0) {
    0x000895f4 beqz v0, 0x89654              |             goto label_6;
                                             |         }
                                             | label_0:
    0x000895f8 move a1, fp                   |         a1 = fp;
    0x000895fc move t9, s5                   |         t9 = s5;
    0x00089600 move a0, s2                   |         a0 = s2;
    0x00089604 jalr t9                       |         t9 ();
    0x00089608 lw t9, 0x20(sp)               |         t9 = *(var_20h);
                                             |         if (v0 == 0) {
    0x0008960c beqz v0, 0x89680              |             goto label_7;
                                             |         }
    0x00089610 lw t9, (s7)                   |         t9 = *(s7);
                                             | label_1:
    0x00089614 move a0, fp                   |         a0 = fp;
    0x00089618 jalr t9                       |         t9 ();
    0x0008961c lw gp, 0x10(sp)               |         gp = *(var_10h_2);
                                             | label_2:
    0x00089620 lw a1, -0x7168(gp)            |         a1 = *(gp);
                                             |         if (s4 == s0) {
    0x00089624 beq s4, s0, 0x896ac           |             goto label_8;
                                             |         }
    0x00089628 lw v0, (s3)                   |         v0 = *(s3);
    0x0008962c slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x00089630 sll v1, s0, 2                 |         v1 = s0 << 2;
    0x00089634 bnez v0, 0x895d8              |         
                                             |     }
    0x00089638 move s1, zero                 |     s1 = 0;
    0x0008963c move t9, s6                   |     t9 = s6;
    0x00089640 move a0, s1                   |     a0 = s1;
    0x00089644 jalr t9                       |     t9 ();
    0x00089648 move fp, v0                   |     fp = v0;
    0x0008964c addiu s0, s0, 1               |     s0++;
                                             |     if (v0 != 0) {
    0x00089650 bnez v0, 0x895f8              |         goto label_0;
                                             |     }
                                             | label_6:
    0x00089654 lw t9, 0x1c(sp)               |     t9 = *(var_1ch_2);
    0x00089658 jalr t9                       |     t9 ();
    0x0008965c nop                           |     
    0x00089660 move fp, v0                   |     fp = v0;
    0x00089664 move a1, fp                   |     a1 = fp;
    0x00089668 move t9, s5                   |     t9 = s5;
    0x0008966c move a0, s2                   |     a0 = s2;
    0x00089670 jalr t9                       |     t9 ();
    0x00089674 lw t9, (s7)                   |     t9 = *(s7);
                                             |     if (v0 == 0) {
    0x00089678 bnel v0, zero, 0x89614        |         goto label_1;
                                             |     }
    0x0008967c lw t9, 0x20(sp)               |     t9 = *(var_20h);
                                             | label_7:
    0x00089680 move a2, fp                   |     a2 = fp;
    0x00089684 move a1, fp                   |     a1 = fp;
    0x00089688 move a0, s2                   |     a0 = s2;
    0x0008968c jalr t9                       |     t9 ();
    0x00089690 lw a0, 0x18(sp)               |     a0 = *(var_18h);
    0x00089694 lw t9, 0x24(sp)               |     t9 = *(var_24h_2);
    0x00089698 move a1, s1                   |     a1 = s1;
    0x0008969c jalr t9                       |     t9 ();
    0x000896a0 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
                                             |     if (v0 >= 0) {
    0x000896a4 bgez v0, 0x89620              |         goto label_2;
                                             |     }
                                             | label_5:
    0x000896a8 lw a1, -0x7168(gp)            |     a1 = *(gp);
                                             | label_8:
    0x000896ac lw t9, -0x7f7c(gp)            |     t9 = *((gp - 8159));
    0x000896b0 move a0, s2                   |     a0 = s2;
    0x000896b4 jalr t9                       |     t9 ();
                                             | label_4:
    0x000896b8 lw ra, 0x4c(sp)               |     ra = *(var_24h);
    0x000896bc lw v0, 0x18(sp)               |     v0 = *(var_18h);
    0x000896c0 lw fp, 0x48(sp)               |     fp = *(var_48h);
    0x000896c4 lw s7, 0x44(sp)               |     s7 = *(var_1ch);
    0x000896c8 lw s6, 0x40(sp)               |     s6 = *(var_40h);
    0x000896cc lw s5, 0x3c(sp)               |     s5 = *(var_3ch);
    0x000896d0 lw s4, 0x38(sp)               |     s4 = *(var_10h);
    0x000896d4 lw s3, 0x34(sp)               |     s3 = *(var_34h);
    0x000896d8 lw s2, 0x30(sp)               |     s2 = *(var_30h);
    0x000896dc lw s1, 0x2c(sp)               |     s1 = *(var_2ch);
    0x000896e0 lw s0, 0x28(sp)               |     s0 = *(var_28h);
    0x000896e4 addiu sp, sp, 0x50            |     
    0x000896e8 jr ra                         |     return v1;
    0x0008a89c lui gp, 0x10                  |     
    0x0008a8a0 addiu gp, gp, 0x6dd4          |     
    0x0008a8a4 addu gp, gp, t9               |     gp += t9;
    0x0008a8a8 move v0, a0                   |     v0 = a0;
                                             |     if (a0 != 0) {
    0x0008a8ac beqz a0, 0x8a914              |         
    0x0008a8b0 lw v1, (a0)                   |         v1 = *(a0);
                                             |         if (v1 == 0) {
    0x0008a8b4 beqz v1, 0x8a914              |             goto label_9;
                                             |         }
    0x0008a8b8 nop                           |         
    0x0008a8bc lw v1, 8(a0)                  |         v1 = *((a0 + 2));
    0x0008a8c0 lw t9, -0x7994(gp)            |         t9 = *(gp);
                                             |         if (v1 == 0) {
    0x0008a8c4 beqz v1, 0x8a914              |             goto label_9;
                                             |         }
    0x0008a8c8 addiu sp, sp, -0x28           |         
    0x0008a8cc sw gp, 0x10(sp)               |         *(var_10h) = gp;
    0x0008a8d0 sw ra, 0x24(sp)               |         *(var_24h) = ra;
    0x0008a8d4 sw a0, 0x1c(sp)               |         *(var_1ch) = a0;
    0x0008a8d8 addiu t9, t9, 0x6ee4          |         t9 += aav.0x00006ee4;
    0x0008a8dc bal 0x86ee4                   |         fcn_00086ee4 ();
    0x0008a8e0 nop                           |         
    0x0008a8e4 lw v0, 0x1c(sp)               |         v0 = *(var_1ch);
    0x0008a8e8 lw v1, (v0)                   |         v1 = *(v0);
    0x0008a8ec lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v1 == 0) {
    0x0008a8f0 beqz v1, 0x8a91c              |             goto label_10;
                                             |         }
    0x0008a8f4 lw v1, 8(v0)                  |         v1 = *((v0 + 2));
    0x0008a8f8 lw t9, -0x78d0(gp)            |         t9 = *(gp);
                                             |         if (v1 == 0) {
    0x0008a8fc beqz v1, 0x8a91c              |             goto label_10;
                                             |         }
    0x0008a900 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x0008a904 move a0, v0                   |         a0 = v0;
    0x0008a908 addiu t9, t9, -0x6acc         |         t9 += -0x6acc;
    0x0008a90c addiu sp, sp, 0x28            |         
    0x0008a910 b 0x89534                     |         goto label_3;
                                             |     }
                                             | label_9:
    0x0008a914 jr ra                         |     return v1;
    0x0008a918 nop                           |     
                                             | label_10:
    0x0008a91c lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x0008a920 addiu sp, sp, 0x28            |     
    0x0008a924 jr ra                         |     return v1;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x9c488 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlXPathEvalPredicate ()         | void xmlXPathEvalPredicate () {
    0x0009c488 lui gp, 0xf                       |     
    0x0009c48c addiu gp, gp, 0x51e8              |     
    0x0009c490 addu gp, gp, t9                   |     gp += t9;
                                                 |     if (a0 != 0) {
    0x0009c494 beqz a0, 0x9c5d0                  |         
    0x0009c498 nop                               |         
                                                 |         if (a1 == 0) {
    0x0009c49c beqz a1, 0x9c5d8                  |             goto label_0;
                                                 |         }
    0x0009c4a0 nop                               |         
    0x0009c4a4 addiu sp, sp, -0x28               |         
    0x0009c4a8 lw v0, (a1)                       |         v0 = *(a1);
    0x0009c4ac sw gp, 0x10(sp)                   |         *(var_10h) = gp;
    0x0009c4b0 sltiu v1, v0, 0xa                 |         v1 = (v0 < 0xa) ? 1 : 0;
    0x0009c4b4 sw ra, 0x24(sp)                   |         *(var_24h) = ra;
    0x0009c4b8 sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x0009c4bc sll v1, v0, 2                     |         v1 = v0 << 2;
                                                 |         if (v1 != 0) {
    0x0009c4c0 beqz v1, 0x9c57c                  |             
    0x0009c4c4 lw v0, -0x7f94(gp)                |             v0 = *((gp - 8165));
    0x0009c4c8 addiu v0, v0, 0xf10               |             v0 += 0xf10;
    0x0009c4cc lwx v0, v1(v0)                    |             __asm ("lwx v0, v1(v0)");
    0x0009c4d0 addu v0, v0, gp                   |             v0 += gp;
    0x0009c4d4 jr v0                             |             v0 ();
    0x0009c4d8 nop                               |             
                                                 |         }
    0x0009c57c lw t9, -0x7f34(gp)                |         t9 = *(gp);
    0x0009c580 bal 0xb35ac                       |         sym_xmlGenericError ();
    0x0009c584 nop                               |         
    0x0009c588 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x0009c58c lw t9, -0x7f38(gp)                |         t9 = *((gp - 8142));
    0x0009c590 lw s0, (v0)                       |         s0 = *(v0);
    0x0009c594 bal 0xb365c                       |         sym_xmlGenericErrorContext ();
    0x0009c598 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x0009c59c lw a0, (v0)                       |         a0 = *(v0);
    0x0009c5a0 move t9, s0                       |         t9 = s0;
    0x0009c5a4 lw a2, -0x7f94(gp)                |         a2 = *((gp - 8165));
    0x0009c5a8 lw a1, -0x7f94(gp)                |         a1 = *((gp - 8165));
    0x0009c5ac addiu a3, zero, 0x3850            |         a3 = 0x3850;
    0x0009c5b0 addiu a2, a2, 0x10d8              |         a2 += 0x10d8;
    0x0009c5b4 addiu a1, a1, 0x10f4              |         a1 += 0x10f4;
    0x0009c5b8 jalr t9                           |         t9 ();
    0x0009c5bc lw ra, 0x24(sp)                   |         ra = *(var_24h);
    0x0009c5c0 lw s0, 0x20(sp)                   |         s0 = *(var_20h);
    0x0009c5c4 move v0, zero                     |         v0 = 0;
    0x0009c5c8 addiu sp, sp, 0x28                |         
    0x0009c5cc jr ra                             |         return v0;
                                                 |     }
    0x0009c5d0 move v0, zero                     |     v0 = 0;
    0x0009c5d4 jr ra                             |     return v0;
                                                 | label_0:
    0x0009c5d8 move v0, zero                     |     v0 = 0;
    0x0009c5dc jr ra                             |     return v0;
                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x89b6c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlXPathFreeNodeSet ()           | void xmlXPathFreeNodeSet () {
    0x00089b6c lui gp, 0x10                      |     
    0x00089b70 addiu gp, gp, 0x7b04              |     
    0x00089b74 addu gp, gp, t9                   |     gp += t9;
                                                 |     if (a0 == 0) {
    0x00089b78 beqz a0, 0x89c6c                  |         goto label_2;
                                                 |     }
    0x00089b7c nop                               |     
    0x00089b80 addiu sp, sp, -0x30               |     
    0x00089b84 lw v1, 8(a0)                      |     v1 = *((a0 + 2));
    0x00089b88 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x00089b8c sw s1, 0x20(sp)                   |     *(var_20h) = s1;
    0x00089b90 sw ra, 0x2c(sp)                   |     *(var_2ch) = ra;
    0x00089b94 sw s3, 0x28(sp)                   |     *(var_28h) = s3;
    0x00089b98 sw s2, 0x24(sp)                   |     *(var_24h) = s2;
    0x00089b9c sw s0, 0x1c(sp)                   |     *(var_1ch) = s0;
    0x00089ba0 move s1, a0                       |     s1 = a0;
                                                 |     if (v1 == 0) {
    0x00089ba4 beqz v1, 0x89c44                  |         goto label_3;
                                                 |     }
    0x00089ba8 lw a1, (a0)                       |     a1 = *(a0);
                                                 |     if (a1 <= 0) {
    0x00089bac blezl a1, 0x89c10                 |         goto label_4;
                                                 |     }
    0x00089bb0 lw s0, -0x7158(gp)                |     s0 = *(gp);
    0x00089bb4 lw s2, -0x78f0(gp)                |     s2 = *((gp - 7740));
    0x00089bb8 move s0, zero                     |     s0 = 0;
    0x00089bbc addiu s3, zero, 0x12              |     s3 = 0x12;
    0x00089bc0 b 0x89bd0                         |     
                                                 |     while (a0 == 0) {
    0x00089bc4 slt v0, s0, a1                    |         v0 = (s0 < a1) ? 1 : 0;
                                                 |         if (v0 == 0) {
                                                 | label_0:
    0x00089bc8 beql v0, zero, 0x89c10            |             goto label_4;
                                                 |         }
    0x00089bcc lw s0, -0x7158(gp)                |         s0 = *(gp);
                                                 | label_1:
    0x00089bd0 sll a0, s0, 2                     |         a0 = s0 << 2;
    0x00089bd4 lwx a0, a0(v1)                    |         __asm ("lwx a0, a0(v1)");
    0x00089bd8 addiu s0, s0, 1                   |         s0++;
    0x00089bdc beqz a0, 0x89bc4                  |         
                                                 |     }
    0x00089be0 lw v0, 4(a0)                      |     v0 = *((a0 + 1));
    0x00089be4 slt v0, s0, a1                    |     v0 = (s0 < a1) ? 1 : 0;
                                                 |     if (v0 != s3) {
    0x00089be8 bne v0, s3, 0x89bc8               |         goto label_0;
                                                 |     }
    0x00089bec move t9, s2                       |     t9 = s2;
    0x00089bf0 bal 0x88164                       |     sym_xmlXPathNodeSetFreeNs ();
    0x00089bf4 nop                               |     
    0x00089bf8 lw a1, (s1)                       |     a1 = *(s1);
    0x00089bfc lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x00089c00 slt v0, s0, a1                    |     v0 = (s0 < a1) ? 1 : 0;
    0x00089c04 lw v1, 8(s1)                      |     v1 = *((s1 + 2));
                                                 |     if (v0 != 0) {
    0x00089c08 bnez v0, 0x89bd0                  |         goto label_1;
                                                 |     }
    0x00089c0c lw s0, -0x7158(gp)                |     s0 = *(gp);
                                                 | label_4:
    0x00089c10 lw t9, (s0)                       |     t9 = *(s0);
    0x00089c14 move a0, v1                       |     a0 = v1;
    0x00089c18 jalr t9                           |     t9 ();
    0x00089c1c lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x00089c20 lw t9, (s0)                       |     t9 = *(s0);
    0x00089c24 lw ra, 0x2c(sp)                   |     ra = *(var_2ch);
    0x00089c28 lw s3, 0x28(sp)                   |     s3 = *(var_28h);
    0x00089c2c lw s2, 0x24(sp)                   |     s2 = *(var_24h);
    0x00089c30 lw s0, 0x1c(sp)                   |     s0 = *(var_1ch);
    0x00089c34 move a0, s1                       |     a0 = s1;
    0x00089c38 lw s1, 0x20(sp)                   |     s1 = *(var_20h);
    0x00089c3c addiu sp, sp, 0x30                |     
    0x00089c40 jr t9                             |     t9 ();
                                                 | label_3:
    0x00089c44 lw s0, -0x7158(gp)                |     s0 = *(gp);
    0x00089c48 lw ra, 0x2c(sp)                   |     ra = *(var_2ch);
    0x00089c4c lw s3, 0x28(sp)                   |     s3 = *(var_28h);
    0x00089c50 lw t9, (s0)                       |     t9 = *(s0);
    0x00089c54 lw s2, 0x24(sp)                   |     s2 = *(var_24h);
    0x00089c58 lw s0, 0x1c(sp)                   |     s0 = *(var_1ch);
    0x00089c5c move a0, s1                       |     a0 = s1;
    0x00089c60 lw s1, 0x20(sp)                   |     s1 = *(var_20h);
    0x00089c64 addiu sp, sp, 0x30                |     
    0x00089c68 jr t9                             |     t9 ();
                                                 | label_2:
    0x00089c6c jr ra                             |     return v0;
    0x00089c70 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 @ 0x8a5a4 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlXPathFreeNodeSetList ()           | void xmlXPathFreeNodeSetList () {
    0x0008a5a4 lui gp, 0x10                          |     
    0x0008a5a8 addiu gp, gp, 0x70cc                  |     
    0x0008a5ac addu gp, gp, t9                       |     gp += t9;
    0x0008a5b0 lw v0, -0x7158(gp)                    |     v0 = *(gp);
                                                     |     if (a0 != 0) {
    0x0008a5b4 beqz a0, 0x8a5c4                      |         
    0x0008a5b8 lw t9, (v0)                           |         t9 = *(v0);
    0x0008a5bc jr t9                                 |         t9 ();
    0x0008a5c0 nop                                   |         
                                                     |     }
    0x0008a5c4 jr ra                                 |     return v0;
    0x0008a5c8 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 @ 0x8a928 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlXPathHasSameNodes ()          | void xmlXPathHasSameNodes () {
    0x0008a928 lui gp, 0x10                      |     
    0x0008a92c addiu gp, gp, 0x6d48              |     
    0x0008a930 addu gp, gp, t9                   |     gp += t9;
                                                 |     if (a0 == 0) {
    0x0008a934 beqz a0, 0x8aa0c                  |         goto label_1;
                                                 |     }
    0x0008a938 nop                               |     
    0x0008a93c addiu sp, sp, -0x30               |     
    0x0008a940 sw s1, 0x1c(sp)                   |     *(var_1ch) = s1;
    0x0008a944 lw s1, (a0)                       |     s1 = *(a0);
    0x0008a948 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0008a94c sw ra, 0x2c(sp)                   |     *(var_2ch) = ra;
    0x0008a950 sw s4, 0x28(sp)                   |     *(var_28h) = s4;
    0x0008a954 sw s3, 0x24(sp)                   |     *(var_24h) = s3;
    0x0008a958 sw s2, 0x20(sp)                   |     *(var_20h) = s2;
    0x0008a95c sw s0, 0x18(sp)                   |     *(var_18h) = s0;
    0x0008a960 move v0, zero                     |     v0 = 0;
                                                 |     if (s1 == 0) {
    0x0008a964 beqz s1, 0x8a9ec                  |         goto label_2;
                                                 |     }
    0x0008a968 lw v0, 8(a0)                      |     v0 = *((a0 + 2));
    0x0008a96c move v0, zero                     |     v0 = 0;
                                                 |     if (v0 == 0) {
    0x0008a970 beqz v0, 0x8a9ec                  |         goto label_2;
                                                 |     }
                                                 |     if (a1 == 0) {
    0x0008a974 beql a1, zero, 0x8a9f0            |         goto label_3;
                                                 |     }
    0x0008a978 lw ra, 0x2c(sp)                   |     ra = *(var_2ch);
    0x0008a97c lw v0, (a1)                       |     v0 = *(a1);
    0x0008a980 move v0, zero                     |     v0 = 0;
                                                 |     if (v0 == 0) {
    0x0008a984 beqz v0, 0x8a9ec                  |         goto label_2;
                                                 |     }
    0x0008a988 lw v0, 8(a1)                      |     v0 = *((a1 + 2));
    0x0008a98c move v0, zero                     |     v0 = 0;
                                                 |     if (v0 == 0) {
    0x0008a990 beqz v0, 0x8a9ec                  |         goto label_2;
                                                 |     }
    0x0008a994 move s3, a1                       |     s3 = a1;
                                                 |     if (s1 <= 0) {
    0x0008a998 blez s1, 0x8a9ec                  |         goto label_2;
                                                 |     }
    0x0008a99c move s2, a0                       |     s2 = a0;
    0x0008a9a0 lw s4, -0x78e8(gp)                |     s4 = *(gp);
    0x0008a9a4 move v0, s1                       |     v0 = s1;
    0x0008a9a8 move s0, zero                     |     s0 = 0;
    0x0008a9ac b 0x8a9d8                         |     
                                                 |     while (v0 != 0) {
    0x0008a9b0 lw a1, 8(s2)                      |         a1 = *((s2 + 2));
    0x0008a9b4 lwx a1, v1(a1)                    |         __asm ("lwx a1, v1(a1)");
                                                 | label_0:
    0x0008a9b8 move t9, s4                       |         t9 = s4;
    0x0008a9bc move a0, s3                       |         a0 = s3;
    0x0008a9c0 bal 0x88dac                       |         sym_xmlXPathNodeSetContains ();
    0x0008a9c4 addiu s0, s0, 1                   |         s0++;
                                                 |         if (v0 != 0) {
    0x0008a9c8 bnez v0, 0x8aa14                  |             goto label_4;
                                                 |         }
    0x0008a9cc move v0, zero                     |         v0 = 0;
                                                 |         if (s1 == s0) {
    0x0008a9d0 beq s1, s0, 0x8a9ec               |             goto label_2;
                                                 |         }
    0x0008a9d4 lw v0, (s2)                       |         v0 = *(s2);
    0x0008a9d8 slt v0, s0, v0                    |         v0 = (s0 < v0) ? 1 : 0;
    0x0008a9dc sll v1, s0, 2                     |         v1 = s0 << 2;
    0x0008a9e0 bnez v0, 0x8a9b0                  |         
                                                 |     }
    0x0008a9e4 move a1, zero                     |     a1 = 0;
    0x0008a9e8 b 0x8a9b8                         |     goto label_0;
                                                 |     do {
                                                 | label_2:
    0x0008a9ec lw ra, 0x2c(sp)                   |         ra = *(var_2ch);
                                                 | label_3:
    0x0008a9f0 lw s4, 0x28(sp)                   |         s4 = *(var_28h);
    0x0008a9f4 lw s3, 0x24(sp)                   |         s3 = *(var_24h);
    0x0008a9f8 lw s2, 0x20(sp)                   |         s2 = *(var_20h);
    0x0008a9fc lw s1, 0x1c(sp)                   |         s1 = *(var_1ch);
    0x0008aa00 lw s0, 0x18(sp)                   |         s0 = *(var_18h);
    0x0008aa04 addiu sp, sp, 0x30                |         
    0x0008aa08 jr ra                             |         return v0;
                                                 | label_1:
    0x0008aa0c move v0, zero                     |         v0 = 0;
    0x0008aa10 jr ra                             |         return v0;
                                                 | label_4:
    0x0008aa14 addiu v0, zero, 1                 |         v0 = 1;
    0x0008aa18 b 0x8a9ec                         |         
                                                 |     } while (1);
                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x8aab8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlXPathLeadingSorted ()         | void xmlXPathLeadingSorted () {
    0x0008aab8 lui gp, 0x10                      |     
    0x0008aabc addiu gp, gp, 0x6bb8              |     
    0x0008aac0 addu gp, gp, t9                   |     gp += t9;
    0x0008aac4 move v0, a0                       |     v0 = a0;
                                                 |     if (a1 != 0) {
    0x0008aac8 beqz a1, 0x8ab04                  |         
    0x0008aacc lw v1, (a1)                       |         v1 = *(a1);
                                                 |         if (v1 == 0) {
    0x0008aad0 beqz v1, 0x8ab04                  |             goto label_0;
                                                 |         }
    0x0008aad4 nop                               |         
    0x0008aad8 lw a1, 8(a1)                      |         a1 = *((a1 + 2));
    0x0008aadc slti v1, v1, 2                    |         v1 = (v1 < 2) ? 1 : 0;
                                                 |         if (a1 == 0) {
    0x0008aae0 beqz a1, 0x8ab04                  |             goto label_0;
                                                 |         }
                                                 |         if (v1 != 0) {
    0x0008aae4 bnez v1, 0x8ab04                  |             goto label_0;
                                                 |         }
    0x0008aae8 nop                               |         
    0x0008aaec lw a1, 4(a1)                      |         a1 = *((a1 + 1));
    0x0008aaf0 lw t9, -0x78d0(gp)                |         t9 = *(gp);
                                                 |         if (a1 == 0) {
    0x0008aaf4 beqz a1, 0x8ab04                  |             goto label_0;
                                                 |         }
    0x0008aaf8 addiu t9, t9, -0x6cfc             |         t9 += -0x6cfc;
    0x0008aafc b 0x89304                         |         void (*0x89304)() ();
    0x0008ab00 nop                               |         
                                                 |     }
                                                 | label_0:
    0x0008ab04 jr ra                             |     return v1;
    0x0008ab08 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 @ 0x840a0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlXPathNextAncestor ()      | void xmlXPathNextAncestor () {
    0x000840a0 lui gp, 0x11                  |     
    0x000840a4 addiu gp, gp, -0x2a30         |     
    0x000840a8 addu gp, gp, t9               |     gp += t9;
                                             |     if (a0 == 0) {
    0x000840ac beqz a0, 0x84268              |         void (*0x84268)() ();
                                             |     }
    0x000840b0 nop                           |     
    0x000840b4 lw v1, 0xc(a0)                |     v1 = *((a0 + 3));
                                             |     if (v1 == 0) {
    0x000840b8 beqz v1, 0x84268              |         void (*0x84268)() ();
                                             |     }
    0x000840bc nop                           |     
    0x000840c0 addiu sp, sp, -0x28           |     
    0x000840c4 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000840c8 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x000840cc sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x000840d0 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x000840d4 move s0, a1                   |     s0 = a1;
    0x000840d8 move s1, a0                   |     s1 = a0;
                                             |     if (a1 == 0) {
    0x000840dc beqz a1, 0x84180              |         goto label_4;
                                             |     }
    0x000840e0 lw v0, (v1)                   |     v0 = *(v1);
    0x000840e4 lw v1, 0xc(v0)                |     v1 = *((v0 + 3));
                                             |     if (v1 == a1) {
    0x000840e8 beql v1, a1, 0x84140          |         goto label_2;
                                             |     }
    0x000840ec lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x000840f0 move v0, zero                 |     v0 = 0;
                                             |     if (v0 == a1) {
    0x000840f4 beq v0, a1, 0x8416c           |         goto label_1;
                                             |     }
    0x000840f8 lw v0, 4(a1)                  |     v0 = *((a1 + 1));
    0x000840fc sltiu v1, v0, 0x15            |     v1 = (v0 < 0x15) ? 1 : 0;
    0x00084100 addiu a0, zero, 1             |     a0 = 1;
                                             |     if (v1 == 0) {
    0x00084104 beqz v1, 0x84168              |         goto label_0;
                                             |     }
    0x00084108 lui v1, 0x1b                  |     v1 = 0x1b0000;
    0x0008410c sllv v0, a0, v0               |     v0 = a0 << v0;
    0x00084110 ori v1, v1, 0xd1fa            |     v1 |= 0xd1fa;
    0x00084114 and v1, v0, v1                |     v1 = v0 & v1;
    0x00084118 lw v0, 0x14(a1)               |     v0 = *((a1 + 5));
                                             |     if (v1 == 0) {
    0x0008411c bnel v1, zero, 0x841b4        |         goto label_5;
                                             |     }
    0x00084120 ext v1, v0, 0x12, 1           |     __asm ("ext v1, v0, 0x12, 1");
    0x00084124 lw v0, (a1)                   |     v0 = *(a1);
                                             |     if (v1 == 0) {
    0x00084128 bnel v1, zero, 0x84150        |         goto label_6;
                                             |     }
    0x0008412c andi v0, v0, 4                |     v0 &= 4;
    0x00084130 move v0, zero                 |     v0 = 0;
                                             |     if (v0 == 0) {
    0x00084134 beqz v0, 0x8416c              |         goto label_1;
                                             |     }
    0x00084138 lw v0, 0x14(s0)               |     v0 = *((s0 + 5));
                                             | label_3:
    0x0008413c lw ra, 0x24(sp)               |     ra = *(var_24h);
                                             |     do {
                                             | label_2:
    0x00084140 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x00084144 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x00084148 addiu sp, sp, 0x28            |         
    0x0008414c jr ra                         |         return v0;
                                             |         if (v0 == 0) {
                                             | label_6:
    0x00084150 beql v0, zero, 0x8416c        |             goto label_1;
                                             |         }
    0x00084154 move v0, zero                 |         v0 = 0;
    0x00084158 lw a0, 4(v0)                  |         a0 = *((v0 + 1));
    0x0008415c addiu v1, zero, 0x12          |         v1 = 0x12;
    0x00084160 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x00084164 bne a0, v1, 0x84140           |         
                                             |     } while (a0 != v1);
                                             | label_0:
    0x00084168 move v0, zero                 |     v0 = 0;
                                             |     do {
                                             | label_1:
    0x0008416c lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x00084170 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x00084174 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x00084178 addiu sp, sp, 0x28            |         
    0x0008417c jr ra                         |         return v0;
                                             | label_4:
    0x00084180 lw a1, 4(v1)                  |         a1 = *((v1 + 1));
    0x00084184 move v0, zero                 |         v0 = 0;
    0x00084188 beqz a1, 0x8416c              |         
                                             |     } while (a1 == 0);
    0x0008418c lw v0, 4(a1)                  |     v0 = *((a1 + 1));
    0x00084190 sltiu a0, v0, 0x15            |     a0 = (v0 < 0x15) ? 1 : 0;
    0x00084194 sll a0, v0, 2                 |     a0 = v0 << 2;
                                             |     if (a0 == 0) {
    0x00084198 beqz a0, 0x84168              |         goto label_0;
                                             |     }
    0x0008419c lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x000841a0 addiu v0, v0, 0xab0           |     v0 += 0xab0;
    0x000841a4 lwx v0, a0(v0)                |     __asm ("lwx v0, a0(v0)");
    0x000841a8 addu v0, v0, gp               |     v0 += gp;
    0x000841ac jr v0                         |     v0 ();
    0x000841b0 nop                           |     
                                             |     if (v0 == 0) {
                                             | label_5:
    0x000841b4 beql v0, zero, 0x8416c        |         goto label_1;
                                             |     }
    0x000841b8 move v0, zero                 |     v0 = 0;
    0x000841bc lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x000841c0 lw ra, 0x24(sp)               |     ra = *(var_24h);
                                             |     if (v1 != a0) {
    0x000841c4 bne v1, a0, 0x84140           |         goto label_2;
                                             |     }
    0x000841c8 lw a0, 8(v0)                  |     a0 = *((v0 + 2));
    0x000841cc addiu v0, zero, 0x20          |     v0 = 0x20;
    0x000841d0 lbu v1, (a0)                  |     v1 = *(a0);
    0x000841d4 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
                                             |     if (v1 == v0) {
    0x000841d8 beq v1, v0, 0x84168           |         goto label_0;
                                             |     }
    0x000841dc lw a1, -0x7f94(gp)            |     a1 = *((gp - 8165));
    0x000841e0 addiu a1, a1, 0xf40           |     a1 += 0xf40;
    0x000841e4 jalr t9                       |     t9 ();
    0x000841e8 move v0, zero                 |     v0 = 0;
                                             |     if (v0 == 0) {
    0x000841ec bnel v0, zero, 0x8416c        |         goto label_1;
                                             |     }
    0x000841f0 lw v0, 0x14(s0)               |     v0 = *((s0 + 5));
    0x000841f4 b 0x8413c                     |     goto label_3;
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x84270 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlXPathNextAncestorOrSelf ()        | void xmlXPathNextAncestorOrSelf () {
    0x00084270 lui gp, 0x11                          |     
    0x00084274 addiu gp, gp, -0x2c00                 |     
    0x00084278 addu gp, gp, t9                       |     gp += t9;
                                                     |     if (a0 != 0) {
    0x0008427c beqz a0, 0x842a8                      |         
    0x00084280 nop                                   |         
    0x00084284 lw v0, 0xc(a0)                        |         v0 = *((a0 + 3));
                                                     |         if (v0 == 0) {
    0x00084288 beqz v0, 0x842b0                      |             goto label_0;
                                                     |         }
    0x0008428c nop                                   |         
    0x00084290 lw t9, -0x7930(gp)                    |         t9 = *(gp);
                                                     |         if (a1 != 0) {
    0x00084294 beqz a1, 0x842a0                      |             
    0x00084298 b 0x840a0                             |             void (*0x840a0)() ();
    0x0008429c nop                                   |             
                                                     |         }
    0x000842a0 lw v0, 4(v0)                          |         v0 = *((v0 + 1));
    0x000842a4 jr ra                                 |         return v0;
                                                     |     }
    0x000842a8 move v0, zero                         |     v0 = 0;
    0x000842ac jr ra                                 |     return v0;
                                                     | label_0:
    0x000842b0 move v0, zero                         |     v0 = 0;
    0x000842b4 jr ra                                 |     return v0;
                                                     | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x89164 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlXPathNodeSetAddUnique ()      | void xmlXPathNodeSetAddUnique () {
    0x00089164 lui gp, 0x11                      |     
    0x00089168 addiu gp, gp, -0x7af4             |     
    0x0008916c addu gp, gp, t9                   |     gp += t9;
                                                 |     if (a0 == 0) {
    0x00089170 beqz a0, 0x892cc                  |         goto label_2;
                                                 |     }
    0x00089174 nop                               |     
                                                 |     if (a1 == 0) {
    0x00089178 beqz a1, 0x892d4                  |         goto label_3;
                                                 |     }
    0x0008917c nop                               |     
    0x00089180 addiu sp, sp, -0x28               |     
    0x00089184 lw v0, 4(a0)                      |     v0 = *((a0 + 1));
    0x00089188 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0008918c sw s2, 0x20(sp)                   |     *(var_20h) = s2;
    0x00089190 sw s0, 0x18(sp)                   |     *(var_18h) = s0;
    0x00089194 sw ra, 0x24(sp)                   |     *(var_24h) = ra;
    0x00089198 sw s1, 0x1c(sp)                   |     *(var_1ch) = s1;
    0x0008919c move s2, a1                       |     s2 = a1;
    0x000891a0 move s0, a0                       |     s0 = a0;
                                                 |     if (v0 == 0) {
    0x000891a4 beqz v0, 0x891f4                  |         goto label_4;
                                                 |     }
    0x000891a8 lw v1, (a0)                       |     v1 = *(a0);
                                                 |     if (v0 == v1) {
    0x000891ac beql v0, v1, 0x89288              |         goto label_5;
                                                 |     }
    0x000891b0 lui a0, 0x98                      |     a0 = 0x980000;
    0x000891b4 lw v0, 8(a0)                      |     v0 = *((a0 + 2));
                                                 | label_0:
    0x000891b8 lw a1, 4(s2)                      |     a1 = *((s2 + 1));
    0x000891bc sll s1, v1, 2                     |     s1 = v1 << 2;
    0x000891c0 addiu a0, zero, 0x12              |     a0 = 0x12;
    0x000891c4 addiu v1, v1, 1                   |     v1++;
    0x000891c8 addu s1, v0, s1                   |     s1 = v0 + s1;
                                                 |     if (a1 == a0) {
    0x000891cc beq a1, a0, 0x89250               |         goto label_6;
                                                 |     }
                                                 |     do {
    0x000891d0 sw v1, (s0)                       |         *(s0) = v1;
    0x000891d4 move v0, zero                     |         v0 = 0;
    0x000891d8 sw s2, (s1)                       |         *(s1) = s2;
                                                 | label_1:
    0x000891dc lw ra, 0x24(sp)                   |         ra = *(var_24h);
    0x000891e0 lw s2, 0x20(sp)                   |         s2 = *(var_20h);
    0x000891e4 lw s1, 0x1c(sp)                   |         s1 = *(var_1ch);
    0x000891e8 lw s0, 0x18(sp)                   |         s0 = *(var_18h);
    0x000891ec addiu sp, sp, 0x28                |         
    0x000891f0 jr ra                             |         return v0;
                                                 | label_4:
    0x000891f4 lw v0, -0x716c(gp)                |         v0 = *(gp);
    0x000891f8 lw t9, (v0)                       |         t9 = *(v0);
    0x000891fc addiu a0, zero, 0x28              |         a0 = 0x28;
    0x00089200 jalr t9                           |         t9 ();
    0x00089204 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00089208 sw v0, 8(s0)                      |         *((s0 + 2)) = v0;
                                                 |         if (v0 == 0) {
    0x0008920c beqz v0, 0x892dc                  |             goto label_7;
                                                 |         }
    0x00089210 lw t9, -0x6ea4(gp)                |         t9 = *((gp - 7081));
    0x00089214 move a1, zero                     |         a1 = 0;
    0x00089218 move a0, v0                       |         a0 = v0;
    0x0008921c addiu a2, zero, 0x28              |         a2 = 0x28;
    0x00089220 jalr t9                           |         t9 ();
    0x00089224 addiu v0, zero, 0xa               |         v0 = 0xa;
    0x00089228 lw v1, (s0)                       |         v1 = *(s0);
    0x0008922c lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00089230 lw a1, 4(s2)                      |         a1 = *((s2 + 1));
    0x00089234 sw v0, 4(s0)                      |         *((s0 + 1)) = v0;
    0x00089238 lw v0, 8(s0)                      |         v0 = *((s0 + 2));
    0x0008923c sll s1, v1, 2                     |         s1 = v1 << 2;
    0x00089240 addiu a0, zero, 0x12              |         a0 = 0x12;
    0x00089244 addiu v1, v1, 1                   |         v1++;
    0x00089248 addu s1, v0, s1                   |         s1 = v0 + s1;
    0x0008924c bne a1, a0, 0x891d0               |         
                                                 |     } while (a1 != a0);
                                                 | label_6:
    0x00089250 lw t9, -0x7994(gp)                |     t9 = *(gp);
    0x00089254 lw a0, (s2)                       |     a0 = *(s2);
    0x00089258 move a1, s2                       |     a1 = s2;
    0x0008925c addiu t9, t9, 0x54d0              |     t9 += 0x54d0;
    0x00089260 sw v1, (s0)                       |     *(s0) = v1;
    0x00089264 bal 0x854d0                       |     fcn_000854d0 ();
    0x00089268 lw ra, 0x24(sp)                   |     ra = *(var_24h);
    0x0008926c sw v0, (s1)                       |     *(s1) = v0;
    0x00089270 lw s2, 0x20(sp)                   |     s2 = *(var_20h);
    0x00089274 lw s1, 0x1c(sp)                   |     s1 = *(var_1ch);
    0x00089278 lw s0, 0x18(sp)                   |     s0 = *(var_18h);
    0x0008927c move v0, zero                     |     v0 = 0;
    0x00089280 addiu sp, sp, 0x28                |     
    0x00089284 jr ra                             |     return v0;
                                                 | label_5:
    0x00089288 ori a0, a0, 0x9680                |     a0 |= aav.0x00009680;
    0x0008928c slt v0, v0, a0                    |     v0 = (v0 < a0) ? 1 : 0;
    0x00089290 lw a0, -0x7f94(gp)                |     a0 = *((gp - 8165));
                                                 |     if (v0 == 0) {
    0x00089294 beqz v0, 0x892fc                  |         goto label_8;
                                                 |     }
    0x00089298 lw v0, -0x6e24(gp)                |     v0 = *(gp);
    0x0008929c lw a0, 8(s0)                      |     a0 = *((s0 + 2));
    0x000892a0 lw t9, (v0)                       |     t9 = *(v0);
    0x000892a4 sll a1, v1, 3                     |     a1 = v1 << 3;
    0x000892a8 jalr t9                           |     t9 ();
    0x000892ac lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 != 0) {
    0x000892b0 beqz v0, 0x892dc                  |         
    0x000892b4 lw a0, 4(s0)                      |         a0 = *((s0 + 1));
    0x000892b8 lw v1, (s0)                       |         v1 = *(s0);
    0x000892bc sll a0, a0, 1                     |         a0 <<= 1;
    0x000892c0 sw v0, 8(s0)                      |         *((s0 + 2)) = v0;
    0x000892c4 sw a0, 4(s0)                      |         *((s0 + 1)) = a0;
    0x000892c8 b 0x891b8                         |         goto label_0;
                                                 | label_2:
    0x000892cc addiu v0, zero, -1                |         v0 = -1;
    0x000892d0 jr ra                             |         return v0;
                                                 | label_3:
    0x000892d4 addiu v0, zero, -1                |         v0 = -1;
    0x000892d8 jr ra                             |         return v0;
                                                 |     }
                                                 | label_7:
    0x000892dc lw a0, -0x7f94(gp)                |     a0 = *((gp - 8165));
    0x000892e0 addiu a0, a0, 0x10a8              |     a0 += 0x10a8;
                                                 |     do {
    0x000892e4 lw t9, -0x7994(gp)                |         t9 = *(gp);
    0x000892e8 addiu t9, t9, 0x4de8              |         t9 += 0x4de8;
    0x000892ec bal 0x84de8                       |         fcn_00084de8 ();
    0x000892f0 nop                               |         
    0x000892f4 addiu v0, zero, -1                |         v0 = -1;
    0x000892f8 b 0x891dc                         |         goto label_1;
                                                 | label_8:
    0x000892fc addiu a0, a0, 0x10bc              |         a0 += aav.0x000010bc;
    0x00089300 b 0x892e4                         |         
                                                 |     } while (1);
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x884d0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlXPathNodeSetCreate ()     | void xmlXPathNodeSetCreate () {
    0x000884d0 lui gp, 0x11                  |     
    0x000884d4 addiu gp, gp, -0x6e60         |     
    0x000884d8 addu gp, gp, t9               |     gp += t9;
    0x000884dc addiu sp, sp, -0x28           |     
    0x000884e0 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x000884e4 lw s2, -0x716c(gp)            |     s2 = *(gp);
    0x000884e8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000884ec sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x000884f0 lw t9, (s2)                   |     t9 = *(s2);
    0x000884f4 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x000884f8 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x000884fc move s1, a0                   |     s1 = a0;
    0x00088500 addiu a0, zero, 0xc           |     a0 = 0xc;
    0x00088504 jalr t9                       |     t9 ();
    0x00088508 move s0, v0                   |     s0 = v0;
    0x0008850c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00088510 beqz v0, 0x88610              |         goto label_1;
                                             |     }
    0x00088514 sb zero, (v0)                 |     *(v0) = 0;
    0x00088518 sb zero, 1(v0)                |     *((v0 + 1)) = 0;
    0x0008851c sb zero, 2(v0)                |     *((v0 + 2)) = 0;
    0x00088520 sb zero, 3(v0)                |     *((v0 + 3)) = 0;
    0x00088524 sb zero, 4(v0)                |     *((v0 + 4)) = 0;
    0x00088528 sb zero, 5(v0)                |     *((v0 + 5)) = 0;
    0x0008852c sb zero, 6(v0)                |     *((v0 + 6)) = 0;
    0x00088530 sb zero, 7(v0)                |     *((v0 + 7)) = 0;
    0x00088534 sb zero, 8(v0)                |     *((v0 + 8)) = 0;
    0x00088538 sb zero, 9(v0)                |     *((v0 + 9)) = 0;
    0x0008853c sb zero, 0xa(v0)              |     *((v0 + 10)) = 0;
    0x00088540 sb zero, 0xb(v0)              |     *((v0 + 11)) = 0;
                                             |     if (s1 != 0) {
    0x00088544 beqz s1, 0x885a8              |         
    0x00088548 lw t9, (s2)                   |         t9 = *(s2);
    0x0008854c addiu a0, zero, 0x28          |         a0 = 0x28;
    0x00088550 jalr t9                       |         t9 ();
    0x00088554 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00088558 sw v0, 8(s0)                  |         *((s0 + 2)) = v0;
                                             |         if (v0 == 0) {
    0x0008855c beqz v0, 0x8862c              |             goto label_2;
                                             |         }
    0x00088560 lw t9, -0x6ea4(gp)            |         t9 = *((gp - 7081));
    0x00088564 move a0, v0                   |         a0 = v0;
    0x00088568 addiu a2, zero, 0x28          |         a2 = 0x28;
    0x0008856c move a1, zero                 |         a1 = 0;
    0x00088570 jalr t9                       |         t9 ();
    0x00088574 lw v1, 4(s1)                  |         v1 = *((s1 + 1));
    0x00088578 addiu a0, zero, 0xa           |         a0 = 0xa;
    0x0008857c addiu v0, zero, 0x12          |         v0 = 0x12;
    0x00088580 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00088584 sw a0, 4(s0)                  |         *((s0 + 1)) = a0;
                                             |         if (v1 == v0) {
    0x00088588 beq v1, v0, 0x885c4           |             goto label_3;
                                             |         }
    0x0008858c lw v0, (s0)                   |         v0 = *(s0);
    0x00088590 lw v1, 8(s0)                  |         v1 = *((s0 + 2));
    0x00088594 sll a0, v0, 2                 |         a0 = v0 << 2;
    0x00088598 addu v1, v1, a0               |         v1 += a0;
    0x0008859c addiu v0, v0, 1               |         v0++;
    0x000885a0 sw v0, (s0)                   |         *(s0) = v0;
    0x000885a4 sw s1, (v1)                   |         *(v1) = s1;
                                             |     }
    0x000885a8 lw ra, 0x24(sp)               |     ra = *(var_24h);
                                             |     do {
                                             | label_0:
    0x000885ac move v0, s0                   |         v0 = s0;
    0x000885b0 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x000885b4 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x000885b8 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x000885bc addiu sp, sp, 0x28            |         
    0x000885c0 jr ra                         |         return v0;
                                             | label_3:
    0x000885c4 lw v0, (s0)                   |         v0 = *(s0);
    0x000885c8 lw t9, -0x7994(gp)            |         t9 = *(gp);
    0x000885cc lw a0, (s1)                   |         a0 = *(s1);
    0x000885d0 addiu v1, v0, 1               |         v1 = v0 + 1;
    0x000885d4 lw s2, 8(s0)                  |         s2 = *((s0 + 2));
    0x000885d8 sw v1, (s0)                   |         *(s0) = v1;
    0x000885dc move a1, s1                   |         a1 = s1;
    0x000885e0 sll v0, v0, 2                 |         v0 <<= 2;
    0x000885e4 addiu t9, t9, 0x54d0          |         t9 += 0x54d0;
    0x000885e8 addu s2, s2, v0               |         s2 += v0;
    0x000885ec bal 0x854d0                   |         fcn_000854d0 ();
    0x000885f0 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x000885f4 sw v0, (s2)                   |         *(s2) = v0;
    0x000885f8 lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x000885fc move v0, s0                   |         v0 = s0;
    0x00088600 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x00088604 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x00088608 addiu sp, sp, 0x28            |         
    0x0008860c jr ra                         |         return v0;
                                             | label_1:
    0x00088610 lw a0, -0x7f94(gp)            |         a0 = *((gp - 8165));
    0x00088614 lw t9, -0x7994(gp)            |         t9 = *(gp);
    0x00088618 addiu t9, t9, 0x4de8          |         t9 += 0x4de8;
    0x0008861c addiu a0, a0, 0x1014          |         a0 += 0x1014;
    0x00088620 bal 0x84de8                   |         fcn_00084de8 ();
    0x00088624 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x00088628 b 0x885ac                     |         
                                             |     } while (1);
                                             | label_2:
    0x0008862c lw a0, -0x7f94(gp)            |     a0 = *((gp - 8165));
    0x00088630 lw t9, -0x7994(gp)            |     t9 = *(gp);
    0x00088634 addiu t9, t9, 0x4de8          |     t9 += 0x4de8;
    0x00088638 addiu a0, a0, 0x1014          |     a0 += 0x1014;
    0x0008863c bal 0x84de8                   |     fcn_00084de8 ();
    0x00088640 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00088644 move a0, s0                   |     a0 = s0;
    0x00088648 lw v0, -0x7158(gp)            |     v0 = *(gp);
    0x0008864c lw t9, (v0)                   |     t9 = *(v0);
    0x00088650 move s0, zero                 |     s0 = 0;
    0x00088654 jalr t9                       |     t9 ();
    0x00088658 lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x0008865c b 0x885ac                     |     goto label_0;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x9ca9c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlXPathSetContextNode ()        | void xmlXPathSetContextNode () {
                                                 |     if (a0 != 0) {
    0x0009ca9c beqz a0, 0x9cad0                  |         
    0x0009caa0 nop                               |         
                                                 |         if (a1 == 0) {
    0x0009caa4 beqz a1, 0x9cad0                  |             goto label_0;
                                                 |         }
    0x0009caa8 nop                               |         
    0x0009caac lw v1, 0x20(a0)                   |         v1 = *((a0 + 8));
    0x0009cab0 lw v0, (a1)                       |         v0 = *(a1);
                                                 |         if (v1 == v0) {
    0x0009cab4 bne v1, v0, 0x9cac8               |             
    0x0009cab8 nop                               |             
    0x0009cabc sw a0, 4(a1)                      |             *((a1 + 1)) = a0;
    0x0009cac0 move v0, zero                     |             v0 = 0;
    0x0009cac4 jr ra                             |             return v0;
                                                 |         }
    0x0009cac8 addiu v0, zero, -1                |         v0 = -1;
    0x0009cacc jr ra                             |         return v0;
                                                 |     }
                                                 | label_0:
    0x0009cad0 addiu v0, zero, -1                |     v0 = -1;
    0x0009cad4 jr ra                             |     return v0;
                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x8ac98 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlXPathTrailingSorted ()        | void xmlXPathTrailingSorted () {
    0x0008ac98 lui gp, 0x10                      |     
    0x0008ac9c addiu gp, gp, 0x69d8              |     
    0x0008aca0 addu gp, gp, t9                   |     gp += t9;
    0x0008aca4 move v0, a0                       |     v0 = a0;
                                                 |     if (a1 != 0) {
    0x0008aca8 beqz a1, 0x8ace4                  |         
    0x0008acac lw v1, (a1)                       |         v1 = *(a1);
                                                 |         if (v1 == 0) {
    0x0008acb0 beqz v1, 0x8ace4                  |             goto label_0;
                                                 |         }
    0x0008acb4 nop                               |         
    0x0008acb8 lw a1, 8(a1)                      |         a1 = *((a1 + 2));
                                                 |         if (a1 == 0) {
    0x0008acbc beqz a1, 0x8ace4                  |             goto label_0;
                                                 |         }
    0x0008acc0 nop                               |         
                                                 |         if (v1 <= 0) {
    0x0008acc4 blez v1, 0x8ace4                  |             goto label_0;
                                                 |         }
    0x0008acc8 nop                               |         
    0x0008accc lw a1, (a1)                       |         a1 = *(a1);
    0x0008acd0 lw t9, -0x78d0(gp)                |         t9 = *(gp);
                                                 |         if (a1 == 0) {
    0x0008acd4 beqz a1, 0x8ace4                  |             goto label_0;
                                                 |         }
    0x0008acd8 addiu t9, t9, -0x6bec             |         t9 += -0x6bec;
    0x0008acdc b 0x89414                         |         void (*0x89414)() ();
    0x0008ace0 nop                               |         
                                                 |     }
                                                 | label_0:
    0x0008ace4 jr ra                             |     return v1;
    0x0008ace8 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 @ 0x8acec */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlXPathTrailing ()          | void xmlXPathTrailing () {
    0x0008acec lui gp, 0x10                  |     
    0x0008acf0 addiu gp, gp, 0x6984          |     
    0x0008acf4 addu gp, gp, t9               |     gp += t9;
    0x0008acf8 move v0, a0                   |     v0 = a0;
                                             |     if (a1 != 0) {
    0x0008acfc beqz a1, 0x8adc0              |         
    0x0008ad00 lw v1, (a1)                   |         v1 = *(a1);
                                             |         if (v1 == 0) {
    0x0008ad04 beqz v1, 0x8adc0              |             goto label_0;
                                             |         }
    0x0008ad08 nop                           |         
    0x0008ad0c lw v1, 8(a1)                  |         v1 = *((a1 + 2));
                                             |         if (v1 == 0) {
    0x0008ad10 beqz v1, 0x8adc0              |             goto label_0;
                                             |         }
    0x0008ad14 nop                           |         
    0x0008ad18 addiu sp, sp, -0x28           |         
    0x0008ad1c sw gp, 0x10(sp)               |         *(var_10h) = gp;
    0x0008ad20 sw ra, 0x24(sp)               |         *(var_24h) = ra;
    0x0008ad24 sw s0, 0x20(sp)               |         *(var_20h) = s0;
    0x0008ad28 lw ra, 0x24(sp)               |         ra = *(var_24h);
                                             |         if (a0 != 0) {
    0x0008ad2c beqz a0, 0x8adac              |             
    0x0008ad30 lw v1, (a0)                   |             v1 = *(a0);
    0x0008ad34 lw s0, 0x20(sp)               |             s0 = *(var_20h);
                                             |             if (v1 == 0) {
    0x0008ad38 beqz v1, 0x8adb0              |                 goto label_1;
                                             |             }
    0x0008ad3c lw v1, 8(a0)                  |             v1 = *((a0 + 2));
                                             |             if (v1 == 0) {
    0x0008ad40 beqz v1, 0x8adb0              |                 goto label_1;
                                             |             }
    0x0008ad44 nop                           |             
    0x0008ad48 lw s0, -0x7994(gp)            |             s0 = *(gp);
    0x0008ad4c sw a1, 0x18(sp)               |             *(var_18h) = a1;
    0x0008ad50 addiu s0, s0, 0x6ee4          |             s0 += aav.0x00006ee4;
    0x0008ad54 move t9, s0                   |             t9 = s0;
    0x0008ad58 sw a0, 0x1c(sp)               |             *(var_1ch) = a0;
    0x0008ad5c bal 0x86ee4                   |             fcn_00086ee4 ();
    0x0008ad60 lw a1, 0x18(sp)               |             a1 = *(var_18h);
    0x0008ad64 move t9, s0                   |             t9 = s0;
    0x0008ad68 move a0, a1                   |             a0 = a1;
    0x0008ad6c bal 0x86ee4                   |             fcn_00086ee4 ();
    0x0008ad70 lw a1, 0x18(sp)               |             a1 = *(var_18h);
    0x0008ad74 lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x0008ad78 lw v1, (a1)                   |             v1 = *(a1);
    0x0008ad7c lw v0, 0x1c(sp)               |             v0 = *(var_1ch);
                                             |             if (v1 <= 0) {
    0x0008ad80 blez v1, 0x8adc8              |                 goto label_2;
                                             |             }
    0x0008ad84 lw v1, 8(a1)                  |             v1 = *((a1 + 2));
    0x0008ad88 lw a1, (v1)                   |             a1 = *(v1);
    0x0008ad8c lw t9, -0x78d0(gp)            |             t9 = *(gp);
                                             |             if (a1 == 0) {
    0x0008ad90 beqz a1, 0x8adc8              |                 goto label_2;
                                             |             }
    0x0008ad94 lw ra, 0x24(sp)               |             ra = *(var_24h);
    0x0008ad98 lw s0, 0x20(sp)               |             s0 = *(var_20h);
    0x0008ad9c move a0, v0                   |             a0 = v0;
    0x0008ada0 addiu t9, t9, -0x6bec         |             t9 += -0x6bec;
    0x0008ada4 addiu sp, sp, 0x28            |             
    0x0008ada8 b 0x89414                     |             void (*0x89414)() ();
                                             |         }
    0x0008adac lw s0, 0x20(sp)               |         s0 = *(var_20h);
                                             | label_1:
    0x0008adb0 lw t9, -0x78ec(gp)            |         t9 = *((gp - 7739));
    0x0008adb4 move a0, zero                 |         a0 = 0;
    0x0008adb8 addiu sp, sp, 0x28            |         
    0x0008adbc b 0x884d0                     |         void (*0x884d0)() ();
                                             |     }
                                             | label_0:
    0x0008adc0 jr ra                         |     return v1;
    0x0008adc4 nop                           |     
                                             | label_2:
    0x0008adc8 lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x0008adcc lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x0008add0 addiu sp, sp, 0x28            |     
    0x0008add4 jr ra                         |     return v1;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x9f5c0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.xmlXPtrEval ()               | void xmlXPtrEval () {
    0x0009f5c0 lui gp, 0xf                   |     
    0x0009f5c4 addiu gp, gp, 0x20b0          |     
    0x0009f5c8 addu gp, gp, t9               |     gp += t9;
    0x0009f5cc addiu sp, sp, -0x60           |     
    0x0009f5d0 lw t9, -0x7e48(gp)            |     t9 = *(gp);
    0x0009f5d4 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0009f5d8 sw s3, 0x44(sp)               |     *(var_44h) = s3;
    0x0009f5dc sw s0, 0x38(sp)               |     *(var_38h) = s0;
    0x0009f5e0 sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x0009f5e4 sw fp, 0x58(sp)               |     *(var_58h) = fp;
    0x0009f5e8 sw s7, 0x54(sp)               |     *(var_54h) = s7;
    0x0009f5ec sw s6, 0x50(sp)               |     *(var_50h) = s6;
    0x0009f5f0 sw s5, 0x4c(sp)               |     *(var_4ch) = s5;
    0x0009f5f4 sw s4, 0x48(sp)               |     *(var_48h) = s4;
    0x0009f5f8 sw s2, 0x40(sp)               |     *(var_40h) = s2;
    0x0009f5fc sw s1, 0x3c(sp)               |     *(var_3ch) = s1;
    0x0009f600 move s3, a1                   |     s3 = a1;
    0x0009f604 move s0, a0                   |     s0 = a0;
    0x0009f608 bal 0x86f00                   |     sym_xmlXPathInit ();
    0x0009f60c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s3 == 0) {
    0x0009f610 beqz s3, 0x9f840              |         goto label_24;
                                             |     }
    0x0009f614 lw t9, -0x77a4(gp)            |     t9 = *(gp);
                                             |     if (s0 == 0) {
    0x0009f618 beqz s0, 0x9f840              |         goto label_24;
                                             |     }
    0x0009f61c move a0, s0                   |     a0 = s0;
    0x0009f620 move a1, s3                   |     a1 = s3;
    0x0009f624 bal 0x93410                   |     sym_xmlXPathNewParserContext ();
    0x0009f628 move s0, v0                   |     s0 = v0;
    0x0009f62c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0009f630 beqz v0, 0x9f840              |         goto label_24;
                                             |     }
    0x0009f634 lw v0, 0x1c(v0)               |     v0 = *((v0 + 7));
    0x0009f638 addiu v1, zero, 1             |     v1 = 1;
    0x0009f63c sw v1, 0x24(s0)               |     *((s0 + 9)) = v1;
                                             |     if (v0 == 0) {
    0x0009f640 beqz v0, 0x9f8b0              |         goto label_25;
                                             |     }
                                             | label_7:
    0x0009f644 lw a0, (s0)                   |     a0 = *(s0);
    0x0009f648 addiu a2, zero, 0x20          |     a2 = 0x20;
    0x0009f64c addiu a1, zero, 0xd           |     a1 = 0xd;
                                             |     do {
                                             | label_0:
    0x0009f650 lbu v1, (a0)                  |         v1 = *(a0);
    0x0009f654 addiu a0, a0, 1               |         a0++;
    0x0009f658 addiu v0, v1, -9              |         v0 = v1 + -9;
    0x0009f65c andi v0, v0, 0xff             |         v0 &= 0xff;
    0x0009f660 sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
                                             |         if (v1 == a2) {
    0x0009f664 beq v1, a2, 0x9f678           |             goto label_26;
                                             |         }
    0x0009f668 sw a0, (s0)                   |         *(s0) = a0;
    0x0009f66c bnel v0, zero, 0x9f650        |         
                                             |     } while (v0 == 0);
    0x0009f670 addiu v0, zero, 0x2f          |     v0 = 0x2f;
                                             |     if (v1 != a1) {
    0x0009f674 bnel v1, a1, 0x9f680          |         
                                             | label_26:
    0x0009f678 sw a0, (s0)                   |         *(s0) = a0;
    0x0009f67c b 0x9f650                     |         goto label_0;
                                             |     }
    0x0009f680 lw t9, -0x7818(gp)            |     t9 = *((gp - 7686));
                                             |     if (v1 == v0) {
    0x0009f684 beq v1, v0, 0x9f7e8           |         goto label_27;
                                             |     }
    0x0009f688 lw s4, -0x7724(gp)            |     s4 = *(gp);
    0x0009f68c move t9, s4                   |     t9 = s4;
    0x0009f690 move a0, s0                   |     a0 = s0;
    0x0009f694 bal 0x98d98                   |     sym_xmlXPathParseName ();
    0x0009f698 move fp, v0                   |     fp = v0;
    0x0009f69c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0009f6a0 beqz v0, 0x9fdf4              |         goto label_28;
                                             |     }
    0x0009f6a4 lw a0, (s0)                   |     a0 = *(s0);
    0x0009f6a8 addiu v0, zero, 0x28          |     v0 = 0x28;
    0x0009f6ac lbu v1, (a0)                  |     v1 = *(a0);
    0x0009f6b0 lw t9, -0x781c(gp)            |     t9 = *((gp - 7687));
                                             |     if (v1 == v0) {
    0x0009f6b4 beq v1, v0, 0x9f924           |         goto label_29;
                                             |     }
    0x0009f6b8 move a1, fp                   |     a1 = fp;
    0x0009f6bc addiu t9, t9, -0x2b08         |     t9 += -0x2b08;
    0x0009f6c0 move a0, s0                   |     a0 = s0;
    0x0009f6c4 bal 0x9d4f8                   |     fcn_0009d4f8 ();
    0x0009f6c8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             | label_2:
    0x0009f6cc lw a0, (s0)                   |     a0 = *(s0);
    0x0009f6d0 addiu a2, zero, 0x20          |     a2 = 0x20;
    0x0009f6d4 addiu a1, zero, 0xd           |     a1 = 0xd;
                                             |     do {
                                             | label_1:
    0x0009f6d8 lbu v1, (a0)                  |         v1 = *(a0);
    0x0009f6dc addiu a0, a0, 1               |         a0++;
    0x0009f6e0 addiu v0, v1, -9              |         v0 = v1 + -9;
    0x0009f6e4 andi v0, v0, 0xff             |         v0 &= 0xff;
    0x0009f6e8 sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
                                             |         if (v1 == a2) {
    0x0009f6ec beq v1, a2, 0x9f700           |             goto label_30;
                                             |         }
    0x0009f6f0 sw a0, (s0)                   |         *(s0) = a0;
    0x0009f6f4 bnel v0, zero, 0x9f6d8        |         
                                             |     } while (v0 == 0);
                                             |     if (v1 == a1) {
    0x0009f6f8 bne v1, a1, 0x9f708           |         
    0x0009f6fc nop                           |         
                                             | label_30:
    0x0009f700 sw a0, (s0)                   |         *(s0) = a0;
    0x0009f704 b 0x9f6d8                     |         goto label_1;
                                             |     }
    0x0009f708 lw s1, -0x786c(gp)            |     s1 = *((gp - 7707));
                                             |     if (v1 != 0) {
    0x0009f70c bnez v1, 0x9f90c              |         goto label_31;
                                             |     }
                                             | label_9:
    0x0009f710 lw v0, 0x10(s0)               |     v0 = *((s0 + 4));
                                             | label_10:
    0x0009f714 addiu v1, zero, 1             |     v1 = 1;
                                             |     if (v0 != 0) {
    0x0009f718 beqz v0, 0x9f730              |         
    0x0009f71c lw v0, (v0)                   |         v0 = *(v0);
    0x0009f720 addiu v1, zero, 7             |         v1 = 7;
                                             |         if (v0 == v1) {
    0x0009f724 beq v0, v1, 0x9f730           |             goto label_11;
                                             |         }
    0x0009f728 lw a2, -0x7f94(gp)            |         a2 = *((gp - 8165));
                                             |         if (v0 != v1) {
    0x0009f72c bne v0, v1, 0x9f8e4           |             goto label_32;
                                             |         }
                                             |     }
                                             | label_11:
    0x0009f730 move t9, s1                   |     t9 = s1;
    0x0009f734 move a0, s0                   |     a0 = s0;
    0x0009f738 bal 0x87bf4                   |     sym_valuePop ();
    0x0009f73c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0009f740 move s6, v0                   |     s6 = v0;
                                             | label_8:
    0x0009f744 move t9, s1                   |     t9 = s1;
    0x0009f748 lw s5, -0x7874(gp)            |     s5 = *((gp - 7709));
    0x0009f74c move a0, s0                   |     a0 = s0;
    0x0009f750 bal 0x87bf4                   |     sym_valuePop ();
    0x0009f754 move s2, zero                 |     s2 = 0;
    0x0009f758 addiu s4, zero, 1             |     s4 = 1;
    0x0009f75c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0009f760 beqz v0, 0x9f794              |         goto label_33;
                                             |     }
                                             |     do {
    0x0009f764 lw v1, (v0)                   |         v1 = *(v0);
                                             |         if (v1 == s4) {
    0x0009f768 beql v1, s4, 0x9f810          |             goto label_34;
                                             |         }
    0x0009f76c lw v1, 4(v0)                  |         v1 = *((v0 + 1));
    0x0009f770 addiu s2, s2, 1               |         s2++;
                                             | label_3:
    0x0009f774 move t9, s5                   |         t9 = s5;
                                             | label_4:
    0x0009f778 move a0, v0                   |         a0 = v0;
    0x0009f77c bal 0x8c2f8                   |         sym_xmlXPathFreeObject ();
    0x0009f780 move t9, s1                   |         t9 = s1;
    0x0009f784 move a0, s0                   |         a0 = s0;
    0x0009f788 bal 0x87bf4                   |         sym_valuePop ();
    0x0009f78c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0009f790 bnez v0, 0x9f764              |         
                                             |     } while (v0 != 0);
                                             | label_33:
    0x0009f794 lw a2, -0x7f94(gp)            |     a2 = *((gp - 8165));
                                             |     if (s2 != 0) {
    0x0009f798 bnez s2, 0x9f88c              |         goto label_35;
                                             |     }
                                             | label_6:
    0x0009f79c lw v0, 8(s0)                  |     v0 = *((s0 + 2));
    0x0009f7a0 lw t9, -0x7874(gp)            |     t9 = *((gp - 7709));
                                             |     if (v0 != 0) {
    0x0009f7a4 bnez v0, 0x9f878              |         goto label_36;
                                             |     }
                                             | label_5:
    0x0009f7a8 lw t9, -0x77b0(gp)            |     t9 = *((gp - 7660));
    0x0009f7ac move a0, s0                   |     a0 = s0;
    0x0009f7b0 bal 0x93514                   |     sym_xmlXPathFreeParserContext ();
    0x0009f7b4 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x0009f7b8 move v0, s6                   |     v0 = s6;
    0x0009f7bc lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x0009f7c0 lw s7, 0x54(sp)               |     s7 = *(var_54h);
    0x0009f7c4 lw s6, 0x50(sp)               |     s6 = *(var_50h);
    0x0009f7c8 lw s5, 0x4c(sp)               |     s5 = *(var_4ch);
    0x0009f7cc lw s4, 0x48(sp)               |     s4 = *(var_48h);
    0x0009f7d0 lw s3, 0x44(sp)               |     s3 = *(var_44h);
    0x0009f7d4 lw s2, 0x40(sp)               |     s2 = *(var_40h);
    0x0009f7d8 lw s1, 0x3c(sp)               |     s1 = *(var_3ch);
    0x0009f7dc lw s0, 0x38(sp)               |     s0 = *(var_38h);
    0x0009f7e0 addiu sp, sp, 0x60            |     
    0x0009f7e4 jr ra                         |     return v0;
                                             | label_27:
    0x0009f7e8 move a0, s0                   |     a0 = s0;
    0x0009f7ec bal 0x93fac                   |     sym_xmlXPathRoot ();
    0x0009f7f0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0009f7f4 move a1, zero                 |     a1 = 0;
    0x0009f7f8 lw t9, -0x781c(gp)            |     t9 = *((gp - 7687));
    0x0009f7fc addiu t9, t9, -0x2b08         |     t9 += -0x2b08;
    0x0009f800 move a0, s0                   |     a0 = s0;
    0x0009f804 bal 0x9d4f8                   |     fcn_0009d4f8 ();
    0x0009f808 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0009f80c b 0x9f6cc                     |     goto label_2;
                                             |     if (v1 == 0) {
                                             | label_34:
    0x0009f810 beql v1, zero, 0x9f774        |         goto label_3;
                                             |     }
    0x0009f814 addiu s2, s2, 1               |     s2++;
    0x0009f818 lw a0, (v1)                   |     a0 = *(v1);
    0x0009f81c addiu s2, s2, 1               |     s2++;
                                             |     if (a0 == s4) {
    0x0009f820 bnel a0, s4, 0x9f774          |         goto label_3;
                                             |     }
    0x0009f824 lw a0, 8(v1)                  |     a0 = *((v1 + 2));
    0x0009f828 lw v1, (s3)                   |     v1 = *(s3);
    0x0009f82c lw a0, (a0)                   |     a0 = *(a0);
    0x0009f830 addiu s2, s2, 1               |     s2++;
                                             |     if (a0 == v1) {
    0x0009f834 bnel a0, v1, 0x9f774          |         goto label_3;
                                             |     }
    0x0009f838 move t9, s5                   |     t9 = s5;
    0x0009f83c b 0x9f778                     |     goto label_4;
                                             | label_24:
    0x0009f840 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x0009f844 move s6, zero                 |     s6 = 0;
    0x0009f848 move v0, s6                   |     v0 = s6;
    0x0009f84c lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x0009f850 lw s7, 0x54(sp)               |     s7 = *(var_54h);
    0x0009f854 lw s6, 0x50(sp)               |     s6 = *(var_50h);
    0x0009f858 lw s5, 0x4c(sp)               |     s5 = *(var_4ch);
    0x0009f85c lw s4, 0x48(sp)               |     s4 = *(var_48h);
    0x0009f860 lw s3, 0x44(sp)               |     s3 = *(var_44h);
    0x0009f864 lw s2, 0x40(sp)               |     s2 = *(var_40h);
    0x0009f868 lw s1, 0x3c(sp)               |     s1 = *(var_3ch);
    0x0009f86c lw s0, 0x38(sp)               |     s0 = *(var_38h);
    0x0009f870 addiu sp, sp, 0x60            |     
    0x0009f874 jr ra                         |     return v0;
                                             | label_36:
    0x0009f878 move a0, s6                   |     a0 = s6;
    0x0009f87c bal 0x8c2f8                   |     sym_xmlXPathFreeObject ();
    0x0009f880 move s6, zero                 |     s6 = 0;
    0x0009f884 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0009f888 b 0x9f7a8                     |     goto label_5;
                                             | label_35:
    0x0009f88c lw t9, -0x781c(gp)            |     t9 = *((gp - 7687));
    0x0009f890 move a3, zero                 |     a3 = 0;
    0x0009f894 addiu a2, a2, 0x1b30          |     a2 += 0x1b30;
    0x0009f898 addiu a1, zero, 0x76f         |     a1 = 0x76f;
    0x0009f89c addiu t9, t9, -0x2dc4         |     t9 += -0x2dc4;
    0x0009f8a0 move a0, s0                   |     a0 = s0;
    0x0009f8a4 bal 0x9d23c                   |     fcn_0009d23c ();
    0x0009f8a8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0009f8ac b 0x9f79c                     |     goto label_6;
                                             | label_25:
    0x0009f8b0 lw v0, -0x716c(gp)            |     v0 = *(gp);
    0x0009f8b4 lw t9, (v0)                   |     t9 = *(v0);
    0x0009f8b8 addiu a0, zero, 0x28          |     a0 = 0x28;
    0x0009f8bc jalr t9                       |     t9 ();
    0x0009f8c0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0009f8c4 sw v0, 0x1c(s0)               |     *((s0 + 7)) = v0;
                                             |     if (v0 == 0) {
    0x0009f8c8 beqz v0, 0x9fe58              |         goto label_37;
                                             |     }
    0x0009f8cc addiu v0, zero, 0xa           |     v0 = 0xa;
    0x0009f8d0 sw zero, 0x14(s0)             |     *((s0 + 5)) = 0;
    0x0009f8d4 sw v0, 0x18(s0)               |     *((s0 + 6)) = v0;
    0x0009f8d8 sw zero, 0x10(s0)             |     *((s0 + 4)) = 0;
    0x0009f8dc sw zero, 0x2c(s0)             |     *((s0 + 11)) = 0;
    0x0009f8e0 b 0x9f644                     |     goto label_7;
                                             | label_32:
    0x0009f8e4 lw t9, -0x781c(gp)            |     t9 = *((gp - 7687));
    0x0009f8e8 move a3, zero                 |     a3 = 0;
    0x0009f8ec addiu a2, a2, 0x1af8          |     a2 += 0x1af8;
    0x0009f8f0 addiu a1, zero, 0x76e         |     a1 = 0x76e;
    0x0009f8f4 addiu t9, t9, -0x2dc4         |     t9 += -0x2dc4;
    0x0009f8f8 move a0, s0                   |     a0 = s0;
    0x0009f8fc bal 0x9d23c                   |     fcn_0009d23c ();
    0x0009f900 move s6, zero                 |     s6 = 0;
    0x0009f904 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0009f908 b 0x9f744                     |     goto label_8;
                                             | label_31:
    0x0009f90c lw t9, -0x78f4(gp)            |     t9 = *((gp - 7741));
    0x0009f910 addiu a1, zero, 7             |     a1 = 7;
    0x0009f914 move a0, s0                   |     a0 = s0;
    0x0009f918 bal 0x87070                   |     sym_xmlXPathErr ();
    0x0009f91c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0009f920 b 0x9f710                     |     goto label_9;
                                             | label_29:
    0x0009f924 lw v0, -0x7f94(gp)            |     v0 = *((gp - 8165));
    0x0009f928 lw s7, -0x781c(gp)            |     s7 = *((gp - 7687));
    0x0009f92c sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0009f930 lw v0, -0x781c(gp)            |     v0 = *((gp - 7687));
    0x0009f934 sw zero, 8(s0)                |     *((s0 + 2)) = 0;
    0x0009f938 addiu v0, v0, -0x3020         |     v0 += -0x3020;
    0x0009f93c sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x0009f940 lw v0, -0x781c(gp)            |     v0 = *((gp - 7687));
    0x0009f944 lbu v1, (a0)                  |     v1 = *(a0);
    0x0009f948 addiu v0, v0, -0x2dc4         |     v0 += -0x2dc4;
    0x0009f94c sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x0009f950 addiu v0, s7, -0x2b08         |     v0 = s7 + -0x2b08;
    0x0009f954 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0009f958 addiu v0, zero, 0x28          |     v0 = 0x28;
    0x0009f95c lw s5, -0x7158(gp)            |     s5 = *(gp);
    0x0009f960 lw s1, -0x786c(gp)            |     s1 = *((gp - 7707));
    0x0009f964 lw s6, -0x7f94(gp)            |     s6 = *((gp - 8165));
                                             |     if (v1 == v0) {
    0x0009f968 beq v1, v0, 0x9fa78           |         goto label_38;
                                             |     }
    0x0009f96c lw t9, (s5)                   |     t9 = *(s5);
                                             | label_13:
    0x0009f970 move a0, fp                   |     a0 = fp;
    0x0009f974 jalr t9                       |     t9 ();
    0x0009f978 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0009f97c addiu a1, zero, 7             |     a1 = 7;
                                             | label_21:
    0x0009f980 lw t9, -0x78f4(gp)            |     t9 = *((gp - 7741));
    0x0009f984 move a0, s0                   |     a0 = s0;
    0x0009f988 bal 0x87070                   |     sym_xmlXPathErr ();
    0x0009f98c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             | label_14:
    0x0009f990 lw v0, 8(s0)                  |     v0 = *((s0 + 2));
                                             |     if (v0 == 0) {
    0x0009f994 beql v0, zero, 0x9f9a8        |         goto label_39;
                                             |     }
    0x0009f998 lw v0, 0x10(s0)               |     v0 = *((s0 + 4));
    0x0009f99c addiu v1, zero, 0x76c         |     v1 = 0x76c;
    0x0009f9a0 lw v0, 0x10(s0)               |     v0 = *((s0 + 4));
                                             |     if (v0 != v1) {
    0x0009f9a4 bne v0, v1, 0x9f714           |         goto label_10;
                                             |     }
                                             | label_39:
    0x0009f9a8 addiu a0, zero, 1             |     a0 = 1;
                                             |     if (v0 == 0) {
    0x0009f9ac beqz v0, 0x9fa10              |         goto label_40;
                                             |     }
    0x0009f9b0 lw v1, (v0)                   |     v1 = *(v0);
    0x0009f9b4 addiu a0, zero, 7             |     a0 = 7;
                                             |     if (v1 == a0) {
    0x0009f9b8 beq v1, a0, 0x9fbd4           |         goto label_41;
                                             |     }
    0x0009f9bc move t9, s1                   |     t9 = s1;
                                             |     if (v1 != a0) {
    0x0009f9c0 bne v1, a0, 0x9f9dc           |         goto label_18;
                                             |     }
    0x0009f9c4 lw v0, 0x1c(v0)               |     v0 = *((v0 + 7));
    0x0009f9c8 lw s2, -0x7874(gp)            |     s2 = *((gp - 7709));
                                             |     if (v0 == 0) {
    0x0009f9cc beqz v0, 0x9f9e0              |         goto label_42;
                                             |     }
    0x0009f9d0 lw v0, (v0)                   |     v0 = *(v0);
                                             | label_17:
    0x0009f9d4 move t9, s1                   |     t9 = s1;
                                             |     if (v0 > 0) {
    0x0009f9d8 bgtz v0, 0x9f730              |         goto label_11;
                                             |     }
                                             | label_18:
    0x0009f9dc lw s2, -0x7874(gp)            |     s2 = *((gp - 7709));
                                             | label_42:
    0x0009f9e0 move a0, s0                   |     a0 = s0;
    0x0009f9e4 bal 0x87bf4                   |     sym_valuePop ();
    0x0009f9e8 move a0, v0                   |     a0 = v0;
                                             |     if (v0 == 0) {
    0x0009f9ec beqz v0, 0x9fa10              |         goto label_40;
                                             |     }
                                             |     do {
    0x0009f9f0 move t9, s2                   |         t9 = s2;
    0x0009f9f4 bal 0x8c2f8                   |         sym_xmlXPathFreeObject ();
    0x0009f9f8 nop                           |         
    0x0009f9fc move t9, s1                   |         t9 = s1;
    0x0009fa00 move a0, s0                   |         a0 = s0;
    0x0009fa04 bal 0x87bf4                   |         sym_valuePop ();
    0x0009fa08 move a0, v0                   |         a0 = v0;
    0x0009fa0c bnez v0, 0x9f9f0              |         
                                             |     } while (v0 != 0);
                                             | label_40:
    0x0009fa10 lw v1, (s0)                   |     v1 = *(s0);
    0x0009fa14 addiu a2, zero, 0x20          |     a2 = 0x20;
    0x0009fa18 addiu a1, zero, 0xd           |     a1 = 0xd;
                                             |     do {
                                             | label_12:
    0x0009fa1c lbu a0, (v1)                  |         a0 = *(v1);
    0x0009fa20 addiu v1, v1, 1               |         v1++;
    0x0009fa24 addiu v0, a0, -9              |         v0 = a0 + -9;
    0x0009fa28 andi v0, v0, 0xff             |         v0 &= 0xff;
    0x0009fa2c sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
                                             |         if (a0 == a2) {
    0x0009fa30 beq a0, a2, 0x9fa44           |             goto label_43;
                                             |         }
    0x0009fa34 sw v1, (s0)                   |         *(s0) = v1;
    0x0009fa38 bnel v0, zero, 0x9fa1c        |         
                                             |     } while (v0 == 0);
    0x0009fa3c move t9, s4                   |     t9 = s4;
                                             |     if (a0 == a1) {
    0x0009fa40 bne a0, a1, 0x9fa4c           |         
                                             | label_43:
    0x0009fa44 sw v1, (s0)                   |         *(s0) = v1;
    0x0009fa48 b 0x9fa1c                     |         goto label_12;
                                             |     }
    0x0009fa4c move a0, s0                   |     a0 = s0;
    0x0009fa50 bal 0x98d98                   |     sym_xmlXPathParseName ();
    0x0009fa54 move fp, v0                   |     fp = v0;
    0x0009fa58 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0009fa5c beqz v0, 0x9f710              |         goto label_9;
                                             |     }
    0x0009fa60 lw a0, (s0)                   |     a0 = *(s0);
    0x0009fa64 sw zero, 8(s0)                |     *((s0 + 2)) = 0;
    0x0009fa68 addiu v0, zero, 0x28          |     v0 = 0x28;
    0x0009fa6c lbu v1, (a0)                  |     v1 = *(a0);
    0x0009fa70 lw t9, (s5)                   |     t9 = *(s5);
                                             |     if (v1 == v0) {
    0x0009fa74 bnel v1, v0, 0x9f970          |         goto label_13;
                                             |     }
                                             | label_38:
    0x0009fa78 addiu v0, a0, 1               |     v0 = a0 + 1;
    0x0009fa7c lw t9, -0x7fcc(gp)            |     t9 = *((gp - 8179));
    0x0009fa80 move a0, v0                   |     a0 = v0;
    0x0009fa84 sw v0, (s0)                   |     *(s0) = v0;
    0x0009fa88 bal 0xb8358                   |     sym_xmlStrlen ();
    0x0009fa8c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0009fa90 addiu a0, v0, 1               |     a0 = v0 + 1;
    0x0009fa94 lw v0, -0x6ddc(gp)            |     v0 = *((gp - 7031));
    0x0009fa98 lw t9, (v0)                   |     t9 = *(v0);
    0x0009fa9c jalr t9                       |     t9 ();
    0x0009faa0 nop                           |     
    0x0009faa4 move s7, v0                   |     s7 = v0;
    0x0009faa8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0009faac beqz v0, 0x9fde4              |         goto label_44;
                                             |     }
    0x0009fab0 lw a0, (s0)                   |     a0 = *(s0);
    0x0009fab4 move v1, v0                   |     v1 = v0;
    0x0009fab8 addiu a1, zero, 1             |     a1 = 1;
    0x0009fabc lbu v0, (a0)                  |     v0 = *(a0);
    0x0009fac0 addiu a2, zero, 0x29          |     a2 = 0x29;
    0x0009fac4 addiu t4, zero, 0x28          |     t4 = 0x28;
    0x0009fac8 addiu t2, zero, 0x5e          |     t2 = 0x5e;
                                             |     do {
                                             |         if (v0 != 0) {
    0x0009facc beql v0, zero, 0x9fb04        |             
    0x0009fad0 sb zero, (v1)                 |             *(v1) = 0;
                                             |             if (v0 != a2) {
    0x0009fad4 bne v0, a2, 0x9fb90           |                 goto label_45;
                                             |             }
    0x0009fad8 nop                           |             
    0x0009fadc addiu a1, a1, -1              |             a1 += -1;
    0x0009fae0 addiu a0, a0, 1               |             a0++;
                                             |             if (a1 == 0) {
    0x0009fae4 beqz a1, 0x9fc44              |                 goto label_46;
                                             |             }
                                             | label_15:
    0x0009fae8 addiu v1, v1, 1               |             v1++;
                                             | label_16:
    0x0009faec sb v0, -1(v1)                 |             *((v1 - 1)) = v0;
    0x0009faf0 lw v0, (s0)                   |             v0 = *(s0);
    0x0009faf4 lbu a0, (v0)                  |             a0 = *(v0);
    0x0009faf8 addiu a0, v0, 1               |             a0 = v0 + 1;
                                             |             if (a0 != 0) {
    0x0009fafc bnez a0, 0x9fb84              |                 goto label_47;
                                             |             }
    0x0009fb00 sb zero, (v1)                 |             *(v1) = 0;
                                             |         }
    0x0009fb04 lw v0, (s0)                   |         v0 = *(s0);
    0x0009fb08 lbu v0, (v0)                  |         v0 = *(v0);
                                             |         if (v0 == 0) {
    0x0009fb0c beql v0, zero, 0x9fc50        |             goto label_48;
                                             |         }
    0x0009fb10 lw t9, (s5)                   |         t9 = *(s5);
                                             | label_20:
    0x0009fb14 lw s2, -0x7f90(gp)            |         s2 = *((gp - 8164));
    0x0009fb18 addiu a1, s6, 0x1ad0          |         a1 = s6 + 0x1ad0;
    0x0009fb1c move t9, s2                   |         t9 = s2;
    0x0009fb20 move a0, fp                   |         a0 = fp;
    0x0009fb24 bal 0xb7e60                   |         sym_xmlStrEqual ();
    0x0009fb28 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x0009fb2c beqz v0, 0x9fbe8              |             goto label_49;
                                             |         }
    0x0009fb30 lw v0, 0xc(s0)                |         v0 = *((s0 + 3));
    0x0009fb34 lw s2, (s0)                   |         s2 = *(s0);
    0x0009fb38 addiu v1, zero, 1             |         v1 = 1;
    0x0009fb3c lw a1, (v0)                   |         a1 = *(v0);
    0x0009fb40 lw t9, -0x7720(gp)            |         t9 = *((gp - 7624));
    0x0009fb44 sw s7, (s0)                   |         *(s0) = s7;
    0x0009fb48 move a0, s0                   |         a0 = s0;
    0x0009fb4c sw a1, 4(v0)                  |         *((v0 + 1)) = a1;
    0x0009fb50 sw v1, 0x48(v0)               |         *((v0 + 18)) = v1;
    0x0009fb54 sw v1, 0x44(v0)               |         *((v0 + 17)) = v1;
    0x0009fb58 bal 0x9c878                   |         sym_xmlXPathEvalExpr ();
    0x0009fb5c sw s2, (s0)                   |         *(s0) = s2;
                                             | label_19:
    0x0009fb60 lw t9, (s5)                   |         t9 = *(s5);
                                             | label_22:
    0x0009fb64 move a0, s7                   |         a0 = s7;
                                             | label_23:
    0x0009fb68 jalr t9                       |         t9 ();
    0x0009fb6c nop                           |         
    0x0009fb70 lw t9, (s5)                   |         t9 = *(s5);
    0x0009fb74 move a0, fp                   |         a0 = fp;
    0x0009fb78 jalr t9                       |         t9 ();
    0x0009fb7c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0009fb80 b 0x9f990                     |         goto label_14;
                                             | label_47:
    0x0009fb84 sw a0, (s0)                   |         *(s0) = a0;
    0x0009fb88 lbu v0, 1(v0)                 |         v0 = *((v0 + 1));
    0x0009fb8c b 0x9facc                     |         
                                             |     } while (1);
                                             |     if (v0 == t4) {
                                             | label_45:
    0x0009fb90 bne v0, t4, 0x9fba0           |         
    0x0009fb94 nop                           |         
    0x0009fb98 addiu a1, a1, 1               |         a1++;
    0x0009fb9c b 0x9fae8                     |         goto label_15;
                                             |     }
    0x0009fba0 addiu v1, v1, 1               |     v1++;
                                             |     if (v0 == t2) {
    0x0009fba4 bnel v0, t2, 0x9faec          |         goto label_16;
                                             |     }
    0x0009fba8 lbu t3, 1(a0)                 |     t3 = *((a0 + 1));
    0x0009fbac addiu a3, t3, -0x28           |     a3 = t3 + -0x28;
    0x0009fbb0 sltiu a3, a3, 2               |     a3 = (a3 < 2) ? 1 : 0;
    0x0009fbb4 addiu v0, a0, 1               |     v0 = a0 + 1;
                                             |     if (a3 == 0) {
    0x0009fbb8 bnel a3, zero, 0x9fbc8        |         goto label_50;
                                             |     }
    0x0009fbbc addiu v1, v1, 1               |     v1++;
                                             |     if (t3 == v0) {
    0x0009fbc0 bnel t3, v0, 0x9faec          |         goto label_16;
                                             |     }
    0x0009fbc4 addiu v0, a0, 1               |     v0 = a0 + 1;
                                             | label_50:
    0x0009fbc8 sw v0, (s0)                   |     *(s0) = v0;
    0x0009fbcc lbu v0, 1(a0)                 |     v0 = *((a0 + 1));
    0x0009fbd0 b 0x9fae8                     |     goto label_15;
                                             | label_41:
    0x0009fbd4 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x0009fbd8 lw v0, (v0)                   |     v0 = *(v0);
                                             |     if (v0 == 0) {
    0x0009fbdc bnel v0, zero, 0x9f9d4        |         goto label_17;
                                             |     }
    0x0009fbe0 move t9, s1                   |     t9 = s1;
    0x0009fbe4 b 0x9f9dc                     |     goto label_18;
                                             | label_49:
    0x0009fbe8 lw a1, -0x7fb0(gp)            |     a1 = *((gp - 8172));
    0x0009fbec move a0, fp                   |     a0 = fp;
    0x0009fbf0 move t9, s2                   |     t9 = s2;
    0x0009fbf4 addiu a1, a1, 0x48a8          |     a1 += 0x48a8;
    0x0009fbf8 bal 0xb7e60                   |     sym_xmlStrEqual ();
    0x0009fbfc lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0009fc00 beqz v0, 0x9fc98              |         
    0x0009fc04 lw s2, (s0)                   |         s2 = *(s0);
    0x0009fc08 sw s7, (s0)                   |         *(s0) = s7;
    0x0009fc0c lbu v1, (s7)                  |         v1 = *(s7);
    0x0009fc10 addiu v0, zero, 0x2f          |         v0 = 0x2f;
    0x0009fc14 move a0, s0                   |         a0 = s0;
                                             |         if (v1 == v0) {
    0x0009fc18 beq v1, v0, 0x9fe10           |             goto label_51;
                                             |         }
    0x0009fc1c move t9, s4                   |         t9 = s4;
    0x0009fc20 bal 0x98d98                   |         sym_xmlXPathParseName ();
    0x0009fc24 nop                           |         
    0x0009fc28 lw t9, 0x1c(sp)               |         t9 = *(var_1ch);
                                             |         if (v0 != 0) {
    0x0009fc2c beqz v0, 0x9fc70              |             
    0x0009fc30 move a1, v0                   |             a1 = v0;
    0x0009fc34 move a0, s0                   |             a0 = s0;
    0x0009fc38 jalr t9                       |             t9 ();
    0x0009fc3c sw s2, (s0)                   |             *(s0) = s2;
    0x0009fc40 b 0x9fb60                     |             goto label_19;
                                             | label_46:
    0x0009fc44 sw a0, (s0)                   |             *(s0) = a0;
    0x0009fc48 sb zero, (v1)                 |             *(v1) = 0;
    0x0009fc4c b 0x9fb14                     |             goto label_20;
                                             | label_48:
    0x0009fc50 move a0, fp                   |             a0 = fp;
    0x0009fc54 jalr t9                       |             t9 ();
    0x0009fc58 lw t9, (s5)                   |             t9 = *(s5);
    0x0009fc5c move a0, s7                   |             a0 = s7;
    0x0009fc60 jalr t9                       |             t9 ();
    0x0009fc64 lw gp, 0x10(sp)               |             gp = *(var_10h);
    0x0009fc68 addiu a1, zero, 0x10          |             a1 = 0x10;
    0x0009fc6c b 0x9f980                     |             goto label_21;
                                             |         }
    0x0009fc70 lw t9, (s5)                   |         t9 = *(s5);
    0x0009fc74 move a0, s7                   |         a0 = s7;
    0x0009fc78 sw s2, (s0)                   |         *(s0) = s2;
    0x0009fc7c jalr t9                       |         t9 ();
    0x0009fc80 lw t9, (s5)                   |         t9 = *(s5);
    0x0009fc84 move a0, fp                   |         a0 = fp;
    0x0009fc88 jalr t9                       |         t9 ();
    0x0009fc8c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0009fc90 addiu a1, zero, 7             |         a1 = 7;
    0x0009fc94 b 0x9f980                     |         goto label_21;
                                             |     }
    0x0009fc98 lw a1, -0x7fd4(gp)            |     a1 = *(gp);
    0x0009fc9c move a0, fp                   |     a0 = fp;
    0x0009fca0 move t9, s2                   |     t9 = s2;
    0x0009fca4 addiu a1, a1, 0x75ac          |     a1 += 0x75ac;
    0x0009fca8 bal 0xb7e60                   |     sym_xmlStrEqual ();
    0x0009fcac lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0009fcb0 beqz v0, 0x9fe34              |         goto label_52;
                                             |     }
    0x0009fcb4 lw v0, (s0)                   |     v0 = *(s0);
    0x0009fcb8 lw t9, -0x77ac(gp)            |     t9 = *((gp - 7659));
    0x0009fcbc sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x0009fcc0 move a0, s0                   |     a0 = s0;
    0x0009fcc4 sw s7, (s0)                   |     *(s0) = s7;
    0x0009fcc8 bal 0x98b80                   |     sym_xmlXPathParseNCName ();
    0x0009fccc move s2, v0                   |     s2 = v0;
    0x0009fcd0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0009fcd4 beqz v0, 0x9feac              |         goto label_53;
                                             |     }
    0x0009fcd8 lw a1, (s0)                   |     a1 = *(s0);
    0x0009fcdc addiu a2, zero, 0x20          |     a2 = 0x20;
    0x0009fce0 addiu a0, zero, 0xd           |     a0 = 0xd;
                                             |     do {
    0x0009fce4 lbu v1, (a1)                  |         v1 = *(a1);
    0x0009fce8 addiu v0, v1, -9              |         v0 = v1 + -9;
    0x0009fcec andi v0, v0, 0xff             |         v0 &= 0xff;
    0x0009fcf0 sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
                                             |         if (v1 != a2) {
    0x0009fcf4 beq v1, a2, 0x9fd08           |             
    0x0009fcf8 addiu a1, a1, 1               |             a1++;
                                             |             if (v0 == 0) {
    0x0009fcfc bnel v0, zero, 0x9fd0c        |                 goto label_54;
                                             |             }
    0x0009fd00 addiu v0, zero, 0x3d          |             v0 = 0x3d;
                                             |             if (v1 == a0) {
    0x0009fd04 bnel v1, a0, 0x9fd14          |                 goto label_55;
                                             |             }
                                             |         }
    0x0009fd08 addiu a1, a1, 1               |         a1++;
                                             | label_54:
    0x0009fd0c sw a1, (s0)                   |         *(s0) = a1;
    0x0009fd10 b 0x9fce4                     |         
                                             |     } while (1);
                                             | label_55:
    0x0009fd14 lw t9, (s5)                   |     t9 = *(s5);
                                             |     if (v1 == v0) {
    0x0009fd18 bnel v1, v0, 0x9fe7c          |         goto label_56;
                                             |     }
    0x0009fd1c addiu a0, a1, 1               |     a0 = a1 + 1;
    0x0009fd20 sw a0, (s0)                   |     *(s0) = a0;
    0x0009fd24 addiu a2, zero, 0x20          |     a2 = 0x20;
    0x0009fd28 addiu a1, zero, 0xd           |     a1 = 0xd;
                                             |     do {
    0x0009fd2c lbu v1, (a0)                  |         v1 = *(a0);
    0x0009fd30 addiu v0, v1, -9              |         v0 = v1 + -9;
    0x0009fd34 andi v0, v0, 0xff             |         v0 &= 0xff;
    0x0009fd38 sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
                                             |         if (v1 != a2) {
    0x0009fd3c beq v1, a2, 0x9fd50           |             
    0x0009fd40 addiu a0, a0, 1               |             a0++;
                                             |             if (v0 == 0) {
    0x0009fd44 bnel v0, zero, 0x9fd54        |                 goto label_57;
                                             |             }
    0x0009fd48 lw t9, -0x7dac(gp)            |             t9 = *((gp - 8043));
                                             |             if (v1 != a1) {
    0x0009fd4c bne v1, a1, 0x9fd5c           |                 goto label_58;
                                             |             }
                                             |         }
    0x0009fd50 addiu a0, a0, 1               |         a0++;
                                             | label_57:
    0x0009fd54 sw a0, (s0)                   |         *(s0) = a0;
    0x0009fd58 b 0x9fd2c                     |         
                                             |     } while (1);
                                             | label_58:
    0x0009fd5c jalr t9                       |     t9 ();
    0x0009fd60 nop                           |     
    0x0009fd64 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0009fd68 beqz v0, 0x9fe78              |         
    0x0009fd6c lw t9, -0x7a58(gp)            |         t9 = *((gp - 7830));
    0x0009fd70 move a0, v0                   |         a0 = v0;
    0x0009fd74 sw v0, 0x34(sp)               |         *(var_34h) = v0;
    0x0009fd78 jalr t9                       |         t9 ();
    0x0009fd7c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0009fd80 lw a1, 0x34(sp)               |         a1 = *(var_34h);
    0x0009fd84 sw v0, 0x30(sp)               |         *(var_30h) = v0;
    0x0009fd88 lw t9, -0x7da8(gp)            |         t9 = *(gp);
    0x0009fd8c move a0, a1                   |         a0 = a1;
    0x0009fd90 jalr t9                       |         t9 ();
    0x0009fd94 lw v1, 0x30(sp)               |         v1 = *(var_30h);
    0x0009fd98 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v1 == 0) {
    0x0009fd9c beqz v1, 0x9feb8              |             goto label_59;
                                             |         }
    0x0009fda0 lw t9, -0x771c(gp)            |         t9 = *((gp - 7623));
    0x0009fda4 lw a0, 0xc(s0)                |         a0 = *((s0 + 3));
    0x0009fda8 move a2, v1                   |         a2 = v1;
    0x0009fdac move a1, s2                   |         a1 = s2;
    0x0009fdb0 sw v1, 0x30(sp)               |         *(var_30h) = v1;
    0x0009fdb4 bal 0x8b194                   |         sym_xmlXPathRegisterNs ();
    0x0009fdb8 lw v1, 0x30(sp)               |         v1 = *(var_30h);
    0x0009fdbc lw v0, 0x2c(sp)               |         v0 = *(var_2ch);
    0x0009fdc0 lw t9, (s5)                   |         t9 = *(s5);
    0x0009fdc4 move a0, v1                   |         a0 = v1;
    0x0009fdc8 sw v0, (s0)                   |         *(s0) = v0;
    0x0009fdcc jalr t9                       |         t9 ();
    0x0009fdd0 lw t9, (s5)                   |         t9 = *(s5);
    0x0009fdd4 move a0, s2                   |         a0 = s2;
    0x0009fdd8 jalr t9                       |         t9 ();
    0x0009fddc lw t9, (s5)                   |         t9 = *(s5);
    0x0009fde0 b 0x9fb64                     |         goto label_22;
                                             | label_44:
    0x0009fde4 lw v0, 0x20(sp)               |         v0 = *(var_20h);
    0x0009fde8 lw t9, 0x24(sp)               |         t9 = *(var_24h);
    0x0009fdec addiu a0, v0, 0x1abc          |         a0 = v0 + 0x1abc;
    0x0009fdf0 b 0x9fb68                     |         goto label_23;
                                             | label_28:
    0x0009fdf4 lw t9, -0x78f4(gp)            |         t9 = *((gp - 7741));
    0x0009fdf8 addiu a1, zero, 7             |         a1 = 7;
    0x0009fdfc move a0, s0                   |         a0 = s0;
    0x0009fe00 bal 0x87070                   |         sym_xmlXPathErr ();
    0x0009fe04 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0009fe08 lw s1, -0x786c(gp)            |         s1 = *((gp - 7707));
    0x0009fe0c b 0x9f710                     |         goto label_9;
                                             | label_51:
    0x0009fe10 lw t9, -0x7818(gp)            |         t9 = *((gp - 7686));
    0x0009fe14 bal 0x93fac                   |         sym_xmlXPathRoot ();
    0x0009fe18 nop                           |         
    0x0009fe1c lw t9, 0x1c(sp)               |         t9 = *(var_1ch);
    0x0009fe20 move a1, zero                 |         a1 = 0;
    0x0009fe24 move a0, s0                   |         a0 = s0;
    0x0009fe28 jalr t9                       |         t9 ();
    0x0009fe2c sw s2, (s0)                   |         *(s0) = s2;
    0x0009fe30 b 0x9fb60                     |         goto label_19;
                                             | label_52:
    0x0009fe34 lw a2, -0x7f94(gp)            |         a2 = *((gp - 8165));
    0x0009fe38 lw t9, 0x28(sp)               |         t9 = *(var_28h);
    0x0009fe3c move a3, fp                   |         a3 = fp;
    0x0009fe40 addiu a2, a2, 0x1adc          |         a2 += 0x1adc;
    0x0009fe44 addiu a1, zero, 0x76c         |         a1 = 0x76c;
    0x0009fe48 move a0, s0                   |         a0 = s0;
    0x0009fe4c jalr t9                       |         t9 ();
    0x0009fe50 lw t9, (s5)                   |         t9 = *(s5);
    0x0009fe54 b 0x9fb64                     |         goto label_22;
                                             | label_37:
    0x0009fe58 lw a0, -0x7f94(gp)            |         a0 = *((gp - 8165));
    0x0009fe5c lw t9, -0x781c(gp)            |         t9 = *((gp - 7687));
    0x0009fe60 addiu t9, t9, -0x3020         |         t9 += -0x3020;
    0x0009fe64 addiu a0, a0, 0x1a9c          |         a0 += aav.0x00001a9c;
    0x0009fe68 bal 0x9cfe0                   |         fcn_0009cfe0 ();
    0x0009fe6c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0009fe70 lw s1, -0x786c(gp)            |         s1 = *((gp - 7707));
    0x0009fe74 b 0x9f710                     |         goto label_9;
                                             |     }
    0x0009fe78 lw t9, (s5)                   |     t9 = *(s5);
                                             | label_56:
    0x0009fe7c move a0, s2                   |     a0 = s2;
    0x0009fe80 jalr t9                       |     t9 ();
    0x0009fe84 lw t9, (s5)                   |     t9 = *(s5);
    0x0009fe88 move a0, s7                   |     a0 = s7;
                                             |     do {
    0x0009fe8c jalr t9                       |         t9 ();
    0x0009fe90 nop                           |         
    0x0009fe94 lw t9, (s5)                   |         t9 = *(s5);
    0x0009fe98 move a0, fp                   |         a0 = fp;
    0x0009fe9c jalr t9                       |         t9 ();
    0x0009fea0 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0009fea4 addiu a1, zero, 0x10          |         a1 = 0x10;
    0x0009fea8 b 0x9f980                     |         goto label_21;
                                             | label_53:
    0x0009feac lw t9, (s5)                   |         t9 = *(s5);
    0x0009feb0 move a0, s7                   |         a0 = s7;
    0x0009feb4 b 0x9fe8c                     |         
                                             |     } while (1);
                                             | label_59:
    0x0009feb8 lw t9, (s5)                   |     t9 = *(s5);
    0x0009febc move a0, s2                   |     a0 = s2;
    0x0009fec0 jalr t9                       |     t9 ();
    0x0009fec4 lw t9, (s5)                   |     t9 = *(s5);
    0x0009fec8 move a0, s7                   |     a0 = s7;
    0x0009fecc jalr t9                       |     t9 ();
    0x0009fed0 lw t9, (s5)                   |     t9 = *(s5);
    0x0009fed4 move a0, fp                   |     a0 = fp;
    0x0009fed8 jalr t9                       |     t9 ();
    0x0009fedc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0009fee0 addiu a1, zero, 0xf           |     a1 = 0xf;
    0x0009fee4 b 0x9f980                     |     goto label_21;
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0xa1290 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlXPtrEvalRangePredicate ()         | void xmlXPtrEvalRangePredicate () {
    0x000a1290 lui gp, 0xf                           |     
    0x000a1294 addiu gp, gp, 0x3e0                   |     
    0x000a1298 addu gp, gp, t9                       |     gp += t9;
    0x000a129c addiu a3, zero, 0x20                  |     a3 = 0x20;
                                                     |     if (a0 == 0) {
    0x000a12a0 beqz a0, 0xa14e4                      |         goto label_5;
                                                     |     }
    0x000a12a4 addiu sp, sp, -0x60                   |     
    0x000a12a8 lw a1, (a0)                           |     a1 = *(a0);
    0x000a12ac sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x000a12b0 sw ra, 0x5c(sp)                       |     *(var_5ch) = ra;
    0x000a12b4 sw fp, 0x58(sp)                       |     *(var_58h) = fp;
    0x000a12b8 sw s7, 0x54(sp)                       |     *(var_54h) = s7;
    0x000a12bc sw s6, 0x50(sp)                       |     *(var_50h) = s6;
    0x000a12c0 sw s5, 0x4c(sp)                       |     *(var_4ch) = s5;
    0x000a12c4 sw s4, 0x48(sp)                       |     *(var_48h) = s4;
    0x000a12c8 sw s3, 0x44(sp)                       |     *(var_44h) = s3;
    0x000a12cc sw s2, 0x40(sp)                       |     *(var_40h) = s2;
    0x000a12d0 sw s1, 0x3c(sp)                       |     *(var_3ch) = s1;
    0x000a12d4 sw s0, 0x38(sp)                       |     *(var_38h) = s0;
    0x000a12d8 addiu a2, zero, 0xd                   |     a2 = 0xd;
                                                     |     do {
    0x000a12dc lbu v1, (a1)                          |         v1 = *(a1);
    0x000a12e0 addiu v0, v1, -9                      |         v0 = v1 + -9;
    0x000a12e4 andi v0, v0, 0xff                     |         v0 &= 0xff;
    0x000a12e8 sltiu v0, v0, 2                       |         v0 = (v0 < 2) ? 1 : 0;
                                                     |         if (v1 != a3) {
    0x000a12ec beq v1, a3, 0xa1300                   |             
    0x000a12f0 addiu a1, a1, 1                       |             a1++;
                                                     |             if (v0 == 0) {
    0x000a12f4 bnel v0, zero, 0xa1304                |                 goto label_6;
                                                     |             }
    0x000a12f8 addiu v0, zero, 0x5b                  |             v0 = 0x5b;
                                                     |             if (v1 == a2) {
    0x000a12fc bnel v1, a2, 0xa130c                  |                 goto label_7;
                                                     |             }
                                                     |         }
    0x000a1300 addiu a1, a1, 1                       |         a1++;
                                                     | label_6:
    0x000a1304 sw a1, (a0)                           |         *(a0) = a1;
    0x000a1308 b 0xa12dc                             |         
                                                     |     } while (1);
                                                     | label_7:
    0x000a130c move fp, a0                           |     fp = a0;
                                                     |     if (v1 != v0) {
    0x000a1310 bne v1, v0, 0xa13a4                   |         goto label_8;
                                                     |     }
    0x000a1314 addiu a1, a1, 1                       |     a1++;
    0x000a1318 sw a1, (a0)                           |     *(a0) = a1;
    0x000a131c addiu a3, zero, 0x20                  |     a3 = 0x20;
    0x000a1320 addiu a0, zero, 0xd                   |     a0 = 0xd;
                                                     |     do {
                                                     | label_0:
    0x000a1324 lbu v1, (a1)                          |         v1 = *(a1);
    0x000a1328 addiu a1, a1, 1                       |         a1++;
    0x000a132c addiu v0, v1, -9                      |         v0 = v1 + -9;
    0x000a1330 andi v0, v0, 0xff                     |         v0 &= 0xff;
    0x000a1334 sltiu v0, v0, 2                       |         v0 = (v0 < 2) ? 1 : 0;
                                                     |         if (v1 == a3) {
    0x000a1338 beq v1, a3, 0xa134c                   |             goto label_9;
                                                     |         }
    0x000a133c sw a1, (fp)                           |         *(fp) = a1;
    0x000a1340 bnel v0, zero, 0xa1324                |         
                                                     |     } while (v0 == 0);
    0x000a1344 lw v0, 0x10(fp)                       |     v0 = *(arg_10h);
                                                     |     if (v1 != a0) {
    0x000a1348 bnel v1, a0, 0xa1354                  |         
                                                     | label_9:
    0x000a134c sw a1, (fp)                           |         *(fp) = a1;
    0x000a1350 b 0xa1324                             |         goto label_0;
                                                     |     }
    0x000a1354 lw ra, 0x5c(sp)                       |     ra = *(var_5ch);
                                                     |     if (v0 != 0) {
    0x000a1358 beqz v0, 0xa136c                      |         
    0x000a135c lw v1, (v0)                           |         v1 = *(v0);
    0x000a1360 addiu v0, zero, 7                     |         v0 = 7;
    0x000a1364 lw s4, -0x786c(gp)                    |         s4 = *((gp - 7707));
                                                     |         if (v1 == v0) {
    0x000a1368 beq v1, v0, 0xa13e0                   |             goto label_10;
                                                     |         }
                                                     |     }
    0x000a136c lw s7, 0x54(sp)                       |     s7 = *(var_54h);
    0x000a1370 lw s6, 0x50(sp)                       |     s6 = *(var_50h);
    0x000a1374 lw s5, 0x4c(sp)                       |     s5 = *(var_4ch);
    0x000a1378 lw s4, 0x48(sp)                       |     s4 = *(var_48h);
    0x000a137c lw s3, 0x44(sp)                       |     s3 = *(var_44h);
    0x000a1380 lw s2, 0x40(sp)                       |     s2 = *(var_40h);
    0x000a1384 lw s1, 0x3c(sp)                       |     s1 = *(var_3ch);
    0x000a1388 lw s0, 0x38(sp)                       |     s0 = *(var_38h);
    0x000a138c move a0, fp                           |     a0 = fp;
    0x000a1390 lw t9, -0x78f4(gp)                    |     t9 = *((gp - 7741));
    0x000a1394 lw fp, 0x58(sp)                       |     fp = *(var_58h);
    0x000a1398 addiu a1, zero, 0xb                   |     a1 = 0xb;
    0x000a139c addiu sp, sp, 0x60                    |     
    0x000a13a0 b 0x87070                             |     void (*0x87070)() ();
                                                     |     do {
                                                     | label_8:
    0x000a13a4 lw ra, 0x5c(sp)                       |         ra = *(var_5ch);
    0x000a13a8 lw s7, 0x54(sp)                       |         s7 = *(var_54h);
    0x000a13ac lw s6, 0x50(sp)                       |         s6 = *(var_50h);
    0x000a13b0 lw s5, 0x4c(sp)                       |         s5 = *(var_4ch);
    0x000a13b4 lw s4, 0x48(sp)                       |         s4 = *(var_48h);
    0x000a13b8 lw s3, 0x44(sp)                       |         s3 = *(var_44h);
    0x000a13bc lw s2, 0x40(sp)                       |         s2 = *(var_40h);
    0x000a13c0 lw s1, 0x3c(sp)                       |         s1 = *(var_3ch);
    0x000a13c4 lw s0, 0x38(sp)                       |         s0 = *(var_38h);
    0x000a13c8 move a0, fp                           |         a0 = fp;
    0x000a13cc lw t9, -0x78f4(gp)                    |         t9 = *((gp - 7741));
    0x000a13d0 lw fp, 0x58(sp)                       |         fp = *(var_58h);
    0x000a13d4 addiu a1, zero, 6                     |         a1 = 6;
    0x000a13d8 addiu sp, sp, 0x60                    |         
    0x000a13dc b 0x87070                             |         void (*0x87070)() ();
                                                     | label_10:
    0x000a13e0 move t9, s4                           |         t9 = s4;
    0x000a13e4 move a0, fp                           |         a0 = fp;
    0x000a13e8 bal 0x87bf4                           |         sym_valuePop ();
    0x000a13ec move s6, v0                           |         s6 = v0;
    0x000a13f0 lw v0, 0xc(fp)                        |         v0 = *(arg_ch);
    0x000a13f4 lw s1, 0x1c(s6)                       |         s1 = *((s6 + 7));
    0x000a13f8 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x000a13fc sw zero, 4(v0)                        |         *((v0 + 1)) = 0;
                                                     |         if (s1 != 0) {
    0x000a1400 beqz s1, 0xa1410                      |             
    0x000a1404 lw v1, (s1)                           |             v1 = *(s1);
    0x000a1408 lw t9, -0x7814(gp)                    |             t9 = *(gp);
                                                     |             if (v1 != 0) {
    0x000a140c bnez v1, 0xa14ec                      |                 goto label_11;
                                                     |             }
                                                     |         }
    0x000a1410 lw t9, -0x7720(gp)                    |         t9 = *((gp - 7624));
    0x000a1414 move a0, fp                           |         a0 = fp;
    0x000a1418 sw zero, 0x44(v0)                     |         *((v0 + 17)) = 0;
    0x000a141c sw zero, 0x48(v0)                     |         *((v0 + 18)) = 0;
    0x000a1420 bal 0x9c878                           |         sym_xmlXPathEvalExpr ();
    0x000a1424 move t9, s4                           |         t9 = s4;
    0x000a1428 move a0, fp                           |         a0 = fp;
    0x000a142c bal 0x87bf4                           |         sym_valuePop ();
    0x000a1430 lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v0 != 0) {
    0x000a1434 beqz v0, 0xa1448                      |             
    0x000a1438 lw t9, -0x7874(gp)                    |             t9 = *((gp - 7709));
    0x000a143c move a0, v0                           |             a0 = v0;
    0x000a1440 bal 0x8c2f8                           |             sym_xmlXPathFreeObject ();
    0x000a1444 lw gp, 0x10(sp)                       |             gp = *(var_10h);
                                                     |         }
    0x000a1448 lw t9, -0x78a0(gp)                    |         t9 = *((gp - 7720));
    0x000a144c move a1, s6                           |         a1 = s6;
    0x000a1450 move a0, fp                           |         a0 = fp;
    0x000a1454 bal 0x87ca8                           |         sym_valuePush ();
    0x000a1458 lw v0, 8(fp)                          |         v0 = *(arg_8h);
    0x000a145c lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v0 != 0) {
    0x000a1460 bnez v0, 0xa14b4                      |             goto label_12;
                                                     |         }
                                                     | label_4:
    0x000a1464 lw a1, (fp)                           |         a1 = *(fp);
    0x000a1468 addiu v0, zero, 0x5d                  |         v0 = 0x5d;
    0x000a146c lbu v1, (a1)                          |         v1 = *(a1);
    0x000a1470 addiu a1, a1, 1                       |         a1++;
    0x000a1474 bne v1, v0, 0xa13a4                   |         
                                                     |     } while (v1 != v0);
    0x000a1478 sw a1, (fp)                           |     *(fp) = a1;
    0x000a147c addiu a3, zero, 0x20                  |     a3 = 0x20;
    0x000a1480 addiu a0, zero, 0xd                   |     a0 = 0xd;
                                                     |     do {
                                                     | label_1:
    0x000a1484 lbu v1, (a1)                          |         v1 = *(a1);
    0x000a1488 addiu a1, a1, 1                       |         a1++;
    0x000a148c addiu v0, v1, -9                      |         v0 = v1 + -9;
    0x000a1490 andi v0, v0, 0xff                     |         v0 &= 0xff;
    0x000a1494 sltiu v0, v0, 2                       |         v0 = (v0 < 2) ? 1 : 0;
                                                     |         if (v1 == a3) {
    0x000a1498 beq v1, a3, 0xa14ac                   |             goto label_13;
                                                     |         }
    0x000a149c sw a1, (fp)                           |         *(fp) = a1;
    0x000a14a0 bnel v0, zero, 0xa1484                |         
                                                     |     } while (v0 == 0);
    0x000a14a4 lw ra, 0x5c(sp)                       |     ra = *(var_5ch);
                                                     |     if (v1 != a0) {
    0x000a14a8 bne v1, a0, 0xa14b8                   |         goto label_14;
                                                     |     }
                                                     | label_13:
    0x000a14ac sw a1, (fp)                           |     *(fp) = a1;
    0x000a14b0 b 0xa1484                             |     goto label_1;
                                                     |     do {
                                                     | label_12:
    0x000a14b4 lw ra, 0x5c(sp)                       |         ra = *(var_5ch);
                                                     | label_14:
    0x000a14b8 lw fp, 0x58(sp)                       |         fp = *(var_58h);
    0x000a14bc lw s7, 0x54(sp)                       |         s7 = *(var_54h);
    0x000a14c0 lw s6, 0x50(sp)                       |         s6 = *(var_50h);
    0x000a14c4 lw s5, 0x4c(sp)                       |         s5 = *(var_4ch);
    0x000a14c8 lw s4, 0x48(sp)                       |         s4 = *(var_48h);
    0x000a14cc lw s3, 0x44(sp)                       |         s3 = *(var_44h);
    0x000a14d0 lw s2, 0x40(sp)                       |         s2 = *(var_40h);
    0x000a14d4 lw s1, 0x3c(sp)                       |         s1 = *(var_3ch);
    0x000a14d8 lw s0, 0x38(sp)                       |         s0 = *(var_38h);
    0x000a14dc addiu sp, sp, 0x60                    |         
    0x000a14e0 jr ra                                 |         return v1;
                                                     | label_5:
    0x000a14e4 jr ra                                 |         return v1;
    0x000a14e8 nop                                   |         
                                                     | label_11:
    0x000a14ec move a0, zero                         |         a0 = 0;
    0x000a14f0 lw s7, (fp)                           |         s7 = *(fp);
    0x000a14f4 bal 0x9dcb8                           |         sym_xmlXPtrLocationSetCreate ();
    0x000a14f8 lw v1, (s1)                           |         v1 = *(s1);
    0x000a14fc lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x000a1500 sw v0, 0x2c(sp)                       |         *(var_2ch) = v0;
                                                     |         if (v1 <= 0) {
    0x000a1504 blez v1, 0xa1660                      |             goto label_15;
                                                     |         }
    0x000a1508 lw v0, -0x7720(gp)                    |         v0 = *((gp - 7624));
    0x000a150c lw v1, 0xc(fp)                        |         v1 = *(arg_ch);
    0x000a1510 sw v0, 0x20(sp)                       |         *(var_20h) = v0;
    0x000a1514 lw v0, -0x78a0(gp)                    |         v0 = *((gp - 7720));
    0x000a1518 move s0, zero                         |         s0 = 0;
    0x000a151c sw v0, 0x18(sp)                       |         *(var_18h) = v0;
    0x000a1520 lw v0, -0x78e0(gp)                    |         v0 = *((gp - 7736));
    0x000a1524 sw v0, 0x1c(sp)                       |         *(var_1ch) = v0;
    0x000a1528 lw v0, -0x7710(gp)                    |         v0 = *(gp);
    0x000a152c sw v0, 0x24(sp)                       |         *(var_24h) = v0;
    0x000a1530 lw v0, -0x7884(gp)                    |         v0 = *(gp);
    0x000a1534 sw v0, 0x30(sp)                       |         *(var_30h) = v0;
    0x000a1538 lw v0, -0x7874(gp)                    |         v0 = *((gp - 7709));
    0x000a153c sw v0, 0x28(sp)                       |         *(var_28h) = v0;
    0x000a1540 lw v0, -0x781c(gp)                    |         v0 = *((gp - 7687));
    0x000a1544 addiu v0, v0, -0x2840                 |         v0 += -0x2840;
    0x000a1548 sw v0, 0x34(sp)                       |         *(var_34h) = v0;
    0x000a154c b 0xa1584                             |         goto label_16;
                                                     | label_2:
    0x000a1550 lw t9, 0x28(sp)                       |         t9 = *(var_28h);
                                                     |         if (s5 != 0) {
    0x000a1554 beqz s5, 0xa1564                      |             
    0x000a1558 move a0, s5                           |             a0 = s5;
    0x000a155c jalr t9                               |             t9 ();
    0x000a1560 lw gp, 0x10(sp)                       |             gp = *(var_10h);
                                                     |         }
    0x000a1564 lw v0, 0x10(fp)                       |         v0 = *(arg_10h);
    0x000a1568 move t9, s4                           |         t9 = s4;
                                                     |         if (s2 == v0) {
    0x000a156c beq s2, v0, 0xa1644                   |             goto label_17;
                                                     |         }
                                                     | label_3:
    0x000a1570 lw v0, (s1)                           |         v0 = *(s1);
    0x000a1574 lw v1, 0xc(fp)                        |         v1 = *(arg_ch);
    0x000a1578 slt v0, s0, v0                        |         v0 = (s0 < v0) ? 1 : 0;
    0x000a157c sw zero, 4(v1)                        |         *((v1 + 1)) = 0;
                                                     |         if (v0 == 0) {
    0x000a1580 beqz v0, 0xa1668                      |             goto label_18;
                                                     |         }
                                                     | label_16:
    0x000a1584 lw v0, 8(s1)                          |         v0 = *((s1 + 2));
    0x000a1588 sll s3, s0, 2                         |         s3 = s0 << 2;
    0x000a158c lw t9, 0x1c(sp)                       |         t9 = *(var_1ch);
    0x000a1590 lwx v0, s3(v0)                        |         __asm ("lwx v0, s3(v0)");
    0x000a1594 sw s7, (fp)                           |         *(fp) = s7;
    0x000a1598 addiu s0, s0, 1                       |         s0++;
    0x000a159c lw a0, 0x1c(v0)                       |         a0 = *((v0 + 7));
    0x000a15a0 sw a0, 4(v1)                          |         *((v1 + 1)) = a0;
    0x000a15a4 jalr t9                               |         t9 ();
    0x000a15a8 lw t9, 0x18(sp)                       |         t9 = *(var_18h);
    0x000a15ac move a1, v0                           |         a1 = v0;
    0x000a15b0 move a0, fp                           |         a0 = fp;
    0x000a15b4 move s2, v0                           |         s2 = v0;
    0x000a15b8 jalr t9                               |         t9 ();
    0x000a15bc lw v0, 0xc(fp)                        |         v0 = *(arg_ch);
    0x000a15c0 lw v1, (s1)                           |         v1 = *(s1);
    0x000a15c4 lw t9, 0x20(sp)                       |         t9 = *(var_20h);
    0x000a15c8 move a0, fp                           |         a0 = fp;
    0x000a15cc sw v1, 0x44(v0)                       |         *((v0 + 17)) = v1;
    0x000a15d0 sw s0, 0x48(v0)                       |         *((v0 + 18)) = s0;
    0x000a15d4 jalr t9                               |         t9 ();
    0x000a15d8 lw v0, 8(fp)                          |         v0 = *(arg_8h);
    0x000a15dc move a0, fp                           |         a0 = fp;
    0x000a15e0 bnez v0, 0xa14b4                      |         
                                                     |     } while (v0 != 0);
    0x000a15e4 move t9, s4                           |     t9 = s4;
    0x000a15e8 bal 0x87bf4                           |     sym_valuePop ();
    0x000a15ec nop                                   |     
    0x000a15f0 lw t9, 0x24(sp)                       |     t9 = *(var_24h);
    0x000a15f4 move a1, v0                           |     a1 = v0;
    0x000a15f8 move a0, fp                           |     a0 = fp;
    0x000a15fc move s5, v0                           |     s5 = v0;
    0x000a1600 jalr t9                               |     t9 ();
    0x000a1604 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v0 == 0) {
    0x000a1608 beqz v0, 0xa1550                      |         goto label_2;
                                                     |     }
    0x000a160c lw a0, 8(s1)                          |     a0 = *((s1 + 2));
    0x000a1610 lw t9, 0x30(sp)                       |     t9 = *(var_30h);
    0x000a1614 lwx a0, s3(a0)                        |     __asm ("lwx a0, s3(a0)");
    0x000a1618 jalr t9                               |     t9 ();
    0x000a161c lw v1, 0x2c(sp)                       |     v1 = *(var_2ch);
    0x000a1620 lw gp, 0x10(sp)                       |     gp = *(var_10h);
                                                     |     if (v1 == 0) {
    0x000a1624 beqz v1, 0xa1550                      |         goto label_2;
                                                     |     }
    0x000a1628 lw t9, 0x34(sp)                       |     t9 = *(var_34h);
                                                     |     if (v0 == 0) {
    0x000a162c beqz v0, 0xa1550                      |         goto label_2;
                                                     |     }
    0x000a1630 move a1, v0                           |     a1 = v0;
    0x000a1634 move a0, v1                           |     a0 = v1;
    0x000a1638 jalr t9                               |     t9 ();
    0x000a163c lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x000a1640 b 0xa1550                             |     goto label_2;
                                                     | label_17:
    0x000a1644 move a0, fp                           |     a0 = fp;
    0x000a1648 bal 0x87bf4                           |     sym_valuePop ();
    0x000a164c lw t9, 0x28(sp)                       |     t9 = *(var_28h);
    0x000a1650 move a0, v0                           |     a0 = v0;
    0x000a1654 jalr t9                               |     t9 ();
    0x000a1658 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x000a165c b 0xa1570                             |     goto label_3;
                                                     | label_15:
    0x000a1660 lw v0, -0x78a0(gp)                    |     v0 = *((gp - 7720));
    0x000a1664 sw v0, 0x18(sp)                       |     *(var_18h) = v0;
                                                     | label_18:
    0x000a1668 lw t9, -0x7874(gp)                    |     t9 = *((gp - 7709));
    0x000a166c move a0, s6                           |     a0 = s6;
    0x000a1670 bal 0x8c2f8                           |     sym_xmlXPathFreeObject ();
    0x000a1674 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x000a1678 lw v0, 0xc(fp)                        |     v0 = *(arg_ch);
    0x000a167c addiu v1, zero, -1                    |     v1 = -1;
    0x000a1680 lw t9, -0x780c(gp)                    |     t9 = *((gp - 7683));
    0x000a1684 lw a0, 0x2c(sp)                       |     a0 = *(var_2ch);
    0x000a1688 sw v1, 0x44(v0)                       |     *((v0 + 17)) = v1;
    0x000a168c sw v1, 0x48(v0)                       |     *((v0 + 18)) = v1;
    0x000a1690 sw zero, 4(v0)                        |     *((v0 + 1)) = 0;
    0x000a1694 bal 0x9e474                           |     sym_xmlXPtrWrapLocationSet ();
    0x000a1698 lw t9, 0x18(sp)                       |     t9 = *(var_18h);
    0x000a169c move a1, v0                           |     a1 = v0;
    0x000a16a0 move a0, fp                           |     a0 = fp;
    0x000a16a4 jalr t9                               |     t9 ();
    0x000a16a8 lw gp, 0x10(sp)                       |     gp = *(var_10h);
    0x000a16ac b 0xa1464                             |     goto label_4;
                                                     | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x9dfc8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlXPtrFreeLocationSet ()        | void xmlXPtrFreeLocationSet () {
    0x0009dfc8 lui gp, 0xf                       |     
    0x0009dfcc addiu gp, gp, 0x36a8              |     
    0x0009dfd0 addu gp, gp, t9                   |     gp += t9;
                                                 |     if (a0 == 0) {
    0x0009dfd4 beqz a0, 0x9e094                  |         goto label_0;
                                                 |     }
    0x0009dfd8 nop                               |     
    0x0009dfdc addiu sp, sp, -0x28               |     
    0x0009dfe0 sw s1, 0x1c(sp)                   |     *(var_1ch) = s1;
    0x0009dfe4 move s1, a0                       |     s1 = a0;
    0x0009dfe8 lw a0, 8(a0)                      |     a0 = *((a0 + 2));
    0x0009dfec sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0009dff0 sw ra, 0x24(sp)                   |     *(var_24h) = ra;
    0x0009dff4 sw s2, 0x20(sp)                   |     *(var_20h) = s2;
    0x0009dff8 sw s0, 0x18(sp)                   |     *(var_18h) = s0;
                                                 |     if (a0 == 0) {
    0x0009dffc beql a0, zero, 0x9e074            |         goto label_1;
                                                 |     }
    0x0009e000 lw s0, -0x7158(gp)                |     s0 = *(gp);
    0x0009e004 lw v0, (s1)                       |     v0 = *(s1);
                                                 |     if (v0 <= 0) {
    0x0009e008 blezl v0, 0x9e044                 |         goto label_2;
                                                 |     }
    0x0009e00c lw s0, -0x7158(gp)                |     s0 = *(gp);
    0x0009e010 lw s2, -0x7874(gp)                |     s2 = *((gp - 7709));
    0x0009e014 move s0, zero                     |     s0 = 0;
                                                 |     do {
    0x0009e018 sll v0, s0, 2                     |         v0 = s0 << 2;
    0x0009e01c move t9, s2                       |         t9 = s2;
    0x0009e020 lwx a0, v0(a0)                    |         __asm ("lwx a0, v0(a0)");
    0x0009e024 addiu s0, s0, 1                   |         s0++;
    0x0009e028 bal 0x8c2f8                       |         sym_xmlXPathFreeObject ();
    0x0009e02c lw v0, (s1)                       |         v0 = *(s1);
    0x0009e030 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x0009e034 slt v0, s0, v0                    |         v0 = (s0 < v0) ? 1 : 0;
    0x0009e038 lw a0, 8(s1)                      |         a0 = *((s1 + 2));
    0x0009e03c bnez v0, 0x9e018                  |         
                                                 |     } while (v0 != 0);
    0x0009e040 lw s0, -0x7158(gp)                |     s0 = *(gp);
                                                 | label_2:
    0x0009e044 lw t9, (s0)                       |     t9 = *(s0);
    0x0009e048 jalr t9                           |     t9 ();
    0x0009e04c nop                               |     
    0x0009e050 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x0009e054 lw t9, (s0)                       |     t9 = *(s0);
    0x0009e058 lw ra, 0x24(sp)                   |     ra = *(var_24h);
    0x0009e05c lw s2, 0x20(sp)                   |     s2 = *(var_20h);
    0x0009e060 lw s0, 0x18(sp)                   |     s0 = *(var_18h);
    0x0009e064 move a0, s1                       |     a0 = s1;
    0x0009e068 lw s1, 0x1c(sp)                   |     s1 = *(var_1ch);
    0x0009e06c addiu sp, sp, 0x28                |     
    0x0009e070 jr t9                             |     t9 ();
                                                 | label_1:
    0x0009e074 lw ra, 0x24(sp)                   |     ra = *(var_24h);
    0x0009e078 lw s2, 0x20(sp)                   |     s2 = *(var_20h);
    0x0009e07c lw t9, (s0)                       |     t9 = *(s0);
    0x0009e080 move a0, s1                       |     a0 = s1;
    0x0009e084 lw s0, 0x18(sp)                   |     s0 = *(var_18h);
    0x0009e088 lw s1, 0x1c(sp)                   |     s1 = *(var_1ch);
    0x0009e08c addiu sp, sp, 0x28                |     
    0x0009e090 jr t9                             |     t9 ();
                                                 | label_0:
    0x0009e094 jr ra                             |     return v0;
    0x0009e098 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 @ 0x9dec0 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.xmlXPtrLocationSetDel ()         | void xmlXPtrLocationSetDel () {
                                                 |     if (a0 == 0) {
    0x0009dec0 beqz a0, 0x9df14                  |         goto label_0;
                                                 |     }
    0x0009dec4 nop                               |     
                                                 |     if (a1 == 0) {
    0x0009dec8 beqz a1, 0x9df14                  |         goto label_0;
                                                 |     }
    0x0009decc nop                               |     
    0x0009ded0 lw a3, (a0)                       |     a3 = *(a0);
                                                 |     if (a3 <= 0) {
    0x0009ded4 blez a3, 0x9df14                  |         goto label_0;
                                                 |     }
    0x0009ded8 nop                               |     
    0x0009dedc lw t0, 8(a0)                      |     t0 = *((a0 + 2));
    0x0009dee0 lw v0, (t0)                       |     v0 = *(t0);
    0x0009dee4 addiu v1, t0, 4                   |     v1 = t0 + 4;
                                                 |     if (a1 == v0) {
    0x0009dee8 beq a1, v0, 0x9df1c               |         goto label_1;
                                                 |     }
    0x0009deec move v0, zero                     |     v0 = 0;
    0x0009def0 b 0x9df00                         |     
                                                 |     while (v0 != a3) {
    0x0009def4 lw a2, -4(v1)                     |         a2 = *((v1 - 1));
                                                 |         if (a1 == a2) {
    0x0009def8 beql a1, a2, 0x9df24              |             goto label_2;
                                                 |         }
    0x0009defc addiu a1, a3, -1                  |         a1 = a3 + -1;
    0x0009df00 addiu v0, v0, 1                   |         v0++;
    0x0009df04 addiu v1, v1, 4                   |         v1 += 4;
    0x0009df08 bne v0, a3, 0x9def4               |         
                                                 |     }
    0x0009df0c jr ra                             |     return v1;
    0x0009df10 nop                               |     
                                                 | label_0:
    0x0009df14 jr ra                             |     return v1;
    0x0009df18 nop                               |     
                                                 | label_1:
    0x0009df1c move v0, zero                     |     v0 = 0;
    0x0009df20 addiu a1, a3, -1                  |     a1 = a3 + -1;
                                                 | label_2:
    0x0009df24 slt v1, v0, a1                    |     v1 = (v0 < a1) ? 1 : 0;
    0x0009df28 sw a1, (a0)                       |     *(a0) = a1;
                                                 |     if (v1 == 0) {
    0x0009df2c beqz v1, 0x9df54                  |         goto label_3;
                                                 |     }
    0x0009df30 sll v0, v0, 2                     |     v0 <<= 2;
    0x0009df34 addiu v1, t0, -4                  |     v1 = t0 + -4;
    0x0009df38 sll a3, a3, 2                     |     a3 <<= 2;
    0x0009df3c addu v0, t0, v0                   |     v0 = t0 + v0;
    0x0009df40 addu a3, v1, a3                   |     a3 = v1 + a3;
                                                 |     do {
    0x0009df44 lw v1, 4(v0)                      |         v1 = *((v0 + 1));
    0x0009df48 addiu v0, v0, 4                   |         v0 += 4;
    0x0009df4c sw v1, -4(v0)                     |         *((v0 - 1)) = v1;
    0x0009df50 bne a3, v0, 0x9df44               |         
                                                 |     } while (a3 != v0);
                                                 | label_3:
    0x0009df54 sll a1, a1, 2                     |     a1 <<= 2;
    0x0009df58 addu t0, t0, a1                   |     t0 += a1;
    0x0009df5c sw zero, (t0)                     |     *(t0) = 0;
    0x0009df60 jr ra                             |     return v1;
                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libxml2.so.2.9.9 @ 0x9df64 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlXPtrLocationSetRemove ()          | void xmlXPtrLocationSetRemove () {
                                                     |     if (a0 == 0) {
    0x0009df64 beqz a0, 0x9dfc0                      |         goto label_0;
                                                     |     }
    0x0009df68 nop                                   |     
    0x0009df6c lw v1, (a0)                           |     v1 = *(a0);
    0x0009df70 slt v0, a1, v1                        |     v0 = (a1 < v1) ? 1 : 0;
    0x0009df74 addiu a2, v1, -1                      |     a2 = v1 + -1;
                                                     |     if (v0 == 0) {
    0x0009df78 beqz v0, 0x9dfc0                      |         goto label_0;
                                                     |     }
    0x0009df7c slt v0, a1, a2                        |     v0 = (a1 < a2) ? 1 : 0;
    0x0009df80 sw a2, (a0)                           |     *(a0) = a2;
    0x0009df84 lw a0, 8(a0)                          |     a0 = *((a0 + 2));
                                                     |     if (v0 == 0) {
    0x0009df88 beqz v0, 0x9dfb0                      |         goto label_1;
                                                     |     }
    0x0009df8c sll v0, v1, 2                         |     v0 = v1 << 2;
    0x0009df90 sll a1, a1, 2                         |     a1 <<= 2;
    0x0009df94 addiu v1, a0, -4                      |     v1 = a0 + -4;
    0x0009df98 addu a1, a0, a1                       |     a1 = a0 + a1;
    0x0009df9c addu v1, v0, v1                       |     v1 = v0 + v1;
                                                     |     do {
    0x0009dfa0 lw v0, 4(a1)                          |         v0 = *((a1 + 1));
    0x0009dfa4 addiu a1, a1, 4                       |         a1 += 4;
    0x0009dfa8 sw v0, -4(a1)                         |         *((a1 - 1)) = v0;
    0x0009dfac bne v1, a1, 0x9dfa0                   |         
                                                     |     } while (v1 != a1);
                                                     | label_1:
    0x0009dfb0 sll a2, a2, 2                         |     a2 <<= 2;
    0x0009dfb4 addu a2, a0, a2                       |     a2 = a0 + a2;
    0x0009dfb8 sw zero, (a2)                         |     *(a2) = 0;
    0x0009dfbc jr ra                                 |     return v1;
                                                     | label_0:
    0x0009dfc0 jr ra                                 |     return v1;
    0x0009dfc4 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 @ 0x9dac0 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.xmlXPtrNewRangeNodePoint ()          | void xmlXPtrNewRangeNodePoint () {
    0x0009dac0 lui gp, 0xf                           |     
    0x0009dac4 addiu gp, gp, 0x3bb0                  |     
    0x0009dac8 addu gp, gp, t9                       |     gp += t9;
                                                     |     if (a0 != 0) {
    0x0009dacc beqz a0, 0x9db3c                      |         
    0x0009dad0 nop                                   |         
                                                     |         if (a1 == 0) {
    0x0009dad4 beqz a1, 0x9db3c                      |             goto label_0;
                                                     |         }
    0x0009dad8 nop                                   |         
    0x0009dadc lw v1, (a1)                           |         v1 = *(a1);
    0x0009dae0 addiu v0, zero, 5                     |         v0 = 5;
    0x0009dae4 lw t9, -0x781c(gp)                    |         t9 = *((gp - 7687));
                                                     |         if (v1 == v0) {
    0x0009dae8 bne v1, v0, 0x9db34                   |             
    0x0009daec addiu sp, sp, -0x28                   |             
    0x0009daf0 lw a3, 0x20(a1)                       |             a3 = *((a1 + 8));
    0x0009daf4 lw a2, 0x1c(a1)                       |             a2 = *((a1 + 7));
    0x0009daf8 sw ra, 0x24(sp)                       |             *(var_24h) = ra;
    0x0009dafc sw gp, 0x10(sp)                       |             *(var_10h) = gp;
    0x0009db00 addiu t9, t9, -0x2fa0                 |             t9 += -0x2fa0;
    0x0009db04 addiu a1, zero, -1                    |             a1 = -1;
    0x0009db08 bal 0x9d060                           |             fcn_0009d060 ();
    0x0009db0c lw gp, 0x10(sp)                       |             gp = *(var_10h);
    0x0009db10 move a0, v0                           |             a0 = v0;
    0x0009db14 lw t9, -0x781c(gp)                    |             t9 = *((gp - 7687));
    0x0009db18 addiu t9, t9, -0x2bc8                 |             t9 += -0x2bc8;
    0x0009db1c sw v0, 0x1c(sp)                       |             *(var_1ch) = v0;
    0x0009db20 bal 0x9d438                           |             fcn_0009d438 ();
    0x0009db24 lw ra, 0x24(sp)                       |             ra = *(var_24h);
    0x0009db28 lw v0, 0x1c(sp)                       |             v0 = *(var_1ch);
    0x0009db2c addiu sp, sp, 0x28                    |             
    0x0009db30 jr ra                                 |             return v0;
                                                     |         }
    0x0009db34 move v0, zero                         |         v0 = 0;
    0x0009db38 jr ra                                 |         return v0;
                                                     |     }
                                                     | label_0:
    0x0009db3c move v0, zero                         |     v0 = 0;
    0x0009db40 jr ra                                 |     return v0;
                                                     | }

[*] Function popen used 1 times libxml2.so.2.9.9