[*] Binary protection state of libfido.so.1.0

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


[*] Function strcpy tear down of libfido.so.1.0

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libfido.so.1.0 @ 0x11f4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.000011f4 ()              | void fcn_000011f4 () {
    0x000011f4 lui gp, 2                 |     
    0x000011f8 addiu gp, gp, -0x6204     |     
    0x000011fc addu gp, gp, t9           |     gp += t9;
    0x00001200 lw a2, 4(a0)              |     a2 = *((a0 + 1));
    0x00001204 lw a1, (a0)               |     a1 = *(a0);
    0x00001208 addiu sp, sp, -0x20       |     
    0x0000120c lw v1, 8(a0)              |     v1 = *((a0 + 2));
    0x00001210 subu a1, a2, a1           |     __asm ("subu a1, a2, a1");
    0x00001214 sltu a1, a1, v1           |     a1 = (a1 < v1) ? 1 : 0;
    0x00001218 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x0000121c sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00001220 sw ra, 0x1c(sp)           |     *(var_1ch) = ra;
    0x00001224 move s0, a0               |     s0 = a0;
                                         |     if (a1 == 0) {
    0x00001228 bnez a1, 0x1244           |         
    0x0000122c lw t9, -0x7fe8(gp)        |         t9 = *((gp - 8186));
    0x00001230 addiu t9, t9, 0xbb0       |         t9 += entry0;
    0x00001234 bal 0xbb0                 |         entry0 ();
    0x00001238 nop                       |         
    0x0000123c lw a2, 4(s0)              |         a2 = *((s0 + 1));
    0x00001240 lw v1, 8(s0)              |         v1 = *((s0 + 2));
                                         |     }
    0x00001244 lw a0, 0x10(s0)           |     a0 = *((s0 + 4));
    0x00001248 addiu v1, v1, -1          |     v1 += -1;
    0x0000124c addiu a1, a2, 1           |     a1 = a2 + 1;
    0x00001250 and v1, v1, a2            |     v1 &= a2;
    0x00001254 sw a1, 4(s0)              |     *((s0 + 1)) = a1;
    0x00001258 mul a1, v1, a0            |     __asm ("mul a1, v1, a0");
    0x0000125c lw v0, 0xc(s0)            |     v0 = *((s0 + 3));
    0x00001260 lw ra, 0x1c(sp)           |     ra = *(var_1ch);
    0x00001264 lw s0, 0x18(sp)           |     s0 = *(var_18h);
    0x00001268 addiu sp, sp, 0x20        |     
    0x0000126c addu v0, a1, v0           |     v0 = a1 + v0;
    0x00001270 jr ra                     |     return v0;
                                         | }

[*] Function strcpy used 1 times libfido.so.1.0