// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_bop_s_solve_exportable_a_b
er_t x_btcl_operator_bop_s_solve_exportable_a_b( const x_btcl_operator_bop_s* o, const sr_s* a, const sr_s* b, sr_s* result, bl_t* success )
{
    // bcore_x_btcl_operator.x:291:1
    
    (*(success)) = true;
    
    switch( o->type )
    {
        case ((tp_t)(TYPEOF_pow)):
        {
            if( bcore_tp_is_numeric( sr_s_type(a) ) && bcore_tp_is_numeric( sr_s_type(b) ) )
            {
                sr_s_const_from_f3(result,pow( sr_s_to_f3(a), sr_s_to_f3(b) ) );
                return  0;
            }
        }
        break;
    
        case ((tp_t)(TYPEOF_div)):
        {
            if( bcore_tp_is_numeric( sr_s_type(a) ) && bcore_tp_is_numeric( sr_s_type(b) ) )
            {
                if( sr_s_to_f3(b) == 0 ) return  x_source_point_s_parse_error_fa(&(o->sp),"Division by zero.\n" );
                sr_s_const_from_f3(result,sr_s_to_f3(a) / sr_s_to_f3(b) );
                return  0;
            }
        }
        break;
    
        case ((tp_t)(TYPEOF_mod)):
        {
            if( bcore_tp_is_integer( sr_s_type(a) ) && bcore_tp_is_integer( sr_s_type(b) ) )
            {
                if( sr_s_to_s3(b) == 0 ) return  x_source_point_s_parse_error_fa(&(o->sp),"Modulo division by zero.\n" );
                sr_s_const_from_s3(result,sr_s_to_s3(a) % sr_s_to_s3(b) );
                return  0;
            }
        }
        break;
    
        case ((tp_t)(TYPEOF_mul)):
        {
            if( bcore_tp_is_numeric( sr_s_type(a) ) && bcore_tp_is_numeric( sr_s_type(b) ) )
            {
                if( bcore_tp_is_integer( sr_s_type(a) ) && bcore_tp_is_integer( sr_s_type(b) ) )
                {
                    sr_s_const_from_s3(result,sr_s_to_s3(a) * sr_s_to_s3(b) );
                }
                else
                {
                    sr_s_const_from_f3(result,sr_s_to_f3(a) * sr_s_to_f3(b) );
                }
                return  0;
            }
            else if( sr_s_type(a) == ((tp_t)(TYPEOF_x_btcl_list_s)) )
            {
                const x_btcl_list_s* list_a = ((const x_btcl_list_s*)(a->o));
                if( sr_s_type(b) == ((tp_t)(TYPEOF_x_btcl_list_s)) )
                {BLM_INIT_LEVEL(6);
                    const x_btcl_list_s* list_b = ((const x_btcl_list_s*)(b->o));
                    x_btcl_list_s* list_r = ((x_btcl_list_s*)BLM_LEVEL_T_PUSH(6,x_btcl_list_s,x_btcl_list_s_create()));
                    x_btcl_list_s_set_size(list_r,x_btcl_list_s_size(list_a) * x_btcl_list_s_size(list_b) );
                    for(sz_t i = 0; i < x_btcl_list_s_size(list_a); i++ )
                    {
                        sr_s* sa =&( list_a->arr.data[ i ]);
    
                        for(sz_t j = 0; j < x_btcl_list_s_size(list_b); j++ )
                        {
                            sr_s* sb =&( list_b->arr.data[ j ]);
                            BLM_TRY(x_btcl_bop_cat_ab(sa, sb,&( list_r->arr.data[ i * x_btcl_list_s_size(list_b) + j ] )))
                        }
                    }
                    sr_s_asc(result,((x_btcl_list_s*)bcore_fork(list_r)) );
                    BLM_RETURNV(er_t, 0)
                BLM_DOWN();}
            }
        }
        break;
    
        case ((tp_t)(TYPEOF_sub)):
        {
            if( bcore_tp_is_numeric( sr_s_type(a) ) && bcore_tp_is_numeric( sr_s_type(b) ) )
            {
                if( bcore_tp_is_integer( sr_s_type(a) ) && bcore_tp_is_integer( sr_s_type(b) ) )
                {
                    sr_s_const_from_s3(result,sr_s_to_s3(a) - sr_s_to_s3(b) );
                }
                else
                {
                    sr_s_const_from_f3(result,sr_s_to_f3(a) - sr_s_to_f3(b) );
                }
                return  0;
            }
        }
        break;
    
        case ((tp_t)(TYPEOF_max)):
        {
            if( bcore_tp_is_numeric( sr_s_type(a) ) && bcore_tp_is_numeric( sr_s_type(b) ) )
            {
                if( bcore_tp_is_integer( sr_s_type(a) ) && bcore_tp_is_integer( sr_s_type(b) ) )
                {
                    sr_s_const_from_s3(result,s3_max( sr_s_to_s3(a), sr_s_to_s3(b) ) );
                }
                else
                {
                    sr_s_const_from_f3(result,f3_max( sr_s_to_f3(a), sr_s_to_f3(b) ) );
                }
                return  0;
            }
        }
        break;
    
        case ((tp_t)(TYPEOF_min)):
        {
            if( bcore_tp_is_numeric( sr_s_type(a) ) && bcore_tp_is_numeric( sr_s_type(b) ) )
            {
                if( bcore_tp_is_integer( sr_s_type(a) ) && bcore_tp_is_integer( sr_s_type(b) ) )
                {
                    sr_s_const_from_s3(result,s3_min( sr_s_to_s3(a), sr_s_to_s3(b) ) );
                }
                else
                {
                    sr_s_const_from_f3(result,f3_min( sr_s_to_f3(a), sr_s_to_f3(b) ) );
                }
                return  0;
            }
        }
        break;
    
        case ((tp_t)(TYPEOF_add)):
        {
            if( bcore_tp_is_numeric( sr_s_type(a) ) )
            {
                if( bcore_tp_is_numeric( sr_s_type(b) ) )
                {
                    if( bcore_tp_is_integer( sr_s_type(a) ) && bcore_tp_is_integer( sr_s_type(b) ) )
                    {
                        sr_s_const_from_s3(result,sr_s_to_s3(a) + sr_s_to_s3(b) );
                    }
                    else
                    {
                        sr_s_const_from_f3(result,sr_s_to_f3(a) + sr_s_to_f3(b) );
                    }
                    return  0;
                }
            }
    
            if( sr_s_type(a) == ((tp_t)(TYPEOF_st_s)) || sr_s_type(b) == ((tp_t)(TYPEOF_st_s)) )
            {BLM_INIT_LEVEL(4);
                st_s* st1 = ((st_s*)BLM_LEVEL_T_PUSH(4,st_s,st_s_create()));
                st_s* st2 = ((st_s*)BLM_LEVEL_T_PUSH(4,st_s,st_s_create()));
                if( st_s_copy_typed(st1,sr_s_type(a), a->o ) ) {BLM_INIT_LEVEL(5); BLM_RETURNV(er_t, x_source_point_s_parse_error_fa(&(o->sp),"operator '+': #<sc_t>\n", bcore_error_pop_all_to_st(((st_s*)BLM_LEVEL_T_PUSH(5,st_s,st_s_create())) )->sc )) BLM_DOWN();}
                if( st_s_copy_typed(st2,sr_s_type(b), b->o ) ) {BLM_INIT_LEVEL(5); BLM_RETURNV(er_t, x_source_point_s_parse_error_fa(&(o->sp),"operator '+': #<sc_t>\n", bcore_error_pop_all_to_st(((st_s*)BLM_LEVEL_T_PUSH(5,st_s,st_s_create())) )->sc )) BLM_DOWN();}
                st_s_push_st(st1,st2 );
    
                sr_s_asc(result,((st_s*)bcore_fork(st1)) );
                BLM_RETURNV(er_t, 0)
            BLM_DOWN();}
        }
        break;
    
        case ((tp_t)(TYPEOF_spawn)):
        {
            if( sr_s_is_numeric(a) && sr_s_type(b) != ((tp_t)(TYPEOF_x_btcl_function_s)) )
            {BLM_INIT_LEVEL(4);
                x_btcl_list_s* list = ((x_btcl_list_s*)BLM_LEVEL_T_PUSH(4,x_btcl_list_s,x_btcl_list_s_create()));
                bcore_arr_sr_s_set_size(&(list->arr),sr_s_to_s3(a) );
                for(sz_t i = 0; i < list->arr.size; i++ )
                {
                    sr_s_tsc(&(list->arr.data[ i ]),sr_s_type(b), x_inst_t_clone( b->o,sr_s_type(b) ) );
                }
                sr_s_asc(result,((x_btcl_list_s*)bcore_fork(list)) );
                BLM_RETURNV(er_t, 0)
            BLM_DOWN();}
        }
        break;
    
        case ((tp_t)(TYPEOF_cat)): return  x_btcl_bop_cat_ab(((sr_s*)(a)), ((sr_s*)(b)), result );
    
        case ((tp_t)(TYPEOF_equal)):
        {
            if( x_btcl_operator_is_comparable(a, b ) )
            {
                sr_s_from_bl(result,0 == x_compare_t_num_dominant(sr_s_type(a), a->o, sr_s_type(b), b->o ) );
                return  0;
            }
        }
        break;
    
        case ((tp_t)(TYPEOF_unequal)):
        {
            if( x_btcl_operator_is_comparable(a, b ) )
            {
                sr_s_from_bl(result,0 != x_compare_t_num_dominant(sr_s_type(a), a->o, sr_s_type(b), b->o ) );
                return  0;
            }
        }
        break;
    
        case ((tp_t)(TYPEOF_larger_equal)):
        {
            if( x_btcl_operator_is_comparable(a, b ) )
            {
                sr_s_from_bl(result,0 >= x_compare_t_num_dominant(sr_s_type(a), a->o, sr_s_type(b), b->o ) );
                return  0;
            }
        }
        break;
    
    
        case ((tp_t)(TYPEOF_larger)):
        {
            if( x_btcl_operator_is_comparable(a, b ) )
            {
                sr_s_from_bl(result,0 >  x_compare_t_num_dominant(sr_s_type(a), a->o, sr_s_type(b), b->o ) );
                return  0;
            }
        }
        break;
    
        case ((tp_t)(TYPEOF_smaller_equal)):
        {
            if( x_btcl_operator_is_comparable(a, b ) )
            {
                sr_s_from_bl(result,0 <= x_compare_t_num_dominant(sr_s_type(a), a->o, sr_s_type(b), b->o ) );
                return  0;
            }
        }
        break;
    
        case ((tp_t)(TYPEOF_smaller)):
        {
            if( x_btcl_operator_is_comparable(a, b ) )
            {
                sr_s_from_bl(result,0 <  x_compare_t_num_dominant(sr_s_type(a), a->o, sr_s_type(b), b->o ) );
                return  0;
            }
        }
        break;
    
        case ((tp_t)(TYPEOF_and)): if( sr_s_is_numeric(a) && sr_s_is_numeric(b) ) { sr_s_from_bl(result,sr_s_to_bl(a) && sr_s_to_bl(b) ); return  0; } break;
        case ((tp_t)(TYPEOF_or)):  if( sr_s_is_numeric(a) && sr_s_is_numeric(b) ) { sr_s_from_bl(result,sr_s_to_bl(a) || sr_s_to_bl(b) ); return  0; } break;
    
        case ((tp_t)(TYPEOF_shift_left)):
        {
            if( sr_s_type(a) == ((tp_t)(TYPEOF_x_btcl_net_node_s)) )
            {BLM_INIT_LEVEL(4);
                x_btcl_net_node_s* node = ((x_btcl_net_node_s*)BLM_LEVEL_T_PUSH(4,x_btcl_net_node_s,x_btcl_net_node_s_clone(((x_btcl_net_node_s*)(a->o)))));
                x_btcl_net_node_s_push_plain_branch(node,0, false,&( o->sp), ((sr_s*)(b)) );
                sr_s_asc(result,((x_btcl_net_node_s*)bcore_fork(node)) );
                BLM_RETURNV(er_t, 0)
            BLM_DOWN();}
        }
        break;
    
        default: break;
    }
    
    (*(success)) = false;
    return  0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x4b0, %rsp            # imm = 0x4B0
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq -0x30(%rbp), %rax
movb $0x1, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x258(%rbp)
movabsq $-0x7d8e62e6a2f03d0b, %rcx # imm = 0x82719D195D0FC2F5
subq %rcx, %rax
je 0x6afbe
jmp 0x6a81a
movq -0x258(%rbp), %rax
movabsq $-0x7852cb8bc90e7dee, %rcx # imm = 0x87AD347436F18212
subq %rcx, %rax
je 0x6ba9e
jmp 0x6a836
movq -0x258(%rbp), %rax
movabsq $-0x57358b5d24648dc3, %rcx # imm = 0xA8CA74A2DB9B723D
subq %rcx, %rax
je 0x6ba0f
jmp 0x6a852
movq -0x258(%rbp), %rax
movabsq $-0x474675c9029fa41c, %rcx # imm = 0xB8B98A36FD605BE4
subq %rcx, %rax
je 0x6bb2d
jmp 0x6a86e
movq -0x258(%rbp), %rax
movabsq $-0x3557c5e70b91a778, %rcx # imm = 0xCAA83A18F46E5888
subq %rcx, %rax
je 0x6aa93
jmp 0x6a88a
movq -0x258(%rbp), %rax
movabsq $-0x190868e6fae00d7a, %rcx # imm = 0xE6F79719051FF286
subq %rcx, %rax
je 0x6bc4b
jmp 0x6a8a6
movq -0x258(%rbp), %rax
movabsq $-0x18f43ce6facf19ac, %rcx # imm = 0xE70BC3190530E654
subq %rcx, %rax
je 0x6b2a6
jmp 0x6a8c2
movq -0x258(%rbp), %rax
movabsq $-0xe64339e40c20067, %rcx # imm = 0xF19BCC61BF3DFF99
subq %rcx, %rax
je 0x6bd41
jmp 0x6a8de
movq -0x258(%rbp), %rax
movabsq $-0xa1cf8e6f31b5cd9, %rcx # imm = 0xF5E307190CE4A327
subq %rcx, %rax
je 0x6b8d7
jmp 0x6a8fa
movq -0x258(%rbp), %rax
movabsq $0x4c3dbe7cbbb5fb, %rcx # imm = 0x4C3DBE7CBBB5FB
subq %rcx, %rax
je 0x6bbbc
jmp 0x6a916
movq -0x258(%rbp), %rax
movabsq $0x7e66519174a3ce1, %rcx # imm = 0x7E66519174A3CE1
subq %rcx, %rax
je 0x6ac02
jmp 0x6a932
movq -0x258(%rbp), %rax
movabsq $0x7f4431917564077, %rcx # imm = 0x7F4431917564077
subq %rcx, %rax
je 0x6b1ab
jmp 0x6a94e
movq -0x258(%rbp), %rax
movabsq $0x808591917670ee3, %rcx # imm = 0x808591917670EE3
subq %rcx, %rax
je 0x6ab4e
jmp 0x6a96a
movq -0x258(%rbp), %rax
movabsq $0x80f5119176d1ff9, %rcx # imm = 0x80F5119176D1FF9
subq %rcx, %rax
je 0x6b0b0
jmp 0x6a986
movq -0x258(%rbp), %rax
movabsq $0x8b05407b5565ca4, %rcx # imm = 0x8B05407B5565CA4
subq %rcx, %rax
je 0x6bcc7
jmp 0x6a9a2
movq -0x258(%rbp), %rax
movabsq $0x1894146c8d27f1ee, %rcx # imm = 0x1894146C8D27F1EE
subq %rcx, %rax
je 0x6b980
jmp 0x6a9be
movq -0x258(%rbp), %rax
movabsq $0x4328f78ab20e1f98, %rcx # imm = 0x4328F78AB20E1F98
subq %rcx, %rax
je 0x6b703
jmp 0x6a9da
movq -0x258(%rbp), %rax
movabsq $0x6a7933d70f43faaf, %rcx # imm = 0x6A7933D70F43FAAF
subq %rcx, %rax
je 0x6b8f1
jmp 0x6a9f6
movq -0x258(%rbp), %rax
movabsq $0x779b5f19564f3b35, %rcx # imm = 0x779B5F19564F3B35
subq %rcx, %rax
jne 0x6be55
jmp 0x6aa12
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x1117f0
cmpq $0x0, %rax
je 0x6aa8e
movq -0x20(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x1117f0
cmpq $0x0, %rax
je 0x6aa8e
movq -0x28(%rbp), %rax
movq %rax, -0x260(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfc680
movsd %xmm0, -0x268(%rbp)
movq -0x20(%rbp), %rdi
callq 0xfc680
movaps %xmm0, %xmm1
movsd -0x268(%rbp), %xmm0
callq 0x4420
movq -0x260(%rbp), %rdi
callq 0xfc4e0
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x1117f0
cmpq $0x0, %rax
je 0x6ab49
movq -0x20(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x1117f0
cmpq $0x0, %rax
je 0x6ab49
movq -0x20(%rbp), %rdi
callq 0xfc680
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x6aafc
jp 0x6aafc
movq -0x10(%rbp), %rdi
addq $0x40, %rdi
leaq 0xd5fa3(%rip), %rsi     # 0x140a8f
movb $0x0, %al
callq 0x68020
movq %rax, -0x8(%rbp)
jmp 0x6be66
movq -0x28(%rbp), %rax
movq %rax, -0x278(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfc680
movsd %xmm0, -0x270(%rbp)
movq -0x20(%rbp), %rdi
callq 0xfc680
movq -0x278(%rbp), %rdi
movaps %xmm0, %xmm1
movsd -0x270(%rbp), %xmm0
divsd %xmm1, %xmm0
callq 0xfc4e0
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x111a80
cmpq $0x0, %rax
je 0x6abfd
movq -0x20(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x111a80
cmpq $0x0, %rax
je 0x6abfd
movq -0x20(%rbp), %rdi
callq 0xfce10
cmpq $0x0, %rax
jne 0x6abae
movq -0x10(%rbp), %rdi
addq $0x40, %rdi
leaq 0xd5f04(%rip), %rsi     # 0x140aa2
movb $0x0, %al
callq 0x68020
movq %rax, -0x8(%rbp)
jmp 0x6be66
movq -0x28(%rbp), %rax
movq %rax, -0x288(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfce10
movq %rax, -0x280(%rbp)
movq -0x20(%rbp), %rdi
callq 0xfce10
movq -0x288(%rbp), %rdi
movq %rax, %rcx
movq -0x280(%rbp), %rax
cqto
idivq %rcx
movq %rdx, %rsi
callq 0xfc5c0
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x1117f0
cmpq $0x0, %rax
je 0x6acf0
movq -0x20(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x1117f0
cmpq $0x0, %rax
je 0x6acf0
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x111a80
cmpq $0x0, %rax
je 0x6aca3
movq -0x20(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x111a80
cmpq $0x0, %rax
je 0x6aca3
movq -0x28(%rbp), %rax
movq %rax, -0x290(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfce10
movq %rax, -0x298(%rbp)
movq -0x20(%rbp), %rdi
callq 0xfce10
movq -0x298(%rbp), %rsi
movq -0x290(%rbp), %rdi
imulq %rax, %rsi
callq 0xfc5c0
jmp 0x6ace3
movq -0x28(%rbp), %rax
movq %rax, -0x2a8(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfc680
movsd %xmm0, -0x2a0(%rbp)
movq -0x20(%rbp), %rdi
callq 0xfc680
movq -0x2a8(%rbp), %rdi
movaps %xmm0, %xmm1
movsd -0x2a0(%rbp), %xmm0
mulsd %xmm1, %xmm0
callq 0xfc4e0
movq $0x0, -0x8(%rbp)
jmp 0x6be66
movq -0x18(%rbp), %rdi
callq 0x45450
movabsq $-0x240ec4eb25c1f3e8, %rcx # imm = 0xDBF13B14DA3E0C18
cmpq %rcx, %rax
jne 0x6afb7
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rdi
callq 0x45450
movabsq $-0x240ec4eb25c1f3e8, %rcx # imm = 0xDBF13B14DA3E0C18
cmpq %rcx, %rax
jne 0x6afb5
leaq 0x1475f6(%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 $0x6, 0x10(%rax)
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x80(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x2c0(%rbp)
callq 0x67200
movq -0x2c0(%rbp), %rdi
movq %rax, %rcx
movl $0x6, %esi
movabsq $-0x240ec4eb25c1f3e8, %rdx # imm = 0xDBF13B14DA3E0C18
callq 0xc01a0
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x2b0(%rbp)
movq -0x38(%rbp), %rdi
callq 0x65770
movq %rax, -0x2b8(%rbp)
movq -0x80(%rbp), %rdi
callq 0x65770
movq -0x2b8(%rbp), %rsi
movq -0x2b0(%rbp), %rdi
imulq %rax, %rsi
callq 0x65740
movq $0x0, -0x90(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x2c8(%rbp)
movq -0x38(%rbp), %rdi
callq 0x65770
movq %rax, %rcx
movq -0x2c8(%rbp), %rax
cmpq %rcx, %rax
jge 0x6af6b
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
imulq $0x18, -0x90(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x98(%rbp)
movq $0x0, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x2d0(%rbp)
movq -0x80(%rbp), %rdi
callq 0x65770
movq %rax, %rcx
movq -0x2d0(%rbp), %rax
cmpq %rcx, %rax
jge 0x6af52
movq -0x80(%rbp), %rax
movq 0x10(%rax), %rax
imulq $0x18, -0xa0(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0xa8(%rbp)
movq -0x98(%rbp), %rax
movq %rax, -0x2e8(%rbp)
movq -0xa8(%rbp), %rax
movq %rax, -0x2e0(%rbp)
movq -0x88(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x2f0(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x2d8(%rbp)
movq -0x80(%rbp), %rdi
callq 0x65770
movq -0x2f0(%rbp), %rdx
movq -0x2e8(%rbp), %rdi
movq -0x2e0(%rbp), %rsi
movq %rax, %rcx
movq -0x2d8(%rbp), %rax
imulq %rcx, %rax
addq -0xa0(%rbp), %rax
imulq $0x18, %rax, %rax
addq %rax, %rdx
callq 0x690a0
movq %rax, -0xb0(%rbp)
cmpq $0x0, -0xb0(%rbp)
je 0x6af39
movq -0xb0(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0xb8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x6be66
jmp 0x6af3b
movq -0xa0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xa0(%rbp)
jmp 0x6ae42
jmp 0x6af54
movq -0x90(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x90(%rbp)
jmp 0x6adf3
movq -0x28(%rbp), %rax
movq %rax, -0x2f8(%rbp)
movq -0x88(%rbp), %rdi
callq 0x9d3d0
movq -0x2f8(%rbp), %rdi
movq %rax, %rsi
callq 0x616b0
movq $0x0, -0xc0(%rbp)
movq -0x78(%rbp), %rdi
callq 0xc0720
movq -0xc0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x6be66
jmp 0x6afb7
jmp 0x6afb9
jmp 0x6be57
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x1117f0
cmpq $0x0, %rax
je 0x6b0ab
movq -0x20(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x1117f0
cmpq $0x0, %rax
je 0x6b0ab
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x111a80
cmpq $0x0, %rax
je 0x6b05e
movq -0x20(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x111a80
cmpq $0x0, %rax
je 0x6b05e
movq -0x28(%rbp), %rax
movq %rax, -0x300(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfce10
movq %rax, -0x308(%rbp)
movq -0x20(%rbp), %rdi
callq 0xfce10
movq -0x308(%rbp), %rsi
movq -0x300(%rbp), %rdi
subq %rax, %rsi
callq 0xfc5c0
jmp 0x6b09e
movq -0x28(%rbp), %rax
movq %rax, -0x318(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfc680
movsd %xmm0, -0x310(%rbp)
movq -0x20(%rbp), %rdi
callq 0xfc680
movq -0x318(%rbp), %rdi
movaps %xmm0, %xmm1
movsd -0x310(%rbp), %xmm0
subsd %xmm1, %xmm0
callq 0xfc4e0
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x1117f0
cmpq $0x0, %rax
je 0x6b1a6
movq -0x20(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x1117f0
cmpq $0x0, %rax
je 0x6b1a6
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x111a80
cmpq $0x0, %rax
je 0x6b158
movq -0x20(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x111a80
cmpq $0x0, %rax
je 0x6b158
movq -0x28(%rbp), %rax
movq %rax, -0x320(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfce10
movq %rax, -0x328(%rbp)
movq -0x20(%rbp), %rdi
callq 0xfce10
movq -0x328(%rbp), %rdi
movq %rax, %rsi
callq 0x6be80
movq -0x320(%rbp), %rdi
movq %rax, %rsi
callq 0xfc5c0
jmp 0x6b199
movq -0x28(%rbp), %rax
movq %rax, -0x330(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfc680
movsd %xmm0, -0x338(%rbp)
movq -0x20(%rbp), %rdi
callq 0xfc680
movaps %xmm0, %xmm1
movsd -0x338(%rbp), %xmm0
callq 0x6beb0
movq -0x330(%rbp), %rdi
callq 0xfc4e0
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x1117f0
cmpq $0x0, %rax
je 0x6b2a1
movq -0x20(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x1117f0
cmpq $0x0, %rax
je 0x6b2a1
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x111a80
cmpq $0x0, %rax
je 0x6b253
movq -0x20(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x111a80
cmpq $0x0, %rax
je 0x6b253
movq -0x28(%rbp), %rax
movq %rax, -0x340(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfce10
movq %rax, -0x348(%rbp)
movq -0x20(%rbp), %rdi
callq 0xfce10
movq -0x348(%rbp), %rdi
movq %rax, %rsi
callq 0x6bef0
movq -0x340(%rbp), %rdi
movq %rax, %rsi
callq 0xfc5c0
jmp 0x6b294
movq -0x28(%rbp), %rax
movq %rax, -0x350(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfc680
movsd %xmm0, -0x358(%rbp)
movq -0x20(%rbp), %rdi
callq 0xfc680
movaps %xmm0, %xmm1
movsd -0x358(%rbp), %xmm0
callq 0x6bf20
movq -0x350(%rbp), %rdi
callq 0xfc4e0
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x1117f0
cmpq $0x0, %rax
je 0x6b395
movq -0x20(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x1117f0
cmpq $0x0, %rax
je 0x6b393
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x111a80
cmpq $0x0, %rax
je 0x6b346
movq -0x20(%rbp), %rdi
callq 0x45450
movq %rax, %rdi
callq 0x111a80
cmpq $0x0, %rax
je 0x6b346
movq -0x28(%rbp), %rax
movq %rax, -0x360(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfce10
movq %rax, -0x368(%rbp)
movq -0x20(%rbp), %rdi
callq 0xfce10
movq -0x368(%rbp), %rsi
movq -0x360(%rbp), %rdi
addq %rax, %rsi
callq 0xfc5c0
jmp 0x6b386
movq -0x28(%rbp), %rax
movq %rax, -0x378(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfc680
movsd %xmm0, -0x370(%rbp)
movq -0x20(%rbp), %rdi
callq 0xfc680
movq -0x378(%rbp), %rdi
movaps %xmm0, %xmm1
movsd -0x370(%rbp), %xmm0
addsd %xmm1, %xmm0
callq 0xfc4e0
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6b395
movq -0x18(%rbp), %rdi
callq 0x45450
movabsq $-0x503db0e6e1c2e704, %rcx # imm = 0xAFC24F191E3D18FC
cmpq %rcx, %rax
je 0x6b3c9
movq -0x20(%rbp), %rdi
callq 0x45450
movabsq $-0x503db0e6e1c2e704, %rcx # imm = 0xAFC24F191E3D18FC
cmpq %rcx, %rax
jne 0x6b6fe
leaq 0x146f60(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0xc8(%rbp)
leaq -0xf8(%rbp), %rax
movq %rax, -0x100(%rbp)
movq -0x100(%rbp), %rdi
movq -0xc8(%rbp), %rsi
callq 0xbfe80
movq -0x100(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rax
movq $0x4, 0x10(%rax)
movq -0xc8(%rbp), %rax
movq %rax, -0x390(%rbp)
movb $0x0, %al
callq 0xff2e0
movq -0x390(%rbp), %rdi
movq %rax, %rcx
movl $0x4, %esi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
callq 0xc01a0
movq %rax, -0x108(%rbp)
movq -0xc8(%rbp), %rax
movq %rax, -0x388(%rbp)
movb $0x0, %al
callq 0xff2e0
movq -0x388(%rbp), %rdi
movq %rax, %rcx
movl $0x4, %esi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
callq 0xc01a0
movq %rax, -0x110(%rbp)
movq -0x108(%rbp), %rax
movq %rax, -0x380(%rbp)
movq -0x18(%rbp), %rdi
callq 0x45450
movq -0x380(%rbp), %rdi
movq %rax, %rsi
movq -0x18(%rbp), %rax
movq (%rax), %rdx
callq 0xfecc0
cmpq $0x0, %rax
je 0x6b595
movq -0x100(%rbp), %rax
movq %rax, -0x118(%rbp)
leaq -0x148(%rbp), %rax
movq %rax, -0x150(%rbp)
movq -0x150(%rbp), %rdi
movq -0x118(%rbp), %rsi
callq 0xbfe80
movq -0x150(%rbp), %rax
movq %rax, -0x118(%rbp)
movq -0x118(%rbp), %rax
movq $0x5, 0x10(%rax)
movq -0x10(%rbp), %rax
addq $0x40, %rax
movq %rax, -0x398(%rbp)
movq -0x118(%rbp), %rax
movq %rax, -0x3a0(%rbp)
movb $0x0, %al
callq 0xff2e0
movq -0x3a0(%rbp), %rdi
movq %rax, %rcx
movl $0x5, %esi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
callq 0xc01a0
movq %rax, %rdi
callq 0x64e30
movq -0x398(%rbp), %rdi
movq 0x8(%rax), %rdx
leaq 0xd5551(%rip), %rsi     # 0x140abc
movb $0x0, %al
callq 0x68020
movq %rax, -0x158(%rbp)
movq -0x150(%rbp), %rdi
callq 0xc0720
movq -0x158(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x6be66
movq -0x110(%rbp), %rax
movq %rax, -0x3a8(%rbp)
movq -0x20(%rbp), %rdi
callq 0x45450
movq -0x3a8(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rax
movq (%rax), %rdx
callq 0xfecc0
cmpq $0x0, %rax
je 0x6b69e
movq -0x100(%rbp), %rax
movq %rax, -0x160(%rbp)
leaq -0x190(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0x198(%rbp), %rdi
movq -0x160(%rbp), %rsi
callq 0xbfe80
movq -0x198(%rbp), %rax
movq %rax, -0x160(%rbp)
movq -0x160(%rbp), %rax
movq $0x5, 0x10(%rax)
movq -0x10(%rbp), %rax
addq $0x40, %rax
movq %rax, -0x3b0(%rbp)
movq -0x160(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movb $0x0, %al
callq 0xff2e0
movq -0x3b8(%rbp), %rdi
movq %rax, %rcx
movl $0x5, %esi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
callq 0xc01a0
movq %rax, %rdi
callq 0x64e30
movq -0x3b0(%rbp), %rdi
movq 0x8(%rax), %rdx
leaq 0xd5448(%rip), %rsi     # 0x140abc
movb $0x0, %al
callq 0x68020
movq %rax, -0x1a0(%rbp)
movq -0x198(%rbp), %rdi
callq 0xc0720
movq -0x1a0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x6be66
movq -0x108(%rbp), %rdi
movq -0x110(%rbp), %rsi
callq 0xffe20
movq -0x28(%rbp), %rax
movq %rax, -0x3c0(%rbp)
movq -0x108(%rbp), %rdi
callq 0x9d3d0
movq -0x3c0(%rbp), %rdi
movq %rax, %rsi
callq 0x616b0
movq $0x0, -0x1a8(%rbp)
movq -0x100(%rbp), %rdi
callq 0xc0720
movq -0x1a8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
callq 0xfc220
testb $0x1, %al
jne 0x6b715
jmp 0x6b8d2
movq -0x20(%rbp), %rdi
callq 0x45450
movabsq $-0x19831b480b40fba0, %rcx # imm = 0xE67CE4B7F4BF0460
cmpq %rcx, %rax
je 0x6b8d2
leaq 0x146bf8(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x1b0(%rbp)
leaq -0x1e0(%rbp), %rax
movq %rax, -0x1e8(%rbp)
movq -0x1e8(%rbp), %rdi
movq -0x1b0(%rbp), %rsi
callq 0xbfe80
movq -0x1e8(%rbp), %rax
movq %rax, -0x1b0(%rbp)
movq -0x1b0(%rbp), %rax
movq $0x4, 0x10(%rax)
movq -0x1b0(%rbp), %rax
movq %rax, -0x3d0(%rbp)
callq 0x67200
movq -0x3d0(%rbp), %rdi
movq %rax, %rcx
movl $0x4, %esi
movabsq $-0x240ec4eb25c1f3e8, %rdx # imm = 0xDBF13B14DA3E0C18
callq 0xc01a0
movq %rax, -0x1f0(%rbp)
movq -0x1f0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x3c8(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfce10
movq -0x3c8(%rbp), %rdi
movq %rax, %rsi
callq 0x97d70
movq $0x0, -0x1f8(%rbp)
movq -0x1f8(%rbp), %rax
movq -0x1f0(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jae 0x6b885
movq -0x1f0(%rbp), %rax
movq 0x10(%rax), %rax
imulq $0x18, -0x1f8(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x3e0(%rbp)
movq -0x20(%rbp), %rdi
callq 0x45450
movq %rax, -0x3d8(%rbp)
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x3e8(%rbp)
movq -0x20(%rbp), %rdi
callq 0x45450
movq -0x3e8(%rbp), %rdi
movq %rax, %rsi
callq 0x54b50
movq -0x3e0(%rbp), %rdi
movq -0x3d8(%rbp), %rsi
movq %rax, %rdx
callq 0x5e7b0
movq -0x1f8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x1f8(%rbp)
jmp 0x6b7ed
movq -0x28(%rbp), %rax
movq %rax, -0x3f0(%rbp)
movq -0x1f0(%rbp), %rdi
callq 0x9d3d0
movq -0x3f0(%rbp), %rdi
movq %rax, %rsi
callq 0x616b0
movq $0x0, -0x200(%rbp)
movq -0x1e8(%rbp), %rdi
callq 0xc0720
movq -0x200(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x690a0
movq %rax, -0x8(%rbp)
jmp 0x6be66
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x6bf60
testb $0x1, %al
jne 0x6b904
jmp 0x6b97b
movq -0x28(%rbp), %rax
movq %rax, -0x3f8(%rbp)
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, -0x408(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x400(%rbp)
movq -0x20(%rbp), %rdi
callq 0x45450
movq -0x408(%rbp), %rdi
movq -0x400(%rbp), %rsi
movq %rax, %rdx
movq -0x20(%rbp), %rax
movq (%rax), %rcx
callq 0x6c020
movq -0x3f8(%rbp), %rdi
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
sete %al
movzbl %al, %esi
andl $0x1, %esi
callq 0xfc460
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x6bf60
testb $0x1, %al
jne 0x6b993
jmp 0x6ba0a
movq -0x28(%rbp), %rax
movq %rax, -0x410(%rbp)
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, -0x420(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x418(%rbp)
movq -0x20(%rbp), %rdi
callq 0x45450
movq -0x420(%rbp), %rdi
movq -0x418(%rbp), %rsi
movq %rax, %rdx
movq -0x20(%rbp), %rax
movq (%rax), %rcx
callq 0x6c020
movq -0x410(%rbp), %rdi
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
setne %al
movzbl %al, %esi
andl $0x1, %esi
callq 0xfc460
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x6bf60
testb $0x1, %al
jne 0x6ba22
jmp 0x6ba99
movq -0x28(%rbp), %rax
movq %rax, -0x428(%rbp)
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, -0x438(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x430(%rbp)
movq -0x20(%rbp), %rdi
callq 0x45450
movq -0x438(%rbp), %rdi
movq -0x430(%rbp), %rsi
movq %rax, %rdx
movq -0x20(%rbp), %rax
movq (%rax), %rcx
callq 0x6c020
movq -0x428(%rbp), %rdi
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
setge %al
movzbl %al, %esi
andl $0x1, %esi
callq 0xfc460
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x6bf60
testb $0x1, %al
jne 0x6bab1
jmp 0x6bb28
movq -0x28(%rbp), %rax
movq %rax, -0x440(%rbp)
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, -0x450(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x448(%rbp)
movq -0x20(%rbp), %rdi
callq 0x45450
movq -0x450(%rbp), %rdi
movq -0x448(%rbp), %rsi
movq %rax, %rdx
movq -0x20(%rbp), %rax
movq (%rax), %rcx
callq 0x6c020
movq -0x440(%rbp), %rdi
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
setg %al
movzbl %al, %esi
andl $0x1, %esi
callq 0xfc460
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x6bf60
testb $0x1, %al
jne 0x6bb40
jmp 0x6bbb7
movq -0x28(%rbp), %rax
movq %rax, -0x458(%rbp)
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, -0x468(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x460(%rbp)
movq -0x20(%rbp), %rdi
callq 0x45450
movq -0x468(%rbp), %rdi
movq -0x460(%rbp), %rsi
movq %rax, %rdx
movq -0x20(%rbp), %rax
movq (%rax), %rcx
callq 0x6c020
movq -0x458(%rbp), %rdi
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
setle %al
movzbl %al, %esi
andl $0x1, %esi
callq 0xfc460
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x6bf60
testb $0x1, %al
jne 0x6bbcf
jmp 0x6bc46
movq -0x28(%rbp), %rax
movq %rax, -0x470(%rbp)
movq -0x18(%rbp), %rdi
callq 0x45450
movq %rax, -0x480(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x478(%rbp)
movq -0x20(%rbp), %rdi
callq 0x45450
movq -0x480(%rbp), %rdi
movq -0x478(%rbp), %rsi
movq %rax, %rdx
movq -0x20(%rbp), %rax
movq (%rax), %rcx
callq 0x6c020
movq -0x470(%rbp), %rdi
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
setl %al
movzbl %al, %esi
andl $0x1, %esi
callq 0xfc460
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
callq 0xfc220
testb $0x1, %al
jne 0x6bc5a
jmp 0x6bcc2
movq -0x20(%rbp), %rdi
callq 0xfc220
testb $0x1, %al
jne 0x6bc69
jmp 0x6bcc2
movq -0x28(%rbp), %rax
movq %rax, -0x490(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfd120
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x481(%rbp)
jne 0x6bc8e
jmp 0x6bc9d
movq -0x20(%rbp), %rdi
callq 0xfd120
movb %al, -0x481(%rbp)
movq -0x490(%rbp), %rdi
movb -0x481(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
callq 0xfc460
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
callq 0xfc220
testb $0x1, %al
jne 0x6bcd6
jmp 0x6bd3c
movq -0x20(%rbp), %rdi
callq 0xfc220
testb $0x1, %al
jne 0x6bce5
jmp 0x6bd3c
movq -0x28(%rbp), %rax
movq %rax, -0x4a0(%rbp)
movq -0x18(%rbp), %rdi
callq 0xfd120
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0x491(%rbp)
jne 0x6bd17
movq -0x20(%rbp), %rdi
callq 0xfd120
movb %al, -0x491(%rbp)
movq -0x4a0(%rbp), %rdi
movb -0x491(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
callq 0xfc460
movq $0x0, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
movq -0x18(%rbp), %rdi
callq 0x45450
movabsq $-0x1948b20c22462ae4, %rcx # imm = 0xE6B74DF3DDB9D51C
cmpq %rcx, %rax
jne 0x6be53
leaq 0x1465cc(%rip), %rax    # 0x1b2330
movq (%rax), %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 $0x4, 0x10(%rax)
movq -0x208(%rbp), %rax
movq %rax, -0x4b0(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x6c0b0
movq -0x4b0(%rbp), %rdi
movq %rax, %rcx
movl $0x4, %esi
movabsq $-0x1948b20c22462ae4, %rdx # imm = 0xE6B74DF3DDB9D51C
callq 0xc01a0
movq %rax, -0x248(%rbp)
movq -0x248(%rbp), %rdi
movq -0x10(%rbp), %rcx
addq $0x40, %rcx
movq -0x20(%rbp), %r8
xorl %eax, %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x6c0f0
movq -0x28(%rbp), %rax
movq %rax, -0x4a8(%rbp)
movq -0x248(%rbp), %rdi
callq 0x9d3d0
movq -0x4a8(%rbp), %rdi
movq %rax, %rsi
callq 0x616b0
movq $0x0, -0x250(%rbp)
movq -0x240(%rbp), %rdi
callq 0xc0720
movq -0x250(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x6be66
jmp 0x6be57
jmp 0x6be57
movq -0x30(%rbp), %rax
movb $0x0, (%rax)
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x4b0, %rsp            # imm = 0x4B0
popq %rbp
retq
nopw %cs:(%rax,%rax)