Git Product home page Git Product logo

r2dec-js's Introduction

Build Status CodeFactor

r2dec

Converts asm to pseudo-C code.

Software Requirements

Requires radare2

Install

Follow the following steps to install r2dec via r2pm

Install using r2pm:

# initialize the r2pm database
$ r2pm -U
# install r2dec via r2pm
$ r2pm -i r2dec

Manual build & install:

  • clone this repository
  • Run meson setup build to create the build folder
  • Run ninja -C build install to build the shared library and to install it

Usage

  • Open your file with radare2
  • Analyze the function you want to disassemble (af)
  • Run the plugin via pdd

Arguments

[0x00000000]> pdd?
Usage: pdd [args] - core plugin for r2dec
 pdd           - decompile current function
 pdd?          - show this help
 pdd*          - the decompiled code is returned to r2 as comment (via CCu)
 pdda          - decompile current function side by side with assembly
 pddb          - decompile current function but shows only scopes
 pddo          - decompile current function side by side with offsets
 pddu          - install/upgrade r2dec via r2pm
 pdds <branch> - switches r2dec branch
 pddi          - generates the issue data

Environment
 R2DEC_HOME  defaults to the root directory of the r2dec repo

[0x00000000]> pdd --help

r2dec [options]
       --help       | this help message
       --assembly   | shows pseudo next to the assembly
       --blocks     | shows only scopes blocks
       --casts      | shows all casts in the pseudo code
       --colors     | enables syntax colors
       --debug      | do not catch exceptions
       --html       | outputs html data instead of text
       --issue      | generates the json used for the test suite
       --offsets    | shows pseudo next to the assembly offset
       --paddr      | all xrefs uses physical addresses instead of virtual addresses
       --xrefs      | shows also instruction xrefs in the pseudo code
       --as-comment | the decompiled code is returned to r2 as comment (via CCu)
       --as-opcode  | the decompiled code is returned to r2 as opcode (via aho)

Radare2 Evaluable vars

You can use these in your .radare2rc file.

r2dec.asm           | if true, shows pseudo next to the assembly.
r2dec.blocks        | if true, shows only scopes blocks.
r2dec.casts         | if false, hides all casts in the pseudo code.
r2dec.debug         | do not catch exceptions in r2dec.
r2dec.paddr         | if true, all xrefs uses physical addresses compare.
r2dec.slow          | if true load all the data before to avoid multirequests to r2.
r2dec.theme         | defines the color theme to be used on r2dec.
r2dec.xrefs         | if true, shows all xrefs in the pseudo code.
e scr.html          | outputs html data instead of text.
e scr.color         | enables syntax colors.

Report an Issue

  • Open your file with radare2
  • Analyze the function you want to disassemble (af)
  • Give the data to the plugin via pddi or pdd --issue
  • Insert the JSON returned by the previous command into the issue (you can also upload the output)

Supported Arch

6502 (experimental)
8051 (experimental)
arm 16/32/64 bit
avr
dalvik
m68k (experimental)
mips
ppc 32/64 bit (VLE included)
superh (experimental)
sparc
v850
wasm (experimental)
x86/x64

Developing on r2dec

Read DEVELOPERS.md

Example

This example shows a possible dump of the plugin.

Source Code

#include <stdio.h>

int main(int argc, char const *argv[]) {
    int var = 0;
    while(var < 0x90) {
        if(var < 0x10) {
            var += 0x50;
        }
        var += 0x10;
    }
    return 0;
}

radare2 view

╭ (fcn) main 50
│   main (int arg1, int arg2);
│           ; var int local_20h @ rbp-0x20
│           ; var int local_14h @ rbp-0x14
│           ; var signed int local_4h @ rbp-0x4
│           ; DATA XREF from entry0 (0x1041)
│           0x00001119      55             push rbp
│           0x0000111a      4889e5         mov rbp, rsp
│           0x0000111d      897dec         mov dword [local_14h], edi  ; arg1
│           0x00001120      488975e0       mov qword [local_20h], rsi  ; arg2
│           0x00001124      c745fc000000.  mov dword [local_4h], 0
│       ╭─< 0x0000112b      eb0e           jmp 0x113b
│       │   ; CODE XREF from main (0x1142)
│      ╭──> 0x0000112d      837dfc0f       cmp dword [local_4h], 0xf   ; [0xf:4]=0x3e000300
│     ╭───< 0x00001131      7f04           jg 0x1137
│     │⋮│   0x00001133      8345fc50       add dword [local_4h], 0x50  ; 'P'
│     │⋮│   ; CODE XREF from main (0x1131)
│     ╰───> 0x00001137      8345fc10       add dword [local_4h], 0x10
│      ⋮│   ; CODE XREF from main (0x112b)
│      ⋮╰─> 0x0000113b      817dfc8f0000.  cmp dword [local_4h], 0x8f  ; [0x8f:4]=0x2a800
│      ╰──< 0x00001142      7ee9           jle 0x112d
│           0x00001144      b800000000     mov eax, 0
│           0x00001149      5d             pop rbp
╰           0x0000114a      c3             ret

r2dec pseudo-C code

/* r2dec pseudo C output */
#include <stdint.h>
 
int32_t main (int32_t argc, char ** argv) {
    char ** local_20h;
    int32_t local_14h;
    int32_t local_4h;
    local_14h = edi;
    local_20h = rsi;
    local_4h = 0;
    while (local_4h <= 0x8f) {
        if (local_4h <= 0xf) {
            local_4h += 0x50;
        }
        local_4h += 0x10;
    }
    eax = 0;
    return eax;
}

r2dec-js's People

Contributors

diadlo avatar elicn avatar karliss avatar mytbk avatar pelijah avatar prodrigestivill avatar radare avatar sivaramaaa avatar strlcat avatar thestr4ng3r avatar trufae avatar wargio avatar wjsetzer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

r2dec-js's Issues

Rewrite logics on loops, etc..

  • Rewrite loops search
  • Rewrite if/else/while/dowhile/for/etc.. to classes.

more points probably to be added in the future..

Automatically suggest function signatures

