// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_builder_target_s_build
er_t xoico_builder_target_s_build( xoico_builder_target_s* o )
{
    // xoico_builder.x:270:1
    BLM_INIT_LEVEL(0);
    if( !o->root_    ) o->root_    = ( o->parent_ ) ? o->parent_->root_    : o;
    if( !o->compiler ) o->compiler = ( o->parent_ ) ? o->parent_->compiler : NULL;
    
    if( o == o->root_ )
    {
        if( !o->hmap_built_target_ ) o->hmap_built_target_ = bcore_hmap_tpvd_s_create();
    }
    
    ASSERT( o->compiler );
    ASSERT( o->root_ );
    
    tp_t tp_target_name = bentypeof( o->name->sc );
    
    {const xoico_builder_arr_target_s* __a=o->dependencies_target_ ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_builder_target_s* e=__a->data[__i]; BLM_TRY(xoico_builder_target_s_build(e))
    
    }}if( bcore_hmap_tpvd_s_exists(o->root_->hmap_built_target_,tp_target_name ) )
    {
        xoico_builder_target_s* target = (*(((xoico_builder_target_s**)(bcore_hmap_tpvd_s_get(o->root_->hmap_built_target_,tp_target_name )))));
        o->target_index_ = target->target_index_;
        BLM_RETURNV(er_t, 0)
    }
    
    bcore_hmap_tpvd_s_set(o->root_->hmap_built_target_,tp_target_name, ( vd_t )o );
    
    o->target_index_ = -1;
    
    bcore_msg_fa( "XOICO: compiling #<sc_t>\n", o->full_path_.sc );
    
    {const bcore_arr_st_s* __a=&(o->sources );if(__a)for(sz_t __i=0;__i<__a->size;__i++){const st_s* e=__a->data[__i];
    {BLM_INIT_LEVEL(4);
        x_source* source = ((x_source*)BLM_LEVEL_A_PUSH(4,x_source_create_from_st(e )));
        st_s group_name;BLM_T_INIT_SPUSH(st_s, &group_name);;
        st_s trait_name;BLM_T_INIT_SPUSH(st_s, &trait_name);;
        st_s file_path;BLM_T_INIT_SPUSH(st_s, &file_path);;
    
        tp_t embed_method = 0;
    
        BLM_TRY(x_source_parse_fa(source," " )) // take whitespaces
    
        if( x_source_parse_bl(source,"#?w'group' " ) )
        {
            BLM_TRY(x_source_parse_fa(source,"#name ", (&(group_name)) ))
            if( group_name.size == 0 ) BLM_RETURNV(er_t, x_source_parse_error_fa(source,"Group name expected in source declaration." ))
            BLM_TRY(x_source_parse_fa(source,"= #name ", (&(trait_name)) ))
            if( trait_name.size == 0 ) BLM_RETURNV(er_t, x_source_parse_error_fa(source,"Trait name expected in source declaration." ))
        }
    
        if( x_source_parse_bl(source,"#?w'embed' " ) )
        {
            if( x_source_parse_bl(source,"#?w'as string' " ) )
            {
                embed_method = TYPEOF_as_string;
            }
            else
            {
                BLM_RETURNV(er_t, x_source_parse_error_fa(source,"Specify embedding method before file path (e.g. 'as string')" ))
            }
        }
    
        while( !x_source_eos(source) )
        {
            char c = x_source_get_char(source);
            if( c == ':' ) break;
            st_s_push_char(&(file_path),c );
        }
    
        if( x_source_parse_bl(source," #?w'embed'" ) )
        {
            if( x_source_parse_bl(source," #?w'as_string'" ) )
            {
                embed_method = TYPEOF_as_string;
            }
            else
            {
                BLM_RETURNV(er_t, x_source_parse_error_fa(source,"Select a valid embedding method (e.g. 'as_string')" ))
            }
        }
    
        if( file_path.size == 0 ) BLM_RETURNV(er_t, x_source_parse_error_fa(source,"File name expected in source declaration." ))
    
        if( e->sc[ 0 ] != '/' && o->root_folder )
        {BLM_INIT_LEVEL(5);
            const st_s* tmp = ((st_s*)BLM_LEVEL_T_PUSH(5,st_s,st_s_clone(&(file_path))));
            st_s_copy_fa(&(file_path),"#<sc_t>/#<sc_t>", o->root_folder->sc, tmp->sc );
        BLM_DOWN();}
    
        if( embed_method == 0 )
        {
            if     ( st_s_ends_in_sc(&(file_path),".h" ) ) embed_method = TYPEOF_as_header;
            else if( st_s_ends_in_sc(&(file_path),".x" ) ) embed_method = TYPEOF_as_group;
            else                                    embed_method = TYPEOF_as_string;
        }
    
        if( group_name.size == 0 )
        {
            if( embed_method == TYPEOF_as_header )
            {
                /// nothing here
            }
            else if( embed_method == TYPEOF_as_group )
            {BLM_INIT_LEVEL(7);
                st_s_copy(&(group_name),((st_s*)BLM_LEVEL_T_PUSH(7,st_s,bcore_file_strip_extension(bcore_file_name(file_path.sc ) ))) );
            BLM_DOWN();}
            else
            {
                st_s_copy_sc(&(group_name),bcore_file_name(file_path.sc ) );
            }
            st_s_replace_char_char(&(group_name),'.', '_' );
            st_s_replace_char_char(&(group_name),' ', '_' );
            st_s_copy_sc(&(trait_name),"x_inst" );
        }
    
        ASSERT( o->name );
        ASSERT( o->extension );
        sz_t index = -1;
    
        BLM_TRY(xoico_compiler_s_parse(o->compiler,o->name->sc, o->extension->sc, xoico_builder_target_s_root_output_folder(o), file_path.sc, group_name.sc, trait_name.sc, embed_method, (&(index)) ))
    
        if( o->target_index_ == -1 ) o->target_index_ = index;
        if( index != o->target_index_ )
        {
            BLM_RETURNV(er_t, bcore_error_push_fa(((tp_t)(TYPEOF_general_error)),
                "Building source '#<sc_t>' in target '#<sc_t>':\n"
                "Target index mismatch.\n"
                "This problem occurs when a target defines sources from different directories.\n",
                e->sc,
                o->name->sc
            ))
        }
    BLM_DOWN();}
    
    }}if( o->target_index_ >= 0 )
    {BLM_INIT_LEVEL(1);
        ASSERT( o->target_index_ < o->compiler->size );
        bcore_arr_sz_s* dependencies = ((bcore_arr_sz_s*)BLM_LEVEL_T_PUSH(1,bcore_arr_sz_s,bcore_arr_sz_s_create()));
        {const xoico_builder_arr_target_s* __a=o->dependencies_target_ ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_builder_target_s* e=__a->data[__i]; xoico_builder_target_s_push_target_index_to_arr(e,dependencies );}}
    
        xoico_target_s* target = o->compiler->data[ o->target_index_ ];
    
        BLM_TRY(xoico_target_s_set_dependencies(target,dependencies ))
        st_s* signal_handler = ((st_s*)BLM_LEVEL_T_PUSH(0,st_s,st_s_create_fa("#<sc_t>_general_signal_handler", o->name->sc )));
        if( o->signal_handler ) st_s_copy(signal_handler,o->signal_handler );
        st_s_copy_sc(&(target->signal_handler_name),signal_handler->sc );
        target->define_signal_handler = o->define_signal_handler;
        target->readonly = o->readonly;
        xoico_cengine_a_attach( &(target->cengine ), (xoico_cengine*)( ((xoico_cengine*)bcore_fork(o->cengine))));
        target->pre_hash = xoico_builder_target_s_get_hash(o);
        st_s_attach( &(target->copyright_and_license_terms ),  ((st_s*)bcore_fork(o->copyright_and_license_terms)));
    BLM_DOWN();}
    
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x360, %rsp            # imm = 0x360
movq %rdi, -0x10(%rbp)
leaq 0x179c0a(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x18(%rbp)
leaq -0x48(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xbfe80
movq -0x50(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0xa0(%rax)
jne 0x387aa
movq -0x10(%rbp), %rax
cmpq $0x0, 0x98(%rax)
je 0x3878d
movq -0x10(%rbp), %rax
movq 0x98(%rax), %rax
movq 0xa0(%rax), %rax
movq %rax, -0x2f0(%rbp)
jmp 0x38798
movq -0x10(%rbp), %rax
movq %rax, -0x2f0(%rbp)
movq -0x2f0(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0xa0(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x90(%rax)
jne 0x387fe
movq -0x10(%rbp), %rax
cmpq $0x0, 0x98(%rax)
je 0x387e1
movq -0x10(%rbp), %rax
movq 0x98(%rax), %rax
movq 0x90(%rax), %rax
movq %rax, -0x2f8(%rbp)
jmp 0x387ec
xorl %eax, %eax
movq %rax, -0x2f8(%rbp)
jmp 0x387ec
movq -0x2f8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x90(%rax)
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0xa0(%rcx), %rax
jne 0x38834
movq -0x10(%rbp), %rax
cmpq $0x0, 0xd8(%rax)
jne 0x38832
movb $0x0, %al
callq 0xafa30
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0xd8(%rax)
jmp 0x38834
movq -0x10(%rbp), %rax
cmpq $0x0, 0x90(%rax)
jne 0x3886b
leaq 0xfb156(%rip), %rdi     # 0x13399f
leaq 0xff7df(%rip), %rsi     # 0x13802f
leaq 0xff7e4(%rip), %rdx     # 0x13803b
leaq 0xfad8a(%rip), %rcx     # 0x1335e8
movl $0x295e, %r8d           # imm = 0x295E
movb $0x0, %al
callq 0x9cea0
movq -0x10(%rbp), %rax
cmpq $0x0, 0xa0(%rax)
jne 0x388a2
leaq 0xfb11f(%rip), %rdi     # 0x13399f
leaq 0xff7d1(%rip), %rsi     # 0x138058
leaq 0xff7ad(%rip), %rdx     # 0x13803b
leaq 0xfad53(%rip), %rcx     # 0x1335e8
movl $0x295f, %r8d           # imm = 0x295F
movb $0x0, %al
callq 0x9cea0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x39660
movq %rax, -0x58(%rbp)
movq -0x10(%rbp), %rax
movq 0xa8(%rax), %rax
movq %rax, -0x60(%rbp)
cmpq $0x0, -0x60(%rbp)
je 0x3893b
movq $0x0, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq -0x60(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x38939
movq -0x60(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x68(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rdi
callq 0x38710
movq %rax, -0x78(%rbp)
cmpq $0x0, -0x78(%rbp)
je 0x38929
movq -0x78(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x50(%rbp), %rdi
callq 0xc0720
movq -0x80(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39649
jmp 0x3892b
movq -0x68(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x68(%rbp)
jmp 0x388d5
jmp 0x3893b
movq -0x10(%rbp), %rax
movq 0xa0(%rax), %rax
movq 0xd8(%rax), %rdi
movq -0x58(%rbp), %rsi
callq 0xb0190
testb $0x1, %al
jne 0x3895c
jmp 0x389be
movq -0x10(%rbp), %rax
movq 0xa0(%rax), %rax
movq 0xd8(%rax), %rdi
movq -0x58(%rbp), %rsi
callq 0xb0090
movq (%rax), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movq 0xd0(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0xd0(%rax)
movq $0x0, -0x90(%rbp)
movq -0x50(%rbp), %rdi
callq 0xc0720
movq -0x90(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39649
movq -0x10(%rbp), %rax
movq 0xa0(%rax), %rax
movq 0xd8(%rax), %rdi
movq -0x58(%rbp), %rsi
movq -0x10(%rbp), %rdx
callq 0xafd80
movq -0x10(%rbp), %rax
movq $-0x1, 0xd0(%rax)
movq -0x10(%rbp), %rax
movq 0xb8(%rax), %rsi
leaq 0xff663(%rip), %rdi     # 0x138061
movb $0x0, %al
callq 0x9c9e0
movq -0x10(%rbp), %rax
addq $0x58, %rax
movq %rax, -0x98(%rbp)
cmpq $0x0, -0x98(%rbp)
je 0x3931b
movq $0x0, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
movq -0x98(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x39319
movq -0x98(%rbp), %rax
movq 0x8(%rax), %rax
movq -0xa0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0xa8(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0xb0(%rbp)
leaq -0xe0(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0xe8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
callq 0xbfe80
movq -0xe8(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movq $0x4, 0x10(%rax)
movq -0xb0(%rbp), %rax
movq %rax, -0x300(%rbp)
movq -0xa8(%rbp), %rdi
callq 0x1af30
movq -0x300(%rbp), %rdi
movq %rax, %rdx
movl $0x4, %esi
callq 0xc0500
movq %rax, -0xf0(%rbp)
leaq -0x110(%rbp), %rdi
callq 0xfe150
movq -0xb0(%rbp), %rdi
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
leaq -0x110(%rbp), %rdx
callq 0xc0220
leaq -0x130(%rbp), %rdi
callq 0xfe150
movq -0xb0(%rbp), %rdi
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
leaq -0x130(%rbp), %rdx
callq 0xc0220
leaq -0x150(%rbp), %rdi
callq 0xfe150
movq -0xb0(%rbp), %rdi
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
leaq -0x150(%rbp), %rdx
callq 0xc0220
movq $0x0, -0x158(%rbp)
movq -0xf0(%rbp), %rdi
leaq 0x11500d(%rip), %rsi    # 0x14db81
movb $0x0, %al
callq 0x4a20
movq %rax, -0x160(%rbp)
cmpq $0x0, -0x160(%rbp)
je 0x38bb6
movq -0x160(%rbp), %rax
movq %rax, -0x168(%rbp)
movq -0xe8(%rbp), %rdi
callq 0xc0720
movq -0x168(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39649
movq -0xf0(%rbp), %rdi
leaq 0xfb95c(%rip), %rsi     # 0x134520
callq 0x6700
testb $0x1, %al
jne 0x38bd2
jmp 0x38d06
movq -0xf0(%rbp), %rdi
leaq 0xfbf9b(%rip), %rsi     # 0x134b7b
leaq -0x110(%rbp), %rdx
movb $0x0, %al
callq 0x4a20
movq %rax, -0x170(%rbp)
cmpq $0x0, -0x170(%rbp)
je 0x38c29
movq -0x170(%rbp), %rax
movq %rax, -0x178(%rbp)
movq -0xe8(%rbp), %rdi
callq 0xc0720
movq -0x178(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39649
cmpq $0x0, -0x100(%rbp)
jne 0x38c6b
movq -0xf0(%rbp), %rdi
leaq 0xff43a(%rip), %rsi     # 0x13807b
movb $0x0, %al
callq 0x4c80
movq %rax, -0x180(%rbp)
movq -0xe8(%rbp), %rdi
callq 0xc0720
movq -0x180(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39649
movq -0xf0(%rbp), %rdi
leaq 0xff42d(%rip), %rsi     # 0x1380a6
leaq -0x130(%rbp), %rdx
movb $0x0, %al
callq 0x4a20
movq %rax, -0x188(%rbp)
cmpq $0x0, -0x188(%rbp)
je 0x38cc2
movq -0x188(%rbp), %rax
movq %rax, -0x190(%rbp)
movq -0xe8(%rbp), %rdi
callq 0xc0720
movq -0x190(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39649
cmpq $0x0, -0x120(%rbp)
jne 0x38d04
movq -0xf0(%rbp), %rdi
leaq 0xff3d5(%rip), %rsi     # 0x1380af
movb $0x0, %al
callq 0x4c80
movq %rax, -0x198(%rbp)
movq -0xe8(%rbp), %rdi
callq 0xc0720
movq -0x198(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39649
jmp 0x38d06
movq -0xf0(%rbp), %rdi
leaq 0xfb890(%rip), %rsi     # 0x1345a4
callq 0x6700
testb $0x1, %al
jne 0x38d1f
jmp 0x38d85
movq -0xf0(%rbp), %rdi
leaq 0xff3ad(%rip), %rsi     # 0x1380da
callq 0x6700
testb $0x1, %al
jne 0x38d38
jmp 0x38d4b
movabsq $-0x4513c06eae19ddf9, %rax # imm = 0xBAEC3F9151E62207
movq %rax, -0x158(%rbp)
jmp 0x38d83
movq -0xf0(%rbp), %rdi
leaq 0xff391(%rip), %rsi     # 0x1380ea
movb $0x0, %al
callq 0x4c80
movq %rax, -0x1a0(%rbp)
movq -0xe8(%rbp), %rdi
callq 0xc0720
movq -0x1a0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39649
jmp 0x38d85
jmp 0x38d87
movq -0xf0(%rbp), %rdi
callq 0x6730
xorb $-0x1, %al
testb $0x1, %al
jne 0x38d9b
jmp 0x38dd0
movq -0xf0(%rbp), %rdi
callq 0xa490
movb %al, -0x1a1(%rbp)
movsbl -0x1a1(%rbp), %eax
cmpl $0x3a, %eax
jne 0x38dbb
jmp 0x38dd0
leaq -0x150(%rbp), %rdi
movsbl -0x1a1(%rbp), %esi
callq 0xffba0
jmp 0x38d87
movq -0xf0(%rbp), %rdi
leaq 0xff349(%rip), %rsi     # 0x138127
callq 0x6700
testb $0x1, %al
jne 0x38de9
jmp 0x38e4f
movq -0xf0(%rbp), %rdi
leaq 0xff33c(%rip), %rsi     # 0x138133
callq 0x6700
testb $0x1, %al
jne 0x38e02
jmp 0x38e15
movabsq $-0x4513c06eae19ddf9, %rax # imm = 0xBAEC3F9151E62207
movq %rax, -0x158(%rbp)
jmp 0x38e4d
movq -0xf0(%rbp), %rdi
leaq 0xff320(%rip), %rsi     # 0x138143
movb $0x0, %al
callq 0x4c80
movq %rax, -0x1b0(%rbp)
movq -0xe8(%rbp), %rdi
callq 0xc0720
movq -0x1b0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39649
jmp 0x38e4f
cmpq $0x0, -0x140(%rbp)
jne 0x38e91
movq -0xf0(%rbp), %rdi
leaq 0xff30f(%rip), %rsi     # 0x138176
movb $0x0, %al
callq 0x4c80
movq %rax, -0x1b8(%rbp)
movq -0xe8(%rbp), %rdi
callq 0xc0720
movq -0x1b8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39649
movq -0xa8(%rbp), %rax
movq 0x8(%rax), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
je 0x38f7a
movq -0x10(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x38f7a
movq -0xe8(%rbp), %rax
movq %rax, -0x1c0(%rbp)
leaq -0x1f0(%rbp), %rax
movq %rax, -0x1f8(%rbp)
movq -0x1f8(%rbp), %rdi
movq -0x1c0(%rbp), %rsi
callq 0xbfe80
movq -0x1f8(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movq -0x1c0(%rbp), %rax
movq $0x5, 0x10(%rax)
movq -0x1c0(%rbp), %rax
movq %rax, -0x308(%rbp)
leaq -0x150(%rbp), %rdi
callq 0xff990
movq -0x308(%rbp), %rdi
movq %rax, %rcx
movl $0x5, %esi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
callq 0xc01a0
movq %rax, -0x200(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rdx
movq -0x200(%rbp), %rax
movq 0x8(%rax), %rcx
leaq -0x150(%rbp), %rdi
leaq 0xfa469(%rip), %rsi     # 0x1333d0
movb $0x0, %al
callq 0xfec20
leaq -0x1f8(%rbp), %rdi
callq 0xc06e0
cmpq $0x0, -0x158(%rbp)
jne 0x38ff1
leaq -0x150(%rbp), %rdi
leaq 0xfd0ed(%rip), %rsi     # 0x13607f
callq 0x100320
testb $0x1, %al
jne 0x38f9d
jmp 0x38fb0
movabsq $-0x9b90fe183067569, %rax # imm = 0xF646F01E7CF98A97
movq %rax, -0x158(%rbp)
jmp 0x38fef
leaq -0x150(%rbp), %rdi
leaq 0xff1e2(%rip), %rsi     # 0x1381a0
callq 0x100320
testb $0x1, %al
jne 0x38fc9
jmp 0x38fdc
movabsq $0x56176620137ff69, %rax # imm = 0x56176620137FF69
movq %rax, -0x158(%rbp)
jmp 0x38fed
movabsq $-0x4513c06eae19ddf9, %rax # imm = 0xBAEC3F9151E62207
movq %rax, -0x158(%rbp)
jmp 0x38fef
jmp 0x38ff1
cmpq $0x0, -0x100(%rbp)
jne 0x39133
movabsq $-0x9b90fe183067569, %rax # imm = 0xF646F01E7CF98A97
cmpq %rax, -0x158(%rbp)
jne 0x39017
jmp 0x390f4
movabsq $0x56176620137ff69, %rax # imm = 0x56176620137FF69
cmpq %rax, -0x158(%rbp)
jne 0x390d7
movq -0xe8(%rbp), %rax
movq %rax, -0x208(%rbp)
leaq -0x238(%rbp), %rax
movq %rax, -0x240(%rbp)
movq -0x240(%rbp), %rdi
movq -0x208(%rbp), %rsi
callq 0xbfe80
movq -0x240(%rbp), %rax
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rax
movq $0x7, 0x10(%rax)
movq -0x208(%rbp), %rax
movq %rax, -0x310(%rbp)
movq -0x148(%rbp), %rdi
callq 0x9f460
movq %rax, %rdi
callq 0x9f4e0
movq -0x310(%rbp), %rdi
movq %rax, %rcx
movl $0x7, %esi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
callq 0xc01a0
movq %rax, %rsi
leaq -0x110(%rbp), %rdi
callq 0xfe850
leaq -0x240(%rbp), %rdi
callq 0xc06e0
jmp 0x390f2
movq -0x148(%rbp), %rdi
callq 0x9f460
movq %rax, %rsi
leaq -0x110(%rbp), %rdi
callq 0xfea50
jmp 0x390f4
leaq -0x110(%rbp), %rdi
movl $0x2e, %esi
movl $0x5f, %edx
callq 0x1014a0
leaq -0x110(%rbp), %rdi
movl $0x20, %esi
movl $0x5f, %edx
callq 0x1014a0
leaq -0x130(%rbp), %rdi
leaq 0xff075(%rip), %rsi     # 0x1381a3
callq 0xfea50
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x39167
leaq 0xfa85a(%rip), %rdi     # 0x13399f
leaq 0xff05e(%rip), %rsi     # 0x1381aa
leaq 0xfeee8(%rip), %rdx     # 0x13803b
leaq 0xfa48e(%rip), %rcx     # 0x1335e8
movl $0x29c6, %r8d           # imm = 0x29C6
movb $0x0, %al
callq 0x9cea0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x3919b
leaq 0xfa826(%rip), %rdi     # 0x13399f
leaq 0xff032(%rip), %rsi     # 0x1381b2
leaq 0xfeeb4(%rip), %rdx     # 0x13803b
leaq 0xfa45a(%rip), %rcx     # 0x1335e8
movl $0x29c7, %r8d           # imm = 0x29C7
movb $0x0, %al
callq 0x9cea0
movq $-0x1, -0x248(%rbp)
movq -0x10(%rbp), %rax
movq 0x90(%rax), %rax
movq %rax, -0x328(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x320(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x318(%rbp)
movq -0x10(%rbp), %rdi
callq 0x37be0
movq -0x328(%rbp), %rdi
movq -0x320(%rbp), %rsi
movq -0x318(%rbp), %rdx
movq %rax, %rcx
movq -0x148(%rbp), %r8
movq -0x108(%rbp), %r9
movq -0x128(%rbp), %r11
movq -0x158(%rbp), %r10
leaq -0x248(%rbp), %rax
movq %r11, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0x213f0
movq %rax, -0x250(%rbp)
cmpq $0x0, -0x250(%rbp)
je 0x39270
movq -0x250(%rbp), %rax
movq %rax, -0x258(%rbp)
movq -0xe8(%rbp), %rdi
callq 0xc0720
movq -0x258(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39649
movq -0x10(%rbp), %rax
cmpq $-0x1, 0xd0(%rax)
jne 0x39290
movq -0x248(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0xd0(%rax)
movq -0x248(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0xd0(%rcx), %rax
je 0x392f6
movq -0xa8(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rcx
movabsq $0x4d9e984c5b21faea, %rdi # imm = 0x4D9E984C5B21FAEA
leaq 0xfeef3(%rip), %rsi     # 0x1381bf
movb $0x0, %al
callq 0x9e090
movq %rax, -0x260(%rbp)
movq -0xe8(%rbp), %rdi
callq 0xc0720
movq -0x260(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39649
leaq -0xe8(%rbp), %rdi
callq 0xc06e0
movq -0xa0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xa0(%rbp)
jmp 0x38a2d
jmp 0x3931b
movq -0x10(%rbp), %rax
cmpq $0x0, 0xd0(%rax)
jl 0x3962a
movq -0x50(%rbp), %rax
movq %rax, -0x268(%rbp)
leaq -0x298(%rbp), %rax
movq %rax, -0x2a0(%rbp)
movq -0x2a0(%rbp), %rdi
movq -0x268(%rbp), %rsi
callq 0xbfe80
movq -0x2a0(%rbp), %rax
movq %rax, -0x268(%rbp)
movq -0x268(%rbp), %rax
movq $0x1, 0x10(%rax)
movq -0x10(%rbp), %rax
movq 0xd0(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x90(%rcx), %rcx
cmpq 0x10(%rcx), %rax
jb 0x393bb
leaq 0xfa606(%rip), %rdi     # 0x13399f
leaq 0xfeeb4(%rip), %rsi     # 0x138254
leaq 0xfec94(%rip), %rdx     # 0x13803b
leaq 0xfa23a(%rip), %rcx     # 0x1335e8
movl $0x29db, %r8d           # imm = 0x29DB
movb $0x0, %al
callq 0x9cea0
movq -0x268(%rbp), %rax
movq %rax, -0x330(%rbp)
movb $0x0, %al
callq 0x8ea70
movq -0x330(%rbp), %rdi
movq %rax, %rcx
movl $0x1, %esi
movabsq $0x3d19b4fc81c235e4, %rdx # imm = 0x3D19B4FC81C235E4
callq 0xc01a0
movq %rax, -0x2a8(%rbp)
movq -0x10(%rbp), %rax
movq 0xa8(%rax), %rax
movq %rax, -0x2b0(%rbp)
cmpq $0x0, -0x2b0(%rbp)
je 0x39476
movq $0x0, -0x2b8(%rbp)
movq -0x2b8(%rbp), %rax
movq -0x2b0(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x39474
movq -0x2b0(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x2b8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x2c0(%rbp)
movq -0x2c0(%rbp), %rdi
movq -0x2a8(%rbp), %rsi
callq 0x37d70
movq -0x2b8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x2b8(%rbp)
jmp 0x3941c
jmp 0x39476
movq -0x10(%rbp), %rax
movq 0x90(%rax), %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0xd0(%rcx), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x2c8(%rbp)
movq -0x2c8(%rbp), %rdi
movq -0x2a8(%rbp), %rsi
callq 0x1e0a0
movq %rax, -0x2d0(%rbp)
cmpq $0x0, -0x2d0(%rbp)
je 0x394e9
movq -0x2d0(%rbp), %rax
movq %rax, -0x2d8(%rbp)
movq -0x2a0(%rbp), %rdi
callq 0xc0720
movq -0x2d8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x39649
movq -0x268(%rbp), %rax
movq %rax, -0x338(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rsi
leaq 0xfed6f(%rip), %rdi     # 0x138279
movb $0x0, %al
callq 0xff430
movq -0x338(%rbp), %rdi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %esi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
callq 0xc01a0
movq %rax, -0x2e0(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x78(%rax)
je 0x39554
movq -0x2e0(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x78(%rax), %rsi
callq 0xfe850
movq -0x2c8(%rbp), %rdi
addq $0xb0, %rdi
movq -0x2e0(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0xfea50
movq -0x10(%rbp), %rax
movb 0x80(%rax), %cl
movq -0x2c8(%rbp), %rax
andb $0x1, %cl
movb %cl, 0xd0(%rax)
movq -0x10(%rbp), %rax
movb 0x20(%rax), %cl
movq -0x2c8(%rbp), %rax
andb $0x1, %cl
movb %cl, 0xfa(%rax)
movq -0x2c8(%rbp), %rax
addq $0x130, %rax            # imm = 0x130
movq %rax, -0x348(%rbp)
movq -0x10(%rbp), %rax
movq 0x88(%rax), %rdi
callq 0x9d3d0
movq -0x348(%rbp), %rdi
movq %rax, %rsi
callq 0x39680
movq -0x10(%rbp), %rdi
callq 0x37e10
movq %rax, %rcx
movq -0x2c8(%rbp), %rax
movq %rcx, 0x128(%rax)
movq -0x2c8(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x340(%rbp)
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x9d3d0
movq -0x340(%rbp), %rdi
movq %rax, %rsi
callq 0x1aea0
leaq -0x2a0(%rbp), %rdi
callq 0xc06e0
movq $0x0, -0x2e8(%rbp)
movq -0x50(%rbp), %rdi
callq 0xc0720
movq -0x2e8(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x360, %rsp            # imm = 0x360
popq %rbp
retq
nopw %cs:(%rax,%rax)