LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %rbx
movq 0x18(%rdi), %rdi
movl $0x1, %edx
xorl %esi, %esi
xorl %ecx, %ecx
callq 0xc8339
movq %rax, %r14
movq %rbx, %rdi
movq %rax, %rsi
callq *0x80(%rbx)
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
movq %r15, %rcx
callq *0x98(%rbx)
testq %rax, %rax
je 0x108661
movq %rbx, %rdi
movq %r14, %rsi
callq *0x88(%rbx)
movq 0x18(%rbx), %rdi
movq %r14, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xc8339
xorl %r14d, %r14d
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/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 %rbx
subq $0x20, %rsp
movq %rdi, %rbx
movq 0x38(%rsp), %rdi
movabsq $0x629d5ac4ae32e121, %rsi # imm = 0x629D5AC4AE32E121
callq 0xf58f8
movq 0x30(%rsp), %rsi
movq 0x58(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movups 0x48(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %rbx, %rdi
callq *0x10(%rax)
testb $0x2, 0x40(%rsp)
je 0x10894b
leaq 0x30(%rsp), %rax
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rsp)
movups (%rax), %xmm0
movups %xmm0, (%rsp)
callq 0x112485
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %r15
movq %rdi, %rbx
xorl %r12d, %r12d
xorl %eax, %eax
callq 0xecdcf
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0x108984
movq (%rax), %rdi
callq 0x1123e1
movq %rax, %r12
movabsq $-0x7a841657f0cf5c40, %r14 # imm = 0x857BE9A80F30A3C0
movq %r12, 0x28(%rsp)
movq $0x2, 0x30(%rsp)
movq 0x20(%rsp), %r12
movq %r15, %rdi
callq 0xef232
movq %r12, %rdi
movq %rax, %rsi
callq 0xecf43
movq 0x20(%rsp), %r15
leaq 0xa0aa8(%rip), %rax     # 0x1a9468
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r14, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x108a16
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x108a16
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x108a16
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x108a86
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x108a46
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r14, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0xa0a2d(%rip), %rdi     # 0x1a9468
movq %r14, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r12, %rdi
callq *0xa8(%r12)
movq %r15, %rdi
movq %rax, %rsi
callq 0xecf43
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %rbx, %rdi
callq 0x108708
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
xorl %r12d, %r12d
jmp 0x108a1a
// File: /workspace/github_c_makefile_star2_O1/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 %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x18(%rdi), %r8
testq %r8, %r8
je 0x108b70
leaq 0x4d504(%rip), %rdi     # 0x15605a
leaq 0x4d518(%rip), %rsi     # 0x156075
leaq 0x4d526(%rip), %rcx     # 0x15608a
movl $0x41, %edx
xorl %eax, %eax
callq 0xc825d
movq 0x20(%r14), %r8
testq %r8, %r8
je 0x108b9a
leaq 0x4d4da(%rip), %rdi     # 0x15605a
leaq 0x4d4ee(%rip), %rsi     # 0x156075
leaq 0x4d522(%rip), %rcx     # 0x1560b0
movl $0x42, %edx
xorl %eax, %eax
callq 0xc825d
movq 0x10(%r14), %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0xf6359
movq 0x40(%r14), %rax
cmpq $-0x1, %rax
je 0x108bba
movq $0x0, (%rbx,%rax)
movq 0x38(%r14), %rax
cmpq $-0x1, %rax
je 0x108bcc
movq $0x0, (%rbx,%rax)
movq 0x30(%r14), %rax
cmpq $-0x1, %rax
je 0x108bde
movq $0x0, (%rbx,%rax)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r15
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r12
movq 0x18(%rdi), %r8
testq %r8, %r8
sete %al
cmpq %rdx, %r8
sete %cl
orb %al, %cl
jne 0x108c2f
leaq 0x4d4c4(%rip), %rdi     # 0x1560d9
leaq 0x4d459(%rip), %rsi     # 0x156075
leaq 0x4d467(%rip), %rcx     # 0x15608a
movl $0x4d, %edx
xorl %eax, %eax
callq 0xc825d
movq 0x20(%r12), %r8
testq %r8, %r8
sete %al
cmpq %r15, %r8
sete %cl
orb %al, %cl
jne 0x108c65
leaq 0x4d48e(%rip), %rdi     # 0x1560d9
leaq 0x4d423(%rip), %rsi     # 0x156075
leaq 0x4d457(%rip), %rcx     # 0x1560b0
movl $0x4e, %edx
xorl %eax, %eax
callq 0xc825d
movq 0x28(%r12), %r8
testq %r8, %r8
sete %al
cmpq %r15, %r8
sete %cl
orb %al, %cl
jne 0x108c9b
leaq 0x4d458(%rip), %rdi     # 0x1560d9
leaq 0x4d3ed(%rip), %rsi     # 0x156075
leaq 0x4d468(%rip), %rcx     # 0x1560f7
movl $0x4f, %edx
xorl %eax, %eax
callq 0xc825d
movq 0x10(%r12), %rdi
movq %r15, %rdx
imulq %rbx, %rdx
movq %r14, %rsi
callq 0xf69d8
movq 0x40(%r12), %rax
cmpq $-0x1, %rax
je 0x108cbe
movq %r15, (%r14,%rax)
movq 0x38(%r12), %rax
cmpq $-0x1, %rax
je 0x108ccd
movq %r15, (%r14,%rax)
movq 0x30(%r12), %rax
cmpq $-0x1, %rax
je 0x108cdc
movq %rbx, (%r14,%rax)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/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 %r14
pushq %rbx
pushq %rax
movabsq $-0x73227395ec66a70c, %rsi # imm = 0x8CDD8C6A139958F4
callq 0xe9c93
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
cmpq %rcx, %rax
jne 0x108d7b
leaq 0x4d40f(%rip), %rbx     # 0x156120
movq %rbx, %rdi
callq 0xe1270
movq %rax, %r14
leaq 0x4a9cd(%rip), %rdi     # 0x1536f0
callq 0xe1270
movq %r14, %rdi
movq %rax, %rsi
callq 0x121b6d
movq %rbx, %rdi
callq 0xe1270
leaq 0x43(%rip), %rsi        # 0x108d85
movq %rax, %rdi
callq 0xd1091
leaq 0xa0b47(%rip), %rdi     # 0x1a9898
callq 0xf3f47
leaq 0x4d3e3(%rip), %rdi     # 0x156140
callq 0xe1270
leaq 0xee(%rip), %rdx        # 0x108e57
movabsq $0x719bb15ffe93568, %rdi # imm = 0x719BB15FFE93568
movq %rax, %rsi
callq 0xf4bb7
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
movabsq $0x719bb15ffe93568, %rdi # imm = 0x719BB15FFE93568
callq 0xcf1a2
movq %rax, %rdi
movq %r14, %rsi
callq 0xf4273
movq %rax, %rbx
movq 0x8(%r14), %rsi
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
callq 0xf3f85
movq %rax, 0x10(%rbx)
cmpq $0x0, 0x20(%rbx)
jne 0x108e06
cmpq $-0x1, 0x38(%rbx)
jne 0x108e06
movq 0x8(%r14), %rdi
callq 0xe0cbc
testq %rax, %rax
leaq 0x4a90e(%rip), %r8      # 0x1536ef
cmovneq %rax, %r8
leaq 0x4d334(%rip), %rdi     # 0x156120
leaq 0x4d282(%rip), %rsi     # 0x156075
leaq 0x4d353(%rip), %rcx     # 0x15614d
movl $0x2e, %edx
xorl %eax, %eax
callq 0xc825d
cmpq $0x0, 0x18(%rbx)
jne 0x108e4c
cmpq $-0x1, 0x30(%rbx)
jne 0x108e4c
movq 0x8(%r14), %rdi
callq 0xe0cbc
testq %rax, %rax
leaq 0x4a8c8(%rip), %r8      # 0x1536ef
cmovneq %rax, %r8
leaq 0x4d2ee(%rip), %rdi     # 0x156120
leaq 0x4d23c(%rip), %rsi     # 0x156075
leaq 0x4d345(%rip), %rcx     # 0x156185
movl $0x33, %edx
xorl %eax, %eax
callq 0xc825d
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movq %rdx, %rdi
movq %rcx, %rsi
callq 0x114beb
movq %rax, %r15
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
movq %rbx, %rdi
callq *0x10(%r14)
movq %r15, %rdi
callq 0x114f61
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_spect_sink.c
// Function: bcore_sink_default_pushf
void bcore_sink_default_pushf( const bcore_sink_s* p, bcore_sink* o, sc_t f, ... )
{
    va_list a;
    va_start( a, f );
    bcore_sink_default_pushvf( p, o, f, a );
    va_end( a );
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0xd0, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x20(%rsp), %rdi
movq %rcx, 0x18(%rdi)
movq %r8, 0x20(%rdi)
movq %r9, 0x28(%rdi)
testb %al, %al
je 0x108f07
movaps %xmm0, 0x50(%rsp)
movaps %xmm1, 0x60(%rsp)
movaps %xmm2, 0x70(%rsp)
movaps %xmm3, 0x80(%rsp)
movaps %xmm4, 0x90(%rsp)
movaps %xmm5, 0xa0(%rsp)
movaps %xmm6, 0xb0(%rsp)
movaps %xmm7, 0xc0(%rsp)
movq %rsp, %rsi
movq %rdi, 0x10(%rsi)
leaq 0xf0(%rsp), %rax
movq %rax, 0x8(%rsi)
movabsq $0x3000000018, %rax     # imm = 0x3000000018
movq %rax, (%rsi)
movq %rdx, %rdi
callq 0x114beb
movq %rax, %r15
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
movq %rbx, %rdi
callq *0x10(%r14)
movq %r15, %rdi
callq 0x114f61
addq $0xd0, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_spect_sink.c
// Function: bcore_sink_default_push_fv
bcore_sink* bcore_sink_default_push_fv( const bcore_sink_s* p, bcore_sink* o, sc_t format, va_list args )
{
    st_s* s = st_s_create_fv( format, args );
    p->push_data( o, s->data, s->size );
    st_s_discard( s );
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movq %rdx, %rdi
movq %rcx, %rsi
callq 0x114cd0
movq %rax, %r15
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
movq %rbx, %rdi
callq *0x10(%r14)
movq %r15, %rdi
callq 0x114f61
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_spect_sink.c
// Function: bcore_sink_default_push_fa
bcore_sink* bcore_sink_default_push_fa( const bcore_sink_s* p, bcore_sink* o, sc_t f, ... )
{
    va_list a;
    va_start( a, f );
    bcore_sink_default_push_fv( p, o, f, a );
    va_end( a );
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0xd0, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x20(%rsp), %rdi
movq %rcx, 0x18(%rdi)
movq %r8, 0x20(%rdi)
movq %r9, 0x28(%rdi)
testb %al, %al
je 0x108fed
movaps %xmm0, 0x50(%rsp)
movaps %xmm1, 0x60(%rsp)
movaps %xmm2, 0x70(%rsp)
movaps %xmm3, 0x80(%rsp)
movaps %xmm4, 0x90(%rsp)
movaps %xmm5, 0xa0(%rsp)
movaps %xmm6, 0xb0(%rsp)
movaps %xmm7, 0xc0(%rsp)
movq %rsp, %rsi
movq %rdi, 0x10(%rsi)
leaq 0xf0(%rsp), %rax
movq %rax, 0x8(%rsi)
movabsq $0x3000000018, %rax     # imm = 0x3000000018
movq %rax, (%rsi)
movq %rdx, %rdi
callq 0x114cd0
movq %rax, %r15
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
movq %rbx, %rdi
callq *0x10(%r14)
movq %r15, %rdi
callq 0x114f61
movq %rbx, %rax
addq $0xd0, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movb (%rdx), %al
testb %al, %al
je 0x1090c7
movq %rdx, %r14
movq %rdi, %r15
incq %r14
leaq 0x7(%rsp), %r12
movb %al, 0x7(%rsp)
movl $0x1, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq *0x10(%r15)
movb (%r14), %al
incq %r14
testb %al, %al
jne 0x1090aa
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/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 %rbx
movabsq $-0x5fcd66d36840c2e6, %rsi # imm = 0xA032992C97BF3D1A
callq 0xe9c93
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
cmpq %rcx, %rax
jne 0x109c5e
leaq 0x48336(%rip), %rdi     # 0x151f32
callq 0xe1270
movq %rax, %rbx
movq %rax, %rdi
callq 0x121a2b
leaq 0x48ab5(%rip), %rdi     # 0x1526c8
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x121a5c
leaq 0x454c6(%rip), %rdi     # 0x14f0f2
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
callq 0x121b6d
leaq 0x1f(%rip), %rsi        # 0x109c62
movabsq $0x5ea8cabb93ff3b7e, %rdi # imm = 0x5EA8CABB93FF3B7E
callq 0xcf6c4
leaq 0x9fe57(%rip), %rdi     # 0x1a9ab0
callq 0xf3f47
xorl %eax, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl $0x28, %esi
xorl %edi, %edi
callq 0xc8315
movq %rax, %r14
movl $0x28, %esi
movq %rax, %rdi
callq 0xc8366
movabsq $0x5ea8cabb93ff3b7e, %rax # imm = 0x5EA8CABB93FF3B7E
movq %rax, (%r14)
movq 0x8(%rbx), %rax
movq %rax, 0x8(%r14)
leaq 0x489eb(%rip), %rdi     # 0x1526c8
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xce9cd
movq %rax, 0x10(%r14)
leaq 0x48afb(%rip), %rdi     # 0x1527f5
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xce882
movq %rax, 0x18(%r14)
leaq 0x489dd(%rip), %rdi     # 0x1526f4
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xce882
movq %rax, 0x20(%r14)
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r15
movq %rdx, %r12
movq %rsi, %rbx
movq %rdi, %r14
movq %rsi, %rdi
callq 0x115353
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x10a1da
movq 0x8(%rax), %rdx
jmp 0x10a1e1
leaq 0x4950e(%rip), %rdx     # 0x1536ef
movq 0x18(%r14), %rcx
movq 0x20(%r14), %r8
leaq 0x4c1cb(%rip), %rsi     # 0x1563bb
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1157cb
movq %rbx, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x115785
movq 0x28(%r14), %rax
testq %rax, %rax
je 0x10a231
movq 0x8(%rax), %rdx
leaq 0x45a47(%rip), %rsi     # 0x14fc63
movq %rbx, %rdi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x1157cb
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r15
movq %rdx, %r12
movq %rsi, %rbx
movq %rdi, %r14
movq %rsi, %rdi
callq 0x115353
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x10a2e8
movq 0x8(%rax), %rdx
jmp 0x10a2ef
leaq 0x49400(%rip), %rdx     # 0x1536ef
movq 0x18(%r14), %rcx
movq 0x20(%r14), %r8
leaq 0x4c0d8(%rip), %rsi     # 0x1563d6
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1157cb
movq %rbx, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x115785
movq 0x28(%r14), %rax
testq %rax, %rax
je 0x10a33f
movq 0x8(%rax), %rdx
leaq 0x45939(%rip), %rsi     # 0x14fc63
movq %rbx, %rdi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x1157cb
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rcx, %r15
movq %rdx, %r12
movq %rsi, %rbx
movq %rdi, %r14
movq 0x50(%rdi), %rax
testq %rax, %rax
je 0x10a3f3
movq %rbx, %rdi
callq *%rax
movq %rax, %r13
jmp 0x10a3f6
xorl %r13d, %r13d
cmpq $0x0, 0x10(%r14)
jne 0x10a40c
leaq 0x3ab1a(%rip), %rsi     # 0x144f1e
movq %r14, %rdi
callq 0xf592c
movq %rbx, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq *0x10(%r14)
movq %rax, %r15
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x10aa6e
movq %r15, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movq 0x50(%rdi), %rax
testq %rax, %rax
je 0x10a45c
movq %rbx, %rdi
callq *%rax
movq %rax, %r15
jmp 0x10a45f
xorl %r15d, %r15d
leaq 0xf(%rsp), %r12
movb $0x0, (%r12)
movl $0x1, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq *0x10(%r14)
movb (%r12), %bpl
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x10aa6e
movl %ebp, %eax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
movq %rdx, %rdi
movq %rsi, %rbx
movq %rcx, %rsi
callq 0x114beb
movq %rax, %r14
xorl %eax, %eax
callq 0x114bbb
movq %rax, %r15
movq 0x8(%r14), %rcx
leaq 0x48add(%rip), %rdx     # 0x152fa9
movq %rbx, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0x10a519
leaq 0x9e910(%rip), %rax     # 0x1a8df0
movq (%rax), %rdi
movq 0x8(%r15), %rdx
leaq 0x45775(%rip), %rsi     # 0x14fc63
xorl %eax, %eax
callq 0x109273
movq %r14, %rdi
callq 0x114f61
movq %r15, %rdi
callq 0x114f61
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1, %esi
popq %rbx
popq %r14
popq %r15
jmp 0x59980
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r15
movq %rdi, %r12
movq %rdx, %rdi
movq %rcx, %rsi
callq 0x114cd0
movq %rax, %r14
callq 0x109f7a
movq %rax, %rbx
movq 0x18(%r12), %rax
testq %rax, %rax
je 0x10a6a4
movq %r15, %rdi
movq %rbx, %rsi
callq *%rax
xorl %eax, %eax
callq 0x114bbb
movq %rax, %r15
movq 0x8(%r14), %rcx
leaq 0x455ab(%rip), %rdx     # 0x14fc64
movq %rbx, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0x10a23d
leaq 0x9e71b(%rip), %rax     # 0x1a8de8
movq (%rax), %rdi
movq 0x8(%r15), %rdx
leaq 0x4e92d(%rip), %rsi     # 0x159008
xorl %eax, %eax
callq 0x109273
movq %r14, %rdi
callq 0x114f61
movq %r15, %rdi
callq 0x114f61
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x10a029
// File: /workspace/github_c_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rdx, %rdx
je 0x10a86f
movq %r8, %r14
movq %rcx, %r15
movq %rdx, %rbx
movq %rdi, %rbp
cmpq $0x0, 0x18(%rdi)
je 0x10a87e
movq %rsi, %r13
callq 0x109f7a
movq %rax, %r12
movq 0x18(%rbp), %rax
testq %rax, %rax
je 0x10a805
movq %r13, %rdi
movq %r12, %rsi
callq *%rax
movq %r15, %rdi
movq %r14, %rsi
callq 0x114cd0
movq %rax, %r14
xorl %eax, %eax
callq 0x114bbb
movq %rax, %r15
movq 0x8(%r14), %rcx
leaq 0x4543c(%rip), %r13     # 0x14fc64
movq %r12, %rdi
movq %rax, %rsi
movq %r13, %rdx
xorl %eax, %eax
callq 0x10a23d
movq 0x8(%r15), %rdx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x109273
movq %r14, %rdi
callq 0x114f61
movq %r15, %rdi
callq 0x114f61
movq %r12, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x10a029
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq (%rbx), %r12
leaq 0x9f228(%rip), %rax     # 0x1a9ab0
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r12, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x10a8de
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x10a8de
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x10a8de
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x10a92d
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x10a90e
movabsq $0x5ea8cabb93ff3b7e, %rdi # imm = 0x5EA8CABB93FF3B7E
movq %r12, %rsi
callq 0xf3f85
movq %rax, %r13
leaq 0x9f1ad(%rip), %rdi     # 0x1a9ab0
movq %r12, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r13, %rdi
movq %rbx, %rsi
movq %r15, %rdx
movq %r14, %rcx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x108f56
xorl %r13d, %r13d
jmp 0x10a8e2
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movq %rsi, %rdi
movq %rdx, %rsi
callq 0x114cd0
movq %rax, %r14
xorl %eax, %eax
callq 0x114bbb
movq %rax, %r15
movq 0x8(%r14), %rcx
leaq 0x469e6(%rip), %rdx     # 0x152fa9
movq %rbx, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0x10a519
movq 0x8(%r15), %rsi
movabsq $0x690af8765815ec4d, %rdi # imm = 0x690AF8765815EC4D
callq 0xc86db
movq %rax, %rbx
movq %r14, %rdi
callq 0x114f61
movq %r15, %rdi
callq 0x114f61
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/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 %rbx
movabsq $-0x64a58a057bb75aa0, %rsi # imm = 0x9B5A75FA8448A560
callq 0xe9c93
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
cmpq %rcx, %rax
jne 0x10c73e
leaq 0x95(%rip), %rsi        # 0x10c742
movabsq $0x420d5f875454e1c, %rdi # imm = 0x420D5F875454E1C
callq 0xcf6c4
leaq 0x45853(%rip), %rdi     # 0x151f16
callq 0xe1270
movq %rax, %rbx
movq %rax, %rdi
callq 0x121a2b
leaq 0x46609(%rip), %rdi     # 0x152ce3
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x121a5c
leaq 0x4661b(%rip), %rdi     # 0x152d0e
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x121a5c
leaq 0x429e6(%rip), %rdi     # 0x14f0f2
callq 0xe1270
movq %rbx, %rdi
movq %rax, %rsi
callq 0x121b6d
leaq 0x35(%rip), %rsi        # 0x10c758
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
callq 0xcf6c4
leaq 0x9d58f(%rip), %rdi     # 0x1a9cc8
callq 0xf3f47
xorl %eax, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/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 %rbx
leaq 0x457c3(%rip), %rdi     # 0x151f23
callq 0xe1270
movabsq $0x227a6d8aa01a2cbe, %rsi # imm = 0x227A6D8AA01A2CBE
movl $0x60, %edx
movl $0x8, %ecx
movq %rax, %rdi
callq 0xcd779
movq %rax, %rbx
leaq 0x31e66(%rip), %rdi     # 0x13e5f1
callq 0xe1270
movabsq $-0x7c15e45e4ba87aee, %rsi # imm = 0x83EA1BA1B4578512
movl $0x1, %edi
movq %rax, %rdx
callq 0xc9681
movq %rbx, %rdi
movq %rax, %rsi
callq 0xcd52c
movq 0x30(%rbx), %rdi
xorl %esi, %esi
callq 0xccf64
leaq 0x1b(%rip), %rsi        # 0x10c7df
leaq 0x46f25(%rip), %rdx     # 0x1536f0
leaq 0x46f2d(%rip), %rcx     # 0x1536ff
movq %rbx, %rdi
callq 0xcd5ad
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_spect_via.c
// Function: bcore_via_default_iget
sr_s bcore_via_default_iget( 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 ];
    if( vitem->fp_get )  // explicit getter
    {
        return vitem->fp_get( o );
    }
    switch( vitem->caps )
    {
        case BCORE_CAPS_SOLID_STATIC:
        {
            return sr_twm( vitem->type, ( vd_t )( ( u0_t* )o + vitem->offs ) );
        }

        case BCORE_CAPS_LINK_STATIC:
        {
            const bcore_link_static_s* dst = ( vc_t )( ( u0_t* )o + vitem->offs );
            return sr_twm( vitem->type, dst->link );
        }

        case BCORE_CAPS_LINK_TYPED:
        {
            const bcore_link_typed_s* dst = ( vc_t )( ( u0_t* )o + vitem->offs );
            return dst->link ? sr_twm( dst->type, dst->link ) : sr_null();
        }

        case BCORE_CAPS_LINK_AWARE:
        {
            const bcore_link_aware_s* dst = ( vc_t )( ( u0_t* )o + vitem->offs );
            return sr_twm( dst->link ? *(aware_t*)dst->link : 0, dst->link );
        }

        case BCORE_CAPS_ARRAY_DYN_SOLID_STATIC:
        case BCORE_CAPS_ARRAY_DYN_SOLID_TYPED:
        case BCORE_CAPS_ARRAY_DYN_LINK_STATIC:
        case BCORE_CAPS_ARRAY_DYN_LINK_TYPED:
        case BCORE_CAPS_ARRAY_DYN_LINK_AWARE:
        case BCORE_CAPS_ARRAY_FIX_SOLID_STATIC:
        case BCORE_CAPS_ARRAY_FIX_LINK_STATIC:
        case BCORE_CAPS_ARRAY_FIX_LINK_AWARE:
        {
            return sr_twm( vitem->type, ( vd_t )( ( u0_t* )o + vitem->offs ) );
        }

        default: break;
    }

    return sr_null();
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r15
movq %rdx, %r14
movq %rsi, %r12
movq %rdi, %rbx
movq 0x20(%rsi), %r9
cmpq %rcx, %r9
ja 0x10ca6d
leaq 0x49bb8(%rip), %rdi     # 0x156608
leaq 0x49bc8(%rip), %rsi     # 0x15661f
leaq 0x3d876(%rip), %rcx     # 0x14a2d4
movl $0x31, %edx
movq %r15, %r8
xorl %eax, %eax
callq 0xc80f6
movq 0x30(%r12), %rax
imulq $0x38, %r15, %rdx
movq 0x28(%rax,%rdx), %rcx
testq %rcx, %rcx
je 0x10ca8a
movq %rbx, %rdi
movq %r14, %rsi
callq *%rcx
jmp 0x10cacb
addq %rdx, %rax
movl 0x10(%rax), %ecx
decl %ecx
cmpl $0xc, %ecx
ja 0x10caf1
leaq 0x49aba(%rip), %rdx     # 0x156558
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq (%rax), %rdi
addq 0x18(%rax), %r14
movq %r14, (%rbx)
testq %rdi, %rdi
je 0x10cabd
callq 0x1123e1
jmp 0x10cabf
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movq $0x0, 0x10(%rbx)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq 0x18(%rax), %rax
movq (%r14,%rax), %rcx
testq %rcx, %rcx
je 0x10caf1
movq 0x8(%r14,%rax), %rdi
movq %rcx, (%rbx)
jmp 0x10cab1
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
jmp 0x10cac3
movq 0x18(%rax), %rax
movq (%r14,%rax), %rax
testq %rax, %rax
je 0x10cb18
movq (%rax), %rdi
jmp 0x10cb1a
movq (%rax), %rdi
movq 0x18(%rax), %rax
movq (%r14,%rax), %rax
jmp 0x10cb1a
xorl %edi, %edi
movq %rax, (%rbx)
jmp 0x10cab1
// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r15
movq 0x20(%rdi), %r9
cmpq %rdx, %r9
ja 0x10cb60
leaq 0x49aee(%rip), %rdi     # 0x156631
leaq 0x49ad5(%rip), %rsi     # 0x15661f
leaq 0x3d783(%rip), %rcx     # 0x14a2d4
movl $0x67, %edx
movq %rbx, %r8
xorl %eax, %eax
callq 0xc80f6
movq 0x30(%r15), %rax
imulq $0x38, %rbx, %rcx
movl 0x10(%rax,%rcx), %edx
addl $-0x3, %edx
cmpl $0x1, %edx
ja 0x10cb9a
leaq 0x20(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x10ca2c
movq 0x8(%r12), %rax
testq %rax, %rax
je 0x10cba2
movq 0x8(%rax), %rbx
jmp 0x10cba4
addq %rcx, %rax
movq (%rax), %rbx
jmp 0x10cbc3
xorl %ebx, %ebx
testb $0x2, 0x30(%rsp)
je 0x10cbc3
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0x112485
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r15
movq %rdi, %r14
movq 0x30(%rdi), %r12
imulq $0x38, %rdx, %r13
movl 0x10(%r12,%r13), %edi
addq %r13, %r12
callq 0xc9310
testb %al, %al
jne 0x10d6eb
movq 0x8(%r14), %rdi
callq 0xe0cbc
movq %rax, %rbx
testq %rax, %rax
leaq 0x4609c(%rip), %rbp     # 0x1536ef
cmoveq %rbp, %rbx
movq 0x20(%r14), %r9
cmpq %r15, %r9
ja 0x10d684
leaq 0x3cc3d(%rip), %rdi     # 0x14a2a4
leaq 0x3cc52(%rip), %rsi     # 0x14a2c0
leaq 0x3cc5f(%rip), %rcx     # 0x14a2d4
movl $0x4e, %edx
movq %r15, %r8
xorl %eax, %eax
callq 0xc80f6
movq 0x30(%r14), %rax
movq 0x8(%rax,%r13), %rdi
callq 0xe0cbc
movq %rax, %r14
testq %rax, %rax
cmoveq %rbp, %r14
movq (%r12), %rdi
callq 0xe0cbc
movq %rax, %r15
testq %rax, %rax
cmoveq %rbp, %r15
movl 0x10(%r12), %edi
callq 0xc9380
movq %rax, %r10
leaq 0x4900b(%rip), %rdi     # 0x1566ce
leaq 0x48f55(%rip), %rsi     # 0x15661f
leaq 0x4901a(%rip), %rcx     # 0x1566eb
movl $0x120, %edx            # imm = 0x120
movq %rbx, %r8
movq %r14, %r9
xorl %eax, %eax
pushq %r10
pushq %r15
callq 0xc80f6
addq $0x10, %rsp
movq (%r12), %rbx
leaq 0x9b72a(%rip), %rax     # 0x1a8e20
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %rbx, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %rbx, %rdx
je 0x10d74c
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0x10d74c
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0x10d74c
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0x10d78e
movq (%rax,%rcx), %r14
testq %r14, %r14
jne 0x10d77c
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
movq %rbx, %rsi
callq 0xf3f85
movq %rax, %r14
leaq 0x9b6af(%rip), %rdi     # 0x1a8e20
movq %rbx, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %r14d, %r14d
jmp 0x10d750
// File: /workspace/github_c_makefile_star2_O1/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 %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rdi, %r14
movq 0x20(%rdi), %r9
cmpq %rdx, %r9
ja 0x10dfaa
leaq 0x487af(%rip), %rdi     # 0x15673c
leaq 0x4868b(%rip), %rsi     # 0x15661f
leaq 0x3c339(%rip), %rcx     # 0x14a2d4
movl $0x179, %edx            # imm = 0x179
movq %rbx, %r8
xorl %eax, %eax
callq 0xc80f6
movq 0x30(%r14), %rax
imulq $0x38, %rbx, %rcx
movl 0x10(%rax,%rcx), %edi
leal -0x1(%rdi), %ecx
cmpl $0xd, %ecx
jae 0x10dfd1
movl $0x1fef, %eax           # imm = 0x1FEF
btl %ecx, %eax
jae 0x10dfd1
movl $0x1ff3, %ebx           # imm = 0x1FF3
shrl %cl, %ebx
jmp 0x10dffc
callq 0xc9380
leaq 0x4875f(%rip), %rdi     # 0x15673c
leaq 0x4863b(%rip), %rsi     # 0x15661f
leaq 0x4876e(%rip), %rcx     # 0x156759
xorl %ebx, %ebx
movl $0x188, %edx            # imm = 0x188
movq %rax, %r8
xorl %eax, %eax
callq 0xc80f6
andb $0x1, %bl
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_sr.c
// Function: sr_clone
sr_s sr_clone( sr_s o )
{
    if( !o.o ) return sr_null();
    sr_s sr;
    sr.o = bcore_inst_t_clone( sr_s_type( &o ), o.o );
    sr.p = o.p;
    sr.f = STRONG_f;
    sr_down( o );
    return sr;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
movq 0x50(%rsp), %r14
testq %r14, %r14
je 0x1124b8
leaq 0x50(%rsp), %r13
movq 0x8(%r13), %rax
testq %rax, %rax
je 0x1124cb
movq 0x8(%rax), %r15
jmp 0x1124ce
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
jmp 0x11259e
xorl %r15d, %r15d
leaq 0x96f93(%rip), %rax     # 0x1a9468
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r15, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r15, %rdx
je 0x11252f
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x11252f
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x11252f
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x1125af
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x11255f
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x96f14(%rip), %rdi     # 0x1a9468
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r12, %rdi
movq %r14, %rsi
callq *0xc0(%r12)
movq %rax, (%rbx)
movq 0x8(%r13), %rax
movq %rax, 0x8(%rbx)
movq $0x2, 0x10(%rbx)
testb $0x2, 0x10(%r13)
je 0x11259e
movq 0x10(%r13), %rax
movq %rax, 0x10(%rsp)
movups (%r13), %xmm0
movups %xmm0, (%rsp)
callq 0x101cb0
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
xorl %r12d, %r12d
jmp 0x112533
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_sr.c
// Function: sr_s_clone
sr_s* sr_s_clone( const sr_s* src )
{
    if( !src ) return NULL;
    sr_s* o = sr_s_create();
    sr_s_copy( o, src );
    return o;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x112d73
movq %rdi, %rbx
movl $0x18, %edi
movl $0x1, %edx
xorl %esi, %esi
xorl %ecx, %ecx
callq 0xc8339
movq %rax, %r14
movl $0x18, %esi
movq %rax, %rdi
callq 0xc8366
movq %r14, %rdi
movq %rbx, %rsi
callq 0x112bea
jmp 0x112d76
xorl %r14d, %r14d
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_sr.c
// Function: sr_s_to_tp
tp_t sr_s_to_tp( const sr_s* o )
{
    tp_t v = 0;
    if( !o->o ) return v;
    switch( sr_s_type( o ) )
    {
        case TYPEOF_u0_t: v = *( u0_t* )o->o; break;
        case TYPEOF_u1_t: v = *( u1_t* )o->o; break;
        case TYPEOF_u2_t: v = *( u2_t* )o->o; break;
        case TYPEOF_u3_t: v = *( u3_t* )o->o; break;
        case TYPEOF_s0_t: v = *( s0_t* )o->o; break;
        case TYPEOF_s1_t: v = *( s1_t* )o->o; break;
        case TYPEOF_s2_t: v = *( s2_t* )o->o; break;
        case TYPEOF_s3_t: v = *( s3_t* )o->o; break;
        case TYPEOF_uz_t: v = *( uz_t* )o->o; break;
        case TYPEOF_sz_t: v = *( sz_t* )o->o; break;
        case TYPEOF_tp_t: v = *( tp_t* )o->o; break;
        case TYPEOF_aware_t: v = *( aware_t* )o->o; break;
        default: ERR_fa( "Cannot convert '#<sc_t>' to tp_t.", ifnameof( sr_s_type( o ) ) );
    }
    return v;
}

// Assembly:
pushq %rbx
movq (%rdi), %rax
testq %rax, %rax
je 0x113c72
movq 0x8(%rdi), %rcx
testq %rcx, %rcx
je 0x113c79
movq 0x8(%rcx), %rcx
jmp 0x113c7b
xorl %ebx, %ebx
jmp 0x113d6c
xorl %ecx, %ecx
movabsq $-0x388c46b188de83ff, %rdx # imm = 0xC773B94E77217C01
cmpq %rdx, %rcx
jg 0x113cd9
movabsq $-0x5aa4411ac4e2880f, %rdx # imm = 0xA55BBEE53B1D77F1
cmpq %rdx, %rcx
jg 0x113d12
movabsq $-0x73f6ae1ad309fd45, %rdx # imm = 0x8C0951E52CF602BB
cmpq %rdx, %rcx
je 0x113d71
movabsq $-0x6bce971ace902370, %rdx # imm = 0x943168E5316FDC90
cmpq %rdx, %rcx
je 0x113d7c
movabsq $-0x6119581ac7eacd63, %rdx # imm = 0x9EE6A7E53815329D
cmpq %rdx, %rcx
jne 0x113d8c
movl (%rax), %ebx
jmp 0x113d6c
movabsq $0x62367a17d02b474c, %rdx # imm = 0x62367A17D02B474C
cmpq %rdx, %rcx
jg 0x113d3c
movabsq $-0x388c46b188de83fe, %rdx # imm = 0xC773B94E77217C02
cmpq %rdx, %rcx
je 0x113d69
movabsq $0x510c2417c67dabeb, %rdx # imm = 0x510C2417C67DABEB
cmpq %rdx, %rcx
je 0x113d81
movabsq $0x585a3b17ca3de200, %rdx # imm = 0x585A3B17CA3DE200
jmp 0x113d64
movabsq $-0x5aa4411ac4e2880e, %rdx # imm = 0xA55BBEE53B1D77F2
cmpq %rdx, %rcx
je 0x113d69
movabsq $-0x4882601bdca6aefb, %rdx # imm = 0xB77D9FE423595105
cmpq %rdx, %rcx
je 0x113d69
movabsq $-0x3f1363e6d8155aed, %rdx # imm = 0xC0EC9C1927EAA513
jmp 0x113d64
movabsq $0x62367a17d02b474d, %rdx # imm = 0x62367A17D02B474D
cmpq %rdx, %rcx
je 0x113d76
movabsq $0x69849117d3eb7d62, %rdx # imm = 0x69849117D3EB7D62
cmpq %rdx, %rcx
je 0x113d86
movabsq $0x6d07f9ef5b68e8a2, %rdx # imm = 0x6D07F9EF5B68E8A2
cmpq %rdx, %rcx
jne 0x113d8c
movq (%rax), %rbx
movq %rbx, %rax
popq %rbx
retq
movzbl (%rax), %ebx
jmp 0x113d6c
movsbq (%rax), %rbx
jmp 0x113d6c
movzwl (%rax), %ebx
jmp 0x113d6c
movslq (%rax), %rbx
jmp 0x113d6c
movswq (%rax), %rbx
jmp 0x113d6c
movq 0x8(%rdi), %rax
testq %rax, %rax
je 0x113d9b
movq 0x8(%rax), %rdi
jmp 0x113d9d
xorl %edi, %edi
callq 0xe0cbc
testq %rax, %rax
leaq 0x3f943(%rip), %r8      # 0x1536ef
cmovneq %rax, %r8
leaq 0x430b7(%rip), %rdi     # 0x156e6e
leaq 0x42ffc(%rip), %rsi     # 0x156dba
leaq 0x430b4(%rip), %rcx     # 0x156e79
xorl %ebx, %ebx
movl $0x159, %edx            # imm = 0x159
xorl %eax, %eax
callq 0xc825d
jmp 0x113d6c