[*] Binary protection state of iostat

  
  	Full RELRO     Canary found      NX enabled   PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function printf tear down of iostat

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/iostat @ 0x5e64 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00005e64 ()              | void fcn_00005e64 (int16_t arg1) {
                                         |     int16_t var_8h_2;
                                         |     int16_t var_ch_2;
                                         |     int16_t var_1ch_2;
                                         |     r0 = arg1;
    0x00005e64 push {r1, r2, r3}         |     
    0x00005e66 mov.w r3, 0x400           |     r3 = 0x400;
    0x00005e6a ldr r1, [pc, 0x74]        |     
    0x00005e6c ldr.w ip, [pc, 0x74]      |     ip = *(0x00005ee4);
    0x00005e70 add r1, pc                |     r1 = 0xbd56;
    0x00005e72 push {r4, r5, lr}         |     
    0x00005e74 mov r5, r0                |     r5 = r0;
    0x00005e76 addw r0, r1, 0x40c        |     __asm ("addw r0, r1, aav.0x000000ff");
    0x00005e7a sub sp, 0x10              |     
    0x00005e7c add ip, pc                |     
    0x00005e7e ldr r1, [pc, 0x68]        |     
    0x00005e80 add r2, sp, 0x1c          |     r2 += var_1ch_2;
    0x00005e82 ldr r4, [r2], 4           |     r4 = *(r2);
                                         |     r2 += 4;
    0x00005e86 ldr.w r1, [ip, r1]        |     r1 = *((ip + r1));
    0x00005e8a ldr r1, [r1]              |     r1 = *(0x5eea);
    0x00005e8c str r1, [sp, 0xc]         |     var_ch_2 = r1;
    0x00005e8e mov.w r1, 0               |     r1 = 0;
    0x00005e92 strd r4, r2, [sp]         |     __asm ("strd r4, r2, [sp]");
    0x00005e96 str r2, [sp, 8]           |     var_8h_2 = r2;
    0x00005e98 mov r1, r3                |     r1 = r3;
    0x00005e9a movs r2, 1                |     r2 = 1;
    0x00005e9c blx 0xdfc                 |     vsnprintf_chk ()
    0x00005ea0 cmp r5, 0                 |     
                                         |     if (r5 <= 0) {
    0x00005ea2 ble 0x5eb2                |         goto label_0;
                                         |     }
    0x00005ea4 movs r4, 0                |     r4 = 0;
                                         |     do {
    0x00005ea6 movs r0, 9                |         r0 = 9;
    0x00005ea8 adds r4, 1                |         r4++;
    0x00005eaa blx 0xf88                 |         scandir ();
    0x00005eae cmp r5, r4                |         
    0x00005eb0 bne 0x5ea6                |         
                                         |     } while (r5 != r4);
                                         | label_0:
    0x00005eb2 ldr r0, [pc, 0x38]        |     
    0x00005eb4 add r0, pc                |     r0 = 0xbda6;
    0x00005eb6 addw r0, r0, 0x40c        |     __asm ("addw r0, r0, aav.0x000000ff");
    0x00005eba blx 0xec4                 |     fcn_00000ec4 ();
    0x00005ebe ldr r2, [pc, 0x30]        |     
    0x00005ec0 ldr r3, [pc, 0x24]        |     r3 = *(0x5ee8);
    0x00005ec2 add r2, pc                |     r2 = 0xbdb8;
    0x00005ec4 ldr r3, [r2, r3]          |     r3 = *(0xbdb8);
    0x00005ec6 ldr r2, [r3]              |     r2 = *(0xbdb8);
    0x00005ec8 ldr r3, [sp, 0xc]         |     r3 = var_ch_2;
    0x00005eca eors r2, r3               |     r2 ^= r3;
    0x00005ecc mov.w r3, 0               |     r3 = 0;
                                         |     if (r2 == r3) {
    0x00005ed0 bne 0x5edc                |         
    0x00005ed2 add sp, 0x10              |         
    0x00005ed4 pop.w {r4, r5, lr}        |         
    0x00005ed8 add sp, 0xc               |         
    0x00005eda bx lr                     |         return;
                                         |     }
    0x00005edc blx 0xe2c                 |     stack_chk_fail ();
    0x00005ee0 cmp ip, r8                |     
    0x00005ee2 movs r1, r0               |     r1 = r0;
    0x00005ee4 ands r4, r7               |     r4 &= r7;
    0x00005ee6 movs r1, r0               |     r1 = r0;
    0x00005ee8 lsls r0, r4, 4            |     r0 = r4 << 4;
    0x00005eea movs r0, r0               |     
    0x00005eec cmp r8, r0                |     
    0x00005eee movs r1, r0               |     r1 = r0;
    0x00005ef0 subs r7, 0xf6             |     r7 -= 0xf6;
    0x00005ef2 movs r1, r0               |     r1 = r0;
                                         | }

[*] Function printf used 2 times iostat