// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_target_s_expand_c
er_t xoico_target_s_expand_c( const xoico_target_s* o, sz_t indent, x_sink* sink, tp_t* body_signature )
{
    // xoico_target.x:362:1
    BLM_INIT_LEVEL(0);
    st_s sink_buf;BLM_T_INIT_SPUSH(st_s, &sink_buf);;
    tp_t body_hash = bcore_tp_init();
    
    BLM_TRY(xoico_target_s_expand_update_time(o,indent, sink ))
    
    BLM_TRY(xoico_target_s_expand_heading(o,indent,((x_sink*)(&( sink_buf )))))
    
    st_s_push_fa(&(sink_buf),"\n" );
    st_s_push_fa(&(sink_buf),"#rn{ }##include \"#<sc_t>.h\"\n", indent, o->include_path.sc );
    st_s_push_fa(&(sink_buf),"#rn{ }##include \"bcore_spect.h\"\n", indent );
    st_s_push_fa(&(sink_buf),"#rn{ }##include \"bcore_spect_inst.h\"\n", indent );
    st_s_push_fa(&(sink_buf),"#rn{ }##include \"bcore_sr.h\"\n", indent );
    st_s_push_fa(&(sink_buf),"#rn{ }##include \"bcore_const_manager.h\"\n", indent );
    st_s_push_fa(&(sink_buf),"\n" );
    
    body_hash = bcore_tp_fold_sc( body_hash, sink_buf.sc );
    x_sink_push_data(sink,( vc_t )sink_buf.sc, sink_buf.size );
    st_s_clear(&(sink_buf));
    
    x_sink_push_fa(sink,"#rn{ }// To force a rebuild of this target by xoico, reset the hash key value below to 0.\n", indent );
    x_sink_push_fa(sink,"#rn{ }// HKEYOF_#<sc_t> 0x#pl16'0'{#X<tp_t>}ull\n", indent, o->name.sc, xoico_target_s_get_hash(o) );
    
    /// definition section
    {const xoico_target_s* __a=o ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_source_s* e=__a->data[__i]; BLM_TRY(xoico_source_s_expand_definition(e,((const xoico_host*)(o)), indent,((x_sink*)(&( sink_buf )))))
    
    /// signal section
    }}st_s_push_fa(&(sink_buf),"\n" );
    st_s_push_fa(&(sink_buf),"#rn{ }/*#rn{*}*/\n", indent, sz_max( 0, 116 - indent ) );
    st_s_push_fa(&(sink_buf),"\n" );
    
    /// prototypes of signal handlers this target depends on
    {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];
    {
        const xoico_target_s* target = o->compiler->data[ target_idx ];
        if( target->signal_handler_name.size > 0 )
        {
            st_s_push_fa(&(sink_buf),"#rn{ }vd_t #<sc_t>( const bcore_signal_s* o );\n", indent, target->signal_handler_name.sc );
        }
    }
    
    }}st_s_push_fa(&(sink_buf),"\n" );
    st_s_push_fa(&(sink_buf),"#rn{ }vd_t #<sc_t>_#<sc_t>_signal_handler( const bcore_signal_s* o )\n", indent, o->name.sc, o->ext.sc );
    st_s_push_fa(&(sink_buf),"#rn{ }{\n", indent );
    st_s_push_fa(&(sink_buf),"#rn{ }    switch( bcore_signal_s_handle_type( o, typeof( \"#<sc_t>_#<sc_t>\" ) ) )\n", indent, o->name.sc, o->ext.sc );
    st_s_push_fa(&(sink_buf),"#rn{ }    {\n", indent );
    
    st_s_push_fa(&(sink_buf),"#rn{ }        case TYPEOF_init1:\n", indent );
    st_s_push_fa(&(sink_buf),"#rn{ }        {\n", indent );
    BLM_TRY(xoico_target_s_expand_init1(o,indent + 12,((x_sink*)(&( sink_buf )))))
    {const xoico_target_s* __a=o ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_source_s* e=__a->data[__i]; BLM_TRY(xoico_source_s_expand_init1(e,((const xoico_host*)(o)), indent + 12,((x_sink*)(&( sink_buf )))))
    }}st_s_push_fa(&(sink_buf),"#rn{ }        }\n", indent );
    st_s_push_fa(&(sink_buf),"#rn{ }        break;\n", indent );
    
    st_s_push_fa(&(sink_buf),"#rn{ }        case TYPEOF_down1:\n", indent );
    st_s_push_fa(&(sink_buf),"#rn{ }        {\n", indent );
    BLM_TRY(xoico_target_s_expand_init1(o,indent + 12,((x_sink*)(&( sink_buf )))))
    {const xoico_target_s* __a=o ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_source_s* e=__a->data[__i]; BLM_TRY(xoico_source_s_expand_down1(e,((const xoico_host*)(o)), indent + 12,((x_sink*)(&( sink_buf )))))
    }}st_s_push_fa(&(sink_buf),"#rn{ }        }\n", indent );
    st_s_push_fa(&(sink_buf),"#rn{ }        break;\n", indent );
    
    if( o->dependencies.size > 0 )
    {
        st_s_push_fa(&(sink_buf),"#rn{ }        case TYPEOF_push_dependencies:\n", indent );
        st_s_push_fa(&(sink_buf),"#rn{ }        {\n", indent );
        st_s_push_fa(&(sink_buf),"#rn{ }            ASSERT( o->object && ( *( aware_t* )o->object ) == TYPEOF_bcore_arr_fp_s );\n", indent );
        st_s_push_fa(&(sink_buf),"#rn{ }            bcore_arr_fp_s* arr_fp = o->object;\n", indent );
        {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];
        {
            const xoico_target_s* target = o->compiler->data[ target_idx ];
            if( target->signal_handler_name.size > 0 )
            {
                st_s_push_fa(&(sink_buf),"#rn{ }            bcore_arr_fp_s_push( arr_fp, ( fp_t )#<sc_t> );\n", indent, target->signal_handler_name.sc );
            }
        }
        }}st_s_push_fa(&(sink_buf),"#rn{ }        }\n", indent );
        st_s_push_fa(&(sink_buf),"#rn{ }        break;\n", indent );
    }
    
    st_s_push_fa(&(sink_buf),"#rn{ }        default: break;\n", indent );
    st_s_push_fa(&(sink_buf),"#rn{ }    }\n", indent );
    st_s_push_fa(&(sink_buf),"#rn{ }    return NULL;\n", indent );
    st_s_push_fa(&(sink_buf),"#rn{ }}\n", indent );
    
    if( o->define_signal_handler )
    {
        st_s_push_fa(&(sink_buf),"#rn{ }BETH_SIGNAL_DEFINE( #<sc_t> )\n", indent, o->name.sc );
    }
    
    if( o->main_function )
    {
        bl_t c_style = ( o->main_function->signature->args.size == 2 );
    
        st_s_push_fa(&(sink_buf),"\n" );
        st_s_push_fa(&(sink_buf),"#rn{ }int main( int argc, char** argv )\n", indent );
        st_s_push_fa(&(sink_buf),"#rn{ }{\n", indent );
        st_s_push_fa(&(sink_buf),"#rn{ }    BETH_USE( #<sc_t> );\n", indent, o->name.sc );
    
        if( c_style )
        {
            st_s_push_fa(&(sink_buf),"#rn{ }    int retv = #<sc_t>( argc, argv );\n", indent, xoico_compiler_s_nameof(o->compiler,o->main_function->global_name ) );
        }
        else
        {
            st_s_push_fa(&(sink_buf),"#rn{ }    bcore_arr_st_s* args = bcore_arr_st_s_create();\n", indent );
            st_s_push_fa(&(sink_buf),"#rn{ }    for( sz_t i = 0; i < argc; i++ ) bcore_arr_st_s_push_sc( args, argv[ i ] );\n", indent );
            st_s_push_fa(&(sink_buf),"#rn{ }    int retv = #<sc_t>( args );\n", indent, xoico_compiler_s_nameof(o->compiler,o->main_function->global_name ) );
            st_s_push_fa(&(sink_buf),"#rn{ }    bcore_arr_st_s_discard( args );\n", indent );
        }
    
        st_s_push_fa(&(sink_buf),"#rn{ }    BETH_CLOSEV( 0 );\n", indent );
        st_s_push_fa(&(sink_buf),"#rn{ }    return retv;\n", indent );
        st_s_push_fa(&(sink_buf),"#rn{ }}\n", indent );
    }
    
    body_hash = bcore_tp_fold_sc( body_hash, sink_buf.sc );
    x_sink_push_data(sink,( vc_t )sink_buf.sc, sink_buf.size );
    st_s_clear(&(sink_buf));
    
    x_sink_push_fa(sink,"// XOICO_BODY_SIGNATURE 0x#pl16'0'{#X<tp_t>}\n", body_hash );
    if( body_signature ) (*(body_signature)) = body_hash;
    
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1d0, %rsp            # imm = 0x1D0
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
leaq 0x1934ce(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x30(%rbp)
leaq -0x60(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0xbfe80
movq -0x68(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq $0x0, 0x10(%rax)
leaq -0x88(%rbp), %rdi
callq 0xfe150
movq -0x30(%rbp), %rdi
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
leaq -0x88(%rbp), %rdx
callq 0xc0220
callq 0x40f10
movq %rax, -0x90(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x1e290
movq %rax, -0x98(%rbp)
cmpq $0x0, -0x98(%rbp)
je 0x1ef0d
movq -0x98(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x68(%rbp), %rdi
callq 0xc0720
movq -0xa0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1faac
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x88(%rbp), %rdx
callq 0x1e360
movq %rax, -0xa8(%rbp)
cmpq $0x0, -0xa8(%rbp)
je 0x1ef59
movq -0xa8(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x68(%rbp), %rdi
callq 0xc0720
movq -0xb0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1faac
leaq -0x88(%rbp), %rdi
leaq 0x133aba(%rip), %rsi    # 0x152a21
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
movq -0x10(%rbp), %rax
movq 0x60(%rax), %rcx
leaq -0x88(%rbp), %rdi
leaq 0x116a5d(%rip), %rsi    # 0x1359e5
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116b0a(%rip), %rsi    # 0x135aab
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116b12(%rip), %rsi    # 0x135acc
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116b1f(%rip), %rsi    # 0x135af2
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116b24(%rip), %rsi    # 0x135b10
movb $0x0, %al
callq 0x100210
leaq -0x88(%rbp), %rdi
leaq 0x133a20(%rip), %rsi    # 0x152a21
movb $0x0, %al
callq 0x100210
movq -0x90(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0xa4d0
movq %rax, -0x90(%rbp)
movq -0x20(%rbp), %rdi
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
callq 0x1edf0
leaq -0x88(%rbp), %rdi
callq 0xffb50
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x116aee(%rip), %rsi    # 0x135b39
movb $0x0, %al
callq 0x56e0
movq -0x20(%rbp), %rax
movq %rax, -0x1b0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x1a8(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x1a0(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1dbf0
movq -0x1b0(%rbp), %rdi
movq -0x1a8(%rbp), %rdx
movq -0x1a0(%rbp), %rcx
movq %rax, %r8
leaq 0x116af5(%rip), %rsi    # 0x135b94
movb $0x0, %al
callq 0x56e0
movq -0x10(%rbp), %rax
movq %rax, -0xb8(%rbp)
cmpq $0x0, -0xb8(%rbp)
je 0x1f173
movq $0x0, -0xc0(%rbp)
movq -0xc0(%rbp), %rax
movq -0xb8(%rbp), %rcx
cmpq 0xa0(%rcx), %rax
jae 0x1f171
movq -0xb8(%rbp), %rax
movq 0x98(%rax), %rax
movq -0xc0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1c290
movq %rax, -0xd0(%rbp)
cmpq $0x0, -0xd0(%rbp)
je 0x1f158
movq -0xd0(%rbp), %rax
movq %rax, -0xd8(%rbp)
movq -0x68(%rbp), %rdi
callq 0xc0720
movq -0xd8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1faac
jmp 0x1f15a
movq -0xc0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xc0(%rbp)
jmp 0x1f0ca
jmp 0x1f173
leaq -0x88(%rbp), %rdi
leaq 0x1338a0(%rip), %rsi    # 0x152a21
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movl $0x74, %esi
subq -0x18(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x16cc0
movq -0x1b8(%rbp), %rdx
movq %rax, %rcx
leaq -0x88(%rbp), %rdi
leaq 0x116341(%rip), %rsi    # 0x1354fe
movb $0x0, %al
callq 0x100210
leaq -0x88(%rbp), %rdi
leaq 0x13384f(%rip), %rsi    # 0x152a21
movb $0x0, %al
callq 0x100210
movq -0x10(%rbp), %rax
addq $0xd8, %rax
movq %rax, -0xe0(%rbp)
cmpq $0x0, -0xe0(%rbp)
je 0x1f2ac
movq $0x0, -0xe8(%rbp)
movq -0xe8(%rbp), %rax
movq -0xe0(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x1f2aa
movq -0xe0(%rbp), %rax
movq 0x8(%rax), %rax
movq -0xe8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0xf0(%rbp)
movq -0x10(%rbp), %rax
movq 0x138(%rax), %rax
movq 0x8(%rax), %rax
movq -0xf0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rax
cmpq $0x0, 0xc0(%rax)
jbe 0x1f291
movq -0x18(%rbp), %rdx
movq -0xf8(%rbp), %rax
movq 0xb8(%rax), %rcx
leaq -0x88(%rbp), %rdi
leaq 0x11693b(%rip), %rsi    # 0x135bc5
movb $0x0, %al
callq 0x100210
jmp 0x1f293
movq -0xe8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xe8(%rbp)
jmp 0x1f203
jmp 0x1f2ac
leaq -0x88(%rbp), %rdi
leaq 0x133767(%rip), %rsi    # 0x152a21
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
movq -0x10(%rbp), %rax
movq 0x30(%rax), %r8
leaq -0x88(%rbp), %rdi
leaq 0x116912(%rip), %rsi    # 0x135bf5
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x114e68(%rip), %rsi    # 0x134164
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
movq -0x10(%rbp), %rax
movq 0x30(%rax), %r8
leaq -0x88(%rbp), %rdi
leaq 0x116916(%rip), %rsi    # 0x135c3b
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x114e46(%rip), %rsi    # 0x134184
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116936(%rip), %rsi    # 0x135c8d
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x11693f(%rip), %rsi    # 0x135caf
movb $0x0, %al
callq 0x100210
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
addq $0xc, %rsi
leaq -0x88(%rbp), %rdx
callq 0x1ee20
movq %rax, -0x100(%rbp)
cmpq $0x0, -0x100(%rbp)
je 0x1f3c7
movq -0x100(%rbp), %rax
movq %rax, -0x108(%rbp)
movq -0x68(%rbp), %rdi
callq 0xc0720
movq -0x108(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1faac
movq -0x10(%rbp), %rax
movq %rax, -0x110(%rbp)
cmpq $0x0, -0x110(%rbp)
je 0x1f498
movq $0x0, -0x118(%rbp)
movq -0x118(%rbp), %rax
movq -0x110(%rbp), %rcx
cmpq 0xa0(%rcx), %rax
jae 0x1f496
movq -0x110(%rbp), %rax
movq 0x98(%rax), %rax
movq -0x118(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x120(%rbp)
movq -0x120(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0xc, %rdx
leaq -0x88(%rbp), %rcx
callq 0x1c860
movq %rax, -0x128(%rbp)
cmpq $0x0, -0x128(%rbp)
je 0x1f47d
movq -0x128(%rbp), %rax
movq %rax, -0x130(%rbp)
movq -0x68(%rbp), %rdi
callq 0xc0720
movq -0x130(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1faac
jmp 0x1f47f
movq -0x118(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x118(%rbp)
jmp 0x1f3eb
jmp 0x1f498
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116816(%rip), %rsi    # 0x135cc0
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x11680e(%rip), %rsi    # 0x135cd1
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x11680b(%rip), %rsi    # 0x135ce7
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x1167ba(%rip), %rsi    # 0x135caf
movb $0x0, %al
callq 0x100210
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
addq $0xc, %rsi
leaq -0x88(%rbp), %rdx
callq 0x1ee20
movq %rax, -0x138(%rbp)
cmpq $0x0, -0x138(%rbp)
je 0x1f54c
movq -0x138(%rbp), %rax
movq %rax, -0x140(%rbp)
movq -0x68(%rbp), %rdi
callq 0xc0720
movq -0x140(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1faac
movq -0x10(%rbp), %rax
movq %rax, -0x148(%rbp)
cmpq $0x0, -0x148(%rbp)
je 0x1f61d
movq $0x0, -0x150(%rbp)
movq -0x150(%rbp), %rax
movq -0x148(%rbp), %rcx
cmpq 0xa0(%rcx), %rax
jae 0x1f61b
movq -0x148(%rbp), %rax
movq 0x98(%rax), %rax
movq -0x150(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x158(%rbp)
movq -0x158(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0xc, %rdx
leaq -0x88(%rbp), %rcx
callq 0x1c9a0
movq %rax, -0x160(%rbp)
cmpq $0x0, -0x160(%rbp)
je 0x1f602
movq -0x160(%rbp), %rax
movq %rax, -0x168(%rbp)
movq -0x68(%rbp), %rdi
callq 0xc0720
movq -0x168(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x1faac
jmp 0x1f604
movq -0x150(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x150(%rbp)
jmp 0x1f570
jmp 0x1f61d
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116691(%rip), %rsi    # 0x135cc0
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116689(%rip), %rsi    # 0x135cd1
movb $0x0, %al
callq 0x100210
movq -0x10(%rbp), %rax
cmpq $0x0, 0xe8(%rax)
jbe 0x1f7ca
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116696(%rip), %rsi    # 0x135d09
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116623(%rip), %rsi    # 0x135caf
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116692(%rip), %rsi    # 0x135d37
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x1166d8(%rip), %rsi    # 0x135d96
movb $0x0, %al
callq 0x100210
movq -0x10(%rbp), %rax
addq $0xd8, %rax
movq %rax, -0x170(%rbp)
cmpq $0x0, -0x170(%rbp)
je 0x1f798
movq $0x0, -0x178(%rbp)
movq -0x178(%rbp), %rax
movq -0x170(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x1f796
movq -0x170(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x178(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x180(%rbp)
movq -0x10(%rbp), %rax
movq 0x138(%rax), %rax
movq 0x8(%rax), %rax
movq -0x180(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x188(%rbp)
movq -0x188(%rbp), %rax
cmpq $0x0, 0xc0(%rax)
jbe 0x1f77d
movq -0x18(%rbp), %rdx
movq -0x188(%rbp), %rax
movq 0xb8(%rax), %rcx
leaq -0x88(%rbp), %rdi
leaq 0x116657(%rip), %rsi    # 0x135dcd
movb $0x0, %al
callq 0x100210
jmp 0x1f77f
movq -0x178(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x178(%rbp)
jmp 0x1f6ef
jmp 0x1f798
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116516(%rip), %rsi    # 0x135cc0
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x11650e(%rip), %rsi    # 0x135cd1
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116634(%rip), %rsi    # 0x135e10
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x114a4b(%rip), %rsi    # 0x134240
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116621(%rip), %rsi    # 0x135e2f
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x114a3c(%rip), %rsi    # 0x134263
movb $0x0, %al
callq 0x100210
movq -0x10(%rbp), %rax
testb $0x1, 0xd0(%rax)
je 0x1f85c
movq -0x18(%rbp), %rdx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
leaq -0x88(%rbp), %rdi
leaq 0x1165f2(%rip), %rsi    # 0x135e47
movb $0x0, %al
callq 0x100210
movq -0x10(%rbp), %rax
cmpq $0x0, 0x140(%rax)
je 0x1fa2b
movq -0x10(%rbp), %rax
movq 0x140(%rax), %rax
movq 0x40(%rax), %rax
cmpq $0x2, 0x68(%rax)
sete %al
andb $0x1, %al
movb %al, -0x189(%rbp)
leaq -0x88(%rbp), %rdi
leaq 0x133186(%rip), %rsi    # 0x152a21
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x1165b8(%rip), %rsi    # 0x135e6c
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x114897(%rip), %rsi    # 0x134164
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
leaq -0x88(%rbp), %rdi
leaq 0x1165a7(%rip), %rsi    # 0x135e95
movb $0x0, %al
callq 0x100210
testb $0x1, -0x189(%rbp)
je 0x1f94c
movq -0x18(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movq -0x10(%rbp), %rax
movq 0x138(%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x140(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x51d0
movq -0x1c0(%rbp), %rdx
movq %rax, %rcx
leaq -0x88(%rbp), %rdi
leaq 0x116575(%rip), %rsi    # 0x135eb5
movb $0x0, %al
callq 0x100210
jmp 0x1f9e0
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x116584(%rip), %rsi    # 0x135ee2
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x1165a6(%rip), %rsi    # 0x135f1d
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movq -0x10(%rbp), %rax
movq 0x138(%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x140(%rax), %rax
movq 0x10(%rax), %rsi
callq 0x51d0
movq -0x1c8(%rbp), %rdx
movq %rax, %rcx
leaq -0x88(%rbp), %rdi
leaq 0x1165b4(%rip), %rsi    # 0x135f74
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x1165c2(%rip), %rsi    # 0x135f9b
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x1165d4(%rip), %rsi    # 0x135fc6
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x1165d8(%rip), %rsi    # 0x135fe3
movb $0x0, %al
callq 0x100210
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
leaq 0x11483f(%rip), %rsi    # 0x134263
movb $0x0, %al
callq 0x100210
movq -0x90(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0xa4d0
movq %rax, -0x90(%rbp)
movq -0x20(%rbp), %rdi
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
callq 0x1edf0
leaq -0x88(%rbp), %rdi
callq 0xffb50
movq -0x20(%rbp), %rdi
movq -0x90(%rbp), %rdx
leaq 0x11600c(%rip), %rsi    # 0x135a7d
movb $0x0, %al
callq 0x56e0
cmpq $0x0, -0x28(%rbp)
je 0x1fa8d
movq -0x90(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq $0x0, -0x198(%rbp)
movq -0x68(%rbp), %rdi
callq 0xc0720
movq -0x198(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x1d0, %rsp            # imm = 0x1D0
popq %rbp
retq
nopl (%rax)