LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_inst.c
// Function: create_typed
static vd_t create_typed( const bcore_inst_s* p, tp_t t, vc_t src )
{
    vd_t o = bcore_u_alloc( p->size, NULL, 1, NULL );
    p->init( p, o );
    if( p->copy_typed( p, o, t, src ) == 0 ) return o;

    p->down( p, o );
    bcore_u_alloc( p->size, o, 0, NULL );
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
xorl %eax, %eax
movl %eax, %ecx
movl $0x1, %edx
movq %rcx, %rsi
callq 0x9d330
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x80(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq *%rax
movq -0x10(%rbp), %rax
movq 0x98(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq *%rax
cmpq $0x0, %rax
jne 0xeded3
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xedf08
movq -0x10(%rbp), %rax
movq 0x88(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq *%rax
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x28(%rbp), %rsi
xorl %eax, %eax
movl %eax, %ecx
movq %rcx, %rdx
callq 0x9d330
movq $0x0, -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_spect_inst.c
// Function: clone
static vd_t clone( const bcore_inst_s* p, vc_t src )
{
    if( !src ) return NULL;
    vd_t obj = p->create( p );
    p->copy( p, obj, src );
    return obj;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0xedfa1
movq $0x0, -0x8(%rbp)
jmp 0xedfd7
movq -0x10(%rbp), %rax
movq 0xa8(%rax), %rax
movq -0x10(%rbp), %rdi
callq *%rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x90(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq *%rax
movq -0x20(%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_spect_inst_call.c
// Function: bcore_spect_inst_call_signal_handler
vd_t bcore_spect_inst_call_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_spect_inst_call" ) ) )
    {
        case TYPEOF_init1:
        {
        }
        break;

        case TYPEOF_selftest:
        {
        }
        break;

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0x66b8f(%rip), %rdi     # 0x1553ba
callq 0xee880
movq -0x18(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x10(%rbp)
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0xee869
jmp 0xee854
movq -0x10(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0xee86b
jmp 0xee86d
jmp 0xee86f
jmp 0xee86f
jmp 0xee86f
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_interpreter.c
// Function: bcore_interpret_x
sr_s bcore_interpret_x( sr_s o, sr_s source )
{
    const bcore_interpreter_s* p = ch_spect_p( o.p, TYPEOF_bcore_interpreter_s );
    sr_s ret = p->interpret( o.o, source );
    sr_down( o );
    return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x28(%rbp)
movq %rdi, -0x10(%rbp)
leaq 0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq 0x8(%rax), %rdi
movabsq $0x629d5ac4ae32e121, %rsi # imm = 0x629D5AC4AE32E121
callq 0xd30f0
movq -0x28(%rbp), %rdi
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rdx
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rdx), %rsi
movq (%rcx), %rdx
movq %rdx, (%rsp)
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rsp)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rsp)
callq *%rax
movq -0x18(%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 0xef510
movq -0x10(%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_spect_interpreter.c
// Function: bcore_interpret_auto_file
sr_s bcore_interpret_auto_file( sc_t file )
{
    sr_s chain = sr_asm( bcore_source_chain_s_create() );
    bcore_source_chain_s_push_d( chain.o, bcore_source_file_s_create_name( file ) );
    // TODO: test if bcore_source_string_s works correctly on binary files
    bcore_source_chain_s_push_d( chain.o, bcore_inst_t_create( typeof( "bcore_source_string_s" ) ) );
    sr_s ret = bcore_interpret_auto( chain );
    return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x30(%rbp)
movq %rdi, -0x28(%rbp)
movq %rsi, -0x8(%rbp)
movb $0x0, %al
callq 0xcb0b0
movq %rax, %rsi
leaq -0x20(%rbp), %rdi
callq 0xef460
movq -0x20(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rdi
callq 0xcc860
movq -0x40(%rbp), %rdi
movq %rax, %rsi
callq 0xcb170
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x61f84(%rip), %rdi     # 0x151397
callq 0xef290
movq %rax, %rdi
callq 0xef4d0
movq -0x38(%rbp), %rdi
movq %rax, %rsi
callq 0xcb170
movq -0x30(%rbp), %rdi
leaq -0x20(%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 0xef030
movq -0x28(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_interpreter.c
// Function: bcore_spect_interpreter_signal_handler
vd_t bcore_spect_interpreter_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_spect_interpreter" ) ) )
    {
        case TYPEOF_init1:
        {
            BCORE_REGISTER_SPECT( bcore_interpreter );
        }
        break;

        case TYPEOF_selftest:
        {
        }
        break;

        default: break;
    }
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0x65e23(%rip), %rdi     # 0x15541e
callq 0xef290
movq -0x18(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x10(%rbp)
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0xef639
jmp 0xef624
movq -0x10(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0xef676
jmp 0xef678
leaq 0xc35a0(%rip), %rdi     # 0x1b2be0
callq 0xd14f0
leaq 0x61d13(%rip), %rdi     # 0x15135f
callq 0xef290
movq %rax, -0x20(%rbp)
leaq 0x61cf1(%rip), %rdi     # 0x15134d
callq 0xef690
movq -0x20(%rbp), %rdi
movq %rax, %rsi
leaq 0x41(%rip), %rdx        # 0xef6b0
callq 0xd2470
jmp 0xef67a
jmp 0xef67a
jmp 0xef67a
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_matrix.c
// Function: bcore_matrix_default_clear
void bcore_matrix_default_clear( const bcore_matrix_s* p, bcore_matrix* o )
{
    if( p->rows_fix > 0 ) ERR_fa( "Array has a fixed row-size of #<uz_t>"   , p->rows_fix );
    if( p->cols_fix > 0 ) ERR_fa( "Array has a fixed column-size of #<uz_t>", p->cols_fix );
    bcore_array_p_set_space( p->spect_array, (bcore_array*)o, 0 );
    if( p->stride_off != ( uz_t )-1 ) *( uz_t* )BCORE_OFFSET( o, p->stride_off ) = 0;
    if( p->cols_off   != ( uz_t )-1 ) *( uz_t* )BCORE_OFFSET( o, p->cols_off   ) = 0;
    if( p->rows_off   != ( uz_t )-1 ) *( uz_t* )BCORE_OFFSET( o, p->rows_off   ) = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0xeffc4
movq -0x8(%rbp), %rax
movq 0x18(%rax), %r8
leaq 0x654f9(%rip), %rdi     # 0x1554a3
leaq 0x6550d(%rip), %rsi     # 0x1554be
movl $0x41, %edx
leaq 0x65516(%rip), %rcx     # 0x1554d3
movb $0x0, %al
callq 0x9d0f0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
jbe 0xefff8
movq -0x8(%rbp), %rax
movq 0x20(%rax), %r8
leaq 0x654c5(%rip), %rdi     # 0x1554a3
leaq 0x654d9(%rip), %rsi     # 0x1554be
movl $0x42, %edx
leaq 0x65508(%rip), %rcx     # 0x1554f9
movb $0x0, %al
callq 0x9d0f0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xf0070
movq -0x8(%rbp), %rax
cmpq $-0x1, 0x40(%rax)
je 0xf002c
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x40(%rcx), %rcx
movq $0x0, (%rax,%rcx)
movq -0x8(%rbp), %rax
cmpq $-0x1, 0x38(%rax)
je 0xf004b
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x38(%rcx), %rcx
movq $0x0, (%rax,%rcx)
movq -0x8(%rbp), %rax
cmpq $-0x1, 0x30(%rax)
je 0xf006a
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x30(%rcx), %rcx
movq $0x0, (%rax,%rcx)
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_matrix.c
// Function: bcore_matrix_default_set_size
void bcore_matrix_default_set_size( const bcore_matrix_s* p, bcore_matrix* o, uz_t rows, uz_t cols )
{
    if( p->rows_fix   > 0 && rows != p->rows_fix   ) ERR_fa( "Array has a fixed row-size of #<uz_t>"   , p->rows_fix );
    if( p->cols_fix   > 0 && cols != p->cols_fix   ) ERR_fa( "Array has a fixed column-size of #<uz_t>", p->cols_fix );
    if( p->stride_fix > 0 && cols != p->stride_fix ) ERR_fa( "Array has a fixed stride-size of #<uz_t>", p->stride_fix );
    bcore_array_p_set_size( p->spect_array, (bcore_array*)o, rows * cols );
    if( p->stride_off != ( uz_t )-1 ) *( uz_t* )BCORE_OFFSET( o, p->stride_off ) = cols;
    if( p->cols_off   != ( uz_t )-1 ) *( uz_t* )BCORE_OFFSET( o, p->cols_off   ) = cols;
    if( p->rows_off   != ( uz_t )-1 ) *( uz_t* )BCORE_OFFSET( o, p->rows_off   ) = rows;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0xf00fa
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
je 0xf00fa
movq -0x8(%rbp), %rax
movq 0x18(%rax), %r8
leaq 0x65442(%rip), %rdi     # 0x155522
leaq 0x653d7(%rip), %rsi     # 0x1554be
movl $0x4d, %edx
leaq 0x653e0(%rip), %rcx     # 0x1554d3
movb $0x0, %al
callq 0x9d0f0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
jbe 0xf013c
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x20(%rcx), %rax
je 0xf013c
movq -0x8(%rbp), %rax
movq 0x20(%rax), %r8
leaq 0x65400(%rip), %rdi     # 0x155522
leaq 0x65395(%rip), %rsi     # 0x1554be
movl $0x4e, %edx
leaq 0x653c4(%rip), %rcx     # 0x1554f9
movb $0x0, %al
callq 0x9d0f0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x28(%rax)
jbe 0xf017e
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x28(%rcx), %rax
je 0xf017e
movq -0x8(%rbp), %rax
movq 0x28(%rax), %r8
leaq 0x653be(%rip), %rdi     # 0x155522
leaq 0x65353(%rip), %rsi     # 0x1554be
movl $0x4f, %edx
leaq 0x653c9(%rip), %rcx     # 0x155540
movb $0x0, %al
callq 0x9d0f0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
imulq -0x20(%rbp), %rdx
callq 0xf0200
movq -0x8(%rbp), %rax
cmpq $-0x1, 0x40(%rax)
je 0xf01b7
movq -0x20(%rbp), %rdx
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x40(%rcx), %rcx
movq %rdx, (%rax,%rcx)
movq -0x8(%rbp), %rax
cmpq $-0x1, 0x38(%rax)
je 0xf01d6
movq -0x20(%rbp), %rdx
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x38(%rcx), %rcx
movq %rdx, (%rax,%rcx)
movq -0x8(%rbp), %rax
cmpq $-0x1, 0x30(%rax)
je 0xf01f5
movq -0x18(%rbp), %rdx
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x30(%rcx), %rcx
movq %rdx, (%rax,%rcx)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_matrix.c
// Function: bcore_spect_matrix_signal_handler
vd_t bcore_spect_matrix_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_spect_matrix" ) ) )
    {
        case TYPEOF_init1:
        {
            BCORE_REGISTER_FFUNC( bcore_spect_fp_create_from_self, bcore_matrix_s_create_from_self );
            BCORE_REGISTER_SPECT( bcore_matrix );
        }
        break;

        case TYPEOF_selftest:
        {
        }
        break;

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0x6531e(%rip), %rdi     # 0x155569
callq 0xf0320
movq -0x18(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x10(%rbp)
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0xf0290
jmp 0xf0274
movq -0x10(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0xf0310
jmp 0xf0312
leaq 0x652e5(%rip), %rdi     # 0x15557c
callq 0xf0340
movq %rax, -0x28(%rbp)
leaq 0x6277c(%rip), %rdi     # 0x152a23
callq 0xf0340
movq -0x28(%rbp), %rdi
movq %rax, %rsi
callq 0x1134f0
leaq 0x652bd(%rip), %rdi     # 0x15557c
callq 0xf0340
movq %rax, %rdi
leaq 0x92(%rip), %rsi        # 0xf0360
callq 0xaa780
leaq 0xc2b1e(%rip), %rdi     # 0x1b2df8
callq 0xd14f0
leaq 0x612e5(%rip), %rdi     # 0x1515cb
callq 0xf0320
movq %rax, -0x20(%rbp)
leaq 0x652a6(%rip), %rdi     # 0x15559c
callq 0xf0340
movq -0x20(%rbp), %rdi
movq %rax, %rsi
leaq 0x147(%rip), %rdx       # 0xf0450
callq 0xd2470
jmp 0xf0314
jmp 0xf0314
jmp 0xf0314
xorl %eax, %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_matrix.c
// Function: bcore_matrix_s_create_from_self
static bcore_matrix_s* bcore_matrix_s_create_from_self( const bcore_self_s* self )
{
    bcore_matrix_s* o = bcore_spect_create_from_self( bcore_flect_get_self( typeof( "bcore_matrix_s" ) ), self );
    o->spect_array = bcore_spect_get_typed( TYPEOF_bcore_array_s, self->type );

    if( o->cols_fix == 0 && o->cols_off == ( uz_t )-1 )
    {
        ERR_fa( "Feature 'cols' fixed-zero or no specified in '#<sc_t>'.", ifnameof( self->type ) );
    }

    if( o->rows_fix == 0 && o->rows_off == ( uz_t )-1 )
    {
        ERR_fa( "Feature 'rows' fixed-zero or no specified in '#<sc_t>'.", ifnameof( self->type ) );
    }

    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x61258(%rip), %rdi     # 0x1515cb
callq 0xf0320
movq %rax, %rdi
callq 0xa7590
movq %rax, %rdi
movq -0x8(%rbp), %rsi
callq 0xd17f0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
callq 0xd1550
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x20(%rax)
jne 0xf03f9
movq -0x10(%rbp), %rax
cmpq $-0x1, 0x38(%rax)
jne 0xf03f9
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xf07f0
movq %rax, %r8
leaq 0x6519d(%rip), %rdi     # 0x15557c
leaq 0x650d8(%rip), %rsi     # 0x1554be
movl $0x2e, %edx
leaq 0x651b7(%rip), %rcx     # 0x1555a9
movb $0x0, %al
callq 0x9d0f0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0xf0440
movq -0x10(%rbp), %rax
cmpq $-0x1, 0x30(%rax)
jne 0xf0440
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xf07f0
movq %rax, %r8
leaq 0x65156(%rip), %rdi     # 0x15557c
leaq 0x65091(%rip), %rsi     # 0x1554be
movl $0x33, %edx
leaq 0x651a8(%rip), %rcx     # 0x1555e1
movb $0x0, %al
callq 0x9d0f0
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_sink.c
// Function: bcore_sink_default_pushvf
bcore_sink* bcore_sink_default_pushvf( const bcore_sink_s* p, bcore_sink* o, sc_t format, va_list args )
{
    st_s* s = st_s_createvf( format, args );
    p->push_data( o, s->data, s->size );
    st_s_discard( s );
    return o;
}

// 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 -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xff310
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rcx
movq 0x8(%rcx), %rsi
movq -0x28(%rbp), %rcx
movq 0x10(%rcx), %rdx
callq *%rax
movq -0x28(%rbp), %rdi
callq 0xff600
movq -0x10(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_sink.c
// Function: bcore_sink_default_push_sc
bcore_sink* bcore_sink_default_push_sc( const bcore_sink_s* p, bcore_sink* o, sc_t sc )
{
    while( *sc )
    {
        bcore_sink_default_push_char( p, o, *sc );
        sc++;
    }
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpb $0x0, (%rax)
je 0xf0c9f
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rax
movsbl (%rax), %edx
callq 0xf0c30
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0xf0c74
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_sink.c
// Function: bcore_spect_sink_signal_handler
vd_t bcore_spect_sink_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_spect_sink" ) ) )
    {
        case TYPEOF_init1:
        {
            sink_s_define_trait();
            bcore_flect_define_creator( typeof( "bcore_sink_s"  ), sink_s_create_self  );
            bcore_spect_setup_cache( &bcore_sink_s_cache_g );
        }
        break;

        case TYPEOF_selftest:
        {
        }
        break;

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0x64252(%rip), %rdi     # 0x1557dd
callq 0xf1610
movq -0x18(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x10(%rbp)
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0xf15c9
jmp 0xf15b4
movq -0x10(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0xf15f7
jmp 0xf15f9
callq 0xf1b30
leaq 0x5fd35(%rip), %rdi     # 0x15130a
callq 0xf1610
movq %rax, %rdi
leaq 0x4c(%rip), %rsi        # 0xf1630
callq 0xa7b60
leaq 0xc1a20(%rip), %rdi     # 0x1b3010
callq 0xd14f0
jmp 0xf15fb
jmp 0xf15fb
jmp 0xf15fb
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_sink.c
// Function: sink_s_create_self
static bcore_self_s* sink_s_create_self( void )
{
    sc_t def = "bcore_sink_s = spect { aware_t p_type; tp_t o_type; ... }";
    bcore_self_s* self = BCORE_SELF_S_BUILD_PARSE_SC( def, bcore_sink_s );
    bcore_self_s_push_ns_func( self, ( fp_t )create_from_self,        "bcore_spect_fp_create_from_self", "create_from_self" );
    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0x641af(%rip), %rax     # 0x1557ee
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movl $0x28, %esi
movl $0x8, %edx
callq 0xa67c0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x55b(%rip), %rsi       # 0xf1bc0
leaq 0x613b7(%rip), %rdx     # 0x152a23
leaq 0x613bf(%rip), %rcx     # 0x152a32
callq 0xa5930
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_sink.c
// Function: sink_s_define_trait
static void sink_s_define_trait()
{
    tp_t trait = entypeof( "bcore_sink" );
    bcore_trait_require_awareness( trait );
    bcore_trait_require_function( trait, entypeof( "bcore_fp_flow_snk" ), 0 );
    bcore_trait_set( trait, entypeof( "bcore_inst" ) );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
leaq 0x5f7c0(%rip), %rdi     # 0x1512ff
callq 0xf1ba0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x1132a0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0x5fe63(%rip), %rdi     # 0x1519c3
callq 0xf1ba0
movq -0x18(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0x1132d0
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x5c274(%rip), %rdi     # 0x14ddf8
callq 0xf1ba0
movq -0x10(%rbp), %rdi
movq %rax, %rsi
callq 0x1134f0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_sink.c
// Function: create_from_self
static bcore_sink_s* create_from_self( const bcore_self_s* self )
{
    assert( self != NULL );
    assert( bcore_self_s_is_aware( self ) );

    bcore_sink_s* o = sink_s_create();
    o->header.o_type = self->type;
    o->push_data     = ( bcore_fp_flow_snk          )bcore_self_s_get_external_fp( self, bcore_name_enroll( "bcore_fp_flow_snk" ), 0 );
    o->set_consumer  = ( bcore_sink_fp_set_consumer )bcore_self_s_try_external_fp( self, bcore_name_enroll( "bcore_sink_fp_set_consumer" ), 0 );
    o->flush         = ( bcore_sink_fp_flush        )bcore_self_s_try_external_fp( self, bcore_name_enroll( "bcore_sink_fp_flush" ), 0 );
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
callq 0xf1c80
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x5fdcf(%rip), %rdi     # 0x1519c3
callq 0xc17b0
movq -0x28(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xa6bb0
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x5fecd(%rip), %rdi     # 0x151af0
callq 0xc17b0
movq -0x20(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xa6a30
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0x5fd9d(%rip), %rdi     # 0x1519ef
callq 0xc17b0
movq -0x18(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0xa6a30
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x10(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_source.c
// Function: bcore_source_context_s_get_msg_fv
void bcore_source_context_s_get_msg_fv( const bcore_source_context_s* o, st_s* msg, sc_t format, va_list args )
{
    st_s_clear( msg );
    st_s_push_fa( msg, "\n#<sc_t>:#<uz_t>:#<uz_t>: ", o->file_path ? o->file_path->sc : "", o->line, o->col );
    st_s_push_fv( msg, format, args );
    if( o->txt_context )
    {
        st_s_push_fa( msg, "\n#<sc_t>", o->txt_context->sc );
    }
}

// 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 -0x10(%rbp), %rdi
callq 0xffb50
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0xf2406
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0xf2413
leaq 0x60615(%rip), %rax     # 0x152a22
movq %rax, -0x30(%rbp)
jmp 0xf2413
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x20(%rax), %r8
leaq 0x633f6(%rip), %rsi     # 0x155828
movb $0x0, %al
callq 0x100210
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x1001c0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0xf2473
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rdx
leaq 0x5cab8(%rip), %rsi     # 0x14ef24
movb $0x0, %al
callq 0x100210
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_source.c
// Function: bcore_source_context_s_get_error_msg_fv
void bcore_source_context_s_get_error_msg_fv( const bcore_source_context_s* o, st_s* msg, sc_t format, va_list args )
{
    st_s_clear( msg );
    st_s_push_fa( msg, "\n#<sc_t>:#<uz_t>:#<uz_t>: error: ", o->file_path ? o->file_path->sc : "", o->line, o->col );
    st_s_push_fv( msg, format, args );
    if( o->txt_context )
    {
        st_s_push_fa( msg, "\n#<sc_t>", o->txt_context->sc );
    }
}

// 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 -0x10(%rbp), %rdi
callq 0xffb50
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0xf2566
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0xf2573
leaq 0x604b5(%rip), %rax     # 0x152a22
movq %rax, -0x30(%rbp)
jmp 0xf2573
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x20(%rax), %r8
leaq 0x632b1(%rip), %rsi     # 0x155843
movb $0x0, %al
callq 0x100210
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x1001c0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0xf25d3
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rdx
leaq 0x5c958(%rip), %rsi     # 0x14ef24
movb $0x0, %al
callq 0x100210
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_source.c
// Function: bcore_source_default_inspect_data
uz_t bcore_source_default_inspect_data( const bcore_source_s* p, bcore_source* o, vd_t data, uz_t size )
{
    s3_t index = bcore_source_p_get_index( p, o );
    uz_t copied = bcore_source_p_get_data( p, o, data, size );
    bcore_source_p_set_index( p, o, index );
    return copied;
}

// 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), %rdi
movq -0x10(%rbp), %rsi
callq 0xf26e0
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0xf2710
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0xf2760
movq -0x30(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_source.c
// Function: bcore_source_default_inspect_u0
u0_t bcore_source_default_inspect_u0( const bcore_source_s* p, bcore_source* o )
{
    s3_t index = bcore_source_p_get_index( p, o );
    u0_t v = bcore_source_p_get_u0( p, o );
    bcore_source_p_set_index( p, o, index );
    return v;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xf26e0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xf27e0
movb %al, -0x19(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0xf2760
movb -0x19(%rbp), %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_source.c
// Function: bcore_source_default_parse_errvf
void bcore_source_default_parse_errvf( const bcore_source_s* p, const bcore_source* o, sc_t format, va_list args )
{
    st_s* s0 = st_s_createvf( format, args );
    st_s* s1 = st_s_create();

    bcore_source_a_parse_msg_to_sink_fa( o, ( bcore_sink* )s1, "error: #<sc_t>", s0->sc );
    bcore_sink_a_push_fa( BCORE_STDERR, "\n#<sc_t>", s1->sc );

    st_s_discard( s0 );
    st_s_discard( s1 );
    bcore_down_exit( -1, 1 );
}

// 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 -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xff310
movq %rax, -0x28(%rbp)
movb $0x0, %al
callq 0xff2e0
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0x5fa3c(%rip), %rdx     # 0x1522c7
movb $0x0, %al
callq 0xf28e0
leaq 0xbfab7(%rip), %rax     # 0x1b2350
movq (%rax), %rdi
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0x5c679(%rip), %rsi     # 0x14ef24
movb $0x0, %al
callq 0xf0e20
movq -0x28(%rbp), %rdi
callq 0xff600
movq -0x30(%rbp), %rdi
callq 0xff600
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1, %esi
callq 0x425b0
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_source.c
// Function: bcore_source_default_parse_msgvf
void bcore_source_default_parse_msgvf( const bcore_source_s* p, const bcore_source* o, sc_t format, va_list args )
{
    st_s* s0 = st_s_create_fv( format, args );
    bcore_source_context_s* context = bcore_source_context_s_create();
    bcore_source_p_get_context( p, o, context );

    st_s* s1 = st_s_create();
    bcore_source_context_s_get_msg_fa( context, s1, "#<sc_t>", s0->sc );
    bcore_sink_a_push_fa( BCORE_STDOUT, "#<sc_t>\n", s1->sc );

    st_s_discard( s0 );
    st_s_discard( s1 );
    bcore_source_context_s_discard( context );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xff3f0
movq %rax, -0x28(%rbp)
callq 0xf2270
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x30(%rbp), %rdx
callq 0xf2a70
movb $0x0, %al
callq 0xff2e0
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rsi
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0x5c500(%rip), %rdx     # 0x14ef25
movb $0x0, %al
callq 0xf2480
leaq 0xbf915(%rip), %rax     # 0x1b2348
movq (%rax), %rdi
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0x65dcc(%rip), %rsi     # 0x158811
movb $0x0, %al
callq 0xf0e20
movq -0x28(%rbp), %rdi
callq 0xff600
movq -0x38(%rbp), %rdi
callq 0xff600
movq -0x30(%rbp), %rdi
callq 0xf22d0
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_source.c
// Function: bcore_source_default_parse_msg_to_sink_fv
void bcore_source_default_parse_msg_to_sink_fv( const bcore_source_s* p, const bcore_source* o, bcore_sink* sink, sc_t format, va_list args )
{
    if( !sink ) return;
    if( p->get_context )
    {
        bcore_source_context_s* context = bcore_source_context_s_create();
        bcore_source_p_get_context( p, o, context );
        st_s* s0 = st_s_create_fv( format, args );
        st_s* s1 = st_s_create();
        bcore_source_context_s_get_msg_fa( context, s1, "#<sc_t>", s0->sc );
        bcore_sink_a_push_fa( sink, "#<sc_t>", s1->sc );
        st_s_discard( s0 );
        st_s_discard( s1 );
        bcore_source_context_s_discard( context );
    }
    else
    {
        bcore_sink_a_push_fv( sink, format, args );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0xf2bc8
jmp 0xf2c73
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0xf2c62
callq 0xf2270
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x30(%rbp), %rdx
callq 0xf2a70
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0xff3f0
movq %rax, -0x38(%rbp)
movb $0x0, %al
callq 0xff2e0
movq %rax, -0x40(%rbp)
movq -0x30(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0x5c301(%rip), %rdx     # 0x14ef25
movb $0x0, %al
callq 0xf2480
movq -0x18(%rbp), %rdi
movq -0x40(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0x5c2e7(%rip), %rsi     # 0x14ef25
movb $0x0, %al
callq 0xf0e20
movq -0x38(%rbp), %rdi
callq 0xff600
movq -0x40(%rbp), %rdi
callq 0xff600
movq -0x30(%rbp), %rdi
callq 0xf22d0
jmp 0xf2c73
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0xf2c80
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_source.c
// Function: bcore_source_a_parse_error_fv
er_t bcore_source_a_parse_error_fv( const bcore_source* o, sc_t format, va_list args )
{
    st_s* s0 = st_s_create_fv( format, args );
    st_s* s1 = st_s_create();

    bcore_source_a_parse_msg_to_sink_fa( o, ( bcore_sink* )s1, "error: #<sc_t>", s0->sc );
    er_t err_id = bcore_error_push_sc( TYPEOF_parse_error, s1->sc );

    st_s_discard( s0 );
    st_s_discard( s1 );
    return err_id;
}

// 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)
movb $0x0, %al
callq 0xff2e0
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0x5da00(%rip), %rdx     # 0x1522c7
movb $0x0, %al
callq 0xf28e0
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rsi
movabsq $0x690af8765815ec4d, %rdi # imm = 0x690AF8765815EC4D
callq 0x9df70
movq %rax, -0x30(%rbp)
movq -0x20(%rbp), %rdi
callq 0xff600
movq -0x28(%rbp), %rdi
callq 0xff600
movq -0x30(%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_spect_source.c
// Function: bcore_spect_source_signal_handler
vd_t bcore_spect_source_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_spect_source" ) ) )
    {
        case TYPEOF_init1:
        {
            BCORE_REGISTER_OBJECT( bcore_source_context_s );

            source_s_define_trait();
            bcore_flect_define_creator( typeof( "bcore_source_s"  ), source_s_create_self  );
            bcore_spect_setup_cache( &bcore_source_s_cache_g );
        }
        break;

        case TYPEOF_selftest:
        {
        }
        break;

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0x60f00(%rip), %rdi     # 0x1558db
callq 0xf4a70
movq -0x18(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x10(%rbp)
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0xf4a19
jmp 0xf4a04
movq -0x10(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0xf4a62
jmp 0xf4a64
leaq 0x5cbba(%rip), %rdi     # 0x1515da
callq 0xf4a70
movq %rax, %rdi
leaq 0x61(%rip), %rsi        # 0xf4a90
callq 0xa7b60
callq 0xf51a0
leaq 0x5c8b0(%rip), %rdi     # 0x1512f0
callq 0xf4a70
movq %rax, %rdi
leaq 0x61(%rip), %rsi        # 0xf4ab0
callq 0xa7b60
leaq 0xbe7cd(%rip), %rdi     # 0x1b3228
callq 0xd14f0
jmp 0xf4a66
jmp 0xf4a66
jmp 0xf4a66
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_source.c
// Function: source_s_create_self
static bcore_self_s* source_s_create_self( void )
{
//  We need to create this reflection manually because self_s_build_parse uses it.
    bcore_self_s* self = bcore_self_s_create_plain( entypeof( "bcore_source_s" ), typeof( "spect" ), sizeof( bcore_source_s ), alignof( bcore_source_s ) );
    bcore_self_s_push_d( self, bcore_self_item_s_create_plain( BCORE_CAPS_SOLID_STATIC, TYPEOF_bcore_spect_header_s, entypeof( "header" ) ) );
    bcore_self_body_s_set_complete( self->body, false );
    bcore_self_s_push_ns_func( self, ( fp_t )create_from_self,  "bcore_spect_fp_create_from_self",  "create_from_self" );
    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
leaq 0x5c831(%rip), %rdi     # 0x1512f0
callq 0xf5230
movq %rax, -0x18(%rbp)
leaq 0x5e105(%rip), %rdi     # 0x152bd4
callq 0xf4a70
movq -0x18(%rbp), %rdi
movq %rax, %rsi
movl $0x60, %edx
movl $0x8, %ecx
callq 0xa5c00
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x45053(%rip), %rdi     # 0x139b50
callq 0xf5230
movq %rax, %rdx
movl $0x1, %edi
movabsq $-0x7c15e45e4ba87aee, %rsi # imm = 0x83EA1BA1B4578512
callq 0xa0a80
movq -0x10(%rbp), %rdi
movq %rax, %rsi
callq 0xa5850
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
xorl %esi, %esi
callq 0xa4ed0
movq -0x8(%rbp), %rdi
leaq 0x711(%rip), %rsi       # 0xf5250
leaq 0x5dedd(%rip), %rdx     # 0x152a23
leaq 0x5dee5(%rip), %rcx     # 0x152a32
callq 0xa5930
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_spect_source.c
// Function: source_s_define_trait
static void source_s_define_trait()
{
    tp_t trait = entypeof( "bcore_source" );
    bcore_trait_require_awareness( trait );
    bcore_trait_require_function( trait, entypeof( "bcore_fp_flow_src" ), 0 );
    bcore_trait_require_function( trait, entypeof( "bcore_source_fp_eos" ), 0 );
    bcore_trait_set( trait, entypeof( "bcore_inst" ) );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
leaq 0x5c134(%rip), %rdi     # 0x1512e3
callq 0xf5230
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x1132a0
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x5ce31(%rip), %rdi     # 0x152001
callq 0xf5230
movq -0x20(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0x1132d0
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0x5ce38(%rip), %rdi     # 0x15202c
callq 0xf5230
movq -0x18(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0x1132d0
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x58be0(%rip), %rdi     # 0x14ddf8
callq 0xf5230
movq -0x10(%rbp), %rdi
movq %rax, %rsi
callq 0x1134f0
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_translator.c
// Function: bcore_spect_translator_signal_handler
vd_t bcore_spect_translator_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_spect_translator" ) ) )
    {
        case TYPEOF_init1:
        {
            BCORE_REGISTER_SPECT( bcore_translator );
        }
        break;

        case TYPEOF_selftest:
        {
        }
        break;

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0x60140(%rip), %rdi     # 0x15596b
callq 0xf58c0
movq -0x18(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x10(%rbp)
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0xf5869
jmp 0xf5854
movq -0x10(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0xf58a6
jmp 0xf58a8
leaq 0xbdbd0(%rip), %rdi     # 0x1b3440
callq 0xd14f0
leaq 0x5bb08(%rip), %rdi     # 0x151384
callq 0xf58c0
movq %rax, -0x20(%rbp)
leaq 0x5bae7(%rip), %rdi     # 0x151373
callq 0xf58e0
movq -0x20(%rbp), %rdi
movq %rax, %rsi
leaq 0x61(%rip), %rdx        # 0xf5900
callq 0xd2470
jmp 0xf58aa
jmp 0xf58aa
jmp 0xf58aa
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_via.c
// Function: bcore_via_default_iget_type
tp_t bcore_via_default_iget_type( const bcore_via_s* p, const bcore_via* o, uz_t index )
{
    if( index >= p->size ) ERR( "index (%zu) out of range (%zu)", index, p->size );
    const bcore_vitem_s* vitem = &p->vitem_arr[ index ];
    switch( vitem->caps )
    {
        case BCORE_CAPS_LINK_TYPED:
        case BCORE_CAPS_LINK_AWARE:
        {
            sr_s sr = bcore_via_default_iget( p, o, index );
            tp_t t = sr_s_type( &sr );
            sr_down( sr );
            return t;
        }

        default: break;
    }
    return vitem->type;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x20(%rcx), %rax
jb 0xf61af
movq -0x20(%rbp), %r8
movq -0x10(%rbp), %rax
movq 0x20(%rax), %r9
leaq 0x5f99c(%rip), %rdi     # 0x155b31
leaq 0x5f983(%rip), %rsi     # 0x155b1f
movl $0x67, %edx
leaq 0x448da(%rip), %rcx     # 0x13aa82
movb $0x0, %al
callq 0x9cf40
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rax
movq -0x20(%rbp), %rcx
imulq $0x38, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movl 0x10(%rax), %eax
addl $-0x3, %eax
subl $0x1, %eax
ja 0xf6225
jmp 0xf61d7
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq -0x40(%rbp), %rdi
callq 0xf5f30
leaq -0x40(%rbp), %rdi
callq 0xf6240
movq %rax, -0x48(%rbp)
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 0xf6260
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xf6232
jmp 0xf6227
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_via.c
// Function: bcore_via_default_iget_array
const bcore_array_s* bcore_via_default_iget_array( const bcore_via_s* p, const bcore_via* o, uz_t index )
{
    const bcore_vitem_s* vitem = &p->vitem_arr[ index ];
    if( !bcore_flect_caps_is_array( vitem->caps ) )
    {
        ERR( "%s::%s of type '%s' and capsulation '%s' is no array",
             ifnameof( p->header.o_type ),
             ifnameof( bcore_via_default_iget_name( p, o, index ) ),
             ifnameof( vitem->type ),
             bcore_flect_caps_e_sc( vitem->caps )  );
    }
    return bcore_array_s_get_typed( vitem->type );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
imulq $0x38, -0x18(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movl 0x10(%rax), %edi
callq 0xa0380
testb $0x1, %al
jne 0xf729c
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xf6ce0
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0xf5de0
movq %rax, %rdi
callq 0xf6ce0
movq %rax, -0x30(%rbp)
movq -0x20(%rbp), %rax
movq (%rax), %rdi
callq 0xf6ce0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movl 0x10(%rax), %edi
callq 0xa0650
movq -0x38(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x28(%rbp), %r10
leaq 0x5e955(%rip), %rdi     # 0x155bce
leaq 0x5e89f(%rip), %rsi     # 0x155b1f
movl $0x120, %edx            # imm = 0x120
leaq 0x5e95f(%rip), %rcx     # 0x155beb
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
movb $0x0, %al
callq 0x9cf40
movq -0x20(%rbp), %rax
movq (%rax), %rdi
callq 0xf72b0
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_via.c
// Function: bcore_via_default_iis_static
bl_t bcore_via_default_iis_static( const bcore_via_s* p, const bcore_via* o, uz_t index )
{
    if( index >= p->size ) ERR( "index (%zu) out of range (%zu)", index, p->size );
    switch( p->vitem_arr[ index ].caps )
    {
        case BCORE_CAPS_SOLID_STATIC:           return true;
        case BCORE_CAPS_LINK_STATIC:            return true;
        case BCORE_CAPS_LINK_TYPED:             return false;
        case BCORE_CAPS_LINK_AWARE:             return false;
        case BCORE_CAPS_ARRAY_DYN_SOLID_STATIC: return true;
        case BCORE_CAPS_ARRAY_DYN_SOLID_TYPED:  return true;
        case BCORE_CAPS_ARRAY_DYN_LINK_STATIC:  return true;
        case BCORE_CAPS_ARRAY_DYN_LINK_TYPED:   return true;
        case BCORE_CAPS_ARRAY_DYN_LINK_AWARE:   return true;
        case BCORE_CAPS_ARRAY_FIX_SOLID_STATIC: return true;
        case BCORE_CAPS_ARRAY_FIX_LINK_STATIC:  return true;
        case BCORE_CAPS_ARRAY_FIX_LINK_AWARE:   return true;
        default: ERR( "Unhandled encapsulation '%s'", bcore_flect_caps_e_sc( p->vitem_arr[ index ].caps ) );
    }
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x20(%rcx), %rax
jb 0xf7b2f
movq -0x20(%rbp), %r8
movq -0x10(%rbp), %rax
movq 0x20(%rax), %r9
leaq 0x5e127(%rip), %rdi     # 0x155c3c
leaq 0x5e003(%rip), %rsi     # 0x155b1f
movl $0x179, %edx            # imm = 0x179
leaq 0x42f5a(%rip), %rcx     # 0x13aa82
movb $0x0, %al
callq 0x9cf40
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rax
movq -0x20(%rbp), %rcx
imulq $0x38, %rcx, %rcx
movl 0x10(%rax,%rcx), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x28(%rbp)
subl $0xc, %eax
ja 0xf7baf
movq -0x28(%rbp), %rax
leaq 0x5defd(%rip), %rcx     # 0x155a58
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb $0x1, -0x1(%rbp)
jmp 0xf7bef
movb $0x1, -0x1(%rbp)
jmp 0xf7bef
movb $0x0, -0x1(%rbp)
jmp 0xf7bef
movb $0x0, -0x1(%rbp)
jmp 0xf7bef
movb $0x1, -0x1(%rbp)
jmp 0xf7bef
movb $0x1, -0x1(%rbp)
jmp 0xf7bef
movb $0x1, -0x1(%rbp)
jmp 0xf7bef
movb $0x1, -0x1(%rbp)
jmp 0xf7bef
movb $0x1, -0x1(%rbp)
jmp 0xf7bef
movb $0x1, -0x1(%rbp)
jmp 0xf7bef
movb $0x1, -0x1(%rbp)
jmp 0xf7bef
movb $0x1, -0x1(%rbp)
jmp 0xf7bef
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rax
imulq $0x38, -0x20(%rbp), %rcx
addq %rcx, %rax
movl 0x10(%rax), %edi
callq 0xa0650
movq %rax, %r8
leaq 0x5e06b(%rip), %rdi     # 0x155c3c
leaq 0x5df47(%rip), %rsi     # 0x155b1f
movl $0x188, %edx            # imm = 0x188
leaq 0x5e075(%rip), %rcx     # 0x155c59
movb $0x0, %al
callq 0x9cf40
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/lib/bcore/bcore_spect_via.c
// Function: bcore_spect_via_signal_handler
vd_t bcore_spect_via_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_spect_via" ) ) )
    {
        case TYPEOF_init1:
        {
            bcore_trait_set( entypeof( "bcore_via" ), entypeof( "bcore_inst" ) );
            bcore_flect_define_creator( typeof( "bcore_via_s" ), bcore_via_s_create_self );
            bcore_spect_setup_cache( &bcore_via_s_cache_g );

            BCORE_REGISTER_FFUNC( bcore_fp_down, bcore_via_s_down );
            BCORE_REGISTER_FFUNC( bcore_spect_fp_create_from_self, bcore_via_s_create_from_self );
        }
        break;

        case TYPEOF_selftest:
        {
            return spect_via_selftest();
        }
        break;

        default: break;
    }
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x5cf13(%rip), %rdi     # 0x155e6e
callq 0xf8a60
movq -0x20(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x18(%rbp)
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0xf8fa0
jmp 0xf8f84
movq -0x18(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0xf9077
jmp 0xf9082
leaq 0x58326(%rip), %rdi     # 0x1512cd
callq 0xf8d30
movq %rax, -0x38(%rbp)
leaq 0x54e41(%rip), %rdi     # 0x14ddf8
callq 0xf8d30
movq -0x38(%rbp), %rdi
movq %rax, %rsi
callq 0x1134f0
leaq 0x58308(%rip), %rdi     # 0x1512d7
callq 0xf8a60
movq %rax, %rdi
leaq 0xc2(%rip), %rsi        # 0xf90a0
callq 0xa7b60
leaq 0xba66e(%rip), %rdi     # 0x1b3658
callq 0xd14f0
leaq 0x5ce88(%rip), %rdi     # 0x155e7e
callq 0xf8d30
movq %rax, -0x30(%rbp)
leaq 0x53bca(%rip), %rdi     # 0x14cbd0
callq 0xf8d30
movq -0x30(%rbp), %rdi
movq %rax, %rsi
callq 0x1134f0
leaq 0x5ce60(%rip), %rdi     # 0x155e7e
callq 0xf8d30
movq %rax, %rdi
leaq 0x93(%rip), %rsi        # 0xf90c0
callq 0xaa780
leaq 0x5ce56(%rip), %rdi     # 0x155e8f
callq 0xf8d30
movq %rax, -0x28(%rbp)
leaq 0x599da(%rip), %rdi     # 0x152a23
callq 0xf8d30
movq -0x28(%rbp), %rdi
movq %rax, %rsi
callq 0x1134f0
leaq 0x5ce2e(%rip), %rdi     # 0x155e8f
callq 0xf8d30
movq %rax, %rdi
leaq 0x80(%rip), %rsi        # 0xf90f0
callq 0xaa780
jmp 0xf9084
callq 0xf96d0
movq %rax, -0x8(%rbp)
jmp 0xf908c
jmp 0xf9084
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)