// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_flect.c
// Function: bcore_self_item_s_parse_data_src
static er_t bcore_self_item_s_parse_data_src( bcore_self_item_s* o, sr_s src, const bcore_self_s* self, bl_t advanced_checks )
{
    BLM_INIT();
    src = bcore_life_s_push_sr( __bcore_life_curent, sr_cp( src, TYPEOF_bcore_source_s ) );

    tp_t parent_type = self ? self->type : 0;

    st_s* type_name = BLM_CREATE( st_s );
    st_s* item_name = BLM_CREATE( st_s );

    bl_t f_private   = false;
    bl_t f_hidden    = false;
    bl_t f_shell     = false;
    bl_t f_link      = false;
    bl_t f_arr_dyn   = false;
    bl_t f_arr_fix   = false;
    bl_t f_spect     = false;
    bl_t f_const     = false;
    bl_t f_deep_copy = true;
    bl_t f_treat_as_pointer = false;
    bl_t f_feature   = false;
    bl_t f_feature_requires_awareness = false;
    bl_t f_strict    = false;
    bl_t f_aware     = false;
    bl_t f_obliv     = false;
    bl_t f_typed     = false;

    uz_t array_fix_size = 0;

    bl_t f_any_prefix = true;
    while( f_any_prefix )
    {
        f_any_prefix = false;
        if( bcore_source_r_parse_bl_fa( &src, " #?w'private'" ) )
        {
            if( f_private ) BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPrefix 'private' occurs twice.", ifnameof( parent_type ) ) );
            f_any_prefix = f_private = true;
        }

        if( bcore_source_r_parse_bl_fa( &src, " #?w'hidden'"  ) )
        {
            if( f_hidden ) BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPrefix 'hidden' occurs twice.", ifnameof( parent_type ) ) );
            f_any_prefix = f_hidden = true;
        }

        if( bcore_source_r_parse_bl_fa( &src, " #?w'shell'"   ) )
        {
            if( f_shell ) BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPrefix 'shell' occurs twice.", ifnameof( parent_type ) ) );
            f_any_prefix = f_shell = true;
        }

        if( bcore_source_r_parse_bl_fa( &src, " #?w'spect'"   ) )
        {
            if( f_spect ) BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPrefix 'spect' occurs twice.", ifnameof( parent_type ) ) );
            f_any_prefix = f_spect = true;
        }

        if( bcore_source_r_parse_bl_fa( &src, " #?w'const'"   ) )
        {
            if( f_const ) BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPrefix 'const' occurs twice.", ifnameof( parent_type ) ) );
            f_any_prefix = f_const = true;
        }

        if( bcore_source_r_parse_bl_fa( &src, " #?w'feature'"   ) )
        {
            if( f_feature ) BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPrefix 'feature' occurs twice.", ifnameof( parent_type ) ) );
            f_any_prefix = f_feature = true;
        }

        if( bcore_source_r_parse_bl_fa( &src, " #?w'strict'"   ) )
        {
            if( f_strict ) BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPrefix 'strict' occurs twice.", ifnameof( parent_type ) ) );
            f_any_prefix = f_strict = true;
        }

        if( bcore_source_r_parse_bl_fa( &src, " #?w'obliv'"   ) )
        {
            if( f_obliv ) BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPrefix 'obliv' occurs twice.", ifnameof( parent_type ) ) );
            if( f_aware ) BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPrefix 'obliv' cannot be mixed with 'aware'.", ifnameof( parent_type ) ) );
            f_any_prefix = f_obliv = true;
        }

        if( bcore_source_r_parse_bl_fa( &src, " #?w'aware'"   ) )
        {
            if( f_aware ) BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPrefix 'aware' occurs twice.", ifnameof( parent_type ) ) );
            if( f_typed ) BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPrefix 'aware' cannot be mixed with 'typed'.", ifnameof( parent_type ) ) );
            if( f_obliv ) BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPrefix 'aware' cannot be mixed with 'obliv'.", ifnameof( parent_type ) ) );
            f_any_prefix = f_aware = true;
        }

        if( bcore_source_r_parse_bl_fa( &src, " #?w'typed'"   ) )
        {
            if( f_typed ) BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPrefix 'typed' occurs twice.", ifnameof( parent_type ) ) );
            if( f_aware ) BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPrefix 'typed' cannot be mixed with 'aware'.", ifnameof( parent_type ) ) );
            f_any_prefix = f_typed = true;
        }
    }

    if( f_aware && f_feature )
    {
        f_feature_requires_awareness = true;
        f_aware = false;
    }

    // type can be specified by explicit type id number (anonymous types) or by name
    tp_t type_val = 0;
    bl_t extend_type_name = false;
    if( bcore_source_r_parse_bl_fa( &src, " #?([0]=='{')" ) ) // nested anonymous type
    {
        type_val = bcore_flect_type_parse_src( src );
    }
    else if( bcore_source_r_parse_bl_fa( &src, " #?([0]>='0'&&[0]<='9')" ) ) // type is specified by number
    {
        BLM_TRY( bcore_source_r_parse_em_fa( &src, "#<tp_t*> ", &type_val ) );
    }
    else // type is specified by name
    {
        BLM_TRY( bcore_source_r_parse_em_fa( &src, "#name #?':' ", type_name, &extend_type_name ) );
    }

    if( bcore_source_r_parse_bl_fa( &src, "#?'*' " ) )
    {
        if( !(f_private || f_hidden ) )
        {
            BLM_DOWN();
            return bcore_source_a_parse_error_fa
            (
                src.o,
                "In definition of '#<sc_t>':\n"
                "Declaring a pointer requires 'hidden' or 'private' specification.\n",
                ifnameof( parent_type )
            );
        }
        f_link = true;
        f_treat_as_pointer = true;
        f_deep_copy = false;
    }
    else if( bcore_source_r_parse_bl_fa( &src, "#?'=>' " ) )
    {
        f_link = true;
        f_deep_copy = true;
    }
    else if( bcore_source_r_parse_bl_fa( &src, "#?'->' " ) )
    {
        f_link = true;
        f_deep_copy = false;
    }

    if( bcore_source_r_parse_bl_fa( &src, "#?'[' " ) )
    {
        if( f_treat_as_pointer )
        {
            BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nArray of pointers is not supported.", ifnameof( parent_type ) ) );
        }

        if( bcore_source_r_parse_bl_fa( &src, "#?']' " ) )
        {
            f_arr_dyn = true;
        }
        else if( bcore_source_r_parse_bl_fa( &src, "#?([0]>='0'&&[0]<='9')" ) )
        {
            f_arr_fix = true;
            BLM_TRY( bcore_source_r_parse_em_fa( &src, "#<uz_t*> ", &array_fix_size ) );
            if( !bcore_source_r_parse_bl_fa( &src, "#?']' " ) )
            {
                BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\n']' expected.", ifnameof( parent_type ) ) );
            }
        }
        else
        {
            BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\n']' or array fixed-size expected.", ifnameof( parent_type ) ) );
        }
    }

    BLM_TRY( bcore_source_r_parse_em_fa( &src, "#name ", item_name ) );

    if( extend_type_name )
    {
        st_s* type_prefix = st_s_clone( type_name );
        st_s_copy_fa( type_name, "#<sc_t>_#<sc_t>", type_prefix->sc, item_name->sc );
        st_s_discard( type_prefix );
    }

    o->flags.f_private   = f_private || f_spect;
    o->flags.f_hidden    = f_hidden;
    o->flags.f_shell     = f_shell;
    o->flags.f_spect     = f_spect;
    o->flags.f_deep_copy = f_deep_copy;
    o->flags.f_const     = f_const;
    o->flags.f_feature   = f_feature;
    o->flags.f_feature_requires_awarenes = f_feature_requires_awareness;
    o->flags.f_strict    = f_strict;
    o->flags.f_virtual   = f_aware || f_typed || f_treat_as_pointer;
    o->flags.f_obliv     = f_obliv;
    o->flags.f_aware     = f_aware;

    if( f_arr_fix ) o->array_fix_size = array_fix_size;

    if( f_spect && ( !f_link || f_deep_copy ) )
    {
        BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nPerspectives are shallow links. Use 'spect #<sc_t> ->' to clarify method of referencing.", ifnameof( parent_type ), type_name->sc ) );
    }

    if( f_treat_as_pointer )
    {
        o->type = ( type_val > 0 ) ? type_val : ( type_name->size > 0 ? entypeof( type_name->sc ) : 0 );
        o->name = entypeof( item_name->sc );
        o->caps = BCORE_CAPS_POINTER;
    }
    else if( f_aware )
    {
        if( !f_link )
        {
            BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nSelf-aware object must be referenced by a link. Use 'aware *|=>|->' to clarify method of referencing.", ifnameof( parent_type ) ) );
        }
        o->type = ( type_val > 0 ) ? type_val : ( type_name->size > 0 ? entypeof( type_name->sc ) : 0 );
        o->name = entypeof( item_name->sc );
        o->caps = f_arr_dyn ? BCORE_CAPS_ARRAY_DYN_LINK_AWARE : f_arr_fix ? BCORE_CAPS_ARRAY_FIX_LINK_AWARE : BCORE_CAPS_LINK_AWARE;
    }
    else if( f_typed )
    {
        if( f_arr_fix )
        {
            BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nTyped objects not supported for fixed size arrays. Suggest dynamic arrays.", ifnameof( parent_type ) ) );
        }

        if( !f_link && !f_arr_dyn )
        {
            BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nTyped objects cannot be nested. Use 'typed *|=>|->' to clarify method of referencing.", ifnameof( parent_type ) ) );
        }

        o->type = ( type_val > 0 ) ? type_val : ( type_name->size > 0 ? entypeof( type_name->sc ) : 0 );
        o->name = entypeof( item_name->sc );
        o->caps = f_arr_dyn ? ( f_link ? BCORE_CAPS_ARRAY_DYN_LINK_TYPED : BCORE_CAPS_ARRAY_DYN_SOLID_TYPED ) : BCORE_CAPS_LINK_TYPED;
    }
    else
    {
        o->type = ( type_val > 0 ) ? type_val : entypeof( type_name->sc );
        o->name = entypeof( item_name->sc );
        o->caps =
            f_arr_dyn ?
                ( f_link ? BCORE_CAPS_ARRAY_DYN_LINK_STATIC : BCORE_CAPS_ARRAY_DYN_SOLID_STATIC )
            :
                f_arr_fix ?
                    ( f_link ? BCORE_CAPS_ARRAY_FIX_LINK_STATIC : BCORE_CAPS_ARRAY_FIX_SOLID_STATIC )
                :
                    ( f_link ? BCORE_CAPS_LINK_STATIC : BCORE_CAPS_SOLID_STATIC );
    }

    if( o->type == TYPEOF_aware_t )
    {
        if( o->caps != BCORE_CAPS_SOLID_STATIC )
        {
            BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\n'aware_t' can only be used in single solid static nesting.", ifnameof( parent_type ) ) );
        }
    }

    o->flags.f_fp = bcore_trait_is_of( o->type, TYPEOF_function_pointer );

    if( bcore_source_r_parse_bl_fa( &src, "#?'!' " ) )
    {

        if( !o->flags.f_spect && ( o->caps == BCORE_CAPS_LINK_STATIC ) )
        {
            if( o->type == parent_type )
            {
                BLM_DOWN();
                return bcore_source_a_parse_error_fa
                (
                    src.o,
                    "Parent '#<sc_t>':\nItem #<sc_t>: Postfix '!' is not allowed on recursive members.",
                    ifnameof( parent_type ),
                    item_name->sc
                );
            }
            o->flags.f_create_on_init = true;
        }
        else if( !o->flags.f_spect && o->caps == BCORE_CAPS_SOLID_STATIC )
        {
            /* '!' for solid static types is allowed but has no effect */
        }
        else
        {
            BLM_DOWN();
            return bcore_source_a_parse_error_fa
            (
                src.o,
                "Parent '#<sc_t>':\nItem #<sc_t>: Postfix '!' is not supported in this context.",
                ifnameof( parent_type ),
                item_name->sc
            );
        }
    }
    else if( bcore_source_r_parse_bl_fa( &src, "#?'=' " ) )
    {
        if( o->caps == BCORE_CAPS_SOLID_STATIC )
        {
            switch( o->type )
            {
                case TYPEOF_s0_t:
                case TYPEOF_s1_t:
                case TYPEOF_s2_t:
                case TYPEOF_s3_t:
                    BLM_TRY( bcore_source_r_parse_em_fa( &src, " #<s3_t*>", &o->default_s3 ) );
                    break;
                case TYPEOF_u0_t:
                case TYPEOF_u1_t:
                case TYPEOF_u2_t:
                case TYPEOF_u3_t:
                    BLM_TRY( bcore_source_r_parse_em_fa( &src, " #<u3_t*>", &o->default_u3 ) );
                    break;

                case TYPEOF_sz_t:
                case TYPEOF_uz_t:
                case TYPEOF_offset_t:
                {
                    // for these types scanning of negative numbers is allowed, which will be wrapped around u3.
                    if( bcore_source_r_parse_bl_fa( &src, " #=?'-'" ) )
                    {
                        BLM_TRY( bcore_source_r_parse_em_fa( &src, " #<smax_t*>", &o->default_smax ) );
                    }
                    else
                    {
                        BLM_TRY( bcore_source_r_parse_em_fa( &src, " #<umax_t*>", &o->default_umax ) );
                    }
                }
                break;

                case TYPEOF_tp_t:
                case TYPEOF_aware_t:
                case TYPEOF_er_t:
                {
                    if( bcore_source_r_parse_bl_fa( &src, " #?([0]>='0'&&[0]<='9')" ) )
                    {
                        BLM_TRY( bcore_source_r_parse_em_fa( &src, " #<umax_t*>", &o->default_umax ) );
                    }
                    else if( bcore_source_r_parse_bl_fa( &src, " #?(([0]>='A'&&[0]<='Z')||([0]>='a'&&[0]<='z')||[0]=='_')" ) )
                    {
                        st_s* name = st_s_create();
                        BLM_TRY( bcore_source_r_parse_em_fa( &src, "#name", name ) );
                        o->default_tp = bentypeof( name->sc );
                        st_s_discard( name );
                    }
                    else
                    {
                        BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nCannot assign default value to type '#<sc_t>'", ifnameof( parent_type ), ifnameof( o->type ) ) );
                    }
                }
                break;

                case TYPEOF_f2_t:
                case TYPEOF_f3_t:
                    BLM_TRY( bcore_source_r_parse_em_fa( &src, " #<f3_t*>", &o->default_f3 ) );
                    break;

                case TYPEOF_bl_t:
                {
                    bl_t flag = false;
                    BLM_TRY( bcore_source_r_parse_em_fa( &src, " #<bl_t*>", &flag ) );
                    o->default_u3 = flag;
                }
                break;

                case TYPEOF_fp_t:
                {
                    st_s* name = st_s_create();
                    BLM_TRY( bcore_source_r_parse_em_fa( &src, " #name", name ) );
                    tp_t func_tp = typeof( name->sc );
                    if( !bcore_function_exists( func_tp ) )
                    {
                        BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\n'#<sc_t>' is not a registered function.", ifnameof( parent_type ), name->sc ) );
                    }
                    st_s_discard( name );
                    o->default_tp = func_tp;
                }
                break;

                case TYPEOF_sc_t:
                case TYPEOF_st_s:
                {
                    st_s* string = st_s_create();
                    BLM_TRY( bcore_source_r_parse_em_fa( &src, " #string", string ) );
                    o->default_tp = bcore_const_string_set_st_d( string ); // thread and collision safe
                }
                break;

                default:
                {
                    if( o->flags.f_fp ) // assume registered feature
                    {
                        st_s* name = st_s_create();
                        BLM_TRY( bcore_source_r_parse_em_fa( &src, " #name", name ) );
                        tp_t func_tp = typeof( name->sc );

                        if( !bcore_function_exists( func_tp ) )
                        {
                            BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\n'#<sc_t>' is not a registered function.", ifnameof( parent_type ), name->sc ) );
                        }

                        if( bcore_trait_exists( o->type ) )
                        {
                            if( !bcore_trait_is_of( func_tp, o->type ) )
                            {
                                BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nFunction '#<sc_t>' is not of feature '#<sc_t>'.", ifnameof( parent_type ), name->sc, ifnameof( o->type ) ) );
                            }
                        }

                        st_s_discard( name );

                        o->default_tp = func_tp;
                    }
                    else
                    {
                        BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nCannot assign default value to type '#<sc_t>'", ifnameof( parent_type ), ifnameof( o->type ) ) );
                    }
                }
            }
        }
        else if( o->caps == BCORE_CAPS_LINK_STATIC )
        {
            if( f_spect )
            {
                if( bcore_source_r_parse_bl_fa( &src, " #?([0]>='0'&&[0]<='9')" ) )
                {
                    BLM_TRY( bcore_source_r_parse_em_fa( &src, " #<umax_t*>", &o->default_umax ) );
                }
                else if( bcore_source_r_parse_bl_fa( &src, " #?(([0]>='A'&&[0]<='Z')||([0]>='a'&&[0]<='z'))" ) )
                {
                    st_s* name = st_s_create();
                    BLM_TRY( bcore_source_r_parse_em_fa( &src, "#name", name ) );
                    o->default_tp = entypeof( name->sc );
                    st_s_discard( name );
                }
                else
                {
                    BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nCannot assign default value to type '#<sc_t>'", ifnameof( parent_type ), ifnameof( o->type ) ) );
                }
            }
            else
            {
                switch( o->type )
                {
                    case TYPEOF_st_s:
                    {
                        st_s* string = st_s_create();
                        BLM_TRY( bcore_source_r_parse_em_fa( &src, " #string", string ) );
                        o->default_tp = bcore_const_string_set_st_d( string ); // thread and collision safe
                    }
                    break;

                    default:
                    {
                        BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nCannot assign default value to type '#<sc_t>'", ifnameof( parent_type ), ifnameof( o->type ) ) );
                    }
                }
            }
        }
        else if( o->caps == BCORE_CAPS_LINK_AWARE )
        {
            st_s* name = st_s_create();
            BLM_TRY( bcore_source_r_parse_em_fa( &src, " #name", name ) );
            if( name->size == 0 )
            {
                BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>': Default must be a type name.", ifnameof( parent_type ), name->sc ) );
            }

            tp_t aware_tp = typeof( name->sc );

            if( advanced_checks )
            {
                if( !bcore_flect_exists( aware_tp ) )
                {
                    BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\n'#<sc_t>' has no registered reflection.", ifnameof( parent_type ), name->sc ) );
                }

                const bcore_self_s* self = bcore_flect_get_self( aware_tp );

                if( !bcore_self_s_is_aware( self ) )
                {
                    BLM_TRY( bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\n'#<sc_t>' is not self-aware.", ifnameof( parent_type ), name->sc ) );
                }

                if( o->type != 0 ) // assume trait
                {
                    st_s* log = st_s_create();
                    if( !bcore_trait_satisfied_type( o->type, aware_tp, log ) )
                    {
                        BLM_DOWN();
                        return bcore_source_a_parse_error_fa
                        (
                            src.o,
                            "Parent '#<sc_t>':\n'#<sc_t>' does not support trait '#<sc_t>' Reason:\n#<sc_t>",
                            ifnameof( parent_type ),
                            name->sc,
                            ifnameof( o->type ),
                            log->sc
                        );
                    }
                    st_s_discard( log );
                }
            }

            st_s_discard( name );

            o->default_tp = aware_tp;
        }
        else
        {
            BLM_TRY
            (
                bcore_source_a_parse_error_fa( src.o, "Parent '#<sc_t>':\nAssignment of default value possible for:\n"
                                                      "  - single solid static nesting\n"
                                                      "  - strings\n"
                                                      "  - aware link nesting (default must be an aware type with reflection)\n"
                                                      "other nestings cannot receive a default value.", ifnameof( parent_type ) )
            );
        }
    }
    BLM_RETURNV( er_t, 0 );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x6a0, %rsp            # imm = 0x6A0
movb %dl, %al
leaq 0x10(%rbp), %rcx
movq %rcx, -0x498(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
andb $0x1, %al
movb %al, -0x19(%rbp)
leaq 0x1108c4(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x28(%rbp)
leaq -0x58(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0xbfe80
movq -0x498(%rbp), %rax
movq -0x60(%rbp), %rcx
movq %rcx, -0x28(%rbp)
movq -0x28(%rbp), %rcx
movq %rcx, -0x4a0(%rbp)
leaq -0x90(%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 0xa6370
movq -0x4a0(%rbp), %rsi
leaq -0x78(%rbp), %rdi
leaq -0x90(%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 0xc02c0
movq -0x498(%rbp), %rax
movq -0x78(%rbp), %rcx
movq %rcx, (%rax)
movq -0x70(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x68(%rbp), %rcx
movq %rcx, 0x10(%rax)
cmpq $0x0, -0x18(%rbp)
je 0xa1b37
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x4a8(%rbp)
jmp 0xa1b42
xorl %eax, %eax
movq %rax, -0x4a8(%rbp)
jmp 0xa1b42
movq -0x4a8(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x4b8(%rbp)
movb $0x0, %al
callq 0xff2e0
movq -0x4b8(%rbp), %rdi
movq %rax, %rdx
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
callq 0xc00e0
movq %rax, -0xa0(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x4b0(%rbp)
movb $0x0, %al
callq 0xff2e0
movq -0x4b0(%rbp), %rdi
movq %rax, %rdx
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
callq 0xc00e0
movq %rax, -0xa8(%rbp)
movb $0x0, -0xa9(%rbp)
movb $0x0, -0xaa(%rbp)
movb $0x0, -0xab(%rbp)
movb $0x0, -0xac(%rbp)
movb $0x0, -0xad(%rbp)
movb $0x0, -0xae(%rbp)
movb $0x0, -0xaf(%rbp)
movb $0x0, -0xb0(%rbp)
movb $0x1, -0xb1(%rbp)
movb $0x0, -0xb2(%rbp)
movb $0x0, -0xb3(%rbp)
movb $0x0, -0xb4(%rbp)
movb $0x0, -0xb5(%rbp)
movb $0x0, -0xb6(%rbp)
movb $0x0, -0xb7(%rbp)
movb $0x0, -0xb8(%rbp)
movq $0x0, -0xc0(%rbp)
movb $0x1, -0xc1(%rbp)
testb $0x1, -0xc1(%rbp)
je 0xa2483
movq -0x498(%rbp), %rdi
movb $0x0, -0xc1(%rbp)
leaq 0xaca0f(%rip), %rsi     # 0x14e667
callq 0xa12a0
testb $0x1, %al
jne 0xa1c66
jmp 0xa1cec
testb $0x1, -0xa9(%rbp)
je 0xa1cde
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x4c0(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x4c0(%rbp), %rdi
movq %rax, %rdx
leaq 0xac9d8(%rip), %rsi     # 0x14e675
movb $0x0, %al
callq 0xf4910
movq %rax, -0xd0(%rbp)
cmpq $0x0, -0xd0(%rbp)
je 0xa1cdc
movq -0xd0(%rbp), %rax
movq %rax, -0xd8(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0xd8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa1cde
movb $0x1, -0xa9(%rbp)
movb $0x1, -0xc1(%rbp)
movq -0x498(%rbp), %rdi
leaq 0xac9ac(%rip), %rsi     # 0x14e6a6
callq 0xa12a0
testb $0x1, %al
jne 0xa1d08
jmp 0xa1d8e
testb $0x1, -0xaa(%rbp)
je 0xa1d80
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x4c8(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x4c8(%rbp), %rdi
movq %rax, %rdx
leaq 0xac974(%rip), %rsi     # 0x14e6b3
movb $0x0, %al
callq 0xf4910
movq %rax, -0xe0(%rbp)
cmpq $0x0, -0xe0(%rbp)
je 0xa1d7e
movq -0xe0(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0xe8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa1d80
movb $0x1, -0xaa(%rbp)
movb $0x1, -0xc1(%rbp)
movq -0x498(%rbp), %rdi
leaq 0xac947(%rip), %rsi     # 0x14e6e3
callq 0xa12a0
testb $0x1, %al
jne 0xa1daa
jmp 0xa1e30
testb $0x1, -0xab(%rbp)
je 0xa1e22
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x4d0(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x4d0(%rbp), %rdi
movq %rax, %rdx
leaq 0xac90e(%rip), %rsi     # 0x14e6ef
movb $0x0, %al
callq 0xf4910
movq %rax, -0xf0(%rbp)
cmpq $0x0, -0xf0(%rbp)
je 0xa1e20
movq -0xf0(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0xf8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa1e22
movb $0x1, -0xab(%rbp)
movb $0x1, -0xc1(%rbp)
movq -0x498(%rbp), %rdi
leaq 0xac8e0(%rip), %rsi     # 0x14e71e
callq 0xa12a0
testb $0x1, %al
jne 0xa1e4c
jmp 0xa1ed2
testb $0x1, -0xaf(%rbp)
je 0xa1ec4
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x4d8(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x4d8(%rbp), %rdi
movq %rax, %rdx
leaq 0xac8a7(%rip), %rsi     # 0x14e72a
movb $0x0, %al
callq 0xf4910
movq %rax, -0x100(%rbp)
cmpq $0x0, -0x100(%rbp)
je 0xa1ec2
movq -0x100(%rbp), %rax
movq %rax, -0x108(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x108(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa1ec4
movb $0x1, -0xaf(%rbp)
movb $0x1, -0xc1(%rbp)
movq -0x498(%rbp), %rdi
leaq 0x915ba(%rip), %rsi     # 0x13349a
callq 0xa12a0
testb $0x1, %al
jne 0xa1eee
jmp 0xa1f74
testb $0x1, -0xb0(%rbp)
je 0xa1f66
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x4e0(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x4e0(%rbp), %rdi
movq %rax, %rdx
leaq 0xac834(%rip), %rsi     # 0x14e759
movb $0x0, %al
callq 0xf4910
movq %rax, -0x110(%rbp)
cmpq $0x0, -0x110(%rbp)
je 0xa1f64
movq -0x110(%rbp), %rax
movq %rax, -0x118(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x118(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa1f66
movb $0x1, -0xb0(%rbp)
movb $0x1, -0xc1(%rbp)
movq -0x498(%rbp), %rdi
leaq 0xac806(%rip), %rsi     # 0x14e788
callq 0xa12a0
testb $0x1, %al
jne 0xa1f90
jmp 0xa2016
testb $0x1, -0xb3(%rbp)
je 0xa2008
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x4e8(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x4e8(%rbp), %rdi
movq %rax, %rdx
leaq 0xac7cf(%rip), %rsi     # 0x14e796
movb $0x0, %al
callq 0xf4910
movq %rax, -0x120(%rbp)
cmpq $0x0, -0x120(%rbp)
je 0xa2006
movq -0x120(%rbp), %rax
movq %rax, -0x128(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x128(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa2008
movb $0x1, -0xb3(%rbp)
movb $0x1, -0xc1(%rbp)
movq -0x498(%rbp), %rdi
leaq 0xac7a3(%rip), %rsi     # 0x14e7c7
callq 0xa12a0
testb $0x1, %al
jne 0xa2032
jmp 0xa20b8
testb $0x1, -0xb5(%rbp)
je 0xa20aa
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x4f0(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x4f0(%rbp), %rdi
movq %rax, %rdx
leaq 0xac76b(%rip), %rsi     # 0x14e7d4
movb $0x0, %al
callq 0xf4910
movq %rax, -0x130(%rbp)
cmpq $0x0, -0x130(%rbp)
je 0xa20a8
movq -0x130(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x138(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa20aa
movb $0x1, -0xb5(%rbp)
movb $0x1, -0xc1(%rbp)
movq -0x498(%rbp), %rdi
leaq 0x9142c(%rip), %rsi     # 0x1334f2
callq 0xa12a0
testb $0x1, %al
jne 0xa20d4
jmp 0xa21d2
testb $0x1, -0xb7(%rbp)
je 0xa214c
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x4f8(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x4f8(%rbp), %rdi
movq %rax, %rdx
leaq 0xac6f9(%rip), %rsi     # 0x14e804
movb $0x0, %al
callq 0xf4910
movq %rax, -0x140(%rbp)
cmpq $0x0, -0x140(%rbp)
je 0xa214a
movq -0x140(%rbp), %rax
movq %rax, -0x148(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x148(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa214c
testb $0x1, -0xb6(%rbp)
je 0xa21c4
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x500(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x500(%rbp), %rdi
movq %rax, %rdx
leaq 0xac6b0(%rip), %rsi     # 0x14e833
movb $0x0, %al
callq 0xf4910
movq %rax, -0x150(%rbp)
cmpq $0x0, -0x150(%rbp)
je 0xa21c2
movq -0x150(%rbp), %rax
movq %rax, -0x158(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x158(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa21c4
movb $0x1, -0xb7(%rbp)
movb $0x1, -0xc1(%rbp)
movq -0x498(%rbp), %rdi
leaq 0x9131e(%rip), %rsi     # 0x1334fe
callq 0xa12a0
testb $0x1, %al
jne 0xa21ee
jmp 0xa2364
testb $0x1, -0xb6(%rbp)
je 0xa2266
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x508(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x508(%rbp), %rdi
movq %rax, %rdx
leaq 0xac64d(%rip), %rsi     # 0x14e872
movb $0x0, %al
callq 0xf4910
movq %rax, -0x160(%rbp)
cmpq $0x0, -0x160(%rbp)
je 0xa2264
movq -0x160(%rbp), %rax
movq %rax, -0x168(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x168(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa2266
testb $0x1, -0xb8(%rbp)
je 0xa22de
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x510(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x510(%rbp), %rdi
movq %rax, %rdx
leaq 0xac604(%rip), %rsi     # 0x14e8a1
movb $0x0, %al
callq 0xf4910
movq %rax, -0x170(%rbp)
cmpq $0x0, -0x170(%rbp)
je 0xa22dc
movq -0x170(%rbp), %rax
movq %rax, -0x178(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x178(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa22de
testb $0x1, -0xb7(%rbp)
je 0xa2356
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x518(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x518(%rbp), %rdi
movq %rax, %rdx
leaq 0xac5cb(%rip), %rsi     # 0x14e8e0
movb $0x0, %al
callq 0xf4910
movq %rax, -0x180(%rbp)
cmpq $0x0, -0x180(%rbp)
je 0xa2354
movq -0x180(%rbp), %rax
movq %rax, -0x188(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x188(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa2356
movb $0x1, -0xb6(%rbp)
movb $0x1, -0xc1(%rbp)
movq -0x498(%rbp), %rdi
leaq 0xac5ad(%rip), %rsi     # 0x14e91f
callq 0xa12a0
testb $0x1, %al
jne 0xa2380
jmp 0xa247e
testb $0x1, -0xb8(%rbp)
je 0xa23f8
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x520(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x520(%rbp), %rdi
movq %rax, %rdx
leaq 0xac574(%rip), %rsi     # 0x14e92b
movb $0x0, %al
callq 0xf4910
movq %rax, -0x190(%rbp)
cmpq $0x0, -0x190(%rbp)
je 0xa23f6
movq -0x190(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x198(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa23f8
testb $0x1, -0xb6(%rbp)
je 0xa2470
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x528(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x528(%rbp), %rdi
movq %rax, %rdx
leaq 0xac52b(%rip), %rsi     # 0x14e95a
movb $0x0, %al
callq 0xf4910
movq %rax, -0x1a0(%rbp)
cmpq $0x0, -0x1a0(%rbp)
je 0xa246e
movq -0x1a0(%rbp), %rax
movq %rax, -0x1a8(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x1a8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa2470
movb $0x1, -0xb8(%rbp)
movb $0x1, -0xc1(%rbp)
jmp 0xa1c36
testb $0x1, -0xb6(%rbp)
je 0xa24a3
testb $0x1, -0xb3(%rbp)
je 0xa24a3
movb $0x1, -0xb4(%rbp)
movb $0x0, -0xb6(%rbp)
movq -0x498(%rbp), %rdi
movq $0x0, -0x1b0(%rbp)
movb $0x0, -0x1b1(%rbp)
leaq 0xac4d6(%rip), %rsi     # 0x14e999
callq 0xa12a0
testb $0x1, %al
jne 0xa24ce
jmp 0xa24ff
movq -0x498(%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 0xa7a10
movq %rax, -0x1b0(%rbp)
jmp 0xa25cd
movq -0x498(%rbp), %rdi
leaq 0x9db14(%rip), %rsi     # 0x140021
callq 0xa12a0
testb $0x1, %al
jne 0xa2518
jmp 0xa256e
movq -0x498(%rbp), %rdi
leaq 0x94044(%rip), %rsi     # 0x13656a
leaq -0x1b0(%rbp), %rdx
movb $0x0, %al
callq 0xf4090
movq %rax, -0x1c0(%rbp)
cmpq $0x0, -0x1c0(%rbp)
je 0xa256c
movq -0x1c0(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x1c8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa25cb
movq -0x498(%rbp), %rdi
movq -0xa0(%rbp), %rdx
leaq 0xac424(%rip), %rsi     # 0x14e9a7
leaq -0x1b1(%rbp), %rcx
movb $0x0, %al
callq 0xf4090
movq %rax, -0x1d0(%rbp)
cmpq $0x0, -0x1d0(%rbp)
je 0xa25c9
movq -0x1d0(%rbp), %rax
movq %rax, -0x1d8(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x1d8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa25cb
jmp 0xa25cd
movq -0x498(%rbp), %rdi
leaq 0x90fdb(%rip), %rsi     # 0x1335b6
callq 0xa12a0
testb $0x1, %al
jne 0xa25e6
jmp 0xa2656
testb $0x1, -0xa9(%rbp)
jne 0xa263f
testb $0x1, -0xaa(%rbp)
jne 0xa263f
leaq -0x60(%rbp), %rdi
callq 0xc06e0
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x530(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x530(%rbp), %rdi
movq %rax, %rdx
leaq 0xac385(%rip), %rsi     # 0x14e9b4
movb $0x0, %al
callq 0xf4910
movq %rax, -0x8(%rbp)
jmp 0xa444c
movb $0x1, -0xac(%rbp)
movb $0x1, -0xb2(%rbp)
movb $0x0, -0xb1(%rbp)
jmp 0xa26aa
movq -0x498(%rbp), %rdi
leaq 0xac3af(%rip), %rsi     # 0x14ea13
callq 0xa12a0
testb $0x1, %al
jne 0xa266f
jmp 0xa267f
movb $0x1, -0xac(%rbp)
movb $0x1, -0xb1(%rbp)
jmp 0xa26a8
movq -0x498(%rbp), %rdi
leaq 0xac38e(%rip), %rsi     # 0x14ea1b
callq 0xa12a0
testb $0x1, %al
jne 0xa2698
jmp 0xa26a6
movb $0x1, -0xac(%rbp)
movb $0x0, -0xb1(%rbp)
jmp 0xa26a8
jmp 0xa26aa
movq -0x498(%rbp), %rdi
leaq 0xac36b(%rip), %rsi     # 0x14ea23
callq 0xa12a0
testb $0x1, %al
jne 0xa26c6
jmp 0xa28d5
testb $0x1, -0xb2(%rbp)
je 0xa273e
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x538(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x538(%rbp), %rdi
movq %rax, %rdx
leaq 0xac32d(%rip), %rsi     # 0x14ea2a
movb $0x0, %al
callq 0xf4910
movq %rax, -0x1e0(%rbp)
cmpq $0x0, -0x1e0(%rbp)
je 0xa273c
movq -0x1e0(%rbp), %rax
movq %rax, -0x1e8(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x1e8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa273e
movq -0x498(%rbp), %rdi
leaq 0xac314(%rip), %rsi     # 0x14ea60
callq 0xa12a0
testb $0x1, %al
jne 0xa2757
jmp 0xa2763
movb $0x1, -0xad(%rbp)
jmp 0xa28d3
movq -0x498(%rbp), %rdi
leaq 0x9d8b1(%rip), %rsi     # 0x140022
callq 0xa12a0
testb $0x1, %al
jne 0xa277f
jmp 0xa2862
movq -0x498(%rbp), %rdi
movb $0x1, -0xae(%rbp)
leaq 0xac2d3(%rip), %rsi     # 0x14ea67
leaq -0xc0(%rbp), %rdx
movb $0x0, %al
callq 0xf4090
movq %rax, -0x1f0(%rbp)
cmpq $0x0, -0x1f0(%rbp)
je 0xa27da
movq -0x1f0(%rbp), %rax
movq %rax, -0x1f8(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x1f8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
movq -0x498(%rbp), %rdi
leaq 0xac278(%rip), %rsi     # 0x14ea60
callq 0xa12a0
testb $0x1, %al
jne 0xa2860
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x540(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x540(%rbp), %rdi
movq %rax, %rdx
leaq 0xac252(%rip), %rsi     # 0x14ea71
movb $0x0, %al
callq 0xf4910
movq %rax, -0x200(%rbp)
cmpq $0x0, -0x200(%rbp)
je 0xa285e
movq -0x200(%rbp), %rax
movq %rax, -0x208(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x208(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa2860
jmp 0xa28d1
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x548(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x548(%rbp), %rdi
movq %rax, %rdx
leaq 0xac201(%rip), %rsi     # 0x14ea91
movb $0x0, %al
callq 0xf4910
movq %rax, -0x210(%rbp)
cmpq $0x0, -0x210(%rbp)
je 0xa28cf
movq -0x210(%rbp), %rax
movq %rax, -0x218(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x218(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa28d1
jmp 0xa28d3
jmp 0xa28d5
movq -0x498(%rbp), %rdi
movq -0xa8(%rbp), %rdx
leaq 0x92291(%rip), %rsi     # 0x134b7b
movb $0x0, %al
callq 0xf4090
movq %rax, -0x220(%rbp)
cmpq $0x0, -0x220(%rbp)
je 0xa2929
movq -0x220(%rbp), %rax
movq %rax, -0x228(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x228(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
testb $0x1, -0x1b1(%rbp)
je 0xa297c
movq -0xa0(%rbp), %rdi
callq 0xff990
movq %rax, -0x230(%rbp)
movq -0xa0(%rbp), %rdi
movq -0x230(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0xa8(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0x9176b(%rip), %rsi     # 0x1340d4
movb $0x0, %al
callq 0xfec20
movq -0x230(%rbp), %rdi
callq 0xff600
movb $0x1, %al
testb $0x1, -0xa9(%rbp)
movb %al, -0x549(%rbp)
jne 0xa2999
movb -0xaf(%rbp), %al
movb %al, -0x549(%rbp)
movb -0x549(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movw %cx, %dx
movw 0x14(%rax), %cx
andw $0x1, %dx
andw $-0x2, %cx
orw %dx, %cx
movw %cx, 0x14(%rax)
movb -0xaa(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movw %cx, %dx
movw 0x14(%rax), %cx
andw $0x1, %dx
shlw $0x2, %dx
andw $-0x5, %cx
orw %dx, %cx
movw %cx, 0x14(%rax)
movb -0xab(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movw %cx, %dx
movw 0x14(%rax), %cx
andw $0x1, %dx
shlw %dx
andw $-0x3, %cx
orw %dx, %cx
movw %cx, 0x14(%rax)
movb -0xaf(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movw %cx, %dx
movw 0x14(%rax), %cx
andw $0x1, %dx
shlw $0x3, %dx
andw $-0x9, %cx
orw %dx, %cx
movw %cx, 0x14(%rax)
movb -0xb1(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movw %cx, %dx
movw 0x14(%rax), %cx
andw $0x1, %dx
shlw $0x9, %dx
andw $0xfdff, %cx            # imm = 0xFDFF
orw %dx, %cx
movw %cx, 0x14(%rax)
movb -0xb0(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movw %cx, %dx
movw 0x14(%rax), %cx
andw $0x1, %dx
shlw $0x4, %dx
andw $-0x11, %cx
orw %dx, %cx
movw %cx, 0x14(%rax)
movb -0xb3(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movw %cx, %dx
movw 0x14(%rax), %cx
andw $0x1, %dx
shlw $0x5, %dx
andw $-0x21, %cx
orw %dx, %cx
movw %cx, 0x14(%rax)
movb -0xb4(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movw %cx, %dx
movw 0x14(%rax), %cx
andw $0x1, %dx
shlw $0x6, %dx
andw $-0x41, %cx
orw %dx, %cx
movw %cx, 0x14(%rax)
movb -0xb5(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movw %cx, %dx
movw 0x14(%rax), %cx
andw $0x1, %dx
shlw $0x7, %dx
andw $0xff7f, %cx            # imm = 0xFF7F
orw %dx, %cx
movw %cx, 0x14(%rax)
movb $0x1, %al
testb $0x1, -0xb6(%rbp)
movb %al, -0x54a(%rbp)
jne 0xa2b35
movb $0x1, %al
testb $0x1, -0xb8(%rbp)
movb %al, -0x54a(%rbp)
jne 0xa2b35
movb -0xb2(%rbp), %al
movb %al, -0x54a(%rbp)
movb -0x54a(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movw %cx, %dx
movw 0x14(%rax), %cx
andw $0x1, %dx
shlw $0xa, %dx
andw $0xfbff, %cx            # imm = 0xFBFF
orw %dx, %cx
movw %cx, 0x14(%rax)
movb -0xb7(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movw %cx, %dx
movw 0x14(%rax), %cx
andw $0x1, %dx
shlw $0xc, %dx
andw $0xefff, %cx            # imm = 0xEFFF
orw %dx, %cx
movw %cx, 0x14(%rax)
movb -0xb6(%rbp), %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movw %cx, %dx
movw 0x14(%rax), %cx
andw $0x1, %dx
shlw $0xd, %dx
andw $0xdfff, %cx            # imm = 0xDFFF
orw %dx, %cx
movw %cx, 0x14(%rax)
testb $0x1, -0xae(%rbp)
je 0xa2bcb
movq -0xc0(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
testb $0x1, -0xaf(%rbp)
je 0xa2c64
testb $0x1, -0xac(%rbp)
je 0xa2bea
testb $0x1, -0xb1(%rbp)
je 0xa2c64
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x558(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x558(%rbp), %rdi
movq %rax, %rdx
movq -0xa0(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0xabea2(%rip), %rsi     # 0x14eac5
movb $0x0, %al
callq 0xf4910
movq %rax, -0x238(%rbp)
cmpq $0x0, -0x238(%rbp)
je 0xa2c62
movq -0x238(%rbp), %rax
movq %rax, -0x240(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x240(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa2c64
testb $0x1, -0xb2(%rbp)
je 0xa2d04
cmpq $0x0, -0x1b0(%rbp)
jbe 0xa2c8b
movq -0x1b0(%rbp), %rax
movq %rax, -0x560(%rbp)
jmp 0xa2ccb
movq -0xa0(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jbe 0xa2cb2
movq -0xa0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xa0b50
movq %rax, -0x568(%rbp)
jmp 0xa2cbd
xorl %eax, %eax
movq %rax, -0x568(%rbp)
jmp 0xa2cbd
movq -0x568(%rbp), %rax
movq %rax, -0x560(%rbp)
movq -0x560(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0xa8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xa0b50
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rax
movl $0x5, 0x10(%rax)
jmp 0xa3100
testb $0x1, -0xb6(%rbp)
je 0xa2e50
testb $0x1, -0xac(%rbp)
jne 0xa2d89
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x570(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x570(%rbp), %rdi
movq %rax, %rdx
leaq 0xabde8(%rip), %rsi     # 0x14eb30
movb $0x0, %al
callq 0xf4910
movq %rax, -0x248(%rbp)
cmpq $0x0, -0x248(%rbp)
je 0xa2d87
movq -0x248(%rbp), %rax
movq %rax, -0x250(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x250(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa2d89
cmpq $0x0, -0x1b0(%rbp)
jbe 0xa2da3
movq -0x1b0(%rbp), %rax
movq %rax, -0x578(%rbp)
jmp 0xa2de3
movq -0xa0(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jbe 0xa2dca
movq -0xa0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xa0b50
movq %rax, -0x580(%rbp)
jmp 0xa2dd5
xorl %eax, %eax
movq %rax, -0x580(%rbp)
jmp 0xa2dd5
movq -0x580(%rbp), %rax
movq %rax, -0x578(%rbp)
movq -0x578(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0xa8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xa0b50
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
testb $0x1, -0xad(%rbp)
je 0xa2e22
movl $0xa, %eax
movl %eax, -0x584(%rbp)
jmp 0xa2e3e
movb -0xae(%rbp), %dl
movl $0x4, %eax
movl $0xd, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, -0x584(%rbp)
movl -0x584(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0xa30fe
testb $0x1, -0xb8(%rbp)
je 0xa301f
testb $0x1, -0xae(%rbp)
je 0xa2ed5
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x590(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x590(%rbp), %rdi
movq %rax, %rdx
leaq 0xabd14(%rip), %rsi     # 0x14eba8
movb $0x0, %al
callq 0xf4910
movq %rax, -0x258(%rbp)
cmpq $0x0, -0x258(%rbp)
je 0xa2ed3
movq -0x258(%rbp), %rax
movq %rax, -0x260(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x260(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa2ed5
testb $0x1, -0xac(%rbp)
jne 0xa2f56
testb $0x1, -0xad(%rbp)
jne 0xa2f56
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x598(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x598(%rbp), %rdi
movq %rax, %rdx
leaq 0xabcf0(%rip), %rsi     # 0x14ec05
movb $0x0, %al
callq 0xf4910
movq %rax, -0x268(%rbp)
cmpq $0x0, -0x268(%rbp)
je 0xa2f54
movq -0x268(%rbp), %rax
movq %rax, -0x270(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x270(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa2f56
cmpq $0x0, -0x1b0(%rbp)
jbe 0xa2f70
movq -0x1b0(%rbp), %rax
movq %rax, -0x5a0(%rbp)
jmp 0xa2fb0
movq -0xa0(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jbe 0xa2f97
movq -0xa0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xa0b50
movq %rax, -0x5a8(%rbp)
jmp 0xa2fa2
xorl %eax, %eax
movq %rax, -0x5a8(%rbp)
jmp 0xa2fa2
movq -0x5a8(%rbp), %rax
movq %rax, -0x5a0(%rbp)
movq -0x5a0(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0xa8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xa0b50
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
testb $0x1, -0xad(%rbp)
je 0xa3000
movb -0xac(%rbp), %dl
movl $0x7, %eax
movl $0x9, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, -0x5ac(%rbp)
jmp 0xa300d
movl $0x3, %eax
movl %eax, -0x5ac(%rbp)
jmp 0xa300d
movl -0x5ac(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0xa30fc
cmpq $0x0, -0x1b0(%rbp)
jbe 0xa3039
movq -0x1b0(%rbp), %rax
movq %rax, -0x5b8(%rbp)
jmp 0xa3050
movq -0xa0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xa0b50
movq %rax, -0x5b8(%rbp)
movq -0x5b8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0xa8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xa0b50
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
testb $0x1, -0xad(%rbp)
je 0xa30a0
movb -0xac(%rbp), %dl
movl $0x6, %eax
movl $0x8, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, -0x5bc(%rbp)
jmp 0xa30ef
testb $0x1, -0xae(%rbp)
je 0xa30c7
movb -0xac(%rbp), %dl
movl $0xb, %eax
movl $0xc, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, -0x5c0(%rbp)
jmp 0xa30e3
movb -0xac(%rbp), %dl
movl $0x1, %eax
movl $0x2, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, -0x5c0(%rbp)
movl -0x5c0(%rbp), %eax
movl %eax, -0x5bc(%rbp)
movl -0x5bc(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x10(%rax)
jmp 0xa30fe
jmp 0xa3100
movq -0x10(%rbp), %rax
movabsq $-0x388c46b188de83fe, %rcx # imm = 0xC773B94E77217C02
cmpq %rcx, (%rax)
jne 0xa318e
movq -0x10(%rbp), %rax
cmpl $0x1, 0x10(%rax)
je 0xa318c
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x5c8(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x5c8(%rbp), %rdi
movq %rax, %rdx
leaq 0xabb22(%rip), %rsi     # 0x14ec6d
movb $0x0, %al
callq 0xf4910
movq %rax, -0x278(%rbp)
cmpq $0x0, -0x278(%rbp)
je 0xa318a
movq -0x278(%rbp), %rax
movq %rax, -0x280(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x280(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa318c
jmp 0xa318e
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movabsq $0x2d929df1d8b41fe3, %rsi # imm = 0x2D929DF1D8B41FE3
callq 0x1136d0
movq -0x498(%rbp), %rdi
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movw %cx, %dx
movw 0x14(%rax), %cx
andw $0x1, %dx
shlw $0x8, %dx
andw $0xfeff, %cx            # imm = 0xFEFF
orw %dx, %cx
movw %cx, 0x14(%rax)
leaq 0xabae4(%rip), %rsi     # 0x14ecba
callq 0xa12a0
testb $0x1, %al
jne 0xa31e4
jmp 0xa3301
movq -0x10(%rbp), %rax
movw 0x14(%rax), %ax
shrw $0x3, %ax
andw $0x1, %ax
movzwl %ax, %eax
cmpl $0x0, %eax
jne 0xa3284
movq -0x10(%rbp), %rax
cmpl $0x2, 0x10(%rax)
jne 0xa3284
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpq -0x98(%rbp), %rax
jne 0xa326c
leaq -0x60(%rbp), %rdi
callq 0xc06e0
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x5d0(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x5d0(%rbp), %rdi
movq %rax, %rdx
movq -0xa8(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0xaba65(%rip), %rsi     # 0x14ecc1
movb $0x0, %al
callq 0xf4910
movq %rax, -0x8(%rbp)
jmp 0xa444c
movq -0x10(%rbp), %rax
movw 0x14(%rax), %cx
andw $0xf7ff, %cx            # imm = 0xF7FF
orw $0x800, %cx             # imm = 0x800
movw %cx, 0x14(%rax)
jmp 0xa32fc
movq -0x10(%rbp), %rax
movw 0x14(%rax), %ax
shrw $0x3, %ax
andw $0x1, %ax
movzwl %ax, %eax
cmpl $0x0, %eax
jne 0xa32a8
movq -0x10(%rbp), %rax
cmpl $0x1, 0x10(%rax)
jne 0xa32a8
jmp 0xa32fa
leaq -0x60(%rbp), %rdi
callq 0xc06e0
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x5d8(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x5d8(%rbp), %rdi
movq %rax, %rdx
movq -0xa8(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0xaba28(%rip), %rsi     # 0x14ed12
movb $0x0, %al
callq 0xf4910
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa32fc
jmp 0xa442d
movq -0x498(%rbp), %rdi
leaq 0x9121e(%rip), %rsi     # 0x13452d
callq 0xa12a0
testb $0x1, %al
jne 0xa331d
jmp 0xa442b
movq -0x10(%rbp), %rax
cmpl $0x1, 0x10(%rax)
jne 0xa3d99
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x5e0(%rbp)
movabsq $-0x73f6ae1ad309fd45, %rcx # imm = 0x8C0951E52CF602BB
subq %rcx, %rax
je 0xa35b3
jmp 0xa334e
movq -0x5e0(%rbp), %rax
movabsq $-0x6bce971ace902370, %rcx # imm = 0x943168E5316FDC90
subq %rcx, %rax
je 0xa35b3
jmp 0xa336a
movq -0x5e0(%rbp), %rax
movabsq $-0x6119581ac7eacd63, %rcx # imm = 0x9EE6A7E53815329D
subq %rcx, %rax
je 0xa35b3
jmp 0xa3386
movq -0x5e0(%rbp), %rax
movabsq $-0x5fc2af85f419929b, %rcx # imm = 0xA03D507A0BE66D65
subq %rcx, %rax
je 0xa3886
jmp 0xa33a2
movq -0x5e0(%rbp), %rax
movabsq $-0x5aa4411ac4e2880e, %rcx # imm = 0xA55BBEE53B1D77F2
subq %rcx, %rax
je 0xa35b3
jmp 0xa33be
movq -0x5e0(%rbp), %rax
movabsq $-0x58737885f0577326, %rcx # imm = 0xA78C877A0FA88CDA
subq %rcx, %rax
je 0xa3886
jmp 0xa33da
movq -0x5e0(%rbp), %rax
movabsq $-0x503db0e6e1c2e704, %rcx # imm = 0xAFC24F191E3D18FC
subq %rcx, %rax
je 0xa3a78
jmp 0xa33f6
movq -0x5e0(%rbp), %rax
movabsq $-0x4db4989f9014f113, %rcx # imm = 0xB24B67606FEB0EED
subq %rcx, %rax
je 0xa36d9
jmp 0xa3412
movq -0x5e0(%rbp), %rax
movabsq $-0x4882601bdca6aefb, %rcx # imm = 0xB77D9FE423595105
subq %rcx, %rax
je 0xa360d
jmp 0xa342e
movq -0x5e0(%rbp), %rax
movabsq $-0x3f1363e6d8155aed, %rcx # imm = 0xC0EC9C1927EAA513
subq %rcx, %rax
je 0xa360d
jmp 0xa344a
movq -0x5e0(%rbp), %rax
movabsq $-0x3ac242643d9c35a8, %rcx # imm = 0xC53DBD9BC263CA58
subq %rcx, %rax
je 0xa38e0
jmp 0xa3466
movq -0x5e0(%rbp), %rax
movabsq $-0x388c46b188de83fe, %rcx # imm = 0xC773B94E77217C02
subq %rcx, %rax
je 0xa36d9
jmp 0xa3482
movq -0x5e0(%rbp), %rax
movabsq $-0x84b14e74a9e1ff0, %rcx # imm = 0xF7B4EB18B561E010
subq %rcx, %rax
je 0xa3a78
jmp 0xa349e
movq -0x5e0(%rbp), %rax
movabsq $0x47b8ff5cd069fea1, %rcx # imm = 0x47B8FF5CD069FEA1
subq %rcx, %rax
je 0xa360d
jmp 0xa34ba
movq -0x5e0(%rbp), %rax
movabsq $0x510c2417c67dabeb, %rcx # imm = 0x510C2417C67DABEB
subq %rcx, %rax
je 0xa3559
jmp 0xa34d6
movq -0x5e0(%rbp), %rax
movabsq $0x585a3b17ca3de200, %rcx # imm = 0x585A3B17CA3DE200
subq %rcx, %rax
je 0xa3559
jmp 0xa34ee
movq -0x5e0(%rbp), %rax
movabsq $0x62367a17d02b474d, %rcx # imm = 0x62367A17D02B474D
subq %rcx, %rax
je 0xa3559
jmp 0xa3506
movq -0x5e0(%rbp), %rax
movabsq $0x69849117d3eb7d62, %rcx # imm = 0x69849117D3EB7D62
subq %rcx, %rax
je 0xa3559
jmp 0xa351e
movq -0x5e0(%rbp), %rax
movabsq $0x6d07f9ef5b68e8a2, %rcx # imm = 0x6D07F9EF5B68E8A2
subq %rcx, %rax
je 0xa36d9
jmp 0xa353a
movq -0x5e0(%rbp), %rax
movabsq $0x6db6f178cd6db4b8, %rcx # imm = 0x6DB6F178CD6DB4B8
subq %rcx, %rax
je 0xa3955
jmp 0xa3af6
movq -0x498(%rbp), %rdi
movq -0x10(%rbp), %rdx
addq $0x18, %rdx
leaq 0xb38d6(%rip), %rsi     # 0x156e45
movb $0x0, %al
callq 0xf4090
movq %rax, -0x288(%rbp)
cmpq $0x0, -0x288(%rbp)
je 0xa35ae
movq -0x288(%rbp), %rax
movq %rax, -0x290(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x290(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa3d94
movq -0x498(%rbp), %rdi
movq -0x10(%rbp), %rdx
addq $0x18, %rdx
leaq 0xab797(%rip), %rsi     # 0x14ed60
movb $0x0, %al
callq 0xf4090
movq %rax, -0x298(%rbp)
cmpq $0x0, -0x298(%rbp)
je 0xa3608
movq -0x298(%rbp), %rax
movq %rax, -0x2a0(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x2a0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa3d94
movq -0x498(%rbp), %rdi
leaq 0xab74f(%rip), %rsi     # 0x14ed6a
callq 0xa12a0
testb $0x1, %al
jne 0xa3626
jmp 0xa367d
movq -0x498(%rbp), %rdi
movq -0x10(%rbp), %rdx
addq $0x18, %rdx
leaq 0xab736(%rip), %rsi     # 0x14ed72
movb $0x0, %al
callq 0xf4090
movq %rax, -0x2a8(%rbp)
cmpq $0x0, -0x2a8(%rbp)
je 0xa367b
movq -0x2a8(%rbp), %rax
movq %rax, -0x2b0(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x2b0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa36d4
movq -0x498(%rbp), %rdi
movq -0x10(%rbp), %rdx
addq $0x18, %rdx
leaq 0xab6eb(%rip), %rsi     # 0x14ed7e
movb $0x0, %al
callq 0xf4090
movq %rax, -0x2b8(%rbp)
cmpq $0x0, -0x2b8(%rbp)
je 0xa36d2
movq -0x2b8(%rbp), %rax
movq %rax, -0x2c0(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x2c0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa36d4
jmp 0xa3d94
movq -0x498(%rbp), %rdi
leaq 0x9c93a(%rip), %rsi     # 0x140021
callq 0xa12a0
testb $0x1, %al
jne 0xa36f2
jmp 0xa374c
movq -0x498(%rbp), %rdi
movq -0x10(%rbp), %rdx
addq $0x18, %rdx
leaq 0xab676(%rip), %rsi     # 0x14ed7e
movb $0x0, %al
callq 0xf4090
movq %rax, -0x2c8(%rbp)
cmpq $0x0, -0x2c8(%rbp)
je 0xa3747
movq -0x2c8(%rbp), %rax
movq %rax, -0x2d0(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x2d0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa3881
movq -0x498(%rbp), %rdi
leaq 0x9cd89(%rip), %rsi     # 0x1404e3
callq 0xa12a0
testb $0x1, %al
jne 0xa3768
jmp 0xa37f6
movb $0x0, %al
callq 0xff2e0
movq -0x498(%rbp), %rdi
movq %rax, -0x2d8(%rbp)
movq -0x2d8(%rbp), %rdx
leaq 0xaadb9(%rip), %rsi     # 0x14e544
movb $0x0, %al
callq 0xf4090
movq %rax, -0x2e0(%rbp)
cmpq $0x0, -0x2e0(%rbp)
je 0xa37ca
movq -0x2e0(%rbp), %rax
movq %rax, -0x2e8(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x2e8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
movq -0x2d8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xa0b50
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x2d8(%rbp), %rdi
callq 0xff600
jmp 0xa387f
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x5f0(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq %rax, -0x5e8(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0xa0a30
movq -0x5f0(%rbp), %rdi
movq -0x5e8(%rbp), %rdx
movq %rax, %rcx
leaq 0xab54c(%rip), %rsi     # 0x14ed8a
movb $0x0, %al
callq 0xf4910
movq %rax, -0x2f0(%rbp)
cmpq $0x0, -0x2f0(%rbp)
je 0xa387d
movq -0x2f0(%rbp), %rax
movq %rax, -0x2f8(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x2f8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa387f
jmp 0xa3881
jmp 0xa3d94
movq -0x498(%rbp), %rdi
movq -0x10(%rbp), %rdx
addq $0x18, %rdx
leaq 0xab52e(%rip), %rsi     # 0x14edca
movb $0x0, %al
callq 0xf4090
movq %rax, -0x300(%rbp)
cmpq $0x0, -0x300(%rbp)
je 0xa38db
movq -0x300(%rbp), %rax
movq %rax, -0x308(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x308(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa3d94
movq -0x498(%rbp), %rdi
movb $0x0, -0x309(%rbp)
leaq 0xab4df(%rip), %rsi     # 0x14edd4
leaq -0x309(%rbp), %rdx
movb $0x0, %al
callq 0xf4090
movq %rax, -0x318(%rbp)
cmpq $0x0, -0x318(%rbp)
je 0xa393b
movq -0x318(%rbp), %rax
movq %rax, -0x320(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x320(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
movb -0x309(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, %ecx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
jmp 0xa3d94
movb $0x0, %al
callq 0xff2e0
movq -0x498(%rbp), %rdi
movq %rax, -0x328(%rbp)
movq -0x328(%rbp), %rdx
leaq 0xaabcb(%rip), %rsi     # 0x14e543
movb $0x0, %al
callq 0xf4090
movq %rax, -0x330(%rbp)
cmpq $0x0, -0x330(%rbp)
je 0xa39b7
movq -0x330(%rbp), %rax
movq %rax, -0x338(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x338(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
movq -0x328(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xa63d0
movq %rax, -0x340(%rbp)
movq -0x340(%rbp), %rdi
callq 0xaa750
testb $0x1, %al
jne 0xa3a58
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x5f8(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x5f8(%rbp), %rdi
movq %rax, %rdx
movq -0x328(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0xab3c7(%rip), %rsi     # 0x14edde
movb $0x0, %al
callq 0xf4910
movq %rax, -0x348(%rbp)
cmpq $0x0, -0x348(%rbp)
je 0xa3a56
movq -0x348(%rbp), %rax
movq %rax, -0x350(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x350(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa3a58
movq -0x328(%rbp), %rdi
callq 0xff600
movq -0x340(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
jmp 0xa3d94
movb $0x0, %al
callq 0xff2e0
movq -0x498(%rbp), %rdi
movq %rax, -0x358(%rbp)
movq -0x358(%rbp), %rdx
leaq 0x90b15(%rip), %rsi     # 0x1345b0
movb $0x0, %al
callq 0xf4090
movq %rax, -0x360(%rbp)
cmpq $0x0, -0x360(%rbp)
je 0xa3ada
movq -0x360(%rbp), %rax
movq %rax, -0x368(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x368(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
movq -0x358(%rbp), %rdi
callq 0x12b830
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
jmp 0xa3d94
movq -0x10(%rbp), %rax
movw 0x14(%rax), %ax
shrw $0x8, %ax
andw $0x1, %ax
movzwl %ax, %eax
cmpl $0x0, %eax
je 0xa3d09
movb $0x0, %al
callq 0xff2e0
movq -0x498(%rbp), %rdi
movq %rax, -0x370(%rbp)
movq -0x370(%rbp), %rdx
leaq 0xaaa0e(%rip), %rsi     # 0x14e543
movb $0x0, %al
callq 0xf4090
movq %rax, -0x378(%rbp)
cmpq $0x0, -0x378(%rbp)
je 0xa3b74
movq -0x378(%rbp), %rax
movq %rax, -0x380(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x380(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
movq -0x370(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xa63d0
movq %rax, -0x388(%rbp)
movq -0x388(%rbp), %rdi
callq 0xaa750
testb $0x1, %al
jne 0xa3c15
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x600(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x600(%rbp), %rdi
movq %rax, %rdx
movq -0x370(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0xab20a(%rip), %rsi     # 0x14edde
movb $0x0, %al
callq 0xf4910
movq %rax, -0x390(%rbp)
cmpq $0x0, -0x390(%rbp)
je 0xa3c13
movq -0x390(%rbp), %rax
movq %rax, -0x398(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x398(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa3c15
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x113640
testb $0x1, %al
jne 0xa3c2a
jmp 0xa3ce9
movq -0x388(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
callq 0x1136d0
testb $0x1, %al
jne 0xa3ce7
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x618(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq %rax, -0x610(%rbp)
movq -0x370(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x608(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0xa0a30
movq -0x618(%rbp), %rdi
movq -0x610(%rbp), %rdx
movq -0x608(%rbp), %rcx
movq %rax, %r8
leaq 0xaa97f(%rip), %rsi     # 0x14e625
movb $0x0, %al
callq 0xf4910
movq %rax, -0x3a0(%rbp)
cmpq $0x0, -0x3a0(%rbp)
je 0xa3ce5
movq -0x3a0(%rbp), %rax
movq %rax, -0x3a8(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x3a8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa3ce7
jmp 0xa3ce9
movq -0x370(%rbp), %rdi
callq 0xff600
movq -0x388(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
jmp 0xa3d92
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x628(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq %rax, -0x620(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0xa0a30
movq -0x628(%rbp), %rdi
movq -0x620(%rbp), %rdx
movq %rax, %rcx
leaq 0xab039(%rip), %rsi     # 0x14ed8a
movb $0x0, %al
callq 0xf4910
movq %rax, -0x3b0(%rbp)
cmpq $0x0, -0x3b0(%rbp)
je 0xa3d90
movq -0x3b0(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x3b8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa3d92
jmp 0xa3d94
jmp 0xa4429
movq -0x10(%rbp), %rax
cmpl $0x2, 0x10(%rax)
jne 0xa408b
testb $0x1, -0xaf(%rbp)
je 0xa3f61
movq -0x498(%rbp), %rdi
leaq 0x9c25f(%rip), %rsi     # 0x140021
callq 0xa12a0
testb $0x1, %al
jne 0xa3dcd
jmp 0xa3e27
movq -0x498(%rbp), %rdi
movq -0x10(%rbp), %rdx
addq $0x18, %rdx
leaq 0xaaf9b(%rip), %rsi     # 0x14ed7e
movb $0x0, %al
callq 0xf4090
movq %rax, -0x3c0(%rbp)
cmpq $0x0, -0x3c0(%rbp)
je 0xa3e22
movq -0x3c0(%rbp), %rax
movq %rax, -0x3c8(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x3c8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa3f5c
movq -0x498(%rbp), %rdi
leaq 0xaafe3(%rip), %rsi     # 0x14ee18
callq 0xa12a0
testb $0x1, %al
jne 0xa3e43
jmp 0xa3ed1
movb $0x0, %al
callq 0xff2e0
movq -0x498(%rbp), %rdi
movq %rax, -0x3d0(%rbp)
movq -0x3d0(%rbp), %rdx
leaq 0xaa6de(%rip), %rsi     # 0x14e544
movb $0x0, %al
callq 0xf4090
movq %rax, -0x3d8(%rbp)
cmpq $0x0, -0x3d8(%rbp)
je 0xa3ea5
movq -0x3d8(%rbp), %rax
movq %rax, -0x3e0(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x3e0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
movq -0x3d0(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xa0b50
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x3d0(%rbp), %rdi
callq 0xff600
jmp 0xa3f5a
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x638(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq %rax, -0x630(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0xa0a30
movq -0x638(%rbp), %rdi
movq -0x630(%rbp), %rdx
movq %rax, %rcx
leaq 0xaae71(%rip), %rsi     # 0x14ed8a
movb $0x0, %al
callq 0xf4910
movq %rax, -0x3e8(%rbp)
cmpq $0x0, -0x3e8(%rbp)
je 0xa3f58
movq -0x3e8(%rbp), %rax
movq %rax, -0x3f0(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x3f0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa3f5a
jmp 0xa3f5c
jmp 0xa4086
movq -0x10(%rbp), %rax
movq (%rax), %rax
movabsq $-0x503db0e6e1c2e704, %rcx # imm = 0xAFC24F191E3D18FC
subq %rcx, %rax
jne 0xa3ffb
jmp 0xa3f7d
movb $0x0, %al
callq 0xff2e0
movq -0x498(%rbp), %rdi
movq %rax, -0x3f8(%rbp)
movq -0x3f8(%rbp), %rdx
leaq 0x90610(%rip), %rsi     # 0x1345b0
movb $0x0, %al
callq 0xf4090
movq %rax, -0x400(%rbp)
cmpq $0x0, -0x400(%rbp)
je 0xa3fdf
movq -0x400(%rbp), %rax
movq %rax, -0x408(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x408(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
movq -0x3f8(%rbp), %rdi
callq 0x12b830
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
jmp 0xa4084
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x648(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq %rax, -0x640(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0xa0a30
movq -0x648(%rbp), %rdi
movq -0x640(%rbp), %rdx
movq %rax, %rcx
leaq 0xaad47(%rip), %rsi     # 0x14ed8a
movb $0x0, %al
callq 0xf4910
movq %rax, -0x410(%rbp)
cmpq $0x0, -0x410(%rbp)
je 0xa4082
movq -0x410(%rbp), %rax
movq %rax, -0x418(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x418(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa4084
jmp 0xa4086
jmp 0xa4427
movq -0x10(%rbp), %rax
cmpl $0x4, 0x10(%rax)
jne 0xa43b9
movb $0x0, %al
callq 0xff2e0
movq -0x498(%rbp), %rdi
movq %rax, -0x420(%rbp)
movq -0x420(%rbp), %rdx
leaq 0xaa487(%rip), %rsi     # 0x14e543
movb $0x0, %al
callq 0xf4090
movq %rax, -0x428(%rbp)
cmpq $0x0, -0x428(%rbp)
je 0xa40fb
movq -0x428(%rbp), %rax
movq %rax, -0x430(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x430(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
movq -0x420(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xa4183
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x650(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x650(%rbp), %rdi
movq %rax, %rdx
movq -0x420(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0xaad06(%rip), %rsi     # 0x14ee48
movb $0x0, %al
callq 0xf4910
movq %rax, -0x438(%rbp)
cmpq $0x0, -0x438(%rbp)
je 0xa4181
movq -0x438(%rbp), %rax
movq %rax, -0x440(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x440(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa4183
movq -0x420(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xa63d0
movq %rax, -0x448(%rbp)
testb $0x1, -0x19(%rbp)
je 0xa439c
movq -0x448(%rbp), %rdi
callq 0xa70a0
testb $0x1, %al
jne 0xa422e
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x658(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x658(%rbp), %rdi
movq %rax, %rdx
movq -0x420(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0xaac8a(%rip), %rsi     # 0x14ee77
movb $0x0, %al
callq 0xf4910
movq %rax, -0x450(%rbp)
cmpq $0x0, -0x450(%rbp)
je 0xa422c
movq -0x450(%rbp), %rax
movq %rax, -0x458(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x458(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa422e
movq -0x448(%rbp), %rdi
callq 0xa7590
movq %rax, -0x460(%rbp)
movq -0x460(%rbp), %rdi
callq 0xa6c40
testb $0x1, %al
jne 0xa42cb
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x660(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x660(%rbp), %rdi
movq %rax, %rdx
movq -0x420(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0xaac27(%rip), %rsi     # 0x14eeb1
movb $0x0, %al
callq 0xf4910
movq %rax, -0x468(%rbp)
cmpq $0x0, -0x468(%rbp)
je 0xa42c9
movq -0x468(%rbp), %rax
movq %rax, -0x470(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x470(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa42cb
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0xa439a
movb $0x0, %al
callq 0xff2e0
movq %rax, -0x478(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movq -0x448(%rbp), %rsi
movq -0x478(%rbp), %rdx
callq 0x113d00
testb $0x1, %al
jne 0xa438e
leaq -0x60(%rbp), %rdi
callq 0xc06e0
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x678(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq %rax, -0x670(%rbp)
movq -0x420(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x668(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0xa0a30
movq -0x678(%rbp), %rdi
movq -0x670(%rbp), %rdx
movq -0x668(%rbp), %rcx
movq %rax, %r8
movq -0x478(%rbp), %rax
movq 0x8(%rax), %r9
leaq 0xaab62(%rip), %rsi     # 0x14eee0
movb $0x0, %al
callq 0xf4910
movq %rax, -0x8(%rbp)
jmp 0xa444c
movq -0x478(%rbp), %rdi
callq 0xff600
jmp 0xa439c
movq -0x420(%rbp), %rdi
callq 0xff600
movq -0x448(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x18(%rax)
jmp 0xa4425
movq -0x498(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x680(%rbp)
movq -0x98(%rbp), %rdi
callq 0xa0a30
movq -0x680(%rbp), %rdi
movq %rax, %rdx
leaq 0xaab46(%rip), %rsi     # 0x14ef2d
movb $0x0, %al
callq 0xf4910
movq %rax, -0x480(%rbp)
cmpq $0x0, -0x480(%rbp)
je 0xa4423
movq -0x480(%rbp), %rax
movq %rax, -0x488(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x488(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xa444c
jmp 0xa4425
jmp 0xa4427
jmp 0xa4429
jmp 0xa442b
jmp 0xa442d
movq $0x0, -0x490(%rbp)
movq -0x60(%rbp), %rdi
callq 0xc0720
movq -0x490(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x6a0, %rsp            # imm = 0x6A0
popq %rbp
retq
nopl (%rax)