LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_sr.c
// Function: sr_s_create_self
static bcore_self_s* sr_s_create_self( void )
{
    bcore_self_s* self = bcore_self_s_build_parse_sc( " sr_s = bcore_inst { private vd_t o; private vc_t p; private tp_t f; shell typed => obj; }", sizeof( sr_s ), alignof( sr_s ) );
    bcore_self_s_push_ns_func( self, ( fp_t )sr_s_init,    "bcore_fp_init", "init"    );
    bcore_self_s_push_ns_func( self, ( fp_t )sr_s_down,    "bcore_fp_down", "down"    );
    bcore_self_s_push_ns_func( self, ( fp_t )sr_s_copy,    "bcore_fp_copy", "copy"    );
    bcore_self_s_push_ns_func( self, ( fp_t )sr_s_get_obj, "bcore_fp_get",  "get_obj" );
    bcore_self_s_push_ns_func( self, ( fp_t )sr_s_set_obj, "bcore_fp_set",  "set_obj" );

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

// Assembly:
pushq %rbx
leaq 0x43085(%rip), %rdi     # 0x156e9b
movl $0x18, %esi
movl $0x8, %edx
callq 0xce5c6
movq %rax, %rbx
leaq -0x128a(%rip), %rsi     # 0x112ba5
leaq 0x39bbf(%rip), %rdx     # 0x14d9f5
leaq 0x39bc1(%rip), %rcx     # 0x14d9fe
movq %rax, %rdi
callq 0xcd5ad
leaq -0x129d(%rip), %rsi     # 0x112baf
leaq 0x39bb0(%rip), %rdx     # 0x14da03
leaq 0x2e370(%rip), %rcx     # 0x1421ca
movq %rbx, %rdi
callq 0xcd5ad
leaq -0x127f(%rip), %rsi     # 0x112bea
leaq 0x39ba1(%rip), %rdx     # 0x14da11
leaq 0x3566c(%rip), %rcx     # 0x1494e3
movq %rbx, %rdi
callq 0xcd5ad
leaq 0x55(%rip), %rsi        # 0x113edb
leaq 0x3acca(%rip), %rdx     # 0x14eb57
leaq 0x43062(%rip), %rcx     # 0x156ef6
movq %rbx, %rdi
callq 0xcd5ad
leaq 0x4e(%rip), %rsi        # 0x113ef1
leaq 0x3aca0(%rip), %rdx     # 0x14eb4a
leaq 0x4304d(%rip), %rcx     # 0x156efe
movq %rbx, %rdi
callq 0xcd5ad
leaq -0xe0b(%rip), %rsi      # 0x1130b5
leaq 0x324d5(%rip), %rdx     # 0x14639c
leaq 0x324d7(%rip), %rcx     # 0x1463a5
movq %rbx, %rdi
callq 0xcd5ad
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_initvf
void st_s_initvf( st_s* o, sc_t format, va_list args )
{
    st_s_init( o );
    va_list args1;
    va_copy( args1, args );
    s3_t n = vsnprintf( NULL, 0, format, args1 );
    if( n < 0 ) ERR( "Format error in '%s'\n", format );
    o->space = n + 1;
    va_end( args1 );
    if( o->space < 8 ) o->space = 8;
    o->data = bcore_b_alloc( NULL, o->space, &o->space );
    vsnprintf( o->data, o->space, format, args );
    o->size = bcore_strlen( o->sc );
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
movabsq $-0x503db0e6e1c2e704, %rax # imm = 0xAFC24F191E3D18FC
movq %rax, (%rdi)
leaq 0x3f72b(%rip), %rax     # 0x1536ef
movq %rax, 0x8(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rdi)
movq 0x10(%rdx), %rax
movq %rsp, %rcx
movq %rax, 0x10(%rcx)
movups (%rdx), %xmm0
movaps %xmm0, (%rcx)
xorl %edi, %edi
xorl %esi, %esi
movq %r15, %rdx
callq 0xd300
movslq %eax, %r12
testl %r12d, %r12d
jns 0x114018
leaq 0x42f31(%rip), %rdi     # 0x156f2c
leaq 0x42f36(%rip), %rsi     # 0x156f38
leaq 0x42f3a(%rip), %rcx     # 0x156f43
movl $0x2d, %edx
movq %r15, %r8
xorl %eax, %eax
callq 0xc80f6
incq %r12
leaq 0x18(%rbx), %rdx
movq %r12, 0x18(%rbx)
cmpq $0x7, %r12
ja 0x114030
movq $0x8, (%rdx)
movq 0x18(%rbx), %rsi
xorl %edi, %edi
callq 0xc832f
movq %rax, 0x8(%rbx)
movq 0x18(%rbx), %rsi
movq %rax, %rdi
movq %r15, %rdx
movq %r14, %rcx
callq 0xd300
movq 0x8(%rbx), %rdi
callq 0xc84d7
movq %rax, 0x10(%rbx)
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_init_fv
void st_s_init_fv( st_s* o, sc_t format, va_list args )
{
    st_s_init( o );
    uz_t format_size = bcore_strlen( format );
    s3_t n = 0;
    {
        va_list argsl;
        va_copy( argsl, args );
        n = sc_t_fnv( NULL, 0, format, format_size, &argsl );
        va_end( argsl );
    }
    if( n < 0 ) ERR( "Format error in '%s'\n", format );
    o->space = n + 1;
    if( o->space < 8 ) o->space = 8;
    o->data = bcore_b_alloc( NULL, o->space, &o->space );

    {
        va_list argsl;
        va_copy( argsl, args );
        sc_t_fnv( o->data, o->space, format, format_size, &argsl );
        va_end( argsl );
    }

    o->size = bcore_strlen( o->sc );
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
movabsq $-0x503db0e6e1c2e704, %rax # imm = 0xAFC24F191E3D18FC
movq %rax, (%rdi)
leaq 0x3f65b(%rip), %rax     # 0x1536ef
movq %rax, 0x8(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rdi)
movq %rsi, %rdi
callq 0xc84d7
movq %rax, %r12
movq 0x10(%r15), %rax
movq %rsp, %r8
movq %rax, 0x10(%r8)
movups (%r15), %xmm0
movaps %xmm0, (%r8)
xorl %edi, %edi
xorl %esi, %esi
movq %r14, %rdx
movq %r12, %rcx
callq 0xe80a7
movq %rax, %r13
testq %rax, %rax
jns 0x1140f8
leaq 0x42e7e(%rip), %rdi     # 0x156f59
leaq 0x42e56(%rip), %rsi     # 0x156f38
leaq 0x42e5a(%rip), %rcx     # 0x156f43
movl $0x43, %edx
movq %r14, %r8
xorl %eax, %eax
callq 0xc80f6
incq %r13
cmpq $0x9, %r13
movl $0x8, %esi
cmovaeq %r13, %rsi
leaq 0x18(%rbx), %rdx
movq %rsi, 0x18(%rbx)
xorl %edi, %edi
callq 0xc832f
movq %rax, 0x8(%rbx)
movq 0x10(%r15), %rax
movq %rsp, %r8
movq %rax, 0x10(%r8)
movups (%r15), %xmm0
movaps %xmm0, (%r8)
movq 0x8(%rbx), %rdi
movq 0x18(%rbx), %rsi
movq %r14, %rdx
movq %r12, %rcx
callq 0xe80a7
movq 0x8(%rbx), %rdi
callq 0xc84d7
movq %rax, 0x10(%rbx)
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_init_sc_n
void st_s_init_sc_n( st_s* o, sc_t sc, uz_t sc_size )
{
    st_s_init( o );
    o->space = sc_size < 8 ? 8 : sc_size + 1;
    o->data  = bcore_b_alloc( NULL, o->space, &o->space );
    bcore_memcpy( o->data, sc, sc_size );
    o->size = sc_size;
    o->data[ o->size ] = 0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r14
movabsq $-0x503db0e6e1c2e704, %rax # imm = 0xAFC24F191E3D18FC
movq %rax, (%rdi)
leaq 0x3f469(%rip), %rax     # 0x1536ef
movq %rax, 0x8(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rdi)
leaq 0x1(%rdx), %rax
cmpq $0x8, %rdx
movl $0x8, %esi
cmovaeq %rax, %rsi
leaq 0x18(%rdi), %rdx
movq %rsi, 0x18(%rdi)
xorl %edi, %edi
callq 0xc832f
movq %rax, 0x8(%r14)
movq %rax, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0xc83f1
movq %rbx, 0x10(%r14)
movq 0x8(%r14), %rax
movb $0x0, (%rax,%rbx)
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_init_sd_d
void st_s_init_sd_d( st_s* o, sd_t sd )
{
    st_s_init( o );
    if( sd != NULL )
    {
        o->data  = sd;
        o->size  = strlen( sd );
        o->space = o->size + 1;
    }
}

// Assembly:
movabsq $-0x503db0e6e1c2e704, %rax # imm = 0xAFC24F191E3D18FC
movq %rax, (%rdi)
leaq 0x3f406(%rip), %rax     # 0x1536ef
movq %rax, 0x8(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rdi)
testq %rsi, %rsi
je 0x114315
pushq %rbx
movq %rdi, %rbx
movq %rsi, 0x8(%rdi)
movq %rsi, %rdi
callq 0xd230
movq %rax, 0x10(%rbx)
incq %rax
movq %rax, 0x18(%rbx)
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_set_size
st_s* st_s_set_size( st_s* o, u0_t fill_char, uz_t size )
{
    if( o->space <= size )
    {
        if( o->space > 0 ) bcore_bn_alloc( o->data, o->space, 0, &o->space );
        o->space = size < 8 ? 8 : size + 1;
        o->data  = bcore_b_alloc( NULL, o->space, &o->space );
    }
    for( sz_t i = 0; i < size; i++ ) o->data[ i ] = fill_char;
    o->size = size;
    o->data[ o->size ] = 0;
    return o;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movl %esi, %ebp
movq %rdi, %r14
movq 0x18(%rdi), %rsi
cmpq %rdx, %rsi
ja 0x11440f
leaq 0x18(%r14), %r15
testq %rsi, %rsi
je 0x1143ec
movq 0x8(%r14), %rdi
xorl %edx, %edx
movq %r15, %rcx
callq 0xc8334
leaq 0x1(%rbx), %rax
cmpq $0x8, %rbx
movl $0x8, %esi
cmovaeq %rax, %rsi
movq %rsi, 0x18(%r14)
xorl %edi, %edi
movq %r15, %rdx
callq 0xc832f
movq %rax, 0x8(%r14)
testq %rbx, %rbx
je 0x114426
xorl %eax, %eax
movq 0x8(%r14), %rcx
movb %bpl, (%rcx,%rax)
incq %rax
cmpq %rax, %rbx
jne 0x114416
movq %rbx, 0x10(%r14)
movq 0x8(%r14), %rax
movb $0x0, (%rax,%rbx)
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_copy
st_s* st_s_copy( st_s* o, const st_s* src )
{
    if( !src || o == src ) return o;
    if( o->space <= src->size )
    {
        if( o->space > 0 ) bcore_bn_alloc( o->data, o->space, 0, &o->space );
        o->space = src->size < 8 ? 8 : src->size + 1;
        o->data  = bcore_b_alloc( NULL, o->space, &o->space );
    }
    bcore_memcpy( o->data, src->data, src->size );
    o->size = src->size;
    o->data[ o->size ] = 0;
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
testq %rsi, %rsi
sete %al
cmpq %rsi, %rdi
sete %cl
orb %al, %cl
jne 0x1144c4
movq %rsi, %r14
movq 0x18(%rbx), %rsi
cmpq 0x10(%r14), %rsi
ja 0x1144a3
leaq 0x18(%rbx), %r15
testq %rsi, %rsi
je 0x11447c
movq 0x8(%rbx), %rdi
xorl %edx, %edx
movq %r15, %rcx
callq 0xc8334
movq 0x10(%r14), %rax
leaq 0x1(%rax), %rcx
cmpq $0x8, %rax
movl $0x8, %esi
cmovaeq %rcx, %rsi
movq %rsi, 0x18(%rbx)
xorl %edi, %edi
movq %r15, %rdx
callq 0xc832f
movq %rax, 0x8(%rbx)
movq 0x8(%rbx), %rdi
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rdx
callq 0xc83f1
movq 0x10(%r14), %rax
movq %rax, 0x10(%rbx)
movq 0x8(%rbx), %rcx
movb $0x0, (%rcx,%rax)
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_copy_sc_n
st_s* st_s_copy_sc_n( st_s* o, sc_t sc, uz_t sc_size )
{
    if( o->space <= sc_size )
    {
        if( o->space > 0 ) bcore_bn_alloc( o->data, o->space, 0, &o->space );
        o->space = sc_size < 8 ? 8 : sc_size + 1;
        o->data  = bcore_b_alloc( NULL, o->space, &o->space );
    }
    bcore_memcpy( o->data, sc, sc_size );
    o->size = sc_size;
    o->data[ o->size ] = 0;
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r14
movq 0x18(%rdi), %rsi
cmpq %rdx, %rsi
ja 0x114521
leaq 0x18(%r14), %r12
testq %rsi, %rsi
je 0x1144fe
movq 0x8(%r14), %rdi
xorl %edx, %edx
movq %r12, %rcx
callq 0xc8334
leaq 0x1(%rbx), %rax
cmpq $0x8, %rbx
movl $0x8, %esi
cmovaeq %rax, %rsi
movq %rsi, 0x18(%r14)
xorl %edi, %edi
movq %r12, %rdx
callq 0xc832f
movq %rax, 0x8(%r14)
movq 0x8(%r14), %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0xc83f1
movq %rbx, 0x10(%r14)
movq 0x8(%r14), %rax
movb $0x0, (%rax,%rbx)
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_assign_sc
st_s* st_s_assign_sc( st_s* o, sc_t sc )
{
    uz_t src_size = bcore_strlen( sc );
    if( o->space > 0 ) bcore_bn_alloc( o->data, o->space, 0, &o->space );
    o->sc   = sc;
    o->size = src_size;
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %r14
movq %rdi, %rbx
movq %rsi, %rdi
callq 0xc84d7
movq %rax, %r15
movq 0x18(%rbx), %rsi
testq %rsi, %rsi
je 0x11460c
leaq 0x18(%rbx), %rcx
movq 0x8(%rbx), %rdi
xorl %edx, %edx
callq 0xc8334
movq %r14, 0x8(%rbx)
movq %r15, 0x10(%rbx)
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_move
st_s* st_s_move( st_s* o, st_s* src )
{
    st_s_init( o );
    st_s_copy( o, src );
    st_s_down( src );
    return o;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movabsq $-0x503db0e6e1c2e704, %rax # imm = 0xAFC24F191E3D18FC
movq %rax, (%rdi)
leaq 0x3eb6f(%rip), %rax     # 0x1536ef
movq %rax, 0x8(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rdi)
callq 0x114440
movq 0x18(%r14), %rsi
testq %rsi, %rsi
je 0x114ba8
leaq 0x18(%r14), %rcx
movq 0x8(%r14), %rdi
xorl %edx, %edx
callq 0xc8334
movq $0x0, 0x10(%r14)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_createf
st_s* st_s_createf( sc_t format, ... )
{
    va_list args;
    va_start( args, format );
    st_s* o = st_s_createvf( format, args );
    va_end( args );
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0xd0, %rsp
movq %rdi, %rbx
leaq 0x20(%rsp), %rdi
movq %rsi, 0x8(%rdi)
movq %rdx, 0x10(%rdi)
movq %rcx, 0x18(%rdi)
movq %r8, 0x20(%rdi)
movq %r9, 0x28(%rdi)
testb %al, %al
je 0x114c81
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, %r14
movq %rdi, 0x10(%r14)
leaq 0xf0(%rsp), %rax
movq %rax, 0x8(%r14)
movabsq $0x3000000008, %rax     # imm = 0x3000000008
movq %rax, (%r14)
movl $0x20, %esi
xorl %edi, %edi
xorl %edx, %edx
callq 0xc832f
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x113f9c
movq %r15, %rax
addq $0xd0, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_createf_l
st_s* st_s_createf_l( bcore_life_s* life, sc_t format, ... )
{
    st_s* o = bcore_b_alloc( NULL, sizeof( st_s ), NULL );
    va_list args;
    va_start( args, format );
    st_s_initvf( o, format, args );
    va_end( args );
    return bcore_life_s_push( life, ( bcore_fp_discard )st_s_discard, o );
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0xd8, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x20(%rsp), %r12
movq %rdx, 0x10(%r12)
movq %rcx, 0x18(%r12)
movq %r8, 0x20(%r12)
movq %r9, 0x28(%r12)
testb %al, %al
je 0x114fde
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)
movl $0x20, %esi
xorl %edi, %edi
xorl %edx, %edx
callq 0xc832f
movq %rax, %r15
movq %rsp, %rdx
movq %r12, 0x10(%rdx)
leaq 0x100(%rsp), %rax
movq %rax, 0x8(%rdx)
movabsq $0x3000000010, %rax     # imm = 0x3000000010
movq %rax, (%rdx)
movq %r15, %rdi
movq %r14, %rsi
callq 0x113f9c
leaq -0xc0(%rip), %rsi       # 0x114f61
movq %rbx, %rdi
movq %r15, %rdx
callq 0xe0526
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_create_typed
st_s* st_s_create_typed( tp_t type, vc_t src )
{
    st_s* o = bcore_b_alloc( NULL, sizeof( st_s ), NULL );
    st_s_init( o );
    st_s_copy_typed( o, type, src );
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movl $0x20, %esi
xorl %edi, %edi
xorl %edx, %edx
callq 0xc832f
movq %rax, %r15
movabsq $-0x503db0e6e1c2e704, %rax # imm = 0xAFC24F191E3D18FC
movq %rax, (%r15)
leaq 0x3e618(%rip), %rax     # 0x1536ef
movq %rax, 0x8(%r15)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r15)
movq %r15, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1147c5
movq %r15, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_make_strong
void st_s_make_strong( st_s* o )
{
    if( !st_s_is_weak( o ) ) return;
    sc_t src = o->sc;
    o->size = 0;
    st_s_copy_sc( o, src );
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
cmpq $0x0, 0x10(%rdi)
je 0x115175
movq %rdi, %rbx
cmpq $0x0, 0x18(%rdi)
je 0x11517d
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq 0x8(%rbx), %r14
movq $0x0, 0x10(%rbx)
movq %r14, %rdi
callq 0xc84d7
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x1144cd
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_set_min_space
void st_s_set_min_space( st_s* o, uz_t min_space )
{
    if( min_space == 0 ) return;
    st_s_make_strong( o );
    if( o->space == 0 )
    {
        uz_t new_space = min_space > 8 ? min_space : 8;
        o->data = bcore_bn_alloc( NULL, 0, new_space, &o->space );
        o->data[ o->size ] = 0;
    }
    else if( o->space < min_space )
    {
        uz_t new_space = ( min_space > o->space * 2 ) ? min_space : o->space * 2;
        o->data = bcore_bn_alloc( o->data, o->space, new_space, &o->space );
    }
}

// Assembly:
testq %rsi, %rsi
je 0x115212
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
callq 0x115160
leaq 0x18(%rbx), %rcx
movq 0x18(%rbx), %rsi
testq %rsi, %rsi
je 0x1151e9
cmpq %r14, %rsi
jae 0x11520b
leaq (%rsi,%rsi), %rax
cmpq %r14, %rax
cmovaq %rax, %r14
movq 0x8(%rbx), %rdi
movq %r14, %rdx
callq 0xc8334
movq %rax, 0x8(%rbx)
jmp 0x11520b
cmpq $0x9, %r14
movl $0x8, %edx
cmovaeq %r14, %rdx
xorl %edi, %edi
xorl %esi, %esi
callq 0xc8334
movq %rax, 0x8(%rbx)
movq 0x10(%rbx), %rcx
movb $0x0, (%rax,%rcx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_clone
st_s* st_s_clone( const st_s* o )
{
    if( o )
    {
        st_s* o_l = st_s_create();
        st_s_copy( o_l, o );
        return o_l;
    }
    return NULL;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x11525d
movq %rdi, %rbx
movl $0x20, %esi
xorl %edi, %edi
xorl %edx, %edx
callq 0xc832f
movq %rax, %r14
movabsq $-0x503db0e6e1c2e704, %rax # imm = 0xAFC24F191E3D18FC
movq %rax, (%r14)
leaq 0x3e4ab(%rip), %rax     # 0x1536ef
movq %rax, 0x8(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r14)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x114440
jmp 0x115260
xorl %r14d, %r14d
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_crop
st_s* st_s_crop( const st_s* o, uz_t start, uz_t end )
{
    st_s* s = st_s_create();
    if( start >= o->size ) return s;
    uz_t end_l = end < o->size ? end : o->size;
    if( end_l <= start ) return s;
    s->space = end_l - start + 1;
    if( s->space < 8 ) s->space = 8;
    s->data = bcore_b_alloc( NULL, s->space, &s->space );
    s->size = end_l - start;
    bcore_memcpy( s->data, o->data + start, s->size );
    s->data[ s->size ] = 0;
    return s;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r12
movl $0x20, %esi
xorl %edi, %edi
xorl %edx, %edx
callq 0xc832f
movq %rax, %r15
movabsq $-0x503db0e6e1c2e704, %rax # imm = 0xAFC24F191E3D18FC
movq %rax, (%r15)
leaq 0x3e44e(%rip), %rax     # 0x1536ef
movq %rax, 0x8(%r15)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r15)
movq 0x10(%r12), %rax
cmpq %r14, %rax
setbe %cl
cmpq %r14, %rbx
setbe %dl
orb %cl, %dl
jne 0x115316
cmpq %rbx, %rax
cmovbq %rax, %rbx
subq %r14, %rbx
leaq 0x1(%rbx), %rax
movq %r15, %rdx
addq $0x18, %rdx
cmpq $0x9, %rax
movl $0x8, %esi
cmovaeq %rax, %rsi
movq %rsi, 0x18(%r15)
xorl %edi, %edi
callq 0xc832f
movq %rax, 0x8(%r15)
movq %rbx, 0x10(%r15)
addq 0x8(%r12), %r14
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0xc83f1
movq 0x8(%r15), %rax
movq 0x10(%r15), %rcx
movb $0x0, (%rax,%rcx)
movq %r15, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_push_char
st_s* st_s_push_char( st_s* o, char c )
{
    if( o->space == 0 ) st_s_make_strong( o );
    if( o->space == 0 )
    {
        o->space = 8;
        o->data = bcore_b_alloc( NULL, o->space, &o->space );
    }
    else if( o->space < o->size + 2 )
    {
        o->data = bcore_bn_alloc( o->data, o->space, o->space * 2, &o->space );
    }
    o->data[ o->size ] = c;
    o->size++;
    o->data[ o->size ] = 0;
    return o;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %esi, %ebp
movq %rdi, %rbx
leaq 0x18(%rdi), %r14
cmpq $0x0, 0x18(%rdi)
jne 0x11539d
movq %rbx, %rdi
callq 0x115160
movq (%r14), %rsi
testq %rsi, %rsi
je 0x1153c4
movq 0x10(%rbx), %rax
addq $0x2, %rax
cmpq %rax, %rsi
jae 0x1153df
movq 0x8(%rbx), %rdi
leaq (%rsi,%rsi), %rdx
movq %r14, %rcx
callq 0xc8334
jmp 0x1153db
movq $0x8, 0x18(%rbx)
movl $0x8, %esi
xorl %edi, %edi
movq %r14, %rdx
callq 0xc832f
movq %rax, 0x8(%rbx)
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rcx
movb %bpl, (%rax,%rcx)
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rcx
leaq 0x1(%rcx), %rdx
movq %rdx, 0x10(%rbx)
movb $0x0, 0x1(%rax,%rcx)
movq %rbx, %rax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_push_char_n
st_s* st_s_push_char_n( st_s* o, char c, uz_t n )
{
    st_s_set_min_space( o, o->size + n + 1 );
    bcore_memset( o->data + o->size, c, n );
    o->size += n;
    o->data[ o->size ] = 0;
    return o;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movq %rdx, %rbx
movl %esi, %ebp
movq %rdi, %r14
movq 0x10(%rdi), %rax
leaq (%rdx,%rax), %rsi
incq %rsi
callq 0x1151a6
movq 0x8(%r14), %rdi
addq 0x10(%r14), %rdi
movzbl %bpl, %esi
movq %rbx, %rdx
callq 0xc83c3
addq 0x10(%r14), %rbx
movq %rbx, 0x10(%r14)
movq 0x8(%r14), %rax
movb $0x0, (%rax,%rbx)
movq %r14, %rax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_pop_char
char st_s_pop_char( st_s* o )
{
    if( o->size  == 0 ) return 0;
    if( o->space == 0 ) st_s_make_strong( o );
    o->size--;
    char c = o->data[ o->size ];
    o->data[ o->size ] = 0;
    return c;
}

// Assembly:
cmpq $0x0, 0x10(%rdi)
je 0x115485
pushq %rbx
movq %rdi, %rbx
cmpq $0x0, 0x18(%rdi)
jne 0x11546a
movq %rbx, %rdi
callq 0x115160
movq 0x8(%rbx), %rcx
movq 0x10(%rbx), %rdx
leaq -0x1(%rdx), %rax
movq %rax, 0x10(%rbx)
movb -0x1(%rcx,%rdx), %al
movb $0x0, -0x1(%rcx,%rdx)
popq %rbx
retq
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_pop_n
void st_s_pop_n( st_s* o, uz_t n )
{
    if( o->size  == 0 ) return;
    if( o->space == 0 ) st_s_make_strong( o );
    o->size = ( o->size > n ) ? ( o->size - n ) : 0;
    o->data[ o->size ] = 0;
}

// Assembly:
cmpq $0x0, 0x10(%rdi)
je 0x1154c8
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
cmpq $0x0, 0x18(%rdi)
jne 0x1154a8
movq %rbx, %rdi
callq 0x115160
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rcx
xorl %edx, %edx
subq %r14, %rcx
cmovaeq %rcx, %rdx
movq %rdx, 0x10(%rbx)
movb $0x0, (%rax,%rdx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_push_st
st_s* st_s_push_st( st_s* o, const st_s* src )
{
    if( !src ) return o;
    if( o->size == 0 )
    {
        st_s_copy( o, src );
        return o;
    }
    if( o->space < o->size + src->size + 1 )
    {
        if( o->space == 0 ) st_s_make_strong( o );
        o->data = bcore_bn_alloc( o->data, o->space, o->size + src->size + 1, &o->space );
    }
    bcore_memcpy( o->data + o->size, src->data, src->size );
    o->size += src->size;
    o->data[ o->size ] = 0;
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
testq %rsi, %rsi
je 0x115563
movq %rsi, %r14
movq 0x10(%rbx), %rcx
testq %rcx, %rcx
je 0x115558
movq 0x18(%rbx), %rax
movq 0x10(%r14), %rdx
addq %rdx, %rcx
incq %rcx
cmpq %rcx, %rax
jae 0x11552d
leaq 0x18(%rbx), %r15
testq %rax, %rax
jne 0x11550a
movq %rbx, %rdi
callq 0x115160
movq 0x18(%rbx), %rsi
movq 0x8(%rbx), %rdi
movq 0x10(%rbx), %rax
movq 0x10(%r14), %rcx
leaq (%rax,%rcx), %rdx
incq %rdx
movq %r15, %rcx
callq 0xc8334
movq %rax, 0x8(%rbx)
movq 0x8(%rbx), %rdi
addq 0x10(%rbx), %rdi
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rdx
callq 0xc83f1
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rcx
addq 0x10(%r14), %rcx
movq %rcx, 0x10(%rbx)
movb $0x0, (%rax,%rcx)
jmp 0x115563
movq %rbx, %rdi
movq %r14, %rsi
callq 0x114440
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_push_sc_n
st_s* st_s_push_sc_n( st_s* o, sc_t sc, uz_t sc_size )
{
    if( o->space < o->size + sc_size + 1 )
    {
        if( o->space == 0 ) st_s_make_strong( o );
        o->data = bcore_bn_alloc( o->data, o->space, o->size + sc_size + 1, &o->space );
    }
    bcore_memcpy( o->data + o->size, sc, sc_size );
    o->size += sc_size;
    o->data[ o->size ] = 0;
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r14
movq 0x10(%rdi), %rcx
movq 0x18(%rdi), %rax
addq %rdx, %rcx
incq %rcx
cmpq %rcx, %rax
jae 0x1155ee
leaq 0x18(%r14), %r12
testq %rax, %rax
jne 0x1155cf
movq %r14, %rdi
callq 0x115160
movq 0x18(%r14), %rsi
movq 0x8(%r14), %rdi
movq 0x10(%r14), %rax
leaq (%rbx,%rax), %rdx
incq %rdx
movq %r12, %rcx
callq 0xc8334
movq %rax, 0x8(%r14)
movq 0x8(%r14), %rdi
addq 0x10(%r14), %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0xc83f1
addq 0x10(%r14), %rbx
movq %rbx, 0x10(%r14)
movq 0x8(%r14), %rax
movb $0x0, (%rax,%rbx)
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_pushvf
st_s* st_s_pushvf( st_s* o, sc_t format, va_list args )
{
    st_s s;
    st_s_initvf( &s, format, args );
    st_s_push_st( o, &s );
    st_s_down( &s );
    return o;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x113f9c
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1154c9
movq 0x18(%r14), %rsi
testq %rsi, %rsi
je 0x1156eb
leaq 0x20(%rsp), %rcx
movq -0x10(%rcx), %rdi
xorl %edx, %edx
callq 0xc8334
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_push_fv
st_s* st_s_push_fv( st_s* o, sc_t format, va_list args )
{
    st_s s;
    st_s_init_fv( &s, format, args );
    st_s_push_st( o, &s );
    st_s_down( &s );
    return o;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x11406a
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1154c9
movq 0x18(%r14), %rsi
testq %rsi, %rsi
je 0x1157c0
leaq 0x20(%rsp), %rcx
movq -0x10(%rcx), %rdi
xorl %edx, %edx
callq 0xc8334
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_find_char
uz_t st_s_find_char( const st_s* o, uz_t start, uz_t end, char c )
{
    if( end >= start )
    {
        uz_t end_l = end < o->size ? end : o->size;
        for( uz_t j = start; j < end_l; j++ ) if( o->data[ j ] == c ) return j;
        return end_l;
    }
    else
    {
        uz_t start_l = start < o->size ? start : o->size;
        for( uz_t j = start_l - 1;  j < start_l && j >= end; j-- ) if( o->data[ j ] == c ) return j;
        return start_l;
    }
}

// Assembly:
movq 0x10(%rdi), %rax
cmpq %rsi, %rdx
jae 0x1158f3
cmpq %rsi, %rax
cmovbq %rax, %rsi
movq %rsi, %r8
leaq -0x1(%r8), %rax
cmpq %rsi, %rax
jae 0x11591e
cmpq %rdx, %rax
jb 0x11591e
movq 0x8(%rdi), %r9
cmpb %cl, -0x1(%r9,%r8)
movq %rax, %r8
jne 0x1158d6
retq
cmpq %rdx, %rax
cmovbq %rax, %rdx
cmpq %rsi, %rdx
jbe 0x115913
movq 0x8(%rdi), %rax
cmpb %cl, (%rax,%rsi)
je 0x115913
incq %rsi
cmpq %rsi, %rdx
jne 0x115903
movq %rdx, %rsi
cmpq %rdx, %rsi
cmovbq %rsi, %rdx
movq %rdx, %rax
retq
movq %rsi, %rax
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_find_sc
uz_t st_s_find_sc( const st_s* o, uz_t start, uz_t end, sc_t find_sc )
{
    if( !find_sc || find_sc[ 0 ] == 0 ) return start;

    if( end >= start )
    {
        uz_t end_l = end < o->size ? end : o->size;
        for( uz_t j = start; j < end_l; j++ )
        {
            if( o->data[ j ] == find_sc[ 0 ] )
            {
                int m = bcore_strcmp( find_sc, &o->data[ j ] );
                if( m == 0 || m == 1 ) return j;
            }
        }
        return end_l;
    }
    else
    {
        uz_t start_l = start < o->size ? start : o->size;
        for( uz_t j = start_l - 1;  j < start_l && j >= end; j-- )
        {
            if( o->data[ j ] == find_sc[ 0 ] )
            {
                int m = bcore_strcmp( find_sc, &o->data[ j ] );
                if( m == 0 || m == 1 ) return j;
            }
        }
        return start_l;
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
testq %rcx, %rcx
je 0x115995
movq %rcx, %r15
cmpb $0x0, (%rcx)
je 0x115995
movq %rdx, %r14
movq %rdi, %r12
movq 0x10(%rdi), %rax
cmpq %rbx, %rdx
jae 0x1159aa
cmpq %rbx, %rax
cmovbq %rax, %rbx
leaq -0x1(%rbx), %rbp
testq %rax, %rax
sete %al
cmpq %r14, %rbp
setb %cl
orb %al, %cl
jne 0x115995
movq 0x8(%r12), %rsi
movb (%rsi,%rbp), %al
cmpb (%r15), %al
jne 0x115988
addq %rbp, %rsi
movq %r15, %rdi
callq 0xc84cd
cmpl $0x2, %eax
cmovbq %rbp, %r13
jb 0x115998
decq %rbp
cmpq %rbx, %rbp
jae 0x115995
cmpq %r14, %rbp
jae 0x115967
movq %rbx, %r13
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpq %r14, %rax
cmovbq %rax, %r14
cmpq %rbx, %r14
jbe 0x1159df
movq 0x8(%r12), %rsi
movb (%rsi,%rbx), %al
cmpb (%r15), %al
jne 0x1159d7
addq %rbx, %rsi
movq %r15, %rdi
callq 0xc84cd
cmpl $0x2, %eax
cmovbq %rbx, %r13
jb 0x115998
incq %rbx
cmpq %rbx, %r14
jne 0x1159b6
movq %r14, %r13
jmp 0x115998
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_find_any_sc
uz_t st_s_find_any_sc( const st_s* o, uz_t start, uz_t end, sc_t sc )
{
    if( !sc || sc[ 0 ] == 0 ) return start;
    if( end >= start )
    {
        uz_t end_l = end < o->size ? end : o->size;
        for( uz_t j = start; j < end_l; j++ ) if( bcore_strany( o->data[ j ], sc ) ) return j;
        return end_l;
    }
    else
    {
        uz_t start_l = start < o->size ? start : o->size;
        for( uz_t j = start_l - 1; j < start_l && j >= end; j-- ) if( bcore_strany( o->data[ j ], sc ) ) return j;
        return start_l;
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rsi, %rbx
testq %rcx, %rcx
je 0x115a7a
movq %rcx, %r15
cmpb $0x0, (%rcx)
je 0x115a7a
movq %rdx, %r14
movq %rdi, %r12
movq 0x10(%rdi), %rax
cmpq %rbx, %rdx
jae 0x115a8a
cmpq %rbx, %rax
cmovbq %rax, %rbx
movq %rbx, %rcx
leaq -0x1(%rcx), %r13
cmpq %rbx, %r13
jae 0x115a7a
cmpq %r14, %r13
jb 0x115a7a
movq 0x8(%r12), %rax
movsbl -0x1(%rax,%rcx), %edi
movq %r15, %rsi
callq 0xc84dc
movq %r13, %rcx
testb %al, %al
je 0x115a51
jmp 0x115a7d
movq %rbx, %r13
movq %r13, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
cmpq %r14, %rax
cmovbq %rax, %r14
cmpq %rbx, %r14
jbe 0x115ab3
movq 0x8(%r12), %rax
movsbl (%rax,%rbx), %edi
movq %r15, %rsi
callq 0xc84dc
testb %al, %al
jne 0x115ab3
incq %rbx
cmpq %rbx, %r14
jne 0x115a96
cmpq %r14, %rbx
cmovbq %rbx, %r14
movq %r14, %rax
jmp 0x115a80
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_remove
st_s* st_s_remove( st_s* o, uz_t start, uz_t size )
{
    if( start >= o->size ) return o;
    if( o->space == 0 ) st_s_make_strong( o );
    uz_t size_l = start + size > o->size ? o->size - start : size;
    bcore_memmove( o->data + start, o->data + start + size_l, o->size - start - size_l );
    o->size -= size_l;
    o->data[ o->size ] = 0;
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
cmpq %rsi, 0x10(%rdi)
jbe 0x115bc3
movq %rdx, %r15
movq %rsi, %r14
cmpq $0x0, 0x18(%rbx)
jne 0x115b85
movq %rbx, %rdi
callq 0x115160
leaq (%r15,%r14), %rax
movq 0x10(%rbx), %rdx
movq %rdx, %r12
subq %r14, %r12
cmpq %rdx, %rax
cmovbeq %r15, %r12
subq %r12, %rdx
subq %r14, %rdx
addq 0x8(%rbx), %r14
leaq (%r14,%r12), %rsi
movq %r14, %rdi
callq 0xc8471
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rcx
subq %r12, %rcx
movq %rcx, 0x10(%rbx)
movb $0x0, (%rax,%rcx)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_count_char
uz_t st_s_count_char( const st_s* o, uz_t start, uz_t end, char c )
{
    uz_t count = 0;
    uz_t end_l = end < o->size ? end : o->size;
    for( uz_t j = start; j < end_l; j++ ) if( o->data[ j ] == c ) count++;
    return count;
}

// Assembly:
movq 0x10(%rdi), %rax
cmpq %rdx, %rax
cmovbq %rax, %rdx
cmpq %rsi, %rdx
jbe 0x115bfe
movq 0x8(%rdi), %rdi
xorl %eax, %eax
xorl %r8d, %r8d
cmpb %cl, (%rdi,%rsi)
sete %r8b
addq %r8, %rax
incq %rsi
cmpq %rsi, %rdx
jne 0x115be8
retq
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_count_sc
uz_t st_s_count_sc( const st_s* o, uz_t start, uz_t end, sc_t sc )
{
    uz_t count = 0;
    if( !sc || sc[ 0 ] == 0 ) return 0;

    uz_t end_l = end < o->size ? end : o->size;
    for( uz_t j = start; j < end_l; j++ )
    {
        if( o->data[ j ] == sc[ 0 ] )
        {
            int m = bcore_strcmp( sc, &o->data[ j ] );
            if( m == 0 || m == 1 ) count++;
        }
    }
    return count;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
testq %rcx, %rcx
je 0x115c5c
movq %rcx, %rbx
cmpb $0x0, (%rcx)
je 0x115c5c
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %r12
movq 0x10(%rdi), %rax
cmpq %rdx, %rax
cmovbq %rax, %r14
cmpq %rsi, %r14
jbe 0x115c5c
xorl %r13d, %r13d
movq 0x8(%r12), %rsi
movb (%rsi,%r15), %al
cmpb (%rbx), %al
jne 0x115c52
addq %r15, %rsi
movq %rbx, %rdi
callq 0xc84cd
cmpl $0x2, %eax
adcq $0x0, %r13
incq %r15
cmpq %r15, %r14
jne 0x115c33
jmp 0x115c5f
xorl %r13d, %r13d
movq %r13, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_insert_char
st_s* st_s_insert_char( st_s* o, uz_t start, char c )
{
    if( start > o->size ) return o;
    if( o->space == 0 ) st_s_make_strong( o );
    if( o->space == 0 )
    {
        o->space = 8;
        o->data = bcore_b_alloc( NULL, o->space, &o->space );
    }
    else if( o->space < o->size + 2 )
    {
        o->data = bcore_bn_alloc( o->data, o->space, o->space * 2, &o->space );
    }
    bcore_memmove( o->data + start + 1, o->data + start, o->size - start );
    o->data[ start ] = c;
    o->size++;
    o->data[ o->size ] = 0;
    return o;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
cmpq %rsi, 0x10(%rdi)
jb 0x115d1a
movl %edx, %ebp
movq %rsi, %r14
leaq 0x18(%rbx), %r15
cmpq $0x0, 0x18(%rbx)
jne 0x115ca1
movq %rbx, %rdi
callq 0x115160
movq (%r15), %rsi
testq %rsi, %rsi
je 0x115cc8
movq 0x10(%rbx), %rax
addq $0x2, %rax
cmpq %rax, %rsi
jae 0x115ce3
movq 0x8(%rbx), %rdi
leaq (%rsi,%rsi), %rdx
movq %r15, %rcx
callq 0xc8334
jmp 0x115cdf
movq $0x8, 0x18(%rbx)
movl $0x8, %esi
xorl %edi, %edi
movq %r15, %rdx
callq 0xc832f
movq %rax, 0x8(%rbx)
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
leaq (%rsi,%r14), %rdi
incq %rdi
addq %r14, %rsi
subq %r14, %rdx
callq 0xc8471
movq 0x8(%rbx), %rax
movb %bpl, (%rax,%r14)
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rcx
leaq 0x1(%rcx), %rdx
movq %rdx, 0x10(%rbx)
movb $0x0, 0x1(%rax,%rcx)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_insert_st
st_s* st_s_insert_st( st_s* o, uz_t start, const st_s* string )
{
    if( o == string )
    {
        st_s* string_l = st_s_clone( string );
        st_s_insert_st( o, start, string_l );
        st_s_discard( string_l );
        return o;
    }
    if( start > o->size ) return o;
    if( o->space == 0 ) st_s_make_strong( o );
    if( o->space == 0 )
    {
        st_s_copy( o, string );
        return o;
    }
    if( o->space < o->size + string->size + 1 )
    {
        o->data = bcore_bn_alloc( o->data, o->space, o->size + string->size + 1, &o->space );
    }
    bcore_memmove( o->data + start + string->size, o->data + start, o->size - start );
    bcore_memcpy(  o->data + start, string->sc, string->size );
    o->size += string->size;
    o->data[ o->size ] = 0;
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
cmpq %rdx, %rdi
je 0x115dd4
cmpq %r15, 0x10(%rbx)
jb 0x115e0e
leaq 0x18(%rbx), %r12
cmpq $0x0, 0x18(%rbx)
jne 0x115d5f
movq %rbx, %rdi
callq 0x115160
movq (%r12), %rsi
testq %rsi, %rsi
je 0x115e03
movq 0x10(%rbx), %rax
movq 0x10(%r14), %rcx
leaq (%rax,%rcx), %rdx
incq %rdx
cmpq %rdx, %rsi
jae 0x115d90
movq 0x8(%rbx), %rdi
movq %r12, %rcx
callq 0xc8334
movq %rax, 0x8(%rbx)
movq 0x8(%rbx), %rsi
addq %r15, %rsi
movq 0x10(%r14), %rdi
addq %rsi, %rdi
movq 0x10(%rbx), %rdx
subq %r15, %rdx
callq 0xc8471
addq 0x8(%rbx), %r15
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rdx
movq %r15, %rdi
callq 0xc83f1
movq 0x8(%rbx), %rax
movq 0x10(%rbx), %rcx
addq 0x10(%r14), %rcx
movq %rcx, 0x10(%rbx)
movb $0x0, (%rax,%rcx)
jmp 0x115e0e
movq %r14, %rdi
callq 0x115213
movq %rax, %r14
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x115d28
testq %r14, %r14
je 0x115e0e
leaq -0x1a62(%rip), %rdi     # 0x114397
movq %r14, %rsi
callq 0xc8352
jmp 0x115e0e
movq %rbx, %rdi
movq %r14, %rsi
callq 0x114440
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_insert_sc
st_s* st_s_insert_sc( st_s* o, uz_t start, sc_t sc )
{
    if( start > o->size ) return o;
    if( o->space == 0 ) st_s_make_strong( o );
    if( o->space == 0 )
    {
        st_s_copy_sc( o, sc );
        return o;
    }

    uz_t src_size = bcore_strlen( sc );
    if( o->space < o->size + src_size + 1 )
    {
        o->data = bcore_bn_alloc( o->data, o->space, o->size + src_size + 1, &o->space );
    }
    bcore_memmove( o->data + start + src_size, o->data + start, o->size - start );
    bcore_memcpy(  o->data + start, sc, src_size );
    o->size += src_size;
    o->data[ o->size ] = 0;
    return o;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
cmpq %rsi, 0x10(%rdi)
jb 0x115f02
movq %rdx, %r14
movq %rsi, %r15
leaq 0x18(%rbx), %r13
cmpq $0x0, 0x18(%rbx)
jne 0x115e7c
movq %rbx, %rdi
callq 0x115160
movq (%r13), %rbp
movq %r14, %rdi
callq 0xc84d7
movq %rax, %r12
testq %rbp, %rbp
je 0x115ef4
movq 0x10(%rbx), %rax
movq 0x18(%rbx), %rsi
leaq (%r12,%rax), %rdx
incq %rdx
cmpq %rdx, %rsi
jae 0x115eb4
movq 0x8(%rbx), %rdi
movq %r13, %rcx
callq 0xc8334
movq %rax, 0x8(%rbx)
movq 0x8(%rbx), %rsi
addq %r15, %rsi
movq %r12, %rdi
addq %rsi, %rdi
movq 0x10(%rbx), %rdx
subq %r15, %rdx
callq 0xc8471
addq 0x8(%rbx), %r15
movq %r15, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0xc83f1
movq 0x10(%rbx), %rax
addq %r12, %rax
movq %rax, 0x10(%rbx)
movq 0x8(%rbx), %rcx
movb $0x0, (%rcx,%rax)
jmp 0x115f02
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x1144cd
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_insert_fv
st_s* st_s_insert_fv( st_s* o, uz_t start, sc_t format, va_list args )
{
    st_s* st = st_s_create_fv( format, args );
    st_s_insert_st( o, start, st );
    st_s_discard( st );
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rcx, %r15
movq %rdx, %r12
movq %rsi, %r13
movq %rdi, %rbx
movl $0x20, %esi
xorl %edi, %edi
xorl %edx, %edx
callq 0xc832f
movq %rax, %r14
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x11406a
movq %rbx, %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x115d28
testq %r14, %r14
je 0x115f6a
leaq -0x1bcb(%rip), %rdi     # 0x114397
movq %r14, %rsi
callq 0xc8352
movq %rbx, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_replace_st
st_s* st_s_replace_st( st_s* o, uz_t start, const st_s* string )
{
    if( o == string )
    {
        st_s* string_l = st_s_clone( string );
        st_s_replace_st( o, start, string_l );
        st_s_discard( string_l );
        return o;
    }
    if( start >= o->size ) return o;
    if( o->space == 0 ) st_s_make_strong( o );
    for( uz_t i = 0; i < string->size; i++ )
    {
        uz_t idx = i + start;
        if( idx == o->size ) break;
        o->data[ idx ] = string->data[ i ];
    }
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
cmpq %rdx, %rdi
je 0x11608a
cmpq %r14, 0x10(%rbx)
jbe 0x1160b7
cmpq $0x0, 0x18(%rbx)
jne 0x11605b
movq %rbx, %rdi
callq 0x115160
cmpq $0x0, 0x10(%r15)
je 0x1160b7
xorl %eax, %eax
leaq (%r14,%rax), %rcx
cmpq 0x10(%rbx), %rcx
je 0x1160b7
movq 0x8(%r15), %rcx
movb (%rcx,%rax), %cl
movq 0x8(%rbx), %rdx
addq %r14, %rdx
movb %cl, (%rax,%rdx)
incq %rax
cmpq 0x10(%r15), %rax
jb 0x116064
jmp 0x1160b7
movq %r15, %rdi
callq 0x115213
movq %rax, %r15
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x116033
testq %r15, %r15
je 0x1160b7
leaq -0x1d18(%rip), %rdi     # 0x114397
movq %r15, %rsi
callq 0xc8352
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_replace_sc
st_s* st_s_replace_sc( st_s* o, uz_t start, sc_t sc )
{
    if( start >= o->size ) return o;
    if( o->space == 0 ) st_s_make_strong( o );
    for( uz_t i = 0; *sc != 0; i++ )
    {
        uz_t idx = i + start;
        if( idx == o->size ) break;
        o->data[ idx ] = *sc++;
    }
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %r14
cmpq %rsi, 0x10(%rdi)
jbe 0x116137
movq %rdx, %rbx
movq %rsi, %r15
cmpq $0x0, 0x18(%r14)
jne 0x116111
movq %r14, %rdi
callq 0x115160
movb (%rbx), %al
testb %al, %al
je 0x116137
movq 0x10(%r14), %rcx
cmpq %rcx, %r15
je 0x11612b
incq %rbx
movq 0x8(%r14), %rdx
movb %al, (%rdx,%r15)
cmpq %rcx, %r15
je 0x116137
movb (%rbx), %al
incq %r15
jmp 0x116113
movq %r14, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_replace_char_sc
st_s* st_s_replace_char_sc( st_s* o, char c, sc_t sc )
{
    uz_t start = 0;
    uz_t sz_sc = bcore_strlen( sc );
    if( o->space == 0 ) st_s_make_strong( o );

    while( ( start = st_s_find_char( o, start, o->size, c ) ) < o->size )
    {
        st_s_remove(    o, start, 1 );
        st_s_insert_sc( o, start, sc );
        start += sz_sc;
    }
    return o;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rbx
movl %esi, %ebp
movq %rdi, %r14
movq %rdx, %rdi
callq 0xc84d7
movq %rax, %r15
cmpq $0x0, 0x18(%r14)
jne 0x1161ae
movq %r14, %rdi
callq 0x115160
movq 0x10(%r14), %r13
movsbl %bpl, %ebp
movq %r14, %rdi
xorl %esi, %esi
movq %r13, %rdx
movl %ebp, %ecx
callq 0x1158c3
cmpq %r13, %rax
jae 0x11620a
movq %rax, %r12
movl $0x1, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0x115b5f
movq %r14, %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x115e4b
addq %r15, %r12
movq 0x10(%r14), %r13
movq %r14, %rdi
movq %r12, %rsi
movq %r13, %rdx
movl %ebp, %ecx
callq 0x1158c3
movq %rax, %r12
cmpq %r13, %rax
jb 0x1161cd
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_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_replace_sc_sc
st_s* st_s_replace_sc_sc( st_s* o, sc_t match, sc_t replace )
{
    uz_t start = 0;
    uz_t sz_match = bcore_strlen( match );
    uz_t sz_replace = bcore_strlen( replace );
    if( o->space == 0 ) st_s_make_strong( o );
    while( ( start = st_s_find_sc( o, start, o->size, match ) ) < o->size )
    {
        st_s_remove(    o, start, sz_match );
        st_s_insert_sc( o, start, replace );
        start += sz_replace;
    }
    return o;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r14
movq %rsi, %rdi
callq 0xc84d7
movq %rax, %r12
movq %rbx, %rdi
callq 0xc84d7
movq %rax, %r13
cmpq $0x0, 0x18(%r14)
jne 0x116290
movq %r14, %rdi
callq 0x115160
movq 0x10(%r14), %rdx
movq %r14, %rdi
xorl %esi, %esi
movq %r15, %rcx
callq 0x115922
cmpq 0x10(%r14), %rax
jae 0x1162e4
movq %rax, %rbp
movq %r14, %rdi
movq %rbp, %rsi
movq %r12, %rdx
callq 0x115b5f
movq %r14, %rdi
movq %rbp, %rsi
movq %rbx, %rdx
callq 0x115e4b
addq %r13, %rbp
movq 0x10(%r14), %rdx
movq %r14, %rdi
movq %rbp, %rsi
movq %r15, %rcx
callq 0x115922
movq %rax, %rbp
cmpq 0x10(%r14), %rax
jb 0x1162aa
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_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_replace_st_d_st_d
st_s* st_s_replace_st_d_st_d( st_s* o, st_s* match, st_s* replace )
{
    st_s_replace_st_st( o, match, replace );
    st_s_discard( match );
    st_s_discard( replace );
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
movq 0x8(%rsi), %rsi
movq 0x8(%rdx), %rdx
callq 0x116257
testq %r15, %r15
je 0x116332
leaq -0x1f93(%rip), %rdi     # 0x114397
movq %r15, %rsi
callq 0xc8352
testq %r14, %r14
je 0x116346
leaq -0x1fa7(%rip), %rdi     # 0x114397
movq %r14, %rsi
callq 0xc8352
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_colof
uz_t st_s_colof( const st_s* o, uz_t pos )
{
    uz_t pos_l = pos < o->size ? pos : o->size;
    uz_t count = 0;
    while( pos_l > 0 )
    {
        if( o->data[ pos_l - 1 ] == '\n' ) break;
        count++;
        pos_l--;
    }
    return count + 1;
}

// Assembly:
movq 0x10(%rdi), %rax
cmpq %rsi, %rax
cmovbq %rax, %rsi
testq %rsi, %rsi
je 0x116434
movq 0x8(%rdi), %rax
leaq (%rsi,%rax), %rcx
decq %rcx
xorl %eax, %eax
cmpb $0xa, (%rcx)
je 0x116430
incq %rax
decq %rcx
cmpq %rax, %rsi
jne 0x11641d
movq %rsi, %rax
incq %rax
retq
movl $0x1, %eax
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_posof
uz_t st_s_posof( const st_s* o, uz_t line, uz_t col )
{
    if( line == 0 ) return 0;
    uz_t pos = 0;
    uz_t count = 1;
    if( line > 1 )
    {
        for( pos = 0; pos < o->size; pos++ )
        {
            if( o->data[ pos ] == '\n' )
            {
                count++;
                if( count == line ) break;
            }
        }
    }
    return pos + col;
}

// Assembly:
movq %rsi, %rax
testq %rsi, %rsi
je 0x116480
cmpq $0x1, %rax
je 0x116478
movq 0x10(%rdi), %rsi
testq %rsi, %rsi
je 0x116478
movq 0x8(%rdi), %rdi
movl $0x1, %r8d
xorl %ecx, %ecx
cmpb $0xa, (%rdi,%rcx)
jne 0x11646b
incq %r8
cmpq %rax, %r8
je 0x11647a
incq %rcx
cmpq %rcx, %rsi
jne 0x11645d
movq %rsi, %rcx
jmp 0x11647a
xorl %ecx, %ecx
addq %rdx, %rcx
movq %rcx, %rax
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_posofline
uz_t st_s_posofline( const st_s* o, uz_t pos )
{
    uz_t pos_l = ( pos > o->size ) ? o->size : pos;
    while( pos_l > 0 )
    {
        if( o->data[ pos_l - 1 ] == '\n' ) break;
        pos_l--;
    }
    return pos_l;
}

// Assembly:
movq %rsi, %rax
movq 0x10(%rdi), %rcx
cmpq %rsi, %rcx
cmovbq %rcx, %rax
testq %rax, %rax
je 0x1164a6
movq 0x8(%rdi), %rcx
cmpb $0xa, -0x1(%rcx,%rax)
je 0x1164a6
decq %rax
jne 0x116498
xorl %eax, %eax
retq