void func () {
    r14d = ecx;
    r15d = edx;
    r12 = rdi;
...

r2 or r2dec should be able to identify that this function is receiving 3 parameters, and change the signature to be:

void func (size_t r14d, size_t r15d, size_t r12) {
...

Call instruction is sometimes translated into a goto

E.g. when running on main of macOS High Sierra's /bin/ls:

│ ⁝⁝⁝⁝ ⁝    0x100001303      4c89fe         mov rsi, r15               ; const char * *argv
│ ⁝⁝⁝⁝ ⁝    0x100001306      4c89ea         mov rdx, r13               ; const char * optstring
│ ⁝⁝⁝⁝ ⁝    0x100001309      e8e6310000     call sym.imp.getopt        ; int getopt(int argc, const char **argv, const char *optstring)

becomes:

        rsi = r15;
        rdx = r13;
        goto 0x1000044f4;

--issue output:

{"name":"issue_1520430681900","arch":"x86","agj":[{"name":"entry0","offset":4294971904,"ninstr":270,"nargs":0,"nlocals":6,"size":2082,"stack":1608,"type":"fcn","blocks":[{"offset":4294971904,"size":42,"jump":4294971951,"fail":4294971946,"trace":{"count":1,"times":1},"ops":[{"offset":4294971904,"esil":"rbp,8,rsp,-=,rsp,=[8]","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973985,"size":1,"opcode":"push rbp","disasm":"push rbp","bytes":"55","family":"cpu","type":"upush","type_num":12,"type2_num":0,"flags":["entry0","entry0","sym.func.100001200"]},{"offset":4294971905,"esil":"rsp,rbp,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rbp, rsp","disasm":"mov rbp, rsp","bytes":"4889e5","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294971908,"esil":"r15,8,rsp,-=,rsp,=[8]","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"push r15","disasm":"push r15","bytes":"4157","family":"cpu","type":"upush","type_num":12,"type2_num":0},{"offset":4294971910,"esil":"r14,8,rsp,-=,rsp,=[8]","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"push r14","disasm":"push r14","bytes":"4156","family":"cpu","type":"upush","type_num":12,"type2_num":0},{"offset":4294971912,"esil":"r13,8,rsp,-=,rsp,=[8]","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"push r13","disasm":"push r13","bytes":"4155","family":"cpu","type":"upush","type_num":12,"type2_num":0},{"offset":4294971914,"esil":"r12,8,rsp,-=,rsp,=[8]","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"push r12","disasm":"push r12","bytes":"4154","family":"cpu","type":"upush","type_num":12,"type2_num":0},{"offset":4294971916,"esil":"rbx,8,rsp,-=,rsp,=[8]","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973985,"size":1,"opcode":"push rbx","disasm":"push rbx","bytes":"53","family":"cpu","type":"upush","type_num":12,"type2_num":0},{"offset":4294971917,"val":1560,"esil":"1560,rsp,-=,$o,of,=,$s,sf,=,$z,zf,=,$p,pf,=,$b8,cf,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"sub rsp, 0x618","disasm":"sub rsp, 0x618","bytes":"4881ec18060000","family":"cpu","type":"sub","type_num":18,"type2_num":0},{"offset":4294971924,"esil":"rsi,r15,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov r15, rsi","disasm":"mov r15, rsi","bytes":"4989f7","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294971927,"esil":"rdi,r14d,=,0xffffffff,r14,&=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov r14d, edi","disasm":"mov r14d, edi","bytes":"4189fe","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294971930,"ptr":-576,"esil":"0x240,rbp,-,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rbp - 0x240]","disasm":"lea rax, [local_240h]","bytes":"488d85c0fdffff","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294971937,"ptr":-48,"esil":"rax,0x30,rbp,-,=[8]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"mov qword [rbp - 0x30], rax","disasm":"mov qword [local_30h], rax","bytes":"488945d0","family":"cpu","type":"mov","type_num":268435465,"type2_num":0},{"offset":4294971941,"esil":"0,r14d,r14d,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"test r14d, r14d","disasm":"test r14d, r14d","bytes":"4585f6","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294971944,"esil":"sf,of,!,^,zf,!,&,?{,4294971951,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jg 0x10000122f","disasm":"jg 0x10000122f","bytes":"7f05","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294971951,"fail":4294971946}]},{"offset":4294971946,"size":5,"jump":4294971951,"ops":[{"offset":4294971946,"esil":"4294984704,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x100004400","disasm":"call sym.func.100004400","bytes":"e8d1310000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984704,"fail":4294971951}]},{"offset":4294971951,"size":28,"jump":4294972073,"fail":4294971979,"trace":{"count":15,"times":1},"ops":[{"offset":4294971951,"ptr":4294986480,"esil":"0x38ba,rip,+,rsi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rsi, [rip + 0x38ba]","disasm":"lea rsi, [0x100004af0]","bytes":"488d35ba380000","family":"cpu","type":"lea","type_num":33,"type2_num":0,"comment":"Y29uc3QgY2hhciAqIGxvY2FsZQ=="},{"offset":4294971958,"esil":"rdi,edi,^=,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=,0xffffffff,rdi,&=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"xor edi, edi","disasm":"xor edi, edi","bytes":"31ff","family":"cpu","type":"xor","type_num":28,"type2_num":0,"comment":"aW50IGNhdGVnb3J5"},{"offset":4294971960,"esil":"4294985080,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x100004578","disasm":"call sym.imp.setlocale","bytes":"e83b330000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294985080,"fail":4294971965},{"offset":4294971965,"esil":"1,rdi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"mov edi, 1","disasm":"mov edi, 1","bytes":"bf01000000","family":"cpu","type":"mov","type_num":9,"type2_num":0,"comment":"aW50IGZk"},{"offset":4294971970,"esil":"4294984990,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x10000451e","disasm":"call sym.imp.isatty","bytes":"e8d7320000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984990,"fail":4294971975},{"offset":4294971975,"esil":"0,rax,rax,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"test eax, eax","disasm":"test eax, eax","bytes":"85c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294971977,"esil":"zf,?{,4294972073,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x1000012a9","disasm":"je 0x1000012a9","bytes":"745e","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294972073,"fail":4294971979}]},{"offset":4294971979,"size":27,"jump":4294972021,"fail":4294972006,"trace":{"count":20,"times":1},"ops":[{"offset":4294971979,"ptr":4294989008,"val":80,"esil":"80,0x427b,rip,+,=[4]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973976,"size":10,"opcode":"mov dword [rip + 0x427b], 0x50","disasm":"mov dword [0x1000054d0], 0x50","bytes":"c7057b42000050000000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294971989,"ptr":4294986481,"esil":"0x3895,rip,+,rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rdi, [rip + 0x3895]","disasm":"lea rdi, str.COLUMNS","bytes":"488d3d95380000","family":"cpu","type":"lea","type_num":33,"type2_num":0,"comment":"Y29uc3QgY2hhciAqIG5hbWU="},{"offset":4294971996,"esil":"4294984942,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000044ee","disasm":"call sym.imp.getenv","bytes":"e88d320000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984942,"fail":4294972001},{"offset":4294972001,"esil":"0,rax,rax,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"test rax, rax","disasm":"test rax, rax","bytes":"4885c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294972004,"esil":"zf,?{,4294972021,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x100001275","disasm":"je 0x100001275","bytes":"740f","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294972021,"fail":4294972006}]},{"offset":4294972006,"size":5,"jump":4294972021,"fail":4294972011,"trace":{"count":24,"times":1},"ops":[{"offset":4294972006,"ptr":0,"esil":"0,rax,[1],==,$z,zf,=,$b8,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"cmp byte [rax], 0","disasm":"cmp byte [rax], 0","bytes":"803800","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4294972009,"esil":"zf,?{,4294972021,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x100001275","disasm":"je 0x100001275","bytes":"740a","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294972021,"fail":4294972011}]},{"offset":4294972011,"size":10,"jump":4294972055,"trace":{"count":26,"times":1},"ops":[{"offset":4294972011,"esil":"rax,rdi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rdi, rax","disasm":"mov rdi, rax","bytes":"4889c7","family":"cpu","type":"mov","type_num":9,"type2_num":0,"comment":"Y29uc3QgY2hhciAqIHN0cg=="},{"offset":4294972014,"esil":"4294984846,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x10000448e","disasm":"call sym.imp.atoi","bytes":"e81b320000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984846,"fail":4294972019},{"offset":4294972019,"esil":"0x100001297,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x100001297","disasm":"jmp 0x100001297","bytes":"eb22","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294972055}]},{"offset":4294972021,"size":26,"jump":4294972061,"fail":4294972047,"ops":[{"offset":4294972021,"ptr":-56,"esil":"0x38,rbp,-,rdx,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"lea rdx, [rbp - 0x38]","disasm":"lea rdx, [local_38h]","bytes":"488d55c8","family":"cpu","type":"lea","type_num":33,"type2_num":0,"xrefs":[{"addr":4294972004,"type":"JMP"},{"addr":4294972009,"type":"JMP"}]},{"offset":4294972025,"esil":"1,rdi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"mov edi, 1","disasm":"mov edi, 1","bytes":"bf01000000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294972030,"ptr":1074295912,"esil":"1074295912,rsi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"mov esi, 0x40087468","disasm":"mov esi, 0x40087468","bytes":"be68740840","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294972035,"esil":"rax,eax,^=,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=,0xffffffff,rax,&=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"xor eax, eax","disasm":"xor eax, eax","bytes":"31c0","family":"cpu","type":"xor","type_num":28,"type2_num":0},{"offset":4294972037,"esil":"4294984984,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x100004518","disasm":"call sym.imp.ioctl","bytes":"e88e320000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984984,"fail":4294972042},{"offset":4294972042,"esil":"-1,rax,==,$z,zf,=,$b32,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"cmp eax, 0xffffffffffffffff","disasm":"cmp eax, 0xffffffffffffffff","bytes":"83f8ff","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4294972045,"esil":"zf,?{,4294972061,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x10000129d","disasm":"je 0x10000129d","bytes":"740e","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294972061,"fail":4294972047}]},{"offset":4294972047,"size":8,"jump":4294972061,"fail":4294972055,"ops":[{"offset":4294972047,"ptr":-54,"esil":"0x36,rbp,-,[2],rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"movzx eax, word [rbp - 0x36]","disasm":"movzx eax, word [local_36h]","bytes":"0fb745ca","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294972051,"esil":"0,rax,rax,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"test eax, eax","disasm":"test eax, eax","bytes":"85c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294972053,"esil":"zf,?{,4294972061,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x10000129d","disasm":"je 0x10000129d","bytes":"7406","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294972061,"fail":4294972055}]},{"offset":4294972055,"size":6,"jump":4294972061,"trace":{"count":28,"times":1},"ops":[{"offset":4294972055,"ptr":4294989008,"esil":"rax,0x4233,rip,+,=[4]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"mov dword [rip + 0x4233], eax","disasm":"mov dword [0x1000054d0], eax","bytes":"890533420000","family":"cpu","type":"mov","type_num":9,"type2_num":0,"xrefs":[{"addr":4294972019,"type":"JMP"}]}]},{"offset":4294972061,"size":12,"jump":4294972111,"trace":{"count":29,"times":1},"ops":[{"offset":4294972061,"ptr":4294989364,"val":1,"esil":"1,0x438d,rip,+,=[4]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973976,"size":10,"opcode":"mov dword [rip + 0x438d], 1","disasm":"mov dword [0x100005634], 1","bytes":"c7058d43000001000000","family":"cpu","type":"mov","type_num":9,"type2_num":0,"xrefs":[{"addr":4294972045,"type":"JMP"},{"addr":4294972053,"type":"JMP"}]},{"offset":4294972071,"esil":"0x1000012cf,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000012cf","disasm":"jmp 0x1000012cf","bytes":"eb26","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294972111}]},{"offset":4294972073,"size":24,"jump":4294972111,"fail":4294972097,"trace":{"count":31,"times":1},"ops":[{"offset":4294972073,"ptr":4294989056,"val":1,"esil":"1,0x4250,rip,+,=[1]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov byte [rip + 0x4250], 1","disasm":"mov byte [0x100005500], 1","bytes":"c6055042000001","family":"cpu","type":"mov","type_num":9,"type2_num":0,"xrefs":[{"addr":4294971977,"type":"JMP"}]},{"offset":4294972080,"ptr":4294986481,"esil":"0x383a,rip,+,rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rdi, [rip + 0x383a]","disasm":"lea rdi, str.COLUMNS","bytes":"488d3d3a380000","family":"cpu","type":"lea","type_num":33,"type2_num":0,"comment":"Y29uc3QgY2hhciAqIG5hbWU="},{"offset":4294972087,"esil":"4294984942,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000044ee","disasm":"call sym.imp.getenv","bytes":"e832320000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984942,"fail":4294972092},{"offset":4294972092,"esil":"0,rax,rax,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"test rax, rax","disasm":"test rax, rax","bytes":"4885c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294972095,"esil":"zf,?{,4294972111,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x1000012cf","disasm":"je 0x1000012cf","bytes":"740e","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294972111,"fail":4294972097}]},{"offset":4294972097,"size":14,"jump":4294972111,"trace":{"count":35,"times":1},"ops":[{"offset":4294972097,"esil":"rax,rdi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rdi, rax","disasm":"mov rdi, rax","bytes":"4889c7","family":"cpu","type":"mov","type_num":9,"type2_num":0,"comment":"Y29uc3QgY2hhciAqIHN0cg=="},{"offset":4294972100,"esil":"4294984846,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x10000448e","disasm":"call sym.imp.atoi","bytes":"e8c5310000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984846,"fail":4294972105},{"offset":4294972105,"ptr":4294989008,"esil":"rax,0x4201,rip,+,=[4]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"mov dword [rip + 0x4201], eax","disasm":"mov dword [0x1000054d0], eax","bytes":"890501420000","family":"cpu","type":"mov","type_num":9,"type2_num":0}]},{"offset":4294972111,"size":9,"jump":4294972127,"fail":4294972120,"ops":[{"offset":4294972111,"esil":"4294984960,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x100004500","disasm":"call sym.imp.getuid","bytes":"e82c320000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984960,"fail":4294972116,"xrefs":[{"addr":4294972071,"type":"JMP"},{"addr":4294972095,"type":"JMP"}]},{"offset":4294972116,"esil":"0,rax,rax,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"test eax, eax","disasm":"test eax, eax","bytes":"85c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294972118,"esil":"zf,!,?{,4294972127,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x1000012df","disasm":"jne 0x1000012df","bytes":"7507","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294972127,"fail":4294972120}]},{"offset":4294972120,"size":7,"jump":4294972127,"ops":[{"offset":4294972120,"ptr":4294989060,"val":1,"esil":"1,0x4225,rip,+,=[1]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov byte [rip + 0x4225], 1","disasm":"mov byte [0x100005504], 1","bytes":"c6052542000001","family":"cpu","type":"mov","type_num":9,"type2_num":0}]},{"offset":4294972127,"size":22,"jump":4294972160,"trace":{"count":39,"times":1},"ops":[{"offset":4294972127,"ptr":16,"esil":"16,r12d,=,0xffffffff,r12,&=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"mov r12d, 0x10","disasm":"mov r12d, 0x10","bytes":"41bc10000000","family":"cpu","type":"mov","type_num":9,"type2_num":0,"xrefs":[{"addr":4294972118,"type":"JMP"}]},{"offset":4294972133,"ptr":4294986489,"esil":"0x380d,rip,+,r13,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea r13, [rip + 0x380d]","disasm":"lea r13, str.1_ABCFGHLOPRSTUWabcdefghiklmnopqrstuvwx","bytes":"4c8d2d0d380000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294972140,"ptr":4294973988,"esil":"0x731,rip,+,rbx,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rbx, [rip + 0x731]","disasm":"lea rbx, [0x100001a24]","bytes":"488d1d31070000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294972147,"esil":"0x100001300,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x100001300","disasm":"jmp 0x100001300","bytes":"eb0b","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294972160}]},{"offset":4294972149,"size":7,"jump":4294972160,"ops":[{"offset":4294972149,"esil":"4294984704,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x100004400","disasm":"call sym.func.100004400","bytes":"e806310000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984704,"fail":4294972154,"xrefs":[{"addr":4294973086,"type":"JMP"}]},{"offset":4294972154,"esil":"0x100001300,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x100001300","disasm":"jmp 0x100001300","bytes":"eb04","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294972160}]},{"offset":4294972160,"size":26,"jump":4294973083,"fail":4294972186,"trace":{"count":44,"times":1},"ops":[{"offset":4294972160,"esil":"r14d,rdi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov edi, r14d","disasm":"mov edi, r14d","bytes":"4489f7","family":"cpu","type":"mov","type_num":9,"type2_num":0,"comment":"aW50IGFyZ2M=","xrefs":[{"addr":4294972147,"type":"JMP"},{"addr":4294972154,"type":"JMP"},{"addr":4294972216,"type":"JMP"},{"addr":4294972228,"type":"JMP"},{"addr":4294972254,"type":"JMP"},{"addr":4294972277,"type":"JMP"},{"addr":4294972299,"type":"JMP"},{"addr":4294972328,"type":"JMP"},{"addr":4294972374,"type":"JMP"},{"addr":4294972421,"type":"JMP"},{"addr":4294972437,"type":"JMP"},{"addr":4294972476,"type":"JMP"},{"addr":4294972505,"type":"JMP"},{"addr":4294972517,"type":"JMP"},{"addr":4294972546,"type":"JMP"},{"addr":4294972575,"type":"JMP"},{"addr":4294972590,"type":"JMP"},{"addr":4294972623,"type":"JMP"},{"addr":4294972640,"type":"JMP"},{"addr":4294972666,"type":"JMP"},{"addr":4294972698,"type":"JMP"},{"addr":4294972730,"type":"JMP"},{"addr":4294972766,"type":"JMP"},{"addr":4294972841,"type":"JMP"},{"addr":4294972856,"type":"JMP"},{"addr":4294972878,"type":"JMP"},{"addr":4294972907,"type":"JMP"},{"addr":4294972919,"type":"JMP"},{"addr":4294972944,"type":"JMP"},{"addr":4294972978,"type":"JMP"},{"addr":4294972990,"type":"JMP"},{"addr":4294973002,"type":"JMP"},{"addr":4294973031,"type":"JMP"},{"addr":4294973046,"type":"JMP"},{"addr":4294973078,"type":"JMP"},{"addr":4294972449,"type":"JMP"},{"addr":4294972461,"type":"JMP"},{"addr":4294972963,"type":"JMP"}]},{"offset":4294972163,"esil":"r15,rsi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rsi, r15","disasm":"mov rsi, r15","bytes":"4c89fe","family":"cpu","type":"mov","type_num":9,"type2_num":0,"comment":"Y29uc3QgY2hhciAqICphcmd2"},{"offset":4294972166,"esil":"r13,rdx,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rdx, r13","disasm":"mov rdx, r13","bytes":"4c89ea","family":"cpu","type":"mov","type_num":9,"type2_num":0,"comment":"Y29uc3QgY2hhciAqIG9wdHN0cmluZw=="},{"offset":4294972169,"esil":"4294984948,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000044f4","disasm":"call sym.imp.getopt","bytes":"e8e6310000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984948,"fail":4294972174},{"offset":4294972174,"ptr":-49,"esil":"0x31,rax,-,ecx,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"lea ecx, [rax - 0x31]","disasm":"lea ecx, [rax - 0x31]","bytes":"8d48cf","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294972177,"ptr":71,"val":71,"esil":"71,rcx,==,$z,zf,=,$b32,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"cmp ecx, 0x47","disasm":"cmp ecx, 0x47","bytes":"83f947","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4294972180,"esil":"cf,zf,|,!,?{,4294973083,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"ja 0x10000169b","disasm":"ja 0x10000169b","bytes":"0f8781030000","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973083,"fail":4294972186}]},{"offset":4294972186,"size":9,"ops":[{"offset":4294972186,"ptr":0,"esil":"rcx,4,*,rbx,+,[4],rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"movsxd rax, dword [rbx + rcx*4]","disasm":"movsxd rax, dword [rbx + rcx*4]","bytes":"4863048b","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294972190,"val":37,"esil":"rbx,rax,+=,$o,of,=,$s,sf,=,$z,zf,=,$c63,cf,=,$p,pf,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"add rax, rbx","disasm":"add rax, rbx","bytes":"4801d8","family":"cpu","type":"add","type_num":17,"type2_num":0},{"offset":4294972193,"esil":"rax,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp rax","disasm":"jmp rax","bytes":"ffe0","family":"cpu","type":"ujmp","type_num":268435458,"type2_num":0}]},{"offset":4294973083,"size":9,"jump":4294972149,"fail":4294973092,"trace":{"count":50,"times":1},"ops":[{"offset":4294973083,"esil":"-1,rax,==,$z,zf,=,$b32,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"cmp eax, 0xffffffffffffffff","disasm":"cmp eax, 0xffffffffffffffff","bytes":"83f8ff","family":"cpu","type":"cmp","type_num":15,"type2_num":0,"xrefs":[{"addr":4294972180,"type":"JMP"}]},{"offset":4294973086,"esil":"zf,!,?{,4294972149,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"jne 0x1000012f5","disasm":"jne 0x1000012f5","bytes":"0f8551fcffff","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294972149,"fail":4294973092}]},{"offset":4294973092,"size":31,"jump":4294973375,"fail":4294973123,"ops":[{"offset":4294973092,"ptr":4294987808,"esil":"0x3975,rip,+,[8],rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov rax, qword [rip + 0x3975]","disasm":"mov rax, qword [reloc.optind]","bytes":"488b0575390000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973099,"ptr":0,"esil":"rax,[4],r13,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"movsxd r13, dword [rax]","disasm":"movsxd r13, dword [rax]","bytes":"4c6328","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973102,"ptr":4294986545,"esil":"0x347c,rip,+,rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rdi, [rip + 0x347c]","disasm":"lea rdi, str.CLICOLOR","bytes":"488d3d7c340000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973109,"esil":"4294984942,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000044ee","disasm":"call sym.imp.getenv","bytes":"e8342e0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984942,"fail":4294973114},{"offset":4294973114,"esil":"0,rax,rax,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"test rax, rax","disasm":"test rax, rax","bytes":"4885c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294973117,"esil":"zf,?{,4294973375,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"je 0x1000017bf","disasm":"je 0x1000017bf","bytes":"0f84fc000000","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973375,"fail":4294973123}]},{"offset":4294973123,"size":14,"jump":4294973158,"fail":4294973137,"ops":[{"offset":4294973123,"esil":"1,rdi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"mov edi, 1","disasm":"mov edi, 1","bytes":"bf01000000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973128,"esil":"4294984990,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x10000451e","disasm":"call sym.imp.isatty","bytes":"e8512e0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984990,"fail":4294973133},{"offset":4294973133,"esil":"0,rax,rax,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"test eax, eax","disasm":"test eax, eax","bytes":"85c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294973135,"esil":"zf,!,?{,4294973158,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x1000016e6","disasm":"jne 0x1000016e6","bytes":"7515","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973158,"fail":4294973137}]},{"offset":4294973137,"size":21,"jump":4294973375,"fail":4294973158,"ops":[{"offset":4294973137,"ptr":4294986554,"esil":"0x3462,rip,+,rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rdi, [rip + 0x3462]","disasm":"lea rdi, str.CLICOLOR_FORCE","bytes":"488d3d62340000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973144,"esil":"4294984942,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000044ee","disasm":"call sym.imp.getenv","bytes":"e8112e0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984942,"fail":4294973149},{"offset":4294973149,"esil":"0,rax,rax,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"test rax, rax","disasm":"test rax, rax","bytes":"4885c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294973152,"esil":"zf,?{,4294973375,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"je 0x1000017bf","disasm":"je 0x1000017bf","bytes":"0f84d9000000","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973375,"fail":4294973158}]},{"offset":4294973158,"size":36,"jump":4294973375,"fail":4294973194,"ops":[{"offset":4294973158,"ptr":4294986569,"esil":"0x345c,rip,+,rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rdi, [rip + 0x345c]","disasm":"lea rdi, str.TERM","bytes":"488d3d5c340000","family":"cpu","type":"lea","type_num":33,"type2_num":0,"xrefs":[{"addr":4294973135,"type":"JMP"}]},{"offset":4294973165,"esil":"4294984942,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000044ee","disasm":"call sym.imp.getenv","bytes":"e8fc2d0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984942,"fail":4294973170},{"offset":4294973170,"ptr":-1600,"esil":"0x640,rbp,-,rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rdi, [rbp - 0x640]","disasm":"lea rdi, [local_640h]","bytes":"488dbdc0f9ffff","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973177,"esil":"rax,rsi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rsi, rax","disasm":"mov rsi, rax","bytes":"4889c6","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973180,"esil":"4294985140,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000045b4","disasm":"call sym.imp.tgetent","bytes":"e8b32e0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294985140,"fail":4294973185},{"offset":4294973185,"ptr":1,"val":1,"esil":"1,rax,==,$z,zf,=,$b32,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"cmp eax, 1","disasm":"cmp eax, 1","bytes":"83f801","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4294973188,"esil":"zf,!,?{,4294973375,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"jne 0x1000017bf","disasm":"jne 0x1000017bf","bytes":"0f85b5000000","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973375,"fail":4294973194}]},{"offset":4294973194,"size":119,"jump":4294973336,"fail":4294973313,"ops":[{"offset":4294973194,"ptr":4294986574,"esil":"0x343d,rip,+,rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rdi, [rip + 0x343d]","disasm":"lea rdi, str.AF","bytes":"488d3d3d340000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973201,"ptr":-48,"esil":"0x30,rbp,-,rbx,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"lea rbx, [rbp - 0x30]","disasm":"lea rbx, [local_30h]","bytes":"488d5dd0","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973205,"esil":"rbx,rsi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rsi, rbx","disasm":"mov rsi, rbx","bytes":"4889de","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973208,"esil":"4294985146,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000045ba","disasm":"call sym.imp.tgetstr","bytes":"e89d2e0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294985146,"fail":4294973213},{"offset":4294973213,"ptr":4294989296,"esil":"rax,0x3ecc,rip,+,=[8]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov qword [rip + 0x3ecc], rax","disasm":"mov qword [0x1000055f0], rax","bytes":"488905cc3e0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973220,"ptr":4294986577,"esil":"0x3426,rip,+,rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rdi, [rip + 0x3426]","disasm":"lea rdi, str.AB","bytes":"488d3d26340000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973227,"esil":"rbx,rsi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rsi, rbx","disasm":"mov rsi, rbx","bytes":"4889de","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973230,"esil":"4294985146,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000045ba","disasm":"call sym.imp.tgetstr","bytes":"e8872e0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294985146,"fail":4294973235},{"offset":4294973235,"ptr":4294989280,"esil":"rax,0x3ea6,rip,+,=[8]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov qword [rip + 0x3ea6], rax","disasm":"mov qword [0x1000055e0], rax","bytes":"488905a63e0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973242,"ptr":4294986580,"esil":"0x3413,rip,+,rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rdi, [rip + 0x3413]","disasm":"lea rdi, str.me","bytes":"488d3d13340000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973249,"esil":"rbx,rsi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rsi, rbx","disasm":"mov rsi, rbx","bytes":"4889de","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973252,"esil":"4294985146,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000045ba","disasm":"call sym.imp.tgetstr","bytes":"e8712e0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294985146,"fail":4294973257},{"offset":4294973257,"ptr":4294989304,"esil":"rax,0x3ea8,rip,+,=[8]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov qword [rip + 0x3ea8], rax","disasm":"mov qword [0x1000055f8], rax","bytes":"488905a83e0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973264,"ptr":4294986583,"esil":"0x3400,rip,+,rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rdi, [rip + 0x3400]","disasm":"lea rdi, str.md","bytes":"488d3d00340000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973271,"esil":"rbx,rsi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rsi, rbx","disasm":"mov rsi, rbx","bytes":"4889de","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973274,"esil":"4294985146,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000045ba","disasm":"call sym.imp.tgetstr","bytes":"e85b2e0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294985146,"fail":4294973279},{"offset":4294973279,"ptr":4294989320,"esil":"rax,0x3ea2,rip,+,=[8]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov qword [rip + 0x3ea2], rax","disasm":"mov qword [0x100005608], rax","bytes":"488905a23e0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973286,"ptr":4294986586,"esil":"0x33ed,rip,+,rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rdi, [rip + 0x33ed]","disasm":"lea rdi, str.op","bytes":"488d3ded330000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973293,"esil":"rbx,rsi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rsi, rbx","disasm":"mov rsi, rbx","bytes":"4889de","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973296,"esil":"4294985146,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000045ba","disasm":"call sym.imp.tgetstr","bytes":"e8452e0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294985146,"fail":4294973301},{"offset":4294973301,"ptr":4294989288,"esil":"rax,0x3e6c,rip,+,=[8]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov qword [rip + 0x3e6c], rax","disasm":"mov qword [0x1000055e8], rax","bytes":"4889056c3e0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973308,"esil":"0,rax,rax,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"test rax, rax","disasm":"test rax, rax","bytes":"4885c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294973311,"esil":"zf,!,?{,4294973336,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x100001798","disasm":"jne 0x100001798","bytes":"7517","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973336,"fail":4294973313}]},{"offset":4294973313,"size":23,"jump":4294973336,"ops":[{"offset":4294973313,"ptr":4294986589,"esil":"0x33d5,rip,+,rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rdi, [rip + 0x33d5]","disasm":"lea rdi, str.oc","bytes":"488d3dd5330000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973320,"ptr":-48,"esil":"0x30,rbp,-,rsi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"lea rsi, [rbp - 0x30]","disasm":"lea rsi, [local_30h]","bytes":"488d75d0","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973324,"esil":"4294985146,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000045ba","disasm":"call sym.imp.tgetstr","bytes":"e8292e0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294985146,"fail":4294973329},{"offset":4294973329,"ptr":4294989288,"esil":"rax,0x3e50,rip,+,=[8]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov qword [rip + 0x3e50], rax","disasm":"mov qword [0x1000055e8], rax","bytes":"488905503e0000","family":"cpu","type":"mov","type_num":9,"type2_num":0}]},{"offset":4294973336,"size":10,"jump":4294973375,"fail":4294973346,"ops":[{"offset":4294973336,"ptr":0,"esil":"0,0x3e50,rip,+,[8],==,$z,zf,=,$b64,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973978,"size":8,"opcode":"cmp qword [rip + 0x3e50], 0","disasm":"cmp qword [0x1000055f0], 0","bytes":"48833d503e000000","family":"cpu","type":"cmp","type_num":15,"type2_num":0,"xrefs":[{"addr":4294973311,"type":"JMP"}]},{"offset":4294973344,"esil":"zf,?{,4294973375,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x1000017bf","disasm":"je 0x1000017bf","bytes":"741d","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973375,"fail":4294973346}]},{"offset":4294973346,"size":12,"jump":4294973375,"fail":4294973358,"ops":[{"offset":4294973346,"ptr":4294989280,"esil":"0x3e37,rip,+,[8],rcx,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov rcx, qword [rip + 0x3e37]","disasm":"mov rcx, qword [0x1000055e0]","bytes":"488b0d373e0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973353,"esil":"0,rcx,rcx,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"test rcx, rcx","disasm":"test rcx, rcx","bytes":"4885c9","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294973356,"esil":"zf,?{,4294973375,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x1000017bf","disasm":"je 0x1000017bf","bytes":"7411","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973375,"fail":4294973358}]},{"offset":4294973358,"size":5,"jump":4294973375,"fail":4294973363,"ops":[{"offset":4294973358,"esil":"0,rax,rax,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"test rax, rax","disasm":"test rax, rax","bytes":"4885c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294973361,"esil":"zf,?{,4294973375,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x1000017bf","disasm":"je 0x1000017bf","bytes":"740c","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973375,"fail":4294973363}]},{"offset":4294973363,"size":12,"jump":4294973387,"ops":[{"offset":4294973363,"ptr":4294989340,"val":1,"esil":"1,0x3e5f,rip,+,=[4]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973976,"size":10,"opcode":"mov dword [rip + 0x3e5f], 1","disasm":"mov dword [0x10000561c], 1","bytes":"c7055f3e000001000000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973373,"esil":"0x1000017cb,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000017cb","disasm":"jmp 0x1000017cb","bytes":"eb0c","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973387}]},{"offset":4294973375,"size":12,"jump":4294973457,"fail":4294973387,"ops":[{"offset":4294973375,"esil":"r8d,r8d,^=,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=,0xffffffff,r8,&=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"xor r8d, r8d","disasm":"xor r8d, r8d","bytes":"4531c0","family":"cpu","type":"xor","type_num":28,"type2_num":0,"xrefs":[{"addr":4294973117,"type":"JMP"},{"addr":4294973152,"type":"JMP"},{"addr":4294973188,"type":"JMP"},{"addr":4294973344,"type":"JMP"},{"addr":4294973356,"type":"JMP"},{"addr":4294973361,"type":"JMP"}]},{"offset":4294973378,"ptr":0,"esil":"0,0x3e53,rip,+,[4],==,$z,zf,=,$b32,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"cmp dword [rip + 0x3e53], 0","disasm":"cmp dword [0x10000561c], 0","bytes":"833d533e000000","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4294973385,"esil":"zf,?{,4294973457,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x100001811","disasm":"je 0x100001811","bytes":"7446","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973457,"fail":4294973387}]},{"offset":4294973387,"size":70,"jump":4294973457,"ops":[{"offset":4294973387,"ptr":4294989368,"val":1,"esil":"1,0x3e63,rip,+,=[4]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973976,"size":10,"opcode":"mov dword [rip + 0x3e63], 1","disasm":"mov dword [0x100005638], 1","bytes":"c705633e000001000000","family":"cpu","type":"mov","type_num":9,"type2_num":0,"xrefs":[{"addr":4294973373,"type":"JMP"}]},{"offset":4294973397,"ptr":4294982616,"esil":"0x23fc,rip,+,rbx,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rbx, [rip + 0x23fc]","disasm":"lea rbx, [sub.tputs_bd8]","bytes":"488d1dfc230000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973404,"esil":"2,rdi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"mov edi, 2","disasm":"mov edi, 2","bytes":"bf02000000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973409,"esil":"rbx,rsi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rsi, rbx","disasm":"mov rsi, rbx","bytes":"4889de","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973412,"esil":"4294985086,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x10000457e","disasm":"call sym.imp.signal","bytes":"e8952d0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294985086,"fail":4294973417},{"offset":4294973417,"esil":"3,rdi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"mov edi, 3","disasm":"mov edi, 3","bytes":"bf03000000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973422,"esil":"rbx,rsi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rsi, rbx","disasm":"mov rsi, rbx","bytes":"4889de","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973425,"esil":"4294985086,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x10000457e","disasm":"call sym.imp.signal","bytes":"e8882d0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294985086,"fail":4294973430},{"offset":4294973430,"ptr":4294986592,"esil":"0x3363,rip,+,rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rdi, [rip + 0x3363]","disasm":"lea rdi, str.LSCOLORS","bytes":"488d3d63330000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973437,"esil":"4294984942,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000044ee","disasm":"call sym.imp.getenv","bytes":"e8ec2c0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984942,"fail":4294973442},{"offset":4294973442,"esil":"rax,rdi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rdi, rax","disasm":"mov rdi, rax","bytes":"4889c7","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973445,"esil":"4294982235,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x100003a5b","disasm":"call sub.strlen_a5b","bytes":"e851220000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294982235,"fail":4294973450},{"offset":4294973450,"ptr":4294989340,"esil":"0x3e0b,rip,+,[4],r8d,=,0xffffffff,r8,&=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov r8d, dword [rip + 0x3e0b]","disasm":"mov r8d, dword [0x10000561c]","bytes":"448b050b3e0000","family":"cpu","type":"mov","type_num":9,"type2_num":0}]},{"offset":4294973457,"size":122,"jump":4294973656,"fail":4294973579,"ops":[{"offset":4294973457,"ptr":4294989360,"esil":"0x3e18,rip,+,[4],r9d,=,0xffffffff,r9,&=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov r9d, dword [rip + 0x3e18]","disasm":"mov r9d, dword [0x100005630]","bytes":"448b0d183e0000","family":"cpu","type":"mov","type_num":9,"type2_num":0,"xrefs":[{"addr":4294973385,"type":"JMP"}]},{"offset":4294973464,"ptr":4294989356,"esil":"0x3e0e,rip,+,[4],rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"mov edi, dword [rip + 0x3e0e]","disasm":"mov edi, dword [0x10000562c]","bytes":"8b3d0e3e0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973470,"esil":"r9d,edi,|=,$s,sf,=,$z,zf,=,$p,pf,=,$0,of,=,$0,cf,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"or edi, r9d","disasm":"or edi, r9d","bytes":"4409cf","family":"cpu","type":"or","type_num":26,"type2_num":0},{"offset":4294973473,"ptr":4294989392,"esil":"0x3e29,rip,+,[4],rdx,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"mov edx, dword [rip + 0x3e29]","disasm":"mov edx, dword [0x100005650]","bytes":"8b15293e0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973479,"esil":"rdi,rax,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"mov eax, edi","disasm":"mov eax, edi","bytes":"89f8","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973481,"esil":"rdx,eax,|=,$s,sf,=,$z,zf,=,$p,pf,=,$0,of,=,$0,cf,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"or eax, edx","disasm":"or eax, edx","bytes":"09d0","family":"cpu","type":"or","type_num":26,"type2_num":0},{"offset":4294973483,"ptr":4294989088,"esil":"0x3cef,rip,+,[1],bl,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"mov bl, byte [rip + 0x3cef]","disasm":"mov bl, byte [0x100005520]","bytes":"8a1def3c0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973489,"ptr":4294989412,"esil":"0x3e2d,rip,+,[4],rsi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"mov esi, dword [rip + 0x3e2d]","disasm":"mov esi, dword [0x100005664]","bytes":"8b352d3e0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973495,"esil":"r12d,rcx,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov ecx, r12d","disasm":"mov ecx, r12d","bytes":"4489e1","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973498,"val":8,"esil":"8,ecx,|=,$s,sf,=,$z,zf,=,$p,pf,=,$0,of,=,$0,cf,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"or ecx, 8","disasm":"or ecx, 8","bytes":"83c908","family":"cpu","type":"or","type_num":26,"type2_num":0},{"offset":4294973501,"esil":"rsi,eax,|=,$s,sf,=,$z,zf,=,$p,pf,=,$0,of,=,$0,cf,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"or eax, esi","disasm":"or eax, esi","bytes":"09f0","family":"cpu","type":"or","type_num":26,"type2_num":0},{"offset":4294973503,"ptr":4294989084,"esil":"0x3cd6,rip,+,[1],r10b,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov r10b, byte [rip + 0x3cd6]","disasm":"mov r10b, byte [0x10000551c]","bytes":"448a15d63c0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973510,"esil":"zf,!,?{,r12d,ecx,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"cmovne ecx, r12d","disasm":"cmovne ecx, r12d","bytes":"410f45cc","family":"cpu","type":"cmov","type_num":2147483657,"type2_num":0},{"offset":4294973514,"esil":"0,bl,bl,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"test bl, bl","disasm":"test bl, bl","bytes":"84db","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294973516,"esil":"zf,!,?{,r12d,ecx,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"cmovne ecx, r12d","disasm":"cmovne ecx, r12d","bytes":"410f45cc","family":"cpu","type":"cmov","type_num":2147483657,"type2_num":0},{"offset":4294973520,"esil":"0,r10b,r10b,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"test r10b, r10b","disasm":"test r10b, r10b","bytes":"4584d2","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294973523,"esil":"zf,!,?{,r12d,ecx,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"cmovne ecx, r12d","disasm":"cmovne ecx, r12d","bytes":"410f45cc","family":"cpu","type":"cmov","type_num":2147483657,"type2_num":0},{"offset":4294973527,"esil":"0,r8d,r8d,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"test r8d, r8d","disasm":"test r8d, r8d","bytes":"4585c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294973530,"esil":"zf,!,?{,r12d,ecx,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"cmovne ecx, r12d","disasm":"cmovne ecx, r12d","bytes":"410f45cc","family":"cpu","type":"cmov","type_num":2147483657,"type2_num":0},{"offset":4294973534,"ptr":4294989068,"esil":"0x3ca8,rip,+,[1],bl,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"mov bl, byte [rip + 0x3ca8]","disasm":"mov bl, byte [0x10000550c]","bytes":"8a1da83c0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973540,"esil":"1,bl,^=,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"xor bl, 1","disasm":"xor bl, 1","bytes":"80f301","family":"cpu","type":"xor","type_num":28,"type2_num":0},{"offset":4294973543,"esil":"rsi,edi,|=,$s,sf,=,$z,zf,=,$p,pf,=,$0,of,=,$0,cf,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"or edi, esi","disasm":"or edi, esi","bytes":"09f7","family":"cpu","type":"or","type_num":26,"type2_num":0},{"offset":4294973545,"esil":"zf,al,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"sete al","disasm":"sete al","bytes":"0f94c0","family":"cpu","type":"cmov","type_num":2147483657,"type2_num":0},{"offset":4294973548,"esil":"bl,al,&=,$0,of,=,$0,cf,=,$z,zf,=,$s,sf,=,$o,pf,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"and al, bl","disasm":"and al, bl","bytes":"20d8","family":"cpu","type":"and","type_num":27,"type2_num":0},{"offset":4294973550,"esil":"al,rax,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"movzx eax, al","disasm":"movzx eax, al","bytes":"0fb6c0","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973553,"esil":"rcx,eax,|=,$s,sf,=,$z,zf,=,$p,pf,=,$0,of,=,$0,cf,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"or eax, ecx","disasm":"or eax, ecx","bytes":"09c8","family":"cpu","type":"or","type_num":26,"type2_num":0},{"offset":4294973555,"ptr":4294989092,"esil":"0x3cab,rip,+,[1],cl,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"mov cl, byte [rip + 0x3cab]","disasm":"mov cl, byte [0x100005524]","bytes":"8a0dab3c0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973561,"esil":"rax,rbx,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"mov ebx, eax","disasm":"mov ebx, eax","bytes":"89c3","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973563,"val":128,"esil":"128,ebx,|=,$s,sf,=,$z,zf,=,$p,pf,=,$0,of,=,$0,cf,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"or ebx, 0x80","disasm":"or ebx, 0x80","bytes":"81cb80000000","family":"cpu","type":"or","type_num":26,"type2_num":0},{"offset":4294973569,"esil":"0,cl,cl,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"test cl, cl","disasm":"test cl, cl","bytes":"84c9","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294973571,"esil":"zf,?{,rax,ebx,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"cmove ebx, eax","disasm":"cmove ebx, eax","bytes":"0f44d8","family":"cpu","type":"cmov","type_num":2147483657,"type2_num":0},{"offset":4294973574,"esil":"r9d,edx,|=,$s,sf,=,$z,zf,=,$p,pf,=,$0,of,=,$0,cf,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"or edx, r9d","disasm":"or edx, r9d","bytes":"4409ca","family":"cpu","type":"or","type_num":26,"type2_num":0},{"offset":4294973577,"esil":"zf,?{,4294973656,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x1000018d8","disasm":"je 0x1000018d8","bytes":"744d","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973656,"fail":4294973579}]},{"offset":4294973579,"size":9,"jump":4294973601,"fail":4294973588,"ops":[{"offset":4294973579,"ptr":1,"esil":"1,0x3c82,rip,+,[1],==,$z,zf,=,$b8,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"cmp byte [rip + 0x3c82], 1","disasm":"cmp byte [0x100005514], 1","bytes":"803d823c000001","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4294973586,"esil":"zf,!,?{,4294973601,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x1000018a1","disasm":"jne 0x1000018a1","bytes":"750d","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973601,"fail":4294973588}]},{"offset":4294973588,"size":13,"jump":4294973656,"ops":[{"offset":4294973588,"ptr":4294989312,"val":2,"esil":"2,0x3d61,rip,+,=[8]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973975,"size":11,"opcode":"mov qword [rip + 0x3d61], 2","disasm":"mov qword [0x100005600], 2","bytes":"48c705613d000002000000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973599,"esil":"0x1000018d8,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000018d8","disasm":"jmp 0x1000018d8","bytes":"eb37","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973656}]},{"offset":4294973601,"size":55,"jump":4294973656,"ops":[{"offset":4294973601,"ptr":4294989312,"esil":"0x3d58,rip,+,rsi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rsi, [rip + 0x3d58]","disasm":"lea rsi, [0x100005600]","bytes":"488d35583d0000","family":"cpu","type":"lea","type_num":33,"type2_num":0,"xrefs":[{"addr":4294973586,"type":"JMP"}]},{"offset":4294973608,"ptr":-60,"esil":"0x3c,rbp,-,rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"lea rdi, [rbp - 0x3c]","disasm":"lea rdi, [local_3ch]","bytes":"488d7dc4","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973612,"esil":"4294984936,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000044e8","disasm":"call sym.imp.getbsize","bytes":"e8372c0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984936,"fail":4294973617},{"offset":4294973617,"ptr":4294989312,"esil":"0x3d48,rip,+,[8],rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov rax, qword [rip + 0x3d48]","disasm":"mov rax, qword [0x100005600]","bytes":"488b05483d0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973624,"esil":"rax,rcx,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov rcx, rax","disasm":"mov rcx, rax","bytes":"4889c1","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973627,"esil":"63,1,rcx,>>,0x8000000000000000,rcx,&,|,rcx,=,1,rcx,&,cf,=,1,REPEAT","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"sar rcx, 0x3f","disasm":"sar rcx, 0x3f","bytes":"48c1f93f","family":"cpu","type":"sar","type_num":25,"type2_num":0},{"offset":4294973631,"esil":"0,cf,=,1,55,-,1,<<,rcx,&,?{,1,cf,=,},55,rcx,>>,rcx,=,$z,zf,=,$p,pf,=,$s,sf,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"shr rcx, 0x37","disasm":"shr rcx, 0x37","bytes":"48c1e937","family":"cpu","type":"shr","type_num":22,"type2_num":0},{"offset":4294973635,"val":35,"esil":"rax,rcx,+=,$o,of,=,$s,sf,=,$z,zf,=,$c63,cf,=,$p,pf,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"add rcx, rax","disasm":"add rcx, rax","bytes":"4801c1","family":"cpu","type":"add","type_num":17,"type2_num":0},{"offset":4294973638,"esil":"9,1,rcx,>>,0x8000000000000000,rcx,&,|,rcx,=,1,rcx,&,cf,=,1,REPEAT","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"sar rcx, 9","disasm":"sar rcx, 9","bytes":"48c1f909","family":"cpu","type":"sar","type_num":25,"type2_num":0},{"offset":4294973642,"ptr":4294989312,"esil":"rcx,0x3d2f,rip,+,=[8]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov qword [rip + 0x3d2f], rcx","disasm":"mov qword [0x100005600], rcx","bytes":"48890d2f3d0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973649,"ptr":4294989084,"esil":"0x3c44,rip,+,[1],r10b,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov r10b, byte [rip + 0x3c44]","disasm":"mov r10b, byte [0x10000551c]","bytes":"448a15443c0000","family":"cpu","type":"mov","type_num":9,"type2_num":0}]},{"offset":4294973656,"size":9,"jump":4294973683,"fail":4294973665,"ops":[{"offset":4294973656,"ptr":1,"esil":"1,0x3c39,rip,+,[1],==,$z,zf,=,$b8,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"cmp byte [rip + 0x3c39], 1","disasm":"cmp byte [0x100005518], 1","bytes":"803d393c000001","family":"cpu","type":"cmp","type_num":15,"type2_num":0,"xrefs":[{"addr":4294973599,"type":"JMP"},{"addr":4294973577,"type":"JMP"}]},{"offset":4294973663,"esil":"zf,!,?{,4294973683,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x1000018f3","disasm":"jne 0x1000018f3","bytes":"7512","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973683,"fail":4294973665}]},{"offset":4294973665,"size":6,"jump":4294973701,"fail":4294973671,"ops":[{"offset":4294973665,"ptr":1,"val":1,"esil":"0,1,r10b,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"test r10b, 1","disasm":"test r10b, 1","bytes":"41f6c201","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294973669,"esil":"zf,?{,4294973701,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x100001905","disasm":"je 0x100001905","bytes":"741e","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973701,"fail":4294973671}]},{"offset":4294973671,"size":12,"jump":4294973863,"ops":[{"offset":4294973671,"ptr":4294971698,"esil":"0x7bc,rip,-,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip - 0x7bc]","disasm":"lea rax, [sym.func.100001132]","bytes":"488d0544f8ffff","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973678,"esil":"0x1000019a7,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"jmp 0x1000019a7","disasm":"jmp 0x1000019a7","bytes":"e9b4000000","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973863}]},{"offset":4294973683,"size":6,"jump":4294973747,"fail":4294973689,"ops":[{"offset":4294973683,"ptr":1,"val":1,"esil":"0,1,r10b,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"test r10b, 1","disasm":"test r10b, 1","bytes":"41f6c201","family":"cpu","type":"acmp","type_num":16,"type2_num":0,"xrefs":[{"addr":4294973663,"type":"JMP"}]},{"offset":4294973687,"esil":"zf,?{,4294973747,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x100001933","disasm":"je 0x100001933","bytes":"743a","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973747,"fail":4294973689}]},{"offset":4294973689,"size":12,"jump":4294973863,"ops":[{"offset":4294973689,"ptr":4294971648,"esil":"0x800,rip,-,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip - 0x800]","disasm":"lea rax, [sym.func.100001100]","bytes":"488d0500f8ffff","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973696,"esil":"0x1000019a7,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"jmp 0x1000019a7","disasm":"jmp 0x1000019a7","bytes":"e9a2000000","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973863}]},{"offset":4294973701,"size":10,"jump":4294973793,"fail":4294973711,"ops":[{"offset":4294973701,"ptr":4294989088,"esil":"0x3c15,rip,+,[1],al,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"mov al, byte [rip + 0x3c15]","disasm":"mov al, byte [0x100005520]","bytes":"8a05153c0000","family":"cpu","type":"mov","type_num":9,"type2_num":0,"xrefs":[{"addr":4294973669,"type":"JMP"}]},{"offset":4294973707,"esil":"0,al,al,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"test al, al","disasm":"test al, al","bytes":"84c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294973709,"esil":"zf,?{,4294973793,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x100001961","disasm":"je 0x100001961","bytes":"7452","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973793,"fail":4294973711}]},{"offset":4294973711,"size":9,"jump":4294973811,"fail":4294973720,"ops":[{"offset":4294973711,"ptr":0,"esil":"0,0x3cfa,rip,+,[4],==,$z,zf,=,$b32,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"cmp dword [rip + 0x3cfa], 0","disasm":"cmp dword [0x100005610], 0","bytes":"833dfa3c000000","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4294973718,"esil":"zf,!,?{,4294973811,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x100001973","disasm":"jne 0x100001973","bytes":"755b","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973811,"fail":4294973720}]},{"offset":4294973720,"size":9,"jump":4294973829,"fail":4294973729,"ops":[{"offset":4294973720,"ptr":0,"esil":"0,0x3d3d,rip,+,[4],==,$z,zf,=,$b32,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"cmp dword [rip + 0x3d3d], 0","disasm":"cmp dword [0x10000565c], 0","bytes":"833d3d3d000000","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4294973727,"esil":"zf,!,?{,4294973829,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x100001985","disasm":"jne 0x100001985","bytes":"7564","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973829,"fail":4294973729}]},{"offset":4294973729,"size":9,"jump":4294973847,"fail":4294973738,"ops":[{"offset":4294973729,"ptr":0,"esil":"0,0x3cf0,rip,+,[4],==,$z,zf,=,$b32,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"cmp dword [rip + 0x3cf0], 0","disasm":"cmp dword [0x100005618], 0","bytes":"833df03c000000","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4294973736,"esil":"zf,!,?{,4294973847,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x100001997","disasm":"jne 0x100001997","bytes":"756d","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973847,"fail":4294973738}]},{"offset":4294973738,"size":9,"jump":4294973863,"ops":[{"offset":4294973738,"ptr":4294971276,"esil":"0x9a5,rip,-,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip - 0x9a5]","disasm":"lea rax, [sym.func.100000f8c]","bytes":"488d055bf6ffff","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973745,"esil":"0x1000019a7,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000019a7","disasm":"jmp 0x1000019a7","bytes":"eb74","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973863}]},{"offset":4294973747,"size":10,"jump":4294973802,"fail":4294973757,"ops":[{"offset":4294973747,"ptr":4294989088,"esil":"0x3be7,rip,+,[1],al,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973980,"size":6,"opcode":"mov al, byte [rip + 0x3be7]","disasm":"mov al, byte [0x100005520]","bytes":"8a05e73b0000","family":"cpu","type":"mov","type_num":9,"type2_num":0,"xrefs":[{"addr":4294973687,"type":"JMP"}]},{"offset":4294973753,"esil":"0,al,al,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"test al, al","disasm":"test al, al","bytes":"84c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294973755,"esil":"zf,?{,4294973802,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"je 0x10000196a","disasm":"je 0x10000196a","bytes":"742d","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973802,"fail":4294973757}]},{"offset":4294973757,"size":9,"jump":4294973820,"fail":4294973766,"ops":[{"offset":4294973757,"ptr":0,"esil":"0,0x3ccc,rip,+,[4],==,$z,zf,=,$b32,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"cmp dword [rip + 0x3ccc], 0","disasm":"cmp dword [0x100005610], 0","bytes":"833dcc3c000000","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4294973764,"esil":"zf,!,?{,4294973820,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x10000197c","disasm":"jne 0x10000197c","bytes":"7536","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973820,"fail":4294973766}]},{"offset":4294973766,"size":9,"jump":4294973838,"fail":4294973775,"ops":[{"offset":4294973766,"ptr":0,"esil":"0,0x3d0f,rip,+,[4],==,$z,zf,=,$b32,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"cmp dword [rip + 0x3d0f], 0","disasm":"cmp dword [0x10000565c], 0","bytes":"833d0f3d000000","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4294973773,"esil":"zf,!,?{,4294973838,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x10000198e","disasm":"jne 0x10000198e","bytes":"753f","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973838,"fail":4294973775}]},{"offset":4294973775,"size":9,"jump":4294973856,"fail":4294973784,"ops":[{"offset":4294973775,"ptr":0,"esil":"0,0x3cc2,rip,+,[4],==,$z,zf,=,$b32,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"cmp dword [rip + 0x3cc2], 0","disasm":"cmp dword [0x100005618], 0","bytes":"833dc23c000000","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4294973782,"esil":"zf,!,?{,4294973856,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x1000019a0","disasm":"jne 0x1000019a0","bytes":"7548","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973856,"fail":4294973784}]},{"offset":4294973784,"size":9,"jump":4294973863,"ops":[{"offset":4294973784,"ptr":4294971207,"esil":"0xa18,rip,-,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip - 0xa18]","disasm":"lea rax, [sym.func.100000f47]","bytes":"488d05e8f5ffff","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973791,"esil":"0x1000019a7,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000019a7","disasm":"jmp 0x1000019a7","bytes":"eb46","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973863}]},{"offset":4294973793,"size":9,"jump":4294973863,"ops":[{"offset":4294973793,"ptr":4294971186,"esil":"0xa36,rip,-,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip - 0xa36]","disasm":"lea rax, [sym.func.100000f32]","bytes":"488d05caf5ffff","family":"cpu","type":"lea","type_num":33,"type2_num":0,"xrefs":[{"addr":4294973709,"type":"JMP"}]},{"offset":4294973800,"esil":"0x1000019a7,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000019a7","disasm":"jmp 0x1000019a7","bytes":"eb3d","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973863}]},{"offset":4294973802,"size":9,"jump":4294973863,"ops":[{"offset":4294973802,"ptr":4294971168,"esil":"0xa51,rip,-,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip - 0xa51]","disasm":"lea rax, [sym.func.100000f20]","bytes":"488d05aff5ffff","family":"cpu","type":"lea","type_num":33,"type2_num":0,"xrefs":[{"addr":4294973755,"type":"JMP"}]},{"offset":4294973809,"esil":"0x1000019a7,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000019a7","disasm":"jmp 0x1000019a7","bytes":"eb34","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973863}]},{"offset":4294973811,"size":9,"jump":4294973863,"ops":[{"offset":4294973811,"ptr":4294971423,"esil":"0x95b,rip,-,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip - 0x95b]","disasm":"lea rax, [sym.func.10000101f]","bytes":"488d05a5f6ffff","family":"cpu","type":"lea","type_num":33,"type2_num":0,"xrefs":[{"addr":4294973718,"type":"JMP"}]},{"offset":4294973818,"esil":"0x1000019a7,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000019a7","disasm":"jmp 0x1000019a7","bytes":"eb2b","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973863}]},{"offset":4294973820,"size":9,"jump":4294973863,"ops":[{"offset":4294973820,"ptr":4294971354,"esil":"0x9a9,rip,-,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip - 0x9a9]","disasm":"lea rax, [sym.func.100000fda]","bytes":"488d0557f6ffff","family":"cpu","type":"lea","type_num":33,"type2_num":0,"xrefs":[{"addr":4294973764,"type":"JMP"}]},{"offset":4294973827,"esil":"0x1000019a7,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000019a7","disasm":"jmp 0x1000019a7","bytes":"eb22","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973863}]},{"offset":4294973829,"size":9,"jump":4294973863,"ops":[{"offset":4294973829,"ptr":4294971570,"esil":"0x8da,rip,-,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip - 0x8da]","disasm":"lea rax, [sym.func.1000010b2]","bytes":"488d0526f7ffff","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973836,"esil":"0x1000019a7,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000019a7","disasm":"jmp 0x1000019a7","bytes":"eb19","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973863}]},{"offset":4294973838,"size":9,"jump":4294973863,"ops":[{"offset":4294973838,"ptr":4294971501,"esil":"0x928,rip,-,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip - 0x928]","disasm":"lea rax, [sym.func.10000106d]","bytes":"488d05d8f6ffff","family":"cpu","type":"lea","type_num":33,"type2_num":0,"xrefs":[{"addr":4294973773,"type":"JMP"}]},{"offset":4294973845,"esil":"0x1000019a7,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000019a7","disasm":"jmp 0x1000019a7","bytes":"eb10","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973863}]},{"offset":4294973847,"size":9,"jump":4294973863,"ops":[{"offset":4294973847,"ptr":4294971826,"esil":"0x7ec,rip,-,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip - 0x7ec]","disasm":"lea rax, [sym.func.1000011b2]","bytes":"488d0514f8ffff","family":"cpu","type":"lea","type_num":33,"type2_num":0,"xrefs":[{"addr":4294973736,"type":"JMP"}]},{"offset":4294973854,"esil":"0x1000019a7,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000019a7","disasm":"jmp 0x1000019a7","bytes":"eb07","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973863}]},{"offset":4294973856,"size":7,"jump":4294973863,"ops":[{"offset":4294973856,"ptr":4294971757,"esil":"0x83a,rip,-,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip - 0x83a]","disasm":"lea rax, [sym.func.10000116d]","bytes":"488d05c6f7ffff","family":"cpu","type":"lea","type_num":33,"type2_num":0,"xrefs":[{"addr":4294973782,"type":"JMP"}]}]},{"offset":4294973863,"size":19,"jump":4294973891,"fail":4294973882,"ops":[{"offset":4294973863,"ptr":4294989096,"esil":"rax,0x3b7a,rip,+,=[8]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov qword [rip + 0x3b7a], rax","disasm":"mov qword [0x100005528], rax","bytes":"4889057a3b0000","family":"cpu","type":"mov","type_num":9,"type2_num":0,"xrefs":[{"addr":4294973809,"type":"JMP"},{"addr":4294973827,"type":"JMP"},{"addr":4294973845,"type":"JMP"},{"addr":4294973791,"type":"JMP"},{"addr":4294973696,"type":"JMP"},{"addr":4294973800,"type":"JMP"},{"addr":4294973818,"type":"JMP"},{"addr":4294973836,"type":"JMP"},{"addr":4294973854,"type":"JMP"},{"addr":4294973745,"type":"JMP"},{"addr":4294973678,"type":"JMP"}]},{"offset":4294973870,"esil":"r13d,r14d,-=,$o,of,=,$s,sf,=,$z,zf,=,$p,pf,=,$b4,cf,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"sub r14d, r13d","disasm":"sub r14d, r13d","bytes":"4529ee","family":"cpu","type":"sub","type_num":18,"type2_num":0},{"offset":4294973873,"ptr":1,"esil":"1,0x3b48,rip,+,[1],==,$z,zf,=,$b8,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"cmp byte [rip + 0x3b48], 1","disasm":"cmp byte [0x100005500], 1","bytes":"803d483b000001","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4294973880,"esil":"zf,!,?{,4294973891,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x1000019c3","disasm":"jne 0x1000019c3","bytes":"7509","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973891,"fail":4294973882}]},{"offset":4294973882,"size":9,"jump":4294973934,"ops":[{"offset":4294973882,"ptr":4294977732,"esil":"0xf03,rip,+,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip + 0xf03]","disasm":"lea rax, [sub.printscol_8c4]","bytes":"488d05030f0000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973889,"esil":"0x1000019ee,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000019ee","disasm":"jmp 0x1000019ee","bytes":"eb2b","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973934}]},{"offset":4294973891,"size":9,"jump":4294973918,"fail":4294973900,"ops":[{"offset":4294973891,"ptr":0,"esil":"0,0x3c66,rip,+,[4],==,$z,zf,=,$b32,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"cmp dword [rip + 0x3c66], 0","disasm":"cmp dword [0x100005630], 0","bytes":"833d663c000000","family":"cpu","type":"cmp","type_num":15,"type2_num":0,"xrefs":[{"addr":4294973880,"type":"JMP"}]},{"offset":4294973898,"esil":"zf,!,?{,4294973918,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x1000019de","disasm":"jne 0x1000019de","bytes":"7512","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973918,"fail":4294973900}]},{"offset":4294973900,"size":9,"jump":4294973927,"fail":4294973909,"ops":[{"offset":4294973900,"ptr":0,"esil":"0,0x3c8d,rip,+,[4],==,$z,zf,=,$b32,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"cmp dword [rip + 0x3c8d], 0","disasm":"cmp dword [0x100005660], 0","bytes":"833d8d3c000000","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4294973907,"esil":"zf,!,?{,4294973927,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x1000019e7","disasm":"jne 0x1000019e7","bytes":"7512","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973927,"fail":4294973909}]},{"offset":4294973909,"size":9,"jump":4294973934,"ops":[{"offset":4294973909,"ptr":4294981445,"esil":"0x1d69,rip,+,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip + 0x1d69]","disasm":"lea rax, [sub.realloc_745]","bytes":"488d05691d0000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973916,"esil":"0x1000019ee,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000019ee","disasm":"jmp 0x1000019ee","bytes":"eb10","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973934}]},{"offset":4294973918,"size":9,"jump":4294973934,"ops":[{"offset":4294973918,"ptr":4294978221,"esil":"0x10c8,rip,+,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip + 0x10c8]","disasm":"lea rax, [sym.func.100002aad]","bytes":"488d05c8100000","family":"cpu","type":"lea","type_num":33,"type2_num":0,"xrefs":[{"addr":4294973898,"type":"JMP"}]},{"offset":4294973925,"esil":"0x1000019ee,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x1000019ee","disasm":"jmp 0x1000019ee","bytes":"eb07","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973934}]},{"offset":4294973927,"size":7,"jump":4294973934,"ops":[{"offset":4294973927,"ptr":4294981236,"esil":"0x1c86,rip,+,rax,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rax, [rip + 0x1c86]","disasm":"lea rax, [sub.strlen_674]","bytes":"488d05861c0000","family":"cpu","type":"lea","type_num":33,"type2_num":0,"xrefs":[{"addr":4294973907,"type":"JMP"}]}]},{"offset":4294973934,"size":12,"jump":4294973960,"fail":4294973946,"ops":[{"offset":4294973934,"ptr":4294989104,"esil":"rax,0x3b3b,rip,+,=[8]","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"mov qword [rip + 0x3b3b], rax","disasm":"mov qword [0x100005530], rax","bytes":"4889053b3b0000","family":"cpu","type":"mov","type_num":9,"type2_num":0,"xrefs":[{"addr":4294973925,"type":"JMP"},{"addr":4294973916,"type":"JMP"},{"addr":4294973889,"type":"JMP"}]},{"offset":4294973941,"esil":"0,r14d,r14d,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"test r14d, r14d","disasm":"test r14d, r14d","bytes":"4585f6","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4294973944,"esil":"zf,!,?{,4294973960,rip,=,}","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jne 0x100001a08","disasm":"jne 0x100001a08","bytes":"750e","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4294973960,"fail":4294973946}]},{"offset":4294973946,"size":14,"jump":4294973967,"ops":[{"offset":4294973946,"ptr":4294989024,"esil":"0x3adf,rip,+,rsi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"lea rsi, [rip + 0x3adf]","disasm":"lea rsi, [0x1000054e0]","bytes":"488d35df3a0000","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4294973953,"esil":"1,rdi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"mov edi, 1","disasm":"mov edi, 1","bytes":"bf01000000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973958,"esil":"0x100001a0f,rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"jmp 0x100001a0f","disasm":"jmp 0x100001a0f","bytes":"eb07","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":4294973967}]},{"offset":4294973960,"size":7,"jump":4294973967,"ops":[{"offset":4294973960,"ptr":0,"esil":"r13,8,*,r15,+,rsi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973982,"size":4,"opcode":"lea rsi, [r15 + r13*8]","disasm":"lea rsi, [r15 + r13*8]","bytes":"4b8d34ef","family":"cpu","type":"lea","type_num":33,"type2_num":0,"xrefs":[{"addr":4294973944,"type":"JMP"}]},{"offset":4294973964,"esil":"r14d,rdi,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973983,"size":3,"opcode":"mov edi, r14d","disasm":"mov edi, r14d","bytes":"4489f7","family":"cpu","type":"mov","type_num":9,"type2_num":0}]},{"offset":4294973967,"size":19,"ops":[{"offset":4294973967,"esil":"rbx,rdx,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973984,"size":2,"opcode":"mov edx, ebx","disasm":"mov edx, ebx","bytes":"89da","family":"cpu","type":"mov","type_num":9,"type2_num":0,"xrefs":[{"addr":4294973958,"type":"JMP"}]},{"offset":4294973969,"esil":"4294974276,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x100001b44","disasm":"call sub.fts_open_INODE64_b44","bytes":"e82e010000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294974276,"fail":4294973974},{"offset":4294973974,"ptr":4294989112,"esil":"0x3b1b,rip,+,[1],rdi,=","refptr":true,"fcn_addr":4294971904,"fcn_last":4294973979,"size":7,"opcode":"movzx edi, byte [rip + 0x3b1b]","disasm":"movzx edi, byte [0x100005538]","bytes":"0fb63d1b3b0000","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4294973981,"esil":"4294984870,rip,8,rsp,-=,rsp,=[],rip,=","refptr":false,"fcn_addr":4294971904,"fcn_last":4294973981,"size":5,"opcode":"call 0x1000044a6","disasm":"call sym.imp.exit","bytes":"e8842a0000","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":4294984870,"fail":4294973986}]}]}],"isj":[{"name":"__mh_execute_header","demname":"","flagname":"sym.__mh_execute_header","ordinal":0,"bind":"GLOBAL","size":0,"type":"FUNC","vaddr":4294967296,"paddr":0},{"name":"radr://5614542","demname":"","flagname":"sym.radr:__5614542","ordinal":1,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":90260802,"paddr":90260802},{"name":"imp.__assert_rtn","demname":"","flagname":"sym.imp.__assert_rtn","ordinal":2,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984750,"paddr":17454},{"name":"imp.__bzero","demname":"","flagname":"sym.imp.__bzero","ordinal":3,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984756,"paddr":17460},{"name":"imp.__error","demname":"","flagname":"sym.imp.__error","ordinal":4,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984762,"paddr":17466},{"name":"imp.__maskrune","demname":"","flagname":"sym.imp.__maskrune","ordinal":5,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984768,"paddr":17472},{"name":"imp.__snprintf_chk","demname":"","flagname":"sym.imp.__snprintf_chk","ordinal":6,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984774,"paddr":17478},{"name":"imp.__stack_chk_fail","demname":"","flagname":"sym.imp.__stack_chk_fail","ordinal":7,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984780,"paddr":17484},{"name":"imp.__tolower","demname":"","flagname":"sym.imp.__tolower","ordinal":8,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984786,"paddr":17490},{"name":"imp.acl_free","demname":"","flagname":"sym.imp.acl_free","ordinal":9,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984792,"paddr":17496},{"name":"imp.acl_get_entry","demname":"","flagname":"sym.imp.acl_get_entry","ordinal":10,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984798,"paddr":17502},{"name":"imp.acl_get_flag_np","demname":"","flagname":"sym.imp.acl_get_flag_np","ordinal":11,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984804,"paddr":17508},{"name":"imp.acl_get_flagset_np","demname":"","flagname":"sym.imp.acl_get_flagset_np","ordinal":12,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984810,"paddr":17514},{"name":"imp.acl_get_link_np","demname":"","flagname":"sym.imp.acl_get_link_np","ordinal":13,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984816,"paddr":17520},{"name":"imp.acl_get_perm_np","demname":"","flagname":"sym.imp.acl_get_perm_np","ordinal":14,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984822,"paddr":17526},{"name":"imp.acl_get_permset","demname":"","flagname":"sym.imp.acl_get_permset","ordinal":15,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984828,"paddr":17532},{"name":"imp.acl_get_qualifier","demname":"","flagname":"sym.imp.acl_get_qualifier","ordinal":16,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984834,"paddr":17538},{"name":"imp.acl_get_tag_type","demname":"","flagname":"sym.imp.acl_get_tag_type","ordinal":17,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984840,"paddr":17544},{"name":"imp.atoi","demname":"","flagname":"sym.imp.atoi","ordinal":18,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984846,"paddr":17550},{"name":"imp.calloc","demname":"","flagname":"sym.imp.calloc","ordinal":19,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984852,"paddr":17556},{"name":"imp.compat_mode","demname":"","flagname":"sym.imp.compat_mode","ordinal":20,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984858,"paddr":17562},{"name":"imp.err","demname":"","flagname":"sym.imp.err","ordinal":21,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984864,"paddr":17568},{"name":"imp.exit","demname":"","flagname":"sym.imp.exit","ordinal":22,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984870,"paddr":17574},{"name":"imp.fflagstostr","demname":"","flagname":"sym.imp.fflagstostr","ordinal":23,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984876,"paddr":17580},{"name":"imp.fprintf","demname":"","flagname":"sym.imp.fprintf","ordinal":24,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984882,"paddr":17586},{"name":"imp.fputs","demname":"","flagname":"sym.imp.fputs","ordinal":25,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984888,"paddr":17592},{"name":"imp.free","demname":"","flagname":"sym.imp.free","ordinal":26,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984894,"paddr":17598},{"name":"imp.fts_children$INODE64","demname":"","flagname":"sym.imp.fts_children_INODE64","ordinal":27,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984900,"paddr":17604},{"name":"imp.fts_close$INODE64","demname":"","flagname":"sym.imp.fts_close_INODE64","ordinal":28,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984906,"paddr":17610},{"name":"imp.fts_open$INODE64","demname":"","flagname":"sym.imp.fts_open_INODE64","ordinal":29,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984912,"paddr":17616},{"name":"imp.fts_read$INODE64","demname":"","flagname":"sym.imp.fts_read_INODE64","ordinal":30,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984918,"paddr":17622},{"name":"imp.fts_set$INODE64","demname":"","flagname":"sym.imp.fts_set_INODE64","ordinal":31,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984924,"paddr":17628},{"name":"imp.fwrite","demname":"","flagname":"sym.imp.fwrite","ordinal":32,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984930,"paddr":17634},{"name":"imp.getbsize","demname":"","flagname":"sym.imp.getbsize","ordinal":33,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984936,"paddr":17640},{"name":"imp.getenv","demname":"","flagname":"sym.imp.getenv","ordinal":34,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984942,"paddr":17646},{"name":"imp.getopt","demname":"","flagname":"sym.imp.getopt","ordinal":35,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984948,"paddr":17652},{"name":"imp.getpid","demname":"","flagname":"sym.imp.getpid","ordinal":36,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984954,"paddr":17658},{"name":"imp.getuid","demname":"","flagname":"sym.imp.getuid","ordinal":37,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984960,"paddr":17664},{"name":"imp.getxattr","demname":"","flagname":"sym.imp.getxattr","ordinal":38,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984966,"paddr":17670},{"name":"imp.group_from_gid","demname":"","flagname":"sym.imp.group_from_gid","ordinal":39,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984972,"paddr":17676},{"name":"imp.humanize_number","demname":"","flagname":"sym.imp.humanize_number","ordinal":40,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984978,"paddr":17682},{"name":"imp.ioctl","demname":"","flagname":"sym.imp.ioctl","ordinal":41,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984984,"paddr":17688},{"name":"imp.isatty","demname":"","flagname":"sym.imp.isatty","ordinal":42,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984990,"paddr":17694},{"name":"imp.kill","demname":"","flagname":"sym.imp.kill","ordinal":43,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984996,"paddr":17700},{"name":"imp.listxattr","demname":"","flagname":"sym.imp.listxattr","ordinal":44,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985002,"paddr":17706},{"name":"imp.localtime","demname":"","flagname":"sym.imp.localtime","ordinal":45,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985008,"paddr":17712},{"name":"imp.malloc","demname":"","flagname":"sym.imp.malloc","ordinal":46,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985014,"paddr":17718},{"name":"imp.mbr_identifier_translate","demname":"","flagname":"sym.imp.mbr_identifier_translate","ordinal":47,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985020,"paddr":17724},{"name":"imp.mbrtowc","demname":"","flagname":"sym.imp.mbrtowc","ordinal":48,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985026,"paddr":17730},{"name":"imp.memchr","demname":"","flagname":"sym.imp.memchr","ordinal":49,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985032,"paddr":17736},{"name":"imp.nl_langinfo","demname":"","flagname":"sym.imp.nl_langinfo","ordinal":50,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985038,"paddr":17742},{"name":"imp.printf","demname":"","flagname":"sym.imp.printf","ordinal":51,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985044,"paddr":17748},{"name":"imp.putchar","demname":"","flagname":"sym.imp.putchar","ordinal":52,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985050,"paddr":17754},{"name":"imp.readlink","demname":"","flagname":"sym.imp.readlink","ordinal":53,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985056,"paddr":17760},{"name":"imp.realloc","demname":"","flagname":"sym.imp.realloc","ordinal":54,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985062,"paddr":17766},{"name":"imp.reallocf","demname":"","flagname":"sym.imp.reallocf","ordinal":55,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985068,"paddr":17772},{"name":"imp.setenv","demname":"","flagname":"sym.imp.setenv","ordinal":56,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985074,"paddr":17778},{"name":"imp.setlocale","demname":"","flagname":"sym.imp.setlocale","ordinal":57,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985080,"paddr":17784},{"name":"imp.signal","demname":"","flagname":"sym.imp.signal","ordinal":58,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985086,"paddr":17790},{"name":"imp.sscanf","demname":"","flagname":"sym.imp.sscanf","ordinal":59,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985092,"paddr":17796},{"name":"imp.strcoll","demname":"","flagname":"sym.imp.strcoll","ordinal":60,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985098,"paddr":17802},{"name":"imp.strcpy","demname":"","flagname":"sym.imp.strcpy","ordinal":61,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985104,"paddr":17808},{"name":"imp.strdup","demname":"","flagname":"sym.imp.strdup","ordinal":62,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985110,"paddr":17814},{"name":"imp.strerror","demname":"","flagname":"sym.imp.strerror","ordinal":63,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985116,"paddr":17820},{"name":"imp.strftime","demname":"","flagname":"sym.imp.strftime","ordinal":64,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985122,"paddr":17826},{"name":"imp.strlen","demname":"","flagname":"sym.imp.strlen","ordinal":65,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985128,"paddr":17832},{"name":"imp.strmode","demname":"","flagname":"sym.imp.strmode","ordinal":66,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985134,"paddr":17838},{"name":"imp.tgetent","demname":"","flagname":"sym.imp.tgetent","ordinal":67,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985140,"paddr":17844},{"name":"imp.tgetstr","demname":"","flagname":"sym.imp.tgetstr","ordinal":68,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985146,"paddr":17850},{"name":"imp.tgoto","demname":"","flagname":"sym.imp.tgoto","ordinal":69,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985152,"paddr":17856},{"name":"imp.time","demname":"","flagname":"sym.imp.time","ordinal":70,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985158,"paddr":17862},{"name":"imp.tputs","demname":"","flagname":"sym.imp.tputs","ordinal":71,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985164,"paddr":17868},{"name":"imp.user_from_uid","demname":"","flagname":"sym.imp.user_from_uid","ordinal":72,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985170,"paddr":17874},{"name":"imp.uuid_unparse_upper","demname":"","flagname":"sym.imp.uuid_unparse_upper","ordinal":73,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985176,"paddr":17880},{"name":"imp.warn","demname":"","flagname":"sym.imp.warn","ordinal":74,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985182,"paddr":17886},{"name":"imp.warnx","demname":"","flagname":"sym.imp.warnx","ordinal":75,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985188,"paddr":17892},{"name":"imp.wcwidth","demname":"","flagname":"sym.imp.wcwidth","ordinal":76,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985194,"paddr":17898},{"name":"imp.write","demname":"","flagname":"sym.imp.write","ordinal":77,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294985200,"paddr":17904},{"name":"func.100000f20","demname":"","flagname":"sym.func.100000f20","ordinal":78,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294971168,"paddr":3872},{"name":"func.100000f32","demname":"","flagname":"sym.func.100000f32","ordinal":79,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294971186,"paddr":3890},{"name":"func.100000f47","demname":"","flagname":"sym.func.100000f47","ordinal":80,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294971207,"paddr":3911},{"name":"func.100000f8c","demname":"","flagname":"sym.func.100000f8c","ordinal":81,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294971276,"paddr":3980},{"name":"func.100000fda","demname":"","flagname":"sym.func.100000fda","ordinal":82,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294971354,"paddr":4058},{"name":"func.10000101f","demname":"","flagname":"sym.func.10000101f","ordinal":83,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294971423,"paddr":4127},{"name":"func.10000106d","demname":"","flagname":"sym.func.10000106d","ordinal":84,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294971501,"paddr":4205},{"name":"func.1000010b2","demname":"","flagname":"sym.func.1000010b2","ordinal":85,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294971570,"paddr":4274},{"name":"func.100001100","demname":"","flagname":"sym.func.100001100","ordinal":86,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294971648,"paddr":4352},{"name":"func.100001132","demname":"","flagname":"sym.func.100001132","ordinal":87,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294971698,"paddr":4402},{"name":"func.10000116d","demname":"","flagname":"sym.func.10000116d","ordinal":88,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294971757,"paddr":4461},{"name":"func.1000011b2","demname":"","flagname":"sym.func.1000011b2","ordinal":89,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294971826,"paddr":4530},{"name":"func.100001200","demname":"","flagname":"sym.func.100001200","ordinal":90,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294971904,"paddr":4608},{"name":"func.100001b44","demname":"","flagname":"sym.func.100001b44","ordinal":91,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294974276,"paddr":6980},{"name":"func.100001e0c","demname":"","flagname":"sym.func.100001e0c","ordinal":92,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294974988,"paddr":7692},{"name":"func.100001e7b","demname":"","flagname":"sym.func.100001e7b","ordinal":93,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294975099,"paddr":7803},{"name":"func.1000028c4","demname":"","flagname":"sym.func.1000028c4","ordinal":94,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294977732,"paddr":10436},{"name":"func.100002990","demname":"","flagname":"sym.func.100002990","ordinal":95,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294977936,"paddr":10640},{"name":"func.100002aad","demname":"","flagname":"sym.func.100002aad","ordinal":96,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294978221,"paddr":10925},{"name":"func.100003303","demname":"","flagname":"sym.func.100003303","ordinal":97,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294980355,"paddr":13059},{"name":"func.100003367","demname":"","flagname":"sym.func.100003367","ordinal":98,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294980455,"paddr":13159},{"name":"func.1000034ac","demname":"","flagname":"sym.func.1000034ac","ordinal":99,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294980780,"paddr":13484},{"name":"func.10000358c","demname":"","flagname":"sym.func.10000358c","ordinal":100,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294981004,"paddr":13708},{"name":"func.1000035c2","demname":"","flagname":"sym.func.1000035c2","ordinal":101,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294981058,"paddr":13762},{"name":"func.100003674","demname":"","flagname":"sym.func.100003674","ordinal":102,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294981236,"paddr":13940},{"name":"func.100003745","demname":"","flagname":"sym.func.100003745","ordinal":103,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294981445,"paddr":14149},{"name":"func.100003a5b","demname":"","flagname":"sym.func.100003a5b","ordinal":104,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294982235,"paddr":14939},{"name":"func.100003bd8","demname":"","flagname":"sym.func.100003bd8","ordinal":105,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294982616,"paddr":15320},{"name":"func.100003c42","demname":"","flagname":"sym.func.100003c42","ordinal":106,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294982722,"paddr":15426},{"name":"func.100003c68","demname":"","flagname":"sym.func.100003c68","ordinal":107,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294982760,"paddr":15464},{"name":"func.100003c75","demname":"","flagname":"sym.func.100003c75","ordinal":108,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294982773,"paddr":15477},{"name":"func.100003d1c","demname":"","flagname":"sym.func.100003d1c","ordinal":109,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294982940,"paddr":15644},{"name":"func.100003ea4","demname":"","flagname":"sym.func.100003ea4","ordinal":110,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294983332,"paddr":16036},{"name":"func.100004037","demname":"","flagname":"sym.func.100004037","ordinal":111,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294983735,"paddr":16439},{"name":"func.100004194","demname":"","flagname":"sym.func.100004194","ordinal":112,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984084,"paddr":16788},{"name":"func.100004400","demname":"","flagname":"sym.func.100004400","ordinal":113,"bind":"LOCAL","size":0,"type":"FUNC","vaddr":4294984704,"paddr":17408}],"izj":[{"vaddr":4294985984,"paddr":18688,"ordinal":0,"size":67,"length":66,"section":"3.__TEXT.__const","type":"ascii","string":"JEZyZWVCU0Q6IHNyYy9iaW4vbHMvY21wLmMsdiAxLjEyIDIwMDIvMDYvMzAgMDU6MTM6NTQgb2JyaWVuIEV4cCAk"},{"vaddr":4294986064,"paddr":18768,"ordinal":1,"size":105,"length":104,"section":"3.__TEXT.__const","type":"ascii","string":"QCgjKSBDb3B5cmlnaHQgKGMpIDE5ODksIDE5OTMsIDE5OTRcblx0VGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4="},{"vaddr":4294986176,"paddr":18880,"ordinal":2,"size":67,"length":66,"section":"3.__TEXT.__const","type":"ascii","string":"JEZyZWVCU0Q6IHNyYy9iaW4vbHMvbHMuYyx2IDEuNjYgMjAwMi8wOS8yMSAwMToyODozNiB3b2xsbWFuIEV4cCAk"},{"vaddr":4294986256,"paddr":18960,"ordinal":3,"size":71,"length":70,"section":"3.__TEXT.__const","type":"ascii","string":"JEZyZWVCU0Q6IHNyYy9iaW4vbHMvcHJpbnQuYyx2IDEuNTcgMjAwMi8wOC8yOSAxNDoyOTowOSBrZXJhbWlkYSBFeHAgJA=="},{"vaddr":4294986336,"paddr":19040,"ordinal":4,"size":64,"length":63,"section":"3.__TEXT.__const","type":"ascii","string":"JEZyZWVCU0Q6IHNyYy9iaW4vbHMvdXRpbC5jLHYgMS4zOCAyMDA1LzA2LzAzIDExOjA1OjU4IGRkIEV4cCAk"},{"vaddr":4294986400,"paddr":19104,"ordinal":5,"size":19,"length":18,"section":"3.__TEXT.__const","type":"ascii","string":"XFxcXCIiXGFhXGJiXGZmXG5uXHJyXHR0XHZ2"},{"vaddr":4294986432,"paddr":19136,"ordinal":6,"size":39,"length":38,"section":"3.__TEXT.__const","type":"ascii","string":"QCgjKVBST0dSQU06bHMgIFBST0pFQ1Q6ZmlsZV9jbWRzLTI3Mlxu"},{"vaddr":4294986481,"paddr":19185,"ordinal":0,"size":8,"length":7,"section":"4.__TEXT.__cstring","type":"ascii","string":"Q09MVU1OUw=="},{"vaddr":4294986489,"paddr":19193,"ordinal":1,"size":40,"length":39,"section":"4.__TEXT.__cstring","type":"ascii","string":"MUBBQkNGR0hMT1BSU1RVV2FiY2RlZmdoaWtsbW5vcHFyc3R1dnd4"},{"vaddr":4294986529,"paddr":19233,"ordinal":2,"size":7,"length":6,"section":"4.__TEXT.__cstring","type":"ascii","string":"YmluL2xz"},{"vaddr":4294986536,"paddr":19240,"ordinal":3,"size":9,"length":8,"section":"4.__TEXT.__cstring","type":"ascii","string":"VW5peDIwMDM="},{"vaddr":4294986545,"paddr":19249,"ordinal":4,"size":9,"length":8,"section":"4.__TEXT.__cstring","type":"ascii","string":"Q0xJQ09MT1I="},{"vaddr":4294986554,"paddr":19258,"ordinal":5,"size":15,"length":14,"section":"4.__TEXT.__cstring","type":"ascii","string":"Q0xJQ09MT1JfRk9SQ0U="},{"vaddr":4294986569,"paddr":19273,"ordinal":6,"size":5,"length":4,"section":"4.__TEXT.__cstring","type":"ascii","string":"VEVSTQ=="},{"vaddr":4294986592,"paddr":19296,"ordinal":7,"size":9,"length":8,"section":"4.__TEXT.__cstring","type":"ascii","string":"TFNDT0xPUlM="},{"vaddr":4294986601,"paddr":19305,"ordinal":8,"size":9,"length":8,"section":"4.__TEXT.__cstring","type":"ascii","string":"ZnRzX29wZW4="},{"vaddr":4294986610,"paddr":19314,"ordinal":9,"size":29,"length":28,"section":"4.__TEXT.__cstring","type":"ascii","string":"JXM6IGRpcmVjdG9yeSBjYXVzZXMgYSBjeWNsZQ=="},{"vaddr":4294986639,"paddr":19343,"ordinal":10,"size":7,"length":6,"section":"4.__TEXT.__cstring","type":"ascii","string":"JXM6ICVz"},{"vaddr":4294986646,"paddr":19350,"ordinal":11,"size":6,"length":5,"section":"4.__TEXT.__cstring","type":"ascii","string":"XG4lczpcbg=="},{"vaddr":4294986652,"paddr":19356,"ordinal":12,"size":5,"length":4,"section":"4.__TEXT.__cstring","type":"ascii","string":"JXM6XG4="},{"vaddr":4294986657,"paddr":19361,"ordinal":13,"size":9,"length":8,"section":"4.__TEXT.__cstring","type":"ascii","string":"ZnRzX3JlYWQ="},{"vaddr":4294986666,"paddr":19370,"ordinal":14,"size":13,"length":12,"section":"4.__TEXT.__cstring","type":"ascii","string":"TFNfQ09MV0lEVEhT"},{"vaddr":4294986679,"paddr":19383,"ordinal":15,"size":7,"length":6,"section":"4.__TEXT.__cstring","type":"ascii","string":"bWFsbG9j"},{"vaddr":4294986686,"paddr":19390,"ordinal":16,"size":52,"length":51,"section":"4.__TEXT.__cstring","type":"ascii","string":"ICVsbHUgOiAlcXUgOiAlbHUgOiAlaSA6ICVpIDogJWkgOiAlcXUgOiAlbHUgOiAlbHUg"},{"vaddr":4294986743,"paddr":19447,"ordinal":17,"size":12,"length":11,"section":"4.__TEXT.__cstring","type":"ascii","string":"ZmZsYWdzdG9zdHI="},{"vaddr":4294986755,"paddr":19459,"ordinal":18,"size":6,"length":5,"section":"4.__TEXT.__cstring","type":"ascii","string":"JXMvJXM="},{"vaddr":4294986765,"paddr":19469,"ordinal":19,"size":5,"length":4,"section":"4.__TEXT.__cstring","type":"ascii","string":"JWxsdQ=="},{"vaddr":4294986774,"paddr":19478,"ordinal":20,"size":10,"length":9,"section":"4.__TEXT.__cstring","type":"ascii","string":"cHJpbnRzY29s"},{"vaddr":4294986784,"paddr":19488,"ordinal":21,"size":83,"length":82,"section":"4.__TEXT.__cstring","type":"ascii","string":"L0J1aWxkUm9vdC9MaWJyYXJ5L0NhY2hlcy9jb20uYXBwbGUueGJzL1NvdXJjZXMvZmlsZV9jbWRzL2ZpbGVfY21kcy0yNzIvbHMvcHJpbnQuYw=="},{"vaddr":4294986870,"paddr":19574,"ordinal":22,"size":11,"length":10,"section":"4.__TEXT.__cstring","type":"ascii","string":"dG90YWwgJXF1XG4="},{"vaddr":4294986881,"paddr":19585,"ordinal":23,"size":7,"length":6,"section":"4.__TEXT.__cstring","type":"ascii","string":"JSpsbHUg"},{"vaddr":4294986888,"paddr":19592,"ordinal":24,"size":6,"length":5,"section":"4.__TEXT.__cstring","type":"ascii","string":"JSpxdSA="},{"vaddr":4294986894,"paddr":19598,"ordinal":25,"size":12,"length":11,"section":"4.__TEXT.__cstring","type":"ascii","string":"JXMlcyAlKnUgICA="},{"vaddr":4294986906,"paddr":19610,"ordinal":26,"size":16,"length":15,"section":"4.__TEXT.__cstring","type":"ascii","string":"JXMlcyAlKnUgJS0qcyAg"},{"vaddr":4294986922,"paddr":19626,"ordinal":27,"size":22,"length":21,"section":"4.__TEXT.__cstring","type":"ascii","string":"JXMlcyAlKnUgJS0qcyAgJS0qcyAg"},{"vaddr":4294986944,"paddr":19648,"ordinal":28,"size":6,"length":5,"section":"4.__TEXT.__cstring","type":"ascii","string":"JS0qcyA="},{"vaddr":4294986950,"paddr":19654,"ordinal":29,"size":13,"length":12,"section":"4.__TEXT.__cstring","type":"ascii","string":"JTNkLCAweCUwOHgg"},{"vaddr":4294986963,"paddr":19667,"ordinal":30,"size":10,"length":9,"section":"4.__TEXT.__cstring","type":"ascii","string":"JTNkLCAlM2Qg"},{"vaddr":4294986973,"paddr":19677,"ordinal":31,"size":9,"length":8,"section":"4.__TEXT.__cstring","type":"ascii","string":"JSpzJSpxdSA="},{"vaddr":4294986985,"paddr":19689,"ordinal":32,"size":9,"length":8,"section":"4.__TEXT.__cstring","type":"ascii","string":"cHJpbnRjb2w="},{"vaddr":4294986994,"paddr":19698,"ordinal":33,"size":9,"length":8,"section":"4.__TEXT.__cstring","type":"ascii","string":"ZHAtPmxpc3Q="},{"vaddr":4294987003,"paddr":19707,"ordinal":34,"size":19,"length":18,"section":"4.__TEXT.__cstring","type":"ascii","string":"YmFzZSA8IGRwLT5lbnRyaWVz"},{"vaddr":4294987022,"paddr":19726,"ordinal":35,"size":79,"length":78,"section":"4.__TEXT.__cstring","type":"ascii","string":"d2FybjogTFNDT0xPUlMgc2hvdWxkIHVzZSBjaGFyYWN0ZXJzIGEtaCBpbnN0ZWFkIG9mIDAtOSAoc2VlIHRoZSBtYW51YWwgcGFnZSlcbg=="},{"vaddr":4294987101,"paddr":19805,"ordinal":36,"size":51,"length":50,"section":"4.__TEXT.__cstring","type":"ascii","string":"ZXJyb3I6IGludmFsaWQgY2hhcmFjdGVyICclYycgaW4gTFNDT0xPUlMgZW52IHZhclxu"},{"vaddr":4294987152,"paddr":19856,"ordinal":37,"size":6,"length":5,"section":"4.__TEXT.__cstring","type":"ascii","string":"YWxsb3c="},{"vaddr":4294987158,"paddr":19862,"ordinal":38,"size":5,"length":4,"section":"4.__TEXT.__cstring","type":"ascii","string":"ZGVueQ=="},{"vaddr":4294987163,"paddr":19867,"ordinal":39,"size":8,"length":7,"section":"4.__TEXT.__cstring","type":"ascii","string":"dW5rbm93bg=="},{"vaddr":4294987171,"paddr":19875,"ordinal":40,"size":14,"length":13,"section":"4.__TEXT.__cstring","type":"ascii","string":"ICVkOiAlcyVzICVzIA=="},{"vaddr":4294987185,"paddr":19889,"ordinal":41,"size":11,"length":10,"section":"4.__TEXT.__cstring","type":"ascii","string":"IGluaGVyaXRlZA=="},{"vaddr":4294987196,"paddr":19900,"ordinal":42,"size":5,"length":4,"section":"4.__TEXT.__cstring","type":"ascii","string":"JXMlcw=="},{"vaddr":4294987203,"paddr":19907,"ordinal":43,"size":6,"length":5,"section":"4.__TEXT.__cstring","type":"ascii","string":"JXM6JXM="},{"vaddr":4294987209,"paddr":19913,"ordinal":44,"size":5,"length":4,"section":"4.__TEXT.__cstring","type":"ascii","string":"dXNlcg=="},{"vaddr":4294987214,"paddr":19918,"ordinal":45,"size":6,"length":5,"section":"4.__TEXT.__cstring","type":"ascii","string":"Z3JvdXA="},{"vaddr":4294987220,"paddr":19924,"ordinal":46,"size":5,"length":4,"section":"4.__TEXT.__cstring","type":"ascii","string":"cmVhZA=="},{"vaddr":4294987225,"paddr":19929,"ordinal":47,"size":5,"length":4,"section":"4.__TEXT.__cstring","type":"ascii","string":"bGlzdA=="},{"vaddr":4294987230,"paddr":19934,"ordinal":48,"size":6,"length":5,"section":"4.__TEXT.__cstring","type":"ascii","string":"d3JpdGU="},{"vaddr":4294987236,"paddr":19940,"ordinal":49,"size":9,"length":8,"section":"4.__TEXT.__cstring","type":"ascii","string":"YWRkX2ZpbGU="},{"vaddr":4294987245,"paddr":19949,"ordinal":50,"size":8,"length":7,"section":"4.__TEXT.__cstring","type":"ascii","string":"ZXhlY3V0ZQ=="},{"vaddr":4294987253,"paddr":19957,"ordinal":51,"size":7,"length":6,"section":"4.__TEXT.__cstring","type":"ascii","string":"c2VhcmNo"},{"vaddr":4294987260,"paddr":19964,"ordinal":52,"size":7,"length":6,"section":"4.__TEXT.__cstring","type":"ascii","string":"ZGVsZXRl"},{"vaddr":4294987267,"paddr":19971,"ordinal":53,"size":7,"length":6,"section":"4.__TEXT.__cstring","type":"ascii","string":"YXBwZW5k"},{"vaddr":4294987274,"paddr":19978,"ordinal":54,"size":17,"length":16,"section":"4.__TEXT.__cstring","type":"ascii","string":"YWRkX3N1YmRpcmVjdG9yeQ=="},{"vaddr":4294987291,"paddr":19995,"ordinal":55,"size":13,"length":12,"section":"4.__TEXT.__cstring","type":"ascii","string":"ZGVsZXRlX2NoaWxk"},{"vaddr":4294987304,"paddr":20008,"ordinal":56,"size":9,"length":8,"section":"4.__TEXT.__cstring","type":"ascii","string":"cmVhZGF0dHI="},{"vaddr":4294987313,"paddr":20017,"ordinal":57,"size":10,"length":9,"section":"4.__TEXT.__cstring","type":"ascii","string":"d3JpdGVhdHRy"},{"vaddr":4294987323,"paddr":20027,"ordinal":58,"size":12,"length":11,"section":"4.__TEXT.__cstring","type":"ascii","string":"cmVhZGV4dGF0dHI="},{"vaddr":4294987335,"paddr":20039,"ordinal":59,"size":13,"length":12,"section":"4.__TEXT.__cstring","type":"ascii","string":"d3JpdGVleHRhdHRy"},{"vaddr":4294987348,"paddr":20052,"ordinal":60,"size":13,"length":12,"section":"4.__TEXT.__cstring","type":"ascii","string":"cmVhZHNlY3VyaXR5"},{"vaddr":4294987361,"paddr":20065,"ordinal":61,"size":14,"length":13,"section":"4.__TEXT.__cstring","type":"ascii","string":"d3JpdGVzZWN1cml0eQ=="},{"vaddr":4294987375,"paddr":20079,"ordinal":62,"size":6,"length":5,"section":"4.__TEXT.__cstring","type":"ascii","string":"Y2hvd24="},{"vaddr":4294987381,"paddr":20085,"ordinal":63,"size":13,"length":12,"section":"4.__TEXT.__cstring","type":"ascii","string":"ZmlsZV9pbmhlcml0"},{"vaddr":4294987394,"paddr":20098,"ordinal":64,"size":18,"length":17,"section":"4.__TEXT.__cstring","type":"ascii","string":"ZGlyZWN0b3J5X2luaGVyaXQ="},{"vaddr":4294987412,"paddr":20116,"ordinal":65,"size":14,"length":13,"section":"4.__TEXT.__cstring","type":"ascii","string":"bGltaXRfaW5oZXJpdA=="},{"vaddr":4294987426,"paddr":20130,"ordinal":66,"size":13,"length":12,"section":"4.__TEXT.__cstring","type":"ascii","string":"b25seV9pbmhlcml0"},{"vaddr":4294987439,"paddr":20143,"ordinal":67,"size":13,"length":12,"section":"4.__TEXT.__cstring","type":"ascii","string":"JWUgJWIgJVQgJVkg"},{"vaddr":4294987452,"paddr":20156,"ordinal":68,"size":13,"length":12,"section":"4.__TEXT.__cstring","type":"ascii","string":"JWIgJWUgJVQgJVkg"},{"vaddr":4294987465,"paddr":20169,"ordinal":69,"size":10,"length":9,"section":"4.__TEXT.__cstring","type":"ascii","string":"JWUgJWIgJVIg"},{"vaddr":4294987475,"paddr":20179,"ordinal":70,"size":10,"length":9,"section":"4.__TEXT.__cstring","type":"ascii","string":"JWIgJWUgJVIg"},{"vaddr":4294987485,"paddr":20189,"ordinal":71,"size":11,"length":10,"section":"4.__TEXT.__cstring","type":"ascii","string":"JWUgJWIgICVZIA=="},{"vaddr":4294987496,"paddr":20200,"ordinal":72,"size":11,"length":10,"section":"4.__TEXT.__cstring","type":"ascii","string":"JWIgJWUgICVZIA=="},{"vaddr":4294987507,"paddr":20211,"ordinal":73,"size":23,"length":22,"section":"4.__TEXT.__cstring","type":"ascii","string":"ZXhmeGN4ZHhieGVnZWRhYmFnYWNhZA=="},{"vaddr":4294987533,"paddr":20237,"ordinal":74,"size":13,"length":12,"section":"4.__TEXT.__cstring","type":"ascii","string":"XG5sczogJXM6ICVzXG4="},{"vaddr":4294987546,"paddr":20250,"ordinal":75,"size":5,"length":4,"section":"4.__TEXT.__cstring","type":"ascii","string":"IC0+IA=="},{"vaddr":4294987551,"paddr":20255,"ordinal":76,"size":5,"length":4,"section":"4.__TEXT.__cstring","type":"ascii","string":"JTVzIA=="},{"vaddr":4294987556,"paddr":20260,"ordinal":77,"size":6,"length":5,"section":"4.__TEXT.__cstring","type":"ascii","string":"JSpqZCA="},{"vaddr":4294987562,"paddr":20266,"ordinal":78,"size":63,"length":62,"section":"4.__TEXT.__cstring","type":"ascii","string":"dXNhZ2U6IGxzIFstQUJDRkdITE9QUlNUVVdhYmNkZWZnaGlrbG1ub3BxcnN0dXd4MV0gW2ZpbGUgLi4uXVxu"}]}

Support for Radare2rc Config

Add support for pdd options to be given via the .radare2rc file.

Example:

  • e dec.hidecasts = true in the rc instead of having to type pdd --hide-casts

CC lines

to add a comment to the offset where the instruction doing the statement is
like dwarf does, so you see the “decompiled” code as comments in the disasm
and u can just set key.f5=.pdd* to get the decompiled code next to the disasm
by pressing F5

  ;-- main:        
/ (fcn) sym.main 34
|   sym.main ();   
|                                                              ; #include <stdint.h>
|                                                              ; #include <stdio.h>
| ; var int local_10h @ rbp-0x10                               ; 
| ; var int local_4h @ rbp-0x4                                 ; int32_t main () {
| 0x0000064a      55             push rbp                      ; 
| 0x0000064b      4889e5         mov rbp, rsp                  ; 
| 0x0000064e      4883ec10       sub rsp, 0x10                 ; 
| 0x00000652      897dfc         mov dword [local_4h], edi     ;      *((int32_t*) local_4h) = edi;
| 0x00000655      488975f0       mov qword [local_10h], rsi    ;      *((int64_t*) local_10h) = rsi;
| 0x00000659      488d3d940000.  lea rdi, str.hello_world      ;      
| 0x00000660      e8cbfeffff       call sym.imp.puts             ;      puts ("hello world");
| 0x00000665      b800000000     mov eax, 0                    ;      eax = 0;
| 0x0000066a      c9             leave                         ;      
\ 0x0000066b      c3             ret                           ;      return eax;
                                                               ; }

Change dereferencing of local variables

Right now, local variables are accessed with an asterisk. (*(local_34h) = eax;)

Taking the address of a variable doesn't use any dereference. (eax = local_2ch;)

To make the output more like C, the decompilation of the first case should be changed to local_34h = eax;, and the second case to eax = &local_2ch;

Number.toUnsigned()

[0x1000011e0]> . inr2.js
TypeError: obj.offset.toUnsigned is not a function
    at new Instruction (/Users/pancake/prg/r2dec-js/decompile/instruction.js:43:34)
    at /Users/pancake/prg/r2dec-js/decompile/metadata.js:40:20
    at Array.map (native)
    at new Metadata (/Users/pancake/prg/r2dec-js/decompile/metadata.js:39:12)
    at r2dec.work (/Users/pancake/prg/r2dec-js/r2dec.js:45:24)
    at asyncMain (/Users/pancake/prg/r2dec-js/inr2.js:60:16)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:169:7)

Use radare2 theme

Instead of relying on his own theme, r2dec should use radare2 theme when used within radare2

TypeError: Cannot read property 'casts' of undefined on the main of /bin/ls

Hi,

I tried r2dec for the first time today and I got this error:

TypeError: Cannot read property 'casts' of undefined
    at _apply_bits (/home/ampotos/.config/radare2/r2pm/git/r2dec-js/libdec/arch/base.js:132:21)
    at _bits_argument.toString (/home/ampotos/.config/radare2/r2pm/git/r2dec-js/libdec/arch/base.js:148:20)
    at xor (/home/ampotos/.config/radare2/r2pm/git/r2dec-js/libdec/arch/base.js:343:30)
    at _common_math (/home/ampotos/.config/radare2/r2pm/git/r2dec-js/libdec/arch/x86.js:72:16)
    at xor (/home/ampotos/.config/radare2/r2pm/git/r2dec-js/libdec/arch/x86.js:294:24)
    at _analyze_instructions (/home/ampotos/.config/radare2/r2pm/git/r2dec-js/libdec/core/Analyzer.js:62:32)
    at Analyzer.analyze (/home/ampotos/.config/radare2/r2pm/git/r2dec-js/libdec/core/Analyzer.js:96:13)
    at asyncMain (/home/ampotos/.config/radare2/r2pm/git/r2dec-js/r2dec.js:129:29)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:118:7)
undefined

The output of #!pipe r2dec --issue:
https://gist.github.com/ampotos/bb44e60d2255ed463690c27db79ec5d8

I can try to help but I'm not use to JS at all

Missing instructions for x86

  • __asm (bt ecx, eax);
  • __asm (pxor xmm0, xmm0);
  • __asm (movdqu xmm0, xmmword [r14]);
  • __asm (movdqa xmmword [r13 + 0x110], xmm0);
  • __asm (movdqa xmmword [rbx], xmm0);
  • __asm (aeskeygenassist xmm1, xmm0, 1);
  • __asm (pshufd xmm0, xmm0, 0xff);
  • __asm (pslldq xmm1, 4);
  • __asm (punpcklqdq xmm1, xmm0);
  • __asm (palignr xmm3, xmm0, 8);
  • __asm (imul eax, ebx, imm8)
  • __asm ("fld qword [local_8h]");
  • __asm ("fmul qword [0x0047f570]");
  • __asm ("fstp qword [local_10h]");

[mips] delayed branches

Detect and handle delayed branches

an example:

0x00508fd8      03e00008       jr ra
0x00508fdc      27bd0050       addiu sp, sp, 0x50

current wrong pseudo-C:

    return v0;
    sp += 0x50;

Support string operations

Add support for string operations, e.g. stosb, lodsb, scasb and cmpsb, and their possible prefixes.
Consider turning common patterns into compiler intrinsic functions, for example:

  • lodsb + stosb -> memcpy
  • scasb where al is 0 -> strlen
  • cmpsb -> memcmp

[AVR] Incorrect decompilation for rjmp instruction

Code here.

0x000000e4 rjmp 0xe6 is decompiled into (*(void(*)()) 0x0) ();

[0x000000e4]> pdd --assembly
    ; assembly                  | /* r2dec pseudo C output */
(fcn) fcn.000000b2:             | void fcn_000000b2 () {
    0x000000b2  sts 0x98, r1    |     *(0x98) = r1;
    0x000000b6  ldi r24, 0x67   |     r24 = 0x67;
    0x000000b8  sts 0x99, r24   |     *(0x99) = r24;
    0x000000bc  lds r24, 0x9a   |     r24 = *(0x9a);
    0x000000c0  ori r24, 0x98   |     r24 |= 0x98;
    0x000000c2  sts 0x9a, r24   |     *(0x9a) = r24;
    0x000000c6  lds r24, 0x9d   |     r24 = *(0x9d);
    0x000000ca  ori r24, 0x0e   |     r24 |= 0x0e;
    0x000000cc  sts 0x9d, r24   |     *(0x9d) = r24;
                                |     do {
    0x000000d0  ldi r24, 0x48   |         r24 = 0x48;
    0x000000d2  call 0xa4       |         (*(void(*)()) 0xa4) ();
    0x000000d6  ser r18         |         r18 = 0xff;
    0x000000d8  ldi r24, 0x70   |         r24 = 0x70;
    0x000000da  ldi r25, 0x02   |         r25 = 0x02;
                                |         do {
    0x000000dc  subi r18, 0x01  |             r18 -= 0x01;
    0x000000de  sbci r24, 0x00  |             r24 -= 0x00;
    0x000000e0  sbci r25, 0x00  |
                                |         } while (r25 == 0x00);
    0x000000e2  brne 0xdc       |
    0x000000e4  rjmp 0xe6       |
    0x000000e6  nop             |         (*(void(*)()) 0x0) ();
                                |     } while (1);
    0x000000e8  rjmp 0xd0       |
                                | }

Json:

   "name":"issue_1527755666425",
   "arch":"avr",
   "agj":[
      {
         "name":"fcn.000000b2",
         "offset":178,
         "ninstr":25,
         "nargs":0,
         "nlocals":0,
         "size":56,
         "stack":0,
         "type":"fcn",
         "blocks":[
            {
               "offset":178,
               "size":30,
               "jump":208,
               "trace":{
                  "count":10,
                  "times":1
               },
               "ops":[
                  {
                     "offset":178,
                     "esil":"1,$",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":230,
                     "size":2,
                     "opcode":"sts 0x98, r1",
                     "bytes":"10929800",
                     "family":"unk",
                     "type":"unk",
                     "type_num":7,
                     "type2_num":0,
                     "flags":[
                        "fcn.000000b2"
                     ],
                     "xrefs":[
                        {
                           "addr":152,
                           "type":"CALL"
                        }
                     ]
                  },
                  {
                     "offset":182,
                     "ptr":0,
                     "val":0,
                     "esil":"0x67,r24,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":232,
                     "size":2,
                     "opcode":"ldi r24, 0x67",
                     "bytes":"87e6",
                     "family":"cpu",
                     "type":"load",
                     "type_num":32,
                     "type2_num":0,
                     "jump":0,
                     "fail":184
                  },
                  {
                     "offset":184,
                     "esil":"1,$",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":230,
                     "size":2,
                     "opcode":"sts 0x99, r24",
                     "bytes":"80939900",
                     "family":"unk",
                     "type":"unk",
                     "type_num":7,
                     "type2_num":0
                  },
                  {
                     "offset":188,
                     "ptr":0,
                     "val":0,
                     "esil":"154,16,rampd,<<,+,_ram,+,[1],r24,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":230,
                     "size":4,
                     "opcode":"lds r24, 0x9a",
                     "bytes":"80919a00",
                     "family":"cpu",
                     "type":"load",
                     "type_num":32,
                     "type2_num":0,
                     "jump":0,
                     "fail":192
                  },
                  {
                     "offset":192,
                     "ptr":0,
                     "val":0,
                     "esil":"r24,152,|,0,RPICK,!,zf,=,0,RPICK,0x80,&,!,!,nf,=,0,vf,=,nf,sf,=,r24,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":232,
                     "size":2,
                     "opcode":"ori r24, 0x98",
                     "bytes":"8869",
                     "family":"cpu",
                     "type":"or",
                     "type_num":26,
                     "type2_num":0,
                     "jump":0,
                     "fail":194
                  },
                  {
                     "offset":194,
                     "esil":"1,$",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":230,
                     "size":2,
                     "opcode":"sts 0x9a, r24",
                     "bytes":"80939a00",
                     "family":"unk",
                     "type":"unk",
                     "type_num":7,
                     "type2_num":0
                  },
                  {
                     "offset":198,
                     "ptr":0,
                     "val":0,
                     "esil":"157,16,rampd,<<,+,_ram,+,[1],r24,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":230,
                     "size":4,
                     "opcode":"lds r24, 0x9d",
                     "bytes":"80919d00",
                     "family":"cpu",
                     "type":"load",
                     "type_num":32,
                     "type2_num":0,
                     "jump":0,
                     "fail":202
                  },
                  {
                     "offset":202,
                     "ptr":0,
                     "val":0,
                     "esil":"r24,14,|,0,RPICK,!,zf,=,0,RPICK,0x80,&,!,!,nf,=,0,vf,=,nf,sf,=,r24,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":232,
                     "size":2,
                     "opcode":"ori r24, 0x0e",
                     "bytes":"8e60",
                     "family":"cpu",
                     "type":"or",
                     "type_num":26,
                     "type2_num":0,
                     "jump":0,
                     "fail":204
                  },
                  {
                     "offset":204,
                     "esil":"1,$",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":230,
                     "size":2,
                     "opcode":"sts 0x9d, r24",
                     "bytes":"80939d00",
                     "family":"unk",
                     "type":"unk",
                     "type_num":7,
                     "type2_num":0
                  }
               ]
            },
            {
               "offset":208,
               "size":12,
               "jump":220,
               "trace":{
                  "count":23,
                  "times":1
               },
               "ops":[
                  {
                     "offset":208,
                     "ptr":0,
                     "val":0,
                     "esil":"0x48,r24,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":232,
                     "size":2,
                     "opcode":"ldi r24, 0x48",
                     "bytes":"88e4",
                     "family":"cpu",
                     "type":"load",
                     "type_num":32,
                     "type2_num":0,
                     "jump":0,
                     "fail":210,
                     "xrefs":[
                        {
                           "addr":232,
                           "type":"JMP"
                        }
                     ]
                  },
                  {
                     "offset":210,
                     "ptr":0,
                     "val":0,
                     "esil":"pc,sp,_ram,+,-1,+,=[2],-2,sp,+=,164,pc,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":230,
                     "size":4,
                     "opcode":"call 0xa4",
                     "bytes":"0e945200",
                     "family":"cpu",
                     "type":"call",
                     "type_num":3,
                     "type2_num":0,
                     "jump":164,
                     "fail":214
                  },
                  {
                     "offset":214,
                     "ptr":0,
                     "val":0,
                     "esil":"0xff,r18,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":232,
                     "size":2,
                     "opcode":"ser r18",
                     "bytes":"2fef",
                     "family":"cpu",
                     "type":"load",
                     "type_num":32,
                     "type2_num":0,
                     "jump":0,
                     "fail":216
                  },
                  {
                     "offset":216,
                     "ptr":0,
                     "val":0,
                     "esil":"0x70,r24,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":232,
                     "size":2,
                     "opcode":"ldi r24, 0x70",
                     "bytes":"80e7",
                     "family":"cpu",
                     "type":"load",
                     "type_num":32,
                     "type2_num":0,
                     "jump":0,
                     "fail":218
                  },
                  {
                     "offset":218,
                     "ptr":0,
                     "val":0,
                     "esil":"0x2,r25,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":232,
                     "size":2,
                     "opcode":"ldi r25, 0x02",
                     "bytes":"92e0",
                     "family":"cpu",
                     "type":"load",
                     "type_num":32,
                     "type2_num":0,
                     "jump":0,
                     "fail":220
                  }
               ]
            },
            {
               "offset":220,
               "size":8,
               "jump":220,
               "fail":228,
               "trace":{
                  "count":27,
                  "times":11
               },
               "ops":[
                  {
                     "offset":220,
                     "ptr":0,
                     "val":0,
                     "esil":"1,r18,-,r18,0x08,&,!,1,0x08,&,!,!,&,1,0x08,&,!,!,0,RPICK,0x08,&,!,!,&,r18,0x08,&,!,0,RPICK,0x08,&,!,!,&,|,|,hf,=,r18,0x80,&,!,!,1,0x80,&,!,&,0,RPICK,0x80,&,!,&,r18,0x80,&,!,1,0x80,&,!,!,&,0,RPICK,0x80,&,!,!,&,|,vf,=,0,RPICK,0x80,&,!,!,nf,=,0,RPICK,!,zf,&,zf,=,r18,0x80,&,!,1,0x80,&,!,!,&,1,0x80,&,!,!,0,RPICK,0x80,&,!,!,&,r18,0x80,&,!,0,RPICK,0x80,&,!,!,&,|,|,cf,=,vf,nf,^,sf,=,r18,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":232,
                     "size":2,
                     "opcode":"subi r18, 0x01",
                     "bytes":"2150",
                     "family":"cpu",
                     "type":"sub",
                     "type_num":18,
                     "type2_num":0,
                     "jump":0,
                     "fail":222
                  },
                  {
                     "offset":222,
                     "ptr":0,
                     "val":0,
                     "esil":"cf,0,+,r24,-,r24,0x08,&,!,0,0x08,&,!,!,&,0,0x08,&,!,!,0,RPICK,0x08,&,!,!,&,r24,0x08,&,!,0,RPICK,0x08,&,!,!,&,|,|,hf,=,r24,0x80,&,!,!,0,0x80,&,!,&,0,RPICK,0x80,&,!,&,r24,0x80,&,!,0,0x80,&,!,!,&,0,RPICK,0x80,&,!,!,&,|,vf,=,0,RPICK,0x80,&,!,!,nf,=,0,RPICK,!,zf,&,zf,=,r24,0x80,&,!,0,0x80,&,!,!,&,0,0x80,&,!,!,0,RPICK,0x80,&,!,!,&,r24,0x80,&,!,0,RPICK,0x80,&,!,!,&,|,|,cf,=,vf,nf,^,sf,=,r24,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":232,
                     "size":2,
                     "opcode":"sbci r24, 0x00",
                     "bytes":"8040",
                     "family":"cpu",
                     "type":"sub",
                     "type_num":18,
                     "type2_num":0,
                     "jump":0,
                     "fail":224
                  },
                  {
                     "offset":224,
                     "ptr":0,
                     "val":0,
                     "esil":"cf,0,+,r25,-,r25,0x08,&,!,0,0x08,&,!,!,&,0,0x08,&,!,!,0,RPICK,0x08,&,!,!,&,r25,0x08,&,!,0,RPICK,0x08,&,!,!,&,|,|,hf,=,r25,0x80,&,!,!,0,0x80,&,!,&,0,RPICK,0x80,&,!,&,r25,0x80,&,!,0,0x80,&,!,!,&,0,RPICK,0x80,&,!,!,&,|,vf,=,0,RPICK,0x80,&,!,!,nf,=,0,RPICK,!,zf,&,zf,=,r25,0x80,&,!,0,0x80,&,!,!,&,0,0x80,&,!,!,0,RPICK,0x80,&,!,!,&,r25,0x80,&,!,0,RPICK,0x80,&,!,!,&,|,|,cf,=,vf,nf,^,sf,=,r25,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":232,
                     "size":2,
                     "opcode":"sbci r25, 0x00",
                     "bytes":"9040",
                     "family":"cpu",
                     "type":"sub",
                     "type_num":18,
                     "type2_num":0,
                     "jump":0,
                     "fail":226
                  },
                  {
                     "offset":226,
                     "ptr":0,
                     "val":0,
                     "esil":"1,1,<<,sreg,&,!,?{,220,pc,=,}",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":232,
                     "size":2,
                     "opcode":"brne 0xdc",
                     "bytes":"e1f7",
                     "family":"cpu",
                     "type":"cjmp",
                     "type_num":2147483649,
                     "type2_num":0,
                     "jump":220,
                     "fail":228
                  }
               ]
            },
            {
               "offset":228,
               "size":2,
               "jump":230,
               "trace":{
                  "count":31,
                  "times":1
               },
               "ops":[
                  {
                     "offset":228,
                     "ptr":0,
                     "val":0,
                     "esil":"230,pc,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":232,
                     "size":2,
                     "opcode":"rjmp 0xe6",
                     "bytes":"00c0",
                     "family":"cpu",
                     "type":"jmp",
                     "type_num":1,
                     "type2_num":0,
                     "jump":230,
                     "fail":230
                  }
               ]
            },
            {
               "offset":230,
               "size":4,
               "jump":208,
               "trace":{
                  "count":32,
                  "times":1
               },
               "ops":[
                  {
                     "offset":230,
                     "ptr":0,
                     "val":0,
                     "esil":",",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":232,
                     "size":2,
                     "opcode":"nop",
                     "bytes":"0000",
                     "family":"cpu",
                     "type":"nop",
                     "type_num":8,
                     "type2_num":0,
                     "jump":0,
                     "fail":232,
                     "xrefs":[
                        {
                           "addr":228,
                           "type":"JMP"
                        }
                     ]
                  },
                  {
                     "offset":232,
                     "ptr":0,
                     "val":0,
                     "esil":"208,pc,=",
                     "refptr":false,
                     "fcn_addr":178,
                     "fcn_last":232,
                     "size":2,
                     "opcode":"rjmp 0xd0",
                     "bytes":"f3cf",
                     "family":"cpu",
                     "type":"jmp",
                     "type_num":1,
                     "type2_num":0,
                     "jump":208,
                     "fail":234
                  }
               ]
            }
         ]
      }
   ],
   "isj":[

   ],
   "izj":[

   ]
}```

[AVR] Incorrect decompilation for post incremented X-register

This is possibly the case for X/Y/Z registers for both pre/post increment/decrement.

                                   |     while ((r26 | (r27 << 8)) != (0xb4 | (r17 << 8))) {
    0x000007e6  lpm r0, z+         |         __asm (lpm r0, z+);
    0x000007e8  st x+, r0          |         *(MEM_X) = r0;
                                   |         r27 += 1;
                                   |         r26 += 1;
    0x000007ea  cpi r26, 0xb4      |         (*(void(*)()) 0x0) ();
    0x000007ec  cpc r27, r17       |
                                   |     }
    0x000007ee  brne 0x7e6         |

0x000007e8 st x+, r0 incrementing X should only increment r26, not r27 as well.

There is also the unexpected (*(void(*)()) 0x0) ();, possibly related to #61.

Json:

{"name":"issue_1527833221697","arch":"avr","agj":[{"name":"entry0","offset":1998,"ninstr":293,"nargs":0,"nlocals":0,"size":1142,"stack":0,"type":"fcn","blocks":[{"offset":1998,"size":24,"jump":2026,"trace":{"count":1,"times":8},"ops":[{"offset":1998,"ptr":0,"val":0,"esil":"r1,r1,^,0,vf,=,0,RPICK,0x80,&,!,!,nf,=,0,RPICK,!,zf,=,vf,nf,^,sf,=,r1,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"clr r1","bytes":"1124","family":"cpu","type":"xor","type_num":28,"type2_num":0,"jump":0,"fail":2000,"flags":["entry0"],"xrefs":[{"addr":0,"type":"JMP"}]},{"offset":2000,"ptr":0,"val":63,"esil":"r1,sreg,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"out 0x3f, r1","bytes":"1fbe","family":"7","type":"io","type_num":19,"type2_num":1,"jump":0,"fail":2002},{"offset":2002,"ptr":0,"val":0,"esil":"0xff,r28,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"ser r28","bytes":"cfef","family":"cpu","type":"load","type_num":32,"type2_num":0,"jump":0,"fail":2004},{"offset":2004,"ptr":0,"val":0,"esil":"0x8,r29,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"ldi r29, 0x08","bytes":"d8e0","family":"cpu","type":"load","type_num":32,"type2_num":0,"jump":0,"fail":2006},{"offset":2006,"ptr":0,"val":62,"esil":"r29,sph,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"out 0x3e, r29","bytes":"debf","family":"7","type":"io","type_num":19,"type2_num":1,"jump":0,"fail":2008},{"offset":2008,"ptr":0,"val":61,"esil":"r28,spl,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"out 0x3d, r28","bytes":"cdbf","family":"7","type":"io","type_num":19,"type2_num":1,"jump":0,"fail":2010},{"offset":2010,"ptr":0,"val":0,"esil":"0x2,r17,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"ldi r17, 0x02","bytes":"12e0","family":"cpu","type":"load","type_num":32,"type2_num":0,"jump":0,"fail":2012},{"offset":2012,"ptr":0,"val":0,"esil":"0x0,r26,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"ldi r26, 0x00","bytes":"a0e0","family":"cpu","type":"load","type_num":32,"type2_num":0,"jump":0,"fail":2014},{"offset":2014,"ptr":0,"val":0,"esil":"0x1,r27,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"ldi r27, 0x01","bytes":"b1e0","family":"cpu","type":"load","type_num":32,"type2_num":0,"jump":0,"fail":2016},{"offset":2016,"ptr":0,"val":0,"esil":"0xbc,r30,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"ldi r30, 0xbc","bytes":"eceb","family":"cpu","type":"load","type_num":32,"type2_num":0,"jump":0,"fail":2018},{"offset":2018,"ptr":0,"val":0,"esil":"0x2d,r31,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"ldi r31, 0x2d","bytes":"fde2","family":"cpu","type":"load","type_num":32,"type2_num":0,"jump":0,"fail":2020},{"offset":2020,"ptr":0,"val":0,"esil":"2026,pc,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"rjmp 0x7ea","bytes":"02c0","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":2026,"fail":2022,"flags":["hit2_36"]}]},{"offset":2022,"size":4,"jump":2026,"trace":{"count":13,"times":8},"ops":[{"offset":2022,"ptr":0,"val":0,"esil":"z,16,rampz,<<,+,_prog,+,[1],1,z,+,z,=,r0,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"lpm r0, z+","bytes":"0590","family":"cpu","type":"load","type_num":32,"type2_num":0,"jump":0,"fail":2024},{"offset":2024,"ptr":0,"val":0,"esil":"r0,x,_ram,+,=[1],1,x,+,x,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"st x+, r0","bytes":"0d92","family":"cpu","type":"store","type_num":31,"type2_num":0,"jump":0,"fail":2026,"flags":["pcl"]}]},{"offset":2026,"size":6,"jump":2022,"fail":2032,"trace":{"count":15,"times":8},"ops":[{"offset":2026,"ptr":0,"val":0,"esil":"180,r26,-,r26,0x08,&,!,180,0x08,&,!,!,&,180,0x08,&,!,!,0,RPICK,0x08,&,!,!,&,r26,0x08,&,!,0,RPICK,0x08,&,!,!,&,|,|,hf,=,r26,0x80,&,!,!,180,0x80,&,!,&,0,RPICK,0x80,&,!,&,r26,0x80,&,!,180,0x80,&,!,!,&,0,RPICK,0x80,&,!,!,&,|,vf,=,0,RPICK,0x80,&,!,!,nf,=,0,RPICK,!,zf,=,r26,0x80,&,!,180,0x80,&,!,!,&,180,0x80,&,!,!,0,RPICK,0x80,&,!,!,&,r26,0x80,&,!,0,RPICK,0x80,&,!,!,&,|,|,cf,=,vf,nf,^,sf,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"cpi r26, 0xb4","bytes":"a43b","family":"cpu","type":"cmp","type_num":15,"type2_num":0,"jump":0,"fail":2028,"xrefs":[{"addr":2020,"type":"JMP"}]},{"offset":2028,"ptr":0,"val":0,"esil":"cf,r17,-,r27,-,r27,0x08,&,!,r17,0x08,&,!,!,&,r17,0x08,&,!,!,0,RPICK,0x08,&,!,!,&,r27,0x08,&,!,0,RPICK,0x08,&,!,!,&,|,|,hf,=,r27,0x80,&,!,!,r17,0x80,&,!,&,0,RPICK,0x80,&,!,&,r27,0x80,&,!,r17,0x80,&,!,!,&,0,RPICK,0x80,&,!,!,&,|,vf,=,0,RPICK,0x80,&,!,!,nf,=,0,RPICK,!,zf,&,zf,=,r27,0x80,&,!,r17,0x80,&,!,!,&,r17,0x80,&,!,!,0,RPICK,0x80,&,!,!,&,r27,0x80,&,!,0,RPICK,0x80,&,!,!,&,|,|,cf,=,vf,nf,^,sf,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"cpc r27, r17","bytes":"b107","family":"cpu","type":"cmp","type_num":15,"type2_num":0,"jump":0,"fail":2030},{"offset":2030,"ptr":0,"val":0,"esil":"1,1,<<,sreg,&,!,?{,2022,pc,=,}","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"brne 0x7e6","bytes":"d9f7","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":2022,"fail":2032}]},{"offset":2032,"size":8,"jump":2042,"trace":{"count":18,"times":8},"ops":[{"offset":2032,"ptr":0,"val":0,"esil":"0x3,r18,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"ldi r18, 0x03","bytes":"23e0","family":"cpu","type":"load","type_num":32,"type2_num":0,"jump":0,"fail":2034},{"offset":2034,"ptr":0,"val":0,"esil":"0xb4,r26,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"ldi r26, 0xb4","bytes":"a4eb","family":"cpu","type":"load","type_num":32,"type2_num":0,"jump":0,"fail":2036},{"offset":2036,"ptr":0,"val":0,"esil":"0x2,r27,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"ldi r27, 0x02","bytes":"b2e0","family":"cpu","type":"load","type_num":32,"type2_num":0,"jump":0,"fail":2038},{"offset":2038,"ptr":0,"val":0,"esil":"2042,pc,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"rjmp 0x7fa","bytes":"01c0","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":2042,"fail":2040,"flags":["hit2_37"]}]},{"offset":2040,"size":2,"jump":2042,"trace":{"count":22,"times":8},"ops":[{"offset":2040,"ptr":0,"val":0,"esil":"r1,x,_ram,+,=[1],1,x,+,x,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"st x+, r1","bytes":"1d92","family":"cpu","type":"store","type_num":31,"type2_num":0,"jump":0,"fail":2042}]},{"offset":2042,"size":6,"jump":2040,"fail":2048,"trace":{"count":23,"times":8},"ops":[{"offset":2042,"ptr":0,"val":0,"esil":"71,r26,-,r26,0x08,&,!,71,0x08,&,!,!,&,71,0x08,&,!,!,0,RPICK,0x08,&,!,!,&,r26,0x08,&,!,0,RPICK,0x08,&,!,!,&,|,|,hf,=,r26,0x80,&,!,!,71,0x80,&,!,&,0,RPICK,0x80,&,!,&,r26,0x80,&,!,71,0x80,&,!,!,&,0,RPICK,0x80,&,!,!,&,|,vf,=,0,RPICK,0x80,&,!,!,nf,=,0,RPICK,!,zf,=,r26,0x80,&,!,71,0x80,&,!,!,&,71,0x80,&,!,!,0,RPICK,0x80,&,!,!,&,r26,0x80,&,!,0,RPICK,0x80,&,!,!,&,|,|,cf,=,vf,nf,^,sf,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"cpi r26, 0x47","bytes":"a734","family":"cpu","type":"cmp","type_num":15,"type2_num":0,"jump":0,"fail":2044,"xrefs":[{"addr":2038,"type":"JMP"}]},{"offset":2044,"ptr":0,"val":0,"esil":"cf,r18,-,r27,-,r27,0x08,&,!,r18,0x08,&,!,!,&,r18,0x08,&,!,!,0,RPICK,0x08,&,!,!,&,r27,0x08,&,!,0,RPICK,0x08,&,!,!,&,|,|,hf,=,r27,0x80,&,!,!,r18,0x80,&,!,&,0,RPICK,0x80,&,!,&,r27,0x80,&,!,r18,0x80,&,!,!,&,0,RPICK,0x80,&,!,!,&,|,vf,=,0,RPICK,0x80,&,!,!,nf,=,0,RPICK,!,zf,&,zf,=,r27,0x80,&,!,r18,0x80,&,!,!,&,r18,0x80,&,!,!,0,RPICK,0x80,&,!,!,&,r27,0x80,&,!,0,RPICK,0x80,&,!,!,&,|,|,cf,=,vf,nf,^,sf,=","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"cpc r27, r18","bytes":"b207","family":"cpu","type":"cmp","type_num":15,"type2_num":0,"jump":0,"fail":2046},{"offset":2046,"ptr":0,"val":0,"esil":"1,1,<<,sreg,&,!,?{,2040,pc,=,}","refptr":false,"fcn_addr":1998,"fcn_last":3138,"size":2,"opcode":"brne 0x7f8","bytes":"e1f7","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":2040,"fail":2048}]},{"offset":2048,"size":8,"ops":[{"offset":2048,"ptr":0,"val":0,"esil":"pc,sp,_ram,+,-1,+,=[2],-2,sp,+=,2060,pc,=","refptr":false,"fcn_addr":1998,"fcn_last":3136,"size":4,"opcode":"call fcn.0000080c","bytes":"0e940604","family":"cpu","type":"call","type_num":3,"type2_num":0,"jump":2060,"fail":2052},{"offset":2052,"ptr":0,"val":0,"esil":"11704,pc,=","refptr":false,"fcn_addr":1998,"fcn_last":3136,"size":4,"opcode":"jmp 0x2db8","bytes":"0c94dc16","family":"cpu","type":"jmp","type_num":1,"type2_num":0,"jump":11704,"fail":2056,"flags":["hit2_38"]}]}]}],"isj":[],"izj":[]}

Use more r2pipe

Right now r2dec just uses pdfj to do all the compuatations, if using r2pipe properly it could query offsets to resolve flags, structures, honor meta if any of this is missing in pdfj (which may be enhaced if required)

Crashes after repe instruction

Was testing out r2dec on simple CTF challenge I made. User inputs password and if it passes then they get the word "congrats!". After the scanf the program uses repe to check the input. After that instruction is where r2dec crashes. I have attached the json output.
issue.txt

[core] Support high level constructions

Be able to understand C++, Swift or ObjC constructions is important to make the code more readable, identifying class information, fields, etc. This should be done in a post processing step. And maybe work with an ast

Add travis

Build+install r2 from git and run npm run test

Libraries missing

core_pdd.c:8:10: fatal error: r_types.h: No such file or directory

do i need to install some extra libraries ?

Refactoring and clean dead code

After the last update to support HTML, i've left a lot of dead code.
Would be awesome to clean the code to make it smaller, and easier to understand.

x86 crash

I was testing this r2 plugin on a small x86 piece of malware. This crashed on a small string manipulation function. Here is the crash output:

{"name":"issue_1525881552310","arch":"x86","agj":[{"name":"fcn.00401660","offset":4200032,"ninstr":0,"nargs":3,"nlocals":0,"size":92,"stack":16,"type":"fcn","blocks":[{"offset":4200032,"size":28,"jump":4200060,"ops":[{"offset":4200032,"esil":"ebx,4,esp,-=,esp,=[4]","refptr":false,"fcn_addr":4200032,"fcn_last":4200123,"size":1,"opcode":"push ebx","disasm":"push ebx","bytes":"53","family":"cpu","type":"upush","type_num":12,"type2_num":0,"flags":["eip","fcn.00401660"],"xrefs":[{"addr":4199743,"type":"CALL"}]},{"offset":4200033,"esil":"esi,4,esp,-=,esp,=[4]","refptr":false,"fcn_addr":4200032,"fcn_last":4200123,"size":1,"opcode":"push esi","disasm":"push esi","bytes":"56","family":"cpu","type":"upush","type_num":12,"type2_num":0},{"offset":4200034,"esil":"edi,4,esp,-=,esp,=[4]","refptr":false,"fcn_addr":4200032,"fcn_last":4200123,"size":1,"opcode":"push edi","disasm":"push edi","bytes":"57","family":"cpu","type":"upush","type_num":12,"type2_num":0},{"offset":4200035,"esil":"ebp,4,esp,-=,esp,=[4]","refptr":false,"fcn_addr":4200032,"fcn_last":4200123,"size":1,"opcode":"push ebp","disasm":"push ebp","bytes":"55","family":"cpu","type":"upush","type_num":12,"type2_num":0},{"offset":4200036,"esil":"1,ebx,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200119,"size":5,"opcode":"mov ebx, 1","disasm":"mov ebx, 1","bytes":"bb01000000","family":"cpu","type":"mov","type_num":9,"type2_num":0,"comment":"ZWJ4IGlzIDE="},{"offset":4200041,"ptr":20,"esil":"0x14,esp,+,[4],ebp,=","refptr":true,"fcn_addr":4200032,"fcn_last":4200120,"size":4,"opcode":"mov ebp, dword [esp + 0x14]","disasm":"mov ebp, dword [arg_14h]","bytes":"8b6c2414","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4200045,"ptr":24,"esil":"0x18,esp,+,[4],edi,=","refptr":true,"fcn_addr":4200032,"fcn_last":4200120,"size":4,"opcode":"mov edi, dword [esp + 0x18]","disasm":"mov edi, dword [arg_18h]","bytes":"8b7c2418","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4200049,"esil":"ecx,ecx,^=,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"xor ecx, ecx","disasm":"xor ecx, ecx","bytes":"33c9","family":"cpu","type":"xor","type_num":28,"type2_num":0},{"offset":4200051,"ptr":28,"esil":"0x1c,esp,+,edx,=","refptr":true,"fcn_addr":4200032,"fcn_last":4200120,"size":4,"opcode":"lea edx, [esp + 0x1c]","disasm":"lea edx, [arg_1ch]","bytes":"8d54241c","family":"cpu","type":"lea","type_num":33,"type2_num":0},{"offset":4200055,"esil":"ebx,edi,-=,$o,of,=,$s,sf,=,$z,zf,=,$p,pf,=,$b4,cf,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"sub edi, ebx","disasm":"sub edi, ebx","bytes":"2bfb","family":"cpu","type":"sub","type_num":18,"type2_num":0,"comment":"ZWJ4IGlzIDE="},{"offset":4200057,"ptr":0,"esil":"ecx,ecx,=","refptr":true,"fcn_addr":4200032,"fcn_last":4200121,"size":3,"opcode":"lea ecx, [ecx]","disasm":"lea ecx, [ecx]","bytes":"8d4900","family":"cpu","type":"lea","type_num":33,"type2_num":0}]},{"offset":4200060,"size":9,"jump":4200078,"fail":4200069,"ops":[{"offset":4200060,"val":21,"esil":"ebx,edi,+=,$o,of,=,$s,sf,=,$z,zf,=,$c31,cf,=,$p,pf,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"add edi, ebx","disasm":"add edi, ebx","bytes":"03fb","family":"cpu","type":"add","type_num":17,"type2_num":0,"comment":"ZWJ4IGlzIDE=","xrefs":[{"addr":4200076,"type":"CODE"}]},{"offset":4200062,"ptr":0,"esil":"edi,[1],eax,=","refptr":true,"fcn_addr":4200032,"fcn_last":4200121,"size":3,"opcode":"movzx eax, byte [edi]","disasm":"movzx eax, byte [edi]","bytes":"0fb607","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4200065,"esil":"0,eax,eax,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"test eax, eax","disasm":"test eax, eax","bytes":"85c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4200067,"esil":"zf,?{,4200078,eip,=,}","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"je 0x40168e","disasm":"je 0x40168e","bytes":"7409","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4200078,"fail":4200069}]},{"offset":4200069,"size":9,"jump":4200060,"fail":4200078,"ops":[{"offset":4200069,"val":21,"esil":"ebx,edi,+=,$o,of,=,$s,sf,=,$z,zf,=,$c31,cf,=,$p,pf,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"add edi, ebx","disasm":"add edi, ebx","bytes":"03fb","family":"cpu","type":"add","type_num":17,"type2_num":0,"comment":"ZWJ4IGlzIDE="},{"offset":4200071,"ptr":0,"esil":"edi,[1],eax,=","refptr":true,"fcn_addr":4200032,"fcn_last":4200121,"size":3,"opcode":"movzx eax, byte [edi]","disasm":"movzx eax, byte [edi]","bytes":"0fb607","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4200074,"esil":"0,eax,eax,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"test eax, eax","disasm":"test eax, eax","bytes":"85c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4200076,"esil":"zf,!,?{,4200060,eip,=,}","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"jne 0x40167c","disasm":"jne 0x40167c","bytes":"75ee","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4200060,"fail":4200078}]},{"offset":4200078,"size":5,"jump":4200083,"ops":[{"offset":4200078,"esil":"ebx,edi,-=,$o,of,=,$s,sf,=,$z,zf,=,$p,pf,=,$b4,cf,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"sub edi, ebx","disasm":"sub edi, ebx","bytes":"2bfb","family":"cpu","type":"sub","type_num":18,"type2_num":0,"comment":"ZWJ4IGlzIDE=","xrefs":[{"addr":4200067,"type":"CODE"},{"addr":4200113,"type":"CODE"}]},{"offset":4200080,"ptr":0,"esil":"ecx,4,*,edx,+,[4],esi,=","refptr":true,"fcn_addr":4200032,"fcn_last":4200121,"size":3,"opcode":"mov esi, dword [edx + ecx*4]","disasm":"mov esi, dword [edx + ecx*4]","bytes":"8b348a","family":"cpu","type":"mov","type_num":9,"type2_num":0}]},{"offset":4200083,"size":13,"jump":4200109,"fail":4200096,"ops":[{"offset":4200083,"val":21,"esil":"ebx,edi,+=,$o,of,=,$s,sf,=,$z,zf,=,$c31,cf,=,$p,pf,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"add edi, ebx","disasm":"add edi, ebx","bytes":"03fb","family":"cpu","type":"add","type_num":17,"type2_num":0,"comment":"ZWJ4IGlzIDE=","xrefs":[{"addr":4200107,"type":"CODE"}]},{"offset":4200085,"ptr":0,"esil":"esi,[1],eax,=","refptr":true,"fcn_addr":4200032,"fcn_last":4200121,"size":3,"opcode":"movzx eax, byte [esi]","disasm":"movzx eax, byte [esi]","bytes":"0fb606","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4200088,"esil":"al,edi,=[1]","refptr":true,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"mov byte [edi], al","disasm":"mov byte [edi], al","bytes":"8807","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4200090,"val":21,"esil":"ebx,esi,+=,$o,of,=,$s,sf,=,$z,zf,=,$c31,cf,=,$p,pf,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"add esi, ebx","disasm":"add esi, ebx","bytes":"03f3","family":"cpu","type":"add","type_num":17,"type2_num":0,"comment":"ZWJ4IGlzIDE="},{"offset":4200092,"esil":"0,eax,eax,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"test eax, eax","disasm":"test eax, eax","bytes":"85c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4200094,"esil":"zf,?{,4200109,eip,=,}","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"je 0x4016ad","disasm":"je 0x4016ad","bytes":"740d","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4200109,"fail":4200096}]},{"offset":4200096,"size":13,"jump":4200083,"fail":4200109,"ops":[{"offset":4200096,"val":21,"esil":"ebx,edi,+=,$o,of,=,$s,sf,=,$z,zf,=,$c31,cf,=,$p,pf,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"add edi, ebx","disasm":"add edi, ebx","bytes":"03fb","family":"cpu","type":"add","type_num":17,"type2_num":0,"comment":"ZWJ4IGlzIDE="},{"offset":4200098,"ptr":0,"esil":"esi,[1],eax,=","refptr":true,"fcn_addr":4200032,"fcn_last":4200121,"size":3,"opcode":"movzx eax, byte [esi]","disasm":"movzx eax, byte [esi]","bytes":"0fb606","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4200101,"esil":"al,edi,=[1]","refptr":true,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"mov byte [edi], al","disasm":"mov byte [edi], al","bytes":"8807","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4200103,"val":21,"esil":"ebx,esi,+=,$o,of,=,$s,sf,=,$z,zf,=,$c31,cf,=,$p,pf,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"add esi, ebx","disasm":"add esi, ebx","bytes":"03f3","family":"cpu","type":"add","type_num":17,"type2_num":0,"comment":"ZWJ4IGlzIDE="},{"offset":4200105,"esil":"0,eax,eax,&,==,$z,zf,=,$p,pf,=,$s,sf,=,$0,cf,=,$0,of,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"test eax, eax","disasm":"test eax, eax","bytes":"85c0","family":"cpu","type":"acmp","type_num":16,"type2_num":0},{"offset":4200107,"esil":"zf,!,?{,4200083,eip,=,}","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"jne 0x401693","disasm":"jne 0x401693","bytes":"75e6","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4200083,"fail":4200109}]},{"offset":4200109,"size":6,"jump":4200078,"fail":4200115,"ops":[{"offset":4200109,"val":21,"esil":"ebx,ecx,+=,$o,of,=,$s,sf,=,$z,zf,=,$c31,cf,=,$p,pf,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"add ecx, ebx","disasm":"add ecx, ebx","bytes":"03cb","family":"cpu","type":"add","type_num":17,"type2_num":0,"comment":"ZWJ4IGlzIDE=","xrefs":[{"addr":4200094,"type":"CODE"}]},{"offset":4200111,"esil":"ebp,ecx,==,$z,zf,=,$b32,cf,=,$p,pf,=,$s,sf,=,$o,of,=","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"cmp ecx, ebp","disasm":"cmp ecx, ebp","bytes":"3bcd","family":"cpu","type":"cmp","type_num":15,"type2_num":0},{"offset":4200113,"esil":"zf,!,?{,4200078,eip,=,}","refptr":false,"fcn_addr":4200032,"fcn_last":4200122,"size":2,"opcode":"jne 0x40168e","disasm":"jne 0x40168e","bytes":"75db","family":"cpu","type":"cjmp","type_num":2147483649,"type2_num":0,"jump":4200078,"fail":4200115}]},{"offset":4200115,"size":9,"ops":[{"offset":4200115,"ptr":24,"esil":"0x18,esp,+,[4],eax,=","refptr":true,"fcn_addr":4200032,"fcn_last":4200120,"size":4,"opcode":"mov eax, dword [esp + 0x18]","disasm":"mov eax, dword [arg_18h]","bytes":"8b442418","family":"cpu","type":"mov","type_num":9,"type2_num":0},{"offset":4200119,"esil":"esp,[4],ebp,=,4,esp,+=","refptr":false,"fcn_addr":4200032,"fcn_last":4200123,"size":1,"opcode":"pop ebp","disasm":"pop ebp","bytes":"5d","family":"cpu","type":"pop","type_num":14,"type2_num":0},{"offset":4200120,"esil":"esp,[4],edi,=,4,esp,+=","refptr":false,"fcn_addr":4200032,"fcn_last":4200123,"size":1,"opcode":"pop edi","disasm":"pop edi","bytes":"5f","family":"cpu","type":"pop","type_num":14,"type2_num":0},{"offset":4200121,"esil":"esp,[4],esi,=,4,esp,+=","refptr":false,"fcn_addr":4200032,"fcn_last":4200123,"size":1,"opcode":"pop esi","disasm":"pop esi","bytes":"5e","family":"cpu","type":"pop","type_num":14,"type2_num":0},{"offset":4200122,"esil":"esp,[4],ebx,=,4,esp,+=","refptr":false,"fcn_addr":4200032,"fcn_last":4200123,"size":1,"opcode":"pop ebx","disasm":"pop ebx","bytes":"5b","family":"cpu","type":"pop","type_num":14,"type2_num":0},{"offset":4200123,"esil":"esp,[4],eip,=,4,esp,+=","refptr":false,"fcn_addr":4200032,"fcn_last":4200123,"size":1,"opcode":"ret","disasm":"ret","bytes":"c3","family":"cpu","type":"ret","type_num":5,"type2_num":0}]}]}],"isj":,"izj":}

Maybe replace 0xfffff with -1 ?

in cases like this, were there's no binary operation involved like AND , .. makes sense to convert them to -1

    while (eax == 0xffffffffffffffff) {

[x86] Support MMX

    __asm (xorps xmm0, xmm0);
    __asm (movaps xmmword [local_40h], xmm0);
    __asm (movaps xmmword [local_50h], xmm0);
    __asm (movaps xmmword [local_60h], xmm0);
    __asm (movaps xmmword [local_70h], xmm0);
    __asm (movaps xmmword [local_80h], xmm0);
    __asm (movaps xmmword [local_90h], xmm0);
    __asm (movaps xmmword [local_a0h], xmm0);
    __asm (movaps xmmword [local_b0h], xmm0);

[x86] if-else chain not correctly detected,

r2dec-regression (issue-10) has the json to reproduce the issue

    0x100001933  mov al, byte [rip + 0x3be7]  | al = *((int8_t*) 0x100005520);
    0x100001939  test al, al                  | 
                                              | if (al != 0) {
    0x10000193b  je 0x10000196a               | 
    0x10000193d  cmp dword [rip + 0x3ccc], 0  | 
                                              |     if (*((int32_t*) 0x100005610) == 0) {
    0x100001944  jne 0x10000197c              | 
    0x100001946  cmp dword [rip + 0x3d0f], 0  | 
                                              |         if (*((int32_t*) 0x10000565c) == 0) {
    0x10000194d  jne 0x10000198e              | 
    0x10000194f  cmp dword [rip + 0x3cc2], 0  | 
                                              |             if (*((int32_t*) 0x100005618) == 0) {
    0x100001956  jne 0x1000019a0              | 
                                              |                 /* func.100000f47 */
    0x100001958  lea rax, [rip - 0xa18]       |                 rax = func_100000f47;
    0x10000195f  jmp 0x1000019a7              | 
                                              |             }
                                              |             else {
                                              |                 /* func.100000f32 */
    0x100001961  lea rax, [rip - 0xa36]       |                 rax = func_100000f32;
    0x100001968  jmp 0x1000019a7              | 
                                              |                 /* func.100000f20 */
    0x10000196a  lea rax, [rip - 0xa51]       |                 rax = func_100000f20;
    0x100001971  jmp 0x1000019a7              | 
                                              |                 /* func.10000101f */
    0x100001973  lea rax, [rip - 0x95b]       |                 rax = func_10000101f;
    0x10000197a  jmp 0x1000019a7              | 
                                              |                 /* func.100000fda */
    0x10000197c  lea rax, [rip - 0x9a9]       |                 rax = func_100000fda;
    0x100001983  jmp 0x1000019a7              | 
                                              |                 /* func.1000010b2 */
    0x100001985  lea rax, [rip - 0x8da]       |                 rax = func_1000010b2;
    0x10000198c  jmp 0x1000019a7              | 
                                              |                 /* func.10000106d */
    0x10000198e  lea rax, [rip - 0x928]       |                 rax = func_10000106d;
    0x100001995  jmp 0x1000019a7              | 
                                              |                 /* func.1000011b2 */
    0x100001997  lea rax, [rip - 0x7ec]       |                 rax = func_1000011b2;
    0x10000199e  jmp 0x1000019a7              | 
                                              |                 /* func.10000116d */
    0x1000019a0  lea rax, [rip - 0x83a]       |                 rax = func_10000116d;
                                              |             }
                                              |         }
                                              |     }
                                              | }
    0x1000019a7  mov qword [rip + 0x3b7a], rax| *((int64_t*) 0x100005528) = rax;

Installation issues

when i try to install it spits out two errors
core_pdd.c: In function ‘r2dec_read_file’: core_pdd.c:33:33: error: ‘R2_HOMEDIR’ undeclared (first use in this function); did you mean ‘R2_HOME_BIN’? char *r2dec_home = r_str_home (R2_HOMEDIR R_SYS_DIR "r2pm" R_SYS_DIR "git" R_SYS_DIR "r2dec-js" R_SYS_DIR);
and
/usr/include/libr/r_types.h:188:19: error: expected ‘)’ before string constant #define R_SYS_DIR "/" any help ?

Mode string in fopen() call is not resolved

                                             |             /* const char *mode */
    0x080489d8  push 0x8049620               |
    0x080489dd  mov eax, dword [ebx + 4]     |             eax = *(ebx + 4);
                                             |             /* const char *filename */
    0x080489e0  push eax                     |
    0x080489e1  call 0x8048880               |             eax = fopen (eax, 0x8049620);

In visual mode, there is a comment showing 0x8049620 as "r", but the decompilation doesn't show this in the call.

Another issue is the /* const char *mode */ doesn't refer to anything meaningful, because the push instruction is converted to a call further down, although, it's less clear what the expected behavior is for that issue.

The binary used is https://github.com/petroav/CMU-assembly-challenge/blob/master/binary

Improvements in syntax

Ideally r2dec should output C-style code using the coding style of r2:

  • } else {
  • no empty lines
  • Simplify pointers with no delta *((int64_t*) rax) = 0; -> *rax=0
  • use ut64 instead of uint64_t and so on (? as an option)
  • no ennecessary return statements
  • != 0 is implicit, just if (eax)
  •  Implicit casts and pointer cleanup
                    rdi = *((int64_t*) rbx + 0x138);

because acording to the regprofile rbx is 64bit in size
must be.

               rdi = rbx[0x138];

screen shot 2018-04-11 at 23 30 18

a.json.zip

Define type once in the local variable instead of spaguetti

example taken from the readme

while (*((int32_t*) local_4h) > 0x8f) {
        if (*((int32_t*) local_4h) <= 0xf) {
            *((int32_t*) local_4h) += 0x50;
        }
        *((int32_t*) local_4h) += 0x10;
    }

must be:

int32_t local_4h;
while(local_4h > 0x8f) {
  if (local_4h <= 0xf) {
    local_4h += 0x50;
}
local_4h += 0x10;

Function parameters not being listed

I compiled a simple function that adds two numbers.

int add(int a, int b)
{
        return a + b;
}

The assembly listing recognizes the parameters.

[0x08000034]> pd | head
│           ;-- section..text:
│           ;-- segment_end.ehdr:
│           ;-- eip:
╭ (fcn) entry0 11
│   entry0 (int arg_8h, int arg_ch);
│           ; arg int arg_8h @ ebp+0x8
│           ; arg int arg_ch @ ebp+0xc
│           0x08000034      55             push ebp                    ; RELOC 32  ; [01] -r-x section size 11 named .text
│           0x08000035      89e5           mov ebp, esp
│           0x08000037      8b450c         mov eax, dword [arg_ch]     ; [0xc:4]=-1 ; 12
[0x08000034]> 

The decompilation does not list them in the parameter list, treating them as regular local variables.

int32_t entry0 () {
    /* [01] -r-x section size 11 named .text */
    eax = *(arg_ch);
    eax += *(arg_8h);
    return eax;
}

Ideally, the arguments could be placed in the parameter list like they are in the disassembly.

Output of pddi: https://clbin.com/cHsYZ

3-argument function is detected as two

This is nothing serious. The pseudo-C code for the syscall accept show only two arguments instead of three (the third, socklen, is specified in rdx). Here's the issue data from the main routine:
https://gist.github.com/rfc2119/26c1494d5eaccc92bbc766a185d21fe2

In the same context, the decompilation of the setup_socket has htons with 2 arguments instead of 1. Here's the issue data for the setup_socket function:
https://gist.github.com/rfc2119/e84855c9682db6be3dbbb2a547a4853c

Again it's nothing serious since I know already what to expect from a syscall

Empty else blocks

...
    }
    else {
    }

btw imho it will be better to have the else in the same line as }

Renaming variables

if i rename a variable in radare2 it dosn't carry into the plugin could you please make it carry over or at least add an option to manually rename it this could become a issue in large files

Handle for loops

for loops are easy to detect:

do {
    ops
    ops
    ops
    [...]
// can be here an if or a label, if there's one
// then there could be a for loop.
    add // incrementer
    sub // decrementer
} while(cond);

Edits goes only under controlflow.js. Probably is possible to only edit the while detection code in order to enhance it to support for logic.

the algorithm should be like for the while:

[...]
type is do-while
if jumps into do-while loop then type is while;
if between previous jump-label and while-jump there are math or calls ops that (no compare ops) then type is for-loop (with or without iterators, e.g. c++ iterators) 

Make curly brackets location configurable

Some programmers like their curly brackets (braces) on the same line with the statement, others like them on separated lines; please make this configurable.

Ex 1:

if (condition) {
  // ...
}

Ex 2:

if (condition)
{
  // ...
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.