[*] 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