// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_trans_function_args
er_t xoico_che_s_trans_function_args( xoico_che_s* o, x_source* source, bl_t function_without_brackets, const xoico_func_s* func, const xoico_che_result* result_object_expr, const xoico_typespec_s* typespec_object, xoico_che_result* result, xoico_typespec_s* typespec_return )
{
    // xoico_che_function.x:32:1
    BLM_INIT_LEVEL(0);
    tp_t transient_return_type = 0;
    
    tp_t object_type = func->obj_type;
    const xoico_signature_s* signature = func->signature;
    typespec_return->type = 0;
    
    if( function_without_brackets )
    {
        BLM_TRY(xoico_che_result_a_push_sc(result,"(" ))
    }
    else
    {
        BLM_TRY(xoico_che_s_trans(o,source, "(", result ))
    }
    
    tp_t cast_to_var = signature->typespec_ret.transient ? signature->typespec_ret.transient->cast_to_var : 0;
    
    tp_t ret_transient_class = signature->typespec_ret.transient ? signature->typespec_ret.transient->class : 0;
    
    const xoico_transient_map_s* transient_map = NULL;
    
    if( signature->arg_o )
    {
        if( !result_object_expr )
        {
            xoico_che_result_arr_s* result_expr   = ((xoico_che_result_arr_s*)BLM_LEVEL_T_PUSH(0,xoico_che_result_arr_s,xoico_che_result_arr_s_create()));
            xoico_typespec_s* typespec_expr = ((xoico_typespec_s*)BLM_LEVEL_T_PUSH(0,xoico_typespec_s,xoico_typespec_s_create()));
            BLM_TRY(xoico_che_s_trans_expression(o,source,((xoico_che_result*)( result_expr)), typespec_expr ))
            result_object_expr =((const xoico_che_result*)( result_expr));
            typespec_object = typespec_expr;
            if( signature->args.size > 0 ) BLM_TRY(x_source_parse_fa(source," ," ))
        }
    
        transient_map = ( typespec_object ) ? xoico_che_s_get_transient_map(o,typespec_object->type ) : NULL;
    
        xoico_typespec_s* typespec_object_adapted = ((xoico_typespec_s*)BLM_LEVEL_T_PUSH(0,xoico_typespec_s,xoico_typespec_s_clone(&(signature->arg_o->typespec))));
    
        if( object_type ) BLM_TRY(xoico_typespec_s_relent(typespec_object_adapted,o->host, object_type ))
    
        if( typespec_object->type )
        {
            if
            (
                ret_transient_class &&
                signature->arg_o->typespec.transient &&
                signature->arg_o->typespec.transient->class == ret_transient_class
            )
            {
                transient_return_type = typespec_object->type;
            }
            BLM_TRY(xoico_che_s_adapt_expression(o,source, typespec_object, typespec_object_adapted, result_object_expr, result ))
        }
        else
        {
            xoico_che_result_a_push_result_c(result,result_object_expr );
        }
        if( signature->args.size > 0 ) BLM_TRY(xoico_che_result_a_push_sc(result,"," ))
    
        if( cast_to_var == signature->arg_o->name )
        {
            xoico_typespec_s_copy(typespec_return,typespec_object );
            typespec_return->indirection = typespec_object_adapted->indirection;
        }
    }
    
    if( transient_map && ret_transient_class )
    {
        if( !transient_return_type ) transient_return_type = xoico_transient_map_s_get(transient_map,ret_transient_class );
    }
    
    {const xoico_args_s* __a=&(signature->args );if(__a)for(sz_t __i=0;__i<__a->size;__i++){const xoico_arg_s* arg=__a->data[__i];
    {
        if( xoico_arg_s_is_variadic(arg) ) break;
    
        xoico_che_result_arr_s* result_expr = ((xoico_che_result_arr_s*)BLM_LEVEL_T_PUSH(0,xoico_che_result_arr_s,xoico_che_result_arr_s_create()));
        xoico_typespec_s* typespec_expr = ((xoico_typespec_s*)BLM_LEVEL_T_PUSH(0,xoico_typespec_s,xoico_typespec_s_create()));
        BLM_TRY(x_source_parse_fa(source," " ))
    
        if( __i > 0 )
        {
            BLM_TRY(x_source_parse_fa(source," ," ))
            BLM_TRY(xoico_che_result_a_push_sc(result,"," ))
        }
    
        BLM_TRY(xoico_che_s_trans_whitespace(o,source,((xoico_che_result*)( result_expr ))))
        if( x_source_parse_bl(source,"#?')'" ) ) BLM_RETURNV(er_t, x_source_parse_error_fa(source,"Function argument '#<sc_t>': No value passed.", xoico_che_s_nameof(o,arg->name ) ))
    
        BLM_TRY(xoico_che_s_trans_expression(o,source,((xoico_che_result*)( result_expr)), typespec_expr ))
    
        if( typespec_expr->type )
        {
            if( arg->typespec.transient )
            {
                if( transient_return_type == 0 && arg->typespec.transient->class == ret_transient_class )
                {
                    transient_return_type = typespec_expr->type;
                }
    
                if( transient_map )
                {
                    tp_t t = xoico_transient_map_s_get(transient_map,ret_transient_class );
                    if( xoico_che_s_is_stamp(o,t ) )
                    {
                        if( typespec_expr->type != t )
                        {
                            BLM_RETURNV(er_t, x_source_parse_error_fa(source,"Function argument '#<sc_t>': Type '#<sc_t>' expected but type '#<sc_t>' passed.", xoico_che_s_nameof(o,arg->name ), xoico_che_s_nameof(o,t ), xoico_che_s_nameof(o,typespec_expr->type ) ))
                        }
                    }
                }
            }
    
            BLM_TRY(xoico_che_s_adapt_expression(o,source, typespec_expr,&( arg->typespec),((const xoico_che_result*)( result_expr)), result ))
        }
        else
        {
            xoico_che_result_a_push_result_d(result,((xoico_che_result*)(((xoico_che_result_arr_s*)bcore_fork(result_expr)) )));
        }
    
        if( cast_to_var == arg->name )
        {
            xoico_typespec_s_copy(typespec_return,typespec_expr );
            typespec_return->indirection = arg->typespec.indirection;
        }
    }
    
    }}if( xoico_args_s_is_variadic(&(signature->args)) )
    {
        while( !x_source_eos(source) && !x_source_parse_bl(source," #=?')'" ) )
        {
            BLM_TRY(x_source_parse_fa(source," ," ))
            BLM_TRY(xoico_che_result_a_push_sc(result,"," ))
            BLM_TRY(xoico_che_s_trans_expression(o,source, result, NULL ))
        }
    }
    
    if( function_without_brackets )
    {
        BLM_TRY(xoico_che_result_a_push_sc(result,")" ))
    }
    else
    {
        BLM_TRY(x_source_parse_fa(source," " ))
        BLM_TRY(xoico_che_s_trans(o,source, ")", result ))
    }
    
    
    if( typespec_return->type == 0 )
    {
        xoico_typespec_s_copy(typespec_return,&(signature->typespec_ret ));
        if( transient_return_type != 0 ) typespec_return->type = transient_return_type;
    }
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2b0, %rsp            # imm = 0x2B0
movb %dl, %al
movq 0x18(%rbp), %rdx
movq 0x10(%rbp), %rdx
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
andb $0x1, %al
movb %al, -0x19(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
leaq 0x18177b(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x40(%rbp)
leaq -0x70(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0xbfe80
movq -0x78(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq $0x0, 0x10(%rax)
movq $0x0, -0x80(%rbp)
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x88(%rbp)
movq -0x28(%rbp), %rax
movq 0x40(%rax), %rax
movq %rax, -0x90(%rbp)
movq 0x18(%rbp), %rax
movq $0x0, 0x8(%rax)
testb $0x1, -0x19(%rbp)
je 0x30c67
movq 0x10(%rbp), %rdi
leaq 0x102c1e(%rip), %rsi    # 0x133846
callq 0x23300
movq %rax, -0x98(%rbp)
cmpq $0x0, -0x98(%rbp)
je 0x30c65
movq -0x98(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0xa0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
jmp 0x30cb9
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq 0x10(%rbp), %rcx
leaq 0x102bcc(%rip), %rdx    # 0x133846
callq 0x23280
movq %rax, -0xa8(%rbp)
cmpq $0x0, -0xa8(%rbp)
je 0x30cb7
movq -0xa8(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0xb0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
jmp 0x30cb9
movq -0x90(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x30cdf
movq -0x90(%rbp), %rax
movq 0x38(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x240(%rbp)
jmp 0x30cea
xorl %eax, %eax
movq %rax, -0x240(%rbp)
jmp 0x30cea
movq -0x240(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x90(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x30d1e
movq -0x90(%rbp), %rax
movq 0x38(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x248(%rbp)
jmp 0x30d29
xorl %eax, %eax
movq %rax, -0x248(%rbp)
jmp 0x30d29
movq -0x248(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq $0x0, -0xc8(%rbp)
movq -0x90(%rbp), %rax
cmpq $0x0, 0x50(%rax)
je 0x310b4
cmpq $0x0, -0x30(%rbp)
jne 0x30e8c
movq -0x40(%rbp), %rax
movq %rax, -0x258(%rbp)
callq 0x35ee0
movq -0x258(%rbp), %rdi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %esi
movabsq $-0x7850996cdf80346a, %rdx # imm = 0x87AF6693207FCB96
callq 0xc01a0
movq %rax, -0xd0(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x250(%rbp)
callq 0x5d20
movq -0x250(%rbp), %rdi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %esi
movabsq $-0x641110359430e9c5, %rdx # imm = 0x9BEEEFCA6BCF163B
callq 0xc01a0
movq %rax, -0xd8(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0xd0(%rbp), %rdx
movq -0xd8(%rbp), %rcx
callq 0x27f50
movq %rax, -0xe0(%rbp)
cmpq $0x0, -0xe0(%rbp)
je 0x30e1a
movq -0xe0(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0xe8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
movq -0xd0(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0xd8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x90(%rbp), %rax
cmpq $0x0, 0x68(%rax)
jbe 0x30e8a
movq -0x18(%rbp), %rdi
leaq 0x10364f(%rip), %rsi    # 0x134498
movb $0x0, %al
callq 0x4a20
movq %rax, -0xf0(%rbp)
cmpq $0x0, -0xf0(%rbp)
je 0x30e88
movq -0xf0(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0xf8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
jmp 0x30e8a
jmp 0x30e8c
cmpq $0x0, -0x38(%rbp)
je 0x30ead
movq -0x10(%rbp), %rdi
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x31870
movq %rax, -0x260(%rbp)
jmp 0x30eb8
xorl %eax, %eax
movq %rax, -0x260(%rbp)
jmp 0x30eb8
movq -0x260(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x268(%rbp)
movq -0x90(%rbp), %rax
movq 0x50(%rax), %rdi
addq $0x20, %rdi
callq 0x5d70
movq -0x268(%rbp), %rdi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %esi
movabsq $-0x641110359430e9c5, %rdx # imm = 0x9BEEEFCA6BCF163B
callq 0xc01a0
movq %rax, -0x100(%rbp)
cmpq $0x0, -0x88(%rbp)
je 0x30f68
movq -0x100(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x88(%rbp), %rdx
callq 0x5db0
movq %rax, -0x108(%rbp)
cmpq $0x0, -0x108(%rbp)
je 0x30f66
movq -0x108(%rbp), %rax
movq %rax, -0x110(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x110(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
jmp 0x30f68
movq -0x38(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x31015
cmpq $0x0, -0xc0(%rbp)
je 0x30fbb
movq -0x90(%rbp), %rax
movq 0x50(%rax), %rax
cmpq $0x0, 0x38(%rax)
je 0x30fbb
movq -0x90(%rbp), %rax
movq 0x50(%rax), %rax
movq 0x38(%rax), %rax
movq 0x8(%rax), %rax
cmpq -0xc0(%rbp), %rax
jne 0x30fbb
movq -0x38(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x80(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x38(%rbp), %rdx
movq -0x100(%rbp), %rcx
movq -0x30(%rbp), %r8
movq 0x10(%rbp), %r9
callq 0x24ec0
movq %rax, -0x118(%rbp)
cmpq $0x0, -0x118(%rbp)
je 0x31013
movq -0x118(%rbp), %rax
movq %rax, -0x120(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x120(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
jmp 0x31022
movq 0x10(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x24e80
movq -0x90(%rbp), %rax
cmpq $0x0, 0x68(%rax)
jbe 0x3107a
movq 0x10(%rbp), %rdi
leaq 0x10345e(%rip), %rsi    # 0x134499
callq 0x23300
movq %rax, -0x128(%rbp)
cmpq $0x0, -0x128(%rbp)
je 0x31078
movq -0x128(%rbp), %rax
movq %rax, -0x130(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x130(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
jmp 0x3107a
movq -0xb8(%rbp), %rax
movq -0x90(%rbp), %rcx
movq 0x50(%rcx), %rcx
cmpq 0x50(%rcx), %rax
jne 0x310b2
movq 0x18(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x5ce0
movq -0x100(%rbp), %rax
movq 0x20(%rax), %rcx
movq 0x18(%rbp), %rax
movq %rcx, 0x20(%rax)
jmp 0x310b4
cmpq $0x0, -0xc8(%rbp)
je 0x310e8
cmpq $0x0, -0xc0(%rbp)
je 0x310e8
cmpq $0x0, -0x80(%rbp)
jne 0x310e6
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rsi
callq 0x5e50
movq %rax, -0x80(%rbp)
jmp 0x310e8
movq -0x90(%rbp), %rax
addq $0x58, %rax
movq %rax, -0x138(%rbp)
cmpq $0x0, -0x138(%rbp)
je 0x315e3
movq $0x0, -0x140(%rbp)
movq -0x140(%rbp), %rax
movq -0x138(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x315e1
movq -0x138(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x140(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x148(%rbp)
movq -0x148(%rbp), %rdi
callq 0x318a0
testb $0x1, %al
jne 0x3115a
jmp 0x3115f
jmp 0x315e1
movq -0x40(%rbp), %rax
movq %rax, -0x278(%rbp)
callq 0x35ee0
movq -0x278(%rbp), %rdi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %esi
movabsq $-0x7850996cdf80346a, %rdx # imm = 0x87AF6693207FCB96
callq 0xc01a0
movq %rax, -0x150(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x270(%rbp)
callq 0x5d20
movq -0x270(%rbp), %rdi
movq %rax, %rcx
xorl %eax, %eax
movl %eax, %esi
movabsq $-0x641110359430e9c5, %rdx # imm = 0x9BEEEFCA6BCF163B
callq 0xc01a0
movq %rax, -0x158(%rbp)
movq -0x18(%rbp), %rdi
leaq 0x11c9af(%rip), %rsi    # 0x14db81
movb $0x0, %al
callq 0x4a20
movq %rax, -0x160(%rbp)
cmpq $0x0, -0x160(%rbp)
je 0x31211
movq -0x160(%rbp), %rax
movq %rax, -0x168(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x168(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
cmpq $0x0, -0x140(%rbp)
jle 0x312b3
movq -0x18(%rbp), %rdi
leaq 0x10326e(%rip), %rsi    # 0x134498
movb $0x0, %al
callq 0x4a20
movq %rax, -0x170(%rbp)
cmpq $0x0, -0x170(%rbp)
je 0x31269
movq -0x170(%rbp), %rax
movq %rax, -0x178(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x178(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
movq 0x10(%rbp), %rdi
leaq 0x103225(%rip), %rsi    # 0x134499
callq 0x23300
movq %rax, -0x180(%rbp)
cmpq $0x0, -0x180(%rbp)
je 0x312b1
movq -0x180(%rbp), %rax
movq %rax, -0x188(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x188(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
jmp 0x312b3
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x150(%rbp), %rdx
callq 0x23fd0
movq %rax, -0x190(%rbp)
cmpq $0x0, -0x190(%rbp)
je 0x312ff
movq -0x190(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x198(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
movq -0x18(%rbp), %rdi
leaq 0x1030dc(%rip), %rsi    # 0x1343e6
callq 0x6700
testb $0x1, %al
jne 0x31315
jmp 0x3136c
movq -0x18(%rbp), %rax
movq %rax, -0x280(%rbp)
movq -0x10(%rbp), %rdi
movq -0x148(%rbp), %rax
movq 0x50(%rax), %rsi
callq 0x22840
movq -0x280(%rbp), %rdi
movq %rax, %rdx
leaq 0x1064d2(%rip), %rsi    # 0x137817
movb $0x0, %al
callq 0x4c80
movq %rax, -0x1a0(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x1a0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x150(%rbp), %rdx
movq -0x158(%rbp), %rcx
callq 0x27f50
movq %rax, -0x1a8(%rbp)
cmpq $0x0, -0x1a8(%rbp)
je 0x313bf
movq -0x1a8(%rbp), %rax
movq %rax, -0x1b0(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x1b0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
movq -0x158(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x3156b
movq -0x148(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x31507
cmpq $0x0, -0x80(%rbp)
jne 0x31411
movq -0x148(%rbp), %rax
movq 0x38(%rax), %rax
movq 0x8(%rax), %rax
cmpq -0xc0(%rbp), %rax
jne 0x31411
movq -0x158(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x80(%rbp)
cmpq $0x0, -0xc8(%rbp)
je 0x31505
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rsi
callq 0x5e50
movq %rax, -0x1b8(%rbp)
movq -0x10(%rbp), %rdi
movq -0x1b8(%rbp), %rsi
callq 0x25770
testb $0x1, %al
jne 0x31452
jmp 0x31503
movq -0x158(%rbp), %rax
movq 0x8(%rax), %rax
cmpq -0x1b8(%rbp), %rax
je 0x31501
movq -0x18(%rbp), %rax
movq %rax, -0x298(%rbp)
movq -0x10(%rbp), %rdi
movq -0x148(%rbp), %rax
movq 0x50(%rax), %rsi
callq 0x22840
movq %rax, -0x290(%rbp)
movq -0x10(%rbp), %rdi
movq -0x1b8(%rbp), %rsi
callq 0x22840
movq %rax, -0x288(%rbp)
movq -0x10(%rbp), %rdi
movq -0x158(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x22840
movq -0x298(%rbp), %rdi
movq -0x290(%rbp), %rdx
movq -0x288(%rbp), %rcx
movq %rax, %r8
leaq 0x10636b(%rip), %rsi    # 0x137845
movb $0x0, %al
callq 0x4c80
movq %rax, -0x1c0(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x1c0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
jmp 0x31503
jmp 0x31505
jmp 0x31507
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x158(%rbp), %rdx
movq -0x148(%rbp), %rcx
addq $0x20, %rcx
movq -0x150(%rbp), %r8
movq 0x10(%rbp), %r9
callq 0x24ec0
movq %rax, -0x1c8(%rbp)
cmpq $0x0, -0x1c8(%rbp)
je 0x31569
movq -0x1c8(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x1d0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
jmp 0x31591
movq 0x10(%rbp), %rax
movq %rax, -0x2a0(%rbp)
movq -0x150(%rbp), %rdi
callq 0x9d3d0
movq -0x2a0(%rbp), %rdi
movq %rax, %rsi
callq 0x24290
movq -0xb8(%rbp), %rax
movq -0x148(%rbp), %rcx
cmpq 0x50(%rcx), %rax
jne 0x315c8
movq 0x18(%rbp), %rdi
movq -0x158(%rbp), %rsi
callq 0x5ce0
movq -0x148(%rbp), %rax
movq 0x40(%rax), %rcx
movq 0x18(%rbp), %rax
movq %rcx, 0x20(%rax)
jmp 0x315ca
movq -0x140(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x140(%rbp)
jmp 0x31113
jmp 0x315e3
movq -0x90(%rbp), %rdi
addq $0x58, %rdi
callq 0x85a0
testb $0x1, %al
jne 0x315fc
jmp 0x31723
jmp 0x315fe
movq -0x18(%rbp), %rdi
callq 0x6730
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x2a1(%rbp)
jne 0x3162e
movq -0x18(%rbp), %rdi
leaq 0x102227(%rip), %rsi    # 0x133848
callq 0x6700
xorb $-0x1, %al
movb %al, -0x2a1(%rbp)
movb -0x2a1(%rbp), %al
testb $0x1, %al
jne 0x3163d
jmp 0x31721
movq -0x18(%rbp), %rdi
leaq 0x102e50(%rip), %rsi    # 0x134498
movb $0x0, %al
callq 0x4a20
movq %rax, -0x1d8(%rbp)
cmpq $0x0, -0x1d8(%rbp)
je 0x31687
movq -0x1d8(%rbp), %rax
movq %rax, -0x1e0(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x1e0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
movq 0x10(%rbp), %rdi
leaq 0x102e07(%rip), %rsi    # 0x134499
callq 0x23300
movq %rax, -0x1e8(%rbp)
cmpq $0x0, -0x1e8(%rbp)
je 0x316cf
movq -0x1e8(%rbp), %rax
movq %rax, -0x1f0(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x1f0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq 0x10(%rbp), %rdx
xorl %eax, %eax
movl %eax, %ecx
callq 0x27f50
movq %rax, -0x1f8(%rbp)
cmpq $0x0, -0x1f8(%rbp)
je 0x3171c
movq -0x1f8(%rbp), %rax
movq %rax, -0x200(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x200(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
jmp 0x315fe
jmp 0x31723
testb $0x1, -0x19(%rbp)
je 0x31776
movq 0x10(%rbp), %rdi
leaq 0x123c17(%rip), %rsi    # 0x15534b
callq 0x23300
movq %rax, -0x208(%rbp)
cmpq $0x0, -0x208(%rbp)
je 0x31771
movq -0x208(%rbp), %rax
movq %rax, -0x210(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x210(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
jmp 0x3180f
movq -0x18(%rbp), %rdi
leaq 0x11c400(%rip), %rsi    # 0x14db81
movb $0x0, %al
callq 0x4a20
movq %rax, -0x218(%rbp)
cmpq $0x0, -0x218(%rbp)
je 0x317c0
movq -0x218(%rbp), %rax
movq %rax, -0x220(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x220(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq 0x10(%rbp), %rcx
leaq 0x123b78(%rip), %rdx    # 0x15534b
callq 0x23280
movq %rax, -0x228(%rbp)
cmpq $0x0, -0x228(%rbp)
je 0x3180d
movq -0x228(%rbp), %rax
movq %rax, -0x230(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x230(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x31862
jmp 0x3180f
movq 0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x31843
movq 0x18(%rbp), %rdi
movq -0x90(%rbp), %rsi
addq $0x20, %rsi
callq 0x5ce0
cmpq $0x0, -0x80(%rbp)
je 0x31841
movq -0x80(%rbp), %rcx
movq 0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0x31843
movq $0x0, -0x238(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0x238(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x2b0, %rsp            # imm = 0x2B0
popq %rbp
retq
nop