LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_spect_inst.c
// Function: bcore_inst_s_create_self
static bcore_self_s* bcore_inst_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_inst_s" ), typeof( "spect" ), sizeof( bcore_inst_s ), alignof( bcore_inst_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 ); // we declare the body incomplete

    bcore_self_s_push_ns_func( self, ( fp_t )inst_s_init,             "bcore_fp_init",                   "init"         );
    bcore_self_s_push_ns_func( self, ( fp_t )inst_s_down,             "bcore_fp_down",                   "down"         );
    bcore_self_s_push_ns_func( self, ( fp_t )inst_s_create,           "bcore_fp_create",                 "create"       );
    bcore_self_s_push_ns_func( self, ( fp_t )bcore_inst_s_discard,    "bcore_fp_discard",                "discard"      );
    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 0x4da9d(%rip), %rdi     # 0x146eff
callq 0xd7476
movabsq $0x227a6d8aa01a2cbe, %rsi # imm = 0x227A6D8AA01A2CBE
movl $0xc8, %edx
movl $0x8, %ecx
movq %rax, %rdi
callq 0xc3677
movq %rax, %rbx
leaq 0x3a164(%rip), %rdi     # 0x1335f1
callq 0xd7476
movabsq $-0x7c15e45e4ba87aee, %rsi # imm = 0x83EA1BA1B4578512
movl $0x1, %edi
movq %rax, %rdx
callq 0xbfb09
movq %rbx, %rdi
movq %rax, %rsi
callq 0xc3429
movq 0x30(%rbx), %rdi
xorl %esi, %esi
callq 0xc2e80
leaq -0x22f7(%rip), %rsi     # 0xf71cf
leaq 0x49568(%rip), %rdx     # 0x142a35
leaq 0x4956a(%rip), %rcx     # 0x142a3e
movq %rbx, %rdi
callq 0xc34ab
leaq -0x22e2(%rip), %rsi     # 0xf7201
leaq 0x49559(%rip), %rdx     # 0x142a43
leaq 0x3dcd9(%rip), %rcx     # 0x1371ca
movq %rbx, %rdi
callq 0xc34ab
leaq 0xe35(%rip), %rsi       # 0xfa335
leaq 0x4b9ea(%rip), %rdx     # 0x144ef1
leaq 0x4b9ec(%rip), %rcx     # 0x144efa
movq %rbx, %rdi
callq 0xc34ab
leaq -0x2331(%rip), %rsi     # 0xf71ec
leaq 0x4b9ec(%rip), %rdx     # 0x144f10
leaq 0x4b9ee(%rip), %rcx     # 0x144f19
movq %rbx, %rdi
callq 0xc34ab
leaq 0x1b(%rip), %rsi        # 0xf9555
leaq 0x4f1d5(%rip), %rdx     # 0x148716
leaq 0x4f1dd(%rip), %rcx     # 0x148725
movq %rbx, %rdi
callq 0xc34ab
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/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 0xbe7d5
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 0xfdad4
movq %rbx, %rdi
movq %r14, %rsi
callq *0x88(%rbx)
movq 0x18(%rbx), %rdi
movq %r14, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xbe7d5
xorl %r14d, %r14d
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0xeb464
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 0xfddbb
leaq 0x30(%rsp), %rax
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rsp)
movups (%rax), %xmm0
movups %xmm0, (%rsp)
callq 0x107590
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/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 %r13
pushq %r12
pushq %rbx
subq $0x30, %rsp
movq %rsi, %r12
movq %rdi, %rbx
xorl %r13d, %r13d
xorl %eax, %eax
callq 0xe2ceb
movq %rax, %r14
movq %rax, 0x18(%rsp)
testq %rax, %rax
je 0xfddf9
movq (%r14), %rdi
callq 0x1074f1
movq %rax, %r13
movabsq $-0x7a841657f0cf5c40, %r15 # imm = 0x857BE9A80F30A3C0
movq %r13, 0x20(%rsp)
movq $0x2, 0x28(%rsp)
movq %r12, %rdi
callq 0xe5077
movq %r14, %rdi
movq %rax, %rsi
callq 0xe2e56
leaq 0x9e63d(%rip), %rax     # 0x19c468
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 0xfde81
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0xfde81
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0xfde81
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0xfde8a
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0xfdeb1
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x9e5c2(%rip), %rdi     # 0x19c468
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r12, %rdi
callq *0xa8(%r12)
movq %r14, %rdi
movq %rax, %rsi
callq 0xe2e56
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x18(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %rbx, %rdi
callq 0xfdb78
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0xfdfd8
leaq 0x4d0c4(%rip), %rdi     # 0x14b082
leaq 0x4d0d8(%rip), %rsi     # 0x14b09d
leaq 0x4d0e6(%rip), %rcx     # 0x14b0b2
movl $0x41, %edx
xorl %eax, %eax
callq 0xbe6f9
movq 0x20(%r14), %r8
testq %r8, %r8
je 0xfe002
leaq 0x4d09a(%rip), %rdi     # 0x14b082
leaq 0x4d0ae(%rip), %rsi     # 0x14b09d
leaq 0x4d0e2(%rip), %rcx     # 0x14b0d8
movl $0x42, %edx
xorl %eax, %eax
callq 0xbe6f9
movq 0x10(%r14), %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0xebeb6
movq 0x40(%r14), %rax
cmpq $-0x1, %rax
je 0xfe022
movq $0x0, (%rbx,%rax)
movq 0x38(%r14), %rax
cmpq $-0x1, %rax
je 0xfe034
movq $0x0, (%rbx,%rax)
movq 0x30(%r14), %rax
cmpq $-0x1, %rax
je 0xfe046
movq $0x0, (%rbx,%rax)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/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 0xfe097
leaq 0x4d084(%rip), %rdi     # 0x14b101
leaq 0x4d019(%rip), %rsi     # 0x14b09d
leaq 0x4d027(%rip), %rcx     # 0x14b0b2
movl $0x4d, %edx
xorl %eax, %eax
callq 0xbe6f9
movq 0x20(%r12), %r8
testq %r8, %r8
sete %al
cmpq %r15, %r8
sete %cl
orb %al, %cl
jne 0xfe0cd
leaq 0x4d04e(%rip), %rdi     # 0x14b101
leaq 0x4cfe3(%rip), %rsi     # 0x14b09d
leaq 0x4d017(%rip), %rcx     # 0x14b0d8
movl $0x4e, %edx
xorl %eax, %eax
callq 0xbe6f9
movq 0x28(%r12), %r8
testq %r8, %r8
sete %al
cmpq %r15, %r8
sete %cl
orb %al, %cl
jne 0xfe103
leaq 0x4d018(%rip), %rdi     # 0x14b101
leaq 0x4cfad(%rip), %rsi     # 0x14b09d
leaq 0x4d028(%rip), %rcx     # 0x14b11f
movl $0x4f, %edx
xorl %eax, %eax
callq 0xbe6f9
movq 0x10(%r12), %rdi
movq %r15, %rdx
imulq %rbx, %rdx
movq %r14, %rsi
callq 0xec548
movq 0x40(%r12), %rax
cmpq $-0x1, %rax
je 0xfe126
movq %r15, (%r14,%rax)
movq 0x38(%r12), %rax
cmpq $-0x1, %rax
je 0xfe135
movq %r15, (%r14,%rax)
movq 0x30(%r12), %rax
cmpq $-0x1, %rax
je 0xfe144
movq %rbx, (%r14,%rax)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0xdfce3
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
cmpq %rcx, %rax
jne 0xfe1e3
leaq 0x4cfcf(%rip), %rbx     # 0x14b148
movq %rbx, %rdi
callq 0xd7476
movq %rax, %r14
leaq 0x4a58b(%rip), %rdi     # 0x148716
callq 0xd7476
movq %r14, %rdi
movq %rax, %rsi
callq 0x1168a7
movq %rbx, %rdi
callq 0xd7476
leaq 0x43(%rip), %rsi        # 0xfe1ed
movq %rax, %rdi
callq 0xc6e91
leaq 0x9e6df(%rip), %rdi     # 0x19c898
callq 0xe9b87
leaq 0x4cfa3(%rip), %rdi     # 0x14b168
callq 0xd7476
leaq 0xee(%rip), %rdx        # 0xfe2bf
movabsq $0x719bb15ffe93568, %rdi # imm = 0x719BB15FFE93568
movq %rax, %rsi
callq 0xea799
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/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 0xc5028
movq %rax, %rdi
movq %r14, %rsi
callq 0xe9ebf
movq %rax, %rbx
movq 0x8(%r14), %rsi
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
callq 0xe9bc5
movq %rax, 0x10(%rbx)
cmpq $0x0, 0x20(%rbx)
jne 0xfe26e
cmpq $-0x1, 0x38(%rbx)
jne 0xfe26e
movq 0x8(%r14), %rdi
callq 0xd6ec4
testq %rax, %rax
leaq 0x4a4cc(%rip), %r8      # 0x148715
cmovneq %rax, %r8
leaq 0x4cef4(%rip), %rdi     # 0x14b148
leaq 0x4ce42(%rip), %rsi     # 0x14b09d
leaq 0x4cf13(%rip), %rcx     # 0x14b175
movl $0x2e, %edx
xorl %eax, %eax
callq 0xbe6f9
cmpq $0x0, 0x18(%rbx)
jne 0xfe2b4
cmpq $-0x1, 0x30(%rbx)
jne 0xfe2b4
movq 0x8(%r14), %rdi
callq 0xd6ec4
testq %rax, %rax
leaq 0x4a486(%rip), %r8      # 0x148715
cmovneq %rax, %r8
leaq 0x4ceae(%rip), %rdi     # 0x14b148
leaq 0x4cdfc(%rip), %rsi     # 0x14b09d
leaq 0x4cf05(%rip), %rcx     # 0x14b1ad
movl $0x33, %edx
xorl %eax, %eax
callq 0xbe6f9
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x109cb2
movq %rax, %r15
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
movq %rbx, %rdi
callq *0x10(%r14)
movq %r15, %rdi
callq 0x10a028
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0xfe36f
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 0x109cb2
movq %rax, %r15
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
movq %rbx, %rdi
callq *0x10(%r14)
movq %r15, %rdi
callq 0x10a028
addq $0xd0, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x109d97
movq %rax, %r15
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
movq %rbx, %rdi
callq *0x10(%r14)
movq %r15, %rdi
callq 0x10a028
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0xfe52f
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 0xfe512
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0xdfce3
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
cmpq %rcx, %rax
jne 0xff091
leaq 0x47f29(%rip), %rdi     # 0x146f58
callq 0xd7476
movq %rax, %rbx
movq %rax, %rdi
callq 0x116767
leaq 0x486a8(%rip), %rdi     # 0x1476ee
callq 0xd7476
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x116798
leaq 0x450a4(%rip), %rdi     # 0x144103
callq 0xd7476
movq %rbx, %rdi
movq %rax, %rsi
callq 0x1168a7
leaq 0x1f(%rip), %rsi        # 0xff095
movabsq $0x5ea8cabb93ff3b7e, %rdi # imm = 0x5EA8CABB93FF3B7E
callq 0xc5545
leaq 0x9da24(%rip), %rdi     # 0x19cab0
callq 0xe9b87
xorl %eax, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/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 0xbe7b1
movq %rax, %r14
movl $0x28, %esi
movq %rax, %rdi
callq 0xbe802
movabsq $0x5ea8cabb93ff3b7e, %rax # imm = 0x5EA8CABB93FF3B7E
movq %rax, (%r14)
movq 0x8(%rbx), %rax
movq %rax, 0x8(%r14)
leaq 0x485de(%rip), %rdi     # 0x1476ee
callq 0xd7476
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xc4859
movq %rax, 0x10(%r14)
leaq 0x486ee(%rip), %rdi     # 0x14781b
callq 0xd7476
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xc473a
movq %rax, 0x18(%r14)
leaq 0x485d0(%rip), %rdi     # 0x14771a
callq 0xd7476
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0xc473a
movq %rax, 0x20(%r14)
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
nop
// File: /workspace/github_c_makefile_star2_O3/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 0x10a41a
movq 0x8(%r14), %rax
testq %rax, %rax
je 0xff5f1
movq 0x8(%rax), %rdx
jmp 0xff5f8
leaq 0x4911d(%rip), %rdx     # 0x148715
movq 0x18(%r14), %rcx
movq 0x20(%r14), %r8
leaq 0x4bddc(%rip), %rsi     # 0x14b3e3
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10a8a5
movq %rbx, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x10a85f
movq 0x28(%r14), %rax
testq %rax, %rax
je 0xff648
movq 0x8(%rax), %rdx
leaq 0x45641(%rip), %rsi     # 0x144c74
movq %rbx, %rdi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x10a8a5
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x10a41a
movq 0x8(%r14), %rax
testq %rax, %rax
je 0xff6ff
movq 0x8(%rax), %rdx
jmp 0xff706
leaq 0x4900f(%rip), %rdx     # 0x148715
movq 0x18(%r14), %rcx
movq 0x20(%r14), %r8
leaq 0x4bce9(%rip), %rsi     # 0x14b3fe
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10a8a5
movq %rbx, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x10a85f
movq 0x28(%r14), %rax
testq %rax, %rax
je 0xff756
movq 0x8(%rax), %rdx
leaq 0x45533(%rip), %rsi     # 0x144c74
movq %rbx, %rdi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x10a8a5
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0xff80a
movq %rbx, %rdi
callq *%rax
movq %rax, %r13
jmp 0xff80d
xorl %r13d, %r13d
movq 0x10(%r14), %rax
testq %rax, %rax
jne 0xff829
leaq 0x3a579(%rip), %rsi     # 0x139d96
movq %r14, %rdi
callq 0xeb49c
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 0xffe83
movq %r15, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0xff877
movq %rbx, %rdi
callq *%rax
movq %rax, %r15
jmp 0xff87a
xorl %r15d, %r15d
movq 0x10(%r14), %rax
leaq 0xf(%rsp), %r12
movb $0x0, (%r12)
movl $0x1, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq *%rax
movb (%r12), %bpl
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xffe83
movl %ebp, %eax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x109cb2
movq %rax, %r14
xorl %eax, %eax
callq 0x109c82
movq %rax, %r15
movq 0x8(%r14), %rcx
leaq 0x486e6(%rip), %rdx     # 0x147fcf
movq %rbx, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xff936
leaq 0x9c4f3(%rip), %rax     # 0x19bdf0
movq (%rax), %rdi
movq 0x8(%r15), %rdx
leaq 0x45369(%rip), %rsi     # 0x144c74
xorl %eax, %eax
callq 0xfe6d6
movq %r14, %rdi
callq 0x10a028
movq %r15, %rdi
callq 0x10a028
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0x1, %esi
popq %rbx
popq %r14
popq %r15
jmp 0x54248
// File: /workspace/github_c_makefile_star2_O3/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 0x109d97
movq %rax, %r14
callq 0xff39f
movq %rax, %rbx
movq 0x18(%r12), %rax
testq %rax, %rax
je 0xffabc
movq %r15, %rdi
movq %rbx, %rsi
callq *%rax
xorl %eax, %eax
callq 0x109c82
movq %rax, %r15
movq 0x8(%r14), %rcx
leaq 0x451a4(%rip), %rdx     # 0x144c75
movq %rbx, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xff654
leaq 0x9c303(%rip), %rax     # 0x19bde8
movq (%rax), %rdi
movq 0x8(%r15), %rdx
leaq 0x4e575(%rip), %rsi     # 0x14e068
xorl %eax, %eax
callq 0xfe6d6
movq %r14, %rdi
callq 0x10a028
movq %r15, %rdi
callq 0x10a028
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0xff44a
// File: /workspace/github_c_makefile_star2_O3/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 0xffc87
movq %r8, %r14
movq %rcx, %r15
movq %rdx, %rbx
movq %rdi, %rbp
cmpq $0x0, 0x18(%rdi)
je 0xffc96
movq %rsi, %r13
callq 0xff39f
movq %rax, %r12
movq 0x18(%rbp), %rax
testq %rax, %rax
je 0xffc1d
movq %r13, %rdi
movq %r12, %rsi
callq *%rax
movq %r15, %rdi
movq %r14, %rsi
callq 0x109d97
movq %rax, %r14
xorl %eax, %eax
callq 0x109c82
movq %rax, %r15
movq 0x8(%r14), %rcx
leaq 0x45035(%rip), %r13     # 0x144c75
movq %r12, %rdi
movq %rax, %rsi
movq %r13, %rdx
xorl %eax, %eax
callq 0xff654
movq 0x8(%r15), %rdx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0xfe6d6
movq %r14, %rdi
callq 0x10a028
movq %r15, %rdi
callq 0x10a028
movq %r12, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xff44a
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq (%rbx), %r12
leaq 0x9ce10(%rip), %rax     # 0x19cab0
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 0xffcf6
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0xffcf6
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0xffcf6
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0xffcff
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0xffd26
movabsq $0x5ea8cabb93ff3b7e, %rdi # imm = 0x5EA8CABB93FF3B7E
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
leaq 0x9cd95(%rip), %rdi     # 0x19cab0
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
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 0xfe3be
// File: /workspace/github_c_makefile_star2_O3/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 0x109d97
movq %rax, %r14
xorl %eax, %eax
callq 0x109c82
movq %rax, %r15
movq 0x8(%r14), %rcx
leaq 0x46628(%rip), %rdx     # 0x147fcf
movq %rbx, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xff936
movq 0x8(%r15), %rsi
movabsq $0x690af8765815ec4d, %rdi # imm = 0x690AF8765815EC4D
callq 0xbeb67
movq %rax, %rbx
movq %r14, %rdi
callq 0x10a028
movq %r15, %rdi
callq 0x10a028
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0xdfce3
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
cmpq %rcx, %rax
jne 0x101b22
leaq 0x95(%rip), %rsi        # 0x101b26
movabsq $0x420d5f875454e1c, %rdi # imm = 0x420D5F875454E1C
callq 0xc5545
leaq 0x45495(%rip), %rdi     # 0x146f3c
callq 0xd7476
movq %rax, %rbx
movq %rax, %rdi
callq 0x116767
leaq 0x4624b(%rip), %rdi     # 0x147d09
callq 0xd7476
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x116798
leaq 0x4625d(%rip), %rdi     # 0x147d34
callq 0xd7476
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x116798
leaq 0x42613(%rip), %rdi     # 0x144103
callq 0xd7476
movq %rbx, %rdi
movq %rax, %rsi
callq 0x1168a7
leaq 0x35(%rip), %rsi        # 0x101b3c
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
callq 0xc5545
leaq 0x9b1ab(%rip), %rdi     # 0x19ccc8
callq 0xe9b87
xorl %eax, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x45405(%rip), %rdi     # 0x146f49
callq 0xd7476
movabsq $0x227a6d8aa01a2cbe, %rsi # imm = 0x227A6D8AA01A2CBE
movl $0x60, %edx
movl $0x8, %ecx
movq %rax, %rdi
callq 0xc3677
movq %rax, %rbx
leaq 0x31a82(%rip), %rdi     # 0x1335f1
callq 0xd7476
movabsq $-0x7c15e45e4ba87aee, %rsi # imm = 0x83EA1BA1B4578512
movl $0x1, %edi
movq %rax, %rdx
callq 0xbfb09
movq %rbx, %rdi
movq %rax, %rsi
callq 0xc3429
movq 0x30(%rbx), %rdi
xorl %esi, %esi
callq 0xc2e80
leaq 0x1b(%rip), %rsi        # 0x101bc3
leaq 0x46b67(%rip), %rdx     # 0x148716
leaq 0x46b6f(%rip), %rcx     # 0x148725
movq %rbx, %rdi
callq 0xc34ab
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x101e51
leaq 0x497fc(%rip), %rdi     # 0x14b630
leaq 0x4980c(%rip), %rsi     # 0x14b647
leaq 0x3d30a(%rip), %rcx     # 0x13f14c
movl $0x31, %edx
movq %r15, %r8
xorl %eax, %eax
callq 0xbe592
movq 0x30(%r12), %rax
imulq $0x38, %r15, %rdx
movq 0x28(%rax,%rdx), %rcx
testq %rcx, %rcx
je 0x101e71
movq %rbx, %rdi
movq %r14, %rsi
callq *%rcx
jmp 0x101efa
addq %rdx, %rax
movl 0x10(%rax), %ecx
decl %ecx
cmpl $0xc, %ecx
ja 0x101ebb
leaq 0x496fb(%rip), %rdx     # 0x14b580
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq (%rax), %rdi
addq 0x18(%rax), %r14
movq %r14, (%rbx)
testq %rdi, %rdi
je 0x101eec
callq 0x1074f1
jmp 0x101eee
movq 0x18(%rax), %rax
movq (%r14,%rax), %rcx
testq %rcx, %rcx
je 0x101ebb
movq 0x8(%r14,%rax), %rdi
movq %rcx, (%rbx)
jmp 0x101e98
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
jmp 0x101ef2
movq 0x18(%rax), %rax
movq (%r14,%rax), %rax
testq %rax, %rax
je 0x101ee5
movq (%rax), %rdi
jmp 0x101ee0
movq (%rax), %rdi
movq 0x18(%rax), %rax
movq (%r14,%rax), %rax
movq %rax, (%rbx)
jmp 0x101e98
movq $0x0, (%rbx)
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
// File: /workspace/github_c_makefile_star2_O3/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 0x101f4a
leaq 0x4972c(%rip), %rdi     # 0x14b659
leaq 0x49713(%rip), %rsi     # 0x14b647
leaq 0x3d211(%rip), %rcx     # 0x13f14c
movl $0x67, %edx
movq %rbx, %r8
xorl %eax, %eax
callq 0xbe592
movq 0x30(%r15), %rax
imulq $0x38, %rbx, %rcx
movl 0x10(%rax,%rcx), %edx
addl $-0x3, %edx
cmpl $0x1, %edx
ja 0x101f84
leaq 0x20(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x101e10
movq 0x8(%r12), %rax
testq %rax, %rax
je 0x101f8c
movq 0x8(%rax), %rbx
jmp 0x101f8e
addq %rcx, %rax
movq (%rax), %rbx
jmp 0x101fad
xorl %ebx, %ebx
testb $0x2, 0x30(%rsp)
je 0x101fad
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0x107590
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0xbf798
testb %al, %al
jne 0x102a93
movq 0x8(%r14), %rdi
callq 0xd6ec4
movq %rax, %rbx
testq %rax, %rax
leaq 0x45d1a(%rip), %rbp     # 0x148715
cmoveq %rbp, %rbx
movq 0x20(%r14), %r9
cmpq %r15, %r9
ja 0x102a2c
leaq 0x3c70d(%rip), %rdi     # 0x13f11c
leaq 0x3c722(%rip), %rsi     # 0x13f138
leaq 0x3c72f(%rip), %rcx     # 0x13f14c
movl $0x4e, %edx
movq %r15, %r8
xorl %eax, %eax
callq 0xbe592
movq 0x30(%r14), %rax
movq 0x8(%rax,%r13), %rdi
callq 0xd6ec4
movq %rax, %r14
testq %rax, %rax
cmoveq %rbp, %r14
movq (%r12), %rdi
callq 0xd6ec4
movq %rax, %r15
testq %rax, %rax
cmoveq %rbp, %r15
movl 0x10(%r12), %edi
callq 0xbf808
movq %rax, %r10
leaq 0x48c8b(%rip), %rdi     # 0x14b6f6
leaq 0x48bd5(%rip), %rsi     # 0x14b647
leaq 0x48c9a(%rip), %rcx     # 0x14b713
movl $0x120, %edx            # imm = 0x120
movq %rbx, %r8
movq %r14, %r9
xorl %eax, %eax
pushq %r10
pushq %r15
callq 0xbe592
addq $0x10, %rsp
movq (%r12), %rbx
leaq 0x99382(%rip), %rax     # 0x19be20
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 0x102af4
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0x102af4
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0x102af4
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0x102afd
movq (%rax,%rcx), %r14
testq %r14, %r14
jne 0x102b24
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
movq %rbx, %rsi
callq 0xe9bc5
movq %rax, %r14
leaq 0x99307(%rip), %rdi     # 0x19be20
movq %rbx, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x10334c
leaq 0x48435(%rip), %rdi     # 0x14b764
leaq 0x48311(%rip), %rsi     # 0x14b647
leaq 0x3be0f(%rip), %rcx     # 0x13f14c
movl $0x179, %edx            # imm = 0x179
movq %rbx, %r8
xorl %eax, %eax
callq 0xbe592
movq 0x30(%r14), %rax
imulq $0x38, %rbx, %rcx
movl 0x10(%rax,%rcx), %edi
leal -0x1(%rdi), %ecx
cmpl $0xd, %ecx
jae 0x103373
movl $0x1fef, %eax           # imm = 0x1FEF
btl %ecx, %eax
jae 0x103373
movl $0x1ff3, %ebx           # imm = 0x1FF3
shrl %cl, %ebx
jmp 0x10339e
callq 0xbf808
leaq 0x483e5(%rip), %rdi     # 0x14b764
leaq 0x482c1(%rip), %rsi     # 0x14b647
leaq 0x483f4(%rip), %rcx     # 0x14b781
xorl %ebx, %ebx
movl $0x188, %edx            # imm = 0x188
movq %rax, %r8
xorl %eax, %eax
callq 0xbe592
andb $0x1, %bl
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x1075c3
leaq 0x50(%rsp), %r13
movq 0x8(%r13), %rax
testq %rax, %rax
je 0x1075d6
movq 0x8(%rax), %r15
jmp 0x1075d9
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
jmp 0x1076a5
xorl %r15d, %r15d
leaq 0x94e88(%rip), %rax     # 0x19c468
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 0x107636
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x107636
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x107636
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x10763f
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x107666
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x94e0d(%rip), %rdi     # 0x19c468
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
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 0x1076a5
movq 0x10(%r13), %rax
movq %rax, 0x10(%rsp)
movups (%r13), %xmm0
movups %xmm0, (%rsp)
callq 0xf74fd
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x107e68
movq %rdi, %rbx
movl $0x18, %edi
movl $0x1, %edx
xorl %esi, %esi
xorl %ecx, %ecx
callq 0xbe7d5
movq %rax, %r14
movl $0x18, %esi
movq %rax, %rdi
callq 0xbe802
movq %r14, %rdi
movq %rbx, %rsi
callq 0x107ce4
jmp 0x107e6b
xorl %r14d, %r14d
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x108d88
movq 0x8(%rdi), %rcx
testq %rcx, %rcx
je 0x108d8f
movq 0x8(%rcx), %rdx
movabsq $-0x388c46b188de83ff, %rsi # imm = 0xC773B94E77217C01
cmpq %rsi, %rdx
jg 0x108dcc
movabsq $-0x5aa4411ac4e2880f, %rsi # imm = 0xA55BBEE53B1D77F1
cmpq %rsi, %rdx
jg 0x108e05
movabsq $-0x73f6ae1ad309fd45, %rsi # imm = 0x8C0951E52CF602BB
cmpq %rsi, %rdx
je 0x108e64
movabsq $-0x6bce971ace902370, %rsi # imm = 0x943168E5316FDC90
cmpq %rsi, %rdx
je 0x108e6f
movabsq $-0x6119581ac7eacd63, %rsi # imm = 0x9EE6A7E53815329D
cmpq %rsi, %rdx
jne 0x108e7f
movl (%rax), %ebx
jmp 0x108e5f
xorl %ebx, %ebx
jmp 0x108e5f
xorl %edi, %edi
callq 0xd6ec4
testq %rax, %rax
leaq 0x3f975(%rip), %r8      # 0x148715
cmovneq %rax, %r8
leaq 0x430eb(%rip), %rdi     # 0x14be96
leaq 0x43030(%rip), %rsi     # 0x14bde2
leaq 0x430e8(%rip), %rcx     # 0x14bea1
xorl %ebx, %ebx
movl $0x159, %edx            # imm = 0x159
xorl %eax, %eax
callq 0xbe6f9
jmp 0x108e5f
movabsq $0x62367a17d02b474c, %rsi # imm = 0x62367A17D02B474C
cmpq %rsi, %rdx
jg 0x108e2f
movabsq $-0x388c46b188de83fe, %rsi # imm = 0xC773B94E77217C02
cmpq %rsi, %rdx
je 0x108e5c
movabsq $0x510c2417c67dabeb, %rsi # imm = 0x510C2417C67DABEB
cmpq %rsi, %rdx
je 0x108e74
movabsq $0x585a3b17ca3de200, %rsi # imm = 0x585A3B17CA3DE200
jmp 0x108e57
movabsq $-0x5aa4411ac4e2880e, %rsi # imm = 0xA55BBEE53B1D77F2
cmpq %rsi, %rdx
je 0x108e5c
movabsq $-0x4882601bdca6aefb, %rsi # imm = 0xB77D9FE423595105
cmpq %rsi, %rdx
je 0x108e5c
movabsq $-0x3f1363e6d8155aed, %rsi # imm = 0xC0EC9C1927EAA513
jmp 0x108e57
movabsq $0x62367a17d02b474d, %rsi # imm = 0x62367A17D02B474D
cmpq %rsi, %rdx
je 0x108e69
movabsq $0x69849117d3eb7d62, %rsi # imm = 0x69849117D3EB7D62
cmpq %rsi, %rdx
je 0x108e79
movabsq $0x6d07f9ef5b68e8a2, %rsi # imm = 0x6D07F9EF5B68E8A2
cmpq %rsi, %rdx
jne 0x108e7f
movq (%rax), %rbx
movq %rbx, %rax
popq %rbx
retq
movzbl (%rax), %ebx
jmp 0x108e5f
movsbq (%rax), %rbx
jmp 0x108e5f
movzwl (%rax), %ebx
jmp 0x108e5f
movslq (%rax), %rbx
jmp 0x108e5f
movswq (%rax), %rbx
jmp 0x108e5f
movq 0x8(%rcx), %rdi
jmp 0x108d91