LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_context_s_set_reserved_consts
x_btcl_context_s* x_btcl_context_s_set_reserved_consts( x_btcl_context_s* o )
{
    // bcore_x_btcl_builtin.x:89:1
    
    bcore_hmap_name_s_set_sc(&(o->hmap_reserved_const),"true" );
    bcore_hmap_name_s_set_sc(&(o->hmap_reserved_const),"false" );
    bcore_hmap_name_s_set_sc(&(o->hmap_reserved_const),"TRUE" );
    bcore_hmap_name_s_set_sc(&(o->hmap_reserved_const),"FALSE" );
    bcore_hmap_name_s_set_sc(&(o->hmap_reserved_const),"PI" );
    bcore_hmap_name_s_set_sc(&(o->hmap_reserved_const),"PATH" );
    bcore_hmap_name_s_set_sc(&(o->hmap_reserved_const),"DIR" );
    return o;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x70(%rdi), %r14
leaq 0xcf501(%rip), %rsi     # 0x14e64d
movq %r14, %rdi
callq 0xd3d8e
leaq 0xb4656(%rip), %rsi     # 0x1337b1
movq %r14, %rdi
callq 0xd3d8e
leaq 0xb90c7(%rip), %rsi     # 0x138231
movq %r14, %rdi
callq 0xd3d8e
leaq 0xb90bd(%rip), %rsi     # 0x138236
movq %r14, %rdi
callq 0xd3d8e
leaq 0xb90b4(%rip), %rsi     # 0x13823c
movq %r14, %rdi
callq 0xd3d8e
leaq 0xb90a8(%rip), %rsi     # 0x13823f
movq %r14, %rdi
callq 0xd3d8e
leaq 0xb9075(%rip), %rsi     # 0x13821b
movq %r14, %rdi
callq 0xd3d8e
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_context_s_is_reserved
bl_t x_btcl_context_s_is_reserved( const x_btcl_context_s* o, tp_t name )
{
    // bcore_x_btcl.x:260:5
    
    return  x_btcl_context_s_is_reserved_key(o,name ) ||
    x_btcl_context_s_is_reserved_func(o,name ) ||
    x_btcl_context_s_is_reserved_const(o,name );
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
addq $0x10, %rdi
callq 0xd3e17
testb %al, %al
jne 0x7f1e0
leaq 0x40(%r14), %rdi
movq %rbx, %rsi
callq 0xd3e17
testb %al, %al
je 0x7f1ea
movb $0x1, %al
addq $0x8, %rsp
popq %rbx
popq %r14
retq
addq $0x70, %r14
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xd3e17
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_context_s_sc_reserved
sc_t x_btcl_context_s_sc_reserved( const x_btcl_context_s* o, tp_t name )
{
    // bcore_x_btcl.x:267:5
    
    if( x_btcl_context_s_is_reserved_key(o,name ) ) return  x_btcl_context_s_sc_reserved_key(o,name );
    if( x_btcl_context_s_is_reserved_func(o,name ) ) return  x_btcl_context_s_sc_reserved_func(o,name );
    if( x_btcl_context_s_is_reserved_const(o,name ) ) return  x_btcl_context_s_sc_reserved_const(o,name );
    return  NULL;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x10(%rdi), %r15
movq %r15, %rdi
callq 0xd3e17
testb %al, %al
jne 0x7f244
leaq 0x40(%r14), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0xd3e17
testb %al, %al
jne 0x7f244
addq $0x70, %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0xd3e17
movq %r14, %r15
testb %al, %al
je 0x7f254
movq %r15, %rdi
movq %rbx, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0xd3dbe
xorl %eax, %eax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_frame_s_setup
x_btcl_frame_s* x_btcl_frame_s_setup( x_btcl_frame_s* o, const x_btcl_frame_s* parent )
{
    // bcore_x_btcl.x:382:5
    
    if( !parent ) ERR_fa( "No parent: Call setup_as_root\n" );
    o->parent = ((x_btcl_frame_s*)(parent));
    x_btcl_context_s_attach( &(o->context ),  ((x_btcl_context_s*)bcore_fork(o->parent->context)));
    o->depth = o->parent->depth + 1;
    return o;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
testq %rsi, %rsi
jne 0x7f964
leaq 0xb88fa(%rip), %rdi     # 0x138244
leaq 0xb79dd(%rip), %rsi     # 0x13732e
leaq 0xb8901(%rip), %rcx     # 0x138259
movl $0x1347, %edx           # imm = 0x1347
xorl %eax, %eax
callq 0xbe6f9
movq %r14, 0x8(%rbx)
movq 0x10(%r14), %rdi
callq 0xbe7e4
movq %rax, %r14
movq 0x10(%rbx), %rdi
callq 0x7ed94
movq %r14, 0x10(%rbx)
movq 0x8(%rbx), %rax
movq 0x18(%rax), %rax
incq %rax
movq %rax, 0x18(%rbx)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_frame_s_import_forked_vars
x_btcl_frame_s* x_btcl_frame_s_import_forked_vars( x_btcl_frame_s* o, tp_t prefix, x_btcl_frame_s* src_frame )
{
    // bcore_x_btcl.x:431:5
    
    sz_t size = src_frame->var_map.size;
    for(sz_t i = 0; i < size; i++ )
    {
        tp_t key = bcore_hmap_tp_sr_s_idx_key(&(src_frame->var_map),i );
        if( key )
        {
            tp_t name = key;
            if( prefix )
            {BLM_INIT_LEVEL(4);
                sc_t prefix_name = x_btcl_frame_s_nameof(o,prefix );
                name = x_btcl_frame_s_entypeof(o,st_s_copy_fa(((st_s*)BLM_LEVEL_T_PUSH(4,st_s,st_s_create())),"#<sc_t>_#<sc_t>", prefix_name, x_btcl_frame_s_nameof(src_frame,key ) )->sc ) ;
            BLM_DOWN();}
            const sr_s* src_sr = bcore_hmap_tp_sr_s_idx_val(&(src_frame->var_map),i );
            x_btcl_frame_s_var_set(o,name, sr_tsm(sr_s_type(src_sr), ((x_inst*)bcore_fork(src_sr->o)) ) );
        }
    }
    return o;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rdi, 0x18(%rsp)
movq 0x90(%rdx), %rcx
movq %rcx, 0x40(%rsp)
testq %rcx, %rcx
jle 0x7fbf9
movq %rsi, %r15
movq %rdx, %rax
leaq 0x78(%rdx), %r12
movq 0x18(%rsp), %rcx
leaq 0x48(%rcx), %rdx
movq %rdx, 0x20(%rsp)
addq $0x48, %rax
movq %rax, 0x30(%rsp)
leaq 0x78(%rcx), %rax
movq %rax, 0x38(%rsp)
xorl %r14d, %r14d
movq %r12, %rdi
movq %r14, %rsi
callq 0xd473a
testq %rax, %rax
je 0x7fbeb
movq %rax, %rbx
testq %r15, %r15
je 0x7fb78
leaq 0x11c307(%rip), %rax    # 0x19bdd0
movq (%rax), %rsi
leaq 0x48(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xd6675
movq 0x28(%rsp), %r13
movq $0x4, 0x10(%r13)
movq 0x20(%rsp), %rdi
movq %r15, %rsi
callq 0xd3dbe
movq %rax, %rbp
testq %rax, %rax
jne 0x7fb08
movq %r15, %rdi
callq 0xd6ec4
movq %rax, %rbp
xorl %eax, %eax
callq 0x109c82
movl $0x4, %esi
movq %r13, %rdi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
movq %rax, %rcx
callq 0xd68a8
movq %rax, %r13
movq 0x30(%rsp), %rdi
movq %rbx, %rsi
callq 0xd3dbe
testq %rax, %rax
jne 0x7fb46
movq %rbx, %rdi
callq 0xd6ec4
movq %r13, %rdi
leaq 0xae22c(%rip), %rsi     # 0x12dd7c
movq %rbp, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0x1097fd
movq 0x8(%rax), %rsi
movq 0x20(%rsp), %rdi
callq 0xd3d8e
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xd6d0d
movq %r12, %rdi
movq %r14, %rsi
callq 0xd4747
testq %rax, %rax
je 0x7fbaf
movq 0x8(%rax), %rcx
testq %rcx, %rcx
je 0x7fbaf
movq 0x8(%rcx), %rbp
movq (%rax), %rdi
callq 0xbe7e4
movq %rax, %r13
testq %rbp, %rbp
je 0x7fbba
movq %rbp, %rdi
callq 0x1074f1
jmp 0x7fbbc
movq (%rax), %rdi
callq 0xbe7e4
movq %rax, %r13
xorl %eax, %eax
movq %r13, 0x48(%rsp)
movq %rax, 0x50(%rsp)
movl $0x2, %eax
movq %rax, 0x58(%rsp)
movq %rax, 0x10(%rsp)
movups 0x48(%rsp), %xmm0
movups %xmm0, (%rsp)
movq 0x38(%rsp), %rdi
movq %rbx, %rsi
callq 0xd4234
incq %r14
cmpq %r14, 0x40(%rsp)
jne 0x7faa2
movq 0x18(%rsp), %rax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_frame_s_generic_copy
er_t x_btcl_frame_s_generic_copy( x_btcl_frame_s* o, const x_source_point_s* sp, sr_s* sr, const sr_s* sb )
{
    // bcore_x_btcl.x:452:5
    
    /// convert functions into functor
    if( sr_s_type(sb) == ((tp_t)(TYPEOF_x_btcl_function_s)) )
    {BLM_INIT_LEVEL(1);
        x_btcl_function_s* function = ((x_btcl_function_s*)(sb->o));
        x_btcl_functor_s* functor = ((x_btcl_functor_s*)BLM_LEVEL_T_PUSH(1,x_btcl_functor_s,x_btcl_functor_s_create()));
        BLM_TRY(x_btcl_functor_s_setup(functor,sp, function, o ))
        sr_s functor_sr = sr_awc(((const x_inst*)( functor )));
        BLM_TRY(x_btcl_generic_copy(sr,&( functor_sr )))
    BLM_DOWN();}
    else
    {
        BLM_TRY(x_btcl_generic_copy(sr, sb ))
    }
    return  0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %rcx, %r12
movq %rdx, %rbx
testq %rcx, %rcx
je 0x7fcc3
movq 0x8(%r12), %rax
testq %rax, %rax
je 0x7fcc3
movabsq $-0x19831b480b40fba0, %rcx # imm = 0xE67CE4B7F4BF0460
cmpq %rcx, 0x8(%rax)
jne 0x7fcc3
movq %rsi, %r15
movq %rdi, %r14
leaq 0x11c17b(%rip), %rax    # 0x19bdd0
movq (%rax), %rsi
leaq 0x28(%rsp), %r13
movq %r13, 0x8(%rsp)
movq %r13, %rdi
callq 0xd6675
movq $0x1, 0x10(%r13)
movq (%r12), %rbp
callq 0x9ad5b
movabsq $0x73f13731f3140e07, %rdx # imm = 0x73F13731F3140E07
movl $0x1, %esi
movq %r13, %rdi
movq %rax, %rcx
callq 0xd68a8
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
movq %rbp, %rdx
movq %r14, %rcx
callq 0x7fd30
testq %rax, %rax
jne 0x7fd02
movq %r12, 0x10(%rsp)
testq %r12, %r12
je 0x7fce2
movq (%r12), %rdi
callq 0x1074f1
jmp 0x7fce4
movq %rbx, %rdi
movq %r12, %rsi
callq 0x7feae
testq %rax, %rax
je 0x7fd1b
movq %rax, %r14
leaq 0x11c0f3(%rip), %rax    # 0x19bdd0
movq (%rax), %rdi
jmp 0x7fd0a
xorl %eax, %eax
leaq 0x10(%rsp), %rsi
movq %rax, 0x8(%rsi)
movq $0x1, 0x10(%rsi)
movq %rbx, %rdi
callq 0x7feae
testq %rax, %rax
je 0x7fd11
movq %rax, %r14
leaq 0x28(%rsp), %rdi
callq 0xd6d2c
jmp 0x7fd1e
leaq 0x8(%rsp), %rdi
callq 0xd6d0d
xorl %r14d, %r14d
movq %r14, %rax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_s_setup
er_t x_btcl_functor_s_setup( x_btcl_functor_s* o, const x_source_point_s* sp, x_btcl_function_s* function, x_btcl_frame_s* lexical_frame )
{
    // bcore_x_btcl_functor.x:155:5
    BLM_INIT_LEVEL(0);
    x_source_point_s_copy(&(o->sp),sp );
    sz_t args = function->signature->arg_list.size;
    x_btcl_functor_arg_arr_s_set_size(&(o->arg_arr),args );
    bcore_arr_sr_s* arr_sr = bcore_arr_sr_s_set_size(((bcore_arr_sr_s*)BLM_LEVEL_T_PUSH(0,bcore_arr_sr_s,bcore_arr_sr_s_create())),args );
    for(sz_t i = 0; i < args; i++ )
    {
        sr_s_asc(&(arr_sr->data[ i ]),((x_btcl_functor_arg_uop_s*)bcore_fork(x_btcl_functor_arg_s_get_uop(&(o->arg_arr.data[ i ])))) );
        o->arg_arr.data[ i ].name = x_btcl_signature_s_arg_name(function->signature,i );
    }
    BLM_TRY(x_btcl_function_s_call(function,&(o->sp), lexical_frame, arr_sr, BCORE_PASS_CREATE(sr_s,o->op_tree) ))
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rcx, 0x20(%rsp)
movq %rdx, %r14
movq %rsi, %rbx
movq %rdi, %r15
leaq 0x11c07d(%rip), %rax    # 0x19bdd0
movq (%rax), %rsi
leaq 0x38(%rsp), %rbp
movq %rbp, %rdi
callq 0xd6675
movq $0x0, 0x10(%rbp)
leaq 0x30(%r15), %rdi
movq %rdi, 0x18(%rsp)
movq %rbx, %rsi
movq %r15, %rbx
callq 0x54692
movq %r14, 0x10(%rsp)
movq 0x8(%r14), %rax
movq 0x30(%rax), %r14
leaq 0x8(%r15), %rdi
movq %r14, %rsi
callq 0x9aa20
xorl %eax, %eax
callq 0xbae9e
movabsq $-0x78ea303a4f284a4, %rdx # imm = 0xF8715CFC5B0D7B5C
movq %rbp, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xd68a8
movq %rax, %rdi
movq %r14, %rsi
callq 0xbb055
movq %rax, 0x8(%rsp)
movq %r14, 0x30(%rsp)
testq %r14, %r14
jle 0x7fe61
xorl %r14d, %r14d
xorl %ebp, %ebp
xorl %r13d, %r13d
movq %rbx, 0x28(%rsp)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %r15
leaq (%r15,%r14), %r12
movq 0x10(%rbx), %rdi
addq %rbp, %rdi
callq 0x9a575
movq %rax, %rdi
callq 0xbe7e4
movq %rax, %rbx
movq %r12, %rdi
callq 0x107ca9
testq %rbx, %rbx
je 0x7fe1c
movq (%rbx), %rdi
callq 0x1074f1
jmp 0x7fe1e
xorl %eax, %eax
movq %rbx, (%r15,%r14)
movq %rax, 0x8(%r15,%r14)
movq $0x3, 0x10(%r15,%r14)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x28(%rax), %rax
movq (%rax,%r13,8), %rax
movq 0x28(%rsp), %rbx
movq 0x10(%rbx), %rcx
movq %rax, 0x8(%rcx,%rbp)
incq %r13
addq $0x20, %rbp
addq $0x18, %r14
cmpq %r13, 0x30(%rsp)
jne 0x7fde1
movq 0x28(%rbx), %r8
testq %r8, %r8
jne 0x7fe76
callq 0x107e03
movq %rax, %r8
movq %rax, 0x28(%rbx)
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rdx
movq 0x8(%rsp), %rcx
callq 0x8ddc3
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0xd6d2c
movq %rbx, %rax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_frame_s_eval_condition
er_t x_btcl_frame_s_eval_condition( x_btcl_frame_s* o, x_source* source, bl_t* condition )
{
    // bcore_x_btcl.x:1034:1
    BLM_INIT_LEVEL(0);
    sr_s* sb = ((sr_s*)BLM_LEVEL_T_PUSH(0,sr_s,sr_s_create()));
    BLM_TRY(x_btcl_frame_s_eval(o,0, source, sb ))
    if( !sr_s_is_numeric(sb) )  BLM_RETURNV(er_t, x_source_parse_error_fa(source,"Internal error: Expression does not evaluate to a condition.\n" ))
    if( condition ) (*(condition)) = ( sr_s_to_f3(sb) != 0 );
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r12
leaq 0x11aa7b(%rip), %rax    # 0x19bdd0
movq (%rax), %rsi
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0xd6675
movq $0x0, 0x10(%r15)
xorl %eax, %eax
callq 0x107e03
movabsq $0x79b76918ff0af12a, %rdx # imm = 0x79B76918FF0AF12A
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xd68a8
movq %rax, %r15
movq %r12, %rdi
xorl %esi, %esi
movq %r14, %rdx
movq %rax, %rcx
callq 0x81403
movq %rax, %r12
testq %rax, %rax
jne 0x813ea
movq %r15, %rdi
callq 0x108085
testb %al, %al
je 0x813d6
testq %rbx, %rbx
je 0x813d1
movq %r15, %rdi
callq 0x10847b
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
setp %al
setne %cl
orb %al, %cl
movb %cl, (%rbx)
xorl %r12d, %r12d
jmp 0x813ea
leaq 0xb6e9b(%rip), %rsi     # 0x138278
movq %r14, %rdi
xorl %eax, %eax
callq 0x71189
movq %rax, %r12
leaq 0x8(%rsp), %rdi
callq 0xd6d2c
movq %r12, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_frame_s_eval_in_frame
er_t x_btcl_frame_s_eval_in_frame( const x_btcl_frame_s* o, s2_t priority, x_source* source, sr_s* obj )
{
    // bcore_x_btcl.x:1077:1
    BLM_INIT_LEVEL(0);
    x_btcl_frame_s* frame = x_btcl_frame_s_setup(((x_btcl_frame_s*)BLM_LEVEL_T_PUSH(0,x_btcl_frame_s,x_btcl_frame_s_create())),o );
    BLM_TRY(x_btcl_frame_s_eval(frame,priority, source, obj ))
    x_btcl_clone_if_weak(obj );
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
movq %rcx, %rbx
movq %rdx, %r14
movl %esi, %ebp
movq %rdi, %r15
leaq 0x11939e(%rip), %rax    # 0x19bdd0
movq (%rax), %rsi
movq %rsp, %r12
movq %r12, %rdi
callq 0xd6675
movq $0x0, 0x10(%r12)
callq 0x7f70d
movabsq $-0x8f0f83b86d2b0b3, %rdx # imm = 0xF70F07C4792D4F4D
movq %r12, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xd68a8
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
callq 0x7f934
movq %r12, %rdi
movl %ebp, %esi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x81403
movq %rax, %r14
testq %rax, %rax
jne 0x82a93
movq %rbx, %rdi
callq 0x82aab
movq %rsp, %rdi
callq 0xd6d2c
movq %r14, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_clone_if_weak
void x_btcl_clone_if_weak( sr_s* sr )
{
    // bcore_x_btcl.x:138:1
    
    if( sr_s_is_weak(sr) )
    {
        bl_t is_const = sr_s_is_const(sr);
        (*(sr)) = sr_clone(*( sr ));
        sr_s_set_const(sr,is_const );
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq 0x10(%rdi), %r15
testb $0x2, %r15b
jne 0x82b00
movq %rdi, %rbx
andl $0x1, %r15d
movq 0x10(%rdi), %rax
movq %rax, 0x10(%rsp)
movups (%rdi), %xmm0
movups %xmm0, (%rsp)
leaq 0x18(%rsp), %r14
movq %r14, %rdi
callq 0x107595
movq 0x10(%r14), %rax
movq %rax, 0x10(%rbx)
movups (%r14), %xmm0
movups %xmm0, (%rbx)
movq 0x10(%rbx), %rax
andq $-0x2, %rax
orq %r15, %rax
movq %rax, 0x10(%rbx)
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_net_node_s_clone
BCORE_DEFINE_OBJECT_INST_P_NASC_END( x_btcl_net_node_s )

x_btcl_net_node_s* x_btcl_net_node_s_setup( x_btcl_net_node_s* o, tp_t type, tp_t name, const x_source_point_s* sp )
{
    // bcore_x_btcl_net.x:90:5
    
    o->type = type;
    o->name = name;
    x_source_point_s_copy(BCORE_PASS_CREATE(x_source_point_s,o->sp),sp );
    return  o;
}

// Assembly:
testq %rdi, %rdi
je 0x91f65
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movabsq $-0x1948b20c22462ae4, %r14 # imm = 0xE6B74DF3DDB9D51C
leaq 0x10a59d(%rip), %rax    # 0x19c468
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r14, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x91f21
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x91f21
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x91f21
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x91f2a
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x91f51
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0x10a522(%rip), %rdi    # 0x19c468
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0xc0(%r15), %rax
movq %r15, %rdi
movq %rbx, %rsi
popq %rbx
popq %r14
popq %r15
jmpq *%rax
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_top_s__
BCORE_DEFINE_OBJECT_INST_P_NASC_END( x_btcl_operator_top_s )

x_btcl_operator_top_s* x_btcl_operator_top_s__( x_btcl_operator_top_s* o, tp_t type, sr_s* a, sr_s* b, sr_s* c, x_source_point_s* source_point )
{
    // bcore_x_btcl_operator.x:778:5
    
    o->type = type;
    sr_s_tsm(&(o->a),sr_s_type(a), ((x_inst*)bcore_fork(a->o)) );
    sr_s_tsm(&(o->b),sr_s_type(b), ((x_inst*)bcore_fork(b->o)) );
    sr_s_tsm(&(o->c),sr_s_type(c), ((x_inst*)bcore_fork(c->o)) );
    if( source_point ) x_source_point_s_copy(&(o->sp),source_point );
    return o;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %r15
movq %rcx, %r12
movq %rdi, %r14
movq %rsi, 0x8(%rdi)
leaq 0x10(%rdi), %r13
testq %rdx, %rdx
movq %r9, (%rsp)
je 0x85b3b
movq 0x8(%rdx), %rax
testq %rax, %rax
je 0x85b3b
movq 0x8(%rax), %rbp
jmp 0x85b3d
xorl %ebp, %ebp
movq (%rdx), %rdi
callq 0xbe7e4
movq %rax, %rbx
movq %r13, %rdi
callq 0x107ca9
testq %rbp, %rbp
je 0x85b5f
movq %rbp, %rdi
callq 0x1074f1
jmp 0x85b61
xorl %eax, %eax
movq %rbx, 0x10(%r14)
movq %rax, 0x18(%r14)
movq $0x2, 0x20(%r14)
leaq 0x28(%r14), %r13
testq %r12, %r12
je 0x85b8a
movq 0x8(%r12), %rax
testq %rax, %rax
je 0x85b8a
movq 0x8(%rax), %rbp
jmp 0x85b8c
xorl %ebp, %ebp
movq (%r12), %rdi
callq 0xbe7e4
movq %rax, %rbx
movq %r13, %rdi
callq 0x107ca9
testq %rbp, %rbp
je 0x85baf
movq %rbp, %rdi
callq 0x1074f1
jmp 0x85bb1
xorl %eax, %eax
movq %rbx, 0x28(%r14)
movq %rax, 0x30(%r14)
movq $0x2, 0x38(%r14)
leaq 0x40(%r14), %r12
testq %r15, %r15
je 0x85bd9
movq 0x8(%r15), %rax
testq %rax, %rax
je 0x85bd9
movq 0x8(%rax), %r13
jmp 0x85bdc
xorl %r13d, %r13d
movq (%r15), %rdi
callq 0xbe7e4
movq %rax, %rbx
movq %r12, %rdi
callq 0x107ca9
testq %r13, %r13
je 0x85bfe
movq %r13, %rdi
callq 0x1074f1
jmp 0x85c00
xorl %eax, %eax
movq %rbx, 0x40(%r14)
movq %rax, 0x48(%r14)
movq $0x2, 0x50(%r14)
movq (%rsp), %rsi
testq %rsi, %rsi
je 0x85c22
leaq 0x58(%r14), %rdi
callq 0x54692
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_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_to_sink
er_t x_btcl_to_sink( bl_t detailed, const sr_s* sr, x_sink* sink )
{
    // bcore_x_btcl.x:1050:1
    
    if( detailed )
    {
        if( sr_s_o_type(sr) == ((tp_t)(TYPEOF_x_btcl_list_s)) ) BLM_TRY(x_btcl_list_s_to_sink(((const x_btcl_list_s*)(sr->o)),detailed, sink ))
        else x_btml_t_to_sink( ((const x_btml*)(sr->o)),sr_s_o_type(sr), sink );
    }
    else
    {
        if     ( !sr->o ) x_sink_push_fa(sink,"NULL" );
        else if( sr_s_type(sr) == ((tp_t)(TYPEOF_bl_t)) ) x_sink_push_fa(sink,"#<sc_t>", sr_s_to_bl(sr) ? "true" : "false" );
        else if( sr_s_is_integer(sr) ) x_sink_push_fa(sink,"#<s3_t>", sr_s_to_s3(sr) );
        else if( sr_s_is_float(sr) )   x_sink_push_fa(sink,"#<f3_t>", sr_s_to_f3(sr) );
        else if( sr_s_o_type(sr) == ((tp_t)(TYPEOF_st_s)) ) x_sink_push_fa(sink,"#<sc_t>", ((const st_s*)(sr->o))->sc );
        else if( sr_s_o_type(sr) == ((tp_t)(TYPEOF_x_btcl_list_s)) ) BLM_TRY(x_btcl_list_s_to_sink(((const x_btcl_list_s*)(sr->o)),detailed, sink ))
        else x_btml_t_to_sink( ((const x_btml*)(sr->o)),sr_s_o_type(sr), sink );
    }
    return  0;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rsi, %r14
testl %edi, %edi
je 0x86037
testq %r14, %r14
je 0x860af
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x86124
movabsq $-0x240ec4eb25c1f3e8, %rcx # imm = 0xDBF13B14DA3E0C18
movq (%r14), %rdi
cmpq %rcx, 0x8(%rax)
jne 0x860bf
movl $0x1, %esi
movq %rbx, %rdx
callq 0x8c529
jmp 0x8613b
cmpq $0x0, (%r14)
je 0x860c5
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x86082
movabsq $-0x3ac242643d9c35a8, %rcx # imm = 0xC53DBD9BC263CA58
cmpq %rcx, 0x8(%rax)
jne 0x86082
movq %r14, %rdi
callq 0x108b00
leaq 0xc85e4(%rip), %rcx     # 0x14e64d
leaq 0xad741(%rip), %rdx     # 0x1337b1
testb %al, %al
cmovneq %rcx, %rdx
leaq 0xbebf8(%rip), %rsi     # 0x144c75
movq %rbx, %rdi
jmp 0x860a3
movq %r14, %rdi
callq 0x1080cd
testb %al, %al
je 0x860d8
movq %r14, %rdi
callq 0x1088f4
leaq 0xbd65c(%rip), %rsi     # 0x1436f9
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x55790
jmp 0x8613b
movq 0x8, %rax
movq (%r14), %rdi
testq %rax, %rax
je 0x86127
movq 0x8(%rax), %rsi
jmp 0x86129
leaq 0xb30fd(%rip), %rsi     # 0x1391c9
movq %rbx, %rdi
xorl %eax, %eax
callq 0x55790
jmp 0x8613b
movq %r14, %rdi
callq 0x1080a9
testb %al, %al
je 0x860ff
movq %r14, %rdi
callq 0x10847b
leaq 0xb2c3a(%rip), %rsi     # 0x138d2d
movq %rbx, %rdi
movb $0x1, %al
callq 0x55790
jmp 0x8613b
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x86124
movabsq $-0x503db0e6e1c2e704, %rcx # imm = 0xAFC24F191E3D18FC
cmpq %rcx, 0x8(%rax)
jne 0x86145
movq (%r14), %rax
movq 0x8(%rax), %rdx
jmp 0x86076
movq (%r14), %rdi
xorl %esi, %esi
xorl %edx, %edx
movl $0x1, %ecx
movq %rbx, %r8
xorl %r9d, %r9d
callq 0x6fedb
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movabsq $-0x240ec4eb25c1f3e8, %rcx # imm = 0xDBF13B14DA3E0C18
movq (%r14), %rdi
cmpq %rcx, 0x8(%rax)
jne 0x860bf
xorl %esi, %esi
jmp 0x8602a
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_null_member_s_setup
x_btcl_null_member_s* x_btcl_null_member_s_setup( x_btcl_null_member_s* o, sr_s* base, tp_t tp_name )
{
    // bcore_x_btcl.x:486:5
    
    sr_s_twm(&(o->base),sr_s_o_type(base), base->o );
    o->tp_name = tp_name;
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rdi, %r14
addq $0x8, %rdi
testq %rsi, %rsi
je 0x87264
movq 0x8(%rsi), %rax
testq %rax, %rax
je 0x87264
movq 0x8(%rax), %r15
movq (%rsi), %r12
callq 0x107ca9
testq %r15, %r15
je 0x8726c
movq %r15, %rdi
callq 0x1074f1
jmp 0x8726e
movq (%rsi), %r12
callq 0x107ca9
xorl %eax, %eax
movq %r12, 0x8(%r14)
movq %rax, 0x10(%r14)
movq $0x0, 0x18(%r14)
movq %rbx, 0x20(%r14)
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_function_s_setup_external_function
x_btcl_function_s* x_btcl_function_s_setup_external_function( x_btcl_function_s* o, tp_t name, s2_t arity, bl_t is_mutable, const x_btcl* object )
{
    // bcore_x_btcl.x:751:5
    
    x_btcl_signature_s_attach( &(o->signature ),  x_btcl_signature_s_create());
    bcore_arr_tp_s_set_size(&(o->signature->arg_list),arity );
    for(sz_t i = 0; i < arity; i++ ) o->signature->arg_list.data[ i ] = i + 1;
    x_btcl_external_function_s_attach( &(o->external_function ),  x_btcl_external_function_s_setup(x_btcl_external_function_s_create(),name, is_mutable, object ));
    x_btcl_block_s_attach( &(o->block ),  NULL);
    x_btcl_function_s_attach( &(o->tail  ),  NULL);
    return  o;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %r14
movl %ecx, %ebp
movl %edx, %r12d
movq %rsi, %r15
movq %rdi, %rbx
callq 0x8cc8a
movq %rax, %r13
movq 0x8(%rbx), %rdi
callq 0x8cd35
movq %r13, 0x8(%rbx)
addq $0x20, %r13
movslq %r12d, %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0xb9053
testl %r12d, %r12d
jle 0x872fb
movq 0x8(%rbx), %rax
negq %r12
movl $0x1, %ecx
movq 0x28(%rax), %rdx
movq %rcx, -0x8(%rdx,%rcx,8)
leaq (%r12,%rcx), %rdx
incq %rdx
incq %rcx
cmpq $0x1, %rdx
jne 0x872e2
callq 0x8d0e4
movq %rax, %r12
movzbl %bpl, %edx
movq %rax, %rdi
movq %r15, %rsi
movq %r14, %rcx
callq 0x8d30b
movq 0x18(%rbx), %rdi
callq 0x8d18f
movq %r12, 0x18(%rbx)
movq 0x10(%rbx), %rdi
callq 0x8c8db
xorl %r14d, %r14d
movq %r14, 0x10(%rbx)
movq 0x30(%rbx), %rdi
callq 0x8d9f9
movq %r14, 0x30(%rbx)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_null_arr_element_s_setup
x_btcl_null_arr_element_s* x_btcl_null_arr_element_s_setup( x_btcl_null_arr_element_s* o, sr_s* base, tp_t index )
{
    // bcore_x_btcl.x:520:5
    
    sr_s_twm(&(o->base),sr_s_o_type(base), base->o );
    o->index = index;
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rdi, %r14
addq $0x8, %rdi
testq %rsi, %rsi
je 0x87838
movq 0x8(%rsi), %rax
testq %rax, %rax
je 0x87838
movq 0x8(%rax), %r15
movq (%rsi), %r12
callq 0x107ca9
testq %r15, %r15
je 0x87840
movq %r15, %rdi
callq 0x1074f1
jmp 0x87842
movq (%rsi), %r12
callq 0x107ca9
xorl %eax, %eax
movq %r12, 0x8(%r14)
movq %rax, 0x10(%r14)
movq $0x0, 0x18(%r14)
movq %rbx, 0x20(%r14)
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_function_s_call_via_arg_list
er_t x_btcl_function_s_call_via_arg_list( x_btcl_function_s* o, x_source_point_s* source_point, x_btcl_frame_s* lexical_frame, x_btcl_list_s* arg_list1, sr_s* result )
{
    // bcore_x_btcl.x:871:1
    BLM_INIT_LEVEL(0);
    bcore_arr_sr_s* arg_list = bcore_arr_sr_s_set_size(((bcore_arr_sr_s*)BLM_LEVEL_T_PUSH(0,bcore_arr_sr_s,bcore_arr_sr_s_create())),x_btcl_list_s_size(arg_list1) );
    for(sz_t i = 0; i < arg_list->size; i++ ) sr_s_fork_from(&(arg_list->data[ i ]),&(arg_list1->arr.data[ i ] ));
    BLM_RETURNV(er_t, x_btcl_function_s_call(o,source_point, lexical_frame, arg_list, result ))
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %r8, 0x10(%rsp)
movq %rcx, %r12
movq %rdx, 0x8(%rsp)
movq %rsi, %r15
movq %rdi, %r13
leaq 0x112828(%rip), %rax    # 0x19bdd0
movq (%rax), %rsi
leaq 0x18(%rsp), %rbp
movq %rbp, %rdi
callq 0xd6675
movq $0x0, 0x10(%rbp)
xorl %eax, %eax
callq 0xbae9e
movabsq $-0x78ea303a4f284a4, %rdx # imm = 0xF8715CFC5B0D7B5C
movq %rbp, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xd68a8
movq 0x18(%r12), %rsi
movq %rax, %rdi
callq 0xbb055
movq %rax, %rbp
cmpq $0x0, 0x10(%rax)
je 0x8961b
xorl %ebx, %ebx
xorl %r14d, %r14d
movq 0x8(%rbp), %rdi
addq %rbx, %rdi
movq 0x10(%r12), %rsi
addq %rbx, %rsi
callq 0x107eb1
incq %r14
addq $0x18, %rbx
cmpq 0x10(%rbp), %r14
jb 0x895fa
movq %r13, %rdi
movq %r15, %rsi
movq 0x8(%rsp), %rdx
movq %rbp, %rcx
movq 0x10(%rsp), %r8
callq 0x8ddc3
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0xd6d2c
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_function_s_call_unary
er_t x_btcl_function_s_call_unary( x_btcl_function_s* o, x_source_point_s* source_point, x_btcl_frame_s* lexical_frame, sr_s* s_arg, sr_s* result )
{
    // bcore_x_btcl.x:862:1
    BLM_INIT_LEVEL(0);
    bcore_arr_sr_s* arg_list = ((bcore_arr_sr_s*)BLM_LEVEL_T_PUSH(0,bcore_arr_sr_s,bcore_arr_sr_s_create()));
    sr_s_fork_from(bcore_arr_sr_s_push_sr(arg_list,sr_null() ),s_arg );
    BLM_RETURNV(er_t, x_btcl_function_s_call(o,source_point, lexical_frame, arg_list, result ))
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %r8, 0x28(%rsp)
movq %rcx, %rbp
movq %rdx, 0x20(%rsp)
movq %rsi, %r12
movq %rdi, %r13
leaq 0x1123bc(%rip), %rax    # 0x19bdd0
movq (%rax), %rsi
leaq 0x48(%rsp), %r14
movq %r14, %rdi
callq 0xd6675
xorl %r15d, %r15d
movq %r15, 0x10(%r14)
xorl %eax, %eax
callq 0xbae9e
movabsq $-0x78ea303a4f284a4, %rdx # imm = 0xF8715CFC5B0D7B5C
movq %r14, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xd68a8
movq %rax, %rbx
xorps %xmm0, %xmm0
movaps %xmm0, 0x30(%rsp)
movq %r15, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x10(%rsp)
movaps 0x30(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %rbx, %rdi
callq 0xbb23d
movq %rax, %rdi
movq %rbp, %rsi
callq 0x107eb1
movq %r13, %rdi
movq %r12, %rsi
movq 0x20(%rsp), %rdx
movq %rbx, %rcx
movq 0x28(%rsp), %r8
callq 0x8ddc3
movq %rax, %rbx
movq %r14, %rdi
callq 0xd6d2c
movq %rbx, %rax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_clone_if_weak_or_twice_referenced
void x_btcl_clone_if_weak_or_twice_referenced( sr_s* sr )
{
    // bcore_x_btcl.x:154:1
    
    if( sr_s_is_weak(sr) || sr_s_references(sr) >= 2 )
    {
        bl_t is_const = sr_s_is_const(sr);
        (*(sr)) = sr_clone(*( sr ));
        sr_s_set_const(sr,is_const );
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rdi, %rbx
movq 0x10(%rdi), %r15
testb $0x2, %r15b
je 0x8a482
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x8a4c1
callq 0xbe7df
cmpq $0x2, %rax
jb 0x8a4c1
movq 0x10(%rbx), %r15
andl $0x1, %r15d
movq 0x10(%rbx), %rax
movq %rax, 0x10(%rsp)
movups (%rbx), %xmm0
movups %xmm0, (%rsp)
leaq 0x18(%rsp), %r14
movq %r14, %rdi
callq 0x107595
movq 0x10(%r14), %rax
movq %rax, 0x10(%rbx)
movups (%r14), %xmm0
movups %xmm0, (%rbx)
movq 0x10(%rbx), %rax
andq $-0x2, %rax
orq %r15, %rax
movq %rax, 0x10(%rbx)
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_frame_s_eval_op_continuation
er_t x_btcl_frame_s_eval_op_continuation( x_btcl_frame_s* o, s2_t op_priority, x_source* source, sr_s* sr )
{
    // bcore_x_btcl_op.x:390:1
    
    // if the last expression in a file, block or frame has a trailing semicolon, the continuation is ignored
    if( x_source_parse_bl(source," #=?([0]=='}'||[0]==')')" ) ) return  0;
    if( x_source_eos(source) ) return  0;
    
    sr_s_clear(sr);
    BLM_TRY(x_btcl_frame_s_eval(o,op_priority, source, sr ))
    return  0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rcx, %rbx
movq %rdx, %r14
movl %esi, 0x1c(%rsp)
movq %rdi, %r15
movq (%rdx), %r12
leaq 0x111ee4(%rip), %rbp    # 0x19ccc8
movl (%rbp), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %r12, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x8ae3a
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x8ae3a
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x8ae3a
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x8ae43
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x8ae6a
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
leaq 0x111e69(%rip), %rdi    # 0x19ccc8
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
leaq 0xadca8(%rip), %rdx     # 0x138b19
movq %r13, %rdi
movq %r14, %rsi
callq 0xffe2b
testb %al, %al
jne 0x8af9d
movq (%r14), %r12
movl (%rbp), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %r12, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x8aedd
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x8aedd
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x8aedd
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x8aee6
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x8af0d
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
leaq 0x111dc6(%rip), %rdi    # 0x19ccc8
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x40(%r13), %rax
testq %rax, %rax
jne 0x8af29
leaq 0xaee6c(%rip), %rsi     # 0x139d89
movq %r13, %rdi
callq 0xeb49c
movq 0x40(%r13), %rax
movq %r14, %rdi
callq *%rax
testb %al, %al
jne 0x8af9d
testq %rbx, %rbx
je 0x8af72
movq 0x10(%rbx), %rax
movq %rax, 0x30(%rsp)
movups (%rbx), %xmm0
movaps %xmm0, 0x20(%rsp)
testb $0x2, %al
je 0x8af64
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movaps 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0x107590
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
movq %r15, %rdi
movl 0x1c(%rsp), %esi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x81403
testq %rax, %rax
je 0x8af9d
movq %rax, %rbx
leaq 0x110e3d(%rip), %rax    # 0x19bdd0
movq (%rax), %rdi
callq 0xd6d2c
jmp 0x8af9f
xorl %ebx, %ebx
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_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_list_s_to_sink
er_t x_btcl_list_s_to_sink( const x_btcl_list_s* o, bl_t detailed, x_sink* sink )
{
    // bcore_x_btcl.x:562:5
    
    x_sink_push_fa(sink,"[" );
    if( detailed ) x_sink_push_fa(sink,"\n" );
    for(sz_t i = 0; i < o->arr.size; i++ )
    {
        BLM_TRY(x_btcl_to_sink(detailed,&( o->arr.data[ i ]), sink ))
        if( i < o->arr.size - 1 )
        {
            x_sink_push_fa(sink,"," );
            if( detailed ) x_sink_push_fa(sink,"\n" );
        }
    }
    x_sink_push_fa(sink,"]" );
    if( detailed ) x_sink_push_fa(sink,"\n" );
    return  0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rbx
movl %esi, %ebp
movq %rdi, %r14
leaq 0xa4c9f(%rip), %rsi     # 0x1311e2
movq %rdx, %rdi
xorl %eax, %eax
callq 0x55790
testl %ebp, %ebp
je 0x8c562
leaq 0xbc1bc(%rip), %rsi     # 0x148714
movq %rbx, %rdi
xorl %eax, %eax
callq 0x55790
cmpq $0x0, 0x18(%r14)
je 0x8c5c5
movzbl %bpl, %r15d
xorl %r13d, %r13d
xorl %r12d, %r12d
movq 0x10(%r14), %rsi
addq %r13, %rsi
movl %r15d, %edi
movq %rbx, %rdx
callq 0x85fea
movq 0x18(%r14), %rax
decq %rax
cmpq %rax, %r12
jae 0x8c5b8
movq %rbx, %rdi
leaq 0xa1ba9(%rip), %rsi     # 0x12e144
xorl %eax, %eax
callq 0x55790
testb %bpl, %bpl
je 0x8c5b8
movq %rbx, %rdi
leaq 0xbc163(%rip), %rsi     # 0x148714
xorl %eax, %eax
callq 0x55790
incq %r12
addq $0x18, %r13
cmpq 0x18(%r14), %r12
jb 0x8c573
leaq 0xab64b(%rip), %rsi     # 0x137c17
movq %rbx, %rdi
xorl %eax, %eax
callq 0x55790
testb %bpl, %bpl
je 0x8c5ec
leaq 0xbc132(%rip), %rsi     # 0x148714
movq %rbx, %rdi
xorl %eax, %eax
callq 0x55790
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_external_function_s_setup
x_btcl_external_function_s* x_btcl_external_function_s_setup( x_btcl_external_function_s* o, tp_t name, bl_t is_mutable, const x_btcl* object )
{
    // bcore_x_btcl.x:708:5
    
    o->name = name;
    o->is_mutable = is_mutable;
    x_btcl_a_attach( &(o->object ), (x_btcl*)( ((x_btcl*)bcore_fork(((x_btcl*)(object))))));
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdi, %rbx
movq %rsi, 0x8(%rdi)
movb %dl, 0x10(%rdi)
movq %rcx, %rdi
callq 0xbe7e4
movq %rax, %r14
testq %rax, %rax
je 0x8d340
movq (%r14), %rsi
movabsq $-0x12565a3dacdb0ecf, %rdi # imm = 0xEDA9A5C25324F131
callq 0x116fb0
movq 0x18(%rbx), %r15
testq %r15, %r15
je 0x8d3ea
movq (%r15), %r12
leaq 0x10f111(%rip), %rax    # 0x19c468
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 0x8d3ad
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x8d3ad
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x8d3ad
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x8d3b6
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x8d3dd
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
leaq 0x10f096(%rip), %rdi    # 0x19c468
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r13, %rdi
movq %r15, %rsi
callq *0xb8(%r13)
movq %r14, 0x18(%rbx)
movq %rbx, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_function_s_setup_wrapped_function
x_btcl_function_s* x_btcl_function_s_setup_wrapped_function( x_btcl_function_s* o, x_btcl_function_s* wrapped_function, bcore_arr_sr_s* wrapped_arg_list )
{
    // bcore_x_btcl.x:762:5
    BLM_INIT_LEVEL(0);
    x_btcl_function_s_attach( &(o->wrapped_function ),  ((x_btcl_function_s*)bcore_fork(wrapped_function)));
    bcore_arr_sr_s_attach( &(o->wrapped_arg_list ),  ((bcore_arr_sr_s*)bcore_fork(wrapped_arg_list)));
    
    x_btcl_signature_s* signature = ((x_btcl_signature_s*)BLM_LEVEL_T_PUSH(0,x_btcl_signature_s,x_btcl_signature_s_create()));
    for(sz_t i = wrapped_arg_list->size; i < o->wrapped_function->signature->arg_list.size; i++ )
    {
        bcore_arr_tp_s_push(&(signature->arg_list),o->wrapped_function->signature->arg_list.data[ i ] );
    }
    
    x_btcl_signature_s_attach( &(o->signature ),  ((x_btcl_signature_s*)bcore_fork(signature)));
    BLM_RETURNV(x_btcl_function_s*, o)
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdx, %r14
movq %rsi, %r12
movq %rdi, %rbx
leaq 0x10e240(%rip), %rax    # 0x19bdd0
movq (%rax), %rsi
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0xd6675
movq $0x0, 0x10(%r15)
movq %r12, %rdi
callq 0xbe7e4
movq %rax, %r12
movq 0x20(%rbx), %rdi
callq 0x8d9f9
movq %r12, 0x20(%rbx)
movq %r14, %rdi
callq 0xbe7e4
movq %rax, %r12
movq 0x28(%rbx), %rdi
callq 0xbaebb
movq %r12, 0x28(%rbx)
callq 0x8cc8a
movabsq $0x7e995b597f71cb9a, %rdx # imm = 0x7E995B597F71CB9A
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xd68a8
movq %rax, %r15
movq 0x10(%r14), %r12
movq 0x20(%rbx), %rax
movq 0x8(%rax), %rax
cmpq 0x30(%rax), %r12
jae 0x8dc31
movq %r15, %r14
addq $0x20, %r14
movq 0x28(%rax), %rax
movq (%rax,%r12,8), %rsi
movq %r14, %rdi
callq 0xb90d3
incq %r12
movq 0x20(%rbx), %rax
movq 0x8(%rax), %rax
cmpq 0x30(%rax), %r12
jb 0x8dc10
movq %r15, %rdi
callq 0xbe7e4
movq %rax, %r14
movq 0x8(%rbx), %rdi
callq 0x8cd35
movq %r14, 0x8(%rbx)
leaq 0x8(%rsp), %rdi
callq 0xd6d2c
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_function_s_append_tail
x_btcl_function_s* x_btcl_function_s_append_tail( x_btcl_function_s* o, const x_btcl_function_s* tail )
{
    // bcore_x_btcl.x:777:5
    
    if( !o->tail )
    {
        x_btcl_function_s_attach( &(o->tail ),  x_btcl_function_s_clone(tail));
    }
    else
    {
        x_btcl_function_s_append_tail(o->tail,tail );
    }
    return  o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movq 0x30(%rdi), %rax
movq %rdi, %r15
testq %rax, %rax
je 0x8dc85
movq %rax, %r15
movq 0x30(%rax), %rcx
movq %rcx, %rax
testq %rcx, %rcx
jne 0x8dc76
movq %rsi, %rdi
callq 0x8dab6
movq %rax, %r14
movq 0x30(%r15), %rdi
callq 0x8d9f9
movq %r14, 0x30(%r15)
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_function_s_setup_frame
er_t x_btcl_function_s_setup_frame( x_btcl_function_s* o, x_btcl_frame_s* lexical_frame, x_source_point_s* source_point, x_btcl_frame_s* frame )
{
    // bcore_x_btcl.x:799:1
    
    if( lexical_frame->depth >= x_btcl_max_frame_depth() ) return  x_source_point_s_parse_error_fa(source_point,"Maximum frame depth (#<sz_t>) exceeded. Check for unguarded recursions.\n", x_btcl_max_frame_depth() );
    x_btcl_frame_s_setup(frame,lexical_frame );
    x_btcl_frame_s_var_set(frame,TYPEOF_self, sr_asm(((x_inst*)( ((x_btcl_function_s*)bcore_fork(o)) ))) );
    
    return  0;
}

// Assembly:
cmpq $0x500, 0x18(%rsi)      # imm = 0x500
jl 0x8dcc6
movq %rdx, %rax
leaq 0xaaf62(%rip), %rsi     # 0x138c1c
movl $0x500, %edx            # imm = 0x500
movq %rax, %rdi
xorl %eax, %eax
jmp 0x8dd3f
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rcx, %rbx
movq %rdi, %r14
movq %rcx, %rdi
callq 0x7f934
movq %r14, %rdi
callq 0xbe7e4
movq %rax, %r14
testq %rax, %rax
je 0x8dcf5
movq (%r14), %rdi
callq 0x1074f1
jmp 0x8dcf7
xorl %eax, %eax
movq %r14, 0x20(%rsp)
movq %rax, 0x28(%rsp)
movl $0x2, %eax
movq %rax, 0x30(%rsp)
addq $0x78, %rbx
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movabsq $0x2d19e518d40792b7, %rsi # imm = 0x2D19E518D40792B7
movq %rbx, %rdi
callq 0xd4234
xorl %eax, %eax
addq $0x38, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_selftest
void x_btcl_selftest( sc_t file )
{
    // bcore_x_btcl.x:1499:1
    BLM_INIT_LEVEL(0);
    sr_s* obj = ((sr_s*)BLM_LEVEL_T_PUSH(0,sr_s,sr_s_create()));
    BLM_TRY_EXIT(x_btcl_parse_create_object(((x_source*)BLM_LEVEL_A_PUSH(0,x_source_check_create_from_file(file ))), obj ))
    ASSERT( obj->o );
    ASSERT( sr_s_is_numeric(obj) );
    ASSERT( sr_s_to_s3(obj) == 0 );
    BLM_DOWN();
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x70, %rsp
movq %rdi, %r15
leaq 0x10cfee(%rip), %r12    # 0x19bdd0
movq (%r12), %rsi
leaq 0x10(%rsp), %r14
movq %r14, 0x8(%rsp)
movq %r14, %rdi
callq 0xd6675
xorl %r13d, %r13d
movq %r13, 0x10(%r14)
xorl %eax, %eax
callq 0x107e03
movabsq $0x79b76918ff0af12a, %rdx # imm = 0x79B76918FF0AF12A
movq %r14, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xd68a8
movq %rax, %rbx
movq %r15, %rdi
callq 0x558c7
movq %r14, %rdi
xorl %esi, %esi
movq %rax, %rdx
callq 0xd6b17
movq %rax, %r14
movq (%r12), %rsi
leaq 0x40(%rsp), %r15
movq %r15, %rdi
callq 0xd6675
movq %r13, 0x10(%r15)
callq 0x7e0d5
movabsq $0x56270522f5daaafb, %rdx # imm = 0x56270522F5DAAAFB
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xd68a8
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x7e46d
movq %rax, %r14
movq %r15, %rdi
callq 0xd6d2c
testq %r14, %r14
je 0x8ee99
leaq 0x10(%rsp), %rdi
callq 0xd6d2c
movl %r14d, %edi
callq 0x54258
cmpq $0x0, (%rbx)
jne 0x8eec8
leaq 0x9e7a1(%rip), %rdi     # 0x12d647
leaq 0xa9e88(%rip), %rsi     # 0x138d35
leaq 0xa9e88(%rip), %rdx     # 0x138d3c
leaq 0xa8473(%rip), %rcx     # 0x13732e
movl $0x1adf, %r8d           # imm = 0x1ADF
xorl %eax, %eax
callq 0xbe4ef
movq %rbx, %rdi
callq 0x108085
testb %al, %al
jne 0x8eefd
leaq 0x9e76c(%rip), %rdi     # 0x12d647
leaq 0xa9e6a(%rip), %rsi     # 0x138d4c
leaq 0xa9e53(%rip), %rdx     # 0x138d3c
leaq 0xa843e(%rip), %rcx     # 0x13732e
movl $0x1ae0, %r8d           # imm = 0x1AE0
xorl %eax, %eax
callq 0xbe4ef
movq %rbx, %rdi
callq 0x1088f4
testq %rax, %rax
je 0x8ef33
leaq 0x9e736(%rip), %rdi     # 0x12d647
leaq 0xa9e49(%rip), %rsi     # 0x138d61
leaq 0xa9e1d(%rip), %rdx     # 0x138d3c
leaq 0xa8408(%rip), %rcx     # 0x13732e
movl $0x1ae1, %r8d           # imm = 0x1AE1
xorl %eax, %eax
callq 0xbe4ef
leaq 0x8(%rsp), %rdi
callq 0xd6d0d
addq $0x70, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_uop_s_copy
BCORE_DEFINE_OBJECT_INST_P_NASC_END( x_btcl_operator_uop_s )

x_btcl_operator_uop_s* x_btcl_operator_uop_s__( x_btcl_operator_uop_s* o, tp_t type, sr_s* a, x_source_point_s* source_point )
{
    // bcore_x_btcl_operator.x:88:5
    
    o->type = type;
    sr_s_tsm(&(o->a),sr_s_type(a), ((x_inst*)bcore_fork(a->o)) );
    if( source_point ) x_source_point_s_copy(&(o->sp),source_point );
    return o;
}

// Assembly:
cmpq %rsi, %rdi
je 0x8f1eb
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movabsq $-0x644282552f36739d, %r15 # imm = 0x9BBD7DAAD0C98C63
leaq 0x10d321(%rip), %rax    # 0x19c468
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 0x8f19d
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x8f19d
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x8f19d
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x8f1a6
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x8f1cd
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x10d2a6(%rip), %rdi    # 0x19c468
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
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
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_uop_s_solve
er_t x_btcl_operator_uop_s_solve( x_btcl_operator_uop_s* o, x_btcl_frame_s* frame, sr_s* result, bl_t* success )
{
    // bcore_x_btcl_operator.x:160:1
    
    BLM_TRY(x_btcl_operator_uop_s_solve_exportable_a(o,&(o->a), result, success ))
    if( (*(success)) ) return  0;
    
    if( x_btcl_operator_sr_is_exportable_operand(&(o->a )) )
    {
        sr_s_asc(result,((x_btcl_operator_uop_s*)bcore_fork(o)) );
        (*(success)) = true;
    }
    
    return  0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %rbx
movq %rdx, %r14
movq %rdi, %r15
leaq 0x10(%rdi), %rsi
callq 0x8f6e0
cmpb $0x0, (%rbx)
jne 0x8fe3f
movq 0x18(%r15), %rax
testq %rax, %rax
je 0x8fd67
movq 0x8(%rax), %r13
jmp 0x8fd6a
xorl %r13d, %r13d
movq 0x10(%r15), %r12
leaq 0x10a91b(%rip), %rax    # 0x19a690
movl 0x10a915(%rip), %ecx    # 0x19a690
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 0x8fdcf
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r13, %rdx
je 0x8fdcf
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r13, %rdx
je 0x8fdcf
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r13, %rdx
jne 0x8fdd8
movq (%rax,%rcx), %rbp
testq %rbp, %rbp
jne 0x8fdff
movabsq $-0x2d60bfcb4cae7a7a, %rdi # imm = 0xD29F4034B3518586
movq %r13, %rsi
callq 0xe9bc5
movq %rax, %rbp
leaq 0x10a89c(%rip), %rdi    # 0x19a690
movq %r13, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r12, %rdi
callq *0x18(%rbp)
testb %al, %al
je 0x8fe3f
movq %r15, %rdi
callq 0xbe7e4
movq %rax, %r15
movq %r14, %rdi
callq 0x107ca9
testq %r15, %r15
je 0x8fe2b
movq (%r15), %rdi
callq 0x1074f1
jmp 0x8fe2d
xorl %eax, %eax
movq %r15, (%r14)
movq %rax, 0x8(%r14)
movq $0x3, 0x10(%r14)
movb $0x1, (%rbx)
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq