LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_func_s_expand_forward
er_t xoico_func_s_expand_forward( const xoico_func_s* o, const xoico_host* host, sz_t indent, x_sink* sink )
{
    // xoico_func.x:251:1
    
    if( !o->expandable ) return  0;
    if( !o->declare_in_expand_forward ) return  0;
    
    xoico_compiler_s* compiler = xoico_host_a_compiler(host);
    x_sink_push_fa(sink," \\\n#rn{ }", indent );
    bl_t go_inline = o->body && o->body->go_inline;
    const xoico_signature_s* signature = o->signature;
    ASSERT( signature );
    if( go_inline )
    {
        x_sink_push_fa(sink,"static inline " );
        BLM_TRY(xoico_signature_s_expand_declaration(signature,host, xoico_compiler_s_nameof(compiler,o->global_name ), indent, sink ))
    }
    else
    {
        BLM_TRY(xoico_signature_s_expand_declaration(signature,host, xoico_compiler_s_nameof(compiler,o->global_name ), indent, sink ))
    }
    x_sink_push_fa(sink,";" );
    
    return  0;
}

// Assembly:
cmpb $0x1, 0x28(%rdi)
jne 0x1bd54
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r15
cmpb $0x1, 0x2a(%rdi)
jne 0x1bd46
movq %rcx, %rbx
movq %rdx, %r12
movq %rsi, %r14
movq (%rsi), %r13
leaq 0x183a8a(%rip), %rax    # 0x19f6a0
movl 0x183a84(%rip), %ecx    # 0x19f6a0
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r13, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r13, %rdx
je 0x1bc74
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r13, %rdx
je 0x1bc74
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r13, %rdx
je 0x1bc74
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r13, %rdx
jne 0x1bd57
movq (%rax,%rcx), %rbp
testq %rbp, %rbp
jne 0x1bca4
movabsq $-0x1e682f89ce03d7c8, %rdi # imm = 0xE197D07631FC2838
movq %r13, %rsi
callq 0xf3f85
movq %rax, %rbp
leaq 0x183a07(%rip), %rdi    # 0x19f6a0
movq %r13, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r14, %rdi
callq *0x20(%rbp)
movq %rax, %r13
leaq 0x11cac0(%rip), %rsi    # 0x138774
xorl %ebp, %ebp
movq %rbx, %rdi
movq %r12, %rdx
xorl %eax, %eax
callq 0xee2a
movq 0x38(%r15), %rax
testq %rax, %rax
je 0x1bcd0
movb 0x20(%rax), %bpl
movq 0x40(%r15), %r12
testq %r12, %r12
jne 0x1bd02
leaq 0x11c967(%rip), %rdi    # 0x138647
leaq 0x1228e8(%rip), %rsi    # 0x13e5cf
leaq 0x11ca90(%rip), %rdx    # 0x13877e
leaq 0x11c59b(%rip), %rcx    # 0x138290
movl $0x76c, %r8d            # imm = 0x76C
xorl %eax, %eax
callq 0xc8053
testb %bpl, %bpl
je 0x1bd18
leaq 0x11ca8c(%rip), %rsi    # 0x13879a
movq %rbx, %rdi
xorl %eax, %eax
callq 0xee2a
movq 0x10(%r15), %rsi
movq %r13, %rdi
callq 0xe39f
movq %r12, %rdi
movq %r14, %rsi
movq %rax, %rdx
movq %rbx, %r8
callq 0x15d34
leaq 0x120b8c(%rip), %rsi    # 0x13c8c8
movq %rbx, %rdi
xorl %eax, %eax
callq 0xee2a
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
xorl %eax, %eax
retq
xorl %ebp, %ebp
jmp 0x1bc78
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_func_s_expand_init1
er_t xoico_func_s_expand_init1( const xoico_func_s* o, const xoico_host* host, sz_t indent, x_sink* sink )
{
    // xoico_func.x:327:1
    
    if( !o->expandable ) return  0;
    if( !o->register_in_function_manager ) return  0;
    
    sc_t sc_global_name = xoico_compiler_s_nameof(xoico_host_a_compiler(host),o->global_name );
    
    x_sink_push_fa(sink,"#rn{ }BCORE_REGISTER_FUNC( #<sc_t> );\n",
        indent,
        sc_global_name
    );
    
    return  0;
}

