LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_cday.c
// Function: bcore_cday_ymd_s_to_wnum
s2_t bcore_cday_ymd_s_to_wnum( const bcore_cday_ymd_s* o )
{
    bcore_cday_ymd_s ymd_l;
    bcore_cday_ymd_s_init( &ymd_l );
    ymd_l.y = o->y;
    ymd_l.m = 1;
    ymd_l.d = 1;

    sz_t first_cday = bcore_cday_ymd_s_to_cday( &ymd_l );
    sz_t first_wday = bcore_cday_to_wday( first_cday );

    // monday of week of first_cday
    sz_t mo1_cday = first_cday - first_wday;
    if( first_wday > 3 ) mo1_cday += 7;

    sz_t cur_cday = bcore_cday_ymd_s_to_cday( o );

    if( cur_cday < mo1_cday ) // last week of last year
    {
        if( first_wday == 4 ) return 53;
        if( first_wday == 5 ) return ( ( ymd_l.y - 1 ) % 4 ) == 0 ? 53 : 52;
        return 52;
    }
    else
    {
        sz_t wnum = 1 + ( cur_cday - mo1_cday ) / 7;
        if( wnum == 53 )
        {
            if( ( first_wday == 3 ) || ( ( ( ymd_l.y % 4 ) == 0 ) && ( first_wday == 2 ) ) )
            {
                return 53;
            }
            else
            {
                return 1;
            }
        }
        return wnum;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x47f10
movq -0x10(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x20(%rbp)
movl $0x1, -0x1c(%rbp)
movl $0x1, -0x18(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x9b1f0
cltq
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movl %eax, %edi
callq 0x9b410
cltq
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
subq -0x38(%rbp), %rax
movq %rax, -0x40(%rbp)
cmpq $0x3, -0x38(%rbp)
jle 0x9b56c
movq -0x40(%rbp), %rax
addq $0x7, %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rdi
callq 0x9b1f0
cltq
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
cmpq -0x40(%rbp), %rax
jge 0x9b5cb
cmpq $0x4, -0x38(%rbp)
jne 0x9b598
movl $0x35, -0x4(%rbp)
jmp 0x9b623
cmpq $0x5, -0x38(%rbp)
jne 0x9b5c2
movl -0x20(%rbp), %eax
subl $0x1, %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl $0x34, %eax
movl $0x35, %ecx
cmpl $0x0, %edx
cmovel %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0x9b623
movl $0x34, -0x4(%rbp)
jmp 0x9b623
movq -0x48(%rbp), %rax
subq -0x40(%rbp), %rax
movl $0x7, %ecx
cqto
idivq %rcx
addq $0x1, %rax
movq %rax, -0x50(%rbp)
cmpq $0x35, -0x50(%rbp)
jne 0x9b61c
cmpq $0x3, -0x38(%rbp)
je 0x9b60a
movl -0x20(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x9b613
cmpq $0x2, -0x38(%rbp)
jne 0x9b613
movl $0x35, -0x4(%rbp)
jmp 0x9b623
movl $0x1, -0x4(%rbp)
jmp 0x9b623
movq -0x50(%rbp), %rax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_cday.c
// Function: bcore_cday_to_wnum
s2_t bcore_cday_to_wnum( s2_t cday )
{
    bcore_cday_ymd_s ymd_l;
    bcore_cday_ymd_s_init( &ymd_l );
    bcore_cday_ymd_s_from_cday( &ymd_l, cday );
    s2_t wnum = bcore_cday_ymd_s_to_wnum( &ymd_l );
    return wnum;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x47f10
movl -0x4(%rbp), %esi
leaq -0x20(%rbp), %rdi
callq 0x9ae20
leaq -0x20(%rbp), %rdi
callq 0x9b500
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_cday.c
// Function: bcore_cday_from_sc
s2_t bcore_cday_from_sc( sc_t sc )
{
    bcore_cday_ymd_s* ymd = bcore_cday_ymd_s_create();
    bcore_cday_ymd_s_from_sc( ymd, sc );
    s2_t cday = bcore_cday_ymd_s_to_cday( ymd );
    bcore_cday_ymd_s_discard( ymd );
    return cday;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movb $0x0, %al
callq 0x47fb0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x9b190
movq -0x10(%rbp), %rdi
callq 0x9b1f0
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0x47fd0
movl -0x14(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_cday.c
// Function: bcore_cday_from_source
s2_t bcore_cday_from_source( bcore_source* source )
{
    bcore_cday_ymd_s* ymd = bcore_cday_ymd_s_create();
    bcore_cday_ymd_s_from_source( ymd, source );
    s2_t cday = bcore_cday_ymd_s_to_cday( ymd );
    bcore_cday_ymd_s_discard( ymd );
    return cday;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movb $0x0, %al
callq 0x47fb0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x9af50
movq -0x10(%rbp), %rdi
callq 0x9b1f0
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0x47fd0
movl -0x14(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_cday.c
// Function: bcore_cday_utc_s_from_system
void bcore_cday_utc_s_from_system( bcore_cday_utc_s* o )
{
    u3_t stime = ( u3_t )time( NULL );
    s2_t epoch_days = stime / ( 24 * 3600 );
    s2_t seconds    = stime % ( 24 * 3600 );
    o->cday = bcore_cday_of_epoch() + epoch_days;
    o->ms = seconds * 1000;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
xorl %eax, %eax
movl %eax, %edi
callq 0x4490
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0x15180, %ecx          # imm = 0x15180
xorl %edx, %edx
divq %rcx
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rax
movl $0x15180, %ecx          # imm = 0x15180
xorl %edx, %edx
divq %rcx
movl %edx, %eax
movl %eax, -0x18(%rbp)
callq 0x9b850
movl %eax, %ecx
addl -0x14(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x8(%rax)
imull $0x3e8, -0x18(%rbp), %ecx # imm = 0x3E8
movq -0x8(%rbp), %rax
movl %ecx, 0xc(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_cday.c
// Function: bcore_cday_utc_s_to_sink
void bcore_cday_utc_s_to_sink( const bcore_cday_utc_s* o, bcore_sink* sink )
{
    bcore_cday_to_sink( o->cday, sink );
    s2_t secs = o->ms / 1000;
    s2_t hh = secs / 3600;
    secs = secs % 3600;
    s2_t mm = secs / 60;
    secs = secs % 60;
    s2_t ss = secs;
    bcore_sink_a_push_fa( sink, "T#pl2'0'{#<s2_t>}:#pl2'0'{#<s2_t>}:#pl2'0'{#<s2_t>}Z", hh, mm, ss );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %edi
movq -0x10(%rbp), %rsi
callq 0x9b6b0
movq -0x8(%rbp), %rax
movl 0xc(%rax), %eax
movl $0x3e8, %ecx            # imm = 0x3E8
cltd
idivl %ecx
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl $0xe10, %ecx            # imm = 0xE10
cltd
idivl %ecx
movl %eax, -0x18(%rbp)
movl -0x14(%rbp), %eax
movl $0xe10, %ecx            # imm = 0xE10
cltd
idivl %ecx
movl %edx, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl $0x3c, %ecx
cltd
idivl %ecx
movl %eax, -0x1c(%rbp)
movl -0x14(%rbp), %eax
movl $0x3c, %ecx
cltd
idivl %ecx
movl %edx, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movl -0x18(%rbp), %edx
movl -0x1c(%rbp), %ecx
movl -0x20(%rbp), %r8d
leaq 0xb181c(%rip), %rsi     # 0x14d171
movb $0x0, %al
callq 0xf0e20
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_cday.c
// Function: bcore_cday_utc_s_from_source
void bcore_cday_utc_s_from_source( bcore_cday_utc_s* o, bcore_source* source )
{
    o->cday = bcore_cday_from_source( source );
    s2_t hh = 0;
    s2_t mm = 0;
    s2_t ss = 0;
    bcore_source_a_parse_fa( source, "T#-?'0'#<s2_t*>:#-?'0'#<s2_t*>:#-?'0'#<s2_t*>Z", &hh, &mm, &ss );
    o->ms = ( hh * 3600 + mm * 60 + ss ) * 1000;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x9b790
movl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x8(%rax)
movl $0x0, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
leaq 0xb1794(%rip), %rsi     # 0x14d1a6
leaq -0x14(%rbp), %rdx
leaq -0x18(%rbp), %rcx
leaq -0x1c(%rbp), %r8
movb $0x0, %al
callq 0xf3450
imull $0xe10, -0x14(%rbp), %eax # imm = 0xE10
imull $0x3c, -0x18(%rbp), %ecx
addl %ecx, %eax
addl -0x1c(%rbp), %eax
imull $0x3e8, %eax, %ecx      # imm = 0x3E8
movq -0x8(%rbp), %rax
movl %ecx, 0xc(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_cday.c
// Function: bcore_cday_signal_handler
vd_t bcore_cday_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_cday" ) ) )
    {
        case TYPEOF_init1:
        {
        }
        break;

        case TYPEOF_down1:
        {
        }
        break;

        case TYPEOF_selftest:
        {
            selftest();
        }
        break;

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0xa7926(%rip), %rdi     # 0x143461
callq 0x9bbb0
movq -0x18(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x10(%rbp)
movabsq $-0x69a05654ee793a14, %rcx # imm = 0x965FA9AB1186C5EC
subq %rcx, %rax
je 0x9bb90
jmp 0x9bb64
movq -0x10(%rbp), %rax
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0x9bb8e
jmp 0x9bb79
movq -0x10(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0x9bb92
jmp 0x9bb99
jmp 0x9bb9b
jmp 0x9bb9b
callq 0x9bbd0
jmp 0x9bb9b
jmp 0x9bb9b
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_control.c
// Function: bcore_write_fv
void bcore_write_fv( FILE* file, sc_t format, va_list args )
{
    st_s* s = st_s_create_fv( format, args );
    fwrite( s->sc, 1, s->size, file );
    fflush( file );
    st_s_discard( s );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xff3f0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rdx
movq -0x8(%rbp), %rcx
movl $0x1, %esi
callq 0x4380
movq -0x8(%rbp), %rdi
callq 0x44a0
movq -0x20(%rbp), %rdi
callq 0xff600
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_control.c
// Function: bcore_writeln_fv
void bcore_writeln_fv( FILE* file, sc_t format, va_list args )
{
    st_s* s = st_s_create_fv( format, args );
    fwrite( s->sc, 1, s->size, file );
    fwrite( "\n", 1, 1, file );
    fflush( file );
    st_s_discard( s );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xff3f0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rdx
movq -0x8(%rbp), %rcx
movl $0x1, %esi
callq 0x4380
movq -0x8(%rbp), %rcx
leaq 0xb6223(%rip), %rdi     # 0x152a21
movl $0x1, %edx
movq %rdx, %rsi
callq 0x4380
movq -0x8(%rbp), %rdi
callq 0x44a0
movq -0x20(%rbp), %rdi
callq 0xff600
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_control.c
// Function: bcore_ext_wrn
void bcore_ext_wrn( sc_t func, sc_t file, int line, sc_t format, ... )
{
    fprintf( stderr, "warning:%s:%i:0 in function %s:\n", file, line, func );
    va_list args;
    va_start( args, format );
    vfprintf( stderr, format, args );
    va_end( args );
    fprintf( stderr, "\n" );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
testb %al, %al
je 0x9cbeb
movaps %xmm0, -0xc0(%rbp)
movaps %xmm1, -0xb0(%rbp)
movaps %xmm2, -0xa0(%rbp)
movaps %xmm3, -0x90(%rbp)
movaps %xmm4, -0x80(%rbp)
movaps %xmm5, -0x70(%rbp)
movaps %xmm6, -0x60(%rbp)
movaps %xmm7, -0x50(%rbp)
movq %r9, -0xc8(%rbp)
movq %r8, -0xd0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
movq 0x10b3d1(%rip), %rax    # 0x1a7fe0
movq %rax, -0x100(%rbp)
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
movl -0x14(%rbp), %ecx
movq -0x8(%rbp), %r8
leaq 0xb0947(%rip), %rsi     # 0x14d572
xorl %eax, %eax
movb %al, -0xf1(%rbp)
callq 0x43e0
movq -0x100(%rbp), %rax
leaq -0xf0(%rbp), %rcx
movq %rcx, -0x30(%rbp)
leaq 0x10(%rbp), %rcx
movq %rcx, -0x38(%rbp)
movl $0x30, -0x3c(%rbp)
movl $0x20, -0x40(%rbp)
movq (%rax), %rdi
movq -0x20(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x41d0
movq -0x100(%rbp), %rcx
movb -0xf1(%rbp), %al
movq (%rcx), %rdi
leaq 0xb5d9a(%rip), %rsi     # 0x152a21
callq 0x43e0
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_control.c
// Function: bcore_ext_err
void bcore_ext_err( sc_t func, sc_t file, int line, sc_t format, ... )
{
    fprintf( stderr, "error:%s:%i:0 in function %s:\n", file, line, func );
    va_list args;
    va_start( args, format );
    bcore_wrnv( format, args );
    va_end( args );
    bcore_abort();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
testb %al, %al
je 0x9cf7b
movaps %xmm0, -0xc0(%rbp)
movaps %xmm1, -0xb0(%rbp)
movaps %xmm2, -0xa0(%rbp)
movaps %xmm3, -0x90(%rbp)
movaps %xmm4, -0x80(%rbp)
movaps %xmm5, -0x70(%rbp)
movaps %xmm6, -0x60(%rbp)
movaps %xmm7, -0x50(%rbp)
movq %r9, -0xc8(%rbp)
movq %r8, -0xd0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
movq 0x10b041(%rip), %rax    # 0x1a7fe0
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
movl -0x14(%rbp), %ecx
movq -0x8(%rbp), %r8
leaq 0xb05df(%rip), %rsi     # 0x14d593
xorl %eax, %eax
callq 0x43e0
leaq -0xf0(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movl $0x30, -0x3c(%rbp)
movl $0x20, -0x40(%rbp)
movq -0x20(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x9caa0
callq 0x9c670
addq $0xf0, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_control.c
// Function: bcore_ext_err_fa
void bcore_ext_err_fa( sc_t func, sc_t file, int line, sc_t format, ... )
{
    fprintf( stderr, "error:%s:%i:0 in function %s:\n", file, line, func );
    va_list args;
    va_start( args, format );
    bcore_writeln_fv( stderr, format, args );
    va_end( args );
    bcore_abort();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
testb %al, %al
je 0x9d12b
movaps %xmm0, -0xc0(%rbp)
movaps %xmm1, -0xb0(%rbp)
movaps %xmm2, -0xa0(%rbp)
movaps %xmm3, -0x90(%rbp)
movaps %xmm4, -0x80(%rbp)
movaps %xmm5, -0x70(%rbp)
movaps %xmm6, -0x60(%rbp)
movaps %xmm7, -0x50(%rbp)
movq %r9, -0xc8(%rbp)
movq %r8, -0xd0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq %rcx, -0x20(%rbp)
movq 0x10ae91(%rip), %rax    # 0x1a7fe0
movq %rax, -0xf8(%rbp)
movq (%rax), %rdi
movq -0x10(%rbp), %rdx
movl -0x14(%rbp), %ecx
movq -0x8(%rbp), %r8
leaq 0xb0428(%rip), %rsi     # 0x14d593
xorl %eax, %eax
callq 0x43e0
movq -0xf8(%rbp), %rax
leaq -0xf0(%rbp), %rcx
movq %rcx, -0x30(%rbp)
leaq 0x10(%rbp), %rcx
movq %rcx, -0x38(%rbp)
movl $0x30, -0x3c(%rbp)
movl $0x20, -0x40(%rbp)
movq (%rax), %rdi
movq -0x20(%rbp), %rsi
leaq -0x40(%rbp), %rdx
callq 0x9c7b0
callq 0x9c670
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_control.c
// Function: bcore_memmove
vd_t bcore_memmove( vd_t dst, vc_t src, uz_t size )
{
    if( !dst )
    {
        dst = bcore_memcpy( dst, src, size );
    }
    else
    {
        if( size > 0 ) memmove( dst, src, size );

    }
    return dst;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x9d6a2
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x9d5e0
movq %rax, -0x8(%rbp)
jmp 0x9d6bc
cmpq $0x0, -0x18(%rbp)
jbe 0x9d6ba
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x42b0
jmp 0x9d6bc
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_control.c
// Function: bcore_get_time
void bcore_get_time( u3_t* seconds, u3_t* microseconds )
{
    struct timeval t = { 0 };
    gettimeofday( &t, NULL );
    if( seconds ) *seconds = t.tv_sec;
    if( microseconds ) *microseconds = t.tv_usec;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x20(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x4090
leaq -0x20(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x4140
cmpq $0x0, -0x8(%rbp)
je 0x9d7ff
movq -0x20(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x0, -0x10(%rbp)
je 0x9d811
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_control.c
// Function: bcore_control_signal_handler
vd_t bcore_control_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_control" ) ) )
    {
        case TYPEOF_init1:
        {
        }
        break;

        case TYPEOF_selftest:
        {
        }
        break;

        default: break;
    }
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0xafd07(%rip), %rdi     # 0x14d5b2
callq 0x9d900
movq -0x18(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x10(%rbp)
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0x9d8e9
jmp 0x9d8d4
movq -0x10(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0x9d8eb
jmp 0x9d8ed
jmp 0x9d8ef
jmp 0x9d8ef
jmp 0x9d8ef
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_error_manager.c
// Function: context_s_remove_last_if_of
static void context_s_remove_last_if_of( bcore_error_manager_context_s* o, er_t id )
{
    bcore_mutex_s_lock( &o->mutex );
    if( o->adl.size > 0 )
    {
        const bcore_error_manager_error_s* error = o->adl.data[ o->adl.size - 1 ];
        if( id == error->id )
        {
            bcore_error_manager_error_adl_s_set_size( &o->adl, o->adl.size > 0 ? o->adl.size - 1 : 0 );
        }
    }
    bcore_mutex_s_unlock( &o->mutex );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
addq $0x28, %rdi
callq 0x10fc20
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x9def2
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x18(%rcx), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0x9def0
movq -0x8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x9dedb
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
subq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x9dee3
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0x9dee3
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x483d0
jmp 0x9def2
movq -0x8(%rbp), %rdi
addq $0x28, %rdi
callq 0x10fc70
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_error_manager.c
// Function: context_s_stack_size
static sz_t context_s_stack_size( bcore_error_manager_context_s* o )
{
    bcore_mutex_s_lock( &o->mutex );
    sz_t size = o->adl.size;
    bcore_mutex_s_unlock( &o->mutex );
    return size;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
addq $0x28, %rdi
callq 0x10fc20
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
addq $0x28, %rdi
callq 0x10fc70
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_error_manager.c
// Function: context_s_push_sc
static void context_s_push_sc( bcore_error_manager_context_s* o, er_t id, sc_t msg )
{
    ASSERT( id != 0 );
    bcore_mutex_s_lock( &o->mutex );
    bcore_error_manager_error_s* error = bcore_error_manager_error_s_create();
    error->id = id;
    st_s_copy_sc( &error->msg, msg );
    bcore_error_manager_error_adl_s_push_d( &o->adl, error );
    bcore_mutex_s_unlock( &o->mutex );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x9dfe4
leaq 0x959dd(%rip), %rdi     # 0x13399f
leaq 0xaf6ae(%rip), %rsi     # 0x14d677
leaq 0xaf6af(%rip), %rdx     # 0x14d67f
leaq 0xaf63a(%rip), %rcx     # 0x14d611
movl $0x4b, %r8d
movb $0x0, %al
callq 0x9cea0
movq -0x8(%rbp), %rdi
addq $0x28, %rdi
callq 0x10fc20
movb $0x0, %al
callq 0x48210
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x20(%rbp), %rdi
addq $0x10, %rdi
movq -0x18(%rbp), %rsi
callq 0xfea50
movq -0x8(%rbp), %rdi
addq $0x8, %rdi
movq -0x20(%rbp), %rsi
callq 0x48480
movq -0x8(%rbp), %rdi
addq $0x28, %rdi
callq 0x10fc70
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_error_manager.c
// Function: bcore_error_push_fv
er_t bcore_error_push_fv( er_t id, sc_t format, va_list args )
{
    st_s* msg = st_s_create_fv( format, args );
    er_t ret = bcore_error_push_sc( id, msg->sc );
    st_s_discard( msg );
    return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xff3f0
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x9df70
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
callq 0xff600
movq -0x28(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_error_manager.c
// Function: bcore_error_push_ffl_fv
er_t bcore_error_push_ffl_fv( er_t id, sc_t func, sc_t file, sz_t line, sc_t format, va_list args )
{
    st_s* msg = st_s_create_fa( "error:#<sc_t>:#<sz_t>:0 in function #<sc_t>:\n", file, line, func );
    st_s_push_fv( msg, format, args );
    bcore_error_push_fa( id, "#<sc_t>", msg->sc );
    st_s_discard( msg );
    return id;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x10(%rbp), %rcx
leaq 0xaf44d(%rip), %rdi     # 0x14d5c0
movb $0x0, %al
callq 0xff430
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x30(%rbp), %rdx
callq 0x1001c0
movq -0x8(%rbp), %rdi
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0xb0d83(%rip), %rsi     # 0x14ef25
movb $0x0, %al
callq 0x9e090
movq -0x38(%rbp), %rdi
callq 0xff600
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_error_manager.c
// Function: context_s_last
static er_t context_s_last( bcore_error_manager_context_s* o )
{
    bcore_mutex_s_lock( &o->mutex );
    er_t id = 0;

    if( o->adl.size > 0 )
    {
        const bcore_error_manager_error_s* error = o->adl.data[ o->adl.size - 1 ];
        id = error->id;
    }

    bcore_mutex_s_unlock( &o->mutex );
    return id;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
addq $0x28, %rdi
callq 0x10fc20
movq $0x0, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x9e3e4
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x18(%rcx), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
addq $0x28, %rdi
callq 0x10fc70
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_error_manager.c
// Function: context_s_pop_st
static bl_t context_s_pop_st( bcore_error_manager_context_s* o, er_t* id, st_s* msg )
{
    bcore_mutex_s_lock( &o->mutex );
    bl_t ret = false;

    if( o->adl.size > 0 )
    {
        const bcore_error_manager_error_s* error = o->adl.data[ o->adl.size - 1 ];
        if( id ) *id = error->id;
        if( msg ) st_s_copy( msg, &error->msg );
        bcore_error_manager_error_adl_s_set_size( &o->adl, o->adl.size - 1 );
        ret = true;
    }
    else
    {
        if( id ) *id = 0;
        if( msg ) st_s_clear( msg );
    }

    bcore_mutex_s_unlock( &o->mutex );
    return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
addq $0x28, %rdi
callq 0x10fc20
movb $0x0, -0x19(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x9e4c9
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x18(%rcx), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x9e492
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x0, -0x18(%rbp)
je 0x9e4aa
movq -0x18(%rbp), %rdi
movq -0x28(%rbp), %rsi
addq $0x10, %rsi
callq 0xfe850
movq -0x8(%rbp), %rdi
addq $0x8, %rdi
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rsi
subq $0x1, %rsi
callq 0x483d0
movb $0x1, -0x19(%rbp)
jmp 0x9e4ed
cmpq $0x0, -0x10(%rbp)
je 0x9e4db
movq -0x10(%rbp), %rax
movq $0x0, (%rax)
cmpq $0x0, -0x18(%rbp)
je 0x9e4eb
movq -0x18(%rbp), %rdi
callq 0xffb50
jmp 0x9e4ed
movq -0x8(%rbp), %rdi
addq $0x28, %rdi
callq 0x10fc70
movb -0x19(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_error_manager.c
// Function: bcore_error_pop_to_sink
bl_t bcore_error_pop_to_sink( bcore_sink* sink )
{
    BLM_INIT();
    st_s* s = BLM_CREATE( st_s );
    bl_t success = bcore_error_pop_st( NULL, s );
    if( success && sink ) bcore_sink_a_push_fa( sink, "#<sc_t>\n", s->sc );
    BLM_RETURNV( bl_t, success );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x113e0d(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x10(%rbp)
leaq -0x40(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xbfe80
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movb $0x0, %al
callq 0xff2e0
movq -0x60(%rbp), %rdi
movq %rax, %rdx
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
callq 0xc00e0
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x9e400
andb $0x1, %al
movb %al, -0x51(%rbp)
testb $0x1, -0x51(%rbp)
je 0x9e5a9
cmpq $0x0, -0x8(%rbp)
je 0x9e5a9
movq -0x8(%rbp), %rdi
movq -0x50(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0xba26f(%rip), %rsi     # 0x158811
movb $0x0, %al
callq 0xf0e20
movb -0x51(%rbp), %al
andb $0x1, %al
movb %al, -0x52(%rbp)
movq -0x48(%rbp), %rdi
callq 0xc0720
movb -0x52(%rbp), %al
andb $0x1, %al
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_error_manager.c
// Function: bcore_error_manager_signal_handler
vd_t bcore_error_manager_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, btypeof( "bcore_error_manager" ) ) )
    {
        case TYPEOF_init0:
        {
        }
        break;

        case TYPEOF_init1:
        {
        }
        break;

        case TYPEOF_down1:
        {
            if( context_g )
            {
                s2_t verbosity = o->object ? *( s2_t* )o->object : 0;
                if( verbosity >= 0 && bcore_error_stack_size() > 0 )
                {
                    WRN_fa( "Error Manager: Stack is not empty!\nList of remaining errors:" );
                    st_s* msg = st_s_create();
                    er_t id = 0;
                    while( bcore_error_pop_st( &id, msg ) )
                    {
                        bcore_wrn_fa( "\n#<sc_t>: #<sc_t>\n", ifnameof( id ), msg->sc );
                    }
                    st_s_discard( msg );
                }
                bcore_error_manager_context_s_detach( &context_g );
            }
        }
        break;

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0xa508c(%rip), %rdi     # 0x143707
callq 0x9e7b0
movq -0x30(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x28(%rbp)
movabsq $-0x69a05654ee793a14, %rcx # imm = 0x965FA9AB1186C5EC
subq %rcx, %rax
je 0x9e6dc
jmp 0x9e6a4
movq -0x28(%rbp), %rax
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0x9e6d7
jmp 0x9e6b9
movq -0x28(%rbp), %rax
movabsq $0x6a72cf8f8250f179, %rcx # imm = 0x6A72CF8F8250F179
subq %rcx, %rax
jne 0x9e7a4
jmp 0x9e6d2
jmp 0x9e7a6
jmp 0x9e7a6
cmpq $0x0, 0x113c14(%rip)    # 0x1b22f8
je 0x9e7a2
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x9e704
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movl (%rax), %eax
movl %eax, -0x34(%rbp)
jmp 0x9e70b
xorl %eax, %eax
movl %eax, -0x34(%rbp)
jmp 0x9e70b
movl -0x34(%rbp), %eax
movl %eax, -0xc(%rbp)
cmpl $0x0, -0xc(%rbp)
jl 0x9e796
callq 0x9df10
cmpq $0x0, %rax
jle 0x9e796
leaq 0xaeec5(%rip), %rdi     # 0x14d5ee
leaq 0xaeee1(%rip), %rsi     # 0x14d611
movl $0x143, %edx            # imm = 0x143
leaq 0xaeeeb(%rip), %rcx     # 0x14d627
movb $0x0, %al
callq 0x9cda0
movb $0x0, %al
callq 0xff2e0
movq %rax, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x20(%rbp), %rdi
callq 0x9e400
testb $0x1, %al
jne 0x9e769
jmp 0x9e78d
movq -0x20(%rbp), %rdi
callq 0x9e7d0
movq %rax, %rsi
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0xaeee0(%rip), %rdi     # 0x14d664
movb $0x0, %al
callq 0x9cce0
jmp 0x9e756
movq -0x18(%rbp), %rdi
callq 0xff600
leaq 0x113b5b(%rip), %rdi    # 0x1b22f8
callq 0x9e820
jmp 0x9e7a6
jmp 0x9e7a6
xorl %eax, %eax
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_file.c
// Function: bcore_file_path_s_source
void bcore_file_path_s_source( bcore_file_path_s* o, bcore_source* source )
{
    sc_t file = bcore_source_a_get_file( source );
    st_s_detach( &o->full );
    st_s_detach( &o->root );
    if( file )
    {
        o->root = bcore_file_folder_path( file );
        if( o->root && o->name.size > 0 && o->name.sc[ 0 ] != '/' )
        {
            o->full = st_s_create_fa( "#<sc_t>/#<sc_t>", o->root->sc, o->name.sc );
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x9f080
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
addq $0x30, %rdi
callq 0x9f0b0
movq -0x8(%rbp), %rdi
addq $0x28, %rdi
callq 0x9f0b0
cmpq $0x0, -0x18(%rbp)
je 0x9f077
movq -0x18(%rbp), %rdi
callq 0x9f0e0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x9f075
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x9f075
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
je 0x9f075
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdx
leaq 0x9436d(%rip), %rdi     # 0x1333d0
movb $0x0, %al
callq 0xff430
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x30(%rax)
jmp 0x9f077
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_file.c
// Function: bcore_file_folder_path
st_s* bcore_file_folder_path( sc_t path )
{
    st_s* s = st_s_create_sc( path );
    sz_t idx = st_s_find_char( s, -1, 0, '/' );
    if( s->data[ idx ] == '/' )
    {
        s->data[ idx ] = 0;
        s->size = idx;
    }
    else
    {
        s->data[ 0 ] = 0;
        s->size = 0;
    }

    // preserve explicit root folder
    if( s->size == 0 && path[ 0 ] == '/' ) st_s_push_char( s, '/' );

    return s;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0xff550
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq $-0x1, %rsi
xorl %eax, %eax
movl %eax, %edx
movl $0x2f, %ecx
callq 0x100390
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
jne 0x9f149
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0x9f160
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movb $0x0, (%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x9f185
movq -0x8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
jne 0x9f185
movq -0x10(%rbp), %rdi
movl $0x2f, %esi
callq 0xffba0
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_file.c
// Function: bcore_file_extension
sc_t bcore_file_extension( sc_t path )
{
    st_s* s = st_s_create_sc( path );
    sz_t idx = st_s_find_char( s, -1, 0, '.' );
    if( s->data[ idx ] == '.' ) idx++;
    st_s_discard( s );
    return path + idx;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0xff550
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq $-0x1, %rsi
xorl %eax, %eax
movl %eax, %edx
movl $0x2e, %ecx
callq 0x100390
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2e, %eax
jne 0x9f447
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0xff600
movq -0x8(%rbp), %rax
addq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_file.c
// Function: bcore_file_name
sc_t bcore_file_name( sc_t path )
{
    st_s* s = st_s_create_sc( path );
    sz_t idx = st_s_find_char( s, -1, 0, '/' );
    st_s_discard( s );
    if( path[ idx ] == '/' ) return path + idx + 1;
    return path;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0xff550
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movq $-0x1, %rsi
xorl %eax, %eax
movl %eax, %edx
movl $0x2f, %ecx
callq 0x100390
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0xff600
movq -0x10(%rbp), %rax
movq -0x20(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
jne 0x9f4c2
movq -0x10(%rbp), %rax
addq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
jmp 0x9f4ca
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_file.c
// Function: bcore_file_strip_extension
st_s* bcore_file_strip_extension( sc_t path )
{
    st_s* s = st_s_create_sc( path );
    sz_t idx = st_s_find_char( s, -1, 0, '.' );
    if( s->data[ idx ] == '.' )
    {
        s->data[ idx ] = 0;
        s->size = idx;
    }
    return s;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0xff550
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq $-0x1, %rsi
xorl %eax, %eax
movl %eax, %edx
movl $0x2e, %ecx
callq 0x100390
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2e, %eax
jne 0x9f547
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_file.c
// Function: bcore_file_folder_name
st_s* bcore_file_folder_name( sc_t path )
{
    st_s* s1 = bcore_file_folder_path( path );
    st_s* s2 = st_s_create_sc( bcore_file_name( s1->sc ) );
    st_s_discard( s1 );
    return s2;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x9f0e0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x9f460
movq %rax, %rdi
callq 0xff550
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0xff600
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_file.c
// Function: bcore_file_touch
bl_t bcore_file_touch( sc_t name )
{
    if( bcore_file_exists( name ) ) return true;
    vd_t handle = fopen( name, "wb" );
    if( !handle ) return false;
    fclose( handle );
    return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x9f5b0
testb $0x1, %al
jne 0x9f66b
jmp 0x9f671
movb $0x1, -0x1(%rbp)
jmp 0x9f69f
movq -0x10(%rbp), %rdi
leaq 0xae019(%rip), %rsi     # 0x14d695
callq 0x4160
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x9f692
movb $0x0, -0x1(%rbp)
jmp 0x9f69f
movq -0x18(%rbp), %rdi
callq 0x4340
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_file.c
// Function: bcore_file_find_descend
bl_t bcore_file_find_descend( sc_t folder, sc_t path, st_s* result )
{
    BLM_INIT();
    st_s* st_folder = BLM_A_PUSH( st_s_create_sc( folder ) );
    st_s* st_result = BLM_A_PUSH( st_s_create() );

    for(;;)
    {
        st_s_copy_fa( st_result, "#<sc_t>/#<sc_t>", st_folder->sc, path );
        if( bcore_file_exists( st_result->sc ) )
        {
            if( result ) st_s_copy( result, st_result );
            //bcore_msg_fa( "#<sc_t>\n", result->sc );

            BLM_RETURNV( bl_t, true );
        }

        if( st_folder->size == 0 || ( st_folder->size == 1 && st_folder->sc[ 0 ] == '/' ) ) break;

        {
            st_s* st_new = bcore_file_folder_path( st_folder->sc );
            st_s_copy( st_folder, st_new );
            st_s_discard( st_new );
        }
    }

    BLM_RETURNV( bl_t, false );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
leaq 0x112c02(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x28(%rbp)
leaq -0x58(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0xbfe80
movq -0x60(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x10(%rbp), %rdi
callq 0xff550
movq -0x98(%rbp), %rdi
movq %rax, %rsi
callq 0xc0460
movq %rax, -0x68(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x90(%rbp)
movb $0x0, %al
callq 0xff2e0
movq -0x90(%rbp), %rdi
movq %rax, %rsi
callq 0xc0460
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x18(%rbp), %rcx
leaq 0x93c1b(%rip), %rsi     # 0x1333d0
movb $0x0, %al
callq 0xfec20
movq -0x70(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x9f5b0
testb $0x1, %al
jne 0x9f7cf
jmp 0x9f7fa
cmpq $0x0, -0x20(%rbp)
je 0x9f7e3
movq -0x20(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0xfe850
movb $0x1, -0x71(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movb -0x71(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x9f869
movq -0x68(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x9f820
movq -0x68(%rbp), %rax
cmpq $0x1, 0x10(%rax)
jne 0x9f822
movq -0x68(%rbp), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
jne 0x9f822
jmp 0x9f84e
movq -0x68(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x9f0e0
movq %rax, -0x80(%rbp)
movq -0x68(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0xfe850
movq -0x80(%rbp), %rdi
callq 0xff600
jmp 0x9f79e
movb $0x0, -0x81(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movb -0x81(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0xa0, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_file.c
// Function: bcore_file_signal_handler
vd_t bcore_file_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_file" ) ) )
    {
        case TYPEOF_init1:
        {
        }
        break;

        case TYPEOF_selftest:
        {
        }
        break;

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0xa379d(%rip), %rdi     # 0x143108
callq 0x9f9c0
movq -0x18(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x10(%rbp)
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0x9f9a9
jmp 0x9f994
movq -0x10(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0x9f9ab
jmp 0x9f9ad
jmp 0x9f9af
jmp 0x9f9af
jmp 0x9f9af
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_flect.c
// Function: bcore_flect_caps_is_array
bl_t bcore_flect_caps_is_array( u2_t caps )
{
    switch( caps )
    {
        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: break;
    }
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
movl -0x8(%rbp), %eax
addl $-0x6, %eax
movl %eax, %ecx
movq %rcx, -0x10(%rbp)
subl $0x7, %eax
ja 0xa03dc
movq -0x10(%rbp), %rax
leaq 0xad2f5(%rip), %rcx     # 0x14d698
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb $0x1, -0x1(%rbp)
jmp 0xa03e2
movb $0x1, -0x1(%rbp)
jmp 0xa03e2
movb $0x1, -0x1(%rbp)
jmp 0xa03e2
movb $0x1, -0x1(%rbp)
jmp 0xa03e2
movb $0x1, -0x1(%rbp)
jmp 0xa03e2
movb $0x1, -0x1(%rbp)
jmp 0xa03e2
movb $0x1, -0x1(%rbp)
jmp 0xa03e2
movb $0x1, -0x1(%rbp)
jmp 0xa03e2
jmp 0xa03de
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_flect.c
// Function: bcore_flect_caps_is_array_dyn
bl_t bcore_flect_caps_is_array_dyn( u2_t caps )
{
    switch( caps )
    {
        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;
        default: break;
    }
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
movl -0x8(%rbp), %eax
addl $-0x6, %eax
movl %eax, %ecx
movq %rcx, -0x10(%rbp)
subl $0x4, %eax
ja 0xa043a
movq -0x10(%rbp), %rax
leaq 0xad2a5(%rip), %rcx     # 0x14d6b8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb $0x1, -0x1(%rbp)
jmp 0xa0440
movb $0x1, -0x1(%rbp)
jmp 0xa0440
movb $0x1, -0x1(%rbp)
jmp 0xa0440
movb $0x1, -0x1(%rbp)
jmp 0xa0440
movb $0x1, -0x1(%rbp)
jmp 0xa0440
jmp 0xa043c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_flect.c
// Function: bcore_flect_caps_is_array_fix
bl_t bcore_flect_caps_is_array_fix( u2_t caps )
{
    switch( caps )
    {
        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: break;
    }
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
movl -0x8(%rbp), %eax
movl %eax, -0xc(%rbp)
subl $0xb, %eax
je 0xa0478
jmp 0xa0464
movl -0xc(%rbp), %eax
subl $0xc, %eax
je 0xa047e
jmp 0xa046e
movl -0xc(%rbp), %eax
subl $0xd, %eax
je 0xa0484
jmp 0xa048a
movb $0x1, -0x1(%rbp)
jmp 0xa0490
movb $0x1, -0x1(%rbp)
jmp 0xa0490
movb $0x1, -0x1(%rbp)
jmp 0xa0490
jmp 0xa048c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_flect.c
// Function: bcore_flect_caps_is_array_of_links
bl_t bcore_flect_caps_is_array_of_links( u2_t caps )
{
    switch( caps )
    {
        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_LINK_STATIC:
        case BCORE_CAPS_ARRAY_FIX_LINK_AWARE:
            return true;

        default:
            return false;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
movl -0x8(%rbp), %eax
movl %eax, -0xc(%rbp)
addl $-0x8, %eax
subl $0x3, %eax
jb 0xa04c4
jmp 0xa04b7
movl -0xc(%rbp), %eax
addl $-0xc, %eax
subl $0x1, %eax
ja 0xa04ca
jmp 0xa04c4
movb $0x1, -0x1(%rbp)
jmp 0xa04ce
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_flect.c
// Function: bcore_flect_caps_is_aware
bl_t bcore_flect_caps_is_aware( u2_t caps )
{
    switch( caps )
    {
        case BCORE_CAPS_LINK_AWARE:           return true;
        case BCORE_CAPS_ARRAY_DYN_LINK_AWARE: return true;
        case BCORE_CAPS_ARRAY_FIX_LINK_AWARE: return true;
        default: break;
    }
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
movl -0x8(%rbp), %eax
movl %eax, -0xc(%rbp)
subl $0x4, %eax
je 0xa0508
jmp 0xa04f4
movl -0xc(%rbp), %eax
subl $0xa, %eax
je 0xa050e
jmp 0xa04fe
movl -0xc(%rbp), %eax
subl $0xd, %eax
je 0xa0514
jmp 0xa051a
movb $0x1, -0x1(%rbp)
jmp 0xa0520
movb $0x1, -0x1(%rbp)
jmp 0xa0520
movb $0x1, -0x1(%rbp)
jmp 0xa0520
jmp 0xa051c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_flect.c
// Function: bcore_flect_caps_is_typed
bl_t bcore_flect_caps_is_typed( u2_t caps )
{
    switch( caps )
    {
        case BCORE_CAPS_LINK_TYPED:            return true;
        case BCORE_CAPS_ARRAY_DYN_SOLID_TYPED: return true;
        case BCORE_CAPS_ARRAY_DYN_LINK_TYPED:  return true;
        default: break;
    }
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x8(%rbp)
movl -0x8(%rbp), %eax
movl %eax, -0xc(%rbp)
subl $0x3, %eax
je 0xa0558
jmp 0xa0544
movl -0xc(%rbp), %eax
subl $0x7, %eax
je 0xa055e
jmp 0xa054e
movl -0xc(%rbp), %eax
subl $0x9, %eax
je 0xa0564
jmp 0xa056a
movb $0x1, -0x1(%rbp)
jmp 0xa0570
movb $0x1, -0x1(%rbp)
jmp 0xa0570
movb $0x1, -0x1(%rbp)
jmp 0xa0570
jmp 0xa056c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
popq %rbp
retq
nopw (%rax,%rax)