LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_shell_get_op_stamps
bcore_arr_tp_s* bcore_shell_get_op_stamps( const bcore_shell* o )
{
    // bcore_shell.h:315:1
    BLM_INIT_LEVEL(0);
    bcore_arr_tp_s op_groups;BLM_T_INIT_SPUSH(bcore_arr_tp_s, &op_groups);;
    bcore_shell_a_push_op_groups(o,&(op_groups ));
    bcore_arr_tp_s* op_stamps = bcore_arr_tp_s_create();
    {const bcore_arr_tp_s* __a=&(op_groups );if(__a)for(sz_t __i=0;__i<__a->size;__i++){tp_t t=__a->data[__i]; bcore_arr_tp_s_push_arr(op_stamps,x_group_get_arr_traitline_stamps(t ) );}}
    BLM_RETURNV(bcore_arr_tp_s*, op_stamps)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x16824a(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x10(%rbp)
leaq -0x40(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xbfe80
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq $0x0, 0x10(%rax)
leaq -0x68(%rbp), %rdi
callq 0x94450
movq -0x10(%rbp), %rdi
movabsq $-0x79c1eb0a2e5b4c6b, %rsi # imm = 0x863E14F5D1A4B395
leaq -0x68(%rbp), %rdx
callq 0xc0220
movq -0x8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x4a1f0
movb $0x0, %al
callq 0x945a0
movq %rax, -0x70(%rbp)
leaq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
cmpq $0x0, -0x78(%rbp)
je 0x4a1c0
movq $0x0, -0x80(%rbp)
movq -0x80(%rbp), %rax
movq -0x78(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x4a1be
movq -0x78(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x80(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x88(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x88(%rbp), %rdi
callq 0x4a230
movq -0x98(%rbp), %rdi
movq %rax, %rsi
callq 0x94a00
movq -0x80(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x80(%rbp)
jmp 0x4a165
jmp 0x4a1c0
movq -0x70(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x48(%rbp), %rdi
callq 0xc0720
movq -0x90(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_shell_op_parse_match
bl_t bcore_shell_op_parse_match( bcore_shell_op* o, x_source* source )
{
    // bcore_shell.h:112:5
    BLM_INIT_LEVEL(0);
    st_s key;BLM_T_INIT_SPUSH(st_s, &key);;
    BLM_TRY_EXIT(x_source_parse_fa(source,"#=name", (&(key)) ))
    if( key.size == 0 ) BLM_RETURNV(bl_t, false)
    if( !bcore_shell_op_key_match(o,key.sc ) ) BLM_RETURNV(bl_t, false)
    BLM_TRY_EXIT(x_source_parse_fa(source,"#-name" ))
    BLM_RETURNV(bl_t, true)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
leaq 0x167476(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x20(%rbp)
leaq -0x50(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xbfe80
movq -0x58(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq $0x0, 0x10(%rax)
leaq -0x78(%rbp), %rdi
callq 0xfe150
movq -0x20(%rbp), %rdi
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
leaq -0x78(%rbp), %rdx
callq 0xc0220
movq -0x18(%rbp), %rdi
leaq 0xf443b(%rip), %rsi     # 0x13f350
leaq -0x78(%rbp), %rdx
movb $0x0, %al
callq 0x44f70
movq %rax, -0x80(%rbp)
cmpq $0x0, -0x80(%rbp)
je 0x4af3f
movq -0x58(%rbp), %rdi
callq 0xc0720
movq -0x80(%rbp), %rax
movl %eax, %edi
callq 0x425e0
cmpq $0x0, -0x68(%rbp)
jne 0x4af66
movb $0x0, -0x81(%rbp)
movq -0x58(%rbp), %rdi
callq 0xc0720
movb -0x81(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4afe9
movq -0x10(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x4c130
testb $0x1, %al
jne 0x4af94
movb $0x0, -0x82(%rbp)
movq -0x58(%rbp), %rdi
callq 0xc0720
movb -0x82(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4afe9
movq -0x18(%rbp), %rdi
leaq 0xf43b8(%rip), %rsi     # 0x13f357
movb $0x0, %al
callq 0x44f70
movq %rax, -0x90(%rbp)
cmpq $0x0, -0x90(%rbp)
je 0x4afce
movq -0x58(%rbp), %rdi
callq 0xc0720
movq -0x90(%rbp), %rax
movl %eax, %edi
callq 0x425e0
movb $0x1, -0x91(%rbp)
movq -0x58(%rbp), %rdi
callq 0xc0720
movb -0x91(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0xa0, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_shell_op_key_match
bl_t bcore_shell_op_key_match( const bcore_shell_op* o, sc_t key )
{
    // bcore_shell.h:87:5
    BLM_INIT_LEVEL(0);
    st_s st_key;BLM_T_INIT_SPUSH(st_s, &st_key);;
    bcore_shell_op_a_get_key(o,(&(st_key)) );
    sz_t index = 0;
    while( index < st_key.size )
    {BLM_INIT_LEVEL(1);
        st_s name;BLM_T_INIT_SPUSH(st_s, &name);;
        char c = 0;
        while( index < st_key.size )
        {
            c = st_key.data[ index++ ];
            if( c == ' ' || c== ',' ) break;
            st_s_push_char(&(name),c );
        }
        if( name.size == 0 ) BLM_RETURNV(bl_t, false)
        if( st_s_equal_sc(&(name),key ) ) BLM_RETURNV(bl_t, true)
    BLM_DOWN();}
    BLM_RETURNV(bl_t, false)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
leaq 0x1661e6(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x20(%rbp)
leaq -0x50(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0xbfe80
movq -0x58(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq $0x0, 0x10(%rax)
leaq -0x78(%rbp), %rdi
callq 0xfe150
movq -0x20(%rbp), %rdi
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
leaq -0x78(%rbp), %rdx
callq 0xc0220
movq -0x10(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x4a820
movq $0x0, -0x80(%rbp)
movq -0x80(%rbp), %rax
cmpq -0x68(%rbp), %rax
jae 0x4c2fc
movq -0x58(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq -0xb8(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0xc0(%rbp), %rdi
movq -0x88(%rbp), %rsi
callq 0xbfe80
movq -0xc0(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movq $0x1, 0x10(%rax)
leaq -0xe0(%rbp), %rdi
callq 0xfe150
movq -0x88(%rbp), %rdi
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
leaq -0xe0(%rbp), %rdx
callq 0xc0220
movb $0x0, -0xe1(%rbp)
movq -0x80(%rbp), %rax
cmpq -0x68(%rbp), %rax
jae 0x4c28b
movq -0x70(%rbp), %rax
movq -0x80(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x80(%rbp)
movb (%rax,%rcx), %al
movb %al, -0xe1(%rbp)
movsbl -0xe1(%rbp), %eax
cmpl $0x20, %eax
je 0x4c274
movsbl -0xe1(%rbp), %eax
cmpl $0x2c, %eax
jne 0x4c276
jmp 0x4c28b
leaq -0xe0(%rbp), %rdi
movsbl -0xe1(%rbp), %esi
callq 0xffba0
jmp 0x4c236
cmpq $0x0, -0xd0(%rbp)
jne 0x4c2b5
movb $0x0, -0xe2(%rbp)
movq -0xc0(%rbp), %rdi
callq 0xc0720
movb -0xe2(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4c317
movq -0x18(%rbp), %rsi
leaq -0xe0(%rbp), %rdi
callq 0x4c330
testb $0x1, %al
jne 0x4c2cb
jmp 0x4c2eb
movb $0x1, -0xe3(%rbp)
movq -0xc0(%rbp), %rdi
callq 0xc0720
movb -0xe3(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4c317
leaq -0xc0(%rbp), %rdi
callq 0xc06e0
jmp 0x4c1af
movb $0x0, -0xe4(%rbp)
movq -0x58(%rbp), %rdi
callq 0xc0720
movb -0xe4(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0xf0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_shell_op_default_get_s_run
void bcore_shell_op_default_get_s_run( bcore_shell_op_default_get_s* o, bcore_shell* obj, const bcore_main_frame_s* main_frame, x_source* source, bcore_sink* sink, bcore_shell_control_s* control )
{
    // bcore_shell.h:580:9
    BLM_INIT_LEVEL(0);
    sr_s sr = x_stamp_path_s_get_sr_in(x_stamp_path_s_parse(((x_stamp_path_s*)BLM_LEVEL_T_PUSH(0,x_stamp_path_s,x_stamp_path_s_create())),((x_source*)BLM_LEVEL_A_PUSH(0,x_source_create_from_st(&(o->path )))) ),((const x_inst*)(obj )));
    if( sr.o )
    {
        x_btml_t_to_sink(((const x_btml*)( sr.o)),sr_s_type(&( sr )),((x_sink*)( sink )));
    }
    else
    {
        bcore_sink_a_push_fa(sink,"Path '#<sc_t>' not found.\n", o->path.sc );
    }
    BLM_DOWN();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
leaq 0x164cd6(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x38(%rbp)
leaq -0x68(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0xbfe80
movq -0x70(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x38(%rbp), %rax
movq %rax, -0xa0(%rbp)
callq 0x44b10
movq -0xa0(%rbp), %rdi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %esi
movabsq $-0x74dceedd59a2bd6f, %rdx # imm = 0x8B231122A65D4291
callq 0xc01a0
movq %rax, -0x90(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x8(%rbp), %rdi
addq $0x8, %rdi
callq 0x4c110
movq -0x98(%rbp), %rdi
movq %rax, %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0xc0500
movq -0x90(%rbp), %rdi
movq %rax, %rsi
callq 0x44d20
movq %rax, %rsi
movq -0x10(%rbp), %rdx
leaq -0x88(%rbp), %rdi
callq 0x46980
cmpq $0x0, -0x88(%rbp)
je 0x4d744
movq -0x88(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x45450
movq -0xa8(%rbp), %rdi
movq %rax, %rsi
movq -0x28(%rbp), %rdx
callq 0x4d770
jmp 0x4d75e
movq -0x28(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdx
leaq 0xf1d7f(%rip), %rsi     # 0x13f4d6
movb $0x0, %al
callq 0xf0e20
leaq -0x70(%rbp), %rdi
callq 0xc06e0
addq $0xb0, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_shell_op_default_alias_s_run
void bcore_shell_op_default_alias_s_run( bcore_shell_op_default_alias_s* o, bcore_shell* obj, const bcore_main_frame_s* main_frame, x_source* source, bcore_sink* sink, bcore_shell_control_s* control )
{
    // bcore_shell.h:635:9
    
    if( o->key.size == 0 )
    {
        bcore_sink_a_push_fa(sink,"No key defined.\n" );
        return ;
    }
    tp_t tp_key = bcore_hmap_name_s_set_st_c(&(control->hmap_name),&(o->key ));
    if( o->expression.size > 0 )
    {
        x_hmap_tp_set_c(((x_hmap_tp*)(&(control->hmap_alias))),tp_key,((const x_inst*)(&( o->expression ))));
    }
    else
    {
        x_hmap_tp_remove(((x_hmap_tp*)(&(control->hmap_alias))),tp_key );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x4dd4f
movq -0x28(%rbp), %rdi
leaq 0xf1810(%rip), %rsi     # 0x13f556
movb $0x0, %al
callq 0xf0e20
jmp 0x4dd9f
movq -0x30(%rbp), %rdi
addq $0x20, %rdi
movq -0x8(%rbp), %rsi
addq $0x8, %rsi
callq 0xba960
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x38(%rax)
jbe 0x4dd8e
movq -0x30(%rbp), %rdi
addq $0x50, %rdi
movq -0x38(%rbp), %rsi
movq -0x8(%rbp), %rdx
addq $0x28, %rdx
callq 0x4ddb0
jmp 0x4dd9f
movq -0x30(%rbp), %rdi
addq $0x50, %rdi
movq -0x38(%rbp), %rsi
callq 0x4ddf0
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_codec_s_clear
bcore_huffman_codec_s* bcore_huffman_codec_s_clear( bcore_huffman_codec_s* o )
{
    // bcore_huffman.x:47:1
    
    bcore_huffman_hist_s_attach( &(o->hist ),  NULL);
    bcore_huffman_tree_s_attach( &(o->tree ),  NULL);
    bcore_huffman_count_map_s_attach( &(o->count_map ),  NULL);
    bcore_huffman_index_s_attach( &(o->leaf_index ),  NULL);
    return  o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
addq $0x8, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x4e210
movq -0x8(%rbp), %rdi
addq $0x18, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x4e260
movq -0x8(%rbp), %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x4e2b0
movq -0x8(%rbp), %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x4e300
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.xo.c
// Function: bcore_huffman_codec_s_scan_end
bcore_huffman_codec_s* bcore_huffman_codec_s_scan_end( bcore_huffman_codec_s* o )
{
    // bcore_huffman.x:88:1
    
    if( !o->hist ) ERR_fa( "No histogram. scan_end() called before scan_start()?." );
    bcore_huffman_count_map_s_attach( &(o->count_map ),  ((bcore_huffman_count_map_s*)(x_array_sort(((x_array*)(bcore_huffman_count_map_s_from_hist(bcore_huffman_count_map_s_create(),o->hist ))),1 ))));
    bcore_huffman_hist_s_attach( &(o->hist ),  NULL);
    bcore_huffman_tree_s_build(BCORE_PASS_CREATE(bcore_huffman_tree_s,o->tree),o->count_map, BCORE_PASS_CREATE(bcore_huffman_index_s,o->leaf_index) );
    return  o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x4e528
leaq 0xf10ae(%rip), %rdi     # 0x13f5bc
leaq 0xf0af9(%rip), %rsi     # 0x13f00e
movl $0x9e0, %edx            # imm = 0x9E0
leaq 0xf10ba(%rip), %rcx     # 0x13f5db
movb $0x0, %al
callq 0x9d0f0
movq -0x8(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x20(%rbp)
callq 0x505e0
movq %rax, %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x4e600
movq %rax, %rdi
movl $0x1, %esi
callq 0x4e5d0
movq -0x20(%rbp), %rdi
movq %rax, %rsi
callq 0x4e2b0
movq -0x8(%rbp), %rdi
addq $0x8, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x4e210
movq -0x8(%rbp), %rdi
addq $0x18, %rdi
leaq 0x230e(%rip), %rsi      # 0x50890
callq 0x4e3c0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
addq $0x20, %rdi
leaq 0x1caa(%rip), %rsi      # 0x50250
callq 0x4e3c0
movq -0x18(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq %rax, %rdx
callq 0x4e6b0
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.xo.c
// Function: bcore_huffman_count_map_s_from_hist
bcore_huffman_count_map_s* bcore_huffman_count_map_s_from_hist( bcore_huffman_count_map_s* o, const bcore_huffman_hist_s* hist )
{
    // bcore_huffman.x:426:5
    
    x_array_clear(((x_array*)(o)));
    for(sz_t i = 0; i < hist->hmap_tpuz.size; i++ )
    {
        tp_t key = bcore_hmap_tpuz_s_idx_key(&(hist->hmap_tpuz),i );
        if( key > 0 )
        {
            bcore_huffman_count_node_s* node = ((bcore_huffman_count_node_s*)(x_array_push(((x_array*)(o)))));
            node->c = bcore_hmap_tpuz_s_idx_val(&(hist->hmap_tpuz),i );
            node->v = bcore_huffman_hist_s_val(hist,key );
        }
    }
    return  o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x48450
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x20(%rcx), %rax
jae 0x4e699
movq -0x10(%rbp), %rdi
addq $0x8, %rdi
movq -0x18(%rbp), %rsi
callq 0xad6e0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jbe 0x4e689
movq -0x8(%rbp), %rdi
callq 0x4f620
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
addq $0x8, %rdi
movq -0x18(%rbp), %rsi
callq 0xad710
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x50670
movl %eax, %ecx
movq -0x28(%rbp), %rax
movl %ecx, 0x8(%rax)
jmp 0x4e68b
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x4e621
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.xo.c
// Function: bcore_huffman_bit_buffer_s_push_bl
bcore_huffman_bit_buffer_s* bcore_huffman_bit_buffer_s_push_bl( bcore_huffman_bit_buffer_s* o, bl_t bit )
{
    // bcore_huffman.x:209:1
    
    if( o->bits == o->size * 8 ) (*(((u0_t*)(x_array_push(((x_array*)(o))))))) = 0;
    sz_t idx = o->bits / 8;
    if( bit )
    {
        u0_t m = 1 << ( o->bits - ( idx * 8 ) );
        o->data[ idx ] |= m;
    }
    o->bits++;
    return  o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %sil, %al
movq %rdi, -0x8(%rbp)
andb $0x1, %al
movb %al, -0x9(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x18(%rcx), %rcx
shlq $0x3, %rcx
cmpq %rcx, %rax
jne 0x4eb79
movq -0x8(%rbp), %rdi
callq 0x4f620
movb $0x0, (%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
shrq $0x3, %rax
movq %rax, -0x18(%rbp)
testb $0x1, -0x9(%rbp)
je 0x4ebc7
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
shlq $0x3, %rcx
subq %rcx, %rax
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
movb %al, -0x19(%rbp)
movzbl -0x19(%rbp), %esi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x18(%rbp), %rcx
movzbl (%rax,%rcx), %edx
orl %esi, %edx
movb %dl, (%rax,%rcx)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x8(%rax)
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.xo.c
// Function: bcore_huffman_codec_s_decode_u2
u2_t bcore_huffman_codec_s_decode_u2( const bcore_huffman_codec_s* o, bcore_huffman_bit_buffer_iterator_s* iterator )
{
    // bcore_huffman.x:133:1
    
    if( !o->tree ) ERR_fa( "No tree! Load a codec or run scanning first." );
    const bcore_huffman_node_s* node =&( o->tree->data[ bcore_huffman_tree_s_root_index(o->tree) ]);
    
    while( !bcore_huffman_bit_buffer_iterator_s_eos(iterator) && !bcore_huffman_node_s_is_leaf(node) )
    {
        bl_t bit = bcore_huffman_bit_buffer_iterator_s_read_bl(iterator);
        uz_t idx = ( bit ) ? node->b1 : node->b0;
        node = (&(o->tree->data[ idx ]));
    }
    
    if( !bcore_huffman_node_s_is_leaf(node) )
    {
        ERR_fa( "Decoding error. Bit buffer appears corrupted." );
    }
    
    return  node->v;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x4ec2c
leaq 0xf0ab0(%rip), %rdi     # 0x13f6c2
leaq 0xf03f5(%rip), %rsi     # 0x13f00e
movl $0xa0d, %edx            # imm = 0xA0D
leaq 0xf0a0c(%rip), %rcx     # 0x13f631
movb $0x0, %al
callq 0x9d0f0
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x4ed20
movq %rax, %rcx
movq -0x30(%rbp), %rax
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x4ed40
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x31(%rbp)
jne 0x4ec7e
movq -0x18(%rbp), %rdi
callq 0x4ed70
xorb $-0x1, %al
movb %al, -0x31(%rbp)
movb -0x31(%rbp), %al
testb $0x1, %al
jne 0x4ec87
jmp 0x4ecd7
movq -0x10(%rbp), %rdi
callq 0x4ed90
andb $0x1, %al
movb %al, -0x19(%rbp)
testb $0x1, -0x19(%rbp)
je 0x4eca9
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x4ecb5
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rax
imulq $0x28, -0x28(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
jmp 0x4ec5b
movq -0x18(%rbp), %rdi
callq 0x4ed70
testb $0x1, %al
jne 0x4ed05
leaq 0xf09d7(%rip), %rdi     # 0x13f6c2
leaq 0xf031c(%rip), %rsi     # 0x13f00e
movl $0xa19, %edx            # imm = 0xA19
leaq 0xf09e4(%rip), %rcx     # 0x13f6e2
movb $0x0, %al
callq 0x9d0f0
movq -0x18(%rbp), %rax
movl 0x20(%rax), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_bit_buffer_iterator_s_read_bl
bl_t bcore_huffman_bit_buffer_iterator_s_read_bl( bcore_huffman_bit_buffer_iterator_s* o )
{
    // bcore_huffman.x:317:1
    
    if( !o->bit_buffer ) ERR_fa( "No buffer assigned. Call setup first." );
    if( o->bit_index >= o->bit_buffer->bits ) ERR_fa( "Reading past end of buffer" );
    sz_t idx = o->bit_index / 8;
    u0_t m = 1 << ( o->bit_index - ( idx * 8 ) );
    o->bit_index++;
    return  ( o->bit_buffer->data[ idx ] & m ) ? true : false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x4edc8
leaq 0xf0990(%rip), %rdi     # 0x13f73e
leaq 0xf0259(%rip), %rsi     # 0x13f00e
movl $0xac9, %edx            # imm = 0xAC9
leaq 0xf09a9(%rip), %rcx     # 0x13f76a
movb $0x0, %al
callq 0x9d0f0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x8(%rcx), %rcx
cmpq 0x8(%rcx), %rax
jb 0x4edff
leaq 0xf0959(%rip), %rdi     # 0x13f73e
leaq 0xf0222(%rip), %rsi     # 0x13f00e
movl $0xaca, %edx            # imm = 0xACA
leaq 0xf0998(%rip), %rcx     # 0x13f790
movb $0x0, %al
callq 0x9d0f0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movl $0x8, %ecx
cqto
idivq %rcx
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rcx
shlq $0x3, %rcx
subq %rcx, %rax
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
movb %al, -0x11(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rcx
movzbl (%rax,%rcx), %edx
movzbl -0x11(%rbp), %eax
andl %eax, %edx
xorl %eax, %eax
movl $0x1, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
cmpl $0x0, %eax
setne %al
andb $0x1, %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_codec_s_decode
bcore_huffman_codec_s* bcore_huffman_codec_s_decode( bcore_huffman_codec_s* o, bcore_huffman_bit_buffer_iterator_s* iterator )
{
    // bcore_huffman.x:185:1
    
    bcore_huffman_codec_s_clear(o);
    bcore_huffman_count_map_s_decode(BCORE_PASS_CREATE(bcore_huffman_count_map_s,o->count_map),iterator );
    bcore_huffman_tree_s_build(BCORE_PASS_CREATE(bcore_huffman_tree_s,o->tree),o->count_map, BCORE_PASS_CREATE(bcore_huffman_index_s,o->leaf_index) );
    return  o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x4e1b0
movq -0x8(%rbp), %rdi
addq $0x10, %rdi
leaq 0x1398(%rip), %rsi      # 0x505e0
callq 0x4e3c0
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0x4f2b0
movq -0x8(%rbp), %rdi
addq $0x18, %rdi
leaq 0x1628(%rip), %rsi      # 0x50890
callq 0x4e3c0
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
addq $0x20, %rdi
leaq 0xfc4(%rip), %rsi       # 0x50250
callq 0x4e3c0
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq %rax, %rdx
callq 0x4e6b0
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_min_bits
sz_t bcore_huffman_min_bits( u3_t v, sz_t n )
{
    // bcore_huffman.x:23:1
    
    sz_t n1 = n >> 1;
    u3_t v1 = v >> n1;
    return  ( v1 ? n1 : 0 ) + ( n1 ? bcore_huffman_min_bits(v1 ? v1 : v, n1 ) : ((sz_t)(v)) );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
sarq %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x4f78b
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x4f793
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0x4f793
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x4f7ce
cmpq $0x0, -0x20(%rbp)
je 0x4f7b3
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
jmp 0x4f7bb
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x4f750
movq %rax, -0x40(%rbp)
jmp 0x4f7d6
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x30(%rbp), %rax
movq -0x40(%rbp), %rcx
addq %rcx, %rax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_bit_buffer_s_push_packed_s3
bcore_huffman_bit_buffer_s* bcore_huffman_bit_buffer_s_push_packed_s3( bcore_huffman_bit_buffer_s* o, s3_t val )
{
    // bcore_huffman.x:247:1
    
    bcore_huffman_bit_buffer_s_push_bl(o,val >= 0 ? true : false );
    bcore_huffman_bit_buffer_s_push_packed_u3(o,val >= 0 ? val : -val );
    return  o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
xorl %eax, %eax
movl $0x1, %ecx
cmpq $0x0, %rdx
cmovgel %ecx, %eax
cmpl $0x0, %eax
setne %al
movzbl %al, %esi
andl $0x1, %esi
callq 0x4eb40
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jl 0x4f870
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x4f87a
xorl %eax, %eax
subq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x4f6c0
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.xo.c
// Function: bcore_huffman_bit_buffer_s_push_f3
bcore_huffman_bit_buffer_s* bcore_huffman_bit_buffer_s_push_f3( bcore_huffman_bit_buffer_s* o, f3_t v, sz_t bits )
{
    // bcore_huffman.x:256:1
    
    ASSERT( bits <= 31 );
    int int_exp = 0;
    s3_t man = llrint( frexp( v, (&(int_exp)) ) * ( ( 1 << bits ) - 1 ) );
    s3_t exp = ((s3_t)(int_exp));
    bcore_huffman_bit_buffer_s_push_s3(o,man, bits );
    bcore_huffman_bit_buffer_s_push_packed_s3(o,exp );
    return  o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movsd %xmm0, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x1f, -0x18(%rbp)
jle 0x4f8e5
leaq 0xe40dc(%rip), %rdi     # 0x13399f
leaq 0xefe46(%rip), %rsi     # 0x13f710
leaq 0xefe4a(%rip), %rdx     # 0x13f71b
leaq 0xef736(%rip), %rcx     # 0x13f00e
movl $0xa88, %r8d            # imm = 0xA88
movb $0x0, %al
callq 0x9cea0
movl $0x0, -0x1c(%rbp)
movsd -0x10(%rbp), %xmm0
leaq -0x1c(%rbp), %rdi
callq 0x4070
movq -0x18(%rbp), %rax
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
subl $0x1, %eax
cvtsi2sd %eax, %xmm1
mulsd %xmm1, %xmm0
callq 0x42e0
movq %rax, -0x28(%rbp)
movslq -0x1c(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x4f7f0
movq -0x8(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x4f820
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_bit_buffer_s_push_bit_buffer
bcore_huffman_bit_buffer_s* bcore_huffman_bit_buffer_s_push_bit_buffer( bcore_huffman_bit_buffer_s* o, const bcore_huffman_bit_buffer_s* src )
{
    // bcore_huffman.x:269:1
    
    u3_t bits = src->bits;
    for(sz_t i = 0; ( i < src->size ) && ( bits > 0 ); i++ )
    {
        bcore_huffman_bit_buffer_s_push_u3(o,src->data[ i ], u3_min( 8, bits ) );
        bits -= u3_min( 8, bits );
    }
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rdx
xorl %eax, %eax
cmpq 0x18(%rdx), %rcx
movb %al, -0x21(%rbp)
jae 0x4f992
cmpq $0x0, -0x18(%rbp)
seta %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
testb $0x1, %al
jne 0x4f99b
jmp 0x4fa02
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x20(%rbp), %rcx
movzbl (%rax,%rcx), %eax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rsi
movl $0x8, %edi
callq 0x4fa10
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq %rax, %rdx
callq 0x4f650
movq -0x18(%rbp), %rsi
movl $0x8, %edi
callq 0x4fa10
movq %rax, %rcx
movq -0x18(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x18(%rbp)
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x4f974
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_bit_buffer_s_get_hash
tp_t bcore_huffman_bit_buffer_s_get_hash( const bcore_huffman_bit_buffer_s* o )
{
    // bcore_huffman.x:281:1
    
    tp_t hash = bcore_tp_init();
    hash = bcore_tp_fold_u3( hash, o->bits );
    {const bcore_huffman_bit_buffer_s* __a=o ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){u0_t e=__a->data[__i]; hash = bcore_tp_fold_u0( hash, e );}}
    return  hash;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
callq 0x8adc0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x4fad0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x4fac2
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jae 0x4fac0
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x20(%rbp), %rcx
movb (%rax,%rcx), %al
movb %al, -0x21(%rbp)
movq -0x10(%rbp), %rdi
movzbl -0x21(%rbp), %esi
callq 0x4fb10
movq %rax, -0x10(%rbp)
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x4fa81
jmp 0x4fac2
movq -0x10(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_bit_buffer_s_bcml_body_to_sink
void bcore_huffman_bit_buffer_s_bcml_body_to_sink( const bcore_huffman_bit_buffer_s* o, x_sink* sink )
{
    // bcore_huffman.x:291:1
    
    u3_t bits = o->bits;
    x_sink_push_u3(sink,bits );
    sz_t size = ( bits / 8 ) + ( ( bits % 8 ) ? 1 : 0 );
    x_sink_push_data(sink,((const x_inst*)(o->data)), size * sizeof( u0_t ) );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x4fbb0
movq -0x18(%rbp), %rax
shrq $0x3, %rax
movq -0x18(%rbp), %rsi
andq $0x7, %rsi
xorl %ecx, %ecx
movl $0x1, %edx
cmpq $0x0, %rsi
cmovnel %edx, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x20(%rbp), %rdx
shlq $0x0, %rdx
callq 0x4fbe0
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_bit_buffer_s_bcml_body_from_source
er_t bcore_huffman_bit_buffer_s_bcml_body_from_source( bcore_huffman_bit_buffer_s* o, x_source* source )
{
    // bcore_huffman.x:301:1
    
    u3_t bits = x_source_get_u3(source);
    sz_t size = ( bits / 8 ) + ( ( bits % 8 ) ? 1 : 0 );
    x_array_set_size(((x_array*)(o)),size );
    o->bits = bits;
    x_source_get_data(source,((x_inst*)(o->data)), size * sizeof( u0_t ) );
    return  0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x4fc90
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
shrq $0x3, %rax
movq -0x18(%rbp), %rsi
andq $0x7, %rsi
xorl %ecx, %ecx
movl $0x1, %edx
cmpq $0x0, %rsi
cmovnel %edx, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x48400
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x20(%rbp), %rdx
shlq $0x0, %rdx
callq 0x4fcc0
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_bit_buffer_iterator_s_read_s3
s3_t bcore_huffman_bit_buffer_iterator_s_read_s3( bcore_huffman_bit_buffer_iterator_s* o, sz_t bits )
{
    // bcore_huffman.x:345:1
    
    u3_t u3 = bcore_huffman_bit_buffer_iterator_s_read_u3(o,bits );
    if( bits > 0 )
    {
        if( ( bits > 0 ) && ( u3 >> ( bits - 1 ) ) ) u3 = ( 0xFFFFFFFFFFFFFFFFull << bits ) | u3;
    }
    return  u3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4fe20
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jle 0x4ff3c
cmpq $0x0, -0x10(%rbp)
jle 0x4ff3a
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
subq $0x1, %rcx
shrq %cl, %rax
cmpq $0x0, %rax
je 0x4ff3a
movq -0x10(%rbp), %rcx
movq $-0x1, %rax
shlq %cl, %rax
orq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x4ff3c
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.xo.c
// Function: bcore_huffman_bit_buffer_iterator_s_read_f3
f3_t bcore_huffman_bit_buffer_iterator_s_read_f3( bcore_huffman_bit_buffer_iterator_s* o, sz_t bits )
{
    // bcore_huffman.x:366:1
    
    ASSERT( bits <= 31 );
    s3_t man = bcore_huffman_bit_buffer_iterator_s_read_s3(o,bits );
    s3_t exp = bcore_huffman_bit_buffer_iterator_s_read_packed_s3(o);
    return  ( 1.0 / ( ( 1ull << bits ) - 1 ) ) * man * pow( 2.0, exp );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x1f, -0x10(%rbp)
jle 0x4ffe0
leaq 0xe39e1(%rip), %rdi     # 0x13399f
leaq 0xef74b(%rip), %rsi     # 0x13f710
leaq 0xef7df(%rip), %rdx     # 0x13f7ab
leaq 0xef03b(%rip), %rcx     # 0x13f00e
movl $0xafa, %r8d            # imm = 0xAFA
movb $0x0, %al
callq 0x9cea0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4fee0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
callq 0x4ff50
movq %rax, -0x20(%rbp)
movb -0x10(%rbp), %cl
movl $0x1, %eax
shlq %cl, %rax
decq %rax
movq %rax, %xmm1
movaps 0xeeee8(%rip), %xmm0    # 0x13ef00
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movapd 0xeeeec(%rip), %xmm0    # 0x13ef10
subpd %xmm0, %xmm1
movaps %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movsd 0xeeded(%rip), %xmm0    # 0x13ee28
divsd %xmm1, %xmm0
cvtsi2sdq -0x18(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x28(%rbp)
cvtsi2sdq -0x20(%rbp), %xmm1
movsd 0xeedc4(%rip), %xmm0    # 0x13ee20
callq 0x4420
movaps %xmm0, %xmm1
movsd -0x28(%rbp), %xmm0
mulsd %xmm1, %xmm0
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_indexer_s_get_io
bl_t bcore_indexer_s_get_io( const bcore_indexer_s* o, s3_t index, bcore_indexer_io_s* io )
{
    // bcore_indexer.h:97:5
    
    if( index < 0 || index >= o->size ) return  false;
    (*(io)) = o->io_arr.data[ index >> o->mask_bits ];
    io->o += index & ( ( 1 << o->mask_bits ) - 1 );
    while( io->o >= o->cs_arr.data[ io->i ].s )
    {
        io->o -= o->cs_arr.data[ io->i ].s;
        io->i++;
    }
    return  true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x18(%rbp)
jl 0x518a5
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x50(%rcx), %rax
jl 0x518ae
movb $0x0, -0x1(%rbp)
jmp 0x51978
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
movq %rcx, -0x30(%rbp)
movq -0x18(%rbp), %rdx
movq -0x10(%rbp), %rcx
movsbl 0x48(%rcx), %ecx
movl %ecx, %ecx
sarq %cl, %rdx
movq -0x30(%rbp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movsbl 0x48(%rax), %ecx
movl $0x1, %eax
shll %cl, %eax
movq -0x28(%rbp), %rcx
subl $0x1, %eax
cltq
andq %rax, %rcx
movq -0x20(%rbp), %rax
addq 0x8(%rax), %rcx
movq %rcx, 0x8(%rax)
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x30(%rcx), %rcx
movq -0x20(%rbp), %rdx
movq (%rdx), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
cmpq 0x8(%rcx), %rax
jl 0x51974
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rax
movq -0x20(%rbp), %rcx
movq (%rcx), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rdx
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rcx
subq %rdx, %rcx
movq %rcx, 0x8(%rax)
movq -0x20(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x51917
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_t_from_source
er_t x_btml_t_from_source( x_btml* o, tp_t t, x_source* source )
{
    // bcore_x_btml.h:110:1
    
    sr_s sr = sr_null();
    BLM_TRY(x_btml_parse_create_object(source, NULL, 0, (&(sr)) ))
    BLM_TRY(x_inst_t_copy_typed(((x_inst*)( o)),t, sr_s_o_type( (&(sr)) ), sr.o ))
    sr_s_down(&( sr ));
    return  0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x8a380
movq -0x20(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
leaq -0x38(%rbp), %rcx
movq %rdx, %rsi
callq 0x51f10
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0x51e8d
movq -0x40(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x1604b5(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x51ef7
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x52c00
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
movq %rax, %rdx
movq -0x38(%rbp), %rcx
callq 0x4dba0
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x51ee6
movq -0x50(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq 0x16045c(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x58(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x51ef7
leaq -0x38(%rbp), %rdi
callq 0xfbe60
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_create_from_source_t
x_btml* x_btml_create_from_source_t( x_source* source, tp_t* type )
{
    // bcore_x_btml.h:121:1
    
    if( !source )
    {
        (*(type)) = 0;
        return  NULL;
    }
    sr_s sr = sr_null();
    if( x_btml_parse_create_object(source, NULL, 0, (&(sr)) ) ) return  NULL;
    if( sr.o && type ) (*(type)) = sr_s_o_type(&( sr ));
    return  ((x_btml*)(sr.o)); // sr.o is NULL in case of error
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x52c7c
movq -0x18(%rbp), %rax
movq $0x0, (%rax)
movq $0x0, -0x8(%rbp)
jmp 0x52cd2
leaq -0x30(%rbp), %rdi
callq 0x8a380
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
leaq -0x30(%rbp), %rcx
movq %rdx, %rsi
callq 0x51f10
cmpq $0x0, %rax
je 0x52ca9
movq $0x0, -0x8(%rbp)
jmp 0x52cd2
cmpq $0x0, -0x30(%rbp)
je 0x52cca
cmpq $0x0, -0x18(%rbp)
je 0x52cca
leaq -0x30(%rbp), %rdi
callq 0x52c00
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%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.xo.c
// Function: x_btml_create_from_source
x_btml* x_btml_create_from_source( x_source* source )
{
    // bcore_x_btml.h:136:1
    
    tp_t t = 0;
    x_btml* o = x_btml_create_from_source_t(source, (&(t)) );
    if( t )
    {
        ASSERT( x_stamp_t_is_aware(t ) );
    }
    return  o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x10(%rbp), %rsi
callq 0x52c50
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x52d44
movq -0x10(%rbp), %rdi
callq 0x42da0
testb $0x1, %al
jne 0x52d42
leaq 0xe0c7f(%rip), %rdi     # 0x13399f
leaq 0xecc36(%rip), %rsi     # 0x13f95d
leaq 0xecc46(%rip), %rdx     # 0x13f974
leaq 0xec2d9(%rip), %rcx     # 0x13f00e
movl $0xcb9, %r8d            # imm = 0xCB9
movb $0x0, %al
callq 0x9cea0
jmp 0x52d44
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_parse_name
st_s* x_btml_parse_name( x_source* source )
{
    // bcore_x_btml.h:165:1
    BLM_INIT_LEVEL(0);
    st_s* st_name = ((st_s*)BLM_LEVEL_T_PUSH(0,st_s,st_s_create()));
    BLM_TRY_EXIT(x_source_parse_fa(source," #name", st_name ))
    BLM_RETURNV(st_s*, ((st_s*)bcore_fork(st_name)))
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x15ef6d(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x10(%rbp)
leaq -0x40(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xbfe80
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
movb $0x0, %al
callq 0xff2e0
movq -0x68(%rbp), %rdi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %esi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
callq 0xc01a0
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rdi
movq -0x50(%rbp), %rdx
leaq 0xfb114(%rip), %rsi     # 0x14e543
movb $0x0, %al
callq 0x44f70
movq %rax, -0x58(%rbp)
cmpq $0x0, -0x58(%rbp)
je 0x53455
movq -0x48(%rbp), %rdi
callq 0xc0720
movq -0x58(%rbp), %rax
movl %eax, %edi
callq 0x425e0
movq -0x50(%rbp), %rdi
callq 0x9d3d0
movq %rax, -0x60(%rbp)
movq -0x48(%rbp), %rdi
callq 0xc0720
movq -0x60(%rbp), %rax
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_name_of
sc_t x_btml_name_of( tp_t type, st_s* buf )
{
    // bcore_x_btml.h:174:1
    
    sc_t n = bcore_name_try_name(type );
    if( n ) return  n;
    BLM_TRY_EXIT(st_s_copy_typed(buf,((tp_t)(TYPEOF_tp_t)), (&(type)) ))
    return  buf->sc;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0xc10f0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x534ae
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x534f6
movq -0x18(%rbp), %rdi
movabsq $0x6d07f9ef5b68e8a2, %rsi # imm = 0x6D07F9EF5B68E8A2
leaq -0x10(%rbp), %rdx
callq 0xfecc0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x534ea
leaq 0x15ee59(%rip), %rax    # 0x1b2330
movq (%rax), %rdi
callq 0xc0720
movq -0x28(%rbp), %rax
movl %eax, %edi
callq 0x425e0
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_type_of
tp_t x_btml_type_of( const st_s* name )
{
    // bcore_x_btml.h:184:1
    
    tp_t tp = 0;
    if( name->size == 0 )
    {
        return  0;
    }
    else if( name->data[ 0 ] >= '0' && name->data[ 0 ] <= '9' )
    {
        st_s_parse_fa(name,0, -1, "#tp_t", &tp );
    }
    else
    {
        tp = btypeof( name->sc );
    }
    return  tp;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x53529
movq $0x0, -0x8(%rbp)
jmp 0x53587
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x30, %eax
jl 0x5356c
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x39, %eax
jg 0x5356c
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movq $-0x1, %rdx
leaq 0xec42f(%rip), %rcx     # 0x13f98e
leaq -0x18(%rbp), %r8
movb $0x0, %al
callq 0x105550
jmp 0x5357d
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x45020
movq %rax, -0x18(%rbp)
jmp 0x5357f
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.xo.c
// Function: x_btml_appears_valid
bl_t x_btml_appears_valid( x_source* source )
{
    // bcore_x_btml.h:204:1
    BLM_INIT_LEVEL(0);
    bl_t valid = false;
    sz_t index = x_source_get_index(source);
    st_s* type_string = ((st_s*)BLM_LEVEL_T_PUSH(0,st_s,st_s_create()));
    if( x_source_parse_bl(source," #?'<'" ) ) // type specifier
    {
        if( x_source_parse_fa(source,"#until'>'>", type_string ) )
        {
            bcore_error_remove_last();
        }
        else
        {
            if( type_string->size > 0 )
            {
                if( type_string->data[ type_string->size - 1 ] == '/' ) st_s_pop_char(type_string);
            }
            tp_t type = x_btml_type_of(type_string );
            if( bcore_flect_exists( type ) )      valid = true;
            else if( type == btypeof( "#file" ) ) valid = true;
            else if( type == btypeof( "#path" ) ) valid = true;
        }
    }
    
    x_source_set_index(source,index );
    BLM_RETURNV(bl_t, valid)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
leaq 0x15ed7a(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x10(%rbp)
leaq -0x40(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xbfe80
movq -0x48(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq $0x0, 0x10(%rax)
movb $0x0, -0x49(%rbp)
movq -0x8(%rbp), %rdi
callq 0x431f0
movq %rax, -0x58(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
movb $0x0, %al
callq 0xff2e0
movq -0x78(%rbp), %rdi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %esi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
callq 0xc01a0
movq %rax, -0x60(%rbp)
movq -0x8(%rbp), %rdi
leaq 0xe1050(%rip), %rsi     # 0x13467f
callq 0x44f40
testb $0x1, %al
jne 0x5363d
jmp 0x53710
movq -0x8(%rbp), %rdi
movq -0x60(%rbp), %rdx
leaq 0xec348(%rip), %rsi     # 0x13f994
movb $0x0, %al
callq 0x44f70
cmpq $0x0, %rax
je 0x53663
callq 0x9dda0
jmp 0x5370e
movq -0x60(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jbe 0x53696
movq -0x60(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x60(%rbp), %rcx
movq 0x10(%rcx), %rcx
subq $0x1, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
jne 0x53694
movq -0x60(%rbp), %rdi
callq 0xffd20
jmp 0x53696
movq -0x60(%rbp), %rdi
callq 0x53500
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
callq 0xa70a0
testb $0x1, %al
jne 0x536b2
jmp 0x536b8
movb $0x1, -0x49(%rbp)
jmp 0x5370c
movq -0x68(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq 0xec2d8(%rip), %rdi     # 0x13f99f
callq 0x45020
movq %rax, %rcx
movq -0x80(%rbp), %rax
cmpq %rcx, %rax
jne 0x536de
movb $0x1, -0x49(%rbp)
jmp 0x5370a
movq -0x68(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq 0xec2b5(%rip), %rdi     # 0x13f9a5
callq 0x45020
movq %rax, %rcx
movq -0x88(%rbp), %rax
cmpq %rcx, %rax
jne 0x53708
movb $0x1, -0x49(%rbp)
jmp 0x5370a
jmp 0x5370c
jmp 0x5370e
jmp 0x53710
movq -0x8(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x431c0
movb -0x49(%rbp), %al
andb $0x1, %al
movb %al, -0x69(%rbp)
movq -0x48(%rbp), %rdi
callq 0xc0720
movb -0x69(%rbp), %al
andb $0x1, %al
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_t_appears_valid
bl_t x_btml_t_appears_valid( tp_t type, x_source* source )
{
    // bcore_x_btml.h:234:1
    BLM_INIT_LEVEL(0);
    bl_t valid = false;
    sz_t index = x_source_get_index(source);
    st_s* type_string = ((st_s*)BLM_LEVEL_T_PUSH(0,st_s,st_s_create()));
    if( x_source_parse_bl(source," #?'<'" ) ) // type specifier
    {
        if( x_source_parse_fa(source,"#until'>'>", type_string ) )
        {
            bcore_error_remove_last();
        }
        else
        {
            if( x_btml_type_of(type_string ) == type ) valid = true;
        }
    }
    
    x_source_set_index(source,index );
    BLM_RETURNV(bl_t, valid)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0x15ebd6(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x18(%rbp)
leaq -0x48(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xbfe80
movq -0x50(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq $0x0, 0x10(%rax)
movb $0x0, -0x51(%rbp)
movq -0x10(%rbp), %rdi
callq 0x431f0
movq %rax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x78(%rbp)
movb $0x0, %al
callq 0xff2e0
movq -0x78(%rbp), %rdi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %esi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
callq 0xc01a0
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rdi
leaq 0xe0eac(%rip), %rsi     # 0x13467f
callq 0x44f40
testb $0x1, %al
jne 0x537de
jmp 0x53818
movq -0x10(%rbp), %rdi
movq -0x68(%rbp), %rdx
leaq 0xec1a7(%rip), %rsi     # 0x13f994
movb $0x0, %al
callq 0x44f70
cmpq $0x0, %rax
je 0x53801
callq 0x9dda0
jmp 0x53816
movq -0x68(%rbp), %rdi
callq 0x53500
cmpq -0x8(%rbp), %rax
jne 0x53814
movb $0x1, -0x51(%rbp)
jmp 0x53816
jmp 0x53818
movq -0x10(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x431c0
movb -0x51(%rbp), %al
andb $0x1, %al
movb %al, -0x69(%rbp)
movq -0x50(%rbp), %rdi
callq 0xc0720
movb -0x69(%rbp), %al
andb $0x1, %al
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)