// Assembly:
cmpb $0x1, 0x28(%rdi)
jne 0x1c232
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r15
cmpb $0x1, 0x2b(%rdi)
jne 0x1c224
movq %rcx, %r14
movq %rdx, %rbx
movq %rsi, %r12
movq (%rsi), %r13
leaq 0x18352f(%rip), %rax    # 0x19f6a0
movl 0x183529(%rip), %ecx    # 0x19f6a0
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r13, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r13, %rdx
je 0x1c1cb
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r13, %rdx
je 0x1c1cb
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r13, %rdx
je 0x1c1cb
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r13, %rdx
jne 0x1c235
movq (%rax,%rcx), %rbp
testq %rbp, %rbp
jne 0x1c1fb
movabsq $-0x1e682f89ce03d7c8, %rdi # imm = 0xE197D07631FC2838
movq %r13, %rsi
callq 0xf3f85
movq %rax, %rbp
leaq 0x1834b0(%rip), %rdi    # 0x19f6a0
movq %r13, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r12, %rdi
callq *0x20(%rbp)
movq 0x10(%r15), %rsi
movq %rax, %rdi
callq 0xe39f
leaq 0x11c5d4(%rip), %rsi    # 0x1387e8
movq %r14, %rdi
movq %rbx, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0xee2a
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
xorl %eax, %eax
retq
xorl %ebp, %ebp
jmp 0x1c1cf
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_funcs_s_replace_d
er_t xoico_funcs_s_replace_d( xoico_funcs_s* o, sz_t idx, xoico_func_s* func )
{
    // xoico_funcs.x:68:5
    
    ASSERT( idx >= 0 && idx < o->size );
    xoico_func_s_attach( &(o->data[ idx ] ),  NULL);
    for(sz_t i = idx + 1; i < o->size; i++ ) o->data[ i - 1 ] = o->data[ i ];
    o->data[ o->size - 1 ] = func;
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r14
testq %rsi, %rsi
js 0x1c895
cmpq %r15, 0x10(%r14)
ja 0x1c8be
leaq 0x11bdab(%rip), %rdi    # 0x138647
leaq 0x11bf6c(%rip), %rsi    # 0x13880f
leaq 0x11bf7f(%rip), %rdx    # 0x138829
leaq 0x11b9df(%rip), %rcx    # 0x138290
movl $0x803, %r8d            # imm = 0x803
xorl %eax, %eax
callq 0xc8053
movq 0x8(%r14), %r12
testq %r12, %r12
je 0x1c8e7
movq (%r12,%r15,8), %rdi
callq 0x19d2c
movq $0x0, (%r12,%r15,8)
jmp 0x1c8e7
movq 0x8(%r14), %rax
movq (%rax,%r15,8), %rcx
movq %rcx, -0x8(%rax,%r15,8)
incq %r15
movq 0x10(%r14), %rax
cmpq %rax, %r15
jb 0x1c8da
movq 0x8(%r14), %rcx
movq %rbx, -0x8(%rcx,%rax,8)
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_feature_s_expand_indef_typedef
er_t xoico_feature_s_expand_indef_typedef( const xoico_feature_s* o, const xoico_host* host, sz_t indent, x_sink* sink )
{
    // xoico_feature.x:412:1
    
    if( !o->expandable ) return  0;
    xoico_compiler_s* compiler = xoico_host_a_compiler(host);
    x_sink_push_fa(sink," \\\n#rn{ }  typedef ", indent );
    BLM_TRY(xoico_signature_s_expand_ret(&(o->signature),host, sink ))
    x_sink_push_fa(sink," (*#<sc_t>)(", xoico_compiler_s_nameof(compiler,o->function_pointer_name ) );
    BLM_TRY(xoico_arg_s_expand(o->signature.arg_o,host, sink ))
    BLM_TRY(xoico_args_s_expand(&(o->signature.args),host, false, sink ))
    x_sink_push_fa(sink," );" );
    return  0;
}

// Assembly:
cmpb $0x1, 0x115(%rdi)
jne 0x1e983
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %rbx
movq %rdx, %r12
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %r13
leaq 0x180e3c(%rip), %rax    # 0x19f6a0
movl 0x180e36(%rip), %ecx    # 0x19f6a0
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r13, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r13, %rdx
je 0x1e8c2
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r13, %rdx
je 0x1e8c2
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r13, %rdx
je 0x1e8c2
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r13, %rdx
jne 0x1e986
movq (%rax,%rcx), %rbp
testq %rbp, %rbp
jne 0x1e8f2
movabsq $-0x1e682f89ce03d7c8, %rdi # imm = 0xE197D07631FC2838
movq %r13, %rsi
callq 0xf3f85
movq %rax, %rbp
leaq 0x180db9(%rip), %rdi    # 0x19f6a0
movq %r13, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r14, %rdi
callq *0x20(%rbp)
movq %rax, %r13
leaq 0x11a41a(%rip), %rsi    # 0x138d1c
movq %rbx, %rdi
movq %r12, %rdx
xorl %eax, %eax
callq 0xee2a
leaq 0x28(%r15), %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x11a04
movq 0xe0(%r15), %rsi
movq %r13, %rdi
callq 0xe39f
leaq 0x11a3fc(%rip), %rsi    # 0x138d30
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xee2a
movq 0x58(%r15), %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x137cb
addq $0x60, %r15
movq %r15, %rdi
movq %r14, %rsi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x1433d
leaq 0x12fdf4(%rip), %rsi    # 0x14e75f
movq %rbx, %rdi
xorl %eax, %eax
callq 0xee2a
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
xorl %eax, %eax
retq
xorl %ebp, %ebp
jmp 0x1e8c6
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_feature_s_expand_spect_declaration
er_t xoico_feature_s_expand_spect_declaration( const xoico_feature_s* o, const xoico_host* host, sz_t indent, x_sink* sink )
{
    // xoico_feature.x:427:1
    
    if( !o->expandable ) return  0;
    xoico_compiler_s* compiler = xoico_host_a_compiler(host);
    x_sink_push_fa(sink," \\\n#rn{ }#<sc_t> #<sc_t>;", indent, xoico_compiler_s_nameof(compiler,o->function_pointer_name ), xoico_compiler_s_nameof(compiler,o->signature.name ) );
    return  0;
}

// Assembly:
cmpb $0x1, 0x115(%rdi)
jne 0x1ea98
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r14
movq %rdx, %rbx
movq %rsi, %r12
movq %rdi, %r15
movq (%rsi), %r13
leaq 0x180ce5(%rip), %rax    # 0x19f6a0
movl 0x180cdf(%rip), %ecx    # 0x19f6a0
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r13, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r13, %rdx
je 0x1ea19
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r13, %rdx
je 0x1ea19
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r13, %rdx
je 0x1ea19
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r13, %rdx
jne 0x1ea9b
movq (%rax,%rcx), %rbp
testq %rbp, %rbp
jne 0x1ea49
movabsq $-0x1e682f89ce03d7c8, %rdi # imm = 0xE197D07631FC2838
movq %r13, %rsi
callq 0xf3f85
movq %rax, %rbp
leaq 0x180c62(%rip), %rdi    # 0x19f6a0
movq %r13, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r12, %rdi
callq *0x20(%rbp)
movq %rax, %r12
movq 0xe0(%r15), %rsi
movq %rax, %rdi
callq 0xe39f
movq %rax, %r13
movq 0x10(%r15), %rsi
movq %r12, %rdi
callq 0xe39f
leaq 0x11a2c6(%rip), %rsi    # 0x138d3d
movq %r14, %rdi
movq %rbx, %rdx
movq %r13, %rcx
movq %rax, %r8
xorl %eax, %eax
callq 0xee2a
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
xorl %eax, %eax
retq
xorl %ebp, %ebp
jmp 0x1ea1d
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_feature_s_expand_indef_declaration
er_t xoico_feature_s_expand_indef_declaration( const xoico_feature_s* o, const xoico_host* host, sz_t indent, x_sink* sink )
{
    // xoico_feature.x:458:1
    
    if( !o->expandable ) return  0;
    {const xoico_funcs_s* __a=&(o->funcs );if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_func_s* func=__a->data[__i]; BLM_TRY(xoico_func_s_expand_declaration(func,host, indent + 2, sink ))
    }}return  0;
}

// Assembly:
cmpb $0x1, 0x115(%rdi)
jne 0x1ee41
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r12
cmpq $0x0, 0xb0(%rdi)
je 0x1ee3d
movq %rcx, %rbx
movq %rdx, %r14
movq %rsi, %r15
addq $0x2, %r14
xorl %r13d, %r13d
movq 0xa8(%r12), %rax
movq (%rax,%r13,8), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1bd5e
movq %rax, %rbp
testq %rax, %rax
je 0x1ee2b
leaq 0x189fb1(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %rbp, (%rsp)
testq %rbp, %rbp
jne 0x1ee44
incq %r13
cmpq 0xb0(%r12), %r13
jb 0x1edf6
xorl %eax, %eax
jmp 0x1ee48
xorl %eax, %eax
retq
movq (%rsp), %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_feature_s_expand_definition
er_t xoico_feature_s_expand_definition( const xoico_feature_s* o, const xoico_host* host, sz_t indent, x_sink* sink )
{
    // xoico_feature.x:467:1
    
    if( !o->expandable ) return  0;
    {const xoico_funcs_s* __a=&(o->funcs );if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_func_s* func=__a->data[__i]; BLM_TRY(xoico_func_s_expand_definition(func,host, indent, sink ))
    }}return  0;
}

