[*] Binary protection state of cdrom_id

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


[*] Function printf tear down of cdrom_id

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/udev/cdrom_id @ 0x1748 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00001748 ()                  | void fcn_00001748 (int16_t arg1, int16_t arg2) {
                                             |     int16_t var_0h;
                                             |     int16_t var_4h;
                                             |     int16_t var_8h;
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x00001748 invalid                       |     
    0x0000174c ldr r4, [pc, 0x7c]            |     
    0x0000174e sub sp, 0x14                  |     
    0x00001750 mov r5, r0                    |     r5 = r0;
    0x00001752 mov.w ip, 0x24                |     
    0x00001756 mov.w lr, 0                   |     lr = 0;
    0x0000175a add r4, pc                    |     r4 = 0x2f2a;
                                             | label_0:
    0x0000175c cmp ip, lr                    |     
    0x0000175e add.w r3, ip, lr              |     r3 = ip + lr;
    0x00001762 lsr.w r3, r3, 1               |     r3 >>= 1;
                                             |     if (ip < lr) {
    0x00001766 bls 0x1786                    |         goto label_1;
                                             |     }
                                             |     do {
    0x00001768 ldr.w r0, [r4, r3, lsl 3]     |         offset_0 = r3 << 3;
                                             |         r0 = *((r4 + offset_0));
    0x0000176c add.w r1, r4, r3, lsl 3       |         r1 = r4 + (r3 << 3);
    0x00001770 cmp r5, r0                    |         
                                             |         if (r5 < r0) {
    0x00001772 blt 0x1792                    |             goto label_2;
                                             |         }
                                             |         if (r5 <= r0) {
    0x00001774 ble 0x1796                    |             goto label_3;
                                             |         }
    0x00001776 add.w lr, r3, 1               |         lr = r3 + 1;
    0x0000177a cmp ip, lr                    |         
    0x0000177c add.w r3, ip, lr              |         r3 = ip + lr;
    0x00001780 lsr.w r3, r3, 1               |         r3 >>= 1;
    0x00001782 lsls r3, r2, 0xd              |         r3 = r2 << 0xd;
    0x00001784 bhi 0x1768                    |         
                                             |     } while (r3 > r2);
                                             | label_1:
    0x00001786 blx 0xc64                     |     r0 = log_get_max_level ();
    0x0000178a cmp r0, 6                     |     
    0x0000178c bgt 0x17a8                    |     
                                             |     while (1) {
    0x0000178e add sp, 0x14                  |         
    0x00001790 pop {r4, r5, pc}              |         
                                             | label_2:
    0x00001792 mov ip, r3                    |         
    0x00001794 b 0x175c                      |         goto label_0;
                                             | label_3:
    0x00001796 ldr r3, [r1, 4]               |         r3 = *((r1 + 4));
    0x00001798 movs r0, 1                    |         r0 = 1;
    0x0000179a ldr r1, [pc, 0x34]            |         
    0x0000179c add r1, pc                    |         r1 = 0x2f72;
    0x0000179e add sp, 0x14                  |         
    0x000017a0 pop.w {r4, r5, lr}            |         
    0x000017a2 ands r0, r6                   |         r0 &= r6;
    0x000017a4 b.w 0xd60                     |         void (*0xd60)() ();
    0x000017a8 ldr r2, [pc, 0x28]            |         
    0x000017aa mov.w r3, 0x33c               |         r3 = 0x33c;
    0x000017ae ldr r1, [pc, 0x28]            |         
    0x000017b0 ldr r0, [pc, 0x28]            |         
    0x000017b2 add r2, pc                    |         r2 = 0x2f8a;
    0x000017b4 str r5, [sp, 8]               |         var_8h = r5;
    0x000017b6 add r1, pc                    |         r1 = 0x2f94;
    0x000017b8 adds r2, 7                    |         r2 += 7;
    0x000017ba add r0, pc                    |         r0 = 0x2f9a;
    0x000017bc str r1, [sp, 4]               |         var_4h = r1;
    0x000017be str r0, [sp]                  |         *(sp) = r0;
    0x000017c0 movs r1, 0                    |         r1 = 0;
    0x000017c2 movs r0, 7                    |         r0 = 7;
    0x000017c4 blx 0xcc4                     |         log_internal ();
    0x000017c8 b 0x178e                      |         
                                             |     }
                                             | }

[*] Function printf used 1 times cdrom_id