[*] Binary protection state of libfreetype.so.6.13.0

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


[*] Function fprintf tear down of libfreetype.so.6.13.0

    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libfreetype.so.6.13.0 @ 0x6520c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.FTC_Manager_RemoveFaceID ()      | void FTC_Manager_RemoveFaceID () {
    0x0006520c lui gp, 4                         |     
    0x00065210 addiu gp, gp, -0x4dfc             |     
    0x00065214 addu gp, gp, t9                   |     gp += t9;
    0x00065218 addiu sp, sp, -0x58               |     
    0x0006521c sw ra, 0x54(sp)                   |     *(var_54h) = ra;
    0x00065220 sw fp, 0x50(sp)                   |     *(var_50h) = fp;
    0x00065224 sw s7, 0x4c(sp)                   |     *(var_4ch) = s7;
    0x00065228 sw s6, 0x48(sp)                   |     *(var_48h) = s6;
    0x0006522c sw s5, 0x44(sp)                   |     *(var_44h) = s5;
    0x00065230 sw s4, 0x40(sp)                   |     *(var_40h) = s4;
    0x00065234 sw s3, 0x3c(sp)                   |     *(var_3ch) = s3;
    0x00065238 sw s2, 0x38(sp)                   |     *(var_38h) = s2;
    0x0006523c sw s1, 0x34(sp)                   |     *(var_34h) = s1;
    0x00065240 sw s0, 0x30(sp)                   |     *(var_30h) = s0;
    0x00065244 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x00065248 move s3, a0                       |     s3 = a0;
                                                 |     if (a0 == 0) {
    0x0006524c beqz a0, 0x653c4                  |         goto label_2;
                                                 |     }
    0x00065250 lw t9, -0x7ed8(gp)                |     t9 = *((gp - 8118));
    0x00065254 move s4, a1                       |     s4 = a1;
    0x00065258 lw a1, -0x7ed8(gp)                |     a1 = *((gp - 8118));
    0x0006525c addiu a0, a0, 0x5c                |     a0 += 0x5c;
    0x00065260 move a2, s4                       |     a2 = s4;
    0x00065264 addiu t9, t9, 0x33f8              |     t9 += 0x33f8;
    0x00065268 addiu a1, a1, 0x2f00              |     a1 += aav.0x00002f00;
    0x0006526c move s2, zero                     |     s2 = 0;
    0x00065270 jalr t9                           |     t9 ();
    0x00065274 addiu t8, sp, 0x18                |     t8 = sp + 0x18;
    0x00065278 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x0006527c sw t8, 0x20(sp)                   |     *(var_20h) = t8;
    0x00065280 lw s6, -0x7ed8(gp)                |     s6 = *((gp - 8118));
    0x00065284 lw s7, -0x7ed8(gp)                |     s7 = *((gp - 8118));
                                                 | label_1:
    0x00065288 lw t8, 0x58(s3)                   |     t8 = *((s3 + 22));
    0x0006528c sltu t8, s2, t8                   |     t8 = (s2 < t8) ? 1 : 0;
    0x00065290 sll t8, s2, 2                     |     t8 = s2 << 2;
                                                 |     if (t8 == 0) {
    0x00065294 beqz t8, 0x653c4                  |         goto label_2;
                                                 |     }
    0x00065298 move s5, zero                     |     s5 = 0;
    0x0006529c addu t8, s3, t8                   |     t8 = s3 + t8;
    0x000652a0 move v1, zero                     |     v1 = 0;
    0x000652a4 lw s0, 0x18(t8)                   |     s0 = *((t8 + 6));
    0x000652a8 lw t1, (s0)                       |     t1 = *(s0);
    0x000652ac lw t8, 4(s0)                      |     t8 = *((s0 + 1));
    0x000652b0 lw s1, 0x30(s0)                   |     s1 = *((s0 + 12));
    0x000652b4 addu t1, t1, t8                   |     t1 += t8;
    0x000652b8 addiu t1, t1, 1                   |     t1++;
                                                 | label_0:
    0x000652bc sltu v0, v1, t1                   |     v0 = (v1 < t1) ? 1 : 0;
    0x000652c0 sll t0, v1, 2                     |     t0 = v1 << 2;
                                                 |     if (v0 == 0) {
    0x000652c4 beqz v0, 0x65338                  |         goto label_3;
                                                 |     }
    0x000652c8 lw v0, 0xc(s0)                    |     v0 = *((s0 + 3));
    0x000652cc addu t0, v0, t0                   |     t0 = v0 + t0;
                                                 |     do {
    0x000652d0 lw fp, (t0)                       |         fp = *(t0);
    0x000652d4 sb zero, 0x18(sp)                 |         *(var_18h) = 0;
                                                 |         if (fp == 0) {
    0x000652d8 beqz fp, 0x65330                  |             goto label_4;
                                                 |         }
    0x000652dc lw t9, 0x1c(s0)                   |         t9 = *((s0 + 7));
    0x000652e0 move a0, fp                       |         a0 = fp;
    0x000652e4 sw v1, 0x2c(sp)                   |         *(var_2ch) = v1;
    0x000652e8 move a1, s4                       |         a1 = s4;
    0x000652ec sw t0, 0x28(sp)                   |         *(var_28h) = t0;
    0x000652f0 move a2, s0                       |         a2 = s0;
    0x000652f4 sw t1, 0x24(sp)                   |         *(var_24h) = t1;
    0x000652f8 addiu a3, sp, 0x18                |         a3 = sp + 0x18;
    0x000652fc jalr t9                           |         t9 ();
    0x00065300 lw v1, 0x2c(sp)                   |         v1 = *(var_2ch);
    0x00065304 lw t0, 0x28(sp)                   |         t0 = *(var_28h);
    0x00065308 lw t1, 0x24(sp)                   |         t1 = *(var_24h);
                                                 |         if (v0 != 0) {
    0x0006530c beqz v0, 0x65320                  |             
    0x00065310 lw v0, 8(fp)                      |             v0 = *(arg_8h);
    0x00065314 sw v0, (t0)                       |             *(t0) = v0;
    0x00065318 sw s5, 8(fp)                      |             *(arg_8h) = s5;
    0x0006531c b 0x65328                         |             
                                                 |         } else {
    0x00065320 addiu t0, fp, 8                   |             t0 = fp + 8;
    0x00065324 move fp, s5                       |             fp = s5;
                                                 |         }
    0x00065328 move s5, fp                       |         s5 = fp;
    0x0006532c b 0x652d0                         |         
                                                 |     } while (1);
                                                 | label_4:
    0x00065330 addiu v1, v1, 1                   |     v1++;
    0x00065334 b 0x652bc                         |     goto label_0;
                                                 | label_3:
    0x00065338 addiu fp, s1, 8                   |     fp = s1 + 8;
                                                 |     do {
    0x0006533c move a0, s5                       |         a0 = s5;
                                                 |         if (s5 == 0) {
    0x00065340 beqz s5, 0x653b0                  |             goto label_5;
                                                 |         }
    0x00065344 lw v1, 8(s5)                      |         v1 = *((s5 + 2));
    0x00065348 lw a2, 0x10(s1)                   |         a2 = *((s1 + 4));
    0x0006534c move a1, s0                       |         a1 = s0;
    0x00065350 lw t9, 0x14(s0)                   |         t9 = *((s0 + 5));
    0x00065354 sw v1, 0x2c(sp)                   |         *(var_2ch) = v1;
    0x00065358 sw a2, 0x24(sp)                   |         *(var_24h) = a2;
    0x0006535c jalr t9                           |         t9 ();
    0x00065360 move a1, s5                       |         a1 = s5;
    0x00065364 lw a2, 0x24(sp)                   |         a2 = *(var_24h);
    0x00065368 move a0, fp                       |         a0 = fp;
    0x0006536c addiu t9, s6, 0x2ebc              |         t9 = s6 + 0x2ebc;
    0x00065370 subu v0, a2, v0                   |         __asm ("subu v0, a2, v0");
    0x00065374 sw v0, 0x10(s1)                   |         *((s1 + 4)) = v0;
    0x00065378 jalr t9                           |         t9 ();
    0x0006537c move a0, s5                       |         a0 = s5;
    0x00065380 lw v0, 0x14(s1)                   |         v0 = *((s1 + 5));
    0x00065384 move a1, s0                       |         a1 = s0;
    0x00065388 lw t9, 0x20(s0)                   |         t9 = *((s0 + 8));
    0x0006538c addiu v0, v0, -1                  |         v0 += -1;
    0x00065390 sw v0, 0x14(s1)                   |         *((s1 + 5)) = v0;
    0x00065394 jalr t9                           |         t9 ();
    0x00065398 lw t8, 8(s0)                      |         t8 = *((s0 + 2));
    0x0006539c lw v1, 0x2c(sp)                   |         v1 = *(var_2ch);
    0x000653a0 addiu t8, t8, 1                   |         t8++;
    0x000653a4 sw t8, 8(s0)                      |         *((s0 + 2)) = t8;
    0x000653a8 move s5, v1                       |         s5 = v1;
    0x000653ac b 0x6533c                         |         
                                                 |     } while (1);
                                                 | label_5:
    0x000653b0 addiu t9, s7, 0x3734              |     t9 = s7 + 0x3734;
    0x000653b4 move a0, s0                       |     a0 = s0;
    0x000653b8 jalr t9                           |     t9 ();
    0x000653bc addiu s2, s2, 1                   |     s2++;
    0x000653c0 b 0x65288                         |     goto label_1;
                                                 | label_2:
    0x000653c4 lw ra, 0x54(sp)                   |     ra = *(var_54h);
    0x000653c8 lw fp, 0x50(sp)                   |     fp = *(var_50h);
    0x000653cc lw s7, 0x4c(sp)                   |     s7 = *(var_4ch);
    0x000653d0 lw s6, 0x48(sp)                   |     s6 = *(var_48h);
    0x000653d4 lw s5, 0x44(sp)                   |     s5 = *(var_44h);
    0x000653d8 lw s4, 0x40(sp)                   |     s4 = *(var_40h);
    0x000653dc lw s3, 0x3c(sp)                   |     s3 = *(var_3ch);
    0x000653e0 lw s2, 0x38(sp)                   |     s2 = *(var_38h);
    0x000653e4 lw s1, 0x34(sp)                   |     s1 = *(var_34h);
    0x000653e8 lw s0, 0x30(sp)                   |     s0 = *(var_30h);
    0x000653ec addiu sp, sp, 0x58                |     
    0x000653f0 jr ra                             |     return v1;
                                                 | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libfreetype.so.6.13.0 @ 0x13f0c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.FT_Add_Module ()         | void FT_Add_Module () {
    0x00013f0c lui gp, 9                 |     
    0x00013f10 addiu gp, gp, -0x3afc     |     
    0x00013f14 addu gp, gp, t9           |     gp += t9;
    0x00013f18 addiu sp, sp, -0x40       |     
    0x00013f1c sw ra, 0x3c(sp)           |     *(var_3ch) = ra;
    0x00013f20 sw s6, 0x38(sp)           |     *(var_38h) = s6;
    0x00013f24 sw s5, 0x34(sp)           |     *(var_34h) = s5;
    0x00013f28 sw s4, 0x30(sp)           |     *(var_30h) = s4;
    0x00013f2c sw s3, 0x2c(sp)           |     *(var_2ch) = s3;
    0x00013f30 sw s2, 0x28(sp)           |     *(var_28h) = s2;
    0x00013f34 sw s1, 0x24(sp)           |     *(var_24h) = s1;
    0x00013f38 sw s0, 0x20(sp)           |     *(var_20h) = s0;
    0x00013f3c sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00013f40 move s1, a0               |     s1 = a0;
                                         |     if (a0 == 0) {
    0x00013f44 beqz a0, 0x141ec          |         goto label_3;
                                         |     }
    0x00013f48 move s2, a1               |     s2 = a1;
                                         |     if (a1 == 0) {
    0x00013f4c beqz a1, 0x141f4          |         goto label_4;
                                         |     }
    0x00013f50 lw v0, 0x10(a1)           |     v0 = *((a1 + 4));
    0x00013f54 lui t8, 2                 |     t8 = 0x20008;
    0x00013f58 addiu t8, t8, 8           |     
    0x00013f5c slt t8, v0, t8            |     t8 = (v0 < t8) ? 1 : 0;
    0x00013f60 addiu v0, zero, 4         |     v0 = 4;
                                         |     if (t8 == 0) {
    0x00013f64 beqz t8, 0x141f8          |         goto label_5;
                                         |     }
    0x00013f68 lw s5, 0x10(a0)           |     s5 = *((a0 + 4));
    0x00013f6c move s0, zero             |     s0 = 0;
                                         |     do {
    0x00013f70 sll t8, s0, 2             |         t8 = s0 << 2;
                                         |         if (s0 == s5) {
    0x00013f74 beq s0, s5, 0x13fd0       |             goto label_6;
                                         |         }
    0x00013f78 lw t9, -0x7d68(gp)        |         t9 = *((gp - 8026));
    0x00013f7c addu t8, s1, t8           |         t8 = s1 + t8;
    0x00013f80 lw s3, 0x14(t8)           |         s3 = *((t8 + 5));
    0x00013f84 lw a1, 8(s2)              |         a1 = *((s2 + 2));
    0x00013f88 lw s4, (s3)               |         s4 = *(s3);
    0x00013f8c lw a0, 8(s4)              |         a0 = *((s4 + 2));
    0x00013f90 jalr t9                   |         t9 ();
    0x00013f94 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 == 0) {
    0x00013f98 bnez v0, 0x13fc8          |             
    0x00013f9c lw v0, 0xc(s2)            |             v0 = *((s2 + 3));
    0x00013fa0 lw t8, 0xc(s4)            |             t8 = *((s4 + 3));
    0x00013fa4 slt t8, t8, v0            |             t8 = (t8 < v0) ? 1 : 0;
    0x00013fa8 addiu v0, zero, 5         |             v0 = 5;
                                         |             if (t8 == 0) {
    0x00013fac beqz t8, 0x141f8          |                 goto label_5;
                                         |             }
    0x00013fb0 lw t9, -0x7cc0(gp)        |             t9 = *((gp - 7984));
    0x00013fb4 move a0, s1               |             a0 = s1;
    0x00013fb8 move a1, s3               |             a1 = s3;
    0x00013fbc jalr t9                   |             t9 ();
    0x00013fc0 lw gp, 0x10(sp)           |             gp = *(var_10h);
    0x00013fc4 b 0x13fd0                 |             
                                         |         } else {
    0x00013fc8 addiu s0, s0, 1           |             s0++;
    0x00013fcc b 0x13f70                 |             
                                         |         } while (1);
                                         |     }
                                         | label_6:
    0x00013fd0 lw t8, 0x10(s1)           |     t8 = *((s1 + 4));
    0x00013fd4 lw s4, (s1)               |     s4 = *(s1);
    0x00013fd8 sltiu t8, t8, 0x20        |     t8 = (t8 < 0x20) ? 1 : 0;
    0x00013fdc sw zero, 0x1c(sp)         |     *(var_1ch) = 0;
                                         |     if (t8 == 0) {
    0x00013fe0 bnez t8, 0x13ff0          |         
    0x00013fe4 addiu t8, zero, 0x30      |         t8 = 0x30;
    0x00013fe8 sw t8, 0x1c(sp)           |         *(var_1ch) = t8;
    0x00013fec b 0x141a0                 |         goto label_7;
                                         |     }
    0x00013ff0 lw t9, -0x7f90(gp)        |     t9 = *((gp - 8164));
    0x00013ff4 move a0, s4               |     a0 = s4;
    0x00013ff8 lw a1, 4(s2)              |     a1 = *((s2 + 1));
    0x00013ffc addiu a2, sp, 0x1c        |     a2 = sp + 0x1c;
    0x00014000 jalr t9                   |     t9 ();
    0x00014004 lw t8, 0x1c(sp)           |     t8 = *(var_1ch);
    0x00014008 move s0, v0               |     s0 = v0;
    0x0001400c lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (t8 != 0) {
    0x00014010 bnez t8, 0x141a0          |         goto label_7;
                                         |     }
    0x00014014 lw t8, (s2)               |     t8 = *(s2);
    0x00014018 sw s1, 4(v0)              |     *((v0 + 1)) = s1;
    0x0001401c andi t8, t8, 2            |     t8 &= 2;
    0x00014020 sw s4, 8(v0)              |     *((v0 + 2)) = s4;
    0x00014024 sw s2, (v0)               |     *(v0) = s2;
                                         |     if (t8 != 0) {
    0x00014028 bnez t8, 0x14048          |         goto label_8;
                                         |     }
    0x0001402c lw t8, (s0)               |     t8 = *(s0);
                                         |     do {
    0x00014030 lw v0, (t8)               |         v0 = *(t8);
    0x00014034 andi v1, v0, 4            |         v1 = v0 & 4;
                                         |         if (v1 == 0) {
    0x00014038 beqz v1, 0x1412c          |             goto label_9;
                                         |         }
    0x0001403c nop                       |         
    0x00014040 sw s0, 0xa0(s1)           |         *((s1 + 40)) = s0;
    0x00014044 b 0x1412c                 |         goto label_9;
                                         | label_8:
    0x00014048 lw s5, (s1)               |         s5 = *(s1);
    0x0001404c addiu a1, zero, 0xc       |         a1 = 0xc;
    0x00014050 lw t9, -0x7f90(gp)        |         t9 = *((gp - 8164));
    0x00014054 addiu a2, sp, 0x18        |         a2 = sp + 0x18;
    0x00014058 move a0, s5               |         a0 = s5;
    0x0001405c jalr t9                   |         t9 ();
    0x00014060 lw t8, 0x18(sp)           |         t8 = *(var_18h);
    0x00014064 move s6, v0               |         s6 = v0;
    0x00014068 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (t8 == 0) {
    0x0001406c bnez t8, 0x1411c          |             
    0x00014070 lw s3, (s0)               |             s3 = *(s0);
    0x00014074 lui v0, 0x6f75            |             v0 = 0x6f75746c;
    0x00014078 addiu v0, v0, 0x746c      |             
    0x0001407c lw t8, 0x24(s3)           |             t8 = *((s3 + 9));
    0x00014080 sw s3, 0xc(s0)            |             *((s0 + 3)) = s3;
    0x00014084 sw t8, 0x10(s0)           |             *((s0 + 4)) = t8;
                                         |             if (t8 == v0) {
    0x00014088 bne t8, v0, 0x140c4       |                 
    0x0001408c lw t8, 0x38(s3)           |                 t8 = *((s3 + 14));
    0x00014090 lw t9, 4(t8)              |                 t9 = *((t8 + 1));
    0x00014094 move a0, s5               |                 a0 = s5;
                                         |                 if (t9 == 0) {
    0x00014098 beqz t9, 0x140c4          |                     goto label_10;
                                         |                 }
    0x0001409c addiu a1, s0, 0x34        |                 a1 = s0 + 0x34;
    0x000140a0 jalr t9                   |                 t9 ();
    0x000140a4 lw gp, 0x10(sp)           |                 gp = *(var_10h);
    0x000140a8 sw v0, 0x18(sp)           |                 *(var_18h) = v0;
                                         |                 if (v0 != 0) {
    0x000140ac bnez v0, 0x140fc          |                     goto label_11;
                                         |                 }
    0x000140b0 lw t8, 0x38(s3)           |                 t8 = *((s3 + 14));
    0x000140b4 lw t8, 0x10(t8)           |                 t8 = *((t8 + 4));
    0x000140b8 sw t8, 0x38(s0)           |                 *((s0 + 14)) = t8;
    0x000140bc lw t8, 0x28(s3)           |                 t8 = *((s3 + 10));
    0x000140c0 sw t8, 0x3c(s0)           |                 *((s0 + 15)) = t8;
                                         |             }
                                         | label_10:
    0x000140c4 lw t9, -0x7c74(gp)        |             t9 = *((gp - 7965));
    0x000140c8 addiu a0, s1, 0x94        |             a0 = s1 + 0x94;
    0x000140cc move a1, s6               |             a1 = s6;
    0x000140d0 sw s0, 8(s6)              |             *((s6 + 2)) = s0;
    0x000140d4 jalr t9                   |             t9 ();
    0x000140d8 lui a1, 0x6f75            |             a1 = 0x6f750000;
    0x000140dc lw gp, 0x10(sp)           |             gp = *(var_10h);
    0x000140e0 move a0, s1               |             a0 = s1;
    0x000140e4 addiu a1, a1, 0x746c      |             a1 += 0x746c;
    0x000140e8 lw t9, -0x7ea8(gp)        |             t9 = *((gp - 8106));
    0x000140ec move a2, zero             |             a2 = 0;
    0x000140f0 jalr t9                   |             t9 ();
    0x000140f4 lw gp, 0x10(sp)           |             gp = *(var_10h);
    0x000140f8 sw v0, 0x9c(s1)           |             *((s1 + 39)) = v0;
                                         | label_11:
    0x000140fc lw t8, 0x18(sp)           |             t8 = *(var_18h);
    0x00014100 lw t9, -0x7fc0(gp)        |             t9 = *((gp - 8176));
                                         |             if (t8 == 0) {
    0x00014104 beqz t8, 0x1411c          |                 goto label_12;
                                         |             }
    0x00014108 move a0, s5               |             a0 = s5;
    0x0001410c move a1, s6               |             a1 = s6;
    0x00014110 jalr t9                   |             t9 ();
    0x00014114 lw gp, 0x10(sp)           |             gp = *(var_10h);
    0x00014118 lw t8, 0x18(sp)           |             t8 = *(var_18h);
                                         |         }
                                         | label_12:
    0x0001411c sw t8, 0x1c(sp)           |         *(var_1ch) = t8;
                                         |         if (t8 != 0) {
    0x00014120 bnez t8, 0x1417c          |             goto label_13;
                                         |         }
    0x00014124 lw t8, (s0)               |         t8 = *(s0);
    0x00014128 b 0x14030                 |         
                                         |     } while (1);
                                         | label_9:
    0x0001412c andi v0, v0, 1            |     v0 &= 1;
                                         |     if (v0 != 0) {
    0x00014130 beqz v0, 0x1413c          |         
    0x00014134 nop                       |         
    0x00014138 sw t8, 0xc(s0)            |         *((s0 + 3)) = t8;
                                         |     }
    0x0001413c lw t9, 0x18(s2)           |     t9 = *((s2 + 6));
                                         |     if (t9 != 0) {
    0x00014140 bnez t9, 0x14168          |         goto label_14;
                                         |     }
    0x00014144 nop                       |     
                                         |     do {
    0x00014148 lw t8, 0x10(s1)           |         t8 = *((s1 + 4));
    0x0001414c addiu v0, t8, 1           |         v0 = t8 + 1;
    0x00014150 addiu t8, t8, 4           |         t8 += 4;
    0x00014154 sll t8, t8, 2             |         t8 <<= 2;
    0x00014158 sw v0, 0x10(s1)           |         *((s1 + 4)) = v0;
    0x0001415c addu s1, s1, t8           |         s1 += t8;
    0x00014160 sw s0, 4(s1)              |         *((s1 + 1)) = s0;
    0x00014164 b 0x141a0                 |         goto label_7;
                                         | label_14:
    0x00014168 move a0, s0               |         a0 = s0;
    0x0001416c jalr t9                   |         t9 ();
    0x00014170 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00014174 sw v0, 0x1c(sp)           |         *(var_1ch) = v0;
    0x00014178 beqz v0, 0x14148          |         
                                         |     } while (v0 == 0);
                                         | label_13:
    0x0001417c lw t8, (s0)               |     t8 = *(s0);
    0x00014180 lw t8, (t8)               |     t8 = *(t8);
    0x00014184 andi t8, t8, 2            |     t8 &= 2;
                                         |     if (t8 != 0) {
    0x00014188 bnez t8, 0x141a8          |         goto label_15;
                                         |     }
    0x0001418c nop                       |     
                                         | label_2:
    0x00014190 lw t9, -0x7fc0(gp)        |     t9 = *((gp - 8176));
                                         |     do {
                                         | label_1:
    0x00014194 move a0, s4               |         a0 = s4;
                                         | label_0:
    0x00014198 move a1, s0               |         a1 = s0;
    0x0001419c jalr t9                   |         t9 ();
                                         | label_7:
    0x000141a0 lw v0, 0x1c(sp)           |         v0 = *(var_1ch);
    0x000141a4 b 0x141f8                 |         goto label_5;
                                         | label_15:
    0x000141a8 lw t8, 0xc(s0)            |         t8 = *((s0 + 3));
    0x000141ac lw t9, -0x7fc0(gp)        |         t9 = *((gp - 8176));
    0x000141b0 beqz t8, 0x14194          |         
                                         |     } while (t8 == 0);
    0x000141b4 lui v0, 0x6f75            |     v0 = 0x6f750000;
    0x000141b8 lw v1, 0x24(t8)           |     v1 = *((t8 + 9));
    0x000141bc addiu v0, v0, 0x746c      |     v0 += 0x746c;
    0x000141c0 move a0, s4               |     a0 = s4;
                                         |     if (v1 != v0) {
    0x000141c4 bne v1, v0, 0x14198       |         goto label_0;
                                         |     }
    0x000141c8 lw a0, 0x34(s0)           |     a0 = *((s0 + 13));
                                         |     if (a0 == 0) {
    0x000141cc beqz a0, 0x14194          |         goto label_1;
                                         |     }
    0x000141d0 nop                       |     
    0x000141d4 lw t8, 0x38(t8)           |     t8 = *((t8 + 14));
    0x000141d8 lw t9, 0x14(t8)           |     t9 = *((t8 + 5));
    0x000141dc jalr t9                   |     t9 ();
    0x000141e0 nop                       |     
    0x000141e4 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000141e8 b 0x14190                 |     goto label_2;
                                         | label_3:
    0x000141ec addiu v0, zero, 0x21      |     v0 = 0x21;
    0x000141f0 b 0x141f8                 |     goto label_5;
                                         | label_4:
    0x000141f4 addiu v0, zero, 6         |     v0 = 6;
                                         | label_5:
    0x000141f8 lw ra, 0x3c(sp)           |     ra = *(var_3ch);
    0x000141fc lw s6, 0x38(sp)           |     s6 = *(var_38h);
    0x00014200 lw s5, 0x34(sp)           |     s5 = *(var_34h);
    0x00014204 lw s4, 0x30(sp)           |     s4 = *(var_30h);
    0x00014208 lw s3, 0x2c(sp)           |     s3 = *(var_2ch);
    0x0001420c lw s2, 0x28(sp)           |     s2 = *(var_28h);
    0x00014210 lw s1, 0x24(sp)           |     s1 = *(var_24h);
    0x00014214 lw s0, 0x20(sp)           |     s0 = *(var_20h);
    0x00014218 addiu sp, sp, 0x40        |     
    0x0001421c jr ra                     |     return v0;
                                         | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libfreetype.so.6.13.0 @ 0xbc8c */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.FT_Face_GetCharVariantIsDefault ()           | void FT_Face_GetCharVariantIsDefault () {
    0x0000bc8c lui gp, 9                                     |     
    0x0000bc90 addiu gp, gp, 0x4784                          |     
    0x0000bc94 addu gp, gp, t9                               |     gp += t9;
                                                             |     if (a0 != 0) {
    0x0000bc98 beqz a0, 0xbcf4                               |         
    0x0000bc9c nop                                           |         
    0x0000bca0 addiu sp, sp, -0x28                           |         
    0x0000bca4 sw ra, 0x24(sp)                               |         *(var_24h) = ra;
    0x0000bca8 lw t9, -0x7fd4(gp)                            |         t9 = *((gp - 8181));
    0x0000bcac sw gp, 0x10(sp)                               |         *(var_10h) = gp;
    0x0000bcb0 sw a1, 0x18(sp)                               |         *(var_18h) = a1;
    0x0000bcb4 addiu t9, t9, -0x44cc                         |         t9 += -0x44cc;
    0x0000bcb8 sw a2, 0x1c(sp)                               |         *(var_1ch) = a2;
    0x0000bcbc jalr t9                                       |         t9 ();
    0x0000bcc0 nop                                           |         
    0x0000bcc4 lw a1, 0x18(sp)                               |         a1 = *(var_18h);
    0x0000bcc8 lw a2, 0x1c(sp)                               |         a2 = *(var_1ch);
                                                             |         if (v0 == 0) {
    0x0000bccc bnez v0, 0xbcd8                               |             
    0x0000bcd0 addiu v0, zero, -1                            |             v0 = -1;
    0x0000bcd4 b 0xbce8                                      |             
                                                             |         } else {
    0x0000bcd8 lw t8, 0xc(v0)                                |             t8 = *((v0 + 3));
    0x0000bcdc lw t9, 0x18(t8)                               |             t9 = *((t8 + 6));
    0x0000bce0 move a0, v0                                   |             a0 = v0;
    0x0000bce4 jalr t9                                       |             t9 ();
                                                             |         }
    0x0000bce8 lw ra, 0x24(sp)                               |         ra = *(var_24h);
    0x0000bcec addiu sp, sp, 0x28                            |         
    0x0000bcf0 jr ra                                         |         return v0;
                                                             |     }
    0x0000bcf4 addiu v0, zero, -1                            |     v0 = -1;
    0x0000bcf8 jr ra                                         |     return v0;
                                                             | }

[*] Function fprintf used 1 times libfreetype.so.6.13.0