LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_vd_s_count
uz_t bcore_btree_node_vd_s_count( const bcore_btree_node_vd_s* root, bl_t (*func)( vd_t arg, bcore_btree_vd_key_t key ), vd_t arg )
{
    uz_t count = 0;
    if( !root ) return count;
    if( root->child0 )
    {
        if( root->child0 != BNUL_VP ) count += bcore_btree_node_vd_s_count( root->child0, func, arg );
    }
    if( root->child1 )
    {
        count += ( func ) ? func( arg, root->kv1.key ) : 1;
        if( root->child1 != BNUL_VP ) count += bcore_btree_node_vd_s_count( root->child1, func, arg );
    }
    if( root->child2 )
    {
        count += ( func ) ? func( arg, root->kv2.key ) : 1;
        if( root->child2 != BNUL_VP ) count += bcore_btree_node_vd_s_count( root->child2, func, arg );
    }
    return count;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x1272a0
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1273cc
movq -0x10(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x1272db
movq -0x10(%rbp), %rax
leaq 0x8c69a(%rip), %rcx     # 0x1b3950
cmpq %rcx, 0x18(%rax)
je 0x1272d9
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x127270
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x1272db
movq -0x10(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x12734f
cmpq $0x0, -0x18(%rbp)
je 0x127308
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rcx
movq (%rcx), %rsi
callq *%rax
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x2c(%rbp)
jmp 0x127312
movl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x127312
movl -0x2c(%rbp), %eax
cltq
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
leaq 0x8c626(%rip), %rcx     # 0x1b3950
cmpq %rcx, 0x20(%rax)
je 0x12734d
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x127270
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x12734f
movq -0x10(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x1273c4
cmpq $0x0, -0x18(%rbp)
je 0x12737d
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rcx
movq 0x8(%rcx), %rsi
callq *%rax
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x30(%rbp)
jmp 0x127387
movl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x127387
movl -0x30(%rbp), %eax
cltq
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
leaq 0x8c5b1(%rip), %rcx     # 0x1b3950
cmpq %rcx, 0x28(%rax)
je 0x1273c2
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x127270
addq -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x1273c4
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_vd_s_keys
uz_t bcore_btree_node_vd_s_keys( bcore_btree_node_vd_s* root )
{
    if( !root || root == BNUL_VP ) return 0;
    uz_t keys = root->child2 ? 2 : 1;
    keys += bcore_btree_node_vd_s_keys( root->child0 );
    keys += bcore_btree_node_vd_s_keys( root->child1 );
    if( root->child2 ) keys += bcore_btree_node_vd_s_keys( root->child2 );
    return keys;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x127400
leaq 0x8c556(%rip), %rax     # 0x1b3950
cmpq %rax, -0x10(%rbp)
jne 0x12740a
movq $0x0, -0x8(%rbp)
jmp 0x12747b
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rdx
movl $0x1, %eax
movl $0x2, %ecx
cmpq $0x0, %rdx
cmovnel %ecx, %eax
cltq
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x1273e0
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0x1273e0
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x127473
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x1273e0
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%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_btree.c
// Function: bcore_btree_vd_s_create
bcore_btree_vd_s* bcore_btree_vd_s_create( vd_t (*alloc)( vd_t, uz_t size ) )
{
    bcore_btree_vd_s* o = NULL;
    if( alloc )
    {
        o = alloc( NULL, sizeof( bcore_btree_vd_s ) );
        o->alloc = alloc;
    }
    else
    {
        o = bcore_alloc( NULL, sizeof( bcore_btree_vd_s ) );
        o->alloc = bcore_alloc;
    }
    o->root      = NULL;
    o->chain_beg = NULL;
    o->chain_end = NULL;
    o->chain_ins = NULL;
    o->del_chain = NULL;
    o->block_size = 1024;
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x127d69
xorl %eax, %eax
movl %eax, %edi
movl $0x38, %esi
callq *-0x8(%rbp)
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x28(%rax)
jmp 0x127d8a
xorl %eax, %eax
movl %eax, %edi
movl $0x38, %esi
callq 0x9d210
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
leaq -0x8ab76(%rip), %rcx    # 0x9d210
movq %rcx, 0x28(%rax)
movq -0x10(%rbp), %rax
movq $0x0, (%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x18(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x20(%rax)
movq -0x10(%rbp), %rax
movq $0x400, 0x30(%rax)      # imm = 0x400
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_vd_s_discard
void bcore_btree_vd_s_discard( bcore_btree_vd_s* o )
{
    o->root = NULL;

    bcore_btree_node_vd_s* chain_beg = o->chain_beg;
    while( chain_beg )
    {
        bcore_btree_node_vd_s* new_beg = *( bcore_btree_node_vd_s** )( chain_beg + o->block_size );
        o->alloc( chain_beg, 0 );
        chain_beg = new_beg;
    }

    o->alloc( o, 0 );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq $0x0, (%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x127e3d
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
imulq $0x30, 0x30(%rcx), %rcx
addq %rcx, %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x10(%rbp), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
callq *%rax
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x127e03
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x8(%rbp), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
callq *%rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_vd_s_new_node
bcore_btree_node_vd_s* bcore_btree_vd_s_new_node( bcore_btree_vd_s* o )
{
    if( o->del_chain )
    {
        bcore_btree_node_vd_s* new_node = o->del_chain;
        o->del_chain = new_node->parent;
        bcore_btree_node_vd_s_init( new_node );
        return new_node;
    }
    else
    {
        if( o->chain_ins == o->chain_end )
        {
            bcore_btree_node_vd_s* new_ptr = o->alloc( NULL, o->block_size * sizeof( bcore_btree_node_vd_s ) + sizeof( bcore_btree_node_vd_s* ) );
            if( !o->chain_beg )
            {
                o->chain_beg = new_ptr;
            }
            else
            {
                ( ( bcore_btree_node_vd_s** )( o->chain_end ) )[ 0 ] = new_ptr;
            }
            o->chain_ins = new_ptr;
            o->chain_end = new_ptr + o->block_size;
            *( bcore_btree_node_vd_s** )( o->chain_end ) = NULL;
        }
        bcore_btree_node_vd_s* new_node = o->chain_ins;
        bcore_btree_node_vd_s_init( new_node );
        o->chain_ins++;
        return new_node;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x127ea9
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x18(%rbp), %rdi
callq 0x126e80
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x127f62
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jne 0x127f35
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x10(%rbp), %rcx
imulq $0x30, 0x30(%rcx), %rsi
addq $0x8, %rsi
xorl %ecx, %ecx
movl %ecx, %edi
callq *%rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x127ef3
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0x127f02
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
imulq $0x30, 0x30(%rax), %rax
addq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq $0x0, (%rax)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x126e80
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rcx
addq $0x30, %rcx
movq %rcx, 0x18(%rax)
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_vd_s_delete_node
void bcore_btree_vd_s_delete_node( bcore_btree_vd_s* o, bcore_btree_node_vd_s* node )
{
    node->child0 = NULL;
    node->child1 = NULL;
    node->child2 = NULL;
    node->parent = o->del_chain;
    o->del_chain = node;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq $0x0, 0x18(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x20(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x28(%rax)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x20(%rax)
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_vd_s_exists
bl_t bcore_btree_vd_s_exists( const bcore_btree_vd_s* o, bcore_btree_vd_key_t key )
{
    if( !o )    return false;
    bcore_btree_node_vd_s* node = bcore_btree_node_vd_s_find( o->root, key );
    if( !node ) return false;
    if( node->kv1.key == key ) return true;
    if( node->child2 && node->kv2.key == key ) return true;
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x12883d
movb $0x0, -0x1(%rbp)
jmp 0x128894
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x126ee0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x12885e
movb $0x0, -0x1(%rbp)
jmp 0x128894
movq -0x20(%rbp), %rax
movq (%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0x128871
movb $0x1, -0x1(%rbp)
jmp 0x128894
movq -0x20(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x128890
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0x128890
movb $0x1, -0x1(%rbp)
jmp 0x128894
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_vd_s_set
int bcore_btree_vd_s_set( bcore_btree_vd_s* o, bcore_btree_vd_key_t key )
{
    if( !o ) return -2;
    if( !o->root )
    {
        o->root = bcore_btree_vd_s_new_node( o );
        o->root->child0 = o->root->child1 = BNUL_VP;
        o->root->child2 = NULL;
        o->root->kv1.key = key;
        return 1;
    }

    bcore_btree_node_vd_s* node = bcore_btree_node_vd_s_find( o->root, key );
    if( !node ) return -2;

    if( node->kv1.key == key )
    {
        return 0;
    }
    else if( node->child2 && node->kv2.key == key )
    {
        return 0;
    }
    else
    {
        bcore_btree_vd_kv_s kv = { key };
        bcore_btree_vd_s_push( o, node, &kv, BNUL_VP, BNUL_VP );
        return 1;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x128913
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0x128a03
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x12897d
movq -0x10(%rbp), %rdi
callq 0x127e60
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq (%rax), %rax
leaq 0x8b012(%rip), %rcx     # 0x1b3950
movq %rcx, 0x20(%rax)
movq -0x10(%rbp), %rax
movq (%rax), %rax
leaq 0x8b000(%rip), %rcx     # 0x1b3950
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq $0x0, 0x28(%rax)
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rcx, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x128a03
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rsi
callq 0x126ee0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x1289a1
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0x128a03
movq -0x20(%rbp), %rax
movq (%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0x1289b7
movl $0x0, -0x4(%rbp)
jmp 0x128a03
movq -0x20(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x1289d9
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0x1289d9
movl $0x0, -0x4(%rbp)
jmp 0x128a03
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x28(%rbp), %rdx
leaq 0x8af5c(%rip), %r8      # 0x1b3950
movq %r8, %rcx
callq 0x127fc0
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_vd_s_show
st_s* bcore_btree_vd_s_show( bcore_btree_vd_s* o )
{
    bcore_btree_node_vd_s_check_consistency( o->root );
    st_s* s = bcore_btree_node_vd_s_show( o->root, 0 );
    st_s_pushf( s, "\n" );
    return s;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x127610
movq -0x8(%rbp), %rax
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x127b60
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x29c1a(%rip), %rsi     # 0x152a21
movb $0x0, %al
callq 0x100120
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_signal_handler
vd_t bcore_btree_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_btree" ) ) )
    {
        case TYPEOF_init1:
        {
        }
        break;

        case TYPEOF_selftest:
        {
            st_s* log = st_s_create();
            st_s_push_st_d( log, btree_ip_s_selftest() );
            st_s_push_st_d( log, btree_ps_s_selftest() );
            st_s_push_st_d( log, btree_pp_s_selftest() );
            st_s_push_st_d( log, btree_vd_s_selftest() );
            return log;
        }
        break;

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq 0x30255(%rip), %rdi     # 0x1592d0
callq 0x129150
movq -0x28(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x20(%rbp)
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0x1290b9
jmp 0x1290a4
movq -0x20(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0x1290bb
jmp 0x129134
jmp 0x129136
movb $0x0, %al
callq 0xff2e0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
callq 0x129170
movq -0x48(%rbp), %rdi
movq %rax, %rsi
callq 0xfff40
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
callq 0x1297f0
movq -0x40(%rbp), %rdi
movq %rax, %rsi
callq 0xfff40
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
callq 0x129e70
movq -0x38(%rbp), %rdi
movq %rax, %rsi
callq 0xfff40
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
callq 0x12a700
movq -0x30(%rbp), %rdi
movq %rax, %rsi
callq 0xfff40
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x12913e
jmp 0x129136
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_const_manager.c
// Function: bcore_const_vget_r
const sr_s* bcore_const_vget_r( tp_t key, tp_t type )
{
    const sr_s* sr = bcore_const_get_r( key );
    if( !sr ) ERR_fa( "Key '#<sc_t>' (#<tp_t>) not registered.", ifnameof( key ), key );
    if( type != 0 )
    {
        if( sr_s_type( sr ) != type )
        {
            ERR_fa( "Key '#<sc_t>': Type mismatch: '#<sc_t>' requested but '#<sc_t>' registered.",
                    ifnameof( key ), ifnameof( type ), ifnameof( sr_s_type( sr ) ) );
        }
    }
    return sr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x12b690
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x12b745
movq -0x8(%rbp), %rdi
callq 0x12b200
movq %rax, %r8
movq -0x8(%rbp), %r9
leaq 0x2dda0(%rip), %rdi     # 0x1594cb
leaq 0x2dd47(%rip), %rsi     # 0x159479
movl $0x7a, %edx
leaq 0x2dda0(%rip), %rcx     # 0x1594de
movb $0x0, %al
callq 0x9d0f0
cmpq $0x0, -0x10(%rbp)
je 0x12b7b5
movq -0x18(%rbp), %rdi
callq 0x12b810
cmpq -0x10(%rbp), %rax
je 0x12b7b3
movq -0x8(%rbp), %rdi
callq 0x12b200
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0x12b200
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x12b810
movq %rax, %rdi
callq 0x12b200
movq -0x28(%rbp), %r8
movq -0x20(%rbp), %r9
leaq 0x2dd36(%rip), %rdi     # 0x1594cb
leaq 0x2dcdd(%rip), %rsi     # 0x159479
movl $0x80, %edx
leaq 0x2dd5e(%rip), %rcx     # 0x159506
movq %rax, (%rsp)
movb $0x0, %al
callq 0x9d0f0
jmp 0x12b7b5
movq -0x18(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_const_manager.c
// Function: bcore_const_string_set_st_d
tp_t bcore_const_string_set_st_d( st_s* string )
{
    tp_t key = typeof( string->sc );
    bcore_mutex_s_lock( mutex_st_g );
    if( bcore_hmap_tp_sr_s_exists( hmap_st_g, key ) )
    {
        st_s* st = bcore_hmap_tp_sr_s_get( hmap_st_g, key )->o;
        if( !st_s_equal_st( st, string ) )
        {
            bcore_mutex_s_unlock( mutex_st_g );
            ERR_fa( "Collision: Strings '#<sc_t>' and '#<sc_t>' produce the same key '#<tp_t>'.", string, st->sc, key );
        }
        st_s_discard( string );
    }
    else
    {
        bcore_hmap_tp_sr_s_set( hmap_st_g, key, sr_asm( string ) );
    }
    bcore_mutex_s_unlock( mutex_st_g );
    return key;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x12b950
movq %rax, -0x10(%rbp)
movq 0x88134(%rip), %rdi     # 0x1b3988
callq 0x10fc20
movq 0x88130(%rip), %rdi     # 0x1b3990
movq -0x10(%rbp), %rsi
callq 0xbc040
testb $0x1, %al
jne 0x12b86f
jmp 0x12b8e3
movq 0x8811a(%rip), %rdi     # 0x1b3990
movq -0x10(%rbp), %rsi
callq 0xbb870
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x12b970
testb $0x1, %al
jne 0x12b8d8
movq 0x880ea(%rip), %rdi     # 0x1b3988
callq 0x10fc70
movq -0x8(%rbp), %r8
movq -0x18(%rbp), %rax
movq 0x8(%rax), %r9
movq -0x10(%rbp), %rax
leaq 0x2dc98(%rip), %rdi     # 0x159552
leaq 0x2dbb8(%rip), %rsi     # 0x159479
movl $0x9e, %edx
leaq 0x2dca1(%rip), %rcx     # 0x15956e
movq %rax, (%rsp)
movb $0x0, %al
callq 0x9d0f0
movq -0x8(%rbp), %rdi
callq 0xff600
jmp 0x12b92d
movq 0x880a6(%rip), %rax     # 0x1b3990
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0x12b9e0
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rsi
leaq -0x30(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xbb9b0
movq 0x88054(%rip), %rdi     # 0x1b3988
callq 0x10fc70
movq -0x10(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_const_manager.c
// Function: bcore_const_string_get_sc
sc_t bcore_const_string_get_sc( tp_t key )
{
    bcore_mutex_s_lock( mutex_st_g );
    sr_s* sr = bcore_hmap_tp_sr_s_get( hmap_st_g, key );
    sc_t  sc = ( sr ) ? ( ( st_s* )sr->o )->sc : NULL;
    bcore_mutex_s_unlock( mutex_st_g );
    return sc;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq 0x87ec5(%rip), %rdi     # 0x1b3988
callq 0x10fc20
movq 0x87ec1(%rip), %rdi     # 0x1b3990
movq -0x8(%rbp), %rsi
callq 0xbb870
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x12baf4
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x12bafc
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0x12bafc
movq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
movq 0x87e7d(%rip), %rdi     # 0x1b3988
callq 0x10fc70
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_const_manager.c
// Function: bcore_const_string_get_st
const st_s* bcore_const_string_get_st( tp_t key )
{
    bcore_mutex_s_lock( mutex_st_g );
    sr_s* sr = bcore_hmap_tp_sr_s_get( hmap_st_g, key );
    st_s* st = ( sr ) ? sr->o : NULL;
    bcore_mutex_s_unlock( mutex_st_g );
    return st;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq 0x87e55(%rip), %rdi     # 0x1b3988
callq 0x10fc20
movq 0x87e51(%rip), %rdi     # 0x1b3990
movq -0x8(%rbp), %rsi
callq 0xbb870
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x12bb60
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x12bb68
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0x12bb68
movq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
movq 0x87e11(%rip), %rdi     # 0x1b3988
callq 0x10fc70
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_const_manager.c
// Function: bcore_const_string_exists
bl_t bcore_const_string_exists( tp_t key )
{
    bcore_mutex_s_lock( mutex_st_g );
    bl_t bl = bcore_hmap_tp_sr_s_exists( hmap_st_g, key );
    bcore_mutex_s_unlock( mutex_st_g );
    return bl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x87de5(%rip), %rdi     # 0x1b3988
callq 0x10fc20
movq 0x87de1(%rip), %rdi     # 0x1b3990
movq -0x8(%rbp), %rsi
callq 0xbc040
andb $0x1, %al
movb %al, -0x9(%rbp)
movq 0x87dc4(%rip), %rdi     # 0x1b3988
callq 0x10fc70
movb -0x9(%rbp), %al
andb $0x1, %al
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_get_ifnexists_set
vd_t bcore_global_get_ifnexists_set( tp_t key, tp_t type )
{
    assert( hmap_g );
    bcore_mutex_s_lock( mutex_g );
    if( !bcore_hmap_tp_sr_s_exists( hmap_g, key ) )
    {
        bcore_hmap_tp_sr_s_set( hmap_g, key, sr_create( type ) );
    }
    const sr_s* sr = bcore_hmap_tp_sr_s_get( hmap_g, key );
    bcore_mutex_s_unlock( mutex_g );
    return ( sr ) ? sr->o : NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq 0x86e91(%rip), %rdi     # 0x1b3998
callq 0x10fc20
movq 0x86e8d(%rip), %rdi     # 0x1b39a0
movq -0x8(%rbp), %rsi
callq 0xbc040
testb $0x1, %al
jne 0x12cb6a
movq 0x86e79(%rip), %rax     # 0x1b39a0
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x12cbb0
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rsi
leaq -0x28(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xbb9b0
movq 0x86e2f(%rip), %rdi     # 0x1b39a0
movq -0x8(%rbp), %rsi
callq 0xbb870
movq %rax, -0x30(%rbp)
movq 0x86e13(%rip), %rdi     # 0x1b3998
callq 0x10fc70
cmpq $0x0, -0x30(%rbp)
je 0x12cb9e
movq -0x30(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x48(%rbp)
jmp 0x12cba6
xorl %eax, %eax
movq %rax, -0x48(%rbp)
jmp 0x12cba6
movq -0x48(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_get_ifnexists_set_d
vd_t bcore_global_get_ifnexists_set_d( tp_t key, tp_t type, vd_t obj )
{
    assert( hmap_g );
    bcore_mutex_s_lock( mutex_g );
    if( !bcore_hmap_tp_sr_s_exists( hmap_g, key ) )
    {
        bcore_hmap_tp_sr_s_set( hmap_g, key, sr_tsm( type, obj ) );
    }
    else
    {
        bcore_inst_t_discard( type, obj );
    }
    const sr_s* sr = bcore_hmap_tp_sr_s_get( hmap_g, key );
    bcore_mutex_s_unlock( mutex_g );
    return ( sr ) ? sr->o : NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq 0x86d8d(%rip), %rdi     # 0x1b3998
callq 0x10fc20
movq 0x86d89(%rip), %rdi     # 0x1b39a0
movq -0x8(%rbp), %rsi
callq 0xbc040
testb $0x1, %al
jne 0x12cc74
movq 0x86d75(%rip), %rax     # 0x1b39a0
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x30(%rbp), %rdi
callq 0x12c860
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
leaq -0x30(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xbb9b0
jmp 0x12cc81
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x12ccd0
movq 0x86d18(%rip), %rdi     # 0x1b39a0
movq -0x8(%rbp), %rsi
callq 0xbb870
movq %rax, -0x38(%rbp)
movq 0x86cfc(%rip), %rdi     # 0x1b3998
callq 0x10fc70
cmpq $0x0, -0x38(%rbp)
je 0x12ccb5
movq -0x38(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x50(%rbp)
jmp 0x12ccbd
xorl %eax, %eax
movq %rax, -0x50(%rbp)
jmp 0x12ccbd
movq -0x50(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_get_o
vd_t bcore_global_get_o( tp_t key )
{
    bcore_mutex_s_lock( mutex_g );
    const sr_s* sr = bcore_hmap_tp_sr_s_get( hmap_g, key );
    bcore_mutex_s_unlock( mutex_g );
    return ( sr ) ? sr->o : NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq 0x86bb5(%rip), %rdi     # 0x1b3998
callq 0x10fc20
movq 0x86bb1(%rip), %rdi     # 0x1b39a0
movq -0x8(%rbp), %rsi
callq 0xbb870
movq %rax, -0x10(%rbp)
movq 0x86b95(%rip), %rdi     # 0x1b3998
callq 0x10fc70
cmpq $0x0, -0x10(%rbp)
je 0x12ce1c
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0x12ce24
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x12ce24
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_get_x
sr_s bcore_global_get_x( tp_t key )
{
    bcore_mutex_s_lock( mutex_g );
    const sr_s* sr = bcore_hmap_tp_sr_s_get( hmap_g, key );
    bcore_mutex_s_unlock( mutex_g );
    return ( sr ) ? sr_pwc( sr->p, sr->o ) : sr_null();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x20(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x8(%rbp)
movq 0x86b4d(%rip), %rdi     # 0x1b3998
callq 0x10fc20
movq 0x86b49(%rip), %rdi     # 0x1b39a0
movq -0x8(%rbp), %rsi
callq 0xbb870
movq %rax, -0x10(%rbp)
movq 0x86b2d(%rip), %rdi     # 0x1b3998
callq 0x10fc70
cmpq $0x0, -0x10(%rbp)
je 0x12ce91
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movq -0x10(%rbp), %rax
movq (%rax), %rdx
callq 0x12ceb0
jmp 0x12ce9a
movq -0x20(%rbp), %rdi
callq 0x12d5a0
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_global_manager.c
// Function: bcore_global_get_r
sr_s* bcore_global_get_r( tp_t key )
{
    bcore_mutex_s_lock( mutex_g );
    sr_s* sr = bcore_hmap_tp_sr_s_get( hmap_g, key );
    bcore_mutex_s_unlock( mutex_g );
    return sr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x86aa5(%rip), %rdi     # 0x1b3998
callq 0x10fc20
movq 0x86aa1(%rip), %rdi     # 0x1b39a0
movq -0x8(%rbp), %rsi
callq 0xbb870
movq %rax, -0x10(%rbp)
movq 0x86a85(%rip), %rdi     # 0x1b3998
callq 0x10fc70
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_vget_r
sr_s* bcore_global_vget_r( tp_t key, tp_t type )
{
    sr_s* sr = bcore_global_get_r( key );
    if( !sr ) ERR_fa( "Key '#<sc_t>' (#<tp_t>) not registered.", ifnameof( key ), key );
    if( type != 0 )
    {
        if( sr_s_type( sr ) != type )
        {
            ERR_fa( "Key '#<sc_t>': Type mismatch: '#<sc_t>' requested but '#<sc_t>' registered.",
                    ifnameof( key ), ifnameof( type ), ifnameof( sr_s_type( sr ) ) );
        }
    }
    return sr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x12cee0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x12cfb5
movq -0x8(%rbp), %rdi
callq 0x12d080
movq %rax, %r8
movq -0x8(%rbp), %r9
leaq 0x2c742(%rip), %rdi     # 0x1596dd
leaq 0x2c74f(%rip), %rsi     # 0x1596f1
movl $0xa5, %edx
leaq 0x2c530(%rip), %rcx     # 0x1594de
movb $0x0, %al
callq 0x9d0f0
cmpq $0x0, -0x10(%rbp)
je 0x12d025
movq -0x18(%rbp), %rdi
callq 0x12d0d0
cmpq -0x10(%rbp), %rax
je 0x12d023
movq -0x8(%rbp), %rdi
callq 0x12d080
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0x12d080
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x12d0d0
movq %rax, %rdi
callq 0x12d080
movq -0x28(%rbp), %r8
movq -0x20(%rbp), %r9
leaq 0x2c6d8(%rip), %rdi     # 0x1596dd
leaq 0x2c6e5(%rip), %rsi     # 0x1596f1
movl $0xab, %edx
leaq 0x2c4ee(%rip), %rcx     # 0x159506
movq %rax, (%rsp)
movb $0x0, %al
callq 0x9d0f0
jmp 0x12d025
movq -0x18(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_exists
bl_t bcore_global_exists( tp_t key )
{
    bcore_mutex_s_lock( mutex_g );
    bl_t bl = bcore_hmap_tp_sr_s_exists( hmap_g, key );
    bcore_mutex_s_unlock( mutex_g );
    return bl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x86895(%rip), %rdi     # 0x1b3998
callq 0x10fc20
movq 0x86891(%rip), %rdi     # 0x1b39a0
movq -0x8(%rbp), %rsi
callq 0xbc040
andb $0x1, %al
movb %al, -0x9(%rbp)
movq 0x86874(%rip), %rdi     # 0x1b3998
callq 0x10fc70
movb -0x9(%rbp), %al
andb $0x1, %al
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_size
sz_t bcore_global_size()
{
    bcore_mutex_s_lock( mutex_g );
    sz_t sz = bcore_hmap_tp_sr_s_keys( hmap_g );
    bcore_mutex_s_unlock( mutex_g );
    return sz;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq 0x86849(%rip), %rdi     # 0x1b3998
callq 0x10fc20
movq 0x86845(%rip), %rdi     # 0x1b39a0
callq 0xbc130
movq %rax, -0x8(%rbp)
movq 0x8682d(%rip), %rdi     # 0x1b3998
callq 0x10fc70
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_img.c
// Function: bcore_img_u2_s_set_size
void bcore_img_u2_s_set_size( bcore_img_u2_s* o, uz_t rows, uz_t cols )
{
    bcore_array_a_set_size( ( bcore_array* )o, rows * cols );
    bcore_u_memzero( sizeof( u2_t ), o->data, o->size );
    o->rows = rows;
    o->cols = cols;
    o->stride = cols;

    if( !o->format ) o->format = TYPEOF_bcore_img_u2_argb;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
imulq -0x18(%rbp), %rsi
callq 0x12de80
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdx
movl $0x4, %edi
callq 0x9d540
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x12de71
movq -0x8(%rbp), %rax
movabsq $-0x59225ce9298deaed, %rcx # imm = 0xA6DDA316D6721513
movq %rcx, 0x8(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_img.c
// Function: bcore_img_u2_s_pnm_to_sink
const bcore_img_u2_s* bcore_img_u2_s_pnm_to_sink( const bcore_img_u2_s* o, bcore_sink* snk )
{
    bcore_sink_a_push_fa( snk, "P6\n#<uz_t> #<uz_t>\n255\n", o->cols, o->rows );
    for( sz_t i = 0; i < o->rows; i++ )
    {
        for( sz_t j = 0; j < o->cols; j++ )
        {
            u0_t rgb[ 3 ];
            bcore_img_u2_s_get_rgb( o, i, j, &rgb[ 0 ], &rgb[ 1 ], &rgb[ 2 ] );
            bcore_sink_a_push_data( snk, rgb, 3 );
        }
    }
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdx
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rcx
leaq 0x2b87c(%rip), %rsi     # 0x159767
movb $0x0, %al
callq 0xf0e20
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x12df73
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jae 0x12df63
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x23(%rbp), %rcx
leaq -0x23(%rbp), %r8
addq $0x1, %r8
leaq -0x23(%rbp), %r9
addq $0x2, %r9
callq 0x12df80
movq -0x10(%rbp), %rdi
leaq -0x23(%rbp), %rsi
movl $0x3, %edx
callq 0x12dfe0
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x12df10
jmp 0x12df65
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x12defa
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_img.c
// Function: bcore_img_u2_s_pnm_to_file
const bcore_img_u2_s* bcore_img_u2_s_pnm_to_file( const bcore_img_u2_s* o, sc_t file )
{
    bcore_sink* snk = ( bcore_sink* )bcore_sink_open_file( file );
    bcore_img_u2_s_pnm_to_sink( o, snk );
    bcore_inst_a_discard( snk );
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0xc9550
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x12dec0
movq -0x18(%rbp), %rdi
callq 0x12e060
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_img.c
// Function: bcore_img_u2_s_pnm_from_file
bcore_img_u2_s* bcore_img_u2_s_pnm_from_file( bcore_img_u2_s* o, sc_t file )
{
    bcore_source* src = ( bcore_source* )bcore_source_open_file( file );
    bcore_img_u2_s_pnm_from_source( o, src );
    bcore_inst_a_discard( src );
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0xce080
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x12e0a0
movq -0x18(%rbp), %rdi
callq 0x12e060
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_img.c
// Function: bcore_img_signal_handler
vd_t bcore_img_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_img" ) ) )
    {
        case TYPEOF_init1:
        {
            BCORE_REGISTER_OBJECT( bcore_img_u2_s );
        }
        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 0x2b37e(%rip), %rdi     # 0x159799
callq 0x12e490
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 0x12e459
jmp 0x12e444
movq -0x10(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0x12e476
jmp 0x12e47d
leaq 0x2312c(%rip), %rdi     # 0x15158c
callq 0x12e490
movq %rax, %rdi
leaq 0x41(%rip), %rsi        # 0x12e4b0
callq 0xa7b60
jmp 0x12e47f
callq 0x12e4d0
jmp 0x12e47f
jmp 0x12e47f
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_img.h
// Function: bcore_img_u2_pixel_to_rgb
static inline void bcore_img_u2_pixel_to_rgb( tp_t format, u2_t p, u0_t* r, u0_t* g, u0_t* b )
{
    switch( format )
    {
        case TYPEOF_bcore_img_u2_argb:
        {
            if( b ) *b = p;
            if( g ) *g = p >> 8;
            if( r ) *r = p >> 16;
        }
        break;

        default: ERR_fa( "Invalid format '#<sc_t>'", ifnameof( format ) );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq -0x8(%rbp), %rax
movabsq $-0x59225ce9298deaed, %rcx # imm = 0xA6DDA316D6721513
subq %rcx, %rax
jne 0x12ebce
jmp 0x12eb90
cmpq $0x0, -0x28(%rbp)
je 0x12eba2
movl -0xc(%rbp), %eax
movb %al, %cl
movq -0x28(%rbp), %rax
movb %cl, (%rax)
cmpq $0x0, -0x20(%rbp)
je 0x12ebb7
movl -0xc(%rbp), %eax
shrl $0x8, %eax
movb %al, %cl
movq -0x20(%rbp), %rax
movb %cl, (%rax)
cmpq $0x0, -0x18(%rbp)
je 0x12ebcc
movl -0xc(%rbp), %eax
shrl $0x10, %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movb %cl, (%rax)
jmp 0x12ebfb
movq -0x8(%rbp), %rdi
callq 0x12ec40
movq %rax, %r8
leaq 0x2abc2(%rip), %rdi     # 0x1597a3
leaq 0x2abd5(%rip), %rsi     # 0x1597bd
movl $0x4d, %edx
leaq 0x2abd7(%rip), %rcx     # 0x1597cb
movb $0x0, %al
callq 0x9d0f0
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/./bcore_img.h
// Function: bcore_img_u2_pixel_from_rgb
static inline u2_t bcore_img_u2_pixel_from_rgb( tp_t format, u0_t r, u0_t g, u0_t b )
{
    switch( format )
    {
        case TYPEOF_bcore_img_u2_argb: return (u2_t)r << 16 | (u2_t)g << 8 | b;
        default: ERR_fa( "Invalid format '#<sc_t>'", ifnameof( format ) );
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %cl, %al
movb %dl, %cl
movb %sil, %dl
movq %rdi, -0x10(%rbp)
movb %dl, -0x11(%rbp)
movb %cl, -0x12(%rbp)
movb %al, -0x13(%rbp)
movq -0x10(%rbp), %rax
movabsq $-0x59225ce9298deaed, %rcx # imm = 0xA6DDA316D6721513
subq %rcx, %rax
jne 0x12ef3c
jmp 0x12ef21
movzbl -0x11(%rbp), %eax
shll $0x10, %eax
movzbl -0x12(%rbp), %ecx
shll $0x8, %ecx
orl %ecx, %eax
movzbl -0x13(%rbp), %ecx
orl %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0x12ef70
movq -0x10(%rbp), %rdi
callq 0x12ec40
movq %rax, %r8
leaq 0x2a895(%rip), %rdi     # 0x1597e4
leaq 0x2a867(%rip), %rsi     # 0x1597bd
movl $0x58, %edx
leaq 0x2a869(%rip), %rcx     # 0x1597cb
movb $0x0, %al
callq 0x9d0f0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_leaf.c
// Function: bcore_leaf_signal_handler
vd_t bcore_leaf_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_leaf" ) ) )
    {
        case TYPEOF_init1:
        {
        }
        break;

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x2a7f5(%rip), %rdi     # 0x159890
callq 0x12f0d0
movq -0x10(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
jne 0x12f0bf
jmp 0x12f0bd
jmp 0x12f0c1
jmp 0x12f0c1
xorl %eax, %eax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_name.c
// Function: bcore_name_sc
bcore_name_s bcore_name_sc( sc_t name )
{
    bcore_name_s o;
    bcore_name_s_init( &o );
    o.name = bcore_strcpy( NULL, name );
    o.name_space = 0;
    o.key = bcore_name_key( name );
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x18(%rbp)
movq %rdi, %rax
movq %rax, -0x10(%rbp)
movq %rsi, -0x8(%rbp)
callq 0x130830
movq -0x8(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x9d6d0
movq -0x18(%rbp), %rdi
movq %rax, 0x10(%rdi)
movq $0x0, 0x8(%rdi)
movq -0x8(%rbp), %rdi
callq 0x130a30
movq -0x18(%rbp), %rdi
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rdi)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_name.c
// Function: bcore_name_ns_sc
bcore_name_s bcore_name_ns_sc( tp_t name_space, sc_t name )
{
    bcore_name_s o;
    bcore_name_s_init( &o );
    o.name = bcore_strcpy( NULL, name );
    o.name_space = name_space;
    o.key = bcore_name_key_ns( name_space, name );
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x20(%rbp)
movq %rdi, %rax
movq %rax, -0x18(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
callq 0x130830
movq -0x10(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x9d6d0
movq -0x20(%rbp), %rdi
movq %rax, 0x10(%rdi)
movq -0x8(%rbp), %rax
movq %rax, 0x8(%rdi)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x130ab0
movq -0x20(%rbp), %rdi
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rdi)
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_name.c
// Function: bcore_name_sc_n
bcore_name_s bcore_name_sc_n( sc_t name, uz_t n )
{
    bcore_name_s o;
    bcore_name_s_init( &o );
    o.name = bcore_alloc( NULL, n + 1 );
    bcore_memcpy( o.name, name, n );
    o.name[ n ] = 0;
    o.name_space = 0;
    o.key = bcore_name_key_n( name, n );
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x20(%rbp)
movq %rdi, %rax
movq %rax, -0x18(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
callq 0x130830
movq -0x10(%rbp), %rsi
addq $0x1, %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x9d210
movq -0x20(%rbp), %rdi
movq %rax, 0x10(%rdi)
movq 0x10(%rdi), %rdi
movq -0x8(%rbp), %rsi
movq -0x10(%rbp), %rdx
callq 0x9d5e0
movq -0x20(%rbp), %rdi
movq 0x10(%rdi), %rax
movq -0x10(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq $0x0, 0x8(%rdi)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x130b90
movq -0x20(%rbp), %rdi
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rdi)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_name.c
// Function: bcore_name_ns_sc_n
bcore_name_s bcore_name_ns_sc_n( tp_t name_space, sc_t name, uz_t n )
{
    bcore_name_s o;
    bcore_name_s_init( &o );
    o.name = bcore_alloc( NULL, n + 1 );
    bcore_memcpy( o.name, name, n );
    o.name[ n ] = 0;
    o.name_space = name_space;
    o.key = bcore_name_key_ns_n( name_space, name, n );
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x28(%rbp)
movq %rdi, %rax
movq %rax, -0x20(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
callq 0x130830
movq -0x18(%rbp), %rsi
addq $0x1, %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x9d210
movq -0x28(%rbp), %rdi
movq %rax, 0x10(%rdi)
movq 0x10(%rdi), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x9d5e0
movq -0x28(%rbp), %rdi
movq 0x10(%rdi), %rax
movq -0x18(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x8(%rbp), %rax
movq %rax, 0x8(%rdi)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x130c50
movq -0x28(%rbp), %rdi
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rdi)
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_name.c
// Function: bcore_name_map_s_clear
void bcore_name_map_s_clear( bcore_name_map_s* o )
{
    if( o->data ) for( uz_t i = 0; i < o->size; i++ ) bcore_name_s_down( &o->data[ i ] );
    bcore_release( o->data );
    bcore_release( o->flags );
    o->data = 0;
    o->flags = 0;
    o->size = 0;
    o->depth_limit = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x130d42
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jae 0x130d40
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
imulq $0x18, -0x10(%rbp), %rax
addq %rax, %rdi
callq 0x130890
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x130d0f
jmp 0x130d42
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x9d3f0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x9d3f0
movq -0x8(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x18(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x20(%rax)
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_name.c
// Function: bcore_name_map_s_copy
void bcore_name_map_s_copy( bcore_name_map_s* o, const bcore_name_map_s* src )
{
    bcore_name_map_s_clear( o );
    o->data = bcore_alloc( NULL, sizeof( bcore_name_s ) * src->size );
    for( uz_t i = 0; i < src->size; i++ )
    {
        bcore_name_s_init( &o->data[ i ] );
        bcore_name_s_copy( &o->data[ i ], &src->data[ i ] );
    }
    o->size  = src->size;
    o->depth_limit = src->depth_limit;
    o->size_limit  = src->size_limit;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x130cf0
movq -0x10(%rbp), %rax
imulq $0x18, 0x18(%rax), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x9d210
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jae 0x130e54
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
imulq $0x18, -0x18(%rbp), %rax
addq %rax, %rdi
callq 0x130830
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
imulq $0x18, -0x18(%rbp), %rax
addq %rax, %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
imulq $0x18, -0x18(%rbp), %rax
addq %rax, %rsi
callq 0x1308c0
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x130dfe
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x28(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_name.c
// Function: bcore_name_signal_handler
vd_t bcore_name_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_name" ) ) )
    {
        case TYPEOF_init1:
        {
            bcore_flect_define_creator( TYPEOF_bcore_name_s,     name_s_create_self );
            bcore_flect_define_creator( TYPEOF_bcore_name_map_s, name_map_s_create_self );
        }
        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 0x28191(%rip), %rdi     # 0x1598dc
callq 0x1317d0
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 0x131789
jmp 0x131774
movq -0x10(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0x1317b7
jmp 0x1317b9
movabsq $-0x408553869e9adebe, %rdi # imm = 0xBF7AAC7961652142
leaq 0x56(%rip), %rsi        # 0x1317f0
callq 0xa7b60
movabsq $-0x5bf9bcfa7fba5085, %rdi # imm = 0xA40643058045AF7B
leaq 0x110(%rip), %rsi       # 0x1318c0
callq 0xa7b60
jmp 0x1317bb
jmp 0x1317bb
jmp 0x1317bb
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)