// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_txt_ml.c
// Function: interpret
static sr_s interpret( const bcore_txt_ml_interpreter_s* o, sr_s obj, sr_s source )
{
    if( !obj.o && bcore_source_r_parse_bl_fa( &source, " #?'<#file>'" ) ) return interpret_embedded_file( o, source );

    bcore_life_s* l = bcore_life_s_create();
    sr_s src_l = sr_cl( sr_cp( source, TYPEOF_bcore_source_s ), l );

    if( !obj.o )
    {
        st_s* type_string = st_s_create_l( l );
        bcore_source_r_parse_fa( &src_l, " " ); // take whitespaces

        if( bcore_source_r_parse_bl_fa( &src_l, "#?'<'" ) ) // type specifier
        {
            bcore_source_r_parse_fa( &src_l, "#until'>'>", type_string );
            tp_t type = type_of( type_string );
            if( type )
            {
                if( !bcore_flect_exists( type ) )
                {
                    bcore_source_r_parse_errf( &src_l, "Type '%s' has no reflection.", type_string->sc );
                }

                if( bcore_source_r_parse_bl_fa( &src_l, " #?'NULL'" ) ) // no instance
                {
                    obj.p = bcore_inst_s_get_typed( type );
                    bcore_source_r_parse_fa( &src_l, " </>" );
                }
                else
                {
                    obj = interpret( o, bcore_inst_t_create_sr( type ), src_l );
                }
            }
            else
            {
                bcore_source_r_parse_fa( &src_l, " </>" );
            }
        }

        /// simplified encoding for certain leaf types ...

        // string
        else if( bcore_source_r_parse_bl_fa( &src_l, "#=?'\"'" ) )
        {
            obj = sr_create( TYPEOF_st_s );
            bcore_source_r_parse_fa( &src_l, " #string", obj.o );
        }
        // number
        else if( bcore_source_r_parse_bl_fa( &src_l, "#?(([0]>='0'&&[0]<='9')||[0]=='+'||[0]=='-')" ) )
        {
            obj = sr_create( TYPEOF_f3_t );
            f3_t* v = obj.o;
            bcore_source_r_parse_fa( &src_l, "#<f3_t*>", v );
        }
        // boolean
        else if( bcore_source_r_parse_bl_fa( &src_l, "#?w'true'" ) )
        {
            obj = sr_create( TYPEOF_bl_t );
            *( bl_t* )obj.o = true;
        }
        // boolean
        else if( bcore_source_r_parse_bl_fa( &src_l, "#?w'false'" ) )
        {
            obj = sr_create( TYPEOF_bl_t );
            *( bl_t* )obj.o = false;
        }
        else
        {
            bcore_source_r_parse_err_fa( &src_l, "Type expected." );
        }
    }
    else
    {
        obj = sr_cp( obj, TYPEOF_bcore_via_s );
        sr_s obj_l = sr_cw( obj );
        st_s* buf = st_s_create_l( l );
        if( sr_s_type( &obj_l ) == TYPEOF_st_s )
        {
            bcore_source_r_parse_fa( &src_l, " #string", obj_l.o );
            bcore_source_r_parse_fa( &src_l, " </>" );
        }
        else if( bcore_via_x_is_leaf( obj_l ) )
        {
            bcore_source_r_parse_fa( &src_l, st_s_createf_l( l, " #%s", name_of( sr_s_type( &obj_l ), buf ) )->sc, obj_l.o );
            bcore_source_r_parse_fa( &src_l, " </>" );
        }
        else
        {
            if( bcore_via_x_is_pure_array( obj_l ) )
            {
                sr_s arr_l = sr_cp( obj_l, TYPEOF_bcore_array_s );

                if( bcore_array_x_is_mutable_mono_typed( arr_l ) )
                {
                    tp_t type = 0;
                    if( bcore_source_r_parse_bl_fa( &src_l, "#?'type:'" ) )
                    {
                        type = sr_to_tp( interpret( o, sr_null(), src_l ) );
                    }
                    bcore_array_x_set_gtype( arr_l, type );
                }

                if( bcore_array_x_is_fixed( arr_l ) )
                {
                    uz_t arr_size = bcore_array_x_get_size( arr_l );
                    for( uz_t i = 0; i < arr_size; i++ ) bcore_array_x_set( arr_l, i, interpret( o, sr_null(), src_l ) );
                    bcore_source_r_parse_fa( &src_l, " </>" );
                }
                else
                {
                    bcore_array_x_set_size( arr_l, 0 );
                    while( !bcore_source_r_parse_bl_fa( &src_l, " #?'</>'" ) ) bcore_array_x_push( arr_l, interpret( o, sr_null(), src_l ) );
                }
            }
            else
            {
                while( !bcore_source_r_parse_bl_fa( &src_l, " #?'</>'" ) )
                {
                    st_s* name = st_s_create_l( l );
                    bcore_source_r_parse_fa( &src_l, " #name :", name );

                    tp_t ntype = typeof( name->sc );
                    if( !bcore_via_r_nexists( &obj_l, ntype ) )
                    {
                        bcore_source_r_parse_errf( &src_l, "Object '%s' has no element of name '%s'.", ifnameof( sr_s_type( &obj_l ) ), name->sc );
                    }

                    uz_t idx = bcore_via_x_nget_index( obj_l, ntype );

#ifdef BCORE_TXT_ML_INTERPRETER_FULL_CONVERSION // see comment to this flag
                    {
                        sr_s sr = interpret( o, sr_null(), src_l );
                        bcore_via_x_iset( obj_l, idx, sr );
                    }
#else
                    if( bcore_via_x_iis_link( obj_l, idx ) )
                    {
                        bcore_via_x_iset( obj_l, idx, interpret( o, sr_null(), src_l ) );
                    }
                    else
                    {
                        sr_s item = bcore_via_x_iget( obj_l, idx );
                        if( item.o ) bcore_source_r_parse_fa( &src_l, st_s_createf_l( l, " <%s>", name_of( sr_s_type( &item ), buf ) )->sc );
                        if( sr_s_is_strong( &item ) )  // if item is detached --> refeed it
                        {
                            bcore_via_x_iset( obj_l, idx, interpret( o, item, src_l ) );
                        }
                        else
                        {
                            sr_down( interpret( o, item, src_l ) );
                        }
                    }
#endif // BCORE_TXT_ML_INTERPRETER_FULL_CONVERSION
                }
            }
        }
        bcore_via_r_source(  &obj_l, source.o );
        bcore_via_r_mutated( &obj_l );
    }
    bcore_life_s_discard( l );
    return obj;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2b0, %rsp            # imm = 0x2B0
movq %rdi, -0x248(%rbp)
movq %rdi, -0x240(%rbp)
leaq 0x28(%rbp), %rax
movq %rax, -0x238(%rbp)
leaq 0x10(%rbp), %rax
movq %rax, -0x230(%rbp)
movq %rsi, -0x8(%rbp)
cmpq $0x0, (%rax)
jne 0x116397
movq -0x238(%rbp), %rdi
leaq 0x42588(%rip), %rsi     # 0x1588df
callq 0x118af0
testb $0x1, %al
jne 0x116362
jmp 0x116397
movq -0x238(%rbp), %rax
movq -0x248(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x118b60
jmp 0x116e76
movb $0x0, %al
callq 0xbfdd0
movq %rax, %rcx
movq -0x238(%rbp), %rax
movq %rcx, -0x10(%rbp)
leaq -0x40(%rbp), %rdi
movabsq $-0x7e8ee9b9b4bbaa8, %rsi # imm = 0xF817116464B44558
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x117e40
movq -0x10(%rbp), %rsi
leaq -0x28(%rbp), %rdi
leaq -0x40(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xfb970
movq -0x230(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x11673b
movq -0x10(%rbp), %rdi
callq 0xff5c0
movq %rax, -0x48(%rbp)
leaq -0x28(%rbp), %rdi
leaq 0x37756(%rip), %rsi     # 0x14db81
movb $0x0, %al
callq 0xf3f70
leaq -0x28(%rbp), %rdi
leaq 0x1e243(%rip), %rsi     # 0x134680
callq 0x118af0
testb $0x1, %al
jne 0x11644b
jmp 0x11657e
movq -0x48(%rbp), %rdx
leaq -0x28(%rbp), %rdi
leaq 0x2953a(%rip), %rsi     # 0x13f994
movb $0x0, %al
callq 0xf3f70
movq -0x48(%rbp), %rdi
callq 0x1190e0
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0x116567
movq -0x50(%rbp), %rdi
callq 0xa70a0
testb $0x1, %al
jne 0x1164a0
movq -0x48(%rbp), %rax
movq 0x8(%rax), %rdx
leaq -0x28(%rbp), %rdi
leaq 0x42453(%rip), %rsi     # 0x1588ec
movb $0x0, %al
callq 0xf41c0
leaq -0x28(%rbp), %rdi
leaq 0x29538(%rip), %rsi     # 0x13f9e3
callq 0x118af0
testb $0x1, %al
jne 0x1164b6
jmp 0x1164e4
movq -0x50(%rbp), %rdi
callq 0x117b10
movq %rax, %rcx
movq -0x230(%rbp), %rax
movq %rcx, 0x8(%rax)
leaq -0x28(%rbp), %rdi
leaq 0x29515(%rip), %rsi     # 0x13f9ed
movb $0x0, %al
callq 0xf3f70
jmp 0x116565
movq -0x8(%rbp), %rax
movq %rax, -0x250(%rbp)
movq -0x50(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x114950
movq -0x250(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x80(%rbp), %rcx
leaq -0x28(%rbp), %rax
movq (%rcx), %rdx
movq %rdx, (%rsp)
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rsp)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rcx
movq %rcx, 0x18(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x20(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
callq 0x116310
movq -0x230(%rbp), %rax
movq -0x68(%rbp), %rcx
movq %rcx, (%rax)
movq -0x60(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x58(%rbp), %rcx
movq %rcx, 0x10(%rax)
jmp 0x116579
leaq -0x28(%rbp), %rdi
leaq 0x2947b(%rip), %rsi     # 0x13f9ed
movb $0x0, %al
callq 0xf3f70
jmp 0x116736
leaq -0x28(%rbp), %rdi
leaq 0x294ef(%rip), %rsi     # 0x13fa78
callq 0x118af0
testb $0x1, %al
jne 0x116594
jmp 0x1165eb
leaq -0x98(%rbp), %rdi
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
callq 0x115ce0
movq -0x230(%rbp), %rax
movq -0x98(%rbp), %rcx
movq %rcx, (%rax)
movq -0x90(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x88(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq (%rax), %rdx
leaq -0x28(%rbp), %rdi
leaq 0x1dfd1(%rip), %rsi     # 0x1345b0
movb $0x0, %al
callq 0xf3f70
jmp 0x116734
leaq -0x28(%rbp), %rdi
leaq 0x29430(%rip), %rsi     # 0x13fa26
callq 0x118af0
testb $0x1, %al
jne 0x116601
jmp 0x116666
leaq -0xb0(%rbp), %rdi
movabsq $-0x5fc2af85f419929b, %rsi # imm = 0xA03D507A0BE66D65
callq 0x115ce0
movq -0x230(%rbp), %rax
movq -0xb0(%rbp), %rcx
movq %rcx, (%rax)
movq -0xa8(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0xa0(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq (%rax), %rax
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rdx
leaq -0x28(%rbp), %rdi
leaq 0x38771(%rip), %rsi     # 0x14edcb
movb $0x0, %al
callq 0xf3f70
jmp 0x116732
leaq -0x28(%rbp), %rdi
leaq 0x293e2(%rip), %rsi     # 0x13fa53
callq 0x118af0
testb $0x1, %al
jne 0x11667c
jmp 0x1166c1
leaq -0xd0(%rbp), %rdi
movabsq $-0x3ac242643d9c35a8, %rsi # imm = 0xC53DBD9BC263CA58
callq 0x115ce0
movq -0x230(%rbp), %rax
movq -0xd0(%rbp), %rcx
movq %rcx, (%rax)
movq -0xc8(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0xc0(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq (%rax), %rax
movb $0x1, (%rax)
jmp 0x116730
leaq -0x28(%rbp), %rdi
leaq 0x29391(%rip), %rsi     # 0x13fa5d
callq 0x118af0
testb $0x1, %al
jne 0x1166d7
jmp 0x11671c
leaq -0xe8(%rbp), %rdi
movabsq $-0x3ac242643d9c35a8, %rsi # imm = 0xC53DBD9BC263CA58
callq 0x115ce0
movq -0x230(%rbp), %rax
movq -0xe8(%rbp), %rcx
movq %rcx, (%rax)
movq -0xe0(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0xd8(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq (%rax), %rax
movb $0x0, (%rax)
jmp 0x11672e
leaq -0x28(%rbp), %rdi
leaq 0x1ce2f(%rip), %rsi     # 0x133556
movb $0x0, %al
callq 0xf42e0
jmp 0x116730
jmp 0x116732
jmp 0x116734
jmp 0x116736
jmp 0x116e49
movq -0x230(%rbp), %rax
leaq -0x100(%rbp), %rdi
movabsq $0x541d0401d4dcff33, %rsi # imm = 0x541D0401D4DCFF33
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x117e40
movq -0x230(%rbp), %rax
movq -0x100(%rbp), %rcx
movq %rcx, (%rax)
movq -0xf8(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0xf0(%rbp), %rcx
movq %rcx, 0x10(%rax)
leaq -0x118(%rbp), %rdi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x115ad0
movq -0x10(%rbp), %rdi
callq 0xff5c0
movq %rax, -0x120(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x116ff0
movabsq $-0x503db0e6e1c2e704, %rcx # imm = 0xAFC24F191E3D18FC
cmpq %rcx, %rax
jne 0x116818
movq -0x118(%rbp), %rdx
leaq -0x28(%rbp), %rdi
leaq 0x1ddb6(%rip), %rsi     # 0x1345b0
movb $0x0, %al
callq 0xf3f70
leaq -0x28(%rbp), %rdi
leaq 0x291e1(%rip), %rsi     # 0x13f9ed
movb $0x0, %al
callq 0xf3f70
jmp 0x116e27
leaq -0x118(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x117fe0
testb $0x1, %al
jne 0x116843
jmp 0x1168ae
movq -0x10(%rbp), %rax
movq %rax, -0x258(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x116ff0
movq %rax, %rdi
movq -0x120(%rbp), %rsi
callq 0x117f80
movq -0x258(%rbp), %rdi
movq %rax, %rdx
leaq 0x4208f(%rip), %rsi     # 0x158909
movb $0x0, %al
callq 0xff630
movq 0x8(%rax), %rsi
movq -0x118(%rbp), %rdx
leaq -0x28(%rbp), %rdi
movb $0x0, %al
callq 0xf3f70
leaq -0x28(%rbp), %rdi
leaq 0x2914b(%rip), %rsi     # 0x13f9ed
movb $0x0, %al
callq 0xf3f70
jmp 0x116e25
leaq -0x118(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x1181c0
testb $0x1, %al
jne 0x1168dc
jmp 0x116c8c
leaq -0x138(%rbp), %rdi
leaq -0x118(%rbp), %rax
movabsq $-0x5073d588c3beb52e, %rsi # imm = 0xAF8C2A773C414AD2
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x117e40
leaq -0x138(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xdab10
testb $0x1, %al
jne 0x116940
jmp 0x116a24
movq $0x0, -0x140(%rbp)
leaq -0x28(%rbp), %rdi
leaq 0x29137(%rip), %rsi     # 0x13fa8d
callq 0x118af0
testb $0x1, %al
jne 0x116964
jmp 0x1169f8
movq -0x8(%rbp), %rax
movq %rax, -0x260(%rbp)
leaq -0x170(%rbp), %rdi
callq 0x119b10
movq -0x260(%rbp), %rsi
leaq -0x158(%rbp), %rdi
leaq -0x170(%rbp), %rcx
leaq -0x28(%rbp), %rax
movq (%rcx), %rdx
movq %rdx, (%rsp)
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rsp)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rcx
movq %rcx, 0x18(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x20(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
callq 0x116310
leaq -0x158(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x119180
movq %rax, -0x140(%rbp)
movq -0x140(%rbp), %rdi
leaq -0x138(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x1191d0
leaq -0x138(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xda9a0
testb $0x1, %al
jne 0x116a52
jmp 0x116b8e
leaq -0x138(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x118260
movq %rax, -0x178(%rbp)
movq $0x0, -0x180(%rbp)
movq -0x180(%rbp), %rax
cmpq -0x178(%rbp), %rax
jae 0x116b77
movq -0x180(%rbp), %rax
movq %rax, -0x268(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x119b10
movq -0x270(%rbp), %rsi
leaq -0x198(%rbp), %rdi
leaq -0x1b0(%rbp), %rcx
leaq -0x28(%rbp), %rax
movq (%rcx), %rdx
movq %rdx, (%rsp)
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rsp)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rcx
movq %rcx, 0x18(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x20(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
callq 0x116310
movq -0x268(%rbp), %rdi
leaq -0x138(%rbp), %rcx
leaq -0x198(%rbp), %rax
movq (%rcx), %rdx
movq %rdx, (%rsp)
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rsp)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rcx
movq %rcx, 0x18(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x20(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
callq 0x119260
movq -0x180(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x180(%rbp)
jmp 0x116a89
leaq -0x28(%rbp), %rdi
leaq 0x28e6b(%rip), %rsi     # 0x13f9ed
movb $0x0, %al
callq 0xf3f70
jmp 0x116c87
leaq -0x138(%rbp), %rax
xorl %ecx, %ecx
movl %ecx, %edi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x119320
leaq -0x28(%rbp), %rdi
leaq 0x41d4c(%rip), %rsi     # 0x15890e
callq 0x118af0
xorb $-0x1, %al
testb $0x1, %al
jne 0x116bd2
jmp 0x116c85
movq -0x8(%rbp), %rax
movq %rax, -0x278(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x119b10
movq -0x278(%rbp), %rsi
leaq -0x1c8(%rbp), %rdi
leaq -0x1e0(%rbp), %rcx
leaq -0x28(%rbp), %rax
movq (%rcx), %rdx
movq %rdx, (%rsp)
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rsp)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rcx
movq %rcx, 0x18(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x20(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
callq 0x116310
leaq -0x138(%rbp), %rcx
leaq -0x1c8(%rbp), %rax
movq (%rcx), %rdx
movq %rdx, (%rsp)
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rsp)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rcx
movq %rcx, 0x18(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x20(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
callq 0x1193b0
jmp 0x116bb7
jmp 0x116c87
jmp 0x116e23
jmp 0x116c8e
leaq -0x28(%rbp), %rdi
leaq 0x41c75(%rip), %rsi     # 0x15890e
callq 0x118af0
xorb $-0x1, %al
testb $0x1, %al
jne 0x116ca9
jmp 0x116e21
movq -0x10(%rbp), %rdi
callq 0xff5c0
movq %rax, -0x1e8(%rbp)
movq -0x1e8(%rbp), %rdx
leaq -0x28(%rbp), %rdi
leaq 0x28dcc(%rip), %rsi     # 0x13fa97
movb $0x0, %al
callq 0xf3f70
movq -0x1e8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x1159a0
movq %rax, -0x1f0(%rbp)
movq -0x1f0(%rbp), %rsi
leaq -0x118(%rbp), %rdi
callq 0x119460
testb $0x1, %al
jne 0x116d34
leaq -0x118(%rbp), %rdi
callq 0x116ff0
movq %rax, %rdi
callq 0x1194d0
movq %rax, %rdx
movq -0x1e8(%rbp), %rax
movq 0x8(%rax), %rcx
leaq -0x28(%rbp), %rdi
leaq 0x41bea(%rip), %rsi     # 0x158917
movb $0x0, %al
callq 0xf41c0
movq -0x1f0(%rbp), %rdi
leaq -0x118(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x119520
movq %rax, -0x1f8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x280(%rbp)
leaq -0x228(%rbp), %rdi
callq 0x119b10
movq -0x280(%rbp), %rsi
leaq -0x210(%rbp), %rdi
leaq -0x228(%rbp), %rcx
leaq -0x28(%rbp), %rax
movq (%rcx), %rdx
movq %rdx, (%rsp)
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rsp)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rcx
movq %rcx, 0x18(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x20(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
callq 0x116310
movq -0x1f8(%rbp), %rdi
leaq -0x118(%rbp), %rcx
leaq -0x210(%rbp), %rax
movq (%rcx), %rdx
movq %rdx, (%rsp)
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rsp)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rcx
movq %rcx, 0x18(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x20(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
callq 0x1195c0
jmp 0x116c8e
jmp 0x116e23
jmp 0x116e25
jmp 0x116e27
movq -0x238(%rbp), %rax
movq (%rax), %rsi
leaq -0x118(%rbp), %rdi
callq 0x119680
leaq -0x118(%rbp), %rdi
callq 0x1196f0
movq -0x10(%rbp), %rdi
callq 0xbfe00
movq -0x230(%rbp), %rcx
movq -0x248(%rbp), %rax
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rax)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rax)
movq -0x240(%rbp), %rax
addq $0x2b0, %rsp            # imm = 0x2B0
popq %rbp
retq
nopw %cs:(%rax,%rax)