LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_assess_indentation
sz_t xoico_che_s_assess_indentation( x_source* source )
{
    // xoico_che.x:2148:1
    
    sz_t index = x_source_get_index(source);
    while( !x_source_eos(source) ) if( x_source_get_char(source) == '\n' ) break;
    sz_t indentation = 0;
    while( !x_source_eos(source) )
    {
        if( x_source_get_char(source) != ' ' ) break;
        indentation++;
    }
    x_source_set_index(source,index );
    return  indentation;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0xae60
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x6730
xorb $-0x1, %al
testb $0x1, %al
jne 0x2d18a
jmp 0x2d19f
movq -0x8(%rbp), %rdi
callq 0xa490
movsbl %al, %eax
cmpl $0xa, %eax
jne 0x2d19d
jmp 0x2d19f
jmp 0x2d179
movq $0x0, -0x18(%rbp)
movq -0x8(%rbp), %rdi
callq 0x6730
xorb $-0x1, %al
testb $0x1, %al
jne 0x2d1b8
jmp 0x2d1d9
movq -0x8(%rbp), %rdi
callq 0xa490
movsbl %al, %eax
cmpl $0x20, %eax
je 0x2d1cb
jmp 0x2d1d9
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x2d1a7
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xaf60
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_remove_indentation
void xoico_che_s_remove_indentation( st_s* string, sz_t indentation )
{
    // xoico_che.x:2164:1
    
    ASSERT( string->space >= string->size );
    
    sz_t j = 0;
    for(sz_t i = 0; i < string->size; i++ )
    {
        char c = string->data[ i ];
        string->data[ j++ ] = c;
        if( c == '\n' )
        {
            for(sz_t k = 0; k < indentation; k++ )
            {
                if( string->data[ i + 1 ] != ' ' ) break;
                i++;
            }
        }
    }
    
    string->data[ j ] = 0;
    string->size = j;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x2d23b
leaq 0x106786(%rip), %rdi    # 0x13399f
leaq 0x10a0fc(%rip), %rsi    # 0x13731c
leaq 0x10a113(%rip), %rdx    # 0x13733a
leaq 0x1063ba(%rip), %rcx    # 0x1335e8
movl $0x1fcd, %r8d           # imm = 0x1FCD
movb $0x0, %al
callq 0x9cea0
movq $0x0, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x2d2ee
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x20(%rbp), %rcx
movb (%rax,%rcx), %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %dl
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, -0x18(%rbp)
movb %dl, (%rax,%rcx)
movsbl -0x21(%rbp), %eax
cmpl $0xa, %eax
jne 0x2d2db
movq $0x0, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x10(%rbp), %rax
jge 0x2d2d9
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x20(%rbp), %rcx
movsbl 0x1(%rax,%rcx), %eax
cmpl $0x20, %eax
je 0x2d2bf
jmp 0x2d2d9
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
jmp 0x2d29d
jmp 0x2d2db
jmp 0x2d2dd
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x2d24b
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
addq $0x30, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_arr_s_get_cast
bl_t xoico_che_result_arr_s_get_cast( xoico_che_result_arr_s* o, xoico_che_result_cast_s** pp_cast )
{
    // xoico_che_result.x:100:5
    
    {const xoico_che_result_adl_s* __a=&(o->adl );if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_che_result* e=__a->data[__i]; if( e->_ != ((tp_t)(TYPEOF_xoico_che_result_whitespace_s)) ) return  xoico_che_result_a_get_cast(e,pp_cast );
    }}if( pp_cast ) (*(pp_cast)) = NULL;
    return  false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x360e6
movq $0x0, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x360e4
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movabsq $0x27fe32c721a96926, %rcx # imm = 0x27FE32C721A96926
cmpq %rcx, (%rax)
je 0x360d4
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x36110
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x360fc
jmp 0x360d6
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x3608b
jmp 0x360e6
cmpq $0x0, -0x18(%rbp)
je 0x360f8
movq -0x18(%rbp), %rax
movq $0x0, (%rax)
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_block_s_is_using_blm_until_level
bl_t xoico_che_result_block_s_is_using_blm_until_level( const xoico_che_result_block_s* o, sz_t level )
{
    // xoico_che_result.x:137:5
    
    if( level > o->level ) return  false;
    if( o->is_using_blm )  return  true;
    if( o->is_root )       return  false;
    
    ASSERT( o->parent );
    return  xoico_che_result_block_s_is_using_blm_until_level(o->parent,level );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jle 0x36314
movb $0x0, -0x1(%rbp)
jmp 0x3637e
movq -0x10(%rbp), %rax
testb $0x1, 0x10(%rax)
je 0x36324
movb $0x1, -0x1(%rbp)
jmp 0x3637e
movq -0x10(%rbp), %rax
testb $0x1, 0x48(%rax)
je 0x36334
movb $0x0, -0x1(%rbp)
jmp 0x3637e
movq -0x10(%rbp), %rax
cmpq $0x0, 0x50(%rax)
jne 0x36368
leaq 0xfd659(%rip), %rdi     # 0x13399f
leaq 0x101af2(%rip), %rsi    # 0x137e3f
leaq 0x101af5(%rip), %rdx    # 0x137e49
leaq 0xfd28d(%rip), %rcx     # 0x1335e8
movl $0x26fd, %r8d           # imm = 0x26FD
movb $0x0, %al
callq 0x9cea0
movq -0x10(%rbp), %rax
movq 0x50(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x362f0
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_cast_s_get_cast
bl_t xoico_che_result_cast_s_get_cast( xoico_che_result_cast_s* o, xoico_che_result_cast_s** pp_cast )
{
    // xoico_che_result.x:176:5
    
    if( o->active )
    {
        if( pp_cast ) (*(pp_cast)) = o;
        return true;
    }
    else
    {
        return xoico_che_result_a_get_cast(o->expression,pp_cast );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
testb $0x1, 0x20(%rax)
je 0x36752
cmpq $0x0, -0x18(%rbp)
je 0x3674c
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x36768
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x36110
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_cast_s_overrides
bl_t xoico_che_result_cast_s_overrides( const xoico_che_result_cast_s* o, const xoico_che_result_cast_s* a )
{
    // xoico_che_result.x:189:5
    
    const xoico_typespec_s* to = o->target_typespec;
    const xoico_typespec_s* ta = a->target_typespec;
    
    /* Currently we restrict to group and stamp pointers.
     * We might be less restrictive in future.
     */
    if( !xoico_che_s_is_group(o->che,to->type ) && !xoico_che_s_is_stamp(o->che,to->type ) ) return false;
    if( !xoico_che_s_is_group(o->che,ta->type ) && !xoico_che_s_is_stamp(o->che,ta->type ) ) return false;
    if( to->indirection != 1 ) return false;
    if( ta->indirection != 1 ) return false;
    
    return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x25740
testb $0x1, %al
jne 0x367e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x25770
testb $0x1, %al
jne 0x367e0
movb $0x0, -0x1(%rbp)
jmp 0x3683e
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x25740
testb $0x1, %al
jne 0x36818
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x25770
testb $0x1, %al
jne 0x36818
movb $0x0, -0x1(%rbp)
jmp 0x3683e
movq -0x20(%rbp), %rax
cmpq $0x1, 0x20(%rax)
je 0x36829
movb $0x0, -0x1(%rbp)
jmp 0x3683e
movq -0x28(%rbp), %rax
cmpq $0x1, 0x20(%rax)
je 0x3683a
movb $0x0, -0x1(%rbp)
jmp 0x3683e
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_cast_s_to_sink
er_t xoico_che_result_cast_s_to_sink( const xoico_che_result_cast_s* o, x_sink* sink )
{
    // xoico_che_result.x:218:5
    
    if( o->active )
    {
        x_sink_push_sc(sink,"((" );
        xoico_che_s_typespec_to_sink(o->che,o->target_typespec, sink );
        x_sink_push_sc(sink,")(" );
        BLM_TRY(xoico_che_result_a_to_sink(BCORE_PASS_TEST(xoico_che_result,o->expression),sink ))
        x_sink_push_sc(sink,"))" );
    }
    else
    {
        BLM_TRY(xoico_che_result_a_to_sink(BCORE_PASS_TEST(xoico_che_result,o->expression),sink ))
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
testb $0x1, 0x20(%rax)
je 0x36931
movq -0x18(%rbp), %rdi
leaq 0x101033(%rip), %rsi    # 0x1378cc
callq 0xc460
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x18(%rbp), %rdx
callq 0x22d10
movq -0x18(%rbp), %rdi
leaq 0xfd7d0(%rip), %rsi     # 0x134092
callq 0xc460
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
leaq 0x1015a5(%rip), %rsi    # 0x137e7b
leaq 0xfcd0b(%rip), %rdx     # 0x1335e8
movl $0x2769, %ecx           # imm = 0x2769
callq 0x369a0
movq %rax, %rdi
movq -0x18(%rbp), %rsi
callq 0x35f70
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x3691f
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x17ba23(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x36993
movq -0x18(%rbp), %rdi
leaq 0xffdbc(%rip), %rsi     # 0x1366e6
callq 0xc460
jmp 0x3698b
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
leaq 0x10153b(%rip), %rsi    # 0x137e7b
leaq 0xfcca1(%rip), %rdx     # 0x1335e8
movl $0x276e, %ecx           # imm = 0x276E
callq 0x369a0
movq %rax, %rdi
movq -0x18(%rbp), %rsi
callq 0x35f70
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x36989
movq -0x30(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x17b9b9(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x36993
jmp 0x3698b
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_break_s_to_sink
er_t xoico_che_result_break_s_to_sink( const xoico_che_result_break_s* o, x_sink* sink )
{
    // xoico_che_result.x:261:5
    
    if( !o->parent ) ERR_fa( "Parent missing." );
    if( xoico_che_result_block_s_is_using_blm_until_level(o->parent,o->ledge_level ) )
    {
        x_sink_push_fa(sink,"BLM_BREAK_LEVEL(#<sz_t>);", o->ledge_level );
    }
    else
    {
        x_sink_push_fa(sink,"break;" );
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x36d3c
leaq 0x101179(%rip), %rdi    # 0x137e9b
leaq 0xfc8bf(%rip), %rsi     # 0x1335e8
movl $0x27a4, %edx           # imm = 0x27A4
leaq 0x101187(%rip), %rcx    # 0x137ebc
movb $0x0, %al
callq 0x9d0f0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x362f0
testb $0x1, %al
jne 0x36d57
jmp 0x36d73
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0x101162(%rip), %rsi    # 0x137ecc
movb $0x0, %al
callq 0x56e0
jmp 0x36d85
movq -0x10(%rbp), %rdi
leaq 0x101168(%rip), %rsi    # 0x137ee6
movb $0x0, %al
callq 0x56e0
xorl %eax, %eax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_push_fv
er_t xoico_che_result_push_fv( xoico_che_result* o, sc_t format, va_list args )
{
    // xoico_che_result.x:316:1
    
    st_s* st = st_s_create_fv(format, args );
    er_t ret = xoico_che_result_a_push_st(o,st );
    st_s_discard( st );
    return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xff3f0
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x37140
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
callq 0xff600
movq -0x28(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_builder_main_s_build_from_file
er_t xoico_builder_main_s_build_from_file( xoico_builder_main_s* o, sc_t path )
{
    // xoico_builder.x:433:1
    
    xoico_builder_target_s_attach( &(o->target ),  xoico_builder_target_s_create());
    BLM_TRY(xoico_builder_target_s_load(o->target,false, path ))
    o->target->compiler = o->compiler;
    if( o->output_folder ) st_s_attach( &(o->target->output_folder ),  ((st_s*)bcore_fork(o->output_folder)));
    BLM_TRY(xoico_builder_target_s_build(o->target))
    BLM_TRY(xoico_compiler_s_finalize(o->compiler,((const xoico_host*)(o ))))
    return  0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x50(%rbp)
callq 0x37b50
movq -0x50(%rbp), %rdi
movq %rax, %rsi
callq 0x39a50
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x18(%rbp), %rdx
xorl %esi, %esi
callq 0x38040
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x3996f
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x1789d6(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39a38
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rcx, 0x90(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x399ba
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
addq $0x28, %rax
movq %rax, -0x58(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x9d3d0
movq -0x58(%rbp), %rdi
movq %rax, %rsi
callq 0x1aea0
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x38710
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x399f3
movq -0x30(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x17894f(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39a38
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x217a0
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0x39a30
movq -0x40(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x178912(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39a38
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: main
BETH_SIGNAL_DEFINE( xoico )

int main( int argc, char** argv )
{
    BETH_USE( xoico );
    bcore_arr_st_s* args = bcore_arr_st_s_create();
    for( sz_t i = 0; i < argc; i++ ) bcore_arr_st_s_push_sc( args, argv[ i ] );
    int retv = xoico_main_main( args );
    bcore_arr_st_s_discard( args );
    BETH_CLOSEV( 0 );
    return retv;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0xbd(%rip), %rdi       # 0x407b0
callq 0x42250
movb $0x0, %al
callq 0x95be0
movq %rax, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
movslq -0x8(%rbp), %rcx
cmpq %rcx, %rax
jge 0x408b5
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rax
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x960d0
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x40885
movq -0x18(%rbp), %rdi
callq 0x39b50
movl %eax, -0x24(%rbp)
movq -0x18(%rbp), %rdi
callq 0x95c10
xorl %edi, %edi
callq 0x42450
movl -0x24(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/../lib/bcore/bcore_tp_fastmap.h
// Function: bcore_tp_fastmap_table_s_get
static inline
vc_t bcore_tp_fastmap_table_s_get( const bcore_tp_fastmap_table_s* o, tp_t key )
{
    const bcore_tp_fastmap_kv_s* arr = o->arr + ( key & o->mask );
    return
        arr[ 0 ].key == key ? arr[ 0 ].val :
        arr[ 1 ].key == key ? arr[ 1 ].val :
        arr[ 2 ].key == key ? arr[ 2 ].val :
        arr[ 3 ].key == key ? arr[ 3 ].val :
        NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdx
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rcx
andq %rdx, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
cmpq -0x10(%rbp), %rax
jne 0x40a55
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x40ac9
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
cmpq -0x10(%rbp), %rax
jne 0x40a71
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x40ac1
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
cmpq -0x10(%rbp), %rax
jne 0x40a8d
movq -0x18(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x40ab9
movq -0x18(%rbp), %rax
movq 0x30(%rax), %rax
cmpq -0x10(%rbp), %rax
jne 0x40aa9
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0x38(%rbp)
jmp 0x40ab1
xorl %eax, %eax
movq %rax, -0x38(%rbp)
jmp 0x40ab1
movq -0x38(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/../lib/bcore/bcore_spect_inst.h
// Function: bcore_inst_a_attach
static inline bcore_inst* bcore_inst_a_attach( bcore_inst** o, bcore_inst* src )
{
    if( !o ) return NULL;
    bcore_inst_a_discard( *o );
    *o = src;
    return *o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x41771
movq $0x0, -0x8(%rbp)
jmp 0x41793
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x417a0
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.c
// Function: bcore_register_signal_handler
void bcore_register_signal_handler( bcore_fp_signal_handler signal_handler )
{
    init();
    if( signal_handler )
    {
        bcore_signal_s signal_init0 = bcore_signal_init( TYPEOF_all, TYPEOF_init0, NULL );
        bcore_signal_s signal_init1 = bcore_signal_init( TYPEOF_all, TYPEOF_init1, NULL );
        bcore_mutex_s_lock( &mutex );
        bl_t not_registered =
            bcore_arr_fp_s_find( signal_handler_arr_fp_g, 0, -1, ( fp_t )signal_handler )
                == signal_handler_arr_fp_g->size;

        if( not_registered )
        {
            signal_handler( &signal_init0 );
            signal_handler( &signal_init1 );
            bcore_arr_fp_s_push( signal_handler_arr_fp_g, ( fp_t )signal_handler );
        }

        bcore_mutex_s_unlock( &mutex );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
callq 0x42800
cmpq $0x0, -0x8(%rbp)
je 0x42248
leaq -0x20(%rbp), %rdi
movabsq $-0x190f64e6fae6255c, %rsi # imm = 0xE6F09B190519DAA4
movabsq $0x6a72cf8f8250f179, %rdx # imm = 0x6A72CF8F8250F179
xorl %eax, %eax
movl %eax, %ecx
callq 0xc80a0
leaq -0x38(%rbp), %rdi
movabsq $-0x190f64e6fae6255c, %rsi # imm = 0xE6F09B190519DAA4
movabsq $0x6a72ce8f8250efc6, %rdx # imm = 0x6A72CE8F8250EFC6
xorl %eax, %eax
movl %eax, %ecx
callq 0xc80a0
leaq 0x16a2a3(%rip), %rdi    # 0x1ac488
callq 0x10fc20
movq 0x16a2bf(%rip), %rdi    # 0x1ac4b0
movq -0x8(%rbp), %rcx
xorl %eax, %eax
movl %eax, %esi
movq $-0x1, %rdx
callq 0x97950
movq 0x16a2a4(%rip), %rcx    # 0x1ac4b0
cmpq 0x10(%rcx), %rax
sete %al
andb $0x1, %al
movb %al, -0x39(%rbp)
testb $0x1, -0x39(%rbp)
je 0x4223c
leaq -0x20(%rbp), %rdi
callq *-0x8(%rbp)
leaq -0x38(%rbp), %rdi
callq *-0x8(%rbp)
movq 0x16a27d(%rip), %rdi    # 0x1ac4b0
movq -0x8(%rbp), %rsi
callq 0x976a0
leaq 0x16a245(%rip), %rdi    # 0x1ac488
callq 0x10fc70
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.c
// Function: bcore_register_signal_handler_with_deep_dependencies
void bcore_register_signal_handler_with_deep_dependencies( bcore_fp_signal_handler signal_handler )
{
    init();
    if( !signal_handler ) return;
    bcore_arr_fp_s* arr = bcore_arr_fp_s_create();
    bcore_push_signal_handler_with_dependencies_unique_recursive( signal_handler, arr );
    for( sz_t i = 0; i < arr->size; i++ )
    {
        bcore_register_signal_handler( ( bcore_fp_signal_handler )arr->data[ i ] );
    }
    bcore_arr_fp_s_discard( arr );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
callq 0x42800
cmpq $0x0, -0x8(%rbp)
jne 0x4226a
jmp 0x422c4
movb $0x0, %al
callq 0x973a0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x422d0
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x422bb
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x42180
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x4228a
movq -0x10(%rbp), %rdi
callq 0x973d0
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.c
// Function: bcore_push_signal_handler_with_dependencies_unique_recursive
static void bcore_push_signal_handler_with_dependencies_unique_recursive
(
    bcore_fp_signal_handler signal_handler,
    bcore_arr_fp_s* arr
)
{
    if( !signal_handler ) return;

    if( bcore_arr_fp_s_find( arr, 0, -1, ( fp_t )signal_handler ) == arr->size ) // if not yet registered
    {
        bcore_arr_fp_s* arr1 = bcore_arr_fp_s_create();
        bcore_push_dependencies( signal_handler, arr1 );
        BFOR_EACH( i, arr1 )
        {
            bcore_push_signal_handler_with_dependencies_unique_recursive( ( bcore_fp_signal_handler )arr1->data[ i ], arr );
        }

        bcore_arr_fp_s_push( arr, ( fp_t )signal_handler );
        bcore_arr_fp_s_discard( arr1 );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x422ec
jmp 0x42382
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rcx
xorl %eax, %eax
movl %eax, %esi
movq $-0x1, %rdx
callq 0x97950
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jne 0x42382
movb $0x0, %al
callq 0x973a0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x428c0
cmpq $0x0, -0x18(%rbp)
je 0x4236c
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x4236a
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movq -0x10(%rbp), %rsi
callq 0x422d0
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x42335
jmp 0x4236c
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x976a0
movq -0x18(%rbp), %rdi
callq 0x973d0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.c
// Function: bcore_global_signal_handler
vd_t bcore_global_signal_handler( const bcore_signal_s* signal )
{
    return bcore_signal_s_broadcast
    (
        signal,
        ( bcore_fp_signal_handler* )signal_handler_arr_fp_g->data,
        signal_handler_arr_fp_g->size
    );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq 0x16a0f9(%rip), %rax    # 0x1ac4b0
movq 0x8(%rax), %rsi
movq 0x16a0ee(%rip), %rax    # 0x1ac4b0
movq 0x10(%rax), %rdx
callq 0xc7fb0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.c
// Function: bcore_down
void bcore_down( s2_t verbosity )
{
    if( !signal_handler_arr_fp_g ) return;

    bcore_mutex_s_lock( &mutex );
    if( !signal_handler_arr_fp_g ) ERR( "Shutdown race condition detected: Do not call bcore_down from multiple threads." );

    bcore_signal_s signal_down1 = bcore_signal_init( TYPEOF_all, TYPEOF_down1, &verbosity );
    bcore_signal_s signal_down0 = bcore_signal_init( TYPEOF_all, TYPEOF_down0, &verbosity );

    // shut down all but first library in reverse order
    for( uz_t i = signal_handler_arr_fp_g->size - 1; i > 0; i-- )
    {
        ( ( bcore_fp_signal_handler )signal_handler_arr_fp_g->data[ i ] )( &signal_down1 );
        ( ( bcore_fp_signal_handler )signal_handler_arr_fp_g->data[ i ] )( &signal_down0 );
    }

    bcore_arr_fp_s_discard( signal_handler_arr_fp_g );
    signal_handler_arr_fp_g = NULL;

    bcore_mutex_s_unlock( &mutex );
    bcore_mutex_s_down( &mutex );

    bcore_general_signal_handler( &signal_down1 );

    if( verbosity > 0 )
    {
        bcore_msg( "\nBeth global system's memory usage (bytes):\n");
        uz_t space = bcore_tbman_total_granted_space();
        bcore_msg( "Total ................. % 7zu\n", space );
    }

    bcore_general_signal_handler( &signal_down0 );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %edi, -0x4(%rbp)
cmpq $0x0, 0x16a04d(%rip)    # 0x1ac4b0
jne 0x4246a
jmp 0x425a7
leaq 0x16a017(%rip), %rdi    # 0x1ac488
callq 0x10fc20
cmpq $0x0, 0x16a032(%rip)    # 0x1ac4b0
jne 0x424a1
leaq 0xfc8cb(%rip), %rdi     # 0x13ed52
leaq 0xfc8cf(%rip), %rsi     # 0x13ed5d
movl $0xbc, %edx
leaq 0xfc8cb(%rip), %rcx     # 0x13ed65
movb $0x0, %al
callq 0x9cf40
leaq -0x20(%rbp), %rdi
movabsq $-0x190f64e6fae6255c, %rsi # imm = 0xE6F09B190519DAA4
movabsq $-0x69a05654ee793a14, %rdx # imm = 0x965FA9AB1186C5EC
leaq -0x4(%rbp), %rcx
callq 0xc80a0
leaq -0x38(%rbp), %rdi
movabsq $-0x190f64e6fae6255c, %rsi # imm = 0xE6F09B190519DAA4
movabsq $-0x69a05554ee793861, %rdx # imm = 0x965FAAAB1186C79F
leaq -0x4(%rbp), %rcx
callq 0xc80a0
movq 0x169fc6(%rip), %rax    # 0x1ac4b0
movq 0x10(%rax), %rax
subq $0x1, %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
jbe 0x42537
movq 0x169fac(%rip), %rax    # 0x1ac4b0
movq 0x8(%rax), %rax
movq -0x40(%rbp), %rcx
leaq -0x20(%rbp), %rdi
callq *(%rax,%rcx,8)
movq 0x169f96(%rip), %rax    # 0x1ac4b0
movq 0x8(%rax), %rax
movq -0x40(%rbp), %rcx
leaq -0x38(%rbp), %rdi
callq *(%rax,%rcx,8)
movq -0x40(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x40(%rbp)
jmp 0x424f6
movq 0x169f72(%rip), %rdi    # 0x1ac4b0
callq 0x973d0
movq $0x0, 0x169f62(%rip) # 0x1ac4b0
leaq 0x169f33(%rip), %rdi    # 0x1ac488
callq 0x10fc70
leaq 0x169f27(%rip), %rdi    # 0x1ac488
callq 0x10fa50
leaq -0x20(%rbp), %rdi
callq 0xc80d0
cmpl $0x0, -0x4(%rbp)
jle 0x4259e
leaq 0xfc839(%rip), %rdi     # 0x13edb5
movb $0x0, %al
callq 0x9c910
callq 0x109a60
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rsi
leaq 0xfc84b(%rip), %rdi     # 0x13ede2
movb $0x0, %al
callq 0x9c910
leaq -0x38(%rbp), %rdi
callq 0xc80d0
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.c
// Function: init_once
static void init_once()
{
    /** System wide settings
     *  Locale settings can afffect printf and scanf using a decimal point vs a decimal comma.
     *  Within beth a decimal point is preferred at all times.
     *
     *  We should enforce it via setlocale below because scanf is used to scan floating point
     *  data from text sources. E.g. via btml, btcl etc. Variable treatment can make parameter
     *  files unreadable across platforms.
     */
    setlocale( LC_ALL, "C" );

    /// bcore-library initialization
    bcore_signal_s signal_init0 = bcore_signal_init( TYPEOF_all, TYPEOF_init0, NULL );
    bcore_signal_s signal_init1 = bcore_signal_init( TYPEOF_all, TYPEOF_init1, NULL );

    bcore_general_signal_handler( &signal_init0 );
    bcore_general_signal_handler( &signal_init1 );

    bcore_mutex_s_init( &mutex );
    signal_handler_arr_fp_g = bcore_arr_fp_s_create();
    bcore_arr_fp_s_push( signal_handler_arr_fp_g, ( fp_t )bcore_general_signal_handler );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl $0x6, %edi
leaq 0x10bc52(%rip), %rsi    # 0x14e486
callq 0x43b0
leaq -0x18(%rbp), %rdi
movabsq $-0x190f64e6fae6255c, %rsi # imm = 0xE6F09B190519DAA4
movabsq $0x6a72cf8f8250f179, %rdx # imm = 0x6A72CF8F8250F179
xorl %eax, %eax
movl %eax, %ecx
callq 0xc80a0
leaq -0x30(%rbp), %rdi
movabsq $-0x190f64e6fae6255c, %rsi # imm = 0xE6F09B190519DAA4
movabsq $0x6a72ce8f8250efc6, %rdx # imm = 0x6A72CE8F8250EFC6
xorl %eax, %eax
movl %eax, %ecx
callq 0xc80a0
leaq -0x18(%rbp), %rdi
callq 0xc80d0
leaq -0x30(%rbp), %rdi
callq 0xc80d0
leaq 0x169bf4(%rip), %rdi    # 0x1ac488
callq 0x10f980
movb $0x0, %al
callq 0x973a0
movq %rax, 0x169c09(%rip)    # 0x1ac4b0
movq 0x169c02(%rip), %rdi    # 0x1ac4b0
leaq 0x8581b(%rip), %rsi     # 0xc80d0
callq 0x976a0
addq $0x30, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_source_point_s_parse_msg_to_sink_fv
void x_source_point_s_parse_msg_to_sink_fv( const x_source_point_s* o, x_sink* sink, sc_t format, va_list args )
{
    // bcore_x_source.h:220:1
    
    if( o->source )
    {
        s3_t index = x_source_get_index(o->source);
        x_source_set_index(o->source,o->index );
        x_source_parse_msg_to_sink_fv(o->source,sink, format, args );
        x_source_set_index(o->source,index );
    }
    else
    {
        x_sink_push_fv(sink,format, args );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x43115
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x431f0
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x431c0
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x43210
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x28(%rbp), %rsi
callq 0x431c0
jmp 0x43126
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x43250
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_source_point_s_parse_error_fv
er_t x_source_point_s_parse_error_fv( const x_source_point_s* o, sc_t format, va_list args )
{
    // bcore_x_source.h:237:1
    
    er_t err = 0;
    if( o->source )
    {
        s3_t index = x_source_get_index(o->source);
        x_source_set_index(o->source,o->index );
        err = x_source_parse_error_fv(o->source,format, args );
        x_source_set_index(o->source,index );
    }
    else
    {
        err = bcore_error_push_fv(TYPEOF_parse_error, format, args );
    }
    return  err;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x432f9
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x431f0
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x431c0
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x43320
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x28(%rbp), %rsi
callq 0x431c0
jmp 0x43314
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movabsq $0x690af8765815ec4d, %rdi # imm = 0x690AF8765815EC4D
callq 0x9e040
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_array_t_push_d
x_inst* x_array_t_push_d( x_array* o, tp_t t, x_inst* v )
{
    // bcore_x_array.h:188:1
    
    
        const bcore_array_s* p = bcore_array_s_get_typed( t );
    
        if( p->item_p )
        {
            bcore_array_p_push( p, ( bcore_array* )o, sr_psm( p->item_p, v ) );
        }
        else
        {
            bcore_array_p_push( p, ( bcore_array* )o, sr_asm( v ) );
        }
    
        if( p->is_of_links )
        {
            return v;
        }
        else if( p->is_static )
        {
            uz_t size = 0;
            u0_t* data = bcore_array_p_get_d_data_size( p, o, &size );
            return ( x_inst* )( data + p->item_p->size * ( size - 1 ) );
        }
        else
        {
            return bcore_array_p_get_last( p, ( bcore_array* )o ).o;
        }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x438f0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x4380c
movq -0x28(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x28(%rbp), %rax
movq 0x28(%rax), %rsi
movq -0x20(%rbp), %rdx
leaq -0x40(%rbp), %rdi
callq 0x439a0
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
leaq -0x40(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x43960
jmp 0x4385f
movq -0x28(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x20(%rbp), %rsi
leaq -0x58(%rbp), %rdi
callq 0x439d0
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rsi
leaq -0x58(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x43960
movq -0x28(%rbp), %rax
testb $0x1, 0x42(%rax)
je 0x43873
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x438d8
movq -0x28(%rbp), %rax
testb $0x1, 0x40(%rax)
je 0x438bf
movq $0x0, -0x60(%rbp)
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x60(%rbp), %rdx
callq 0xd78b0
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq -0x28(%rbp), %rcx
movq 0x28(%rcx), %rcx
movq 0x18(%rcx), %rcx
movq -0x60(%rbp), %rdx
subq $0x1, %rdx
imulq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x438d8
movq -0x28(%rbp), %rsi
movq -0x10(%rbp), %rdx
leaq -0x80(%rbp), %rdi
callq 0x43a40
movq -0x80(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xc0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_array_t_push_c
x_inst* x_array_t_push_c( x_array* o, tp_t t, const x_inst* v )
{
    // bcore_x_array.h:222:1
    
    
        const bcore_array_s* p = bcore_array_s_get_typed( t );
    
        if( p->item_p )
        {
            bcore_array_p_push( p, ( bcore_array* )o, sr_pwc( p->item_p, v ) );
        }
        else
        {
            bcore_array_p_push( p, ( bcore_array* )o, sr_awc( v ) );
        }
    
        if( p->is_of_links )
        {
            uz_t size = 0;
            x_inst** data = bcore_array_p_get_d_data_size( p, o, &size );
            return data[ size - 1 ];
        }
        else if( p->is_static )
        {
            uz_t size = 0;
            u0_t* data = bcore_array_p_get_d_data_size( p, o, &size );
            return ( x_inst* )( data + p->item_p->size * ( size - 1 ) );
        }
        else
        {
            return bcore_array_p_get_last( p, ( bcore_array* )o ).o;
        }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x438f0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x43afc
movq -0x28(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x28(%rbp), %rax
movq 0x28(%rax), %rsi
movq -0x20(%rbp), %rdx
leaq -0x40(%rbp), %rdi
callq 0x43c10
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rsi
leaq -0x40(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x43960
jmp 0x43b4f
movq -0x28(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x20(%rbp), %rsi
leaq -0x58(%rbp), %rdi
callq 0x43c40
movq -0xb0(%rbp), %rdi
movq -0xa8(%rbp), %rsi
leaq -0x58(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x43960
movq -0x28(%rbp), %rax
testb $0x1, 0x42(%rax)
je 0x43b8c
movq $0x0, -0x60(%rbp)
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x60(%rbp), %rdx
callq 0xd78b0
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq -0x60(%rbp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x8(%rbp)
jmp 0x43bf7
movq -0x28(%rbp), %rax
testb $0x1, 0x40(%rax)
je 0x43bd8
movq $0x0, -0x70(%rbp)
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x70(%rbp), %rdx
callq 0xd78b0
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq -0x28(%rbp), %rcx
movq 0x28(%rcx), %rcx
movq 0x18(%rcx), %rcx
movq -0x70(%rbp), %rdx
subq $0x1, %rdx
imulq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x43bf7
movq -0x28(%rbp), %rsi
movq -0x10(%rbp), %rdx
leaq -0x90(%rbp), %rdi
callq 0x43a40
movq -0x90(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xd0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_array_t_push_t
x_inst* x_array_t_push_t( x_array* o, tp_t t, tp_t val_type )
{
    // bcore_x_array.h:258:1
    
    
        const bcore_array_s* p = bcore_array_s_get_typed( t );
        bcore_array_p_push( p, ( bcore_array* )o, sr_t_create( val_type ) );
    
        if( p->is_of_links )
        {
            uz_t size = 0;
            x_inst** data = bcore_array_p_get_d_data_size( p, o, &size );
            return data[ size - 1 ];
        }
        else if( p->is_static )
        {
            uz_t size = 0;
            u0_t* data = bcore_array_p_get_d_data_size( p, o, &size );
            return ( x_inst* )( data + p->item_p->size * ( size - 1 ) );
        }
        else
        {
            return bcore_array_p_get_last( p, ( bcore_array* )o ).o;
        }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x438f0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x20(%rbp), %rsi
leaq -0x40(%rbp), %rdi
callq 0x43dd0
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
leaq -0x40(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x43960
movq -0x28(%rbp), %rax
testb $0x1, 0x42(%rax)
je 0x43d5e
movq $0x0, -0x48(%rbp)
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0xd78b0
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq -0x48(%rbp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x8(%rbp)
jmp 0x43dc3
movq -0x28(%rbp), %rax
testb $0x1, 0x40(%rax)
je 0x43daa
movq $0x0, -0x58(%rbp)
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x58(%rbp), %rdx
callq 0xd78b0
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq -0x28(%rbp), %rcx
movq 0x28(%rcx), %rcx
movq 0x18(%rcx), %rcx
movq -0x58(%rbp), %rdx
subq $0x1, %rdx
imulq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x43dc3
movq -0x28(%rbp), %rsi
movq -0x10(%rbp), %rdx
leaq -0x78(%rbp), %rdi
callq 0x43a40
movq -0x78(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_array_t_set_d
x_inst* x_array_t_set_d( x_array* o, tp_t t, sz_t index, x_inst* v )
{
    // bcore_x_array.h:330:1
    
    
        const bcore_array_s* p = bcore_array_s_get_typed( t );
    
        if( p->item_p )
        {
            bcore_array_p_set( p, ( bcore_array* )o, index, sr_psm( p->item_p, v ) );
        }
        else
        {
            bcore_array_p_set( p, ( bcore_array* )o, index, sr_asm( v ) );
        }
    
        if( p->is_of_links )
        {
            return v;
        }
        else if( p->is_static )
        {
            u0_t* data = bcore_array_p_get_d_data( p, o );
            return ( x_inst* )( data + p->item_p->size * index );
        }
        else
        {
            return bcore_array_p_get( p, ( bcore_array* )o, index ).o;
        }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x18(%rbp), %rdi
callq 0x438f0
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x44082
movq -0x30(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x30(%rbp), %rax
movq 0x28(%rax), %rsi
movq -0x28(%rbp), %rdx
leaq -0x48(%rbp), %rdi
callq 0x439a0
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
leaq -0x48(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x44160
jmp 0x440e7
movq -0x30(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x28(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0x439d0
movq -0xb0(%rbp), %rdi
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
leaq -0x60(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x44160
movq -0x30(%rbp), %rax
testb $0x1, 0x42(%rax)
je 0x440fb
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x44151
movq -0x30(%rbp), %rax
testb $0x1, 0x40(%rax)
je 0x44134
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5f80
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq -0x30(%rbp), %rcx
movq 0x28(%rcx), %rcx
movq 0x18(%rcx), %rcx
imulq -0x20(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x44151
movq -0x30(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq -0x80(%rbp), %rdi
callq 0x441b0
movq -0x80(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xd0, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_array_t_set_c
x_inst* x_array_t_set_c( x_array* o, tp_t t, sz_t index, const x_inst* v )
{
    // bcore_x_array.h:363:1
    
    
        const bcore_array_s* p = bcore_array_s_get_typed( t );
    
        if( p->item_p )
        {
            bcore_array_p_set( p, ( bcore_array* )o, index, sr_pwc( p->item_p, v ) );
        }
        else
        {
            bcore_array_p_set( p, ( bcore_array* )o, index, sr_awc( v ) );
        }
    
        if( p->is_of_links )
        {
            x_inst** data = bcore_array_p_get_d_data( p, o );
            return data[ index ];
        }
        else if( p->is_static )
        {
            u0_t* data = bcore_array_p_get_d_data( p, o );
            return ( x_inst* )( data + p->item_p->size * index );
        }
        else
        {
            return bcore_array_p_get( p, ( bcore_array* )o, index ).o;
        }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x18(%rbp), %rdi
callq 0x438f0
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x44292
movq -0x30(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x30(%rbp), %rax
movq 0x28(%rax), %rsi
movq -0x28(%rbp), %rdx
leaq -0x48(%rbp), %rdi
callq 0x43c10
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
leaq -0x48(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x44160
jmp 0x442f7
movq -0x30(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x28(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0x43c40
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
leaq -0x60(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x44160
movq -0x30(%rbp), %rax
testb $0x1, 0x42(%rax)
je 0x44324
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5f80
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x8(%rbp)
jmp 0x44380
movq -0x30(%rbp), %rax
testb $0x1, 0x40(%rax)
je 0x4435d
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5f80
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq -0x30(%rbp), %rcx
movq 0x28(%rcx), %rcx
movq 0x18(%rcx), %rcx
imulq -0x20(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x44380
movq -0x30(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq -0x88(%rbp), %rdi
callq 0x441b0
movq -0x88(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xd0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_array_t_set_t
x_inst* x_array_t_set_t( x_array* o, tp_t t, sz_t index, tp_t val_type )
{
    // bcore_x_array.h:397:1
    
    
        const bcore_array_s* p = bcore_array_s_get_typed( t );
        bcore_array_p_set( p, ( bcore_array* )o, index, sr_t_create( val_type ) );
    
        if( p->is_of_links )
        {
            x_inst** data = bcore_array_p_get_d_data( p, o );
            return data[ index ];
        }
        else if( p->is_static )
        {
            u0_t* data = bcore_array_p_get_d_data( p, o );
            return ( x_inst* )( data + p->item_p->size * index );
        }
        else
        {
            return bcore_array_p_get( p, ( bcore_array* )o, index ).o;
        }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x18(%rbp), %rdi
callq 0x438f0
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x28(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x43dd0
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
leaq -0x48(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x44160
movq -0x30(%rbp), %rax
testb $0x1, 0x42(%rax)
je 0x4443e
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5f80
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x8(%rbp)
jmp 0x44494
movq -0x30(%rbp), %rax
testb $0x1, 0x40(%rax)
je 0x44477
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5f80
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movq -0x30(%rbp), %rcx
movq 0x28(%rcx), %rcx
movq 0x18(%rcx), %rcx
imulq -0x20(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x44494
movq -0x30(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq -0x70(%rbp), %rdi
callq 0x441b0
movq -0x70(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)