# command: rizin -e scr.color=0 -qc 'aaa; afl; pdf @ sym.div10s; pdf @ sym.table_switch; aoi 1 @ sym.div10s+3' idioms-x86_64-O2.o # version: rizin 0.9.1 @ darwin-arm-64  WARNING: Skip adding map 'fmap..rela.text' to boundaries, because it is not readable. WARNING: Skip adding map 'fmap..rela.text' to boundaries, because it is not readable. ERROR: Cannot peek memory without specifying an address (esil address: 0x080003aa) ERROR: Cannot peek memory without specifying an address (esil address: 0x08000279) 0x08000040 1 16 sym.div10u 0x08000050 1 24 sym.div10s 0x08000070 1 23 sym.div7u 0x08000090 1 24 sym.div3s 0x080000b0 1 31 sym.mod10s 0x080000d0 1 16 sym.mod8s 0x080000e0 1 4 sym.mul9 0x080000f0 1 19 sym.linear_switch 0x08000110 3 23 sym.table_switch 0x08000130 8 36 sym.call_switch 0x08000160 12 68 sym.sparse_switch 0x080001b0 1 23 sym.two_cases 0x080001d0 1 8 sym.clamp_max 0x080001e0 1 8 sym.abs_int 0x080001f0 1 8 sym.is_pos 0x08000200 1 7 sym.tail_caller 0x08000210 1 4 sym.leaf_add 0x08000220 1 6 sym.twice_sum 0x08000230 10 140 sym.sum_n 0x080002c0 1 27 sym.sum4 0x080002e0 1 73 sym.poly8 0x08000330 3 14 sym.fill 0x08000340 1 5 sym.copy_n 0x08000350 1 7 sym.copy16 0x08000360 15 256 sym.digest ┌ sym.div10s(int64_t arg1); │ ; arg int64_t arg1 @ rdi │ 0x08000050 movsxd rax, edi ; arg1 │ 0x08000053 imul rax, rax, 0x66666667 │ 0x0800005a mov rcx, rax │ 0x0800005d shr rcx, 0x3f │ 0x08000061 sar rax, 0x22 │ 0x08000065 add eax, ecx └ 0x08000067 ret ┌ sym.table_switch(unsigned long arg1); │ ; arg unsigned long arg1 @ rdi │ 0x08000110 mov eax, 0xffffffff ; -1 │ 0x08000115 cmp edi, 0x06 ; 6 ; arg1 │ ┌─< 0x08000118 jnbe 0x8000126 │ │ 0x0800011a mov eax, edi ; arg1 │ │ 0x0800011c lea rcx, qword data.08000488 ; 0x8000488 ; "\n"; RELOC 32 .rodata @ 0x08000460 - 0x80000fb │ │ 0x08000123 mov eax, dword [rcx+rax*4] └ └─> 0x08000126 ret 0x8000053 (seq (set _tmp_xp (* (cast 128 (msb (var rax)) (var rax)) (cast 128 (msb (bv 32 0x66666667)) (bv 32 0x66666667)))) (set _dest (cast 64 false (var _tmp_xp))) (set rax (var _dest)) (branch (== (cast 128 (msb (var _dest)) (var _dest)) (var _tmp_xp)) (seq (set cf false) (set of false)) (seq (set cf true) (set of true))))