[*] Binary protection state of libfontconfig.so.1.12.0

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


[*] Function popen tear down of libfontconfig.so.1.12.0

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libfontconfig.so.1.12.0 @ 0x4ff4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) entry.fini0 ()               | void entry_fini0 () {
    0x00004ff4 lui gp, 6                 |     
    0x00004ff8 addiu gp, gp, -0x4fe4     |     
    0x00004ffc addu gp, gp, t9           |     gp += t9;
    0x00005000 addiu sp, sp, -0x20       |     
    0x00005004 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00005008 lw s0, -0x7fe4(gp)        |     s0 = *((gp - 8185));
    0x0000500c sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00005010 sw ra, 0x1c(sp)           |     *(var_1ch) = ra;
    0x00005014 lbu v0, -0x7800(s0)       |     v0 = *((s0 - 30720));
    0x00005018 lw v0, -0x784c(gp)        |     v0 = *(gp);
                                         |     if (v0 == 0) {
    0x0000501c bnez v0, 0x5050           |         
    0x00005020 lw v0, -0x7fe0(gp)        |         v0 = *((gp - 8184));
                                         |         if (v0 != 0) {
    0x00005024 beqz v0, 0x5038           |             
    0x00005028 lw t9, -0x784c(gp)        |             t9 = *(gp);
    0x0000502c lw a0, (v0)               |             a0 = *(v0);
    0x00005030 jalr t9                   |             t9 ();
    0x00005034 lw gp, 0x10(sp)           |             gp = *(var_10h);
                                         |         }
    0x00005038 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x0000503c addiu t9, t9, 0x4f70      |         t9 += entry0;
    0x00005040 bal 0x4f70                |         entry0 ();
    0x00005044 nop                       |         
    0x00005048 addiu v0, zero, 1         |         v0 = 1;
    0x0000504c sb v0, -0x7800(s0)        |         *((s0 - 30720)) = v0;
                                         |     }
    0x00005050 lw ra, 0x1c(sp)           |     ra = *(var_1ch);
    0x00005054 lw s0, 0x18(sp)           |     s0 = *(var_18h);
    0x00005058 addiu sp, sp, 0x20        |     
    0x0000505c jr ra                     |     return v0;
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libfontconfig.so.1.12.0 @ 0x7cc8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00007cc8 ()              | void fcn_00007cc8 () {
    0x00007cc8 lui gp, 6                 |     
    0x00007ccc addiu gp, gp, -0x7cb8     |     
    0x00007cd0 addu gp, gp, t9           |     gp += t9;
    0x00007cd4 addiu sp, sp, -0x68       |     
    0x00007cd8 sw s2, 0x48(sp)           |     *(var_48h) = s2;
    0x00007cdc sw s1, 0x44(sp)           |     *(var_44h) = s1;
    0x00007ce0 sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x00007ce4 sw ra, 0x64(sp)           |     *(var_64h_2) = ra;
    0x00007ce8 sw fp, 0x60(sp)           |     *(var_60h) = fp;
    0x00007cec sw s7, 0x5c(sp)           |     *(var_5ch) = s7;
    0x00007cf0 sw s6, 0x58(sp)           |     *(var_58h) = s6;
    0x00007cf4 sw s5, 0x54(sp)           |     *(var_54h) = s5;
    0x00007cf8 sw s4, 0x50(sp)           |     *(var_50h) = s4;
    0x00007cfc sw s3, 0x4c(sp)           |     *(var_4ch) = s3;
    0x00007d00 sw s0, 0x40(sp)           |     *(var_40h) = s0;
    0x00007d04 lw v0, 0x38(a2)           |     v0 = *((a2 + 14));
    0x00007d08 lw s2, -0x789c(gp)        |     s2 = *((gp - 7719));
    0x00007d0c lw v1, 0x3c(a2)           |     v1 = *((a2 + 15));
    0x00007d10 move s1, a2               |     s1 = a2;
    0x00007d14 addiu a2, v0, -0x28       |     a2 = v0 + -0x28;
    0x00007d18 lw t0, (s2)               |     t0 = *(s2);
    0x00007d1c sltu v0, a2, v0           |     v0 = (a2 < v0) ? 1 : 0;
    0x00007d20 addiu v1, v1, -1          |     v1 += -1;
    0x00007d24 addu v0, v0, v1           |     v0 += v1;
    0x00007d28 sw t0, 0x3c(sp)           |     *(var_3ch) = t0;
    0x00007d2c move s0, zero             |     s0 = 0;
                                         |     if (v0 != 0) {
    0x00007d30 bnez v0, 0x7f8c           |         goto label_3;
                                         |     }
    0x00007d34 lui v0, 0x7fff            |     v0 = 0x7fffffd8;
    0x00007d38 ori v0, v0, 0xffd8        |     
    0x00007d3c sltu a2, a2, v0           |     a2 = (a2 < v0) ? 1 : 0;
    0x00007d40 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
                                         |     if (a2 == 0) {
    0x00007d44 beqz a2, 0x7f8c           |         goto label_3;
                                         |     }
    0x00007d48 move s3, a0               |     s3 = a0;
    0x00007d4c addiu t9, t9, 0x6444      |     t9 += fcn.00006444;
    0x00007d50 move s5, a1               |     s5 = a1;
    0x00007d54 move s4, a3               |     s4 = a3;
    0x00007d58 bal 0x6444                |     fcn_00006444 ();
    0x00007d5c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00007d60 lw v0, -0x7fe4(gp)        |     v0 = *((gp - 8185));
    0x00007d64 lw s0, -0x77e4(v0)        |     s0 = *((v0 - 7673));
    0x00007d68 lw v0, -0x7fe4(gp)        |     v0 = *((gp - 8185));
                                         |     if (s0 == 0) {
    0x00007d6c beqz s0, 0x7f00           |         goto label_9;
                                         |     }
    0x00007d70 lw a0, (s1)               |     a0 = *(s1);
    0x00007d74 b 0x7d80                  |     
                                         |     while (v0 == a0) {
                                         | label_0:
    0x00007d78 lw v0, -0x7fe4(gp)        |         v0 = *((gp - 8185));
                                         |         if (s0 == 0) {
    0x00007d7c beqz s0, 0x7f00           |             goto label_9;
                                         |         }
    0x00007d80 lw v0, 0x10(s0)           |         v0 = *((s0 + 4));
    0x00007d84 lw s0, 0x28(s0)           |         s0 = *((s0 + 10));
    0x00007d88 bnel v0, a0, 0x7d78       |         
                                         |     }
    0x00007d8c lw v0, 0x14(s0)           |     v0 = *((s0 + 5));
    0x00007d90 lw s0, 0x28(s0)           |     s0 = *((s0 + 10));
                                         |     if (v0 == 0) {
    0x00007d94 bnel v0, zero, 0x7d78     |         goto label_0;
                                         |     }
    0x00007d98 lw v1, 0x18(s0)           |     v1 = *((s0 + 6));
    0x00007d9c lw v0, 0x10(s1)           |     v0 = *((s1 + 4));
    0x00007da0 lw s0, 0x28(s0)           |     s0 = *((s0 + 10));
                                         |     if (v1 == v0) {
    0x00007da4 bnel v1, v0, 0x7d78       |         goto label_0;
                                         |     }
    0x00007da8 lw v1, 0x1c(s0)           |     v1 = *((s0 + 7));
    0x00007dac lw v0, 0x14(s1)           |     v0 = *((s1 + 5));
    0x00007db0 lw s0, 0x28(s0)           |     s0 = *((s0 + 10));
                                         |     if (v1 == v0) {
    0x00007db4 bnel v1, v0, 0x7d78       |         goto label_0;
                                         |     }
    0x00007db8 lw v1, 0x20(s0)           |     v1 = *((s0 + 8));
    0x00007dbc lw v0, 0x48(s1)           |     v0 = *((s1 + 18));
    0x00007dc0 lw s0, 0x28(s0)           |     s0 = *((s0 + 10));
                                         |     if (v1 == v0) {
    0x00007dc4 bnel v1, v0, 0x7d78       |         goto label_0;
                                         |     }
    0x00007dc8 lw v1, 0x24(s0)           |     v1 = *((s0 + 9));
    0x00007dcc lw v0, 0x4c(s1)           |     v0 = *((s1 + 19));
    0x00007dd0 lw s0, 0x28(s0)           |     s0 = *((s0 + 10));
                                         |     if (v1 == v0) {
    0x00007dd4 bnel v1, v0, 0x7d78       |         goto label_0;
                                         |     }
    0x00007dd8 sync                      |     __asm ("sync");
                                         |     do {
    0x00007ddc ll at, 4(s0)              |         __asm ("ll at, 4(s0)");
    0x00007de0 addiu at, at, 1           |         at++;
    0x00007de4 sc at, 4(s0)              |         __asm ("sc at, 4(s0)");
    0x00007de8 beqz at, 0x7ddc           |         
                                         |     } while (at == 0);
    0x00007dec nop                       |     
    0x00007df0 sync                      |     __asm ("sync");
    0x00007df4 lw v0, -0x7fe4(gp)        |     v0 = *((gp - 8185));
    0x00007df8 lw t9, -0x7828(gp)        |     t9 = *((gp - 7690));
    0x00007dfc lw a0, -0x77ec(v0)        |     a0 = *(v0);
    0x00007e00 jalr t9                   |     t9 ();
    0x00007e04 lw s0, (s0)               |     s0 = *(s0);
    0x00007e08 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s0 == 0) {
    0x00007e0c beqz s0, 0x7f10           |         goto label_10;
                                         |     }
    0x00007e10 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x00007e14 move a2, s4               |     a2 = s4;
    0x00007e18 move a1, s0               |     a1 = s0;
    0x00007e1c addiu t9, t9, 0x6228      |     t9 += fcn.00006228;
    0x00007e20 move a0, s3               |     a0 = s3;
    0x00007e24 bal 0x6228                |     fcn_00006228 ();
    0x00007e28 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00007e2c bnez v0, 0x7f8c           |         goto label_3;
                                         |     }
    0x00007e30 lw t9, -0x7f70(gp)        |     t9 = *((gp - 8156));
    0x00007e34 move a0, s0               |     a0 = s0;
    0x00007e38 bal 0x7a70                |     fcn_00007a70 ();
    0x00007e3c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00007e40 sync                      |     __asm ("sync");
    0x00007e44 lw s0, -0x7fe4(gp)        |     s0 = *((gp - 8185));
    0x00007e48 lw v0, -0x77f0(s0)        |     v0 = *((s0 - 7676));
                                         |     if (v0 == 0) {
    0x00007e4c beql v0, zero, 0x7f28     |         goto label_11;
                                         |     }
    0x00007e50 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00007e54 addiu v1, zero, 3         |     v1 = 3;
                                         |     do {
    0x00007e58 lw t9, -0x7f6c(gp)        |         t9 = *((gp - 8155));
                                         |         if (v0 == v1) {
    0x00007e5c beq v0, v1, 0x81e8        |             goto label_12;
                                         |         }
    0x00007e60 xori v0, v0, 1            |         v0 ^= 1;
    0x00007e64 sltiu v0, v0, 1           |         v0 = (v0 < 1) ? 1 : 0;
                                         | label_4:
    0x00007e68 lw a1, 0x38(s1)           |         a1 = *((s1 + 14));
    0x00007e6c lw v1, 0x3c(s1)           |         v1 = *((s1 + 15));
    0x00007e70 move s6, a1               |         s6 = a1;
                                         |         if (v0 != 0) {
    0x00007e74 bnez v0, 0x7ff8           |             goto label_13;
                                         |         }
                                         | label_1:
    0x00007e78 lw t9, -0x7930(gp)        |         t9 = *((gp - 7756));
                                         | label_2:
    0x00007e7c move a0, s6               |         a0 = s6;
    0x00007e80 jalr t9                   |         t9 ();
    0x00007e84 move s0, v0               |         s0 = v0;
    0x00007e88 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == 0) {
    0x00007e8c beqz v0, 0x7f88           |             goto label_14;
                                         |         }
    0x00007e90 lw t9, -0x785c(gp)        |         t9 = *((gp - 7703));
    0x00007e94 move a1, v0               |         a1 = v0;
    0x00007e98 move a0, s5               |         a0 = s5;
    0x00007e9c move a2, s6               |         a2 = s6;
    0x00007ea0 jalr t9                   |         t9 ();
    0x00007ea4 lw a1, 0x38(s1)           |         a1 = *((s1 + 14));
    0x00007ea8 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00007eac lw v1, 0x3c(s1)           |         v1 = *((s1 + 15));
    0x00007eb0 sra a0, v0, 0x1f          |         a0 = v0 >> 0x1f;
                                         |         if (v0 != a1) {
    0x00007eb4 bne v0, a1, 0x81ac        |             goto label_15;
                                         |         }
    0x00007eb8 lui v1, 0xfc02            |         v1 = 0xfc020000;
                                         |         if (a0 != v1) {
    0x00007ebc bne a0, v1, 0x81ac        |             goto label_15;
                                         |         }
    0x00007ec0 lw a0, (s0)               |         a0 = *(s0);
    0x00007ec4 ori v1, v1, 0xfc04        |         v1 |= fcn.0000fc04;
    0x00007ec8 lw t9, -0x788c(gp)        |         t9 = *((gp - 7715));
                                         |         if (a0 != v1) {
    0x00007ecc bne a0, v1, 0x81b0        |             goto label_16;
                                         |         }
    0x00007ed0 lw v1, 4(s0)              |         v1 = *((s0 + 1));
    0x00007ed4 slti v1, v1, 7            |         v1 = (v1 < 7) ? 1 : 0;
                                         |         if (v1 != 0) {
    0x00007ed8 bnez v1, 0x81b0           |             goto label_16;
                                         |         }
    0x00007edc nop                       |         
    0x00007ee0 lw s5, 8(s0)              |         s5 = *((s0 + 2));
                                         |         if (s5 != v0) {
    0x00007ee4 bne s5, v0, 0x81b0        |             goto label_16;
                                         |         }
    0x00007ee8 nop                       |         
    0x00007eec lw a0, 0xc(s0)            |         a0 = *((s0 + 3));
    0x00007ef0 addiu s6, zero, 1         |         s6 = 1;
                                         |         if (a0 < 0) {
    0x00007ef4 bltz a0, 0x81b0           |             goto label_16;
                                         |         }
    0x00007ef8 addiu v0, s5, -4          |         v0 = s5 + -4;
    0x00007efc b 0x80c4                  |         goto label_17;
                                         | label_9:
    0x00007f00 lw t9, -0x7828(gp)        |         t9 = *((gp - 7690));
    0x00007f04 lw a0, -0x77ec(v0)        |         a0 = *(v0);
    0x00007f08 jalr t9                   |         t9 ();
    0x00007f0c lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         | label_10:
    0x00007f10 lw s0, -0x7fe4(gp)        |         s0 = *((gp - 8185));
    0x00007f14 sync                      |         __asm ("sync");
    0x00007f18 lw v0, -0x77f0(s0)        |         v0 = *((s0 - 7676));
    0x00007f1c addiu v1, zero, 3         |         v1 = 3;
    0x00007f20 bnez v0, 0x7e58           |         
                                         |     } while (v0 != 0);
    0x00007f24 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
                                         | label_11:
    0x00007f28 lw t9, -0x7928(gp)        |     t9 = *((gp - 7754));
    0x00007f2c addiu a0, a0, -0x757c     |     a0 += -0x757c;
    0x00007f30 jalr t9                   |     t9 ();
    0x00007f34 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00007f38 beqz v0, 0x81c4           |         goto label_18;
                                         |     }
    0x00007f3c lw t9, -0x7f68(gp)        |     t9 = *((gp - 8154));
    0x00007f40 addiu a1, sp, 0x38        |     a1 = sp + 0x38;
    0x00007f44 move a0, v0               |     a0 = v0;
    0x00007f48 bal 0x25914               |     fcn_00025914 ();
    0x00007f4c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00007f50 beqz v0, 0x81c4           |         goto label_18;
                                         |     }
    0x00007f54 lw v0, 0x38(sp)           |     v0 = *(var_38h);
                                         |     if (v0 != 0) {
    0x00007f58 bnez v0, 0x7fcc           |         goto label_19;
                                         |     }
    0x00007f5c nop                       |     
    0x00007f60 sync                      |     __asm ("sync");
                                         |     do {
    0x00007f64 ll v1, -0x77f0(s0)        |         __asm ("ll v1, -0x77f0(s0)");
    0x00007f68 addiu at, zero, 2         |         at = 2;
                                         |         if (v1 != 0) {
    0x00007f6c bnez v1, 0x7f80           |             goto label_20;
                                         |         }
    0x00007f70 sc at, -0x77f0(s0)        |         __asm ("sc at, -0x77f0(s0)");
    0x00007f74 beqz at, 0x7f64           |         
                                         |     } while (at == 0);
    0x00007f78 nop                       |     
    0x00007f7c sync                      |     __asm ("sync");
                                         | label_20:
    0x00007f80 lw s6, 0x38(s1)           |     s6 = *((s1 + 14));
    0x00007f84 b 0x7e78                  |     goto label_1;
                                         | label_14:
    0x00007f88 move s0, zero             |     s0 = 0;
                                         | label_3:
    0x00007f8c lw a0, 0x3c(sp)           |     a0 = *(var_3ch);
    0x00007f90 lw v1, (s2)               |     v1 = *(s2);
    0x00007f94 move v0, s0               |     v0 = s0;
                                         |     if (a0 != v1) {
    0x00007f98 bne a0, v1, 0x83dc        |         goto label_21;
                                         |     }
    0x00007f9c lw ra, 0x64(sp)           |     ra = *(var_64h_2);
    0x00007fa0 lw fp, 0x60(sp)           |     fp = *(var_60h);
    0x00007fa4 lw s7, 0x5c(sp)           |     s7 = *(var_5ch);
    0x00007fa8 lw s6, 0x58(sp)           |     s6 = *(var_58h);
    0x00007fac lw s5, 0x54(sp)           |     s5 = *(var_54h);
    0x00007fb0 lw s4, 0x50(sp)           |     s4 = *(var_50h);
    0x00007fb4 lw s3, 0x4c(sp)           |     s3 = *(var_4ch);
    0x00007fb8 lw s2, 0x48(sp)           |     s2 = *(var_48h);
    0x00007fbc lw s1, 0x44(sp)           |     s1 = *(var_44h);
    0x00007fc0 lw s0, 0x40(sp)           |     s0 = *(var_40h);
    0x00007fc4 addiu sp, sp, 0x68        |     
    0x00007fc8 jr ra                     |     return v0;
                                         | label_19:
    0x00007fcc sync                      |     __asm ("sync");
                                         |     do {
    0x00007fd0 ll v1, -0x77f0(s0)        |         __asm ("ll v1, -0x77f0(s0)");
    0x00007fd4 addiu at, zero, 1         |         at = 1;
                                         |         if (v1 != 0) {
    0x00007fd8 bnez v1, 0x7fec           |             goto label_22;
                                         |         }
    0x00007fdc sc at, -0x77f0(s0)        |         __asm ("sc at, -0x77f0(s0)");
    0x00007fe0 beqz at, 0x7fd0           |         
                                         |     } while (at == 0);
    0x00007fe4 nop                       |     
    0x00007fe8 sync                      |     __asm ("sync");
                                         | label_22:
    0x00007fec lw a1, 0x38(s1)           |     a1 = *((s1 + 14));
    0x00007ff0 lw v1, 0x3c(s1)           |     v1 = *((s1 + 15));
    0x00007ff4 move s6, a1               |     s6 = a1;
                                         | label_13:
    0x00007ff8 lw t9, -0x78a8(gp)        |     t9 = *((gp - 7722));
                                         |     if (v1 > 0) {
    0x00007ffc bgtz v1, 0x8018           |         goto label_23;
                                         |     }
    0x00008000 lw t9, -0x7930(gp)        |     t9 = *((gp - 7756));
                                         |     if (v1 != 0) {
    0x00008004 bnez v1, 0x7e7c           |         goto label_2;
                                         |     }
    0x00008008 sltiu v0, a1, 0x400       |     v0 = (a1 < aav.0x00000400) ? 1 : 0;
                                         |     if (v0 != 0) {
    0x0000800c bnez v0, 0x7e7c           |         goto label_2;
                                         |     }
    0x00008010 nop                       |     
    0x00008014 lw t9, -0x78a8(gp)        |     t9 = *((gp - 7722));
                                         | label_23:
    0x00008018 move v1, zero             |     v1 = 0;
    0x0000801c move v0, zero             |     v0 = 0;
    0x00008020 addiu a3, zero, 1         |     a3 = 1;
    0x00008024 addiu a2, zero, 1         |     a2 = 1;
    0x00008028 move a0, zero             |     a0 = 0;
    0x0000802c sw v1, 0x1c(sp)           |     *(var_1ch_2) = v1;
    0x00008030 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00008034 sw s5, 0x10(sp)           |     *(var_10h_2) = s5;
    0x00008038 jalr t9                   |     t9 ();
    0x0000803c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00008040 lw a0, 0x38(s1)           |     a0 = *((s1 + 14));
    0x00008044 lw a1, 0x3c(s1)           |     a1 = *((s1 + 15));
    0x00008048 addiu v1, zero, 3         |     v1 = 3;
    0x0000804c lw t9, -0x79fc(gp)        |     t9 = *((gp - 7807));
    0x00008050 sw a0, 0x10(sp)           |     *(var_10h_2) = a0;
    0x00008054 sw v1, 0x18(sp)           |     *(var_18h) = v1;
    0x00008058 sw a1, 0x14(sp)           |     *(var_14h) = a1;
    0x0000805c move a2, zero             |     a2 = 0;
    0x00008060 move a3, zero             |     a3 = 0;
    0x00008064 move a0, s5               |     a0 = s5;
    0x00008068 move s0, v0               |     s0 = v0;
    0x0000806c jalr t9                   |     t9 ();
    0x00008070 addiu v0, zero, -1        |     v0 = -1;
    0x00008074 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s0 == v0) {
    0x00008078 beq s0, v0, 0x8210        |         goto label_24;
                                         |     }
    0x0000807c lw a1, 0x38(s1)           |     a1 = *((s1 + 14));
                                         |     if (s0 == 0) {
    0x00008080 beqz s0, 0x83e8           |         goto label_25;
                                         |     }
    0x00008084 lui v0, 0xfc02            |     v0 = 0xfc020000;
    0x00008088 lw v1, (s0)               |     v1 = *(s0);
    0x0000808c ori v0, v0, 0xfc04        |     v0 |= fcn.0000fc04;
    0x00008090 lw t9, -0x79b4(gp)        |     t9 = *((gp - 7789));
                                         |     if (v1 != v0) {
    0x00008094 bne v1, v0, 0x81fc        |         goto label_26;
                                         |     }
    0x00008098 lw v0, 4(s0)              |     v0 = *((s0 + 1));
    0x0000809c slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
                                         |     if (v0 != 0) {
    0x000080a0 bnez v0, 0x81fc           |         goto label_26;
                                         |     }
    0x000080a4 nop                       |     
    0x000080a8 lw s5, 8(s0)              |     s5 = *((s0 + 2));
                                         |     if (s5 != a1) {
    0x000080ac bne s5, a1, 0x81fc        |         goto label_26;
                                         |     }
    0x000080b0 nop                       |     
    0x000080b4 lw a0, 0xc(s0)            |     a0 = *((s0 + 3));
    0x000080b8 move s6, zero             |     s6 = 0;
                                         |     if (a0 < 0) {
    0x000080bc bltz a0, 0x81fc           |         goto label_26;
                                         |     }
    0x000080c0 addiu v0, s5, -4          |     v0 = s5 + -4;
                                         | label_17:
    0x000080c4 sltu v0, v0, a0           |     v0 = (v0 < a0) ? 1 : 0;
    0x000080c8 lw t9, -0x7984(gp)        |     t9 = *((gp - 7777));
                                         |     if (v0 != 0) {
    0x000080cc bnez v0, 0x81a4           |         goto label_5;
                                         |     }
    0x000080d0 subu a2, s5, a0           |     __asm ("subu a2, s5, a0");
    0x000080d4 move a1, zero             |     a1 = 0;
    0x000080d8 addu a0, s0, a0           |     a0 = s0 + a0;
    0x000080dc jalr t9                   |     t9 ();
    0x000080e0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x000080e4 beqz v0, 0x81a4           |         goto label_5;
                                         |     }
    0x000080e8 lw v0, 0x10(s0)           |     v0 = *((s0 + 4));
    0x000080ec slt v1, v0, s5            |     v1 = (v0 < s5) ? 1 : 0;
                                         |     if (v0 < 0) {
    0x000080f0 bltz v0, 0x81a4           |         goto label_5;
                                         |     }
                                         |     if (v1 == 0) {
    0x000080f4 beqz v1, 0x81a4           |         goto label_5;
                                         |     }
    0x000080f8 nop                       |     
    0x000080fc lw s7, 0x14(s0)           |     s7 = *((s0 + 5));
    0x00008100 subu v1, s5, v0           |     __asm ("subu v1, s5, v0");
                                         |     if (s7 < 0) {
    0x00008104 bltz s7, 0x81a4           |         goto label_5;
                                         |     }
    0x00008108 srl v1, v1, 2             |     v1 >>= 2;
    0x0000810c sltu v1, v1, s7           |     v1 = (v1 < s7) ? 1 : 0;
    0x00008110 addu v1, v0, s0           |     v1 = v0 + s0;
                                         |     if (v1 != 0) {
    0x00008114 bnez v1, 0x81a4           |         goto label_5;
                                         |     }
    0x00008118 addu v0, s0, s5           |     v0 = s0 + s5;
    0x0000811c sw v0, 0x30(sp)           |     *(var_30h) = v0;
                                         |     if (v1 == 0) {
    0x00008120 beqz v1, 0x8218           |         goto label_27;
                                         |     }
                                         |     if (s7 == 0) {
    0x00008124 beql s7, zero, 0x821c     |         goto label_28;
                                         |     }
    0x00008128 lw v0, 0x18(s0)           |     v0 = *((s0 + 6));
    0x0000812c lw a0, (v1)               |     a0 = *(v1);
                                         |     if (a0 < 0) {
    0x00008130 bltz a0, 0x81a4           |         goto label_5;
                                         |     }
    0x00008134 nop                       |     
    0x00008138 subu fp, v0, v1           |     __asm ("subu fp, v0, v1");
    0x0000813c addiu v0, fp, -4          |     v0 = fp + -4;
    0x00008140 sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x00008144 sltu v0, v0, a0           |     v0 = (v0 < a0) ? 1 : 0;
                                         |     if (v0 != 0) {
    0x00008148 bnez v0, 0x81a4           |         goto label_5;
                                         |     }
    0x0000814c nop                       |     
    0x00008150 move fp, zero             |     fp = 0;
    0x00008154 b 0x8180                  |     
                                         |     while (v0 != 0) {
    0x00008158 addiu fp, fp, 1           |         fp++;
    0x0000815c lw v1, 0x2c(sp)           |         v1 = *(var_2ch);
                                         |         if (s7 == fp) {
    0x00008160 beq s7, fp, 0x8218        |             goto label_27;
                                         |         }
    0x00008164 sll a0, fp, 2             |         a0 = fp << 2;
    0x00008168 lwx a0, v1(a0)            |         __asm ("lwx a0, v1(a0)");
    0x0000816c lw v0, 0x34(sp)           |         v0 = *(var_34h);
                                         |         if (a0 < 0) {
    0x00008170 bltz a0, 0x81a4           |             goto label_5;
                                         |         }
    0x00008174 sltu v0, v0, a0           |         v0 = (v0 < a0) ? 1 : 0;
                                         |         if (v0 != 0) {
    0x00008178 bnez v0, 0x81a4           |             goto label_5;
                                         |         }
    0x0000817c nop                       |         
    0x00008180 lw v0, 0x30(sp)           |         v0 = *(var_30h);
    0x00008184 lw t9, -0x7984(gp)        |         t9 = *((gp - 7777));
    0x00008188 addu a0, v1, a0           |         a0 = v1 + a0;
    0x0000818c sw v1, 0x2c(sp)           |         *(var_2ch) = v1;
    0x00008190 subu a2, v0, a0           |         __asm ("subu a2, v0, a0");
    0x00008194 move a1, zero             |         a1 = 0;
    0x00008198 jalr t9                   |         t9 ();
    0x0000819c lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000081a0 bnez v0, 0x8158           |         
                                         |     }
                                         |     if (s6 == 0) {
                                         | label_5:
    0x000081a4 beql s6, zero, 0x81f8     |         goto label_29;
                                         |     }
    0x000081a8 lw a1, 0x38(s1)           |     a1 = *((s1 + 14));
                                         | label_15:
    0x000081ac lw t9, -0x788c(gp)        |     t9 = *((gp - 7715));
                                         | label_16:
    0x000081b0 move a0, s0               |     a0 = s0;
    0x000081b4 jalr t9                   |     t9 ();
    0x000081b8 move s0, zero             |     s0 = 0;
    0x000081bc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000081c0 b 0x7f8c                  |     goto label_3;
                                         | label_18:
    0x000081c4 sync                      |     __asm ("sync");
                                         |     do {
    0x000081c8 ll v1, -0x77f0(s0)        |         __asm ("ll v1, -0x77f0(s0)");
    0x000081cc addiu at, zero, 3         |         at = 3;
                                         |         if (v1 != 0) {
    0x000081d0 bnez v1, 0x81e4           |             goto label_30;
                                         |         }
    0x000081d4 sc at, -0x77f0(s0)        |         __asm ("sc at, -0x77f0(s0)");
    0x000081d8 beqz at, 0x81c8           |         
                                         |     } while (at == 0);
    0x000081dc nop                       |     
    0x000081e0 sync                      |     __asm ("sync");
                                         | label_30:
    0x000081e4 lw t9, -0x7f6c(gp)        |     t9 = *((gp - 8155));
                                         | label_12:
    0x000081e8 move a0, s5               |     a0 = s5;
    0x000081ec jalr t9                   |     t9 ();
    0x000081f0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000081f4 b 0x7e68                  |     goto label_4;
                                         | label_29:
    0x000081f8 lw t9, -0x79b4(gp)        |     t9 = *((gp - 7789));
                                         | label_26:
    0x000081fc move a0, s0               |     a0 = s0;
    0x00008200 jalr t9                   |     t9 ();
    0x00008204 move s0, zero             |     s0 = 0;
    0x00008208 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000820c b 0x7f8c                  |     goto label_3;
                                         | label_24:
    0x00008210 lw s6, 0x38(s1)           |     s6 = *((s1 + 14));
    0x00008214 b 0x7e78                  |     goto label_1;
                                         | label_27:
    0x00008218 lw v0, 0x18(s0)           |     v0 = *((s0 + 6));
                                         | label_28:
    0x0000821c addiu v1, s5, -0xc        |     v1 = s5 + -0xc;
                                         |     if (v0 < 0) {
    0x00008220 bltz v0, 0x81a4           |         goto label_5;
                                         |     }
    0x00008224 sltu v1, v1, v0           |     v1 = (v1 < v0) ? 1 : 0;
                                         |     if (v1 != 0) {
    0x00008228 bnez v1, 0x81a4           |         goto label_5;
                                         |     }
    0x0000822c nop                       |     
    0x00008230 addu a1, s0, v0           |     a1 = s0 + v0;
    0x00008234 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
                                         |     if (a1 == 0) {
    0x00008238 beqz a1, 0x838c           |         goto label_31;
                                         |     }
    0x0000823c lw v1, 0x30(sp)           |     v1 = *(var_30h);
    0x00008240 lw t3, (a1)               |     t3 = *(a1);
    0x00008244 subu v0, v1, a1           |     __asm ("subu v0, v1, a1");
    0x00008248 srl v0, v0, 4             |     v0 >>= 4;
    0x0000824c sltu v0, v0, t3           |     v0 = (v0 < t3) ? 1 : 0;
                                         |     if (v0 != 0) {
    0x00008250 bnez v0, 0x81a4           |         goto label_5;
                                         |     }
    0x00008254 nop                       |     
    0x00008258 lw t1, 8(a1)              |     t1 = *((a1 + 2));
    0x0000825c andi v0, t1, 1            |     v0 = t1 & 1;
    0x00008260 addiu a3, zero, -2        |     a3 = -2;
                                         |     if (v0 == 0) {
    0x00008264 beqz v0, 0x81a4           |         goto label_5;
                                         |     }
    0x00008268 move t2, zero             |     t2 = 0;
    0x0000826c and t1, t1, a3            |     t1 &= a3;
    0x00008270 addiu t5, v1, -0xc        |     t5 = v1 + -0xc;
    0x00008274 addiu t4, zero, -1        |     t4 = -1;
    0x00008278 addiu t0, v1, -0x20       |     t0 = v1 + -0x20;
                                         | label_6:
    0x0000827c slt v0, t2, t3            |     v0 = (t2 < t3) ? 1 : 0;
    0x00008280 sll v0, t2, 2             |     v0 = t2 << 2;
                                         |     if (v0 == 0) {
    0x00008284 beqz v0, 0x8388           |         goto label_32;
                                         |     }
    0x00008288 addu v0, v0, a1           |     v0 += a1;
    0x0000828c lwx v0, t1(v0)            |     __asm ("lwx v0, t1(v0)");
    0x00008290 and v0, v0, a3            |     v0 &= a3;
    0x00008294 addu v0, v0, a1           |     v0 += a1;
    0x00008298 sltu v1, v0, s0           |     v1 = (v0 < s0) ? 1 : 0;
    0x0000829c sltu v1, t5, v0           |     v1 = (t5 < v0) ? 1 : 0;
                                         |     if (v1 != 0) {
    0x000082a0 bnez v1, 0x81a4           |         goto label_5;
                                         |     }
                                         |     if (v1 != 0) {
    0x000082a4 bnez v1, 0x81a4           |         goto label_5;
                                         |     }
    0x000082a8 nop                       |     
    0x000082ac lw a2, 8(v0)              |     a2 = *((v0 + 2));
    0x000082b0 lw v1, 0x30(sp)           |     v1 = *(var_30h);
                                         |     if (a2 < 0) {
    0x000082b4 bltz a2, 0x81a4           |         goto label_5;
                                         |     }
    0x000082b8 subu v1, v1, v0           |     __asm ("subu v1, v1, v0");
    0x000082bc slt a0, v1, a2            |     a0 = (v1 < a2) ? 1 : 0;
    0x000082c0 subu v1, v1, a2           |     __asm ("subu v1, v1, a2");
                                         |     if (a0 != 0) {
    0x000082c4 bnez a0, 0x81a4           |         goto label_5;
                                         |     }
    0x000082c8 lw t6, (v0)               |     t6 = *(v0);
    0x000082cc srl v1, v1, 3             |     v1 >>= 3;
    0x000082d0 sltu v1, v1, t6           |     v1 = (v1 < t6) ? 1 : 0;
                                         |     if (v1 != 0) {
    0x000082d4 bnez v1, 0x81a4           |         goto label_5;
                                         |     }
    0x000082d8 nop                       |     
    0x000082dc lw v1, 0xc(v0)            |     v1 = *((v0 + 3));
    0x000082e0 addu a2, v0, a2           |     a2 = v0 + a2;
                                         |     if (v1 != t4) {
    0x000082e4 bne v1, t4, 0x81a4        |         goto label_5;
                                         |     }
    0x000082e8 lw v0, 4(a2)              |     v0 = *((a2 + 1));
    0x000082ec andi v0, v0, 1            |     v0 &= 1;
                                         |     if (v0 == 0) {
    0x000082f0 beqz v0, 0x82fc           |         goto label_33;
                                         |     }
                                         |     if (v0 == 0) {
    0x000082f4 beqz v0, 0x81a4           |         goto label_5;
                                         |     }
    0x000082f8 nop                       |     
                                         |     if (t6 <= 0) {
                                         | label_33:
    0x000082fc blezl t6, 0x827c          |         goto label_6;
                                         |     }
    0x00008300 addiu t2, t2, 1           |     t2++;
    0x00008304 move t7, a2               |     t7 = a2;
    0x00008308 move t8, zero             |     t8 = 0;
                                         | label_8:
    0x0000830c lw v0, 4(t7)              |     v0 = *((t7 + 1));
    0x00008310 andi v1, v0, 1            |     v1 = v0 & 1;
                                         |     if (v1 != 0) {
    0x00008314 beqz v1, 0x8324           |         
    0x00008318 nop                       |         
    0x0000831c and v0, v0, a3            |         v0 &= a3;
    0x00008320 addu v0, v0, t7           |         v0 += t7;
                                         |     }
                                         |     if (v0 == 0) {
    0x00008324 beql v0, zero, 0x8378     |         goto label_34;
                                         |     }
    0x00008328 addiu t8, t8, 1           |     t8++;
    0x0000832c sltu v1, v0, a2           |     v1 = (v0 < a2) ? 1 : 0;
    0x00008330 sltu v1, t0, v0           |     v1 = (t0 < v0) ? 1 : 0;
                                         |     if (v1 == 0) {
    0x00008334 beqz v1, 0x8360           |         goto label_35;
                                         |     }
    0x00008338 b 0x81a4                  |     goto label_5;
    0x0000833c nop                       |     
                                         | label_7:
    0x00008340 and v1, v1, a3            |     v1 &= a3;
                                         |     if (a0 == 0) {
    0x00008344 beqz a0, 0x81a4           |         goto label_5;
                                         |     }
    0x00008348 addiu a0, v0, 1           |     a0 = v0 + 1;
    0x0000834c addu v0, v0, v1           |     v0 += v1;
    0x00008350 sltu a0, v0, a0           |     a0 = (v0 < a0) ? 1 : 0;
                                         |     if (v0 == 0) {
    0x00008354 beqz v0, 0x8374           |         goto label_36;
                                         |     }
    0x00008358 sltu v1, t0, v0           |     v1 = (t0 < v0) ? 1 : 0;
                                         |     if (a0 != 0) {
    0x0000835c bnez a0, 0x81a4           |         goto label_5;
                                         |     }
                                         |     if (v1 != 0) {
                                         | label_35:
    0x00008360 bnez v1, 0x81a4           |         goto label_5;
                                         |     }
    0x00008364 nop                       |     
    0x00008368 lw v1, (v0)               |     v1 = *(v0);
    0x0000836c andi a0, v1, 1            |     a0 = v1 & 1;
                                         |     if (v1 != 0) {
    0x00008370 bnez v1, 0x8340           |         goto label_7;
                                         |     }
                                         | label_36:
    0x00008374 addiu t8, t8, 1           |     t8++;
                                         | label_34:
    0x00008378 addiu t7, t7, 8           |     t7 += 8;
                                         |     if (t6 != t8) {
    0x0000837c bne t6, t8, 0x830c        |         goto label_8;
                                         |     }
    0x00008380 addiu t2, t2, 1           |     t2++;
    0x00008384 b 0x827c                  |     goto label_6;
                                         | label_32:
    0x00008388 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
                                         | label_31:
    0x0000838c move a2, s4               |     a2 = s4;
    0x00008390 move a1, s0               |     a1 = s0;
    0x00008394 addiu t9, t9, 0x6228      |     t9 += fcn.00006228;
    0x00008398 move a0, s3               |     a0 = s3;
    0x0000839c bal 0x6228                |     fcn_00006228 ();
    0x000083a0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x000083a4 beqz v0, 0x81a4           |         goto label_5;
                                         |     }
    0x000083a8 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x000083ac move a1, s1               |     a1 = s1;
    0x000083b0 addiu t9, t9, 0x6520      |     t9 += fcn.00006520;
    0x000083b4 move a0, s0               |     a0 = s0;
    0x000083b8 bal 0x6520                |     fcn_00006520 ();
    0x000083bc lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x000083c0 beqz v0, 0x81a4           |         goto label_5;
                                         |     }
                                         |     if (s6 == 0) {
    0x000083c4 beqz s6, 0x7f8c           |         goto label_3;
                                         |     }
    0x000083c8 nop                       |     
    0x000083cc lui v0, 0xfc02            |     v0 = 0xfc02fc05;
    0x000083d0 ori v0, v0, 0xfc05        |     
    0x000083d4 sw v0, (s0)               |     *(s0) = v0;
    0x000083d8 b 0x7f8c                  |     goto label_3;
                                         | label_21:
    0x000083dc lw t9, -0x78c4(gp)        |     t9 = *((gp - 7729));
    0x000083e0 jalr t9                   |     t9 ();
    0x000083e4 nop                       |     
                                         | label_25:
    0x000083e8 move s6, a1               |     s6 = a1;
    0x000083ec b 0x7e78                  |     goto label_1;
                                         | }

[*] Function popen used 1 times libfontconfig.so.1.12.0