LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_ps_s_find
bcore_btree_node_ps_s* bcore_btree_node_ps_s_find( bcore_btree_node_ps_s* root, bcore_btree_ps_key_t key )
{
    if( !root ) return NULL;
    bcore_btree_node_ps_s* node = NULL;
    while( root->child0 != BNUL_PS && root != node )
    {
        node = root;
        root = ( key < node->kv1.key )                                         ? node->child0 :
               ( !node->child2 && key > node->kv1.key )                        ? node->child1 :
               (  node->child2 && key > node->kv2.key )                        ? node->child2 :
               (  node->child2 && key > node->kv1.key && key < node->kv2.key ) ? node->child1 : node;
    }
    return root;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x122600
movq $0x0, -0x8(%rbp)
jmp 0x122714
movq $0x0, -0x20(%rbp)
movq -0x10(%rbp), %rcx
xorl %eax, %eax
leaq 0x912bb(%rip), %rdx     # 0x1b38d0
cmpq %rdx, 0x28(%rcx)
movb %al, -0x21(%rbp)
je 0x12262c
movq -0x10(%rbp), %rax
cmpq -0x20(%rbp), %rax
setne %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
testb $0x1, %al
jne 0x122638
jmp 0x12270c
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq (%rcx), %rax
jae 0x12265e
movq -0x20(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x1226ff
movq -0x20(%rbp), %rax
cmpq $0x0, 0x38(%rax)
jne 0x122684
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq (%rcx), %rax
jbe 0x122684
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, -0x38(%rbp)
jmp 0x1226f7
movq -0x20(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x1226ab
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jbe 0x1226ab
movq -0x20(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x1226ef
movq -0x20(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x1226df
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq (%rcx), %rax
jbe 0x1226df
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x1226df
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, -0x48(%rbp)
jmp 0x1226e7
movq -0x20(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x122608
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_ps_s_run
void bcore_btree_node_ps_s_run( const bcore_btree_node_ps_s* root, void(*func)( vd_t arg, bcore_btree_ps_key_t key, bcore_btree_ps_val_t val ), vd_t arg )
{
    if( !root ) return;
    if( !func ) return;
    if( root->child0 )
    {
        if( root->child0 != BNUL_PS ) bcore_btree_node_ps_s_run( root->child0, func, arg );
    }
    if( root->child1 )
    {
        func( arg, root->kv1.key, root->kv1.val );
        if( root->child1 != BNUL_PS ) bcore_btree_node_ps_s_run( root->child1, func, arg );
    }
    if( root->child2 )
    {
        func( arg, root->kv2.key, root->kv2.val );
        if( root->child2 != BNUL_PS ) bcore_btree_node_ps_s_run( root->child2, func, arg );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x122740
jmp 0x122818
cmpq $0x0, -0x10(%rbp)
jne 0x12274c
jmp 0x122818
movq -0x8(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x12277f
movq -0x8(%rbp), %rax
leaq 0x9116e(%rip), %rcx     # 0x1b38d0
cmpq %rcx, 0x28(%rax)
je 0x12277d
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x122720
jmp 0x12277f
movq -0x8(%rbp), %rax
cmpq $0x0, 0x30(%rax)
je 0x1227cb
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rcx
movq (%rcx), %rsi
movq -0x8(%rbp), %rcx
movq 0x8(%rcx), %rdx
callq *%rax
movq -0x8(%rbp), %rax
leaq 0x91122(%rip), %rcx     # 0x1b38d0
cmpq %rcx, 0x30(%rax)
je 0x1227c9
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x122720
jmp 0x1227cb
movq -0x8(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x122818
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rcx
movq 0x10(%rcx), %rsi
movq -0x8(%rbp), %rcx
movq 0x18(%rcx), %rdx
callq *%rax
movq -0x8(%rbp), %rax
leaq 0x910d5(%rip), %rcx     # 0x1b38d0
cmpq %rcx, 0x38(%rax)
je 0x122816
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x122720
jmp 0x122818
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_ps_s_count
uz_t bcore_btree_node_ps_s_count( const bcore_btree_node_ps_s* root, bl_t (*func)( vd_t arg, bcore_btree_ps_key_t key, bcore_btree_ps_val_t val ), vd_t arg )
{
    uz_t count = 0;
    if( !root ) return count;
    if( root->child0 )
    {
        if( root->child0 != BNUL_PS ) count += bcore_btree_node_ps_s_count( root->child0, func, arg );
    }
    if( root->child1 )
    {
        count += ( func ) ? func( arg, root->kv1.key, root->kv1.val ) : 1;
        if( root->child1 != BNUL_PS ) count += bcore_btree_node_ps_s_count( root->child1, func, arg );
    }
    if( root->child2 )
    {
        count += ( func ) ? func( arg, root->kv2.key, root->kv2.val ) : 1;
        if( root->child2 != BNUL_PS ) count += bcore_btree_node_ps_s_count( root->child2, func, arg );
    }
    return count;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x122850
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x12298c
movq -0x10(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x12288b
movq -0x10(%rbp), %rax
leaq 0x9106a(%rip), %rcx     # 0x1b38d0
cmpq %rcx, 0x28(%rax)
je 0x122889
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x122820
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x12288b
movq -0x10(%rbp), %rax
cmpq $0x0, 0x30(%rax)
je 0x122907
cmpq $0x0, -0x18(%rbp)
je 0x1228c0
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rcx
movq (%rcx), %rsi
movq -0x10(%rbp), %rcx
movq 0x8(%rcx), %rdx
callq *%rax
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x2c(%rbp)
jmp 0x1228ca
movl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x1228ca
movl -0x2c(%rbp), %eax
cltq
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
leaq 0x90fee(%rip), %rcx     # 0x1b38d0
cmpq %rcx, 0x30(%rax)
je 0x122905
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x122820
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x122907
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x122984
cmpq $0x0, -0x18(%rbp)
je 0x12293d
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rsi
movq -0x10(%rbp), %rcx
movq 0x18(%rcx), %rdx
callq *%rax
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x30(%rbp)
jmp 0x122947
movl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x122947
movl -0x30(%rbp), %eax
cltq
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
leaq 0x90f71(%rip), %rcx     # 0x1b38d0
cmpq %rcx, 0x38(%rax)
je 0x122982
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x122820
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x122984
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_ps_s_keys
uz_t bcore_btree_node_ps_s_keys( bcore_btree_node_ps_s* root )
{
    if( !root || root == BNUL_PS ) return 0;
    uz_t keys = root->child2 ? 2 : 1;
    keys += bcore_btree_node_ps_s_keys( root->child0 );
    keys += bcore_btree_node_ps_s_keys( root->child1 );
    if( root->child2 ) keys += bcore_btree_node_ps_s_keys( root->child2 );
    return keys;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x122b70
leaq 0x90d66(%rip), %rax     # 0x1b38d0
cmpq %rax, -0x10(%rbp)
jne 0x122b7a
movq $0x0, -0x8(%rbp)
jmp 0x122beb
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rdx
movl $0x1, %eax
movl $0x2, %ecx
cmpq $0x0, %rdx
cmovnel %ecx, %eax
cltq
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x122b50
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x122b50
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x122be3
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rdi
callq 0x122b50
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_ps_s_create
bcore_btree_ps_s* bcore_btree_ps_s_create( vd_t (*alloc)( vd_t, uz_t size ) )
{
    bcore_btree_ps_s* o = NULL;
    if( alloc )
    {
        o = alloc( NULL, sizeof( bcore_btree_ps_s ) );
        o->alloc = alloc;
    }
    else
    {
        o = bcore_alloc( NULL, sizeof( bcore_btree_ps_s ) );
        o->alloc = bcore_alloc;
    }
    o->root      = NULL;
    o->chain_beg = NULL;
    o->chain_end = NULL;
    o->chain_ins = NULL;
    o->del_chain = NULL;
    o->block_size = 1024;
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x123549
xorl %eax, %eax
movl %eax, %edi
movl $0x38, %esi
callq *-0x8(%rbp)
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x28(%rax)
jmp 0x12356a
xorl %eax, %eax
movl %eax, %edi
movl $0x38, %esi
callq 0x9d210
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
leaq -0x86356(%rip), %rcx    # 0x9d210
movq %rcx, 0x28(%rax)
movq -0x10(%rbp), %rax
movq $0x0, (%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x18(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x20(%rax)
movq -0x10(%rbp), %rax
movq $0x400, 0x30(%rax)      # imm = 0x400
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_ps_s_discard
void bcore_btree_ps_s_discard( bcore_btree_ps_s* o )
{
    o->root = NULL;

    bcore_btree_node_ps_s* chain_beg = o->chain_beg;
    while( chain_beg )
    {
        bcore_btree_node_ps_s* new_beg = *( bcore_btree_node_ps_s** )( chain_beg + o->block_size );
        o->alloc( chain_beg, 0 );
        chain_beg = new_beg;
    }

    o->alloc( o, 0 );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq $0x0, (%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x123620
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x30(%rcx), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x10(%rbp), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
callq *%rax
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x1235e3
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x8(%rbp), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
callq *%rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_ps_s_new_node
bcore_btree_node_ps_s* bcore_btree_ps_s_new_node( bcore_btree_ps_s* o )
{
    if( o->del_chain )
    {
        bcore_btree_node_ps_s* new_node = o->del_chain;
        o->del_chain = new_node->parent;
        bcore_btree_node_ps_s_init( new_node );
        return new_node;
    }
    else
    {
        if( o->chain_ins == o->chain_end )
        {
            bcore_btree_node_ps_s* new_ptr = o->alloc( NULL, o->block_size * sizeof( bcore_btree_node_ps_s ) + sizeof( bcore_btree_node_ps_s* ) );
            if( !o->chain_beg )
            {
                o->chain_beg = new_ptr;
            }
            else
            {
                ( ( bcore_btree_node_ps_s** )( o->chain_end ) )[ 0 ] = new_ptr;
            }
            o->chain_ins = new_ptr;
            o->chain_end = new_ptr + o->block_size;
            *( bcore_btree_node_ps_s** )( o->chain_end ) = NULL;
        }
        bcore_btree_node_ps_s* new_node = o->chain_ins;
        bcore_btree_node_ps_s_init( new_node );
        o->chain_ins++;
        return new_node;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x123689
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x18(%rbp), %rdi
callq 0x122580
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x12374c
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jne 0x12371f
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x30(%rcx), %rsi
shlq $0x6, %rsi
addq $0x8, %rsi
xorl %ecx, %ecx
movl %ecx, %edi
callq *%rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x1236da
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0x1236e9
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rax
shlq $0x6, %rax
addq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq $0x0, (%rax)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x122580
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rcx
addq $0x40, %rcx
movq %rcx, 0x18(%rax)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_ps_s_val
bcore_btree_ps_val_t* bcore_btree_ps_s_val( const bcore_btree_ps_s* o, bcore_btree_ps_key_t key )
{
    if( !o )    return NULL;
    bcore_btree_node_ps_s* node = bcore_btree_node_ps_s_find( o->root, key );
    if( !node ) return NULL;
    if( node->kv1.key == key ) return &node->kv1.val;
    if( node->child2 && node->kv2.key == key ) return &node->kv2.val;
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x124121
movq $0x0, -0x8(%rbp)
jmp 0x124194
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x1225e0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x124146
movq $0x0, -0x8(%rbp)
jmp 0x124194
movq -0x20(%rbp), %rax
movq (%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0x124161
movq -0x20(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
jmp 0x124194
movq -0x20(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x12418c
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0x12418c
movq -0x20(%rbp), %rax
addq $0x10, %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
jmp 0x124194
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_ps_s_set
int bcore_btree_ps_s_set( bcore_btree_ps_s* o, bcore_btree_ps_key_t key, bcore_btree_ps_val_t val )
{
    if( !o ) return -2;
    if( !o->root )
    {
        o->root = bcore_btree_ps_s_new_node( o );
        o->root->child0 = o->root->child1 = BNUL_PS;
        o->root->child2 = NULL;
        o->root->kv1.key = key;
        o->root->kv1.val = val;
        return 1;
    }

    bcore_btree_node_ps_s* node = bcore_btree_node_ps_s_find( o->root, key );
    if( !node ) return -2;

    if( node->kv1.key == key )
    {
        if( node->kv1.val == val ) return 0;
        node->kv1.val = val;
        return -1;
    }
    else if( node->child2 && node->kv2.key == key )
    {
        if( node->kv2.val == val ) return 0;
        node->kv2.val = val;
        return -1;
    }
    else
    {
        bcore_btree_ps_kv_s kv = { key, val };
        bcore_btree_ps_s_push( o, node, &kv, BNUL_PS, BNUL_PS );
        return 1;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x1241c7
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0x12431a
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x124240
movq -0x10(%rbp), %rdi
callq 0x123640
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq (%rax), %rax
leaq 0x8f6de(%rip), %rcx     # 0x1b38d0
movq %rcx, 0x30(%rax)
movq -0x10(%rbp), %rax
movq (%rax), %rax
leaq 0x8f6cc(%rip), %rcx     # 0x1b38d0
movq %rcx, 0x28(%rax)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq $0x0, 0x38(%rax)
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rcx, 0x8(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x12431a
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x1225e0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x124267
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0x12431a
movq -0x28(%rbp), %rax
movq (%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0x1242a3
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rax
cmpq -0x20(%rbp), %rax
jne 0x12428e
movl $0x0, -0x4(%rbp)
jmp 0x12431a
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x12431a
movq -0x28(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x1242e8
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0x1242e8
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rax
cmpq -0x20(%rbp), %rax
jne 0x1242d3
movl $0x0, -0x4(%rbp)
jmp 0x12431a
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x18(%rax)
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x12431a
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
leaq -0x38(%rbp), %rdx
leaq 0x8f5c5(%rip), %r8      # 0x1b38d0
movq %r8, %rcx
callq 0x1237b0
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_ps_s_show
st_s* bcore_btree_ps_s_show( bcore_btree_ps_s* o )
{
    bcore_btree_node_ps_s_check_consistency( o->root );
    st_s* s = bcore_btree_node_ps_s_show( o->root, 0 );
    st_s_pushf( s, "\n" );
    return s;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x122d80
movq -0x8(%rbp), %rax
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x123330
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x2e29a(%rip), %rsi     # 0x152a21
movb $0x0, %al
callq 0x100120
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_pp_s_find
bcore_btree_node_pp_s* bcore_btree_node_pp_s_find( bcore_btree_node_pp_s* root, bcore_btree_pp_key_t key )
{
    if( !root ) return NULL;
    bcore_btree_node_pp_s* node = NULL;
    while( root->child0 != BNUL_PP && root != node )
    {
        node = root;
        root = ( key < node->kv1.key )                                         ? node->child0 :
               ( !node->child2 && key > node->kv1.key )                        ? node->child1 :
               (  node->child2 && key > node->kv2.key )                        ? node->child2 :
               (  node->child2 && key > node->kv1.key && key < node->kv2.key ) ? node->child1 : node;
    }
    return root;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x124a80
movq $0x0, -0x8(%rbp)
jmp 0x124b94
movq $0x0, -0x20(%rbp)
movq -0x10(%rbp), %rcx
xorl %eax, %eax
leaq 0x8ee7b(%rip), %rdx     # 0x1b3910
cmpq %rdx, 0x28(%rcx)
movb %al, -0x21(%rbp)
je 0x124aac
movq -0x10(%rbp), %rax
cmpq -0x20(%rbp), %rax
setne %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
testb $0x1, %al
jne 0x124ab8
jmp 0x124b8c
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq (%rcx), %rax
jae 0x124ade
movq -0x20(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x124b7f
movq -0x20(%rbp), %rax
cmpq $0x0, 0x38(%rax)
jne 0x124b04
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq (%rcx), %rax
jbe 0x124b04
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, -0x38(%rbp)
jmp 0x124b77
movq -0x20(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x124b2b
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jbe 0x124b2b
movq -0x20(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x124b6f
movq -0x20(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x124b5f
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq (%rcx), %rax
jbe 0x124b5f
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x124b5f
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, -0x48(%rbp)
jmp 0x124b67
movq -0x20(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x124a88
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_pp_s_largest_below_equal
bcore_btree_pp_kv_s* bcore_btree_node_pp_s_largest_below_equal( bcore_btree_node_pp_s* root, bcore_btree_pp_key_t key )
{
    if( !root ) return NULL;
    if( root->child0 == BNUL_PP )
    {
        if( ( root->child2 ) && key >= root->kv2.key ) return &root->kv2;
        return ( key >= root->kv1.key ) ? &root->kv1 : NULL;
    }
    else if( ( root->child2 ) && key >= root->kv2.key )
    {
        bcore_btree_pp_kv_s* branch_kv = bcore_btree_node_pp_s_largest_below_equal( root->child2, key );
        return ( branch_kv ) ? branch_kv : &root->kv2;
    }
    else if( key >= root->kv1.key )
    {
        bcore_btree_pp_kv_s* branch_kv = bcore_btree_node_pp_s_largest_below_equal( root->child1, key );
        return ( branch_kv ) ? branch_kv : &root->kv1;
    }
    else
    {
        return bcore_btree_node_pp_s_largest_below_equal( root->child0, key );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x124bc4
movq $0x0, -0x8(%rbp)
jmp 0x124cda
movq -0x10(%rbp), %rax
leaq 0x8ed41(%rip), %rcx     # 0x1b3910
cmpq %rcx, 0x28(%rax)
jne 0x124c2b
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x124bff
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jb 0x124bff
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x8(%rbp)
jmp 0x124cda
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq (%rcx), %rax
jb 0x124c16
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x124c1e
xorl %eax, %eax
movq %rax, -0x30(%rbp)
jmp 0x124c1e
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x124cda
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x124c80
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jb 0x124c80
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x124ba0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x124c6a
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x124c76
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x124cda
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq (%rcx), %rax
jb 0x124cc5
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x124ba0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x124cb3
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x124cbb
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x124cda
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x124ba0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_pp_s_run
void bcore_btree_node_pp_s_run( const bcore_btree_node_pp_s* root, void(*func)( vd_t arg, bcore_btree_pp_kv_s kv ), vd_t arg )
{
    if( !root ) return;
    if( !func ) return;
    if( root->child0 )
    {
        if( root->child0 != BNUL_PP ) bcore_btree_node_pp_s_run( root->child0, func, arg );
    }
    if( root->child1 )
    {
        func( arg, root->kv1 );
        if( root->child1 != BNUL_PP ) bcore_btree_node_pp_s_run( root->child1, func, arg );
    }
    if( root->child2 )
    {
        func( arg, root->kv2 );
        if( root->child2 != BNUL_PP ) bcore_btree_node_pp_s_run( root->child2, func, arg );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x124d10
jmp 0x124de0
cmpq $0x0, -0x10(%rbp)
jne 0x124d1c
jmp 0x124de0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x124d4f
movq -0x8(%rbp), %rax
leaq 0x8ebde(%rip), %rcx     # 0x1b3910
cmpq %rcx, 0x28(%rax)
je 0x124d4d
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x124cf0
jmp 0x124d4f
movq -0x8(%rbp), %rax
cmpq $0x0, 0x30(%rax)
je 0x124d97
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rcx
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
callq *%rax
movq -0x8(%rbp), %rax
leaq 0x8eb96(%rip), %rcx     # 0x1b3910
cmpq %rcx, 0x30(%rax)
je 0x124d95
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x124cf0
jmp 0x124d97
movq -0x8(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x124de0
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rcx
movq 0x10(%rcx), %rsi
movq 0x18(%rcx), %rdx
callq *%rax
movq -0x8(%rbp), %rax
leaq 0x8eb4d(%rip), %rcx     # 0x1b3910
cmpq %rcx, 0x38(%rax)
je 0x124dde
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x124cf0
jmp 0x124de0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_pp_s_count
uz_t bcore_btree_node_pp_s_count( const bcore_btree_node_pp_s* root, bl_t (*func)( vd_t arg, bcore_btree_pp_kv_s kv ), vd_t arg )
{
    uz_t count = 0;
    if( !root ) return count;
    if( root->child0 )
    {
        if( root->child0 != BNUL_PP ) count += bcore_btree_node_pp_s_count( root->child0, func, arg );
    }
    if( root->child1 )
    {
        count += ( func ) ? func( arg, root->kv1 ) : 1;
        if( root->child1 != BNUL_PP ) count += bcore_btree_node_pp_s_count( root->child1, func, arg );
    }
    if( root->child2 )
    {
        count += ( func ) ? func( arg, root->kv2 ) : 1;
        if( root->child2 != BNUL_PP ) count += bcore_btree_node_pp_s_count( root->child2, func, arg );
    }
    return count;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x124e20
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x124f54
movq -0x10(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x124e5b
movq -0x10(%rbp), %rax
leaq 0x8eada(%rip), %rcx     # 0x1b3910
cmpq %rcx, 0x28(%rax)
je 0x124e59
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x124df0
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x124e5b
movq -0x10(%rbp), %rax
cmpq $0x0, 0x30(%rax)
je 0x124ed3
cmpq $0x0, -0x18(%rbp)
je 0x124e8c
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rcx
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
callq *%rax
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x2c(%rbp)
jmp 0x124e96
movl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x124e96
movl -0x2c(%rbp), %eax
cltq
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
leaq 0x8ea62(%rip), %rcx     # 0x1b3910
cmpq %rcx, 0x30(%rax)
je 0x124ed1
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x124df0
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x124ed3
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x124f4c
cmpq $0x0, -0x18(%rbp)
je 0x124f05
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rsi
movq 0x18(%rcx), %rdx
callq *%rax
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x30(%rbp)
jmp 0x124f0f
movl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x124f0f
movl -0x30(%rbp), %eax
cltq
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
leaq 0x8e9e9(%rip), %rcx     # 0x1b3910
cmpq %rcx, 0x38(%rax)
je 0x124f4a
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x124df0
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x124f4c
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_pp_s_keys
uz_t bcore_btree_node_pp_s_keys( bcore_btree_node_pp_s* root )
{
    if( !root || root == BNUL_PP ) return 0;
    uz_t keys = root->child2 ? 2 : 1;
    keys += bcore_btree_node_pp_s_keys( root->child0 );
    keys += bcore_btree_node_pp_s_keys( root->child1 );
    if( root->child2 ) keys += bcore_btree_node_pp_s_keys( root->child2 );
    return keys;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x124f80
leaq 0x8e996(%rip), %rax     # 0x1b3910
cmpq %rax, -0x10(%rbp)
jne 0x124f8a
movq $0x0, -0x8(%rbp)
jmp 0x124ffb
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rdx
movl $0x1, %eax
movl $0x2, %ecx
cmpq $0x0, %rdx
cmovnel %ecx, %eax
cltq
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x124f60
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x124f60
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x124ff3
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rdi
callq 0x124f60
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_pp_s_discard
void bcore_btree_pp_s_discard( bcore_btree_pp_s* o )
{
    o->root = NULL;

    bcore_btree_node_pp_s* chain_beg = o->chain_beg;
    while( chain_beg )
    {
        bcore_btree_node_pp_s* new_beg = *( bcore_btree_node_pp_s** )( chain_beg + o->block_size );
        o->alloc( chain_beg, 0 );
        chain_beg = new_beg;
    }

    o->alloc( o, 0 );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq $0x0, (%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x125a30
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x30(%rcx), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x10(%rbp), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
callq *%rax
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x1259f3
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x8(%rbp), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
callq *%rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_pp_s_new_node
bcore_btree_node_pp_s* bcore_btree_pp_s_new_node( bcore_btree_pp_s* o )
{
    if( o->del_chain )
    {
        bcore_btree_node_pp_s* new_node = o->del_chain;
        o->del_chain = new_node->parent;
        bcore_btree_node_pp_s_init( new_node );
        return new_node;
    }
    else
    {
        if( o->chain_ins == o->chain_end )
        {
            bcore_btree_node_pp_s* new_ptr = o->alloc( NULL, o->block_size * sizeof( bcore_btree_node_pp_s ) + sizeof( bcore_btree_node_pp_s* ) );
            if( !o->chain_beg )
            {
                o->chain_beg = new_ptr;
            }
            else
            {
                ( ( bcore_btree_node_pp_s** )( o->chain_end ) )[ 0 ] = new_ptr;
            }
            o->chain_ins = new_ptr;
            o->chain_end = new_ptr + o->block_size;
            *( bcore_btree_node_pp_s** )( o->chain_end ) = NULL;
        }
        bcore_btree_node_pp_s* new_node = o->chain_ins;
        bcore_btree_node_pp_s_init( new_node );
        o->chain_ins++;
        return new_node;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x125a99
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x18(%rbp), %rdi
callq 0x124a00
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x125b5c
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jne 0x125b2f
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x30(%rcx), %rsi
shlq $0x6, %rsi
addq $0x8, %rsi
xorl %ecx, %ecx
movl %ecx, %edi
callq *%rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x125aea
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0x125af9
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rax
shlq $0x6, %rax
addq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq $0x0, (%rax)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x124a00
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rcx
addq $0x40, %rcx
movq %rcx, 0x18(%rax)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_pp_s_exists
bl_t bcore_btree_pp_s_exists( const bcore_btree_pp_s* o, bcore_btree_pp_key_t key )
{
    if( !o ) return false;
    bcore_btree_node_pp_s* node = bcore_btree_node_pp_s_find( o->root, key );
    if( !node ) return false;
    if( node->kv1.key == key ) return true;
    if( node->child2 && node->kv2.key == key ) return true;
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x12652d
movb $0x0, -0x1(%rbp)
jmp 0x126584
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x124a60
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x12654e
movb $0x0, -0x1(%rbp)
jmp 0x126584
movq -0x20(%rbp), %rax
movq (%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0x126561
movb $0x1, -0x1(%rbp)
jmp 0x126584
movq -0x20(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x126580
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0x126580
movb $0x1, -0x1(%rbp)
jmp 0x126584
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_pp_s_val
bcore_btree_pp_val_t* bcore_btree_pp_s_val( const bcore_btree_pp_s* o, bcore_btree_pp_key_t key )
{
    if( !o )    return NULL;
    bcore_btree_node_pp_s* node = bcore_btree_node_pp_s_find( o->root, key );
    if( !node ) return NULL;
    if( node->kv1.key == key ) return &node->kv1.val;
    if( node->child2 && node->kv2.key == key ) return &node->kv2.val;
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x1265e1
movq $0x0, -0x8(%rbp)
jmp 0x126654
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x124a60
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x126606
movq $0x0, -0x8(%rbp)
jmp 0x126654
movq -0x20(%rbp), %rax
movq (%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0x126621
movq -0x20(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
jmp 0x126654
movq -0x20(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x12664c
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0x12664c
movq -0x20(%rbp), %rax
addq $0x10, %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
jmp 0x126654
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_pp_s_set
int bcore_btree_pp_s_set( bcore_btree_pp_s* o, bcore_btree_pp_key_t key, bcore_btree_pp_val_t val )
{
    if( !o ) return -2;
    if( !o->root )
    {
        o->root = bcore_btree_pp_s_new_node( o );
        o->root->child0 = o->root->child1 = BNUL_PP;
        o->root->child2 = NULL;
        o->root->kv1.key = key;
        o->root->kv1.val = val;
        return 1;
    }

    bcore_btree_node_pp_s* node = bcore_btree_node_pp_s_find( o->root, key );
    if( !node ) return -2;

    if( node->kv1.key == key )
    {
        if( node->kv1.val == val ) return 0;
        node->kv1.val = val;
        return -1;
    }
    else if( node->child2 && node->kv2.key == key )
    {
        if( node->kv2.val == val ) return 0;
        node->kv2.val = val;
        return -1;
    }
    else
    {
        bcore_btree_pp_kv_s kv = { key, val };
        bcore_btree_pp_s_push( o, node, &kv, BNUL_PP, BNUL_PP );
        return 1;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x126687
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0x1267da
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x126700
movq -0x10(%rbp), %rdi
callq 0x125a50
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq (%rax), %rax
leaq 0x8d25e(%rip), %rcx     # 0x1b3910
movq %rcx, 0x30(%rax)
movq -0x10(%rbp), %rax
movq (%rax), %rax
leaq 0x8d24c(%rip), %rcx     # 0x1b3910
movq %rcx, 0x28(%rax)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq $0x0, 0x38(%rax)
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rcx, 0x8(%rax)
movl $0x1, -0x4(%rbp)
jmp 0x1267da
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x124a60
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x126727
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0x1267da
movq -0x28(%rbp), %rax
movq (%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0x126763
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rax
cmpq -0x20(%rbp), %rax
jne 0x12674e
movl $0x0, -0x4(%rbp)
jmp 0x1267da
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x8(%rax)
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1267da
movq -0x28(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x1267a8
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0x1267a8
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rax
cmpq -0x20(%rbp), %rax
jne 0x126793
movl $0x0, -0x4(%rbp)
jmp 0x1267da
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x18(%rax)
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1267da
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
leaq -0x38(%rbp), %rdx
leaq 0x8d145(%rip), %r8      # 0x1b3910
movq %r8, %rcx
callq 0x125bc0
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_pp_s_show
st_s* bcore_btree_pp_s_show( bcore_btree_pp_s* o )
{
    bcore_btree_node_pp_s_check_consistency( o->root );
    st_s* s = bcore_btree_node_pp_s_show( o->root, 0 );
    st_s_pushf( s, "\n" );
    return s;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x125190
movq -0x8(%rbp), %rax
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x125740
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x2be0a(%rip), %rsi     # 0x152a21
movb $0x0, %al
callq 0x100120
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_vd_s_find
bcore_btree_node_vd_s* bcore_btree_node_vd_s_find( bcore_btree_node_vd_s* root, bcore_btree_vd_key_t key )
{
    if( !root ) return NULL;
    bcore_btree_node_vd_s* node = NULL;
    while( root->child0 != BNUL_VP && root != node )
    {
        node = root;
        root = ( key < node->kv1.key )                                         ? node->child0 :
               ( !node->child2 && key > node->kv1.key )                        ? node->child1 :
               (  node->child2 && key > node->kv2.key )                        ? node->child2 :
               (  node->child2 && key > node->kv1.key && key < node->kv2.key ) ? node->child1 : node;
    }
    return root;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x126f00
movq $0x0, -0x8(%rbp)
jmp 0x127014
movq $0x0, -0x20(%rbp)
movq -0x10(%rbp), %rcx
xorl %eax, %eax
leaq 0x8ca3b(%rip), %rdx     # 0x1b3950
cmpq %rdx, 0x18(%rcx)
movb %al, -0x21(%rbp)
je 0x126f2c
movq -0x10(%rbp), %rax
cmpq -0x20(%rbp), %rax
setne %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
testb $0x1, %al
jne 0x126f38
jmp 0x12700c
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq (%rcx), %rax
jae 0x126f5e
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x126fff
movq -0x20(%rbp), %rax
cmpq $0x0, 0x28(%rax)
jne 0x126f84
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq (%rcx), %rax
jbe 0x126f84
movq -0x20(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x38(%rbp)
jmp 0x126ff7
movq -0x20(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x126fab
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jbe 0x126fab
movq -0x20(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x126fef
movq -0x20(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x126fdf
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq (%rcx), %rax
jbe 0x126fdf
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jae 0x126fdf
movq -0x20(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x48(%rbp)
jmp 0x126fe7
movq -0x20(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x126f08
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_vd_s_largest_below_equal
bcore_btree_vd_key_t bcore_btree_node_vd_s_largest_below_equal( bcore_btree_node_vd_s* root, bcore_btree_vd_key_t key )
{
    if( !root ) return 0;
    if( root->child0 == BNUL_VP )
    {
        if( ( root->child2 ) && key >= root->kv2.key ) return root->kv2.key;
        return ( key >= root->kv1.key ) ? root->kv1.key : 0;
    }
    else if( ( root->child2 ) && key >= root->kv2.key )
    {
        bcore_btree_vd_key_t branch_key = bcore_btree_node_vd_s_largest_below_equal( root->child2, key );
        return ( branch_key >= root->kv2.key ) ? branch_key : root->kv2.key;
    }
    else if( key >= root->kv1.key )
    {
        bcore_btree_vd_key_t branch_key = bcore_btree_node_vd_s_largest_below_equal( root->child1, key );
        return ( branch_key >= root->kv1.key ) ? branch_key : root->kv1.key;
    }
    else
    {
        return bcore_btree_node_vd_s_largest_below_equal( root->child0, key );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x127044
movq $0x0, -0x8(%rbp)
jmp 0x12716d
movq -0x10(%rbp), %rax
leaq 0x8c901(%rip), %rcx     # 0x1b3950
cmpq %rcx, 0x18(%rax)
jne 0x1270ae
movq -0x10(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x12707f
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jb 0x12707f
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x8(%rbp)
jmp 0x12716d
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq (%rcx), %rax
jb 0x127099
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x1270a1
xorl %eax, %eax
movq %rax, -0x30(%rbp)
jmp 0x1270a1
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x12716d
movq -0x10(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x12710a
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jb 0x12710a
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x127020
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jb 0x1270f4
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x127100
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x12716d
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq (%rcx), %rax
jb 0x127158
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x127020
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq (%rcx), %rax
jb 0x127143
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
jmp 0x12714e
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x12716d
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x127020
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_vd_s_run
void bcore_btree_node_vd_s_run( const bcore_btree_node_vd_s* root, void(*func)( vd_t arg, bcore_btree_vd_key_t key ), vd_t arg )
{
    if( !root ) return;
    if( !func ) return;
    if( root->child0 )
    {
        if( root->child0 != BNUL_VP ) bcore_btree_node_vd_s_run( root->child0, func, arg );
    }
    if( root->child1 )
    {
        func( arg, root->kv1.key );
        if( root->child1 != BNUL_VP ) bcore_btree_node_vd_s_run( root->child1, func, arg );
    }
    if( root->child2 )
    {
        func( arg, root->kv2.key );
        if( root->child2 != BNUL_VP ) bcore_btree_node_vd_s_run( root->child2, func, arg );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x1271a0
jmp 0x127268
cmpq $0x0, -0x10(%rbp)
jne 0x1271ac
jmp 0x127268
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x1271df
movq -0x8(%rbp), %rax
leaq 0x8c78e(%rip), %rcx     # 0x1b3950
cmpq %rcx, 0x18(%rax)
je 0x1271dd
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x127180
jmp 0x1271df
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x127223
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rcx
movq (%rcx), %rsi
callq *%rax
movq -0x8(%rbp), %rax
leaq 0x8c74a(%rip), %rcx     # 0x1b3950
cmpq %rcx, 0x20(%rax)
je 0x127221
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x127180
jmp 0x127223
movq -0x8(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x127268
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
movq -0x8(%rbp), %rax
leaq 0x8c705(%rip), %rcx     # 0x1b3950
cmpq %rcx, 0x28(%rax)
je 0x127266
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x127180
jmp 0x127268
addq $0x20, %rsp
popq %rbp
retq
nop