// Assembly:
cmpb $0x1, 0x115(%rdi)
jne 0x1eecf
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r12
cmpq $0x0, 0xb0(%rdi)
je 0x1eecb
movq %rcx, %rbx
movq %rdx, %r14
movq %rsi, %r15
xorl %r13d, %r13d
movq 0xa8(%r12), %rax
movq (%rax,%r13,8), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1bf6d
movq %rax, %rbp
testq %rax, %rax
je 0x1eeb9
leaq 0x189f23(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %rbp, (%rsp)
testq %rbp, %rbp
jne 0x1eed2
incq %r13
cmpq 0xb0(%r12), %r13
jb 0x1ee84
xorl %eax, %eax
jmp 0x1eed6
xorl %eax, %eax
retq
movq (%rsp), %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_embedded_data_s_get_hash
tp_t xoico_embedded_data_s_get_hash( const xoico_embedded_data_s* o )
{
    // xoico_embedded_data.x:69:5
    
    tp_t hash = bcore_tp_fold_tp( bcore_tp_init(), o->_ );
    hash = bcore_tp_fold_tp( hash, o->embed_method );
    hash = bcore_tp_fold_tp( hash, o->function_name );
    for(sz_t i = 0; i < o->arr->size; i++ ) hash = bcore_tp_fold_tp( hash, o->arr->data[ i ] );
    return  hash;
}

// Assembly:
movq (%rdi), %r8
movq 0x10(%rdi), %rax
movl $0xff, %edx
movq %r8, %rcx
andq %rdx, %rcx
movabsq $-0x340d631b7bdddcdb, %r9 # imm = 0xCBF29CE484222325
xorq %rcx, %r9
movabsq $0x100000001b3, %rcx    # imm = 0x100000001B3
imulq %rcx, %r9
movl %r8d, %r10d
shrl $0x8, %r10d
movl $0xff, %esi
andl %esi, %r10d
xorq %r9, %r10
imulq %rcx, %r10
movl %r8d, %r9d
shrl $0x10, %r9d
andl %esi, %r9d
xorq %r10, %r9
imulq %rcx, %r9
movl %r8d, %r10d
shrl $0x18, %r10d
xorq %r9, %r10
imulq %rcx, %r10
movq %r8, %r9
shrq $0x20, %r9
andq %rdx, %r9
xorq %r10, %r9
imulq %rcx, %r9
movq %r8, %r10
shrq $0x28, %r10
andq %rdx, %r10
xorq %r9, %r10
imulq %rcx, %r10
movq %r8, %r9
shrq $0x30, %r9
andq %rdx, %r9
xorq %r10, %r9
imulq %rcx, %r9
shrq $0x38, %r8
xorq %r9, %r8
imulq %rcx, %r8
movq 0x18(%rdi), %r9
movq %r9, %r10
andq %rdx, %r10
xorq %r8, %r10
imulq %rcx, %r10
movl %r9d, %r8d
shrl $0x8, %r8d
andl %esi, %r8d
xorq %r10, %r8
imulq %rcx, %r8
movl %r9d, %r10d
shrl $0x10, %r10d
andl %esi, %r10d
xorq %r8, %r10
imulq %rcx, %r10
movl %r9d, %r8d
shrl $0x18, %r8d
xorq %r10, %r8
imulq %rcx, %r8
movq %r9, %r10
shrq $0x20, %r10
andq %rdx, %r10
xorq %r8, %r10
imulq %rcx, %r10
movq %r9, %r8
shrq $0x28, %r8
andq %rdx, %r8
xorq %r10, %r8
imulq %rcx, %r8
movq %r9, %r10
shrq $0x30, %r10
andq %rdx, %r10
xorq %r8, %r10
imulq %rcx, %r10
shrq $0x38, %r9
xorq %r10, %r9
imulq %rcx, %r9
movq 0x20(%rdi), %rdi
movq %rdi, %r8
andq %rdx, %r8
xorq %r9, %r8
imulq %rcx, %r8
movl %edi, %r9d
shrl $0x8, %r9d
andl %esi, %r9d
xorq %r8, %r9
imulq %rcx, %r9
movl %edi, %r8d
shrl $0x10, %r8d
andl %esi, %r8d
xorq %r9, %r8
imulq %rcx, %r8
movl %edi, %esi
shrl $0x18, %esi
xorq %r8, %rsi
imulq %rcx, %rsi
movq %rdi, %r8
shrq $0x20, %r8
andq %rdx, %r8
xorq %rsi, %r8
imulq %rcx, %r8
movq %rdi, %rsi
shrq $0x28, %rsi
andq %rdx, %rsi
xorq %r8, %rsi
imulq %rcx, %rsi
movq %rdi, %r8
shrq $0x30, %r8
andq %rdx, %r8
xorq %rsi, %r8
imulq %rcx, %r8
shrq $0x38, %rdi
xorq %r8, %rdi
movq 0x10(%rax), %rdx
imulq %rcx, %rdi
testq %rdx, %rdx
je 0x205f5
movq 0x8(%rax), %rcx
xorl %esi, %esi
movabsq $0x1efac7090aef4a21, %r8 # imm = 0x1EFAC7090AEF4A21
movzbl (%rcx,%rsi), %eax
xorq %rdi, %rax
imulq %r8, %rax
incq %rsi
movq %rax, %rdi
cmpq %rsi, %rdx
jne 0x205de
retq
movq %rdi, %rax
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_group_s_get_traitline_feature_from_name
const xoico_feature_s* xoico_group_s_get_traitline_feature_from_name( const xoico_group_s* o, tp_t name )
{
    // xoico_group.x:158:5
    
    if( !o ) return  NULL;
    const xoico_feature_s** p_feature = ( const xoico_feature_s** )bcore_hmap_tpvd_s_get(&(o->hmap_feature),name );
    return  p_feature ? *p_feature : xoico_group_s_get_traitline_feature_from_name(xoico_group_s_get_trait_group(o),name );
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %r14
xorl %ebx, %ebx
testq %rdi, %rdi
je 0x2168a
movq %rdi, %r15
addq $0x150, %rdi            # imm = 0x150
movq %r14, %rsi
callq 0xd4806
testq %rax, %rax
jne 0x21687
movq 0xb0(%r15), %rsi
movl $0x0, %edi
cmpq 0xa8(%r15), %rsi
je 0x21637
movq 0x140(%r15), %rdi
addq $0x50, %rdi
callq 0xd4806
movl $0x0, %edi
testq %rax, %rax
je 0x21637
movq (%rax), %rdi
jmp 0x21637
movq (%rax), %rbx
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_group_s_get_traitline_func_from_name
const xoico_func_s* xoico_group_s_get_traitline_func_from_name( const xoico_group_s* o, tp_t name )
{
    // xoico_group.x:165:5
    
    if( !o ) return  NULL;
    const xoico_func_s** p_func = ( const xoico_func_s** )bcore_hmap_tpvd_s_get(&(o->hmap_func),name );
    return  p_func ? *p_func : xoico_group_s_get_traitline_func_from_name(xoico_group_s_get_trait_group(o),name );
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %r14
xorl %ebx, %ebx
testq %rdi, %rdi
je 0x216f0
movq %rdi, %r15
addq $0x178, %rdi            # imm = 0x178
movq %r14, %rsi
callq 0xd4806
testq %rax, %rax
jne 0x216ed
movq 0xb0(%r15), %rsi
movl $0x0, %edi
cmpq 0xa8(%r15), %rsi
je 0x2169d
movq 0x140(%r15), %rdi
addq $0x50, %rdi
callq 0xd4806
movl $0x0, %edi
testq %rax, %rax
je 0x2169d
movq (%rax), %rdi
jmp 0x2169d
movq (%rax), %rbx
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_group_s_get_traitline_member_func_from_name
const xoico_func_s* xoico_group_s_get_traitline_member_func_from_name( const xoico_group_s* o, tp_t name )
{
    // xoico_group.x:172:5
    
    if( !o ) return  NULL;
    const xoico_func_s** p_func = ( const xoico_func_s** )bcore_hmap_tpvd_s_get(&(o->hmap_func),name );
    if( p_func && xoico_func_s_as_member(*(p_func)) ) return  (*(p_func));
    return  xoico_group_s_get_traitline_member_func_from_name(xoico_group_s_get_trait_group(o),name );
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
testq %rdi, %rdi
je 0x21763
movq %rdi, %r14
addq $0x178, %rdi            # imm = 0x178
movq %rbx, %rsi
callq 0xd4806
testq %rax, %rax
je 0x2172f
movq (%rax), %rax
movq 0x40(%rax), %rcx
testq %rcx, %rcx
je 0x2172f
cmpq $0x0, 0x50(%rcx)
jne 0x21765
movq 0xb0(%r14), %rsi
movl $0x0, %edi
cmpq 0xa8(%r14), %rsi
je 0x21700
movq 0x140(%r14), %rdi
addq $0x50, %rdi
callq 0xd4806
movl $0x0, %edi
testq %rax, %rax
je 0x21700
movq (%rax), %rdi
jmp 0x21700
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_group_s_parse_name_recursive
er_t xoico_group_s_parse_name_recursive( const xoico_group_s* o, x_source* source, st_s* name )
{
    // xoico_group.x:281:1
    
    if( x_source_parse_bl(source,"#?':'" ) )
    {
        if( o->lexical_parent )
        {
            BLM_TRY(xoico_group_s_parse_name_recursive(o->lexical_parent,source, name ))
        }
        else
        {
            return  x_source_parse_error_fa(source,"Too many colons: Namespace depth exceeded." );
        }
    }
    else
    {BLM_INIT_LEVEL(1);
        st_s_copy(name,&(o->st_name ));
        st_s* s = ((st_s*)BLM_LEVEL_T_PUSH(1,st_s,st_s_create()));
        BLM_TRY(x_source_parse_fa(source,"#name", s ))
        if( s->size > 0 ) st_s_push_fa(name,"_#<sc_t>", s->sc );
    BLM_DOWN();}
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x40, %rsp
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %r12
leaq 0x187fc9(%rip), %rax    # 0x1a9cc8
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r12, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x21d59
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x21d59
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x21d59
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x21eb9
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x21d89
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r12, %rsi
callq 0xf3f85
movq %rax, %r13
leaq 0x187f4a(%rip), %rdi    # 0x1a9cc8
movq %r12, %rsi
movq %rax, %rdx
callq 0x12128c
leaq 0x1171ee(%rip), %rdx    # 0x138f7e
movq %r13, %rdi
movq %r14, %rsi
callq 0x10aa16
testb %al, %al
je 0x21dd7
movq 0x20(%r15), %rdi
testq %rdi, %rdi
je 0x21e5c
movq %r14, %rsi
movq %rbx, %rdx
callq 0x21cdf
testq %rax, %rax
je 0x21ea5
movq %rax, %r14
leaq 0x187006(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
jmp 0x21ea8
leaq 0x186ff2(%rip), %rax    # 0x1a8dd0
movq (%rax), %rsi
leaq 0x10(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xe0431
movq 0x8(%rsp), %r12
movq $0x1, 0x10(%r12)
addq $0x88, %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0x114440
xorl %eax, %eax
callq 0x114bbb
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
movl $0x1, %esi
movq %r12, %rdi
movq %rax, %rcx
callq 0xe0676
movq %rax, %r15
leaq 0x12d448(%rip), %rsi    # 0x14f283
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xda10
movq %rax, %r14
testq %rax, %rax
je 0x21e7a
movq 0x8(%rsp), %rdi
callq 0xe0b30
jmp 0x21ea0
leaq 0x1170ef(%rip), %rsi    # 0x138f52
movq %r14, %rdi
xorl %eax, %eax
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
jmp 0xddb2
cmpq $0x0, 0x10(%r15)
je 0x21e96
movq 0x8(%r15), %rdx
leaq 0x116ef7(%rip), %rsi    # 0x138d83
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1157cb
leaq 0x8(%rsp), %rdi
callq 0xe0b11
testq %r14, %r14
jne 0x21ea8
xorl %r14d, %r14d
movq %r14, %rax
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
xorl %r13d, %r13d
jmp 0x21d5d
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_group_s_parse_name_st
er_t xoico_group_s_parse_name_st( const xoico_group_s* o, x_source* source, st_s* name )
{
    // xoico_group.x:306:1
    
    if( x_source_parse_bl(source," #?':'" ) )
    {
        BLM_TRY(xoico_group_s_parse_name_recursive(o,source, name ))
    }
    else
    {
        BLM_TRY(x_source_parse_fa(source," #name", name ))
    }
    
    if( name->size > 0 ) xoico_compiler_s_entypeof(o->compiler,name->sc );
    
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
movq (%rsi), %r12
leaq 0x187deb(%rip), %rax    # 0x1a9cc8
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r12, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x21f37
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x21f37
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x21f37
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x21fe6
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x21f67
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r12, %rsi
callq 0xf3f85
movq %rax, %r13
leaq 0x187d6c(%rip), %rdi    # 0x1a9cc8
movq %r12, %rsi
movq %rax, %rdx
callq 0x12128c
leaq 0x11700f(%rip), %rdx    # 0x138f7d
movq %r13, %rdi
movq %r15, %rsi
callq 0x10aa16
testb %al, %al
je 0x21f8d
movq %rbx, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x21cdf
jmp 0x21fa1
leaq 0x12d2ee(%rip), %rsi    # 0x14f282
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0xda10
testq %rax, %rax
je 0x21fba
movq %rax, %r15
leaq 0x186e20(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
jmp 0x21fd9
cmpq $0x0, 0x10(%r14)
je 0x21fd6
movq 0x8(%r14), %rsi
movl $0x140, %edi            # imm = 0x140
addq 0x140(%rbx), %rdi
callq 0xddb52
xorl %r15d, %r15d
movq %r15, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
xorl %r13d, %r13d
jmp 0x21f3b
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_group_s_parse_name_tp
er_t xoico_group_s_parse_name_tp( const xoico_group_s* o, x_source* source, tp_t* name )
{
    // xoico_group.x:324:1
    BLM_INIT_LEVEL(0);
    st_s* s = ((st_s*)BLM_LEVEL_T_PUSH(0,st_s,st_s_create()));
    
    if( x_source_parse_bl(source," #?':'" ) )
    {
        BLM_TRY(xoico_group_s_parse_name_recursive(o,source, s ))
    }
    else
    {
        BLM_TRY(x_source_parse_fa(source," #name", s ))
    }
    
    if( s->size == 0 ) BLM_TRY(x_source_parse_error_fa(source,"Identifier expected." ))
    
    if( (name) ) (*(name)) = xoico_compiler_s_entypeof(o->compiler,s->sc );
    
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdx, %rbx
movq %rsi, %r12
movq %rdi, %r14
leaq 0x186dc4(%rip), %rax    # 0x1a8dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0xe0431
movq $0x0, 0x10(%r15)
xorl %eax, %eax
callq 0x114bbb
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xe0676
movq %rax, %r15
movq (%r12), %r13
leaq 0x187c78(%rip), %rax    # 0x1a9cc8
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r13, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r13, %rdx
je 0x220aa
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r13, %rdx
je 0x220aa
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r13, %rdx
je 0x220aa
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r13, %rdx
jne 0x2218c
movq (%rax,%rcx), %rbp
testq %rbp, %rbp
jne 0x220da
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r13, %rsi
callq 0xf3f85
movq %rax, %rbp
leaq 0x187bf9(%rip), %rdi    # 0x1a9cc8
movq %r13, %rsi
movq %rax, %rdx
callq 0x12128c
leaq 0x116e9c(%rip), %rdx    # 0x138f7d
movq %rbp, %rdi
movq %r12, %rsi
callq 0x10aa16
testb %al, %al
je 0x22100
movq %r14, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x21cdf
jmp 0x22114
leaq 0x12d17b(%rip), %rsi    # 0x14f282
movq %r12, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0xda10
movq %rax, %r13
testq %rax, %rax
jne 0x22143
cmpq $0x0, 0x10(%r15)
je 0x2215f
testq %rbx, %rbx
je 0x22140
movq 0x8(%r15), %rsi
movl $0x140, %edi            # imm = 0x140
addq 0x140(%r14), %rdi
callq 0xddb52
movq %rax, (%rbx)
xorl %r13d, %r13d
leaq 0x8(%rsp), %rdi
callq 0xe0b30
movq %r13, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x116064(%rip), %rsi    # 0x1381ca
movq %r12, %rdi
xorl %eax, %eax
callq 0xddb2
movq %rax, %r12
testq %rax, %rax
je 0x22185
leaq 0x8(%rsp), %rdi
callq 0xe0b30
movq %r12, %r13
testq %r12, %r12
jne 0x2214d
jmp 0x22123
xorl %ebp, %ebp
jmp 0x220ae
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_group_s_push_inexpandable_func_from_sc
er_t xoico_group_s_push_inexpandable_func_from_sc( xoico_group_s* o, sc_t sc )
{
    // xoico_group.x:367:1
    BLM_INIT_LEVEL(0);
    xoico_func_s* func = ((xoico_func_s*)BLM_LEVEL_T_PUSH(0,xoico_func_s,xoico_func_s_create()));
    func->expandable = false;
    BLM_TRY(xoico_func_s_parse(func,((const xoico_host*)(o)), ((x_source*)BLM_LEVEL_A_PUSH(0,x_source_create_from_sc(sc ))) ))
    BLM_TRY(xoico_group_s_push_func_d(o,((xoico_func_s*)bcore_fork(func)) ))
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x186962(%rip), %rax    # 0x1a8dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %r12
movq %r12, %rdi
callq 0xe0431
movq $0x0, 0x10(%r12)
callq 0x19c7d
movabsq $-0x58b74b3ddbc4f8b6, %rdx # imm = 0xA748B4C2243B074A
movq %r12, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xe0676
movq %rax, %r15
movb $0x0, 0x28(%rax)
movq %r14, %rdi
callq 0xee802
movq %r12, %rdi
xorl %esi, %esi
movq %rax, %rdx
callq 0xe0900
movq %r15, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x1a60a
movq %rax, %r14
testq %rax, %rax
je 0x224e1
leaq 0x8(%rsp), %rdi
callq 0xe0b30
jmp 0x2250e
movq %r15, %rdi
callq 0xc8348
movq %rbx, %rdi
movq %rax, %rsi
callq 0x22522
movq %rax, %rbx
testq %rax, %rax
je 0x22509
leaq 0x8(%rsp), %rdi
callq 0xe0b30
movq %rbx, %r14
testq %rbx, %rbx
je 0x2251d
movq %r14, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
xorl %r14d, %r14d
jmp 0x224d5
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_group_s_push_func_d
er_t xoico_group_s_push_func_d( xoico_group_s* o, xoico_func_s* func )
{
    // xoico_group.x:415:1
    
    sz_t idx = xoico_funcs_s_get_index_from_name(&(o->funcs),func->name );
    
    xoico_compiler_s* compiler = o->compiler;
    
    if( idx >= 0 )
    {
        xoico_func_s* prex_func = o->funcs.data[ idx ];
        if( ( prex_func->signature_global_name == func->signature_global_name ) )
        {
            if( !func->body )
            {
                return  x_source_point_s_parse_error_fa(&(func->source_point),"Function '#<sc_t>' has already been declared.", xoico_compiler_s_nameof(compiler,func->name ) );
            }
            else if( prex_func->body )
            {
                return  x_source_point_s_parse_error_fa(&(func->source_point),"Function '#<sc_t>' has already a body.", xoico_compiler_s_nameof(compiler,func->name ) );
            }
            else
            {
                BLM_TRY(xoico_funcs_s_replace_d(&(o->funcs),idx, func ))
            }
        }
        else
        {
            return  x_source_point_s_parse_error_fa(&(func->source_point),"Function '#<sc_t>' has already been declared.", xoico_compiler_s_nameof(compiler,func->name ) );
        }
    }
    else
    {
        x_array_push_d(((x_array*)(&(o->funcs))),((x_inst*)(func )));
    }
    
    return  0;
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq 0x8(%rsi), %rsi
movq 0x128(%rdi), %rax
testq %rax, %rax
je 0x2254c
movq 0x120(%rdi), %rdx
movq (%rdx), %rcx
cmpq %rsi, 0x8(%rcx)
jne 0x22555
xorl %eax, %eax
jmp 0x22585
movq $-0x1, %rax
jmp 0x22585
movl $0x1, %r9d
xorl %ecx, %ecx
movq %r9, %r8
cmpq %r9, %rax
je 0x22577
movq (%rdx,%r8,8), %r10
leaq 0x1(%r8), %r9
cmpq %rsi, 0x8(%r10)
cmoveq %r8, %rcx
jne 0x2255d
cmpq %rax, %r8
movq $-0x1, %rax
cmovbq %rcx, %rax
leaq 0x118(%rdi), %rdx
testq %rax, %rax
js 0x225f9
movq 0x140(%rdi), %rcx
movq 0x120(%rdi), %rdi
movq (%rdi,%rax,8), %rdi
movq 0x20(%rdi), %r8
cmpq 0x20(%rbx), %r8
jne 0x225d0
cmpq $0x0, 0x38(%rbx)
je 0x225d0
cmpq $0x0, 0x38(%rdi)
je 0x22610
addq $0x48, %rbx
movq %rcx, %rdi
callq 0xe39f
leaq 0x1169e4(%rip), %rsi    # 0x138fb2
jmp 0x225e3
addq $0x48, %rbx
movq %rcx, %rdi
callq 0xe39f
leaq 0x1169a1(%rip), %rsi    # 0x138f84
xorl %ebp, %ebp
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x13591
testb %bpl, %bpl
jne 0x22607
jmp 0x22609
movq (%rdx), %rsi
movq %rdx, %rdi
movq %rbx, %rdx
callq 0x5b3a7
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
movq %rdx, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x1c879
movb $0x1, %bpl
xorl %eax, %eax
jmp 0x225f2
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_group_s_push_func_from_sc
er_t xoico_group_s_push_func_from_sc( xoico_group_s* o, sc_t sc )
{
    // xoico_group.x:378:1
    BLM_INIT_LEVEL(0);
    xoico_func_s* func = ((xoico_func_s*)BLM_LEVEL_T_PUSH(0,xoico_func_s,xoico_func_s_create()));
    func->expandable = true;
    BLM_TRY(xoico_func_s_parse(func,((const xoico_host*)(o)), ((x_source*)BLM_LEVEL_A_PUSH(0,x_source_create_from_sc(sc ))) ))
    BLM_TRY(xoico_group_s_push_func_d(o,((xoico_func_s*)bcore_fork(func)) ))
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x186793(%rip), %rax    # 0x1a8dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %r12
movq %r12, %rdi
callq 0xe0431
movq $0x0, 0x10(%r12)
callq 0x19c7d
movabsq $-0x58b74b3ddbc4f8b6, %rdx # imm = 0xA748B4C2243B074A
movq %r12, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xe0676
movq %rax, %r15
movb $0x1, 0x28(%rax)
movq %r14, %rdi
callq 0xee802
movq %r12, %rdi
xorl %esi, %esi
movq %rax, %rdx
callq 0xe0900
movq %r15, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x1a60a
movq %rax, %r14
testq %rax, %rax
je 0x226b0
leaq 0x8(%rsp), %rdi
callq 0xe0b30
jmp 0x226dd
movq %r15, %rdi
callq 0xc8348
movq %rbx, %rdi
movq %rax, %rsi
callq 0x22522
movq %rax, %rbx
testq %rax, %rax
je 0x226d8
leaq 0x8(%rsp), %rdi
callq 0xe0b30
movq %rbx, %r14
testq %rbx, %rbx
je 0x226ec
movq %r14, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
xorl %r14d, %r14d
jmp 0x226a4
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_group_s_parse_func
er_t xoico_group_s_parse_func( xoico_group_s* o, x_source* source, bl_t register_in_function_manager )
{
    // xoico_group.x:389:1
    BLM_INIT_LEVEL(0);
    xoico_func_s* func = ((xoico_func_s*)BLM_LEVEL_T_PUSH(0,xoico_func_s,xoico_func_s_create()));
    BLM_TRY(xoico_func_s_parse(func,((const xoico_host*)(o)), source ))
    func->register_in_function_manager = register_in_function_manager;
    
    if( func->name == ((tp_t)(TYPEOF_group_signal_init1)) )
    {
        o->defines_group_signal_init1 = true;
    }
    
    if( func->name == ((tp_t)(TYPEOF_group_signal_down1)) )
    {
        o->defines_group_signal_down1 = true;
    }
    
    BLM_TRY(xoico_group_s_push_func_d(o,((xoico_func_s*)bcore_fork(func)) ))
    if( func->signature_global_name == ((tp_t)(TYPEOF_x_inst_main)) || func->signature_global_name == ((tp_t)(TYPEOF_x_inst_main_c)) )
    {
        BLM_TRY(xoico_target_s_set_main_function(o->xoico_source->target,func ))
    }
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x1866c4(%rip), %rax    # 0x1a8dd0
movq (%rax), %rsi
movq %rsp, %r15
movq %r15, %rdi
callq 0xe0431
movq $0x0, 0x10(%r15)
callq 0x19c7d
movabsq $-0x58b74b3ddbc4f8b6, %rdx # imm = 0xA748B4C2243B074A
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xe0676
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1a60a
movq %rax, %rbx
testq %rax, %rax
je 0x22761
movq %rsp, %rdi
callq 0xe0b30
jmp 0x227c4
movb %bpl, 0x2b(%r15)
movq 0x8(%r15), %rax
movabsq $-0x548727f5f9a4038b, %rcx # imm = 0xAB78D80A065BFC75
cmpq %rcx, %rax
je 0x22791
movabsq $-0xaafc4c24e667991, %rcx # imm = 0xF5503B3DB199866F
cmpq %rcx, %rax
jne 0x22799
movb $0x1, 0xd9(%r14)
jmp 0x22799
movb $0x1, 0xda(%r14)
movq %r15, %rdi
callq 0xc8348
movq %r14, %rdi
movq %rax, %rsi
callq 0x22522
movq %rax, %r12
testq %rax, %rax
je 0x227bf
movq %rsp, %rdi
callq 0xe0b30
movq %r12, %rbx
testq %r12, %r12
je 0x227d4
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq 0x20(%r15), %rax
movabsq $0x242b13df94fa288, %rcx # imm = 0x242B13DF94FA288
cmpq %rcx, %rax
je 0x227f6
movabsq $-0x7a452b622f2c7b3e, %rcx # imm = 0x85BAD49DD0D384C2
cmpq %rcx, %rax
jne 0x22858
movq 0x138(%r14), %rax
movq 0x90(%rax), %rax
movq 0x138(%rax), %rcx
cmpb $0x1, 0x170(%rcx)
jne 0x2282e
addq $0x48, %r15
leaq 0x117b41(%rip), %rsi    # 0x13a360
movq %r15, %rdi
xorl %eax, %eax
callq 0x13591
movq %rax, %r14
jmp 0x2283f
movb $0x1, 0x170(%rcx)
movq %r15, 0x140(%rax)
xorl %r14d, %r14d
testq %r14, %r14
je 0x2284f
movq %rsp, %rdi
callq 0xe0b30
movq %r14, %rbx
testq %r14, %r14
jne 0x227c4
xorl %ebx, %ebx
jmp 0x22757
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_stamp_s_push_inexpandable_funcs
er_t xoico_stamp_s_push_inexpandable_funcs( xoico_stamp_s* o )
{
    // xoico_stamp.x:602:1
    
    BLM_TRY(xoico_stamp_s_push_inexpandable_func_from_sc(o,"bcore_stamp_funcs.init;" ))
    BLM_TRY(xoico_stamp_s_push_inexpandable_func_from_sc(o,"bcore_stamp_funcs.down;" ))
    BLM_TRY(xoico_stamp_s_push_inexpandable_func_from_sc(o,"bcore_stamp_funcs.copy;" ))
    BLM_TRY(xoico_stamp_s_push_inexpandable_func_from_sc(o,"bcore_stamp_funcs.create;" ))
    BLM_TRY(xoico_stamp_s_push_inexpandable_func_from_sc(o,"bcore_stamp_funcs.discard;" ))
    BLM_TRY(xoico_stamp_s_push_inexpandable_func_from_sc(o,"bcore_stamp_funcs.clone;" ))
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
leaq 0x113751(%rip), %rsi    # 0x139a72
callq 0x2b20b
movq %rax, %r14
testq %rax, %rax
je 0x26342
leaq 0x182a9b(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
jmp 0x263fe
leaq 0x113741(%rip), %rsi    # 0x139a8a
movq %rbx, %rdi
callq 0x2b20b
movq %rax, %r15
testq %rax, %rax
je 0x2636b
leaq 0x182a70(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %r15, %r14
testq %r15, %r15
jne 0x263fe
leaq 0x113727(%rip), %rsi    # 0x139aa2
movq %rbx, %rdi
callq 0x2b20b
movq %rax, %r15
testq %rax, %rax
je 0x2639d
leaq 0x182a3e(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %r15, %r14
testq %r15, %r15
jne 0x263fe
leaq 0x113711(%rip), %rsi    # 0x139aba
movq %rbx, %rdi
callq 0x2b20b
movq %rax, %r15
testq %rax, %rax
je 0x263cb
leaq 0x182a10(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %r15, %r14
testq %r15, %r15
jne 0x263fe
leaq 0x1136fd(%rip), %rsi    # 0x139ad4
movq %rbx, %rdi
callq 0x2b20b
movq %rax, %r15
testq %rax, %rax
je 0x263f9
leaq 0x1829e2(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %r15, %r14
testq %r15, %r15
je 0x26407
movq %r14, %rax
popq %rbx
popq %r14
popq %r15
retq
leaq 0x1136e1(%rip), %rsi    # 0x139aef
movq %rbx, %rdi
callq 0x2b20b
movq %rax, %r14
testq %rax, %rax
jne 0x2632e
xorl %r14d, %r14d
jmp 0x263fe
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_compiler_s_is_stamp
bl_t xoico_compiler_s_is_stamp( const xoico_compiler_s* o, tp_t name )
{
    // xoico_compiler.x:181:5
    
    const xoico* item = xoico_compiler_s_get_const_item(o,name );
    if( item && ( item->_ == ((tp_t)(TYPEOF_xoico_stamp_s)) ) ) return  true;
    return  false;
}

// Assembly:
pushq %rax
addq $0x78, %rdi
callq 0xd4806
testq %rax, %rax
je 0x2643b
movq (%rax), %rcx
jmp 0x2643d
xorl %ecx, %ecx
testq %rcx, %rcx
je 0x26453
movb $0x1, %al
movabsq $0x12d01d78049fae7, %rdx # imm = 0x12D01D78049FAE7
cmpq %rdx, (%rcx)
je 0x26455
xorl %eax, %eax
popq %rcx
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_stamp_s_get_hash
BCORE_DEFINE_OBJECT_INST_P_NASC_END( xoico_stamp_s )

tp_t xoico_stamp_s_get_hash( const xoico_stamp_s* o )
{
    // xoico_stamp.x:54:5
    
    tp_t hash = bcore_tp_fold_tp( bcore_tp_init(), o->_ );
    hash = bcore_tp_fold_sc( hash, o->st_name.sc );
    hash = bcore_tp_fold_sc( hash, o->self_source ? o->self_source->sc : "" );
    hash = bcore_tp_fold_tp( hash, xoico_funcs_s_get_hash(&(o->funcs)) );
    return  hash;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movabsq $0x100000001b3, %rbx    # imm = 0x100000001B3
movq (%rdi), %rcx
movq 0x10(%rdi), %rax
movl $0xff, %edx
movq %rcx, %rsi
andq %rdx, %rsi
movabsq $-0x340d631b7bdddcdb, %r8 # imm = 0xCBF29CE484222325
xorq %rsi, %r8
imulq %rbx, %r8
movl %ecx, %esi
shrl $0x8, %esi
movl $0xff, %r9d
andl %r9d, %esi
xorq %r8, %rsi
imulq %rbx, %rsi
movl %ecx, %r8d
shrl $0x10, %r8d
andl %r9d, %r8d
xorq %rsi, %r8
imulq %rbx, %r8
movl %ecx, %esi
shrl $0x18, %esi
xorq %r8, %rsi
imulq %rbx, %rsi
movq %rcx, %r8
shrq $0x20, %r8
andq %rdx, %r8
xorq %rsi, %r8
imulq %rbx, %r8
movq %rcx, %rsi
shrq $0x28, %rsi
andq %rdx, %rsi
xorq %r8, %rsi
imulq %rbx, %rsi
movq %rcx, %r8
shrq $0x30, %r8
andq %rdx, %r8
xorq %rsi, %r8
imulq %rbx, %r8
shrq $0x38, %rcx
xorq %r8, %rcx
testq %rax, %rax
je 0x26789
imulq %rbx, %rcx
movb (%rax), %sil
testb %sil, %sil
je 0x26797
incq %rax
movzbl %sil, %edx
xorq %rcx, %rdx
imulq %rbx, %rdx
movb (%rax), %sil
incq %rax
movq %rdx, %rcx
testb %sil, %sil
jne 0x2676e
jmp 0x2679a
movabsq $0x366000002e329, %rax  # imm = 0x366000002E329
imulq %rax, %rcx
movq %rcx, %rdx
movq 0x48(%rdi), %rax
testq %rax, %rax
je 0x267a9
movq 0x8(%rax), %rax
jmp 0x267b0
leaq 0x12cf3f(%rip), %rax    # 0x1536ef
testq %rax, %rax
je 0x267d7
movb (%rax), %cl
testb %cl, %cl
je 0x267db
incq %rax
movzbl %cl, %r14d
xorq %rdx, %r14
imulq %rbx, %r14
movb (%rax), %cl
incq %rax
movq %r14, %rdx
testb %cl, %cl
jne 0x267be
jmp 0x267de
imulq %rbx, %rdx
movq %rdx, %r14
addq $0x58, %rdi
callq 0x1c90a
movl $0xff, %ecx
movq %rax, %rdx
andq %rcx, %rdx
xorq %r14, %rdx
imulq %rbx, %rdx
movl %eax, %esi
shrl $0x8, %esi
movl $0xff, %edi
andl %edi, %esi
xorq %rdx, %rsi
imulq %rbx, %rsi
movl %eax, %edx
shrl $0x10, %edx
andl %edi, %edx
xorq %rsi, %rdx
imulq %rbx, %rdx
movl %eax, %esi
shrl $0x18, %esi
xorq %rdx, %rsi
imulq %rbx, %rsi
movq %rax, %rdx
shrq $0x20, %rdx
andq %rcx, %rdx
xorq %rsi, %rdx
imulq %rbx, %rdx
movq %rax, %rsi
shrq $0x28, %rsi
andq %rcx, %rsi
xorq %rdx, %rsi
imulq %rbx, %rsi
movq %rax, %rdx
shrq $0x30, %rdx
andq %rcx, %rdx
xorq %rsi, %rdx
imulq %rbx, %rdx
shrq $0x38, %rax
xorq %rdx, %rax
imulq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_compiler_s_register_func
er_t xoico_compiler_s_register_func( xoico_compiler_s* o, const xoico_func_s* func )
{
    // xoico_compiler.x:348:1
    
    if( bcore_hmap_tpvd_s_exists(&(o->hmap_func),func->global_name ) )
    {
        xoico_func_s* func_registered =*( ((xoico_func_s**)(bcore_hmap_tpvd_s_get(&(o->hmap_func),func->global_name ))));
    
        if( func_registered == func )
        {
            return  x_source_point_s_parse_error_fa(&(
                func->source_point),"Global func name '#<sc_t>' was already registered from same instance.\n",
                xoico_compiler_s_nameof(o,func->global_name )
            );
        }
        else
        {
            return  x_source_point_s_parse_error_fa(&(
                func->source_point),"Global func name '#<sc_t>' was already registered from different instance.\n"
                "'#<sc_t>' vs '#<sc_t>'\n",
                xoico_compiler_s_nameof(o,func->global_name ),
                xoico_compiler_s_nameof(o,func->name ),
                xoico_compiler_s_nameof(o,func_registered->name )
            );
        }
    }
    
    bcore_hmap_tpvd_s_set(&(o->hmap_func),func->global_name, ( vd_t )func );
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rsi, %r14
movq %rdi, %rbx
leaq 0xa0(%rdi), %r15
movq 0x10(%rsi), %rsi
movq %r15, %rdi
callq 0xd4857
movq 0x10(%r14), %rsi
movq %r15, %rdi
testb %al, %al
je 0x273b2
callq 0xd4806
movq (%rax), %r13
leaq 0x48(%r14), %r15
movq 0x10(%r14), %rsi
movq %rbx, %rdi
callq 0xe39f
movq %rax, %r12
cmpq %r14, %r13
je 0x273c6
movq 0x8(%r14), %rsi
movq %rbx, %rdi
callq 0xe39f
movq %rax, %r14
movq 0x8(%r13), %rsi
movq %rbx, %rdi
callq 0xe39f
leaq 0x113aa9(%rip), %rsi    # 0x13ae3f
movq %r15, %rdi
movq %r12, %rdx
movq %r14, %rcx
movq %rax, %r8
xorl %eax, %eax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
jmp 0x13591
movq %r14, %rdx
callq 0xd45e4
xorl %eax, %eax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
leaq 0x113a2b(%rip), %rsi    # 0x13adf8
movq %r15, %rdi
movq %r12, %rdx
xorl %eax, %eax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
jmp 0x13591
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_group_s_expand_forward
er_t xoico_group_s_expand_forward( const xoico_group_s* o, sz_t indent, x_sink* sink )
{
    // xoico_group.x:897:1
    
    if( !o->expandable ) return  0;
    x_sink_push_fa(sink," \\\n#rn{ }BCORE_FORWARD_OBJECT( #<sc_t> );", indent, o->st_name.sc );
    {const xoico_group_s* __a=o ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico* e=__a->data[__i]; BLM_TRY(xoico_a_expand_forward(e,((const xoico_host*)(o)), indent, sink ))
    }}{const xoico_funcs_s* __a=&(o->funcs );if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_func_s* func=__a->data[__i]; BLM_TRY(xoico_func_s_expand_forward(func,((const xoico_host*)(o)), indent, sink ))
    }}return  0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
cmpb $0x1, 0xc8(%rdi)
jne 0x27584
movq %rdx, %rbp
movq %rsi, %rbx
movq %rdi, %r15
movq 0x90(%rdi), %rcx
leaq 0x110cf2(%rip), %rsi    # 0x138107
xorl %r12d, %r12d
movq %rdx, %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0xee2a
testq %r15, %r15
movq %rbx, 0x8(%rsp)
je 0x27537
cmpq $0x0, 0x10(%r15)
setne %r12b
je 0x27537
xorl %r14d, %r14d
movl %r12d, 0x4(%rsp)
movq %rbp, %rbx
movq 0x8(%r15), %rax
movq (%rax,%r14,8), %rbp
movq (%rbp), %r12
movl 0x178029(%rip), %eax    # 0x19f488
cltq
leaq (%rax,%rax,2), %rax
leaq 0x17801c(%rip), %rdx    # 0x19f488
movq 0x20(%rdx,%rax,8), %rcx
movq 0x18(%rdx,%rax,8), %rdx
andq %r12, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x274b9
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x274b9
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x274b9
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x27532
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x274e9
movabsq $0x5d91f496b6479859, %rdi # imm = 0x5D91F496B6479859
movq %r12, %rsi
callq 0xf3f85
movq %rax, %r13
leaq 0x177faa(%rip), %rdi    # 0x19f488
movq %r12, %rsi
movq %rax, %rdx
callq 0x12128c
movq %rbp, %rdi
movq %r15, %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rbp
movq %rbx, %rcx
callq *0x40(%r13)
movq %rax, %r12
testq %rax, %rax
je 0x2751a
leaq 0x1818c3(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %r12, 0x10(%rsp)
testq %r12, %r12
jne 0x27539
incq %r14
cmpq 0x10(%r15), %r14
setb %r12b
jb 0x27445
jmp 0x2753e
xorl %r13d, %r13d
jmp 0x274bd
jmp 0x2753e
movl 0x4(%rsp), %r12d
testb $0x1, %r12b
movq 0x10(%rsp), %r12
jne 0x27587
cmpq $0x0, 0x128(%r15)
je 0x27584
xorl %r12d, %r12d
xorl %ebx, %ebx
movq 0x8(%rsp), %r14
movq 0x120(%r15), %rax
movq (%rax,%rbx,8), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbp, %rcx
callq 0x1bbe1
incq %rbx
cmpq 0x128(%r15), %rbx
jb 0x2755d
jmp 0x27587
xorl %r12d, %r12d
movq %r12, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_stamp_s_get_traitline_func_from_name
const xoico_func_s* xoico_stamp_s_get_traitline_func_from_name( const xoico_stamp_s* o, tp_t name )
{
    // xoico_stamp.x:95:5
    
    const xoico_func_s* func = xoico_funcs_s_get_func_from_name(&(o->funcs),name );
    if( !func )
    {
        func = xoico_group_s_get_traitline_func_from_name(xoico_compiler_s_get_group(o->group->compiler,o->trait_name ),name );
    }
    return  func;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
addq $0x58, %rdi
callq 0x1c812
testq %rax, %rax
je 0x2a468
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq 0x30(%r14), %rsi
movq 0xc8(%r14), %rax
movq 0x140(%rax), %rdi
addq $0x50, %rdi
callq 0xd4806
testq %rax, %rax
je 0x2a48d
movq (%rax), %rdi
jmp 0x2a48f
xorl %edi, %edi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x21693
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_stamp_s_get_traitline_member_func_from_name
const xoico_func_s* xoico_stamp_s_get_traitline_member_func_from_name( const xoico_stamp_s* o, tp_t name )
{
    // xoico_stamp.x:110:5
    
    const xoico_func_s* func = xoico_funcs_s_get_func_from_name(&(o->funcs),name );
    if( !func )
    {
        func = xoico_group_s_get_traitline_member_func_from_name(xoico_compiler_s_get_group(o->group->compiler,o->trait_name ),name );
    }
    return  func;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
addq $0x58, %rdi
callq 0x1c812
testq %rax, %rax
je 0x2a4f2
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq 0x30(%r14), %rsi
movq 0xc8(%r14), %rax
movq 0x140(%rax), %rdi
addq $0x50, %rdi
callq 0xd4806
testq %rax, %rax
je 0x2a517
movq (%rax), %rdi
jmp 0x2a519
xorl %edi, %edi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x216f9