LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore_spect_interpreter.c
// Function: bcore_interpret_auto
sr_s bcore_interpret_auto( sr_s source )
{
    bcore_life_s* l = bcore_life_s_create();
    sr_s src = sr_cp( bcore_life_s_push_sr( l, source ), TYPEOF_bcore_source_s );
    bcore_txt_ml_interpreter_s* txt_ml = bcore_life_s_push_aware( l, bcore_txt_ml_interpreter_s_create() );
    sr_s interpreter = bcore_txt_ml_interpreter_s_interpret( txt_ml, src );

    if( !interpreter.o ) bcore_source_x_parse_err_fa( src, "No interpreter specified." );

    st_s* log = bcore_life_s_push_aware( l, st_s_create() );
    if( !bcore_trait_satisfied_type( typeof( "bcore_interpreter" ), sr_s_type( &interpreter ), log ) )
    {
        bcore_source_x_parse_err_fa( src, "Object '#<sc_t>' is no interpreter.\nReason: #<sc_t>", ifnameof( sr_s_type( &interpreter ) ), log->sc );
    }

    sr_s obj = bcore_interpret_x( interpreter, src );

    bcore_life_s_discard( l );

    return obj;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rdi, %rbx
xorl %eax, %eax
callq 0x717ac
movq %rax, %r14
movq 0xb0(%rsp), %rax
movq %rax, 0x10(%rsp)
movaps 0xa0(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x60(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x719e2
movq (%r15), %r12
movq 0x8(%r15), %rdi
movq 0x10(%r15), %r15
movabsq $-0x7e8ee9b9b4bbaa8, %rsi # imm = 0xF817116464B44558
callq 0x7abc8
movq %r12, 0x30(%rsp)
movq %rax, 0x38(%rsp)
movq %r15, 0x40(%rsp)
xorl %eax, %eax
callq 0x9af9f
movq %r14, %rdi
movq %rax, %rsi
callq 0x71a4d
movq 0x40(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movups 0x30(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x48(%rsp), %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x9affc
cmpq $0x0, (%r15)
jne 0x8731e
movq 0x40(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x30(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x41c3f(%rip), %rdi     # 0xc8f56
xorl %eax, %eax
callq 0x89616
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x8eb65
movq %r14, %rdi
movq %rax, %rsi
callq 0x71a4d
movq %rax, %r15
leaq 0x3dbc3(%rip), %rdi     # 0xc4f00
callq 0x873f2
movq 0x50(%rsp), %rcx
testq %rcx, %rcx
je 0x87350
movq 0x8(%rcx), %r12
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x99961
testb %al, %al
jne 0x873ac
movq 0x50(%rsp), %rax
testq %rax, %rax
je 0x87372
movq 0x8(%rax), %rdi
jmp 0x87374
xorl %edi, %edi
callq 0x71db6
testq %rax, %rax
leaq 0x3f249(%rip), %rsi     # 0xc65cc
cmovneq %rax, %rsi
movq 0x8(%r15), %rdx
movq 0x40(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x30(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x41bcb(%rip), %rdi     # 0xc8f70
xorl %eax, %eax
callq 0x89616
movq 0x40(%rsp), %rax
movq %rax, 0x28(%rsp)
movups 0x30(%rsp), %xmm0
movups %xmm0, 0x18(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x48(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %rbx, %rdi
callq 0x8742a
movq %r14, %rdi
callq 0x717c7
movq %rbx, %rax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x7abc8
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 0x87485
leaq 0x30(%rsp), %rax
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rsp)
movups (%rax), %xmm0
movups %xmm0, (%rsp)
callq 0x8cdc1
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x7656e
movq %rax, %r14
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0x874c1
movq (%r14), %rdi
callq 0x8cd25
movq %rax, %r12
movq %r12, 0x28(%rsp)
movq $0x2, 0x30(%rsp)
movq %r15, %rdi
callq 0x77118
movq %r14, %rdi
movq %rax, %rsi
callq 0x765c4
leaq 0x3da61(%rip), %rdi     # 0xc4f4a
callq 0x873f2
testq %rax, %rax
je 0x87528
movq %rax, %r15
leaq 0x90f6b(%rip), %rax     # 0x118468
movl (%rax), %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
movq 0x20(%rax,%rcx), %rdx
movq 0x18(%rax,%rcx), %rcx
andq %r15, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rcx
cmpq %r15, %rcx
jne 0x8752c
pushq $0x8
jmp 0x87551
xorl %esi, %esi
jmp 0x87590
movq 0x10(%rax), %rcx
cmpq %r15, %rcx
jne 0x87539
pushq $0x18
jmp 0x87551
movq 0x20(%rax), %rcx
cmpq %r15, %rcx
jne 0x87546
pushq $0x28
jmp 0x87551
movq 0x30(%rax), %rcx
cmpq %r15, %rcx
jne 0x8755b
pushq $0x38
popq %rcx
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x87582
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r15, %rsi
callq 0x79b94
movq %rax, %r12
leaq 0x90ef1(%rip), %rdi     # 0x118468
movq %r15, %rsi
movq %rax, %rdx
callq 0x98d4b
movq %r12, %rdi
callq *0xa8(%r12)
movq %rax, %rsi
movq %r14, %rdi
callq 0x765c4
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %rbx, %rdi
callq 0x87258
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/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 %rbx
movq %rdi, %rbx
leaq 0x41990(%rip), %rdi     # 0xc8fa4
callq 0x873f2
movq %rbx, %rdi
movq %rax, %rsi
callq 0x75141
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
cmpq %rcx, %rax
jne 0x8766c
leaq 0x91046(%rip), %rdi     # 0x118680
callq 0x79b56
leaq 0x3d8cc(%rip), %rdi     # 0xc4f12
callq 0x873f2
movq %rax, %rbx
leaq 0x3d8ab(%rip), %rdi     # 0xc4f00
callq 0x7227a
leaq 0xf(%rip), %rdx         # 0x87670
movq %rbx, %rdi
movq %rax, %rsi
callq 0x7a447
xorl %eax, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x876b6
leaq 0x4198b(%rip), %rdi     # 0xc9029
leaq 0x4199f(%rip), %rsi     # 0xc9044
leaq 0x419ad(%rip), %rcx     # 0xc9059
pushq $0x41
popq %rdx
xorl %eax, %eax
callq 0x60186
movq 0x20(%r14), %r8
testq %r8, %r8
je 0x876de
leaq 0x41963(%rip), %rdi     # 0xc9029
leaq 0x41977(%rip), %rsi     # 0xc9044
leaq 0x419ab(%rip), %rcx     # 0xc907f
pushq $0x42
popq %rdx
xorl %eax, %eax
callq 0x60186
movq 0x10(%r14), %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x7b3ea
movq 0x40(%r14), %rax
cmpq $-0x1, %rax
je 0x876fb
andq $0x0, (%rbx,%rax)
movq 0x38(%r14), %rax
cmpq $-0x1, %rax
je 0x8770a
andq $0x0, (%rbx,%rax)
movq 0x30(%r14), %rax
cmpq $-0x1, %rax
je 0x87719
andq $0x0, (%rbx,%rax)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x87768
leaq 0x41958(%rip), %rdi     # 0xc90a8
leaq 0x418ed(%rip), %rsi     # 0xc9044
leaq 0x418fb(%rip), %rcx     # 0xc9059
pushq $0x4d
popq %rdx
xorl %eax, %eax
callq 0x60186
movq 0x20(%r12), %r8
testq %r8, %r8
sete %al
cmpq %r15, %r8
sete %cl
orb %al, %cl
jne 0x8779c
leaq 0x41924(%rip), %rdi     # 0xc90a8
leaq 0x418b9(%rip), %rsi     # 0xc9044
leaq 0x418ed(%rip), %rcx     # 0xc907f
pushq $0x4e
popq %rdx
xorl %eax, %eax
callq 0x60186
movq 0x28(%r12), %r8
testq %r8, %r8
sete %al
cmpq %r15, %r8
sete %cl
orb %al, %cl
jne 0x877d0
leaq 0x418f0(%rip), %rdi     # 0xc90a8
leaq 0x41885(%rip), %rsi     # 0xc9044
leaq 0x41900(%rip), %rcx     # 0xc90c6
pushq $0x4f
popq %rdx
xorl %eax, %eax
callq 0x60186
movq 0x10(%r12), %rdi
movq %r15, %rdx
imulq %rbx, %rdx
movq %r14, %rsi
callq 0x7b8b6
movq 0x40(%r12), %rax
cmpq $-0x1, %rax
je 0x877f3
movq %r15, (%r14,%rax)
movq 0x38(%r12), %rax
cmpq $-0x1, %rax
je 0x87802
movq %r15, (%r14,%rax)
movq 0x30(%r12), %rax
cmpq $-0x1, %rax
je 0x87811
movq %rbx, (%r14,%rax)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/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
movq %rdi, %rbx
leaq 0x418c4(%rip), %rdi     # 0xc90ef
callq 0x878cd
movq %rbx, %rdi
movq %rax, %rsi
callq 0x75141
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
cmpq %rcx, %rax
jne 0x878c3
leaq 0x418b1(%rip), %rbx     # 0xc9102
movq %rbx, %rdi
callq 0x7227a
movq %rax, %r14
leaq 0x3ed6a(%rip), %rdi     # 0xc65cd
callq 0x7227a
movq %r14, %rdi
movq %rax, %rsi
callq 0x99410
movq %rbx, %rdi
callq 0x7227a
leaq 0x83(%rip), %rsi        # 0x87905
movq %rax, %rdi
callq 0x6656d
leaq 0x91007(%rip), %rdi     # 0x118898
callq 0x79b56
leaq 0x3d8e1(%rip), %rdi     # 0xc517e
callq 0x878cd
movq %rax, %rbx
leaq 0x41876(%rip), %rdi     # 0xc9122
callq 0x7227a
leaq 0x10a(%rip), %rdx       # 0x879c2
movq %rbx, %rdi
movq %rax, %rsi
callq 0x7a447
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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
leaq 0x3d86b(%rip), %rdi     # 0xc517e
callq 0x878cd
movq %rax, %rdi
callq 0x64ca3
movq %rax, %rdi
movq %r14, %rsi
callq 0x79d6f
movq %rax, %rbx
movq 0x8(%r14), %rsi
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
callq 0x79b94
movq %rax, 0x10(%rbx)
cmpq $0x0, 0x20(%rbx)
jne 0x8797e
cmpq $-0x1, 0x38(%rbx)
jne 0x8797e
movq 0x8(%r14), %rdi
callq 0x879d4
leaq 0x4179f(%rip), %rdi     # 0xc9102
leaq 0x416da(%rip), %rsi     # 0xc9044
leaq 0x417be(%rip), %rcx     # 0xc912f
pushq $0x2e
popq %rdx
movq %rax, %r8
xorl %eax, %eax
callq 0x60186
cmpq $0x0, 0x18(%rbx)
jne 0x879b7
cmpq $-0x1, 0x30(%rbx)
jne 0x879b7
movq 0x8(%r14), %rdi
callq 0x879d4
leaq 0x41766(%rip), %rdi     # 0xc9102
leaq 0x416a1(%rip), %rsi     # 0xc9044
leaq 0x417bd(%rip), %rcx     # 0xc9167
pushq $0x33
popq %rdx
movq %rax, %r8
xorl %eax, %eax
callq 0x60186
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x8eb93
movq %rax, %r15
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
movq %rbx, %rdi
callq *0x10(%r14)
movq %r15, %rdi
callq 0x8edd4
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/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 %r13
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rdx, %r14
movq %rsi, %rbx
movq %rdi, %r15
leaq 0xf(%rsp), %r12
pushq $0x1
popq %r13
movb (%r14), %al
testb %al, %al
je 0x87bed
movb %al, 0xf(%rsp)
movq %rbx, %rdi
movq %r12, %rsi
movq %r13, %rdx
callq *0x10(%r15)
incq %r14
jmp 0x87bd0
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/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
movq %rdi, %rbx
leaq 0x41196(%rip), %rdi     # 0xc9363
callq 0x8825e
movq %rbx, %rdi
movq %rax, %rsi
callq 0x75141
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
cmpq %rcx, %rax
jne 0x8825a
leaq 0x3ccbf(%rip), %rdi     # 0xc4eb2
callq 0x7227a
movq %rax, %rbx
movq %rax, %rdi
callq 0x9931a
leaq 0x3d363(%rip), %rdi     # 0xc556d
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x99335
leaq 0x39c82(%rip), %rdi     # 0xc1ea5
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
callq 0x99410
leaq 0x3cc83(%rip), %rdi     # 0xc4ebd
callq 0x8825e
leaq 0x50(%rip), %rsi        # 0x88296
movq %rax, %rdi
callq 0x6513b
leaq 0x9085b(%rip), %rdi     # 0x118ab0
callq 0x79b56
xorl %eax, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/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 %rbx
leaq 0x410d6(%rip), %rdi     # 0xc9374
pushq $0x28
popq %rsi
pushq $0x8
popq %rdx
callq 0x64356
movq %rax, %rbx
leaq 0x113(%rip), %rsi       # 0x883c6
leaq 0x3e313(%rip), %rdx     # 0xc65cd
leaq 0x3e31b(%rip), %rcx     # 0xc65dc
movq %rax, %rdi
callq 0x63a2b
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/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 %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
pushq $0x28
popq %r15
xorl %edi, %edi
movq %r15, %rsi
callq 0x6023e
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x6028b
leaq 0x3cacc(%rip), %rdi     # 0xc4ebd
callq 0x8825e
movq %rax, (%r14)
movq 0x8(%rbx), %rax
movq %rax, 0x8(%r14)
leaq 0x3d165(%rip), %rdi     # 0xc556d
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x6458a
movq %rax, 0x10(%r14)
leaq 0x3d275(%rip), %rdi     # 0xc569a
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x6449c
movq %rax, 0x18(%r14)
leaq 0x3d157(%rip), %rdi     # 0xc5599
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x6449c
movq %rax, 0x20(%r14)
movq %r14, %rax
popq %rbx
popq %r14
popq %r15
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/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 0x8f0c3
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x8853f
movq 0x8(%rax), %rdx
jmp 0x88546
leaq 0x3e086(%rip), %rdx     # 0xc65cc
movq 0x18(%r14), %rcx
movq 0x20(%r14), %r8
leaq 0x40e59(%rip), %rsi     # 0xc93ae
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8f4ef
movq %rbx, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x8f4ba
movq 0x28(%r14), %rax
testq %rax, %rax
je 0x88596
movq 0x8(%rax), %rdx
leaq 0x3a587(%rip), %rsi     # 0xc2b08
movq %rbx, %rdi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x8f4ef
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x8f0c3
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x8864d
movq 0x8(%rax), %rdx
jmp 0x88654
leaq 0x3df78(%rip), %rdx     # 0xc65cc
movq 0x18(%r14), %rcx
movq 0x20(%r14), %r8
leaq 0x40d66(%rip), %rsi     # 0xc93c9
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8f4ef
movq %rbx, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x8f4ba
movq 0x28(%r14), %rax
testq %rax, %rax
je 0x886a4
movq 0x8(%rax), %rdx
leaq 0x3a479(%rip), %rsi     # 0xc2b08
movq %rbx, %rdi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x8f4ef
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x88758
movq %rbx, %rdi
callq *%rax
movq %rax, %r13
jmp 0x8875b
xorl %r13d, %r13d
movq 0x10(%r14), %rax
testq %rax, %rax
jne 0x88777
leaq 0x2ea71(%rip), %rsi     # 0xb71dc
movq %r14, %rdi
callq 0x7ac00
movq 0x10(%r14), %rax
movq %rbx, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq *%rax
movq %rax, %r15
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x88cbb
movq %r15, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x887c5
movq %rbx, %rdi
callq *%rax
movq %rax, %r15
jmp 0x887c8
xorl %r15d, %r15d
leaq 0xf(%rsp), %r12
movb $0x0, (%r12)
pushq $0x1
popq %rdx
movq %rbx, %rdi
movq %r12, %rsi
callq *0x10(%r14)
movb (%r12), %bpl
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x88cbb
movl %ebp, %eax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x8eb93
movq %rax, %r14
xorl %eax, %eax
callq 0x8eb65
movq %rax, %r15
movq 0x8(%r14), %rcx
leaq 0x3d63e(%rip), %rdx     # 0xc5e71
movq %rbx, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0x8887c
leaq 0x8f5a9(%rip), %rax     # 0x117df0
movq (%rax), %rdi
movq 0x8(%r15), %rdx
leaq 0x3a2b3(%rip), %rsi     # 0xc2b08
xorl %eax, %eax
callq 0x87cf1
movq %r14, %rdi
callq 0x8edd4
movq %r15, %rdi
callq 0x8edd4
pushq $-0x1
popq %rdi
pushq $0x1
popq %rsi
popq %rbx
popq %r14
popq %r15
jmp 0x2dc10
// File: /workspace/github_c_makefile_star2_O2/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 0x8ec4c
movq %rax, %r14
callq 0x884c4
movq %rax, %rbx
movq 0x18(%r12), %rax
testq %rax, %rax
je 0x88975
movq %r15, %rdi
movq %rbx, %rsi
callq *%rax
xorl %eax, %eax
callq 0x8eb65
movq %rax, %r15
movq 0x8(%r14), %rcx
leaq 0x3a17f(%rip), %rdx     # 0xc2b09
movq %rbx, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0x885a2
leaq 0x8f44a(%rip), %rax     # 0x117de8
movq (%rax), %rdi
movq 0x8(%r15), %rdx
leaq 0x436fc(%rip), %rsi     # 0xcc0a8
xorl %eax, %eax
callq 0x87cf1
movq %r14, %rdi
callq 0x8edd4
movq %r15, %rdi
callq 0x8edd4
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x884d4
// File: /workspace/github_c_makefile_star2_O2/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 0x88b40
movq %r8, %r14
movq %rcx, %r15
movq %rdx, %rbx
movq %rdi, %rbp
cmpq $0x0, 0x18(%rdi)
je 0x88b4f
movq %rsi, %r13
callq 0x884c4
movq %rax, %r12
movq 0x18(%rbp), %rax
testq %rax, %rax
je 0x88ad6
movq %r13, %rdi
movq %r12, %rsi
callq *%rax
movq %r15, %rdi
movq %r14, %rsi
callq 0x8ec4c
movq %rax, %r14
xorl %eax, %eax
callq 0x8eb65
movq %rax, %r15
movq 0x8(%r14), %rcx
leaq 0x3a010(%rip), %r13     # 0xc2b09
movq %r12, %rdi
movq %rax, %rsi
movq %r13, %rdx
xorl %eax, %eax
callq 0x885a2
movq 0x8(%r15), %rdx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x87cf1
movq %r14, %rdi
callq 0x8edd4
movq %r15, %rdi
callq 0x8edd4
movq %r12, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x884d4
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq (%rbx), %r12
leaq 0x8ff57(%rip), %rdi     # 0x118ab0
movq %r12, %rsi
callq 0x8a0e3
movq %rax, %r13
testq %rax, %rax
jne 0x88b90
movabsq $0x5ea8cabb93ff3b7e, %rdi # imm = 0x5EA8CABB93FF3B7E
movq %r12, %rsi
callq 0x79b94
movq %rax, %r13
leaq 0x8ff2b(%rip), %rdi     # 0x118ab0
movq %r12, %rsi
movq %rax, %rdx
callq 0x98d4b
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 0x87aa5
// File: /workspace/github_c_makefile_star2_O2/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 0x8ec4c
movq %rax, %r14
xorl %eax, %eax
callq 0x8eb65
movq %rax, %r15
movq 0x8(%r14), %rcx
leaq 0x3c04c(%rip), %rdx     # 0xc5e71
movq %rbx, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0x8887c
movq 0x8(%r15), %rsi
movabsq $0x690af8765815ec4d, %rdi # imm = 0x690AF8765815EC4D
callq 0x60533
movq %rax, %rbx
movq %r14, %rdi
callq 0x8edd4
movq %r15, %rdi
callq 0x8edd4
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/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
movq %rdi, %rbx
leaq 0x3f571(%rip), %rdi     # 0xc9461
callq 0x89fb9
movq %rbx, %rdi
movq %rax, %rsi
callq 0x75141
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
cmpq %rcx, %rax
jne 0x89fb5
leaq 0x3b273(%rip), %rdi     # 0xc518d
callq 0x89fb9
leaq 0xcb(%rip), %rsi        # 0x89ff1
movq %rax, %rdi
callq 0x6513b
leaq 0x3af61(%rip), %rdi     # 0xc4e96
callq 0x7227a
movq %rax, %rbx
movq %rax, %rdi
callq 0x9931a
leaq 0x3bc5f(%rip), %rdi     # 0xc5bab
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x99335
leaq 0x3bc71(%rip), %rdi     # 0xc5bd6
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x99335
leaq 0x37f27(%rip), %rdi     # 0xc1ea5
callq 0x7227a
movq %rbx, %rdi
movq %rax, %rsi
callq 0x99410
leaq 0x3af0e(%rip), %rdi     # 0xc4ea3
callq 0x89fb9
leaq 0x62(%rip), %rsi        # 0x8a003
movq %rax, %rdi
callq 0x6513b
leaq 0x8ed18(%rip), %rdi     # 0x118cc8
callq 0x79b56
xorl %eax, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x3ae98(%rip), %rdi     # 0xc4ea3
callq 0x7227a
movq %rax, %rbx
leaq 0x3c764(%rip), %rdi     # 0xc677e
callq 0x89fb9
pushq $0x60
popq %rdx
pushq $0x8
popq %rcx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x63bce
movq %rax, %rbx
leaq 0x267ad(%rip), %rdi     # 0xb07e7
callq 0x7227a
pushq $0x1
popq %rdi
movabsq $-0x7c15e45e4ba87aee, %rsi # imm = 0x83EA1BA1B4578512
movq %rax, %rdx
callq 0x61350
movq %rbx, %rdi
movq %rax, %rsi
callq 0x639c4
movq 0x30(%rbx), %rdi
xorl %esi, %esi
callq 0x6348c
leaq 0x11a(%rip), %rsi       # 0x8a18b
leaq 0x3c555(%rip), %rdx     # 0xc65cd
leaq 0x3c55d(%rip), %rcx     # 0xc65dc
movq %rbx, %rdi
callq 0x63a2b
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/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 %rbx
movq %rdi, %rbx
leaq 0x3f175(%rip), %rdi     # 0xc94f1
callq 0x8a3d8
movq %rbx, %rdi
movq %rax, %rsi
callq 0x75141
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
cmpq %rcx, %rax
jne 0x8a3d4
leaq 0x8eb3e(%rip), %rdi     # 0x118ee0
callq 0x79b56
leaq 0x3ab89(%rip), %rdi     # 0xc4f37
callq 0x8a3d8
movq %rax, %rbx
leaq 0x3ab69(%rip), %rdi     # 0xc4f26
callq 0x7227a
leaq 0x47(%rip), %rdx        # 0x8a410
movq %rbx, %rdi
movq %rax, %rsi
callq 0x7a447
xorl %eax, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x8a498
leaq 0x3f1ab(%rip), %rdi     # 0xc9628
leaq 0x3f1bb(%rip), %rsi     # 0xc963f
leaq 0x3298e(%rip), %rcx     # 0xbce19
pushq $0x31
popq %rdx
movq %r15, %r8
xorl %eax, %eax
callq 0x60031
movq 0x30(%r12), %rax
imulq $0x38, %r15, %rdx
movq 0x28(%rax,%rdx), %rcx
testq %rcx, %rcx
je 0x8a4b5
movq %rbx, %rdi
movq %r14, %rsi
callq *%rcx
jmp 0x8a52b
addq %rdx, %rax
movl 0x10(%rax), %ecx
decl %ecx
cmpl $0xc, %ecx
ja 0x8a4f5
leaq 0x3f0ab(%rip), %rdx     # 0xc9574
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq (%rax), %rsi
addq 0x18(%rax), %r14
movq %rbx, %rdi
movq %r14, %rdx
jmp 0x8a526
movq 0x18(%rax), %rax
movq (%r14,%rax), %rdx
testq %rdx, %rdx
je 0x8a4f5
movq 0x8(%r14,%rax), %rsi
jmp 0x8a523
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
andq $0x0, 0x10(%rbx)
jmp 0x8a52b
movq 0x18(%rax), %rax
movq (%r14,%rax), %rdx
testq %rdx, %rdx
je 0x8a521
movq (%rdx), %rsi
jmp 0x8a523
movq (%rax), %rsi
movq 0x18(%rax), %rax
movq (%r14,%rax), %rdx
jmp 0x8a523
xorl %esi, %esi
movq %rbx, %rdi
callq 0x8a53a
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x8a59f
leaq 0x3f0cd(%rip), %rdi     # 0xc9651
leaq 0x3f0b4(%rip), %rsi     # 0xc963f
leaq 0x32887(%rip), %rcx     # 0xbce19
pushq $0x67
popq %rdx
movq %rbx, %r8
xorl %eax, %eax
callq 0x60031
movq 0x30(%r15), %rax
imulq $0x38, %rbx, %rcx
movl 0x10(%rax,%rcx), %edx
addl $-0x3, %edx
cmpl $0x1, %edx
ja 0x8a5d9
leaq 0x20(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x8a459
movq 0x8(%r12), %rax
testq %rax, %rax
je 0x8a5e1
movq 0x8(%rax), %rbx
jmp 0x8a5e3
addq %rcx, %rax
movq (%rax), %rbx
jmp 0x8a602
xorl %ebx, %ebx
testb $0x2, 0x30(%rsp)
je 0x8a602
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0x8cdc1
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/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 %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdx, %r15
movq %rdi, %r14
movq 0x30(%rdi), %r12
imulq $0x38, %rdx, %r13
movl 0x10(%r12,%r13), %edi
addq %r13, %r12
callq 0x61078
testb %al, %al
jne 0x8ade8
movq 0x8(%r14), %rdi
callq 0x8aa10
movq %rax, %rbx
movq 0x20(%r14), %r9
cmpq %r15, %r9
ja 0x8ad91
leaq 0x32073(%rip), %rdi     # 0xbcde9
leaq 0x32088(%rip), %rsi     # 0xbce05
leaq 0x32095(%rip), %rcx     # 0xbce19
pushq $0x4e
popq %rdx
movq %r15, %r8
xorl %eax, %eax
callq 0x60031
movq 0x30(%r14), %rax
movq 0x8(%rax,%r13), %rdi
callq 0x8aa10
movq %rax, %r14
movq (%r12), %rdi
callq 0x8aa10
movq %rax, %r15
movl 0x10(%r12), %edi
callq 0x610e5
movq %rax, %r10
leaq 0x3e92c(%rip), %rdi     # 0xc96ee
leaq 0x3e876(%rip), %rsi     # 0xc963f
leaq 0x3e93b(%rip), %rcx     # 0xc970b
movl $0x120, %edx            # imm = 0x120
movq %rbx, %r8
movq %r14, %r9
xorl %eax, %eax
pushq %r10
pushq %r15
callq 0x60031
popq %rax
popq %rcx
movq (%r12), %rdi
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
jmp 0x8adf7
// File: /workspace/github_c_makefile_star2_O2/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 0x8b243
leaq 0x3e536(%rip), %rdi     # 0xc975c
leaq 0x3e412(%rip), %rsi     # 0xc963f
leaq 0x31be5(%rip), %rcx     # 0xbce19
movl $0x179, %edx            # imm = 0x179
movq %rbx, %r8
xorl %eax, %eax
callq 0x60031
movq 0x30(%r14), %rax
imulq $0x38, %rbx, %rcx
movl 0x10(%rax,%rcx), %edi
leal -0x1(%rdi), %ecx
cmpl $0xd, %ecx
jae 0x8b26a
movl $0x1fef, %eax           # imm = 0x1FEF
btl %ecx, %eax
jae 0x8b26a
movl $0x1ff3, %ebx           # imm = 0x1FF3
shrl %cl, %ebx
jmp 0x8b295
callq 0x610e5
leaq 0x3e4e6(%rip), %rdi     # 0xc975c
leaq 0x3e3c2(%rip), %rsi     # 0xc963f
leaq 0x3e4f5(%rip), %rcx     # 0xc9779
xorl %ebx, %ebx
movl $0x188, %edx            # imm = 0x188
movq %rax, %r8
xorl %eax, %eax
callq 0x60031
andb $0x1, %bl
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/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 %rbx
subq $0x20, %rsp
movq %rdi, %rbx
movq 0x40(%rsp), %rsi
testq %rsi, %rsi
je 0x8cdf0
leaq 0x40(%rsp), %r14
movq 0x8(%r14), %r15
testq %r15, %r15
je 0x8cdfd
movq 0x8(%r15), %rdi
jmp 0x8cdff
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
andq $0x0, 0x10(%rbx)
jmp 0x8ce30
xorl %edi, %edi
callq 0x8ce3d
movq %rax, (%rbx)
movq %r15, 0x8(%rbx)
movq $0x2, 0x10(%rbx)
testb $0x2, 0x10(%r14)
je 0x8ce30
movq 0x10(%r14), %rax
movq %rax, 0x10(%rsp)
movups (%r14), %xmm0
movups %xmm0, (%rsp)
callq 0x834f8
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x8de18
movq 0x8(%rdi), %rcx
testq %rcx, %rcx
je 0x8de1c
movq 0x8(%rcx), %rdx
movabsq $0x6d07f9ef5b68e8a2, %rsi # imm = 0x6D07F9EF5B68E8A2
cmpq %rsi, %rdx
je 0x8de4b
movabsq $-0x6bce971ace902370, %rsi # imm = 0x943168E5316FDC90
cmpq %rsi, %rdx
je 0x8de53
movabsq $-0x6119581ac7eacd63, %rsi # imm = 0x9EE6A7E53815329D
cmpq %rsi, %rdx
je 0x8de69
movabsq $-0x5aa4411ac4e2880e, %rsi # imm = 0xA55BBEE53B1D77F2
cmpq %rsi, %rdx
je 0x8de4b
movabsq $-0x4882601bdca6aefb, %rsi # imm = 0xB77D9FE423595105
cmpq %rsi, %rdx
je 0x8de4b
movabsq $-0x3f1363e6d8155aed, %rsi # imm = 0xC0EC9C1927EAA513
cmpq %rsi, %rdx
je 0x8de4b
movabsq $-0x388c46b188de83fe, %rsi # imm = 0xC773B94E77217C02
cmpq %rsi, %rdx
je 0x8de4b
movabsq $0x510c2417c67dabeb, %rsi # imm = 0x510C2417C67DABEB
cmpq %rsi, %rdx
je 0x8de64
movabsq $0x585a3b17ca3de200, %rsi # imm = 0x585A3B17CA3DE200
cmpq %rsi, %rdx
je 0x8de4b
movabsq $0x62367a17d02b474d, %rsi # imm = 0x62367A17D02B474D
cmpq %rsi, %rdx
je 0x8de58
movabsq $0x69849117d3eb7d62, %rsi # imm = 0x69849117D3EB7D62
cmpq %rsi, %rdx
je 0x8de5e
movabsq $-0x73f6ae1ad309fd45, %rsi # imm = 0x8C0951E52CF602BB
cmpq %rsi, %rdx
jne 0x8de6d
movzbl (%rax), %ebx
jmp 0x8de4e
xorl %ebx, %ebx
jmp 0x8de4e
xorl %edi, %edi
callq 0x8d7fd
leaq 0x3c0ba(%rip), %rdi     # 0xc9ee4
leaq 0x3bfff(%rip), %rsi     # 0xc9e30
leaq 0x3c0b7(%rip), %rcx     # 0xc9eef
xorl %ebx, %ebx
movl $0x159, %edx            # imm = 0x159
movq %rax, %r8
xorl %eax, %eax
callq 0x60186
jmp 0x8de4e
movq (%rax), %rbx
movq %rbx, %rax
popq %rbx
retq
movzwl (%rax), %ebx
jmp 0x8de4e
movsbq (%rax), %rbx
jmp 0x8de4e
movswq (%rax), %rbx
jmp 0x8de4e
movslq (%rax), %rbx
jmp 0x8de4e
movl (%rax), %ebx
jmp 0x8de4e
movq 0x8(%rcx), %rdi
jmp 0x8de1e
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore_sr.c
// Function: sr_s_create_self
static bcore_self_s* sr_s_create_self( void )
{
    bcore_self_s* self = bcore_self_s_build_parse_sc( " sr_s = bcore_inst { private vd_t o; private vc_t p; private tp_t f; shell typed => obj; }", sizeof( sr_s ), alignof( sr_s ) );
    bcore_self_s_push_ns_func( self, ( fp_t )sr_s_init,    "bcore_fp_init", "init"    );
    bcore_self_s_push_ns_func( self, ( fp_t )sr_s_down,    "bcore_fp_down", "down"    );
    bcore_self_s_push_ns_func( self, ( fp_t )sr_s_copy,    "bcore_fp_copy", "copy"    );
    bcore_self_s_push_ns_func( self, ( fp_t )sr_s_get_obj, "bcore_fp_get",  "get_obj" );
    bcore_self_s_push_ns_func( self, ( fp_t )sr_s_set_obj, "bcore_fp_set",  "set_obj" );

    bcore_self_s_push_ns_func( self, ( fp_t )sr_s_copy_typed, "bcore_fp_copy_typed", "copy_typed"  );
    return self;
}

// Assembly:
pushq %rbx
leaq 0x3c01f(%rip), %rdi     # 0xc9f1b
pushq $0x18
popq %rsi
pushq $0x8
popq %rdx
callq 0x64356
movq %rax, %rbx
leaq -0xd55(%rip), %rsi      # 0x8d1bc
leaq 0x328a3(%rip), %rdx     # 0xc07bb
leaq 0x328a5(%rip), %rcx     # 0xc07c4
movq %rax, %rdi
callq 0x63a2b
leaq -0xd6a(%rip), %rsi      # 0x8d1c4
leaq 0x32894(%rip), %rdx     # 0xc07c9
leaq 0x266ac(%rip), %rcx     # 0xb45e8
movq %rbx, %rdi
callq 0x63a2b
leaq -0xd4c(%rip), %rsi      # 0x8d1ff
leaq 0x32885(%rip), %rdx     # 0xc07d7
leaq 0x2ddfb(%rip), %rcx     # 0xbbd54
movq %rbx, %rdi
callq 0x63a2b
leaq 0x7e(%rip), %rsi        # 0x8dfe6
leaq 0x339b8(%rip), %rdx     # 0xc1927
leaq 0x3c000(%rip), %rcx     # 0xc9f76
movq %rbx, %rdi
callq 0x63a2b
leaq 0x77(%rip), %rsi        # 0x8dffc
leaq 0x3398e(%rip), %rdx     # 0xc191a
leaq 0x3bfeb(%rip), %rcx     # 0xc9f7e
movq %rbx, %rdi
callq 0x63a2b
leaq -0xb1b(%rip), %rsi      # 0x8d487
leaq 0x2a70a(%rip), %rdx     # 0xb86b3
leaq 0x2a70c(%rip), %rcx     # 0xb86bc
movq %rbx, %rdi
callq 0x63a2b
movq %rbx, %rax
popq %rbx
retq