LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_stamp_s_get_rel_name_sc
sc_t xoico_stamp_s_get_rel_name_sc( const xoico_stamp_s* o )
{
    // xoico_stamp.x:372:1
    
    sc_t group_name = o->group->st_name.sc;
    sc_t stamp_name = o->st_name.sc;
    
    sz_t i = 0;
    while( group_name[ i ] == stamp_name[ i ] && group_name[ i ] != 0 ) i++;
    if( group_name[ i ] == 0 && stamp_name[ i ] == '_' ) i++;
    
    return  stamp_name + i;
}

// Assembly:
movq 0x10(%rdi), %rax
movq 0xc8(%rdi), %rcx
movq 0x90(%rcx), %rcx
decq %rax
movb (%rcx), %dl
movb 0x1(%rax), %sil
incq %rax
testb %dl, %dl
je 0x2a552
incq %rcx
cmpb %sil, %dl
je 0x2a53d
xorb $0x5f, %sil
xorl %ecx, %ecx
orb %sil, %dl
sete %cl
addq %rcx, %rax
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_stamp_s_parse_wrap
er_t xoico_stamp_s_parse_wrap( xoico_stamp_s* o, x_source* source )
{
    // xoico_stamp.x:433:1
    BLM_INIT_LEVEL(0);
    xoico_wrap_s* wrap = ((xoico_wrap_s*)BLM_LEVEL_T_PUSH(0,xoico_wrap_s,xoico_wrap_s_create()));
    BLM_TRY(xoico_wrap_s_parse(wrap,((const xoico_host*)(o)), source ))
    x_array_push_d(((x_array*)(&(o->wraps))),((x_inst*)(((xoico_wrap_s*)bcore_fork(wrap)) )));
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x17e858(%rip), %rax    # 0x1a8dd0
movq (%rax), %rsi
movq %rsp, %r14
movq %r14, %rdi
callq 0xe0431
movq $0x0, 0x10(%r14)
callq 0x29058
movabsq $-0x47c5da8ff49c4ac4, %rdx # imm = 0xB83A25700B63B53C
movq %r14, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xe0676
movq %rax, %r14
movq %rax, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x2928d
movq %rax, %r15
testq %rax, %rax
jne 0x2a5e1
leaq 0x78(%rbx), %r15
movq %r14, %rdi
callq 0xc8348
movq 0x78(%rbx), %rsi
movq %r15, %rdi
movq %rax, %rdx
callq 0x5b3a7
xorl %r15d, %r15d
movq %rsp, %rdi
callq 0xe0b30
movq %r15, %rax
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_stamp_s_push_inexpandable_func_from_sc
er_t xoico_stamp_s_push_inexpandable_func_from_sc( xoico_stamp_s* o, sc_t sc )
{
    // xoico_stamp.x:552:1
    BLM_INIT_LEVEL(0);
    xoico_compiler_s* compiler = o->group->compiler;
    xoico_func_s* func = ((xoico_func_s*)BLM_LEVEL_T_PUSH(0,xoico_func_s,xoico_func_s_create()));
    func->overloadable = false;
    func->expandable = false;
    
    BLM_TRY(xoico_parse_sc(((xoico*)(func)),((const xoico_host*)(o)), sc ))
    
    sz_t idx = xoico_funcs_s_get_index_from_signature_global_name(&(o->funcs),func->signature_global_name );
    
    if( idx >= 0 )
    {
        BLM_RETURNV(er_t, x_source_point_s_parse_error_fa(&(o->source_point),"Function '#<sc_t>' conflicts with a default function for this stamp.", xoico_compiler_s_nameof(compiler,func->name ) ))
    }
    else
    {
        x_array_push_d(((x_array*)(&(o->funcs))),((x_inst*)(((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, %r12
movq %rdi, %rbx
leaq 0x17dbad(%rip), %rax    # 0x1a8dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0xe0431
movq $0x0, 0x10(%r15)
movq 0xc8(%rbx), %rax
movq 0x140(%rax), %r14
callq 0x19c7d
movabsq $-0x58b74b3ddbc4f8b6, %rdx # imm = 0xA748B4C2243B074A
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xe0676
movq %rax, %r15
movw $0x0, 0x28(%rax)
movq %rax, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0xde36
movq %rax, %r12
testq %rax, %rax
jne 0x2b317
movq 0x68(%rbx), %rax
testq %rax, %rax
je 0x2b2fa
movq 0x20(%r15), %rdx
movq 0x60(%rbx), %rsi
movq (%rsi), %rcx
cmpq %rdx, 0x20(%rcx)
je 0x2b2ce
movl $0x1, %r8d
xorl %ecx, %ecx
movq %r8, %rdi
cmpq %r8, %rax
je 0x2b2c4
movq (%rsi,%rdi,8), %r9
leaq 0x1(%rdi), %r8
cmpq %rdx, 0x20(%r9)
cmoveq %rdi, %rcx
jne 0x2b2aa
cmpq %rax, %rdi
jae 0x2b2fa
testq %rcx, %rcx
js 0x2b2fa
addq $0xd0, %rbx
movq 0x8(%r15), %rsi
movq %r14, %rdi
callq 0xe39f
leaq 0x10e6ed(%rip), %rsi    # 0x1399d5
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x13591
movq %rax, %r12
jmp 0x2b317
addq $0x58, %rbx
movq %r15, %rdi
callq 0xc8348
movq (%rbx), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x5b3a7
xorl %r12d, %r12d
leaq 0x8(%rsp), %rdi
callq 0xe0b30
movq %r12, %rax
addq $0x38, %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_stamp_s_push_internal_func_from_sc
er_t xoico_stamp_s_push_internal_func_from_sc( xoico_stamp_s* o, sc_t sc )
{
    // xoico_stamp.x:577:1
    BLM_INIT_LEVEL(0);
    xoico_compiler_s* compiler = o->group->compiler;
    xoico_func_s* func = ((xoico_func_s*)BLM_LEVEL_T_PUSH(0,xoico_func_s,xoico_func_s_create()));
    func->overloadable = false;
    func->expandable = true;
    
    BLM_TRY(xoico_parse_sc(((xoico*)(func)),((const xoico_host*)(o)), sc ))
    
    sz_t idx = xoico_funcs_s_get_index_from_signature_global_name(&(o->funcs),func->signature_global_name );
    
    if( idx >= 0 )
    {
        BLM_RETURNV(er_t, x_source_point_s_parse_error_fa(&(o->source_point),"Function '#<sc_t>' conflicts with an internal function for this stamp of the same name.", xoico_compiler_s_nameof(compiler,func->name ) ))
    }
    else
    {
        x_array_push_d(((x_array*)(&(o->funcs))),((x_inst*)(((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, %r12
movq %rdi, %rbx
leaq 0x17da88(%rip), %rax    # 0x1a8dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0xe0431
movq $0x0, 0x10(%r15)
movq 0xc8(%rbx), %rax
movq 0x140(%rax), %r14
callq 0x19c7d
movabsq $-0x58b74b3ddbc4f8b6, %rdx # imm = 0xA748B4C2243B074A
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xe0676
movq %rax, %r15
movw $0x1, 0x28(%rax)
movq %rax, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0xde36
movq %rax, %r12
testq %rax, %rax
jne 0x2b43c
movq 0x68(%rbx), %rax
testq %rax, %rax
je 0x2b41f
movq 0x20(%r15), %rdx
movq 0x60(%rbx), %rsi
movq (%rsi), %rcx
cmpq %rdx, 0x20(%rcx)
je 0x2b3f3
movl $0x1, %r8d
xorl %ecx, %ecx
movq %r8, %rdi
cmpq %r8, %rax
je 0x2b3e9
movq (%rsi,%rdi,8), %r9
leaq 0x1(%rdi), %r8
cmpq %rdx, 0x20(%r9)
cmoveq %rdi, %rcx
jne 0x2b3cf
cmpq %rax, %rdi
jae 0x2b41f
testq %rcx, %rcx
js 0x2b41f
addq $0xd0, %rbx
movq 0x8(%r15), %rsi
movq %r14, %rdi
callq 0xe39f
leaq 0x10e60d(%rip), %rsi    # 0x139a1a
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x13591
movq %rax, %r12
jmp 0x2b43c
addq $0x58, %rbx
movq %r15, %rdi
callq 0xc8348
movq (%rbx), %rsi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x5b3a7
xorl %r12d, %r12d
leaq 0x8(%rsp), %rdi
callq 0xe0b30
movq %r12, %rax
addq $0x38, %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_stamp_s_expand_init1
er_t xoico_stamp_s_expand_init1( const xoico_stamp_s* o, const xoico_host* host, sz_t indent, x_sink* sink )
{
    // xoico_stamp.x:1010:1
    
    xoico_compiler_s* compiler = o->group->compiler;
    
    {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];
    {
        if( xoico_func_s_reflectable(func,host ) )
        {
            const xoico_signature_s* signature = func->signature;
            x_sink_push_fa(sink,"#rn{ }BCORE_REGISTER_FFUNC( #<sc_t>, #<sc_t>_#<sc_t> );\n",
                indent,
                xoico_compiler_s_nameof(compiler,signature->global_name ),
                o->st_name.sc,
                xoico_compiler_s_nameof(compiler,func->name )
            );
        }
    }
    }}x_sink_push_fa(sink,"#rn{ }BCORE_REGISTER_OBJECT( #<sc_t> );\n", indent, o->st_name.sc );
    return  0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rcx, 0x8(%rsp)
movq %rdx, 0x10(%rsp)
movq %rdi, %r15
cmpq $0x0, 0x68(%rdi)
je 0x2cb6d
movq %rsi, %rbx
movq 0xc8(%r15), %rax
movq 0x140(%rax), %rax
movq %rax, 0x18(%rsp)
xorl %r12d, %r12d
movq %rsi, 0x20(%rsp)
movq 0x18(%rsp), %r13
movq 0x60(%r15), %rax
movq (%rax,%r12,8), %rbp
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x19eb2
testb %al, %al
je 0x2cb64
movq 0x40(%rbp), %rax
movq 0x18(%rax), %rsi
movq %r13, %rdi
callq 0xe39f
movq %rax, %rbx
movq 0x10(%r15), %r14
movq 0x8(%rbp), %rsi
movq %r13, %rdi
callq 0xe39f
movq 0x8(%rsp), %rdi
leaq 0x10c26f(%rip), %rsi    # 0x138db9
movq 0x10(%rsp), %rdx
movq %rbx, %rcx
movq 0x20(%rsp), %rbx
movq %r14, %r8
movq %rax, %r9
xorl %eax, %eax
callq 0xee2a
incq %r12
cmpq 0x68(%r15), %r12
jb 0x2cb04
movq 0x10(%r15), %rcx
leaq 0x10d610(%rip), %rsi    # 0x13a188
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rdx
xorl %eax, %eax
callq 0xee2a
xorl %eax, %eax
addq $0x28, %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_source_s_get_hash
tp_t xoico_source_s_get_hash( const xoico_source_s* o )
{
    // xoico_source.x:54:5
    
    tp_t hash = bcore_tp_fold_tp( bcore_tp_init(), o->_ );
    {const xoico_source_s* __a=o ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_group_s* e=__a->data[__i]; hash = bcore_tp_fold_tp( hash, xoico_group_s_get_hash(e) );}}
    return  hash;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movabsq $0x100000001b3, %r14    # imm = 0x100000001B3
movq (%rdi), %r12
movl $0xff, %r15d
movq %r12, %rax
andq %r15, %rax
movabsq $-0x340d631b7bdddcdb, %rcx # imm = 0xCBF29CE484222325
xorq %rax, %rcx
imulq %r14, %rcx
movl %r12d, %eax
shrl $0x8, %eax
movl $0xff, %ebp
andl %ebp, %eax
xorq %rcx, %rax
imulq %r14, %rax
movl %r12d, %ecx
shrl $0x10, %ecx
andl %ebp, %ecx
xorq %rax, %rcx
imulq %r14, %rcx
movl %r12d, %eax
shrl $0x18, %eax
xorq %rcx, %rax
imulq %r14, %rax
movq %r12, %rcx
shrq $0x20, %rcx
andq %r15, %rcx
xorq %rax, %rcx
imulq %r14, %rcx
movq %r12, %rax
shrq $0x28, %rax
andq %r15, %rax
xorq %rcx, %rax
imulq %r14, %rax
movq %r12, %rcx
shrq $0x30, %rcx
andq %r15, %rcx
xorq %rax, %rcx
imulq %r14, %rcx
shrq $0x38, %r12
xorq %rcx, %r12
imulq %r14, %r12
cmpq $0x0, 0x70(%rdi)
je 0x2dc51
movq %rdi, %rbx
xorl %r13d, %r13d
movq 0x68(%rbx), %rax
movq (%rax,%r13,8), %rdi
callq 0x217b9
movq %rax, %rcx
andq %r15, %rcx
xorq %r12, %rcx
imulq %r14, %rcx
movl %eax, %edx
shrl $0x8, %edx
andl %ebp, %edx
xorq %rcx, %rdx
imulq %r14, %rdx
movl %eax, %ecx
shrl $0x10, %ecx
andl %ebp, %ecx
xorq %rdx, %rcx
imulq %r14, %rcx
movl %eax, %edx
shrl $0x18, %edx
xorq %rcx, %rdx
imulq %r14, %rdx
movq %rax, %rcx
shrq $0x20, %rcx
andq %r15, %rcx
xorq %rdx, %rcx
imulq %r14, %rcx
movq %rax, %rdx
shrq $0x28, %rdx
andq %r15, %rdx
xorq %rcx, %rdx
imulq %r14, %rdx
movq %rax, %rcx
shrq $0x30, %rcx
andq %r15, %rcx
xorq %rdx, %rcx
imulq %r14, %rcx
shrq $0x38, %rax
xorq %rcx, %rax
incq %r13
imulq %r14, %rax
movq %rax, %r12
cmpq 0x70(%rbx), %r13
jb 0x2dbbf
jmp 0x2dc54
movq %r12, %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_source_s_expand_declaration
er_t xoico_source_s_expand_declaration( const xoico_source_s* o, const xoico_host* host, sz_t indent, x_sink* sink )
{
    // xoico_source.x:69:5
    
    if( o->size > 0 )
    {
        x_sink_push_fa(sink,"\n" );
        x_sink_push_fa(sink,"#rn{ }/*#rn{*}*/\n", indent, sz_max( 0, 116 - indent ) );
        x_sink_push_fa(sink,"#rn{ }// source: #<sc_t>.#<sc_t>\n", indent, o->name.sc, o->ext.sc );
        {const xoico_source_s* __a=o ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_group_s* e=__a->data[__i]; BLM_TRY(xoico_group_s_expand_declaration(e,indent, sink ))
    }}}
    return  0;
}

// Assembly:
cmpq $0x0, 0x70(%rdi)
je 0x2ddc5
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %rbx
movq %rdx, %r14
movq %rdi, %r15
leaq 0x1259e7(%rip), %rsi    # 0x1536ee
xorl %ebp, %ebp
movq %rcx, %rdi
xorl %eax, %eax
callq 0xee2a
movl $0x74, %eax
subq %r14, %rax
testq %rax, %rax
movl $0x0, %ecx
cmovgq %rax, %rcx
leaq 0x10c4bd(%rip), %rsi    # 0x13a1eb
movq %rbx, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0xee2a
movq 0x30(%r15), %rcx
movq 0x50(%r15), %r8
leaq 0x10c4b3(%rip), %rsi    # 0x13a1fd
movq %rbx, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0xee2a
testq %r15, %r15
je 0x2ddac
cmpq $0x0, 0x70(%r15)
setne %bpl
je 0x2ddac
xorl %r12d, %r12d
movq 0x68(%r15), %rax
movq (%rax,%r12,8), %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x27784
movq %rax, %r13
testq %rax, %rax
je 0x2dd98
leaq 0x17b044(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %r13, (%rsp)
testq %r13, %r13
jne 0x2ddac
incq %r12
cmpq 0x70(%r15), %r12
setb %bpl
jb 0x2dd6a
jmp 0x2ddac
testb $0x1, %bpl
movq (%rsp), %rax
leaq 0x8(%rsp), %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jne 0x2ddc7
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_source_s_expand_init1
er_t xoico_source_s_expand_init1( const xoico_source_s* o, const xoico_host* host, sz_t indent, x_sink* sink )
{
    // xoico_source.x:152:5
    
    if( o->size > 0 )
    {
        x_sink_push_fa(sink,"\n" );
        x_sink_push_fa(sink,"#rn{ }// #rn{-}\n", indent, sz_max( 0, 80 - indent ) );
        x_sink_push_fa(sink,"#rn{ }// source: #<sc_t>.#<sc_t>\n", indent, o->name.sc, o->ext.sc );
        {const xoico_source_s* __a=o ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_group_s* e=__a->data[__i]; BLM_TRY(xoico_group_s_expand_init1(e,indent, sink ))
    }}}
    return  0;
}

// Assembly:
cmpq $0x0, 0x70(%rdi)
je 0x2e4bd
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %rbx
movq %rdx, %r14
movq %rdi, %r15
leaq 0x1252ef(%rip), %rsi    # 0x1536ee
xorl %ebp, %ebp
movq %rcx, %rdi
xorl %eax, %eax
callq 0xee2a
movl $0x50, %eax
subq %r14, %rax
testq %rax, %rax
movl $0x0, %ecx
cmovgq %rax, %rcx
leaq 0x10be43(%rip), %rsi    # 0x13a269
movq %rbx, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0xee2a
movq 0x30(%r15), %rcx
movq 0x50(%r15), %r8
leaq 0x10bdbb(%rip), %rsi    # 0x13a1fd
movq %rbx, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0xee2a
testq %r15, %r15
je 0x2e4a4
cmpq $0x0, 0x70(%r15)
setne %bpl
je 0x2e4a4
xorl %r12d, %r12d
movq 0x68(%r15), %rax
movq (%rax,%r12,8), %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x2861a
movq %rax, %r13
testq %rax, %rax
je 0x2e490
leaq 0x17a94c(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %r13, (%rsp)
testq %r13, %r13
jne 0x2e4a4
incq %r12
cmpq 0x70(%r15), %r12
setb %bpl
jb 0x2e462
jmp 0x2e4a4
testb $0x1, %bpl
movq (%rsp), %rax
leaq 0x8(%rsp), %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jne 0x2e4bf
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_source_s_expand_down1
er_t xoico_source_s_expand_down1( const xoico_source_s* o, const xoico_host* host, sz_t indent, x_sink* sink )
{
    // xoico_source.x:164:5
    
    if( o->size > 0 )
    {
        // there is hardly any code in the down1-handler, so for the moment we need omit commenting the sources
    //            sink.push_fa( "\n" );
    //            sink.push_fa( "#rn{ }// #rn{-}\n", indent, sz_max( 0, 80 - indent ) );
    //            sink.push_fa( "#rn{ }// source: #<sc_t>.#<sc_t>\n", indent, o.name.sc, o.ext.sc );
        {const xoico_source_s* __a=o ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_group_s* e=__a->data[__i]; BLM_TRY(xoico_group_s_expand_down1(e,indent, sink ))
    }}}
    return  0;
}

// Assembly:
testq %rdi, %rdi
je 0x2e532
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdi, %r15
cmpq $0x0, 0x70(%rdi)
je 0x2e529
cmpq $0x0, 0x70(%r15)
je 0x2e529
movq %rcx, %rbx
movq %rdx, %r14
leaq 0x10b372(%rip), %r12    # 0x13985e
xorl %r13d, %r13d
movq 0x68(%r15), %rax
movq (%rax,%r13,8), %rax
cmpb $0x1, 0xc8(%rax)
jne 0x2e520
cmpb $0x1, 0xda(%rax)
jne 0x2e520
movq 0x90(%rax), %rcx
movq %rbx, %rdi
movq %r12, %rsi
movq %r14, %rdx
xorl %eax, %eax
callq 0xee2a
incq %r13
cmpq 0x70(%r15), %r13
jb 0x2e4ef
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_target_s_is_cyclic_recursive
bl_t xoico_target_s_is_cyclic_recursive( xoico_target_s* o )
{
    // xoico_target.x:194:1
    
    if( o->flag ) return  true;
    o->flag = true;
    {const bcore_arr_sz_s* __a=&(o->dependencies );if(__a)for(sz_t __i=0;__i<__a->size;__i++){sz_t target_idx=__a->data[__i]; if( xoico_target_s_is_cyclic_recursive(o->compiler->data[ target_idx ]) ) return  true;
    }}o->flag = false;
    return  false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movb $0x1, %bl
cmpb $0x0, 0xf8(%rdi)
jne 0x2fd5f
movq %rdi, %r14
movb $0x1, 0xf8(%rdi)
cmpq $0x0, 0xe8(%rdi)
setne %bpl
je 0x2fd55
movq 0xe0(%r14), %rax
movq 0x138(%r14), %rcx
movq (%rax), %rax
movq 0x8(%rcx), %rcx
movq (%rcx,%rax,8), %rdi
callq 0x2fcc7
testb %al, %al
jne 0x2fd50
movl $0x1, %r15d
cmpq 0xe8(%r14), %r15
setb %bpl
jae 0x2fd55
movq 0xe0(%r14), %rax
movq 0x138(%r14), %rcx
movq (%rax,%r15,8), %rax
movq 0x8(%rcx), %rcx
movq (%rcx,%rax,8), %rdi
callq 0x2fcc7
incq %r15
testb %al, %al
je 0x2fd1d
testb %bpl, %bpl
jne 0x2fd5f
movb $0x0, 0xf8(%r14)
xorl %ebx, %ebx
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_target_s_is_cyclic
bl_t xoico_target_s_is_cyclic( xoico_target_s* o )
{
    // xoico_target.x:205:1
    
    xoico_compiler_s_clear_flags(o->compiler);
    bl_t cyclic = xoico_target_s_is_cyclic_recursive(o);
    xoico_compiler_s_clear_flags(o->compiler);
    return  cyclic;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x138(%rdi), %rax
testq %rax, %rax
je 0x2fd9d
cmpq $0x0, 0x10(%rax)
je 0x2fd9d
xorl %ecx, %ecx
movq 0x8(%rax), %rdx
movq (%rdx,%rcx,8), %rdx
movb $0x0, 0xf8(%rdx)
incq %rcx
cmpq 0x10(%rax), %rcx
jb 0x2fd85
movq %rbx, %rdi
callq 0x2fcc7
movq 0x138(%rbx), %rcx
testq %rcx, %rcx
je 0x2fdd2
cmpq $0x0, 0x10(%rcx)
je 0x2fdd2
xorl %edx, %edx
movq 0x8(%rcx), %rsi
movq (%rsi,%rdx,8), %rsi
movb $0x0, 0xf8(%rsi)
incq %rdx
cmpq 0x10(%rcx), %rdx
jb 0x2fdba
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_target_s_set_dependencies
er_t xoico_target_s_set_dependencies( xoico_target_s* o, const bcore_arr_sz_s* dependencies )
{
    // xoico_target.x:215:1
    BLM_INIT_LEVEL(0);
    sz_t targets = o->compiler->size;
    
    /// sort, remove duplicates, copy
    bcore_arr_sz_s* dst =&( o->dependencies);
    bcore_arr_sz_s_set_size(dst,0 );
    bcore_arr_sz_s* src = bcore_arr_sz_s_sort(((bcore_arr_sz_s*)BLM_LEVEL_T_PUSH(0,bcore_arr_sz_s,bcore_arr_sz_s_clone(dependencies))),1 );
    for(sz_t i = 0; i < src->size; i++ )
    {
        if( i == 0 || src->data[ i ] != src->data[ i - 1 ] )
        {
            sz_t idx = src->data[ i ];
            ASSERT( idx >= 0 && idx < targets );
            bcore_arr_sz_s_push(dst,idx );
        }
    }
    
    if( xoico_target_s_is_cyclic(o) )
    {
        BLM_RETURNV(er_t, bcore_error_push_fa(((tp_t)(TYPEOF_general_error)), "Cyclic dependencies found in target '#<sc_t>'.", o->name.sc ))
    }
    
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x178fe1(%rip), %rax    # 0x1a8dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0xe0431
movq $0x0, 0x10(%r15)
movq 0x138(%r14), %rax
movq 0x10(%rax), %r13
movq %r14, (%rsp)
addq $0xd8, %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0xbfecd
movq %rbx, %rdi
callq 0xbfdd5
movabsq $0x3d19b4fc81c235e4, %rdx # imm = 0x3D19B4FC81C235E4
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xe0676
movq %rax, %rdi
movl $0x1, %esi
callq 0xc0186
cmpq $0x0, 0x10(%rax)
je 0x2fec5
movq %rax, %r15
leaq 0x10842c(%rip), %rbx    # 0x138290
xorl %ebp, %ebp
testq %rbp, %rbp
je 0x2fe7a
movq 0x8(%r15), %rax
movq (%rax,%rbp,8), %rcx
cmpq -0x8(%rax,%rbp,8), %rcx
je 0x2febc
movq 0x8(%r15), %rax
movq (%rax,%rbp,8), %r12
testq %r12, %r12
js 0x2fe8c
cmpq %r13, %r12
jl 0x2feb1
leaq 0x1087b4(%rip), %rdi    # 0x138647
leaq 0x10a506(%rip), %rsi    # 0x13a3a0
leaq 0x10a519(%rip), %rdx    # 0x13a3ba
movq %rbx, %rcx
movl $0x14e3, %r8d           # imm = 0x14E3
xorl %eax, %eax
callq 0xc8053
movq %r14, %rdi
movq %r12, %rsi
callq 0xbff96
incq %rbp
cmpq 0x10(%r15), %rbp
jb 0x2fe66
movq (%rsp), %rbx
movq %rbx, %rdi
callq 0x2fd6c
testb %al, %al
je 0x2fef6
movq 0x10(%rbx), %rdx
leaq 0x10a4fa(%rip), %rsi    # 0x13a3da
movabsq $0x4d9e984c5b21faea, %rdi # imm = 0x4D9E984C5B21FAEA
xorl %eax, %eax
callq 0xc87b0
movq %rax, %rbx
jmp 0x2fef8
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
callq 0xe0b30
movq %rbx, %rax
addq $0x38, %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_target_s_expand_update_time
er_t xoico_target_s_expand_update_time( const xoico_target_s* o, sz_t indent, x_sink* sink )
{
    // xoico_target.x:243:1
    BLM_INIT_LEVEL(0);
    bcore_cday_utc_s* time = ((bcore_cday_utc_s*)BLM_LEVEL_T_PUSH(0,bcore_cday_utc_s,bcore_cday_utc_s_create()));
    bcore_cday_utc_s_from_system( time );
    x_sink_push_fa(sink,"//  Last update: " ); bcore_cday_utc_s_to_sink( time,( bcore_sink* )sink ); x_sink_push_fa(sink," (UTC)\n" );
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rdx, %r14
leaq 0x178ea9(%rip), %rax    # 0x1a8dd0
movq (%rax), %rsi
movq %rsp, %rbx
movq %rbx, %rdi
callq 0xe0431
movq $0x0, 0x10(%rbx)
xorl %eax, %eax
callq 0x62d5d
movabsq $-0x4c00d686e3307dff, %rdx # imm = 0xB3FF29791CCF8201
movq %rbx, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xe0676
movq %rax, %r15
movq %rax, %rdi
callq 0xc73aa
leaq 0x10a49c(%rip), %rsi    # 0x13a409
movq %r14, %rdi
xorl %eax, %eax
callq 0xee2a
movq %r15, %rdi
movq %r14, %rsi
callq 0xc747a
leaq 0x10a492(%rip), %rsi    # 0x13a41b
movq %r14, %rdi
xorl %eax, %eax
callq 0xee2a
movq %rbx, %rdi
callq 0xe0b30
xorl %eax, %eax
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_target_write_with_signature
er_t xoico_target_write_with_signature( sc_t file, const st_s* data )
{
    // xoico_target.x:571:1
    BLM_INIT_LEVEL(0);
    tp_t hash = bcore_tp_fold_sc( bcore_tp_init(), data->sc );
    x_sink* sink =((x_sink*)( ((bcore_sink*)BLM_LEVEL_A_PUSH(0,bcore_file_open_sink(file )))));
    x_sink_push_data(sink,( vc_t )data->data, data->size );
    x_sink_push_fa(sink,"// XOICO_FILE_SIGNATURE 0x#pl16'0'{#X<tp_t>}\n", hash );
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %r12
movq %rdi, %r14
leaq 0x177054(%rip), %rax    # 0x1a8dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0xe0431
movq $0x0, 0x10(%rbx)
movq 0x8(%r12), %rax
testq %rax, %rax
je 0x31dd3
movabsq $-0x340d631b7bdddcdb, %rsi # imm = 0xCBF29CE484222325
movb (%rax), %dl
testb %dl, %dl
je 0x31ddf
incq %rax
movabsq $0x100000001b3, %rcx    # imm = 0x100000001B3
movzbl %dl, %ebx
xorq %rsi, %rbx
imulq %rcx, %rbx
movb (%rax), %dl
incq %rax
movq %rbx, %rsi
testb %dl, %dl
jne 0x31dbb
jmp 0x31de2
movabsq $-0x509c42b379fe4821, %rbx # imm = 0xAF63BD4C8601B7DF
jmp 0x31de2
movq %rsi, %rbx
movq %r14, %rdi
callq 0xc92f1
leaq 0x8(%rsp), %rdi
xorl %esi, %esi
movq %rax, %rdx
callq 0xe0900
movq %rax, %r14
movq 0x8(%r12), %r15
movq 0x10(%r12), %r12
movq (%rax), %r13
leaq 0x177ca0(%rip), %rax    # 0x1a9ab0
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 0x31e6a
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r13, %rdx
je 0x31e6a
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r13, %rdx
je 0x31e6a
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r13, %rdx
jne 0x31eeb
movq (%rax,%rcx), %rbp
testq %rbp, %rbp
jne 0x31e9a
movabsq $0x5ea8cabb93ff3b7e, %rdi # imm = 0x5EA8CABB93FF3B7E
movq %r13, %rsi
callq 0xf3f85
movq %rax, %rbp
leaq 0x177c21(%rip), %rdi    # 0x1a9ab0
movq %r13, %rsi
movq %rax, %rdx
callq 0x12128c
cmpq $0x0, 0x10(%rbp)
jne 0x31eb0
leaq 0x113416(%rip), %rsi    # 0x1452be
movq %rbp, %rdi
callq 0xf592c
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq *0x10(%rbp)
leaq 0x108ed0(%rip), %rsi    # 0x13ad93
movq %r14, %rdi
movq %rbx, %rdx
xorl %eax, %eax
callq 0xee2a
leaq 0x8(%rsp), %rdi
callq 0xe0b30
xorl %eax, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %ebp, %ebp
jmp 0x31e6e
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_compiler_s_copy
BCORE_DEFINE_OBJECT_INST_P_NASC_END( xoico_compiler_s )

bl_t xoico_compiler_s_is_type( const xoico_compiler_s* o, tp_t name )
{
    // xoico_compiler.x:159:5
    
    if( xoico_compiler_s_is_group(o,name ) ) return  true;
    if( xoico_compiler_s_is_stamp(o,name ) ) return  true;
    if( bcore_hmap_tp_s_exists(&(o->hmap_external_type),name ) ) return  true;
    return  false;
}

// Assembly:
cmpq %rsi, %rdi
je 0x32a1c
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movabsq $-0x583f6f93cc340497, %r15 # imm = 0xA7C0906C33CBFB69
leaq 0x176af0(%rip), %rax    # 0x1a9468
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r15, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r15, %rdx
je 0x329ce
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x329ce
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x329ce
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x32a1d
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x329fe
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x176a75(%rip), %rdi    # 0x1a9468
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
movq 0x90(%r12), %rax
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmpq *%rax
retq
xorl %r12d, %r12d
jmp 0x329d2
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_compiler_s_is_signature
bl_t xoico_compiler_s_is_signature( const xoico_compiler_s* o, tp_t name )
{
    // xoico_compiler.x:195:5
    
    const xoico* item = xoico_compiler_s_get_const_item(o,name );
    if( item && ( item->_ == ((tp_t)(TYPEOF_xoico_signature_s)) ) ) return  true;
    return  false;
}

// Assembly:
pushq %rax
addq $0x78, %rdi
callq 0xd4806
testq %rax, %rax
je 0x32d26
movq (%rax), %rcx
jmp 0x32d28
xorl %ecx, %ecx
testq %rcx, %rcx
je 0x32d3e
movb $0x1, %al
movabsq $-0x231a5c50432e84f2, %rdx # imm = 0xDCE5A3AFBCD17B0E
cmpq %rdx, (%rcx)
je 0x32d40
xorl %eax, %eax
popq %rcx
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_compiler_s_is_signature_or_feature
bl_t xoico_compiler_s_is_signature_or_feature( const xoico_compiler_s* o, tp_t name )
{
    // xoico_compiler.x:202:5
    
    const xoico* item = xoico_compiler_s_get_const_item(o,name );
    if( !item ) return  NULL;
    if( item->_ == ((tp_t)(TYPEOF_xoico_signature_s)) || item->_ == ((tp_t)(TYPEOF_xoico_feature_s)) ) return  true;
    return  false;
}

// Assembly:
pushq %rax
addq $0x78, %rdi
callq 0xd4806
testq %rax, %rax
je 0x32d56
movq (%rax), %rax
jmp 0x32d58
xorl %eax, %eax
testq %rax, %rax
je 0x32d84
movq (%rax), %rax
movabsq $-0x231a5c50432e84f2, %rcx # imm = 0xDCE5A3AFBCD17B0E
cmpq %rcx, %rax
sete %cl
movabsq $0x320f5368e957d0a2, %rdx # imm = 0x320F5368E957D0A2
cmpq %rdx, %rax
sete %al
orb %cl, %al
jmp 0x32d86
xorl %eax, %eax
popq %rcx
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_compiler_s_init_x
void xoico_compiler_s_init_x( xoico_compiler_s* o )
{
    // xoico_compiler.x:302:5
    
    if( o->work_build_time_into_pre_hash )
    {
        o->target_pre_hash = bcore_tp_fold_sc( o->target_pre_hash, __DATE__ );
        o->target_pre_hash = bcore_tp_fold_sc( o->target_pre_hash, __TIME__ );
    }
}

// Assembly:
cmpb $0x1, 0x180(%rdi)
jne 0x32e9d
movabsq $0x100000001b3, %rcx    # imm = 0x100000001B3
movq 0x178(%rdi), %rax
movb $0x41, %r8b
movl $0x1, %edx
leaq 0x107f6f(%rip), %rsi    # 0x13adc1
movzbl %r8b, %r8d
xorq %r8, %rax
imulq %rcx, %rax
movb (%rdx,%rsi), %r8b
incq %rdx
cmpq $0xc, %rdx
jne 0x32e52
movq %rax, 0x178(%rdi)
movb $0x30, %r8b
xorl %edx, %edx
leaq 0x107f50(%rip), %rsi    # 0x13adcd
movzbl %r8b, %r8d
xorq %r8, %rax
imulq %rcx, %rax
movb 0x1(%rdx,%rsi), %r8b
incq %rdx
cmpq $0x8, %rdx
jne 0x32e7d
movq %rax, 0x178(%rdi)
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_compiler_is_correctly_signed
bl_t xoico_compiler_is_correctly_signed( const st_s* data )
{
    // xoico_compiler.x:384:1
    
    if( data->size < bcore_strlen( "// XOICO_FILE_SIGNATURE" ) ) return  false;
    
    sz_t idx = data->size - 1;
    while( idx >= 0 && data->data[ idx ] != '/' ) idx--;
    if( idx > 0 ) idx--;
    
    if( st_s_find_sc(data,idx, -1, "// XOICO_FILE_SIGNATURE" ) != idx ) return  false;
    
    tp_t hash = 0;
    sz_t end_idx = st_s_parse_fa(data,idx, -1, "// XOICO_FILE_SIGNATURE #<tp_t*> ", (&(hash)) );
    
    if( end_idx != data->size ) return  false;
    
    data->data[ idx ] = 0;
    
    if( hash != bcore_tp_fold_sc( bcore_tp_init(), data->sc ) ) return  false;
    
    return  true;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq 0x10(%rdi), %r14
leaq 0x108370(%rip), %rdi    # 0x13b22f
callq 0xc84d7
cmpq %rax, %r14
jb 0x32fb4
movq 0x10(%rbx), %rdx
leaq -0x1(%rdx), %rax
cmpq $-0x1, %rax
movq $-0x1, %rcx
cmovlq %rax, %rcx
leaq 0x1(%rcx), %r14
movq %rdx, %rax
decq %rax
js 0x32f04
movq 0x8(%rbx), %rsi
cmpb $0x2f, -0x1(%rsi,%rdx)
movq %rax, %rdx
jne 0x32eeb
leaq 0x1(%rax), %r14
jmp 0x32f07
movq %rcx, %rax
addq $-0x2, %r14
testq %rax, %rax
cmovleq %rax, %r14
leaq 0x108316(%rip), %rcx    # 0x13b22f
movq %rbx, %rdi
movq %r14, %rsi
movq $-0x1, %rdx
callq 0x115922
cmpq %r14, %rax
jne 0x32fb4
leaq 0x8(%rsp), %r8
movq $0x0, (%r8)
leaq 0x108300(%rip), %rcx    # 0x13b247
xorl %ebp, %ebp
movq %rbx, %rdi
movq %r14, %rsi
movq $-0x1, %rdx
xorl %eax, %eax
callq 0x11886c
cmpq 0x10(%rbx), %rax
jne 0x32fb6
movq 0x8(%rbx), %rax
movb $0x0, (%rax,%r14)
movq 0x8(%rsp), %rax
movq 0x8(%rbx), %rcx
testq %rcx, %rcx
je 0x32fc1
movabsq $-0x340d631b7bdddcdb, %rdi # imm = 0xCBF29CE484222325
movb (%rcx), %sil
testb %sil, %sil
je 0x32fcd
incq %rcx
movabsq $0x100000001b3, %rdx    # imm = 0x100000001B3
movzbl %sil, %r8d
xorq %rdi, %r8
imulq %rdx, %r8
movb (%rcx), %sil
incq %rcx
movq %r8, %rdi
testb %sil, %sil
jne 0x32f99
jmp 0x32fd0
xorl %ebp, %ebp
movl %ebp, %eax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movabsq $-0x509c42b379fe4821, %r8 # imm = 0xAF63BD4C8601B7DF
jmp 0x32fd0
movq %rdi, %r8
cmpq %r8, %rax
sete %bpl
jmp 0x32fb6
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_compiler_body_signature
tp_t xoico_compiler_body_signature( const st_s* data )
{
    // xoico_compiler.x:409:1
    
    // search from bottom upwards ...
    sz_t idx = 0;
    if( ( idx = st_s_find_sc(data,data->size, 0, "// XOICO_BODY_SIGNATURE" ) ) == data->size ) return  0;
    
    tp_t hash = 0;
    st_s_parse_fa(data,idx, -1, "// XOICO_BODY_SIGNATURE #<tp_t*>", (&(hash)) );
    
    return  hash;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x10(%rdi), %rsi
leaq 0x10827e(%rip), %rcx    # 0x13b269
xorl %r14d, %r14d
xorl %edx, %edx
callq 0x115922
cmpq 0x10(%rbx), %rax
je 0x33026
movq %rsp, %r14
movq $0x0, (%r14)
leaq 0x108275(%rip), %rcx    # 0x13b281
movq %rbx, %rdi
movq %rax, %rsi
movq $-0x1, %rdx
movq %r14, %r8
xorl %eax, %eax
callq 0x11886c
movq (%r14), %r14
movq %r14, %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_expand_setup
er_t xoico_compiler_s_expand_setup( xoico_compiler_s* o, const xoico_host* host )
{
    // xoico_compiler.x:520:1
    
    for(sz_t i = 0; i < o->size; i++ ) BLM_TRY(xoico_target_s_expand_setup(o->data[ i ],((const xoico_host*)(o ))))
    
    /* We obtain all names from the global map.
     * This is necessary because names of reflection elements are parsed outside
     * this framework and remembered by the global map.
     */
    bcore_name_push_all((&(o->name_map)) );
    
    return  0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
cmpq $0x0, 0x10(%rdi)
setne %bpl
je 0x33332
xorl %r12d, %r12d
leaq 0x175ad3(%rip), %r13    # 0x1a8dd0
movq 0x8(%rbx), %rax
movq (%rax,%r12,8), %rdi
callq 0x2f414
movq %rax, %r15
testq %rax, %rax
je 0x3331e
movq (%r13), %rdi
callq 0xe0b30
movq %r15, %r14
testq %r15, %r15
jne 0x33332
incq %r12
cmpq 0x10(%rbx), %r12
setb %bpl
jb 0x332fd
jmp 0x33332
testb $0x1, %bpl
jne 0x3334a
addq $0x140, %rbx            # imm = 0x140
movq %rbx, %rdi
callq 0xe146b
xorl %r14d, %r14d
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_compiler_s_to_be_modified
bl_t xoico_compiler_s_to_be_modified( const xoico_compiler_s* o )
{
    // xoico_compiler.x:536:1
    
    for(sz_t i = 0; i < o->size; i++ )
    {
        if( xoico_target_s_to_be_modified(o->data[ i ]) ) return  true;
    }
    return  false;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
cmpq $0x0, 0x10(%rdi)
setne %bpl
je 0x333a2
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq (%rax), %rdi
callq 0x310f3
testb %al, %al
jne 0x333a2
movl $0x1, %r14d
cmpq 0x10(%rbx), %r14
setb %bpl
jae 0x333a2
movq 0x8(%rbx), %rax
movq (%rax,%r14,8), %rdi
callq 0x310f3
incq %r14
testb %al, %al
je 0x33384
movl %ebp, %eax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_compiler_s_expand
er_t xoico_compiler_s_expand( xoico_compiler_s* o, bl_t* p_modified )
{
    // xoico_compiler.x:548:1
    
    bl_t modified = false;
    
    BLM_TRY(xoico_compiler_s_expand_setup(o,((const xoico_host*)(o ))))
    for(sz_t i = 0; i < o->size; i++ ) BLM_TRY(xoico_target_s_expand_phase1(o->data[i],(&(modified)) ))
    for(sz_t i = 0; i < o->size; i++ ) BLM_TRY(xoico_target_s_expand_phase2(o->data[i],(&(modified)) ))
    
    if( p_modified ) (*(p_modified)) = modified;
    return  0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %rbx
movq %rdi, %r15
movb $0x0, 0xf(%rsp)
callq 0x332da
movq %rax, %r14
testq %rax, %rax
je 0x333e3
leaq 0x1759fa(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
jmp 0x334a3
movq %rbx, 0x10(%rsp)
cmpq $0x0, 0x10(%r15)
setne %bpl
je 0x33436
xorl %ebx, %ebx
leaq 0xf(%rsp), %r12
movq 0x8(%r15), %rax
movq (%rax,%rbx,8), %rdi
movq %r12, %rsi
callq 0x314df
movq %rax, %r13
testq %rax, %rax
je 0x33424
leaq 0x1759b7(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %r13, %r14
testq %r13, %r13
jne 0x33436
incq %rbx
cmpq 0x10(%r15), %rbx
setb %bpl
jb 0x333fa
testb $0x1, %bpl
jne 0x334a3
cmpq $0x0, 0x10(%r15)
setne %bpl
je 0x3348a
xorl %ebx, %ebx
leaq 0xf(%rsp), %r12
movq 0x8(%r15), %rax
movq (%rax,%rbx,8), %rdi
movq %r12, %rsi
callq 0x316f2
movq %rax, %r13
testq %rax, %rax
je 0x33478
leaq 0x175963(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %r13, %r14
testq %r13, %r13
jne 0x3348a
incq %rbx
cmpq 0x10(%r15), %rbx
setb %bpl
jb 0x3344e
testb $0x1, %bpl
jne 0x334a3
movq 0x10(%rsp), %rcx
testq %rcx, %rcx
je 0x334a0
movb 0xf(%rsp), %al
movb %al, (%rcx)
xorl %r14d, %r14d
movq %r14, %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_compiler_s_get_self
bl_t xoico_compiler_s_get_self( const xoico_compiler_s* o, tp_t type, const bcore_self_s** self )
{
    // xoico_compiler.x:562:1
    
    const xoico* item = xoico_compiler_s_get_const_item(o,type );
    if( !item ) return  false;
    
    if( item->_ == ((tp_t)(TYPEOF_xoico_stamp_s)) )
    {
        const xoico_stamp_s* stamp = ((const xoico_stamp_s*)(item));
        if( self ) (*(self)) = stamp->self;
        return  true;
    }
    
    return  false;
}

// Assembly:
pushq %rbx
movq %rdx, %rbx
addq $0x78, %rdi
callq 0xd4806
testq %rax, %rax
je 0x334cc
movq (%rax), %rcx
jmp 0x334ce
xorl %ecx, %ecx
testq %rcx, %rcx
je 0x334f2
movabsq $0x12d01d78049fae7, %rax # imm = 0x12D01D78049FAE7
cmpq %rax, (%rcx)
jne 0x334f2
movb $0x1, %al
testq %rbx, %rbx
je 0x334f4
movq 0x50(%rcx), %rcx
movq %rcx, (%rbx)
jmp 0x334f4
xorl %eax, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_compiler_s_get_type_info
bl_t xoico_compiler_s_get_type_info( const xoico_compiler_s* o, tp_t type, xoico_compiler_type_info_s* info )
{
    // xoico_compiler.x:579:1
    
    const xoico* item = xoico_compiler_s_get_const_item(o,type );
    if( !item ) return  false;
    ASSERT( info );
    if( item->_ == ((tp_t)(TYPEOF_xoico_stamp_s)) || item->_ == ((tp_t)(TYPEOF_xoico_group_s)) )
    {
        info->item = ((xoico*)(item));
        info->typespec.type = type;
        return  true;
    }
    
    return  false;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %rbx
movq %rsi, %r14
addq $0x78, %rdi
callq 0xd4806
testq %rax, %rax
je 0x33514
movq (%rax), %r15
jmp 0x33517
xorl %r15d, %r15d
testq %r15, %r15
je 0x33577
testq %rbx, %rbx
jne 0x3354a
leaq 0x10511f(%rip), %rdi    # 0x138647
leaq 0x107c14(%rip), %rsi    # 0x13b143
leaq 0x107bf3(%rip), %rdx    # 0x13b129
leaq 0x104d53(%rip), %rcx    # 0x138290
movl $0x1846, %r8d           # imm = 0x1846
xorl %eax, %eax
callq 0xc8053
movq (%r15), %rax
movabsq $0xc561a9d047fe9d3, %rcx # imm = 0xC561A9D047FE9D3
cmpq %rcx, %rax
je 0x3356b
movabsq $0x12d01d78049fae7, %rcx # imm = 0x12D01D78049FAE7
cmpq %rcx, %rax
jne 0x33577
movq %r15, 0x38(%rbx)
movq %r14, 0x10(%rbx)
movb $0x1, %al
jmp 0x33579
xorl %eax, %eax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_compiler_s_get_type_array_element_info
bl_t xoico_compiler_s_get_type_array_element_info( const xoico_compiler_s* o, tp_t type, xoico_compiler_element_info_s* info )
{
    // xoico_compiler.x:737:1
    
    ASSERT( info );
    
    const xoico* xoico_item = xoico_compiler_s_get_const_item(o,type );
    if( !xoico_item ) return  false;
    bl_t success = false;
    info->type_info.item = ((xoico*)(xoico_item));
    
    if( xoico_item->_ == ((tp_t)(TYPEOF_xoico_stamp_s)) )
    {
        const xoico_stamp_s* stamp = ((const xoico_stamp_s*)(xoico_item));
        const bcore_self_item_s* self_item = bcore_self_s_get_first_anonymous_array_item( stamp->self );
        if( self_item )
        {
            info->type_info.typespec.type = self_item->type;
            info->type_info.typespec.indirection = bcore_flect_caps_get_indirection( self_item->caps );
            success = true;
        }
    }
    
    return  success;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r15
testq %rdx, %rdx
jne 0x3398b
leaq 0x104cde(%rip), %rdi    # 0x138647
leaq 0x1077d3(%rip), %rsi    # 0x13b143
leaq 0x107838(%rip), %rdx    # 0x13b1af
leaq 0x104912(%rip), %rcx    # 0x138290
movl $0x18e2, %r8d           # imm = 0x18E2
xorl %eax, %eax
callq 0xc8053
addq $0x78, %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0xd4806
testq %rax, %rax
je 0x339a4
movq (%rax), %rax
jmp 0x339a6
xorl %eax, %eax
testq %rax, %rax
je 0x339e9
movq %rax, 0x40(%rbx)
movabsq $0x12d01d78049fae7, %rcx # imm = 0x12D01D78049FAE7
cmpq %rcx, (%rax)
jne 0x339e9
movq 0x50(%rax), %rdi
callq 0xcd4d8
movq %rax, %rcx
testq %rax, %rax
setne %al
je 0x339eb
movq (%rcx), %rax
movq %rax, 0x18(%rbx)
movl 0x10(%rcx), %edi
callq 0xc9364
movq %rax, 0x30(%rbx)
movb $0x1, %al
jmp 0x339eb
xorl %eax, %eax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_compiler_s_update_target_files
er_t xoico_compiler_s_update_target_files( xoico_compiler_s* o, bl_t* p_modified )
{
    // xoico_compiler.x:768:1
    
    bl_t modified = false;
    bl_t verbosity = o->verbosity;
    f3_t time = 0;
    
    er_t er = 0;
    ABS_TIME_OF( er = xoico_compiler_s_expand(o,(&(modified)) ), time );
    BLM_TRY(er )
    
    if( modified )
    {
        if( verbosity > 0 ) bcore_msg_fa( "XOICO: Expanded in #<f3_t> sec.\n", time );
        if( verbosity > 0 ) bcore_msg_fa( "XOICO: Files were updated. Rebuild is necessary.\n" );
    }
    
    if( p_modified ) (*(p_modified)) = modified;
    
    return  er;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x7(%rsp), %r15
movb $0x0, (%r15)
movq 0x188(%rdi), %r12
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0xd140
movq %r14, %rdi
movq %r15, %rsi
callq 0x333a9
movq %rax, %r14
leaq 0x8(%rsp), %rdi
xorl %esi, %esi
callq 0xd140
testq %r14, %r14
je 0x33a4e
leaq 0x17538c(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
jmp 0x33aab
cmpb $0x1, 0x7(%rsp)
jne 0x33aa0
testq %r12, %r12
je 0x33aa0
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rcx
subq 0x18(%rsp), %rax
cvtsi2sd %rax, %xmm1
subq 0x20(%rsp), %rcx
cvtsi2sd %rcx, %xmm0
mulsd 0x1045e8(%rip), %xmm0   # 0x138068
addsd %xmm1, %xmm0
leaq 0x107751(%rip), %rdi    # 0x13b1dc
movb $0x1, %al
callq 0xc7ec8
leaq 0x107764(%rip), %rdi    # 0x13b1fd
xorl %eax, %eax
callq 0xc7ec8
testq %rbx, %rbx
je 0x33aab
movb 0x7(%rsp), %al
movb %al, (%rbx)
movq %r14, %rax
addq $0x28, %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_che_s_get_hash
BCORE_DEFINE_OBJECT_INST_P_NASC_END( xoico_che_s )

tp_t xoico_che_s_get_hash( const xoico_che_s* o )
{
    // xoico_che.x:258:5
    
    tp_t hash = bcore_tp_init();
    
    hash = bcore_tp_fold_bl( hash, o->verbose );
    hash = bcore_tp_fold_bl( hash, o->insert_source_reference );
    hash = bcore_tp_fold_bl( hash, o->for_all_functions_enable_try );
    
    hash = bcore_tp_fold_bl( hash, o->waive_unknown_member_variable );
    hash = bcore_tp_fold_bl( hash, o->waive_unknown_member_function );
    hash = bcore_tp_fold_bl( hash, o->waive_unknown_type );
    hash = bcore_tp_fold_bl( hash, o->waive_unknown_identifier );
    hash = bcore_tp_fold_bl( hash, o->waive_local_scope_operator_creates_implicit_block );
    
    return  hash;
}

// Assembly:
movzbl 0x8(%rdi), %eax
movabsq $-0x340d631b7bdddcdb, %rdx # imm = 0xCBF29CE484222325
xorq %rax, %rdx
movabsq $0x100000001b3, %rcx    # imm = 0x100000001B3
imulq %rcx, %rdx
movzbl 0x9(%rdi), %eax
xorq %rdx, %rax
imulq %rcx, %rax
movzbl 0xa(%rdi), %edx
xorq %rax, %rdx
imulq %rcx, %rdx
movzbl 0xb(%rdi), %eax
xorq %rdx, %rax
imulq %rcx, %rax
movzbl 0xc(%rdi), %edx
xorq %rax, %rdx
imulq %rcx, %rdx
movzbl 0xd(%rdi), %eax
xorq %rdx, %rax
imulq %rcx, %rax
movzbl 0xe(%rdi), %edx
xorq %rax, %rdx
imulq %rcx, %rdx
movzbl 0xf(%rdi), %eax
xorq %rdx, %rax
imulq %rcx, %rax
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_is_reserved
bl_t xoico_che_s_is_reserved( const xoico_che_s* o, tp_t tp_identifier )
{
    // xoico_che.x:277:5
    
    return  xoico_che_s_is_builtin_func(o,tp_identifier ) ||
           xoico_che_s_is_control_name(o,tp_identifier ) ||
           tp_identifier == TYPEOF_verbatim_C;
}

// Assembly:
pushq %rbx
movq %rsi, %rbx
movb $0x1, %al
movabsq $-0x3e306737b766a6d1, %rcx # imm = 0xC1CF98C84899592F
cmpq %rcx, %rsi
jle 0x33fdd
movabsq $-0x3e306737b766a6d0, %rcx # imm = 0xC1CF98C848995930
cmpq %rcx, %rbx
je 0x34017
movabsq $-0x22e2f286f3d0e77f, %rcx # imm = 0xDD1D0D790C2F1881
cmpq %rcx, %rbx
je 0x34017
movabsq $0x570ac119447423ee, %rcx # imm = 0x570AC119447423EE
jmp 0x33ff6
movabsq $-0x4aa18f6f1786b6b2, %rcx # imm = 0xB55E7090E879494E
cmpq %rcx, %rbx
je 0x34017
movabsq $-0x3ef8b00418101bb5, %rcx # imm = 0xC1074FFBE7EFE44B
cmpq %rcx, %rbx
je 0x34017
movq %rbx, %rsi
callq 0x34076
movl %eax, %ecx
movabsq $0x7c0f5e2b3285120d, %rax # imm = 0x7C0F5E2B3285120D
cmpq %rax, %rbx
sete %al
orb %cl, %al
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_is_builtin_func
bl_t xoico_che_s_is_builtin_func( const xoico_che_s* o, tp_t tp_identifier )
{
    // xoico_che_builtin.x:21:1
    
    switch( tp_identifier )
    {
        case TYPEOF_cast:
        case TYPEOF_scope:
        case TYPEOF_t_scope:
        case TYPEOF_fork:
        case TYPEOF_try:
            return  true;
    
        default:
            return  false;
    }
}

// Assembly:
movb $0x1, %al
movabsq $-0x3e306737b766a6d1, %rcx # imm = 0xC1CF98C84899592F
cmpq %rcx, %rsi
jle 0x34054
movabsq $-0x3e306737b766a6d0, %rcx # imm = 0xC1CF98C848995930
cmpq %rcx, %rsi
je 0x34072
movabsq $-0x22e2f286f3d0e77f, %rcx # imm = 0xDD1D0D790C2F1881
cmpq %rcx, %rsi
je 0x34072
movabsq $0x570ac119447423ee, %rcx # imm = 0x570AC119447423EE
jmp 0x3406d
movabsq $-0x4aa18f6f1786b6b2, %rcx # imm = 0xB55E7090E879494E
cmpq %rcx, %rsi
je 0x34072
movabsq $-0x3ef8b00418101bb5, %rcx # imm = 0xC1074FFBE7EFE44B
cmpq %rcx, %rsi
jne 0x34073
retq
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_is_control_name
bl_t xoico_che_s_is_control_name( const xoico_che_s* o, tp_t tp_identifier )
{
    // xoico_che_control.x:21:1
    
    switch( tp_identifier )
    {
        case TYPEOF_for:
        case TYPEOF_foreach:
        case TYPEOF_if:
        case TYPEOF_else:
        case TYPEOF_break:
        case TYPEOF_while:
        case TYPEOF_do:
        case TYPEOF_switch:
        case TYPEOF_case:
        case TYPEOF_default:
        case TYPEOF_return:
        case TYPEOF_continue:
        case TYPEOF_goto:
            return  true;
    
        default:
            return  false;
    }
}

// Assembly:
movb $0x1, %al
movabsq $-0x31785c77a7eed693, %rcx # imm = 0xCE87A3885811296D
cmpq %rcx, %rsi
jle 0x340cb
movabsq $-0x14525ae979df3a03, %rcx # imm = 0xEBADA5168620C5FD
cmpq %rcx, %rsi
jle 0x34108
movabsq $0x8b73007b55c3e25, %rcx # imm = 0x8B73007B55C3E25
cmpq %rcx, %rsi
jg 0x3415c
movabsq $-0x14525ae979df3a02, %rcx # imm = 0xEBADA5168620C5FE
cmpq %rcx, %rsi
je 0x3417a
movabsq $0x8915907b53bb494, %rcx # imm = 0x8915907B53BB494
jmp 0x34175
movabsq $-0x5a57853a4f4c8650, %rcx # imm = 0xA5A87AC5B0B379B0
cmpq %rcx, %rsi
jg 0x34132
movabsq $-0x752f615fa8a3cbc7, %rcx # imm = 0x8AD09EA0575C3439
cmpq %rcx, %rsi
je 0x3417a
movabsq $-0x6c48a6e2143831c8, %rcx # imm = 0x93B7591DEBC7CE38
cmpq %rcx, %rsi
je 0x3417a
movabsq $-0x62bf2e8df11518ba, %rcx # imm = 0x9D40D1720EEAE746
jmp 0x34175
movabsq $-0x31785c77a7eed692, %rcx # imm = 0xCE87A3885811296E
cmpq %rcx, %rsi
je 0x3417a
movabsq $-0x2d402a5332e6995c, %rcx # imm = 0xD2BFD5ACCD1966A4
cmpq %rcx, %rsi
je 0x3417a
movabsq $-0x234d87e701262570, %rcx # imm = 0xDCB27818FED9DA90
jmp 0x34175
movabsq $-0x5a57853a4f4c864f, %rcx # imm = 0xA5A87AC5B0B379B1
cmpq %rcx, %rsi
je 0x3417a
movabsq $-0x4aa19e6f1786d02f, %rcx # imm = 0xB55E6190E8792FD1
cmpq %rcx, %rsi
je 0x3417a
movabsq $-0x3a38467cc88352a1, %rcx # imm = 0xC5C7B983377CAD5F
jmp 0x34175
movabsq $0x8b73007b55c3e26, %rcx # imm = 0x8B73007B55C3E26
cmpq %rcx, %rsi
je 0x3417a
movabsq $0x7f2b6c605332dd30, %rcx # imm = 0x7F2B6C605332DD30
cmpq %rcx, %rsi
jne 0x3417b
retq
xorl %eax, %eax
retq