[*] Binary protection state of libfreetype.so.6.13.0
No RELRO No Canary found NX disabled DSO No RPATH No RUNPATH No Symbols
[*] Function system 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 system used 1 times libfreetype.so.6.13.0